diff --git a/grammar/zend_language_parser.phpy b/grammar/zend_language_parser.phpy index 26673b9f..1a35274d 100644 --- a/grammar/zend_language_parser.phpy +++ b/grammar/zend_language_parser.phpy @@ -106,6 +106,7 @@ %token T_NS_C %token T_DIR %token T_NS_SEPARATOR +%token T_ELLIPSIS %% @@ -235,6 +236,11 @@ optional_ref: | '&' { $$ = true; } ; +optional_ellipsis: + /* empty */ { $$ = false; } + | T_ELLIPSIS { $$ = true; } +; + function_declaration_statement: T_FUNCTION optional_ref T_STRING '(' parameter_list ')' '{' inner_statement_list '}' { $$ = Stmt\Function_[$3, [byRef: $2, params: $5, stmts: $8]]; } @@ -371,10 +377,10 @@ non_empty_parameter_list: ; parameter: - optional_class_type optional_ref T_VARIABLE - { $$ = Param[parseVar($3), null, $1, $2]; } - | optional_class_type optional_ref T_VARIABLE '=' static_scalar - { $$ = Param[parseVar($3), $5, $1, $2]; } + optional_class_type optional_ref optional_ellipsis T_VARIABLE + { $$ = Param[parseVar($4), null, $1, $2, $3]; } + | optional_class_type optional_ref optional_ellipsis T_VARIABLE '=' static_scalar + { $$ = Param[parseVar($4), $6, $1, $2, $3]; } ; optional_class_type: diff --git a/lib/PhpParser/Lexer/Emulative.php b/lib/PhpParser/Lexer/Emulative.php index b069151c..0660f3e3 100644 --- a/lib/PhpParser/Lexer/Emulative.php +++ b/lib/PhpParser/Lexer/Emulative.php @@ -12,6 +12,8 @@ class Emulative extends \PhpParser\Lexer protected $newKeywords; protected $inObjectAccess; + const T_ELLIPSIS = 1001; + public function __construct() { parent::__construct(); @@ -36,13 +38,17 @@ class Emulative extends \PhpParser\Lexer $this->newKeywords += $newKeywords; } + + if (version_compare(PHP_VERSION, '5.6.0beta1', '<')) { + $this->tokenMap[self::T_ELLIPSIS] = Parser::T_ELLIPSIS; + } } public function startLexing($code) { $this->inObjectAccess = false; - // on PHP 5.4 don't do anything - if (version_compare(PHP_VERSION, '5.4.0RC1', '>=')) { + // on PHP 5.6 don't do anything + if (version_compare(PHP_VERSION, '5.6.0beta1', '>=')) { parent::startLexing($code); } else { $code = $this->preprocessCode($code); @@ -60,8 +66,14 @@ class Emulative extends \PhpParser\Lexer * inside a string, i.e. a place where they don't have a special meaning). */ protected function preprocessCode($code) { - // binary notation (0b010101101001...) - return preg_replace('(\b0b[01]+\b)', '~__EMU__BINARY__$0__~', $code); + $code = str_replace('...', '~__EMU__ELLIPSIS__~', $code); + + if (version_compare(PHP_VERSION, '5.4.0beta1', '<')) { + // binary notation (0b010101101001...) + $code = preg_replace('(\b0b[01]+\b)', '~__EMU__BINARY__$0__~', $code); + } + + return $code; } /* @@ -86,6 +98,10 @@ class Emulative extends \PhpParser\Lexer $replace = array( array(is_int(bindec($matches[2])) ? T_LNUMBER : T_DNUMBER, $matches[2], $this->tokens[$i + 1][2]) ); + } else if ('ELLIPSIS' === $matches[1]) { + $replace = array( + array(self::T_ELLIPSIS, '...', $this->tokens[$i + 1][2]) + ); } else { // just ignore all other __EMU__ sequences continue; @@ -114,6 +130,8 @@ class Emulative extends \PhpParser\Lexer public function restoreContentCallback(array $matches) { if ('BINARY' === $matches[1]) { return $matches[2]; + } else if ('ELLIPSIS' === $matches[1]) { + return '...'; } else { return $matches[0]; } diff --git a/lib/PhpParser/Node/Param.php b/lib/PhpParser/Node/Param.php index 8c986571..20e511fe 100644 --- a/lib/PhpParser/Node/Param.php +++ b/lib/PhpParser/Node/Param.php @@ -2,13 +2,15 @@ namespace PhpParser\Node; +use PhpParser\Error; use PhpParser\NodeAbstract; /** - * @property string $name Name - * @property null|Expr $default Default value - * @property null|string|Name $type Typehint - * @property bool $byRef Whether is passed by reference + * @property null|string|Name $type Typehint + * @property bool $byRef Whether is passed by reference + * @property bool $variadic Whether this is a variadic argument + * @property string $name Name + * @property null|Expr $default Default value */ class Param extends NodeAbstract { @@ -19,17 +21,23 @@ class Param extends NodeAbstract * @param null|Expr $default Default value * @param null|string|Name $type Typehint * @param bool $byRef Whether is passed by reference + * @param bool $variadic Whether this is a variadic argument * @param array $attributes Additional attributes */ - public function __construct($name, $default = null, $type = null, $byRef = false, array $attributes = array()) { + public function __construct($name, $default = null, $type = null, $byRef = false, $variadic = false, array $attributes = array()) { parent::__construct( array( - 'name' => $name, - 'default' => $default, - 'type' => $type, - 'byRef' => $byRef + 'type' => $type, + 'byRef' => $byRef, + 'variadic' => $variadic, + 'name' => $name, + 'default' => $default, ), $attributes ); + + if ($variadic && null !== $default) { + throw new Error('Variadic parameter cannot have a default value'); + } } } \ No newline at end of file diff --git a/lib/PhpParser/Parser.php b/lib/PhpParser/Parser.php index ce34b328..13cf2765 100644 --- a/lib/PhpParser/Parser.php +++ b/lib/PhpParser/Parser.php @@ -14,14 +14,14 @@ namespace PhpParser; class Parser { const TOKEN_NONE = -1; - const TOKEN_INVALID = 151; + const TOKEN_INVALID = 152; - const TOKEN_MAP_SIZE = 386; + const TOKEN_MAP_SIZE = 387; - const YYLAST = 1008; + const YYLAST = 994; const YY2TBLSTATE = 314; - const YYGLAST = 443; - const YYNLSTATES = 532; + const YYGLAST = 444; + const YYNLSTATES = 533; const YYUNEXPECTED = 32767; const YYDEFAULT = -32766; @@ -156,6 +156,7 @@ class Parser const T_NS_C = 383; const T_DIR = 384; const T_NS_SEPARATOR = 385; + const T_ELLIPSIS = 386; // }}} /* @var array Map of token ids to their respective names */ @@ -302,6 +303,7 @@ class Parser "T_NS_C", "T_DIR", "T_NS_SEPARATOR", + "T_ELLIPSIS", "';'", "'{'", "'}'", @@ -316,313 +318,312 @@ class Parser /* @var array Map which translates lexer tokens to internal tokens */ protected static $translate = array( - 0, 151, 151, 151, 151, 151, 151, 151, 151, 151, - 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, - 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, - 151, 151, 151, 48, 150, 151, 147, 47, 31, 151, - 145, 146, 45, 42, 7, 43, 44, 46, 151, 151, - 151, 151, 151, 151, 151, 151, 151, 151, 26, 142, - 36, 13, 38, 25, 60, 151, 151, 151, 151, 151, - 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, - 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, - 151, 61, 151, 149, 30, 151, 148, 151, 151, 151, - 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, - 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, - 151, 151, 151, 143, 29, 144, 50, 151, 151, 151, - 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, - 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, - 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, - 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, - 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, - 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, - 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, - 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, - 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, - 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, - 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, - 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, - 151, 151, 151, 151, 151, 151, 1, 2, 3, 4, + 0, 152, 152, 152, 152, 152, 152, 152, 152, 152, + 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, + 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, + 152, 152, 152, 48, 151, 152, 148, 47, 31, 152, + 146, 147, 45, 42, 7, 43, 44, 46, 152, 152, + 152, 152, 152, 152, 152, 152, 152, 152, 26, 143, + 36, 13, 38, 25, 60, 152, 152, 152, 152, 152, + 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, + 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, + 152, 61, 152, 150, 30, 152, 149, 152, 152, 152, + 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, + 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, + 152, 152, 152, 144, 29, 145, 50, 152, 152, 152, + 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, + 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, + 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, + 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, + 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, + 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, + 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, + 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, + 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, + 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, + 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, + 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, + 152, 152, 152, 152, 152, 152, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 27, 28, 32, 33, 34, 35, 37, 39, 40, 41, 49, 51, 52, 53, 54, 55, 56, 57, 58, 59, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, - 74, 75, 151, 151, 76, 77, 78, 79, 80, 81, + 74, 75, 152, 152, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, - 132, 151, 151, 151, 151, 151, 151, 133, 134, 135, - 136, 137, 138, 139, 140, 141 + 132, 152, 152, 152, 152, 152, 152, 133, 134, 135, + 136, 137, 138, 139, 140, 141, 142 ); protected static $yyaction = array( - 59, 60, 324, 61, 62,-32766,-32766,-32766, 215, 63, - 64,-32767,-32767,-32767,-32767, 98, 99, 100, 101, 102, - 57, 463,-32766, 296,-32766,-32766, 41, 106, 107, 108, - 109, 110, 111, 112, 113, 114, 115, 116, 267, 285, - 65, 66, 929, 249, 931, 930, 67, 536, 68, 220, + 59, 60, 324, 61, 62,-32766,-32766,-32766, 262, 63, + 64, 103, 104, 105, 341, 233,-32766,-32766,-32766, 0, + 660, 661,-32766, 900,-32766,-32766,-32766,-32766,-32766,-32767, + -32767,-32767,-32767,-32766, 496,-32766,-32766,-32766,-32766,-32766, + 65, 66, -120,-32766,-32766,-32766, 67, 296, 68, 220, 221, 69, 70, 71, 72, 73, 74, 75, 76, 31, - 232, 77, 316, 325, 732, 734, 919, 838, 839, 360, - 346, 897, 238, 580, 277, 361, 46, 27, 326, 850, - 362, 246, 363, 455, 364, 39, 223, 327,-32766,-32766, - -32766, 36, 37, 365, 332, 344, 38, 366, 328, 424, - 78, 850, 122, 278, 279,-32766, 358,-32766, 349, 367, - 368, 369, 370, 371, 387, 341, 863, 329, 562, 604, - 372, 373, 374, 375, 861, 844, 845, 846, 847, 841, - 842, 239, 82, 83, 84, -351, 387, 848, 843, 329, - 586, 505, 126, 47, 227, 260, 244, 904, 248, 40, - 323, 85, 86, 87, 88, 89, 90, 91, 92, 93, - 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, - 104, 105, 790, 233, 577,-32766,-32766,-32766, 703, 704, - 705, 702, 701, 700, 632, 0,-32766,-32766,-32766, 657, - 658, 216,-32766, 35,-32766,-32766,-32766,-32766,-32766,-32767, - -32767,-32767,-32767,-32766, 790, 321, 328, 317, 901, 546, - -118, 257, 128, 276,-32766,-32766,-32766, 367, 368, 891, - 695, 262, 897, 225, 226,-32766, 542, 604, 372, 373, - 578, 536, 342,-32766, 536,-32766, 897, 374,-32766,-32766, - -32766, 677,-32766, 54,-32766, 321,-32766, 22, 259,-32766, - 187, 257, 602,-32766,-32766,-32766, 790,-32766,-32766,-32766, - 695, 34,-32766, 536, 348,-32766, 386,-32766, 862, 814, - -32766,-32766,-32766,-32766,-32766, 222,-32766, 53,-32766, 56, - 127,-32766, 100, 101, 102,-32766,-32766,-32766, 790, 804, - -32766,-32766, 601, 268,-32766, 926, 260,-32766, 386, 668, - 633, 387,-32766,-32766, 329,-32766, 321, 224, 333,-32766, - 260, 919, 257, 504, 863, 536, 103, 104, 105,-32766, - 233, 695,-32766,-32766,-32766, 119,-32766, 495,-32766, 338, - -32766, 507, 660,-32766,-32766,-32766, 126,-32766,-32766,-32766, - 343,-32766,-32766,-32766, 213, 123,-32766, 536, 130,-32766, - 386,-32766, 453, 603,-32766,-32766,-32766,-32766,-32766, 118, - -32766, 120,-32766, 790, 233,-32766, 189, -114, 190,-32766, - -32766,-32766, 194, 217,-32766,-32766, 195, 125,-32766,-32766, - -32766,-32766, 386, 188, 687, 860,-32766,-32766, 117,-32766, - 328, 317, 351, 28, 510, 790, 599, 276, 355, 469, - 682, 367, 368, 517,-32766,-32766,-32766, 131, 286, 49, - 542, 604, 372, 373, 478, 479,-32766, 521,-32766,-32766, - 529,-32766, 536,-32766,-32766,-32766,-32766, 657, 658,-32766, - -32766,-32766, 259,-32766, 527,-32766, 508,-32766, 544, 129, - -32766, 543, 512, 590,-32766,-32766,-32766, 520,-32766,-32766, - -32766, 681, 526,-32766, 536, 304,-32766, 386,-32766, 692, - 531,-32766,-32766,-32766,-32766,-32766, 224,-32766, 50,-32766, - 58, 483,-32766, 55, 807, 51,-32766,-32766,-32766, 790, - 52,-32766,-32766, 417, 232,-32766, 503, 689,-32766, 386, - 446, 492, 229,-32766,-32766, 553,-32766, 924, 551, 415, - -32766, 337, 339, 536, 537, 397, 536, 398, 402, 414, - -32766, -159, 401,-32766,-32766,-32766, 494,-32766, 480,-32766, - 476,-32766, -162, 606,-32766,-32766,-32766, 265,-32766,-32766, - -32766, 790,-32766,-32766,-32766, 266, 919,-32766, 536, 256, - -32766, 386,-32766, 340, 212,-32766,-32766,-32766,-32766,-32766, - 336,-32766, 472,-32766, 458, 474,-32766, 357, 605, 258, - -32766,-32766,-32766, 790, 255,-32766,-32766, 579, 261,-32766, - 374, 581,-32766, 386, 849, 247, 0,-32766,-32766, -351, - -32766, 659, 0, 320,-32766, 0, 0, -352, 245, 0, - 536, 121, 193, 42,-32766, -283, 793,-32766,-32766,-32766, - 0,-32766, 0,-32766, 0,-32766, 0, 0,-32766, 572, - -32766, -291,-32766,-32766,-32766, 790,-32766,-32766,-32766, -292, - 500,-32766, 536, 299,-32766, 386,-32766, 287, 251,-32766, - -32766,-32766,-32766,-32766, 242,-32766, 407,-32766, 686, 338, - -32766, 688, 616, 618,-32766,-32766,-32766, 620, 565,-32766, - -32766, 627, 626,-32766, 635, 582,-32766, 386, 567, 589, - 576, 574,-32766, 514,-32766, 513, 45, 44,-32766, 571, - 573, 575, 588, 547, 536, 685, 678, 234,-32766, 511, - 516,-32766,-32766,-32766, 518,-32766, 523,-32766, 81,-32766, - 124, 524,-32766,-32766,-32766, 525,-32766,-32766,-32766, 528, - -32766,-32766,-32766, 506, 530,-32766, 536, 892,-32766, 386, - -32766, 902, 670,-32766,-32766,-32766,-32766,-32766, 829,-32766, - 894,-32766, 882, 896,-32766, 191, 192, 898,-32766,-32766, - -32766, 925, 354,-32766,-32766, 625, 928,-32766, 624, 927, - -32766, 386, 32, 33, 185, 570,-32766, 319,-32766, 315, - 43, 263, 838, 839, 237,-32766,-32766, 236, 48,-32766, - 840, 536, 235, 30, 219,-32766, 218, 214,-32766,-32766, - -32766, 186,-32766, 80,-32766, 79,-32766,-32766,-32766,-32766, - 770, 831, 769,-32766,-32766,-32766, 447, -115,-32766,-32766, - 856, 661,-32766, 797, 794,-32766, 386, 499, 473, 438, - 356, 352, 305,-32766, 288, 25, 24, 23, 443, -114, - 844, 845, 846, 847, 841, 842, 307, 788, 0, 481, - 876, 857, 848, 843, 328, 317, 923, 828,-32766, 328, - -32766, 276,-32766,-32766, 893, 367, 368,-32766,-32766,-32766, - 367, 368, 877, 881, 542, 604, 372, 373, 895, 562, - 604, 372, 373, 328,-32766, 813,-32766,-32766,-32766,-32766, - -32766, 801, 799, 800, 367, 368, 259, 328, 798, 0, - 0, 328, 545, 562, 604, 372, 373, 600, 367, 368, - 0, 0, 367, 368, 328, 0, 0, 562, 604, 372, - 373, 562, 604, 372, 373, 367, 368, 0, 0, 0, - 328, 693, 0, 0, 562, 604, 372, 373, 0, 0, - 0, 367, 368, 328, 0, 792, 0, 328, 502, 593, - 562, 604, 372, 373, 367, 368, 0, 0, 367, 368, - 0, 328, 595, 562, 604, 372, 373, 562, 604, 372, - 373, 0, 367, 368, 493, 0, 0, 0, 515, 0, - 487, 562, 604, 372, 373, 328, 0, 0, 0, 328, - 0, 563, 0, 0, 0, 791, 367, 368, 0, 0, - 367, 368,-32766,-32766,-32766, 562, 604, 372, 373, 562, - 604, 372, 373, 0, 328, 0, 0, 0, 0,-32766, - 0,-32766,-32766,-32766,-32766, 367, 368, 0, 0, 0, - 0, 0, 0, 0, 562, 604, 372, 373 + 232, 77, 316, 325,-32766,-32766,-32766, 841, 842, 361, + 34, 900, 215, 581, 635, 362, 46, 27, 326, 187, + 363,-32766, 364,-32766, 365, 35, 487, 327,-32766,-32766, + -32766, 36, 37, 366, 332, 328, 38, 367, 260, 238, + 78, 359, 346, 278, 279,-32766, 368, 369, 685, 39, + 223, 370, 371, 372, 349, 563, 607, 373, 374, 463, + 793, 57, 375, 376, 123, 847, 848, 849, 850, 844, + 845, 239, 342, 82, 83, 84, 388, 851, 846, 329, + 128, 587, 506,-32766, 47, 56, 260, 244, 866, 248, + 40, 189, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, + 103, 104, 105,-32766, 233, 126, 793, 853, 321, 537, + 304, 323, 246,-32766, 257, 54,-32766,-32766,-32766, 277, + -32766, 636,-32766, 698,-32766, 216, 456,-32766,-32766,-32766, + -32766,-32766,-32766,-32766, 122, 53,-32766,-32766, 793, 894, + -32766, 328, 907,-32766, 387,-32766, 537,-32766,-32766,-32766, + -32766,-32766, 368, 369, 929, 663, 605, 222, 120,-32766, + 190, 563, 607, 373, 374, 537, 285, 680, 932,-32766, + 934, 933,-32766,-32766,-32766, 344,-32766, 922,-32766, 321, + -32766,-32766,-32766,-32766, 22, 257, 227,-32766,-32766,-32766, + 793,-32766,-32766,-32766, 698, 348,-32766, 537, 119,-32766, + 387,-32766, 194, 671,-32766,-32766,-32766,-32766,-32766, 224, + -32766, 321,-32766, 388, 268,-32766, 329, 257, 118,-32766, + -32766,-32766, 793, 505,-32766,-32766, 698, 606,-32766, 922, + 213,-32766, 387, 100, 101, 102, 125,-32766,-32766,-32766, + 904, 338, 249,-32766, 508, 267,-32766,-32766,-32766, 537, + 343, 807, 863,-32766, -116, 547,-32766,-32766,-32766, 604, + -32766, 865,-32766,-32766,-32766,-32766,-32766,-32766, 126,-32766, + -32766,-32766,-32766,-32766, 793,-32766,-32766,-32766, 217, 375, + -32766, 537, 130,-32766, 387,-32766, 454, 864,-32766,-32766, + -32766,-32766,-32766, 225,-32766, 690,-32766,-32766,-32766,-32766, + 853, 195, 578,-32766,-32766,-32766, 425, 866,-32766,-32766, + 226, 579,-32766, 127, 188,-32766, 387, 351, 28, 356, + 469,-32766,-32766,-32766, 117, 224, 522,-32766, 131, 286, + 478, 479, 521, 537, 660, 661, 528,-32766, 684, 527, + -32766,-32766,-32766, 591,-32766, 518,-32766, 129,-32766, 793, + 509,-32766, 530,-32766,-32766,-32766,-32766,-32766, 511,-32766, + -32766,-32766, 544, 513,-32766, 537, 600,-32766, 387,-32766, + 695, 532,-32766,-32766,-32766,-32766,-32766, 233,-32766, 52, + -32766, 793, 232,-32766, 51, 416, 55,-32766,-32766,-32766, + 49, 58,-32766,-32766, 50, 483,-32766, 212, 265,-32766, + 387, 418,-32766, 229, 495,-32766,-32766,-32766, 537, 552, + 554, 692,-32766, 504, 415,-32766,-32766,-32766, 538,-32766, + 403,-32766, 337,-32766, 793, 339,-32766, 537, 493, 398, + -32766,-32766,-32766, 399,-32766,-32766,-32766,-32766,-32766,-32766, + 537, 662,-32766, 387,-32766, 927, 488,-32766,-32766,-32766, + -32766,-32766, 480,-32766, 810,-32766, 793, 402,-32766, -164, + 340, 922,-32766,-32766,-32766, 266, -161,-32766,-32766, 474, + 447,-32766, 336, 459,-32766, 387, 258,-32766, 472, 255, + 573,-32766,-32766, 537, 609, 608, 358,-32766, 121, 852, + -32766,-32766,-32766, -354,-32766, 261,-32766, -285,-32766, -353, + 251,-32766, 320, 481, 0,-32766,-32766,-32766, 256,-32766, + -32766,-32766, 571,-32766,-32766, 537, 245,-32766, 387,-32766, + 247, 375,-32766,-32766,-32766,-32766,-32766, 42,-32766, 193, + -32766, 0, 501,-32766, 408, 45, -294,-32766,-32766,-32766, + 242, 338,-32766,-32766, 287, -293,-32766, 299, 44,-32766, + 387, 602,-32766, 0, 514, 575,-32766,-32766, 537, 574, + 572, 576,-32766, 589, 577,-32766,-32766,-32766, 590,-32766, + 568,-32766, 583,-32766, 638, 629,-32766, 630, 566, 580, + -32766,-32766,-32766, 623,-32766,-32766,-32766,-32766,-32766,-32766, + 537, 621,-32766, 387,-32766, 582, 619,-32766,-32766,-32766, + -32766,-32766, 688,-32766, 691,-32766, 548, 689,-32766, 191, + 192, 515,-32766,-32766,-32766, 681, 895,-32766,-32766, 81, + 507,-32766, 512, 517,-32766, 387, 519, 524, 185, 525, + -32766,-32766,-32766, 526, 834, 531, 841, 842, 124, 529, + -32766, 905, 673, 832, 843, 41, 106, 107, 108, 109, + 110, 111, 112, 113, 114, 115, 116, 897, 885, 328, + 317, 899,-32766,-32766, 80, 328, 276, 930, 931, 628, + 368, 369, 627, 901, 355, 928, 368, 369,-32766, 543, + 607, 373, 374, 735, 737, 563, 607, 373, 374, 236, + 235, 234, 444, 237, 847, 848, 849, 850, 844, 845, + 307, 259, 219, 218, 214, 263, 851, 846, 545, 328, + 317, 319, 186,-32766, 516,-32766, 276, 315, 79, 48, + 368, 369,-32766,-32766,-32766, 43, 328, 317, 33, 543, + 607, 373, 374, 276, 32, 30, 791, 368, 369,-32766, + 773,-32766,-32766,-32766, 664, 800, 543, 607, 373, 374, + 797, 259, 500, 473, -353, 439, 357, 352, 546,-32767, + -32767,-32767,-32767, 98, 99, 100, 101, 102, 259, 328, + 305, 288, 25, 328, 706, 707, 708, 705, 704, 703, + 368, 369, 24, 23, 368, 369, 328, -116, 796, 563, + 607, 373, 374, 563, 607, 373, 374, 368, 369, -117, + 772, 859, 448, 328, 0, 0, 563, 607, 373, 374, + 879, 860, 926, 831, 368, 369, 328, 896, 794, 880, + 328, 884, 696, 563, 607, 373, 374, 368, 369, 898, + 816, 368, 369, 328, 804, 594, 563, 607, 373, 374, + 563, 607, 373, 374, 368, 369, 537, 802, 900, 803, + 503, 801, 795, 563, 607, 373, 374, 494, 0, 0, + 0, 0, 0, 328, 0, 596, 0, 0, 328, 564, + 0, 0, 0, 0, 368, 369, 0, 0, 0, 368, + 369, 817, 603, 563, 607, 373, 374, 328, 563, 607, + 373, 374, 0, 0, 0, 0, 0, 0, 368, 369, + 0, 0, 0, 0, 0, 0, 0, 563, 607, 373, + 374, 0, 0, 388, 0, 0, 329, 0, 0, 0, + 0, 333, 0, 260 ); protected static $yycheck = array( 2, 3, 4, 5, 6, 8, 9, 10, 7, 11, - 12, 36, 37, 38, 39, 40, 41, 42, 43, 44, - 61, 76, 25, 73, 27, 28, 13, 14, 15, 16, - 17, 18, 19, 20, 21, 22, 23, 24, 61, 7, - 42, 43, 71, 76, 73, 74, 48, 71, 50, 51, + 12, 45, 46, 47, 26, 49, 8, 9, 10, 0, + 125, 126, 25, 73, 27, 28, 29, 30, 31, 32, + 33, 34, 35, 25, 71, 27, 28, 29, 30, 31, + 42, 43, 147, 8, 9, 10, 48, 73, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, - 62, 63, 64, 65, 51, 52, 76, 69, 70, 71, - 71, 73, 7, 75, 7, 77, 78, 79, 80, 134, - 82, 122, 84, 81, 86, 135, 136, 89, 8, 9, - 10, 93, 94, 95, 96, 7, 98, 99, 96, 122, - 102, 134, 143, 105, 106, 25, 7, 27, 7, 107, - 108, 113, 114, 115, 138, 26, 117, 141, 116, 117, - 118, 119, 124, 125, 134, 127, 128, 129, 130, 131, - 132, 133, 8, 9, 10, 122, 138, 139, 140, 141, - 142, 143, 143, 145, 31, 147, 148, 146, 150, 25, - 7, 27, 28, 29, 30, 31, 32, 33, 34, 35, - 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, - 46, 47, 12, 49, 142, 8, 9, 10, 106, 107, - 108, 109, 110, 111, 26, 0, 8, 9, 10, 125, - 126, 31, 25, 7, 27, 28, 29, 30, 31, 32, - 33, 34, 35, 25, 12, 97, 96, 97, 71, 142, - 146, 103, 61, 103, 8, 9, 10, 107, 108, 73, - 112, 7, 73, 31, 7, 65, 116, 117, 118, 119, - 142, 71, 143, 8, 71, 75, 73, 124, 78, 79, - 80, 142, 82, 61, 84, 97, 86, 146, 138, 89, - 7, 103, 144, 93, 94, 95, 12, 65, 98, 99, - 112, 7, 102, 71, 71, 105, 106, 75, 71, 106, - 78, 79, 80, 113, 82, 31, 84, 61, 86, 61, - 143, 89, 42, 43, 44, 93, 94, 95, 12, 146, - 98, 99, 144, 147, 102, 144, 147, 105, 106, 73, - 142, 138, 142, 143, 141, 113, 97, 31, 145, 65, - 147, 76, 103, 71, 117, 71, 45, 46, 47, 75, - 49, 112, 78, 79, 80, 143, 82, 71, 84, 141, - 86, 143, 146, 89, 142, 143, 143, 93, 94, 95, - 7, 65, 98, 99, 123, 7, 102, 71, 143, 105, - 106, 75, 147, 144, 78, 79, 80, 113, 82, 143, - 84, 143, 86, 12, 49, 89, 13, 146, 13, 93, - 94, 95, 13, 147, 98, 99, 13, 26, 102, 8, - 9, 105, 106, 13, 142, 150, 142, 143, 13, 113, - 96, 97, 66, 67, 26, 12, 31, 103, 66, 67, - 144, 107, 108, 26, 8, 9, 10, 91, 92, 61, - 116, 117, 118, 119, 100, 101, 65, 26, 142, 143, - 26, 25, 71, 27, 28, 29, 75, 125, 126, 78, - 79, 80, 138, 82, 26, 84, 26, 86, 144, 26, - 89, 142, 143, 26, 93, 94, 95, 26, 65, 98, - 99, 142, 143, 102, 71, 72, 105, 106, 75, 142, - 143, 78, 79, 80, 113, 82, 31, 84, 61, 86, - 61, 68, 89, 61, 73, 61, 93, 94, 95, 12, - 61, 98, 99, 88, 62, 102, 71, 71, 105, 106, - 88, 71, 88, 142, 143, 71, 113, 71, 71, 71, - 65, 71, 71, 71, 71, 71, 71, 71, 71, 71, - 75, 88, 73, 78, 79, 80, 73, 82, 73, 84, - 73, 86, 73, 117, 89, 142, 143, 76, 93, 94, - 95, 12, 65, 98, 99, 76, 76, 102, 71, 121, - 105, 106, 75, 80, 88, 78, 79, 80, 113, 82, - 96, 84, 90, 86, 90, 103, 89, 96, 117, 104, - 93, 94, 95, 12, 120, 98, 99, 142, 120, 102, - 124, 142, 105, 106, 134, 122, -1, 142, 143, 122, - 113, 146, -1, 141, 65, -1, -1, 122, 122, -1, - 71, 123, 123, 123, 75, 137, 146, 78, 79, 80, - -1, 82, -1, 84, -1, 86, -1, -1, 89, 142, - 143, 137, 93, 94, 95, 12, 65, 98, 99, 137, - 137, 102, 71, 137, 105, 106, 75, 137, 137, 78, - 79, 80, 113, 82, 137, 84, 141, 86, 142, 141, - 89, 142, 142, 142, 93, 94, 95, 142, 142, 98, - 99, 142, 142, 102, 142, 142, 105, 106, 142, 142, - 142, 142, 143, 142, 113, 142, 142, 142, 65, 142, - 142, 142, 142, 142, 71, 142, 142, 145, 75, 143, - 143, 78, 79, 80, 143, 82, 143, 84, 143, 86, - 143, 143, 89, 142, 143, 143, 93, 94, 95, 143, - 65, 98, 99, 143, 143, 102, 71, 144, 105, 106, - 75, 144, 144, 78, 79, 80, 113, 82, 144, 84, - 144, 86, 144, 144, 89, 42, 43, 144, 93, 94, - 95, 144, 144, 98, 99, 144, 144, 102, 144, 144, - 105, 106, 145, 145, 61, 142, 143, 145, 113, 145, - 145, 145, 69, 70, 145, 65, 73, 145, 145, 145, - 77, 71, 145, 145, 145, 75, 145, 145, 78, 79, - 80, 145, 82, 145, 84, 145, 86, 142, 143, 89, - 146, 146, 146, 93, 94, 95, 146, 146, 98, 99, - 146, 146, 102, 146, 146, 105, 106, 146, 146, 146, - 146, 146, 146, 113, 146, 146, 146, 146, 125, 146, - 127, 128, 129, 130, 131, 132, 133, 148, -1, 149, - 149, 149, 139, 140, 96, 97, 149, 149, 145, 96, - 147, 103, 142, 143, 149, 107, 108, 8, 9, 10, - 107, 108, 149, 149, 116, 117, 118, 119, 149, 116, - 117, 118, 119, 96, 25, 149, 27, 28, 29, 30, - 31, 149, 149, 149, 107, 108, 138, 96, 149, -1, - -1, 96, 144, 116, 117, 118, 119, 144, 107, 108, - -1, -1, 107, 108, 96, -1, -1, 116, 117, 118, - 119, 116, 117, 118, 119, 107, 108, -1, -1, -1, - 96, 144, -1, -1, 116, 117, 118, 119, -1, -1, - -1, 107, 108, 96, -1, 144, -1, 96, 83, 144, - 116, 117, 118, 119, 107, 108, -1, -1, 107, 108, - -1, 96, 144, 116, 117, 118, 119, 116, 117, 118, - 119, -1, 107, 108, 85, -1, -1, -1, 144, -1, - 87, 116, 117, 118, 119, 96, -1, -1, -1, 96, - -1, 144, -1, -1, -1, 144, 107, 108, -1, -1, - 107, 108, 8, 9, 10, 116, 117, 118, 119, 116, - 117, 118, 119, -1, 96, -1, -1, -1, -1, 25, - -1, 27, 28, 29, 30, 107, 108, -1, -1, -1, - -1, -1, -1, -1, 116, 117, 118, 119 + 62, 63, 64, 65, 8, 9, 10, 69, 70, 71, + 7, 73, 7, 75, 26, 77, 78, 79, 80, 7, + 82, 25, 84, 27, 86, 7, 87, 89, 8, 9, + 10, 93, 94, 95, 96, 96, 98, 99, 148, 7, + 102, 7, 71, 105, 106, 25, 107, 108, 145, 135, + 136, 113, 114, 115, 7, 116, 117, 118, 119, 76, + 12, 61, 124, 125, 7, 127, 128, 129, 130, 131, + 132, 133, 144, 8, 9, 10, 138, 139, 140, 141, + 61, 143, 144, 8, 146, 61, 148, 149, 117, 151, + 25, 13, 27, 28, 29, 30, 31, 32, 33, 34, + 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, + 45, 46, 47, 65, 49, 144, 12, 134, 97, 71, + 72, 7, 122, 75, 103, 61, 78, 79, 80, 7, + 82, 143, 84, 112, 86, 31, 81, 89, 8, 9, + 10, 93, 94, 95, 144, 61, 98, 99, 12, 73, + 102, 96, 147, 105, 106, 25, 71, 27, 28, 29, + 30, 113, 107, 108, 145, 147, 145, 31, 144, 65, + 13, 116, 117, 118, 119, 71, 7, 143, 71, 75, + 73, 74, 78, 79, 80, 7, 82, 76, 84, 97, + 86, 143, 144, 89, 147, 103, 31, 93, 94, 95, + 12, 65, 98, 99, 112, 71, 102, 71, 144, 105, + 106, 75, 13, 73, 78, 79, 80, 113, 82, 31, + 84, 97, 86, 138, 148, 89, 141, 103, 144, 93, + 94, 95, 12, 71, 98, 99, 112, 145, 102, 76, + 123, 105, 106, 42, 43, 44, 26, 143, 144, 113, + 71, 141, 76, 65, 144, 61, 8, 9, 10, 71, + 7, 147, 151, 75, 147, 143, 78, 79, 80, 145, + 82, 71, 84, 25, 86, 27, 28, 89, 144, 143, + 144, 93, 94, 95, 12, 65, 98, 99, 148, 124, + 102, 71, 144, 105, 106, 75, 148, 134, 78, 79, + 80, 113, 82, 31, 84, 143, 86, 8, 9, 89, + 134, 13, 143, 93, 94, 95, 122, 117, 98, 99, + 7, 143, 102, 144, 13, 105, 106, 66, 67, 66, + 67, 143, 144, 113, 13, 31, 26, 65, 91, 92, + 100, 101, 26, 71, 125, 126, 26, 75, 143, 144, + 78, 79, 80, 26, 82, 26, 84, 26, 86, 12, + 26, 89, 26, 143, 144, 93, 94, 95, 26, 65, + 98, 99, 143, 144, 102, 71, 31, 105, 106, 75, + 143, 144, 78, 79, 80, 113, 82, 49, 84, 61, + 86, 12, 62, 89, 61, 71, 61, 93, 94, 95, + 61, 61, 98, 99, 61, 68, 102, 88, 76, 105, + 106, 88, 65, 88, 73, 143, 144, 113, 71, 71, + 71, 71, 75, 71, 71, 78, 79, 80, 71, 82, + 71, 84, 71, 86, 12, 71, 89, 71, 71, 71, + 93, 94, 95, 71, 65, 98, 99, 143, 144, 102, + 71, 147, 105, 106, 75, 71, 73, 78, 79, 80, + 113, 82, 73, 84, 73, 86, 12, 73, 89, 73, + 80, 76, 93, 94, 95, 76, 88, 98, 99, 103, + 88, 102, 96, 90, 105, 106, 104, 65, 90, 120, + 143, 144, 113, 71, 117, 117, 96, 75, 123, 134, + 78, 79, 80, 122, 82, 120, 84, 137, 86, 122, + 137, 89, 141, 150, -1, 93, 94, 95, 121, 65, + 98, 99, 143, 144, 102, 71, 122, 105, 106, 75, + 122, 124, 78, 79, 80, 113, 82, 123, 84, 123, + 86, -1, 137, 89, 141, 143, 137, 93, 94, 95, + 137, 141, 98, 99, 137, 137, 102, 137, 143, 105, + 106, 142, 65, -1, 143, 143, 144, 113, 71, 143, + 143, 143, 75, 143, 143, 78, 79, 80, 143, 82, + 143, 84, 143, 86, 143, 143, 89, 143, 143, 143, + 93, 94, 95, 143, 65, 98, 99, 143, 144, 102, + 71, 143, 105, 106, 75, 143, 143, 78, 79, 80, + 113, 82, 143, 84, 143, 86, 143, 143, 89, 42, + 43, 143, 93, 94, 95, 143, 145, 98, 99, 144, + 144, 102, 144, 144, 105, 106, 144, 144, 61, 144, + 143, 144, 113, 144, 147, 144, 69, 70, 144, 144, + 73, 145, 145, 145, 77, 13, 14, 15, 16, 17, + 18, 19, 20, 21, 22, 23, 24, 145, 145, 96, + 97, 145, 143, 144, 146, 96, 103, 145, 145, 145, + 107, 108, 145, 145, 145, 145, 107, 108, 146, 116, + 117, 118, 119, 51, 52, 116, 117, 118, 119, 146, + 146, 146, 125, 146, 127, 128, 129, 130, 131, 132, + 133, 138, 146, 146, 146, 146, 139, 140, 145, 96, + 97, 146, 146, 146, 145, 148, 103, 146, 146, 146, + 107, 108, 8, 9, 10, 146, 96, 97, 146, 116, + 117, 118, 119, 103, 146, 146, 149, 107, 108, 25, + 147, 27, 28, 29, 147, 147, 116, 117, 118, 119, + 147, 138, 147, 147, 122, 147, 147, 147, 145, 36, + 37, 38, 39, 40, 41, 42, 43, 44, 138, 96, + 147, 147, 147, 96, 106, 107, 108, 109, 110, 111, + 107, 108, 147, 147, 107, 108, 96, 147, 147, 116, + 117, 118, 119, 116, 117, 118, 119, 107, 108, 147, + 147, 147, 147, 96, -1, -1, 116, 117, 118, 119, + 150, 150, 150, 150, 107, 108, 96, 150, 145, 150, + 96, 150, 145, 116, 117, 118, 119, 107, 108, 150, + 150, 107, 108, 96, 150, 145, 116, 117, 118, 119, + 116, 117, 118, 119, 107, 108, 71, 150, 73, 150, + 83, 150, 145, 116, 117, 118, 119, 85, -1, -1, + -1, -1, -1, 96, -1, 145, -1, -1, 96, 145, + -1, -1, -1, -1, 107, 108, -1, -1, -1, 107, + 108, 106, 145, 116, 117, 118, 119, 96, 116, 117, + 118, 119, -1, -1, -1, -1, -1, -1, 107, 108, + -1, -1, -1, -1, -1, -1, -1, 116, 117, 118, + 119, -1, -1, 138, -1, -1, 141, -1, -1, -1, + -1, 146, -1, 148 ); protected static $yybase = array( - 0, 728, 294, 110, 817, 804, 2, 863, 859, 733, - 821, 788, 771, 835, 775, 757, 888, 888, 888, 888, - 888, 368, 377, 391, 394, 391, 410, -2, -2, -2, - 435, 244, 244, 635, 244, 276, 603, 467, 519, 383, - 351, 160, 192, 551, 551, 551, 551, 690, 690, 551, - 551, 551, 551, 551, 551, 551, 551, 551, 551, 551, - 551, 551, 551, 551, 551, 551, 551, 551, 551, 551, - 551, 551, 551, 551, 551, 551, 551, 551, 551, 551, - 551, 551, 551, 551, 551, 551, 551, 551, 551, 551, - 551, 551, 551, 551, 551, 551, 551, 551, 551, 551, - 551, 551, 551, 551, 551, 551, 551, 551, 551, 551, - 551, 551, 551, 551, 551, 551, 551, 551, 551, 551, - 551, 551, 551, 551, 551, 551, 551, 551, 551, 551, - 551, 551, 158, 429, 468, 470, 527, 528, 529, 530, - 450, 456, 634, 587, 583, 413, 579, 578, 576, 574, - 568, 588, 567, 670, 563, 124, 124, 124, 124, 124, - 124, 124, 124, 124, 124, 225, 371, 206, 206, 206, - 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, - 206, 206, 178, 178, 80, 683, 683, 683, 683, 683, - 683, 683, 683, 683, 683, 683, -3, 396, 964, 829, - 167, 167, 167, 167, 13, -25, -25, -25, -25, 209, - 108, 148, 113, 113, 446, 446, 422, 547, 163, 163, - 163, 163, 163, 163, 163, 163, 163, 163, 449, 415, - 240, 240, 614, 614, 64, 64, 64, 64, 302, -33, - -10, 235, -1, 256, 451, 137, 137, 137, 459, 440, - 460, 193, 271, 271, 271, -24, -24, -24, -24, 188, - 545, -24, -24, -24, 182, -50, -50, -29, 205, 464, - 594, 462, 591, 309, 482, -41, 442, 442, 226, 454, - 326, 332, 314, 458, 89, 226, 158, 197, 317, 218, - 425, 428, 531, 67, 32, 88, -23, 299, 216, 146, - 101, 640, 636, 1, 151, 465, 186, -55, 216, 221, - 534, 99, 143, 533, 242, 365, 598, 436, 618, 438, - 432, 436, 445, 365, 613, 613, 613, 613, 365, 432, - 618, 618, 365, 422, 618, 254, 365, 444, 432, 448, - 613, 523, 521, 436, 439, 418, 618, 618, 618, 438, - 365, 613, 452, 243, 618, 613, 452, 365, 445, 185, - 417, 348, 605, 630, 602, 434, 560, 441, 406, 621, - 619, 628, 437, 430, 622, 597, 495, 518, 431, 375, - 407, 414, 419, 497, 412, 466, 454, 498, 315, 457, - 491, 457, 719, 486, 474, 453, 463, 517, 370, 495, - 395, 353, 536, 495, 648, 656, 669, 433, 532, 653, - 457, 714, 525, 338, 355, 617, 402, 427, 457, 612, - 457, 537, 457, 647, 426, 592, 495, 315, 315, 315, - 645, 713, 712, 706, 699, 694, 693, 685, 409, 678, - 516, 655, 65, 626, 458, 490, 424, 513, 214, 677, - 457, 457, 541, 545, 457, 512, 524, 661, 510, 652, - 447, 469, 672, 440, 654, 457, 461, 671, 214, 421, - 403, 641, 509, 543, 604, 548, 359, 644, 606, 552, - 363, 595, 408, 506, 660, 659, 663, 505, 556, 420, - 401, 443, 609, 501, 651, 423, 483, 455, 404, 561, - 416, 658, 500, 499, 496, 0, 0, 0, 0, 0, + 0, 683, 633, 700, 794, 639, 115, -1, 842, 807, + 743, 790, 777, 837, 760, 747, 861, 861, 861, 861, + 861, 402, 389, 370, 396, 370, 394, -2, -2, -2, + 364, 196, 196, 557, 196, 248, 439, 407, 482, 108, + 280, 164, 332, 514, 514, 514, 514, 589, 589, 514, + 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, + 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, + 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, + 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, + 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, + 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, + 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, + 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, + 514, 514, 48, 522, 435, 474, 487, 486, 488, 490, + 711, 379, 663, 600, 598, 391, 586, 583, 582, 568, + 567, 599, 566, 423, 541, 125, 125, 125, 125, 125, + 125, 125, 125, 125, 125, 135, 359, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 80, 80, 56, 637, 637, 637, 637, 637, + 637, 637, 637, 637, 637, 637, 308, 784, 190, 8, + -3, -3, -3, -3, 702, 793, 793, 793, 793, 152, + 81, 184, 225, 225, 467, 467, 390, 564, 845, 845, + 845, 845, 845, 845, 845, 845, 845, 845, 456, 412, + 261, 261, 602, 602, -105, -105, -105, -105, 279, 236, + 223, 171, 31, -37, 392, 239, 239, 239, 459, 425, + 455, 194, -34, -34, -34, 145, 145, 145, 145, 170, + 545, 145, 145, 145, 124, -26, -26, 167, 208, 453, + 597, 458, 594, 265, 469, 60, 431, 431, 200, 446, + 321, 323, 300, 430, -12, 200, 48, 260, 297, 84, + 506, 384, 533, 182, 229, 238, 254, 289, 144, 136, + 107, 725, 723, 65, 79, 441, 78, 43, 144, 177, + 542, 94, 174, 529, 222, 405, 652, 432, 659, 413, + 426, 432, 449, 405, 643, 643, 643, 643, 405, 426, + 659, 659, 405, 390, 659, 63, 405, 429, 426, 445, + 643, 481, 538, 432, 454, 457, 659, 659, 659, 413, + 405, 643, 436, 479, 72, 659, 643, 436, 405, 449, + 19, 387, 399, 649, 642, 635, 428, 546, 438, 437, + 627, 626, 588, 419, 421, 628, 658, 463, 491, 424, + 381, 403, 393, 388, 473, 395, 464, 446, 470, 398, + 447, 433, 447, 771, 480, 478, 468, 450, 495, 371, + 463, 383, 138, 548, 463, 673, 693, 657, 417, 615, + 678, 447, 769, 475, 117, 217, 614, 452, 408, 447, + 613, 447, 549, 447, 668, 444, 593, 463, 398, 398, + 398, 667, 767, 754, 750, 749, 741, 739, 737, 400, + 733, 497, 680, 92, 636, 430, 477, 409, 499, 1, + 732, 447, 447, 552, 545, 447, 501, 462, 706, 502, + 676, 476, 731, 425, 679, 447, 460, 730, 1, 376, + 397, 722, 504, 553, 641, 555, 443, 724, 629, 559, + 259, 592, 380, 505, 705, 695, 710, 510, 358, 565, + 427, 451, 401, 617, 518, 675, 448, 465, 442, 385, + 561, 410, 694, 523, 531, 534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -2, -2, -2, -2, -2, -2, + -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, + -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, 0, 0, 0, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, - -2, -2, -2, -2, -2, -2, -2, -2, -2, 0, - 0, 0, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, @@ -631,123 +632,122 @@ 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, -2, -2, -2, -2, -2, -2, - -2, -2, -2, -2, 124, 124, 124, 124, 124, 124, - 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, - 124, 124, 124, 124, 124, 124, 124, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 124, 124, 124, - 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, - 124, 124, 124, 124, 124, 124, 124, 163, 163, 163, - 163, 163, 163, 163, 163, 163, 163, 163, 124, 124, - 124, 124, 124, 124, 124, 124, 0, 271, 271, 271, - 271, 72, 72, 72, 163, 163, 163, 163, 163, 163, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 72, 72, 271, 271, 163, 163, -24, -24, -24, -24, - -24, -50, -50, -50, 146, -24, -50, 149, 149, 149, - -50, -50, -50, 146, 0, 0, 0, 0, 0, 0, - 0, 432, 149, 0, 0, 0, 618, 0, 0, 0, - 149, 316, 316, 316, 316, 214, 216, 0, 432, 432, - 0, 439, 0, 0, 0, 618, 0, 0, 0, 0, - 0, 0, 338, 532, 333, 0, 0, 0, 0, 0, - 0, 0, 0, 217, 217, 0, 0, 409, 0, 0, - 0, 0, 333, 0, 0, 214 + -2, -2, -2, -2, -2, 125, 125, 125, 125, 125, + 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, + 125, 125, 125, 125, 125, 125, 125, 125, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 125, 125, + 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, + 125, 125, 125, 125, 125, 125, 125, 125, 845, 845, + 845, 845, 845, 845, 845, 845, 845, 845, 845, 125, + 125, 125, 125, 125, 125, 125, 125, 0, -34, -34, + -34, -34, 738, 738, 738, 845, 845, 845, 845, 845, + 845, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 738, 738, -34, -34, 845, 845, 145, 145, 145, + 145, 145, -26, -26, -26, 136, 145, -26, -50, -50, + -50, -26, -26, -26, 136, 0, 0, 0, 0, 0, + 0, 0, 426, -50, 0, 0, 0, 659, 0, 0, + 0, -50, 307, 307, 307, 307, 1, 144, 0, 426, + 426, 0, 454, 0, 0, 0, 659, 0, 0, 0, + 0, 0, 0, 117, 615, 313, 0, 0, 0, 0, + 0, 0, 0, 0, 373, 373, 0, 0, 400, 0, + 0, 0, 0, 313, 0, 0, 1 ); protected static $yydefault = array( 3,32767,32767, 1,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767, 107, 99, 113, 98, - 109,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767, 378, 378,32767, 335,32767,32767,32767,32767,32767, - 32767,32767,32767, 180, 180, 180,32767,32767,32767, 367, - 367, 367, 367, 367, 367, 367, 367, 367, 367,32767, - 32767,32767,32767,32767, 258,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, 380, 380,32767, 337,32767,32767,32767,32767,32767, + 32767,32767,32767, 182, 182, 182,32767,32767,32767, 369, + 369, 369, 369, 369, 369, 369, 369, 369, 369,32767, + 32767,32767,32767,32767, 260,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767, 263, 383,32767,32767,32767,32767, + 32767,32767,32767,32767, 265, 385,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767, 239, 240, 242, 243, 179, - 368, 132, 264, 382, 178, 206, 208, 257, 207, 184, - 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, - 199, 183, 236, 235, 204, 332, 332, 335,32767,32767, - 32767,32767,32767,32767,32767,32767, 205, 209, 211, 210, - 226, 227, 224, 225, 182, 228, 229, 230, 231, 164, - 164, 164,32767,32767, 377, 377,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767, 165,32767, - 218, 219, 293, 293, 123, 123, 123, 123, 123,32767, - 32767,32767,32767,32767, 301,32767,32767,32767,32767,32767, - 303,32767, 213, 214, 212,32767,32767,32767,32767,32767, - 32767,32767,32767,32767, 340, 302,32767,32767,32767,32767, - 32767,32767,32767,32767, 353, 289,32767,32767,32767, 282, - 110, 112, 62, 319,32767,32767,32767,32767,32767, 358, - 32767,32767,32767,32767,32767,32767, 390,32767, 353,32767, - 32767,32767,32767,32767,32767, 234,32767,32767, 357, 351, - 32767,32767,32767,32767,32767, 66, 298,32767, 304,32767, + 32767,32767,32767,32767,32767, 241, 242, 244, 245, 181, + 370, 134, 266, 384, 180, 208, 210, 259, 209, 186, + 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, + 201, 185, 238, 237, 206, 334, 334, 337,32767,32767, + 32767,32767,32767,32767,32767,32767, 207, 211, 213, 212, + 228, 229, 226, 227, 184, 230, 231, 232, 233, 166, + 166, 166,32767,32767, 379, 379,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767, 167,32767, + 220, 221, 295, 295, 125, 125, 125, 125, 125,32767, + 32767,32767,32767,32767, 303,32767,32767,32767,32767,32767, + 305,32767, 215, 216, 214,32767,32767,32767,32767,32767, + 32767,32767,32767,32767, 342, 304,32767,32767,32767,32767, + 32767,32767,32767,32767, 355, 291,32767,32767,32767, 284, + 112, 114, 62, 321,32767,32767,32767,32767,32767, 360, + 32767,32767,32767,32767,32767,32767, 392,32767, 355,32767, + 32767,32767,32767,32767,32767, 236,32767,32767, 359, 353, + 32767,32767,32767,32767,32767, 66, 300,32767, 306,32767, 32767,32767,32767, 66,32767,32767,32767,32767, 66,32767, - 356, 355, 66,32767, 283, 334, 66, 77,32767, 75, - 32767, 96, 96,32767,32767, 79, 330, 346,32767,32767, - 66,32767, 271, 334,32767,32767, 271, 66,32767,32767, - 4, 308,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767, 284,32767,32767,32767, - 254, 255, 342,32767, 343,32767, 282,32767, 222, 201, - 32767, 203,32767,32767, 287, 290,32767,32767,32767, 6, - 18, 141,32767, 285,32767, 187,32767,32767,32767,32767, - 385,32767,32767, 181,32767,32767, 20,32767, 137,32767, - 64,32767, 375,32767,32767, 351, 286, 215, 216, 217, - 32767,32767,32767,32767,32767,32767,32767,32767, 352,32767, - 32767,32767, 117,32767, 319,32767,32767,32767, 78,32767, - 185, 133,32767,32767, 384,32767,32767,32767,32767,32767, - 32767, 339,32767,32767,32767, 65,32767,32767, 80,32767, - 32767, 351,32767,32767,32767,32767, 121,32767,32767,32767, - 176,32767,32767,32767,32767,32767, 351,32767,32767,32767, - 32767,32767,32767,32767,32767, 4,32767, 158,32767,32767, - 32767,32767,32767,32767,32767, 26, 26, 3, 26, 104, - 26, 144, 3, 96, 96, 59, 144, 26, 144, 26, - 26, 26, 26, 26, 26, 26, 151, 26, 26, 26, - 26, 26 + 358, 357, 66,32767, 285, 336, 66, 79,32767, 77, + 32767, 98, 98,32767,32767, 81, 332, 348,32767,32767, + 66,32767, 273, 68, 336,32767,32767, 273, 66,32767, + 32767, 4, 310,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767, 286,32767,32767, + 32767, 256, 257, 344,32767, 345,32767, 284,32767, 224, + 203,32767, 205,32767,32767, 289, 292,32767,32767,32767, + 6, 18, 143,32767, 287,32767, 189,32767,32767,32767, + 32767, 387,32767,32767, 183,32767,32767, 20,32767, 139, + 32767, 64,32767, 377,32767,32767, 353, 288, 217, 218, + 219,32767,32767,32767,32767,32767,32767,32767,32767, 354, + 32767,32767,32767, 119,32767, 321,32767,32767,32767, 80, + 32767, 187, 135,32767,32767, 386,32767,32767,32767,32767, + 32767, 341,32767,32767,32767, 65,32767,32767, 82,32767, + 32767, 353,32767,32767,32767,32767,32767,32767,32767,32767, + 178,32767,32767,32767,32767,32767, 353,32767, 123,32767, + 32767,32767,32767,32767,32767,32767, 4,32767, 160,32767, + 32767,32767,32767,32767,32767,32767, 26, 26, 3, 26, + 106, 26, 146, 3, 98, 98, 59, 146, 26, 146, + 26, 26, 26, 26, 26, 26, 26, 153, 26, 26, + 26, 26, 26 ); protected static $yygoto = array( 161, 135, 135, 140, 135, 161, 136, 137, 138, 143, 145, 169, 163, 159, 159, 159, 159, 140, 140, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 155, - 156, 157, 158, 167, 134, 752, 753, 388, 755, 776, - 777, 778, 779, 780, 781, 782, 784, 720, 139, 141, + 156, 157, 158, 167, 134, 755, 756, 389, 758, 779, + 780, 781, 782, 783, 784, 785, 787, 723, 139, 141, 142, 144, 165, 166, 168, 184, 196, 197, 198, 199, 200, 201, 202, 203, 205, 206, 207, 208, 230, 231, - 252, 253, 254, 427, 428, 429, 170, 171, 172, 173, + 252, 253, 254, 428, 429, 430, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 146, 147, 148, 162, 149, 164, 150, 182, 151, 152, 153, 183, - 154, 132, 444, 444, 444, 444, 444, 444, 444, 444, - 444, 444, 444, 309, 486, 422, 422, 450, 418, 420, - 420, 389, 391, 410, 425, 451, 454, 465, 471, 334, + 154, 132, 445, 445, 445, 445, 445, 445, 445, 445, + 445, 445, 445, 309, 486, 423, 423, 451, 419, 421, + 421, 390, 392, 411, 426, 452, 455, 465, 471, 334, 334, 334, 334, 334, 334, 334, 334, 334, 334, 334, - 334, 334, 334, 334, 334, 648, 648, 908, 908, 815, - 815, 656, 656, 656, 656, 656, 405, 540, 540, 540, - 496, 445, 445, 445, 445, 445, 445, 445, 445, 445, - 445, 445, 613, 613, 613, 613, 270, 584, 608, 614, - 491, 390, 390, 390, 390, 390, 390, 390, 390, 390, - 390, 390, 390, 390, 390, 390, 390, 541, 541, 541, - 250, 393, 393, 5, 241, 16, 880, 6, 394, 394, - 539, 539, 539, 423, 7, 663, 17, 18, 8, 19, - 9, 10, 11, 297, 20, 12, 13, 14, 15, 912, - 634, 619, 617, 615, 617, 509, 396, 643, 638, 852, - 852, 852, 852, 852, 852, 852, 852, 852, 852, 852, - 431, 432, 433, 434, 435, 436, 437, 439, 467, 832, - 837, 459, 464, 501, 468, 273, 313, 773, 26, 21, - 284, 290, 811, 812, 556, 674, 623, 854, 855, 870, - 654, 709, 399, 440, 416, 210, 477, 211, 809, 879, - 809, 887, 887, 485, 29, 302, 810, 868, 482, 399, - 399, 918, 918, 905, 903, 903, 903, 764, 291, 652, - 921, 918, 408, 298, 298, 298, 419, 430, 1, 886, - 404, 456, 484, 2, 548, 718, 921, 921, 298, 666, - 460, 699, 314, 853, 404, 404, 308, 489, 395, 395, - 888, 888, 519, 399, 827, 826, 310, 271, 272, 554, - 806, 671, 403, 622, 865, 488, 707, 0, 0, 0, - 0, 426, 0, 0, 0, 0, 0, 0, 0, 0, + 334, 334, 334, 334, 334, 651, 651, 911, 911, 818, + 818, 659, 659, 659, 659, 659, 210, 406, 211, 585, + 497, 446, 446, 446, 446, 446, 446, 446, 446, 446, + 446, 446, 616, 616, 616, 616, 270, 424, 611, 617, + 492, 391, 391, 391, 391, 391, 391, 391, 391, 391, + 391, 391, 391, 391, 391, 391, 391, 541, 541, 541, + 250, 394, 394, 5, 241, 16, 883, 6, 395, 395, + 540, 540, 540, 915, 7, 666, 17, 18, 8, 19, + 9, 10, 11, 290, 20, 12, 13, 14, 15, 477, + 637, 622, 620, 618, 620, 510, 397, 646, 641, 855, + 855, 855, 855, 855, 855, 855, 855, 855, 855, 855, + 432, 433, 434, 435, 436, 437, 438, 440, 467, 835, + 840, 542, 542, 542, 460, 464, 502, 776, 26, 21, + 284, 297, 814, 815, 557, 677, 626, 857, 858, 873, + 712, 657, 871, 441, 400, 485, 921, 921, 812, 882, + 812, 890, 890, 1, 29, 924, 921, 813, 2, 482, + 908, 400, 400, 302, 906, 906, 906, 431, 767, 291, + 405, 924, 924, 409, 298, 298, 298, 420, 655, 889, + 468, 273, 313, 669, 405, 405, 721, 457, 484, 298, + 549, 353, 417, 702, 314, 891, 891, 308, 520, 490, + 396, 396, 830, 829, 856, 400, 809, 310, 271, 272, + 555, 625, 674, 868, 404, 489, 710, 0, 0, 0, + 0, 0, 0, 427, 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, @@ -755,7 +755,7 @@ class Parser 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, 409 + 0, 0, 0, 410 ); protected static $yygcheck = array( @@ -773,29 +773,29 @@ class Parser 39, 39, 39, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, - 39, 39, 39, 39, 39, 54, 54, 54, 54, 39, - 39, 39, 39, 39, 39, 39, 76, 7, 7, 7, - 39, 93, 93, 93, 93, 93, 93, 93, 93, 93, - 93, 93, 39, 39, 39, 39, 49, 32, 39, 39, - 39, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 90, 90, 8, 8, 8, - 99, 90, 90, 14, 99, 14, 58, 14, 93, 93, - 6, 6, 6, 84, 14, 60, 14, 14, 14, 14, - 14, 14, 14, 5, 14, 14, 14, 14, 14, 113, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 100, - 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, - 85, 85, 85, 85, 85, 85, 85, 85, 85, 16, - 58, 41, 41, 41, 47, 47, 47, 16, 16, 16, - 16, 29, 58, 58, 13, 13, 13, 13, 13, 13, - 13, 13, 4, 16, 5, 45, 102, 45, 58, 58, - 58, 92, 92, 31, 16, 30, 58, 105, 16, 4, - 4, 114, 114, 111, 92, 92, 92, 77, 40, 56, - 114, 114, 40, 97, 97, 97, 40, 26, 2, 92, - 26, 22, 22, 2, 11, 76, 114, 114, 97, 61, - 40, 73, 73, 101, 26, 26, 97, 40, 96, 96, - 91, 91, 51, 4, 98, 98, 10, 49, 49, 12, - 88, 62, 4, 48, 104, 83, 75, -1, -1, -1, - -1, 4, -1, -1, -1, -1, -1, -1, -1, -1, + 39, 39, 39, 39, 39, 55, 55, 55, 55, 39, + 39, 39, 39, 39, 39, 39, 46, 77, 46, 32, + 39, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 39, 39, 39, 39, 50, 85, 39, 39, + 39, 91, 91, 91, 91, 91, 91, 91, 91, 91, + 91, 91, 91, 91, 91, 91, 91, 7, 7, 7, + 100, 91, 91, 14, 100, 14, 59, 14, 94, 94, + 6, 6, 6, 114, 14, 61, 14, 14, 14, 14, + 14, 14, 14, 29, 14, 14, 14, 14, 14, 103, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 101, + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, + 86, 86, 86, 86, 86, 86, 86, 86, 86, 16, + 59, 8, 8, 8, 42, 42, 42, 16, 16, 16, + 16, 5, 59, 59, 13, 13, 13, 13, 13, 13, + 13, 13, 106, 16, 4, 31, 115, 115, 59, 59, + 59, 93, 93, 2, 16, 115, 115, 59, 2, 16, + 112, 4, 4, 30, 93, 93, 93, 26, 78, 40, + 26, 115, 115, 40, 98, 98, 98, 40, 57, 93, + 48, 48, 48, 62, 26, 26, 77, 22, 22, 98, + 11, 40, 5, 74, 74, 92, 92, 98, 52, 40, + 97, 97, 99, 99, 102, 4, 89, 10, 50, 50, + 12, 49, 63, 105, 4, 84, 76, -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, @@ -803,37 +803,37 @@ class Parser -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 76 + -1, -1, -1, 77 ); protected static $yygbase = array( - 0, 0, -189, 0, 23, -36, 209, 156, 196, 0, - 25, 47, 6, 86, -303, 0, -57, 0, 0, 0, - 0, 0, 277, 0, 0, -30, 287, 0, 0, 225, - 76, 80, 152, -99, 0, 0, 0, 0, 0, -83, - -20, 26, 0, 0, 0, -231, 0, 8, 4, -166, - 0, 56, 0, 0, -67, 0, 71, 0, -58, 0, - 180, 44, 7, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 103, 0, -2, 109, 74, 0, 0, - 0, 0, 0, -1, 181, 200, 0, 0, 27, 0, - -31, 108, 59, -24, 0, 0, 106, 68, 98, -44, - 54, 46, 100, 0, 1, 110, 0, 0, 0, 0, - 0, 88, 0, 195, 61, 0 + 0, 0, -215, 0, 25, 12, 209, 196, 260, 0, + 26, 53, 7, 86, -304, 0, -57, 0, 0, 0, + 0, 0, 283, 0, 0, -30, 277, 0, 0, 177, + 84, 72, 134, -99, 0, 0, 0, 0, 0, -83, + -19, 0, 29, 0, 0, 0, -361, 0, 64, 2, + -166, 0, 52, 0, 0, -67, 0, 80, 0, -58, + 0, 180, 38, 8, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 105, 0, -3, 110, 75, 0, + 0, 0, 0, 0, -2, 145, 200, 0, 0, 23, + 0, -31, 103, 59, -24, 0, 0, 108, 69, 96, + -44, 54, 57, 43, 0, -1, 95, 0, 0, 0, + 0, 0, 85, 0, 179, 46, 0 ); protected static $yygdefault = array( - -32768, 359, 3, 534, 376, 400, 559, 560, 561, 293, - 292, 549, 555, 461, 4, 557, 765, 280, 564, 281, - 470, 566, 412, 568, 569, 133, 377, 294, 295, 413, - 301, 457, 583, 204, 300, 585, 282, 587, 592, 283, - 490, 441, 378, 345, 452, 209, 421, 448, 621, 269, - 629, 522, 637, 640, 379, 442, 651, 350, 808, 306, - 662, 667, 672, 675, 322, 311, 466, 679, 680, 243, - 684, 497, 498, 698, 228, 706, 719, 318, 783, 785, - 380, 381, 406, 475, 392, 411, 802, 312, 805, 382, - 383, 330, 331, 823, 820, 275, 873, 274, 347, 240, - 858, 859, 462, 353, 911, 869, 264, 384, 385, 289, - 303, 906, 335, 913, 920, 449 + -32768, 360, 3, 535, 377, 401, 560, 561, 562, 293, + 292, 550, 556, 461, 4, 558, 768, 280, 565, 281, + 470, 567, 413, 569, 570, 133, 378, 294, 295, 414, + 301, 458, 584, 204, 300, 586, 282, 588, 593, 283, + 491, 476, 442, 379, 345, 453, 209, 422, 449, 624, + 269, 632, 523, 640, 643, 380, 443, 654, 350, 811, + 306, 665, 670, 675, 678, 322, 311, 466, 682, 683, + 243, 687, 498, 499, 701, 228, 709, 722, 318, 786, + 788, 381, 382, 407, 475, 393, 412, 805, 312, 808, + 383, 384, 330, 331, 826, 823, 275, 876, 274, 347, + 240, 861, 862, 462, 354, 914, 872, 264, 385, 386, + 289, 303, 909, 335, 916, 923, 450 ); protected static $yylhs = array( @@ -843,19 +843,19 @@ class Parser 15, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 36, - 36, 38, 37, 37, 30, 30, 40, 40, 7, 8, - 8, 8, 42, 42, 42, 43, 43, 46, 46, 44, - 44, 47, 47, 23, 23, 32, 32, 35, 35, 34, - 34, 48, 24, 24, 24, 24, 49, 49, 50, 50, - 51, 51, 21, 21, 17, 17, 52, 19, 19, 53, - 18, 18, 20, 20, 31, 31, 31, 41, 41, 55, - 55, 56, 56, 57, 57, 57, 57, 58, 58, 58, - 59, 59, 60, 60, 27, 27, 61, 61, 61, 28, - 28, 62, 62, 45, 45, 63, 63, 63, 63, 68, - 68, 69, 69, 70, 70, 70, 70, 71, 72, 72, - 67, 67, 64, 64, 66, 66, 74, 74, 73, 73, - 73, 73, 73, 73, 65, 65, 75, 75, 29, 29, - 22, 22, 25, 25, 25, 25, 25, 25, 25, 25, + 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, 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, 25, 25, 25, @@ -863,20 +863,21 @@ 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, 16, 16, 26, 26, 80, 80, 81, 81, 81, - 76, 83, 83, 87, 87, 88, 89, 89, 89, 89, - 89, 89, 93, 93, 39, 39, 39, 77, 77, 94, - 94, 90, 90, 95, 95, 95, 95, 95, 78, 78, - 78, 82, 82, 82, 86, 86, 100, 100, 100, 100, - 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, - 13, 13, 13, 13, 13, 13, 79, 79, 79, 79, - 101, 101, 102, 102, 104, 104, 103, 103, 105, 105, - 33, 33, 33, 33, 107, 107, 106, 106, 106, 106, - 106, 108, 108, 92, 92, 96, 96, 91, 91, 109, - 109, 109, 109, 97, 97, 97, 97, 85, 85, 98, - 98, 98, 54, 110, 110, 111, 111, 111, 84, 84, - 112, 112, 113, 113, 113, 113, 99, 99, 99, 99, - 114, 114, 114, 114, 114, 114, 114, 115, 115, 115 + 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, 13, 13, 13, 80, 80, + 80, 80, 102, 102, 103, 103, 105, 105, 104, 104, + 106, 106, 33, 33, 33, 33, 108, 108, 107, 107, + 107, 107, 107, 109, 109, 93, 93, 97, 97, 92, + 92, 110, 110, 110, 110, 98, 98, 98, 98, 86, + 86, 99, 99, 99, 55, 111, 111, 112, 112, 112, + 85, 85, 113, 113, 114, 114, 114, 114, 100, 100, + 100, 100, 115, 115, 115, 115, 115, 115, 115, 116, + 116, 116 ); protected static $yylen = array( @@ -886,40 +887,41 @@ class Parser 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, 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, 3, 5, 0, 1, 1, 1, 2, 3, 3, - 1, 3, 1, 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, + 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, 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, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 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, 3, 2, 2, 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, 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, 3, 2, 2, 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; @@ -1384,43 +1386,43 @@ class Parser } protected function yyn68($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 yyn69($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 yyn70($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 yyn71($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 yyn72($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 yyn73($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 yyn74($attributes) { - $this->yyval = Node\Stmt\Class_::MODIFIER_FINAL; + $this->yyval = 0; } protected function yyn75($attributes) { - $this->yyval = null; + $this->yyval = Node\Stmt\Class_::MODIFIER_ABSTRACT; } protected function yyn76($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(2-2)]; + $this->yyval = Node\Stmt\Class_::MODIFIER_FINAL; } protected function yyn77($attributes) { - $this->yyval = array(); + $this->yyval = null; } protected function yyn78($attributes) { @@ -1436,19 +1438,19 @@ class Parser } protected function yyn81($attributes) { - $this->yyval = array($this->yyastk[$this->stackPos-(1-1)]); + $this->yyval = array(); } protected function yyn82($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 yyn83($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 yyn84($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 yyn85($attributes) { @@ -1468,95 +1470,95 @@ class Parser } protected function yyn89($attributes) { - $this->yyval = array($this->yyastk[$this->stackPos-(1-1)]); - } - - protected function yyn90($attributes) { - $this->yyastk[$this->stackPos-(3-1)][] = $this->yyastk[$this->stackPos-(3-3)]; $this->yyval = $this->yyastk[$this->stackPos-(3-1)]; - } - - protected function yyn91($attributes) { - $this->yyval = new Node\Stmt\DeclareDeclare($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn92($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(3-2)]; - } - - protected function yyn93($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(4-3)]; - } - - protected function yyn94($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(4-2)]; - } - - protected function yyn95($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(5-3)]; - } - - protected function yyn96($attributes) { - $this->yyval = array(); - } - - protected function yyn97($attributes) { - $this->yyastk[$this->stackPos-(2-1)][] = $this->yyastk[$this->stackPos-(2-2)]; $this->yyval = $this->yyastk[$this->stackPos-(2-1)]; - } - - protected function yyn98($attributes) { - $this->yyval = new Node\Stmt\Case_($this->yyastk[$this->stackPos-(4-2)], $this->yyastk[$this->stackPos-(4-4)], $attributes); - } - - protected function yyn99($attributes) { - $this->yyval = new Node\Stmt\Case_(null, $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn100() { - $this->yyval = $this->yyastk[$this->stackPos]; - } - - protected function yyn101() { - $this->yyval = $this->yyastk[$this->stackPos]; - } - - protected function yyn102($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 yyn103($attributes) { + protected function yyn90($attributes) { $this->yyval = $this->yyastk[$this->stackPos-(4-2)]; } - protected function yyn104($attributes) { + 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) { - $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 yyn106($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 yyn107($attributes) { $this->yyval = array(); } - protected function yyn108($attributes) { + protected function yyn107($attributes) { $this->yyastk[$this->stackPos-(2-1)][] = $this->yyastk[$this->stackPos-(2-2)]; $this->yyval = $this->yyastk[$this->stackPos-(2-1)]; } + 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 = new Node\Stmt\ElseIf_($this->yyastk[$this->stackPos-(4-2)], $this->yyastk[$this->stackPos-(4-4)], $attributes); + $this->yyval = array(); } protected function yyn110($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 yyn111($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 yyn112($attributes) { @@ -1564,15 +1566,15 @@ class Parser } protected function yyn113($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 yyn114($attributes) { - $this->yyval = array($this->yyastk[$this->stackPos-(1-1)], false); + $this->yyval = null; } protected function yyn115($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 yyn116($attributes) { @@ -1580,139 +1582,139 @@ class Parser } protected function yyn117($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; + $this->yyval = array($this->yyastk[$this->stackPos-(2-2)], true); } protected function yyn118($attributes) { - $this->yyval = array(); + $this->yyval = array($this->yyastk[$this->stackPos-(1-1)], false); } protected function yyn119($attributes) { - $this->yyval = array($this->yyastk[$this->stackPos-(1-1)]); - } - - protected function yyn120($attributes) { - $this->yyastk[$this->stackPos-(3-1)][] = $this->yyastk[$this->stackPos-(3-3)]; $this->yyval = $this->yyastk[$this->stackPos-(3-1)]; - } - - protected function yyn121($attributes) { - $this->yyval = new Node\Param(substr($this->yyastk[$this->stackPos-(3-3)], 1), null, $this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-2)], $attributes); - } - - protected function yyn122($attributes) { - $this->yyval = new Node\Param(substr($this->yyastk[$this->stackPos-(5-3)], 1), $this->yyastk[$this->stackPos-(5-5)], $this->yyastk[$this->stackPos-(5-1)], $this->yyastk[$this->stackPos-(5-2)], $attributes); - } - - protected function yyn123($attributes) { - $this->yyval = null; - } - - protected function yyn124($attributes) { $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; } + protected function yyn120($attributes) { + $this->yyval = array(); + } + + 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 = 'array'; + $this->yyval = null; } protected function yyn126($attributes) { - $this->yyval = 'callable'; + $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; } protected function yyn127($attributes) { - $this->yyval = array(); + $this->yyval = 'array'; } protected function yyn128($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(3-2)]; + $this->yyval = 'callable'; } protected function yyn129($attributes) { - $this->yyval = array(new Node\Arg($this->yyastk[$this->stackPos-(3-2)], false, $attributes)); + $this->yyval = array(); } protected function yyn130($attributes) { - $this->yyval = array($this->yyastk[$this->stackPos-(1-1)]); + $this->yyval = $this->yyastk[$this->stackPos-(3-2)]; } protected function yyn131($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, $attributes)); } protected function yyn132($attributes) { - $this->yyval = new Node\Arg($this->yyastk[$this->stackPos-(1-1)], false, $attributes); + $this->yyval = array($this->yyastk[$this->stackPos-(1-1)]); } protected function yyn133($attributes) { - $this->yyval = new Node\Arg($this->yyastk[$this->stackPos-(2-2)], true, $attributes); + $this->yyastk[$this->stackPos-(3-1)][] = $this->yyastk[$this->stackPos-(3-3)]; $this->yyval = $this->yyastk[$this->stackPos-(3-1)]; } protected function yyn134($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-(1-1)], false, $attributes); } protected function yyn135($attributes) { - $this->yyval = array($this->yyastk[$this->stackPos-(1-1)]); + $this->yyval = new Node\Arg($this->yyastk[$this->stackPos-(2-2)], true, $attributes); } protected function yyn136($attributes) { - $this->yyval = new Node\Expr\Variable(substr($this->yyastk[$this->stackPos-(1-1)], 1), $attributes); - } - - protected function yyn137($attributes) { - $this->yyval = new Node\Expr\Variable($this->yyastk[$this->stackPos-(2-2)], $attributes); - } - - protected function yyn138($attributes) { - $this->yyval = new Node\Expr\Variable($this->yyastk[$this->stackPos-(4-3)], $attributes); - } - - protected function yyn139($attributes) { $this->yyastk[$this->stackPos-(3-1)][] = $this->yyastk[$this->stackPos-(3-3)]; $this->yyval = $this->yyastk[$this->stackPos-(3-1)]; } - protected function yyn140($attributes) { + protected function yyn137($attributes) { $this->yyval = array($this->yyastk[$this->stackPos-(1-1)]); } + protected function yyn138($attributes) { + $this->yyval = new Node\Expr\Variable(substr($this->yyastk[$this->stackPos-(1-1)], 1), $attributes); + } + + protected function yyn139($attributes) { + $this->yyval = new Node\Expr\Variable($this->yyastk[$this->stackPos-(2-2)], $attributes); + } + + protected function yyn140($attributes) { + $this->yyval = new Node\Expr\Variable($this->yyastk[$this->stackPos-(4-3)], $attributes); + } + protected function yyn141($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 yyn142($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 yyn143($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 yyn144($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 yyn145($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 yyn146($attributes) { - $this->yyval = new Node\Stmt\ClassConst($this->yyastk[$this->stackPos-(3-2)], $attributes); - } - - protected function yyn147($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 yyn148($attributes) { - $this->yyval = new Node\Stmt\TraitUse($this->yyastk[$this->stackPos-(3-2)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn149($attributes) { $this->yyval = array(); } + protected function yyn147($attributes) { + $this->yyval = new Node\Stmt\Property($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-2)], $attributes); + } + + protected function yyn148($attributes) { + $this->yyval = new Node\Stmt\ClassConst($this->yyastk[$this->stackPos-(3-2)], $attributes); + } + + protected function yyn149($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 yyn150($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 yyn151($attributes) { @@ -1720,415 +1722,415 @@ class Parser } protected function yyn152($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 yyn153($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 yyn154($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 yyn155($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 yyn156($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 yyn157($attributes) { - $this->yyval = array($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)]); - } - - protected function yyn158($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; - } - - protected function yyn159($attributes) { - $this->yyval = array(null, $this->yyastk[$this->stackPos-(1-1)]); - } - - protected function yyn160($attributes) { - $this->yyval = null; - } - - protected function yyn161($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(3-2)]; - } - - protected function yyn162($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; - } - - protected function yyn163($attributes) { - $this->yyval = Node\Stmt\Class_::MODIFIER_PUBLIC; - } - - protected function yyn164($attributes) { - $this->yyval = Node\Stmt\Class_::MODIFIER_PUBLIC; - } - - protected function yyn165($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; - } - - protected function yyn166($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; - } - - protected function yyn167($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 yyn168($attributes) { - $this->yyval = Node\Stmt\Class_::MODIFIER_PUBLIC; - } - - protected function yyn169($attributes) { - $this->yyval = Node\Stmt\Class_::MODIFIER_PROTECTED; - } - - protected function yyn170($attributes) { - $this->yyval = Node\Stmt\Class_::MODIFIER_PRIVATE; - } - - protected function yyn171($attributes) { - $this->yyval = Node\Stmt\Class_::MODIFIER_STATIC; - } - - protected function yyn172($attributes) { - $this->yyval = Node\Stmt\Class_::MODIFIER_ABSTRACT; - } - - protected function yyn173($attributes) { - $this->yyval = Node\Stmt\Class_::MODIFIER_FINAL; - } - - protected function yyn174($attributes) { - $this->yyval = array($this->yyastk[$this->stackPos-(1-1)]); - } - - protected function yyn175($attributes) { - $this->yyastk[$this->stackPos-(3-1)][] = $this->yyastk[$this->stackPos-(3-3)]; $this->yyval = $this->yyastk[$this->stackPos-(3-1)]; - } - - protected function yyn176($attributes) { - $this->yyval = new Node\Stmt\PropertyProperty(substr($this->yyastk[$this->stackPos-(1-1)], 1), null, $attributes); - } - - protected function yyn177($attributes) { - $this->yyval = new Node\Stmt\PropertyProperty(substr($this->yyastk[$this->stackPos-(3-1)], 1), $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - 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 = array($this->yyastk[$this->stackPos-(1-1)]); - } - - protected function yyn180($attributes) { $this->yyval = array(); } - protected function yyn181($attributes) { + protected function yyn154($attributes) { + $this->yyastk[$this->stackPos-(2-1)][] = $this->yyastk[$this->stackPos-(2-2)]; $this->yyval = $this->yyastk[$this->stackPos-(2-1)]; + } + + protected function yyn155($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 yyn156($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 yyn157($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 yyn158($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 yyn159($attributes) { + $this->yyval = array($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)]); + } + + protected function yyn160($attributes) { $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; } - protected function yyn182($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; + protected function yyn161($attributes) { + $this->yyval = array(null, $this->yyastk[$this->stackPos-(1-1)]); } - protected function yyn183($attributes) { - $this->yyval = new Node\Expr\Assign($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + protected function yyn162($attributes) { + $this->yyval = null; } - protected function yyn184($attributes) { - $this->yyval = new Node\Expr\Assign($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn185($attributes) { - $this->yyval = new Node\Expr\AssignRef($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-4)], $attributes); - } - - protected function yyn186($attributes) { - $this->yyval = new Node\Expr\AssignRef($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-4)], $attributes); - } - - protected function yyn187($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; - } - - protected function yyn188($attributes) { - $this->yyval = new Node\Expr\Clone_($this->yyastk[$this->stackPos-(2-2)], $attributes); - } - - protected function yyn189($attributes) { - $this->yyval = new Node\Expr\AssignOp\Plus($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn190($attributes) { - $this->yyval = new Node\Expr\AssignOp\Minus($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn191($attributes) { - $this->yyval = new Node\Expr\AssignOp\Mul($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn192($attributes) { - $this->yyval = new Node\Expr\AssignOp\Div($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn193($attributes) { - $this->yyval = new Node\Expr\AssignOp\Concat($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn194($attributes) { - $this->yyval = new Node\Expr\AssignOp\Mod($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn195($attributes) { - $this->yyval = new Node\Expr\AssignOp\BitwiseAnd($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn196($attributes) { - $this->yyval = new Node\Expr\AssignOp\BitwiseOr($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn197($attributes) { - $this->yyval = new Node\Expr\AssignOp\BitwiseXor($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn198($attributes) { - $this->yyval = new Node\Expr\AssignOp\ShiftLeft($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn199($attributes) { - $this->yyval = new Node\Expr\AssignOp\ShiftRight($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn200($attributes) { - $this->yyval = new Node\Expr\PostInc($this->yyastk[$this->stackPos-(2-1)], $attributes); - } - - protected function yyn201($attributes) { - $this->yyval = new Node\Expr\PreInc($this->yyastk[$this->stackPos-(2-2)], $attributes); - } - - protected function yyn202($attributes) { - $this->yyval = new Node\Expr\PostDec($this->yyastk[$this->stackPos-(2-1)], $attributes); - } - - protected function yyn203($attributes) { - $this->yyval = new Node\Expr\PreDec($this->yyastk[$this->stackPos-(2-2)], $attributes); - } - - protected function yyn204($attributes) { - $this->yyval = new Node\Expr\BinaryOp\BooleanOr($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn205($attributes) { - $this->yyval = new Node\Expr\BinaryOp\BooleanAnd($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn206($attributes) { - $this->yyval = new Node\Expr\BinaryOp\LogicalOr($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn207($attributes) { - $this->yyval = new Node\Expr\BinaryOp\LogicalAnd($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn208($attributes) { - $this->yyval = new Node\Expr\BinaryOp\LogicalXor($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn209($attributes) { - $this->yyval = new Node\Expr\BinaryOp\BitwiseOr($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn210($attributes) { - $this->yyval = new Node\Expr\BinaryOp\BitwiseAnd($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn211($attributes) { - $this->yyval = new Node\Expr\BinaryOp\BitwiseXor($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn212($attributes) { - $this->yyval = new Node\Expr\BinaryOp\Concat($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn213($attributes) { - $this->yyval = new Node\Expr\BinaryOp\Plus($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn214($attributes) { - $this->yyval = new Node\Expr\BinaryOp\Minus($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn215($attributes) { - $this->yyval = new Node\Expr\BinaryOp\Mul($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn216($attributes) { - $this->yyval = new Node\Expr\BinaryOp\Div($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn217($attributes) { - $this->yyval = new Node\Expr\BinaryOp\Mod($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn218($attributes) { - $this->yyval = new Node\Expr\BinaryOp\ShiftLeft($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn219($attributes) { - $this->yyval = new Node\Expr\BinaryOp\ShiftRight($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn220($attributes) { - $this->yyval = new Node\Expr\UnaryPlus($this->yyastk[$this->stackPos-(2-2)], $attributes); - } - - protected function yyn221($attributes) { - $this->yyval = new Node\Expr\UnaryMinus($this->yyastk[$this->stackPos-(2-2)], $attributes); - } - - protected function yyn222($attributes) { - $this->yyval = new Node\Expr\BooleanNot($this->yyastk[$this->stackPos-(2-2)], $attributes); - } - - protected function yyn223($attributes) { - $this->yyval = new Node\Expr\BitwiseNot($this->yyastk[$this->stackPos-(2-2)], $attributes); - } - - protected function yyn224($attributes) { - $this->yyval = new Node\Expr\BinaryOp\Identical($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn225($attributes) { - $this->yyval = new Node\Expr\BinaryOp\NotIdentical($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn226($attributes) { - $this->yyval = new Node\Expr\BinaryOp\Equal($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn227($attributes) { - $this->yyval = new Node\Expr\BinaryOp\NotEqual($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn228($attributes) { - $this->yyval = new Node\Expr\BinaryOp\Smaller($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn229($attributes) { - $this->yyval = new Node\Expr\BinaryOp\SmallerOrEqual($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn230($attributes) { - $this->yyval = new Node\Expr\BinaryOp\Greater($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn231($attributes) { - $this->yyval = new Node\Expr\BinaryOp\GreaterOrEqual($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn232($attributes) { - $this->yyval = new Node\Expr\Instanceof_($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn233($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; - } - - protected function yyn234($attributes) { + protected function yyn163($attributes) { $this->yyval = $this->yyastk[$this->stackPos-(3-2)]; } + protected function yyn164($attributes) { + $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; + } + + protected function yyn165($attributes) { + $this->yyval = Node\Stmt\Class_::MODIFIER_PUBLIC; + } + + protected function yyn166($attributes) { + $this->yyval = Node\Stmt\Class_::MODIFIER_PUBLIC; + } + + protected function yyn167($attributes) { + $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; + } + + protected function yyn168($attributes) { + $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; + } + + protected function yyn169($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 yyn170($attributes) { + $this->yyval = Node\Stmt\Class_::MODIFIER_PUBLIC; + } + + protected function yyn171($attributes) { + $this->yyval = Node\Stmt\Class_::MODIFIER_PROTECTED; + } + + protected function yyn172($attributes) { + $this->yyval = Node\Stmt\Class_::MODIFIER_PRIVATE; + } + + protected function yyn173($attributes) { + $this->yyval = Node\Stmt\Class_::MODIFIER_STATIC; + } + + protected function yyn174($attributes) { + $this->yyval = Node\Stmt\Class_::MODIFIER_ABSTRACT; + } + + protected function yyn175($attributes) { + $this->yyval = Node\Stmt\Class_::MODIFIER_FINAL; + } + + protected function yyn176($attributes) { + $this->yyval = array($this->yyastk[$this->stackPos-(1-1)]); + } + + protected function yyn177($attributes) { + $this->yyastk[$this->stackPos-(3-1)][] = $this->yyastk[$this->stackPos-(3-3)]; $this->yyval = $this->yyastk[$this->stackPos-(3-1)]; + } + + protected function yyn178($attributes) { + $this->yyval = new Node\Stmt\PropertyProperty(substr($this->yyastk[$this->stackPos-(1-1)], 1), null, $attributes); + } + + protected function yyn179($attributes) { + $this->yyval = new Node\Stmt\PropertyProperty(substr($this->yyastk[$this->stackPos-(3-1)], 1), $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + 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 = array($this->yyastk[$this->stackPos-(1-1)]); + } + + protected function yyn182($attributes) { + $this->yyval = array(); + } + + protected function yyn183($attributes) { + $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; + } + + protected function yyn184($attributes) { + $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; + } + + protected function yyn185($attributes) { + $this->yyval = new Node\Expr\Assign($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + 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 yyn187($attributes) { + $this->yyval = new Node\Expr\AssignRef($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-4)], $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 = $this->yyastk[$this->stackPos-(1-1)]; + } + + protected function yyn190($attributes) { + $this->yyval = new Node\Expr\Clone_($this->yyastk[$this->stackPos-(2-2)], $attributes); + } + + protected function yyn191($attributes) { + $this->yyval = new Node\Expr\AssignOp\Plus($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn192($attributes) { + $this->yyval = new Node\Expr\AssignOp\Minus($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn193($attributes) { + $this->yyval = new Node\Expr\AssignOp\Mul($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn194($attributes) { + $this->yyval = new Node\Expr\AssignOp\Div($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn195($attributes) { + $this->yyval = new Node\Expr\AssignOp\Concat($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn196($attributes) { + $this->yyval = new Node\Expr\AssignOp\Mod($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn197($attributes) { + $this->yyval = new Node\Expr\AssignOp\BitwiseAnd($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn198($attributes) { + $this->yyval = new Node\Expr\AssignOp\BitwiseOr($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn199($attributes) { + $this->yyval = new Node\Expr\AssignOp\BitwiseXor($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn200($attributes) { + $this->yyval = new Node\Expr\AssignOp\ShiftLeft($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn201($attributes) { + $this->yyval = new Node\Expr\AssignOp\ShiftRight($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn202($attributes) { + $this->yyval = new Node\Expr\PostInc($this->yyastk[$this->stackPos-(2-1)], $attributes); + } + + protected function yyn203($attributes) { + $this->yyval = new Node\Expr\PreInc($this->yyastk[$this->stackPos-(2-2)], $attributes); + } + + protected function yyn204($attributes) { + $this->yyval = new Node\Expr\PostDec($this->yyastk[$this->stackPos-(2-1)], $attributes); + } + + protected function yyn205($attributes) { + $this->yyval = new Node\Expr\PreDec($this->yyastk[$this->stackPos-(2-2)], $attributes); + } + + protected function yyn206($attributes) { + $this->yyval = new Node\Expr\BinaryOp\BooleanOr($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn207($attributes) { + $this->yyval = new Node\Expr\BinaryOp\BooleanAnd($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn208($attributes) { + $this->yyval = new Node\Expr\BinaryOp\LogicalOr($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn209($attributes) { + $this->yyval = new Node\Expr\BinaryOp\LogicalAnd($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn210($attributes) { + $this->yyval = new Node\Expr\BinaryOp\LogicalXor($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn211($attributes) { + $this->yyval = new Node\Expr\BinaryOp\BitwiseOr($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn212($attributes) { + $this->yyval = new Node\Expr\BinaryOp\BitwiseAnd($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn213($attributes) { + $this->yyval = new Node\Expr\BinaryOp\BitwiseXor($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn214($attributes) { + $this->yyval = new Node\Expr\BinaryOp\Concat($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn215($attributes) { + $this->yyval = new Node\Expr\BinaryOp\Plus($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn216($attributes) { + $this->yyval = new Node\Expr\BinaryOp\Minus($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn217($attributes) { + $this->yyval = new Node\Expr\BinaryOp\Mul($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn218($attributes) { + $this->yyval = new Node\Expr\BinaryOp\Div($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn219($attributes) { + $this->yyval = new Node\Expr\BinaryOp\Mod($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn220($attributes) { + $this->yyval = new Node\Expr\BinaryOp\ShiftLeft($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn221($attributes) { + $this->yyval = new Node\Expr\BinaryOp\ShiftRight($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn222($attributes) { + $this->yyval = new Node\Expr\UnaryPlus($this->yyastk[$this->stackPos-(2-2)], $attributes); + } + + protected function yyn223($attributes) { + $this->yyval = new Node\Expr\UnaryMinus($this->yyastk[$this->stackPos-(2-2)], $attributes); + } + + protected function yyn224($attributes) { + $this->yyval = new Node\Expr\BooleanNot($this->yyastk[$this->stackPos-(2-2)], $attributes); + } + + protected function yyn225($attributes) { + $this->yyval = new Node\Expr\BitwiseNot($this->yyastk[$this->stackPos-(2-2)], $attributes); + } + + protected function yyn226($attributes) { + $this->yyval = new Node\Expr\BinaryOp\Identical($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn227($attributes) { + $this->yyval = new Node\Expr\BinaryOp\NotIdentical($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn228($attributes) { + $this->yyval = new Node\Expr\BinaryOp\Equal($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn229($attributes) { + $this->yyval = new Node\Expr\BinaryOp\NotEqual($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn230($attributes) { + $this->yyval = new Node\Expr\BinaryOp\Smaller($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn231($attributes) { + $this->yyval = new Node\Expr\BinaryOp\SmallerOrEqual($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn232($attributes) { + $this->yyval = new Node\Expr\BinaryOp\Greater($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn233($attributes) { + $this->yyval = new Node\Expr\BinaryOp\GreaterOrEqual($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn234($attributes) { + $this->yyval = new Node\Expr\Instanceof_($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + protected function yyn235($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 yyn236($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 yyn237($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 yyn238($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 yyn239($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 yyn240($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 yyn241($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 yyn242($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 yyn243($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 yyn244($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 yyn245($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 yyn246($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 yyn247($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 yyn248($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 yyn249($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 yyn250($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 yyn251($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 yyn252($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 yyn253($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; + $this->yyval = new Node\Expr\Exit_($this->yyastk[$this->stackPos-(2-2)], $attributes); } protected function yyn254($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; + $this->yyval = new Node\Expr\ErrorSuppress($this->yyastk[$this->stackPos-(2-2)], $attributes); } protected function yyn255($attributes) { @@ -2136,55 +2138,55 @@ class Parser } protected function yyn256($attributes) { - $this->yyval = new Node\Expr\ShellExec($this->yyastk[$this->stackPos-(3-2)], $attributes); + $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; } protected function yyn257($attributes) { - $this->yyval = new Node\Expr\Print_($this->yyastk[$this->stackPos-(2-2)], $attributes); + $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; } protected function yyn258($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 yyn259($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 yyn260($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 yyn261($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 yyn262($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 yyn263($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 yyn264($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 yyn265($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 yyn266($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 yyn267($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 yyn268($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 yyn269($attributes) { @@ -2192,42 +2194,50 @@ class Parser } protected function yyn270($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 yyn271($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 yyn272($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 yyn273($attributes) { - $this->yyval = array($this->yyastk[$this->stackPos-(1-1)]); + $this->yyval = array(); } protected function yyn274($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 yyn275($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 yyn276($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 yyn277($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 yyn278($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 yyn279($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 yyn280($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 yyn281($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); @@ -2245,40 +2255,32 @@ class Parser } - protected function yyn280($attributes) { + protected function yyn282($attributes) { $this->yyval = new Node\Expr\FuncCall($this->yyastk[$this->stackPos-(2-1)], $this->yyastk[$this->stackPos-(2-2)], $attributes); } - protected function yyn281($attributes) { + protected function yyn283($attributes) { $this->yyval = new Node\Expr\ArrayDimFetch($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-3)], $attributes); } - protected function yyn282($attributes) { + protected function yyn284($attributes) { $this->yyval = new Node\Name('static', $attributes); } - protected function yyn283($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; - } - - protected function yyn284($attributes) { - $this->yyval = new Node\Name($this->yyastk[$this->stackPos-(1-1)], $attributes); - } - protected function yyn285($attributes) { - $this->yyval = new Node\Name\FullyQualified($this->yyastk[$this->stackPos-(2-2)], $attributes); + $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; } protected function yyn286($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 yyn287($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; + $this->yyval = new Node\Name\FullyQualified($this->yyastk[$this->stackPos-(2-2)], $attributes); } protected function yyn288($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; + $this->yyval = new Node\Name\Relative($this->yyastk[$this->stackPos-(3-3)], $attributes); } protected function yyn289($attributes) { @@ -2297,200 +2299,200 @@ class Parser $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; } - protected function yyn293() { - $this->yyval = $this->yyastk[$this->stackPos]; + protected function yyn293($attributes) { + $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; } protected function yyn294($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 yyn295($attributes) { - $this->yyval = new Node\Expr\PropertyFetch($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + protected function yyn295() { + $this->yyval = $this->yyastk[$this->stackPos]; } protected function yyn296($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 yyn297($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 yyn298($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 yyn299($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 yyn300($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; + $this->yyval = null; } protected function yyn301($attributes) { - $this->yyval = array(); + $this->yyval = null; } protected function yyn302($attributes) { - $this->yyval = array(Node\Scalar\String::parseEscapeSequences($this->yyastk[$this->stackPos-(1-1)], '`')); + $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; } protected function yyn303($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)]; + $this->yyval = array(); } protected function yyn304($attributes) { - $this->yyval = array(); + $this->yyval = array(Node\Scalar\String::parseEscapeSequences($this->yyastk[$this->stackPos-(1-1)], '`')); } protected function yyn305($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 yyn306($attributes) { - $this->yyval = new Node\Scalar\LNumber(Node\Scalar\LNumber::parse($this->yyastk[$this->stackPos-(1-1)]), $attributes); - } - - protected function yyn307($attributes) { - $this->yyval = new Node\Scalar\DNumber(Node\Scalar\DNumber::parse($this->yyastk[$this->stackPos-(1-1)]), $attributes); - } - - protected function yyn308($attributes) { - $this->yyval = new Node\Scalar\String(Node\Scalar\String::parse($this->yyastk[$this->stackPos-(1-1)]), $attributes); - } - - protected function yyn309($attributes) { - $this->yyval = new Node\Scalar\MagicConst\Line($attributes); - } - - protected function yyn310($attributes) { - $this->yyval = new Node\Scalar\MagicConst\File($attributes); - } - - protected function yyn311($attributes) { - $this->yyval = new Node\Scalar\MagicConst\Dir($attributes); - } - - protected function yyn312($attributes) { - $this->yyval = new Node\Scalar\MagicConst\Class_($attributes); - } - - protected function yyn313($attributes) { - $this->yyval = new Node\Scalar\MagicConst\Trait_($attributes); - } - - protected function yyn314($attributes) { - $this->yyval = new Node\Scalar\MagicConst\Method($attributes); - } - - protected function yyn315($attributes) { - $this->yyval = new Node\Scalar\MagicConst\Function_($attributes); - } - - protected function yyn316($attributes) { - $this->yyval = new Node\Scalar\MagicConst\Namespace_($attributes); - } - - protected function yyn317($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 yyn318($attributes) { - $this->yyval = new Node\Scalar\String('', $attributes); - } - - protected function yyn319($attributes) { - $this->yyval = new Node\Expr\ConstFetch($this->yyastk[$this->stackPos-(1-1)], $attributes); - } - - protected function yyn320($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; - } - - protected function yyn321($attributes) { - $this->yyval = new Node\Expr\ClassConstFetch($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn322($attributes) { - $this->yyval = new Node\Expr\UnaryPlus($this->yyastk[$this->stackPos-(2-2)], $attributes); - } - - protected function yyn323($attributes) { - $this->yyval = new Node\Expr\UnaryMinus($this->yyastk[$this->stackPos-(2-2)], $attributes); - } - - protected function yyn324($attributes) { - $this->yyval = new Node\Expr\Array_($this->yyastk[$this->stackPos-(4-3)], $attributes); - } - - protected function yyn325($attributes) { - $this->yyval = new Node\Expr\Array_($this->yyastk[$this->stackPos-(3-2)], $attributes); - } - - protected function yyn326($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; - } - - protected function yyn327($attributes) { - $this->yyval = new Node\Expr\ClassConstFetch($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn328($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); - } - - protected function yyn329($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); - } - - protected function yyn330($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; - } - - protected function yyn331($attributes) { - $this->yyval = 'class'; - } - - protected function yyn332($attributes) { $this->yyval = array(); } + protected function yyn307($attributes) { + $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; + } + + protected function yyn308($attributes) { + $this->yyval = new Node\Scalar\LNumber(Node\Scalar\LNumber::parse($this->yyastk[$this->stackPos-(1-1)]), $attributes); + } + + protected function yyn309($attributes) { + $this->yyval = new Node\Scalar\DNumber(Node\Scalar\DNumber::parse($this->yyastk[$this->stackPos-(1-1)]), $attributes); + } + + protected function yyn310($attributes) { + $this->yyval = new Node\Scalar\String(Node\Scalar\String::parse($this->yyastk[$this->stackPos-(1-1)]), $attributes); + } + + protected function yyn311($attributes) { + $this->yyval = new Node\Scalar\MagicConst\Line($attributes); + } + + protected function yyn312($attributes) { + $this->yyval = new Node\Scalar\MagicConst\File($attributes); + } + + protected function yyn313($attributes) { + $this->yyval = new Node\Scalar\MagicConst\Dir($attributes); + } + + protected function yyn314($attributes) { + $this->yyval = new Node\Scalar\MagicConst\Class_($attributes); + } + + protected function yyn315($attributes) { + $this->yyval = new Node\Scalar\MagicConst\Trait_($attributes); + } + + protected function yyn316($attributes) { + $this->yyval = new Node\Scalar\MagicConst\Method($attributes); + } + + protected function yyn317($attributes) { + $this->yyval = new Node\Scalar\MagicConst\Function_($attributes); + } + + protected function yyn318($attributes) { + $this->yyval = new Node\Scalar\MagicConst\Namespace_($attributes); + } + + protected function yyn319($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 yyn320($attributes) { + $this->yyval = new Node\Scalar\String('', $attributes); + } + + protected function yyn321($attributes) { + $this->yyval = new Node\Expr\ConstFetch($this->yyastk[$this->stackPos-(1-1)], $attributes); + } + + protected function yyn322($attributes) { + $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; + } + + protected function yyn323($attributes) { + $this->yyval = new Node\Expr\ClassConstFetch($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn324($attributes) { + $this->yyval = new Node\Expr\UnaryPlus($this->yyastk[$this->stackPos-(2-2)], $attributes); + } + + protected function yyn325($attributes) { + $this->yyval = new Node\Expr\UnaryMinus($this->yyastk[$this->stackPos-(2-2)], $attributes); + } + + protected function yyn326($attributes) { + $this->yyval = new Node\Expr\Array_($this->yyastk[$this->stackPos-(4-3)], $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 yyn329($attributes) { + $this->yyval = new Node\Expr\ClassConstFetch($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn330($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); + } + + protected function yyn331($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); + } + + protected function yyn332($attributes) { + $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; + } + protected function yyn333($attributes) { + $this->yyval = 'class'; + } + + protected function yyn334($attributes) { + $this->yyval = array(); + } + + protected function yyn335($attributes) { $this->yyval = $this->yyastk[$this->stackPos-(2-1)]; } - protected function yyn334() { + protected function yyn336() { $this->yyval = $this->yyastk[$this->stackPos]; } - protected function yyn335() { + protected function yyn337() { $this->yyval = $this->yyastk[$this->stackPos]; } - protected function yyn336($attributes) { - $this->yyastk[$this->stackPos-(3-1)][] = $this->yyastk[$this->stackPos-(3-3)]; $this->yyval = $this->yyastk[$this->stackPos-(3-1)]; - } - - protected function yyn337($attributes) { - $this->yyval = array($this->yyastk[$this->stackPos-(1-1)]); - } - protected function yyn338($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 yyn339($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 yyn340($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 yyn341($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 yyn342($attributes) { @@ -2502,39 +2504,39 @@ class Parser } protected function yyn344($attributes) { - $this->yyval = new Node\Expr\ArrayDimFetch($this->yyastk[$this->stackPos-(6-2)], $this->yyastk[$this->stackPos-(6-5)], $attributes); - } - - protected function yyn345($attributes) { - $this->yyval = new Node\Expr\ArrayDimFetch($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-3)], $attributes); - } - - protected function yyn346($attributes) { - $this->yyval = new Node\Expr\PropertyFetch($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); - } - - protected function yyn347($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 yyn348($attributes) { - $this->yyval = new Node\Expr\FuncCall($this->yyastk[$this->stackPos-(2-1)], $this->yyastk[$this->stackPos-(2-2)], $attributes); - } - - protected function yyn349($attributes) { - $this->yyval = new Node\Expr\ArrayDimFetch($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-3)], $attributes); - } - - protected function yyn350($attributes) { - $this->yyval = new Node\Expr\ArrayDimFetch($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-3)], $attributes); - } - - protected function yyn351($attributes) { $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; } + protected function yyn345($attributes) { + $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; + } + + protected function yyn346($attributes) { + $this->yyval = new Node\Expr\ArrayDimFetch($this->yyastk[$this->stackPos-(6-2)], $this->yyastk[$this->stackPos-(6-5)], $attributes); + } + + protected function yyn347($attributes) { + $this->yyval = new Node\Expr\ArrayDimFetch($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-3)], $attributes); + } + + protected function yyn348($attributes) { + $this->yyval = new Node\Expr\PropertyFetch($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); + } + + protected function yyn349($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 yyn350($attributes) { + $this->yyval = new Node\Expr\FuncCall($this->yyastk[$this->stackPos-(2-1)], $this->yyastk[$this->stackPos-(2-2)], $attributes); + } + + protected function yyn351($attributes) { + $this->yyval = new Node\Expr\ArrayDimFetch($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-3)], $attributes); + } + protected function yyn352($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 yyn353($attributes) { @@ -2542,7 +2544,7 @@ class Parser } protected function yyn354($attributes) { - $this->yyval = new Node\Expr\Variable($this->yyastk[$this->stackPos-(2-2)], $attributes); + $this->yyval = $this->yyastk[$this->stackPos-(3-2)]; } protected function yyn355($attributes) { @@ -2550,11 +2552,11 @@ class Parser } protected function yyn356($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; + $this->yyval = new Node\Expr\Variable($this->yyastk[$this->stackPos-(2-2)], $attributes); } protected function yyn357($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 yyn358($attributes) { @@ -2562,19 +2564,19 @@ class Parser } protected function yyn359($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 yyn360($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 yyn361($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 yyn362($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 yyn363($attributes) { @@ -2586,27 +2588,27 @@ class Parser } protected function yyn365($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 yyn366($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 yyn367($attributes) { - $this->yyval = null; + $this->yyval = new Node\Expr\Variable(substr($this->yyastk[$this->stackPos-(1-1)], 1), $attributes); } protected function yyn368($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; + $this->yyval = new Node\Expr\Variable($this->yyastk[$this->stackPos-(4-3)], $attributes); } protected function yyn369($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; + $this->yyval = null; } protected function yyn370($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(3-2)]; + $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; } protected function yyn371($attributes) { @@ -2614,114 +2616,122 @@ class Parser } protected function yyn372($attributes) { - $this->yyval = new Node\Expr\List_($this->yyastk[$this->stackPos-(4-3)], $attributes); - } - - 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 = $this->yyastk[$this->stackPos-(1-1)]; - } - - protected function yyn376($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; - } - - protected function yyn377($attributes) { - $this->yyval = null; - } - - protected function yyn378($attributes) { - $this->yyval = array(); - } - - protected function yyn379($attributes) { - $this->yyval = $this->yyastk[$this->stackPos-(2-1)]; - } - - protected function yyn380($attributes) { - $this->yyastk[$this->stackPos-(3-1)][] = $this->yyastk[$this->stackPos-(3-3)]; $this->yyval = $this->yyastk[$this->stackPos-(3-1)]; - } - - protected function yyn381($attributes) { - $this->yyval = array($this->yyastk[$this->stackPos-(1-1)]); - } - - protected function yyn382($attributes) { - $this->yyval = new Node\Expr\ArrayItem($this->yyastk[$this->stackPos-(3-3)], $this->yyastk[$this->stackPos-(3-1)], false, $attributes); - } - - protected function yyn383($attributes) { - $this->yyval = new Node\Expr\ArrayItem($this->yyastk[$this->stackPos-(1-1)], null, false, $attributes); - } - - protected function yyn384($attributes) { - $this->yyval = new Node\Expr\ArrayItem($this->yyastk[$this->stackPos-(4-4)], $this->yyastk[$this->stackPos-(4-1)], true, $attributes); - } - - protected function yyn385($attributes) { - $this->yyval = new Node\Expr\ArrayItem($this->yyastk[$this->stackPos-(2-2)], null, true, $attributes); - } - - protected function yyn386($attributes) { - $this->yyastk[$this->stackPos-(2-1)][] = $this->yyastk[$this->stackPos-(2-2)]; $this->yyval = $this->yyastk[$this->stackPos-(2-1)]; - } - - protected function yyn387($attributes) { - $this->yyastk[$this->stackPos-(2-1)][] = $this->yyastk[$this->stackPos-(2-2)]; $this->yyval = $this->yyastk[$this->stackPos-(2-1)]; - } - - protected function yyn388($attributes) { - $this->yyval = array($this->yyastk[$this->stackPos-(1-1)]); - } - - protected function yyn389($attributes) { - $this->yyval = array($this->yyastk[$this->stackPos-(2-1)], $this->yyastk[$this->stackPos-(2-2)]); - } - - protected function yyn390($attributes) { - $this->yyval = new Node\Expr\Variable(substr($this->yyastk[$this->stackPos-(1-1)], 1), $attributes); - } - - protected function yyn391($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 yyn392($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 yyn393($attributes) { - $this->yyval = new Node\Expr\Variable($this->yyastk[$this->stackPos-(3-2)], $attributes); - } - - protected function yyn394($attributes) { - $this->yyval = new Node\Expr\Variable($this->yyastk[$this->stackPos-(3-2)], $attributes); - } - - protected function yyn395($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 yyn396($attributes) { $this->yyval = $this->yyastk[$this->stackPos-(3-2)]; } + protected function yyn373($attributes) { + $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; + } + + protected function yyn374($attributes) { + $this->yyval = new Node\Expr\List_($this->yyastk[$this->stackPos-(4-3)], $attributes); + } + + protected function yyn375($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 = array($this->yyastk[$this->stackPos-(1-1)]); + } + + protected function yyn377($attributes) { + $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; + } + + protected function yyn378($attributes) { + $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; + } + + protected function yyn379($attributes) { + $this->yyval = null; + } + + protected function yyn380($attributes) { + $this->yyval = array(); + } + + protected function yyn381($attributes) { + $this->yyval = $this->yyastk[$this->stackPos-(2-1)]; + } + + protected function yyn382($attributes) { + $this->yyastk[$this->stackPos-(3-1)][] = $this->yyastk[$this->stackPos-(3-3)]; $this->yyval = $this->yyastk[$this->stackPos-(3-1)]; + } + + protected function yyn383($attributes) { + $this->yyval = array($this->yyastk[$this->stackPos-(1-1)]); + } + + protected function yyn384($attributes) { + $this->yyval = new Node\Expr\ArrayItem($this->yyastk[$this->stackPos-(3-3)], $this->yyastk[$this->stackPos-(3-1)], false, $attributes); + } + + protected function yyn385($attributes) { + $this->yyval = new Node\Expr\ArrayItem($this->yyastk[$this->stackPos-(1-1)], null, false, $attributes); + } + + protected function yyn386($attributes) { + $this->yyval = new Node\Expr\ArrayItem($this->yyastk[$this->stackPos-(4-4)], $this->yyastk[$this->stackPos-(4-1)], true, $attributes); + } + + protected function yyn387($attributes) { + $this->yyval = new Node\Expr\ArrayItem($this->yyastk[$this->stackPos-(2-2)], null, true, $attributes); + } + + protected function yyn388($attributes) { + $this->yyastk[$this->stackPos-(2-1)][] = $this->yyastk[$this->stackPos-(2-2)]; $this->yyval = $this->yyastk[$this->stackPos-(2-1)]; + } + + protected function yyn389($attributes) { + $this->yyastk[$this->stackPos-(2-1)][] = $this->yyastk[$this->stackPos-(2-2)]; $this->yyval = $this->yyastk[$this->stackPos-(2-1)]; + } + + protected function yyn390($attributes) { + $this->yyval = array($this->yyastk[$this->stackPos-(1-1)]); + } + + protected function yyn391($attributes) { + $this->yyval = array($this->yyastk[$this->stackPos-(2-1)], $this->yyastk[$this->stackPos-(2-2)]); + } + + protected function yyn392($attributes) { + $this->yyval = new Node\Expr\Variable(substr($this->yyastk[$this->stackPos-(1-1)], 1), $attributes); + } + + protected function yyn393($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 yyn394($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 yyn395($attributes) { + $this->yyval = new Node\Expr\Variable($this->yyastk[$this->stackPos-(3-2)], $attributes); + } + + protected function yyn396($attributes) { + $this->yyval = new Node\Expr\Variable($this->yyastk[$this->stackPos-(3-2)], $attributes); + } + protected function yyn397($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 yyn398($attributes) { - $this->yyval = new Node\Scalar\String($this->yyastk[$this->stackPos-(1-1)], $attributes); + $this->yyval = $this->yyastk[$this->stackPos-(3-2)]; } protected function yyn399($attributes) { + $this->yyval = new Node\Scalar\String($this->yyastk[$this->stackPos-(1-1)], $attributes); + } + + protected function yyn400($attributes) { + $this->yyval = new Node\Scalar\String($this->yyastk[$this->stackPos-(1-1)], $attributes); + } + + protected function yyn401($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 45fe741f..ce7989e9 100644 --- a/lib/PhpParser/PrettyPrinter/Standard.php +++ b/lib/PhpParser/PrettyPrinter/Standard.php @@ -20,6 +20,7 @@ class Standard extends PrettyPrinterAbstract public function pParam(Node\Param $node) { return ($node->type ? (is_string($node->type) ? $node->type : $this->p($node->type)) . ' ' : '') . ($node->byRef ? '&' : '') + . ($node->variadic ? '... ' : '') . '$' . $node->name . ($node->default ? ' = ' . $this->p($node->default) : ''); } diff --git a/test/PhpParser/Lexer/EmulativeTest.php b/test/PhpParser/Lexer/EmulativeTest.php index 886be262..c668a29e 100644 --- a/test/PhpParser/Lexer/EmulativeTest.php +++ b/test/PhpParser/Lexer/EmulativeTest.php @@ -82,6 +82,9 @@ class EmulativeTest extends \PHPUnit_Framework_TestCase public function provideTestLexNewFeatures() { return array( + array('...', array( + array(Parser::T_ELLIPSIS, '...'), + )), array('0b1010110', array( array(Parser::T_LNUMBER, '0b1010110'), )), diff --git a/test/PhpParser/Serializer/XMLTest.php b/test/PhpParser/Serializer/XMLTest.php index 973a146b..bf4b3087 100644 --- a/test/PhpParser/Serializer/XMLTest.php +++ b/test/PhpParser/Serializer/XMLTest.php @@ -51,6 +51,15 @@ CODE; 4 + + + + + + + + + a @@ -67,12 +76,6 @@ CODE; - - - - - - @@ -81,6 +84,15 @@ CODE; 4 + + + + + + + + + b @@ -97,12 +109,6 @@ CODE; - - - - - - diff --git a/test/code/parser/expr/closure.test b/test/code/parser/expr/closure.test index 028894e7..036e94cc 100644 --- a/test/code/parser/expr/closure.test +++ b/test/code/parser/expr/closure.test @@ -13,10 +13,11 @@ array( byRef: false params: array( 0: Param( - name: a - default: null type: null byRef: false + variadic: false + name: a + default: null ) ) uses: array( @@ -32,10 +33,11 @@ array( byRef: false params: array( 0: Param( - name: a - default: null type: null byRef: false + variadic: false + name: a + default: null ) ) uses: array( @@ -70,10 +72,11 @@ array( byRef: true params: array( 0: Param( - name: a - default: null type: null byRef: false + variadic: false + name: a + default: null ) ) uses: array( diff --git a/test/code/parser/stmt/function/byRef.test b/test/code/parser/stmt/function/byRef.test index 95a02afc..1e53f37a 100644 --- a/test/code/parser/stmt/function/byRef.test +++ b/test/code/parser/stmt/function/byRef.test @@ -11,10 +11,11 @@ array( name: a params: array( 0: Param( - name: b - default: null type: null byRef: true + variadic: false + name: b + default: null ) ) stmts: array( @@ -25,10 +26,11 @@ array( name: a params: array( 0: Param( - name: b - default: null type: null byRef: false + variadic: false + name: b + default: null ) ) stmts: array( diff --git a/test/code/parser/stmt/function/defaultValues.test b/test/code/parser/stmt/function/defaultValues.test index 8ecd7b23..e6ee19a4 100644 --- a/test/code/parser/stmt/function/defaultValues.test +++ b/test/code/parser/stmt/function/defaultValues.test @@ -20,6 +20,9 @@ array( name: a params: array( 0: Param( + type: null + byRef: false + variadic: false name: b default: Expr_ConstFetch( name: Name( @@ -28,18 +31,20 @@ array( ) ) ) - type: null - byRef: false ) 1: Param( + type: null + byRef: false + variadic: false name: c default: Scalar_String( value: foo ) - type: null - byRef: false ) 2: Param( + type: null + byRef: false + variadic: false name: d default: Expr_ClassConstFetch( class: Name( @@ -49,48 +54,53 @@ array( ) name: B ) - type: null - byRef: false ) 3: Param( + type: null + byRef: false + variadic: false name: f default: Expr_UnaryPlus( expr: Scalar_LNumber( value: 1 ) ) - type: null - byRef: false ) 4: Param( + type: null + byRef: false + variadic: false name: g default: Expr_UnaryMinus( expr: Scalar_DNumber( value: 1 ) ) - type: null - byRef: false ) 5: Param( + type: null + byRef: false + variadic: false name: h default: Expr_Array( items: array( ) ) - type: null - byRef: false ) 6: Param( + type: null + byRef: false + variadic: false name: i default: Expr_Array( items: array( ) ) - type: null - byRef: false ) 7: Param( + type: null + byRef: false + variadic: false name: j default: Expr_Array( items: array( @@ -103,10 +113,11 @@ array( ) ) ) - type: null - byRef: false ) 8: Param( + type: null + byRef: false + variadic: false name: k default: Expr_Array( items: array( @@ -128,8 +139,6 @@ array( ) ) ) - type: null - byRef: false ) ) stmts: array( diff --git a/test/code/parser/stmt/function/typeHints.test b/test/code/parser/stmt/function/typeHints.test index ed6d8f96..d76755b6 100644 --- a/test/code/parser/stmt/function/typeHints.test +++ b/test/code/parser/stmt/function/typeHints.test @@ -10,32 +10,36 @@ array( name: a params: array( 0: Param( - name: b - default: null type: null byRef: false + variadic: false + name: b + default: null ) 1: Param( - name: c - default: null type: array byRef: false + variadic: false + name: c + default: null ) 2: Param( - name: d - default: null type: callable byRef: false + variadic: false + name: d + default: null ) 3: Param( - name: f - default: null type: Name( parts: array( 0: E ) ) byRef: false + variadic: false + name: f + default: null ) ) stmts: array( diff --git a/test/code/parser/stmt/function/variadic.test b/test/code/parser/stmt/function/variadic.test new file mode 100644 index 00000000..c85cf20f --- /dev/null +++ b/test/code/parser/stmt/function/variadic.test @@ -0,0 +1,106 @@ +Variadic functions +----- +