How to use match_BackgroundLine method in Cucumber-gherkin

Best JavaScript code snippet using cucumber-gherkin

gherkin.js

Source:gherkin.js Github

copy

Full Screen

...4056    if(match_Comment(context, token)) {4057      build(context, token);4058      return 5;4059    }4060    if(match_BackgroundLine(context, token)) {4061      endRule(context, 'Feature_Header');4062      startRule(context, 'Background');4063      build(context, token);4064      return 6;4065    }4066    if(match_TagLine(context, token)) {4067      endRule(context, 'Feature_Header');4068      startRule(context, 'Scenario_Definition');4069      startRule(context, 'Tags');4070      build(context, token);4071      return 11;4072    }4073    if(match_ScenarioLine(context, token)) {4074      endRule(context, 'Feature_Header');4075      startRule(context, 'Scenario_Definition');4076      startRule(context, 'Scenario');4077      build(context, token);4078      return 12;4079    }4080    if(match_ScenarioOutlineLine(context, token)) {4081      endRule(context, 'Feature_Header');4082      startRule(context, 'Scenario_Definition');4083      startRule(context, 'ScenarioOutline');4084      build(context, token);4085      return 17;4086    }4087    if(match_Other(context, token)) {4088      startRule(context, 'Description');4089      build(context, token);4090      return 4;4091    }4092    4093    var stateComment = "State: 3 - GherkinDocument:0>Feature:0>Feature_Header:2>#FeatureLine:0";4094    token.detach();4095    var expectedTokens = ["#EOF", "#Empty", "#Comment", "#BackgroundLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Other"];4096    var error = token.isEof ?4097      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :4098      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);4099    if (self.stopAtFirstError) throw error;4100    addError(context, error);4101    return 3;4102  }4103  // GherkinDocument:0>Feature:0>Feature_Header:3>Description_Helper:1>Description:0>#Other:04104  function matchTokenAt_4(token, context) {4105    if(match_EOF(context, token)) {4106      endRule(context, 'Description');4107      endRule(context, 'Feature_Header');4108      endRule(context, 'Feature');4109      build(context, token);4110      return 27;4111    }4112    if(match_Comment(context, token)) {4113      endRule(context, 'Description');4114      build(context, token);4115      return 5;4116    }4117    if(match_BackgroundLine(context, token)) {4118      endRule(context, 'Description');4119      endRule(context, 'Feature_Header');4120      startRule(context, 'Background');4121      build(context, token);4122      return 6;4123    }4124    if(match_TagLine(context, token)) {4125      endRule(context, 'Description');4126      endRule(context, 'Feature_Header');4127      startRule(context, 'Scenario_Definition');4128      startRule(context, 'Tags');4129      build(context, token);4130      return 11;4131    }4132    if(match_ScenarioLine(context, token)) {4133      endRule(context, 'Description');4134      endRule(context, 'Feature_Header');4135      startRule(context, 'Scenario_Definition');4136      startRule(context, 'Scenario');4137      build(context, token);4138      return 12;4139    }4140    if(match_ScenarioOutlineLine(context, token)) {4141      endRule(context, 'Description');4142      endRule(context, 'Feature_Header');4143      startRule(context, 'Scenario_Definition');4144      startRule(context, 'ScenarioOutline');4145      build(context, token);4146      return 17;4147    }4148    if(match_Other(context, token)) {4149      build(context, token);4150      return 4;4151    }4152    4153    var stateComment = "State: 4 - GherkinDocument:0>Feature:0>Feature_Header:3>Description_Helper:1>Description:0>#Other:0";4154    token.detach();4155    var expectedTokens = ["#EOF", "#Comment", "#BackgroundLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Other"];4156    var error = token.isEof ?4157      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :4158      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);4159    if (self.stopAtFirstError) throw error;4160    addError(context, error);4161    return 4;4162  }4163  // GherkinDocument:0>Feature:0>Feature_Header:3>Description_Helper:2>#Comment:04164  function matchTokenAt_5(token, context) {4165    if(match_EOF(context, token)) {4166      endRule(context, 'Feature_Header');4167      endRule(context, 'Feature');4168      build(context, token);4169      return 27;4170    }4171    if(match_Comment(context, token)) {4172      build(context, token);4173      return 5;4174    }4175    if(match_BackgroundLine(context, token)) {4176      endRule(context, 'Feature_Header');4177      startRule(context, 'Background');4178      build(context, token);4179      return 6;4180    }4181    if(match_TagLine(context, token)) {4182      endRule(context, 'Feature_Header');4183      startRule(context, 'Scenario_Definition');4184      startRule(context, 'Tags');4185      build(context, token);4186      return 11;4187    }4188    if(match_ScenarioLine(context, token)) {4189      endRule(context, 'Feature_Header');4190      startRule(context, 'Scenario_Definition');4191      startRule(context, 'Scenario');4192      build(context, token);4193      return 12;4194    }4195    if(match_ScenarioOutlineLine(context, token)) {4196      endRule(context, 'Feature_Header');4197      startRule(context, 'Scenario_Definition');4198      startRule(context, 'ScenarioOutline');4199      build(context, token);4200      return 17;4201    }4202    if(match_Empty(context, token)) {4203      build(context, token);4204      return 5;4205    }4206    4207    var stateComment = "State: 5 - GherkinDocument:0>Feature:0>Feature_Header:3>Description_Helper:2>#Comment:0";4208    token.detach();4209    var expectedTokens = ["#EOF", "#Comment", "#BackgroundLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Empty"];4210    var error = token.isEof ?4211      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :4212      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);4213    if (self.stopAtFirstError) throw error;4214    addError(context, error);4215    return 5;4216  }4217  // GherkinDocument:0>Feature:1>Background:0>#BackgroundLine:04218  function matchTokenAt_6(token, context) {4219    if(match_EOF(context, token)) {4220      endRule(context, 'Background');4221      endRule(context, 'Feature');4222      build(context, token);4223      return 27;4224    }4225    if(match_Empty(context, token)) {4226      build(context, token);4227      return 6;4228    }4229    if(match_Comment(context, token)) {4230      build(context, token);4231      return 8;4232    }4233    if(match_StepLine(context, token)) {4234      startRule(context, 'Step');4235      build(context, token);4236      return 9;4237    }4238    if(match_TagLine(context, token)) {4239      endRule(context, 'Background');4240      startRule(context, 'Scenario_Definition');4241      startRule(context, 'Tags');4242      build(context, token);4243      return 11;4244    }4245    if(match_ScenarioLine(context, token)) {4246      endRule(context, 'Background');4247      startRule(context, 'Scenario_Definition');4248      startRule(context, 'Scenario');4249      build(context, token);4250      return 12;4251    }4252    if(match_ScenarioOutlineLine(context, token)) {4253      endRule(context, 'Background');4254      startRule(context, 'Scenario_Definition');4255      startRule(context, 'ScenarioOutline');4256      build(context, token);4257      return 17;4258    }4259    if(match_Other(context, token)) {4260      startRule(context, 'Description');4261      build(context, token);4262      return 7;4263    }4264    4265    var stateComment = "State: 6 - GherkinDocument:0>Feature:1>Background:0>#BackgroundLine:0";4266    token.detach();4267    var expectedTokens = ["#EOF", "#Empty", "#Comment", "#StepLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Other"];4268    var error = token.isEof ?4269      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :4270      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);4271    if (self.stopAtFirstError) throw error;4272    addError(context, error);4273    return 6;4274  }4275  // GherkinDocument:0>Feature:1>Background:1>Description_Helper:1>Description:0>#Other:04276  function matchTokenAt_7(token, context) {4277    if(match_EOF(context, token)) {4278      endRule(context, 'Description');4279      endRule(context, 'Background');4280      endRule(context, 'Feature');4281      build(context, token);4282      return 27;4283    }4284    if(match_Comment(context, token)) {4285      endRule(context, 'Description');4286      build(context, token);4287      return 8;4288    }4289    if(match_StepLine(context, token)) {4290      endRule(context, 'Description');4291      startRule(context, 'Step');4292      build(context, token);4293      return 9;4294    }4295    if(match_TagLine(context, token)) {4296      endRule(context, 'Description');4297      endRule(context, 'Background');4298      startRule(context, 'Scenario_Definition');4299      startRule(context, 'Tags');4300      build(context, token);4301      return 11;4302    }4303    if(match_ScenarioLine(context, token)) {4304      endRule(context, 'Description');4305      endRule(context, 'Background');4306      startRule(context, 'Scenario_Definition');4307      startRule(context, 'Scenario');4308      build(context, token);4309      return 12;4310    }4311    if(match_ScenarioOutlineLine(context, token)) {4312      endRule(context, 'Description');4313      endRule(context, 'Background');4314      startRule(context, 'Scenario_Definition');4315      startRule(context, 'ScenarioOutline');4316      build(context, token);4317      return 17;4318    }4319    if(match_Other(context, token)) {4320      build(context, token);4321      return 7;4322    }4323    4324    var stateComment = "State: 7 - GherkinDocument:0>Feature:1>Background:1>Description_Helper:1>Description:0>#Other:0";4325    token.detach();4326    var expectedTokens = ["#EOF", "#Comment", "#StepLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Other"];4327    var error = token.isEof ?4328      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :4329      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);4330    if (self.stopAtFirstError) throw error;4331    addError(context, error);4332    return 7;4333  }4334  // GherkinDocument:0>Feature:1>Background:1>Description_Helper:2>#Comment:04335  function matchTokenAt_8(token, context) {4336    if(match_EOF(context, token)) {4337      endRule(context, 'Background');4338      endRule(context, 'Feature');4339      build(context, token);4340      return 27;4341    }4342    if(match_Comment(context, token)) {4343      build(context, token);4344      return 8;4345    }4346    if(match_StepLine(context, token)) {4347      startRule(context, 'Step');4348      build(context, token);4349      return 9;4350    }4351    if(match_TagLine(context, token)) {4352      endRule(context, 'Background');4353      startRule(context, 'Scenario_Definition');4354      startRule(context, 'Tags');4355      build(context, token);4356      return 11;4357    }4358    if(match_ScenarioLine(context, token)) {4359      endRule(context, 'Background');4360      startRule(context, 'Scenario_Definition');4361      startRule(context, 'Scenario');4362      build(context, token);4363      return 12;4364    }4365    if(match_ScenarioOutlineLine(context, token)) {4366      endRule(context, 'Background');4367      startRule(context, 'Scenario_Definition');4368      startRule(context, 'ScenarioOutline');4369      build(context, token);4370      return 17;4371    }4372    if(match_Empty(context, token)) {4373      build(context, token);4374      return 8;4375    }4376    4377    var stateComment = "State: 8 - GherkinDocument:0>Feature:1>Background:1>Description_Helper:2>#Comment:0";4378    token.detach();4379    var expectedTokens = ["#EOF", "#Comment", "#StepLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Empty"];4380    var error = token.isEof ?4381      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :4382      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);4383    if (self.stopAtFirstError) throw error;4384    addError(context, error);4385    return 8;4386  }4387  // GherkinDocument:0>Feature:1>Background:2>Step:0>#StepLine:04388  function matchTokenAt_9(token, context) {4389    if(match_EOF(context, token)) {4390      endRule(context, 'Step');4391      endRule(context, 'Background');4392      endRule(context, 'Feature');4393      build(context, token);4394      return 27;4395    }4396    if(match_TableRow(context, token)) {4397      startRule(context, 'DataTable');4398      build(context, token);4399      return 10;4400    }4401    if(match_DocStringSeparator(context, token)) {4402      startRule(context, 'DocString');4403      build(context, token);4404      return 32;4405    }4406    if(match_StepLine(context, token)) {4407      endRule(context, 'Step');4408      startRule(context, 'Step');4409      build(context, token);4410      return 9;4411    }4412    if(match_TagLine(context, token)) {4413      endRule(context, 'Step');4414      endRule(context, 'Background');4415      startRule(context, 'Scenario_Definition');4416      startRule(context, 'Tags');4417      build(context, token);4418      return 11;4419    }4420    if(match_ScenarioLine(context, token)) {4421      endRule(context, 'Step');4422      endRule(context, 'Background');4423      startRule(context, 'Scenario_Definition');4424      startRule(context, 'Scenario');4425      build(context, token);4426      return 12;4427    }4428    if(match_ScenarioOutlineLine(context, token)) {4429      endRule(context, 'Step');4430      endRule(context, 'Background');4431      startRule(context, 'Scenario_Definition');4432      startRule(context, 'ScenarioOutline');4433      build(context, token);4434      return 17;4435    }4436    if(match_Comment(context, token)) {4437      build(context, token);4438      return 9;4439    }4440    if(match_Empty(context, token)) {4441      build(context, token);4442      return 9;4443    }4444    4445    var stateComment = "State: 9 - GherkinDocument:0>Feature:1>Background:2>Step:0>#StepLine:0";4446    token.detach();4447    var expectedTokens = ["#EOF", "#TableRow", "#DocStringSeparator", "#StepLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Comment", "#Empty"];4448    var error = token.isEof ?4449      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :4450      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);4451    if (self.stopAtFirstError) throw error;4452    addError(context, error);4453    return 9;4454  }4455  // GherkinDocument:0>Feature:1>Background:2>Step:1>Step_Arg:0>__alt1:0>DataTable:0>#TableRow:04456  function matchTokenAt_10(token, context) {4457    if(match_EOF(context, token)) {4458      endRule(context, 'DataTable');4459      endRule(context, 'Step');4460      endRule(context, 'Background');4461      endRule(context, 'Feature');4462      build(context, token);4463      return 27;4464    }4465    if(match_TableRow(context, token)) {4466      build(context, token);4467      return 10;4468    }4469    if(match_StepLine(context, token)) {4470      endRule(context, 'DataTable');4471      endRule(context, 'Step');4472      startRule(context, 'Step');4473      build(context, token);4474      return 9;4475    }4476    if(match_TagLine(context, token)) {4477      endRule(context, 'DataTable');4478      endRule(context, 'Step');4479      endRule(context, 'Background');4480      startRule(context, 'Scenario_Definition');4481      startRule(context, 'Tags');4482      build(context, token);4483      return 11;4484    }4485    if(match_ScenarioLine(context, token)) {4486      endRule(context, 'DataTable');4487      endRule(context, 'Step');4488      endRule(context, 'Background');4489      startRule(context, 'Scenario_Definition');4490      startRule(context, 'Scenario');4491      build(context, token);4492      return 12;4493    }4494    if(match_ScenarioOutlineLine(context, token)) {4495      endRule(context, 'DataTable');4496      endRule(context, 'Step');4497      endRule(context, 'Background');4498      startRule(context, 'Scenario_Definition');4499      startRule(context, 'ScenarioOutline');4500      build(context, token);4501      return 17;4502    }4503    if(match_Comment(context, token)) {4504      build(context, token);4505      return 10;4506    }4507    if(match_Empty(context, token)) {4508      build(context, token);4509      return 10;4510    }4511    4512    var stateComment = "State: 10 - GherkinDocument:0>Feature:1>Background:2>Step:1>Step_Arg:0>__alt1:0>DataTable:0>#TableRow:0";4513    token.detach();4514    var expectedTokens = ["#EOF", "#TableRow", "#StepLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Comment", "#Empty"];4515    var error = token.isEof ?4516      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :4517      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);4518    if (self.stopAtFirstError) throw error;4519    addError(context, error);4520    return 10;4521  }4522  // GherkinDocument:0>Feature:2>Scenario_Definition:0>Tags:0>#TagLine:04523  function matchTokenAt_11(token, context) {4524    if(match_TagLine(context, token)) {4525      build(context, token);4526      return 11;4527    }4528    if(match_ScenarioLine(context, token)) {4529      endRule(context, 'Tags');4530      startRule(context, 'Scenario');4531      build(context, token);4532      return 12;4533    }4534    if(match_ScenarioOutlineLine(context, token)) {4535      endRule(context, 'Tags');4536      startRule(context, 'ScenarioOutline');4537      build(context, token);4538      return 17;4539    }4540    if(match_Comment(context, token)) {4541      build(context, token);4542      return 11;4543    }4544    if(match_Empty(context, token)) {4545      build(context, token);4546      return 11;4547    }4548    4549    var stateComment = "State: 11 - GherkinDocument:0>Feature:2>Scenario_Definition:0>Tags:0>#TagLine:0";4550    token.detach();4551    var expectedTokens = ["#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Comment", "#Empty"];4552    var error = token.isEof ?4553      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :4554      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);4555    if (self.stopAtFirstError) throw error;4556    addError(context, error);4557    return 11;4558  }4559  // GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:0>Scenario:0>#ScenarioLine:04560  function matchTokenAt_12(token, context) {4561    if(match_EOF(context, token)) {4562      endRule(context, 'Scenario');4563      endRule(context, 'Scenario_Definition');4564      endRule(context, 'Feature');4565      build(context, token);4566      return 27;4567    }4568    if(match_Empty(context, token)) {4569      build(context, token);4570      return 12;4571    }4572    if(match_Comment(context, token)) {4573      build(context, token);4574      return 14;4575    }4576    if(match_StepLine(context, token)) {4577      startRule(context, 'Step');4578      build(context, token);4579      return 15;4580    }4581    if(match_TagLine(context, token)) {4582      endRule(context, 'Scenario');4583      endRule(context, 'Scenario_Definition');4584      startRule(context, 'Scenario_Definition');4585      startRule(context, 'Tags');4586      build(context, token);4587      return 11;4588    }4589    if(match_ScenarioLine(context, token)) {4590      endRule(context, 'Scenario');4591      endRule(context, 'Scenario_Definition');4592      startRule(context, 'Scenario_Definition');4593      startRule(context, 'Scenario');4594      build(context, token);4595      return 12;4596    }4597    if(match_ScenarioOutlineLine(context, token)) {4598      endRule(context, 'Scenario');4599      endRule(context, 'Scenario_Definition');4600      startRule(context, 'Scenario_Definition');4601      startRule(context, 'ScenarioOutline');4602      build(context, token);4603      return 17;4604    }4605    if(match_Other(context, token)) {4606      startRule(context, 'Description');4607      build(context, token);4608      return 13;4609    }4610    4611    var stateComment = "State: 12 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:0>Scenario:0>#ScenarioLine:0";4612    token.detach();4613    var expectedTokens = ["#EOF", "#Empty", "#Comment", "#StepLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Other"];4614    var error = token.isEof ?4615      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :4616      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);4617    if (self.stopAtFirstError) throw error;4618    addError(context, error);4619    return 12;4620  }4621  // GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:0>Scenario:1>Description_Helper:1>Description:0>#Other:04622  function matchTokenAt_13(token, context) {4623    if(match_EOF(context, token)) {4624      endRule(context, 'Description');4625      endRule(context, 'Scenario');4626      endRule(context, 'Scenario_Definition');4627      endRule(context, 'Feature');4628      build(context, token);4629      return 27;4630    }4631    if(match_Comment(context, token)) {4632      endRule(context, 'Description');4633      build(context, token);4634      return 14;4635    }4636    if(match_StepLine(context, token)) {4637      endRule(context, 'Description');4638      startRule(context, 'Step');4639      build(context, token);4640      return 15;4641    }4642    if(match_TagLine(context, token)) {4643      endRule(context, 'Description');4644      endRule(context, 'Scenario');4645      endRule(context, 'Scenario_Definition');4646      startRule(context, 'Scenario_Definition');4647      startRule(context, 'Tags');4648      build(context, token);4649      return 11;4650    }4651    if(match_ScenarioLine(context, token)) {4652      endRule(context, 'Description');4653      endRule(context, 'Scenario');4654      endRule(context, 'Scenario_Definition');4655      startRule(context, 'Scenario_Definition');4656      startRule(context, 'Scenario');4657      build(context, token);4658      return 12;4659    }4660    if(match_ScenarioOutlineLine(context, token)) {4661      endRule(context, 'Description');4662      endRule(context, 'Scenario');4663      endRule(context, 'Scenario_Definition');4664      startRule(context, 'Scenario_Definition');4665      startRule(context, 'ScenarioOutline');4666      build(context, token);4667      return 17;4668    }4669    if(match_Other(context, token)) {4670      build(context, token);4671      return 13;4672    }4673    4674    var stateComment = "State: 13 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:0>Scenario:1>Description_Helper:1>Description:0>#Other:0";4675    token.detach();4676    var expectedTokens = ["#EOF", "#Comment", "#StepLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Other"];4677    var error = token.isEof ?4678      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :4679      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);4680    if (self.stopAtFirstError) throw error;4681    addError(context, error);4682    return 13;4683  }4684  // GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:0>Scenario:1>Description_Helper:2>#Comment:04685  function matchTokenAt_14(token, context) {4686    if(match_EOF(context, token)) {4687      endRule(context, 'Scenario');4688      endRule(context, 'Scenario_Definition');4689      endRule(context, 'Feature');4690      build(context, token);4691      return 27;4692    }4693    if(match_Comment(context, token)) {4694      build(context, token);4695      return 14;4696    }4697    if(match_StepLine(context, token)) {4698      startRule(context, 'Step');4699      build(context, token);4700      return 15;4701    }4702    if(match_TagLine(context, token)) {4703      endRule(context, 'Scenario');4704      endRule(context, 'Scenario_Definition');4705      startRule(context, 'Scenario_Definition');4706      startRule(context, 'Tags');4707      build(context, token);4708      return 11;4709    }4710    if(match_ScenarioLine(context, token)) {4711      endRule(context, 'Scenario');4712      endRule(context, 'Scenario_Definition');4713      startRule(context, 'Scenario_Definition');4714      startRule(context, 'Scenario');4715      build(context, token);4716      return 12;4717    }4718    if(match_ScenarioOutlineLine(context, token)) {4719      endRule(context, 'Scenario');4720      endRule(context, 'Scenario_Definition');4721      startRule(context, 'Scenario_Definition');4722      startRule(context, 'ScenarioOutline');4723      build(context, token);4724      return 17;4725    }4726    if(match_Empty(context, token)) {4727      build(context, token);4728      return 14;4729    }4730    4731    var stateComment = "State: 14 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:0>Scenario:1>Description_Helper:2>#Comment:0";4732    token.detach();4733    var expectedTokens = ["#EOF", "#Comment", "#StepLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Empty"];4734    var error = token.isEof ?4735      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :4736      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);4737    if (self.stopAtFirstError) throw error;4738    addError(context, error);4739    return 14;4740  }4741  // GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:0>Scenario:2>Step:0>#StepLine:04742  function matchTokenAt_15(token, context) {4743    if(match_EOF(context, token)) {4744      endRule(context, 'Step');4745      endRule(context, 'Scenario');4746      endRule(context, 'Scenario_Definition');4747      endRule(context, 'Feature');4748      build(context, token);4749      return 27;4750    }4751    if(match_TableRow(context, token)) {4752      startRule(context, 'DataTable');4753      build(context, token);4754      return 16;4755    }4756    if(match_DocStringSeparator(context, token)) {4757      startRule(context, 'DocString');4758      build(context, token);4759      return 30;4760    }4761    if(match_StepLine(context, token)) {4762      endRule(context, 'Step');4763      startRule(context, 'Step');4764      build(context, token);4765      return 15;4766    }4767    if(match_TagLine(context, token)) {4768      endRule(context, 'Step');4769      endRule(context, 'Scenario');4770      endRule(context, 'Scenario_Definition');4771      startRule(context, 'Scenario_Definition');4772      startRule(context, 'Tags');4773      build(context, token);4774      return 11;4775    }4776    if(match_ScenarioLine(context, token)) {4777      endRule(context, 'Step');4778      endRule(context, 'Scenario');4779      endRule(context, 'Scenario_Definition');4780      startRule(context, 'Scenario_Definition');4781      startRule(context, 'Scenario');4782      build(context, token);4783      return 12;4784    }4785    if(match_ScenarioOutlineLine(context, token)) {4786      endRule(context, 'Step');4787      endRule(context, 'Scenario');4788      endRule(context, 'Scenario_Definition');4789      startRule(context, 'Scenario_Definition');4790      startRule(context, 'ScenarioOutline');4791      build(context, token);4792      return 17;4793    }4794    if(match_Comment(context, token)) {4795      build(context, token);4796      return 15;4797    }4798    if(match_Empty(context, token)) {4799      build(context, token);4800      return 15;4801    }4802    4803    var stateComment = "State: 15 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:0>Scenario:2>Step:0>#StepLine:0";4804    token.detach();4805    var expectedTokens = ["#EOF", "#TableRow", "#DocStringSeparator", "#StepLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Comment", "#Empty"];4806    var error = token.isEof ?4807      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :4808      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);4809    if (self.stopAtFirstError) throw error;4810    addError(context, error);4811    return 15;4812  }4813  // GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:0>Scenario:2>Step:1>Step_Arg:0>__alt1:0>DataTable:0>#TableRow:04814  function matchTokenAt_16(token, context) {4815    if(match_EOF(context, token)) {4816      endRule(context, 'DataTable');4817      endRule(context, 'Step');4818      endRule(context, 'Scenario');4819      endRule(context, 'Scenario_Definition');4820      endRule(context, 'Feature');4821      build(context, token);4822      return 27;4823    }4824    if(match_TableRow(context, token)) {4825      build(context, token);4826      return 16;4827    }4828    if(match_StepLine(context, token)) {4829      endRule(context, 'DataTable');4830      endRule(context, 'Step');4831      startRule(context, 'Step');4832      build(context, token);4833      return 15;4834    }4835    if(match_TagLine(context, token)) {4836      endRule(context, 'DataTable');4837      endRule(context, 'Step');4838      endRule(context, 'Scenario');4839      endRule(context, 'Scenario_Definition');4840      startRule(context, 'Scenario_Definition');4841      startRule(context, 'Tags');4842      build(context, token);4843      return 11;4844    }4845    if(match_ScenarioLine(context, token)) {4846      endRule(context, 'DataTable');4847      endRule(context, 'Step');4848      endRule(context, 'Scenario');4849      endRule(context, 'Scenario_Definition');4850      startRule(context, 'Scenario_Definition');4851      startRule(context, 'Scenario');4852      build(context, token);4853      return 12;4854    }4855    if(match_ScenarioOutlineLine(context, token)) {4856      endRule(context, 'DataTable');4857      endRule(context, 'Step');4858      endRule(context, 'Scenario');4859      endRule(context, 'Scenario_Definition');4860      startRule(context, 'Scenario_Definition');4861      startRule(context, 'ScenarioOutline');4862      build(context, token);4863      return 17;4864    }4865    if(match_Comment(context, token)) {4866      build(context, token);4867      return 16;4868    }4869    if(match_Empty(context, token)) {4870      build(context, token);4871      return 16;4872    }4873    4874    var stateComment = "State: 16 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:0>Scenario:2>Step:1>Step_Arg:0>__alt1:0>DataTable:0>#TableRow:0";4875    token.detach();4876    var expectedTokens = ["#EOF", "#TableRow", "#StepLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Comment", "#Empty"];4877    var error = token.isEof ?4878      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :4879      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);4880    if (self.stopAtFirstError) throw error;4881    addError(context, error);4882    return 16;4883  }4884  // GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:0>#ScenarioOutlineLine:04885  function matchTokenAt_17(token, context) {4886    if(match_EOF(context, token)) {4887      endRule(context, 'ScenarioOutline');4888      endRule(context, 'Scenario_Definition');4889      endRule(context, 'Feature');4890      build(context, token);4891      return 27;4892    }4893    if(match_Empty(context, token)) {4894      build(context, token);4895      return 17;4896    }4897    if(match_Comment(context, token)) {4898      build(context, token);4899      return 19;4900    }4901    if(match_StepLine(context, token)) {4902      startRule(context, 'Step');4903      build(context, token);4904      return 20;4905    }4906    if(match_TagLine(context, token)) {4907      if(lookahead_0(context, token)) {4908      startRule(context, 'Examples_Definition');4909      startRule(context, 'Tags');4910      build(context, token);4911      return 22;4912      }4913    }4914    if(match_TagLine(context, token)) {4915      endRule(context, 'ScenarioOutline');4916      endRule(context, 'Scenario_Definition');4917      startRule(context, 'Scenario_Definition');4918      startRule(context, 'Tags');4919      build(context, token);4920      return 11;4921    }4922    if(match_ExamplesLine(context, token)) {4923      startRule(context, 'Examples_Definition');4924      startRule(context, 'Examples');4925      build(context, token);4926      return 23;4927    }4928    if(match_ScenarioLine(context, token)) {4929      endRule(context, 'ScenarioOutline');4930      endRule(context, 'Scenario_Definition');4931      startRule(context, 'Scenario_Definition');4932      startRule(context, 'Scenario');4933      build(context, token);4934      return 12;4935    }4936    if(match_ScenarioOutlineLine(context, token)) {4937      endRule(context, 'ScenarioOutline');4938      endRule(context, 'Scenario_Definition');4939      startRule(context, 'Scenario_Definition');4940      startRule(context, 'ScenarioOutline');4941      build(context, token);4942      return 17;4943    }4944    if(match_Other(context, token)) {4945      startRule(context, 'Description');4946      build(context, token);4947      return 18;4948    }4949    4950    var stateComment = "State: 17 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:0>#ScenarioOutlineLine:0";4951    token.detach();4952    var expectedTokens = ["#EOF", "#Empty", "#Comment", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Other"];4953    var error = token.isEof ?4954      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :4955      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);4956    if (self.stopAtFirstError) throw error;4957    addError(context, error);4958    return 17;4959  }4960  // GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:1>Description_Helper:1>Description:0>#Other:04961  function matchTokenAt_18(token, context) {4962    if(match_EOF(context, token)) {4963      endRule(context, 'Description');4964      endRule(context, 'ScenarioOutline');4965      endRule(context, 'Scenario_Definition');4966      endRule(context, 'Feature');4967      build(context, token);4968      return 27;4969    }4970    if(match_Comment(context, token)) {4971      endRule(context, 'Description');4972      build(context, token);4973      return 19;4974    }4975    if(match_StepLine(context, token)) {4976      endRule(context, 'Description');4977      startRule(context, 'Step');4978      build(context, token);4979      return 20;4980    }4981    if(match_TagLine(context, token)) {4982      if(lookahead_0(context, token)) {4983      endRule(context, 'Description');4984      startRule(context, 'Examples_Definition');4985      startRule(context, 'Tags');4986      build(context, token);4987      return 22;4988      }4989    }4990    if(match_TagLine(context, token)) {4991      endRule(context, 'Description');4992      endRule(context, 'ScenarioOutline');4993      endRule(context, 'Scenario_Definition');4994      startRule(context, 'Scenario_Definition');4995      startRule(context, 'Tags');4996      build(context, token);4997      return 11;4998    }4999    if(match_ExamplesLine(context, token)) {5000      endRule(context, 'Description');5001      startRule(context, 'Examples_Definition');5002      startRule(context, 'Examples');5003      build(context, token);5004      return 23;5005    }5006    if(match_ScenarioLine(context, token)) {5007      endRule(context, 'Description');5008      endRule(context, 'ScenarioOutline');5009      endRule(context, 'Scenario_Definition');5010      startRule(context, 'Scenario_Definition');5011      startRule(context, 'Scenario');5012      build(context, token);5013      return 12;5014    }5015    if(match_ScenarioOutlineLine(context, token)) {5016      endRule(context, 'Description');5017      endRule(context, 'ScenarioOutline');5018      endRule(context, 'Scenario_Definition');5019      startRule(context, 'Scenario_Definition');5020      startRule(context, 'ScenarioOutline');5021      build(context, token);5022      return 17;5023    }5024    if(match_Other(context, token)) {5025      build(context, token);5026      return 18;5027    }5028    5029    var stateComment = "State: 18 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:1>Description_Helper:1>Description:0>#Other:0";5030    token.detach();5031    var expectedTokens = ["#EOF", "#Comment", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Other"];5032    var error = token.isEof ?5033      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :5034      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);5035    if (self.stopAtFirstError) throw error;5036    addError(context, error);5037    return 18;5038  }5039  // GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:1>Description_Helper:2>#Comment:05040  function matchTokenAt_19(token, context) {5041    if(match_EOF(context, token)) {5042      endRule(context, 'ScenarioOutline');5043      endRule(context, 'Scenario_Definition');5044      endRule(context, 'Feature');5045      build(context, token);5046      return 27;5047    }5048    if(match_Comment(context, token)) {5049      build(context, token);5050      return 19;5051    }5052    if(match_StepLine(context, token)) {5053      startRule(context, 'Step');5054      build(context, token);5055      return 20;5056    }5057    if(match_TagLine(context, token)) {5058      if(lookahead_0(context, token)) {5059      startRule(context, 'Examples_Definition');5060      startRule(context, 'Tags');5061      build(context, token);5062      return 22;5063      }5064    }5065    if(match_TagLine(context, token)) {5066      endRule(context, 'ScenarioOutline');5067      endRule(context, 'Scenario_Definition');5068      startRule(context, 'Scenario_Definition');5069      startRule(context, 'Tags');5070      build(context, token);5071      return 11;5072    }5073    if(match_ExamplesLine(context, token)) {5074      startRule(context, 'Examples_Definition');5075      startRule(context, 'Examples');5076      build(context, token);5077      return 23;5078    }5079    if(match_ScenarioLine(context, token)) {5080      endRule(context, 'ScenarioOutline');5081      endRule(context, 'Scenario_Definition');5082      startRule(context, 'Scenario_Definition');5083      startRule(context, 'Scenario');5084      build(context, token);5085      return 12;5086    }5087    if(match_ScenarioOutlineLine(context, token)) {5088      endRule(context, 'ScenarioOutline');5089      endRule(context, 'Scenario_Definition');5090      startRule(context, 'Scenario_Definition');5091      startRule(context, 'ScenarioOutline');5092      build(context, token);5093      return 17;5094    }5095    if(match_Empty(context, token)) {5096      build(context, token);5097      return 19;5098    }5099    5100    var stateComment = "State: 19 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:1>Description_Helper:2>#Comment:0";5101    token.detach();5102    var expectedTokens = ["#EOF", "#Comment", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Empty"];5103    var error = token.isEof ?5104      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :5105      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);5106    if (self.stopAtFirstError) throw error;5107    addError(context, error);5108    return 19;5109  }5110  // GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:2>Step:0>#StepLine:05111  function matchTokenAt_20(token, context) {5112    if(match_EOF(context, token)) {5113      endRule(context, 'Step');5114      endRule(context, 'ScenarioOutline');5115      endRule(context, 'Scenario_Definition');5116      endRule(context, 'Feature');5117      build(context, token);5118      return 27;5119    }5120    if(match_TableRow(context, token)) {5121      startRule(context, 'DataTable');5122      build(context, token);5123      return 21;5124    }5125    if(match_DocStringSeparator(context, token)) {5126      startRule(context, 'DocString');5127      build(context, token);5128      return 28;5129    }5130    if(match_StepLine(context, token)) {5131      endRule(context, 'Step');5132      startRule(context, 'Step');5133      build(context, token);5134      return 20;5135    }5136    if(match_TagLine(context, token)) {5137      if(lookahead_0(context, token)) {5138      endRule(context, 'Step');5139      startRule(context, 'Examples_Definition');5140      startRule(context, 'Tags');5141      build(context, token);5142      return 22;5143      }5144    }5145    if(match_TagLine(context, token)) {5146      endRule(context, 'Step');5147      endRule(context, 'ScenarioOutline');5148      endRule(context, 'Scenario_Definition');5149      startRule(context, 'Scenario_Definition');5150      startRule(context, 'Tags');5151      build(context, token);5152      return 11;5153    }5154    if(match_ExamplesLine(context, token)) {5155      endRule(context, 'Step');5156      startRule(context, 'Examples_Definition');5157      startRule(context, 'Examples');5158      build(context, token);5159      return 23;5160    }5161    if(match_ScenarioLine(context, token)) {5162      endRule(context, 'Step');5163      endRule(context, 'ScenarioOutline');5164      endRule(context, 'Scenario_Definition');5165      startRule(context, 'Scenario_Definition');5166      startRule(context, 'Scenario');5167      build(context, token);5168      return 12;5169    }5170    if(match_ScenarioOutlineLine(context, token)) {5171      endRule(context, 'Step');5172      endRule(context, 'ScenarioOutline');5173      endRule(context, 'Scenario_Definition');5174      startRule(context, 'Scenario_Definition');5175      startRule(context, 'ScenarioOutline');5176      build(context, token);5177      return 17;5178    }5179    if(match_Comment(context, token)) {5180      build(context, token);5181      return 20;5182    }5183    if(match_Empty(context, token)) {5184      build(context, token);5185      return 20;5186    }5187    5188    var stateComment = "State: 20 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:2>Step:0>#StepLine:0";5189    token.detach();5190    var expectedTokens = ["#EOF", "#TableRow", "#DocStringSeparator", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Comment", "#Empty"];5191    var error = token.isEof ?5192      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :5193      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);5194    if (self.stopAtFirstError) throw error;5195    addError(context, error);5196    return 20;5197  }5198  // GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:2>Step:1>Step_Arg:0>__alt1:0>DataTable:0>#TableRow:05199  function matchTokenAt_21(token, context) {5200    if(match_EOF(context, token)) {5201      endRule(context, 'DataTable');5202      endRule(context, 'Step');5203      endRule(context, 'ScenarioOutline');5204      endRule(context, 'Scenario_Definition');5205      endRule(context, 'Feature');5206      build(context, token);5207      return 27;5208    }5209    if(match_TableRow(context, token)) {5210      build(context, token);5211      return 21;5212    }5213    if(match_StepLine(context, token)) {5214      endRule(context, 'DataTable');5215      endRule(context, 'Step');5216      startRule(context, 'Step');5217      build(context, token);5218      return 20;5219    }5220    if(match_TagLine(context, token)) {5221      if(lookahead_0(context, token)) {5222      endRule(context, 'DataTable');5223      endRule(context, 'Step');5224      startRule(context, 'Examples_Definition');5225      startRule(context, 'Tags');5226      build(context, token);5227      return 22;5228      }5229    }5230    if(match_TagLine(context, token)) {5231      endRule(context, 'DataTable');5232      endRule(context, 'Step');5233      endRule(context, 'ScenarioOutline');5234      endRule(context, 'Scenario_Definition');5235      startRule(context, 'Scenario_Definition');5236      startRule(context, 'Tags');5237      build(context, token);5238      return 11;5239    }5240    if(match_ExamplesLine(context, token)) {5241      endRule(context, 'DataTable');5242      endRule(context, 'Step');5243      startRule(context, 'Examples_Definition');5244      startRule(context, 'Examples');5245      build(context, token);5246      return 23;5247    }5248    if(match_ScenarioLine(context, token)) {5249      endRule(context, 'DataTable');5250      endRule(context, 'Step');5251      endRule(context, 'ScenarioOutline');5252      endRule(context, 'Scenario_Definition');5253      startRule(context, 'Scenario_Definition');5254      startRule(context, 'Scenario');5255      build(context, token);5256      return 12;5257    }5258    if(match_ScenarioOutlineLine(context, token)) {5259      endRule(context, 'DataTable');5260      endRule(context, 'Step');5261      endRule(context, 'ScenarioOutline');5262      endRule(context, 'Scenario_Definition');5263      startRule(context, 'Scenario_Definition');5264      startRule(context, 'ScenarioOutline');5265      build(context, token);5266      return 17;5267    }5268    if(match_Comment(context, token)) {5269      build(context, token);5270      return 21;5271    }5272    if(match_Empty(context, token)) {5273      build(context, token);5274      return 21;5275    }5276    5277    var stateComment = "State: 21 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:2>Step:1>Step_Arg:0>__alt1:0>DataTable:0>#TableRow:0";5278    token.detach();5279    var expectedTokens = ["#EOF", "#TableRow", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Comment", "#Empty"];5280    var error = token.isEof ?5281      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :5282      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);5283    if (self.stopAtFirstError) throw error;5284    addError(context, error);5285    return 21;5286  }5287  // GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:3>Examples_Definition:0>Tags:0>#TagLine:05288  function matchTokenAt_22(token, context) {5289    if(match_TagLine(context, token)) {5290      build(context, token);5291      return 22;5292    }5293    if(match_ExamplesLine(context, token)) {5294      endRule(context, 'Tags');5295      startRule(context, 'Examples');5296      build(context, token);5297      return 23;5298    }5299    if(match_Comment(context, token)) {5300      build(context, token);5301      return 22;5302    }5303    if(match_Empty(context, token)) {5304      build(context, token);5305      return 22;5306    }5307    5308    var stateComment = "State: 22 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:3>Examples_Definition:0>Tags:0>#TagLine:0";5309    token.detach();5310    var expectedTokens = ["#TagLine", "#ExamplesLine", "#Comment", "#Empty"];5311    var error = token.isEof ?5312      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :5313      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);5314    if (self.stopAtFirstError) throw error;5315    addError(context, error);5316    return 22;5317  }5318  // GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:3>Examples_Definition:1>Examples:0>#ExamplesLine:05319  function matchTokenAt_23(token, context) {5320    if(match_EOF(context, token)) {5321      endRule(context, 'Examples');5322      endRule(context, 'Examples_Definition');5323      endRule(context, 'ScenarioOutline');5324      endRule(context, 'Scenario_Definition');5325      endRule(context, 'Feature');5326      build(context, token);5327      return 27;5328    }5329    if(match_Empty(context, token)) {5330      build(context, token);5331      return 23;5332    }5333    if(match_Comment(context, token)) {5334      build(context, token);5335      return 25;5336    }5337    if(match_TableRow(context, token)) {5338      startRule(context, 'Examples_Table');5339      build(context, token);5340      return 26;5341    }5342    if(match_TagLine(context, token)) {5343      if(lookahead_0(context, token)) {5344      endRule(context, 'Examples');5345      endRule(context, 'Examples_Definition');5346      startRule(context, 'Examples_Definition');5347      startRule(context, 'Tags');5348      build(context, token);5349      return 22;5350      }5351    }5352    if(match_TagLine(context, token)) {5353      endRule(context, 'Examples');5354      endRule(context, 'Examples_Definition');5355      endRule(context, 'ScenarioOutline');5356      endRule(context, 'Scenario_Definition');5357      startRule(context, 'Scenario_Definition');5358      startRule(context, 'Tags');5359      build(context, token);5360      return 11;5361    }5362    if(match_ExamplesLine(context, token)) {5363      endRule(context, 'Examples');5364      endRule(context, 'Examples_Definition');5365      startRule(context, 'Examples_Definition');5366      startRule(context, 'Examples');5367      build(context, token);5368      return 23;5369    }5370    if(match_ScenarioLine(context, token)) {5371      endRule(context, 'Examples');5372      endRule(context, 'Examples_Definition');5373      endRule(context, 'ScenarioOutline');5374      endRule(context, 'Scenario_Definition');5375      startRule(context, 'Scenario_Definition');5376      startRule(context, 'Scenario');5377      build(context, token);5378      return 12;5379    }5380    if(match_ScenarioOutlineLine(context, token)) {5381      endRule(context, 'Examples');5382      endRule(context, 'Examples_Definition');5383      endRule(context, 'ScenarioOutline');5384      endRule(context, 'Scenario_Definition');5385      startRule(context, 'Scenario_Definition');5386      startRule(context, 'ScenarioOutline');5387      build(context, token);5388      return 17;5389    }5390    if(match_Other(context, token)) {5391      startRule(context, 'Description');5392      build(context, token);5393      return 24;5394    }5395    5396    var stateComment = "State: 23 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:3>Examples_Definition:1>Examples:0>#ExamplesLine:0";5397    token.detach();5398    var expectedTokens = ["#EOF", "#Empty", "#Comment", "#TableRow", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Other"];5399    var error = token.isEof ?5400      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :5401      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);5402    if (self.stopAtFirstError) throw error;5403    addError(context, error);5404    return 23;5405  }5406  // GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:3>Examples_Definition:1>Examples:1>Description_Helper:1>Description:0>#Other:05407  function matchTokenAt_24(token, context) {5408    if(match_EOF(context, token)) {5409      endRule(context, 'Description');5410      endRule(context, 'Examples');5411      endRule(context, 'Examples_Definition');5412      endRule(context, 'ScenarioOutline');5413      endRule(context, 'Scenario_Definition');5414      endRule(context, 'Feature');5415      build(context, token);5416      return 27;5417    }5418    if(match_Comment(context, token)) {5419      endRule(context, 'Description');5420      build(context, token);5421      return 25;5422    }5423    if(match_TableRow(context, token)) {5424      endRule(context, 'Description');5425      startRule(context, 'Examples_Table');5426      build(context, token);5427      return 26;5428    }5429    if(match_TagLine(context, token)) {5430      if(lookahead_0(context, token)) {5431      endRule(context, 'Description');5432      endRule(context, 'Examples');5433      endRule(context, 'Examples_Definition');5434      startRule(context, 'Examples_Definition');5435      startRule(context, 'Tags');5436      build(context, token);5437      return 22;5438      }5439    }5440    if(match_TagLine(context, token)) {5441      endRule(context, 'Description');5442      endRule(context, 'Examples');5443      endRule(context, 'Examples_Definition');5444      endRule(context, 'ScenarioOutline');5445      endRule(context, 'Scenario_Definition');5446      startRule(context, 'Scenario_Definition');5447      startRule(context, 'Tags');5448      build(context, token);5449      return 11;5450    }5451    if(match_ExamplesLine(context, token)) {5452      endRule(context, 'Description');5453      endRule(context, 'Examples');5454      endRule(context, 'Examples_Definition');5455      startRule(context, 'Examples_Definition');5456      startRule(context, 'Examples');5457      build(context, token);5458      return 23;5459    }5460    if(match_ScenarioLine(context, token)) {5461      endRule(context, 'Description');5462      endRule(context, 'Examples');5463      endRule(context, 'Examples_Definition');5464      endRule(context, 'ScenarioOutline');5465      endRule(context, 'Scenario_Definition');5466      startRule(context, 'Scenario_Definition');5467      startRule(context, 'Scenario');5468      build(context, token);5469      return 12;5470    }5471    if(match_ScenarioOutlineLine(context, token)) {5472      endRule(context, 'Description');5473      endRule(context, 'Examples');5474      endRule(context, 'Examples_Definition');5475      endRule(context, 'ScenarioOutline');5476      endRule(context, 'Scenario_Definition');5477      startRule(context, 'Scenario_Definition');5478      startRule(context, 'ScenarioOutline');5479      build(context, token);5480      return 17;5481    }5482    if(match_Other(context, token)) {5483      build(context, token);5484      return 24;5485    }5486    5487    var stateComment = "State: 24 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:3>Examples_Definition:1>Examples:1>Description_Helper:1>Description:0>#Other:0";5488    token.detach();5489    var expectedTokens = ["#EOF", "#Comment", "#TableRow", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Other"];5490    var error = token.isEof ?5491      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :5492      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);5493    if (self.stopAtFirstError) throw error;5494    addError(context, error);5495    return 24;5496  }5497  // GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:3>Examples_Definition:1>Examples:1>Description_Helper:2>#Comment:05498  function matchTokenAt_25(token, context) {5499    if(match_EOF(context, token)) {5500      endRule(context, 'Examples');5501      endRule(context, 'Examples_Definition');5502      endRule(context, 'ScenarioOutline');5503      endRule(context, 'Scenario_Definition');5504      endRule(context, 'Feature');5505      build(context, token);5506      return 27;5507    }5508    if(match_Comment(context, token)) {5509      build(context, token);5510      return 25;5511    }5512    if(match_TableRow(context, token)) {5513      startRule(context, 'Examples_Table');5514      build(context, token);5515      return 26;5516    }5517    if(match_TagLine(context, token)) {5518      if(lookahead_0(context, token)) {5519      endRule(context, 'Examples');5520      endRule(context, 'Examples_Definition');5521      startRule(context, 'Examples_Definition');5522      startRule(context, 'Tags');5523      build(context, token);5524      return 22;5525      }5526    }5527    if(match_TagLine(context, token)) {5528      endRule(context, 'Examples');5529      endRule(context, 'Examples_Definition');5530      endRule(context, 'ScenarioOutline');5531      endRule(context, 'Scenario_Definition');5532      startRule(context, 'Scenario_Definition');5533      startRule(context, 'Tags');5534      build(context, token);5535      return 11;5536    }5537    if(match_ExamplesLine(context, token)) {5538      endRule(context, 'Examples');5539      endRule(context, 'Examples_Definition');5540      startRule(context, 'Examples_Definition');5541      startRule(context, 'Examples');5542      build(context, token);5543      return 23;5544    }5545    if(match_ScenarioLine(context, token)) {5546      endRule(context, 'Examples');5547      endRule(context, 'Examples_Definition');5548      endRule(context, 'ScenarioOutline');5549      endRule(context, 'Scenario_Definition');5550      startRule(context, 'Scenario_Definition');5551      startRule(context, 'Scenario');5552      build(context, token);5553      return 12;5554    }5555    if(match_ScenarioOutlineLine(context, token)) {5556      endRule(context, 'Examples');5557      endRule(context, 'Examples_Definition');5558      endRule(context, 'ScenarioOutline');5559      endRule(context, 'Scenario_Definition');5560      startRule(context, 'Scenario_Definition');5561      startRule(context, 'ScenarioOutline');5562      build(context, token);5563      return 17;5564    }5565    if(match_Empty(context, token)) {5566      build(context, token);5567      return 25;5568    }5569    5570    var stateComment = "State: 25 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:3>Examples_Definition:1>Examples:1>Description_Helper:2>#Comment:0";5571    token.detach();5572    var expectedTokens = ["#EOF", "#Comment", "#TableRow", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Empty"];5573    var error = token.isEof ?5574      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :5575      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);5576    if (self.stopAtFirstError) throw error;5577    addError(context, error);5578    return 25;5579  }5580  // GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:3>Examples_Definition:1>Examples:2>Examples_Table:0>#TableRow:05581  function matchTokenAt_26(token, context) {5582    if(match_EOF(context, token)) {5583      endRule(context, 'Examples_Table');5584      endRule(context, 'Examples');5585      endRule(context, 'Examples_Definition');5586      endRule(context, 'ScenarioOutline');5587      endRule(context, 'Scenario_Definition');5588      endRule(context, 'Feature');5589      build(context, token);5590      return 27;5591    }5592    if(match_TableRow(context, token)) {5593      build(context, token);5594      return 26;5595    }5596    if(match_TagLine(context, token)) {5597      if(lookahead_0(context, token)) {5598      endRule(context, 'Examples_Table');5599      endRule(context, 'Examples');5600      endRule(context, 'Examples_Definition');5601      startRule(context, 'Examples_Definition');5602      startRule(context, 'Tags');5603      build(context, token);5604      return 22;5605      }5606    }5607    if(match_TagLine(context, token)) {5608      endRule(context, 'Examples_Table');5609      endRule(context, 'Examples');5610      endRule(context, 'Examples_Definition');5611      endRule(context, 'ScenarioOutline');5612      endRule(context, 'Scenario_Definition');5613      startRule(context, 'Scenario_Definition');5614      startRule(context, 'Tags');5615      build(context, token);5616      return 11;5617    }5618    if(match_ExamplesLine(context, token)) {5619      endRule(context, 'Examples_Table');5620      endRule(context, 'Examples');5621      endRule(context, 'Examples_Definition');5622      startRule(context, 'Examples_Definition');5623      startRule(context, 'Examples');5624      build(context, token);5625      return 23;5626    }5627    if(match_ScenarioLine(context, token)) {5628      endRule(context, 'Examples_Table');5629      endRule(context, 'Examples');5630      endRule(context, 'Examples_Definition');5631      endRule(context, 'ScenarioOutline');5632      endRule(context, 'Scenario_Definition');5633      startRule(context, 'Scenario_Definition');5634      startRule(context, 'Scenario');5635      build(context, token);5636      return 12;5637    }5638    if(match_ScenarioOutlineLine(context, token)) {5639      endRule(context, 'Examples_Table');5640      endRule(context, 'Examples');5641      endRule(context, 'Examples_Definition');5642      endRule(context, 'ScenarioOutline');5643      endRule(context, 'Scenario_Definition');5644      startRule(context, 'Scenario_Definition');5645      startRule(context, 'ScenarioOutline');5646      build(context, token);5647      return 17;5648    }5649    if(match_Comment(context, token)) {5650      build(context, token);5651      return 26;5652    }5653    if(match_Empty(context, token)) {5654      build(context, token);5655      return 26;5656    }5657    5658    var stateComment = "State: 26 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:3>Examples_Definition:1>Examples:2>Examples_Table:0>#TableRow:0";5659    token.detach();5660    var expectedTokens = ["#EOF", "#TableRow", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Comment", "#Empty"];5661    var error = token.isEof ?5662      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :5663      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);5664    if (self.stopAtFirstError) throw error;5665    addError(context, error);5666    return 26;5667  }5668  // GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:2>Step:1>Step_Arg:0>__alt1:1>DocString:0>#DocStringSeparator:05669  function matchTokenAt_28(token, context) {5670    if(match_DocStringSeparator(context, token)) {5671      build(context, token);5672      return 29;5673    }5674    if(match_Other(context, token)) {5675      build(context, token);5676      return 28;5677    }5678    5679    var stateComment = "State: 28 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:2>Step:1>Step_Arg:0>__alt1:1>DocString:0>#DocStringSeparator:0";5680    token.detach();5681    var expectedTokens = ["#DocStringSeparator", "#Other"];5682    var error = token.isEof ?5683      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :5684      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);5685    if (self.stopAtFirstError) throw error;5686    addError(context, error);5687    return 28;5688  }5689  // GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:2>Step:1>Step_Arg:0>__alt1:1>DocString:2>#DocStringSeparator:05690  function matchTokenAt_29(token, context) {5691    if(match_EOF(context, token)) {5692      endRule(context, 'DocString');5693      endRule(context, 'Step');5694      endRule(context, 'ScenarioOutline');5695      endRule(context, 'Scenario_Definition');5696      endRule(context, 'Feature');5697      build(context, token);5698      return 27;5699    }5700    if(match_StepLine(context, token)) {5701      endRule(context, 'DocString');5702      endRule(context, 'Step');5703      startRule(context, 'Step');5704      build(context, token);5705      return 20;5706    }5707    if(match_TagLine(context, token)) {5708      if(lookahead_0(context, token)) {5709      endRule(context, 'DocString');5710      endRule(context, 'Step');5711      startRule(context, 'Examples_Definition');5712      startRule(context, 'Tags');5713      build(context, token);5714      return 22;5715      }5716    }5717    if(match_TagLine(context, token)) {5718      endRule(context, 'DocString');5719      endRule(context, 'Step');5720      endRule(context, 'ScenarioOutline');5721      endRule(context, 'Scenario_Definition');5722      startRule(context, 'Scenario_Definition');5723      startRule(context, 'Tags');5724      build(context, token);5725      return 11;5726    }5727    if(match_ExamplesLine(context, token)) {5728      endRule(context, 'DocString');5729      endRule(context, 'Step');5730      startRule(context, 'Examples_Definition');5731      startRule(context, 'Examples');5732      build(context, token);5733      return 23;5734    }5735    if(match_ScenarioLine(context, token)) {5736      endRule(context, 'DocString');5737      endRule(context, 'Step');5738      endRule(context, 'ScenarioOutline');5739      endRule(context, 'Scenario_Definition');5740      startRule(context, 'Scenario_Definition');5741      startRule(context, 'Scenario');5742      build(context, token);5743      return 12;5744    }5745    if(match_ScenarioOutlineLine(context, token)) {5746      endRule(context, 'DocString');5747      endRule(context, 'Step');5748      endRule(context, 'ScenarioOutline');5749      endRule(context, 'Scenario_Definition');5750      startRule(context, 'Scenario_Definition');5751      startRule(context, 'ScenarioOutline');5752      build(context, token);5753      return 17;5754    }5755    if(match_Comment(context, token)) {5756      build(context, token);5757      return 29;5758    }5759    if(match_Empty(context, token)) {5760      build(context, token);5761      return 29;5762    }5763    5764    var stateComment = "State: 29 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:2>Step:1>Step_Arg:0>__alt1:1>DocString:2>#DocStringSeparator:0";5765    token.detach();5766    var expectedTokens = ["#EOF", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Comment", "#Empty"];5767    var error = token.isEof ?5768      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :5769      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);5770    if (self.stopAtFirstError) throw error;5771    addError(context, error);5772    return 29;5773  }5774  // GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:0>Scenario:2>Step:1>Step_Arg:0>__alt1:1>DocString:0>#DocStringSeparator:05775  function matchTokenAt_30(token, context) {5776    if(match_DocStringSeparator(context, token)) {5777      build(context, token);5778      return 31;5779    }5780    if(match_Other(context, token)) {5781      build(context, token);5782      return 30;5783    }5784    5785    var stateComment = "State: 30 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:0>Scenario:2>Step:1>Step_Arg:0>__alt1:1>DocString:0>#DocStringSeparator:0";5786    token.detach();5787    var expectedTokens = ["#DocStringSeparator", "#Other"];5788    var error = token.isEof ?5789      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :5790      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);5791    if (self.stopAtFirstError) throw error;5792    addError(context, error);5793    return 30;5794  }5795  // GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:0>Scenario:2>Step:1>Step_Arg:0>__alt1:1>DocString:2>#DocStringSeparator:05796  function matchTokenAt_31(token, context) {5797    if(match_EOF(context, token)) {5798      endRule(context, 'DocString');5799      endRule(context, 'Step');5800      endRule(context, 'Scenario');5801      endRule(context, 'Scenario_Definition');5802      endRule(context, 'Feature');5803      build(context, token);5804      return 27;5805    }5806    if(match_StepLine(context, token)) {5807      endRule(context, 'DocString');5808      endRule(context, 'Step');5809      startRule(context, 'Step');5810      build(context, token);5811      return 15;5812    }5813    if(match_TagLine(context, token)) {5814      endRule(context, 'DocString');5815      endRule(context, 'Step');5816      endRule(context, 'Scenario');5817      endRule(context, 'Scenario_Definition');5818      startRule(context, 'Scenario_Definition');5819      startRule(context, 'Tags');5820      build(context, token);5821      return 11;5822    }5823    if(match_ScenarioLine(context, token)) {5824      endRule(context, 'DocString');5825      endRule(context, 'Step');5826      endRule(context, 'Scenario');5827      endRule(context, 'Scenario_Definition');5828      startRule(context, 'Scenario_Definition');5829      startRule(context, 'Scenario');5830      build(context, token);5831      return 12;5832    }5833    if(match_ScenarioOutlineLine(context, token)) {5834      endRule(context, 'DocString');5835      endRule(context, 'Step');5836      endRule(context, 'Scenario');5837      endRule(context, 'Scenario_Definition');5838      startRule(context, 'Scenario_Definition');5839      startRule(context, 'ScenarioOutline');5840      build(context, token);5841      return 17;5842    }5843    if(match_Comment(context, token)) {5844      build(context, token);5845      return 31;5846    }5847    if(match_Empty(context, token)) {5848      build(context, token);5849      return 31;5850    }5851    5852    var stateComment = "State: 31 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:0>Scenario:2>Step:1>Step_Arg:0>__alt1:1>DocString:2>#DocStringSeparator:0";5853    token.detach();5854    var expectedTokens = ["#EOF", "#StepLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Comment", "#Empty"];5855    var error = token.isEof ?5856      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :5857      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);5858    if (self.stopAtFirstError) throw error;5859    addError(context, error);5860    return 31;5861  }5862  // GherkinDocument:0>Feature:1>Background:2>Step:1>Step_Arg:0>__alt1:1>DocString:0>#DocStringSeparator:05863  function matchTokenAt_32(token, context) {5864    if(match_DocStringSeparator(context, token)) {5865      build(context, token);5866      return 33;5867    }5868    if(match_Other(context, token)) {5869      build(context, token);5870      return 32;5871    }5872    5873    var stateComment = "State: 32 - GherkinDocument:0>Feature:1>Background:2>Step:1>Step_Arg:0>__alt1:1>DocString:0>#DocStringSeparator:0";5874    token.detach();5875    var expectedTokens = ["#DocStringSeparator", "#Other"];5876    var error = token.isEof ?5877      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :5878      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);5879    if (self.stopAtFirstError) throw error;5880    addError(context, error);5881    return 32;5882  }5883  // GherkinDocument:0>Feature:1>Background:2>Step:1>Step_Arg:0>__alt1:1>DocString:2>#DocStringSeparator:05884  function matchTokenAt_33(token, context) {5885    if(match_EOF(context, token)) {5886      endRule(context, 'DocString');5887      endRule(context, 'Step');5888      endRule(context, 'Background');5889      endRule(context, 'Feature');5890      build(context, token);5891      return 27;5892    }5893    if(match_StepLine(context, token)) {5894      endRule(context, 'DocString');5895      endRule(context, 'Step');5896      startRule(context, 'Step');5897      build(context, token);5898      return 9;5899    }5900    if(match_TagLine(context, token)) {5901      endRule(context, 'DocString');5902      endRule(context, 'Step');5903      endRule(context, 'Background');5904      startRule(context, 'Scenario_Definition');5905      startRule(context, 'Tags');5906      build(context, token);5907      return 11;5908    }5909    if(match_ScenarioLine(context, token)) {5910      endRule(context, 'DocString');5911      endRule(context, 'Step');5912      endRule(context, 'Background');5913      startRule(context, 'Scenario_Definition');5914      startRule(context, 'Scenario');5915      build(context, token);5916      return 12;5917    }5918    if(match_ScenarioOutlineLine(context, token)) {5919      endRule(context, 'DocString');5920      endRule(context, 'Step');5921      endRule(context, 'Background');5922      startRule(context, 'Scenario_Definition');5923      startRule(context, 'ScenarioOutline');5924      build(context, token);5925      return 17;5926    }5927    if(match_Comment(context, token)) {5928      build(context, token);5929      return 33;5930    }5931    if(match_Empty(context, token)) {5932      build(context, token);5933      return 33;5934    }5935    5936    var stateComment = "State: 33 - GherkinDocument:0>Feature:1>Background:2>Step:1>Step_Arg:0>__alt1:1>DocString:2>#DocStringSeparator:0";5937    token.detach();5938    var expectedTokens = ["#EOF", "#StepLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Comment", "#Empty"];5939    var error = token.isEof ?5940      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :5941      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);5942    if (self.stopAtFirstError) throw error;5943    addError(context, error);5944    return 33;5945  }5946  function match_EOF(context, token) {5947    return handleExternalError(context, false, function () {5948      return context.tokenMatcher.match_EOF(token);5949    });5950  }5951  function match_Empty(context, token) {5952    if(token.isEof) return false;5953    return handleExternalError(context, false, function () {5954      return context.tokenMatcher.match_Empty(token);5955    });5956  }5957  function match_Comment(context, token) {5958    if(token.isEof) return false;5959    return handleExternalError(context, false, function () {5960      return context.tokenMatcher.match_Comment(token);5961    });5962  }5963  function match_TagLine(context, token) {5964    if(token.isEof) return false;5965    return handleExternalError(context, false, function () {5966      return context.tokenMatcher.match_TagLine(token);5967    });5968  }5969  function match_FeatureLine(context, token) {5970    if(token.isEof) return false;5971    return handleExternalError(context, false, function () {5972      return context.tokenMatcher.match_FeatureLine(token);5973    });5974  }5975  function match_BackgroundLine(context, token) {5976    if(token.isEof) return false;5977    return handleExternalError(context, false, function () {5978      return context.tokenMatcher.match_BackgroundLine(token);5979    });5980  }5981  function match_ScenarioLine(context, token) {5982    if(token.isEof) return false;5983    return handleExternalError(context, false, function () {5984      return context.tokenMatcher.match_ScenarioLine(token);5985    });5986  }5987  function match_ScenarioOutlineLine(context, token) {5988    if(token.isEof) return false;5989    return handleExternalError(context, false, function () {5990      return context.tokenMatcher.match_ScenarioOutlineLine(token);5991    });5992  }5993  function match_ExamplesLine(context, token) {5994    if(token.isEof) return false;5995    return handleExternalError(context, false, function () {5996      return context.tokenMatcher.match_ExamplesLine(token);5997    });5998  }5999  function match_StepLine(context, token) {6000    if(token.isEof) return false;6001    return handleExternalError(context, false, function () {6002      return context.tokenMatcher.match_StepLine(token);6003    });6004  }6005  function match_DocStringSeparator(context, token) {6006    if(token.isEof) return false;6007    return handleExternalError(context, false, function () {6008      return context.tokenMatcher.match_DocStringSeparator(token);6009    });6010  }6011  function match_TableRow(context, token) {6012    if(token.isEof) return false;6013    return handleExternalError(context, false, function () {6014      return context.tokenMatcher.match_TableRow(token);6015    });6016  }6017  function match_Language(context, token) {6018    if(token.isEof) return false;6019    return handleExternalError(context, false, function () {6020      return context.tokenMatcher.match_Language(token);6021    });6022  }6023  function match_Other(context, token) {6024    if(token.isEof) return false;6025    return handleExternalError(context, false, function () {6026      return context.tokenMatcher.match_Other(token);6027    });6028  }6029  function lookahead_0(context, currentToken) {6030    currentToken.detach();6031    var token;6032    var queue = [];6033    var match = false;6034    do {6035      token = readToken(context);6036      token.detach();6037      queue.push(token);6038      if (false  || match_ExamplesLine(context, token)) {6039        match = true;6040        break;6041      }6042    } while(false  || match_Empty(context, token) || match_Comment(context, token) || match_TagLine(context, token));6043    context.tokenQueue = context.tokenQueue.concat(queue);6044    return match;6045  }6046}6047},{"./ast_builder":2,"./errors":6,"./token_matcher":13,"./token_scanner":14}],11:[function(require,module,exports){6048var countSymbols = require('../count_symbols');6049function Compiler() {6050  this.compile = function (gherkin_document) {6051    var pickles = [];6052    if (gherkin_document.feature == null) return pickles;6053    var feature = gherkin_document.feature;6054    var language = feature.language;6055    var featureTags = feature.tags;6056    var backgroundSteps = [];6057    feature.children.forEach(function (scenarioDefinition) {6058      if(scenarioDefinition.type === 'Background') {6059        backgroundSteps = pickleSteps(scenarioDefinition);6060      } else if(scenarioDefinition.type === 'Scenario') {6061        compileScenario(featureTags, backgroundSteps, scenarioDefinition, language, pickles);6062      } else {6063        compileScenarioOutline(featureTags, backgroundSteps, scenarioDefinition, language, pickles);6064      }6065    });6066    return pickles;6067  };6068  function compileScenario(featureTags, backgroundSteps, scenario, language, pickles) {6069    var steps = scenario.steps.length == 0 ? [] : [].concat(backgroundSteps);6070    var tags = [].concat(featureTags).concat(scenario.tags);6071    scenario.steps.forEach(function (step) {6072      steps.push(pickleStep(step));6073    });6074    var pickle = {6075      tags: pickleTags(tags),6076      name: scenario.name,6077      language: language,6078      locations: [pickleLocation(scenario.location)],6079      steps: steps6080    };6081    pickles.push(pickle);6082  }6083  function compileScenarioOutline(featureTags, backgroundSteps, scenarioOutline, language, pickles) {6084    scenarioOutline.examples.filter(function(e) { return e.tableHeader != undefined; }).forEach(function (examples) {6085      var variableCells = examples.tableHeader.cells;6086      examples.tableBody.forEach(function (values) {6087        var valueCells = values.cells;6088        var steps = scenarioOutline.steps.length == 0 ? [] : [].concat(backgroundSteps);6089        var tags = [].concat(featureTags).concat(scenarioOutline.tags).concat(examples.tags);6090        scenarioOutline.steps.forEach(function (scenarioOutlineStep) {6091          var stepText = interpolate(scenarioOutlineStep.text, variableCells, valueCells);6092          var args = createPickleArguments(scenarioOutlineStep.argument, variableCells, valueCells);6093          var pickleStep = {6094            text: stepText,6095            arguments: args,6096            locations: [6097              pickleLocation(values.location),6098              pickleStepLocation(scenarioOutlineStep)6099            ]6100          };6101          steps.push(pickleStep);6102        });6103        var pickle = {6104          name: interpolate(scenarioOutline.name, variableCells, valueCells),6105          language: language,6106          steps: steps,6107          tags: pickleTags(tags),6108          locations: [6109            pickleLocation(values.location),6110            pickleLocation(scenarioOutline.location)6111          ]6112        };6113        pickles.push(pickle);6114      });6115    });6116  }6117  function createPickleArguments(argument, variableCells, valueCells) {6118    var result = [];6119    if (!argument) return result;6120    if (argument.type === 'DataTable') {6121      var table = {6122        rows: argument.rows.map(function (row) {6123          return {6124            cells: row.cells.map(function (cell) {6125              return {6126                location: pickleLocation(cell.location),6127                value: interpolate(cell.value, variableCells, valueCells)6128              };6129            })6130          };6131        })6132      };6133      result.push(table);6134    } else if (argument.type === 'DocString') {6135      var docString = {6136        location: pickleLocation(argument.location),6137        content: interpolate(argument.content, variableCells, valueCells),6138      };6139      if(argument.contentType) {6140        docString.contentType = interpolate(argument.contentType, variableCells, valueCells);6141      }6142      result.push(docString);6143    } else {6144      throw Error('Internal error');6145    }6146    return result;6147  }6148  function interpolate(name, variableCells, valueCells) {6149    variableCells.forEach(function (variableCell, n) {6150      var valueCell = valueCells[n];6151      var search = new RegExp('<' + variableCell.value + '>', 'g');6152      // JS Specific - dollar sign needs to be escaped with another dollar sign6153      // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace#Specifying_a_string_as_a_parameter6154      var replacement = valueCell.value.replace(new RegExp('\\$', 'g'), '$$$$')6155      name = name.replace(search, replacement);6156    });6157    return name;6158  }6159  function pickleSteps(scenarioDefinition) {6160    return scenarioDefinition.steps.map(function (step) {6161      return pickleStep(step);6162    });6163  }6164  function pickleStep(step) {6165    return {6166      text: step.text,6167      arguments: createPickleArguments(step.argument, [], []),6168      locations: [pickleStepLocation(step)]6169    }6170  }6171  function pickleStepLocation(step) {6172    return {6173      line: step.location.line,6174      column: step.location.column + (step.keyword ? countSymbols(step.keyword) : 0)6175    };6176  }6177  function pickleLocation(location) {6178    return {6179      line: location.line,6180      column: location.column6181    }6182  }6183  function pickleTags(tags) {6184    return tags.map(function (tag) {6185      return pickleTag(tag);6186    });6187  }6188  function pickleTag(tag) {6189    return {6190      name: tag.name,6191      location: pickleLocation(tag.location)6192    };6193  }6194}6195module.exports = Compiler;6196},{"../count_symbols":4}],12:[function(require,module,exports){6197function Token(line, location) {6198  this.line = line;6199  this.location = location;6200  this.isEof = line == null;6201};6202Token.prototype.getTokenValue = function () {6203  return this.isEof ? "EOF" : this.line.getLineText(-1);6204};6205Token.prototype.detach = function () {6206  // TODO: Detach line, but is this really needed?6207};6208module.exports = Token;6209},{}],13:[function(require,module,exports){6210var DIALECTS = require('./dialects');6211var Errors = require('./errors');6212var LANGUAGE_PATTERN = /^\s*#\s*language\s*:\s*([a-zA-Z\-_]+)\s*$/;6213module.exports = function TokenMatcher(defaultDialectName) {6214  defaultDialectName = defaultDialectName || 'en';6215  var dialect;6216  var dialectName;6217  var activeDocStringSeparator;6218  var indentToRemove;6219  function changeDialect(newDialectName, location) {6220    var newDialect = DIALECTS[newDialectName];6221    if(!newDialect) {6222      throw Errors.NoSuchLanguageException.create(newDialectName, location);6223    }6224    dialectName = newDialectName;6225    dialect = newDialect;6226  }6227  this.reset = function () {6228    if(dialectName != defaultDialectName) changeDialect(defaultDialectName);6229    activeDocStringSeparator = null;6230    indentToRemove = 0;6231  };6232  this.reset();6233  this.match_TagLine = function match_TagLine(token) {6234    if(token.line.startsWith('@')) {6235      setTokenMatched(token, 'TagLine', null, null, null, token.line.getTags());6236      return true;6237    }6238    return false;6239  };6240  this.match_FeatureLine = function match_FeatureLine(token) {6241    return matchTitleLine(token, 'FeatureLine', dialect.feature);6242  };6243  this.match_ScenarioLine = function match_ScenarioLine(token) {6244    return matchTitleLine(token, 'ScenarioLine', dialect.scenario);6245  };6246  this.match_ScenarioOutlineLine = function match_ScenarioOutlineLine(token) {6247    return matchTitleLine(token, 'ScenarioOutlineLine', dialect.scenarioOutline);6248  };6249  this.match_BackgroundLine = function match_BackgroundLine(token) {6250    return matchTitleLine(token, 'BackgroundLine', dialect.background);6251  };6252  this.match_ExamplesLine = function match_ExamplesLine(token) {6253    return matchTitleLine(token, 'ExamplesLine', dialect.examples);6254  };6255  this.match_TableRow = function match_TableRow(token) {6256    if (token.line.startsWith('|')) {6257      // TODO: indent6258      setTokenMatched(token, 'TableRow', null, null, null, token.line.getTableCells());6259      return true;6260    }6261    return false;6262  };6263  this.match_Empty = function match_Empty(token) {...

