diff --git a/grammar/zend_language_parser.phpy b/grammar/zend_language_parser.phpy index 014db0e..2e4c77c 100644 --- a/grammar/zend_language_parser.phpy +++ b/grammar/zend_language_parser.phpy @@ -215,6 +215,7 @@ statement: | T_THROW expr ';' { $$ = Stmt\Throw_[$2]; } | T_GOTO T_STRING ';' { $$ = Stmt\Goto_[$2]; } | T_STRING ':' { $$ = Stmt\Label[$1]; } + | error { $$ = array(); /* means: no statement */ } ; catches: diff --git a/lib/PhpParser/Parser.php b/lib/PhpParser/Parser.php index b622d80..4819acd 100644 --- a/lib/PhpParser/Parser.php +++ b/lib/PhpParser/Parser.php @@ -11,8 +11,8 @@ namespace PhpParser; class Parser extends ParserAbstract { protected $tokenToSymbolMapSize = 392; - protected $actionTableSize = 1169; - protected $gotoTableSize = 579; + protected $actionTableSize = 1186; + protected $gotoTableSize = 591; protected $invalidSymbol = 157; protected $errorSymbol = 1; @@ -363,362 +363,366 @@ class Parser extends ParserAbstract ); protected $action = array( - 60, 61, 420, 62, 63,-32766,-32766,-32766,-32766, 64, - 65, 66, 223, 224, 225, 226, 227, 228, 229, 230, - 231, 55, 232, 233, 234, 235, 236, 237, 238, 239, - 240, 241, 242, 243,-32766,-32766,-32766,-32766,-32766,-32767, - -32767,-32767,-32767, 616, 67, 68, 58, 244, 245, 790, - 69, 378, 70, 297, 298, 71, 72, 73, 74, 75, - 76, 77, 78, 0, 32, 305, 79, 411, 421,-32766, - 356, 357, 967, 968, 463,-32766, 1060, 288, 696, 750, - 464, 46, 27, 422,-32766, 465, 286, 466, 303, 467, - 440, 597, 423,-32766,-32766,-32766, 36, 37, 468, 428, - 424, 38, 469, 342, 125, 80, 447, 329, 359, 360, - -118, 470, 471, 39, 300, 416, 472, 473, 474, 419, - 678, 722, 475, 476, 290, 916, 1060, 477, 478, 128, - 973, 974, 975, 976, 970, 971, 315, 84, 85, 86, - 1054, 491, 977, 972, 425, 443, 702, 618, 460, 47, - 366, 340, 327, 31, 331, 358, 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, 916, 308,-32766, 774, 775, 220, 221, 222, 650, - 388, 1026, 54,-32766, 110, -170,-32766,-32766,-32766, 751, - -32766, 340,-32766, 301,-32766, 207, -122,-32766,-32766,-32766, - -32766,-32766,-32766,-32766, 304, 348,-32766,-32766, 133,-32766, - -32766, 424, 1067,-32766, 490,-32766, 441,-32766, 608,-32766, - -32766,-32766, 470, 471,-32766, 301, 220, 221, 222,-32766, - 650, 678, 722, 475, 476, 650, 220, 221, 222,-32766, - 438, 22,-32766,-32766,-32766, 207,-32766, 222,-32766, 617, - -32766,-32766,-32766,-32766, 934, 207, 248,-32766,-32766,-32766, - 628,-32766,-32766,-32766, 207, 124,-32766, 650, 135,-32766, - 490,-32766,-32766,-32766,-32766,-32766,-32766,-32766,-32766, 799, - -32766, 693,-32766, 916, 1082,-32766, 221, 222, 781,-32766, - -32766,-32766, 804, 57,-32766,-32766, 35, 491,-32766, 477, - 425,-32766, 490, 211, 207, 299, 132,-32766,-32766,-32766, - -32766,-32766,-32766,-32766,-32766, 916, 347, 220, 221, 222, - 1018, 809, 41, 111, 112, 113, 114, 115, 116, 117, - 118, 119, 120, 121, 122, 445, 207, 289, 132,-32766, - -32766,-32766, 1092, 780, 1094, 1093, 246, 650,-32766,-32766, - -32766,-32766, 1089, 1082,-32766,-32766,-32766, 694,-32766, 1023, - -32766, 439,-32766, 855, 857,-32766, 1025,-32766, 916,-32766, - -32766,-32766, 332,-32766,-32766,-32766, 126, 538,-32766, 650, - 575,-32766, 490,-32766, 131, 129,-32766,-32766,-32766,-32766, - -32766, 137,-32766, 250,-32766, 566, 1064,-32766,-32766,-32766, - 916,-32766,-32766,-32766, 413,-32766,-32766,-32766, 133, 249, - -32766, 1024, 1026,-32766, 490,-32766,-32766,-32766, 214,-32766, - -32766,-32766, 302, 104, 105, 106,-32766, 220, 221, 222, - 979, 434, 650,-32766, 620, -400,-32766, 213, 979,-32766, - -32766,-32766, 123,-32766, 212,-32766, 207,-32766, 244, 245, - -32766,-32766,-32766, 916,-32766,-32766,-32766, 621,-32766,-32766, - -32766, 449, 28,-32766, 650, 207,-32766, 490,-32766, 134, - 635,-32766,-32766,-32766,-32766,-32766, 630,-32766, 642,-32766, - 454, 581,-32766, 138, 367, 916,-32766,-32766,-32766, 588, - 589,-32766,-32766, 774, 775,-32766, 803, 638,-32766, 490, - 238, 239, 240, 639,-32766,-32766,-32766, 657, 625, 814, - 645,-32766, 136, 634, 706, 623, 314, 650, 107, 108, - 109,-32766, 308,-32766,-32766,-32766,-32766, 308,-32766, 715, - -32766, 110,-32766, 50, 110,-32766,-32766,-32766, 916,-32766, - -32766,-32766, 52,-32766,-32766,-32766, 51, 56,-32766, 650, - 305,-32766, 490,-32766, 650, 59,-32766,-32766,-32766,-32766, - -32766, 307,-32766, 53,-32766, 49, 605,-32766, 529, 593, - 916,-32766,-32766,-32766, 1017, 346,-32766,-32766, 528, 516, - -32766, 512, 669,-32766, 490, 435, 1087, 433, 811,-32766, - -32766,-32766, 651, 511, 667, 1082,-32766, 515, 590, 600, - 607, 937, 650, 584, 724, 345,-32766, 338, 285,-32766, - -32766,-32766, 437,-32766, 432,-32766, 335,-32766, 559, -308, - -32766, 690,-32766, -167,-32766,-32766,-32766, 531,-32766,-32766, - -32766, 572, 458,-32766, 650, 42,-32766, 490,-32766, 978, - 585,-32766,-32766,-32766,-32766,-32766, 368,-32766, 717,-32766, - 723, 0,-32766, 0, 247, 336,-32766,-32766,-32766, 0, - 341,-32766,-32766, 0, -400,-32766, -401, 330,-32766, 490, - 328, 477, 215, 216, 686,-32766,-32766, 127, 217, 521, - 218, 0, 0,-32766,-32766,-32766,-32766,-32766,-32766,-32766, - -32766,-32766, 209,-32767,-32767,-32767,-32767, 334, -307, 381, - 967, 968, -299,-32766,-32766, 613, 688,-32766, 969, 650, - 318, 434, 416,-32766, 930, 800,-32766,-32766,-32766, 695, - -32766, 704,-32766, 691,-32766, 689, 660,-32766, 808, 810, - 734,-32766,-32766,-32766, 736, 738,-32766,-32766, 681, 745, - -32766, 744, 753,-32766, 490, 698, 683, 705, 692, 627, - 626,-32766, 241, 242, 243, 45, 556, 44, 973, 974, - 975, 976, 970, 971, 394, 687, 215, 216, 244, 245, - 977, 972, 217, 663, 218, 662, 661, 219, 697,-32766, - 807,-32766,-32766, 83, 619, 960, 209, 624, 629, 631, - 632,-32766, 637, 640, 967, 968, 644, 650,-32766, 641, - 643,-32766, 969, 130,-32766,-32766,-32766, 719,-32766, 743, - -32766, 720,-32766, 721, 453,-32766, 1055, 1065, 792,-32766, - -32766,-32766, 958, 1057,-32766,-32766, 424, 412,-32766, 1045, - 1059,-32766, 490, 326, 1061, 1090, 1091, 470, 471,-32766, - 742, 1088, 914, 415, 410, 343, 656, 722, 475, 476, - 556, 33, 973, 974, 975, 976, 970, 971, 394,-32766, - -32766,-32766, 34, 43, 977, 972, 48, 312, 339,-32766, - -32766, 219, 591,-32766, 311, 658, 896, 81,-32766,-32766, - -32766,-32766,-32766,-32766,-32766,-32766,-32767,-32767,-32767,-32767, - -32767, 424, 412, 310, 309, 296, 295, 287, 326, 210, - 82, 30, 470, 471, 560, 895, 920, -119, 424, 412, - 983, 656, 722, 475, 476, 326, 782, 924, 921, 470, - 471, 612,-32766,-32766,-32766, 551, 461, 457, 656, 722, - 475, 476, 455, 339,-32766,-32766,-32766, 450, 389, 25, - 659,-32766, 0,-32766,-32766,-32766,-32766,-32766,-32766, 24, - 339, 23, -118,-32766, 417,-32766,-32766,-32766,-32766,-32766, - 337, 1039, 0, 825, 826, 827, 824, 823, 822, 817, - -32767,-32767,-32767,-32767, 102, 103, 104, 105, 106, 424, - 984, 1086, 957, 424, 1056, 1040, 1044, 1058, 943, 928, - 470, 471, 929, 926, 470, 471, 424, 927, 925, 678, - 722, 475, 476, 678, 722, 475, 476, 470, 471, 0, - 0, 0, 0, 424, 0, 0, 678, 722, 475, 476, - 0, 0, 0, 0, 470, 471, 424, 0, 679, 0, - 424, 0, 815, 678, 722, 475, 476, 470, 471, 0, - 0, 470, 471, 424, 0, 709, 678, 722, 475, 476, - 678, 722, 475, 476, 470, 471, 0, 0, 569, 0, - 0, 0, 919, 678, 722, 475, 476,-32766,-32766,-32766, - 0, 0, 0, 424, 615, 918, 0, 0, 0, 718, - 606, 650, 0, 1060, 470, 471,-32766, 424,-32766,-32766, - -32766, 424, 711, 678, 722, 475, 476, 0, 470, 471, - 0, 0, 470, 471,-32766,-32766,-32766, 678, 722, 475, - 476, 678, 722, 475, 476, 0, 944, 0, 424, 0, - 0, 0, 0,-32766, 0,-32766,-32766,-32766,-32766, 470, - 471, 0, 0, 0, 0, 0, 0, 0, 678, 722, - 475, 476, 0, 0, 0, 0, 0, 0, 491, 0, - 0, 425, 0, 0, 0, 0, 429, 0, 340 + 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( - 2, 3, 4, 5, 6, 30, 31, 32, 33, 11, - 12, 13, 30, 31, 32, 33, 34, 35, 36, 37, - 38, 66, 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, 78, - 52, 78, 54, 55, 56, 57, 58, 59, 60, 61, - 62, 63, 64, 0, 66, 67, 68, 69, 70, 102, - 101, 102, 74, 75, 76, 108, 78, 7, 80, 28, - 82, 83, 84, 85, 117, 87, 128, 89, 7, 91, - 7, 92, 94, 8, 9, 10, 98, 99, 100, 101, - 101, 103, 104, 7, 149, 107, 7, 127, 110, 111, - 152, 112, 113, 140, 141, 146, 118, 119, 120, 7, - 121, 122, 123, 124, 153, 12, 78, 129, 130, 149, - 132, 133, 134, 135, 136, 137, 138, 8, 9, 10, - 78, 143, 144, 145, 146, 76, 148, 149, 7, 151, - 7, 153, 154, 7, 156, 7, 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, 12, 53, 70, 130, 131, 8, 9, 10, 76, - 77, 122, 66, 80, 65, 78, 83, 84, 85, 148, - 87, 153, 89, 34, 91, 27, 152, 94, 8, 9, - 10, 98, 99, 100, 34, 153, 103, 104, 149, 102, - 107, 101, 152, 110, 111, 108, 7, 27, 76, 29, - 30, 118, 112, 113, 117, 34, 8, 9, 10, 70, - 76, 121, 122, 123, 124, 76, 8, 9, 10, 80, - 28, 152, 83, 84, 85, 27, 87, 10, 89, 76, - 91, 148, 149, 94, 152, 27, 28, 98, 99, 100, - 150, 70, 103, 104, 27, 149, 107, 76, 66, 110, - 111, 80, 8, 9, 83, 84, 85, 118, 87, 148, - 89, 148, 91, 12, 81, 94, 9, 10, 152, 98, - 99, 100, 150, 66, 103, 104, 7, 143, 107, 129, - 146, 110, 111, 7, 27, 34, 147, 148, 149, 118, - 30, 31, 32, 33, 34, 12, 66, 8, 9, 10, - 152, 148, 14, 15, 16, 17, 18, 19, 20, 21, - 22, 23, 24, 25, 26, 76, 27, 34, 147, 148, - 149, 70, 76, 152, 78, 79, 128, 76, 8, 9, - 10, 80, 150, 81, 83, 84, 85, 148, 87, 156, - 89, 149, 91, 55, 56, 94, 76, 27, 12, 98, - 99, 100, 81, 70, 103, 104, 149, 127, 107, 76, - 81, 110, 111, 80, 28, 7, 83, 84, 85, 118, - 87, 149, 89, 14, 91, 153, 76, 94, 30, 31, - 12, 98, 99, 100, 122, 8, 103, 104, 149, 14, - 107, 139, 122, 110, 111, 30, 31, 32, 14, 148, - 149, 118, 34, 46, 47, 48, 70, 8, 9, 10, - 139, 146, 76, 151, 149, 127, 80, 14, 139, 83, - 84, 85, 14, 87, 14, 89, 27, 91, 65, 66, - 94, 148, 149, 12, 98, 99, 100, 28, 70, 103, - 104, 71, 72, 107, 76, 27, 110, 111, 80, 149, - 28, 83, 84, 85, 118, 87, 28, 89, 28, 91, - 71, 72, 94, 96, 97, 12, 98, 99, 100, 105, - 106, 103, 104, 130, 131, 107, 148, 149, 110, 111, - 46, 47, 48, 28, 148, 149, 118, 148, 149, 148, - 149, 70, 28, 28, 28, 28, 28, 76, 49, 50, - 51, 80, 53, 30, 83, 84, 85, 53, 87, 34, - 89, 65, 91, 66, 65, 94, 148, 149, 12, 98, - 99, 100, 66, 70, 103, 104, 66, 66, 107, 76, - 67, 110, 111, 80, 76, 66, 83, 84, 85, 118, - 87, 93, 89, 66, 91, 66, 76, 94, 76, 73, - 12, 98, 99, 100, 155, 81, 103, 104, 76, 76, - 107, 76, 76, 110, 111, 76, 76, 76, 76, 148, - 149, 118, 76, 76, 76, 81, 70, 78, 78, 78, - 78, 78, 76, 95, 122, 81, 80, 109, 93, 83, - 84, 85, 85, 87, 101, 89, 125, 91, 93, 142, - 94, 148, 149, 93, 98, 99, 100, 93, 70, 103, - 104, 95, 101, 107, 76, 128, 110, 111, 80, 139, - 108, 83, 84, 85, 118, 87, 142, 89, 147, 91, - 122, -1, 94, -1, 28, 126, 98, 99, 100, -1, - 125, 103, 104, -1, 127, 107, 127, 127, 110, 111, - 127, 129, 46, 47, 148, 149, 118, 128, 52, 146, - 54, -1, -1, 30, 31, 32, 33, 34, 35, 36, - 37, 38, 66, 40, 41, 42, 43, 142, 142, 142, - 74, 75, 142, 70, 78, 142, 148, 149, 82, 76, - 142, 146, 146, 80, 150, 148, 83, 84, 85, 148, - 87, 148, 89, 148, 91, 148, 148, 94, 148, 148, - 148, 98, 99, 100, 148, 148, 103, 104, 148, 148, - 107, 148, 148, 110, 111, 148, 148, 148, 148, 148, - 148, 118, 49, 50, 51, 148, 130, 148, 132, 133, - 134, 135, 136, 137, 138, 148, 46, 47, 65, 66, - 144, 145, 52, 148, 54, 148, 148, 151, 148, 153, - 148, 148, 149, 149, 149, 152, 66, 149, 149, 149, - 149, 70, 149, 149, 74, 75, 149, 76, 78, 149, - 149, 80, 82, 149, 83, 84, 85, 150, 87, 150, - 89, 150, 91, 150, 150, 94, 150, 150, 150, 98, - 99, 100, 150, 150, 103, 104, 101, 102, 107, 150, - 150, 110, 111, 108, 150, 150, 150, 112, 113, 118, - 150, 150, 154, 151, 151, 151, 121, 122, 123, 124, - 130, 151, 132, 133, 134, 135, 136, 137, 138, 8, - 9, 10, 151, 151, 144, 145, 151, 151, 143, 148, - 149, 151, 155, 153, 151, 150, 152, 151, 27, 151, - 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, - 39, 101, 102, 151, 151, 151, 151, 151, 108, 151, - 151, 151, 112, 113, 152, 152, 152, 152, 101, 102, - 152, 121, 122, 123, 124, 108, 152, 152, 152, 112, - 113, 152, 8, 9, 10, 152, 152, 152, 121, 122, - 123, 124, 152, 143, 8, 9, 10, 152, 152, 152, - 150, 27, -1, 29, 30, 31, 32, 33, 34, 152, - 143, 152, 152, 27, 102, 29, 30, 31, 32, 33, - 108, 155, -1, 111, 112, 113, 114, 115, 116, 117, - 40, 41, 42, 43, 44, 45, 46, 47, 48, 101, - 155, 155, 155, 101, 155, 155, 155, 155, 155, 155, - 112, 113, 155, 155, 112, 113, 101, 155, 155, 121, - 122, 123, 124, 121, 122, 123, 124, 112, 113, -1, - -1, -1, -1, 101, -1, -1, 121, 122, 123, 124, - -1, -1, -1, -1, 112, 113, 101, -1, 150, -1, - 101, -1, 150, 121, 122, 123, 124, 112, 113, -1, - -1, 112, 113, 101, -1, 150, 121, 122, 123, 124, - 121, 122, 123, 124, 112, 113, -1, -1, 86, -1, - -1, -1, 150, 121, 122, 123, 124, 8, 9, 10, - -1, -1, -1, 101, 88, 150, -1, -1, -1, 150, - 90, 76, -1, 78, 112, 113, 27, 101, 29, 30, - 31, 101, 150, 121, 122, 123, 124, -1, 112, 113, - -1, -1, 112, 113, 8, 9, 10, 121, 122, 123, - 124, 121, 122, 123, 124, -1, 111, -1, 101, -1, - -1, -1, -1, 27, -1, 29, 30, 31, 32, 112, - 113, -1, -1, -1, -1, -1, -1, -1, 121, 122, - 123, 124, -1, -1, -1, -1, -1, -1, 143, -1, - -1, 146, -1, -1, -1, -1, 151, -1, 153 + 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, 800, 735, 817, 888, 120, 982, -1, 1000, 952, - 939, 935, 996, 922, 905, 892, 1027, 1027, 1027, 1027, - 1027, 497, 458, 452, 460, 452, 439, -2, -2, -2, - 201, 169, 281, 281, 643, 281, 536, 568, 483, 113, - 366, 313, 398, 451, 451, 451, 451, 731, 731, 451, - 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, - 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, - 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, - 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, - 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, - 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, - 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, - 451, 451, 451, 451, 451, 451, 451, 451, 451, 451, - 451, 451, 451, 451, 451, 451, 451, 451, 451, 51, - 640, 559, 517, 627, 587, 585, 583, 764, 525, 734, - 701, 694, 494, 690, 689, 683, 682, 678, 674, 677, - 727, 676, 129, 129, 129, 129, 129, 129, 129, 129, - 129, 129, 129, 407, 228, 178, 238, 429, 274, 319, - 319, 319, 319, 319, 319, 85, 85, 85, 85, 85, - 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, - 85, 85, 287, 350, 350, 350, 247, 636, 448, 730, - 730, 730, 730, 730, 730, 730, 730, 730, 730, 730, - 730, 730, 730, 730, 730, 730, 730, 730, 730, 730, - 730, 730, 730, 730, 730, 730, 730, 730, 730, 730, - 730, 730, 730, 730, 730, 730, 730, 730, 730, 730, - 730, 200, -18, -18, 1069, 503, 1106, 378, 936, 395, - 924, 861, 861, 861, 861, 861, -25, 290, 4, 4, - 4, 4, 318, 940, 940, 940, 940, 663, 663, 663, - 663, 673, 671, 667, 574, 180, 180, 552, 552, 493, - 664, 387, 387, 464, 464, 1015, 1015, 1015, 1015, 1015, - 1015, 1015, 1015, 1015, 1015, 292, 117, -33, 738, 54, - 54, 54, 54, 373, 373, 301, 282, 213, 69, 479, - 479, 479, 713, 713, 713, 152, -31, 534, 330, 330, - 330, 504, 510, 524, 269, 164, 164, 164, 164, 295, - 644, 164, 164, 164, -45, -27, -27, 276, 252, 546, - 700, 518, 669, 358, 487, -20, 576, 576, 576, -29, - 523, 400, 419, 394, 570, 222, -29, 51, 300, 371, - 237, 484, 581, 502, 635, 588, 143, 219, 260, 369, - 126, 62, 99, 638, 637, 762, 763, 70, 212, 549, - 484, 484, 484, 146, 309, 126, -42, 393, 393, 393, - 393, 393, 393, 393, 393, 577, 141, 112, 642, 183, - 505, 721, 515, 760, 760, 512, 488, 515, 530, 505, - 725, 725, 725, 725, 505, 488, 760, 760, 505, 493, - 760, 299, 505, 501, 488, 545, 545, 725, 612, 611, - 515, 529, 539, 760, 760, 760, 539, 512, 505, 725, - 542, 511, 306, 760, 725, 498, 498, 542, 505, 498, - 530, 498, 63, 496, 509, 722, 736, 702, 527, 645, - 538, 492, 755, 754, 759, 513, 521, 756, 710, 543, - 610, 519, 438, 477, 490, 486, 507, 578, 491, 553, - 523, 575, 476, 476, 476, 547, 565, 547, 476, 476, - 476, 476, 476, 476, 476, 476, 853, 567, 566, 550, - 537, 609, 440, 543, 544, 433, 648, 543, 776, 796, - 698, 526, 753, 783, 547, 852, 619, 388, 414, 752, - 535, 528, 547, 733, 547, 649, 547, 775, 520, 696, - 543, 476, 774, 848, 847, 844, 843, 842, 841, 840, - 839, 499, 837, 608, 795, 150, 758, 570, 514, 516, - 607, 96, 836, 547, 547, 650, 644, 547, 651, 604, - 617, 809, 603, 790, 835, 510, 785, 547, 541, 816, - 96, 495, 506, 765, 601, 703, 531, 768, 704, 653, - 405, 695, 485, 600, 807, 797, 810, 597, 654, 660, - 389, 500, 533, 532, 661, 726, 596, 779, 540, 573, - 508, 478, 657, 522, 784, 592, 591, 590, 0, 0, + 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, -2, -2, -2, - -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, - -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, - -2, -2, -2, 0, 0, 0, -2, -2, -2, -2, - -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, - -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, - -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, - -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, - -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, - -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, - -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, - -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, - -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, - -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, - -2, -2, -2, -2, -2, 129, 129, 129, 129, 129, - 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, - 129, 129, 129, 129, 129, 129, 129, 129, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, - -18, -18, -18, -18, 129, -18, -18, -18, -18, -18, - -18, 129, 129, 129, 129, 129, 129, 129, 129, 129, - 129, 129, 129, 129, 129, 129, 129, 129, -18, 129, - 129, 129, -18, 1015, -18, 1015, 1015, 1015, 1015, 1015, - 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, - 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, - 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, - 1015, 1015, 1015, 1015, 1015, 1015, 1015, 129, 0, 0, - 129, -18, 129, -18, 129, -18, 129, 129, 129, 129, - 129, 129, -18, -18, -18, -18, -18, -18, 0, 479, - 479, 479, 479, -18, -18, -18, -18, 862, 862, 862, - 862, 1015, 1015, 1015, 1015, 1015, 1015, 479, 479, 713, - 713, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1015, 862, 862, 1015, 164, 164, 164, 164, 164, - 164, -27, -27, -27, 62, 0, 0, 0, 0, 0, - 0, 164, 488, -27, 48, 48, 48, -27, -27, -27, - 62, 0, 0, 0, 0, 488, 48, 0, 0, 0, - 760, 0, 0, 0, 48, 397, 397, 397, 397, 96, - 126, 0, 488, 488, 488, 0, 529, 0, 0, 0, - 760, 0, 0, 0, 0, 0, 0, 476, 388, 753, - 83, 148, 0, 0, 0, 0, 0, 0, 0, 148, - 148, 81, 81, 0, 0, 499, 476, 476, 476, 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, 83, 0, 0, 96 + 0, 139, 0, 0, 233 ); protected $actionDefault = array( - 3,32767,32767, 1,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767, 111, 103, 117, 102, - 113,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767, 427, 427,32767, 384,32767,32767,32767,32767, - 32767,32767,32767, 188, 188, 188,32767,32767,32767, 416, - 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, - 32767,32767,32767,32767,32767, 270,32767,32767,32767,32767, + 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, @@ -726,56 +730,56 @@ class Parser extends ParserAbstract 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767, 276, 432,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, 251, 252, 254, 255, 187, 417, 139, 277, - 431, 186, 141, 215, 388,32767,32767,32767, 217, 26, - 150, 95, 387, 185, 126, 269, 271, 216, 192, 197, - 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, - 208, 191, 342, 248, 247, 246, 344,32767, 343, 381, - 381, 384,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, 213, 370, 369, 214, 340, 218, 341, 220, 345, - 219, 236, 237, 234, 235, 238, 347, 346, 363, 364, - 361, 362, 190, 239, 240, 241, 242, 365, 366, 367, - 368, 172, 172, 172, 172,32767,32767, 426, 426,32767, - 32767, 227, 228, 354, 355,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767, 173,32767,32767, 130, - 130, 130, 130, 130,32767,32767,32767,32767,32767, 222, - 223, 221, 349, 350, 348,32767,32767, 316,32767,32767, - 32767,32767,32767, 318,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767, 389, 317,32767,32767,32767,32767, - 32767,32767,32767,32767, 402, 305,32767,32767,32767,32767, - 298, 114, 116, 64, 373,32767,32767,32767,32767,32767, - 407, 232,32767,32767,32767,32767,32767,32767, 439,32767, - 402,32767,32767,32767,32767,32767,32767,32767,32767, 245, - 224, 225, 226,32767,32767, 406, 400, 357, 358, 359, - 360, 351, 352, 353, 356,32767,32767,32767,32767,32767, - 68, 313,32767, 319, 319,32767,32767,32767,32767, 68, - 32767,32767,32767,32767, 68,32767, 405, 404, 68,32767, - 299, 383, 68, 81,32767, 79, 79,32767, 100, 100, - 32767,32767, 83, 379, 395,32767, 83,32767, 68,32767, - 287, 70, 383,32767,32767, 132, 132, 287, 68, 132, - 32767, 132,32767, 4, 323,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767,32767, 300, - 32767,32767,32767, 266, 267, 376, 391,32767, 392,32767, - 298,32767, 230, 231, 233, 210,32767, 212, 256, 257, - 258, 259, 260, 261, 262, 264,32767,32767, 303, 306, - 32767,32767,32767, 6, 20, 149,32767, 301,32767, 195, - 32767,32767,32767,32767, 434,32767,32767, 189,32767,32767, - 22,32767, 145,32767, 66,32767, 424,32767,32767, 400, - 302, 229,32767,32767,32767,32767,32767,32767,32767,32767, - 32767, 401,32767,32767,32767, 121,32767, 336,32767,32767, - 32767, 82,32767, 193, 140,32767,32767, 433,32767,32767, - 32767,32767,32767,32767,32767,32767,32767, 67,32767,32767, - 84,32767,32767, 400,32767,32767,32767,32767,32767,32767, - 184,32767,32767,32767,32767,32767, 400,32767,32767,32767, - 125,32767,32767,32767,32767,32767,32767,32767, 4,32767, - 166,32767,32767,32767,32767,32767,32767,32767, 28, 28, - 3, 28, 108, 28, 152, 3, 100, 100, 61, 152, - 28, 152, 152, 28, 28, 28, 28, 28, 159, 28, + 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 ); @@ -784,60 +788,62 @@ class Parser extends ParserAbstract 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, 842, + 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, - 784, 557, 557, 557, 557, 557, 557, 557, 557, 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, 766, - 766, 1071, 1071, 496, 496, 496, 496, 496, 496, 496, - 496, 496, 496, 507, 570, 594, 507, 543, 544, 545, - 546, 547, 548, 549, 550, 552, 579, 430, 430, 430, - 430, 430, 430, 654, 654, 654, 519, 430, 430, 430, - 430, 430, 430, 430, 430, 430, 430, 945, 350, 700, - 945, 773, 773, 773, 773, 773, 773, 282, 537, 283, - 284, 380, 380, 380, 333, 1, 599, 609, 317, 604, - 2, 369, 1075, 380, 655, 655, 655, 731, 731, 731, - 731, 395, 372, 726, 732, 603, 558, 1031, 558, 558, + 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, - 980, 587, 980, 980, 980, 980, 980, 980, 980, 980, - 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, - 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, - 980, 980, 980, 980, 980, 980, 980, 980, 980, 980, - 980, 980, 980, 980, 573, 576, 614, 580, 353, 408, - 821, 409, 509, 176, 508, 509, 379, 508, 179, 180, + 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, 5, 595, 16, - 1051, 6, 1068, 1051, 386, 351, 352, 889, 7, 956, - 955, 17, 18, 8, 19, 9, 770, 20, 10, 11, - 12, 13, 14, 15, 396, 596, 536, 536, 563, 532, - 653, 653, 653, 530, 534, 534, 495, 497, 524, 539, - 564, 567, 577, 583, 1043, 1081, 1081, 513, 840, 779, - 752, 737, 735, 733, 735, 622, 510, 761, 756, 961, - 513, 1084, 1081, 1050, 938, 664, 1050, 788, 899, 26, - 21, 365, 383, 384, 1084, 1084, 373, 513, 513, 513, - 522, 981, 633, 931, 533, 553, 1066, 1066, 1066, 542, - 405, 936, 446, 518, 670, 1028, 793, 29, 1049, 568, - 451, 829, 592, 0, 740, 0, 518, 518, 459, 0, - 601, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 941, 942, 0, 0, - 938, 0, 0, 0, 0, 0, 0, 513, 0, 0, - 0, 0, 0, 939, 1042, 939, 517, 0, 0, 0, - 0, 0, 0, 940, 0, 540, 0, 0, 0, 0, + 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, 523 + 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( @@ -852,85 +858,87 @@ class Parser extends ParserAbstract 25, 25, 25, 25, 25, 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, - 63, 39, 39, 39, 39, 39, 39, 39, 39, 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, 56, - 56, 56, 56, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 22, 22, 95, 88, 88, 88, - 88, 88, 88, 88, 88, 88, 88, 39, 39, 39, - 39, 39, 39, 7, 7, 7, 79, 39, 39, 39, - 39, 39, 39, 39, 39, 39, 39, 39, 51, 32, - 39, 39, 39, 39, 39, 39, 39, 47, 87, 47, - 47, 102, 102, 102, 104, 2, 43, 39, 104, 43, - 2, 43, 119, 102, 8, 8, 8, 39, 39, 39, - 39, 102, 29, 39, 39, 39, 98, 111, 98, 98, + 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, 107, 105, 105, 105, 105, 105, 105, 105, 105, + 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, 42, 42, 42, 49, 49, 49, - 76, 76, 101, 13, 98, 101, 5, 98, 13, 13, + 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, 31, 14, - 96, 14, 117, 96, 30, 51, 51, 80, 14, 103, - 103, 14, 14, 14, 14, 14, 58, 14, 14, 14, + 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, - 6, 6, 6, 5, 33, 33, 33, 33, 33, 33, - 33, 33, 33, 33, 61, 120, 120, 4, 79, 60, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 16, - 4, 120, 120, 97, 61, 11, 97, 64, 16, 16, - 16, 16, 9, 9, 120, 120, 40, 4, 4, 4, - 40, 106, 53, 91, 40, 16, 97, 97, 97, 26, - 10, 93, 45, 26, 12, 110, 65, 16, 97, 46, - 40, 78, 16, -1, 50, -1, 26, 26, 86, -1, - 40, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 61, 61, -1, -1, - 61, -1, -1, -1, -1, -1, -1, 4, -1, -1, - -1, -1, -1, 61, 61, 61, 4, -1, -1, -1, - -1, -1, -1, 61, -1, 4, -1, -1, -1, -1, + 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, 79 + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -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, -395, 0, 111, 7, 419, 192, 233, 106, - 63, 97, 44, 136, -232, 0, 38, 0, 0, 0, - 0, 0, 130, 0, 0, -30, 449, 0, 0, 196, - 98, 102, 184, 129, 0, 0, 0, 0, 0, -98, - 42, 0, 24, -230, 0, 46, 43, -412, 0, 1, - 47, -231, 0, 105, 0, 0, -126, 0, 93, 0, - 125, 90, 0, 79, 91, 45, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 34, 0, 31, 149, - 89, 0, 0, 0, 0, 0, 41, 185, 127, 0, - 0, 59, 0, 62, 0, -132, 85, 148, 39, 0, - 0, 37, -107, 70, -103, 83, 103, 81, 0, 0, - 33, 36, 0, 0, 0, 0, 0, 104, 0, 197, - 119, 0 + 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, 3, 648, 479, 514, 675, 676, 677, 375, - 374, 665, 671, 174, 4, 673, 890, 361, 680, 362, + -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, 708, 364, + 385, 571, 699, 272, 382, 701, 363, 703, 709, 364, 602, 586, 554, 598, 481, 442, 565, 281, 535, 561, - 739, 349, 747, 636, 755, 758, 482, 555, 769, 448, - 777, 966, 393, 783, 789, 794, 797, 418, 406, 578, - 801, 802, 325, 806, 610, 611, 820, 306, 828, 841, - 414, 909, 911, 483, 484, 520, 456, 506, 525, 485, - 932, 436, 407, 935, 486, 487, 426, 427, 953, 950, - 355, 1036, 354, 444, 316, 1021, 1020, 574, 985, 452, - 1074, 1032, 344, 488, 489, 370, 387, 1069, 431, 1076, - 1083, 562 + 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( @@ -940,19 +948,20 @@ class Parser extends ParserAbstract 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, 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, + 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, @@ -960,25 +969,24 @@ class Parser extends ParserAbstract 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 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, + 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, 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 + 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( @@ -988,45 +996,45 @@ class Parser extends ParserAbstract 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, 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, + 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, 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 + 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() { @@ -1274,179 +1282,179 @@ class Parser extends ParserAbstract } protected function reduceRule61() { - $this->semValue = array(); + $this->semValue = array(); /* means: no statement */ } protected function reduceRule62() { - $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)]; + $this->semValue = array(); } protected function reduceRule63() { - $this->semValue = new Node\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 reduceRule64() { - $this->semValue = null; - } - - protected function reduceRule65() { - $this->semValue = $this->semStack[$this->stackPos-(4-3)]; - } - - protected function reduceRule66() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); - } - - protected function reduceRule67() { - $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; - } - - protected function reduceRule68() { - $this->semValue = false; - } - - protected function reduceRule69() { - $this->semValue = true; - } - - protected function reduceRule70() { - $this->semValue = false; - } - - protected function reduceRule71() { - $this->semValue = true; - } - - protected function reduceRule72() { - $this->semValue = new Node\Stmt\Function_($this->semStack[$this->stackPos-(10-3)], array('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 reduceRule73() { - $this->semValue = new Node\Stmt\Class_($this->semStack[$this->stackPos-(7-2)], array('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 reduceRule74() { - $this->semValue = new Node\Stmt\Interface_($this->semStack[$this->stackPos-(6-2)], array('extends' => $this->semStack[$this->stackPos-(6-3)], 'stmts' => $this->semStack[$this->stackPos-(6-5)]), $this->startAttributeStack[$this->stackPos-(6-1)] + $this->endAttributes); - } - - protected function reduceRule75() { - $this->semValue = new Node\Stmt\Trait_($this->semStack[$this->stackPos-(5-2)], $this->semStack[$this->stackPos-(5-4)], $this->startAttributeStack[$this->stackPos-(5-1)] + $this->endAttributes); - } - - protected function reduceRule76() { - $this->semValue = 0; - } - - protected function reduceRule77() { - $this->semValue = Node\Stmt\Class_::MODIFIER_ABSTRACT; - } - - protected function reduceRule78() { - $this->semValue = Node\Stmt\Class_::MODIFIER_FINAL; - } - - protected function reduceRule79() { - $this->semValue = null; - } - - protected function reduceRule80() { - $this->semValue = $this->semStack[$this->stackPos-(2-2)]; - } - - protected function reduceRule81() { - $this->semValue = array(); - } - - protected function reduceRule82() { - $this->semValue = $this->semStack[$this->stackPos-(2-2)]; - } - - protected function reduceRule83() { - $this->semValue = array(); - } - - protected function reduceRule84() { - $this->semValue = $this->semStack[$this->stackPos-(2-2)]; - } - - protected function reduceRule85() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); - } - - protected function reduceRule86() { - $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; - } - - protected function reduceRule87() { - $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 reduceRule88() { - $this->semValue = $this->semStack[$this->stackPos-(4-2)]; - } - - protected function reduceRule89() { - $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 reduceRule90() { - $this->semValue = $this->semStack[$this->stackPos-(4-2)]; - } - - protected function reduceRule91() { - $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 reduceRule92() { - $this->semValue = $this->semStack[$this->stackPos-(4-2)]; - } - - protected function reduceRule93() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); - } - - protected function reduceRule94() { - $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; - } - - protected function reduceRule95() { - $this->semValue = new Node\Stmt\DeclareDeclare($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule96() { - $this->semValue = $this->semStack[$this->stackPos-(3-2)]; - } - - protected function reduceRule97() { - $this->semValue = $this->semStack[$this->stackPos-(4-3)]; - } - - protected function reduceRule98() { - $this->semValue = $this->semStack[$this->stackPos-(4-2)]; - } - - protected function reduceRule99() { - $this->semValue = $this->semStack[$this->stackPos-(5-3)]; - } - - protected function reduceRule100() { - $this->semValue = array(); - } - - protected function reduceRule101() { $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 Node\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 Node\Stmt\Function_($this->semStack[$this->stackPos-(10-3)], array('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 Node\Stmt\Class_($this->semStack[$this->stackPos-(7-2)], array('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 Node\Stmt\Interface_($this->semStack[$this->stackPos-(6-2)], array('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 Node\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 = Node\Stmt\Class_::MODIFIER_ABSTRACT; + } + + protected function reduceRule79() { + $this->semValue = Node\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 Node\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->semValue = new Node\Stmt\Case_($this->semStack[$this->stackPos-(4-2)], $this->semStack[$this->stackPos-(4-4)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + $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 Node\Stmt\Case_(null, $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Node\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 = $this->semStack[$this->stackPos]; + $this->semValue = new Node\Stmt\Case_(null, $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule105() { @@ -1454,267 +1462,267 @@ class Parser extends ParserAbstract } protected function reduceRule106() { - $this->semValue = is_array($this->semStack[$this->stackPos-(1-1)]) ? $this->semStack[$this->stackPos-(1-1)] : array($this->semStack[$this->stackPos-(1-1)]); + $this->semValue = $this->semStack[$this->stackPos]; } protected function reduceRule107() { - $this->semValue = $this->semStack[$this->stackPos-(4-2)]; + $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 = array(); + $this->semValue = $this->semStack[$this->stackPos-(4-2)]; } protected function reduceRule109() { - $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)]; + $this->semValue = array(); } protected function reduceRule110() { - $this->semValue = new Node\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); + $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 = array(); + $this->semValue = new Node\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->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)]; + $this->semValue = array(); } protected function reduceRule113() { - $this->semValue = new Node\Stmt\ElseIf_($this->semStack[$this->stackPos-(4-2)], $this->semStack[$this->stackPos-(4-4)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + $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 = null; + $this->semValue = new Node\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 = new Node\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); + $this->semValue = null; } protected function reduceRule116() { - $this->semValue = null; + $this->semValue = new Node\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 = new Node\Stmt\Else_($this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = null; } protected function reduceRule118() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)], false); + $this->semValue = new Node\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-(2-2)], true); - } - - protected function reduceRule120() { $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 = $this->semStack[$this->stackPos-(1-1)]; + $this->semValue = array($this->semStack[$this->stackPos-(1-1)], false); } protected function reduceRule122() { - $this->semValue = array(); + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } protected function reduceRule123() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); + $this->semValue = array(); } protected function reduceRule124() { - $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; + $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); } protected function reduceRule125() { - $this->semValue = new Node\Param(substr($this->semStack[$this->stackPos-(4-4)], 1), null, $this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-2)], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + $this->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-(6-4)], 1), $this->semStack[$this->stackPos-(6-6)], $this->semStack[$this->stackPos-(6-1)], $this->semStack[$this->stackPos-(6-2)], $this->semStack[$this->stackPos-(6-3)], $this->startAttributeStack[$this->stackPos-(6-1)] + $this->endAttributes); + $this->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 = $this->semStack[$this->stackPos-(1-1)]; + $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 = 'array'; + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } protected function reduceRule129() { - $this->semValue = 'callable'; + $this->semValue = 'array'; } protected function reduceRule130() { - $this->semValue = null; + $this->semValue = 'callable'; } protected function reduceRule131() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + $this->semValue = null; } protected function reduceRule132() { - $this->semValue = null; + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } protected function reduceRule133() { - $this->semValue = $this->semStack[$this->stackPos-(2-2)]; - } - - protected function reduceRule134() { - $this->semValue = array(); - } - - protected function reduceRule135() { - $this->semValue = $this->semStack[$this->stackPos-(3-2)]; - } - - protected function reduceRule136() { - $this->semValue = array(new Node\Arg($this->semStack[$this->stackPos-(3-2)], false, false, $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes)); - } - - protected function reduceRule137() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); - } - - protected function reduceRule138() { - $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; - } - - protected function reduceRule139() { - $this->semValue = new Node\Arg($this->semStack[$this->stackPos-(1-1)], false, false, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); - } - - protected function reduceRule140() { - $this->semValue = new Node\Arg($this->semStack[$this->stackPos-(2-2)], true, false, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule141() { - $this->semValue = new Node\Arg($this->semStack[$this->stackPos-(2-2)], false, true, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule142() { - $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; - } - - protected function reduceRule143() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); - } - - protected function reduceRule144() { - $this->semValue = new Node\Expr\Variable(substr($this->semStack[$this->stackPos-(1-1)], 1), $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); - } - - protected function reduceRule145() { - $this->semValue = new Node\Expr\Variable($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule146() { - $this->semValue = new Node\Expr\Variable($this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); - } - - protected function reduceRule147() { - $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; - } - - protected function reduceRule148() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); - } - - protected function reduceRule149() { - $this->semValue = new Node\Stmt\StaticVar(substr($this->semStack[$this->stackPos-(1-1)], 1), null, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); - } - - protected function reduceRule150() { - $this->semValue = new Node\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 reduceRule151() { - $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)]; - } - - protected function reduceRule152() { - $this->semValue = array(); - } - - protected function reduceRule153() { - $this->semValue = new Node\Stmt\Property($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule154() { - $this->semValue = new Node\Stmt\ClassConst($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule155() { - $this->semValue = new Node\Stmt\ClassMethod($this->semStack[$this->stackPos-(9-4)], array('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 reduceRule156() { - $this->semValue = new Node\Stmt\TraitUse($this->semStack[$this->stackPos-(3-2)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule157() { - $this->semValue = array(); - } - - protected function reduceRule158() { - $this->semValue = $this->semStack[$this->stackPos-(3-2)]; - } - - protected function reduceRule159() { - $this->semValue = array(); - } - - protected function reduceRule160() { - $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)]; - } - - protected function reduceRule161() { - $this->semValue = new Node\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 reduceRule162() { - $this->semValue = new Node\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 reduceRule163() { - $this->semValue = new Node\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 reduceRule164() { - $this->semValue = new Node\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 reduceRule165() { - $this->semValue = array($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)]); - } - - protected function reduceRule166() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; - } - - protected function reduceRule167() { - $this->semValue = array(null, $this->semStack[$this->stackPos-(1-1)]); - } - - protected function reduceRule168() { $this->semValue = null; } - protected function reduceRule169() { + 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 reduceRule170() { + 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 Node\Expr\Variable(substr($this->semStack[$this->stackPos-(1-1)], 1), $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + } + + protected function reduceRule146() { + $this->semValue = new Node\Expr\Variable($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + } + + protected function reduceRule147() { + $this->semValue = new Node\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 Node\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 Node\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 Node\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 Node\Stmt\ClassConst($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + + protected function reduceRule156() { + $this->semValue = new Node\Stmt\ClassMethod($this->semStack[$this->stackPos-(9-4)], array('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 Node\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 Node\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 Node\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 Node\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 Node\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 = 0; + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } protected function reduceRule172() { @@ -1722,7 +1730,7 @@ class Parser extends ParserAbstract } protected function reduceRule173() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + $this->semValue = 0; } protected function reduceRule174() { @@ -1730,63 +1738,63 @@ class Parser extends ParserAbstract } protected function reduceRule175() { - Node\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)]; + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } protected function reduceRule176() { - $this->semValue = Node\Stmt\Class_::MODIFIER_PUBLIC; + Node\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 = Node\Stmt\Class_::MODIFIER_PROTECTED; + $this->semValue = Node\Stmt\Class_::MODIFIER_PUBLIC; } protected function reduceRule178() { - $this->semValue = Node\Stmt\Class_::MODIFIER_PRIVATE; + $this->semValue = Node\Stmt\Class_::MODIFIER_PROTECTED; } protected function reduceRule179() { - $this->semValue = Node\Stmt\Class_::MODIFIER_STATIC; + $this->semValue = Node\Stmt\Class_::MODIFIER_PRIVATE; } protected function reduceRule180() { - $this->semValue = Node\Stmt\Class_::MODIFIER_ABSTRACT; + $this->semValue = Node\Stmt\Class_::MODIFIER_STATIC; } protected function reduceRule181() { - $this->semValue = Node\Stmt\Class_::MODIFIER_FINAL; + $this->semValue = Node\Stmt\Class_::MODIFIER_ABSTRACT; } protected function reduceRule182() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); + $this->semValue = Node\Stmt\Class_::MODIFIER_FINAL; } protected function reduceRule183() { - $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; - } - - protected function reduceRule184() { - $this->semValue = new Node\Stmt\PropertyProperty(substr($this->semStack[$this->stackPos-(1-1)], 1), null, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); - } - - protected function reduceRule185() { - $this->semValue = new Node\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 reduceRule186() { - $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; - } - - protected function reduceRule187() { $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 Node\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 Node\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->semValue = array($this->semStack[$this->stackPos-(1-1)]); } protected function reduceRule189() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + $this->semValue = array(); } protected function reduceRule190() { @@ -1794,7 +1802,7 @@ class Parser extends ParserAbstract } protected function reduceRule191() { - $this->semValue = new Node\Expr\Assign($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } protected function reduceRule192() { @@ -1802,7 +1810,7 @@ class Parser extends ParserAbstract } protected function reduceRule193() { - $this->semValue = new Node\Expr\AssignRef($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-4)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Node\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() { @@ -1810,287 +1818,287 @@ class Parser extends ParserAbstract } protected function reduceRule195() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + $this->semValue = new Node\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 = new Node\Expr\Clone_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } protected function reduceRule197() { - $this->semValue = new Node\Expr\AssignOp\Plus($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Node\Expr\Clone_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule198() { - $this->semValue = new Node\Expr\AssignOp\Minus($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Node\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 Node\Expr\AssignOp\Mul($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Node\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 Node\Expr\AssignOp\Div($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Node\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 Node\Expr\AssignOp\Concat($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Node\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 Node\Expr\AssignOp\Mod($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Node\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 Node\Expr\AssignOp\BitwiseAnd($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Node\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 Node\Expr\AssignOp\BitwiseOr($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Node\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 Node\Expr\AssignOp\BitwiseXor($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Node\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 Node\Expr\AssignOp\ShiftLeft($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Node\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 Node\Expr\AssignOp\ShiftRight($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Node\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 Node\Expr\AssignOp\Pow($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Node\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 Node\Expr\PostInc($this->semStack[$this->stackPos-(2-1)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Node\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 Node\Expr\PreInc($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Node\Expr\PostInc($this->semStack[$this->stackPos-(2-1)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule211() { - $this->semValue = new Node\Expr\PostDec($this->semStack[$this->stackPos-(2-1)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Node\Expr\PreInc($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule212() { - $this->semValue = new Node\Expr\PreDec($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Node\Expr\PostDec($this->semStack[$this->stackPos-(2-1)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule213() { - $this->semValue = new Node\Expr\BinaryOp\BooleanOr($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Node\Expr\PreDec($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule214() { - $this->semValue = new Node\Expr\BinaryOp\BooleanAnd($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Node\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 Node\Expr\BinaryOp\LogicalOr($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Node\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 Node\Expr\BinaryOp\LogicalAnd($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Node\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 Node\Expr\BinaryOp\LogicalXor($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Node\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 Node\Expr\BinaryOp\BitwiseOr($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Node\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 Node\Expr\BinaryOp\BitwiseAnd($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Node\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 Node\Expr\BinaryOp\BitwiseXor($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Node\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 Node\Expr\BinaryOp\Concat($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Node\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 Node\Expr\BinaryOp\Plus($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Node\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 Node\Expr\BinaryOp\Minus($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Node\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 Node\Expr\BinaryOp\Mul($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Node\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 Node\Expr\BinaryOp\Div($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Node\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 Node\Expr\BinaryOp\Mod($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Node\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 Node\Expr\BinaryOp\ShiftLeft($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Node\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 Node\Expr\BinaryOp\ShiftRight($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Node\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 Node\Expr\BinaryOp\Pow($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Node\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 Node\Expr\UnaryPlus($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Node\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 Node\Expr\UnaryMinus($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Node\Expr\UnaryPlus($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule232() { - $this->semValue = new Node\Expr\BooleanNot($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Node\Expr\UnaryMinus($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule233() { - $this->semValue = new Node\Expr\BitwiseNot($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Node\Expr\BooleanNot($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule234() { - $this->semValue = new Node\Expr\BinaryOp\Identical($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Node\Expr\BitwiseNot($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule235() { - $this->semValue = new Node\Expr\BinaryOp\NotIdentical($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Node\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 Node\Expr\BinaryOp\Equal($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Node\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 Node\Expr\BinaryOp\NotEqual($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Node\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 Node\Expr\BinaryOp\Spaceship($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Node\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 Node\Expr\BinaryOp\Smaller($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Node\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 Node\Expr\BinaryOp\SmallerOrEqual($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Node\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 Node\Expr\BinaryOp\Greater($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Node\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 Node\Expr\BinaryOp\GreaterOrEqual($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Node\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 Node\Expr\Instanceof_($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Node\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 = $this->semStack[$this->stackPos-(1-1)]; + $this->semValue = new Node\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-(3-2)]; + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } protected function reduceRule246() { - $this->semValue = new Node\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); + $this->semValue = $this->semStack[$this->stackPos-(3-2)]; } protected function reduceRule247() { - $this->semValue = new Node\Expr\Ternary($this->semStack[$this->stackPos-(4-1)], null, $this->semStack[$this->stackPos-(4-4)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Node\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 Node\Expr\BinaryOp\Coalesce($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Node\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 Node\Expr\Isset_($this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Node\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 Node\Expr\Empty_($this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Node\Expr\Isset_($this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); } protected function reduceRule251() { - $this->semValue = new Node\Expr\Include_($this->semStack[$this->stackPos-(2-2)], Node\Expr\Include_::TYPE_INCLUDE, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Node\Expr\Empty_($this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); } protected function reduceRule252() { - $this->semValue = new Node\Expr\Include_($this->semStack[$this->stackPos-(2-2)], Node\Expr\Include_::TYPE_INCLUDE_ONCE, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Node\Expr\Include_($this->semStack[$this->stackPos-(2-2)], Node\Expr\Include_::TYPE_INCLUDE, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule253() { - $this->semValue = new Node\Expr\Eval_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Node\Expr\Include_($this->semStack[$this->stackPos-(2-2)], Node\Expr\Include_::TYPE_INCLUDE_ONCE, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule254() { - $this->semValue = new Node\Expr\Include_($this->semStack[$this->stackPos-(2-2)], Node\Expr\Include_::TYPE_REQUIRE, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Node\Expr\Eval_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule255() { - $this->semValue = new Node\Expr\Include_($this->semStack[$this->stackPos-(2-2)], Node\Expr\Include_::TYPE_REQUIRE_ONCE, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Node\Expr\Include_($this->semStack[$this->stackPos-(2-2)], Node\Expr\Include_::TYPE_REQUIRE, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule256() { - $this->semValue = new Node\Expr\Cast\Int_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Node\Expr\Include_($this->semStack[$this->stackPos-(2-2)], Node\Expr\Include_::TYPE_REQUIRE_ONCE, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule257() { - $this->semValue = new Node\Expr\Cast\Double($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Node\Expr\Cast\Int_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule258() { - $this->semValue = new Node\Expr\Cast\String_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Node\Expr\Cast\Double($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule259() { - $this->semValue = new Node\Expr\Cast\Array_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Node\Expr\Cast\String_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule260() { - $this->semValue = new Node\Expr\Cast\Object_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Node\Expr\Cast\Array_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule261() { - $this->semValue = new Node\Expr\Cast\Bool_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Node\Expr\Cast\Object_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule262() { - $this->semValue = new Node\Expr\Cast\Unset_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Node\Expr\Cast\Bool_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule263() { - $this->semValue = new Node\Expr\Exit_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Node\Expr\Cast\Unset_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule264() { - $this->semValue = new Node\Expr\ErrorSuppress($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Node\Expr\Exit_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule265() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + $this->semValue = new Node\Expr\ErrorSuppress($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule266() { @@ -2102,31 +2110,31 @@ class Parser extends ParserAbstract } protected function reduceRule268() { - $this->semValue = new Node\Expr\ShellExec($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } protected function reduceRule269() { - $this->semValue = new Node\Expr\Print_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Node\Expr\ShellExec($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule270() { - $this->semValue = new Node\Expr\Yield_(null, null, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Node\Expr\Print_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule271() { - $this->semValue = new Node\Expr\YieldFrom($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Node\Expr\Yield_(null, null, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } protected function reduceRule272() { - $this->semValue = new Node\Expr\Closure(array('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); + $this->semValue = new Node\Expr\YieldFrom($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule273() { - $this->semValue = new Node\Expr\Closure(array('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); + $this->semValue = new Node\Expr\Closure(array('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 = $this->semStack[$this->stackPos-(3-2)]; + $this->semValue = new Node\Expr\Closure(array('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() { @@ -2134,31 +2142,31 @@ class Parser extends ParserAbstract } protected function reduceRule276() { - $this->semValue = new Node\Expr\Yield_($this->semStack[$this->stackPos-(2-2)], null, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$this->stackPos-(3-2)]; } protected function reduceRule277() { - $this->semValue = new Node\Expr\Yield_($this->semStack[$this->stackPos-(4-4)], $this->semStack[$this->stackPos-(4-2)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Node\Expr\Yield_($this->semStack[$this->stackPos-(2-2)], null, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule278() { - $this->semValue = new Node\Expr\Array_($this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Node\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 Node\Expr\Array_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Node\Expr\Array_($this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); } protected function reduceRule280() { - $this->semValue = new Node\Expr\ArrayDimFetch($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Node\Expr\Array_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule281() { - $this->semValue = new Node\Expr\ArrayDimFetch(new Node\Scalar\String_(Node\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); + $this->semValue = new Node\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 Node\Expr\ArrayDimFetch($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Node\Expr\ArrayDimFetch(new Node\Scalar\String_(Node\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() { @@ -2166,50 +2174,54 @@ class Parser extends ParserAbstract } protected function reduceRule284() { - $this->semValue = array(new Node\Stmt\Class_(null, array('type' => 0, 'extends' => $this->semStack[$this->stackPos-(7-3)], 'implements' => $this->semStack[$this->stackPos-(7-4)], 'stmts' => $this->semStack[$this->stackPos-(7-6)]), $this->startAttributeStack[$this->stackPos-(7-1)] + $this->endAttributes), $this->semStack[$this->stackPos-(7-2)]); + $this->semValue = new Node\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 = new Node\Expr\New_($this->semStack[$this->stackPos-(3-2)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = array(new Node\Stmt\Class_(null, array('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() { - list($class, $ctorArgs) = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = new Node\Expr\New_($class, $ctorArgs, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Node\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() { - $this->semValue = array(); + list($class, $ctorArgs) = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = new Node\Expr\New_($class, $ctorArgs, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule288() { - $this->semValue = $this->semStack[$this->stackPos-(4-3)]; + $this->semValue = array(); } protected function reduceRule289() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); + $this->semValue = $this->semStack[$this->stackPos-(4-3)]; } protected function reduceRule290() { - $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; + $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); } protected function reduceRule291() { - $this->semValue = new Node\Expr\ClosureUse(substr($this->semStack[$this->stackPos-(2-2)], 1), $this->semStack[$this->stackPos-(2-1)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $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 Node\Expr\FuncCall($this->semStack[$this->stackPos-(2-1)], $this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Node\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 Node\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); + $this->semValue = new Node\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 Node\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); + $this->semValue = new Node\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 Node\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 Node\Expr\StaticCall($this->semStack[$this->stackPos-(2-1)]->class, new Node\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); @@ -2227,36 +2239,32 @@ class Parser extends ParserAbstract } - protected function reduceRule296() { + protected function reduceRule297() { $this->semValue = new Node\Expr\FuncCall($this->semStack[$this->stackPos-(2-1)], $this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } - protected function reduceRule297() { + protected function reduceRule298() { $this->semValue = new Node\Expr\ArrayDimFetch($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); } - protected function reduceRule298() { - $this->semValue = new Node\Name($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); - } - protected function reduceRule299() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + $this->semValue = new Node\Name($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } protected function reduceRule300() { - $this->semValue = new Node\Name($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } protected function reduceRule301() { - $this->semValue = new Node\Name\FullyQualified($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Node\Name($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } protected function reduceRule302() { - $this->semValue = new Node\Name\Relative($this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Node\Name\FullyQualified($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule303() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + $this->semValue = new Node\Name\Relative($this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule304() { @@ -2280,7 +2288,7 @@ class Parser extends ParserAbstract } protected function reduceRule309() { - $this->semValue = new Node\Expr\PropertyFetch($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } protected function reduceRule310() { @@ -2288,7 +2296,7 @@ class Parser extends ParserAbstract } protected function reduceRule311() { - $this->semValue = new Node\Expr\ArrayDimFetch($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Node\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() { @@ -2296,7 +2304,7 @@ class Parser extends ParserAbstract } protected function reduceRule313() { - $this->semValue = null; + $this->semValue = new Node\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() { @@ -2304,279 +2312,279 @@ class Parser extends ParserAbstract } protected function reduceRule315() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + $this->semValue = null; } protected function reduceRule316() { - $this->semValue = array(); + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } protected function reduceRule317() { - $this->semValue = array(Node\Scalar\String_::parseEscapeSequences($this->semStack[$this->stackPos-(1-1)], '`')); - } - - protected function reduceRule318() { - 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 reduceRule319() { $this->semValue = array(); } + protected function reduceRule318() { + $this->semValue = array(Node\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 = $this->semStack[$this->stackPos-(1-1)]; + $this->semValue = array(); } protected function reduceRule321() { - $this->semValue = new Node\Scalar\LNumber(Node\Scalar\LNumber::parse($this->semStack[$this->stackPos-(1-1)]), $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } protected function reduceRule322() { - $this->semValue = new Node\Scalar\DNumber(Node\Scalar\DNumber::parse($this->semStack[$this->stackPos-(1-1)]), $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Node\Scalar\LNumber(Node\Scalar\LNumber::parse($this->semStack[$this->stackPos-(1-1)]), $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } protected function reduceRule323() { - $this->semValue = new Node\Scalar\String_(Node\Scalar\String_::parse($this->semStack[$this->stackPos-(1-1)]), $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Node\Scalar\DNumber(Node\Scalar\DNumber::parse($this->semStack[$this->stackPos-(1-1)]), $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } protected function reduceRule324() { - $this->semValue = new Node\Scalar\MagicConst\Line($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Node\Scalar\String_(Node\Scalar\String_::parse($this->semStack[$this->stackPos-(1-1)]), $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } protected function reduceRule325() { - $this->semValue = new Node\Scalar\MagicConst\File($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Node\Scalar\MagicConst\Line($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } protected function reduceRule326() { - $this->semValue = new Node\Scalar\MagicConst\Dir($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Node\Scalar\MagicConst\File($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } protected function reduceRule327() { - $this->semValue = new Node\Scalar\MagicConst\Class_($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Node\Scalar\MagicConst\Dir($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } protected function reduceRule328() { - $this->semValue = new Node\Scalar\MagicConst\Trait_($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Node\Scalar\MagicConst\Class_($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } protected function reduceRule329() { - $this->semValue = new Node\Scalar\MagicConst\Method($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Node\Scalar\MagicConst\Trait_($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } protected function reduceRule330() { - $this->semValue = new Node\Scalar\MagicConst\Function_($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Node\Scalar\MagicConst\Method($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } protected function reduceRule331() { - $this->semValue = new Node\Scalar\MagicConst\Namespace_($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Node\Scalar\MagicConst\Function_($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } protected function reduceRule332() { - $this->semValue = new Node\Scalar\String_(Node\Scalar\String_::parseDocString($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-2)]), $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Node\Scalar\MagicConst\Namespace_($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } protected function reduceRule333() { - $this->semValue = new Node\Scalar\String_('', $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Node\Scalar\String_(Node\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 = $this->semStack[$this->stackPos-(1-1)]; + $this->semValue = new Node\Scalar\String_('', $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule335() { - $this->semValue = new Node\Expr\ClassConstFetch($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } protected function reduceRule336() { - $this->semValue = new Node\Expr\ConstFetch($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); - } - - protected function reduceRule337() { - $this->semValue = new Node\Expr\Array_($this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); - } - - protected function reduceRule338() { - $this->semValue = new Node\Expr\Array_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule339() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; - } - - protected function reduceRule340() { - $this->semValue = new Node\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 reduceRule341() { - $this->semValue = new Node\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 reduceRule342() { - $this->semValue = new Node\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 reduceRule343() { - $this->semValue = new Node\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 reduceRule344() { - $this->semValue = new Node\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 reduceRule345() { - $this->semValue = new Node\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 reduceRule346() { - $this->semValue = new Node\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 reduceRule347() { - $this->semValue = new Node\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 reduceRule348() { - $this->semValue = new Node\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 reduceRule349() { - $this->semValue = new Node\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 reduceRule350() { - $this->semValue = new Node\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 reduceRule351() { - $this->semValue = new Node\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 reduceRule352() { - $this->semValue = new Node\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 reduceRule353() { - $this->semValue = new Node\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 reduceRule354() { - $this->semValue = new Node\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 reduceRule355() { - $this->semValue = new Node\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 reduceRule356() { - $this->semValue = new Node\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 reduceRule357() { - $this->semValue = new Node\Expr\UnaryPlus($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule358() { - $this->semValue = new Node\Expr\UnaryMinus($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule359() { - $this->semValue = new Node\Expr\BooleanNot($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule360() { - $this->semValue = new Node\Expr\BitwiseNot($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); - } - - protected function reduceRule361() { - $this->semValue = new Node\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 reduceRule362() { - $this->semValue = new Node\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 reduceRule363() { - $this->semValue = new Node\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 reduceRule364() { - $this->semValue = new Node\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 reduceRule365() { - $this->semValue = new Node\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 reduceRule366() { - $this->semValue = new Node\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 reduceRule367() { - $this->semValue = new Node\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 reduceRule368() { - $this->semValue = new Node\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 reduceRule369() { - $this->semValue = new Node\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 reduceRule370() { - $this->semValue = new Node\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 reduceRule371() { - $this->semValue = new Node\Expr\ArrayDimFetch($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); - } - - protected function reduceRule372() { - $this->semValue = $this->semStack[$this->stackPos-(3-2)]; - } - - protected function reduceRule373() { - $this->semValue = new Node\Expr\ConstFetch($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); - } - - protected function reduceRule374() { $this->semValue = new Node\Expr\ClassConstFetch($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } - protected function reduceRule375() { + protected function reduceRule337() { + $this->semValue = new Node\Expr\ConstFetch($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + } + + protected function reduceRule338() { + $this->semValue = new Node\Expr\Array_($this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + } + + protected function reduceRule339() { + $this->semValue = new Node\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 Node\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 Node\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 Node\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 Node\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 Node\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 Node\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 Node\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 Node\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 Node\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 Node\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 Node\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 Node\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 Node\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 Node\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 Node\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 Node\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 Node\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 Node\Expr\UnaryPlus($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + } + + protected function reduceRule359() { + $this->semValue = new Node\Expr\UnaryMinus($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + } + + protected function reduceRule360() { + $this->semValue = new Node\Expr\BooleanNot($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + } + + protected function reduceRule361() { + $this->semValue = new Node\Expr\BitwiseNot($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + } + + protected function reduceRule362() { + $this->semValue = new Node\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 Node\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 Node\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 Node\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 Node\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 Node\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 Node\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 Node\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 Node\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 Node\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 Node\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 Node\Expr\ConstFetch($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + } + + protected function reduceRule375() { + $this->semValue = new Node\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() { - foreach ($this->semStack[$this->stackPos-(3-2)] as &$s) { if (is_string($s)) { $s = Node\Scalar\String_::parseEscapeSequences($s, '"'); } }; $this->semValue = new Node\Scalar\Encapsed($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule378() { - 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 Node\Scalar\Encapsed($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); - } - - protected function reduceRule379() { $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 Node\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 Node\Scalar\Encapsed($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + } + protected function reduceRule380() { - $this->semValue = 'class'; + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } protected function reduceRule381() { - $this->semValue = array(); + $this->semValue = 'class'; } protected function reduceRule382() { - $this->semValue = $this->semStack[$this->stackPos-(2-1)]; + $this->semValue = array(); } protected function reduceRule383() { - $this->semValue = $this->semStack[$this->stackPos]; + $this->semValue = $this->semStack[$this->stackPos-(2-1)]; } protected function reduceRule384() { @@ -2584,23 +2592,23 @@ class Parser extends ParserAbstract } protected function reduceRule385() { - $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; + $this->semValue = $this->semStack[$this->stackPos]; } protected function reduceRule386() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); + $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 = new Node\Expr\ArrayItem($this->semStack[$this->stackPos-(3-3)], $this->semStack[$this->stackPos-(3-1)], false, $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); } protected function reduceRule388() { - $this->semValue = new Node\Expr\ArrayItem($this->semStack[$this->stackPos-(1-1)], null, false, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Node\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 = $this->semStack[$this->stackPos-(1-1)]; + $this->semValue = new Node\Expr\ArrayItem($this->semStack[$this->stackPos-(1-1)], null, false, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } protected function reduceRule390() { @@ -2616,27 +2624,27 @@ class Parser extends ParserAbstract } protected function reduceRule393() { - $this->semValue = new Node\Expr\ArrayDimFetch($this->semStack[$this->stackPos-(6-2)], $this->semStack[$this->stackPos-(6-5)], $this->startAttributeStack[$this->stackPos-(6-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } protected function reduceRule394() { - $this->semValue = new Node\Expr\ArrayDimFetch($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Node\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 Node\Expr\PropertyFetch($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Node\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 Node\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); + $this->semValue = new Node\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 Node\Expr\FuncCall($this->semStack[$this->stackPos-(2-1)], $this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Node\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 Node\Expr\ArrayDimFetch($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Node\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() { @@ -2644,23 +2652,23 @@ class Parser extends ParserAbstract } protected function reduceRule400() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + $this->semValue = new Node\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-(3-2)]; + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } protected function reduceRule402() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + $this->semValue = $this->semStack[$this->stackPos-(3-2)]; } protected function reduceRule403() { - $this->semValue = new Node\Expr\Variable($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } protected function reduceRule404() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + $this->semValue = new Node\Expr\Variable($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule405() { @@ -2668,23 +2676,23 @@ class Parser extends ParserAbstract } protected function reduceRule406() { - $this->semValue = new Node\Expr\StaticPropertyFetch($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-4)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); - } - - protected function reduceRule407() { $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } + protected function reduceRule407() { + $this->semValue = new Node\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 = new Node\Expr\StaticPropertyFetch($this->semStack[$this->stackPos-(3-1)], substr($this->semStack[$this->stackPos-(3-3)], 1), $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } protected function reduceRule409() { - $this->semValue = new Node\Expr\StaticPropertyFetch($this->semStack[$this->stackPos-(6-1)], $this->semStack[$this->stackPos-(6-5)], $this->startAttributeStack[$this->stackPos-(6-1)] + $this->endAttributes); + $this->semValue = new Node\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 Node\Expr\ArrayDimFetch($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Node\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() { @@ -2700,19 +2708,19 @@ class Parser extends ParserAbstract } protected function reduceRule414() { - $this->semValue = new Node\Expr\Variable(substr($this->semStack[$this->stackPos-(1-1)], 1), $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Node\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 Node\Expr\Variable($this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Node\Expr\Variable(substr($this->semStack[$this->stackPos-(1-1)], 1), $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } protected function reduceRule416() { - $this->semValue = null; + $this->semValue = new Node\Expr\Variable($this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); } protected function reduceRule417() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + $this->semValue = null; } protected function reduceRule418() { @@ -2720,27 +2728,27 @@ class Parser extends ParserAbstract } protected function reduceRule419() { - $this->semValue = $this->semStack[$this->stackPos-(3-2)]; + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } protected function reduceRule420() { - $this->semValue = $this->semStack[$this->stackPos-(1-1)]; + $this->semValue = $this->semStack[$this->stackPos-(3-2)]; } protected function reduceRule421() { - $this->semValue = new Node\Expr\List_($this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } protected function reduceRule422() { - $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; + $this->semValue = new Node\Expr\List_($this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); } protected function reduceRule423() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); + $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 = $this->semStack[$this->stackPos-(1-1)]; + $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); } protected function reduceRule425() { @@ -2748,43 +2756,43 @@ class Parser extends ParserAbstract } protected function reduceRule426() { - $this->semValue = null; + $this->semValue = $this->semStack[$this->stackPos-(1-1)]; } protected function reduceRule427() { - $this->semValue = array(); + $this->semValue = null; } protected function reduceRule428() { - $this->semValue = $this->semStack[$this->stackPos-(2-1)]; + $this->semValue = array(); } protected function reduceRule429() { - $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)]; + $this->semValue = $this->semStack[$this->stackPos-(2-1)]; } protected function reduceRule430() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); + $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 = new Node\Expr\ArrayItem($this->semStack[$this->stackPos-(3-3)], $this->semStack[$this->stackPos-(3-1)], false, $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); } protected function reduceRule432() { - $this->semValue = new Node\Expr\ArrayItem($this->semStack[$this->stackPos-(1-1)], null, false, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Node\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 Node\Expr\ArrayItem($this->semStack[$this->stackPos-(4-4)], $this->semStack[$this->stackPos-(4-1)], true, $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Node\Expr\ArrayItem($this->semStack[$this->stackPos-(1-1)], null, false, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } protected function reduceRule434() { - $this->semValue = new Node\Expr\ArrayItem($this->semStack[$this->stackPos-(2-2)], null, true, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Node\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->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)]; + $this->semValue = new Node\Expr\ArrayItem($this->semStack[$this->stackPos-(2-2)], null, true, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); } protected function reduceRule436() { @@ -2792,27 +2800,27 @@ class Parser extends ParserAbstract } protected function reduceRule437() { - $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); + $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-(2-1)], $this->semStack[$this->stackPos-(2-2)]); + $this->semValue = array($this->semStack[$this->stackPos-(1-1)]); } protected function reduceRule439() { - $this->semValue = new Node\Expr\Variable(substr($this->semStack[$this->stackPos-(1-1)], 1), $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + $this->semValue = array($this->semStack[$this->stackPos-(2-1)], $this->semStack[$this->stackPos-(2-2)]); } protected function reduceRule440() { - $this->semValue = new Node\Expr\ArrayDimFetch(new Node\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); + $this->semValue = new Node\Expr\Variable(substr($this->semStack[$this->stackPos-(1-1)], 1), $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } protected function reduceRule441() { - $this->semValue = new Node\Expr\PropertyFetch(new Node\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); + $this->semValue = new Node\Expr\ArrayDimFetch(new Node\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 Node\Expr\Variable($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Node\Expr\PropertyFetch(new Node\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() { @@ -2820,15 +2828,15 @@ class Parser extends ParserAbstract } protected function reduceRule444() { - $this->semValue = new Node\Expr\ArrayDimFetch(new Node\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); + $this->semValue = new Node\Expr\Variable($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); } protected function reduceRule445() { - $this->semValue = $this->semStack[$this->stackPos-(3-2)]; + $this->semValue = new Node\Expr\ArrayDimFetch(new Node\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 = new Node\Scalar\String_($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$this->stackPos-(3-2)]; } protected function reduceRule447() { @@ -2836,6 +2844,10 @@ class Parser extends ParserAbstract } protected function reduceRule448() { + $this->semValue = new Node\Scalar\String_($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); + } + + protected function reduceRule449() { $this->semValue = new Node\Expr\Variable(substr($this->semStack[$this->stackPos-(1-1)], 1), $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); } } diff --git a/lib/PhpParser/ParserAbstract.php b/lib/PhpParser/ParserAbstract.php index 7cf057e..7241e1c 100644 --- a/lib/PhpParser/ParserAbstract.php +++ b/lib/PhpParser/ParserAbstract.php @@ -96,7 +96,7 @@ abstract class ParserAbstract * Creates a parser instance. * * @param Lexer $lexer A lexer - * @param array $options Options array. The boolean 'throwOnError' option determined whether an exception should be + * @param array $options Options array. The boolean 'throwOnError' option determines whether an exception should be * thrown on first error, or if the parser should try to continue parsing the remaining code * and build a partial AST. */ @@ -109,7 +109,7 @@ abstract class ParserAbstract /** * Get array of errors that occurred during the last parse. * - * This method may only return multiple errors if the throwOnError option is disabled. + * This method may only return multiple errors if the 'throwOnError' option is disabled. * * @return Error[] */ @@ -122,7 +122,8 @@ abstract class ParserAbstract * * @param string $code The source code to parse * - * @return Node[] Array of statements + * @return Node[]|null Array of statements (or null if the 'throwOnError' option is disabled and the parser was + * unable to recover from an error). */ public function parse($code) { $this->lexer->startLexing($code); @@ -244,7 +245,13 @@ abstract class ParserAbstract $e->setStartLine($startAttributes['startLine']); } - throw $e; + $this->errors[] = $e; + if ($this->throwOnError) { + throw $e; + } else { + // Currently can't recover from "special" errors + return null; + } } /* Goto - shift nonterminal */ @@ -284,7 +291,8 @@ abstract class ParserAbstract && $idx < $this->actionTableSize && $this->actionCheck[$idx] == $this->errorSymbol) ) || ($action = $this->action[$idx]) == $this->defaultAction) { // Not totally sure about this if ($this->stackPos <= 0) { - throw new Error('Could not recover from error'); + // Could not recover from error + return null; } $state = $stateStack[--$this->stackPos]; //$this->tracePop($state); @@ -296,8 +304,8 @@ abstract class ParserAbstract case 3: if ($symbol === 0) { - // Reached EOF - throw new Error('Could not recover from error'); + // Reached EOF without recovering from error + return null; } //$this->traceDiscard($symbol); @@ -314,6 +322,8 @@ abstract class ParserAbstract $rule = $state - $this->YYNLSTATES; } } + + throw new \RuntimeException('Reached end of parser loop'); } protected function getErrorMessage($symbol, $state) { diff --git a/test/PhpParser/ParserTest.php b/test/PhpParser/ParserTest.php index f6b00a1..05c54cb 100644 --- a/test/PhpParser/ParserTest.php +++ b/test/PhpParser/ParserTest.php @@ -30,24 +30,36 @@ class ParserTest extends CodeTestAbstract /** * @dataProvider provideTestParseFail */ - public function testParseFail($name, $code, $expectedMsg) { + public function testParseFail($name, $code, $expected) { $lexer = new Lexer\Emulative(array('usedAttributes' => array( 'startLine', 'endLine', 'startFilePos', 'endFilePos' ))); - $parser = new Parser($lexer); + $parser = new Parser($lexer, array( + 'throwOnError' => false, + )); - try { - $parser->parse($code); + $stmts = $parser->parse($code); + $errors = $parser->getErrors(); - $this->fail(sprintf('"%s": Expected Error', $name)); - } catch (Error $e) { - if ($e->hasColumnInfo()) { - $msg = $e->getRawMessage() . ' from ' . $e->getStartLine() . ':' . $e->getStartColumn($code) - . ' to ' . $e->getEndLine() . ':' . $e->getEndColumn($code); - } else { - $msg = $e->getMessage(); - } - $this->assertSame($expectedMsg, $msg, $name); + $output = ''; + foreach ($errors as $error) { + $output .= $this->formatErrorMessage($error, $code) . "\n"; + } + + if (null !== $stmts) { + $dumper = new NodeDumper; + $output .= $dumper->dump($stmts); + } + + $this->assertSame($this->canonicalize($expected), $this->canonicalize($output), $name); + } + + private function formatErrorMessage(Error $e, $code) { + if ($e->hasColumnInfo()) { + return $e->getRawMessage() . ' from ' . $e->getStartLine() . ':' . $e->getStartColumn($code) + . ' to ' . $e->getEndLine() . ':' . $e->getEndColumn($code); + } else { + return $e->getMessage(); } } diff --git a/test/code/parser/error_pos.test-fail b/test/code/parser/error_pos.test-fail index 9e2bfb5..8914f56 100644 --- a/test/code/parser/error_pos.test-fail +++ b/test/code/parser/error_pos.test-fail @@ -3,7 +3,11 @@ Error positions