1
0
mirror of https://github.com/danog/PHP-Parser.git synced 2024-11-27 04:14:44 +01:00
PHP-Parser/lib/ParserDebug.php

2909 lines
129 KiB
PHP

<?php
/* Prototype file of classed PHP parser.
* Written by Moriyoshi Koizumi, based on the work by Masato Bito.
* This file is PUBLIC DOMAIN.
*/
class ParserDebug
{
const YYBADCH = 145;
const YYMAXLEX = 380;
const YYTERMS = 145;
const YYNONTERMS = 90;
const YYLAST = 973;
const YY2TBLSTATE = 348;
const YYGLAST = 520;
const YYSTATES = 783;
const YYNLSTATES = 561;
const YYINTERRTOK = 1;
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_PLUS_EQUAL = 266;
const T_MINUS_EQUAL = 267;
const T_MUL_EQUAL = 268;
const T_DIV_EQUAL = 269;
const T_CONCAT_EQUAL = 270;
const T_MOD_EQUAL = 271;
const T_AND_EQUAL = 272;
const T_OR_EQUAL = 273;
const T_XOR_EQUAL = 274;
const T_SL_EQUAL = 275;
const T_SR_EQUAL = 276;
const T_BOOLEAN_OR = 277;
const T_BOOLEAN_AND = 278;
const T_IS_EQUAL = 279;
const T_IS_NOT_EQUAL = 280;
const T_IS_IDENTICAL = 281;
const T_IS_NOT_IDENTICAL = 282;
const T_IS_SMALLER_OR_EQUAL = 283;
const T_IS_GREATER_OR_EQUAL = 284;
const T_SL = 285;
const T_SR = 286;
const T_INSTANCEOF = 287;
const T_INC = 288;
const T_DEC = 289;
const T_INT_CAST = 290;
const T_DOUBLE_CAST = 291;
const T_STRING_CAST = 292;
const T_ARRAY_CAST = 293;
const T_OBJECT_CAST = 294;
const T_BOOL_CAST = 295;
const T_UNSET_CAST = 296;
const T_NEW = 297;
const T_CLONE = 298;
const T_EXIT = 299;
const T_IF = 300;
const T_ELSEIF = 301;
const T_ELSE = 302;
const T_ENDIF = 303;
const T_LNUMBER = 304;
const T_DNUMBER = 305;
const T_STRING = 306;
const T_STRING_VARNAME = 307;
const T_VARIABLE = 308;
const T_NUM_STRING = 309;
const T_INLINE_HTML = 310;
const T_CHARACTER = 311;
const T_BAD_CHARACTER = 312;
const T_ENCAPSED_AND_WHITESPACE = 313;
const T_CONSTANT_ENCAPSED_STRING = 314;
const T_ECHO = 315;
const T_DO = 316;
const T_WHILE = 317;
const T_ENDWHILE = 318;
const T_FOR = 319;
const T_ENDFOR = 320;
const T_FOREACH = 321;
const T_ENDFOREACH = 322;
const T_DECLARE = 323;
const T_ENDDECLARE = 324;
const T_AS = 325;
const T_SWITCH = 326;
const T_ENDSWITCH = 327;
const T_CASE = 328;
const T_DEFAULT = 329;
const T_BREAK = 330;
const T_CONTINUE = 331;
const T_GOTO = 332;
const T_FUNCTION = 333;
const T_CONST = 334;
const T_RETURN = 335;
const T_TRY = 336;
const T_CATCH = 337;
const T_THROW = 338;
const T_USE = 339;
const T_GLOBAL = 340;
const T_STATIC = 341;
const T_ABSTRACT = 342;
const T_FINAL = 343;
const T_PRIVATE = 344;
const T_PROTECTED = 345;
const T_PUBLIC = 346;
const T_VAR = 347;
const T_UNSET = 348;
const T_ISSET = 349;
const T_EMPTY = 350;
const T_HALT_COMPILER = 351;
const T_CLASS = 352;
const T_INTERFACE = 353;
const T_EXTENDS = 354;
const T_IMPLEMENTS = 355;
const T_OBJECT_OPERATOR = 356;
const T_DOUBLE_ARROW = 357;
const T_LIST = 358;
const T_ARRAY = 359;
const T_CLASS_C = 360;
const T_METHOD_C = 361;
const T_FUNC_C = 362;
const T_LINE = 363;
const T_FILE = 364;
const T_COMMENT = 365;
const T_DOC_COMMENT = 366;
const T_OPEN_TAG = 367;
const T_OPEN_TAG_WITH_ECHO = 368;
const T_CLOSE_TAG = 369;
const T_WHITESPACE = 370;
const T_START_HEREDOC = 371;
const T_END_HEREDOC = 372;
const T_DOLLAR_OPEN_CURLY_BRACES = 373;
const T_CURLY_OPEN = 374;
const T_PAAMAYIM_NEKUDOTAYIM = 375;
const T_NAMESPACE = 376;
const T_NS_C = 377;
const T_DIR = 378;
const T_NS_SEPARATOR = 379;
// }}}
private static $yyterminals = 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_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_THROW",
"T_USE",
"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_INTERFACE",
"T_EXTENDS",
"T_IMPLEMENTS",
"T_OBJECT_OPERATOR",
"T_DOUBLE_ARROW",
"T_LIST",
"T_ARRAY",
"T_CLASS_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",
"'('",
"')'",
"';'",
"'{'",
"'}'",
"'$'",
"'`'",
"']'",
"'\"'"
, "???"
);
private static $yyproduction = array(
'$start : start',
"start : top_statement_list",
"top_statement_list : top_statement_list top_statement",
"top_statement_list : /* empty */",
"namespace_name : namespace_name_sub",
"namespace_name_sub : T_STRING",
"namespace_name_sub : namespace_name_sub T_NS_SEPARATOR T_STRING",
"top_statement : statement",
"top_statement : function_declaration_statement",
"top_statement : class_declaration_statement",
"top_statement : T_HALT_COMPILER '(' ')' ';'",
"top_statement : T_NAMESPACE namespace_name ';'",
"top_statement : T_NAMESPACE namespace_name '{' top_statement_list '}'",
"top_statement : T_NAMESPACE '{' top_statement_list '}'",
"top_statement : T_USE use_declarations ';'",
"top_statement : constant_declaration ';'",
"use_declarations : use_declarations ',' use_declaration",
"use_declarations : use_declaration",
"use_declaration : namespace_name",
"use_declaration : namespace_name T_AS T_STRING",
"use_declaration : T_NS_SEPARATOR namespace_name",
"use_declaration : T_NS_SEPARATOR namespace_name T_AS T_STRING",
"constant_declaration : constant_declaration ',' T_STRING '=' static_scalar",
"constant_declaration : T_CONST T_STRING '=' static_scalar",
"inner_statement_list : inner_statement_list inner_statement",
"inner_statement_list : /* empty */",
"inner_statement : statement",
"inner_statement : function_declaration_statement",
"inner_statement : class_declaration_statement",
"inner_statement : T_HALT_COMPILER '(' ')' ';'",
"statement : '{' inner_statement_list '}'",
"statement : T_IF '(' expr ')' statement elseif_list else_single",
"statement : T_IF '(' expr ')' ':' inner_statement_list new_elseif_list new_else_single T_ENDIF ';'",
"statement : T_WHILE '(' expr ')' while_statement",
"statement : T_DO statement T_WHILE '(' expr ')' ';'",
"statement : T_FOR '(' for_expr ';' for_expr ';' for_expr ')' for_statement",
"statement : T_SWITCH '(' expr ')' switch_case_list",
"statement : T_BREAK ';'",
"statement : T_BREAK expr ';'",
"statement : T_CONTINUE ';'",
"statement : T_CONTINUE expr ';'",
"statement : T_RETURN ';'",
"statement : T_RETURN expr_without_variable ';'",
"statement : T_RETURN variable ';'",
"statement : T_GLOBAL global_var_list ';'",
"statement : T_STATIC static_var_list ';'",
"statement : T_ECHO expr_list ';'",
"statement : T_INLINE_HTML",
"statement : expr ';'",
"statement : T_UNSET '(' variables_list ')' ';'",
"statement : T_FOREACH '(' expr T_AS variable ')' foreach_statement",
"statement : T_FOREACH '(' expr T_AS '&' variable ')' foreach_statement",
"statement : T_FOREACH '(' expr T_AS variable T_DOUBLE_ARROW optional_ref variable ')' foreach_statement",
"statement : T_DECLARE '(' declare_list ')' declare_statement",
"statement : ';'",
"statement : T_TRY '{' inner_statement_list '}' catches",
"statement : T_THROW expr ';'",
"statement : T_GOTO T_STRING ';'",
"statement : T_STRING ':'",
"catches : catch",
"catches : catches catch",
"catch : T_CATCH '(' name T_VARIABLE ')' '{' inner_statement_list '}'",
"variables_list : variable",
"variables_list : variables_list ',' variable",
"optional_ref : /* empty */",
"optional_ref : '&'",
"function_declaration_statement : T_FUNCTION optional_ref T_STRING '(' parameter_list ')' '{' inner_statement_list '}'",
"class_declaration_statement : class_entry_type T_STRING extends_from implements_list '{' class_statement_list '}'",
"class_declaration_statement : T_INTERFACE T_STRING interface_extends_list '{' class_statement_list '}'",
"class_entry_type : T_CLASS",
"class_entry_type : T_ABSTRACT T_CLASS",
"class_entry_type : T_FINAL T_CLASS",
"extends_from : /* empty */",
"extends_from : T_EXTENDS name",
"interface_extends_list : /* empty */",
"interface_extends_list : T_EXTENDS interface_list",
"implements_list : /* empty */",
"implements_list : T_IMPLEMENTS interface_list",
"interface_list : name",
"interface_list : interface_list ',' name",
"for_statement : statement",
"for_statement : ':' inner_statement_list T_ENDFOR ';'",
"foreach_statement : statement",
"foreach_statement : ':' inner_statement_list T_ENDFOREACH ';'",
"declare_statement : statement",
"declare_statement : ':' inner_statement_list T_ENDDECLARE ';'",
"declare_list : T_STRING '=' static_scalar",
"declare_list : declare_list ',' T_STRING '=' static_scalar",
"switch_case_list : '{' case_list '}'",
"switch_case_list : '{' ';' case_list '}'",
"switch_case_list : ':' case_list T_ENDSWITCH ';'",
"switch_case_list : ':' ';' case_list T_ENDSWITCH ';'",
"case_list : /* empty */",
"case_list : case_list T_CASE expr case_separator inner_statement_list",
"case_list : case_list T_DEFAULT case_separator inner_statement_list",
"case_separator : ':'",
"case_separator : ';'",
"while_statement : statement",
"while_statement : ':' inner_statement_list T_ENDWHILE ';'",
"elseif_list : /* empty */",
"elseif_list : elseif_list T_ELSEIF '(' expr ')' statement",
"new_elseif_list : /* empty */",
"new_elseif_list : new_elseif_list T_ELSEIF '(' expr ')' ':' inner_statement_list",
"else_single : /* empty */",
"else_single : T_ELSE statement",
"new_else_single : /* empty */",
"new_else_single : T_ELSE ':' inner_statement_list",
"parameter_list : non_empty_parameter_list",
"parameter_list : /* empty */",
"non_empty_parameter_list : optional_class_type optional_ref T_VARIABLE",
"non_empty_parameter_list : optional_class_type optional_ref T_VARIABLE '=' static_scalar",
"non_empty_parameter_list : non_empty_parameter_list ',' optional_class_type optional_ref T_VARIABLE",
"non_empty_parameter_list : non_empty_parameter_list ',' optional_class_type optional_ref T_VARIABLE '=' static_scalar",
"optional_class_type : /* empty */",
"optional_class_type : name",
"optional_class_type : T_ARRAY",
"function_call_argument_list : non_empty_function_call_argument_list",
"function_call_argument_list : /* empty */",
"non_empty_function_call_argument_list : expr_without_variable",
"non_empty_function_call_argument_list : variable",
"non_empty_function_call_argument_list : '&' variable",
"non_empty_function_call_argument_list : non_empty_function_call_argument_list ',' expr_without_variable",
"non_empty_function_call_argument_list : non_empty_function_call_argument_list ',' variable",
"non_empty_function_call_argument_list : non_empty_function_call_argument_list ',' '&' variable",
"global_var_list : global_var_list ',' global_var",
"global_var_list : global_var",
"global_var : T_VARIABLE",
"global_var : '$' variable",
"global_var : '$' '{' expr '}'",
"static_var_list : static_var_list ',' T_VARIABLE",
"static_var_list : static_var_list ',' T_VARIABLE '=' static_scalar",
"static_var_list : T_VARIABLE",
"static_var_list : T_VARIABLE '=' static_scalar",
"class_statement_list : class_statement_list class_statement",
"class_statement_list : /* empty */",
"class_statement : variable_modifiers class_variable_declaration ';'",
"class_statement : class_constant_declaration ';'",
"class_statement : method_modifiers T_FUNCTION optional_ref T_STRING '(' parameter_list ')' method_body",
"method_body : ';'",
"method_body : '{' inner_statement_list '}'",
"variable_modifiers : non_empty_member_modifiers",
"variable_modifiers : T_VAR",
"method_modifiers : /* empty */",
"method_modifiers : non_empty_member_modifiers",
"non_empty_member_modifiers : member_modifier",
"non_empty_member_modifiers : non_empty_member_modifiers member_modifier",
"member_modifier : T_PUBLIC",
"member_modifier : T_PROTECTED",
"member_modifier : T_PRIVATE",
"member_modifier : T_STATIC",
"member_modifier : T_ABSTRACT",
"member_modifier : T_FINAL",
"class_variable_declaration : class_variable_declaration ',' T_VARIABLE",
"class_variable_declaration : class_variable_declaration ',' T_VARIABLE '=' static_scalar",
"class_variable_declaration : T_VARIABLE",
"class_variable_declaration : T_VARIABLE '=' static_scalar",
"class_constant_declaration : class_constant_declaration ',' T_STRING '=' static_scalar",
"class_constant_declaration : T_CONST T_STRING '=' static_scalar",
"expr_list : expr_list ',' expr",
"expr_list : expr",
"for_expr : /* empty */",
"for_expr : expr_list",
"expr_without_variable : T_LIST '(' assignment_list ')' '=' expr",
"expr_without_variable : variable '=' expr",
"expr_without_variable : variable '=' '&' variable",
"expr_without_variable : variable '=' '&' T_NEW class_name_reference ctor_arguments",
"expr_without_variable : T_NEW class_name_reference ctor_arguments",
"expr_without_variable : T_CLONE expr",
"expr_without_variable : variable T_PLUS_EQUAL expr",
"expr_without_variable : variable T_MINUS_EQUAL expr",
"expr_without_variable : variable T_MUL_EQUAL expr",
"expr_without_variable : variable T_DIV_EQUAL expr",
"expr_without_variable : variable T_CONCAT_EQUAL expr",
"expr_without_variable : variable T_MOD_EQUAL expr",
"expr_without_variable : variable T_AND_EQUAL expr",
"expr_without_variable : variable T_OR_EQUAL expr",
"expr_without_variable : variable T_XOR_EQUAL expr",
"expr_without_variable : variable T_SL_EQUAL expr",
"expr_without_variable : variable T_SR_EQUAL expr",
"expr_without_variable : variable T_INC",
"expr_without_variable : T_INC variable",
"expr_without_variable : variable T_DEC",
"expr_without_variable : T_DEC variable",
"expr_without_variable : expr T_BOOLEAN_OR expr",
"expr_without_variable : expr T_BOOLEAN_AND expr",
"expr_without_variable : expr T_LOGICAL_OR expr",
"expr_without_variable : expr T_LOGICAL_AND expr",
"expr_without_variable : expr T_LOGICAL_XOR expr",
"expr_without_variable : expr '|' expr",
"expr_without_variable : expr '&' expr",
"expr_without_variable : expr '^' expr",
"expr_without_variable : expr '.' expr",
"expr_without_variable : expr '+' expr",
"expr_without_variable : expr '-' expr",
"expr_without_variable : expr '*' expr",
"expr_without_variable : expr '/' expr",
"expr_without_variable : expr '%' expr",
"expr_without_variable : expr T_SL expr",
"expr_without_variable : expr T_SR expr",
"expr_without_variable : '+' expr",
"expr_without_variable : '-' expr",
"expr_without_variable : '!' expr",
"expr_without_variable : '~' expr",
"expr_without_variable : expr T_IS_IDENTICAL expr",
"expr_without_variable : expr T_IS_NOT_IDENTICAL expr",
"expr_without_variable : expr T_IS_EQUAL expr",
"expr_without_variable : expr T_IS_NOT_EQUAL expr",
"expr_without_variable : expr '<' expr",
"expr_without_variable : expr T_IS_SMALLER_OR_EQUAL expr",
"expr_without_variable : expr '>' expr",
"expr_without_variable : expr T_IS_GREATER_OR_EQUAL expr",
"expr_without_variable : expr T_INSTANCEOF class_name_reference",
"expr_without_variable : '(' expr ')'",
"expr_without_variable : expr '?' expr ':' expr",
"expr_without_variable : expr '?' ':' expr",
"expr_without_variable : T_ISSET '(' variables_list ')'",
"expr_without_variable : T_EMPTY '(' variable ')'",
"expr_without_variable : T_INCLUDE expr",
"expr_without_variable : T_INCLUDE_ONCE expr",
"expr_without_variable : T_EVAL '(' expr ')'",
"expr_without_variable : T_REQUIRE expr",
"expr_without_variable : T_REQUIRE_ONCE expr",
"expr_without_variable : T_INT_CAST expr",
"expr_without_variable : T_DOUBLE_CAST expr",
"expr_without_variable : T_STRING_CAST expr",
"expr_without_variable : T_ARRAY_CAST expr",
"expr_without_variable : T_OBJECT_CAST expr",
"expr_without_variable : T_BOOL_CAST expr",
"expr_without_variable : T_UNSET_CAST expr",
"expr_without_variable : T_EXIT exit_expr",
"expr_without_variable : '@' expr",
"expr_without_variable : scalar",
"expr_without_variable : T_ARRAY '(' array_pair_list ')'",
"expr_without_variable : '`' backticks_expr '`'",
"expr_without_variable : T_PRINT expr",
"expr_without_variable : T_FUNCTION optional_ref '(' parameter_list ')' lexical_vars '{' inner_statement_list '}'",
"lexical_vars : /* empty */",
"lexical_vars : T_USE '(' lexical_var_list ')'",
"lexical_var_list : lexical_var_list ',' optional_ref T_VARIABLE",
"lexical_var_list : optional_ref T_VARIABLE",
"function_call : name '(' function_call_argument_list ')'",
"function_call : class_name T_PAAMAYIM_NEKUDOTAYIM T_STRING '(' function_call_argument_list ')'",
"function_call : class_name T_PAAMAYIM_NEKUDOTAYIM variable_without_objects '(' function_call_argument_list ')'",
"function_call : reference_variable T_PAAMAYIM_NEKUDOTAYIM T_STRING '(' function_call_argument_list ')'",
"function_call : reference_variable T_PAAMAYIM_NEKUDOTAYIM variable_without_objects '(' function_call_argument_list ')'",
"function_call : variable_without_objects '(' function_call_argument_list ')'",
"class_name : T_STATIC",
"class_name : name",
"name : namespace_name",
"name : T_NAMESPACE T_NS_SEPARATOR namespace_name",
"name : T_NS_SEPARATOR namespace_name",
"class_name_reference : class_name",
"class_name_reference : dynamic_class_name_reference",
"dynamic_class_name_reference : object_access_for_dcnr",
"dynamic_class_name_reference : base_variable",
"object_access_for_dcnr : /* empty */",
"object_access_for_dcnr : base_variable T_OBJECT_OPERATOR object_property",
"object_access_for_dcnr : object_access_for_dcnr T_OBJECT_OPERATOR object_property",
"object_access_for_dcnr : object_access_for_dcnr '[' dim_offset ']'",
"object_access_for_dcnr : object_access_for_dcnr '{' expr '}'",
"exit_expr : /* empty */",
"exit_expr : '(' ')'",
"exit_expr : '(' expr ')'",
"backticks_expr : /* empty */",
"backticks_expr : T_ENCAPSED_AND_WHITESPACE",
"backticks_expr : encaps_list",
"ctor_arguments : /* empty */",
"ctor_arguments : '(' function_call_argument_list ')'",
"common_scalar : T_LNUMBER",
"common_scalar : T_DNUMBER",
"common_scalar : T_CONSTANT_ENCAPSED_STRING",
"common_scalar : T_LINE",
"common_scalar : T_FILE",
"common_scalar : T_DIR",
"common_scalar : T_CLASS_C",
"common_scalar : T_METHOD_C",
"common_scalar : T_FUNC_C",
"common_scalar : T_NS_C",
"common_scalar : T_START_HEREDOC T_ENCAPSED_AND_WHITESPACE T_END_HEREDOC",
"common_scalar : T_START_HEREDOC T_END_HEREDOC",
"static_scalar : common_scalar",
"static_scalar : name",
"static_scalar : '+' static_scalar",
"static_scalar : '-' static_scalar",
"static_scalar : T_ARRAY '(' static_array_pair_list ')'",
"static_scalar : class_name T_PAAMAYIM_NEKUDOTAYIM T_STRING",
"scalar : T_STRING_VARNAME",
"scalar : class_constant",
"scalar : name",
"scalar : common_scalar",
"scalar : '\"' encaps_list '\"'",
"scalar : T_START_HEREDOC encaps_list T_END_HEREDOC",
"static_array_pair_list : /* empty */",
"static_array_pair_list : non_empty_static_array_pair_list optional_comma",
"optional_comma : /* empty */",
"optional_comma : ','",
"non_empty_static_array_pair_list : non_empty_static_array_pair_list ',' static_scalar T_DOUBLE_ARROW static_scalar",
"non_empty_static_array_pair_list : non_empty_static_array_pair_list ',' static_scalar",
"non_empty_static_array_pair_list : static_scalar T_DOUBLE_ARROW static_scalar",
"non_empty_static_array_pair_list : static_scalar",
"expr : variable",
"expr : expr_without_variable",
"variable : object_access",
"variable : base_variable",
"variable : function_call",
"object_access : object_access_arrayable",
"object_access : object_access_arrayable '(' function_call_argument_list ')'",
"object_access : variable T_OBJECT_OPERATOR object_property '(' function_call_argument_list ')'",
"object_access_arrayable : variable T_OBJECT_OPERATOR object_property",
"object_access_arrayable : object_access_arrayable '[' dim_offset ']'",
"object_access_arrayable : object_access_arrayable '{' expr '}'",
"variable_without_objects : reference_variable",
"variable_without_objects : '$' reference_variable",
"base_variable : variable_without_objects",
"base_variable : class_name T_PAAMAYIM_NEKUDOTAYIM '$' reference_variable",
"base_variable : reference_variable T_PAAMAYIM_NEKUDOTAYIM '$' reference_variable",
"base_variable : static_property_with_arrays",
"static_property_with_arrays : class_name T_PAAMAYIM_NEKUDOTAYIM T_VARIABLE",
"static_property_with_arrays : reference_variable T_PAAMAYIM_NEKUDOTAYIM T_VARIABLE",
"static_property_with_arrays : class_name T_PAAMAYIM_NEKUDOTAYIM '$' '{' expr '}'",
"static_property_with_arrays : reference_variable T_PAAMAYIM_NEKUDOTAYIM '$' '{' expr '}'",
"static_property_with_arrays : static_property_with_arrays '[' dim_offset ']'",
"static_property_with_arrays : static_property_with_arrays '{' expr '}'",
"reference_variable : reference_variable '[' dim_offset ']'",
"reference_variable : reference_variable '{' expr '}'",
"reference_variable : T_VARIABLE",
"reference_variable : '$' '{' expr '}'",
"dim_offset : /* empty */",
"dim_offset : expr",
"object_property : T_STRING",
"object_property : '{' expr '}'",
"object_property : variable_without_objects",
"assignment_list : assignment_list ',' assignment_list_element",
"assignment_list : assignment_list_element",
"assignment_list_element : variable",
"assignment_list_element : T_LIST '(' assignment_list ')'",
"assignment_list_element : /* empty */",
"array_pair_list : /* empty */",
"array_pair_list : non_empty_array_pair_list optional_comma",
"non_empty_array_pair_list : non_empty_array_pair_list ',' expr T_DOUBLE_ARROW expr",
"non_empty_array_pair_list : non_empty_array_pair_list ',' expr",
"non_empty_array_pair_list : expr T_DOUBLE_ARROW expr",
"non_empty_array_pair_list : expr",
"non_empty_array_pair_list : non_empty_array_pair_list ',' expr T_DOUBLE_ARROW '&' variable",
"non_empty_array_pair_list : non_empty_array_pair_list ',' '&' variable",
"non_empty_array_pair_list : expr T_DOUBLE_ARROW '&' variable",
"non_empty_array_pair_list : '&' variable",
"encaps_list : encaps_list encaps_var",
"encaps_list : encaps_list T_ENCAPSED_AND_WHITESPACE",
"encaps_list : encaps_var",
"encaps_list : T_ENCAPSED_AND_WHITESPACE encaps_var",
"encaps_var : T_VARIABLE",
"encaps_var : T_VARIABLE '[' encaps_var_offset ']'",
"encaps_var : T_VARIABLE T_OBJECT_OPERATOR T_STRING",
"encaps_var : T_DOLLAR_OPEN_CURLY_BRACES expr '}'",
"encaps_var : T_DOLLAR_OPEN_CURLY_BRACES T_STRING_VARNAME '[' expr ']' '}'",
"encaps_var : T_CURLY_OPEN variable '}'",
"encaps_var_offset : T_STRING",
"encaps_var_offset : T_NUM_STRING",
"encaps_var_offset : T_VARIABLE",
"class_constant : class_name T_PAAMAYIM_NEKUDOTAYIM T_STRING",
"class_constant : reference_variable T_PAAMAYIM_NEKUDOTAYIM T_STRING"
);
private static $yytranslate = array(
0, 145, 145, 145, 145, 145, 145, 145, 145, 145,
145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
145, 145, 145, 47, 144, 145, 141, 46, 30, 145,
136, 137, 44, 41, 7, 42, 43, 45, 145, 145,
145, 145, 145, 145, 145, 145, 145, 145, 25, 138,
35, 12, 37, 24, 59, 145, 145, 145, 145, 145,
145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
145, 60, 145, 143, 29, 145, 142, 145, 145, 145,
145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
145, 145, 145, 139, 28, 140, 49, 145, 145, 145,
145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
145, 145, 145, 145, 145, 145, 1, 2, 3, 4,
5, 6, 8, 9, 10, 11, 13, 14, 15, 16,
17, 18, 19, 20, 21, 22, 23, 26, 27, 31,
32, 33, 34, 36, 38, 39, 40, 48, 50, 51,
52, 53, 54, 55, 56, 57, 58, 61, 62, 63,
64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
74, 145, 145, 75, 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, 145, 145, 145, 145, 145,
145, 127, 128, 129, 130, 131, 132, 133, 134, 135
);
private static $yyaction = array(
57, 58, 377, 59, 60,-32766,-32766,-32766, 261, 61,
710, 711, 712, 709, 708, 707,-32766,-32766,-32766, 886,
56,-32766, 0,-32766,-32766,-32766,-32766,-32766,-32767,-32767,
-32767,-32767,-32766, 47,-32766,-32766,-32766,-32766,-32766, 62,
63,-32766,-32766,-32766,-32766, 64,-32766, 65, 246, 247,
66, 67, 68, 69, 70, 71, 72, 73,-32766, 259,
74, 354, 378, 46, 676, 54, 829, 830, 379, 847,
886,-32766, 608, 123, 831, 52, 26, 380, 271, 381,
-108, 382, 509, 383, 282, 511, 384, 526, 289, 676,
39, 40, 385, 357, 355, 41, 387, 355, 75, 122,
311, 356, 890, 388, 389, 461, 388, 389, 390, 391,
392, 365, 438, 630, 394, 438, 630, 394, 395, 396,
835, 836, 837, 832, 833, 265, 215, 84, 85, 86,
401, 838, 834, 349, 76, 125, 615, 539, 212, 289,
269, 32, 273, 43, 120, 87, 88, 89, 90, 91,
92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
102, 103, 104, 105, 106, 107, 252, 260, 105, 106,
107, 126, 260, 289,-32766, 886,-32766,-32766,-32766, 918,
566, 920, 919, 258,-32766, 531, 253,-32766,-32766,-32766,
419,-32766,-32766,-32766,-32766,-32766, 355, 517,-32766, 429,
566, 326,-32766,-32766,-32766, 388, 389,-32766,-32766, 886,
-32766, 547,-32766, 807, 438, 630, 394,-32766, 696, 312,
-32766, 375, 310, 566, 500, 366, 255,-32766, 886, 55,
-32766,-32766,-32766, 807,-32766, 20,-32766, 702,-32766, 500,
53,-32766, 124, -121, 289,-32766,-32766,-32766,-32766,-32766,
-32766,-32766, 702,-32766, 886,-32766, 807, 433, 82, 249,
-32766, -119, 401,-32766, -118, 349, 566, -122, 628, 254,
-32766, 447, 482,-32766,-32766,-32766, 452,-32766, 289,-32766,
656,-32766, 237, 629,-32766,-32766,-32766,-32766,-32766,-32766,
-32766,-32766,-32766,-32766,-32766, 886,-32766, 289,-32766, 807,
102, 103, 104,-32766, 292, 274,-32766, 351, 121, 566,
268, 541, 251,-32766, 878, 909,-32766,-32766,-32766, 119,
-32766, 576,-32766, 289,-32766, 840, 370,-32766, 697, 218,
606,-32766,-32766,-32766,-32766,-32766,-32766,-32766, 687,-32766,
293,-32766, 807, 879, 21, 294,-32766, 909, 217,-32766,
605, 798, 566, 575, 210, 250,-32766, 214, 840,-32766,
-32766,-32766, 436,-32766, 416,-32766, 134,-32766, 852, 202,
-32766,-32766,-32766, -121,-32766,-32766,-32766,-32766,-32766,-32766,
-32766, 203,-32766, 295,-32766, 807, 508, 27, 204,-32766,
213, -119,-32766, 657, -118, 566, 209, -122, 256,-32766,
518, 519,-32766,-32766,-32766, 208,-32766, 238,-32766, 207,
-32766, 556, 296,-32766, 135, 316, 851,-32766,-32766,-32766,
-32766,-32766,-32766,-32766, 551,-32766, 555,-32766, 807, 699,
560, 546,-32766, 572, 542,-32766, 260, 544, 566, 619,
559, 239,-32766, 129, 530,-32766,-32766,-32766, 290,-32766,
626,-32766, 128,-32766, 799, 846,-32766, 567, 291, 566,
-32766,-32766,-32766,-32766,-32766,-32766,-32766, 800,-32766, 909,
-32766, 807, 534, 527, 515,-32766, 374, 479,-32766, 458,
457, 566,-32766,-32766,-32766,-32766, 451, 446,-32766,-32766,
-32766, 439,-32766, 425,-32766, 582,-32766, 580,-32766,-32766,
-32766,-32766,-32766,-32766,-32766,-32766,-32766,-32766,-32766,-32766,
914,-32766, 424,-32766, 807, 411, 360, 361,-32766, 410,
-140,-32766, 497, 516, 566, 437, 467, 523,-32766, 414,
533,-32766,-32766,-32766, 525,-32766, 468,-32766, 421,-32766,
240, 512,-32766, 427, 495, 631,-32766,-32766,-32766,-32766,
-32766,-32766,-32766, 281,-32766, 521,-32766, 807, 632, 484,
216,-32766, 839, 483,-32766, 418,-32766, 566,-32766,-32766,
-32766,-32766, 29, 351,-32766,-32766,-32766, 279,-32766, 0,
-32766, 0,-32766, 272,-32766,-32766,-32766,-32766, 280,-32766,
-32766,-32766,-32766,-32766,-32766,-32766, 270,-32766, 211,-32766,
807, 45, 48, -247, 330, 350, 288,-32766, 285,-32766,
794, 329, 287, 22, 0, 566, 286, 0, 537,-32766,
30, 0,-32766,-32766,-32766, 38,-32766, 37,-32766, 35,
-32766, 355, 33,-32766, 822,-32766,-32766,-32766,-32766,-32766,
388, 389,-32766,-32766, 34,-32766, -312,-32766, 807, 438,
630, 394,-32766, 31, 474,-32766, 415, 359, 566, 353,
283, 264,-32766, 42, 263,-32766,-32766,-32766, 262,-32766,
248,-32766, 494,-32766, 245, 244,-32766, 236, 235, 201,
-32766,-32766,-32766, 598,-32766,-32766,-32766, 137,-32766, 136,
-32766, 807, 127, 81, 80,-32766, 532, 79,-32766, 78,
77, 566, 49, -325, -326,-32766, 36, 595,-32766,-32766,
-32766, 793,-32766, 801,-32766, 806,-32766, 867, 828,-32766,
868, 802, 803,-32766,-32766,-32766,-32766,-32766,-32766,-32766,
804,-32766, 805,-32766, 807, 19, 25, 28,-32766, 313,
493,-32766, 536, 773, 566, 780, 823, 845,-32766, 431,
367,-32766,-32766,-32766, 317,-32766, 776,-32766, 469,-32766,
486, 24,-32766, 777, 896, 471,-32766,-32766,-32766, 600,
-32766,-32766,-32766, 23,-32766, 642,-32766, 807, 644, 205,
206, 593, 652, 604,-32766, 44, 108, 109, 110, 111,
112, 113, 114, 115, 116, 117, 118, 651, 646, 355,
386, 659, 50, 617, 601, 309, 829, 830, 388, 389,
599, 609, 602,-32766, 831, 590, 610, 393, 630, 394,
571, 355, 386, 740, 742, 603, 618, 309, 550, 549,
388, 389,-32766,-32766,-32766, 51, 284, 355, 386, 393,
630, 394, 133, 309, 574, 607, 388, 389,-32766, 132,
-32766,-32766,-32766,-32766, 131, 393, 630, 394, 284, 464,
835, 836, 837, 832, 833, 339, 573, 130, 83, 540,
543, 838, 834, 548, 284,-32767,-32767,-32767,-32767, 100,
101, 102, 103, 104, 355, 552, 553, 355, 558, 0,
355, 270, 881, 388, 389, 880, 388, 389, 891, 388,
389, 689, 438, 630, 394, 438, 630, 394, 438, 630,
394, 820, 883, 913, 871, 885, 915, 507, 355, 506,
916, 355, 917, 649, 355, 650, 887, 388, 389, 352,
388, 389, 622, 388, 389, 700, 438, 630, 394, 438,
630, 394, 438, 630, 394, 819, 882, 870, 884, 504,
0, 0, 355, 0, 0, 0, 0, 0, 0, 0,
0, 388, 389, 796, 0, 0, 627, 0, 0, 591,
438, 630, 394
);
private static $yycheck = array(
2, 3, 4, 5, 6, 8, 9, 10, 61, 11,
103, 104, 105, 106, 107, 108, 8, 9, 10, 72,
60, 24, 0, 26, 27, 28, 29, 30, 31, 32,
33, 34, 24, 7, 26, 27, 28, 29, 30, 41,
42, 8, 8, 9, 10, 47, 103, 49, 50, 51,
52, 53, 54, 55, 56, 57, 58, 59, 24, 61,
62, 63, 64, 7, 121, 60, 68, 69, 70, 71,
72, 103, 74, 7, 76, 77, 78, 79, 118, 81,
137, 83, 80, 85, 7, 86, 88, 7, 141, 121,
92, 93, 94, 95, 95, 97, 98, 95, 100, 139,
102, 103, 70, 104, 105, 7, 104, 105, 110, 111,
112, 25, 113, 114, 115, 113, 114, 115, 120, 121,
122, 123, 124, 125, 126, 127, 12, 8, 9, 10,
132, 133, 134, 135, 136, 25, 138, 139, 7, 141,
142, 136, 144, 24, 139, 26, 27, 28, 29, 30,
31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
41, 42, 43, 44, 45, 46, 7, 48, 44, 45,
46, 139, 48, 141, 64, 72, 8, 9, 10, 70,
70, 72, 73, 30, 74, 84, 30, 77, 78, 79,
7, 81, 24, 83, 26, 85, 95, 7, 88, 7,
70, 72, 92, 93, 94, 104, 105, 97, 98, 72,
100, 25, 102, 103, 113, 114, 115, 64, 138, 7,
110, 7, 7, 70, 96, 139, 30, 74, 72, 60,
77, 78, 79, 103, 81, 137, 83, 109, 85, 96,
60, 88, 139, 7, 141, 92, 93, 94, 138, 139,
97, 98, 109, 100, 72, 102, 103, 120, 129, 130,
64, 7, 132, 110, 7, 135, 70, 7, 140, 30,
74, 72, 75, 77, 78, 79, 72, 81, 141, 83,
25, 85, 7, 140, 88, 8, 9, 10, 92, 93,
94, 138, 139, 97, 98, 72, 100, 141, 102, 103,
41, 42, 43, 64, 60, 75, 110, 135, 139, 70,
7, 139, 30, 74, 72, 75, 77, 78, 79, 139,
81, 138, 83, 141, 85, 128, 119, 88, 138, 12,
138, 92, 93, 94, 138, 139, 97, 98, 72, 100,
141, 102, 103, 72, 137, 141, 64, 75, 12, 110,
138, 137, 70, 138, 12, 30, 74, 12, 128, 77,
78, 79, 118, 81, 141, 83, 12, 85, 128, 12,
88, 8, 9, 137, 92, 93, 94, 138, 139, 97,
98, 12, 100, 141, 102, 103, 65, 66, 12, 64,
12, 137, 110, 138, 137, 70, 12, 137, 30, 74,
65, 66, 77, 78, 79, 12, 81, 141, 83, 12,
85, 25, 141, 88, 90, 91, 144, 92, 93, 94,
138, 139, 97, 98, 25, 100, 25, 102, 103, 138,
139, 25, 64, 138, 139, 110, 48, 25, 70, 25,
25, 30, 74, 25, 67, 77, 78, 79, 75, 81,
30, 83, 60, 85, 72, 70, 88, 70, 75, 70,
92, 93, 94, 138, 139, 97, 98, 72, 100, 75,
102, 103, 70, 70, 70, 64, 95, 70, 110, 70,
70, 70, 8, 9, 10, 74, 70, 70, 77, 78,
79, 70, 81, 70, 83, 70, 85, 70, 24, 88,
26, 27, 28, 92, 93, 94, 138, 139, 97, 98,
70, 100, 70, 102, 103, 70, 70, 70, 64, 70,
72, 110, 72, 72, 70, 71, 87, 72, 74, 72,
72, 77, 78, 79, 72, 81, 72, 83, 79, 85,
87, 89, 88, 87, 101, 114, 92, 93, 94, 138,
139, 97, 98, 116, 100, 89, 102, 103, 114, 99,
119, 64, 128, 131, 110, 135, 103, 70, 8, 9,
10, 74, 136, 135, 77, 78, 79, 116, 81, -1,
83, -1, 85, 118, 24, 88, 26, 27, 117, 92,
93, 94, 138, 139, 97, 98, 118, 100, 119, 102,
103, 119, 119, 131, 131, 135, 131, 110, 131, 64,
142, 131, 131, 137, -1, 70, 131, -1, 82, 74,
136, -1, 77, 78, 79, 136, 81, 136, 83, 136,
85, 95, 136, 88, 137, 138, 139, 92, 93, 94,
104, 105, 97, 98, 136, 100, 136, 102, 103, 113,
114, 115, 64, 136, 136, 110, 136, 136, 70, 136,
136, 136, 74, 136, 136, 77, 78, 79, 136, 81,
136, 83, 137, 85, 136, 136, 88, 136, 136, 136,
92, 93, 94, 138, 139, 97, 98, 136, 100, 136,
102, 103, 136, 136, 136, 64, 137, 136, 110, 136,
136, 70, 136, 136, 136, 74, 136, 138, 77, 78,
79, 137, 81, 137, 83, 137, 85, 137, 137, 88,
137, 137, 137, 92, 93, 94, 138, 139, 97, 98,
137, 100, 137, 102, 103, 137, 137, 137, 64, 137,
137, 110, 137, 137, 70, 137, 137, 137, 74, 137,
137, 77, 78, 79, 137, 81, 137, 83, 137, 85,
137, 137, 88, 137, 137, 137, 92, 93, 94, 138,
139, 97, 98, 137, 100, 138, 102, 103, 138, 41,
42, 138, 138, 138, 110, 12, 13, 14, 15, 16,
17, 18, 19, 20, 21, 22, 23, 138, 138, 95,
96, 138, 138, 138, 138, 101, 68, 69, 104, 105,
138, 138, 138, 139, 76, 138, 138, 113, 114, 115,
138, 95, 96, 50, 51, 138, 138, 101, 138, 138,
104, 105, 8, 9, 10, 138, 132, 95, 96, 113,
114, 115, 139, 101, 140, 138, 104, 105, 24, 139,
26, 27, 28, 29, 139, 113, 114, 115, 132, 121,
122, 123, 124, 125, 126, 127, 140, 139, 139, 139,
139, 133, 134, 139, 132, 35, 36, 37, 38, 39,
40, 41, 42, 43, 95, 139, 139, 95, 139, -1,
95, 118, 140, 104, 105, 140, 104, 105, 140, 104,
105, 140, 113, 114, 115, 113, 114, 115, 113, 114,
115, 140, 140, 143, 140, 140, 140, 140, 95, 140,
140, 95, 140, 140, 95, 140, 140, 104, 105, 140,
104, 105, 140, 104, 105, 140, 113, 114, 115, 113,
114, 115, 113, 114, 115, 143, 143, 143, 143, 143,
-1, -1, 95, -1, -1, -1, -1, -1, -1, -1,
-1, 104, 105, 140, -1, -1, 140, -1, -1, 140,
113, 114, 115
);
private static $yybase = array(
0, 704, 726, 742, 829, 789, 2, -1, 101, 826,
823, 536, 792, 795, 857, 857, 857, 857, 857, 406,
186, 399, 399, 386, 399, 412, -2, -2, -2, 325,
282, 282, 282, 282, 282, 282, 282, 282, 282, 545,
631, 674, 497, 110, 411, 239, 196, 368, 153, 588,
588, 588, 588, 588, 588, 588, 588, 588, 588, 588,
588, 588, 588, 588, 588, 588, 588, 588, 588, 588,
588, 588, 588, 588, 588, 588, 588, 588, 588, 588,
588, 588, 454, 588, 588, 588, 588, 588, 588, 588,
588, 588, 588, 588, 588, 588, 588, 588, 588, 588,
588, 588, 588, 588, 588, 588, 588, 588, 588, 588,
588, 588, 588, 588, 588, 588, 588, 588, 588, 588,
588, 588, 588, 588, 588, 588, 588, 588, 588, 588,
588, 588, 588, 588, 588, 588, 588, 588, 255, 673,
672, 666, 665, 606, 608, 609, 599, 598, 453, 602,
482, 776, 786, 418, 775, 774, 772, 771, 761, 758,
603, 483, 806, 779, 777, 755, 752, 600, 605, 119,
119, 119, 119, 119, 119, 119, 119, 119, 119, 33,
363, 277, 277, 277, 277, 277, 277, 277, 277, 277,
277, 277, 277, 277, 277, 277, 34, 34, 168, 560,
474, 738, 738, 738, 738, 738, 738, 738, 738, 738,
738, 738, 738, 738, 738, 738, 738, 738, 738, 824,
8, -3, -3, -3, -3, 254, 260, 645, 773, 840,
840, 840, 840, 143, 128, 137, 137, 137, 103, -53,
156, 448, 259, 259, 182, 182, 182, 182, 182, 182,
182, 182, 182, 182, 182, 182, 182, 182, 182, 182,
182, 182, -57, -57, -57, 230, 240, 272, -32, 373,
32, 32, 32, 383, 434, 394, 124, 124, 124, 463,
463, 463, 463, 463, 172, 417, 416, 410, 409, 729,
129, 129, 109, 728, 715, 710, 703, 485, 5, 475,
473, -40, 510, 510, 207, 452, 783, 466, 785, 470,
470, 266, 266, 86, 321, 335, 255, 291, 183, 472,
169, 707, 423, 215, 212, 192, 244, 295, 180, 242,
271, 98, 621, 619, 626, 628, 782, 180, 257, 197,
180, 180, 627, 236, 476, 190, 80, 624, 214, 389,
389, 389, 460, 420, 527, 420, 457, 420, 496, 442,
461, 437, 56, 471, 420, 691, 690, 443, 460, 496,
420, 420, 131, 451, 420, 420, 22, 564, 563, 414,
561, 566, 558, 521, 557, 449, 445, 730, 431, 444,
539, 538, 534, 520, 446, 542, 436, 430, 447, 477,
517, 438, 388, 478, 484, 481, 478, 480, 465, 459,
688, 357, 687, 456, 369, 612, 729, 468, 387, 421,
532, 556, 664, 66, 376, 528, 439, 427, 478, 464,
478, 682, 731, 541, 478, 574, 440, 392, 518, 397,
388, 388, 388, 508, 576, 26, 493, 567, 570, 578,
805, 491, 567, 489, 804, 580, 803, 493, 491, 581,
802, 407, 613, 303, 543, 472, 432, 425, 393, 678,
77, 354, 478, 770, 623, 478, 478, 734, 697, 384,
535, 450, 434, 385, 524, 478, 677, 583, 77, 584,
585, 593, 595, 569, 746, 523, 747, 342, 479, 610,
404, 381, 478, 478, 780, 478, 568, 568, 553, 663,
636, 660, 659, 455, 462, 378, 345, 403, 551, 401,
377, 644, 395, 114, 441, 559, 458, 336, 402, 478,
643, 640, 749, 317, 525, 382, 415, 637, 617, 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, 0, 0, 0,
-2, -2, -2, -2, -2, -2, -2, -2, -2, -2,
-2, -2, -2, -2, -2, -2, -2, -2, -2, -2,
-2, -2, -2, -2, -2, -2, -2, -2, -2, -2,
-2, -2, -2, -2, -2, -2, -2, -2, -2, -2,
-2, -2, -2, -2, -2, -2, -2, -2, -2, -2,
-2, -2, -2, -2, -2, -2, -2, -2, -2, -2,
-2, -2, -2, -2, -2, -2, -2, -2, -2, -2,
-2, -2, -2, -2, -2, -2, -2, -2, -2, -2,
-2, -2, -2, -2, -2, -2, -2, -2, -2, -2,
-2, -2, -2, -2, -2, -2, -2, -2, -2, -2,
-2, -2, -2, -2, -2, -2, -2, -2, -2, 119,
119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
119, 119, 130, 130, 130, 130, 130, 130, 130, 130,
130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
119, 119, 119, 119, 119, 119, 773, 773, 773, 0,
124, 124, 124, 124, -93, -93, 130, 130, 130, 130,
130, 130, -93, 124, 124, 130, 130, 130, 130, 130,
130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
130, 130, 130, 130, 130, 130, 129, 129, 129, 130,
129, 223, 223, 223, 129, 129, 129, 0, 0, 0,
130, 130, 130, 130, 130, 389, 199, 204, 199, 204,
223, 0, 0, 0, 223, 223, 223, 223, 180, 0,
180, 180, 0, 180, 180, 478, 324, 324, 324, 324,
389, 389, 0, 0, 0, 0, 0, 0, 0, 0,
484, 0, 66, 532, 0, 0, 0, 0, 0, 0,
0, 0, 0, 159, 159, 478, 275, 478, 0, 0,
0, 0, 0, 275, 0, 478, 0, 0, 478
);
private static $yydefault = array(
3,32767,32767, 1,32767,32767,32767,32767,32767,32767,
32767,32767,32767,32767, 101, 94, 106, 93, 102,32767,
32767,32767,32767,32767,32767,32767,32767,32767,32767, 337,
117, 117, 117, 117, 117, 117, 117, 117, 117,32767,
32767,32767,32767,32767,32767,32767, 295,32767,32767, 160,
160, 160,32767, 327, 327, 327, 327,32767,32767,32767,
32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
342,32767,32767,32767,32767,32767,32767,32767,32767,32767,
32767, 340,32767,32767,32767,32767,32767,32767,32767, 217,
218, 220, 221, 159,32767, 328, 158, 341, 339, 185,
187, 234, 186, 163, 168, 169, 170, 171, 172, 173,
174, 175, 176, 177, 178, 162, 214, 213, 183, 184,
188, 292,32767,32767,32767,32767,32767,32767,32767,32767,
32767,32767, 295,32767,32767,32767,32767,32767,32767, 190,
189, 205, 206, 203, 204, 300, 300, 300, 300, 207,
208, 209, 210, 142, 142, 336, 336, 336,32767,32767,
32767, 143, 197, 198,32767,32767,32767,32767,32767,32767,
32767,32767,32767,32767,32767,32767,32767,32767,32767, 255,
255, 255, 113, 113, 113,32767,32767,32767, 113, 263,
32767,32767,32767,32767,32767, 265, 192, 193, 191,32767,
32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
264,32767,32767,32767,32767,32767,32767, 311, 305, 311,
311, 253, 314, 315,32767,32767,32767,32767,32767,32767,
32767,32767,32767,32767, 103, 105,32767,32767,32767, 288,
316,32767,32767,32767,32767,32767, 351,32767, 312,32767,
32767,32767,32767,32767,32767,32767,32767, 311, 301,32767,
314, 315,32767, 301,32767,32767,32767,32767,32767,32767,
32767,32767,32767, 64, 260, 64, 246, 64, 266,32767,
74, 72, 294, 76, 64, 92, 92, 236, 55, 266,
64, 64, 294,32767, 64, 64,32767,32767,32767, 5,
32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
32767,32767,32767,32767,32767,32767,32767, 4,32767,32767,
313,32767, 201, 180, 247,32767, 182, 251, 254,32767,
32767,32767, 301, 18, 131,32767,32767,32767,32767,32767,
32767,32767,32767, 161,32767,32767, 20,32767, 127,32767,
62,32767,32767,32767, 334,32767,32767, 286,32767,32767,
194, 195, 196, 308,32767, 116, 360, 317,32767,32767,
32767, 361, 318,32767,32767,32767,32767,32767,32767,32767,
32767,32767,32767, 107,32767, 281,32767,32767, 129,32767,
75,32767, 346,32767,32767, 164, 120,32767,32767,32767,
32767,32767,32767,32767,32767, 63,32767,32767, 77,32767,
32767,32767,32767,32767,32767,32767,32767, 109, 299,32767,
32767,32767, 345, 344,32767, 123, 319, 320,32767,32767,
32767,32767,32767,32767,32767,32767, 154,32767,32767,32767,
32767,32767,32767, 111, 297,32767,32767,32767,32767, 343,
32767,32767,32767, 152,32767,32767,32767,32767,32767, 25,
25, 3, 3, 134, 25, 99, 25, 25, 134, 92,
92, 25, 25, 25, 25, 25, 25, 25, 25, 25,
25
);
private static $yygoto = array(
150, 174, 174, 174, 174, 174, 174, 174, 174, 174,
140, 141, 174, 145, 153, 183, 177, 161, 174, 178,
173, 173, 173, 173, 175, 175, 175, 175, 169, 170,
171, 172, 181, 760, 761, 402, 763, 783, 784, 785,
786, 787, 788, 789, 791, 728, 142, 143, 144, 146,
147, 148, 149, 151, 152, 179, 180, 182, 198, 199,
200, 219, 220, 221, 222, 223, 224, 229, 230, 231,
232, 242, 243, 276, 277, 278, 440, 441, 442, 184,
185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
154, 155, 156, 157, 176, 158, 196, 159, 160, 162,
197, 163, 164, 165, 166, 195, 138, 167, 168, 465,
465, 465, 465, 465, 465, 465, 465, 465, 465, 465,
465, 465, 465, 465, 465, 465, 465, 449, 455, 459,
487, 489, 490, 491, 492, 569, 569, 569, 570, 570,
570, 478, 510, 404, 404, 404, 404, 404, 404, 327,
772, 369, 404, 404, 404, 404, 404, 404, 404, 404,
404, 404, 404, 404, 404, 404, 404, 808, 808, 808,
675, 675, 675, 321, 413, 413, 675, 454, 456, 460,
408, 408, 408, 612, 706, 613, 342, 639, 639, 634,
640, 514, 466, 466, 466, 466, 466, 466, 466, 466,
466, 466, 466, 466, 466, 466, 466, 466, 466, 466,
480, 538, 306, 275, 811, 426, 810, 267, 893, 818,
817, 1, 2, 333, 371, 488, 405, 405, 405, 405,
405, 405, 577, 554, 621, 405, 405, 405, 405, 405,
405, 405, 405, 405, 405, 405, 405, 405, 405, 405,
407, 407, 407, 299, 299, 299, 299, 299, 299, 854,
726, 685, 299, 299, 299, 299, 299, 299, 299, 299,
299, 299, 299, 299, 299, 299, 299, 300, 300, 300,
234, 0, 0, 0, 0, 0, 0, 0, 337, 337,
337, 225, 225, 225, 225, 225, 225, 225, 225, 225,
0, 0, 227, 337, 337, 337, 337, 328, 226, 0,
0, 302, 303, 340, 341, 841, 841, 841, 841, 841,
841, 841, 841, 841, 841, 841, 841, 841, 841, 841,
841, 841, 841, 584, 693, 647, 843, 844, 583, 691,
648, 671, 859, 524, 718, 716, 673, 857, 717, 714,
5, 0, 0, 0, 14, 0, 6, 7, 568, 568,
568, 8, 9, 10, 15, 16, 11, 17, 12, 18,
13, 0, 0, 0, 0, 0, 658, 645, 643, 643,
641, 643, 545, 409, 665, 661, 338, 338, 338, 338,
338, 338, 338, 338, 338, 307, 308, 412, 874, 874,
874, 0, 0, 343, 0, 0, 0, 0, 0, 892,
892, 892, 0, 322, 0, 420, 0, 0, 0, 0,
0, 0, 481, 0, 448, 453, 448, 453, 257, 513,
908, 908, 528, 535, 0, 0, 0, 0, 911, 908,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 911, 911, 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, 434, 434, 434, 428,
475, 304, 0, 0, 0, 430, 430, 403, 406, 334,
336, 472, 476, 485, 344, 502, 503, 505, 347, 529
);
private static $yygcheck = array(
15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
15, 15, 15, 15, 15, 15, 15, 15, 15, 36,
36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
36, 36, 36, 36, 36, 36, 36, 48, 48, 48,
48, 48, 48, 48, 48, 7, 7, 7, 8, 8,
8, 21, 21, 36, 36, 36, 36, 36, 36, 4,
60, 60, 36, 36, 36, 36, 36, 36, 36, 36,
36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
36, 36, 36, 28, 4, 4, 36, 76, 76, 76,
74, 74, 74, 30, 58, 30, 59, 36, 36, 36,
36, 36, 69, 69, 69, 69, 69, 69, 69, 69,
69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
37, 37, 44, 77, 4, 4, 4, 77, 86, 75,
75, 2, 2, 29, 47, 43, 69, 69, 69, 69,
69, 69, 11, 45, 35, 69, 69, 69, 69, 69,
69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
69, 69, 69, 71, 71, 71, 71, 71, 71, 82,
61, 50, 71, 71, 71, 71, 71, 71, 71, 71,
71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
41, -1, -1, -1, -1, -1, -1, -1, 71, 71,
71, 25, 25, 25, 25, 25, 25, 25, 25, 25,
-1, -1, 25, 71, 71, 71, 71, 71, 25, -1,
-1, 71, 71, 71, 71, 78, 78, 78, 78, 78,
78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
78, 78, 78, 12, 12, 12, 12, 12, 12, 12,
12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
13, -1, -1, -1, 13, -1, 13, 13, 6, 6,
6, 13, 13, 13, 13, 13, 13, 13, 13, 13,
13, -1, -1, -1, -1, -1, 6, 6, 6, 6,
6, 6, 6, 6, 6, 6, 24, 24, 24, 24,
24, 24, 24, 24, 24, 44, 44, 24, 70, 70,
70, -1, -1, 24, -1, -1, -1, -1, -1, 70,
70, 70, -1, 31, -1, 31, -1, -1, -1, -1,
-1, -1, 31, -1, 70, 70, 70, 70, 31, 31,
88, 88, 31, 31, -1, -1, -1, -1, 88, 88,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 88, 88, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 25, 25, 25, 25,
25, 25, -1, -1, -1, 25, 25, 25, 25, 25,
25, 25, 25, 25, 25, 25, 25, 25, 25, 25
);
private static $yygbase = array(
0, 0, -320, 0, -135, 0, 357, 134, 137, 0,
0, -78, 131, -190, 0, -29, 0, 0, 0, 0,
0, 91, 0, 0, 356, 261, 0, 0, 121, -22,
161, 58, 0, 0, 0, -134, -92, -53, 0, 0,
0, -268, 0, -55, -154, -83, 0, -44, 96, 0,
-51, 0, 0, 0, 0, 0, 0, 0, -57, -50,
-110, -109, 0, 0, 0, 0, 0, 0, 0, -9,
139, 18, 0, 0, -79, -52, 123, -56, 114, 0,
0, 0, -113, 0, 0, 0, -19, 0, 164, 0
);
private static $yygdefault = array(
-32768, 376, 3, 563, 809, 397, 587, 588, 589, 323,
318, 578, 498, 4, 585, 139, 314, 592, 315, 520,
594, 422, 596, 597, 862, 228, 324, 325, 423, 332,
611, 522, 331, 614, 368, 620, 319, 462, 398, 363,
477, 233, 432, 470, 305, 557, 463, 364, 444, 445,
686, 694, 373, 346, 345, 501, 698, 241, 705, 335,
358, 727, 790, 792, 435, 417, 496, 348, 865, 399,
400, 297, 813, 301, 864, 443, 450, 266, 850, 499,
848, 372, 899, 863, 298, 320, 894, 362, 910, 473
);
private static $yylhs = array(
0, 1, 2, 2, 4, 5, 5, 3, 3, 3,
3, 3, 3, 3, 3, 3, 9, 9, 11, 11,
11, 11, 10, 10, 13, 13, 14, 14, 14, 14,
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, 6, 34,
34, 35, 29, 29, 31, 31, 7, 8, 8, 38,
38, 38, 39, 39, 42, 42, 40, 40, 43, 43,
22, 22, 30, 30, 33, 33, 32, 32, 23, 23,
23, 23, 44, 44, 44, 45, 45, 20, 20, 16,
16, 18, 18, 17, 17, 19, 19, 37, 37, 46,
46, 46, 46, 47, 47, 47, 48, 48, 49, 49,
49, 49, 49, 49, 26, 26, 50, 50, 50, 27,
27, 27, 27, 41, 41, 51, 51, 51, 56, 56,
52, 52, 55, 55, 57, 57, 58, 58, 58, 58,
58, 58, 53, 53, 53, 53, 54, 54, 28, 28,
21, 21, 24, 24, 24, 24, 24, 24, 24, 24,
24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
24, 24, 24, 24, 24, 24, 66, 66, 67, 67,
68, 68, 68, 68, 68, 68, 69, 69, 36, 36,
36, 60, 60, 72, 72, 73, 73, 73, 73, 73,
62, 62, 62, 65, 65, 65, 61, 61, 78, 78,
78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
12, 12, 12, 12, 12, 12, 63, 63, 63, 63,
63, 63, 79, 79, 82, 82, 81, 81, 81, 81,
15, 15, 25, 25, 25, 83, 83, 83, 84, 84,
84, 70, 70, 74, 74, 74, 74, 85, 85, 85,
85, 85, 85, 71, 71, 71, 71, 76, 76, 75,
75, 75, 59, 59, 86, 86, 86, 64, 64, 87,
87, 87, 87, 87, 87, 87, 87, 77, 77, 77,
77, 88, 88, 88, 88, 88, 88, 89, 89, 89,
80, 80
);
private static $yylen = array(
1, 1, 2, 0, 1, 1, 3, 1, 1, 1,
4, 3, 5, 4, 3, 2, 3, 1, 1, 3,
2, 4, 5, 4, 2, 0, 1, 1, 1, 4,
3, 7, 10, 5, 7, 9, 5, 2, 3, 2,
3, 2, 3, 3, 3, 3, 3, 1, 2, 5,
7, 8, 10, 5, 1, 5, 3, 3, 2, 1,
2, 8, 1, 3, 0, 1, 9, 7, 6, 1,
2, 2, 0, 2, 0, 2, 0, 2, 1, 3,
1, 4, 1, 4, 1, 4, 3, 5, 3, 4,
4, 5, 0, 5, 4, 1, 1, 1, 4, 0,
6, 0, 7, 0, 2, 0, 3, 1, 0, 3,
5, 5, 7, 0, 1, 1, 1, 0, 1, 1,
2, 3, 3, 4, 3, 1, 1, 2, 4, 3,
5, 1, 3, 2, 0, 3, 2, 8, 1, 3,
1, 1, 0, 1, 1, 2, 1, 1, 1, 1,
1, 1, 3, 5, 1, 3, 5, 4, 3, 1,
0, 1, 6, 3, 4, 6, 3, 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, 3, 5, 4, 4, 4, 2, 2, 4,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 1, 4, 3, 2, 9, 0, 4, 4, 2,
4, 6, 6, 6, 6, 4, 1, 1, 1, 3,
2, 1, 1, 1, 1, 0, 3, 3, 4, 4,
0, 2, 3, 0, 1, 1, 0, 3, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 3, 2,
1, 1, 2, 2, 4, 3, 1, 1, 1, 1,
3, 3, 0, 2, 0, 1, 5, 3, 3, 1,
1, 1, 1, 1, 1, 1, 4, 6, 3, 4,
4, 1, 2, 1, 4, 4, 1, 3, 3, 6,
6, 4, 4, 4, 4, 1, 4, 0, 1, 1,
3, 1, 3, 1, 1, 4, 0, 0, 2, 5,
3, 3, 1, 6, 4, 4, 2, 2, 2, 1,
2, 1, 4, 3, 3, 6, 3, 1, 1, 1,
3, 3
);
/* Debug Mode */
protected function yyprintln($msg) {
echo $msg, "\n";
}
private function YYTRACE_NEWSTATE($state, $sym) {
$this->yyprintln(
'% State ' . $state
. ', Lookahead ' . ($sym < 0 ? '--none--' : self::$yyterminals[$sym])
);
}
private function YYTRACE_READ($sym) {
$this->yyprintln('% Reading ' . self::$yyterminals[$sym]);
}
private function YYTRACE_SHIFT($sym) {
$this->yyprintln('% Shift ' . self::$yyterminals[$sym]);
}
private function YYTRACE_ACCEPT() {
$this->yyprintln('% Accepted.');
}
private function YYTRACE_REDUCE($n) {
$this->yyprintln('% Reduce by (' . $n . ') ' . self::$yyproduction[$n]);
}
private function YYTRACE_POP($state) {
$this->yyprintln('% Recovering, uncovers state ' . $state);
}
private function YYTRACE_DISCARD($sym) {
$this->yyprintln('% Discard ' . self::$yyterminals[$sym]);
}
protected $yyval;
protected $yyastk;
protected $yysp;
protected $yyaccept;
/**
* Parses PHP code into a node tree and prints out debugging information.
*
* @param Lexer $lex A lexer
* @param callback $errorCallback Function to be passed a message in case of an error.
*
* @return array Array of statements
*/
public function parse(Lexer $lex, $errorCallback) {
$this->yyastk = array();
$yysstk = array();
$this->yysp = 0;
$yystate = 0;
$yychar = -1;
$yylval = null;
$yysstk[$this->yysp] = 0;
$yyerrflag = 0;
for (;;) {
$this->YYTRACE_NEWSTATE($yystate, $yychar);
if (self::$yybase[$yystate] == 0) {
$yyn = self::$yydefault[$yystate];
} else {
if ($yychar < 0) {
if (($yychar = $lex->lex($yylval)) < 0)
$yychar = 0;
$yychar = $yychar < self::YYMAXLEX ?
self::$yytranslate[$yychar] : self::YYBADCH;
$this->YYTRACE_READ($yychar);
}
if ((($yyn = self::$yybase[$yystate] + $yychar) >= 0
&& $yyn < self::YYLAST && self::$yycheck[$yyn] == $yychar
|| ($yystate < self::YY2TBLSTATE
&& ($yyn = self::$yybase[$yystate + self::YYNLSTATES]
+ $yychar) >= 0
&& $yyn < self::YYLAST
&& self::$yycheck[$yyn] == $yychar))
&& ($yyn = self::$yyaction[$yyn]) != self::YYDEFAULT) {
/*
* >= YYNLSTATE: shift and reduce
* > 0: shift
* = 0: accept
* < 0: reduce
* = -YYUNEXPECTED: error
*/
if ($yyn > 0) {
/* shift */
$this->YYTRACE_SHIFT($yychar);
++$this->yysp;
$yysstk[$this->yysp] = $yystate = $yyn;
$this->yyastk[$this->yysp] = $yylval;
$yychar = -1;
if ($yyerrflag > 0)
--$yyerrflag;
if ($yyn < self::YYNLSTATES)
continue;
/* $yyn >= YYNLSTATES means shift-and-reduce */
$yyn -= self::YYNLSTATES;
} else {
$yyn = -$yyn;
}
} else {
$yyn = self::$yydefault[$yystate];
}
}
for (;;) {
/* reduce/error */
if ($yyn == 0) {
/* accept */
$this->YYTRACE_ACCEPT();
return $this->yyval;
} elseif ($yyn != self::YYUNEXPECTED) {
/* reduce */
$this->YYTRACE_REDUCE($yyn);
$this->{'yyn' . $yyn}();
/* Goto - shift nonterminal */
$this->yysp -= self::$yylen[$yyn];
$yyn = self::$yylhs[$yyn];
if (($yyp = self::$yygbase[$yyn] + $yysstk[$this->yysp]) >= 0
&& $yyp < self::YYGLAST
&& self::$yygcheck[$yyp] == $yyn) {
$yystate = self::$yygoto[$yyp];
} else {
$yystate = self::$yygdefault[$yyn];
}
++$this->yysp;
$yysstk[$this->yysp] = $yystate;
$this->yyastk[$this->yysp] = $this->yyval;
} else {
/* error */
switch ($yyerrflag) {
case 0:
$errorCallback(
'Parse error:'
. ' Unexpected token ' . self::$yyterminals[$yychar]
. ' on line ' . $lex->getLine()
);
case 1:
case 2:
$yyerrflag = 3;
/* Pop until error-expecting state uncovered */
while (!(($yyn = self::$yybase[$yystate] + self::YYINTERRTOK) >= 0
&& $yyn < self::YYLAST
&& self::$yycheck[$yyn] == self::YYINTERRTOK
|| ($yystate < self::YY2TBLSTATE
&& ($yyn = self::$yybase[$yystate + self::YYNLSTATES] + self::YYINTERRTOK) >= 0
&& $yyn < self::YYLAST
&& self::$yycheck[$yyn] == self::YYINTERRTOK))) {
if ($this->yysp <= 0) {
return false;
}
$yystate = $yysstk[--$this->yysp];
$this->YYTRACE_POP($yystate);
}
$yyn = self::$yyaction[$yyn];
$this->YYTRACE_SHIFT(self::YYINTERRTOK);
$yysstk[++$this->yysp] = $yystate = $yyn;
break;
case 3:
$this->YYTRACE_DISCARD($yychar);
if ($yychar == 0) {
return false;
}
$yychar = -1;
break;
}
}
if ($yystate < self::YYNLSTATES)
break;
/* >= YYNLSTATES means shift-and-reduce */
$yyn = $yystate - self::YYNLSTATES;
}
}
}
private function yyn0() {
$this->yyval = $this->yyastk[$this->yysp];
}
private function yyn1() {
$this->yyval = $this->yyastk[$this->yysp-(1-1)];
}
private function yyn2() {
if (is_array($this->yyastk[$this->yysp-(2-2)])) { $this->yyval = array_merge($this->yyastk[$this->yysp-(2-1)], $this->yyastk[$this->yysp-(2-2)]); } else { $this->yyastk[$this->yysp-(2-1)][] = $this->yyastk[$this->yysp-(2-2)]; $this->yyval = $this->yyastk[$this->yysp-(2-1)]; };
}
private function yyn3() {
$this->yyval = array();
}
private function yyn4() {
$this->yyval = new Node_Name(array('parts' => $this->yyastk[$this->yysp-(1-1)]));
}
private function yyn5() {
$this->yyval = array($this->yyastk[$this->yysp-(1-1)]);
}
private function yyn6() {
$this->yyastk[$this->yysp-(3-1)][] = $this->yyastk[$this->yysp-(3-3)]; $this->yyval = $this->yyastk[$this->yysp-(3-1)];
}
private function yyn7() {
$this->yyval = $this->yyastk[$this->yysp-(1-1)];
}
private function yyn8() {
$this->yyval = $this->yyastk[$this->yysp-(1-1)];
}
private function yyn9() {
$this->yyval = $this->yyastk[$this->yysp-(1-1)];
}
private function yyn10() {
YYACCEPT;
}
private function yyn11() {
$this->yyval = new Node_Stmt_Namespace(array('ns' => $this->yyastk[$this->yysp-(3-2)]));
}
private function yyn12() {
$this->yyval = array(new Node_Stmt_Namespace(array('ns' => $this->yyastk[$this->yysp-(5-2)])), $this->yyastk[$this->yysp-(5-4)]);
}
private function yyn13() {
$this->yyval = array(new Node_Stmt_Namespace(array('ns' => null)), $this->yyastk[$this->yysp-(4-3)]);
}
private function yyn14() {
$this->yyval = new Node_Stmt_Use(array('uses' => $this->yyastk[$this->yysp-(3-2)]));
}
private function yyn15() {
$this->yyval = new Node_Stmt_Const(array('consts' => $this->yyastk[$this->yysp-(2-1)]));
}
private function yyn16() {
$this->yyastk[$this->yysp-(3-1)][] = $this->yyastk[$this->yysp-(3-3)]; $this->yyval = $this->yyastk[$this->yysp-(3-1)];
}
private function yyn17() {
$this->yyval = array($this->yyastk[$this->yysp-(1-1)]);
}
private function yyn18() {
$this->yyval = new Node_Stmt_UseUse(array('ns' => $this->yyastk[$this->yysp-(1-1)], 'alias' => null));
}
private function yyn19() {
$this->yyval = new Node_Stmt_UseUse(array('ns' => $this->yyastk[$this->yysp-(3-1)], 'alias' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn20() {
$this->yyval = new Node_Stmt_UseUse(array('ns' => $this->yyastk[$this->yysp-(2-2)], 'alias' => null));
}
private function yyn21() {
$this->yyval = new Node_Stmt_UseUse(array('ns' => $this->yyastk[$this->yysp-(4-2)], 'alias' => $this->yyastk[$this->yysp-(4-4)]));
}
private function yyn22() {
$this->yyastk[$this->yysp-(5-1)][] = new Node_Stmt_ConstConst(array('name' => $this->yyastk[$this->yysp-(5-3)], 'value' => $this->yyastk[$this->yysp-(5-5)])); $this->yyval = $this->yyastk[$this->yysp-(5-1)];
}
private function yyn23() {
$this->yyval = array(new Node_Stmt_ConstConst(array('name' => $this->yyastk[$this->yysp-(4-2)], 'value' => $this->yyastk[$this->yysp-(4-4)])));
}
private function yyn24() {
if (is_array($this->yyastk[$this->yysp-(2-2)])) { $this->yyval = array_merge($this->yyastk[$this->yysp-(2-1)], $this->yyastk[$this->yysp-(2-2)]); } else { $this->yyastk[$this->yysp-(2-1)][] = $this->yyastk[$this->yysp-(2-2)]; $this->yyval = $this->yyastk[$this->yysp-(2-1)]; };
}
private function yyn25() {
$this->yyval = array();
}
private function yyn26() {
$this->yyval = $this->yyastk[$this->yysp-(1-1)];
}
private function yyn27() {
$this->yyval = $this->yyastk[$this->yysp-(1-1)];
}
private function yyn28() {
$this->yyval = $this->yyastk[$this->yysp-(1-1)];
}
private function yyn29() {
error('__halt_compiler() can only be used from the outermost scope');
}
private function yyn30() {
$this->yyval = $this->yyastk[$this->yysp-(3-2)];
}
private function yyn31() {
$this->yyval = new Node_Stmt_If(array('cond' => $this->yyastk[$this->yysp-(7-3)], 'stmts' => is_array($this->yyastk[$this->yysp-(7-5)]) ? $this->yyastk[$this->yysp-(7-5)] : array($this->yyastk[$this->yysp-(7-5)]), 'elseifList' => $this->yyastk[$this->yysp-(7-6)], 'else' => $this->yyastk[$this->yysp-(7-7)]));
}
private function yyn32() {
$this->yyval = new Node_Stmt_If(array('cond' => $this->yyastk[$this->yysp-(10-3)], 'stmts' => $this->yyastk[$this->yysp-(10-6)], 'elseifList' => $this->yyastk[$this->yysp-(10-7)], 'else' => $this->yyastk[$this->yysp-(10-8)]));
}
private function yyn33() {
$this->yyval = new Node_Stmt_While(array('cond' => $this->yyastk[$this->yysp-(5-3)], 'stmts' => is_array($this->yyastk[$this->yysp-(5-5)]) ? $this->yyastk[$this->yysp-(5-5)] : array($this->yyastk[$this->yysp-(5-5)])));
}
private function yyn34() {
$this->yyval = new Node_Stmt_Do(array('stmts' => is_array($this->yyastk[$this->yysp-(7-2)]) ? $this->yyastk[$this->yysp-(7-2)] : array($this->yyastk[$this->yysp-(7-2)]), 'cond' => $this->yyastk[$this->yysp-(7-5)]));
}
private function yyn35() {
$this->yyval = new Node_Stmt_For(array('init' => $this->yyastk[$this->yysp-(9-3)], 'cond' => $this->yyastk[$this->yysp-(9-5)], 'loop' => $this->yyastk[$this->yysp-(9-7)], 'stmts' => is_array($this->yyastk[$this->yysp-(9-9)]) ? $this->yyastk[$this->yysp-(9-9)] : array($this->yyastk[$this->yysp-(9-9)])));
}
private function yyn36() {
$this->yyval = new Node_Stmt_Switch(array('cond' => $this->yyastk[$this->yysp-(5-3)], 'caseList' => $this->yyastk[$this->yysp-(5-5)]));
}
private function yyn37() {
$this->yyval = new Node_Stmt_Break(array('num' => null));
}
private function yyn38() {
$this->yyval = new Node_Stmt_Break(array('num' => $this->yyastk[$this->yysp-(3-2)]));
}
private function yyn39() {
$this->yyval = new Node_Stmt_Continue(array('num' => null));
}
private function yyn40() {
$this->yyval = new Node_Stmt_Continue(array('num' => $this->yyastk[$this->yysp-(3-2)]));
}
private function yyn41() {
$this->yyval = new Node_Stmt_Return(array('expr' => null));
}
private function yyn42() {
$this->yyval = new Node_Stmt_Return(array('expr' => $this->yyastk[$this->yysp-(3-2)]));
}
private function yyn43() {
$this->yyval = new Node_Stmt_Return(array('expr' => $this->yyastk[$this->yysp-(3-2)]));
}
private function yyn44() {
$this->yyval = new Node_Stmt_Global(array('vars' => $this->yyastk[$this->yysp-(3-2)]));
}
private function yyn45() {
$this->yyval = new Node_Stmt_Static(array('vars' => $this->yyastk[$this->yysp-(3-2)]));
}
private function yyn46() {
$this->yyval = new Node_Stmt_Echo(array('exprs' => $this->yyastk[$this->yysp-(3-2)]));
}
private function yyn47() {
$this->yyval = new Node_Stmt_InlineHTML(array('value' => $this->yyastk[$this->yysp-(1-1)]));
}
private function yyn48() {
$this->yyval = $this->yyastk[$this->yysp-(2-1)];
}
private function yyn49() {
$this->yyval = new Node_Stmt_Unset(array('vars' => $this->yyastk[$this->yysp-(5-3)]));
}
private function yyn50() {
$this->yyval = new Node_Stmt_Foreach(array('expr' => $this->yyastk[$this->yysp-(7-3)], 'keyVar' => null, 'byRef' => false, 'valueVar' => $this->yyastk[$this->yysp-(7-5)], 'stmts' => is_array($this->yyastk[$this->yysp-(7-7)]) ? $this->yyastk[$this->yysp-(7-7)] : array($this->yyastk[$this->yysp-(7-7)])));
}
private function yyn51() {
$this->yyval = new Node_Stmt_Foreach(array('expr' => $this->yyastk[$this->yysp-(8-3)], 'keyVar' => null, 'byRef' => true, 'valueVar' => $this->yyastk[$this->yysp-(8-6)], 'stmts' => is_array($this->yyastk[$this->yysp-(8-8)]) ? $this->yyastk[$this->yysp-(8-8)] : array($this->yyastk[$this->yysp-(8-8)])));
}
private function yyn52() {
$this->yyval = new Node_Stmt_Foreach(array('expr' => $this->yyastk[$this->yysp-(10-3)], 'keyVar' => $this->yyastk[$this->yysp-(10-5)], 'byRef' => $this->yyastk[$this->yysp-(10-7)], 'valueVar' => $this->yyastk[$this->yysp-(10-8)], 'stmts' => is_array($this->yyastk[$this->yysp-(10-10)]) ? $this->yyastk[$this->yysp-(10-10)] : array($this->yyastk[$this->yysp-(10-10)])));
}
private function yyn53() {
$this->yyval = new Node_Stmt_Declare(array('declares' => $this->yyastk[$this->yysp-(5-3)], 'stmts' => is_array($this->yyastk[$this->yysp-(5-5)]) ? $this->yyastk[$this->yysp-(5-5)] : array($this->yyastk[$this->yysp-(5-5)])));
}
private function yyn54() {
$this->yyval = array(); /* means: no statement */
}
private function yyn55() {
$this->yyval = new Node_Stmt_TryCatch(array('stmts' => $this->yyastk[$this->yysp-(5-3)], 'catches' => $this->yyastk[$this->yysp-(5-5)]));
}
private function yyn56() {
$this->yyval = new Node_Stmt_Throw(array('expr' => $this->yyastk[$this->yysp-(3-2)]));
}
private function yyn57() {
$this->yyval = new Node_Stmt_Goto(array('name' => $this->yyastk[$this->yysp-(3-2)]));
}
private function yyn58() {
$this->yyval = new Node_Stmt_Label(array('name' => $this->yyastk[$this->yysp-(2-1)]));
}
private function yyn59() {
$this->yyval = array($this->yyastk[$this->yysp-(1-1)]);
}
private function yyn60() {
$this->yyastk[$this->yysp-(2-1)][] = $this->yyastk[$this->yysp-(2-2)]; $this->yyval = $this->yyastk[$this->yysp-(2-1)];
}
private function yyn61() {
$this->yyval = new Node_Stmt_Catch(array('type' => $this->yyastk[$this->yysp-(8-3)], 'var' => substr($this->yyastk[$this->yysp-(8-4)], 1), 'stmts' => $this->yyastk[$this->yysp-(8-7)]));
}
private function yyn62() {
$this->yyval = array($this->yyastk[$this->yysp-(1-1)]);
}
private function yyn63() {
$this->yyastk[$this->yysp-(3-1)][] = $this->yyastk[$this->yysp-(3-3)]; $this->yyval = $this->yyastk[$this->yysp-(3-1)];
}
private function yyn64() {
$this->yyval = false;
}
private function yyn65() {
$this->yyval = true;
}
private function yyn66() {
$this->yyval = new Node_Stmt_Func(array('byRef' => $this->yyastk[$this->yysp-(9-2)], 'name' => $this->yyastk[$this->yysp-(9-3)], 'params' => $this->yyastk[$this->yysp-(9-5)], 'stmts' => $this->yyastk[$this->yysp-(9-8)]));
}
private function yyn67() {
$this->yyval = new Node_Stmt_Class(array('type' => $this->yyastk[$this->yysp-(7-1)], 'name' => $this->yyastk[$this->yysp-(7-2)], 'extends' => $this->yyastk[$this->yysp-(7-3)], 'implements' => $this->yyastk[$this->yysp-(7-4)], 'stmts' => $this->yyastk[$this->yysp-(7-6)]));
}
private function yyn68() {
$this->yyval = new Node_Stmt_Interface(array('name' => $this->yyastk[$this->yysp-(6-2)], 'extends' => $this->yyastk[$this->yysp-(6-3)], 'stmts' => $this->yyastk[$this->yysp-(6-5)]));
}
private function yyn69() {
$this->yyval = 0;
}
private function yyn70() {
$this->yyval = Node_Stmt_Class::MODIFIER_ABSTRACT;
}
private function yyn71() {
$this->yyval = Node_Stmt_Class::MODIFIER_FINAL;
}
private function yyn72() {
$this->yyval = null;
}
private function yyn73() {
$this->yyval = $this->yyastk[$this->yysp-(2-2)];
}
private function yyn74() {
$this->yyval = array();
}
private function yyn75() {
$this->yyval = $this->yyastk[$this->yysp-(2-2)];
}
private function yyn76() {
$this->yyval = array();
}
private function yyn77() {
$this->yyval = $this->yyastk[$this->yysp-(2-2)];
}
private function yyn78() {
$this->yyval = array($this->yyastk[$this->yysp-(1-1)]);
}
private function yyn79() {
$this->yyastk[$this->yysp-(3-1)][] = $this->yyastk[$this->yysp-(3-3)]; $this->yyval = $this->yyastk[$this->yysp-(3-1)];
}
private function yyn80() {
$this->yyval = $this->yyastk[$this->yysp-(1-1)];
}
private function yyn81() {
$this->yyval = $this->yyastk[$this->yysp-(4-2)];
}
private function yyn82() {
$this->yyval = $this->yyastk[$this->yysp-(1-1)];
}
private function yyn83() {
$this->yyval = $this->yyastk[$this->yysp-(4-2)];
}
private function yyn84() {
$this->yyval = $this->yyastk[$this->yysp-(1-1)];
}
private function yyn85() {
$this->yyval = $this->yyastk[$this->yysp-(4-2)];
}
private function yyn86() {
$this->yyval = array(new Node_Stmt_DeclareDeclare(array('key' => $this->yyastk[$this->yysp-(3-1)], 'value' => $this->yyastk[$this->yysp-(3-3)])));
}
private function yyn87() {
$this->yyastk[$this->yysp-(5-1)][] = new Node_Stmt_DeclareDeclare(array('key' => $this->yyastk[$this->yysp-(5-3)], 'value' => $this->yyastk[$this->yysp-(5-5)])); $this->yyval = $this->yyastk[$this->yysp-(5-1)];
}
private function yyn88() {
$this->yyval = $this->yyastk[$this->yysp-(3-2)];
}
private function yyn89() {
$this->yyval = $this->yyastk[$this->yysp-(4-3)];
}
private function yyn90() {
$this->yyval = $this->yyastk[$this->yysp-(4-2)];
}
private function yyn91() {
$this->yyval = $this->yyastk[$this->yysp-(5-3)];
}
private function yyn92() {
$this->yyval = array();
}
private function yyn93() {
$this->yyastk[$this->yysp-(5-1)][] = new Node_Stmt_Case(array('cond' => $this->yyastk[$this->yysp-(5-3)], 'stmts' => $this->yyastk[$this->yysp-(5-5)])); $this->yyval = $this->yyastk[$this->yysp-(5-1)];
}
private function yyn94() {
$this->yyastk[$this->yysp-(4-1)][] = new Node_Stmt_Case(array('cond' => null, 'stmts' => $this->yyastk[$this->yysp-(4-4)])); $this->yyval = $this->yyastk[$this->yysp-(4-1)];
}
private function yyn95() {
$this->yyval = $this->yyastk[$this->yysp];
}
private function yyn96() {
$this->yyval = $this->yyastk[$this->yysp];
}
private function yyn97() {
$this->yyval = $this->yyastk[$this->yysp-(1-1)];
}
private function yyn98() {
$this->yyval = $this->yyastk[$this->yysp-(4-2)];
}
private function yyn99() {
$this->yyval = array();
}
private function yyn100() {
$this->yyastk[$this->yysp-(6-1)][] = new Node_Stmt_ElseIf(array('cond' => $this->yyastk[$this->yysp-(6-4)], 'stmts' => is_array($this->yyastk[$this->yysp-(6-6)]) ? $this->yyastk[$this->yysp-(6-6)] : array($this->yyastk[$this->yysp-(6-6)]))); $this->yyval = $this->yyastk[$this->yysp-(6-1)];
}
private function yyn101() {
$this->yyval = array();
}
private function yyn102() {
$this->yyastk[$this->yysp-(7-1)][] = new Node_Stmt_ElseIf(array('cond' => $this->yyastk[$this->yysp-(7-4)], 'stmts' => $this->yyastk[$this->yysp-(7-7)])); $this->yyval = $this->yyastk[$this->yysp-(7-1)];
}
private function yyn103() {
$this->yyval = null;
}
private function yyn104() {
$this->yyval = new Node_Stmt_Else(array('stmts' => is_array($this->yyastk[$this->yysp-(2-2)]) ? $this->yyastk[$this->yysp-(2-2)] : array($this->yyastk[$this->yysp-(2-2)])));
}
private function yyn105() {
$this->yyval = null;
}
private function yyn106() {
$this->yyval = new Node_Stmt_Else(array('stmts' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn107() {
$this->yyval = $this->yyastk[$this->yysp-(1-1)];
}
private function yyn108() {
$this->yyval = array();
}
private function yyn109() {
$this->yyval = array(new Node_Stmt_FuncParam(array('type' => $this->yyastk[$this->yysp-(3-1)], 'name' => substr($this->yyastk[$this->yysp-(3-3)], 1), 'byRef' => $this->yyastk[$this->yysp-(3-2)], 'default' => null)));
}
private function yyn110() {
$this->yyval = array(new Node_Stmt_FuncParam(array('type' => $this->yyastk[$this->yysp-(5-1)], 'name' => substr($this->yyastk[$this->yysp-(5-3)], 1), 'byRef' => $this->yyastk[$this->yysp-(5-2)], 'default' => $this->yyastk[$this->yysp-(5-5)])));
}
private function yyn111() {
$this->yyastk[$this->yysp-(5-1)][] = new Node_Stmt_FuncParam(array('type' => $this->yyastk[$this->yysp-(5-3)], 'name' => substr($this->yyastk[$this->yysp-(5-5)], 1), 'byRef' => $this->yyastk[$this->yysp-(5-4)], 'default' => null)); $this->yyval = $this->yyastk[$this->yysp-(5-1)];
}
private function yyn112() {
$this->yyastk[$this->yysp-(7-1)][] = new Node_Stmt_FuncParam(array('type' => $this->yyastk[$this->yysp-(7-3)], 'name' => substr($this->yyastk[$this->yysp-(7-5)], 1), 'byRef' => $this->yyastk[$this->yysp-(7-4)], 'default' => $this->yyastk[$this->yysp-(7-7)])); $this->yyval = $this->yyastk[$this->yysp-(7-1)];
}
private function yyn113() {
$this->yyval = null;
}
private function yyn114() {
$this->yyval = $this->yyastk[$this->yysp-(1-1)];
}
private function yyn115() {
$this->yyval = 'array';
}
private function yyn116() {
$this->yyval = $this->yyastk[$this->yysp-(1-1)];
}
private function yyn117() {
$this->yyval = array();
}
private function yyn118() {
$this->yyval = array(new Node_Expr_FuncCallArg(array('value' => $this->yyastk[$this->yysp-(1-1)], 'byRef' => false)));
}
private function yyn119() {
$this->yyval = array(new Node_Expr_FuncCallArg(array('value' => $this->yyastk[$this->yysp-(1-1)], 'byRef' => false)));
}
private function yyn120() {
$this->yyval = array(new Node_Expr_FuncCallArg(array('value' => $this->yyastk[$this->yysp-(2-2)], 'byRef' => true)));
}
private function yyn121() {
$this->yyastk[$this->yysp-(3-1)][] = new Node_Expr_FuncCallArg(array('value' => $this->yyastk[$this->yysp-(3-3)], 'byRef' => false)); $this->yyval = $this->yyastk[$this->yysp-(3-1)];
}
private function yyn122() {
$this->yyastk[$this->yysp-(3-1)][] = new Node_Expr_FuncCallArg(array('value' => $this->yyastk[$this->yysp-(3-3)], 'byRef' => false)); $this->yyval = $this->yyastk[$this->yysp-(3-1)];
}
private function yyn123() {
$this->yyastk[$this->yysp-(4-1)][] = new Node_Expr_FuncCallArg(array('value' => $this->yyastk[$this->yysp-(4-4)], 'byRef' => true)); $this->yyval = $this->yyastk[$this->yysp-(4-1)];
}
private function yyn124() {
$this->yyastk[$this->yysp-(3-1)][] = $this->yyastk[$this->yysp-(3-3)]; $this->yyval = $this->yyastk[$this->yysp-(3-1)];
}
private function yyn125() {
$this->yyval = array($this->yyastk[$this->yysp-(1-1)]);
}
private function yyn126() {
$this->yyval = new Node_Variable(array('name' => substr($this->yyastk[$this->yysp-(1-1)], 1)));
}
private function yyn127() {
$this->yyval = new Node_Variable(array('name' => $this->yyastk[$this->yysp-(2-2)]));
}
private function yyn128() {
$this->yyval = new Node_Variable(array('name' => $this->yyastk[$this->yysp-(4-3)]));
}
private function yyn129() {
$this->yyastk[$this->yysp-(3-1)][] = new Node_Stmt_StaticVar(array('name' => substr($this->yyastk[$this->yysp-(3-3)], 1), 'default' => null)); $this->yyval = $this->yyastk[$this->yysp-(3-1)];
}
private function yyn130() {
$this->yyastk[$this->yysp-(5-1)][] = new Node_Stmt_StaticVar(array('name' => substr($this->yyastk[$this->yysp-(5-3)], 1), 'default' => $this->yyastk[$this->yysp-(5-5)])); $this->yyval = $this->yyastk[$this->yysp-(5-1)];
}
private function yyn131() {
$this->yyval = array(new Node_Stmt_StaticVar(array('name' => substr($this->yyastk[$this->yysp-(1-1)], 1), 'default' => null)));
}
private function yyn132() {
$this->yyval = array(new Node_Stmt_StaticVar(array('name' => substr($this->yyastk[$this->yysp-(3-1)], 1), 'default' => $this->yyastk[$this->yysp-(3-3)])));
}
private function yyn133() {
$this->yyastk[$this->yysp-(2-1)][] = $this->yyastk[$this->yysp-(2-2)]; $this->yyval = $this->yyastk[$this->yysp-(2-1)];
}
private function yyn134() {
$this->yyval = array();
}
private function yyn135() {
$this->yyval = new Node_Stmt_Property(array('type' => $this->yyastk[$this->yysp-(3-1)], 'props' => $this->yyastk[$this->yysp-(3-2)]));
}
private function yyn136() {
$this->yyval = new Node_Stmt_ClassConst(array('consts' => $this->yyastk[$this->yysp-(2-1)]));
}
private function yyn137() {
$this->yyval = new Node_Stmt_ClassMethod(array('type' => $this->yyastk[$this->yysp-(8-1)], 'byRef' => $this->yyastk[$this->yysp-(8-3)], 'name' => $this->yyastk[$this->yysp-(8-4)], 'params' => $this->yyastk[$this->yysp-(8-6)], 'stmts' => $this->yyastk[$this->yysp-(8-8)]));
}
private function yyn138() {
$this->yyval = null;
}
private function yyn139() {
$this->yyval = $this->yyastk[$this->yysp-(3-2)];
}
private function yyn140() {
$this->yyval = $this->yyastk[$this->yysp-(1-1)];
}
private function yyn141() {
$this->yyval = Node_Stmt_Class::MODIFIER_PUBLIC;
}
private function yyn142() {
$this->yyval = Node_Stmt_Class::MODIFIER_PUBLIC;
}
private function yyn143() {
$this->yyval = $this->yyastk[$this->yysp-(1-1)];
}
private function yyn144() {
$this->yyval = $this->yyastk[$this->yysp-(1-1)];
}
private function yyn145() {
Node_Stmt_Class::verifyModifier($this->yyastk[$this->yysp-(2-1)], $this->yyastk[$this->yysp-(2-2)]); $this->yyval = $this->yyastk[$this->yysp-(2-1)] | $this->yyastk[$this->yysp-(2-2)];
}
private function yyn146() {
$this->yyval = Node_Stmt_Class::MODIFIER_PUBLIC;
}
private function yyn147() {
$this->yyval = Node_Stmt_Class::MODIFIER_PROTECTED;
}
private function yyn148() {
$this->yyval = Node_Stmt_Class::MODIFIER_PRIVATE;
}
private function yyn149() {
$this->yyval = Node_Stmt_Class::MODIFIER_STATIC;
}
private function yyn150() {
$this->yyval = Node_Stmt_Class::MODIFIER_ABSTRACT;
}
private function yyn151() {
$this->yyval = Node_Stmt_Class::MODIFIER_FINAL;
}
private function yyn152() {
$this->yyastk[$this->yysp-(3-1)][] = new Node_Stmt_PropertyProperty(array('name' => substr($this->yyastk[$this->yysp-(3-3)], 1), 'default' => null)); $this->yyval = $this->yyastk[$this->yysp-(3-1)];
}
private function yyn153() {
$this->yyastk[$this->yysp-(5-1)][] = new Node_Stmt_PropertyProperty(array('name' => substr($this->yyastk[$this->yysp-(5-3)], 1), 'default' => $this->yyastk[$this->yysp-(5-5)])); $this->yyval = $this->yyastk[$this->yysp-(5-1)];
}
private function yyn154() {
$this->yyval = array(new Node_Stmt_PropertyProperty(array('name' => substr($this->yyastk[$this->yysp-(1-1)], 1), 'default' => null)));
}
private function yyn155() {
$this->yyval = array(new Node_Stmt_PropertyProperty(array('name' => substr($this->yyastk[$this->yysp-(3-1)], 1), 'default' => $this->yyastk[$this->yysp-(3-3)])));
}
private function yyn156() {
$this->yyastk[$this->yysp-(5-1)][] = new Node_Stmt_ClassConstConst(array('name' => $this->yyastk[$this->yysp-(5-3)], 'value' => $this->yyastk[$this->yysp-(5-5)])); $this->yyval = $this->yyastk[$this->yysp-(5-1)];
}
private function yyn157() {
$this->yyval = array(new Node_Stmt_ClassConstConst(array('name' => $this->yyastk[$this->yysp-(4-2)], 'value' => $this->yyastk[$this->yysp-(4-4)])));
}
private function yyn158() {
$this->yyastk[$this->yysp-(3-1)][] = $this->yyastk[$this->yysp-(3-3)]; $this->yyval = $this->yyastk[$this->yysp-(3-1)];
}
private function yyn159() {
$this->yyval = array($this->yyastk[$this->yysp-(1-1)]);
}
private function yyn160() {
$this->yyval = array();
}
private function yyn161() {
$this->yyval = $this->yyastk[$this->yysp-(1-1)];
}
private function yyn162() {
$this->yyval = new Node_Expr_List(array('assignList' => $this->yyastk[$this->yysp-(6-3)], 'expr' => $this->yyastk[$this->yysp-(6-6)]));
}
private function yyn163() {
$this->yyval = new Node_Expr_Assign(array('var' => $this->yyastk[$this->yysp-(3-1)], 'expr' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn164() {
$this->yyval = new Node_Expr_AssignRef(array('var' => $this->yyastk[$this->yysp-(4-1)], 'refVar' => $this->yyastk[$this->yysp-(4-4)]));
}
private function yyn165() {
$this->yyval = new Node_Expr_Assign(array('var' => $this->yyastk[$this->yysp-(6-1)], 'expr' => new Node_Expr_New(array('class' => $this->yyastk[$this->yysp-(6-5)], 'args' => $this->yyastk[$this->yysp-(6-6)]))));
}
private function yyn166() {
$this->yyval = new Node_Expr_New(array('class' => $this->yyastk[$this->yysp-(3-2)], 'args' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn167() {
$this->yyval = new Node_Expr_Clone(array('expr' => $this->yyastk[$this->yysp-(2-2)]));
}
private function yyn168() {
$this->yyval = new Node_Expr_AssignPlus(array('var' => $this->yyastk[$this->yysp-(3-1)], 'expr' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn169() {
$this->yyval = new Node_Expr_AssignMinus(array('var' => $this->yyastk[$this->yysp-(3-1)], 'expr' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn170() {
$this->yyval = new Node_Expr_AssignMul(array('var' => $this->yyastk[$this->yysp-(3-1)], 'expr' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn171() {
$this->yyval = new Node_Expr_AssignDiv(array('var' => $this->yyastk[$this->yysp-(3-1)], 'expr' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn172() {
$this->yyval = new Node_Expr_AssignConcat(array('var' => $this->yyastk[$this->yysp-(3-1)], 'expr' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn173() {
$this->yyval = new Node_Expr_AssignMod(array('var' => $this->yyastk[$this->yysp-(3-1)], 'expr' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn174() {
$this->yyval = new Node_Expr_AssignBinAnd(array('var' => $this->yyastk[$this->yysp-(3-1)], 'expr' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn175() {
$this->yyval = new Node_Expr_AssignBinOr(array('var' => $this->yyastk[$this->yysp-(3-1)], 'expr' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn176() {
$this->yyval = new Node_Expr_AssignBinXor(array('var' => $this->yyastk[$this->yysp-(3-1)], 'expr' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn177() {
$this->yyval = new Node_Expr_AssignShiftLeft(array('var' => $this->yyastk[$this->yysp-(3-1)], 'expr' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn178() {
$this->yyval = new Node_Expr_AssignShiftRight(array('var' => $this->yyastk[$this->yysp-(3-1)], 'expr' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn179() {
$this->yyval = new Node_Expr_PostInc(array('var' => $this->yyastk[$this->yysp-(2-1)]));
}
private function yyn180() {
$this->yyval = new Node_Expr_PreInc(array('var' => $this->yyastk[$this->yysp-(2-2)]));
}
private function yyn181() {
$this->yyval = new Node_Expr_PostDec(array('var' => $this->yyastk[$this->yysp-(2-1)]));
}
private function yyn182() {
$this->yyval = new Node_Expr_PreDec(array('var' => $this->yyastk[$this->yysp-(2-2)]));
}
private function yyn183() {
$this->yyval = new Node_Expr_BooleanOr(array('left' => $this->yyastk[$this->yysp-(3-1)], 'right' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn184() {
$this->yyval = new Node_Expr_BooleanAnd(array('left' => $this->yyastk[$this->yysp-(3-1)], 'right' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn185() {
$this->yyval = new Node_Expr_LogicalOr(array('left' => $this->yyastk[$this->yysp-(3-1)], 'right' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn186() {
$this->yyval = new Node_Expr_LogicalAnd(array('left' => $this->yyastk[$this->yysp-(3-1)], 'right' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn187() {
$this->yyval = new Node_Expr_LogicalXor(array('left' => $this->yyastk[$this->yysp-(3-1)], 'right' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn188() {
$this->yyval = new Node_Expr_BinaryOr(array('left' => $this->yyastk[$this->yysp-(3-1)], 'right' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn189() {
$this->yyval = new Node_Expr_BinaryAnd(array('left' => $this->yyastk[$this->yysp-(3-1)], 'right' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn190() {
$this->yyval = new Node_Expr_BinaryXor(array('left' => $this->yyastk[$this->yysp-(3-1)], 'right' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn191() {
$this->yyval = new Node_Expr_Concat(array('left' => $this->yyastk[$this->yysp-(3-1)], 'right' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn192() {
$this->yyval = new Node_Expr_Plus(array('left' => $this->yyastk[$this->yysp-(3-1)], 'right' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn193() {
$this->yyval = new Node_Expr_Minus(array('left' => $this->yyastk[$this->yysp-(3-1)], 'right' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn194() {
$this->yyval = new Node_Expr_Mul(array('left' => $this->yyastk[$this->yysp-(3-1)], 'right' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn195() {
$this->yyval = new Node_Expr_Div(array('left' => $this->yyastk[$this->yysp-(3-1)], 'right' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn196() {
$this->yyval = new Node_Expr_Mod(array('left' => $this->yyastk[$this->yysp-(3-1)], 'right' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn197() {
$this->yyval = new Node_Expr_ShiftLeft(array('left' => $this->yyastk[$this->yysp-(3-1)], 'right' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn198() {
$this->yyval = new Node_Expr_ShiftRight(array('left' => $this->yyastk[$this->yysp-(3-1)], 'right' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn199() {
$this->yyval = new Node_Expr_UnaryPlus(array('expr' => $this->yyastk[$this->yysp-(2-2)]));
}
private function yyn200() {
$this->yyval = new Node_Expr_UnaryMinus(array('expr' => $this->yyastk[$this->yysp-(2-2)]));
}
private function yyn201() {
$this->yyval = new Node_Expr_BooleanNot(array('expr' => $this->yyastk[$this->yysp-(2-2)]));
}
private function yyn202() {
$this->yyval = new Node_Expr_BinaryNot(array('expr' => $this->yyastk[$this->yysp-(2-2)]));
}
private function yyn203() {
$this->yyval = new Node_Expr_Identical(array('left' => $this->yyastk[$this->yysp-(3-1)], 'right' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn204() {
$this->yyval = new Node_Expr_NotIdentical(array('left' => $this->yyastk[$this->yysp-(3-1)], 'right' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn205() {
$this->yyval = new Node_Expr_Equal(array('left' => $this->yyastk[$this->yysp-(3-1)], 'right' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn206() {
$this->yyval = new Node_Expr_NotEqual(array('left' => $this->yyastk[$this->yysp-(3-1)], 'right' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn207() {
$this->yyval = new Node_Expr_Smaller(array('left' => $this->yyastk[$this->yysp-(3-1)], 'right' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn208() {
$this->yyval = new Node_Expr_SmallerOrEqual(array('left' => $this->yyastk[$this->yysp-(3-1)], 'right' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn209() {
$this->yyval = new Node_Expr_Greater(array('left' => $this->yyastk[$this->yysp-(3-1)], 'right' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn210() {
$this->yyval = new Node_Expr_GreaterOrEqual(array('left' => $this->yyastk[$this->yysp-(3-1)], 'right' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn211() {
$this->yyval = new Node_Expr_InstanceOf(array('expr' => $this->yyastk[$this->yysp-(3-1)], 'class' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn212() {
$this->yyval = $this->yyastk[$this->yysp-(3-2)];
}
private function yyn213() {
$this->yyval = new Node_Expr_Ternary(array('cond' => $this->yyastk[$this->yysp-(5-1)], 'if' => $this->yyastk[$this->yysp-(5-3)], 'else' => $this->yyastk[$this->yysp-(5-5)]));
}
private function yyn214() {
$this->yyval = new Node_Expr_Ternary(array('cond' => $this->yyastk[$this->yysp-(4-1)], 'if' => null, 'else' => $this->yyastk[$this->yysp-(4-4)]));
}
private function yyn215() {
$this->yyval = new Node_Expr_Isset(array('vars' => $this->yyastk[$this->yysp-(4-3)]));
}
private function yyn216() {
$this->yyval = new Node_Expr_Empty(array('var' => $this->yyastk[$this->yysp-(4-3)]));
}
private function yyn217() {
$this->yyval = new Node_Expr_Include(array('expr' => $this->yyastk[$this->yysp-(2-2)], 'type' => Node_Expr_Include::TYPE_INCLUDE));
}
private function yyn218() {
$this->yyval = new Node_Expr_Include(array('expr' => $this->yyastk[$this->yysp-(2-2)], 'type' => Node_Expr_Include::TYPE_INCLUDE_ONCE));
}
private function yyn219() {
$this->yyval = new Node_Expr_Eval(array('expr' => $this->yyastk[$this->yysp-(4-3)]));
}
private function yyn220() {
$this->yyval = new Node_Expr_Include(array('expr' => $this->yyastk[$this->yysp-(2-2)], 'type' => Node_Expr_Include::TYPE_REQUIRE));
}
private function yyn221() {
$this->yyval = new Node_Expr_Include(array('expr' => $this->yyastk[$this->yysp-(2-2)], 'type' => Node_Expr_Include::TYPE_REQUIRE_ONCE));
}
private function yyn222() {
$this->yyval = new Node_Expr_IntCast(array('expr' => $this->yyastk[$this->yysp-(2-2)]));
}
private function yyn223() {
$this->yyval = new Node_Expr_DoubleCast(array('expr' => $this->yyastk[$this->yysp-(2-2)]));
}
private function yyn224() {
$this->yyval = new Node_Expr_StringCast(array('expr' => $this->yyastk[$this->yysp-(2-2)]));
}
private function yyn225() {
$this->yyval = new Node_Expr_ArrayCast(array('expr' => $this->yyastk[$this->yysp-(2-2)]));
}
private function yyn226() {
$this->yyval = new Node_Expr_ObjectCast(array('expr' => $this->yyastk[$this->yysp-(2-2)]));
}
private function yyn227() {
$this->yyval = new Node_Expr_BoolCast(array('expr' => $this->yyastk[$this->yysp-(2-2)]));
}
private function yyn228() {
$this->yyval = new Node_Expr_UnsetCast(array('expr' => $this->yyastk[$this->yysp-(2-2)]));
}
private function yyn229() {
$this->yyval = new Node_Expr_Exit(array('expr' => $this->yyastk[$this->yysp-(2-2)]));
}
private function yyn230() {
$this->yyval = new Node_Expr_ErrorSupress(array('expr' => $this->yyastk[$this->yysp-(2-2)]));
}
private function yyn231() {
$this->yyval = $this->yyastk[$this->yysp-(1-1)];
}
private function yyn232() {
$this->yyval = new Node_Expr_Array(array('items' => $this->yyastk[$this->yysp-(4-3)]));
}
private function yyn233() {
$this->yyval = new Node_Expr_ShellExec(array('parts' => $this->yyastk[$this->yysp-(3-2)]));
}
private function yyn234() {
$this->yyval = new Node_Expr_Print(array('expr' => $this->yyastk[$this->yysp-(2-2)]));
}
private function yyn235() {
$this->yyval = new Node_Expr_LambdaFunc(array('byRef' => $this->yyastk[$this->yysp-(9-2)], 'params' => $this->yyastk[$this->yysp-(9-4)], 'useVars' => $this->yyastk[$this->yysp-(9-6)], 'stmts' => $this->yyastk[$this->yysp-(9-8)]));
}
private function yyn236() {
$this->yyval = array();
}
private function yyn237() {
$this->yyval = $this->yyastk[$this->yysp-(4-3)];
}
private function yyn238() {
$this->yyastk[$this->yysp-(4-1)][] = new Node_Expr_LambdaFuncUse(array('var' => substr($this->yyastk[$this->yysp-(4-4)], 1), 'byRef' => $this->yyastk[$this->yysp-(4-3)])); $this->yyval = $this->yyastk[$this->yysp-(4-1)];
}
private function yyn239() {
$this->yyval = array(new Node_Expr_LambdaFuncUse(array('var' => substr($this->yyastk[$this->yysp-(2-2)], 1), 'byRef' => $this->yyastk[$this->yysp-(2-1)])));
}
private function yyn240() {
$this->yyval = new Node_Expr_FuncCall(array('func' => $this->yyastk[$this->yysp-(4-1)], 'args' => $this->yyastk[$this->yysp-(4-3)]));
}
private function yyn241() {
$this->yyval = new Node_Expr_StaticCall(array('class' => $this->yyastk[$this->yysp-(6-1)], 'func' => $this->yyastk[$this->yysp-(6-3)], 'args' => $this->yyastk[$this->yysp-(6-5)]));
}
private function yyn242() {
$this->yyval = new Node_Expr_StaticCall(array('class' => $this->yyastk[$this->yysp-(6-1)], 'func' => $this->yyastk[$this->yysp-(6-3)], 'args' => $this->yyastk[$this->yysp-(6-5)]));
}
private function yyn243() {
$this->yyval = new Node_Expr_StaticCall(array('class' => $this->yyastk[$this->yysp-(6-1)], 'func' => $this->yyastk[$this->yysp-(6-3)], 'args' => $this->yyastk[$this->yysp-(6-5)]));
}
private function yyn244() {
$this->yyval = new Node_Expr_StaticCall(array('class' => $this->yyastk[$this->yysp-(6-1)], 'func' => $this->yyastk[$this->yysp-(6-3)], 'args' => $this->yyastk[$this->yysp-(6-5)]));
}
private function yyn245() {
$this->yyval = new Node_Expr_FuncCall(array('func' => $this->yyastk[$this->yysp-(4-1)], 'args' => $this->yyastk[$this->yysp-(4-3)]));
}
private function yyn246() {
$this->yyval = 'static';
}
private function yyn247() {
$this->yyval = $this->yyastk[$this->yysp-(1-1)];
}
private function yyn248() {
$this->yyval = $this->yyastk[$this->yysp-(1-1)];
}
private function yyn249() {
$this->yyastk[$this->yysp-(3-3)]->resolveType(Node_Name::RELATIVE); $this->yyval = $this->yyastk[$this->yysp-(3-3)];
}
private function yyn250() {
$this->yyastk[$this->yysp-(2-2)]->resolveType(Node_Name::ABSOLUTE); $this->yyval = $this->yyastk[$this->yysp-(2-2)];
}
private function yyn251() {
$this->yyval = $this->yyastk[$this->yysp-(1-1)];
}
private function yyn252() {
$this->yyval = $this->yyastk[$this->yysp-(1-1)];
}
private function yyn253() {
$this->yyval = $this->yyastk[$this->yysp-(1-1)];
}
private function yyn254() {
$this->yyval = $this->yyastk[$this->yysp-(1-1)];
}
private function yyn255() {
$this->yyval = $this->yyastk[$this->yysp];
}
private function yyn256() {
$this->yyval = new Node_Expr_PropertyFetch(array('var' => $this->yyastk[$this->yysp-(3-1)], 'name' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn257() {
$this->yyval = new Node_Expr_PropertyFetch(array('var' => $this->yyastk[$this->yysp-(3-1)], 'name' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn258() {
$this->yyval = new Node_Expr_ArrayDimFetch(array('var' => $this->yyastk[$this->yysp-(4-1)], 'dim' => $this->yyastk[$this->yysp-(4-3)]));
}
private function yyn259() {
$this->yyval = new Node_Expr_ArrayDimFetch(array('var' => $this->yyastk[$this->yysp-(4-1)], 'dim' => $this->yyastk[$this->yysp-(4-3)]));
}
private function yyn260() {
$this->yyval = null;
}
private function yyn261() {
$this->yyval = null;
}
private function yyn262() {
$this->yyval = $this->yyastk[$this->yysp-(3-2)];
}
private function yyn263() {
$this->yyval = array();
}
private function yyn264() {
$this->yyval = array(Node_Scalar_String::parseEscapeSequences($this->yyastk[$this->yysp-(1-1)]));
}
private function yyn265() {
$this->yyval = $this->yyastk[$this->yysp-(1-1)];
}
private function yyn266() {
$this->yyval = array();
}
private function yyn267() {
$this->yyval = $this->yyastk[$this->yysp-(3-2)];
}
private function yyn268() {
$this->yyval = new Node_Scalar_LNumber(array('value' => (int) $this->yyastk[$this->yysp-(1-1)]));
}
private function yyn269() {
$this->yyval = new Node_Scalar_DNumber(array('value' => (double) $this->yyastk[$this->yysp-(1-1)]));
}
private function yyn270() {
$this->yyval = Node_Scalar_String::create($this->yyastk[$this->yysp-(1-1)]);
}
private function yyn271() {
$this->yyval = new Node_Scalar_LineConst(array());
}
private function yyn272() {
$this->yyval = new Node_Scalar_FileConst(array());
}
private function yyn273() {
$this->yyval = new Node_Scalar_DirConst(array());
}
private function yyn274() {
$this->yyval = new Node_Scalar_ClassConst(array());
}
private function yyn275() {
$this->yyval = new Node_Scalar_MethodConst(array());
}
private function yyn276() {
$this->yyval = new Node_Scalar_FuncConst(array());
}
private function yyn277() {
$this->yyval = new Node_Scalar_NSConst(array());
}
private function yyn278() {
$this->yyval = new Node_Scalar_String(array('value' => Node_Scalar_String::parseEscapeSequences($this->yyastk[$this->yysp-(3-2)]), 'isBinary' => false, 'type' => '\'' === $this->yyastk[$this->yysp-(3-1)][3] ? Node_Scalar_String::SINGLE_QUOTED : Node_Scalar_String::DOUBLE_QUOTED));
}
private function yyn279() {
$this->yyval = new Node_Scalar_String(array('value' => '', 'isBinary' => false, 'type' => Node_Scalar_String::SINGLE_QUOTED));
}
private function yyn280() {
$this->yyval = $this->yyastk[$this->yysp-(1-1)];
}
private function yyn281() {
$this->yyval = new Node_Expr_ConstFetch(array('name' => $this->yyastk[$this->yysp-(1-1)]));
}
private function yyn282() {
$this->yyval = new Node_Expr_UnaryPlus(array('expr' => $this->yyastk[$this->yysp-(2-2)]));
}
private function yyn283() {
$this->yyval = new Node_Expr_UnaryMinus(array('expr' => $this->yyastk[$this->yysp-(2-2)]));
}
private function yyn284() {
$this->yyval = new Node_Expr_Array(array('items' => $this->yyastk[$this->yysp-(4-3)]));
}
private function yyn285() {
$this->yyval = new Node_Expr_ClassConstFetch(array('class' => $this->yyastk[$this->yysp-(3-1)], 'name' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn286() {
$this->yyval = new Node_Scalar_String(array('value' => $this->yyastk[$this->yysp-(1-1)], 'isBinary' => false, 'type' => Node_Scalar_String::SINGLE_QUOTED));
}
private function yyn287() {
$this->yyval = $this->yyastk[$this->yysp-(1-1)];
}
private function yyn288() {
$this->yyval = new Node_Expr_ConstFetch(array('name' => $this->yyastk[$this->yysp-(1-1)]));
}
private function yyn289() {
$this->yyval = $this->yyastk[$this->yysp-(1-1)];
}
private function yyn290() {
$this->yyval = new Node_Scalar_Encapsed(array('parts' => $this->yyastk[$this->yysp-(3-2)]));
}
private function yyn291() {
$this->yyval = new Node_Scalar_Encapsed(array('parts' => $this->yyastk[$this->yysp-(3-2)]));
}
private function yyn292() {
$this->yyval = array();
}
private function yyn293() {
$this->yyval = $this->yyastk[$this->yysp-(2-1)];
}
private function yyn294() {
$this->yyval = $this->yyastk[$this->yysp];
}
private function yyn295() {
$this->yyval = $this->yyastk[$this->yysp];
}
private function yyn296() {
$this->yyastk[$this->yysp-(5-1)][] = new Node_Expr_ArrayItem(array('key' => $this->yyastk[$this->yysp-(5-3)], 'value' => $this->yyastk[$this->yysp-(5-5)], 'byRef' => false)); $this->yyval = $this->yyastk[$this->yysp-(5-1)];
}
private function yyn297() {
$this->yyastk[$this->yysp-(3-1)][] = new Node_Expr_ArrayItem(array('key' => null, 'value' => $this->yyastk[$this->yysp-(3-3)], 'byRef' => false)); $this->yyval = $this->yyastk[$this->yysp-(3-1)];
}
private function yyn298() {
$this->yyval = array(new Node_Expr_ArrayItem(array('key' => $this->yyastk[$this->yysp-(3-1)], 'value' => $this->yyastk[$this->yysp-(3-3)], 'byRef' => false)));
}
private function yyn299() {
$this->yyval = array(new Node_Expr_ArrayItem(array('key' => null, 'value' => $this->yyastk[$this->yysp-(1-1)], 'byRef' => false)));
}
private function yyn300() {
$this->yyval = $this->yyastk[$this->yysp-(1-1)];
}
private function yyn301() {
$this->yyval = $this->yyastk[$this->yysp-(1-1)];
}
private function yyn302() {
$this->yyval = $this->yyastk[$this->yysp-(1-1)];
}
private function yyn303() {
$this->yyval = $this->yyastk[$this->yysp-(1-1)];
}
private function yyn304() {
$this->yyval = $this->yyastk[$this->yysp-(1-1)];
}
private function yyn305() {
$this->yyval = $this->yyastk[$this->yysp-(1-1)];
}
private function yyn306() {
$this->yyval = new Node_Expr_FuncCall(array('func' => $this->yyastk[$this->yysp-(4-1)], 'args' => $this->yyastk[$this->yysp-(4-3)]));
}
private function yyn307() {
$this->yyval = new Node_Expr_MethodCall(array('var' => $this->yyastk[$this->yysp-(6-1)], 'name' => $this->yyastk[$this->yysp-(6-3)], 'args' => $this->yyastk[$this->yysp-(6-5)]));
}
private function yyn308() {
$this->yyval = new Node_Expr_PropertyFetch(array('var' => $this->yyastk[$this->yysp-(3-1)], 'name' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn309() {
$this->yyval = new Node_Expr_ArrayDimFetch(array('var' => $this->yyastk[$this->yysp-(4-1)], 'dim' => $this->yyastk[$this->yysp-(4-3)]));
}
private function yyn310() {
$this->yyval = new Node_Expr_ArrayDimFetch(array('var' => $this->yyastk[$this->yysp-(4-1)], 'dim' => $this->yyastk[$this->yysp-(4-3)]));
}
private function yyn311() {
$this->yyval = $this->yyastk[$this->yysp-(1-1)];
}
private function yyn312() {
$this->yyval = new Node_Variable(array('name' => $this->yyastk[$this->yysp-(2-2)]));
}
private function yyn313() {
$this->yyval = $this->yyastk[$this->yysp-(1-1)];
}
private function yyn314() {
$this->yyval = new Node_Expr_StaticPropertyFetch(array('class' => $this->yyastk[$this->yysp-(4-1)], 'name' => $this->yyastk[$this->yysp-(4-4)]));
}
private function yyn315() {
$this->yyval = new Node_Expr_StaticPropertyFetch(array('class' => $this->yyastk[$this->yysp-(4-1)], 'name' => $this->yyastk[$this->yysp-(4-4)]));
}
private function yyn316() {
$this->yyval = $this->yyastk[$this->yysp-(1-1)];
}
private function yyn317() {
$this->yyval = new Node_Expr_StaticPropertyFetch(array('class' => $this->yyastk[$this->yysp-(3-1)], 'name' => substr($this->yyastk[$this->yysp-(3-3)], 1)));
}
private function yyn318() {
$this->yyval = new Node_Expr_StaticPropertyFetch(array('class' => $this->yyastk[$this->yysp-(3-1)], 'name' => substr($this->yyastk[$this->yysp-(3-3)], 1)));
}
private function yyn319() {
$this->yyval = new Node_Expr_StaticPropertyFetch(array('class' => $this->yyastk[$this->yysp-(6-1)], 'name' => $this->yyastk[$this->yysp-(6-5)]));
}
private function yyn320() {
$this->yyval = new Node_Expr_StaticPropertyFetch(array('class' => $this->yyastk[$this->yysp-(6-1)], 'name' => $this->yyastk[$this->yysp-(6-5)]));
}
private function yyn321() {
$this->yyval = new Node_Expr_ArrayDimFetch(array('var' => $this->yyastk[$this->yysp-(4-1)], 'dim' => $this->yyastk[$this->yysp-(4-3)]));
}
private function yyn322() {
$this->yyval = new Node_Expr_ArrayDimFetch(array('var' => $this->yyastk[$this->yysp-(4-1)], 'dim' => $this->yyastk[$this->yysp-(4-3)]));
}
private function yyn323() {
$this->yyval = new Node_Expr_ArrayDimFetch(array('var' => $this->yyastk[$this->yysp-(4-1)], 'dim' => $this->yyastk[$this->yysp-(4-3)]));
}
private function yyn324() {
$this->yyval = new Node_Expr_ArrayDimFetch(array('var' => $this->yyastk[$this->yysp-(4-1)], 'dim' => $this->yyastk[$this->yysp-(4-3)]));
}
private function yyn325() {
$this->yyval = new Node_Variable(array('name' => substr($this->yyastk[$this->yysp-(1-1)], 1)));
}
private function yyn326() {
$this->yyval = new Node_Variable(array('name' => $this->yyastk[$this->yysp-(4-3)]));
}
private function yyn327() {
$this->yyval = null;
}
private function yyn328() {
$this->yyval = $this->yyastk[$this->yysp-(1-1)];
}
private function yyn329() {
$this->yyval = $this->yyastk[$this->yysp-(1-1)];
}
private function yyn330() {
$this->yyval = $this->yyastk[$this->yysp-(3-2)];
}
private function yyn331() {
$this->yyval = $this->yyastk[$this->yysp-(1-1)];
}
private function yyn332() {
$this->yyastk[$this->yysp-(3-1)][] = $this->yyastk[$this->yysp-(3-3)]; $this->yyval = $this->yyastk[$this->yysp-(3-1)];
}
private function yyn333() {
$this->yyval = array($this->yyastk[$this->yysp-(1-1)]);
}
private function yyn334() {
$this->yyval = $this->yyastk[$this->yysp-(1-1)];
}
private function yyn335() {
$this->yyval = $this->yyastk[$this->yysp-(4-3)];
}
private function yyn336() {
$this->yyval = null;
}
private function yyn337() {
$this->yyval = array();
}
private function yyn338() {
$this->yyval = $this->yyastk[$this->yysp-(2-1)];
}
private function yyn339() {
$this->yyastk[$this->yysp-(5-1)][] = new Node_Expr_ArrayItem(array('key' => $this->yyastk[$this->yysp-(5-3)], 'value' => $this->yyastk[$this->yysp-(5-5)], 'byRef' => false)); $this->yyval = $this->yyastk[$this->yysp-(5-1)];
}
private function yyn340() {
$this->yyastk[$this->yysp-(3-1)][] = new Node_Expr_ArrayItem(array('key' => null, 'value' => $this->yyastk[$this->yysp-(3-3)], 'byRef' => false)); $this->yyval = $this->yyastk[$this->yysp-(3-1)];
}
private function yyn341() {
$this->yyval = array(new Node_Expr_ArrayItem(array('key' => $this->yyastk[$this->yysp-(3-1)], 'value' => $this->yyastk[$this->yysp-(3-3)], 'byRef' => false)));
}
private function yyn342() {
$this->yyval = array(new Node_Expr_ArrayItem(array('key' => null, 'value' => $this->yyastk[$this->yysp-(1-1)], 'byRef' => false)));
}
private function yyn343() {
$this->yyastk[$this->yysp-(6-1)][] = new Node_Expr_ArrayItem(array('key' => $this->yyastk[$this->yysp-(6-3)], 'value' => $this->yyastk[$this->yysp-(6-6)], 'byRef' => true)); $this->yyval = $this->yyastk[$this->yysp-(6-1)];
}
private function yyn344() {
$this->yyastk[$this->yysp-(4-1)][] = new Node_Expr_ArrayItem(array('key' => null, 'value' => $this->yyastk[$this->yysp-(4-4)], 'byRef' => true)); $this->yyval = $this->yyastk[$this->yysp-(4-1)];
}
private function yyn345() {
$this->yyval = array(new Node_Expr_ArrayItem(array('key' => $this->yyastk[$this->yysp-(4-1)], 'value' => $this->yyastk[$this->yysp-(4-4)], 'byRef' => true)));
}
private function yyn346() {
$this->yyval = array(new Node_Expr_ArrayItem(array('key' => null, 'value' => $this->yyastk[$this->yysp-(2-2)], 'byRef' => true)));
}
private function yyn347() {
$this->yyastk[$this->yysp-(2-1)][] = $this->yyastk[$this->yysp-(2-2)]; $this->yyval = $this->yyastk[$this->yysp-(2-1)];
}
private function yyn348() {
$this->yyastk[$this->yysp-(2-1)][] = Node_Scalar_String::parseEscapeSequences($this->yyastk[$this->yysp-(2-2)]); $this->yyval = $this->yyastk[$this->yysp-(2-1)];
}
private function yyn349() {
$this->yyval = array($this->yyastk[$this->yysp-(1-1)]);
}
private function yyn350() {
$this->yyval = array(Node_Scalar_String::parseEscapeSequences($this->yyastk[$this->yysp-(2-1)]), $this->yyastk[$this->yysp-(2-2)]);
}
private function yyn351() {
$this->yyval = new Node_Variable(array('name' => substr($this->yyastk[$this->yysp-(1-1)], 1)));
}
private function yyn352() {
$this->yyval = new Node_Expr_ArrayDimFetch(array('var' => new Node_Variable(array('name' => substr($this->yyastk[$this->yysp-(4-1)], 1))), 'dim' => $this->yyastk[$this->yysp-(4-3)]));
}
private function yyn353() {
$this->yyval = new Node_Expr_PropertyFetch(array('var' => new Node_Variable(array('name' => substr($this->yyastk[$this->yysp-(3-1)], 1))), 'name' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn354() {
$this->yyval = new Node_Variable(array('name' => $this->yyastk[$this->yysp-(3-2)]));
}
private function yyn355() {
$this->yyval = new Node_Expr_ArrayDimFetch(array('var' => new Node_Variable(array('name' => $this->yyastk[$this->yysp-(6-2)])), 'dim' => $this->yyastk[$this->yysp-(6-4)]));
}
private function yyn356() {
$this->yyval = $this->yyastk[$this->yysp-(3-2)];
}
private function yyn357() {
$this->yyval = new Node_Scalar_String(array('value' => $this->yyastk[$this->yysp-(1-1)]));
}
private function yyn358() {
$this->yyval = new Node_Scalar_LNumber(array('value' => (int) $this->yyastk[$this->yysp-(1-1)]));
}
private function yyn359() {
$this->yyval = new Node_Variable(array('name' => substr($this->yyastk[$this->yysp-(1-1)], 1)));
}
private function yyn360() {
$this->yyval = new Node_Expr_ClassConstFetch(array('class' => $this->yyastk[$this->yysp-(3-1)], 'name' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn361() {
$this->yyval = new Node_Expr_ClassConstFetch(array('class' => $this->yyastk[$this->yysp-(3-1)], 'name' => $this->yyastk[$this->yysp-(3-3)]));
}
}