Full Screen

Full Screen

parser.js

Source:parser.js Github

copy

Full Screen

...348    if(match_Comment(context, token)) {349      build(context, token);350      return 5;351    }352    if(match_BackgroundLine(context, token)) {353      endRule(context, 'FeatureHeader');354      startRule(context, 'Background');355      build(context, token);356      return 6;357    }358    if(match_TagLine(context, token)) {359      endRule(context, 'FeatureHeader');360      startRule(context, 'ScenarioDefinition');361      startRule(context, 'Tags');362      build(context, token);363      return 11;364    }365    if(match_ScenarioLine(context, token)) {366      endRule(context, 'FeatureHeader');367      startRule(context, 'ScenarioDefinition');368      startRule(context, 'Scenario');369      build(context, token);370      return 12;371    }372    if(match_RuleLine(context, token)) {373      endRule(context, 'FeatureHeader');374      startRule(context, 'Rule');375      startRule(context, 'RuleHeader');376      build(context, token);377      return 22;378    }379    if(match_Other(context, token)) {380      startRule(context, 'Description');381      build(context, token);382      return 4;383    }384    385    var stateComment = "State: 3 - GherkinDocument:0>Feature:0>FeatureHeader:2>#FeatureLine:0";386    token.detach();387    var expectedTokens = ["#EOF", "#Empty", "#Comment", "#BackgroundLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Other"];388    var error = token.isEof ?389      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :390      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);391    if (self.stopAtFirstError) throw error;392    addError(context, error);393    return 3;394  }395  // GherkinDocument:0>Feature:0>FeatureHeader:3>DescriptionHelper:1>Description:0>#Other:0396  function matchTokenAt_4(token, context) {397    if(match_EOF(context, token)) {398      endRule(context, 'Description');399      endRule(context, 'FeatureHeader');400      endRule(context, 'Feature');401      build(context, token);402      return 41;403    }404    if(match_Comment(context, token)) {405      endRule(context, 'Description');406      build(context, token);407      return 5;408    }409    if(match_BackgroundLine(context, token)) {410      endRule(context, 'Description');411      endRule(context, 'FeatureHeader');412      startRule(context, 'Background');413      build(context, token);414      return 6;415    }416    if(match_TagLine(context, token)) {417      endRule(context, 'Description');418      endRule(context, 'FeatureHeader');419      startRule(context, 'ScenarioDefinition');420      startRule(context, 'Tags');421      build(context, token);422      return 11;423    }424    if(match_ScenarioLine(context, token)) {425      endRule(context, 'Description');426      endRule(context, 'FeatureHeader');427      startRule(context, 'ScenarioDefinition');428      startRule(context, 'Scenario');429      build(context, token);430      return 12;431    }432    if(match_RuleLine(context, token)) {433      endRule(context, 'Description');434      endRule(context, 'FeatureHeader');435      startRule(context, 'Rule');436      startRule(context, 'RuleHeader');437      build(context, token);438      return 22;439    }440    if(match_Other(context, token)) {441      build(context, token);442      return 4;443    }444    445    var stateComment = "State: 4 - GherkinDocument:0>Feature:0>FeatureHeader:3>DescriptionHelper:1>Description:0>#Other:0";446    token.detach();447    var expectedTokens = ["#EOF", "#Comment", "#BackgroundLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Other"];448    var error = token.isEof ?449      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :450      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);451    if (self.stopAtFirstError) throw error;452    addError(context, error);453    return 4;454  }455  // GherkinDocument:0>Feature:0>FeatureHeader:3>DescriptionHelper:2>#Comment:0456  function matchTokenAt_5(token, context) {457    if(match_EOF(context, token)) {458      endRule(context, 'FeatureHeader');459      endRule(context, 'Feature');460      build(context, token);461      return 41;462    }463    if(match_Comment(context, token)) {464      build(context, token);465      return 5;466    }467    if(match_BackgroundLine(context, token)) {468      endRule(context, 'FeatureHeader');469      startRule(context, 'Background');470      build(context, token);471      return 6;472    }473    if(match_TagLine(context, token)) {474      endRule(context, 'FeatureHeader');475      startRule(context, 'ScenarioDefinition');476      startRule(context, 'Tags');477      build(context, token);478      return 11;479    }480    if(match_ScenarioLine(context, token)) {481      endRule(context, 'FeatureHeader');482      startRule(context, 'ScenarioDefinition');483      startRule(context, 'Scenario');484      build(context, token);485      return 12;486    }487    if(match_RuleLine(context, token)) {488      endRule(context, 'FeatureHeader');489      startRule(context, 'Rule');490      startRule(context, 'RuleHeader');491      build(context, token);492      return 22;493    }494    if(match_Empty(context, token)) {495      build(context, token);496      return 5;497    }498    499    var stateComment = "State: 5 - GherkinDocument:0>Feature:0>FeatureHeader:3>DescriptionHelper:2>#Comment:0";500    token.detach();501    var expectedTokens = ["#EOF", "#Comment", "#BackgroundLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Empty"];502    var error = token.isEof ?503      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :504      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);505    if (self.stopAtFirstError) throw error;506    addError(context, error);507    return 5;508  }509  // GherkinDocument:0>Feature:1>Background:0>#BackgroundLine:0510  function matchTokenAt_6(token, context) {511    if(match_EOF(context, token)) {512      endRule(context, 'Background');513      endRule(context, 'Feature');514      build(context, token);515      return 41;516    }517    if(match_Empty(context, token)) {518      build(context, token);519      return 6;520    }521    if(match_Comment(context, token)) {522      build(context, token);523      return 8;524    }525    if(match_StepLine(context, token)) {526      startRule(context, 'Step');527      build(context, token);528      return 9;529    }530    if(match_TagLine(context, token)) {531      endRule(context, 'Background');532      startRule(context, 'ScenarioDefinition');533      startRule(context, 'Tags');534      build(context, token);535      return 11;536    }537    if(match_ScenarioLine(context, token)) {538      endRule(context, 'Background');539      startRule(context, 'ScenarioDefinition');540      startRule(context, 'Scenario');541      build(context, token);542      return 12;543    }544    if(match_RuleLine(context, token)) {545      endRule(context, 'Background');546      startRule(context, 'Rule');547      startRule(context, 'RuleHeader');548      build(context, token);549      return 22;550    }551    if(match_Other(context, token)) {552      startRule(context, 'Description');553      build(context, token);554      return 7;555    }556    557    var stateComment = "State: 6 - GherkinDocument:0>Feature:1>Background:0>#BackgroundLine:0";558    token.detach();559    var expectedTokens = ["#EOF", "#Empty", "#Comment", "#StepLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Other"];560    var error = token.isEof ?561      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :562      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);563    if (self.stopAtFirstError) throw error;564    addError(context, error);565    return 6;566  }567  // GherkinDocument:0>Feature:1>Background:1>DescriptionHelper:1>Description:0>#Other:0568  function matchTokenAt_7(token, context) {569    if(match_EOF(context, token)) {570      endRule(context, 'Description');571      endRule(context, 'Background');572      endRule(context, 'Feature');573      build(context, token);574      return 41;575    }576    if(match_Comment(context, token)) {577      endRule(context, 'Description');578      build(context, token);579      return 8;580    }581    if(match_StepLine(context, token)) {582      endRule(context, 'Description');583      startRule(context, 'Step');584      build(context, token);585      return 9;586    }587    if(match_TagLine(context, token)) {588      endRule(context, 'Description');589      endRule(context, 'Background');590      startRule(context, 'ScenarioDefinition');591      startRule(context, 'Tags');592      build(context, token);593      return 11;594    }595    if(match_ScenarioLine(context, token)) {596      endRule(context, 'Description');597      endRule(context, 'Background');598      startRule(context, 'ScenarioDefinition');599      startRule(context, 'Scenario');600      build(context, token);601      return 12;602    }603    if(match_RuleLine(context, token)) {604      endRule(context, 'Description');605      endRule(context, 'Background');606      startRule(context, 'Rule');607      startRule(context, 'RuleHeader');608      build(context, token);609      return 22;610    }611    if(match_Other(context, token)) {612      build(context, token);613      return 7;614    }615    616    var stateComment = "State: 7 - GherkinDocument:0>Feature:1>Background:1>DescriptionHelper:1>Description:0>#Other:0";617    token.detach();618    var expectedTokens = ["#EOF", "#Comment", "#StepLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Other"];619    var error = token.isEof ?620      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :621      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);622    if (self.stopAtFirstError) throw error;623    addError(context, error);624    return 7;625  }626  // GherkinDocument:0>Feature:1>Background:1>DescriptionHelper:2>#Comment:0627  function matchTokenAt_8(token, context) {628    if(match_EOF(context, token)) {629      endRule(context, 'Background');630      endRule(context, 'Feature');631      build(context, token);632      return 41;633    }634    if(match_Comment(context, token)) {635      build(context, token);636      return 8;637    }638    if(match_StepLine(context, token)) {639      startRule(context, 'Step');640      build(context, token);641      return 9;642    }643    if(match_TagLine(context, token)) {644      endRule(context, 'Background');645      startRule(context, 'ScenarioDefinition');646      startRule(context, 'Tags');647      build(context, token);648      return 11;649    }650    if(match_ScenarioLine(context, token)) {651      endRule(context, 'Background');652      startRule(context, 'ScenarioDefinition');653      startRule(context, 'Scenario');654      build(context, token);655      return 12;656    }657    if(match_RuleLine(context, token)) {658      endRule(context, 'Background');659      startRule(context, 'Rule');660      startRule(context, 'RuleHeader');661      build(context, token);662      return 22;663    }664    if(match_Empty(context, token)) {665      build(context, token);666      return 8;667    }668    669    var stateComment = "State: 8 - GherkinDocument:0>Feature:1>Background:1>DescriptionHelper:2>#Comment:0";670    token.detach();671    var expectedTokens = ["#EOF", "#Comment", "#StepLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Empty"];672    var error = token.isEof ?673      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :674      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);675    if (self.stopAtFirstError) throw error;676    addError(context, error);677    return 8;678  }679  // GherkinDocument:0>Feature:1>Background:2>Step:0>#StepLine:0680  function matchTokenAt_9(token, context) {681    if(match_EOF(context, token)) {682      endRule(context, 'Step');683      endRule(context, 'Background');684      endRule(context, 'Feature');685      build(context, token);686      return 41;687    }688    if(match_TableRow(context, token)) {689      startRule(context, 'DataTable');690      build(context, token);691      return 10;692    }693    if(match_DocStringSeparator(context, token)) {694      startRule(context, 'DocString');695      build(context, token);696      return 48;697    }698    if(match_StepLine(context, token)) {699      endRule(context, 'Step');700      startRule(context, 'Step');701      build(context, token);702      return 9;703    }704    if(match_TagLine(context, token)) {705      endRule(context, 'Step');706      endRule(context, 'Background');707      startRule(context, 'ScenarioDefinition');708      startRule(context, 'Tags');709      build(context, token);710      return 11;711    }712    if(match_ScenarioLine(context, token)) {713      endRule(context, 'Step');714      endRule(context, 'Background');715      startRule(context, 'ScenarioDefinition');716      startRule(context, 'Scenario');717      build(context, token);718      return 12;719    }720    if(match_RuleLine(context, token)) {721      endRule(context, 'Step');722      endRule(context, 'Background');723      startRule(context, 'Rule');724      startRule(context, 'RuleHeader');725      build(context, token);726      return 22;727    }728    if(match_Comment(context, token)) {729      build(context, token);730      return 9;731    }732    if(match_Empty(context, token)) {733      build(context, token);734      return 9;735    }736    737    var stateComment = "State: 9 - GherkinDocument:0>Feature:1>Background:2>Step:0>#StepLine:0";738    token.detach();739    var expectedTokens = ["#EOF", "#TableRow", "#DocStringSeparator", "#StepLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty"];740    var error = token.isEof ?741      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :742      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);743    if (self.stopAtFirstError) throw error;744    addError(context, error);745    return 9;746  }747  // GherkinDocument:0>Feature:1>Background:2>Step:1>StepArg:0>__alt0:0>DataTable:0>#TableRow:0748  function matchTokenAt_10(token, context) {749    if(match_EOF(context, token)) {750      endRule(context, 'DataTable');751      endRule(context, 'Step');752      endRule(context, 'Background');753      endRule(context, 'Feature');754      build(context, token);755      return 41;756    }757    if(match_TableRow(context, token)) {758      build(context, token);759      return 10;760    }761    if(match_StepLine(context, token)) {762      endRule(context, 'DataTable');763      endRule(context, 'Step');764      startRule(context, 'Step');765      build(context, token);766      return 9;767    }768    if(match_TagLine(context, token)) {769      endRule(context, 'DataTable');770      endRule(context, 'Step');771      endRule(context, 'Background');772      startRule(context, 'ScenarioDefinition');773      startRule(context, 'Tags');774      build(context, token);775      return 11;776    }777    if(match_ScenarioLine(context, token)) {778      endRule(context, 'DataTable');779      endRule(context, 'Step');780      endRule(context, 'Background');781      startRule(context, 'ScenarioDefinition');782      startRule(context, 'Scenario');783      build(context, token);784      return 12;785    }786    if(match_RuleLine(context, token)) {787      endRule(context, 'DataTable');788      endRule(context, 'Step');789      endRule(context, 'Background');790      startRule(context, 'Rule');791      startRule(context, 'RuleHeader');792      build(context, token);793      return 22;794    }795    if(match_Comment(context, token)) {796      build(context, token);797      return 10;798    }799    if(match_Empty(context, token)) {800      build(context, token);801      return 10;802    }803    804    var stateComment = "State: 10 - GherkinDocument:0>Feature:1>Background:2>Step:1>StepArg:0>__alt0:0>DataTable:0>#TableRow:0";805    token.detach();806    var expectedTokens = ["#EOF", "#TableRow", "#StepLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty"];807    var error = token.isEof ?808      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :809      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);810    if (self.stopAtFirstError) throw error;811    addError(context, error);812    return 10;813  }814  // GherkinDocument:0>Feature:2>ScenarioDefinition:0>Tags:0>#TagLine:0815  function matchTokenAt_11(token, context) {816    if(match_TagLine(context, token)) {817      build(context, token);818      return 11;819    }820    if(match_ScenarioLine(context, token)) {821      endRule(context, 'Tags');822      startRule(context, 'Scenario');823      build(context, token);824      return 12;825    }826    if(match_Comment(context, token)) {827      build(context, token);828      return 11;829    }830    if(match_Empty(context, token)) {831      build(context, token);832      return 11;833    }834    835    var stateComment = "State: 11 - GherkinDocument:0>Feature:2>ScenarioDefinition:0>Tags:0>#TagLine:0";836    token.detach();837    var expectedTokens = ["#TagLine", "#ScenarioLine", "#Comment", "#Empty"];838    var error = token.isEof ?839      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :840      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);841    if (self.stopAtFirstError) throw error;842    addError(context, error);843    return 11;844  }845  // GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:0>#ScenarioLine:0846  function matchTokenAt_12(token, context) {847    if(match_EOF(context, token)) {848      endRule(context, 'Scenario');849      endRule(context, 'ScenarioDefinition');850      endRule(context, 'Feature');851      build(context, token);852      return 41;853    }854    if(match_Empty(context, token)) {855      build(context, token);856      return 12;857    }858    if(match_Comment(context, token)) {859      build(context, token);860      return 14;861    }862    if(match_StepLine(context, token)) {863      startRule(context, 'Step');864      build(context, token);865      return 15;866    }867    if(match_TagLine(context, token)) {868      if(lookahead_0(context, token)) {869      startRule(context, 'ExamplesDefinition');870      startRule(context, 'Tags');871      build(context, token);872      return 17;873      }874    }875    if(match_TagLine(context, token)) {876      endRule(context, 'Scenario');877      endRule(context, 'ScenarioDefinition');878      startRule(context, 'ScenarioDefinition');879      startRule(context, 'Tags');880      build(context, token);881      return 11;882    }883    if(match_ExamplesLine(context, token)) {884      startRule(context, 'ExamplesDefinition');885      startRule(context, 'Examples');886      build(context, token);887      return 18;888    }889    if(match_ScenarioLine(context, token)) {890      endRule(context, 'Scenario');891      endRule(context, 'ScenarioDefinition');892      startRule(context, 'ScenarioDefinition');893      startRule(context, 'Scenario');894      build(context, token);895      return 12;896    }897    if(match_RuleLine(context, token)) {898      endRule(context, 'Scenario');899      endRule(context, 'ScenarioDefinition');900      startRule(context, 'Rule');901      startRule(context, 'RuleHeader');902      build(context, token);903      return 22;904    }905    if(match_Other(context, token)) {906      startRule(context, 'Description');907      build(context, token);908      return 13;909    }910    911    var stateComment = "State: 12 - GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:0>#ScenarioLine:0";912    token.detach();913    var expectedTokens = ["#EOF", "#Empty", "#Comment", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Other"];914    var error = token.isEof ?915      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :916      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);917    if (self.stopAtFirstError) throw error;918    addError(context, error);919    return 12;920  }921  // GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:1>DescriptionHelper:1>Description:0>#Other:0922  function matchTokenAt_13(token, context) {923    if(match_EOF(context, token)) {924      endRule(context, 'Description');925      endRule(context, 'Scenario');926      endRule(context, 'ScenarioDefinition');927      endRule(context, 'Feature');928      build(context, token);929      return 41;930    }931    if(match_Comment(context, token)) {932      endRule(context, 'Description');933      build(context, token);934      return 14;935    }936    if(match_StepLine(context, token)) {937      endRule(context, 'Description');938      startRule(context, 'Step');939      build(context, token);940      return 15;941    }942    if(match_TagLine(context, token)) {943      if(lookahead_0(context, token)) {944      endRule(context, 'Description');945      startRule(context, 'ExamplesDefinition');946      startRule(context, 'Tags');947      build(context, token);948      return 17;949      }950    }951    if(match_TagLine(context, token)) {952      endRule(context, 'Description');953      endRule(context, 'Scenario');954      endRule(context, 'ScenarioDefinition');955      startRule(context, 'ScenarioDefinition');956      startRule(context, 'Tags');957      build(context, token);958      return 11;959    }960    if(match_ExamplesLine(context, token)) {961      endRule(context, 'Description');962      startRule(context, 'ExamplesDefinition');963      startRule(context, 'Examples');964      build(context, token);965      return 18;966    }967    if(match_ScenarioLine(context, token)) {968      endRule(context, 'Description');969      endRule(context, 'Scenario');970      endRule(context, 'ScenarioDefinition');971      startRule(context, 'ScenarioDefinition');972      startRule(context, 'Scenario');973      build(context, token);974      return 12;975    }976    if(match_RuleLine(context, token)) {977      endRule(context, 'Description');978      endRule(context, 'Scenario');979      endRule(context, 'ScenarioDefinition');980      startRule(context, 'Rule');981      startRule(context, 'RuleHeader');982      build(context, token);983      return 22;984    }985    if(match_Other(context, token)) {986      build(context, token);987      return 13;988    }989    990    var stateComment = "State: 13 - GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:1>DescriptionHelper:1>Description:0>#Other:0";991    token.detach();992    var expectedTokens = ["#EOF", "#Comment", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Other"];993    var error = token.isEof ?994      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :995      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);996    if (self.stopAtFirstError) throw error;997    addError(context, error);998    return 13;999  }1000  // GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:1>DescriptionHelper:2>#Comment:01001  function matchTokenAt_14(token, context) {1002    if(match_EOF(context, token)) {1003      endRule(context, 'Scenario');1004      endRule(context, 'ScenarioDefinition');1005      endRule(context, 'Feature');1006      build(context, token);1007      return 41;1008    }1009    if(match_Comment(context, token)) {1010      build(context, token);1011      return 14;1012    }1013    if(match_StepLine(context, token)) {1014      startRule(context, 'Step');1015      build(context, token);1016      return 15;1017    }1018    if(match_TagLine(context, token)) {1019      if(lookahead_0(context, token)) {1020      startRule(context, 'ExamplesDefinition');1021      startRule(context, 'Tags');1022      build(context, token);1023      return 17;1024      }1025    }1026    if(match_TagLine(context, token)) {1027      endRule(context, 'Scenario');1028      endRule(context, 'ScenarioDefinition');1029      startRule(context, 'ScenarioDefinition');1030      startRule(context, 'Tags');1031      build(context, token);1032      return 11;1033    }1034    if(match_ExamplesLine(context, token)) {1035      startRule(context, 'ExamplesDefinition');1036      startRule(context, 'Examples');1037      build(context, token);1038      return 18;1039    }1040    if(match_ScenarioLine(context, token)) {1041      endRule(context, 'Scenario');1042      endRule(context, 'ScenarioDefinition');1043      startRule(context, 'ScenarioDefinition');1044      startRule(context, 'Scenario');1045      build(context, token);1046      return 12;1047    }1048    if(match_RuleLine(context, token)) {1049      endRule(context, 'Scenario');1050      endRule(context, 'ScenarioDefinition');1051      startRule(context, 'Rule');1052      startRule(context, 'RuleHeader');1053      build(context, token);1054      return 22;1055    }1056    if(match_Empty(context, token)) {1057      build(context, token);1058      return 14;1059    }1060    1061    var stateComment = "State: 14 - GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:1>DescriptionHelper:2>#Comment:0";1062    token.detach();1063    var expectedTokens = ["#EOF", "#Comment", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Empty"];1064    var error = token.isEof ?1065      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :1066      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);1067    if (self.stopAtFirstError) throw error;1068    addError(context, error);1069    return 14;1070  }1071  // GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:2>Step:0>#StepLine:01072  function matchTokenAt_15(token, context) {1073    if(match_EOF(context, token)) {1074      endRule(context, 'Step');1075      endRule(context, 'Scenario');1076      endRule(context, 'ScenarioDefinition');1077      endRule(context, 'Feature');1078      build(context, token);1079      return 41;1080    }1081    if(match_TableRow(context, token)) {1082      startRule(context, 'DataTable');1083      build(context, token);1084      return 16;1085    }1086    if(match_DocStringSeparator(context, token)) {1087      startRule(context, 'DocString');1088      build(context, token);1089      return 46;1090    }1091    if(match_StepLine(context, token)) {1092      endRule(context, 'Step');1093      startRule(context, 'Step');1094      build(context, token);1095      return 15;1096    }1097    if(match_TagLine(context, token)) {1098      if(lookahead_0(context, token)) {1099      endRule(context, 'Step');1100      startRule(context, 'ExamplesDefinition');1101      startRule(context, 'Tags');1102      build(context, token);1103      return 17;1104      }1105    }1106    if(match_TagLine(context, token)) {1107      endRule(context, 'Step');1108      endRule(context, 'Scenario');1109      endRule(context, 'ScenarioDefinition');1110      startRule(context, 'ScenarioDefinition');1111      startRule(context, 'Tags');1112      build(context, token);1113      return 11;1114    }1115    if(match_ExamplesLine(context, token)) {1116      endRule(context, 'Step');1117      startRule(context, 'ExamplesDefinition');1118      startRule(context, 'Examples');1119      build(context, token);1120      return 18;1121    }1122    if(match_ScenarioLine(context, token)) {1123      endRule(context, 'Step');1124      endRule(context, 'Scenario');1125      endRule(context, 'ScenarioDefinition');1126      startRule(context, 'ScenarioDefinition');1127      startRule(context, 'Scenario');1128      build(context, token);1129      return 12;1130    }1131    if(match_RuleLine(context, token)) {1132      endRule(context, 'Step');1133      endRule(context, 'Scenario');1134      endRule(context, 'ScenarioDefinition');1135      startRule(context, 'Rule');1136      startRule(context, 'RuleHeader');1137      build(context, token);1138      return 22;1139    }1140    if(match_Comment(context, token)) {1141      build(context, token);1142      return 15;1143    }1144    if(match_Empty(context, token)) {1145      build(context, token);1146      return 15;1147    }1148    1149    var stateComment = "State: 15 - GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:2>Step:0>#StepLine:0";1150    token.detach();1151    var expectedTokens = ["#EOF", "#TableRow", "#DocStringSeparator", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty"];1152    var error = token.isEof ?1153      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :1154      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);1155    if (self.stopAtFirstError) throw error;1156    addError(context, error);1157    return 15;1158  }1159  // GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:2>Step:1>StepArg:0>__alt0:0>DataTable:0>#TableRow:01160  function matchTokenAt_16(token, context) {1161    if(match_EOF(context, token)) {1162      endRule(context, 'DataTable');1163      endRule(context, 'Step');1164      endRule(context, 'Scenario');1165      endRule(context, 'ScenarioDefinition');1166      endRule(context, 'Feature');1167      build(context, token);1168      return 41;1169    }1170    if(match_TableRow(context, token)) {1171      build(context, token);1172      return 16;1173    }1174    if(match_StepLine(context, token)) {1175      endRule(context, 'DataTable');1176      endRule(context, 'Step');1177      startRule(context, 'Step');1178      build(context, token);1179      return 15;1180    }1181    if(match_TagLine(context, token)) {1182      if(lookahead_0(context, token)) {1183      endRule(context, 'DataTable');1184      endRule(context, 'Step');1185      startRule(context, 'ExamplesDefinition');1186      startRule(context, 'Tags');1187      build(context, token);1188      return 17;1189      }1190    }1191    if(match_TagLine(context, token)) {1192      endRule(context, 'DataTable');1193      endRule(context, 'Step');1194      endRule(context, 'Scenario');1195      endRule(context, 'ScenarioDefinition');1196      startRule(context, 'ScenarioDefinition');1197      startRule(context, 'Tags');1198      build(context, token);1199      return 11;1200    }1201    if(match_ExamplesLine(context, token)) {1202      endRule(context, 'DataTable');1203      endRule(context, 'Step');1204      startRule(context, 'ExamplesDefinition');1205      startRule(context, 'Examples');1206      build(context, token);1207      return 18;1208    }1209    if(match_ScenarioLine(context, token)) {1210      endRule(context, 'DataTable');1211      endRule(context, 'Step');1212      endRule(context, 'Scenario');1213      endRule(context, 'ScenarioDefinition');1214      startRule(context, 'ScenarioDefinition');1215      startRule(context, 'Scenario');1216      build(context, token);1217      return 12;1218    }1219    if(match_RuleLine(context, token)) {1220      endRule(context, 'DataTable');1221      endRule(context, 'Step');1222      endRule(context, 'Scenario');1223      endRule(context, 'ScenarioDefinition');1224      startRule(context, 'Rule');1225      startRule(context, 'RuleHeader');1226      build(context, token);1227      return 22;1228    }1229    if(match_Comment(context, token)) {1230      build(context, token);1231      return 16;1232    }1233    if(match_Empty(context, token)) {1234      build(context, token);1235      return 16;1236    }1237    1238    var stateComment = "State: 16 - GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:2>Step:1>StepArg:0>__alt0:0>DataTable:0>#TableRow:0";1239    token.detach();1240    var expectedTokens = ["#EOF", "#TableRow", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty"];1241    var error = token.isEof ?1242      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :1243      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);1244    if (self.stopAtFirstError) throw error;1245    addError(context, error);1246    return 16;1247  }1248  // GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:0>Tags:0>#TagLine:01249  function matchTokenAt_17(token, context) {1250    if(match_TagLine(context, token)) {1251      build(context, token);1252      return 17;1253    }1254    if(match_ExamplesLine(context, token)) {1255      endRule(context, 'Tags');1256      startRule(context, 'Examples');1257      build(context, token);1258      return 18;1259    }1260    if(match_Comment(context, token)) {1261      build(context, token);1262      return 17;1263    }1264    if(match_Empty(context, token)) {1265      build(context, token);1266      return 17;1267    }1268    1269    var stateComment = "State: 17 - GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:0>Tags:0>#TagLine:0";1270    token.detach();1271    var expectedTokens = ["#TagLine", "#ExamplesLine", "#Comment", "#Empty"];1272    var error = token.isEof ?1273      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :1274      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);1275    if (self.stopAtFirstError) throw error;1276    addError(context, error);1277    return 17;1278  }1279  // GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:0>#ExamplesLine:01280  function matchTokenAt_18(token, context) {1281    if(match_EOF(context, token)) {1282      endRule(context, 'Examples');1283      endRule(context, 'ExamplesDefinition');1284      endRule(context, 'Scenario');1285      endRule(context, 'ScenarioDefinition');1286      endRule(context, 'Feature');1287      build(context, token);1288      return 41;1289    }1290    if(match_Empty(context, token)) {1291      build(context, token);1292      return 18;1293    }1294    if(match_Comment(context, token)) {1295      build(context, token);1296      return 20;1297    }1298    if(match_TableRow(context, token)) {1299      startRule(context, 'ExamplesTable');1300      build(context, token);1301      return 21;1302    }1303    if(match_TagLine(context, token)) {1304      if(lookahead_0(context, token)) {1305      endRule(context, 'Examples');1306      endRule(context, 'ExamplesDefinition');1307      startRule(context, 'ExamplesDefinition');1308      startRule(context, 'Tags');1309      build(context, token);1310      return 17;1311      }1312    }1313    if(match_TagLine(context, token)) {1314      endRule(context, 'Examples');1315      endRule(context, 'ExamplesDefinition');1316      endRule(context, 'Scenario');1317      endRule(context, 'ScenarioDefinition');1318      startRule(context, 'ScenarioDefinition');1319      startRule(context, 'Tags');1320      build(context, token);1321      return 11;1322    }1323    if(match_ExamplesLine(context, token)) {1324      endRule(context, 'Examples');1325      endRule(context, 'ExamplesDefinition');1326      startRule(context, 'ExamplesDefinition');1327      startRule(context, 'Examples');1328      build(context, token);1329      return 18;1330    }1331    if(match_ScenarioLine(context, token)) {1332      endRule(context, 'Examples');1333      endRule(context, 'ExamplesDefinition');1334      endRule(context, 'Scenario');1335      endRule(context, 'ScenarioDefinition');1336      startRule(context, 'ScenarioDefinition');1337      startRule(context, 'Scenario');1338      build(context, token);1339      return 12;1340    }1341    if(match_RuleLine(context, token)) {1342      endRule(context, 'Examples');1343      endRule(context, 'ExamplesDefinition');1344      endRule(context, 'Scenario');1345      endRule(context, 'ScenarioDefinition');1346      startRule(context, 'Rule');1347      startRule(context, 'RuleHeader');1348      build(context, token);1349      return 22;1350    }1351    if(match_Other(context, token)) {1352      startRule(context, 'Description');1353      build(context, token);1354      return 19;1355    }1356    1357    var stateComment = "State: 18 - GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:0>#ExamplesLine:0";1358    token.detach();1359    var expectedTokens = ["#EOF", "#Empty", "#Comment", "#TableRow", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Other"];1360    var error = token.isEof ?1361      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :1362      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);1363    if (self.stopAtFirstError) throw error;1364    addError(context, error);1365    return 18;1366  }1367  // GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:1>DescriptionHelper:1>Description:0>#Other:01368  function matchTokenAt_19(token, context) {1369    if(match_EOF(context, token)) {1370      endRule(context, 'Description');1371      endRule(context, 'Examples');1372      endRule(context, 'ExamplesDefinition');1373      endRule(context, 'Scenario');1374      endRule(context, 'ScenarioDefinition');1375      endRule(context, 'Feature');1376      build(context, token);1377      return 41;1378    }1379    if(match_Comment(context, token)) {1380      endRule(context, 'Description');1381      build(context, token);1382      return 20;1383    }1384    if(match_TableRow(context, token)) {1385      endRule(context, 'Description');1386      startRule(context, 'ExamplesTable');1387      build(context, token);1388      return 21;1389    }1390    if(match_TagLine(context, token)) {1391      if(lookahead_0(context, token)) {1392      endRule(context, 'Description');1393      endRule(context, 'Examples');1394      endRule(context, 'ExamplesDefinition');1395      startRule(context, 'ExamplesDefinition');1396      startRule(context, 'Tags');1397      build(context, token);1398      return 17;1399      }1400    }1401    if(match_TagLine(context, token)) {1402      endRule(context, 'Description');1403      endRule(context, 'Examples');1404      endRule(context, 'ExamplesDefinition');1405      endRule(context, 'Scenario');1406      endRule(context, 'ScenarioDefinition');1407      startRule(context, 'ScenarioDefinition');1408      startRule(context, 'Tags');1409      build(context, token);1410      return 11;1411    }1412    if(match_ExamplesLine(context, token)) {1413      endRule(context, 'Description');1414      endRule(context, 'Examples');1415      endRule(context, 'ExamplesDefinition');1416      startRule(context, 'ExamplesDefinition');1417      startRule(context, 'Examples');1418      build(context, token);1419      return 18;1420    }1421    if(match_ScenarioLine(context, token)) {1422      endRule(context, 'Description');1423      endRule(context, 'Examples');1424      endRule(context, 'ExamplesDefinition');1425      endRule(context, 'Scenario');1426      endRule(context, 'ScenarioDefinition');1427      startRule(context, 'ScenarioDefinition');1428      startRule(context, 'Scenario');1429      build(context, token);1430      return 12;1431    }1432    if(match_RuleLine(context, token)) {1433      endRule(context, 'Description');1434      endRule(context, 'Examples');1435      endRule(context, 'ExamplesDefinition');1436      endRule(context, 'Scenario');1437      endRule(context, 'ScenarioDefinition');1438      startRule(context, 'Rule');1439      startRule(context, 'RuleHeader');1440      build(context, token);1441      return 22;1442    }1443    if(match_Other(context, token)) {1444      build(context, token);1445      return 19;1446    }1447    1448    var stateComment = "State: 19 - GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:1>DescriptionHelper:1>Description:0>#Other:0";1449    token.detach();1450    var expectedTokens = ["#EOF", "#Comment", "#TableRow", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Other"];1451    var error = token.isEof ?1452      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :1453      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);1454    if (self.stopAtFirstError) throw error;1455    addError(context, error);1456    return 19;1457  }1458  // GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:1>DescriptionHelper:2>#Comment:01459  function matchTokenAt_20(token, context) {1460    if(match_EOF(context, token)) {1461      endRule(context, 'Examples');1462      endRule(context, 'ExamplesDefinition');1463      endRule(context, 'Scenario');1464      endRule(context, 'ScenarioDefinition');1465      endRule(context, 'Feature');1466      build(context, token);1467      return 41;1468    }1469    if(match_Comment(context, token)) {1470      build(context, token);1471      return 20;1472    }1473    if(match_TableRow(context, token)) {1474      startRule(context, 'ExamplesTable');1475      build(context, token);1476      return 21;1477    }1478    if(match_TagLine(context, token)) {1479      if(lookahead_0(context, token)) {1480      endRule(context, 'Examples');1481      endRule(context, 'ExamplesDefinition');1482      startRule(context, 'ExamplesDefinition');1483      startRule(context, 'Tags');1484      build(context, token);1485      return 17;1486      }1487    }1488    if(match_TagLine(context, token)) {1489      endRule(context, 'Examples');1490      endRule(context, 'ExamplesDefinition');1491      endRule(context, 'Scenario');1492      endRule(context, 'ScenarioDefinition');1493      startRule(context, 'ScenarioDefinition');1494      startRule(context, 'Tags');1495      build(context, token);1496      return 11;1497    }1498    if(match_ExamplesLine(context, token)) {1499      endRule(context, 'Examples');1500      endRule(context, 'ExamplesDefinition');1501      startRule(context, 'ExamplesDefinition');1502      startRule(context, 'Examples');1503      build(context, token);1504      return 18;1505    }1506    if(match_ScenarioLine(context, token)) {1507      endRule(context, 'Examples');1508      endRule(context, 'ExamplesDefinition');1509      endRule(context, 'Scenario');1510      endRule(context, 'ScenarioDefinition');1511      startRule(context, 'ScenarioDefinition');1512      startRule(context, 'Scenario');1513      build(context, token);1514      return 12;1515    }1516    if(match_RuleLine(context, token)) {1517      endRule(context, 'Examples');1518      endRule(context, 'ExamplesDefinition');1519      endRule(context, 'Scenario');1520      endRule(context, 'ScenarioDefinition');1521      startRule(context, 'Rule');1522      startRule(context, 'RuleHeader');1523      build(context, token);1524      return 22;1525    }1526    if(match_Empty(context, token)) {1527      build(context, token);1528      return 20;1529    }1530    1531    var stateComment = "State: 20 - GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:1>DescriptionHelper:2>#Comment:0";1532    token.detach();1533    var expectedTokens = ["#EOF", "#Comment", "#TableRow", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Empty"];1534    var error = token.isEof ?1535      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :1536      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);1537    if (self.stopAtFirstError) throw error;1538    addError(context, error);1539    return 20;1540  }1541  // GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:2>ExamplesTable:0>#TableRow:01542  function matchTokenAt_21(token, context) {1543    if(match_EOF(context, token)) {1544      endRule(context, 'ExamplesTable');1545      endRule(context, 'Examples');1546      endRule(context, 'ExamplesDefinition');1547      endRule(context, 'Scenario');1548      endRule(context, 'ScenarioDefinition');1549      endRule(context, 'Feature');1550      build(context, token);1551      return 41;1552    }1553    if(match_TableRow(context, token)) {1554      build(context, token);1555      return 21;1556    }1557    if(match_TagLine(context, token)) {1558      if(lookahead_0(context, token)) {1559      endRule(context, 'ExamplesTable');1560      endRule(context, 'Examples');1561      endRule(context, 'ExamplesDefinition');1562      startRule(context, 'ExamplesDefinition');1563      startRule(context, 'Tags');1564      build(context, token);1565      return 17;1566      }1567    }1568    if(match_TagLine(context, token)) {1569      endRule(context, 'ExamplesTable');1570      endRule(context, 'Examples');1571      endRule(context, 'ExamplesDefinition');1572      endRule(context, 'Scenario');1573      endRule(context, 'ScenarioDefinition');1574      startRule(context, 'ScenarioDefinition');1575      startRule(context, 'Tags');1576      build(context, token);1577      return 11;1578    }1579    if(match_ExamplesLine(context, token)) {1580      endRule(context, 'ExamplesTable');1581      endRule(context, 'Examples');1582      endRule(context, 'ExamplesDefinition');1583      startRule(context, 'ExamplesDefinition');1584      startRule(context, 'Examples');1585      build(context, token);1586      return 18;1587    }1588    if(match_ScenarioLine(context, token)) {1589      endRule(context, 'ExamplesTable');1590      endRule(context, 'Examples');1591      endRule(context, 'ExamplesDefinition');1592      endRule(context, 'Scenario');1593      endRule(context, 'ScenarioDefinition');1594      startRule(context, 'ScenarioDefinition');1595      startRule(context, 'Scenario');1596      build(context, token);1597      return 12;1598    }1599    if(match_RuleLine(context, token)) {1600      endRule(context, 'ExamplesTable');1601      endRule(context, 'Examples');1602      endRule(context, 'ExamplesDefinition');1603      endRule(context, 'Scenario');1604      endRule(context, 'ScenarioDefinition');1605      startRule(context, 'Rule');1606      startRule(context, 'RuleHeader');1607      build(context, token);1608      return 22;1609    }1610    if(match_Comment(context, token)) {1611      build(context, token);1612      return 21;1613    }1614    if(match_Empty(context, token)) {1615      build(context, token);1616      return 21;1617    }1618    1619    var stateComment = "State: 21 - GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:2>ExamplesTable:0>#TableRow:0";1620    token.detach();1621    var expectedTokens = ["#EOF", "#TableRow", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty"];1622    var error = token.isEof ?1623      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :1624      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);1625    if (self.stopAtFirstError) throw error;1626    addError(context, error);1627    return 21;1628  }1629  // GherkinDocument:0>Feature:3>Rule:0>RuleHeader:0>#RuleLine:01630  function matchTokenAt_22(token, context) {1631    if(match_EOF(context, token)) {1632      endRule(context, 'RuleHeader');1633      endRule(context, 'Rule');1634      endRule(context, 'Feature');1635      build(context, token);1636      return 41;1637    }1638    if(match_Empty(context, token)) {1639      build(context, token);1640      return 22;1641    }1642    if(match_Comment(context, token)) {1643      build(context, token);1644      return 24;1645    }1646    if(match_BackgroundLine(context, token)) {1647      endRule(context, 'RuleHeader');1648      startRule(context, 'Background');1649      build(context, token);1650      return 25;1651    }1652    if(match_TagLine(context, token)) {1653      endRule(context, 'RuleHeader');1654      startRule(context, 'ScenarioDefinition');1655      startRule(context, 'Tags');1656      build(context, token);1657      return 30;1658    }1659    if(match_ScenarioLine(context, token)) {1660      endRule(context, 'RuleHeader');1661      startRule(context, 'ScenarioDefinition');1662      startRule(context, 'Scenario');1663      build(context, token);1664      return 31;1665    }1666    if(match_RuleLine(context, token)) {1667      endRule(context, 'RuleHeader');1668      endRule(context, 'Rule');1669      startRule(context, 'Rule');1670      startRule(context, 'RuleHeader');1671      build(context, token);1672      return 22;1673    }1674    if(match_Other(context, token)) {1675      startRule(context, 'Description');1676      build(context, token);1677      return 23;1678    }1679    1680    var stateComment = "State: 22 - GherkinDocument:0>Feature:3>Rule:0>RuleHeader:0>#RuleLine:0";1681    token.detach();1682    var expectedTokens = ["#EOF", "#Empty", "#Comment", "#BackgroundLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Other"];1683    var error = token.isEof ?1684      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :1685      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);1686    if (self.stopAtFirstError) throw error;1687    addError(context, error);1688    return 22;1689  }1690  // GherkinDocument:0>Feature:3>Rule:0>RuleHeader:1>DescriptionHelper:1>Description:0>#Other:01691  function matchTokenAt_23(token, context) {1692    if(match_EOF(context, token)) {1693      endRule(context, 'Description');1694      endRule(context, 'RuleHeader');1695      endRule(context, 'Rule');1696      endRule(context, 'Feature');1697      build(context, token);1698      return 41;1699    }1700    if(match_Comment(context, token)) {1701      endRule(context, 'Description');1702      build(context, token);1703      return 24;1704    }1705    if(match_BackgroundLine(context, token)) {1706      endRule(context, 'Description');1707      endRule(context, 'RuleHeader');1708      startRule(context, 'Background');1709      build(context, token);1710      return 25;1711    }1712    if(match_TagLine(context, token)) {1713      endRule(context, 'Description');1714      endRule(context, 'RuleHeader');1715      startRule(context, 'ScenarioDefinition');1716      startRule(context, 'Tags');1717      build(context, token);1718      return 30;1719    }1720    if(match_ScenarioLine(context, token)) {1721      endRule(context, 'Description');1722      endRule(context, 'RuleHeader');1723      startRule(context, 'ScenarioDefinition');1724      startRule(context, 'Scenario');1725      build(context, token);1726      return 31;1727    }1728    if(match_RuleLine(context, token)) {1729      endRule(context, 'Description');1730      endRule(context, 'RuleHeader');1731      endRule(context, 'Rule');1732      startRule(context, 'Rule');1733      startRule(context, 'RuleHeader');1734      build(context, token);1735      return 22;1736    }1737    if(match_Other(context, token)) {1738      build(context, token);1739      return 23;1740    }1741    1742    var stateComment = "State: 23 - GherkinDocument:0>Feature:3>Rule:0>RuleHeader:1>DescriptionHelper:1>Description:0>#Other:0";1743    token.detach();1744    var expectedTokens = ["#EOF", "#Comment", "#BackgroundLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Other"];1745    var error = token.isEof ?1746      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :1747      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);1748    if (self.stopAtFirstError) throw error;1749    addError(context, error);1750    return 23;1751  }1752  // GherkinDocument:0>Feature:3>Rule:0>RuleHeader:1>DescriptionHelper:2>#Comment:01753  function matchTokenAt_24(token, context) {1754    if(match_EOF(context, token)) {1755      endRule(context, 'RuleHeader');1756      endRule(context, 'Rule');1757      endRule(context, 'Feature');1758      build(context, token);1759      return 41;1760    }1761    if(match_Comment(context, token)) {1762      build(context, token);1763      return 24;1764    }1765    if(match_BackgroundLine(context, token)) {1766      endRule(context, 'RuleHeader');1767      startRule(context, 'Background');1768      build(context, token);1769      return 25;1770    }1771    if(match_TagLine(context, token)) {1772      endRule(context, 'RuleHeader');1773      startRule(context, 'ScenarioDefinition');1774      startRule(context, 'Tags');1775      build(context, token);1776      return 30;1777    }1778    if(match_ScenarioLine(context, token)) {1779      endRule(context, 'RuleHeader');1780      startRule(context, 'ScenarioDefinition');1781      startRule(context, 'Scenario');1782      build(context, token);1783      return 31;1784    }1785    if(match_RuleLine(context, token)) {1786      endRule(context, 'RuleHeader');1787      endRule(context, 'Rule');1788      startRule(context, 'Rule');1789      startRule(context, 'RuleHeader');1790      build(context, token);1791      return 22;1792    }1793    if(match_Empty(context, token)) {1794      build(context, token);1795      return 24;1796    }1797    1798    var stateComment = "State: 24 - GherkinDocument:0>Feature:3>Rule:0>RuleHeader:1>DescriptionHelper:2>#Comment:0";1799    token.detach();1800    var expectedTokens = ["#EOF", "#Comment", "#BackgroundLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Empty"];1801    var error = token.isEof ?1802      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :1803      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);1804    if (self.stopAtFirstError) throw error;1805    addError(context, error);1806    return 24;1807  }1808  // GherkinDocument:0>Feature:3>Rule:1>Background:0>#BackgroundLine:01809  function matchTokenAt_25(token, context) {1810    if(match_EOF(context, token)) {1811      endRule(context, 'Background');1812      endRule(context, 'Rule');1813      endRule(context, 'Feature');1814      build(context, token);1815      return 41;1816    }1817    if(match_Empty(context, token)) {1818      build(context, token);1819      return 25;1820    }1821    if(match_Comment(context, token)) {1822      build(context, token);1823      return 27;1824    }1825    if(match_StepLine(context, token)) {1826      startRule(context, 'Step');1827      build(context, token);1828      return 28;1829    }1830    if(match_TagLine(context, token)) {1831      endRule(context, 'Background');1832      startRule(context, 'ScenarioDefinition');1833      startRule(context, 'Tags');1834      build(context, token);1835      return 30;1836    }1837    if(match_ScenarioLine(context, token)) {1838      endRule(context, 'Background');1839      startRule(context, 'ScenarioDefinition');1840      startRule(context, 'Scenario');1841      build(context, token);1842      return 31;1843    }1844    if(match_RuleLine(context, token)) {1845      endRule(context, 'Background');1846      endRule(context, 'Rule');1847      startRule(context, 'Rule');1848      startRule(context, 'RuleHeader');1849      build(context, token);1850      return 22;1851    }1852    if(match_Other(context, token)) {1853      startRule(context, 'Description');1854      build(context, token);1855      return 26;1856    }1857    1858    var stateComment = "State: 25 - GherkinDocument:0>Feature:3>Rule:1>Background:0>#BackgroundLine:0";1859    token.detach();1860    var expectedTokens = ["#EOF", "#Empty", "#Comment", "#StepLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Other"];1861    var error = token.isEof ?1862      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :1863      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);1864    if (self.stopAtFirstError) throw error;1865    addError(context, error);1866    return 25;1867  }1868  // GherkinDocument:0>Feature:3>Rule:1>Background:1>DescriptionHelper:1>Description:0>#Other:01869  function matchTokenAt_26(token, context) {1870    if(match_EOF(context, token)) {1871      endRule(context, 'Description');1872      endRule(context, 'Background');1873      endRule(context, 'Rule');1874      endRule(context, 'Feature');1875      build(context, token);1876      return 41;1877    }1878    if(match_Comment(context, token)) {1879      endRule(context, 'Description');1880      build(context, token);1881      return 27;1882    }1883    if(match_StepLine(context, token)) {1884      endRule(context, 'Description');1885      startRule(context, 'Step');1886      build(context, token);1887      return 28;1888    }1889    if(match_TagLine(context, token)) {1890      endRule(context, 'Description');1891      endRule(context, 'Background');1892      startRule(context, 'ScenarioDefinition');1893      startRule(context, 'Tags');1894      build(context, token);1895      return 30;1896    }1897    if(match_ScenarioLine(context, token)) {1898      endRule(context, 'Description');1899      endRule(context, 'Background');1900      startRule(context, 'ScenarioDefinition');1901      startRule(context, 'Scenario');1902      build(context, token);1903      return 31;1904    }1905    if(match_RuleLine(context, token)) {1906      endRule(context, 'Description');1907      endRule(context, 'Background');1908      endRule(context, 'Rule');1909      startRule(context, 'Rule');1910      startRule(context, 'RuleHeader');1911      build(context, token);1912      return 22;1913    }1914    if(match_Other(context, token)) {1915      build(context, token);1916      return 26;1917    }1918    1919    var stateComment = "State: 26 - GherkinDocument:0>Feature:3>Rule:1>Background:1>DescriptionHelper:1>Description:0>#Other:0";1920    token.detach();1921    var expectedTokens = ["#EOF", "#Comment", "#StepLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Other"];1922    var error = token.isEof ?1923      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :1924      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);1925    if (self.stopAtFirstError) throw error;1926    addError(context, error);1927    return 26;1928  }1929  // GherkinDocument:0>Feature:3>Rule:1>Background:1>DescriptionHelper:2>#Comment:01930  function matchTokenAt_27(token, context) {1931    if(match_EOF(context, token)) {1932      endRule(context, 'Background');1933      endRule(context, 'Rule');1934      endRule(context, 'Feature');1935      build(context, token);1936      return 41;1937    }1938    if(match_Comment(context, token)) {1939      build(context, token);1940      return 27;1941    }1942    if(match_StepLine(context, token)) {1943      startRule(context, 'Step');1944      build(context, token);1945      return 28;1946    }1947    if(match_TagLine(context, token)) {1948      endRule(context, 'Background');1949      startRule(context, 'ScenarioDefinition');1950      startRule(context, 'Tags');1951      build(context, token);1952      return 30;1953    }1954    if(match_ScenarioLine(context, token)) {1955      endRule(context, 'Background');1956      startRule(context, 'ScenarioDefinition');1957      startRule(context, 'Scenario');1958      build(context, token);1959      return 31;1960    }1961    if(match_RuleLine(context, token)) {1962      endRule(context, 'Background');1963      endRule(context, 'Rule');1964      startRule(context, 'Rule');1965      startRule(context, 'RuleHeader');1966      build(context, token);1967      return 22;1968    }1969    if(match_Empty(context, token)) {1970      build(context, token);1971      return 27;1972    }1973    1974    var stateComment = "State: 27 - GherkinDocument:0>Feature:3>Rule:1>Background:1>DescriptionHelper:2>#Comment:0";1975    token.detach();1976    var expectedTokens = ["#EOF", "#Comment", "#StepLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Empty"];1977    var error = token.isEof ?1978      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :1979      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);1980    if (self.stopAtFirstError) throw error;1981    addError(context, error);1982    return 27;1983  }1984  // GherkinDocument:0>Feature:3>Rule:1>Background:2>Step:0>#StepLine:01985  function matchTokenAt_28(token, context) {1986    if(match_EOF(context, token)) {1987      endRule(context, 'Step');1988      endRule(context, 'Background');1989      endRule(context, 'Rule');1990      endRule(context, 'Feature');1991      build(context, token);1992      return 41;1993    }1994    if(match_TableRow(context, token)) {1995      startRule(context, 'DataTable');1996      build(context, token);1997      return 29;1998    }1999    if(match_DocStringSeparator(context, token)) {2000      startRule(context, 'DocString');2001      build(context, token);2002      return 44;2003    }2004    if(match_StepLine(context, token)) {2005      endRule(context, 'Step');2006      startRule(context, 'Step');2007      build(context, token);2008      return 28;2009    }2010    if(match_TagLine(context, token)) {2011      endRule(context, 'Step');2012      endRule(context, 'Background');2013      startRule(context, 'ScenarioDefinition');2014      startRule(context, 'Tags');2015      build(context, token);2016      return 30;2017    }2018    if(match_ScenarioLine(context, token)) {2019      endRule(context, 'Step');2020      endRule(context, 'Background');2021      startRule(context, 'ScenarioDefinition');2022      startRule(context, 'Scenario');2023      build(context, token);2024      return 31;2025    }2026    if(match_RuleLine(context, token)) {2027      endRule(context, 'Step');2028      endRule(context, 'Background');2029      endRule(context, 'Rule');2030      startRule(context, 'Rule');2031      startRule(context, 'RuleHeader');2032      build(context, token);2033      return 22;2034    }2035    if(match_Comment(context, token)) {2036      build(context, token);2037      return 28;2038    }2039    if(match_Empty(context, token)) {2040      build(context, token);2041      return 28;2042    }2043    2044    var stateComment = "State: 28 - GherkinDocument:0>Feature:3>Rule:1>Background:2>Step:0>#StepLine:0";2045    token.detach();2046    var expectedTokens = ["#EOF", "#TableRow", "#DocStringSeparator", "#StepLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty"];2047    var error = token.isEof ?2048      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :2049      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);2050    if (self.stopAtFirstError) throw error;2051    addError(context, error);2052    return 28;2053  }2054  // GherkinDocument:0>Feature:3>Rule:1>Background:2>Step:1>StepArg:0>__alt0:0>DataTable:0>#TableRow:02055  function matchTokenAt_29(token, context) {2056    if(match_EOF(context, token)) {2057      endRule(context, 'DataTable');2058      endRule(context, 'Step');2059      endRule(context, 'Background');2060      endRule(context, 'Rule');2061      endRule(context, 'Feature');2062      build(context, token);2063      return 41;2064    }2065    if(match_TableRow(context, token)) {2066      build(context, token);2067      return 29;2068    }2069    if(match_StepLine(context, token)) {2070      endRule(context, 'DataTable');2071      endRule(context, 'Step');2072      startRule(context, 'Step');2073      build(context, token);2074      return 28;2075    }2076    if(match_TagLine(context, token)) {2077      endRule(context, 'DataTable');2078      endRule(context, 'Step');2079      endRule(context, 'Background');2080      startRule(context, 'ScenarioDefinition');2081      startRule(context, 'Tags');2082      build(context, token);2083      return 30;2084    }2085    if(match_ScenarioLine(context, token)) {2086      endRule(context, 'DataTable');2087      endRule(context, 'Step');2088      endRule(context, 'Background');2089      startRule(context, 'ScenarioDefinition');2090      startRule(context, 'Scenario');2091      build(context, token);2092      return 31;2093    }2094    if(match_RuleLine(context, token)) {2095      endRule(context, 'DataTable');2096      endRule(context, 'Step');2097      endRule(context, 'Background');2098      endRule(context, 'Rule');2099      startRule(context, 'Rule');2100      startRule(context, 'RuleHeader');2101      build(context, token);2102      return 22;2103    }2104    if(match_Comment(context, token)) {2105      build(context, token);2106      return 29;2107    }2108    if(match_Empty(context, token)) {2109      build(context, token);2110      return 29;2111    }2112    2113    var stateComment = "State: 29 - GherkinDocument:0>Feature:3>Rule:1>Background:2>Step:1>StepArg:0>__alt0:0>DataTable:0>#TableRow:0";2114    token.detach();2115    var expectedTokens = ["#EOF", "#TableRow", "#StepLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty"];2116    var error = token.isEof ?2117      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :2118      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);2119    if (self.stopAtFirstError) throw error;2120    addError(context, error);2121    return 29;2122  }2123  // GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:0>Tags:0>#TagLine:02124  function matchTokenAt_30(token, context) {2125    if(match_TagLine(context, token)) {2126      build(context, token);2127      return 30;2128    }2129    if(match_ScenarioLine(context, token)) {2130      endRule(context, 'Tags');2131      startRule(context, 'Scenario');2132      build(context, token);2133      return 31;2134    }2135    if(match_Comment(context, token)) {2136      build(context, token);2137      return 30;2138    }2139    if(match_Empty(context, token)) {2140      build(context, token);2141      return 30;2142    }2143    2144    var stateComment = "State: 30 - GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:0>Tags:0>#TagLine:0";2145    token.detach();2146    var expectedTokens = ["#TagLine", "#ScenarioLine", "#Comment", "#Empty"];2147    var error = token.isEof ?2148      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :2149      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);2150    if (self.stopAtFirstError) throw error;2151    addError(context, error);2152    return 30;2153  }2154  // GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:0>#ScenarioLine:02155  function matchTokenAt_31(token, context) {2156    if(match_EOF(context, token)) {2157      endRule(context, 'Scenario');2158      endRule(context, 'ScenarioDefinition');2159      endRule(context, 'Rule');2160      endRule(context, 'Feature');2161      build(context, token);2162      return 41;2163    }2164    if(match_Empty(context, token)) {2165      build(context, token);2166      return 31;2167    }2168    if(match_Comment(context, token)) {2169      build(context, token);2170      return 33;2171    }2172    if(match_StepLine(context, token)) {2173      startRule(context, 'Step');2174      build(context, token);2175      return 34;2176    }2177    if(match_TagLine(context, token)) {2178      if(lookahead_0(context, token)) {2179      startRule(context, 'ExamplesDefinition');2180      startRule(context, 'Tags');2181      build(context, token);2182      return 36;2183      }2184    }2185    if(match_TagLine(context, token)) {2186      endRule(context, 'Scenario');2187      endRule(context, 'ScenarioDefinition');2188      startRule(context, 'ScenarioDefinition');2189      startRule(context, 'Tags');2190      build(context, token);2191      return 30;2192    }2193    if(match_ExamplesLine(context, token)) {2194      startRule(context, 'ExamplesDefinition');2195      startRule(context, 'Examples');2196      build(context, token);2197      return 37;2198    }2199    if(match_ScenarioLine(context, token)) {2200      endRule(context, 'Scenario');2201      endRule(context, 'ScenarioDefinition');2202      startRule(context, 'ScenarioDefinition');2203      startRule(context, 'Scenario');2204      build(context, token);2205      return 31;2206    }2207    if(match_RuleLine(context, token)) {2208      endRule(context, 'Scenario');2209      endRule(context, 'ScenarioDefinition');2210      endRule(context, 'Rule');2211      startRule(context, 'Rule');2212      startRule(context, 'RuleHeader');2213      build(context, token);2214      return 22;2215    }2216    if(match_Other(context, token)) {2217      startRule(context, 'Description');2218      build(context, token);2219      return 32;2220    }2221    2222    var stateComment = "State: 31 - GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:0>#ScenarioLine:0";2223    token.detach();2224    var expectedTokens = ["#EOF", "#Empty", "#Comment", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Other"];2225    var error = token.isEof ?2226      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :2227      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);2228    if (self.stopAtFirstError) throw error;2229    addError(context, error);2230    return 31;2231  }2232  // GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:1>DescriptionHelper:1>Description:0>#Other:02233  function matchTokenAt_32(token, context) {2234    if(match_EOF(context, token)) {2235      endRule(context, 'Description');2236      endRule(context, 'Scenario');2237      endRule(context, 'ScenarioDefinition');2238      endRule(context, 'Rule');2239      endRule(context, 'Feature');2240      build(context, token);2241      return 41;2242    }2243    if(match_Comment(context, token)) {2244      endRule(context, 'Description');2245      build(context, token);2246      return 33;2247    }2248    if(match_StepLine(context, token)) {2249      endRule(context, 'Description');2250      startRule(context, 'Step');2251      build(context, token);2252      return 34;2253    }2254    if(match_TagLine(context, token)) {2255      if(lookahead_0(context, token)) {2256      endRule(context, 'Description');2257      startRule(context, 'ExamplesDefinition');2258      startRule(context, 'Tags');2259      build(context, token);2260      return 36;2261      }2262    }2263    if(match_TagLine(context, token)) {2264      endRule(context, 'Description');2265      endRule(context, 'Scenario');2266      endRule(context, 'ScenarioDefinition');2267      startRule(context, 'ScenarioDefinition');2268      startRule(context, 'Tags');2269      build(context, token);2270      return 30;2271    }2272    if(match_ExamplesLine(context, token)) {2273      endRule(context, 'Description');2274      startRule(context, 'ExamplesDefinition');2275      startRule(context, 'Examples');2276      build(context, token);2277      return 37;2278    }2279    if(match_ScenarioLine(context, token)) {2280      endRule(context, 'Description');2281      endRule(context, 'Scenario');2282      endRule(context, 'ScenarioDefinition');2283      startRule(context, 'ScenarioDefinition');2284      startRule(context, 'Scenario');2285      build(context, token);2286      return 31;2287    }2288    if(match_RuleLine(context, token)) {2289      endRule(context, 'Description');2290      endRule(context, 'Scenario');2291      endRule(context, 'ScenarioDefinition');2292      endRule(context, 'Rule');2293      startRule(context, 'Rule');2294      startRule(context, 'RuleHeader');2295      build(context, token);2296      return 22;2297    }2298    if(match_Other(context, token)) {2299      build(context, token);2300      return 32;2301    }2302    2303    var stateComment = "State: 32 - GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:1>DescriptionHelper:1>Description:0>#Other:0";2304    token.detach();2305    var expectedTokens = ["#EOF", "#Comment", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Other"];2306    var error = token.isEof ?2307      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :2308      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);2309    if (self.stopAtFirstError) throw error;2310    addError(context, error);2311    return 32;2312  }2313  // GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:1>DescriptionHelper:2>#Comment:02314  function matchTokenAt_33(token, context) {2315    if(match_EOF(context, token)) {2316      endRule(context, 'Scenario');2317      endRule(context, 'ScenarioDefinition');2318      endRule(context, 'Rule');2319      endRule(context, 'Feature');2320      build(context, token);2321      return 41;2322    }2323    if(match_Comment(context, token)) {2324      build(context, token);2325      return 33;2326    }2327    if(match_StepLine(context, token)) {2328      startRule(context, 'Step');2329      build(context, token);2330      return 34;2331    }2332    if(match_TagLine(context, token)) {2333      if(lookahead_0(context, token)) {2334      startRule(context, 'ExamplesDefinition');2335      startRule(context, 'Tags');2336      build(context, token);2337      return 36;2338      }2339    }2340    if(match_TagLine(context, token)) {2341      endRule(context, 'Scenario');2342      endRule(context, 'ScenarioDefinition');2343      startRule(context, 'ScenarioDefinition');2344      startRule(context, 'Tags');2345      build(context, token);2346      return 30;2347    }2348    if(match_ExamplesLine(context, token)) {2349      startRule(context, 'ExamplesDefinition');2350      startRule(context, 'Examples');2351      build(context, token);2352      return 37;2353    }2354    if(match_ScenarioLine(context, token)) {2355      endRule(context, 'Scenario');2356      endRule(context, 'ScenarioDefinition');2357      startRule(context, 'ScenarioDefinition');2358      startRule(context, 'Scenario');2359      build(context, token);2360      return 31;2361    }2362    if(match_RuleLine(context, token)) {2363      endRule(context, 'Scenario');2364      endRule(context, 'ScenarioDefinition');2365      endRule(context, 'Rule');2366      startRule(context, 'Rule');2367      startRule(context, 'RuleHeader');2368      build(context, token);2369      return 22;2370    }2371    if(match_Empty(context, token)) {2372      build(context, token);2373      return 33;2374    }2375    2376    var stateComment = "State: 33 - GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:1>DescriptionHelper:2>#Comment:0";2377    token.detach();2378    var expectedTokens = ["#EOF", "#Comment", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Empty"];2379    var error = token.isEof ?2380      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :2381      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);2382    if (self.stopAtFirstError) throw error;2383    addError(context, error);2384    return 33;2385  }2386  // GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:2>Step:0>#StepLine:02387  function matchTokenAt_34(token, context) {2388    if(match_EOF(context, token)) {2389      endRule(context, 'Step');2390      endRule(context, 'Scenario');2391      endRule(context, 'ScenarioDefinition');2392      endRule(context, 'Rule');2393      endRule(context, 'Feature');2394      build(context, token);2395      return 41;2396    }2397    if(match_TableRow(context, token)) {2398      startRule(context, 'DataTable');2399      build(context, token);2400      return 35;2401    }2402    if(match_DocStringSeparator(context, token)) {2403      startRule(context, 'DocString');2404      build(context, token);2405      return 42;2406    }2407    if(match_StepLine(context, token)) {2408      endRule(context, 'Step');2409      startRule(context, 'Step');2410      build(context, token);2411      return 34;2412    }2413    if(match_TagLine(context, token)) {2414      if(lookahead_0(context, token)) {2415      endRule(context, 'Step');2416      startRule(context, 'ExamplesDefinition');2417      startRule(context, 'Tags');2418      build(context, token);2419      return 36;2420      }2421    }2422    if(match_TagLine(context, token)) {2423      endRule(context, 'Step');2424      endRule(context, 'Scenario');2425      endRule(context, 'ScenarioDefinition');2426      startRule(context, 'ScenarioDefinition');2427      startRule(context, 'Tags');2428      build(context, token);2429      return 30;2430    }2431    if(match_ExamplesLine(context, token)) {2432      endRule(context, 'Step');2433      startRule(context, 'ExamplesDefinition');2434      startRule(context, 'Examples');2435      build(context, token);2436      return 37;2437    }2438    if(match_ScenarioLine(context, token)) {2439      endRule(context, 'Step');2440      endRule(context, 'Scenario');2441      endRule(context, 'ScenarioDefinition');2442      startRule(context, 'ScenarioDefinition');2443      startRule(context, 'Scenario');2444      build(context, token);2445      return 31;2446    }2447    if(match_RuleLine(context, token)) {2448      endRule(context, 'Step');2449      endRule(context, 'Scenario');2450      endRule(context, 'ScenarioDefinition');2451      endRule(context, 'Rule');2452      startRule(context, 'Rule');2453      startRule(context, 'RuleHeader');2454      build(context, token);2455      return 22;2456    }2457    if(match_Comment(context, token)) {2458      build(context, token);2459      return 34;2460    }2461    if(match_Empty(context, token)) {2462      build(context, token);2463      return 34;2464    }2465    2466    var stateComment = "State: 34 - GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:2>Step:0>#StepLine:0";2467    token.detach();2468    var expectedTokens = ["#EOF", "#TableRow", "#DocStringSeparator", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty"];2469    var error = token.isEof ?2470      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :2471      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);2472    if (self.stopAtFirstError) throw error;2473    addError(context, error);2474    return 34;2475  }2476  // GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:2>Step:1>StepArg:0>__alt0:0>DataTable:0>#TableRow:02477  function matchTokenAt_35(token, context) {2478    if(match_EOF(context, token)) {2479      endRule(context, 'DataTable');2480      endRule(context, 'Step');2481      endRule(context, 'Scenario');2482      endRule(context, 'ScenarioDefinition');2483      endRule(context, 'Rule');2484      endRule(context, 'Feature');2485      build(context, token);2486      return 41;2487    }2488    if(match_TableRow(context, token)) {2489      build(context, token);2490      return 35;2491    }2492    if(match_StepLine(context, token)) {2493      endRule(context, 'DataTable');2494      endRule(context, 'Step');2495      startRule(context, 'Step');2496      build(context, token);2497      return 34;2498    }2499    if(match_TagLine(context, token)) {2500      if(lookahead_0(context, token)) {2501      endRule(context, 'DataTable');2502      endRule(context, 'Step');2503      startRule(context, 'ExamplesDefinition');2504      startRule(context, 'Tags');2505      build(context, token);2506      return 36;2507      }2508    }2509    if(match_TagLine(context, token)) {2510      endRule(context, 'DataTable');2511      endRule(context, 'Step');2512      endRule(context, 'Scenario');2513      endRule(context, 'ScenarioDefinition');2514      startRule(context, 'ScenarioDefinition');2515      startRule(context, 'Tags');2516      build(context, token);2517      return 30;2518    }2519    if(match_ExamplesLine(context, token)) {2520      endRule(context, 'DataTable');2521      endRule(context, 'Step');2522      startRule(context, 'ExamplesDefinition');2523      startRule(context, 'Examples');2524      build(context, token);2525      return 37;2526    }2527    if(match_ScenarioLine(context, token)) {2528      endRule(context, 'DataTable');2529      endRule(context, 'Step');2530      endRule(context, 'Scenario');2531      endRule(context, 'ScenarioDefinition');2532      startRule(context, 'ScenarioDefinition');2533      startRule(context, 'Scenario');2534      build(context, token);2535      return 31;2536    }2537    if(match_RuleLine(context, token)) {2538      endRule(context, 'DataTable');2539      endRule(context, 'Step');2540      endRule(context, 'Scenario');2541      endRule(context, 'ScenarioDefinition');2542      endRule(context, 'Rule');2543      startRule(context, 'Rule');2544      startRule(context, 'RuleHeader');2545      build(context, token);2546      return 22;2547    }2548    if(match_Comment(context, token)) {2549      build(context, token);2550      return 35;2551    }2552    if(match_Empty(context, token)) {2553      build(context, token);2554      return 35;2555    }2556    2557    var stateComment = "State: 35 - GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:2>Step:1>StepArg:0>__alt0:0>DataTable:0>#TableRow:0";2558    token.detach();2559    var expectedTokens = ["#EOF", "#TableRow", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty"];2560    var error = token.isEof ?2561      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :2562      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);2563    if (self.stopAtFirstError) throw error;2564    addError(context, error);2565    return 35;2566  }2567  // GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:0>Tags:0>#TagLine:02568  function matchTokenAt_36(token, context) {2569    if(match_TagLine(context, token)) {2570      build(context, token);2571      return 36;2572    }2573    if(match_ExamplesLine(context, token)) {2574      endRule(context, 'Tags');2575      startRule(context, 'Examples');2576      build(context, token);2577      return 37;2578    }2579    if(match_Comment(context, token)) {2580      build(context, token);2581      return 36;2582    }2583    if(match_Empty(context, token)) {2584      build(context, token);2585      return 36;2586    }2587    2588    var stateComment = "State: 36 - GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:0>Tags:0>#TagLine:0";2589    token.detach();2590    var expectedTokens = ["#TagLine", "#ExamplesLine", "#Comment", "#Empty"];2591    var error = token.isEof ?2592      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :2593      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);2594    if (self.stopAtFirstError) throw error;2595    addError(context, error);2596    return 36;2597  }2598  // GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:0>#ExamplesLine:02599  function matchTokenAt_37(token, context) {2600    if(match_EOF(context, token)) {2601      endRule(context, 'Examples');2602      endRule(context, 'ExamplesDefinition');2603      endRule(context, 'Scenario');2604      endRule(context, 'ScenarioDefinition');2605      endRule(context, 'Rule');2606      endRule(context, 'Feature');2607      build(context, token);2608      return 41;2609    }2610    if(match_Empty(context, token)) {2611      build(context, token);2612      return 37;2613    }2614    if(match_Comment(context, token)) {2615      build(context, token);2616      return 39;2617    }2618    if(match_TableRow(context, token)) {2619      startRule(context, 'ExamplesTable');2620      build(context, token);2621      return 40;2622    }2623    if(match_TagLine(context, token)) {2624      if(lookahead_0(context, token)) {2625      endRule(context, 'Examples');2626      endRule(context, 'ExamplesDefinition');2627      startRule(context, 'ExamplesDefinition');2628      startRule(context, 'Tags');2629      build(context, token);2630      return 36;2631      }2632    }2633    if(match_TagLine(context, token)) {2634      endRule(context, 'Examples');2635      endRule(context, 'ExamplesDefinition');2636      endRule(context, 'Scenario');2637      endRule(context, 'ScenarioDefinition');2638      startRule(context, 'ScenarioDefinition');2639      startRule(context, 'Tags');2640      build(context, token);2641      return 30;2642    }2643    if(match_ExamplesLine(context, token)) {2644      endRule(context, 'Examples');2645      endRule(context, 'ExamplesDefinition');2646      startRule(context, 'ExamplesDefinition');2647      startRule(context, 'Examples');2648      build(context, token);2649      return 37;2650    }2651    if(match_ScenarioLine(context, token)) {2652      endRule(context, 'Examples');2653      endRule(context, 'ExamplesDefinition');2654      endRule(context, 'Scenario');2655      endRule(context, 'ScenarioDefinition');2656      startRule(context, 'ScenarioDefinition');2657      startRule(context, 'Scenario');2658      build(context, token);2659      return 31;2660    }2661    if(match_RuleLine(context, token)) {2662      endRule(context, 'Examples');2663      endRule(context, 'ExamplesDefinition');2664      endRule(context, 'Scenario');2665      endRule(context, 'ScenarioDefinition');2666      endRule(context, 'Rule');2667      startRule(context, 'Rule');2668      startRule(context, 'RuleHeader');2669      build(context, token);2670      return 22;2671    }2672    if(match_Other(context, token)) {2673      startRule(context, 'Description');2674      build(context, token);2675      return 38;2676    }2677    2678    var stateComment = "State: 37 - GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:0>#ExamplesLine:0";2679    token.detach();2680    var expectedTokens = ["#EOF", "#Empty", "#Comment", "#TableRow", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Other"];2681    var error = token.isEof ?2682      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :2683      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);2684    if (self.stopAtFirstError) throw error;2685    addError(context, error);2686    return 37;2687  }2688  // GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:1>DescriptionHelper:1>Description:0>#Other:02689  function matchTokenAt_38(token, context) {2690    if(match_EOF(context, token)) {2691      endRule(context, 'Description');2692      endRule(context, 'Examples');2693      endRule(context, 'ExamplesDefinition');2694      endRule(context, 'Scenario');2695      endRule(context, 'ScenarioDefinition');2696      endRule(context, 'Rule');2697      endRule(context, 'Feature');2698      build(context, token);2699      return 41;2700    }2701    if(match_Comment(context, token)) {2702      endRule(context, 'Description');2703      build(context, token);2704      return 39;2705    }2706    if(match_TableRow(context, token)) {2707      endRule(context, 'Description');2708      startRule(context, 'ExamplesTable');2709      build(context, token);2710      return 40;2711    }2712    if(match_TagLine(context, token)) {2713      if(lookahead_0(context, token)) {2714      endRule(context, 'Description');2715      endRule(context, 'Examples');2716      endRule(context, 'ExamplesDefinition');2717      startRule(context, 'ExamplesDefinition');2718      startRule(context, 'Tags');2719      build(context, token);2720      return 36;2721      }2722    }2723    if(match_TagLine(context, token)) {2724      endRule(context, 'Description');2725      endRule(context, 'Examples');2726      endRule(context, 'ExamplesDefinition');2727      endRule(context, 'Scenario');2728      endRule(context, 'ScenarioDefinition');2729      startRule(context, 'ScenarioDefinition');2730      startRule(context, 'Tags');2731      build(context, token);2732      return 30;2733    }2734    if(match_ExamplesLine(context, token)) {2735      endRule(context, 'Description');2736      endRule(context, 'Examples');2737      endRule(context, 'ExamplesDefinition');2738      startRule(context, 'ExamplesDefinition');2739      startRule(context, 'Examples');2740      build(context, token);2741      return 37;2742    }2743    if(match_ScenarioLine(context, token)) {2744      endRule(context, 'Description');2745      endRule(context, 'Examples');2746      endRule(context, 'ExamplesDefinition');2747      endRule(context, 'Scenario');2748      endRule(context, 'ScenarioDefinition');2749      startRule(context, 'ScenarioDefinition');2750      startRule(context, 'Scenario');2751      build(context, token);2752      return 31;2753    }2754    if(match_RuleLine(context, token)) {2755      endRule(context, 'Description');2756      endRule(context, 'Examples');2757      endRule(context, 'ExamplesDefinition');2758      endRule(context, 'Scenario');2759      endRule(context, 'ScenarioDefinition');2760      endRule(context, 'Rule');2761      startRule(context, 'Rule');2762      startRule(context, 'RuleHeader');2763      build(context, token);2764      return 22;2765    }2766    if(match_Other(context, token)) {2767      build(context, token);2768      return 38;2769    }2770    2771    var stateComment = "State: 38 - GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:1>DescriptionHelper:1>Description:0>#Other:0";2772    token.detach();2773    var expectedTokens = ["#EOF", "#Comment", "#TableRow", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Other"];2774    var error = token.isEof ?2775      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :2776      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);2777    if (self.stopAtFirstError) throw error;2778    addError(context, error);2779    return 38;2780  }2781  // GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:1>DescriptionHelper:2>#Comment:02782  function matchTokenAt_39(token, context) {2783    if(match_EOF(context, token)) {2784      endRule(context, 'Examples');2785      endRule(context, 'ExamplesDefinition');2786      endRule(context, 'Scenario');2787      endRule(context, 'ScenarioDefinition');2788      endRule(context, 'Rule');2789      endRule(context, 'Feature');2790      build(context, token);2791      return 41;2792    }2793    if(match_Comment(context, token)) {2794      build(context, token);2795      return 39;2796    }2797    if(match_TableRow(context, token)) {2798      startRule(context, 'ExamplesTable');2799      build(context, token);2800      return 40;2801    }2802    if(match_TagLine(context, token)) {2803      if(lookahead_0(context, token)) {2804      endRule(context, 'Examples');2805      endRule(context, 'ExamplesDefinition');2806      startRule(context, 'ExamplesDefinition');2807      startRule(context, 'Tags');2808      build(context, token);2809      return 36;2810      }2811    }2812    if(match_TagLine(context, token)) {2813      endRule(context, 'Examples');2814      endRule(context, 'ExamplesDefinition');2815      endRule(context, 'Scenario');2816      endRule(context, 'ScenarioDefinition');2817      startRule(context, 'ScenarioDefinition');2818      startRule(context, 'Tags');2819      build(context, token);2820      return 30;2821    }2822    if(match_ExamplesLine(context, token)) {2823      endRule(context, 'Examples');2824      endRule(context, 'ExamplesDefinition');2825      startRule(context, 'ExamplesDefinition');2826      startRule(context, 'Examples');2827      build(context, token);2828      return 37;2829    }2830    if(match_ScenarioLine(context, token)) {2831      endRule(context, 'Examples');2832      endRule(context, 'ExamplesDefinition');2833      endRule(context, 'Scenario');2834      endRule(context, 'ScenarioDefinition');2835      startRule(context, 'ScenarioDefinition');2836      startRule(context, 'Scenario');2837      build(context, token);2838      return 31;2839    }2840    if(match_RuleLine(context, token)) {2841      endRule(context, 'Examples');2842      endRule(context, 'ExamplesDefinition');2843      endRule(context, 'Scenario');2844      endRule(context, 'ScenarioDefinition');2845      endRule(context, 'Rule');2846      startRule(context, 'Rule');2847      startRule(context, 'RuleHeader');2848      build(context, token);2849      return 22;2850    }2851    if(match_Empty(context, token)) {2852      build(context, token);2853      return 39;2854    }2855    2856    var stateComment = "State: 39 - GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:1>DescriptionHelper:2>#Comment:0";2857    token.detach();2858    var expectedTokens = ["#EOF", "#Comment", "#TableRow", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Empty"];2859    var error = token.isEof ?2860      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :2861      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);2862    if (self.stopAtFirstError) throw error;2863    addError(context, error);2864    return 39;2865  }2866  // GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:2>ExamplesTable:0>#TableRow:02867  function matchTokenAt_40(token, context) {2868    if(match_EOF(context, token)) {2869      endRule(context, 'ExamplesTable');2870      endRule(context, 'Examples');2871      endRule(context, 'ExamplesDefinition');2872      endRule(context, 'Scenario');2873      endRule(context, 'ScenarioDefinition');2874      endRule(context, 'Rule');2875      endRule(context, 'Feature');2876      build(context, token);2877      return 41;2878    }2879    if(match_TableRow(context, token)) {2880      build(context, token);2881      return 40;2882    }2883    if(match_TagLine(context, token)) {2884      if(lookahead_0(context, token)) {2885      endRule(context, 'ExamplesTable');2886      endRule(context, 'Examples');2887      endRule(context, 'ExamplesDefinition');2888      startRule(context, 'ExamplesDefinition');2889      startRule(context, 'Tags');2890      build(context, token);2891      return 36;2892      }2893    }2894    if(match_TagLine(context, token)) {2895      endRule(context, 'ExamplesTable');2896      endRule(context, 'Examples');2897      endRule(context, 'ExamplesDefinition');2898      endRule(context, 'Scenario');2899      endRule(context, 'ScenarioDefinition');2900      startRule(context, 'ScenarioDefinition');2901      startRule(context, 'Tags');2902      build(context, token);2903      return 30;2904    }2905    if(match_ExamplesLine(context, token)) {2906      endRule(context, 'ExamplesTable');2907      endRule(context, 'Examples');2908      endRule(context, 'ExamplesDefinition');2909      startRule(context, 'ExamplesDefinition');2910      startRule(context, 'Examples');2911      build(context, token);2912      return 37;2913    }2914    if(match_ScenarioLine(context, token)) {2915      endRule(context, 'ExamplesTable');2916      endRule(context, 'Examples');2917      endRule(context, 'ExamplesDefinition');2918      endRule(context, 'Scenario');2919      endRule(context, 'ScenarioDefinition');2920      startRule(context, 'ScenarioDefinition');2921      startRule(context, 'Scenario');2922      build(context, token);2923      return 31;2924    }2925    if(match_RuleLine(context, token)) {2926      endRule(context, 'ExamplesTable');2927      endRule(context, 'Examples');2928      endRule(context, 'ExamplesDefinition');2929      endRule(context, 'Scenario');2930      endRule(context, 'ScenarioDefinition');2931      endRule(context, 'Rule');2932      startRule(context, 'Rule');2933      startRule(context, 'RuleHeader');2934      build(context, token);2935      return 22;2936    }2937    if(match_Comment(context, token)) {2938      build(context, token);2939      return 40;2940    }2941    if(match_Empty(context, token)) {2942      build(context, token);2943      return 40;2944    }2945    2946    var stateComment = "State: 40 - GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:2>ExamplesTable:0>#TableRow:0";2947    token.detach();2948    var expectedTokens = ["#EOF", "#TableRow", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty"];2949    var error = token.isEof ?2950      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :2951      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);2952    if (self.stopAtFirstError) throw error;2953    addError(context, error);2954    return 40;2955  }2956  // GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:2>Step:1>StepArg:0>__alt0:1>DocString:0>#DocStringSeparator:02957  function matchTokenAt_42(token, context) {2958    if(match_DocStringSeparator(context, token)) {2959      build(context, token);2960      return 43;2961    }2962    if(match_Other(context, token)) {2963      build(context, token);2964      return 42;2965    }2966    2967    var stateComment = "State: 42 - GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:2>Step:1>StepArg:0>__alt0:1>DocString:0>#DocStringSeparator:0";2968    token.detach();2969    var expectedTokens = ["#DocStringSeparator", "#Other"];2970    var error = token.isEof ?2971      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :2972      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);2973    if (self.stopAtFirstError) throw error;2974    addError(context, error);2975    return 42;2976  }2977  // GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:2>Step:1>StepArg:0>__alt0:1>DocString:2>#DocStringSeparator:02978  function matchTokenAt_43(token, context) {2979    if(match_EOF(context, token)) {2980      endRule(context, 'DocString');2981      endRule(context, 'Step');2982      endRule(context, 'Scenario');2983      endRule(context, 'ScenarioDefinition');2984      endRule(context, 'Rule');2985      endRule(context, 'Feature');2986      build(context, token);2987      return 41;2988    }2989    if(match_StepLine(context, token)) {2990      endRule(context, 'DocString');2991      endRule(context, 'Step');2992      startRule(context, 'Step');2993      build(context, token);2994      return 34;2995    }2996    if(match_TagLine(context, token)) {2997      if(lookahead_0(context, token)) {2998      endRule(context, 'DocString');2999      endRule(context, 'Step');3000      startRule(context, 'ExamplesDefinition');3001      startRule(context, 'Tags');3002      build(context, token);3003      return 36;3004      }3005    }3006    if(match_TagLine(context, token)) {3007      endRule(context, 'DocString');3008      endRule(context, 'Step');3009      endRule(context, 'Scenario');3010      endRule(context, 'ScenarioDefinition');3011      startRule(context, 'ScenarioDefinition');3012      startRule(context, 'Tags');3013      build(context, token);3014      return 30;3015    }3016    if(match_ExamplesLine(context, token)) {3017      endRule(context, 'DocString');3018      endRule(context, 'Step');3019      startRule(context, 'ExamplesDefinition');3020      startRule(context, 'Examples');3021      build(context, token);3022      return 37;3023    }3024    if(match_ScenarioLine(context, token)) {3025      endRule(context, 'DocString');3026      endRule(context, 'Step');3027      endRule(context, 'Scenario');3028      endRule(context, 'ScenarioDefinition');3029      startRule(context, 'ScenarioDefinition');3030      startRule(context, 'Scenario');3031      build(context, token);3032      return 31;3033    }3034    if(match_RuleLine(context, token)) {3035      endRule(context, 'DocString');3036      endRule(context, 'Step');3037      endRule(context, 'Scenario');3038      endRule(context, 'ScenarioDefinition');3039      endRule(context, 'Rule');3040      startRule(context, 'Rule');3041      startRule(context, 'RuleHeader');3042      build(context, token);3043      return 22;3044    }3045    if(match_Comment(context, token)) {3046      build(context, token);3047      return 43;3048    }3049    if(match_Empty(context, token)) {3050      build(context, token);3051      return 43;3052    }3053    3054    var stateComment = "State: 43 - GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:2>Step:1>StepArg:0>__alt0:1>DocString:2>#DocStringSeparator:0";3055    token.detach();3056    var expectedTokens = ["#EOF", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty"];3057    var error = token.isEof ?3058      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :3059      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);3060    if (self.stopAtFirstError) throw error;3061    addError(context, error);3062    return 43;3063  }3064  // GherkinDocument:0>Feature:3>Rule:1>Background:2>Step:1>StepArg:0>__alt0:1>DocString:0>#DocStringSeparator:03065  function matchTokenAt_44(token, context) {3066    if(match_DocStringSeparator(context, token)) {3067      build(context, token);3068      return 45;3069    }3070    if(match_Other(context, token)) {3071      build(context, token);3072      return 44;3073    }3074    3075    var stateComment = "State: 44 - GherkinDocument:0>Feature:3>Rule:1>Background:2>Step:1>StepArg:0>__alt0:1>DocString:0>#DocStringSeparator:0";3076    token.detach();3077    var expectedTokens = ["#DocStringSeparator", "#Other"];3078    var error = token.isEof ?3079      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :3080      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);3081    if (self.stopAtFirstError) throw error;3082    addError(context, error);3083    return 44;3084  }3085  // GherkinDocument:0>Feature:3>Rule:1>Background:2>Step:1>StepArg:0>__alt0:1>DocString:2>#DocStringSeparator:03086  function matchTokenAt_45(token, context) {3087    if(match_EOF(context, token)) {3088      endRule(context, 'DocString');3089      endRule(context, 'Step');3090      endRule(context, 'Background');3091      endRule(context, 'Rule');3092      endRule(context, 'Feature');3093      build(context, token);3094      return 41;3095    }3096    if(match_StepLine(context, token)) {3097      endRule(context, 'DocString');3098      endRule(context, 'Step');3099      startRule(context, 'Step');3100      build(context, token);3101      return 28;3102    }3103    if(match_TagLine(context, token)) {3104      endRule(context, 'DocString');3105      endRule(context, 'Step');3106      endRule(context, 'Background');3107      startRule(context, 'ScenarioDefinition');3108      startRule(context, 'Tags');3109      build(context, token);3110      return 30;3111    }3112    if(match_ScenarioLine(context, token)) {3113      endRule(context, 'DocString');3114      endRule(context, 'Step');3115      endRule(context, 'Background');3116      startRule(context, 'ScenarioDefinition');3117      startRule(context, 'Scenario');3118      build(context, token);3119      return 31;3120    }3121    if(match_RuleLine(context, token)) {3122      endRule(context, 'DocString');3123      endRule(context, 'Step');3124      endRule(context, 'Background');3125      endRule(context, 'Rule');3126      startRule(context, 'Rule');3127      startRule(context, 'RuleHeader');3128      build(context, token);3129      return 22;3130    }3131    if(match_Comment(context, token)) {3132      build(context, token);3133      return 45;3134    }3135    if(match_Empty(context, token)) {3136      build(context, token);3137      return 45;3138    }3139    3140    var stateComment = "State: 45 - GherkinDocument:0>Feature:3>Rule:1>Background:2>Step:1>StepArg:0>__alt0:1>DocString:2>#DocStringSeparator:0";3141    token.detach();3142    var expectedTokens = ["#EOF", "#StepLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty"];3143    var error = token.isEof ?3144      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :3145      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);3146    if (self.stopAtFirstError) throw error;3147    addError(context, error);3148    return 45;3149  }3150  // GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:2>Step:1>StepArg:0>__alt0:1>DocString:0>#DocStringSeparator:03151  function matchTokenAt_46(token, context) {3152    if(match_DocStringSeparator(context, token)) {3153      build(context, token);3154      return 47;3155    }3156    if(match_Other(context, token)) {3157      build(context, token);3158      return 46;3159    }3160    3161    var stateComment = "State: 46 - GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:2>Step:1>StepArg:0>__alt0:1>DocString:0>#DocStringSeparator:0";3162    token.detach();3163    var expectedTokens = ["#DocStringSeparator", "#Other"];3164    var error = token.isEof ?3165      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :3166      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);3167    if (self.stopAtFirstError) throw error;3168    addError(context, error);3169    return 46;3170  }3171  // GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:2>Step:1>StepArg:0>__alt0:1>DocString:2>#DocStringSeparator:03172  function matchTokenAt_47(token, context) {3173    if(match_EOF(context, token)) {3174      endRule(context, 'DocString');3175      endRule(context, 'Step');3176      endRule(context, 'Scenario');3177      endRule(context, 'ScenarioDefinition');3178      endRule(context, 'Feature');3179      build(context, token);3180      return 41;3181    }3182    if(match_StepLine(context, token)) {3183      endRule(context, 'DocString');3184      endRule(context, 'Step');3185      startRule(context, 'Step');3186      build(context, token);3187      return 15;3188    }3189    if(match_TagLine(context, token)) {3190      if(lookahead_0(context, token)) {3191      endRule(context, 'DocString');3192      endRule(context, 'Step');3193      startRule(context, 'ExamplesDefinition');3194      startRule(context, 'Tags');3195      build(context, token);3196      return 17;3197      }3198    }3199    if(match_TagLine(context, token)) {3200      endRule(context, 'DocString');3201      endRule(context, 'Step');3202      endRule(context, 'Scenario');3203      endRule(context, 'ScenarioDefinition');3204      startRule(context, 'ScenarioDefinition');3205      startRule(context, 'Tags');3206      build(context, token);3207      return 11;3208    }3209    if(match_ExamplesLine(context, token)) {3210      endRule(context, 'DocString');3211      endRule(context, 'Step');3212      startRule(context, 'ExamplesDefinition');3213      startRule(context, 'Examples');3214      build(context, token);3215      return 18;3216    }3217    if(match_ScenarioLine(context, token)) {3218      endRule(context, 'DocString');3219      endRule(context, 'Step');3220      endRule(context, 'Scenario');3221      endRule(context, 'ScenarioDefinition');3222      startRule(context, 'ScenarioDefinition');3223      startRule(context, 'Scenario');3224      build(context, token);3225      return 12;3226    }3227    if(match_RuleLine(context, token)) {3228      endRule(context, 'DocString');3229      endRule(context, 'Step');3230      endRule(context, 'Scenario');3231      endRule(context, 'ScenarioDefinition');3232      startRule(context, 'Rule');3233      startRule(context, 'RuleHeader');3234      build(context, token);3235      return 22;3236    }3237    if(match_Comment(context, token)) {3238      build(context, token);3239      return 47;3240    }3241    if(match_Empty(context, token)) {3242      build(context, token);3243      return 47;3244    }3245    3246    var stateComment = "State: 47 - GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:2>Step:1>StepArg:0>__alt0:1>DocString:2>#DocStringSeparator:0";3247    token.detach();3248    var expectedTokens = ["#EOF", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty"];3249    var error = token.isEof ?3250      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :3251      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);3252    if (self.stopAtFirstError) throw error;3253    addError(context, error);3254    return 47;3255  }3256  // GherkinDocument:0>Feature:1>Background:2>Step:1>StepArg:0>__alt0:1>DocString:0>#DocStringSeparator:03257  function matchTokenAt_48(token, context) {3258    if(match_DocStringSeparator(context, token)) {3259      build(context, token);3260      return 49;3261    }3262    if(match_Other(context, token)) {3263      build(context, token);3264      return 48;3265    }3266    3267    var stateComment = "State: 48 - GherkinDocument:0>Feature:1>Background:2>Step:1>StepArg:0>__alt0:1>DocString:0>#DocStringSeparator:0";3268    token.detach();3269    var expectedTokens = ["#DocStringSeparator", "#Other"];3270    var error = token.isEof ?3271      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :3272      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);3273    if (self.stopAtFirstError) throw error;3274    addError(context, error);3275    return 48;3276  }3277  // GherkinDocument:0>Feature:1>Background:2>Step:1>StepArg:0>__alt0:1>DocString:2>#DocStringSeparator:03278  function matchTokenAt_49(token, context) {3279    if(match_EOF(context, token)) {3280      endRule(context, 'DocString');3281      endRule(context, 'Step');3282      endRule(context, 'Background');3283      endRule(context, 'Feature');3284      build(context, token);3285      return 41;3286    }3287    if(match_StepLine(context, token)) {3288      endRule(context, 'DocString');3289      endRule(context, 'Step');3290      startRule(context, 'Step');3291      build(context, token);3292      return 9;3293    }3294    if(match_TagLine(context, token)) {3295      endRule(context, 'DocString');3296      endRule(context, 'Step');3297      endRule(context, 'Background');3298      startRule(context, 'ScenarioDefinition');3299      startRule(context, 'Tags');3300      build(context, token);3301      return 11;3302    }3303    if(match_ScenarioLine(context, token)) {3304      endRule(context, 'DocString');3305      endRule(context, 'Step');3306      endRule(context, 'Background');3307      startRule(context, 'ScenarioDefinition');3308      startRule(context, 'Scenario');3309      build(context, token);3310      return 12;3311    }3312    if(match_RuleLine(context, token)) {3313      endRule(context, 'DocString');3314      endRule(context, 'Step');3315      endRule(context, 'Background');3316      startRule(context, 'Rule');3317      startRule(context, 'RuleHeader');3318      build(context, token);3319      return 22;3320    }3321    if(match_Comment(context, token)) {3322      build(context, token);3323      return 49;3324    }3325    if(match_Empty(context, token)) {3326      build(context, token);3327      return 49;3328    }3329    3330    var stateComment = "State: 49 - GherkinDocument:0>Feature:1>Background:2>Step:1>StepArg:0>__alt0:1>DocString:2>#DocStringSeparator:0";3331    token.detach();3332    var expectedTokens = ["#EOF", "#StepLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty"];3333    var error = token.isEof ?3334      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :3335      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);3336    if (self.stopAtFirstError) throw error;3337    addError(context, error);3338    return 49;3339  }3340  function match_EOF(context, token) {3341    return handleExternalError(context, false, function () {3342      return context.tokenMatcher.match_EOF(token);3343    });3344  }3345  function match_Empty(context, token) {3346    if(token.isEof) return false;3347    return handleExternalError(context, false, function () {3348      return context.tokenMatcher.match_Empty(token);3349    });3350  }3351  function match_Comment(context, token) {3352    if(token.isEof) return false;3353    return handleExternalError(context, false, function () {3354      return context.tokenMatcher.match_Comment(token);3355    });3356  }3357  function match_TagLine(context, token) {3358    if(token.isEof) return false;3359    return handleExternalError(context, false, function () {3360      return context.tokenMatcher.match_TagLine(token);3361    });3362  }3363  function match_FeatureLine(context, token) {3364    if(token.isEof) return false;3365    return handleExternalError(context, false, function () {3366      return context.tokenMatcher.match_FeatureLine(token);3367    });3368  }3369  function match_RuleLine(context, token) {3370    if(token.isEof) return false;3371    return handleExternalError(context, false, function () {3372      return context.tokenMatcher.match_RuleLine(token);3373    });3374  }3375  function match_BackgroundLine(context, token) {3376    if(token.isEof) return false;3377    return handleExternalError(context, false, function () {3378      return context.tokenMatcher.match_BackgroundLine(token);3379    });3380  }3381  function match_ScenarioLine(context, token) {3382    if(token.isEof) return false;3383    return handleExternalError(context, false, function () {3384      return context.tokenMatcher.match_ScenarioLine(token);3385    });3386  }3387  function match_ExamplesLine(context, token) {3388    if(token.isEof) return false;3389    return handleExternalError(context, false, function () {3390      return context.tokenMatcher.match_ExamplesLine(token);3391    });3392  }...

