How to use match_Empty method of Parser class

Best Gherkin-php code snippet using Parser.match_Empty

Parser.php

Source:Parser.php Github

copy

Full Screen

...28            fn () => $context->tokenMatcher->match_EOF($token),29            false,30        );31    }32    private function match_Empty(ParserContext $context, Token $token): bool33    {34        if ($token->isEOF()) {35            return false;36        }37        return $this->handleExternalError(38            $context,39            fn () => $context->tokenMatcher->match_Empty($token),40            false,41        );42    }43    private function match_Comment(ParserContext $context, Token $token): bool44    {45        if ($token->isEOF()) {46            return false;47        }48        return $this->handleExternalError(49            $context,50            fn () => $context->tokenMatcher->match_Comment($token),51            false,52        );53    }54    private function match_TagLine(ParserContext $context, Token $token): bool55    {56        if ($token->isEOF()) {57            return false;58        }59        return $this->handleExternalError(60            $context,61            fn () => $context->tokenMatcher->match_TagLine($token),62            false,63        );64    }65    private function match_FeatureLine(ParserContext $context, Token $token): bool66    {67        if ($token->isEOF()) {68            return false;69        }70        return $this->handleExternalError(71            $context,72            fn () => $context->tokenMatcher->match_FeatureLine($token),73            false,74        );75    }76    private function match_RuleLine(ParserContext $context, Token $token): bool77    {78        if ($token->isEOF()) {79            return false;80        }81        return $this->handleExternalError(82            $context,83            fn () => $context->tokenMatcher->match_RuleLine($token),84            false,85        );86    }87    private function match_BackgroundLine(ParserContext $context, Token $token): bool88    {89        if ($token->isEOF()) {90            return false;91        }92        return $this->handleExternalError(93            $context,94            fn () => $context->tokenMatcher->match_BackgroundLine($token),95            false,96        );97    }98    private function match_ScenarioLine(ParserContext $context, Token $token): bool99    {100        if ($token->isEOF()) {101            return false;102        }103        return $this->handleExternalError(104            $context,105            fn () => $context->tokenMatcher->match_ScenarioLine($token),106            false,107        );108    }109    private function match_ExamplesLine(ParserContext $context, Token $token): bool110    {111        if ($token->isEOF()) {112            return false;113        }114        return $this->handleExternalError(115            $context,116            fn () => $context->tokenMatcher->match_ExamplesLine($token),117            false,118        );119    }120    private function match_StepLine(ParserContext $context, Token $token): bool121    {122        if ($token->isEOF()) {123            return false;124        }125        return $this->handleExternalError(126            $context,127            fn () => $context->tokenMatcher->match_StepLine($token),128            false,129        );130    }131    private function match_DocStringSeparator(ParserContext $context, Token $token): bool132    {133        if ($token->isEOF()) {134            return false;135        }136        return $this->handleExternalError(137            $context,138            fn () => $context->tokenMatcher->match_DocStringSeparator($token),139            false,140        );141    }142    private function match_TableRow(ParserContext $context, Token $token): bool143    {144        if ($token->isEOF()) {145            return false;146        }147        return $this->handleExternalError(148            $context,149            fn () => $context->tokenMatcher->match_TableRow($token),150            false,151        );152    }153    private function match_Language(ParserContext $context, Token $token): bool154    {155        if ($token->isEOF()) {156            return false;157        }158        return $this->handleExternalError(159            $context,160            fn () => $context->tokenMatcher->match_Language($token),161            false,162        );163    }164    private function match_Other(ParserContext $context, Token $token): bool165    {166        if ($token->isEOF()) {167            return false;168        }169        return $this->handleExternalError(170            $context,171            fn () => $context->tokenMatcher->match_Other($token),172            false,173        );174    }175    private function matchToken(int $state, Token $token, ParserContext $context): int176    {177        return match ($state) {178            0 => $this->matchTokenAt_0($token, $context),179            1 => $this->matchTokenAt_1($token, $context),180            2 => $this->matchTokenAt_2($token, $context),181            3 => $this->matchTokenAt_3($token, $context),182            4 => $this->matchTokenAt_4($token, $context),183            5 => $this->matchTokenAt_5($token, $context),184            6 => $this->matchTokenAt_6($token, $context),185            7 => $this->matchTokenAt_7($token, $context),186            8 => $this->matchTokenAt_8($token, $context),187            9 => $this->matchTokenAt_9($token, $context),188            10 => $this->matchTokenAt_10($token, $context),189            11 => $this->matchTokenAt_11($token, $context),190            12 => $this->matchTokenAt_12($token, $context),191            13 => $this->matchTokenAt_13($token, $context),192            14 => $this->matchTokenAt_14($token, $context),193            15 => $this->matchTokenAt_15($token, $context),194            16 => $this->matchTokenAt_16($token, $context),195            17 => $this->matchTokenAt_17($token, $context),196            18 => $this->matchTokenAt_18($token, $context),197            19 => $this->matchTokenAt_19($token, $context),198            20 => $this->matchTokenAt_20($token, $context),199            21 => $this->matchTokenAt_21($token, $context),200            22 => $this->matchTokenAt_22($token, $context),201            23 => $this->matchTokenAt_23($token, $context),202            24 => $this->matchTokenAt_24($token, $context),203            25 => $this->matchTokenAt_25($token, $context),204            26 => $this->matchTokenAt_26($token, $context),205            27 => $this->matchTokenAt_27($token, $context),206            28 => $this->matchTokenAt_28($token, $context),207            29 => $this->matchTokenAt_29($token, $context),208            30 => $this->matchTokenAt_30($token, $context),209            31 => $this->matchTokenAt_31($token, $context),210            32 => $this->matchTokenAt_32($token, $context),211            33 => $this->matchTokenAt_33($token, $context),212            34 => $this->matchTokenAt_34($token, $context),213            35 => $this->matchTokenAt_35($token, $context),214            36 => $this->matchTokenAt_36($token, $context),215            37 => $this->matchTokenAt_37($token, $context),216            38 => $this->matchTokenAt_38($token, $context),217            39 => $this->matchTokenAt_39($token, $context),218            40 => $this->matchTokenAt_40($token, $context),219            41 => $this->matchTokenAt_41($token, $context),220            43 => $this->matchTokenAt_43($token, $context),221            44 => $this->matchTokenAt_44($token, $context),222            45 => $this->matchTokenAt_45($token, $context),223            46 => $this->matchTokenAt_46($token, $context),224            47 => $this->matchTokenAt_47($token, $context),225            48 => $this->matchTokenAt_48($token, $context),226            49 => $this->matchTokenAt_49($token, $context),227            50 => $this->matchTokenAt_50($token, $context),228            default => throw new \LogicException("Unknown state: $state"),229        };230    }231    // Start232    private function matchTokenAt_0(Token $token, ParserContext $context): int233    {234        if ($this->match_EOF($context, $token)) {235            $this->build($context, $token);236            return 42;237        }238        if ($this->match_Language($context, $token)) {239            $this->startRule($context, RuleType::Feature);240            $this->startRule($context, RuleType::FeatureHeader);241            $this->build($context, $token);242            return 1;243        }244        if ($this->match_TagLine($context, $token)) {245            $this->startRule($context, RuleType::Feature);246            $this->startRule($context, RuleType::FeatureHeader);247            $this->startRule($context, RuleType::Tags);248            $this->build($context, $token);249            return 2;250        }251        if ($this->match_FeatureLine($context, $token)) {252            $this->startRule($context, RuleType::Feature);253            $this->startRule($context, RuleType::FeatureHeader);254            $this->build($context, $token);255            return 3;256        }257        if ($this->match_Comment($context, $token)) {258            $this->build($context, $token);259            return 0;260        }261        if ($this->match_Empty($context, $token)) {262            $this->build($context, $token);263            return 0;264        }265        $stateComment = "State: 0 - Start";266        $expectedTokens = ["#EOF", "#Language", "#TagLine", "#FeatureLine", "#Comment", "#Empty"];267        $error = $token->isEOF()268                ? new UnexpectedEofException($token, $expectedTokens, $stateComment)269                : new UnexpectedTokenException($token, $expectedTokens, $stateComment);270        $this->addError($context, $error);271        return 0;272    }273    // GherkinDocument:0>Feature:0>FeatureHeader:0>#Language:0274    private function matchTokenAt_1(Token $token, ParserContext $context): int275    {276        if ($this->match_TagLine($context, $token)) {277            $this->startRule($context, RuleType::Tags);278            $this->build($context, $token);279            return 2;280        }281        if ($this->match_FeatureLine($context, $token)) {282            $this->build($context, $token);283            return 3;284        }285        if ($this->match_Comment($context, $token)) {286            $this->build($context, $token);287            return 1;288        }289        if ($this->match_Empty($context, $token)) {290            $this->build($context, $token);291            return 1;292        }293        $stateComment = "State: 1 - GherkinDocument:0>Feature:0>FeatureHeader:0>#Language:0";294        $expectedTokens = ["#TagLine", "#FeatureLine", "#Comment", "#Empty"];295        $error = $token->isEOF()296                ? new UnexpectedEofException($token, $expectedTokens, $stateComment)297                : new UnexpectedTokenException($token, $expectedTokens, $stateComment);298        $this->addError($context, $error);299        return 1;300    }301    // GherkinDocument:0>Feature:0>FeatureHeader:1>Tags:0>#TagLine:0302    private function matchTokenAt_2(Token $token, ParserContext $context): int303    {304        if ($this->match_TagLine($context, $token)) {305            $this->build($context, $token);306            return 2;307        }308        if ($this->match_FeatureLine($context, $token)) {309            $this->endRule($context, RuleType::Tags);310            $this->build($context, $token);311            return 3;312        }313        if ($this->match_Comment($context, $token)) {314            $this->build($context, $token);315            return 2;316        }317        if ($this->match_Empty($context, $token)) {318            $this->build($context, $token);319            return 2;320        }321        $stateComment = "State: 2 - GherkinDocument:0>Feature:0>FeatureHeader:1>Tags:0>#TagLine:0";322        $expectedTokens = ["#TagLine", "#FeatureLine", "#Comment", "#Empty"];323        $error = $token->isEOF()324                ? new UnexpectedEofException($token, $expectedTokens, $stateComment)325                : new UnexpectedTokenException($token, $expectedTokens, $stateComment);326        $this->addError($context, $error);327        return 2;328    }329    // GherkinDocument:0>Feature:0>FeatureHeader:2>#FeatureLine:0330    private function matchTokenAt_3(Token $token, ParserContext $context): int331    {332        if ($this->match_EOF($context, $token)) {333            $this->endRule($context, RuleType::FeatureHeader);334            $this->endRule($context, RuleType::Feature);335            $this->build($context, $token);336            return 42;337        }338        if ($this->match_Empty($context, $token)) {339            $this->build($context, $token);340            return 3;341        }342        if ($this->match_Comment($context, $token)) {343            $this->build($context, $token);344            return 5;345        }346        if ($this->match_BackgroundLine($context, $token)) {347            $this->endRule($context, RuleType::FeatureHeader);348            $this->startRule($context, RuleType::Background);349            $this->build($context, $token);350            return 6;351        }352        if ($this->match_TagLine($context, $token)) {353            if ($this->lookahead_0($context)) {354                $this->endRule($context, RuleType::FeatureHeader);355                $this->startRule($context, RuleType::ScenarioDefinition);356                $this->startRule($context, RuleType::Tags);357                $this->build($context, $token);358                return 11;359            }360        }361        if ($this->match_TagLine($context, $token)) {362            $this->endRule($context, RuleType::FeatureHeader);363            $this->startRule($context, RuleType::Rule);364            $this->startRule($context, RuleType::RuleHeader);365            $this->startRule($context, RuleType::Tags);366            $this->build($context, $token);367            return 22;368        }369        if ($this->match_ScenarioLine($context, $token)) {370            $this->endRule($context, RuleType::FeatureHeader);371            $this->startRule($context, RuleType::ScenarioDefinition);372            $this->startRule($context, RuleType::Scenario);373            $this->build($context, $token);374            return 12;375        }376        if ($this->match_RuleLine($context, $token)) {377            $this->endRule($context, RuleType::FeatureHeader);378            $this->startRule($context, RuleType::Rule);379            $this->startRule($context, RuleType::RuleHeader);380            $this->build($context, $token);381            return 23;382        }383        if ($this->match_Other($context, $token)) {384            $this->startRule($context, RuleType::Description);385            $this->build($context, $token);386            return 4;387        }388        $stateComment = "State: 3 - GherkinDocument:0>Feature:0>FeatureHeader:2>#FeatureLine:0";389        $expectedTokens = ["#EOF", "#Empty", "#Comment", "#BackgroundLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Other"];390        $error = $token->isEOF()391                ? new UnexpectedEofException($token, $expectedTokens, $stateComment)392                : new UnexpectedTokenException($token, $expectedTokens, $stateComment);393        $this->addError($context, $error);394        return 3;395    }396    // GherkinDocument:0>Feature:0>FeatureHeader:3>DescriptionHelper:1>Description:0>#Other:0397    private function matchTokenAt_4(Token $token, ParserContext $context): int398    {399        if ($this->match_EOF($context, $token)) {400            $this->endRule($context, RuleType::Description);401            $this->endRule($context, RuleType::FeatureHeader);402            $this->endRule($context, RuleType::Feature);403            $this->build($context, $token);404            return 42;405        }406        if ($this->match_Comment($context, $token)) {407            $this->endRule($context, RuleType::Description);408            $this->build($context, $token);409            return 5;410        }411        if ($this->match_BackgroundLine($context, $token)) {412            $this->endRule($context, RuleType::Description);413            $this->endRule($context, RuleType::FeatureHeader);414            $this->startRule($context, RuleType::Background);415            $this->build($context, $token);416            return 6;417        }418        if ($this->match_TagLine($context, $token)) {419            if ($this->lookahead_0($context)) {420                $this->endRule($context, RuleType::Description);421                $this->endRule($context, RuleType::FeatureHeader);422                $this->startRule($context, RuleType::ScenarioDefinition);423                $this->startRule($context, RuleType::Tags);424                $this->build($context, $token);425                return 11;426            }427        }428        if ($this->match_TagLine($context, $token)) {429            $this->endRule($context, RuleType::Description);430            $this->endRule($context, RuleType::FeatureHeader);431            $this->startRule($context, RuleType::Rule);432            $this->startRule($context, RuleType::RuleHeader);433            $this->startRule($context, RuleType::Tags);434            $this->build($context, $token);435            return 22;436        }437        if ($this->match_ScenarioLine($context, $token)) {438            $this->endRule($context, RuleType::Description);439            $this->endRule($context, RuleType::FeatureHeader);440            $this->startRule($context, RuleType::ScenarioDefinition);441            $this->startRule($context, RuleType::Scenario);442            $this->build($context, $token);443            return 12;444        }445        if ($this->match_RuleLine($context, $token)) {446            $this->endRule($context, RuleType::Description);447            $this->endRule($context, RuleType::FeatureHeader);448            $this->startRule($context, RuleType::Rule);449            $this->startRule($context, RuleType::RuleHeader);450            $this->build($context, $token);451            return 23;452        }453        if ($this->match_Other($context, $token)) {454            $this->build($context, $token);455            return 4;456        }457        $stateComment = "State: 4 - GherkinDocument:0>Feature:0>FeatureHeader:3>DescriptionHelper:1>Description:0>#Other:0";458        $expectedTokens = ["#EOF", "#Comment", "#BackgroundLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Other"];459        $error = $token->isEOF()460                ? new UnexpectedEofException($token, $expectedTokens, $stateComment)461                : new UnexpectedTokenException($token, $expectedTokens, $stateComment);462        $this->addError($context, $error);463        return 4;464    }465    // GherkinDocument:0>Feature:0>FeatureHeader:3>DescriptionHelper:2>#Comment:0466    private function matchTokenAt_5(Token $token, ParserContext $context): int467    {468        if ($this->match_EOF($context, $token)) {469            $this->endRule($context, RuleType::FeatureHeader);470            $this->endRule($context, RuleType::Feature);471            $this->build($context, $token);472            return 42;473        }474        if ($this->match_Comment($context, $token)) {475            $this->build($context, $token);476            return 5;477        }478        if ($this->match_BackgroundLine($context, $token)) {479            $this->endRule($context, RuleType::FeatureHeader);480            $this->startRule($context, RuleType::Background);481            $this->build($context, $token);482            return 6;483        }484        if ($this->match_TagLine($context, $token)) {485            if ($this->lookahead_0($context)) {486                $this->endRule($context, RuleType::FeatureHeader);487                $this->startRule($context, RuleType::ScenarioDefinition);488                $this->startRule($context, RuleType::Tags);489                $this->build($context, $token);490                return 11;491            }492        }493        if ($this->match_TagLine($context, $token)) {494            $this->endRule($context, RuleType::FeatureHeader);495            $this->startRule($context, RuleType::Rule);496            $this->startRule($context, RuleType::RuleHeader);497            $this->startRule($context, RuleType::Tags);498            $this->build($context, $token);499            return 22;500        }501        if ($this->match_ScenarioLine($context, $token)) {502            $this->endRule($context, RuleType::FeatureHeader);503            $this->startRule($context, RuleType::ScenarioDefinition);504            $this->startRule($context, RuleType::Scenario);505            $this->build($context, $token);506            return 12;507        }508        if ($this->match_RuleLine($context, $token)) {509            $this->endRule($context, RuleType::FeatureHeader);510            $this->startRule($context, RuleType::Rule);511            $this->startRule($context, RuleType::RuleHeader);512            $this->build($context, $token);513            return 23;514        }515        if ($this->match_Empty($context, $token)) {516            $this->build($context, $token);517            return 5;518        }519        $stateComment = "State: 5 - GherkinDocument:0>Feature:0>FeatureHeader:3>DescriptionHelper:2>#Comment:0";520        $expectedTokens = ["#EOF", "#Comment", "#BackgroundLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Empty"];521        $error = $token->isEOF()522                ? new UnexpectedEofException($token, $expectedTokens, $stateComment)523                : new UnexpectedTokenException($token, $expectedTokens, $stateComment);524        $this->addError($context, $error);525        return 5;526    }527    // GherkinDocument:0>Feature:1>Background:0>#BackgroundLine:0528    private function matchTokenAt_6(Token $token, ParserContext $context): int529    {530        if ($this->match_EOF($context, $token)) {531            $this->endRule($context, RuleType::Background);532            $this->endRule($context, RuleType::Feature);533            $this->build($context, $token);534            return 42;535        }536        if ($this->match_Empty($context, $token)) {537            $this->build($context, $token);538            return 6;539        }540        if ($this->match_Comment($context, $token)) {541            $this->build($context, $token);542            return 8;543        }544        if ($this->match_StepLine($context, $token)) {545            $this->startRule($context, RuleType::Step);546            $this->build($context, $token);547            return 9;548        }549        if ($this->match_TagLine($context, $token)) {550            if ($this->lookahead_0($context)) {551                $this->endRule($context, RuleType::Background);552                $this->startRule($context, RuleType::ScenarioDefinition);553                $this->startRule($context, RuleType::Tags);554                $this->build($context, $token);555                return 11;556            }557        }558        if ($this->match_TagLine($context, $token)) {559            $this->endRule($context, RuleType::Background);560            $this->startRule($context, RuleType::Rule);561            $this->startRule($context, RuleType::RuleHeader);562            $this->startRule($context, RuleType::Tags);563            $this->build($context, $token);564            return 22;565        }566        if ($this->match_ScenarioLine($context, $token)) {567            $this->endRule($context, RuleType::Background);568            $this->startRule($context, RuleType::ScenarioDefinition);569            $this->startRule($context, RuleType::Scenario);570            $this->build($context, $token);571            return 12;572        }573        if ($this->match_RuleLine($context, $token)) {574            $this->endRule($context, RuleType::Background);575            $this->startRule($context, RuleType::Rule);576            $this->startRule($context, RuleType::RuleHeader);577            $this->build($context, $token);578            return 23;579        }580        if ($this->match_Other($context, $token)) {581            $this->startRule($context, RuleType::Description);582            $this->build($context, $token);583            return 7;584        }585        $stateComment = "State: 6 - GherkinDocument:0>Feature:1>Background:0>#BackgroundLine:0";586        $expectedTokens = ["#EOF", "#Empty", "#Comment", "#StepLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Other"];587        $error = $token->isEOF()588                ? new UnexpectedEofException($token, $expectedTokens, $stateComment)589                : new UnexpectedTokenException($token, $expectedTokens, $stateComment);590        $this->addError($context, $error);591        return 6;592    }593    // GherkinDocument:0>Feature:1>Background:1>DescriptionHelper:1>Description:0>#Other:0594    private function matchTokenAt_7(Token $token, ParserContext $context): int595    {596        if ($this->match_EOF($context, $token)) {597            $this->endRule($context, RuleType::Description);598            $this->endRule($context, RuleType::Background);599            $this->endRule($context, RuleType::Feature);600            $this->build($context, $token);601            return 42;602        }603        if ($this->match_Comment($context, $token)) {604            $this->endRule($context, RuleType::Description);605            $this->build($context, $token);606            return 8;607        }608        if ($this->match_StepLine($context, $token)) {609            $this->endRule($context, RuleType::Description);610            $this->startRule($context, RuleType::Step);611            $this->build($context, $token);612            return 9;613        }614        if ($this->match_TagLine($context, $token)) {615            if ($this->lookahead_0($context)) {616                $this->endRule($context, RuleType::Description);617                $this->endRule($context, RuleType::Background);618                $this->startRule($context, RuleType::ScenarioDefinition);619                $this->startRule($context, RuleType::Tags);620                $this->build($context, $token);621                return 11;622            }623        }624        if ($this->match_TagLine($context, $token)) {625            $this->endRule($context, RuleType::Description);626            $this->endRule($context, RuleType::Background);627            $this->startRule($context, RuleType::Rule);628            $this->startRule($context, RuleType::RuleHeader);629            $this->startRule($context, RuleType::Tags);630            $this->build($context, $token);631            return 22;632        }633        if ($this->match_ScenarioLine($context, $token)) {634            $this->endRule($context, RuleType::Description);635            $this->endRule($context, RuleType::Background);636            $this->startRule($context, RuleType::ScenarioDefinition);637            $this->startRule($context, RuleType::Scenario);638            $this->build($context, $token);639            return 12;640        }641        if ($this->match_RuleLine($context, $token)) {642            $this->endRule($context, RuleType::Description);643            $this->endRule($context, RuleType::Background);644            $this->startRule($context, RuleType::Rule);645            $this->startRule($context, RuleType::RuleHeader);646            $this->build($context, $token);647            return 23;648        }649        if ($this->match_Other($context, $token)) {650            $this->build($context, $token);651            return 7;652        }653        $stateComment = "State: 7 - GherkinDocument:0>Feature:1>Background:1>DescriptionHelper:1>Description:0>#Other:0";654        $expectedTokens = ["#EOF", "#Comment", "#StepLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Other"];655        $error = $token->isEOF()656                ? new UnexpectedEofException($token, $expectedTokens, $stateComment)657                : new UnexpectedTokenException($token, $expectedTokens, $stateComment);658        $this->addError($context, $error);659        return 7;660    }661    // GherkinDocument:0>Feature:1>Background:1>DescriptionHelper:2>#Comment:0662    private function matchTokenAt_8(Token $token, ParserContext $context): int663    {664        if ($this->match_EOF($context, $token)) {665            $this->endRule($context, RuleType::Background);666            $this->endRule($context, RuleType::Feature);667            $this->build($context, $token);668            return 42;669        }670        if ($this->match_Comment($context, $token)) {671            $this->build($context, $token);672            return 8;673        }674        if ($this->match_StepLine($context, $token)) {675            $this->startRule($context, RuleType::Step);676            $this->build($context, $token);677            return 9;678        }679        if ($this->match_TagLine($context, $token)) {680            if ($this->lookahead_0($context)) {681                $this->endRule($context, RuleType::Background);682                $this->startRule($context, RuleType::ScenarioDefinition);683                $this->startRule($context, RuleType::Tags);684                $this->build($context, $token);685                return 11;686            }687        }688        if ($this->match_TagLine($context, $token)) {689            $this->endRule($context, RuleType::Background);690            $this->startRule($context, RuleType::Rule);691            $this->startRule($context, RuleType::RuleHeader);692            $this->startRule($context, RuleType::Tags);693            $this->build($context, $token);694            return 22;695        }696        if ($this->match_ScenarioLine($context, $token)) {697            $this->endRule($context, RuleType::Background);698            $this->startRule($context, RuleType::ScenarioDefinition);699            $this->startRule($context, RuleType::Scenario);700            $this->build($context, $token);701            return 12;702        }703        if ($this->match_RuleLine($context, $token)) {704            $this->endRule($context, RuleType::Background);705            $this->startRule($context, RuleType::Rule);706            $this->startRule($context, RuleType::RuleHeader);707            $this->build($context, $token);708            return 23;709        }710        if ($this->match_Empty($context, $token)) {711            $this->build($context, $token);712            return 8;713        }714        $stateComment = "State: 8 - GherkinDocument:0>Feature:1>Background:1>DescriptionHelper:2>#Comment:0";715        $expectedTokens = ["#EOF", "#Comment", "#StepLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Empty"];716        $error = $token->isEOF()717                ? new UnexpectedEofException($token, $expectedTokens, $stateComment)718                : new UnexpectedTokenException($token, $expectedTokens, $stateComment);719        $this->addError($context, $error);720        return 8;721    }722    // GherkinDocument:0>Feature:1>Background:2>Step:0>#StepLine:0723    private function matchTokenAt_9(Token $token, ParserContext $context): int724    {725        if ($this->match_EOF($context, $token)) {726            $this->endRule($context, RuleType::Step);727            $this->endRule($context, RuleType::Background);728            $this->endRule($context, RuleType::Feature);729            $this->build($context, $token);730            return 42;731        }732        if ($this->match_TableRow($context, $token)) {733            $this->startRule($context, RuleType::DataTable);734            $this->build($context, $token);735            return 10;736        }737        if ($this->match_DocStringSeparator($context, $token)) {738            $this->startRule($context, RuleType::DocString);739            $this->build($context, $token);740            return 49;741        }742        if ($this->match_StepLine($context, $token)) {743            $this->endRule($context, RuleType::Step);744            $this->startRule($context, RuleType::Step);745            $this->build($context, $token);746            return 9;747        }748        if ($this->match_TagLine($context, $token)) {749            if ($this->lookahead_0($context)) {750                $this->endRule($context, RuleType::Step);751                $this->endRule($context, RuleType::Background);752                $this->startRule($context, RuleType::ScenarioDefinition);753                $this->startRule($context, RuleType::Tags);754                $this->build($context, $token);755                return 11;756            }757        }758        if ($this->match_TagLine($context, $token)) {759            $this->endRule($context, RuleType::Step);760            $this->endRule($context, RuleType::Background);761            $this->startRule($context, RuleType::Rule);762            $this->startRule($context, RuleType::RuleHeader);763            $this->startRule($context, RuleType::Tags);764            $this->build($context, $token);765            return 22;766        }767        if ($this->match_ScenarioLine($context, $token)) {768            $this->endRule($context, RuleType::Step);769            $this->endRule($context, RuleType::Background);770            $this->startRule($context, RuleType::ScenarioDefinition);771            $this->startRule($context, RuleType::Scenario);772            $this->build($context, $token);773            return 12;774        }775        if ($this->match_RuleLine($context, $token)) {776            $this->endRule($context, RuleType::Step);777            $this->endRule($context, RuleType::Background);778            $this->startRule($context, RuleType::Rule);779            $this->startRule($context, RuleType::RuleHeader);780            $this->build($context, $token);781            return 23;782        }783        if ($this->match_Comment($context, $token)) {784            $this->build($context, $token);785            return 9;786        }787        if ($this->match_Empty($context, $token)) {788            $this->build($context, $token);789            return 9;790        }791        $stateComment = "State: 9 - GherkinDocument:0>Feature:1>Background:2>Step:0>#StepLine:0";792        $expectedTokens = ["#EOF", "#TableRow", "#DocStringSeparator", "#StepLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty"];793        $error = $token->isEOF()794                ? new UnexpectedEofException($token, $expectedTokens, $stateComment)795                : new UnexpectedTokenException($token, $expectedTokens, $stateComment);796        $this->addError($context, $error);797        return 9;798    }799    // GherkinDocument:0>Feature:1>Background:2>Step:1>StepArg:0>__alt0:0>DataTable:0>#TableRow:0800    private function matchTokenAt_10(Token $token, ParserContext $context): int801    {802        if ($this->match_EOF($context, $token)) {803            $this->endRule($context, RuleType::DataTable);804            $this->endRule($context, RuleType::Step);805            $this->endRule($context, RuleType::Background);806            $this->endRule($context, RuleType::Feature);807            $this->build($context, $token);808            return 42;809        }810        if ($this->match_TableRow($context, $token)) {811            $this->build($context, $token);812            return 10;813        }814        if ($this->match_StepLine($context, $token)) {815            $this->endRule($context, RuleType::DataTable);816            $this->endRule($context, RuleType::Step);817            $this->startRule($context, RuleType::Step);818            $this->build($context, $token);819            return 9;820        }821        if ($this->match_TagLine($context, $token)) {822            if ($this->lookahead_0($context)) {823                $this->endRule($context, RuleType::DataTable);824                $this->endRule($context, RuleType::Step);825                $this->endRule($context, RuleType::Background);826                $this->startRule($context, RuleType::ScenarioDefinition);827                $this->startRule($context, RuleType::Tags);828                $this->build($context, $token);829                return 11;830            }831        }832        if ($this->match_TagLine($context, $token)) {833            $this->endRule($context, RuleType::DataTable);834            $this->endRule($context, RuleType::Step);835            $this->endRule($context, RuleType::Background);836            $this->startRule($context, RuleType::Rule);837            $this->startRule($context, RuleType::RuleHeader);838            $this->startRule($context, RuleType::Tags);839            $this->build($context, $token);840            return 22;841        }842        if ($this->match_ScenarioLine($context, $token)) {843            $this->endRule($context, RuleType::DataTable);844            $this->endRule($context, RuleType::Step);845            $this->endRule($context, RuleType::Background);846            $this->startRule($context, RuleType::ScenarioDefinition);847            $this->startRule($context, RuleType::Scenario);848            $this->build($context, $token);849            return 12;850        }851        if ($this->match_RuleLine($context, $token)) {852            $this->endRule($context, RuleType::DataTable);853            $this->endRule($context, RuleType::Step);854            $this->endRule($context, RuleType::Background);855            $this->startRule($context, RuleType::Rule);856            $this->startRule($context, RuleType::RuleHeader);857            $this->build($context, $token);858            return 23;859        }860        if ($this->match_Comment($context, $token)) {861            $this->build($context, $token);862            return 10;863        }864        if ($this->match_Empty($context, $token)) {865            $this->build($context, $token);866            return 10;867        }868        $stateComment = "State: 10 - GherkinDocument:0>Feature:1>Background:2>Step:1>StepArg:0>__alt0:0>DataTable:0>#TableRow:0";869        $expectedTokens = ["#EOF", "#TableRow", "#StepLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty"];870        $error = $token->isEOF()871                ? new UnexpectedEofException($token, $expectedTokens, $stateComment)872                : new UnexpectedTokenException($token, $expectedTokens, $stateComment);873        $this->addError($context, $error);874        return 10;875    }876    // GherkinDocument:0>Feature:2>ScenarioDefinition:0>Tags:0>#TagLine:0877    private function matchTokenAt_11(Token $token, ParserContext $context): int878    {879        if ($this->match_TagLine($context, $token)) {880            $this->build($context, $token);881            return 11;882        }883        if ($this->match_ScenarioLine($context, $token)) {884            $this->endRule($context, RuleType::Tags);885            $this->startRule($context, RuleType::Scenario);886            $this->build($context, $token);887            return 12;888        }889        if ($this->match_Comment($context, $token)) {890            $this->build($context, $token);891            return 11;892        }893        if ($this->match_Empty($context, $token)) {894            $this->build($context, $token);895            return 11;896        }897        $stateComment = "State: 11 - GherkinDocument:0>Feature:2>ScenarioDefinition:0>Tags:0>#TagLine:0";898        $expectedTokens = ["#TagLine", "#ScenarioLine", "#Comment", "#Empty"];899        $error = $token->isEOF()900                ? new UnexpectedEofException($token, $expectedTokens, $stateComment)901                : new UnexpectedTokenException($token, $expectedTokens, $stateComment);902        $this->addError($context, $error);903        return 11;904    }905    // GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:0>#ScenarioLine:0906    private function matchTokenAt_12(Token $token, ParserContext $context): int907    {908        if ($this->match_EOF($context, $token)) {909            $this->endRule($context, RuleType::Scenario);910            $this->endRule($context, RuleType::ScenarioDefinition);911            $this->endRule($context, RuleType::Feature);912            $this->build($context, $token);913            return 42;914        }915        if ($this->match_Empty($context, $token)) {916            $this->build($context, $token);917            return 12;918        }919        if ($this->match_Comment($context, $token)) {920            $this->build($context, $token);921            return 14;922        }923        if ($this->match_StepLine($context, $token)) {924            $this->startRule($context, RuleType::Step);925            $this->build($context, $token);926            return 15;927        }928        if ($this->match_TagLine($context, $token)) {929            if ($this->lookahead_1($context)) {930                $this->startRule($context, RuleType::ExamplesDefinition);931                $this->startRule($context, RuleType::Tags);932                $this->build($context, $token);933                return 17;934            }935        }936        if ($this->match_TagLine($context, $token)) {937            if ($this->lookahead_0($context)) {938                $this->endRule($context, RuleType::Scenario);939                $this->endRule($context, RuleType::ScenarioDefinition);940                $this->startRule($context, RuleType::ScenarioDefinition);941                $this->startRule($context, RuleType::Tags);942                $this->build($context, $token);943                return 11;944            }945        }946        if ($this->match_TagLine($context, $token)) {947            $this->endRule($context, RuleType::Scenario);948            $this->endRule($context, RuleType::ScenarioDefinition);949            $this->startRule($context, RuleType::Rule);950            $this->startRule($context, RuleType::RuleHeader);951            $this->startRule($context, RuleType::Tags);952            $this->build($context, $token);953            return 22;954        }955        if ($this->match_ExamplesLine($context, $token)) {956            $this->startRule($context, RuleType::ExamplesDefinition);957            $this->startRule($context, RuleType::Examples);958            $this->build($context, $token);959            return 18;960        }961        if ($this->match_ScenarioLine($context, $token)) {962            $this->endRule($context, RuleType::Scenario);963            $this->endRule($context, RuleType::ScenarioDefinition);964            $this->startRule($context, RuleType::ScenarioDefinition);965            $this->startRule($context, RuleType::Scenario);966            $this->build($context, $token);967            return 12;968        }969        if ($this->match_RuleLine($context, $token)) {970            $this->endRule($context, RuleType::Scenario);971            $this->endRule($context, RuleType::ScenarioDefinition);972            $this->startRule($context, RuleType::Rule);973            $this->startRule($context, RuleType::RuleHeader);974            $this->build($context, $token);975            return 23;976        }977        if ($this->match_Other($context, $token)) {978            $this->startRule($context, RuleType::Description);979            $this->build($context, $token);980            return 13;981        }982        $stateComment = "State: 12 - GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:0>#ScenarioLine:0";983        $expectedTokens = ["#EOF", "#Empty", "#Comment", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Other"];984        $error = $token->isEOF()985                ? new UnexpectedEofException($token, $expectedTokens, $stateComment)986                : new UnexpectedTokenException($token, $expectedTokens, $stateComment);987        $this->addError($context, $error);988        return 12;989    }990    // GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:1>DescriptionHelper:1>Description:0>#Other:0991    private function matchTokenAt_13(Token $token, ParserContext $context): int992    {993        if ($this->match_EOF($context, $token)) {994            $this->endRule($context, RuleType::Description);995            $this->endRule($context, RuleType::Scenario);996            $this->endRule($context, RuleType::ScenarioDefinition);997            $this->endRule($context, RuleType::Feature);998            $this->build($context, $token);999            return 42;1000        }1001        if ($this->match_Comment($context, $token)) {1002            $this->endRule($context, RuleType::Description);1003            $this->build($context, $token);1004            return 14;1005        }1006        if ($this->match_StepLine($context, $token)) {1007            $this->endRule($context, RuleType::Description);1008            $this->startRule($context, RuleType::Step);1009            $this->build($context, $token);1010            return 15;1011        }1012        if ($this->match_TagLine($context, $token)) {1013            if ($this->lookahead_1($context)) {1014                $this->endRule($context, RuleType::Description);1015                $this->startRule($context, RuleType::ExamplesDefinition);1016                $this->startRule($context, RuleType::Tags);1017                $this->build($context, $token);1018                return 17;1019            }1020        }1021        if ($this->match_TagLine($context, $token)) {1022            if ($this->lookahead_0($context)) {1023                $this->endRule($context, RuleType::Description);1024                $this->endRule($context, RuleType::Scenario);1025                $this->endRule($context, RuleType::ScenarioDefinition);1026                $this->startRule($context, RuleType::ScenarioDefinition);1027                $this->startRule($context, RuleType::Tags);1028                $this->build($context, $token);1029                return 11;1030            }1031        }1032        if ($this->match_TagLine($context, $token)) {1033            $this->endRule($context, RuleType::Description);1034            $this->endRule($context, RuleType::Scenario);1035            $this->endRule($context, RuleType::ScenarioDefinition);1036            $this->startRule($context, RuleType::Rule);1037            $this->startRule($context, RuleType::RuleHeader);1038            $this->startRule($context, RuleType::Tags);1039            $this->build($context, $token);1040            return 22;1041        }1042        if ($this->match_ExamplesLine($context, $token)) {1043            $this->endRule($context, RuleType::Description);1044            $this->startRule($context, RuleType::ExamplesDefinition);1045            $this->startRule($context, RuleType::Examples);1046            $this->build($context, $token);1047            return 18;1048        }1049        if ($this->match_ScenarioLine($context, $token)) {1050            $this->endRule($context, RuleType::Description);1051            $this->endRule($context, RuleType::Scenario);1052            $this->endRule($context, RuleType::ScenarioDefinition);1053            $this->startRule($context, RuleType::ScenarioDefinition);1054            $this->startRule($context, RuleType::Scenario);1055            $this->build($context, $token);1056            return 12;1057        }1058        if ($this->match_RuleLine($context, $token)) {1059            $this->endRule($context, RuleType::Description);1060            $this->endRule($context, RuleType::Scenario);1061            $this->endRule($context, RuleType::ScenarioDefinition);1062            $this->startRule($context, RuleType::Rule);1063            $this->startRule($context, RuleType::RuleHeader);1064            $this->build($context, $token);1065            return 23;1066        }1067        if ($this->match_Other($context, $token)) {1068            $this->build($context, $token);1069            return 13;1070        }1071        $stateComment = "State: 13 - GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:1>DescriptionHelper:1>Description:0>#Other:0";1072        $expectedTokens = ["#EOF", "#Comment", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Other"];1073        $error = $token->isEOF()1074                ? new UnexpectedEofException($token, $expectedTokens, $stateComment)1075                : new UnexpectedTokenException($token, $expectedTokens, $stateComment);1076        $this->addError($context, $error);1077        return 13;1078    }1079    // GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:1>DescriptionHelper:2>#Comment:01080    private function matchTokenAt_14(Token $token, ParserContext $context): int1081    {1082        if ($this->match_EOF($context, $token)) {1083            $this->endRule($context, RuleType::Scenario);1084            $this->endRule($context, RuleType::ScenarioDefinition);1085            $this->endRule($context, RuleType::Feature);1086            $this->build($context, $token);1087            return 42;1088        }1089        if ($this->match_Comment($context, $token)) {1090            $this->build($context, $token);1091            return 14;1092        }1093        if ($this->match_StepLine($context, $token)) {1094            $this->startRule($context, RuleType::Step);1095            $this->build($context, $token);1096            return 15;1097        }1098        if ($this->match_TagLine($context, $token)) {1099            if ($this->lookahead_1($context)) {1100                $this->startRule($context, RuleType::ExamplesDefinition);1101                $this->startRule($context, RuleType::Tags);1102                $this->build($context, $token);1103                return 17;1104            }1105        }1106        if ($this->match_TagLine($context, $token)) {1107            if ($this->lookahead_0($context)) {1108                $this->endRule($context, RuleType::Scenario);1109                $this->endRule($context, RuleType::ScenarioDefinition);1110                $this->startRule($context, RuleType::ScenarioDefinition);1111                $this->startRule($context, RuleType::Tags);1112                $this->build($context, $token);1113                return 11;1114            }1115        }1116        if ($this->match_TagLine($context, $token)) {1117            $this->endRule($context, RuleType::Scenario);1118            $this->endRule($context, RuleType::ScenarioDefinition);1119            $this->startRule($context, RuleType::Rule);1120            $this->startRule($context, RuleType::RuleHeader);1121            $this->startRule($context, RuleType::Tags);1122            $this->build($context, $token);1123            return 22;1124        }1125        if ($this->match_ExamplesLine($context, $token)) {1126            $this->startRule($context, RuleType::ExamplesDefinition);1127            $this->startRule($context, RuleType::Examples);1128            $this->build($context, $token);1129            return 18;1130        }1131        if ($this->match_ScenarioLine($context, $token)) {1132            $this->endRule($context, RuleType::Scenario);1133            $this->endRule($context, RuleType::ScenarioDefinition);1134            $this->startRule($context, RuleType::ScenarioDefinition);1135            $this->startRule($context, RuleType::Scenario);1136            $this->build($context, $token);1137            return 12;1138        }1139        if ($this->match_RuleLine($context, $token)) {1140            $this->endRule($context, RuleType::Scenario);1141            $this->endRule($context, RuleType::ScenarioDefinition);1142            $this->startRule($context, RuleType::Rule);1143            $this->startRule($context, RuleType::RuleHeader);1144            $this->build($context, $token);1145            return 23;1146        }1147        if ($this->match_Empty($context, $token)) {1148            $this->build($context, $token);1149            return 14;1150        }1151        $stateComment = "State: 14 - GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:1>DescriptionHelper:2>#Comment:0";1152        $expectedTokens = ["#EOF", "#Comment", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Empty"];1153        $error = $token->isEOF()1154                ? new UnexpectedEofException($token, $expectedTokens, $stateComment)1155                : new UnexpectedTokenException($token, $expectedTokens, $stateComment);1156        $this->addError($context, $error);1157        return 14;1158    }1159    // GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:2>Step:0>#StepLine:01160    private function matchTokenAt_15(Token $token, ParserContext $context): int1161    {1162        if ($this->match_EOF($context, $token)) {1163            $this->endRule($context, RuleType::Step);1164            $this->endRule($context, RuleType::Scenario);1165            $this->endRule($context, RuleType::ScenarioDefinition);1166            $this->endRule($context, RuleType::Feature);1167            $this->build($context, $token);1168            return 42;1169        }1170        if ($this->match_TableRow($context, $token)) {1171            $this->startRule($context, RuleType::DataTable);1172            $this->build($context, $token);1173            return 16;1174        }1175        if ($this->match_DocStringSeparator($context, $token)) {1176            $this->startRule($context, RuleType::DocString);1177            $this->build($context, $token);1178            return 47;1179        }1180        if ($this->match_StepLine($context, $token)) {1181            $this->endRule($context, RuleType::Step);1182            $this->startRule($context, RuleType::Step);1183            $this->build($context, $token);1184            return 15;1185        }1186        if ($this->match_TagLine($context, $token)) {1187            if ($this->lookahead_1($context)) {1188                $this->endRule($context, RuleType::Step);1189                $this->startRule($context, RuleType::ExamplesDefinition);1190                $this->startRule($context, RuleType::Tags);1191                $this->build($context, $token);1192                return 17;1193            }1194        }1195        if ($this->match_TagLine($context, $token)) {1196            if ($this->lookahead_0($context)) {1197                $this->endRule($context, RuleType::Step);1198                $this->endRule($context, RuleType::Scenario);1199                $this->endRule($context, RuleType::ScenarioDefinition);1200                $this->startRule($context, RuleType::ScenarioDefinition);1201                $this->startRule($context, RuleType::Tags);1202                $this->build($context, $token);1203                return 11;1204            }1205        }1206        if ($this->match_TagLine($context, $token)) {1207            $this->endRule($context, RuleType::Step);1208            $this->endRule($context, RuleType::Scenario);1209            $this->endRule($context, RuleType::ScenarioDefinition);1210            $this->startRule($context, RuleType::Rule);1211            $this->startRule($context, RuleType::RuleHeader);1212            $this->startRule($context, RuleType::Tags);1213            $this->build($context, $token);1214            return 22;1215        }1216        if ($this->match_ExamplesLine($context, $token)) {1217            $this->endRule($context, RuleType::Step);1218            $this->startRule($context, RuleType::ExamplesDefinition);1219            $this->startRule($context, RuleType::Examples);1220            $this->build($context, $token);1221            return 18;1222        }1223        if ($this->match_ScenarioLine($context, $token)) {1224            $this->endRule($context, RuleType::Step);1225            $this->endRule($context, RuleType::Scenario);1226            $this->endRule($context, RuleType::ScenarioDefinition);1227            $this->startRule($context, RuleType::ScenarioDefinition);1228            $this->startRule($context, RuleType::Scenario);1229            $this->build($context, $token);1230            return 12;1231        }1232        if ($this->match_RuleLine($context, $token)) {1233            $this->endRule($context, RuleType::Step);1234            $this->endRule($context, RuleType::Scenario);1235            $this->endRule($context, RuleType::ScenarioDefinition);1236            $this->startRule($context, RuleType::Rule);1237            $this->startRule($context, RuleType::RuleHeader);1238            $this->build($context, $token);1239            return 23;1240        }1241        if ($this->match_Comment($context, $token)) {1242            $this->build($context, $token);1243            return 15;1244        }1245        if ($this->match_Empty($context, $token)) {1246            $this->build($context, $token);1247            return 15;1248        }1249        $stateComment = "State: 15 - GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:2>Step:0>#StepLine:0";1250        $expectedTokens = ["#EOF", "#TableRow", "#DocStringSeparator", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty"];1251        $error = $token->isEOF()1252                ? new UnexpectedEofException($token, $expectedTokens, $stateComment)1253                : new UnexpectedTokenException($token, $expectedTokens, $stateComment);1254        $this->addError($context, $error);1255        return 15;1256    }1257    // GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:2>Step:1>StepArg:0>__alt0:0>DataTable:0>#TableRow:01258    private function matchTokenAt_16(Token $token, ParserContext $context): int1259    {1260        if ($this->match_EOF($context, $token)) {1261            $this->endRule($context, RuleType::DataTable);1262            $this->endRule($context, RuleType::Step);1263            $this->endRule($context, RuleType::Scenario);1264            $this->endRule($context, RuleType::ScenarioDefinition);1265            $this->endRule($context, RuleType::Feature);1266            $this->build($context, $token);1267            return 42;1268        }1269        if ($this->match_TableRow($context, $token)) {1270            $this->build($context, $token);1271            return 16;1272        }1273        if ($this->match_StepLine($context, $token)) {1274            $this->endRule($context, RuleType::DataTable);1275            $this->endRule($context, RuleType::Step);1276            $this->startRule($context, RuleType::Step);1277            $this->build($context, $token);1278            return 15;1279        }1280        if ($this->match_TagLine($context, $token)) {1281            if ($this->lookahead_1($context)) {1282                $this->endRule($context, RuleType::DataTable);1283                $this->endRule($context, RuleType::Step);1284                $this->startRule($context, RuleType::ExamplesDefinition);1285                $this->startRule($context, RuleType::Tags);1286                $this->build($context, $token);1287                return 17;1288            }1289        }1290        if ($this->match_TagLine($context, $token)) {1291            if ($this->lookahead_0($context)) {1292                $this->endRule($context, RuleType::DataTable);1293                $this->endRule($context, RuleType::Step);1294                $this->endRule($context, RuleType::Scenario);1295                $this->endRule($context, RuleType::ScenarioDefinition);1296                $this->startRule($context, RuleType::ScenarioDefinition);1297                $this->startRule($context, RuleType::Tags);1298                $this->build($context, $token);1299                return 11;1300            }1301        }1302        if ($this->match_TagLine($context, $token)) {1303            $this->endRule($context, RuleType::DataTable);1304            $this->endRule($context, RuleType::Step);1305            $this->endRule($context, RuleType::Scenario);1306            $this->endRule($context, RuleType::ScenarioDefinition);1307            $this->startRule($context, RuleType::Rule);1308            $this->startRule($context, RuleType::RuleHeader);1309            $this->startRule($context, RuleType::Tags);1310            $this->build($context, $token);1311            return 22;1312        }1313        if ($this->match_ExamplesLine($context, $token)) {1314            $this->endRule($context, RuleType::DataTable);1315            $this->endRule($context, RuleType::Step);1316            $this->startRule($context, RuleType::ExamplesDefinition);1317            $this->startRule($context, RuleType::Examples);1318            $this->build($context, $token);1319            return 18;1320        }1321        if ($this->match_ScenarioLine($context, $token)) {1322            $this->endRule($context, RuleType::DataTable);1323            $this->endRule($context, RuleType::Step);1324            $this->endRule($context, RuleType::Scenario);1325            $this->endRule($context, RuleType::ScenarioDefinition);1326            $this->startRule($context, RuleType::ScenarioDefinition);1327            $this->startRule($context, RuleType::Scenario);1328            $this->build($context, $token);1329            return 12;1330        }1331        if ($this->match_RuleLine($context, $token)) {1332            $this->endRule($context, RuleType::DataTable);1333            $this->endRule($context, RuleType::Step);1334            $this->endRule($context, RuleType::Scenario);1335            $this->endRule($context, RuleType::ScenarioDefinition);1336            $this->startRule($context, RuleType::Rule);1337            $this->startRule($context, RuleType::RuleHeader);1338            $this->build($context, $token);1339            return 23;1340        }1341        if ($this->match_Comment($context, $token)) {1342            $this->build($context, $token);1343            return 16;1344        }1345        if ($this->match_Empty($context, $token)) {1346            $this->build($context, $token);1347            return 16;1348        }1349        $stateComment = "State: 16 - GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:2>Step:1>StepArg:0>__alt0:0>DataTable:0>#TableRow:0";1350        $expectedTokens = ["#EOF", "#TableRow", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty"];1351        $error = $token->isEOF()1352                ? new UnexpectedEofException($token, $expectedTokens, $stateComment)1353                : new UnexpectedTokenException($token, $expectedTokens, $stateComment);1354        $this->addError($context, $error);1355        return 16;1356    }1357    // GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:0>Tags:0>#TagLine:01358    private function matchTokenAt_17(Token $token, ParserContext $context): int1359    {1360        if ($this->match_TagLine($context, $token)) {1361            $this->build($context, $token);1362            return 17;1363        }1364        if ($this->match_ExamplesLine($context, $token)) {1365            $this->endRule($context, RuleType::Tags);1366            $this->startRule($context, RuleType::Examples);1367            $this->build($context, $token);1368            return 18;1369        }1370        if ($this->match_Comment($context, $token)) {1371            $this->build($context, $token);1372            return 17;1373        }1374        if ($this->match_Empty($context, $token)) {1375            $this->build($context, $token);1376            return 17;1377        }1378        $stateComment = "State: 17 - GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:0>Tags:0>#TagLine:0";1379        $expectedTokens = ["#TagLine", "#ExamplesLine", "#Comment", "#Empty"];1380        $error = $token->isEOF()1381                ? new UnexpectedEofException($token, $expectedTokens, $stateComment)1382                : new UnexpectedTokenException($token, $expectedTokens, $stateComment);1383        $this->addError($context, $error);1384        return 17;1385    }1386    // GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:0>#ExamplesLine:01387    private function matchTokenAt_18(Token $token, ParserContext $context): int1388    {1389        if ($this->match_EOF($context, $token)) {1390            $this->endRule($context, RuleType::Examples);1391            $this->endRule($context, RuleType::ExamplesDefinition);1392            $this->endRule($context, RuleType::Scenario);1393            $this->endRule($context, RuleType::ScenarioDefinition);1394            $this->endRule($context, RuleType::Feature);1395            $this->build($context, $token);1396            return 42;1397        }1398        if ($this->match_Empty($context, $token)) {1399            $this->build($context, $token);1400            return 18;1401        }1402        if ($this->match_Comment($context, $token)) {1403            $this->build($context, $token);1404            return 20;1405        }1406        if ($this->match_TableRow($context, $token)) {1407            $this->startRule($context, RuleType::ExamplesTable);1408            $this->build($context, $token);1409            return 21;1410        }1411        if ($this->match_TagLine($context, $token)) {1412            if ($this->lookahead_1($context)) {1413                $this->endRule($context, RuleType::Examples);1414                $this->endRule($context, RuleType::ExamplesDefinition);1415                $this->startRule($context, RuleType::ExamplesDefinition);1416                $this->startRule($context, RuleType::Tags);1417                $this->build($context, $token);1418                return 17;1419            }1420        }1421        if ($this->match_TagLine($context, $token)) {1422            if ($this->lookahead_0($context)) {1423                $this->endRule($context, RuleType::Examples);1424                $this->endRule($context, RuleType::ExamplesDefinition);1425                $this->endRule($context, RuleType::Scenario);1426                $this->endRule($context, RuleType::ScenarioDefinition);1427                $this->startRule($context, RuleType::ScenarioDefinition);1428                $this->startRule($context, RuleType::Tags);1429                $this->build($context, $token);1430                return 11;1431            }1432        }1433        if ($this->match_TagLine($context, $token)) {1434            $this->endRule($context, RuleType::Examples);1435            $this->endRule($context, RuleType::ExamplesDefinition);1436            $this->endRule($context, RuleType::Scenario);1437            $this->endRule($context, RuleType::ScenarioDefinition);1438            $this->startRule($context, RuleType::Rule);1439            $this->startRule($context, RuleType::RuleHeader);1440            $this->startRule($context, RuleType::Tags);1441            $this->build($context, $token);1442            return 22;1443        }1444        if ($this->match_ExamplesLine($context, $token)) {1445            $this->endRule($context, RuleType::Examples);1446            $this->endRule($context, RuleType::ExamplesDefinition);1447            $this->startRule($context, RuleType::ExamplesDefinition);1448            $this->startRule($context, RuleType::Examples);1449            $this->build($context, $token);1450            return 18;1451        }1452        if ($this->match_ScenarioLine($context, $token)) {1453            $this->endRule($context, RuleType::Examples);1454            $this->endRule($context, RuleType::ExamplesDefinition);1455            $this->endRule($context, RuleType::Scenario);1456            $this->endRule($context, RuleType::ScenarioDefinition);1457            $this->startRule($context, RuleType::ScenarioDefinition);1458            $this->startRule($context, RuleType::Scenario);1459            $this->build($context, $token);1460            return 12;1461        }1462        if ($this->match_RuleLine($context, $token)) {1463            $this->endRule($context, RuleType::Examples);1464            $this->endRule($context, RuleType::ExamplesDefinition);1465            $this->endRule($context, RuleType::Scenario);1466            $this->endRule($context, RuleType::ScenarioDefinition);1467            $this->startRule($context, RuleType::Rule);1468            $this->startRule($context, RuleType::RuleHeader);1469            $this->build($context, $token);1470            return 23;1471        }1472        if ($this->match_Other($context, $token)) {1473            $this->startRule($context, RuleType::Description);1474            $this->build($context, $token);1475            return 19;1476        }1477        $stateComment = "State: 18 - GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:0>#ExamplesLine:0";1478        $expectedTokens = ["#EOF", "#Empty", "#Comment", "#TableRow", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Other"];1479        $error = $token->isEOF()1480                ? new UnexpectedEofException($token, $expectedTokens, $stateComment)1481                : new UnexpectedTokenException($token, $expectedTokens, $stateComment);1482        $this->addError($context, $error);1483        return 18;1484    }1485    // GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:1>DescriptionHelper:1>Description:0>#Other:01486    private function matchTokenAt_19(Token $token, ParserContext $context): int1487    {1488        if ($this->match_EOF($context, $token)) {1489            $this->endRule($context, RuleType::Description);1490            $this->endRule($context, RuleType::Examples);1491            $this->endRule($context, RuleType::ExamplesDefinition);1492            $this->endRule($context, RuleType::Scenario);1493            $this->endRule($context, RuleType::ScenarioDefinition);1494            $this->endRule($context, RuleType::Feature);1495            $this->build($context, $token);1496            return 42;1497        }1498        if ($this->match_Comment($context, $token)) {1499            $this->endRule($context, RuleType::Description);1500            $this->build($context, $token);1501            return 20;1502        }1503        if ($this->match_TableRow($context, $token)) {1504            $this->endRule($context, RuleType::Description);1505            $this->startRule($context, RuleType::ExamplesTable);1506            $this->build($context, $token);1507            return 21;1508        }1509        if ($this->match_TagLine($context, $token)) {1510            if ($this->lookahead_1($context)) {1511                $this->endRule($context, RuleType::Description);1512                $this->endRule($context, RuleType::Examples);1513                $this->endRule($context, RuleType::ExamplesDefinition);1514                $this->startRule($context, RuleType::ExamplesDefinition);1515                $this->startRule($context, RuleType::Tags);1516                $this->build($context, $token);1517                return 17;1518            }1519        }1520        if ($this->match_TagLine($context, $token)) {1521            if ($this->lookahead_0($context)) {1522                $this->endRule($context, RuleType::Description);1523                $this->endRule($context, RuleType::Examples);1524                $this->endRule($context, RuleType::ExamplesDefinition);1525                $this->endRule($context, RuleType::Scenario);1526                $this->endRule($context, RuleType::ScenarioDefinition);1527                $this->startRule($context, RuleType::ScenarioDefinition);1528                $this->startRule($context, RuleType::Tags);1529                $this->build($context, $token);1530                return 11;1531            }1532        }1533        if ($this->match_TagLine($context, $token)) {1534            $this->endRule($context, RuleType::Description);1535            $this->endRule($context, RuleType::Examples);1536            $this->endRule($context, RuleType::ExamplesDefinition);1537            $this->endRule($context, RuleType::Scenario);1538            $this->endRule($context, RuleType::ScenarioDefinition);1539            $this->startRule($context, RuleType::Rule);1540            $this->startRule($context, RuleType::RuleHeader);1541            $this->startRule($context, RuleType::Tags);1542            $this->build($context, $token);1543            return 22;1544        }1545        if ($this->match_ExamplesLine($context, $token)) {1546            $this->endRule($context, RuleType::Description);1547            $this->endRule($context, RuleType::Examples);1548            $this->endRule($context, RuleType::ExamplesDefinition);1549            $this->startRule($context, RuleType::ExamplesDefinition);1550            $this->startRule($context, RuleType::Examples);1551            $this->build($context, $token);1552            return 18;1553        }1554        if ($this->match_ScenarioLine($context, $token)) {1555            $this->endRule($context, RuleType::Description);1556            $this->endRule($context, RuleType::Examples);1557            $this->endRule($context, RuleType::ExamplesDefinition);1558            $this->endRule($context, RuleType::Scenario);1559            $this->endRule($context, RuleType::ScenarioDefinition);1560            $this->startRule($context, RuleType::ScenarioDefinition);1561            $this->startRule($context, RuleType::Scenario);1562            $this->build($context, $token);1563            return 12;1564        }1565        if ($this->match_RuleLine($context, $token)) {1566            $this->endRule($context, RuleType::Description);1567            $this->endRule($context, RuleType::Examples);1568            $this->endRule($context, RuleType::ExamplesDefinition);1569            $this->endRule($context, RuleType::Scenario);1570            $this->endRule($context, RuleType::ScenarioDefinition);1571            $this->startRule($context, RuleType::Rule);1572            $this->startRule($context, RuleType::RuleHeader);1573            $this->build($context, $token);1574            return 23;1575        }1576        if ($this->match_Other($context, $token)) {1577            $this->build($context, $token);1578            return 19;1579        }1580        $stateComment = "State: 19 - GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:1>DescriptionHelper:1>Description:0>#Other:0";1581        $expectedTokens = ["#EOF", "#Comment", "#TableRow", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Other"];1582        $error = $token->isEOF()1583                ? new UnexpectedEofException($token, $expectedTokens, $stateComment)1584                : new UnexpectedTokenException($token, $expectedTokens, $stateComment);1585        $this->addError($context, $error);1586        return 19;1587    }1588    // GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:1>DescriptionHelper:2>#Comment:01589    private function matchTokenAt_20(Token $token, ParserContext $context): int1590    {1591        if ($this->match_EOF($context, $token)) {1592            $this->endRule($context, RuleType::Examples);1593            $this->endRule($context, RuleType::ExamplesDefinition);1594            $this->endRule($context, RuleType::Scenario);1595            $this->endRule($context, RuleType::ScenarioDefinition);1596            $this->endRule($context, RuleType::Feature);1597            $this->build($context, $token);1598            return 42;1599        }1600        if ($this->match_Comment($context, $token)) {1601            $this->build($context, $token);1602            return 20;1603        }1604        if ($this->match_TableRow($context, $token)) {1605            $this->startRule($context, RuleType::ExamplesTable);1606            $this->build($context, $token);1607            return 21;1608        }1609        if ($this->match_TagLine($context, $token)) {1610            if ($this->lookahead_1($context)) {1611                $this->endRule($context, RuleType::Examples);1612                $this->endRule($context, RuleType::ExamplesDefinition);1613                $this->startRule($context, RuleType::ExamplesDefinition);1614                $this->startRule($context, RuleType::Tags);1615                $this->build($context, $token);1616                return 17;1617            }1618        }1619        if ($this->match_TagLine($context, $token)) {1620            if ($this->lookahead_0($context)) {1621                $this->endRule($context, RuleType::Examples);1622                $this->endRule($context, RuleType::ExamplesDefinition);1623                $this->endRule($context, RuleType::Scenario);1624                $this->endRule($context, RuleType::ScenarioDefinition);1625                $this->startRule($context, RuleType::ScenarioDefinition);1626                $this->startRule($context, RuleType::Tags);1627                $this->build($context, $token);1628                return 11;1629            }1630        }1631        if ($this->match_TagLine($context, $token)) {1632            $this->endRule($context, RuleType::Examples);1633            $this->endRule($context, RuleType::ExamplesDefinition);1634            $this->endRule($context, RuleType::Scenario);1635            $this->endRule($context, RuleType::ScenarioDefinition);1636            $this->startRule($context, RuleType::Rule);1637            $this->startRule($context, RuleType::RuleHeader);1638            $this->startRule($context, RuleType::Tags);1639            $this->build($context, $token);1640            return 22;1641        }1642        if ($this->match_ExamplesLine($context, $token)) {1643            $this->endRule($context, RuleType::Examples);1644            $this->endRule($context, RuleType::ExamplesDefinition);1645            $this->startRule($context, RuleType::ExamplesDefinition);1646            $this->startRule($context, RuleType::Examples);1647            $this->build($context, $token);1648            return 18;1649        }1650        if ($this->match_ScenarioLine($context, $token)) {1651            $this->endRule($context, RuleType::Examples);1652            $this->endRule($context, RuleType::ExamplesDefinition);1653            $this->endRule($context, RuleType::Scenario);1654            $this->endRule($context, RuleType::ScenarioDefinition);1655            $this->startRule($context, RuleType::ScenarioDefinition);1656            $this->startRule($context, RuleType::Scenario);1657            $this->build($context, $token);1658            return 12;1659        }1660        if ($this->match_RuleLine($context, $token)) {1661            $this->endRule($context, RuleType::Examples);1662            $this->endRule($context, RuleType::ExamplesDefinition);1663            $this->endRule($context, RuleType::Scenario);1664            $this->endRule($context, RuleType::ScenarioDefinition);1665            $this->startRule($context, RuleType::Rule);1666            $this->startRule($context, RuleType::RuleHeader);1667            $this->build($context, $token);1668            return 23;1669        }1670        if ($this->match_Empty($context, $token)) {1671            $this->build($context, $token);1672            return 20;1673        }1674        $stateComment = "State: 20 - GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:1>DescriptionHelper:2>#Comment:0";1675        $expectedTokens = ["#EOF", "#Comment", "#TableRow", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Empty"];1676        $error = $token->isEOF()1677                ? new UnexpectedEofException($token, $expectedTokens, $stateComment)1678                : new UnexpectedTokenException($token, $expectedTokens, $stateComment);1679        $this->addError($context, $error);1680        return 20;1681    }1682    // GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:2>ExamplesTable:0>#TableRow:01683    private function matchTokenAt_21(Token $token, ParserContext $context): int1684    {1685        if ($this->match_EOF($context, $token)) {1686            $this->endRule($context, RuleType::ExamplesTable);1687            $this->endRule($context, RuleType::Examples);1688            $this->endRule($context, RuleType::ExamplesDefinition);1689            $this->endRule($context, RuleType::Scenario);1690            $this->endRule($context, RuleType::ScenarioDefinition);1691            $this->endRule($context, RuleType::Feature);1692            $this->build($context, $token);1693            return 42;1694        }1695        if ($this->match_TableRow($context, $token)) {1696            $this->build($context, $token);1697            return 21;1698        }1699        if ($this->match_TagLine($context, $token)) {1700            if ($this->lookahead_1($context)) {1701                $this->endRule($context, RuleType::ExamplesTable);1702                $this->endRule($context, RuleType::Examples);1703                $this->endRule($context, RuleType::ExamplesDefinition);1704                $this->startRule($context, RuleType::ExamplesDefinition);1705                $this->startRule($context, RuleType::Tags);1706                $this->build($context, $token);1707                return 17;1708            }1709        }1710        if ($this->match_TagLine($context, $token)) {1711            if ($this->lookahead_0($context)) {1712                $this->endRule($context, RuleType::ExamplesTable);1713                $this->endRule($context, RuleType::Examples);1714                $this->endRule($context, RuleType::ExamplesDefinition);1715                $this->endRule($context, RuleType::Scenario);1716                $this->endRule($context, RuleType::ScenarioDefinition);1717                $this->startRule($context, RuleType::ScenarioDefinition);1718                $this->startRule($context, RuleType::Tags);1719                $this->build($context, $token);1720                return 11;1721            }1722        }1723        if ($this->match_TagLine($context, $token)) {1724            $this->endRule($context, RuleType::ExamplesTable);1725            $this->endRule($context, RuleType::Examples);1726            $this->endRule($context, RuleType::ExamplesDefinition);1727            $this->endRule($context, RuleType::Scenario);1728            $this->endRule($context, RuleType::ScenarioDefinition);1729            $this->startRule($context, RuleType::Rule);1730            $this->startRule($context, RuleType::RuleHeader);1731            $this->startRule($context, RuleType::Tags);1732            $this->build($context, $token);1733            return 22;1734        }1735        if ($this->match_ExamplesLine($context, $token)) {1736            $this->endRule($context, RuleType::ExamplesTable);1737            $this->endRule($context, RuleType::Examples);1738            $this->endRule($context, RuleType::ExamplesDefinition);1739            $this->startRule($context, RuleType::ExamplesDefinition);1740            $this->startRule($context, RuleType::Examples);1741            $this->build($context, $token);1742            return 18;1743        }1744        if ($this->match_ScenarioLine($context, $token)) {1745            $this->endRule($context, RuleType::ExamplesTable);1746            $this->endRule($context, RuleType::Examples);1747            $this->endRule($context, RuleType::ExamplesDefinition);1748            $this->endRule($context, RuleType::Scenario);1749            $this->endRule($context, RuleType::ScenarioDefinition);1750            $this->startRule($context, RuleType::ScenarioDefinition);1751            $this->startRule($context, RuleType::Scenario);1752            $this->build($context, $token);1753            return 12;1754        }1755        if ($this->match_RuleLine($context, $token)) {1756            $this->endRule($context, RuleType::ExamplesTable);1757            $this->endRule($context, RuleType::Examples);1758            $this->endRule($context, RuleType::ExamplesDefinition);1759            $this->endRule($context, RuleType::Scenario);1760            $this->endRule($context, RuleType::ScenarioDefinition);1761            $this->startRule($context, RuleType::Rule);1762            $this->startRule($context, RuleType::RuleHeader);1763            $this->build($context, $token);1764            return 23;1765        }1766        if ($this->match_Comment($context, $token)) {1767            $this->build($context, $token);1768            return 21;1769        }1770        if ($this->match_Empty($context, $token)) {1771            $this->build($context, $token);1772            return 21;1773        }1774        $stateComment = "State: 21 - GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:2>ExamplesTable:0>#TableRow:0";1775        $expectedTokens = ["#EOF", "#TableRow", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty"];1776        $error = $token->isEOF()1777                ? new UnexpectedEofException($token, $expectedTokens, $stateComment)1778                : new UnexpectedTokenException($token, $expectedTokens, $stateComment);1779        $this->addError($context, $error);1780        return 21;1781    }1782    // GherkinDocument:0>Feature:3>Rule:0>RuleHeader:0>Tags:0>#TagLine:01783    private function matchTokenAt_22(Token $token, ParserContext $context): int1784    {1785        if ($this->match_TagLine($context, $token)) {1786            $this->build($context, $token);1787            return 22;1788        }1789        if ($this->match_RuleLine($context, $token)) {1790            $this->endRule($context, RuleType::Tags);1791            $this->build($context, $token);1792            return 23;1793        }1794        if ($this->match_Comment($context, $token)) {1795            $this->build($context, $token);1796            return 22;1797        }1798        if ($this->match_Empty($context, $token)) {1799            $this->build($context, $token);1800            return 22;1801        }1802        $stateComment = "State: 22 - GherkinDocument:0>Feature:3>Rule:0>RuleHeader:0>Tags:0>#TagLine:0";1803        $expectedTokens = ["#TagLine", "#RuleLine", "#Comment", "#Empty"];1804        $error = $token->isEOF()1805                ? new UnexpectedEofException($token, $expectedTokens, $stateComment)1806                : new UnexpectedTokenException($token, $expectedTokens, $stateComment);1807        $this->addError($context, $error);1808        return 22;1809    }1810    // GherkinDocument:0>Feature:3>Rule:0>RuleHeader:1>#RuleLine:01811    private function matchTokenAt_23(Token $token, ParserContext $context): int1812    {1813        if ($this->match_EOF($context, $token)) {1814            $this->endRule($context, RuleType::RuleHeader);1815            $this->endRule($context, RuleType::Rule);1816            $this->endRule($context, RuleType::Feature);1817            $this->build($context, $token);1818            return 42;1819        }1820        if ($this->match_Empty($context, $token)) {1821            $this->build($context, $token);1822            return 23;1823        }1824        if ($this->match_Comment($context, $token)) {1825            $this->build($context, $token);1826            return 25;1827        }1828        if ($this->match_BackgroundLine($context, $token)) {1829            $this->endRule($context, RuleType::RuleHeader);1830            $this->startRule($context, RuleType::Background);1831            $this->build($context, $token);1832            return 26;1833        }1834        if ($this->match_TagLine($context, $token)) {1835            if ($this->lookahead_0($context)) {1836                $this->endRule($context, RuleType::RuleHeader);1837                $this->startRule($context, RuleType::ScenarioDefinition);1838                $this->startRule($context, RuleType::Tags);1839                $this->build($context, $token);1840                return 31;1841            }1842        }1843        if ($this->match_TagLine($context, $token)) {1844            $this->endRule($context, RuleType::RuleHeader);1845            $this->endRule($context, RuleType::Rule);1846            $this->startRule($context, RuleType::Rule);1847            $this->startRule($context, RuleType::RuleHeader);1848            $this->startRule($context, RuleType::Tags);1849            $this->build($context, $token);1850            return 22;1851        }1852        if ($this->match_ScenarioLine($context, $token)) {1853            $this->endRule($context, RuleType::RuleHeader);1854            $this->startRule($context, RuleType::ScenarioDefinition);1855            $this->startRule($context, RuleType::Scenario);1856            $this->build($context, $token);1857            return 32;1858        }1859        if ($this->match_RuleLine($context, $token)) {1860            $this->endRule($context, RuleType::RuleHeader);1861            $this->endRule($context, RuleType::Rule);1862            $this->startRule($context, RuleType::Rule);1863            $this->startRule($context, RuleType::RuleHeader);1864            $this->build($context, $token);1865            return 23;1866        }1867        if ($this->match_Other($context, $token)) {1868            $this->startRule($context, RuleType::Description);1869            $this->build($context, $token);1870            return 24;1871        }1872        $stateComment = "State: 23 - GherkinDocument:0>Feature:3>Rule:0>RuleHeader:1>#RuleLine:0";1873        $expectedTokens = ["#EOF", "#Empty", "#Comment", "#BackgroundLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Other"];1874        $error = $token->isEOF()1875                ? new UnexpectedEofException($token, $expectedTokens, $stateComment)1876                : new UnexpectedTokenException($token, $expectedTokens, $stateComment);1877        $this->addError($context, $error);1878        return 23;1879    }1880    // GherkinDocument:0>Feature:3>Rule:0>RuleHeader:2>DescriptionHelper:1>Description:0>#Other:01881    private function matchTokenAt_24(Token $token, ParserContext $context): int1882    {1883        if ($this->match_EOF($context, $token)) {1884            $this->endRule($context, RuleType::Description);1885            $this->endRule($context, RuleType::RuleHeader);1886            $this->endRule($context, RuleType::Rule);1887            $this->endRule($context, RuleType::Feature);1888            $this->build($context, $token);1889            return 42;1890        }1891        if ($this->match_Comment($context, $token)) {1892            $this->endRule($context, RuleType::Description);1893            $this->build($context, $token);1894            return 25;1895        }1896        if ($this->match_BackgroundLine($context, $token)) {1897            $this->endRule($context, RuleType::Description);1898            $this->endRule($context, RuleType::RuleHeader);1899            $this->startRule($context, RuleType::Background);1900            $this->build($context, $token);1901            return 26;1902        }1903        if ($this->match_TagLine($context, $token)) {1904            if ($this->lookahead_0($context)) {1905                $this->endRule($context, RuleType::Description);1906                $this->endRule($context, RuleType::RuleHeader);1907                $this->startRule($context, RuleType::ScenarioDefinition);1908                $this->startRule($context, RuleType::Tags);1909                $this->build($context, $token);1910                return 31;1911            }1912        }1913        if ($this->match_TagLine($context, $token)) {1914            $this->endRule($context, RuleType::Description);1915            $this->endRule($context, RuleType::RuleHeader);1916            $this->endRule($context, RuleType::Rule);1917            $this->startRule($context, RuleType::Rule);1918            $this->startRule($context, RuleType::RuleHeader);1919            $this->startRule($context, RuleType::Tags);1920            $this->build($context, $token);1921            return 22;1922        }1923        if ($this->match_ScenarioLine($context, $token)) {1924            $this->endRule($context, RuleType::Description);1925            $this->endRule($context, RuleType::RuleHeader);1926            $this->startRule($context, RuleType::ScenarioDefinition);1927            $this->startRule($context, RuleType::Scenario);1928            $this->build($context, $token);1929            return 32;1930        }1931        if ($this->match_RuleLine($context, $token)) {1932            $this->endRule($context, RuleType::Description);1933            $this->endRule($context, RuleType::RuleHeader);1934            $this->endRule($context, RuleType::Rule);1935            $this->startRule($context, RuleType::Rule);1936            $this->startRule($context, RuleType::RuleHeader);1937            $this->build($context, $token);1938            return 23;1939        }1940        if ($this->match_Other($context, $token)) {1941            $this->build($context, $token);1942            return 24;1943        }1944        $stateComment = "State: 24 - GherkinDocument:0>Feature:3>Rule:0>RuleHeader:2>DescriptionHelper:1>Description:0>#Other:0";1945        $expectedTokens = ["#EOF", "#Comment", "#BackgroundLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Other"];1946        $error = $token->isEOF()1947                ? new UnexpectedEofException($token, $expectedTokens, $stateComment)1948                : new UnexpectedTokenException($token, $expectedTokens, $stateComment);1949        $this->addError($context, $error);1950        return 24;1951    }1952    // GherkinDocument:0>Feature:3>Rule:0>RuleHeader:2>DescriptionHelper:2>#Comment:01953    private function matchTokenAt_25(Token $token, ParserContext $context): int1954    {1955        if ($this->match_EOF($context, $token)) {1956            $this->endRule($context, RuleType::RuleHeader);1957            $this->endRule($context, RuleType::Rule);1958            $this->endRule($context, RuleType::Feature);1959            $this->build($context, $token);1960            return 42;1961        }1962        if ($this->match_Comment($context, $token)) {1963            $this->build($context, $token);1964            return 25;1965        }1966        if ($this->match_BackgroundLine($context, $token)) {1967            $this->endRule($context, RuleType::RuleHeader);1968            $this->startRule($context, RuleType::Background);1969            $this->build($context, $token);1970            return 26;1971        }1972        if ($this->match_TagLine($context, $token)) {1973            if ($this->lookahead_0($context)) {1974                $this->endRule($context, RuleType::RuleHeader);1975                $this->startRule($context, RuleType::ScenarioDefinition);1976                $this->startRule($context, RuleType::Tags);1977                $this->build($context, $token);1978                return 31;1979            }1980        }1981        if ($this->match_TagLine($context, $token)) {1982            $this->endRule($context, RuleType::RuleHeader);1983            $this->endRule($context, RuleType::Rule);1984            $this->startRule($context, RuleType::Rule);1985            $this->startRule($context, RuleType::RuleHeader);1986            $this->startRule($context, RuleType::Tags);1987            $this->build($context, $token);1988            return 22;1989        }1990        if ($this->match_ScenarioLine($context, $token)) {1991            $this->endRule($context, RuleType::RuleHeader);1992            $this->startRule($context, RuleType::ScenarioDefinition);1993            $this->startRule($context, RuleType::Scenario);1994            $this->build($context, $token);1995            return 32;1996        }1997        if ($this->match_RuleLine($context, $token)) {1998            $this->endRule($context, RuleType::RuleHeader);1999            $this->endRule($context, RuleType::Rule);2000            $this->startRule($context, RuleType::Rule);2001            $this->startRule($context, RuleType::RuleHeader);2002            $this->build($context, $token);2003            return 23;2004        }2005        if ($this->match_Empty($context, $token)) {2006            $this->build($context, $token);2007            return 25;2008        }2009        $stateComment = "State: 25 - GherkinDocument:0>Feature:3>Rule:0>RuleHeader:2>DescriptionHelper:2>#Comment:0";2010        $expectedTokens = ["#EOF", "#Comment", "#BackgroundLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Empty"];2011        $error = $token->isEOF()2012                ? new UnexpectedEofException($token, $expectedTokens, $stateComment)2013                : new UnexpectedTokenException($token, $expectedTokens, $stateComment);2014        $this->addError($context, $error);2015        return 25;2016    }2017    // GherkinDocument:0>Feature:3>Rule:1>Background:0>#BackgroundLine:02018    private function matchTokenAt_26(Token $token, ParserContext $context): int2019    {2020        if ($this->match_EOF($context, $token)) {2021            $this->endRule($context, RuleType::Background);2022            $this->endRule($context, RuleType::Rule);2023            $this->endRule($context, RuleType::Feature);2024            $this->build($context, $token);2025            return 42;2026        }2027        if ($this->match_Empty($context, $token)) {2028            $this->build($context, $token);2029            return 26;2030        }2031        if ($this->match_Comment($context, $token)) {2032            $this->build($context, $token);2033            return 28;2034        }2035        if ($this->match_StepLine($context, $token)) {2036            $this->startRule($context, RuleType::Step);2037            $this->build($context, $token);2038            return 29;2039        }2040        if ($this->match_TagLine($context, $token)) {2041            if ($this->lookahead_0($context)) {2042                $this->endRule($context, RuleType::Background);2043                $this->startRule($context, RuleType::ScenarioDefinition);2044                $this->startRule($context, RuleType::Tags);2045                $this->build($context, $token);2046                return 31;2047            }2048        }2049        if ($this->match_TagLine($context, $token)) {2050            $this->endRule($context, RuleType::Background);2051            $this->endRule($context, RuleType::Rule);2052            $this->startRule($context, RuleType::Rule);2053            $this->startRule($context, RuleType::RuleHeader);2054            $this->startRule($context, RuleType::Tags);2055            $this->build($context, $token);2056            return 22;2057        }2058        if ($this->match_ScenarioLine($context, $token)) {2059            $this->endRule($context, RuleType::Background);2060            $this->startRule($context, RuleType::ScenarioDefinition);2061            $this->startRule($context, RuleType::Scenario);2062            $this->build($context, $token);2063            return 32;2064        }2065        if ($this->match_RuleLine($context, $token)) {2066            $this->endRule($context, RuleType::Background);2067            $this->endRule($context, RuleType::Rule);2068            $this->startRule($context, RuleType::Rule);2069            $this->startRule($context, RuleType::RuleHeader);2070            $this->build($context, $token);2071            return 23;2072        }2073        if ($this->match_Other($context, $token)) {2074            $this->startRule($context, RuleType::Description);2075            $this->build($context, $token);2076            return 27;2077        }2078        $stateComment = "State: 26 - GherkinDocument:0>Feature:3>Rule:1>Background:0>#BackgroundLine:0";2079        $expectedTokens = ["#EOF", "#Empty", "#Comment", "#StepLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Other"];2080        $error = $token->isEOF()2081                ? new UnexpectedEofException($token, $expectedTokens, $stateComment)2082                : new UnexpectedTokenException($token, $expectedTokens, $stateComment);2083        $this->addError($context, $error);2084        return 26;2085    }2086    // GherkinDocument:0>Feature:3>Rule:1>Background:1>DescriptionHelper:1>Description:0>#Other:02087    private function matchTokenAt_27(Token $token, ParserContext $context): int2088    {2089        if ($this->match_EOF($context, $token)) {2090            $this->endRule($context, RuleType::Description);2091            $this->endRule($context, RuleType::Background);2092            $this->endRule($context, RuleType::Rule);2093            $this->endRule($context, RuleType::Feature);2094            $this->build($context, $token);2095            return 42;2096        }2097        if ($this->match_Comment($context, $token)) {2098            $this->endRule($context, RuleType::Description);2099            $this->build($context, $token);2100            return 28;2101        }2102        if ($this->match_StepLine($context, $token)) {2103            $this->endRule($context, RuleType::Description);2104            $this->startRule($context, RuleType::Step);2105            $this->build($context, $token);2106            return 29;2107        }2108        if ($this->match_TagLine($context, $token)) {2109            if ($this->lookahead_0($context)) {2110                $this->endRule($context, RuleType::Description);2111                $this->endRule($context, RuleType::Background);2112                $this->startRule($context, RuleType::ScenarioDefinition);2113                $this->startRule($context, RuleType::Tags);2114                $this->build($context, $token);2115                return 31;2116            }2117        }2118        if ($this->match_TagLine($context, $token)) {2119            $this->endRule($context, RuleType::Description);2120            $this->endRule($context, RuleType::Background);2121            $this->endRule($context, RuleType::Rule);2122            $this->startRule($context, RuleType::Rule);2123            $this->startRule($context, RuleType::RuleHeader);2124            $this->startRule($context, RuleType::Tags);2125            $this->build($context, $token);2126            return 22;2127        }2128        if ($this->match_ScenarioLine($context, $token)) {2129            $this->endRule($context, RuleType::Description);2130            $this->endRule($context, RuleType::Background);2131            $this->startRule($context, RuleType::ScenarioDefinition);2132            $this->startRule($context, RuleType::Scenario);2133            $this->build($context, $token);2134            return 32;2135        }2136        if ($this->match_RuleLine($context, $token)) {2137            $this->endRule($context, RuleType::Description);2138            $this->endRule($context, RuleType::Background);2139            $this->endRule($context, RuleType::Rule);2140            $this->startRule($context, RuleType::Rule);2141            $this->startRule($context, RuleType::RuleHeader);2142            $this->build($context, $token);2143            return 23;2144        }2145        if ($this->match_Other($context, $token)) {2146            $this->build($context, $token);2147            return 27;2148        }2149        $stateComment = "State: 27 - GherkinDocument:0>Feature:3>Rule:1>Background:1>DescriptionHelper:1>Description:0>#Other:0";2150        $expectedTokens = ["#EOF", "#Comment", "#StepLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Other"];2151        $error = $token->isEOF()2152                ? new UnexpectedEofException($token, $expectedTokens, $stateComment)2153                : new UnexpectedTokenException($token, $expectedTokens, $stateComment);2154        $this->addError($context, $error);2155        return 27;2156    }2157    // GherkinDocument:0>Feature:3>Rule:1>Background:1>DescriptionHelper:2>#Comment:02158    private function matchTokenAt_28(Token $token, ParserContext $context): int2159    {2160        if ($this->match_EOF($context, $token)) {2161            $this->endRule($context, RuleType::Background);2162            $this->endRule($context, RuleType::Rule);2163            $this->endRule($context, RuleType::Feature);2164            $this->build($context, $token);2165            return 42;2166        }2167        if ($this->match_Comment($context, $token)) {2168            $this->build($context, $token);2169            return 28;2170        }2171        if ($this->match_StepLine($context, $token)) {2172            $this->startRule($context, RuleType::Step);2173            $this->build($context, $token);2174            return 29;2175        }2176        if ($this->match_TagLine($context, $token)) {2177            if ($this->lookahead_0($context)) {2178                $this->endRule($context, RuleType::Background);2179                $this->startRule($context, RuleType::ScenarioDefinition);2180                $this->startRule($context, RuleType::Tags);2181                $this->build($context, $token);2182                return 31;2183            }2184        }2185        if ($this->match_TagLine($context, $token)) {2186            $this->endRule($context, RuleType::Background);2187            $this->endRule($context, RuleType::Rule);2188            $this->startRule($context, RuleType::Rule);2189            $this->startRule($context, RuleType::RuleHeader);2190            $this->startRule($context, RuleType::Tags);2191            $this->build($context, $token);2192            return 22;2193        }2194        if ($this->match_ScenarioLine($context, $token)) {2195            $this->endRule($context, RuleType::Background);2196            $this->startRule($context, RuleType::ScenarioDefinition);2197            $this->startRule($context, RuleType::Scenario);2198            $this->build($context, $token);2199            return 32;2200        }2201        if ($this->match_RuleLine($context, $token)) {2202            $this->endRule($context, RuleType::Background);2203            $this->endRule($context, RuleType::Rule);2204            $this->startRule($context, RuleType::Rule);2205            $this->startRule($context, RuleType::RuleHeader);2206            $this->build($context, $token);2207            return 23;2208        }2209        if ($this->match_Empty($context, $token)) {2210            $this->build($context, $token);2211            return 28;2212        }2213        $stateComment = "State: 28 - GherkinDocument:0>Feature:3>Rule:1>Background:1>DescriptionHelper:2>#Comment:0";2214        $expectedTokens = ["#EOF", "#Comment", "#StepLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Empty"];2215        $error = $token->isEOF()2216                ? new UnexpectedEofException($token, $expectedTokens, $stateComment)2217                : new UnexpectedTokenException($token, $expectedTokens, $stateComment);2218        $this->addError($context, $error);2219        return 28;2220    }2221    // GherkinDocument:0>Feature:3>Rule:1>Background:2>Step:0>#StepLine:02222    private function matchTokenAt_29(Token $token, ParserContext $context): int2223    {2224        if ($this->match_EOF($context, $token)) {2225            $this->endRule($context, RuleType::Step);2226            $this->endRule($context, RuleType::Background);2227            $this->endRule($context, RuleType::Rule);2228            $this->endRule($context, RuleType::Feature);2229            $this->build($context, $token);2230            return 42;2231        }2232        if ($this->match_TableRow($context, $token)) {2233            $this->startRule($context, RuleType::DataTable);2234            $this->build($context, $token);2235            return 30;2236        }2237        if ($this->match_DocStringSeparator($context, $token)) {2238            $this->startRule($context, RuleType::DocString);2239            $this->build($context, $token);2240            return 45;2241        }2242        if ($this->match_StepLine($context, $token)) {2243            $this->endRule($context, RuleType::Step);2244            $this->startRule($context, RuleType::Step);2245            $this->build($context, $token);2246            return 29;2247        }2248        if ($this->match_TagLine($context, $token)) {2249            if ($this->lookahead_0($context)) {2250                $this->endRule($context, RuleType::Step);2251                $this->endRule($context, RuleType::Background);2252                $this->startRule($context, RuleType::ScenarioDefinition);2253                $this->startRule($context, RuleType::Tags);2254                $this->build($context, $token);2255                return 31;2256            }2257        }2258        if ($this->match_TagLine($context, $token)) {2259            $this->endRule($context, RuleType::Step);2260            $this->endRule($context, RuleType::Background);2261            $this->endRule($context, RuleType::Rule);2262            $this->startRule($context, RuleType::Rule);2263            $this->startRule($context, RuleType::RuleHeader);2264            $this->startRule($context, RuleType::Tags);2265            $this->build($context, $token);2266            return 22;2267        }2268        if ($this->match_ScenarioLine($context, $token)) {2269            $this->endRule($context, RuleType::Step);2270            $this->endRule($context, RuleType::Background);2271            $this->startRule($context, RuleType::ScenarioDefinition);2272            $this->startRule($context, RuleType::Scenario);2273            $this->build($context, $token);2274            return 32;2275        }2276        if ($this->match_RuleLine($context, $token)) {2277            $this->endRule($context, RuleType::Step);2278            $this->endRule($context, RuleType::Background);2279            $this->endRule($context, RuleType::Rule);2280            $this->startRule($context, RuleType::Rule);2281            $this->startRule($context, RuleType::RuleHeader);2282            $this->build($context, $token);2283            return 23;2284        }2285        if ($this->match_Comment($context, $token)) {2286            $this->build($context, $token);2287            return 29;2288        }2289        if ($this->match_Empty($context, $token)) {2290            $this->build($context, $token);2291            return 29;2292        }2293        $stateComment = "State: 29 - GherkinDocument:0>Feature:3>Rule:1>Background:2>Step:0>#StepLine:0";2294        $expectedTokens = ["#EOF", "#TableRow", "#DocStringSeparator", "#StepLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty"];2295        $error = $token->isEOF()2296                ? new UnexpectedEofException($token, $expectedTokens, $stateComment)2297                : new UnexpectedTokenException($token, $expectedTokens, $stateComment);2298        $this->addError($context, $error);2299        return 29;2300    }2301    // GherkinDocument:0>Feature:3>Rule:1>Background:2>Step:1>StepArg:0>__alt0:0>DataTable:0>#TableRow:02302    private function matchTokenAt_30(Token $token, ParserContext $context): int2303    {2304        if ($this->match_EOF($context, $token)) {2305            $this->endRule($context, RuleType::DataTable);2306            $this->endRule($context, RuleType::Step);2307            $this->endRule($context, RuleType::Background);2308            $this->endRule($context, RuleType::Rule);2309            $this->endRule($context, RuleType::Feature);2310            $this->build($context, $token);2311            return 42;2312        }2313        if ($this->match_TableRow($context, $token)) {2314            $this->build($context, $token);2315            return 30;2316        }2317        if ($this->match_StepLine($context, $token)) {2318            $this->endRule($context, RuleType::DataTable);2319            $this->endRule($context, RuleType::Step);2320            $this->startRule($context, RuleType::Step);2321            $this->build($context, $token);2322            return 29;2323        }2324        if ($this->match_TagLine($context, $token)) {2325            if ($this->lookahead_0($context)) {2326                $this->endRule($context, RuleType::DataTable);2327                $this->endRule($context, RuleType::Step);2328                $this->endRule($context, RuleType::Background);2329                $this->startRule($context, RuleType::ScenarioDefinition);2330                $this->startRule($context, RuleType::Tags);2331                $this->build($context, $token);2332                return 31;2333            }2334        }2335        if ($this->match_TagLine($context, $token)) {2336            $this->endRule($context, RuleType::DataTable);2337            $this->endRule($context, RuleType::Step);2338            $this->endRule($context, RuleType::Background);2339            $this->endRule($context, RuleType::Rule);2340            $this->startRule($context, RuleType::Rule);2341            $this->startRule($context, RuleType::RuleHeader);2342            $this->startRule($context, RuleType::Tags);2343            $this->build($context, $token);2344            return 22;2345        }2346        if ($this->match_ScenarioLine($context, $token)) {2347            $this->endRule($context, RuleType::DataTable);2348            $this->endRule($context, RuleType::Step);2349            $this->endRule($context, RuleType::Background);2350            $this->startRule($context, RuleType::ScenarioDefinition);2351            $this->startRule($context, RuleType::Scenario);2352            $this->build($context, $token);2353            return 32;2354        }2355        if ($this->match_RuleLine($context, $token)) {2356            $this->endRule($context, RuleType::DataTable);2357            $this->endRule($context, RuleType::Step);2358            $this->endRule($context, RuleType::Background);2359            $this->endRule($context, RuleType::Rule);2360            $this->startRule($context, RuleType::Rule);2361            $this->startRule($context, RuleType::RuleHeader);2362            $this->build($context, $token);2363            return 23;2364        }2365        if ($this->match_Comment($context, $token)) {2366            $this->build($context, $token);2367            return 30;2368        }2369        if ($this->match_Empty($context, $token)) {2370            $this->build($context, $token);2371            return 30;2372        }2373        $stateComment = "State: 30 - GherkinDocument:0>Feature:3>Rule:1>Background:2>Step:1>StepArg:0>__alt0:0>DataTable:0>#TableRow:0";2374        $expectedTokens = ["#EOF", "#TableRow", "#StepLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty"];2375        $error = $token->isEOF()2376                ? new UnexpectedEofException($token, $expectedTokens, $stateComment)2377                : new UnexpectedTokenException($token, $expectedTokens, $stateComment);2378        $this->addError($context, $error);2379        return 30;2380    }2381    // GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:0>Tags:0>#TagLine:02382    private function matchTokenAt_31(Token $token, ParserContext $context): int2383    {2384        if ($this->match_TagLine($context, $token)) {2385            $this->build($context, $token);2386            return 31;2387        }2388        if ($this->match_ScenarioLine($context, $token)) {2389            $this->endRule($context, RuleType::Tags);2390            $this->startRule($context, RuleType::Scenario);2391            $this->build($context, $token);2392            return 32;2393        }2394        if ($this->match_Comment($context, $token)) {2395            $this->build($context, $token);2396            return 31;2397        }2398        if ($this->match_Empty($context, $token)) {2399            $this->build($context, $token);2400            return 31;2401        }2402        $stateComment = "State: 31 - GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:0>Tags:0>#TagLine:0";2403        $expectedTokens = ["#TagLine", "#ScenarioLine", "#Comment", "#Empty"];2404        $error = $token->isEOF()2405                ? new UnexpectedEofException($token, $expectedTokens, $stateComment)2406                : new UnexpectedTokenException($token, $expectedTokens, $stateComment);2407        $this->addError($context, $error);2408        return 31;2409    }2410    // GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:0>#ScenarioLine:02411    private function matchTokenAt_32(Token $token, ParserContext $context): int2412    {2413        if ($this->match_EOF($context, $token)) {2414            $this->endRule($context, RuleType::Scenario);2415            $this->endRule($context, RuleType::ScenarioDefinition);2416            $this->endRule($context, RuleType::Rule);2417            $this->endRule($context, RuleType::Feature);2418            $this->build($context, $token);2419            return 42;2420        }2421        if ($this->match_Empty($context, $token)) {2422            $this->build($context, $token);2423            return 32;2424        }2425        if ($this->match_Comment($context, $token)) {2426            $this->build($context, $token);2427            return 34;2428        }2429        if ($this->match_StepLine($context, $token)) {2430            $this->startRule($context, RuleType::Step);2431            $this->build($context, $token);2432            return 35;2433        }2434        if ($this->match_TagLine($context, $token)) {2435            if ($this->lookahead_1($context)) {2436                $this->startRule($context, RuleType::ExamplesDefinition);2437                $this->startRule($context, RuleType::Tags);2438                $this->build($context, $token);2439                return 37;2440            }2441        }2442        if ($this->match_TagLine($context, $token)) {2443            if ($this->lookahead_0($context)) {2444                $this->endRule($context, RuleType::Scenario);2445                $this->endRule($context, RuleType::ScenarioDefinition);2446                $this->startRule($context, RuleType::ScenarioDefinition);2447                $this->startRule($context, RuleType::Tags);2448                $this->build($context, $token);2449                return 31;2450            }2451        }2452        if ($this->match_TagLine($context, $token)) {2453            $this->endRule($context, RuleType::Scenario);2454            $this->endRule($context, RuleType::ScenarioDefinition);2455            $this->endRule($context, RuleType::Rule);2456            $this->startRule($context, RuleType::Rule);2457            $this->startRule($context, RuleType::RuleHeader);2458            $this->startRule($context, RuleType::Tags);2459            $this->build($context, $token);2460            return 22;2461        }2462        if ($this->match_ExamplesLine($context, $token)) {2463            $this->startRule($context, RuleType::ExamplesDefinition);2464            $this->startRule($context, RuleType::Examples);2465            $this->build($context, $token);2466            return 38;2467        }2468        if ($this->match_ScenarioLine($context, $token)) {2469            $this->endRule($context, RuleType::Scenario);2470            $this->endRule($context, RuleType::ScenarioDefinition);2471            $this->startRule($context, RuleType::ScenarioDefinition);2472            $this->startRule($context, RuleType::Scenario);2473            $this->build($context, $token);2474            return 32;2475        }2476        if ($this->match_RuleLine($context, $token)) {2477            $this->endRule($context, RuleType::Scenario);2478            $this->endRule($context, RuleType::ScenarioDefinition);2479            $this->endRule($context, RuleType::Rule);2480            $this->startRule($context, RuleType::Rule);2481            $this->startRule($context, RuleType::RuleHeader);2482            $this->build($context, $token);2483            return 23;2484        }2485        if ($this->match_Other($context, $token)) {2486            $this->startRule($context, RuleType::Description);2487            $this->build($context, $token);2488            return 33;2489        }2490        $stateComment = "State: 32 - GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:0>#ScenarioLine:0";2491        $expectedTokens = ["#EOF", "#Empty", "#Comment", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Other"];2492        $error = $token->isEOF()2493                ? new UnexpectedEofException($token, $expectedTokens, $stateComment)2494                : new UnexpectedTokenException($token, $expectedTokens, $stateComment);2495        $this->addError($context, $error);2496        return 32;2497    }2498    // GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:1>DescriptionHelper:1>Description:0>#Other:02499    private function matchTokenAt_33(Token $token, ParserContext $context): int2500    {2501        if ($this->match_EOF($context, $token)) {2502            $this->endRule($context, RuleType::Description);2503            $this->endRule($context, RuleType::Scenario);2504            $this->endRule($context, RuleType::ScenarioDefinition);2505            $this->endRule($context, RuleType::Rule);2506            $this->endRule($context, RuleType::Feature);2507            $this->build($context, $token);2508            return 42;2509        }2510        if ($this->match_Comment($context, $token)) {2511            $this->endRule($context, RuleType::Description);2512            $this->build($context, $token);2513            return 34;2514        }2515        if ($this->match_StepLine($context, $token)) {2516            $this->endRule($context, RuleType::Description);2517            $this->startRule($context, RuleType::Step);2518            $this->build($context, $token);2519            return 35;2520        }2521        if ($this->match_TagLine($context, $token)) {2522            if ($this->lookahead_1($context)) {2523                $this->endRule($context, RuleType::Description);2524                $this->startRule($context, RuleType::ExamplesDefinition);2525                $this->startRule($context, RuleType::Tags);2526                $this->build($context, $token);2527                return 37;2528            }2529        }2530        if ($this->match_TagLine($context, $token)) {2531            if ($this->lookahead_0($context)) {2532                $this->endRule($context, RuleType::Description);2533                $this->endRule($context, RuleType::Scenario);2534                $this->endRule($context, RuleType::ScenarioDefinition);2535                $this->startRule($context, RuleType::ScenarioDefinition);2536                $this->startRule($context, RuleType::Tags);2537                $this->build($context, $token);2538                return 31;2539            }2540        }2541        if ($this->match_TagLine($context, $token)) {2542            $this->endRule($context, RuleType::Description);2543            $this->endRule($context, RuleType::Scenario);2544            $this->endRule($context, RuleType::ScenarioDefinition);2545            $this->endRule($context, RuleType::Rule);2546            $this->startRule($context, RuleType::Rule);2547            $this->startRule($context, RuleType::RuleHeader);2548            $this->startRule($context, RuleType::Tags);2549            $this->build($context, $token);2550            return 22;2551        }2552        if ($this->match_ExamplesLine($context, $token)) {2553            $this->endRule($context, RuleType::Description);2554            $this->startRule($context, RuleType::ExamplesDefinition);2555            $this->startRule($context, RuleType::Examples);2556            $this->build($context, $token);2557            return 38;2558        }2559        if ($this->match_ScenarioLine($context, $token)) {2560            $this->endRule($context, RuleType::Description);2561            $this->endRule($context, RuleType::Scenario);2562            $this->endRule($context, RuleType::ScenarioDefinition);2563            $this->startRule($context, RuleType::ScenarioDefinition);2564            $this->startRule($context, RuleType::Scenario);2565            $this->build($context, $token);2566            return 32;2567        }2568        if ($this->match_RuleLine($context, $token)) {2569            $this->endRule($context, RuleType::Description);2570            $this->endRule($context, RuleType::Scenario);2571            $this->endRule($context, RuleType::ScenarioDefinition);2572            $this->endRule($context, RuleType::Rule);2573            $this->startRule($context, RuleType::Rule);2574            $this->startRule($context, RuleType::RuleHeader);2575            $this->build($context, $token);2576            return 23;2577        }2578        if ($this->match_Other($context, $token)) {2579            $this->build($context, $token);2580            return 33;2581        }2582        $stateComment = "State: 33 - GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:1>DescriptionHelper:1>Description:0>#Other:0";2583        $expectedTokens = ["#EOF", "#Comment", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Other"];2584        $error = $token->isEOF()2585                ? new UnexpectedEofException($token, $expectedTokens, $stateComment)2586                : new UnexpectedTokenException($token, $expectedTokens, $stateComment);2587        $this->addError($context, $error);2588        return 33;2589    }2590    // GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:1>DescriptionHelper:2>#Comment:02591    private function matchTokenAt_34(Token $token, ParserContext $context): int2592    {2593        if ($this->match_EOF($context, $token)) {2594            $this->endRule($context, RuleType::Scenario);2595            $this->endRule($context, RuleType::ScenarioDefinition);2596            $this->endRule($context, RuleType::Rule);2597            $this->endRule($context, RuleType::Feature);2598            $this->build($context, $token);2599            return 42;2600        }2601        if ($this->match_Comment($context, $token)) {2602            $this->build($context, $token);2603            return 34;2604        }2605        if ($this->match_StepLine($context, $token)) {2606            $this->startRule($context, RuleType::Step);2607            $this->build($context, $token);2608            return 35;2609        }2610        if ($this->match_TagLine($context, $token)) {2611            if ($this->lookahead_1($context)) {2612                $this->startRule($context, RuleType::ExamplesDefinition);2613                $this->startRule($context, RuleType::Tags);2614                $this->build($context, $token);2615                return 37;2616            }2617        }2618        if ($this->match_TagLine($context, $token)) {2619            if ($this->lookahead_0($context)) {2620                $this->endRule($context, RuleType::Scenario);2621                $this->endRule($context, RuleType::ScenarioDefinition);2622                $this->startRule($context, RuleType::ScenarioDefinition);2623                $this->startRule($context, RuleType::Tags);2624                $this->build($context, $token);2625                return 31;2626            }2627        }2628        if ($this->match_TagLine($context, $token)) {2629            $this->endRule($context, RuleType::Scenario);2630            $this->endRule($context, RuleType::ScenarioDefinition);2631            $this->endRule($context, RuleType::Rule);2632            $this->startRule($context, RuleType::Rule);2633            $this->startRule($context, RuleType::RuleHeader);2634            $this->startRule($context, RuleType::Tags);2635            $this->build($context, $token);2636            return 22;2637        }2638        if ($this->match_ExamplesLine($context, $token)) {2639            $this->startRule($context, RuleType::ExamplesDefinition);2640            $this->startRule($context, RuleType::Examples);2641            $this->build($context, $token);2642            return 38;2643        }2644        if ($this->match_ScenarioLine($context, $token)) {2645            $this->endRule($context, RuleType::Scenario);2646            $this->endRule($context, RuleType::ScenarioDefinition);2647            $this->startRule($context, RuleType::ScenarioDefinition);2648            $this->startRule($context, RuleType::Scenario);2649            $this->build($context, $token);2650            return 32;2651        }2652        if ($this->match_RuleLine($context, $token)) {2653            $this->endRule($context, RuleType::Scenario);2654            $this->endRule($context, RuleType::ScenarioDefinition);2655            $this->endRule($context, RuleType::Rule);2656            $this->startRule($context, RuleType::Rule);2657            $this->startRule($context, RuleType::RuleHeader);2658            $this->build($context, $token);2659            return 23;2660        }2661        if ($this->match_Empty($context, $token)) {2662            $this->build($context, $token);2663            return 34;2664        }2665        $stateComment = "State: 34 - GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:1>DescriptionHelper:2>#Comment:0";2666        $expectedTokens = ["#EOF", "#Comment", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Empty"];2667        $error = $token->isEOF()2668                ? new UnexpectedEofException($token, $expectedTokens, $stateComment)2669                : new UnexpectedTokenException($token, $expectedTokens, $stateComment);2670        $this->addError($context, $error);2671        return 34;2672    }2673    // GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:2>Step:0>#StepLine:02674    private function matchTokenAt_35(Token $token, ParserContext $context): int2675    {2676        if ($this->match_EOF($context, $token)) {2677            $this->endRule($context, RuleType::Step);2678            $this->endRule($context, RuleType::Scenario);2679            $this->endRule($context, RuleType::ScenarioDefinition);2680            $this->endRule($context, RuleType::Rule);2681            $this->endRule($context, RuleType::Feature);2682            $this->build($context, $token);2683            return 42;2684        }2685        if ($this->match_TableRow($context, $token)) {2686            $this->startRule($context, RuleType::DataTable);2687            $this->build($context, $token);2688            return 36;2689        }2690        if ($this->match_DocStringSeparator($context, $token)) {2691            $this->startRule($context, RuleType::DocString);2692            $this->build($context, $token);2693            return 43;2694        }2695        if ($this->match_StepLine($context, $token)) {2696            $this->endRule($context, RuleType::Step);2697            $this->startRule($context, RuleType::Step);2698            $this->build($context, $token);2699            return 35;2700        }2701        if ($this->match_TagLine($context, $token)) {2702            if ($this->lookahead_1($context)) {2703                $this->endRule($context, RuleType::Step);2704                $this->startRule($context, RuleType::ExamplesDefinition);2705                $this->startRule($context, RuleType::Tags);2706                $this->build($context, $token);2707                return 37;2708            }2709        }2710        if ($this->match_TagLine($context, $token)) {2711            if ($this->lookahead_0($context)) {2712                $this->endRule($context, RuleType::Step);2713                $this->endRule($context, RuleType::Scenario);2714                $this->endRule($context, RuleType::ScenarioDefinition);2715                $this->startRule($context, RuleType::ScenarioDefinition);2716                $this->startRule($context, RuleType::Tags);2717                $this->build($context, $token);2718                return 31;2719            }2720        }2721        if ($this->match_TagLine($context, $token)) {2722            $this->endRule($context, RuleType::Step);2723            $this->endRule($context, RuleType::Scenario);2724            $this->endRule($context, RuleType::ScenarioDefinition);2725            $this->endRule($context, RuleType::Rule);2726            $this->startRule($context, RuleType::Rule);2727            $this->startRule($context, RuleType::RuleHeader);2728            $this->startRule($context, RuleType::Tags);2729            $this->build($context, $token);2730            return 22;2731        }2732        if ($this->match_ExamplesLine($context, $token)) {2733            $this->endRule($context, RuleType::Step);2734            $this->startRule($context, RuleType::ExamplesDefinition);2735            $this->startRule($context, RuleType::Examples);2736            $this->build($context, $token);2737            return 38;2738        }2739        if ($this->match_ScenarioLine($context, $token)) {2740            $this->endRule($context, RuleType::Step);2741            $this->endRule($context, RuleType::Scenario);2742            $this->endRule($context, RuleType::ScenarioDefinition);2743            $this->startRule($context, RuleType::ScenarioDefinition);2744            $this->startRule($context, RuleType::Scenario);2745            $this->build($context, $token);2746            return 32;2747        }2748        if ($this->match_RuleLine($context, $token)) {2749            $this->endRule($context, RuleType::Step);2750            $this->endRule($context, RuleType::Scenario);2751            $this->endRule($context, RuleType::ScenarioDefinition);2752            $this->endRule($context, RuleType::Rule);2753            $this->startRule($context, RuleType::Rule);2754            $this->startRule($context, RuleType::RuleHeader);2755            $this->build($context, $token);2756            return 23;2757        }2758        if ($this->match_Comment($context, $token)) {2759            $this->build($context, $token);2760            return 35;2761        }2762        if ($this->match_Empty($context, $token)) {2763            $this->build($context, $token);2764            return 35;2765        }2766        $stateComment = "State: 35 - GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:2>Step:0>#StepLine:0";2767        $expectedTokens = ["#EOF", "#TableRow", "#DocStringSeparator", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty"];2768        $error = $token->isEOF()2769                ? new UnexpectedEofException($token, $expectedTokens, $stateComment)2770                : new UnexpectedTokenException($token, $expectedTokens, $stateComment);2771        $this->addError($context, $error);2772        return 35;2773    }2774    // GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:2>Step:1>StepArg:0>__alt0:0>DataTable:0>#TableRow:02775    private function matchTokenAt_36(Token $token, ParserContext $context): int2776    {2777        if ($this->match_EOF($context, $token)) {2778            $this->endRule($context, RuleType::DataTable);2779            $this->endRule($context, RuleType::Step);2780            $this->endRule($context, RuleType::Scenario);2781            $this->endRule($context, RuleType::ScenarioDefinition);2782            $this->endRule($context, RuleType::Rule);2783            $this->endRule($context, RuleType::Feature);2784            $this->build($context, $token);2785            return 42;2786        }2787        if ($this->match_TableRow($context, $token)) {2788            $this->build($context, $token);2789            return 36;2790        }2791        if ($this->match_StepLine($context, $token)) {2792            $this->endRule($context, RuleType::DataTable);2793            $this->endRule($context, RuleType::Step);2794            $this->startRule($context, RuleType::Step);2795            $this->build($context, $token);2796            return 35;2797        }2798        if ($this->match_TagLine($context, $token)) {2799            if ($this->lookahead_1($context)) {2800                $this->endRule($context, RuleType::DataTable);2801                $this->endRule($context, RuleType::Step);2802                $this->startRule($context, RuleType::ExamplesDefinition);2803                $this->startRule($context, RuleType::Tags);2804                $this->build($context, $token);2805                return 37;2806            }2807        }2808        if ($this->match_TagLine($context, $token)) {2809            if ($this->lookahead_0($context)) {2810                $this->endRule($context, RuleType::DataTable);2811                $this->endRule($context, RuleType::Step);2812                $this->endRule($context, RuleType::Scenario);2813                $this->endRule($context, RuleType::ScenarioDefinition);2814                $this->startRule($context, RuleType::ScenarioDefinition);2815                $this->startRule($context, RuleType::Tags);2816                $this->build($context, $token);2817                return 31;2818            }2819        }2820        if ($this->match_TagLine($context, $token)) {2821            $this->endRule($context, RuleType::DataTable);2822            $this->endRule($context, RuleType::Step);2823            $this->endRule($context, RuleType::Scenario);2824            $this->endRule($context, RuleType::ScenarioDefinition);2825            $this->endRule($context, RuleType::Rule);2826            $this->startRule($context, RuleType::Rule);2827            $this->startRule($context, RuleType::RuleHeader);2828            $this->startRule($context, RuleType::Tags);2829            $this->build($context, $token);2830            return 22;2831        }2832        if ($this->match_ExamplesLine($context, $token)) {2833            $this->endRule($context, RuleType::DataTable);2834            $this->endRule($context, RuleType::Step);2835            $this->startRule($context, RuleType::ExamplesDefinition);2836            $this->startRule($context, RuleType::Examples);2837            $this->build($context, $token);2838            return 38;2839        }2840        if ($this->match_ScenarioLine($context, $token)) {2841            $this->endRule($context, RuleType::DataTable);2842            $this->endRule($context, RuleType::Step);2843            $this->endRule($context, RuleType::Scenario);2844            $this->endRule($context, RuleType::ScenarioDefinition);2845            $this->startRule($context, RuleType::ScenarioDefinition);2846            $this->startRule($context, RuleType::Scenario);2847            $this->build($context, $token);2848            return 32;2849        }2850        if ($this->match_RuleLine($context, $token)) {2851            $this->endRule($context, RuleType::DataTable);2852            $this->endRule($context, RuleType::Step);2853            $this->endRule($context, RuleType::Scenario);2854            $this->endRule($context, RuleType::ScenarioDefinition);2855            $this->endRule($context, RuleType::Rule);2856            $this->startRule($context, RuleType::Rule);2857            $this->startRule($context, RuleType::RuleHeader);2858            $this->build($context, $token);2859            return 23;2860        }2861        if ($this->match_Comment($context, $token)) {2862            $this->build($context, $token);2863            return 36;2864        }2865        if ($this->match_Empty($context, $token)) {2866            $this->build($context, $token);2867            return 36;2868        }2869        $stateComment = "State: 36 - GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:2>Step:1>StepArg:0>__alt0:0>DataTable:0>#TableRow:0";2870        $expectedTokens = ["#EOF", "#TableRow", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty"];2871        $error = $token->isEOF()2872                ? new UnexpectedEofException($token, $expectedTokens, $stateComment)2873                : new UnexpectedTokenException($token, $expectedTokens, $stateComment);2874        $this->addError($context, $error);2875        return 36;2876    }2877    // GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:0>Tags:0>#TagLine:02878    private function matchTokenAt_37(Token $token, ParserContext $context): int2879    {2880        if ($this->match_TagLine($context, $token)) {2881            $this->build($context, $token);2882            return 37;2883        }2884        if ($this->match_ExamplesLine($context, $token)) {2885            $this->endRule($context, RuleType::Tags);2886            $this->startRule($context, RuleType::Examples);2887            $this->build($context, $token);2888            return 38;2889        }2890        if ($this->match_Comment($context, $token)) {2891            $this->build($context, $token);2892            return 37;2893        }2894        if ($this->match_Empty($context, $token)) {2895            $this->build($context, $token);2896            return 37;2897        }2898        $stateComment = "State: 37 - GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:0>Tags:0>#TagLine:0";2899        $expectedTokens = ["#TagLine", "#ExamplesLine", "#Comment", "#Empty"];2900        $error = $token->isEOF()2901                ? new UnexpectedEofException($token, $expectedTokens, $stateComment)2902                : new UnexpectedTokenException($token, $expectedTokens, $stateComment);2903        $this->addError($context, $error);2904        return 37;2905    }2906    // GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:0>#ExamplesLine:02907    private function matchTokenAt_38(Token $token, ParserContext $context): int2908    {2909        if ($this->match_EOF($context, $token)) {2910            $this->endRule($context, RuleType::Examples);2911            $this->endRule($context, RuleType::ExamplesDefinition);2912            $this->endRule($context, RuleType::Scenario);2913            $this->endRule($context, RuleType::ScenarioDefinition);2914            $this->endRule($context, RuleType::Rule);2915            $this->endRule($context, RuleType::Feature);2916            $this->build($context, $token);2917            return 42;2918        }2919        if ($this->match_Empty($context, $token)) {2920            $this->build($context, $token);2921            return 38;2922        }2923        if ($this->match_Comment($context, $token)) {2924            $this->build($context, $token);2925            return 40;2926        }2927        if ($this->match_TableRow($context, $token)) {2928            $this->startRule($context, RuleType::ExamplesTable);2929            $this->build($context, $token);2930            return 41;2931        }2932        if ($this->match_TagLine($context, $token)) {2933            if ($this->lookahead_1($context)) {2934                $this->endRule($context, RuleType::Examples);2935                $this->endRule($context, RuleType::ExamplesDefinition);2936                $this->startRule($context, RuleType::ExamplesDefinition);2937                $this->startRule($context, RuleType::Tags);2938                $this->build($context, $token);2939                return 37;2940            }2941        }2942        if ($this->match_TagLine($context, $token)) {2943            if ($this->lookahead_0($context)) {2944                $this->endRule($context, RuleType::Examples);2945                $this->endRule($context, RuleType::ExamplesDefinition);2946                $this->endRule($context, RuleType::Scenario);2947                $this->endRule($context, RuleType::ScenarioDefinition);2948                $this->startRule($context, RuleType::ScenarioDefinition);2949                $this->startRule($context, RuleType::Tags);2950                $this->build($context, $token);2951                return 31;2952            }2953        }2954        if ($this->match_TagLine($context, $token)) {2955            $this->endRule($context, RuleType::Examples);2956            $this->endRule($context, RuleType::ExamplesDefinition);2957            $this->endRule($context, RuleType::Scenario);2958            $this->endRule($context, RuleType::ScenarioDefinition);2959            $this->endRule($context, RuleType::Rule);2960            $this->startRule($context, RuleType::Rule);2961            $this->startRule($context, RuleType::RuleHeader);2962            $this->startRule($context, RuleType::Tags);2963            $this->build($context, $token);2964            return 22;2965        }2966        if ($this->match_ExamplesLine($context, $token)) {2967            $this->endRule($context, RuleType::Examples);2968            $this->endRule($context, RuleType::ExamplesDefinition);2969            $this->startRule($context, RuleType::ExamplesDefinition);2970            $this->startRule($context, RuleType::Examples);2971            $this->build($context, $token);2972            return 38;2973        }2974        if ($this->match_ScenarioLine($context, $token)) {2975            $this->endRule($context, RuleType::Examples);2976            $this->endRule($context, RuleType::ExamplesDefinition);2977            $this->endRule($context, RuleType::Scenario);2978            $this->endRule($context, RuleType::ScenarioDefinition);2979            $this->startRule($context, RuleType::ScenarioDefinition);2980            $this->startRule($context, RuleType::Scenario);2981            $this->build($context, $token);2982            return 32;2983        }2984        if ($this->match_RuleLine($context, $token)) {2985            $this->endRule($context, RuleType::Examples);2986            $this->endRule($context, RuleType::ExamplesDefinition);2987            $this->endRule($context, RuleType::Scenario);2988            $this->endRule($context, RuleType::ScenarioDefinition);2989            $this->endRule($context, RuleType::Rule);2990            $this->startRule($context, RuleType::Rule);2991            $this->startRule($context, RuleType::RuleHeader);2992            $this->build($context, $token);2993            return 23;2994        }2995        if ($this->match_Other($context, $token)) {2996            $this->startRule($context, RuleType::Description);2997            $this->build($context, $token);2998            return 39;2999        }3000        $stateComment = "State: 38 - GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:0>#ExamplesLine:0";3001        $expectedTokens = ["#EOF", "#Empty", "#Comment", "#TableRow", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Other"];3002        $error = $token->isEOF()3003                ? new UnexpectedEofException($token, $expectedTokens, $stateComment)3004                : new UnexpectedTokenException($token, $expectedTokens, $stateComment);3005        $this->addError($context, $error);3006        return 38;3007    }3008    // GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:1>DescriptionHelper:1>Description:0>#Other:03009    private function matchTokenAt_39(Token $token, ParserContext $context): int3010    {3011        if ($this->match_EOF($context, $token)) {3012            $this->endRule($context, RuleType::Description);3013            $this->endRule($context, RuleType::Examples);3014            $this->endRule($context, RuleType::ExamplesDefinition);3015            $this->endRule($context, RuleType::Scenario);3016            $this->endRule($context, RuleType::ScenarioDefinition);3017            $this->endRule($context, RuleType::Rule);3018            $this->endRule($context, RuleType::Feature);3019            $this->build($context, $token);3020            return 42;3021        }3022        if ($this->match_Comment($context, $token)) {3023            $this->endRule($context, RuleType::Description);3024            $this->build($context, $token);3025            return 40;3026        }3027        if ($this->match_TableRow($context, $token)) {3028            $this->endRule($context, RuleType::Description);3029            $this->startRule($context, RuleType::ExamplesTable);3030            $this->build($context, $token);3031            return 41;3032        }3033        if ($this->match_TagLine($context, $token)) {3034            if ($this->lookahead_1($context)) {3035                $this->endRule($context, RuleType::Description);3036                $this->endRule($context, RuleType::Examples);3037                $this->endRule($context, RuleType::ExamplesDefinition);3038                $this->startRule($context, RuleType::ExamplesDefinition);3039                $this->startRule($context, RuleType::Tags);3040                $this->build($context, $token);3041                return 37;3042            }3043        }3044        if ($this->match_TagLine($context, $token)) {3045            if ($this->lookahead_0($context)) {3046                $this->endRule($context, RuleType::Description);3047                $this->endRule($context, RuleType::Examples);3048                $this->endRule($context, RuleType::ExamplesDefinition);3049                $this->endRule($context, RuleType::Scenario);3050                $this->endRule($context, RuleType::ScenarioDefinition);3051                $this->startRule($context, RuleType::ScenarioDefinition);3052                $this->startRule($context, RuleType::Tags);3053                $this->build($context, $token);3054                return 31;3055            }3056        }3057        if ($this->match_TagLine($context, $token)) {3058            $this->endRule($context, RuleType::Description);3059            $this->endRule($context, RuleType::Examples);3060            $this->endRule($context, RuleType::ExamplesDefinition);3061            $this->endRule($context, RuleType::Scenario);3062            $this->endRule($context, RuleType::ScenarioDefinition);3063            $this->endRule($context, RuleType::Rule);3064            $this->startRule($context, RuleType::Rule);3065            $this->startRule($context, RuleType::RuleHeader);3066            $this->startRule($context, RuleType::Tags);3067            $this->build($context, $token);3068            return 22;3069        }3070        if ($this->match_ExamplesLine($context, $token)) {3071            $this->endRule($context, RuleType::Description);3072            $this->endRule($context, RuleType::Examples);3073            $this->endRule($context, RuleType::ExamplesDefinition);3074            $this->startRule($context, RuleType::ExamplesDefinition);3075            $this->startRule($context, RuleType::Examples);3076            $this->build($context, $token);3077            return 38;3078        }3079        if ($this->match_ScenarioLine($context, $token)) {3080            $this->endRule($context, RuleType::Description);3081            $this->endRule($context, RuleType::Examples);3082            $this->endRule($context, RuleType::ExamplesDefinition);3083            $this->endRule($context, RuleType::Scenario);3084            $this->endRule($context, RuleType::ScenarioDefinition);3085            $this->startRule($context, RuleType::ScenarioDefinition);3086            $this->startRule($context, RuleType::Scenario);3087            $this->build($context, $token);3088            return 32;3089        }3090        if ($this->match_RuleLine($context, $token)) {3091            $this->endRule($context, RuleType::Description);3092            $this->endRule($context, RuleType::Examples);3093            $this->endRule($context, RuleType::ExamplesDefinition);3094            $this->endRule($context, RuleType::Scenario);3095            $this->endRule($context, RuleType::ScenarioDefinition);3096            $this->endRule($context, RuleType::Rule);3097            $this->startRule($context, RuleType::Rule);3098            $this->startRule($context, RuleType::RuleHeader);3099            $this->build($context, $token);3100            return 23;3101        }3102        if ($this->match_Other($context, $token)) {3103            $this->build($context, $token);3104            return 39;3105        }3106        $stateComment = "State: 39 - GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:1>DescriptionHelper:1>Description:0>#Other:0";3107        $expectedTokens = ["#EOF", "#Comment", "#TableRow", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Other"];3108        $error = $token->isEOF()3109                ? new UnexpectedEofException($token, $expectedTokens, $stateComment)3110                : new UnexpectedTokenException($token, $expectedTokens, $stateComment);3111        $this->addError($context, $error);3112        return 39;3113    }3114    // GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:1>DescriptionHelper:2>#Comment:03115    private function matchTokenAt_40(Token $token, ParserContext $context): int3116    {3117        if ($this->match_EOF($context, $token)) {3118            $this->endRule($context, RuleType::Examples);3119            $this->endRule($context, RuleType::ExamplesDefinition);3120            $this->endRule($context, RuleType::Scenario);3121            $this->endRule($context, RuleType::ScenarioDefinition);3122            $this->endRule($context, RuleType::Rule);3123            $this->endRule($context, RuleType::Feature);3124            $this->build($context, $token);3125            return 42;3126        }3127        if ($this->match_Comment($context, $token)) {3128            $this->build($context, $token);3129            return 40;3130        }3131        if ($this->match_TableRow($context, $token)) {3132            $this->startRule($context, RuleType::ExamplesTable);3133            $this->build($context, $token);3134            return 41;3135        }3136        if ($this->match_TagLine($context, $token)) {3137            if ($this->lookahead_1($context)) {3138                $this->endRule($context, RuleType::Examples);3139                $this->endRule($context, RuleType::ExamplesDefinition);3140                $this->startRule($context, RuleType::ExamplesDefinition);3141                $this->startRule($context, RuleType::Tags);3142                $this->build($context, $token);3143                return 37;3144            }3145        }3146        if ($this->match_TagLine($context, $token)) {3147            if ($this->lookahead_0($context)) {3148                $this->endRule($context, RuleType::Examples);3149                $this->endRule($context, RuleType::ExamplesDefinition);3150                $this->endRule($context, RuleType::Scenario);3151                $this->endRule($context, RuleType::ScenarioDefinition);3152                $this->startRule($context, RuleType::ScenarioDefinition);3153                $this->startRule($context, RuleType::Tags);3154                $this->build($context, $token);3155                return 31;3156            }3157        }3158        if ($this->match_TagLine($context, $token)) {3159            $this->endRule($context, RuleType::Examples);3160            $this->endRule($context, RuleType::ExamplesDefinition);3161            $this->endRule($context, RuleType::Scenario);3162            $this->endRule($context, RuleType::ScenarioDefinition);3163            $this->endRule($context, RuleType::Rule);3164            $this->startRule($context, RuleType::Rule);3165            $this->startRule($context, RuleType::RuleHeader);3166            $this->startRule($context, RuleType::Tags);3167            $this->build($context, $token);3168            return 22;3169        }3170        if ($this->match_ExamplesLine($context, $token)) {3171            $this->endRule($context, RuleType::Examples);3172            $this->endRule($context, RuleType::ExamplesDefinition);3173            $this->startRule($context, RuleType::ExamplesDefinition);3174            $this->startRule($context, RuleType::Examples);3175            $this->build($context, $token);3176            return 38;3177        }3178        if ($this->match_ScenarioLine($context, $token)) {3179            $this->endRule($context, RuleType::Examples);3180            $this->endRule($context, RuleType::ExamplesDefinition);3181            $this->endRule($context, RuleType::Scenario);3182            $this->endRule($context, RuleType::ScenarioDefinition);3183            $this->startRule($context, RuleType::ScenarioDefinition);3184            $this->startRule($context, RuleType::Scenario);3185            $this->build($context, $token);3186            return 32;3187        }3188        if ($this->match_RuleLine($context, $token)) {3189            $this->endRule($context, RuleType::Examples);3190            $this->endRule($context, RuleType::ExamplesDefinition);3191            $this->endRule($context, RuleType::Scenario);3192            $this->endRule($context, RuleType::ScenarioDefinition);3193            $this->endRule($context, RuleType::Rule);3194            $this->startRule($context, RuleType::Rule);3195            $this->startRule($context, RuleType::RuleHeader);3196            $this->build($context, $token);3197            return 23;3198        }3199        if ($this->match_Empty($context, $token)) {3200            $this->build($context, $token);3201            return 40;3202        }3203        $stateComment = "State: 40 - GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:1>DescriptionHelper:2>#Comment:0";3204        $expectedTokens = ["#EOF", "#Comment", "#TableRow", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Empty"];3205        $error = $token->isEOF()3206                ? new UnexpectedEofException($token, $expectedTokens, $stateComment)3207                : new UnexpectedTokenException($token, $expectedTokens, $stateComment);3208        $this->addError($context, $error);3209        return 40;3210    }3211    // GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:2>ExamplesTable:0>#TableRow:03212    private function matchTokenAt_41(Token $token, ParserContext $context): int3213    {3214        if ($this->match_EOF($context, $token)) {3215            $this->endRule($context, RuleType::ExamplesTable);3216            $this->endRule($context, RuleType::Examples);3217            $this->endRule($context, RuleType::ExamplesDefinition);3218            $this->endRule($context, RuleType::Scenario);3219            $this->endRule($context, RuleType::ScenarioDefinition);3220            $this->endRule($context, RuleType::Rule);3221            $this->endRule($context, RuleType::Feature);3222            $this->build($context, $token);3223            return 42;3224        }3225        if ($this->match_TableRow($context, $token)) {3226            $this->build($context, $token);3227            return 41;3228        }3229        if ($this->match_TagLine($context, $token)) {3230            if ($this->lookahead_1($context)) {3231                $this->endRule($context, RuleType::ExamplesTable);3232                $this->endRule($context, RuleType::Examples);3233                $this->endRule($context, RuleType::ExamplesDefinition);3234                $this->startRule($context, RuleType::ExamplesDefinition);3235                $this->startRule($context, RuleType::Tags);3236                $this->build($context, $token);3237                return 37;3238            }3239        }3240        if ($this->match_TagLine($context, $token)) {3241            if ($this->lookahead_0($context)) {3242                $this->endRule($context, RuleType::ExamplesTable);3243                $this->endRule($context, RuleType::Examples);3244                $this->endRule($context, RuleType::ExamplesDefinition);3245                $this->endRule($context, RuleType::Scenario);3246                $this->endRule($context, RuleType::ScenarioDefinition);3247                $this->startRule($context, RuleType::ScenarioDefinition);3248                $this->startRule($context, RuleType::Tags);3249                $this->build($context, $token);3250                return 31;3251            }3252        }3253        if ($this->match_TagLine($context, $token)) {3254            $this->endRule($context, RuleType::ExamplesTable);3255            $this->endRule($context, RuleType::Examples);3256            $this->endRule($context, RuleType::ExamplesDefinition);3257            $this->endRule($context, RuleType::Scenario);3258            $this->endRule($context, RuleType::ScenarioDefinition);3259            $this->endRule($context, RuleType::Rule);3260            $this->startRule($context, RuleType::Rule);3261            $this->startRule($context, RuleType::RuleHeader);3262            $this->startRule($context, RuleType::Tags);3263            $this->build($context, $token);3264            return 22;3265        }3266        if ($this->match_ExamplesLine($context, $token)) {3267            $this->endRule($context, RuleType::ExamplesTable);3268            $this->endRule($context, RuleType::Examples);3269            $this->endRule($context, RuleType::ExamplesDefinition);3270            $this->startRule($context, RuleType::ExamplesDefinition);3271            $this->startRule($context, RuleType::Examples);3272            $this->build($context, $token);3273            return 38;3274        }3275        if ($this->match_ScenarioLine($context, $token)) {3276            $this->endRule($context, RuleType::ExamplesTable);3277            $this->endRule($context, RuleType::Examples);3278            $this->endRule($context, RuleType::ExamplesDefinition);3279            $this->endRule($context, RuleType::Scenario);3280            $this->endRule($context, RuleType::ScenarioDefinition);3281            $this->startRule($context, RuleType::ScenarioDefinition);3282            $this->startRule($context, RuleType::Scenario);3283            $this->build($context, $token);3284            return 32;3285        }3286        if ($this->match_RuleLine($context, $token)) {3287            $this->endRule($context, RuleType::ExamplesTable);3288            $this->endRule($context, RuleType::Examples);3289            $this->endRule($context, RuleType::ExamplesDefinition);3290            $this->endRule($context, RuleType::Scenario);3291            $this->endRule($context, RuleType::ScenarioDefinition);3292            $this->endRule($context, RuleType::Rule);3293            $this->startRule($context, RuleType::Rule);3294            $this->startRule($context, RuleType::RuleHeader);3295            $this->build($context, $token);3296            return 23;3297        }3298        if ($this->match_Comment($context, $token)) {3299            $this->build($context, $token);3300            return 41;3301        }3302        if ($this->match_Empty($context, $token)) {3303            $this->build($context, $token);3304            return 41;3305        }3306        $stateComment = "State: 41 - GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:3>ExamplesDefinition:1>Examples:2>ExamplesTable:0>#TableRow:0";3307        $expectedTokens = ["#EOF", "#TableRow", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty"];3308        $error = $token->isEOF()3309                ? new UnexpectedEofException($token, $expectedTokens, $stateComment)3310                : new UnexpectedTokenException($token, $expectedTokens, $stateComment);3311        $this->addError($context, $error);3312        return 41;3313    }3314    // GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:2>Step:1>StepArg:0>__alt0:1>DocString:0>#DocStringSeparator:03315    private function matchTokenAt_43(Token $token, ParserContext $context): int3316    {3317        if ($this->match_DocStringSeparator($context, $token)) {3318            $this->build($context, $token);3319            return 44;3320        }3321        if ($this->match_Other($context, $token)) {3322            $this->build($context, $token);3323            return 43;3324        }3325        $stateComment = "State: 43 - GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:2>Step:1>StepArg:0>__alt0:1>DocString:0>#DocStringSeparator:0";3326        $expectedTokens = ["#DocStringSeparator", "#Other"];3327        $error = $token->isEOF()3328                ? new UnexpectedEofException($token, $expectedTokens, $stateComment)3329                : new UnexpectedTokenException($token, $expectedTokens, $stateComment);3330        $this->addError($context, $error);3331        return 43;3332    }3333    // GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:2>Step:1>StepArg:0>__alt0:1>DocString:2>#DocStringSeparator:03334    private function matchTokenAt_44(Token $token, ParserContext $context): int3335    {3336        if ($this->match_EOF($context, $token)) {3337            $this->endRule($context, RuleType::DocString);3338            $this->endRule($context, RuleType::Step);3339            $this->endRule($context, RuleType::Scenario);3340            $this->endRule($context, RuleType::ScenarioDefinition);3341            $this->endRule($context, RuleType::Rule);3342            $this->endRule($context, RuleType::Feature);3343            $this->build($context, $token);3344            return 42;3345        }3346        if ($this->match_StepLine($context, $token)) {3347            $this->endRule($context, RuleType::DocString);3348            $this->endRule($context, RuleType::Step);3349            $this->startRule($context, RuleType::Step);3350            $this->build($context, $token);3351            return 35;3352        }3353        if ($this->match_TagLine($context, $token)) {3354            if ($this->lookahead_1($context)) {3355                $this->endRule($context, RuleType::DocString);3356                $this->endRule($context, RuleType::Step);3357                $this->startRule($context, RuleType::ExamplesDefinition);3358                $this->startRule($context, RuleType::Tags);3359                $this->build($context, $token);3360                return 37;3361            }3362        }3363        if ($this->match_TagLine($context, $token)) {3364            if ($this->lookahead_0($context)) {3365                $this->endRule($context, RuleType::DocString);3366                $this->endRule($context, RuleType::Step);3367                $this->endRule($context, RuleType::Scenario);3368                $this->endRule($context, RuleType::ScenarioDefinition);3369                $this->startRule($context, RuleType::ScenarioDefinition);3370                $this->startRule($context, RuleType::Tags);3371                $this->build($context, $token);3372                return 31;3373            }3374        }3375        if ($this->match_TagLine($context, $token)) {3376            $this->endRule($context, RuleType::DocString);3377            $this->endRule($context, RuleType::Step);3378            $this->endRule($context, RuleType::Scenario);3379            $this->endRule($context, RuleType::ScenarioDefinition);3380            $this->endRule($context, RuleType::Rule);3381            $this->startRule($context, RuleType::Rule);3382            $this->startRule($context, RuleType::RuleHeader);3383            $this->startRule($context, RuleType::Tags);3384            $this->build($context, $token);3385            return 22;3386        }3387        if ($this->match_ExamplesLine($context, $token)) {3388            $this->endRule($context, RuleType::DocString);3389            $this->endRule($context, RuleType::Step);3390            $this->startRule($context, RuleType::ExamplesDefinition);3391            $this->startRule($context, RuleType::Examples);3392            $this->build($context, $token);3393            return 38;3394        }3395        if ($this->match_ScenarioLine($context, $token)) {3396            $this->endRule($context, RuleType::DocString);3397            $this->endRule($context, RuleType::Step);3398            $this->endRule($context, RuleType::Scenario);3399            $this->endRule($context, RuleType::ScenarioDefinition);3400            $this->startRule($context, RuleType::ScenarioDefinition);3401            $this->startRule($context, RuleType::Scenario);3402            $this->build($context, $token);3403            return 32;3404        }3405        if ($this->match_RuleLine($context, $token)) {3406            $this->endRule($context, RuleType::DocString);3407            $this->endRule($context, RuleType::Step);3408            $this->endRule($context, RuleType::Scenario);3409            $this->endRule($context, RuleType::ScenarioDefinition);3410            $this->endRule($context, RuleType::Rule);3411            $this->startRule($context, RuleType::Rule);3412            $this->startRule($context, RuleType::RuleHeader);3413            $this->build($context, $token);3414            return 23;3415        }3416        if ($this->match_Comment($context, $token)) {3417            $this->build($context, $token);3418            return 44;3419        }3420        if ($this->match_Empty($context, $token)) {3421            $this->build($context, $token);3422            return 44;3423        }3424        $stateComment = "State: 44 - GherkinDocument:0>Feature:3>Rule:2>ScenarioDefinition:1>Scenario:2>Step:1>StepArg:0>__alt0:1>DocString:2>#DocStringSeparator:0";3425        $expectedTokens = ["#EOF", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty"];3426        $error = $token->isEOF()3427                ? new UnexpectedEofException($token, $expectedTokens, $stateComment)3428                : new UnexpectedTokenException($token, $expectedTokens, $stateComment);3429        $this->addError($context, $error);3430        return 44;3431    }3432    // GherkinDocument:0>Feature:3>Rule:1>Background:2>Step:1>StepArg:0>__alt0:1>DocString:0>#DocStringSeparator:03433    private function matchTokenAt_45(Token $token, ParserContext $context): int3434    {3435        if ($this->match_DocStringSeparator($context, $token)) {3436            $this->build($context, $token);3437            return 46;3438        }3439        if ($this->match_Other($context, $token)) {3440            $this->build($context, $token);3441            return 45;3442        }3443        $stateComment = "State: 45 - GherkinDocument:0>Feature:3>Rule:1>Background:2>Step:1>StepArg:0>__alt0:1>DocString:0>#DocStringSeparator:0";3444        $expectedTokens = ["#DocStringSeparator", "#Other"];3445        $error = $token->isEOF()3446                ? new UnexpectedEofException($token, $expectedTokens, $stateComment)3447                : new UnexpectedTokenException($token, $expectedTokens, $stateComment);3448        $this->addError($context, $error);3449        return 45;3450    }3451    // GherkinDocument:0>Feature:3>Rule:1>Background:2>Step:1>StepArg:0>__alt0:1>DocString:2>#DocStringSeparator:03452    private function matchTokenAt_46(Token $token, ParserContext $context): int3453    {3454        if ($this->match_EOF($context, $token)) {3455            $this->endRule($context, RuleType::DocString);3456            $this->endRule($context, RuleType::Step);3457            $this->endRule($context, RuleType::Background);3458            $this->endRule($context, RuleType::Rule);3459            $this->endRule($context, RuleType::Feature);3460            $this->build($context, $token);3461            return 42;3462        }3463        if ($this->match_StepLine($context, $token)) {3464            $this->endRule($context, RuleType::DocString);3465            $this->endRule($context, RuleType::Step);3466            $this->startRule($context, RuleType::Step);3467            $this->build($context, $token);3468            return 29;3469        }3470        if ($this->match_TagLine($context, $token)) {3471            if ($this->lookahead_0($context)) {3472                $this->endRule($context, RuleType::DocString);3473                $this->endRule($context, RuleType::Step);3474                $this->endRule($context, RuleType::Background);3475                $this->startRule($context, RuleType::ScenarioDefinition);3476                $this->startRule($context, RuleType::Tags);3477                $this->build($context, $token);3478                return 31;3479            }3480        }3481        if ($this->match_TagLine($context, $token)) {3482            $this->endRule($context, RuleType::DocString);3483            $this->endRule($context, RuleType::Step);3484            $this->endRule($context, RuleType::Background);3485            $this->endRule($context, RuleType::Rule);3486            $this->startRule($context, RuleType::Rule);3487            $this->startRule($context, RuleType::RuleHeader);3488            $this->startRule($context, RuleType::Tags);3489            $this->build($context, $token);3490            return 22;3491        }3492        if ($this->match_ScenarioLine($context, $token)) {3493            $this->endRule($context, RuleType::DocString);3494            $this->endRule($context, RuleType::Step);3495            $this->endRule($context, RuleType::Background);3496            $this->startRule($context, RuleType::ScenarioDefinition);3497            $this->startRule($context, RuleType::Scenario);3498            $this->build($context, $token);3499            return 32;3500        }3501        if ($this->match_RuleLine($context, $token)) {3502            $this->endRule($context, RuleType::DocString);3503            $this->endRule($context, RuleType::Step);3504            $this->endRule($context, RuleType::Background);3505            $this->endRule($context, RuleType::Rule);3506            $this->startRule($context, RuleType::Rule);3507            $this->startRule($context, RuleType::RuleHeader);3508            $this->build($context, $token);3509            return 23;3510        }3511        if ($this->match_Comment($context, $token)) {3512            $this->build($context, $token);3513            return 46;3514        }3515        if ($this->match_Empty($context, $token)) {3516            $this->build($context, $token);3517            return 46;3518        }3519        $stateComment = "State: 46 - GherkinDocument:0>Feature:3>Rule:1>Background:2>Step:1>StepArg:0>__alt0:1>DocString:2>#DocStringSeparator:0";3520        $expectedTokens = ["#EOF", "#StepLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty"];3521        $error = $token->isEOF()3522                ? new UnexpectedEofException($token, $expectedTokens, $stateComment)3523                : new UnexpectedTokenException($token, $expectedTokens, $stateComment);3524        $this->addError($context, $error);3525        return 46;3526    }3527    // GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:2>Step:1>StepArg:0>__alt0:1>DocString:0>#DocStringSeparator:03528    private function matchTokenAt_47(Token $token, ParserContext $context): int3529    {3530        if ($this->match_DocStringSeparator($context, $token)) {3531            $this->build($context, $token);3532            return 48;3533        }3534        if ($this->match_Other($context, $token)) {3535            $this->build($context, $token);3536            return 47;3537        }3538        $stateComment = "State: 47 - GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:2>Step:1>StepArg:0>__alt0:1>DocString:0>#DocStringSeparator:0";3539        $expectedTokens = ["#DocStringSeparator", "#Other"];3540        $error = $token->isEOF()3541                ? new UnexpectedEofException($token, $expectedTokens, $stateComment)3542                : new UnexpectedTokenException($token, $expectedTokens, $stateComment);3543        $this->addError($context, $error);3544        return 47;3545    }3546    // GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:2>Step:1>StepArg:0>__alt0:1>DocString:2>#DocStringSeparator:03547    private function matchTokenAt_48(Token $token, ParserContext $context): int3548    {3549        if ($this->match_EOF($context, $token)) {3550            $this->endRule($context, RuleType::DocString);3551            $this->endRule($context, RuleType::Step);3552            $this->endRule($context, RuleType::Scenario);3553            $this->endRule($context, RuleType::ScenarioDefinition);3554            $this->endRule($context, RuleType::Feature);3555            $this->build($context, $token);3556            return 42;3557        }3558        if ($this->match_StepLine($context, $token)) {3559            $this->endRule($context, RuleType::DocString);3560            $this->endRule($context, RuleType::Step);3561            $this->startRule($context, RuleType::Step);3562            $this->build($context, $token);3563            return 15;3564        }3565        if ($this->match_TagLine($context, $token)) {3566            if ($this->lookahead_1($context)) {3567                $this->endRule($context, RuleType::DocString);3568                $this->endRule($context, RuleType::Step);3569                $this->startRule($context, RuleType::ExamplesDefinition);3570                $this->startRule($context, RuleType::Tags);3571                $this->build($context, $token);3572                return 17;3573            }3574        }3575        if ($this->match_TagLine($context, $token)) {3576            if ($this->lookahead_0($context)) {3577                $this->endRule($context, RuleType::DocString);3578                $this->endRule($context, RuleType::Step);3579                $this->endRule($context, RuleType::Scenario);3580                $this->endRule($context, RuleType::ScenarioDefinition);3581                $this->startRule($context, RuleType::ScenarioDefinition);3582                $this->startRule($context, RuleType::Tags);3583                $this->build($context, $token);3584                return 11;3585            }3586        }3587        if ($this->match_TagLine($context, $token)) {3588            $this->endRule($context, RuleType::DocString);3589            $this->endRule($context, RuleType::Step);3590            $this->endRule($context, RuleType::Scenario);3591            $this->endRule($context, RuleType::ScenarioDefinition);3592            $this->startRule($context, RuleType::Rule);3593            $this->startRule($context, RuleType::RuleHeader);3594            $this->startRule($context, RuleType::Tags);3595            $this->build($context, $token);3596            return 22;3597        }3598        if ($this->match_ExamplesLine($context, $token)) {3599            $this->endRule($context, RuleType::DocString);3600            $this->endRule($context, RuleType::Step);3601            $this->startRule($context, RuleType::ExamplesDefinition);3602            $this->startRule($context, RuleType::Examples);3603            $this->build($context, $token);3604            return 18;3605        }3606        if ($this->match_ScenarioLine($context, $token)) {3607            $this->endRule($context, RuleType::DocString);3608            $this->endRule($context, RuleType::Step);3609            $this->endRule($context, RuleType::Scenario);3610            $this->endRule($context, RuleType::ScenarioDefinition);3611            $this->startRule($context, RuleType::ScenarioDefinition);3612            $this->startRule($context, RuleType::Scenario);3613            $this->build($context, $token);3614            return 12;3615        }3616        if ($this->match_RuleLine($context, $token)) {3617            $this->endRule($context, RuleType::DocString);3618            $this->endRule($context, RuleType::Step);3619            $this->endRule($context, RuleType::Scenario);3620            $this->endRule($context, RuleType::ScenarioDefinition);3621            $this->startRule($context, RuleType::Rule);3622            $this->startRule($context, RuleType::RuleHeader);3623            $this->build($context, $token);3624            return 23;3625        }3626        if ($this->match_Comment($context, $token)) {3627            $this->build($context, $token);3628            return 48;3629        }3630        if ($this->match_Empty($context, $token)) {3631            $this->build($context, $token);3632            return 48;3633        }3634        $stateComment = "State: 48 - GherkinDocument:0>Feature:2>ScenarioDefinition:1>Scenario:2>Step:1>StepArg:0>__alt0:1>DocString:2>#DocStringSeparator:0";3635        $expectedTokens = ["#EOF", "#StepLine", "#TagLine", "#ExamplesLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty"];3636        $error = $token->isEOF()3637                ? new UnexpectedEofException($token, $expectedTokens, $stateComment)3638                : new UnexpectedTokenException($token, $expectedTokens, $stateComment);3639        $this->addError($context, $error);3640        return 48;3641    }3642    // GherkinDocument:0>Feature:1>Background:2>Step:1>StepArg:0>__alt0:1>DocString:0>#DocStringSeparator:03643    private function matchTokenAt_49(Token $token, ParserContext $context): int3644    {3645        if ($this->match_DocStringSeparator($context, $token)) {3646            $this->build($context, $token);3647            return 50;3648        }3649        if ($this->match_Other($context, $token)) {3650            $this->build($context, $token);3651            return 49;3652        }3653        $stateComment = "State: 49 - GherkinDocument:0>Feature:1>Background:2>Step:1>StepArg:0>__alt0:1>DocString:0>#DocStringSeparator:0";3654        $expectedTokens = ["#DocStringSeparator", "#Other"];3655        $error = $token->isEOF()3656                ? new UnexpectedEofException($token, $expectedTokens, $stateComment)3657                : new UnexpectedTokenException($token, $expectedTokens, $stateComment);3658        $this->addError($context, $error);3659        return 49;3660    }3661    // GherkinDocument:0>Feature:1>Background:2>Step:1>StepArg:0>__alt0:1>DocString:2>#DocStringSeparator:03662    private function matchTokenAt_50(Token $token, ParserContext $context): int3663    {3664        if ($this->match_EOF($context, $token)) {3665            $this->endRule($context, RuleType::DocString);3666            $this->endRule($context, RuleType::Step);3667            $this->endRule($context, RuleType::Background);3668            $this->endRule($context, RuleType::Feature);3669            $this->build($context, $token);3670            return 42;3671        }3672        if ($this->match_StepLine($context, $token)) {3673            $this->endRule($context, RuleType::DocString);3674            $this->endRule($context, RuleType::Step);3675            $this->startRule($context, RuleType::Step);3676            $this->build($context, $token);3677            return 9;3678        }3679        if ($this->match_TagLine($context, $token)) {3680            if ($this->lookahead_0($context)) {3681                $this->endRule($context, RuleType::DocString);3682                $this->endRule($context, RuleType::Step);3683                $this->endRule($context, RuleType::Background);3684                $this->startRule($context, RuleType::ScenarioDefinition);3685                $this->startRule($context, RuleType::Tags);3686                $this->build($context, $token);3687                return 11;3688            }3689        }3690        if ($this->match_TagLine($context, $token)) {3691            $this->endRule($context, RuleType::DocString);3692            $this->endRule($context, RuleType::Step);3693            $this->endRule($context, RuleType::Background);3694            $this->startRule($context, RuleType::Rule);3695            $this->startRule($context, RuleType::RuleHeader);3696            $this->startRule($context, RuleType::Tags);3697            $this->build($context, $token);3698            return 22;3699        }3700        if ($this->match_ScenarioLine($context, $token)) {3701            $this->endRule($context, RuleType::DocString);3702            $this->endRule($context, RuleType::Step);3703            $this->endRule($context, RuleType::Background);3704            $this->startRule($context, RuleType::ScenarioDefinition);3705            $this->startRule($context, RuleType::Scenario);3706            $this->build($context, $token);3707            return 12;3708        }3709        if ($this->match_RuleLine($context, $token)) {3710            $this->endRule($context, RuleType::DocString);3711            $this->endRule($context, RuleType::Step);3712            $this->endRule($context, RuleType::Background);3713            $this->startRule($context, RuleType::Rule);3714            $this->startRule($context, RuleType::RuleHeader);3715            $this->build($context, $token);3716            return 23;3717        }3718        if ($this->match_Comment($context, $token)) {3719            $this->build($context, $token);3720            return 50;3721        }3722        if ($this->match_Empty($context, $token)) {3723            $this->build($context, $token);3724            return 50;3725        }3726        $stateComment = "State: 50 - GherkinDocument:0>Feature:1>Background:2>Step:1>StepArg:0>__alt0:1>DocString:2>#DocStringSeparator:0";3727        $expectedTokens = ["#EOF", "#StepLine", "#TagLine", "#ScenarioLine", "#RuleLine", "#Comment", "#Empty"];3728        $error = $token->isEOF()3729                ? new UnexpectedEofException($token, $expectedTokens, $stateComment)3730                : new UnexpectedTokenException($token, $expectedTokens, $stateComment);3731        $this->addError($context, $error);3732        return 50;3733    }3734    private function lookahead_0(ParserContext $context): bool3735    {3736        $queue = [];3737        $match = false;3738        do {3739            $token = $this->readToken($context);3740            $queue[] = $token;3741            if (false3742                || $this->match_ScenarioLine($context, $token)3743) {3744                $match = true;3745                break;3746            }3747        } while (false3748            || $this->match_Empty($context, $token)3749            || $this->match_Comment($context, $token)3750            || $this->match_TagLine($context, $token)3751);3752        $context->tokenQueue = [...$context->tokenQueue, ...$queue];3753        return $match;3754    }3755    private function lookahead_1(ParserContext $context): bool3756    {3757        $queue = [];3758        $match = false;3759        do {3760            $token = $this->readToken($context);3761            $queue[] = $token;3762            if (false3763                || $this->match_ExamplesLine($context, $token)3764) {3765                $match = true;3766                break;3767            }3768        } while (false3769            || $this->match_Empty($context, $token)3770            || $this->match_Comment($context, $token)3771            || $this->match_TagLine($context, $token)3772);3773        $context->tokenQueue = [...$context->tokenQueue, ...$queue];3774        return $match;3775    }3776}...

