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

2745 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 = 152;
const TOKEN_MAP_SIZE = 387;
const YYLAST = 1001;
const YY2TBLSTATE = 316;
const YYGLAST = 446;
const YYNLSTATES = 535;
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;
const T_ELLIPSIS = 386;
// }}}
/* @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",
"T_ELLIPSIS",
"';'",
"'{'",
"'}'",
"'('",
"')'",
"'$'",
"'`'",
"']'",
"'\"'"
, "???"
);
/* @var array Map which translates lexer tokens to internal tokens */
protected static $translate = array(
0, 152, 152, 152, 152, 152, 152, 152, 152, 152,
152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
152, 152, 152, 48, 151, 152, 148, 47, 31, 152,
146, 147, 45, 42, 7, 43, 44, 46, 152, 152,
152, 152, 152, 152, 152, 152, 152, 152, 26, 143,
36, 13, 38, 25, 60, 152, 152, 152, 152, 152,
152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
152, 61, 152, 150, 30, 152, 149, 152, 152, 152,
152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
152, 152, 152, 144, 29, 145, 50, 152, 152, 152,
152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
152, 152, 152, 152, 152, 152, 152, 152, 152, 152,
152, 152, 152, 152, 152, 152, 1, 2, 3, 4,
5, 6, 8, 9, 10, 11, 12, 14, 15, 16,
17, 18, 19, 20, 21, 22, 23, 24, 27, 28,
32, 33, 34, 35, 37, 39, 40, 41, 49, 51,
52, 53, 54, 55, 56, 57, 58, 59, 62, 63,
64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
74, 75, 152, 152, 76, 77, 78, 79, 80, 81,
82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
132, 152, 152, 152, 152, 152, 152, 133, 134, 135,
136, 137, 138, 139, 140, 141, 142
);
protected static $yyaction = array(
59, 60, 326, 61, 62,-32766,-32766,-32766, 217, 63,
64, 103, 104, 105, 498, 235,-32766,-32766,-32766, 539,
662, 663,-32766, 507,-32766,-32766,-32766,-32766,-32766,-32767,
-32767,-32767,-32767,-32766, 0,-32766,-32766,-32766,-32766,-32766,
65, 66, -120, 264, 298, 35, 67, 269, 68, 222,
223, 69, 70, 71, 72, 73, 74, 75, 76, 32,
234, 77, 318, 327,-32766,-32766,-32766, 844, 845, 363,
131, 903, 361, 583, 456, 364, 46, 27, 328, 189,
365,-32766, 366,-32766, 367, 240, 390, 329, 688, 331,
123, 36, 37, 368, 334, 693, 38, 369, 330, 319,
78, 31, 345, 280, 281, 278, 39, 225, 427, 370,
371, 372, 373, 374, 343,-32766,-32766,-32766, 545, 609,
375, 376, 377, 378, 796, 850, 851, 852, 853, 847,
848, 241,-32766, 82, 83, 84, 390, 854, 849, 331,
261, 589, 508, 226, 47, 325, 262, 246, 910, 250,
40, 57, 85, 86, 87, 88, 89, 90, 91, 92,
93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
103, 104, 105, 323, 235, 226, 228,-32766, 351, 259,
-32766,-32766,-32766, 539, 279, 348, 229,-32766, 701, 129,
-32766,-32766,-32766, 350,-32766, 287,-32766,-32766,-32766,-32766,
-32766,-32766,-32766,-32766,-32766,-32766,-32766,-32766, 683,-32766,
-32766,-32766, 248, 346,-32766, 539, 465,-32766, 389,-32766,
-32766, 607,-32766,-32766,-32766,-32766,-32766, 191,-32766, 323,
-32766, 869, 344,-32766, 122, 259, 56,-32766,-32766,-32766,
796, 665,-32766,-32766, 701, 935,-32766, 937, 936,-32766,
389, 100, 101, 102, 126,-32766,-32766,-32766, 127, 218,
330, 319, 54, 323, 637, 903, 127, 278, 53, 259,
192, 370, 371, 932, 856, 196, 796, 608, 701, 377,
545, 609, 375, 376, 197, 810, 126,-32766,-32766, 897,
674, 664, 868,-32766, 907, 224, 925, 193, 194, 539,
925, 340, 261,-32766, 510, 524,-32766,-32766,-32766, 547,
-32766, 606,-32766, 215,-32766, 251, 187,-32766, 22, 120,
549,-32766,-32766,-32766, 844, 845,-32766,-32766,-32766,-32766,
-32766, 580, 846,-32766, 389, 539, 523, -116, 869,-32766,
262,-32766,-32766,-32766,-32766, 119,-32766, 796,-32766, 581,
-32766, 118, 190,-32766, 867,-32766,-32766,-32766,-32766,-32766,
530, 125,-32766,-32766, 270, 219,-32766, 128, 117,-32766,
389,-32766,-32766, 856, 593, 866, 520,-32766, 130, 796,
446, 638, 850, 851, 852, 853, 847, 848, 309, 353,
28, 358, 471, 602, 854, 849, 132, 288, 227, 511,
-32766,-32766, 532,-32766, 480, 481, 539,-32766,-32766, 513,
-32766, 662, 663,-32766,-32766,-32766, 234,-32766, 235,-32766,
52,-32766, 796, 342,-32766, 687, 529, 51,-32766,-32766,
-32766, 55,-32766,-32766,-32766, 546, 515,-32766, 539, 49,
-32766, 389,-32766, 698, 534,-32766,-32766,-32766,-32766,-32766,
58,-32766, 50,-32766, 796, 485,-32766, 418, 497, 554,
-32766,-32766,-32766, 556, 695,-32766,-32766, 506, 417,-32766,
540, 405,-32766, 389, 339,-32766, 341, 539,-32766,-32766,
-32766, 539, 306, 495, 400,-32766, 401, 930,-32766,-32766,
-32766, 490,-32766, 482,-32766, 813,-32766, 796, 404,-32766,
-165, 461, 267,-32766,-32766,-32766, 925,-32766,-32766,-32766,
-32766,-32766,-32766, 539, 268,-32766, 389,-32766, 474, 214,
-32766,-32766,-32766,-32766,-32766, 420,-32766, 231,-32766, 796,
338,-32766, -162, 449, 611,-32766,-32766,-32766, 476, 360,
-32766,-32766, 258, 257,-32766, 260, 610,-32766, 389, 322,
-32766, -286, 263,-32766,-32766,-32766, 539, 377, -355, 483,
-32766, 253, -354,-32766,-32766,-32766, 776,-32766, 247,-32766,
249,-32766, 796, 121,-32766, 42, 195, 0,-32766,-32766,
-32766, 855,-32766,-32766,-32766, 573,-32766,-32766, 539, 0,
-32766, 389,-32766, 503, -295,-32766,-32766,-32766,-32766,-32766,
244,-32766, 289,-32766, -294, 301,-32766, 410, 81, 666,
-32766,-32766,-32766, 340, 45,-32766,-32766, 604, 509,-32766,
44, 516,-32766, 389, 576,-32766, 574, 578,-32766,-32766,
-32766, 539, 591, 579, 592,-32766, 570, 585,-32766,-32766,
-32766, 640,-32766, 631,-32766, 632,-32766, 568, 582,-32766,
625, 623, 584,-32766,-32766,-32766, 621,-32766,-32766,-32766,
575,-32766,-32766, 539, 691,-32766, 389,-32766, 694, 550,
-32766,-32766,-32766,-32766,-32766, 692,-32766, 517,-32766, 684,
898,-32766, 514, 519, 521,-32766,-32766,-32766, 526, 527,
-32766,-32766, 528, 533,-32766, 124, 531,-32766, 389, 908,
-32766, 676, 835, 577,-32766,-32766, 539, 900, 888, 902,
-32766, 933, 934,-32766,-32766,-32766, 630,-32766, 629,-32766,
904,-32766, 357, 931,-32766,-32766,-32766,-32766,-32766,-32766,
-32766, 80,-32766,-32766,-32766,-32766,-32766,-32766, 803, 837,
-32766, 389,-32766, 238,-32766,-32766,-32766,-32766,-32766, 41,
106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
116, 330, 319, 237, 236, 239, 221, 220, 278, 216,
265, 321, 370, 371, 188, 317, 79, 48,-32766,-32766,
43, 545, 609, 375, 376, 34, 33, 738, 740,-32767,
-32767,-32767,-32767, 98, 99, 100, 101, 102, 30, 794,
330, 800, 502, 261, 330, 475, 441, 359, 354, 307,
548, 370, 371, 290, 25, 370, 371, 330, 24, 23,
565, 609, 375, 376, 565, 609, 375, 376, 370, 371,
-116, 799, -117, 775, 330, 862, 450, 565, 609, 375,
376, 882, 863, 929, 834, 370, 371, 899, 330, 518,
883, 887, 330, 797, 565, 609, 375, 376, -354, 370,
371, 901, 819, 370, 371, 330, 699, 0, 565, 609,
375, 376, 565, 609, 375, 376, 370, 371, 807, 805,
458, 806, 330, 596, 804, 565, 609, 375, 376, 0,
0, 0, 0, 370, 371, 330, 0, 798, 0, 505,
0, 598, 565, 609, 375, 376, 370, 371, 539, 0,
903, 0, 330, 0, 566, 565, 609, 375, 376, 496,
0, 0, 0, 370, 371, 0, 0, 489, 0, 0,
330, 605, 565, 609, 375, 376, 330, 0, 0, 0,
0, 370, 371, 820, 0, 0, 0, 370, 371, 330,
565, 609, 375, 376, 0, 0, 565, 609, 375, 376,
370, 371, 709, 710, 711, 708, 707, 706, 0, 565,
609, 375, 376, 0, 0, 390, 0, 0, 331,-32766,
-32766,-32766, 0, 335, 0, 262, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,-32766, 0,-32766,-32766,
-32766
);
protected static $yycheck = array(
2, 3, 4, 5, 6, 8, 9, 10, 7, 11,
12, 45, 46, 47, 71, 49, 8, 9, 10, 71,
125, 126, 25, 71, 27, 28, 29, 30, 31, 32,
33, 34, 35, 25, 0, 27, 28, 29, 30, 31,
42, 43, 147, 7, 73, 7, 48, 61, 50, 51,
52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
62, 63, 64, 65, 8, 9, 10, 69, 70, 71,
144, 73, 7, 75, 148, 77, 78, 79, 80, 7,
82, 25, 84, 27, 86, 7, 138, 89, 145, 141,
7, 93, 94, 95, 96, 143, 98, 99, 96, 97,
102, 7, 7, 105, 106, 103, 135, 136, 122, 107,
108, 113, 114, 115, 26, 8, 9, 10, 116, 117,
118, 119, 124, 125, 12, 127, 128, 129, 130, 131,
132, 133, 25, 8, 9, 10, 138, 139, 140, 141,
138, 143, 144, 31, 146, 7, 148, 149, 147, 151,
25, 61, 27, 28, 29, 30, 31, 32, 33, 34,
35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
45, 46, 47, 97, 49, 31, 7, 65, 7, 103,
8, 9, 10, 71, 7, 71, 31, 75, 112, 61,
78, 79, 80, 71, 82, 7, 84, 25, 86, 27,
28, 89, 8, 9, 10, 93, 94, 95, 143, 65,
98, 99, 122, 7, 102, 71, 76, 105, 106, 75,
8, 145, 78, 79, 80, 113, 82, 13, 84, 97,
86, 117, 144, 89, 144, 103, 61, 93, 94, 95,
12, 147, 98, 99, 112, 71, 102, 73, 74, 105,
106, 42, 43, 44, 142, 143, 144, 113, 144, 31,
96, 97, 61, 97, 26, 73, 144, 103, 61, 103,
13, 107, 108, 145, 134, 13, 12, 145, 112, 124,
116, 117, 118, 119, 13, 147, 142, 143, 144, 73,
73, 147, 71, 65, 71, 31, 76, 42, 43, 71,
76, 141, 138, 75, 144, 26, 78, 79, 80, 145,
82, 145, 84, 123, 86, 76, 61, 89, 147, 144,
143, 93, 94, 95, 69, 70, 98, 99, 73, 65,
102, 143, 77, 105, 106, 71, 26, 147, 117, 75,
148, 113, 78, 79, 80, 144, 82, 12, 84, 143,
86, 144, 13, 89, 134, 8, 9, 93, 94, 95,
26, 26, 98, 99, 148, 148, 102, 144, 13, 105,
106, 143, 144, 134, 26, 151, 26, 113, 26, 12,
125, 143, 127, 128, 129, 130, 131, 132, 133, 66,
67, 66, 67, 31, 139, 140, 91, 92, 31, 26,
65, 146, 26, 148, 100, 101, 71, 143, 144, 26,
75, 125, 126, 78, 79, 80, 62, 82, 49, 84,
61, 86, 12, 80, 89, 143, 144, 61, 93, 94,
95, 61, 65, 98, 99, 143, 144, 102, 71, 61,
105, 106, 75, 143, 144, 78, 79, 80, 113, 82,
61, 84, 61, 86, 12, 68, 89, 71, 73, 71,
93, 94, 95, 71, 71, 98, 99, 71, 71, 102,
71, 71, 105, 106, 71, 65, 71, 71, 143, 144,
113, 71, 72, 71, 71, 75, 71, 71, 78, 79,
80, 73, 82, 73, 84, 73, 86, 12, 73, 89,
73, 90, 76, 93, 94, 95, 76, 65, 98, 99,
143, 144, 102, 71, 76, 105, 106, 75, 90, 88,
78, 79, 80, 113, 82, 88, 84, 88, 86, 12,
96, 89, 88, 88, 117, 93, 94, 95, 103, 96,
98, 99, 121, 120, 102, 104, 117, 105, 106, 141,
65, 137, 120, 143, 144, 113, 71, 124, 122, 150,
75, 137, 122, 78, 79, 80, 147, 82, 122, 84,
122, 86, 12, 123, 89, 123, 123, -1, 93, 94,
95, 134, 65, 98, 99, 143, 144, 102, 71, -1,
105, 106, 75, 137, 137, 78, 79, 80, 113, 82,
137, 84, 137, 86, 137, 137, 89, 141, 144, 147,
93, 94, 95, 141, 143, 98, 99, 142, 144, 102,
143, 143, 105, 106, 143, 65, 143, 143, 143, 144,
113, 71, 143, 143, 143, 75, 143, 143, 78, 79,
80, 143, 82, 143, 84, 143, 86, 143, 143, 89,
143, 143, 143, 93, 94, 95, 143, 65, 98, 99,
143, 144, 102, 71, 143, 105, 106, 75, 143, 143,
78, 79, 80, 113, 82, 143, 84, 143, 86, 143,
145, 89, 144, 144, 144, 93, 94, 95, 144, 144,
98, 99, 144, 144, 102, 144, 144, 105, 106, 145,
65, 145, 145, 143, 144, 113, 71, 145, 145, 145,
75, 145, 145, 78, 79, 80, 145, 82, 145, 84,
145, 86, 145, 145, 89, 8, 9, 10, 93, 94,
95, 146, 146, 98, 99, 143, 144, 102, 147, 147,
105, 106, 25, 146, 27, 28, 29, 30, 113, 13,
14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
24, 96, 97, 146, 146, 146, 146, 146, 103, 146,
146, 146, 107, 108, 146, 146, 146, 146, 143, 144,
146, 116, 117, 118, 119, 146, 146, 51, 52, 36,
37, 38, 39, 40, 41, 42, 43, 44, 146, 149,
96, 147, 147, 138, 96, 147, 147, 147, 147, 147,
145, 107, 108, 147, 147, 107, 108, 96, 147, 147,
116, 117, 118, 119, 116, 117, 118, 119, 107, 108,
147, 147, 147, 147, 96, 147, 147, 116, 117, 118,
119, 150, 150, 150, 150, 107, 108, 150, 96, 145,
150, 150, 96, 145, 116, 117, 118, 119, 122, 107,
108, 150, 150, 107, 108, 96, 145, -1, 116, 117,
118, 119, 116, 117, 118, 119, 107, 108, 150, 150,
81, 150, 96, 145, 150, 116, 117, 118, 119, -1,
-1, -1, -1, 107, 108, 96, -1, 145, -1, 83,
-1, 145, 116, 117, 118, 119, 107, 108, 71, -1,
73, -1, 96, -1, 145, 116, 117, 118, 119, 85,
-1, -1, -1, 107, 108, -1, -1, 87, -1, -1,
96, 145, 116, 117, 118, 119, 96, -1, -1, -1,
-1, 107, 108, 106, -1, -1, -1, 107, 108, 96,
116, 117, 118, 119, -1, -1, 116, 117, 118, 119,
107, 108, 106, 107, 108, 109, 110, 111, -1, 116,
117, 118, 119, -1, -1, 138, -1, -1, 141, 8,
9, 10, -1, 146, -1, 148, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 25, -1, 27, 28,
29
);
protected static $yybase = array(
0, 665, 164, 2, 769, 704, 799, 840, 834, 786,
708, 756, 752, 816, 738, 721, 853, 853, 853, 853,
853, 383, 350, 279, 376, 279, 373, -2, -2, -2,
144, 112, 264, 264, 592, 264, 442, 517, 560, 410,
335, 228, 367, 485, 485, 485, 485, 635, 635, 485,
485, 485, 485, 485, 485, 485, 485, 485, 485, 485,
485, 485, 485, 485, 485, 485, 485, 485, 485, 485,
485, 485, 485, 485, 485, 485, 485, 485, 485, 485,
485, 485, 485, 485, 485, 485, 485, 485, 485, 485,
485, 485, 485, 485, 485, 485, 485, 485, 485, 485,
485, 485, 485, 485, 485, 485, 485, 485, 485, 485,
485, 485, 485, 485, 485, 485, 485, 485, 485, 485,
485, 485, 485, 485, 485, 485, 485, 485, 485, 485,
485, 485, 485, 238, 509, 450, 452, 483, 481, 484,
489, 684, 431, 419, 578, 575, 352, 564, 563, 562,
557, 556, 577, 554, 409, 535, 125, 125, 125, 125,
125, 125, 125, 125, 125, 125, 125, 212, 347, 194,
194, 194, 194, 194, 194, 194, 194, 194, 194, 194,
194, 194, 194, 194, 107, 107, 56, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 172, 971,
717, 8, -3, -3, -3, -3, 736, 753, 753, 753,
753, 132, 76, 166, 155, 155, 433, 433, 354, 551,
837, 837, 837, 837, 837, 837, 837, 837, 837, 837,
427, 396, 209, 209, 586, 586, -105, -105, -105, -105,
286, 239, 220, 224, 114, -57, 426, 223, 223, 223,
438, 447, 430, 122, -34, -34, -34, -52, -52, -52,
-52, 160, 464, -52, -52, -52, 201, -29, -29, 174,
-74, 411, 573, 428, 571, 282, 457, 90, 408, 408,
217, 434, 323, 325, 304, 414, 88, 217, 238, 221,
300, 175, 505, 386, 526, 177, 188, 206, -14, 292,
207, 216, 171, 689, 686, 1, 128, 436, 94, 140,
207, 190, 536, 65, 138, 521, -48, 362, 639, 415,
652, 397, 406, 415, 420, 362, 631, 631, 631, 631,
362, 406, 652, 652, 362, 354, 652, 38, 362, 423,
406, 432, 631, 478, 534, 415, 425, 421, 652, 652,
652, 397, 362, 631, 435, 475, 72, 652, 631, 435,
362, 420, 34, 348, 378, 634, 630, 625, 413, 474,
429, 417, 621, 620, 585, 400, 403, 623, 640, 466,
490, 405, 355, 391, 366, 359, 463, 370, 446, 434,
472, 369, 440, 424, 440, 734, 468, 467, 448, 343,
491, 339, 466, 437, 214, 538, 466, 654, 662, 650,
399, 618, 659, 440, 731, 477, 83, 257, 617, 445,
388, 440, 597, 440, 539, 440, 591, 416, 567, 466,
369, 369, 369, 462, 729, 728, 712, 711, 701, 700,
697, 389, 694, 493, 661, 78, 628, 414, 465, 392,
494, 36, 693, 440, 440, 540, 464, 440, 498, 471,
672, 500, 658, 453, 692, 447, 660, 440, 443, 691,
36, 310, 387, 685, 502, 544, 629, 545, 418, 688,
624, 548, 262, 566, 334, 504, 671, 667, 683, 507,
271, 552, 412, 422, 385, 619, 508, 655, 444, 456,
441, 439, 549, 393, 666, 513, 525, 532, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, -2, -2, -2, -2,
-2, -2, -2, -2, -2, -2, -2, -2, -2, -2,
-2, -2, -2, -2, -2, -2, -2, -2, -2, -2,
-2, -2, 0, 0, 0, -2, -2, -2, -2, -2,
-2, -2, -2, -2, -2, -2, -2, -2, -2, -2,
-2, -2, -2, -2, -2, -2, -2, -2, -2, -2,
-2, -2, -2, -2, -2, -2, -2, -2, -2, -2,
-2, -2, -2, -2, -2, -2, -2, -2, -2, -2,
-2, -2, -2, -2, -2, -2, -2, -2, -2, -2,
-2, -2, -2, -2, -2, -2, -2, -2, -2, -2,
-2, -2, -2, -2, -2, -2, -2, -2, -2, -2,
-2, -2, -2, -2, -2, -2, -2, -2, -2, -2,
-2, -2, -2, -2, -2, -2, -2, -2, -2, -2,
-2, -2, -2, -2, -2, -2, -2, -2, 125, 125,
125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
125, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 125, 125, 125, 125, 125, 125, 125, 125,
125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
125, 125, 837, 837, 837, 837, 837, 837, 837, 837,
837, 837, 837, 125, 125, 125, 125, 125, 125, 125,
125, 0, -34, -34, -34, -34, 856, 856, 856, 837,
837, 837, 837, 837, 837, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 856, 856, -34, -34, 837,
837, -52, -52, -52, -52, -52, -29, -29, -29, 216,
-52, -29, 192, 192, 192, -29, -29, -29, 216, 0,
0, 0, 0, 0, 0, 0, 406, 192, 0, 0,
0, 652, 0, 0, 0, 192, 305, 305, 305, 305,
36, 207, 0, 406, 406, 0, 425, 0, 0, 0,
652, 0, 0, 0, 0, 0, 0, 83, 618, 95,
0, 0, 0, 0, 0, 0, 0, 0, 169, 169,
0, 0, 389, 0, 0, 0, 0, 95, 0, 0,
36
);
protected static $yydefault = array(
3,32767,32767, 1,32767,32767,32767,32767,32767,32767,
32767,32767,32767,32767,32767,32767, 109, 101, 115, 100,
111,32767,32767,32767,32767,32767,32767,32767,32767,32767,
32767,32767, 381, 381,32767, 338,32767,32767,32767,32767,
32767,32767,32767, 183, 183, 183,32767,32767,32767, 370,
370, 370, 370, 370, 370, 370, 370, 370, 370,32767,
32767,32767,32767,32767, 261,32767,32767,32767,32767,32767,
32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
32767,32767,32767,32767,32767, 266, 386,32767,32767,32767,
32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
32767,32767,32767,32767,32767,32767, 242, 243, 245, 246,
182, 371, 134, 267, 385, 181, 136, 209, 211, 260,
210, 187, 192, 193, 194, 195, 196, 197, 198, 199,
200, 201, 202, 186, 239, 238, 207, 335, 335, 338,
32767,32767,32767,32767,32767,32767,32767,32767, 208, 212,
214, 213, 229, 230, 227, 228, 185, 231, 232, 233,
234, 167, 167, 167,32767,32767, 380, 380,32767,32767,
32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
168,32767, 221, 222, 296, 296, 125, 125, 125, 125,
125,32767,32767,32767,32767,32767, 304,32767,32767,32767,
32767,32767, 306,32767, 216, 217, 215,32767,32767,32767,
32767,32767,32767,32767,32767,32767, 343, 305,32767,32767,
32767,32767,32767,32767,32767,32767, 356, 292,32767,32767,
32767, 285, 112, 114, 62, 322,32767,32767,32767,32767,
32767, 361,32767,32767,32767,32767,32767,32767, 393,32767,
356,32767,32767,32767,32767,32767,32767, 237,32767,32767,
360, 354,32767,32767,32767,32767,32767, 66, 301,32767,
307,32767,32767,32767,32767, 66,32767,32767,32767,32767,
66,32767, 359, 358, 66,32767, 286, 337, 66, 79,
32767, 77,32767, 98, 98,32767,32767, 81, 333, 349,
32767,32767, 66,32767, 274, 68, 337,32767,32767, 274,
66,32767,32767, 4, 311,32767,32767,32767,32767,32767,
32767,32767,32767,32767,32767,32767,32767,32767,32767, 287,
32767,32767,32767, 257, 258, 345,32767, 346,32767, 285,
32767, 225, 204,32767, 206,32767,32767, 290, 293,32767,
32767,32767, 6, 18, 144,32767, 288,32767, 190,32767,
32767,32767,32767, 388,32767,32767, 184,32767,32767, 20,
32767, 140,32767, 64,32767, 378,32767,32767, 354, 289,
218, 219, 220,32767,32767,32767,32767,32767,32767,32767,
32767, 355,32767,32767,32767, 119,32767, 322,32767,32767,
32767, 80,32767, 188, 135,32767,32767, 387,32767,32767,
32767,32767,32767, 342,32767,32767,32767, 65,32767,32767,
82,32767,32767, 354,32767,32767,32767,32767,32767,32767,
32767,32767, 179,32767,32767,32767,32767,32767, 354,32767,
123,32767,32767,32767,32767,32767,32767,32767, 4,32767,
161,32767,32767,32767,32767,32767,32767,32767, 26, 26,
3, 26, 106, 26, 147, 3, 98, 98, 59, 147,
26, 147, 26, 26, 26, 26, 26, 26, 26, 154,
26, 26, 26, 26, 26
);
protected static $yygoto = array(
162, 162, 136, 136, 141, 136, 137, 138, 139, 144,
146, 171, 164, 160, 160, 160, 160, 141, 141, 161,
161, 161, 161, 161, 161, 161, 161, 161, 161, 156,
157, 158, 159, 169, 135, 758, 759, 391, 761, 782,
783, 784, 785, 786, 787, 788, 790, 726, 140, 142,
143, 145, 167, 168, 170, 186, 198, 199, 200, 201,
202, 203, 204, 205, 207, 208, 209, 210, 232, 233,
254, 255, 256, 430, 431, 432, 172, 173, 174, 175,
176, 177, 178, 179, 180, 181, 182, 183, 147, 148,
149, 163, 150, 165, 151, 184, 166, 152, 153, 154,
185, 155, 133, 447, 447, 447, 447, 447, 447, 447,
447, 447, 447, 447, 311, 488, 425, 425, 453, 421,
423, 423, 392, 394, 413, 428, 454, 457, 467, 473,
336, 336, 336, 336, 336, 336, 336, 336, 336, 336,
336, 336, 336, 336, 336, 336, 653, 653, 914, 914,
821, 821, 661, 661, 661, 661, 661, 408, 544, 544,
544, 499, 448, 448, 448, 448, 448, 448, 448, 448,
448, 448, 448, 618, 618, 618, 618, 272, 587, 613,
619, 494, 393, 393, 393, 393, 393, 393, 393, 393,
393, 393, 393, 393, 393, 393, 393, 393, 543, 543,
543, 252, 396, 396, 5, 243, 16, 886, 6, 397,
397, 542, 542, 542, 668, 7, 918, 17, 18, 8,
19, 9, 10, 11, 426, 20, 12, 13, 14, 15,
292, 639, 624, 622, 620, 622, 512, 399, 648, 643,
858, 858, 858, 858, 858, 858, 858, 858, 858, 858,
858, 434, 435, 436, 437, 438, 439, 440, 442, 469,
838, 843, 462, 466, 504, 470, 275, 315, 779, 26,
21, 286, 299, 817, 818, 559, 680, 628, 860, 861,
876, 715, 659, 874, 443, 402, 479, 924, 924, 815,
885, 815, 893, 893, 1, 29, 927, 924, 816, 2,
484, 487, 402, 402, 433, 909, 909, 909, 407, 212,
293, 213, 927, 927, 411, 300, 300, 300, 422, 770,
892, 407, 407, 459, 486, 705, 316, 304, 724, 911,
300, 657, 355, 419, 398, 398, 894, 894, 310, 551,
492, 833, 832, 672, 859, 522, 402, 812, 557, 273,
274, 312, 677, 627, 871, 406, 491, 713, 0, 0,
0, 0, 0, 0, 429, 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, 412
);
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, 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, 55, 55, 55, 55,
39, 39, 39, 39, 39, 39, 39, 77, 8, 8,
8, 39, 94, 94, 94, 94, 94, 94, 94, 94,
94, 94, 94, 39, 39, 39, 39, 50, 32, 39,
39, 39, 91, 91, 91, 91, 91, 91, 91, 91,
91, 91, 91, 91, 91, 91, 91, 91, 7, 7,
7, 100, 91, 91, 14, 100, 14, 59, 14, 94,
94, 6, 6, 6, 61, 14, 114, 14, 14, 14,
14, 14, 14, 14, 85, 14, 14, 14, 14, 14,
29, 6, 6, 6, 6, 6, 6, 6, 6, 6,
101, 101, 101, 101, 101, 101, 101, 101, 101, 101,
101, 86, 86, 86, 86, 86, 86, 86, 86, 86,
16, 59, 42, 42, 42, 48, 48, 48, 16, 16,
16, 16, 5, 59, 59, 13, 13, 13, 13, 13,
13, 13, 13, 106, 16, 4, 103, 115, 115, 59,
59, 59, 93, 93, 2, 16, 115, 115, 59, 2,
16, 31, 4, 4, 26, 93, 93, 93, 26, 46,
40, 46, 115, 115, 40, 98, 98, 98, 40, 78,
93, 26, 26, 22, 22, 74, 74, 30, 77, 112,
98, 57, 40, 5, 97, 97, 92, 92, 98, 11,
40, 99, 99, 62, 102, 52, 4, 89, 12, 50,
50, 10, 63, 49, 105, 4, 84, 76, -1, -1,
-1, -1, -1, -1, 4, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 77
);
protected static $yygbase = array(
0, 0, -216, 0, 24, 11, 210, 197, 157, 0,
28, 60, 3, 85, -305, 0, -58, 0, 0, 0,
0, 0, 279, 0, 0, -30, 274, 0, 0, 184,
106, 86, 153, -100, 0, 0, 0, 0, 0, -84,
-20, 0, 25, 0, 0, 0, -210, 0, 7, 2,
-167, 0, 57, 0, 0, -68, 0, 91, 0, -59,
0, 183, 56, 6, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 95, 0, -4, 110, 84, 0,
0, 0, 0, 0, -3, 191, 201, 0, 0, 22,
0, -32, 102, 58, -25, 0, 0, 100, 68, 93,
-45, 53, 55, 98, 0, -2, 94, 0, 0, 0,
0, 0, 112, 0, 181, 45, 0
);
protected static $yygdefault = array(
-32768, 362, 3, 537, 379, 403, 562, 563, 564, 295,
294, 552, 558, 463, 4, 560, 771, 282, 567, 283,
472, 569, 415, 571, 572, 134, 380, 296, 297, 416,
303, 460, 586, 206, 302, 588, 284, 590, 595, 285,
493, 478, 444, 381, 347, 455, 211, 424, 451, 626,
271, 634, 525, 642, 645, 382, 445, 656, 352, 814,
308, 667, 673, 678, 681, 324, 313, 468, 685, 686,
245, 690, 500, 501, 704, 230, 712, 725, 320, 789,
791, 383, 384, 409, 477, 395, 414, 808, 314, 811,
385, 386, 332, 333, 829, 826, 277, 879, 276, 349,
242, 864, 865, 464, 356, 917, 875, 266, 387, 388,
291, 305, 912, 337, 919, 926, 452
);
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, 41, 41,
7, 8, 8, 8, 43, 43, 43, 44, 44, 47,
47, 45, 45, 48, 48, 23, 23, 32, 32, 35,
35, 34, 34, 49, 24, 24, 24, 24, 50, 50,
51, 51, 52, 52, 21, 21, 17, 17, 53, 19,
19, 54, 18, 18, 20, 20, 31, 31, 31, 42,
42, 56, 56, 57, 57, 58, 58, 58, 58, 59,
59, 59, 60, 60, 61, 61, 61, 27, 27, 62,
62, 62, 28, 28, 63, 63, 46, 46, 64, 64,
64, 64, 69, 69, 70, 70, 71, 71, 71, 71,
72, 73, 73, 68, 68, 65, 65, 67, 67, 75,
75, 74, 74, 74, 74, 74, 74, 66, 66, 76,
76, 29, 29, 22, 22, 25, 25, 25, 25, 25,
25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
25, 25, 25, 25, 16, 16, 26, 26, 81, 81,
82, 82, 82, 77, 84, 84, 88, 88, 89, 90,
90, 90, 90, 90, 90, 94, 94, 39, 39, 39,
78, 78, 95, 95, 91, 91, 96, 96, 96, 96,
96, 79, 79, 79, 83, 83, 83, 87, 87, 101,
101, 101, 101, 101, 101, 101, 101, 101, 101, 101,
101, 101, 101, 13, 13, 13, 13, 13, 13, 80,
80, 80, 80, 102, 102, 103, 103, 105, 105, 104,
104, 106, 106, 33, 33, 33, 33, 108, 108, 107,
107, 107, 107, 107, 109, 109, 93, 93, 97, 97,
92, 92, 110, 110, 110, 110, 98, 98, 98, 98,
86, 86, 99, 99, 99, 55, 111, 111, 112, 112,
112, 85, 85, 113, 113, 114, 114, 114, 114, 100,
100, 100, 100, 115, 115, 115, 115, 115, 115, 115,
116, 116, 116
);
protected static $yylen = array(
1, 1, 2, 0, 1, 3, 1, 1, 1, 1,
1, 3, 5, 4, 3, 3, 3, 1, 1, 3,
2, 4, 3, 1, 3, 2, 0, 1, 1, 1,
1, 3, 5, 8, 3, 5, 9, 3, 2, 3,
2, 3, 2, 3, 2, 3, 3, 3, 1, 2,
5, 7, 9, 5, 1, 6, 3, 3, 2, 0,
2, 8, 0, 4, 1, 3, 0, 1, 0, 1,
9, 7, 6, 5, 1, 2, 2, 0, 2, 0,
2, 0, 2, 1, 3, 1, 4, 1, 4, 1,
4, 1, 3, 3, 3, 4, 4, 5, 0, 2,
4, 3, 1, 1, 1, 4, 0, 2, 3, 0,
2, 4, 0, 2, 0, 3, 1, 2, 1, 1,
0, 1, 3, 4, 6, 0, 1, 1, 1, 2,
3, 3, 1, 3, 1, 2, 2, 3, 1, 1,
2, 4, 3, 1, 1, 3, 2, 0, 3, 3,
8, 3, 1, 3, 0, 2, 4, 5, 4, 4,
3, 1, 1, 1, 3, 1, 1, 0, 1, 1,
2, 1, 1, 1, 1, 1, 1, 1, 3, 1,
3, 3, 1, 0, 1, 1, 3, 3, 4, 4,
1, 2, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 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 = false;
}
protected function yyn69($attributes) {
$this->yyval = true;
}
protected function yyn70($attributes) {
$this->yyval = new Node\Stmt\Function_($this->yyastk[$this->stackPos-(9-3)], array('byRef' => $this->yyastk[$this->stackPos-(9-2)], 'params' => $this->yyastk[$this->stackPos-(9-5)], 'stmts' => $this->yyastk[$this->stackPos-(9-8)]), $attributes);
}
protected function yyn71($attributes) {
$this->yyval = new Node\Stmt\Class_($this->yyastk[$this->stackPos-(7-2)], array('type' => $this->yyastk[$this->stackPos-(7-1)], 'extends' => $this->yyastk[$this->stackPos-(7-3)], 'implements' => $this->yyastk[$this->stackPos-(7-4)], 'stmts' => $this->yyastk[$this->stackPos-(7-6)]), $attributes);
}
protected function yyn72($attributes) {
$this->yyval = new Node\Stmt\Interface_($this->yyastk[$this->stackPos-(6-2)], array('extends' => $this->yyastk[$this->stackPos-(6-3)], 'stmts' => $this->yyastk[$this->stackPos-(6-5)]), $attributes);
}
protected function yyn73($attributes) {
$this->yyval = new Node\Stmt\Trait_($this->yyastk[$this->stackPos-(5-2)], $this->yyastk[$this->stackPos-(5-4)], $attributes);
}
protected function yyn74($attributes) {
$this->yyval = 0;
}
protected function yyn75($attributes) {
$this->yyval = Node\Stmt\Class_::MODIFIER_ABSTRACT;
}
protected function yyn76($attributes) {
$this->yyval = Node\Stmt\Class_::MODIFIER_FINAL;
}
protected function yyn77($attributes) {
$this->yyval = null;
}
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();
}
protected function yyn82($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(2-2)];
}
protected function yyn83($attributes) {
$this->yyval = array($this->yyastk[$this->stackPos-(1-1)]);
}
protected function yyn84($attributes) {
$this->yyastk[$this->stackPos-(3-1)][] = $this->yyastk[$this->stackPos-(3-3)]; $this->yyval = $this->yyastk[$this->stackPos-(3-1)];
}
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 = is_array($this->yyastk[$this->stackPos-(1-1)]) ? $this->yyastk[$this->stackPos-(1-1)] : array($this->yyastk[$this->stackPos-(1-1)]);
}
protected function yyn90($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(4-2)];
}
protected function yyn91($attributes) {
$this->yyval = array($this->yyastk[$this->stackPos-(1-1)]);
}
protected function yyn92($attributes) {
$this->yyastk[$this->stackPos-(3-1)][] = $this->yyastk[$this->stackPos-(3-3)]; $this->yyval = $this->yyastk[$this->stackPos-(3-1)];
}
protected function yyn93($attributes) {
$this->yyval = new Node\Stmt\DeclareDeclare($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes);
}
protected function yyn94($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(3-2)];
}
protected function yyn95($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(4-3)];
}
protected function yyn96($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(4-2)];
}
protected function yyn97($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(5-3)];
}
protected function yyn98($attributes) {
$this->yyval = array();
}
protected function yyn99($attributes) {
$this->yyastk[$this->stackPos-(2-1)][] = $this->yyastk[$this->stackPos-(2-2)]; $this->yyval = $this->yyastk[$this->stackPos-(2-1)];
}
protected function yyn100($attributes) {
$this->yyval = new Node\Stmt\Case_($this->yyastk[$this->stackPos-(4-2)], $this->yyastk[$this->stackPos-(4-4)], $attributes);
}
protected function yyn101($attributes) {
$this->yyval = new Node\Stmt\Case_(null, $this->yyastk[$this->stackPos-(3-3)], $attributes);
}
protected function yyn102() {
$this->yyval = $this->yyastk[$this->stackPos];
}
protected function yyn103() {
$this->yyval = $this->yyastk[$this->stackPos];
}
protected function yyn104($attributes) {
$this->yyval = is_array($this->yyastk[$this->stackPos-(1-1)]) ? $this->yyastk[$this->stackPos-(1-1)] : array($this->yyastk[$this->stackPos-(1-1)]);
}
protected function yyn105($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(4-2)];
}
protected function yyn106($attributes) {
$this->yyval = array();
}
protected function yyn107($attributes) {
$this->yyastk[$this->stackPos-(2-1)][] = $this->yyastk[$this->stackPos-(2-2)]; $this->yyval = $this->yyastk[$this->stackPos-(2-1)];
}
protected function yyn108($attributes) {
$this->yyval = new Node\Stmt\ElseIf_($this->yyastk[$this->stackPos-(3-2)], is_array($this->yyastk[$this->stackPos-(3-3)]) ? $this->yyastk[$this->stackPos-(3-3)] : array($this->yyastk[$this->stackPos-(3-3)]), $attributes);
}
protected function yyn109($attributes) {
$this->yyval = array();
}
protected function yyn110($attributes) {
$this->yyastk[$this->stackPos-(2-1)][] = $this->yyastk[$this->stackPos-(2-2)]; $this->yyval = $this->yyastk[$this->stackPos-(2-1)];
}
protected function yyn111($attributes) {
$this->yyval = new Node\Stmt\ElseIf_($this->yyastk[$this->stackPos-(4-2)], $this->yyastk[$this->stackPos-(4-4)], $attributes);
}
protected function yyn112($attributes) {
$this->yyval = null;
}
protected function yyn113($attributes) {
$this->yyval = new Node\Stmt\Else_(is_array($this->yyastk[$this->stackPos-(2-2)]) ? $this->yyastk[$this->stackPos-(2-2)] : array($this->yyastk[$this->stackPos-(2-2)]), $attributes);
}
protected function yyn114($attributes) {
$this->yyval = null;
}
protected function yyn115($attributes) {
$this->yyval = new Node\Stmt\Else_($this->yyastk[$this->stackPos-(3-3)], $attributes);
}
protected function yyn116($attributes) {
$this->yyval = array($this->yyastk[$this->stackPos-(1-1)], false);
}
protected function yyn117($attributes) {
$this->yyval = array($this->yyastk[$this->stackPos-(2-2)], true);
}
protected function yyn118($attributes) {
$this->yyval = array($this->yyastk[$this->stackPos-(1-1)], false);
}
protected function yyn119($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(1-1)];
}
protected function yyn120($attributes) {
$this->yyval = array();
}
protected function yyn121($attributes) {
$this->yyval = array($this->yyastk[$this->stackPos-(1-1)]);
}
protected function yyn122($attributes) {
$this->yyastk[$this->stackPos-(3-1)][] = $this->yyastk[$this->stackPos-(3-3)]; $this->yyval = $this->yyastk[$this->stackPos-(3-1)];
}
protected function yyn123($attributes) {
$this->yyval = new Node\Param(substr($this->yyastk[$this->stackPos-(4-4)], 1), null, $this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-2)], $this->yyastk[$this->stackPos-(4-3)], $attributes);
}
protected function yyn124($attributes) {
$this->yyval = new Node\Param(substr($this->yyastk[$this->stackPos-(6-4)], 1), $this->yyastk[$this->stackPos-(6-6)], $this->yyastk[$this->stackPos-(6-1)], $this->yyastk[$this->stackPos-(6-2)], $this->yyastk[$this->stackPos-(6-3)], $attributes);
}
protected function yyn125($attributes) {
$this->yyval = null;
}
protected function yyn126($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(1-1)];
}
protected function yyn127($attributes) {
$this->yyval = 'array';
}
protected function yyn128($attributes) {
$this->yyval = 'callable';
}
protected function yyn129($attributes) {
$this->yyval = array();
}
protected function yyn130($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(3-2)];
}
protected function yyn131($attributes) {
$this->yyval = array(new Node\Arg($this->yyastk[$this->stackPos-(3-2)], false, false, $attributes));
}
protected function yyn132($attributes) {
$this->yyval = array($this->yyastk[$this->stackPos-(1-1)]);
}
protected function yyn133($attributes) {
$this->yyastk[$this->stackPos-(3-1)][] = $this->yyastk[$this->stackPos-(3-3)]; $this->yyval = $this->yyastk[$this->stackPos-(3-1)];
}
protected function yyn134($attributes) {
$this->yyval = new Node\Arg($this->yyastk[$this->stackPos-(1-1)], false, false, $attributes);
}
protected function yyn135($attributes) {
$this->yyval = new Node\Arg($this->yyastk[$this->stackPos-(2-2)], true, false, $attributes);
}
protected function yyn136($attributes) {
$this->yyval = new Node\Arg($this->yyastk[$this->stackPos-(2-2)], false, true, $attributes);
}
protected function yyn137($attributes) {
$this->yyastk[$this->stackPos-(3-1)][] = $this->yyastk[$this->stackPos-(3-3)]; $this->yyval = $this->yyastk[$this->stackPos-(3-1)];
}
protected function yyn138($attributes) {
$this->yyval = array($this->yyastk[$this->stackPos-(1-1)]);
}
protected function yyn139($attributes) {
$this->yyval = new Node\Expr\Variable(substr($this->yyastk[$this->stackPos-(1-1)], 1), $attributes);
}
protected function yyn140($attributes) {
$this->yyval = new Node\Expr\Variable($this->yyastk[$this->stackPos-(2-2)], $attributes);
}
protected function yyn141($attributes) {
$this->yyval = new Node\Expr\Variable($this->yyastk[$this->stackPos-(4-3)], $attributes);
}
protected function yyn142($attributes) {
$this->yyastk[$this->stackPos-(3-1)][] = $this->yyastk[$this->stackPos-(3-3)]; $this->yyval = $this->yyastk[$this->stackPos-(3-1)];
}
protected function yyn143($attributes) {
$this->yyval = array($this->yyastk[$this->stackPos-(1-1)]);
}
protected function yyn144($attributes) {
$this->yyval = new Node\Stmt\StaticVar(substr($this->yyastk[$this->stackPos-(1-1)], 1), null, $attributes);
}
protected function yyn145($attributes) {
$this->yyval = new Node\Stmt\StaticVar(substr($this->yyastk[$this->stackPos-(3-1)], 1), $this->yyastk[$this->stackPos-(3-3)], $attributes);
}
protected function yyn146($attributes) {
$this->yyastk[$this->stackPos-(2-1)][] = $this->yyastk[$this->stackPos-(2-2)]; $this->yyval = $this->yyastk[$this->stackPos-(2-1)];
}
protected function yyn147($attributes) {
$this->yyval = array();
}
protected function yyn148($attributes) {
$this->yyval = new Node\Stmt\Property($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-2)], $attributes);
}
protected function yyn149($attributes) {
$this->yyval = new Node\Stmt\ClassConst($this->yyastk[$this->stackPos-(3-2)], $attributes);
}
protected function yyn150($attributes) {
$this->yyval = new Node\Stmt\ClassMethod($this->yyastk[$this->stackPos-(8-4)], array('type' => $this->yyastk[$this->stackPos-(8-1)], 'byRef' => $this->yyastk[$this->stackPos-(8-3)], 'params' => $this->yyastk[$this->stackPos-(8-6)], 'stmts' => $this->yyastk[$this->stackPos-(8-8)]), $attributes);
}
protected function yyn151($attributes) {
$this->yyval = new Node\Stmt\TraitUse($this->yyastk[$this->stackPos-(3-2)], $this->yyastk[$this->stackPos-(3-3)], $attributes);
}
protected function yyn152($attributes) {
$this->yyval = array();
}
protected function yyn153($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(3-2)];
}
protected function yyn154($attributes) {
$this->yyval = array();
}
protected function yyn155($attributes) {
$this->yyastk[$this->stackPos-(2-1)][] = $this->yyastk[$this->stackPos-(2-2)]; $this->yyval = $this->yyastk[$this->stackPos-(2-1)];
}
protected function yyn156($attributes) {
$this->yyval = new Node\Stmt\TraitUseAdaptation\Precedence($this->yyastk[$this->stackPos-(4-1)][0], $this->yyastk[$this->stackPos-(4-1)][1], $this->yyastk[$this->stackPos-(4-3)], $attributes);
}
protected function yyn157($attributes) {
$this->yyval = new Node\Stmt\TraitUseAdaptation\Alias($this->yyastk[$this->stackPos-(5-1)][0], $this->yyastk[$this->stackPos-(5-1)][1], $this->yyastk[$this->stackPos-(5-3)], $this->yyastk[$this->stackPos-(5-4)], $attributes);
}
protected function yyn158($attributes) {
$this->yyval = new Node\Stmt\TraitUseAdaptation\Alias($this->yyastk[$this->stackPos-(4-1)][0], $this->yyastk[$this->stackPos-(4-1)][1], $this->yyastk[$this->stackPos-(4-3)], null, $attributes);
}
protected function yyn159($attributes) {
$this->yyval = new Node\Stmt\TraitUseAdaptation\Alias($this->yyastk[$this->stackPos-(4-1)][0], $this->yyastk[$this->stackPos-(4-1)][1], null, $this->yyastk[$this->stackPos-(4-3)], $attributes);
}
protected function yyn160($attributes) {
$this->yyval = array($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)]);
}
protected function yyn161($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(1-1)];
}
protected function yyn162($attributes) {
$this->yyval = array(null, $this->yyastk[$this->stackPos-(1-1)]);
}
protected function yyn163($attributes) {
$this->yyval = null;
}
protected function yyn164($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(3-2)];
}
protected function yyn165($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(1-1)];
}
protected function yyn166($attributes) {
$this->yyval = Node\Stmt\Class_::MODIFIER_PUBLIC;
}
protected function yyn167($attributes) {
$this->yyval = Node\Stmt\Class_::MODIFIER_PUBLIC;
}
protected function yyn168($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(1-1)];
}
protected function yyn169($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(1-1)];
}
protected function yyn170($attributes) {
Node\Stmt\Class_::verifyModifier($this->yyastk[$this->stackPos-(2-1)], $this->yyastk[$this->stackPos-(2-2)]); $this->yyval = $this->yyastk[$this->stackPos-(2-1)] | $this->yyastk[$this->stackPos-(2-2)];
}
protected function yyn171($attributes) {
$this->yyval = Node\Stmt\Class_::MODIFIER_PUBLIC;
}
protected function yyn172($attributes) {
$this->yyval = Node\Stmt\Class_::MODIFIER_PROTECTED;
}
protected function yyn173($attributes) {
$this->yyval = Node\Stmt\Class_::MODIFIER_PRIVATE;
}
protected function yyn174($attributes) {
$this->yyval = Node\Stmt\Class_::MODIFIER_STATIC;
}
protected function yyn175($attributes) {
$this->yyval = Node\Stmt\Class_::MODIFIER_ABSTRACT;
}
protected function yyn176($attributes) {
$this->yyval = Node\Stmt\Class_::MODIFIER_FINAL;
}
protected function yyn177($attributes) {
$this->yyval = array($this->yyastk[$this->stackPos-(1-1)]);
}
protected function yyn178($attributes) {
$this->yyastk[$this->stackPos-(3-1)][] = $this->yyastk[$this->stackPos-(3-3)]; $this->yyval = $this->yyastk[$this->stackPos-(3-1)];
}
protected function yyn179($attributes) {
$this->yyval = new Node\Stmt\PropertyProperty(substr($this->yyastk[$this->stackPos-(1-1)], 1), null, $attributes);
}
protected function yyn180($attributes) {
$this->yyval = new Node\Stmt\PropertyProperty(substr($this->yyastk[$this->stackPos-(3-1)], 1), $this->yyastk[$this->stackPos-(3-3)], $attributes);
}
protected function yyn181($attributes) {
$this->yyastk[$this->stackPos-(3-1)][] = $this->yyastk[$this->stackPos-(3-3)]; $this->yyval = $this->yyastk[$this->stackPos-(3-1)];
}
protected function yyn182($attributes) {
$this->yyval = array($this->yyastk[$this->stackPos-(1-1)]);
}
protected function yyn183($attributes) {
$this->yyval = array();
}
protected function yyn184($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(1-1)];
}
protected function yyn185($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(1-1)];
}
protected function yyn186($attributes) {
$this->yyval = new Node\Expr\Assign($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes);
}
protected function yyn187($attributes) {
$this->yyval = new Node\Expr\Assign($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes);
}
protected function yyn188($attributes) {
$this->yyval = new Node\Expr\AssignRef($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-4)], $attributes);
}
protected function yyn189($attributes) {
$this->yyval = new Node\Expr\AssignRef($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-4)], $attributes);
}
protected function yyn190($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(1-1)];
}
protected function yyn191($attributes) {
$this->yyval = new Node\Expr\Clone_($this->yyastk[$this->stackPos-(2-2)], $attributes);
}
protected function yyn192($attributes) {
$this->yyval = new Node\Expr\AssignOp\Plus($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes);
}
protected function yyn193($attributes) {
$this->yyval = new Node\Expr\AssignOp\Minus($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes);
}
protected function yyn194($attributes) {
$this->yyval = new Node\Expr\AssignOp\Mul($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes);
}
protected function yyn195($attributes) {
$this->yyval = new Node\Expr\AssignOp\Div($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes);
}
protected function yyn196($attributes) {
$this->yyval = new Node\Expr\AssignOp\Concat($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes);
}
protected function yyn197($attributes) {
$this->yyval = new Node\Expr\AssignOp\Mod($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes);
}
protected function yyn198($attributes) {
$this->yyval = new Node\Expr\AssignOp\BitwiseAnd($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes);
}
protected function yyn199($attributes) {
$this->yyval = new Node\Expr\AssignOp\BitwiseOr($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes);
}
protected function yyn200($attributes) {
$this->yyval = new Node\Expr\AssignOp\BitwiseXor($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes);
}
protected function yyn201($attributes) {
$this->yyval = new Node\Expr\AssignOp\ShiftLeft($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes);
}
protected function yyn202($attributes) {
$this->yyval = new Node\Expr\AssignOp\ShiftRight($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes);
}
protected function yyn203($attributes) {
$this->yyval = new Node\Expr\PostInc($this->yyastk[$this->stackPos-(2-1)], $attributes);
}
protected function yyn204($attributes) {
$this->yyval = new Node\Expr\PreInc($this->yyastk[$this->stackPos-(2-2)], $attributes);
}
protected function yyn205($attributes) {
$this->yyval = new Node\Expr\PostDec($this->yyastk[$this->stackPos-(2-1)], $attributes);
}
protected function yyn206($attributes) {
$this->yyval = new Node\Expr\PreDec($this->yyastk[$this->stackPos-(2-2)], $attributes);
}
protected function yyn207($attributes) {
$this->yyval = new Node\Expr\BinaryOp\BooleanOr($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes);
}
protected function yyn208($attributes) {
$this->yyval = new Node\Expr\BinaryOp\BooleanAnd($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes);
}
protected function yyn209($attributes) {
$this->yyval = new Node\Expr\BinaryOp\LogicalOr($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes);
}
protected function yyn210($attributes) {
$this->yyval = new Node\Expr\BinaryOp\LogicalAnd($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes);
}
protected function yyn211($attributes) {
$this->yyval = new Node\Expr\BinaryOp\LogicalXor($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes);
}
protected function yyn212($attributes) {
$this->yyval = new Node\Expr\BinaryOp\BitwiseOr($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes);
}
protected function yyn213($attributes) {
$this->yyval = new Node\Expr\BinaryOp\BitwiseAnd($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes);
}
protected function yyn214($attributes) {
$this->yyval = new Node\Expr\BinaryOp\BitwiseXor($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes);
}
protected function yyn215($attributes) {
$this->yyval = new Node\Expr\BinaryOp\Concat($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes);
}
protected function yyn216($attributes) {
$this->yyval = new Node\Expr\BinaryOp\Plus($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes);
}
protected function yyn217($attributes) {
$this->yyval = new Node\Expr\BinaryOp\Minus($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes);
}
protected function yyn218($attributes) {
$this->yyval = new Node\Expr\BinaryOp\Mul($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes);
}
protected function yyn219($attributes) {
$this->yyval = new Node\Expr\BinaryOp\Div($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes);
}
protected function yyn220($attributes) {
$this->yyval = new Node\Expr\BinaryOp\Mod($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes);
}
protected function yyn221($attributes) {
$this->yyval = new Node\Expr\BinaryOp\ShiftLeft($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes);
}
protected function yyn222($attributes) {
$this->yyval = new Node\Expr\BinaryOp\ShiftRight($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes);
}
protected function yyn223($attributes) {
$this->yyval = new Node\Expr\UnaryPlus($this->yyastk[$this->stackPos-(2-2)], $attributes);
}
protected function yyn224($attributes) {
$this->yyval = new Node\Expr\UnaryMinus($this->yyastk[$this->stackPos-(2-2)], $attributes);
}
protected function yyn225($attributes) {
$this->yyval = new Node\Expr\BooleanNot($this->yyastk[$this->stackPos-(2-2)], $attributes);
}
protected function yyn226($attributes) {
$this->yyval = new Node\Expr\BitwiseNot($this->yyastk[$this->stackPos-(2-2)], $attributes);
}
protected function yyn227($attributes) {
$this->yyval = new Node\Expr\BinaryOp\Identical($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes);
}
protected function yyn228($attributes) {
$this->yyval = new Node\Expr\BinaryOp\NotIdentical($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes);
}
protected function yyn229($attributes) {
$this->yyval = new Node\Expr\BinaryOp\Equal($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes);
}
protected function yyn230($attributes) {
$this->yyval = new Node\Expr\BinaryOp\NotEqual($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes);
}
protected function yyn231($attributes) {
$this->yyval = new Node\Expr\BinaryOp\Smaller($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes);
}
protected function yyn232($attributes) {
$this->yyval = new Node\Expr\BinaryOp\SmallerOrEqual($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes);
}
protected function yyn233($attributes) {
$this->yyval = new Node\Expr\BinaryOp\Greater($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes);
}
protected function yyn234($attributes) {
$this->yyval = new Node\Expr\BinaryOp\GreaterOrEqual($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes);
}
protected function yyn235($attributes) {
$this->yyval = new Node\Expr\Instanceof_($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes);
}
protected function yyn236($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(1-1)];
}
protected function yyn237($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(3-2)];
}
protected function yyn238($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 yyn239($attributes) {
$this->yyval = new Node\Expr\Ternary($this->yyastk[$this->stackPos-(4-1)], null, $this->yyastk[$this->stackPos-(4-4)], $attributes);
}
protected function yyn240($attributes) {
$this->yyval = new Node\Expr\Isset_($this->yyastk[$this->stackPos-(4-3)], $attributes);
}
protected function yyn241($attributes) {
$this->yyval = new Node\Expr\Empty_($this->yyastk[$this->stackPos-(4-3)], $attributes);
}
protected function yyn242($attributes) {
$this->yyval = new Node\Expr\Include_($this->yyastk[$this->stackPos-(2-2)], Node\Expr\Include_::TYPE_INCLUDE, $attributes);
}
protected function yyn243($attributes) {
$this->yyval = new Node\Expr\Include_($this->yyastk[$this->stackPos-(2-2)], Node\Expr\Include_::TYPE_INCLUDE_ONCE, $attributes);
}
protected function yyn244($attributes) {
$this->yyval = new Node\Expr\Eval_($this->yyastk[$this->stackPos-(2-2)], $attributes);
}
protected function yyn245($attributes) {
$this->yyval = new Node\Expr\Include_($this->yyastk[$this->stackPos-(2-2)], Node\Expr\Include_::TYPE_REQUIRE, $attributes);
}
protected function yyn246($attributes) {
$this->yyval = new Node\Expr\Include_($this->yyastk[$this->stackPos-(2-2)], Node\Expr\Include_::TYPE_REQUIRE_ONCE, $attributes);
}
protected function yyn247($attributes) {
$this->yyval = new Node\Expr\Cast\Int($this->yyastk[$this->stackPos-(2-2)], $attributes);
}
protected function yyn248($attributes) {
$this->yyval = new Node\Expr\Cast\Double($this->yyastk[$this->stackPos-(2-2)], $attributes);
}
protected function yyn249($attributes) {
$this->yyval = new Node\Expr\Cast\String($this->yyastk[$this->stackPos-(2-2)], $attributes);
}
protected function yyn250($attributes) {
$this->yyval = new Node\Expr\Cast\Array_($this->yyastk[$this->stackPos-(2-2)], $attributes);
}
protected function yyn251($attributes) {
$this->yyval = new Node\Expr\Cast\Object($this->yyastk[$this->stackPos-(2-2)], $attributes);
}
protected function yyn252($attributes) {
$this->yyval = new Node\Expr\Cast\Bool($this->yyastk[$this->stackPos-(2-2)], $attributes);
}
protected function yyn253($attributes) {
$this->yyval = new Node\Expr\Cast\Unset_($this->yyastk[$this->stackPos-(2-2)], $attributes);
}
protected function yyn254($attributes) {
$this->yyval = new Node\Expr\Exit_($this->yyastk[$this->stackPos-(2-2)], $attributes);
}
protected function yyn255($attributes) {
$this->yyval = new Node\Expr\ErrorSuppress($this->yyastk[$this->stackPos-(2-2)], $attributes);
}
protected function yyn256($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(1-1)];
}
protected function yyn257($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(1-1)];
}
protected function yyn258($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(1-1)];
}
protected function yyn259($attributes) {
$this->yyval = new Node\Expr\ShellExec($this->yyastk[$this->stackPos-(3-2)], $attributes);
}
protected function yyn260($attributes) {
$this->yyval = new Node\Expr\Print_($this->yyastk[$this->stackPos-(2-2)], $attributes);
}
protected function yyn261($attributes) {
$this->yyval = new Node\Expr\Yield_(null, null, $attributes);
}
protected function yyn262($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 yyn263($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 yyn264($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(3-2)];
}
protected function yyn265($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(3-2)];
}
protected function yyn266($attributes) {
$this->yyval = new Node\Expr\Yield_($this->yyastk[$this->stackPos-(2-2)], null, $attributes);
}
protected function yyn267($attributes) {
$this->yyval = new Node\Expr\Yield_($this->yyastk[$this->stackPos-(4-4)], $this->yyastk[$this->stackPos-(4-2)], $attributes);
}
protected function yyn268($attributes) {
$this->yyval = new Node\Expr\Array_($this->yyastk[$this->stackPos-(4-3)], $attributes);
}
protected function yyn269($attributes) {
$this->yyval = new Node\Expr\Array_($this->yyastk[$this->stackPos-(3-2)], $attributes);
}
protected function yyn270($attributes) {
$this->yyval = new Node\Expr\ArrayDimFetch($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-3)], $attributes);
}
protected function yyn271($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 yyn272($attributes) {
$this->yyval = new Node\Expr\ArrayDimFetch($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-3)], $attributes);
}
protected function yyn273($attributes) {
$this->yyval = new Node\Expr\New_($this->yyastk[$this->stackPos-(3-2)], $this->yyastk[$this->stackPos-(3-3)], $attributes);
}
protected function yyn274($attributes) {
$this->yyval = array();
}
protected function yyn275($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(4-3)];
}
protected function yyn276($attributes) {
$this->yyval = array($this->yyastk[$this->stackPos-(1-1)]);
}
protected function yyn277($attributes) {
$this->yyastk[$this->stackPos-(3-1)][] = $this->yyastk[$this->stackPos-(3-3)]; $this->yyval = $this->yyastk[$this->stackPos-(3-1)];
}
protected function yyn278($attributes) {
$this->yyval = new Node\Expr\ClosureUse(substr($this->yyastk[$this->stackPos-(2-2)], 1), $this->yyastk[$this->stackPos-(2-1)], $attributes);
}
protected function yyn279($attributes) {
$this->yyval = new Node\Expr\FuncCall($this->yyastk[$this->stackPos-(2-1)], $this->yyastk[$this->stackPos-(2-2)], $attributes);
}
protected function yyn280($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 yyn281($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 yyn282($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 yyn283($attributes) {
$this->yyval = new Node\Expr\FuncCall($this->yyastk[$this->stackPos-(2-1)], $this->yyastk[$this->stackPos-(2-2)], $attributes);
}
protected function yyn284($attributes) {
$this->yyval = new Node\Expr\ArrayDimFetch($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-3)], $attributes);
}
protected function yyn285($attributes) {
$this->yyval = new Node\Name('static', $attributes);
}
protected function yyn286($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(1-1)];
}
protected function yyn287($attributes) {
$this->yyval = new Node\Name($this->yyastk[$this->stackPos-(1-1)], $attributes);
}
protected function yyn288($attributes) {
$this->yyval = new Node\Name\FullyQualified($this->yyastk[$this->stackPos-(2-2)], $attributes);
}
protected function yyn289($attributes) {
$this->yyval = new Node\Name\Relative($this->yyastk[$this->stackPos-(3-3)], $attributes);
}
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($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(1-1)];
}
protected function yyn294($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(1-1)];
}
protected function yyn295($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(1-1)];
}
protected function yyn296() {
$this->yyval = $this->yyastk[$this->stackPos];
}
protected function yyn297($attributes) {
$this->yyval = new Node\Expr\PropertyFetch($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes);
}
protected function yyn298($attributes) {
$this->yyval = new Node\Expr\PropertyFetch($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes);
}
protected function yyn299($attributes) {
$this->yyval = new Node\Expr\ArrayDimFetch($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-3)], $attributes);
}
protected function yyn300($attributes) {
$this->yyval = new Node\Expr\ArrayDimFetch($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-3)], $attributes);
}
protected function yyn301($attributes) {
$this->yyval = null;
}
protected function yyn302($attributes) {
$this->yyval = null;
}
protected function yyn303($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(1-1)];
}
protected function yyn304($attributes) {
$this->yyval = array();
}
protected function yyn305($attributes) {
$this->yyval = array(Node\Scalar\String::parseEscapeSequences($this->yyastk[$this->stackPos-(1-1)], '`'));
}
protected function yyn306($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 yyn307($attributes) {
$this->yyval = array();
}
protected function yyn308($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(1-1)];
}
protected function yyn309($attributes) {
$this->yyval = new Node\Scalar\LNumber(Node\Scalar\LNumber::parse($this->yyastk[$this->stackPos-(1-1)]), $attributes);
}
protected function yyn310($attributes) {
$this->yyval = new Node\Scalar\DNumber(Node\Scalar\DNumber::parse($this->yyastk[$this->stackPos-(1-1)]), $attributes);
}
protected function yyn311($attributes) {
$this->yyval = new Node\Scalar\String(Node\Scalar\String::parse($this->yyastk[$this->stackPos-(1-1)]), $attributes);
}
protected function yyn312($attributes) {
$this->yyval = new Node\Scalar\MagicConst\Line($attributes);
}
protected function yyn313($attributes) {
$this->yyval = new Node\Scalar\MagicConst\File($attributes);
}
protected function yyn314($attributes) {
$this->yyval = new Node\Scalar\MagicConst\Dir($attributes);
}
protected function yyn315($attributes) {
$this->yyval = new Node\Scalar\MagicConst\Class_($attributes);
}
protected function yyn316($attributes) {
$this->yyval = new Node\Scalar\MagicConst\Trait_($attributes);
}
protected function yyn317($attributes) {
$this->yyval = new Node\Scalar\MagicConst\Method($attributes);
}
protected function yyn318($attributes) {
$this->yyval = new Node\Scalar\MagicConst\Function_($attributes);
}
protected function yyn319($attributes) {
$this->yyval = new Node\Scalar\MagicConst\Namespace_($attributes);
}
protected function yyn320($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 yyn321($attributes) {
$this->yyval = new Node\Scalar\String('', $attributes);
}
protected function yyn322($attributes) {
$this->yyval = new Node\Expr\ConstFetch($this->yyastk[$this->stackPos-(1-1)], $attributes);
}
protected function yyn323($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(1-1)];
}
protected function yyn324($attributes) {
$this->yyval = new Node\Expr\ClassConstFetch($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes);
}
protected function yyn325($attributes) {
$this->yyval = new Node\Expr\UnaryPlus($this->yyastk[$this->stackPos-(2-2)], $attributes);
}
protected function yyn326($attributes) {
$this->yyval = new Node\Expr\UnaryMinus($this->yyastk[$this->stackPos-(2-2)], $attributes);
}
protected function yyn327($attributes) {
$this->yyval = new Node\Expr\Array_($this->yyastk[$this->stackPos-(4-3)], $attributes);
}
protected function yyn328($attributes) {
$this->yyval = new Node\Expr\Array_($this->yyastk[$this->stackPos-(3-2)], $attributes);
}
protected function yyn329($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(1-1)];
}
protected function yyn330($attributes) {
$this->yyval = new Node\Expr\ClassConstFetch($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes);
}
protected function yyn331($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 yyn332($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 yyn333($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(1-1)];
}
protected function yyn334($attributes) {
$this->yyval = 'class';
}
protected function yyn335($attributes) {
$this->yyval = array();
}
protected function yyn336($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(2-1)];
}
protected function yyn337() {
$this->yyval = $this->yyastk[$this->stackPos];
}
protected function yyn338() {
$this->yyval = $this->yyastk[$this->stackPos];
}
protected function yyn339($attributes) {
$this->yyastk[$this->stackPos-(3-1)][] = $this->yyastk[$this->stackPos-(3-3)]; $this->yyval = $this->yyastk[$this->stackPos-(3-1)];
}
protected function yyn340($attributes) {
$this->yyval = array($this->yyastk[$this->stackPos-(1-1)]);
}
protected function yyn341($attributes) {
$this->yyval = new Node\Expr\ArrayItem($this->yyastk[$this->stackPos-(3-3)], $this->yyastk[$this->stackPos-(3-1)], false, $attributes);
}
protected function yyn342($attributes) {
$this->yyval = new Node\Expr\ArrayItem($this->yyastk[$this->stackPos-(1-1)], null, false, $attributes);
}
protected function yyn343($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(1-1)];
}
protected function yyn344($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(1-1)];
}
protected function yyn345($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(1-1)];
}
protected function yyn346($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(1-1)];
}
protected function yyn347($attributes) {
$this->yyval = new Node\Expr\ArrayDimFetch($this->yyastk[$this->stackPos-(6-2)], $this->yyastk[$this->stackPos-(6-5)], $attributes);
}
protected function yyn348($attributes) {
$this->yyval = new Node\Expr\ArrayDimFetch($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-3)], $attributes);
}
protected function yyn349($attributes) {
$this->yyval = new Node\Expr\PropertyFetch($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes);
}
protected function yyn350($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 yyn351($attributes) {
$this->yyval = new Node\Expr\FuncCall($this->yyastk[$this->stackPos-(2-1)], $this->yyastk[$this->stackPos-(2-2)], $attributes);
}
protected function yyn352($attributes) {
$this->yyval = new Node\Expr\ArrayDimFetch($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-3)], $attributes);
}
protected function yyn353($attributes) {
$this->yyval = new Node\Expr\ArrayDimFetch($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-3)], $attributes);
}
protected function yyn354($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(1-1)];
}
protected function yyn355($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(3-2)];
}
protected function yyn356($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(1-1)];
}
protected function yyn357($attributes) {
$this->yyval = new Node\Expr\Variable($this->yyastk[$this->stackPos-(2-2)], $attributes);
}
protected function yyn358($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(1-1)];
}
protected function yyn359($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(1-1)];
}
protected function yyn360($attributes) {
$this->yyval = new Node\Expr\StaticPropertyFetch($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-4)], $attributes);
}
protected function yyn361($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(1-1)];
}
protected function yyn362($attributes) {
$this->yyval = new Node\Expr\StaticPropertyFetch($this->yyastk[$this->stackPos-(3-1)], substr($this->yyastk[$this->stackPos-(3-3)], 1), $attributes);
}
protected function yyn363($attributes) {
$this->yyval = new Node\Expr\StaticPropertyFetch($this->yyastk[$this->stackPos-(6-1)], $this->yyastk[$this->stackPos-(6-5)], $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\ArrayDimFetch($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-3)], $attributes);
}
protected function yyn366($attributes) {
$this->yyval = new Node\Expr\ArrayDimFetch($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-3)], $attributes);
}
protected function yyn367($attributes) {
$this->yyval = new Node\Expr\ArrayDimFetch($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-3)], $attributes);
}
protected function yyn368($attributes) {
$this->yyval = new Node\Expr\Variable(substr($this->yyastk[$this->stackPos-(1-1)], 1), $attributes);
}
protected function yyn369($attributes) {
$this->yyval = new Node\Expr\Variable($this->yyastk[$this->stackPos-(4-3)], $attributes);
}
protected function yyn370($attributes) {
$this->yyval = null;
}
protected function yyn371($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(1-1)];
}
protected function yyn372($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(1-1)];
}
protected function yyn373($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(3-2)];
}
protected function yyn374($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(1-1)];
}
protected function yyn375($attributes) {
$this->yyval = new Node\Expr\List_($this->yyastk[$this->stackPos-(4-3)], $attributes);
}
protected function yyn376($attributes) {
$this->yyastk[$this->stackPos-(3-1)][] = $this->yyastk[$this->stackPos-(3-3)]; $this->yyval = $this->yyastk[$this->stackPos-(3-1)];
}
protected function yyn377($attributes) {
$this->yyval = array($this->yyastk[$this->stackPos-(1-1)]);
}
protected function yyn378($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(1-1)];
}
protected function yyn379($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(1-1)];
}
protected function yyn380($attributes) {
$this->yyval = null;
}
protected function yyn381($attributes) {
$this->yyval = array();
}
protected function yyn382($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(2-1)];
}
protected function yyn383($attributes) {
$this->yyastk[$this->stackPos-(3-1)][] = $this->yyastk[$this->stackPos-(3-3)]; $this->yyval = $this->yyastk[$this->stackPos-(3-1)];
}
protected function yyn384($attributes) {
$this->yyval = array($this->yyastk[$this->stackPos-(1-1)]);
}
protected function yyn385($attributes) {
$this->yyval = new Node\Expr\ArrayItem($this->yyastk[$this->stackPos-(3-3)], $this->yyastk[$this->stackPos-(3-1)], false, $attributes);
}
protected function yyn386($attributes) {
$this->yyval = new Node\Expr\ArrayItem($this->yyastk[$this->stackPos-(1-1)], null, false, $attributes);
}
protected function yyn387($attributes) {
$this->yyval = new Node\Expr\ArrayItem($this->yyastk[$this->stackPos-(4-4)], $this->yyastk[$this->stackPos-(4-1)], true, $attributes);
}
protected function yyn388($attributes) {
$this->yyval = new Node\Expr\ArrayItem($this->yyastk[$this->stackPos-(2-2)], null, true, $attributes);
}
protected function yyn389($attributes) {
$this->yyastk[$this->stackPos-(2-1)][] = $this->yyastk[$this->stackPos-(2-2)]; $this->yyval = $this->yyastk[$this->stackPos-(2-1)];
}
protected function yyn390($attributes) {
$this->yyastk[$this->stackPos-(2-1)][] = $this->yyastk[$this->stackPos-(2-2)]; $this->yyval = $this->yyastk[$this->stackPos-(2-1)];
}
protected function yyn391($attributes) {
$this->yyval = array($this->yyastk[$this->stackPos-(1-1)]);
}
protected function yyn392($attributes) {
$this->yyval = array($this->yyastk[$this->stackPos-(2-1)], $this->yyastk[$this->stackPos-(2-2)]);
}
protected function yyn393($attributes) {
$this->yyval = new Node\Expr\Variable(substr($this->yyastk[$this->stackPos-(1-1)], 1), $attributes);
}
protected function yyn394($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 yyn395($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 yyn396($attributes) {
$this->yyval = new Node\Expr\Variable($this->yyastk[$this->stackPos-(3-2)], $attributes);
}
protected function yyn397($attributes) {
$this->yyval = new Node\Expr\Variable($this->yyastk[$this->stackPos-(3-2)], $attributes);
}
protected function yyn398($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 yyn399($attributes) {
$this->yyval = $this->yyastk[$this->stackPos-(3-2)];
}
protected function yyn400($attributes) {
$this->yyval = new Node\Scalar\String($this->yyastk[$this->stackPos-(1-1)], $attributes);
}
protected function yyn401($attributes) {
$this->yyval = new Node\Scalar\String($this->yyastk[$this->stackPos-(1-1)], $attributes);
}
protected function yyn402($attributes) {
$this->yyval = new Node\Expr\Variable(substr($this->yyastk[$this->stackPos-(1-1)], 1), $attributes);
}
}