Full Screen

Full Screen

parser.py

Source:parser.py Github

copy

Full Screen

...115    def match_FeatureLine(self, context, token):116        if token.eof():117            return False118        return self.handle_external_error(context, False, token, context.token_matcher.match_FeatureLine)119    def match_BackgroundLine(self, context, token):120        if token.eof():121            return False122        return self.handle_external_error(context, False, token, context.token_matcher.match_BackgroundLine)123    def match_ScenarioLine(self, context, token):124        if token.eof():125            return False126        return self.handle_external_error(context, False, token, context.token_matcher.match_ScenarioLine)127    def match_ScenarioOutlineLine(self, context, token):128        if token.eof():129            return False130        return self.handle_external_error(context, False, token, context.token_matcher.match_ScenarioOutlineLine)131    def match_ExamplesLine(self, context, token):132        if token.eof():133            return False134        return self.handle_external_error(context, False, token, context.token_matcher.match_ExamplesLine)135    def match_StepLine(self, context, token):136        if token.eof():137            return False138        return self.handle_external_error(context, False, token, context.token_matcher.match_StepLine)139    def match_DocStringSeparator(self, context, token):140        if token.eof():141            return False142        return self.handle_external_error(context, False, token, context.token_matcher.match_DocStringSeparator)143    def match_TableRow(self, context, token):144        if token.eof():145            return False146        return self.handle_external_error(context, False, token, context.token_matcher.match_TableRow)147    def match_Language(self, context, token):148        if token.eof():149            return False150        return self.handle_external_error(context, False, token, context.token_matcher.match_Language)151    def match_Other(self, context, token):152        if token.eof():153            return False154        return self.handle_external_error(context, False, token, context.token_matcher.match_Other)155    def match_token(self, state, token, context):156        state_map = {157            0: self.match_token_at_0,158            1: self.match_token_at_1,159            2: self.match_token_at_2,160            3: self.match_token_at_3,161            4: self.match_token_at_4,162            5: self.match_token_at_5,163            6: self.match_token_at_6,164            7: self.match_token_at_7,165            8: self.match_token_at_8,166            9: self.match_token_at_9,167            10: self.match_token_at_10,168            11: self.match_token_at_11,169            12: self.match_token_at_12,170            13: self.match_token_at_13,171            14: self.match_token_at_14,172            15: self.match_token_at_15,173            16: self.match_token_at_16,174            17: self.match_token_at_17,175            18: self.match_token_at_18,176            19: self.match_token_at_19,177            20: self.match_token_at_20,178            21: self.match_token_at_21,179            22: self.match_token_at_22,180            23: self.match_token_at_23,181            24: self.match_token_at_24,182            25: self.match_token_at_25,183            26: self.match_token_at_26,184            28: self.match_token_at_28,185            29: self.match_token_at_29,186            30: self.match_token_at_30,187            31: self.match_token_at_31,188            32: self.match_token_at_32,189            33: self.match_token_at_33,190        }191        if state in state_map:192            return state_map[state](token, context)193        else:194            raise RuntimeError("Unknown state: " + str(state))195    # Start196    def match_token_at_0(self, token, context):197        if self.match_Language(context, token):198                self.start_rule(context, 'Feature_Header')199                self.build(context, token)200                return 1201        if self.match_TagLine(context, token):202                self.start_rule(context, 'Feature_Header')203                self.start_rule(context, 'Tags')204                self.build(context, token)205                return 2206        if self.match_FeatureLine(context, token):207                self.start_rule(context, 'Feature_Header')208                self.build(context, token)209                return 3210        if self.match_Comment(context, token):211                self.build(context, token)212                return 0213        if self.match_Empty(context, token):214                self.build(context, token)215                return 0216        state_comment = "State: 0 - Start"217        token.detach218        expected_tokens = ["#Language", "#TagLine", "#FeatureLine", "#Comment", "#Empty"]219        error = UnexpectedEOFException(token, expected_tokens, state_comment) if token.eof() else UnexpectedTokenException(token, expected_tokens, state_comment)220        if (self.stop_at_first_error):221            raise error222        self.add_error(context, error)223        return 0224    # Feature:0>Feature_Header:0>#Language:0225    def match_token_at_1(self, token, context):226        if self.match_TagLine(context, token):227                self.start_rule(context, 'Tags')228                self.build(context, token)229                return 2230        if self.match_FeatureLine(context, token):231                self.build(context, token)232                return 3233        if self.match_Comment(context, token):234                self.build(context, token)235                return 1236        if self.match_Empty(context, token):237                self.build(context, token)238                return 1239        state_comment = "State: 1 - Feature:0>Feature_Header:0>#Language:0"240        token.detach241        expected_tokens = ["#TagLine", "#FeatureLine", "#Comment", "#Empty"]242        error = UnexpectedEOFException(token, expected_tokens, state_comment) if token.eof() else UnexpectedTokenException(token, expected_tokens, state_comment)243        if (self.stop_at_first_error):244            raise error245        self.add_error(context, error)246        return 1247    # Feature:0>Feature_Header:1>Tags:0>#TagLine:0248    def match_token_at_2(self, token, context):249        if self.match_TagLine(context, token):250                self.build(context, token)251                return 2252        if self.match_FeatureLine(context, token):253                self.end_rule(context, 'Tags')254                self.build(context, token)255                return 3256        if self.match_Comment(context, token):257                self.build(context, token)258                return 2259        if self.match_Empty(context, token):260                self.build(context, token)261                return 2262        state_comment = "State: 2 - Feature:0>Feature_Header:1>Tags:0>#TagLine:0"263        token.detach264        expected_tokens = ["#TagLine", "#FeatureLine", "#Comment", "#Empty"]265        error = UnexpectedEOFException(token, expected_tokens, state_comment) if token.eof() else UnexpectedTokenException(token, expected_tokens, state_comment)266        if (self.stop_at_first_error):267            raise error268        self.add_error(context, error)269        return 2270    # Feature:0>Feature_Header:2>#FeatureLine:0271    def match_token_at_3(self, token, context):272        if self.match_EOF(context, token):273                self.end_rule(context, 'Feature_Header')274                self.build(context, token)275                return 27276        if self.match_Empty(context, token):277                self.build(context, token)278                return 3279        if self.match_Comment(context, token):280                self.build(context, token)281                return 5282        if self.match_BackgroundLine(context, token):283                self.end_rule(context, 'Feature_Header')284                self.start_rule(context, 'Background')285                self.build(context, token)286                return 6287        if self.match_TagLine(context, token):288                self.end_rule(context, 'Feature_Header')289                self.start_rule(context, 'Scenario_Definition')290                self.start_rule(context, 'Tags')291                self.build(context, token)292                return 11293        if self.match_ScenarioLine(context, token):294                self.end_rule(context, 'Feature_Header')295                self.start_rule(context, 'Scenario_Definition')296                self.start_rule(context, 'Scenario')297                self.build(context, token)298                return 12299        if self.match_ScenarioOutlineLine(context, token):300                self.end_rule(context, 'Feature_Header')301                self.start_rule(context, 'Scenario_Definition')302                self.start_rule(context, 'ScenarioOutline')303                self.build(context, token)304                return 17305        if self.match_Other(context, token):306                self.start_rule(context, 'Description')307                self.build(context, token)308                return 4309        state_comment = "State: 3 - Feature:0>Feature_Header:2>#FeatureLine:0"310        token.detach311        expected_tokens = ["#EOF", "#Empty", "#Comment", "#BackgroundLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Other"]312        error = UnexpectedEOFException(token, expected_tokens, state_comment) if token.eof() else UnexpectedTokenException(token, expected_tokens, state_comment)313        if (self.stop_at_first_error):314            raise error315        self.add_error(context, error)316        return 3317    # Feature:0>Feature_Header:3>Feature_Description:0>Description_Helper:1>Description:0>#Other:0318    def match_token_at_4(self, token, context):319        if self.match_EOF(context, token):320                self.end_rule(context, 'Description')321                self.end_rule(context, 'Feature_Header')322                self.build(context, token)323                return 27324        if self.match_Comment(context, token):325                self.end_rule(context, 'Description')326                self.build(context, token)327                return 5328        if self.match_BackgroundLine(context, token):329                self.end_rule(context, 'Description')330                self.end_rule(context, 'Feature_Header')331                self.start_rule(context, 'Background')332                self.build(context, token)333                return 6334        if self.match_TagLine(context, token):335                self.end_rule(context, 'Description')336                self.end_rule(context, 'Feature_Header')337                self.start_rule(context, 'Scenario_Definition')338                self.start_rule(context, 'Tags')339                self.build(context, token)340                return 11341        if self.match_ScenarioLine(context, token):342                self.end_rule(context, 'Description')343                self.end_rule(context, 'Feature_Header')344                self.start_rule(context, 'Scenario_Definition')345                self.start_rule(context, 'Scenario')346                self.build(context, token)347                return 12348        if self.match_ScenarioOutlineLine(context, token):349                self.end_rule(context, 'Description')350                self.end_rule(context, 'Feature_Header')351                self.start_rule(context, 'Scenario_Definition')352                self.start_rule(context, 'ScenarioOutline')353                self.build(context, token)354                return 17355        if self.match_Other(context, token):356                self.build(context, token)357                return 4358        state_comment = "State: 4 - Feature:0>Feature_Header:3>Feature_Description:0>Description_Helper:1>Description:0>#Other:0"359        token.detach360        expected_tokens = ["#EOF", "#Comment", "#BackgroundLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Other"]361        error = UnexpectedEOFException(token, expected_tokens, state_comment) if token.eof() else UnexpectedTokenException(token, expected_tokens, state_comment)362        if (self.stop_at_first_error):363            raise error364        self.add_error(context, error)365        return 4366    # Feature:0>Feature_Header:3>Feature_Description:0>Description_Helper:2>#Comment:0367    def match_token_at_5(self, token, context):368        if self.match_EOF(context, token):369                self.end_rule(context, 'Feature_Header')370                self.build(context, token)371                return 27372        if self.match_Comment(context, token):373                self.build(context, token)374                return 5375        if self.match_BackgroundLine(context, token):376                self.end_rule(context, 'Feature_Header')377                self.start_rule(context, 'Background')378                self.build(context, token)379                return 6380        if self.match_TagLine(context, token):381                self.end_rule(context, 'Feature_Header')382                self.start_rule(context, 'Scenario_Definition')383                self.start_rule(context, 'Tags')384                self.build(context, token)385                return 11386        if self.match_ScenarioLine(context, token):387                self.end_rule(context, 'Feature_Header')388                self.start_rule(context, 'Scenario_Definition')389                self.start_rule(context, 'Scenario')...