Full Screen

Full Screen

TokenMatcherTest.php

Source:TokenMatcherTest.php Github

copy

Full Screen

...41    }42    public function testItDoesNotMatchEmptyForNonEmpty(): void43    {44        $token = $this->createNonMatchingToken();45        self::assertFalse($this->tokenMatcher->match_Empty($token));46        self::assertNull($token->match);47    }48    public function testItDoesNotMatchBackgroundLineForNonBackground(): void49    {50        $token = $this->createNonMatchingToken();51        self::assertFalse($this->tokenMatcher->match_BackgroundLine($token));52        self::assertNull($token->match);53    }54    public function testItMatchesBackgroundLine(): void55    {56        $token = $this->createTokenWithContents('Background: Background Title');57        self::assertTrue($this->tokenMatcher->match_BackgroundLine($token));58        self::assertSame(TokenType::BackgroundLine, $token->match?->tokenType);59        self::assertSame('Background', $token->match?->keyword);60        self::assertSame('Background Title', $token->match?->text);61    }62    public function testItDoesNotMatchScenarioLineForNonScenario(): void63    {64        $token = $this->createNonMatchingToken();65        self::assertFalse($this->tokenMatcher->match_ScenarioLine($token));66        self::assertNull($token->match);67    }68    public function testItMatchesScenarioLine(): void69    {70        $token = $this->createTokenWithContents('Scenario: Scenario Title');71        self::assertTrue($this->tokenMatcher->match_ScenarioLine($token));72        self::assertSame(TokenType::ScenarioLine, $token->match?->tokenType);73        self::assertSame('Scenario', $token->match?->keyword);74        self::assertSame('Scenario Title', $token->match?->text);75    }76    public function testItMatchesScenarioOutLine(): void77    {78        $token = $this->createTokenWithContents('Scenario Outline: Scenario Title');79        self::assertTrue($this->tokenMatcher->match_ScenarioLine($token));80        self::assertSame(TokenType::ScenarioLine, $token->match?->tokenType);81        self::assertSame('Scenario Outline', $token->match?->keyword);82        self::assertSame('Scenario Title', $token->match?->text);83    }84    public function testItDoesNotMatchRuleLineForNonRule(): void85    {86        $token = $this->createNonMatchingToken();87        self::assertFalse($this->tokenMatcher->match_RuleLine($token));88        self::assertNull($token->match);89    }90    public function testItMatchesRuleLine(): void91    {92        $token = $this->createTokenWithContents('Rule: Rule Title');93        self::assertTrue($this->tokenMatcher->match_RuleLine($token));94        self::assertSame(TokenType::RuleLine, $token->match?->tokenType);95        self::assertSame('Rule', $token->match?->keyword);96        self::assertSame('Rule Title', $token->match?->text);97    }98    public function testItDoesNotMatchExamplesLineForNonExamples(): void99    {100        $token = $this->createNonMatchingToken();101        self::assertFalse($this->tokenMatcher->match_ExamplesLine($token));102        self::assertNull($token->match);103    }104    public function testItMatchesExampleLine(): void105    {106        $token = $this->createTokenWithContents('Examples: Example Title');107        self::assertTrue($this->tokenMatcher->match_ExamplesLine($token));108        self::assertSame(TokenType::ExamplesLine, $token->match?->tokenType);109        self::assertSame('Examples', $token->match?->keyword);110        self::assertSame('Example Title', $token->match?->text);111    }112    public function testItDoesNotMatchTableRowWhenFirstCharIsNotPipe(): void113    {114        $token = $this->createNonMatchingToken();115        self::assertFalse($this->tokenMatcher->match_TableRow($token));116        self::assertNull($token->match);117    }118    public function testItMatchesTableRowWhenFirstCharIsPipe(): void119    {120        $token = $this->createTokenWithContents(' | one | two | ');121        self::assertTrue($this->tokenMatcher->match_tableRow($token));122        self::assertSame(TokenType::TableRow, $token->match?->tokenType);123        self::assertEquals([124            new GherkinLineSpan(4, 'one'),125            new GherkinLineSpan(10, 'two'),126        ], $token->match?->items);127    }128    public function testItDoesNotMatchStepWhenFirstWordIsNotKeyword(): void129    {130        $token = $this->createNonMatchingToken();131        self::assertFalse($this->tokenMatcher->match_StepLine($token));132        self::assertNull($token->match);133    }134    public function testItMatchesStepLineWhenKeywordIsThere(): void135    {136        $token = $this->createTokenWithContents('Given I have a cucumber');137        self::assertTrue($this->tokenMatcher->match_StepLine($token));138        self::assertSame(TokenType::StepLine, $token->match?->tokenType);139        self::assertSame('Given ', $token->match?->keyword);140        self::assertSame('I have a cucumber', $token->match?->text);141    }142    public function testItMatchesEmpty(): void143    {144        $token = $this->createTokenWithContents('   ');145        self::assertTrue($this->tokenMatcher->match_Empty($token));146        self::assertSame(TokenType::Empty, $token->match?->tokenType);147    }148    public function testItDoesNotMatchCommentWhenFirstCharIsNotHash(): void149    {150        $token = $this->createNonMatchingToken();151        self::assertFalse($this->tokenMatcher->match_Comment($token));152        self::assertNull($token->match);153    }154    public function testItMatchesCommentWithWholeString(): void155    {156        $token = $this->createTokenWithContents('  # This is a comment');157        self::assertTrue($this->tokenMatcher->match_Comment($token));158        self::assertSame(TokenType::Comment, $token->match?->tokenType);159        self::assertSame(0, $token->match?->indent);...

Full Screen

Full Screen

TokenMatcher.php

Source:TokenMatcher.php Github

copy

Full Screen

...88        $text = $token->line?->getLineText($this->indentToRemove) ?? '';89        $this->setTokenMatched($token, TokenType::Other, $this->unescapeDocString($text), indent: 0);90        return true;91    }92    public function match_Empty(Token $token): bool93    {94        if ($token->line?->isEmpty()) {95            $this->setTokenMatched($token, TokenType::Empty);96            return true;97        }98        return false;99    }100    public function match_StepLine(Token $token): bool101    {102        $keywords = $this->currentDialect->getStepKeywords();103        foreach ($keywords as $keyword) {104            if ($token->line?->startsWith($keyword)) {105                $stepText = $token->line->getRestTrimmed(StringUtils::symbolCount($keyword));106                $this->setTokenMatched($token, TokenType::StepLine, $stepText, $keyword);...

Full Screen

Full Screen

TokenMatcherInterface.php

Source:TokenMatcherInterface.php Github

copy

Full Screen

...10use Cucumber\Gherkin\Token;11interface TokenMatcherInterface12{13    public function match_EOF(Token $token): bool;14    public function match_Empty(Token $token): bool;15    public function match_Comment(Token $token): bool;16    public function match_TagLine(Token $token): bool;17    public function match_FeatureLine(Token $token): bool;18    public function match_RuleLine(Token $token): bool;19    public function match_BackgroundLine(Token $token): bool;20    public function match_ScenarioLine(Token $token): bool;21    public function match_ExamplesLine(Token $token): bool;22    public function match_StepLine(Token $token): bool;23    public function match_DocStringSeparator(Token $token): bool;24    public function match_TableRow(Token $token): bool;25    public function match_Language(Token $token): bool;26    public function match_Other(Token $token): bool;27    public function reset(): void;28}...

Full Screen

Full Screen

match_Empty

Using AI Code Generation

copy

Full Screen

1require_once('Parser.php');2$parser = new Parser();3$parser->match_Empty('1.php');4require_once('Parser.php');5$parser = new Parser();6$parser->match_Empty('2.php');7require_once('Parser.php');8$parser = new Parser();9$parser->match_Empty('3.php');10require_once('Parser.php');11$parser = new Parser();12$parser->match_Empty('4.php');13require_once('Parser.php');14$parser = new Parser();15$parser->match_Empty('5.php');16require_once('Parser.php');17$parser = new Parser();18$parser->match_Empty('6.php');19require_once('Parser.php');20$parser = new Parser();21$parser->match_Empty('7.php');22require_once('Parser.php');23$parser = new Parser();24$parser->match_Empty('8.php');25require_once('Parser.php');26$parser = new Parser();27$parser->match_Empty('9.php');28require_once('Parser.php');29$parser = new Parser();30$parser->match_Empty('10.php');31require_once('Parser.php');32$parser = new Parser();33$parser->match_Empty('11.php');34require_once('Parser.php');35$parser = new Parser();36$parser->match_Empty('12.php');37require_once('Parser.php');

Full Screen

Full Screen

match_Empty

Using AI Code Generation

copy

Full Screen

1require 'Parser.php';2$parser = new Parser();3$parser->match_Empty('A');4require 'Parser.php';5$parser = new Parser();6$parser->match_Empty('A');7include_once 'filename.php';8require_once 'Parser.php';9$parser = new Parser();10$parser->match_Empty('A');11require_once 'Parser.php';12$parser = new Parser();13$parser->match_Empty('A');

Full Screen

Full Screen

match_Empty

Using AI Code Generation

copy

Full Screen

1require_once('Parser.php');2$parser = new Parser();3require_once('Parser.php');4$parser = new Parser();5require_once('Parser.php');6$parser = new Parser();7require_once('Parser.php');8$parser = new Parser();9class Parser {10    public function match_Empty($url) {11        $handle = fopen($url, "r");12        $contents = stream_get_contents($handle);13        fclose($handle);14        if ($contents == "") {15            echo "Empty";16        } else {17            echo "Not Empty";18        }19    }20}21I have tried to run this code on my localhost (Windows 7) and it works perfectly. But when I upload it to my server (Linux) it doesn't work. It shows the following error:

Full Screen

Full Screen

match_Empty

Using AI Code Generation

copy

Full Screen

1require_once('Parser.php');2$parser = new Parser();3require_once('Parser.php');4$parser = new Parser();5require_once('Parser.php');6$parser = new Parser();7require_once('Parser.php');8$parser = new Parser();9require_once('Parser.php');10$parser = new Parser();11require_once('Parser.php');

Full Screen

Full Screen

match_Empty

Using AI Code Generation

copy

Full Screen

1require_once 'Parser.php';2$parser = new Parser();3$parser->match_Empty('1.php');4require_once 'Parser.php';5$parser = new Parser();6$parser->match_Empty('2.php');7require_once 'Parser.php';8$parser = new Parser();9$parser->match_Empty('3.php');10require_once 'Parser.php';11$parser = new Parser();12$parser->match_Empty('4.php');13require_once 'Parser.php';14$parser = new Parser();15$parser->match_Empty('5.php');16require_once 'Parser.php';17$parser = new Parser();18$parser->match_Empty('6.php');19require_once 'Parser.php';20$parser = new Parser();21$parser->match_Empty('7.php');22require_once 'Parser.php';23$parser = new Parser();24$parser->match_Empty('8.php');

Full Screen

Full Screen

match_Empty

Using AI Code Generation

copy

Full Screen

1$parse = new Parser();2$parse->match_Empty($string);3class Parser{4  function match_Empty($string){5    if($string == ''){6      echo "String is empty.";7    }8    else{9      echo "String is not empty.";10    }11  }12}

Full Screen

Full Screen

match_Empty

Using AI Code Generation

copy

Full Screen

1include("Parser.php");2$parser = new Parser();3$parser->match_Empty('1.php');4bool match_Empty(string $filename)5include("Parser.php");6$parser = new Parser();7$parser->match_Empty('1.php');8bool match_Executable(string $filename)9include("Parser.php");10$parser = new Parser();11$parser->match_Executable('1.php');12bool match_Executable(string $filename)13include("Parser.php");14$parser = new Parser();15$parser->match_Executable('1.php');

Full Screen

Full Screen

match_Empty

Using AI Code Generation

copy

Full Screen

1require_once 'Parser.php';2$parser = new Parser();3$parser->match_Empty('1.php');4public function match_Size($file_name);5require_once 'Parser.php';6$parser = new Parser();7$parser->match_Size('1.php');8public function match_Content($file_name, $content);9require_once 'Parser.php';10$parser = new Parser();11$parser->match_Content('1.php', 'This is an empty file');12public function match_Type($file_name, $type);13require_once 'Parser.php';

Full Screen

Full Screen

Automation Testing Tutorials

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.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful