diff --git a/grammar/README.md b/grammar/README.md index 909f7c1..4e006be 100644 --- a/grammar/README.md +++ b/grammar/README.md @@ -1,22 +1,20 @@ What do all those files mean? ============================= - * `zend_language_parser.phpy`: PHP grammer written in a pseudo language - * `analyze.php`: Analyzes the `.phpy`-grammer and outputs some info about it - * `rebuildParser.php`: Preprocesses the `.phpy`-grammar and builds the parser using `kmyacc` - * `kmyacc.php.parser`: A `kmyacc` parser prototype file for PHP + * `php5.y`: PHP 5 grammer written in a pseudo language + * `analyze.php`: Analyzes the grammer and outputs some info about it + * `rebuildParser.php`: Preprocesses the grammar and builds the parser using `kmyacc` + * `kmyacc.php.parser`: A `kmyacc` parser prototype file for PHP .phpy pseudo language ===================== -The `.phpy` file is a normal grammer in `kmyacc` (`yacc`) style, with some transformations +The `.y` file is a normal grammer in `kmyacc` (`yacc`) style, with some transformations applied to it: * Nodes are created using the syntax `Name[..., ...]`. This is transformed into `new Name(..., ..., attributes())` * Some function-like constructs are resolved (see `rebuildParser.php` for a list) - * Associative arrays are written as `[key: value, ...]`, which is transformed to - `array('key' => value, ...)` Building the parser =================== diff --git a/grammar/analyze.php b/grammar/analyze.php index 50101df..cd30b3c 100644 --- a/grammar/analyze.php +++ b/grammar/analyze.php @@ -1,6 +1,6 @@ \'[^\\\\\']*+(?:\\\\.[^\\\\\']*+)*+\') @@ -93,4 +93,4 @@ foreach ($ruleBlocksMatches as $match) { } echo $ruleBlockName, ':', "\n", ' ', implode("\n" . ' | ', $rules), "\n", ';', "\n\n"; -} \ No newline at end of file +} diff --git a/grammar/kmyacc.php.parser b/grammar/kmyacc.php.parser index e8f4d5a..2018fc2 100644 --- a/grammar/kmyacc.php.parser +++ b/grammar/kmyacc.php.parser @@ -5,7 +5,7 @@ $meta # #semval(%n) $this->stackPos-(%l-%n) #semval(%n,%t) $this->stackPos-(%l-%n) -namespace PhpParser; +namespace PhpParser\Parser; #include; /* This is an automatically GENERATED file, which should not be manually edited. @@ -14,7 +14,7 @@ namespace PhpParser; * * the skeleton file grammar/kymacc.php.parser * * the preprocessing script grammar/rebuildParser.php */ -class Parser extends ParserAbstract +class Php5 extends \PhpParser\ParserAbstract { protected $tokenToSymbolMapSize = #(YYMAXLEX); protected $actionTableSize = #(YYLAST); diff --git a/grammar/zend_language_parser.phpy b/grammar/php5.y similarity index 99% rename from grammar/zend_language_parser.phpy rename to grammar/php5.y index c3080b2..6accd86 100644 --- a/grammar/zend_language_parser.phpy +++ b/grammar/php5.y @@ -112,6 +112,8 @@ %token T_ELLIPSIS %{ +use PhpParser\Error; +use PhpParser\Node; use PhpParser\Node\Expr; use PhpParser\Node\Name; use PhpParser\Node\Scalar; diff --git a/grammar/rebuildParser.php b/grammar/rebuildParser.php index 836a3ca..5aac14e 100644 --- a/grammar/rebuildParser.php +++ b/grammar/rebuildParser.php @@ -1,10 +1,10 @@ '", - "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_DOUBLE_ARROW", - "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, 52, 156, 157, 153, 51, 34, 157, - 151, 152, 49, 46, 7, 47, 48, 50, 157, 157, - 157, 157, 157, 157, 157, 157, 157, 157, 28, 148, - 40, 14, 42, 27, 64, 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, 66, 157, 155, 33, 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, 32, 150, 54, 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, 15, 16, - 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, - 29, 30, 31, 35, 36, 37, 38, 39, 41, 43, - 44, 45, 53, 55, 56, 57, 58, 59, 60, 61, - 62, 63, 65, 67, 68, 69, 70, 71, 72, 73, - 74, 75, 76, 77, 78, 79, 80, 157, 157, 81, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, - 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, - 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, - 132, 133, 134, 135, 136, 137, 157, 157, 157, 157, - 157, 157, 138, 139, 140, 141, 142, 143, 144, 145, - 146, 147 - ); - - protected $action = array( - 707, 60, 61, 420, 62, 63,-32766,-32766,-32766,-32766, - 64, 65, 66, 223, 224, 225, 226, 227, 228, 229, - 230, 231, 0, 232, 233, 234, 235, 236, 237, 238, - 239, 240, 241, 242, 243,-32766,-32766,-32766,-32766,-32766, - -32767,-32767,-32767,-32767, 650, 67, 68, 58, 244, 245, - 129, 69, 460, 70, 297, 298, 71, 72, 73, 74, - 75, 76, 77, 78,-32766, 32, 305, 79, 411, 421, - -32766,-32766,-32766, 968, 969, 463, -118, 1061, 413, 696, - 447, 464, 46, 27, 422, 366, 465, 438, 466,-32766, - 467,-32766,-32766, 423, 220, 221, 222, 36, 37, 468, - 424, 441, 38, 469, 221, 222, 80,-32766, 329, 359, - 360, 491, 751, 207, 425, 470, 471, 472, 473, 474, - 608,-32766, 207, 55, 678, 723, 475, 476, 477, 478, - 128, 974, 975, 976, 977, 971, 972, 315, 84, 85, - 86, 419, 491, 978, 973, 425, 440, 702, 618, 635, - 47, 135, 340, 327, 301, 331, 443, 40, 313, 87, - 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, - 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, - 108, 109, 31, 308,-32766,-32766,-32766,-32766,-32766, 288, - -32766, 775, 776, 800, 805, 110, 650, 220, 221, 222, - -32766,-32766, 1027,-32766,-32766,-32766, 125,-32766, 439,-32766, - 569,-32766, 917, -123,-32766, 286, 207, 35,-32766,-32766, - -32766, 428, 428,-32766,-32766, 22, 693,-32766, 211, 133, - -32766, 490, 752,-32766, 301, 1090, 470, 471,-32766, -119, - 342, 1018, 694, 378, 917, 678, 723, 475, 476, 616, - 791, 41, 111, 112, 113, 114, 115, 116, 117, 118, - 119, 120, 121, 122,-32766,-32766,-32766, 132,-32766,-32766, - -32766, 1093, 781, 1095, 1094,-32766, 650, 220, 221, 222, - -32766,-32766, 57,-32766,-32766,-32766, 935,-32766, 54,-32766, - -32766,-32766, 856, 858,-32766, 358, 207, 248,-32766,-32766, - -32766, 428,-32766,-32766,-32766, 39, 300,-32766, 650, 388, - -32766, 490,-32766,-32766, 304,-32766,-32766,-32766,-32766,-32766, - 630,-32766, 617,-32766, 917, 290,-32766, 782, 356, 357, - -32766,-32766,-32766, 428, 1068,-32766,-32766, 434, 207,-32766, - 620, 1019,-32766, 490, 621,-32766, 302, 132,-32766,-32766, - -32766, 212, 606, 241, 242, 243, 917, 412,-32766,-32766, - -32766, 642, 1055, 326, -401, 126, 623, 470, 471, 244, - 245, 124, 131, 416, 470, 471, 656, 723, 475, 476, - -32766,-32766,-32766, 678, 723, 475, 476, 222, 650,-32766, - -32766,-32766,-32766, 428, 810,-32766,-32766,-32766, 339,-32766, - 303,-32766, -171,-32766, 207, 659,-32766, 1026,-32766, 477, - -32766,-32766,-32766, 428,-32766,-32766,-32766, 428, 445,-32766, - 650, 213,-32766, 490,-32766,-32766,-32766,-32766,-32766,-32766, - -32766,-32766,-32766,-32766, 428,-32766, 917, 348,-32766, 428, - 1083,-32766,-32766,-32766,-32766, 428, 1061,-32766,-32766,-32766, - -32766,-32766,-32766, 1027,-32766, 490, 1065,-32766, 289, 332, - -32766,-32766,-32766, 1083, 214,-32766,-32766,-32766, 917,-32766, - -32766,-32766,-32766,-32766,-32766,-32766,-32766,-32766, 249,-32767, - -32767,-32767,-32767, 347,-32766, 123,-32766,-32766,-32766,-32766, - 299, 133,-32766,-32766,-32766, 220, 221, 222, 1025, 250, - 650, 220, 221, 222,-32766,-32766,-32766,-32766,-32766,-32766, - -32766,-32766, 137,-32766, 207,-32766, 566, 980,-32766, 634, - 207, 340,-32766,-32766,-32766, 428,-32766,-32766,-32766, 134, - 575,-32766, 650, 314,-32766, 490,-32766, 716, 1024,-32766, - -32766,-32766,-32766,-32766, 538,-32766, 706,-32766, 244, 245, - -32766, 454, 581,-32766,-32766,-32766,-32766, 428, 639,-32766, - -32766, 449, 28,-32766, 917, 136,-32766, 490, 238, 239, - 240, 110,-32766,-32766,-32766, 104, 105, 106, 308,-32766, - 138, 367, 588, 589, 593, 650, 804, 638, 980,-32766, - 615, 305,-32766,-32766,-32766, 346,-32766, 52,-32766, 650, - -32766, 1061, 50,-32766,-32766,-32766,-32766,-32766,-32766,-32766, - 428, 59,-32766,-32766, 470, 471,-32766, 917, 605,-32766, - 490, 246,-32766, 678, 723, 475, 476,-32766, 650, 107, - 108, 109,-32766, 308, 945,-32766,-32766,-32766,-32766,-32766, - 56,-32766, 49,-32766, 51, 110,-32766, 775, 776, 917, - -32766,-32766,-32766, 428, 53,-32766,-32766,-32766,-32766,-32766, - 529, 961,-32766, 490, 657, 625, 491, 815, 645, 425, - -32766, 528, 516, 512, 429,-32766, 340, 511, 435, 651, - 433, 650, 667, 650, 1088,-32766, 669, 812,-32766,-32766, - -32766,-32766,-32766, 600,-32766, 938,-32766, 515, 607,-32766, - 686,-32766, 917,-32766,-32766,-32766, 428,-32766,-32766,-32766, - 590, 345,-32766, 650, 1083,-32766, 490,-32766, 559, 437, - -32766,-32766,-32766,-32766,-32766, 458,-32766,-32766,-32766, -168, - 584,-32766, 307, 285, 531,-32766,-32766,-32766, 428, 572, - -32766,-32766, 336, 432,-32766, 725, 428,-32766, 490, 724, - 42, 585, 979, 688,-32766,-32766, 338, 127, 330, 718, - -32766, 23, 811, 341, 521, 0, 650, 434, -308, 0, - -32766, 335, 0,-32766,-32766,-32766, -402,-32766, -401,-32766, - 328,-32766, 915, 477,-32766, 690,-32766, 0,-32766,-32766, - -32766, 428, 318,-32766,-32766, 0,-32766,-32766, -300, 613, - -32766, 490, 650, -309, 381, 368,-32766, 334,-32766,-32766, - -32766,-32766, 416,-32766, 1056,-32766, 247,-32766, 809, 745, - -32766, 735, 746, 698,-32766,-32766,-32766, 428, 801,-32766, - -32766, 683, 663,-32766, 215, 216,-32766, 490,-32766,-32766, - 217, 662, 218, 681,-32766,-32767,-32767,-32767,-32767, 102, - 103, 104, 105, 106, 209, 754, 661, -1, 660, 215, - 216, 705, 968, 969, 692, 217,-32766, 218, 808, 627, - 970,-32766,-32766,-32766,-32766,-32766, 626, 737, 739, 209, - -32766,-32766,-32766, 704, 691, 695, 689, 968, 969, 687, - -32766,-32766,-32766,-32766,-32766, 970, 697, 44, 45,-32766, - 643,-32766,-32766,-32766,-32766,-32766,-32766,-32767,-32767,-32767, - -32767,-32767, 644, 640, 637, 632, 631, 629, 556, 624, - 974, 975, 976, 977, 971, 972, 394, 619, 83, 130, - 641, 591, 978, 973, 1066, 793, 959, 1058, 1040, 219, - 1046,-32766, 1060, 556, 1062, 974, 975, 976, 977, 971, - 972, 394, 1089, 453, 722, 985, 720, 978, 973, 412, - 721, 1092, 931, 1087, 219, 326,-32766, 1091, 744, 470, - 471, 743, 921, 470, 471, -104, -104, -104, 656, 723, - 475, 476, 678, 723, 475, 476, 470, 471, -103, -103, - -103, 43, 470, 471, 34, 678, 723, 475, 476, 415, - 339, 678, 723, 475, 476, 470, 471, 30, 958, 33, - -32766, 719, 412, 410, 678, 723, 475, 476, 326, 343, - 312, 311, 470, 471, 816,-32766,-32766,-32766, 310, 309, - -104, 656, 723, 475, 476, -112, -112, -112, 296, -114, - -114, -114, 295, -103,-32766, 287,-32766,-32766,-32766,-32766, - -32766,-32766, 417, 339, 210, 82, 81, 48, 337, 896, - 658, 826, 827, 828, 825, 824, 823, 818, 560, 984, - 783, 925, 922, 612, 551, 461, 470, 471, 457, 455, - 470, 471,-32766,-32766,-32766, 678, 723, 475, 476, 678, - 723, 475, 476, 897, 450, 389, 25, 24, -120, 470, - 471,-32766, 1057,-32766,-32766,-32766,-32766,-32766, 678, 723, - 475, 476, 470, 471, -119, 1041, 470, 471, 1045, 0, - 1059, 678, 723, 475, 476, 678, 723, 475, 476, 944, - 470, 471, 597, 929, 470, 471, 930, 710, 927, 678, - 723, 475, 476, 678, 723, 475, 476, 470, 471, 928, - 628, 926, 470, 471, 679, 0, 678, 723, 475, 476, - 0, 678, 723, 475, 476, 0, 0, 0, 712, 0, - 0, 0, 919, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 920 - ); - - protected $actionCheck = array( - 1, 2, 3, 4, 5, 6, 30, 31, 32, 33, - 11, 12, 13, 30, 31, 32, 33, 34, 35, 36, - 37, 38, 0, 40, 41, 42, 43, 44, 45, 46, - 47, 48, 49, 50, 51, 30, 31, 32, 33, 34, - 35, 36, 37, 38, 76, 46, 47, 66, 65, 66, - 7, 52, 7, 54, 55, 56, 57, 58, 59, 60, - 61, 62, 63, 64, 8, 66, 67, 68, 69, 70, - 8, 9, 10, 74, 75, 76, 73, 78, 122, 80, - 7, 82, 83, 84, 85, 7, 87, 28, 89, 27, - 91, 29, 30, 94, 8, 9, 10, 98, 99, 100, - 101, 7, 103, 104, 9, 10, 107, 151, 127, 110, - 111, 143, 28, 27, 146, 112, 113, 118, 119, 120, - 76, 1, 27, 66, 121, 122, 123, 124, 129, 130, - 149, 132, 133, 134, 135, 136, 137, 138, 8, 9, - 10, 7, 143, 144, 145, 146, 7, 148, 149, 28, - 151, 66, 153, 154, 34, 156, 76, 27, 7, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, - 50, 51, 7, 53, 30, 31, 32, 33, 34, 7, - 70, 130, 131, 148, 150, 65, 76, 8, 9, 10, - 80, 1, 122, 83, 84, 85, 149, 87, 149, 89, - 86, 91, 12, 152, 94, 128, 27, 7, 98, 99, - 100, 101, 101, 103, 104, 152, 148, 107, 7, 149, - 110, 111, 148, 1, 34, 150, 112, 113, 118, 152, - 7, 155, 148, 78, 12, 121, 122, 123, 124, 76, - 78, 14, 15, 16, 17, 18, 19, 20, 21, 22, - 23, 24, 25, 26, 8, 9, 10, 147, 148, 149, - 70, 76, 152, 78, 79, 102, 76, 8, 9, 10, - 80, 108, 66, 83, 84, 85, 152, 87, 66, 89, - 117, 91, 55, 56, 94, 7, 27, 28, 98, 99, - 100, 101, 70, 103, 104, 140, 141, 107, 76, 77, - 110, 111, 80, 1, 34, 83, 84, 85, 118, 87, - 28, 89, 76, 91, 12, 153, 94, 152, 101, 102, - 98, 99, 100, 101, 152, 103, 104, 146, 27, 107, - 149, 152, 110, 111, 28, 1, 34, 147, 148, 149, - 118, 14, 90, 49, 50, 51, 12, 102, 30, 31, - 32, 28, 78, 108, 127, 149, 28, 112, 113, 65, - 66, 149, 28, 146, 112, 113, 121, 122, 123, 124, - 148, 149, 70, 121, 122, 123, 124, 10, 76, 8, - 9, 10, 80, 101, 148, 83, 84, 85, 143, 87, - 7, 89, 78, 91, 27, 150, 94, 76, 27, 129, - 98, 99, 100, 101, 70, 103, 104, 101, 76, 107, - 76, 14, 110, 111, 80, 1, 102, 83, 84, 85, - 118, 87, 108, 89, 101, 91, 12, 153, 94, 101, - 81, 117, 98, 99, 100, 101, 78, 103, 104, 8, - 9, 107, 30, 122, 110, 111, 76, 1, 34, 81, - 148, 149, 118, 81, 14, 8, 9, 10, 12, 30, - 31, 32, 33, 34, 35, 36, 37, 38, 14, 40, - 41, 42, 43, 66, 27, 14, 29, 30, 31, 32, - 34, 149, 148, 149, 70, 8, 9, 10, 139, 14, - 76, 8, 9, 10, 80, 30, 31, 83, 84, 85, - 1, 87, 149, 89, 27, 91, 153, 139, 94, 28, - 27, 153, 98, 99, 100, 101, 70, 103, 104, 149, - 81, 107, 76, 28, 110, 111, 80, 34, 156, 83, - 84, 85, 118, 87, 127, 89, 28, 91, 65, 66, - 94, 71, 72, 1, 98, 99, 100, 101, 28, 103, - 104, 71, 72, 107, 12, 28, 110, 111, 46, 47, - 48, 65, 148, 149, 118, 46, 47, 48, 53, 70, - 96, 97, 105, 106, 73, 76, 148, 149, 139, 80, - 88, 67, 83, 84, 85, 81, 87, 66, 89, 76, - 91, 78, 66, 94, 148, 149, 1, 98, 99, 100, - 101, 66, 103, 104, 112, 113, 107, 12, 76, 110, - 111, 128, 70, 121, 122, 123, 124, 118, 76, 49, - 50, 51, 80, 53, 111, 83, 84, 85, 1, 87, - 66, 89, 66, 91, 66, 65, 94, 130, 131, 12, - 98, 99, 100, 101, 66, 103, 104, 148, 149, 107, - 76, 152, 110, 111, 148, 149, 143, 148, 149, 146, - 118, 76, 76, 76, 151, 70, 153, 76, 76, 76, - 76, 76, 76, 76, 76, 80, 76, 76, 83, 84, - 85, 1, 87, 78, 89, 78, 91, 78, 78, 94, - 148, 149, 12, 98, 99, 100, 101, 70, 103, 104, - 78, 81, 107, 76, 81, 110, 111, 80, 93, 85, - 83, 84, 85, 118, 87, 101, 89, 1, 91, 93, - 95, 94, 93, 93, 93, 98, 99, 100, 101, 95, - 103, 104, 126, 101, 107, 122, 101, 110, 111, 122, - 128, 108, 139, 148, 149, 118, 109, 128, 127, 147, - 70, 152, 148, 125, 146, -1, 76, 146, 142, -1, - 80, 125, -1, 83, 84, 85, 127, 87, 127, 89, - 127, 91, 154, 129, 94, 148, 149, -1, 98, 99, - 100, 101, 142, 103, 104, -1, 70, 107, 142, 142, - 110, 111, 76, 142, 142, 142, 80, 142, 118, 83, - 84, 85, 146, 87, 150, 89, 28, 91, 148, 148, - 94, 148, 148, 148, 98, 99, 100, 101, 148, 103, - 104, 148, 148, 107, 46, 47, 110, 111, 148, 149, - 52, 148, 54, 148, 118, 40, 41, 42, 43, 44, - 45, 46, 47, 48, 66, 148, 148, 0, 148, 46, - 47, 148, 74, 75, 148, 52, 78, 54, 148, 148, - 82, 8, 9, 10, 148, 149, 148, 148, 148, 66, - 8, 9, 10, 148, 148, 148, 148, 74, 75, 148, - 27, 78, 29, 30, 31, 82, 148, 148, 148, 27, - 149, 29, 30, 31, 32, 33, 34, 35, 36, 37, - 38, 39, 149, 149, 149, 149, 149, 149, 130, 149, - 132, 133, 134, 135, 136, 137, 138, 149, 149, 149, - 149, 155, 144, 145, 150, 150, 150, 150, 155, 151, - 150, 153, 150, 130, 150, 132, 133, 134, 135, 136, - 137, 138, 150, 150, 150, 155, 150, 144, 145, 102, - 150, 150, 150, 155, 151, 108, 153, 150, 150, 112, - 113, 150, 152, 112, 113, 95, 96, 97, 121, 122, - 123, 124, 121, 122, 123, 124, 112, 113, 95, 96, - 97, 151, 112, 113, 151, 121, 122, 123, 124, 151, - 143, 121, 122, 123, 124, 112, 113, 151, 155, 151, - 151, 150, 102, 151, 121, 122, 123, 124, 108, 151, - 151, 151, 112, 113, 150, 8, 9, 10, 151, 151, - 150, 121, 122, 123, 124, 71, 72, 73, 151, 71, - 72, 73, 151, 150, 27, 151, 29, 30, 31, 32, - 33, 34, 102, 143, 151, 151, 151, 151, 108, 152, - 150, 111, 112, 113, 114, 115, 116, 117, 152, 152, - 152, 152, 152, 152, 152, 152, 112, 113, 152, 152, - 112, 113, 8, 9, 10, 121, 122, 123, 124, 121, - 122, 123, 124, 152, 152, 152, 152, 152, 152, 112, - 113, 27, 155, 29, 30, 31, 32, 33, 121, 122, - 123, 124, 112, 113, 152, 155, 112, 113, 155, -1, - 155, 121, 122, 123, 124, 121, 122, 123, 124, 155, - 112, 113, 92, 155, 112, 113, 155, 150, 155, 121, - 122, 123, 124, 121, 122, 123, 124, 112, 113, 155, - 150, 155, 112, 113, 150, -1, 121, 122, 123, 124, - -1, 121, 122, 123, 124, -1, -1, -1, 150, -1, - -1, -1, 150, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 150 - ); - - protected $actionBase = array( - 0, 880, 893, 964, 857, 255, 910, 968, 1004, 1000, - 124, 1040, 3, 262, 1018, 861, 1022, 502, 1035, 987, - 874, 338, 292, 121, 333, 121, 316, 645, 645, 645, - 120, 200, 456, 456, 509, 456, 552, 605, 637, 232, - 344, 424, 312, 690, 690, 690, 690, 726, 726, 690, - 690, 690, 690, 690, 690, 690, 690, 690, 690, 690, - 690, 690, 690, 690, 690, 690, 690, 690, 690, 690, - 690, 690, 690, 690, 690, 690, 690, 690, 690, 690, - 690, 690, 690, 690, 690, 690, 690, 690, 690, 690, - 690, 690, 690, 690, 690, 690, 690, 690, 690, 690, - 690, 690, 690, 690, 690, 690, 690, 690, 690, 690, - 690, 690, 690, 690, 690, 690, 690, 690, 690, 690, - 690, 690, 690, 690, 690, 690, 690, 690, 690, 690, - 690, 690, 690, 690, 690, 690, 690, 690, 690, 84, - 748, 629, 622, 741, 738, 736, 735, 820, 640, 941, - 802, 794, 537, 792, 790, 787, 786, 785, 803, 784, - 776, 664, 130, 130, 130, 130, 130, 130, 130, 130, - 130, 130, 130, 56, 493, 189, 269, 86, 441, 487, - 487, 487, 487, 487, 487, 256, 256, 256, 256, 256, - 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, - 256, 256, 95, 381, 381, 381, 377, 788, 311, 813, - 813, 813, 813, 813, 813, 813, 813, 813, 813, 813, - 813, 813, 813, 813, 813, 813, 813, 813, 813, 813, - 813, 813, 813, 813, 813, 813, 813, 813, 813, 813, - 813, 813, 813, 813, 813, 813, 813, 813, 813, 813, - 813, 62, -17, -17, 863, 422, 457, 475, 1074, 328, - 1017, 872, 872, 872, 872, 872, -24, 154, 5, 5, - 5, 5, 237, 805, 805, 805, 805, 439, 439, 439, - 439, 804, 810, 806, 812, 280, 280, 654, 654, 524, - 780, 529, 529, 522, 522, 523, 523, 523, 523, 523, - 523, 523, 523, 523, 523, -44, 324, 173, 859, 61, - 61, 61, 61, 517, 517, 378, 359, 382, 80, 580, - 580, 580, 304, 304, 304, 44, 227, 630, 380, 380, - 380, 514, 613, 633, 342, -32, -32, -32, -32, 191, - 779, -32, -32, -32, 57, 165, 165, 195, 363, 644, - 821, 635, 818, 438, 661, -19, 666, 666, 666, 172, - 642, 490, 480, 477, 656, 59, 172, 84, 331, 519, - 216, 525, 737, 584, 684, 710, 78, 94, 417, 516, - 222, 284, 73, 708, 693, 916, 907, 182, 85, 649, - 525, 525, 525, 175, 449, 222, 87, 483, 483, 483, - 483, 483, 483, 483, 483, 680, 45, 134, 720, 246, - 503, 843, 597, 856, 856, 595, 607, 597, 632, 503, - 906, 906, 906, 906, 503, 607, 856, 856, 503, 524, - 856, 210, 503, 646, 607, 638, 638, 906, 728, 721, - 597, 619, 616, 856, 856, 856, 616, 595, 503, 906, - 643, 612, 221, 856, 906, 505, 505, 643, 503, 505, - 632, 505, 22, 518, 576, 840, 905, 848, 601, 778, - 627, 623, 891, 887, 904, 596, 604, 894, 858, 618, - 716, 602, 471, 536, 578, 531, 588, 650, 574, 653, - 642, 621, 506, 506, 506, 651, 665, 651, 506, 506, - 506, 506, 506, 506, 506, 506, 996, 662, 626, 631, - 634, 713, 337, 618, 641, 407, 770, 618, 920, 943, - 628, 603, 878, 922, 651, 994, 749, 43, 450, 877, - 625, 606, 651, 870, 651, 768, 651, 919, 608, 811, - 618, 506, 918, 983, 981, 978, 974, 965, 963, 960, - 947, 545, 853, 683, 942, 151, 903, 656, 663, 610, - 675, 233, 808, 651, 651, 767, 779, 651, 766, 707, - 750, 609, 671, 927, 800, 613, 926, 651, 624, 783, - 233, 491, 511, 946, 674, 862, 615, 917, 868, 765, - 464, 817, 530, 695, 945, 944, 962, 730, 764, 781, - 485, 542, 617, 620, 751, 869, 729, 921, 636, 657, - 647, 639, 763, 611, 923, 673, 614, 670, 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, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 130, 130, 130, 130, 130, - 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, - 130, 130, 130, 130, 130, 130, 130, 130, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 130, - -17, -17, -17, -17, 130, -17, -17, -17, -17, -17, - -17, 130, 130, 130, 130, 130, 130, 130, 130, 130, - 130, 130, 130, 130, 130, 130, 130, 130, -17, 130, - 130, 130, -17, 523, -17, 523, 523, 523, 523, 523, - 523, 523, 523, 523, 523, 523, 523, 523, 523, 523, - 523, 523, 523, 523, 523, 523, 523, 523, 523, 523, - 523, 523, 523, 523, 523, 523, 523, 523, 523, 523, - 523, 523, 523, 523, 523, 523, 523, 130, 0, 0, - 130, -17, 130, -17, 130, -17, 130, 130, 130, 130, - 130, 130, -17, -17, -17, -17, -17, -17, 0, 580, - 580, 580, 580, -17, -17, -17, -17, 950, 950, 950, - 950, 523, 523, 523, 523, 523, 523, 580, 580, 304, - 304, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 523, 950, 950, 523, -32, -32, -32, -32, -32, - -32, 165, 165, 165, 284, 0, 0, 0, 0, 0, - 0, -32, 607, 165, 368, 368, 368, 165, 165, 165, - 284, 0, 0, 0, 0, 607, 368, 0, 0, 0, - 856, 0, 0, 0, 368, 484, 484, 484, 484, 233, - 222, 0, 607, 607, 607, 0, 619, 0, 0, 0, - 856, 0, 0, 0, 0, 0, 0, 506, 43, 878, - 139, 288, 0, 0, 0, 0, 0, 0, 0, 288, - 288, 393, 393, 0, 0, 545, 506, 506, 506, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 139, 0, 0, 233 - ); - - 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,32767,32767,32767,32767,32767,32767, - 32767,32767, 428, 428,32767, 385,32767,32767,32767,32767, - 32767,32767,32767, 189, 189, 189,32767,32767,32767, 417, - 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, - 32767,32767,32767,32767,32767, 271,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767, 277, 433,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767, 252, 253, 255, 256, 188, 418, 140, 278, - 432, 187, 142, 216, 389,32767,32767,32767, 218, 26, - 151, 96, 388, 186, 127, 270, 272, 217, 193, 198, - 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, - 209, 192, 343, 249, 248, 247, 345,32767, 344, 382, - 382, 385,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767, 214, 371, 370, 215, 341, 219, 342, 221, 346, - 220, 237, 238, 235, 236, 239, 348, 347, 364, 365, - 362, 363, 191, 240, 241, 242, 243, 366, 367, 368, - 369, 173, 173, 173, 173,32767,32767, 427, 427,32767, - 32767, 228, 229, 355, 356,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767, 174,32767,32767, 131, - 131, 131, 131, 131,32767,32767,32767,32767,32767, 223, - 224, 222, 350, 351, 349,32767,32767, 317,32767,32767, - 32767,32767,32767, 319,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767, 390, 318,32767,32767,32767,32767, - 32767,32767,32767,32767, 403, 306,32767,32767,32767,32767, - 299, 115, 117, 65, 374,32767,32767,32767,32767,32767, - 408, 233,32767,32767,32767,32767,32767,32767, 440,32767, - 403,32767,32767,32767,32767,32767,32767,32767,32767, 246, - 225, 226, 227,32767,32767, 407, 401, 358, 359, 360, - 361, 352, 353, 354, 357,32767,32767,32767,32767,32767, - 69, 314,32767, 320, 320,32767,32767,32767,32767, 69, - 32767,32767,32767,32767, 69,32767, 406, 405, 69,32767, - 300, 384, 69, 82,32767, 80, 80,32767, 101, 101, - 32767,32767, 84, 380, 396,32767, 84,32767, 69,32767, - 288, 71, 384,32767,32767, 133, 133, 288, 69, 133, - 32767, 133,32767, 4, 324,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767,32767, 301, - 32767,32767,32767, 267, 268, 377, 392,32767, 393,32767, - 299,32767, 231, 232, 234, 211,32767, 213, 257, 258, - 259, 260, 261, 262, 263, 265,32767,32767, 304, 307, - 32767,32767,32767, 6, 20, 150,32767, 302,32767, 196, - 32767,32767,32767,32767, 435,32767,32767, 190,32767,32767, - 22,32767, 146,32767, 67,32767, 425,32767,32767, 401, - 303, 230,32767,32767,32767,32767,32767,32767,32767,32767, - 32767, 402,32767,32767,32767, 122,32767, 337,32767,32767, - 32767, 83,32767, 194, 141,32767,32767, 434,32767,32767, - 32767,32767,32767,32767,32767,32767,32767, 68,32767,32767, - 85,32767,32767, 401,32767,32767,32767,32767,32767,32767, - 185,32767,32767,32767,32767,32767, 401,32767,32767,32767, - 126,32767,32767,32767,32767,32767,32767,32767, 4,32767, - 167,32767,32767,32767,32767,32767,32767,32767, 28, 28, - 3, 28, 109, 28, 153, 3, 101, 101, 62, 153, - 28, 153, 153, 28, 28, 28, 28, 28, 160, 28, - 28, 28, 28, 28, 28, 28 - ); - - protected $goto = array( - 168, 168, 142, 142, 147, 142, 143, 144, 145, 150, - 152, 188, 170, 166, 166, 166, 166, 147, 147, 167, - 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, - 162, 163, 164, 165, 185, 141, 186, 492, 493, 371, - 494, 498, 499, 500, 501, 502, 503, 504, 505, 843, - 146, 148, 149, 151, 173, 178, 187, 203, 251, 254, - 256, 258, 260, 261, 262, 263, 264, 265, 273, 274, - 275, 276, 291, 292, 319, 320, 321, 390, 391, 392, - 541, 189, 190, 191, 192, 193, 194, 195, 196, 197, - 198, 199, 200, 201, 153, 154, 155, 169, 156, 171, - 157, 204, 172, 158, 159, 160, 205, 161, 139, 557, - 700, 557, 557, 557, 557, 557, 557, 557, 557, 557, - 557, 557, 557, 557, 557, 557, 557, 557, 557, 557, - 557, 557, 557, 557, 557, 557, 557, 557, 557, 557, - 557, 557, 557, 557, 557, 557, 557, 557, 557, 557, - 557, 557, 557, 496, 496, 496, 496, 496, 496, 379, - 653, 653, 653, 496, 496, 496, 496, 496, 496, 496, - 496, 496, 496, 507, 570, 594, 507, 753, 738, 736, - 734, 736, 622, 510, 762, 757, 785, 430, 430, 430, - 430, 430, 430, 767, 767, 1072, 1072, 430, 430, 430, - 430, 430, 430, 430, 430, 430, 430, 946, 519, 350, - 946, 774, 774, 774, 774, 774, 774, 543, 544, 545, - 546, 547, 548, 549, 550, 552, 579, 609, 599, 822, - 409, 604, 282, 369, 283, 284, 530, 732, 732, 732, - 732, 537, 5, 727, 733, 603, 558, 6, 558, 558, - 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, - 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, - 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, - 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, - 981, 1076, 981, 981, 981, 981, 981, 981, 981, 981, - 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, - 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, - 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, - 981, 981, 981, 981, 654, 654, 654, 655, 655, 655, - 573, 576, 614, 176, 508, 957, 956, 508, 179, 180, - 181, 397, 398, 399, 400, 175, 202, 206, 208, 255, - 257, 259, 266, 267, 268, 269, 270, 271, 277, 278, - 279, 280, 293, 294, 322, 323, 324, 401, 402, 403, - 404, 177, 182, 252, 253, 183, 184, 9, 333, 3, - 372, 10, 317, 580, 353, 408, 351, 352, 11, 587, - 1044, 1, 12, 13, 2, 14, 1032, 7, 15, 16, - 17, 18, 19, 20, 396, 596, 536, 536, 563, 532, - 939, 513, 383, 384, 534, 534, 495, 497, 524, 539, - 564, 567, 577, 583, 513, 962, 1069, 595, 386, 1051, - 1082, 1082, 1051, 890, 900, 26, 21, 365, 664, 633, - 841, 513, 513, 513, 771, 509, 1085, 1082, 509, 780, - 789, 553, 1067, 1067, 1067, 380, 380, 380, 373, 1085, - 1085, 542, 522, 29, 1050, 518, 533, 380, 592, 982, - 405, 1052, 942, 943, 1052, 395, 939, 932, 518, 518, - 937, 446, 451, 670, 568, 794, 741, 1029, 459, 940, - 1043, 940, 601, 830, 0, 0, 0, 0, 0, 941, - 0, 513, 0, 0, 0, 0, 0, 0, 0, 0, - 517, 0, 0, 0, 0, 0, 0, 0, 0, 540, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 523 - ); - - protected $gotoCheck = array( - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 39, - 32, 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, 95, 95, 95, 95, 95, 95, 5, - 6, 6, 6, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 22, 22, 95, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 63, 39, 39, 39, - 39, 39, 39, 56, 56, 56, 56, 39, 39, 39, - 39, 39, 39, 39, 39, 39, 39, 39, 79, 51, - 39, 39, 39, 39, 39, 39, 39, 88, 88, 88, - 88, 88, 88, 88, 88, 88, 88, 39, 43, 76, - 76, 43, 47, 43, 47, 47, 5, 39, 39, 39, - 39, 87, 2, 39, 39, 39, 98, 2, 98, 98, - 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, - 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, - 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, - 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, - 105, 119, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 7, 7, 7, 8, 8, 8, - 42, 42, 42, 13, 98, 103, 103, 98, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 14, 104, 14, - 29, 14, 104, 49, 49, 49, 51, 51, 14, 107, - 61, 14, 14, 14, 14, 14, 111, 14, 14, 14, - 14, 14, 14, 14, 33, 33, 33, 33, 33, 33, - 61, 4, 9, 9, 33, 33, 33, 33, 33, 33, - 33, 33, 33, 33, 4, 16, 117, 31, 30, 97, - 120, 120, 97, 80, 16, 16, 16, 16, 11, 53, - 79, 4, 4, 4, 58, 101, 120, 120, 101, 60, - 64, 16, 97, 97, 97, 102, 102, 102, 40, 120, - 120, 26, 40, 16, 97, 26, 40, 102, 16, 106, - 10, 96, 61, 61, 96, 102, 61, 91, 26, 26, - 93, 45, 40, 12, 46, 65, 50, 110, 86, 61, - 61, 61, 40, 78, -1, -1, -1, -1, -1, 61, - -1, 4, -1, -1, -1, -1, -1, -1, -1, -1, - 4, -1, -1, -1, -1, -1, -1, -1, -1, 4, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 79 - ); - - protected $gotoBase = array( - 0, 0, -378, 0, 95, -180, 156, 330, 333, 66, - 63, 90, 53, 136, -232, 0, 24, 0, 0, 0, - 0, 0, 130, 0, 0, -30, 441, 0, 0, 344, - 142, 151, 85, 129, 0, 0, 0, 0, 0, -98, - 44, 0, 30, -228, 0, 55, 48, -397, 0, 57, - 49, -230, 0, 82, 0, 0, -92, 0, 141, 0, - 145, 56, 0, 155, 94, 54, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -77, 0, 43, 161, - 135, 0, 0, 0, 0, 0, 41, 208, 167, 0, - 0, 73, 0, 71, 0, -132, 176, 134, 39, 0, - 0, 150, 137, 16, 61, 83, 111, 189, 0, 0, - 45, 195, 0, 0, 0, 0, 0, 148, 0, 256, - 124, 0 - ); - - protected $gotoDefault = array( - -32768, 462, 4, 648, 479, 514, 675, 676, 677, 375, - 374, 665, 671, 174, 8, 673, 891, 361, 680, 362, - 582, 682, 526, 684, 685, 140, 480, 376, 377, 527, - 385, 571, 699, 272, 382, 701, 363, 703, 709, 364, - 602, 586, 554, 598, 481, 442, 565, 281, 535, 561, - 740, 349, 748, 636, 756, 759, 482, 555, 770, 448, - 778, 967, 393, 784, 790, 795, 798, 418, 406, 578, - 802, 803, 325, 807, 610, 611, 821, 306, 829, 842, - 414, 910, 912, 483, 484, 520, 456, 506, 525, 485, - 933, 436, 407, 936, 486, 487, 426, 427, 954, 951, - 355, 1037, 354, 444, 316, 1022, 1021, 574, 986, 452, - 1075, 1033, 344, 488, 489, 370, 387, 1070, 431, 1077, - 1084, 562 - ); - - protected $ruleToNonTerminal = array( - 0, 1, 2, 2, 4, 4, 5, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 9, 9, - 11, 11, 11, 11, 10, 10, 12, 14, 14, 15, - 15, 15, 15, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 36, 36, 38, 37, 37, 30, 30, 40, - 40, 41, 41, 7, 8, 8, 8, 44, 44, 44, - 45, 45, 48, 48, 46, 46, 49, 49, 23, 23, - 32, 32, 35, 35, 34, 34, 50, 24, 24, 24, - 24, 51, 51, 52, 52, 53, 53, 21, 21, 17, - 17, 54, 19, 19, 55, 18, 18, 20, 20, 31, - 31, 31, 42, 42, 57, 57, 58, 58, 60, 60, - 60, 59, 59, 43, 43, 61, 61, 61, 62, 62, - 63, 63, 63, 27, 27, 64, 64, 64, 28, 28, - 65, 65, 47, 47, 66, 66, 66, 66, 71, 71, - 72, 72, 73, 73, 73, 73, 74, 75, 75, 70, - 70, 67, 67, 69, 69, 77, 77, 76, 76, 76, - 76, 76, 76, 68, 68, 78, 78, 29, 29, 22, - 22, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 16, 16, 26, 26, 83, - 83, 84, 84, 84, 84, 90, 79, 79, 86, 86, - 92, 92, 93, 94, 94, 94, 94, 94, 94, 98, - 98, 39, 39, 39, 80, 80, 99, 99, 95, 95, - 100, 100, 100, 100, 81, 81, 81, 85, 85, 85, - 91, 91, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 13, 13, 13, 13, 13, - 13, 108, 108, 108, 108, 108, 108, 108, 108, 108, - 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, - 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, - 108, 108, 108, 108, 89, 89, 82, 82, 82, 82, - 106, 106, 107, 107, 110, 110, 109, 109, 111, 111, - 33, 33, 33, 33, 113, 113, 112, 112, 112, 112, - 112, 114, 114, 97, 97, 101, 101, 96, 96, 115, - 115, 115, 115, 102, 102, 102, 102, 88, 88, 103, - 103, 103, 56, 116, 116, 117, 117, 117, 87, 87, - 118, 118, 119, 119, 119, 119, 104, 104, 104, 104, - 120, 120, 120, 120, 120, 120, 120, 121, 121, 121 - ); - - protected $ruleToLength = array( - 1, 1, 2, 0, 1, 3, 1, 1, 1, 1, - 1, 3, 5, 4, 3, 4, 4, 3, 3, 1, - 1, 3, 2, 4, 3, 1, 3, 2, 0, 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, 1, 6, 3, 3, - 2, 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, 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, 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, - 1, 1, 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, 4, 3, 1, 1, 1, 0, 0, 2, - 3, 1, 3, 1, 4, 2, 2, 2, 1, 2, - 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() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); - } - - protected function reduceRule5() { - $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; - } - - protected function reduceRule6() { - $this->semValue = new Name($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); - } - - protected function reduceRule7() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; - } - - protected function reduceRule8() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; - } - - protected function reduceRule9() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; - } - - protected function reduceRule10() { - $this->semValue = new Stmt\HaltCompiler($this->lexer->handleHaltCompiler(), $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); - } - - protected function reduceRule11() { - $this->semValue = new Stmt\Namespace_($this->semStack[$this->stackPos-(3-2)], null, $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule12() { - $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); - } - - protected function reduceRule13() { - $this->semValue = new Stmt\Namespace_(null, $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); - } - - protected function reduceRule14() { - $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 reduceRule15() { - $this->semValue = new Stmt\Use_($this->semStack[$this->stackPos-(4-3)], Stmt\Use_::TYPE_FUNCTION, $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); - } - - protected function reduceRule16() { - $this->semValue = new Stmt\Use_($this->semStack[$this->stackPos-(4-3)], Stmt\Use_::TYPE_CONSTANT, $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); - } - - protected function reduceRule17() { - $this->semValue = new Stmt\Const_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule18() { - $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; - } - - protected function reduceRule19() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); - } - - protected function reduceRule20() { - $this->semValue = new Stmt\UseUse($this->semStack[$this->stackPos-(1-1)], null, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); - } - - protected function reduceRule21() { - $this->semValue = new Stmt\UseUse($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule22() { - $this->semValue = new Stmt\UseUse($this->semStack[$this->stackPos-(2-2)], null, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule23() { - $this->semValue = new Stmt\UseUse($this->semStack[$this->stackPos-(4-2)], $this->semStack[$this->stackPos-(4-4)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); - } - - protected function reduceRule24() { - $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; - } - - protected function reduceRule25() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); - } - - protected function reduceRule26() { - $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 reduceRule27() { - 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 reduceRule28() { - $this->semValue = array(); - } - - protected function reduceRule29() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; - } - - protected function reduceRule30() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; - } - - protected function reduceRule31() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; - } - - protected function reduceRule32() { - throw new Error('__HALT_COMPILER() can only be used from the outermost scope', $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); - } - - protected function reduceRule33() { - $this->semValue = $this->semStack[$this->stackPos-(3-2)]; - } - - protected function reduceRule34() { - $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 reduceRule35() { - $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 reduceRule36() { - $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 reduceRule37() { - $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 reduceRule38() { - $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 reduceRule39() { - $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 reduceRule40() { - $this->semValue = new Stmt\Break_(null, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule41() { - $this->semValue = new Stmt\Break_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule42() { - $this->semValue = new Stmt\Continue_(null, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule43() { - $this->semValue = new Stmt\Continue_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule44() { - $this->semValue = new Stmt\Return_(null, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule45() { - $this->semValue = new Stmt\Return_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule46() { - $this->semValue = $this->semStack[$this->stackPos-(2-1)]; - } - - protected function reduceRule47() { - $this->semValue = new Stmt\Global_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule48() { - $this->semValue = new Stmt\Static_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule49() { - $this->semValue = new Stmt\Echo_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule50() { - $this->semValue = new Stmt\InlineHTML($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); - } - - protected function reduceRule51() { - $this->semValue = $this->semStack[$this->stackPos-(2-1)]; - } - - protected function reduceRule52() { - $this->semValue = new Stmt\Unset_($this->semStack[$this->stackPos-(5-3)], $this->startAttributeStack[$this->stackPos-(5-1)] + $this->endAttributes); - } - - protected function reduceRule53() { - $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 reduceRule54() { - $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 reduceRule55() { - $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 reduceRule56() { - $this->semValue = array(); /* means: no statement */ - } - - protected function reduceRule57() { - $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); - } - - protected function reduceRule58() { - $this->semValue = new Stmt\Throw_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule59() { - $this->semValue = new Stmt\Goto_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule60() { - $this->semValue = new Stmt\Label($this->semStack[$this->stackPos-(2-1)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule61() { - $this->semValue = array(); /* means: no statement */ - } - - protected function reduceRule62() { - $this->semValue = array(); - } - - protected function reduceRule63() { - $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)]; - } - - protected function reduceRule64() { - $this->semValue = new Stmt\Catch_($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 reduceRule65() { - $this->semValue = null; - } - - protected function reduceRule66() { - $this->semValue = $this->semStack[$this->stackPos-(4-3)]; - } - - protected function reduceRule67() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); - } - - protected function reduceRule68() { - $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; - } - - protected function reduceRule69() { - $this->semValue = false; - } - - protected function reduceRule70() { - $this->semValue = true; - } - - protected function reduceRule71() { - $this->semValue = false; - } - - protected function reduceRule72() { - $this->semValue = true; - } - - protected function reduceRule73() { - $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 reduceRule74() { - $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); - } - - protected function reduceRule75() { - $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); - } - - protected function reduceRule76() { - $this->semValue = new Stmt\Trait_($this->semStack[$this->stackPos-(5-2)], $this->semStack[$this->stackPos-(5-4)], $this->startAttributeStack[$this->stackPos-(5-1)] + $this->endAttributes); - } - - protected function reduceRule77() { - $this->semValue = 0; - } - - protected function reduceRule78() { - $this->semValue = Stmt\Class_::MODIFIER_ABSTRACT; - } - - protected function reduceRule79() { - $this->semValue = Stmt\Class_::MODIFIER_FINAL; - } - - protected function reduceRule80() { - $this->semValue = null; - } - - protected function reduceRule81() { - $this->semValue = $this->semStack[$this->stackPos-(2-2)]; - } - - protected function reduceRule82() { - $this->semValue = array(); - } - - protected function reduceRule83() { - $this->semValue = $this->semStack[$this->stackPos-(2-2)]; - } - - protected function reduceRule84() { - $this->semValue = array(); - } - - protected function reduceRule85() { - $this->semValue = $this->semStack[$this->stackPos-(2-2)]; - } - - protected function reduceRule86() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); - } - - protected function reduceRule87() { - $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; - } - - protected function reduceRule88() { - $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 reduceRule89() { - $this->semValue = $this->semStack[$this->stackPos-(4-2)]; - } - - protected function reduceRule90() { - $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 reduceRule91() { - $this->semValue = $this->semStack[$this->stackPos-(4-2)]; - } - - protected function reduceRule92() { - $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 reduceRule93() { - $this->semValue = $this->semStack[$this->stackPos-(4-2)]; - } - - protected function reduceRule94() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); - } - - protected function reduceRule95() { - $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; - } - - protected function reduceRule96() { - $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 reduceRule97() { - $this->semValue = $this->semStack[$this->stackPos-(3-2)]; - } - - protected function reduceRule98() { - $this->semValue = $this->semStack[$this->stackPos-(4-3)]; - } - - protected function reduceRule99() { - $this->semValue = $this->semStack[$this->stackPos-(4-2)]; - } - - protected function reduceRule100() { - $this->semValue = $this->semStack[$this->stackPos-(5-3)]; - } - - protected function reduceRule101() { - $this->semValue = array(); - } - - protected function reduceRule102() { - $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)]; - } - - protected function reduceRule103() { - $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 reduceRule104() { - $this->semValue = new Stmt\Case_(null, $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule105() { - $this->semValue = $this->semStack[$this->stackPos]; - } - - protected function reduceRule106() { - $this->semValue = $this->semStack[$this->stackPos]; - } - - protected function reduceRule107() { - $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 reduceRule108() { - $this->semValue = $this->semStack[$this->stackPos-(4-2)]; - } - - protected function reduceRule109() { - $this->semValue = array(); - } - - protected function reduceRule110() { - $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)]; - } - - protected function reduceRule111() { - $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 reduceRule112() { - $this->semValue = array(); - } - - protected function reduceRule113() { - $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)]; - } - - protected function reduceRule114() { - $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 reduceRule115() { - $this->semValue = null; - } - - protected function reduceRule116() { - $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 reduceRule117() { - $this->semValue = null; - } - - protected function reduceRule118() { - $this->semValue = new Stmt\Else_($this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule119() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)], false); - } - - protected function reduceRule120() { - $this->semValue = array($this->semStack[$this->stackPos-(2-2)], true); - } - - protected function reduceRule121() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)], false); - } - - protected function reduceRule122() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; - } - - protected function reduceRule123() { - $this->semValue = array(); - } - - protected function reduceRule124() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); - } - - protected function reduceRule125() { - $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; - } - - protected function reduceRule126() { - $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); - } - - protected function reduceRule127() { - $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); - } - - protected function reduceRule128() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; - } - - protected function reduceRule129() { - $this->semValue = 'array'; - } - - protected function reduceRule130() { - $this->semValue = 'callable'; - } - - protected function reduceRule131() { - $this->semValue = null; - } - - protected function reduceRule132() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; - } - - protected function reduceRule133() { - $this->semValue = null; - } - - protected function reduceRule134() { - $this->semValue = $this->semStack[$this->stackPos-(2-2)]; - } - - protected function reduceRule135() { - $this->semValue = array(); - } - - protected function reduceRule136() { - $this->semValue = $this->semStack[$this->stackPos-(3-2)]; - } - - protected function reduceRule137() { - $this->semValue = array(new Node\Arg($this->semStack[$this->stackPos-(3-2)], false, false, $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes)); - } - - protected function reduceRule138() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); - } - - protected function reduceRule139() { - $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; - } - - protected function reduceRule140() { - $this->semValue = new Node\Arg($this->semStack[$this->stackPos-(1-1)], false, false, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); - } - - protected function reduceRule141() { - $this->semValue = new Node\Arg($this->semStack[$this->stackPos-(2-2)], true, false, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule142() { - $this->semValue = new Node\Arg($this->semStack[$this->stackPos-(2-2)], false, true, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule143() { - $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; - } - - protected function reduceRule144() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); - } - - protected function reduceRule145() { - $this->semValue = new Expr\Variable(substr($this->semStack[$this->stackPos-(1-1)], 1), $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); - } - - protected function reduceRule146() { - $this->semValue = new Expr\Variable($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule147() { - $this->semValue = new Expr\Variable($this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); - } - - protected function reduceRule148() { - $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; - } - - protected function reduceRule149() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); - } - - protected function reduceRule150() { - $this->semValue = new Stmt\StaticVar(substr($this->semStack[$this->stackPos-(1-1)], 1), null, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); - } - - protected function reduceRule151() { - $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 reduceRule152() { - $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)]; - } - - protected function reduceRule153() { - $this->semValue = array(); - } - - protected function reduceRule154() { - $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); - } - - protected function reduceRule155() { - $this->semValue = new Stmt\ClassConst($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule156() { - $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); - } - - protected function reduceRule157() { - $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 reduceRule158() { - $this->semValue = array(); - } - - protected function reduceRule159() { - $this->semValue = $this->semStack[$this->stackPos-(3-2)]; - } - - protected function reduceRule160() { - $this->semValue = array(); - } - - protected function reduceRule161() { - $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)]; - } - - protected function reduceRule162() { - $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 reduceRule163() { - $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 reduceRule164() { - $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 reduceRule165() { - $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 reduceRule166() { - $this->semValue = array($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)]); - } - - protected function reduceRule167() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; - } - - protected function reduceRule168() { - $this->semValue = array(null, $this->semStack[$this->stackPos-(1-1)]); - } - - protected function reduceRule169() { - $this->semValue = null; - } - - protected function reduceRule170() { - $this->semValue = $this->semStack[$this->stackPos-(3-2)]; - } - - protected function reduceRule171() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; - } - - protected function reduceRule172() { - $this->semValue = 0; - } - - protected function reduceRule173() { - $this->semValue = 0; - } - - protected function reduceRule174() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; - } - - protected function reduceRule175() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; - } - - protected function reduceRule176() { - Stmt\Class_::verifyModifier($this->semStack[$this->stackPos-(2-1)], $this->semStack[$this->stackPos-(2-2)]); $this->semValue = $this->semStack[$this->stackPos-(2-1)] | $this->semStack[$this->stackPos-(2-2)]; - } - - protected function reduceRule177() { - $this->semValue = Stmt\Class_::MODIFIER_PUBLIC; - } - - protected function reduceRule178() { - $this->semValue = Stmt\Class_::MODIFIER_PROTECTED; - } - - protected function reduceRule179() { - $this->semValue = Stmt\Class_::MODIFIER_PRIVATE; - } - - protected function reduceRule180() { - $this->semValue = Stmt\Class_::MODIFIER_STATIC; - } - - protected function reduceRule181() { - $this->semValue = Stmt\Class_::MODIFIER_ABSTRACT; - } - - protected function reduceRule182() { - $this->semValue = Stmt\Class_::MODIFIER_FINAL; - } - - protected function reduceRule183() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); - } - - protected function reduceRule184() { - $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; - } - - protected function reduceRule185() { - $this->semValue = new Stmt\PropertyProperty(substr($this->semStack[$this->stackPos-(1-1)], 1), null, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); - } - - protected function reduceRule186() { - $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 reduceRule187() { - $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; - } - - protected function reduceRule188() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); - } - - protected function reduceRule189() { - $this->semValue = array(); - } - - protected function reduceRule190() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; - } - - protected function reduceRule191() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; - } - - protected function reduceRule192() { - $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 reduceRule193() { - $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 reduceRule194() { - $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 reduceRule195() { - $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 reduceRule196() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; - } - - protected function reduceRule197() { - $this->semValue = new Expr\Clone_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule198() { - $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 reduceRule199() { - $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 reduceRule200() { - $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 reduceRule201() { - $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 reduceRule202() { - $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 reduceRule203() { - $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 reduceRule204() { - $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 reduceRule205() { - $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 reduceRule206() { - $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 reduceRule207() { - $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 reduceRule208() { - $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 reduceRule209() { - $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 reduceRule210() { - $this->semValue = new Expr\PostInc($this->semStack[$this->stackPos-(2-1)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule211() { - $this->semValue = new Expr\PreInc($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule212() { - $this->semValue = new Expr\PostDec($this->semStack[$this->stackPos-(2-1)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule213() { - $this->semValue = new Expr\PreDec($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule214() { - $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 reduceRule215() { - $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 reduceRule216() { - $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 reduceRule217() { - $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 reduceRule218() { - $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 reduceRule219() { - $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 reduceRule220() { - $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 reduceRule221() { - $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 reduceRule222() { - $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 reduceRule223() { - $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 reduceRule224() { - $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 reduceRule225() { - $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 reduceRule226() { - $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 reduceRule227() { - $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 reduceRule228() { - $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 reduceRule229() { - $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 reduceRule230() { - $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 reduceRule231() { - $this->semValue = new Expr\UnaryPlus($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule232() { - $this->semValue = new Expr\UnaryMinus($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule233() { - $this->semValue = new Expr\BooleanNot($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule234() { - $this->semValue = new Expr\BitwiseNot($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule235() { - $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 reduceRule236() { - $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 reduceRule237() { - $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 reduceRule238() { - $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 reduceRule239() { - $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 reduceRule240() { - $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 reduceRule241() { - $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 reduceRule242() { - $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 reduceRule243() { - $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 reduceRule244() { - $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 reduceRule245() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; - } - - protected function reduceRule246() { - $this->semValue = $this->semStack[$this->stackPos-(3-2)]; - } - - protected function reduceRule247() { - $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 reduceRule248() { - $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 reduceRule249() { - $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 reduceRule250() { - $this->semValue = new Expr\Isset_($this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); - } - - protected function reduceRule251() { - $this->semValue = new Expr\Empty_($this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); - } - - protected function reduceRule252() { - $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 reduceRule253() { - $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 reduceRule254() { - $this->semValue = new Expr\Eval_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule255() { - $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 reduceRule256() { - $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 reduceRule257() { - $this->semValue = new Expr\Cast\Int_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule258() { - $this->semValue = new Expr\Cast\Double($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule259() { - $this->semValue = new Expr\Cast\String_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule260() { - $this->semValue = new Expr\Cast\Array_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule261() { - $this->semValue = new Expr\Cast\Object_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule262() { - $this->semValue = new Expr\Cast\Bool_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule263() { - $this->semValue = new Expr\Cast\Unset_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule264() { - $this->semValue = new Expr\Exit_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule265() { - $this->semValue = new Expr\ErrorSuppress($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule266() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; - } - - protected function reduceRule267() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; - } - - protected function reduceRule268() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; - } - - protected function reduceRule269() { - $this->semValue = new Expr\ShellExec($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule270() { - $this->semValue = new Expr\Print_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule271() { - $this->semValue = new Expr\Yield_(null, null, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); - } - - protected function reduceRule272() { - $this->semValue = new Expr\YieldFrom($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule273() { - $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 reduceRule274() { - $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 reduceRule275() { - $this->semValue = $this->semStack[$this->stackPos-(3-2)]; - } - - protected function reduceRule276() { - $this->semValue = $this->semStack[$this->stackPos-(3-2)]; - } - - protected function reduceRule277() { - $this->semValue = new Expr\Yield_($this->semStack[$this->stackPos-(2-2)], null, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule278() { - $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 reduceRule279() { - $this->semValue = new Expr\Array_($this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); - } - - protected function reduceRule280() { - $this->semValue = new Expr\Array_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule281() { - $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 reduceRule282() { - $this->semValue = new Expr\ArrayDimFetch(new Scalar\String_(Scalar\String_::parse($this->semStack[$this->stackPos-(4-1)]), $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes), $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); - } - - protected function reduceRule283() { - $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 reduceRule284() { - $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 reduceRule285() { - $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)]); - } - - protected function reduceRule286() { - $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 reduceRule287() { - 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 reduceRule288() { - $this->semValue = array(); - } - - protected function reduceRule289() { - $this->semValue = $this->semStack[$this->stackPos-(4-3)]; - } - - protected function reduceRule290() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); - } - - protected function reduceRule291() { - $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; - } - - protected function reduceRule292() { - $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 reduceRule293() { - $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 reduceRule294() { - $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 reduceRule295() { - $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 reduceRule296() { - - 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 reduceRule297() { - $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 reduceRule298() { - $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 reduceRule299() { - $this->semValue = new Name($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); - } - - protected function reduceRule300() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; - } - - protected function reduceRule301() { - $this->semValue = new Name($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); - } - - protected function reduceRule302() { - $this->semValue = new Name\FullyQualified($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule303() { - $this->semValue = new Name\Relative($this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule304() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; - } - - protected function reduceRule305() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; - } - - protected function reduceRule306() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; - } - - protected function reduceRule307() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; - } - - protected function reduceRule308() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; - } - - protected function reduceRule309() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; - } - - protected function reduceRule310() { - $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 reduceRule311() { - $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 reduceRule312() { - $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 reduceRule313() { - $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 reduceRule314() { - $this->semValue = null; - } - - protected function reduceRule315() { - $this->semValue = null; - } - - protected function reduceRule316() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; - } - - protected function reduceRule317() { - $this->semValue = array(); - } - - protected function reduceRule318() { - $this->semValue = array(Scalar\String_::parseEscapeSequences($this->semStack[$this->stackPos-(1-1)], '`')); - } - - protected function reduceRule319() { - foreach ($this->semStack[$this->stackPos-(1-1)] as &$s) { if (is_string($s)) { $s = Node\Scalar\String_::parseEscapeSequences($s, '`'); } }; $this->semValue = $this->semStack[$this->stackPos-(1-1)]; - } - - protected function reduceRule320() { - $this->semValue = array(); - } - - protected function reduceRule321() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; - } - - protected function reduceRule322() { - $this->semValue = new Scalar\LNumber(Scalar\LNumber::parse($this->semStack[$this->stackPos-(1-1)]), $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); - } - - protected function reduceRule323() { - $this->semValue = new Scalar\DNumber(Scalar\DNumber::parse($this->semStack[$this->stackPos-(1-1)]), $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); - } - - protected function reduceRule324() { - $this->semValue = new Scalar\String_(Scalar\String_::parse($this->semStack[$this->stackPos-(1-1)]), $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); - } - - protected function reduceRule325() { - $this->semValue = new Scalar\MagicConst\Line($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); - } - - protected function reduceRule326() { - $this->semValue = new Scalar\MagicConst\File($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); - } - - protected function reduceRule327() { - $this->semValue = new Scalar\MagicConst\Dir($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); - } - - protected function reduceRule328() { - $this->semValue = new Scalar\MagicConst\Class_($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); - } - - protected function reduceRule329() { - $this->semValue = new Scalar\MagicConst\Trait_($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); - } - - protected function reduceRule330() { - $this->semValue = new Scalar\MagicConst\Method($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); - } - - protected function reduceRule331() { - $this->semValue = new Scalar\MagicConst\Function_($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); - } - - protected function reduceRule332() { - $this->semValue = new Scalar\MagicConst\Namespace_($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); - } - - protected function reduceRule333() { - $this->semValue = new Scalar\String_(Scalar\String_::parseDocString($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-2)]), $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule334() { - $this->semValue = new Scalar\String_('', $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule335() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; - } - - protected function reduceRule336() { - $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 reduceRule337() { - $this->semValue = new Expr\ConstFetch($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); - } - - protected function reduceRule338() { - $this->semValue = new Expr\Array_($this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); - } - - protected function reduceRule339() { - $this->semValue = new Expr\Array_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule340() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; - } - - protected function reduceRule341() { - $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 reduceRule342() { - $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 reduceRule343() { - $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 reduceRule344() { - $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 reduceRule345() { - $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 reduceRule346() { - $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 reduceRule347() { - $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 reduceRule348() { - $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 reduceRule349() { - $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 reduceRule350() { - $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 reduceRule351() { - $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 reduceRule352() { - $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 reduceRule353() { - $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 reduceRule354() { - $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 reduceRule355() { - $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 reduceRule356() { - $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 reduceRule357() { - $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 reduceRule358() { - $this->semValue = new Expr\UnaryPlus($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule359() { - $this->semValue = new Expr\UnaryMinus($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule360() { - $this->semValue = new Expr\BooleanNot($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule361() { - $this->semValue = new Expr\BitwiseNot($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule362() { - $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 reduceRule363() { - $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 reduceRule364() { - $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 reduceRule365() { - $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 reduceRule366() { - $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 reduceRule367() { - $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 reduceRule368() { - $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 reduceRule369() { - $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 reduceRule370() { - $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 reduceRule371() { - $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 reduceRule372() { - $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 reduceRule373() { - $this->semValue = $this->semStack[$this->stackPos-(3-2)]; - } - - protected function reduceRule374() { - $this->semValue = new Expr\ConstFetch($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); - } - - protected function reduceRule375() { - $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 reduceRule376() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; - } - - protected function reduceRule377() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; - } - - protected function reduceRule378() { - foreach ($this->semStack[$this->stackPos-(3-2)] as &$s) { if (is_string($s)) { $s = Node\Scalar\String_::parseEscapeSequences($s, '"'); } }; $this->semValue = new Scalar\Encapsed($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule379() { - foreach ($this->semStack[$this->stackPos-(3-2)] as &$s) { if (is_string($s)) { $s = Node\Scalar\String_::parseEscapeSequences($s, null); } } $s = preg_replace('~(\r\n|\n|\r)$~', '', $s); if ('' === $s) array_pop($this->semStack[$this->stackPos-(3-2)]);; $this->semValue = new Scalar\Encapsed($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule380() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; - } - - protected function reduceRule381() { - $this->semValue = 'class'; - } - - protected function reduceRule382() { - $this->semValue = array(); - } - - protected function reduceRule383() { - $this->semValue = $this->semStack[$this->stackPos-(2-1)]; - } - - protected function reduceRule384() { - $this->semValue = $this->semStack[$this->stackPos]; - } - - protected function reduceRule385() { - $this->semValue = $this->semStack[$this->stackPos]; - } - - protected function reduceRule386() { - $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; - } - - protected function reduceRule387() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); - } - - protected function reduceRule388() { - $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 reduceRule389() { - $this->semValue = new Expr\ArrayItem($this->semStack[$this->stackPos-(1-1)], null, false, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); - } - - protected function reduceRule390() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; - } - - protected function reduceRule391() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; - } - - protected function reduceRule392() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; - } - - protected function reduceRule393() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; - } - - protected function reduceRule394() { - $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 reduceRule395() { - $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 reduceRule396() { - $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 reduceRule397() { - $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 reduceRule398() { - $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 reduceRule399() { - $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 reduceRule400() { - $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 reduceRule401() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; - } - - protected function reduceRule402() { - $this->semValue = $this->semStack[$this->stackPos-(3-2)]; - } - - protected function reduceRule403() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; - } - - protected function reduceRule404() { - $this->semValue = new Expr\Variable($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - 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 = 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 reduceRule408() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; - } - - protected function reduceRule409() { - $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 reduceRule410() { - $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 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 = 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 reduceRule413() { - $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 reduceRule414() { - $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 reduceRule415() { - $this->semValue = new Expr\Variable(substr($this->semStack[$this->stackPos-(1-1)], 1), $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); - } - - protected function reduceRule416() { - $this->semValue = new Expr\Variable($this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); - } - - protected function reduceRule417() { - $this->semValue = null; - } - - protected function reduceRule418() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; - } - - protected function reduceRule419() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; - } - - protected function reduceRule420() { - $this->semValue = $this->semStack[$this->stackPos-(3-2)]; - } - - protected function reduceRule421() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; - } - - protected function reduceRule422() { - $this->semValue = new Expr\List_($this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); - } - - protected function reduceRule423() { - $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; - } - - protected function reduceRule424() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); - } - - protected function reduceRule425() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; - } - - protected function reduceRule426() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; - } - - protected function reduceRule427() { - $this->semValue = null; - } - - protected function reduceRule428() { - $this->semValue = array(); - } - - protected function reduceRule429() { - $this->semValue = $this->semStack[$this->stackPos-(2-1)]; - } - - protected function reduceRule430() { - $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; - } - - protected function reduceRule431() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); - } - - protected function reduceRule432() { - $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 reduceRule433() { - $this->semValue = new Expr\ArrayItem($this->semStack[$this->stackPos-(1-1)], null, false, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); - } - - protected function reduceRule434() { - $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 reduceRule435() { - $this->semValue = new Expr\ArrayItem($this->semStack[$this->stackPos-(2-2)], null, true, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule436() { - $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)]; - } - - protected function reduceRule437() { - $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)]; - } - - protected function reduceRule438() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); - } - - protected function reduceRule439() { - $this->semValue = array($this->semStack[$this->stackPos-(2-1)], $this->semStack[$this->stackPos-(2-2)]); - } - - protected function reduceRule440() { - $this->semValue = new Expr\Variable(substr($this->semStack[$this->stackPos-(1-1)], 1), $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); - } - - protected function reduceRule441() { - $this->semValue = new Expr\ArrayDimFetch(new Expr\Variable(substr($this->semStack[$this->stackPos-(4-1)], 1), $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes), $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); - } - - protected function reduceRule442() { - $this->semValue = new Expr\PropertyFetch(new Expr\Variable(substr($this->semStack[$this->stackPos-(3-1)], 1), $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes), $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule443() { - $this->semValue = new Expr\Variable($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule444() { - $this->semValue = new Expr\Variable($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule445() { - $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 reduceRule446() { - $this->semValue = $this->semStack[$this->stackPos-(3-2)]; - } - - protected function reduceRule447() { - $this->semValue = new Scalar\String_($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); - } - - protected function reduceRule448() { - $this->semValue = new Scalar\String_($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); - } - - protected function reduceRule449() { - $this->semValue = new Expr\Variable(substr($this->semStack[$this->stackPos-(1-1)], 1), $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); - } -} +class Parser extends Parser\Php5 {} diff --git a/lib/PhpParser/Parser/Php5.php b/lib/PhpParser/Parser/Php5.php new file mode 100644 index 0000000..d37841f --- /dev/null +++ b/lib/PhpParser/Parser/Php5.php @@ -0,0 +1,2860 @@ +'", + "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_DOUBLE_ARROW", + "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, 52, 156, 157, 153, 51, 34, 157, + 151, 152, 49, 46, 7, 47, 48, 50, 157, 157, + 157, 157, 157, 157, 157, 157, 157, 157, 28, 148, + 40, 14, 42, 27, 64, 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, 66, 157, 155, 33, 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, 32, 150, 54, 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, 15, 16, + 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, + 29, 30, 31, 35, 36, 37, 38, 39, 41, 43, + 44, 45, 53, 55, 56, 57, 58, 59, 60, 61, + 62, 63, 65, 67, 68, 69, 70, 71, 72, 73, + 74, 75, 76, 77, 78, 79, 80, 157, 157, 81, + 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, + 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, + 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, + 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, + 132, 133, 134, 135, 136, 137, 157, 157, 157, 157, + 157, 157, 138, 139, 140, 141, 142, 143, 144, 145, + 146, 147 + ); + + protected $action = array( + 707, 60, 61, 420, 62, 63,-32766,-32766,-32766,-32766, + 64, 65, 66, 223, 224, 225, 226, 227, 228, 229, + 230, 231, 0, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243,-32766,-32766,-32766,-32766,-32766, + -32767,-32767,-32767,-32767, 650, 67, 68, 58, 244, 245, + 129, 69, 460, 70, 297, 298, 71, 72, 73, 74, + 75, 76, 77, 78,-32766, 32, 305, 79, 411, 421, + -32766,-32766,-32766, 968, 969, 463, -118, 1061, 413, 696, + 447, 464, 46, 27, 422, 366, 465, 438, 466,-32766, + 467,-32766,-32766, 423, 220, 221, 222, 36, 37, 468, + 424, 441, 38, 469, 221, 222, 80,-32766, 329, 359, + 360, 491, 751, 207, 425, 470, 471, 472, 473, 474, + 608,-32766, 207, 55, 678, 723, 475, 476, 477, 478, + 128, 974, 975, 976, 977, 971, 972, 315, 84, 85, + 86, 419, 491, 978, 973, 425, 440, 702, 618, 635, + 47, 135, 340, 327, 301, 331, 443, 40, 313, 87, + 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, + 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, + 108, 109, 31, 308,-32766,-32766,-32766,-32766,-32766, 288, + -32766, 775, 776, 800, 805, 110, 650, 220, 221, 222, + -32766,-32766, 1027,-32766,-32766,-32766, 125,-32766, 439,-32766, + 569,-32766, 917, -123,-32766, 286, 207, 35,-32766,-32766, + -32766, 428, 428,-32766,-32766, 22, 693,-32766, 211, 133, + -32766, 490, 752,-32766, 301, 1090, 470, 471,-32766, -119, + 342, 1018, 694, 378, 917, 678, 723, 475, 476, 616, + 791, 41, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, 122,-32766,-32766,-32766, 132,-32766,-32766, + -32766, 1093, 781, 1095, 1094,-32766, 650, 220, 221, 222, + -32766,-32766, 57,-32766,-32766,-32766, 935,-32766, 54,-32766, + -32766,-32766, 856, 858,-32766, 358, 207, 248,-32766,-32766, + -32766, 428,-32766,-32766,-32766, 39, 300,-32766, 650, 388, + -32766, 490,-32766,-32766, 304,-32766,-32766,-32766,-32766,-32766, + 630,-32766, 617,-32766, 917, 290,-32766, 782, 356, 357, + -32766,-32766,-32766, 428, 1068,-32766,-32766, 434, 207,-32766, + 620, 1019,-32766, 490, 621,-32766, 302, 132,-32766,-32766, + -32766, 212, 606, 241, 242, 243, 917, 412,-32766,-32766, + -32766, 642, 1055, 326, -401, 126, 623, 470, 471, 244, + 245, 124, 131, 416, 470, 471, 656, 723, 475, 476, + -32766,-32766,-32766, 678, 723, 475, 476, 222, 650,-32766, + -32766,-32766,-32766, 428, 810,-32766,-32766,-32766, 339,-32766, + 303,-32766, -171,-32766, 207, 659,-32766, 1026,-32766, 477, + -32766,-32766,-32766, 428,-32766,-32766,-32766, 428, 445,-32766, + 650, 213,-32766, 490,-32766,-32766,-32766,-32766,-32766,-32766, + -32766,-32766,-32766,-32766, 428,-32766, 917, 348,-32766, 428, + 1083,-32766,-32766,-32766,-32766, 428, 1061,-32766,-32766,-32766, + -32766,-32766,-32766, 1027,-32766, 490, 1065,-32766, 289, 332, + -32766,-32766,-32766, 1083, 214,-32766,-32766,-32766, 917,-32766, + -32766,-32766,-32766,-32766,-32766,-32766,-32766,-32766, 249,-32767, + -32767,-32767,-32767, 347,-32766, 123,-32766,-32766,-32766,-32766, + 299, 133,-32766,-32766,-32766, 220, 221, 222, 1025, 250, + 650, 220, 221, 222,-32766,-32766,-32766,-32766,-32766,-32766, + -32766,-32766, 137,-32766, 207,-32766, 566, 980,-32766, 634, + 207, 340,-32766,-32766,-32766, 428,-32766,-32766,-32766, 134, + 575,-32766, 650, 314,-32766, 490,-32766, 716, 1024,-32766, + -32766,-32766,-32766,-32766, 538,-32766, 706,-32766, 244, 245, + -32766, 454, 581,-32766,-32766,-32766,-32766, 428, 639,-32766, + -32766, 449, 28,-32766, 917, 136,-32766, 490, 238, 239, + 240, 110,-32766,-32766,-32766, 104, 105, 106, 308,-32766, + 138, 367, 588, 589, 593, 650, 804, 638, 980,-32766, + 615, 305,-32766,-32766,-32766, 346,-32766, 52,-32766, 650, + -32766, 1061, 50,-32766,-32766,-32766,-32766,-32766,-32766,-32766, + 428, 59,-32766,-32766, 470, 471,-32766, 917, 605,-32766, + 490, 246,-32766, 678, 723, 475, 476,-32766, 650, 107, + 108, 109,-32766, 308, 945,-32766,-32766,-32766,-32766,-32766, + 56,-32766, 49,-32766, 51, 110,-32766, 775, 776, 917, + -32766,-32766,-32766, 428, 53,-32766,-32766,-32766,-32766,-32766, + 529, 961,-32766, 490, 657, 625, 491, 815, 645, 425, + -32766, 528, 516, 512, 429,-32766, 340, 511, 435, 651, + 433, 650, 667, 650, 1088,-32766, 669, 812,-32766,-32766, + -32766,-32766,-32766, 600,-32766, 938,-32766, 515, 607,-32766, + 686,-32766, 917,-32766,-32766,-32766, 428,-32766,-32766,-32766, + 590, 345,-32766, 650, 1083,-32766, 490,-32766, 559, 437, + -32766,-32766,-32766,-32766,-32766, 458,-32766,-32766,-32766, -168, + 584,-32766, 307, 285, 531,-32766,-32766,-32766, 428, 572, + -32766,-32766, 336, 432,-32766, 725, 428,-32766, 490, 724, + 42, 585, 979, 688,-32766,-32766, 338, 127, 330, 718, + -32766, 23, 811, 341, 521, 0, 650, 434, -308, 0, + -32766, 335, 0,-32766,-32766,-32766, -402,-32766, -401,-32766, + 328,-32766, 915, 477,-32766, 690,-32766, 0,-32766,-32766, + -32766, 428, 318,-32766,-32766, 0,-32766,-32766, -300, 613, + -32766, 490, 650, -309, 381, 368,-32766, 334,-32766,-32766, + -32766,-32766, 416,-32766, 1056,-32766, 247,-32766, 809, 745, + -32766, 735, 746, 698,-32766,-32766,-32766, 428, 801,-32766, + -32766, 683, 663,-32766, 215, 216,-32766, 490,-32766,-32766, + 217, 662, 218, 681,-32766,-32767,-32767,-32767,-32767, 102, + 103, 104, 105, 106, 209, 754, 661, -1, 660, 215, + 216, 705, 968, 969, 692, 217,-32766, 218, 808, 627, + 970,-32766,-32766,-32766,-32766,-32766, 626, 737, 739, 209, + -32766,-32766,-32766, 704, 691, 695, 689, 968, 969, 687, + -32766,-32766,-32766,-32766,-32766, 970, 697, 44, 45,-32766, + 643,-32766,-32766,-32766,-32766,-32766,-32766,-32767,-32767,-32767, + -32767,-32767, 644, 640, 637, 632, 631, 629, 556, 624, + 974, 975, 976, 977, 971, 972, 394, 619, 83, 130, + 641, 591, 978, 973, 1066, 793, 959, 1058, 1040, 219, + 1046,-32766, 1060, 556, 1062, 974, 975, 976, 977, 971, + 972, 394, 1089, 453, 722, 985, 720, 978, 973, 412, + 721, 1092, 931, 1087, 219, 326,-32766, 1091, 744, 470, + 471, 743, 921, 470, 471, -104, -104, -104, 656, 723, + 475, 476, 678, 723, 475, 476, 470, 471, -103, -103, + -103, 43, 470, 471, 34, 678, 723, 475, 476, 415, + 339, 678, 723, 475, 476, 470, 471, 30, 958, 33, + -32766, 719, 412, 410, 678, 723, 475, 476, 326, 343, + 312, 311, 470, 471, 816,-32766,-32766,-32766, 310, 309, + -104, 656, 723, 475, 476, -112, -112, -112, 296, -114, + -114, -114, 295, -103,-32766, 287,-32766,-32766,-32766,-32766, + -32766,-32766, 417, 339, 210, 82, 81, 48, 337, 896, + 658, 826, 827, 828, 825, 824, 823, 818, 560, 984, + 783, 925, 922, 612, 551, 461, 470, 471, 457, 455, + 470, 471,-32766,-32766,-32766, 678, 723, 475, 476, 678, + 723, 475, 476, 897, 450, 389, 25, 24, -120, 470, + 471,-32766, 1057,-32766,-32766,-32766,-32766,-32766, 678, 723, + 475, 476, 470, 471, -119, 1041, 470, 471, 1045, 0, + 1059, 678, 723, 475, 476, 678, 723, 475, 476, 944, + 470, 471, 597, 929, 470, 471, 930, 710, 927, 678, + 723, 475, 476, 678, 723, 475, 476, 470, 471, 928, + 628, 926, 470, 471, 679, 0, 678, 723, 475, 476, + 0, 678, 723, 475, 476, 0, 0, 0, 712, 0, + 0, 0, 919, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 920 + ); + + protected $actionCheck = array( + 1, 2, 3, 4, 5, 6, 30, 31, 32, 33, + 11, 12, 13, 30, 31, 32, 33, 34, 35, 36, + 37, 38, 0, 40, 41, 42, 43, 44, 45, 46, + 47, 48, 49, 50, 51, 30, 31, 32, 33, 34, + 35, 36, 37, 38, 76, 46, 47, 66, 65, 66, + 7, 52, 7, 54, 55, 56, 57, 58, 59, 60, + 61, 62, 63, 64, 8, 66, 67, 68, 69, 70, + 8, 9, 10, 74, 75, 76, 73, 78, 122, 80, + 7, 82, 83, 84, 85, 7, 87, 28, 89, 27, + 91, 29, 30, 94, 8, 9, 10, 98, 99, 100, + 101, 7, 103, 104, 9, 10, 107, 151, 127, 110, + 111, 143, 28, 27, 146, 112, 113, 118, 119, 120, + 76, 1, 27, 66, 121, 122, 123, 124, 129, 130, + 149, 132, 133, 134, 135, 136, 137, 138, 8, 9, + 10, 7, 143, 144, 145, 146, 7, 148, 149, 28, + 151, 66, 153, 154, 34, 156, 76, 27, 7, 29, + 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, + 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, + 50, 51, 7, 53, 30, 31, 32, 33, 34, 7, + 70, 130, 131, 148, 150, 65, 76, 8, 9, 10, + 80, 1, 122, 83, 84, 85, 149, 87, 149, 89, + 86, 91, 12, 152, 94, 128, 27, 7, 98, 99, + 100, 101, 101, 103, 104, 152, 148, 107, 7, 149, + 110, 111, 148, 1, 34, 150, 112, 113, 118, 152, + 7, 155, 148, 78, 12, 121, 122, 123, 124, 76, + 78, 14, 15, 16, 17, 18, 19, 20, 21, 22, + 23, 24, 25, 26, 8, 9, 10, 147, 148, 149, + 70, 76, 152, 78, 79, 102, 76, 8, 9, 10, + 80, 108, 66, 83, 84, 85, 152, 87, 66, 89, + 117, 91, 55, 56, 94, 7, 27, 28, 98, 99, + 100, 101, 70, 103, 104, 140, 141, 107, 76, 77, + 110, 111, 80, 1, 34, 83, 84, 85, 118, 87, + 28, 89, 76, 91, 12, 153, 94, 152, 101, 102, + 98, 99, 100, 101, 152, 103, 104, 146, 27, 107, + 149, 152, 110, 111, 28, 1, 34, 147, 148, 149, + 118, 14, 90, 49, 50, 51, 12, 102, 30, 31, + 32, 28, 78, 108, 127, 149, 28, 112, 113, 65, + 66, 149, 28, 146, 112, 113, 121, 122, 123, 124, + 148, 149, 70, 121, 122, 123, 124, 10, 76, 8, + 9, 10, 80, 101, 148, 83, 84, 85, 143, 87, + 7, 89, 78, 91, 27, 150, 94, 76, 27, 129, + 98, 99, 100, 101, 70, 103, 104, 101, 76, 107, + 76, 14, 110, 111, 80, 1, 102, 83, 84, 85, + 118, 87, 108, 89, 101, 91, 12, 153, 94, 101, + 81, 117, 98, 99, 100, 101, 78, 103, 104, 8, + 9, 107, 30, 122, 110, 111, 76, 1, 34, 81, + 148, 149, 118, 81, 14, 8, 9, 10, 12, 30, + 31, 32, 33, 34, 35, 36, 37, 38, 14, 40, + 41, 42, 43, 66, 27, 14, 29, 30, 31, 32, + 34, 149, 148, 149, 70, 8, 9, 10, 139, 14, + 76, 8, 9, 10, 80, 30, 31, 83, 84, 85, + 1, 87, 149, 89, 27, 91, 153, 139, 94, 28, + 27, 153, 98, 99, 100, 101, 70, 103, 104, 149, + 81, 107, 76, 28, 110, 111, 80, 34, 156, 83, + 84, 85, 118, 87, 127, 89, 28, 91, 65, 66, + 94, 71, 72, 1, 98, 99, 100, 101, 28, 103, + 104, 71, 72, 107, 12, 28, 110, 111, 46, 47, + 48, 65, 148, 149, 118, 46, 47, 48, 53, 70, + 96, 97, 105, 106, 73, 76, 148, 149, 139, 80, + 88, 67, 83, 84, 85, 81, 87, 66, 89, 76, + 91, 78, 66, 94, 148, 149, 1, 98, 99, 100, + 101, 66, 103, 104, 112, 113, 107, 12, 76, 110, + 111, 128, 70, 121, 122, 123, 124, 118, 76, 49, + 50, 51, 80, 53, 111, 83, 84, 85, 1, 87, + 66, 89, 66, 91, 66, 65, 94, 130, 131, 12, + 98, 99, 100, 101, 66, 103, 104, 148, 149, 107, + 76, 152, 110, 111, 148, 149, 143, 148, 149, 146, + 118, 76, 76, 76, 151, 70, 153, 76, 76, 76, + 76, 76, 76, 76, 76, 80, 76, 76, 83, 84, + 85, 1, 87, 78, 89, 78, 91, 78, 78, 94, + 148, 149, 12, 98, 99, 100, 101, 70, 103, 104, + 78, 81, 107, 76, 81, 110, 111, 80, 93, 85, + 83, 84, 85, 118, 87, 101, 89, 1, 91, 93, + 95, 94, 93, 93, 93, 98, 99, 100, 101, 95, + 103, 104, 126, 101, 107, 122, 101, 110, 111, 122, + 128, 108, 139, 148, 149, 118, 109, 128, 127, 147, + 70, 152, 148, 125, 146, -1, 76, 146, 142, -1, + 80, 125, -1, 83, 84, 85, 127, 87, 127, 89, + 127, 91, 154, 129, 94, 148, 149, -1, 98, 99, + 100, 101, 142, 103, 104, -1, 70, 107, 142, 142, + 110, 111, 76, 142, 142, 142, 80, 142, 118, 83, + 84, 85, 146, 87, 150, 89, 28, 91, 148, 148, + 94, 148, 148, 148, 98, 99, 100, 101, 148, 103, + 104, 148, 148, 107, 46, 47, 110, 111, 148, 149, + 52, 148, 54, 148, 118, 40, 41, 42, 43, 44, + 45, 46, 47, 48, 66, 148, 148, 0, 148, 46, + 47, 148, 74, 75, 148, 52, 78, 54, 148, 148, + 82, 8, 9, 10, 148, 149, 148, 148, 148, 66, + 8, 9, 10, 148, 148, 148, 148, 74, 75, 148, + 27, 78, 29, 30, 31, 82, 148, 148, 148, 27, + 149, 29, 30, 31, 32, 33, 34, 35, 36, 37, + 38, 39, 149, 149, 149, 149, 149, 149, 130, 149, + 132, 133, 134, 135, 136, 137, 138, 149, 149, 149, + 149, 155, 144, 145, 150, 150, 150, 150, 155, 151, + 150, 153, 150, 130, 150, 132, 133, 134, 135, 136, + 137, 138, 150, 150, 150, 155, 150, 144, 145, 102, + 150, 150, 150, 155, 151, 108, 153, 150, 150, 112, + 113, 150, 152, 112, 113, 95, 96, 97, 121, 122, + 123, 124, 121, 122, 123, 124, 112, 113, 95, 96, + 97, 151, 112, 113, 151, 121, 122, 123, 124, 151, + 143, 121, 122, 123, 124, 112, 113, 151, 155, 151, + 151, 150, 102, 151, 121, 122, 123, 124, 108, 151, + 151, 151, 112, 113, 150, 8, 9, 10, 151, 151, + 150, 121, 122, 123, 124, 71, 72, 73, 151, 71, + 72, 73, 151, 150, 27, 151, 29, 30, 31, 32, + 33, 34, 102, 143, 151, 151, 151, 151, 108, 152, + 150, 111, 112, 113, 114, 115, 116, 117, 152, 152, + 152, 152, 152, 152, 152, 152, 112, 113, 152, 152, + 112, 113, 8, 9, 10, 121, 122, 123, 124, 121, + 122, 123, 124, 152, 152, 152, 152, 152, 152, 112, + 113, 27, 155, 29, 30, 31, 32, 33, 121, 122, + 123, 124, 112, 113, 152, 155, 112, 113, 155, -1, + 155, 121, 122, 123, 124, 121, 122, 123, 124, 155, + 112, 113, 92, 155, 112, 113, 155, 150, 155, 121, + 122, 123, 124, 121, 122, 123, 124, 112, 113, 155, + 150, 155, 112, 113, 150, -1, 121, 122, 123, 124, + -1, 121, 122, 123, 124, -1, -1, -1, 150, -1, + -1, -1, 150, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 150 + ); + + protected $actionBase = array( + 0, 880, 893, 964, 857, 255, 910, 968, 1004, 1000, + 124, 1040, 3, 262, 1018, 861, 1022, 502, 1035, 987, + 874, 338, 292, 121, 333, 121, 316, 645, 645, 645, + 120, 200, 456, 456, 509, 456, 552, 605, 637, 232, + 344, 424, 312, 690, 690, 690, 690, 726, 726, 690, + 690, 690, 690, 690, 690, 690, 690, 690, 690, 690, + 690, 690, 690, 690, 690, 690, 690, 690, 690, 690, + 690, 690, 690, 690, 690, 690, 690, 690, 690, 690, + 690, 690, 690, 690, 690, 690, 690, 690, 690, 690, + 690, 690, 690, 690, 690, 690, 690, 690, 690, 690, + 690, 690, 690, 690, 690, 690, 690, 690, 690, 690, + 690, 690, 690, 690, 690, 690, 690, 690, 690, 690, + 690, 690, 690, 690, 690, 690, 690, 690, 690, 690, + 690, 690, 690, 690, 690, 690, 690, 690, 690, 84, + 748, 629, 622, 741, 738, 736, 735, 820, 640, 941, + 802, 794, 537, 792, 790, 787, 786, 785, 803, 784, + 776, 664, 130, 130, 130, 130, 130, 130, 130, 130, + 130, 130, 130, 56, 493, 189, 269, 86, 441, 487, + 487, 487, 487, 487, 487, 256, 256, 256, 256, 256, + 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, + 256, 256, 95, 381, 381, 381, 377, 788, 311, 813, + 813, 813, 813, 813, 813, 813, 813, 813, 813, 813, + 813, 813, 813, 813, 813, 813, 813, 813, 813, 813, + 813, 813, 813, 813, 813, 813, 813, 813, 813, 813, + 813, 813, 813, 813, 813, 813, 813, 813, 813, 813, + 813, 62, -17, -17, 863, 422, 457, 475, 1074, 328, + 1017, 872, 872, 872, 872, 872, -24, 154, 5, 5, + 5, 5, 237, 805, 805, 805, 805, 439, 439, 439, + 439, 804, 810, 806, 812, 280, 280, 654, 654, 524, + 780, 529, 529, 522, 522, 523, 523, 523, 523, 523, + 523, 523, 523, 523, 523, -44, 324, 173, 859, 61, + 61, 61, 61, 517, 517, 378, 359, 382, 80, 580, + 580, 580, 304, 304, 304, 44, 227, 630, 380, 380, + 380, 514, 613, 633, 342, -32, -32, -32, -32, 191, + 779, -32, -32, -32, 57, 165, 165, 195, 363, 644, + 821, 635, 818, 438, 661, -19, 666, 666, 666, 172, + 642, 490, 480, 477, 656, 59, 172, 84, 331, 519, + 216, 525, 737, 584, 684, 710, 78, 94, 417, 516, + 222, 284, 73, 708, 693, 916, 907, 182, 85, 649, + 525, 525, 525, 175, 449, 222, 87, 483, 483, 483, + 483, 483, 483, 483, 483, 680, 45, 134, 720, 246, + 503, 843, 597, 856, 856, 595, 607, 597, 632, 503, + 906, 906, 906, 906, 503, 607, 856, 856, 503, 524, + 856, 210, 503, 646, 607, 638, 638, 906, 728, 721, + 597, 619, 616, 856, 856, 856, 616, 595, 503, 906, + 643, 612, 221, 856, 906, 505, 505, 643, 503, 505, + 632, 505, 22, 518, 576, 840, 905, 848, 601, 778, + 627, 623, 891, 887, 904, 596, 604, 894, 858, 618, + 716, 602, 471, 536, 578, 531, 588, 650, 574, 653, + 642, 621, 506, 506, 506, 651, 665, 651, 506, 506, + 506, 506, 506, 506, 506, 506, 996, 662, 626, 631, + 634, 713, 337, 618, 641, 407, 770, 618, 920, 943, + 628, 603, 878, 922, 651, 994, 749, 43, 450, 877, + 625, 606, 651, 870, 651, 768, 651, 919, 608, 811, + 618, 506, 918, 983, 981, 978, 974, 965, 963, 960, + 947, 545, 853, 683, 942, 151, 903, 656, 663, 610, + 675, 233, 808, 651, 651, 767, 779, 651, 766, 707, + 750, 609, 671, 927, 800, 613, 926, 651, 624, 783, + 233, 491, 511, 946, 674, 862, 615, 917, 868, 765, + 464, 817, 530, 695, 945, 944, 962, 730, 764, 781, + 485, 542, 617, 620, 751, 869, 729, 921, 636, 657, + 647, 639, 763, 611, 923, 673, 614, 670, 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, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 130, 130, 130, 130, 130, + 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, + 130, 130, 130, 130, 130, 130, 130, 130, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 130, + -17, -17, -17, -17, 130, -17, -17, -17, -17, -17, + -17, 130, 130, 130, 130, 130, 130, 130, 130, 130, + 130, 130, 130, 130, 130, 130, 130, 130, -17, 130, + 130, 130, -17, 523, -17, 523, 523, 523, 523, 523, + 523, 523, 523, 523, 523, 523, 523, 523, 523, 523, + 523, 523, 523, 523, 523, 523, 523, 523, 523, 523, + 523, 523, 523, 523, 523, 523, 523, 523, 523, 523, + 523, 523, 523, 523, 523, 523, 523, 130, 0, 0, + 130, -17, 130, -17, 130, -17, 130, 130, 130, 130, + 130, 130, -17, -17, -17, -17, -17, -17, 0, 580, + 580, 580, 580, -17, -17, -17, -17, 950, 950, 950, + 950, 523, 523, 523, 523, 523, 523, 580, 580, 304, + 304, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 523, 950, 950, 523, -32, -32, -32, -32, -32, + -32, 165, 165, 165, 284, 0, 0, 0, 0, 0, + 0, -32, 607, 165, 368, 368, 368, 165, 165, 165, + 284, 0, 0, 0, 0, 607, 368, 0, 0, 0, + 856, 0, 0, 0, 368, 484, 484, 484, 484, 233, + 222, 0, 607, 607, 607, 0, 619, 0, 0, 0, + 856, 0, 0, 0, 0, 0, 0, 506, 43, 878, + 139, 288, 0, 0, 0, 0, 0, 0, 0, 288, + 288, 393, 393, 0, 0, 545, 506, 506, 506, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 139, 0, 0, 233 + ); + + 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,32767,32767,32767,32767,32767,32767, + 32767,32767, 428, 428,32767, 385,32767,32767,32767,32767, + 32767,32767,32767, 189, 189, 189,32767,32767,32767, 417, + 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, + 32767,32767,32767,32767,32767, 271,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 32767, 277, 433,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767, 252, 253, 255, 256, 188, 418, 140, 278, + 432, 187, 142, 216, 389,32767,32767,32767, 218, 26, + 151, 96, 388, 186, 127, 270, 272, 217, 193, 198, + 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, + 209, 192, 343, 249, 248, 247, 345,32767, 344, 382, + 382, 385,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 32767, 214, 371, 370, 215, 341, 219, 342, 221, 346, + 220, 237, 238, 235, 236, 239, 348, 347, 364, 365, + 362, 363, 191, 240, 241, 242, 243, 366, 367, 368, + 369, 173, 173, 173, 173,32767,32767, 427, 427,32767, + 32767, 228, 229, 355, 356,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767, 174,32767,32767, 131, + 131, 131, 131, 131,32767,32767,32767,32767,32767, 223, + 224, 222, 350, 351, 349,32767,32767, 317,32767,32767, + 32767,32767,32767, 319,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767, 390, 318,32767,32767,32767,32767, + 32767,32767,32767,32767, 403, 306,32767,32767,32767,32767, + 299, 115, 117, 65, 374,32767,32767,32767,32767,32767, + 408, 233,32767,32767,32767,32767,32767,32767, 440,32767, + 403,32767,32767,32767,32767,32767,32767,32767,32767, 246, + 225, 226, 227,32767,32767, 407, 401, 358, 359, 360, + 361, 352, 353, 354, 357,32767,32767,32767,32767,32767, + 69, 314,32767, 320, 320,32767,32767,32767,32767, 69, + 32767,32767,32767,32767, 69,32767, 406, 405, 69,32767, + 300, 384, 69, 82,32767, 80, 80,32767, 101, 101, + 32767,32767, 84, 380, 396,32767, 84,32767, 69,32767, + 288, 71, 384,32767,32767, 133, 133, 288, 69, 133, + 32767, 133,32767, 4, 324,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767,32767, 301, + 32767,32767,32767, 267, 268, 377, 392,32767, 393,32767, + 299,32767, 231, 232, 234, 211,32767, 213, 257, 258, + 259, 260, 261, 262, 263, 265,32767,32767, 304, 307, + 32767,32767,32767, 6, 20, 150,32767, 302,32767, 196, + 32767,32767,32767,32767, 435,32767,32767, 190,32767,32767, + 22,32767, 146,32767, 67,32767, 425,32767,32767, 401, + 303, 230,32767,32767,32767,32767,32767,32767,32767,32767, + 32767, 402,32767,32767,32767, 122,32767, 337,32767,32767, + 32767, 83,32767, 194, 141,32767,32767, 434,32767,32767, + 32767,32767,32767,32767,32767,32767,32767, 68,32767,32767, + 85,32767,32767, 401,32767,32767,32767,32767,32767,32767, + 185,32767,32767,32767,32767,32767, 401,32767,32767,32767, + 126,32767,32767,32767,32767,32767,32767,32767, 4,32767, + 167,32767,32767,32767,32767,32767,32767,32767, 28, 28, + 3, 28, 109, 28, 153, 3, 101, 101, 62, 153, + 28, 153, 153, 28, 28, 28, 28, 28, 160, 28, + 28, 28, 28, 28, 28, 28 + ); + + protected $goto = array( + 168, 168, 142, 142, 147, 142, 143, 144, 145, 150, + 152, 188, 170, 166, 166, 166, 166, 147, 147, 167, + 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, + 162, 163, 164, 165, 185, 141, 186, 492, 493, 371, + 494, 498, 499, 500, 501, 502, 503, 504, 505, 843, + 146, 148, 149, 151, 173, 178, 187, 203, 251, 254, + 256, 258, 260, 261, 262, 263, 264, 265, 273, 274, + 275, 276, 291, 292, 319, 320, 321, 390, 391, 392, + 541, 189, 190, 191, 192, 193, 194, 195, 196, 197, + 198, 199, 200, 201, 153, 154, 155, 169, 156, 171, + 157, 204, 172, 158, 159, 160, 205, 161, 139, 557, + 700, 557, 557, 557, 557, 557, 557, 557, 557, 557, + 557, 557, 557, 557, 557, 557, 557, 557, 557, 557, + 557, 557, 557, 557, 557, 557, 557, 557, 557, 557, + 557, 557, 557, 557, 557, 557, 557, 557, 557, 557, + 557, 557, 557, 496, 496, 496, 496, 496, 496, 379, + 653, 653, 653, 496, 496, 496, 496, 496, 496, 496, + 496, 496, 496, 507, 570, 594, 507, 753, 738, 736, + 734, 736, 622, 510, 762, 757, 785, 430, 430, 430, + 430, 430, 430, 767, 767, 1072, 1072, 430, 430, 430, + 430, 430, 430, 430, 430, 430, 430, 946, 519, 350, + 946, 774, 774, 774, 774, 774, 774, 543, 544, 545, + 546, 547, 548, 549, 550, 552, 579, 609, 599, 822, + 409, 604, 282, 369, 283, 284, 530, 732, 732, 732, + 732, 537, 5, 727, 733, 603, 558, 6, 558, 558, + 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, + 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, + 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, + 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, + 981, 1076, 981, 981, 981, 981, 981, 981, 981, 981, + 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, + 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, + 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, + 981, 981, 981, 981, 654, 654, 654, 655, 655, 655, + 573, 576, 614, 176, 508, 957, 956, 508, 179, 180, + 181, 397, 398, 399, 400, 175, 202, 206, 208, 255, + 257, 259, 266, 267, 268, 269, 270, 271, 277, 278, + 279, 280, 293, 294, 322, 323, 324, 401, 402, 403, + 404, 177, 182, 252, 253, 183, 184, 9, 333, 3, + 372, 10, 317, 580, 353, 408, 351, 352, 11, 587, + 1044, 1, 12, 13, 2, 14, 1032, 7, 15, 16, + 17, 18, 19, 20, 396, 596, 536, 536, 563, 532, + 939, 513, 383, 384, 534, 534, 495, 497, 524, 539, + 564, 567, 577, 583, 513, 962, 1069, 595, 386, 1051, + 1082, 1082, 1051, 890, 900, 26, 21, 365, 664, 633, + 841, 513, 513, 513, 771, 509, 1085, 1082, 509, 780, + 789, 553, 1067, 1067, 1067, 380, 380, 380, 373, 1085, + 1085, 542, 522, 29, 1050, 518, 533, 380, 592, 982, + 405, 1052, 942, 943, 1052, 395, 939, 932, 518, 518, + 937, 446, 451, 670, 568, 794, 741, 1029, 459, 940, + 1043, 940, 601, 830, 0, 0, 0, 0, 0, 941, + 0, 513, 0, 0, 0, 0, 0, 0, 0, 0, + 517, 0, 0, 0, 0, 0, 0, 0, 0, 540, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 523 + ); + + protected $gotoCheck = array( + 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, 25, 39, + 32, 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, 95, 95, 95, 95, 95, 95, 5, + 6, 6, 6, 95, 95, 95, 95, 95, 95, 95, + 95, 95, 95, 95, 22, 22, 95, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 63, 39, 39, 39, + 39, 39, 39, 56, 56, 56, 56, 39, 39, 39, + 39, 39, 39, 39, 39, 39, 39, 39, 79, 51, + 39, 39, 39, 39, 39, 39, 39, 88, 88, 88, + 88, 88, 88, 88, 88, 88, 88, 39, 43, 76, + 76, 43, 47, 43, 47, 47, 5, 39, 39, 39, + 39, 87, 2, 39, 39, 39, 98, 2, 98, 98, + 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, + 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, + 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, + 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, + 105, 119, 105, 105, 105, 105, 105, 105, 105, 105, + 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, + 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, + 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, + 105, 105, 105, 105, 7, 7, 7, 8, 8, 8, + 42, 42, 42, 13, 98, 103, 103, 98, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 14, 104, 14, + 29, 14, 104, 49, 49, 49, 51, 51, 14, 107, + 61, 14, 14, 14, 14, 14, 111, 14, 14, 14, + 14, 14, 14, 14, 33, 33, 33, 33, 33, 33, + 61, 4, 9, 9, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 4, 16, 117, 31, 30, 97, + 120, 120, 97, 80, 16, 16, 16, 16, 11, 53, + 79, 4, 4, 4, 58, 101, 120, 120, 101, 60, + 64, 16, 97, 97, 97, 102, 102, 102, 40, 120, + 120, 26, 40, 16, 97, 26, 40, 102, 16, 106, + 10, 96, 61, 61, 96, 102, 61, 91, 26, 26, + 93, 45, 40, 12, 46, 65, 50, 110, 86, 61, + 61, 61, 40, 78, -1, -1, -1, -1, -1, 61, + -1, 4, -1, -1, -1, -1, -1, -1, -1, -1, + 4, -1, -1, -1, -1, -1, -1, -1, -1, 4, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 79 + ); + + protected $gotoBase = array( + 0, 0, -378, 0, 95, -180, 156, 330, 333, 66, + 63, 90, 53, 136, -232, 0, 24, 0, 0, 0, + 0, 0, 130, 0, 0, -30, 441, 0, 0, 344, + 142, 151, 85, 129, 0, 0, 0, 0, 0, -98, + 44, 0, 30, -228, 0, 55, 48, -397, 0, 57, + 49, -230, 0, 82, 0, 0, -92, 0, 141, 0, + 145, 56, 0, 155, 94, 54, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -77, 0, 43, 161, + 135, 0, 0, 0, 0, 0, 41, 208, 167, 0, + 0, 73, 0, 71, 0, -132, 176, 134, 39, 0, + 0, 150, 137, 16, 61, 83, 111, 189, 0, 0, + 45, 195, 0, 0, 0, 0, 0, 148, 0, 256, + 124, 0 + ); + + protected $gotoDefault = array( + -32768, 462, 4, 648, 479, 514, 675, 676, 677, 375, + 374, 665, 671, 174, 8, 673, 891, 361, 680, 362, + 582, 682, 526, 684, 685, 140, 480, 376, 377, 527, + 385, 571, 699, 272, 382, 701, 363, 703, 709, 364, + 602, 586, 554, 598, 481, 442, 565, 281, 535, 561, + 740, 349, 748, 636, 756, 759, 482, 555, 770, 448, + 778, 967, 393, 784, 790, 795, 798, 418, 406, 578, + 802, 803, 325, 807, 610, 611, 821, 306, 829, 842, + 414, 910, 912, 483, 484, 520, 456, 506, 525, 485, + 933, 436, 407, 936, 486, 487, 426, 427, 954, 951, + 355, 1037, 354, 444, 316, 1022, 1021, 574, 986, 452, + 1075, 1033, 344, 488, 489, 370, 387, 1070, 431, 1077, + 1084, 562 + ); + + protected $ruleToNonTerminal = array( + 0, 1, 2, 2, 4, 4, 5, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 9, 9, + 11, 11, 11, 11, 10, 10, 12, 14, 14, 15, + 15, 15, 15, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 36, 36, 38, 37, 37, 30, 30, 40, + 40, 41, 41, 7, 8, 8, 8, 44, 44, 44, + 45, 45, 48, 48, 46, 46, 49, 49, 23, 23, + 32, 32, 35, 35, 34, 34, 50, 24, 24, 24, + 24, 51, 51, 52, 52, 53, 53, 21, 21, 17, + 17, 54, 19, 19, 55, 18, 18, 20, 20, 31, + 31, 31, 42, 42, 57, 57, 58, 58, 60, 60, + 60, 59, 59, 43, 43, 61, 61, 61, 62, 62, + 63, 63, 63, 27, 27, 64, 64, 64, 28, 28, + 65, 65, 47, 47, 66, 66, 66, 66, 71, 71, + 72, 72, 73, 73, 73, 73, 74, 75, 75, 70, + 70, 67, 67, 69, 69, 77, 77, 76, 76, 76, + 76, 76, 76, 68, 68, 78, 78, 29, 29, 22, + 22, 25, 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 16, 16, 26, 26, 83, + 83, 84, 84, 84, 84, 90, 79, 79, 86, 86, + 92, 92, 93, 94, 94, 94, 94, 94, 94, 98, + 98, 39, 39, 39, 80, 80, 99, 99, 95, 95, + 100, 100, 100, 100, 81, 81, 81, 85, 85, 85, + 91, 91, 105, 105, 105, 105, 105, 105, 105, 105, + 105, 105, 105, 105, 105, 13, 13, 13, 13, 13, + 13, 108, 108, 108, 108, 108, 108, 108, 108, 108, + 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, + 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, + 108, 108, 108, 108, 89, 89, 82, 82, 82, 82, + 106, 106, 107, 107, 110, 110, 109, 109, 111, 111, + 33, 33, 33, 33, 113, 113, 112, 112, 112, 112, + 112, 114, 114, 97, 97, 101, 101, 96, 96, 115, + 115, 115, 115, 102, 102, 102, 102, 88, 88, 103, + 103, 103, 56, 116, 116, 117, 117, 117, 87, 87, + 118, 118, 119, 119, 119, 119, 104, 104, 104, 104, + 120, 120, 120, 120, 120, 120, 120, 121, 121, 121 + ); + + protected $ruleToLength = array( + 1, 1, 2, 0, 1, 3, 1, 1, 1, 1, + 1, 3, 5, 4, 3, 4, 4, 3, 3, 1, + 1, 3, 2, 4, 3, 1, 3, 2, 0, 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, 1, 6, 3, 3, + 2, 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, 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, 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, + 1, 1, 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, 4, 3, 1, 1, 1, 0, 0, 2, + 3, 1, 3, 1, 4, 2, 2, 2, 1, 2, + 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() { + $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); + } + + protected function reduceRule5() { + $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; + } + + protected function reduceRule6() { + $this->semValue = new Name($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + } + + protected function reduceRule7() { + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + } + + protected function reduceRule8() { + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + } + + protected function reduceRule9() { + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + } + + protected function reduceRule10() { + $this->semValue = new Stmt\HaltCompiler($this->lexer->handleHaltCompiler(), $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + } + + protected function reduceRule11() { + $this->semValue = new Stmt\Namespace_($this->semStack[$this->stackPos-(3-2)], null, $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule12() { + $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); + } + + protected function reduceRule13() { + $this->semValue = new Stmt\Namespace_(null, $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + } + + protected function reduceRule14() { + $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 reduceRule15() { + $this->semValue = new Stmt\Use_($this->semStack[$this->stackPos-(4-3)], Stmt\Use_::TYPE_FUNCTION, $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + } + + protected function reduceRule16() { + $this->semValue = new Stmt\Use_($this->semStack[$this->stackPos-(4-3)], Stmt\Use_::TYPE_CONSTANT, $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + } + + protected function reduceRule17() { + $this->semValue = new Stmt\Const_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule18() { + $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; + } + + protected function reduceRule19() { + $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); + } + + protected function reduceRule20() { + $this->semValue = new Stmt\UseUse($this->semStack[$this->stackPos-(1-1)], null, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + } + + protected function reduceRule21() { + $this->semValue = new Stmt\UseUse($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule22() { + $this->semValue = new Stmt\UseUse($this->semStack[$this->stackPos-(2-2)], null, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + } + + protected function reduceRule23() { + $this->semValue = new Stmt\UseUse($this->semStack[$this->stackPos-(4-2)], $this->semStack[$this->stackPos-(4-4)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + } + + protected function reduceRule24() { + $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; + } + + protected function reduceRule25() { + $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); + } + + protected function reduceRule26() { + $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 reduceRule27() { + 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 reduceRule28() { + $this->semValue = array(); + } + + protected function reduceRule29() { + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + } + + protected function reduceRule30() { + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + } + + protected function reduceRule31() { + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + } + + protected function reduceRule32() { + throw new Error('__HALT_COMPILER() can only be used from the outermost scope', $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + } + + protected function reduceRule33() { + $this->semValue = $this->semStack[$this->stackPos-(3-2)]; + } + + protected function reduceRule34() { + $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 reduceRule35() { + $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 reduceRule36() { + $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 reduceRule37() { + $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 reduceRule38() { + $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 reduceRule39() { + $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 reduceRule40() { + $this->semValue = new Stmt\Break_(null, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + } + + protected function reduceRule41() { + $this->semValue = new Stmt\Break_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule42() { + $this->semValue = new Stmt\Continue_(null, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + } + + protected function reduceRule43() { + $this->semValue = new Stmt\Continue_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule44() { + $this->semValue = new Stmt\Return_(null, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + } + + protected function reduceRule45() { + $this->semValue = new Stmt\Return_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule46() { + $this->semValue = $this->semStack[$this->stackPos-(2-1)]; + } + + protected function reduceRule47() { + $this->semValue = new Stmt\Global_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule48() { + $this->semValue = new Stmt\Static_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule49() { + $this->semValue = new Stmt\Echo_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule50() { + $this->semValue = new Stmt\InlineHTML($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + } + + protected function reduceRule51() { + $this->semValue = $this->semStack[$this->stackPos-(2-1)]; + } + + protected function reduceRule52() { + $this->semValue = new Stmt\Unset_($this->semStack[$this->stackPos-(5-3)], $this->startAttributeStack[$this->stackPos-(5-1)] + $this->endAttributes); + } + + protected function reduceRule53() { + $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 reduceRule54() { + $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 reduceRule55() { + $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 reduceRule56() { + $this->semValue = array(); /* means: no statement */ + } + + protected function reduceRule57() { + $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); + } + + protected function reduceRule58() { + $this->semValue = new Stmt\Throw_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule59() { + $this->semValue = new Stmt\Goto_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule60() { + $this->semValue = new Stmt\Label($this->semStack[$this->stackPos-(2-1)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + } + + protected function reduceRule61() { + $this->semValue = array(); /* means: no statement */ + } + + protected function reduceRule62() { + $this->semValue = array(); + } + + protected function reduceRule63() { + $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)]; + } + + protected function reduceRule64() { + $this->semValue = new Stmt\Catch_($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 reduceRule65() { + $this->semValue = null; + } + + protected function reduceRule66() { + $this->semValue = $this->semStack[$this->stackPos-(4-3)]; + } + + protected function reduceRule67() { + $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); + } + + protected function reduceRule68() { + $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; + } + + protected function reduceRule69() { + $this->semValue = false; + } + + protected function reduceRule70() { + $this->semValue = true; + } + + protected function reduceRule71() { + $this->semValue = false; + } + + protected function reduceRule72() { + $this->semValue = true; + } + + protected function reduceRule73() { + $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 reduceRule74() { + $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); + } + + protected function reduceRule75() { + $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); + } + + protected function reduceRule76() { + $this->semValue = new Stmt\Trait_($this->semStack[$this->stackPos-(5-2)], $this->semStack[$this->stackPos-(5-4)], $this->startAttributeStack[$this->stackPos-(5-1)] + $this->endAttributes); + } + + protected function reduceRule77() { + $this->semValue = 0; + } + + protected function reduceRule78() { + $this->semValue = Stmt\Class_::MODIFIER_ABSTRACT; + } + + protected function reduceRule79() { + $this->semValue = Stmt\Class_::MODIFIER_FINAL; + } + + protected function reduceRule80() { + $this->semValue = null; + } + + protected function reduceRule81() { + $this->semValue = $this->semStack[$this->stackPos-(2-2)]; + } + + protected function reduceRule82() { + $this->semValue = array(); + } + + protected function reduceRule83() { + $this->semValue = $this->semStack[$this->stackPos-(2-2)]; + } + + protected function reduceRule84() { + $this->semValue = array(); + } + + protected function reduceRule85() { + $this->semValue = $this->semStack[$this->stackPos-(2-2)]; + } + + protected function reduceRule86() { + $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); + } + + protected function reduceRule87() { + $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; + } + + protected function reduceRule88() { + $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 reduceRule89() { + $this->semValue = $this->semStack[$this->stackPos-(4-2)]; + } + + protected function reduceRule90() { + $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 reduceRule91() { + $this->semValue = $this->semStack[$this->stackPos-(4-2)]; + } + + protected function reduceRule92() { + $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 reduceRule93() { + $this->semValue = $this->semStack[$this->stackPos-(4-2)]; + } + + protected function reduceRule94() { + $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); + } + + protected function reduceRule95() { + $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; + } + + protected function reduceRule96() { + $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 reduceRule97() { + $this->semValue = $this->semStack[$this->stackPos-(3-2)]; + } + + protected function reduceRule98() { + $this->semValue = $this->semStack[$this->stackPos-(4-3)]; + } + + protected function reduceRule99() { + $this->semValue = $this->semStack[$this->stackPos-(4-2)]; + } + + protected function reduceRule100() { + $this->semValue = $this->semStack[$this->stackPos-(5-3)]; + } + + protected function reduceRule101() { + $this->semValue = array(); + } + + protected function reduceRule102() { + $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)]; + } + + protected function reduceRule103() { + $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 reduceRule104() { + $this->semValue = new Stmt\Case_(null, $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule105() { + $this->semValue = $this->semStack[$this->stackPos]; + } + + protected function reduceRule106() { + $this->semValue = $this->semStack[$this->stackPos]; + } + + protected function reduceRule107() { + $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 reduceRule108() { + $this->semValue = $this->semStack[$this->stackPos-(4-2)]; + } + + protected function reduceRule109() { + $this->semValue = array(); + } + + protected function reduceRule110() { + $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)]; + } + + protected function reduceRule111() { + $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 reduceRule112() { + $this->semValue = array(); + } + + protected function reduceRule113() { + $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)]; + } + + protected function reduceRule114() { + $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 reduceRule115() { + $this->semValue = null; + } + + protected function reduceRule116() { + $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 reduceRule117() { + $this->semValue = null; + } + + protected function reduceRule118() { + $this->semValue = new Stmt\Else_($this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule119() { + $this->semValue = array($this->semStack[$this->stackPos-(1-1)], false); + } + + protected function reduceRule120() { + $this->semValue = array($this->semStack[$this->stackPos-(2-2)], true); + } + + protected function reduceRule121() { + $this->semValue = array($this->semStack[$this->stackPos-(1-1)], false); + } + + protected function reduceRule122() { + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + } + + protected function reduceRule123() { + $this->semValue = array(); + } + + protected function reduceRule124() { + $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); + } + + protected function reduceRule125() { + $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; + } + + protected function reduceRule126() { + $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); + } + + protected function reduceRule127() { + $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); + } + + protected function reduceRule128() { + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + } + + protected function reduceRule129() { + $this->semValue = 'array'; + } + + protected function reduceRule130() { + $this->semValue = 'callable'; + } + + protected function reduceRule131() { + $this->semValue = null; + } + + protected function reduceRule132() { + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + } + + protected function reduceRule133() { + $this->semValue = null; + } + + protected function reduceRule134() { + $this->semValue = $this->semStack[$this->stackPos-(2-2)]; + } + + protected function reduceRule135() { + $this->semValue = array(); + } + + protected function reduceRule136() { + $this->semValue = $this->semStack[$this->stackPos-(3-2)]; + } + + protected function reduceRule137() { + $this->semValue = array(new Node\Arg($this->semStack[$this->stackPos-(3-2)], false, false, $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes)); + } + + protected function reduceRule138() { + $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); + } + + protected function reduceRule139() { + $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; + } + + protected function reduceRule140() { + $this->semValue = new Node\Arg($this->semStack[$this->stackPos-(1-1)], false, false, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + } + + protected function reduceRule141() { + $this->semValue = new Node\Arg($this->semStack[$this->stackPos-(2-2)], true, false, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + } + + protected function reduceRule142() { + $this->semValue = new Node\Arg($this->semStack[$this->stackPos-(2-2)], false, true, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + } + + protected function reduceRule143() { + $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; + } + + protected function reduceRule144() { + $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); + } + + protected function reduceRule145() { + $this->semValue = new Expr\Variable(substr($this->semStack[$this->stackPos-(1-1)], 1), $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + } + + protected function reduceRule146() { + $this->semValue = new Expr\Variable($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + } + + protected function reduceRule147() { + $this->semValue = new Expr\Variable($this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + } + + protected function reduceRule148() { + $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; + } + + protected function reduceRule149() { + $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); + } + + protected function reduceRule150() { + $this->semValue = new Stmt\StaticVar(substr($this->semStack[$this->stackPos-(1-1)], 1), null, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + } + + protected function reduceRule151() { + $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 reduceRule152() { + $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)]; + } + + protected function reduceRule153() { + $this->semValue = array(); + } + + protected function reduceRule154() { + $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); + } + + protected function reduceRule155() { + $this->semValue = new Stmt\ClassConst($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule156() { + $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); + } + + protected function reduceRule157() { + $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 reduceRule158() { + $this->semValue = array(); + } + + protected function reduceRule159() { + $this->semValue = $this->semStack[$this->stackPos-(3-2)]; + } + + protected function reduceRule160() { + $this->semValue = array(); + } + + protected function reduceRule161() { + $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)]; + } + + protected function reduceRule162() { + $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 reduceRule163() { + $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 reduceRule164() { + $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 reduceRule165() { + $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 reduceRule166() { + $this->semValue = array($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)]); + } + + protected function reduceRule167() { + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + } + + protected function reduceRule168() { + $this->semValue = array(null, $this->semStack[$this->stackPos-(1-1)]); + } + + protected function reduceRule169() { + $this->semValue = null; + } + + protected function reduceRule170() { + $this->semValue = $this->semStack[$this->stackPos-(3-2)]; + } + + protected function reduceRule171() { + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + } + + protected function reduceRule172() { + $this->semValue = 0; + } + + protected function reduceRule173() { + $this->semValue = 0; + } + + protected function reduceRule174() { + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + } + + protected function reduceRule175() { + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + } + + protected function reduceRule176() { + Stmt\Class_::verifyModifier($this->semStack[$this->stackPos-(2-1)], $this->semStack[$this->stackPos-(2-2)]); $this->semValue = $this->semStack[$this->stackPos-(2-1)] | $this->semStack[$this->stackPos-(2-2)]; + } + + protected function reduceRule177() { + $this->semValue = Stmt\Class_::MODIFIER_PUBLIC; + } + + protected function reduceRule178() { + $this->semValue = Stmt\Class_::MODIFIER_PROTECTED; + } + + protected function reduceRule179() { + $this->semValue = Stmt\Class_::MODIFIER_PRIVATE; + } + + protected function reduceRule180() { + $this->semValue = Stmt\Class_::MODIFIER_STATIC; + } + + protected function reduceRule181() { + $this->semValue = Stmt\Class_::MODIFIER_ABSTRACT; + } + + protected function reduceRule182() { + $this->semValue = Stmt\Class_::MODIFIER_FINAL; + } + + protected function reduceRule183() { + $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); + } + + protected function reduceRule184() { + $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; + } + + protected function reduceRule185() { + $this->semValue = new Stmt\PropertyProperty(substr($this->semStack[$this->stackPos-(1-1)], 1), null, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + } + + protected function reduceRule186() { + $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 reduceRule187() { + $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; + } + + protected function reduceRule188() { + $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); + } + + protected function reduceRule189() { + $this->semValue = array(); + } + + protected function reduceRule190() { + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + } + + protected function reduceRule191() { + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + } + + protected function reduceRule192() { + $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 reduceRule193() { + $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 reduceRule194() { + $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 reduceRule195() { + $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 reduceRule196() { + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + } + + protected function reduceRule197() { + $this->semValue = new Expr\Clone_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + } + + protected function reduceRule198() { + $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 reduceRule199() { + $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 reduceRule200() { + $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 reduceRule201() { + $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 reduceRule202() { + $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 reduceRule203() { + $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 reduceRule204() { + $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 reduceRule205() { + $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 reduceRule206() { + $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 reduceRule207() { + $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 reduceRule208() { + $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 reduceRule209() { + $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 reduceRule210() { + $this->semValue = new Expr\PostInc($this->semStack[$this->stackPos-(2-1)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + } + + protected function reduceRule211() { + $this->semValue = new Expr\PreInc($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + } + + protected function reduceRule212() { + $this->semValue = new Expr\PostDec($this->semStack[$this->stackPos-(2-1)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + } + + protected function reduceRule213() { + $this->semValue = new Expr\PreDec($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + } + + protected function reduceRule214() { + $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 reduceRule215() { + $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 reduceRule216() { + $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 reduceRule217() { + $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 reduceRule218() { + $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 reduceRule219() { + $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 reduceRule220() { + $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 reduceRule221() { + $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 reduceRule222() { + $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 reduceRule223() { + $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 reduceRule224() { + $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 reduceRule225() { + $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 reduceRule226() { + $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 reduceRule227() { + $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 reduceRule228() { + $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 reduceRule229() { + $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 reduceRule230() { + $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 reduceRule231() { + $this->semValue = new Expr\UnaryPlus($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + } + + protected function reduceRule232() { + $this->semValue = new Expr\UnaryMinus($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + } + + protected function reduceRule233() { + $this->semValue = new Expr\BooleanNot($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + } + + protected function reduceRule234() { + $this->semValue = new Expr\BitwiseNot($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + } + + protected function reduceRule235() { + $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 reduceRule236() { + $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 reduceRule237() { + $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 reduceRule238() { + $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 reduceRule239() { + $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 reduceRule240() { + $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 reduceRule241() { + $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 reduceRule242() { + $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 reduceRule243() { + $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 reduceRule244() { + $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 reduceRule245() { + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + } + + protected function reduceRule246() { + $this->semValue = $this->semStack[$this->stackPos-(3-2)]; + } + + protected function reduceRule247() { + $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 reduceRule248() { + $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 reduceRule249() { + $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 reduceRule250() { + $this->semValue = new Expr\Isset_($this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + } + + protected function reduceRule251() { + $this->semValue = new Expr\Empty_($this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + } + + protected function reduceRule252() { + $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 reduceRule253() { + $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 reduceRule254() { + $this->semValue = new Expr\Eval_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + } + + protected function reduceRule255() { + $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 reduceRule256() { + $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 reduceRule257() { + $this->semValue = new Expr\Cast\Int_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + } + + protected function reduceRule258() { + $this->semValue = new Expr\Cast\Double($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + } + + protected function reduceRule259() { + $this->semValue = new Expr\Cast\String_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + } + + protected function reduceRule260() { + $this->semValue = new Expr\Cast\Array_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + } + + protected function reduceRule261() { + $this->semValue = new Expr\Cast\Object_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + } + + protected function reduceRule262() { + $this->semValue = new Expr\Cast\Bool_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + } + + protected function reduceRule263() { + $this->semValue = new Expr\Cast\Unset_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + } + + protected function reduceRule264() { + $this->semValue = new Expr\Exit_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + } + + protected function reduceRule265() { + $this->semValue = new Expr\ErrorSuppress($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + } + + protected function reduceRule266() { + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + } + + protected function reduceRule267() { + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + } + + protected function reduceRule268() { + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + } + + protected function reduceRule269() { + $this->semValue = new Expr\ShellExec($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule270() { + $this->semValue = new Expr\Print_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + } + + protected function reduceRule271() { + $this->semValue = new Expr\Yield_(null, null, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + } + + protected function reduceRule272() { + $this->semValue = new Expr\YieldFrom($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + } + + protected function reduceRule273() { + $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 reduceRule274() { + $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 reduceRule275() { + $this->semValue = $this->semStack[$this->stackPos-(3-2)]; + } + + protected function reduceRule276() { + $this->semValue = $this->semStack[$this->stackPos-(3-2)]; + } + + protected function reduceRule277() { + $this->semValue = new Expr\Yield_($this->semStack[$this->stackPos-(2-2)], null, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + } + + protected function reduceRule278() { + $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 reduceRule279() { + $this->semValue = new Expr\Array_($this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + } + + protected function reduceRule280() { + $this->semValue = new Expr\Array_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule281() { + $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 reduceRule282() { + $this->semValue = new Expr\ArrayDimFetch(new Scalar\String_(Scalar\String_::parse($this->semStack[$this->stackPos-(4-1)]), $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes), $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + } + + protected function reduceRule283() { + $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 reduceRule284() { + $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 reduceRule285() { + $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)]); + } + + protected function reduceRule286() { + $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 reduceRule287() { + 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 reduceRule288() { + $this->semValue = array(); + } + + protected function reduceRule289() { + $this->semValue = $this->semStack[$this->stackPos-(4-3)]; + } + + protected function reduceRule290() { + $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); + } + + protected function reduceRule291() { + $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; + } + + protected function reduceRule292() { + $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 reduceRule293() { + $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 reduceRule294() { + $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 reduceRule295() { + $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 reduceRule296() { + + 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 reduceRule297() { + $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 reduceRule298() { + $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 reduceRule299() { + $this->semValue = new Name($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + } + + protected function reduceRule300() { + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + } + + protected function reduceRule301() { + $this->semValue = new Name($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + } + + protected function reduceRule302() { + $this->semValue = new Name\FullyQualified($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + } + + protected function reduceRule303() { + $this->semValue = new Name\Relative($this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule304() { + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + } + + protected function reduceRule305() { + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + } + + protected function reduceRule306() { + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + } + + protected function reduceRule307() { + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + } + + protected function reduceRule308() { + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + } + + protected function reduceRule309() { + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + } + + protected function reduceRule310() { + $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 reduceRule311() { + $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 reduceRule312() { + $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 reduceRule313() { + $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 reduceRule314() { + $this->semValue = null; + } + + protected function reduceRule315() { + $this->semValue = null; + } + + protected function reduceRule316() { + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + } + + protected function reduceRule317() { + $this->semValue = array(); + } + + protected function reduceRule318() { + $this->semValue = array(Scalar\String_::parseEscapeSequences($this->semStack[$this->stackPos-(1-1)], '`')); + } + + protected function reduceRule319() { + foreach ($this->semStack[$this->stackPos-(1-1)] as &$s) { if (is_string($s)) { $s = Node\Scalar\String_::parseEscapeSequences($s, '`'); } }; $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + } + + protected function reduceRule320() { + $this->semValue = array(); + } + + protected function reduceRule321() { + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + } + + protected function reduceRule322() { + $this->semValue = new Scalar\LNumber(Scalar\LNumber::parse($this->semStack[$this->stackPos-(1-1)]), $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + } + + protected function reduceRule323() { + $this->semValue = new Scalar\DNumber(Scalar\DNumber::parse($this->semStack[$this->stackPos-(1-1)]), $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + } + + protected function reduceRule324() { + $this->semValue = new Scalar\String_(Scalar\String_::parse($this->semStack[$this->stackPos-(1-1)]), $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + } + + protected function reduceRule325() { + $this->semValue = new Scalar\MagicConst\Line($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + } + + protected function reduceRule326() { + $this->semValue = new Scalar\MagicConst\File($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + } + + protected function reduceRule327() { + $this->semValue = new Scalar\MagicConst\Dir($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + } + + protected function reduceRule328() { + $this->semValue = new Scalar\MagicConst\Class_($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + } + + protected function reduceRule329() { + $this->semValue = new Scalar\MagicConst\Trait_($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + } + + protected function reduceRule330() { + $this->semValue = new Scalar\MagicConst\Method($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + } + + protected function reduceRule331() { + $this->semValue = new Scalar\MagicConst\Function_($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + } + + protected function reduceRule332() { + $this->semValue = new Scalar\MagicConst\Namespace_($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + } + + protected function reduceRule333() { + $this->semValue = new Scalar\String_(Scalar\String_::parseDocString($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-2)]), $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule334() { + $this->semValue = new Scalar\String_('', $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + } + + protected function reduceRule335() { + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + } + + protected function reduceRule336() { + $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 reduceRule337() { + $this->semValue = new Expr\ConstFetch($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + } + + protected function reduceRule338() { + $this->semValue = new Expr\Array_($this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + } + + protected function reduceRule339() { + $this->semValue = new Expr\Array_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule340() { + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + } + + protected function reduceRule341() { + $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 reduceRule342() { + $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 reduceRule343() { + $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 reduceRule344() { + $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 reduceRule345() { + $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 reduceRule346() { + $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 reduceRule347() { + $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 reduceRule348() { + $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 reduceRule349() { + $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 reduceRule350() { + $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 reduceRule351() { + $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 reduceRule352() { + $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 reduceRule353() { + $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 reduceRule354() { + $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 reduceRule355() { + $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 reduceRule356() { + $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 reduceRule357() { + $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 reduceRule358() { + $this->semValue = new Expr\UnaryPlus($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + } + + protected function reduceRule359() { + $this->semValue = new Expr\UnaryMinus($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + } + + protected function reduceRule360() { + $this->semValue = new Expr\BooleanNot($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + } + + protected function reduceRule361() { + $this->semValue = new Expr\BitwiseNot($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + } + + protected function reduceRule362() { + $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 reduceRule363() { + $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 reduceRule364() { + $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 reduceRule365() { + $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 reduceRule366() { + $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 reduceRule367() { + $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 reduceRule368() { + $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 reduceRule369() { + $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 reduceRule370() { + $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 reduceRule371() { + $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 reduceRule372() { + $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 reduceRule373() { + $this->semValue = $this->semStack[$this->stackPos-(3-2)]; + } + + protected function reduceRule374() { + $this->semValue = new Expr\ConstFetch($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + } + + protected function reduceRule375() { + $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 reduceRule376() { + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + } + + protected function reduceRule377() { + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + } + + protected function reduceRule378() { + foreach ($this->semStack[$this->stackPos-(3-2)] as &$s) { if (is_string($s)) { $s = Node\Scalar\String_::parseEscapeSequences($s, '"'); } }; $this->semValue = new Scalar\Encapsed($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule379() { + foreach ($this->semStack[$this->stackPos-(3-2)] as &$s) { if (is_string($s)) { $s = Node\Scalar\String_::parseEscapeSequences($s, null); } } $s = preg_replace('~(\r\n|\n|\r)$~', '', $s); if ('' === $s) array_pop($this->semStack[$this->stackPos-(3-2)]);; $this->semValue = new Scalar\Encapsed($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule380() { + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + } + + protected function reduceRule381() { + $this->semValue = 'class'; + } + + protected function reduceRule382() { + $this->semValue = array(); + } + + protected function reduceRule383() { + $this->semValue = $this->semStack[$this->stackPos-(2-1)]; + } + + protected function reduceRule384() { + $this->semValue = $this->semStack[$this->stackPos]; + } + + protected function reduceRule385() { + $this->semValue = $this->semStack[$this->stackPos]; + } + + protected function reduceRule386() { + $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; + } + + protected function reduceRule387() { + $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); + } + + protected function reduceRule388() { + $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 reduceRule389() { + $this->semValue = new Expr\ArrayItem($this->semStack[$this->stackPos-(1-1)], null, false, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + } + + protected function reduceRule390() { + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + } + + protected function reduceRule391() { + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + } + + protected function reduceRule392() { + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + } + + protected function reduceRule393() { + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + } + + protected function reduceRule394() { + $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 reduceRule395() { + $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 reduceRule396() { + $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 reduceRule397() { + $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 reduceRule398() { + $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 reduceRule399() { + $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 reduceRule400() { + $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 reduceRule401() { + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + } + + protected function reduceRule402() { + $this->semValue = $this->semStack[$this->stackPos-(3-2)]; + } + + protected function reduceRule403() { + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + } + + protected function reduceRule404() { + $this->semValue = new Expr\Variable($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + } + + 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 = 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 reduceRule408() { + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + } + + protected function reduceRule409() { + $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 reduceRule410() { + $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 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 = 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 reduceRule413() { + $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 reduceRule414() { + $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 reduceRule415() { + $this->semValue = new Expr\Variable(substr($this->semStack[$this->stackPos-(1-1)], 1), $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + } + + protected function reduceRule416() { + $this->semValue = new Expr\Variable($this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + } + + protected function reduceRule417() { + $this->semValue = null; + } + + protected function reduceRule418() { + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + } + + protected function reduceRule419() { + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + } + + protected function reduceRule420() { + $this->semValue = $this->semStack[$this->stackPos-(3-2)]; + } + + protected function reduceRule421() { + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + } + + protected function reduceRule422() { + $this->semValue = new Expr\List_($this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + } + + protected function reduceRule423() { + $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; + } + + protected function reduceRule424() { + $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); + } + + protected function reduceRule425() { + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + } + + protected function reduceRule426() { + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + } + + protected function reduceRule427() { + $this->semValue = null; + } + + protected function reduceRule428() { + $this->semValue = array(); + } + + protected function reduceRule429() { + $this->semValue = $this->semStack[$this->stackPos-(2-1)]; + } + + protected function reduceRule430() { + $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; + } + + protected function reduceRule431() { + $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); + } + + protected function reduceRule432() { + $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 reduceRule433() { + $this->semValue = new Expr\ArrayItem($this->semStack[$this->stackPos-(1-1)], null, false, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + } + + protected function reduceRule434() { + $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 reduceRule435() { + $this->semValue = new Expr\ArrayItem($this->semStack[$this->stackPos-(2-2)], null, true, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + } + + protected function reduceRule436() { + $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)]; + } + + protected function reduceRule437() { + $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)]; + } + + protected function reduceRule438() { + $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); + } + + protected function reduceRule439() { + $this->semValue = array($this->semStack[$this->stackPos-(2-1)], $this->semStack[$this->stackPos-(2-2)]); + } + + protected function reduceRule440() { + $this->semValue = new Expr\Variable(substr($this->semStack[$this->stackPos-(1-1)], 1), $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + } + + protected function reduceRule441() { + $this->semValue = new Expr\ArrayDimFetch(new Expr\Variable(substr($this->semStack[$this->stackPos-(4-1)], 1), $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes), $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + } + + protected function reduceRule442() { + $this->semValue = new Expr\PropertyFetch(new Expr\Variable(substr($this->semStack[$this->stackPos-(3-1)], 1), $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes), $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule443() { + $this->semValue = new Expr\Variable($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule444() { + $this->semValue = new Expr\Variable($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule445() { + $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 reduceRule446() { + $this->semValue = $this->semStack[$this->stackPos-(3-2)]; + } + + protected function reduceRule447() { + $this->semValue = new Scalar\String_($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + } + + protected function reduceRule448() { + $this->semValue = new Scalar\String_($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + } + + protected function reduceRule449() { + $this->semValue = new Expr\Variable(substr($this->semStack[$this->stackPos-(1-1)], 1), $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + } +}