<?php

declare (strict_types=1);
namespace PhpParser\Parser;

use PhpParser\Error;
use PhpParser\Modifiers;
use PhpParser\Node;
use PhpParser\Node\Expr;
use PhpParser\Node\Name;
use PhpParser\Node\Scalar;
use PhpParser\Node\Stmt;
/* This is an automatically GENERATED file, which should not be manually edited.
 * Instead edit one of the following:
 *  * the grammar file grammar/php.y
 *  * the skeleton file grammar/parser.template
 *  * the preprocessing script grammar/rebuildParsers.php
 */
class Php8 extends \PhpParser\ParserAbstract
{
    public const YYERRTOK = 256;
    public const T_THROW = 257;
    public const T_INCLUDE = 258;
    public const T_INCLUDE_ONCE = 259;
    public const T_EVAL = 260;
    public const T_REQUIRE = 261;
    public const T_REQUIRE_ONCE = 262;
    public const T_LOGICAL_OR = 263;
    public const T_LOGICAL_XOR = 264;
    public const T_LOGICAL_AND = 265;
    public const T_PRINT = 266;
    public const T_YIELD = 267;
    public const T_DOUBLE_ARROW = 268;
    public const T_YIELD_FROM = 269;
    public const T_PLUS_EQUAL = 270;
    public const T_MINUS_EQUAL = 271;
    public const T_MUL_EQUAL = 272;
    public const T_DIV_EQUAL = 273;
    public const T_CONCAT_EQUAL = 274;
    public const T_MOD_EQUAL = 275;
    public const T_AND_EQUAL = 276;
    public const T_OR_EQUAL = 277;
    public const T_XOR_EQUAL = 278;
    public const T_SL_EQUAL = 279;
    public const T_SR_EQUAL = 280;
    public const T_POW_EQUAL = 281;
    public const T_COALESCE_EQUAL = 282;
    public const T_COALESCE = 283;
    public const T_BOOLEAN_OR = 284;
    public const T_BOOLEAN_AND = 285;
    public const T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG = 286;
    public const T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG = 287;
    public const T_IS_EQUAL = 288;
    public const T_IS_NOT_EQUAL = 289;
    public const T_IS_IDENTICAL = 290;
    public const T_IS_NOT_IDENTICAL = 291;
    public const T_SPACESHIP = 292;
    public const T_IS_SMALLER_OR_EQUAL = 293;
    public const T_IS_GREATER_OR_EQUAL = 294;
    public const T_SL = 295;
    public const T_SR = 296;
    public const T_INSTANCEOF = 297;
    public const T_INC = 298;
    public const T_DEC = 299;
    public const T_INT_CAST = 300;
    public const T_DOUBLE_CAST = 301;
    public const T_STRING_CAST = 302;
    public const T_ARRAY_CAST = 303;
    public const T_OBJECT_CAST = 304;
    public const T_BOOL_CAST = 305;
    public const T_UNSET_CAST = 306;
    public const T_POW = 307;
    public const T_NEW = 308;
    public const T_CLONE = 309;
    public const T_EXIT = 310;
    public const T_IF = 311;
    public const T_ELSEIF = 312;
    public const T_ELSE = 313;
    public const T_ENDIF = 314;
    public const T_LNUMBER = 315;
    public const T_DNUMBER = 316;
    public const T_STRING = 317;
    public const T_STRING_VARNAME = 318;
    public const T_VARIABLE = 319;
    public const T_NUM_STRING = 320;
    public const T_INLINE_HTML = 321;
    public const T_ENCAPSED_AND_WHITESPACE = 322;
    public const T_CONSTANT_ENCAPSED_STRING = 323;
    public const T_ECHO = 324;
    public const T_DO = 325;
    public const T_WHILE = 326;
    public const T_ENDWHILE = 327;
    public const T_FOR = 328;
    public const T_ENDFOR = 329;
    public const T_FOREACH = 330;
    public const T_ENDFOREACH = 331;
    public const T_DECLARE = 332;
    public const T_ENDDECLARE = 333;
    public const T_AS = 334;
    public const T_SWITCH = 335;
    public const T_MATCH = 336;
    public const T_ENDSWITCH = 337;
    public const T_CASE = 338;
    public const T_DEFAULT = 339;
    public const T_BREAK = 340;
    public const T_CONTINUE = 341;
    public const T_GOTO = 342;
    public const T_FUNCTION = 343;
    public const T_FN = 344;
    public const T_CONST = 345;
    public const T_RETURN = 346;
    public const T_TRY = 347;
    public const T_CATCH = 348;
    public const T_FINALLY = 349;
    public const T_USE = 350;
    public const T_INSTEADOF = 351;
    public const T_GLOBAL = 352;
    public const T_STATIC = 353;
    public const T_ABSTRACT = 354;
    public const T_FINAL = 355;
    public const T_PRIVATE = 356;
    public const T_PROTECTED = 357;
    public const T_PUBLIC = 358;
    public const T_READONLY = 359;
    public const T_PUBLIC_SET = 360;
    public const T_PROTECTED_SET = 361;
    public const T_PRIVATE_SET = 362;
    public const T_VAR = 363;
    public const T_UNSET = 364;
    public const T_ISSET = 365;
    public const T_EMPTY = 366;
    public const T_HALT_COMPILER = 367;
    public const T_CLASS = 368;
    public const T_TRAIT = 369;
    public const T_INTERFACE = 370;
    public const T_ENUM = 371;
    public const T_EXTENDS = 372;
    public const T_IMPLEMENTS = 373;
    public const T_OBJECT_OPERATOR = 374;
    public const T_NULLSAFE_OBJECT_OPERATOR = 375;
    public const T_LIST = 376;
    public const T_ARRAY = 377;
    public const T_CALLABLE = 378;
    public const T_CLASS_C = 379;
    public const T_TRAIT_C = 380;
    public const T_METHOD_C = 381;
    public const T_FUNC_C = 382;
    public const T_PROPERTY_C = 383;
    public const T_LINE = 384;
    public const T_FILE = 385;
    public const T_START_HEREDOC = 386;
    public const T_END_HEREDOC = 387;
    public const T_DOLLAR_OPEN_CURLY_BRACES = 388;
    public const T_CURLY_OPEN = 389;
    public const T_PAAMAYIM_NEKUDOTAYIM = 390;
    public const T_NAMESPACE = 391;
    public const T_NS_C = 392;
    public const T_DIR = 393;
    public const T_NS_SEPARATOR = 394;
    public const T_ELLIPSIS = 395;
    public const T_NAME_FULLY_QUALIFIED = 396;
    public const T_NAME_QUALIFIED = 397;
    public const T_NAME_RELATIVE = 398;
    public const T_ATTRIBUTE = 399;
    protected int $tokenToSymbolMapSize = 400;
    protected int $actionTableSize = 1289;
    protected int $gotoTableSize = 608;
    protected int $invalidSymbol = 172;
    protected int $errorSymbol = 1;
    protected int $defaultAction = -32766;
    protected int $unexpectedTokenRule = 32767;
    protected int $YY2TBLSTATE = 442;
    protected int $numNonLeafStates = 753;
    protected array $symbolToName = array("EOF", "error", "T_THROW", "T_INCLUDE", "T_INCLUDE_ONCE", "T_EVAL", "T_REQUIRE", "T_REQUIRE_ONCE", "','", "T_LOGICAL_OR", "T_LOGICAL_XOR", "T_LOGICAL_AND", "T_PRINT", "T_YIELD", "T_DOUBLE_ARROW", "T_YIELD_FROM", "'='", "T_PLUS_EQUAL", "T_MINUS_EQUAL", "T_MUL_EQUAL", "T_DIV_EQUAL", "T_CONCAT_EQUAL", "T_MOD_EQUAL", "T_AND_EQUAL", "T_OR_EQUAL", "T_XOR_EQUAL", "T_SL_EQUAL", "T_SR_EQUAL", "T_POW_EQUAL", "T_COALESCE_EQUAL", "'?'", "':'", "T_COALESCE", "T_BOOLEAN_OR", "T_BOOLEAN_AND", "'|'", "'^'", "T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG", "T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG", "T_IS_EQUAL", "T_IS_NOT_EQUAL", "T_IS_IDENTICAL", "T_IS_NOT_IDENTICAL", "T_SPACESHIP", "'<'", "T_IS_SMALLER_OR_EQUAL", "'>'", "T_IS_GREATER_OR_EQUAL", "'.'", "T_SL", "T_SR", "'+'", "'-'", "'*'", "'/'", "'%'", "'!'", "T_INSTANCEOF", "'~'", "T_INC", "T_DEC", "T_INT_CAST", "T_DOUBLE_CAST", "T_STRING_CAST", "T_ARRAY_CAST", "T_OBJECT_CAST", "T_BOOL_CAST", "T_UNSET_CAST", "'@'", "T_POW", "'['", "T_NEW", "T_CLONE", "T_EXIT", "T_IF", "T_ELSEIF", "T_ELSE", "T_ENDIF", "T_LNUMBER", "T_DNUMBER", "T_STRING", "T_STRING_VARNAME", "T_VARIABLE", "T_NUM_STRING", "T_INLINE_HTML", "T_ENCAPSED_AND_WHITESPACE", "T_CONSTANT_ENCAPSED_STRING", "T_ECHO", "T_DO", "T_WHILE", "T_ENDWHILE", "T_FOR", "T_ENDFOR", "T_FOREACH", "T_ENDFOREACH", "T_DECLARE", "T_ENDDECLARE", "T_AS", "T_SWITCH", "T_MATCH", "T_ENDSWITCH", "T_CASE", "T_DEFAULT", "T_BREAK", "T_CONTINUE", "T_GOTO", "T_FUNCTION", "T_FN", "T_CONST", "T_RETURN", "T_TRY", "T_CATCH", "T_FINALLY", "T_USE", "T_INSTEADOF", "T_GLOBAL", "T_STATIC", "T_ABSTRACT", "T_FINAL", "T_PRIVATE", "T_PROTECTED", "T_PUBLIC", "T_READONLY", "T_PUBLIC_SET", "T_PROTECTED_SET", "T_PRIVATE_SET", "T_VAR", "T_UNSET", "T_ISSET", "T_EMPTY", "T_HALT_COMPILER", "T_CLASS", "T_TRAIT", "T_INTERFACE", "T_ENUM", "T_EXTENDS", "T_IMPLEMENTS", "T_OBJECT_OPERATOR", "T_NULLSAFE_OBJECT_OPERATOR", "T_LIST", "T_ARRAY", "T_CALLABLE", "T_CLASS_C", "T_TRAIT_C", "T_METHOD_C", "T_FUNC_C", "T_PROPERTY_C", "T_LINE", "T_FILE", "T_START_HEREDOC", "T_END_HEREDOC", "T_DOLLAR_OPEN_CURLY_BRACES", "T_CURLY_OPEN", "T_PAAMAYIM_NEKUDOTAYIM", "T_NAMESPACE", "T_NS_C", "T_DIR", "T_NS_SEPARATOR", "T_ELLIPSIS", "T_NAME_FULLY_QUALIFIED", "T_NAME_QUALIFIED", "T_NAME_RELATIVE", "T_ATTRIBUTE", "';'", "']'", "'('", "')'", "'{'", "'}'", "'`'", "'\"'", "'\$'");
    protected array $tokenToSymbol = array(0, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 56, 170, 172, 171, 55, 172, 172, 165, 166, 53, 51, 8, 52, 48, 54, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 31, 163, 44, 16, 46, 30, 68, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 70, 172, 164, 36, 172, 169, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 167, 35, 168, 58, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 32, 33, 34, 37, 38, 39, 40, 41, 42, 43, 45, 47, 49, 50, 57, 59, 60, 61, 62, 63, 64, 65, 66, 67, 69, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162);
    protected array $action = array(126, 127, 128, 570, 129, 130, 955, 765, 766, 767, 131, 38, 849, -85, -32766, 1376, -32766, -32766, -32766, 0, 840, 1134, 1135, 1136, 1130, 1129, 1128, 1137, 1131, 1132, 1133, -32766, -32766, -32766, 851, 759, 758, -32766, -32766, -32766, -32766, -32766, -32766, -32766, -32766, -32766, -32767, -32767, -32767, -32767, -32767, 1005, -32766, 1045, -570, 768, 1134, 1135, 1136, 1130, 1129, 1128, 1137, 1131, 1132, 1133, 388, 387, 842, 263, 132, 389, 772, 773, 774, 775, 430, 845, 431, -85, 2, 36, 246, 47, 291, 829, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 805, 571, 806, 807, 808, 809, 797, 798, 344, 345, 800, 801, 786, 787, 788, 790, 791, 792, 359, 832, 833, 834, 835, 836, 572, -570, -570, -332, 793, 794, 573, 574, 236, 817, 815, 816, 828, 812, 813, 26, -194, 575, 576, 811, 577, 578, 579, 580, 323, 581, 582, 876, 844, 877, 297, 298, 814, 583, 584, 722, 133, 846, 126, 127, 128, 570, 129, 130, 1078, 765, 766, 767, 131, 38, -32766, 35, 735, 1038, 1037, 1036, 1042, 1039, 1040, 1041, -32766, -32766, -32766, 1006, 104, 105, 106, 107, 108, -372, 275, -372, -32766, 759, 758, 1054, 850, -32766, -32766, -32766, 848, -32766, 109, -32766, -32766, -32766, -32766, -32766, -32766, -32766, 134, 476, 477, 768, -32766, -32766, -32766, 1054, -32766, 290, -32766, -32766, -32766, -32766, -32766, 616, 143, 263, 132, 389, 772, 773, 774, 775, 249, -32766, 431, -32766, -32766, -32766, -32766, 290, 307, 829, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 805, 571, 806, 807, 808, 809, 797, 798, 344, 345, 800, 801, 786, 787, 788, 790, 791, 792, 359, 832, 833, 834, 835, 836, 572, 958, -273, -332, 793, 794, 573, 574, 840, 817, 815, 816, 828, 812, 813, 1301, -194, 575, 576, 811, 577, 578, 579, 580, 566, 581, 582, 1108, 82, 83, 84, 748, 814, 583, 584, 309, 146, 789, 760, 761, 762, 763, 764, 235, 765, 766, 767, 802, 803, 37, 957, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 157, 275, -32766, -32766, -32766, -32767, -32767, -32767, -32767, 101, 102, 103, -32766, 109, 1313, 622, 318, 768, -32766, -32766, -32766, 849, 1361, -32766, 1107, -32766, -32766, -32766, 340, 1360, 1357, 769, 770, 771, 772, 773, 774, 775, 341, -32766, 838, -32766, -32766, 1386, 374, 1281, 1387, 829, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 805, 827, 806, 807, 808, 809, 797, 798, 799, 826, 800, 801, 786, 787, 788, 790, 791, 792, 831, 832, 833, 834, 835, 836, 837, 1077, 431, -567, 793, 794, 795, 796, 148, 817, 815, 816, 828, 812, 813, 380, -193, 804, 810, 811, 818, 819, 821, 820, 138, 822, 823, 840, 321, 396, 285, 24, 814, 825, 824, 49, 50, 51, 522, 52, 53, 398, -110, 7, 849, 54, 55, -110, 56, -110, -32766, -32766, -32766, 1342, 303, 125, 1123, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, 161, 750, -567, -567, 291, 974, 975, -32766, -32766, -32766, 976, 448, 285, 1276, 1275, 1277, 57, 58, -567, -32766, -32766, 59, 1109, 60, 243, 244, 61, 62, 63, 64, 65, 66, 67, 68, -32766, 28, 265, 69, 446, 523, 490, -346, 449, 1307, 1308, 524, 139, 849, 1051, 450, 321, 1305, 42, 20, 525, 934, 526, 934, 527, 74, 528, -568, 698, 529, 530, 321, 386, 387, 44, 45, 452, 383, 382, 1054, 46, 531, 430, 974, 975, 451, 372, 339, 976, 1281, 855, 725, 934, 1267, 759, 758, -32766, 970, 533, 534, 535, 149, 934, 281, 699, -78, -566, 1274, 102, 103, 537, 538, -193, 1293, 1294, 1295, 1296, 1298, 1290, 1291, 295, 1054, 726, 466, 467, 468, 1297, 1292, 700, 701, 1276, 1275, 1277, 296, -568, -568, 70, -153, -153, -153, 316, 317, 321, 1272, 924, 290, 924, 1276, 1275, 1277, -568, 1051, -153, 281, -153, 1150, -153, 81, -153, 740, 151, 321, -574, 152, 759, 758, -32766, 1053, 381, 876, 849, 877, 153, -566, -566, 924, 1054, 1051, 155, 974, 975, -606, 491, -606, 532, 924, 1276, 1275, 1277, -566, 33, 1054, 910, 970, -110, -110, -110, 28, 266, -58, 281, -573, 1054, -32766, -32766, -110, -110, 665, 21, 849, -110, -57, -564, 1305, 684, 685, 147, 413, 123, -110, 384, 385, 124, 936, 135, 936, 136, 720, -32766, 720, -153, 142, 48, 32, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 390, 391, 1267, 296, 759, 758, 74, 936, 156, 934, 158, 720, 321, -4, 934, 159, 934, 936, 160, 537, 538, 720, 1293, 1294, 1295, 1296, 1298, 1290, 1291, 1183, 1185, 934, -564, -564, -565, 1297, 1292, 759, 758, 727, -564, -32766, 656, 657, -306, 72, 730, 1274, -564, -87, 317, 321, 299, 300, -32766, -32766, -32766, -84, -32766, -78, -32766, 737, -32766, -73, -72, -32766, -71, -70, 379, -69, -32766, -32766, -32766, -68, -32766, -67, -32766, -32766, -66, -65, 1274, -46, -32766, 427, 28, 265, -18, -32766, -32766, -32766, 140, -32766, 924, -32766, -32766, -32766, 849, 924, -32766, 924, 1305, -565, -565, -32766, -32766, -32766, 274, -564, -564, -32766, -32766, 282, 736, 739, 924, -32766, 427, -565, 933, 381, 145, 443, 286, -564, 951, 73, 294, -32766, -302, -572, 974, 975, 279, 280, 283, 532, 1267, 28, 266, 284, 329, 275, 109, 536, 970, -110, -110, -110, 287, 849, 292, 293, 840, 1305, 538, 694, 1293, 1294, 1295, 1296, 1298, 1290, 1291, 709, 144, 587, 711, 11, 10, 1297, 1292, 991, 849, 1141, 473, 720, 936, -32766, 936, 72, 720, -4, 720, 1388, 317, 321, -50, 970, 672, 1267, 687, 666, 501, 936, 971, 301, 308, 720, 671, 1312, 302, 1314, -32766, 688, 953, -530, -520, 538, 40, 1293, 1294, 1295, 1296, 1298, 1290, 1291, 848, 41, 8, 137, 654, 27, 1297, 1292, 304, 34, 593, 620, 296, -32766, 0, 0, 72, 0, 0, 1274, 0, 317, 321, 0, 0, 0, -32766, -32766, -32766, -276, -32766, 0, -32766, 0, -32766, 0, 0, -32766, 0, 0, 0, 0, -32766, -32766, -32766, 934, -32766, 0, -32766, -32766, 0, 0, 1274, 378, -32766, 427, 745, -600, 412, -32766, -32766, -32766, 746, -32766, 868, -32766, -32766, -32766, 934, 915, -32766, 1015, 992, 999, 989, -32766, -32766, -32766, 1000, -32766, 913, -32766, -32766, 987, 1112, 1274, 1115, -32766, 427, 1116, 1113, 1152, -32766, -32766, -32766, 1114, -32766, 1120, -32766, -32766, -32766, 1302, 860, -32766, 1329, 1346, 1379, 496, -32766, -32766, -32766, 659, -32766, -599, -32766, -32766, -598, -574, 1274, 600, -32766, 427, -573, -572, -571, -32766, -32766, -32766, 924, -32766, -514, -32766, -32766, -32766, 1, 29, -32766, -274, 30, 39, 43, -32766, -32766, -32766, -251, -251, -251, -32766, -32766, 71, 381, 924, 75, -32766, 427, 76, 77, 78, 1281, 79, 80, 974, 975, 141, 150, -32766, 532, -250, -250, -250, -273, 154, 241, 381, 910, 970, -110, -110, -110, 325, 360, 361, 362, 363, 974, 975, 364, 365, -16, 532, 366, 367, 368, 369, 370, 373, 444, 910, 970, -110, -110, -110, -32766, 13, 565, 371, 1306, 936, 1274, 14, 416, 720, -251, 15, 16, -32766, -32766, -32766, 18, -32766, 354, -32766, 411, -32766, 492, 493, -32766, 500, 503, 504, 936, -32766, -32766, -32766, 720, -250, 505, -32766, -32766, 849, 506, 510, 511, -32766, 427, 512, 519, 598, 704, 1080, 1223, 1303, 1079, 1060, 1262, -32766, 1056, -278, -102, 12, 17, 22, 312, 410, 612, 617, 645, 710, 1227, 1280, 1224, 1358, 0, 315, -110, -110, 375, 721, 724, -110, 728, 729, 731, 732, 733, 734, 738, 750, -110, 723, 751, 0, 742, 911, 1383, 1385, 0, -32766, 871, 870, 964, 1007, 1384, 963, 961, 962, 965, 1255, 944, 954, 942, 1151, 1147, 1101, 997, 998, 643, 1382, 1340, 296, 1355, 0, 74, 1240, 321, 0, 0, 0, 321);
    protected array $actionCheck = array(2, 3, 4, 5, 6, 7, 1, 9, 10, 11, 12, 13, 82, 31, 116, 85, 9, 10, 11, 0, 80, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 9, 10, 11, 1, 37, 38, 30, 140, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 31, 30, 1, 70, 57, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 106, 107, 80, 71, 72, 73, 74, 75, 76, 77, 116, 80, 80, 97, 8, 151, 152, 70, 30, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 137, 138, 8, 126, 127, 128, 129, 14, 131, 132, 133, 134, 135, 136, 8, 8, 139, 140, 141, 142, 143, 144, 145, 70, 147, 148, 106, 160, 108, 137, 138, 154, 155, 156, 167, 158, 160, 2, 3, 4, 5, 6, 7, 166, 9, 10, 11, 12, 13, 116, 8, 167, 119, 120, 121, 122, 123, 124, 125, 9, 10, 11, 163, 51, 52, 53, 54, 55, 106, 57, 108, 116, 37, 38, 141, 163, 9, 10, 11, 159, 30, 69, 32, 33, 34, 35, 36, 37, 38, 8, 137, 138, 57, 9, 10, 11, 141, 30, 165, 32, 33, 34, 35, 36, 1, 8, 71, 72, 73, 74, 75, 76, 77, 8, 30, 80, 32, 33, 34, 35, 165, 8, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 73, 166, 166, 126, 127, 128, 129, 80, 131, 132, 133, 134, 135, 136, 1, 166, 139, 140, 141, 142, 143, 144, 145, 85, 147, 148, 163, 9, 10, 11, 167, 154, 155, 156, 8, 158, 2, 3, 4, 5, 6, 7, 97, 9, 10, 11, 12, 13, 30, 122, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 16, 57, 9, 10, 11, 44, 45, 46, 47, 48, 49, 50, 9, 69, 150, 52, 8, 57, 9, 10, 11, 82, 1, 30, 1, 32, 33, 34, 8, 8, 1, 71, 72, 73, 74, 75, 76, 77, 8, 30, 80, 32, 33, 80, 8, 1, 83, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 1, 80, 70, 126, 127, 128, 129, 14, 131, 132, 133, 134, 135, 136, 8, 8, 139, 140, 141, 142, 143, 144, 145, 167, 147, 148, 80, 171, 8, 30, 101, 154, 155, 156, 2, 3, 4, 5, 6, 7, 106, 101, 108, 82, 12, 13, 106, 15, 108, 9, 10, 11, 1, 113, 14, 126, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 14, 167, 137, 138, 30, 117, 118, 9, 10, 11, 122, 8, 30, 159, 160, 161, 51, 52, 153, 9, 10, 56, 168, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 140, 70, 71, 72, 73, 74, 31, 168, 8, 78, 79, 80, 167, 82, 116, 8, 171, 86, 87, 88, 89, 1, 91, 1, 93, 165, 95, 70, 80, 98, 99, 171, 106, 107, 103, 104, 105, 106, 107, 141, 109, 110, 116, 117, 118, 8, 115, 116, 122, 1, 8, 31, 1, 122, 37, 38, 116, 131, 127, 128, 129, 14, 1, 165, 116, 16, 70, 80, 49, 50, 139, 140, 166, 142, 143, 144, 145, 146, 147, 148, 149, 141, 31, 132, 133, 134, 155, 156, 140, 141, 159, 160, 161, 162, 137, 138, 165, 75, 76, 77, 169, 170, 171, 116, 84, 165, 84, 159, 160, 161, 153, 116, 90, 165, 92, 163, 94, 167, 96, 167, 14, 171, 165, 14, 37, 38, 116, 140, 106, 106, 82, 108, 14, 137, 138, 84, 141, 116, 14, 117, 118, 164, 167, 166, 122, 84, 159, 160, 161, 153, 14, 141, 130, 131, 132, 133, 134, 70, 71, 16, 165, 165, 141, 51, 52, 117, 118, 75, 76, 82, 122, 16, 70, 86, 75, 76, 101, 102, 16, 131, 106, 107, 16, 163, 16, 163, 16, 167, 140, 167, 168, 16, 70, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 106, 107, 122, 162, 37, 38, 165, 163, 16, 1, 16, 167, 171, 0, 1, 16, 1, 163, 16, 139, 140, 167, 142, 143, 144, 145, 146, 147, 148, 59, 60, 1, 137, 138, 70, 155, 156, 37, 38, 31, 70, 74, 111, 112, 35, 165, 31, 80, 153, 31, 170, 171, 137, 138, 87, 88, 89, 31, 91, 31, 93, 31, 95, 31, 31, 98, 31, 31, 153, 31, 103, 104, 105, 31, 74, 31, 109, 110, 31, 31, 80, 31, 115, 116, 70, 71, 31, 87, 88, 89, 31, 91, 84, 93, 127, 95, 82, 84, 98, 84, 86, 137, 138, 103, 104, 105, 31, 137, 138, 109, 110, 31, 31, 31, 84, 115, 116, 153, 31, 106, 31, 108, 37, 153, 38, 158, 113, 127, 35, 165, 117, 118, 35, 35, 35, 122, 122, 70, 71, 35, 35, 57, 69, 130, 131, 132, 133, 134, 37, 82, 37, 37, 80, 86, 140, 77, 142, 143, 144, 145, 146, 147, 148, 80, 70, 89, 92, 154, 97, 155, 156, 163, 82, 82, 97, 167, 163, 85, 163, 165, 167, 168, 167, 83, 170, 171, 31, 131, 100, 122, 94, 90, 97, 163, 131, 135, 135, 167, 96, 150, 136, 150, 140, 100, 158, 153, 153, 140, 163, 142, 143, 144, 145, 146, 147, 148, 159, 163, 153, 31, 113, 153, 155, 156, 114, 167, 157, 157, 162, 74, -1, -1, 165, -1, -1, 80, -1, 170, 171, -1, -1, -1, 87, 88, 89, 166, 91, -1, 93, -1, 95, -1, -1, 98, -1, -1, -1, -1, 103, 104, 105, 1, 74, -1, 109, 110, -1, -1, 80, 153, 115, 116, 163, 165, 168, 87, 88, 89, 163, 91, 163, 93, 127, 95, 1, 163, 98, 163, 163, 163, 163, 103, 104, 105, 163, 74, 163, 109, 110, 163, 163, 80, 163, 115, 116, 163, 163, 163, 87, 88, 89, 163, 91, 163, 93, 127, 95, 164, 164, 98, 164, 164, 164, 102, 103, 104, 105, 164, 74, 165, 109, 110, 165, 165, 80, 81, 115, 116, 165, 165, 165, 87, 88, 89, 84, 91, 165, 93, 127, 95, 165, 165, 98, 166, 165, 165, 165, 103, 104, 105, 100, 101, 102, 109, 110, 165, 106, 84, 165, 115, 116, 165, 165, 165, 1, 165, 165, 117, 118, 165, 165, 127, 122, 100, 101, 102, 166, 165, 165, 106, 130, 131, 132, 133, 134, 165, 165, 165, 165, 165, 117, 118, 165, 165, 31, 122, 165, 165, 165, 165, 165, 165, 165, 130, 131, 132, 133, 134, 74, 166, 165, 165, 170, 163, 80, 166, 168, 167, 168, 166, 166, 87, 88, 89, 166, 91, 166, 93, 166, 95, 166, 166, 98, 166, 166, 166, 163, 103, 104, 105, 167, 168, 166, 109, 110, 82, 166, 166, 166, 115, 116, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 127, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, -1, 167, 117, 118, 167, 167, 167, 122, 167, 167, 167, 167, 167, 167, 167, 167, 131, 167, 167, -1, 168, 168, 168, 168, -1, 140, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 162, 168, -1, 165, 169, 171, -1, -1, -1, 171);
    protected array $actionBase = array(0, -2, 156, 559, 757, 1004, 1027, 485, 292, 357, -60, -12, 588, 759, 759, 774, 759, 557, 752, 892, 598, 598, 598, 827, 313, 313, 827, 313, 711, 711, 711, 711, 744, 744, 965, 965, 998, 932, 899, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 33, 20, 224, 1080, 673, 1056, 1062, 1058, 1063, 1054, 1053, 1057, 1059, 1064, 1109, 1110, 833, 1108, 1112, 1060, 907, 1055, 1061, 888, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 356, 476, 513, 501, 501, 501, 501, 501, 501, 501, 501, 501, 501, 501, 501, 501, 501, 501, 501, 501, 501, 501, 501, 624, 624, 22, 22, 22, 362, 811, 758, 811, 811, 811, 811, 811, 811, 811, 811, 346, 205, 188, 714, 171, 171, 7, 7, 7, 7, 7, 376, 1117, 54, 585, 585, 314, 314, 314, 314, 365, 554, 83, 435, 397, 556, 477, 463, 532, 532, 558, 558, 76, 76, 558, 558, 558, 133, 133, 547, 547, 547, 547, 41, 217, 806, 382, 382, 382, 382, 806, 806, 806, 806, 795, 996, 806, 806, 806, 494, 533, 708, 649, 649, 560, -70, -70, 560, 800, -70, 487, 975, 316, 982, -102, 807, -40, 514, -102, 1000, 368, 639, 639, 659, 639, 639, 639, 801, 611, 801, 1052, 836, 836, 794, 776, 894, 1082, 1065, 832, 1106, 847, 1107, 1083, 489, 488, -16, 13, 74, 772, 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1113, 554, 1052, -3, 1104, 1105, 1113, 1113, 1113, 554, 554, 554, 554, 554, 554, 554, 554, 799, 554, 554, 675, -3, 629, 636, -3, 849, 554, 797, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 512, 33, 33, 20, 5, 5, 33, 142, 52, 5, 5, 5, 337, 5, 33, 33, 33, 611, 828, 813, 638, -18, 814, 443, 828, 828, 828, 115, 114, 128, 753, 837, 370, 816, 816, 835, 929, 929, 816, 834, 816, 835, 816, 816, 929, 929, 810, 929, 202, 506, 373, 442, 537, 929, 234, 816, 816, 816, 816, 805, 929, 72, 544, 816, 226, 218, 816, 816, 805, 804, 824, 808, 929, 929, 929, 805, 389, 808, 808, 808, 853, 859, 851, 819, 361, 305, 579, 163, 830, 819, 819, 816, 456, 851, 819, 851, 819, 790, 819, 819, 819, 851, 819, 834, 383, 819, 736, 574, 127, 819, 816, 19, 944, 947, 762, 950, 934, 951, 991, 952, 954, 1070, 925, 967, 935, 955, 999, 933, 930, 831, 699, 703, 809, 796, 919, 817, 817, 817, 912, 917, 817, 817, 817, 817, 817, 817, 817, 817, 699, 897, 860, 820, 976, 705, 707, 1041, 793, 1085, 1114, 975, 944, 954, 770, 935, 955, 933, 930, 792, 791, 786, 788, 782, 780, 777, 779, 803, 1043, 958, 789, 712, 1012, 977, 1084, 1066, 978, 981, 1016, 1044, 861, 1045, 1086, 838, 1087, 1090, 898, 985, 1071, 817, 911, 852, 900, 982, 918, 699, 901, 1046, 997, 802, 1018, 1019, 1069, 821, 844, 902, 1091, 986, 987, 988, 1073, 1074, 798, 1003, 823, 1021, 839, 850, 1022, 1023, 1030, 1034, 1075, 1092, 1076, 908, 1077, 866, 845, 931, 846, 1093, 429, 843, 848, 858, 990, 584, 974, 1078, 1002, 1094, 1035, 1036, 1039, 1095, 1096, 959, 868, 1007, 840, 1008, 964, 869, 870, 643, 857, 1047, 841, 842, 855, 646, 655, 1097, 1098, 1099, 966, 825, 822, 871, 875, 1048, 829, 1050, 1100, 661, 877, 1101, 1042, 738, 743, 586, 692, 680, 746, 818, 1079, 812, 854, 815, 989, 743, 826, 880, 1102, 881, 883, 886, 1040, 887, 1014, 1103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 468, 468, 468, 468, 468, 468, 313, 313, 313, 313, 313, 468, 468, 468, 468, 468, 468, 468, 313, 468, 468, 468, 313, 0, 0, 313, 0, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 524, 524, 297, 297, 297, 297, 524, 524, 524, 524, 524, 524, 524, 524, 524, 524, 297, 297, 297, 0, 297, 297, 297, 297, 297, 297, 297, 810, 524, 524, 524, 524, 133, 133, 133, 133, -95, -95, -95, 524, 524, 133, 524, 810, 524, 524, 524, 524, 524, 524, 524, 524, 524, 0, 0, 524, 524, 524, 524, -3, -70, 524, 834, 834, 834, 834, 524, 524, 524, 524, -70, -70, 524, 524, 524, 0, 0, 0, 133, 133, -3, 0, 0, -3, 391, 0, 834, 206, 834, 206, 524, 391, 810, 374, 524, 489, 0, 0, 0, 0, 0, 0, 0, -3, 834, -3, 554, -70, -70, 554, 554, 5, 33, 374, 612, 612, 612, 612, 33, 0, 0, 0, 0, 0, 611, 810, 810, 810, 810, 810, 810, 810, 810, 810, 810, 810, 810, 834, 0, 810, 0, 810, 810, 834, 834, 834, 0, 0, 0, 0, 0, 0, 0, 0, 929, 0, 0, 0, 0, 0, 0, 0, 834, 0, 929, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 834, 0, 0, 0, 0, 0, 0, 0, 0, 0, 817, 821, 0, 0, 821, 0, 817, 817, 817, 0, 0, 0, 857, 829);
    protected array $actionDefault = array(3, 32767, 102, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 100, 32767, 618, 618, 618, 618, 32767, 32767, 255, 102, 32767, 32767, 489, 406, 406, 406, 32767, 32767, 562, 562, 562, 562, 562, 32767, 32767, 32767, 32767, 32767, 32767, 489, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 36, 7, 8, 10, 11, 49, 17, 328, 100, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 102, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 393, 611, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 493, 472, 473, 475, 476, 405, 563, 617, 331, 614, 333, 404, 145, 343, 334, 243, 259, 494, 260, 495, 498, 499, 216, 390, 149, 150, 436, 490, 438, 488, 492, 437, 411, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 409, 410, 491, 32767, 32767, 469, 468, 467, 434, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 102, 32767, 435, 439, 442, 408, 440, 441, 458, 459, 456, 457, 460, 32767, 32767, 320, 32767, 32767, 461, 462, 463, 464, 371, 195, 369, 32767, 32767, 443, 320, 111, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 449, 450, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 102, 32767, 100, 506, 556, 466, 444, 445, 32767, 531, 32767, 102, 32767, 533, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 558, 431, 433, 526, 612, 412, 615, 32767, 519, 100, 195, 32767, 532, 195, 195, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 557, 32767, 625, 519, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 32767, 195, 110, 32767, 110, 110, 32767, 32767, 100, 195, 195, 195, 195, 195, 195, 195, 195, 534, 195, 195, 190, 32767, 269, 271, 102, 580, 195, 536, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 393, 32767, 32767, 32767, 32767, 519, 454, 138, 32767, 521, 138, 564, 446, 447, 448, 564, 564, 564, 316, 293, 32767, 32767, 32767, 32767, 534, 534, 100, 100, 100, 100, 32767, 32767, 32767, 32767, 111, 505, 99, 99, 99, 99, 99, 103, 101, 32767, 32767, 32767, 32767, 224, 32767, 101, 99, 32767, 101, 101, 32767, 32767, 224, 226, 213, 228, 32767, 584, 585, 224, 101, 228, 228, 228, 248, 248, 508, 322, 101, 99, 101, 101, 197, 322, 322, 32767, 101, 508, 322, 508, 322, 199, 322, 322, 322, 508, 322, 32767, 101, 322, 215, 99, 99, 322, 32767, 32767, 32767, 32767, 521, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 223, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 551, 32767, 569, 582, 452, 453, 455, 568, 566, 477, 478, 479, 480, 481, 482, 483, 485, 613, 32767, 525, 32767, 32767, 32767, 342, 32767, 623, 32767, 32767, 32767, 9, 74, 514, 42, 43, 51, 57, 540, 541, 542, 543, 537, 538, 544, 539, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 624, 32767, 564, 32767, 32767, 32767, 32767, 451, 546, 590, 32767, 32767, 565, 616, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 138, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 551, 32767, 136, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 547, 32767, 32767, 32767, 564, 32767, 32767, 32767, 32767, 318, 315, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 564, 32767, 32767, 32767, 32767, 32767, 295, 32767, 312, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 389, 521, 298, 300, 301, 32767, 32767, 32767, 32767, 365, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 152, 152, 3, 3, 345, 152, 152, 152, 345, 345, 152, 345, 345, 345, 152, 152, 152, 152, 152, 152, 152, 281, 185, 263, 266, 248, 248, 152, 357, 152, 391, 391, 400);
    protected array $goto = array(194, 194, 1052, 487, 705, 278, 278, 278, 278, 990, 489, 548, 548, 907, 865, 907, 907, 548, 714, 548, 548, 548, 548, 548, 548, 548, 548, 166, 166, 166, 166, 218, 195, 191, 191, 176, 178, 213, 191, 191, 191, 191, 191, 192, 192, 192, 192, 192, 186, 187, 188, 189, 190, 215, 213, 216, 545, 546, 428, 547, 550, 551, 552, 553, 554, 555, 556, 557, 1169, 167, 168, 169, 193, 170, 171, 172, 164, 173, 174, 175, 177, 212, 214, 217, 237, 240, 251, 252, 253, 255, 256, 257, 258, 259, 260, 261, 267, 268, 269, 270, 276, 288, 289, 313, 314, 434, 435, 436, 607, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 186, 187, 188, 189, 190, 215, 1169, 196, 197, 198, 199, 238, 179, 180, 200, 181, 201, 197, 182, 239, 196, 163, 202, 203, 183, 204, 205, 206, 184, 207, 208, 165, 209, 210, 211, 185, 869, 560, 1083, 560, 560, 592, 1100, 475, 475, 744, 646, 648, 609, 560, 668, 432, 475, 621, 692, 695, 1025, 703, 712, 1021, 719, 558, 558, 558, 558, 470, 613, 866, 663, 664, 463, 681, 682, 683, 1218, 984, 984, 984, 984, 247, 247, 463, 978, 985, 355, 355, 355, 355, 867, 923, 918, 919, 932, 875, 920, 872, 921, 922, 873, 350, 926, 879, 1126, 1154, 1127, 878, 245, 245, 245, 245, 242, 248, 841, 1106, 1102, 1103, 438, 670, 402, 405, 610, 614, 433, 336, 332, 333, 335, 602, 437, 337, 439, 647, 426, 1273, 1052, 1273, 1273, 342, 900, 456, 456, 348, 456, 456, 1052, 1273, 882, 1052, 520, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 343, 342, 1052, 1052, 1052, 1052, 894, 465, 1273, 881, 508, 599, 509, 1273, 1273, 1273, 1273, 358, 515, 1273, 1273, 1273, 1354, 1354, 1354, 1354, 862, 358, 358, 1372, 1372, 630, 667, 895, 883, 1088, 1092, 940, 358, 358, 1362, 941, 358, 1011, 1372, 1389, 993, 956, 447, 956, 619, 633, 636, 637, 638, 639, 660, 661, 662, 716, 718, 564, 569, 562, 358, 358, 1375, 1375, 400, 983, 1055, 1055, 690, 967, 597, 862, 1047, 1063, 1064, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 1138, 899, 456, 669, 456, 456, 1058, 1057, 322, 562, 569, 594, 595, 324, 605, 611, 1166, 626, 627, 1028, 1028, 1061, 1062, 632, 632, 25, 320, 306, 1334, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 702, 1349, 1350, 1014, 843, 5, 986, 6, 743, 445, 422, 561, 1023, 1018, 1076, 1345, 702, 1345, 1345, 702, 603, 624, 1323, 1323, 691, 250, 250, 1345, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 1323, 563, 589, 927, 564, 928, 563, 675, 589, 859, 403, 469, 1356, 1356, 1356, 1356, 338, 887, 271, 319, 625, 319, 319, 478, 606, 479, 480, 973, 351, 352, 409, 892, 1320, 1320, 1380, 1381, 1341, 862, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 982, 417, 713, 1268, 1264, 414, 415, 1033, 884, 440, 679, 890, 680, 1149, 419, 420, 421, 1089, 693, 847, 1266, 423, 440, 747, 1043, 346, 485, 1093, 1059, 1059, 330, 484, 1347, 1348, 1140, 674, 1070, 1066, 1067, 1091, 896, 995, 549, 549, 377, 1343, 1343, 1091, 549, 549, 549, 549, 549, 549, 549, 549, 549, 549, 1269, 1270, 0, 1256, 0, 847, 0, 847, 615, 857, 0, 945, 1156, 640, 642, 644, 1256, 0, 0, 0, 0, 608, 1119, 1030, 0, 0, 752, 752, 1271, 1331, 1332, 886, 717, 673, 1009, 0, 0, 516, 708, 880, 1117, 1249, 959, 0, 0, 0, 1250, 1253, 960, 0, 1254, 1263);
    protected array $gotoCheck = array(42, 42, 73, 84, 73, 23, 23, 23, 23, 49, 84, 162, 162, 25, 25, 25, 25, 162, 9, 162, 162, 162, 162, 162, 162, 162, 162, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 15, 19, 128, 19, 19, 48, 15, 154, 154, 48, 48, 48, 131, 19, 48, 13, 154, 13, 48, 48, 48, 48, 48, 48, 48, 107, 107, 107, 107, 156, 107, 26, 86, 86, 19, 86, 86, 86, 156, 19, 19, 19, 19, 5, 5, 19, 19, 19, 24, 24, 24, 24, 27, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 97, 15, 15, 146, 146, 146, 15, 5, 5, 5, 5, 5, 5, 6, 15, 15, 15, 66, 66, 59, 59, 59, 59, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 43, 73, 73, 73, 73, 174, 45, 23, 23, 185, 23, 23, 73, 73, 35, 73, 76, 73, 73, 73, 73, 73, 73, 73, 73, 73, 174, 174, 73, 73, 73, 73, 35, 83, 73, 35, 160, 178, 160, 73, 73, 73, 73, 14, 160, 73, 73, 73, 9, 9, 9, 9, 22, 14, 14, 188, 188, 56, 56, 16, 16, 16, 16, 73, 14, 14, 187, 73, 14, 103, 188, 14, 16, 9, 83, 9, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 14, 76, 76, 14, 14, 188, 188, 62, 16, 89, 89, 89, 89, 104, 22, 89, 89, 89, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 16, 16, 23, 64, 23, 23, 119, 119, 76, 76, 76, 76, 76, 76, 76, 76, 155, 76, 76, 107, 107, 120, 120, 108, 108, 76, 175, 175, 14, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 7, 184, 184, 50, 7, 46, 50, 46, 50, 113, 14, 50, 50, 50, 115, 131, 7, 131, 131, 7, 2, 2, 176, 176, 117, 5, 5, 131, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 9, 9, 65, 14, 65, 9, 121, 9, 18, 9, 9, 131, 131, 131, 131, 29, 39, 24, 24, 80, 24, 24, 9, 9, 9, 9, 92, 97, 97, 28, 9, 177, 177, 9, 9, 131, 22, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 93, 93, 93, 20, 166, 82, 82, 110, 37, 118, 82, 9, 82, 153, 82, 82, 82, 130, 82, 12, 14, 82, 118, 99, 114, 82, 157, 133, 118, 118, 9, 182, 182, 182, 149, 118, 118, 118, 118, 131, 41, 96, 179, 179, 138, 131, 131, 131, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 20, 20, -1, 20, -1, 12, -1, 12, 17, 20, -1, 17, 17, 85, 85, 85, 20, -1, -1, -1, -1, 8, 8, 17, -1, -1, 24, 24, 20, 20, 20, 17, 8, 17, 17, -1, -1, 8, 8, 17, 8, 79, 79, -1, -1, -1, 79, 79, 79, -1, 79, 17);
    protected array $gotoBase = array(0, 0, -289, 0, 0, 203, 227, 406, 569, 8, 0, 0, 223, -162, 5, -186, -143, 93, 152, -101, 102, 0, 31, 2, 206, 10, 188, 209, 142, 172, 0, 0, 0, 0, 0, -104, 0, 166, 0, 149, 0, 90, -1, 234, 0, 237, -329, 0, -555, -9, 404, 0, 0, 0, 0, 0, 274, 0, 0, 198, 0, 0, 309, 0, 141, 439, 6, 0, 0, 0, 0, 0, 0, -5, 0, 0, 1, 0, 0, 183, 146, -28, 4, 12, -475, 82, -535, 0, 0, 74, 0, 0, 151, 196, 0, 0, 89, -267, 0, 108, 0, 0, 0, 291, 314, 0, 0, 158, 162, 0, 131, 0, 0, 145, 100, 153, 0, 156, 243, 101, 112, 167, 0, 0, 0, 0, 0, 0, 161, 0, 135, 165, 0, 76, 0, 0, 0, 0, -209, 0, 0, 0, 0, 0, 0, 0, -44, 0, 0, 81, 0, 0, 0, 157, 134, 148, -76, 77, 0, 0, -210, 0, -224, 0, 0, 0, 129, 0, 0, 0, 0, 0, 0, 0, -33, 84, 200, 247, 265, 305, 0, 0, 231, 0, 36, 236, 0, 292, 7, 0, 0);
    protected array $gotoDefault = array(-32768, 521, 754, 4, 755, 949, 830, 839, 585, 539, 715, 347, 634, 429, 1339, 925, 1155, 604, 858, 1282, 1288, 464, 861, 327, 741, 937, 908, 909, 406, 393, 874, 404, 658, 635, 502, 893, 460, 885, 494, 888, 459, 897, 162, 425, 518, 901, 3, 904, 567, 935, 988, 394, 912, 395, 686, 914, 588, 916, 917, 401, 407, 408, 1160, 596, 631, 929, 254, 590, 930, 392, 931, 939, 397, 399, 696, 474, 513, 507, 418, 1121, 591, 618, 655, 453, 481, 629, 641, 628, 488, 441, 424, 326, 972, 980, 495, 472, 994, 349, 1002, 749, 1168, 649, 497, 1010, 650, 1017, 1020, 540, 541, 486, 1032, 264, 1035, 498, 1044, 23, 676, 1049, 1050, 677, 651, 1072, 652, 678, 653, 1074, 471, 586, 1082, 461, 1090, 1328, 462, 1094, 262, 1097, 277, 353, 376, 442, 1104, 1105, 9, 1111, 706, 707, 19, 273, 517, 1139, 697, 1145, 272, 1148, 458, 1167, 457, 1237, 1239, 568, 499, 1257, 310, 1260, 689, 514, 1265, 454, 1330, 455, 542, 482, 334, 543, 1373, 305, 356, 331, 559, 311, 357, 544, 483, 1336, 1344, 328, 31, 1363, 1374, 601, 623);
    protected array $ruleToNonTerminal = array(0, 1, 3, 3, 2, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 9, 10, 11, 11, 11, 12, 12, 13, 13, 14, 15, 15, 16, 16, 17, 17, 18, 18, 21, 21, 22, 23, 23, 24, 24, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 29, 29, 30, 30, 32, 34, 34, 28, 36, 36, 33, 38, 38, 35, 35, 37, 37, 39, 39, 31, 40, 40, 41, 43, 44, 44, 45, 45, 46, 46, 48, 47, 47, 47, 47, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 25, 25, 50, 69, 69, 72, 72, 71, 70, 70, 63, 75, 75, 76, 76, 77, 77, 78, 78, 79, 79, 80, 80, 80, 26, 26, 27, 27, 27, 27, 27, 88, 88, 90, 90, 83, 83, 91, 91, 92, 92, 92, 84, 84, 87, 87, 85, 85, 93, 94, 94, 57, 57, 65, 65, 68, 68, 68, 67, 95, 95, 96, 58, 58, 58, 58, 97, 97, 98, 98, 99, 99, 100, 101, 101, 102, 102, 103, 103, 55, 55, 51, 51, 105, 53, 53, 106, 52, 52, 54, 54, 64, 64, 64, 64, 81, 81, 109, 109, 111, 111, 112, 112, 112, 112, 112, 112, 112, 110, 110, 110, 115, 115, 115, 115, 89, 89, 118, 118, 118, 119, 119, 116, 116, 120, 120, 122, 122, 123, 123, 117, 124, 124, 121, 125, 125, 125, 125, 113, 113, 82, 82, 82, 20, 20, 20, 127, 126, 126, 128, 128, 128, 128, 60, 129, 129, 130, 61, 132, 132, 133, 133, 134, 134, 86, 135, 135, 135, 135, 135, 135, 135, 135, 141, 141, 142, 142, 143, 143, 143, 143, 143, 144, 145, 145, 140, 140, 136, 136, 139, 139, 147, 147, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 137, 148, 148, 150, 149, 149, 138, 138, 114, 114, 151, 151, 153, 153, 153, 152, 152, 62, 104, 154, 154, 56, 56, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 161, 162, 162, 163, 155, 155, 160, 160, 164, 165, 165, 166, 167, 168, 168, 168, 168, 19, 19, 73, 73, 73, 73, 156, 156, 156, 156, 170, 170, 159, 159, 159, 157, 157, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 177, 177, 177, 108, 179, 179, 179, 179, 158, 158, 158, 158, 158, 158, 158, 158, 59, 59, 173, 173, 173, 173, 173, 180, 180, 169, 169, 169, 169, 181, 181, 181, 181, 181, 74, 74, 66, 66, 66, 66, 131, 131, 131, 131, 184, 183, 172, 172, 172, 172, 172, 172, 171, 171, 171, 182, 182, 182, 182, 107, 178, 186, 186, 185, 185, 187, 187, 187, 187, 187, 187, 187, 187, 175, 175, 175, 175, 174, 189, 188, 188, 188, 188, 188, 188, 188, 188, 190, 190, 190, 190);
    protected array $ruleToLength = array(1, 1, 2, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 2, 1, 3, 4, 1, 2, 0, 1, 1, 1, 1, 4, 3, 5, 4, 3, 4, 1, 3, 1, 1, 8, 7, 2, 3, 1, 2, 3, 1, 2, 3, 1, 1, 3, 1, 3, 1, 2, 2, 3, 1, 3, 2, 3, 1, 3, 3, 2, 0, 1, 1, 1, 1, 1, 3, 7, 10, 5, 7, 9, 5, 3, 3, 3, 3, 3, 3, 1, 2, 5, 7, 9, 6, 5, 6, 3, 2, 1, 1, 1, 1, 0, 2, 1, 3, 8, 0, 4, 2, 1, 3, 0, 1, 0, 1, 0, 1, 3, 1, 1, 1, 1, 8, 9, 7, 8, 7, 6, 8, 0, 2, 0, 2, 1, 2, 1, 2, 1, 1, 1, 0, 2, 0, 2, 0, 2, 2, 1, 3, 1, 4, 1, 4, 1, 1, 4, 2, 1, 3, 3, 3, 4, 4, 5, 0, 2, 4, 3, 1, 1, 7, 0, 2, 1, 3, 3, 4, 1, 4, 0, 2, 5, 0, 2, 6, 0, 2, 0, 3, 1, 2, 1, 1, 2, 0, 1, 3, 0, 2, 1, 1, 1, 1, 1, 1, 1, 7, 9, 6, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 3, 1, 3, 3, 3, 3, 3, 1, 3, 3, 1, 1, 2, 1, 1, 0, 1, 0, 2, 2, 2, 4, 3, 1, 1, 3, 1, 2, 2, 3, 2, 3, 1, 1, 2, 3, 1, 1, 3, 2, 0, 1, 5, 7, 5, 6, 10, 3, 5, 1, 1, 3, 0, 2, 4, 5, 4, 4, 4, 3, 1, 1, 1, 1, 1, 1, 0, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 3, 1, 1, 3, 0, 2, 0, 3, 5, 8, 1, 3, 3, 0, 2, 2, 2, 3, 1, 0, 1, 1, 3, 3, 3, 4, 4, 1, 1, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5, 4, 3, 4, 4, 2, 2, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 3, 2, 1, 2, 4, 2, 2, 8, 9, 8, 9, 9, 10, 9, 10, 8, 3, 2, 2, 1, 1, 0, 4, 2, 1, 3, 2, 1, 2, 2, 2, 4, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 5, 3, 3, 4, 1, 1, 3, 1, 1, 1, 1, 1, 3, 2, 3, 0, 1, 1, 3, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 4, 1, 4, 4, 0, 1, 1, 1, 3, 3, 1, 4, 2, 2, 1, 3, 1, 4, 3, 3, 3, 3, 1, 3, 1, 1, 3, 1, 1, 4, 1, 1, 1, 3, 1, 1, 2, 1, 3, 4, 3, 2, 0, 2, 2, 1, 2, 1, 1, 1, 4, 3, 3, 3, 3, 6, 3, 1, 1, 2, 1);
    protected function initReduceCallbacks() : void
    {
        $this->reduceCallbacks = [0 => null, 1 => static function ($self, $stackPos) {
            $self->semValue = $self->handleNamespaces($self->semStack[$stackPos - (1 - 1)]);
        }, 2 => static function ($self, $stackPos) {
            if ($self->semStack[$stackPos - (2 - 2)] !== null) {
                $self->semStack[$stackPos - (2 - 1)][] = $self->semStack[$stackPos - (2 - 2)];
            }
            $self->semValue = $self->semStack[$stackPos - (2 - 1)];
        }, 3 => static function ($self, $stackPos) {
            $self->semValue = array();
        }, 4 => static function ($self, $stackPos) {
            $nop = $self->maybeCreateZeroLengthNop($self->tokenPos);
            if ($nop !== null) {
                $self->semStack[$stackPos - (1 - 1)][] = $nop;
            }
            $self->semValue = $self->semStack[$stackPos - (1 - 1)];
        }, 5 => null, 6 => null, 7 => null, 8 => null, 9 => null, 10 => null, 11 => null, 12 => null, 13 => null, 14 => null, 15 => null, 16 => null, 17 => null, 18 => null, 19 => null, 20 => null, 21 => null, 22 => null, 23 => null, 24 => null, 25 => null, 26 => null, 27 => null, 28 => null, 29 => null, 30 => null, 31 => null, 32 => null, 33 => null, 34 => null, 35 => null, 36 => null, 37 => null, 38 => null, 39 => null, 40 => null, 41 => null, 42 => null, 43 => null, 44 => null, 45 => null, 46 => null, 47 => null, 48 => null, 49 => null, 50 => null, 51 => null, 52 => null, 53 => null, 54 => null, 55 => null, 56 => null, 57 => null, 58 => null, 59 => null, 60 => null, 61 => null, 62 => null, 63 => null, 64 => null, 65 => null, 66 => null, 67 => null, 68 => null, 69 => null, 70 => null, 71 => null, 72 => null, 73 => null, 74 => null, 75 => null, 76 => static function ($self, $stackPos) {
            $self->semValue = $self->semStack[$stackPos - (1 - 1)];
            if ($self->semValue === "<?=") {
                $self->emitError(new Error('Cannot use "<?=" as an identifier', $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos])));
            }
        }, 77 => null, 78 => null, 79 => null, 80 => null, 81 => null, 82 => null, 83 => null, 84 => null, 85 => static function ($self, $stackPos) {
            $self->semValue = new Node\Identifier($self->semStack[$stackPos - (1 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
        }, 86 => static function ($self, $stackPos) {
            $self->semValue = new Node\Identifier($self->semStack[$stackPos - (1 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
        }, 87 => static function ($self, $stackPos) {
            $self->semValue = new Node\Identifier($self->semStack[$stackPos - (1 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
        }, 88 => static function ($self, $stackPos) {
            $self->semValue = new Node\Identifier($self->semStack[$stackPos - (1 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
        }, 89 => static function ($self, $stackPos) {
            $self->semValue = new Name($self->semStack[$stackPos - (1 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
        }, 90 => static function ($self, $stackPos) {
            $self->semValue = new Name($self->semStack[$stackPos - (1 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
        }, 91 => static function ($self, $stackPos) {
            $self->semValue = new Name($self->semStack[$stackPos - (1 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
        }, 92 => static function ($self, $stackPos) {
            $self->semValue = new Name($self->semStack[$stackPos - (1 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
        }, 93 => static function ($self, $stackPos) {
            $self->semValue = new Name($self->semStack[$stackPos - (1 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
        }, 94 => null, 95 => static function ($self, $stackPos) {
            $self->semValue = new Name(\substr($self->semStack[$stackPos - (1 - 1)], 1), $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
        }, 96 => static function ($self, $stackPos) {
            $self->semValue = new Expr\Variable(\substr($self->semStack[$stackPos - (1 - 1)], 1), $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
        }, 97 => static function ($self, $stackPos) {
            /* nothing */
        }, 98 => static function ($self, $stackPos) {
            /* nothing */
        }, 99 => static function ($self, $stackPos) {
            /* nothing */
        }, 100 => static function ($self, $stackPos) {
            $self->emitError(new Error('A trailing comma is not allowed here', $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos])));
        }, 101 => null, 102 => null, 103 => static function ($self, $stackPos) {
            $self->semValue = new Node\Attribute($self->semStack[$stackPos - (1 - 1)], [], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
        }, 104 => static function ($self, $stackPos) {
            $self->semValue = new Node\Attribute($self->semStack[$stackPos - (2 - 1)], $self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
        }, 105 => static function ($self, $stackPos) {
            $self->semValue = array($self->semStack[$stackPos - (1 - 1)]);
        }, 106 => static function ($self, $stackPos) {
            $self->semStack[$stackPos - (3 - 1)][] = $self->semStack[$stackPos - (3 - 3)];
            $self->semValue = $self->semStack[$stackPos - (3 - 1)];
        }, 107 => static function ($self, $stackPos) {
            $self->semValue = new Node\AttributeGroup($self->semStack[$stackPos - (4 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
        }, 108 => static function ($self, $stackPos) {
            $self->semValue = array($self->semStack[$stackPos - (1 - 1)]);
        }, 109 => static function ($self, $stackPos) {
            $self->semStack[$stackPos - (2 - 1)][] = $self->semStack[$stackPos - (2 - 2)];
            $self->semValue = $self->semStack[$stackPos - (2 - 1)];
        }, 110 => static function ($self, $stackPos) {
            $self->semValue = [];
        }, 111 => null, 112 => null, 113 => null, 114 => null, 115 => static function ($self, $stackPos) {
            $self->semValue = new Stmt\HaltCompiler($self->handleHaltCompiler(), $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
        }, 116 => static function ($self, $stackPos) {
            $self->semValue = new Stmt\Namespace_($self->semStack[$stackPos - (3 - 2)], null, $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            $self->semValue->setAttribute('kind', Stmt\Namespace_::KIND_SEMICOLON);
            $self->checkNamespace($self->semValue);
        }, 117 => static function ($self, $stackPos) {
            $self->semValue = new Stmt\Namespace_($self->semStack[$stackPos - (5 - 2)], $self->semStack[$stackPos - (5 - 4)], $self->getAttributes($self->tokenStartStack[$stackPos - (5 - 1)], $self->tokenEndStack[$stackPos]));
            $self->semValue->setAttribute('kind', Stmt\Namespace_::KIND_BRACED);
            $self->checkNamespace($self->semValue);
        }, 118 => static function ($self, $stackPos) {
            $self->semValue = new Stmt\Namespace_(null, $self->semStack[$stackPos - (4 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
            $self->semValue->setAttribute('kind', Stmt\Namespace_::KIND_BRACED);
            $self->checkNamespace($self->semValue);
        }, 119 => static function ($self, $stackPos) {
            $self->semValue = new Stmt\Use_($self->semStack[$stackPos - (3 - 2)], Stmt\Use_::TYPE_NORMAL, $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
        }, 120 => static function ($self, $stackPos) {
            $self->semValue = new Stmt\Use_($self->semStack[$stackPos - (4 - 3)], $self->semStack[$stackPos - (4 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
        }, 121 => null, 122 => static function ($self, $stackPos) {
            $self->semValue = new Stmt\Const_($self->semStack[$stackPos - (3 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
        }, 123 => static function ($self, $stackPos) {
            $self->semValue = Stmt\Use_::TYPE_FUNCTION;
        }, 124 => static function ($self, $stackPos) {
            $self->semValue = Stmt\Use_::TYPE_CONSTANT;
        }, 125 => static function ($self, $stackPos) {
            $self->semValue = new Stmt\GroupUse($self->semStack[$stackPos - (8 - 3)], $self->semStack[$stackPos - (8 - 6)], $self->semStack[$stackPos - (8 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (8 - 1)], $self->tokenEndStack[$stackPos]));
        }, 126 => static function ($self, $stackPos) {
            $self->semValue = new Stmt\GroupUse($self->semStack[$stackPos - (7 - 2)], $self->semStack[$stackPos - (7 - 5)], Stmt\Use_::TYPE_UNKNOWN, $self->getAttributes($self->tokenStartStack[$stackPos - (7 - 1)], $self->tokenEndStack[$stackPos]));
        }, 127 => null, 128 => static function ($self, $stackPos) {
            $self->semStack[$stackPos - (3 - 1)][] = $self->semStack[$stackPos - (3 - 3)];
            $self->semValue = $self->semStack[$stackPos - (3 - 1)];
        }, 129 => static function ($self, $stackPos) {
            $self->semValue = array($self->semStack[$stackPos - (1 - 1)]);
        }, 130 => null, 131 => static function ($self, $stackPos) {
            $self->semStack[$stackPos - (3 - 1)][] = $self->semStack[$stackPos - (3 - 3)];
            $self->semValue = $self->semStack[$stackPos - (3 - 1)];
        }, 132 => static function ($self, $stackPos) {
            $self->semValue = array($self->semStack[$stackPos - (1 - 1)]);
        }, 133 => null, 134 => static function ($self, $stackPos) {
            $self->semStack[$stackPos - (3 - 1)][] = $self->semStack[$stackPos - (3 - 3)];
            $self->semValue = $self->semStack[$stackPos - (3 - 1)];
        }, 135 => static function ($self, $stackPos) {
            $self->semValue = array($self->semStack[$stackPos - (1 - 1)]);
        }, 136 => static function ($self, $stackPos) {
            $self->semValue = new Node\UseItem($self->semStack[$stackPos - (1 - 1)], null, Stmt\Use_::TYPE_UNKNOWN, $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
            $self->checkUseUse($self->semValue, $stackPos - (1 - 1));
        }, 137 => static function ($self, $stackPos) {
            $self->semValue = new Node\UseItem($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], Stmt\Use_::TYPE_UNKNOWN, $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            $self->checkUseUse($self->semValue, $stackPos - (3 - 3));
        }, 138 => static function ($self, $stackPos) {
            $self->semValue = new Node\UseItem($self->semStack[$stackPos - (1 - 1)], null, Stmt\Use_::TYPE_UNKNOWN, $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
            $self->checkUseUse($self->semValue, $stackPos - (1 - 1));
        }, 139 => static function ($self, $stackPos) {
            $self->semValue = new Node\UseItem($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], Stmt\Use_::TYPE_UNKNOWN, $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            $self->checkUseUse($self->semValue, $stackPos - (3 - 3));
        }, 140 => static function ($self, $stackPos) {
            $self->semValue = $self->semStack[$stackPos - (1 - 1)];
            $self->semValue->type = Stmt\Use_::TYPE_NORMAL;
        }, 141 => static function ($self, $stackPos) {
            $self->semValue = $self->semStack[$stackPos - (2 - 2)];
            $self->semValue->type = $self->semStack[$stackPos - (2 - 1)];
        }, 142 => null, 143 => static function ($self, $stackPos) {
            $self->semStack[$stackPos - (3 - 1)][] = $self->semStack[$stackPos - (3 - 3)];
            $self->semValue = $self->semStack[$stackPos - (3 - 1)];
        }, 144 => static function ($self, $stackPos) {
            $self->semValue = array($self->semStack[$stackPos - (1 - 1)]);
        }, 145 => static function ($self, $stackPos) {
            $self->semValue = new Node\Const_($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
        }, 146 => null, 147 => static function ($self, $stackPos) {
            $self->semStack[$stackPos - (3 - 1)][] = $self->semStack[$stackPos - (3 - 3)];
            $self->semValue = $self->semStack[$stackPos - (3 - 1)];
        }, 148 => static function ($self, $stackPos) {
            $self->semValue = array($self->semStack[$stackPos - (1 - 1)]);
        }, 149 => static function ($self, $stackPos) {
            $self->semValue = new Node\Const_(new Node\Identifier($self->semStack[$stackPos - (3 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos - (3 - 1)])), $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
        }, 150 => static function ($self, $stackPos) {
            $self->semValue = new Node\Const_(new Node\Identifier($self->semStack[$stackPos - (3 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos - (3 - 1)])), $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
        }, 151 => static function ($self, $stackPos) {
            if ($self->semStack[$stackPos - (2 - 2)] !== null) {
                $self->semStack[$stackPos - (2 - 1)][] = $self->semStack[$stackPos - (2 - 2)];
            }
            $self->semValue = $self->semStack[$stackPos - (2 - 1)];
        }, 152 => static function ($self, $stackPos) {
            $self->semValue = array();
        }, 153 => static function ($self, $stackPos) {
            $nop = $self->maybeCreateZeroLengthNop($self->tokenPos);
            if ($nop !== null) {
                $self->semStack[$stackPos - (1 - 1)][] = $nop;
            }
            $self->semValue = $self->semStack[$stackPos - (1 - 1)];
        }, 154 => null, 155 => null, 156 => null, 157 => static function ($self, $stackPos) {
            throw new Error('__HALT_COMPILER() can only be used from the outermost scope', $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
        }, 158 => static function ($self, $stackPos) {
            $self->semValue = new Stmt\Block($self->semStack[$stackPos - (3 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
        }, 159 => static function ($self, $stackPos) {
            $self->semValue = new Stmt\If_($self->semStack[$stackPos - (7 - 3)], ['stmts' => $self->semStack[$stackPos - (7 - 5)], 'elseifs' => $self->semStack[$stackPos - (7 - 6)], 'else' => $self->semStack[$stackPos - (7 - 7)]], $self->getAttributes($self->tokenStartStack[$stackPos - (7 - 1)], $self->tokenEndStack[$stackPos]));
        }, 160 => static function ($self, $stackPos) {
            $self->semValue = new Stmt\If_($self->semStack[$stackPos - (10 - 3)], ['stmts' => $self->semStack[$stackPos - (10 - 6)], 'elseifs' => $self->semStack[$stackPos - (10 - 7)], 'else' => $self->semStack[$stackPos - (10 - 8)]], $self->getAttributes($self->tokenStartStack[$stackPos - (10 - 1)], $self->tokenEndStack[$stackPos]));
        }, 161 => static function ($self, $stackPos) {
            $self->semValue = new Stmt\While_($self->semStack[$stackPos - (5 - 3)], $self->semStack[$stackPos - (5 - 5)], $self->getAttributes($self->tokenStartStack[$stackPos - (5 - 1)], $self->tokenEndStack[$stackPos]));
        }, 162 => static function ($self, $stackPos) {
            $self->semValue = new Stmt\Do_($self->semStack[$stackPos - (7 - 5)], $self->semStack[$stackPos - (7 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (7 - 1)], $self->tokenEndStack[$stackPos]));
        }, 163 => static function ($self, $stackPos) {
            $self->semValue = new Stmt\For_(['init' => $self->semStack[$stackPos - (9 - 3)], 'cond' => $self->semStack[$stackPos - (9 - 5)], 'loop' => $self->semStack[$stackPos - (9 - 7)], 'stmts' => $self->semStack[$stackPos - (9 - 9)]], $self->getAttributes($self->tokenStartStack[$stackPos - (9 - 1)], $self->tokenEndStack[$stackPos]));
        }, 164 => static function ($self, $stackPos) {
            $self->semValue = new Stmt\Switch_($self->semStack[$stackPos - (5 - 3)], $self->semStack[$stackPos - (5 - 5)], $self->getAttributes($self->tokenStartStack[$stackPos - (5 - 1)], $self->tokenEndStack[$stackPos]));
        }, 165 => static function ($self, $stackPos) {
            $self->semValue = new Stmt\Break_($self->semStack[$stackPos - (3 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
        }, 166 => static function ($self, $stackPos) {
            $self->semValue = new Stmt\Continue_($self->semStack[$stackPos - (3 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
        }, 167 => static function ($self, $stackPos) {
            $self->semValue = new Stmt\Return_($self->semStack[$stackPos - (3 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
        }, 168 => static function ($self, $stackPos) {
            $self->semValue = new Stmt\Global_($self->semStack[$stackPos - (3 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
        }, 169 => static function ($self, $stackPos) {
            $self->semValue = new Stmt\Static_($self->semStack[$stackPos - (3 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
        }, 170 => static function ($self, $stackPos) {
            $self->semValue = new Stmt\Echo_($self->semStack[$stackPos - (3 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
        }, 171 => static function ($self, $stackPos) {
            $self->semValue = new Stmt\InlineHTML($self->semStack[$stackPos - (1 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
            $self->semValue->setAttribute('hasLeadingNewline', $self->inlineHtmlHasLeadingNewline($stackPos - (1 - 1)));
        }, 172 => static function ($self, $stackPos) {
            $self->semValue = new Stmt\Expression($self->semStack[$stackPos - (2 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
        }, 173 => static function ($self, $stackPos) {
            $self->semValue = new Stmt\Unset_($self->semStack[$stackPos - (5 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (5 - 1)], $self->tokenEndStack[$stackPos]));
        }, 174 => static function ($self, $stackPos) {
            $self->semValue = new Stmt\Foreach_($self->semStack[$stackPos - (7 - 3)], $self->semStack[$stackPos - (7 - 5)][0], ['keyVar' => null, 'byRef' => $self->semStack[$stackPos - (7 - 5)][1], 'stmts' => $self->semStack[$stackPos - (7 - 7)]], $self->getAttributes($self->tokenStartStack[$stackPos - (7 - 1)], $self->tokenEndStack[$stackPos]));
        }, 175 => static function ($self, $stackPos) {
            $self->semValue = new Stmt\Foreach_($self->semStack[$stackPos - (9 - 3)], $self->semStack[$stackPos - (9 - 7)][0], ['keyVar' => $self->semStack[$stackPos - (9 - 5)], 'byRef' => $self->semStack[$stackPos - (9 - 7)][1], 'stmts' => $self->semStack[$stackPos - (9 - 9)]], $self->getAttributes($self->tokenStartStack[$stackPos - (9 - 1)], $self->tokenEndStack[$stackPos]));
        }, 176 => static function ($self, $stackPos) {
            $self->semValue = new Stmt\Foreach_($self->semStack[$stackPos - (6 - 3)], new Expr\Error($self->getAttributes($self->tokenStartStack[$stackPos - (6 - 4)], $self->tokenEndStack[$stackPos - (6 - 4)])), ['stmts' => $self->semStack[$stackPos - (6 - 6)]], $self->getAttributes($self->tokenStartStack[$stackPos - (6 - 1)], $self->tokenEndStack[$stackPos]));
        }, 177 => static function ($self, $stackPos) {
            $self->semValue = new Stmt\Declare_($self->semStack[$stackPos - (5 - 3)], $self->semStack[$stackPos - (5 - 5)], $self->getAttributes($self->tokenStartStack[$stackPos - (5 - 1)], $self->tokenEndStack[$stackPos]));
        }, 178 => static function ($self, $stackPos) {
            $self->semValue = new Stmt\TryCatch($self->semStack[$stackPos - (6 - 3)], $self->semStack[$stackPos - (6 - 5)], $self->semStack[$stackPos - (6 - 6)], $self->getAttributes($self->tokenStartStack[$stackPos - (6 - 1)], $self->tokenEndStack[$stackPos]));
            $self->checkTryCatch($self->semValue);
        }, 179 => static function ($self, $stackPos) {
            $self->semValue = new Stmt\Goto_($self->semStack[$stackPos - (3 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
        }, 180 => static function ($self, $stackPos) {
            $self->semValue = new Stmt\Label($self->semStack[$stackPos - (2 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
        }, 181 => static function ($self, $stackPos) {
            $self->semValue = null;
            /* means: no statement */
        }, 182 => null, 183 => static function ($self, $stackPos) {
            $self->semValue = $self->maybeCreateNop($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]);
        }, 184 => static function ($self, $stackPos) {
            if ($self->semStack[$stackPos - (1 - 1)] instanceof Stmt\Block) {
                $self->semValue = $self->semStack[$stackPos - (1 - 1)]->stmts;
            } else {
                if ($self->semStack[$stackPos - (1 - 1)] === null) {
                    $self->semValue = [];
                } else {
                    $self->semValue = [$self->semStack[$stackPos - (1 - 1)]];
                }
            }
        }, 185 => static function ($self, $stackPos) {
            $self->semValue = array();
        }, 186 => static function ($self, $stackPos) {
            $self->semStack[$stackPos - (2 - 1)][] = $self->semStack[$stackPos - (2 - 2)];
            $self->semValue = $self->semStack[$stackPos - (2 - 1)];
        }, 187 => static function ($self, $stackPos) {
            $self->semValue = array($self->semStack[$stackPos - (1 - 1)]);
        }, 188 => static function ($self, $stackPos) {
            $self->semStack[$stackPos - (3 - 1)][] = $self->semStack[$stackPos - (3 - 3)];
            $self->semValue = $self->semStack[$stackPos - (3 - 1)];
        }, 189 => static function ($self, $stackPos) {
            $self->semValue = new Stmt\Catch_($self->semStack[$stackPos - (8 - 3)], $self->semStack[$stackPos - (8 - 4)], $self->semStack[$stackPos - (8 - 7)], $self->getAttributes($self->tokenStartStack[$stackPos - (8 - 1)], $self->tokenEndStack[$stackPos]));
        }, 190 => static function ($self, $stackPos) {
            $self->semValue = null;
        }, 191 => static function ($self, $stackPos) {
            $self->semValue = new Stmt\Finally_($self->semStack[$stackPos - (4 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
        }, 192 => null, 193 => static function ($self, $stackPos) {
            $self->semValue = array($self->semStack[$stackPos - (1 - 1)]);
        }, 194 => static function ($self, $stackPos) {
            $self->semStack[$stackPos - (3 - 1)][] = $self->semStack[$stackPos - (3 - 3)];
            $self->semValue = $self->semStack[$stackPos - (3 - 1)];
        }, 195 => static function ($self, $stackPos) {
            $self->semValue = \false;
        }, 196 => static function ($self, $stackPos) {
            $self->semValue = \true;
        }, 197 => static function ($self, $stackPos) {
            $self->semValue = \false;
        }, 198 => static function ($self, $stackPos) {
            $self->semValue = \true;
        }, 199 => static function ($self, $stackPos) {
            $self->semValue = \false;
        }, 200 => static function ($self, $stackPos) {
            $self->semValue = \true;
        }, 201 => static function ($self, $stackPos) {
            $self->semValue = $self->semStack[$stackPos - (3 - 2)];
        }, 202 => static function ($self, $stackPos) {
            $self->semValue = [];
        }, 203 => null, 204 => static function ($self, $stackPos) {
            $self->semValue = new Node\Identifier($self->semStack[$stackPos - (1 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
        }, 205 => static function ($self, $stackPos) {
            $self->semValue = new Node\Identifier($self->semStack[$stackPos - (1 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
        }, 206 => static function ($self, $stackPos) {
            $self->semValue = new Stmt\Function_($self->semStack[$stackPos - (8 - 3)], ['byRef' => $self->semStack[$stackPos - (8 - 2)], 'params' => $self->semStack[$stackPos - (8 - 5)], 'returnType' => $self->semStack[$stackPos - (8 - 7)], 'stmts' => $self->semStack[$stackPos - (8 - 8)], 'attrGroups' => []], $self->getAttributes($self->tokenStartStack[$stackPos - (8 - 1)], $self->tokenEndStack[$stackPos]));
        }, 207 => static function ($self, $stackPos) {
            $self->semValue = new Stmt\Function_($self->semStack[$stackPos - (9 - 4)], ['byRef' => $self->semStack[$stackPos - (9 - 3)], 'params' => $self->semStack[$stackPos - (9 - 6)], 'returnType' => $self->semStack[$stackPos - (9 - 8)], 'stmts' => $self->semStack[$stackPos - (9 - 9)], 'attrGroups' => $self->semStack[$stackPos - (9 - 1)]], $self->getAttributes($self->tokenStartStack[$stackPos - (9 - 1)], $self->tokenEndStack[$stackPos]));
        }, 208 => static function ($self, $stackPos) {
            $self->semValue = new Stmt\Class_($self->semStack[$stackPos - (7 - 2)], ['type' => $self->semStack[$stackPos - (7 - 1)], 'extends' => $self->semStack[$stackPos - (7 - 3)], 'implements' => $self->semStack[$stackPos - (7 - 4)], 'stmts' => $self->semStack[$stackPos - (7 - 6)], 'attrGroups' => []], $self->getAttributes($self->tokenStartStack[$stackPos - (7 - 1)], $self->tokenEndStack[$stackPos]));
            $self->checkClass($self->semValue, $stackPos - (7 - 2));
        }, 209 => static function ($self, $stackPos) {
            $self->semValue = new Stmt\Class_($self->semStack[$stackPos - (8 - 3)], ['type' => $self->semStack[$stackPos - (8 - 2)], 'extends' => $self->semStack[$stackPos - (8 - 4)], 'implements' => $self->semStack[$stackPos - (8 - 5)], 'stmts' => $self->semStack[$stackPos - (8 - 7)], 'attrGroups' => $self->semStack[$stackPos - (8 - 1)]], $self->getAttributes($self->tokenStartStack[$stackPos - (8 - 1)], $self->tokenEndStack[$stackPos]));
            $self->checkClass($self->semValue, $stackPos - (8 - 3));
        }, 210 => static function ($self, $stackPos) {
            $self->semValue = new Stmt\Interface_($self->semStack[$stackPos - (7 - 3)], ['extends' => $self->semStack[$stackPos - (7 - 4)], 'stmts' => $self->semStack[$stackPos - (7 - 6)], 'attrGroups' => $self->semStack[$stackPos - (7 - 1)]], $self->getAttributes($self->tokenStartStack[$stackPos - (7 - 1)], $self->tokenEndStack[$stackPos]));
            $self->checkInterface($self->semValue, $stackPos - (7 - 3));
        }, 211 => static function ($self, $stackPos) {
            $self->semValue = new Stmt\Trait_($self->semStack[$stackPos - (6 - 3)], ['stmts' => $self->semStack[$stackPos - (6 - 5)], 'attrGroups' => $self->semStack[$stackPos - (6 - 1)]], $self->getAttributes($self->tokenStartStack[$stackPos - (6 - 1)], $self->tokenEndStack[$stackPos]));
        }, 212 => static function ($self, $stackPos) {
            $self->semValue = new Stmt\Enum_($self->semStack[$stackPos - (8 - 3)], ['scalarType' => $self->semStack[$stackPos - (8 - 4)], 'implements' => $self->semStack[$stackPos - (8 - 5)], 'stmts' => $self->semStack[$stackPos - (8 - 7)], 'attrGroups' => $self->semStack[$stackPos - (8 - 1)]], $self->getAttributes($self->tokenStartStack[$stackPos - (8 - 1)], $self->tokenEndStack[$stackPos]));
            $self->checkEnum($self->semValue, $stackPos - (8 - 3));
        }, 213 => static function ($self, $stackPos) {
            $self->semValue = null;
        }, 214 => static function ($self, $stackPos) {
            $self->semValue = $self->semStack[$stackPos - (2 - 2)];
        }, 215 => static function ($self, $stackPos) {
            $self->semValue = null;
        }, 216 => static function ($self, $stackPos) {
            $self->semValue = $self->semStack[$stackPos - (2 - 2)];
        }, 217 => static function ($self, $stackPos) {
            $self->semValue = 0;
        }, 218 => null, 219 => null, 220 => static function ($self, $stackPos) {
            $self->checkClassModifier($self->semStack[$stackPos - (2 - 1)], $self->semStack[$stackPos - (2 - 2)], $stackPos - (2 - 2));
            $self->semValue = $self->semStack[$stackPos - (2 - 1)] | $self->semStack[$stackPos - (2 - 2)];
        }, 221 => static function ($self, $stackPos) {
            $self->semValue = Modifiers::ABSTRACT;
        }, 222 => static function ($self, $stackPos) {
            $self->semValue = Modifiers::FINAL;
        }, 223 => static function ($self, $stackPos) {
            $self->semValue = Modifiers::READONLY;
        }, 224 => static function ($self, $stackPos) {
            $self->semValue = null;
        }, 225 => static function ($self, $stackPos) {
            $self->semValue = $self->semStack[$stackPos - (2 - 2)];
        }, 226 => static function ($self, $stackPos) {
            $self->semValue = array();
        }, 227 => static function ($self, $stackPos) {
            $self->semValue = $self->semStack[$stackPos - (2 - 2)];
        }, 228 => static function ($self, $stackPos) {
            $self->semValue = array();
        }, 229 => static function ($self, $stackPos) {
            $self->semValue = $self->semStack[$stackPos - (2 - 2)];
        }, 230 => null, 231 => static function ($self, $stackPos) {
            $self->semValue = array($self->semStack[$stackPos - (1 - 1)]);
        }, 232 => static function ($self, $stackPos) {
            $self->semStack[$stackPos - (3 - 1)][] = $self->semStack[$stackPos - (3 - 3)];
            $self->semValue = $self->semStack[$stackPos - (3 - 1)];
        }, 233 => null, 234 => static function ($self, $stackPos) {
            $self->semValue = $self->semStack[$stackPos - (4 - 2)];
        }, 235 => null, 236 => static function ($self, $stackPos) {
            $self->semValue = $self->semStack[$stackPos - (4 - 2)];
        }, 237 => static function ($self, $stackPos) {
            if ($self->semStack[$stackPos - (1 - 1)] instanceof Stmt\Block) {
                $self->semValue = $self->semStack[$stackPos - (1 - 1)]->stmts;
            } else {
                if ($self->semStack[$stackPos - (1 - 1)] === null) {
                    $self->semValue = [];
                } else {
                    $self->semValue = [$self->semStack[$stackPos - (1 - 1)]];
                }
            }
        }, 238 => static function ($self, $stackPos) {
            $self->semValue = null;
        }, 239 => static function ($self, $stackPos) {
            $self->semValue = $self->semStack[$stackPos - (4 - 2)];
        }, 240 => null, 241 => static function ($self, $stackPos) {
            $self->semValue = array($self->semStack[$stackPos - (1 - 1)]);
        }, 242 => static function ($self, $stackPos) {
            $self->semStack[$stackPos - (3 - 1)][] = $self->semStack[$stackPos - (3 - 3)];
            $self->semValue = $self->semStack[$stackPos - (3 - 1)];
        }, 243 => static function ($self, $stackPos) {
            $self->semValue = new Node\DeclareItem($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
        }, 244 => static function ($self, $stackPos) {
            $self->semValue = $self->semStack[$stackPos - (3 - 2)];
        }, 245 => static function ($self, $stackPos) {
            $self->semValue = $self->semStack[$stackPos - (4 - 3)];
        }, 246 => static function ($self, $stackPos) {
            $self->semValue = $self->semStack[$stackPos - (4 - 2)];
        }, 247 => static function ($self, $stackPos) {
            $self->semValue = $self->semStack[$stackPos - (5 - 3)];
        }, 248 => static function ($self, $stackPos) {
            $self->semValue = array();
        }, 249 => static function ($self, $stackPos) {
            $self->semStack[$stackPos - (2 - 1)][] = $self->semStack[$stackPos - (2 - 2)];
            $self->semValue = $self->semStack[$stackPos - (2 - 1)];
        }, 250 => static function ($self, $stackPos) {
            $self->semValue = new Stmt\Case_($self->semStack[$stackPos - (4 - 2)], $self->semStack[$stackPos - (4 - 4)], $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
        }, 251 => static function ($self, $stackPos) {
            $self->semValue = new Stmt\Case_(null, $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
        }, 252 => null, 253 => null, 254 => static function ($self, $stackPos) {
            $self->semValue = new Expr\Match_($self->semStack[$stackPos - (7 - 3)], $self->semStack[$stackPos - (7 - 6)], $self->getAttributes($self->tokenStartStack[$stackPos - (7 - 1)], $self->tokenEndStack[$stackPos]));
        }, 255 => static function ($self, $stackPos) {
            $self->semValue = [];
        }, 256 => null, 257 => static function ($self, $stackPos) {
            $self->semValue = array($self->semStack[$stackPos - (1 - 1)]);
        }, 258 => static function ($self, $stackPos) {
            $self->semStack[$stackPos - (3 - 1)][] = $self->semStack[$stackPos - (3 - 3)];
            $self->semValue = $self->semStack[$stackPos - (3 - 1)];
        }, 259 => static function ($self, $stackPos) {
            $self->semValue = new Node\MatchArm($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
        }, 260 => static function ($self, $stackPos) {
            $self->semValue = new Node\MatchArm(null, $self->semStack[$stackPos - (4 - 4)], $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
        }, 261 => static function ($self, $stackPos) {
            $self->semValue = $self->semStack[$stackPos - (1 - 1)];
        }, 262 => static function ($self, $stackPos) {
            $self->semValue = $self->semStack[$stackPos - (4 - 2)];
        }, 263 => static function ($self, $stackPos) {
            $self->semValue = array();
        }, 264 => static function ($self, $stackPos) {
            $self->semStack[$stackPos - (2 - 1)][] = $self->semStack[$stackPos - (2 - 2)];
            $self->semValue = $self->semStack[$stackPos - (2 - 1)];
        }, 265 => static function ($self, $stackPos) {
            $self->semValue = new Stmt\ElseIf_($self->semStack[$stackPos - (5 - 3)], $self->semStack[$stackPos - (5 - 5)], $self->getAttributes($self->tokenStartStack[$stackPos - (5 - 1)], $self->tokenEndStack[$stackPos]));
        }, 266 => static function ($self, $stackPos) {
            $self->semValue = array();
        }, 267 => static function ($self, $stackPos) {
            $self->semStack[$stackPos - (2 - 1)][] = $self->semStack[$stackPos - (2 - 2)];
            $self->semValue = $self->semStack[$stackPos - (2 - 1)];
        }, 268 => static function ($self, $stackPos) {
            $self->semValue = new Stmt\ElseIf_($self->semStack[$stackPos - (6 - 3)], $self->semStack[$stackPos - (6 - 6)], $self->getAttributes($self->tokenStartStack[$stackPos - (6 - 1)], $self->tokenEndStack[$stackPos]));
            $self->fixupAlternativeElse($self->semValue);
        }, 269 => static function ($self, $stackPos) {
            $self->semValue = null;
        }, 270 => static function ($self, $stackPos) {
            $self->semValue = new Stmt\Else_($self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
        }, 271 => static function ($self, $stackPos) {
            $self->semValue = null;
        }, 272 => static function ($self, $stackPos) {
            $self->semValue = new Stmt\Else_($self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            $self->fixupAlternativeElse($self->semValue);
        }, 273 => static function ($self, $stackPos) {
            $self->semValue = array($self->semStack[$stackPos - (1 - 1)], \false);
        }, 274 => static function ($self, $stackPos) {
            $self->semValue = array($self->semStack[$stackPos - (2 - 2)], \true);
        }, 275 => static function ($self, $stackPos) {
            $self->semValue = array($self->semStack[$stackPos - (1 - 1)], \false);
        }, 276 => static function ($self, $stackPos) {
            $self->semValue = array($self->fixupArrayDestructuring($self->semStack[$stackPos - (1 - 1)]), \false);
        }, 277 => null, 278 => static function ($self, $stackPos) {
            $self->semValue = array();
        }, 279 => static function ($self, $stackPos) {
            $self->semValue = array($self->semStack[$stackPos - (1 - 1)]);
        }, 280 => static function ($self, $stackPos) {
            $self->semStack[$stackPos - (3 - 1)][] = $self->semStack[$stackPos - (3 - 3)];
            $self->semValue = $self->semStack[$stackPos - (3 - 1)];
        }, 281 => static function ($self, $stackPos) {
            $self->semValue = 0;
        }, 282 => static function ($self, $stackPos) {
            $self->checkModifier($self->semStack[$stackPos - (2 - 1)], $self->semStack[$stackPos - (2 - 2)], $stackPos - (2 - 2));
            $self->semValue = $self->semStack[$stackPos - (2 - 1)] | $self->semStack[$stackPos - (2 - 2)];
        }, 283 => static function ($self, $stackPos) {
            $self->semValue = Modifiers::PUBLIC;
        }, 284 => static function ($self, $stackPos) {
            $self->semValue = Modifiers::PROTECTED;
        }, 285 => static function ($self, $stackPos) {
            $self->semValue = Modifiers::PRIVATE;
        }, 286 => static function ($self, $stackPos) {
            $self->semValue = Modifiers::PUBLIC_SET;
        }, 287 => static function ($self, $stackPos) {
            $self->semValue = Modifiers::PROTECTED_SET;
        }, 288 => static function ($self, $stackPos) {
            $self->semValue = Modifiers::PRIVATE_SET;
        }, 289 => static function ($self, $stackPos) {
            $self->semValue = Modifiers::READONLY;
        }, 290 => static function ($self, $stackPos) {
            $self->semValue = new Node\Param($self->semStack[$stackPos - (7 - 6)], null, $self->semStack[$stackPos - (7 - 3)], $self->semStack[$stackPos - (7 - 4)], $self->semStack[$stackPos - (7 - 5)], $self->getAttributes($self->tokenStartStack[$stackPos - (7 - 1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos - (7 - 2)], $self->semStack[$stackPos - (7 - 1)], $self->semStack[$stackPos - (7 - 7)]);
            $self->checkParam($self->semValue);
            $self->addPropertyNameToHooks($self->semValue);
        }, 291 => static function ($self, $stackPos) {
            $self->semValue = new Node\Param($self->semStack[$stackPos - (9 - 6)], $self->semStack[$stackPos - (9 - 8)], $self->semStack[$stackPos - (9 - 3)], $self->semStack[$stackPos - (9 - 4)], $self->semStack[$stackPos - (9 - 5)], $self->getAttributes($self->tokenStartStack[$stackPos - (9 - 1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos - (9 - 2)], $self->semStack[$stackPos - (9 - 1)], $self->semStack[$stackPos - (9 - 9)]);
            $self->checkParam($self->semValue);
            $self->addPropertyNameToHooks($self->semValue);
        }, 292 => static function ($self, $stackPos) {
            $self->semValue = new Node\Param(new Expr\Error($self->getAttributes($self->tokenStartStack[$stackPos - (6 - 1)], $self->tokenEndStack[$stackPos])), null, $self->semStack[$stackPos - (6 - 3)], $self->semStack[$stackPos - (6 - 4)], $self->semStack[$stackPos - (6 - 5)], $self->getAttributes($self->tokenStartStack[$stackPos - (6 - 1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos - (6 - 2)], $self->semStack[$stackPos - (6 - 1)]);
        }, 293 => null, 294 => static function ($self, $stackPos) {
            $self->semValue = new Node\NullableType($self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
        }, 295 => static function ($self, $stackPos) {
            $self->semValue = new Node\UnionType($self->semStack[$stackPos - (1 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
        }, 296 => null, 297 => null, 298 => static function ($self, $stackPos) {
            $self->semValue = new Node\Name('static', $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
        }, 299 => static function ($self, $stackPos) {
            $self->semValue = $self->handleBuiltinTypes($self->semStack[$stackPos - (1 - 1)]);
        }, 300 => static function ($self, $stackPos) {
            $self->semValue = new Node\Identifier('array', $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
        }, 301 => static function ($self, $stackPos) {
            $self->semValue = new Node\Identifier('callable', $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
        }, 302 => null, 303 => static function ($self, $stackPos) {
            $self->semValue = $self->semStack[$stackPos - (3 - 2)];
        }, 304 => static function ($self, $stackPos) {
            $self->semValue = array($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)]);
        }, 305 => static function ($self, $stackPos) {
            $self->semStack[$stackPos - (3 - 1)][] = $self->semStack[$stackPos - (3 - 3)];
            $self->semValue = $self->semStack[$stackPos - (3 - 1)];
        }, 306 => null, 307 => static function ($self, $stackPos) {
            $self->semValue = $self->semStack[$stackPos - (3 - 2)];
        }, 308 => static function ($self, $stackPos) {
            $self->semValue = array($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)]);
        }, 309 => static function ($self, $stackPos) {
            $self->semStack[$stackPos - (3 - 1)][] = $self->semStack[$stackPos - (3 - 3)];
            $self->semValue = $self->semStack[$stackPos - (3 - 1)];
        }, 310 => static function ($self, $stackPos) {
            $self->semValue = array($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)]);
        }, 311 => static function ($self, $stackPos) {
            $self->semStack[$stackPos - (3 - 1)][] = $self->semStack[$stackPos - (3 - 3)];
            $self->semValue = $self->semStack[$stackPos - (3 - 1)];
        }, 312 => static function ($self, $stackPos) {
            $self->semValue = new Node\IntersectionType($self->semStack[$stackPos - (1 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
        }, 313 => static function ($self, $stackPos) {
            $self->semValue = array($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)]);
        }, 314 => static function ($self, $stackPos) {
            $self->semStack[$stackPos - (3 - 1)][] = $self->semStack[$stackPos - (3 - 3)];
            $self->semValue = $self->semStack[$stackPos - (3 - 1)];
        }, 315 => static function ($self, $stackPos) {
            $self->semValue = new Node\IntersectionType($self->semStack[$stackPos - (1 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
        }, 316 => null, 317 => static function ($self, $stackPos) {
            $self->semValue = new Node\NullableType($self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
        }, 318 => static function ($self, $stackPos) {
            $self->semValue = new Node\UnionType($self->semStack[$stackPos - (1 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
        }, 319 => null, 320 => static function ($self, $stackPos) {
            $self->semValue = null;
        }, 321 => null, 322 => static function ($self, $stackPos) {
            $self->semValue = null;
        }, 323 => static function ($self, $stackPos) {
            $self->semValue = $self->semStack[$stackPos - (2 - 2)];
        }, 324 => static function ($self, $stackPos) {
            $self->semValue = null;
        }, 325 => static function ($self, $stackPos) {
            $self->semValue = array();
        }, 326 => static function ($self, $stackPos) {
            $self->semValue = $self->semStack[$stackPos - (4 - 2)];
        }, 327 => static function ($self, $stackPos) {
            $self->semValue = array($self->semStack[$stackPos - (3 - 2)]);
        }, 328 => static function ($self, $stackPos) {
            $self->semValue = new Node\VariadicPlaceholder($self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
        }, 329 => static function ($self, $stackPos) {
            $self->semValue = array($self->semStack[$stackPos - (1 - 1)]);
        }, 330 => static function ($self, $stackPos) {
            $self->semStack[$stackPos - (3 - 1)][] = $self->semStack[$stackPos - (3 - 3)];
            $self->semValue = $self->semStack[$stackPos - (3 - 1)];
        }, 331 => static function ($self, $stackPos) {
            $self->semValue = new Node\Arg($self->semStack[$stackPos - (1 - 1)], \false, \false, $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
        }, 332 => static function ($self, $stackPos) {
            $self->semValue = new Node\Arg($self->semStack[$stackPos - (2 - 2)], \true, \false, $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
        }, 333 => static function ($self, $stackPos) {
            $self->semValue = new Node\Arg($self->semStack[$stackPos - (2 - 2)], \false, \true, $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
        }, 334 => static function ($self, $stackPos) {
            $self->semValue = new Node\Arg($self->semStack[$stackPos - (3 - 3)], \false, \false, $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos - (3 - 1)]);
        }, 335 => null, 336 => static function ($self, $stackPos) {
            $self->semStack[$stackPos - (3 - 1)][] = $self->semStack[$stackPos - (3 - 3)];
            $self->semValue = $self->semStack[$stackPos - (3 - 1)];
        }, 337 => static function ($self, $stackPos) {
            $self->semValue = array($self->semStack[$stackPos - (1 - 1)]);
        }, 338 => null, 339 => null, 340 => static function ($self, $stackPos) {
            $self->semStack[$stackPos - (3 - 1)][] = $self->semStack[$stackPos - (3 - 3)];
            $self->semValue = $self->semStack[$stackPos - (3 - 1)];
        }, 341 => static function ($self, $stackPos) {
            $self->semValue = array($self->semStack[$stackPos - (1 - 1)]);
        }, 342 => static function ($self, $stackPos) {
            $self->semValue = new Node\StaticVar($self->semStack[$stackPos - (1 - 1)], null, $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
        }, 343 => static function ($self, $stackPos) {
            $self->semValue = new Node\StaticVar($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
        }, 344 => static function ($self, $stackPos) {
            if ($self->semStack[$stackPos - (2 - 2)] !== null) {
                $self->semStack[$stackPos - (2 - 1)][] = $self->semStack[$stackPos - (2 - 2)];
                $self->semValue = $self->semStack[$stackPos - (2 - 1)];
            } else {
                $self->semValue = $self->semStack[$stackPos - (2 - 1)];
            }
        }, 345 => static function ($self, $stackPos) {
            $self->semValue = array();
        }, 346 => static function ($self, $stackPos) {
            $nop = $self->maybeCreateZeroLengthNop($self->tokenPos);
            if ($nop !== null) {
                $self->semStack[$stackPos - (1 - 1)][] = $nop;
            }
            $self->semValue = $self->semStack[$stackPos - (1 - 1)];
        }, 347 => static function ($self, $stackPos) {
            $self->semValue = new Stmt\Property($self->semStack[$stackPos - (5 - 2)], $self->semStack[$stackPos - (5 - 4)], $self->getAttributes($self->tokenStartStack[$stackPos - (5 - 1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos - (5 - 3)], $self->semStack[$stackPos - (5 - 1)]);
        }, 348 => static function ($self, $stackPos) {
            $self->semValue = new Stmt\Property($self->semStack[$stackPos - (7 - 2)], $self->semStack[$stackPos - (7 - 4)], $self->getAttributes($self->tokenStartStack[$stackPos - (7 - 1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos - (7 - 3)], $self->semStack[$stackPos - (7 - 1)], $self->semStack[$stackPos - (7 - 6)]);
            $self->checkPropertyHooksForMultiProperty($self->semValue, $stackPos - (7 - 5));
            $self->checkEmptyPropertyHookList($self->semStack[$stackPos - (7 - 6)], $stackPos - (7 - 5));
            $self->addPropertyNameToHooks($self->semValue);
        }, 349 => static function ($self, $stackPos) {
            $self->semValue = new Stmt\ClassConst($self->semStack[$stackPos - (5 - 4)], $self->semStack[$stackPos - (5 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (5 - 1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos - (5 - 1)]);
            $self->checkClassConst($self->semValue, $stackPos - (5 - 2));
        }, 350 => static function ($self, $stackPos) {
            $self->semValue = new Stmt\ClassConst($self->semStack[$stackPos - (6 - 5)], $self->semStack[$stackPos - (6 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (6 - 1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos - (6 - 1)], $self->semStack[$stackPos - (6 - 4)]);
            $self->checkClassConst($self->semValue, $stackPos - (6 - 2));
        }, 351 => static function ($self, $stackPos) {
            $self->semValue = new Stmt\ClassMethod($self->semStack[$stackPos - (10 - 5)], ['type' => $self->semStack[$stackPos - (10 - 2)], 'byRef' => $self->semStack[$stackPos - (10 - 4)], 'params' => $self->semStack[$stackPos - (10 - 7)], 'returnType' => $self->semStack[$stackPos - (10 - 9)], 'stmts' => $self->semStack[$stackPos - (10 - 10)], 'attrGroups' => $self->semStack[$stackPos - (10 - 1)]], $self->getAttributes($self->tokenStartStack[$stackPos - (10 - 1)], $self->tokenEndStack[$stackPos]));
            $self->checkClassMethod($self->semValue, $stackPos - (10 - 2));
        }, 352 => static function ($self, $stackPos) {
            $self->semValue = new Stmt\TraitUse($self->semStack[$stackPos - (3 - 2)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
        }, 353 => static function ($self, $stackPos) {
            $self->semValue = new Stmt\EnumCase($self->semStack[$stackPos - (5 - 3)], $self->semStack[$stackPos - (5 - 4)], $self->semStack[$stackPos - (5 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (5 - 1)], $self->tokenEndStack[$stackPos]));
        }, 354 => static function ($self, $stackPos) {
            $self->semValue = null;
            /* will be skipped */
        }, 355 => static function ($self, $stackPos) {
            $self->semValue = array();
        }, 356 => static function ($self, $stackPos) {
            $self->semValue = $self->semStack[$stackPos - (3 - 2)];
        }, 357 => static function ($self, $stackPos) {
            $self->semValue = array();
        }, 358 => static function ($self, $stackPos) {
            $self->semStack[$stackPos - (2 - 1)][] = $self->semStack[$stackPos - (2 - 2)];
            $self->semValue = $self->semStack[$stackPos - (2 - 1)];
        }, 359 => static function ($self, $stackPos) {
            $self->semValue = new Stmt\TraitUseAdaptation\Precedence($self->semStack[$stackPos - (4 - 1)][0], $self->semStack[$stackPos - (4 - 1)][1], $self->semStack[$stackPos - (4 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
        }, 360 => static function ($self, $stackPos) {
            $self->semValue = new Stmt\TraitUseAdaptation\Alias($self->semStack[$stackPos - (5 - 1)][0], $self->semStack[$stackPos - (5 - 1)][1], $self->semStack[$stackPos - (5 - 3)], $self->semStack[$stackPos - (5 - 4)], $self->getAttributes($self->tokenStartStack[$stackPos - (5 - 1)], $self->tokenEndStack[$stackPos]));
        }, 361 => static function ($self, $stackPos) {
            $self->semValue = new Stmt\TraitUseAdaptation\Alias($self->semStack[$stackPos - (4 - 1)][0], $self->semStack[$stackPos - (4 - 1)][1], $self->semStack[$stackPos - (4 - 3)], null, $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
        }, 362 => static function ($self, $stackPos) {
            $self->semValue = new Stmt\TraitUseAdaptation\Alias($self->semStack[$stackPos - (4 - 1)][0], $self->semStack[$stackPos - (4 - 1)][1], null, $self->semStack[$stackPos - (4 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
        }, 363 => static function ($self, $stackPos) {
            $self->semValue = new Stmt\TraitUseAdaptation\Alias($self->semStack[$stackPos - (4 - 1)][0], $self->semStack[$stackPos - (4 - 1)][1], null, $self->semStack[$stackPos - (4 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
        }, 364 => static function ($self, $stackPos) {
            $self->semValue = array($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)]);
        }, 365 => null, 366 => static function ($self, $stackPos) {
            $self->semValue = array(null, $self->semStack[$stackPos - (1 - 1)]);
        }, 367 => static function ($self, $stackPos) {
            $self->semValue = null;
        }, 368 => null, 369 => null, 370 => static function ($self, $stackPos) {
            $self->semValue = 0;
        }, 371 => static function ($self, $stackPos) {
            $self->semValue = 0;
        }, 372 => null, 373 => null, 374 => static function ($self, $stackPos) {
            $self->checkModifier($self->semStack[$stackPos - (2 - 1)], $self->semStack[$stackPos - (2 - 2)], $stackPos - (2 - 2));
            $self->semValue = $self->semStack[$stackPos - (2 - 1)] | $self->semStack[$stackPos - (2 - 2)];
        }, 375 => static function ($self, $stackPos) {
            $self->semValue = Modifiers::PUBLIC;
        }, 376 => static function ($self, $stackPos) {
            $self->semValue = Modifiers::PROTECTED;
        }, 377 => static function ($self, $stackPos) {
            $self->semValue = Modifiers::PRIVATE;
        }, 378 => static function ($self, $stackPos) {
            $self->semValue = Modifiers::PUBLIC_SET;
        }, 379 => static function ($self, $stackPos) {
            $self->semValue = Modifiers::PROTECTED_SET;
        }, 380 => static function ($self, $stackPos) {
            $self->semValue = Modifiers::PRIVATE_SET;
        }, 381 => static function ($self, $stackPos) {
            $self->semValue = Modifiers::STATIC;
        }, 382 => static function ($self, $stackPos) {
            $self->semValue = Modifiers::ABSTRACT;
        }, 383 => static function ($self, $stackPos) {
            $self->semValue = Modifiers::FINAL;
        }, 384 => static function ($self, $stackPos) {
            $self->semValue = Modifiers::READONLY;
        }, 385 => null, 386 => static function ($self, $stackPos) {
            $self->semValue = array($self->semStack[$stackPos - (1 - 1)]);
        }, 387 => static function ($self, $stackPos) {
            $self->semStack[$stackPos - (3 - 1)][] = $self->semStack[$stackPos - (3 - 3)];
            $self->semValue = $self->semStack[$stackPos - (3 - 1)];
        }, 388 => static function ($self, $stackPos) {
            $self->semValue = new Node\VarLikeIdentifier(\substr($self->semStack[$stackPos - (1 - 1)], 1), $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
        }, 389 => static function ($self, $stackPos) {
            $self->semValue = new Node\PropertyItem($self->semStack[$stackPos - (1 - 1)], null, $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
        }, 390 => static function ($self, $stackPos) {
            $self->semValue = new Node\PropertyItem($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
        }, 391 => static function ($self, $stackPos) {
            $self->semValue = [];
        }, 392 => static function ($self, $stackPos) {
            $self->semStack[$stackPos - (2 - 1)][] = $self->semStack[$stackPos - (2 - 2)];
            $self->semValue = $self->semStack[$stackPos - (2 - 1)];
        }, 393 => static function ($self, $stackPos) {
            $self->semValue = [];
        }, 394 => static function ($self, $stackPos) {
            $self->semValue = $self->semStack[$stackPos - (3 - 2)];
            $self->checkEmptyPropertyHookList($self->semStack[$stackPos - (3 - 2)], $stackPos - (3 - 1));
        }, 395 => static function ($self, $stackPos) {
            $self->semValue = new Node\PropertyHook($self->semStack[$stackPos - (5 - 4)], $self->semStack[$stackPos - (5 - 5)], ['flags' => $self->semStack[$stackPos - (5 - 2)], 'byRef' => $self->semStack[$stackPos - (5 - 3)], 'params' => [], 'attrGroups' => $self->semStack[$stackPos - (5 - 1)]], $self->getAttributes($self->tokenStartStack[$stackPos - (5 - 1)], $self->tokenEndStack[$stackPos]));
            $self->checkPropertyHook($self->semValue, null);
        }, 396 => static function ($self, $stackPos) {
            $self->semValue = new Node\PropertyHook($self->semStack[$stackPos - (8 - 4)], $self->semStack[$stackPos - (8 - 8)], ['flags' => $self->semStack[$stackPos - (8 - 2)], 'byRef' => $self->semStack[$stackPos - (8 - 3)], 'params' => $self->semStack[$stackPos - (8 - 6)], 'attrGroups' => $self->semStack[$stackPos - (8 - 1)]], $self->getAttributes($self->tokenStartStack[$stackPos - (8 - 1)], $self->tokenEndStack[$stackPos]));
            $self->checkPropertyHook($self->semValue, $stackPos - (8 - 5));
        }, 397 => static function ($self, $stackPos) {
            $self->semValue = null;
        }, 398 => static function ($self, $stackPos) {
            $self->semValue = $self->semStack[$stackPos - (3 - 2)];
        }, 399 => static function ($self, $stackPos) {
            $self->semValue = $self->semStack[$stackPos - (3 - 2)];
        }, 400 => static function ($self, $stackPos) {
            $self->semValue = 0;
        }, 401 => static function ($self, $stackPos) {
            $self->checkPropertyHookModifiers($self->semStack[$stackPos - (2 - 1)], $self->semStack[$stackPos - (2 - 2)], $stackPos - (2 - 2));
            $self->semValue = $self->semStack[$stackPos - (2 - 1)] | $self->semStack[$stackPos - (2 - 2)];
        }, 402 => null, 403 => null, 404 => static function ($self, $stackPos) {
            $self->semStack[$stackPos - (3 - 1)][] = $self->semStack[$stackPos - (3 - 3)];
            $self->semValue = $self->semStack[$stackPos - (3 - 1)];
        }, 405 => static function ($self, $stackPos) {
            $self->semValue = array($self->semStack[$stackPos - (1 - 1)]);
        }, 406 => static function ($self, $stackPos) {
            $self->semValue = array();
        }, 407 => null, 408 => null, 409 => static function ($self, $stackPos) {
            $self->semValue = new Expr\Assign($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
        }, 410 => static function ($self, $stackPos) {
            $self->semValue = new Expr\Assign($self->fixupArrayDestructuring($self->semStack[$stackPos - (3 - 1)]), $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
        }, 411 => static function ($self, $stackPos) {
            $self->semValue = new Expr\Assign($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
        }, 412 => static function ($self, $stackPos) {
            $self->semValue = new Expr\AssignRef($self->semStack[$stackPos - (4 - 1)], $self->semStack[$stackPos - (4 - 4)], $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
        }, 413 => static function ($self, $stackPos) {
            $self->semValue = new Expr\AssignRef($self->semStack[$stackPos - (4 - 1)], $self->semStack[$stackPos - (4 - 4)], $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
            if (!$self->phpVersion->allowsAssignNewByReference()) {
                $self->emitError(new Error('Cannot assign new by reference', $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos])));
            }
        }, 414 => null, 415 => null, 416 => static function ($self, $stackPos) {
            $self->semValue = new Expr\Clone_($self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
        }, 417 => static function ($self, $stackPos) {
            $self->semValue = new Expr\AssignOp\Plus($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
        }, 418 => static function ($self, $stackPos) {
            $self->semValue = new Expr\AssignOp\Minus($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
        }, 419 => static function ($self, $stackPos) {
            $self->semValue = new Expr\AssignOp\Mul($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
        }, 420 => static function ($self, $stackPos) {
            $self->semValue = new Expr\AssignOp\Div($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
        }, 421 => static function ($self, $stackPos) {
            $self->semValue = new Expr\AssignOp\Concat($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
        }, 422 => static function ($self, $stackPos) {
            $self->semValue = new Expr\AssignOp\Mod($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
        }, 423 => static function ($self, $stackPos) {
            $self->semValue = new Expr\AssignOp\BitwiseAnd($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
        }, 424 => static function ($self, $stackPos) {
            $self->semValue = new Expr\AssignOp\BitwiseOr($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
        }, 425 => static function ($self, $stackPos) {
            $self->semValue = new Expr\AssignOp\BitwiseXor($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
        }, 426 => static function ($self, $stackPos) {
            $self->semValue = new Expr\AssignOp\ShiftLeft($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
        }, 427 => static function ($self, $stackPos) {
            $self->semValue = new Expr\AssignOp\ShiftRight($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
        }, 428 => static function ($self, $stackPos) {
            $self->semValue = new Expr\AssignOp\Pow($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
        }, 429 => static function ($self, $stackPos) {
            $self->semValue = new Expr\AssignOp\Coalesce($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
        }, 430 => static function ($self, $stackPos) {
            $self->semValue = new Expr\PostInc($self->semStack[$stackPos - (2 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
        }, 431 => static function ($self, $stackPos) {
            $self->semValue = new Expr\PreInc($self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
        }, 432 => static function ($self, $stackPos) {
            $self->semValue = new Expr\PostDec($self->semStack[$stackPos - (2 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
        }, 433 => static function ($self, $stackPos) {
            $self->semValue = new Expr\PreDec($self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
        }, 434 => static function ($self, $stackPos) {
            $self->semValue = new Expr\BinaryOp\BooleanOr($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
        }, 435 => static function ($self, $stackPos) {
            $self->semValue = new Expr\BinaryOp\BooleanAnd($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
        }, 436 => static function ($self, $stackPos) {
            $self->semValue = new Expr\BinaryOp\LogicalOr($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
        }, 437 => static function ($self, $stackPos) {
            $self->semValue = new Expr\BinaryOp\LogicalAnd($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
        }, 438 => static function ($self, $stackPos) {
            $self->semValue = new Expr\BinaryOp\LogicalXor($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
        }, 439 => static function ($self, $stackPos) {
            $self->semValue = new Expr\BinaryOp\BitwiseOr($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
        }, 440 => static function ($self, $stackPos) {
            $self->semValue = new Expr\BinaryOp\BitwiseAnd($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
        }, 441 => static function ($self, $stackPos) {
            $self->semValue = new Expr\BinaryOp\BitwiseAnd($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
        }, 442 => static function ($self, $stackPos) {
            $self->semValue = new Expr\BinaryOp\BitwiseXor($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
        }, 443 => static function ($self, $stackPos) {
            $self->semValue = new Expr\BinaryOp\Concat($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
        }, 444 => static function ($self, $stackPos) {
            $self->semValue = new Expr\BinaryOp\Plus($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
        }, 445 => static function ($self, $stackPos) {
            $self->semValue = new Expr\BinaryOp\Minus($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
        }, 446 => static function ($self, $stackPos) {
            $self->semValue = new Expr\BinaryOp\Mul($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
        }, 447 => static function ($self, $stackPos) {
            $self->semValue = new Expr\BinaryOp\Div($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
        }, 448 => static function ($self, $stackPos) {
            $self->semValue = new Expr\BinaryOp\Mod($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
        }, 449 => static function ($self, $stackPos) {
            $self->semValue = new Expr\BinaryOp\ShiftLeft($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
        }, 450 => static function ($self, $stackPos) {
            $self->semValue = new Expr\BinaryOp\ShiftRight($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
        }, 451 => static function ($self, $stackPos) {
            $self->semValue = new Expr\BinaryOp\Pow($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
        }, 452 => static function ($self, $stackPos) {
            $self->semValue = new Expr\UnaryPlus($self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
        }, 453 => static function ($self, $stackPos) {
            $self->semValue = new Expr\UnaryMinus($self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
        }, 454 => static function ($self, $stackPos) {
            $self->semValue = new Expr\BooleanNot($self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
        }, 455 => static function ($self, $stackPos) {
            $self->semValue = new Expr\BitwiseNot($self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
        }, 456 => static function ($self, $stackPos) {
            $self->semValue = new Expr\BinaryOp\Identical($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
        }, 457 => static function ($self, $stackPos) {
            $self->semValue = new Expr\BinaryOp\NotIdentical($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
        }, 458 => static function ($self, $stackPos) {
            $self->semValue = new Expr\BinaryOp\Equal($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
        }, 459 => static function ($self, $stackPos) {
            $self->semValue = new Expr\BinaryOp\NotEqual($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
        }, 460 => static function ($self, $stackPos) {
            $self->semValue = new Expr\BinaryOp\Spaceship($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
        }, 461 => static function ($self, $stackPos) {
            $self->semValue = new Expr\BinaryOp\Smaller($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
        }, 462 => static function ($self, $stackPos) {
            $self->semValue = new Expr\BinaryOp\SmallerOrEqual($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
        }, 463 => static function ($self, $stackPos) {
            $self->semValue = new Expr\BinaryOp\Greater($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
        }, 464 => static function ($self, $stackPos) {
            $self->semValue = new Expr\BinaryOp\GreaterOrEqual($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
        }, 465 => static function ($self, $stackPos) {
            $self->semValue = new Expr\Instanceof_($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
        }, 466 => static function ($self, $stackPos) {
            $self->semValue = $self->semStack[$stackPos - (3 - 2)];
        }, 467 => static function ($self, $stackPos) {
            $self->semValue = new Expr\Ternary($self->semStack[$stackPos - (5 - 1)], $self->semStack[$stackPos - (5 - 3)], $self->semStack[$stackPos - (5 - 5)], $self->getAttributes($self->tokenStartStack[$stackPos - (5 - 1)], $self->tokenEndStack[$stackPos]));
        }, 468 => static function ($self, $stackPos) {
            $self->semValue = new Expr\Ternary($self->semStack[$stackPos - (4 - 1)], null, $self->semStack[$stackPos - (4 - 4)], $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
        }, 469 => static function ($self, $stackPos) {
            $self->semValue = new Expr\BinaryOp\Coalesce($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
        }, 470 => static function ($self, $stackPos) {
            $self->semValue = new Expr\Isset_($self->semStack[$stackPos - (4 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
        }, 471 => static function ($self, $stackPos) {
            $self->semValue = new Expr\Empty_($self->semStack[$stackPos - (4 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
        }, 472 => static function ($self, $stackPos) {
            $self->semValue = new Expr\Include_($self->semStack[$stackPos - (2 - 2)], Expr\Include_::TYPE_INCLUDE, $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
        }, 473 => static function ($self, $stackPos) {
            $self->semValue = new Expr\Include_($self->semStack[$stackPos - (2 - 2)], Expr\Include_::TYPE_INCLUDE_ONCE, $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
        }, 474 => static function ($self, $stackPos) {
            $self->semValue = new Expr\Eval_($self->semStack[$stackPos - (4 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
        }, 475 => static function ($self, $stackPos) {
            $self->semValue = new Expr\Include_($self->semStack[$stackPos - (2 - 2)], Expr\Include_::TYPE_REQUIRE, $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
        }, 476 => static function ($self, $stackPos) {
            $self->semValue = new Expr\Include_($self->semStack[$stackPos - (2 - 2)], Expr\Include_::TYPE_REQUIRE_ONCE, $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
        }, 477 => static function ($self, $stackPos) {
            $self->semValue = new Expr\Cast\Int_($self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
        }, 478 => static function ($self, $stackPos) {
            $attrs = $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]);
            $attrs['kind'] = $self->getFloatCastKind($self->semStack[$stackPos - (2 - 1)]);
            $self->semValue = new Expr\Cast\Double($self->semStack[$stackPos - (2 - 2)], $attrs);
        }, 479 => static function ($self, $stackPos) {
            $self->semValue = new Expr\Cast\String_($self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
        }, 480 => static function ($self, $stackPos) {
            $self->semValue = new Expr\Cast\Array_($self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
        }, 481 => static function ($self, $stackPos) {
            $self->semValue = new Expr\Cast\Object_($self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
        }, 482 => static function ($self, $stackPos) {
            $self->semValue = new Expr\Cast\Bool_($self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
        }, 483 => static function ($self, $stackPos) {
            $self->semValue = new Expr\Cast\Unset_($self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
        }, 484 => static function ($self, $stackPos) {
            $self->semValue = $self->createExitExpr($self->semStack[$stackPos - (2 - 1)], $stackPos - (2 - 1), $self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
        }, 485 => static function ($self, $stackPos) {
            $self->semValue = new Expr\ErrorSuppress($self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
        }, 486 => null, 487 => static function ($self, $stackPos) {
            $self->semValue = new Expr\ShellExec($self->semStack[$stackPos - (3 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
        }, 488 => static function ($self, $stackPos) {
            $self->semValue = new Expr\Print_($self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
        }, 489 => static function ($self, $stackPos) {
            $self->semValue = new Expr\Yield_(null, null, $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
        }, 490 => static function ($self, $stackPos) {
            $self->semValue = new Expr\Yield_($self->semStack[$stackPos - (2 - 2)], null, $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
        }, 491 => static function ($self, $stackPos) {
            $self->semValue = new Expr\Yield_($self->semStack[$stackPos - (4 - 4)], $self->semStack[$stackPos - (4 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
        }, 492 => static function ($self, $stackPos) {
            $self->semValue = new Expr\YieldFrom($self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
        }, 493 => static function ($self, $stackPos) {
            $self->semValue = new Expr\Throw_($self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
        }, 494 => static function ($self, $stackPos) {
            $self->semValue = new Expr\ArrowFunction(['static' => \false, 'byRef' => $self->semStack[$stackPos - (8 - 2)], 'params' => $self->semStack[$stackPos - (8 - 4)], 'returnType' => $self->semStack[$stackPos - (8 - 6)], 'expr' => $self->semStack[$stackPos - (8 - 8)], 'attrGroups' => []], $self->getAttributes($self->tokenStartStack[$stackPos - (8 - 1)], $self->tokenEndStack[$stackPos]));
        }, 495 => static function ($self, $stackPos) {
            $self->semValue = new Expr\ArrowFunction(['static' => \true, 'byRef' => $self->semStack[$stackPos - (9 - 3)], 'params' => $self->semStack[$stackPos - (9 - 5)], 'returnType' => $self->semStack[$stackPos - (9 - 7)], 'expr' => $self->semStack[$stackPos - (9 - 9)], 'attrGroups' => []], $self->getAttributes($self->tokenStartStack[$stackPos - (9 - 1)], $self->tokenEndStack[$stackPos]));
        }, 496 => static function ($self, $stackPos) {
            $self->semValue = new Expr\Closure(['static' => \false, 'byRef' => $self->semStack[$stackPos - (8 - 2)], 'params' => $self->semStack[$stackPos - (8 - 4)], 'uses' => $self->semStack[$stackPos - (8 - 6)], 'returnType' => $self->semStack[$stackPos - (8 - 7)], 'stmts' => $self->semStack[$stackPos - (8 - 8)], 'attrGroups' => []], $self->getAttributes($self->tokenStartStack[$stackPos - (8 - 1)], $self->tokenEndStack[$stackPos]));
        }, 497 => static function ($self, $stackPos) {
            $self->semValue = new Expr\Closure(['static' => \true, 'byRef' => $self->semStack[$stackPos - (9 - 3)], 'params' => $self->semStack[$stackPos - (9 - 5)], 'uses' => $self->semStack[$stackPos - (9 - 7)], 'returnType' => $self->semStack[$stackPos - (9 - 8)], 'stmts' => $self->semStack[$stackPos - (9 - 9)], 'attrGroups' => []], $self->getAttributes($self->tokenStartStack[$stackPos - (9 - 1)], $self->tokenEndStack[$stackPos]));
        }, 498 => static function ($self, $stackPos) {
            $self->semValue = new Expr\ArrowFunction(['static' => \false, 'byRef' => $self->semStack[$stackPos - (9 - 3)], 'params' => $self->semStack[$stackPos - (9 - 5)], 'returnType' => $self->semStack[$stackPos - (9 - 7)], 'expr' => $self->semStack[$stackPos - (9 - 9)], 'attrGroups' => $self->semStack[$stackPos - (9 - 1)]], $self->getAttributes($self->tokenStartStack[$stackPos - (9 - 1)], $self->tokenEndStack[$stackPos]));
        }, 499 => static function ($self, $stackPos) {
            $self->semValue = new Expr\ArrowFunction(['static' => \true, 'byRef' => $self->semStack[$stackPos - (10 - 4)], 'params' => $self->semStack[$stackPos - (10 - 6)], 'returnType' => $self->semStack[$stackPos - (10 - 8)], 'expr' => $self->semStack[$stackPos - (10 - 10)], 'attrGroups' => $self->semStack[$stackPos - (10 - 1)]], $self->getAttributes($self->tokenStartStack[$stackPos - (10 - 1)], $self->tokenEndStack[$stackPos]));
        }, 500 => static function ($self, $stackPos) {
            $self->semValue = new Expr\Closure(['static' => \false, 'byRef' => $self->semStack[$stackPos - (9 - 3)], 'params' => $self->semStack[$stackPos - (9 - 5)], 'uses' => $self->semStack[$stackPos - (9 - 7)], 'returnType' => $self->semStack[$stackPos - (9 - 8)], 'stmts' => $self->semStack[$stackPos - (9 - 9)], 'attrGroups' => $self->semStack[$stackPos - (9 - 1)]], $self->getAttributes($self->tokenStartStack[$stackPos - (9 - 1)], $self->tokenEndStack[$stackPos]));
        }, 501 => static function ($self, $stackPos) {
            $self->semValue = new Expr\Closure(['static' => \true, 'byRef' => $self->semStack[$stackPos - (10 - 4)], 'params' => $self->semStack[$stackPos - (10 - 6)], 'uses' => $self->semStack[$stackPos - (10 - 8)], 'returnType' => $self->semStack[$stackPos - (10 - 9)], 'stmts' => $self->semStack[$stackPos - (10 - 10)], 'attrGroups' => $self->semStack[$stackPos - (10 - 1)]], $self->getAttributes($self->tokenStartStack[$stackPos - (10 - 1)], $self->tokenEndStack[$stackPos]));
        }, 502 => static function ($self, $stackPos) {
            $self->semValue = array(new Stmt\Class_(null, ['type' => $self->semStack[$stackPos - (8 - 2)], 'extends' => $self->semStack[$stackPos - (8 - 4)], 'implements' => $self->semStack[$stackPos - (8 - 5)], 'stmts' => $self->semStack[$stackPos - (8 - 7)], 'attrGroups' => $self->semStack[$stackPos - (8 - 1)]], $self->getAttributes($self->tokenStartStack[$stackPos - (8 - 1)], $self->tokenEndStack[$stackPos])), $self->semStack[$stackPos - (8 - 3)]);
            $self->checkClass($self->semValue[0], -1);
        }, 503 => static function ($self, $stackPos) {
            $self->semValue = new Expr\New_($self->semStack[$stackPos - (3 - 2)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
        }, 504 => static function ($self, $stackPos) {
            list($class, $ctorArgs) = $self->semStack[$stackPos - (2 - 2)];
            $self->semValue = new Expr\New_($class, $ctorArgs, $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
        }, 505 => static function ($self, $stackPos) {
            $self->semValue = new Expr\New_($self->semStack[$stackPos - (2 - 2)], [], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
        }, 506 => null, 507 => null, 508 => static function ($self, $stackPos) {
            $self->semValue = array();
        }, 509 => static function ($self, $stackPos) {
            $self->semValue = $self->semStack[$stackPos - (4 - 3)];
        }, 510 => null, 511 => static function ($self, $stackPos) {
            $self->semValue = array($self->semStack[$stackPos - (1 - 1)]);
        }, 512 => static function ($self, $stackPos) {
            $self->semStack[$stackPos - (3 - 1)][] = $self->semStack[$stackPos - (3 - 3)];
            $self->semValue = $self->semStack[$stackPos - (3 - 1)];
        }, 513 => static function ($self, $stackPos) {
            $self->semValue = new Node\ClosureUse($self->semStack[$stackPos - (2 - 2)], $self->semStack[$stackPos - (2 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
        }, 514 => static function ($self, $stackPos) {
            $self->semValue = new Name($self->semStack[$stackPos - (1 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
        }, 515 => static function ($self, $stackPos) {
            $self->semValue = new Expr\FuncCall($self->semStack[$stackPos - (2 - 1)], $self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
        }, 516 => static function ($self, $stackPos) {
            $self->semValue = new Expr\FuncCall($self->semStack[$stackPos - (2 - 1)], $self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
        }, 517 => static function ($self, $stackPos) {
            $self->semValue = new Expr\FuncCall($self->semStack[$stackPos - (2 - 1)], $self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
        }, 518 => static function ($self, $stackPos) {
            $self->semValue = new Expr\StaticCall($self->semStack[$stackPos - (4 - 1)], $self->semStack[$stackPos - (4 - 3)], $self->semStack[$stackPos - (4 - 4)], $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
        }, 519 => static function ($self, $stackPos) {
            $self->semValue = new Name($self->semStack[$stackPos - (1 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
        }, 520 => null, 521 => static function ($self, $stackPos) {
            $self->semValue = new Name($self->semStack[$stackPos - (1 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
        }, 522 => static function ($self, $stackPos) {
            $self->semValue = new Name($self->semStack[$stackPos - (1 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
        }, 523 => static function ($self, $stackPos) {
            $self->semValue = new Name\FullyQualified(\substr($self->semStack[$stackPos - (1 - 1)], 1), $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
        }, 524 => static function ($self, $stackPos) {
            $self->semValue = new Name\Relative(\substr($self->semStack[$stackPos - (1 - 1)], 10), $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
        }, 525 => null, 526 => null, 527 => static function ($self, $stackPos) {
            $self->semValue = $self->semStack[$stackPos - (3 - 2)];
        }, 528 => static function ($self, $stackPos) {
            $self->semValue = new Expr\Error($self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
            $self->errorState = 2;
        }, 529 => null, 530 => null, 531 => static function ($self, $stackPos) {
            $self->semValue = array();
        }, 532 => static function ($self, $stackPos) {
            $self->semValue = array($self->semStack[$stackPos - (1 - 1)]);
            foreach ($self->semValue as $s) {
                if ($s instanceof Node\InterpolatedStringPart) {
                    $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '`', $self->phpVersion->supportsUnicodeEscapes());
                }
            }
        }, 533 => static function ($self, $stackPos) {
            foreach ($self->semStack[$stackPos - (1 - 1)] as $s) {
                if ($s instanceof Node\InterpolatedStringPart) {
                    $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '`', $self->phpVersion->supportsUnicodeEscapes());
                }
            }
            $self->semValue = $self->semStack[$stackPos - (1 - 1)];
        }, 534 => static function ($self, $stackPos) {
            $self->semValue = array();
        }, 535 => null, 536 => static function ($self, $stackPos) {
            $self->semValue = new Expr\ConstFetch($self->semStack[$stackPos - (1 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
        }, 537 => static function ($self, $stackPos) {
            $self->semValue = new Scalar\MagicConst\Line($self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
        }, 538 => static function ($self, $stackPos) {
            $self->semValue = new Scalar\MagicConst\File($self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
        }, 539 => static function ($self, $stackPos) {
            $self->semValue = new Scalar\MagicConst\Dir($self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
        }, 540 => static function ($self, $stackPos) {
            $self->semValue = new Scalar\MagicConst\Class_($self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
        }, 541 => static function ($self, $stackPos) {
            $self->semValue = new Scalar\MagicConst\Trait_($self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
        }, 542 => static function ($self, $stackPos) {
            $self->semValue = new Scalar\MagicConst\Method($self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
        }, 543 => static function ($self, $stackPos) {
            $self->semValue = new Scalar\MagicConst\Function_($self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
        }, 544 => static function ($self, $stackPos) {
            $self->semValue = new Scalar\MagicConst\Namespace_($self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
        }, 545 => static function ($self, $stackPos) {
            $self->semValue = new Scalar\MagicConst\Property($self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
        }, 546 => static function ($self, $stackPos) {
            $self->semValue = new Expr\ClassConstFetch($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
        }, 547 => static function ($self, $stackPos) {
            $self->semValue = new Expr\ClassConstFetch($self->semStack[$stackPos - (5 - 1)], $self->semStack[$stackPos - (5 - 4)], $self->getAttributes($self->tokenStartStack[$stackPos - (5 - 1)], $self->tokenEndStack[$stackPos]));
        }, 548 => static function ($self, $stackPos) {
            $self->semValue = new Expr\ClassConstFetch($self->semStack[$stackPos - (3 - 1)], new Expr\Error($self->getAttributes($self->tokenStartStack[$stackPos - (3 - 3)], $self->tokenEndStack[$stackPos - (3 - 3)])), $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
            $self->errorState = 2;
        }, 549 => static function ($self, $stackPos) {
            $attrs = $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]);
            $attrs['kind'] = Expr\Array_::KIND_SHORT;
            $self->semValue = new Expr\Array_($self->semStack[$stackPos - (3 - 2)], $attrs);
        }, 550 => static function ($self, $stackPos) {
            $attrs = $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]);
            $attrs['kind'] = Expr\Array_::KIND_LONG;
            $self->semValue = new Expr\Array_($self->semStack[$stackPos - (4 - 3)], $attrs);
            $self->createdArrays->attach($self->semValue);
        }, 551 => static function ($self, $stackPos) {
            $self->semValue = $self->semStack[$stackPos - (1 - 1)];
            $self->createdArrays->attach($self->semValue);
        }, 552 => static function ($self, $stackPos) {
            $self->semValue = Scalar\String_::fromString($self->semStack[$stackPos - (1 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]), $self->phpVersion->supportsUnicodeEscapes());
        }, 553 => static function ($self, $stackPos) {
            $attrs = $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]);
            $attrs['kind'] = Scalar\String_::KIND_DOUBLE_QUOTED;
            foreach ($self->semStack[$stackPos - (3 - 2)] as $s) {
                if ($s instanceof Node\InterpolatedStringPart) {
                    $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '"', $self->phpVersion->supportsUnicodeEscapes());
                }
            }
            $self->semValue = new Scalar\InterpolatedString($self->semStack[$stackPos - (3 - 2)], $attrs);
        }, 554 => static function ($self, $stackPos) {
            $self->semValue = $self->parseLNumber($self->semStack[$stackPos - (1 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]), $self->phpVersion->allowsInvalidOctals());
        }, 555 => static function ($self, $stackPos) {
            $self->semValue = Scalar\Float_::fromString($self->semStack[$stackPos - (1 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
        }, 556 => null, 557 => null, 558 => null, 559 => static function ($self, $stackPos) {
            $self->semValue = $self->parseDocString($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 2)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]), $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 3)], $self->tokenEndStack[$stackPos - (3 - 3)]), \true);
        }, 560 => static function ($self, $stackPos) {
            $self->semValue = $self->parseDocString($self->semStack[$stackPos - (2 - 1)], '', $self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]), $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 2)], $self->tokenEndStack[$stackPos - (2 - 2)]), \true);
        }, 561 => static function ($self, $stackPos) {
            $self->semValue = $self->parseDocString($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 2)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]), $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 3)], $self->tokenEndStack[$stackPos - (3 - 3)]), \true);
        }, 562 => static function ($self, $stackPos) {
            $self->semValue = null;
        }, 563 => null, 564 => null, 565 => static function ($self, $stackPos) {
            $self->semValue = $self->semStack[$stackPos - (3 - 2)];
        }, 566 => null, 567 => null, 568 => null, 569 => null, 570 => null, 571 => null, 572 => static function ($self, $stackPos) {
            $self->semValue = $self->semStack[$stackPos - (3 - 2)];
        }, 573 => null, 574 => null, 575 => null, 576 => static function ($self, $stackPos) {
            $self->semValue = new Expr\ArrayDimFetch($self->semStack[$stackPos - (4 - 1)], $self->semStack[$stackPos - (4 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
        }, 577 => null, 578 => static function ($self, $stackPos) {
            $self->semValue = new Expr\MethodCall($self->semStack[$stackPos - (4 - 1)], $self->semStack[$stackPos - (4 - 3)], $self->semStack[$stackPos - (4 - 4)], $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
        }, 579 => static function ($self, $stackPos) {
            $self->semValue = new Expr\NullsafeMethodCall($self->semStack[$stackPos - (4 - 1)], $self->semStack[$stackPos - (4 - 3)], $self->semStack[$stackPos - (4 - 4)], $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
        }, 580 => static function ($self, $stackPos) {
            $self->semValue = null;
        }, 581 => null, 582 => null, 583 => null, 584 => static function ($self, $stackPos) {
            $self->semValue = new Expr\PropertyFetch($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
        }, 585 => static function ($self, $stackPos) {
            $self->semValue = new Expr\NullsafePropertyFetch($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
        }, 586 => null, 587 => static function ($self, $stackPos) {
            $self->semValue = new Expr\Variable($self->semStack[$stackPos - (4 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
        }, 588 => static function ($self, $stackPos) {
            $self->semValue = new Expr\Variable($self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
        }, 589 => static function ($self, $stackPos) {
            $self->semValue = new Expr\Variable(new Expr\Error($self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos])), $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
            $self->errorState = 2;
        }, 590 => static function ($self, $stackPos) {
            $var = $self->semStack[$stackPos - (1 - 1)]->name;
            $self->semValue = \is_string($var) ? new Node\VarLikeIdentifier($var, $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos])) : $var;
        }, 591 => static function ($self, $stackPos) {
            $self->semValue = new Expr\StaticPropertyFetch($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
        }, 592 => null, 593 => static function ($self, $stackPos) {
            $self->semValue = new Expr\ArrayDimFetch($self->semStack[$stackPos - (4 - 1)], $self->semStack[$stackPos - (4 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
        }, 594 => static function ($self, $stackPos) {
            $self->semValue = new Expr\PropertyFetch($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
        }, 595 => static function ($self, $stackPos) {
            $self->semValue = new Expr\NullsafePropertyFetch($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
        }, 596 => static function ($self, $stackPos) {
            $self->semValue = new Expr\StaticPropertyFetch($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
        }, 597 => static function ($self, $stackPos) {
            $self->semValue = new Expr\StaticPropertyFetch($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
        }, 598 => null, 599 => static function ($self, $stackPos) {
            $self->semValue = $self->semStack[$stackPos - (3 - 2)];
        }, 600 => null, 601 => null, 602 => static function ($self, $stackPos) {
            $self->semValue = $self->semStack[$stackPos - (3 - 2)];
        }, 603 => null, 604 => static function ($self, $stackPos) {
            $self->semValue = new Expr\Error($self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
            $self->errorState = 2;
        }, 605 => static function ($self, $stackPos) {
            $self->semValue = new Expr\List_($self->semStack[$stackPos - (4 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
            $self->semValue->setAttribute('kind', Expr\List_::KIND_LIST);
            $self->postprocessList($self->semValue);
        }, 606 => static function ($self, $stackPos) {
            $self->semValue = $self->semStack[$stackPos - (1 - 1)];
            $end = \count($self->semValue) - 1;
            if ($self->semValue[$end]->value instanceof Expr\Error) {
                \array_pop($self->semValue);
            }
        }, 607 => null, 608 => static function ($self, $stackPos) {
            /* do nothing -- prevent default action of $$=$self->semStack[$1]. See $551. */
        }, 609 => static function ($self, $stackPos) {
            $self->semStack[$stackPos - (3 - 1)][] = $self->semStack[$stackPos - (3 - 3)];
            $self->semValue = $self->semStack[$stackPos - (3 - 1)];
        }, 610 => static function ($self, $stackPos) {
            $self->semValue = array($self->semStack[$stackPos - (1 - 1)]);
        }, 611 => static function ($self, $stackPos) {
            $self->semValue = new Node\ArrayItem($self->semStack[$stackPos - (1 - 1)], null, \false, $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
        }, 612 => static function ($self, $stackPos) {
            $self->semValue = new Node\ArrayItem($self->semStack[$stackPos - (2 - 2)], null, \true, $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
        }, 613 => static function ($self, $stackPos) {
            $self->semValue = new Node\ArrayItem($self->semStack[$stackPos - (1 - 1)], null, \false, $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
        }, 614 => static function ($self, $stackPos) {
            $self->semValue = new Node\ArrayItem($self->semStack[$stackPos - (3 - 3)], $self->semStack[$stackPos - (3 - 1)], \false, $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
        }, 615 => static function ($self, $stackPos) {
            $self->semValue = new Node\ArrayItem($self->semStack[$stackPos - (4 - 4)], $self->semStack[$stackPos - (4 - 1)], \true, $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
        }, 616 => static function ($self, $stackPos) {
            $self->semValue = new Node\ArrayItem($self->semStack[$stackPos - (3 - 3)], $self->semStack[$stackPos - (3 - 1)], \false, $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
        }, 617 => static function ($self, $stackPos) {
            $self->semValue = new Node\ArrayItem($self->semStack[$stackPos - (2 - 2)], null, \false, $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]), \true);
        }, 618 => static function ($self, $stackPos) {
            /* Create an Error node now to remember the position. We'll later either report an error,
               or convert this into a null element, depending on whether this is a creation or destructuring context. */
            $attrs = $self->createEmptyElemAttributes($self->tokenPos);
            $self->semValue = new Node\ArrayItem(new Expr\Error($attrs), null, \false, $attrs);
        }, 619 => static function ($self, $stackPos) {
            $self->semStack[$stackPos - (2 - 1)][] = $self->semStack[$stackPos - (2 - 2)];
            $self->semValue = $self->semStack[$stackPos - (2 - 1)];
        }, 620 => static function ($self, $stackPos) {
            $self->semStack[$stackPos - (2 - 1)][] = $self->semStack[$stackPos - (2 - 2)];
            $self->semValue = $self->semStack[$stackPos - (2 - 1)];
        }, 621 => static function ($self, $stackPos) {
            $self->semValue = array($self->semStack[$stackPos - (1 - 1)]);
        }, 622 => static function ($self, $stackPos) {
            $self->semValue = array($self->semStack[$stackPos - (2 - 1)], $self->semStack[$stackPos - (2 - 2)]);
        }, 623 => static function ($self, $stackPos) {
            $attrs = $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]);
            $attrs['rawValue'] = $self->semStack[$stackPos - (1 - 1)];
            $self->semValue = new Node\InterpolatedStringPart($self->semStack[$stackPos - (1 - 1)], $attrs);
        }, 624 => static function ($self, $stackPos) {
            $self->semValue = new Expr\Variable($self->semStack[$stackPos - (1 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
        }, 625 => null, 626 => static function ($self, $stackPos) {
            $self->semValue = new Expr\ArrayDimFetch($self->semStack[$stackPos - (4 - 1)], $self->semStack[$stackPos - (4 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (4 - 1)], $self->tokenEndStack[$stackPos]));
        }, 627 => static function ($self, $stackPos) {
            $self->semValue = new Expr\PropertyFetch($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
        }, 628 => static function ($self, $stackPos) {
            $self->semValue = new Expr\NullsafePropertyFetch($self->semStack[$stackPos - (3 - 1)], $self->semStack[$stackPos - (3 - 3)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
        }, 629 => static function ($self, $stackPos) {
            $self->semValue = new Expr\Variable($self->semStack[$stackPos - (3 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
        }, 630 => static function ($self, $stackPos) {
            $self->semValue = new Expr\Variable($self->semStack[$stackPos - (3 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (3 - 1)], $self->tokenEndStack[$stackPos]));
        }, 631 => static function ($self, $stackPos) {
            $self->semValue = new Expr\ArrayDimFetch($self->semStack[$stackPos - (6 - 2)], $self->semStack[$stackPos - (6 - 4)], $self->getAttributes($self->tokenStartStack[$stackPos - (6 - 1)], $self->tokenEndStack[$stackPos]));
        }, 632 => static function ($self, $stackPos) {
            $self->semValue = $self->semStack[$stackPos - (3 - 2)];
        }, 633 => static function ($self, $stackPos) {
            $self->semValue = new Scalar\String_($self->semStack[$stackPos - (1 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
        }, 634 => static function ($self, $stackPos) {
            $self->semValue = $self->parseNumString($self->semStack[$stackPos - (1 - 1)], $self->getAttributes($self->tokenStartStack[$stackPos - (1 - 1)], $self->tokenEndStack[$stackPos]));
        }, 635 => static function ($self, $stackPos) {
            $self->semValue = $self->parseNumString('-' . $self->semStack[$stackPos - (2 - 2)], $self->getAttributes($self->tokenStartStack[$stackPos - (2 - 1)], $self->tokenEndStack[$stackPos]));
        }, 636 => null];
    }
}
