2025-06-12 10:25:56 +08:00

2792 lines
181 KiB
PHP

<?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 Php7 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 = 1291;
protected int $gotoTableSize = 609;
protected int $invalidSymbol = 172;
protected int $errorSymbol = 1;
protected int $defaultAction = -32766;
protected int $unexpectedTokenRule = 32767;
protected int $YY2TBLSTATE = 439;
protected int $numNonLeafStates = 745;
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, 50, 8, 51, 52, 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, 48, 49, 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(
128, 129, 130, 568, 131, 132, 948, 757, 758, 759,
133, 38, 841, -85, 0, 1369,-32766,-32766,-32766, 488,
832, 1126, 1127, 1128, 1122, 1121, 1120, 1129, 1123, 1124,
1125,-32766,-32766,-32766, -333, 751, 750,-32766, 843,-32766,
-32766,-32766,-32766,-32766,-32766,-32766,-32767,-32767,-32767,-32767,
-32767, -372,-32766, -372, 1038, 760, 1126, 1127, 1128, 1122,
1121, 1120, 1129, 1123, 1124, 1125, 382, 383, 442, 265,
134, 385, 764, 765, 766, 767, 427, 837, 428, -85,
330, 36, 248, 2, 292, 821, 768, 769, 770, 771,
772, 773, 774, 775, 776, 777, 797, 569, 798, 799,
800, 801, 789, 790, 347, 348, 792, 793, 778, 779,
780, 782, 783, 784, 358, 824, 825, 826, 827, 828,
570, 26, 300, -195, 785, 786, 571, 572, -194, 809,
807, 808, 820, 804, 805,-32766,-32766, 573, 574, 803,
575, 576, 577, 578,-32766, 579, 580, 474, 475, 869,
238, 870, 806, 581, 582, 489, 135, 838, 128, 129,
130, 568, 131, 132, 1071, 757, 758, 759, 133, 38,
-32766, 35, 731, 1031, 1030, 1029, 1035, 1032, 1033, 1034,
-32766,-32766,-32766,-32767,-32767,-32767,-32767, 101, 102, 103,
104, 105, -333, 751, 750, 1047, 927,-32766,-32766,-32766,
842,-32766, 840,-32766,-32766,-32766,-32766,-32766,-32766,-32766,
-32766,-32766,-32766, 760,-32766,-32766,-32766, 614,-32766, 291,
-32766,-32766,-32766,-32766,-32766, 136, 721, 265, 134, 385,
764, 765, 766, 767, -616,-32766, 428,-32766,-32766,-32766,
-32766, -616, 145, 821, 768, 769, 770, 771, 772, 773,
774, 775, 776, 777, 797, 569, 798, 799, 800, 801,
789, 790, 347, 348, 792, 793, 778, 779, 780, 782,
783, 784, 358, 824, 825, 826, 827, 828, 570, 917,
428, -195, 785, 786, 571, 572, -194, 809, 807, 808,
820, 804, 805, 1292, 251, 573, 574, 803, 575, 576,
577, 578, -274, 579, 580, 1100, 82, 83, 84, 743,
806, 581, 582, 237, 148, 781, 752, 753, 754, 755,
756, 150, 757, 758, 759, 794, 795, 37, 24, 85,
86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
106, 107, 108, 1115, 276,-32766,-32766,-32766, 929, 1267,
1266, 1268, 716, 834, 311, 394, 109, 7, 1101, -569,
760,-32766,-32766,-32766, 841, 1354,-32766, 1099,-32766,-32766,
-32766, 1272, 1353, 313, 761, 762, 763, 764, 765, 766,
767, 998,-32766, 830,-32766,-32766, 927, -616, 325, -616,
821, 768, 769, 770, 771, 772, 773, 774, 775, 776,
777, 797, 819, 798, 799, 800, 801, 789, 790, 791,
818, 792, 793, 778, 779, 780, 782, 783, 784, 823,
824, 825, 826, 827, 828, 829, -569, -569, 343, 785,
786, 787, 788, 836, 809, 807, 808, 820, 804, 805,
718, 564, 796, 802, 803, 810, 811, 813, 812, 140,
814, 815, 841, 328, 344,-32766, -569, 806, 817, 816,
49, 50, 51, 520, 52, 53, 869, -110, 870, 917,
54, 55, -110, 56, -110, -567,-32766,-32766,-32766, 307,
1047, 126, -110, -110, -110, -110, -110, -110, -110, -110,
-110, -110, -110, -613, 372, 106, 107, 108, 376, 276,
-613, 392, 1334,-32766, 291, 288, 1304, 446, 57, 58,
-32766, 109, 447, 999, 59, 47, 60, 245, 246, 61,
62, 63, 64, 65, 66, 67, 68,-32766, 28, 267,
69, 444, 521, 448, -347, 74, 1298, 1299, 522, 449,
841, 328, -567, -567, 1296, 42, 20, 523, 929, 524,
927, 525, 716, 526, -565, 696, 527, 528, -567, 927,
847, 44, 45, 450, 379, 378, -78, 46, 529, 927,
-573,-32766, -567, 370, 342, 1350, 103, 104, 105, -564,
1258, 927, 301, 302, 1044, 531, 532, 533, -607, 722,
-607, 697, 464, 465, 466, 151, 1047, 535, 536, 723,
1284, 1285, 1286, 1287, 1289, 1281, 1282, 299, -58, 1047,
153, 726, 125, 1288, 1283, 698, 699, 1267, 1266, 1268,
300, -565, -565, 70, -154, -154, -154, 323, 324, 328,
-57, -4, 927, 917, 1267, 1266, 1268, -565, -87, -154,
284, -154, 917, -154, 154, -154, -564, -564, 155, -572,
157, -565, 917, 33, 832, 377, -613, 123, -613, 751,
750, 124, -564, 137, 917, 289, 967, 968, 81, 751,
750, 530, 328, 138, -571, 620, -564, 663, 21, 903,
963, -110, -110, -110, 32, 110, 111, 112, 113, 114,
115, 116, 117, 118, 119, 120, 121, 122, 144, -566,
382, 383, 28, 268, 1379, 158, 927, 1380, 967, 968,
427, 159, 929, 969, 841, 917, 716, -154, 1296, 951,
160, 929, 963, 384, 383, 716, 832, 1174, 1176, 682,
683, 984, 1044, 427, 161, 716, 733, 377, -563, 440,
1070, 141, 162, 929, 298, 328, -84, 716, 967, 968,
149, 410, -307, 530, 1258, -78, 300, 1047, 751, 750,
-73, 534, 963, -110, -110, -110, -566, -566, 950, 288,
1272, 535, 536, -72, 1284, 1285, 1286, 1287, 1289, 1281,
1282, 284, -566, 380, 381, 11, 1265, 1288, 1283, 917,
-71, 751, 750, -70, 929,-32766, -566, 72, 716, -4,
-16, 1265, 324, 328, -69, -563, -563, 292,-32766,-32766,
-32766, -68,-32766, -67,-32766, -66,-32766, 386, 387,-32766,
-65, -563, 1263, -46,-32766,-32766,-32766, -18,-32766, 142,
-32766,-32766, 275, 285, 1265, -563,-32766, 424, 28, 267,
732,-32766,-32766,-32766, 735,-32766, 1046,-32766,-32766,-32766,
841, 841,-32766, 926, 1296, 1044, 147,-32766,-32766,-32766,
654, 655, -303,-32766,-32766, 1267, 1266, 1268, 929,-32766,
424, 280, 716, 28, 268, 281, 286, 287, 336, 73,
1047,-32766, 290, 293, 294, 841, -110, -110, -563, 1296,
1258, -110, 944,-32766, 276, 109, 692, 832, 146, 1381,
-110, 707, 841, 585, 284, 1133, 685, 709, 536,-32766,
1284, 1285, 1286, 1287, 1289, 1281, 1282,-32766, 1047, 664,
-50, 10, 308, 1288, 1283, 1258, 669, 306, 471, 305,
499, 300, 312, 72, 74, 670, 964, 1303, 324, 328,
328, -529, 291, 536, 686, 1284, 1285, 1286, 1287, 1289,
1281, 1282, 652, 139, 1305, -563, -563, 591, 1288, 1283,
-519, 300, 34,-32766, 8, 840, 0, 618, 72, 1265,
0, -563, 0, 324, 328, 0,-32766,-32766,-32766, 0,
-32766, 0,-32766, 0,-32766, -563, 0,-32766,-32766, 0,
0, 27,-32766,-32766,-32766, 927,-32766, 40,-32766,-32766,
0, 0, 1265, 374,-32766, 424, 0, 946, 0,-32766,
-32766,-32766, 0,-32766, 41,-32766,-32766,-32766, 927, 740,
-32766, 741, 860, 908, 1008,-32766,-32766,-32766, 985,-32766,
992,-32766,-32766, 982, 993, 1265, 906,-32766, 424, 48,
980, 1104,-32766,-32766,-32766, 1107,-32766, 1108,-32766,-32766,
-32766, 1105, -601,-32766, 1106, 1112, -277, 494,-32766,-32766,
-32766, 1293,-32766, 852,-32766,-32766, 1320, 1338, 1265, 598,
-32766, 424, 1372, 657, 1272,-32766,-32766,-32766, 917,-32766,
-600,-32766,-32766,-32766, -599, -573,-32766, -275, -572, -571,
-570,-32766,-32766,-32766, -252, -252, -252,-32766,-32766, -513,
377, 917, 1,-32766, 424, 29, 303, 304, 30, 39,
43, 967, 968, 71, 75,-32766, 530, -251, -251, -251,
-274, 76, 375, 377, 903, 963, -110, -110, -110, 77,
78, 79, 80, 143, 967, 968, 127, 152, 156, 530,
243, 332, 359, 360, 361, 362, 363, 903, 963, -110,
-110, -110,-32766, 13, 364, 841, 365, 929, 1265, 14,
366, 716, -252, 367, 368,-32766,-32766,-32766, 369,-32766,
371,-32766, 441,-32766, 563, 322,-32766, 15, 16, 18,
929,-32766,-32766,-32766, 716, -251, 408,-32766,-32766, 490,
-110, -110, 491,-32766, 424, -110, 498, 501, 502, 503,
504, 508, 509, 510, -110,-32766, 518, 596, 702, 1073,
1214, 1294, 1072,-32766, 1053, 1253, 1049, -279, -102, 12,
17, 22, 297, 407, 610, 615, 643, 708, 1218, 1271,
1215, 1351, 0, 373, 717, 300, 720, 724, 74, 725,
1231, 727, 728, 729, 328, 409, 730, 734, 719, 0,
413, 737, 904, 1376, 1378, 863, 862, 957, 1000, 1377,
956, 954, 955, 958, 1246, 937, 947, 935, 990, 991,
641, 1375, 1332, 1321, 1339, 1348, 0, 0, 1297, 0,
328
);
protected array $actionCheck = array(
2, 3, 4, 5, 6, 7, 1, 9, 10, 11,
12, 13, 82, 31, 0, 85, 9, 10, 11, 31,
80, 116, 117, 118, 119, 120, 121, 122, 123, 124,
125, 9, 10, 11, 8, 37, 38, 30, 1, 32,
33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
43, 106, 30, 108, 1, 57, 116, 117, 118, 119,
120, 121, 122, 123, 124, 125, 106, 107, 108, 71,
72, 73, 74, 75, 76, 77, 116, 80, 80, 97,
70, 151, 152, 8, 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, 8, 162, 8, 126, 127, 128, 129, 8, 131,
132, 133, 134, 135, 136, 9, 10, 139, 140, 141,
142, 143, 144, 145, 9, 147, 148, 137, 138, 106,
14, 108, 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, 44, 45, 46, 47, 48, 49, 50,
51, 52, 166, 37, 38, 141, 1, 9, 10, 11,
163, 30, 159, 32, 33, 34, 35, 36, 37, 38,
9, 10, 11, 57, 9, 10, 11, 1, 30, 165,
32, 33, 34, 35, 36, 8, 31, 71, 72, 73,
74, 75, 76, 77, 1, 30, 80, 32, 33, 34,
35, 8, 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, 84,
80, 166, 126, 127, 128, 129, 166, 131, 132, 133,
134, 135, 136, 1, 8, 139, 140, 141, 142, 143,
144, 145, 166, 147, 148, 163, 9, 10, 11, 167,
154, 155, 156, 97, 158, 2, 3, 4, 5, 6,
7, 14, 9, 10, 11, 12, 13, 30, 101, 32,
33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
53, 54, 55, 126, 57, 9, 10, 11, 163, 159,
160, 161, 167, 80, 8, 106, 69, 108, 168, 70,
57, 9, 10, 11, 82, 1, 30, 1, 32, 33,
34, 1, 8, 8, 71, 72, 73, 74, 75, 76,
77, 31, 30, 80, 32, 33, 1, 164, 8, 166,
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, 160, 131, 132, 133, 134, 135, 136,
167, 85, 139, 140, 141, 142, 143, 144, 145, 167,
147, 148, 82, 171, 8, 116, 167, 154, 155, 156,
2, 3, 4, 5, 6, 7, 106, 101, 108, 84,
12, 13, 106, 15, 108, 70, 9, 10, 11, 113,
141, 14, 116, 117, 118, 119, 120, 121, 122, 123,
124, 125, 126, 1, 8, 53, 54, 55, 8, 57,
8, 8, 1, 116, 165, 30, 150, 8, 50, 51,
140, 69, 8, 163, 56, 70, 58, 59, 60, 61,
62, 63, 64, 65, 66, 67, 68, 140, 70, 71,
72, 73, 74, 8, 168, 165, 78, 79, 80, 8,
82, 171, 137, 138, 86, 87, 88, 89, 163, 91,
1, 93, 167, 95, 70, 80, 98, 99, 153, 1,
8, 103, 104, 105, 106, 107, 16, 109, 110, 1,
165, 116, 167, 115, 116, 1, 50, 51, 52, 70,
122, 1, 137, 138, 116, 127, 128, 129, 164, 31,
166, 116, 132, 133, 134, 14, 141, 139, 140, 31,
142, 143, 144, 145, 146, 147, 148, 149, 16, 141,
14, 31, 167, 155, 156, 140, 141, 159, 160, 161,
162, 137, 138, 165, 75, 76, 77, 169, 170, 171,
16, 0, 1, 84, 159, 160, 161, 153, 31, 90,
165, 92, 84, 94, 14, 96, 137, 138, 14, 165,
14, 167, 84, 14, 80, 106, 164, 16, 166, 37,
38, 16, 153, 16, 84, 37, 117, 118, 167, 37,
38, 122, 171, 16, 165, 51, 167, 75, 76, 130,
131, 132, 133, 134, 16, 17, 18, 19, 20, 21,
22, 23, 24, 25, 26, 27, 28, 29, 16, 70,
106, 107, 70, 71, 80, 16, 1, 83, 117, 118,
116, 16, 163, 122, 82, 84, 167, 168, 86, 73,
16, 163, 131, 106, 107, 167, 80, 59, 60, 75,
76, 163, 116, 116, 16, 167, 31, 106, 70, 108,
1, 167, 16, 163, 113, 171, 31, 167, 117, 118,
101, 102, 35, 122, 122, 31, 162, 141, 37, 38,
31, 130, 131, 132, 133, 134, 137, 138, 122, 30,
1, 139, 140, 31, 142, 143, 144, 145, 146, 147,
148, 165, 153, 106, 107, 154, 80, 155, 156, 84,
31, 37, 38, 31, 163, 74, 167, 165, 167, 168,
31, 80, 170, 171, 31, 137, 138, 30, 87, 88,
89, 31, 91, 31, 93, 31, 95, 106, 107, 98,
31, 153, 116, 31, 103, 104, 105, 31, 74, 31,
109, 110, 31, 31, 80, 167, 115, 116, 70, 71,
31, 87, 88, 89, 31, 91, 140, 93, 127, 95,
82, 82, 98, 31, 86, 116, 31, 103, 104, 105,
111, 112, 35, 109, 110, 159, 160, 161, 163, 115,
116, 35, 167, 70, 71, 35, 35, 35, 35, 158,
141, 127, 37, 37, 37, 82, 117, 118, 70, 86,
122, 122, 38, 116, 57, 69, 77, 80, 70, 83,
131, 80, 82, 89, 165, 82, 94, 92, 140, 140,
142, 143, 144, 145, 146, 147, 148, 85, 141, 90,
31, 97, 114, 155, 156, 122, 96, 136, 97, 135,
97, 162, 135, 165, 165, 100, 131, 150, 170, 171,
171, 153, 165, 140, 100, 142, 143, 144, 145, 146,
147, 148, 113, 31, 150, 137, 138, 157, 155, 156,
153, 162, 167, 74, 153, 159, -1, 157, 165, 80,
-1, 153, -1, 170, 171, -1, 87, 88, 89, -1,
91, -1, 93, -1, 95, 167, -1, 98, 140, -1,
-1, 153, 103, 104, 105, 1, 74, 163, 109, 110,
-1, -1, 80, 153, 115, 116, -1, 158, -1, 87,
88, 89, -1, 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, 70,
163, 163, 87, 88, 89, 163, 91, 163, 93, 127,
95, 163, 165, 98, 163, 163, 166, 102, 103, 104,
105, 164, 74, 164, 109, 110, 164, 164, 80, 81,
115, 116, 164, 164, 1, 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, 137, 138, 165, 165,
165, 117, 118, 165, 165, 127, 122, 100, 101, 102,
166, 165, 153, 106, 130, 131, 132, 133, 134, 165,
165, 165, 165, 165, 117, 118, 167, 165, 165, 122,
165, 165, 165, 165, 165, 165, 165, 130, 131, 132,
133, 134, 74, 166, 165, 82, 165, 163, 80, 166,
165, 167, 168, 165, 165, 87, 88, 89, 165, 91,
165, 93, 165, 95, 165, 167, 98, 166, 166, 166,
163, 103, 104, 105, 167, 168, 166, 109, 110, 166,
117, 118, 166, 115, 116, 122, 166, 166, 166, 166,
166, 166, 166, 166, 131, 127, 166, 166, 166, 166,
166, 166, 166, 140, 166, 166, 166, 166, 166, 166,
166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
166, 166, -1, 167, 167, 162, 167, 167, 165, 167,
169, 167, 167, 167, 171, 168, 167, 167, 167, -1,
168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
168, 168, 168, 168, 168, 168, -1, -1, 170, -1,
171
);
protected array $actionBase = array(
0, -2, 156, 559, 641, 1004, 1027, 485, 292, 200,
-60, 283, 568, 590, 590, 715, 590, 195, 578, 901,
395, 395, 395, 831, 313, 313, 831, 313, 731, 731,
731, 731, 764, 764, 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, 1088, 37, 360, 216, 649, 1066, 1072, 1068,
1073, 1064, 1063, 1067, 1069, 1074, 1113, 1114, 835, 1115,
1116, 1112, 1117, 1070, 919, 1065, 1071, 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, 297, 135, 477, 126, 201, 201, 201,
201, 201, 201, 201, 201, 201, 201, 201, 201, 201,
201, 201, 201, 201, 201, 201, 201, 642, 642, 22,
22, 22, 362, 813, 778, 813, 813, 813, 813, 813,
813, 813, 813, 346, 205, 678, 188, 171, 171, 7,
7, 7, 7, 7, 376, 779, 54, 1083, 1083, 139,
139, 139, 139, 227, -55, 749, 380, -40, 787, 604,
626, 626, 536, 536, 478, 478, 349, 349, 478, 478,
478, 465, 465, 465, 465, 415, 494, 519, 43, 366,
858, 584, 584, 584, 584, 858, 858, 858, 858, 814,
1118, 858, 858, 858, 639, 828, 828, 979, 452, 452,
452, 828, 370, -70, -70, 370, 601, -70, 511, 987,
634, 999, 397, 815, 627, 434, 397, 299, 455, 502,
233, 816, 687, 816, 1062, 842, 842, 802, 739, 902,
1091, 1075, 845, 1110, 854, 1111, 470, 10, 734, 1061,
1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061,
1119, 632, 1062, -3, 1119, 1119, 1119, 632, 632, 632,
632, 632, 632, 632, 632, 806, 632, 632, 759, -3,
612, 664, -3, 853, 632, 817, 37, 37, 37, 37,
37, 37, 37, 37, 37, 37, 37, -12, 37, 37,
360, 5, 5, 37, 142, 53, 5, 5, 5, 5,
37, 37, 37, 37, 687, 847, 810, 721, -18, 820,
120, 847, 847, 847, 26, 136, 115, 727, 837, 259,
827, 827, 827, 833, 947, 947, 827, 830, 827, 833,
827, 827, 947, 947, 809, 947, 217, 509, 430, 500,
514, 947, 356, 827, 827, 827, 827, 807, 947, 75,
535, 827, 286, 234, 827, 827, 807, 804, 812, 801,
947, 947, 947, 807, 496, 801, 801, 801, 866, 868,
849, 811, 390, 375, 562, 163, 864, 811, 811, 827,
503, 849, 811, 849, 811, 859, 811, 811, 811, 849,
811, 830, 456, 811, 699, 705, 541, 113, 811, 14,
958, 959, 617, 966, 954, 974, 1017, 975, 976, 1077,
944, 985, 955, 977, 1019, 953, 950, 832, 651, 655,
821, 798, 935, 836, 836, 836, 930, 933, 836, 836,
836, 836, 836, 836, 836, 836, 651, 907, 860, 824,
988, 657, 667, 1051, 797, 1094, 1081, 987, 958, 976,
725, 955, 977, 953, 950, 799, 794, 790, 792, 783,
772, 752, 769, 808, 1053, 978, 844, 692, 1023, 989,
1093, 1018, 990, 991, 1030, 1054, 869, 1055, 1095, 838,
1096, 1097, 909, 1001, 1079, 836, 929, 897, 912, 999,
934, 651, 913, 1056, 997, 805, 1033, 1036, 1076, 841,
826, 918, 1098, 1005, 1008, 1009, 1080, 1082, 861, 1003,
900, 1040, 843, 1087, 1041, 1042, 1043, 1044, 1084, 1099,
1085, 925, 1086, 870, 839, 931, 840, 1100, 307, 851,
852, 857, 1015, 591, 986, 1089, 1092, 1101, 1045, 1046,
1047, 1102, 1103, 982, 871, 1021, 822, 1022, 964, 875,
877, 606, 856, 1058, 846, 850, 855, 640, 644, 1104,
1105, 1106, 983, 819, 829, 880, 881, 1059, 638, 1060,
1107, 646, 883, 1108, 1052, 714, 728, 560, 624, 602,
736, 825, 1090, 848, 818, 834, 1013, 728, 823, 887,
1109, 888, 892, 894, 1050, 898, 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, 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, 0, 297,
297, 297, 297, 297, 297, 297, 297, 297, 297, 297,
297, 297, 297, 297, 297, 297, 297, 297, 297, 297,
297, 297, 716, 716, 297, 297, 297, 297, 716, 716,
716, 716, 716, 716, 716, 716, 716, 716, 297, 297,
0, 297, 297, 297, 297, 297, 297, 297, 297, 809,
716, 716, 716, 716, 452, 452, 452, 452, -95, -95,
716, 716, 601, 716, 601, 716, 716, 452, 452, 716,
716, 716, 716, 716, 716, 716, 716, 716, 716, 716,
0, 0, 0, -3, -70, 716, 830, 830, 830, 830,
716, 716, 716, 716, -70, -70, 716, 716, 716, 0,
0, 0, 0, 0, 0, 0, 0, -3, 0, 0,
-3, 0, 0, 830, 656, 830, 656, 716, 601, 809,
374, 716, 0, 0, 0, 0, -3, 830, -3, 632,
-70, -70, 632, 632, 5, 37, 374, 659, 659, 659,
659, 0, 0, 687, 809, 809, 809, 809, 809, 809,
809, 809, 809, 809, 809, 830, 0, 809, 0, 830,
830, 830, 0, 0, 0, 0, 0, 0, 0, 0,
947, 0, 0, 0, 0, 0, 0, 0, 830, 0,
947, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
830, 0, 0, 0, 0, 0, 0, 0, 0, 0,
836, 841, 0, 0, 841, 0, 836, 836, 836, 0,
0, 0, 856, 638
);
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, 619, 619,
619, 619,32767,32767, 256, 102,32767,32767, 488, 405,
405, 405,32767,32767, 561, 561, 561, 561, 561,32767,
32767,32767,32767,32767,32767, 488,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,32767,32767, 36, 7,
8, 10, 11, 49, 17, 329, 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, 612,32767,32767,32767,
32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
32767,32767,32767,32767,32767,32767,32767, 393, 492, 471,
472, 474, 475, 404, 562, 618, 332, 615, 334, 403,
146, 344, 335, 244, 260, 493, 261, 494, 497, 498,
217, 390, 150, 151, 435, 489, 437, 487, 491, 436,
410, 416, 417, 418, 419, 420, 421, 422, 423, 424,
425, 426, 427, 428, 408, 409, 490,32767,32767, 468,
467, 466, 433,32767,32767,32767,32767,32767,32767,32767,
32767, 102,32767, 434, 438, 407, 441, 439, 440, 457,
458, 455, 456, 459,32767,32767, 321,32767,32767, 460,
461, 462, 463, 371, 369,32767,32767, 111, 321, 111,
32767,32767, 448, 449,32767,32767,32767,32767,32767,32767,
32767,32767,32767,32767,32767, 505, 555, 465,32767,32767,
32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
32767, 102,32767, 100, 557, 430, 432, 525, 443, 444,
442, 411,32767, 530,32767, 102,32767, 532,32767,32767,
32767,32767,32767,32767,32767,32767,32767, 556,32767, 563,
563,32767, 518, 100, 196,32767, 531, 196, 196,32767,
32767,32767,32767,32767,32767,32767,32767, 626, 518, 110,
110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
32767, 196, 110,32767,32767,32767, 100, 196, 196, 196,
196, 196, 196, 196, 196, 533, 196, 196, 191,32767,
270, 272, 102, 580, 196, 535,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, 518, 453, 139,32767, 520, 139,
563, 445, 446, 447, 563, 563, 563, 317, 294,32767,
32767,32767,32767,32767, 533, 533, 100, 100, 100, 100,
32767,32767,32767,32767, 111, 504, 99, 99, 99, 99,
99, 103, 101,32767,32767,32767,32767, 225,32767, 101,
99,32767, 101, 101,32767,32767, 225, 227, 214, 229,
32767, 584, 585, 225, 101, 229, 229, 229, 249, 249,
507, 323, 101, 99, 101, 101, 198, 323, 323,32767,
101, 507, 323, 507, 323, 200, 323, 323, 323, 507,
323,32767, 101, 323, 216, 393, 99, 99, 323,32767,
32767,32767, 520,32767,32767,32767,32767,32767,32767,32767,
224,32767,32767,32767,32767,32767,32767,32767,32767, 550,
32767, 568, 582, 451, 452, 454, 567, 565, 476, 477,
478, 479, 480, 481, 482, 484, 614,32767, 524,32767,
32767,32767, 343,32767, 624,32767,32767,32767, 9, 74,
513, 42, 43, 51, 57, 539, 540, 541, 542, 536,
537, 543, 538,32767,32767,32767,32767,32767,32767,32767,
32767,32767,32767,32767,32767,32767,32767,32767, 625,32767,
563,32767,32767,32767,32767, 450, 545, 590,32767,32767,
564, 617,32767,32767,32767,32767,32767,32767,32767, 139,
32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
550,32767, 137,32767,32767,32767,32767,32767,32767,32767,
32767, 546,32767,32767,32767, 563,32767,32767,32767,32767,
319, 316,32767,32767,32767,32767,32767,32767,32767,32767,
32767,32767,32767,32767,32767,32767,32767,32767, 563,32767,
32767,32767,32767,32767, 296,32767, 313,32767,32767,32767,
32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
32767,32767,32767,32767,32767, 389, 520, 299, 301, 302,
32767,32767,32767,32767, 365,32767,32767,32767,32767,32767,
32767,32767,32767,32767,32767,32767, 153, 153, 3, 3,
346, 153, 153, 153, 346, 346, 153, 346, 346, 346,
153, 153, 153, 153, 153, 153, 282, 186, 264, 267,
249, 249, 153, 357, 153
);
protected array $goto = array(
196, 196, 1045, 1076, 703, 468, 590, 473, 473, 858,
739, 644, 646, 1209, 859, 666, 473, 833, 712, 690,
693, 1018, 701, 710, 1014, 423, 353, 166, 166, 166,
166, 220, 197, 193, 193, 176, 178, 215, 193, 193,
193, 193, 193, 194, 194, 194, 194, 194, 188, 189,
190, 191, 192, 217, 215, 218, 543, 544, 425, 545,
548, 549, 550, 551, 552, 553, 554, 555, 1160, 167,
168, 169, 195, 170, 171, 172, 165, 173, 174, 175,
177, 214, 216, 219, 239, 242, 253, 254, 256, 257,
258, 259, 260, 261, 262, 263, 269, 270, 271, 272,
282, 283, 318, 319, 320, 431, 432, 433, 605, 221,
222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
232, 233, 234, 235, 179, 236, 180, 188, 189, 190,
191, 192, 217, 1160, 198, 199, 200, 201, 240, 181,
182, 202, 183, 203, 199, 184, 241, 198, 164, 204,
205, 185, 206, 207, 208, 186, 209, 210, 187, 211,
212, 213, 279, 277, 279, 279, 861, 983, 411, 412,
920, 607, 921, 677, 854, 678, 854, 416, 417, 418,
357, 691, 345, 463, 419, 463, 435, 668, 893, 349,
357, 357, 430, 321, 315, 316, 339, 600, 434, 340,
436, 645, 485, 597, 357, 357, 346, 345, 357, 487,
351, 1382, 916, 911, 912, 925, 867, 913, 864, 914,
915, 865, 868, 562, 919, 872, 357, 357, 429, 871,
619, 854, 445, 1355, 630, 630, 1098, 1093, 1094, 1095,
1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295,
617, 631, 634, 635, 636, 637, 658, 659, 660, 714,
1264, 1045, 1264, 1264, 661, 662, 1004, 679, 680, 681,
1045, 1264, 396, 1045, 1326, 1045, 1045, 354, 355, 1045,
1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045,
900, 857, 900, 900, 595, 1264, 515, 506, 667, 507,
1264, 1264, 1264, 1264, 1069, 513, 1264, 1264, 1264, 1347,
1347, 1347, 1347, 567, 560, 356, 356, 356, 356, 1157,
5, 558, 6, 558, 558, 628, 665, 933, 562, 1051,
1050, 934, 558, 556, 556, 556, 556, 949, 611, 949,
482, 1340, 1341, 329, 560, 567, 592, 593, 331, 603,
609, 854, 624, 625, 249, 249, 461, 975, 414, 711,
25, 977, 977, 977, 977, 1314, 1314, 461, 971, 978,
443, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314,
1314, 247, 247, 247, 247, 244, 250, 1311, 1311, 1118,
1119, 839, 1257, 1311, 1311, 1311, 1311, 1311, 1311, 1311,
1311, 1311, 1311, 547, 547, 398, 401, 608, 612, 547,
547, 547, 547, 547, 547, 547, 547, 547, 547, 638,
640, 642, 689, 454, 454, 673, 454, 454, 1337, 1259,
1337, 1337, 546, 546, 839, 341, 839, 851, 546, 1337,
546, 546, 546, 546, 546, 546, 546, 546, 561, 587,
561, 623, 1007, 405, 561, 979, 587, 738, 399, 467,
559, 1016, 1011, 966, 1349, 1349, 1349, 1349, 1054, 1055,
880, 476, 604, 477, 478, 877, 1365, 1365, 437, 885,
1255, 700, 1373, 1374, 1082, 835, 1260, 1261, 742, 1247,
437, 1333, 875, 1026, 1365, 849, 406, 700, 1052, 1052,
700, 889, 1247, 672, 1063, 1059, 1060, 883, 887, 327,
310, 874, 1368, 1368, 1262, 1323, 1324, 483, 454, 454,
454, 454, 454, 454, 454, 454, 454, 454, 454, 1342,
1343, 454, 613, 1084, 1086, 938, 1147, 1335, 1335, 1084,
601, 622, 1021, 1021, 988, 1036, 1132, 1023, 888, 876,
1081, 1085, 0, 0, 0, 879, 0, 671, 1002, 0,
0, 986, 0, 873, 1048, 1048, 0, 0, 688, 960,
606, 1111, 1040, 1056, 1057, 1254, 273, 326, 0, 326,
326, 715, 0, 0, 976, 0, 514, 706, 0, 1109,
252, 252, 1240, 952, 0, 0, 0, 1241, 1244, 953,
1245, 0, 0, 0, 0, 0, 0, 1130, 892
);
protected array $gotoCheck = array(
42, 42, 73, 128, 73, 156, 48, 154, 154, 26,
48, 48, 48, 156, 27, 48, 154, 6, 9, 48,
48, 48, 48, 48, 48, 43, 97, 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, 42, 23, 23, 23, 23, 15, 49, 82, 82,
65, 131, 65, 82, 22, 82, 22, 82, 82, 82,
14, 82, 174, 83, 82, 83, 66, 66, 45, 82,
14, 14, 66, 66, 66, 66, 66, 66, 66, 66,
66, 66, 84, 178, 14, 14, 174, 174, 14, 84,
185, 14, 15, 15, 15, 15, 15, 15, 15, 15,
15, 15, 15, 14, 15, 15, 14, 14, 13, 15,
13, 22, 83, 187, 108, 108, 15, 15, 15, 15,
108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
81, 81, 81, 81, 81, 81, 81, 81, 81, 81,
73, 73, 73, 73, 86, 86, 103, 86, 86, 86,
73, 73, 62, 73, 14, 73, 73, 97, 97, 73,
73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
25, 25, 25, 25, 104, 73, 14, 160, 64, 160,
73, 73, 73, 73, 115, 160, 73, 73, 73, 9,
9, 9, 9, 76, 76, 24, 24, 24, 24, 155,
46, 19, 46, 19, 19, 56, 56, 73, 14, 119,
119, 73, 19, 107, 107, 107, 107, 9, 107, 9,
182, 182, 182, 76, 76, 76, 76, 76, 76, 76,
76, 22, 76, 76, 5, 5, 19, 93, 93, 93,
76, 19, 19, 19, 19, 176, 176, 19, 19, 19,
113, 176, 176, 176, 176, 176, 176, 176, 176, 176,
176, 5, 5, 5, 5, 5, 5, 177, 177, 145,
145, 12, 14, 177, 177, 177, 177, 177, 177, 177,
177, 177, 177, 179, 179, 59, 59, 59, 59, 179,
179, 179, 179, 179, 179, 179, 179, 179, 179, 85,
85, 85, 117, 23, 23, 121, 23, 23, 131, 20,
131, 131, 162, 162, 12, 29, 12, 18, 162, 131,
162, 162, 162, 162, 162, 162, 162, 162, 9, 9,
9, 80, 50, 28, 9, 50, 9, 50, 9, 9,
50, 50, 50, 92, 131, 131, 131, 131, 120, 120,
39, 9, 9, 9, 9, 37, 188, 188, 118, 9,
166, 7, 9, 9, 130, 7, 20, 20, 99, 20,
118, 131, 35, 110, 188, 20, 31, 7, 118, 118,
7, 41, 20, 118, 118, 118, 118, 9, 35, 175,
175, 35, 188, 188, 20, 20, 20, 157, 23, 23,
23, 23, 23, 23, 23, 23, 23, 23, 23, 184,
184, 23, 17, 131, 133, 17, 17, 131, 131, 131,
2, 2, 107, 107, 96, 114, 148, 17, 16, 16,
16, 16, -1, -1, -1, 17, -1, 17, 17, -1,
-1, 16, -1, 17, 89, 89, -1, -1, 89, 89,
8, 8, 89, 89, 89, 17, 24, 24, -1, 24,
24, 8, -1, -1, 16, -1, 8, 8, -1, 8,
5, 5, 79, 79, -1, -1, -1, 79, 79, 79,
79, -1, -1, -1, -1, -1, -1, 16, 16
);
protected array $gotoBase = array(
0, 0, -178, 0, 0, 353, 7, 474, 562, 8,
0, 0, 93, -113, -119, -184, 91, 63, 126, 56,
34, 0, -103, 159, 312, 287, 5, 10, 112, 137,
0, 54, 0, 0, 0, 119, 0, 132, 0, 145,
0, 55, -1, 2, 0, 162, -422, 0, -711, 149,
440, 0, 0, 0, 0, 0, 285, 0, 0, 360,
0, 0, 230, 0, 60, 156, -51, 0, 0, 0,
0, 0, 0, -5, 0, 0, -34, 0, 0, 181,
120, -110, -329, -94, -274, -66, -460, 0, 0, 284,
0, 0, 130, 51, 0, 0, 96, -463, 0, 78,
0, 0, 0, 231, 251, 0, 0, 305, -3, 0,
121, 0, 0, 92, 30, 29, 0, 138, 212, 49,
182, 134, 0, 0, 0, 0, 0, 0, 1, 0,
108, 163, 0, 87, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 116, 0, 0, 97, 0,
0, 0, 0, 0, -27, 75, -263, 72, 0, 0,
-204, 0, 195, 0, 0, 0, 109, 0, 0, 0,
0, 0, 0, 0, -117, 186, 128, 150, 174, 166,
0, 0, 38, 0, 155, 180, 0, 202, 167, 0,
0
);
protected array $gotoDefault = array(
-32768, 519, 746, 4, 747, 942, 822, 831, 583, 537,
713, 350, 632, 426, 1331, 918, 1146, 602, 850, 1273,
1279, 462, 853, 334, 736, 930, 901, 902, 402, 389,
866, 400, 656, 633, 500, 886, 458, 878, 492, 881,
457, 890, 163, 422, 517, 894, 3, 897, 565, 928,
981, 390, 905, 391, 684, 907, 586, 909, 910, 397,
403, 404, 1151, 594, 629, 922, 255, 588, 923, 388,
924, 932, 393, 395, 694, 472, 511, 505, 415, 1113,
589, 616, 653, 451, 479, 627, 639, 626, 486, 438,
420, 333, 965, 973, 493, 470, 987, 352, 995, 744,
1159, 647, 495, 1003, 648, 1010, 1013, 538, 539, 484,
1025, 266, 1028, 496, 1037, 23, 674, 1042, 1043, 675,
649, 1065, 650, 676, 651, 1067, 469, 584, 1075, 459,
1083, 1319, 460, 1087, 264, 1090, 278, 421, 439, 1096,
1097, 9, 1103, 704, 705, 19, 274, 516, 1131, 695,
-32768,-32768,-32768,-32768, 456, 1158, 455, 1228, 1230, 566,
497, 1248, 295, 1251, 687, 512, 1256, 452, 1322, 453,
540, 480, 317, 541, 1366, 309, 337, 314, 557, 296,
338, 542, 481, 1328, 1336, 335, 31, 1356, 1367, 599,
621
);
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, 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, 140, 140, 141, 141, 142,
142, 142, 142, 142, 143, 144, 144, 139, 139, 136,
136, 138, 138, 146, 146, 145, 145, 145, 145, 145,
145, 145, 145, 145, 145, 137, 147, 147, 149, 148,
148, 150, 150, 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, 181,
74, 74, 66, 66, 66, 66, 131, 131, 131, 131,
184, 183, 172, 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, 4, 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, 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, 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, 4, 1, 4, 4,
0, 1, 1, 1, 3, 3, 1, 4, 2, 2,
1, 3, 1, 4, 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 = new Stmt\Const_($self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos]), $self->semStack[$stackPos-(4-1)]);
$self->checkConstantAttributes($self->semValue);
},
124 => static function ($self, $stackPos) {
$self->semValue = Stmt\Use_::TYPE_FUNCTION;
},
125 => static function ($self, $stackPos) {
$self->semValue = Stmt\Use_::TYPE_CONSTANT;
},
126 => 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]));
},
127 => 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]));
},
128 => null,
129 => static function ($self, $stackPos) {
$self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)];
},
130 => static function ($self, $stackPos) {
$self->semValue = array($self->semStack[$stackPos-(1-1)]);
},
131 => null,
132 => static function ($self, $stackPos) {
$self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)];
},
133 => static function ($self, $stackPos) {
$self->semValue = array($self->semStack[$stackPos-(1-1)]);
},
134 => null,
135 => static function ($self, $stackPos) {
$self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)];
},
136 => static function ($self, $stackPos) {
$self->semValue = array($self->semStack[$stackPos-(1-1)]);
},
137 => 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));
},
138 => 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));
},
139 => 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));
},
140 => 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));
},
141 => static function ($self, $stackPos) {
$self->semValue = $self->semStack[$stackPos-(1-1)]; $self->semValue->type = Stmt\Use_::TYPE_NORMAL;
},
142 => static function ($self, $stackPos) {
$self->semValue = $self->semStack[$stackPos-(2-2)]; $self->semValue->type = $self->semStack[$stackPos-(2-1)];
},
143 => null,
144 => static function ($self, $stackPos) {
$self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)];
},
145 => static function ($self, $stackPos) {
$self->semValue = array($self->semStack[$stackPos-(1-1)]);
},
146 => 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]));
},
147 => null,
148 => static function ($self, $stackPos) {
$self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)];
},
149 => static function ($self, $stackPos) {
$self->semValue = array($self->semStack[$stackPos-(1-1)]);
},
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) {
$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]));
},
152 => 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)];;
},
153 => static function ($self, $stackPos) {
$self->semValue = array();
},
154 => 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)];
},
155 => null,
156 => null,
157 => null,
158 => 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]));
},
159 => static function ($self, $stackPos) {
$self->semValue = new Stmt\Block($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos]));
},
160 => 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]));
},
161 => 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]));
},
162 => 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]));
},
163 => 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]));
},
164 => 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]));
},
165 => 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]));
},
166 => static function ($self, $stackPos) {
$self->semValue = new Stmt\Break_($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos]));
},
167 => static function ($self, $stackPos) {
$self->semValue = new Stmt\Continue_($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos]));
},
168 => static function ($self, $stackPos) {
$self->semValue = new Stmt\Return_($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos]));
},
169 => static function ($self, $stackPos) {
$self->semValue = new Stmt\Global_($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos]));
},
170 => static function ($self, $stackPos) {
$self->semValue = new Stmt\Static_($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos]));
},
171 => static function ($self, $stackPos) {
$self->semValue = new Stmt\Echo_($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos]));
},
172 => 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)));
},
173 => static function ($self, $stackPos) {
$self->semValue = new Stmt\Expression($self->semStack[$stackPos-(2-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos]));
},
174 => static function ($self, $stackPos) {
$self->semValue = new Stmt\Unset_($self->semStack[$stackPos-(5-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(5-1)], $self->tokenEndStack[$stackPos]));
},
175 => 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]));
},
176 => 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]));
},
177 => 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]));
},
178 => 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]));
},
179 => 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);
},
180 => static function ($self, $stackPos) {
$self->semValue = new Stmt\Goto_($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos]));
},
181 => static function ($self, $stackPos) {
$self->semValue = new Stmt\Label($self->semStack[$stackPos-(2-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos]));
},
182 => static function ($self, $stackPos) {
$self->semValue = null; /* means: no statement */
},
183 => null,
184 => static function ($self, $stackPos) {
$self->semValue = $self->maybeCreateNop($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos]);
},
185 => 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)]]; };
},
186 => static function ($self, $stackPos) {
$self->semValue = array();
},
187 => static function ($self, $stackPos) {
$self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)];
},
188 => static function ($self, $stackPos) {
$self->semValue = array($self->semStack[$stackPos-(1-1)]);
},
189 => static function ($self, $stackPos) {
$self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)];
},
190 => 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]));
},
191 => static function ($self, $stackPos) {
$self->semValue = null;
},
192 => static function ($self, $stackPos) {
$self->semValue = new Stmt\Finally_($self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos]));
},
193 => null,
194 => static function ($self, $stackPos) {
$self->semValue = array($self->semStack[$stackPos-(1-1)]);
},
195 => static function ($self, $stackPos) {
$self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)];
},
196 => static function ($self, $stackPos) {
$self->semValue = false;
},
197 => static function ($self, $stackPos) {
$self->semValue = true;
},
198 => static function ($self, $stackPos) {
$self->semValue = false;
},
199 => static function ($self, $stackPos) {
$self->semValue = true;
},
200 => static function ($self, $stackPos) {
$self->semValue = false;
},
201 => static function ($self, $stackPos) {
$self->semValue = true;
},
202 => static function ($self, $stackPos) {
$self->semValue = $self->semStack[$stackPos-(3-2)];
},
203 => static function ($self, $stackPos) {
$self->semValue = [];
},
204 => null,
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 Node\Identifier($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos]));
},
207 => 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]));
},
208 => 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]));
},
209 => 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));
},
210 => 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));
},
211 => 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));
},
212 => 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]));
},
213 => 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));
},
214 => static function ($self, $stackPos) {
$self->semValue = null;
},
215 => static function ($self, $stackPos) {
$self->semValue = $self->semStack[$stackPos-(2-2)];
},
216 => static function ($self, $stackPos) {
$self->semValue = null;
},
217 => static function ($self, $stackPos) {
$self->semValue = $self->semStack[$stackPos-(2-2)];
},
218 => static function ($self, $stackPos) {
$self->semValue = 0;
},
219 => null,
220 => null,
221 => 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)];
},
222 => static function ($self, $stackPos) {
$self->semValue = Modifiers::ABSTRACT;
},
223 => static function ($self, $stackPos) {
$self->semValue = Modifiers::FINAL;
},
224 => static function ($self, $stackPos) {
$self->semValue = Modifiers::READONLY;
},
225 => static function ($self, $stackPos) {
$self->semValue = null;
},
226 => static function ($self, $stackPos) {
$self->semValue = $self->semStack[$stackPos-(2-2)];
},
227 => static function ($self, $stackPos) {
$self->semValue = array();
},
228 => static function ($self, $stackPos) {
$self->semValue = $self->semStack[$stackPos-(2-2)];
},
229 => static function ($self, $stackPos) {
$self->semValue = array();
},
230 => static function ($self, $stackPos) {
$self->semValue = $self->semStack[$stackPos-(2-2)];
},
231 => null,
232 => static function ($self, $stackPos) {
$self->semValue = array($self->semStack[$stackPos-(1-1)]);
},
233 => static function ($self, $stackPos) {
$self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)];
},
234 => null,
235 => static function ($self, $stackPos) {
$self->semValue = $self->semStack[$stackPos-(4-2)];
},
236 => null,
237 => static function ($self, $stackPos) {
$self->semValue = $self->semStack[$stackPos-(4-2)];
},
238 => 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)]]; };
},
239 => static function ($self, $stackPos) {
$self->semValue = null;
},
240 => static function ($self, $stackPos) {
$self->semValue = $self->semStack[$stackPos-(4-2)];
},
241 => null,
242 => static function ($self, $stackPos) {
$self->semValue = array($self->semStack[$stackPos-(1-1)]);
},
243 => static function ($self, $stackPos) {
$self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)];
},
244 => 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]));
},
245 => static function ($self, $stackPos) {
$self->semValue = $self->semStack[$stackPos-(3-2)];
},
246 => static function ($self, $stackPos) {
$self->semValue = $self->semStack[$stackPos-(4-3)];
},
247 => static function ($self, $stackPos) {
$self->semValue = $self->semStack[$stackPos-(4-2)];
},
248 => static function ($self, $stackPos) {
$self->semValue = $self->semStack[$stackPos-(5-3)];
},
249 => static function ($self, $stackPos) {
$self->semValue = array();
},
250 => static function ($self, $stackPos) {
$self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)];
},
251 => 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]));
},
252 => 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]));
},
253 => null,
254 => null,
255 => 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]));
},
256 => static function ($self, $stackPos) {
$self->semValue = [];
},
257 => null,
258 => static function ($self, $stackPos) {
$self->semValue = array($self->semStack[$stackPos-(1-1)]);
},
259 => static function ($self, $stackPos) {
$self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)];
},
260 => 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]));
},
261 => 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]));
},
262 => static function ($self, $stackPos) {
$self->semValue = $self->semStack[$stackPos-(1-1)];
},
263 => static function ($self, $stackPos) {
$self->semValue = $self->semStack[$stackPos-(4-2)];
},
264 => static function ($self, $stackPos) {
$self->semValue = array();
},
265 => static function ($self, $stackPos) {
$self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)];
},
266 => 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]));
},
267 => static function ($self, $stackPos) {
$self->semValue = array();
},
268 => static function ($self, $stackPos) {
$self->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)];
},
269 => 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);
},
270 => static function ($self, $stackPos) {
$self->semValue = null;
},
271 => static function ($self, $stackPos) {
$self->semValue = new Stmt\Else_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos]));
},
272 => static function ($self, $stackPos) {
$self->semValue = null;
},
273 => 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);
},
274 => static function ($self, $stackPos) {
$self->semValue = array($self->semStack[$stackPos-(1-1)], false);
},
275 => static function ($self, $stackPos) {
$self->semValue = array($self->semStack[$stackPos-(2-2)], true);
},
276 => static function ($self, $stackPos) {
$self->semValue = array($self->semStack[$stackPos-(1-1)], false);
},
277 => static function ($self, $stackPos) {
$self->semValue = array($self->fixupArrayDestructuring($self->semStack[$stackPos-(1-1)]), false);
},
278 => null,
279 => static function ($self, $stackPos) {
$self->semValue = array();
},
280 => static function ($self, $stackPos) {
$self->semValue = array($self->semStack[$stackPos-(1-1)]);
},
281 => static function ($self, $stackPos) {
$self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)];
},
282 => static function ($self, $stackPos) {
$self->semValue = 0;
},
283 => 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)];
},
284 => static function ($self, $stackPos) {
$self->semValue = Modifiers::PUBLIC;
},
285 => static function ($self, $stackPos) {
$self->semValue = Modifiers::PROTECTED;
},
286 => static function ($self, $stackPos) {
$self->semValue = Modifiers::PRIVATE;
},
287 => static function ($self, $stackPos) {
$self->semValue = Modifiers::PUBLIC_SET;
},
288 => static function ($self, $stackPos) {
$self->semValue = Modifiers::PROTECTED_SET;
},
289 => static function ($self, $stackPos) {
$self->semValue = Modifiers::PRIVATE_SET;
},
290 => static function ($self, $stackPos) {
$self->semValue = Modifiers::READONLY;
},
291 => 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);
},
292 => 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);
},
293 => 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)]);
},
294 => null,
295 => static function ($self, $stackPos) {
$self->semValue = new Node\NullableType($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos]));
},
296 => static function ($self, $stackPos) {
$self->semValue = new Node\UnionType($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos]));
},
297 => null,
298 => null,
299 => static function ($self, $stackPos) {
$self->semValue = new Node\Name('static', $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos]));
},
300 => static function ($self, $stackPos) {
$self->semValue = $self->handleBuiltinTypes($self->semStack[$stackPos-(1-1)]);
},
301 => static function ($self, $stackPos) {
$self->semValue = new Node\Identifier('array', $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos]));
},
302 => static function ($self, $stackPos) {
$self->semValue = new Node\Identifier('callable', $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos]));
},
303 => null,
304 => static function ($self, $stackPos) {
$self->semValue = $self->semStack[$stackPos-(3-2)];
},
305 => static function ($self, $stackPos) {
$self->semValue = array($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)]);
},
306 => static function ($self, $stackPos) {
$self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)];
},
307 => null,
308 => static function ($self, $stackPos) {
$self->semValue = $self->semStack[$stackPos-(3-2)];
},
309 => static function ($self, $stackPos) {
$self->semValue = array($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)]);
},
310 => static function ($self, $stackPos) {
$self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)];
},
311 => static function ($self, $stackPos) {
$self->semValue = array($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)]);
},
312 => static function ($self, $stackPos) {
$self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)];
},
313 => static function ($self, $stackPos) {
$self->semValue = new Node\IntersectionType($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos]));
},
314 => static function ($self, $stackPos) {
$self->semValue = array($self->semStack[$stackPos-(3-1)], $self->semStack[$stackPos-(3-3)]);
},
315 => static function ($self, $stackPos) {
$self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)];
},
316 => static function ($self, $stackPos) {
$self->semValue = new Node\IntersectionType($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos]));
},
317 => null,
318 => static function ($self, $stackPos) {
$self->semValue = new Node\NullableType($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos]));
},
319 => static function ($self, $stackPos) {
$self->semValue = new Node\UnionType($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos]));
},
320 => null,
321 => static function ($self, $stackPos) {
$self->semValue = null;
},
322 => null,
323 => static function ($self, $stackPos) {
$self->semValue = null;
},
324 => static function ($self, $stackPos) {
$self->semValue = $self->semStack[$stackPos-(2-2)];
},
325 => static function ($self, $stackPos) {
$self->semValue = null;
},
326 => static function ($self, $stackPos) {
$self->semValue = array();
},
327 => static function ($self, $stackPos) {
$self->semValue = $self->semStack[$stackPos-(4-2)];
},
328 => static function ($self, $stackPos) {
$self->semValue = array($self->semStack[$stackPos-(3-2)]);
},
329 => static function ($self, $stackPos) {
$self->semValue = new Node\VariadicPlaceholder($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos]));
},
330 => static function ($self, $stackPos) {
$self->semValue = array($self->semStack[$stackPos-(1-1)]);
},
331 => static function ($self, $stackPos) {
$self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)];
},
332 => 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]));
},
333 => 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]));
},
334 => 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]));
},
335 => 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)]);
},
336 => null,
337 => static function ($self, $stackPos) {
$self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)];
},
338 => static function ($self, $stackPos) {
$self->semValue = array($self->semStack[$stackPos-(1-1)]);
},
339 => null,
340 => null,
341 => static function ($self, $stackPos) {
$self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)];
},
342 => static function ($self, $stackPos) {
$self->semValue = array($self->semStack[$stackPos-(1-1)]);
},
343 => 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]));
},
344 => 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]));
},
345 => 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)]; }
},
346 => static function ($self, $stackPos) {
$self->semValue = array();
},
347 => 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)];
},
348 => 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)]);
},
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 = 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);
},
395 => 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));
},
396 => static function ($self, $stackPos) {
$self->semValue = null;
},
397 => static function ($self, $stackPos) {
$self->semValue = $self->semStack[$stackPos-(3-2)];
},
398 => static function ($self, $stackPos) {
$self->semValue = $self->semStack[$stackPos-(3-2)];
},
399 => static function ($self, $stackPos) {
$self->semValue = 0;
},
400 => 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)];
},
401 => null,
402 => null,
403 => static function ($self, $stackPos) {
$self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)];
},
404 => static function ($self, $stackPos) {
$self->semValue = array($self->semStack[$stackPos-(1-1)]);
},
405 => static function ($self, $stackPos) {
$self->semValue = array();
},
406 => null,
407 => null,
408 => 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]));
},
409 => 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]));
},
410 => 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]));
},
411 => 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]));
},
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]));
if (!$self->phpVersion->allowsAssignNewByReference()) {
$self->emitError(new Error('Cannot assign new by reference', $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos])));
}
},
413 => null,
414 => null,
415 => static function ($self, $stackPos) {
$self->semValue = new Expr\Clone_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos]));
},
416 => 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]));
},
417 => 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]));
},
418 => 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]));
},
419 => 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]));
},
420 => 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]));
},
421 => 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]));
},
422 => 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]));
},
423 => 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]));
},
424 => 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]));
},
425 => 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]));
},
426 => 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]));
},
427 => 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]));
},
428 => 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]));
},
429 => static function ($self, $stackPos) {
$self->semValue = new Expr\PostInc($self->semStack[$stackPos-(2-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos]));
},
430 => static function ($self, $stackPos) {
$self->semValue = new Expr\PreInc($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos]));
},
431 => static function ($self, $stackPos) {
$self->semValue = new Expr\PostDec($self->semStack[$stackPos-(2-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos]));
},
432 => static function ($self, $stackPos) {
$self->semValue = new Expr\PreDec($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos]));
},
433 => 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]));
},
434 => 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]));
},
435 => 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]));
},
436 => 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]));
},
437 => 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]));
},
438 => 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]));
},
439 => 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]));
},
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\BitwiseXor($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\Concat($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\Plus($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\Minus($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\Mul($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\Div($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\Mod($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\ShiftLeft($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\ShiftRight($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\Pow($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\UnaryPlus($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos]));
},
452 => static function ($self, $stackPos) {
$self->semValue = new Expr\UnaryMinus($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos]));
},
453 => static function ($self, $stackPos) {
$self->semValue = new Expr\BooleanNot($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos]));
},
454 => static function ($self, $stackPos) {
$self->semValue = new Expr\BitwiseNot($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos]));
},
455 => 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]));
},
456 => 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]));
},
457 => 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]));
},
458 => 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]));
},
459 => 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]));
},
460 => 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]));
},
461 => 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]));
},
462 => 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]));
},
463 => 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]));
},
464 => 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]));
},
465 => static function ($self, $stackPos) {
$self->semValue = $self->semStack[$stackPos-(3-2)];
},
466 => 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]));
},
467 => 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]));
},
468 => 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]));
},
469 => static function ($self, $stackPos) {
$self->semValue = new Expr\Isset_($self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos]));
},
470 => static function ($self, $stackPos) {
$self->semValue = new Expr\Empty_($self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos]));
},
471 => 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]));
},
472 => 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]));
},
473 => static function ($self, $stackPos) {
$self->semValue = new Expr\Eval_($self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos]));
},
474 => 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]));
},
475 => 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]));
},
476 => 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]));
},
477 => 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);
},
478 => 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]));
},
479 => 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]));
},
480 => 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]));
},
481 => 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]));
},
482 => 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]));
},
483 => 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]));
},
484 => static function ($self, $stackPos) {
$self->semValue = new Expr\ErrorSuppress($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos]));
},
485 => null,
486 => static function ($self, $stackPos) {
$self->semValue = new Expr\ShellExec($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos]));
},
487 => static function ($self, $stackPos) {
$self->semValue = new Expr\Print_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos]));
},
488 => static function ($self, $stackPos) {
$self->semValue = new Expr\Yield_(null, null, $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos]));
},
489 => 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]));
},
490 => 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]));
},
491 => static function ($self, $stackPos) {
$self->semValue = new Expr\YieldFrom($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos]));
},
492 => static function ($self, $stackPos) {
$self->semValue = new Expr\Throw_($self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos]));
},
493 => 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]));
},
494 => 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]));
},
495 => 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]));
},
496 => 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]));
},
497 => 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]));
},
498 => 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]));
},
499 => 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]));
},
500 => 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]));
},
501 => 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);
},
502 => 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]));
},
503 => 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]));
},
504 => static function ($self, $stackPos) {
$self->semValue = new Expr\New_($self->semStack[$stackPos-(2-2)], [], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos]));
},
505 => null,
506 => null,
507 => static function ($self, $stackPos) {
$self->semValue = array();
},
508 => static function ($self, $stackPos) {
$self->semValue = $self->semStack[$stackPos-(4-3)];
},
509 => null,
510 => static function ($self, $stackPos) {
$self->semValue = array($self->semStack[$stackPos-(1-1)]);
},
511 => static function ($self, $stackPos) {
$self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)];
},
512 => 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]));
},
513 => static function ($self, $stackPos) {
$self->semValue = new Name($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos]));
},
514 => 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]));
},
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\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]));
},
518 => static function ($self, $stackPos) {
$self->semValue = new Name($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos]));
},
519 => null,
520 => static function ($self, $stackPos) {
$self->semValue = new Name($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos]));
},
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\FullyQualified(substr($self->semStack[$stackPos-(1-1)], 1), $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos]));
},
523 => 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]));
},
524 => null,
525 => null,
526 => static function ($self, $stackPos) {
$self->semValue = $self->semStack[$stackPos-(3-2)];
},
527 => static function ($self, $stackPos) {
$self->semValue = new Expr\Error($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); $self->errorState = 2;
},
528 => null,
529 => null,
530 => static function ($self, $stackPos) {
$self->semValue = array();
},
531 => 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()); } };
},
532 => 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)];
},
533 => static function ($self, $stackPos) {
$self->semValue = array();
},
534 => null,
535 => static function ($self, $stackPos) {
$self->semValue = new Expr\ConstFetch($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos]));
},
536 => static function ($self, $stackPos) {
$self->semValue = new Scalar\MagicConst\Line($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos]));
},
537 => static function ($self, $stackPos) {
$self->semValue = new Scalar\MagicConst\File($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos]));
},
538 => static function ($self, $stackPos) {
$self->semValue = new Scalar\MagicConst\Dir($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos]));
},
539 => static function ($self, $stackPos) {
$self->semValue = new Scalar\MagicConst\Class_($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos]));
},
540 => static function ($self, $stackPos) {
$self->semValue = new Scalar\MagicConst\Trait_($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos]));
},
541 => static function ($self, $stackPos) {
$self->semValue = new Scalar\MagicConst\Method($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos]));
},
542 => static function ($self, $stackPos) {
$self->semValue = new Scalar\MagicConst\Function_($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos]));
},
543 => static function ($self, $stackPos) {
$self->semValue = new Scalar\MagicConst\Namespace_($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos]));
},
544 => static function ($self, $stackPos) {
$self->semValue = new Scalar\MagicConst\Property($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos]));
},
545 => 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]));
},
546 => 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]));
},
547 => 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;
},
548 => 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);
},
549 => 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);
},
550 => static function ($self, $stackPos) {
$self->semValue = $self->semStack[$stackPos-(1-1)]; $self->createdArrays->attach($self->semValue);
},
551 => 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());
},
552 => 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);
},
553 => 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());
},
554 => static function ($self, $stackPos) {
$self->semValue = Scalar\Float_::fromString($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos]));
},
555 => null,
556 => null,
557 => null,
558 => 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);
},
559 => 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);
},
560 => 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);
},
561 => static function ($self, $stackPos) {
$self->semValue = null;
},
562 => null,
563 => null,
564 => static function ($self, $stackPos) {
$self->semValue = $self->semStack[$stackPos-(3-2)];
},
565 => null,
566 => null,
567 => null,
568 => null,
569 => null,
570 => null,
571 => static function ($self, $stackPos) {
$self->semValue = $self->semStack[$stackPos-(3-2)];
},
572 => null,
573 => null,
574 => null,
575 => 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]));
},
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\ArrayDimFetch($self->semStack[$stackPos-(4-1)], $self->semStack[$stackPos-(4-3)], $self->getAttributes($self->tokenStartStack[$stackPos-(4-1)], $self->tokenEndStack[$stackPos]));
},
595 => 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]));
},
596 => 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]));
},
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 => 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]));
},
599 => null,
600 => static function ($self, $stackPos) {
$self->semValue = $self->semStack[$stackPos-(3-2)];
},
601 => null,
602 => null,
603 => static function ($self, $stackPos) {
$self->semValue = $self->semStack[$stackPos-(3-2)];
},
604 => null,
605 => static function ($self, $stackPos) {
$self->semValue = new Expr\Error($self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos])); $self->errorState = 2;
},
606 => 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);
},
607 => 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);
},
608 => null,
609 => static function ($self, $stackPos) {
/* do nothing -- prevent default action of $$=$self->semStack[$1]. See $551. */
},
610 => static function ($self, $stackPos) {
$self->semStack[$stackPos-(3-1)][] = $self->semStack[$stackPos-(3-3)]; $self->semValue = $self->semStack[$stackPos-(3-1)];
},
611 => static function ($self, $stackPos) {
$self->semValue = array($self->semStack[$stackPos-(1-1)]);
},
612 => 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]));
},
613 => 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]));
},
614 => 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]));
},
615 => 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]));
},
616 => 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]));
},
617 => 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]));
},
618 => 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);
},
619 => 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);
},
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->semStack[$stackPos-(2-1)][] = $self->semStack[$stackPos-(2-2)]; $self->semValue = $self->semStack[$stackPos-(2-1)];
},
622 => static function ($self, $stackPos) {
$self->semValue = array($self->semStack[$stackPos-(1-1)]);
},
623 => static function ($self, $stackPos) {
$self->semValue = array($self->semStack[$stackPos-(2-1)], $self->semStack[$stackPos-(2-2)]);
},
624 => 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);
},
625 => static function ($self, $stackPos) {
$self->semValue = new Expr\Variable($self->semStack[$stackPos-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos]));
},
626 => null,
627 => 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]));
},
628 => 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]));
},
629 => 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]));
},
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\Variable($self->semStack[$stackPos-(3-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(3-1)], $self->tokenEndStack[$stackPos]));
},
632 => 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]));
},
633 => static function ($self, $stackPos) {
$self->semValue = $self->semStack[$stackPos-(3-2)];
},
634 => static function ($self, $stackPos) {
$self->semValue = new Scalar\String_($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-(1-1)], $self->getAttributes($self->tokenStartStack[$stackPos-(1-1)], $self->tokenEndStack[$stackPos]));
},
636 => static function ($self, $stackPos) {
$self->semValue = $self->parseNumString('-' . $self->semStack[$stackPos-(2-2)], $self->getAttributes($self->tokenStartStack[$stackPos-(2-1)], $self->tokenEndStack[$stackPos]));
},
637 => null,
];
}
}