Best Python code snippet using gherkin-python
gherkin.js
Source:gherkin.js  
...3948      startRule(context, 'Feature_Header');3949      build(context, token);3950      return 1;3951    }3952    if(match_TagLine(context, token)) {3953      startRule(context, 'Feature');3954      startRule(context, 'Feature_Header');3955      startRule(context, 'Tags');3956      build(context, token);3957      return 2;3958    }3959    if(match_FeatureLine(context, token)) {3960      startRule(context, 'Feature');3961      startRule(context, 'Feature_Header');3962      build(context, token);3963      return 3;3964    }3965    if(match_Comment(context, token)) {3966      build(context, token);3967      return 0;3968    }3969    if(match_Empty(context, token)) {3970      build(context, token);3971      return 0;3972    }3973    3974    var stateComment = "State: 0 - Start";3975    token.detach();3976    var expectedTokens = ["#EOF", "#Language", "#TagLine", "#FeatureLine", "#Comment", "#Empty"];3977    var error = token.isEof ?3978      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :3979      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);3980    if (self.stopAtFirstError) throw error;3981    addError(context, error);3982    return 0;3983  }3984  // GherkinDocument:0>Feature:0>Feature_Header:0>#Language:03985  function matchTokenAt_1(token, context) {3986    if(match_TagLine(context, token)) {3987      startRule(context, 'Tags');3988      build(context, token);3989      return 2;3990    }3991    if(match_FeatureLine(context, token)) {3992      build(context, token);3993      return 3;3994    }3995    if(match_Comment(context, token)) {3996      build(context, token);3997      return 1;3998    }3999    if(match_Empty(context, token)) {4000      build(context, token);4001      return 1;4002    }4003    4004    var stateComment = "State: 1 - GherkinDocument:0>Feature:0>Feature_Header:0>#Language:0";4005    token.detach();4006    var expectedTokens = ["#TagLine", "#FeatureLine", "#Comment", "#Empty"];4007    var error = token.isEof ?4008      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :4009      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);4010    if (self.stopAtFirstError) throw error;4011    addError(context, error);4012    return 1;4013  }4014  // GherkinDocument:0>Feature:0>Feature_Header:1>Tags:0>#TagLine:04015  function matchTokenAt_2(token, context) {4016    if(match_TagLine(context, token)) {4017      build(context, token);4018      return 2;4019    }4020    if(match_FeatureLine(context, token)) {4021      endRule(context, 'Tags');4022      build(context, token);4023      return 3;4024    }4025    if(match_Comment(context, token)) {4026      build(context, token);4027      return 2;4028    }4029    if(match_Empty(context, token)) {4030      build(context, token);4031      return 2;4032    }4033    4034    var stateComment = "State: 2 - GherkinDocument:0>Feature:0>Feature_Header:1>Tags:0>#TagLine:0";4035    token.detach();4036    var expectedTokens = ["#TagLine", "#FeatureLine", "#Comment", "#Empty"];4037    var error = token.isEof ?4038      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :4039      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);4040    if (self.stopAtFirstError) throw error;4041    addError(context, error);4042    return 2;4043  }4044  // GherkinDocument:0>Feature:0>Feature_Header:2>#FeatureLine:04045  function matchTokenAt_3(token, context) {4046    if(match_EOF(context, token)) {4047      endRule(context, 'Feature_Header');4048      endRule(context, 'Feature');4049      build(context, token);4050      return 27;4051    }4052    if(match_Empty(context, token)) {4053      build(context, token);4054      return 3;4055    }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);...parser.py
Source:parser.py  
...107    def match_Comment(self, context, token):108        if token.eof():109            return False110        return self.handle_external_error(context, False, token, context.token_matcher.match_Comment)111    def match_TagLine(self, context, token):112        if token.eof():113            return False114        return self.handle_external_error(context, False, token, context.token_matcher.match_TagLine)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')390                self.build(context, token)391                return 12392        if self.match_ScenarioOutlineLine(context, token):393                self.end_rule(context, 'Feature_Header')394                self.start_rule(context, 'Scenario_Definition')395                self.start_rule(context, 'ScenarioOutline')396                self.build(context, token)397                return 17398        if self.match_Empty(context, token):399                self.build(context, token)400                return 5401        state_comment = "State: 5 - Feature:0>Feature_Header:3>Feature_Description:0>Description_Helper:2>#Comment:0"402        token.detach403        expected_tokens = ["#EOF", "#Comment", "#BackgroundLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Empty"]404        error = UnexpectedEOFException(token, expected_tokens, state_comment) if token.eof() else UnexpectedTokenException(token, expected_tokens, state_comment)405        if (self.stop_at_first_error):406            raise error407        self.add_error(context, error)408        return 5409    # Feature:1>Background:0>#BackgroundLine:0410    def match_token_at_6(self, token, context):411        if self.match_EOF(context, token):412                self.end_rule(context, 'Background')413                self.build(context, token)414                return 27415        if self.match_Empty(context, token):416                self.build(context, token)417                return 6418        if self.match_Comment(context, token):419                self.build(context, token)420                return 8421        if self.match_StepLine(context, token):422                self.start_rule(context, 'Step')423                self.build(context, token)424                return 9425        if self.match_TagLine(context, token):426                self.end_rule(context, 'Background')427                self.start_rule(context, 'Scenario_Definition')428                self.start_rule(context, 'Tags')429                self.build(context, token)430                return 11431        if self.match_ScenarioLine(context, token):432                self.end_rule(context, 'Background')433                self.start_rule(context, 'Scenario_Definition')434                self.start_rule(context, 'Scenario')435                self.build(context, token)436                return 12437        if self.match_ScenarioOutlineLine(context, token):438                self.end_rule(context, 'Background')439                self.start_rule(context, 'Scenario_Definition')440                self.start_rule(context, 'ScenarioOutline')441                self.build(context, token)442                return 17443        if self.match_Other(context, token):444                self.start_rule(context, 'Description')445                self.build(context, token)446                return 7447        state_comment = "State: 6 - Feature:1>Background:0>#BackgroundLine:0"448        token.detach449        expected_tokens = ["#EOF", "#Empty", "#Comment", "#StepLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Other"]450        error = UnexpectedEOFException(token, expected_tokens, state_comment) if token.eof() else UnexpectedTokenException(token, expected_tokens, state_comment)451        if (self.stop_at_first_error):452            raise error453        self.add_error(context, error)454        return 6455    # Feature:1>Background:1>Background_Description:0>Description_Helper:1>Description:0>#Other:0456    def match_token_at_7(self, token, context):457        if self.match_EOF(context, token):458                self.end_rule(context, 'Description')459                self.end_rule(context, 'Background')460                self.build(context, token)461                return 27462        if self.match_Comment(context, token):463                self.end_rule(context, 'Description')464                self.build(context, token)465                return 8466        if self.match_StepLine(context, token):467                self.end_rule(context, 'Description')468                self.start_rule(context, 'Step')469                self.build(context, token)470                return 9471        if self.match_TagLine(context, token):472                self.end_rule(context, 'Description')473                self.end_rule(context, 'Background')474                self.start_rule(context, 'Scenario_Definition')475                self.start_rule(context, 'Tags')476                self.build(context, token)477                return 11478        if self.match_ScenarioLine(context, token):479                self.end_rule(context, 'Description')480                self.end_rule(context, 'Background')481                self.start_rule(context, 'Scenario_Definition')482                self.start_rule(context, 'Scenario')483                self.build(context, token)484                return 12485        if self.match_ScenarioOutlineLine(context, token):486                self.end_rule(context, 'Description')487                self.end_rule(context, 'Background')488                self.start_rule(context, 'Scenario_Definition')489                self.start_rule(context, 'ScenarioOutline')490                self.build(context, token)491                return 17492        if self.match_Other(context, token):493                self.build(context, token)494                return 7495        state_comment = "State: 7 - Feature:1>Background:1>Background_Description:0>Description_Helper:1>Description:0>#Other:0"496        token.detach497        expected_tokens = ["#EOF", "#Comment", "#StepLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Other"]498        error = UnexpectedEOFException(token, expected_tokens, state_comment) if token.eof() else UnexpectedTokenException(token, expected_tokens, state_comment)499        if (self.stop_at_first_error):500            raise error501        self.add_error(context, error)502        return 7503    # Feature:1>Background:1>Background_Description:0>Description_Helper:2>#Comment:0504    def match_token_at_8(self, token, context):505        if self.match_EOF(context, token):506                self.end_rule(context, 'Background')507                self.build(context, token)508                return 27509        if self.match_Comment(context, token):510                self.build(context, token)511                return 8512        if self.match_StepLine(context, token):513                self.start_rule(context, 'Step')514                self.build(context, token)515                return 9516        if self.match_TagLine(context, token):517                self.end_rule(context, 'Background')518                self.start_rule(context, 'Scenario_Definition')519                self.start_rule(context, 'Tags')520                self.build(context, token)521                return 11522        if self.match_ScenarioLine(context, token):523                self.end_rule(context, 'Background')524                self.start_rule(context, 'Scenario_Definition')525                self.start_rule(context, 'Scenario')526                self.build(context, token)527                return 12528        if self.match_ScenarioOutlineLine(context, token):529                self.end_rule(context, 'Background')530                self.start_rule(context, 'Scenario_Definition')531                self.start_rule(context, 'ScenarioOutline')532                self.build(context, token)533                return 17534        if self.match_Empty(context, token):535                self.build(context, token)536                return 8537        state_comment = "State: 8 - Feature:1>Background:1>Background_Description:0>Description_Helper:2>#Comment:0"538        token.detach539        expected_tokens = ["#EOF", "#Comment", "#StepLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Empty"]540        error = UnexpectedEOFException(token, expected_tokens, state_comment) if token.eof() else UnexpectedTokenException(token, expected_tokens, state_comment)541        if (self.stop_at_first_error):542            raise error543        self.add_error(context, error)544        return 8545    # Feature:1>Background:2>Scenario_Step:0>Step:0>#StepLine:0546    def match_token_at_9(self, token, context):547        if self.match_EOF(context, token):548                self.end_rule(context, 'Step')549                self.end_rule(context, 'Background')550                self.build(context, token)551                return 27552        if self.match_TableRow(context, token):553                self.start_rule(context, 'DataTable')554                self.build(context, token)555                return 10556        if self.match_DocStringSeparator(context, token):557                self.start_rule(context, 'DocString')558                self.build(context, token)559                return 32560        if self.match_StepLine(context, token):561                self.end_rule(context, 'Step')562                self.start_rule(context, 'Step')563                self.build(context, token)564                return 9565        if self.match_TagLine(context, token):566                self.end_rule(context, 'Step')567                self.end_rule(context, 'Background')568                self.start_rule(context, 'Scenario_Definition')569                self.start_rule(context, 'Tags')570                self.build(context, token)571                return 11572        if self.match_ScenarioLine(context, token):573                self.end_rule(context, 'Step')574                self.end_rule(context, 'Background')575                self.start_rule(context, 'Scenario_Definition')576                self.start_rule(context, 'Scenario')577                self.build(context, token)578                return 12579        if self.match_ScenarioOutlineLine(context, token):580                self.end_rule(context, 'Step')581                self.end_rule(context, 'Background')582                self.start_rule(context, 'Scenario_Definition')583                self.start_rule(context, 'ScenarioOutline')584                self.build(context, token)585                return 17586        if self.match_Comment(context, token):587                self.build(context, token)588                return 9589        if self.match_Empty(context, token):590                self.build(context, token)591                return 9592        state_comment = "State: 9 - Feature:1>Background:2>Scenario_Step:0>Step:0>#StepLine:0"593        token.detach594        expected_tokens = ["#EOF", "#TableRow", "#DocStringSeparator", "#StepLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Comment", "#Empty"]595        error = UnexpectedEOFException(token, expected_tokens, state_comment) if token.eof() else UnexpectedTokenException(token, expected_tokens, state_comment)596        if (self.stop_at_first_error):597            raise error598        self.add_error(context, error)599        return 9600    # Feature:1>Background:2>Scenario_Step:0>Step:1>Step_Arg:0>__alt1:0>DataTable:0>#TableRow:0601    def match_token_at_10(self, token, context):602        if self.match_EOF(context, token):603                self.end_rule(context, 'DataTable')604                self.end_rule(context, 'Step')605                self.end_rule(context, 'Background')606                self.build(context, token)607                return 27608        if self.match_TableRow(context, token):609                self.build(context, token)610                return 10611        if self.match_StepLine(context, token):612                self.end_rule(context, 'DataTable')613                self.end_rule(context, 'Step')614                self.start_rule(context, 'Step')615                self.build(context, token)616                return 9617        if self.match_TagLine(context, token):618                self.end_rule(context, 'DataTable')619                self.end_rule(context, 'Step')620                self.end_rule(context, 'Background')621                self.start_rule(context, 'Scenario_Definition')622                self.start_rule(context, 'Tags')623                self.build(context, token)624                return 11625        if self.match_ScenarioLine(context, token):626                self.end_rule(context, 'DataTable')627                self.end_rule(context, 'Step')628                self.end_rule(context, 'Background')629                self.start_rule(context, 'Scenario_Definition')630                self.start_rule(context, 'Scenario')631                self.build(context, token)632                return 12633        if self.match_ScenarioOutlineLine(context, token):634                self.end_rule(context, 'DataTable')635                self.end_rule(context, 'Step')636                self.end_rule(context, 'Background')637                self.start_rule(context, 'Scenario_Definition')638                self.start_rule(context, 'ScenarioOutline')639                self.build(context, token)640                return 17641        if self.match_Comment(context, token):642                self.build(context, token)643                return 10644        if self.match_Empty(context, token):645                self.build(context, token)646                return 10647        state_comment = "State: 10 - Feature:1>Background:2>Scenario_Step:0>Step:1>Step_Arg:0>__alt1:0>DataTable:0>#TableRow:0"648        token.detach649        expected_tokens = ["#EOF", "#TableRow", "#StepLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Comment", "#Empty"]650        error = UnexpectedEOFException(token, expected_tokens, state_comment) if token.eof() else UnexpectedTokenException(token, expected_tokens, state_comment)651        if (self.stop_at_first_error):652            raise error653        self.add_error(context, error)654        return 10655    # Feature:2>Scenario_Definition:0>Tags:0>#TagLine:0656    def match_token_at_11(self, token, context):657        if self.match_TagLine(context, token):658                self.build(context, token)659                return 11660        if self.match_ScenarioLine(context, token):661                self.end_rule(context, 'Tags')662                self.start_rule(context, 'Scenario')663                self.build(context, token)664                return 12665        if self.match_ScenarioOutlineLine(context, token):666                self.end_rule(context, 'Tags')667                self.start_rule(context, 'ScenarioOutline')668                self.build(context, token)669                return 17670        if self.match_Comment(context, token):671                self.build(context, token)672                return 11673        if self.match_Empty(context, token):674                self.build(context, token)675                return 11676        state_comment = "State: 11 - Feature:2>Scenario_Definition:0>Tags:0>#TagLine:0"677        token.detach678        expected_tokens = ["#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Comment", "#Empty"]679        error = UnexpectedEOFException(token, expected_tokens, state_comment) if token.eof() else UnexpectedTokenException(token, expected_tokens, state_comment)680        if (self.stop_at_first_error):681            raise error682        self.add_error(context, error)683        return 11684    # Feature:2>Scenario_Definition:1>__alt0:0>Scenario:0>#ScenarioLine:0685    def match_token_at_12(self, token, context):686        if self.match_EOF(context, token):687                self.end_rule(context, 'Scenario')688                self.end_rule(context, 'Scenario_Definition')689                self.build(context, token)690                return 27691        if self.match_Empty(context, token):692                self.build(context, token)693                return 12694        if self.match_Comment(context, token):695                self.build(context, token)696                return 14697        if self.match_StepLine(context, token):698                self.start_rule(context, 'Step')699                self.build(context, token)700                return 15701        if self.match_TagLine(context, token):702                self.end_rule(context, 'Scenario')703                self.end_rule(context, 'Scenario_Definition')704                self.start_rule(context, 'Scenario_Definition')705                self.start_rule(context, 'Tags')706                self.build(context, token)707                return 11708        if self.match_ScenarioLine(context, token):709                self.end_rule(context, 'Scenario')710                self.end_rule(context, 'Scenario_Definition')711                self.start_rule(context, 'Scenario_Definition')712                self.start_rule(context, 'Scenario')713                self.build(context, token)714                return 12715        if self.match_ScenarioOutlineLine(context, token):716                self.end_rule(context, 'Scenario')717                self.end_rule(context, 'Scenario_Definition')718                self.start_rule(context, 'Scenario_Definition')719                self.start_rule(context, 'ScenarioOutline')720                self.build(context, token)721                return 17722        if self.match_Other(context, token):723                self.start_rule(context, 'Description')724                self.build(context, token)725                return 13726        state_comment = "State: 12 - Feature:2>Scenario_Definition:1>__alt0:0>Scenario:0>#ScenarioLine:0"727        token.detach728        expected_tokens = ["#EOF", "#Empty", "#Comment", "#StepLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Other"]729        error = UnexpectedEOFException(token, expected_tokens, state_comment) if token.eof() else UnexpectedTokenException(token, expected_tokens, state_comment)730        if (self.stop_at_first_error):731            raise error732        self.add_error(context, error)733        return 12734    # Feature:2>Scenario_Definition:1>__alt0:0>Scenario:1>Scenario_Description:0>Description_Helper:1>Description:0>#Other:0735    def match_token_at_13(self, token, context):736        if self.match_EOF(context, token):737                self.end_rule(context, 'Description')738                self.end_rule(context, 'Scenario')739                self.end_rule(context, 'Scenario_Definition')740                self.build(context, token)741                return 27742        if self.match_Comment(context, token):743                self.end_rule(context, 'Description')744                self.build(context, token)745                return 14746        if self.match_StepLine(context, token):747                self.end_rule(context, 'Description')748                self.start_rule(context, 'Step')749                self.build(context, token)750                return 15751        if self.match_TagLine(context, token):752                self.end_rule(context, 'Description')753                self.end_rule(context, 'Scenario')754                self.end_rule(context, 'Scenario_Definition')755                self.start_rule(context, 'Scenario_Definition')756                self.start_rule(context, 'Tags')757                self.build(context, token)758                return 11759        if self.match_ScenarioLine(context, token):760                self.end_rule(context, 'Description')761                self.end_rule(context, 'Scenario')762                self.end_rule(context, 'Scenario_Definition')763                self.start_rule(context, 'Scenario_Definition')764                self.start_rule(context, 'Scenario')765                self.build(context, token)766                return 12767        if self.match_ScenarioOutlineLine(context, token):768                self.end_rule(context, 'Description')769                self.end_rule(context, 'Scenario')770                self.end_rule(context, 'Scenario_Definition')771                self.start_rule(context, 'Scenario_Definition')772                self.start_rule(context, 'ScenarioOutline')773                self.build(context, token)774                return 17775        if self.match_Other(context, token):776                self.build(context, token)777                return 13778        state_comment = "State: 13 - Feature:2>Scenario_Definition:1>__alt0:0>Scenario:1>Scenario_Description:0>Description_Helper:1>Description:0>#Other:0"779        token.detach780        expected_tokens = ["#EOF", "#Comment", "#StepLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Other"]781        error = UnexpectedEOFException(token, expected_tokens, state_comment) if token.eof() else UnexpectedTokenException(token, expected_tokens, state_comment)782        if (self.stop_at_first_error):783            raise error784        self.add_error(context, error)785        return 13786    # Feature:2>Scenario_Definition:1>__alt0:0>Scenario:1>Scenario_Description:0>Description_Helper:2>#Comment:0787    def match_token_at_14(self, token, context):788        if self.match_EOF(context, token):789                self.end_rule(context, 'Scenario')790                self.end_rule(context, 'Scenario_Definition')791                self.build(context, token)792                return 27793        if self.match_Comment(context, token):794                self.build(context, token)795                return 14796        if self.match_StepLine(context, token):797                self.start_rule(context, 'Step')798                self.build(context, token)799                return 15800        if self.match_TagLine(context, token):801                self.end_rule(context, 'Scenario')802                self.end_rule(context, 'Scenario_Definition')803                self.start_rule(context, 'Scenario_Definition')804                self.start_rule(context, 'Tags')805                self.build(context, token)806                return 11807        if self.match_ScenarioLine(context, token):808                self.end_rule(context, 'Scenario')809                self.end_rule(context, 'Scenario_Definition')810                self.start_rule(context, 'Scenario_Definition')811                self.start_rule(context, 'Scenario')812                self.build(context, token)813                return 12814        if self.match_ScenarioOutlineLine(context, token):815                self.end_rule(context, 'Scenario')816                self.end_rule(context, 'Scenario_Definition')817                self.start_rule(context, 'Scenario_Definition')818                self.start_rule(context, 'ScenarioOutline')819                self.build(context, token)820                return 17821        if self.match_Empty(context, token):822                self.build(context, token)823                return 14824        state_comment = "State: 14 - Feature:2>Scenario_Definition:1>__alt0:0>Scenario:1>Scenario_Description:0>Description_Helper:2>#Comment:0"825        token.detach826        expected_tokens = ["#EOF", "#Comment", "#StepLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Empty"]827        error = UnexpectedEOFException(token, expected_tokens, state_comment) if token.eof() else UnexpectedTokenException(token, expected_tokens, state_comment)828        if (self.stop_at_first_error):829            raise error830        self.add_error(context, error)831        return 14832    # Feature:2>Scenario_Definition:1>__alt0:0>Scenario:2>Scenario_Step:0>Step:0>#StepLine:0833    def match_token_at_15(self, token, context):834        if self.match_EOF(context, token):835                self.end_rule(context, 'Step')836                self.end_rule(context, 'Scenario')837                self.end_rule(context, 'Scenario_Definition')838                self.build(context, token)839                return 27840        if self.match_TableRow(context, token):841                self.start_rule(context, 'DataTable')842                self.build(context, token)843                return 16844        if self.match_DocStringSeparator(context, token):845                self.start_rule(context, 'DocString')846                self.build(context, token)847                return 30848        if self.match_StepLine(context, token):849                self.end_rule(context, 'Step')850                self.start_rule(context, 'Step')851                self.build(context, token)852                return 15853        if self.match_TagLine(context, token):854                self.end_rule(context, 'Step')855                self.end_rule(context, 'Scenario')856                self.end_rule(context, 'Scenario_Definition')857                self.start_rule(context, 'Scenario_Definition')858                self.start_rule(context, 'Tags')859                self.build(context, token)860                return 11861        if self.match_ScenarioLine(context, token):862                self.end_rule(context, 'Step')863                self.end_rule(context, 'Scenario')864                self.end_rule(context, 'Scenario_Definition')865                self.start_rule(context, 'Scenario_Definition')866                self.start_rule(context, 'Scenario')867                self.build(context, token)868                return 12869        if self.match_ScenarioOutlineLine(context, token):870                self.end_rule(context, 'Step')871                self.end_rule(context, 'Scenario')872                self.end_rule(context, 'Scenario_Definition')873                self.start_rule(context, 'Scenario_Definition')874                self.start_rule(context, 'ScenarioOutline')875                self.build(context, token)876                return 17877        if self.match_Comment(context, token):878                self.build(context, token)879                return 15880        if self.match_Empty(context, token):881                self.build(context, token)882                return 15883        state_comment = "State: 15 - Feature:2>Scenario_Definition:1>__alt0:0>Scenario:2>Scenario_Step:0>Step:0>#StepLine:0"884        token.detach885        expected_tokens = ["#EOF", "#TableRow", "#DocStringSeparator", "#StepLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Comment", "#Empty"]886        error = UnexpectedEOFException(token, expected_tokens, state_comment) if token.eof() else UnexpectedTokenException(token, expected_tokens, state_comment)887        if (self.stop_at_first_error):888            raise error889        self.add_error(context, error)890        return 15891    # Feature:2>Scenario_Definition:1>__alt0:0>Scenario:2>Scenario_Step:0>Step:1>Step_Arg:0>__alt1:0>DataTable:0>#TableRow:0892    def match_token_at_16(self, token, context):893        if self.match_EOF(context, token):894                self.end_rule(context, 'DataTable')895                self.end_rule(context, 'Step')896                self.end_rule(context, 'Scenario')897                self.end_rule(context, 'Scenario_Definition')898                self.build(context, token)899                return 27900        if self.match_TableRow(context, token):901                self.build(context, token)902                return 16903        if self.match_StepLine(context, token):904                self.end_rule(context, 'DataTable')905                self.end_rule(context, 'Step')906                self.start_rule(context, 'Step')907                self.build(context, token)908                return 15909        if self.match_TagLine(context, token):910                self.end_rule(context, 'DataTable')911                self.end_rule(context, 'Step')912                self.end_rule(context, 'Scenario')913                self.end_rule(context, 'Scenario_Definition')914                self.start_rule(context, 'Scenario_Definition')915                self.start_rule(context, 'Tags')916                self.build(context, token)917                return 11918        if self.match_ScenarioLine(context, token):919                self.end_rule(context, 'DataTable')920                self.end_rule(context, 'Step')921                self.end_rule(context, 'Scenario')922                self.end_rule(context, 'Scenario_Definition')923                self.start_rule(context, 'Scenario_Definition')924                self.start_rule(context, 'Scenario')925                self.build(context, token)926                return 12927        if self.match_ScenarioOutlineLine(context, token):928                self.end_rule(context, 'DataTable')929                self.end_rule(context, 'Step')930                self.end_rule(context, 'Scenario')931                self.end_rule(context, 'Scenario_Definition')932                self.start_rule(context, 'Scenario_Definition')933                self.start_rule(context, 'ScenarioOutline')934                self.build(context, token)935                return 17936        if self.match_Comment(context, token):937                self.build(context, token)938                return 16939        if self.match_Empty(context, token):940                self.build(context, token)941                return 16942        state_comment = "State: 16 - Feature:2>Scenario_Definition:1>__alt0:0>Scenario:2>Scenario_Step:0>Step:1>Step_Arg:0>__alt1:0>DataTable:0>#TableRow:0"943        token.detach944        expected_tokens = ["#EOF", "#TableRow", "#StepLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Comment", "#Empty"]945        error = UnexpectedEOFException(token, expected_tokens, state_comment) if token.eof() else UnexpectedTokenException(token, expected_tokens, state_comment)946        if (self.stop_at_first_error):947            raise error948        self.add_error(context, error)949        return 16950    # Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:0>#ScenarioOutlineLine:0951    def match_token_at_17(self, token, context):952        if self.match_EOF(context, token):953                self.end_rule(context, 'ScenarioOutline')954                self.end_rule(context, 'Scenario_Definition')955                self.build(context, token)956                return 27957        if self.match_Empty(context, token):958                self.build(context, token)959                return 17960        if self.match_Comment(context, token):961                self.build(context, token)962                return 19963        if self.match_StepLine(context, token):964                self.start_rule(context, 'Step')965                self.build(context, token)966                return 20967        if self.match_TagLine(context, token):968            if self.lookahead_0(context, token):969                self.start_rule(context, 'Examples_Definition')970                self.start_rule(context, 'Tags')971                self.build(context, token)972                return 22973        if self.match_TagLine(context, token):974                self.end_rule(context, 'ScenarioOutline')975                self.end_rule(context, 'Scenario_Definition')976                self.start_rule(context, 'Scenario_Definition')977                self.start_rule(context, 'Tags')978                self.build(context, token)979                return 11980        if self.match_ExamplesLine(context, token):981                self.start_rule(context, 'Examples_Definition')982                self.start_rule(context, 'Examples')983                self.build(context, token)984                return 23985        if self.match_ScenarioLine(context, token):986                self.end_rule(context, 'ScenarioOutline')987                self.end_rule(context, 'Scenario_Definition')988                self.start_rule(context, 'Scenario_Definition')989                self.start_rule(context, 'Scenario')990                self.build(context, token)991                return 12992        if self.match_ScenarioOutlineLine(context, token):993                self.end_rule(context, 'ScenarioOutline')994                self.end_rule(context, 'Scenario_Definition')995                self.start_rule(context, 'Scenario_Definition')996                self.start_rule(context, 'ScenarioOutline')997                self.build(context, token)998                return 17999        if self.match_Other(context, token):1000                self.start_rule(context, 'Description')1001                self.build(context, token)1002                return 181003        state_comment = "State: 17 - Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:0>#ScenarioOutlineLine:0"1004        token.detach1005        expected_tokens = ["#EOF", "#Empty", "#Comment", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Other"]1006        error = UnexpectedEOFException(token, expected_tokens, state_comment) if token.eof() else UnexpectedTokenException(token, expected_tokens, state_comment)1007        if (self.stop_at_first_error):1008            raise error1009        self.add_error(context, error)1010        return 171011    # Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:1>ScenarioOutline_Description:0>Description_Helper:1>Description:0>#Other:01012    def match_token_at_18(self, token, context):1013        if self.match_EOF(context, token):1014                self.end_rule(context, 'Description')1015                self.end_rule(context, 'ScenarioOutline')1016                self.end_rule(context, 'Scenario_Definition')1017                self.build(context, token)1018                return 271019        if self.match_Comment(context, token):1020                self.end_rule(context, 'Description')1021                self.build(context, token)1022                return 191023        if self.match_StepLine(context, token):1024                self.end_rule(context, 'Description')1025                self.start_rule(context, 'Step')1026                self.build(context, token)1027                return 201028        if self.match_TagLine(context, token):1029            if self.lookahead_0(context, token):1030                self.end_rule(context, 'Description')1031                self.start_rule(context, 'Examples_Definition')1032                self.start_rule(context, 'Tags')1033                self.build(context, token)1034                return 221035        if self.match_TagLine(context, token):1036                self.end_rule(context, 'Description')1037                self.end_rule(context, 'ScenarioOutline')1038                self.end_rule(context, 'Scenario_Definition')1039                self.start_rule(context, 'Scenario_Definition')1040                self.start_rule(context, 'Tags')1041                self.build(context, token)1042                return 111043        if self.match_ExamplesLine(context, token):1044                self.end_rule(context, 'Description')1045                self.start_rule(context, 'Examples_Definition')1046                self.start_rule(context, 'Examples')1047                self.build(context, token)1048                return 231049        if self.match_ScenarioLine(context, token):1050                self.end_rule(context, 'Description')1051                self.end_rule(context, 'ScenarioOutline')1052                self.end_rule(context, 'Scenario_Definition')1053                self.start_rule(context, 'Scenario_Definition')1054                self.start_rule(context, 'Scenario')1055                self.build(context, token)1056                return 121057        if self.match_ScenarioOutlineLine(context, token):1058                self.end_rule(context, 'Description')1059                self.end_rule(context, 'ScenarioOutline')1060                self.end_rule(context, 'Scenario_Definition')1061                self.start_rule(context, 'Scenario_Definition')1062                self.start_rule(context, 'ScenarioOutline')1063                self.build(context, token)1064                return 171065        if self.match_Other(context, token):1066                self.build(context, token)1067                return 181068        state_comment = "State: 18 - Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:1>ScenarioOutline_Description:0>Description_Helper:1>Description:0>#Other:0"1069        token.detach1070        expected_tokens = ["#EOF", "#Comment", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Other"]1071        error = UnexpectedEOFException(token, expected_tokens, state_comment) if token.eof() else UnexpectedTokenException(token, expected_tokens, state_comment)1072        if (self.stop_at_first_error):1073            raise error1074        self.add_error(context, error)1075        return 181076    # Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:1>ScenarioOutline_Description:0>Description_Helper:2>#Comment:01077    def match_token_at_19(self, token, context):1078        if self.match_EOF(context, token):1079                self.end_rule(context, 'ScenarioOutline')1080                self.end_rule(context, 'Scenario_Definition')1081                self.build(context, token)1082                return 271083        if self.match_Comment(context, token):1084                self.build(context, token)1085                return 191086        if self.match_StepLine(context, token):1087                self.start_rule(context, 'Step')1088                self.build(context, token)1089                return 201090        if self.match_TagLine(context, token):1091            if self.lookahead_0(context, token):1092                self.start_rule(context, 'Examples_Definition')1093                self.start_rule(context, 'Tags')1094                self.build(context, token)1095                return 221096        if self.match_TagLine(context, token):1097                self.end_rule(context, 'ScenarioOutline')1098                self.end_rule(context, 'Scenario_Definition')1099                self.start_rule(context, 'Scenario_Definition')1100                self.start_rule(context, 'Tags')1101                self.build(context, token)1102                return 111103        if self.match_ExamplesLine(context, token):1104                self.start_rule(context, 'Examples_Definition')1105                self.start_rule(context, 'Examples')1106                self.build(context, token)1107                return 231108        if self.match_ScenarioLine(context, token):1109                self.end_rule(context, 'ScenarioOutline')1110                self.end_rule(context, 'Scenario_Definition')1111                self.start_rule(context, 'Scenario_Definition')1112                self.start_rule(context, 'Scenario')1113                self.build(context, token)1114                return 121115        if self.match_ScenarioOutlineLine(context, token):1116                self.end_rule(context, 'ScenarioOutline')1117                self.end_rule(context, 'Scenario_Definition')1118                self.start_rule(context, 'Scenario_Definition')1119                self.start_rule(context, 'ScenarioOutline')1120                self.build(context, token)1121                return 171122        if self.match_Empty(context, token):1123                self.build(context, token)1124                return 191125        state_comment = "State: 19 - Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:1>ScenarioOutline_Description:0>Description_Helper:2>#Comment:0"1126        token.detach1127        expected_tokens = ["#EOF", "#Comment", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Empty"]1128        error = UnexpectedEOFException(token, expected_tokens, state_comment) if token.eof() else UnexpectedTokenException(token, expected_tokens, state_comment)1129        if (self.stop_at_first_error):1130            raise error1131        self.add_error(context, error)1132        return 191133    # Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:2>ScenarioOutline_Step:0>Step:0>#StepLine:01134    def match_token_at_20(self, token, context):1135        if self.match_EOF(context, token):1136                self.end_rule(context, 'Step')1137                self.end_rule(context, 'ScenarioOutline')1138                self.end_rule(context, 'Scenario_Definition')1139                self.build(context, token)1140                return 271141        if self.match_TableRow(context, token):1142                self.start_rule(context, 'DataTable')1143                self.build(context, token)1144                return 211145        if self.match_DocStringSeparator(context, token):1146                self.start_rule(context, 'DocString')1147                self.build(context, token)1148                return 281149        if self.match_StepLine(context, token):1150                self.end_rule(context, 'Step')1151                self.start_rule(context, 'Step')1152                self.build(context, token)1153                return 201154        if self.match_TagLine(context, token):1155            if self.lookahead_0(context, token):1156                self.end_rule(context, 'Step')1157                self.start_rule(context, 'Examples_Definition')1158                self.start_rule(context, 'Tags')1159                self.build(context, token)1160                return 221161        if self.match_TagLine(context, token):1162                self.end_rule(context, 'Step')1163                self.end_rule(context, 'ScenarioOutline')1164                self.end_rule(context, 'Scenario_Definition')1165                self.start_rule(context, 'Scenario_Definition')1166                self.start_rule(context, 'Tags')1167                self.build(context, token)1168                return 111169        if self.match_ExamplesLine(context, token):1170                self.end_rule(context, 'Step')1171                self.start_rule(context, 'Examples_Definition')1172                self.start_rule(context, 'Examples')1173                self.build(context, token)1174                return 231175        if self.match_ScenarioLine(context, token):1176                self.end_rule(context, 'Step')1177                self.end_rule(context, 'ScenarioOutline')1178                self.end_rule(context, 'Scenario_Definition')1179                self.start_rule(context, 'Scenario_Definition')1180                self.start_rule(context, 'Scenario')1181                self.build(context, token)1182                return 121183        if self.match_ScenarioOutlineLine(context, token):1184                self.end_rule(context, 'Step')1185                self.end_rule(context, 'ScenarioOutline')1186                self.end_rule(context, 'Scenario_Definition')1187                self.start_rule(context, 'Scenario_Definition')1188                self.start_rule(context, 'ScenarioOutline')1189                self.build(context, token)1190                return 171191        if self.match_Comment(context, token):1192                self.build(context, token)1193                return 201194        if self.match_Empty(context, token):1195                self.build(context, token)1196                return 201197        state_comment = "State: 20 - Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:2>ScenarioOutline_Step:0>Step:0>#StepLine:0"1198        token.detach1199        expected_tokens = ["#EOF", "#TableRow", "#DocStringSeparator", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Comment", "#Empty"]1200        error = UnexpectedEOFException(token, expected_tokens, state_comment) if token.eof() else UnexpectedTokenException(token, expected_tokens, state_comment)1201        if (self.stop_at_first_error):1202            raise error1203        self.add_error(context, error)1204        return 201205    # Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:2>ScenarioOutline_Step:0>Step:1>Step_Arg:0>__alt1:0>DataTable:0>#TableRow:01206    def match_token_at_21(self, token, context):1207        if self.match_EOF(context, token):1208                self.end_rule(context, 'DataTable')1209                self.end_rule(context, 'Step')1210                self.end_rule(context, 'ScenarioOutline')1211                self.end_rule(context, 'Scenario_Definition')1212                self.build(context, token)1213                return 271214        if self.match_TableRow(context, token):1215                self.build(context, token)1216                return 211217        if self.match_StepLine(context, token):1218                self.end_rule(context, 'DataTable')1219                self.end_rule(context, 'Step')1220                self.start_rule(context, 'Step')1221                self.build(context, token)1222                return 201223        if self.match_TagLine(context, token):1224            if self.lookahead_0(context, token):1225                self.end_rule(context, 'DataTable')1226                self.end_rule(context, 'Step')1227                self.start_rule(context, 'Examples_Definition')1228                self.start_rule(context, 'Tags')1229                self.build(context, token)1230                return 221231        if self.match_TagLine(context, token):1232                self.end_rule(context, 'DataTable')1233                self.end_rule(context, 'Step')1234                self.end_rule(context, 'ScenarioOutline')1235                self.end_rule(context, 'Scenario_Definition')1236                self.start_rule(context, 'Scenario_Definition')1237                self.start_rule(context, 'Tags')1238                self.build(context, token)1239                return 111240        if self.match_ExamplesLine(context, token):1241                self.end_rule(context, 'DataTable')1242                self.end_rule(context, 'Step')1243                self.start_rule(context, 'Examples_Definition')1244                self.start_rule(context, 'Examples')1245                self.build(context, token)1246                return 231247        if self.match_ScenarioLine(context, token):1248                self.end_rule(context, 'DataTable')1249                self.end_rule(context, 'Step')1250                self.end_rule(context, 'ScenarioOutline')1251                self.end_rule(context, 'Scenario_Definition')1252                self.start_rule(context, 'Scenario_Definition')1253                self.start_rule(context, 'Scenario')1254                self.build(context, token)1255                return 121256        if self.match_ScenarioOutlineLine(context, token):1257                self.end_rule(context, 'DataTable')1258                self.end_rule(context, 'Step')1259                self.end_rule(context, 'ScenarioOutline')1260                self.end_rule(context, 'Scenario_Definition')1261                self.start_rule(context, 'Scenario_Definition')1262                self.start_rule(context, 'ScenarioOutline')1263                self.build(context, token)1264                return 171265        if self.match_Comment(context, token):1266                self.build(context, token)1267                return 211268        if self.match_Empty(context, token):1269                self.build(context, token)1270                return 211271        state_comment = "State: 21 - Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:2>ScenarioOutline_Step:0>Step:1>Step_Arg:0>__alt1:0>DataTable:0>#TableRow:0"1272        token.detach1273        expected_tokens = ["#EOF", "#TableRow", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Comment", "#Empty"]1274        error = UnexpectedEOFException(token, expected_tokens, state_comment) if token.eof() else UnexpectedTokenException(token, expected_tokens, state_comment)1275        if (self.stop_at_first_error):1276            raise error1277        self.add_error(context, error)1278        return 211279    # Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:3>Examples_Definition:0>Tags:0>#TagLine:01280    def match_token_at_22(self, token, context):1281        if self.match_TagLine(context, token):1282                self.build(context, token)1283                return 221284        if self.match_ExamplesLine(context, token):1285                self.end_rule(context, 'Tags')1286                self.start_rule(context, 'Examples')1287                self.build(context, token)1288                return 231289        if self.match_Comment(context, token):1290                self.build(context, token)1291                return 221292        if self.match_Empty(context, token):1293                self.build(context, token)1294                return 221295        state_comment = "State: 22 - Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:3>Examples_Definition:0>Tags:0>#TagLine:0"1296        token.detach1297        expected_tokens = ["#TagLine", "#ExamplesLine", "#Comment", "#Empty"]1298        error = UnexpectedEOFException(token, expected_tokens, state_comment) if token.eof() else UnexpectedTokenException(token, expected_tokens, state_comment)1299        if (self.stop_at_first_error):1300            raise error1301        self.add_error(context, error)1302        return 221303    # Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:3>Examples_Definition:1>Examples:0>#ExamplesLine:01304    def match_token_at_23(self, token, context):1305        if self.match_EOF(context, token):1306                self.end_rule(context, 'Examples')1307                self.end_rule(context, 'Examples_Definition')1308                self.end_rule(context, 'ScenarioOutline')1309                self.end_rule(context, 'Scenario_Definition')1310                self.build(context, token)1311                return 271312        if self.match_Empty(context, token):1313                self.build(context, token)1314                return 231315        if self.match_Comment(context, token):1316                self.build(context, token)1317                return 251318        if self.match_TableRow(context, token):1319                self.start_rule(context, 'Examples_Table')1320                self.build(context, token)1321                return 261322        if self.match_TagLine(context, token):1323            if self.lookahead_0(context, token):1324                self.end_rule(context, 'Examples')1325                self.end_rule(context, 'Examples_Definition')1326                self.start_rule(context, 'Examples_Definition')1327                self.start_rule(context, 'Tags')1328                self.build(context, token)1329                return 221330        if self.match_TagLine(context, token):1331                self.end_rule(context, 'Examples')1332                self.end_rule(context, 'Examples_Definition')1333                self.end_rule(context, 'ScenarioOutline')1334                self.end_rule(context, 'Scenario_Definition')1335                self.start_rule(context, 'Scenario_Definition')1336                self.start_rule(context, 'Tags')1337                self.build(context, token)1338                return 111339        if self.match_ExamplesLine(context, token):1340                self.end_rule(context, 'Examples')1341                self.end_rule(context, 'Examples_Definition')1342                self.start_rule(context, 'Examples_Definition')1343                self.start_rule(context, 'Examples')1344                self.build(context, token)1345                return 231346        if self.match_ScenarioLine(context, token):1347                self.end_rule(context, 'Examples')1348                self.end_rule(context, 'Examples_Definition')1349                self.end_rule(context, 'ScenarioOutline')1350                self.end_rule(context, 'Scenario_Definition')1351                self.start_rule(context, 'Scenario_Definition')1352                self.start_rule(context, 'Scenario')1353                self.build(context, token)1354                return 121355        if self.match_ScenarioOutlineLine(context, token):1356                self.end_rule(context, 'Examples')1357                self.end_rule(context, 'Examples_Definition')1358                self.end_rule(context, 'ScenarioOutline')1359                self.end_rule(context, 'Scenario_Definition')1360                self.start_rule(context, 'Scenario_Definition')1361                self.start_rule(context, 'ScenarioOutline')1362                self.build(context, token)1363                return 171364        if self.match_Other(context, token):1365                self.start_rule(context, 'Description')1366                self.build(context, token)1367                return 241368        state_comment = "State: 23 - Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:3>Examples_Definition:1>Examples:0>#ExamplesLine:0"1369        token.detach1370        expected_tokens = ["#EOF", "#Empty", "#Comment", "#TableRow", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Other"]1371        error = UnexpectedEOFException(token, expected_tokens, state_comment) if token.eof() else UnexpectedTokenException(token, expected_tokens, state_comment)1372        if (self.stop_at_first_error):1373            raise error1374        self.add_error(context, error)1375        return 231376    # Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:3>Examples_Definition:1>Examples:1>Examples_Description:0>Description_Helper:1>Description:0>#Other:01377    def match_token_at_24(self, token, context):1378        if self.match_EOF(context, token):1379                self.end_rule(context, 'Description')1380                self.end_rule(context, 'Examples')1381                self.end_rule(context, 'Examples_Definition')1382                self.end_rule(context, 'ScenarioOutline')1383                self.end_rule(context, 'Scenario_Definition')1384                self.build(context, token)1385                return 271386        if self.match_Comment(context, token):1387                self.end_rule(context, 'Description')1388                self.build(context, token)1389                return 251390        if self.match_TableRow(context, token):1391                self.end_rule(context, 'Description')1392                self.start_rule(context, 'Examples_Table')1393                self.build(context, token)1394                return 261395        if self.match_TagLine(context, token):1396            if self.lookahead_0(context, token):1397                self.end_rule(context, 'Description')1398                self.end_rule(context, 'Examples')1399                self.end_rule(context, 'Examples_Definition')1400                self.start_rule(context, 'Examples_Definition')1401                self.start_rule(context, 'Tags')1402                self.build(context, token)1403                return 221404        if self.match_TagLine(context, token):1405                self.end_rule(context, 'Description')1406                self.end_rule(context, 'Examples')1407                self.end_rule(context, 'Examples_Definition')1408                self.end_rule(context, 'ScenarioOutline')1409                self.end_rule(context, 'Scenario_Definition')1410                self.start_rule(context, 'Scenario_Definition')1411                self.start_rule(context, 'Tags')1412                self.build(context, token)1413                return 111414        if self.match_ExamplesLine(context, token):1415                self.end_rule(context, 'Description')1416                self.end_rule(context, 'Examples')1417                self.end_rule(context, 'Examples_Definition')1418                self.start_rule(context, 'Examples_Definition')1419                self.start_rule(context, 'Examples')1420                self.build(context, token)1421                return 231422        if self.match_ScenarioLine(context, token):1423                self.end_rule(context, 'Description')1424                self.end_rule(context, 'Examples')1425                self.end_rule(context, 'Examples_Definition')1426                self.end_rule(context, 'ScenarioOutline')1427                self.end_rule(context, 'Scenario_Definition')1428                self.start_rule(context, 'Scenario_Definition')1429                self.start_rule(context, 'Scenario')1430                self.build(context, token)1431                return 121432        if self.match_ScenarioOutlineLine(context, token):1433                self.end_rule(context, 'Description')1434                self.end_rule(context, 'Examples')1435                self.end_rule(context, 'Examples_Definition')1436                self.end_rule(context, 'ScenarioOutline')1437                self.end_rule(context, 'Scenario_Definition')1438                self.start_rule(context, 'Scenario_Definition')1439                self.start_rule(context, 'ScenarioOutline')1440                self.build(context, token)1441                return 171442        if self.match_Other(context, token):1443                self.build(context, token)1444                return 241445        state_comment = "State: 24 - Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:3>Examples_Definition:1>Examples:1>Examples_Description:0>Description_Helper:1>Description:0>#Other:0"1446        token.detach1447        expected_tokens = ["#EOF", "#Comment", "#TableRow", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Other"]1448        error = UnexpectedEOFException(token, expected_tokens, state_comment) if token.eof() else UnexpectedTokenException(token, expected_tokens, state_comment)1449        if (self.stop_at_first_error):1450            raise error1451        self.add_error(context, error)1452        return 241453    # Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:3>Examples_Definition:1>Examples:1>Examples_Description:0>Description_Helper:2>#Comment:01454    def match_token_at_25(self, token, context):1455        if self.match_EOF(context, token):1456                self.end_rule(context, 'Examples')1457                self.end_rule(context, 'Examples_Definition')1458                self.end_rule(context, 'ScenarioOutline')1459                self.end_rule(context, 'Scenario_Definition')1460                self.build(context, token)1461                return 271462        if self.match_Comment(context, token):1463                self.build(context, token)1464                return 251465        if self.match_TableRow(context, token):1466                self.start_rule(context, 'Examples_Table')1467                self.build(context, token)1468                return 261469        if self.match_TagLine(context, token):1470            if self.lookahead_0(context, token):1471                self.end_rule(context, 'Examples')1472                self.end_rule(context, 'Examples_Definition')1473                self.start_rule(context, 'Examples_Definition')1474                self.start_rule(context, 'Tags')1475                self.build(context, token)1476                return 221477        if self.match_TagLine(context, token):1478                self.end_rule(context, 'Examples')1479                self.end_rule(context, 'Examples_Definition')1480                self.end_rule(context, 'ScenarioOutline')1481                self.end_rule(context, 'Scenario_Definition')1482                self.start_rule(context, 'Scenario_Definition')1483                self.start_rule(context, 'Tags')1484                self.build(context, token)1485                return 111486        if self.match_ExamplesLine(context, token):1487                self.end_rule(context, 'Examples')1488                self.end_rule(context, 'Examples_Definition')1489                self.start_rule(context, 'Examples_Definition')1490                self.start_rule(context, 'Examples')1491                self.build(context, token)1492                return 231493        if self.match_ScenarioLine(context, token):1494                self.end_rule(context, 'Examples')1495                self.end_rule(context, 'Examples_Definition')1496                self.end_rule(context, 'ScenarioOutline')1497                self.end_rule(context, 'Scenario_Definition')1498                self.start_rule(context, 'Scenario_Definition')1499                self.start_rule(context, 'Scenario')1500                self.build(context, token)1501                return 121502        if self.match_ScenarioOutlineLine(context, token):1503                self.end_rule(context, 'Examples')1504                self.end_rule(context, 'Examples_Definition')1505                self.end_rule(context, 'ScenarioOutline')1506                self.end_rule(context, 'Scenario_Definition')1507                self.start_rule(context, 'Scenario_Definition')1508                self.start_rule(context, 'ScenarioOutline')1509                self.build(context, token)1510                return 171511        if self.match_Empty(context, token):1512                self.build(context, token)1513                return 251514        state_comment = "State: 25 - Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:3>Examples_Definition:1>Examples:1>Examples_Description:0>Description_Helper:2>#Comment:0"1515        token.detach1516        expected_tokens = ["#EOF", "#Comment", "#TableRow", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Empty"]1517        error = UnexpectedEOFException(token, expected_tokens, state_comment) if token.eof() else UnexpectedTokenException(token, expected_tokens, state_comment)1518        if (self.stop_at_first_error):1519            raise error1520        self.add_error(context, error)1521        return 251522    # Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:3>Examples_Definition:1>Examples:2>Examples_Table:0>#TableRow:01523    def match_token_at_26(self, token, context):1524        if self.match_EOF(context, token):1525                self.end_rule(context, 'Examples_Table')1526                self.end_rule(context, 'Examples')1527                self.end_rule(context, 'Examples_Definition')1528                self.end_rule(context, 'ScenarioOutline')1529                self.end_rule(context, 'Scenario_Definition')1530                self.build(context, token)1531                return 271532        if self.match_TableRow(context, token):1533                self.build(context, token)1534                return 261535        if self.match_TagLine(context, token):1536            if self.lookahead_0(context, token):1537                self.end_rule(context, 'Examples_Table')1538                self.end_rule(context, 'Examples')1539                self.end_rule(context, 'Examples_Definition')1540                self.start_rule(context, 'Examples_Definition')1541                self.start_rule(context, 'Tags')1542                self.build(context, token)1543                return 221544        if self.match_TagLine(context, token):1545                self.end_rule(context, 'Examples_Table')1546                self.end_rule(context, 'Examples')1547                self.end_rule(context, 'Examples_Definition')1548                self.end_rule(context, 'ScenarioOutline')1549                self.end_rule(context, 'Scenario_Definition')1550                self.start_rule(context, 'Scenario_Definition')1551                self.start_rule(context, 'Tags')1552                self.build(context, token)1553                return 111554        if self.match_ExamplesLine(context, token):1555                self.end_rule(context, 'Examples_Table')1556                self.end_rule(context, 'Examples')1557                self.end_rule(context, 'Examples_Definition')1558                self.start_rule(context, 'Examples_Definition')1559                self.start_rule(context, 'Examples')1560                self.build(context, token)1561                return 231562        if self.match_ScenarioLine(context, token):1563                self.end_rule(context, 'Examples_Table')1564                self.end_rule(context, 'Examples')1565                self.end_rule(context, 'Examples_Definition')1566                self.end_rule(context, 'ScenarioOutline')1567                self.end_rule(context, 'Scenario_Definition')1568                self.start_rule(context, 'Scenario_Definition')1569                self.start_rule(context, 'Scenario')1570                self.build(context, token)1571                return 121572        if self.match_ScenarioOutlineLine(context, token):1573                self.end_rule(context, 'Examples_Table')1574                self.end_rule(context, 'Examples')1575                self.end_rule(context, 'Examples_Definition')1576                self.end_rule(context, 'ScenarioOutline')1577                self.end_rule(context, 'Scenario_Definition')1578                self.start_rule(context, 'Scenario_Definition')1579                self.start_rule(context, 'ScenarioOutline')1580                self.build(context, token)1581                return 171582        if self.match_Comment(context, token):1583                self.build(context, token)1584                return 261585        if self.match_Empty(context, token):1586                self.build(context, token)1587                return 261588        state_comment = "State: 26 - Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:3>Examples_Definition:1>Examples:2>Examples_Table:0>#TableRow:0"1589        token.detach1590        expected_tokens = ["#EOF", "#TableRow", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Comment", "#Empty"]1591        error = UnexpectedEOFException(token, expected_tokens, state_comment) if token.eof() else UnexpectedTokenException(token, expected_tokens, state_comment)1592        if (self.stop_at_first_error):1593            raise error1594        self.add_error(context, error)1595        return 261596    # Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:2>ScenarioOutline_Step:0>Step:1>Step_Arg:0>__alt1:1>DocString:0>#DocStringSeparator:01597    def match_token_at_28(self, token, context):1598        if self.match_DocStringSeparator(context, token):1599                self.build(context, token)1600                return 291601        if self.match_Other(context, token):1602                self.build(context, token)1603                return 281604        state_comment = "State: 28 - Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:2>ScenarioOutline_Step:0>Step:1>Step_Arg:0>__alt1:1>DocString:0>#DocStringSeparator:0"1605        token.detach1606        expected_tokens = ["#DocStringSeparator", "#Other"]1607        error = UnexpectedEOFException(token, expected_tokens, state_comment) if token.eof() else UnexpectedTokenException(token, expected_tokens, state_comment)1608        if (self.stop_at_first_error):1609            raise error1610        self.add_error(context, error)1611        return 281612    # Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:2>ScenarioOutline_Step:0>Step:1>Step_Arg:0>__alt1:1>DocString:2>#DocStringSeparator:01613    def match_token_at_29(self, token, context):1614        if self.match_EOF(context, token):1615                self.end_rule(context, 'DocString')1616                self.end_rule(context, 'Step')1617                self.end_rule(context, 'ScenarioOutline')1618                self.end_rule(context, 'Scenario_Definition')1619                self.build(context, token)1620                return 271621        if self.match_StepLine(context, token):1622                self.end_rule(context, 'DocString')1623                self.end_rule(context, 'Step')1624                self.start_rule(context, 'Step')1625                self.build(context, token)1626                return 201627        if self.match_TagLine(context, token):1628            if self.lookahead_0(context, token):1629                self.end_rule(context, 'DocString')1630                self.end_rule(context, 'Step')1631                self.start_rule(context, 'Examples_Definition')1632                self.start_rule(context, 'Tags')1633                self.build(context, token)1634                return 221635        if self.match_TagLine(context, token):1636                self.end_rule(context, 'DocString')1637                self.end_rule(context, 'Step')1638                self.end_rule(context, 'ScenarioOutline')1639                self.end_rule(context, 'Scenario_Definition')1640                self.start_rule(context, 'Scenario_Definition')1641                self.start_rule(context, 'Tags')1642                self.build(context, token)1643                return 111644        if self.match_ExamplesLine(context, token):1645                self.end_rule(context, 'DocString')1646                self.end_rule(context, 'Step')1647                self.start_rule(context, 'Examples_Definition')1648                self.start_rule(context, 'Examples')1649                self.build(context, token)1650                return 231651        if self.match_ScenarioLine(context, token):1652                self.end_rule(context, 'DocString')1653                self.end_rule(context, 'Step')1654                self.end_rule(context, 'ScenarioOutline')1655                self.end_rule(context, 'Scenario_Definition')1656                self.start_rule(context, 'Scenario_Definition')1657                self.start_rule(context, 'Scenario')1658                self.build(context, token)1659                return 121660        if self.match_ScenarioOutlineLine(context, token):1661                self.end_rule(context, 'DocString')1662                self.end_rule(context, 'Step')1663                self.end_rule(context, 'ScenarioOutline')1664                self.end_rule(context, 'Scenario_Definition')1665                self.start_rule(context, 'Scenario_Definition')1666                self.start_rule(context, 'ScenarioOutline')1667                self.build(context, token)1668                return 171669        if self.match_Comment(context, token):1670                self.build(context, token)1671                return 291672        if self.match_Empty(context, token):1673                self.build(context, token)1674                return 291675        state_comment = "State: 29 - Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:2>ScenarioOutline_Step:0>Step:1>Step_Arg:0>__alt1:1>DocString:2>#DocStringSeparator:0"1676        token.detach1677        expected_tokens = ["#EOF", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Comment", "#Empty"]1678        error = UnexpectedEOFException(token, expected_tokens, state_comment) if token.eof() else UnexpectedTokenException(token, expected_tokens, state_comment)1679        if (self.stop_at_first_error):1680            raise error1681        self.add_error(context, error)1682        return 291683    # Feature:2>Scenario_Definition:1>__alt0:0>Scenario:2>Scenario_Step:0>Step:1>Step_Arg:0>__alt1:1>DocString:0>#DocStringSeparator:01684    def match_token_at_30(self, token, context):1685        if self.match_DocStringSeparator(context, token):1686                self.build(context, token)1687                return 311688        if self.match_Other(context, token):1689                self.build(context, token)1690                return 301691        state_comment = "State: 30 - Feature:2>Scenario_Definition:1>__alt0:0>Scenario:2>Scenario_Step:0>Step:1>Step_Arg:0>__alt1:1>DocString:0>#DocStringSeparator:0"1692        token.detach1693        expected_tokens = ["#DocStringSeparator", "#Other"]1694        error = UnexpectedEOFException(token, expected_tokens, state_comment) if token.eof() else UnexpectedTokenException(token, expected_tokens, state_comment)1695        if (self.stop_at_first_error):1696            raise error1697        self.add_error(context, error)1698        return 301699    # Feature:2>Scenario_Definition:1>__alt0:0>Scenario:2>Scenario_Step:0>Step:1>Step_Arg:0>__alt1:1>DocString:2>#DocStringSeparator:01700    def match_token_at_31(self, token, context):1701        if self.match_EOF(context, token):1702                self.end_rule(context, 'DocString')1703                self.end_rule(context, 'Step')1704                self.end_rule(context, 'Scenario')1705                self.end_rule(context, 'Scenario_Definition')1706                self.build(context, token)1707                return 271708        if self.match_StepLine(context, token):1709                self.end_rule(context, 'DocString')1710                self.end_rule(context, 'Step')1711                self.start_rule(context, 'Step')1712                self.build(context, token)1713                return 151714        if self.match_TagLine(context, token):1715                self.end_rule(context, 'DocString')1716                self.end_rule(context, 'Step')1717                self.end_rule(context, 'Scenario')1718                self.end_rule(context, 'Scenario_Definition')1719                self.start_rule(context, 'Scenario_Definition')1720                self.start_rule(context, 'Tags')1721                self.build(context, token)1722                return 111723        if self.match_ScenarioLine(context, token):1724                self.end_rule(context, 'DocString')1725                self.end_rule(context, 'Step')1726                self.end_rule(context, 'Scenario')1727                self.end_rule(context, 'Scenario_Definition')1728                self.start_rule(context, 'Scenario_Definition')1729                self.start_rule(context, 'Scenario')1730                self.build(context, token)1731                return 121732        if self.match_ScenarioOutlineLine(context, token):1733                self.end_rule(context, 'DocString')1734                self.end_rule(context, 'Step')1735                self.end_rule(context, 'Scenario')1736                self.end_rule(context, 'Scenario_Definition')1737                self.start_rule(context, 'Scenario_Definition')1738                self.start_rule(context, 'ScenarioOutline')1739                self.build(context, token)1740                return 171741        if self.match_Comment(context, token):1742                self.build(context, token)1743                return 311744        if self.match_Empty(context, token):1745                self.build(context, token)1746                return 311747        state_comment = "State: 31 - Feature:2>Scenario_Definition:1>__alt0:0>Scenario:2>Scenario_Step:0>Step:1>Step_Arg:0>__alt1:1>DocString:2>#DocStringSeparator:0"1748        token.detach1749        expected_tokens = ["#EOF", "#StepLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Comment", "#Empty"]1750        error = UnexpectedEOFException(token, expected_tokens, state_comment) if token.eof() else UnexpectedTokenException(token, expected_tokens, state_comment)1751        if (self.stop_at_first_error):1752            raise error1753        self.add_error(context, error)1754        return 311755    # Feature:1>Background:2>Scenario_Step:0>Step:1>Step_Arg:0>__alt1:1>DocString:0>#DocStringSeparator:01756    def match_token_at_32(self, token, context):1757        if self.match_DocStringSeparator(context, token):1758                self.build(context, token)1759                return 331760        if self.match_Other(context, token):1761                self.build(context, token)1762                return 321763        state_comment = "State: 32 - Feature:1>Background:2>Scenario_Step:0>Step:1>Step_Arg:0>__alt1:1>DocString:0>#DocStringSeparator:0"1764        token.detach1765        expected_tokens = ["#DocStringSeparator", "#Other"]1766        error = UnexpectedEOFException(token, expected_tokens, state_comment) if token.eof() else UnexpectedTokenException(token, expected_tokens, state_comment)1767        if (self.stop_at_first_error):1768            raise error1769        self.add_error(context, error)1770        return 321771    # Feature:1>Background:2>Scenario_Step:0>Step:1>Step_Arg:0>__alt1:1>DocString:2>#DocStringSeparator:01772    def match_token_at_33(self, token, context):1773        if self.match_EOF(context, token):1774                self.end_rule(context, 'DocString')1775                self.end_rule(context, 'Step')1776                self.end_rule(context, 'Background')1777                self.build(context, token)1778                return 271779        if self.match_StepLine(context, token):1780                self.end_rule(context, 'DocString')1781                self.end_rule(context, 'Step')1782                self.start_rule(context, 'Step')1783                self.build(context, token)1784                return 91785        if self.match_TagLine(context, token):1786                self.end_rule(context, 'DocString')1787                self.end_rule(context, 'Step')1788                self.end_rule(context, 'Background')1789                self.start_rule(context, 'Scenario_Definition')1790                self.start_rule(context, 'Tags')1791                self.build(context, token)1792                return 111793        if self.match_ScenarioLine(context, token):1794                self.end_rule(context, 'DocString')1795                self.end_rule(context, 'Step')1796                self.end_rule(context, 'Background')1797                self.start_rule(context, 'Scenario_Definition')1798                self.start_rule(context, 'Scenario')1799                self.build(context, token)1800                return 121801        if self.match_ScenarioOutlineLine(context, token):1802                self.end_rule(context, 'DocString')1803                self.end_rule(context, 'Step')1804                self.end_rule(context, 'Background')1805                self.start_rule(context, 'Scenario_Definition')1806                self.start_rule(context, 'ScenarioOutline')1807                self.build(context, token)1808                return 171809        if self.match_Comment(context, token):1810                self.build(context, token)1811                return 331812        if self.match_Empty(context, token):1813                self.build(context, token)1814                return 331815        state_comment = "State: 33 - Feature:1>Background:2>Scenario_Step:0>Step:1>Step_Arg:0>__alt1:1>DocString:2>#DocStringSeparator:0"1816        token.detach1817        expected_tokens = ["#EOF", "#StepLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Comment", "#Empty"]1818        error = UnexpectedEOFException(token, expected_tokens, state_comment) if token.eof() else UnexpectedTokenException(token, expected_tokens, state_comment)1819        if (self.stop_at_first_error):1820            raise error1821        self.add_error(context, error)1822        return 331823    def lookahead_0(self, context, currentToken):1824        currentToken.detach1825        token = None1826        queue = []1827        match = False1828        while True:1829            token = self.read_token(context)1830            token.detach1831            queue.append(token)1832            if (self.match_ExamplesLine(context, token) or False):1833                match = True1834                break1835            if not (self.match_Empty(context, token) or self.match_Comment(context, token) or self.match_TagLine(context, token) or False):1836                break1837        context.token_queue.extend(queue)1838        return match1839    # private1840    def handle_ast_error(self, context, argument, action):1841        self.handle_external_error(context, True, argument, action)1842    def handle_external_error(self, context, default_value, argument, action):1843        if self.stop_at_first_error:1844            return action(argument)1845        try:1846            return action(argument)1847        except CompositeParserException as e:1848            for error in e.errors:1849                self.add_error(context, error)...parser.js
Source:parser.js  
...204      startRule(context, 'Feature_Header');205      build(context, token);206      return 1;207    }208    if(match_TagLine(context, token)) {209      startRule(context, 'Feature');210      startRule(context, 'Feature_Header');211      startRule(context, 'Tags');212      build(context, token);213      return 2;214    }215    if(match_FeatureLine(context, token)) {216      startRule(context, 'Feature');217      startRule(context, 'Feature_Header');218      build(context, token);219      return 3;220    }221    if(match_Comment(context, token)) {222      build(context, token);223      return 0;224    }225    if(match_Empty(context, token)) {226      build(context, token);227      return 0;228    }229    230    var stateComment = "State: 0 - Start";231    token.detach();232    var expectedTokens = ["#EOF", "#Language", "#TagLine", "#FeatureLine", "#Comment", "#Empty"];233    var error = token.isEof ?234      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :235      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);236    if (self.stopAtFirstError) throw error;237    addError(context, error);238    return 0;239  }240  // GherkinDocument:0>Feature:0>Feature_Header:0>#Language:0241  function matchTokenAt_1(token, context) {242    if(match_TagLine(context, token)) {243      startRule(context, 'Tags');244      build(context, token);245      return 2;246    }247    if(match_FeatureLine(context, token)) {248      build(context, token);249      return 3;250    }251    if(match_Comment(context, token)) {252      build(context, token);253      return 1;254    }255    if(match_Empty(context, token)) {256      build(context, token);257      return 1;258    }259    260    var stateComment = "State: 1 - GherkinDocument:0>Feature:0>Feature_Header:0>#Language:0";261    token.detach();262    var expectedTokens = ["#TagLine", "#FeatureLine", "#Comment", "#Empty"];263    var error = token.isEof ?264      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :265      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);266    if (self.stopAtFirstError) throw error;267    addError(context, error);268    return 1;269  }270  // GherkinDocument:0>Feature:0>Feature_Header:1>Tags:0>#TagLine:0271  function matchTokenAt_2(token, context) {272    if(match_TagLine(context, token)) {273      build(context, token);274      return 2;275    }276    if(match_FeatureLine(context, token)) {277      endRule(context, 'Tags');278      build(context, token);279      return 3;280    }281    if(match_Comment(context, token)) {282      build(context, token);283      return 2;284    }285    if(match_Empty(context, token)) {286      build(context, token);287      return 2;288    }289    290    var stateComment = "State: 2 - GherkinDocument:0>Feature:0>Feature_Header:1>Tags:0>#TagLine:0";291    token.detach();292    var expectedTokens = ["#TagLine", "#FeatureLine", "#Comment", "#Empty"];293    var error = token.isEof ?294      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :295      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);296    if (self.stopAtFirstError) throw error;297    addError(context, error);298    return 2;299  }300  // GherkinDocument:0>Feature:0>Feature_Header:2>#FeatureLine:0301  function matchTokenAt_3(token, context) {302    if(match_EOF(context, token)) {303      endRule(context, 'Feature_Header');304      endRule(context, 'Feature');305      build(context, token);306      return 27;307    }308    if(match_Empty(context, token)) {309      build(context, token);310      return 3;311    }312    if(match_Comment(context, token)) {313      build(context, token);314      return 5;315    }316    if(match_BackgroundLine(context, token)) {317      endRule(context, 'Feature_Header');318      startRule(context, 'Background');319      build(context, token);320      return 6;321    }322    if(match_TagLine(context, token)) {323      endRule(context, 'Feature_Header');324      startRule(context, 'Scenario_Definition');325      startRule(context, 'Tags');326      build(context, token);327      return 11;328    }329    if(match_ScenarioLine(context, token)) {330      endRule(context, 'Feature_Header');331      startRule(context, 'Scenario_Definition');332      startRule(context, 'Scenario');333      build(context, token);334      return 12;335    }336    if(match_ScenarioOutlineLine(context, token)) {337      endRule(context, 'Feature_Header');338      startRule(context, 'Scenario_Definition');339      startRule(context, 'ScenarioOutline');340      build(context, token);341      return 17;342    }343    if(match_Other(context, token)) {344      startRule(context, 'Description');345      build(context, token);346      return 4;347    }348    349    var stateComment = "State: 3 - GherkinDocument:0>Feature:0>Feature_Header:2>#FeatureLine:0";350    token.detach();351    var expectedTokens = ["#EOF", "#Empty", "#Comment", "#BackgroundLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Other"];352    var error = token.isEof ?353      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :354      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);355    if (self.stopAtFirstError) throw error;356    addError(context, error);357    return 3;358  }359  // GherkinDocument:0>Feature:0>Feature_Header:3>Description_Helper:1>Description:0>#Other:0360  function matchTokenAt_4(token, context) {361    if(match_EOF(context, token)) {362      endRule(context, 'Description');363      endRule(context, 'Feature_Header');364      endRule(context, 'Feature');365      build(context, token);366      return 27;367    }368    if(match_Comment(context, token)) {369      endRule(context, 'Description');370      build(context, token);371      return 5;372    }373    if(match_BackgroundLine(context, token)) {374      endRule(context, 'Description');375      endRule(context, 'Feature_Header');376      startRule(context, 'Background');377      build(context, token);378      return 6;379    }380    if(match_TagLine(context, token)) {381      endRule(context, 'Description');382      endRule(context, 'Feature_Header');383      startRule(context, 'Scenario_Definition');384      startRule(context, 'Tags');385      build(context, token);386      return 11;387    }388    if(match_ScenarioLine(context, token)) {389      endRule(context, 'Description');390      endRule(context, 'Feature_Header');391      startRule(context, 'Scenario_Definition');392      startRule(context, 'Scenario');393      build(context, token);394      return 12;395    }396    if(match_ScenarioOutlineLine(context, token)) {397      endRule(context, 'Description');398      endRule(context, 'Feature_Header');399      startRule(context, 'Scenario_Definition');400      startRule(context, 'ScenarioOutline');401      build(context, token);402      return 17;403    }404    if(match_Other(context, token)) {405      build(context, token);406      return 4;407    }408    409    var stateComment = "State: 4 - GherkinDocument:0>Feature:0>Feature_Header:3>Description_Helper:1>Description:0>#Other:0";410    token.detach();411    var expectedTokens = ["#EOF", "#Comment", "#BackgroundLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Other"];412    var error = token.isEof ?413      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :414      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);415    if (self.stopAtFirstError) throw error;416    addError(context, error);417    return 4;418  }419  // GherkinDocument:0>Feature:0>Feature_Header:3>Description_Helper:2>#Comment:0420  function matchTokenAt_5(token, context) {421    if(match_EOF(context, token)) {422      endRule(context, 'Feature_Header');423      endRule(context, 'Feature');424      build(context, token);425      return 27;426    }427    if(match_Comment(context, token)) {428      build(context, token);429      return 5;430    }431    if(match_BackgroundLine(context, token)) {432      endRule(context, 'Feature_Header');433      startRule(context, 'Background');434      build(context, token);435      return 6;436    }437    if(match_TagLine(context, token)) {438      endRule(context, 'Feature_Header');439      startRule(context, 'Scenario_Definition');440      startRule(context, 'Tags');441      build(context, token);442      return 11;443    }444    if(match_ScenarioLine(context, token)) {445      endRule(context, 'Feature_Header');446      startRule(context, 'Scenario_Definition');447      startRule(context, 'Scenario');448      build(context, token);449      return 12;450    }451    if(match_ScenarioOutlineLine(context, token)) {452      endRule(context, 'Feature_Header');453      startRule(context, 'Scenario_Definition');454      startRule(context, 'ScenarioOutline');455      build(context, token);456      return 17;457    }458    if(match_Empty(context, token)) {459      build(context, token);460      return 5;461    }462    463    var stateComment = "State: 5 - GherkinDocument:0>Feature:0>Feature_Header:3>Description_Helper:2>#Comment:0";464    token.detach();465    var expectedTokens = ["#EOF", "#Comment", "#BackgroundLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Empty"];466    var error = token.isEof ?467      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :468      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);469    if (self.stopAtFirstError) throw error;470    addError(context, error);471    return 5;472  }473  // GherkinDocument:0>Feature:1>Background:0>#BackgroundLine:0474  function matchTokenAt_6(token, context) {475    if(match_EOF(context, token)) {476      endRule(context, 'Background');477      endRule(context, 'Feature');478      build(context, token);479      return 27;480    }481    if(match_Empty(context, token)) {482      build(context, token);483      return 6;484    }485    if(match_Comment(context, token)) {486      build(context, token);487      return 8;488    }489    if(match_StepLine(context, token)) {490      startRule(context, 'Step');491      build(context, token);492      return 9;493    }494    if(match_TagLine(context, token)) {495      endRule(context, 'Background');496      startRule(context, 'Scenario_Definition');497      startRule(context, 'Tags');498      build(context, token);499      return 11;500    }501    if(match_ScenarioLine(context, token)) {502      endRule(context, 'Background');503      startRule(context, 'Scenario_Definition');504      startRule(context, 'Scenario');505      build(context, token);506      return 12;507    }508    if(match_ScenarioOutlineLine(context, token)) {509      endRule(context, 'Background');510      startRule(context, 'Scenario_Definition');511      startRule(context, 'ScenarioOutline');512      build(context, token);513      return 17;514    }515    if(match_Other(context, token)) {516      startRule(context, 'Description');517      build(context, token);518      return 7;519    }520    521    var stateComment = "State: 6 - GherkinDocument:0>Feature:1>Background:0>#BackgroundLine:0";522    token.detach();523    var expectedTokens = ["#EOF", "#Empty", "#Comment", "#StepLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Other"];524    var error = token.isEof ?525      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :526      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);527    if (self.stopAtFirstError) throw error;528    addError(context, error);529    return 6;530  }531  // GherkinDocument:0>Feature:1>Background:1>Description_Helper:1>Description:0>#Other:0532  function matchTokenAt_7(token, context) {533    if(match_EOF(context, token)) {534      endRule(context, 'Description');535      endRule(context, 'Background');536      endRule(context, 'Feature');537      build(context, token);538      return 27;539    }540    if(match_Comment(context, token)) {541      endRule(context, 'Description');542      build(context, token);543      return 8;544    }545    if(match_StepLine(context, token)) {546      endRule(context, 'Description');547      startRule(context, 'Step');548      build(context, token);549      return 9;550    }551    if(match_TagLine(context, token)) {552      endRule(context, 'Description');553      endRule(context, 'Background');554      startRule(context, 'Scenario_Definition');555      startRule(context, 'Tags');556      build(context, token);557      return 11;558    }559    if(match_ScenarioLine(context, token)) {560      endRule(context, 'Description');561      endRule(context, 'Background');562      startRule(context, 'Scenario_Definition');563      startRule(context, 'Scenario');564      build(context, token);565      return 12;566    }567    if(match_ScenarioOutlineLine(context, token)) {568      endRule(context, 'Description');569      endRule(context, 'Background');570      startRule(context, 'Scenario_Definition');571      startRule(context, 'ScenarioOutline');572      build(context, token);573      return 17;574    }575    if(match_Other(context, token)) {576      build(context, token);577      return 7;578    }579    580    var stateComment = "State: 7 - GherkinDocument:0>Feature:1>Background:1>Description_Helper:1>Description:0>#Other:0";581    token.detach();582    var expectedTokens = ["#EOF", "#Comment", "#StepLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Other"];583    var error = token.isEof ?584      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :585      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);586    if (self.stopAtFirstError) throw error;587    addError(context, error);588    return 7;589  }590  // GherkinDocument:0>Feature:1>Background:1>Description_Helper:2>#Comment:0591  function matchTokenAt_8(token, context) {592    if(match_EOF(context, token)) {593      endRule(context, 'Background');594      endRule(context, 'Feature');595      build(context, token);596      return 27;597    }598    if(match_Comment(context, token)) {599      build(context, token);600      return 8;601    }602    if(match_StepLine(context, token)) {603      startRule(context, 'Step');604      build(context, token);605      return 9;606    }607    if(match_TagLine(context, token)) {608      endRule(context, 'Background');609      startRule(context, 'Scenario_Definition');610      startRule(context, 'Tags');611      build(context, token);612      return 11;613    }614    if(match_ScenarioLine(context, token)) {615      endRule(context, 'Background');616      startRule(context, 'Scenario_Definition');617      startRule(context, 'Scenario');618      build(context, token);619      return 12;620    }621    if(match_ScenarioOutlineLine(context, token)) {622      endRule(context, 'Background');623      startRule(context, 'Scenario_Definition');624      startRule(context, 'ScenarioOutline');625      build(context, token);626      return 17;627    }628    if(match_Empty(context, token)) {629      build(context, token);630      return 8;631    }632    633    var stateComment = "State: 8 - GherkinDocument:0>Feature:1>Background:1>Description_Helper:2>#Comment:0";634    token.detach();635    var expectedTokens = ["#EOF", "#Comment", "#StepLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Empty"];636    var error = token.isEof ?637      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :638      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);639    if (self.stopAtFirstError) throw error;640    addError(context, error);641    return 8;642  }643  // GherkinDocument:0>Feature:1>Background:2>Step:0>#StepLine:0644  function matchTokenAt_9(token, context) {645    if(match_EOF(context, token)) {646      endRule(context, 'Step');647      endRule(context, 'Background');648      endRule(context, 'Feature');649      build(context, token);650      return 27;651    }652    if(match_TableRow(context, token)) {653      startRule(context, 'DataTable');654      build(context, token);655      return 10;656    }657    if(match_DocStringSeparator(context, token)) {658      startRule(context, 'DocString');659      build(context, token);660      return 32;661    }662    if(match_StepLine(context, token)) {663      endRule(context, 'Step');664      startRule(context, 'Step');665      build(context, token);666      return 9;667    }668    if(match_TagLine(context, token)) {669      endRule(context, 'Step');670      endRule(context, 'Background');671      startRule(context, 'Scenario_Definition');672      startRule(context, 'Tags');673      build(context, token);674      return 11;675    }676    if(match_ScenarioLine(context, token)) {677      endRule(context, 'Step');678      endRule(context, 'Background');679      startRule(context, 'Scenario_Definition');680      startRule(context, 'Scenario');681      build(context, token);682      return 12;683    }684    if(match_ScenarioOutlineLine(context, token)) {685      endRule(context, 'Step');686      endRule(context, 'Background');687      startRule(context, 'Scenario_Definition');688      startRule(context, 'ScenarioOutline');689      build(context, token);690      return 17;691    }692    if(match_Comment(context, token)) {693      build(context, token);694      return 9;695    }696    if(match_Empty(context, token)) {697      build(context, token);698      return 9;699    }700    701    var stateComment = "State: 9 - GherkinDocument:0>Feature:1>Background:2>Step:0>#StepLine:0";702    token.detach();703    var expectedTokens = ["#EOF", "#TableRow", "#DocStringSeparator", "#StepLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Comment", "#Empty"];704    var error = token.isEof ?705      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :706      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);707    if (self.stopAtFirstError) throw error;708    addError(context, error);709    return 9;710  }711  // GherkinDocument:0>Feature:1>Background:2>Step:1>Step_Arg:0>__alt1:0>DataTable:0>#TableRow:0712  function matchTokenAt_10(token, context) {713    if(match_EOF(context, token)) {714      endRule(context, 'DataTable');715      endRule(context, 'Step');716      endRule(context, 'Background');717      endRule(context, 'Feature');718      build(context, token);719      return 27;720    }721    if(match_TableRow(context, token)) {722      build(context, token);723      return 10;724    }725    if(match_StepLine(context, token)) {726      endRule(context, 'DataTable');727      endRule(context, 'Step');728      startRule(context, 'Step');729      build(context, token);730      return 9;731    }732    if(match_TagLine(context, token)) {733      endRule(context, 'DataTable');734      endRule(context, 'Step');735      endRule(context, 'Background');736      startRule(context, 'Scenario_Definition');737      startRule(context, 'Tags');738      build(context, token);739      return 11;740    }741    if(match_ScenarioLine(context, token)) {742      endRule(context, 'DataTable');743      endRule(context, 'Step');744      endRule(context, 'Background');745      startRule(context, 'Scenario_Definition');746      startRule(context, 'Scenario');747      build(context, token);748      return 12;749    }750    if(match_ScenarioOutlineLine(context, token)) {751      endRule(context, 'DataTable');752      endRule(context, 'Step');753      endRule(context, 'Background');754      startRule(context, 'Scenario_Definition');755      startRule(context, 'ScenarioOutline');756      build(context, token);757      return 17;758    }759    if(match_Comment(context, token)) {760      build(context, token);761      return 10;762    }763    if(match_Empty(context, token)) {764      build(context, token);765      return 10;766    }767    768    var stateComment = "State: 10 - GherkinDocument:0>Feature:1>Background:2>Step:1>Step_Arg:0>__alt1:0>DataTable:0>#TableRow:0";769    token.detach();770    var expectedTokens = ["#EOF", "#TableRow", "#StepLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Comment", "#Empty"];771    var error = token.isEof ?772      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :773      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);774    if (self.stopAtFirstError) throw error;775    addError(context, error);776    return 10;777  }778  // GherkinDocument:0>Feature:2>Scenario_Definition:0>Tags:0>#TagLine:0779  function matchTokenAt_11(token, context) {780    if(match_TagLine(context, token)) {781      build(context, token);782      return 11;783    }784    if(match_ScenarioLine(context, token)) {785      endRule(context, 'Tags');786      startRule(context, 'Scenario');787      build(context, token);788      return 12;789    }790    if(match_ScenarioOutlineLine(context, token)) {791      endRule(context, 'Tags');792      startRule(context, 'ScenarioOutline');793      build(context, token);794      return 17;795    }796    if(match_Comment(context, token)) {797      build(context, token);798      return 11;799    }800    if(match_Empty(context, token)) {801      build(context, token);802      return 11;803    }804    805    var stateComment = "State: 11 - GherkinDocument:0>Feature:2>Scenario_Definition:0>Tags:0>#TagLine:0";806    token.detach();807    var expectedTokens = ["#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Comment", "#Empty"];808    var error = token.isEof ?809      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :810      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);811    if (self.stopAtFirstError) throw error;812    addError(context, error);813    return 11;814  }815  // GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:0>Scenario:0>#ScenarioLine:0816  function matchTokenAt_12(token, context) {817    if(match_EOF(context, token)) {818      endRule(context, 'Scenario');819      endRule(context, 'Scenario_Definition');820      endRule(context, 'Feature');821      build(context, token);822      return 27;823    }824    if(match_Empty(context, token)) {825      build(context, token);826      return 12;827    }828    if(match_Comment(context, token)) {829      build(context, token);830      return 14;831    }832    if(match_StepLine(context, token)) {833      startRule(context, 'Step');834      build(context, token);835      return 15;836    }837    if(match_TagLine(context, token)) {838      endRule(context, 'Scenario');839      endRule(context, 'Scenario_Definition');840      startRule(context, 'Scenario_Definition');841      startRule(context, 'Tags');842      build(context, token);843      return 11;844    }845    if(match_ScenarioLine(context, token)) {846      endRule(context, 'Scenario');847      endRule(context, 'Scenario_Definition');848      startRule(context, 'Scenario_Definition');849      startRule(context, 'Scenario');850      build(context, token);851      return 12;852    }853    if(match_ScenarioOutlineLine(context, token)) {854      endRule(context, 'Scenario');855      endRule(context, 'Scenario_Definition');856      startRule(context, 'Scenario_Definition');857      startRule(context, 'ScenarioOutline');858      build(context, token);859      return 17;860    }861    if(match_Other(context, token)) {862      startRule(context, 'Description');863      build(context, token);864      return 13;865    }866    867    var stateComment = "State: 12 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:0>Scenario:0>#ScenarioLine:0";868    token.detach();869    var expectedTokens = ["#EOF", "#Empty", "#Comment", "#StepLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Other"];870    var error = token.isEof ?871      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :872      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);873    if (self.stopAtFirstError) throw error;874    addError(context, error);875    return 12;876  }877  // GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:0>Scenario:1>Description_Helper:1>Description:0>#Other:0878  function matchTokenAt_13(token, context) {879    if(match_EOF(context, token)) {880      endRule(context, 'Description');881      endRule(context, 'Scenario');882      endRule(context, 'Scenario_Definition');883      endRule(context, 'Feature');884      build(context, token);885      return 27;886    }887    if(match_Comment(context, token)) {888      endRule(context, 'Description');889      build(context, token);890      return 14;891    }892    if(match_StepLine(context, token)) {893      endRule(context, 'Description');894      startRule(context, 'Step');895      build(context, token);896      return 15;897    }898    if(match_TagLine(context, token)) {899      endRule(context, 'Description');900      endRule(context, 'Scenario');901      endRule(context, 'Scenario_Definition');902      startRule(context, 'Scenario_Definition');903      startRule(context, 'Tags');904      build(context, token);905      return 11;906    }907    if(match_ScenarioLine(context, token)) {908      endRule(context, 'Description');909      endRule(context, 'Scenario');910      endRule(context, 'Scenario_Definition');911      startRule(context, 'Scenario_Definition');912      startRule(context, 'Scenario');913      build(context, token);914      return 12;915    }916    if(match_ScenarioOutlineLine(context, token)) {917      endRule(context, 'Description');918      endRule(context, 'Scenario');919      endRule(context, 'Scenario_Definition');920      startRule(context, 'Scenario_Definition');921      startRule(context, 'ScenarioOutline');922      build(context, token);923      return 17;924    }925    if(match_Other(context, token)) {926      build(context, token);927      return 13;928    }929    930    var stateComment = "State: 13 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:0>Scenario:1>Description_Helper:1>Description:0>#Other:0";931    token.detach();932    var expectedTokens = ["#EOF", "#Comment", "#StepLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Other"];933    var error = token.isEof ?934      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :935      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);936    if (self.stopAtFirstError) throw error;937    addError(context, error);938    return 13;939  }940  // GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:0>Scenario:1>Description_Helper:2>#Comment:0941  function matchTokenAt_14(token, context) {942    if(match_EOF(context, token)) {943      endRule(context, 'Scenario');944      endRule(context, 'Scenario_Definition');945      endRule(context, 'Feature');946      build(context, token);947      return 27;948    }949    if(match_Comment(context, token)) {950      build(context, token);951      return 14;952    }953    if(match_StepLine(context, token)) {954      startRule(context, 'Step');955      build(context, token);956      return 15;957    }958    if(match_TagLine(context, token)) {959      endRule(context, 'Scenario');960      endRule(context, 'Scenario_Definition');961      startRule(context, 'Scenario_Definition');962      startRule(context, 'Tags');963      build(context, token);964      return 11;965    }966    if(match_ScenarioLine(context, token)) {967      endRule(context, 'Scenario');968      endRule(context, 'Scenario_Definition');969      startRule(context, 'Scenario_Definition');970      startRule(context, 'Scenario');971      build(context, token);972      return 12;973    }974    if(match_ScenarioOutlineLine(context, token)) {975      endRule(context, 'Scenario');976      endRule(context, 'Scenario_Definition');977      startRule(context, 'Scenario_Definition');978      startRule(context, 'ScenarioOutline');979      build(context, token);980      return 17;981    }982    if(match_Empty(context, token)) {983      build(context, token);984      return 14;985    }986    987    var stateComment = "State: 14 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:0>Scenario:1>Description_Helper:2>#Comment:0";988    token.detach();989    var expectedTokens = ["#EOF", "#Comment", "#StepLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Empty"];990    var error = token.isEof ?991      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :992      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);993    if (self.stopAtFirstError) throw error;994    addError(context, error);995    return 14;996  }997  // GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:0>Scenario:2>Step:0>#StepLine:0998  function matchTokenAt_15(token, context) {999    if(match_EOF(context, token)) {1000      endRule(context, 'Step');1001      endRule(context, 'Scenario');1002      endRule(context, 'Scenario_Definition');1003      endRule(context, 'Feature');1004      build(context, token);1005      return 27;1006    }1007    if(match_TableRow(context, token)) {1008      startRule(context, 'DataTable');1009      build(context, token);1010      return 16;1011    }1012    if(match_DocStringSeparator(context, token)) {1013      startRule(context, 'DocString');1014      build(context, token);1015      return 30;1016    }1017    if(match_StepLine(context, token)) {1018      endRule(context, 'Step');1019      startRule(context, 'Step');1020      build(context, token);1021      return 15;1022    }1023    if(match_TagLine(context, token)) {1024      endRule(context, 'Step');1025      endRule(context, 'Scenario');1026      endRule(context, 'Scenario_Definition');1027      startRule(context, 'Scenario_Definition');1028      startRule(context, 'Tags');1029      build(context, token);1030      return 11;1031    }1032    if(match_ScenarioLine(context, token)) {1033      endRule(context, 'Step');1034      endRule(context, 'Scenario');1035      endRule(context, 'Scenario_Definition');1036      startRule(context, 'Scenario_Definition');1037      startRule(context, 'Scenario');1038      build(context, token);1039      return 12;1040    }1041    if(match_ScenarioOutlineLine(context, token)) {1042      endRule(context, 'Step');1043      endRule(context, 'Scenario');1044      endRule(context, 'Scenario_Definition');1045      startRule(context, 'Scenario_Definition');1046      startRule(context, 'ScenarioOutline');1047      build(context, token);1048      return 17;1049    }1050    if(match_Comment(context, token)) {1051      build(context, token);1052      return 15;1053    }1054    if(match_Empty(context, token)) {1055      build(context, token);1056      return 15;1057    }1058    1059    var stateComment = "State: 15 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:0>Scenario:2>Step:0>#StepLine:0";1060    token.detach();1061    var expectedTokens = ["#EOF", "#TableRow", "#DocStringSeparator", "#StepLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Comment", "#Empty"];1062    var error = token.isEof ?1063      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :1064      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);1065    if (self.stopAtFirstError) throw error;1066    addError(context, error);1067    return 15;1068  }1069  // GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:0>Scenario:2>Step:1>Step_Arg:0>__alt1:0>DataTable:0>#TableRow:01070  function matchTokenAt_16(token, context) {1071    if(match_EOF(context, token)) {1072      endRule(context, 'DataTable');1073      endRule(context, 'Step');1074      endRule(context, 'Scenario');1075      endRule(context, 'Scenario_Definition');1076      endRule(context, 'Feature');1077      build(context, token);1078      return 27;1079    }1080    if(match_TableRow(context, token)) {1081      build(context, token);1082      return 16;1083    }1084    if(match_StepLine(context, token)) {1085      endRule(context, 'DataTable');1086      endRule(context, 'Step');1087      startRule(context, 'Step');1088      build(context, token);1089      return 15;1090    }1091    if(match_TagLine(context, token)) {1092      endRule(context, 'DataTable');1093      endRule(context, 'Step');1094      endRule(context, 'Scenario');1095      endRule(context, 'Scenario_Definition');1096      startRule(context, 'Scenario_Definition');1097      startRule(context, 'Tags');1098      build(context, token);1099      return 11;1100    }1101    if(match_ScenarioLine(context, token)) {1102      endRule(context, 'DataTable');1103      endRule(context, 'Step');1104      endRule(context, 'Scenario');1105      endRule(context, 'Scenario_Definition');1106      startRule(context, 'Scenario_Definition');1107      startRule(context, 'Scenario');1108      build(context, token);1109      return 12;1110    }1111    if(match_ScenarioOutlineLine(context, token)) {1112      endRule(context, 'DataTable');1113      endRule(context, 'Step');1114      endRule(context, 'Scenario');1115      endRule(context, 'Scenario_Definition');1116      startRule(context, 'Scenario_Definition');1117      startRule(context, 'ScenarioOutline');1118      build(context, token);1119      return 17;1120    }1121    if(match_Comment(context, token)) {1122      build(context, token);1123      return 16;1124    }1125    if(match_Empty(context, token)) {1126      build(context, token);1127      return 16;1128    }1129    1130    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";1131    token.detach();1132    var expectedTokens = ["#EOF", "#TableRow", "#StepLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Comment", "#Empty"];1133    var error = token.isEof ?1134      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :1135      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);1136    if (self.stopAtFirstError) throw error;1137    addError(context, error);1138    return 16;1139  }1140  // GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:0>#ScenarioOutlineLine:01141  function matchTokenAt_17(token, context) {1142    if(match_EOF(context, token)) {1143      endRule(context, 'ScenarioOutline');1144      endRule(context, 'Scenario_Definition');1145      endRule(context, 'Feature');1146      build(context, token);1147      return 27;1148    }1149    if(match_Empty(context, token)) {1150      build(context, token);1151      return 17;1152    }1153    if(match_Comment(context, token)) {1154      build(context, token);1155      return 19;1156    }1157    if(match_StepLine(context, token)) {1158      startRule(context, 'Step');1159      build(context, token);1160      return 20;1161    }1162    if(match_TagLine(context, token)) {1163      if(lookahead_0(context, token)) {1164      startRule(context, 'Examples_Definition');1165      startRule(context, 'Tags');1166      build(context, token);1167      return 22;1168      }1169    }1170    if(match_TagLine(context, token)) {1171      endRule(context, 'ScenarioOutline');1172      endRule(context, 'Scenario_Definition');1173      startRule(context, 'Scenario_Definition');1174      startRule(context, 'Tags');1175      build(context, token);1176      return 11;1177    }1178    if(match_ExamplesLine(context, token)) {1179      startRule(context, 'Examples_Definition');1180      startRule(context, 'Examples');1181      build(context, token);1182      return 23;1183    }1184    if(match_ScenarioLine(context, token)) {1185      endRule(context, 'ScenarioOutline');1186      endRule(context, 'Scenario_Definition');1187      startRule(context, 'Scenario_Definition');1188      startRule(context, 'Scenario');1189      build(context, token);1190      return 12;1191    }1192    if(match_ScenarioOutlineLine(context, token)) {1193      endRule(context, 'ScenarioOutline');1194      endRule(context, 'Scenario_Definition');1195      startRule(context, 'Scenario_Definition');1196      startRule(context, 'ScenarioOutline');1197      build(context, token);1198      return 17;1199    }1200    if(match_Other(context, token)) {1201      startRule(context, 'Description');1202      build(context, token);1203      return 18;1204    }1205    1206    var stateComment = "State: 17 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:0>#ScenarioOutlineLine:0";1207    token.detach();1208    var expectedTokens = ["#EOF", "#Empty", "#Comment", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Other"];1209    var error = token.isEof ?1210      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :1211      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);1212    if (self.stopAtFirstError) throw error;1213    addError(context, error);1214    return 17;1215  }1216  // GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:1>Description_Helper:1>Description:0>#Other:01217  function matchTokenAt_18(token, context) {1218    if(match_EOF(context, token)) {1219      endRule(context, 'Description');1220      endRule(context, 'ScenarioOutline');1221      endRule(context, 'Scenario_Definition');1222      endRule(context, 'Feature');1223      build(context, token);1224      return 27;1225    }1226    if(match_Comment(context, token)) {1227      endRule(context, 'Description');1228      build(context, token);1229      return 19;1230    }1231    if(match_StepLine(context, token)) {1232      endRule(context, 'Description');1233      startRule(context, 'Step');1234      build(context, token);1235      return 20;1236    }1237    if(match_TagLine(context, token)) {1238      if(lookahead_0(context, token)) {1239      endRule(context, 'Description');1240      startRule(context, 'Examples_Definition');1241      startRule(context, 'Tags');1242      build(context, token);1243      return 22;1244      }1245    }1246    if(match_TagLine(context, token)) {1247      endRule(context, 'Description');1248      endRule(context, 'ScenarioOutline');1249      endRule(context, 'Scenario_Definition');1250      startRule(context, 'Scenario_Definition');1251      startRule(context, 'Tags');1252      build(context, token);1253      return 11;1254    }1255    if(match_ExamplesLine(context, token)) {1256      endRule(context, 'Description');1257      startRule(context, 'Examples_Definition');1258      startRule(context, 'Examples');1259      build(context, token);1260      return 23;1261    }1262    if(match_ScenarioLine(context, token)) {1263      endRule(context, 'Description');1264      endRule(context, 'ScenarioOutline');1265      endRule(context, 'Scenario_Definition');1266      startRule(context, 'Scenario_Definition');1267      startRule(context, 'Scenario');1268      build(context, token);1269      return 12;1270    }1271    if(match_ScenarioOutlineLine(context, token)) {1272      endRule(context, 'Description');1273      endRule(context, 'ScenarioOutline');1274      endRule(context, 'Scenario_Definition');1275      startRule(context, 'Scenario_Definition');1276      startRule(context, 'ScenarioOutline');1277      build(context, token);1278      return 17;1279    }1280    if(match_Other(context, token)) {1281      build(context, token);1282      return 18;1283    }1284    1285    var stateComment = "State: 18 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:1>Description_Helper:1>Description:0>#Other:0";1286    token.detach();1287    var expectedTokens = ["#EOF", "#Comment", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Other"];1288    var error = token.isEof ?1289      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :1290      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);1291    if (self.stopAtFirstError) throw error;1292    addError(context, error);1293    return 18;1294  }1295  // GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:1>Description_Helper:2>#Comment:01296  function matchTokenAt_19(token, context) {1297    if(match_EOF(context, token)) {1298      endRule(context, 'ScenarioOutline');1299      endRule(context, 'Scenario_Definition');1300      endRule(context, 'Feature');1301      build(context, token);1302      return 27;1303    }1304    if(match_Comment(context, token)) {1305      build(context, token);1306      return 19;1307    }1308    if(match_StepLine(context, token)) {1309      startRule(context, 'Step');1310      build(context, token);1311      return 20;1312    }1313    if(match_TagLine(context, token)) {1314      if(lookahead_0(context, token)) {1315      startRule(context, 'Examples_Definition');1316      startRule(context, 'Tags');1317      build(context, token);1318      return 22;1319      }1320    }1321    if(match_TagLine(context, token)) {1322      endRule(context, 'ScenarioOutline');1323      endRule(context, 'Scenario_Definition');1324      startRule(context, 'Scenario_Definition');1325      startRule(context, 'Tags');1326      build(context, token);1327      return 11;1328    }1329    if(match_ExamplesLine(context, token)) {1330      startRule(context, 'Examples_Definition');1331      startRule(context, 'Examples');1332      build(context, token);1333      return 23;1334    }1335    if(match_ScenarioLine(context, token)) {1336      endRule(context, 'ScenarioOutline');1337      endRule(context, 'Scenario_Definition');1338      startRule(context, 'Scenario_Definition');1339      startRule(context, 'Scenario');1340      build(context, token);1341      return 12;1342    }1343    if(match_ScenarioOutlineLine(context, token)) {1344      endRule(context, 'ScenarioOutline');1345      endRule(context, 'Scenario_Definition');1346      startRule(context, 'Scenario_Definition');1347      startRule(context, 'ScenarioOutline');1348      build(context, token);1349      return 17;1350    }1351    if(match_Empty(context, token)) {1352      build(context, token);1353      return 19;1354    }1355    1356    var stateComment = "State: 19 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:1>Description_Helper:2>#Comment:0";1357    token.detach();1358    var expectedTokens = ["#EOF", "#Comment", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Empty"];1359    var error = token.isEof ?1360      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :1361      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);1362    if (self.stopAtFirstError) throw error;1363    addError(context, error);1364    return 19;1365  }1366  // GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:2>Step:0>#StepLine:01367  function matchTokenAt_20(token, context) {1368    if(match_EOF(context, token)) {1369      endRule(context, 'Step');1370      endRule(context, 'ScenarioOutline');1371      endRule(context, 'Scenario_Definition');1372      endRule(context, 'Feature');1373      build(context, token);1374      return 27;1375    }1376    if(match_TableRow(context, token)) {1377      startRule(context, 'DataTable');1378      build(context, token);1379      return 21;1380    }1381    if(match_DocStringSeparator(context, token)) {1382      startRule(context, 'DocString');1383      build(context, token);1384      return 28;1385    }1386    if(match_StepLine(context, token)) {1387      endRule(context, 'Step');1388      startRule(context, 'Step');1389      build(context, token);1390      return 20;1391    }1392    if(match_TagLine(context, token)) {1393      if(lookahead_0(context, token)) {1394      endRule(context, 'Step');1395      startRule(context, 'Examples_Definition');1396      startRule(context, 'Tags');1397      build(context, token);1398      return 22;1399      }1400    }1401    if(match_TagLine(context, token)) {1402      endRule(context, 'Step');1403      endRule(context, 'ScenarioOutline');1404      endRule(context, 'Scenario_Definition');1405      startRule(context, 'Scenario_Definition');1406      startRule(context, 'Tags');1407      build(context, token);1408      return 11;1409    }1410    if(match_ExamplesLine(context, token)) {1411      endRule(context, 'Step');1412      startRule(context, 'Examples_Definition');1413      startRule(context, 'Examples');1414      build(context, token);1415      return 23;1416    }1417    if(match_ScenarioLine(context, token)) {1418      endRule(context, 'Step');1419      endRule(context, 'ScenarioOutline');1420      endRule(context, 'Scenario_Definition');1421      startRule(context, 'Scenario_Definition');1422      startRule(context, 'Scenario');1423      build(context, token);1424      return 12;1425    }1426    if(match_ScenarioOutlineLine(context, token)) {1427      endRule(context, 'Step');1428      endRule(context, 'ScenarioOutline');1429      endRule(context, 'Scenario_Definition');1430      startRule(context, 'Scenario_Definition');1431      startRule(context, 'ScenarioOutline');1432      build(context, token);1433      return 17;1434    }1435    if(match_Comment(context, token)) {1436      build(context, token);1437      return 20;1438    }1439    if(match_Empty(context, token)) {1440      build(context, token);1441      return 20;1442    }1443    1444    var stateComment = "State: 20 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:2>Step:0>#StepLine:0";1445    token.detach();1446    var expectedTokens = ["#EOF", "#TableRow", "#DocStringSeparator", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Comment", "#Empty"];1447    var error = token.isEof ?1448      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :1449      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);1450    if (self.stopAtFirstError) throw error;1451    addError(context, error);1452    return 20;1453  }1454  // GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:2>Step:1>Step_Arg:0>__alt1:0>DataTable:0>#TableRow:01455  function matchTokenAt_21(token, context) {1456    if(match_EOF(context, token)) {1457      endRule(context, 'DataTable');1458      endRule(context, 'Step');1459      endRule(context, 'ScenarioOutline');1460      endRule(context, 'Scenario_Definition');1461      endRule(context, 'Feature');1462      build(context, token);1463      return 27;1464    }1465    if(match_TableRow(context, token)) {1466      build(context, token);1467      return 21;1468    }1469    if(match_StepLine(context, token)) {1470      endRule(context, 'DataTable');1471      endRule(context, 'Step');1472      startRule(context, 'Step');1473      build(context, token);1474      return 20;1475    }1476    if(match_TagLine(context, token)) {1477      if(lookahead_0(context, token)) {1478      endRule(context, 'DataTable');1479      endRule(context, 'Step');1480      startRule(context, 'Examples_Definition');1481      startRule(context, 'Tags');1482      build(context, token);1483      return 22;1484      }1485    }1486    if(match_TagLine(context, token)) {1487      endRule(context, 'DataTable');1488      endRule(context, 'Step');1489      endRule(context, 'ScenarioOutline');1490      endRule(context, 'Scenario_Definition');1491      startRule(context, 'Scenario_Definition');1492      startRule(context, 'Tags');1493      build(context, token);1494      return 11;1495    }1496    if(match_ExamplesLine(context, token)) {1497      endRule(context, 'DataTable');1498      endRule(context, 'Step');1499      startRule(context, 'Examples_Definition');1500      startRule(context, 'Examples');1501      build(context, token);1502      return 23;1503    }1504    if(match_ScenarioLine(context, token)) {1505      endRule(context, 'DataTable');1506      endRule(context, 'Step');1507      endRule(context, 'ScenarioOutline');1508      endRule(context, 'Scenario_Definition');1509      startRule(context, 'Scenario_Definition');1510      startRule(context, 'Scenario');1511      build(context, token);1512      return 12;1513    }1514    if(match_ScenarioOutlineLine(context, token)) {1515      endRule(context, 'DataTable');1516      endRule(context, 'Step');1517      endRule(context, 'ScenarioOutline');1518      endRule(context, 'Scenario_Definition');1519      startRule(context, 'Scenario_Definition');1520      startRule(context, 'ScenarioOutline');1521      build(context, token);1522      return 17;1523    }1524    if(match_Comment(context, token)) {1525      build(context, token);1526      return 21;1527    }1528    if(match_Empty(context, token)) {1529      build(context, token);1530      return 21;1531    }1532    1533    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";1534    token.detach();1535    var expectedTokens = ["#EOF", "#TableRow", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Comment", "#Empty"];1536    var error = token.isEof ?1537      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :1538      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);1539    if (self.stopAtFirstError) throw error;1540    addError(context, error);1541    return 21;1542  }1543  // GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:3>Examples_Definition:0>Tags:0>#TagLine:01544  function matchTokenAt_22(token, context) {1545    if(match_TagLine(context, token)) {1546      build(context, token);1547      return 22;1548    }1549    if(match_ExamplesLine(context, token)) {1550      endRule(context, 'Tags');1551      startRule(context, 'Examples');1552      build(context, token);1553      return 23;1554    }1555    if(match_Comment(context, token)) {1556      build(context, token);1557      return 22;1558    }1559    if(match_Empty(context, token)) {1560      build(context, token);1561      return 22;1562    }1563    1564    var stateComment = "State: 22 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:3>Examples_Definition:0>Tags:0>#TagLine:0";1565    token.detach();1566    var expectedTokens = ["#TagLine", "#ExamplesLine", "#Comment", "#Empty"];1567    var error = token.isEof ?1568      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :1569      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);1570    if (self.stopAtFirstError) throw error;1571    addError(context, error);1572    return 22;1573  }1574  // GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:3>Examples_Definition:1>Examples:0>#ExamplesLine:01575  function matchTokenAt_23(token, context) {1576    if(match_EOF(context, token)) {1577      endRule(context, 'Examples');1578      endRule(context, 'Examples_Definition');1579      endRule(context, 'ScenarioOutline');1580      endRule(context, 'Scenario_Definition');1581      endRule(context, 'Feature');1582      build(context, token);1583      return 27;1584    }1585    if(match_Empty(context, token)) {1586      build(context, token);1587      return 23;1588    }1589    if(match_Comment(context, token)) {1590      build(context, token);1591      return 25;1592    }1593    if(match_TableRow(context, token)) {1594      startRule(context, 'Examples_Table');1595      build(context, token);1596      return 26;1597    }1598    if(match_TagLine(context, token)) {1599      if(lookahead_0(context, token)) {1600      endRule(context, 'Examples');1601      endRule(context, 'Examples_Definition');1602      startRule(context, 'Examples_Definition');1603      startRule(context, 'Tags');1604      build(context, token);1605      return 22;1606      }1607    }1608    if(match_TagLine(context, token)) {1609      endRule(context, 'Examples');1610      endRule(context, 'Examples_Definition');1611      endRule(context, 'ScenarioOutline');1612      endRule(context, 'Scenario_Definition');1613      startRule(context, 'Scenario_Definition');1614      startRule(context, 'Tags');1615      build(context, token);1616      return 11;1617    }1618    if(match_ExamplesLine(context, token)) {1619      endRule(context, 'Examples');1620      endRule(context, 'Examples_Definition');1621      startRule(context, 'Examples_Definition');1622      startRule(context, 'Examples');1623      build(context, token);1624      return 23;1625    }1626    if(match_ScenarioLine(context, token)) {1627      endRule(context, 'Examples');1628      endRule(context, 'Examples_Definition');1629      endRule(context, 'ScenarioOutline');1630      endRule(context, 'Scenario_Definition');1631      startRule(context, 'Scenario_Definition');1632      startRule(context, 'Scenario');1633      build(context, token);1634      return 12;1635    }1636    if(match_ScenarioOutlineLine(context, token)) {1637      endRule(context, 'Examples');1638      endRule(context, 'Examples_Definition');1639      endRule(context, 'ScenarioOutline');1640      endRule(context, 'Scenario_Definition');1641      startRule(context, 'Scenario_Definition');1642      startRule(context, 'ScenarioOutline');1643      build(context, token);1644      return 17;1645    }1646    if(match_Other(context, token)) {1647      startRule(context, 'Description');1648      build(context, token);1649      return 24;1650    }1651    1652    var stateComment = "State: 23 - GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:3>Examples_Definition:1>Examples:0>#ExamplesLine:0";1653    token.detach();1654    var expectedTokens = ["#EOF", "#Empty", "#Comment", "#TableRow", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Other"];1655    var error = token.isEof ?1656      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :1657      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);1658    if (self.stopAtFirstError) throw error;1659    addError(context, error);1660    return 23;1661  }1662  // GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:3>Examples_Definition:1>Examples:1>Description_Helper:1>Description:0>#Other:01663  function matchTokenAt_24(token, context) {1664    if(match_EOF(context, token)) {1665      endRule(context, 'Description');1666      endRule(context, 'Examples');1667      endRule(context, 'Examples_Definition');1668      endRule(context, 'ScenarioOutline');1669      endRule(context, 'Scenario_Definition');1670      endRule(context, 'Feature');1671      build(context, token);1672      return 27;1673    }1674    if(match_Comment(context, token)) {1675      endRule(context, 'Description');1676      build(context, token);1677      return 25;1678    }1679    if(match_TableRow(context, token)) {1680      endRule(context, 'Description');1681      startRule(context, 'Examples_Table');1682      build(context, token);1683      return 26;1684    }1685    if(match_TagLine(context, token)) {1686      if(lookahead_0(context, token)) {1687      endRule(context, 'Description');1688      endRule(context, 'Examples');1689      endRule(context, 'Examples_Definition');1690      startRule(context, 'Examples_Definition');1691      startRule(context, 'Tags');1692      build(context, token);1693      return 22;1694      }1695    }1696    if(match_TagLine(context, token)) {1697      endRule(context, 'Description');1698      endRule(context, 'Examples');1699      endRule(context, 'Examples_Definition');1700      endRule(context, 'ScenarioOutline');1701      endRule(context, 'Scenario_Definition');1702      startRule(context, 'Scenario_Definition');1703      startRule(context, 'Tags');1704      build(context, token);1705      return 11;1706    }1707    if(match_ExamplesLine(context, token)) {1708      endRule(context, 'Description');1709      endRule(context, 'Examples');1710      endRule(context, 'Examples_Definition');1711      startRule(context, 'Examples_Definition');1712      startRule(context, 'Examples');1713      build(context, token);1714      return 23;1715    }1716    if(match_ScenarioLine(context, token)) {1717      endRule(context, 'Description');1718      endRule(context, 'Examples');1719      endRule(context, 'Examples_Definition');1720      endRule(context, 'ScenarioOutline');1721      endRule(context, 'Scenario_Definition');1722      startRule(context, 'Scenario_Definition');1723      startRule(context, 'Scenario');1724      build(context, token);1725      return 12;1726    }1727    if(match_ScenarioOutlineLine(context, token)) {1728      endRule(context, 'Description');1729      endRule(context, 'Examples');1730      endRule(context, 'Examples_Definition');1731      endRule(context, 'ScenarioOutline');1732      endRule(context, 'Scenario_Definition');1733      startRule(context, 'Scenario_Definition');1734      startRule(context, 'ScenarioOutline');1735      build(context, token);1736      return 17;1737    }1738    if(match_Other(context, token)) {1739      build(context, token);1740      return 24;1741    }1742    1743    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";1744    token.detach();1745    var expectedTokens = ["#EOF", "#Comment", "#TableRow", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Other"];1746    var error = token.isEof ?1747      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :1748      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);1749    if (self.stopAtFirstError) throw error;1750    addError(context, error);1751    return 24;1752  }1753  // GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:3>Examples_Definition:1>Examples:1>Description_Helper:2>#Comment:01754  function matchTokenAt_25(token, context) {1755    if(match_EOF(context, token)) {1756      endRule(context, 'Examples');1757      endRule(context, 'Examples_Definition');1758      endRule(context, 'ScenarioOutline');1759      endRule(context, 'Scenario_Definition');1760      endRule(context, 'Feature');1761      build(context, token);1762      return 27;1763    }1764    if(match_Comment(context, token)) {1765      build(context, token);1766      return 25;1767    }1768    if(match_TableRow(context, token)) {1769      startRule(context, 'Examples_Table');1770      build(context, token);1771      return 26;1772    }1773    if(match_TagLine(context, token)) {1774      if(lookahead_0(context, token)) {1775      endRule(context, 'Examples');1776      endRule(context, 'Examples_Definition');1777      startRule(context, 'Examples_Definition');1778      startRule(context, 'Tags');1779      build(context, token);1780      return 22;1781      }1782    }1783    if(match_TagLine(context, token)) {1784      endRule(context, 'Examples');1785      endRule(context, 'Examples_Definition');1786      endRule(context, 'ScenarioOutline');1787      endRule(context, 'Scenario_Definition');1788      startRule(context, 'Scenario_Definition');1789      startRule(context, 'Tags');1790      build(context, token);1791      return 11;1792    }1793    if(match_ExamplesLine(context, token)) {1794      endRule(context, 'Examples');1795      endRule(context, 'Examples_Definition');1796      startRule(context, 'Examples_Definition');1797      startRule(context, 'Examples');1798      build(context, token);1799      return 23;1800    }1801    if(match_ScenarioLine(context, token)) {1802      endRule(context, 'Examples');1803      endRule(context, 'Examples_Definition');1804      endRule(context, 'ScenarioOutline');1805      endRule(context, 'Scenario_Definition');1806      startRule(context, 'Scenario_Definition');1807      startRule(context, 'Scenario');1808      build(context, token);1809      return 12;1810    }1811    if(match_ScenarioOutlineLine(context, token)) {1812      endRule(context, 'Examples');1813      endRule(context, 'Examples_Definition');1814      endRule(context, 'ScenarioOutline');1815      endRule(context, 'Scenario_Definition');1816      startRule(context, 'Scenario_Definition');1817      startRule(context, 'ScenarioOutline');1818      build(context, token);1819      return 17;1820    }1821    if(match_Empty(context, token)) {1822      build(context, token);1823      return 25;1824    }1825    1826    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";1827    token.detach();1828    var expectedTokens = ["#EOF", "#Comment", "#TableRow", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Empty"];1829    var error = token.isEof ?1830      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :1831      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);1832    if (self.stopAtFirstError) throw error;1833    addError(context, error);1834    return 25;1835  }1836  // GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:3>Examples_Definition:1>Examples:2>Examples_Table:0>#TableRow:01837  function matchTokenAt_26(token, context) {1838    if(match_EOF(context, token)) {1839      endRule(context, 'Examples_Table');1840      endRule(context, 'Examples');1841      endRule(context, 'Examples_Definition');1842      endRule(context, 'ScenarioOutline');1843      endRule(context, 'Scenario_Definition');1844      endRule(context, 'Feature');1845      build(context, token);1846      return 27;1847    }1848    if(match_TableRow(context, token)) {1849      build(context, token);1850      return 26;1851    }1852    if(match_TagLine(context, token)) {1853      if(lookahead_0(context, token)) {1854      endRule(context, 'Examples_Table');1855      endRule(context, 'Examples');1856      endRule(context, 'Examples_Definition');1857      startRule(context, 'Examples_Definition');1858      startRule(context, 'Tags');1859      build(context, token);1860      return 22;1861      }1862    }1863    if(match_TagLine(context, token)) {1864      endRule(context, 'Examples_Table');1865      endRule(context, 'Examples');1866      endRule(context, 'Examples_Definition');1867      endRule(context, 'ScenarioOutline');1868      endRule(context, 'Scenario_Definition');1869      startRule(context, 'Scenario_Definition');1870      startRule(context, 'Tags');1871      build(context, token);1872      return 11;1873    }1874    if(match_ExamplesLine(context, token)) {1875      endRule(context, 'Examples_Table');1876      endRule(context, 'Examples');1877      endRule(context, 'Examples_Definition');1878      startRule(context, 'Examples_Definition');1879      startRule(context, 'Examples');1880      build(context, token);1881      return 23;1882    }1883    if(match_ScenarioLine(context, token)) {1884      endRule(context, 'Examples_Table');1885      endRule(context, 'Examples');1886      endRule(context, 'Examples_Definition');1887      endRule(context, 'ScenarioOutline');1888      endRule(context, 'Scenario_Definition');1889      startRule(context, 'Scenario_Definition');1890      startRule(context, 'Scenario');1891      build(context, token);1892      return 12;1893    }1894    if(match_ScenarioOutlineLine(context, token)) {1895      endRule(context, 'Examples_Table');1896      endRule(context, 'Examples');1897      endRule(context, 'Examples_Definition');1898      endRule(context, 'ScenarioOutline');1899      endRule(context, 'Scenario_Definition');1900      startRule(context, 'Scenario_Definition');1901      startRule(context, 'ScenarioOutline');1902      build(context, token);1903      return 17;1904    }1905    if(match_Comment(context, token)) {1906      build(context, token);1907      return 26;1908    }1909    if(match_Empty(context, token)) {1910      build(context, token);1911      return 26;1912    }1913    1914    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";1915    token.detach();1916    var expectedTokens = ["#EOF", "#TableRow", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Comment", "#Empty"];1917    var error = token.isEof ?1918      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :1919      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);1920    if (self.stopAtFirstError) throw error;1921    addError(context, error);1922    return 26;1923  }1924  // GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:2>Step:1>Step_Arg:0>__alt1:1>DocString:0>#DocStringSeparator:01925  function matchTokenAt_28(token, context) {1926    if(match_DocStringSeparator(context, token)) {1927      build(context, token);1928      return 29;1929    }1930    if(match_Other(context, token)) {1931      build(context, token);1932      return 28;1933    }1934    1935    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";1936    token.detach();1937    var expectedTokens = ["#DocStringSeparator", "#Other"];1938    var error = token.isEof ?1939      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :1940      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);1941    if (self.stopAtFirstError) throw error;1942    addError(context, error);1943    return 28;1944  }1945  // GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:1>ScenarioOutline:2>Step:1>Step_Arg:0>__alt1:1>DocString:2>#DocStringSeparator:01946  function matchTokenAt_29(token, context) {1947    if(match_EOF(context, token)) {1948      endRule(context, 'DocString');1949      endRule(context, 'Step');1950      endRule(context, 'ScenarioOutline');1951      endRule(context, 'Scenario_Definition');1952      endRule(context, 'Feature');1953      build(context, token);1954      return 27;1955    }1956    if(match_StepLine(context, token)) {1957      endRule(context, 'DocString');1958      endRule(context, 'Step');1959      startRule(context, 'Step');1960      build(context, token);1961      return 20;1962    }1963    if(match_TagLine(context, token)) {1964      if(lookahead_0(context, token)) {1965      endRule(context, 'DocString');1966      endRule(context, 'Step');1967      startRule(context, 'Examples_Definition');1968      startRule(context, 'Tags');1969      build(context, token);1970      return 22;1971      }1972    }1973    if(match_TagLine(context, token)) {1974      endRule(context, 'DocString');1975      endRule(context, 'Step');1976      endRule(context, 'ScenarioOutline');1977      endRule(context, 'Scenario_Definition');1978      startRule(context, 'Scenario_Definition');1979      startRule(context, 'Tags');1980      build(context, token);1981      return 11;1982    }1983    if(match_ExamplesLine(context, token)) {1984      endRule(context, 'DocString');1985      endRule(context, 'Step');1986      startRule(context, 'Examples_Definition');1987      startRule(context, 'Examples');1988      build(context, token);1989      return 23;1990    }1991    if(match_ScenarioLine(context, token)) {1992      endRule(context, 'DocString');1993      endRule(context, 'Step');1994      endRule(context, 'ScenarioOutline');1995      endRule(context, 'Scenario_Definition');1996      startRule(context, 'Scenario_Definition');1997      startRule(context, 'Scenario');1998      build(context, token);1999      return 12;2000    }2001    if(match_ScenarioOutlineLine(context, token)) {2002      endRule(context, 'DocString');2003      endRule(context, 'Step');2004      endRule(context, 'ScenarioOutline');2005      endRule(context, 'Scenario_Definition');2006      startRule(context, 'Scenario_Definition');2007      startRule(context, 'ScenarioOutline');2008      build(context, token);2009      return 17;2010    }2011    if(match_Comment(context, token)) {2012      build(context, token);2013      return 29;2014    }2015    if(match_Empty(context, token)) {2016      build(context, token);2017      return 29;2018    }2019    2020    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";2021    token.detach();2022    var expectedTokens = ["#EOF", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Comment", "#Empty"];2023    var error = token.isEof ?2024      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :2025      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);2026    if (self.stopAtFirstError) throw error;2027    addError(context, error);2028    return 29;2029  }2030  // GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:0>Scenario:2>Step:1>Step_Arg:0>__alt1:1>DocString:0>#DocStringSeparator:02031  function matchTokenAt_30(token, context) {2032    if(match_DocStringSeparator(context, token)) {2033      build(context, token);2034      return 31;2035    }2036    if(match_Other(context, token)) {2037      build(context, token);2038      return 30;2039    }2040    2041    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";2042    token.detach();2043    var expectedTokens = ["#DocStringSeparator", "#Other"];2044    var error = token.isEof ?2045      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :2046      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);2047    if (self.stopAtFirstError) throw error;2048    addError(context, error);2049    return 30;2050  }2051  // GherkinDocument:0>Feature:2>Scenario_Definition:1>__alt0:0>Scenario:2>Step:1>Step_Arg:0>__alt1:1>DocString:2>#DocStringSeparator:02052  function matchTokenAt_31(token, context) {2053    if(match_EOF(context, token)) {2054      endRule(context, 'DocString');2055      endRule(context, 'Step');2056      endRule(context, 'Scenario');2057      endRule(context, 'Scenario_Definition');2058      endRule(context, 'Feature');2059      build(context, token);2060      return 27;2061    }2062    if(match_StepLine(context, token)) {2063      endRule(context, 'DocString');2064      endRule(context, 'Step');2065      startRule(context, 'Step');2066      build(context, token);2067      return 15;2068    }2069    if(match_TagLine(context, token)) {2070      endRule(context, 'DocString');2071      endRule(context, 'Step');2072      endRule(context, 'Scenario');2073      endRule(context, 'Scenario_Definition');2074      startRule(context, 'Scenario_Definition');2075      startRule(context, 'Tags');2076      build(context, token);2077      return 11;2078    }2079    if(match_ScenarioLine(context, token)) {2080      endRule(context, 'DocString');2081      endRule(context, 'Step');2082      endRule(context, 'Scenario');2083      endRule(context, 'Scenario_Definition');2084      startRule(context, 'Scenario_Definition');2085      startRule(context, 'Scenario');2086      build(context, token);2087      return 12;2088    }2089    if(match_ScenarioOutlineLine(context, token)) {2090      endRule(context, 'DocString');2091      endRule(context, 'Step');2092      endRule(context, 'Scenario');2093      endRule(context, 'Scenario_Definition');2094      startRule(context, 'Scenario_Definition');2095      startRule(context, 'ScenarioOutline');2096      build(context, token);2097      return 17;2098    }2099    if(match_Comment(context, token)) {2100      build(context, token);2101      return 31;2102    }2103    if(match_Empty(context, token)) {2104      build(context, token);2105      return 31;2106    }2107    2108    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";2109    token.detach();2110    var expectedTokens = ["#EOF", "#StepLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Comment", "#Empty"];2111    var error = token.isEof ?2112      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :2113      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);2114    if (self.stopAtFirstError) throw error;2115    addError(context, error);2116    return 31;2117  }2118  // GherkinDocument:0>Feature:1>Background:2>Step:1>Step_Arg:0>__alt1:1>DocString:0>#DocStringSeparator:02119  function matchTokenAt_32(token, context) {2120    if(match_DocStringSeparator(context, token)) {2121      build(context, token);2122      return 33;2123    }2124    if(match_Other(context, token)) {2125      build(context, token);2126      return 32;2127    }2128    2129    var stateComment = "State: 32 - GherkinDocument:0>Feature:1>Background:2>Step:1>Step_Arg:0>__alt1:1>DocString:0>#DocStringSeparator:0";2130    token.detach();2131    var expectedTokens = ["#DocStringSeparator", "#Other"];2132    var error = token.isEof ?2133      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :2134      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);2135    if (self.stopAtFirstError) throw error;2136    addError(context, error);2137    return 32;2138  }2139  // GherkinDocument:0>Feature:1>Background:2>Step:1>Step_Arg:0>__alt1:1>DocString:2>#DocStringSeparator:02140  function matchTokenAt_33(token, context) {2141    if(match_EOF(context, token)) {2142      endRule(context, 'DocString');2143      endRule(context, 'Step');2144      endRule(context, 'Background');2145      endRule(context, 'Feature');2146      build(context, token);2147      return 27;2148    }2149    if(match_StepLine(context, token)) {2150      endRule(context, 'DocString');2151      endRule(context, 'Step');2152      startRule(context, 'Step');2153      build(context, token);2154      return 9;2155    }2156    if(match_TagLine(context, token)) {2157      endRule(context, 'DocString');2158      endRule(context, 'Step');2159      endRule(context, 'Background');2160      startRule(context, 'Scenario_Definition');2161      startRule(context, 'Tags');2162      build(context, token);2163      return 11;2164    }2165    if(match_ScenarioLine(context, token)) {2166      endRule(context, 'DocString');2167      endRule(context, 'Step');2168      endRule(context, 'Background');2169      startRule(context, 'Scenario_Definition');2170      startRule(context, 'Scenario');2171      build(context, token);2172      return 12;2173    }2174    if(match_ScenarioOutlineLine(context, token)) {2175      endRule(context, 'DocString');2176      endRule(context, 'Step');2177      endRule(context, 'Background');2178      startRule(context, 'Scenario_Definition');2179      startRule(context, 'ScenarioOutline');2180      build(context, token);2181      return 17;2182    }2183    if(match_Comment(context, token)) {2184      build(context, token);2185      return 33;2186    }2187    if(match_Empty(context, token)) {2188      build(context, token);2189      return 33;2190    }2191    2192    var stateComment = "State: 33 - GherkinDocument:0>Feature:1>Background:2>Step:1>Step_Arg:0>__alt1:1>DocString:2>#DocStringSeparator:0";2193    token.detach();2194    var expectedTokens = ["#EOF", "#StepLine", "#TagLine", "#ScenarioLine", "#ScenarioOutlineLine", "#Comment", "#Empty"];2195    var error = token.isEof ?2196      Errors.UnexpectedEOFException.create(token, expectedTokens, stateComment) :2197      Errors.UnexpectedTokenException.create(token, expectedTokens, stateComment);2198    if (self.stopAtFirstError) throw error;2199    addError(context, error);2200    return 33;2201  }2202  function match_EOF(context, token) {2203    return handleExternalError(context, false, function () {2204      return context.tokenMatcher.match_EOF(token);2205    });2206  }2207  function match_Empty(context, token) {2208    if(token.isEof) return false;2209    return handleExternalError(context, false, function () {2210      return context.tokenMatcher.match_Empty(token);2211    });2212  }2213  function match_Comment(context, token) {2214    if(token.isEof) return false;2215    return handleExternalError(context, false, function () {2216      return context.tokenMatcher.match_Comment(token);2217    });2218  }2219  function match_TagLine(context, token) {2220    if(token.isEof) return false;2221    return handleExternalError(context, false, function () {2222      return context.tokenMatcher.match_TagLine(token);2223    });2224  }2225  function match_FeatureLine(context, token) {2226    if(token.isEof) return false;2227    return handleExternalError(context, false, function () {2228      return context.tokenMatcher.match_FeatureLine(token);2229    });2230  }2231  function match_BackgroundLine(context, token) {2232    if(token.isEof) return false;2233    return handleExternalError(context, false, function () {2234      return context.tokenMatcher.match_BackgroundLine(token);2235    });2236  }2237  function match_ScenarioLine(context, token) {2238    if(token.isEof) return false;2239    return handleExternalError(context, false, function () {2240      return context.tokenMatcher.match_ScenarioLine(token);2241    });2242  }2243  function match_ScenarioOutlineLine(context, token) {2244    if(token.isEof) return false;2245    return handleExternalError(context, false, function () {2246      return context.tokenMatcher.match_ScenarioOutlineLine(token);2247    });2248  }2249  function match_ExamplesLine(context, token) {2250    if(token.isEof) return false;2251    return handleExternalError(context, false, function () {2252      return context.tokenMatcher.match_ExamplesLine(token);2253    });2254  }2255  function match_StepLine(context, token) {2256    if(token.isEof) return false;2257    return handleExternalError(context, false, function () {2258      return context.tokenMatcher.match_StepLine(token);2259    });2260  }2261  function match_DocStringSeparator(context, token) {2262    if(token.isEof) return false;2263    return handleExternalError(context, false, function () {2264      return context.tokenMatcher.match_DocStringSeparator(token);2265    });2266  }2267  function match_TableRow(context, token) {2268    if(token.isEof) return false;2269    return handleExternalError(context, false, function () {2270      return context.tokenMatcher.match_TableRow(token);2271    });2272  }2273  function match_Language(context, token) {2274    if(token.isEof) return false;2275    return handleExternalError(context, false, function () {2276      return context.tokenMatcher.match_Language(token);2277    });2278  }2279  function match_Other(context, token) {2280    if(token.isEof) return false;2281    return handleExternalError(context, false, function () {2282      return context.tokenMatcher.match_Other(token);2283    });2284  }2285  function lookahead_0(context, currentToken) {2286    currentToken.detach();2287    var token;2288    var queue = [];2289    var match = false;2290    do {2291      token = readToken(context);2292      token.detach();2293      queue.push(token);2294      if (false  || match_ExamplesLine(context, token)) {2295        match = true;2296        break;2297      }2298    } while(false  || match_Empty(context, token) || match_Comment(context, token) || match_TagLine(context, token));2299    context.tokenQueue = context.tokenQueue.concat(queue);2300    return match;2301  }...token_matcher.py
Source:token_matcher.py  
...58        dialect_name = match.group(1)59        self._set_token_matched(token, 'Language', dialect_name)60        self._change_dialect(dialect_name, token.location)61        return True62    def match_TagLine(self, token):63        if not token.line.startswith('@'):64            return False65        self._set_token_matched(token, 'TagLine', items=token.line.tags)66        return True67    def match_DocStringSeparator(self, token):68        if not self._active_doc_string_separator:69            # open70            return (self._match_DocStringSeparator(token, '"""', True) or71                    self._match_DocStringSeparator(token, '```', True))72        else:73            # close74            return self._match_DocStringSeparator(token, self._active_doc_string_separator, False)75    def _match_DocStringSeparator(self, token, separator, is_open):76        if not token.line.startswith(separator):...Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!
