From 3b7829b011d13cb319b8df41af40c9fc7c75273e Mon Sep 17 00:00:00 2001 From: nikic Date: Wed, 26 Mar 2014 22:33:45 +0100 Subject: [PATCH] Add support for function and constant import (PHP 5.6) --- grammar/zend_language_parser.phpy | 4 +- lib/PhpParser/Node/Stmt/Use.php | 9 +- lib/PhpParser/Parser.php | 2855 ++++++++++---------- lib/PhpParser/PrettyPrinter/Standard.php | 5 +- test/code/parser/stmt/namespace/alias.test | 67 + test/code/prettyPrinter/alias.test | 20 + 6 files changed, 1535 insertions(+), 1425 deletions(-) create mode 100644 test/code/prettyPrinter/alias.test diff --git a/grammar/zend_language_parser.phpy b/grammar/zend_language_parser.phpy index 7e4897ff..d797fd8e 100644 --- a/grammar/zend_language_parser.phpy +++ b/grammar/zend_language_parser.phpy @@ -138,7 +138,9 @@ top_statement: | T_NAMESPACE namespace_name ';' { $$ = Stmt\Namespace_[$2, null]; } | T_NAMESPACE namespace_name '{' top_statement_list '}' { $$ = Stmt\Namespace_[$2, $4]; } | T_NAMESPACE '{' top_statement_list '}' { $$ = Stmt\Namespace_[null, $3]; } - | T_USE use_declarations ';' { $$ = Stmt\Use_[$2]; } + | T_USE use_declarations ';' { $$ = Stmt\Use_[$2, Stmt\Use_::TYPE_NORMAL]; } + | T_USE T_FUNCTION use_declarations ';' { $$ = Stmt\Use_[$3, Stmt\Use_::TYPE_FUNCTION]; } + | T_USE T_CONST use_declarations ';' { $$ = Stmt\Use_[$3, Stmt\Use_::TYPE_CONSTANT]; } | T_CONST constant_declaration_list ';' { $$ = Stmt\Const_[$2]; } ; diff --git a/lib/PhpParser/Node/Stmt/Use.php b/lib/PhpParser/Node/Stmt/Use.php index e56a0e80..4ba4f598 100644 --- a/lib/PhpParser/Node/Stmt/Use.php +++ b/lib/PhpParser/Node/Stmt/Use.php @@ -5,19 +5,26 @@ namespace PhpParser\Node\Stmt; use PhpParser\Node\Stmt; /** + * @property int $type Type of alias * @property UseUse[] $uses Aliases */ class Use_ extends Stmt { + const TYPE_NORMAL = 1; + const TYPE_FUNCTION = 2; + const TYPE_CONSTANT = 3; + /** * Constructs an alias (use) list node. * * @param UseUse[] $uses Aliases + * @param int $type Type of alias * @param array $attributes Additional attributes */ - public function __construct(array $uses, array $attributes = array()) { + public function __construct(array $uses, $type = self::TYPE_NORMAL, array $attributes = array()) { parent::__construct( array( + 'type' => $type, 'uses' => $uses, ), $attributes diff --git a/lib/PhpParser/Parser.php b/lib/PhpParser/Parser.php index 4ac49c3a..3d42821c 100644 --- a/lib/PhpParser/Parser.php +++ b/lib/PhpParser/Parser.php @@ -18,10 +18,10 @@ class Parser const TOKEN_MAP_SIZE = 389; - const YYLAST = 1061; - const YY2TBLSTATE = 380; - const YYGLAST = 555; - const YYNLSTATES = 615; + const YYLAST = 1058; + const YY2TBLSTATE = 384; + const YYGLAST = 574; + const YYNLSTATES = 619; const YYUNEXPECTED = 32767; const YYDEFAULT = -32766; @@ -364,113 +364,112 @@ class Parser ); protected static $yyaction = array( - 59, 60, 390, 61, 62,-32766,-32766,-32766,-32766, 63, + 59, 60, 394, 61, 62,-32766,-32766,-32766,-32766, 63, 64, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236,-32767,-32767,-32767,-32767, 98, 99, 100, 101, 102, - 57, 65, 66, 286, 237, 742, 743, 67, 270, 68, + 57, 65, 66, 286, 237, 339, 340, 67, 270, 68, 279, 280, 69, 70, 71, 72, 73, 74, 75, 76, - 717, 32, 291, 77, 382, 391, 389, -120, 387, 926, - 927, 427, -116, 1017, 319, 663, 407, 428, 46, 27, - 392, 133, 429, 781, 430, 528, 431, 0, 569, 393, - -32766,-32766,-32766, 36, 37, 432, 398, 394, 38, 433, - 404, 308, 78, 590, 415, 340, 341, 194, 434, 435, - 234, 235, 236, 436, 437, 438, 686, 645, 689, 439, - 440, 31, 878, 124, 441, 442, 237, 932, 933, 934, - 935, 929, 930, 298, 82, 83, 84, 441, 454, 936, - 931, 395, 283, 669, 588, 339, 47, 412, 322, 306, - 297, 310, 40, 359, 85, 86, 87, 88, 89, 90, + 723, 32, 291, 77, 386, 395, 272, 31, 391, 932, + 933, 431, -118, 1023, 320, 669, 411, 432, 46, 27, + 396, 133, 433, 787, 434, 532, 435, 0, 573, 397, + 390, 131, 1045, 36, 37, 436, 402, 398, 38, 437, + 408, 309, 78, 594, 419, 342, 343, 194, 438, 439, + 234, 235, 236, 440, 441, 442, 692, 651, 695, 443, + 444, 393, 884, 124, 445, 446, 237, 938, 939, 940, + 941, 935, 936, 298, 82, 83, 84, 445, 458, 942, + 937, 399, 283, 675, 592, 414, 47, 416, 323, 307, + 987, 311, 40, 361, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, - 101, 102, 103, 104, 105, 131, 292,-32766, 718,-32766, - -32766,-32766, 619, 619, 213, 214, 215,-32766, 106, 324, - -32766,-32766,-32766, 983,-32766, 408,-32766,-32766,-32766,-32766, - -32766,-32766, 204, 239, 216,-32766,-32766,-32766, 892, 285, - -32766,-32766, 283, 329,-32766, 39, 282,-32766, 453, 1049, - 129, 1051, 1050, 53, 878,-32766, 754,-32766,-32766,-32766, + 101, 102, 103, 104, 105, 1052, 292,-32766, 724,-32766, + -32766,-32766, 623, 623, 213, 214, 215,-32766, 106, 413, + -32766,-32766,-32766, 989,-32766, 412,-32766,-32766,-32766,-32766, + -32766,-32766, 204, 239, 216,-32766,-32766,-32766, 1030, 751, + -32766,-32766, 283, 330,-32766, 39, 282,-32766, 457, 988, + 129, 748, 749, 53, 884,-32766, 1017,-32766,-32766,-32766, 41, 107, 108, 109, 110, 111, 112, 113, 114, 115, - 116, 117, 118, 272, 273,-32766, 22,-32766, 414, 454, - 409, 425, 395, 619, 128,-32766,-32766,-32766, 347, 1046, - -32766,-32766,-32766, 745,-32766, 125,-32766, 387,-32766, 819, - 821,-32766, 35, 319, 501,-32766,-32766,-32766, 410,-32766, - -32766,-32766, 781, 629,-32766, 619, 215,-32766, 453,-32766, - 54, 878,-32766,-32766,-32766,-32766,-32766, 1017,-32766, 387, - -32766, 274, 204,-32766, 216, 319, 120,-32766,-32766,-32766, - 311, 281,-32766,-32766, 781, 688,-32766,-32766, 56,-32766, - 453, 129, 394, 878, 128,-32766,-32766,-32766, 394, 744, - -32766,-32766,-32766, 434, 435, 213, 214, 215, 127, 434, - 435, -388, 645, 689, 439, 440,-32766, 687, 645, 689, - 439, 440, 619, 204, 196, 216,-32766,-32766,-32766,-32766, - -32766,-32766, 541,-32766, 119,-32766, 200,-32766, 938, 197, - -32766, 678, 322, 121,-32766,-32766,-32766, 646,-32766,-32766, - -32766, 214, 215,-32766, 619, 1024,-32766, 453,-32766, 763, - 878,-32766,-32766,-32766,-32766,-32766, 660,-32766, 204,-32766, - 216, 122,-32766,-32766,-32766,-32766,-32766,-32766,-32766, 199, - 284,-32766,-32766, 1011, 1039,-32766, 661, 192,-32766, 453, - 938,-32766, 878,-32766,-32766,-32766,-32766,-32766,-32766,-32766, - -32766,-32766,-32766,-32766,-32766,-32767,-32767,-32767,-32767, 789, - 790, 791, 788, 787, 786,-32766, 231, 232, 233, 1021, - 195, 619, 213, 214, 215,-32766,-32766,-32766,-32766,-32766, - -32766, 1039,-32766, 982,-32766, 878,-32766,-32766,-32766,-32766, - 204, 216, 216,-32766,-32766,-32766, 977,-32766,-32766,-32766, - -32766, 518,-32766, 619, 367,-32766, 453,-32766, 330, 980, - -32766,-32766,-32766,-32766,-32766, 603,-32766, 878,-32766, 682, - 578,-32766, 100, 101, 102,-32766,-32766,-32766, 292, 983, - -32766,-32766, 587, 204,-32766, 216, 593,-32766, 453, 981, - -32766, 619, 130,-32766,-32766,-32766, 619, 103, 104, 105, - -32766, 292, 610,-32766,-32766,-32766, 237,-32766, 238,-32766, - 878,-32766, 132, 106,-32766,-32766,-32766, 673,-32766,-32766, - -32766, 600,-32766,-32766,-32766,-32766,-32766,-32766, 619, 612, - -32766, 453,-32766, 422, 547,-32766,-32766,-32766,-32766,-32766, - 604,-32766, 878,-32766, 768, 591,-32766, 417, 28, 106, - -32766,-32766,-32766, 291, 773,-32766,-32766, 134, 348,-32766, - 560, 561,-32766, 453, 58,-32766, 742, 743, 653,-32766, - -32766, 619, 626, 595, 52,-32766, 767, 609,-32766,-32766, - -32766, 586,-32766, 55,-32766, 50,-32766, 778, 614,-32766, - 51, 49, 474,-32766,-32766,-32766, 565,-32766,-32766,-32766, - -32766,-32766,-32766, 619, 405,-32766, 453,-32766, 403, 491, - -32766,-32766,-32766,-32766,-32766, 475,-32766, 479,-32766, 575, - 775,-32766, 636, 620, 1044,-32766,-32766,-32766, 634, 492, - -32766,-32766, 478, 562,-32766, 895, 577,-32766, 453, 570, - -32766, -165, 494, 655,-32766,-32766, 619, 1039, 328, 327, - -32766, 533, 288,-32766,-32766,-32766, 406,-32766, -162,-32766, - 320,-32766, 269, 402,-32766, 521, 318, 690,-32766,-32766, - -32766, 550, 552,-32766,-32766, 657,-32766,-32766, 208, 209, - -32766, 453, 394, 424, 210, 323, 211, 606,-32766, 937, - 658, 876, 0, 434, 435, 691, 0, 0, 0, 317, - 0, 0, 645, 689, 439, 440, 926, 927, 619, 441, - -388,-32766, -389, 309, 928, 307, 0, 619,-32766,-32766, - 198,-32766, 919, 42,-32766,-32766,-32766, 123,-32766, -288, - -32766, 879,-32766, 301, 1012,-32766,-32766,-32766,-32766,-32766, - -32766,-32766, -296, 902,-32766,-32766, 313, 349,-32766, -297, - 583,-32766, 453, 362,-32766, 404,-32766,-32766,-32766,-32766, - 484, 386, 607, 684, 932, 933, 934, 935, 929, 930, - 373, 764, 656, 394, 630, 454, 936, 931, 395,-32766, - -32766,-32766, 771, 212, 434, 435, 772, 774, 701,-32766, - -32766, 703, 705, 645, 689, 439, 440,-32766, 648,-32766, - -32766,-32766,-32766,-32766,-32767,-32767,-32767,-32767, 394, 383, - 712, 711, 720, 665, 650, 338, 672, 659, 597, 434, - 435, 596, 685, 654, 662, 394, 383, 664, 625, 689, - 439, 440, 338, 45, 44, 671, 434, 435, 608, 611, - 613, 599, 394, 383, 594, 625, 689, 439, 440, 338, - 321, 589, 81, 434, 435, 126, 43, 627,-32766,-32766, - -32766, 601, 625, 689, 439, 440, 1022, 321, 756, 917, - 1014, 1002, 1016, 1018, 628, 394,-32766, 1045,-32766,-32766, - -32766,-32766,-32766, 421, 321, 709, 434, 435, 394, 1048, - 710, 563, 394, 1047, 857, 645, 689, 439, 440, 434, - 435, 48, 33, 434, 435, 394, 385, 530, 645, 689, - 439, 440, 645, 689, 439, 440, 434, 435, 381, 996, - 30, 325, 394, 585, 598, 645, 689, 439, 440, 576, - 296, 295, 34, 434, 435,-32766, 394, 779, 522, 294, - 394, 676, 645, 689, 439, 440, 293, 434, 435, 278, - 277, 434, 435, 619, 880, 1017, 645, 689, 439, 440, - 645, 689, 439, 440,-32766,-32766,-32766,-32766,-32766,-32766, - -32766,-32767,-32767,-32767,-32767, 271, 193, 80, 79, 394, - -117, 881,-32766, 858,-32766,-32766,-32766,-32766, 902, 941, - 434, 435, 746, 885, 882, 582, 551, 513, 423, 645, - 689, 439, 440, 418, 368, 350, 25, 24, 23, -116, - 0, 0, 0, 942, 1043, 916, 1013, 997, 1001, 1015, - 454, 901, 889, 395, 887, 888, 886, 0, 399, 0, - 322 + 116, 117, 118, -122, 281,-32766, 22,-32766, 1055, 458, + 1057, 1056, 399, 623, 128,-32766,-32766,-32766, 349, 125, + -32766,-32766,-32766, 898,-32766, 989,-32766, 391,-32766, 825, + 827,-32766, 429, 320, 505,-32766,-32766,-32766, 297,-32766, + -32766,-32766, 787, 667,-32766, 623, 215,-32766, 457,-32766, + 56, 884,-32766,-32766,-32766,-32766,-32766, 1023,-32766, 391, + -32766, 331, 204,-32766, 216, 320, 120,-32766,-32766,-32766, + 591, 273,-32766,-32766, 787, 693,-32766, 418, 54,-32766, + 457, 325, 398, 884, 128,-32766,-32766,-32766, 398, 750, + -32766,-32766,-32766, 438, 439, 213, 214, 215, 760, 438, + 439, -390, 651, 695, 443, 444,-32766, 694, 651, 695, + 443, 444, 623, 204, 582, 216,-32766,-32766,-32766,-32766, + -32766,-32766, 1045,-32766, 341,-32766, 884,-32766, 192, 35, + -32766, 684, 323, 122,-32766,-32766,-32766, 682,-32766,-32766, + -32766, 127, 779,-32766, 623, 371,-32766, 457,-32766,-32766, + 129,-32766,-32766,-32766,-32766,-32766, 666,-32766, 623,-32766, + 1023, 121,-32766, 214, 215, 119,-32766,-32766,-32766, 884, + 769,-32766,-32766, 274, 1027,-32766,-32766,-32766,-32766, 457, + 204,-32766, 216, 195,-32766,-32766,-32766, 623, 774, 284, + 285,-32766, 522, 908,-32766,-32766,-32766, 986,-32766, 196, + -32766, 884,-32766,-32766,-32766,-32766,-32766,-32766,-32766,-32766, + -32766,-32766, 426, 551,-32766,-32766,-32766,-32766,-32766, 607, + 312,-32766, 457, 197,-32766, 458, 421, 28, 399,-32766, + 623, 134, 350, 403,-32766, 323, 983,-32766,-32766,-32766, + 545,-32766, 199,-32766, 884,-32766, 200, 130,-32766, 100, + 101, 102,-32766,-32766,-32766, 597,-32766,-32766,-32766,-32766, + -32766,-32766, 623, 604,-32766, 457,-32766, 564, 565,-32766, + -32766,-32766,-32766,-32766, 238,-32766, 884,-32766, 944, 608, + -32766, 231, 232, 233,-32766,-32766,-32766, 748, 749,-32766, + -32766, 216, 204,-32766, 216, 132,-32766, 457, 944,-32766, + 784, 618,-32766,-32766,-32766, 623, 213, 214, 215,-32766, + 616, 595,-32766,-32766,-32766, 614,-32766, 679,-32766, 884, + -32766, 630, 599,-32766, 204,-32766, 216,-32766,-32766,-32766, + 292,-32766,-32766,-32766, 659,-32766,-32766, 623, 688,-32766, + 457,-32766, 773, 613,-32766,-32766,-32766,-32766,-32766, 106, + -32766, 237,-32766, -167, 58,-32766, 55, 52, 51,-32766, + -32766,-32766, 50, 49,-32766,-32766, 291, 569,-32766, 525, + 1045,-32766, 457, 537,-32766, -164, 623,-32766,-32766,-32766, + 623,-32766,-32766,-32766,-32766, 579, 409,-32766,-32766,-32766, + 590,-32766, 495,-32766, 483,-32766, 479, 478,-32766,-32766, + 496,-32766,-32766,-32766,-32766, 642,-32766,-32766,-32766, 663, + -32766,-32766, 623, 1050,-32766, 457,-32766, 624, 781,-32766, + -32766,-32766,-32766,-32766, 640,-32766, 407,-32766, 329, 566, + -32766, 574, 901, 581,-32766,-32766,-32766, 482, 328,-32766, + -32766, 410, 288,-32766, 428, 498,-32766, 457, 556, 696, + 208, 209, 661,-32766,-32766, 269, 210, 697, 211,-32766, + -32766,-32766,-32766,-32766,-32766,-32766,-32766,-32767,-32767,-32767, + -32767, 795, 796, 797, 794, 793, 792, 554, 932, 933, + 623, 406, 321,-32766,-32766,-32766, 934, 319, 925, 623, + 103, 104, 105,-32766, 292, -390,-32766,-32766,-32766, 318, + -32766, 324,-32766, 198,-32766, 310, 106,-32766,-32766,-32766, + -32766,-32766,-32766,-32766, 308, 908,-32766,-32766, -391, 445, + -32766, 42, 123,-32766, 457, 943,-32766, 301,-32766,-32766, + -32766,-32766, 770, 716, -298, 488, 938, 939, 940, 941, + 935, 936, 377, -290, 587, 398, 408, 458, 942, 937, + 399,-32766,-32766,-32766, 364, 212, 438, 439, 351, 314, + -299,-32766,-32766, 633, 715, 651, 695, 443, 444,-32766, + 390,-32766,-32766,-32766,-32766,-32766,-32767,-32767,-32767,-32767, + 398, 387, 690, 126, 668, 780, 707, 306, 709, 425, + 711, 438, 439, 654, 602, 718, 717, 398, 387, 726, + 629, 695, 443, 444, 306, 671, 656, 678, 438, 439, + 665, 601, 600, 45, 398, 387, 44, 629, 695, 443, + 444, 306, 322, 778, 636, 438, 439, 81, 635, 632, + -32766,-32766,-32766, 634, 629, 695, 443, 444, 677, 322, + 664, 662, 660, 670, 567, 882, 631, 398,-32766, 777, + -32766,-32766,-32766,-32766,-32766, 593, 322, 598, 438, 439, + 398, 603, 389, 605, 398, 610, 611, 651, 695, 443, + 444, 438, 439, 617, 612, 438, 439, 398, 615, 385, + 651, 695, 443, 444, 651, 695, 443, 444, 438, 439, + 33, 1051, 534, 1024, 398, 1022, 885, 651, 695, 443, + 444, 1008, 1018, 1028, 762, 438, 439, 398, 1053, 691, + 923, 589, 1020, 652, 651, 695, 443, 444, 438, 439, + 1054, 864, 34, 43, 398, 48, 785, 651, 695, 443, + 444, 580, 326, 296, 79, 438, 439,-32766,-32766,-32766, + -32766, 295, 398, 886, 651, 695, 443, 444, 294, 293, + 278, 277, 271, 438, 439,-32766, 193,-32766,-32766,-32766, + -32766, 80, 651, 695, 443, 444,-32766,-32766,-32766,-32766, + -32767,-32767,-32767,-32767, 398, 30, 1002, 526, 863, 887, + -119, 947, 752, 891, 888, 438, 439, 586, 555, 517, + 427, 422, 372, 0, 651, 695, 443, 444, 352, 25, + 24, 23, -118, 0, 0, 0, 948, 1049, 922, 1019, + 1003, 1007, 1021, 907, 895, 893, 894, 892 ); protected static $yycheck = array( @@ -478,177 +477,176 @@ class Parser 12, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 37, 38, 39, 40, 41, 42, 43, 44, 45, - 63, 43, 44, 32, 62, 127, 128, 49, 125, 51, + 63, 43, 44, 32, 62, 98, 99, 49, 125, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, - 27, 63, 64, 65, 66, 67, 7, 149, 99, 71, + 27, 63, 64, 65, 66, 67, 7, 7, 99, 71, 72, 73, 149, 75, 105, 77, 27, 79, 80, 81, 82, 146, 84, 114, 86, 150, 88, 0, 89, 91, - 8, 9, 10, 95, 96, 97, 98, 98, 100, 101, + 143, 63, 78, 95, 96, 97, 98, 98, 100, 101, 143, 124, 104, 146, 7, 107, 108, 7, 109, 110, 46, 47, 48, 115, 116, 117, 147, 118, 119, 120, 121, 7, 12, 146, 126, 127, 62, 129, 130, 131, 132, 133, 134, 135, 8, 9, 10, 126, 140, 141, 142, 143, 32, 145, 146, 7, 148, 73, 150, 151, - 7, 153, 26, 75, 28, 29, 30, 31, 32, 33, + 136, 153, 26, 75, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, - 44, 45, 46, 47, 48, 63, 50, 67, 145, 8, + 44, 45, 46, 47, 48, 147, 50, 67, 145, 8, 9, 10, 73, 73, 8, 9, 10, 77, 62, 7, 80, 81, 82, 119, 84, 146, 86, 26, 88, 28, - 29, 91, 26, 27, 28, 95, 96, 97, 149, 7, + 29, 91, 26, 27, 28, 95, 96, 97, 149, 149, 100, 101, 32, 63, 104, 137, 138, 107, 108, 73, - 146, 75, 76, 63, 12, 115, 75, 8, 9, 10, + 146, 127, 128, 63, 12, 115, 75, 8, 9, 10, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, - 23, 24, 25, 7, 32, 26, 149, 67, 73, 140, - 7, 7, 143, 73, 144, 145, 146, 77, 7, 147, - 80, 81, 82, 149, 84, 7, 86, 99, 88, 52, + 23, 24, 25, 149, 32, 26, 149, 67, 73, 140, + 75, 76, 143, 73, 144, 145, 146, 77, 7, 7, + 80, 81, 82, 149, 84, 119, 86, 99, 88, 52, 53, 91, 7, 105, 124, 95, 96, 97, 7, 67, 100, 101, 114, 145, 104, 73, 10, 107, 108, 77, 63, 12, 80, 81, 82, 115, 84, 75, 86, 99, 88, 150, 26, 91, 28, 105, 146, 95, 96, 97, - 78, 32, 100, 101, 114, 147, 104, 8, 63, 107, - 108, 146, 98, 12, 144, 145, 146, 115, 98, 149, - 29, 30, 31, 109, 110, 8, 9, 10, 27, 109, + 73, 32, 100, 101, 114, 147, 104, 73, 63, 107, + 108, 7, 98, 12, 144, 145, 146, 115, 98, 149, + 8, 9, 10, 109, 110, 8, 9, 10, 75, 109, 110, 124, 118, 119, 120, 121, 67, 147, 118, 119, - 120, 121, 73, 26, 13, 28, 77, 145, 146, 80, - 81, 82, 78, 84, 13, 86, 13, 88, 136, 13, + 120, 121, 73, 26, 73, 28, 77, 145, 146, 80, + 81, 82, 78, 84, 7, 86, 12, 88, 63, 7, 91, 147, 150, 146, 95, 96, 97, 147, 67, 100, - 101, 9, 10, 104, 73, 149, 107, 108, 77, 145, - 12, 80, 81, 82, 115, 84, 145, 86, 26, 88, - 28, 146, 91, 8, 9, 10, 95, 96, 97, 13, - 32, 100, 101, 75, 78, 104, 145, 63, 107, 108, - 136, 26, 12, 28, 145, 146, 115, 29, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 108, - 109, 110, 111, 112, 113, 67, 43, 44, 45, 73, - 13, 73, 8, 9, 10, 77, 145, 146, 80, 81, - 82, 78, 84, 73, 86, 12, 88, 29, 30, 91, - 26, 28, 28, 95, 96, 97, 149, 67, 100, 101, - 29, 127, 104, 73, 74, 107, 108, 77, 150, 153, - 80, 81, 82, 115, 84, 27, 86, 12, 88, 32, - 73, 91, 43, 44, 45, 95, 96, 97, 50, 119, - 100, 101, 73, 26, 104, 28, 27, 107, 108, 136, - 67, 73, 146, 145, 146, 115, 73, 46, 47, 48, - 77, 50, 27, 80, 81, 82, 62, 84, 27, 86, - 12, 88, 27, 62, 91, 8, 9, 27, 95, 96, - 97, 27, 67, 100, 101, 145, 146, 104, 73, 27, - 107, 108, 77, 68, 69, 80, 81, 82, 115, 84, - 27, 86, 12, 88, 147, 27, 91, 68, 69, 62, - 95, 96, 97, 64, 145, 100, 101, 93, 94, 104, - 102, 103, 107, 108, 63, 67, 127, 128, 145, 146, - 115, 73, 145, 146, 63, 77, 145, 146, 80, 81, - 82, 73, 84, 63, 86, 63, 88, 145, 146, 91, - 63, 63, 73, 95, 96, 97, 70, 67, 100, 101, - 145, 146, 104, 73, 73, 107, 108, 77, 73, 73, - 80, 81, 82, 115, 84, 73, 86, 73, 88, 73, - 73, 91, 73, 73, 73, 95, 96, 97, 73, 73, - 100, 101, 75, 75, 104, 75, 75, 107, 108, 75, - 67, 75, 90, 145, 146, 115, 73, 78, 78, 78, - 77, 92, 90, 80, 81, 82, 82, 84, 90, 86, - 106, 88, 90, 98, 91, 90, 123, 119, 95, 96, - 97, 92, 105, 100, 101, 145, 146, 104, 43, 44, - 107, 108, 98, 98, 49, 122, 51, 146, 115, 136, - 145, 151, -1, 109, 110, 119, -1, -1, -1, 122, - -1, -1, 118, 119, 120, 121, 71, 72, 73, 126, - 124, 67, 124, 124, 79, 124, -1, 73, 145, 146, - 125, 77, 149, 125, 80, 81, 82, 125, 84, 139, - 86, 147, 88, 139, 147, 91, 8, 9, 10, 95, - 96, 97, 139, 108, 100, 101, 139, 139, 104, 139, - 139, 107, 108, 139, 26, 143, 28, 29, 30, 115, - 143, 143, 146, 144, 129, 130, 131, 132, 133, 134, - 135, 145, 145, 98, 145, 140, 141, 142, 143, 8, - 9, 10, 145, 148, 109, 110, 145, 145, 145, 145, - 146, 145, 145, 118, 119, 120, 121, 26, 145, 28, - 29, 30, 31, 32, 33, 34, 35, 36, 98, 99, - 145, 145, 145, 145, 145, 105, 145, 145, 145, 109, - 110, 145, 147, 145, 145, 98, 99, 145, 118, 119, - 120, 121, 105, 145, 145, 145, 109, 110, 146, 146, - 146, 146, 98, 99, 146, 118, 119, 120, 121, 105, - 140, 146, 146, 109, 110, 146, 148, 147, 8, 9, - 10, 146, 118, 119, 120, 121, 147, 140, 147, 147, - 147, 147, 147, 147, 147, 98, 26, 147, 28, 29, - 30, 31, 32, 147, 140, 147, 109, 110, 98, 147, - 147, 152, 98, 147, 149, 118, 119, 120, 121, 109, - 110, 148, 148, 109, 110, 98, 148, 83, 118, 119, - 120, 121, 118, 119, 120, 121, 109, 110, 148, 152, - 148, 148, 98, 85, 147, 118, 119, 120, 121, 87, - 148, 148, 148, 109, 110, 148, 98, 147, 149, 148, - 98, 147, 118, 119, 120, 121, 148, 109, 110, 148, - 148, 109, 110, 73, 147, 75, 118, 119, 120, 121, - 118, 119, 120, 121, 8, 9, 10, 29, 30, 31, - 32, 33, 34, 35, 36, 148, 148, 148, 148, 98, - 149, 149, 26, 149, 28, 29, 30, 31, 108, 149, - 109, 110, 149, 149, 149, 149, 149, 149, 149, 118, - 119, 120, 121, 149, 149, 149, 149, 149, 149, 149, - -1, -1, -1, 152, 152, 152, 152, 152, 152, 152, - 140, 152, 152, 143, 152, 152, 152, -1, 148, -1, - 150 + 101, 27, 145, 104, 73, 74, 107, 108, 77, 8, + 146, 80, 81, 82, 115, 84, 145, 86, 73, 88, + 75, 146, 91, 9, 10, 13, 95, 96, 97, 12, + 145, 100, 101, 150, 73, 104, 8, 9, 107, 108, + 26, 67, 28, 13, 145, 146, 115, 73, 147, 32, + 7, 77, 127, 108, 80, 81, 82, 153, 84, 13, + 86, 12, 88, 29, 30, 91, 29, 30, 31, 95, + 96, 97, 68, 69, 100, 101, 145, 146, 104, 27, + 78, 107, 108, 13, 67, 140, 68, 69, 143, 115, + 73, 93, 94, 148, 77, 150, 149, 80, 81, 82, + 78, 84, 13, 86, 12, 88, 13, 146, 91, 43, + 44, 45, 95, 96, 97, 27, 67, 100, 101, 145, + 146, 104, 73, 27, 107, 108, 77, 102, 103, 80, + 81, 82, 115, 84, 27, 86, 12, 88, 136, 27, + 91, 43, 44, 45, 95, 96, 97, 127, 128, 100, + 101, 28, 26, 104, 28, 27, 107, 108, 136, 67, + 145, 146, 145, 146, 115, 73, 8, 9, 10, 77, + 27, 27, 80, 81, 82, 27, 84, 27, 86, 12, + 88, 145, 146, 91, 26, 29, 28, 95, 96, 97, + 50, 67, 100, 101, 145, 146, 104, 73, 32, 107, + 108, 77, 145, 146, 80, 81, 82, 115, 84, 62, + 86, 62, 88, 75, 63, 91, 63, 63, 63, 95, + 96, 97, 63, 63, 100, 101, 64, 70, 104, 90, + 78, 107, 108, 92, 67, 90, 73, 145, 146, 115, + 73, 8, 9, 10, 77, 73, 73, 80, 81, 82, + 73, 84, 73, 86, 73, 88, 73, 73, 91, 26, + 73, 28, 95, 96, 97, 73, 67, 100, 101, 145, + 146, 104, 73, 73, 107, 108, 77, 73, 73, 80, + 81, 82, 115, 84, 73, 86, 73, 88, 78, 75, + 91, 75, 75, 75, 95, 96, 97, 75, 78, 100, + 101, 82, 90, 104, 98, 90, 107, 108, 105, 119, + 43, 44, 145, 146, 115, 90, 49, 119, 51, 29, + 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, + 40, 108, 109, 110, 111, 112, 113, 92, 71, 72, + 73, 98, 106, 67, 145, 146, 79, 123, 149, 73, + 46, 47, 48, 77, 50, 124, 80, 81, 82, 122, + 84, 122, 86, 125, 88, 124, 62, 91, 8, 9, + 10, 95, 96, 97, 124, 108, 100, 101, 124, 126, + 104, 125, 125, 107, 108, 136, 26, 139, 28, 29, + 30, 115, 145, 147, 139, 143, 129, 130, 131, 132, + 133, 134, 135, 139, 139, 98, 143, 140, 141, 142, + 143, 8, 9, 10, 139, 148, 109, 110, 139, 139, + 139, 145, 146, 145, 147, 118, 119, 120, 121, 26, + 143, 28, 29, 30, 31, 32, 33, 34, 35, 36, + 98, 99, 144, 146, 145, 145, 145, 105, 145, 147, + 145, 109, 110, 145, 147, 145, 145, 98, 99, 145, + 118, 119, 120, 121, 105, 145, 145, 145, 109, 110, + 145, 145, 145, 145, 98, 99, 145, 118, 119, 120, + 121, 105, 140, 145, 145, 109, 110, 146, 145, 147, + 8, 9, 10, 145, 118, 119, 120, 121, 145, 140, + 145, 145, 145, 145, 152, 151, 147, 98, 26, 145, + 28, 29, 30, 31, 32, 146, 140, 146, 109, 110, + 98, 146, 148, 146, 98, 146, 146, 118, 119, 120, + 121, 109, 110, 146, 146, 109, 110, 98, 146, 148, + 118, 119, 120, 121, 118, 119, 120, 121, 109, 110, + 148, 147, 83, 147, 98, 147, 147, 118, 119, 120, + 121, 147, 147, 147, 147, 109, 110, 98, 147, 147, + 147, 85, 147, 147, 118, 119, 120, 121, 109, 110, + 147, 149, 148, 148, 98, 148, 147, 118, 119, 120, + 121, 87, 148, 148, 148, 109, 110, 8, 9, 10, + 148, 148, 98, 147, 118, 119, 120, 121, 148, 148, + 148, 148, 148, 109, 110, 26, 148, 28, 29, 30, + 31, 148, 118, 119, 120, 121, 29, 30, 31, 32, + 33, 34, 35, 36, 98, 148, 152, 149, 149, 149, + 149, 149, 149, 149, 149, 109, 110, 149, 149, 149, + 149, 149, 149, -1, 118, 119, 120, 121, 149, 149, + 149, 149, 149, -1, -1, -1, 152, 152, 152, 152, + 152, 152, 152, 152, 152, 152, 152, 152 ); protected static $yybase = array( - 0, 757, 740, 774, 230, 807, 854, -1, 872, 705, - 614, 224, 837, 868, 824, 820, 911, 911, 911, 911, - 911, 489, 524, 543, 532, 543, 548, -2, -2, -2, - 180, 110, 279, 279, 603, 279, 453, 528, 560, 410, - 311, 212, 378, 485, 485, 485, 485, 674, 674, 485, - 485, 485, 485, 485, 485, 485, 485, 485, 485, 485, - 485, 485, 485, 485, 485, 485, 485, 485, 485, 485, - 485, 485, 485, 485, 485, 485, 485, 485, 485, 485, - 485, 485, 485, 485, 485, 485, 485, 485, 485, 485, - 485, 485, 485, 485, 485, 485, 485, 485, 485, 485, - 485, 485, 485, 485, 485, 485, 485, 485, 485, 485, - 485, 485, 485, 485, 485, 485, 485, 485, 485, 485, - 485, 485, 485, 485, 485, 485, 485, 485, 485, 485, - 485, 485, 485, 485, 485, 33, 712, 632, 628, 708, - 657, 575, 720, 862, 602, 864, 760, 756, 515, 755, - 754, 753, 752, 751, 766, 749, 769, 617, 126, 126, + 0, 722, 739, 756, 806, 687, 849, -1, 884, 802, + 789, 224, 836, 866, 230, 819, 916, 916, 916, 916, + 916, 468, 476, 492, 523, 492, 524, -2, -2, -2, + 180, 110, 212, 212, 579, 212, 429, 547, 504, 311, + 354, 279, 397, 472, 472, 472, 472, 656, 656, 472, + 472, 472, 472, 472, 472, 472, 472, 472, 472, 472, + 472, 472, 472, 472, 472, 472, 472, 472, 472, 472, + 472, 472, 472, 472, 472, 472, 472, 472, 472, 472, + 472, 472, 472, 472, 472, 472, 472, 472, 472, 472, + 472, 472, 472, 472, 472, 472, 472, 472, 472, 472, + 472, 472, 472, 472, 472, 472, 472, 472, 472, 472, + 472, 472, 472, 472, 472, 472, 472, 472, 472, 472, + 472, 472, 472, 472, 472, 472, 472, 472, 472, 472, + 472, 472, 472, 472, 472, 33, 738, 637, 636, 737, + 736, 735, 733, 870, 605, 812, 784, 786, 508, 788, + 794, 805, 803, 797, 682, 796, 732, 795, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 327, - 176, 309, 444, 537, 372, 82, 82, 82, 82, 82, - 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, - 82, 276, 354, 354, 354, 354, 354, 354, 354, 354, - 354, 219, 219, 487, 511, 395, 443, 443, 665, 665, - 665, 665, 665, 665, 665, 665, 665, 665, 665, 665, - 665, 665, 665, 665, 665, 665, 665, 665, 665, 665, - 665, 665, 665, 665, 665, 665, 665, 665, 665, 665, - 171, -18, 758, 451, 986, 438, 880, 801, 801, 801, - 801, 301, -24, 968, 968, 968, 968, 217, -6, -6, - -6, -6, 398, 398, 398, 398, 168, 200, -31, 11, - 11, 613, 613, 519, 739, 459, 459, 910, 910, 910, - 910, 910, 910, 910, 910, 910, 910, 596, 538, 403, - 403, 817, 817, -82, -82, -82, -82, 469, 232, 383, - 336, 74, 481, 481, 481, 427, 601, 376, 376, 376, - 600, 583, 599, 175, 64, 64, 64, 109, 109, 109, - 109, -43, 736, 109, 109, 109, 227, 78, 78, 146, - -65, 589, 768, 609, 773, 461, 640, -23, 648, 648, - 151, 595, 509, 495, 488, 620, 49, 151, 33, 390, - 472, 255, 458, 709, 586, 659, 138, 251, 271, 150, - 457, 160, 338, 97, 819, 775, 236, 112, 618, 458, - 458, 458, 114, 284, 160, -77, 656, 244, 59, 667, - 439, 467, 814, 572, 802, 566, 448, 572, 588, 467, - 783, 783, 783, 783, 467, 448, 802, 802, 467, 519, - 802, 265, 467, 607, 448, 593, 783, 706, 703, 572, - 587, 573, 802, 802, 802, 566, 467, 783, 597, 649, - 100, 802, 783, 597, 467, 588, 87, 520, 558, 738, - 860, 788, 549, 735, 578, 606, 832, 831, 859, 574, - 565, 857, 784, 647, 702, 561, 351, 552, 557, 541, - 624, 550, 621, 595, 642, 517, 517, 517, 616, 637, - 616, 517, 517, 517, 517, 517, 517, 517, 517, 904, - 644, 633, 619, 604, 701, 437, 647, 582, 341, 728, - 647, 875, 885, 570, 580, 828, 878, 616, 903, 719, - 258, 356, 821, 605, 585, 616, 813, 616, 725, 616, - 874, 581, 772, 647, 517, 873, 902, 900, 899, 897, - 896, 895, 894, 531, 893, 699, 884, 143, 858, 620, - 638, 579, 698, 182, 892, 616, 616, 745, 736, 616, - 697, 718, 889, 696, 877, 474, 474, 474, 474, 625, - 891, 583, 879, 616, 615, 797, 182, 468, 556, 861, - 695, 571, 800, 646, 594, 870, 474, 474, 474, 474, - 803, 722, 396, 776, 505, 683, 888, 887, 890, 677, - 353, 723, 576, 590, 591, 812, 676, 876, 598, 641, - 584, 592, 724, 577, 886, 673, 672, 671, 0, 0, + 176, 381, 538, 408, 394, 322, 322, 322, 322, 322, + 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, + 322, 276, 305, 305, 305, 305, 305, 305, 305, 305, + 305, 219, 219, 506, 487, 613, 503, 503, 647, 647, + 647, 647, 647, 647, 647, 647, 647, 647, 647, 647, + 647, 647, 647, 647, 647, 647, 647, 647, 647, 647, + 647, 647, 647, 647, 647, 647, 647, 647, 647, 647, + 171, -18, 740, 536, 969, 414, 862, 783, 783, 783, + 783, 417, -24, 977, 977, 977, 977, 217, -6, -6, + -6, -6, 670, 670, 670, 670, 200, 168, -31, 11, + 11, 633, 633, 542, 677, 446, 446, 325, 325, 325, + 325, 325, 325, 325, 325, 325, 325, 518, 557, 478, + 478, 832, 832, 94, 94, 94, 94, 400, 382, 14, + 284, 74, 684, 684, 684, 281, -53, 600, 341, 341, + 341, 590, 629, 532, 244, 64, 64, 64, 109, 109, + 109, 109, -43, 721, 109, 109, 109, 255, 78, 78, + 175, -65, 521, 657, 625, 626, 437, 661, -23, 667, + 667, 667, 263, 623, 398, 384, 405, 644, 49, 263, + 33, 146, 395, 227, 520, 679, 567, 719, 658, 251, + 138, 150, 416, 160, 151, 97, 728, 723, 868, 869, + 59, 28, 634, 520, 520, 520, 60, 402, 160, -77, + 627, 265, 114, 744, 237, 546, 814, 563, 867, 559, + 543, 563, 594, 546, 817, 817, 817, 817, 546, 543, + 867, 867, 546, 542, 867, 362, 546, 617, 543, 619, + 817, 707, 706, 563, 602, 604, 867, 867, 867, 559, + 546, 817, 583, 678, 100, 867, 817, 583, 546, 594, + 87, 530, 540, 815, 826, 754, 564, 749, 570, 578, + 843, 842, 853, 561, 593, 844, 782, 632, 705, 553, + 392, 539, 535, 534, 628, 533, 630, 623, 643, 527, + 527, 527, 611, 660, 611, 527, 527, 527, 527, 527, + 527, 527, 527, 905, 655, 635, 621, 599, 702, 410, + 632, 595, 426, 751, 632, 875, 883, 734, 584, 841, + 880, 611, 904, 711, 252, 450, 840, 519, 591, 611, + 833, 611, 755, 611, 874, 580, 813, 632, 527, 873, + 903, 902, 901, 900, 899, 898, 897, 531, 896, 701, + 882, 271, 848, 644, 659, 572, 700, 314, 895, 611, + 611, 757, 721, 611, 694, 708, 892, 691, 879, 529, + 529, 529, 529, 618, 894, 629, 881, 611, 586, 864, + 314, 432, 537, 871, 690, 759, 771, 760, 596, 872, + 529, 529, 529, 529, 824, 768, 469, 801, 528, 688, + 891, 890, 893, 685, 473, 772, 552, 597, 598, 825, + 683, 878, 525, 645, 616, 592, 767, 585, 889, 681, + 680, 718, 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, -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, 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, @@ -659,155 +657,158 @@ class Parser -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, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, + 126, 126, 126, 126, 126, 126, 126, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, -18, -18, + 126, -18, 126, -18, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, - 126, 126, 126, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -18, -18, 126, -18, 126, -18, - 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, - 126, 126, 126, 126, 126, 126, -18, 665, 665, 665, - 665, 665, 665, 665, 665, 665, 126, 126, -18, 665, - 126, -18, -18, 0, 0, 0, 0, 0, 0, 0, + -18, 647, 647, 647, 647, 647, 647, 647, 647, 647, + 126, 126, -18, 647, 126, -18, -18, 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, 126, 0, 126, -18, 126, - -18, 126, 126, 126, 126, 126, -18, -18, -18, -18, - -18, -18, 0, 481, 481, 481, 481, -18, -18, -18, - -18, 331, 331, 331, 910, 910, 910, 910, 910, 910, - 481, 481, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 331, 331, 64, 64, 910, 910, 109, 109, - 109, 109, 109, 78, 78, 78, 338, 0, 0, 0, - 109, 78, 222, 222, 222, 78, 78, 78, 338, 0, - 0, 0, 0, 0, 0, 0, 448, 222, 0, 0, - 0, 802, 0, 0, 0, 222, 494, 494, 494, 494, - 182, 160, 0, 448, 448, 0, 587, 0, 0, 0, - 802, 0, 0, 0, 0, 0, 0, 517, 258, 828, - 243, 0, 0, 0, 0, 0, 0, 0, 0, 202, - 202, 0, 0, 531, 517, 517, 517, 0, 0, 0, - 0, 243, 0, 0, 182 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 126, + 0, 126, -18, 126, -18, 126, 126, 126, 126, 126, + -18, -18, -18, -18, -18, -18, 0, 684, 684, 684, + 684, -18, -18, -18, -18, 603, 603, 603, 325, 325, + 325, 325, 325, 325, 684, 684, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 603, 603, 64, 64, + 325, 325, 109, 109, 109, 109, 109, 78, 78, 78, + 151, 0, 0, 0, 109, 543, 78, 222, 222, 222, + 78, 78, 78, 151, 0, 0, 0, 0, 0, 0, + 0, 543, 222, 0, 0, 0, 867, 0, 0, 0, + 222, 378, 378, 378, 378, 314, 160, 0, 543, 543, + 543, 0, 602, 0, 0, 0, 867, 0, 0, 0, + 0, 0, 0, 527, 252, 841, 182, 357, 0, 0, + 0, 0, 0, 0, 0, 357, 357, 423, 423, 0, + 0, 531, 527, 527, 527, 0, 0, 0, 0, 182, + 0, 0, 314 ); protected static $yydefault = array( 3,32767,32767, 1,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767, 109, 101, 115, 100, - 111,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767, 415, 415,32767, 372,32767,32767,32767,32767, - 32767,32767,32767, 183, 183, 183,32767,32767,32767, 404, - 404, 404, 404, 404, 404, 404, 404, 404, 404,32767, - 32767,32767,32767,32767, 263,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, 417, 417,32767, 374,32767,32767,32767,32767, + 32767,32767,32767, 185, 185, 185,32767,32767,32767, 406, + 406, 406, 406, 406, 406, 406, 406, 406, 406,32767, + 32767,32767,32767,32767, 265,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767, 268, 420,32767, + 32767,32767,32767,32767,32767,32767,32767, 270, 422,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767, 244, 245, - 247, 248, 182, 405, 134, 269, 419, 181, 136,32767, - 32767, 210, 325, 212, 333, 262, 211, 187, 192, 193, - 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, - 186, 335, 369, 369, 372,32767,32767,32767,32767,32767, - 32767, 241, 240, 334,32767, 208, 361, 360,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767, 246, 247, + 249, 250, 184, 407, 136, 271, 421, 183, 138,32767, + 32767, 212, 327, 214, 335, 264, 213, 189, 194, 195, + 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, + 188, 337, 371, 371, 374,32767,32767,32767,32767,32767, + 32767, 243, 242, 336,32767, 210, 363, 362,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 209, 331, 213, 332, 215, 336, 214, 231, 232, 229, - 230, 338, 337, 354, 355, 352, 353, 185, 233, 234, - 235, 236, 356, 357, 358, 359, 167, 167, 167,32767, - 32767, 414, 414,32767,32767, 222, 223,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767, 168,32767, 345, - 346, 298, 298, 125, 125, 125, 125, 125,32767,32767, - 32767,32767, 217, 218, 216,32767, 306,32767,32767,32767, - 32767,32767, 308,32767, 340, 341, 339,32767,32767,32767, - 32767,32767,32767,32767,32767,32767, 377, 307,32767,32767, - 32767,32767,32767,32767,32767,32767, 390, 294,32767,32767, - 32767, 287, 112, 114, 62, 324,32767,32767,32767,32767, - 32767, 395, 227,32767,32767,32767,32767,32767,32767, 427, - 32767, 390,32767,32767,32767,32767,32767,32767, 239, 219, - 220, 221,32767,32767, 394, 388,32767,32767,32767,32767, - 32767, 66, 303,32767, 309,32767,32767,32767,32767, 66, - 32767,32767,32767,32767, 66,32767, 393, 392, 66,32767, - 288, 371, 66, 79,32767, 77,32767, 98, 98,32767, - 32767, 81, 367, 383,32767,32767, 66,32767, 276, 68, - 371,32767,32767, 276, 66,32767,32767, 4, 313,32767, - 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767, 289,32767,32767,32767, 259, 260, 379, - 32767, 380,32767, 287,32767, 225, 226, 228, 205,32767, - 207, 249, 250, 251, 252, 253, 254, 255, 257,32767, - 32767, 292, 295,32767,32767,32767, 6, 18, 144,32767, - 290,32767, 190,32767,32767,32767,32767, 422,32767,32767, - 184,32767,32767, 20,32767, 140,32767, 64,32767, 412, - 32767,32767, 388, 291, 224,32767,32767,32767,32767,32767, - 32767,32767,32767, 389,32767,32767,32767, 119,32767, 324, - 32767,32767,32767, 80,32767, 188, 135,32767,32767, 421, - 32767,32767,32767,32767,32767, 348, 349, 350, 351, 376, - 32767,32767,32767, 65,32767,32767, 82,32767,32767, 388, - 32767,32767,32767,32767,32767,32767, 342, 343, 344, 347, - 32767,32767, 179,32767,32767,32767,32767,32767, 388,32767, - 123,32767,32767,32767,32767,32767,32767,32767, 4,32767, - 161,32767,32767,32767,32767,32767,32767,32767, 26, 26, - 3, 26, 106, 26, 147, 3, 98, 98, 59, 147, - 26, 147, 26, 26, 26, 26, 26, 26, 26, 154, - 26, 26, 26, 26, 26 + 211, 333, 215, 334, 217, 338, 216, 233, 234, 231, + 232, 340, 339, 356, 357, 354, 355, 187, 235, 236, + 237, 238, 358, 359, 360, 361, 169, 169, 169,32767, + 32767, 416, 416,32767,32767, 224, 225,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767, 170,32767, 347, + 348, 300, 300, 127, 127, 127, 127, 127,32767,32767, + 32767,32767, 219, 220, 218,32767,32767, 308,32767,32767, + 32767,32767,32767, 310,32767, 342, 343, 341,32767,32767, + 32767,32767,32767,32767,32767,32767,32767, 379, 309,32767, + 32767,32767,32767,32767,32767,32767,32767, 392, 296,32767, + 32767,32767,32767, 289, 114, 116, 64, 326,32767,32767, + 32767,32767,32767, 397, 229,32767,32767,32767,32767,32767, + 32767, 429,32767, 392,32767,32767,32767,32767,32767,32767, + 32767,32767, 241, 221, 222, 223,32767,32767, 396, 390, + 32767,32767,32767,32767,32767, 68, 305,32767, 311,32767, + 32767,32767,32767, 68,32767,32767,32767,32767, 68,32767, + 395, 394, 68,32767, 290, 373, 68, 81,32767, 79, + 32767, 100, 100,32767,32767, 83, 369, 385,32767,32767, + 68,32767, 278, 70, 373,32767,32767, 278, 68,32767, + 32767, 4, 315,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767, 291,32767,32767, + 32767, 261, 262, 381,32767, 382,32767, 289,32767, 227, + 228, 230, 207,32767, 209, 251, 252, 253, 254, 255, + 256, 257, 259,32767,32767, 294, 297,32767,32767,32767, + 6, 20, 146,32767, 292,32767, 192,32767,32767,32767, + 32767, 424,32767,32767, 186,32767,32767, 22,32767, 142, + 32767, 66,32767, 414,32767,32767, 390, 293, 226,32767, + 32767,32767,32767,32767,32767,32767,32767, 391,32767,32767, + 32767, 121,32767, 326,32767,32767,32767, 82,32767, 190, + 137,32767,32767, 423,32767,32767,32767,32767,32767, 350, + 351, 352, 353, 378,32767,32767,32767, 67,32767,32767, + 84,32767,32767, 390,32767,32767,32767,32767,32767,32767, + 344, 345, 346, 349,32767,32767, 181,32767,32767,32767, + 32767,32767, 390,32767, 125,32767,32767,32767,32767,32767, + 32767,32767, 4,32767, 163,32767,32767,32767,32767,32767, + 32767,32767, 28, 28, 3, 28, 108, 28, 149, 3, + 100, 100, 61, 149, 28, 149, 28, 28, 28, 28, + 28, 28, 28, 156, 28, 28, 28, 28, 28 ); protected static $yygoto = array( 164, 164, 138, 138, 143, 138, 139, 140, 141, 146, 148, 177, 166, 162, 162, 162, 162, 143, 143, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 158, - 159, 160, 161, 175, 137, 455, 456, 352, 457, 461, - 462, 463, 464, 465, 466, 467, 468, 806, 142, 144, + 159, 160, 161, 175, 137, 459, 460, 354, 461, 465, + 466, 467, 468, 469, 470, 471, 472, 812, 142, 144, 145, 147, 171, 173, 176, 205, 240, 242, 244, 246, 247, 248, 249, 250, 258, 259, 260, 261, 275, 276, - 302, 303, 304, 369, 370, 371, 504, 178, 179, 180, + 302, 303, 304, 373, 374, 375, 508, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 149, 150, 151, 165, 152, 167, 153, 201, 168, 154, - 155, 156, 202, 157, 135, 519, 519, 519, 519, 519, - 519, 519, 519, 519, 623, 623, 623, 519, 624, 624, - 624, 519, 519, 519, 519, 519, 519, 519, 519, 519, - 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, - 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, - 519, 519, 519, 459, 459, 459, 459, 459, 459, 531, - 566, 459, 459, 459, 459, 459, 459, 459, 459, 459, - 459, 733, 733, 1028, 1028, 470, 470, 534, 542, 584, - 785, 380, 400, 400, 400, 400, 400, 400, 667, 360, - 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, - 748, 267, 482, 268, 903, 903, 741, 741, 741, 741, - 741, 375, 568, 499, 499, 525, 495, 500, 579, 497, - 497, 458, 460, 487, 502, 526, 529, 543, 549, 1, - 698, 698, 698, 698, 2, 1032, 693, 699, 574, 520, - 520, 520, 520, 520, 520, 520, 520, 520, 546, 335, - 379, 520, 353, 332, 493, 520, 520, 520, 520, 520, - 520, 520, 520, 520, 520, 520, 520, 520, 520, 520, - 520, 520, 520, 520, 520, 520, 520, 520, 520, 520, - 520, 520, 520, 520, 520, 520, 520, 943, 943, 943, - 943, 943, 943, 943, 943, 943, 312, 472, 472, 943, - 300, 1008, 1008, 943, 943, 943, 943, 943, 943, 943, - 943, 943, 943, 943, 943, 943, 943, 943, 943, 943, - 943, 943, 943, 943, 943, 943, 943, 943, 943, 943, - 943, 943, 943, 943, 943, 555, 170, 988, 471, 471, - 535, 536, 537, 538, 169, 174, 191, 203, 241, 243, - 245, 251, 252, 253, 254, 255, 256, 262, 263, 264, - 265, 289, 290, 314, 315, 316, 556, 557, 558, 559, - 206, 207, 5, 567, 16, 1000, 6, 1025, 622, 622, - 622, 915, 914, 7, 365, 17, 18, 8, 19, 9, - 10, 11, 852, 20, 12, 13, 14, 15, 719, 704, - 702, 700, 702, 592, 473, 728, 723, 506, 507, 508, - 509, 510, 511, 512, 514, 545, 920, 476, 737, 1038, - 1038, 1007, 1007, 631, 861, 26, 21, 346, 804, 752, - 944, 1041, 1038, 925, 476, 476, 602, 1023, 1023, 1023, - 515, 333, 334, 376, 637, 899, 900, 1041, 1041, 354, - 894, 29, 1006, 485, 757, 707, 564, 496, 361, 361, - 361, 897, 999, 897, 639, 760, 708, 990, 795, 739, - 898, 419, 505, 361, 985, 571, 481, 0, 793, 572, - 0, 374, 476, 0, 0, 0, 0, 0, 0, 481, - 481, 480, 0, 0, 0, 0, 0, 0, 0, 0, - 503, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 155, 156, 202, 157, 135, 523, 523, 523, 523, 523, + 523, 523, 523, 523, 333, 791, 384, 523, 628, 628, + 628, 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, 463, 463, 463, 463, 463, 463, 1044, + 1044, 463, 463, 463, 463, 463, 463, 463, 463, 463, + 463, 673, 1047, 1044, 754, 474, 474, 739, 739, 1034, + 1034, 504, 404, 404, 404, 404, 404, 404, 1047, 1047, + 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, + 627, 627, 627, 1038, 909, 909, 747, 747, 747, 747, + 747, 379, 572, 503, 503, 529, 499, 486, 583, 501, + 501, 462, 464, 491, 506, 530, 533, 547, 553, 362, + 1, 704, 704, 704, 704, 2, 355, 699, 705, 578, + 524, 524, 524, 524, 524, 524, 524, 524, 524, 538, + 546, 588, 524, 550, 336, 383, 524, 524, 524, 524, + 524, 524, 524, 524, 524, 524, 524, 524, 524, 524, + 524, 524, 524, 524, 524, 524, 524, 524, 524, 524, + 524, 524, 524, 524, 524, 524, 524, 524, 949, 949, + 949, 949, 949, 949, 949, 949, 949, 497, 559, 267, + 949, 268, 334, 335, 949, 949, 949, 949, 949, 949, + 949, 949, 949, 949, 949, 949, 949, 949, 949, 949, + 949, 949, 949, 949, 949, 949, 949, 949, 949, 949, + 949, 949, 949, 949, 949, 949, 994, 170, 571, 475, + 475, 539, 540, 541, 542, 169, 174, 191, 203, 241, + 243, 245, 251, 252, 253, 254, 255, 256, 262, 263, + 264, 265, 289, 290, 315, 316, 317, 560, 561, 562, + 563, 206, 207, 5, 1006, 16, 1031, 6, 313, 626, + 626, 626, 300, 858, 7, 369, 17, 18, 8, 19, + 9, 10, 11, 637, 20, 12, 13, 14, 15, 725, + 710, 708, 706, 708, 596, 477, 734, 729, 510, 511, + 512, 513, 514, 515, 516, 518, 549, 480, 926, 743, + 509, 758, 1013, 1013, 485, 950, 867, 26, 21, 348, + 535, 570, 606, 480, 380, 931, 643, 485, 485, 1029, + 1029, 1029, 519, 810, 476, 476, 900, 905, 906, 763, + 480, 480, 480, 29, 1012, 1014, 1014, 713, 568, 363, + 363, 363, 799, 903, 1005, 903, 645, 766, 714, 996, + 801, 745, 904, 356, 363, 921, 920, 489, 366, 367, + 991, 500, 378, 0, 575, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 423, 0, 0, 0, 0, + 0, 480, 0, 576, 0, 0, 0, 0, 0, 0, + 484, 0, 0, 0, 0, 0, 0, 0, 0, 507, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 486 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 490 ); protected static $yygcheck = array( @@ -822,103 +823,105 @@ class Parser 25, 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, 39, 39, 39, 39, - 39, 39, 39, 39, 7, 7, 7, 39, 8, 8, + 39, 39, 39, 39, 50, 74, 74, 39, 8, 8, 8, 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, 91, 91, 91, 91, 91, 91, 22, - 22, 91, 91, 91, 91, 91, 91, 91, 91, 91, - 91, 55, 55, 55, 55, 91, 91, 42, 42, 42, - 74, 74, 39, 39, 39, 39, 39, 39, 32, 5, + 39, 39, 39, 91, 91, 91, 91, 91, 91, 117, + 117, 91, 91, 91, 91, 91, 91, 91, 91, 91, + 91, 32, 117, 117, 61, 91, 91, 55, 55, 55, + 55, 85, 39, 39, 39, 39, 39, 39, 117, 117, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, - 61, 46, 77, 46, 39, 39, 39, 39, 39, 39, - 39, 33, 33, 33, 33, 33, 33, 85, 39, 33, - 33, 33, 33, 33, 33, 33, 33, 33, 33, 2, - 39, 39, 39, 39, 2, 116, 39, 39, 39, 94, - 94, 94, 94, 94, 94, 94, 94, 94, 48, 48, - 48, 94, 29, 50, 5, 94, 94, 94, 94, 94, + 7, 7, 7, 116, 39, 39, 39, 39, 39, 39, + 39, 33, 33, 33, 33, 33, 33, 77, 39, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 5, + 2, 39, 39, 39, 39, 2, 29, 39, 39, 39, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 42, + 42, 42, 94, 48, 48, 48, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, - 94, 94, 94, 94, 94, 94, 94, 101, 101, 101, - 101, 101, 101, 101, 101, 101, 100, 97, 97, 101, - 100, 92, 92, 101, 101, 101, 101, 101, 101, 101, + 94, 94, 94, 94, 94, 94, 94, 94, 101, 101, + 101, 101, 101, 101, 101, 101, 101, 5, 103, 46, + 101, 46, 50, 50, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 101, 103, 102, 108, 94, 94, + 101, 101, 101, 101, 101, 101, 108, 102, 31, 94, + 94, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, - 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, - 102, 102, 14, 31, 14, 59, 14, 114, 6, 6, - 6, 99, 99, 14, 30, 14, 14, 14, 14, 14, - 14, 14, 78, 14, 14, 14, 14, 14, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 16, 4, 57, 117, - 117, 93, 93, 11, 16, 16, 16, 16, 77, 62, - 104, 117, 117, 59, 4, 4, 52, 93, 93, 93, - 16, 50, 50, 10, 12, 59, 59, 117, 117, 40, - 89, 16, 93, 40, 63, 49, 16, 40, 98, 98, - 98, 59, 59, 59, 13, 13, 13, 13, 13, 13, - 59, 40, 26, 98, 107, 84, 26, -1, 76, 40, - -1, 98, 4, -1, -1, -1, -1, -1, -1, 26, - 26, 4, -1, -1, -1, -1, -1, -1, -1, -1, - 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 102, 102, 102, 14, 59, 14, 114, 14, 100, 6, + 6, 6, 100, 78, 14, 30, 14, 14, 14, 14, + 14, 14, 14, 11, 14, 14, 14, 14, 14, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 86, 86, + 86, 86, 86, 86, 86, 86, 86, 4, 16, 57, + 26, 62, 93, 93, 26, 104, 16, 16, 16, 16, + 22, 22, 52, 4, 10, 59, 12, 26, 26, 93, + 93, 93, 16, 77, 97, 97, 89, 59, 59, 63, + 4, 4, 4, 16, 93, 92, 92, 49, 16, 98, + 98, 98, 76, 59, 59, 59, 13, 13, 13, 13, + 13, 13, 59, 40, 98, 99, 99, 40, 9, 9, + 107, 40, 98, -1, 84, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 40, -1, -1, -1, -1, + -1, 4, -1, 40, -1, -1, -1, -1, -1, -1, + 4, -1, -1, -1, -1, -1, -1, -1, -1, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 77 + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 77 ); protected static $yygbase = array( - 0, 0, -361, 0, 96, -132, 377, 113, 117, 0, - 56, 84, 35, 269, -217, 0, 34, 0, 0, 0, - 0, 0, 115, 0, 0, -30, 442, 0, 0, 206, - 106, 103, 163, -58, 0, 0, 0, 0, 0, -87, - 55, 0, -117, 0, 0, 0, -398, 0, -70, 40, - -155, 0, 88, 0, 0, -98, 0, 121, 0, 49, - 0, 169, 82, 44, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -107, 0, 53, 155, 100, 0, - 0, 0, 0, 0, 52, 184, 357, 0, 0, 61, - 0, -116, 10, 130, 47, 0, 0, 6, 151, 73, - -10, 95, 132, 142, 81, 0, 0, 54, 143, 0, - 0, 0, 0, 0, 105, 0, 200, 120, 0 + 0, 0, -364, 0, 111, -93, 378, 199, 117, 139, + 43, 52, 23, 271, -220, 0, 32, 0, 0, 0, + 0, 0, 386, 0, 0, -30, 390, 0, 0, 190, + 107, 68, 146, -58, 0, 0, 0, 0, 0, -87, + 75, 0, -45, 0, 0, 0, -304, 0, -66, 38, + -298, 0, 82, 0, 0, -92, 0, 122, 0, 47, + 0, 143, 72, 35, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -172, 0, 33, 170, 91, 0, + 0, 0, 0, 0, 57, 148, 358, 0, 0, 53, + 0, -116, 164, 131, 48, 0, 0, 153, 151, 166, + 71, 96, 133, 105, 74, 0, 0, 56, 142, 0, + 0, 0, 0, 0, 104, 0, 168, -140, 0 ); protected static $yygdefault = array( - -32768, 426, 3, 617, 443, 477, 642, 643, 644, 356, - 355, 632, 638, 539, 4, 640, 853, 342, 647, 343, - 548, 649, 489, 651, 652, 136, 444, 357, 358, 490, - 364, 532, 666, 257, 363, 668, 344, 670, 675, 345, - 573, 554, 516, 445, 411, 527, 266, 498, 523, 706, - 331, 714, 605, 722, 725, 446, 517, 736, 416, 896, - 372, 747, 753, 758, 761, 388, 377, 544, 765, 766, - 305, 770, 580, 581, 784, 287, 792, 805, 384, 871, - 873, 447, 448, 483, 553, 469, 488, 890, 378, 893, - 449, 450, 396, 397, 911, 908, 337, 993, 336, 413, - 299, 978, 172, 540, 979, 945, 420, 1031, 989, 326, - 451, 452, 351, 366, 1026, 401, 1033, 1040, 524 + -32768, 430, 3, 621, 447, 481, 648, 649, 650, 358, + 357, 638, 644, 543, 4, 646, 859, 344, 653, 345, + 552, 655, 493, 657, 658, 136, 448, 359, 360, 494, + 368, 536, 672, 257, 365, 674, 346, 676, 681, 347, + 577, 558, 520, 449, 415, 531, 266, 502, 527, 712, + 332, 720, 609, 728, 731, 450, 521, 742, 420, 902, + 376, 753, 759, 764, 767, 392, 381, 548, 771, 772, + 305, 776, 584, 585, 790, 287, 798, 811, 388, 877, + 879, 451, 452, 487, 557, 473, 492, 896, 382, 899, + 453, 454, 400, 401, 917, 914, 338, 999, 337, 417, + 299, 984, 172, 544, 985, 951, 424, 1037, 995, 327, + 455, 456, 353, 370, 1032, 405, 1039, 1046, 528 ); protected static $yylhs = array( 0, 1, 2, 2, 4, 4, 5, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 9, 9, 11, 11, - 11, 11, 10, 10, 12, 14, 14, 15, 15, 15, - 15, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 3, 3, 3, 3, 3, 3, 3, 3, 9, 9, + 11, 11, 11, 11, 10, 10, 12, 14, 14, 15, + 15, 15, 15, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 36, - 36, 38, 37, 37, 30, 30, 40, 40, 41, 41, - 7, 8, 8, 8, 43, 43, 43, 44, 44, 47, - 47, 45, 45, 48, 48, 23, 23, 32, 32, 35, - 35, 34, 34, 49, 24, 24, 24, 24, 50, 50, - 51, 51, 52, 52, 21, 21, 17, 17, 53, 19, - 19, 54, 18, 18, 20, 20, 31, 31, 31, 42, - 42, 56, 56, 57, 57, 58, 58, 58, 58, 59, - 59, 59, 60, 60, 61, 61, 61, 27, 27, 62, - 62, 62, 28, 28, 63, 63, 46, 46, 64, 64, - 64, 64, 69, 69, 70, 70, 71, 71, 71, 71, - 72, 73, 73, 68, 68, 65, 65, 67, 67, 75, - 75, 74, 74, 74, 74, 74, 74, 66, 66, 76, - 76, 29, 29, 22, 22, 25, 25, 25, 25, 25, + 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, 43, 43, 43, 44, + 44, 47, 47, 45, 45, 48, 48, 23, 23, 32, + 32, 35, 35, 34, 34, 49, 24, 24, 24, 24, + 50, 50, 51, 51, 52, 52, 21, 21, 17, 17, + 53, 19, 19, 54, 18, 18, 20, 20, 31, 31, + 31, 42, 42, 56, 56, 57, 57, 58, 58, 58, + 58, 59, 59, 59, 60, 60, 61, 61, 61, 27, + 27, 62, 62, 62, 28, 28, 63, 63, 46, 46, + 64, 64, 64, 64, 69, 69, 70, 70, 71, 71, + 71, 71, 72, 73, 73, 68, 68, 65, 65, 67, + 67, 75, 75, 74, 74, 74, 74, 74, 74, 66, + 66, 76, 76, 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, @@ -926,71 +929,71 @@ class Parser 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 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, - 81, 81, 82, 82, 82, 77, 84, 84, 88, 88, - 89, 90, 90, 90, 90, 90, 90, 94, 94, 39, - 39, 39, 78, 78, 95, 95, 91, 91, 96, 96, - 96, 96, 96, 79, 79, 79, 83, 83, 83, 87, - 87, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 101, 13, 13, 13, 102, 102, - 102, 105, 105, 105, 105, 105, 105, 105, 105, 105, + 25, 25, 25, 25, 25, 25, 25, 25, 16, 16, + 26, 26, 81, 81, 82, 82, 82, 77, 84, 84, + 88, 88, 89, 90, 90, 90, 90, 90, 90, 94, + 94, 39, 39, 39, 78, 78, 95, 95, 91, 91, + 96, 96, 96, 96, 96, 79, 79, 79, 83, 83, + 83, 87, 87, 101, 101, 101, 101, 101, 101, 101, + 101, 101, 101, 101, 101, 101, 101, 13, 13, 13, + 102, 102, 102, 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, 80, 80, 80, 80, 104, 104, 103, - 103, 107, 107, 106, 106, 108, 108, 33, 33, 33, - 33, 110, 110, 109, 109, 109, 109, 109, 111, 111, - 93, 93, 97, 97, 92, 92, 112, 112, 112, 112, - 98, 98, 98, 98, 86, 86, 99, 99, 99, 55, - 113, 113, 114, 114, 114, 85, 85, 115, 115, 116, - 116, 116, 116, 100, 100, 100, 100, 117, 117, 117, - 117, 117, 117, 117, 118, 118, 118 + 105, 105, 105, 105, 105, 80, 80, 80, 80, 104, + 104, 103, 103, 107, 107, 106, 106, 108, 108, 33, + 33, 33, 33, 110, 110, 109, 109, 109, 109, 109, + 111, 111, 93, 93, 97, 97, 92, 92, 112, 112, + 112, 112, 98, 98, 98, 98, 86, 86, 99, 99, + 99, 55, 113, 113, 114, 114, 114, 85, 85, 115, + 115, 116, 116, 116, 116, 100, 100, 100, 100, 117, + 117, 117, 117, 117, 117, 117, 118, 118, 118 ); protected static $yylen = array( 1, 1, 2, 0, 1, 3, 1, 1, 1, 1, - 1, 3, 5, 4, 3, 3, 3, 1, 1, 3, - 2, 4, 3, 1, 3, 2, 0, 1, 1, 1, - 1, 3, 5, 8, 3, 5, 9, 3, 2, 3, - 2, 3, 2, 3, 2, 3, 3, 3, 1, 2, - 5, 7, 9, 5, 1, 6, 3, 3, 2, 0, - 2, 8, 0, 4, 1, 3, 0, 1, 0, 1, - 9, 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, 0, 1, 1, 1, 2, - 3, 3, 1, 3, 1, 2, 2, 3, 1, 1, - 2, 4, 3, 1, 1, 3, 2, 0, 3, 3, - 8, 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, + 1, 3, 5, 4, 3, 4, 4, 3, 3, 1, + 1, 3, 2, 4, 3, 1, 3, 2, 0, 1, + 1, 1, 1, 3, 5, 8, 3, 5, 9, 3, + 2, 3, 2, 3, 2, 3, 2, 3, 3, 3, + 1, 2, 5, 7, 9, 5, 1, 6, 3, 3, + 2, 0, 2, 8, 0, 4, 1, 3, 0, 1, + 0, 1, 9, 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, 0, 1, 1, + 1, 2, 3, 3, 1, 3, 1, 2, 2, 3, + 1, 1, 2, 4, 3, 1, 1, 3, 2, 0, + 3, 3, 8, 3, 1, 3, 0, 2, 4, 5, + 4, 4, 3, 1, 1, 1, 3, 1, 1, 0, + 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, + 3, 1, 3, 3, 1, 0, 1, 1, 3, 3, + 4, 4, 1, 2, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 2, 2, 2, 2, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 1, 3, - 5, 4, 4, 4, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, - 1, 3, 2, 1, 9, 10, 3, 3, 2, 4, - 4, 3, 4, 4, 4, 3, 0, 4, 1, 3, - 2, 2, 4, 6, 2, 2, 4, 1, 1, 1, - 2, 3, 1, 1, 1, 1, 1, 1, 0, 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, 1, 4, 3, 1, 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, 3, 1, 3, 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, 3, 3, 3, 3, 3, 3, 2, 2, 2, + 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 1, 3, 5, 4, 4, 4, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 1, 1, 1, 3, 2, 1, 9, 10, 3, 3, + 2, 4, 4, 3, 4, 4, 4, 3, 0, 4, + 1, 3, 2, 2, 4, 6, 2, 2, 4, 1, + 1, 1, 2, 3, 1, 1, 1, 1, 1, 1, + 0, 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, 1, 4, 3, + 1, 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, 3, 1, 3, 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 $yyval; @@ -1239,63 +1242,63 @@ class Parser } protected function yyn14($attributes) { - $this->yyval = new Node\Stmt\Use_($this->yyastk[$this->stackPos-(3-2)], $attributes); + $this->yyval = new Node\Stmt\Use_($this->yyastk[$this->stackPos-(3-2)], Node\Stmt\Use_::TYPE_NORMAL, $attributes); } protected function yyn15($attributes) { - $this->yyval = new Node\Stmt\Const_($this->yyastk[$this->stackPos-(3-2)], $attributes); + $this->yyval = new Node\Stmt\Use_($this->yyastk[$this->stackPos-(4-3)], Node\Stmt\Use_::TYPE_FUNCTION, $attributes); } protected function yyn16($attributes) { - $this->yyastk[$this->stackPos-(3-1)][] = $this->yyastk[$this->stackPos-(3-3)]; $this->yyval = $this->yyastk[$this->stackPos-(3-1)]; + $this->yyval = new Node\Stmt\Use_($this->yyastk[$this->stackPos-(4-3)], Node\Stmt\Use_::TYPE_CONSTANT, $attributes); } protected function yyn17($attributes) { - $this->yyval = array($this->yyastk[$this->stackPos-(1-1)]); + $this->yyval = new Node\Stmt\Const_($this->yyastk[$this->stackPos-(3-2)], $attributes); } protected function yyn18($attributes) { - $this->yyval = new Node\Stmt\UseUse($this->yyastk[$this->stackPos-(1-1)], null, $attributes); - } - - protected function yyn19($attributes) { - $this->yyval = new Node\Stmt\UseUse($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn20($attributes) { - $this->yyval = new Node\Stmt\UseUse($this->yyastk[$this->stackPos-(2-2)], null, $attributes); - } - - protected function yyn21($attributes) { - $this->yyval = new Node\Stmt\UseUse($this->yyastk[$this->stackPos-(4-2)], $this->yyastk[$this->stackPos-(4-4)], $attributes); - } - - protected function yyn22($attributes) { $this->yyastk[$this->stackPos-(3-1)][] = $this->yyastk[$this->stackPos-(3-3)]; $this->yyval = $this->yyastk[$this->stackPos-(3-1)]; } - protected function yyn23($attributes) { + protected function yyn19($attributes) { $this->yyval = array($this->yyastk[$this->stackPos-(1-1)]); } + protected function yyn20($attributes) { + $this->yyval = new Node\Stmt\UseUse($this->yyastk[$this->stackPos-(1-1)], null, $attributes); + } + + protected function yyn21($attributes) { + $this->yyval = new Node\Stmt\UseUse($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn22($attributes) { + $this->yyval = new Node\Stmt\UseUse($this->yyastk[$this->stackPos-(2-2)], null, $attributes); + } + + protected function yyn23($attributes) { + $this->yyval = new Node\Stmt\UseUse($this->yyastk[$this->stackPos-(4-2)], $this->yyastk[$this->stackPos-(4-4)], $attributes); + } + protected function yyn24($attributes) { - $this->yyval = new Node\Const_($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + $this->yyastk[$this->stackPos-(3-1)][] = $this->yyastk[$this->stackPos-(3-3)]; $this->yyval = $this->yyastk[$this->stackPos-(3-1)]; } protected function yyn25($attributes) { - if (is_array($this->yyastk[$this->stackPos-(2-2)])) { $this->yyval = array_merge($this->yyastk[$this->stackPos-(2-1)], $this->yyastk[$this->stackPos-(2-2)]); } else { $this->yyastk[$this->stackPos-(2-1)][] = $this->yyastk[$this->stackPos-(2-2)]; $this->yyval = $this->yyastk[$this->stackPos-(2-1)]; }; + $this->yyval = array($this->yyastk[$this->stackPos-(1-1)]); } protected function yyn26($attributes) { - $this->yyval = array(); + $this->yyval = new Node\Const_($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); } protected function yyn27($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; + if (is_array($this->yyastk[$this->stackPos-(2-2)])) { $this->yyval = array_merge($this->yyastk[$this->stackPos-(2-1)], $this->yyastk[$this->stackPos-(2-2)]); } else { $this->yyastk[$this->stackPos-(2-1)][] = $this->yyastk[$this->stackPos-(2-2)]; $this->yyval = $this->yyastk[$this->stackPos-(2-1)]; }; } protected function yyn28($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; + $this->yyval = array(); } protected function yyn29($attributes) { @@ -1303,155 +1306,155 @@ class Parser } protected function yyn30($attributes) { - throw new Error('__HALT_COMPILER() can only be used from the outermost scope'); + $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; } protected function yyn31($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(3-2)]; + $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; } protected function yyn32($attributes) { - $this->yyval = new Node\Stmt\If_($this->yyastk[$this->stackPos-(5-2)], array('stmts' => is_array($this->yyastk[$this->stackPos-(5-3)]) ? $this->yyastk[$this->stackPos-(5-3)] : array($this->yyastk[$this->stackPos-(5-3)]), 'elseifs' => $this->yyastk[$this->stackPos-(5-4)], 'else' => $this->yyastk[$this->stackPos-(5-5)]), $attributes); + throw new Error('__HALT_COMPILER() can only be used from the outermost scope'); } protected function yyn33($attributes) { - $this->yyval = new Node\Stmt\If_($this->yyastk[$this->stackPos-(8-2)], array('stmts' => $this->yyastk[$this->stackPos-(8-4)], 'elseifs' => $this->yyastk[$this->stackPos-(8-5)], 'else' => $this->yyastk[$this->stackPos-(8-6)]), $attributes); + $this->yyval = $this->yyastk[$this->stackPos-(3-2)]; } protected function yyn34($attributes) { - $this->yyval = new Node\Stmt\While_($this->yyastk[$this->stackPos-(3-2)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + $this->yyval = new Node\Stmt\If_($this->yyastk[$this->stackPos-(5-2)], array('stmts' => is_array($this->yyastk[$this->stackPos-(5-3)]) ? $this->yyastk[$this->stackPos-(5-3)] : array($this->yyastk[$this->stackPos-(5-3)]), 'elseifs' => $this->yyastk[$this->stackPos-(5-4)], 'else' => $this->yyastk[$this->stackPos-(5-5)]), $attributes); } protected function yyn35($attributes) { - $this->yyval = new Node\Stmt\Do_($this->yyastk[$this->stackPos-(5-4)], is_array($this->yyastk[$this->stackPos-(5-2)]) ? $this->yyastk[$this->stackPos-(5-2)] : array($this->yyastk[$this->stackPos-(5-2)]), $attributes); + $this->yyval = new Node\Stmt\If_($this->yyastk[$this->stackPos-(8-2)], array('stmts' => $this->yyastk[$this->stackPos-(8-4)], 'elseifs' => $this->yyastk[$this->stackPos-(8-5)], 'else' => $this->yyastk[$this->stackPos-(8-6)]), $attributes); } protected function yyn36($attributes) { - $this->yyval = new Node\Stmt\For_(array('init' => $this->yyastk[$this->stackPos-(9-3)], 'cond' => $this->yyastk[$this->stackPos-(9-5)], 'loop' => $this->yyastk[$this->stackPos-(9-7)], 'stmts' => $this->yyastk[$this->stackPos-(9-9)]), $attributes); + $this->yyval = new Node\Stmt\While_($this->yyastk[$this->stackPos-(3-2)], $this->yyastk[$this->stackPos-(3-3)], $attributes); } protected function yyn37($attributes) { - $this->yyval = new Node\Stmt\Switch_($this->yyastk[$this->stackPos-(3-2)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + $this->yyval = new Node\Stmt\Do_($this->yyastk[$this->stackPos-(5-4)], is_array($this->yyastk[$this->stackPos-(5-2)]) ? $this->yyastk[$this->stackPos-(5-2)] : array($this->yyastk[$this->stackPos-(5-2)]), $attributes); } protected function yyn38($attributes) { - $this->yyval = new Node\Stmt\Break_(null, $attributes); + $this->yyval = new Node\Stmt\For_(array('init' => $this->yyastk[$this->stackPos-(9-3)], 'cond' => $this->yyastk[$this->stackPos-(9-5)], 'loop' => $this->yyastk[$this->stackPos-(9-7)], 'stmts' => $this->yyastk[$this->stackPos-(9-9)]), $attributes); } protected function yyn39($attributes) { - $this->yyval = new Node\Stmt\Break_($this->yyastk[$this->stackPos-(3-2)], $attributes); + $this->yyval = new Node\Stmt\Switch_($this->yyastk[$this->stackPos-(3-2)], $this->yyastk[$this->stackPos-(3-3)], $attributes); } protected function yyn40($attributes) { - $this->yyval = new Node\Stmt\Continue_(null, $attributes); + $this->yyval = new Node\Stmt\Break_(null, $attributes); } protected function yyn41($attributes) { - $this->yyval = new Node\Stmt\Continue_($this->yyastk[$this->stackPos-(3-2)], $attributes); + $this->yyval = new Node\Stmt\Break_($this->yyastk[$this->stackPos-(3-2)], $attributes); } protected function yyn42($attributes) { - $this->yyval = new Node\Stmt\Return_(null, $attributes); + $this->yyval = new Node\Stmt\Continue_(null, $attributes); } protected function yyn43($attributes) { - $this->yyval = new Node\Stmt\Return_($this->yyastk[$this->stackPos-(3-2)], $attributes); + $this->yyval = new Node\Stmt\Continue_($this->yyastk[$this->stackPos-(3-2)], $attributes); } protected function yyn44($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(2-1)]; + $this->yyval = new Node\Stmt\Return_(null, $attributes); } protected function yyn45($attributes) { - $this->yyval = new Node\Stmt\Global_($this->yyastk[$this->stackPos-(3-2)], $attributes); + $this->yyval = new Node\Stmt\Return_($this->yyastk[$this->stackPos-(3-2)], $attributes); } protected function yyn46($attributes) { - $this->yyval = new Node\Stmt\Static_($this->yyastk[$this->stackPos-(3-2)], $attributes); - } - - protected function yyn47($attributes) { - $this->yyval = new Node\Stmt\Echo_($this->yyastk[$this->stackPos-(3-2)], $attributes); - } - - protected function yyn48($attributes) { - $this->yyval = new Node\Stmt\InlineHTML($this->yyastk[$this->stackPos-(1-1)], $attributes); - } - - protected function yyn49($attributes) { $this->yyval = $this->yyastk[$this->stackPos-(2-1)]; } + protected function yyn47($attributes) { + $this->yyval = new Node\Stmt\Global_($this->yyastk[$this->stackPos-(3-2)], $attributes); + } + + protected function yyn48($attributes) { + $this->yyval = new Node\Stmt\Static_($this->yyastk[$this->stackPos-(3-2)], $attributes); + } + + protected function yyn49($attributes) { + $this->yyval = new Node\Stmt\Echo_($this->yyastk[$this->stackPos-(3-2)], $attributes); + } + protected function yyn50($attributes) { - $this->yyval = new Node\Stmt\Unset_($this->yyastk[$this->stackPos-(5-3)], $attributes); + $this->yyval = new Node\Stmt\InlineHTML($this->yyastk[$this->stackPos-(1-1)], $attributes); } protected function yyn51($attributes) { - $this->yyval = new Node\Stmt\Foreach_($this->yyastk[$this->stackPos-(7-3)], $this->yyastk[$this->stackPos-(7-5)][0], array('keyVar' => null, 'byRef' => $this->yyastk[$this->stackPos-(7-5)][1], 'stmts' => $this->yyastk[$this->stackPos-(7-7)]), $attributes); + $this->yyval = $this->yyastk[$this->stackPos-(2-1)]; } protected function yyn52($attributes) { - $this->yyval = new Node\Stmt\Foreach_($this->yyastk[$this->stackPos-(9-3)], $this->yyastk[$this->stackPos-(9-7)][0], array('keyVar' => $this->yyastk[$this->stackPos-(9-5)], 'byRef' => $this->yyastk[$this->stackPos-(9-7)][1], 'stmts' => $this->yyastk[$this->stackPos-(9-9)]), $attributes); + $this->yyval = new Node\Stmt\Unset_($this->yyastk[$this->stackPos-(5-3)], $attributes); } protected function yyn53($attributes) { - $this->yyval = new Node\Stmt\Declare_($this->yyastk[$this->stackPos-(5-3)], $this->yyastk[$this->stackPos-(5-5)], $attributes); + $this->yyval = new Node\Stmt\Foreach_($this->yyastk[$this->stackPos-(7-3)], $this->yyastk[$this->stackPos-(7-5)][0], array('keyVar' => null, 'byRef' => $this->yyastk[$this->stackPos-(7-5)][1], 'stmts' => $this->yyastk[$this->stackPos-(7-7)]), $attributes); } protected function yyn54($attributes) { - $this->yyval = array(); /* means: no statement */ + $this->yyval = new Node\Stmt\Foreach_($this->yyastk[$this->stackPos-(9-3)], $this->yyastk[$this->stackPos-(9-7)][0], array('keyVar' => $this->yyastk[$this->stackPos-(9-5)], 'byRef' => $this->yyastk[$this->stackPos-(9-7)][1], 'stmts' => $this->yyastk[$this->stackPos-(9-9)]), $attributes); } protected function yyn55($attributes) { - $this->yyval = new Node\Stmt\TryCatch($this->yyastk[$this->stackPos-(6-3)], $this->yyastk[$this->stackPos-(6-5)], $this->yyastk[$this->stackPos-(6-6)], $attributes); + $this->yyval = new Node\Stmt\Declare_($this->yyastk[$this->stackPos-(5-3)], $this->yyastk[$this->stackPos-(5-5)], $attributes); } protected function yyn56($attributes) { - $this->yyval = new Node\Stmt\Throw_($this->yyastk[$this->stackPos-(3-2)], $attributes); + $this->yyval = array(); /* means: no statement */ } protected function yyn57($attributes) { - $this->yyval = new Node\Stmt\Goto_($this->yyastk[$this->stackPos-(3-2)], $attributes); + $this->yyval = new Node\Stmt\TryCatch($this->yyastk[$this->stackPos-(6-3)], $this->yyastk[$this->stackPos-(6-5)], $this->yyastk[$this->stackPos-(6-6)], $attributes); } protected function yyn58($attributes) { - $this->yyval = new Node\Stmt\Label($this->yyastk[$this->stackPos-(2-1)], $attributes); + $this->yyval = new Node\Stmt\Throw_($this->yyastk[$this->stackPos-(3-2)], $attributes); } protected function yyn59($attributes) { - $this->yyval = array(); + $this->yyval = new Node\Stmt\Goto_($this->yyastk[$this->stackPos-(3-2)], $attributes); } protected function yyn60($attributes) { - $this->yyastk[$this->stackPos-(2-1)][] = $this->yyastk[$this->stackPos-(2-2)]; $this->yyval = $this->yyastk[$this->stackPos-(2-1)]; + $this->yyval = new Node\Stmt\Label($this->yyastk[$this->stackPos-(2-1)], $attributes); } protected function yyn61($attributes) { - $this->yyval = new Node\Stmt\Catch_($this->yyastk[$this->stackPos-(8-3)], substr($this->yyastk[$this->stackPos-(8-4)], 1), $this->yyastk[$this->stackPos-(8-7)], $attributes); + $this->yyval = array(); } protected function yyn62($attributes) { - $this->yyval = null; + $this->yyastk[$this->stackPos-(2-1)][] = $this->yyastk[$this->stackPos-(2-2)]; $this->yyval = $this->yyastk[$this->stackPos-(2-1)]; } protected function yyn63($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(4-3)]; + $this->yyval = new Node\Stmt\Catch_($this->yyastk[$this->stackPos-(8-3)], substr($this->yyastk[$this->stackPos-(8-4)], 1), $this->yyastk[$this->stackPos-(8-7)], $attributes); } protected function yyn64($attributes) { - $this->yyval = array($this->yyastk[$this->stackPos-(1-1)]); + $this->yyval = null; } protected function yyn65($attributes) { - $this->yyastk[$this->stackPos-(3-1)][] = $this->yyastk[$this->stackPos-(3-3)]; $this->yyval = $this->yyastk[$this->stackPos-(3-1)]; + $this->yyval = $this->yyastk[$this->stackPos-(4-3)]; } protected function yyn66($attributes) { - $this->yyval = false; + $this->yyval = array($this->yyastk[$this->stackPos-(1-1)]); } protected function yyn67($attributes) { - $this->yyval = true; + $this->yyastk[$this->stackPos-(3-1)][] = $this->yyastk[$this->stackPos-(3-3)]; $this->yyval = $this->yyastk[$this->stackPos-(3-1)]; } protected function yyn68($attributes) { @@ -1463,43 +1466,43 @@ class Parser } protected function yyn70($attributes) { - $this->yyval = new Node\Stmt\Function_($this->yyastk[$this->stackPos-(9-3)], array('byRef' => $this->yyastk[$this->stackPos-(9-2)], 'params' => $this->yyastk[$this->stackPos-(9-5)], 'stmts' => $this->yyastk[$this->stackPos-(9-8)]), $attributes); + $this->yyval = false; } protected function yyn71($attributes) { - $this->yyval = new Node\Stmt\Class_($this->yyastk[$this->stackPos-(7-2)], array('type' => $this->yyastk[$this->stackPos-(7-1)], 'extends' => $this->yyastk[$this->stackPos-(7-3)], 'implements' => $this->yyastk[$this->stackPos-(7-4)], 'stmts' => $this->yyastk[$this->stackPos-(7-6)]), $attributes); + $this->yyval = true; } protected function yyn72($attributes) { - $this->yyval = new Node\Stmt\Interface_($this->yyastk[$this->stackPos-(6-2)], array('extends' => $this->yyastk[$this->stackPos-(6-3)], 'stmts' => $this->yyastk[$this->stackPos-(6-5)]), $attributes); + $this->yyval = new Node\Stmt\Function_($this->yyastk[$this->stackPos-(9-3)], array('byRef' => $this->yyastk[$this->stackPos-(9-2)], 'params' => $this->yyastk[$this->stackPos-(9-5)], 'stmts' => $this->yyastk[$this->stackPos-(9-8)]), $attributes); } protected function yyn73($attributes) { - $this->yyval = new Node\Stmt\Trait_($this->yyastk[$this->stackPos-(5-2)], $this->yyastk[$this->stackPos-(5-4)], $attributes); + $this->yyval = new Node\Stmt\Class_($this->yyastk[$this->stackPos-(7-2)], array('type' => $this->yyastk[$this->stackPos-(7-1)], 'extends' => $this->yyastk[$this->stackPos-(7-3)], 'implements' => $this->yyastk[$this->stackPos-(7-4)], 'stmts' => $this->yyastk[$this->stackPos-(7-6)]), $attributes); } protected function yyn74($attributes) { - $this->yyval = 0; + $this->yyval = new Node\Stmt\Interface_($this->yyastk[$this->stackPos-(6-2)], array('extends' => $this->yyastk[$this->stackPos-(6-3)], 'stmts' => $this->yyastk[$this->stackPos-(6-5)]), $attributes); } protected function yyn75($attributes) { - $this->yyval = Node\Stmt\Class_::MODIFIER_ABSTRACT; + $this->yyval = new Node\Stmt\Trait_($this->yyastk[$this->stackPos-(5-2)], $this->yyastk[$this->stackPos-(5-4)], $attributes); } protected function yyn76($attributes) { - $this->yyval = Node\Stmt\Class_::MODIFIER_FINAL; + $this->yyval = 0; } protected function yyn77($attributes) { - $this->yyval = null; + $this->yyval = Node\Stmt\Class_::MODIFIER_ABSTRACT; } protected function yyn78($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(2-2)]; + $this->yyval = Node\Stmt\Class_::MODIFIER_FINAL; } protected function yyn79($attributes) { - $this->yyval = array(); + $this->yyval = null; } protected function yyn80($attributes) { @@ -1515,19 +1518,19 @@ class Parser } protected function yyn83($attributes) { - $this->yyval = array($this->yyastk[$this->stackPos-(1-1)]); + $this->yyval = array(); } protected function yyn84($attributes) { - $this->yyastk[$this->stackPos-(3-1)][] = $this->yyastk[$this->stackPos-(3-3)]; $this->yyval = $this->yyastk[$this->stackPos-(3-1)]; + $this->yyval = $this->yyastk[$this->stackPos-(2-2)]; } protected function yyn85($attributes) { - $this->yyval = is_array($this->yyastk[$this->stackPos-(1-1)]) ? $this->yyastk[$this->stackPos-(1-1)] : array($this->yyastk[$this->stackPos-(1-1)]); + $this->yyval = array($this->yyastk[$this->stackPos-(1-1)]); } protected function yyn86($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(4-2)]; + $this->yyastk[$this->stackPos-(3-1)][] = $this->yyastk[$this->stackPos-(3-3)]; $this->yyval = $this->yyastk[$this->stackPos-(3-1)]; } protected function yyn87($attributes) { @@ -1547,95 +1550,95 @@ class Parser } protected function yyn91($attributes) { - $this->yyval = array($this->yyastk[$this->stackPos-(1-1)]); - } - - protected function yyn92($attributes) { - $this->yyastk[$this->stackPos-(3-1)][] = $this->yyastk[$this->stackPos-(3-3)]; $this->yyval = $this->yyastk[$this->stackPos-(3-1)]; - } - - protected function yyn93($attributes) { - $this->yyval = new Node\Stmt\DeclareDeclare($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn94($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(3-2)]; - } - - protected function yyn95($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(4-3)]; - } - - protected function yyn96($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(4-2)]; - } - - protected function yyn97($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(5-3)]; - } - - protected function yyn98($attributes) { - $this->yyval = array(); - } - - protected function yyn99($attributes) { - $this->yyastk[$this->stackPos-(2-1)][] = $this->yyastk[$this->stackPos-(2-2)]; $this->yyval = $this->yyastk[$this->stackPos-(2-1)]; - } - - protected function yyn100($attributes) { - $this->yyval = new Node\Stmt\Case_($this->yyastk[$this->stackPos-(4-2)], $this->yyastk[$this->stackPos-(4-4)], $attributes); - } - - protected function yyn101($attributes) { - $this->yyval = new Node\Stmt\Case_(null, $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn102() { - $this->yyval = $this->yyastk[$this->stackPos]; - } - - protected function yyn103() { - $this->yyval = $this->yyastk[$this->stackPos]; - } - - protected function yyn104($attributes) { $this->yyval = is_array($this->yyastk[$this->stackPos-(1-1)]) ? $this->yyastk[$this->stackPos-(1-1)] : array($this->yyastk[$this->stackPos-(1-1)]); } - protected function yyn105($attributes) { + protected function yyn92($attributes) { $this->yyval = $this->yyastk[$this->stackPos-(4-2)]; } - protected function yyn106($attributes) { + protected function yyn93($attributes) { + $this->yyval = array($this->yyastk[$this->stackPos-(1-1)]); + } + + protected function yyn94($attributes) { + $this->yyastk[$this->stackPos-(3-1)][] = $this->yyastk[$this->stackPos-(3-3)]; $this->yyval = $this->yyastk[$this->stackPos-(3-1)]; + } + + protected function yyn95($attributes) { + $this->yyval = new Node\Stmt\DeclareDeclare($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn96($attributes) { + $this->yyval = $this->yyastk[$this->stackPos-(3-2)]; + } + + protected function yyn97($attributes) { + $this->yyval = $this->yyastk[$this->stackPos-(4-3)]; + } + + protected function yyn98($attributes) { + $this->yyval = $this->yyastk[$this->stackPos-(4-2)]; + } + + protected function yyn99($attributes) { + $this->yyval = $this->yyastk[$this->stackPos-(5-3)]; + } + + protected function yyn100($attributes) { $this->yyval = array(); } + protected function yyn101($attributes) { + $this->yyastk[$this->stackPos-(2-1)][] = $this->yyastk[$this->stackPos-(2-2)]; $this->yyval = $this->yyastk[$this->stackPos-(2-1)]; + } + + protected function yyn102($attributes) { + $this->yyval = new Node\Stmt\Case_($this->yyastk[$this->stackPos-(4-2)], $this->yyastk[$this->stackPos-(4-4)], $attributes); + } + + protected function yyn103($attributes) { + $this->yyval = new Node\Stmt\Case_(null, $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn104() { + $this->yyval = $this->yyastk[$this->stackPos]; + } + + protected function yyn105() { + $this->yyval = $this->yyastk[$this->stackPos]; + } + + protected function yyn106($attributes) { + $this->yyval = is_array($this->yyastk[$this->stackPos-(1-1)]) ? $this->yyastk[$this->stackPos-(1-1)] : array($this->yyastk[$this->stackPos-(1-1)]); + } + protected function yyn107($attributes) { - $this->yyastk[$this->stackPos-(2-1)][] = $this->yyastk[$this->stackPos-(2-2)]; $this->yyval = $this->yyastk[$this->stackPos-(2-1)]; + $this->yyval = $this->yyastk[$this->stackPos-(4-2)]; } protected function yyn108($attributes) { - $this->yyval = new Node\Stmt\ElseIf_($this->yyastk[$this->stackPos-(3-2)], is_array($this->yyastk[$this->stackPos-(3-3)]) ? $this->yyastk[$this->stackPos-(3-3)] : array($this->yyastk[$this->stackPos-(3-3)]), $attributes); - } - - protected function yyn109($attributes) { $this->yyval = array(); } - protected function yyn110($attributes) { + protected function yyn109($attributes) { $this->yyastk[$this->stackPos-(2-1)][] = $this->yyastk[$this->stackPos-(2-2)]; $this->yyval = $this->yyastk[$this->stackPos-(2-1)]; } + protected function yyn110($attributes) { + $this->yyval = new Node\Stmt\ElseIf_($this->yyastk[$this->stackPos-(3-2)], is_array($this->yyastk[$this->stackPos-(3-3)]) ? $this->yyastk[$this->stackPos-(3-3)] : array($this->yyastk[$this->stackPos-(3-3)]), $attributes); + } + protected function yyn111($attributes) { - $this->yyval = new Node\Stmt\ElseIf_($this->yyastk[$this->stackPos-(4-2)], $this->yyastk[$this->stackPos-(4-4)], $attributes); + $this->yyval = array(); } protected function yyn112($attributes) { - $this->yyval = null; + $this->yyastk[$this->stackPos-(2-1)][] = $this->yyastk[$this->stackPos-(2-2)]; $this->yyval = $this->yyastk[$this->stackPos-(2-1)]; } protected function yyn113($attributes) { - $this->yyval = new Node\Stmt\Else_(is_array($this->yyastk[$this->stackPos-(2-2)]) ? $this->yyastk[$this->stackPos-(2-2)] : array($this->yyastk[$this->stackPos-(2-2)]), $attributes); + $this->yyval = new Node\Stmt\ElseIf_($this->yyastk[$this->stackPos-(4-2)], $this->yyastk[$this->stackPos-(4-4)], $attributes); } protected function yyn114($attributes) { @@ -1643,15 +1646,15 @@ class Parser } protected function yyn115($attributes) { - $this->yyval = new Node\Stmt\Else_($this->yyastk[$this->stackPos-(3-3)], $attributes); + $this->yyval = new Node\Stmt\Else_(is_array($this->yyastk[$this->stackPos-(2-2)]) ? $this->yyastk[$this->stackPos-(2-2)] : array($this->yyastk[$this->stackPos-(2-2)]), $attributes); } protected function yyn116($attributes) { - $this->yyval = array($this->yyastk[$this->stackPos-(1-1)], false); + $this->yyval = null; } protected function yyn117($attributes) { - $this->yyval = array($this->yyastk[$this->stackPos-(2-2)], true); + $this->yyval = new Node\Stmt\Else_($this->yyastk[$this->stackPos-(3-3)], $attributes); } protected function yyn118($attributes) { @@ -1659,143 +1662,143 @@ class Parser } protected function yyn119($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; + $this->yyval = array($this->yyastk[$this->stackPos-(2-2)], true); } protected function yyn120($attributes) { - $this->yyval = array(); + $this->yyval = array($this->yyastk[$this->stackPos-(1-1)], false); } protected function yyn121($attributes) { - $this->yyval = array($this->yyastk[$this->stackPos-(1-1)]); - } - - protected function yyn122($attributes) { - $this->yyastk[$this->stackPos-(3-1)][] = $this->yyastk[$this->stackPos-(3-3)]; $this->yyval = $this->yyastk[$this->stackPos-(3-1)]; - } - - protected function yyn123($attributes) { - $this->yyval = new Node\Param(substr($this->yyastk[$this->stackPos-(4-4)], 1), null, $this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-2)], $this->yyastk[$this->stackPos-(4-3)], $attributes); - } - - protected function yyn124($attributes) { - $this->yyval = new Node\Param(substr($this->yyastk[$this->stackPos-(6-4)], 1), $this->yyastk[$this->stackPos-(6-6)], $this->yyastk[$this->stackPos-(6-1)], $this->yyastk[$this->stackPos-(6-2)], $this->yyastk[$this->stackPos-(6-3)], $attributes); - } - - protected function yyn125($attributes) { - $this->yyval = null; - } - - protected function yyn126($attributes) { $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; } + protected function yyn122($attributes) { + $this->yyval = array(); + } + + protected function yyn123($attributes) { + $this->yyval = array($this->yyastk[$this->stackPos-(1-1)]); + } + + protected function yyn124($attributes) { + $this->yyastk[$this->stackPos-(3-1)][] = $this->yyastk[$this->stackPos-(3-3)]; $this->yyval = $this->yyastk[$this->stackPos-(3-1)]; + } + + protected function yyn125($attributes) { + $this->yyval = new Node\Param(substr($this->yyastk[$this->stackPos-(4-4)], 1), null, $this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-2)], $this->yyastk[$this->stackPos-(4-3)], $attributes); + } + + protected function yyn126($attributes) { + $this->yyval = new Node\Param(substr($this->yyastk[$this->stackPos-(6-4)], 1), $this->yyastk[$this->stackPos-(6-6)], $this->yyastk[$this->stackPos-(6-1)], $this->yyastk[$this->stackPos-(6-2)], $this->yyastk[$this->stackPos-(6-3)], $attributes); + } + protected function yyn127($attributes) { - $this->yyval = 'array'; + $this->yyval = null; } protected function yyn128($attributes) { - $this->yyval = 'callable'; + $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; } protected function yyn129($attributes) { - $this->yyval = array(); + $this->yyval = 'array'; } protected function yyn130($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(3-2)]; + $this->yyval = 'callable'; } protected function yyn131($attributes) { - $this->yyval = array(new Node\Arg($this->yyastk[$this->stackPos-(3-2)], false, false, $attributes)); + $this->yyval = array(); } protected function yyn132($attributes) { - $this->yyval = array($this->yyastk[$this->stackPos-(1-1)]); + $this->yyval = $this->yyastk[$this->stackPos-(3-2)]; } protected function yyn133($attributes) { - $this->yyastk[$this->stackPos-(3-1)][] = $this->yyastk[$this->stackPos-(3-3)]; $this->yyval = $this->yyastk[$this->stackPos-(3-1)]; + $this->yyval = array(new Node\Arg($this->yyastk[$this->stackPos-(3-2)], false, false, $attributes)); } protected function yyn134($attributes) { - $this->yyval = new Node\Arg($this->yyastk[$this->stackPos-(1-1)], false, false, $attributes); + $this->yyval = array($this->yyastk[$this->stackPos-(1-1)]); } protected function yyn135($attributes) { - $this->yyval = new Node\Arg($this->yyastk[$this->stackPos-(2-2)], true, false, $attributes); + $this->yyastk[$this->stackPos-(3-1)][] = $this->yyastk[$this->stackPos-(3-3)]; $this->yyval = $this->yyastk[$this->stackPos-(3-1)]; } protected function yyn136($attributes) { - $this->yyval = new Node\Arg($this->yyastk[$this->stackPos-(2-2)], false, true, $attributes); + $this->yyval = new Node\Arg($this->yyastk[$this->stackPos-(1-1)], false, false, $attributes); } protected function yyn137($attributes) { - $this->yyastk[$this->stackPos-(3-1)][] = $this->yyastk[$this->stackPos-(3-3)]; $this->yyval = $this->yyastk[$this->stackPos-(3-1)]; + $this->yyval = new Node\Arg($this->yyastk[$this->stackPos-(2-2)], true, false, $attributes); } protected function yyn138($attributes) { - $this->yyval = array($this->yyastk[$this->stackPos-(1-1)]); + $this->yyval = new Node\Arg($this->yyastk[$this->stackPos-(2-2)], false, true, $attributes); } protected function yyn139($attributes) { - $this->yyval = new Node\Expr\Variable(substr($this->yyastk[$this->stackPos-(1-1)], 1), $attributes); - } - - protected function yyn140($attributes) { - $this->yyval = new Node\Expr\Variable($this->yyastk[$this->stackPos-(2-2)], $attributes); - } - - protected function yyn141($attributes) { - $this->yyval = new Node\Expr\Variable($this->yyastk[$this->stackPos-(4-3)], $attributes); - } - - protected function yyn142($attributes) { $this->yyastk[$this->stackPos-(3-1)][] = $this->yyastk[$this->stackPos-(3-3)]; $this->yyval = $this->yyastk[$this->stackPos-(3-1)]; } - protected function yyn143($attributes) { + protected function yyn140($attributes) { $this->yyval = array($this->yyastk[$this->stackPos-(1-1)]); } + protected function yyn141($attributes) { + $this->yyval = new Node\Expr\Variable(substr($this->yyastk[$this->stackPos-(1-1)], 1), $attributes); + } + + protected function yyn142($attributes) { + $this->yyval = new Node\Expr\Variable($this->yyastk[$this->stackPos-(2-2)], $attributes); + } + + protected function yyn143($attributes) { + $this->yyval = new Node\Expr\Variable($this->yyastk[$this->stackPos-(4-3)], $attributes); + } + protected function yyn144($attributes) { - $this->yyval = new Node\Stmt\StaticVar(substr($this->yyastk[$this->stackPos-(1-1)], 1), null, $attributes); + $this->yyastk[$this->stackPos-(3-1)][] = $this->yyastk[$this->stackPos-(3-3)]; $this->yyval = $this->yyastk[$this->stackPos-(3-1)]; } protected function yyn145($attributes) { - $this->yyval = new Node\Stmt\StaticVar(substr($this->yyastk[$this->stackPos-(3-1)], 1), $this->yyastk[$this->stackPos-(3-3)], $attributes); + $this->yyval = array($this->yyastk[$this->stackPos-(1-1)]); } protected function yyn146($attributes) { - $this->yyastk[$this->stackPos-(2-1)][] = $this->yyastk[$this->stackPos-(2-2)]; $this->yyval = $this->yyastk[$this->stackPos-(2-1)]; + $this->yyval = new Node\Stmt\StaticVar(substr($this->yyastk[$this->stackPos-(1-1)], 1), null, $attributes); } protected function yyn147($attributes) { - $this->yyval = array(); + $this->yyval = new Node\Stmt\StaticVar(substr($this->yyastk[$this->stackPos-(3-1)], 1), $this->yyastk[$this->stackPos-(3-3)], $attributes); } protected function yyn148($attributes) { - $this->yyval = new Node\Stmt\Property($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-2)], $attributes); + $this->yyastk[$this->stackPos-(2-1)][] = $this->yyastk[$this->stackPos-(2-2)]; $this->yyval = $this->yyastk[$this->stackPos-(2-1)]; } protected function yyn149($attributes) { - $this->yyval = new Node\Stmt\ClassConst($this->yyastk[$this->stackPos-(3-2)], $attributes); - } - - protected function yyn150($attributes) { - $this->yyval = new Node\Stmt\ClassMethod($this->yyastk[$this->stackPos-(8-4)], array('type' => $this->yyastk[$this->stackPos-(8-1)], 'byRef' => $this->yyastk[$this->stackPos-(8-3)], 'params' => $this->yyastk[$this->stackPos-(8-6)], 'stmts' => $this->yyastk[$this->stackPos-(8-8)]), $attributes); - } - - protected function yyn151($attributes) { - $this->yyval = new Node\Stmt\TraitUse($this->yyastk[$this->stackPos-(3-2)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn152($attributes) { $this->yyval = array(); } + protected function yyn150($attributes) { + $this->yyval = new Node\Stmt\Property($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-2)], $attributes); + } + + protected function yyn151($attributes) { + $this->yyval = new Node\Stmt\ClassConst($this->yyastk[$this->stackPos-(3-2)], $attributes); + } + + protected function yyn152($attributes) { + $this->yyval = new Node\Stmt\ClassMethod($this->yyastk[$this->stackPos-(8-4)], array('type' => $this->yyastk[$this->stackPos-(8-1)], 'byRef' => $this->yyastk[$this->stackPos-(8-3)], 'params' => $this->yyastk[$this->stackPos-(8-6)], 'stmts' => $this->yyastk[$this->stackPos-(8-8)]), $attributes); + } + protected function yyn153($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(3-2)]; + $this->yyval = new Node\Stmt\TraitUse($this->yyastk[$this->stackPos-(3-2)], $this->yyastk[$this->stackPos-(3-3)], $attributes); } protected function yyn154($attributes) { @@ -1803,423 +1806,423 @@ class Parser } protected function yyn155($attributes) { - $this->yyastk[$this->stackPos-(2-1)][] = $this->yyastk[$this->stackPos-(2-2)]; $this->yyval = $this->yyastk[$this->stackPos-(2-1)]; + $this->yyval = $this->yyastk[$this->stackPos-(3-2)]; } protected function yyn156($attributes) { - $this->yyval = new Node\Stmt\TraitUseAdaptation\Precedence($this->yyastk[$this->stackPos-(4-1)][0], $this->yyastk[$this->stackPos-(4-1)][1], $this->yyastk[$this->stackPos-(4-3)], $attributes); - } - - protected function yyn157($attributes) { - $this->yyval = new Node\Stmt\TraitUseAdaptation\Alias($this->yyastk[$this->stackPos-(5-1)][0], $this->yyastk[$this->stackPos-(5-1)][1], $this->yyastk[$this->stackPos-(5-3)], $this->yyastk[$this->stackPos-(5-4)], $attributes); - } - - protected function yyn158($attributes) { - $this->yyval = new Node\Stmt\TraitUseAdaptation\Alias($this->yyastk[$this->stackPos-(4-1)][0], $this->yyastk[$this->stackPos-(4-1)][1], $this->yyastk[$this->stackPos-(4-3)], null, $attributes); - } - - protected function yyn159($attributes) { - $this->yyval = new Node\Stmt\TraitUseAdaptation\Alias($this->yyastk[$this->stackPos-(4-1)][0], $this->yyastk[$this->stackPos-(4-1)][1], null, $this->yyastk[$this->stackPos-(4-3)], $attributes); - } - - protected function yyn160($attributes) { - $this->yyval = array($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)]); - } - - protected function yyn161($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; - } - - protected function yyn162($attributes) { - $this->yyval = array(null, $this->yyastk[$this->stackPos-(1-1)]); - } - - protected function yyn163($attributes) { - $this->yyval = null; - } - - protected function yyn164($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(3-2)]; - } - - protected function yyn165($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; - } - - protected function yyn166($attributes) { - $this->yyval = Node\Stmt\Class_::MODIFIER_PUBLIC; - } - - protected function yyn167($attributes) { - $this->yyval = Node\Stmt\Class_::MODIFIER_PUBLIC; - } - - protected function yyn168($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; - } - - protected function yyn169($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; - } - - protected function yyn170($attributes) { - Node\Stmt\Class_::verifyModifier($this->yyastk[$this->stackPos-(2-1)], $this->yyastk[$this->stackPos-(2-2)]); $this->yyval = $this->yyastk[$this->stackPos-(2-1)] | $this->yyastk[$this->stackPos-(2-2)]; - } - - protected function yyn171($attributes) { - $this->yyval = Node\Stmt\Class_::MODIFIER_PUBLIC; - } - - protected function yyn172($attributes) { - $this->yyval = Node\Stmt\Class_::MODIFIER_PROTECTED; - } - - protected function yyn173($attributes) { - $this->yyval = Node\Stmt\Class_::MODIFIER_PRIVATE; - } - - protected function yyn174($attributes) { - $this->yyval = Node\Stmt\Class_::MODIFIER_STATIC; - } - - protected function yyn175($attributes) { - $this->yyval = Node\Stmt\Class_::MODIFIER_ABSTRACT; - } - - protected function yyn176($attributes) { - $this->yyval = Node\Stmt\Class_::MODIFIER_FINAL; - } - - protected function yyn177($attributes) { - $this->yyval = array($this->yyastk[$this->stackPos-(1-1)]); - } - - protected function yyn178($attributes) { - $this->yyastk[$this->stackPos-(3-1)][] = $this->yyastk[$this->stackPos-(3-3)]; $this->yyval = $this->yyastk[$this->stackPos-(3-1)]; - } - - protected function yyn179($attributes) { - $this->yyval = new Node\Stmt\PropertyProperty(substr($this->yyastk[$this->stackPos-(1-1)], 1), null, $attributes); - } - - protected function yyn180($attributes) { - $this->yyval = new Node\Stmt\PropertyProperty(substr($this->yyastk[$this->stackPos-(3-1)], 1), $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn181($attributes) { - $this->yyastk[$this->stackPos-(3-1)][] = $this->yyastk[$this->stackPos-(3-3)]; $this->yyval = $this->yyastk[$this->stackPos-(3-1)]; - } - - protected function yyn182($attributes) { - $this->yyval = array($this->yyastk[$this->stackPos-(1-1)]); - } - - protected function yyn183($attributes) { $this->yyval = array(); } - protected function yyn184($attributes) { + protected function yyn157($attributes) { + $this->yyastk[$this->stackPos-(2-1)][] = $this->yyastk[$this->stackPos-(2-2)]; $this->yyval = $this->yyastk[$this->stackPos-(2-1)]; + } + + protected function yyn158($attributes) { + $this->yyval = new Node\Stmt\TraitUseAdaptation\Precedence($this->yyastk[$this->stackPos-(4-1)][0], $this->yyastk[$this->stackPos-(4-1)][1], $this->yyastk[$this->stackPos-(4-3)], $attributes); + } + + protected function yyn159($attributes) { + $this->yyval = new Node\Stmt\TraitUseAdaptation\Alias($this->yyastk[$this->stackPos-(5-1)][0], $this->yyastk[$this->stackPos-(5-1)][1], $this->yyastk[$this->stackPos-(5-3)], $this->yyastk[$this->stackPos-(5-4)], $attributes); + } + + protected function yyn160($attributes) { + $this->yyval = new Node\Stmt\TraitUseAdaptation\Alias($this->yyastk[$this->stackPos-(4-1)][0], $this->yyastk[$this->stackPos-(4-1)][1], $this->yyastk[$this->stackPos-(4-3)], null, $attributes); + } + + protected function yyn161($attributes) { + $this->yyval = new Node\Stmt\TraitUseAdaptation\Alias($this->yyastk[$this->stackPos-(4-1)][0], $this->yyastk[$this->stackPos-(4-1)][1], null, $this->yyastk[$this->stackPos-(4-3)], $attributes); + } + + protected function yyn162($attributes) { + $this->yyval = array($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)]); + } + + protected function yyn163($attributes) { $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; } - protected function yyn185($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; + protected function yyn164($attributes) { + $this->yyval = array(null, $this->yyastk[$this->stackPos-(1-1)]); } - protected function yyn186($attributes) { - $this->yyval = new Node\Expr\Assign($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + protected function yyn165($attributes) { + $this->yyval = null; } - protected function yyn187($attributes) { - $this->yyval = new Node\Expr\Assign($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn188($attributes) { - $this->yyval = new Node\Expr\AssignRef($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-4)], $attributes); - } - - protected function yyn189($attributes) { - $this->yyval = new Node\Expr\AssignRef($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-4)], $attributes); - } - - protected function yyn190($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; - } - - protected function yyn191($attributes) { - $this->yyval = new Node\Expr\Clone_($this->yyastk[$this->stackPos-(2-2)], $attributes); - } - - protected function yyn192($attributes) { - $this->yyval = new Node\Expr\AssignOp\Plus($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn193($attributes) { - $this->yyval = new Node\Expr\AssignOp\Minus($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn194($attributes) { - $this->yyval = new Node\Expr\AssignOp\Mul($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn195($attributes) { - $this->yyval = new Node\Expr\AssignOp\Div($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn196($attributes) { - $this->yyval = new Node\Expr\AssignOp\Concat($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn197($attributes) { - $this->yyval = new Node\Expr\AssignOp\Mod($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn198($attributes) { - $this->yyval = new Node\Expr\AssignOp\BitwiseAnd($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn199($attributes) { - $this->yyval = new Node\Expr\AssignOp\BitwiseOr($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn200($attributes) { - $this->yyval = new Node\Expr\AssignOp\BitwiseXor($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn201($attributes) { - $this->yyval = new Node\Expr\AssignOp\ShiftLeft($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn202($attributes) { - $this->yyval = new Node\Expr\AssignOp\ShiftRight($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn203($attributes) { - $this->yyval = new Node\Expr\AssignOp\Pow($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn204($attributes) { - $this->yyval = new Node\Expr\PostInc($this->yyastk[$this->stackPos-(2-1)], $attributes); - } - - protected function yyn205($attributes) { - $this->yyval = new Node\Expr\PreInc($this->yyastk[$this->stackPos-(2-2)], $attributes); - } - - protected function yyn206($attributes) { - $this->yyval = new Node\Expr\PostDec($this->yyastk[$this->stackPos-(2-1)], $attributes); - } - - protected function yyn207($attributes) { - $this->yyval = new Node\Expr\PreDec($this->yyastk[$this->stackPos-(2-2)], $attributes); - } - - protected function yyn208($attributes) { - $this->yyval = new Node\Expr\BinaryOp\BooleanOr($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn209($attributes) { - $this->yyval = new Node\Expr\BinaryOp\BooleanAnd($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn210($attributes) { - $this->yyval = new Node\Expr\BinaryOp\LogicalOr($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn211($attributes) { - $this->yyval = new Node\Expr\BinaryOp\LogicalAnd($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn212($attributes) { - $this->yyval = new Node\Expr\BinaryOp\LogicalXor($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn213($attributes) { - $this->yyval = new Node\Expr\BinaryOp\BitwiseOr($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn214($attributes) { - $this->yyval = new Node\Expr\BinaryOp\BitwiseAnd($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn215($attributes) { - $this->yyval = new Node\Expr\BinaryOp\BitwiseXor($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn216($attributes) { - $this->yyval = new Node\Expr\BinaryOp\Concat($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn217($attributes) { - $this->yyval = new Node\Expr\BinaryOp\Plus($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn218($attributes) { - $this->yyval = new Node\Expr\BinaryOp\Minus($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn219($attributes) { - $this->yyval = new Node\Expr\BinaryOp\Mul($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn220($attributes) { - $this->yyval = new Node\Expr\BinaryOp\Div($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn221($attributes) { - $this->yyval = new Node\Expr\BinaryOp\Mod($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn222($attributes) { - $this->yyval = new Node\Expr\BinaryOp\ShiftLeft($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn223($attributes) { - $this->yyval = new Node\Expr\BinaryOp\ShiftRight($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn224($attributes) { - $this->yyval = new Node\Expr\BinaryOp\Pow($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn225($attributes) { - $this->yyval = new Node\Expr\UnaryPlus($this->yyastk[$this->stackPos-(2-2)], $attributes); - } - - protected function yyn226($attributes) { - $this->yyval = new Node\Expr\UnaryMinus($this->yyastk[$this->stackPos-(2-2)], $attributes); - } - - protected function yyn227($attributes) { - $this->yyval = new Node\Expr\BooleanNot($this->yyastk[$this->stackPos-(2-2)], $attributes); - } - - protected function yyn228($attributes) { - $this->yyval = new Node\Expr\BitwiseNot($this->yyastk[$this->stackPos-(2-2)], $attributes); - } - - protected function yyn229($attributes) { - $this->yyval = new Node\Expr\BinaryOp\Identical($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn230($attributes) { - $this->yyval = new Node\Expr\BinaryOp\NotIdentical($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn231($attributes) { - $this->yyval = new Node\Expr\BinaryOp\Equal($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn232($attributes) { - $this->yyval = new Node\Expr\BinaryOp\NotEqual($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn233($attributes) { - $this->yyval = new Node\Expr\BinaryOp\Smaller($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn234($attributes) { - $this->yyval = new Node\Expr\BinaryOp\SmallerOrEqual($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn235($attributes) { - $this->yyval = new Node\Expr\BinaryOp\Greater($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn236($attributes) { - $this->yyval = new Node\Expr\BinaryOp\GreaterOrEqual($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn237($attributes) { - $this->yyval = new Node\Expr\Instanceof_($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn238($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; - } - - protected function yyn239($attributes) { + protected function yyn166($attributes) { $this->yyval = $this->yyastk[$this->stackPos-(3-2)]; } + protected function yyn167($attributes) { + $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; + } + + protected function yyn168($attributes) { + $this->yyval = Node\Stmt\Class_::MODIFIER_PUBLIC; + } + + protected function yyn169($attributes) { + $this->yyval = Node\Stmt\Class_::MODIFIER_PUBLIC; + } + + protected function yyn170($attributes) { + $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; + } + + protected function yyn171($attributes) { + $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; + } + + protected function yyn172($attributes) { + Node\Stmt\Class_::verifyModifier($this->yyastk[$this->stackPos-(2-1)], $this->yyastk[$this->stackPos-(2-2)]); $this->yyval = $this->yyastk[$this->stackPos-(2-1)] | $this->yyastk[$this->stackPos-(2-2)]; + } + + protected function yyn173($attributes) { + $this->yyval = Node\Stmt\Class_::MODIFIER_PUBLIC; + } + + protected function yyn174($attributes) { + $this->yyval = Node\Stmt\Class_::MODIFIER_PROTECTED; + } + + protected function yyn175($attributes) { + $this->yyval = Node\Stmt\Class_::MODIFIER_PRIVATE; + } + + protected function yyn176($attributes) { + $this->yyval = Node\Stmt\Class_::MODIFIER_STATIC; + } + + protected function yyn177($attributes) { + $this->yyval = Node\Stmt\Class_::MODIFIER_ABSTRACT; + } + + protected function yyn178($attributes) { + $this->yyval = Node\Stmt\Class_::MODIFIER_FINAL; + } + + protected function yyn179($attributes) { + $this->yyval = array($this->yyastk[$this->stackPos-(1-1)]); + } + + protected function yyn180($attributes) { + $this->yyastk[$this->stackPos-(3-1)][] = $this->yyastk[$this->stackPos-(3-3)]; $this->yyval = $this->yyastk[$this->stackPos-(3-1)]; + } + + protected function yyn181($attributes) { + $this->yyval = new Node\Stmt\PropertyProperty(substr($this->yyastk[$this->stackPos-(1-1)], 1), null, $attributes); + } + + protected function yyn182($attributes) { + $this->yyval = new Node\Stmt\PropertyProperty(substr($this->yyastk[$this->stackPos-(3-1)], 1), $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn183($attributes) { + $this->yyastk[$this->stackPos-(3-1)][] = $this->yyastk[$this->stackPos-(3-3)]; $this->yyval = $this->yyastk[$this->stackPos-(3-1)]; + } + + protected function yyn184($attributes) { + $this->yyval = array($this->yyastk[$this->stackPos-(1-1)]); + } + + protected function yyn185($attributes) { + $this->yyval = array(); + } + + protected function yyn186($attributes) { + $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; + } + + protected function yyn187($attributes) { + $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; + } + + protected function yyn188($attributes) { + $this->yyval = new Node\Expr\Assign($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn189($attributes) { + $this->yyval = new Node\Expr\Assign($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn190($attributes) { + $this->yyval = new Node\Expr\AssignRef($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-4)], $attributes); + } + + protected function yyn191($attributes) { + $this->yyval = new Node\Expr\AssignRef($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-4)], $attributes); + } + + protected function yyn192($attributes) { + $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; + } + + protected function yyn193($attributes) { + $this->yyval = new Node\Expr\Clone_($this->yyastk[$this->stackPos-(2-2)], $attributes); + } + + protected function yyn194($attributes) { + $this->yyval = new Node\Expr\AssignOp\Plus($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn195($attributes) { + $this->yyval = new Node\Expr\AssignOp\Minus($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn196($attributes) { + $this->yyval = new Node\Expr\AssignOp\Mul($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn197($attributes) { + $this->yyval = new Node\Expr\AssignOp\Div($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn198($attributes) { + $this->yyval = new Node\Expr\AssignOp\Concat($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn199($attributes) { + $this->yyval = new Node\Expr\AssignOp\Mod($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn200($attributes) { + $this->yyval = new Node\Expr\AssignOp\BitwiseAnd($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn201($attributes) { + $this->yyval = new Node\Expr\AssignOp\BitwiseOr($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn202($attributes) { + $this->yyval = new Node\Expr\AssignOp\BitwiseXor($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn203($attributes) { + $this->yyval = new Node\Expr\AssignOp\ShiftLeft($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn204($attributes) { + $this->yyval = new Node\Expr\AssignOp\ShiftRight($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn205($attributes) { + $this->yyval = new Node\Expr\AssignOp\Pow($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn206($attributes) { + $this->yyval = new Node\Expr\PostInc($this->yyastk[$this->stackPos-(2-1)], $attributes); + } + + protected function yyn207($attributes) { + $this->yyval = new Node\Expr\PreInc($this->yyastk[$this->stackPos-(2-2)], $attributes); + } + + protected function yyn208($attributes) { + $this->yyval = new Node\Expr\PostDec($this->yyastk[$this->stackPos-(2-1)], $attributes); + } + + protected function yyn209($attributes) { + $this->yyval = new Node\Expr\PreDec($this->yyastk[$this->stackPos-(2-2)], $attributes); + } + + protected function yyn210($attributes) { + $this->yyval = new Node\Expr\BinaryOp\BooleanOr($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn211($attributes) { + $this->yyval = new Node\Expr\BinaryOp\BooleanAnd($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn212($attributes) { + $this->yyval = new Node\Expr\BinaryOp\LogicalOr($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn213($attributes) { + $this->yyval = new Node\Expr\BinaryOp\LogicalAnd($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn214($attributes) { + $this->yyval = new Node\Expr\BinaryOp\LogicalXor($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn215($attributes) { + $this->yyval = new Node\Expr\BinaryOp\BitwiseOr($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn216($attributes) { + $this->yyval = new Node\Expr\BinaryOp\BitwiseAnd($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn217($attributes) { + $this->yyval = new Node\Expr\BinaryOp\BitwiseXor($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn218($attributes) { + $this->yyval = new Node\Expr\BinaryOp\Concat($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn219($attributes) { + $this->yyval = new Node\Expr\BinaryOp\Plus($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn220($attributes) { + $this->yyval = new Node\Expr\BinaryOp\Minus($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn221($attributes) { + $this->yyval = new Node\Expr\BinaryOp\Mul($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn222($attributes) { + $this->yyval = new Node\Expr\BinaryOp\Div($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn223($attributes) { + $this->yyval = new Node\Expr\BinaryOp\Mod($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn224($attributes) { + $this->yyval = new Node\Expr\BinaryOp\ShiftLeft($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn225($attributes) { + $this->yyval = new Node\Expr\BinaryOp\ShiftRight($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn226($attributes) { + $this->yyval = new Node\Expr\BinaryOp\Pow($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn227($attributes) { + $this->yyval = new Node\Expr\UnaryPlus($this->yyastk[$this->stackPos-(2-2)], $attributes); + } + + protected function yyn228($attributes) { + $this->yyval = new Node\Expr\UnaryMinus($this->yyastk[$this->stackPos-(2-2)], $attributes); + } + + protected function yyn229($attributes) { + $this->yyval = new Node\Expr\BooleanNot($this->yyastk[$this->stackPos-(2-2)], $attributes); + } + + protected function yyn230($attributes) { + $this->yyval = new Node\Expr\BitwiseNot($this->yyastk[$this->stackPos-(2-2)], $attributes); + } + + protected function yyn231($attributes) { + $this->yyval = new Node\Expr\BinaryOp\Identical($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn232($attributes) { + $this->yyval = new Node\Expr\BinaryOp\NotIdentical($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn233($attributes) { + $this->yyval = new Node\Expr\BinaryOp\Equal($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn234($attributes) { + $this->yyval = new Node\Expr\BinaryOp\NotEqual($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn235($attributes) { + $this->yyval = new Node\Expr\BinaryOp\Smaller($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn236($attributes) { + $this->yyval = new Node\Expr\BinaryOp\SmallerOrEqual($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn237($attributes) { + $this->yyval = new Node\Expr\BinaryOp\Greater($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn238($attributes) { + $this->yyval = new Node\Expr\BinaryOp\GreaterOrEqual($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn239($attributes) { + $this->yyval = new Node\Expr\Instanceof_($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + protected function yyn240($attributes) { - $this->yyval = new Node\Expr\Ternary($this->yyastk[$this->stackPos-(5-1)], $this->yyastk[$this->stackPos-(5-3)], $this->yyastk[$this->stackPos-(5-5)], $attributes); + $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; } protected function yyn241($attributes) { - $this->yyval = new Node\Expr\Ternary($this->yyastk[$this->stackPos-(4-1)], null, $this->yyastk[$this->stackPos-(4-4)], $attributes); + $this->yyval = $this->yyastk[$this->stackPos-(3-2)]; } protected function yyn242($attributes) { - $this->yyval = new Node\Expr\Isset_($this->yyastk[$this->stackPos-(4-3)], $attributes); + $this->yyval = new Node\Expr\Ternary($this->yyastk[$this->stackPos-(5-1)], $this->yyastk[$this->stackPos-(5-3)], $this->yyastk[$this->stackPos-(5-5)], $attributes); } protected function yyn243($attributes) { - $this->yyval = new Node\Expr\Empty_($this->yyastk[$this->stackPos-(4-3)], $attributes); + $this->yyval = new Node\Expr\Ternary($this->yyastk[$this->stackPos-(4-1)], null, $this->yyastk[$this->stackPos-(4-4)], $attributes); } protected function yyn244($attributes) { - $this->yyval = new Node\Expr\Include_($this->yyastk[$this->stackPos-(2-2)], Node\Expr\Include_::TYPE_INCLUDE, $attributes); + $this->yyval = new Node\Expr\Isset_($this->yyastk[$this->stackPos-(4-3)], $attributes); } protected function yyn245($attributes) { - $this->yyval = new Node\Expr\Include_($this->yyastk[$this->stackPos-(2-2)], Node\Expr\Include_::TYPE_INCLUDE_ONCE, $attributes); + $this->yyval = new Node\Expr\Empty_($this->yyastk[$this->stackPos-(4-3)], $attributes); } protected function yyn246($attributes) { - $this->yyval = new Node\Expr\Eval_($this->yyastk[$this->stackPos-(2-2)], $attributes); + $this->yyval = new Node\Expr\Include_($this->yyastk[$this->stackPos-(2-2)], Node\Expr\Include_::TYPE_INCLUDE, $attributes); } protected function yyn247($attributes) { - $this->yyval = new Node\Expr\Include_($this->yyastk[$this->stackPos-(2-2)], Node\Expr\Include_::TYPE_REQUIRE, $attributes); + $this->yyval = new Node\Expr\Include_($this->yyastk[$this->stackPos-(2-2)], Node\Expr\Include_::TYPE_INCLUDE_ONCE, $attributes); } protected function yyn248($attributes) { - $this->yyval = new Node\Expr\Include_($this->yyastk[$this->stackPos-(2-2)], Node\Expr\Include_::TYPE_REQUIRE_ONCE, $attributes); + $this->yyval = new Node\Expr\Eval_($this->yyastk[$this->stackPos-(2-2)], $attributes); } protected function yyn249($attributes) { - $this->yyval = new Node\Expr\Cast\Int($this->yyastk[$this->stackPos-(2-2)], $attributes); + $this->yyval = new Node\Expr\Include_($this->yyastk[$this->stackPos-(2-2)], Node\Expr\Include_::TYPE_REQUIRE, $attributes); } protected function yyn250($attributes) { - $this->yyval = new Node\Expr\Cast\Double($this->yyastk[$this->stackPos-(2-2)], $attributes); + $this->yyval = new Node\Expr\Include_($this->yyastk[$this->stackPos-(2-2)], Node\Expr\Include_::TYPE_REQUIRE_ONCE, $attributes); } protected function yyn251($attributes) { - $this->yyval = new Node\Expr\Cast\String($this->yyastk[$this->stackPos-(2-2)], $attributes); + $this->yyval = new Node\Expr\Cast\Int($this->yyastk[$this->stackPos-(2-2)], $attributes); } protected function yyn252($attributes) { - $this->yyval = new Node\Expr\Cast\Array_($this->yyastk[$this->stackPos-(2-2)], $attributes); + $this->yyval = new Node\Expr\Cast\Double($this->yyastk[$this->stackPos-(2-2)], $attributes); } protected function yyn253($attributes) { - $this->yyval = new Node\Expr\Cast\Object($this->yyastk[$this->stackPos-(2-2)], $attributes); + $this->yyval = new Node\Expr\Cast\String($this->yyastk[$this->stackPos-(2-2)], $attributes); } protected function yyn254($attributes) { - $this->yyval = new Node\Expr\Cast\Bool($this->yyastk[$this->stackPos-(2-2)], $attributes); + $this->yyval = new Node\Expr\Cast\Array_($this->yyastk[$this->stackPos-(2-2)], $attributes); } protected function yyn255($attributes) { - $this->yyval = new Node\Expr\Cast\Unset_($this->yyastk[$this->stackPos-(2-2)], $attributes); + $this->yyval = new Node\Expr\Cast\Object($this->yyastk[$this->stackPos-(2-2)], $attributes); } protected function yyn256($attributes) { - $this->yyval = new Node\Expr\Exit_($this->yyastk[$this->stackPos-(2-2)], $attributes); + $this->yyval = new Node\Expr\Cast\Bool($this->yyastk[$this->stackPos-(2-2)], $attributes); } protected function yyn257($attributes) { - $this->yyval = new Node\Expr\ErrorSuppress($this->yyastk[$this->stackPos-(2-2)], $attributes); + $this->yyval = new Node\Expr\Cast\Unset_($this->yyastk[$this->stackPos-(2-2)], $attributes); } protected function yyn258($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; + $this->yyval = new Node\Expr\Exit_($this->yyastk[$this->stackPos-(2-2)], $attributes); } protected function yyn259($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; + $this->yyval = new Node\Expr\ErrorSuppress($this->yyastk[$this->stackPos-(2-2)], $attributes); } protected function yyn260($attributes) { @@ -2227,55 +2230,55 @@ class Parser } protected function yyn261($attributes) { - $this->yyval = new Node\Expr\ShellExec($this->yyastk[$this->stackPos-(3-2)], $attributes); + $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; } protected function yyn262($attributes) { - $this->yyval = new Node\Expr\Print_($this->yyastk[$this->stackPos-(2-2)], $attributes); + $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; } protected function yyn263($attributes) { - $this->yyval = new Node\Expr\Yield_(null, null, $attributes); + $this->yyval = new Node\Expr\ShellExec($this->yyastk[$this->stackPos-(3-2)], $attributes); } protected function yyn264($attributes) { - $this->yyval = new Node\Expr\Closure(array('static' => false, 'byRef' => $this->yyastk[$this->stackPos-(9-2)], 'params' => $this->yyastk[$this->stackPos-(9-4)], 'uses' => $this->yyastk[$this->stackPos-(9-6)], 'stmts' => $this->yyastk[$this->stackPos-(9-8)]), $attributes); + $this->yyval = new Node\Expr\Print_($this->yyastk[$this->stackPos-(2-2)], $attributes); } protected function yyn265($attributes) { - $this->yyval = new Node\Expr\Closure(array('static' => true, 'byRef' => $this->yyastk[$this->stackPos-(10-3)], 'params' => $this->yyastk[$this->stackPos-(10-5)], 'uses' => $this->yyastk[$this->stackPos-(10-7)], 'stmts' => $this->yyastk[$this->stackPos-(10-9)]), $attributes); + $this->yyval = new Node\Expr\Yield_(null, null, $attributes); } protected function yyn266($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(3-2)]; + $this->yyval = new Node\Expr\Closure(array('static' => false, 'byRef' => $this->yyastk[$this->stackPos-(9-2)], 'params' => $this->yyastk[$this->stackPos-(9-4)], 'uses' => $this->yyastk[$this->stackPos-(9-6)], 'stmts' => $this->yyastk[$this->stackPos-(9-8)]), $attributes); } protected function yyn267($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(3-2)]; + $this->yyval = new Node\Expr\Closure(array('static' => true, 'byRef' => $this->yyastk[$this->stackPos-(10-3)], 'params' => $this->yyastk[$this->stackPos-(10-5)], 'uses' => $this->yyastk[$this->stackPos-(10-7)], 'stmts' => $this->yyastk[$this->stackPos-(10-9)]), $attributes); } protected function yyn268($attributes) { - $this->yyval = new Node\Expr\Yield_($this->yyastk[$this->stackPos-(2-2)], null, $attributes); + $this->yyval = $this->yyastk[$this->stackPos-(3-2)]; } protected function yyn269($attributes) { - $this->yyval = new Node\Expr\Yield_($this->yyastk[$this->stackPos-(4-4)], $this->yyastk[$this->stackPos-(4-2)], $attributes); + $this->yyval = $this->yyastk[$this->stackPos-(3-2)]; } protected function yyn270($attributes) { - $this->yyval = new Node\Expr\Array_($this->yyastk[$this->stackPos-(4-3)], $attributes); + $this->yyval = new Node\Expr\Yield_($this->yyastk[$this->stackPos-(2-2)], null, $attributes); } protected function yyn271($attributes) { - $this->yyval = new Node\Expr\Array_($this->yyastk[$this->stackPos-(3-2)], $attributes); + $this->yyval = new Node\Expr\Yield_($this->yyastk[$this->stackPos-(4-4)], $this->yyastk[$this->stackPos-(4-2)], $attributes); } protected function yyn272($attributes) { - $this->yyval = new Node\Expr\ArrayDimFetch($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-3)], $attributes); + $this->yyval = new Node\Expr\Array_($this->yyastk[$this->stackPos-(4-3)], $attributes); } protected function yyn273($attributes) { - $this->yyval = new Node\Expr\ArrayDimFetch(new Node\Scalar\String(Node\Scalar\String::parse($this->yyastk[$this->stackPos-(4-1)]), $attributes), $this->yyastk[$this->stackPos-(4-3)], $attributes); + $this->yyval = new Node\Expr\Array_($this->yyastk[$this->stackPos-(3-2)], $attributes); } protected function yyn274($attributes) { @@ -2283,42 +2286,50 @@ class Parser } protected function yyn275($attributes) { - $this->yyval = new Node\Expr\New_($this->yyastk[$this->stackPos-(3-2)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + $this->yyval = new Node\Expr\ArrayDimFetch(new Node\Scalar\String(Node\Scalar\String::parse($this->yyastk[$this->stackPos-(4-1)]), $attributes), $this->yyastk[$this->stackPos-(4-3)], $attributes); } protected function yyn276($attributes) { - $this->yyval = array(); + $this->yyval = new Node\Expr\ArrayDimFetch($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-3)], $attributes); } protected function yyn277($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(4-3)]; + $this->yyval = new Node\Expr\New_($this->yyastk[$this->stackPos-(3-2)], $this->yyastk[$this->stackPos-(3-3)], $attributes); } protected function yyn278($attributes) { - $this->yyval = array($this->yyastk[$this->stackPos-(1-1)]); + $this->yyval = array(); } protected function yyn279($attributes) { - $this->yyastk[$this->stackPos-(3-1)][] = $this->yyastk[$this->stackPos-(3-3)]; $this->yyval = $this->yyastk[$this->stackPos-(3-1)]; + $this->yyval = $this->yyastk[$this->stackPos-(4-3)]; } protected function yyn280($attributes) { - $this->yyval = new Node\Expr\ClosureUse(substr($this->yyastk[$this->stackPos-(2-2)], 1), $this->yyastk[$this->stackPos-(2-1)], $attributes); + $this->yyval = array($this->yyastk[$this->stackPos-(1-1)]); } protected function yyn281($attributes) { - $this->yyval = new Node\Expr\FuncCall($this->yyastk[$this->stackPos-(2-1)], $this->yyastk[$this->stackPos-(2-2)], $attributes); + $this->yyastk[$this->stackPos-(3-1)][] = $this->yyastk[$this->stackPos-(3-3)]; $this->yyval = $this->yyastk[$this->stackPos-(3-1)]; } protected function yyn282($attributes) { - $this->yyval = new Node\Expr\StaticCall($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-3)], $this->yyastk[$this->stackPos-(4-4)], $attributes); + $this->yyval = new Node\Expr\ClosureUse(substr($this->yyastk[$this->stackPos-(2-2)], 1), $this->yyastk[$this->stackPos-(2-1)], $attributes); } protected function yyn283($attributes) { - $this->yyval = new Node\Expr\StaticCall($this->yyastk[$this->stackPos-(6-1)], $this->yyastk[$this->stackPos-(6-4)], $this->yyastk[$this->stackPos-(6-6)], $attributes); + $this->yyval = new Node\Expr\FuncCall($this->yyastk[$this->stackPos-(2-1)], $this->yyastk[$this->stackPos-(2-2)], $attributes); } protected function yyn284($attributes) { + $this->yyval = new Node\Expr\StaticCall($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-3)], $this->yyastk[$this->stackPos-(4-4)], $attributes); + } + + protected function yyn285($attributes) { + $this->yyval = new Node\Expr\StaticCall($this->yyastk[$this->stackPos-(6-1)], $this->yyastk[$this->stackPos-(6-4)], $this->yyastk[$this->stackPos-(6-6)], $attributes); + } + + protected function yyn286($attributes) { if ($this->yyastk[$this->stackPos-(2-1)] instanceof Node\Expr\StaticPropertyFetch) { $this->yyval = new Node\Expr\StaticCall($this->yyastk[$this->stackPos-(2-1)]->class, new Node\Expr\Variable($this->yyastk[$this->stackPos-(2-1)]->name, $attributes), $this->yyastk[$this->stackPos-(2-2)], $attributes); @@ -2336,40 +2347,32 @@ class Parser } - protected function yyn285($attributes) { + protected function yyn287($attributes) { $this->yyval = new Node\Expr\FuncCall($this->yyastk[$this->stackPos-(2-1)], $this->yyastk[$this->stackPos-(2-2)], $attributes); } - protected function yyn286($attributes) { + protected function yyn288($attributes) { $this->yyval = new Node\Expr\ArrayDimFetch($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-3)], $attributes); } - protected function yyn287($attributes) { + protected function yyn289($attributes) { $this->yyval = new Node\Name('static', $attributes); } - protected function yyn288($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; - } - - protected function yyn289($attributes) { - $this->yyval = new Node\Name($this->yyastk[$this->stackPos-(1-1)], $attributes); - } - protected function yyn290($attributes) { - $this->yyval = new Node\Name\FullyQualified($this->yyastk[$this->stackPos-(2-2)], $attributes); + $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; } protected function yyn291($attributes) { - $this->yyval = new Node\Name\Relative($this->yyastk[$this->stackPos-(3-3)], $attributes); + $this->yyval = new Node\Name($this->yyastk[$this->stackPos-(1-1)], $attributes); } protected function yyn292($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; + $this->yyval = new Node\Name\FullyQualified($this->yyastk[$this->stackPos-(2-2)], $attributes); } protected function yyn293($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; + $this->yyval = new Node\Name\Relative($this->yyastk[$this->stackPos-(3-3)], $attributes); } protected function yyn294($attributes) { @@ -2388,132 +2391,132 @@ class Parser $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; } - protected function yyn298() { - $this->yyval = $this->yyastk[$this->stackPos]; + protected function yyn298($attributes) { + $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; } protected function yyn299($attributes) { - $this->yyval = new Node\Expr\PropertyFetch($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; } - protected function yyn300($attributes) { - $this->yyval = new Node\Expr\PropertyFetch($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + protected function yyn300() { + $this->yyval = $this->yyastk[$this->stackPos]; } protected function yyn301($attributes) { - $this->yyval = new Node\Expr\ArrayDimFetch($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-3)], $attributes); + $this->yyval = new Node\Expr\PropertyFetch($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); } protected function yyn302($attributes) { - $this->yyval = new Node\Expr\ArrayDimFetch($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-3)], $attributes); + $this->yyval = new Node\Expr\PropertyFetch($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); } protected function yyn303($attributes) { - $this->yyval = null; + $this->yyval = new Node\Expr\ArrayDimFetch($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-3)], $attributes); } protected function yyn304($attributes) { - $this->yyval = null; + $this->yyval = new Node\Expr\ArrayDimFetch($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-3)], $attributes); } protected function yyn305($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; + $this->yyval = null; } protected function yyn306($attributes) { - $this->yyval = array(); + $this->yyval = null; } protected function yyn307($attributes) { - $this->yyval = array(Node\Scalar\String::parseEscapeSequences($this->yyastk[$this->stackPos-(1-1)], '`')); + $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; } protected function yyn308($attributes) { - foreach ($this->yyastk[$this->stackPos-(1-1)] as &$s) { if (is_string($s)) { $s = Node\Scalar\String::parseEscapeSequences($s, '`'); } }; $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; - } - - protected function yyn309($attributes) { $this->yyval = array(); } + protected function yyn309($attributes) { + $this->yyval = array(Node\Scalar\String::parseEscapeSequences($this->yyastk[$this->stackPos-(1-1)], '`')); + } + protected function yyn310($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; + foreach ($this->yyastk[$this->stackPos-(1-1)] as &$s) { if (is_string($s)) { $s = Node\Scalar\String::parseEscapeSequences($s, '`'); } }; $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; } protected function yyn311($attributes) { - $this->yyval = new Node\Scalar\LNumber(Node\Scalar\LNumber::parse($this->yyastk[$this->stackPos-(1-1)]), $attributes); + $this->yyval = array(); } protected function yyn312($attributes) { - $this->yyval = new Node\Scalar\DNumber(Node\Scalar\DNumber::parse($this->yyastk[$this->stackPos-(1-1)]), $attributes); + $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; } protected function yyn313($attributes) { - $this->yyval = new Node\Scalar\String(Node\Scalar\String::parse($this->yyastk[$this->stackPos-(1-1)]), $attributes); + $this->yyval = new Node\Scalar\LNumber(Node\Scalar\LNumber::parse($this->yyastk[$this->stackPos-(1-1)]), $attributes); } protected function yyn314($attributes) { - $this->yyval = new Node\Scalar\MagicConst\Line($attributes); + $this->yyval = new Node\Scalar\DNumber(Node\Scalar\DNumber::parse($this->yyastk[$this->stackPos-(1-1)]), $attributes); } protected function yyn315($attributes) { - $this->yyval = new Node\Scalar\MagicConst\File($attributes); + $this->yyval = new Node\Scalar\String(Node\Scalar\String::parse($this->yyastk[$this->stackPos-(1-1)]), $attributes); } protected function yyn316($attributes) { - $this->yyval = new Node\Scalar\MagicConst\Dir($attributes); + $this->yyval = new Node\Scalar\MagicConst\Line($attributes); } protected function yyn317($attributes) { - $this->yyval = new Node\Scalar\MagicConst\Class_($attributes); + $this->yyval = new Node\Scalar\MagicConst\File($attributes); } protected function yyn318($attributes) { - $this->yyval = new Node\Scalar\MagicConst\Trait_($attributes); + $this->yyval = new Node\Scalar\MagicConst\Dir($attributes); } protected function yyn319($attributes) { - $this->yyval = new Node\Scalar\MagicConst\Method($attributes); + $this->yyval = new Node\Scalar\MagicConst\Class_($attributes); } protected function yyn320($attributes) { - $this->yyval = new Node\Scalar\MagicConst\Function_($attributes); + $this->yyval = new Node\Scalar\MagicConst\Trait_($attributes); } protected function yyn321($attributes) { - $this->yyval = new Node\Scalar\MagicConst\Namespace_($attributes); + $this->yyval = new Node\Scalar\MagicConst\Method($attributes); } protected function yyn322($attributes) { - $this->yyval = new Node\Scalar\String(Node\Scalar\String::parseDocString($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-2)]), $attributes); + $this->yyval = new Node\Scalar\MagicConst\Function_($attributes); } protected function yyn323($attributes) { - $this->yyval = new Node\Scalar\String('', $attributes); + $this->yyval = new Node\Scalar\MagicConst\Namespace_($attributes); } protected function yyn324($attributes) { - $this->yyval = new Node\Expr\ConstFetch($this->yyastk[$this->stackPos-(1-1)], $attributes); + $this->yyval = new Node\Scalar\String(Node\Scalar\String::parseDocString($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-2)]), $attributes); } protected function yyn325($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; + $this->yyval = new Node\Scalar\String('', $attributes); } protected function yyn326($attributes) { - $this->yyval = new Node\Expr\Array_($this->yyastk[$this->stackPos-(4-3)], $attributes); + $this->yyval = new Node\Expr\ConstFetch($this->yyastk[$this->stackPos-(1-1)], $attributes); } protected function yyn327($attributes) { - $this->yyval = new Node\Expr\Array_($this->yyastk[$this->stackPos-(3-2)], $attributes); - } - - protected function yyn328($attributes) { $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; } + protected function yyn328($attributes) { + $this->yyval = new Node\Expr\Array_($this->yyastk[$this->stackPos-(4-3)], $attributes); + } + protected function yyn329($attributes) { - $this->yyval = new Node\Expr\ClassConstFetch($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + $this->yyval = new Node\Expr\Array_($this->yyastk[$this->stackPos-(3-2)], $attributes); } protected function yyn330($attributes) { @@ -2521,195 +2524,195 @@ class Parser } protected function yyn331($attributes) { - $this->yyval = new Node\Expr\BinaryOp\BooleanOr($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn332($attributes) { - $this->yyval = new Node\Expr\BinaryOp\BooleanAnd($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn333($attributes) { - $this->yyval = new Node\Expr\BinaryOp\LogicalOr($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn334($attributes) { - $this->yyval = new Node\Expr\BinaryOp\LogicalAnd($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn335($attributes) { - $this->yyval = new Node\Expr\BinaryOp\LogicalXor($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn336($attributes) { - $this->yyval = new Node\Expr\BinaryOp\BitwiseOr($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn337($attributes) { - $this->yyval = new Node\Expr\BinaryOp\BitwiseAnd($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn338($attributes) { - $this->yyval = new Node\Expr\BinaryOp\BitwiseXor($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn339($attributes) { - $this->yyval = new Node\Expr\BinaryOp\Concat($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn340($attributes) { - $this->yyval = new Node\Expr\BinaryOp\Plus($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn341($attributes) { - $this->yyval = new Node\Expr\BinaryOp\Minus($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn342($attributes) { - $this->yyval = new Node\Expr\BinaryOp\Mul($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn343($attributes) { - $this->yyval = new Node\Expr\BinaryOp\Div($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn344($attributes) { - $this->yyval = new Node\Expr\BinaryOp\Mod($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn345($attributes) { - $this->yyval = new Node\Expr\BinaryOp\ShiftLeft($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn346($attributes) { - $this->yyval = new Node\Expr\BinaryOp\ShiftRight($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn347($attributes) { - $this->yyval = new Node\Expr\BinaryOp\Pow($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn348($attributes) { - $this->yyval = new Node\Expr\UnaryPlus($this->yyastk[$this->stackPos-(2-2)], $attributes); - } - - protected function yyn349($attributes) { - $this->yyval = new Node\Expr\UnaryMinus($this->yyastk[$this->stackPos-(2-2)], $attributes); - } - - protected function yyn350($attributes) { - $this->yyval = new Node\Expr\BooleanNot($this->yyastk[$this->stackPos-(2-2)], $attributes); - } - - protected function yyn351($attributes) { - $this->yyval = new Node\Expr\BitwiseNot($this->yyastk[$this->stackPos-(2-2)], $attributes); - } - - protected function yyn352($attributes) { - $this->yyval = new Node\Expr\BinaryOp\Identical($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn353($attributes) { - $this->yyval = new Node\Expr\BinaryOp\NotIdentical($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn354($attributes) { - $this->yyval = new Node\Expr\BinaryOp\Equal($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn355($attributes) { - $this->yyval = new Node\Expr\BinaryOp\NotEqual($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn356($attributes) { - $this->yyval = new Node\Expr\BinaryOp\Smaller($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn357($attributes) { - $this->yyval = new Node\Expr\BinaryOp\SmallerOrEqual($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn358($attributes) { - $this->yyval = new Node\Expr\BinaryOp\Greater($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn359($attributes) { - $this->yyval = new Node\Expr\BinaryOp\GreaterOrEqual($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn360($attributes) { - $this->yyval = new Node\Expr\Ternary($this->yyastk[$this->stackPos-(5-1)], $this->yyastk[$this->stackPos-(5-3)], $this->yyastk[$this->stackPos-(5-5)], $attributes); - } - - protected function yyn361($attributes) { - $this->yyval = new Node\Expr\Ternary($this->yyastk[$this->stackPos-(4-1)], null, $this->yyastk[$this->stackPos-(4-4)], $attributes); - } - - protected function yyn362($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(3-2)]; - } - - protected function yyn363($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; - } - - protected function yyn364($attributes) { $this->yyval = new Node\Expr\ClassConstFetch($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); } + protected function yyn332($attributes) { + $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; + } + + protected function yyn333($attributes) { + $this->yyval = new Node\Expr\BinaryOp\BooleanOr($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn334($attributes) { + $this->yyval = new Node\Expr\BinaryOp\BooleanAnd($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn335($attributes) { + $this->yyval = new Node\Expr\BinaryOp\LogicalOr($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn336($attributes) { + $this->yyval = new Node\Expr\BinaryOp\LogicalAnd($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn337($attributes) { + $this->yyval = new Node\Expr\BinaryOp\LogicalXor($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn338($attributes) { + $this->yyval = new Node\Expr\BinaryOp\BitwiseOr($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn339($attributes) { + $this->yyval = new Node\Expr\BinaryOp\BitwiseAnd($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn340($attributes) { + $this->yyval = new Node\Expr\BinaryOp\BitwiseXor($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn341($attributes) { + $this->yyval = new Node\Expr\BinaryOp\Concat($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn342($attributes) { + $this->yyval = new Node\Expr\BinaryOp\Plus($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn343($attributes) { + $this->yyval = new Node\Expr\BinaryOp\Minus($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn344($attributes) { + $this->yyval = new Node\Expr\BinaryOp\Mul($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn345($attributes) { + $this->yyval = new Node\Expr\BinaryOp\Div($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn346($attributes) { + $this->yyval = new Node\Expr\BinaryOp\Mod($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn347($attributes) { + $this->yyval = new Node\Expr\BinaryOp\ShiftLeft($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn348($attributes) { + $this->yyval = new Node\Expr\BinaryOp\ShiftRight($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn349($attributes) { + $this->yyval = new Node\Expr\BinaryOp\Pow($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn350($attributes) { + $this->yyval = new Node\Expr\UnaryPlus($this->yyastk[$this->stackPos-(2-2)], $attributes); + } + + protected function yyn351($attributes) { + $this->yyval = new Node\Expr\UnaryMinus($this->yyastk[$this->stackPos-(2-2)], $attributes); + } + + protected function yyn352($attributes) { + $this->yyval = new Node\Expr\BooleanNot($this->yyastk[$this->stackPos-(2-2)], $attributes); + } + + protected function yyn353($attributes) { + $this->yyval = new Node\Expr\BitwiseNot($this->yyastk[$this->stackPos-(2-2)], $attributes); + } + + protected function yyn354($attributes) { + $this->yyval = new Node\Expr\BinaryOp\Identical($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn355($attributes) { + $this->yyval = new Node\Expr\BinaryOp\NotIdentical($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn356($attributes) { + $this->yyval = new Node\Expr\BinaryOp\Equal($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn357($attributes) { + $this->yyval = new Node\Expr\BinaryOp\NotEqual($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn358($attributes) { + $this->yyval = new Node\Expr\BinaryOp\Smaller($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn359($attributes) { + $this->yyval = new Node\Expr\BinaryOp\SmallerOrEqual($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn360($attributes) { + $this->yyval = new Node\Expr\BinaryOp\Greater($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn361($attributes) { + $this->yyval = new Node\Expr\BinaryOp\GreaterOrEqual($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn362($attributes) { + $this->yyval = new Node\Expr\Ternary($this->yyastk[$this->stackPos-(5-1)], $this->yyastk[$this->stackPos-(5-3)], $this->yyastk[$this->stackPos-(5-5)], $attributes); + } + + protected function yyn363($attributes) { + $this->yyval = new Node\Expr\Ternary($this->yyastk[$this->stackPos-(4-1)], null, $this->yyastk[$this->stackPos-(4-4)], $attributes); + } + + protected function yyn364($attributes) { + $this->yyval = $this->yyastk[$this->stackPos-(3-2)]; + } + protected function yyn365($attributes) { - foreach ($this->yyastk[$this->stackPos-(3-2)] as &$s) { if (is_string($s)) { $s = Node\Scalar\String::parseEscapeSequences($s, '"'); } }; $this->yyval = new Node\Scalar\Encapsed($this->yyastk[$this->stackPos-(3-2)], $attributes); + $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; } protected function yyn366($attributes) { - foreach ($this->yyastk[$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->yyastk[$this->stackPos-(3-2)]);; $this->yyval = new Node\Scalar\Encapsed($this->yyastk[$this->stackPos-(3-2)], $attributes); + $this->yyval = new Node\Expr\ClassConstFetch($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); } protected function yyn367($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; + foreach ($this->yyastk[$this->stackPos-(3-2)] as &$s) { if (is_string($s)) { $s = Node\Scalar\String::parseEscapeSequences($s, '"'); } }; $this->yyval = new Node\Scalar\Encapsed($this->yyastk[$this->stackPos-(3-2)], $attributes); } protected function yyn368($attributes) { - $this->yyval = 'class'; + foreach ($this->yyastk[$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->yyastk[$this->stackPos-(3-2)]);; $this->yyval = new Node\Scalar\Encapsed($this->yyastk[$this->stackPos-(3-2)], $attributes); } protected function yyn369($attributes) { - $this->yyval = array(); + $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; } protected function yyn370($attributes) { + $this->yyval = 'class'; + } + + protected function yyn371($attributes) { + $this->yyval = array(); + } + + protected function yyn372($attributes) { $this->yyval = $this->yyastk[$this->stackPos-(2-1)]; } - protected function yyn371() { + protected function yyn373() { $this->yyval = $this->yyastk[$this->stackPos]; } - protected function yyn372() { + protected function yyn374() { $this->yyval = $this->yyastk[$this->stackPos]; } - protected function yyn373($attributes) { - $this->yyastk[$this->stackPos-(3-1)][] = $this->yyastk[$this->stackPos-(3-3)]; $this->yyval = $this->yyastk[$this->stackPos-(3-1)]; - } - - protected function yyn374($attributes) { - $this->yyval = array($this->yyastk[$this->stackPos-(1-1)]); - } - protected function yyn375($attributes) { - $this->yyval = new Node\Expr\ArrayItem($this->yyastk[$this->stackPos-(3-3)], $this->yyastk[$this->stackPos-(3-1)], false, $attributes); + $this->yyastk[$this->stackPos-(3-1)][] = $this->yyastk[$this->stackPos-(3-3)]; $this->yyval = $this->yyastk[$this->stackPos-(3-1)]; } protected function yyn376($attributes) { - $this->yyval = new Node\Expr\ArrayItem($this->yyastk[$this->stackPos-(1-1)], null, false, $attributes); + $this->yyval = array($this->yyastk[$this->stackPos-(1-1)]); } protected function yyn377($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; + $this->yyval = new Node\Expr\ArrayItem($this->yyastk[$this->stackPos-(3-3)], $this->yyastk[$this->stackPos-(3-1)], false, $attributes); } protected function yyn378($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; + $this->yyval = new Node\Expr\ArrayItem($this->yyastk[$this->stackPos-(1-1)], null, false, $attributes); } protected function yyn379($attributes) { @@ -2721,39 +2724,39 @@ class Parser } protected function yyn381($attributes) { - $this->yyval = new Node\Expr\ArrayDimFetch($this->yyastk[$this->stackPos-(6-2)], $this->yyastk[$this->stackPos-(6-5)], $attributes); - } - - protected function yyn382($attributes) { - $this->yyval = new Node\Expr\ArrayDimFetch($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-3)], $attributes); - } - - protected function yyn383($attributes) { - $this->yyval = new Node\Expr\PropertyFetch($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn384($attributes) { - $this->yyval = new Node\Expr\MethodCall($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-3)], $this->yyastk[$this->stackPos-(4-4)], $attributes); - } - - protected function yyn385($attributes) { - $this->yyval = new Node\Expr\FuncCall($this->yyastk[$this->stackPos-(2-1)], $this->yyastk[$this->stackPos-(2-2)], $attributes); - } - - protected function yyn386($attributes) { - $this->yyval = new Node\Expr\ArrayDimFetch($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-3)], $attributes); - } - - protected function yyn387($attributes) { - $this->yyval = new Node\Expr\ArrayDimFetch($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-3)], $attributes); - } - - protected function yyn388($attributes) { $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; } + protected function yyn382($attributes) { + $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; + } + + protected function yyn383($attributes) { + $this->yyval = new Node\Expr\ArrayDimFetch($this->yyastk[$this->stackPos-(6-2)], $this->yyastk[$this->stackPos-(6-5)], $attributes); + } + + protected function yyn384($attributes) { + $this->yyval = new Node\Expr\ArrayDimFetch($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-3)], $attributes); + } + + protected function yyn385($attributes) { + $this->yyval = new Node\Expr\PropertyFetch($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn386($attributes) { + $this->yyval = new Node\Expr\MethodCall($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-3)], $this->yyastk[$this->stackPos-(4-4)], $attributes); + } + + protected function yyn387($attributes) { + $this->yyval = new Node\Expr\FuncCall($this->yyastk[$this->stackPos-(2-1)], $this->yyastk[$this->stackPos-(2-2)], $attributes); + } + + protected function yyn388($attributes) { + $this->yyval = new Node\Expr\ArrayDimFetch($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-3)], $attributes); + } + protected function yyn389($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(3-2)]; + $this->yyval = new Node\Expr\ArrayDimFetch($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-3)], $attributes); } protected function yyn390($attributes) { @@ -2761,7 +2764,7 @@ class Parser } protected function yyn391($attributes) { - $this->yyval = new Node\Expr\Variable($this->yyastk[$this->stackPos-(2-2)], $attributes); + $this->yyval = $this->yyastk[$this->stackPos-(3-2)]; } protected function yyn392($attributes) { @@ -2769,11 +2772,11 @@ class Parser } protected function yyn393($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; + $this->yyval = new Node\Expr\Variable($this->yyastk[$this->stackPos-(2-2)], $attributes); } protected function yyn394($attributes) { - $this->yyval = new Node\Expr\StaticPropertyFetch($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-4)], $attributes); + $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; } protected function yyn395($attributes) { @@ -2781,19 +2784,19 @@ class Parser } protected function yyn396($attributes) { - $this->yyval = new Node\Expr\StaticPropertyFetch($this->yyastk[$this->stackPos-(3-1)], substr($this->yyastk[$this->stackPos-(3-3)], 1), $attributes); + $this->yyval = new Node\Expr\StaticPropertyFetch($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-4)], $attributes); } protected function yyn397($attributes) { - $this->yyval = new Node\Expr\StaticPropertyFetch($this->yyastk[$this->stackPos-(6-1)], $this->yyastk[$this->stackPos-(6-5)], $attributes); + $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; } protected function yyn398($attributes) { - $this->yyval = new Node\Expr\ArrayDimFetch($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-3)], $attributes); + $this->yyval = new Node\Expr\StaticPropertyFetch($this->yyastk[$this->stackPos-(3-1)], substr($this->yyastk[$this->stackPos-(3-3)], 1), $attributes); } protected function yyn399($attributes) { - $this->yyval = new Node\Expr\ArrayDimFetch($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-3)], $attributes); + $this->yyval = new Node\Expr\StaticPropertyFetch($this->yyastk[$this->stackPos-(6-1)], $this->yyastk[$this->stackPos-(6-5)], $attributes); } protected function yyn400($attributes) { @@ -2805,27 +2808,27 @@ class Parser } protected function yyn402($attributes) { - $this->yyval = new Node\Expr\Variable(substr($this->yyastk[$this->stackPos-(1-1)], 1), $attributes); + $this->yyval = new Node\Expr\ArrayDimFetch($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-3)], $attributes); } protected function yyn403($attributes) { - $this->yyval = new Node\Expr\Variable($this->yyastk[$this->stackPos-(4-3)], $attributes); + $this->yyval = new Node\Expr\ArrayDimFetch($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-3)], $attributes); } protected function yyn404($attributes) { - $this->yyval = null; + $this->yyval = new Node\Expr\Variable(substr($this->yyastk[$this->stackPos-(1-1)], 1), $attributes); } protected function yyn405($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; + $this->yyval = new Node\Expr\Variable($this->yyastk[$this->stackPos-(4-3)], $attributes); } protected function yyn406($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; + $this->yyval = null; } protected function yyn407($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(3-2)]; + $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; } protected function yyn408($attributes) { @@ -2833,114 +2836,122 @@ class Parser } protected function yyn409($attributes) { - $this->yyval = new Node\Expr\List_($this->yyastk[$this->stackPos-(4-3)], $attributes); - } - - protected function yyn410($attributes) { - $this->yyastk[$this->stackPos-(3-1)][] = $this->yyastk[$this->stackPos-(3-3)]; $this->yyval = $this->yyastk[$this->stackPos-(3-1)]; - } - - protected function yyn411($attributes) { - $this->yyval = array($this->yyastk[$this->stackPos-(1-1)]); - } - - protected function yyn412($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; - } - - protected function yyn413($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; - } - - protected function yyn414($attributes) { - $this->yyval = null; - } - - protected function yyn415($attributes) { - $this->yyval = array(); - } - - protected function yyn416($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(2-1)]; - } - - protected function yyn417($attributes) { - $this->yyastk[$this->stackPos-(3-1)][] = $this->yyastk[$this->stackPos-(3-3)]; $this->yyval = $this->yyastk[$this->stackPos-(3-1)]; - } - - protected function yyn418($attributes) { - $this->yyval = array($this->yyastk[$this->stackPos-(1-1)]); - } - - protected function yyn419($attributes) { - $this->yyval = new Node\Expr\ArrayItem($this->yyastk[$this->stackPos-(3-3)], $this->yyastk[$this->stackPos-(3-1)], false, $attributes); - } - - protected function yyn420($attributes) { - $this->yyval = new Node\Expr\ArrayItem($this->yyastk[$this->stackPos-(1-1)], null, false, $attributes); - } - - protected function yyn421($attributes) { - $this->yyval = new Node\Expr\ArrayItem($this->yyastk[$this->stackPos-(4-4)], $this->yyastk[$this->stackPos-(4-1)], true, $attributes); - } - - protected function yyn422($attributes) { - $this->yyval = new Node\Expr\ArrayItem($this->yyastk[$this->stackPos-(2-2)], null, true, $attributes); - } - - protected function yyn423($attributes) { - $this->yyastk[$this->stackPos-(2-1)][] = $this->yyastk[$this->stackPos-(2-2)]; $this->yyval = $this->yyastk[$this->stackPos-(2-1)]; - } - - protected function yyn424($attributes) { - $this->yyastk[$this->stackPos-(2-1)][] = $this->yyastk[$this->stackPos-(2-2)]; $this->yyval = $this->yyastk[$this->stackPos-(2-1)]; - } - - protected function yyn425($attributes) { - $this->yyval = array($this->yyastk[$this->stackPos-(1-1)]); - } - - protected function yyn426($attributes) { - $this->yyval = array($this->yyastk[$this->stackPos-(2-1)], $this->yyastk[$this->stackPos-(2-2)]); - } - - protected function yyn427($attributes) { - $this->yyval = new Node\Expr\Variable(substr($this->yyastk[$this->stackPos-(1-1)], 1), $attributes); - } - - protected function yyn428($attributes) { - $this->yyval = new Node\Expr\ArrayDimFetch(new Node\Expr\Variable(substr($this->yyastk[$this->stackPos-(4-1)], 1), $attributes), $this->yyastk[$this->stackPos-(4-3)], $attributes); - } - - protected function yyn429($attributes) { - $this->yyval = new Node\Expr\PropertyFetch(new Node\Expr\Variable(substr($this->yyastk[$this->stackPos-(3-1)], 1), $attributes), $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn430($attributes) { - $this->yyval = new Node\Expr\Variable($this->yyastk[$this->stackPos-(3-2)], $attributes); - } - - protected function yyn431($attributes) { - $this->yyval = new Node\Expr\Variable($this->yyastk[$this->stackPos-(3-2)], $attributes); - } - - protected function yyn432($attributes) { - $this->yyval = new Node\Expr\ArrayDimFetch(new Node\Expr\Variable($this->yyastk[$this->stackPos-(6-2)], $attributes), $this->yyastk[$this->stackPos-(6-4)], $attributes); - } - - protected function yyn433($attributes) { $this->yyval = $this->yyastk[$this->stackPos-(3-2)]; } + protected function yyn410($attributes) { + $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; + } + + protected function yyn411($attributes) { + $this->yyval = new Node\Expr\List_($this->yyastk[$this->stackPos-(4-3)], $attributes); + } + + protected function yyn412($attributes) { + $this->yyastk[$this->stackPos-(3-1)][] = $this->yyastk[$this->stackPos-(3-3)]; $this->yyval = $this->yyastk[$this->stackPos-(3-1)]; + } + + protected function yyn413($attributes) { + $this->yyval = array($this->yyastk[$this->stackPos-(1-1)]); + } + + protected function yyn414($attributes) { + $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; + } + + protected function yyn415($attributes) { + $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; + } + + protected function yyn416($attributes) { + $this->yyval = null; + } + + protected function yyn417($attributes) { + $this->yyval = array(); + } + + protected function yyn418($attributes) { + $this->yyval = $this->yyastk[$this->stackPos-(2-1)]; + } + + protected function yyn419($attributes) { + $this->yyastk[$this->stackPos-(3-1)][] = $this->yyastk[$this->stackPos-(3-3)]; $this->yyval = $this->yyastk[$this->stackPos-(3-1)]; + } + + protected function yyn420($attributes) { + $this->yyval = array($this->yyastk[$this->stackPos-(1-1)]); + } + + protected function yyn421($attributes) { + $this->yyval = new Node\Expr\ArrayItem($this->yyastk[$this->stackPos-(3-3)], $this->yyastk[$this->stackPos-(3-1)], false, $attributes); + } + + protected function yyn422($attributes) { + $this->yyval = new Node\Expr\ArrayItem($this->yyastk[$this->stackPos-(1-1)], null, false, $attributes); + } + + protected function yyn423($attributes) { + $this->yyval = new Node\Expr\ArrayItem($this->yyastk[$this->stackPos-(4-4)], $this->yyastk[$this->stackPos-(4-1)], true, $attributes); + } + + protected function yyn424($attributes) { + $this->yyval = new Node\Expr\ArrayItem($this->yyastk[$this->stackPos-(2-2)], null, true, $attributes); + } + + protected function yyn425($attributes) { + $this->yyastk[$this->stackPos-(2-1)][] = $this->yyastk[$this->stackPos-(2-2)]; $this->yyval = $this->yyastk[$this->stackPos-(2-1)]; + } + + protected function yyn426($attributes) { + $this->yyastk[$this->stackPos-(2-1)][] = $this->yyastk[$this->stackPos-(2-2)]; $this->yyval = $this->yyastk[$this->stackPos-(2-1)]; + } + + protected function yyn427($attributes) { + $this->yyval = array($this->yyastk[$this->stackPos-(1-1)]); + } + + protected function yyn428($attributes) { + $this->yyval = array($this->yyastk[$this->stackPos-(2-1)], $this->yyastk[$this->stackPos-(2-2)]); + } + + protected function yyn429($attributes) { + $this->yyval = new Node\Expr\Variable(substr($this->yyastk[$this->stackPos-(1-1)], 1), $attributes); + } + + protected function yyn430($attributes) { + $this->yyval = new Node\Expr\ArrayDimFetch(new Node\Expr\Variable(substr($this->yyastk[$this->stackPos-(4-1)], 1), $attributes), $this->yyastk[$this->stackPos-(4-3)], $attributes); + } + + protected function yyn431($attributes) { + $this->yyval = new Node\Expr\PropertyFetch(new Node\Expr\Variable(substr($this->yyastk[$this->stackPos-(3-1)], 1), $attributes), $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn432($attributes) { + $this->yyval = new Node\Expr\Variable($this->yyastk[$this->stackPos-(3-2)], $attributes); + } + + protected function yyn433($attributes) { + $this->yyval = new Node\Expr\Variable($this->yyastk[$this->stackPos-(3-2)], $attributes); + } + protected function yyn434($attributes) { - $this->yyval = new Node\Scalar\String($this->yyastk[$this->stackPos-(1-1)], $attributes); + $this->yyval = new Node\Expr\ArrayDimFetch(new Node\Expr\Variable($this->yyastk[$this->stackPos-(6-2)], $attributes), $this->yyastk[$this->stackPos-(6-4)], $attributes); } protected function yyn435($attributes) { - $this->yyval = new Node\Scalar\String($this->yyastk[$this->stackPos-(1-1)], $attributes); + $this->yyval = $this->yyastk[$this->stackPos-(3-2)]; } protected function yyn436($attributes) { + $this->yyval = new Node\Scalar\String($this->yyastk[$this->stackPos-(1-1)], $attributes); + } + + protected function yyn437($attributes) { + $this->yyval = new Node\Scalar\String($this->yyastk[$this->stackPos-(1-1)], $attributes); + } + + protected function yyn438($attributes) { $this->yyval = new Node\Expr\Variable(substr($this->yyastk[$this->stackPos-(1-1)], 1), $attributes); } } diff --git a/lib/PhpParser/PrettyPrinter/Standard.php b/lib/PhpParser/PrettyPrinter/Standard.php index d7687ca4..d2cc7ac7 100644 --- a/lib/PhpParser/PrettyPrinter/Standard.php +++ b/lib/PhpParser/PrettyPrinter/Standard.php @@ -496,7 +496,10 @@ class Standard extends PrettyPrinterAbstract } public function pStmt_Use(Stmt\Use_ $node) { - return 'use ' . $this->pCommaSeparated($node->uses) . ';'; + return 'use ' + . ($node->type === Stmt\Use_::TYPE_FUNCTION ? 'function ' : '') + . ($node->type === Stmt\Use_::TYPE_CONSTANT ? 'const ' : '') + . $this->pCommaSeparated($node->uses) . ';'; } public function pStmt_UseUse(Stmt\UseUse $node) { diff --git a/test/code/parser/stmt/namespace/alias.test b/test/code/parser/stmt/namespace/alias.test index dc534c28..90784b8b 100644 --- a/test/code/parser/stmt/namespace/alias.test +++ b/test/code/parser/stmt/namespace/alias.test @@ -9,9 +9,16 @@ use F\G as H, J; // evil alias notation - Do Not Use! use \A; use \A as B; + +// function and constant aliases +use function foo\bar; +use function foo\bar as baz; +use const foo\BAR; +use const foo\BAR as BAZ; ----- array( 0: Stmt_Use( + type: 1 uses: array( 0: Stmt_UseUse( name: Name( @@ -25,6 +32,7 @@ array( ) ) 1: Stmt_Use( + type: 1 uses: array( 0: Stmt_UseUse( name: Name( @@ -38,6 +46,7 @@ array( ) ) 2: Stmt_Use( + type: 1 uses: array( 0: Stmt_UseUse( name: Name( @@ -59,6 +68,7 @@ array( ) ) 3: Stmt_Use( + type: 1 uses: array( 0: Stmt_UseUse( name: Name( @@ -71,6 +81,7 @@ array( ) ) 4: Stmt_Use( + type: 1 uses: array( 0: Stmt_UseUse( name: Name( @@ -82,4 +93,60 @@ array( ) ) ) + 5: Stmt_Use( + type: 2 + uses: array( + 0: Stmt_UseUse( + name: Name( + parts: array( + 0: foo + 1: bar + ) + ) + alias: bar + ) + ) + ) + 6: Stmt_Use( + type: 2 + uses: array( + 0: Stmt_UseUse( + name: Name( + parts: array( + 0: foo + 1: bar + ) + ) + alias: baz + ) + ) + ) + 7: Stmt_Use( + type: 3 + uses: array( + 0: Stmt_UseUse( + name: Name( + parts: array( + 0: foo + 1: BAR + ) + ) + alias: BAR + ) + ) + ) + 8: Stmt_Use( + type: 3 + uses: array( + 0: Stmt_UseUse( + name: Name( + parts: array( + 0: foo + 1: BAR + ) + ) + alias: BAZ + ) + ) + ) ) \ No newline at end of file diff --git a/test/code/prettyPrinter/alias.test b/test/code/prettyPrinter/alias.test new file mode 100644 index 00000000..ef5695d8 --- /dev/null +++ b/test/code/prettyPrinter/alias.test @@ -0,0 +1,20 @@ +Aliases (namespacing) +----- +