Nikita Popov 502b090900 Add property types
Types omitted in two places where we violate them currently:
Namespace_::$stmts can be null during parsing, and Enum_::$scalarType
can be a complex type for invalid programs.
2023-08-16 21:37:02 +02:00

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