--- /dev/null
+<?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 Php5 extends \PhpParser\ParserAbstract
+{
+ protected $tokenToSymbolMapSize = 392;
+ protected $actionTableSize = 1020;
+ protected $gotoTableSize = 591;
+
+ protected $invalidSymbol = 157;
+ protected $errorSymbol = 1;
+ protected $defaultAction = -32766;
+ protected $unexpectedTokenRule = 32767;
+
+ protected $YY2TBLSTATE = 405;
+ protected $YYNLSTATES = 667;
+
+ protected $symbolToName = array(
+ "EOF",
+ "error",
+ "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",
+ "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_ENDSWITCH",
+ "T_CASE",
+ "T_DEFAULT",
+ "T_BREAK",
+ "T_CONTINUE",
+ "T_GOTO",
+ "T_FUNCTION",
+ "T_CONST",
+ "T_RETURN",
+ "T_TRY",
+ "T_CATCH",
+ "T_FINALLY",
+ "T_THROW",
+ "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_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",
+ "';'",
+ "'{'",
+ "'}'",
+ "'('",
+ "')'",
+ "'$'",
+ "'`'",
+ "']'",
+ "'\"'"
+ );
+
+ protected $tokenToSymbol = array(
+ 0, 157, 157, 157, 157, 157, 157, 157, 157, 157,
+ 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
+ 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
+ 157, 157, 157, 53, 156, 157, 153, 52, 35, 157,
+ 151, 152, 50, 47, 7, 48, 49, 51, 157, 157,
+ 157, 157, 157, 157, 157, 157, 157, 157, 29, 148,
+ 41, 15, 43, 28, 65, 157, 157, 157, 157, 157,
+ 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
+ 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
+ 157, 67, 157, 155, 34, 157, 154, 157, 157, 157,
+ 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
+ 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
+ 157, 157, 157, 149, 33, 150, 55, 157, 157, 157,
+ 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
+ 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
+ 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
+ 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
+ 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
+ 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
+ 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
+ 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
+ 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
+ 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
+ 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
+ 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
+ 157, 157, 157, 157, 157, 157, 1, 2, 3, 4,
+ 5, 6, 8, 9, 10, 11, 12, 13, 14, 16,
+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
+ 27, 30, 31, 32, 36, 37, 38, 39, 40, 42,
+ 44, 45, 46, 54, 56, 57, 58, 59, 60, 61,
+ 62, 63, 64, 66, 68, 69, 70, 71, 72, 73,
+ 74, 75, 76, 77, 78, 79, 80, 81, 157, 157,
+ 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, 157, 157, 157, 157,
+ 157, 157, 138, 139, 140, 141, 142, 143, 144, 145,
+ 146, 147
+ );
+
+ protected $action = array(
+ 672, 673, 674, 675, 676,-32766, 677, 678, 679, 715,
+ 716, 216, 217, 218, 219, 220, 221, 222, 223, 224,
+ 0, 225, 226, 227, 228, 229, 230, 231, 232, 233,
+ 234, 235, 236,-32766,-32766,-32766,-32766,-32766,-32766,-32766,
+ -32766,-32767,-32767,-32767,-32767, 441, 237, 238,-32766,-32766,
+ -32766,-32766, 680,-32766, 1036,-32766,-32766,-32766,-32766,-32766,
+ -32766,-32767,-32767,-32767,-32767,-32767, 681, 682, 683, 684,
+ 685, 686, 687, 909, 329, 747,-32766,-32766,-32766,-32766,
+ -32766, 282, 688, 689, 690, 691, 692, 693, 694, 695,
+ 696, 697, 698, 718, 719, 720, 721, 722, 710, 711,
+ 712, 713, 714, 699, 700, 701, 702, 703, 704, 705,
+ 741, 742, 743, 744, 745, 746, 706, 707, 708, 709,
+ 739, 730, 728, 729, 725, 726, 1178, 717, 723, 724,
+ 731, 732, 734, 733, 735, 736, 52, 53, 420, 54,
+ 55, 727, 738, 737, 23, 56, 57, 284, 58,-32766,
+ -32766,-32766,-32766,-32766,-32766,-32766,-32766,-32766, 7,-32767,
+ -32767,-32767,-32767, 50, 325,-32766, 585, 945, 946, 947,
+ 944, 943, 942, 937, 1213, 27, 1215, 1214, 763, 764,
+ 821, 59, 60,-32766,-32766,-32766, 809, 61, 1172, 62,
+ 291, 292, 63, 64, 65, 66, 67, 68, 69, 70,
+ 334, 24, 299, 71, 413,-32766,-32766,-32766, 1185, 1087,
+ 1088, 749, 633, 1178, 213, 214, 215, 464,-32766,-32766,
+ -32766, 822, 407, 1099, 311,-32766, 1186,-32766,-32766,-32766,
+ -32766,-32766,-32766, 1036, 200, -269, 428,-32766,-32766,-32766,
+ -32766,-32766,-32766,-32766,-32766, 120, 491, 945, 946, 947,
+ 944, 943, 942, 306, 473, 474, 293, 623, 125,-32766,
+ 893, 894, 339, 477, 478,-32766, 1093, 1094, 1095, 1096,
+ 1090, 1091, 307, 492,-32766, 440, 425, 492, 1097, 1092,
+ 425, 121, -220, 869, 1182, 39, 280, 334, 321, 900,
+ 322, 421, -122, -122, -122, -4, 822, 463, 99, 100,
+ 101, 811, 301, 119, 38, 19, 422, -122, 465, -122,
+ 466, -122, 467, -122, 102, 423, -122, -122, -122, 28,
+ 29, 468, 424, 624, 30, 469, 425, 812, 72, 297,
+ 923, 349, 350, 470, 471,-32766,-32766,-32766, 419, 472,
+ 1036, 447, 793, 840, 475, 476,-32767,-32767,-32767,-32767,
+ 94, 95, 96, 97, 98,-32766, 126,-32766,-32766,-32766,
+ -32766, 1137, 213, 214, 215, 295, 421, 239, 824, 638,
+ -122, 1036, 463, 893, 894, 1205, 811, 1036, 1204, 38,
+ 19, 422, 200, 465, 356, 466, 492, 467, 127, 425,
+ 423, 213, 214, 215, 28, 29, 468, 424, 414, 30,
+ 469, 1036, 870, 72, 320, 822, 349, 350, 470, 471,
+ 34, 200, 214, 215, 472, 460, 762, 755, 840, 475,
+ 476, 213, 214, 215, 295, -216, 76, 77, 78, 46,
+ 298, 200, 412, 653, 338, 438, 31, 294, 333, 8,
+ 348, 200, 241, 824, 638, -4, 32, 332, 79, 80,
+ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
+ 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
+ 101, 1210, 301, 204, 822, 421, 805, 124,-32766,-32766,
+ -32766, 463, 899, 1054, 102, 811, 18, 206, 38, 19,
+ 422, 518, 465, 1172, 466, 546, 467, 47,-32766, 423,
+ -32766,-32766, 647, 28, 29, 468, 822, 801, 30, 469,
+ 415, 116, 72, 803, 49, 349, 350,-32766,-32766,-32766,
+ -32766,-32766,-32766, 472, 477, 808, 234, 235, 236, 213,
+ 214, 215, 1036, 215, 644, 1138, 124,-32766,-32766,-32766,
+ -32766,-32766, 237, 238, 421, 231, 232, 233, 1099, 200,
+ 463, 200, 824, 638, 811, 439, 918, 38, 19, 422,
+ 1036, 465, 242, 466, 749, 467, 1178, 339, 423, 96,
+ 97, 98, 28, 29, 468, 822, 421, 30, 469, 117,
+ 919, 72, 463, 283, 349, 350, 811, 244, 1036, 38,
+ 19, 422, 472, 465, 243, 466, 118, 467, 377, 1064,
+ 423, 1036, 207, 642, 28, 29, 468, 822, 129, 30,
+ 469, 296, 576, 72,-32766,-32766, 349, 350, 123, 205,
+ 492, 824, 638, 425, 472, 115,-32766,-32766,-32766, 434,
+ 492, 200, 640, 425, 820, 641,-32766,-32766, 429,-32766,
+ 334, 237, 238, 454, 591, 421,-32766, 130, 357, 449,
+ 20, 463, 128, 856, 638, 811, 763, 764, 38, 19,
+ 422, 313, 465, 646, 466, 650, 467, 599, 600, 423,
+ 833, 301, 605, 28, 29, 468, 822, 421, 30, 469,
+ 756, 643, 72, 463, 299, 349, 350, 811, 922, 666,
+ 38, 19, 422, 472, 465, 102, 466, 51, 467, 934,
+ 656, 423, 512, 433, 48, 28, 29, 468, 41, 42,
+ 30, 469, 43, 44, 72, 45, 435, 349, 350, 1057,
+ 750, 1208, 824, 638, 776, 472, 749, 33, 103, 104,
+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+ 534, 533, 517, 513, 524, 437, 421, 602, 516, 622,
+ 612, 619, 463, 582, 824, 638, 811, 595,-32766, 38,
+ 19, 422, 632, 465, 579, 466, 240, 467, 975, 977,
+ 423, 609, 1144, 279, 28, 29, 468, 12, -80, 30,
+ 469, 537, 432, 72, 208, 209, 349, 350, 458, 1098,
+ 210, 596, 211, 328, 472, 326, 11, 842, 323, 393,
+ 4, 385, 408, 303, 202, 1034, 0, 0, 324, 208,
+ 209, 841, 1087, 1088, 0, 210,-32766, 211, -497, -498,
+ 1089, 312, 310, 824, 638, 477, 0, 0, 0, 202,
+ 0, -398, 0, 0, 9, 0, 0, 1087, 1088, 3,
+ -497,-32766, -406, 370, -407, 1089, 835, 639, 0, 384,
+ 372, 409, 526, 434, 0, 0, 864, 857, 863, 872,
+ 0, 813, 798, 819, 807, 761, 661, 565, 760, 1093,
+ 1094, 1095, 1096, 1090, 1091, 383, 37, 36, 759, 926,
+ 810, 1097, 1092, 854, 852, 302, 806, 929, 212, 818,
+ -32766, 930, 565, 928, 1093, 1094, 1095, 1096, 1090, 1091,
+ 383, 927, 796, 804, 660, 802, 1097, 1092, 649, 651,
+ 75, 0, 652, 212, 654,-32766, 655, 658, 663, 664,
+ 665, 405, 122, 330, 331, 406, 0, 1211, 757, 758,
+ 839, 838, 766, 453, 1209, 1179, 1177, 1163, 1175, 1078,
+ 911, 1183, 1173, 829, 836, 1038, 1039, 827, 935, 1212,
+ 765, 837, 794, 662, 1050, 768, 767, 861, 862, 0,
+ 304, 290, 289, 25, 26, 281, 203, 74, 305, 336,
+ 411, 417, 35, 73,-32766, 40, 22, 0, 1015, 569,
+ -217, 1016, 1103, 1080, 901, 1040, 1044, 1041, 629, 559,
+ 461, 457, 455, 450, 378, 16, 15, 14, -216, 0,
+ 0, -416, 0, 1045, 603, 1157, 1104, 1207, 1077, 1174,
+ 1158, 1162, 1176, 1063, 1048, 1049, 1046, 1047, 0, 1143
+ );
+
+ protected $actionCheck = array(
+ 2, 3, 4, 5, 6, 8, 8, 9, 10, 11,
+ 12, 31, 32, 33, 34, 35, 36, 37, 38, 39,
+ 0, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+ 50, 51, 52, 8, 9, 10, 31, 32, 33, 34,
+ 35, 36, 37, 38, 39, 7, 66, 67, 31, 32,
+ 33, 34, 54, 28, 12, 30, 31, 32, 33, 34,
+ 35, 36, 37, 38, 39, 40, 68, 69, 70, 71,
+ 72, 73, 74, 79, 7, 77, 31, 32, 33, 34,
+ 35, 7, 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, 79, 129, 130, 131,
+ 132, 133, 134, 135, 136, 137, 2, 3, 4, 5,
+ 6, 143, 144, 145, 7, 11, 12, 153, 14, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 103, 41,
+ 42, 43, 44, 67, 109, 79, 82, 112, 113, 114,
+ 115, 116, 117, 118, 77, 7, 79, 80, 102, 103,
+ 1, 47, 48, 8, 9, 10, 148, 53, 79, 55,
+ 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
+ 153, 67, 68, 69, 70, 8, 9, 10, 1, 75,
+ 76, 77, 77, 79, 8, 9, 10, 83, 8, 9,
+ 10, 1, 146, 139, 128, 28, 152, 30, 31, 32,
+ 33, 34, 35, 12, 28, 79, 102, 151, 28, 153,
+ 30, 31, 32, 33, 34, 149, 112, 112, 113, 114,
+ 115, 116, 117, 7, 120, 121, 35, 77, 149, 103,
+ 130, 131, 153, 129, 130, 109, 132, 133, 134, 135,
+ 136, 137, 138, 143, 118, 7, 146, 143, 144, 145,
+ 146, 7, 152, 29, 77, 151, 13, 153, 154, 152,
+ 156, 71, 72, 73, 74, 0, 1, 77, 50, 51,
+ 52, 81, 54, 13, 84, 85, 86, 87, 88, 89,
+ 90, 91, 92, 93, 66, 95, 96, 97, 98, 99,
+ 100, 101, 102, 143, 104, 105, 146, 148, 108, 7,
+ 150, 111, 112, 113, 114, 8, 9, 10, 7, 119,
+ 12, 7, 122, 123, 124, 125, 41, 42, 43, 44,
+ 45, 46, 47, 48, 49, 28, 149, 30, 31, 32,
+ 33, 155, 8, 9, 10, 35, 71, 13, 148, 149,
+ 150, 12, 77, 130, 131, 79, 81, 12, 82, 84,
+ 85, 86, 28, 88, 7, 90, 143, 92, 67, 146,
+ 95, 8, 9, 10, 99, 100, 101, 102, 103, 104,
+ 105, 12, 148, 108, 109, 1, 111, 112, 113, 114,
+ 13, 28, 9, 10, 119, 7, 148, 122, 123, 124,
+ 125, 8, 9, 10, 35, 152, 8, 9, 10, 67,
+ 35, 28, 7, 29, 67, 29, 140, 141, 143, 7,
+ 7, 28, 29, 148, 149, 150, 28, 7, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
+ 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
+ 52, 150, 54, 7, 1, 71, 148, 147, 8, 9,
+ 10, 77, 152, 152, 66, 81, 152, 15, 84, 85,
+ 86, 82, 88, 79, 90, 128, 92, 67, 28, 95,
+ 30, 31, 29, 99, 100, 101, 1, 148, 104, 105,
+ 123, 149, 108, 148, 67, 111, 112, 8, 9, 10,
+ 31, 32, 33, 119, 129, 148, 50, 51, 52, 8,
+ 9, 10, 12, 10, 29, 152, 147, 28, 151, 30,
+ 31, 32, 66, 67, 71, 47, 48, 49, 139, 28,
+ 77, 28, 148, 149, 81, 149, 148, 84, 85, 86,
+ 12, 88, 15, 90, 77, 92, 79, 153, 95, 47,
+ 48, 49, 99, 100, 101, 1, 71, 104, 105, 149,
+ 148, 108, 77, 35, 111, 112, 81, 15, 12, 84,
+ 85, 86, 119, 88, 15, 90, 149, 92, 78, 112,
+ 95, 12, 15, 29, 99, 100, 101, 1, 149, 104,
+ 105, 35, 153, 108, 31, 32, 111, 112, 29, 15,
+ 143, 148, 149, 146, 119, 15, 8, 9, 10, 146,
+ 143, 28, 149, 146, 29, 29, 8, 9, 151, 31,
+ 153, 66, 67, 72, 73, 71, 28, 97, 98, 72,
+ 73, 77, 29, 148, 149, 81, 102, 103, 84, 85,
+ 86, 29, 88, 29, 90, 29, 92, 106, 107, 95,
+ 35, 54, 74, 99, 100, 101, 1, 71, 104, 105,
+ 148, 149, 108, 77, 68, 111, 112, 81, 148, 149,
+ 84, 85, 86, 119, 88, 66, 90, 67, 92, 148,
+ 149, 95, 77, 77, 67, 99, 100, 101, 67, 67,
+ 104, 105, 67, 67, 108, 67, 77, 111, 112, 79,
+ 77, 77, 148, 149, 77, 119, 77, 15, 16, 17,
+ 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
+ 77, 77, 77, 77, 82, 86, 71, 79, 79, 79,
+ 79, 91, 77, 96, 148, 149, 81, 96, 82, 84,
+ 85, 86, 89, 88, 87, 90, 29, 92, 56, 57,
+ 95, 93, 139, 94, 99, 100, 101, 94, 94, 104,
+ 105, 94, 102, 108, 47, 48, 111, 112, 102, 139,
+ 53, 109, 55, 126, 119, 110, 142, 123, 126, 146,
+ 142, 146, 146, 151, 67, 154, -1, -1, 127, 47,
+ 48, 123, 75, 76, -1, 53, 79, 55, 128, 128,
+ 83, 128, 128, 148, 149, 129, -1, -1, -1, 67,
+ -1, 142, -1, -1, 142, -1, -1, 75, 76, 142,
+ 128, 79, 142, 142, 142, 83, 147, 149, -1, 146,
+ 146, 146, 146, 146, -1, -1, 148, 148, 148, 148,
+ -1, 148, 148, 148, 148, 148, 148, 130, 148, 132,
+ 133, 134, 135, 136, 137, 138, 148, 148, 148, 148,
+ 148, 144, 145, 148, 148, 151, 148, 148, 151, 148,
+ 153, 148, 130, 148, 132, 133, 134, 135, 136, 137,
+ 138, 148, 148, 148, 148, 148, 144, 145, 149, 149,
+ 149, -1, 149, 151, 149, 153, 149, 149, 149, 149,
+ 149, 149, 149, 149, 149, 149, -1, 150, 150, 150,
+ 150, 150, 150, 150, 150, 150, 150, 150, 150, 150,
+ 150, 150, 150, 150, 150, 150, 150, 150, 150, 150,
+ 150, 150, 150, 150, 150, 150, 150, 150, 150, -1,
+ 151, 151, 151, 151, 151, 151, 151, 151, 151, 151,
+ 151, 151, 151, 151, 151, 151, 151, -1, 152, 152,
+ 152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
+ 152, 152, 152, 152, 152, 152, 152, 152, 152, -1,
+ -1, 154, -1, 155, 155, 155, 155, 155, 155, 155,
+ 155, 155, 155, 155, 155, 155, 155, 155, -1, 156
+ );
+
+ protected $actionBase = array(
+ 0, 220, 295, 109, 109, 180, 745, -2, -2, -2,
+ -2, -2, 135, 574, 473, 404, 473, 606, 505, 675,
+ 675, 675, 330, 389, 221, 221, 831, 221, 359, 365,
+ 328, 520, 589, 548, 576, 42, 42, 42, 42, 134,
+ 134, 42, 42, 42, 42, 42, 42, 42, 42, 42,
+ 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
+ 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
+ 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
+ 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
+ 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
+ 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
+ 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
+ 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
+ 42, 254, 179, 290, 397, 757, 755, 738, 741, 833,
+ 679, 829, 784, 785, 623, 786, 787, 788, 789, 790,
+ 783, 791, 849, 792, 418, 418, 418, 418, 418, 418,
+ 418, 418, 418, 418, 418, -3, 354, 383, 413, 206,
+ 628, 521, 521, 521, 521, 521, 521, 521, 175, 175,
+ 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+ 175, 175, 175, 175, 175, 403, 618, 618, 618, 523,
+ 737, 603, 762, 762, 762, 762, 762, 762, 762, 762,
+ 762, 762, 762, 762, 762, 762, 762, 762, 762, 762,
+ 762, 762, 762, 762, 762, 762, 762, 762, 762, 762,
+ 762, 762, 762, 762, 762, 762, 762, 762, 762, 762,
+ 762, 762, 762, 762, 762, 470, -20, -20, 509, 608,
+ 327, 583, 210, 489, 197, 25, 25, 25, 25, 25,
+ 17, 45, 5, 5, 5, 5, 712, 305, 305, 305,
+ 305, 118, 118, 118, 118, 780, 781, 801, 804, 395,
+ 395, 696, 696, 616, 773, 522, 522, 498, 498, 487,
+ 487, 487, 487, 487, 487, 487, 487, 487, 487, 387,
+ 156, 823, 130, 130, 130, 130, 243, 409, 633, 863,
+ 207, 207, 207, 243, 248, 248, 248, 476, 476, 476,
+ 76, 662, 296, 86, 86, 86, 86, 296, 86, 86,
+ 554, 554, 554, 483, 761, 676, 477, 430, 97, 459,
+ 657, 807, 661, 808, 540, 702, 96, 656, 705, -6,
+ 680, 577, 571, 561, 689, 406, -6, 254, 551, 447,
+ 617, 732, 663, 268, 730, 377, 38, 367, 532, 362,
+ 414, 334, 774, 720, 827, 826, 74, 321, 691, 617,
+ 617, 617, 137, 84, 775, 772, 362, 273, 575, 575,
+ 575, 575, 806, 776, 575, 575, 575, 575, 805, 800,
+ 432, 408, 782, 331, 731, 649, 649, 649, 649, 649,
+ 649, 635, 649, 813, 666, 825, 825, 664, 668, 635,
+ 824, 824, 824, 824, 635, 649, 825, 825, 635, 616,
+ 825, 168, 635, 672, 649, 667, 667, 824, 756, 718,
+ 666, 669, 681, 825, 825, 825, 681, 664, 635, 824,
+ 682, 699, 466, 825, 824, 632, 632, 682, 635, 632,
+ 668, 632, 20, 605, 641, 821, 822, 820, 625, 698,
+ 688, 674, 811, 810, 816, 665, 626, 814, 812, 706,
+ 717, 716, 639, 610, 642, 645, 646, 648, 697, 637,
+ 694, 680, 707, 629, 629, 629, 690, 658, 690, 629,
+ 629, 629, 629, 629, 629, 629, 629, 848, 700, 701,
+ 693, 659, 715, 604, 704, 687, 472, 768, 650, 706,
+ 706, 802, 835, 842, 847, 651, 643, 734, 837, 690,
+ 862, 729, 274, 587, 652, 803, 703, 647, 655, 690,
+ 809, 690, 769, 690, 834, 799, 644, 706, 779, 629,
+ 832, 861, 860, 859, 858, 857, 856, 855, 854, 630,
+ 853, 714, 677, 841, 246, 815, 689, 692, 653, 713,
+ 67, 852, 778, 690, 690, 770, 761, 690, 771, 711,
+ 728, 845, 710, 840, 851, 650, 839, 690, 686, 850,
+ 67, 634, 598, 828, 678, 708, 819, 671, 830, 818,
+ 759, 547, 579, 777, 636, 754, 844, 843, 846, 709,
+ 760, 763, 572, 660, 640, 670, 793, 765, 817, 735,
+ 794, 795, 836, 684, 707, 654, 685, 683, 673, 767,
+ 796, 838, 736, 739, 743, 797, 753, 798, 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, 134, 134,
+ -2, -2, -2, -2, 0, 0, 0, 0, 0, -2,
+ 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
+ 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
+ 134, 134, 134, 134, 134, 134, 0, 0, 134, 134,
+ 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
+ 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
+ 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
+ 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
+ 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
+ 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
+ 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
+ 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
+ 134, 134, 134, 134, 134, 134, 134, 134, 418, 418,
+ 418, 418, 418, 418, 418, 418, 418, 418, 418, 418,
+ 418, 418, 418, 418, 418, 418, 418, 418, 418, 418,
+ 418, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 418, -20, -20, -20, -20, 418, -20, -20,
+ -20, -20, -20, -20, -20, 418, 418, 418, 418, 418,
+ 418, 418, 418, 418, 418, 418, 418, 418, 418, 418,
+ 418, 418, -20, 418, 418, 418, -20, 487, -20, 487,
+ 487, 487, 487, 487, 487, 487, 487, 487, 487, 487,
+ 487, 487, 487, 487, 487, 487, 487, 487, 487, 487,
+ 487, 487, 487, 487, 487, 487, 487, 487, 487, 487,
+ 487, 487, 487, 487, 487, 487, 487, 487, 487, 487,
+ 487, 487, 418, 0, 0, 418, -20, 418, -20, 418,
+ -20, 418, 418, 418, 418, 418, 418, -20, -20, -20,
+ -20, -20, -20, 0, 248, 248, 248, 248, -20, -20,
+ -20, -20, 55, 55, 55, 55, 487, 487, 487, 487,
+ 487, 487, 248, 248, 476, 476, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 487, 55, 487, 649,
+ 649, 649, 649, 649, 296, 296, 296, 47, 47, 47,
+ 649, 0, 0, 0, 0, 0, 0, 649, 296, 0,
+ 487, 487, 487, 487, 0, 487, 487, 649, 649, 649,
+ 649, 47, 296, 649, 825, 0, 47, 550, 550, 550,
+ 550, 67, 362, 0, 649, 649, 0, 669, 0, 0,
+ 0, 825, 0, 0, 0, 0, 0, 629, 274, 734,
+ 0, 433, 0, 0, 0, 0, 0, 0, 0, 643,
+ 433, 322, 322, 0, 0, 630, 629, 629, 629, 0,
+ 0, 643, 643, 0, 0, 0, 0, 0, 0, 440,
+ 643, 0, 0, 0, 0, 440, 425, 0, 0, 425,
+ 0, 67
+ );
+
+ protected $actionDefault = array(
+ 3,32767,32767,32767,32767,32767,32767,32767,32767,32767,
+ 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
+ 32767,32767,32767,32767, 525, 525,32767, 481,32767,32767,
+ 32767,32767,32767,32767,32767, 287, 287, 287,32767,32767,
+ 32767, 513, 513, 513, 513, 513, 513, 513, 513, 513,
+ 513, 513,32767,32767,32767,32767,32767, 369,32767,32767,
+ 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
+ 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
+ 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
+ 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
+ 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
+ 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
+ 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
+ 32767,32767,32767, 375, 530,32767,32767,32767,32767,32767,
+ 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
+ 32767,32767,32767,32767, 350, 351, 353, 354, 286, 514,
+ 237, 376, 529, 285, 239, 314, 485,32767,32767,32767,
+ 316, 116, 248, 193, 484, 119, 284, 224, 368, 370,
+ 315, 291, 296, 297, 298, 299, 300, 301, 302, 303,
+ 304, 305, 306, 307, 290, 441, 347, 346, 345, 443,
+ 32767, 442, 478, 478, 481,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, 312, 469, 468, 313, 439,
+ 317, 440, 319, 444, 318, 335, 336, 333, 334, 337,
+ 446, 445, 462, 463, 460, 461, 289, 338, 339, 340,
+ 341, 464, 465, 466, 467, 271, 271, 271, 271,32767,
+ 32767, 524, 524,32767,32767, 326, 327, 453, 454,32767,
+ 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
+ 272,32767, 228, 228, 228, 228, 228,32767,32767,32767,
+ 32767,32767,32767,32767, 321, 322, 320, 448, 449, 447,
+ 32767, 415,32767,32767,32767,32767,32767, 417,32767,32767,
+ 32767,32767,32767,32767,32767,32767,32767, 486,32767,32767,
+ 32767,32767,32767,32767,32767, 499, 404,32767,32767,32767,
+ 397, 212, 214, 161, 472,32767,32767,32767,32767, 504,
+ 331,32767,32767,32767,32767,32767,32767, 539,32767, 499,
+ 32767,32767,32767,32767,32767,32767,32767,32767, 344, 323,
+ 324, 325,32767,32767,32767,32767, 503, 497, 456, 457,
+ 458, 459,32767,32767, 450, 451, 452, 455,32767,32767,
+ 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
+ 32767, 165,32767, 412,32767, 418, 418,32767,32767, 165,
+ 32767,32767,32767,32767, 165,32767, 502, 501, 165,32767,
+ 398, 480, 165, 178,32767, 176, 176,32767, 198, 198,
+ 32767,32767, 180, 473, 492,32767, 180,32767, 165,32767,
+ 386, 167, 480,32767,32767, 230, 230, 386, 165, 230,
+ 32767, 230,32767, 82, 422,32767,32767,32767,32767,32767,
+ 32767,32767,32767,32767,32767,32767,32767,32767,32767, 399,
+ 32767,32767,32767,32767, 365, 366, 475, 488,32767, 489,
+ 32767, 397,32767, 329, 330, 332, 309,32767, 311, 355,
+ 356, 357, 358, 359, 360, 361, 363,32767, 402,32767,
+ 405,32767,32767,32767, 84, 108, 247,32767, 537, 84,
+ 400,32767,32767, 294, 537,32767,32767,32767,32767, 532,
+ 32767,32767, 288,32767,32767,32767, 84,32767, 84, 243,
+ 32767, 163,32767, 522,32767, 497,32767, 401,32767, 328,
+ 32767,32767,32767,32767,32767,32767,32767,32767,32767, 498,
+ 32767,32767,32767,32767, 219,32767, 435,32767, 84,32767,
+ 179,32767,32767, 292, 238,32767,32767, 531,32767,32767,
+ 32767,32767,32767,32767,32767,32767,32767, 164,32767,32767,
+ 181,32767,32767, 497,32767,32767,32767,32767,32767,32767,
+ 32767,32767, 283,32767,32767,32767,32767,32767, 497,32767,
+ 32767,32767, 223,32767,32767,32767,32767,32767,32767,32767,
+ 32767,32767,32767, 82, 60,32767, 265,32767,32767,32767,
+ 32767,32767,32767,32767,32767,32767,32767,32767, 121, 121,
+ 3, 121, 121, 3, 121, 121, 121, 121, 121, 121,
+ 121, 121, 121, 121, 121, 121, 121, 206, 250, 209,
+ 198, 198, 158, 250, 250, 250, 257
+ );
+
+ protected $goto = array(
+ 160, 160, 134, 134, 139, 134, 135, 136, 137, 142,
+ 144, 181, 162, 158, 158, 158, 158, 139, 139, 159,
+ 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
+ 154, 155, 156, 157, 178, 133, 179, 493, 494, 360,
+ 495, 499, 500, 501, 502, 503, 504, 505, 506, 962,
+ 138, 140, 141, 143, 165, 170, 180, 196, 245, 248,
+ 250, 252, 254, 255, 256, 257, 258, 259, 267, 268,
+ 269, 270, 285, 286, 314, 315, 316, 379, 380, 381,
+ 549, 182, 183, 184, 185, 186, 187, 188, 189, 190,
+ 191, 192, 193, 194, 145, 146, 147, 161, 148, 163,
+ 149, 197, 164, 150, 151, 152, 198, 153, 131, 625,
+ 567, 754, 567, 567, 567, 567, 567, 567, 567, 567,
+ 567, 567, 567, 567, 567, 567, 567, 567, 567, 567,
+ 567, 567, 567, 567, 567, 567, 567, 567, 567, 567,
+ 567, 567, 567, 567, 567, 567, 567, 567, 567, 567,
+ 567, 567, 567, 567, 567, 1100, 753, 1100, 1100, 1100,
+ 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100,
+ 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100,
+ 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100,
+ 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100,
+ 523, 784, 497, 497, 497, 497, 497, 497, 6, 508,
+ 634, 508, 497, 497, 497, 497, 497, 497, 497, 497,
+ 497, 497, 509, 550, 509, 580, 606, 522, 885, 885,
+ 1190, 1190, 815, 849, 849, 849, 849, 168, 844, 850,
+ 522, 522, 171, 172, 173, 388, 389, 390, 391, 167,
+ 195, 199, 201, 249, 251, 253, 260, 261, 262, 263,
+ 264, 265, 271, 272, 273, 274, 287, 288, 317, 318,
+ 319, 394, 395, 396, 397, 169, 174, 246, 247, 175,
+ 176, 177, 387, 608, 543, 543, 573, 539, 583, 586,
+ 631, 855, 541, 541, 496, 498, 529, 545, 574, 577,
+ 587, 593, 341, 1169, 566, 1169, 566, 566, 566, 566,
+ 566, 566, 566, 566, 566, 566, 566, 566, 566, 566,
+ 566, 566, 566, 566, 566, 566, 566, 566, 566, 566,
+ 566, 566, 566, 566, 566, 566, 566, 566, 566, 566,
+ 566, 566, 566, 566, 566, 566, 566, 566, 566, 514,
+ 443, 445, 933, 636, 327, 309, 1101, 618, 931, 519,
+ 519, 519, 519, 777, 551, 552, 553, 554, 555, 556,
+ 557, 558, 560, 589, 903, 611, 538, 519, 617, 548,
+ 358, 544, 572, 430, 430, 430, 430, 430, 430, 1194,
+ 777, 777, 361, 430, 430, 430, 430, 430, 430, 430,
+ 430, 430, 430, 1065, 1161, 1065, 892, 892, 892, 892,
+ 892, 1168, 598, 1168, 590, 344, 404, 892, 369, 369,
+ 369, 1058, 1184, 1184, 1184, 1076, 1075, 1065, 1065, 1065,
+ 1065, 1149, 1065, 1065, 519, 519, 536, 568, 519, 519,
+ 615, 519, 369, 510, 960, 510, 1167, 386, 770, 770,
+ 778, 778, 778, 780, 520, 769, 276, 277, 278, 535,
+ 607, 659, 562, 547, 594, 868, 882, 613, 867, 616,
+ 878, 620, 621, 628, 630, 635, 637, 1081, 375, 1201,
+ 1201, 1187, 1009, 889, 1019, 17, 13, 355, 790, 752,
+ 1200, 1200, 898, 1061, 1062, 362, 941, 1058, 1201, 527,
+ 871, 561, 851, 540, 657, 347, 511, 880, 875, 1200,
+ 1059, 1160, 1059, 21, 398, 373, 773, 1203, 604, 451,
+ 1060, 771, 907, 342, 343, 368, 645, 402, 446, 10,
+ 1056, 1051, 912, 781, 578, 1146, 859, 459, 949, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 528
+ );
+
+ protected $gotoCheck = array(
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 53,
+ 63, 12, 63, 63, 63, 63, 63, 63, 63, 63,
+ 63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
+ 63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
+ 63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
+ 63, 63, 63, 63, 63, 119, 11, 119, 119, 119,
+ 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
+ 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
+ 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
+ 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
+ 94, 25, 110, 110, 110, 110, 110, 110, 91, 63,
+ 5, 63, 110, 110, 110, 110, 110, 110, 110, 110,
+ 110, 110, 110, 40, 110, 36, 36, 40, 71, 71,
+ 71, 71, 46, 63, 63, 63, 63, 23, 63, 63,
+ 40, 40, 23, 23, 23, 23, 23, 23, 23, 23,
+ 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
+ 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
+ 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
+ 23, 23, 47, 47, 47, 47, 47, 47, 56, 56,
+ 56, 29, 47, 47, 47, 47, 47, 47, 47, 47,
+ 47, 47, 66, 111, 53, 111, 53, 53, 53, 53,
+ 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
+ 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
+ 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
+ 53, 53, 53, 53, 53, 53, 53, 53, 53, 8,
+ 7, 7, 7, 7, 118, 118, 7, 7, 7, 8,
+ 8, 8, 8, 19, 103, 103, 103, 103, 103, 103,
+ 103, 103, 103, 103, 78, 57, 8, 8, 57, 2,
+ 57, 102, 2, 53, 53, 53, 53, 53, 53, 132,
+ 19, 19, 43, 53, 53, 53, 53, 53, 53, 53,
+ 53, 53, 53, 53, 76, 53, 53, 53, 53, 53,
+ 53, 112, 120, 112, 64, 64, 64, 53, 116, 116,
+ 116, 76, 112, 112, 112, 117, 117, 53, 53, 53,
+ 53, 124, 53, 53, 8, 8, 8, 8, 8, 8,
+ 53, 8, 116, 115, 94, 115, 112, 116, 19, 19,
+ 19, 19, 19, 19, 8, 19, 61, 61, 61, 28,
+ 45, 28, 28, 8, 28, 28, 28, 28, 28, 28,
+ 28, 28, 28, 28, 28, 28, 28, 30, 44, 134,
+ 134, 130, 95, 73, 30, 30, 30, 30, 10, 10,
+ 133, 133, 75, 76, 76, 54, 91, 76, 134, 54,
+ 10, 30, 10, 54, 10, 14, 10, 10, 10, 133,
+ 76, 76, 76, 30, 18, 13, 21, 133, 30, 54,
+ 76, 20, 79, 66, 66, 9, 68, 17, 59, 54,
+ 108, 106, 80, 22, 60, 123, 65, 101, 93, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 94
+ );
+
+ protected $gotoBase = array(
+ 0, 0, -261, 0, 0, 198, 0, 347, 29, 192,
+ 487, 154, 109, 168, 185, 0, 0, 121, 183, 43,
+ 173, 184, 93, 37, 0, 193, 0, 0, -180, 273,
+ 64, 0, 0, 0, 0, 0, 189, 0, 0, -22,
+ 201, 0, 0, 354, 188, 180, 216, 3, 0, 0,
+ 0, 0, 0, 104, 71, 0, -15, -81, 0, 92,
+ 88, -207, 0, -90, 90, 89, -137, 0, 169, 0,
+ 0, -51, 0, 177, 0, 179, 67, 0, 351, 166,
+ 91, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 196, 0, 78, 161, 181, 0, 0, 0, 0,
+ 0, 80, 356, 322, 0, 0, 115, 0, 111, 0,
+ -77, 4, 112, 0, 0, 144, 108, 114, 33, -45,
+ 209, 0, 0, 83, 227, 0, 0, 0, 0, 0,
+ 199, 0, 362, 182, 171, 0, 0
+ );
+
+ protected $gotoDefault = array(
+ -32768, 462, 668, 2, 669, 740, 748, 601, 479, 515,
+ 853, 791, 792, 364, 410, 480, 363, 399, 392, 779,
+ 772, 774, 782, 166, 400, 785, 1, 787, 521, 823,
+ 1010, 351, 795, 352, 592, 797, 531, 799, 800, 132,
+ 481, 365, 366, 532, 374, 581, 814, 266, 371, 816,
+ 353, 817, 826, 354, 614, 597, 563, 610, 482, 442,
+ 575, 275, 542, 1073, 570, 858, 340, 866, 648, 874,
+ 877, 483, 564, 888, 448, 896, 1086, 382, 902, 908,
+ 913, 916, 418, 401, 588, 920, 921, 5, 925, 626,
+ 627, 940, 300, 948, 961, 416, 1029, 1031, 484, 485,
+ 525, 456, 507, 530, 486, 1052, 436, 403, 1055, 487,
+ 488, 426, 427, 1070, 346, 1154, 345, 444, 308, 1141,
+ 584, 1105, 452, 1193, 1150, 337, 489, 490, 359, 376,
+ 1188, 431, 1195, 1202, 335, 367, 571
+ );
+
+ 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, 6, 6, 6, 6, 6, 6, 6,
+ 7, 7, 8, 8, 9, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 14, 14, 15, 15,
+ 15, 15, 17, 17, 13, 13, 18, 18, 19, 19,
+ 20, 20, 21, 21, 16, 16, 22, 24, 24, 25,
+ 26, 26, 28, 27, 27, 27, 27, 29, 29, 29,
+ 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+ 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+ 29, 29, 29, 29, 29, 29, 10, 10, 50, 50,
+ 52, 51, 51, 44, 44, 54, 54, 55, 55, 11,
+ 12, 12, 12, 58, 58, 58, 59, 59, 62, 62,
+ 60, 60, 64, 64, 37, 37, 46, 46, 49, 49,
+ 49, 48, 48, 65, 38, 38, 38, 38, 66, 66,
+ 67, 67, 68, 68, 35, 35, 31, 31, 69, 33,
+ 33, 70, 32, 32, 34, 34, 45, 45, 45, 56,
+ 56, 72, 72, 73, 73, 75, 75, 75, 74, 74,
+ 57, 57, 76, 76, 76, 77, 77, 78, 78, 78,
+ 41, 41, 79, 79, 79, 42, 42, 80, 80, 61,
+ 61, 81, 81, 81, 81, 86, 86, 87, 87, 88,
+ 88, 88, 88, 88, 89, 90, 90, 85, 85, 82,
+ 82, 84, 84, 92, 92, 91, 91, 91, 91, 91,
+ 91, 83, 83, 93, 93, 43, 43, 36, 36, 39,
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 39, 30, 30, 40, 40, 98, 98, 99,
+ 99, 99, 99, 105, 94, 94, 101, 101, 107, 107,
+ 108, 109, 109, 109, 109, 109, 109, 63, 63, 53,
+ 53, 53, 95, 95, 113, 113, 110, 110, 114, 114,
+ 114, 114, 96, 96, 96, 100, 100, 100, 106, 106,
+ 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
+ 119, 119, 119, 23, 23, 23, 23, 23, 23, 121,
+ 121, 121, 121, 121, 121, 121, 121, 121, 121, 121,
+ 121, 121, 121, 121, 121, 121, 121, 121, 121, 121,
+ 121, 121, 121, 121, 121, 121, 121, 121, 121, 121,
+ 121, 121, 104, 104, 97, 97, 97, 97, 120, 120,
+ 123, 123, 122, 122, 124, 124, 47, 47, 47, 47,
+ 126, 126, 125, 125, 125, 125, 125, 127, 127, 112,
+ 112, 115, 115, 111, 111, 128, 128, 128, 128, 116,
+ 116, 116, 116, 103, 103, 117, 117, 117, 117, 71,
+ 129, 129, 130, 130, 130, 102, 102, 131, 131, 132,
+ 132, 132, 132, 118, 118, 118, 118, 134, 135, 133,
+ 133, 133, 133, 133, 133, 133, 136, 136, 136
+ );
+
+ 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, 3, 1, 1, 1, 1, 1, 3,
+ 5, 4, 3, 4, 2, 3, 1, 1, 7, 8,
+ 6, 7, 3, 1, 3, 1, 3, 1, 1, 3,
+ 1, 2, 1, 2, 3, 1, 3, 3, 1, 3,
+ 2, 0, 1, 1, 1, 1, 1, 3, 5, 8,
+ 3, 5, 9, 3, 2, 3, 2, 3, 2, 3,
+ 2, 3, 3, 3, 1, 2, 5, 7, 9, 5,
+ 6, 3, 3, 2, 2, 1, 1, 1, 0, 2,
+ 8, 0, 4, 1, 3, 0, 1, 0, 1, 10,
+ 7, 6, 5, 1, 2, 2, 0, 2, 0, 2,
+ 0, 2, 1, 3, 1, 4, 1, 4, 1, 1,
+ 4, 1, 3, 3, 3, 4, 4, 5, 0, 2,
+ 4, 3, 1, 1, 1, 4, 0, 2, 3, 0,
+ 2, 4, 0, 2, 0, 3, 1, 2, 1, 1,
+ 0, 1, 3, 4, 6, 1, 1, 1, 0, 1,
+ 0, 2, 2, 3, 3, 1, 3, 1, 2, 2,
+ 3, 1, 1, 2, 4, 3, 1, 1, 3, 2,
+ 0, 3, 3, 9, 3, 1, 3, 0, 2, 4,
+ 5, 4, 4, 4, 3, 1, 1, 1, 3, 1,
+ 1, 0, 1, 1, 2, 1, 1, 1, 1, 1,
+ 1, 1, 3, 1, 3, 3, 1, 0, 1, 1,
+ 3, 3, 4, 4, 1, 2, 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, 1, 3, 5, 4, 3, 4, 4,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 1, 1, 1, 3, 2, 1,
+ 2, 10, 11, 3, 3, 2, 4, 4, 3, 4,
+ 4, 4, 4, 7, 3, 2, 0, 4, 1, 3,
+ 2, 2, 4, 6, 2, 2, 4, 1, 1, 1,
+ 2, 3, 1, 1, 1, 1, 1, 1, 3, 3,
+ 4, 4, 0, 2, 1, 0, 1, 1, 0, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 3, 2, 1, 3, 1, 4, 3, 1, 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, 5, 4,
+ 4, 3, 1, 3, 1, 1, 3, 3, 0, 2,
+ 0, 1, 3, 1, 3, 1, 1, 1, 1, 1,
+ 6, 4, 3, 4, 2, 4, 4, 1, 3, 1,
+ 2, 1, 1, 4, 1, 3, 6, 4, 4, 4,
+ 4, 1, 4, 0, 1, 1, 3, 1, 1, 4,
+ 3, 1, 1, 1, 0, 0, 2, 3, 1, 3,
+ 1, 4, 2, 2, 2, 1, 2, 1, 1, 1,
+ 4, 3, 3, 3, 6, 3, 1, 1, 1
+ );
+
+ protected function reduceRule0() {
+ $this->semValue = $this->semStack[$this->stackPos];
+ }
+
+ protected function reduceRule1() {
+ $this->semValue = $this->handleNamespaces($this->semStack[$this->stackPos-(1-1)]);
+ }
+
+ protected function reduceRule2() {
+ if (is_array($this->semStack[$this->stackPos-(2-2)])) { $this->semValue = array_merge($this->semStack[$this->stackPos-(2-1)], $this->semStack[$this->stackPos-(2-2)]); } else { $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)]; };
+ }
+
+ protected function reduceRule3() {
+ $this->semValue = array();
+ }
+
+ protected function reduceRule4() {
+ $startAttributes = $this->lookaheadStartAttributes; if (isset($startAttributes['comments'])) { $nop = new Stmt\Nop(['comments' => $startAttributes['comments']]); } else { $nop = null; };
+ if ($nop !== null) { $this->semStack[$this->stackPos-(1-1)][] = $nop; } $this->semValue = $this->semStack[$this->stackPos-(1-1)];
+ }
+
+ protected function reduceRule5() {
+ $this->semValue = $this->semStack[$this->stackPos];
+ }
+
+ protected function reduceRule6() {
+ $this->semValue = $this->semStack[$this->stackPos];
+ }
+
+ protected function reduceRule7() {
+ $this->semValue = $this->semStack[$this->stackPos];
+ }
+
+ protected function reduceRule8() {
+ $this->semValue = $this->semStack[$this->stackPos];
+ }
+
+ protected function reduceRule9() {
+ $this->semValue = $this->semStack[$this->stackPos];
+ }
+
+ protected function reduceRule10() {
+ $this->semValue = $this->semStack[$this->stackPos];
+ }
+
+ protected function reduceRule11() {
+ $this->semValue = $this->semStack[$this->stackPos];
+ }
+
+ protected function reduceRule12() {
+ $this->semValue = $this->semStack[$this->stackPos];
+ }
+
+ protected function reduceRule13() {
+ $this->semValue = $this->semStack[$this->stackPos];
+ }
+
+ protected function reduceRule14() {
+ $this->semValue = $this->semStack[$this->stackPos];
+ }
+
+ protected function reduceRule15() {
+ $this->semValue = $this->semStack[$this->stackPos];
+ }
+
+ protected function reduceRule16() {
+ $this->semValue = $this->semStack[$this->stackPos];
+ }
+
+ protected function reduceRule17() {
+ $this->semValue = $this->semStack[$this->stackPos];
+ }
+
+ protected function reduceRule18() {
+ $this->semValue = $this->semStack[$this->stackPos];
+ }
+
+ protected function reduceRule19() {
+ $this->semValue = $this->semStack[$this->stackPos];
+ }
+
+ protected function reduceRule20() {
+ $this->semValue = $this->semStack[$this->stackPos];
+ }
+
+ protected function reduceRule21() {
+ $this->semValue = $this->semStack[$this->stackPos];
+ }
+
+ protected function reduceRule22() {
+ $this->semValue = $this->semStack[$this->stackPos];
+ }
+
+ protected function reduceRule23() {
+ $this->semValue = $this->semStack[$this->stackPos];
+ }
+
+ protected function reduceRule24() {
+ $this->semValue = $this->semStack[$this->stackPos];
+ }
+
+ protected function reduceRule25() {
+ $this->semValue = $this->semStack[$this->stackPos];
+ }
+
+ protected function reduceRule26() {
+ $this->semValue = $this->semStack[$this->stackPos];
+ }
+
+ protected function reduceRule27() {
+ $this->semValue = $this->semStack[$this->stackPos];
+ }
+
+ protected function reduceRule28() {
+ $this->semValue = $this->semStack[$this->stackPos];
+ }
+
+ protected function reduceRule29() {
+ $this->semValue = $this->semStack[$this->stackPos];
+ }
+
+ protected function reduceRule30() {
+ $this->semValue = $this->semStack[$this->stackPos];
+ }
+
+ protected function reduceRule31() {
+ $this->semValue = $this->semStack[$this->stackPos];
+ }
+
+ protected function reduceRule32() {
+ $this->semValue = $this->semStack[$this->stackPos];
+ }
+
+ protected function reduceRule33() {
+ $this->semValue = $this->semStack[$this->stackPos];
+ }
+
+ protected function reduceRule34() {
+ $this->semValue = $this->semStack[$this->stackPos];
+ }
+
+ protected function reduceRule35() {
+ $this->semValue = $this->semStack[$this->stackPos];
+ }
+
+ protected function reduceRule36() {
+ $this->semValue = $this->semStack[$this->stackPos];
+ }
+
+ protected function reduceRule37() {
+ $this->semValue = $this->semStack[$this->stackPos];
+ }
+
+ protected function reduceRule38() {
+ $this->semValue = $this->semStack[$this->stackPos];
+ }
+
+ protected function reduceRule39() {
+ $this->semValue = $this->semStack[$this->stackPos];
+ }
+
+ protected function reduceRule40() {
+ $this->semValue = $this->semStack[$this->stackPos];
+ }
+
+ protected function reduceRule41() {
+ $this->semValue = $this->semStack[$this->stackPos];
+ }
+
+ protected function reduceRule42() {
+ $this->semValue = $this->semStack[$this->stackPos];
+ }
+
+ protected function reduceRule43() {
+ $this->semValue = $this->semStack[$this->stackPos];
+ }
+
+ protected function reduceRule44() {
+ $this->semValue = $this->semStack[$this->stackPos];
+ }
+
+ protected function reduceRule45() {
+ $this->semValue = $this->semStack[$this->stackPos];
+ }
+
+ protected function reduceRule46() {
+ $this->semValue = $this->semStack[$this->stackPos];
+ }
+
+ protected function reduceRule47() {
+ $this->semValue = $this->semStack[$this->stackPos];
+ }
+
+ protected function reduceRule48() {
+ $this->semValue = $this->semStack[$this->stackPos];
+ }
+
+ protected function reduceRule49() {
+ $this->semValue = $this->semStack[$this->stackPos];
+ }
+
+ protected function reduceRule50() {
+ $this->semValue = $this->semStack[$this->stackPos];
+ }
+
+ protected function reduceRule51() {
+ $this->semValue = $this->semStack[$this->stackPos];
+ }
+
+ protected function reduceRule52() {
+ $this->semValue = $this->semStack[$this->stackPos];
+ }
+
+ protected function reduceRule53() {
+ $this->semValue = $this->semStack[$this->stackPos];
+ }
+
+ protected function reduceRule54() {
+ $this->semValue = $this->semStack[$this->stackPos];
+ }
+
+ protected function reduceRule55() {
+ $this->semValue = $this->semStack[$this->stackPos];
+ }
+
+ protected function reduceRule56() {
+ $this->semValue = $this->semStack[$this->stackPos];
+ }
+
+ protected function reduceRule57() {
+ $this->semValue = $this->semStack[$this->stackPos];
+ }
+
+ protected function reduceRule58() {
+ $this->semValue = $this->semStack[$this->stackPos];
+ }
+
+ protected function reduceRule59() {
+ $this->semValue = $this->semStack[$this->stackPos];
+ }
+
+ protected function reduceRule60() {
+ $this->semValue = $this->semStack[$this->stackPos];
+ }
+
+ protected function reduceRule61() {
+ $this->semValue = $this->semStack[$this->stackPos];
+ }
+
+ protected function reduceRule62() {
+ $this->semValue = $this->semStack[$this->stackPos];
+ }
+
+ protected function reduceRule63() {
+ $this->semValue = $this->semStack[$this->stackPos];
+ }
+
+ protected function reduceRule64() {
+ $this->semValue = $this->semStack[$this->stackPos];
+ }
+
+ protected function reduceRule65() {
+ $this->semValue = $this->semStack[$this->stackPos];
+ }
+
+ protected function reduceRule66() {
+ $this->semValue = $this->semStack[$this->stackPos];
+ }
+
+ protected function reduceRule67() {
+ $this->semValue = $this->semStack[$this->stackPos];
+ }
+
+ protected function reduceRule68() {
+ $this->semValue = $this->semStack[$this->stackPos];
+ }
+
+ protected function reduceRule69() {
+ $this->semValue = $this->semStack[$this->stackPos];
+ }
+
+ protected function reduceRule70() {
+ $this->semValue = $this->semStack[$this->stackPos];
+ }
+
+ protected function reduceRule71() {
+ $this->semValue = $this->semStack[$this->stackPos];
+ }
+
+ protected function reduceRule72() {
+ $this->semValue = $this->semStack[$this->stackPos];
+ }
+
+ protected function reduceRule73() {
+ $this->semValue = $this->semStack[$this->stackPos];
+ }
+
+ protected function reduceRule74() {
+ $this->semValue = $this->semStack[$this->stackPos];
+ }
+
+ protected function reduceRule75() {
+ $this->semValue = $this->semStack[$this->stackPos];
+ }
+
+ protected function reduceRule76() {
+ $this->semValue = $this->semStack[$this->stackPos];
+ }
+
+ protected function reduceRule77() {
+ $this->semValue = $this->semStack[$this->stackPos];
+ }
+
+ protected function reduceRule78() {
+ $this->semValue = $this->semStack[$this->stackPos];
+ }
+
+ protected function reduceRule79() {
+ $this->semValue = $this->semStack[$this->stackPos];
+ }
+
+ protected function reduceRule80() {
+ $this->semValue = $this->semStack[$this->stackPos-(1-1)];
+ }
+
+ protected function reduceRule81() {
+ $this->semValue = $this->semStack[$this->stackPos-(1-1)];
+ }
+
+ protected function reduceRule82() {
+ $this->semValue = array($this->semStack[$this->stackPos-(1-1)]);
+ }
+
+ protected function reduceRule83() {
+ $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)];
+ }
+
+ protected function reduceRule84() {
+ $this->semValue = new Name($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule85() {
+ $this->semValue = $this->semStack[$this->stackPos-(1-1)];
+ }
+
+ protected function reduceRule86() {
+ $this->semValue = $this->semStack[$this->stackPos-(1-1)];
+ }
+
+ protected function reduceRule87() {
+ $this->semValue = $this->semStack[$this->stackPos-(1-1)];
+ }
+
+ protected function reduceRule88() {
+ $this->semValue = new Stmt\HaltCompiler($this->lexer->handleHaltCompiler(), $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule89() {
+ $this->semValue = new Stmt\Namespace_($this->semStack[$this->stackPos-(3-2)], null, $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); $this->checkNamespace($this->semValue);
+ }
+
+ protected function reduceRule90() {
+ $this->semValue = new Stmt\Namespace_($this->semStack[$this->stackPos-(5-2)], $this->semStack[$this->stackPos-(5-4)], $this->startAttributeStack[$this->stackPos-(5-1)] + $this->endAttributes); $this->checkNamespace($this->semValue);
+ }
+
+ protected function reduceRule91() {
+ $this->semValue = new Stmt\Namespace_(null, $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); $this->checkNamespace($this->semValue);
+ }
+
+ protected function reduceRule92() {
+ $this->semValue = new Stmt\Use_($this->semStack[$this->stackPos-(3-2)], Stmt\Use_::TYPE_NORMAL, $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule93() {
+ $this->semValue = new Stmt\Use_($this->semStack[$this->stackPos-(4-3)], $this->semStack[$this->stackPos-(4-2)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule94() {
+ $this->semValue = $this->semStack[$this->stackPos-(2-1)];
+ }
+
+ protected function reduceRule95() {
+ $this->semValue = new Stmt\Const_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule96() {
+ $this->semValue = Stmt\Use_::TYPE_FUNCTION;
+ }
+
+ protected function reduceRule97() {
+ $this->semValue = Stmt\Use_::TYPE_CONSTANT;
+ }
+
+ protected function reduceRule98() {
+ $this->semValue = new Stmt\GroupUse(new Name($this->semStack[$this->stackPos-(7-3)], $this->startAttributeStack[$this->stackPos-(7-3)] + $this->endAttributeStack[$this->stackPos-(7-3)]), $this->semStack[$this->stackPos-(7-6)], $this->semStack[$this->stackPos-(7-2)], $this->startAttributeStack[$this->stackPos-(7-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule99() {
+ $this->semValue = new Stmt\GroupUse(new Name($this->semStack[$this->stackPos-(8-4)], $this->startAttributeStack[$this->stackPos-(8-4)] + $this->endAttributeStack[$this->stackPos-(8-4)]), $this->semStack[$this->stackPos-(8-7)], $this->semStack[$this->stackPos-(8-2)], $this->startAttributeStack[$this->stackPos-(8-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule100() {
+ $this->semValue = new Stmt\GroupUse(new Name($this->semStack[$this->stackPos-(6-2)], $this->startAttributeStack[$this->stackPos-(6-2)] + $this->endAttributeStack[$this->stackPos-(6-2)]), $this->semStack[$this->stackPos-(6-5)], Stmt\Use_::TYPE_UNKNOWN, $this->startAttributeStack[$this->stackPos-(6-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule101() {
+ $this->semValue = new Stmt\GroupUse(new Name($this->semStack[$this->stackPos-(7-3)], $this->startAttributeStack[$this->stackPos-(7-3)] + $this->endAttributeStack[$this->stackPos-(7-3)]), $this->semStack[$this->stackPos-(7-6)], Stmt\Use_::TYPE_UNKNOWN, $this->startAttributeStack[$this->stackPos-(7-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule102() {
+ $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)];
+ }
+
+ protected function reduceRule103() {
+ $this->semValue = array($this->semStack[$this->stackPos-(1-1)]);
+ }
+
+ protected function reduceRule104() {
+ $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)];
+ }
+
+ protected function reduceRule105() {
+ $this->semValue = array($this->semStack[$this->stackPos-(1-1)]);
+ }
+
+ protected function reduceRule106() {
+ $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)];
+ }
+
+ protected function reduceRule107() {
+ $this->semValue = array($this->semStack[$this->stackPos-(1-1)]);
+ }
+
+ protected function reduceRule108() {
+ $this->semValue = new Stmt\UseUse($this->semStack[$this->stackPos-(1-1)], null, Stmt\Use_::TYPE_UNKNOWN, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); $this->checkUseUse($this->semValue, $this->stackPos-(1-1));
+ }
+
+ protected function reduceRule109() {
+ $this->semValue = new Stmt\UseUse($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], Stmt\Use_::TYPE_UNKNOWN, $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); $this->checkUseUse($this->semValue, $this->stackPos-(3-3));
+ }
+
+ protected function reduceRule110() {
+ $this->semValue = $this->semStack[$this->stackPos-(1-1)];
+ }
+
+ protected function reduceRule111() {
+ $this->semValue = $this->semStack[$this->stackPos-(2-2)];
+ }
+
+ protected function reduceRule112() {
+ $this->semValue = $this->semStack[$this->stackPos-(1-1)]; $this->semValue->type = Stmt\Use_::TYPE_NORMAL;
+ }
+
+ protected function reduceRule113() {
+ $this->semValue = $this->semStack[$this->stackPos-(2-2)]; $this->semValue->type = $this->semStack[$this->stackPos-(2-1)];
+ }
+
+ protected function reduceRule114() {
+ $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)];
+ }
+
+ protected function reduceRule115() {
+ $this->semValue = array($this->semStack[$this->stackPos-(1-1)]);
+ }
+
+ protected function reduceRule116() {
+ $this->semValue = new Node\Const_($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule117() {
+ $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)];
+ }
+
+ protected function reduceRule118() {
+ $this->semValue = array($this->semStack[$this->stackPos-(1-1)]);
+ }
+
+ protected function reduceRule119() {
+ $this->semValue = new Node\Const_($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule120() {
+ if (is_array($this->semStack[$this->stackPos-(2-2)])) { $this->semValue = array_merge($this->semStack[$this->stackPos-(2-1)], $this->semStack[$this->stackPos-(2-2)]); } else { $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)]; };
+ }
+
+ protected function reduceRule121() {
+ $this->semValue = array();
+ }
+
+ protected function reduceRule122() {
+ $startAttributes = $this->lookaheadStartAttributes; if (isset($startAttributes['comments'])) { $nop = new Stmt\Nop(['comments' => $startAttributes['comments']]); } else { $nop = null; };
+ if ($nop !== null) { $this->semStack[$this->stackPos-(1-1)][] = $nop; } $this->semValue = $this->semStack[$this->stackPos-(1-1)];
+ }
+
+ protected function reduceRule123() {
+ $this->semValue = $this->semStack[$this->stackPos-(1-1)];
+ }
+
+ protected function reduceRule124() {
+ $this->semValue = $this->semStack[$this->stackPos-(1-1)];
+ }
+
+ protected function reduceRule125() {
+ $this->semValue = $this->semStack[$this->stackPos-(1-1)];
+ }
+
+ protected function reduceRule126() {
+ throw new Error('__HALT_COMPILER() can only be used from the outermost scope', $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule127() {
+ $this->semValue = $this->semStack[$this->stackPos-(3-2)]; $attrs = $this->startAttributeStack[$this->stackPos-(3-1)]; $stmts = $this->semValue; if (!empty($attrs['comments']) && isset($stmts[0])) {$stmts[0]->setAttribute('comments', array_merge($attrs['comments'], $stmts[0]->getAttribute('comments', []))); };
+ }
+
+ protected function reduceRule128() {
+ $this->semValue = new Stmt\If_($this->semStack[$this->stackPos-(5-2)], ['stmts' => is_array($this->semStack[$this->stackPos-(5-3)]) ? $this->semStack[$this->stackPos-(5-3)] : array($this->semStack[$this->stackPos-(5-3)]), 'elseifs' => $this->semStack[$this->stackPos-(5-4)], 'else' => $this->semStack[$this->stackPos-(5-5)]], $this->startAttributeStack[$this->stackPos-(5-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule129() {
+ $this->semValue = new Stmt\If_($this->semStack[$this->stackPos-(8-2)], ['stmts' => $this->semStack[$this->stackPos-(8-4)], 'elseifs' => $this->semStack[$this->stackPos-(8-5)], 'else' => $this->semStack[$this->stackPos-(8-6)]], $this->startAttributeStack[$this->stackPos-(8-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule130() {
+ $this->semValue = new Stmt\While_($this->semStack[$this->stackPos-(3-2)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule131() {
+ $this->semValue = new Stmt\Do_($this->semStack[$this->stackPos-(5-4)], is_array($this->semStack[$this->stackPos-(5-2)]) ? $this->semStack[$this->stackPos-(5-2)] : array($this->semStack[$this->stackPos-(5-2)]), $this->startAttributeStack[$this->stackPos-(5-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule132() {
+ $this->semValue = new Stmt\For_(['init' => $this->semStack[$this->stackPos-(9-3)], 'cond' => $this->semStack[$this->stackPos-(9-5)], 'loop' => $this->semStack[$this->stackPos-(9-7)], 'stmts' => $this->semStack[$this->stackPos-(9-9)]], $this->startAttributeStack[$this->stackPos-(9-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule133() {
+ $this->semValue = new Stmt\Switch_($this->semStack[$this->stackPos-(3-2)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule134() {
+ $this->semValue = new Stmt\Break_(null, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule135() {
+ $this->semValue = new Stmt\Break_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule136() {
+ $this->semValue = new Stmt\Continue_(null, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule137() {
+ $this->semValue = new Stmt\Continue_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule138() {
+ $this->semValue = new Stmt\Return_(null, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule139() {
+ $this->semValue = new Stmt\Return_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule140() {
+ $this->semValue = $this->semStack[$this->stackPos-(2-1)];
+ }
+
+ protected function reduceRule141() {
+ $this->semValue = new Stmt\Global_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule142() {
+ $this->semValue = new Stmt\Static_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule143() {
+ $this->semValue = new Stmt\Echo_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule144() {
+ $this->semValue = new Stmt\InlineHTML($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule145() {
+ $this->semValue = $this->semStack[$this->stackPos-(2-1)];
+ }
+
+ protected function reduceRule146() {
+ $this->semValue = new Stmt\Unset_($this->semStack[$this->stackPos-(5-3)], $this->startAttributeStack[$this->stackPos-(5-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule147() {
+ $this->semValue = new Stmt\Foreach_($this->semStack[$this->stackPos-(7-3)], $this->semStack[$this->stackPos-(7-5)][0], ['keyVar' => null, 'byRef' => $this->semStack[$this->stackPos-(7-5)][1], 'stmts' => $this->semStack[$this->stackPos-(7-7)]], $this->startAttributeStack[$this->stackPos-(7-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule148() {
+ $this->semValue = new Stmt\Foreach_($this->semStack[$this->stackPos-(9-3)], $this->semStack[$this->stackPos-(9-7)][0], ['keyVar' => $this->semStack[$this->stackPos-(9-5)], 'byRef' => $this->semStack[$this->stackPos-(9-7)][1], 'stmts' => $this->semStack[$this->stackPos-(9-9)]], $this->startAttributeStack[$this->stackPos-(9-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule149() {
+ $this->semValue = new Stmt\Declare_($this->semStack[$this->stackPos-(5-3)], $this->semStack[$this->stackPos-(5-5)], $this->startAttributeStack[$this->stackPos-(5-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule150() {
+ $this->semValue = new Stmt\TryCatch($this->semStack[$this->stackPos-(6-3)], $this->semStack[$this->stackPos-(6-5)], $this->semStack[$this->stackPos-(6-6)], $this->startAttributeStack[$this->stackPos-(6-1)] + $this->endAttributes); $this->checkTryCatch($this->semValue);
+ }
+
+ protected function reduceRule151() {
+ $this->semValue = new Stmt\Throw_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule152() {
+ $this->semValue = new Stmt\Goto_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule153() {
+ $this->semValue = new Stmt\Label($this->semStack[$this->stackPos-(2-1)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule154() {
+ $this->semValue = $this->semStack[$this->stackPos-(2-1)];
+ }
+
+ protected function reduceRule155() {
+ $this->semValue = array(); /* means: no statement */
+ }
+
+ protected function reduceRule156() {
+ $this->semValue = $this->semStack[$this->stackPos-(1-1)];
+ }
+
+ protected function reduceRule157() {
+ $startAttributes = $this->startAttributeStack[$this->stackPos-(1-1)]; if (isset($startAttributes['comments'])) { $this->semValue = new Stmt\Nop(['comments' => $startAttributes['comments']]); } else { $this->semValue = null; };
+ if ($this->semValue === null) $this->semValue = array(); /* means: no statement */
+ }
+
+ protected function reduceRule158() {
+ $this->semValue = array();
+ }
+
+ protected function reduceRule159() {
+ $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)];
+ }
+
+ protected function reduceRule160() {
+ $this->semValue = new Stmt\Catch_(array($this->semStack[$this->stackPos-(8-3)]), substr($this->semStack[$this->stackPos-(8-4)], 1), $this->semStack[$this->stackPos-(8-7)], $this->startAttributeStack[$this->stackPos-(8-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule161() {
+ $this->semValue = null;
+ }
+
+ protected function reduceRule162() {
+ $this->semValue = new Stmt\Finally_($this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule163() {
+ $this->semValue = array($this->semStack[$this->stackPos-(1-1)]);
+ }
+
+ protected function reduceRule164() {
+ $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)];
+ }
+
+ protected function reduceRule165() {
+ $this->semValue = false;
+ }
+
+ protected function reduceRule166() {
+ $this->semValue = true;
+ }
+
+ protected function reduceRule167() {
+ $this->semValue = false;
+ }
+
+ protected function reduceRule168() {
+ $this->semValue = true;
+ }
+
+ protected function reduceRule169() {
+ $this->semValue = new Stmt\Function_($this->semStack[$this->stackPos-(10-3)], ['byRef' => $this->semStack[$this->stackPos-(10-2)], 'params' => $this->semStack[$this->stackPos-(10-5)], 'returnType' => $this->semStack[$this->stackPos-(10-7)], 'stmts' => $this->semStack[$this->stackPos-(10-9)]], $this->startAttributeStack[$this->stackPos-(10-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule170() {
+ $this->semValue = new Stmt\Class_($this->semStack[$this->stackPos-(7-2)], ['type' => $this->semStack[$this->stackPos-(7-1)], 'extends' => $this->semStack[$this->stackPos-(7-3)], 'implements' => $this->semStack[$this->stackPos-(7-4)], 'stmts' => $this->semStack[$this->stackPos-(7-6)]], $this->startAttributeStack[$this->stackPos-(7-1)] + $this->endAttributes);
+ $this->checkClass($this->semValue, $this->stackPos-(7-2));
+ }
+
+ protected function reduceRule171() {
+ $this->semValue = new Stmt\Interface_($this->semStack[$this->stackPos-(6-2)], ['extends' => $this->semStack[$this->stackPos-(6-3)], 'stmts' => $this->semStack[$this->stackPos-(6-5)]], $this->startAttributeStack[$this->stackPos-(6-1)] + $this->endAttributes);
+ $this->checkInterface($this->semValue, $this->stackPos-(6-2));
+ }
+
+ protected function reduceRule172() {
+ $this->semValue = new Stmt\Trait_($this->semStack[$this->stackPos-(5-2)], ['stmts' => $this->semStack[$this->stackPos-(5-4)]], $this->startAttributeStack[$this->stackPos-(5-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule173() {
+ $this->semValue = 0;
+ }
+
+ protected function reduceRule174() {
+ $this->semValue = Stmt\Class_::MODIFIER_ABSTRACT;
+ }
+
+ protected function reduceRule175() {
+ $this->semValue = Stmt\Class_::MODIFIER_FINAL;
+ }
+
+ protected function reduceRule176() {
+ $this->semValue = null;
+ }
+
+ protected function reduceRule177() {
+ $this->semValue = $this->semStack[$this->stackPos-(2-2)];
+ }
+
+ protected function reduceRule178() {
+ $this->semValue = array();
+ }
+
+ protected function reduceRule179() {
+ $this->semValue = $this->semStack[$this->stackPos-(2-2)];
+ }
+
+ protected function reduceRule180() {
+ $this->semValue = array();
+ }
+
+ protected function reduceRule181() {
+ $this->semValue = $this->semStack[$this->stackPos-(2-2)];
+ }
+
+ protected function reduceRule182() {
+ $this->semValue = array($this->semStack[$this->stackPos-(1-1)]);
+ }
+
+ protected function reduceRule183() {
+ $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)];
+ }
+
+ protected function reduceRule184() {
+ $this->semValue = is_array($this->semStack[$this->stackPos-(1-1)]) ? $this->semStack[$this->stackPos-(1-1)] : array($this->semStack[$this->stackPos-(1-1)]);
+ }
+
+ protected function reduceRule185() {
+ $this->semValue = $this->semStack[$this->stackPos-(4-2)];
+ }
+
+ protected function reduceRule186() {
+ $this->semValue = is_array($this->semStack[$this->stackPos-(1-1)]) ? $this->semStack[$this->stackPos-(1-1)] : array($this->semStack[$this->stackPos-(1-1)]);
+ }
+
+ protected function reduceRule187() {
+ $this->semValue = $this->semStack[$this->stackPos-(4-2)];
+ }
+
+ protected function reduceRule188() {
+ $this->semValue = is_array($this->semStack[$this->stackPos-(1-1)]) ? $this->semStack[$this->stackPos-(1-1)] : array($this->semStack[$this->stackPos-(1-1)]);
+ }
+
+ protected function reduceRule189() {
+ $this->semValue = null;
+ }
+
+ protected function reduceRule190() {
+ $this->semValue = $this->semStack[$this->stackPos-(4-2)];
+ }
+
+ protected function reduceRule191() {
+ $this->semValue = array($this->semStack[$this->stackPos-(1-1)]);
+ }
+
+ protected function reduceRule192() {
+ $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)];
+ }
+
+ protected function reduceRule193() {
+ $this->semValue = new Stmt\DeclareDeclare($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule194() {
+ $this->semValue = $this->semStack[$this->stackPos-(3-2)];
+ }
+
+ protected function reduceRule195() {
+ $this->semValue = $this->semStack[$this->stackPos-(4-3)];
+ }
+
+ protected function reduceRule196() {
+ $this->semValue = $this->semStack[$this->stackPos-(4-2)];
+ }
+
+ protected function reduceRule197() {
+ $this->semValue = $this->semStack[$this->stackPos-(5-3)];
+ }
+
+ protected function reduceRule198() {
+ $this->semValue = array();
+ }
+
+ protected function reduceRule199() {
+ $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)];
+ }
+
+ protected function reduceRule200() {
+ $this->semValue = new Stmt\Case_($this->semStack[$this->stackPos-(4-2)], $this->semStack[$this->stackPos-(4-4)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule201() {
+ $this->semValue = new Stmt\Case_(null, $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule202() {
+ $this->semValue = $this->semStack[$this->stackPos];
+ }
+
+ protected function reduceRule203() {
+ $this->semValue = $this->semStack[$this->stackPos];
+ }
+
+ protected function reduceRule204() {
+ $this->semValue = is_array($this->semStack[$this->stackPos-(1-1)]) ? $this->semStack[$this->stackPos-(1-1)] : array($this->semStack[$this->stackPos-(1-1)]);
+ }
+
+ protected function reduceRule205() {
+ $this->semValue = $this->semStack[$this->stackPos-(4-2)];
+ }
+
+ protected function reduceRule206() {
+ $this->semValue = array();
+ }
+
+ protected function reduceRule207() {
+ $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)];
+ }
+
+ protected function reduceRule208() {
+ $this->semValue = new Stmt\ElseIf_($this->semStack[$this->stackPos-(3-2)], is_array($this->semStack[$this->stackPos-(3-3)]) ? $this->semStack[$this->stackPos-(3-3)] : array($this->semStack[$this->stackPos-(3-3)]), $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule209() {
+ $this->semValue = array();
+ }
+
+ protected function reduceRule210() {
+ $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)];
+ }
+
+ protected function reduceRule211() {
+ $this->semValue = new Stmt\ElseIf_($this->semStack[$this->stackPos-(4-2)], $this->semStack[$this->stackPos-(4-4)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule212() {
+ $this->semValue = null;
+ }
+
+ protected function reduceRule213() {
+ $this->semValue = new Stmt\Else_(is_array($this->semStack[$this->stackPos-(2-2)]) ? $this->semStack[$this->stackPos-(2-2)] : array($this->semStack[$this->stackPos-(2-2)]), $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule214() {
+ $this->semValue = null;
+ }
+
+ protected function reduceRule215() {
+ $this->semValue = new Stmt\Else_($this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule216() {
+ $this->semValue = array($this->semStack[$this->stackPos-(1-1)], false);
+ }
+
+ protected function reduceRule217() {
+ $this->semValue = array($this->semStack[$this->stackPos-(2-2)], true);
+ }
+
+ protected function reduceRule218() {
+ $this->semValue = array($this->semStack[$this->stackPos-(1-1)], false);
+ }
+
+ protected function reduceRule219() {
+ $this->semValue = $this->semStack[$this->stackPos-(1-1)];
+ }
+
+ protected function reduceRule220() {
+ $this->semValue = array();
+ }
+
+ protected function reduceRule221() {
+ $this->semValue = array($this->semStack[$this->stackPos-(1-1)]);
+ }
+
+ protected function reduceRule222() {
+ $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)];
+ }
+
+ protected function reduceRule223() {
+ $this->semValue = new Node\Param(substr($this->semStack[$this->stackPos-(4-4)], 1), null, $this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-2)], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); $this->checkParam($this->semValue);
+ }
+
+ protected function reduceRule224() {
+ $this->semValue = new Node\Param(substr($this->semStack[$this->stackPos-(6-4)], 1), $this->semStack[$this->stackPos-(6-6)], $this->semStack[$this->stackPos-(6-1)], $this->semStack[$this->stackPos-(6-2)], $this->semStack[$this->stackPos-(6-3)], $this->startAttributeStack[$this->stackPos-(6-1)] + $this->endAttributes); $this->checkParam($this->semValue);
+ }
+
+ protected function reduceRule225() {
+ $this->semValue = $this->semStack[$this->stackPos-(1-1)];
+ }
+
+ protected function reduceRule226() {
+ $this->semValue = 'array';
+ }
+
+ protected function reduceRule227() {
+ $this->semValue = 'callable';
+ }
+
+ protected function reduceRule228() {
+ $this->semValue = null;
+ }
+
+ protected function reduceRule229() {
+ $this->semValue = $this->semStack[$this->stackPos-(1-1)];
+ }
+
+ protected function reduceRule230() {
+ $this->semValue = null;
+ }
+
+ protected function reduceRule231() {
+ $this->semValue = $this->semStack[$this->stackPos-(2-2)];
+ }
+
+ protected function reduceRule232() {
+ $this->semValue = array();
+ }
+
+ protected function reduceRule233() {
+ $this->semValue = $this->semStack[$this->stackPos-(3-2)];
+ }
+
+ protected function reduceRule234() {
+ $this->semValue = array(new Node\Arg($this->semStack[$this->stackPos-(3-2)], false, false, $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes));
+ }
+
+ protected function reduceRule235() {
+ $this->semValue = array($this->semStack[$this->stackPos-(1-1)]);
+ }
+
+ protected function reduceRule236() {
+ $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)];
+ }
+
+ protected function reduceRule237() {
+ $this->semValue = new Node\Arg($this->semStack[$this->stackPos-(1-1)], false, false, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule238() {
+ $this->semValue = new Node\Arg($this->semStack[$this->stackPos-(2-2)], true, false, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule239() {
+ $this->semValue = new Node\Arg($this->semStack[$this->stackPos-(2-2)], false, true, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule240() {
+ $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)];
+ }
+
+ protected function reduceRule241() {
+ $this->semValue = array($this->semStack[$this->stackPos-(1-1)]);
+ }
+
+ protected function reduceRule242() {
+ $this->semValue = new Expr\Variable(substr($this->semStack[$this->stackPos-(1-1)], 1), $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule243() {
+ $this->semValue = new Expr\Variable($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule244() {
+ $this->semValue = new Expr\Variable($this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule245() {
+ $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)];
+ }
+
+ protected function reduceRule246() {
+ $this->semValue = array($this->semStack[$this->stackPos-(1-1)]);
+ }
+
+ protected function reduceRule247() {
+ $this->semValue = new Stmt\StaticVar(substr($this->semStack[$this->stackPos-(1-1)], 1), null, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule248() {
+ $this->semValue = new Stmt\StaticVar(substr($this->semStack[$this->stackPos-(3-1)], 1), $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule249() {
+ $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)];
+ }
+
+ protected function reduceRule250() {
+ $this->semValue = array();
+ }
+
+ protected function reduceRule251() {
+ $this->semValue = new Stmt\Property($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); $this->checkProperty($this->semValue, $this->stackPos-(3-1));
+ }
+
+ protected function reduceRule252() {
+ $this->semValue = new Stmt\ClassConst($this->semStack[$this->stackPos-(3-2)], 0, $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule253() {
+ $this->semValue = new Stmt\ClassMethod($this->semStack[$this->stackPos-(9-4)], ['type' => $this->semStack[$this->stackPos-(9-1)], 'byRef' => $this->semStack[$this->stackPos-(9-3)], 'params' => $this->semStack[$this->stackPos-(9-6)], 'returnType' => $this->semStack[$this->stackPos-(9-8)], 'stmts' => $this->semStack[$this->stackPos-(9-9)]], $this->startAttributeStack[$this->stackPos-(9-1)] + $this->endAttributes);
+ $this->checkClassMethod($this->semValue, $this->stackPos-(9-1));
+ }
+
+ protected function reduceRule254() {
+ $this->semValue = new Stmt\TraitUse($this->semStack[$this->stackPos-(3-2)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule255() {
+ $this->semValue = array();
+ }
+
+ protected function reduceRule256() {
+ $this->semValue = $this->semStack[$this->stackPos-(3-2)];
+ }
+
+ protected function reduceRule257() {
+ $this->semValue = array();
+ }
+
+ protected function reduceRule258() {
+ $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)];
+ }
+
+ protected function reduceRule259() {
+ $this->semValue = new Stmt\TraitUseAdaptation\Precedence($this->semStack[$this->stackPos-(4-1)][0], $this->semStack[$this->stackPos-(4-1)][1], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule260() {
+ $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$this->stackPos-(5-1)][0], $this->semStack[$this->stackPos-(5-1)][1], $this->semStack[$this->stackPos-(5-3)], $this->semStack[$this->stackPos-(5-4)], $this->startAttributeStack[$this->stackPos-(5-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule261() {
+ $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$this->stackPos-(4-1)][0], $this->semStack[$this->stackPos-(4-1)][1], $this->semStack[$this->stackPos-(4-3)], null, $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule262() {
+ $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$this->stackPos-(4-1)][0], $this->semStack[$this->stackPos-(4-1)][1], null, $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule263() {
+ $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$this->stackPos-(4-1)][0], $this->semStack[$this->stackPos-(4-1)][1], null, $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule264() {
+ $this->semValue = array($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)]);
+ }
+
+ protected function reduceRule265() {
+ $this->semValue = $this->semStack[$this->stackPos-(1-1)];
+ }
+
+ protected function reduceRule266() {
+ $this->semValue = array(null, $this->semStack[$this->stackPos-(1-1)]);
+ }
+
+ protected function reduceRule267() {
+ $this->semValue = null;
+ }
+
+ protected function reduceRule268() {
+ $this->semValue = $this->semStack[$this->stackPos-(3-2)];
+ }
+
+ protected function reduceRule269() {
+ $this->semValue = $this->semStack[$this->stackPos-(1-1)];
+ }
+
+ protected function reduceRule270() {
+ $this->semValue = 0;
+ }
+
+ protected function reduceRule271() {
+ $this->semValue = 0;
+ }
+
+ protected function reduceRule272() {
+ $this->semValue = $this->semStack[$this->stackPos-(1-1)];
+ }
+
+ protected function reduceRule273() {
+ $this->semValue = $this->semStack[$this->stackPos-(1-1)];
+ }
+
+ protected function reduceRule274() {
+ $this->checkModifier($this->semStack[$this->stackPos-(2-1)], $this->semStack[$this->stackPos-(2-2)], $this->stackPos-(2-2)); $this->semValue = $this->semStack[$this->stackPos-(2-1)] | $this->semStack[$this->stackPos-(2-2)];
+ }
+
+ protected function reduceRule275() {
+ $this->semValue = Stmt\Class_::MODIFIER_PUBLIC;
+ }
+
+ protected function reduceRule276() {
+ $this->semValue = Stmt\Class_::MODIFIER_PROTECTED;
+ }
+
+ protected function reduceRule277() {
+ $this->semValue = Stmt\Class_::MODIFIER_PRIVATE;
+ }
+
+ protected function reduceRule278() {
+ $this->semValue = Stmt\Class_::MODIFIER_STATIC;
+ }
+
+ protected function reduceRule279() {
+ $this->semValue = Stmt\Class_::MODIFIER_ABSTRACT;
+ }
+
+ protected function reduceRule280() {
+ $this->semValue = Stmt\Class_::MODIFIER_FINAL;
+ }
+
+ protected function reduceRule281() {
+ $this->semValue = array($this->semStack[$this->stackPos-(1-1)]);
+ }
+
+ protected function reduceRule282() {
+ $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)];
+ }
+
+ protected function reduceRule283() {
+ $this->semValue = new Stmt\PropertyProperty(substr($this->semStack[$this->stackPos-(1-1)], 1), null, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule284() {
+ $this->semValue = new Stmt\PropertyProperty(substr($this->semStack[$this->stackPos-(3-1)], 1), $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule285() {
+ $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)];
+ }
+
+ protected function reduceRule286() {
+ $this->semValue = array($this->semStack[$this->stackPos-(1-1)]);
+ }
+
+ protected function reduceRule287() {
+ $this->semValue = array();
+ }
+
+ protected function reduceRule288() {
+ $this->semValue = $this->semStack[$this->stackPos-(1-1)];
+ }
+
+ protected function reduceRule289() {
+ $this->semValue = $this->semStack[$this->stackPos-(1-1)];
+ }
+
+ protected function reduceRule290() {
+ $this->semValue = new Expr\Assign($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule291() {
+ $this->semValue = new Expr\Assign($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule292() {
+ $this->semValue = new Expr\AssignRef($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-4)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule293() {
+ $this->semValue = new Expr\AssignRef($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-4)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule294() {
+ $this->semValue = $this->semStack[$this->stackPos-(1-1)];
+ }
+
+ protected function reduceRule295() {
+ $this->semValue = new Expr\Clone_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule296() {
+ $this->semValue = new Expr\AssignOp\Plus($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule297() {
+ $this->semValue = new Expr\AssignOp\Minus($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule298() {
+ $this->semValue = new Expr\AssignOp\Mul($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule299() {
+ $this->semValue = new Expr\AssignOp\Div($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule300() {
+ $this->semValue = new Expr\AssignOp\Concat($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule301() {
+ $this->semValue = new Expr\AssignOp\Mod($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule302() {
+ $this->semValue = new Expr\AssignOp\BitwiseAnd($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule303() {
+ $this->semValue = new Expr\AssignOp\BitwiseOr($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule304() {
+ $this->semValue = new Expr\AssignOp\BitwiseXor($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule305() {
+ $this->semValue = new Expr\AssignOp\ShiftLeft($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule306() {
+ $this->semValue = new Expr\AssignOp\ShiftRight($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule307() {
+ $this->semValue = new Expr\AssignOp\Pow($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule308() {
+ $this->semValue = new Expr\PostInc($this->semStack[$this->stackPos-(2-1)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule309() {
+ $this->semValue = new Expr\PreInc($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule310() {
+ $this->semValue = new Expr\PostDec($this->semStack[$this->stackPos-(2-1)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule311() {
+ $this->semValue = new Expr\PreDec($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule312() {
+ $this->semValue = new Expr\BinaryOp\BooleanOr($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule313() {
+ $this->semValue = new Expr\BinaryOp\BooleanAnd($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule314() {
+ $this->semValue = new Expr\BinaryOp\LogicalOr($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule315() {
+ $this->semValue = new Expr\BinaryOp\LogicalAnd($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule316() {
+ $this->semValue = new Expr\BinaryOp\LogicalXor($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule317() {
+ $this->semValue = new Expr\BinaryOp\BitwiseOr($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule318() {
+ $this->semValue = new Expr\BinaryOp\BitwiseAnd($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule319() {
+ $this->semValue = new Expr\BinaryOp\BitwiseXor($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule320() {
+ $this->semValue = new Expr\BinaryOp\Concat($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule321() {
+ $this->semValue = new Expr\BinaryOp\Plus($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule322() {
+ $this->semValue = new Expr\BinaryOp\Minus($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule323() {
+ $this->semValue = new Expr\BinaryOp\Mul($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule324() {
+ $this->semValue = new Expr\BinaryOp\Div($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule325() {
+ $this->semValue = new Expr\BinaryOp\Mod($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule326() {
+ $this->semValue = new Expr\BinaryOp\ShiftLeft($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule327() {
+ $this->semValue = new Expr\BinaryOp\ShiftRight($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule328() {
+ $this->semValue = new Expr\BinaryOp\Pow($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule329() {
+ $this->semValue = new Expr\UnaryPlus($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule330() {
+ $this->semValue = new Expr\UnaryMinus($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule331() {
+ $this->semValue = new Expr\BooleanNot($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule332() {
+ $this->semValue = new Expr\BitwiseNot($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule333() {
+ $this->semValue = new Expr\BinaryOp\Identical($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule334() {
+ $this->semValue = new Expr\BinaryOp\NotIdentical($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule335() {
+ $this->semValue = new Expr\BinaryOp\Equal($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule336() {
+ $this->semValue = new Expr\BinaryOp\NotEqual($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule337() {
+ $this->semValue = new Expr\BinaryOp\Spaceship($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule338() {
+ $this->semValue = new Expr\BinaryOp\Smaller($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule339() {
+ $this->semValue = new Expr\BinaryOp\SmallerOrEqual($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule340() {
+ $this->semValue = new Expr\BinaryOp\Greater($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule341() {
+ $this->semValue = new Expr\BinaryOp\GreaterOrEqual($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule342() {
+ $this->semValue = new Expr\Instanceof_($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule343() {
+ $this->semValue = $this->semStack[$this->stackPos-(1-1)];
+ }
+
+ protected function reduceRule344() {
+ $this->semValue = $this->semStack[$this->stackPos-(3-2)];
+ }
+
+ protected function reduceRule345() {
+ $this->semValue = new Expr\Ternary($this->semStack[$this->stackPos-(5-1)], $this->semStack[$this->stackPos-(5-3)], $this->semStack[$this->stackPos-(5-5)], $this->startAttributeStack[$this->stackPos-(5-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule346() {
+ $this->semValue = new Expr\Ternary($this->semStack[$this->stackPos-(4-1)], null, $this->semStack[$this->stackPos-(4-4)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule347() {
+ $this->semValue = new Expr\BinaryOp\Coalesce($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule348() {
+ $this->semValue = new Expr\Isset_($this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule349() {
+ $this->semValue = new Expr\Empty_($this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule350() {
+ $this->semValue = new Expr\Include_($this->semStack[$this->stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule351() {
+ $this->semValue = new Expr\Include_($this->semStack[$this->stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE_ONCE, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule352() {
+ $this->semValue = new Expr\Eval_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule353() {
+ $this->semValue = new Expr\Include_($this->semStack[$this->stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule354() {
+ $this->semValue = new Expr\Include_($this->semStack[$this->stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE_ONCE, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule355() {
+ $this->semValue = new Expr\Cast\Int_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule356() {
+ $this->semValue = new Expr\Cast\Double($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule357() {
+ $this->semValue = new Expr\Cast\String_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule358() {
+ $this->semValue = new Expr\Cast\Array_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule359() {
+ $this->semValue = new Expr\Cast\Object_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule360() {
+ $this->semValue = new Expr\Cast\Bool_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule361() {
+ $this->semValue = new Expr\Cast\Unset_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule362() {
+ $attrs = $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes;
+ $attrs['kind'] = strtolower($this->semStack[$this->stackPos-(2-1)]) === 'exit' ? Expr\Exit_::KIND_EXIT : Expr\Exit_::KIND_DIE;
+ $this->semValue = new Expr\Exit_($this->semStack[$this->stackPos-(2-2)], $attrs);
+ }
+
+ protected function reduceRule363() {
+ $this->semValue = new Expr\ErrorSuppress($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule364() {
+ $this->semValue = $this->semStack[$this->stackPos-(1-1)];
+ }
+
+ protected function reduceRule365() {
+ $this->semValue = $this->semStack[$this->stackPos-(1-1)];
+ }
+
+ protected function reduceRule366() {
+ $this->semValue = $this->semStack[$this->stackPos-(1-1)];
+ }
+
+ protected function reduceRule367() {
+ $this->semValue = new Expr\ShellExec($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule368() {
+ $this->semValue = new Expr\Print_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule369() {
+ $this->semValue = new Expr\Yield_(null, null, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule370() {
+ $this->semValue = new Expr\YieldFrom($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule371() {
+ $this->semValue = new Expr\Closure(['static' => false, 'byRef' => $this->semStack[$this->stackPos-(10-2)], 'params' => $this->semStack[$this->stackPos-(10-4)], 'uses' => $this->semStack[$this->stackPos-(10-6)], 'returnType' => $this->semStack[$this->stackPos-(10-7)], 'stmts' => $this->semStack[$this->stackPos-(10-9)]], $this->startAttributeStack[$this->stackPos-(10-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule372() {
+ $this->semValue = new Expr\Closure(['static' => true, 'byRef' => $this->semStack[$this->stackPos-(11-3)], 'params' => $this->semStack[$this->stackPos-(11-5)], 'uses' => $this->semStack[$this->stackPos-(11-7)], 'returnType' => $this->semStack[$this->stackPos-(11-8)], 'stmts' => $this->semStack[$this->stackPos-(11-10)]], $this->startAttributeStack[$this->stackPos-(11-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule373() {
+ $this->semValue = $this->semStack[$this->stackPos-(3-2)];
+ }
+
+ protected function reduceRule374() {
+ $this->semValue = $this->semStack[$this->stackPos-(3-2)];
+ }
+
+ protected function reduceRule375() {
+ $this->semValue = new Expr\Yield_($this->semStack[$this->stackPos-(2-2)], null, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule376() {
+ $this->semValue = new Expr\Yield_($this->semStack[$this->stackPos-(4-4)], $this->semStack[$this->stackPos-(4-2)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule377() {
+ $attrs = $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes; $attrs['kind'] = Expr\Array_::KIND_LONG;
+ $this->semValue = new Expr\Array_($this->semStack[$this->stackPos-(4-3)], $attrs);
+ }
+
+ protected function reduceRule378() {
+ $attrs = $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes; $attrs['kind'] = Expr\Array_::KIND_SHORT;
+ $this->semValue = new Expr\Array_($this->semStack[$this->stackPos-(3-2)], $attrs);
+ }
+
+ protected function reduceRule379() {
+ $this->semValue = new Expr\ArrayDimFetch($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule380() {
+ $attrs = $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes; $attrs['kind'] = ($this->semStack[$this->stackPos-(4-1)][0] === "'" || ($this->semStack[$this->stackPos-(4-1)][1] === "'" && ($this->semStack[$this->stackPos-(4-1)][0] === 'b' || $this->semStack[$this->stackPos-(4-1)][0] === 'B')) ? Scalar\String_::KIND_SINGLE_QUOTED : Scalar\String_::KIND_DOUBLE_QUOTED);
+ $this->semValue = new Expr\ArrayDimFetch(new Scalar\String_(Scalar\String_::parse($this->semStack[$this->stackPos-(4-1)]), $attrs), $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule381() {
+ $this->semValue = new Expr\ArrayDimFetch($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule382() {
+ $this->semValue = new Expr\ArrayDimFetch($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule383() {
+ $this->semValue = array(new Stmt\Class_(null, ['type' => 0, 'extends' => $this->semStack[$this->stackPos-(7-3)], 'implements' => $this->semStack[$this->stackPos-(7-4)], 'stmts' => $this->semStack[$this->stackPos-(7-6)]], $this->startAttributeStack[$this->stackPos-(7-1)] + $this->endAttributes), $this->semStack[$this->stackPos-(7-2)]);
+ $this->checkClass($this->semValue[0], -1);
+ }
+
+ protected function reduceRule384() {
+ $this->semValue = new Expr\New_($this->semStack[$this->stackPos-(3-2)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule385() {
+ list($class, $ctorArgs) = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = new Expr\New_($class, $ctorArgs, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule386() {
+ $this->semValue = array();
+ }
+
+ protected function reduceRule387() {
+ $this->semValue = $this->semStack[$this->stackPos-(4-3)];
+ }
+
+ protected function reduceRule388() {
+ $this->semValue = array($this->semStack[$this->stackPos-(1-1)]);
+ }
+
+ protected function reduceRule389() {
+ $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)];
+ }
+
+ protected function reduceRule390() {
+ $this->semValue = new Expr\ClosureUse(substr($this->semStack[$this->stackPos-(2-2)], 1), $this->semStack[$this->stackPos-(2-1)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule391() {
+ $this->semValue = new Expr\FuncCall($this->semStack[$this->stackPos-(2-1)], $this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule392() {
+ $this->semValue = new Expr\StaticCall($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->semStack[$this->stackPos-(4-4)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule393() {
+ $this->semValue = new Expr\StaticCall($this->semStack[$this->stackPos-(6-1)], $this->semStack[$this->stackPos-(6-4)], $this->semStack[$this->stackPos-(6-6)], $this->startAttributeStack[$this->stackPos-(6-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule394() {
+
+ if ($this->semStack[$this->stackPos-(2-1)] instanceof Node\Expr\StaticPropertyFetch) {
+ $this->semValue = new Expr\StaticCall($this->semStack[$this->stackPos-(2-1)]->class, new Expr\Variable($this->semStack[$this->stackPos-(2-1)]->name, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes), $this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
+ } elseif ($this->semStack[$this->stackPos-(2-1)] instanceof Node\Expr\ArrayDimFetch) {
+ $tmp = $this->semStack[$this->stackPos-(2-1)];
+ while ($tmp->var instanceof Node\Expr\ArrayDimFetch) {
+ $tmp = $tmp->var;
+ }
+
+ $this->semValue = new Expr\StaticCall($tmp->var->class, $this->semStack[$this->stackPos-(2-1)], $this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
+ $tmp->var = new Expr\Variable($tmp->var->name, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
+ } else {
+ throw new \Exception;
+ }
+
+ }
+
+ protected function reduceRule395() {
+ $this->semValue = new Expr\FuncCall($this->semStack[$this->stackPos-(2-1)], $this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule396() {
+ $this->semValue = new Expr\ArrayDimFetch($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule397() {
+ $this->semValue = new Name($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule398() {
+ $this->semValue = $this->semStack[$this->stackPos-(1-1)];
+ }
+
+ protected function reduceRule399() {
+ $this->semValue = new Name($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule400() {
+ $this->semValue = new Name\FullyQualified($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule401() {
+ $this->semValue = new Name\Relative($this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule402() {
+ $this->semValue = $this->semStack[$this->stackPos-(1-1)];
+ }
+
+ protected function reduceRule403() {
+ $this->semValue = $this->semStack[$this->stackPos-(1-1)];
+ }
+
+ protected function reduceRule404() {
+ $this->semValue = $this->semStack[$this->stackPos-(1-1)];
+ }
+
+ protected function reduceRule405() {
+ $this->semValue = $this->semStack[$this->stackPos-(1-1)];
+ }
+
+ protected function reduceRule406() {
+ $this->semValue = $this->semStack[$this->stackPos-(1-1)];
+ }
+
+ protected function reduceRule407() {
+ $this->semValue = $this->semStack[$this->stackPos-(1-1)];
+ }
+
+ protected function reduceRule408() {
+ $this->semValue = new Expr\PropertyFetch($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule409() {
+ $this->semValue = new Expr\PropertyFetch($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule410() {
+ $this->semValue = new Expr\ArrayDimFetch($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule411() {
+ $this->semValue = new Expr\ArrayDimFetch($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule412() {
+ $this->semValue = null;
+ }
+
+ protected function reduceRule413() {
+ $this->semValue = null;
+ }
+
+ protected function reduceRule414() {
+ $this->semValue = $this->semStack[$this->stackPos-(1-1)];
+ }
+
+ protected function reduceRule415() {
+ $this->semValue = array();
+ }
+
+ protected function reduceRule416() {
+ $this->semValue = array(new Scalar\EncapsedStringPart(Scalar\String_::parseEscapeSequences($this->semStack[$this->stackPos-(1-1)], '`', false), $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes));
+ }
+
+ protected function reduceRule417() {
+ foreach ($this->semStack[$this->stackPos-(1-1)] as $s) { if ($s instanceof Node\Scalar\EncapsedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '`', false); } }; $this->semValue = $this->semStack[$this->stackPos-(1-1)];
+ }
+
+ protected function reduceRule418() {
+ $this->semValue = array();
+ }
+
+ protected function reduceRule419() {
+ $this->semValue = $this->semStack[$this->stackPos-(1-1)];
+ }
+
+ protected function reduceRule420() {
+ $this->semValue = $this->parseLNumber($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes, true);
+ }
+
+ protected function reduceRule421() {
+ $this->semValue = new Scalar\DNumber(Scalar\DNumber::parse($this->semStack[$this->stackPos-(1-1)]), $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule422() {
+ $attrs = $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes; $attrs['kind'] = ($this->semStack[$this->stackPos-(1-1)][0] === "'" || ($this->semStack[$this->stackPos-(1-1)][1] === "'" && ($this->semStack[$this->stackPos-(1-1)][0] === 'b' || $this->semStack[$this->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[$this->stackPos-(1-1)], false), $attrs);
+ }
+
+ protected function reduceRule423() {
+ $this->semValue = new Scalar\MagicConst\Line($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule424() {
+ $this->semValue = new Scalar\MagicConst\File($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule425() {
+ $this->semValue = new Scalar\MagicConst\Dir($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule426() {
+ $this->semValue = new Scalar\MagicConst\Class_($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule427() {
+ $this->semValue = new Scalar\MagicConst\Trait_($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule428() {
+ $this->semValue = new Scalar\MagicConst\Method($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule429() {
+ $this->semValue = new Scalar\MagicConst\Function_($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule430() {
+ $this->semValue = new Scalar\MagicConst\Namespace_($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule431() {
+ $attrs = $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes; $attrs['kind'] = strpos($this->semStack[$this->stackPos-(3-1)], "'") === false ? Scalar\String_::KIND_HEREDOC : Scalar\String_::KIND_NOWDOC; preg_match('/\A[bB]?<<<[ \t]*[\'"]?([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)[\'"]?(?:\r\n|\n|\r)\z/', $this->semStack[$this->stackPos-(3-1)], $matches); $attrs['docLabel'] = $matches[1];;
+ $this->semValue = new Scalar\String_(Scalar\String_::parseDocString($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-2)], false), $attrs);
+ }
+
+ protected function reduceRule432() {
+ $attrs = $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes; $attrs['kind'] = strpos($this->semStack[$this->stackPos-(2-1)], "'") === false ? Scalar\String_::KIND_HEREDOC : Scalar\String_::KIND_NOWDOC; preg_match('/\A[bB]?<<<[ \t]*[\'"]?([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)[\'"]?(?:\r\n|\n|\r)\z/', $this->semStack[$this->stackPos-(2-1)], $matches); $attrs['docLabel'] = $matches[1];;
+ $this->semValue = new Scalar\String_('', $attrs);
+ }
+
+ protected function reduceRule433() {
+ $this->semValue = $this->semStack[$this->stackPos-(1-1)];
+ }
+
+ protected function reduceRule434() {
+ $this->semValue = new Expr\ClassConstFetch($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule435() {
+ $this->semValue = new Expr\ConstFetch($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule436() {
+ $this->semValue = new Expr\Array_($this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule437() {
+ $this->semValue = new Expr\Array_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule438() {
+ $this->semValue = $this->semStack[$this->stackPos-(1-1)];
+ }
+
+ protected function reduceRule439() {
+ $this->semValue = new Expr\BinaryOp\BooleanOr($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule440() {
+ $this->semValue = new Expr\BinaryOp\BooleanAnd($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule441() {
+ $this->semValue = new Expr\BinaryOp\LogicalOr($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule442() {
+ $this->semValue = new Expr\BinaryOp\LogicalAnd($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule443() {
+ $this->semValue = new Expr\BinaryOp\LogicalXor($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule444() {
+ $this->semValue = new Expr\BinaryOp\BitwiseOr($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule445() {
+ $this->semValue = new Expr\BinaryOp\BitwiseAnd($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule446() {
+ $this->semValue = new Expr\BinaryOp\BitwiseXor($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule447() {
+ $this->semValue = new Expr\BinaryOp\Concat($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule448() {
+ $this->semValue = new Expr\BinaryOp\Plus($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule449() {
+ $this->semValue = new Expr\BinaryOp\Minus($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule450() {
+ $this->semValue = new Expr\BinaryOp\Mul($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule451() {
+ $this->semValue = new Expr\BinaryOp\Div($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule452() {
+ $this->semValue = new Expr\BinaryOp\Mod($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule453() {
+ $this->semValue = new Expr\BinaryOp\ShiftLeft($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule454() {
+ $this->semValue = new Expr\BinaryOp\ShiftRight($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule455() {
+ $this->semValue = new Expr\BinaryOp\Pow($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule456() {
+ $this->semValue = new Expr\UnaryPlus($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule457() {
+ $this->semValue = new Expr\UnaryMinus($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule458() {
+ $this->semValue = new Expr\BooleanNot($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule459() {
+ $this->semValue = new Expr\BitwiseNot($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule460() {
+ $this->semValue = new Expr\BinaryOp\Identical($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule461() {
+ $this->semValue = new Expr\BinaryOp\NotIdentical($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule462() {
+ $this->semValue = new Expr\BinaryOp\Equal($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule463() {
+ $this->semValue = new Expr\BinaryOp\NotEqual($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule464() {
+ $this->semValue = new Expr\BinaryOp\Smaller($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule465() {
+ $this->semValue = new Expr\BinaryOp\SmallerOrEqual($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule466() {
+ $this->semValue = new Expr\BinaryOp\Greater($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule467() {
+ $this->semValue = new Expr\BinaryOp\GreaterOrEqual($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule468() {
+ $this->semValue = new Expr\Ternary($this->semStack[$this->stackPos-(5-1)], $this->semStack[$this->stackPos-(5-3)], $this->semStack[$this->stackPos-(5-5)], $this->startAttributeStack[$this->stackPos-(5-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule469() {
+ $this->semValue = new Expr\Ternary($this->semStack[$this->stackPos-(4-1)], null, $this->semStack[$this->stackPos-(4-4)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule470() {
+ $this->semValue = new Expr\ArrayDimFetch($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule471() {
+ $this->semValue = $this->semStack[$this->stackPos-(3-2)];
+ }
+
+ protected function reduceRule472() {
+ $this->semValue = new Expr\ConstFetch($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule473() {
+ $this->semValue = new Expr\ClassConstFetch($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule474() {
+ $this->semValue = $this->semStack[$this->stackPos-(1-1)];
+ }
+
+ protected function reduceRule475() {
+ $this->semValue = $this->semStack[$this->stackPos-(1-1)];
+ }
+
+ protected function reduceRule476() {
+ $attrs = $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes; $attrs['kind'] = Scalar\String_::KIND_DOUBLE_QUOTED;
+ foreach ($this->semStack[$this->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[$this->stackPos-(3-2)], $attrs);
+ }
+
+ protected function reduceRule477() {
+ $attrs = $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes; $attrs['kind'] = strpos($this->semStack[$this->stackPos-(3-1)], "'") === false ? Scalar\String_::KIND_HEREDOC : Scalar\String_::KIND_NOWDOC; preg_match('/\A[bB]?<<<[ \t]*[\'"]?([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)[\'"]?(?:\r\n|\n|\r)\z/', $this->semStack[$this->stackPos-(3-1)], $matches); $attrs['docLabel'] = $matches[1];;
+ foreach ($this->semStack[$this->stackPos-(3-2)] as $s) { if ($s instanceof Node\Scalar\EncapsedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, null, true); } } $s->value = preg_replace('~(\r\n|\n|\r)\z~', '', $s->value); if ('' === $s->value) array_pop($this->semStack[$this->stackPos-(3-2)]);; $this->semValue = new Scalar\Encapsed($this->semStack[$this->stackPos-(3-2)], $attrs);
+ }
+
+ protected function reduceRule478() {
+ $this->semValue = array();
+ }
+
+ protected function reduceRule479() {
+ $this->semValue = $this->semStack[$this->stackPos-(2-1)];
+ }
+
+ protected function reduceRule480() {
+ $this->semValue = $this->semStack[$this->stackPos];
+ }
+
+ protected function reduceRule481() {
+ $this->semValue = $this->semStack[$this->stackPos];
+ }
+
+ protected function reduceRule482() {
+ $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)];
+ }
+
+ protected function reduceRule483() {
+ $this->semValue = array($this->semStack[$this->stackPos-(1-1)]);
+ }
+
+ protected function reduceRule484() {
+ $this->semValue = new Expr\ArrayItem($this->semStack[$this->stackPos-(3-3)], $this->semStack[$this->stackPos-(3-1)], false, $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule485() {
+ $this->semValue = new Expr\ArrayItem($this->semStack[$this->stackPos-(1-1)], null, false, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule486() {
+ $this->semValue = $this->semStack[$this->stackPos-(1-1)];
+ }
+
+ protected function reduceRule487() {
+ $this->semValue = $this->semStack[$this->stackPos-(1-1)];
+ }
+
+ protected function reduceRule488() {
+ $this->semValue = $this->semStack[$this->stackPos-(1-1)];
+ }
+
+ protected function reduceRule489() {
+ $this->semValue = $this->semStack[$this->stackPos-(1-1)];
+ }
+
+ protected function reduceRule490() {
+ $this->semValue = new Expr\ArrayDimFetch($this->semStack[$this->stackPos-(6-2)], $this->semStack[$this->stackPos-(6-5)], $this->startAttributeStack[$this->stackPos-(6-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule491() {
+ $this->semValue = new Expr\ArrayDimFetch($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule492() {
+ $this->semValue = new Expr\PropertyFetch($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule493() {
+ $this->semValue = new Expr\MethodCall($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->semStack[$this->stackPos-(4-4)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule494() {
+ $this->semValue = new Expr\FuncCall($this->semStack[$this->stackPos-(2-1)], $this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule495() {
+ $this->semValue = new Expr\ArrayDimFetch($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule496() {
+ $this->semValue = new Expr\ArrayDimFetch($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule497() {
+ $this->semValue = $this->semStack[$this->stackPos-(1-1)];
+ }
+
+ protected function reduceRule498() {
+ $this->semValue = $this->semStack[$this->stackPos-(3-2)];
+ }
+
+ protected function reduceRule499() {
+ $this->semValue = $this->semStack[$this->stackPos-(1-1)];
+ }
+
+ protected function reduceRule500() {
+ $this->semValue = new Expr\Variable($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule501() {
+ $this->semValue = $this->semStack[$this->stackPos-(1-1)];
+ }
+
+ protected function reduceRule502() {
+ $this->semValue = $this->semStack[$this->stackPos-(1-1)];
+ }
+
+ protected function reduceRule503() {
+ $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-4)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule504() {
+ $this->semValue = $this->semStack[$this->stackPos-(1-1)];
+ }
+
+ protected function reduceRule505() {
+ $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$this->stackPos-(3-1)], substr($this->semStack[$this->stackPos-(3-3)], 1), $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule506() {
+ $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$this->stackPos-(6-1)], $this->semStack[$this->stackPos-(6-5)], $this->startAttributeStack[$this->stackPos-(6-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule507() {
+ $this->semValue = new Expr\ArrayDimFetch($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule508() {
+ $this->semValue = new Expr\ArrayDimFetch($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule509() {
+ $this->semValue = new Expr\ArrayDimFetch($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule510() {
+ $this->semValue = new Expr\ArrayDimFetch($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule511() {
+ $this->semValue = new Expr\Variable(substr($this->semStack[$this->stackPos-(1-1)], 1), $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule512() {
+ $this->semValue = new Expr\Variable($this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule513() {
+ $this->semValue = null;
+ }
+
+ protected function reduceRule514() {
+ $this->semValue = $this->semStack[$this->stackPos-(1-1)];
+ }
+
+ protected function reduceRule515() {
+ $this->semValue = $this->semStack[$this->stackPos-(1-1)];
+ }
+
+ protected function reduceRule516() {
+ $this->semValue = $this->semStack[$this->stackPos-(3-2)];
+ }
+
+ protected function reduceRule517() {
+ $this->semValue = $this->semStack[$this->stackPos-(1-1)];
+ }
+
+ protected function reduceRule518() {
+ $this->semValue = new Expr\Error($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); $this->errorState = 2;
+ }
+
+ protected function reduceRule519() {
+ $this->semValue = new Expr\List_($this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule520() {
+ $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)];
+ }
+
+ protected function reduceRule521() {
+ $this->semValue = array($this->semStack[$this->stackPos-(1-1)]);
+ }
+
+ protected function reduceRule522() {
+ $this->semValue = new Expr\ArrayItem($this->semStack[$this->stackPos-(1-1)], null, false, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule523() {
+ $this->semValue = new Expr\ArrayItem($this->semStack[$this->stackPos-(1-1)], null, false, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule524() {
+ $this->semValue = null;
+ }
+
+ protected function reduceRule525() {
+ $this->semValue = array();
+ }
+
+ protected function reduceRule526() {
+ $this->semValue = $this->semStack[$this->stackPos-(2-1)];
+ }
+
+ protected function reduceRule527() {
+ $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)];
+ }
+
+ protected function reduceRule528() {
+ $this->semValue = array($this->semStack[$this->stackPos-(1-1)]);
+ }
+
+ protected function reduceRule529() {
+ $this->semValue = new Expr\ArrayItem($this->semStack[$this->stackPos-(3-3)], $this->semStack[$this->stackPos-(3-1)], false, $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule530() {
+ $this->semValue = new Expr\ArrayItem($this->semStack[$this->stackPos-(1-1)], null, false, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule531() {
+ $this->semValue = new Expr\ArrayItem($this->semStack[$this->stackPos-(4-4)], $this->semStack[$this->stackPos-(4-1)], true, $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule532() {
+ $this->semValue = new Expr\ArrayItem($this->semStack[$this->stackPos-(2-2)], null, true, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule533() {
+ $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)];
+ }
+
+ protected function reduceRule534() {
+ $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)];
+ }
+
+ protected function reduceRule535() {
+ $this->semValue = array($this->semStack[$this->stackPos-(1-1)]);
+ }
+
+ protected function reduceRule536() {
+ $this->semValue = array($this->semStack[$this->stackPos-(2-1)], $this->semStack[$this->stackPos-(2-2)]);
+ }
+
+ protected function reduceRule537() {
+ $this->semValue = new Scalar\EncapsedStringPart($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule538() {
+ $this->semValue = new Expr\Variable(substr($this->semStack[$this->stackPos-(1-1)], 1), $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule539() {
+ $this->semValue = $this->semStack[$this->stackPos-(1-1)];
+ }
+
+ protected function reduceRule540() {
+ $this->semValue = new Expr\ArrayDimFetch($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule541() {
+ $this->semValue = new Expr\PropertyFetch($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule542() {
+ $this->semValue = new Expr\Variable($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule543() {
+ $this->semValue = new Expr\Variable($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule544() {
+ $this->semValue = new Expr\ArrayDimFetch(new Expr\Variable($this->semStack[$this->stackPos-(6-2)], $this->startAttributeStack[$this->stackPos-(6-1)] + $this->endAttributes), $this->semStack[$this->stackPos-(6-4)], $this->startAttributeStack[$this->stackPos-(6-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule545() {
+ $this->semValue = $this->semStack[$this->stackPos-(3-2)];
+ }
+
+ protected function reduceRule546() {
+ $this->semValue = new Scalar\String_($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule547() {
+ $this->semValue = $this->parseNumString($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
+ }
+
+ protected function reduceRule548() {
+ $this->semValue = new Expr\Variable(substr($this->semStack[$this->stackPos-(1-1)], 1), $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
+ }
+}