php-parser/lib/PhpParser/Parser/Php7.php
2020-08-09 21:19:59 +02:00

2633 lines
156 KiB
PHP

<?php
namespace PhpParser\Parser;
use PhpParser\Error;
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 files grammar/php5.y or grammar/php7.y
* * the skeleton file grammar/parser.template
* * the preprocessing script grammar/rebuildParsers.php
*/
class Php7 extends \PhpParser\ParserAbstract
{
protected $tokenToSymbolMapSize = 391;
protected $actionTableSize = 1124;
protected $gotoTableSize = 498;
protected $invalidSymbol = 164;
protected $errorSymbol = 1;
protected $defaultAction = -32766;
protected $unexpectedTokenRule = 32767;
protected $YY2TBLSTATE = 374;
protected $numNonLeafStates = 638;
protected $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_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_VAR",
"T_UNSET",
"T_ISSET",
"T_EMPTY",
"T_HALT_COMPILER",
"T_CLASS",
"T_TRAIT",
"T_INTERFACE",
"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",
"';'",
"'{'",
"'}'",
"'('",
"')'",
"'`'",
"']'",
"'\"'",
"'$'"
);
protected $tokenToSymbol = array(
0, 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, 164, 164, 164,
164, 164, 164, 55, 162, 164, 163, 54, 37, 164,
158, 159, 52, 49, 8, 50, 51, 53, 164, 164,
164, 164, 164, 164, 164, 164, 164, 164, 31, 155,
43, 16, 45, 30, 67, 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, 69, 164, 161, 36, 164, 160, 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, 156, 35, 157, 57, 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, 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, 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, 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, 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, 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, 38, 39, 40, 41,
42, 44, 46, 47, 48, 56, 58, 59, 60, 61,
62, 63, 64, 65, 66, 68, 70, 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
);
protected $action = array(
130, 131, 132, 512, 133, 134,-32766, 648, 649, 650,
135, 36, -283, -537, -320,-32766, -320,-32766,-32766,-32766,
-537, 1081, 722, 540, -534, 902, 903, -180,-32766,-32766,
-32766, -534,-32766, 1148,-32766, 241,-32766, 0,-32766,-32766,
-32766,-32766,-32766, 428,-32766,-32766,-32766, 900, 824, 1088,
-32766,-32766, 1193, -179, 651, 1194,-32766, 366, 964, 965,
966, 963, 962, 961,-32766, 231, 902, 903, 257, 136,
355, 655, 656, 657, 658, 860, 727, 374, -491, -14,
46,-32766,-32766,-32766, 659, 660, 661, 662, 663, 664,
665, 666, 667, 668, 669, 689, 513, 690, 691, 692,
693, 681, 682, 356, 357, 684, 685, 670, 671, 672,
674, 675, 676, 329, 715, 716, 717, 718, 719, 677,
678, 514, 515, 710, 701, 699, 700, 696, 697, 1145,
240, 516, 517, 695, 518, 519, 520, 521, 522, 523,
-491, -491, 282, 283, 895, 698, 524, 525, 2, 137,
728, 130, 131, 132, 512, 133, 134, 916, 648, 649,
650, 135, 36, -283, 307, -491,-32766, 123,-32766,-32766,
-32766, -537, 1081, -537, 383, 101, 102, 103, -180,-32766,
-32766,-32766, -534,-32766, -534,-32766, 241,-32766, 80,-32766,
-32766,-32766,-32766,-32766,-32766,-32766,-32766,-32766, 806, 861,
733,-32766,-32766, 625, -179, 651, 73,-32766, 366, 1145,
-243, 310,-32766,-32766,-32766,-32766, -82, 124, 12, 257,
136, 355, 655, 656, 657, 658, 412, 413, 374, 964,
965, 966, 963, 962, 961, 659, 660, 661, 662, 663,
664, 665, 666, 667, 668, 669, 689, 513, 690, 691,
692, 693, 681, 682, 356, 357, 684, 685, 670, 671,
672, 674, 675, 676, 329, 715, 716, 717, 718, 719,
677, 678, 514, 515, 710, 701, 699, 700, 696, 697,
796, -82, 516, 517, 695, 518, 519, 520, 521, 522,
523, 310, 81, 82, 83, 31, 698, 524, 525,-32766,
137, 673, 643, 644, 645, 646, 647, 1168, 648, 649,
650, 686, 687, 33, 1167, 84, 85, 86, 87, 88,
89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
99, 100, 101, 102, 103, 104, 105, 106, 126, 259,
-32766,-32766,-32766, 104, 105, 106, 142, 259, 892, 891,
890, 107, 808, 612, 732, 651,-32766,-32766,-32766, 107,
437,-32766, 11,-32766,-32766,-32766,-32766,-32766,-32766, 652,
653, 654, 655, 656, 657, 658, 1108,-32766, 720,-32766,
-32766,-32766,-32766,-32766, 724, 659, 660, 661, 662, 663,
664, 665, 666, 667, 668, 669, 689, 712, 690, 691,
692, 693, 681, 682, 683, 711, 684, 685, 670, 671,
672, 674, 675, 676, 714, 715, 716, 717, 718, 719,
677, 678, 679, 680, 710, 701, 699, 700, 696, 697,
-32766,-32766, 688, 694, 695, 702, 703, 705, 704, 706,
707, 1088,-32766,-32766,-32766, 243, 698, 709, 708, 48,
49, 50, 445, 51, 52, 269, 1145, 422, 726, 53,
54, 614, 55,-32766, 488,-32766,-32766,-32766,-32766,-32766,
-32766,-32767,-32767,-32767,-32767,-32767, 147,-32767,-32767,-32767,
-32767, 99, 100, 101, 102, 103, 1164, 287, 749, 749,
750, 750, -528, 121, -528, 304, 56, 57, 533, 146,
361, 374, 58, 308, 59, 236, 237, 60, 61, 62,
63, 64, 65, 66, 67, -488, 26, 258, 68, 389,
446, 1145, 319, 1120, 1114, 1115, 447, 940, 1145, 915,
334, 138, 1112, 40, 23, 448, 730, 449, 310, 450,
-32766, 451, 571, 24, 452, 453, 587, 588, 339, 42,
43, 390, 397, 392, 806, 44, 454, 341, 266, 902,
903, 330, 318, -487, 722, 385, 383, 806, 386, 457,
458, 459, 402, 403, 1083, 1082, 1084, -488, -488, 942,
460, 461, 423, 1102, 1103, 1104, 1105, 1099, 1100, 275,
565, 566, -488, 230, 387, 1106, 1101, 618, 73, 1083,
1082, 1084, -488, 310, -494, 69, 148, 297, 388, 298,
310, 34, 108, 109, 110, 111, 112, 113, 114, 115,
116, 117, 118, 119, 120, -487, -487, -140, -140, -140,
737, -319, 150, -319, 151, 238, 796, 806, 278, 35,
-487, 139, -140, 900, -140, 122, -140, 956, -140, 796,
-487, 127, -493, 1000, 1002,-32766,-32766,-32766, 391, 941,
635, 128, 902, 903, -486, 141, 152, 619, -489, 455,
456,-32766, -84,-32766,-32766,-32766,-32766, 1081, 782, 829,
393, 394, 153, -297,-32766,-32766,-32766, -49,-32766, 155,
-32766, -76,-32766, -73,-32766,-32766,-32766,-32766, -71, -70,
-32766,-32766,-32766, -69, 806, -68,-32766,-32766, 808, 612,
-140, -486,-32766, 366, 1088, -67, -66, -65, -64, 796,
-32766, 808, 612, -45, 129, -16, -486, -486, 145,-32766,
-489, -489, 260, 626, 620, 1081, 629, 805, 144, 267,
143, -486,-32766,-32766,-32766, -489,-32766, 268,-32766, 72,
-32766, -486, 270,-32766, 271, -489, 312, 820,-32766,-32766,
-32766, 722, 731, 242,-32766,-32766,-32766, 259, 107, 970,
-32766, 366, 1081, -486, -486, 596, 590, 1195,-32766,-32766,
-32766,-32766,-32766,-32766, 494,-32766, 796,-32766, -486, 244,
-32766, 808, 612, 490, 1145,-32766,-32766,-32766, -486,-32766,
277,-32766,-32766, 572, 13, 1081, 731,-32766, 366, 1183,
577, -452,-32766,-32766,-32766,-32766,-32766, 47,-32766, 606,
-32766, 26, 578,-32766, 1081, 806, 409, 433,-32766,-32766,
-32766, 591,-32766, 1145,-32766,-32766, 563, 1112, 1081, 507,
-32766, 366, -4, 806,-32766,-32766,-32766,-32766,-32766,-32766,
279,-32766, 1109,-32766, 806, 623,-32766, 0, 846, 612,
1079,-32766,-32766,-32766, 830, 831, 500,-32766,-32766, 32,
239, 73, 276,-32766, 366, 286, 310, 1119, 806, 284,
285,-32766, -442, 1121, 627, 460, 461, 8, 1102, 1103,
1104, 1105, 1099, 1100, 333, 15, 332, 1083, 1082, 1084,
1106, 1101, 822,-32766, 125, 537, 730, 796, 38, 1081,
71, 39, 633, 806, 298, 310,-32766,-32766,-32766, 634,
-32766, 787,-32766, 870,-32766, 796, 847,-32766, 854, 936,
937, 844,-32766,-32766,-32766, 855, 796, 785,-32766,-32766,
842, 945, 948, 949,-32766, 366, 946, 391, 947, 379,
953, 630,-32766, 30, 274, 296, 331, 613, 455, 456,
796, 615, 617, 621, 622, 624, 628, 741, 829, 393,
394, 616, -522, 783, 1190, 1192, -221, -221, -221, 808,
612, -520, 391, 744, 26, 828, 743, -456, 752, 9,
827, 862, 751, 455, 456, 796, 1145, 808, 612, -4,
1112, 1191, 782, 829, 393, 394, 826, 1067, 808, 612,
-494, -220, -220, -220, 815, 823, 813, 391, 852, 853,
1189, 1146, 1135, 1153, 1159, 1162, 0, -493, 455, 456,
-492, 1, 808, 612, -221, -246, 27, 782, 829, 393,
394, 28, 37, 41, 45, 70, 74, 75, 76, 461,
77, 1102, 1103, 1104, 1105, 1099, 1100, 78, 79, 140,
149, 154, 235, 1106, 1101, 299, 300, 808, 612, -220,
-244, 301, 302, 71, 303, 305, 309, 298, 310, 380,
382, 1134, -243, 17, 18, 19, 20, 22, 359, 424,
426, 432, 435, 436, 443, 603, 1092, 1039, 1110, 917,
1071, -248, -99, 16, 21, 25, 273, 358, 530, 534,
557, 605, 1043, 1087, 1040, 1165, 0, 1056, 0, 1152,
1186, 568, 0, 1113
);
protected $actionCheck = array(
2, 3, 4, 5, 6, 7, 115, 9, 10, 11,
12, 13, 8, 1, 105, 73, 107, 9, 10, 11,
8, 79, 79, 50, 1, 134, 135, 8, 86, 87,
88, 8, 90, 1, 92, 37, 94, 0, 30, 97,
32, 33, 34, 101, 102, 103, 104, 115, 1, 1,
108, 109, 79, 8, 56, 82, 114, 115, 115, 116,
117, 118, 119, 120, 122, 14, 134, 135, 70, 71,
72, 73, 74, 75, 76, 31, 79, 79, 69, 31,
69, 9, 10, 11, 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, 81,
37, 133, 134, 135, 136, 137, 138, 139, 140, 141,
131, 132, 131, 132, 1, 147, 148, 149, 8, 151,
153, 2, 3, 4, 5, 6, 7, 159, 9, 10,
11, 12, 13, 159, 69, 156, 73, 156, 9, 10,
11, 159, 79, 161, 126, 49, 50, 51, 159, 86,
87, 88, 159, 90, 161, 92, 37, 94, 156, 30,
97, 32, 33, 34, 35, 102, 103, 104, 1, 155,
1, 108, 109, 156, 159, 56, 158, 114, 115, 81,
159, 163, 9, 10, 11, 122, 31, 14, 8, 70,
71, 72, 73, 74, 75, 76, 131, 132, 79, 115,
116, 117, 118, 119, 120, 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,
83, 96, 133, 134, 135, 136, 137, 138, 139, 140,
141, 163, 9, 10, 11, 8, 147, 148, 149, 9,
151, 2, 3, 4, 5, 6, 7, 1, 9, 10,
11, 12, 13, 30, 8, 32, 33, 34, 35, 36,
37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
47, 48, 49, 50, 51, 52, 53, 54, 8, 56,
9, 10, 11, 52, 53, 54, 8, 56, 118, 119,
120, 68, 155, 156, 155, 56, 9, 10, 11, 68,
105, 30, 107, 32, 33, 34, 35, 36, 37, 70,
71, 72, 73, 74, 75, 76, 1, 30, 79, 32,
33, 34, 35, 36, 79, 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,
9, 10, 133, 134, 135, 136, 137, 138, 139, 140,
141, 1, 9, 10, 11, 8, 147, 148, 149, 2,
3, 4, 5, 6, 7, 30, 81, 31, 153, 12,
13, 156, 15, 30, 84, 32, 33, 34, 35, 36,
37, 38, 39, 40, 41, 42, 14, 43, 44, 45,
46, 47, 48, 49, 50, 51, 1, 8, 105, 105,
107, 107, 159, 16, 161, 8, 49, 50, 1, 100,
101, 79, 55, 8, 57, 58, 59, 60, 61, 62,
63, 64, 65, 66, 67, 69, 69, 70, 71, 72,
73, 81, 8, 143, 77, 78, 79, 1, 81, 1,
8, 156, 85, 86, 87, 88, 152, 90, 163, 92,
115, 94, 74, 75, 97, 98, 74, 75, 8, 102,
103, 104, 105, 106, 1, 108, 109, 8, 30, 134,
135, 114, 115, 69, 79, 8, 126, 1, 8, 122,
123, 124, 105, 106, 152, 153, 154, 131, 132, 157,
133, 134, 156, 136, 137, 138, 139, 140, 141, 142,
110, 111, 146, 96, 8, 148, 149, 31, 158, 152,
153, 154, 156, 163, 158, 158, 14, 160, 8, 162,
163, 16, 17, 18, 19, 20, 21, 22, 23, 24,
25, 26, 27, 28, 29, 131, 132, 74, 75, 76,
8, 105, 14, 107, 14, 37, 83, 1, 112, 14,
146, 156, 89, 115, 91, 16, 93, 121, 95, 83,
156, 16, 158, 58, 59, 9, 10, 11, 105, 155,
156, 16, 134, 135, 69, 16, 16, 31, 69, 116,
117, 73, 31, 9, 10, 11, 30, 79, 125, 126,
127, 128, 16, 157, 86, 87, 88, 31, 90, 16,
92, 31, 94, 31, 30, 97, 32, 33, 31, 31,
102, 103, 104, 31, 1, 31, 108, 109, 155, 156,
157, 69, 114, 115, 1, 31, 31, 31, 31, 83,
122, 155, 156, 31, 31, 31, 131, 132, 31, 73,
131, 132, 31, 31, 31, 79, 31, 31, 31, 35,
69, 146, 86, 87, 88, 146, 90, 35, 92, 151,
94, 156, 35, 97, 35, 156, 35, 37, 102, 103,
104, 79, 81, 37, 108, 109, 73, 56, 68, 81,
114, 115, 79, 131, 132, 76, 93, 82, 122, 86,
87, 88, 84, 90, 88, 92, 83, 94, 146, 37,
97, 155, 156, 84, 81, 102, 103, 104, 156, 73,
130, 108, 109, 89, 96, 79, 81, 114, 115, 84,
95, 146, 86, 87, 88, 122, 90, 69, 92, 91,
94, 69, 99, 97, 79, 1, 96, 96, 102, 103,
104, 99, 73, 81, 108, 109, 112, 85, 79, 80,
114, 115, 0, 1, 115, 86, 87, 88, 122, 90,
113, 92, 161, 94, 1, 31, 97, -1, 155, 156,
115, 102, 103, 104, 126, 126, 150, 108, 109, 144,
145, 158, 129, 114, 115, 129, 163, 143, 1, 131,
132, 122, 146, 143, 31, 133, 134, 146, 136, 137,
138, 139, 140, 141, 146, 146, 146, 152, 153, 154,
148, 149, 151, 73, 156, 150, 152, 83, 155, 79,
158, 155, 155, 1, 162, 163, 86, 87, 88, 155,
90, 155, 92, 155, 94, 83, 155, 97, 155, 155,
155, 155, 102, 103, 104, 155, 83, 155, 108, 109,
155, 155, 155, 155, 114, 115, 155, 105, 155, 107,
155, 157, 122, 156, 112, 156, 156, 156, 116, 117,
83, 156, 156, 156, 156, 156, 156, 125, 126, 127,
128, 156, 158, 157, 157, 157, 99, 100, 101, 155,
156, 158, 105, 157, 69, 157, 157, 160, 157, 147,
157, 157, 157, 116, 117, 83, 81, 155, 156, 157,
85, 157, 125, 126, 127, 128, 157, 157, 155, 156,
158, 99, 100, 101, 157, 157, 157, 105, 157, 157,
157, 157, 157, 157, 157, 157, -1, 158, 116, 117,
158, 158, 155, 156, 157, 159, 158, 125, 126, 127,
128, 158, 158, 158, 158, 158, 158, 158, 158, 134,
158, 136, 137, 138, 139, 140, 141, 158, 158, 158,
158, 158, 158, 148, 149, 158, 158, 155, 156, 157,
159, 158, 158, 158, 158, 158, 158, 162, 163, 158,
158, 161, 159, 159, 159, 159, 159, 159, 159, 159,
159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
159, 159, 159, 159, 159, 159, -1, 160, -1, 161,
161, 161, -1, 162
);
protected $actionBase = array(
0, -2, 149, 553, 842, 877, 912, 422, 375, 305,
793, 299, 299, -57, 299, 299, 636, 824, 824, 853,
824, 566, 703, 197, 197, 197, 598, 598, 598, 598,
-58, -58, 759, 693, 93, 726, 656, 830, 830, 830,
830, 830, 830, 830, 830, 830, 830, 830, 830, 830,
830, 830, 830, 830, 830, 830, 830, 830, 830, 830,
830, 830, 830, 830, 830, 830, 830, 830, 830, 830,
830, 830, 830, 830, 830, 830, 830, 830, 830, 830,
830, 830, 830, 830, 830, 830, 830, 830, 830, 830,
830, 830, 830, 830, 830, 830, 830, 830, 830, 830,
830, 830, 830, 830, 830, 830, 830, 830, 830, 830,
830, 830, 830, 830, 830, 830, 830, 830, 830, 830,
830, 830, 830, 830, 830, 830, 830, 830, 830, 830,
830, 830, 830, 830, 830, 830, 830, 830, 830, 830,
830, 830, 830, 830, 830, 830, 830, 830, 830, 830,
830, 830, 830, 830, 830, 830, 199, 44, 497, 625,
947, 953, 949, 954, 945, 944, 948, 950, 955, 863,
864, 707, 865, 866, 867, 868, 951, 960, 946, 952,
283, 283, 283, 283, 283, 283, 283, 283, 283, 283,
283, 283, 283, 283, 283, 283, 283, 283, 283, 283,
283, 290, 203, 421, 72, 72, 72, 72, 72, 72,
72, 72, 72, 72, 72, 72, 72, 72, 72, 72,
72, 72, 72, 72, 72, 72, 646, 646, 646, 664,
752, 752, 8, 595, 159, 915, 915, 915, 915, 915,
915, 915, 915, 915, 915, 347, 331, 433, 433, 433,
433, 433, 434, 434, 434, 434, 526, 48, 440, 713,
528, -91, 126, 126, 425, 425, -68, -68, -68, -109,
-109, -109, 446, 494, 384, 380, 745, 745, 745, 745,
740, 961, 485, 485, 485, 485, 745, 745, 599, 642,
642, 748, 291, 291, 291, 642, 383, 709, 725, 942,
942, 942, 942, 942, 383, 942, 725, -27, 943, 729,
32, 333, 729, 9, 11, 23, 12, 754, 467, 754,
698, 795, 815, 956, 723, 861, 732, 862, 95, 660,
128, -3, 128, 128, 128, 480, -3, 468, 472, -3,
721, 943, 199, 736, 199, 199, 199, 199, 907, 199,
199, 199, 199, 199, 199, 694, 692, 662, 426, 199,
504, 44, 47, 143, 47, 47, 467, 711, 716, 755,
45, 711, 711, 711, 185, 4, 51, 19, 255, 682,
682, 688, 720, 873, 873, 682, 681, 682, 688, 886,
682, 720, 720, 682, 682, 682, 873, 720, 330, 557,
514, 522, 720, 720, 560, 743, 746, 746, 586, 682,
437, 338, 682, 682, 140, 670, 873, 873, 873, 670,
495, 479, 757, 764, 724, 720, 701, 487, 622, 287,
701, 751, 701, 682, 540, 724, 701, 720, 701, 600,
210, 681, 549, 701, 37, 887, 888, 641, 889, 884,
890, 921, 892, 899, 801, 738, 739, 904, 885, 900,
883, 878, 706, 477, 629, 741, 665, 872, 700, 700,
700, 852, 700, 700, 700, 700, 700, 700, 700, 700,
477, 691, 750, 696, 908, 635, 645, 805, 734, 816,
827, 957, 907, 937, 901, 753, 649, 928, 913, 794,
799, 914, 916, 929, 938, 806, 939, 817, 671, 818,
826, 700, 887, 899, 885, 900, 883, 878, 687, 686,
684, 685, 674, 672, 667, 668, 697, 823, 814, 920,
869, 477, 958, 924, 797, 930, 931, 800, 730, 828,
695, 959, 829, 940, 807, 808, 756, 925, 876, 717,
719, 932, 731, 831, 933, 934, 833, 766, 714, 911,
715, 834, 462, 922, 592, 918, 809, 835, 844, 849,
850, 902, 768, 926, 683, 927, 923, 771, 773, 618,
704, 712, 620, 774, 650, 666, 775, 903, 702, 699,
776, 780, 941, 673, 857, 917, 782, 858, 936, 749,
737, 708, 728, 810, 935, 705, 785, 786, 787, 788,
859, 791, 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, 447,
447, 447, 447, 447, 447, 299, 299, 299, 299, 0,
0, 299, 0, 0, 447, 447, 447, 447, 447, 447,
447, 447, 447, 447, 447, 447, 447, 447, 447, 447,
447, 447, 447, 447, 447, 447, 447, 447, 447, 447,
447, 447, 447, 447, 447, 447, 447, 447, 447, 447,
447, 447, 447, 447, 447, 447, 447, 447, 447, 447,
447, 447, 447, 447, 447, 447, 447, 447, 447, 447,
447, 447, 447, 447, 447, 447, 447, 447, 447, 447,
447, 447, 447, 447, 447, 447, 447, 447, 447, 447,
447, 447, 447, 447, 447, 447, 447, 447, 447, 447,
447, 447, 447, 447, 447, 447, 447, 447, 447, 447,
447, 447, 447, 447, 447, 447, 447, 447, 447, 447,
447, 447, 447, 447, 447, 447, 447, 447, 447, 447,
447, 447, 447, 447, 447, 447, 447, 447, 447, 447,
447, 447, 447, 447, 447, 447, 447, 447, 447, 447,
447, 447, 447, 447, 283, 283, 283, 283, 283, 283,
283, 283, 283, 283, 283, 283, 283, 283, 283, 283,
283, 283, 283, 283, 283, 283, 283, 283, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 283,
283, 283, 283, 283, 283, 283, 283, 283, 283, 283,
283, 283, 283, 283, 283, 283, 283, 283, 283, 283,
283, 283, 283, 283, 283, 283, 283, 283, 745, 745,
283, 0, 283, 745, 745, 745, 745, 745, 745, 745,
745, 745, 745, 283, 283, 283, 283, 283, 283, 283,
291, 291, 291, 291, 114, 745, 745, 745, 745, 114,
291, 291, 745, 745, 745, 745, 745, 745, 745, 745,
0, 0, -3, 725, 0, 0, 0, 0, 725, 725,
128, 128, 128, 128, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, -3, 725, 0, 230, 230, 230,
230, 230, -3, 230, 0, 681, 230, 745, 128, 306,
745, 0, 0, 0, 0, -3, 681, -3, 725, 47,
199, 306, 399, 399, 399, 399, 0, 467, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 681, 720,
0, 873, 0, 0, 0, 0, 682, 0, 0, 0,
0, 0, 0, 886, 720, 720, 0, 0, 0, 0,
0, 681, 0, 0, 0, 700, 730, 730, 0, 700,
700, 700
);
protected $actionDefault = array(
3,32767, 99,32767,32767,32767,32767,32767,32767,32767,
32767,32767, 97,32767,32767,32767,32767,32767,32767,32767,
32767,32767,32767,32767,32767,32767, 540, 540, 540, 540,
225, 99,32767,32767,32767,32767, 420, 339, 339, 339,
32767,32767, 484, 484, 484, 484, 484, 484,32767,32767,
32767,32767,32767,32767, 420,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, 97,32767,32767,32767,
35, 5, 6, 8, 9, 48, 15,32767,32767,32767,
32767,32767, 99,32767,32767,32767,32767,32767,32767,32767,
32767,32767,32767,32767,32767,32767,32767,32767,32767, 533,
32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
424, 403, 404, 406, 407, 338, 485, 539, 282, 536,
337, 133, 294, 284, 213, 285, 229, 230, 334, 137,
256, 368, 421, 370, 419, 423, 369, 344, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 342, 343, 422, 425, 426, 400, 399, 398, 366,
32767,32767, 367, 341, 371,32767,32767,32767,32767,32767,
32767,32767,32767, 99,32767, 373, 372, 389, 390, 387,
388, 391, 392, 393, 394, 395,32767,32767,32767,32767,
32767, 317, 380, 381, 273, 273,32767,32767,32767,32767,
32767,32767, 478, 397,32767,32767,32767,32767,32767,32767,
32767,32767,32767,32767,32767,32767,32767, 97, 480, 363,
365, 448, 375, 376, 374, 345,32767, 455,32767, 251,
251, 251, 251, 251, 99, 251, 457,32767, 251,32767,
32767,32767,32767, 479,32767, 486, 486,32767, 441, 97,
32767,32767,32767,32767,32767,32767,32767,32767, 547, 441,
32767,32767,32767,32767, 97, 176,32767, 239, 241, 99,
501, 181,32767, 460,32767,32767,32767,32767,32767,32767,
32767,32767,32767,32767,32767, 453, 181, 181,32767,32767,
32767,32767,32767,32767,32767,32767, 441, 385, 126, 126,
486, 377, 378, 379, 443, 486, 486, 486,32767,32767,
32767,32767, 181, 458, 458, 97, 97, 97, 97, 453,
32767, 181, 181,32767,32767,32767,32767, 181, 96, 96,
96, 96, 181, 181, 96, 196, 194, 194, 96,32767,
98, 98,32767,32767, 98, 198,32767, 505, 506, 198,
98, 96, 218, 218, 432, 181, 275, 98, 98, 98,
275, 183, 275,32767, 98, 432, 275, 181, 275, 96,
96,32767, 98, 275,32767,32767,32767, 443,32767,32767,
32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
32767,32767,32767,32767, 473,32767, 490, 503, 383, 384,
386, 488, 408, 409, 410, 411, 412, 413, 414, 416,
535,32767, 447,32767,32767,32767, 293,32767, 545,32767,
545,32767,32767,32767,32767,32767,32767,32767,32767,32767,
32767,32767,32767,32767,32767,32767,32767, 546,32767, 486,
32767, 382, 7, 74, 41, 42, 50, 56, 464, 465,
466, 467, 461, 462, 468, 463,32767, 469, 511,32767,
487, 538,32767,32767,32767,32767,32767,32767, 126,32767,
32767,32767,32767,32767,32767,32767,32767,32767, 473, 270,
272,32767, 124,32767,32767,32767,32767,32767,32767, 486,
32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
32767,32767,32767,32767,32767,32767, 486,32767,32767,32767,
258, 260,32767,32767, 333,32767,32767,32767,32767,32767,
32767,32767,32767, 255,32767,32767,32767,32767,32767,32767,
313,32767,32767,32767,32767,32767,32767,32767,32767,32767,
32767,32767, 139, 139, 3, 296, 3, 296, 139, 139,
139, 296, 296, 139, 139, 139, 139, 139, 139, 139,
171, 233, 236, 218, 218, 305, 139, 139
);
protected $goto = array(
188, 188, 599, 376, 576, 799, 608, 800, 370, 289,
290, 315, 509, 295, 375, 316, 377, 559, 528, 536,
551, 554, 555, 919, 604, 159, 159, 159, 159, 185,
185, 169, 171, 207, 189, 202, 185, 185, 185, 185,
185, 186, 186, 186, 186, 186, 186, 180, 181, 182,
183, 184, 204, 202, 205, 468, 469, 367, 470, 472,
473, 474, 475, 476, 477, 478, 479, 986, 160, 161,
162, 187, 163, 164, 165, 158, 166, 167, 168, 170,
201, 203, 206, 226, 229, 232, 234, 245, 246, 247,
248, 249, 250, 251, 252, 253, 254, 255, 262, 263,
292, 293, 294, 371, 372, 373, 511, 208, 209, 210,
211, 212, 213, 214, 215, 216, 217, 218, 219, 220,
221, 222, 172, 223, 173, 190, 191, 192, 227, 180,
181, 182, 183, 184, 204, 986, 193, 174, 175, 176,
194, 190, 177, 228, 195, 157, 196, 224, 178, 197,
225, 198, 199, 179, 200, 742, 548, 548, 897, 904,
905, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111,
1111, 325, 837, 360, 607, 747, 959, 795, 790, 791,
804, 960, 748, 792, 745, 793, 794, 746, 1129, 1129,
739, 729, 798, 1129, 1129, 1129, 1129, 1129, 1129, 1129,
1129, 1129, 1129, 1127, 1127, 418, 1154, 1155, 1127, 1127,
1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 471, 471,
369, 740, 538, 471, 471, 471, 471, 471, 471, 471,
471, 471, 471, 499, 729, 510, 729, 542, 632, 558,
560, 546, 573, 574, 594, 597, 880, 602, 610, 876,
306, 281, 1080, 1080, 1080, 901, 1156, 1157, 725, 901,
901, 901, 901, 901, 901, 901, 901, 1151, 1151, 1151,
773, 1080, 1080, 1080, 1080, 1161, 1161, 1161, 1161, 5,
6, 1080, 1080, 492, 484, 723, 1076, 845, 480, 480,
480, 480, 1163, 1163, 1163, 1163, 738, 531, 952, 527,
506, 611, 585, 585, 811, 595, 950, 812, 869, 843,
843, 841, 843, 631, 323, 483, 878, 873, 348, 484,
1147, 866, 1169, 344, 492, 504, 482, 482, 482, 501,
502, 549, 549, 575, 1034, 381, 909, 906, 907, 1077,
927, 498, 1149, 1149, 927, 839, 839, 839, 839, 768,
756, 924, 431, 317, 928, 833, 840, 760, 848, 1078,
1137, 1138, 888, 1196, 14, 346, 350, 493, 529, 532,
757, 838, 485, 496, 486, 354, 974, 925, 485, 543,
496, 326, 327, 347, 636, 885, 487, 405, 406, 967,
772, 1073, 759, 579, 864, 1068, 1140, 1179, 1179, 753,
411, 411, 765, 1180, 1180, 1187, 1188, 1072, 362, 769,
364, 411, 755, 929, 582, 850, 365, 767, 969, 593,
754, 321, 1065, 1179, 825, 1066, 763, 556, 0, 1180,
0, 569, 570, 419, 545, 0, 438, 1182, 0, 0,
0, 0, 486, 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, 883, 883, 0, 0, 0, 1075
);
protected $gotoCheck = array(
34, 34, 64, 57, 57, 56, 8, 56, 57, 57,
57, 57, 57, 57, 57, 57, 57, 57, 109, 70,
70, 70, 70, 106, 70, 34, 34, 34, 34, 34,
34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
34, 34, 34, 34, 34, 14, 93, 93, 99, 99,
99, 93, 93, 93, 93, 93, 93, 93, 93, 93,
93, 82, 78, 78, 78, 14, 123, 14, 14, 14,
14, 123, 14, 14, 14, 14, 14, 14, 147, 147,
18, 11, 14, 147, 147, 147, 147, 147, 147, 147,
147, 147, 147, 148, 148, 153, 153, 153, 148, 148,
148, 148, 148, 148, 148, 148, 148, 148, 150, 150,
12, 19, 12, 150, 150, 150, 150, 150, 150, 150,
150, 150, 150, 40, 11, 2, 11, 2, 40, 40,
40, 47, 47, 40, 40, 40, 40, 40, 40, 40,
146, 146, 64, 64, 64, 64, 155, 155, 6, 64,
64, 64, 64, 64, 64, 64, 64, 109, 109, 109,
37, 64, 64, 64, 64, 8, 8, 8, 8, 38,
38, 64, 64, 67, 67, 5, 104, 41, 92, 92,
92, 92, 109, 109, 109, 109, 17, 92, 7, 7,
149, 7, 7, 7, 64, 7, 7, 64, 17, 17,
17, 17, 17, 17, 156, 17, 17, 17, 67, 67,
109, 88, 158, 53, 67, 89, 77, 77, 77, 67,
67, 101, 101, 55, 130, 97, 101, 101, 101, 104,
109, 8, 109, 109, 109, 77, 77, 77, 77, 15,
15, 15, 67, 21, 15, 77, 77, 31, 15, 104,
104, 104, 95, 13, 67, 50, 50, 50, 50, 50,
29, 15, 8, 8, 13, 20, 16, 108, 8, 16,
8, 82, 82, 8, 84, 16, 8, 8, 8, 15,
15, 139, 16, 16, 16, 136, 13, 159, 159, 16,
128, 128, 8, 160, 160, 8, 8, 16, 71, 33,
71, 128, 27, 111, 71, 81, 71, 27, 126, 13,
27, 71, 69, 159, 69, 69, 8, 75, -1, 160,
-1, 75, 75, 73, 74, -1, 134, 159, -1, -1,
-1, -1, 13, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 92, 92, -1, -1, -1, 13
);
protected $gotoBase = array(
0, 0, -379, 0, 0, 272, 249, 291, -7, 0,
0, -83, -97, 56, -167, -50, -35, 292, 186, 217,
58, 79, 0, 0, 0, 0, 0, 81, 0, 51,
0, 53, 0, 24, -1, 0, 0, 258, -357, 0,
-380, 265, 0, 0, 0, 0, 0, 203, 0, 0,
322, 0, 0, 283, 0, 102, -13, -227, 0, 0,
0, 0, 0, 0, -5, 0, 0, -73, 0, 60,
-281, -22, 0, 26, 15, -190, 0, 69, -105, 0,
0, 28, -252, 0, 23, 0, 0, 0, 290, 284,
0, 0, 262, -74, 0, 54, 0, 70, 0, -108,
0, 67, 0, 0, -57, 0, 21, 0, 43, 10,
0, 27, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, -80, 0, 0, 30, 0, 370, 0,
75, 0, 0, 0, 1, 0, 11, 0, 0, 9,
0, 0, 0, 0, 0, 0, -47, -42, -27, 273,
-12, 0, 0, -78, 0, -76, 286, 0, 293, 117,
123, 0, 0
);
protected $gotoDefault = array(
-32768, 444, 639, 4, 640, 713, 721, 526, 462, 609,
322, 552, 368, 328, 797, 973, 816, 779, 780, 781,
351, 336, 342, 349, 567, 553, 434, 766, 400, 758,
427, 761, 399, 770, 156, 586, 440, 774, 3, 776,
489, 807, 337, 784, 338, 589, 786, 495, 788, 789,
345, 352, 353, 978, 503, 547, 801, 233, 497, 802,
335, 803, 810, 340, 343, 598, 410, 441, 363, 954,
535, 564, 395, 415, 544, 539, 505, 1089, 835, 421,
408, 849, 324, 857, 637, 985, 561, 429, 865, 562,
872, 875, 463, 464, 420, 887, 264, 425, 914, 580,
581, 899, 550, 912, 1097, 414, 918, 401, 926, 1133,
404, 930, 256, 933, 265, 583, 378, 938, 939, 7,
944, 600, 601, 10, 261, 439, 968, 584, 398, 984,
384, 1053, 1055, 491, 430, 1069, 407, 592, 442, 1074,
1136, 396, 465, 416, 291, 466, 280, 313, 288, 481,
272, 314, 467, 417, 1142, 1150, 311, 29, 1170, 1181,
320, 508, 541
);
protected $ruleToNonTerminal = array(
0, 1, 3, 3, 2, 5, 5, 5, 5, 5,
5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
5, 5, 5, 5, 5, 6, 6, 6, 6, 6,
6, 6, 7, 7, 8, 9, 10, 10, 10, 11,
11, 12, 12, 13, 14, 14, 15, 15, 16, 16,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 21, 21, 22, 22, 24, 26, 26, 20, 28,
28, 25, 30, 30, 27, 27, 29, 29, 31, 31,
23, 32, 32, 33, 35, 36, 36, 37, 38, 38,
40, 39, 39, 39, 39, 41, 41, 41, 41, 41,
41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
41, 41, 41, 41, 41, 41, 41, 41, 41, 17,
17, 60, 60, 63, 63, 62, 61, 61, 54, 66,
66, 67, 67, 68, 68, 69, 69, 18, 19, 19,
19, 72, 72, 72, 73, 73, 76, 76, 74, 74,
78, 79, 79, 48, 48, 56, 56, 59, 59, 59,
58, 80, 80, 81, 49, 49, 49, 49, 82, 82,
83, 83, 84, 84, 85, 86, 86, 87, 87, 88,
88, 46, 46, 42, 42, 90, 44, 44, 91, 43,
43, 45, 45, 55, 55, 55, 55, 70, 70, 94,
94, 96, 96, 96, 96, 95, 95, 95, 98, 98,
98, 99, 99, 101, 101, 101, 100, 100, 102, 102,
103, 103, 103, 97, 97, 71, 71, 71, 104, 104,
105, 105, 106, 106, 106, 106, 51, 107, 107, 108,
52, 110, 110, 111, 111, 112, 112, 75, 113, 113,
113, 113, 113, 118, 118, 119, 119, 120, 120, 120,
120, 120, 121, 122, 122, 117, 117, 114, 114, 116,
116, 124, 124, 123, 123, 123, 123, 123, 123, 115,
125, 125, 127, 126, 126, 53, 89, 128, 128, 47,
47, 34, 34, 34, 34, 34, 34, 34, 34, 34,
34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
34, 34, 34, 34, 34, 34, 34, 34, 34, 135,
129, 129, 134, 134, 137, 138, 138, 139, 140, 140,
140, 77, 77, 64, 64, 64, 64, 130, 130, 130,
130, 142, 142, 131, 131, 133, 133, 133, 136, 136,
147, 147, 147, 147, 147, 147, 147, 147, 147, 148,
148, 93, 150, 150, 150, 150, 132, 132, 132, 132,
132, 132, 132, 132, 50, 50, 145, 145, 145, 145,
151, 151, 141, 141, 141, 152, 152, 152, 152, 152,
152, 65, 65, 57, 57, 57, 57, 109, 109, 109,
109, 155, 154, 144, 144, 144, 144, 144, 144, 144,
143, 143, 143, 153, 153, 153, 153, 92, 149, 157,
157, 156, 156, 158, 158, 158, 158, 158, 158, 158,
158, 146, 146, 146, 146, 160, 161, 159, 159, 159,
159, 159, 159, 159, 159, 162, 162, 162, 162
);
protected $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, 0, 1, 0, 1,
1, 1, 1, 1, 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, 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, 3, 1, 8, 7, 6,
5, 1, 2, 2, 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, 1, 1, 1, 5, 7, 5, 1, 2,
1, 1, 1, 1, 1, 1, 3, 3, 3, 3,
1, 2, 1, 0, 1, 0, 2, 2, 2, 4,
1, 3, 1, 2, 2, 3, 2, 3, 1, 1,
2, 3, 1, 1, 3, 2, 0, 1, 4, 4,
9, 3, 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, 2,
1, 3, 1, 1, 3, 2, 2, 3, 1, 0,
1, 1, 3, 3, 3, 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, 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, 7,
3, 2, 0, 4, 2, 1, 3, 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,
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() {
$this->reduceCallbacks = [
0 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
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) {
$startAttributes = $this->lookaheadStartAttributes; if (isset($startAttributes['comments'])) { $nop = new Stmt\Nop($this->createCommentNopAttributes($startAttributes['comments'])); } else { $nop = null; };
if ($nop !== null) { $this->semStack[$stackPos-(1-1)][] = $nop; } $this->semValue = $this->semStack[$stackPos-(1-1)];
},
5 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
6 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
7 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
8 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
9 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
10 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
11 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
12 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
13 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
14 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
15 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
16 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
17 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
18 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
19 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
20 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
21 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
22 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
23 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
24 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
25 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
26 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
27 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
28 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
29 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
30 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
31 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
32 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
33 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
34 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
35 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
36 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
37 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
38 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
39 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
40 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
41 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
42 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
43 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
44 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
45 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
46 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
47 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
48 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
49 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
50 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
51 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
52 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
53 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
54 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
55 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
56 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
57 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
58 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
59 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
60 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
61 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
62 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
63 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
64 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
65 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
66 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
67 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
68 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
69 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
70 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
71 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
72 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
73 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
74 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
75 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
76 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
77 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
78 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
79 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
80 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
81 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
82 => function ($stackPos) {
$this->semValue = new Node\Identifier($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
},
83 => function ($stackPos) {
$this->semValue = new Node\Identifier($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
},
84 => function ($stackPos) {
$this->semValue = new Node\Identifier($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
},
85 => function ($stackPos) {
$this->semValue = new Node\Identifier($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
},
86 => function ($stackPos) {
$this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
},
87 => function ($stackPos) {
$this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
},
88 => function ($stackPos) {
$this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
},
89 => function ($stackPos) {
$this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
},
90 => function ($stackPos) {
$this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
},
91 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(1-1)];
},
92 => function ($stackPos) {
$this->semValue = new Name(substr($this->semStack[$stackPos-(1-1)], 1), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
},
93 => function ($stackPos) {
$this->semValue = new Expr\Variable(substr($this->semStack[$stackPos-(1-1)], 1), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
},
94 => function ($stackPos) {
/* nothing */
},
95 => function ($stackPos) {
/* nothing */
},
96 => function ($stackPos) {
/* nothing */
},
97 => function ($stackPos) {
$this->emitError(new Error('A trailing comma is not allowed here', $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes));
},
98 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
99 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
100 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(1-1)];
},
101 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(1-1)];
},
102 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(1-1)];
},
103 => function ($stackPos) {
$this->semValue = new Stmt\HaltCompiler($this->lexer->handleHaltCompiler(), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
},
104 => function ($stackPos) {
$this->semValue = new Stmt\Namespace_($this->semStack[$stackPos-(3-2)], null, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
$this->semValue->setAttribute('kind', Stmt\Namespace_::KIND_SEMICOLON);
$this->checkNamespace($this->semValue);
},
105 => function ($stackPos) {
$this->semValue = new Stmt\Namespace_($this->semStack[$stackPos-(5-2)], $this->semStack[$stackPos-(5-4)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes);
$this->semValue->setAttribute('kind', Stmt\Namespace_::KIND_BRACED);
$this->checkNamespace($this->semValue);
},
106 => function ($stackPos) {
$this->semValue = new Stmt\Namespace_(null, $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
$this->semValue->setAttribute('kind', Stmt\Namespace_::KIND_BRACED);
$this->checkNamespace($this->semValue);
},
107 => function ($stackPos) {
$this->semValue = new Stmt\Use_($this->semStack[$stackPos-(3-2)], Stmt\Use_::TYPE_NORMAL, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
},
108 => function ($stackPos) {
$this->semValue = new Stmt\Use_($this->semStack[$stackPos-(4-3)], $this->semStack[$stackPos-(4-2)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
},
109 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(2-1)];
},
110 => function ($stackPos) {
$this->semValue = new Stmt\Const_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
},
111 => function ($stackPos) {
$this->semValue = Stmt\Use_::TYPE_FUNCTION;
},
112 => function ($stackPos) {
$this->semValue = Stmt\Use_::TYPE_CONSTANT;
},
113 => function ($stackPos) {
$this->semValue = new Stmt\GroupUse($this->semStack[$stackPos-(7-3)], $this->semStack[$stackPos-(7-6)], $this->semStack[$stackPos-(7-2)], $this->startAttributeStack[$stackPos-(7-1)] + $this->endAttributes);
},
114 => function ($stackPos) {
$this->semValue = new Stmt\GroupUse($this->semStack[$stackPos-(6-2)], $this->semStack[$stackPos-(6-5)], Stmt\Use_::TYPE_UNKNOWN, $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes);
},
115 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(2-1)];
},
116 => function ($stackPos) {
$this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)];
},
117 => function ($stackPos) {
$this->semValue = array($this->semStack[$stackPos-(1-1)]);
},
118 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(2-1)];
},
119 => function ($stackPos) {
$this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)];
},
120 => function ($stackPos) {
$this->semValue = array($this->semStack[$stackPos-(1-1)]);
},
121 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(2-1)];
},
122 => function ($stackPos) {
$this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)];
},
123 => function ($stackPos) {
$this->semValue = array($this->semStack[$stackPos-(1-1)]);
},
124 => function ($stackPos) {
$this->semValue = new Stmt\UseUse($this->semStack[$stackPos-(1-1)], null, Stmt\Use_::TYPE_UNKNOWN, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); $this->checkUseUse($this->semValue, $stackPos-(1-1));
},
125 => function ($stackPos) {
$this->semValue = new Stmt\UseUse($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], Stmt\Use_::TYPE_UNKNOWN, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); $this->checkUseUse($this->semValue, $stackPos-(3-3));
},
126 => function ($stackPos) {
$this->semValue = new Stmt\UseUse($this->semStack[$stackPos-(1-1)], null, Stmt\Use_::TYPE_UNKNOWN, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); $this->checkUseUse($this->semValue, $stackPos-(1-1));
},
127 => function ($stackPos) {
$this->semValue = new Stmt\UseUse($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], Stmt\Use_::TYPE_UNKNOWN, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); $this->checkUseUse($this->semValue, $stackPos-(3-3));
},
128 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(1-1)]; $this->semValue->type = Stmt\Use_::TYPE_NORMAL;
},
129 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(2-2)]; $this->semValue->type = $this->semStack[$stackPos-(2-1)];
},
130 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(2-1)];
},
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 => function ($stackPos) {
$this->semValue = new Node\Const_($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
},
134 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(2-1)];
},
135 => function ($stackPos) {
$this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)];
},
136 => function ($stackPos) {
$this->semValue = array($this->semStack[$stackPos-(1-1)]);
},
137 => function ($stackPos) {
$this->semValue = new Node\Const_($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
},
138 => 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)]; };
},
139 => function ($stackPos) {
$this->semValue = array();
},
140 => function ($stackPos) {
$startAttributes = $this->lookaheadStartAttributes; if (isset($startAttributes['comments'])) { $nop = new Stmt\Nop($this->createCommentNopAttributes($startAttributes['comments'])); } else { $nop = null; };
if ($nop !== null) { $this->semStack[$stackPos-(1-1)][] = $nop; } $this->semValue = $this->semStack[$stackPos-(1-1)];
},
141 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(1-1)];
},
142 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(1-1)];
},
143 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(1-1)];
},
144 => function ($stackPos) {
throw new Error('__HALT_COMPILER() can only be used from the outermost scope', $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
},
145 => function ($stackPos) {
if ($this->semStack[$stackPos-(3-2)]) {
$this->semValue = $this->semStack[$stackPos-(3-2)]; $attrs = $this->startAttributeStack[$stackPos-(3-1)]; $stmts = $this->semValue; if (!empty($attrs['comments'])) {$stmts[0]->setAttribute('comments', array_merge($attrs['comments'], $stmts[0]->getAttribute('comments', []))); };
} else {
$startAttributes = $this->startAttributeStack[$stackPos-(3-1)]; if (isset($startAttributes['comments'])) { $this->semValue = new Stmt\Nop($startAttributes + $this->endAttributes); } else { $this->semValue = null; };
if (null === $this->semValue) { $this->semValue = array(); }
}
},
146 => 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->startAttributeStack[$stackPos-(7-1)] + $this->endAttributes);
},
147 => 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->startAttributeStack[$stackPos-(10-1)] + $this->endAttributes);
},
148 => function ($stackPos) {
$this->semValue = new Stmt\While_($this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-5)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes);
},
149 => 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->startAttributeStack[$stackPos-(7-1)] + $this->endAttributes);
},
150 => 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->startAttributeStack[$stackPos-(9-1)] + $this->endAttributes);
},
151 => function ($stackPos) {
$this->semValue = new Stmt\Switch_($this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-5)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes);
},
152 => function ($stackPos) {
$this->semValue = new Stmt\Break_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
},
153 => function ($stackPos) {
$this->semValue = new Stmt\Continue_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
},
154 => function ($stackPos) {
$this->semValue = new Stmt\Return_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
},
155 => function ($stackPos) {
$this->semValue = new Stmt\Global_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
},
156 => function ($stackPos) {
$this->semValue = new Stmt\Static_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
},
157 => function ($stackPos) {
$this->semValue = new Stmt\Echo_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
},
158 => function ($stackPos) {
$this->semValue = new Stmt\InlineHTML($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
},
159 => 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->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
} else {
$this->semValue = new Stmt\Expression($e, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
}
},
160 => function ($stackPos) {
$this->semValue = new Stmt\Unset_($this->semStack[$stackPos-(5-3)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes);
},
161 => 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->startAttributeStack[$stackPos-(7-1)] + $this->endAttributes);
},
162 => 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->startAttributeStack[$stackPos-(9-1)] + $this->endAttributes);
},
163 => function ($stackPos) {
$this->semValue = new Stmt\Foreach_($this->semStack[$stackPos-(6-3)], new Expr\Error($this->startAttributeStack[$stackPos-(6-4)] + $this->endAttributeStack[$stackPos-(6-4)]), ['stmts' => $this->semStack[$stackPos-(6-6)]], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes);
},
164 => function ($stackPos) {
$this->semValue = new Stmt\Declare_($this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-5)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes);
},
165 => function ($stackPos) {
$this->semValue = new Stmt\TryCatch($this->semStack[$stackPos-(6-3)], $this->semStack[$stackPos-(6-5)], $this->semStack[$stackPos-(6-6)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); $this->checkTryCatch($this->semValue);
},
166 => function ($stackPos) {
$this->semValue = new Stmt\Goto_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
},
167 => function ($stackPos) {
$this->semValue = new Stmt\Label($this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
},
168 => function ($stackPos) {
$this->semValue = array(); /* means: no statement */
},
169 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(1-1)];
},
170 => function ($stackPos) {
$startAttributes = $this->startAttributeStack[$stackPos-(1-1)]; if (isset($startAttributes['comments'])) { $this->semValue = new Stmt\Nop($startAttributes + $this->endAttributes); } else { $this->semValue = null; };
if ($this->semValue === null) $this->semValue = array(); /* means: no statement */
},
171 => function ($stackPos) {
$this->semValue = array();
},
172 => function ($stackPos) {
$this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)];
},
173 => function ($stackPos) {
$this->semValue = array($this->semStack[$stackPos-(1-1)]);
},
174 => function ($stackPos) {
$this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)];
},
175 => function ($stackPos) {
$this->semValue = new Stmt\Catch_($this->semStack[$stackPos-(8-3)], $this->semStack[$stackPos-(8-4)], $this->semStack[$stackPos-(8-7)], $this->startAttributeStack[$stackPos-(8-1)] + $this->endAttributes);
},
176 => function ($stackPos) {
$this->semValue = null;
},
177 => function ($stackPos) {
$this->semValue = new Stmt\Finally_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
},
178 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(2-1)];
},
179 => function ($stackPos) {
$this->semValue = array($this->semStack[$stackPos-(1-1)]);
},
180 => function ($stackPos) {
$this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)];
},
181 => function ($stackPos) {
$this->semValue = false;
},
182 => function ($stackPos) {
$this->semValue = true;
},
183 => function ($stackPos) {
$this->semValue = false;
},
184 => function ($stackPos) {
$this->semValue = true;
},
185 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(3-2)];
},
186 => function ($stackPos) {
$this->semValue = [];
},
187 => 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)]], $this->startAttributeStack[$stackPos-(8-1)] + $this->endAttributes);
},
188 => 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)]], $this->startAttributeStack[$stackPos-(7-1)] + $this->endAttributes);
$this->checkClass($this->semValue, $stackPos-(7-2));
},
189 => function ($stackPos) {
$this->semValue = new Stmt\Interface_($this->semStack[$stackPos-(6-2)], ['extends' => $this->semStack[$stackPos-(6-3)], 'stmts' => $this->semStack[$stackPos-(6-5)]], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes);
$this->checkInterface($this->semValue, $stackPos-(6-2));
},
190 => function ($stackPos) {
$this->semValue = new Stmt\Trait_($this->semStack[$stackPos-(5-2)], ['stmts' => $this->semStack[$stackPos-(5-4)]], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes);
},
191 => function ($stackPos) {
$this->semValue = 0;
},
192 => function ($stackPos) {
$this->semValue = Stmt\Class_::MODIFIER_ABSTRACT;
},
193 => function ($stackPos) {
$this->semValue = Stmt\Class_::MODIFIER_FINAL;
},
194 => function ($stackPos) {
$this->semValue = null;
},
195 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(2-2)];
},
196 => function ($stackPos) {
$this->semValue = array();
},
197 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(2-2)];
},
198 => function ($stackPos) {
$this->semValue = array();
},
199 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(2-2)];
},
200 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(2-1)];
},
201 => function ($stackPos) {
$this->semValue = array($this->semStack[$stackPos-(1-1)]);
},
202 => function ($stackPos) {
$this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)];
},
203 => function ($stackPos) {
$this->semValue = is_array($this->semStack[$stackPos-(1-1)]) ? $this->semStack[$stackPos-(1-1)] : array($this->semStack[$stackPos-(1-1)]);
},
204 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(4-2)];
},
205 => function ($stackPos) {
$this->semValue = is_array($this->semStack[$stackPos-(1-1)]) ? $this->semStack[$stackPos-(1-1)] : array($this->semStack[$stackPos-(1-1)]);
},
206 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(4-2)];
},
207 => function ($stackPos) {
$this->semValue = is_array($this->semStack[$stackPos-(1-1)]) ? $this->semStack[$stackPos-(1-1)] : array($this->semStack[$stackPos-(1-1)]);
},
208 => function ($stackPos) {
$this->semValue = null;
},
209 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(4-2)];
},
210 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(2-1)];
},
211 => function ($stackPos) {
$this->semValue = array($this->semStack[$stackPos-(1-1)]);
},
212 => function ($stackPos) {
$this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)];
},
213 => function ($stackPos) {
$this->semValue = new Stmt\DeclareDeclare($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
},
214 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(3-2)];
},
215 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(4-3)];
},
216 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(4-2)];
},
217 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(5-3)];
},
218 => function ($stackPos) {
$this->semValue = array();
},
219 => function ($stackPos) {
$this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)];
},
220 => function ($stackPos) {
$this->semValue = new Stmt\Case_($this->semStack[$stackPos-(4-2)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
},
221 => function ($stackPos) {
$this->semValue = new Stmt\Case_(null, $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
},
222 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
223 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
224 => function ($stackPos) {
$this->semValue = new Expr\Match_($this->semStack[$stackPos-(7-3)], $this->semStack[$stackPos-(7-6)], $this->startAttributeStack[$stackPos-(7-1)] + $this->endAttributes);
},
225 => function ($stackPos) {
$this->semValue = [];
},
226 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(2-1)];
},
227 => function ($stackPos) {
$this->semValue = array($this->semStack[$stackPos-(1-1)]);
},
228 => function ($stackPos) {
$this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)];
},
229 => function ($stackPos) {
$this->semValue = new Node\MatchArm($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
},
230 => function ($stackPos) {
$this->semValue = new Node\MatchArm(null, $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
},
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 = array();
},
234 => function ($stackPos) {
$this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)];
},
235 => 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->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes);
},
236 => function ($stackPos) {
$this->semValue = array();
},
237 => function ($stackPos) {
$this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)];
},
238 => function ($stackPos) {
$this->semValue = new Stmt\ElseIf_($this->semStack[$stackPos-(6-3)], $this->semStack[$stackPos-(6-6)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes);
},
239 => function ($stackPos) {
$this->semValue = null;
},
240 => 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->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
},
241 => function ($stackPos) {
$this->semValue = null;
},
242 => function ($stackPos) {
$this->semValue = new Stmt\Else_($this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
},
243 => function ($stackPos) {
$this->semValue = array($this->semStack[$stackPos-(1-1)], false);
},
244 => function ($stackPos) {
$this->semValue = array($this->semStack[$stackPos-(2-2)], true);
},
245 => function ($stackPos) {
$this->semValue = array($this->semStack[$stackPos-(1-1)], false);
},
246 => function ($stackPos) {
$this->semValue = array($this->semStack[$stackPos-(1-1)], false);
},
247 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(2-1)];
},
248 => function ($stackPos) {
$this->semValue = array();
},
249 => function ($stackPos) {
$this->semValue = array($this->semStack[$stackPos-(1-1)]);
},
250 => function ($stackPos) {
$this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)];
},
251 => function ($stackPos) {
$this->semValue = 0;
},
252 => function ($stackPos) {
$this->semValue = Stmt\Class_::MODIFIER_PUBLIC;
},
253 => function ($stackPos) {
$this->semValue = Stmt\Class_::MODIFIER_PROTECTED;
},
254 => function ($stackPos) {
$this->semValue = Stmt\Class_::MODIFIER_PRIVATE;
},
255 => function ($stackPos) {
$this->semValue = new Node\Param($this->semStack[$stackPos-(5-5)], null, $this->semStack[$stackPos-(5-2)], $this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-4)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes, $this->semStack[$stackPos-(5-1)]);
$this->checkParam($this->semValue);
},
256 => function ($stackPos) {
$this->semValue = new Node\Param($this->semStack[$stackPos-(7-5)], $this->semStack[$stackPos-(7-7)], $this->semStack[$stackPos-(7-2)], $this->semStack[$stackPos-(7-3)], $this->semStack[$stackPos-(7-4)], $this->startAttributeStack[$stackPos-(7-1)] + $this->endAttributes, $this->semStack[$stackPos-(7-1)]);
$this->checkParam($this->semValue);
},
257 => function ($stackPos) {
$this->semValue = new Node\Param(new Expr\Error($this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes), null, $this->semStack[$stackPos-(5-2)], $this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-4)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes, $this->semStack[$stackPos-(5-1)]);
},
258 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(1-1)];
},
259 => function ($stackPos) {
$this->semValue = new Node\NullableType($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
},
260 => function ($stackPos) {
$this->semValue = new Node\UnionType($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
},
261 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(1-1)];
},
262 => function ($stackPos) {
$this->semValue = new Node\Name('static', $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
},
263 => function ($stackPos) {
$this->semValue = $this->handleBuiltinTypes($this->semStack[$stackPos-(1-1)]);
},
264 => function ($stackPos) {
$this->semValue = new Node\Identifier('array', $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
},
265 => function ($stackPos) {
$this->semValue = new Node\Identifier('callable', $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
},
266 => function ($stackPos) {
$this->semValue = array($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)]);
},
267 => function ($stackPos) {
$this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)];
},
268 => function ($stackPos) {
$this->semValue = array($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)]);
},
269 => function ($stackPos) {
$this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)];
},
270 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(1-1)];
},
271 => function ($stackPos) {
$this->semValue = new Node\NullableType($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
},
272 => function ($stackPos) {
$this->semValue = new Node\UnionType($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
},
273 => function ($stackPos) {
$this->semValue = null;
},
274 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(1-1)];
},
275 => function ($stackPos) {
$this->semValue = null;
},
276 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(2-2)];
},
277 => function ($stackPos) {
$this->semValue = null;
},
278 => function ($stackPos) {
$this->semValue = array();
},
279 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(4-2)];
},
280 => function ($stackPos) {
$this->semValue = array($this->semStack[$stackPos-(1-1)]);
},
281 => function ($stackPos) {
$this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)];
},
282 => function ($stackPos) {
$this->semValue = new Node\Arg($this->semStack[$stackPos-(1-1)], false, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
},
283 => function ($stackPos) {
$this->semValue = new Node\Arg($this->semStack[$stackPos-(2-2)], true, false, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
},
284 => function ($stackPos) {
$this->semValue = new Node\Arg($this->semStack[$stackPos-(2-2)], false, true, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
},
285 => function ($stackPos) {
$this->semValue = new Node\Arg($this->semStack[$stackPos-(3-3)], false, false, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes, $this->semStack[$stackPos-(3-1)]);
},
286 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(2-1)];
},
287 => function ($stackPos) {
$this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)];
},
288 => function ($stackPos) {
$this->semValue = array($this->semStack[$stackPos-(1-1)]);
},
289 => function ($stackPos) {
$this->semValue = new Expr\Variable($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
},
290 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(2-1)];
},
291 => function ($stackPos) {
$this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)];
},
292 => function ($stackPos) {
$this->semValue = array($this->semStack[$stackPos-(1-1)]);
},
293 => function ($stackPos) {
$this->semValue = new Stmt\StaticVar($this->semStack[$stackPos-(1-1)], null, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
},
294 => function ($stackPos) {
$this->semValue = new Stmt\StaticVar($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
},
295 => 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)]; }
},
296 => function ($stackPos) {
$this->semValue = array();
},
297 => function ($stackPos) {
$startAttributes = $this->lookaheadStartAttributes; if (isset($startAttributes['comments'])) { $nop = new Stmt\Nop($this->createCommentNopAttributes($startAttributes['comments'])); } else { $nop = null; };
if ($nop !== null) { $this->semStack[$stackPos-(1-1)][] = $nop; } $this->semValue = $this->semStack[$stackPos-(1-1)];
},
298 => function ($stackPos) {
$attrs = $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes;
$this->semValue = new Stmt\Property($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $attrs, $this->semStack[$stackPos-(4-2)]); $this->checkProperty($this->semValue, $stackPos-(4-1));
},
299 => function ($stackPos) {
$this->semValue = new Stmt\ClassConst($this->semStack[$stackPos-(4-3)], $this->semStack[$stackPos-(4-1)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); $this->checkClassConst($this->semValue, $stackPos-(4-1));
},
300 => function ($stackPos) {
$this->semValue = new Stmt\ClassMethod($this->semStack[$stackPos-(9-4)], ['type' => $this->semStack[$stackPos-(9-1)], 'byRef' => $this->semStack[$stackPos-(9-3)], 'params' => $this->semStack[$stackPos-(9-6)], 'returnType' => $this->semStack[$stackPos-(9-8)], 'stmts' => $this->semStack[$stackPos-(9-9)]], $this->startAttributeStack[$stackPos-(9-1)] + $this->endAttributes);
$this->checkClassMethod($this->semValue, $stackPos-(9-1));
},
301 => function ($stackPos) {
$this->semValue = new Stmt\TraitUse($this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
},
302 => function ($stackPos) {
$this->semValue = null; /* will be skipped */
},
303 => function ($stackPos) {
$this->semValue = array();
},
304 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(3-2)];
},
305 => function ($stackPos) {
$this->semValue = array();
},
306 => function ($stackPos) {
$this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)];
},
307 => 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->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
},
308 => 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->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes);
},
309 => 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->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
},
310 => 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->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
},
311 => 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->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
},
312 => function ($stackPos) {
$this->semValue = array($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)]);
},
313 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(1-1)];
},
314 => function ($stackPos) {
$this->semValue = array(null, $this->semStack[$stackPos-(1-1)]);
},
315 => function ($stackPos) {
$this->semValue = null;
},
316 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(1-1)];
},
317 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(1-1)];
},
318 => function ($stackPos) {
$this->semValue = 0;
},
319 => function ($stackPos) {
$this->semValue = 0;
},
320 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(1-1)];
},
321 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(1-1)];
},
322 => 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)];
},
323 => function ($stackPos) {
$this->semValue = Stmt\Class_::MODIFIER_PUBLIC;
},
324 => function ($stackPos) {
$this->semValue = Stmt\Class_::MODIFIER_PROTECTED;
},
325 => function ($stackPos) {
$this->semValue = Stmt\Class_::MODIFIER_PRIVATE;
},
326 => function ($stackPos) {
$this->semValue = Stmt\Class_::MODIFIER_STATIC;
},
327 => function ($stackPos) {
$this->semValue = Stmt\Class_::MODIFIER_ABSTRACT;
},
328 => function ($stackPos) {
$this->semValue = Stmt\Class_::MODIFIER_FINAL;
},
329 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(2-1)];
},
330 => function ($stackPos) {
$this->semValue = array($this->semStack[$stackPos-(1-1)]);
},
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 = new Node\VarLikeIdentifier(substr($this->semStack[$stackPos-(1-1)], 1), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
},
333 => function ($stackPos) {
$this->semValue = new Stmt\PropertyProperty($this->semStack[$stackPos-(1-1)], null, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
},
334 => function ($stackPos) {
$this->semValue = new Stmt\PropertyProperty($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
},
335 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(2-1)];
},
336 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(2-1)];
},
337 => function ($stackPos) {
$this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)];
},
338 => function ($stackPos) {
$this->semValue = array($this->semStack[$stackPos-(1-1)]);
},
339 => function ($stackPos) {
$this->semValue = array();
},
340 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(1-1)];
},
341 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(1-1)];
},
342 => function ($stackPos) {
$this->semValue = new Expr\Assign($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
},
343 => function ($stackPos) {
$this->semValue = new Expr\Assign($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
},
344 => function ($stackPos) {
$this->semValue = new Expr\Assign($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
},
345 => function ($stackPos) {
$this->semValue = new Expr\AssignRef($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
},
346 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(1-1)];
},
347 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(1-1)];
},
348 => function ($stackPos) {
$this->semValue = new Expr\Clone_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
},
349 => function ($stackPos) {
$this->semValue = new Expr\AssignOp\Plus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
},
350 => function ($stackPos) {
$this->semValue = new Expr\AssignOp\Minus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
},
351 => function ($stackPos) {
$this->semValue = new Expr\AssignOp\Mul($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
},
352 => function ($stackPos) {
$this->semValue = new Expr\AssignOp\Div($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
},
353 => function ($stackPos) {
$this->semValue = new Expr\AssignOp\Concat($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
},
354 => function ($stackPos) {
$this->semValue = new Expr\AssignOp\Mod($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
},
355 => function ($stackPos) {
$this->semValue = new Expr\AssignOp\BitwiseAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
},
356 => function ($stackPos) {
$this->semValue = new Expr\AssignOp\BitwiseOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
},
357 => function ($stackPos) {
$this->semValue = new Expr\AssignOp\BitwiseXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
},
358 => function ($stackPos) {
$this->semValue = new Expr\AssignOp\ShiftLeft($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
},
359 => function ($stackPos) {
$this->semValue = new Expr\AssignOp\ShiftRight($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
},
360 => function ($stackPos) {
$this->semValue = new Expr\AssignOp\Pow($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
},
361 => function ($stackPos) {
$this->semValue = new Expr\AssignOp\Coalesce($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
},
362 => function ($stackPos) {
$this->semValue = new Expr\PostInc($this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
},
363 => function ($stackPos) {
$this->semValue = new Expr\PreInc($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
},
364 => function ($stackPos) {
$this->semValue = new Expr\PostDec($this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
},
365 => function ($stackPos) {
$this->semValue = new Expr\PreDec($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
},
366 => function ($stackPos) {
$this->semValue = new Expr\BinaryOp\BooleanOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
},
367 => function ($stackPos) {
$this->semValue = new Expr\BinaryOp\BooleanAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
},
368 => function ($stackPos) {
$this->semValue = new Expr\BinaryOp\LogicalOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
},
369 => function ($stackPos) {
$this->semValue = new Expr\BinaryOp\LogicalAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
},
370 => function ($stackPos) {
$this->semValue = new Expr\BinaryOp\LogicalXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
},
371 => function ($stackPos) {
$this->semValue = new Expr\BinaryOp\BitwiseOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
},
372 => function ($stackPos) {
$this->semValue = new Expr\BinaryOp\BitwiseAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
},
373 => function ($stackPos) {
$this->semValue = new Expr\BinaryOp\BitwiseXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
},
374 => function ($stackPos) {
$this->semValue = new Expr\BinaryOp\Concat($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
},
375 => function ($stackPos) {
$this->semValue = new Expr\BinaryOp\Plus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
},
376 => function ($stackPos) {
$this->semValue = new Expr\BinaryOp\Minus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
},
377 => function ($stackPos) {
$this->semValue = new Expr\BinaryOp\Mul($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
},
378 => function ($stackPos) {
$this->semValue = new Expr\BinaryOp\Div($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
},
379 => function ($stackPos) {
$this->semValue = new Expr\BinaryOp\Mod($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
},
380 => function ($stackPos) {
$this->semValue = new Expr\BinaryOp\ShiftLeft($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
},
381 => function ($stackPos) {
$this->semValue = new Expr\BinaryOp\ShiftRight($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
},
382 => function ($stackPos) {
$this->semValue = new Expr\BinaryOp\Pow($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
},
383 => function ($stackPos) {
$this->semValue = new Expr\UnaryPlus($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
},
384 => function ($stackPos) {
$this->semValue = new Expr\UnaryMinus($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
},
385 => function ($stackPos) {
$this->semValue = new Expr\BooleanNot($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
},
386 => function ($stackPos) {
$this->semValue = new Expr\BitwiseNot($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
},
387 => function ($stackPos) {
$this->semValue = new Expr\BinaryOp\Identical($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
},
388 => function ($stackPos) {
$this->semValue = new Expr\BinaryOp\NotIdentical($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
},
389 => function ($stackPos) {
$this->semValue = new Expr\BinaryOp\Equal($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
},
390 => function ($stackPos) {
$this->semValue = new Expr\BinaryOp\NotEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
},
391 => function ($stackPos) {
$this->semValue = new Expr\BinaryOp\Spaceship($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
},
392 => function ($stackPos) {
$this->semValue = new Expr\BinaryOp\Smaller($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
},
393 => function ($stackPos) {
$this->semValue = new Expr\BinaryOp\SmallerOrEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
},
394 => function ($stackPos) {
$this->semValue = new Expr\BinaryOp\Greater($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
},
395 => function ($stackPos) {
$this->semValue = new Expr\BinaryOp\GreaterOrEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
},
396 => function ($stackPos) {
$this->semValue = new Expr\Instanceof_($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
},
397 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(3-2)];
},
398 => function ($stackPos) {
$this->semValue = new Expr\Ternary($this->semStack[$stackPos-(5-1)], $this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-5)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes);
},
399 => function ($stackPos) {
$this->semValue = new Expr\Ternary($this->semStack[$stackPos-(4-1)], null, $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
},
400 => function ($stackPos) {
$this->semValue = new Expr\BinaryOp\Coalesce($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
},
401 => function ($stackPos) {
$this->semValue = new Expr\Isset_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
},
402 => function ($stackPos) {
$this->semValue = new Expr\Empty_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
},
403 => function ($stackPos) {
$this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
},
404 => function ($stackPos) {
$this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE_ONCE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
},
405 => function ($stackPos) {
$this->semValue = new Expr\Eval_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
},
406 => function ($stackPos) {
$this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
},
407 => function ($stackPos) {
$this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE_ONCE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
},
408 => function ($stackPos) {
$this->semValue = new Expr\Cast\Int_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
},
409 => function ($stackPos) {
$attrs = $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes;
$attrs['kind'] = $this->getFloatCastKind($this->semStack[$stackPos-(2-1)]);
$this->semValue = new Expr\Cast\Double($this->semStack[$stackPos-(2-2)], $attrs);
},
410 => function ($stackPos) {
$this->semValue = new Expr\Cast\String_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
},
411 => function ($stackPos) {
$this->semValue = new Expr\Cast\Array_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
},
412 => function ($stackPos) {
$this->semValue = new Expr\Cast\Object_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
},
413 => function ($stackPos) {
$this->semValue = new Expr\Cast\Bool_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
},
414 => function ($stackPos) {
$this->semValue = new Expr\Cast\Unset_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
},
415 => function ($stackPos) {
$attrs = $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes;
$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);
},
416 => function ($stackPos) {
$this->semValue = new Expr\ErrorSuppress($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
},
417 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(1-1)];
},
418 => function ($stackPos) {
$this->semValue = new Expr\ShellExec($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
},
419 => function ($stackPos) {
$this->semValue = new Expr\Print_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
},
420 => function ($stackPos) {
$this->semValue = new Expr\Yield_(null, null, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
},
421 => function ($stackPos) {
$this->semValue = new Expr\Yield_($this->semStack[$stackPos-(2-2)], null, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
},
422 => function ($stackPos) {
$this->semValue = new Expr\Yield_($this->semStack[$stackPos-(4-4)], $this->semStack[$stackPos-(4-2)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
},
423 => function ($stackPos) {
$this->semValue = new Expr\YieldFrom($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
},
424 => function ($stackPos) {
$this->semValue = new Expr\Throw_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
},
425 => 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)]], $this->startAttributeStack[$stackPos-(8-1)] + $this->endAttributes);
},
426 => 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)]], $this->startAttributeStack[$stackPos-(9-1)] + $this->endAttributes);
},
427 => 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)]], $this->startAttributeStack[$stackPos-(8-1)] + $this->endAttributes);
},
428 => 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)]], $this->startAttributeStack[$stackPos-(9-1)] + $this->endAttributes);
},
429 => function ($stackPos) {
$this->semValue = array(new Stmt\Class_(null, ['type' => 0, 'extends' => $this->semStack[$stackPos-(7-3)], 'implements' => $this->semStack[$stackPos-(7-4)], 'stmts' => $this->semStack[$stackPos-(7-6)]], $this->startAttributeStack[$stackPos-(7-1)] + $this->endAttributes), $this->semStack[$stackPos-(7-2)]);
$this->checkClass($this->semValue[0], -1);
},
430 => function ($stackPos) {
$this->semValue = new Expr\New_($this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
},
431 => function ($stackPos) {
list($class, $ctorArgs) = $this->semStack[$stackPos-(2-2)]; $this->semValue = new Expr\New_($class, $ctorArgs, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
},
432 => function ($stackPos) {
$this->semValue = array();
},
433 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(4-3)];
},
434 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(2-1)];
},
435 => function ($stackPos) {
$this->semValue = array($this->semStack[$stackPos-(1-1)]);
},
436 => function ($stackPos) {
$this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)];
},
437 => function ($stackPos) {
$this->semValue = new Expr\ClosureUse($this->semStack[$stackPos-(2-2)], $this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
},
438 => function ($stackPos) {
$this->semValue = new Expr\FuncCall($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
},
439 => function ($stackPos) {
$this->semValue = new Expr\FuncCall($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
},
440 => function ($stackPos) {
$this->semValue = new Expr\StaticCall($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
},
441 => function ($stackPos) {
$this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
},
442 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(1-1)];
},
443 => function ($stackPos) {
$this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
},
444 => function ($stackPos) {
$this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
},
445 => function ($stackPos) {
$this->semValue = new Name\FullyQualified(substr($this->semStack[$stackPos-(1-1)], 1), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
},
446 => function ($stackPos) {
$this->semValue = new Name\Relative(substr($this->semStack[$stackPos-(1-1)], 10), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
},
447 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(1-1)];
},
448 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(1-1)];
},
449 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(3-2)];
},
450 => function ($stackPos) {
$this->semValue = new Expr\Error($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); $this->errorState = 2;
},
451 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(1-1)];
},
452 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(1-1)];
},
453 => function ($stackPos) {
$this->semValue = null;
},
454 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(3-2)];
},
455 => function ($stackPos) {
$this->semValue = array();
},
456 => function ($stackPos) {
$this->semValue = array(new Scalar\EncapsedStringPart(Scalar\String_::parseEscapeSequences($this->semStack[$stackPos-(1-1)], '`'), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes));
},
457 => function ($stackPos) {
foreach ($this->semStack[$stackPos-(1-1)] as $s) { if ($s instanceof Node\Scalar\EncapsedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '`', true); } }; $this->semValue = $this->semStack[$stackPos-(1-1)];
},
458 => function ($stackPos) {
$this->semValue = array();
},
459 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(1-1)];
},
460 => function ($stackPos) {
$this->semValue = new Expr\ConstFetch($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
},
461 => function ($stackPos) {
$this->semValue = new Scalar\MagicConst\Line($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
},
462 => function ($stackPos) {
$this->semValue = new Scalar\MagicConst\File($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
},
463 => function ($stackPos) {
$this->semValue = new Scalar\MagicConst\Dir($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
},
464 => function ($stackPos) {
$this->semValue = new Scalar\MagicConst\Class_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
},
465 => function ($stackPos) {
$this->semValue = new Scalar\MagicConst\Trait_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
},
466 => function ($stackPos) {
$this->semValue = new Scalar\MagicConst\Method($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
},
467 => function ($stackPos) {
$this->semValue = new Scalar\MagicConst\Function_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
},
468 => function ($stackPos) {
$this->semValue = new Scalar\MagicConst\Namespace_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
},
469 => function ($stackPos) {
$this->semValue = new Expr\ClassConstFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
},
470 => function ($stackPos) {
$this->semValue = new Expr\ClassConstFetch($this->semStack[$stackPos-(3-1)], new Expr\Error($this->startAttributeStack[$stackPos-(3-3)] + $this->endAttributeStack[$stackPos-(3-3)]), $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); $this->errorState = 2;
},
471 => function ($stackPos) {
$attrs = $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes; $attrs['kind'] = Expr\Array_::KIND_SHORT;
$this->semValue = new Expr\Array_($this->semStack[$stackPos-(3-2)], $attrs);
},
472 => function ($stackPos) {
$attrs = $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes; $attrs['kind'] = Expr\Array_::KIND_LONG;
$this->semValue = new Expr\Array_($this->semStack[$stackPos-(4-3)], $attrs);
},
473 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(1-1)];
},
474 => function ($stackPos) {
$attrs = $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes; $attrs['kind'] = ($this->semStack[$stackPos-(1-1)][0] === "'" || ($this->semStack[$stackPos-(1-1)][1] === "'" && ($this->semStack[$stackPos-(1-1)][0] === 'b' || $this->semStack[$stackPos-(1-1)][0] === 'B')) ? Scalar\String_::KIND_SINGLE_QUOTED : Scalar\String_::KIND_DOUBLE_QUOTED);
$this->semValue = new Scalar\String_(Scalar\String_::parse($this->semStack[$stackPos-(1-1)]), $attrs);
},
475 => function ($stackPos) {
$attrs = $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes; $attrs['kind'] = Scalar\String_::KIND_DOUBLE_QUOTED;
foreach ($this->semStack[$stackPos-(3-2)] as $s) { if ($s instanceof Node\Scalar\EncapsedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '"', true); } }; $this->semValue = new Scalar\Encapsed($this->semStack[$stackPos-(3-2)], $attrs);
},
476 => function ($stackPos) {
$this->semValue = $this->parseLNumber($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
},
477 => function ($stackPos) {
$this->semValue = new Scalar\DNumber(Scalar\DNumber::parse($this->semStack[$stackPos-(1-1)]), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
},
478 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(1-1)];
},
479 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(1-1)];
},
480 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(1-1)];
},
481 => function ($stackPos) {
$this->semValue = $this->parseDocString($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes, $this->startAttributeStack[$stackPos-(3-3)] + $this->endAttributeStack[$stackPos-(3-3)], true);
},
482 => function ($stackPos) {
$this->semValue = $this->parseDocString($this->semStack[$stackPos-(2-1)], '', $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes, $this->startAttributeStack[$stackPos-(2-2)] + $this->endAttributeStack[$stackPos-(2-2)], true);
},
483 => function ($stackPos) {
$this->semValue = $this->parseDocString($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes, $this->startAttributeStack[$stackPos-(3-3)] + $this->endAttributeStack[$stackPos-(3-3)], true);
},
484 => function ($stackPos) {
$this->semValue = null;
},
485 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(1-1)];
},
486 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(1-1)];
},
487 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(3-2)];
},
488 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(1-1)];
},
489 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(1-1)];
},
490 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(1-1)];
},
491 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(1-1)];
},
492 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(1-1)];
},
493 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(3-2)];
},
494 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(1-1)];
},
495 => function ($stackPos) {
$this->semValue = new Expr\Variable($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
},
496 => function ($stackPos) {
$this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
},
497 => function ($stackPos) {
$this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
},
498 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(1-1)];
},
499 => function ($stackPos) {
$this->semValue = new Expr\MethodCall($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
},
500 => function ($stackPos) {
$this->semValue = new Expr\NullsafeMethodCall($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
},
501 => function ($stackPos) {
$this->semValue = null;
},
502 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(1-1)];
},
503 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(1-1)];
},
504 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(1-1)];
},
505 => function ($stackPos) {
$this->semValue = new Expr\PropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
},
506 => function ($stackPos) {
$this->semValue = new Expr\NullsafePropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
},
507 => function ($stackPos) {
$this->semValue = substr($this->semStack[$stackPos-(1-1)], 1);
},
508 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(4-3)];
},
509 => function ($stackPos) {
$this->semValue = new Expr\Variable($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
},
510 => function ($stackPos) {
$this->semValue = new Expr\Error($this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); $this->errorState = 2;
},
511 => function ($stackPos) {
$var = $this->semStack[$stackPos-(1-1)]; $this->semValue = \is_string($var) ? new Node\VarLikeIdentifier($var, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes) : $var;
},
512 => function ($stackPos) {
$this->semValue = new Expr\StaticPropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
},
513 => function ($stackPos) {
$this->semValue = new Expr\Variable($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
},
514 => function ($stackPos) {
$this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
},
515 => function ($stackPos) {
$this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
},
516 => function ($stackPos) {
$this->semValue = new Expr\PropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
},
517 => function ($stackPos) {
$this->semValue = new Expr\NullsafePropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
},
518 => function ($stackPos) {
$this->semValue = new Expr\StaticPropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
},
519 => function ($stackPos) {
$this->semValue = new Expr\StaticPropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
},
520 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(1-1)];
},
521 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(3-2)];
},
522 => function ($stackPos) {
$this->semValue = new Expr\Variable($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
},
523 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(1-1)];
},
524 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(3-2)];
},
525 => function ($stackPos) {
$this->semValue = new Expr\Variable($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
},
526 => function ($stackPos) {
$this->semValue = new Expr\Error($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); $this->errorState = 2;
},
527 => function ($stackPos) {
$this->semValue = new Expr\List_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
},
528 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(1-1)]; $end = count($this->semValue)-1; if ($this->semValue[$end] === null) array_pop($this->semValue);
},
529 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos];
},
530 => function ($stackPos) {
/* do nothing -- prevent default action of $$=$this->semStack[$1]. See $551. */
},
531 => function ($stackPos) {
$this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)];
},
532 => function ($stackPos) {
$this->semValue = array($this->semStack[$stackPos-(1-1)]);
},
533 => function ($stackPos) {
$this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(1-1)], null, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
},
534 => function ($stackPos) {
$this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(2-2)], null, true, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
},
535 => function ($stackPos) {
$this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(1-1)], null, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
},
536 => function ($stackPos) {
$this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(3-3)], $this->semStack[$stackPos-(3-1)], false, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
},
537 => function ($stackPos) {
$this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(4-4)], $this->semStack[$stackPos-(4-1)], true, $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
},
538 => function ($stackPos) {
$this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(3-3)], $this->semStack[$stackPos-(3-1)], false, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
},
539 => function ($stackPos) {
$this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(2-2)], null, false, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes, true, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
},
540 => function ($stackPos) {
$this->semValue = null;
},
541 => function ($stackPos) {
$this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)];
},
542 => function ($stackPos) {
$this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)];
},
543 => function ($stackPos) {
$this->semValue = array($this->semStack[$stackPos-(1-1)]);
},
544 => function ($stackPos) {
$this->semValue = array($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)]);
},
545 => function ($stackPos) {
$this->semValue = new Scalar\EncapsedStringPart($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
},
546 => function ($stackPos) {
$this->semValue = new Expr\Variable($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
},
547 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(1-1)];
},
548 => function ($stackPos) {
$this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
},
549 => function ($stackPos) {
$this->semValue = new Expr\PropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
},
550 => function ($stackPos) {
$this->semValue = new Expr\NullsafePropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
},
551 => function ($stackPos) {
$this->semValue = new Expr\Variable($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
},
552 => function ($stackPos) {
$this->semValue = new Expr\Variable($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
},
553 => function ($stackPos) {
$this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(6-2)], $this->semStack[$stackPos-(6-4)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes);
},
554 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(3-2)];
},
555 => function ($stackPos) {
$this->semValue = new Scalar\String_($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
},
556 => function ($stackPos) {
$this->semValue = $this->parseNumString($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
},
557 => function ($stackPos) {
$this->semValue = $this->parseNumString('-' . $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
},
558 => function ($stackPos) {
$this->semValue = $this->semStack[$stackPos-(1-1)];
},
];
}
}