cucumber-gherkin 18.1.1 → 20.0.1

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: 06d4222c01a13b4e9f4917d1aa7e1ffdd368c3c03e93642d58e54585d0b25b2b
4
- data.tar.gz: 3accb0a9e0a99a9d55793e4469e898900a4382cc072c488214097d4068ec77a7
3
+ metadata.gz: bb73ac961c9f2998be682611a44e5dfcd433104a7979c640cbbc9027ea6095b6
4
+ data.tar.gz: c43ded48995745446a6784c2f820da82761660a904d15cd20040f51fdf5017c1
5
5
  SHA512:
6
- metadata.gz: 6f1b8aa5798b485203d30076dd919026f48a1a783769caa3cd048408cfa16ed3a5d79e671be98a3997a59f93bf5e6d997da83a29efa43d2042d83c13f5348b20
7
- data.tar.gz: 209bb87a85e7de4f976feb8c9ae1bbaeb5c10a40da0ae09b01c6d627633321cba8336cae9dae02e05e4a96b06e8825765e2784314f72e5d9e226b7e0f4ccd8bc
6
+ metadata.gz: ec7a32ca6918f6c08a852d2ffb27a808a10d48bb34f661f4c5330a553a8ea571e6d38c6dcd0529391c811014e092f88eac433261777ed7d64bf254e4d0a2458b
7
+ data.tar.gz: 253c9968f47b68def7d1f3f172fcf55d0d2d150f4c0a6525b898bb3fd57b45647eb6510c418f3ca829ec470e46f0f9bd6e7166124a46fc0f2801443d7f90302c
data/README.md CHANGED
@@ -1,10 +1,10 @@
1
1
  # Gherkin for Ruby
2
2
 
3
- Gherkin parser/compiler for Ruby. Please see [Gherkin](https://github.com/cucumber/cucumber/tree/master/gherkin) for details.
3
+ Gherkin parser/compiler for Ruby. Please see [Gherkin](https://github.com/cucumber/common/tree/main/gherkin) for details.
4
4
 
5
5
  ## To build
6
6
 
7
- ~~~bash
7
+ ```bash
8
8
  cd <project_root>/ruby
9
9
  make
10
- ~~~
10
+ ```
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(message.to_json)
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
+ Cucumber::Messages::Source.new(
34
34
  uri: uri,
35
35
  data: data,
36
36
  media_type: 'text/x.cucumber.gherkin+plain'
37
- })
37
+ )
38
38
  end
39
39
  end
@@ -24,7 +24,7 @@ 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(Cucumber::Messages::Comment.new(
28
28
  location: get_location(token, 0),
29
29
  text: token.matched_text
30
30
  ))
