cucumber-gherkin 17.0.2 → 19.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6cec936b7458bb3e195ded0c84a606d79a70a92cf39b340337dbbddef5dc38d6
4
- data.tar.gz: 96f05c28f39229d4b7b0e7137e81e057bc97cf2fab3d02c972a9a552f9d62df8
3
+ metadata.gz: 92c8dfb9559084119fc2286f12893359ed9f4a3771272d3dc3e45cd2dbc4e3d9
4
+ data.tar.gz: ebd3d5b7031d7153d6abd9f68cbad6d790f2857d7eeb4a36f8b4eea2bb5b3144
5
5
  SHA512:
6
- metadata.gz: be963d393df129810925361c457ae10623161f356bc9af978bac9509548d99b1adc867b6b59d78a2b2675742dd6079811d47c8bf05e18aee5fa30d14f0d91b68
7
- data.tar.gz: 93494a83ce8037ed15b8d685ea36a9288f508b3bb1cfa1f206e31390a9528999a54c61b342bf41243982a3c5091bbe0409b6dae09103d4b6dce733d6cd863cd1
6
+ metadata.gz: 59d431a4dd755918c83afacf2fad98b9c27d51b352b6111c04c2dc4c17ee4fbe9d64f9017dfcf4401d022e8ad0202be1fa0b414138251767f4a55c2ae4dc150d
7
+ data.tar.gz: 99895dcddc6bb509539ffd54ad889d992060f227fe1b0b62eba8cd28f6f2caac5b89709aaa6bac106d9b21f86e18aff0324cb93cb1bfcf01f50032e1de844d53
data/bin/gherkin CHANGED
@@ -6,13 +6,11 @@ require 'optparse'
6
6
  require 'json'
7
7
  require 'cucumber/messages'
8
8
  require 'gherkin'
9
- require 'gherkin/stream/subprocess_message_stream'
10
9
 
11
10
  options = {
12
11
  include_source: true,
13
12
  include_gherkin_document: true,
14
13
  include_pickles: true,
15
- format: 'protobuf',
16
14
  predictable_ids: false
17
15
  }
18
16
 
@@ -26,9 +24,6 @@ OptionParser.new do |opts|
26
24
  opts.on("--[no-]pickles", "Don't print pickle messages") do |v|
27
25
  options[:include_pickles] = v
28
26
  end
29
- opts.on("--format ndjson|protobuf", "Output format") do |v|
30
- options[:format] = v
31
- end
32
27
  opts.on("--predictable-ids", "Generate incrementing ids rather than UUIDs") do |v|
33
28
  options[:id_generator] = Cucumber::Messages::IdGenerator::Incrementing.new if v
34
29
  end
@@ -36,33 +31,16 @@ end.parse!
36
31
 
37
32
  def process_messages(messages, options)
38
33
  messages.each do |message|
39
- if options[:format] == 'ndjson'
40
- message.write_ndjson_to(STDOUT)
41
- elsif options[:format] == 'protobuf'
42
- message.write_delimited_to(STDOUT)
43
- else
44
- raise "Unsupported format: #{options[:format]}"
45
- end
34
+ STDOUT.write(JSON.fast_generate(message))
35
+ STDOUT.write("\n")
46
36
  end
47
37
  end
48
38
 
49
- gherkin_executable = ENV['GHERKIN_EXECUTABLE']
50
39
  if ARGV.empty?
51
- # Read protobuf from STDIN
52
- messages = Cucumber::Messages::BinaryToMessageEnumerator.new(STDIN)
53
- elsif gherkin_executable
54
- # Read protobuf from STDIN
55
- messages = Gherkin::Stream::SubprocessMessageStream.new(
56
- gherkin_executable,
57
- ARGV,
58
- options[:include_source],
59
- options[:include_gherkin_document],
60
- options[:include_pickles]
61
- ).messages
40
+ # Read from STDIN
41
+ messages = Cucumber::Messages::NdjsonToMessageEnumerator.new(STDIN)
62
42
  else
63
- messages = Gherkin.from_paths(
64
- ARGV,
65
- options
66
- )
43
+ messages = Gherkin.from_paths(ARGV, options)
67
44
  end
45
+
68
46
  process_messages(messages, options)
data/lib/gherkin.rb CHANGED
@@ -30,10 +30,10 @@ module Gherkin
30
30
  private
31
31
 
32
32
  def self.encode_source_message(uri, data)
33
- Cucumber::Messages::Source.new({
33
+ {
34
34
  uri: uri,
35
35
  data: data,
36
- media_type: 'text/x.cucumber.gherkin+plain'
37
- })
36
+ mediaType: 'text/x.cucumber.gherkin+plain'
37
+ }
38
38
  end
39
39
  end
@@ -24,10 +24,10 @@ module Gherkin
24
24
 
25
25
  def build(token)
26
26
  if token.matched_type == :Comment
27
- @comments.push(Cucumber::Messages::GherkinDocument::Comment.new(
27
+ @comments.push({
28
28
  location: get_location(token, 0),
29
29
  text: token.matched_text
30
- ))
30
+ })
31
31
  else
32
32
  current_node.add(token.matched_type, token)
33
33
  end
@@ -43,10 +43,10 @@ module Gherkin
43
43
 
44
44
  def get_location(token, column)
45
45
  column = column == 0 ? token.location[:column] : column
46
- Cucumber::Messages::Location.new(
46
+ {
47
47
  line: token.location[:line],
48
48
  column: column
49
- )
49
+ }.delete_if {|k,v| v.nil?}
50
50
  end
51
51
 
52
52
  def get_tags(node)
@@ -56,11 +56,11 @@ module Gherkin
56
56
 
57
57
  tags_node.get_tokens(:TagLine).each do |token|
58
58
  token.matched_items.each do |tag_item|
59
- tags.push(Cucumber::Messages::GherkinDocument::Feature::Tag.new(
59
+ tags.push({
60
60
  location: get_location(token, tag_item.column),
61
61
  name: tag_item.text,
62
62
  id: @id_generator.new_id
63
- ))
63
+ })
64
64
  end
65
65
  end
66
66
 
@@ -69,11 +69,11 @@ module Gherkin
69
69
 
70
70
  def get_table_rows(node)
71
71
  rows = node.get_tokens(:TableRow).map do |token|
72
- Cucumber::Messages::GherkinDocument::Feature::TableRow.new(
72
+ {
73
73
  id: @id_generator.new_id,
74
74
  location: get_location(token, 0),
75
75
  cells: get_cells(token)
76
- )
76
+ }
77
77
  end
78
78
  ensure_cell_count(rows)
79
79
  rows
@@ -81,26 +81,25 @@ module Gherkin
81
81
 
82
82
  def ensure_cell_count(rows)
83
83
  return if rows.empty?
84
- cell_count = rows[0].cells.length
84
+ cell_count = rows[0][:cells].length
85
85
  rows.each do |row|
86
- if row.cells.length != cell_count
87
- location = {line: row.location.line, column: row.location.column}
88
- raise AstBuilderException.new("inconsistent cell count within the table", location)
86
+ if row[:cells].length != cell_count
87
+ raise AstBuilderException.new("inconsistent cell count within the table", row[:location])
89
88
  end
90
89
  end
91
90
  end
92
91
 
93
92
  def get_cells(table_row_token)
94
93
  table_row_token.matched_items.map do |cell_item|
95
- Cucumber::Messages::GherkinDocument::Feature::TableRow::TableCell.new(
94
+ {
96
95
  location: get_location(table_row_token, cell_item.column),
97
96
  value: cell_item.text
98
- )
97
+ }
99
98
  end
100
99
  end
101
100
 
102
101
  def get_description(node)
103
- node.get_single(:Description)
102
+ node.get_single(:Description) || ''
104
103
  end
105
104
 
106
105
  def get_steps(node)
@@ -114,45 +113,45 @@ module Gherkin
114
113
  data_table = node.get_single(:DataTable)
115
114
  doc_string = node.get_single(:DocString)
116
115
 
117
- Cucumber::Messages::GherkinDocument::Feature::Step.new(
116
+ step = {
118
117
  location: get_location(step_line, 0),
119
118
  keyword: step_line.matched_keyword,
120
119
  text: step_line.matched_text,
121
- data_table: data_table,
122
- doc_string: doc_string,
120
+ dataTable: data_table,
121
+ docString: doc_string,
123
122
  id: @id_generator.new_id
124
- )
123
+ }.delete_if {|k,v| v.nil?}
125
124
  when :DocString
126
125
  separator_token = node.get_tokens(:DocStringSeparator)[0]
127
126
  media_type = separator_token.matched_text == '' ? nil : separator_token.matched_text
128
127
  line_tokens = node.get_tokens(:Other)
129
128
  content = line_tokens.map { |t| t.matched_text }.join("\n")
130
129
 
131
- Cucumber::Messages::GherkinDocument::Feature::Step::DocString.new(
130
+ {
132
131
  location: get_location(separator_token, 0),
133
132
  content: content,
134
133
  delimiter: separator_token.matched_keyword,
135
- media_type: media_type,
136
- )
134
+ mediaType: media_type,
135
+ }.delete_if {|k,v| v.nil?}
137
136
  when :DataTable
138
137
  rows = get_table_rows(node)
139
- Cucumber::Messages::GherkinDocument::Feature::Step::DataTable.new(
140
- location: rows[0].location,
138
+ {
139
+ location: rows[0][:location],
141
140
  rows: rows,
142
- )
141
+ }.delete_if {|k,v| v.nil?}
143
142
  when :Background
144
143
  background_line = node.get_token(:BackgroundLine)
145
144
  description = get_description(node)
146
145
  steps = get_steps(node)
147
146
 
148
- Cucumber::Messages::GherkinDocument::Feature::Background.new(
147
+ {
149
148
  id: @id_generator.new_id,
150
149
  location: get_location(background_line, 0),
151
150
  keyword: background_line.matched_keyword,
152
151
  name: background_line.matched_text,
153
152
  description: description,
154
153
  steps: steps
155
- )
154
+ }.delete_if {|k,v| v.nil?}
156
155
  when :ScenarioDefinition
157
156
  tags = get_tags(node)
158
157
  scenario_node = node.get_single(:Scenario)
@@ -160,7 +159,7 @@ module Gherkin
160
159
  description = get_description(scenario_node)
161
160
  steps = get_steps(scenario_node)
162
161
  examples = scenario_node.get_items(:ExamplesDefinition)
163
- Cucumber::Messages::GherkinDocument::Feature::Scenario.new(
162
+ {
164
163
  id: @id_generator.new_id,
165
164
  tags: tags,
166
165
  location: get_location(scenario_line, 0),
@@ -169,7 +168,7 @@ module Gherkin
169
168
  description: description,
170
169
  steps: steps,
171
170
  examples: examples
172
- )
171
+ }.delete_if {|k,v| v.nil?}
173
172
  when :ExamplesDefinition
174
173
  tags = get_tags(node)
175
174
  examples_node = node.get_single(:Examples)
@@ -178,18 +177,18 @@ module Gherkin
178
177
  rows = examples_node.get_single(:ExamplesTable)
179
178
 
180
179
  table_header = rows.nil? ? nil : rows.first
181
- table_body = rows.nil? ? nil : rows[1..-1]
180
+ table_body = rows.nil? ? [] : rows[1..-1]
182
181
 
183
- Cucumber::Messages::GherkinDocument::Feature::Scenario::Examples.new(
182
+ {
184
183
  id: @id_generator.new_id,
185
184
  tags: tags,
186
185
  location: get_location(examples_line, 0),
187
186
  keyword: examples_line.matched_keyword,
188
187
  name: examples_line.matched_text,
189
188
  description: description,
190
- table_header: table_header,
191
- table_body: table_body,
192
- )
189
+ tableHeader: table_header,
190
+ tableBody: table_body,
191
+ }.delete_if {|k,v| v.nil?}
193
192
  when :ExamplesTable
194
193
  get_table_rows(node)
195
194
  when :Description
@@ -206,17 +205,17 @@ module Gherkin
206
205
  return unless feature_line
207
206
  children = []
208
207
  background = node.get_single(:Background)
209
- children.push(Cucumber::Messages::GherkinDocument::Feature::FeatureChild.new(background: background)) if background
208
+ children.push({background: background}) if background
210
209
  node.get_items(:ScenarioDefinition).each do |scenario|
211
- children.push(Cucumber::Messages::GherkinDocument::Feature::FeatureChild.new(scenario: scenario))
210
+ children.push({scenario: scenario})
212
211
  end
213
212
  node.get_items(:Rule).each do |rule|
214
- children.push(Cucumber::Messages::GherkinDocument::Feature::FeatureChild.new(rule: rule))
213
+ children.push({rule: rule})
215
214
  end
216
215
  description = get_description(header)
217
216
  language = feature_line.matched_gherkin_dialect
218
217
 
219
- Cucumber::Messages::GherkinDocument::Feature.new(
218
+ {
220
219
  tags: tags,
221
220
  location: get_location(feature_line, 0),
222
221
  language: language,
@@ -224,34 +223,36 @@ module Gherkin
224
223
  name: feature_line.matched_text,
225
224
  description: description,
226
225
  children: children,
227
- )
226
+ }.delete_if {|k,v| v.nil?}
228
227
  when :Rule
229
228
  header = node.get_single(:RuleHeader)
230
229
  return unless header
231
230
  rule_line = header.get_token(:RuleLine)
232
231
  return unless rule_line
232
+ tags = get_tags(header)
233
233
  children = []
234
234
  background = node.get_single(:Background)
235
- children.push(Cucumber::Messages::GherkinDocument::Feature::FeatureChild::RuleChild.new(background: background)) if background
235
+ children.push({background: background}) if background
236
236
  node.get_items(:ScenarioDefinition).each do |scenario|
237
- children.push(Cucumber::Messages::GherkinDocument::Feature::FeatureChild::RuleChild.new(scenario: scenario))
237
+ children.push({scenario: scenario})
238
238
  end
239
239
  description = get_description(header)
240
240
 
241
- Cucumber::Messages::GherkinDocument::Feature::FeatureChild::Rule.new(
241
+ {
242
242
  id: @id_generator.new_id,
243
+ tags: tags,
243
244
  location: get_location(rule_line, 0),
244
245
  keyword: rule_line.matched_keyword,
245
246
  name: rule_line.matched_text,
246
247
  description: description,
247
248
  children: children,
248
- )
249
+ }.delete_if {|k,v| v.nil?}
249
250
  when :GherkinDocument
250
251
  feature = node.get_single(:Feature)
251
252
  {
252
- feature: feature,
253
- comments: @comments
254
- }
253
+ comments: @comments,
254
+ feature: feature
255
+ }.delete_if {|k,v| v.nil?}
255
256
  else
256
257
  return node
257
258
  end
@@ -26,7 +26,7 @@
26
26
  "name": "Afrikaans",
27
27
  "native": "Afrikaans",
28
28
  "rule": [
29
- "Rule"
29
+ "Regel"
30
30
  ],
