How to use match_Other method of Parser class

Best Cucumber Common Library code snippet using Parser.match_Other

Parser.php

Source:Parser.php Github

copy

Full Screen

...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 {...

Full Screen

Full Screen

IndividualStrategies.php

Source:IndividualStrategies.php Github

copy

Full Screen

1<?php2defined('BASEPATH') OR exit('No direct script access allowed');3class IndividualStrategies extends CI_Controller {4 function __construct() {5 parent::__construct();6 $this->viewname = $this->router->fetch_class();7 $this->method = $this->router->fetch_method();8 $this->load->library(array('form_validation', 'Session', 'm_pdf'));9 }10 /*11 @Author : Niral Patel12 @Desc : IndividualStrategies Index Page13 @Input : yp id14 @Output :15 @Date : 12/07/201716 */17 public function index($id, $careHomeId = 0, $isArchive = 0) {18 $data['is_archive_page'] = $isArchive;19 $data['careHomeId'] = $careHomeId;20 /* for care to care data21 ghelani nikunj22 24/9/201823 care to care data get with the all previous care home */24 if ($isArchive !== 0) {25 $temp = $this->common_model->get_records(PAST_CARE_HOME_INFO, array('move_date'), '', '', array("yp_id" => $id, "past_carehome" => $careHomeId));26 $careHomeDetails = $this->common_model->get_records(PAST_CARE_HOME_INFO, array("*"), '', '', array("yp_id" => $id, "move_date <= " => $temp[0]['move_date']));27 $enterDate = $moveDate = '';28 $totalCareHome = count($careHomeDetails);29 if ($totalCareHome >= 1) {30 $enterDate = $careHomeDetails[0]['enter_date'];31 $moveDate = $careHomeDetails[$totalCareHome - 1]['move_date'];32 } elseif ($totalCareHome == 0) {33 $enterDate = $careHomeDetails[0]['enter_date'];34 $moveDate = $careHomeDetails[0]['move_date'];35 }36 }37 if (is_numeric($id)) {38 //get pp form39 $match = array('is_form_id' => 1);40 $formsdata = $this->common_model->get_records(IS_FORM, '', '', '', $match);41 if (!empty($formsdata)) {42 $data['form_data'] = json_decode($formsdata[0]['form_json_data'], TRUE);43 }44 //get YP information45 $fields = array("care_home,yp_fname,yp_lname,date_of_birth,yp_id");46 $data['YP_details'] = YpDetails($id,$fields);47 if (empty($data['YP_details'])) {48 $msg = $this->lang->line('common_no_record_found');49 $this->session->set_flashdata('msg', "<div class='alert alert-danger text-center'>$msg</div>");50 redirect('YoungPerson/view/' . $id);51 }52 //get ra yp data53 $match = array('yp_id' => $id, 'is_previous_version' => 0);54 $data['edit_data'] = $this->common_model->get_records(INDIVIDUAL_STRATEGIES, '', '', '', $match);55 $table = NFC_AMENDMENTS . ' as do';56 $match = array('do.yp_id' => $id);57 $fields = array("do.*,CONCAT(l.firstname,' ', l.lastname) as create_name");58 $join_tables = array(LOGIN . ' as l' => 'l.login_id= do.staff_initials');59 $data['item_details'] = $this->common_model->get_records($table, $fields, $join_tables, 'left', $match);60 $table = NFC_CURRENT_PROTOCOLS_IN_PLACE . ' as cpip';61 $match = array('cpip.yp_id' => $id);62 $fields = array("cpip.*,CONCAT(l.firstname,' ', l.lastname) as create_name");63 $join_tables = array(LOGIN . ' as l' => 'l.login_id= cpip.staff_initials');64 $data['protocols_details'] = $this->common_model->get_records($table, $fields, $join_tables, 'left', $match);65 $login_user_id = $this->session->userdata['LOGGED_IN']['ID'];66 $table = INDIVIDUAL_MEETING_SIGNOFF . ' as ims';67 $where = array("l.is_delete" => "0", "ims.yp_id" => $id, "ims.is_delete" => "0");68 $fields = array("ims.created_by,ims.created_date,ims.yp_id, CONCAT(`firstname`,' ', `lastname`) as name");69 $join_tables = array(LOGIN . ' as l' => 'l.login_id=ims.created_by');70 $group_by = array('created_by');71 $data['ra_signoff_data'] = $this->common_model->get_records($table, $fields, $join_tables, 'left', '', '', '', '', '', '', $group_by, $where);72 $table = INDIVIDUAL_MEETING_SIGNOFF . ' as ims';73 $where = array("ims.yp_id" => $id, "ims.created_by" => $login_user_id, "ims.is_delete" => "0");74 $fields = array("ims.individual_meeting_signoff_id,ims.individual_meeting_id,ims.created_date");75 $data['check_signoff_data'] = $this->common_model->get_records($table, $fields, '', '', '', '', '', '', '', '', '', $where);76 //get is old yp data77 $match = array('yp_id' => $id, 'is_previous_version' => 1);78 $data['prev_edit_data'] = $this->common_model->get_records(INDIVIDUAL_STRATEGIES, '', '', '', $match);79 $match = array('yp_id' => $id, 'status' => 1);80 $prev_archive = $this->common_model->get_records(INDIVIDUAL_STRATEGIES_ARCHIVE, '', '', '', $match, '', '1', '', 'is_archive_id', 'desc');81 if (!empty($prev_archive)) {82 $is_archive_id = $prev_archive[0]['is_archive_id'];83 $table = NFC_ARCHIVE_AMENDMENTS . ' as do';84 $match = array('do.yp_id' => $id, 'do.archive_individual_meeting_id' => $is_archive_id);85 $fields = array("do.*,CONCAT(l.firstname,' ', l.lastname) as create_name");86 $join_tables = array(LOGIN . ' as l' => 'l.login_id= do.staff_initials');87 $data['item_details_archive'] = $this->common_model->get_records($table, $fields, $join_tables, 'left', $match);88 $table = NFC_ARCHIVE_CURRENT_PROTOCOLS_IN_PLACE . ' as cpip';89 $match = array('cpip.yp_id' => $id, 'cpip.archive_individual_meeting_id' => $is_archive_id);90 $fields = array("cpip.*,CONCAT(l.firstname,' ', l.lastname) as create_name");91 $join_tables = array(LOGIN . ' as l' => 'l.login_id= cpip.staff_initials');92 $data['protocols_details_archive'] = $this->common_model->get_records($table, $fields, $join_tables, 'left', $match);93 }94 //get external approve95 $table = NFC_IS_SIGNOFF_DETAILS;96 $fields = array('form_json_data,user_type,key_data,email');97 $where = array('yp_id' => $id);98 $data['check_external_signoff_data'] = $this->common_model->get_records($table, $fields, '', '', '', '', '', '', '', '', '', $where);99 $data['ypid'] = $id;100 $data['header'] = array('menu_module' => 'YoungPerson');101 $data['footerJs'][0] = base_url('uploads/custom/js/IndividualStrategies/IndividualStrategies.js');102 $data['crnt_view'] = $this->viewname;103 $data['main_content'] = '/view';104 $this->parser->parse('layouts/DefaultTemplate', $data);105 } else {106 show_404();107 }108 }109 /*110 @Author : Niral Patel111 @Desc : create RiskAssesment edit page112 @Input :113 @Output :114 @Date : 12/07/2017115 */116 117 public function edit($id) {118 if (is_numeric($id)) {119 //get pp form120 $match = array('is_form_id' => 1);121 $pp_forms = $this->common_model->get_records(IS_FORM, '', '', '', $match);122 if (!empty($pp_forms)) {123 $data['form_data'] = json_decode($pp_forms[0]['form_json_data'], TRUE);124 }125 //get YP information126 $fields = array("care_home,yp_fname,yp_lname,date_of_birth,yp_id");127 $data['YP_details'] = YpDetails($id,$fields);128 if (empty($data['YP_details'])) {129 $msg = $this->lang->line('common_no_record_found');130 $this->session->set_flashdata('msg', "<div class='alert alert-danger text-center'>$msg</div>");131 redirect('YoungPerson/view/' . $id);132 }133 //get pp yp data134 $match = array('yp_id' => $id, 'is_previous_version' => 0);135 $data['edit_data'] = $this->common_model->get_records(INDIVIDUAL_STRATEGIES, '', '', '', $match);136 //get amendments data137 $table = NFC_AMENDMENTS;138 $match = array('yp_id' => $id);139 $field = array('*');140 $data['item_details'] = $this->common_model->get_records($table, $field, '', '', $match);141 //get Current Protocols In Place data142 $table = NFC_CURRENT_PROTOCOLS_IN_PLACE;143 $match = array('yp_id' => $id);144 $field = array('*');145 $data['protocols_details'] = $this->common_model->get_records($table, $field, '', '', $match);146 $url_data = base_url('IndividualStrategies/edit/' . $id);147 $match = array('url_data' => $url_data);148 $data['check_edit_permission'] = $this->common_model->get_records(CHECK_EDIT_URL, '*', '', '', $match);149 if (count($data['check_edit_permission']) > 0) {150 $in_time = date('Y-m-d h:i:s', strtotime($data['check_edit_permission'][0]['datetime']));151 $currnt_time = date('Y-m-d h:i:s');152 if (strtotime($in_time) > strtotime($currnt_time)) {153 $now = strtotime($in_time) - strtotime($currnt_time);154 } else {155 $now = strtotime($currnt_time) - strtotime($in_time);156 }157 $secs = floor($now % 60);158 if ($secs >= 10) {159 $data['ypid'] = $id;160 $data['footerJs'][0] = base_url('uploads/custom/js/IndividualStrategies/IndividualStrategies.js');161 $data['footerJs'][1] = base_url('uploads/custom/js/formbuilder/formbuilder.js');162 $data['header'] = array('menu_module' => 'YoungPerson');163 $data['crnt_view'] = $this->viewname;164 $data['main_content'] = '/edit';165 $this->parser->parse('layouts/DefaultTemplate', $data);166 } else {167 $msg = $this->lang->line('check_is_user_update_data');168 $this->session->set_flashdata('msg', "<div class='alert alert-danger text-center'>$msg</div>");169 redirect('/' . $this->viewname . '/index/' . $id);170 }171 } else {172 $data['ypid'] = $id;173 $data['footerJs'][0] = base_url('uploads/custom/js/IndividualStrategies/IndividualStrategies.js');174 $data['footerJs'][1] = base_url('uploads/custom/js/formbuilder/formbuilder.js');175 $data['header'] = array('menu_module' => 'YoungPerson');176 $data['crnt_view'] = $this->viewname;177 $data['main_content'] = '/edit';178 $this->parser->parse('layouts/DefaultTemplate', $data);179 }180 } else {181 show_404();182 }183 }184 /*185 @Author : Ritesh rana186 @Desc : Insert is form187 @Input :188 @Output :189 @Date : 26/02/2018190 */191 public function insert() {192 if (!validateFormSecret()) {193 redirect($_SERVER['HTTP_REFERER']); //Redirect On Listing page194 }195 $postData = $this->input->post();196 $match = array("yp_id" => $postData['yp_id']);197 $fields = array("care_home");198 $data_care_home_id['YP_details_care_home_id'] = $this->common_model->get_records(YP_DETAILS, $fields, '', '', $match);199 unset($postData['submit_isform']);200 //get pp form201 $match = array('is_form_id' => 1);202 $pp_forms = $this->common_model->get_records(IS_FORM, '', '', '', $match);203 if (!empty($pp_forms)) {204 $pp_form_data = json_decode($pp_forms[0]['form_json_data'], TRUE);205 $data = array();206 foreach ($pp_form_data as $row) {207 if (isset($row['name'])) {208 if ($row['type'] == 'file') {209 $filename = $row['name'];210 //get image previous image211 $match = array('individual_strategies_id' => $postData['individual_strategies_id'], 'yp_id' => $postData['yp_id'], 'is_previous_version' => 0);212 $pp_yp_data = $this->common_model->get_records(INDIVIDUAL_STRATEGIES, array('`' . $row['name'] . '`'), '', '', $match);213 //delete img214 if (!empty($postData['hidden_' . $row['name']])) {215 $delete_img = explode(',', $postData['hidden_' . $row['name']]);216 $db_images = explode(',', $pp_yp_data[0][$filename]);217 $differentedImage = array_diff($db_images, $delete_img);218 $pp_yp_data[0][$filename] = !empty($differentedImage) ? implode(',', $differentedImage) : '';219 }220 if (!empty($_FILES[$filename]['name'][0])) {221 /* common function replaced by Dhara Bhalala on 29/09/2018 */222 createDirectory(array($this->config->item('is_base_url'), $this->config->item('is_base_big_url'), $this->config->item('is_base_big_url') . '/' . $postData['yp_id']));223 $file_view = $this->config->item('is_img_url') . $postData['yp_id'];224 //upload big image225 $upload_data = uploadImage($filename, $file_view, '/' . $this->viewname . '/index/' . $postData['yp_id']);226 //upload small image227 $insertImagesData = array();228 if (!empty($upload_data)) {229 foreach ($upload_data as $imageFiles) {230 /* common function replaced by Dhara Bhalala on 29/09/2018 */231 createDirectory(array($this->config->item('is_base_small_url'), $this->config->item('is_base_small_url') . '/' . $postData['yp_id']));232 /* condition added by Dhara Bhalala on 21/09/2018 to solve GD lib error */233 if ($imageFiles['is_image'])234 $a = do_resize($this->config->item('is_img_url') . $postData['yp_id'], $this->config->item('is_img_url_small') . $postData['yp_id'], $imageFiles['file_name']);235 array_push($insertImagesData, $imageFiles['file_name']);236 if (!empty($insertImagesData)) {237 $images = implode(',', $insertImagesData);238 }239 }240 if (!empty($pp_yp_data[0][$filename])) {241 $images .=',' . $pp_yp_data[0][$filename];242 }243 $data[$row['name']] = !empty($images) ? $images : '';244 }245 } else {246 $data[$row['name']] = !empty($pp_yp_data[0][$filename]) ? $pp_yp_data[0][$filename] : '';247 }248 } else {249 if ($row['type'] != 'button') {250 if ($row['type'] == 'checkbox-group') {251 $data[$row['name']] = !empty($postData[$row['name']]) ? implode(',', $postData[$row['name']]) : '';252 } elseif ($row['type'] == 'textarea' && $row['subtype'] == 'tinymce') {253 $data[$row['name']] = strip_slashes($postData[$row['name']]);254 } elseif ($row['type'] == 'date') {255 $data[$row['name']] = dateformat($postData[$row['name']]);256 } elseif ($row['type'] == 'text') {257 if ($row['subtype'] == 'time') {258 $data[$row['name']] = dbtimeformat($postData[$row['name']]);259 } else {260 $data[$row['name']] = strip_tags(strip_slashes($postData[$row['name']]));261 }262 } else {263 $data[$row['name']] = strip_tags(strip_slashes($postData[$row['name']]));264 }265 }266 }267 }268 }269 }270 //get current data271 $match = array('yp_id' => $postData['yp_id'], 'is_previous_version' => 0);272 $pp_new_data = $this->common_model->get_records(INDIVIDUAL_STRATEGIES, array('*'), '', '', $match);273 //get pp yp data274 $match = array('yp_id' => $postData['yp_id'], 'is_previous_version' => 1);275 $previous_data = $this->common_model->get_records(INDIVIDUAL_STRATEGIES, array('*'), '', '', $match);276 if (!empty($pp_new_data)) {277 $update_pre_data = array();278 $updated_field = array();279 $n = 0;280 if (!empty($pp_form_data)) {281 foreach ($pp_form_data as $row) {282 if (isset($row['name'])) {283 if ($row['type'] != 'button') {284 if (!empty($pp_new_data)) {285 if ($postData[$row['name']] != $pp_new_data[0][$row['name']]) {286 $updated_field[] = $row['label'];287 $n++;288 }289 }290 $update_pre_data[$row['name']] = strip_slashes($pp_new_data[0][$row['name']]);291 }292 }293 }294 $update_pre_data['yp_id'] = $postData['yp_id'];295 $update_pre_data['created_date'] = $pp_new_data[0]['created_date'];296 $update_pre_data['created_by'] = $pp_new_data[0]['created_by'];297 $update_pre_data['modified_by'] = $pp_new_data[0]['modified_by'];298 $update_pre_data['modified_date'] = $pp_new_data[0]['modified_date'];299 $update_pre_data['care_home_id'] = $data_care_home_id['YP_details_care_home_id'][0]['care_home'];300 $update_pre_data['is_previous_version'] = 1;301 }302 }303 if (!empty($postData['individual_strategies_id'])) {304 $individual_strategies_id = $postData['individual_strategies_id'];305 $data['individual_strategies_id'] = $postData['individual_strategies_id'];306 $data['yp_id'] = $postData['yp_id'];307 $data['modified_date'] = datetimeformat();308 $data['modified_by'] = $this->session->userdata['LOGGED_IN']['ID'];309 $data['care_home_id'] = $data_care_home_id['YP_details_care_home_id'][0]['care_home'];310 $this->common_model->update(INDIVIDUAL_STRATEGIES, $data, array('individual_strategies_id' => $postData['individual_strategies_id']));311 if (!empty($updated_field)) {312 foreach ($updated_field as $fields) {313 //Insert log activity314 $activity = array(315 'user_id' => $this->session->userdata['LOGGED_IN']['ID'],316 'yp_id' => !empty($postData['yp_id']) ? $postData['yp_id'] : '',317 'module_name' => IS_MODULE,318 'module_field_name' => $fields,319 'type' => 2320 );321 log_activity($activity);322 }323 }324 } else {325 326 $data['yp_id'] = $postData['yp_id'];327 $data['created_date'] = datetimeformat();328 $data['modified_date'] = datetimeformat();329 $data['created_by'] = $this->session->userdata['LOGGED_IN']['ID'];330 $data['care_home_id'] = $data_care_home_id['YP_details_care_home_id'][0]['care_home'];331 $this->common_model->insert(INDIVIDUAL_STRATEGIES, $data);332 $individual_strategies_id = $this->db->insert_id();333 //Insert log activity334 $activity = array(335 'user_id' => $this->session->userdata['LOGGED_IN']['ID'],336 'yp_id' => !empty($postData['yp_id']) ? $postData['yp_id'] : '',337 'module_name' => IS_MODULE,338 'module_field_name' => '',339 'type' => 1340 );341 log_activity($activity);342 }343 $new_change = 0;344 $new_update = 0;345 if (!empty($individual_strategies_id)) {346 // amendments insater & update 347 //Delete item348 $delete_item_id = $this->input->post('delete_item_id');349 if (!empty($delete_item_id)) {350 $new_update++;351 $delete_item = substr($delete_item_id, 0, -1);352 $delete_item_id = explode(',', $delete_item);353 $where1 = array('individual_meeting_id' => $individual_strategies_id);354 $this->common_model->delete_where_in(NFC_AMENDMENTS, $where1, 'amendments_id', $delete_item_id);355 }356 //update amendments item357 $where1 = array('individual_meeting_id' => $individual_strategies_id);358 $individual_meeting_item = $this->common_model->get_records(NFC_AMENDMENTS, array('amendments_id'), '', '', $where1, '');359 if (!empty($individual_meeting_item)) {360 361 for ($i = 0; $i < count($individual_meeting_item); $i++) {362 $update_item = '';363 if (!empty($postData['amendments_' . $individual_meeting_item[$i]['amendments_id']])) {364 $adst = addslashes(($postData['amendments_' . $individual_meeting_item[$i]['amendments_id']]));365 $where1 = "yp_id =" . $postData['yp_id'] . " and amendments_id =" . $individual_meeting_item[$i]['amendments_id'];366 $amendments_archive = $this->common_model->get_records(NFC_ARCHIVE_AMENDMENTS, array('archive_amendments_id,amendments'), '', '', $where1, '', '1', '', 'archive_amendments_id', 'desc', '', '');367 if (!empty($amendments_archive)) {368 $current = strip_tags($postData['amendments_' . $individual_meeting_item[$i]['amendments_id']]);369 $ame = strip_tags($amendments_archive[0]['amendments']);370 if ($current != $ame) {371 $new_update++;372 }373 }374 375 $update_item['amendments'] = stripslashes(str_replace("'", '"', $this->input->post('amendments_' . $individual_meeting_item[$i]['amendments_id'])));376 /* Start - Ritesh Rana : Mantis issue # 8931, Dt: 17th April 2018 */377 $prev_amendments_data = $this->common_model->get_records(NFC_AMENDMENTS, array('*'), '', '', $where1);378 if ($prev_amendments_data) {379 $amendments_prev_info = $prev_amendments_data[0]['amendments'];380 if ($amendments_prev_info != $update_item['amendments']) {381 $update_item['modified_date'] = datetimeformat();382 }383 }384 /* End - Ritesh Rana : Mantis issue # 8931, Dt: 17th April 2018 */385 $where = array('amendments_id' => $individual_meeting_item[$i]['amendments_id']);386 $success_update = $this->common_model->update(NFC_AMENDMENTS, $update_item, $where);387 }388 }389 }390 //Insert new amendments391 $item_name = $this->input->post('amendments');392 for ($i = 0; $i < count($item_name); $i++) {393 if (!empty($item_name[$i])) {394 $new_change ++;395 $item_data['individual_meeting_id'] = $individual_strategies_id;396 $item_data['yp_id'] = $postData['yp_id'];397 $item_data['amendments'] = strip_slashes($item_name[$i]);398 $item_data['staff_initials'] = $this->session->userdata['LOGGED_IN']['ID'];399 $item_data['created_date'] = datetimeformat();400 $item_data['modified_date'] = datetimeformat();401 $this->common_model->insert(NFC_AMENDMENTS, $item_data);402 }403 }404 /* end amendments functionality */405 /* start Current Protocols in place */406 $delete_protocols_id = $this->input->post('delete_protocols_id');407 if (!empty($delete_protocols_id)) {408 $new_update++;409 $delete_protocols = substr($delete_protocols_id, 0, -1);410 $delete_id = explode(',', $delete_protocols);411 $where1 = array('individual_meeting_id' => $individual_strategies_id);412 $this->common_model->delete_where_in(NFC_CURRENT_PROTOCOLS_IN_PLACE, $where1, 'protocols_in_place_id', $delete_id);413 }414 //update Current Protocols in place415 $where1 = array('individual_meeting_id' => $individual_strategies_id);416 $individual_protocols_item = $this->common_model->get_records(NFC_CURRENT_PROTOCOLS_IN_PLACE, array('protocols_in_place_id'), '', '', $where1, '');417 if (!empty($individual_protocols_item)) {418 for ($i = 0; $i < count($individual_protocols_item); $i++) {419 $update_protocols = '';420 if (!empty(addslashes($postData['current_protocols_in_place_' . $individual_protocols_item[$i]['protocols_in_place_id']]))) {421 $where1 = "yp_id =" . $postData['yp_id'] . " and protocols_in_place_id =" . $individual_protocols_item[$i]['protocols_in_place_id'];422 $current_protocol_archive = $this->common_model->get_records(NFC_ARCHIVE_CURRENT_PROTOCOLS_IN_PLACE, array('archive_protocols_in_place_id,current_protocols_in_place'), '', '', $where1, '', '1', '', 'archive_protocols_in_place_id', 'desc', '', '');423 if (!empty($current_protocol_archive)) {424 $current_pro = strip_tags($postData['current_protocols_in_place_' . $individual_protocols_item[$i]['protocols_in_place_id']]);425 $protocol = strip_tags($current_protocol_archive[0]['current_protocols_in_place']);426 if ($current_pro != $protocol) {427 $new_update++;428 }429 }430 /* Start - Ritesh Rana : Mantis issue # 8931, Dt: 17th April 2018 */431 $update_protocols['current_protocols_in_place'] = strip_slashes($this->input->post('current_protocols_in_place_' . $individual_protocols_item[$i]['protocols_in_place_id']));432 $prev_protocol_data = $this->common_model->get_records(NFC_CURRENT_PROTOCOLS_IN_PLACE, array('*'), '', '', $where1);433 if ($prev_protocol_data) {434 $protocol_prev_info = $prev_protocol_data[0]['current_protocols_in_place'];435 if ($protocol_prev_info != $update_protocols['current_protocols_in_place']) {436 $update_protocols['modified_date'] = datetimeformat();437 }438 }439 /* End - Ritesh Rana : Mantis issue # 8931, Dt: 17th April 2018 */440 $where = array('protocols_in_place_id' => $individual_protocols_item[$i]['protocols_in_place_id']);441 $success_update = $this->common_model->update(NFC_CURRENT_PROTOCOLS_IN_PLACE, $update_protocols, $where);442 }443 }444 }445 //Insert new Current Protocols in place446 $protocols_name = $this->input->post('current_protocols_in_place');447 for ($i = 0; $i < count($protocols_name); $i++) {448 if (!empty($protocols_name[$i])) {449 $new_change ++;450 $protocols_data['individual_meeting_id'] = $individual_strategies_id;451 $protocols_data['yp_id'] = $postData['yp_id'];452 $protocols_data['current_protocols_in_place'] = strip_slashes($protocols_name[$i]);453 $protocols_data['staff_initials'] = $this->session->userdata['LOGGED_IN']['ID'];454 $protocols_data['created_date'] = datetimeformat();455 $protocols_data['modified_date'] = datetimeformat();456 $this->common_model->insert(NFC_CURRENT_PROTOCOLS_IN_PLACE, $protocols_data);457 }458 }459 /* end Current Protocols in place */460 }461 if (!empty($previous_data)) {462 if ($n != 0 || $new_update > 0 || $new_change > 0) {463 $this->common_model->update(INDIVIDUAL_STRATEGIES, $update_pre_data, array('yp_id' => $postData['yp_id'], 'is_previous_version' => 1, 'care_home_id' => $data_care_home_id['YP_details_care_home_id'][0]['care_home']));464 }465 } else {466 $this->common_model->insert(INDIVIDUAL_STRATEGIES, $update_pre_data);467 }468 $this->createArchive($postData['yp_id'], $individual_strategies_id, $new_change, $new_update);469 redirect('/' . $this->viewname . '/index/' . $data['yp_id']);470 }471 /*472 @Author : Ritesh Rana473 @Desc : usr sign off functionality474 @Input : yp_id,is_id475 @Output :476 @Date : 12/07/2017477 */478 public function manager_review($yp_id, $individual_strategies_id) {479 if (!empty($yp_id) && !empty($individual_strategies_id)) {480 $login_user_id = $this->session->userdata['LOGGED_IN']['ID'];481 $match = array('yp_id' => $yp_id, 'created_by' => $login_user_id, 'is_delete' => '0');482 $check_signoff_data = $this->common_model->get_records(INDIVIDUAL_MEETING_SIGNOFF, '', '', '', $match);483 if (empty($check_signoff_data) > 0) {484 $update_pre_data['yp_id'] = $yp_id;485 $update_pre_data['individual_meeting_id'] = $individual_strategies_id;486 $update_pre_data['created_date'] = datetimeformat();487 $update_pre_data['created_by'] = $this->session->userdata('LOGGED_IN')['ID'];488 if ($this->common_model->insert(INDIVIDUAL_MEETING_SIGNOFF, $update_pre_data)) {489 $msg = $this->lang->line('successfully_strategies_review');490 $this->session->set_flashdata('msg', "<div class='alert alert-success text-center'>$msg</div>");491 } else {492 // error493 $msg = $this->lang->line('error_msg');494 $this->session->set_flashdata('msg', "<div class='alert alert-danger text-center'>$msg</div>");495 }496 } else {497 $msg = $this->lang->line('already_strategies_review');498 $this->session->set_flashdata('msg', "<div class='alert alert-danger text-center'>$msg</div>");499 }500 } else {501 $msg = $this->lang->line('error_msg');502 $this->session->set_flashdata('msg', "<div class='alert alert-danger text-center'>$msg</div>");503 }504 redirect('/' . $this->viewname . '/index/' . $yp_id);505 }506 /*507 @Author : Niral Patel508 @Desc : check edit page 509 @Input :510 @Output :511 @Date : 18/08/2017512 */513 public function update_slug() {514 $postData = $this->input->post();515 $where = array('url_data' => $postData['url_data']);516 $this->common_model->delete(CHECK_EDIT_URL, $where);517 $update_pre_data['datetime'] = date('Y-m-d H:i:s');518 $update_pre_data['url_data'] = $postData['url_data'];519 $this->common_model->insert(CHECK_EDIT_URL, $update_pre_data);520 return TRUE;521 }522 /*523 @Author : Niral Patel524 @Desc : Create archive525 @Input :526 @Output :527 @Date : 18/08/2017528 */529 public function createArchive($id, $individual_strategies_id, $new_change, $new_update) {530 $fields = array("care_home,yp_fname,yp_lname,date_of_birth,yp_id");531 $data_yp_detail['YP_details'] = YpDetails($id, $fields);532 if (is_numeric($id)) {533 //get ra form534 $match = array('is_form_id' => 1);535 $formsdata = $this->common_model->get_records(IS_FORM, '', '', '', $match);536 //get IS yp data537 $match = array('yp_id' => $id);538 $pp_yp_data = $this->common_model->get_records(INDIVIDUAL_STRATEGIES, '', '', '', $match);539 /* edit by nikunj ghelani540 query for get medified date from individual strategie */541 if (!empty($formsdata) && !empty($pp_yp_data)) {542 $match = array('yp_id' => $id, 'is_previous_version' => 1);543 $data['prev_edit_data'] = $this->common_model->get_records(INDIVIDUAL_STRATEGIES, '', '', '', $match);544 $last_modified_date = $data['prev_edit_data'][0]['modified_date'];545 $form_data = json_decode($formsdata[0]['form_json_data'], TRUE);546 $data = array();547 $i = 0;548 foreach ($form_data as $row) {549 if (isset($row['name'])) {550 if ($row['type'] != 'button') {551 if ($row['type'] == 'checkbox-group') {552 $form_data[$i]['value'] = implode(',', $pp_yp_data[0][$row['name']]);553 } else {554 /*changes done by Dhara Bhalala to manage single quote in json*/555 $form_data[$i]['value'] = str_replace("'", "\'", $pp_yp_data[0][$row['name']]);556// $form_data[$i]['value'] = str_replace("'", '"', $pp_yp_data[0][$row['name']]);557 }558 }559 }560 $i++;561 }562 $archive = array(563 'yp_id' => $id,564 'form_json_data' => json_encode($form_data, TRUE),565 'created_by' => $this->session->userdata('LOGGED_IN')['ID'],566 'created_date' => datetimeformat(),567 'modified_date' => $last_modified_date,568 'modified_time' => date("H:i:s"),569 'status' => 0,570 'care_home_id' => $data_yp_detail['YP_details'][0]['care_home']571 );572 //get ra yp data573// $wherestring = " form_json_data = '" . str_replace("\\", "\\\\", json_encode($form_data, TRUE)) . "'";574// $pp_archive_data = $this->common_model->get_records(INDIVIDUAL_STRATEGIES_ARCHIVE, array('yp_id'), '', '', '', '', '', '', '', '', '', $wherestring);575 576 /*changes done by Dhara Bhalala to prevent auto archive when no updation changes*/577 $match = array('form_json_data' => json_encode($form_data, TRUE));578 $pp_archive_data = $this->common_model->get_records(INDIVIDUAL_STRATEGIES_ARCHIVE, array('yp_id'), '', '', $match);579 580 if (empty($pp_archive_data) || $new_change > 0 || $new_update > 0) {581 //get ra yp data582 $match = array('yp_id' => $id);583 $archive_data = $this->common_model->get_records(INDIVIDUAL_STRATEGIES_ARCHIVE, '', '', '', $match);584 if (!empty($archive_data)) {585 //update status to archive586 $update_archive = array(587 'created_date' => datetimeformat(),588 'modified_date' => $last_modified_date,589 'modified_time' => date("H:i:s"),590 'status' => 1,591 'care_home_id' => $data_yp_detail['YP_details'][0]['care_home']592 );593 $where = array('status' => 0, 'yp_id' => $id);594 $this->common_model->update(INDIVIDUAL_STRATEGIES_ARCHIVE, $update_archive, $where);595 }596 //insert archive data for next time597 $this->common_model->insert(INDIVIDUAL_STRATEGIES_ARCHIVE, $archive);598 $archive_individual_meeting_id = $this->db->insert_id();599 $table = NFC_AMENDMENTS;600 $match = array('yp_id' => $id);601 $field = array('*');602 $amendment_data = $this->common_model->get_records($table, $field, '', '', $match);603 if (!empty($amendment_data)) {604 foreach ($amendment_data as $data) {605 $amendment['amendments_id'] = $data['amendments_id'];606 $amendment['archive_individual_meeting_id'] = $archive_individual_meeting_id;607 $amendment['yp_id'] = $data['yp_id'];608 $amendment['amendments'] = ucfirst($data['amendments']);609 $amendment['staff_initials'] = $data['staff_initials'];610 $amendment['amendments_modified_date'] = $data['modified_date'];611 $amendment['created_date'] = datetimeformat();612 $this->common_model->insert(NFC_ARCHIVE_AMENDMENTS, $amendment);613 }614 }615 $table = NFC_CURRENT_PROTOCOLS_IN_PLACE;616 $match = array('yp_id' => $id);617 $field = array('*');618 $protocols_details = $this->common_model->get_records($table, $field, '', '', $match);619 if (!empty($protocols_details)) {620 foreach ($protocols_details as $protocols_data) {621 $protocols['protocols_in_place_id'] = $protocols_data['protocols_in_place_id'];622 $protocols['yp_id'] = $protocols_data['yp_id'];623 $protocols['archive_individual_meeting_id'] = $archive_individual_meeting_id;624 $protocols['current_protocols_in_place'] = ucfirst($protocols_data['current_protocols_in_place']);625 $protocols['staff_initials'] = $protocols_data['staff_initials'];626 $protocols['created_date'] = datetimeformat();627 $protocols['protocol_modified_date'] = $protocols_data['modified_date'];628 $this->common_model->insert(NFC_ARCHIVE_CURRENT_PROTOCOLS_IN_PLACE, $protocols);629 }630 }631 if ($archive_individual_meeting_id > 1) {632 $archive_individual_meeting_id = $archive_individual_meeting_id - 1;633 }634 $table = INDIVIDUAL_MEETING_SIGNOFF;635 $match = array('yp_id' => $id, 'individual_meeting_id' => $pp_yp_data[0]['individual_strategies_id'], 'is_delete' => '0');636 $field = array('yp_id,individual_meeting_id,created_by');637 $signoff_details = $this->common_model->get_records($table, $field, '', '', $match);638 if (!empty($signoff_details)) {639 foreach ($signoff_details as $signoff_data) {640 $signoff['yp_id'] = $signoff_data['yp_id'];641 $signoff['archive_individual_meeting_id'] = $archive_individual_meeting_id;642 $signoff['individual_meeting_id'] = ucfirst($signoff_data['individual_meeting_id']);643 $signoff['created_by'] = $signoff_data['created_by'];644 $signoff['created_date'] = datetimeformat();645 $this->common_model->insert(NFC_ARCHIVE_INDIVIDUAL_MEETING_SIGNOFF, $signoff);646 }647 $archive = array('is_delete' => 1);648 $where = array('yp_id' => $id);649 $this->common_model->update(INDIVIDUAL_MEETING_SIGNOFF, $archive, $where);650 }651 return TRUE;652 } else {653 return TRUE;654 }655 } else {656 return TRUE;657 }658 } else {659 show_404();660 }661 }662 /*663 @Author : Ritesh Rana664 @Desc : open popup for Signoff / Approval functionality665 @Input : yp_id,is_id666 @Output :667 @Date : 12/07/2017668 */669 public function signoff($yp_id = '', $is_id = '') {670 $this->formValidation();671 $fields = array("care_home");672 $data['YP_details'] = YpDetails($yp_id,$fields);673 $data['care_home_id'] = $data['YP_details'][0]['care_home'];674 $main_user_data = $this->session->userdata('LOGGED_IN');675 if ($this->form_validation->run() == FALSE) {676 $data['footerJs'][0] = base_url('uploads/custom/js/IndividualStrategies/IndividualStrategies.js');677 $data['crnt_view'] = $this->viewname;678 $data['ypid'] = $yp_id;679 $data['is_id'] = $is_id;680 //get social info681 $table = SOCIAL_WORKER_DETAILS . ' as sw';682 $match = array("sw.yp_id" => $yp_id);683 $fields = array("sw.social_worker_id,sw.social_worker_firstname,sw.social_worker_surname");684 $data['social_worker_data'] = $this->common_model->get_records($table, $fields, '', '', $match);685 //get parent info686 $table = PARENT_CARER_INFORMATION . ' as pc';687 $match = array("pc.yp_id" => $yp_id, 'pc.is_deleted' => 0);688 $fields = array("pc.parent_carer_id,pc.firstname,pc.surname");689 $data['parent_data'] = $this->common_model->get_records($table, $fields, '', '', $match);690 //Get Records From Login Table691 $data['form_action_path'] = $this->viewname . '/signoff';692 $data['header'] = array('menu_module' => 'YoungPerson');693 $data['validation'] = validation_errors();694 if (!empty($data['validation'])) {695 $data['main_content'] = '/signoff';696 $this->parser->parse('layouts/DefaultTemplate', $data);697 } else {698 $this->load->view('/signoff', $data);699 }700 } else {701 $this->insertdata();702 }703 }704 /*705 @Author : Ritesh Rana706 @Desc : insert Signoff / Approval functionality707 @Input : yp_id,is_id708 @Output :709 @Date : 12/07/2017710 */711 public function insertdata() {712 $postdata = $this->input->post();713 $ypid = $postdata['ypid'];714 $is_id = $postdata['is_id'];715 $user_type = $postdata['user_type'];716 // insert parent details717 if ($user_type == 'parent') {718 $parent_data['firstname'] = strip_tags($postdata['fname']);719 $parent_data['surname'] = strip_tags($postdata['lname']);720 $parent_data['relationship'] = strip_tags($postdata['relationship']);721 $parent_data['address'] = strip_tags($postdata['address']);722 $parent_data['contact_number'] = strip_tags($postdata['contact_number']);723 $parent_data['email_address'] = strip_tags($postdata['email']);724 $parent_data['yp_authorised_communication'] = strip_tags($postdata['yp_authorised_communication']);725 $parent_data['carer_authorised_communication'] = strip_tags($postdata['carer_authorised_communication']);726 $parent_data['yp_authorised_communication'] = strip_tags($postdata['yp_authorised_communication']);727 $parent_data['comments'] = strip_tags($postdata['comments']);728 $parent_data['created_date'] = datetimeformat();729 $parent_data['created_by'] = $this->session->userdata['LOGGED_IN']['ID'];730 $parent_data['yp_id'] = $this->input->post('ypid');731 $parent_data['care_home_id'] = $this->input->post('care_home_id');732 $success = $this->common_model->insert(PARENT_CARER_INFORMATION, $parent_data);733 //Insert log activity734 $activity = array(735 'user_id' => $this->session->userdata['LOGGED_IN']['ID'],736 'yp_id' => !empty($postdata['ypid']) ? $postdata['ypid'] : '',737 'module_name' => IS_PARENT_CARER_DETAILS_YP,738 'module_field_name' => '',739 'type' => 1740 );741 log_activity($activity);742 }743 //Current Login detail744 $main_user_data = $this->session->userdata('LOGGED_IN');745 if (!validateFormSecret()) {746 $this->session->set_flashdata('msg', "<div class='alert alert-danger text-center'>" . lang('error') . "</div>");747 redirect('YoungPerson/view/' . $ypid);748 }749 $data['crnt_view'] = $this->viewname;750 $match = array('is_form_id' => 1);751 $formsdata = $this->common_model->get_records(IS_FORM, '', '', '', $match);752 //get ra yp data753 $match = array('yp_id' => $ypid);754 $pp_yp_data = $this->common_model->get_records(INDIVIDUAL_STRATEGIES, '', '', '', $match);755 if (!empty($formsdata) && !empty($pp_yp_data)) {756 $form_data = json_decode($formsdata[0]['form_json_data'], TRUE);757 $data = array();758 $i = 0;759 foreach ($form_data as $row) {760 if (isset($row['name'])) {761 if ($row['type'] != 'button') {762 if ($row['type'] == 'checkbox-group') {763 $form_data[$i]['value'] = implode(',', $pp_yp_data[0][$row['name']]);764 } else {765 $form_data[$i]['value'] = str_replace("'", '"', $pp_yp_data[0][$row['name']]);766 }767 }768 }769 $i++;770 }771 }772 $data = array(773 'user_type' => ucfirst($postdata['user_type']),774 'yp_id' => ucfirst($postdata['ypid']),775 'is_id' => ucfirst($postdata['is_id']),776 'form_json_data' => json_encode($form_data, TRUE),777 'fname' => ucfirst($postdata['fname']),778 'lname' => ucfirst($postdata['lname']),779 'email' => $postdata['email'],780 'key_data' => md5($postdata['email']),781 'created_date' => datetimeformat(),782 'created_by' => $main_user_data['ID'],783 'updated_by' => $main_user_data['ID'],784 'care_home_id' => $postdata['care_home_id'],785 );786 //Insert Record in Database787 if ($this->common_model->insert(NFC_IS_SIGNOFF_DETAILS, $data)) {788 $signoff_id = $this->db->insert_id();789 $table = NFC_AMENDMENTS;790 $match = array('yp_id' => $ypid);791 $field = array('amendments_id,yp_id,amendments,staff_initials');792 $amendment_data = $this->common_model->get_records($table, $field, '', '', $match);793 if (!empty($amendment_data)) {794 foreach ($amendment_data as $data_amendment) {795 $amendment['amendments_id'] = $data_amendment['amendments_id'];796 $amendment['approval_individual_meeting_id'] = $signoff_id;797 $amendment['yp_id'] = $data_amendment['yp_id'];798 $amendment['amendments'] = ucfirst($data_amendment['amendments']);799 $amendment['staff_initials'] = $data_amendment['staff_initials'];800 $amendment['created_date'] = datetimeformat();801 $this->common_model->insert(NFC_APPROVAL_AMENDMENTS, $amendment);802 }803 }804 $table = NFC_CURRENT_PROTOCOLS_IN_PLACE;805 $match = array('yp_id' => $ypid);806 $field = array('protocols_in_place_id,yp_id,current_protocols_in_place,staff_initials');807 $protocols_details = $this->common_model->get_records($table, $field, '', '', $match);808 if (!empty($protocols_details)) {809 foreach ($protocols_details as $protocols_data) {810 $protocols['protocols_in_place_id'] = $protocols_data['protocols_in_place_id'];811 $protocols['yp_id'] = $protocols_data['yp_id'];812 $protocols['approval_individual_meeting_id'] = $signoff_id;813 $protocols['current_protocols_in_place'] = ucfirst($protocols_data['current_protocols_in_place']);814 $protocols['staff_initials'] = $protocols_data['staff_initials'];815 $protocols['created_date'] = datetimeformat();816 $this->common_model->insert(NFC_APPROVAL_CURRENT_PROTOCOLS_IN_PLACE, $protocols);817 }818 }819 $table = INDIVIDUAL_MEETING_SIGNOFF;820 $match = array('yp_id' => $ypid, 'is_delete' => '0');821 $field = array('yp_id,created_by');822 $signoff_data = $this->common_model->get_records($table, $field, '', '', $match);823 if (!empty($signoff_data)) {824 foreach ($signoff_data as $approval_value) {825 $update_arc_data['approval_is_id'] = $signoff_id;826 $update_arc_data['yp_id'] = $approval_value['yp_id'];827 $update_arc_data['created_date'] = datetimeformat();828 $update_arc_data['created_by'] = $approval_value['created_by'];829 $this->common_model->insert(NFC_APPROVAL_INDIVIDUAL_MEETING_SIGNOFF, $update_arc_data);830 }831 }832 $this->sendMailToRelation($data, $signoff_id); // send mail833 $msg = $this->lang->line('successfully_sign_off');834 $this->session->set_flashdata('msg', "<div class='alert alert-success text-center'>$msg</div>");835 } else {836 // error837 $msg = $this->lang->line('error_msg');838 $this->session->set_flashdata('msg', "<div class='alert alert-danger text-center'>$msg</div>");839 }840 redirect('IndividualStrategies/index/' . $ypid);841 }842 /*843 @Author : Ritesh Rana844 @Desc : Send email for Signoff / Approval functionality845 @Input : yp_id,is_id846 @Output :847 @Date : 12/07/2017848 */849 private function sendMailToRelation($data = array(), $signoff_id) {850 if (!empty($data) && is_numeric($signoff_id)) {851 if (!empty($data['yp_id'])) {852 $match = array("yp_id" => $data['yp_id']);853 $fields = array("concat(yp_fname,' ',yp_lname) as yp_name");854 $YP_details = $this->common_model->get_records(YP_DETAILS, $fields, '', '', $match);855 }856 $yp_name = !empty($YP_details[0]['yp_name']) ? $YP_details[0]['yp_name'] : "";857 /* Send Created Customer password with Link */858 $toEmailId = $data['email'];859 $customerName = $data['fname'] . ' ' . $data['lname'];860 $email = md5($toEmailId);861 $loginLink = base_url('IndividualStrategies/signoffData/' . $data['yp_id'] . '/' . $signoff_id . '/' . $email);862 $find = array('{NAME}', '{LINK}');863 $replace = array(864 'NAME' => $customerName,865 'LINK' => $loginLink,866 );867 $emailSubject = 'Welcome to NFCTracker';868 $emailBody = '<div>'869 . '<p>Hello {NAME} ,</p> '870 . '<p>Please find Individual Strategies for ' . $yp_name . ' for your approval.</p> '871 . "<p>For security purposes, Please do not forward this email on to any other person. It is for the recipient only and if this is sent in error please advise itsupport@newforestcare.co.uk and delete this email. This link is only valid for " . REPORT_EXPAIRED_HOUR . ", should this not be signed off within " . REPORT_EXPAIRED_HOUR . " of recieving then please request again</p>"872 . '<p> <a href="{LINK}">click here</a> </p> '873 . '<div>';874 $finalEmailBody = str_replace($find, $replace, $emailBody);875 return $this->common_model->sendEmail($toEmailId, $emailSubject, $finalEmailBody, FROM_EMAIL_ID);876 }877 return true;878 }879 public function formValidation($id = null) {880 $this->form_validation->set_rules('fname', 'Firstname', 'trim|required|min_length[2]|max_length[100]|xss_clean');881 $this->form_validation->set_rules('lname', 'Lastname', 'trim|required|min_length[2]|max_length[100]|xss_clean');882 $this->form_validation->set_rules('email', 'Email', 'trim|required|xss_clean');883 }884 /*885 @Author : Ritesh Rana886 @Desc : View Signoff / Approval functionality887 @Input : yp_id,email_id and sign off id888 @Output :889 @Date : 12/07/2017890 */891 public function signoffData($id, $signoff_id, $email) {892 if (is_numeric($id) && is_numeric($signoff_id) && !empty($email)) {893 $login_user_id = $this->session->userdata['LOGGED_IN']['ID'];894 $match = array('yp_id' => $id, 'is_signoff_details_id' => $signoff_id, 'key_data' => $email, 'status' => 'inactive');895 $check_signoff_data = $this->common_model->get_records(NFC_IS_SIGNOFF_DETAILS, array("*"), '', '', $match);896 if (!empty($check_signoff_data)) {897 $expairedDate = date('Y-m-d H:i:s', strtotime($check_signoff_data[0]['created_date'] . REPORT_EXPAIRED_DAYS));898 if (strtotime(datetimeformat()) <= strtotime($expairedDate)) {899 $data['form_data'] = json_decode($check_signoff_data[0]['form_json_data'], TRUE);900 //get YP information901 $fields = array("care_home,yp_fname,yp_lname,date_of_birth,yp_id");902 $data['YP_details'] = YpDetails($id,$fields);903 if (empty($data['YP_details'])) {904 $msg = $this->lang->line('common_no_record_found');905 $this->session->set_flashdata('msg', "<div class='alert alert-danger text-center'>$msg</div>");906 redirect('YoungPerson/view/' . $id);907 }908 //get Amendments data909 $table = NFC_APPROVAL_AMENDMENTS . ' as do';910 $match = array('do.yp_id' => $id, 'approval_individual_meeting_id' => $signoff_id);911 $fields = array("do.amendments,do.created_date,CONCAT(l.firstname,' ', l.lastname) as create_name");912 $join_tables = array(LOGIN . ' as l' => 'l.login_id= do.staff_initials');913 $data['item_details'] = $this->common_model->get_records($table, $fields, $join_tables, 'left', $match);914 //get current protocols in place915 $table = NFC_APPROVAL_CURRENT_PROTOCOLS_IN_PLACE . ' as cpip';916 $match = array('cpip.yp_id' => $id, 'approval_individual_meeting_id' => $signoff_id);917 $fields = array("cpip.current_protocols_in_place,cpip.created_date,CONCAT(l.firstname,' ', l.lastname) as create_name");918 $join_tables = array(LOGIN . ' as l' => 'l.login_id= cpip.staff_initials');919 $data['protocols_details'] = $this->common_model->get_records($table, $fields, $join_tables, 'left', $match);920 //get IS Signoff datat 921 $login_user_id = $this->session->userdata['LOGGED_IN']['ID'];922 $table = INDIVIDUAL_MEETING_SIGNOFF . ' as ims';923 $where = array("l.is_delete" => "0", "ims.yp_id" => $id, "ims.is_delete" => "0");924 $fields = array("ims.created_by,ims.created_date,ims.yp_id, CONCAT(`firstname`,' ', `lastname`) as name");925 $join_tables = array(LOGIN . ' as l' => 'l.login_id=ims.created_by');926 $group_by = array('created_by');927 $data['ra_signoff_data'] = $this->common_model->get_records($table, $fields, $join_tables, 'left', '', '', '', '', '', '', $group_by, $where);928 //get IS old yp data929 $data['key_data'] = $email;930 $data['ypid'] = $id;931 $data['signoff_id'] = $signoff_id;932 $match = array('yp_id' => $id, 'is_previous_version' => 1);933 $data['prev_edit_data'] = $this->common_model->get_records(INDIVIDUAL_STRATEGIES, '', '', '', $match);934 $data['header'] = array('menu_module' => 'YoungPerson');935 $data['footerJs'][0] = base_url('uploads/custom/js/IndividualStrategies/IndividualStrategies.js');936 $data['crnt_view'] = $this->viewname;937 $data['main_content'] = '/signoff_view';938 $this->parser->parse('layouts/DefaultTemplate', $data);939 } else {940 $msg = lang('link_expired');941 $this->session->set_flashdata('msg', "<div class='alert alert-danger text-center'>$msg</div>")942 ;943 $this->load->view('successfully_message');944 }945 } else {946 $msg = $this->lang->line('already_is_review');947 $this->session->set_flashdata('msg', "<div class='alert alert-danger text-center'>$msg</div>");948 $this->load->view('successfully_message');949 }950 //get pp form951 } else {952 show_404();953 }954 }955 /*956 @Author : Ritesh Rana957 @Desc : review data for Signoff / Approval view page958 @Input : yp_id,signoff_id,email_id959 @Output :960 @Date : 12/07/2017961 */962 public function signoff_review_data($yp_id, $signoff_id, $email) {963 if (!empty($yp_id) && !empty($signoff_id) && !empty($email)) {964 $login_user_id = $this->session->userdata['LOGGED_IN']['ID'];965 $match = array('yp_id' => $yp_id, 'is_signoff_details_id' => $signoff_id, 'key_data' => $email, 'status' => 'inactive');966 $check_signoff_data = $this->common_model->get_records(NFC_IS_SIGNOFF_DETAILS, array("form_json_data,created_date,key_data"), '', '', $match);967 if (!empty($check_signoff_data)) {968 $expairedDate = date('Y-m-d H:i:s', strtotime($check_signoff_data[0]['created_date'] . REPORT_EXPAIRED_DAYS));969 if (strtotime(datetimeformat()) <= strtotime($expairedDate)) {970 $u_data['status'] = 'active';971 $u_data['modified_date'] = datetimeformat();972 $success = $this->common_model->update(NFC_IS_SIGNOFF_DETAILS, $u_data, array('is_signoff_details_id' => $signoff_id, 'yp_id' => $yp_id, 'key_data' => $email));973 if ($success) {974 $msg = $this->lang->line('successfully_is_review');975 $this->session->set_flashdata('signoff_review_msg', "<div class='alert alert-success text-center'>$msg</div>");976 } else {977 // error978 $msg = $this->lang->line('error_msg');979 $this->session->set_flashdata('signoff_review_msg', "<div class='alert alert-danger text-center'>$msg</div>");980 }981 } else {982 $msg = lang('link_expired');983 $this->session->set_flashdata('signoff_review_msg', "<div class='alert alert-danger text-center'>$msg</div>")984 ;985 }986 } else {987 $msg = $this->lang->line('already_is_review');988 $this->session->set_flashdata('signoff_review_msg', "<div class='alert alert-danger text-center'>$msg</div>");989 }990 } else {991 $msg = $this->lang->line('error_msg');992 $this->session->set_flashdata('signoff_review_msg', "<div class='alert alert-danger text-center'>$msg</div>");993 }994 $this->load->view('successfully_message');995 }996 /*997 @Author : Niral Patel998 @Desc : get user type detail999 @Input :1000 @Output :1001 @Date : 28/03/20181002 */1003 public function getUserTypeDetail() {1004 $postdata = $this->input->post();1005 $user_type = !empty($postdata['user_type']) ? $postdata['user_type'] : '';1006 $id = $postdata['id'];1007 $ypid = $postdata['ypid'];1008 $table = YP_DETAILS . ' as yp';1009 $match = "yp.yp_id = " . $ypid;1010 $fields = array("yp.*,swd.social_worker_firstname,swd.social_worker_surname,swd.landline,swd.mobile,swd.email,swd.senior_social_worker_firstname,swd.senior_social_worker_surname,oyp.pen_portrait,swd.other,pc.firstname,pc.surname,pc.relationship,pc.address,pc.contact_number,pc.email_address,pc.yp_authorised_communication,pc.carer_authorised_communication,pc.comments");1011 $join_tables = array(SOCIAL_WORKER_DETAILS . ' as swd' => 'swd.yp_id= yp.yp_id', PARENT_CARER_INFORMATION . ' as pc' => 'pc.yp_id= yp.yp_id', OVERVIEW_OF_YOUNG_PERSON . ' as oyp' => 'oyp.yp_id= yp.yp_id');1012 $data['editRecord'] = $this->common_model->get_records($table, $fields, $join_tables, 'left', $match);1013 if ($user_type == 'parent_data') {1014 //get parent info1015 $table = PARENT_CARER_INFORMATION . ' as pc';1016 $match = array("pc.parent_carer_id" => $id, 'pc.is_deleted' => 0);1017 $fields = array("pc.*");1018 $data['parent_data'] = $this->common_model->get_records($table, $fields, '', '', $match);1019 $data['editRecord'][0]['fname'] = $data['editRecord'][0]['firstname'];1020 $data['editRecord'][0]['lname'] = $data['editRecord'][0]['surname'];1021 $data['editRecord'][0]['email_id'] = $data['editRecord'][0]['email_address'];1022 } else if ($user_type == 'social_data') {1023 //get social info1024 $table = SOCIAL_WORKER_DETAILS . ' as sw';1025 $match = array("sw.social_worker_id" => $id);1026 $fields = array("sw.*");1027 $data['social_worker_data'] = $this->common_model->get_records($table, $fields, '', '', $match);1028 $data['editRecord'][0]['fname'] = $data['editRecord'][0]['social_worker_firstname'];1029 $data['editRecord'][0]['lname'] = $data['editRecord'][0]['social_worker_surname'];1030 $data['editRecord'][0]['email_id'] = $data['editRecord'][0]['email'];1031 }1032 $data['user_type'] = $user_type;1033 $this->load->view($this->viewname . '/signoff_ajax', $data);1034 }1035 /*1036 @Author : Ritesh rana1037 @Desc : view id data1038 @Input :1039 @Output :1040 @Date : 13/04/20181041 */1042 public function external_approval_list($ypid, $is_id) {1043 if (is_numeric($ypid) && is_numeric($is_id)) {1044 $fields = array("care_home,yp_fname,yp_lname,date_of_birth,yp_id");1045 $data['YP_details'] = YpDetails($ypid,$fields);1046 if (empty($data['YP_details'])) {1047 $msg = $this->lang->line('common_no_record_found');1048 $this->session->set_flashdata('msg', "<div class='alert alert-danger text-center'>$msg</div>");1049 redirect('YoungPerson/view/' . $ypid);1050 }1051 $searchtext = $perpage = '';1052 $searchtext = $this->input->post('searchtext');1053 $sortfield = $this->input->post('sortfield');1054 $sortby = $this->input->post('sortby');1055 $perpage = 10;1056 $allflag = $this->input->post('allflag');1057 if (!empty($allflag) && ($allflag == 'all' || $allflag == 'changesorting' || $allflag == 'changesearch')) {1058 $this->session->unset_userdata('is_approval_session_data');1059 }1060 $searchsort_session = $this->session->userdata('is_approval_session_data');1061 //Sorting1062 if (!empty($sortfield) && !empty($sortby)) {1063 $data['sortfield'] = $sortfield;1064 $data['sortby'] = $sortby;1065 } else {1066 if (!empty($searchsort_session['sortfield'])) {1067 $data['sortfield'] = $searchsort_session['sortfield'];1068 $data['sortby'] = $searchsort_session['sortby'];1069 $sortfield = $searchsort_session['sortfield'];1070 $sortby = $searchsort_session['sortby'];1071 } else {1072 $sortfield = 'is_signoff_details_id';1073 $sortby = 'desc';1074 $data['sortfield'] = $sortfield;1075 $data['sortby'] = $sortby;1076 }1077 }1078 //Search text1079 if (!empty($searchtext)) {1080 $data['searchtext'] = $searchtext;1081 } else {1082 if (empty($allflag) && !empty($searchsort_session['searchtext'])) {1083 $data['searchtext'] = $searchsort_session['searchtext'];1084 $searchtext = $data['searchtext'];1085 } else {1086 $data['searchtext'] = '';1087 }1088 }1089 if (!empty($perpage) && $perpage != 'null') {1090 $data['perpage'] = $perpage;1091 $config['per_page'] = $perpage;1092 } else {1093 if (!empty($searchsort_session['perpage'])) {1094 $data['perpage'] = trim($searchsort_session['perpage']);1095 $config['per_page'] = trim($searchsort_session['perpage']);1096 } else {1097 $config['per_page'] = '10';1098 $data['perpage'] = '10';1099 }1100 }1101 //pagination configuration1102 $config['first_link'] = 'First';1103 $config['base_url'] = base_url() . $this->viewname . '/external_approval_list/' . $ypid . '/' . $is_id;1104 if (!empty($allflag) && ($allflag == 'all' || $allflag == 'changesorting' || $allflag == 'changesearch')) {1105 $config['uri_segment'] = 0;1106 $uri_segment = 0;1107 } else {1108 $config['uri_segment'] = 5;1109 $uri_segment = $this->uri->segment(5);1110 }1111 //Query1112 $table = NFC_IS_SIGNOFF_DETAILS . ' as com';1113 $where = array("com.yp_id" => $ypid, "com.is_id" => $is_id);1114 $fields = array("c.care_home_name,com.*,CONCAT(`firstname`,' ', `lastname`) as create_name ,CONCAT(`fname`,' ', `lname`) as user_name");1115 $join_tables = array(LOGIN . ' as l' => 'l.login_id= com.created_by', CARE_HOME . ' as c' => 'c.care_home_id= com.care_home_id');1116 if (!empty($searchtext)) {1117 1118 } else {1119 $data['information'] = $this->common_model->get_records($table, $fields, $join_tables, 'left', '', '', $config['per_page'], $uri_segment, $sortfield, $sortby, '', $where);1120 $config['total_rows'] = $this->common_model->get_records($table, $fields, $join_tables, 'left', '', '', '', '', $sortfield, $sortby, '', $where, '', '', '1');1121 }1122 $data['ypid'] = $ypid;1123 $data['is_id'] = $is_id;1124 $this->ajax_pagination->initialize($config);1125 $data['pagination'] = $this->ajax_pagination->create_links();1126 $data['uri_segment'] = $uri_segment;1127 $sortsearchpage_data = array(1128 'sortfield' => $data['sortfield'],1129 'sortby' => $data['sortby'],1130 'searchtext' => $data['searchtext'],1131 'perpage' => trim($data['perpage']),1132 'uri_segment' => $uri_segment,1133 'total_rows' => $config['total_rows']);1134 $this->session->set_userdata('is_approval_session_data', $sortsearchpage_data);1135 setActiveSession('is_approval_session_data'); // set current Session active1136 $data['header'] = array('menu_module' => 'Communication');1137 //get communication form1138 $data['crnt_view'] = $this->viewname;1139 $data['footerJs'][0] = base_url('uploads/custom/js/IndividualStrategies/IndividualStrategies.js');1140 $data['header'] = array('menu_module' => 'YoungPerson');1141 if ($this->input->post('result_type') == 'ajax') {1142 $this->load->view($this->viewname . '/approval_ajaxlist', $data);1143 } else {1144 $data['main_content'] = '/is_list';1145 $this->parser->parse('layouts/DefaultTemplate', $data);1146 }1147 } else {1148 show_404();1149 }1150 }1151 /*1152 @Author : Ritesh rana1153 @Desc : view approval IS1154 @Input :1155 @Output :1156 @Date : 13/04/20181157 */1158 public function viewApprovalIs($id, $ypid) {1159 if (is_numeric($id) && is_numeric($ypid)) {1160 //get archive pp data1161 $match = array('is_signoff_details_id' => $id);1162 $formsdata = $this->common_model->get_records(NFC_IS_SIGNOFF_DETAILS, '', '', '', $match);1163 $data['formsdata'] = $formsdata;1164 if (!empty($formsdata)) {1165 $data['pp_form_data'] = json_decode($formsdata[0]['form_json_data'], TRUE);1166 }1167 //get YP information1168 $fields = array("care_home,yp_fname,yp_lname,date_of_birth,yp_id");1169 $data['YP_details'] = YpDetails($ypid,$fields);1170 if (empty($data['YP_details'])) {1171 $msg = $this->lang->line('common_no_record_found');1172 $this->session->set_flashdata('msg', "<div class='alert alert-danger text-center'>$msg</div>");1173 redirect('YoungPerson/view/' . $ypid);1174 }1175 //get approval individual behaviour plan signoff1176 $table = NFC_APPROVAL_INDIVIDUAL_BEHAVIOUR_PLAN_SIGNOFF . ' as ibp';1177 $where = array("l.is_delete" => "0", "ibp.yp_id" => $ypid, "ibp.is_delete" => "0", "approval_ibp_id" => $id);1178 $fields = array("ibp.created_by,ibp.created_date,ibp.yp_id, CONCAT(`firstname`,' ', `lastname`) as name");1179 $join_tables = array(LOGIN . ' as l' => 'l.login_id=ibp.created_by');1180 $group_by = array('created_by');1181 $data['signoff_data'] = $this->common_model->get_records($table, $fields, $join_tables, 'left', '', '', '', '', '', '', $group_by, $where);1182 //get approval amendments1183 $table = NFC_APPROVAL_AMENDMENTS . ' as do';1184 $match = array('do.yp_id' => $ypid, 'approval_individual_meeting_id' => $id);1185 $fields = array("do.amendments,do.amendments_id,do.created_date,CONCAT(l.firstname,' ', l.lastname) as create_name");1186 $join_tables = array(LOGIN . ' as l' => 'l.login_id= do.staff_initials');1187 $data['item_details'] = $this->common_model->get_records($table, $fields, $join_tables, 'left', $match);1188 1189 //get approval current protocols in place1190 $table = NFC_APPROVAL_CURRENT_PROTOCOLS_IN_PLACE . ' as cpip';1191 $match = array('cpip.yp_id' => $ypid, 'approval_individual_meeting_id' => $id);1192 $fields = array("cpip.protocols_in_place_id,cpip.current_protocols_in_place,cpip.created_date,CONCAT(l.firstname,' ', l.lastname) as create_name");1193 $join_tables = array(LOGIN . ' as l' => 'l.login_id= cpip.staff_initials');1194 $data['protocols_details'] = $this->common_model->get_records($table, $fields, $join_tables, 'left', $match);1195 1196 $table = NFC_APPROVAL_INDIVIDUAL_MEETING_SIGNOFF . ' as is';1197 $where = array("l.is_delete" => "0", "is.yp_id" => $ypid, "is.is_delete" => "0", "approval_is_id" => $id);1198 $fields = array("is.created_by,is.created_date,is.yp_id, CONCAT(`firstname`,' ', `lastname`) as name");1199 $join_tables = array(LOGIN . ' as l' => 'l.login_id=is.created_by');1200 $group_by = array('created_by');1201 $data['signoff_data'] = $this->common_model->get_records($table, $fields, $join_tables, 'left', '', '', '', '', '', '', $group_by, $where);1202 $data['ypid'] = $ypid;1203 $data['is_id'] = $formsdata[0]['is_id'];1204 $data['footerJs'][0] = base_url('uploads/custom/js/IndividualStrategies/IndividualStrategies.js');1205 $data['crnt_view'] = $this->viewname;1206 $data['header'] = array('menu_module' => 'YoungPerson');1207 $data['main_content'] = '/approval_view';1208 $this->parser->parse('layouts/DefaultTemplate', $data);1209 } else {1210 show_404();1211 }1212 }1213 /*1214 @Author : Ritesh rana1215 @Desc : resend external approval1216 @Input :1217 @Output :1218 @Date : 13/04/20181219 */1220 public function resend_external_approval($signoff_id, $ypid, $isid) {1221 $match = array('is_signoff_details_id' => $signoff_id);1222 $signoff_data = $this->common_model->get_records(NFC_IS_SIGNOFF_DETAILS, array("yp_id,fname,lname,email"), '', '', $match);1223 if (!empty($signoff_data)) {1224 $data = array(1225 'yp_id' => ucfirst($signoff_data[0]['yp_id']),1226 'fname' => ucfirst($signoff_data[0]['fname']),1227 'lname' => ucfirst($signoff_data[0]['lname']),1228 'email' => $signoff_data[0]['email']1229 );1230 $sent = $this->sendMailToRelation($data, $signoff_id); // send mail1231 if ($sent) {1232 $u_data['created_date'] = datetimeformat();1233 $u_data['modified_date'] = NULL;1234 $success = $this->common_model->update(NFC_IS_SIGNOFF_DETAILS, $u_data, array('is_signoff_details_id' => $signoff_id));1235 $msg = $this->lang->line('mail_sent_successfully');1236 $this->session->set_flashdata('msg', "<div class='alert alert-success text-center'>$msg</div>");1237 } else {1238 $msg = $this->lang->line('error');1239 $this->session->set_flashdata('msg', "<div class='alert alert-success text-center'>$msg</div>");1240 }1241 }1242 redirect($this->viewname . '/external_approval_list/' . $ypid . '/' . $isid);1243 }1244/*1245 @Author : Ritesh rana1246 @Desc : Download Pdf1247 @Input :1248 @Output :1249 @Date : 13/04/20181250 */1251 public function DownloadPdf($individual_strategies_id, $yp_id) {1252 $data = [];1253 $match = array('is_form_id' => 1);1254 $ra_forms = $this->common_model->get_records(IS_FORM, '', '', '', $match);1255 if (!empty($ra_forms)) {1256 $data['ra_form_data'] = json_decode($ra_forms[0]['form_json_data'], TRUE);1257 }1258 //get YP information1259 $data['id'] = $yp_id;1260 $fields = array("care_home,yp_fname,yp_lname,date_of_birth,yp_id");1261 $data['YP_details'] = YpDetails($yp_id,$fields);1262 //get amendments1263 $table = NFC_AMENDMENTS . ' as do';1264 $match = array('do.yp_id' => $yp_id, 'do.individual_meeting_id' => $individual_strategies_id);1265 $fields = array("do.amendments,do.created_date,CONCAT(l.firstname,' ', l.lastname) as create_name");1266 $join_tables = array(LOGIN . ' as l' => 'l.login_id= do.staff_initials');1267 $data['item_details'] = $this->common_model->get_records($table, $fields, $join_tables, 'left', $match);1268 //get current protocols in place1269 $table = NFC_CURRENT_PROTOCOLS_IN_PLACE . ' as cpip';1270 $match = array('cpip.yp_id' => $yp_id, 'cpip.individual_meeting_id' => $individual_strategies_id);1271 $fields = array("cpip.current_protocols_in_place,cpip.created_date,CONCAT(l.firstname,' ', l.lastname) as create_name");1272 $join_tables = array(LOGIN . ' as l' => 'l.login_id= cpip.staff_initials');1273 $data['protocols_details'] = $this->common_model->get_records($table, $fields, $join_tables, 'left', $match);1274 1275 //get individual meeting signoff 1276 $table = INDIVIDUAL_MEETING_SIGNOFF . ' as ims';1277 $where = array("l.is_delete" => "0", "ims.yp_id" => $yp_id, "ims.individual_meeting_id" => $individual_strategies_id);1278 $fields = array("ims.created_by,ims.yp_id, CONCAT(`firstname`,' ', `lastname`) as name");1279 $join_tables = array(LOGIN . ' as l' => 'l.login_id=ims.created_by');1280 $group_by = array('created_by');1281 $data['signoff_data'] = $this->common_model->get_records($table, $fields, $join_tables, 'left', '', '', '', '', '', '', $group_by, $where);1282 //get individual signoff details1283 $table = NFC_IS_SIGNOFF_DETAILS . ' as sd';1284 $match_social = array('sd.yp_id' => $yp_id, 'sd.is_id' => $individual_strategies_id, 'sd.status' => 'active');1285 $social_where_in = array("sd.user_type" => ['Social_worker', 'Social_data']);1286 $match_parent = array('sd.yp_id' => $yp_id, 'sd.is_id' => $individual_strategies_id, 'sd.status' => 'active');1287 $parent_where_in = array("sd.user_type" => ['Parent', 'Parent_data']);1288 $match_other = array('sd.yp_id' => $yp_id, 'sd.is_id' => $individual_strategies_id, "sd.user_type" => "Other", 'sd.status' => 'active');1289 $fields = array("sd.*,CONCAT(sd.fname,' ', sd.lname) as staff_name");1290 $data['social_worker_signoff'] = $this->common_model->get_records($table, $fields, '', '', $match_social, '', '', '', '', '', '', '', '', $social_where_in);1291 $data['parent_signoff'] = $this->common_model->get_records($table, $fields, '', '', $match_parent, '', '', '', '', '', '', '', '', $parent_where_in);1292 $data['other_signoff'] = $this->common_model->get_records($table, $fields, '', '', $match_other);1293 //get IS yp data1294 $table = INDIVIDUAL_STRATEGIES . ' as cpm';1295 $match = array('cpm.yp_id' => $yp_id, 'cpm.individual_strategies_id' => $individual_strategies_id);1296 $fields = array("cpm.*,CONCAT(l.firstname,' ', l.lastname) as create_name");1297 $join_tables = array(LOGIN . ' as l' => 'l.login_id = cpm.created_by');1298 $data['edit_data'] = $this->common_model->get_records($table, $fields, $join_tables, 'left', $match);1299 $data['crnt_view'] = $this->viewname;1300 $data['ypid'] = $yp_id;1301 //new1302 $pdfFileName = "individual_strategies.pdf";1303 $PDFInformation['yp_details'] = $data['YP_details'][0];1304 $PDFInformation['edit_data'] = $data['edit_data'][0]['modified_date'];1305 $PDFHeaderHTML = $this->load->view('isrpdfHeader', $PDFInformation, true);1306 $PDFFooterHTML = $this->load->view('isrpdfFooter', $PDFInformation, true);1307 //Set Header Footer and Content For PDF1308 $this->m_pdf->pdf->mPDF('utf-8', 'A4', '', '', '15', '15', '55', '25');1309 $this->m_pdf->pdf->SetHTMLHeader($PDFHeaderHTML, 'O');1310 $this->m_pdf->pdf->SetHTMLFooter($PDFFooterHTML);1311 $data['main_content'] = '/isrpdf';1312 $html = $this->parser->parse('layouts/PdfDataTemplate', $data);1313 /* remove */1314 $this->m_pdf->pdf->WriteHTML($html);1315 //Store PDF in individual_strategies Folder1316 $this->m_pdf->pdf->Output($pdfFileName, "D");1317 }1318 /*1319 @Author : Nikunj Ghelani1320 @Desc : PDF data1321 @Input :1322 @Output :1323 @Date : 28/06/20181324 */1325 public function DownloadPDF_after_mail($id, $signoff_id) {1326 if (is_numeric($id) && is_numeric($signoff_id)) {1327 $login_user_id = $this->session->userdata['LOGGED_IN']['ID'];1328 $match = array('yp_id' => $id, 'is_signoff_details_id' => $signoff_id, 'status' => 'inactive');1329 $check_signoff_data = $this->common_model->get_records(NFC_IS_SIGNOFF_DETAILS, array("form_json_data,user_type,email,key_data,created_date"), '', '', $match);1330 if (!empty($check_signoff_data)) {1331 $expairedDate = date('Y-m-d H:i:s', strtotime($check_signoff_data[0]['created_date'] . REPORT_EXPAIRED_DAYS));1332 if (strtotime(datetimeformat()) <= strtotime($expairedDate)) {1333 $data['form_data'] = json_decode($check_signoff_data[0]['form_json_data'], TRUE);1334 //get YP information1335 $fields = array("care_home,yp_fname,yp_lname,date_of_birth,yp_id");1336 $data['YP_details'] = YpDetails($id,$fields);1337 1338 if (empty($data['YP_details'])) {1339 $msg = $this->lang->line('common_no_record_found');1340 $this->session->set_flashdata('msg', "<div class='alert alert-danger text-center'>$msg</div>");1341 redirect('YoungPerson/view/' . $id);1342 }1343 //get IS yp data1344 $match = array('yp_id' => $id, 'is_previous_version' => 1);1345 $data['is_edit_data'] = $this->common_model->get_records(NFC_INDIVIDUAL_STRATEGIES, array("*"), '', '', $match);1346 //get approval amendments1347 $table = NFC_APPROVAL_AMENDMENTS . ' as do';1348 $match = array('do.yp_id' => $id, 'approval_individual_meeting_id' => $signoff_id);1349 $fields = array("do.amendments,do.created_date,CONCAT(l.firstname,' ', l.lastname) as create_name");1350 $join_tables = array(LOGIN . ' as l' => 'l.login_id= do.staff_initials');1351 $data['item_details'] = $this->common_model->get_records($table, $fields, $join_tables, 'left', $match);1352 //get approval current protocols in place1353 $table = NFC_APPROVAL_CURRENT_PROTOCOLS_IN_PLACE . ' as cpip';1354 $match = array('cpip.yp_id' => $id, 'approval_individual_meeting_id' => $signoff_id);1355 $fields = array("cpip.current_protocols_in_place,cpip.created_date,CONCAT(l.firstname,' ', l.lastname) as create_name");1356 $join_tables = array(LOGIN . ' as l' => 'l.login_id= cpip.staff_initials');1357 $data['protocols_details'] = $this->common_model->get_records($table, $fields, $join_tables, 'left', $match);1358 1359 //get signoff data 1360 $login_user_id = $this->session->userdata['LOGGED_IN']['ID'];1361 $table = INDIVIDUAL_MEETING_SIGNOFF . ' as ims';1362 $where = array("l.is_delete" => "0", "ims.yp_id" => $id, "ims.is_delete" => "0");1363 $fields = array("ims.created_by,ims.created_date,ims.yp_id, CONCAT(`firstname`,' ', `lastname`) as name");1364 $join_tables = array(LOGIN . ' as l' => 'l.login_id=ims.created_by');1365 $group_by = array('created_by');1366 $data['ra_signoff_data'] = $this->common_model->get_records($table, $fields, $join_tables, 'left', '', '', '', '', '', '', $group_by, $where);1367 $table = INDIVIDUAL_MEETING_SIGNOFF . ' as ims';1368 $where = array("ims.yp_id" => $id, "ims.created_by" => $login_user_id, "ims.is_delete" => "0");1369 $fields = array("ims.individual_meeting_signoff_id,ims.individual_meeting_id");1370 $data['check_signoff_data'] = $this->common_model->get_records($table, $fields, '', '', '', '', '', '', '', '', '', $where);1371 //get ra old yp data1372 $data['key_data'] = $email;1373 $data['ypid'] = $id;1374 $data['signoff_id'] = $signoff_id;1375 $match = array('yp_id' => $id, 'is_previous_version' => 1);1376 $data['prev_edit_data'] = $this->common_model->get_records(INDIVIDUAL_STRATEGIES, '', '', '', $match);1377 $data['header'] = array('menu_module' => 'YoungPerson');1378 $data['footerJs'][0] = base_url('uploads/custom/js/IndividualStrategies/IndividualStrategies.js');1379 $data['crnt_view'] = $this->viewname;1380 $pdfFileName = "individualstrategies.pdf";1381 $PDFInformation['yp_details'] = $data['YP_details'][0];1382 $PDFInformation['edit_data'] = $data['edit_data'][0]['modified_date'];1383 $PDFInformation['edit_date'] = $data['is_edit_data'][0]['modified_date'];1384 $PDFHeaderHTML = $this->load->view('individualstrategiespdfHeader', $PDFInformation, true);1385 $PDFFooterHTML = $this->load->view('individualstrategiespdfFooter', $PDFInformation, true);1386 //Set Header Footer and Content For PDF1387 $this->m_pdf->pdf->mPDF('utf-8', 'A4', '', '', '10', '10', '45', '25');1388 $this->m_pdf->pdf->SetHTMLHeader($PDFHeaderHTML, 'O');1389 $this->m_pdf->pdf->SetHTMLFooter($PDFFooterHTML);1390 $data['main_content'] = '/individualstrategies';1391 $html = $this->parser->parse('layouts/PdfDataTemplate', $data);1392 /* remove */1393 $this->m_pdf->pdf->WriteHTML($html);1394 //Store PDF in individual_strategies Folder1395 $this->m_pdf->pdf->Output($pdfFileName, "D");1396 } else {1397 $msg = lang('link_expired');1398 $this->session->set_flashdata('msg', "<div class='alert alert-danger text-center'>$msg</div>")1399 ;1400 $this->load->view('successfully_message');1401 }1402 } else {1403 $msg = $this->lang->line('already_is_review');1404 $this->session->set_flashdata('msg', "<div class='alert alert-danger text-center'>$msg</div>");1405 $this->load->view('successfully_message');1406 }1407 //get pp form1408 } else {1409 show_404();1410 }1411 }1412}...

Full Screen

Full Screen

test.php

Source:test.php Github

copy

Full Screen

1<?PHP2require_once '../peg/autoloader.php';3use hafriedlander\Peg\Parser;4class parsingMachine extends Parser\Basic {5/* SL: '/' */6protected $match_SL_typestack = array('SL');7function match_SL ($stack = array()) {8 $matchrule = "SL"; $result = $this->construct($matchrule, $matchrule, null);9 if (substr($this->string,$this->pos,1) == '/') {10 $this->pos += 1;11 $result["text"] .= '/';12 return $this->finalise($result);13 }14 else { return FALSE; }15}16/* DP: ':' */17protected $match_DP_typestack = array('DP');18function match_DP ($stack = array()) {19 $matchrule = "DP"; $result = $this->construct($matchrule, $matchrule, null);20 if (substr($this->string,$this->pos,1) == ':') {21 $this->pos += 1;22 $result["text"] .= ':';23 return $this->finalise($result);24 }25 else { return FALSE; }26}27/* PV: ';' */28protected $match_PV_typestack = array('PV');29function match_PV ($stack = array()) {30 $matchrule = "PV"; $result = $this->construct($matchrule, $matchrule, null);31 if (substr($this->string,$this->pos,1) == ';') {32 $this->pos += 1;33 $result["text"] .= ';';34 return $this->finalise($result);35 }36 else { return FALSE; }37}38/* V: ',' */39protected $match_V_typestack = array('V');40function match_V ($stack = array()) {41 $matchrule = "V"; $result = $this->construct($matchrule, $matchrule, null);42 if (substr($this->string,$this->pos,1) == ',') {43 $this->pos += 1;44 $result["text"] .= ',';45 return $this->finalise($result);46 }47 else { return FALSE; }48}49/* PLUS: '+' */50protected $match_PLUS_typestack = array('PLUS');51function match_PLUS ($stack = array()) {52 $matchrule = "PLUS"; $result = $this->construct($matchrule, $matchrule, null);53 if (substr($this->string,$this->pos,1) == '+') {54 $this->pos += 1;55 $result["text"] .= '+';56 return $this->finalise($result);57 }58 else { return FALSE; }59}60/* number: /[0-9]+/ */61protected $match_number_typestack = array('number');62function match_number ($stack = array()) {63 $matchrule = "number"; $result = $this->construct($matchrule, $matchrule, null);64 if (( $subres = $this->rx( '/[0-9]+/' ) ) !== FALSE) {65 $result["text"] .= $subres;66 return $this->finalise($result);67 }68 else { return FALSE; }69}70/* number2: /[0-9]{2}/ */71protected $match_number2_typestack = array('number2');72function match_number2 ($stack = array()) {73 $matchrule = "number2"; $result = $this->construct($matchrule, $matchrule, null);74 if (( $subres = $this->rx( '/[0-9]{2}/' ) ) !== FALSE) {75 $result["text"] .= $subres;76 return $this->finalise($result);77 }78 else { return FALSE; }79}80/* number4: /[0-9]{4}/ */81protected $match_number4_typestack = array('number4');82function match_number4 ($stack = array()) {83 $matchrule = "number4"; $result = $this->construct($matchrule, $matchrule, null);84 if (( $subres = $this->rx( '/[0-9]{4}/' ) ) !== FALSE) {85 $result["text"] .= $subres;86 return $this->finalise($result);87 }88 else { return FALSE; }89}90/* chars: /[a-zA-Z\.]+/ */91protected $match_chars_typestack = array('chars');92function match_chars ($stack = array()) {93 $matchrule = "chars"; $result = $this->construct($matchrule, $matchrule, null);94 if (( $subres = $this->rx( '/[a-zA-Z\.]+/' ) ) !== FALSE) {95 $result["text"] .= $subres;96 return $this->finalise($result);97 }98 else { return FALSE; }99}100/* numero: /[0-9]/ */101protected $match_numero_typestack = array('numero');102function match_numero ($stack = array()) {103 $matchrule = "numero"; $result = $this->construct($matchrule, $matchrule, null);104 if (( $subres = $this->rx( '/[0-9]/' ) ) !== FALSE) {105 $result["text"] .= $subres;106 return $this->finalise($result);107 }108 else { return FALSE; }109}110/* minuscolo: /[a-z]/ */111protected $match_minuscolo_typestack = array('minuscolo');112function match_minuscolo ($stack = array()) {113 $matchrule = "minuscolo"; $result = $this->construct($matchrule, $matchrule, null);114 if (( $subres = $this->rx( '/[a-z]/' ) ) !== FALSE) {115 $result["text"] .= $subres;116 return $this->finalise($result);117 }118 else { return FALSE; }119}120/* normale: (numero | minuscolo | '.' | '-' | '_')+ */121protected $match_normale_typestack = array('normale');122function match_normale ($stack = array()) {123 $matchrule = "normale"; $result = $this->construct($matchrule, $matchrule, null);124 $count = 0;125 while (true) {126 $res_29 = $result;127 $pos_29 = $this->pos;128 $_28 = NULL;129 do {130 $_26 = NULL;131 do {132 $res_11 = $result;133 $pos_11 = $this->pos;134 $matcher = 'match_'.'numero'; $key = $matcher; $pos = $this->pos;135 $subres = ( $this->packhas( $key, $pos ) ? $this->packread( $key, $pos ) : $this->packwrite( $key, $pos, $this->$matcher(array_merge($stack, array($result))) ) );136 if ($subres !== FALSE) {137 $this->store( $result, $subres );138 $_26 = TRUE; break;139 }140 $result = $res_11;141 $this->pos = $pos_11;142 $_24 = NULL;143 do {144 $res_13 = $result;145 $pos_13 = $this->pos;146 $matcher = 'match_'.'minuscolo'; $key = $matcher; $pos = $this->pos;147 $subres = ( $this->packhas( $key, $pos ) ? $this->packread( $key, $pos ) : $this->packwrite( $key, $pos, $this->$matcher(array_merge($stack, array($result))) ) );148 if ($subres !== FALSE) {149 $this->store( $result, $subres );150 $_24 = TRUE; break;151 }152 $result = $res_13;153 $this->pos = $pos_13;154 $_22 = NULL;155 do {156 $res_15 = $result;157 $pos_15 = $this->pos;158 if (substr($this->string,$this->pos,1) == '.') {159 $this->pos += 1;160 $result["text"] .= '.';161 $_22 = TRUE; break;162 }163 $result = $res_15;164 $this->pos = $pos_15;165 $_20 = NULL;166 do {167 $res_17 = $result;168 $pos_17 = $this->pos;169 if (substr($this->string,$this->pos,1) == '-') {170 $this->pos += 1;171 $result["text"] .= '-';172 $_20 = TRUE; break;173 }174 $result = $res_17;175 $this->pos = $pos_17;176 if (substr($this->string,$this->pos,1) == '_') {177 $this->pos += 1;178 $result["text"] .= '_';179 $_20 = TRUE; break;180 }181 $result = $res_17;182 $this->pos = $pos_17;183 $_20 = FALSE; break;184 }185 while(0);186 if( $_20 === TRUE ) { $_22 = TRUE; break; }187 $result = $res_15;188 $this->pos = $pos_15;189 $_22 = FALSE; break;190 }191 while(0);192 if( $_22 === TRUE ) { $_24 = TRUE; break; }193 $result = $res_13;194 $this->pos = $pos_13;195 $_24 = FALSE; break;196 }197 while(0);198 if( $_24 === TRUE ) { $_26 = TRUE; break; }199 $result = $res_11;200 $this->pos = $pos_11;201 $_26 = FALSE; break;202 }203 while(0);204 if( $_26 === FALSE) { $_28 = FALSE; break; }205 $_28 = TRUE; break;206 }207 while(0);208 if( $_28 === FALSE) {209 $result = $res_29;210 $this->pos = $pos_29;211 unset( $res_29 );212 unset( $pos_29 );213 break;214 }215 $count++;216 }217 if ($count >= 1) { return $this->finalise($result); }218 else { return FALSE; }219}220/* other: /=-_'()/ */221protected $match_other_typestack = array('other');222function match_other ($stack = array()) {223 $matchrule = "other"; $result = $this->construct($matchrule, $matchrule, null);224 if (( $subres = $this->rx( '/=-_\'()/' ) ) !== FALSE) {225 $result["text"] .= $subres;226 return $this->finalise($result);227 }228 else { return FALSE; }229}230/* any: /.+/ */231protected $match_any_typestack = array('any');232function match_any ($stack = array()) {233 $matchrule = "any"; $result = $this->construct($matchrule, $matchrule, null);234 if (( $subres = $this->rx( '/.+/' ) ) !== FALSE) {235 $result["text"] .= $subres;236 return $this->finalise($result);237 }238 else { return FALSE; }239}240/* token: normale* */241protected $match_token_typestack = array('token');242function match_token ($stack = array()) {243 $matchrule = "token"; $result = $this->construct($matchrule, $matchrule, null);244 while (true) {245 $res_32 = $result;246 $pos_32 = $this->pos;247 $matcher = 'match_'.'normale'; $key = $matcher; $pos = $this->pos;248 $subres = ( $this->packhas( $key, $pos ) ? $this->packread( $key, $pos ) : $this->packwrite( $key, $pos, $this->$matcher(array_merge($stack, array($result))) ) );249 if ($subres !== FALSE) { $this->store( $result, $subres ); }250 else {251 $result = $res_32;252 $this->pos = $pos_32;253 unset( $res_32 );254 unset( $pos_32 );255 break;256 }257 }258 return $this->finalise($result);259}260/* string: (number | chars )+ */261protected $match_string_typestack = array('string');262function match_string ($stack = array()) {263 $matchrule = "string"; $result = $this->construct($matchrule, $matchrule, null);264 $count = 0;265 while (true) {266 $res_39 = $result;267 $pos_39 = $this->pos;268 $_38 = NULL;269 do {270 $_36 = NULL;271 do {272 $res_33 = $result;273 $pos_33 = $this->pos;274 $matcher = 'match_'.'number'; $key = $matcher; $pos = $this->pos;275 $subres = ( $this->packhas( $key, $pos ) ? $this->packread( $key, $pos ) : $this->packwrite( $key, $pos, $this->$matcher(array_merge($stack, array($result))) ) );276 if ($subres !== FALSE) {277 $this->store( $result, $subres );278 $_36 = TRUE; break;279 }280 $result = $res_33;281 $this->pos = $pos_33;282 $matcher = 'match_'.'chars'; $key = $matcher; $pos = $this->pos;283 $subres = ( $this->packhas( $key, $pos ) ? $this->packread( $key, $pos ) : $this->packwrite( $key, $pos, $this->$matcher(array_merge($stack, array($result))) ) );284 if ($subres !== FALSE) {285 $this->store( $result, $subres );286 $_36 = TRUE; break;287 }288 $result = $res_33;289 $this->pos = $pos_33;290 $_36 = FALSE; break;291 }292 while(0);293 if( $_36 === FALSE) { $_38 = FALSE; break; }294 $_38 = TRUE; break;295 }296 while(0);297 if( $_38 === FALSE) {298 $result = $res_39;299 $this->pos = $pos_39;300 unset( $res_39 );301 unset( $pos_39 );302 break;303 }304 $count++;305 }306 if ($count >= 1) { return $this->finalise($result); }307 else { return FALSE; }308}309/* dataString: number4 '-' number2 '-' number2 */310protected $match_dataString_typestack = array('dataString');311function match_dataString ($stack = array()) {312 $matchrule = "dataString"; $result = $this->construct($matchrule, $matchrule, null);313 $_45 = NULL;314 do {315 $matcher = 'match_'.'number4'; $key = $matcher; $pos = $this->pos;316 $subres = ( $this->packhas( $key, $pos ) ? $this->packread( $key, $pos ) : $this->packwrite( $key, $pos, $this->$matcher(array_merge($stack, array($result))) ) );317 if ($subres !== FALSE) { $this->store( $result, $subres ); }318 else { $_45 = FALSE; break; }319 if (substr($this->string,$this->pos,1) == '-') {320 $this->pos += 1;321 $result["text"] .= '-';322 }323 else { $_45 = FALSE; break; }324 $matcher = 'match_'.'number2'; $key = $matcher; $pos = $this->pos;325 $subres = ( $this->packhas( $key, $pos ) ? $this->packread( $key, $pos ) : $this->packwrite( $key, $pos, $this->$matcher(array_merge($stack, array($result))) ) );326 if ($subres !== FALSE) { $this->store( $result, $subres ); }327 else { $_45 = FALSE; break; }328 if (substr($this->string,$this->pos,1) == '-') {329 $this->pos += 1;330 $result["text"] .= '-';331 }332 else { $_45 = FALSE; break; }333 $matcher = 'match_'.'number2'; $key = $matcher; $pos = $this->pos;334 $subres = ( $this->packhas( $key, $pos ) ? $this->packread( $key, $pos ) : $this->packwrite( $key, $pos, $this->$matcher(array_merge($stack, array($result))) ) );335 if ($subres !== FALSE) { $this->store( $result, $subres ); }336 else { $_45 = FALSE; break; }337 $_45 = TRUE; break;338 }339 while(0);340 if( $_45 === TRUE ) { return $this->finalise($result); }341 if( $_45 === FALSE) { return FALSE; }342}343/* expr: > :schema :documento :versione? :comunicato* :manifestazione? :partizione? :proprieta? :extra? > | :extra */344protected $match_expr_typestack = array('expr');345function match_expr ($stack = array()) {346 $matchrule = "expr"; $result = $this->construct($matchrule, $matchrule, null);347 $_61 = NULL;348 do {349 $res_47 = $result;350 $pos_47 = $this->pos;351 $_58 = NULL;352 do {353 if (( $subres = $this->whitespace( ) ) !== FALSE) { $result["text"] .= $subres; }354 $matcher = 'match_'.'schema'; $key = $matcher; $pos = $this->pos;355 $subres = ( $this->packhas( $key, $pos ) ? $this->packread( $key, $pos ) : $this->packwrite( $key, $pos, $this->$matcher(array_merge($stack, array($result))) ) );356 if ($subres !== FALSE) {357 $this->store( $result, $subres, "schema" );358 }359 else { $_58 = FALSE; break; }360 $matcher = 'match_'.'documento'; $key = $matcher; $pos = $this->pos;361 $subres = ( $this->packhas( $key, $pos ) ? $this->packread( $key, $pos ) : $this->packwrite( $key, $pos, $this->$matcher(array_merge($stack, array($result))) ) );362 if ($subres !== FALSE) {363 $this->store( $result, $subres, "documento" );364 }365 else { $_58 = FALSE; break; }366 $res_51 = $result;367 $pos_51 = $this->pos;368 $matcher = 'match_'.'versione'; $key = $matcher; $pos = $this->pos;369 $subres = ( $this->packhas( $key, $pos ) ? $this->packread( $key, $pos ) : $this->packwrite( $key, $pos, $this->$matcher(array_merge($stack, array($result))) ) );370 if ($subres !== FALSE) {371 $this->store( $result, $subres, "versione" );372 }373 else {374 $result = $res_51;375 $this->pos = $pos_51;376 unset( $res_51 );377 unset( $pos_51 );378 }379 while (true) {380 $res_52 = $result;381 $pos_52 = $this->pos;382 $matcher = 'match_'.'comunicato'; $key = $matcher; $pos = $this->pos;383 $subres = ( $this->packhas( $key, $pos ) ? $this->packread( $key, $pos ) : $this->packwrite( $key, $pos, $this->$matcher(array_merge($stack, array($result))) ) );384 if ($subres !== FALSE) {385 $this->store( $result, $subres, "comunicato" );386 }387 else {388 $result = $res_52;389 $this->pos = $pos_52;390 unset( $res_52 );391 unset( $pos_52 );392 break;393 }394 }395 $res_53 = $result;396 $pos_53 = $this->pos;397 $matcher = 'match_'.'manifestazione'; $key = $matcher; $pos = $this->pos;398 $subres = ( $this->packhas( $key, $pos ) ? $this->packread( $key, $pos ) : $this->packwrite( $key, $pos, $this->$matcher(array_merge($stack, array($result))) ) );399 if ($subres !== FALSE) {400 $this->store( $result, $subres, "manifestazione" );401 }402 else {403 $result = $res_53;404 $this->pos = $pos_53;405 unset( $res_53 );406 unset( $pos_53 );407 }408 $res_54 = $result;409 $pos_54 = $this->pos;410 $matcher = 'match_'.'partizione'; $key = $matcher; $pos = $this->pos;411 $subres = ( $this->packhas( $key, $pos ) ? $this->packread( $key, $pos ) : $this->packwrite( $key, $pos, $this->$matcher(array_merge($stack, array($result))) ) );412 if ($subres !== FALSE) {413 $this->store( $result, $subres, "partizione" );414 }415 else {416 $result = $res_54;417 $this->pos = $pos_54;418 unset( $res_54 );419 unset( $pos_54 );420 }421 $res_55 = $result;422 $pos_55 = $this->pos;423 $matcher = 'match_'.'proprieta'; $key = $matcher; $pos = $this->pos;424 $subres = ( $this->packhas( $key, $pos ) ? $this->packread( $key, $pos ) : $this->packwrite( $key, $pos, $this->$matcher(array_merge($stack, array($result))) ) );425 if ($subres !== FALSE) {426 $this->store( $result, $subres, "proprieta" );427 }428 else {429 $result = $res_55;430 $this->pos = $pos_55;431 unset( $res_55 );432 unset( $pos_55 );433 }434 $res_56 = $result;435 $pos_56 = $this->pos;436 $matcher = 'match_'.'extra'; $key = $matcher; $pos = $this->pos;437 $subres = ( $this->packhas( $key, $pos ) ? $this->packread( $key, $pos ) : $this->packwrite( $key, $pos, $this->$matcher(array_merge($stack, array($result))) ) );438 if ($subres !== FALSE) {439 $this->store( $result, $subres, "extra" );440 }441 else {442 $result = $res_56;443 $this->pos = $pos_56;444 unset( $res_56 );445 unset( $pos_56 );446 }447 if (( $subres = $this->whitespace( ) ) !== FALSE) { $result["text"] .= $subres; }448 $_58 = TRUE; break;449 }450 while(0);451 if( $_58 === TRUE ) { $_61 = TRUE; break; }452 $result = $res_47;453 $this->pos = $pos_47;454 $matcher = 'match_'.'extra'; $key = $matcher; $pos = $this->pos;455 $subres = ( $this->packhas( $key, $pos ) ? $this->packread( $key, $pos ) : $this->packwrite( $key, $pos, $this->$matcher(array_merge($stack, array($result))) ) );456 if ($subres !== FALSE) {457 $this->store( $result, $subres, "extra" );458 $_61 = TRUE; break;459 }460 $result = $res_47;461 $this->pos = $pos_47;462 $_61 = FALSE; break;463 }464 while(0);465 if( $_61 === TRUE ) { return $this->finalise($result); }466 if( $_61 === FALSE) { return FALSE; }467}468/* extra: any */469protected $match_extra_typestack = array('extra');470function match_extra ($stack = array()) {471 $matchrule = "extra"; $result = $this->construct($matchrule, $matchrule, null);472 $matcher = 'match_'.'any'; $key = $matcher; $pos = $this->pos;473 $subres = ( $this->packhas( $key, $pos ) ? $this->packread( $key, $pos ) : $this->packwrite( $key, $pos, $this->$matcher(array_merge($stack, array($result))) ) );474 if ($subres !== FALSE) {475 $this->store( $result, $subres );476 return $this->finalise($result);477 }478 else { return FALSE; }479}480/* schema: "urn:nir:" */481protected $match_schema_typestack = array('schema');482function match_schema ($stack = array()) {483 $matchrule = "schema"; $result = $this->construct($matchrule, $matchrule, null);484 if (( $subres = $this->literal( 'urn:nir:' ) ) !== FALSE) {485 $result["text"] .= $subres;486 return $this->finalise($result);487 }488 else { return FALSE; }489}490/* documento: :autorita DP :provvedimento (DP :estremi (DP :annesso)*)? */491protected $match_documento_typestack = array('documento');492function match_documento ($stack = array()) {493 $matchrule = "documento"; $result = $this->construct($matchrule, $matchrule, null);494 $_76 = NULL;495 do {496 $matcher = 'match_'.'autorita'; $key = $matcher; $pos = $this->pos;497 $subres = ( $this->packhas( $key, $pos ) ? $this->packread( $key, $pos ) : $this->packwrite( $key, $pos, $this->$matcher(array_merge($stack, array($result))) ) );498 if ($subres !== FALSE) {499 $this->store( $result, $subres, "autorita" );500 }501 else { $_76 = FALSE; break; }502 $matcher = 'match_'.'DP'; $key = $matcher; $pos = $this->pos;503 $subres = ( $this->packhas( $key, $pos ) ? $this->packread( $key, $pos ) : $this->packwrite( $key, $pos, $this->$matcher(array_merge($stack, array($result))) ) );504 if ($subres !== FALSE) { $this->store( $result, $subres ); }505 else { $_76 = FALSE; break; }506 $matcher = 'match_'.'provvedimento'; $key = $matcher; $pos = $this->pos;507 $subres = ( $this->packhas( $key, $pos ) ? $this->packread( $key, $pos ) : $this->packwrite( $key, $pos, $this->$matcher(array_merge($stack, array($result))) ) );508 if ($subres !== FALSE) {509 $this->store( $result, $subres, "provvedimento" );510 }511 else { $_76 = FALSE; break; }512 $res_75 = $result;513 $pos_75 = $this->pos;514 $_74 = NULL;515 do {516 $matcher = 'match_'.'DP'; $key = $matcher; $pos = $this->pos;517 $subres = ( $this->packhas( $key, $pos ) ? $this->packread( $key, $pos ) : $this->packwrite( $key, $pos, $this->$matcher(array_merge($stack, array($result))) ) );518 if ($subres !== FALSE) { $this->store( $result, $subres ); }519 else { $_74 = FALSE; break; }520 $matcher = 'match_'.'estremi'; $key = $matcher; $pos = $this->pos;521 $subres = ( $this->packhas( $key, $pos ) ? $this->packread( $key, $pos ) : $this->packwrite( $key, $pos, $this->$matcher(array_merge($stack, array($result))) ) );522 if ($subres !== FALSE) {523 $this->store( $result, $subres, "estremi" );524 }525 else { $_74 = FALSE; break; }526 while (true) {527 $res_73 = $result;528 $pos_73 = $this->pos;529 $_72 = NULL;530 do {531 $matcher = 'match_'.'DP'; $key = $matcher; $pos = $this->pos;532 $subres = ( $this->packhas( $key, $pos ) ? $this->packread( $key, $pos ) : $this->packwrite( $key, $pos, $this->$matcher(array_merge($stack, array($result))) ) );533 if ($subres !== FALSE) { $this->store( $result, $subres ); }534 else { $_72 = FALSE; break; }535 $matcher = 'match_'.'annesso'; $key = $matcher; $pos = $this->pos;536 $subres = ( $this->packhas( $key, $pos ) ? $this->packread( $key, $pos ) : $this->packwrite( $key, $pos, $this->$matcher(array_merge($stack, array($result))) ) );537 if ($subres !== FALSE) {538 $this->store( $result, $subres, "annesso" );539 }540 else { $_72 = FALSE; break; }541 $_72 = TRUE; break;542 }543 while(0);544 if( $_72 === FALSE) {545 $result = $res_73;546 $this->pos = $pos_73;547 unset( $res_73 );548 unset( $pos_73 );549 break;550 }551 }552 $_74 = TRUE; break;553 }554 while(0);555 if( $_74 === FALSE) {556 $result = $res_75;557 $this->pos = $pos_75;558 unset( $res_75 );559 unset( $pos_75 );560 }561 $_76 = TRUE; break;562 }563 while(0);564 if( $_76 === TRUE ) { return $this->finalise($result); }565 if( $_76 === FALSE) { return FALSE; }566}567/* autorita: :soggetto (PLUS :soggetto)* */568protected $match_autorita_typestack = array('autorita');569function match_autorita ($stack = array()) {