@@ -56,7 +56,7 @@ 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(Cucumber::Messages::Tag.new(
60
60
  location: get_location(token, tag_item.column),
61
61
  name: tag_item.text,
62
62
  id: @id_generator.new_id
@@ -69,7 +69,7 @@ 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
+ Cucumber::Messages::TableRow.new(
73
73
  id: @id_generator.new_id,
74
74
  location: get_location(token, 0),
75
75
  cells: get_cells(token)
@@ -84,15 +84,14 @@ module Gherkin
84
84
  cell_count = rows[0].cells.length
85
85
  rows.each do |row|
86
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)
87
+ raise AstBuilderException.new("inconsistent cell count within the table", row.location.to_h)
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
+ Cucumber::Messages::TableCell.new(
96
95
  location: get_location(table_row_token, cell_item.column),
97
96
  value: cell_item.text
98
97
  )
@@ -100,7 +99,7 @@ module Gherkin
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,7 +113,7 @@ 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 = Cucumber::Messages::Step.new(
118
117
  location: get_location(step_line, 0),
119
118
  keyword: step_line.matched_keyword,
120
119
  text: step_line.matched_text,
@@ -128,24 +127,24 @@ module Gherkin
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
+ Cucumber::Messages::DocString.new(
132
131
  location: get_location(separator_token, 0),
133
132
  content: content,
134
133
  delimiter: separator_token.matched_keyword,
135
- media_type: media_type,
134
+ media_type: media_type
136
135
  )
137
136
  when :DataTable
138
137
  rows = get_table_rows(node)
139
- Cucumber::Messages::GherkinDocument::Feature::Step::DataTable.new(
138
+ Cucumber::Messages::DataTable.new(
140
139
  location: rows[0].location,
141
- rows: rows,
140
+ rows: rows
142
141
  )
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
+ Cucumber::Messages::Background.new(
149
148
  id: @id_generator.new_id,
150
149
  location: get_location(background_line, 0),
151
150
  keyword: background_line.matched_keyword,
@@ -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
+ Cucumber::Messages::Scenario.new(
164
163
  id: @id_generator.new_id,
165
164
  tags: tags,
166
165
  location: get_location(scenario_line, 0),
@@ -178,9 +177,9 @@ 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
+ Cucumber::Messages::Examples.new(
184
183
  id: @id_generator.new_id,
185
184
  tags: tags,
186
185
  location: get_location(examples_line, 0),
@@ -188,7 +187,7 @@ module Gherkin
188
187
  name: examples_line.matched_text,
189
188
  description: description,
190
189
  table_header: table_header,
191
- table_body: table_body,
190
+ table_body: table_body
192
191
  )
193
192
  when :ExamplesTable
194
193
  get_table_rows(node)
@@ -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(Cucumber::Messages::FeatureChild.new(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(Cucumber::Messages::FeatureChild.new(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(Cucumber::Messages::FeatureChild.new(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
+ Cucumber::Messages::Feature.new(
220
219
  tags: tags,
221
220
  location: get_location(feature_line, 0),
222
221
  language: language,
@@ -233,13 +232,13 @@ module Gherkin
233
232
  tags = get_tags(header)
234
233
  children = []
235
234
  background = node.get_single(:Background)
236
- children.push(Cucumber::Messages::GherkinDocument::Feature::FeatureChild::RuleChild.new(background: background)) if background
235
+ children.push(Cucumber::Messages::RuleChild.new(background: background)) if background
237
236
  node.get_items(:ScenarioDefinition).each do |scenario|
238
- children.push(Cucumber::Messages::GherkinDocument::Feature::FeatureChild::RuleChild.new(scenario: scenario))
237
+ children.push(Cucumber::Messages::RuleChild.new(scenario: scenario))
239
238
  end
240
239
  description = get_description(header)
241
240
 
242
- Cucumber::Messages::GherkinDocument::Feature::FeatureChild::Rule.new(
241
+ Cucumber::Messages::Rule.new(
243
242
  id: @id_generator.new_id,
244
243
  tags: tags,
245
244
  location: get_location(rule_line, 0),
@@ -250,10 +249,10 @@ module Gherkin
250
249
  )
251
250
  when :GherkinDocument
252
251
  feature = node.get_single(:Feature)
253
- {
254
- feature: feature,
255
- comments: @comments
256
- }
252
+ Cucumber::Messages::GherkinDocument.new(
253
+ comments: @comments,
254
+ feature: feature
255
+ )
257
256
  else
258
257
  return node
259
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",
@@ -1013,6 +1013,46 @@
1013
1013
  "* ",
1014
1014
  "Blimey! "
1015
1015
  ]
1016
+ },
1017
+ "en-tx": {
1018
+ "and": [
1019
+ "Come hell or high water "
1020
+ ],
1021
+ "background": [
1022
+ "Lemme tell y'all a story"
1023
+ ],
1024
+ "but": [
1025
+ "Well now hold on, I'll you what "
1026
+ ],
1027
+ "examples": [
1028
+ "Now that's a story longer than a cattle drive in July"
1029
+ ],
1030
+ "feature": [
1031
+ "This ain’t my first rodeo",
1032
+ "All gussied up"
1033
+ ],
1034
+ "given": [
1035
+ "Fixin' to ",
1036
+ "All git out "
1037
+ ],
1038
+ "name": "Texas",
1039
+ "native": "Texas",
1040
+ "rule": [
1041
+ "Rule "
1042
+ ],
1043
+ "scenario": [
1044
+ "All hat and no cattle"
1045
+ ],
1046
+ "scenarioOutline": [
1047
+ "Serious as a snake bite",
1048
+ "Busy as a hound in flea season"
1049
+ ],
1050
+ "then": [
1051
+ "There’s no tree but bears some fruit "
1052
+ ],
1053
+ "when": [
1054
+ "Quick out of the chute "
1055
+ ]
1016
1056
  },
1017
1057
  "eo": {
1018
1058
  "and": [
@@ -1675,7 +1715,7 @@
1675
1715
  "name": "Hungarian",
1676
1716
  "native": "magyar",
1677
1717
  "rule": [
1678
- "Rule"
1718
+ "Szabály"
1679
1719
  ],
1680
1720
  "scenario": [
1681
1721
  "Példa",
@@ -2566,7 +2606,8 @@
2566
2606
  "name": "Polish",
2567
2607
  "native": "polski",
2568
2608
  "rule": [
2569
- "Rule"
2609
+ "Zasada",
2610
+ "Reguła"
2570
2611
  ],
2571
2612
  "scenario": [
2572
2613
  "Przykład",
@@ -2741,7 +2782,8 @@
2741
2782
  "Сценарий"
2742
2783
  ],
2743
2784
  "scenarioOutline": [
2744
- "Структура сценария"
2785
+ "Структура сценария",
2786
+ "Шаблон сценария"
2745
2787
  ],
2746
2788
  "then": [
2747
2789
  "* ",
@@ -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
 
@@ -28,9 +28,9 @@ module Gherkin
28
28
  :Rule, # Rule! := RuleHeader Background? ScenarioDefinition*
29
29
  :RuleHeader, # RuleHeader! := Tags? #RuleLine DescriptionHelper
30
30
  :Background, # Background! := #BackgroundLine DescriptionHelper Step*
31
- :ScenarioDefinition, # ScenarioDefinition! [#Empty|#Comment|#TagLine-&gt;#ScenarioLine] := Tags? Scenario
31
+ :ScenarioDefinition, # ScenarioDefinition! [#Empty|#Comment|#TagLine->#ScenarioLine] := Tags? Scenario
32
32
  :Scenario, # Scenario! := #ScenarioLine DescriptionHelper Step* ExamplesDefinition*
33
- :ExamplesDefinition, # ExamplesDefinition! [#Empty|#Comment|#TagLine-&gt;#ExamplesLine] := Tags? Examples
33
+ :ExamplesDefinition, # ExamplesDefinition! [#Empty|#Comment|#TagLine->#ExamplesLine] := Tags? Examples
34
34
  :Examples, # Examples! := #ExamplesLine DescriptionHelper ExamplesTable?
35
35
  :ExamplesTable, # ExamplesTable! := #TableRow #TableRow*
36
36
  :Step, # Step! := #StepLine StepArg?
@@ -357,7 +357,7 @@ module Gherkin
357
357
  build(context, token);
358
358
  return 0
359
359
  end
360
-
360
+
361
361
  state_comment = "State: 0 - Start"
362
362
  token.detach
363
363
  expected_tokens = ["#EOF", "#Language", "#TagLine", "#FeatureLine", "#Comment", "#Empty"]
@@ -366,7 +366,6 @@ module Gherkin
366
366
  add_error(context, error)
367
367
  return 0
368
368
  end
369
-
370
369
  # GherkinDocument:0>Feature:0>FeatureHeader:0>#Language:0
371
370
  def match_token_at_1(token, context)
372
371
  if match_TagLine(context, token)
@@ -386,7 +385,7 @@ module Gherkin
386
385
  build(context, token);
387
386
  return 1
388
387
  end
389
-
388
+
390
389
  state_comment = "State: 1 - GherkinDocument:0>Feature:0>FeatureHeader:0>#Language:0"
391
390
  token.detach
392
391
  expected_tokens = ["#TagLine", "#FeatureLine", "#Comment", "#Empty"]
@@ -395,7 +394,6 @@ module Gherkin
395
394
  add_error(context, error)
396
395
  return 1
397
396
  end
398
-
399
397
  # GherkinDocument:0>Feature:0>FeatureHeader:1>Tags:0>#TagLine:0
400
398
  def match_token_at_2(token, context)
401
399
  if match_TagLine(context, token)
@@ -415,7 +413,7 @@ module Gherkin
415
413
  build(context, token);
416
414
  return 2
417
415
  end
418
-
416
+
419
417
  state_comment = "State: 2 - GherkinDocument:0>Feature:0>FeatureHeader:1>Tags:0>#TagLine:0"
420
418
  token.detach
421
419
  expected_tokens = ["#TagLine", "#FeatureLine", "#Comment", "#Empty"]
@@ -424,7 +422,6 @@ module Gherkin
424
422
  add_error(context, error)
425
423
  return 2
426
424
  end
427
-
428
425
  # GherkinDocument:0>Feature:0>FeatureHeader:2>#FeatureLine:0
429
426
  def match_token_at_3(token, context)
430
427
  if match_EOF(context, token)
@@ -483,7 +480,7 @@ module Gherkin
483
480
  build(context, token);
484
481
  return 4
485
482
  end
486
-
483
+
487
484
  state_comment = "State: 3 - GherkinDocument:0>Feature:0>FeatureHeader:2>#FeatureLine:0"
488
485
  token.detach
489
486
  expected_tokens = ["#EOF", "#Empty", "#Comment", "#BackgroundLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Other"]
@@ -492,7 +489,6 @@ module Gherkin
492
489
  add_error(context, error)
493
490
  return 3
494
491
  end
495
-
496
492
  # GherkinDocument:0>Feature:0>FeatureHeader:3>DescriptionHelper:1>Description:0>#Other:0
497
493
  def match_token_at_4(token, context)
498
494
  if match_EOF(context, token)
@@ -553,7 +549,7 @@ module Gherkin
553
549
  build(context, token);
554
550
  return 4
555
551
  end
556
-
552
+
557
553
  state_comment = "State: 4 - GherkinDocument:0>Feature:0>FeatureHeader:3>DescriptionHelper:1>Description:0>#Other:0"
558
554
  token.detach
559
555
  expected_tokens = ["#EOF", "#Comment", "#BackgroundLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Other"]
@@ -562,7 +558,6 @@ module Gherkin
562
558
  add_error(context, error)
563
559
  return 4
564
560
  end
565
-
566
561
  # GherkinDocument:0>Feature:0>FeatureHeader:3>DescriptionHelper:2>#Comment:0
567
562
  def match_token_at_5(token, context)
568
563
  if match_EOF(context, token)
@@ -616,7 +611,7 @@ module Gherkin
616
611
  build(context, token);
617
612
  return 5
618
613
  end
619
-
614
+
620
615
  state_comment = "State: 5 - GherkinDocument:0>Feature:0>FeatureHeader:3>DescriptionHelper:2>#Comment:0"
621
616
  token.detach
622
617
  expected_tokens = ["#EOF", "#Comment", "#BackgroundLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Empty"]
@@ -625,7 +620,6 @@ module Gherkin
625
620
  add_error(context, error)
626
621
  return 5
627
622
  end
628
-
629
623
  # GherkinDocument:0>Feature:1>Background:0>#BackgroundLine:0
630
624
  def match_token_at_6(token, context)
631
625
  if match_EOF(context, token)
@@ -683,7 +677,7 @@ module Gherkin
683
677
  build(context, token);
684
678
  return 7
685
679
  end
686
-
680
+
687
681
  state_comment = "State: 6 - GherkinDocument:0>Feature:1>Background:0>#BackgroundLine:0"
688
682
  token.detach
689
683
  expected_tokens = ["#EOF", "#Empty", "#Comment", "#StepLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Other"]
@@ -692,7 +686,6 @@ module Gherkin
692
686
  add_error(context, error)
693
687
  return 6
694
688
  end
695
-
696
689
  # GherkinDocument:0>Feature:1>Background:1>DescriptionHelper:1>Description:0>#Other:0
697
690
  def match_token_at_7(token, context)
698
691
  if match_EOF(context, token)
@@ -752,7 +745,7 @@ module Gherkin
752
745
  build(context, token);
753
746
  return 7
754
747
  end
755
-
748
+
756
749
  state_comment = "State: 7 - GherkinDocument:0>Feature:1>Background:1>DescriptionHelper:1>Description:0>#Other:0"
757
750
  token.detach
758
751
  expected_tokens = ["#EOF", "#Comment", "#StepLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Other"]
@@ -761,7 +754,6 @@ module Gherkin
761
754
  add_error(context, error)
762
755
  return 7
763
756
  end
764
-
765
757
  # GherkinDocument:0>Feature:1>Background:1>DescriptionHelper:2>#Comment:0
766
758
  def match_token_at_8(token, context)
767
759
  if match_EOF(context, token)
@@ -814,7 +806,7 @@ module Gherkin
814
806
  build(context, token);
815
807
  return 8
816
808
  end
817
-
809
+
818
810
  state_comment = "State: 8 - GherkinDocument:0>Feature:1>Background:1>DescriptionHelper:2>#Comment:0"
819
811
  token.detach
820
812
  expected_tokens = ["#EOF", "#Comment", "#StepLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Empty"]
@@ -823,7 +815,6 @@ module Gherkin
823
815
  add_error(context, error)
824
816
  return 8
825
817
  end
826
-
827
818
  # GherkinDocument:0>Feature:1>Background:2>Step:0>#StepLine:0
828
819
  def match_token_at_9(token, context)
829
820
  if match_EOF(context, token)
@@ -892,7 +883,7 @@ module Gherkin
892
883
  build(context, token);
893
884
  return 9
894
885
  end
895
-
886
+
896
887
  state_comment = "State: 9 - GherkinDocument:0>Feature:1>Background:2>Step:0>#StepLine:0"
897
888
  token.detach
898
889
  expected_tokens = ["#EOF", "#TableRow", "#DocStringSeparator", "#StepLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty"]
@@ -901,7 +892,6 @@ module Gherkin
901
892
  add_error(context, error)
902
893
  return 9
903
894
  end
904
-
905
895
  # GherkinDocument:0>Feature:1>Background:2>Step:1>StepArg:0>__alt0:0>DataTable:0>#TableRow:0
906
896
  def match_token_at_10(token, context)
907
897
  if match_EOF(context, token)
@@ -970,7 +960,7 @@ module Gherkin
970
960
  build(context, token);
971
961
  return 10
972
962
  end
973
-
963
+
974
964
  state_comment = "State: 10 - GherkinDocument:0>Feature:1>Background:2>Step:1>StepArg:0>__alt0:0>DataTable:0>#TableRow:0"
975
965
  token.detach
976
966
  expected_tokens = ["#EOF", "#TableRow", "#StepLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty"]
@@ -979,7 +969,6 @@ module Gherkin
979
969
  add_error(context, error)
980
970
  return 10
981
971
  end
982
-
983
972
  # GherkinDocument:0>Feature:2>ScenarioDefinition:0>Tags:0>#TagLine:0
984
973
  def match_token_at_11(token, context)
985
974
  if match_TagLine(context, token)
@@ -1000,7 +989,7 @@ module Gherkin
1000
989
  build(context, token);
1001
990
  return 11
1002
991
  end
1003
-
992
+
1004
993
  state_comment = "State: 11 - GherkinDocument:0>Feature:2>ScenarioDefinition:0>Tags:0>#TagLine:0"
1005
994
  token.detach
1006
995
  expected_tokens = ["#TagLine", "#ScenarioLine", "#Comment", "#Empty"]
@@ -1009,7 +998,6 @@ module Gherkin
1009
998
  add_error(context, error)
1010
999
  return 11
1011
1000
  end
1012
-
1013
1001
  # GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:0>#ScenarioLine:0
1014
1002
  def match_token_at_12(token, context)
1015
1003
  if match_EOF(context, token)
@@ -1086,7 +1074,7 @@ module Gherkin
1086
1074
  build(context, token);
1087
1075
  return 13
1088
1076
  end
1089
-
1077
+
1090
1078
  state_comment = "State: 12 - GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:0>#ScenarioLine:0"
1091
1079
  token.detach
1092
1080
  expected_tokens = ["#EOF", "#Empty", "#Comment", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Other"]
@@ -1095,7 +1083,6 @@ module Gherkin
1095
1083
  add_error(context, error)
1096
1084
  return 12
1097
1085
  end
1098
-
1099
1086
  # GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:1>DescriptionHelper:1>Description:0>#Other:0
1100
1087
  def match_token_at_13(token, context)
1101
1088
  if match_EOF(context, token)
@@ -1176,7 +1163,7 @@ module Gherkin
1176
1163
  build(context, token);
1177
1164
  return 13
1178
1165
  end
1179
-
1166
+
1180
1167
  state_comment = "State: 13 - GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:1>DescriptionHelper:1>Description:0>#Other:0"
1181
1168
  token.detach
1182
1169
  expected_tokens = ["#EOF", "#Comment", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Other"]
@@ -1185,7 +1172,6 @@ module Gherkin
1185
1172
  add_error(context, error)
1186
1173
  return 13
1187
1174
  end
1188
-
1189
1175
  # GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:1>DescriptionHelper:2>#Comment:0
1190
1176
  def match_token_at_14(token, context)
1191
1177
  if match_EOF(context, token)
@@ -1257,7 +1243,7 @@ module Gherkin
1257
1243
  build(context, token);
1258
1244
  return 14
1259
1245
  end
1260
-
1246
+
1261
1247
  state_comment = "State: 14 - GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:1>DescriptionHelper:2>#Comment:0"
1262
1248
  token.detach
1263
1249
  expected_tokens = ["#EOF", "#Comment", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Empty"]
@@ -1266,7 +1252,6 @@ module Gherkin
1266
1252
  add_error(context, error)
1267
1253
  return 14
1268
1254
  end
1269
-
1270
1255
  # GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:2>Step:0>#StepLine:0
1271
1256
  def match_token_at_15(token, context)
1272
1257
  if match_EOF(context, token)
@@ -1356,7 +1341,7 @@ module Gherkin
1356
1341
  build(context, token);
1357
1342
  return 15
1358
1343
  end
1359
-
1344
+
1360
1345
  state_comment = "State: 15 - GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:2>Step:0>#StepLine:0"
1361
1346
  token.detach
1362
1347
  expected_tokens = ["#EOF", "#TableRow", "#DocStringSeparator", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty"]
@@ -1365,7 +1350,6 @@ module Gherkin
1365
1350
  add_error(context, error)
1366
1351
  return 15
1367
1352
  end
1368
-
1369
1353
  # GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:2>Step:1>StepArg:0>__alt0:0>DataTable:0>#TableRow:0
1370
1354
  def match_token_at_16(token, context)
1371
1355
  if match_EOF(context, token)
@@ -1457,7 +1441,7 @@ module Gherkin
1457
1441
  build(context, token);
1458
1442
  return 16
1459
1443
  end
1460
-
1444
+
1461
1445
  state_comment = "State: 16 - GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:2>Step:1>StepArg:0>__alt0:0>DataTable:0>#TableRow:0"
1462
1446
  token.detach
1463
1447
  expected_tokens = ["#EOF", "#TableRow", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty"]
@@ -1466,7 +1450,6 @@ module Gherkin
1466
1450
  add_error(context, error)
1467
1451
  return 16
1468
1452
  end
1469
-
1470
1453
  # GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:0>Tags:0>#TagLine:0
1471
1454
  def match_token_at_17(token, context)
1472
1455
  if match_TagLine(context, token)
@@ -1487,7 +1470,7 @@ module Gherkin
1487
1470
  build(context, token);
1488
1471
  return 17
1489
1472
  end
1490
-
1473
+
1491
1474
  state_comment = "State: 17 - GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:0>Tags:0>#TagLine:0"
1492
1475
  token.detach
1493
1476
  expected_tokens = ["#TagLine", "#ExamplesLine", "#Comment", "#Empty"]
@@ -1496,7 +1479,6 @@ module Gherkin
1496
1479
  add_error(context, error)
1497
1480
  return 17
1498
1481
  end
1499
-
1500
1482
  # GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:0>#ExamplesLine:0
1501
1483
  def match_token_at_18(token, context)
1502
1484
  if match_EOF(context, token)
@@ -1587,7 +1569,7 @@ module Gherkin
1587
1569
  build(context, token);
1588
1570
  return 19
1589
1571
  end
1590
-
1572
+
1591
1573
  state_comment = "State: 18 - GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:0>#ExamplesLine:0"
1592
1574
  token.detach
1593
1575
  expected_tokens = ["#EOF", "#Empty", "#Comment", "#TableRow", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Other"]
@@ -1596,7 +1578,6 @@ module Gherkin
1596
1578
  add_error(context, error)
1597
1579
  return 18
1598
1580
  end
1599
-
1600
1581
  # GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:1>DescriptionHelper:1>Description:0>#Other:0
1601
1582
  def match_token_at_19(token, context)
1602
1583
  if match_EOF(context, token)
@@ -1691,7 +1672,7 @@ module Gherkin
1691
1672
  build(context, token);
1692
1673
  return 19
1693
1674
  end
1694
-
1675
+
1695
1676
  state_comment = "State: 19 - GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:1>DescriptionHelper:1>Description:0>#Other:0"
1696
1677
  token.detach
1697
1678
  expected_tokens = ["#EOF", "#Comment", "#TableRow", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Other"]
@@ -1700,7 +1681,6 @@ module Gherkin
1700
1681
  add_error(context, error)
1701
1682
  return 19
1702
1683
  end
1703
-
1704
1684
  # GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:1>DescriptionHelper:2>#Comment:0
1705
1685
  def match_token_at_20(token, context)
1706
1686
  if match_EOF(context, token)
@@ -1786,7 +1766,7 @@ module Gherkin
1786
1766
  build(context, token);
1787
1767
  return 20
1788
1768
  end
1789
-
1769
+
1790
1770
  state_comment = "State: 20 - GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:1>DescriptionHelper:2>#Comment:0"
1791
1771
  token.detach
1792
1772
  expected_tokens = ["#EOF", "#Comment", "#TableRow", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Empty"]
@@ -1795,7 +1775,6 @@ module Gherkin
1795
1775
  add_error(context, error)
1796
1776
  return 20
1797
1777
  end
1798
-
1799
1778
  # GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:2>ExamplesTable:0>#TableRow:0
1800
1779
  def match_token_at_21(token, context)
1801
1780
  if match_EOF(context, token)
@@ -1887,7 +1866,7 @@ module Gherkin
1887
1866
  build(context, token);
1888
1867
  return 21
1889
1868
  end
1890
-
1869
+
1891
1870
  state_comment = "State: 21 - GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:2>ExamplesTable:0>#TableRow:0"
1892
1871
  token.detach
1893
1872
  expected_tokens = ["#EOF", "#TableRow", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty"]
@@ -1896,7 +1875,6 @@ module Gherkin
1896
1875
  add_error(context, error)
1897
1876
  return 21
1898
1877
  end
1899
-
1900
1878
  # GherkinDocument:0>Feature:3>Rule:0>RuleHeader:0>Tags:0>#TagLine:0
1901
1879
  def match_token_at_22(token, context)
1902
1880
  if match_TagLine(context, token)
@@ -1916,7 +1894,7 @@ module Gherkin
1916
1894
  build(context, token);
1917
1895
  return 22
1918
1896
  end
1919
-
1897
+
1920
1898
  state_comment = "State: 22 - GherkinDocument:0>Feature:3>Rule:0>RuleHeader:0>Tags:0>#TagLine:0"
1921
1899
  token.detach
1922
1900
  expected_tokens = ["#TagLine", "#RuleLine", "#Comment", "#Empty"]
@@ -1925,7 +1903,6 @@ module Gherkin
1925
1903
  add_error(context, error)
1926
1904
  return 22
1927
1905
  end
1928
-
1929
1906
  # GherkinDocument:0>Feature:3>Rule:0>RuleHeader:1>#RuleLine:0
1930
1907
  def match_token_at_23(token, context)
1931
1908
  if match_EOF(context, token)
@@ -1987,7 +1964,7 @@ module Gherkin
1987
1964
  build(context, token);
1988
1965
  return 24
1989
1966
  end
1990
-
1967
+
1991
1968
  state_comment = "State: 23 - GherkinDocument:0>Feature:3>Rule:0>RuleHeader:1>#RuleLine:0"
1992
1969
  token.detach
1993
1970
  expected_tokens = ["#EOF", "#Empty", "#Comment", "#BackgroundLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Other"]
@@ -1996,7 +1973,6 @@ module Gherkin
1996
1973
  add_error(context, error)
1997
1974
  return 23
1998
1975
  end
1999
-
2000
1976
  # GherkinDocument:0>Feature:3>Rule:0>RuleHeader:2>DescriptionHelper:1>Description:0>#Other:0
2001
1977
  def match_token_at_24(token, context)
2002
1978
  if match_EOF(context, token)
@@ -2060,7 +2036,7 @@ module Gherkin
2060
2036
  build(context, token);
2061
2037
  return 24
2062
2038
  end
2063
-
2039
+
2064
2040
  state_comment = "State: 24 - GherkinDocument:0>Feature:3>Rule:0>RuleHeader:2>DescriptionHelper:1>Description:0>#Other:0"
2065
2041
  token.detach
2066
2042
  expected_tokens = ["#EOF", "#Comment", "#BackgroundLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Other"]
@@ -2069,7 +2045,6 @@ module Gherkin
2069
2045
  add_error(context, error)
2070
2046
  return 24
2071
2047
  end
2072
-
2073
2048
  # GherkinDocument:0>Feature:3>Rule:0>RuleHeader:2>DescriptionHelper:2>#Comment:0
2074
2049
  def match_token_at_25(token, context)
2075
2050
  if match_EOF(context, token)
@@ -2126,7 +2101,7 @@ module Gherkin
2126
2101
  build(context, token);
2127
2102
  return 25
2128
2103
  end
2129
-
2104
+
2130
2105
  state_comment = "State: 25 - GherkinDocument:0>Feature:3>Rule:0>RuleHeader:2>DescriptionHelper:2>#Comment:0"
2131
2106
  token.detach
2132
2107
  expected_tokens = ["#EOF", "#Comment", "#BackgroundLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Empty"]
@@ -2135,7 +2110,6 @@ module Gherkin
2135
2110
  add_error(context, error)
2136
2111
  return 25
2137
2112
  end
2138
-
2139
2113
  # GherkinDocument:0>Feature:3>Rule:1>Background:0>#BackgroundLine:0
2140
2114
  def match_token_at_26(token, context)
2141
2115
  if match_EOF(context, token)
@@ -2196,7 +2170,7 @@ module Gherkin
2196
2170
  build(context, token);
2197
2171
  return 27
2198
2172
  end
2199
-
2173
+
2200
2174
  state_comment = "State: 26 - GherkinDocument:0>Feature:3>Rule:1>Background:0>#BackgroundLine:0"
2201
2175
  token.detach
2202
2176
  expected_tokens = ["#EOF", "#Empty", "#Comment", "#StepLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Other"]
@@ -2205,7 +2179,6 @@ module Gherkin
2205
2179
  add_error(context, error)
2206
2180
  return 26
2207
2181
  end
2208
-
2209
2182
  # GherkinDocument:0>Feature:3>Rule:1>Background:1>DescriptionHelper:1>Description:0>#Other:0
2210
2183
  def match_token_at_27(token, context)
2211
2184
  if match_EOF(context, token)
@@ -2268,7 +2241,7 @@ module Gherkin
2268
2241
  build(context, token);
2269
2242
  return 27
2270
2243
  end
2271
-
2244
+
2272
2245
  state_comment = "State: 27 - GherkinDocument:0>Feature:3>Rule:1>Background:1>DescriptionHelper:1>Description:0>#Other:0"
2273
2246
  token.detach
2274
2247
  expected_tokens = ["#EOF", "#Comment", "#StepLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Other"]
@@ -2277,7 +2250,6 @@ module Gherkin
2277
2250
  add_error(context, error)
2278
2251
  return 27
2279
2252
  end
2280
-
2281
2253
  # GherkinDocument:0>Feature:3>Rule:1>Background:1>DescriptionHelper:2>#Comment:0
2282
2254
  def match_token_at_28(token, context)
2283
2255
  if match_EOF(context, token)
@@ -2333,7 +2305,7 @@ module Gherkin
2333
2305
  build(context, token);
2334
2306
  return 28
2335
2307
  end
2336
-
2308
+
2337
2309
  state_comment = "State: 28 - GherkinDocument:0>Feature:3>Rule:1>Background:1>DescriptionHelper:2>#Comment:0"
2338
2310
  token.detach
2339
2311
  expected_tokens = ["#EOF", "#Comment", "#StepLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Empty"]
@@ -2342,7 +2314,6 @@ module Gherkin
2342
2314
  add_error(context, error)
2343
2315
  return 28
2344
2316
  end
2345
-
2346
2317
  # GherkinDocument:0>Feature:3>Rule:1>Background:2>Step:0>#StepLine:0
2347
2318
  def match_token_at_29(token, context)
2348
2319
  if match_EOF(context, token)
@@ -2414,7 +2385,7 @@ module Gherkin
2414
2385
  build(context, token);
2415
2386
  return 29
2416
2387
  end
2417
-
2388
+
2418
2389
  state_comment = "State: 29 - GherkinDocument:0>Feature:3>Rule:1>Background:2>Step:0>#StepLine:0"
2419
2390
  token.detach
2420
2391
  expected_tokens = ["#EOF", "#TableRow", "#DocStringSeparator", "#StepLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty"]
@@ -2423,7 +2394,6 @@ module Gherkin
2423
2394
  add_error(context, error)
2424
2395
  return 29
2425
2396
  end
2426
-
2427
2397
  # GherkinDocument:0>Feature:3>Rule:1>Background:2>Step:1>StepArg:0>__alt0:0>DataTable:0>#TableRow:0
2428
2398
  def match_token_at_30(token, context)
2429
2399
  if match_EOF(context, token)
@@ -2495,7 +2465,7 @@ module Gherkin
2495
2465
  build(context, token);
2496
2466
  return 30
2497
2467
  end
2498
-
2468
+
2499
2469
  state_comment = "State: 30 - GherkinDocument:0>Feature:3>Rule:1>Background:2>Step:1>StepArg:0>__alt0:0>DataTable:0>#TableRow:0"
2500
2470
  token.detach
2501
2471
  expected_tokens = ["#EOF", "#TableRow", "#StepLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty"]
@@ -2504,7 +2474,6 @@ module Gherkin
2504
2474
  add_error(context, error)
2505
2475
  return 30
2506
2476
  end
2507
-
2508
2477
  # GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:0>Tags:0>#TagLine:0
2509
2478
  def match_token_at_31(token, context)
2510
2479
  if match_TagLine(context, token)
@@ -2525,7 +2494,7 @@ module Gherkin
2525
2494
  build(context, token);
2526
2495
  return 31
2527
2496
  end
2528
-
2497
+
2529
2498
  state_comment = "State: 31 - GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:0>Tags:0>#TagLine:0"
2530
2499
  token.detach
2531
2500
  expected_tokens = ["#TagLine", "#ScenarioLine", "#Comment", "#Empty"]
@@ -2534,7 +2503,6 @@ module Gherkin
2534
2503
  add_error(context, error)
2535
2504
  return 31
2536
2505
  end
2537
-
2538
2506
  # GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:0>#ScenarioLine:0
2539
2507
  def match_token_at_32(token, context)
2540
2508
  if match_EOF(context, token)
@@ -2614,7 +2582,7 @@ module Gherkin
2614
2582
  build(context, token);
2615
2583
  return 33
2616
2584
  end
2617
-
2585
+
2618
2586
  state_comment = "State: 32 - GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:0>#ScenarioLine:0"
2619
2587
  token.detach
2620
2588
  expected_tokens = ["#EOF", "#Empty", "#Comment", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Other"]
@@ -2623,7 +2591,6 @@ module Gherkin
2623
2591
  add_error(context, error)
2624
2592
  return 32
2625
2593
  end
2626
-
2627
2594
  # GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:1>DescriptionHelper:1>Description:0>#Other:0
2628
2595
  def match_token_at_33(token, context)
2629
2596
  if match_EOF(context, token)
@@ -2707,7 +2674,7 @@ module Gherkin
2707
2674
  build(context, token);
2708
2675
  return 33
2709
2676
  end
2710
-
2677
+
2711
2678
  state_comment = "State: 33 - GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:1>DescriptionHelper:1>Description:0>#Other:0"
2712
2679
  token.detach
2713
2680
  expected_tokens = ["#EOF", "#Comment", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Other"]
@@ -2716,7 +2683,6 @@ module Gherkin
2716
2683
  add_error(context, error)
2717
2684
  return 33
2718
2685
  end
2719
-
2720
2686
  # GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:1>DescriptionHelper:2>#Comment:0
2721
2687
  def match_token_at_34(token, context)
2722
2688
  if match_EOF(context, token)
@@ -2791,7 +2757,7 @@ module Gherkin
2791
2757
  build(context, token);
2792
2758
  return 34
2793
2759
  end
2794
-
2760
+
2795
2761
  state_comment = "State: 34 - GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:1>DescriptionHelper:2>#Comment:0"
2796
2762
  token.detach
2797
2763
  expected_tokens = ["#EOF", "#Comment", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Empty"]
@@ -2800,7 +2766,6 @@ module Gherkin
2800
2766
  add_error(context, error)
2801
2767
  return 34
2802
2768
  end
2803
-
2804
2769
  # GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:2>Step:0>#StepLine:0
2805
2770
  def match_token_at_35(token, context)
2806
2771
  if match_EOF(context, token)
@@ -2893,7 +2858,7 @@ module Gherkin
2893
2858
  build(context, token);
2894
2859
  return 35
2895
2860
  end
2896
-
2861
+
2897
2862
  state_comment = "State: 35 - GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:2>Step:0>#StepLine:0"
2898
2863
  token.detach
2899
2864
  expected_tokens = ["#EOF", "#TableRow", "#DocStringSeparator", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty"]
@@ -2902,7 +2867,6 @@ module Gherkin
2902
2867
  add_error(context, error)
2903
2868
  return 35
2904
2869
  end
2905
-
2906
2870
  # GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:2>Step:1>StepArg:0>__alt0:0>DataTable:0>#TableRow:0
2907
2871
  def match_token_at_36(token, context)
2908
2872
  if match_EOF(context, token)
@@ -2997,7 +2961,7 @@ module Gherkin
2997
2961
  build(context, token);
2998
2962
  return 36
2999
2963
  end
3000
-
2964
+
3001
2965
  state_comment = "State: 36 - GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:2>Step:1>StepArg:0>__alt0:0>DataTable:0>#TableRow:0"
3002
2966
  token.detach
3003
2967
  expected_tokens = ["#EOF", "#TableRow", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty"]
@@ -3006,7 +2970,6 @@ module Gherkin
3006
2970
  add_error(context, error)
3007
2971
  return 36
3008
2972
  end
3009
-
3010
2973
  # GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:0>Tags:0>#TagLine:0
3011
2974
  def match_token_at_37(token, context)
3012
2975
  if match_TagLine(context, token)
@@ -3027,7 +2990,7 @@ module Gherkin
3027
2990
  build(context, token);
3028
2991
  return 37
3029
2992
  end
3030
-
2993
+
3031
2994
  state_comment = "State: 37 - GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:0>Tags:0>#TagLine:0"
3032
2995
  token.detach
3033
2996
  expected_tokens = ["#TagLine", "#ExamplesLine", "#Comment", "#Empty"]
@@ -3036,7 +2999,6 @@ module Gherkin
3036
2999
  add_error(context, error)
3037
3000
  return 37
3038
3001
  end
3039
-
3040
3002
  # GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:0>#ExamplesLine:0
3041
3003
  def match_token_at_38(token, context)
3042
3004
  if match_EOF(context, token)
@@ -3130,7 +3092,7 @@ module Gherkin
3130
3092
  build(context, token);
3131
3093
  return 39
3132
3094
  end
3133
-
3095
+
3134
3096
  state_comment = "State: 38 - GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:0>#ExamplesLine:0"
3135
3097
  token.detach
3136
3098
  expected_tokens = ["#EOF", "#Empty", "#Comment", "#TableRow", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Other"]
@@ -3139,7 +3101,6 @@ module Gherkin
3139
3101
  add_error(context, error)
3140
3102
  return 38
3141
3103
  end
3142
-
3143
3104
  # GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:1>DescriptionHelper:1>Description:0>#Other:0
3144
3105
  def match_token_at_39(token, context)
3145
3106
  if match_EOF(context, token)
@@ -3237,7 +3198,7 @@ module Gherkin
3237
3198
  build(context, token);
3238
3199
  return 39
3239
3200
  end
3240
-
3201
+
3241
3202
  state_comment = "State: 39 - GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:1>DescriptionHelper:1>Description:0>#Other:0"
3242
3203
  token.detach
3243
3204
  expected_tokens = ["#EOF", "#Comment", "#TableRow", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Other"]
@@ -3246,7 +3207,6 @@ module Gherkin
3246
3207
  add_error(context, error)
3247
3208
  return 39
3248
3209
  end
3249
-
3250
3210
  # GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:1>DescriptionHelper:2>#Comment:0
3251
3211
  def match_token_at_40(token, context)
3252
3212
  if match_EOF(context, token)
@@ -3335,7 +3295,7 @@ module Gherkin
3335
3295
  build(context, token);
3336
3296
  return 40
3337
3297
  end
3338
-
3298
+
3339
3299
  state_comment = "State: 40 - GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:1>DescriptionHelper:2>#Comment:0"
3340
3300
  token.detach
3341
3301
  expected_tokens = ["#EOF", "#Comment", "#TableRow", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Empty"]
@@ -3344,7 +3304,6 @@ module Gherkin
3344
3304
  add_error(context, error)
3345
3305
  return 40
3346
3306
  end
3347
-
3348
3307
  # GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:2>ExamplesTable:0>#TableRow:0
3349
3308
  def match_token_at_41(token, context)
3350
3309
  if match_EOF(context, token)
@@ -3439,7 +3398,7 @@ module Gherkin
3439
3398
  build(context, token);
3440
3399
  return 41
3441
3400
  end
3442
-
3401
+
3443
3402
  state_comment = "State: 41 - GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:2>ExamplesTable:0>#TableRow:0"
3444
3403
  token.detach
3445
3404
  expected_tokens = ["#EOF", "#TableRow", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty"]
@@ -3448,7 +3407,6 @@ module Gherkin
3448
3407
  add_error(context, error)
3449
3408
  return 41
3450
3409
  end
3451
-
3452
3410
  # GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:2>Step:1>StepArg:0>__alt0:1>DocString:0>#DocStringSeparator:0
3453
3411
  def match_token_at_43(token, context)
3454
3412
  if match_DocStringSeparator(context, token)
@@ -3459,7 +3417,7 @@ module Gherkin
3459
3417
  build(context, token);
3460
3418
  return 43
3461
3419
  end
3462
-
3420
+
3463
3421
  state_comment = "State: 43 - GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:2>Step:1>StepArg:0>__alt0:1>DocString:0>#DocStringSeparator:0"
3464
3422
  token.detach
3465
3423
  expected_tokens = ["#DocStringSeparator", "#Other"]
@@ -3468,7 +3426,6 @@ module Gherkin
3468
3426
  add_error(context, error)
3469
3427
  return 43
3470
3428
  end
3471
-
3472
3429
  # GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:2>Step:1>StepArg:0>__alt0:1>DocString:2>#DocStringSeparator:0
3473
3430
  def match_token_at_44(token, context)
3474
3431
  if match_EOF(context, token)
@@ -3559,7 +3516,7 @@ module Gherkin
3559
3516
  build(context, token);
3560
3517
  return 44
3561
3518
  end
3562
-
3519
+
3563
3520
  state_comment = "State: 44 - GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:2>Step:1>StepArg:0>__alt0:1>DocString:2>#DocStringSeparator:0"
3564
3521
  token.detach
3565
3522
  expected_tokens = ["#EOF", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty"]
@@ -3568,7 +3525,6 @@ module Gherkin
3568
3525
  add_error(context, error)
3569
3526
  return 44
3570
3527
  end
3571
-
3572
3528
  # GherkinDocument:0>Feature:3>Rule:1>Background:2>Step:1>StepArg:0>__alt0:1>DocString:0>#DocStringSeparator:0
3573
3529
  def match_token_at_45(token, context)
3574
3530
  if match_DocStringSeparator(context, token)
@@ -3579,7 +3535,7 @@ module Gherkin
3579
3535
  build(context, token);
3580
3536
  return 45
3581
3537
  end
3582
-
3538
+
3583
3539
  state_comment = "State: 45 - GherkinDocument:0>Feature:3>Rule:1>Background:2>Step:1>StepArg:0>__alt0:1>DocString:0>#DocStringSeparator:0"
3584
3540
  token.detach
3585
3541
  expected_tokens = ["#DocStringSeparator", "#Other"]
@@ -3588,7 +3544,6 @@ module Gherkin
3588
3544
  add_error(context, error)
3589
3545
  return 45
3590
3546
  end
3591
-
3592
3547
  # GherkinDocument:0>Feature:3>Rule:1>Background:2>Step:1>StepArg:0>__alt0:1>DocString:2>#DocStringSeparator:0
3593
3548
  def match_token_at_46(token, context)
3594
3549
  if match_EOF(context, token)
@@ -3656,7 +3611,7 @@ module Gherkin
3656
3611
  build(context, token);
3657
3612
  return 46
3658
3613
  end
3659
-
3614
+
3660
3615
  state_comment = "State: 46 - GherkinDocument:0>Feature:3>Rule:1>Background:2>Step:1>StepArg:0>__alt0:1>DocString:2>#DocStringSeparator:0"
3661
3616
  token.detach
3662
3617
  expected_tokens = ["#EOF", "#StepLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty"]
@@ -3665,7 +3620,6 @@ module Gherkin
3665
3620
  add_error(context, error)
3666
3621
  return 46
3667
3622
  end
3668
-
3669
3623
  # GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:2>Step:1>StepArg:0>__alt0:1>DocString:0>#DocStringSeparator:0
3670
3624
  def match_token_at_47(token, context)
3671
3625
  if match_DocStringSeparator(context, token)
@@ -3676,7 +3630,7 @@ module Gherkin
3676
3630
  build(context, token);
3677
3631
  return 47
3678
3632
  end
3679
-
3633
+
3680
3634
  state_comment = "State: 47 - GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:2>Step:1>StepArg:0>__alt0:1>DocString:0>#DocStringSeparator:0"
3681
3635
  token.detach
3682
3636
  expected_tokens = ["#DocStringSeparator", "#Other"]
@@ -3685,7 +3639,6 @@ module Gherkin
3685
3639
  add_error(context, error)
3686
3640
  return 47
3687
3641
  end
3688
-
3689
3642
  # GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:2>Step:1>StepArg:0>__alt0:1>DocString:2>#DocStringSeparator:0
3690
3643
  def match_token_at_48(token, context)
3691
3644
  if match_EOF(context, token)
@@ -3773,7 +3726,7 @@ module Gherkin
3773
3726
  build(context, token);
3774
3727
  return 48
3775
3728
  end
3776
-
3729
+
3777
3730
  state_comment = "State: 48 - GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:2>Step:1>StepArg:0>__alt0:1>DocString:2>#DocStringSeparator:0"
3778
3731
  token.detach
3779
3732
  expected_tokens = ["#EOF", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty"]
@@ -3782,7 +3735,6 @@ module Gherkin
3782
3735
  add_error(context, error)
3783
3736
  return 48
3784
3737
  end
3785
-
3786
3738
  # GherkinDocument:0>Feature:1>Background:2>Step:1>StepArg:0>__alt0:1>DocString:0>#DocStringSeparator:0
3787
3739
  def match_token_at_49(token, context)
3788
3740
  if match_DocStringSeparator(context, token)
@@ -3793,7 +3745,7 @@ module Gherkin
3793
3745
  build(context, token);
3794
3746
  return 49
3795
3747
  end
3796
-
3748
+
3797
3749
  state_comment = "State: 49 - GherkinDocument:0>Feature:1>Background:2>Step:1>StepArg:0>__alt0:1>DocString:0>#DocStringSeparator:0"
3798
3750
  token.detach
3799
3751
  expected_tokens = ["#DocStringSeparator", "#Other"]
@@ -3802,7 +3754,6 @@ module Gherkin
3802
3754
  add_error(context, error)
3803
3755
  return 49
3804
3756
  end
3805
-
3806
3757
  # GherkinDocument:0>Feature:1>Background:2>Step:1>StepArg:0>__alt0:1>DocString:2>#DocStringSeparator:0
3807
3758
  def match_token_at_50(token, context)
3808
3759
  if match_EOF(context, token)
@@ -3867,7 +3818,7 @@ module Gherkin
3867
3818
  build(context, token);
3868
3819
  return 50
3869
3820
  end
3870
-
3821
+
3871
3822
  state_comment = "State: 50 - GherkinDocument:0>Feature:1>Background:2>Step:1>StepArg:0>__alt0:1>DocString:2>#DocStringSeparator:0"
3872
3823
  token.detach
3873
3824
  expected_tokens = ["#EOF", "#StepLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty"]
@@ -3877,7 +3828,6 @@ module Gherkin
3877
3828
  return 50
3878
3829
  end
3879
3830
 
3880
-
3881
3831
  def lookahead_0(context, currentToken)
3882
3832
  currentToken.detach
3883
3833
  token = nil
@@ -3901,7 +3851,6 @@ module Gherkin
3901
3851
  return match
3902
3852
  end
3903
3853
 
3904
-
3905
3854
  def lookahead_1(context, currentToken)
3906
3855
  currentToken.detach
3907
3856
  token = nil
@@ -3925,7 +3874,6 @@ module Gherkin
3925
3874
  return match
3926
3875
  end
3927
3876
 
3928
-
3929
3877
  private
3930
3878
 
3931
3879
  def handle_ast_error(context, &action)