31
31
  "scenario": [
32
32
  "Voorbeeld",
@@ -494,7 +494,7 @@
494
494
  "name": "Czech",
495
495
  "native": "Česky",
496
496
  "rule": [
497
- "Rule"
497
+ "Pravidlo"
498
498
  ],
499
499
  "scenario": [
500
500
  "Příklad",
@@ -1078,7 +1078,9 @@
1078
1078
  "Ejemplos"
1079
1079
  ],
1080
1080
  "feature": [
1081
- "Característica"
1081
+ "Característica",
1082
+ "Necesidad del negocio",
1083
+ "Requisito"
1082
1084
  ],
1083
1085
  "given": [
1084
1086
  "* ",
@@ -1090,7 +1092,8 @@
1090
1092
  "name": "Spanish",
1091
1093
  "native": "español",
1092
1094
  "rule": [
1093
- "Regla"
1095
+ "Regla",
1096
+ "Regla de negocio"
1094
1097
  ],
1095
1098
  "scenario": [
1096
1099
  "Ejemplo",
@@ -1672,7 +1675,7 @@
1672
1675
  "name": "Hungarian",
1673
1676
  "native": "magyar",
1674
1677
  "rule": [
1675
- "Rule"
1678
+ "Szabály"
1676
1679
  ],
1677
1680
  "scenario": [
1678
1681
  "Példa",
@@ -2738,7 +2741,8 @@
2738
2741
  "Сценарий"
2739
2742
  ],
2740
2743
  "scenarioOutline": [
2741
- "Структура сценария"
2744
+ "Структура сценария",
2745
+ "Шаблон сценария"
2742
2746
  ],
2743
2747
  "then": [
2744
2748
  "* ",
@@ -94,7 +94,7 @@ module Gherkin
94
94
  end
95
95
 
96
96
  unless item =~ /^\S+$/
97
- location = {line: @line_number, column: column}
97
+ location = { line: @line_number, column: column }
98
98
  raise ParserException.new('A tag may not contain whitespace', location)
99
99
  end
100
100
 
@@ -26,9 +26,9 @@ module Gherkin
26
26
  :Feature, # Feature! := FeatureHeader Background? ScenarioDefinition* Rule*
27
27
  :FeatureHeader, # FeatureHeader! := #Language? Tags? #FeatureLine DescriptionHelper
28
28
  :Rule, # Rule! := RuleHeader Background? ScenarioDefinition*
29
- :RuleHeader, # RuleHeader! := #RuleLine DescriptionHelper
29
+ :RuleHeader, # RuleHeader! := Tags? #RuleLine DescriptionHelper
30
30
  :Background, # Background! := #BackgroundLine DescriptionHelper Step*
31
- :ScenarioDefinition, # ScenarioDefinition! := Tags? Scenario
31
+ :ScenarioDefinition, # ScenarioDefinition! [#Empty|#Comment|#TagLine->#ScenarioLine] := Tags? Scenario
32
32
  :Scenario, # Scenario! := #ScenarioLine DescriptionHelper Step* ExamplesDefinition*
33
33
  :ExamplesDefinition, # ExamplesDefinition! [#Empty|#Comment|#TagLine->#ExamplesLine] := Tags? Examples
34
34
  :Examples, # Examples! := #ExamplesLine DescriptionHelper ExamplesTable?
@@ -94,7 +94,7 @@ module Gherkin
94
94
  end
95
95
 
96
96
  def add_error(context, error)
97
- context.errors.push(error)
97
+ context.errors.push(error) unless context.errors.map { |e| e.message }.include?(error.message)
98
98
  raise CompositeParserException, context.errors if context.errors.length > 10
99
99
  end
100
100
 
@@ -300,8 +300,8 @@ module Gherkin
300
300
  match_token_at_39(token, context)
301
301
  when 40
302
302
  match_token_at_40(token, context)
303
- when 42
304
- match_token_at_42(token, context)
303
+ when 41
304
+ match_token_at_41(token, context)
305
305
  when 43
306
306
  match_token_at_43(token, context)
307
307
  when 44
@@ -316,6 +316,8 @@ module Gherkin
316
316
  match_token_at_48(token, context)
317
317
  when 49
318
318
  match_token_at_49(token, context)
319
+ when 50
320
+ match_token_at_50(token, context)
319
321
  else
320
322
  raise InvalidOperationException, "Unknown state: #{state}"
321
323
  end
@@ -326,7 +328,7 @@ module Gherkin
326
328
  def match_token_at_0(token, context)
327
329
  if match_EOF(context, token)
328
330
  build(context, token);
329
- return 41
331
+ return 42
330
332
  end
331
333
  if match_Language(context, token)
332
334
  start_rule(context, :Feature);
@@ -429,7 +431,7 @@ module Gherkin
429
431
  end_rule(context, :FeatureHeader);
430
432
  end_rule(context, :Feature);
431
433
  build(context, token);
432
- return 41
434
+ return 42
433
435
  end
434
436
  if match_Empty(context, token)
435
437
  build(context, token);
@@ -446,11 +448,21 @@ module Gherkin
446
448
  return 6
447
449
  end
448
450
  if match_TagLine(context, token)
451
+ if lookahead_0(context, token)
449
452
  end_rule(context, :FeatureHeader);
450
453
  start_rule(context, :ScenarioDefinition);
451
454
  start_rule(context, :Tags);
452
455
  build(context, token);
453
456
  return 11
457
+ end
458
+ end
459
+ if match_TagLine(context, token)
460
+ end_rule(context, :FeatureHeader);
461
+ start_rule(context, :Rule);
462
+ start_rule(context, :RuleHeader);
463
+ start_rule(context, :Tags);
464
+ build(context, token);
465
+ return 22
454
466
  end
455
467
  if match_ScenarioLine(context, token)
456
468
  end_rule(context, :FeatureHeader);
@@ -464,7 +476,7 @@ module Gherkin
464
476
  start_rule(context, :Rule);
465
477
  start_rule(context, :RuleHeader);
466
478
  build(context, token);
467
- return 22
479
+ return 23
468
480
  end
469
481
  if match_Other(context, token)
470
482
  start_rule(context, :Description);
@@ -488,7 +500,7 @@ module Gherkin
488
500
  end_rule(context, :FeatureHeader);
489
501
  end_rule(context, :Feature);
490
502
  build(context, token);
491
- return 41
503
+ return 42
492
504
  end
493
505
  if match_Comment(context, token)
494
506
  end_rule(context, :Description);
@@ -503,12 +515,23 @@ module Gherkin
503
515
  return 6
504
516
  end
505
517
  if match_TagLine(context, token)
518
+ if lookahead_0(context, token)
506
519
  end_rule(context, :Description);
507
520
  end_rule(context, :FeatureHeader);
508
521
  start_rule(context, :ScenarioDefinition);
509
522
  start_rule(context, :Tags);
510
523
  build(context, token);
511
524
  return 11
525
+ end
526
+ end
527
+ if match_TagLine(context, token)
528
+ end_rule(context, :Description);
529
+ end_rule(context, :FeatureHeader);
530
+ start_rule(context, :Rule);
531
+ start_rule(context, :RuleHeader);
532
+ start_rule(context, :Tags);
533
+ build(context, token);
534
+ return 22
512
535
  end
513
536
  if match_ScenarioLine(context, token)
514
537
  end_rule(context, :Description);
@@ -524,7 +547,7 @@ module Gherkin
524
547
  start_rule(context, :Rule);
525
548
  start_rule(context, :RuleHeader);
526
549
  build(context, token);
527
- return 22
550
+ return 23
528
551
  end
529
552
  if match_Other(context, token)
530
553
  build(context, token);
@@ -546,7 +569,7 @@ module Gherkin
546
569
  end_rule(context, :FeatureHeader);
547
570
  end_rule(context, :Feature);
548
571
  build(context, token);
549
- return 41
572
+ return 42
550
573
  end
551
574
  if match_Comment(context, token)
552
575
  build(context, token);
@@ -559,11 +582,21 @@ module Gherkin
559
582
  return 6
560
583
  end
561
584
  if match_TagLine(context, token)
585
+ if lookahead_0(context, token)
562
586
  end_rule(context, :FeatureHeader);
563
587
  start_rule(context, :ScenarioDefinition);
564
588
  start_rule(context, :Tags);
565
589
  build(context, token);
566
590
  return 11
591
+ end
592
+ end
593
+ if match_TagLine(context, token)
594
+ end_rule(context, :FeatureHeader);
595
+ start_rule(context, :Rule);
596
+ start_rule(context, :RuleHeader);
597
+ start_rule(context, :Tags);
598
+ build(context, token);
599
+ return 22
567
600
  end
568
601
  if match_ScenarioLine(context, token)
569
602
  end_rule(context, :FeatureHeader);
@@ -577,7 +610,7 @@ module Gherkin
577
610
  start_rule(context, :Rule);
578
611
  start_rule(context, :RuleHeader);
579
612
  build(context, token);
580
- return 22
613
+ return 23
581
614
  end
582
615
  if match_Empty(context, token)
583
616
  build(context, token);
@@ -599,7 +632,7 @@ module Gherkin
599
632
  end_rule(context, :Background);
600
633
  end_rule(context, :Feature);
601
634
  build(context, token);
602
- return 41
635
+ return 42
603
636
  end
604
637
  if match_Empty(context, token)
605
638
  build(context, token);
@@ -615,11 +648,21 @@ module Gherkin
615
648
  return 9
616
649
  end
617
650
  if match_TagLine(context, token)
651
+ if lookahead_0(context, token)
618
652
  end_rule(context, :Background);
619
653
  start_rule(context, :ScenarioDefinition);
620
654
  start_rule(context, :Tags);
621
655
  build(context, token);
622
656
  return 11
657
+ end
658
+ end
659
+ if match_TagLine(context, token)
660
+ end_rule(context, :Background);
661
+ start_rule(context, :Rule);
662
+ start_rule(context, :RuleHeader);
663
+ start_rule(context, :Tags);
664
+ build(context, token);
665
+ return 22
623
666
  end
624
667
  if match_ScenarioLine(context, token)
625
668
  end_rule(context, :Background);
@@ -633,7 +676,7 @@ module Gherkin
633
676
  start_rule(context, :Rule);
634
677
  start_rule(context, :RuleHeader);
635
678
  build(context, token);
636
- return 22
679
+ return 23
637
680
  end
638
681
  if match_Other(context, token)
639
682
  start_rule(context, :Description);
@@ -657,7 +700,7 @@ module Gherkin
657
700
  end_rule(context, :Background);
658
701
  end_rule(context, :Feature);
659
702
  build(context, token);
660
- return 41
703
+ return 42
661
704
  end
662
705
  if match_Comment(context, token)
663
706
  end_rule(context, :Description);
@@ -671,12 +714,23 @@ module Gherkin
671
714
  return 9
672
715
  end
673
716
  if match_TagLine(context, token)
717
+ if lookahead_0(context, token)
674
718
  end_rule(context, :Description);
675
719
  end_rule(context, :Background);
676
720
  start_rule(context, :ScenarioDefinition);
677
721
  start_rule(context, :Tags);
678
722
  build(context, token);
679
723
  return 11
724
+ end
725
+ end
726
+ if match_TagLine(context, token)
727
+ end_rule(context, :Description);
728
+ end_rule(context, :Background);
729
+ start_rule(context, :Rule);
730
+ start_rule(context, :RuleHeader);
731
+ start_rule(context, :Tags);
732
+ build(context, token);
733
+ return 22
680
734
  end
681
735
  if match_ScenarioLine(context, token)
682
736
  end_rule(context, :Description);
@@ -692,7 +746,7 @@ module Gherkin
692
746
  start_rule(context, :Rule);
693
747
  start_rule(context, :RuleHeader);
694
748
  build(context, token);
695
- return 22
749
+ return 23
696
750
  end
697
751
  if match_Other(context, token)
698
752
  build(context, token);
@@ -714,7 +768,7 @@ module Gherkin
714
768
  end_rule(context, :Background);
715
769
  end_rule(context, :Feature);
716
770
  build(context, token);
717
- return 41
771
+ return 42
718
772
  end
719
773
  if match_Comment(context, token)
720
774
  build(context, token);
@@ -726,11 +780,21 @@ module Gherkin
726
780
  return 9
727
781
  end
728
782
  if match_TagLine(context, token)
783
+ if lookahead_0(context, token)
729
784
  end_rule(context, :Background);
730
785
  start_rule(context, :ScenarioDefinition);
731
786
  start_rule(context, :Tags);
732
787
  build(context, token);
733
788
  return 11
789
+ end
790
+ end
791
+ if match_TagLine(context, token)
792
+ end_rule(context, :Background);
793
+ start_rule(context, :Rule);
794
+ start_rule(context, :RuleHeader);
795
+ start_rule(context, :Tags);
796
+ build(context, token);
797
+ return 22
734
798
  end
735
799
  if match_ScenarioLine(context, token)
736
800
  end_rule(context, :Background);
@@ -744,7 +808,7 @@ module Gherkin
744
808
  start_rule(context, :Rule);
745
809
  start_rule(context, :RuleHeader);
746
810
  build(context, token);
747
- return 22
811
+ return 23
748
812
  end
749
813
  if match_Empty(context, token)
750
814
  build(context, token);
@@ -767,7 +831,7 @@ module Gherkin
767
831
  end_rule(context, :Background);
768
832
  end_rule(context, :Feature);
769
833
  build(context, token);
770
- return 41
834
+ return 42
771
835
  end
772
836
  if match_TableRow(context, token)
773
837
  start_rule(context, :DataTable);
@@ -777,7 +841,7 @@ module Gherkin
777
841
  if match_DocStringSeparator(context, token)
778
842
  start_rule(context, :DocString);
779
843
  build(context, token);
780
- return 48
844
+ return 49
781
845
  end
782
846
  if match_StepLine(context, token)
783
847
  end_rule(context, :Step);
@@ -786,12 +850,23 @@ module Gherkin
786
850
  return 9
787
851
  end
788
852
  if match_TagLine(context, token)
853
+ if lookahead_0(context, token)
789
854
  end_rule(context, :Step);
790
855
  end_rule(context, :Background);
791
856
  start_rule(context, :ScenarioDefinition);
792
857
  start_rule(context, :Tags);
793
858
  build(context, token);
794
859
  return 11
860
+ end
861
+ end
862
+ if match_TagLine(context, token)
863
+ end_rule(context, :Step);
864
+ end_rule(context, :Background);
865
+ start_rule(context, :Rule);
866
+ start_rule(context, :RuleHeader);
867
+ start_rule(context, :Tags);
868
+ build(context, token);
869
+ return 22
795
870
  end
796
871
  if match_ScenarioLine(context, token)
797
872
  end_rule(context, :Step);
@@ -807,7 +882,7 @@ module Gherkin
807
882
  start_rule(context, :Rule);
808
883
  start_rule(context, :RuleHeader);
809
884
  build(context, token);
810
- return 22
885
+ return 23
811
886
  end
812
887
  if match_Comment(context, token)
813
888
  build(context, token);
@@ -835,7 +910,7 @@ module Gherkin
835
910
  end_rule(context, :Background);
836
911
  end_rule(context, :Feature);
837
912
  build(context, token);
838
- return 41
913
+ return 42
839
914
  end
840
915
  if match_TableRow(context, token)
841
916
  build(context, token);
@@ -849,6 +924,7 @@ module Gherkin
849
924
  return 9
850
925
  end
851
926
  if match_TagLine(context, token)
927
+ if lookahead_0(context, token)
852
928
  end_rule(context, :DataTable);
853
929
  end_rule(context, :Step);
854
930
  end_rule(context, :Background);
@@ -856,6 +932,17 @@ module Gherkin
856
932
  start_rule(context, :Tags);
857
933
  build(context, token);
858
934
  return 11
935
+ end
936
+ end
937
+ if match_TagLine(context, token)
938
+ end_rule(context, :DataTable);
939
+ end_rule(context, :Step);
940
+ end_rule(context, :Background);
941
+ start_rule(context, :Rule);
942
+ start_rule(context, :RuleHeader);
943
+ start_rule(context, :Tags);
944
+ build(context, token);
945
+ return 22
859
946
  end
860
947
  if match_ScenarioLine(context, token)
861
948
  end_rule(context, :DataTable);
@@ -873,7 +960,7 @@ module Gherkin
873
960
  start_rule(context, :Rule);
874
961
  start_rule(context, :RuleHeader);
875
962
  build(context, token);
876
- return 22
963
+ return 23
877
964
  end
878
965
  if match_Comment(context, token)
879
966
  build(context, token);
@@ -930,7 +1017,7 @@ module Gherkin
930
1017
  end_rule(context, :ScenarioDefinition);
931
1018
  end_rule(context, :Feature);
932
1019
  build(context, token);
933
- return 41
1020
+ return 42
934
1021
  end
935
1022
  if match_Empty(context, token)
936
1023
  build(context, token);
@@ -946,7 +1033,7 @@ module Gherkin
946
1033
  return 15
947
1034
  end
948
1035
  if match_TagLine(context, token)
949
- if lookahead_0(context, token)
1036
+ if lookahead_1(context, token)
950
1037
  start_rule(context, :ExamplesDefinition);
951
1038
  start_rule(context, :Tags);
952
1039
  build(context, token);
@@ -954,12 +1041,23 @@ module Gherkin
954
1041
  end
955
1042
  end
956
1043
  if match_TagLine(context, token)
1044
+ if lookahead_0(context, token)
957
1045
  end_rule(context, :Scenario);
958
1046
  end_rule(context, :ScenarioDefinition);
959
1047
  start_rule(context, :ScenarioDefinition);
960
1048
  start_rule(context, :Tags);
961
1049
  build(context, token);
962
1050
  return 11
1051
+ end
1052
+ end
1053
+ if match_TagLine(context, token)
1054
+ end_rule(context, :Scenario);
1055
+ end_rule(context, :ScenarioDefinition);
1056
+ start_rule(context, :Rule);
1057
+ start_rule(context, :RuleHeader);
1058
+ start_rule(context, :Tags);
1059
+ build(context, token);
1060
+ return 22
963
1061
  end
964
1062
  if match_ExamplesLine(context, token)
965
1063
  start_rule(context, :ExamplesDefinition);
@@ -981,7 +1079,7 @@ module Gherkin
981
1079
  start_rule(context, :Rule);
982
1080
  start_rule(context, :RuleHeader);
983
1081
  build(context, token);
984
- return 22
1082
+ return 23
985
1083
  end
986
1084
  if match_Other(context, token)
987
1085
  start_rule(context, :Description);
@@ -1006,7 +1104,7 @@ module Gherkin
1006
1104
  end_rule(context, :ScenarioDefinition);
1007
1105
  end_rule(context, :Feature);
1008
1106
  build(context, token);
1009
- return 41
1107
+ return 42
1010
1108
  end
1011
1109
  if match_Comment(context, token)
1012
1110
  end_rule(context, :Description);
@@ -1020,7 +1118,7 @@ module Gherkin
1020
1118
  return 15
1021
1119
  end
1022
1120
  if match_TagLine(context, token)
1023
- if lookahead_0(context, token)
1121
+ if lookahead_1(context, token)
1024
1122
  end_rule(context, :Description);
1025
1123
  start_rule(context, :ExamplesDefinition);
1026
1124
  start_rule(context, :Tags);
@@ -1029,6 +1127,7 @@ module Gherkin
1029
1127
  end
1030
1128
  end
1031
1129
  if match_TagLine(context, token)
1130
+ if lookahead_0(context, token)
1032
1131
  end_rule(context, :Description);
1033
1132
  end_rule(context, :Scenario);
1034
1133
  end_rule(context, :ScenarioDefinition);
@@ -1036,6 +1135,17 @@ module Gherkin
1036
1135
  start_rule(context, :Tags);
1037
1136
  build(context, token);
1038
1137
  return 11
1138
+ end
1139
+ end
1140
+ if match_TagLine(context, token)
1141
+ end_rule(context, :Description);
1142
+ end_rule(context, :Scenario);
1143
+ end_rule(context, :ScenarioDefinition);
1144
+ start_rule(context, :Rule);
1145
+ start_rule(context, :RuleHeader);
1146
+ start_rule(context, :Tags);
1147
+ build(context, token);
1148
+ return 22
1039
1149
  end
1040
1150
  if match_ExamplesLine(context, token)
1041
1151
  end_rule(context, :Description);
@@ -1060,7 +1170,7 @@ module Gherkin
1060
1170
  start_rule(context, :Rule);
1061
1171
  start_rule(context, :RuleHeader);
1062
1172
  build(context, token);
1063
- return 22
1173
+ return 23
1064
1174
  end
1065
1175
  if match_Other(context, token)
1066
1176
  build(context, token);
@@ -1083,7 +1193,7 @@ module Gherkin
1083
1193
  end_rule(context, :ScenarioDefinition);
1084
1194
  end_rule(context, :Feature);
1085
1195
  build(context, token);
1086
- return 41
1196
+ return 42
1087
1197
  end
1088
1198
  if match_Comment(context, token)
1089
1199
  build(context, token);
@@ -1095,7 +1205,7 @@ module Gherkin
1095
1205
  return 15
1096
1206
  end
1097
1207
  if match_TagLine(context, token)
1098
- if lookahead_0(context, token)
1208
+ if lookahead_1(context, token)
1099
1209
  start_rule(context, :ExamplesDefinition);
1100
1210
  start_rule(context, :Tags);
1101
1211
  build(context, token);
@@ -1103,12 +1213,23 @@ module Gherkin
1103
1213
  end
1104
1214
  end
1105
1215
  if match_TagLine(context, token)
1216
+ if lookahead_0(context, token)
1106
1217
  end_rule(context, :Scenario);
1107
1218
  end_rule(context, :ScenarioDefinition);
1108
1219
  start_rule(context, :ScenarioDefinition);
1109
1220
  start_rule(context, :Tags);
1110
1221
  build(context, token);
1111
1222
  return 11
1223
+ end
1224
+ end
1225
+ if match_TagLine(context, token)
1226
+ end_rule(context, :Scenario);
1227
+ end_rule(context, :ScenarioDefinition);
1228
+ start_rule(context, :Rule);
1229
+ start_rule(context, :RuleHeader);
1230
+ start_rule(context, :Tags);
1231
+ build(context, token);
1232
+ return 22
1112
1233
  end
1113
1234
  if match_ExamplesLine(context, token)
1114
1235
  start_rule(context, :ExamplesDefinition);
@@ -1130,7 +1251,7 @@ module Gherkin
1130
1251
  start_rule(context, :Rule);
1131
1252
  start_rule(context, :RuleHeader);
1132
1253
  build(context, token);
1133
- return 22
1254
+ return 23
1134
1255
  end
1135
1256
  if match_Empty(context, token)
1136
1257
  build(context, token);
@@ -1154,7 +1275,7 @@ module Gherkin
1154
1275
  end_rule(context, :ScenarioDefinition);
1155
1276
  end_rule(context, :Feature);
1156
1277
  build(context, token);
1157
- return 41
1278
+ return 42
1158
1279
  end
1159
1280
  if match_TableRow(context, token)
1160
1281
  start_rule(context, :DataTable);
@@ -1164,7 +1285,7 @@ module Gherkin
1164
1285
  if match_DocStringSeparator(context, token)
1165
1286
  start_rule(context, :DocString);
1166
1287
  build(context, token);
1167
- return 46
1288
+ return 47
1168
1289
  end
1169
1290
  if match_StepLine(context, token)
1170
1291
  end_rule(context, :Step);
@@ -1173,7 +1294,7 @@ module Gherkin
1173
1294
  return 15
1174
1295
  end
1175
1296
  if match_TagLine(context, token)
1176
- if lookahead_0(context, token)
1297
+ if lookahead_1(context, token)
1177
1298
  end_rule(context, :Step);
1178
1299
  start_rule(context, :ExamplesDefinition);
1179
1300
  start_rule(context, :Tags);
@@ -1182,6 +1303,7 @@ module Gherkin
1182
1303
  end
1183
1304
  end
1184
1305
  if match_TagLine(context, token)
1306
+ if lookahead_0(context, token)
1185
1307
  end_rule(context, :Step);
1186
1308
  end_rule(context, :Scenario);
1187
1309
  end_rule(context, :ScenarioDefinition);
@@ -1189,6 +1311,17 @@ module Gherkin
1189
1311
  start_rule(context, :Tags);
1190
1312
  build(context, token);
1191
1313
  return 11
1314
+ end
1315
+ end
1316
+ if match_TagLine(context, token)
1317
+ end_rule(context, :Step);
1318
+ end_rule(context, :Scenario);
1319
+ end_rule(context, :ScenarioDefinition);
1320
+ start_rule(context, :Rule);
1321
+ start_rule(context, :RuleHeader);
1322
+ start_rule(context, :Tags);
1323
+ build(context, token);
1324
+ return 22
1192
1325
  end
1193
1326
  if match_ExamplesLine(context, token)
1194
1327
  end_rule(context, :Step);
@@ -1213,7 +1346,7 @@ module Gherkin
1213
1346
  start_rule(context, :Rule);
1214
1347
  start_rule(context, :RuleHeader);
1215
1348
  build(context, token);
1216
- return 22
1349
+ return 23
1217
1350
  end
1218
1351
  if match_Comment(context, token)
1219
1352
  build(context, token);
@@ -1242,7 +1375,7 @@ module Gherkin
1242
1375
  end_rule(context, :ScenarioDefinition);
1243
1376
  end_rule(context, :Feature);
1244
1377
  build(context, token);
1245
- return 41
1378
+ return 42
1246
1379
  end
1247
1380
  if match_TableRow(context, token)
1248
1381
  build(context, token);
@@ -1256,7 +1389,7 @@ module Gherkin
1256
1389
  return 15
1257
1390
  end
1258
1391
  if match_TagLine(context, token)
1259
- if lookahead_0(context, token)
1392
+ if lookahead_1(context, token)
1260
1393
  end_rule(context, :DataTable);
1261
1394
  end_rule(context, :Step);
1262
1395
  start_rule(context, :ExamplesDefinition);
@@ -1266,6 +1399,7 @@ module Gherkin
1266
1399
  end
1267
1400
  end
1268
1401
  if match_TagLine(context, token)
1402
+ if lookahead_0(context, token)
1269
1403
  end_rule(context, :DataTable);
1270
1404
  end_rule(context, :Step);
1271
1405
  end_rule(context, :Scenario);
@@ -1274,6 +1408,18 @@ module Gherkin
1274
1408
  start_rule(context, :Tags);
1275
1409
  build(context, token);
1276
1410
  return 11
1411
+ end
1412
+ end
1413
+ if match_TagLine(context, token)
1414
+ end_rule(context, :DataTable);
1415
+ end_rule(context, :Step);
1416
+ end_rule(context, :Scenario);
1417
+ end_rule(context, :ScenarioDefinition);
1418
+ start_rule(context, :Rule);
1419
+ start_rule(context, :RuleHeader);
1420
+ start_rule(context, :Tags);
1421
+ build(context, token);
1422
+ return 22
1277
1423
  end
1278
1424
  if match_ExamplesLine(context, token)
1279
1425
  end_rule(context, :DataTable);
@@ -1301,7 +1447,7 @@ module Gherkin
1301
1447
  start_rule(context, :Rule);
1302
1448
  start_rule(context, :RuleHeader);
1303
1449
  build(context, token);
1304
- return 22
1450
+ return 23
1305
1451
  end
1306
1452
  if match_Comment(context, token)
1307
1453
  build(context, token);
@@ -1360,7 +1506,7 @@ module Gherkin
1360
1506
  end_rule(context, :ScenarioDefinition);
1361
1507
  end_rule(context, :Feature);
1362
1508
  build(context, token);
1363
- return 41
1509
+ return 42
1364
1510
  end
1365
1511
  if match_Empty(context, token)
1366
1512
  build(context, token);
@@ -1376,7 +1522,7 @@ module Gherkin
1376
1522
  return 21
1377
1523
  end
1378
1524
  if match_TagLine(context, token)
1379
- if lookahead_0(context, token)
1525
+ if lookahead_1(context, token)
1380
1526
  end_rule(context, :Examples);
1381
1527
  end_rule(context, :ExamplesDefinition);
1382
1528
  start_rule(context, :ExamplesDefinition);
@@ -1386,6 +1532,7 @@ module Gherkin
1386
1532
  end
1387
1533
  end
1388
1534
  if match_TagLine(context, token)
1535
+ if lookahead_0(context, token)
1389
1536
  end_rule(context, :Examples);
1390
1537
  end_rule(context, :ExamplesDefinition);
1391
1538
  end_rule(context, :Scenario);
@@ -1394,6 +1541,18 @@ module Gherkin
1394
1541
  start_rule(context, :Tags);
1395
1542
  build(context, token);
1396
1543
  return 11
1544
+ end
1545
+ end
1546
+ if match_TagLine(context, token)
1547
+ end_rule(context, :Examples);
1548
+ end_rule(context, :ExamplesDefinition);
1549
+ end_rule(context, :Scenario);
1550
+ end_rule(context, :ScenarioDefinition);
1551
+ start_rule(context, :Rule);
1552
+ start_rule(context, :RuleHeader);
1553
+ start_rule(context, :Tags);
1554
+ build(context, token);
1555
+ return 22
1397
1556
  end
1398
1557
  if match_ExamplesLine(context, token)
1399
1558
  end_rule(context, :Examples);
@@ -1421,7 +1580,7 @@ module Gherkin
1421
1580
  start_rule(context, :Rule);
1422
1581
  start_rule(context, :RuleHeader);
1423
1582
  build(context, token);
1424
- return 22
1583
+ return 23
1425
1584
  end
1426
1585
  if match_Other(context, token)
1427
1586
  start_rule(context, :Description);
@@ -1448,7 +1607,7 @@ module Gherkin
1448
1607
  end_rule(context, :ScenarioDefinition);
1449
1608
  end_rule(context, :Feature);
1450
1609
  build(context, token);
1451
- return 41
1610
+ return 42
1452
1611
  end
1453
1612
  if match_Comment(context, token)
1454
1613
  end_rule(context, :Description);
@@ -1462,7 +1621,7 @@ module Gherkin
1462
1621
  return 21
1463
1622
  end
1464
1623
  if match_TagLine(context, token)
1465
- if lookahead_0(context, token)
1624
+ if lookahead_1(context, token)
1466
1625
  end_rule(context, :Description);
1467
1626
  end_rule(context, :Examples);
1468
1627
  end_rule(context, :ExamplesDefinition);
@@ -1473,6 +1632,7 @@ module Gherkin
1473
1632
  end
1474
1633
  end
1475
1634
  if match_TagLine(context, token)
1635
+ if lookahead_0(context, token)
1476
1636
  end_rule(context, :Description);
1477
1637
  end_rule(context, :Examples);
1478
1638
  end_rule(context, :ExamplesDefinition);
@@ -1482,6 +1642,19 @@ module Gherkin
1482
1642
  start_rule(context, :Tags);
1483
1643
  build(context, token);
1484
1644
  return 11
1645
+ end
1646
+ end
1647
+ if match_TagLine(context, token)
1648
+ end_rule(context, :Description);
1649
+ end_rule(context, :Examples);
1650
+ end_rule(context, :ExamplesDefinition);
1651
+ end_rule(context, :Scenario);
1652
+ end_rule(context, :ScenarioDefinition);
1653
+ start_rule(context, :Rule);
1654
+ start_rule(context, :RuleHeader);
1655
+ start_rule(context, :Tags);
1656
+ build(context, token);
1657
+ return 22
1485
1658
  end
1486
1659
  if match_ExamplesLine(context, token)
1487
1660
  end_rule(context, :Description);
@@ -1512,7 +1685,7 @@ module Gherkin
1512
1685
  start_rule(context, :Rule);
1513
1686
  start_rule(context, :RuleHeader);
1514
1687
  build(context, token);
1515
- return 22
1688
+ return 23
1516
1689
  end
1517
1690
  if match_Other(context, token)
1518
1691
  build(context, token);
@@ -1537,7 +1710,7 @@ module Gherkin
1537
1710
  end_rule(context, :ScenarioDefinition);
1538
1711
  end_rule(context, :Feature);
1539
1712
  build(context, token);
1540
- return 41
1713
+ return 42
1541
1714
  end
1542
1715
  if match_Comment(context, token)
1543
1716
  build(context, token);
@@ -1549,7 +1722,7 @@ module Gherkin
1549
1722
  return 21
1550
1723
  end
1551
1724
  if match_TagLine(context, token)
1552
- if lookahead_0(context, token)
1725
+ if lookahead_1(context, token)
1553
1726
  end_rule(context, :Examples);
1554
1727
  end_rule(context, :ExamplesDefinition);
1555
1728
  start_rule(context, :ExamplesDefinition);
@@ -1559,6 +1732,7 @@ module Gherkin
1559
1732
  end
1560
1733
  end
1561
1734
  if match_TagLine(context, token)
1735
+ if lookahead_0(context, token)
1562
1736
  end_rule(context, :Examples);
1563
1737
  end_rule(context, :ExamplesDefinition);
1564
1738
  end_rule(context, :Scenario);
@@ -1567,15 +1741,27 @@ module Gherkin
1567
1741
  start_rule(context, :Tags);
1568
1742
  build(context, token);
1569
1743
  return 11
1744
+ end
1570
1745
  end
1571
- if match_ExamplesLine(context, token)
1746
+ if match_TagLine(context, token)
1572
1747
  end_rule(context, :Examples);
1573
1748
  end_rule(context, :ExamplesDefinition);
1574
- start_rule(context, :ExamplesDefinition);
1575
- start_rule(context, :Examples);
1576
- build(context, token);
1577
- return 18
1578
- end
1749
+ end_rule(context, :Scenario);
1750
+ end_rule(context, :ScenarioDefinition);
1751
+ start_rule(context, :Rule);
1752
+ start_rule(context, :RuleHeader);
1753
+ start_rule(context, :Tags);
1754
+ build(context, token);
1755
+ return 22
1756
+ end
1757
+ if match_ExamplesLine(context, token)
1758
+ end_rule(context, :Examples);
1759
+ end_rule(context, :ExamplesDefinition);
1760
+ start_rule(context, :ExamplesDefinition);
1761
+ start_rule(context, :Examples);
1762
+ build(context, token);
1763
+ return 18
1764
+ end
1579
1765
  if match_ScenarioLine(context, token)
1580
1766
  end_rule(context, :Examples);
1581
1767
  end_rule(context, :ExamplesDefinition);
@@ -1594,7 +1780,7 @@ module Gherkin
1594
1780
  start_rule(context, :Rule);
1595
1781
  start_rule(context, :RuleHeader);
1596
1782
  build(context, token);
1597
- return 22
1783
+ return 23
1598
1784
  end
1599
1785
  if match_Empty(context, token)
1600
1786
  build(context, token);
@@ -1620,14 +1806,14 @@ module Gherkin
1620
1806
  end_rule(context, :ScenarioDefinition);
1621
1807
  end_rule(context, :Feature);
1622
1808
  build(context, token);
1623
- return 41
1809
+ return 42
1624
1810
  end
1625
1811
  if match_TableRow(context, token)
1626
1812
  build(context, token);
1627
1813
  return 21
1628
1814
  end
1629
1815
  if match_TagLine(context, token)
1630
- if lookahead_0(context, token)
1816
+ if lookahead_1(context, token)
1631
1817
  end_rule(context, :ExamplesTable);
1632
1818
  end_rule(context, :Examples);
1633
1819
  end_rule(context, :ExamplesDefinition);
@@ -1638,6 +1824,7 @@ module Gherkin
1638
1824
  end
1639
1825
  end
1640
1826
  if match_TagLine(context, token)
1827
+ if lookahead_0(context, token)
1641
1828
  end_rule(context, :ExamplesTable);
1642
1829
  end_rule(context, :Examples);
1643
1830
  end_rule(context, :ExamplesDefinition);
@@ -1647,6 +1834,19 @@ module Gherkin
1647
1834
  start_rule(context, :Tags);
1648
1835
  build(context, token);
1649
1836
  return 11
1837
+ end
1838
+ end
1839
+ if match_TagLine(context, token)
1840
+ end_rule(context, :ExamplesTable);
1841
+ end_rule(context, :Examples);
1842
+ end_rule(context, :ExamplesDefinition);
1843
+ end_rule(context, :Scenario);
1844
+ end_rule(context, :ScenarioDefinition);
1845
+ start_rule(context, :Rule);
1846
+ start_rule(context, :RuleHeader);
1847
+ start_rule(context, :Tags);
1848
+ build(context, token);
1849
+ return 22
1650
1850
  end
1651
1851
  if match_ExamplesLine(context, token)
1652
1852
  end_rule(context, :ExamplesTable);
@@ -1677,7 +1877,7 @@ module Gherkin
1677
1877
  start_rule(context, :Rule);
1678
1878
  start_rule(context, :RuleHeader);
1679
1879
  build(context, token);
1680
- return 22
1880
+ return 23
1681
1881
  end
1682
1882
  if match_Comment(context, token)
1683
1883
  build(context, token);
@@ -1697,42 +1897,82 @@ module Gherkin
1697
1897
  return 21
1698
1898
  end
1699
1899
 
1700
- # GherkinDocument:0>Feature:3>Rule:0>RuleHeader:0>#RuleLine:0
1900
+ # GherkinDocument:0>Feature:3>Rule:0>RuleHeader:0>Tags:0>#TagLine:0
1701
1901
  def match_token_at_22(token, context)
1902
+ if match_TagLine(context, token)
1903
+ build(context, token);
1904
+ return 22
1905
+ end
1906
+ if match_RuleLine(context, token)
1907
+ end_rule(context, :Tags);
1908
+ build(context, token);
1909
+ return 23
1910
+ end
1911
+ if match_Comment(context, token)
1912
+ build(context, token);
1913
+ return 22
1914
+ end
1915
+ if match_Empty(context, token)
1916
+ build(context, token);
1917
+ return 22
1918
+ end
1919
+
1920
+ state_comment = "State: 22 - GherkinDocument:0>Feature:3>Rule:0>RuleHeader:0>Tags:0>#TagLine:0"
1921
+ token.detach
1922
+ expected_tokens = ["#TagLine", "#RuleLine", "#Comment", "#Empty"]
1923
+ error = token.eof? ? UnexpectedEOFException.new(token, expected_tokens, state_comment) : UnexpectedTokenException.new(token, expected_tokens, state_comment)
1924
+ raise error if (stop_at_first_error)
1925
+ add_error(context, error)
1926
+ return 22
1927
+ end
1928
+
1929
+ # GherkinDocument:0>Feature:3>Rule:0>RuleHeader:1>#RuleLine:0
1930
+ def match_token_at_23(token, context)
1702
1931
  if match_EOF(context, token)
1703
1932
  end_rule(context, :RuleHeader);
1704
1933
  end_rule(context, :Rule);
1705
1934
  end_rule(context, :Feature);
1706
1935
  build(context, token);
1707
- return 41
1936
+ return 42
1708
1937
  end
1709
1938
  if match_Empty(context, token)
1710
1939
  build(context, token);
1711
- return 22
1940
+ return 23
1712
1941
  end
1713
1942
  if match_Comment(context, token)
1714
1943
  build(context, token);
1715
- return 24
1944
+ return 25
1716
1945
  end
1717
1946
  if match_BackgroundLine(context, token)
1718
1947
  end_rule(context, :RuleHeader);
1719
1948
  start_rule(context, :Background);
1720
1949
  build(context, token);
1721
- return 25
1950
+ return 26
1722
1951
  end
1723
1952
  if match_TagLine(context, token)
1953
+ if lookahead_0(context, token)
1724
1954
  end_rule(context, :RuleHeader);
1725
1955
  start_rule(context, :ScenarioDefinition);
1726
1956
  start_rule(context, :Tags);
1727
1957
  build(context, token);
1728
- return 30
1958
+ return 31
1959
+ end
1960
+ end
1961
+ if match_TagLine(context, token)
1962
+ end_rule(context, :RuleHeader);
1963
+ end_rule(context, :Rule);
1964
+ start_rule(context, :Rule);
1965
+ start_rule(context, :RuleHeader);
1966
+ start_rule(context, :Tags);
1967
+ build(context, token);
1968
+ return 22
1729
1969
  end
1730
1970
  if match_ScenarioLine(context, token)
1731
1971
  end_rule(context, :RuleHeader);
1732
1972
  start_rule(context, :ScenarioDefinition);
1733
1973
  start_rule(context, :Scenario);
1734
1974
  build(context, token);
1735
- return 31
1975
+ return 32
1736
1976
  end
1737
1977
  if match_RuleLine(context, token)
1738
1978
  end_rule(context, :RuleHeader);
@@ -1740,52 +1980,64 @@ module Gherkin
1740
1980
  start_rule(context, :Rule);
1741
1981
  start_rule(context, :RuleHeader);
1742
1982
  build(context, token);
1743
- return 22
1983
+ return 23
1744
1984
  end
1745
1985
  if match_Other(context, token)
1746
1986
  start_rule(context, :Description);
1747
1987
  build(context, token);
1748
- return 23
1988
+ return 24
1749
1989
  end
1750
1990
 
1751
- state_comment = "State: 22 - GherkinDocument:0>Feature:3>Rule:0>RuleHeader:0>#RuleLine:0"
1991
+ state_comment = "State: 23 - GherkinDocument:0>Feature:3>Rule:0>RuleHeader:1>#RuleLine:0"
1752
1992
  token.detach
1753
1993
  expected_tokens = ["#EOF", "#Empty", "#Comment", "#BackgroundLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Other"]
1754
1994
  error = token.eof? ? UnexpectedEOFException.new(token, expected_tokens, state_comment) : UnexpectedTokenException.new(token, expected_tokens, state_comment)
1755
1995
  raise error if (stop_at_first_error)
1756
1996
  add_error(context, error)
1757
- return 22
1997
+ return 23
1758
1998
  end
1759
1999
 
1760
- # GherkinDocument:0>Feature:3>Rule:0>RuleHeader:1>DescriptionHelper:1>Description:0>#Other:0
1761
- def match_token_at_23(token, context)
2000
+ # GherkinDocument:0>Feature:3>Rule:0>RuleHeader:2>DescriptionHelper:1>Description:0>#Other:0
2001
+ def match_token_at_24(token, context)
1762
2002
  if match_EOF(context, token)
1763
2003
  end_rule(context, :Description);
1764
2004
  end_rule(context, :RuleHeader);
1765
2005
  end_rule(context, :Rule);
1766
2006
  end_rule(context, :Feature);
1767
2007
  build(context, token);
1768
- return 41
2008
+ return 42
1769
2009
  end
1770
2010
  if match_Comment(context, token)
1771
2011
  end_rule(context, :Description);
1772
2012
  build(context, token);
1773
- return 24
2013
+ return 25
1774
2014
  end
1775
2015
  if match_BackgroundLine(context, token)
1776
2016
  end_rule(context, :Description);
1777
2017
  end_rule(context, :RuleHeader);
1778
2018
  start_rule(context, :Background);
1779
2019
  build(context, token);
1780
- return 25
2020
+ return 26
1781
2021
  end
1782
2022
  if match_TagLine(context, token)
2023
+ if lookahead_0(context, token)
1783
2024
  end_rule(context, :Description);
1784
2025
  end_rule(context, :RuleHeader);
1785
2026
  start_rule(context, :ScenarioDefinition);
1786
2027
  start_rule(context, :Tags);
1787
2028
  build(context, token);
1788
- return 30
2029
+ return 31
2030
+ end
2031
+ end
2032
+ if match_TagLine(context, token)
2033
+ end_rule(context, :Description);
2034
+ end_rule(context, :RuleHeader);
2035
+ end_rule(context, :Rule);
2036
+ start_rule(context, :Rule);
2037
+ start_rule(context, :RuleHeader);
2038
+ start_rule(context, :Tags);
2039
+ build(context, token);
2040
+ return 22
1789
2041
  end
1790
2042
  if match_ScenarioLine(context, token)
1791
2043
  end_rule(context, :Description);
@@ -1793,7 +2045,7 @@ module Gherkin
1793
2045
  start_rule(context, :ScenarioDefinition);
1794
2046
  start_rule(context, :Scenario);
1795
2047
  build(context, token);
1796
- return 31
2048
+ return 32
1797
2049
  end
1798
2050
  if match_RuleLine(context, token)
1799
2051
  end_rule(context, :Description);
@@ -1802,54 +2054,65 @@ module Gherkin
1802
2054
  start_rule(context, :Rule);
1803
2055
  start_rule(context, :RuleHeader);
1804
2056
  build(context, token);
1805
- return 22
2057
+ return 23
1806
2058
  end
1807
2059
  if match_Other(context, token)
1808
2060
  build(context, token);
1809
- return 23
2061
+ return 24
1810
2062
  end
1811
2063
 
1812
- state_comment = "State: 23 - GherkinDocument:0>Feature:3>Rule:0>RuleHeader:1>DescriptionHelper:1>Description:0>#Other:0"
2064
+ state_comment = "State: 24 - GherkinDocument:0>Feature:3>Rule:0>RuleHeader:2>DescriptionHelper:1>Description:0>#Other:0"
1813
2065
  token.detach
1814
2066
  expected_tokens = ["#EOF", "#Comment", "#BackgroundLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Other"]
1815
2067
  error = token.eof? ? UnexpectedEOFException.new(token, expected_tokens, state_comment) : UnexpectedTokenException.new(token, expected_tokens, state_comment)
1816
2068
  raise error if (stop_at_first_error)
1817
2069
  add_error(context, error)
1818
- return 23
2070
+ return 24
1819
2071
  end
1820
2072
 
1821
- # GherkinDocument:0>Feature:3>Rule:0>RuleHeader:1>DescriptionHelper:2>#Comment:0
1822
- def match_token_at_24(token, context)
2073
+ # GherkinDocument:0>Feature:3>Rule:0>RuleHeader:2>DescriptionHelper:2>#Comment:0
2074
+ def match_token_at_25(token, context)
1823
2075
  if match_EOF(context, token)
1824
2076
  end_rule(context, :RuleHeader);
1825
2077
  end_rule(context, :Rule);
1826
2078
  end_rule(context, :Feature);
1827
2079
  build(context, token);
1828
- return 41
2080
+ return 42
1829
2081
  end
1830
2082
  if match_Comment(context, token)
1831
2083
  build(context, token);
1832
- return 24
2084
+ return 25
1833
2085
  end
1834
2086
  if match_BackgroundLine(context, token)
1835
2087
  end_rule(context, :RuleHeader);
1836
2088
  start_rule(context, :Background);
1837
2089
  build(context, token);
1838
- return 25
2090
+ return 26
1839
2091
  end
1840
2092
  if match_TagLine(context, token)
2093
+ if lookahead_0(context, token)
1841
2094
  end_rule(context, :RuleHeader);
1842
2095
  start_rule(context, :ScenarioDefinition);
1843
2096
  start_rule(context, :Tags);
1844
2097
  build(context, token);
1845
- return 30
2098
+ return 31
2099
+ end
2100
+ end
2101
+ if match_TagLine(context, token)
2102
+ end_rule(context, :RuleHeader);
2103
+ end_rule(context, :Rule);
2104
+ start_rule(context, :Rule);
2105
+ start_rule(context, :RuleHeader);
2106
+ start_rule(context, :Tags);
2107
+ build(context, token);
2108
+ return 22
1846
2109
  end
1847
2110
  if match_ScenarioLine(context, token)
1848
2111
  end_rule(context, :RuleHeader);
1849
2112
  start_rule(context, :ScenarioDefinition);
1850
2113
  start_rule(context, :Scenario);
1851
2114
  build(context, token);
1852
- return 31
2115
+ return 32
1853
2116
  end
1854
2117
  if match_RuleLine(context, token)
1855
2118
  end_rule(context, :RuleHeader);
@@ -1857,57 +2120,68 @@ module Gherkin
1857
2120
  start_rule(context, :Rule);
1858
2121
  start_rule(context, :RuleHeader);
1859
2122
  build(context, token);
1860
- return 22
2123
+ return 23
1861
2124
  end
1862
2125
  if match_Empty(context, token)
1863
2126
  build(context, token);
1864
- return 24
2127
+ return 25
1865
2128
  end
1866
2129
 
1867
- state_comment = "State: 24 - GherkinDocument:0>Feature:3>Rule:0>RuleHeader:1>DescriptionHelper:2>#Comment:0"
2130
+ state_comment = "State: 25 - GherkinDocument:0>Feature:3>Rule:0>RuleHeader:2>DescriptionHelper:2>#Comment:0"
1868
2131
  token.detach
1869
2132
  expected_tokens = ["#EOF", "#Comment", "#BackgroundLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Empty"]
1870
2133
  error = token.eof? ? UnexpectedEOFException.new(token, expected_tokens, state_comment) : UnexpectedTokenException.new(token, expected_tokens, state_comment)
1871
2134
  raise error if (stop_at_first_error)
1872
2135
  add_error(context, error)
1873
- return 24
2136
+ return 25
1874
2137
  end
1875
2138
 
1876
2139
  # GherkinDocument:0>Feature:3>Rule:1>Background:0>#BackgroundLine:0
1877
- def match_token_at_25(token, context)
2140
+ def match_token_at_26(token, context)
1878
2141
  if match_EOF(context, token)
1879
2142
  end_rule(context, :Background);
1880
2143
  end_rule(context, :Rule);
1881
2144
  end_rule(context, :Feature);
1882
2145
  build(context, token);
1883
- return 41
2146
+ return 42
1884
2147
  end
1885
2148
  if match_Empty(context, token)
1886
2149
  build(context, token);
1887
- return 25
2150
+ return 26
1888
2151
  end
1889
2152
  if match_Comment(context, token)
1890
2153
  build(context, token);
1891
- return 27
2154
+ return 28
1892
2155
  end
1893
2156
  if match_StepLine(context, token)
1894
2157
  start_rule(context, :Step);
1895
2158
  build(context, token);
1896
- return 28
2159
+ return 29
1897
2160
  end
1898
2161
  if match_TagLine(context, token)
2162
+ if lookahead_0(context, token)
1899
2163
  end_rule(context, :Background);
1900
2164
  start_rule(context, :ScenarioDefinition);
1901
2165
  start_rule(context, :Tags);
1902
2166
  build(context, token);
1903
- return 30
2167
+ return 31
2168
+ end
2169
+ end
2170
+ if match_TagLine(context, token)
2171
+ end_rule(context, :Background);
2172
+ end_rule(context, :Rule);
2173
+ start_rule(context, :Rule);
2174
+ start_rule(context, :RuleHeader);
2175
+ start_rule(context, :Tags);
2176
+ build(context, token);
2177
+ return 22
1904
2178
  end
1905
2179
  if match_ScenarioLine(context, token)
1906
2180
  end_rule(context, :Background);
1907
2181
  start_rule(context, :ScenarioDefinition);
1908
2182
  start_rule(context, :Scenario);
1909
2183
  build(context, token);
1910
- return 31
2184
+ return 32
1911
2185
  end
1912
2186
  if match_RuleLine(context, token)
1913
2187
  end_rule(context, :Background);
@@ -1915,51 +2189,63 @@ module Gherkin
1915
2189
  start_rule(context, :Rule);
1916
2190
  start_rule(context, :RuleHeader);
1917
2191
  build(context, token);
1918
- return 22
2192
+ return 23
1919
2193
  end
1920
2194
  if match_Other(context, token)
1921
2195
  start_rule(context, :Description);
1922
2196
  build(context, token);
1923
- return 26
2197
+ return 27
1924
2198
  end
1925
2199
 
1926
- state_comment = "State: 25 - GherkinDocument:0>Feature:3>Rule:1>Background:0>#BackgroundLine:0"
2200
+ state_comment = "State: 26 - GherkinDocument:0>Feature:3>Rule:1>Background:0>#BackgroundLine:0"
1927
2201
  token.detach
1928
2202
  expected_tokens = ["#EOF", "#Empty", "#Comment", "#StepLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Other"]
1929
2203
  error = token.eof? ? UnexpectedEOFException.new(token, expected_tokens, state_comment) : UnexpectedTokenException.new(token, expected_tokens, state_comment)
1930
2204
  raise error if (stop_at_first_error)
1931
2205
  add_error(context, error)
1932
- return 25
2206
+ return 26
1933
2207
  end
1934
2208
 
1935
2209
  # GherkinDocument:0>Feature:3>Rule:1>Background:1>DescriptionHelper:1>Description:0>#Other:0
1936
- def match_token_at_26(token, context)
2210
+ def match_token_at_27(token, context)
1937
2211
  if match_EOF(context, token)
1938
2212
  end_rule(context, :Description);
1939
2213
  end_rule(context, :Background);
1940
2214
  end_rule(context, :Rule);
1941
2215
  end_rule(context, :Feature);
1942
2216
  build(context, token);
1943
- return 41
2217
+ return 42
1944
2218
  end
1945
2219
  if match_Comment(context, token)
1946
2220
  end_rule(context, :Description);
1947
2221
  build(context, token);
1948
- return 27
2222
+ return 28
1949
2223
  end
1950
2224
  if match_StepLine(context, token)
1951
2225
  end_rule(context, :Description);
1952
2226
  start_rule(context, :Step);
1953
2227
  build(context, token);
1954
- return 28
2228
+ return 29
1955
2229
  end
1956
2230
  if match_TagLine(context, token)
2231
+ if lookahead_0(context, token)
1957
2232
  end_rule(context, :Description);
1958
2233
  end_rule(context, :Background);
1959
2234
  start_rule(context, :ScenarioDefinition);
1960
2235
  start_rule(context, :Tags);
1961
2236
  build(context, token);
1962
- return 30
2237
+ return 31
2238
+ end
2239
+ end
2240
+ if match_TagLine(context, token)
2241
+ end_rule(context, :Description);
2242
+ end_rule(context, :Background);
2243
+ end_rule(context, :Rule);
2244
+ start_rule(context, :Rule);
2245
+ start_rule(context, :RuleHeader);
2246
+ start_rule(context, :Tags);
2247
+ build(context, token);
2248
+ return 22
1963
2249
  end
1964
2250
  if match_ScenarioLine(context, token)
1965
2251
  end_rule(context, :Description);
@@ -1967,7 +2253,7 @@ module Gherkin
1967
2253
  start_rule(context, :ScenarioDefinition);
1968
2254
  start_rule(context, :Scenario);
1969
2255
  build(context, token);
1970
- return 31
2256
+ return 32
1971
2257
  end
1972
2258
  if match_RuleLine(context, token)
1973
2259
  end_rule(context, :Description);
@@ -1976,53 +2262,64 @@ module Gherkin
1976
2262
  start_rule(context, :Rule);
1977
2263
  start_rule(context, :RuleHeader);
1978
2264
  build(context, token);
1979
- return 22
2265
+ return 23
1980
2266
  end
1981
2267
  if match_Other(context, token)
1982
2268
  build(context, token);
1983
- return 26
2269
+ return 27
1984
2270
  end
1985
2271
 
1986
- state_comment = "State: 26 - GherkinDocument:0>Feature:3>Rule:1>Background:1>DescriptionHelper:1>Description:0>#Other:0"
2272
+ state_comment = "State: 27 - GherkinDocument:0>Feature:3>Rule:1>Background:1>DescriptionHelper:1>Description:0>#Other:0"
1987
2273
  token.detach
1988
2274
  expected_tokens = ["#EOF", "#Comment", "#StepLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Other"]
1989
2275
  error = token.eof? ? UnexpectedEOFException.new(token, expected_tokens, state_comment) : UnexpectedTokenException.new(token, expected_tokens, state_comment)
1990
2276
  raise error if (stop_at_first_error)
1991
2277
  add_error(context, error)
1992
- return 26
2278
+ return 27
1993
2279
  end
1994
2280
 
1995
2281
  # GherkinDocument:0>Feature:3>Rule:1>Background:1>DescriptionHelper:2>#Comment:0
1996
- def match_token_at_27(token, context)
2282
+ def match_token_at_28(token, context)
1997
2283
  if match_EOF(context, token)
1998
2284
  end_rule(context, :Background);
1999
2285
  end_rule(context, :Rule);
2000
2286
  end_rule(context, :Feature);
2001
2287
  build(context, token);
2002
- return 41
2288
+ return 42
2003
2289
  end
2004
2290
  if match_Comment(context, token)
2005
2291
  build(context, token);
2006
- return 27
2292
+ return 28
2007
2293
  end
2008
2294
  if match_StepLine(context, token)
2009
2295
  start_rule(context, :Step);
2010
2296
  build(context, token);
2011
- return 28
2297
+ return 29
2012
2298
  end
2013
2299
  if match_TagLine(context, token)
2300
+ if lookahead_0(context, token)
2014
2301
  end_rule(context, :Background);
2015
2302
  start_rule(context, :ScenarioDefinition);
2016
2303
  start_rule(context, :Tags);
2017
2304
  build(context, token);
2018
- return 30
2305
+ return 31
2306
+ end
2307
+ end
2308
+ if match_TagLine(context, token)
2309
+ end_rule(context, :Background);
2310
+ end_rule(context, :Rule);
2311
+ start_rule(context, :Rule);
2312
+ start_rule(context, :RuleHeader);
2313
+ start_rule(context, :Tags);
2314
+ build(context, token);
2315
+ return 22
2019
2316
  end
2020
2317
  if match_ScenarioLine(context, token)
2021
2318
  end_rule(context, :Background);
2022
2319
  start_rule(context, :ScenarioDefinition);
2023
2320
  start_rule(context, :Scenario);
2024
2321
  build(context, token);
2025
- return 31
2322
+ return 32
2026
2323
  end
2027
2324
  if match_RuleLine(context, token)
2028
2325
  end_rule(context, :Background);
@@ -2030,55 +2327,67 @@ module Gherkin
2030
2327
  start_rule(context, :Rule);
2031
2328
  start_rule(context, :RuleHeader);
2032
2329
  build(context, token);
2033
- return 22
2330
+ return 23
2034
2331
  end
2035
2332
  if match_Empty(context, token)
2036
2333
  build(context, token);
2037
- return 27
2334
+ return 28
2038
2335
  end
2039
2336
 
2040
- state_comment = "State: 27 - GherkinDocument:0>Feature:3>Rule:1>Background:1>DescriptionHelper:2>#Comment:0"
2337
+ state_comment = "State: 28 - GherkinDocument:0>Feature:3>Rule:1>Background:1>DescriptionHelper:2>#Comment:0"
2041
2338
  token.detach
2042
2339
  expected_tokens = ["#EOF", "#Comment", "#StepLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Empty"]
2043
2340
  error = token.eof? ? UnexpectedEOFException.new(token, expected_tokens, state_comment) : UnexpectedTokenException.new(token, expected_tokens, state_comment)
2044
2341
  raise error if (stop_at_first_error)
2045
2342
  add_error(context, error)
2046
- return 27
2343
+ return 28
2047
2344
  end
2048
2345
 
2049
2346
  # GherkinDocument:0>Feature:3>Rule:1>Background:2>Step:0>#StepLine:0
2050
- def match_token_at_28(token, context)
2347
+ def match_token_at_29(token, context)
2051
2348
  if match_EOF(context, token)
2052
2349
  end_rule(context, :Step);
2053
2350
  end_rule(context, :Background);
2054
2351
  end_rule(context, :Rule);
2055
2352
  end_rule(context, :Feature);
2056
2353
  build(context, token);
2057
- return 41
2354
+ return 42
2058
2355
  end
2059
2356
  if match_TableRow(context, token)
2060
2357
  start_rule(context, :DataTable);
2061
2358
  build(context, token);
2062
- return 29
2359
+ return 30
2063
2360
  end
2064
2361
  if match_DocStringSeparator(context, token)
2065
2362
  start_rule(context, :DocString);
2066
2363
  build(context, token);
2067
- return 44
2364
+ return 45
2068
2365
  end
2069
2366
  if match_StepLine(context, token)
2070
2367
  end_rule(context, :Step);
2071
2368
  start_rule(context, :Step);
2072
2369
  build(context, token);
2073
- return 28
2370
+ return 29
2074
2371
  end
2075
2372
  if match_TagLine(context, token)
2373
+ if lookahead_0(context, token)
2076
2374
  end_rule(context, :Step);
2077
2375
  end_rule(context, :Background);
2078
2376
  start_rule(context, :ScenarioDefinition);
2079
2377
  start_rule(context, :Tags);
2080
2378
  build(context, token);
2081
- return 30
2379
+ return 31
2380
+ end
2381
+ end
2382
+ if match_TagLine(context, token)
2383
+ end_rule(context, :Step);
2384
+ end_rule(context, :Background);
2385
+ end_rule(context, :Rule);
2386
+ start_rule(context, :Rule);
2387
+ start_rule(context, :RuleHeader);
2388
+ start_rule(context, :Tags);
2389
+ build(context, token);
2390
+ return 22
2082
2391
  end
2083
2392
  if match_ScenarioLine(context, token)
2084
2393
  end_rule(context, :Step);
@@ -2086,7 +2395,7 @@ module Gherkin
2086
2395
  start_rule(context, :ScenarioDefinition);
2087
2396
  start_rule(context, :Scenario);
2088
2397
  build(context, token);
2089
- return 31
2398
+ return 32
2090
2399
  end
2091
2400
  if match_RuleLine(context, token)
2092
2401
  end_rule(context, :Step);
@@ -2095,28 +2404,28 @@ module Gherkin
2095
2404
  start_rule(context, :Rule);
2096
2405
  start_rule(context, :RuleHeader);
2097
2406
  build(context, token);
2098
- return 22
2407
+ return 23
2099
2408
  end
2100
2409
  if match_Comment(context, token)
2101
2410
  build(context, token);
2102
- return 28
2411
+ return 29
2103
2412
  end
2104
2413
  if match_Empty(context, token)
2105
2414
  build(context, token);
2106
- return 28
2415
+ return 29
2107
2416
  end
2108
2417
 
2109
- state_comment = "State: 28 - GherkinDocument:0>Feature:3>Rule:1>Background:2>Step:0>#StepLine:0"
2418
+ state_comment = "State: 29 - GherkinDocument:0>Feature:3>Rule:1>Background:2>Step:0>#StepLine:0"
2110
2419
  token.detach
2111
2420
  expected_tokens = ["#EOF", "#TableRow", "#DocStringSeparator", "#StepLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty"]
2112
2421
  error = token.eof? ? UnexpectedEOFException.new(token, expected_tokens, state_comment) : UnexpectedTokenException.new(token, expected_tokens, state_comment)
2113
2422
  raise error if (stop_at_first_error)
2114
2423
  add_error(context, error)
2115
- return 28
2424
+ return 29
2116
2425
  end
2117
2426
 
2118
2427
  # GherkinDocument:0>Feature:3>Rule:1>Background:2>Step:1>StepArg:0>__alt0:0>DataTable:0>#TableRow:0
2119
- def match_token_at_29(token, context)
2428
+ def match_token_at_30(token, context)
2120
2429
  if match_EOF(context, token)
2121
2430
  end_rule(context, :DataTable);
2122
2431
  end_rule(context, :Step);
@@ -2124,27 +2433,40 @@ module Gherkin
2124
2433
  end_rule(context, :Rule);
2125
2434
  end_rule(context, :Feature);
2126
2435
  build(context, token);
2127
- return 41
2436
+ return 42
2128
2437
  end
2129
2438
  if match_TableRow(context, token)
2130
2439
  build(context, token);
2131
- return 29
2440
+ return 30
2132
2441
  end
2133
2442
  if match_StepLine(context, token)
2134
2443
  end_rule(context, :DataTable);
2135
2444
  end_rule(context, :Step);
2136
2445
  start_rule(context, :Step);
2137
2446
  build(context, token);
2138
- return 28
2447
+ return 29
2139
2448
  end
2140
2449
  if match_TagLine(context, token)
2450
+ if lookahead_0(context, token)
2141
2451
  end_rule(context, :DataTable);
2142
2452
  end_rule(context, :Step);
2143
2453
  end_rule(context, :Background);
2144
2454
  start_rule(context, :ScenarioDefinition);
2145
2455
  start_rule(context, :Tags);
2146
2456
  build(context, token);
2147
- return 30
2457
+ return 31
2458
+ end
2459
+ end
2460
+ if match_TagLine(context, token)
2461
+ end_rule(context, :DataTable);
2462
+ end_rule(context, :Step);
2463
+ end_rule(context, :Background);
2464
+ end_rule(context, :Rule);
2465
+ start_rule(context, :Rule);
2466
+ start_rule(context, :RuleHeader);
2467
+ start_rule(context, :Tags);
2468
+ build(context, token);
2469
+ return 22
2148
2470
  end
2149
2471
  if match_ScenarioLine(context, token)
2150
2472
  end_rule(context, :DataTable);
@@ -2153,7 +2475,7 @@ module Gherkin
2153
2475
  start_rule(context, :ScenarioDefinition);
2154
2476
  start_rule(context, :Scenario);
2155
2477
  build(context, token);
2156
- return 31
2478
+ return 32
2157
2479
  end
2158
2480
  if match_RuleLine(context, token)
2159
2481
  end_rule(context, :DataTable);
@@ -2163,100 +2485,112 @@ module Gherkin
2163
2485
  start_rule(context, :Rule);
2164
2486
  start_rule(context, :RuleHeader);
2165
2487
  build(context, token);
2166
- return 22
2488
+ return 23
2167
2489
  end
2168
2490
  if match_Comment(context, token)
2169
2491
  build(context, token);
2170
- return 29
2492
+ return 30
2171
2493
  end
2172
2494
  if match_Empty(context, token)
2173
2495
  build(context, token);
2174
- return 29
2496
+ return 30
2175
2497
  end
2176
2498
 
2177
- state_comment = "State: 29 - GherkinDocument:0>Feature:3>Rule:1>Background:2>Step:1>StepArg:0>__alt0:0>DataTable:0>#TableRow:0"
2499
+ state_comment = "State: 30 - GherkinDocument:0>Feature:3>Rule:1>Background:2>Step:1>StepArg:0>__alt0:0>DataTable:0>#TableRow:0"
2178
2500
  token.detach
2179
2501
  expected_tokens = ["#EOF", "#TableRow", "#StepLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty"]
2180
2502
  error = token.eof? ? UnexpectedEOFException.new(token, expected_tokens, state_comment) : UnexpectedTokenException.new(token, expected_tokens, state_comment)
2181
2503
  raise error if (stop_at_first_error)
2182
2504
  add_error(context, error)
2183
- return 29
2505
+ return 30
2184
2506
  end
2185
2507
 
2186
2508
  # GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:0>Tags:0>#TagLine:0
2187
- def match_token_at_30(token, context)
2509
+ def match_token_at_31(token, context)
2188
2510
  if match_TagLine(context, token)
2189
2511
  build(context, token);
2190
- return 30
2512
+ return 31
2191
2513
  end
2192
2514
  if match_ScenarioLine(context, token)
2193
2515
  end_rule(context, :Tags);
2194
2516
  start_rule(context, :Scenario);
2195
2517
  build(context, token);
2196
- return 31
2518
+ return 32
2197
2519
  end
2198
2520
  if match_Comment(context, token)
2199
2521
  build(context, token);
2200
- return 30
2522
+ return 31
2201
2523
  end
2202
2524
  if match_Empty(context, token)
2203
2525
  build(context, token);
2204
- return 30
2526
+ return 31
2205
2527
  end
2206
2528
 
2207
- state_comment = "State: 30 - GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:0>Tags:0>#TagLine:0"
2529
+ state_comment = "State: 31 - GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:0>Tags:0>#TagLine:0"
2208
2530
  token.detach
2209
2531
  expected_tokens = ["#TagLine", "#ScenarioLine", "#Comment", "#Empty"]
2210
2532
  error = token.eof? ? UnexpectedEOFException.new(token, expected_tokens, state_comment) : UnexpectedTokenException.new(token, expected_tokens, state_comment)
2211
2533
  raise error if (stop_at_first_error)
2212
2534
  add_error(context, error)
2213
- return 30
2535
+ return 31
2214
2536
  end
2215
2537
 
2216
2538
  # GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:0>#ScenarioLine:0
2217
- def match_token_at_31(token, context)
2539
+ def match_token_at_32(token, context)
2218
2540
  if match_EOF(context, token)
2219
2541
  end_rule(context, :Scenario);
2220
2542
  end_rule(context, :ScenarioDefinition);
2221
2543
  end_rule(context, :Rule);
2222
2544
  end_rule(context, :Feature);
2223
2545
  build(context, token);
2224
- return 41
2546
+ return 42
2225
2547
  end
2226
2548
  if match_Empty(context, token)
2227
2549
  build(context, token);
2228
- return 31
2550
+ return 32
2229
2551
  end
2230
2552
  if match_Comment(context, token)
2231
2553
  build(context, token);
2232
- return 33
2554
+ return 34
2233
2555
  end
2234
2556
  if match_StepLine(context, token)
2235
2557
  start_rule(context, :Step);
2236
2558
  build(context, token);
2237
- return 34
2559
+ return 35
2238
2560
  end
2239
2561
  if match_TagLine(context, token)
2240
- if lookahead_0(context, token)
2562
+ if lookahead_1(context, token)
2241
2563
  start_rule(context, :ExamplesDefinition);
2242
2564
  start_rule(context, :Tags);
2243
2565
  build(context, token);
2244
- return 36
2566
+ return 37
2245
2567
  end
2246
2568
  end
2247
2569
  if match_TagLine(context, token)
2570
+ if lookahead_0(context, token)
2248
2571
  end_rule(context, :Scenario);
2249
2572
  end_rule(context, :ScenarioDefinition);
2250
2573
  start_rule(context, :ScenarioDefinition);
2251
2574
  start_rule(context, :Tags);
2252
2575
  build(context, token);
2253
- return 30
2576
+ return 31
2577
+ end
2578
+ end
2579
+ if match_TagLine(context, token)
2580
+ end_rule(context, :Scenario);
2581
+ end_rule(context, :ScenarioDefinition);
2582
+ end_rule(context, :Rule);
2583
+ start_rule(context, :Rule);
2584
+ start_rule(context, :RuleHeader);
2585
+ start_rule(context, :Tags);
2586
+ build(context, token);
2587
+ return 22
2254
2588
  end
2255
2589
  if match_ExamplesLine(context, token)
2256
2590
  start_rule(context, :ExamplesDefinition);
2257
2591
  start_rule(context, :Examples);
2258
2592
  build(context, token);
2259
- return 37
2593
+ return 38
2260
2594
  end
2261
2595
  if match_ScenarioLine(context, token)
2262
2596
  end_rule(context, :Scenario);
@@ -2264,7 +2598,7 @@ module Gherkin
2264
2598
  start_rule(context, :ScenarioDefinition);
2265
2599
  start_rule(context, :Scenario);
2266
2600
  build(context, token);
2267
- return 31
2601
+ return 32
2268
2602
  end
2269
2603
  if match_RuleLine(context, token)
2270
2604
  end_rule(context, :Scenario);
@@ -2273,25 +2607,25 @@ module Gherkin
2273
2607
  start_rule(context, :Rule);
2274
2608
  start_rule(context, :RuleHeader);
2275
2609
  build(context, token);
2276
- return 22
2610
+ return 23
2277
2611
  end
2278
2612
  if match_Other(context, token)
2279
2613
  start_rule(context, :Description);
2280
2614
  build(context, token);
2281
- return 32
2615
+ return 33
2282
2616
  end
2283
2617
 
2284
- state_comment = "State: 31 - GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:0>#ScenarioLine:0"
2618
+ state_comment = "State: 32 - GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:0>#ScenarioLine:0"
2285
2619
  token.detach
2286
2620
  expected_tokens = ["#EOF", "#Empty", "#Comment", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Other"]
2287
2621
  error = token.eof? ? UnexpectedEOFException.new(token, expected_tokens, state_comment) : UnexpectedTokenException.new(token, expected_tokens, state_comment)
2288
2622
  raise error if (stop_at_first_error)
2289
2623
  add_error(context, error)
2290
- return 31
2624
+ return 32
2291
2625
  end
2292
2626
 
2293
2627
  # GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:1>DescriptionHelper:1>Description:0>#Other:0
2294
- def match_token_at_32(token, context)
2628
+ def match_token_at_33(token, context)
2295
2629
  if match_EOF(context, token)
2296
2630
  end_rule(context, :Description);
2297
2631
  end_rule(context, :Scenario);
@@ -2299,43 +2633,56 @@ module Gherkin
2299
2633
  end_rule(context, :Rule);
2300
2634
  end_rule(context, :Feature);
2301
2635
  build(context, token);
2302
- return 41
2636
+ return 42
2303
2637
  end
2304
2638
  if match_Comment(context, token)
2305
2639
  end_rule(context, :Description);
2306
2640
  build(context, token);
2307
- return 33
2641
+ return 34
2308
2642
  end
2309
2643
  if match_StepLine(context, token)
2310
2644
  end_rule(context, :Description);
2311
2645
  start_rule(context, :Step);
2312
2646
  build(context, token);
2313
- return 34
2647
+ return 35
2314
2648
  end
2315
2649
  if match_TagLine(context, token)
2316
- if lookahead_0(context, token)
2650
+ if lookahead_1(context, token)
2317
2651
  end_rule(context, :Description);
2318
2652
  start_rule(context, :ExamplesDefinition);
2319
2653
  start_rule(context, :Tags);
2320
2654
  build(context, token);
2321
- return 36
2655
+ return 37
2322
2656
  end
2323
2657
  end
2324
2658
  if match_TagLine(context, token)
2659
+ if lookahead_0(context, token)
2325
2660
  end_rule(context, :Description);
2326
2661
  end_rule(context, :Scenario);
2327
2662
  end_rule(context, :ScenarioDefinition);
2328
2663
  start_rule(context, :ScenarioDefinition);
2329
2664
  start_rule(context, :Tags);
2330
2665
  build(context, token);
2331
- return 30
2666
+ return 31
2667
+ end
2668
+ end
2669
+ if match_TagLine(context, token)
2670
+ end_rule(context, :Description);
2671
+ end_rule(context, :Scenario);
2672
+ end_rule(context, :ScenarioDefinition);
2673
+ end_rule(context, :Rule);
2674
+ start_rule(context, :Rule);
2675
+ start_rule(context, :RuleHeader);
2676
+ start_rule(context, :Tags);
2677
+ build(context, token);
2678
+ return 22
2332
2679
  end
2333
2680
  if match_ExamplesLine(context, token)
2334
2681
  end_rule(context, :Description);
2335
2682
  start_rule(context, :ExamplesDefinition);
2336
2683
  start_rule(context, :Examples);
2337
2684
  build(context, token);
2338
- return 37
2685
+ return 38
2339
2686
  end
2340
2687
  if match_ScenarioLine(context, token)
2341
2688
  end_rule(context, :Description);
@@ -2344,7 +2691,7 @@ module Gherkin
2344
2691
  start_rule(context, :ScenarioDefinition);
2345
2692
  start_rule(context, :Scenario);
2346
2693
  build(context, token);
2347
- return 31
2694
+ return 32
2348
2695
  end
2349
2696
  if match_RuleLine(context, token)
2350
2697
  end_rule(context, :Description);
@@ -2354,62 +2701,74 @@ module Gherkin
2354
2701
  start_rule(context, :Rule);
2355
2702
  start_rule(context, :RuleHeader);
2356
2703
  build(context, token);
2357
- return 22
2704
+ return 23
2358
2705
  end
2359
2706
  if match_Other(context, token)
2360
2707
  build(context, token);
2361
- return 32
2708
+ return 33
2362
2709
  end
2363
2710
 
2364
- state_comment = "State: 32 - GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:1>DescriptionHelper:1>Description:0>#Other:0"
2711
+ state_comment = "State: 33 - GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:1>DescriptionHelper:1>Description:0>#Other:0"
2365
2712
  token.detach
2366
2713
  expected_tokens = ["#EOF", "#Comment", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Other"]
2367
2714
  error = token.eof? ? UnexpectedEOFException.new(token, expected_tokens, state_comment) : UnexpectedTokenException.new(token, expected_tokens, state_comment)
2368
2715
  raise error if (stop_at_first_error)
2369
2716
  add_error(context, error)
2370
- return 32
2717
+ return 33
2371
2718
  end
2372
2719
 
2373
2720
  # GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:1>DescriptionHelper:2>#Comment:0
2374
- def match_token_at_33(token, context)
2721
+ def match_token_at_34(token, context)
2375
2722
  if match_EOF(context, token)
2376
2723
  end_rule(context, :Scenario);
2377
2724
  end_rule(context, :ScenarioDefinition);
2378
2725
  end_rule(context, :Rule);
2379
2726
  end_rule(context, :Feature);
2380
2727
  build(context, token);
2381
- return 41
2728
+ return 42
2382
2729
  end
2383
2730
  if match_Comment(context, token)
2384
2731
  build(context, token);
2385
- return 33
2732
+ return 34
2386
2733
  end
2387
2734
  if match_StepLine(context, token)
2388
2735
  start_rule(context, :Step);
2389
2736
  build(context, token);
2390
- return 34
2737
+ return 35
2391
2738
  end
2392
2739
  if match_TagLine(context, token)
2393
- if lookahead_0(context, token)
2740
+ if lookahead_1(context, token)
2394
2741
  start_rule(context, :ExamplesDefinition);
2395
2742
  start_rule(context, :Tags);
2396
2743
  build(context, token);
2397
- return 36
2744
+ return 37
2398
2745
  end
2399
2746
  end
2400
2747
  if match_TagLine(context, token)
2748
+ if lookahead_0(context, token)
2401
2749
  end_rule(context, :Scenario);
2402
2750
  end_rule(context, :ScenarioDefinition);
2403
2751
  start_rule(context, :ScenarioDefinition);
2404
2752
  start_rule(context, :Tags);
2405
2753
  build(context, token);
2406
- return 30
2754
+ return 31
2755
+ end
2756
+ end
2757
+ if match_TagLine(context, token)
2758
+ end_rule(context, :Scenario);
2759
+ end_rule(context, :ScenarioDefinition);
2760
+ end_rule(context, :Rule);
2761
+ start_rule(context, :Rule);
2762
+ start_rule(context, :RuleHeader);
2763
+ start_rule(context, :Tags);
2764
+ build(context, token);
2765
+ return 22
2407
2766
  end
2408
2767
  if match_ExamplesLine(context, token)
2409
2768
  start_rule(context, :ExamplesDefinition);
2410
2769
  start_rule(context, :Examples);
2411
2770
  build(context, token);
2412
- return 37
2771
+ return 38
2413
2772
  end
2414
2773
  if match_ScenarioLine(context, token)
2415
2774
  end_rule(context, :Scenario);
@@ -2417,7 +2776,7 @@ module Gherkin
2417
2776
  start_rule(context, :ScenarioDefinition);
2418
2777
  start_rule(context, :Scenario);
2419
2778
  build(context, token);
2420
- return 31
2779
+ return 32
2421
2780
  end
2422
2781
  if match_RuleLine(context, token)
2423
2782
  end_rule(context, :Scenario);
@@ -2426,24 +2785,24 @@ module Gherkin
2426
2785
  start_rule(context, :Rule);
2427
2786
  start_rule(context, :RuleHeader);
2428
2787
  build(context, token);
2429
- return 22
2788
+ return 23
2430
2789
  end
2431
2790
  if match_Empty(context, token)
2432
2791
  build(context, token);
2433
- return 33
2792
+ return 34
2434
2793
  end
2435
2794
 
2436
- state_comment = "State: 33 - GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:1>DescriptionHelper:2>#Comment:0"
2795
+ state_comment = "State: 34 - GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:1>DescriptionHelper:2>#Comment:0"
2437
2796
  token.detach
2438
2797
  expected_tokens = ["#EOF", "#Comment", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Empty"]
2439
2798
  error = token.eof? ? UnexpectedEOFException.new(token, expected_tokens, state_comment) : UnexpectedTokenException.new(token, expected_tokens, state_comment)
2440
2799
  raise error if (stop_at_first_error)
2441
2800
  add_error(context, error)
2442
- return 33
2801
+ return 34
2443
2802
  end
2444
2803
 
2445
2804
  # GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:2>Step:0>#StepLine:0
2446
- def match_token_at_34(token, context)
2805
+ def match_token_at_35(token, context)
2447
2806
  if match_EOF(context, token)
2448
2807
  end_rule(context, :Step);
2449
2808
  end_rule(context, :Scenario);
@@ -2451,48 +2810,61 @@ module Gherkin
2451
2810
  end_rule(context, :Rule);
2452
2811
  end_rule(context, :Feature);
2453
2812
  build(context, token);
2454
- return 41
2813
+ return 42
2455
2814
  end
2456
2815
  if match_TableRow(context, token)
2457
2816
  start_rule(context, :DataTable);
2458
2817
  build(context, token);
2459
- return 35
2818
+ return 36
2460
2819
  end
2461
2820
  if match_DocStringSeparator(context, token)
2462
2821
  start_rule(context, :DocString);
2463
2822
  build(context, token);
2464
- return 42
2823
+ return 43
2465
2824
  end
2466
2825
  if match_StepLine(context, token)
2467
2826
  end_rule(context, :Step);
2468
2827
  start_rule(context, :Step);
2469
2828
  build(context, token);
2470
- return 34
2829
+ return 35
2471
2830
  end
2472
2831
  if match_TagLine(context, token)
2473
- if lookahead_0(context, token)
2832
+ if lookahead_1(context, token)
2474
2833
  end_rule(context, :Step);
2475
2834
  start_rule(context, :ExamplesDefinition);
2476
2835
  start_rule(context, :Tags);
2477
2836
  build(context, token);
2478
- return 36
2837
+ return 37
2479
2838
  end
2480
2839
  end
2481
2840
  if match_TagLine(context, token)
2841
+ if lookahead_0(context, token)
2482
2842
  end_rule(context, :Step);
2483
2843
  end_rule(context, :Scenario);
2484
2844
  end_rule(context, :ScenarioDefinition);
2485
2845
  start_rule(context, :ScenarioDefinition);
2486
2846
  start_rule(context, :Tags);
2487
2847
  build(context, token);
2488
- return 30
2848
+ return 31
2849
+ end
2850
+ end
2851
+ if match_TagLine(context, token)
2852
+ end_rule(context, :Step);
2853
+ end_rule(context, :Scenario);
2854
+ end_rule(context, :ScenarioDefinition);
2855
+ end_rule(context, :Rule);
2856
+ start_rule(context, :Rule);
2857
+ start_rule(context, :RuleHeader);
2858
+ start_rule(context, :Tags);
2859
+ build(context, token);
2860
+ return 22
2489
2861
  end
2490
2862
  if match_ExamplesLine(context, token)
2491
2863
  end_rule(context, :Step);
2492
2864
  start_rule(context, :ExamplesDefinition);
2493
2865
  start_rule(context, :Examples);
2494
2866
  build(context, token);
2495
- return 37
2867
+ return 38
2496
2868
  end
2497
2869
  if match_ScenarioLine(context, token)
2498
2870
  end_rule(context, :Step);
@@ -2501,7 +2873,7 @@ module Gherkin
2501
2873
  start_rule(context, :ScenarioDefinition);
2502
2874
  start_rule(context, :Scenario);
2503
2875
  build(context, token);
2504
- return 31
2876
+ return 32
2505
2877
  end
2506
2878
  if match_RuleLine(context, token)
2507
2879
  end_rule(context, :Step);
@@ -2511,28 +2883,28 @@ module Gherkin
2511
2883
  start_rule(context, :Rule);
2512
2884
  start_rule(context, :RuleHeader);
2513
2885
  build(context, token);
2514
- return 22
2886
+ return 23
2515
2887
  end
2516
2888
  if match_Comment(context, token)
2517
2889
  build(context, token);
2518
- return 34
2890
+ return 35
2519
2891
  end
2520
2892
  if match_Empty(context, token)
2521
2893
  build(context, token);
2522
- return 34
2894
+ return 35
2523
2895
  end
2524
2896
 
2525
- state_comment = "State: 34 - GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:2>Step:0>#StepLine:0"
2897
+ state_comment = "State: 35 - GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:2>Step:0>#StepLine:0"
2526
2898
  token.detach
2527
2899
  expected_tokens = ["#EOF", "#TableRow", "#DocStringSeparator", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty"]
2528
2900
  error = token.eof? ? UnexpectedEOFException.new(token, expected_tokens, state_comment) : UnexpectedTokenException.new(token, expected_tokens, state_comment)
2529
2901
  raise error if (stop_at_first_error)
2530
2902
  add_error(context, error)
2531
- return 34
2903
+ return 35
2532
2904
  end
2533
2905
 
2534
2906
  # GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:2>Step:1>StepArg:0>__alt0:0>DataTable:0>#TableRow:0
2535
- def match_token_at_35(token, context)
2907
+ def match_token_at_36(token, context)
2536
2908
  if match_EOF(context, token)
2537
2909
  end_rule(context, :DataTable);
2538
2910
  end_rule(context, :Step);
@@ -2541,30 +2913,31 @@ module Gherkin
2541
2913
  end_rule(context, :Rule);
2542
2914
  end_rule(context, :Feature);
2543
2915
  build(context, token);
2544
- return 41
2916
+ return 42
2545
2917
  end
2546
2918
  if match_TableRow(context, token)
2547
2919
  build(context, token);
2548
- return 35
2920
+ return 36
2549
2921
  end
2550
2922
  if match_StepLine(context, token)
2551
2923
  end_rule(context, :DataTable);
2552
2924
  end_rule(context, :Step);
2553
2925
  start_rule(context, :Step);
2554
2926
  build(context, token);
2555
- return 34
2927
+ return 35
2556
2928
  end
2557
2929
  if match_TagLine(context, token)
2558
- if lookahead_0(context, token)
2930
+ if lookahead_1(context, token)
2559
2931
  end_rule(context, :DataTable);
2560
2932
  end_rule(context, :Step);
2561
2933
  start_rule(context, :ExamplesDefinition);
2562
2934
  start_rule(context, :Tags);
2563
2935
  build(context, token);
2564
- return 36
2936
+ return 37
2565
2937
  end
2566
2938
  end
2567
2939
  if match_TagLine(context, token)
2940
+ if lookahead_0(context, token)
2568
2941
  end_rule(context, :DataTable);
2569
2942
  end_rule(context, :Step);
2570
2943
  end_rule(context, :Scenario);
@@ -2572,7 +2945,20 @@ module Gherkin
2572
2945
  start_rule(context, :ScenarioDefinition);
2573
2946
  start_rule(context, :Tags);
2574
2947
  build(context, token);
2575
- return 30
2948
+ return 31
2949
+ end
2950
+ end
2951
+ if match_TagLine(context, token)
2952
+ end_rule(context, :DataTable);
2953
+ end_rule(context, :Step);
2954
+ end_rule(context, :Scenario);
2955
+ end_rule(context, :ScenarioDefinition);
2956
+ end_rule(context, :Rule);
2957
+ start_rule(context, :Rule);
2958
+ start_rule(context, :RuleHeader);
2959
+ start_rule(context, :Tags);
2960
+ build(context, token);
2961
+ return 22
2576
2962
  end
2577
2963
  if match_ExamplesLine(context, token)
2578
2964
  end_rule(context, :DataTable);
@@ -2580,7 +2966,7 @@ module Gherkin
2580
2966
  start_rule(context, :ExamplesDefinition);
2581
2967
  start_rule(context, :Examples);
2582
2968
  build(context, token);
2583
- return 37
2969
+ return 38
2584
2970
  end
2585
2971
  if match_ScenarioLine(context, token)
2586
2972
  end_rule(context, :DataTable);
@@ -2590,7 +2976,7 @@ module Gherkin
2590
2976
  start_rule(context, :ScenarioDefinition);
2591
2977
  start_rule(context, :Scenario);
2592
2978
  build(context, token);
2593
- return 31
2979
+ return 32
2594
2980
  end
2595
2981
  if match_RuleLine(context, token)
2596
2982
  end_rule(context, :DataTable);
@@ -2601,58 +2987,58 @@ module Gherkin
2601
2987
  start_rule(context, :Rule);
2602
2988
  start_rule(context, :RuleHeader);
2603
2989
  build(context, token);
2604
- return 22
2990
+ return 23
2605
2991
  end
2606
2992
  if match_Comment(context, token)
2607
2993
  build(context, token);
2608
- return 35
2994
+ return 36
2609
2995
  end
2610
2996
  if match_Empty(context, token)
2611
2997
  build(context, token);
2612
- return 35
2998
+ return 36
2613
2999
  end
2614
3000
 
2615
- state_comment = "State: 35 - GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:2>Step:1>StepArg:0>__alt0:0>DataTable:0>#TableRow:0"
3001
+ state_comment = "State: 36 - GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:2>Step:1>StepArg:0>__alt0:0>DataTable:0>#TableRow:0"
2616
3002
  token.detach
2617
3003
  expected_tokens = ["#EOF", "#TableRow", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty"]
2618
3004
  error = token.eof? ? UnexpectedEOFException.new(token, expected_tokens, state_comment) : UnexpectedTokenException.new(token, expected_tokens, state_comment)
2619
3005
  raise error if (stop_at_first_error)
2620
3006
  add_error(context, error)
2621
- return 35
3007
+ return 36
2622
3008
  end
2623
3009
 
2624
3010
  # GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:0>Tags:0>#TagLine:0
2625
- def match_token_at_36(token, context)
3011
+ def match_token_at_37(token, context)
2626
3012
  if match_TagLine(context, token)
2627
3013
  build(context, token);
2628
- return 36
3014
+ return 37
2629
3015
  end
2630
3016
  if match_ExamplesLine(context, token)
2631
3017
  end_rule(context, :Tags);
2632
3018
  start_rule(context, :Examples);
2633
3019
  build(context, token);
2634
- return 37
3020
+ return 38
2635
3021
  end
2636
3022
  if match_Comment(context, token)
2637
3023
  build(context, token);
2638
- return 36
3024
+ return 37
2639
3025
  end
2640
3026
  if match_Empty(context, token)
2641
3027
  build(context, token);
2642
- return 36
3028
+ return 37
2643
3029
  end
2644
3030
 
2645
- state_comment = "State: 36 - GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:0>Tags:0>#TagLine:0"
3031
+ state_comment = "State: 37 - GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:0>Tags:0>#TagLine:0"
2646
3032
  token.detach
2647
3033
  expected_tokens = ["#TagLine", "#ExamplesLine", "#Comment", "#Empty"]
2648
3034
  error = token.eof? ? UnexpectedEOFException.new(token, expected_tokens, state_comment) : UnexpectedTokenException.new(token, expected_tokens, state_comment)
2649
3035
  raise error if (stop_at_first_error)
2650
3036
  add_error(context, error)
2651
- return 36
3037
+ return 37
2652
3038
  end
2653
3039
 
2654
3040
  # GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:0>#ExamplesLine:0
2655
- def match_token_at_37(token, context)
3041
+ def match_token_at_38(token, context)
2656
3042
  if match_EOF(context, token)
2657
3043
  end_rule(context, :Examples);
2658
3044
  end_rule(context, :ExamplesDefinition);
@@ -2661,32 +3047,33 @@ module Gherkin
2661
3047
  end_rule(context, :Rule);
2662
3048
  end_rule(context, :Feature);
2663
3049
  build(context, token);
2664
- return 41
3050
+ return 42
2665
3051
  end
2666
3052
  if match_Empty(context, token)
2667
3053
  build(context, token);
2668
- return 37
3054
+ return 38
2669
3055
  end
2670
3056
  if match_Comment(context, token)
2671
3057
  build(context, token);
2672
- return 39
3058
+ return 40
2673
3059
  end
2674
3060
  if match_TableRow(context, token)
2675
3061
  start_rule(context, :ExamplesTable);
2676
3062
  build(context, token);
2677
- return 40
3063
+ return 41
2678
3064
  end
2679
3065
  if match_TagLine(context, token)
2680
- if lookahead_0(context, token)
3066
+ if lookahead_1(context, token)
2681
3067
  end_rule(context, :Examples);
2682
3068
  end_rule(context, :ExamplesDefinition);
2683
3069
  start_rule(context, :ExamplesDefinition);
2684
3070
  start_rule(context, :Tags);
2685
3071
  build(context, token);
2686
- return 36
3072
+ return 37
2687
3073
  end
2688
3074
  end
2689
3075
  if match_TagLine(context, token)
3076
+ if lookahead_0(context, token)
2690
3077
  end_rule(context, :Examples);
2691
3078
  end_rule(context, :ExamplesDefinition);
2692
3079
  end_rule(context, :Scenario);
@@ -2694,7 +3081,20 @@ module Gherkin
2694
3081
  start_rule(context, :ScenarioDefinition);
2695
3082
  start_rule(context, :Tags);
2696
3083
  build(context, token);
2697
- return 30
3084
+ return 31
3085
+ end
3086
+ end
3087
+ if match_TagLine(context, token)
3088
+ end_rule(context, :Examples);
3089
+ end_rule(context, :ExamplesDefinition);
3090
+ end_rule(context, :Scenario);
3091
+ end_rule(context, :ScenarioDefinition);
3092
+ end_rule(context, :Rule);
3093
+ start_rule(context, :Rule);
3094
+ start_rule(context, :RuleHeader);
3095
+ start_rule(context, :Tags);
3096
+ build(context, token);
3097
+ return 22
2698
3098
  end
2699
3099
  if match_ExamplesLine(context, token)
2700
3100
  end_rule(context, :Examples);
@@ -2702,7 +3102,7 @@ module Gherkin
2702
3102
  start_rule(context, :ExamplesDefinition);
2703
3103
  start_rule(context, :Examples);
2704
3104
  build(context, token);
2705
- return 37
3105
+ return 38
2706
3106
  end
2707
3107
  if match_ScenarioLine(context, token)
2708
3108
  end_rule(context, :Examples);
@@ -2712,7 +3112,7 @@ module Gherkin
2712
3112
  start_rule(context, :ScenarioDefinition);
2713
3113
  start_rule(context, :Scenario);
2714
3114
  build(context, token);
2715
- return 31
3115
+ return 32
2716
3116
  end
2717
3117
  if match_RuleLine(context, token)
2718
3118
  end_rule(context, :Examples);
@@ -2723,25 +3123,25 @@ module Gherkin
2723
3123
  start_rule(context, :Rule);
2724
3124
  start_rule(context, :RuleHeader);
2725
3125
  build(context, token);
2726
- return 22
3126
+ return 23
2727
3127
  end
2728
3128
  if match_Other(context, token)
2729
3129
  start_rule(context, :Description);
2730
3130
  build(context, token);
2731
- return 38
3131
+ return 39
2732
3132
  end
2733
3133
 
2734
- state_comment = "State: 37 - GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:0>#ExamplesLine:0"
3134
+ state_comment = "State: 38 - GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:0>#ExamplesLine:0"
2735
3135
  token.detach
2736
3136
  expected_tokens = ["#EOF", "#Empty", "#Comment", "#TableRow", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Other"]
2737
3137
  error = token.eof? ? UnexpectedEOFException.new(token, expected_tokens, state_comment) : UnexpectedTokenException.new(token, expected_tokens, state_comment)
2738
3138
  raise error if (stop_at_first_error)
2739
3139
  add_error(context, error)
2740
- return 37
3140
+ return 38
2741
3141
  end
2742
3142
 
2743
3143
  # GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:1>DescriptionHelper:1>Description:0>#Other:0
2744
- def match_token_at_38(token, context)
3144
+ def match_token_at_39(token, context)
2745
3145
  if match_EOF(context, token)
2746
3146
  end_rule(context, :Description);
2747
3147
  end_rule(context, :Examples);
@@ -2751,28 +3151,41 @@ module Gherkin
2751
3151
  end_rule(context, :Rule);
2752
3152
  end_rule(context, :Feature);
2753
3153
  build(context, token);
2754
- return 41
3154
+ return 42
2755
3155
  end
2756
3156
  if match_Comment(context, token)
2757
3157
  end_rule(context, :Description);
2758
3158
  build(context, token);
2759
- return 39
3159
+ return 40
2760
3160
  end
2761
3161
  if match_TableRow(context, token)
2762
3162
  end_rule(context, :Description);
2763
3163
  start_rule(context, :ExamplesTable);
2764
3164
  build(context, token);
2765
- return 40
3165
+ return 41
2766
3166
  end
2767
3167
  if match_TagLine(context, token)
2768
- if lookahead_0(context, token)
3168
+ if lookahead_1(context, token)
2769
3169
  end_rule(context, :Description);
2770
3170
  end_rule(context, :Examples);
2771
3171
  end_rule(context, :ExamplesDefinition);
2772
3172
  start_rule(context, :ExamplesDefinition);
2773
3173
  start_rule(context, :Tags);
2774
3174
  build(context, token);
2775
- return 36
3175
+ return 37
3176
+ end
3177
+ end
3178
+ if match_TagLine(context, token)
3179
+ if lookahead_0(context, token)
3180
+ end_rule(context, :Description);
3181
+ end_rule(context, :Examples);
3182
+ end_rule(context, :ExamplesDefinition);
3183
+ end_rule(context, :Scenario);
3184
+ end_rule(context, :ScenarioDefinition);
3185
+ start_rule(context, :ScenarioDefinition);
3186
+ start_rule(context, :Tags);
3187
+ build(context, token);
3188
+ return 31
2776
3189
  end
2777
3190
  end
2778
3191
  if match_TagLine(context, token)
@@ -2781,10 +3194,12 @@ module Gherkin
2781
3194
  end_rule(context, :ExamplesDefinition);
2782
3195
  end_rule(context, :Scenario);
2783
3196
  end_rule(context, :ScenarioDefinition);
2784
- start_rule(context, :ScenarioDefinition);
3197
+ end_rule(context, :Rule);
3198
+ start_rule(context, :Rule);
3199
+ start_rule(context, :RuleHeader);
2785
3200
  start_rule(context, :Tags);
2786
3201
  build(context, token);
2787
- return 30
3202
+ return 22
2788
3203
  end
2789
3204
  if match_ExamplesLine(context, token)
2790
3205
  end_rule(context, :Description);
@@ -2793,7 +3208,7 @@ module Gherkin
2793
3208
  start_rule(context, :ExamplesDefinition);
2794
3209
  start_rule(context, :Examples);
2795
3210
  build(context, token);
2796
- return 37
3211
+ return 38
2797
3212
  end
2798
3213
  if match_ScenarioLine(context, token)
2799
3214
  end_rule(context, :Description);
@@ -2804,7 +3219,7 @@ module Gherkin
2804
3219
  start_rule(context, :ScenarioDefinition);
2805
3220
  start_rule(context, :Scenario);
2806
3221
  build(context, token);
2807
- return 31
3222
+ return 32
2808
3223
  end
2809
3224
  if match_RuleLine(context, token)
2810
3225
  end_rule(context, :Description);
@@ -2816,24 +3231,24 @@ module Gherkin
2816
3231
  start_rule(context, :Rule);
2817
3232
  start_rule(context, :RuleHeader);
2818
3233
  build(context, token);
2819
- return 22
3234
+ return 23
2820
3235
  end
2821
3236
  if match_Other(context, token)
2822
3237
  build(context, token);
2823
- return 38
3238
+ return 39
2824
3239
  end
2825
3240
 
2826
- state_comment = "State: 38 - GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:1>DescriptionHelper:1>Description:0>#Other:0"
3241
+ state_comment = "State: 39 - GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:1>DescriptionHelper:1>Description:0>#Other:0"
2827
3242
  token.detach
2828
3243
  expected_tokens = ["#EOF", "#Comment", "#TableRow", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Other"]
2829
3244
  error = token.eof? ? UnexpectedEOFException.new(token, expected_tokens, state_comment) : UnexpectedTokenException.new(token, expected_tokens, state_comment)
2830
3245
  raise error if (stop_at_first_error)
2831
3246
  add_error(context, error)
2832
- return 38
3247
+ return 39
2833
3248
  end
2834
3249
 
2835
3250
  # GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:1>DescriptionHelper:2>#Comment:0
2836
- def match_token_at_39(token, context)
3251
+ def match_token_at_40(token, context)
2837
3252
  if match_EOF(context, token)
2838
3253
  end_rule(context, :Examples);
2839
3254
  end_rule(context, :ExamplesDefinition);
@@ -2842,28 +3257,29 @@ module Gherkin
2842
3257
  end_rule(context, :Rule);
2843
3258
  end_rule(context, :Feature);
2844
3259
  build(context, token);
2845
- return 41
3260
+ return 42
2846
3261
  end
2847
3262
  if match_Comment(context, token)
2848
3263
  build(context, token);
2849
- return 39
3264
+ return 40
2850
3265
  end
2851
3266
  if match_TableRow(context, token)
2852
3267
  start_rule(context, :ExamplesTable);
2853
3268
  build(context, token);
2854
- return 40
3269
+ return 41
2855
3270
  end
2856
3271
  if match_TagLine(context, token)
2857
- if lookahead_0(context, token)
3272
+ if lookahead_1(context, token)
2858
3273
  end_rule(context, :Examples);
2859
3274
  end_rule(context, :ExamplesDefinition);
2860
3275
  start_rule(context, :ExamplesDefinition);
2861
3276
  start_rule(context, :Tags);
2862
3277
  build(context, token);
2863
- return 36
3278
+ return 37
2864
3279
  end
2865
3280
  end
2866
3281
  if match_TagLine(context, token)
3282
+ if lookahead_0(context, token)
2867
3283
  end_rule(context, :Examples);
2868
3284
  end_rule(context, :ExamplesDefinition);
2869
3285
  end_rule(context, :Scenario);
@@ -2871,7 +3287,20 @@ module Gherkin
2871
3287
  start_rule(context, :ScenarioDefinition);
2872
3288
  start_rule(context, :Tags);
2873
3289
  build(context, token);
2874
- return 30
3290
+ return 31
3291
+ end
3292
+ end
3293
+ if match_TagLine(context, token)
3294
+ end_rule(context, :Examples);
3295
+ end_rule(context, :ExamplesDefinition);
3296
+ end_rule(context, :Scenario);
3297
+ end_rule(context, :ScenarioDefinition);
3298
+ end_rule(context, :Rule);
3299
+ start_rule(context, :Rule);
3300
+ start_rule(context, :RuleHeader);
3301
+ start_rule(context, :Tags);
3302
+ build(context, token);
3303
+ return 22
2875
3304
  end
2876
3305
  if match_ExamplesLine(context, token)
2877
3306
  end_rule(context, :Examples);
@@ -2879,7 +3308,7 @@ module Gherkin
2879
3308
  start_rule(context, :ExamplesDefinition);
2880
3309
  start_rule(context, :Examples);
2881
3310
  build(context, token);
2882
- return 37
3311
+ return 38
2883
3312
  end
2884
3313
  if match_ScenarioLine(context, token)
2885
3314
  end_rule(context, :Examples);
@@ -2889,7 +3318,7 @@ module Gherkin
2889
3318
  start_rule(context, :ScenarioDefinition);
2890
3319
  start_rule(context, :Scenario);
2891
3320
  build(context, token);
2892
- return 31
3321
+ return 32
2893
3322
  end
2894
3323
  if match_RuleLine(context, token)
2895
3324
  end_rule(context, :Examples);
@@ -2900,24 +3329,24 @@ module Gherkin
2900
3329
  start_rule(context, :Rule);
2901
3330
  start_rule(context, :RuleHeader);
2902
3331
  build(context, token);
2903
- return 22
3332
+ return 23
2904
3333
  end
2905
3334
  if match_Empty(context, token)
2906
3335
  build(context, token);
2907
- return 39
3336
+ return 40
2908
3337
  end
2909
3338
 
2910
- state_comment = "State: 39 - GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:1>DescriptionHelper:2>#Comment:0"
3339
+ state_comment = "State: 40 - GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:1>DescriptionHelper:2>#Comment:0"
2911
3340
  token.detach
2912
3341
  expected_tokens = ["#EOF", "#Comment", "#TableRow", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Empty"]
2913
3342
  error = token.eof? ? UnexpectedEOFException.new(token, expected_tokens, state_comment) : UnexpectedTokenException.new(token, expected_tokens, state_comment)
2914
3343
  raise error if (stop_at_first_error)
2915
3344
  add_error(context, error)
2916
- return 39
3345
+ return 40
2917
3346
  end
2918
3347
 
2919
3348
  # GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:2>ExamplesTable:0>#TableRow:0
2920
- def match_token_at_40(token, context)
3349
+ def match_token_at_41(token, context)
2921
3350
  if match_EOF(context, token)
2922
3351
  end_rule(context, :ExamplesTable);
2923
3352
  end_rule(context, :Examples);
@@ -2927,24 +3356,25 @@ module Gherkin
2927
3356
  end_rule(context, :Rule);
2928
3357
  end_rule(context, :Feature);
2929
3358
  build(context, token);
2930
- return 41
3359
+ return 42
2931
3360
  end
2932
3361
  if match_TableRow(context, token)
2933
3362
  build(context, token);
2934
- return 40
3363
+ return 41
2935
3364
  end
2936
3365
  if match_TagLine(context, token)
2937
- if lookahead_0(context, token)
3366
+ if lookahead_1(context, token)
2938
3367
  end_rule(context, :ExamplesTable);
2939
3368
  end_rule(context, :Examples);
2940
3369
  end_rule(context, :ExamplesDefinition);
2941
3370
  start_rule(context, :ExamplesDefinition);
2942
3371
  start_rule(context, :Tags);
2943
3372
  build(context, token);
2944
- return 36
3373
+ return 37
2945
3374
  end
2946
3375
  end
2947
3376
  if match_TagLine(context, token)
3377
+ if lookahead_0(context, token)
2948
3378
  end_rule(context, :ExamplesTable);
2949
3379
  end_rule(context, :Examples);
2950
3380
  end_rule(context, :ExamplesDefinition);
@@ -2953,7 +3383,21 @@ module Gherkin
2953
3383
  start_rule(context, :ScenarioDefinition);
2954
3384
  start_rule(context, :Tags);
2955
3385
  build(context, token);
2956
- return 30
3386
+ return 31
3387
+ end
3388
+ end
3389
+ if match_TagLine(context, token)
3390
+ end_rule(context, :ExamplesTable);
3391
+ end_rule(context, :Examples);
3392
+ end_rule(context, :ExamplesDefinition);
3393
+ end_rule(context, :Scenario);
3394
+ end_rule(context, :ScenarioDefinition);
3395
+ end_rule(context, :Rule);
3396
+ start_rule(context, :Rule);
3397
+ start_rule(context, :RuleHeader);
3398
+ start_rule(context, :Tags);
3399
+ build(context, token);
3400
+ return 22
2957
3401
  end
2958
3402
  if match_ExamplesLine(context, token)
2959
3403
  end_rule(context, :ExamplesTable);
@@ -2962,7 +3406,7 @@ module Gherkin
2962
3406
  start_rule(context, :ExamplesDefinition);
2963
3407
  start_rule(context, :Examples);
2964
3408
  build(context, token);
2965
- return 37
3409
+ return 38
2966
3410
  end
2967
3411
  if match_ScenarioLine(context, token)
2968
3412
  end_rule(context, :ExamplesTable);
@@ -2973,7 +3417,7 @@ module Gherkin
2973
3417
  start_rule(context, :ScenarioDefinition);
2974
3418
  start_rule(context, :Scenario);
2975
3419
  build(context, token);
2976
- return 31
3420
+ return 32
2977
3421
  end
2978
3422
  if match_RuleLine(context, token)
2979
3423
  end_rule(context, :ExamplesTable);
@@ -2985,48 +3429,48 @@ module Gherkin
2985
3429
  start_rule(context, :Rule);
2986
3430
  start_rule(context, :RuleHeader);
2987
3431
  build(context, token);
2988
- return 22
3432
+ return 23
2989
3433
  end
2990
3434
  if match_Comment(context, token)
2991
3435
  build(context, token);
2992
- return 40
3436
+ return 41
2993
3437
  end
2994
3438
  if match_Empty(context, token)
2995
3439
  build(context, token);
2996
- return 40
3440
+ return 41
2997
3441
  end
2998
3442
 
2999
- state_comment = "State: 40 - GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:2>ExamplesTable:0>#TableRow:0"
3443
+ state_comment = "State: 41 - GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:2>ExamplesTable:0>#TableRow:0"
3000
3444
  token.detach
3001
3445
  expected_tokens = ["#EOF", "#TableRow", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty"]
3002
3446
  error = token.eof? ? UnexpectedEOFException.new(token, expected_tokens, state_comment) : UnexpectedTokenException.new(token, expected_tokens, state_comment)
3003
3447
  raise error if (stop_at_first_error)
3004
3448
  add_error(context, error)
3005
- return 40
3449
+ return 41
3006
3450
  end
3007
3451
 
3008
3452
  # GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:2>Step:1>StepArg:0>__alt0:1>DocString:0>#DocStringSeparator:0
3009
- def match_token_at_42(token, context)
3453
+ def match_token_at_43(token, context)
3010
3454
  if match_DocStringSeparator(context, token)
3011
3455
  build(context, token);
3012
- return 43
3456
+ return 44
3013
3457
  end
3014
3458
  if match_Other(context, token)
3015
3459
  build(context, token);
3016
- return 42
3460
+ return 43
3017
3461
  end
3018
3462
 
3019
- state_comment = "State: 42 - GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:2>Step:1>StepArg:0>__alt0:1>DocString:0>#DocStringSeparator:0"
3463
+ state_comment = "State: 43 - GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:2>Step:1>StepArg:0>__alt0:1>DocString:0>#DocStringSeparator:0"
3020
3464
  token.detach
3021
3465
  expected_tokens = ["#DocStringSeparator", "#Other"]
3022
3466
  error = token.eof? ? UnexpectedEOFException.new(token, expected_tokens, state_comment) : UnexpectedTokenException.new(token, expected_tokens, state_comment)
3023
3467
  raise error if (stop_at_first_error)
3024
3468
  add_error(context, error)
3025
- return 42
3469
+ return 43
3026
3470
  end
3027
3471
 
3028
3472
  # GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:2>Step:1>StepArg:0>__alt0:1>DocString:2>#DocStringSeparator:0
3029
- def match_token_at_43(token, context)
3473
+ def match_token_at_44(token, context)
3030
3474
  if match_EOF(context, token)
3031
3475
  end_rule(context, :DocString);
3032
3476
  end_rule(context, :Step);
@@ -3035,26 +3479,27 @@ module Gherkin
3035
3479
  end_rule(context, :Rule);
3036
3480
  end_rule(context, :Feature);
3037
3481
  build(context, token);
3038
- return 41
3482
+ return 42
3039
3483
  end
3040
3484
  if match_StepLine(context, token)
3041
3485
  end_rule(context, :DocString);
3042
3486
  end_rule(context, :Step);
3043
3487
  start_rule(context, :Step);
3044
3488
  build(context, token);
3045
- return 34
3489
+ return 35
3046
3490
  end
3047
3491
  if match_TagLine(context, token)
3048
- if lookahead_0(context, token)
3492
+ if lookahead_1(context, token)
3049
3493
  end_rule(context, :DocString);
3050
3494
  end_rule(context, :Step);
3051
3495
  start_rule(context, :ExamplesDefinition);
3052
3496
  start_rule(context, :Tags);
3053
3497
  build(context, token);
3054
- return 36
3498
+ return 37
3055
3499
  end
3056
3500
  end
3057
3501
  if match_TagLine(context, token)
3502
+ if lookahead_0(context, token)
3058
3503
  end_rule(context, :DocString);
3059
3504
  end_rule(context, :Step);
3060
3505
  end_rule(context, :Scenario);
@@ -3062,7 +3507,20 @@ module Gherkin
3062
3507
  start_rule(context, :ScenarioDefinition);
3063
3508
  start_rule(context, :Tags);
3064
3509
  build(context, token);
3065
- return 30
3510
+ return 31
3511
+ end
3512
+ end
3513
+ if match_TagLine(context, token)
3514
+ end_rule(context, :DocString);
3515
+ end_rule(context, :Step);
3516
+ end_rule(context, :Scenario);
3517
+ end_rule(context, :ScenarioDefinition);
3518
+ end_rule(context, :Rule);
3519
+ start_rule(context, :Rule);
3520
+ start_rule(context, :RuleHeader);
3521
+ start_rule(context, :Tags);
3522
+ build(context, token);
3523
+ return 22
3066
3524
  end
3067
3525
  if match_ExamplesLine(context, token)
3068
3526
  end_rule(context, :DocString);
@@ -3070,7 +3528,7 @@ module Gherkin
3070
3528
  start_rule(context, :ExamplesDefinition);
3071
3529
  start_rule(context, :Examples);
3072
3530
  build(context, token);
3073
- return 37
3531
+ return 38
3074
3532
  end
3075
3533
  if match_ScenarioLine(context, token)
3076
3534
  end_rule(context, :DocString);
@@ -3080,7 +3538,7 @@ module Gherkin
3080
3538
  start_rule(context, :ScenarioDefinition);
3081
3539
  start_rule(context, :Scenario);
3082
3540
  build(context, token);
3083
- return 31
3541
+ return 32
3084
3542
  end
3085
3543
  if match_RuleLine(context, token)
3086
3544
  end_rule(context, :DocString);
@@ -3091,48 +3549,48 @@ module Gherkin
3091
3549
  start_rule(context, :Rule);
3092
3550
  start_rule(context, :RuleHeader);
3093
3551
  build(context, token);
3094
- return 22
3552
+ return 23
3095
3553
  end
3096
3554
  if match_Comment(context, token)
3097
3555
  build(context, token);
3098
- return 43
3556
+ return 44
3099
3557
  end
3100
3558
  if match_Empty(context, token)
3101
3559
  build(context, token);
3102
- return 43
3560
+ return 44
3103
3561
  end
3104
3562
 
3105
- state_comment = "State: 43 - GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:2>Step:1>StepArg:0>__alt0:1>DocString:2>#DocStringSeparator:0"
3563
+ state_comment = "State: 44 - GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:2>Step:1>StepArg:0>__alt0:1>DocString:2>#DocStringSeparator:0"
3106
3564
  token.detach
3107
3565
  expected_tokens = ["#EOF", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty"]
3108
3566
  error = token.eof? ? UnexpectedEOFException.new(token, expected_tokens, state_comment) : UnexpectedTokenException.new(token, expected_tokens, state_comment)
3109
3567
  raise error if (stop_at_first_error)
3110
3568
  add_error(context, error)
3111
- return 43
3569
+ return 44
3112
3570
  end
3113
3571
 
3114
3572
  # GherkinDocument:0>Feature:3>Rule:1>Background:2>Step:1>StepArg:0>__alt0:1>DocString:0>#DocStringSeparator:0
3115
- def match_token_at_44(token, context)
3573
+ def match_token_at_45(token, context)
3116
3574
  if match_DocStringSeparator(context, token)
3117
3575
  build(context, token);
3118
- return 45
3576
+ return 46
3119
3577
  end
3120
3578
  if match_Other(context, token)
3121
3579
  build(context, token);
3122
- return 44
3580
+ return 45
3123
3581
  end
3124
3582
 
3125
- state_comment = "State: 44 - GherkinDocument:0>Feature:3>Rule:1>Background:2>Step:1>StepArg:0>__alt0:1>DocString:0>#DocStringSeparator:0"
3583
+ state_comment = "State: 45 - GherkinDocument:0>Feature:3>Rule:1>Background:2>Step:1>StepArg:0>__alt0:1>DocString:0>#DocStringSeparator:0"
3126
3584
  token.detach
3127
3585
  expected_tokens = ["#DocStringSeparator", "#Other"]
3128
3586
  error = token.eof? ? UnexpectedEOFException.new(token, expected_tokens, state_comment) : UnexpectedTokenException.new(token, expected_tokens, state_comment)
3129
3587
  raise error if (stop_at_first_error)
3130
3588
  add_error(context, error)
3131
- return 44
3589
+ return 45
3132
3590
  end
3133
3591
 
3134
3592
  # GherkinDocument:0>Feature:3>Rule:1>Background:2>Step:1>StepArg:0>__alt0:1>DocString:2>#DocStringSeparator:0
3135
- def match_token_at_45(token, context)
3593
+ def match_token_at_46(token, context)
3136
3594
  if match_EOF(context, token)
3137
3595
  end_rule(context, :DocString);
3138
3596
  end_rule(context, :Step);
@@ -3140,23 +3598,36 @@ module Gherkin
3140
3598
  end_rule(context, :Rule);
3141
3599
  end_rule(context, :Feature);
3142
3600
  build(context, token);
3143
- return 41
3601
+ return 42
3144
3602
  end
3145
3603
  if match_StepLine(context, token)
3146
3604
  end_rule(context, :DocString);
3147
3605
  end_rule(context, :Step);
3148
3606
  start_rule(context, :Step);
3149
3607
  build(context, token);
3150
- return 28
3608
+ return 29
3151
3609
  end
3152
3610
  if match_TagLine(context, token)
3611
+ if lookahead_0(context, token)
3153
3612
  end_rule(context, :DocString);
3154
3613
  end_rule(context, :Step);
3155
3614
  end_rule(context, :Background);
3156
3615
  start_rule(context, :ScenarioDefinition);
3157
3616
  start_rule(context, :Tags);
3158
3617
  build(context, token);
3159
- return 30
3618
+ return 31
3619
+ end
3620
+ end
3621
+ if match_TagLine(context, token)
3622
+ end_rule(context, :DocString);
3623
+ end_rule(context, :Step);
3624
+ end_rule(context, :Background);
3625
+ end_rule(context, :Rule);
3626
+ start_rule(context, :Rule);
3627
+ start_rule(context, :RuleHeader);
3628
+ start_rule(context, :Tags);
3629
+ build(context, token);
3630
+ return 22
3160
3631
  end
3161
3632
  if match_ScenarioLine(context, token)
3162
3633
  end_rule(context, :DocString);
@@ -3165,7 +3636,7 @@ module Gherkin
3165
3636
  start_rule(context, :ScenarioDefinition);
3166
3637
  start_rule(context, :Scenario);
3167
3638
  build(context, token);
3168
- return 31
3639
+ return 32
3169
3640
  end
3170
3641
  if match_RuleLine(context, token)
3171
3642
  end_rule(context, :DocString);
@@ -3175,48 +3646,48 @@ module Gherkin
3175
3646
  start_rule(context, :Rule);
3176
3647
  start_rule(context, :RuleHeader);
3177
3648
  build(context, token);
3178
- return 22
3649
+ return 23
3179
3650
  end
3180
3651
  if match_Comment(context, token)
3181
3652
  build(context, token);
3182
- return 45
3653
+ return 46
3183
3654
  end
3184
3655
  if match_Empty(context, token)
3185
3656
  build(context, token);
3186
- return 45
3657
+ return 46
3187
3658
  end
3188
3659
 
3189
- state_comment = "State: 45 - GherkinDocument:0>Feature:3>Rule:1>Background:2>Step:1>StepArg:0>__alt0:1>DocString:2>#DocStringSeparator:0"
3660
+ state_comment = "State: 46 - GherkinDocument:0>Feature:3>Rule:1>Background:2>Step:1>StepArg:0>__alt0:1>DocString:2>#DocStringSeparator:0"
3190
3661
  token.detach
3191
3662
  expected_tokens = ["#EOF", "#StepLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty"]
3192
3663
  error = token.eof? ? UnexpectedEOFException.new(token, expected_tokens, state_comment) : UnexpectedTokenException.new(token, expected_tokens, state_comment)
3193
3664
  raise error if (stop_at_first_error)
3194
3665
  add_error(context, error)
3195
- return 45
3666
+ return 46
3196
3667
  end
3197
3668
 
3198
3669
  # GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:2>Step:1>StepArg:0>__alt0:1>DocString:0>#DocStringSeparator:0
3199
- def match_token_at_46(token, context)
3670
+ def match_token_at_47(token, context)
3200
3671
  if match_DocStringSeparator(context, token)
3201
3672
  build(context, token);
3202
- return 47
3673
+ return 48
3203
3674
  end
3204
3675
  if match_Other(context, token)
3205
3676
  build(context, token);
3206
- return 46
3677
+ return 47
3207
3678
  end
3208
3679
 
3209
- state_comment = "State: 46 - GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:2>Step:1>StepArg:0>__alt0:1>DocString:0>#DocStringSeparator:0"
3680
+ state_comment = "State: 47 - GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:2>Step:1>StepArg:0>__alt0:1>DocString:0>#DocStringSeparator:0"
3210
3681
  token.detach
3211
3682
  expected_tokens = ["#DocStringSeparator", "#Other"]
3212
3683
  error = token.eof? ? UnexpectedEOFException.new(token, expected_tokens, state_comment) : UnexpectedTokenException.new(token, expected_tokens, state_comment)
3213
3684
  raise error if (stop_at_first_error)
3214
3685
  add_error(context, error)
3215
- return 46
3686
+ return 47
3216
3687
  end
3217
3688
 
3218
3689
  # GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:2>Step:1>StepArg:0>__alt0:1>DocString:2>#DocStringSeparator:0
3219
- def match_token_at_47(token, context)
3690
+ def match_token_at_48(token, context)
3220
3691
  if match_EOF(context, token)
3221
3692
  end_rule(context, :DocString);
3222
3693
  end_rule(context, :Step);
@@ -3224,7 +3695,7 @@ module Gherkin
3224
3695
  end_rule(context, :ScenarioDefinition);
3225
3696
  end_rule(context, :Feature);
3226
3697
  build(context, token);
3227
- return 41
3698
+ return 42
3228
3699
  end
3229
3700
  if match_StepLine(context, token)
3230
3701
  end_rule(context, :DocString);
@@ -3234,7 +3705,7 @@ module Gherkin
3234
3705
  return 15
3235
3706
  end
3236
3707
  if match_TagLine(context, token)
3237
- if lookahead_0(context, token)
3708
+ if lookahead_1(context, token)
3238
3709
  end_rule(context, :DocString);
3239
3710
  end_rule(context, :Step);
3240
3711
  start_rule(context, :ExamplesDefinition);
@@ -3244,6 +3715,7 @@ module Gherkin
3244
3715
  end
3245
3716
  end
3246
3717
  if match_TagLine(context, token)
3718
+ if lookahead_0(context, token)
3247
3719
  end_rule(context, :DocString);
3248
3720
  end_rule(context, :Step);
3249
3721
  end_rule(context, :Scenario);
@@ -3252,6 +3724,18 @@ module Gherkin
3252
3724
  start_rule(context, :Tags);
3253
3725
  build(context, token);
3254
3726
  return 11
3727
+ end
3728
+ end
3729
+ if match_TagLine(context, token)
3730
+ end_rule(context, :DocString);
3731
+ end_rule(context, :Step);
3732
+ end_rule(context, :Scenario);
3733
+ end_rule(context, :ScenarioDefinition);
3734
+ start_rule(context, :Rule);
3735
+ start_rule(context, :RuleHeader);
3736
+ start_rule(context, :Tags);
3737
+ build(context, token);
3738
+ return 22
3255
3739
  end
3256
3740
  if match_ExamplesLine(context, token)
3257
3741
  end_rule(context, :DocString);
@@ -3279,55 +3763,55 @@ module Gherkin
3279
3763
  start_rule(context, :Rule);
3280
3764
  start_rule(context, :RuleHeader);
3281
3765
  build(context, token);
3282
- return 22
3766
+ return 23
3283
3767
  end
3284
3768
  if match_Comment(context, token)
3285
3769
  build(context, token);
3286
- return 47
3770
+ return 48
3287
3771
  end
3288
3772
  if match_Empty(context, token)
3289
3773
  build(context, token);
3290
- return 47
3774
+ return 48
3291
3775
  end
3292
3776
 
3293
- state_comment = "State: 47 - GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:2>Step:1>StepArg:0>__alt0:1>DocString:2>#DocStringSeparator:0"
3777
+ state_comment = "State: 48 - GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:2>Step:1>StepArg:0>__alt0:1>DocString:2>#DocStringSeparator:0"
3294
3778
  token.detach
3295
3779
  expected_tokens = ["#EOF", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty"]
3296
3780
  error = token.eof? ? UnexpectedEOFException.new(token, expected_tokens, state_comment) : UnexpectedTokenException.new(token, expected_tokens, state_comment)
3297
3781
  raise error if (stop_at_first_error)
3298
3782
  add_error(context, error)
3299
- return 47
3783
+ return 48
3300
3784
  end
3301
3785
 
3302
3786
  # GherkinDocument:0>Feature:1>Background:2>Step:1>StepArg:0>__alt0:1>DocString:0>#DocStringSeparator:0
3303
- def match_token_at_48(token, context)
3787
+ def match_token_at_49(token, context)
3304
3788
  if match_DocStringSeparator(context, token)
3305
3789
  build(context, token);
3306
- return 49
3790
+ return 50
3307
3791
  end
3308
3792
  if match_Other(context, token)
3309
3793
  build(context, token);
3310
- return 48
3794
+ return 49
3311
3795
  end
3312
3796
 
3313
- state_comment = "State: 48 - GherkinDocument:0>Feature:1>Background:2>Step:1>StepArg:0>__alt0:1>DocString:0>#DocStringSeparator:0"
3797
+ state_comment = "State: 49 - GherkinDocument:0>Feature:1>Background:2>Step:1>StepArg:0>__alt0:1>DocString:0>#DocStringSeparator:0"
3314
3798
  token.detach
3315
3799
  expected_tokens = ["#DocStringSeparator", "#Other"]
3316
3800
  error = token.eof? ? UnexpectedEOFException.new(token, expected_tokens, state_comment) : UnexpectedTokenException.new(token, expected_tokens, state_comment)
3317
3801
  raise error if (stop_at_first_error)
3318
3802
  add_error(context, error)
3319
- return 48
3803
+ return 49
3320
3804
  end
3321
3805
 
3322
3806
  # GherkinDocument:0>Feature:1>Background:2>Step:1>StepArg:0>__alt0:1>DocString:2>#DocStringSeparator:0
3323
- def match_token_at_49(token, context)
3807
+ def match_token_at_50(token, context)
3324
3808
  if match_EOF(context, token)
3325
3809
  end_rule(context, :DocString);
3326
3810
  end_rule(context, :Step);
3327
3811
  end_rule(context, :Background);
3328
3812
  end_rule(context, :Feature);
3329
3813
  build(context, token);
3330
- return 41
3814
+ return 42
3331
3815
  end
3332
3816
  if match_StepLine(context, token)
3333
3817
  end_rule(context, :DocString);
@@ -3337,6 +3821,7 @@ module Gherkin
3337
3821
  return 9
3338
3822
  end
3339
3823
  if match_TagLine(context, token)
3824
+ if lookahead_0(context, token)
3340
3825
  end_rule(context, :DocString);
3341
3826
  end_rule(context, :Step);
3342
3827
  end_rule(context, :Background);
@@ -3344,6 +3829,17 @@ module Gherkin
3344
3829
  start_rule(context, :Tags);
3345
3830
  build(context, token);
3346
3831
  return 11
3832
+ end
3833
+ end
3834
+ if match_TagLine(context, token)
3835
+ end_rule(context, :DocString);
3836
+ end_rule(context, :Step);
3837
+ end_rule(context, :Background);
3838
+ start_rule(context, :Rule);
3839
+ start_rule(context, :RuleHeader);
3840
+ start_rule(context, :Tags);
3841
+ build(context, token);
3842
+ return 22
3347
3843
  end
3348
3844
  if match_ScenarioLine(context, token)
3349
3845
  end_rule(context, :DocString);
@@ -3361,28 +3857,52 @@ module Gherkin
3361
3857
  start_rule(context, :Rule);
3362
3858
  start_rule(context, :RuleHeader);
3363
3859
  build(context, token);
3364
- return 22
3860
+ return 23
3365
3861
  end
3366
3862
  if match_Comment(context, token)
3367
3863
  build(context, token);
3368
- return 49
3864
+ return 50
3369
3865
  end
3370
3866
  if match_Empty(context, token)
3371
3867
  build(context, token);
3372
- return 49
3868
+ return 50
3373
3869
  end
3374
3870
 
3375
- state_comment = "State: 49 - GherkinDocument:0>Feature:1>Background:2>Step:1>StepArg:0>__alt0:1>DocString:2>#DocStringSeparator:0"
3871
+ state_comment = "State: 50 - GherkinDocument:0>Feature:1>Background:2>Step:1>StepArg:0>__alt0:1>DocString:2>#DocStringSeparator:0"
3376
3872
  token.detach
3377
3873
  expected_tokens = ["#EOF", "#StepLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty"]
3378
3874
  error = token.eof? ? UnexpectedEOFException.new(token, expected_tokens, state_comment) : UnexpectedTokenException.new(token, expected_tokens, state_comment)
3379
3875
  raise error if (stop_at_first_error)
3380
3876
  add_error(context, error)
3381
- return 49
3877
+ return 50
3382
3878
  end
3383
3879
 
3384
3880
 
3385
3881
  def lookahead_0(context, currentToken)
3882
+ currentToken.detach
3883
+ token = nil
3884
+ queue = []
3885
+ match = false
3886
+ loop do
3887
+ token = read_token(context)
3888
+ token.detach
3889
+ queue.push(token)
3890
+
3891
+ if (false || match_ScenarioLine(context, token))
3892
+ match = true
3893
+ break
3894
+ end
3895
+
3896
+ break unless (false || match_Empty(context, token)|| match_Comment(context, token)|| match_TagLine(context, token))
3897
+ end
3898
+
3899
+ context.token_queue.concat(queue)
3900
+
3901
+ return match
3902
+ end
3903
+
3904
+
3905
+ def lookahead_1(context, currentToken)
3386
3906
  currentToken.detach
3387
3907
  token = nil
3388
3908
  queue = []