Full Screen

Full Screen

token_matcher.py

Source:token_matcher.py Github

copy

Full Screen

...18        return self._match_title_line(token, 'ScenarioLine', self.dialect.scenario_keywords)19    def match_ScenarioOutlineLine(self, token):20        return self._match_title_line(token, 'ScenarioOutlineLine',21                                      self.dialect.scenario_outline_keywords)22    def match_BackgroundLine(self, token):23        return self._match_title_line(token, 'BackgroundLine', self.dialect.background_keywords)24    def match_ExamplesLine(self, token):25        return self._match_title_line(token, 'ExamplesLine', self.dialect.examples_keywords)26    def match_TableRow(self, token):27        if not token.line.startswith('|'):28            return False29        # TODO: indent30        self._set_token_matched(token, 'TableRow', items=token.line.table_cells)31        return True32    def match_StepLine(self, token):33        keywords = (self.dialect.given_keywords +34                    self.dialect.when_keywords +35                    self.dialect.then_keywords +36                    self.dialect.and_keywords +...

Full Screen

Full Screen

token_matcher.js

Source:token_matcher.js Github

copy

Full Screen

...36  };37  this.match_ScenarioOutlineLine = function match_ScenarioOutlineLine(token) {38    return matchTitleLine(token, 'ScenarioOutlineLine', dialect.scenarioOutline);39  };40  this.match_BackgroundLine = function match_BackgroundLine(token) {41    return matchTitleLine(token, 'BackgroundLine', dialect.background);42  };43  this.match_ExamplesLine = function match_ExamplesLine(token) {44    return matchTitleLine(token, 'ExamplesLine', dialect.examples);45  };46  this.match_TableRow = function match_TableRow(token) {47    if (token.line.startsWith('|')) {48      // TODO: indent49      setTokenMatched(token, 'TableRow', null, null, null, token.line.getTableCells());50      return true;51    }52    return false;53  };54  this.match_Empty = function match_Empty(token) {...

Full Screen

Full Screen

Using AI Code Generation

copy

Full Screen

1var gherkin = require('gherkin');2var fs = require('fs');3var parser = new gherkin.Parser();4var lexer = new gherkin.Lexer();5var feature = fs.readFileSync('test.feature', 'utf-8');6var tokens = lexer.lex(feature);7var parsedFeature = parser.parse(tokens);8var background = parsedFeature.children[0].background;9var gherkinLine = new gherkin.GherkinLine('Given I have a background', 1);10var match = gherkinLine.match_BackgroundLine(background);11console.log(match);

Full Screen

Using AI Code Generation

copy

Full Screen

1var gherkin = require('cucumber-gherkin');2var fs = require('fs');3var feature = fs.readFileSync('test.feature', 'utf-8');4var gherkinDocument = gherkin.parse(feature);5var background = gherkinDocument.feature.children[0];6var line = 4;7var match = gherkin.match_BackgroundLine(background, line);8console.log(match);9console.log(match.matchedType);10console.log(match.matchedText);11{ matchedType: 'BackgroundLine',12   { line: 2,13     column: 1 } }

Full Screen

Using AI Code Generation

copy

Full Screen

1var gherkin = require('cucumber-gherkin');2var fs = require('fs');3var data = fs.readFileSync('test.feature', 'utf8');4var lines = data.split('5');6var i = 1;7for (var line of lines) {8    console.log(i + ' ' + line);9    console.log(gherkin.match_BackgroundLine(line));10    i++;11}12Your name to display (optional):13Your name to display (optional):14Your name to display (optional):

Full Screen

Using AI Code Generation

copy

Full Screen

1var gherkin = require('cucumber-gherkin');2var parser = new gherkin.Parser();3var feature = parser.parse("Feature: test4");5var backgroundLine = feature.background.location.line;6console.log(backgroundLine);7var gherkin = require('gherkin');8var parser = new gherkin.Parser();9var feature = parser.parse("Feature: test10");11var backgroundLine = feature.background.location.line;12console.log(backgroundLine);

Full Screen

Using AI Code Generation

copy

Full Screen

1var gherkin = require('gherkin');2var parser = new gherkin.Parser();3var fs = require('fs');4var gherkinFile = fs.readFileSync('test.feature', 'utf-8');5var gherkinDoc = parser.parse(gherkinFile);6var feature = gherkinDoc.feature;7var background = feature.children[0];8var backgroundLine = background.location.line;9var backgroundKeyword = background.keyword;10var backgroundName = background.name;11var backgroundDescription = background.description;12console.log("Background line: " + backgroundLine);13console.log("Background keyword: " + backgroundKeyword);14console.log("Background name: " + backgroundName);15console.log("Background description: " + backgroundDescription);16  So that I can import them into my automation framework17var gherkin = require('gherkin');18var parser = new gherkin.Parser();19var fs = require('fs');20var gherkinFile = fs.readFileSync('test.feature', 'utf-8');21var gherkinDoc = parser.parse(gherkinFile);22var feature = gherkinDoc.feature;23var background = feature.children[0];24var backgroundLine = background.location.line;25var backgroundKeyword = background.keyword;26var backgroundName = background.name;27var backgroundDescription = background.description;28console.log("Background line: " + backgroundLine);29console.log("Background keyword: " + backgroundKeyword);30console.log("Background name: " + backgroundName);31console.log("Background description: " + backgroundDescription);

Full Screen

Using AI Code Generation

copy

Full Screen

1var gherkin = require('cucumber-gherkin');2var fs = require('fs');3var feature = fs.readFileSync('test.feature', 'utf8');4gherkin.match_BackgroundLine(feature, function(err, res) {5  if (err) {6    console.log(err);7  } else {8    console.log(res);9  }10});11{ line: 2, name: 'test' }

Full Screen

Using AI Code Generation

copy

Full Screen

1var gherkin = require('cucumber-gherkin');2var line = "Scenario: Test Scenario";3var result = gherkin.match_BackgroundLine(line);4console.log(result);5var gherkin = require('cucumber-gherkin');6var line = "Scenario Outline: Test Scenario Outline";7var result = gherkin.match_BackgroundLine(line);8console.log(result);9var gherkin = require('cucumber-gherkin');10var line = "Rule: Test Rule";11var result = gherkin.match_BackgroundLine(line);12console.log(result);13var gherkin = require('cucumber-gherkin');14var line = "# Test Comment";15var result = gherkin.match_BackgroundLine(line);16console.log(result);17var gherkin = require('cucumber-gherkin');18var line = "@TestTag";19var result = gherkin.match_BackgroundLine(line);20console.log(result);21var gherkin = require('cucumber-gherkin');22var line = "";23var result = gherkin.match_BackgroundLine(line);24console.log(result);

Full Screen

Cucumber Tutorial:

LambdaTest offers a detailed Cucumber testing tutorial, explaining its features, importance, best practices, and more to help you get started with running your automation testing scripts.

Cucumber Tutorial Chapters:

Here are the detailed Cucumber testing chapters to help you get started:

  • Importance of Cucumber - Learn why Cucumber is important in Selenium automation testing during the development phase to identify bugs and errors.
  • Setting Up Cucumber in Eclipse and IntelliJ - Learn how to set up Cucumber in Eclipse and IntelliJ.
  • Running First Cucumber.js Test Script - After successfully setting up your Cucumber in Eclipse or IntelliJ, this chapter will help you get started with Selenium Cucumber testing in no time.
  • Annotations in Cucumber - To handle multiple feature files and the multiple scenarios in each file, you need to use functionality to execute these scenarios. This chapter will help you learn about a handful of Cucumber annotations ranging from tags, Cucumber hooks, and more to ease the maintenance of the framework.
  • Automation Testing With Cucumber And Nightwatch JS - Learn how to build a robust BDD framework setup for performing Selenium automation testing by integrating Cucumber into the Nightwatch.js framework.
  • Automation Testing With Selenium, Cucumber & TestNG - Learn how to perform Selenium automation testing by integrating Cucumber with the TestNG framework.
  • Integrate Cucumber With Jenkins - By using Cucumber with Jenkins integration, you can schedule test case executions remotely and take advantage of the benefits of Jenkins. Learn how to integrate Cucumber with Jenkins with this detailed chapter.
  • Cucumber Best Practices For Selenium Automation - Take a deep dive into the advanced use cases, such as creating a feature file, separating feature files, and more for Cucumber testing.

Run Cucumber-gherkin automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful