cucumber-gherkin 17.0.1 → 19.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c90823b046fdba57ef198a2728a865d728f2e972b4e802bd109c0c3e47a174c6
4
- data.tar.gz: fa91840947d9a1cba633ddd75dc0386622be54680fb18af388915caa0402377f
3
+ metadata.gz: ae75939385e17d02883ed75667a2d1034016602864c9a315367298774e972fe2
4
+ data.tar.gz: ebf7593f646b841f9bafa394973640a1930785ee75c5818f6bfd3996829a07d8
5
5
  SHA512:
6
- metadata.gz: 94ef16646a48c49aa25f8e12f5ab9f415192f1c5e98314304ce9e888a361add9c9ccae41c8caf06ffc58ad4edaef6d53f9de15e530826f18937041e076806730
7
- data.tar.gz: 5da81ad7f35e2753b7114d99b34cac7cf76a545efa0d25f77a525fc5cc99f1cdfda2112b6817798b4e2ffd5427991af023a0d3b15a071811ceb8e991cc17f59d
6
+ metadata.gz: 42e4469320d69329ac01bebd5ef69e08ad67d87cefaff6d0c14264e6752817c927808675a9b158ccd0e7fd1a56c525ef9dd23ea8fc6de7839b7708dba588f118
7
+ data.tar.gz: 527c28e2cc74360692db23cc8824fd2124c2ada9eed56d40d7734f543887025fd2cfb532ec2ab2176680027b46c0fbb9532f0dc4c7a0ab296c6037c2376037c5
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 = []