1
0
mirror of https://github.com/danog/PHP-Parser.git synced 2024-11-30 04:19:30 +01:00
PHP-Parser/lib/PhpParser/Parser.php
nikic 8c59f41d02 Remove inline Name[] creations
This ensures that the attributes on the Name nodes are correct.
2014-03-22 14:24:33 +01:00

2728 lines
118 KiB
PHP

<?php
namespace PhpParser;
/* This is an automatically GENERATED file, which should not be manually edited.
* Instead edit one of the following:
* * the grammar file grammar/zend_language_parser.phpy
* * the parser skeleton grammar/kymacc.php.parser
* * the preprocessing script grammar/rebuildParser.php
*
* The skeleton for this parser was written by Moriyoshi Koizumi and is based on
* the work by Masato Bito and is in the PUBLIC DOMAIN.
*/
class Parser
{
const TOKEN_NONE = -1;
const TOKEN_INVALID = 151;
const TOKEN_MAP_SIZE = 386;
const YYLAST = 1008;
const YY2TBLSTATE = 314;
const YYGLAST = 443;
const YYNLSTATES = 532;
const YYUNEXPECTED = 32767;
const YYDEFAULT = -32766;
// {{{ Tokens
const YYERRTOK = 256;
const T_INCLUDE = 257;
const T_INCLUDE_ONCE = 258;
const T_EVAL = 259;
const T_REQUIRE = 260;
const T_REQUIRE_ONCE = 261;
const T_LOGICAL_OR = 262;
const T_LOGICAL_XOR = 263;
const T_LOGICAL_AND = 264;
const T_PRINT = 265;
const T_YIELD = 266;
const T_PLUS_EQUAL = 267;
const T_MINUS_EQUAL = 268;
const T_MUL_EQUAL = 269;
const T_DIV_EQUAL = 270;
const T_CONCAT_EQUAL = 271;
const T_MOD_EQUAL = 272;
const T_AND_EQUAL = 273;
const T_OR_EQUAL = 274;
const T_XOR_EQUAL = 275;
const T_SL_EQUAL = 276;
const T_SR_EQUAL = 277;
const T_BOOLEAN_OR = 278;
const T_BOOLEAN_AND = 279;
const T_IS_EQUAL = 280;
const T_IS_NOT_EQUAL = 281;
const T_IS_IDENTICAL = 282;
const T_IS_NOT_IDENTICAL = 283;
const T_IS_SMALLER_OR_EQUAL = 284;
const T_IS_GREATER_OR_EQUAL = 285;
const T_SL = 286;
const T_SR = 287;
const T_INSTANCEOF = 288;
const T_INC = 289;
const T_DEC = 290;
const T_INT_CAST = 291;
const T_DOUBLE_CAST = 292;
const T_STRING_CAST = 293;
const T_ARRAY_CAST = 294;
const T_OBJECT_CAST = 295;
const T_BOOL_CAST = 296;
const T_UNSET_CAST = 297;
const T_NEW = 298;
const T_CLONE = 299;
const T_EXIT = 300;
const T_IF = 301;
const T_ELSEIF = 302;
const T_ELSE = 303;
const T_ENDIF = 304;
const T_LNUMBER = 305;
const T_DNUMBER = 306;
const T_STRING = 307;
const T_STRING_VARNAME = 308;
const T_VARIABLE = 309;
const T_NUM_STRING = 310;
const T_INLINE_HTML = 311;
const T_CHARACTER = 312;
const T_BAD_CHARACTER = 313;
const T_ENCAPSED_AND_WHITESPACE = 314;
const T_CONSTANT_ENCAPSED_STRING = 315;
const T_ECHO = 316;
const T_DO = 317;
const T_WHILE = 318;
const T_ENDWHILE = 319;
const T_FOR = 320;
const T_ENDFOR = 321;
const T_FOREACH = 322;
const T_ENDFOREACH = 323;
const T_DECLARE = 324;
const T_ENDDECLARE = 325;
const T_AS = 326;
const T_SWITCH = 327;
const T_ENDSWITCH = 328;
const T_CASE = 329;
const T_DEFAULT = 330;
const T_BREAK = 331;
const T_CONTINUE = 332;
const T_GOTO = 333;
const T_FUNCTION = 334;
const T_CONST = 335;
const T_RETURN = 336;
const T_TRY = 337;
const T_CATCH = 338;
const T_FINALLY = 339;
const T_THROW = 340;
const T_USE = 341;
const T_INSTEADOF = 342;
const T_GLOBAL = 343;
const T_STATIC = 344;
const T_ABSTRACT = 345;
const T_FINAL = 346;
const T_PRIVATE = 347;
const T_PROTECTED = 348;
const T_PUBLIC = 349;
const T_VAR = 350;
const T_UNSET = 351;
const T_ISSET = 352;
const T_EMPTY = 353;
const T_HALT_COMPILER = 354;
const T_CLASS = 355;
const T_TRAIT = 356;
const T_INTERFACE = 357;
const T_EXTENDS = 358;
const T_IMPLEMENTS = 359;
const T_OBJECT_OPERATOR = 360;
const T_DOUBLE_ARROW = 361;
const T_LIST = 362;
const T_ARRAY = 363;
const T_CALLABLE = 364;
const T_CLASS_C = 365;
const T_TRAIT_C = 366;
const T_METHOD_C = 367;
const T_FUNC_C = 368;
const T_LINE = 369;
const T_FILE = 370;
const T_COMMENT = 371;
const T_DOC_COMMENT = 372;
const T_OPEN_TAG = 373;
const T_OPEN_TAG_WITH_ECHO = 374;
const T_CLOSE_TAG = 375;
const T_WHITESPACE = 376;
const T_START_HEREDOC = 377;
const T_END_HEREDOC = 378;
const T_DOLLAR_OPEN_CURLY_BRACES = 379;
const T_CURLY_OPEN = 380;
const T_PAAMAYIM_NEKUDOTAYIM = 381;
const T_NAMESPACE = 382;
const T_NS_C = 383;
const T_DIR = 384;
const T_NS_SEPARATOR = 385;
// }}}
/* @var array Map of token ids to their respective names */
protected static $terminals = array(
"EOF",
"error",
"T_INCLUDE",
"T_INCLUDE_ONCE",
"T_EVAL",
"T_REQUIRE",
"T_REQUIRE_ONCE",
"','",
"T_LOGICAL_OR",
"T_LOGICAL_XOR",
"T_LOGICAL_AND",
"T_PRINT",
"T_YIELD",
"'='",
"T_PLUS_EQUAL",
"T_MINUS_EQUAL",
"T_MUL_EQUAL",
"T_DIV_EQUAL",
"T_CONCAT_EQUAL",
"T_MOD_EQUAL",
"T_AND_EQUAL",
"T_OR_EQUAL",
"T_XOR_EQUAL",
"T_SL_EQUAL",
"T_SR_EQUAL",
"'?'",
"':'",
"T_BOOLEAN_OR",
"T_BOOLEAN_AND",
"'|'",
"'^'",
"'&'",
"T_IS_EQUAL",
"T_IS_NOT_EQUAL",
"T_IS_IDENTICAL",
"T_IS_NOT_IDENTICAL",
"'<'",
"T_IS_SMALLER_OR_EQUAL",
"'>'",
"T_IS_GREATER_OR_EQUAL",
"T_SL",
"T_SR",
"'+'",
"'-'",
"'.'",
"'*'",
"'/'",
"'%'",
"'!'",
"T_INSTANCEOF",
"'~'",
"T_INC",
"T_DEC",
"T_INT_CAST",
"T_DOUBLE_CAST",
"T_STRING_CAST",
"T_ARRAY_CAST",
"T_OBJECT_CAST",
"T_BOOL_CAST",
"T_UNSET_CAST",
"'@'",
"'['",
"T_NEW",
"T_CLONE",
"T_EXIT",
"T_IF",
"T_ELSEIF",
"T_ELSE",
"T_ENDIF",
"T_LNUMBER",
"T_DNUMBER",
"T_STRING",
"T_STRING_VARNAME",
"T_VARIABLE",
"T_NUM_STRING",
"T_INLINE_HTML",
"T_ENCAPSED_AND_WHITESPACE",
"T_CONSTANT_ENCAPSED_STRING",
"T_ECHO",
"T_DO",
"T_WHILE",
"T_ENDWHILE",
"T_FOR",
"T_ENDFOR",
"T_FOREACH",
"T_ENDFOREACH",
"T_DECLARE",
"T_ENDDECLARE",
"T_AS",
"T_SWITCH",
"T_ENDSWITCH",
"T_CASE",
"T_DEFAULT",
"T_BREAK",
"T_CONTINUE",
"T_GOTO",
"T_FUNCTION",
"T_CONST",
"T_RETURN",
"T_TRY",
"T_CATCH",
"T_FINALLY",
"T_THROW",
"T_USE",
"T_INSTEADOF",
"T_GLOBAL",
"T_STATIC",
"T_ABSTRACT",
"T_FINAL",
"T_PRIVATE",
"T_PROTECTED",
"T_PUBLIC",
"T_VAR",
"T_UNSET",
"T_ISSET",
"T_EMPTY",
"T_HALT_COMPILER",
"T_CLASS",
"T_TRAIT",
"T_INTERFACE",
"T_EXTENDS",
"T_IMPLEMENTS",
"T_OBJECT_OPERATOR",
"T_DOUBLE_ARROW",
"T_LIST",
"T_ARRAY",
"T_CALLABLE",
"T_CLASS_C",
"T_TRAIT_C",
"T_METHOD_C",
"T_FUNC_C",
"T_LINE",
"T_FILE",
"T_START_HEREDOC",
"T_END_HEREDOC",
"T_DOLLAR_OPEN_CURLY_BRACES",
"T_CURLY_OPEN",
"T_PAAMAYIM_NEKUDOTAYIM",
"T_NAMESPACE",
"T_NS_C",
"T_DIR",
"T_NS_SEPARATOR",
"';'",
"'{'",
"'}'",
"'('",
"')'",
"'$'",
"'`'",
"']'",
"'\"'"
, "???"
);
/* @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,
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,
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
);
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,
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
);
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,
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
);
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, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, -2, -2, -2, -2, -2, -2, -2,
-2, -2, -2, -2, -2, -2, -2, -2, -2, -2,
-2, -2, -2, -2, -2, -2, -2, -2, -2, 0,
0, 0, -2, -2, -2, -2, -2, -2, -2, -2,
-2, -2, -2, -2, -2, -2, -2, -2, -2, -2,
-2, -2, -2, -2, -2, -2, -2, -2, -2, -2,
-2, -2, -2, -2, -2, -2, -2, -2, -2, -2,
-2, -2, -2, -2, -2, -2, -2, -2, -2, -2,
-2, -2, -2, -2, -2, -2, -2, -2, -2, -2,
-2, -2, -2, -2, -2, -2, -2, -2, -2, -2,
-2, -2, -2, -2, -2, -2, -2, -2, -2, -2,
-2, -2, -2, -2, -2, -2, -2, -2, -2, -2,
-2, -2, -2, -2, -2, -2, -2, -2, -2, -2,
-2, -2, -2, -2, 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
);
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,32767,32767,32767,32767,
32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
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,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, 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
);
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,
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,
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,
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,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 409
);
protected static $yygcheck = array(
25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
25, 25, 39, 39, 39, 39, 39, 39, 39, 39,
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,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -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
);
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
);
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
);
protected static $yylhs = array(
0, 1, 2, 2, 4, 4, 5, 3, 3, 3,
3, 3, 3, 3, 3, 3, 9, 9, 11, 11,
11, 11, 10, 10, 12, 14, 14, 15, 15, 15,
15, 6, 6, 6, 6, 6, 6, 6, 6, 6,
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,
25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
25, 25, 25, 25, 25, 25, 25, 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
);
protected static $yylen = array(
1, 1, 2, 0, 1, 3, 1, 1, 1, 1,
1, 3, 5, 4, 3, 3, 3, 1, 1, 3,
2, 4, 3, 1, 3, 2, 0, 1, 1, 1,
1, 3, 5, 8, 3, 5, 9, 3, 2, 3,
2, 3, 2, 3, 2, 3, 3, 3, 1, 2,
5, 7, 9, 5, 1, 6, 3, 3, 2, 0,
2, 8, 0, 4, 1, 3, 0, 1, 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,
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
);
protected $yyval;
protected $yyastk;
protected $stackPos;
protected $lexer;
/**
* Creates a parser instance.
*
* @param Lexer $lexer A lexer
*/
public function __construct(Lexer $lexer) {
$this->lexer = $lexer;
}
/**
* Parses PHP code into a node tree.
*
* @param string $code The source code to parse
*
* @return Node[] Array of statements
*/
public function parse($code) {
$this->lexer->startLexing($code);
// We start off with no lookahead-token
$tokenId = self::TOKEN_NONE;
// The attributes for a node are taken from the first and last token of the node.
// From the first token only the startAttributes are taken and from the last only
// the endAttributes. Both are merged using the array union operator (+).
$startAttributes = array('startLine' => 1);
$endAttributes = array();
// In order to figure out the attributes for the starting token, we have to keep
// them in a stack
$attributeStack = array($startAttributes);
// Start off in the initial state and keep a stack of previous states
$state = 0;
$stateStack = array($state);
// AST stack (?)
$this->yyastk = array();
// Current position in the stack(s)
$this->stackPos = 0;
for (;;) {
if (self::$yybase[$state] == 0) {
$yyn = self::$yydefault[$state];
} else {
if ($tokenId === self::TOKEN_NONE) {
// Fetch the next token id from the lexer and fetch additional info by-ref.
// The end attributes are fetched into a temporary variable and only set once the token is really
// shifted (not during read). Otherwise you would sometimes get off-by-one errors, when a rule is
// reduced after a token was read but not yet shifted.
$origTokenId = $this->lexer->getNextToken($tokenValue, $startAttributes, $nextEndAttributes);
// map the lexer token id to the internally used token id's
$tokenId = $origTokenId >= 0 && $origTokenId < self::TOKEN_MAP_SIZE
? self::$translate[$origTokenId]
: self::TOKEN_INVALID;
if ($tokenId === self::TOKEN_INVALID) {
throw new \RangeException(sprintf(
'The lexer returned an invalid token (id=%d, value=%s)',
$origTokenId, $tokenValue
));
}
$attributeStack[$this->stackPos] = $startAttributes;
}
if ((($yyn = self::$yybase[$state] + $tokenId) >= 0
&& $yyn < self::YYLAST && self::$yycheck[$yyn] == $tokenId
|| ($state < self::YY2TBLSTATE
&& ($yyn = self::$yybase[$state + self::YYNLSTATES] + $tokenId) >= 0
&& $yyn < self::YYLAST
&& self::$yycheck[$yyn] == $tokenId))
&& ($yyn = self::$yyaction[$yyn]) != self::YYDEFAULT) {
/*
* >= YYNLSTATE: shift and reduce
* > 0: shift
* = 0: accept
* < 0: reduce
* = -YYUNEXPECTED: error
*/
if ($yyn > 0) {
/* shift */
++$this->stackPos;
$stateStack[$this->stackPos] = $state = $yyn;
$this->yyastk[$this->stackPos] = $tokenValue;
$attributeStack[$this->stackPos] = $startAttributes;
$endAttributes = $nextEndAttributes;
$tokenId = self::TOKEN_NONE;
if ($yyn < self::YYNLSTATES)
continue;
/* $yyn >= YYNLSTATES means shift-and-reduce */
$yyn -= self::YYNLSTATES;
} else {
$yyn = -$yyn;
}
} else {
$yyn = self::$yydefault[$state];
}
}
for (;;) {
/* reduce/error */
if ($yyn == 0) {
/* accept */
return $this->yyval;
} elseif ($yyn != self::YYUNEXPECTED) {
/* reduce */
try {
$this->{'yyn' . $yyn}(
$attributeStack[$this->stackPos - self::$yylen[$yyn]]
+ $endAttributes
);
} catch (Error $e) {
if (-1 === $e->getRawLine()) {
$e->setRawLine($startAttributes['startLine']);
}
throw $e;
}
/* Goto - shift nonterminal */
$this->stackPos -= self::$yylen[$yyn];
$yyn = self::$yylhs[$yyn];
if (($yyp = self::$yygbase[$yyn] + $stateStack[$this->stackPos]) >= 0
&& $yyp < self::YYGLAST
&& self::$yygcheck[$yyp] == $yyn) {
$state = self::$yygoto[$yyp];
} else {
$state = self::$yygdefault[$yyn];
}
++$this->stackPos;
$stateStack[$this->stackPos] = $state;
$this->yyastk[$this->stackPos] = $this->yyval;
$attributeStack[$this->stackPos] = $startAttributes;
} else {
/* error */
$expected = array();
$base = self::$yybase[$state];
for ($i = 0; $i < self::TOKEN_MAP_SIZE; ++$i) {
$n = $base + $i;
if ($n >= 0 && $n < self::YYLAST && self::$yycheck[$n] == $i
|| $state < self::YY2TBLSTATE
&& ($n = self::$yybase[$state + self::YYNLSTATES] + $i) >= 0
&& $n < self::YYLAST && self::$yycheck[$n] == $i
) {
if (self::$yyaction[$n] != self::YYUNEXPECTED) {
if (count($expected) == 4) {
/* Too many expected tokens */
$expected = array();
break;
}
$expected[] = self::$terminals[$i];
}
}
}
$expectedString = '';
if ($expected) {
$expectedString = ', expecting ' . implode(' or ', $expected);
}
throw new Error(
'Syntax error, unexpected ' . self::$terminals[$tokenId] . $expectedString,
$startAttributes['startLine']
);
}
if ($state < self::YYNLSTATES)
break;
/* >= YYNLSTATES means shift-and-reduce */
$yyn = $state - self::YYNLSTATES;
}
}
}
protected function yyn0() {
$this->yyval = $this->yyastk[$this->stackPos];
}
protected function yyn1($attributes) {
$this->yyval = Node\Stmt\Namespace_::postprocess($this->yyastk[$this->stackPos-(1-1)]);
}
protected function yyn2($attributes) {
if (is_array($this->yyastk[$this->stackPos-(2-2)])) { $this->yyval = array_merge($this->yyastk[$this->stackPos-(2-1)], $this->yyastk[$this->stackPos-(2-2)]); } else { $this->yyastk[$this->stackPos-(2-1)][] = $this->yyastk[$this->stackPos-(2-2)]; $this->yyval = $this->yyastk[$this->stackPos-(2-1)]; };
}
protected function yyn3($attributes) {
$this->yyval = array();
}
protected function yyn4($attributes) {
$this->yyval = array($this->yyastk[$this->stackPos-(1-1)]);
}
protected function yyn5($attributes) {
$this->yyastk[$this->stackPos-(3-1)][] = $this->yyastk[$this->stackPos-(3-3)]; $this->yyval = $this->yyastk[$this->stackPos-(3-1)];
}
protected function yyn6($attributes) {
$this->yyval = new Node\Name($this->yyastk[$this->stackPos-(1-1)], $attributes);
}
protected function yyn7($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(1-1)];
}
protected function yyn8($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(1-1)];
}
protected function yyn9($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(1-1)];
}
protected function yyn10($attributes) {
$this->yyval = new Node\Stmt\HaltCompiler($this->lexer->handleHaltCompiler(), $attributes);
}
protected function yyn11($attributes) {
$this->yyval = new Node\Stmt\Namespace_($this->yyastk[$this->stackPos-(3-2)], null, $attributes);
}
protected function yyn12($attributes) {
$this->yyval = new Node\Stmt\Namespace_($this->yyastk[$this->stackPos-(5-2)], $this->yyastk[$this->stackPos-(5-4)], $attributes);
}
protected function yyn13($attributes) {
$this->yyval = new Node\Stmt\Namespace_(null, $this->yyastk[$this->stackPos-(4-3)], $attributes);
}
protected function yyn14($attributes) {
$this->yyval = new Node\Stmt\Use_($this->yyastk[$this->stackPos-(3-2)], $attributes);
}
protected function yyn15($attributes) {
$this->yyval = new Node\Stmt\Const_($this->yyastk[$this->stackPos-(3-2)], $attributes);
}
protected function yyn16($attributes) {
$this->yyastk[$this->stackPos-(3-1)][] = $this->yyastk[$this->stackPos-(3-3)]; $this->yyval = $this->yyastk[$this->stackPos-(3-1)];
}
protected function yyn17($attributes) {
$this->yyval = array($this->yyastk[$this->stackPos-(1-1)]);
}
protected function yyn18($attributes) {
$this->yyval = new Node\Stmt\UseUse($this->yyastk[$this->stackPos-(1-1)], null, $attributes);
}
protected function yyn19($attributes) {
$this->yyval = new Node\Stmt\UseUse($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes);
}
protected function yyn20($attributes) {
$this->yyval = new Node\Stmt\UseUse($this->yyastk[$this->stackPos-(2-2)], null, $attributes);
}
protected function yyn21($attributes) {
$this->yyval = new Node\Stmt\UseUse($this->yyastk[$this->stackPos-(4-2)], $this->yyastk[$this->stackPos-(4-4)], $attributes);
}
protected function yyn22($attributes) {
$this->yyastk[$this->stackPos-(3-1)][] = $this->yyastk[$this->stackPos-(3-3)]; $this->yyval = $this->yyastk[$this->stackPos-(3-1)];
}
protected function yyn23($attributes) {
$this->yyval = array($this->yyastk[$this->stackPos-(1-1)]);
}
protected function yyn24($attributes) {
$this->yyval = new Node\Const_($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes);
}
protected function yyn25($attributes) {
if (is_array($this->yyastk[$this->stackPos-(2-2)])) { $this->yyval = array_merge($this->yyastk[$this->stackPos-(2-1)], $this->yyastk[$this->stackPos-(2-2)]); } else { $this->yyastk[$this->stackPos-(2-1)][] = $this->yyastk[$this->stackPos-(2-2)]; $this->yyval = $this->yyastk[$this->stackPos-(2-1)]; };
}
protected function yyn26($attributes) {
$this->yyval = array();
}
protected function yyn27($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(1-1)];
}
protected function yyn28($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(1-1)];
}
protected function yyn29($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(1-1)];
}
protected function yyn30($attributes) {
throw new Error('__HALT_COMPILER() can only be used from the outermost scope');
}
protected function yyn31($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(3-2)];
}
protected function yyn32($attributes) {
$this->yyval = new Node\Stmt\If_($this->yyastk[$this->stackPos-(5-2)], array('stmts' => is_array($this->yyastk[$this->stackPos-(5-3)]) ? $this->yyastk[$this->stackPos-(5-3)] : array($this->yyastk[$this->stackPos-(5-3)]), 'elseifs' => $this->yyastk[$this->stackPos-(5-4)], 'else' => $this->yyastk[$this->stackPos-(5-5)]), $attributes);
}
protected function yyn33($attributes) {
$this->yyval = new Node\Stmt\If_($this->yyastk[$this->stackPos-(8-2)], array('stmts' => $this->yyastk[$this->stackPos-(8-4)], 'elseifs' => $this->yyastk[$this->stackPos-(8-5)], 'else' => $this->yyastk[$this->stackPos-(8-6)]), $attributes);
}
protected function yyn34($attributes) {
$this->yyval = new Node\Stmt\While_($this->yyastk[$this->stackPos-(3-2)], $this->yyastk[$this->stackPos-(3-3)], $attributes);
}
protected function yyn35($attributes) {
$this->yyval = new Node\Stmt\Do_($this->yyastk[$this->stackPos-(5-4)], is_array($this->yyastk[$this->stackPos-(5-2)]) ? $this->yyastk[$this->stackPos-(5-2)] : array($this->yyastk[$this->stackPos-(5-2)]), $attributes);
}
protected function yyn36($attributes) {
$this->yyval = new Node\Stmt\For_(array('init' => $this->yyastk[$this->stackPos-(9-3)], 'cond' => $this->yyastk[$this->stackPos-(9-5)], 'loop' => $this->yyastk[$this->stackPos-(9-7)], 'stmts' => $this->yyastk[$this->stackPos-(9-9)]), $attributes);
}
protected function yyn37($attributes) {
$this->yyval = new Node\Stmt\Switch_($this->yyastk[$this->stackPos-(3-2)], $this->yyastk[$this->stackPos-(3-3)], $attributes);
}
protected function yyn38($attributes) {
$this->yyval = new Node\Stmt\Break_(null, $attributes);
}
protected function yyn39($attributes) {
$this->yyval = new Node\Stmt\Break_($this->yyastk[$this->stackPos-(3-2)], $attributes);
}
protected function yyn40($attributes) {
$this->yyval = new Node\Stmt\Continue_(null, $attributes);
}
protected function yyn41($attributes) {
$this->yyval = new Node\Stmt\Continue_($this->yyastk[$this->stackPos-(3-2)], $attributes);
}
protected function yyn42($attributes) {
$this->yyval = new Node\Stmt\Return_(null, $attributes);
}
protected function yyn43($attributes) {
$this->yyval = new Node\Stmt\Return_($this->yyastk[$this->stackPos-(3-2)], $attributes);
}
protected function yyn44($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(2-1)];
}
protected function yyn45($attributes) {
$this->yyval = new Node\Stmt\Global_($this->yyastk[$this->stackPos-(3-2)], $attributes);
}
protected function yyn46($attributes) {
$this->yyval = new Node\Stmt\Static_($this->yyastk[$this->stackPos-(3-2)], $attributes);
}
protected function yyn47($attributes) {
$this->yyval = new Node\Stmt\Echo_($this->yyastk[$this->stackPos-(3-2)], $attributes);
}
protected function yyn48($attributes) {
$this->yyval = new Node\Stmt\InlineHTML($this->yyastk[$this->stackPos-(1-1)], $attributes);
}
protected function yyn49($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(2-1)];
}
protected function yyn50($attributes) {
$this->yyval = new Node\Stmt\Unset_($this->yyastk[$this->stackPos-(5-3)], $attributes);
}
protected function yyn51($attributes) {
$this->yyval = new Node\Stmt\Foreach_($this->yyastk[$this->stackPos-(7-3)], $this->yyastk[$this->stackPos-(7-5)][0], array('keyVar' => null, 'byRef' => $this->yyastk[$this->stackPos-(7-5)][1], 'stmts' => $this->yyastk[$this->stackPos-(7-7)]), $attributes);
}
protected function yyn52($attributes) {
$this->yyval = new Node\Stmt\Foreach_($this->yyastk[$this->stackPos-(9-3)], $this->yyastk[$this->stackPos-(9-7)][0], array('keyVar' => $this->yyastk[$this->stackPos-(9-5)], 'byRef' => $this->yyastk[$this->stackPos-(9-7)][1], 'stmts' => $this->yyastk[$this->stackPos-(9-9)]), $attributes);
}
protected function yyn53($attributes) {
$this->yyval = new Node\Stmt\Declare_($this->yyastk[$this->stackPos-(5-3)], $this->yyastk[$this->stackPos-(5-5)], $attributes);
}
protected function yyn54($attributes) {
$this->yyval = array(); /* means: no statement */
}
protected function yyn55($attributes) {
$this->yyval = new Node\Stmt\TryCatch($this->yyastk[$this->stackPos-(6-3)], $this->yyastk[$this->stackPos-(6-5)], $this->yyastk[$this->stackPos-(6-6)], $attributes);
}
protected function yyn56($attributes) {
$this->yyval = new Node\Stmt\Throw_($this->yyastk[$this->stackPos-(3-2)], $attributes);
}
protected function yyn57($attributes) {
$this->yyval = new Node\Stmt\Goto_($this->yyastk[$this->stackPos-(3-2)], $attributes);
}
protected function yyn58($attributes) {
$this->yyval = new Node\Stmt\Label($this->yyastk[$this->stackPos-(2-1)], $attributes);
}
protected function yyn59($attributes) {
$this->yyval = array();
}
protected function yyn60($attributes) {
$this->yyastk[$this->stackPos-(2-1)][] = $this->yyastk[$this->stackPos-(2-2)]; $this->yyval = $this->yyastk[$this->stackPos-(2-1)];
}
protected function yyn61($attributes) {
$this->yyval = new Node\Stmt\Catch_($this->yyastk[$this->stackPos-(8-3)], substr($this->yyastk[$this->stackPos-(8-4)], 1), $this->yyastk[$this->stackPos-(8-7)], $attributes);
}
protected function yyn62($attributes) {
$this->yyval = null;
}
protected function yyn63($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(4-3)];
}
protected function yyn64($attributes) {
$this->yyval = array($this->yyastk[$this->stackPos-(1-1)]);
}
protected function yyn65($attributes) {
$this->yyastk[$this->stackPos-(3-1)][] = $this->yyastk[$this->stackPos-(3-3)]; $this->yyval = $this->yyastk[$this->stackPos-(3-1)];
}
protected function yyn66($attributes) {
$this->yyval = false;
}
protected function yyn67($attributes) {
$this->yyval = true;
}
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);
}
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);
}
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);
}
protected function yyn71($attributes) {
$this->yyval = new Node\Stmt\Trait_($this->yyastk[$this->stackPos-(5-2)], $this->yyastk[$this->stackPos-(5-4)], $attributes);
}
protected function yyn72($attributes) {
$this->yyval = 0;
}
protected function yyn73($attributes) {
$this->yyval = Node\Stmt\Class_::MODIFIER_ABSTRACT;
}
protected function yyn74($attributes) {
$this->yyval = Node\Stmt\Class_::MODIFIER_FINAL;
}
protected function yyn75($attributes) {
$this->yyval = null;
}
protected function yyn76($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(2-2)];
}
protected function yyn77($attributes) {
$this->yyval = array();
}
protected function yyn78($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(2-2)];
}
protected function yyn79($attributes) {
$this->yyval = array();
}
protected function yyn80($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(2-2)];
}
protected function yyn81($attributes) {
$this->yyval = array($this->yyastk[$this->stackPos-(1-1)]);
}
protected function yyn82($attributes) {
$this->yyastk[$this->stackPos-(3-1)][] = $this->yyastk[$this->stackPos-(3-3)]; $this->yyval = $this->yyastk[$this->stackPos-(3-1)];
}
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)]);
}
protected function yyn84($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(4-2)];
}
protected function yyn85($attributes) {
$this->yyval = is_array($this->yyastk[$this->stackPos-(1-1)]) ? $this->yyastk[$this->stackPos-(1-1)] : array($this->yyastk[$this->stackPos-(1-1)]);
}
protected function yyn86($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(4-2)];
}
protected function yyn87($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 yyn88($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(4-2)];
}
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) {
$this->yyval = $this->yyastk[$this->stackPos-(4-2)];
}
protected function yyn104($attributes) {
$this->yyval = array();
}
protected function yyn105($attributes) {
$this->yyastk[$this->stackPos-(2-1)][] = $this->yyastk[$this->stackPos-(2-2)]; $this->yyval = $this->yyastk[$this->stackPos-(2-1)];
}
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) {
$this->yyastk[$this->stackPos-(2-1)][] = $this->yyastk[$this->stackPos-(2-2)]; $this->yyval = $this->yyastk[$this->stackPos-(2-1)];
}
protected function yyn109($attributes) {
$this->yyval = new Node\Stmt\ElseIf_($this->yyastk[$this->stackPos-(4-2)], $this->yyastk[$this->stackPos-(4-4)], $attributes);
}
protected function yyn110($attributes) {
$this->yyval = null;
}
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);
}
protected function yyn112($attributes) {
$this->yyval = null;
}
protected function yyn113($attributes) {
$this->yyval = new Node\Stmt\Else_($this->yyastk[$this->stackPos-(3-3)], $attributes);
}
protected function yyn114($attributes) {
$this->yyval = array($this->yyastk[$this->stackPos-(1-1)], false);
}
protected function yyn115($attributes) {
$this->yyval = array($this->yyastk[$this->stackPos-(2-2)], true);
}
protected function yyn116($attributes) {
$this->yyval = array($this->yyastk[$this->stackPos-(1-1)], false);
}
protected function yyn117($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(1-1)];
}
protected function yyn118($attributes) {
$this->yyval = array();
}
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 yyn125($attributes) {
$this->yyval = 'array';
}
protected function yyn126($attributes) {
$this->yyval = 'callable';
}
protected function yyn127($attributes) {
$this->yyval = array();
}
protected function yyn128($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(3-2)];
}
protected function yyn129($attributes) {
$this->yyval = array(new Node\Arg($this->yyastk[$this->stackPos-(3-2)], false, $attributes));
}
protected function yyn130($attributes) {
$this->yyval = array($this->yyastk[$this->stackPos-(1-1)]);
}
protected function yyn131($attributes) {
$this->yyastk[$this->stackPos-(3-1)][] = $this->yyastk[$this->stackPos-(3-3)]; $this->yyval = $this->yyastk[$this->stackPos-(3-1)];
}
protected function yyn132($attributes) {
$this->yyval = new Node\Arg($this->yyastk[$this->stackPos-(1-1)], false, $attributes);
}
protected function yyn133($attributes) {
$this->yyval = new Node\Arg($this->yyastk[$this->stackPos-(2-2)], true, $attributes);
}
protected function yyn134($attributes) {
$this->yyastk[$this->stackPos-(3-1)][] = $this->yyastk[$this->stackPos-(3-3)]; $this->yyval = $this->yyastk[$this->stackPos-(3-1)];
}
protected function yyn135($attributes) {
$this->yyval = array($this->yyastk[$this->stackPos-(1-1)]);
}
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) {
$this->yyval = array($this->yyastk[$this->stackPos-(1-1)]);
}
protected function yyn141($attributes) {
$this->yyval = new Node\Stmt\StaticVar(substr($this->yyastk[$this->stackPos-(1-1)], 1), null, $attributes);
}
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);
}
protected function yyn143($attributes) {
$this->yyastk[$this->stackPos-(2-1)][] = $this->yyastk[$this->stackPos-(2-2)]; $this->yyval = $this->yyastk[$this->stackPos-(2-1)];
}
protected function yyn144($attributes) {
$this->yyval = array();
}
protected function yyn145($attributes) {
$this->yyval = new Node\Stmt\Property($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-2)], $attributes);
}
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 yyn150($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(3-2)];
}
protected function yyn151($attributes) {
$this->yyval = array();
}
protected function yyn152($attributes) {
$this->yyastk[$this->stackPos-(2-1)][] = $this->yyastk[$this->stackPos-(2-2)]; $this->yyval = $this->yyastk[$this->stackPos-(2-1)];
}
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) {
$this->yyval = $this->yyastk[$this->stackPos-(1-1)];
}
protected function yyn182($attributes) {
$this->yyval = $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 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) {
$this->yyval = $this->yyastk[$this->stackPos-(3-2)];
}
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);
}
protected function yyn236($attributes) {
$this->yyval = new Node\Expr\Ternary($this->yyastk[$this->stackPos-(4-1)], null, $this->yyastk[$this->stackPos-(4-4)], $attributes);
}
protected function yyn237($attributes) {
$this->yyval = new Node\Expr\Isset_($this->yyastk[$this->stackPos-(4-3)], $attributes);
}
protected function yyn238($attributes) {
$this->yyval = new Node\Expr\Empty_($this->yyastk[$this->stackPos-(4-3)], $attributes);
}
protected function yyn239($attributes) {
$this->yyval = new Node\Expr\Include_($this->yyastk[$this->stackPos-(2-2)], Node\Expr\Include_::TYPE_INCLUDE, $attributes);
}
protected function yyn240($attributes) {
$this->yyval = new Node\Expr\Include_($this->yyastk[$this->stackPos-(2-2)], Node\Expr\Include_::TYPE_INCLUDE_ONCE, $attributes);
}
protected function yyn241($attributes) {
$this->yyval = new Node\Expr\Eval_($this->yyastk[$this->stackPos-(2-2)], $attributes);
}
protected function yyn242($attributes) {
$this->yyval = new Node\Expr\Include_($this->yyastk[$this->stackPos-(2-2)], Node\Expr\Include_::TYPE_REQUIRE, $attributes);
}
protected function yyn243($attributes) {
$this->yyval = new Node\Expr\Include_($this->yyastk[$this->stackPos-(2-2)], Node\Expr\Include_::TYPE_REQUIRE_ONCE, $attributes);
}
protected function yyn244($attributes) {
$this->yyval = new Node\Expr\Cast\Int($this->yyastk[$this->stackPos-(2-2)], $attributes);
}
protected function yyn245($attributes) {
$this->yyval = new Node\Expr\Cast\Double($this->yyastk[$this->stackPos-(2-2)], $attributes);
}
protected function yyn246($attributes) {
$this->yyval = new Node\Expr\Cast\String($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);
}
protected function yyn248($attributes) {
$this->yyval = new Node\Expr\Cast\Object($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);
}
protected function yyn250($attributes) {
$this->yyval = new Node\Expr\Cast\Unset_($this->yyastk[$this->stackPos-(2-2)], $attributes);
}
protected function yyn251($attributes) {
$this->yyval = new Node\Expr\Exit_($this->yyastk[$this->stackPos-(2-2)], $attributes);
}
protected function yyn252($attributes) {
$this->yyval = new Node\Expr\ErrorSuppress($this->yyastk[$this->stackPos-(2-2)], $attributes);
}
protected function yyn253($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(1-1)];
}
protected function yyn254($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(1-1)];
}
protected function yyn255($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(1-1)];
}
protected function yyn256($attributes) {
$this->yyval = new Node\Expr\ShellExec($this->yyastk[$this->stackPos-(3-2)], $attributes);
}
protected function yyn257($attributes) {
$this->yyval = new Node\Expr\Print_($this->yyastk[$this->stackPos-(2-2)], $attributes);
}
protected function yyn258($attributes) {
$this->yyval = new Node\Expr\Yield_(null, null, $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);
}
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);
}
protected function yyn261($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(3-2)];
}
protected function yyn262($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(3-2)];
}
protected function yyn263($attributes) {
$this->yyval = new Node\Expr\Yield_($this->yyastk[$this->stackPos-(2-2)], null, $attributes);
}
protected function yyn264($attributes) {
$this->yyval = new Node\Expr\Yield_($this->yyastk[$this->stackPos-(4-4)], $this->yyastk[$this->stackPos-(4-2)], $attributes);
}
protected function yyn265($attributes) {
$this->yyval = new Node\Expr\Array_($this->yyastk[$this->stackPos-(4-3)], $attributes);
}
protected function yyn266($attributes) {
$this->yyval = new Node\Expr\Array_($this->yyastk[$this->stackPos-(3-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);
}
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);
}
protected function yyn269($attributes) {
$this->yyval = new Node\Expr\ArrayDimFetch($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-3)], $attributes);
}
protected function yyn270($attributes) {
$this->yyval = new Node\Expr\New_($this->yyastk[$this->stackPos-(3-2)], $this->yyastk[$this->stackPos-(3-3)], $attributes);
}
protected function yyn271($attributes) {
$this->yyval = array();
}
protected function yyn272($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(4-3)];
}
protected function yyn273($attributes) {
$this->yyval = array($this->yyastk[$this->stackPos-(1-1)]);
}
protected function yyn274($attributes) {
$this->yyastk[$this->stackPos-(3-1)][] = $this->yyastk[$this->stackPos-(3-3)]; $this->yyval = $this->yyastk[$this->stackPos-(3-1)];
}
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);
}
protected function yyn276($attributes) {
$this->yyval = new Node\Expr\FuncCall($this->yyastk[$this->stackPos-(2-1)], $this->yyastk[$this->stackPos-(2-2)], $attributes);
}
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);
}
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);
}
protected function yyn279($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);
} elseif ($this->yyastk[$this->stackPos-(2-1)] instanceof Node\Expr\ArrayDimFetch) {
$tmp = $this->yyastk[$this->stackPos-(2-1)];
while ($tmp->var instanceof Node\Expr\ArrayDimFetch) {
$tmp = $tmp->var;
}
$this->yyval = new Node\Expr\StaticCall($tmp->var->class, $this->yyastk[$this->stackPos-(2-1)], $this->yyastk[$this->stackPos-(2-2)], $attributes);
$tmp->var = new Node\Expr\Variable($tmp->var->name, $attributes);
} else {
throw new \Exception;
}
}
protected function yyn280($attributes) {
$this->yyval = new Node\Expr\FuncCall($this->yyastk[$this->stackPos-(2-1)], $this->yyastk[$this->stackPos-(2-2)], $attributes);
}
protected function yyn281($attributes) {
$this->yyval = new Node\Expr\ArrayDimFetch($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-3)], $attributes);
}
protected function yyn282($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);
}
protected function yyn286($attributes) {
$this->yyval = new Node\Name\Relative($this->yyastk[$this->stackPos-(3-3)], $attributes);
}
protected function yyn287($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(1-1)];
}
protected function yyn288($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(1-1)];
}
protected function yyn289($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(1-1)];
}
protected function yyn290($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(1-1)];
}
protected function yyn291($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(1-1)];
}
protected function yyn292($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(1-1)];
}
protected function yyn293() {
$this->yyval = $this->yyastk[$this->stackPos];
}
protected function yyn294($attributes) {
$this->yyval = new Node\Expr\PropertyFetch($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes);
}
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 yyn296($attributes) {
$this->yyval = new Node\Expr\ArrayDimFetch($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-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);
}
protected function yyn298($attributes) {
$this->yyval = null;
}
protected function yyn299($attributes) {
$this->yyval = null;
}
protected function yyn300($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(1-1)];
}
protected function yyn301($attributes) {
$this->yyval = array();
}
protected function yyn302($attributes) {
$this->yyval = array(Node\Scalar\String::parseEscapeSequences($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)];
}
protected function yyn304($attributes) {
$this->yyval = array();
}
protected function yyn305($attributes) {
$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 yyn333($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(2-1)];
}
protected function yyn334() {
$this->yyval = $this->yyastk[$this->stackPos];
}
protected function yyn335() {
$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);
}
protected function yyn339($attributes) {
$this->yyval = new Node\Expr\ArrayItem($this->yyastk[$this->stackPos-(1-1)], null, false, $attributes);
}
protected function yyn340($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(1-1)];
}
protected function yyn341($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(1-1)];
}
protected function yyn342($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(1-1)];
}
protected function yyn343($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(1-1)];
}
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 yyn352($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(3-2)];
}
protected function yyn353($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(1-1)];
}
protected function yyn354($attributes) {
$this->yyval = new Node\Expr\Variable($this->yyastk[$this->stackPos-(2-2)], $attributes);
}
protected function yyn355($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(1-1)];
}
protected function yyn356($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(1-1)];
}
protected function yyn357($attributes) {
$this->yyval = new Node\Expr\StaticPropertyFetch($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-4)], $attributes);
}
protected function yyn358($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(1-1)];
}
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);
}
protected function yyn360($attributes) {
$this->yyval = new Node\Expr\StaticPropertyFetch($this->yyastk[$this->stackPos-(6-1)], $this->yyastk[$this->stackPos-(6-5)], $attributes);
}
protected function yyn361($attributes) {
$this->yyval = new Node\Expr\ArrayDimFetch($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-3)], $attributes);
}
protected function yyn362($attributes) {
$this->yyval = new Node\Expr\ArrayDimFetch($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-3)], $attributes);
}
protected function yyn363($attributes) {
$this->yyval = new Node\Expr\ArrayDimFetch($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-3)], $attributes);
}
protected function yyn364($attributes) {
$this->yyval = new Node\Expr\ArrayDimFetch($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-3)], $attributes);
}
protected function yyn365($attributes) {
$this->yyval = new Node\Expr\Variable(substr($this->yyastk[$this->stackPos-(1-1)], 1), $attributes);
}
protected function yyn366($attributes) {
$this->yyval = new Node\Expr\Variable($this->yyastk[$this->stackPos-(4-3)], $attributes);
}
protected function yyn367($attributes) {
$this->yyval = null;
}
protected function yyn368($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(1-1)];
}
protected function yyn369($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(1-1)];
}
protected function yyn370($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(3-2)];
}
protected function yyn371($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(1-1)];
}
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 yyn397($attributes) {
$this->yyval = new Node\Scalar\String($this->yyastk[$this->stackPos-(1-1)], $attributes);
}
protected function yyn398($attributes) {
$this->yyval = new Node\Scalar\String($this->yyastk[$this->stackPos-(1-1)], $attributes);
}
protected function yyn399($attributes) {
$this->yyval = new Node\Expr\Variable(substr($this->yyastk[$this->stackPos-(1-1)], 1), $attributes);
}
}