php-parser/lib/Parser.php

2813 lines
123 KiB
PHP

<?php
class Parser
{
const YYBADCH = 145;
const YYMAXLEX = 380;
const YYTERMS = 145;
const YYNONTERMS = 87;
const YYLAST = 967;
const YY2TBLSTATE = 322;
const YYGLAST = 498;
const YYSTATES = 741;
const YYNLSTATES = 528;
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;
// }}}
protected $yyval;
protected $yyastk;
protected $yysp;
/** Debug mode flag **/
public $yydebug = true;
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_parameter_list : non_empty_function_call_parameter_list",
"function_call_parameter_list : /* empty */",
"non_empty_function_call_parameter_list : expr_without_variable",
"non_empty_function_call_parameter_list : variable",
"non_empty_function_call_parameter_list : '&' variable",
"non_empty_function_call_parameter_list : non_empty_function_call_parameter_list ',' expr_without_variable",
"non_empty_function_call_parameter_list : non_empty_function_call_parameter_list ',' variable",
"non_empty_function_call_parameter_list : non_empty_function_call_parameter_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_parameter_list ')'",
"function_call : class_name T_PAAMAYIM_NEKUDOTAYIM T_STRING '(' function_call_parameter_list ')'",
"function_call : class_name T_PAAMAYIM_NEKUDOTAYIM variable_without_objects '(' function_call_parameter_list ')'",
"function_call : reference_variable T_PAAMAYIM_NEKUDOTAYIM T_STRING '(' function_call_parameter_list ')'",
"function_call : reference_variable T_PAAMAYIM_NEKUDOTAYIM variable_without_objects '(' function_call_parameter_list ')'",
"function_call : variable_without_objects '(' function_call_parameter_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 : dynamic_class_name_reference T_OBJECT_OPERATOR object_property",
"dynamic_class_name_reference : base_variable",
"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_parameter_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 : variable T_OBJECT_OPERATOR object_property '(' function_call_parameter_list ')'",
"variable : variable T_OBJECT_OPERATOR object_property",
"variable : base_variable",
"variable : function_call",
"variable_without_objects : reference_variable",
"variable_without_objects : '$' reference_variable",
"base_variable : variable_without_objects",
"base_variable : class_name T_PAAMAYIM_NEKUDOTAYIM variable_without_objects",
"base_variable : reference_variable T_PAAMAYIM_NEKUDOTAYIM variable_without_objects",
"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 : object_dim_list",
"object_property : variable_without_objects",
"object_dim_list : object_dim_list '[' dim_offset ']'",
"object_dim_list : object_dim_list '{' expr '}'",
"object_dim_list : T_STRING",
"object_dim_list : '{' expr '}'",
"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, 143, 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, 144, 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(
54, 55, 351, 56, 57,-32766,-32766,-32766, 240, 58,
677, 678, 679, 676, 675, 674,-32766,-32766,-32766, 836,
836,-32766, 0,-32766,-32766,-32766,-32766,-32766,-32767,-32767,
-32767,-32767,-32766, 844,-32766,-32766,-32766,-32766,-32766, 59,
60,-32766,-32766,-32766,-32766, 61,-32766, 62, 231, 232,
63, 64, 65, 66, 67, 68, 69, 70,-32766, 233,
71, 328, 352, 45, 643, -122, 791, 792, 353, 809,
836, 80, 575, 390, 793, 51, 26, 354, 125, 355,
-108, 356, 476, 357, 286, 478, 358, 118, 273, 273,
38, 39, 359, 331, 329, 40, 361, 329, 72, -121,
287, 330, 120, 362, 363, 339, 362, 363, 364, 365,
366, 187, 412, 597, 368, 412, 597, 368, 369, 370,
797, 798, 799, 794, 795, 250, 81, 82, 83, 119,
375, 800, 796, 323, 73, 290, 582, 506, 46, 273,
256, 257, 42, 836, 84, 85, 86, 87, 88, 89,
90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
100, 101, 102, 103, 104, 117, 236, 393,-32766, 52,
-32766,-32766,-32766, 871, 533, 873, 872, 224,-32766, 498,
241,-32766,-32766,-32766, 403,-32766,-32766,-32766,-32766,-32766,
329, 407,-32766, 484, 533, -122,-32766,-32766,-32766, 362,
363,-32766,-32766, 493,-32766, 836,-32766, 774, 412, 597,
368,-32766, 273, 197,-32766, 542, 188, 533, 469, 340,
237,-32766, 836, 303,-32766,-32766,-32766, 774,-32766, -121,
-32766, 669,-32766, 469, 623,-32766,-32766,-32766,-32766,-32766,
-32766,-32766,-32766,-32766,-32766,-32766, 669,-32766, 116,-32766,
774, 102, 103, 104,-32766, 236, 375,-32766, -119, 323,
533, -118, 596, 238,-32766, 349, 572,-32766,-32766,-32766,
654,-32766, 53,-32766, 273,-32766, 429, 595,-32766, 276,
79, 235,-32766,-32766,-32766,-32766,-32766,-32766,-32766, 450,
-32766, 273,-32766, 774, 99, 100, 101,-32766, 543, 862,
-32766, 344,-32766, 533, 325, 258, 242,-32766, 508, 862,
-32766,-32766,-32766, 255,-32766, 573,-32766, 266,-32766, 21,
643,-32766,-32766,-32766, 664,-32766,-32766,-32766,-32766,-32766,
-32766,-32766, 239,-32766, 663,-32766, 774, 410, 222, 223,
-32766, 189, 802,-32766, 475, 27, 533, 624, 192, 243,
-32766, 124, 193,-32766,-32766,-32766, 194,-32766, 802,-32766,
195,-32766, 814, 198,-32766, 485, 486, 813,-32766,-32766,
-32766,-32766,-32766,-32766,-32766, 199,-32766, 200,-32766, 774,
126, 294, 202,-32766, 539, 509,-32766, 203, -119, 533,
593, -118, 244,-32766, 522, 765,-32766,-32766,-32766, 526,
-32766, 586,-32766, 123,-32766, 511, 20,-32766, 666, 527,
513,-32766,-32766,-32766,-32766,-32766,-32766,-32766, 514,-32766,
518,-32766, 774, 523, 122, 236,-32766, 334, 497,-32766,
-140, 388, 533, 395, 401, 246,-32766, 335, 384,-32766,
-32766,-32766, 385,-32766, 479,-32766, 274,-32766, 275, 398,
-32766, 399, 413, 420,-32766,-32766,-32766,-32766,-32766,-32766,
-32766, 424,-32766, 862,-32766, 774, 426, 427, 263,-32766,
447, 482,-32766, 494, 501, 533,-32766,-32766,-32766,-32766,
533, 534,-32766,-32766,-32766, 547,-32766, 867,-32766, 549,
-32766, 808,-32766,-32766,-32766,-32766,-32766,-32766,-32766,-32766,
-32766,-32766,-32766,-32766, 436,-32766, 466,-32766, 774, 483,
490, 492,-32766, 500, 767,-32766, 766, 435, 533, 411,
225, 348,-32766, 452, 488,-32766,-32766,-32766, 464,-32766,
598,-32766,-32766,-32766, 599, 264,-32766, 801, 265, -247,
-32766,-32766,-32766,-32766,-32766,-32766,-32766, 196,-32766, 253,
-32766, 774, 49, 869, 254,-32766, 269, 0,-32766, 201,
23, 533,-32766,-32766,-32766,-32766, 44, 0,-32766,-32766,
-32766, 47,-32766, 0,-32766, 0,-32766, 271,-32766,-32766,
-32766,-32766, 288,-32766,-32766,-32766,-32766,-32766,-32766,-32766,
451,-32766, 270,-32766, 774, 272, 289, 325, 392, 80,
761,-32766, 324,-32766, 50, 29, 30, 31, 32, 533,
33, 34, 504,-32766, 35, 36,-32766,-32766,-32766, 37,
-32766, 41,-32766, 48,-32766, 329, 74,-32766, 784,-32766,
-32766,-32766,-32766,-32766, 362, 363,-32766,-32766, 75,-32766,
76,-32766, 774, 412, 597, 368,-32766, 77, 78,-32766,
121, 127, 533, 128, 186, 220,-32766, 221, 229,-32766,
-32766,-32766, 230,-32766, 234,-32766, 295,-32766, 247, 248,
-32766, 249, 267, 327,-32766,-32766,-32766,-32766,-32766,-32766,
-32766, 333,-32766, 389,-32766, 774, 442, 516, 341,-32766,
405, 507,-32766, 454, 463, 533, 499, 760, 768,-32766,
773, 790,-32766,-32766,-32766, 825,-32766, 769,-32766, 770,
-32766, 771, 772,-32766, 807, 22, 24,-32766,-32766,-32766,
565,-32766,-32766,-32766, 744,-32766, 19,-32766, 774, 25,
28, 291,-32766, 462, 503,-32766, 740, 747, 533, 785,
439, 849,-32766, 437, 743,-32766,-32766,-32766, 517,-32766,
585,-32766, 570,-32766, 538, 577,-32766, 557, 562, 626,
-32766,-32766,-32766, 567,-32766,-32766,-32766, 613,-32766, 618,
-32766, 774, 619, 190, 191, 560, 611, 609,-32766, 43,
105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
115, 571, 576, 329, 360, 566, 568, 584, 574, 285,
791, 792, 362, 363, 510, 515, 569,-32766, 793, 519,
520, 367, 597, 368, 525, 329, 360, 707, 709, 870,
616, 285, 617, 868, 362, 363,-32766,-32766,-32766, 837,
268, 329, 360, 367, 597, 368, 835, 285, 541, 656,
362, 363,-32766, 845,-32766,-32766,-32766,-32766, 843, 367,
597, 368, 268, 432, 797, 798, 799, 794, 795, 315,
540, 834, 866, 842, 0, 800, 796, 473, 268,-32767,
-32767,-32767,-32767, 97, 98, 99, 100, 101, 329, 0,
0, 329, 0, 0, 329, 253, 0, 362, 363, 0,
362, 363, 0, 362, 363, 0, 412, 597, 368, 412,
597, 368, 412, 597, 368, 0, 0, 0, 0, 0,
0, 0, 329, 0, 0, 329, 0, 0, 329, 0,
0, 362, 363, 326, 362, 363, 558, 362, 363, 594,
412, 597, 368, 412, 597, 368, 412, 597, 368, 0,
0, 0, 0, 0, 0, 0, 329, 0, 0, 0,
0, 0, 0, 0, 0, 362, 363, 763, 0, 0,
589, 0, 0, 667, 412, 597, 368
);
private static $yycheck = array(
2, 3, 4, 5, 6, 8, 9, 10, 61, 11,
103, 104, 105, 106, 107, 108, 8, 9, 10, 72,
72, 24, 0, 26, 27, 28, 29, 30, 31, 32,
33, 34, 24, 70, 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, 7, 68, 69, 70, 71,
72, 139, 74, 141, 76, 77, 78, 79, 12, 81,
137, 83, 80, 85, 7, 86, 88, 139, 141, 141,
92, 93, 94, 95, 95, 97, 98, 95, 100, 7,
102, 103, 139, 104, 105, 25, 104, 105, 110, 111,
112, 12, 113, 114, 115, 113, 114, 115, 120, 121,
122, 123, 124, 125, 126, 127, 8, 9, 10, 25,
132, 133, 134, 135, 136, 7, 138, 139, 7, 141,
142, 143, 24, 72, 26, 27, 28, 29, 30, 31,
32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
42, 43, 44, 45, 46, 7, 48, 7, 64, 60,
8, 9, 10, 70, 70, 72, 73, 30, 74, 84,
30, 77, 78, 79, 7, 81, 24, 83, 26, 85,
95, 120, 88, 7, 70, 137, 92, 93, 94, 104,
105, 97, 98, 7, 100, 72, 102, 103, 113, 114,
115, 64, 141, 7, 110, 138, 12, 70, 96, 139,
30, 74, 72, 72, 77, 78, 79, 103, 81, 137,
83, 109, 85, 96, 25, 88, 8, 9, 10, 92,
93, 94, 138, 139, 97, 98, 109, 100, 139, 102,
103, 44, 45, 46, 64, 48, 132, 110, 7, 135,
70, 7, 140, 30, 74, 7, 138, 77, 78, 79,
72, 81, 60, 83, 141, 85, 7, 140, 88, 60,
129, 130, 92, 93, 94, 138, 139, 97, 98, 75,
100, 141, 102, 103, 41, 42, 43, 64, 138, 75,
110, 119, 103, 70, 135, 75, 30, 74, 139, 75,
77, 78, 79, 7, 81, 138, 83, 7, 85, 137,
121, 88, 8, 9, 138, 92, 93, 94, 138, 139,
97, 98, 7, 100, 138, 102, 103, 118, 7, 141,
64, 12, 128, 110, 65, 66, 70, 138, 12, 30,
74, 139, 12, 77, 78, 79, 12, 81, 128, 83,
12, 85, 128, 12, 88, 65, 66, 143, 92, 93,
94, 138, 139, 97, 98, 12, 100, 12, 102, 103,
90, 91, 12, 64, 138, 139, 110, 12, 137, 70,
30, 137, 30, 74, 25, 137, 77, 78, 79, 25,
81, 25, 83, 25, 85, 25, 137, 88, 138, 139,
25, 92, 93, 94, 138, 139, 97, 98, 25, 100,
25, 102, 103, 25, 60, 48, 64, 70, 67, 110,
72, 72, 70, 79, 87, 30, 74, 70, 70, 77,
78, 79, 70, 81, 89, 83, 75, 85, 75, 70,
88, 70, 70, 70, 92, 93, 94, 138, 139, 97,
98, 70, 100, 75, 102, 103, 70, 70, 116, 64,
70, 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, 72, 100, 72, 102, 103, 72,
72, 72, 64, 72, 72, 110, 72, 87, 70, 71,
87, 95, 74, 99, 89, 77, 78, 79, 101, 81,
114, 83, 103, 85, 114, 117, 88, 128, 116, 131,
92, 93, 94, 138, 139, 97, 98, 119, 100, 118,
102, 103, 138, 140, 118, 64, 131, -1, 110, 119,
137, 70, 8, 9, 10, 74, 119, -1, 77, 78,
79, 119, 81, -1, 83, -1, 85, 131, 24, 88,
26, 27, 131, 92, 93, 94, 138, 139, 97, 98,
131, 100, 131, 102, 103, 131, 131, 135, 135, 139,
142, 110, 135, 64, 138, 136, 136, 136, 136, 70,
136, 136, 82, 74, 136, 136, 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, 138, 137, 64,
137, 139, 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, 137, 102, 103, 137,
137, 137, 64, 137, 137, 110, 137, 137, 70, 137,
137, 137, 74, 137, 137, 77, 78, 79, 138, 81,
138, 83, 138, 85, 138, 138, 88, 138, 138, 138,
92, 93, 94, 138, 139, 97, 98, 138, 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, 139, 139, 138, 139, 76, 139,
139, 113, 114, 115, 139, 95, 96, 50, 51, 140,
140, 101, 140, 140, 104, 105, 8, 9, 10, 140,
132, 95, 96, 113, 114, 115, 140, 101, 140, 140,
104, 105, 24, 140, 26, 27, 28, 29, 140, 113,
114, 115, 132, 121, 122, 123, 124, 125, 126, 127,
140, 144, 144, 144, -1, 133, 134, 144, 132, 35,
36, 37, 38, 39, 40, 41, 42, 43, 95, -1,
-1, 95, -1, -1, 95, 118, -1, 104, 105, -1,
104, 105, -1, 104, 105, -1, 113, 114, 115, 113,
114, 115, 113, 114, 115, -1, -1, -1, -1, -1,
-1, -1, 95, -1, -1, 95, -1, -1, 95, -1,
-1, 104, 105, 140, 104, 105, 140, 104, 105, 140,
113, 114, 115, 113, 114, 115, 113, 114, 115, -1,
-1, -1, -1, -1, -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, 698, 720, 736, 786, 783, 2, -1, 95, 789,
817, 530, 820, 823, 851, 851, 851, 851, 851, 385,
393, 395, 395, 398, 395, 380, -2, -2, -2, 190,
233, 233, 233, 233, 233, 233, 233, 233, 582, 625,
668, 491, 104, 147, 276, 319, 362, 405, 539, 539,
539, 539, 539, 539, 539, 539, 539, 539, 539, 539,
539, 539, 539, 539, 539, 539, 539, 539, 539, 539,
539, 539, 539, 539, 539, 539, 539, 539, 539, 448,
539, 539, 539, 539, 539, 539, 539, 539, 539, 539,
539, 539, 539, 539, 539, 539, 539, 539, 539, 539,
539, 539, 539, 539, 539, 539, 539, 539, 539, 539,
539, 539, 539, 539, 539, 539, 539, 539, 539, 539,
539, 539, 539, 539, 539, 539, 539, 539, 539, 209,
654, 657, 658, 659, 599, 600, 602, 592, 589, 433,
594, 447, 683, 689, 378, 696, 699, 703, 596, 452,
723, 708, 593, 597, 118, 118, 118, 118, 118, 118,
118, 118, 118, 118, 33, 314, 228, 228, 228, 228,
228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
228, 34, 34, 162, 554, 468, 732, 732, 732, 732,
732, 732, 732, 732, 732, 732, 732, 732, 732, 732,
732, 732, 732, 732, 818, 8, -3, -3, -3, -3,
251, 58, 653, 767, 834, 834, 834, 834, 122, 137,
71, 71, 71, -52, -53, 150, 358, 253, 253, 133,
133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
133, 133, 133, 133, 133, 133, 133, -57, -57, -57,
230, 234, 224, -37, -37, 199, 371, 373, 409, 388,
207, 207, 207, 429, 429, 429, 429, 429, 169, 383,
391, 396, 397, -68, 151, 151, 103, 461, 464, 465,
182, 355, 680, 435, 682, 467, 467, 198, 133, 133,
198, 80, 279, 300, 209, 270, 160, 408, 660, 381,
77, 128, 177, 219, 246, 109, 269, 606, 607, 587,
603, 679, 109, 212, 254, 214, 604, 92, 578, 186,
196, 579, 258, 410, 410, 410, 424, 360, 485, 360,
359, 360, 472, 379, 352, 422, 56, 418, 360, 549,
610, 427, 424, 472, 360, 360, 206, 437, 360, 360,
22, 490, 502, 376, 504, 487, 511, 545, 512, 368,
372, 552, 416, 420, 522, 526, 528, 547, 357, 519,
469, 463, 367, 425, 471, 462, 377, 431, 470, 446,
431, 451, 436, 354, 612, 99, 614, 347, 204, 553,
460, 458, 411, 382, 532, 514, 414, 158, 329, 533,
430, 415, 431, 432, 431, 616, 665, 521, 431, 560,
417, 364, 550, 336, 377, 377, 377, 474, 561, 131,
475, 478, 563, 717, 479, 483, 475, 479, 564, 400,
551, 306, 518, 408, 459, 419, 340, 617, 310, 66,
431, 718, 556, 431, 431, 666, 466, 344, 557, 434,
409, 421, 536, 431, 619, 568, 719, 310, 570, 572,
574, 575, 620, 670, 537, 671, 348, 428, 577, 401,
426, 431, 431, 413, 431, 515, 621, 423, 629, 631,
438, 439, 351, 363, 403, 517, 369, 361, 634, 442,
365, 440, 559, 441, 370, 404, 431, 637, 638, 675,
375, 535, 444, 374, 639, 529, 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, 118, 118, 118,
118, 118, 118, 118, 118, 118, 118, 118, 118, 118,
118, 118, 118, 118, 118, 118, 118, 118, 118, 118,
118, 118, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 118, 118, 118, 118, 118, 118, 118, 118,
118, 118, 118, 118, 118, 118, 118, 118, 118, 118,
118, 118, 118, 118, 124, 124, 124, 124, 124, 124,
124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
124, 124, 118, 118, 118, 118, 118, 118, 767, 767,
767, 0, 207, 207, 207, 207, -93, -93, 124, 124,
124, 124, 124, 124, -93, 207, 207, 124, 124, 124,
124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
124, 124, 124, 124, 124, 124, 124, 124, 151, 151,
151, 133, 133, 124, 151, 151, 151, 151, 0, 0,
0, 124, 124, 124, 124, 124, 410, 133, 133, 133,
133, 133, 0, 0, 0, 109, 109, 109, 431, 290,
290, 290, 290, 410, 410, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 470, 158, 532, 0, 0,
0, 0, 0, 0, 0, 325, 325, 431, 331, 431,
0, 0, 0, 0, 331, 0, 431, 0, 0, 431
);
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, 323,
117, 117, 117, 117, 117, 117, 117, 117,32767,32767,
32767,32767,32767,32767,32767, 290,32767,32767, 160, 160,
160,32767, 310, 310,32767,32767,32767,32767,32767,32767,
32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
32767, 328,32767,32767,32767,32767,32767,32767,32767, 326,
32767,32767,32767,32767, 217, 218, 220, 221, 159,32767,
311, 158, 327, 325, 185, 187, 234, 186, 163, 168,
169, 170, 171, 172, 173, 174, 175, 176, 177, 178,
162, 214, 213, 183, 184, 188, 287,32767,32767,32767,
32767,32767,32767,32767,32767,32767,32767, 290,32767,32767,
32767,32767,32767,32767, 190, 189, 205, 206, 203, 204,
295, 295, 295, 295, 207, 208, 209, 210, 142, 142,
322, 322, 322,32767,32767,32767, 143, 197, 198,32767,
32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
32767,32767,32767,32767,32767,32767,32767, 113, 113, 113,
32767,32767,32767,32767,32767, 113, 258,32767,32767, 260,
192, 193, 191,32767,32767,32767,32767,32767,32767,32767,
32767,32767,32767,32767, 259,32767,32767, 301, 301, 301,
32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
32767,32767, 103, 105,32767,32767,32767, 283,32767,32767,
32767,32767,32767, 337,32767, 302,32767,32767,32767,32767,
32767,32767, 301, 312, 296,32767,32767, 296,32767,32767,
32767,32767,32767,32767,32767,32767,32767, 64, 255, 64,
246, 64, 261,32767, 74, 72, 289, 76, 64, 92,
92, 236, 55, 261, 64, 64, 289,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, 303,32767, 201, 180, 247,32767,
182, 251, 252,32767,32767,32767, 296, 18, 131,32767,
32767,32767,32767,32767,32767,32767,32767, 161,32767,32767,
20,32767, 127,32767, 62,32767,32767,32767, 320,32767,
32767, 281,32767,32767, 194, 195, 196, 298,32767, 116,
346, 304,32767,32767, 347, 305,32767,32767,32767,32767,
32767, 107,32767, 276,32767,32767, 129,32767, 75,32767,
332,32767,32767, 164, 120,32767,32767,32767,32767,32767,
32767,32767,32767, 63,32767,32767,32767, 77,32767,32767,
32767,32767,32767,32767,32767,32767, 109, 294,32767,32767,
32767, 331, 330,32767, 123,32767,32767,32767,32767,32767,
32767,32767,32767, 154,32767,32767,32767,32767,32767,32767,
111, 292,32767,32767,32767,32767, 329,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(
141, 159, 159, 159, 159, 159, 159, 159, 159, 131,
132, 159, 136, 144, 168, 162, 149, 159, 163, 158,
158, 158, 158, 160, 160, 154, 155, 156, 157, 166,
727, 728, 376, 730, 750, 751, 752, 753, 754, 755,
756, 758, 695, 133, 134, 135, 137, 138, 139, 140,
142, 143, 164, 165, 167, 183, 184, 185, 204, 205,
206, 207, 208, 209, 214, 215, 216, 217, 227, 228,
260, 261, 262, 414, 415, 416, 169, 170, 171, 172,
173, 174, 175, 176, 177, 178, 179, 145, 161, 146,
181, 147, 148, 150, 182, 151, 180, 129, 152, 153,
433, 433, 433, 433, 433, 433, 433, 433, 433, 433,
433, 433, 433, 433, 433, 433, 433, 433, 422, 428,
455, 458, 459, 460, 461, 282, 782, 446, 477, 782,
536, 536, 536, 782, 378, 378, 378, 378, 378, 378,
537, 537, 537, 378, 378, 378, 378, 775, 378, 378,
775, 378, 378, 378, 775, 378, 378, 378, 378, 378,
378, 642, 642, 642, 739, 579, 298, 580, 343, 642,
448, 505, 259, 252, 1, 2, 456, 606, 606, 601,
607, 481, 434, 434, 434, 434, 434, 434, 434, 434,
434, 434, 434, 434, 434, 434, 434, 434, 434, 434,
861, 861, 316, 673, 846, 308, 781, 864, 861, 345,
457, 544, 521, 652, 588, 816, 379, 379, 379, 379,
379, 379, 693, 864, 864, 379, 379, 379, 379, 381,
379, 379, 381, 379, 379, 379, 381, 379, 379, 379,
379, 379, 379, 278, 278, 278, 278, 278, 278, 219,
0, 0, 278, 278, 278, 278, 279, 278, 278, 279,
278, 278, 278, 279, 278, 278, 278, 278, 278, 278,
0, 0, 0, 0, 0, 0, 312, 312, 0, 0,
0, 210, 210, 210, 210, 210, 210, 210, 210, 0,
0, 212, 312, 312, 312, 312, 305, 211, 0, 0,
0, 283, 284, 0, 0, 0, 0, 0, 0, 0,
0, 312, 312, 803, 803, 803, 803, 803, 803, 803,
803, 803, 803, 803, 803, 803, 803, 803, 803, 803,
803, 551, 660, 614, 805, 806, 550, 658, 615, 638,
821, 491, 685, 683, 640, 819, 684, 681, 5, 0,
0, 0, 14, 0, 6, 7, 535, 535, 535, 8,
9, 10, 15, 16, 11, 17, 12, 18, 13, 0,
0, 0, 0, 0, 625, 612, 610, 610, 608, 610,
512, 383, 632, 628, 831, 0, 0, 831, 0, 304,
0, 831, 314, 314, 314, 314, 314, 314, 314, 314,
0, 0, 386, 0, 841, 841, 387, 387, 317, 299,
0, 394, 0, 0, 0, 0, 0, 0, 449, 0,
421, 425, 421, 425, 245, 480, 0, 0, 495, 502,
0, 0, 0, 0, 0, 0, 0, 0, 0, 832,
833, 0, 0, 0, 778, 400, 777, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 408, 408, 408, 402, 443, 280, 0, 0, 0,
404, 404, 377, 380, 0, 309, 311, 0, 440, 444,
453, 0, 318, 471, 472, 474, 321, 496
);
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,
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, 44, 74, 21, 21, 74,
7, 7, 7, 74, 36, 36, 36, 36, 36, 36,
8, 8, 8, 36, 36, 36, 36, 36, 36, 36,
36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
36, 36, 36, 36, 60, 30, 28, 30, 60, 36,
37, 37, 75, 75, 2, 2, 81, 36, 36, 36,
36, 36, 69, 69, 69, 69, 69, 69, 69, 69,
69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
85, 85, 59, 58, 83, 29, 73, 85, 85, 47,
43, 11, 45, 50, 35, 80, 69, 69, 69, 69,
69, 69, 61, 85, 85, 69, 69, 69, 69, 69,
69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
69, 69, 69, 71, 71, 71, 71, 71, 71, 41,
-1, -1, 71, 71, 71, 71, 71, 71, 71, 71,
71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
-1, -1, -1, -1, -1, -1, 71, 71, -1, -1,
-1, 25, 25, 25, 25, 25, 25, 25, 25, -1,
-1, 25, 71, 71, 71, 71, 71, 25, -1, -1,
-1, 44, 44, -1, -1, -1, -1, -1, -1, -1,
-1, 71, 71, 76, 76, 76, 76, 76, 76, 76,
76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
76, 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, 70, -1, -1, 70, -1, 4,
-1, 70, 24, 24, 24, 24, 24, 24, 24, 24,
-1, -1, 24, -1, 70, 70, 4, 4, 24, 31,
-1, 31, -1, -1, -1, -1, -1, -1, 31, -1,
70, 70, 70, 70, 31, 31, -1, -1, 31, 31,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 70,
70, -1, -1, -1, 4, 4, 4, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 25, 25, 25, 25, 25, 25, -1, -1, -1,
25, 25, 25, 25, -1, 25, 25, -1, 25, 25,
25, -1, 25, 25, 25, 25, 25, 25
);
private static $yygbase = array(
0, 0, -334, 0, 121, 0, 355, 129, 139, 0,
0, -75, 144, -159, 0, -29, 0, 0, 0, 0,
0, 78, 0, 0, 362, 251, 0, 0, 115, -25,
143, 80, 0, 0, 0, -128, -86, -78, 0, 0,
0, -266, 0, -54, -215, -82, 0, -46, 87, 0,
-77, 0, 0, 0, 0, 0, 0, 0, -23, -19,
-72, -121, 0, 0, 0, 0, 0, 0, 0, -4,
151, 23, 0, -48, -107, -84, 127, 0, 0, 0,
-131, 123, 0, -18, 0, -51, 0
);
private static $yygdefault = array(
-32768, 350, 3, 530, 776, 371, 554, 555, 556, 300,
296, 545, 467, 4, 552, 130, 292, 559, 293, 487,
561, 396, 563, 564, 824, 213, 301, 302, 397, 307,
578, 489, 306, 581, 342, 587, 297, 430, 372, 337,
445, 218, 406, 438, 281, 524, 431, 338, 418, 419,
653, 661, 347, 320, 319, 470, 665, 226, 672, 310,
332, 694, 757, 759, 409, 391, 465, 322, 828, 373,
374, 277, 382, 417, 827, 251, 812, 468, 810, 346,
852, 423, 313, 847, 336, 863, 441
);
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, 62, 62, 62, 65, 65,
65, 61, 61, 76, 76, 76, 76, 76, 76, 76,
76, 76, 76, 76, 76, 12, 12, 12, 12, 12,
12, 63, 63, 63, 63, 63, 63, 77, 77, 80,
80, 79, 79, 79, 79, 15, 15, 25, 25, 25,
25, 70, 70, 74, 74, 74, 71, 71, 71, 71,
81, 81, 73, 73, 82, 82, 82, 82, 59, 59,
83, 83, 83, 64, 64, 84, 84, 84, 84, 84,
84, 84, 84, 75, 75, 75, 75, 85, 85, 85,
85, 85, 85, 86, 86, 86, 78, 78
);
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, 3, 1, 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, 6, 3, 1,
1, 1, 2, 1, 3, 3, 4, 4, 1, 4,
0, 1, 1, 1, 4, 4, 1, 3, 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
);
protected function yyprintln($msg) {
echo $msg, "\n";
}
protected function error($sym) {
$errorCallback = $this->errorCallback;
$errorCallback(
'Parse error:'
. ' Unexpected token ' . self::$yyterminals[$sym]
. ' on line ' . $this->lex->getLine()
);
}
/* Traditional Debug Mode */
private function YYTRACE_NEWSTATE($state, $sym) {
if ($this->yydebug) {
$this->yyprintln('% State ' . $state . ', Lookahead '
. ($sym < 0 ? '--none--' : self::$yyterminals[$sym]));
}
}
private function YYTRACE_READ($sym) {
if ($this->yydebug)
$this->yyprintln('% Reading ' . self::$yyterminals[$sym]);
}
private function YYTRACE_SHIFT($sym) {
if ($this->yydebug)
$this->yyprintln('% Shift ' . self::$yyterminals[$sym]);
}
private function YYTRACE_ACCEPT() {
if ($this->yydebug)
$this->yyprintln('% Accepted.');
}
private function YYTRACE_REDUCE($n) {
if ($this->yydebug)
$this->yyprintln('% Reduce by (' . $n . ') ' . self::$yyproduction[$n]);
}
private function YYTRACE_POP($state) {
if ($this->yydebug)
$this->yyprintln('% Recovering, uncovers state ' . $state);
}
private function YYTRACE_DISCARD($sym) {
if ($this->yydebug)
$this->yyprintln('% Discard ' . self::$yyterminals[$sym]);
}
/**
* Parser entry point
*/
public function yyparse($lex, $errorCallback) {
$this->lex = $lex;
$this->errorCallback = $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->yylex($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 (;;) {
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:
$this->error($yychar);
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_NamespaceStmt(array('ns' => $this->yyastk[$this->yysp-(3-2)]));
}
private function yyn12() {
$this->yyval = array(new Node_NamespaceStmt(array('ns' => $this->yyastk[$this->yysp-(5-2)])), $this->yyastk[$this->yysp-(5-4)]);
}
private function yyn13() {
$this->yyval = array(new Node_NamespaceStmt(array('ns' => null)), $this->yyastk[$this->yysp-(4-3)]);
}
private function yyn14() {
$this->yyval = new Node_UseStmt(array('uses' => $this->yyastk[$this->yysp-(3-2)]));
}
private function yyn15() {
$this->yyval = new Node_ConstStmt(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_UseStmtUse(array('ns' => $this->yyastk[$this->yysp-(1-1)], 'alias' => null));
}
private function yyn19() {
$this->yyval = new Node_UseStmtUse(array('ns' => $this->yyastk[$this->yysp-(3-1)], 'alias' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn20() {
$this->yyval = new Node_UseStmtUse(array('ns' => $this->yyastk[$this->yysp-(2-2)], 'alias' => null));
}
private function yyn21() {
$this->yyval = new Node_UseStmtUse(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_ConstStmtConst(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_ConstStmtConst(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_IfStmt(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_IfStmt(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_WhileStmt(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_DoStmt(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_ForStmt(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_SwitchStmt(array('cond' => $this->yyastk[$this->yysp-(5-3)], 'caseList' => $this->yyastk[$this->yysp-(5-5)]));
}
private function yyn37() {
$this->yyval = new Node_BreakStmt(array('num' => null));
}
private function yyn38() {
$this->yyval = new Node_BreakStmt(array('num' => $this->yyastk[$this->yysp-(3-2)]));
}
private function yyn39() {
$this->yyval = new Node_ContinueStmt(array('num' => null));
}
private function yyn40() {
$this->yyval = new Node_ContinueStmt(array('num' => $this->yyastk[$this->yysp-(3-2)]));
}
private function yyn41() {
$this->yyval = new Node_ReturnStmt(array('expr' => null));
}
private function yyn42() {
$this->yyval = new Node_ReturnStmt(array('expr' => $this->yyastk[$this->yysp-(3-2)]));
}
private function yyn43() {
$this->yyval = new Node_ReturnStmt(array('expr' => $this->yyastk[$this->yysp-(3-2)]));
}
private function yyn44() {
$this->yyval = new Node_GlobalStmt(array('vars' => $this->yyastk[$this->yysp-(3-2)]));
}
private function yyn45() {
$this->yyval = new Node_StaticStmt(array('vars' => $this->yyastk[$this->yysp-(3-2)]));
}
private function yyn46() {
$this->yyval = new Node_EchoStmt(array('exprs' => $this->yyastk[$this->yysp-(3-2)]));
}
private function yyn47() {
$this->yyval = new Node_InlineHTMLStmt(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_UnsetStmt(array('vars' => $this->yyastk[$this->yysp-(5-3)]));
}
private function yyn50() {
$this->yyval = new Node_ForeachStmt(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_ForeachStmt(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_ForeachStmt(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_DeclareStmt(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 = new Node_NoopStmt(array());
}
private function yyn55() {
$this->yyval = new Node_TryCatchStmt(array('stmts' => $this->yyastk[$this->yysp-(5-3)], 'catches' => $this->yyastk[$this->yysp-(5-5)]));
}
private function yyn56() {
$this->yyval = new Node_ThrowStmt(array('expr' => $this->yyastk[$this->yysp-(3-2)]));
}
private function yyn57() {
$this->yyval = new Node_GotoStmt(array('name' => $this->yyastk[$this->yysp-(3-2)]));
}
private function yyn58() {
$this->yyval = new Node_LabelStmt(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_CatchStmt(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_FuncStmt(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_ClassStmt(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_InterfaceStmt(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_ClassStmt::MODIFIER_ABSTRACT;
}
private function yyn71() {
$this->yyval = Node_ClassStmt::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_DeclareStmtDeclare(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_DeclareStmtDeclare(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_CaseStmt(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_CaseStmt(array('cond' => null, 'stmts' => $this->yyastk[$this->yysp-(4-4)])); $this->yyval = $this->yyastk[$this->yysp-(4-1)];
}
private function yyn95() {}
private function yyn96() {}
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_ElseIfStmt(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_ElseIfStmt(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_ElseStmt(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_ElseStmt(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_FuncStmtParam(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_FuncStmtParam(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_FuncStmtParam(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_FuncStmtParam(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_FuncCallStmtParam(array('value' => $this->yyastk[$this->yysp-(1-1)], 'byRef' => false)));
}
private function yyn119() {
$this->yyval = array(new Node_FuncCallStmtParam(array('value' => $this->yyastk[$this->yysp-(1-1)], 'byRef' => false)));
}
private function yyn120() {
$this->yyval = array(new Node_FuncCallStmtParam(array('value' => $this->yyastk[$this->yysp-(2-2)], 'byRef' => true)));
}
private function yyn121() {
$this->yyastk[$this->yysp-(3-1)][] = new Node_FuncCallStmtParam(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_FuncCallStmtParam(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_FuncCallStmtParam(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_StaticStmtVar(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_StaticStmtVar(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_StaticStmtVar(array('name' => substr($this->yyastk[$this->yysp-(1-1)], 1), 'default' => null)));
}
private function yyn132() {
$this->yyval = array(new Node_StaticStmtVar(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_PropertyStmt(array('type' => $this->yyastk[$this->yysp-(3-1)], 'props' => $this->yyastk[$this->yysp-(3-2)]));
}
private function yyn136() {
$this->yyval = new Node_ClassConstStmt(array('consts' => $this->yyastk[$this->yysp-(2-1)]));
}
private function yyn137() {
$this->yyval = new Node_ClassMethodStmt(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_ClassStmt::MODIFIER_PUBLIC;
}
private function yyn142() {
$this->yyval = Node_ClassStmt::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_ClassStmt::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_ClassStmt::MODIFIER_PUBLIC;
}
private function yyn147() {
$this->yyval = Node_ClassStmt::MODIFIER_PROTECTED;
}
private function yyn148() {
$this->yyval = Node_ClassStmt::MODIFIER_PRIVATE;
}
private function yyn149() {
$this->yyval = Node_ClassStmt::MODIFIER_STATIC;
}
private function yyn150() {
$this->yyval = Node_ClassStmt::MODIFIER_ABSTRACT;
}
private function yyn151() {
$this->yyval = Node_ClassStmt::MODIFIER_FINAL;
}
private function yyn152() {
$this->yyastk[$this->yysp-(3-1)][] = new Node_PropertyStmtProperty(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_PropertyStmtProperty(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_PropertyStmtProperty(array('name' => substr($this->yyastk[$this->yysp-(1-1)], 1), 'default' => null)));
}
private function yyn155() {
$this->yyval = array(new Node_PropertyStmtProperty(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_ClassConstStmtConst(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_ClassConstStmtConst(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_ListExpr(array('assignList' => $this->yyastk[$this->yysp-(6-3)], 'expr' => $this->yyastk[$this->yysp-(6-6)]));
}
private function yyn163() {
$this->yyval = new Node_AssignExpr(array('var' => $this->yyastk[$this->yysp-(3-1)], 'expr' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn164() {
$this->yyval = new Node_AssignRefExpr(array('var' => $this->yyastk[$this->yysp-(4-1)], 'refVar' => $this->yyastk[$this->yysp-(4-4)]));
}
private function yyn165() {
$this->yyval = new Node_AssignExpr(array('var' => $this->yyastk[$this->yysp-(6-1)], 'expr' => new Node_NewExpr(array('class' => $this->yyastk[$this->yysp-(6-5)], 'args' => $this->yyastk[$this->yysp-(6-6)]))));
}
private function yyn166() {
$this->yyval = new Node_NewExpr(array('class' => $this->yyastk[$this->yysp-(3-2)], 'args' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn167() {
$this->yyval = new Node_CloneExpr(array('expr' => $this->yyastk[$this->yysp-(2-2)]));
}
private function yyn168() {
$this->yyval = new Node_AssignPlusExpr(array('var' => $this->yyastk[$this->yysp-(3-1)], 'expr' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn169() {
$this->yyval = new Node_AssignMinusExpr(array('var' => $this->yyastk[$this->yysp-(3-1)], 'expr' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn170() {
$this->yyval = new Node_AssignMulExpr(array('var' => $this->yyastk[$this->yysp-(3-1)], 'expr' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn171() {
$this->yyval = new Node_AssignDivExpr(array('var' => $this->yyastk[$this->yysp-(3-1)], 'expr' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn172() {
$this->yyval = new Node_AssignConcatExpr(array('var' => $this->yyastk[$this->yysp-(3-1)], 'expr' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn173() {
$this->yyval = new Node_AssignModExpr(array('var' => $this->yyastk[$this->yysp-(3-1)], 'expr' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn174() {
$this->yyval = new Node_AssignBinAndExpr(array('var' => $this->yyastk[$this->yysp-(3-1)], 'expr' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn175() {
$this->yyval = new Node_AssignBinOrExpr(array('var' => $this->yyastk[$this->yysp-(3-1)], 'expr' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn176() {
$this->yyval = new Node_AssignBinXorExpr(array('var' => $this->yyastk[$this->yysp-(3-1)], 'expr' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn177() {
$this->yyval = new Node_AssignShiftLeftExpr(array('var' => $this->yyastk[$this->yysp-(3-1)], 'expr' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn178() {
$this->yyval = new Node_AssignShiftRightExpr(array('var' => $this->yyastk[$this->yysp-(3-1)], 'expr' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn179() {
$this->yyval = new Node_PostIncExpr(array('var' => $this->yyastk[$this->yysp-(2-1)]));
}
private function yyn180() {
$this->yyval = new Node_PreIncExpr(array('var' => $this->yyastk[$this->yysp-(2-2)]));
}
private function yyn181() {
$this->yyval = new Node_PostDecExpr(array('var' => $this->yyastk[$this->yysp-(2-1)]));
}
private function yyn182() {
$this->yyval = new Node_PreDecExpr(array('var' => $this->yyastk[$this->yysp-(2-2)]));
}
private function yyn183() {
$this->yyval = new Node_BooleanOrExpr(array('left' => $this->yyastk[$this->yysp-(3-1)], 'right' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn184() {
$this->yyval = new Node_BooleanAndExpr(array('left' => $this->yyastk[$this->yysp-(3-1)], 'right' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn185() {
$this->yyval = new Node_LogicalOrExpr(array('left' => $this->yyastk[$this->yysp-(3-1)], 'right' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn186() {
$this->yyval = new Node_LogicalAndExpr(array('left' => $this->yyastk[$this->yysp-(3-1)], 'right' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn187() {
$this->yyval = new Node_LogicalXorExpr(array('left' => $this->yyastk[$this->yysp-(3-1)], 'right' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn188() {
$this->yyval = new Node_BinaryOrExpr(array('left' => $this->yyastk[$this->yysp-(3-1)], 'right' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn189() {
$this->yyval = new Node_BinaryAndExpr(array('left' => $this->yyastk[$this->yysp-(3-1)], 'right' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn190() {
$this->yyval = new Node_BinaryXorExpr(array('left' => $this->yyastk[$this->yysp-(3-1)], 'right' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn191() {
$this->yyval = new Node_ConcatExpr(array('left' => $this->yyastk[$this->yysp-(3-1)], 'right' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn192() {
$this->yyval = new Node_PlusExpr(array('left' => $this->yyastk[$this->yysp-(3-1)], 'right' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn193() {
$this->yyval = new Node_MinusExpr(array('left' => $this->yyastk[$this->yysp-(3-1)], 'right' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn194() {
$this->yyval = new Node_MulExpr(array('left' => $this->yyastk[$this->yysp-(3-1)], 'right' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn195() {
$this->yyval = new Node_DivExpr(array('left' => $this->yyastk[$this->yysp-(3-1)], 'right' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn196() {
$this->yyval = new Node_ModExpr(array('left' => $this->yyastk[$this->yysp-(3-1)], 'right' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn197() {
$this->yyval = new Node_ShiftLeftExpr(array('left' => $this->yyastk[$this->yysp-(3-1)], 'right' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn198() {
$this->yyval = new Node_ShiftRightExpr(array('left' => $this->yyastk[$this->yysp-(3-1)], 'right' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn199() {
$this->yyval = new Node_UnaryPlusExpr(array('expr' => $this->yyastk[$this->yysp-(2-2)]));
}
private function yyn200() {
$this->yyval = new Node_UnaryMinusExpr(array('expr' => $this->yyastk[$this->yysp-(2-2)]));
}
private function yyn201() {
$this->yyval = new Node_BooleanNotExpr(array('expr' => $this->yyastk[$this->yysp-(2-2)]));
}
private function yyn202() {
$this->yyval = new Node_BinaryNotExpr(array('expr' => $this->yyastk[$this->yysp-(2-2)]));
}
private function yyn203() {
$this->yyval = new Node_IdenticalExpr(array('left' => $this->yyastk[$this->yysp-(3-1)], 'right' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn204() {
$this->yyval = new Node_NotIdenticalExpr(array('left' => $this->yyastk[$this->yysp-(3-1)], 'right' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn205() {
$this->yyval = new Node_EqualExpr(array('left' => $this->yyastk[$this->yysp-(3-1)], 'right' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn206() {
$this->yyval = new Node_NotEqualExpr(array('left' => $this->yyastk[$this->yysp-(3-1)], 'right' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn207() {
$this->yyval = new Node_SmallerExpr(array('left' => $this->yyastk[$this->yysp-(3-1)], 'right' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn208() {
$this->yyval = new Node_SmallerOrEqualExpr(array('left' => $this->yyastk[$this->yysp-(3-1)], 'right' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn209() {
$this->yyval = new Node_GreaterExpr(array('left' => $this->yyastk[$this->yysp-(3-1)], 'right' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn210() {
$this->yyval = new Node_GreaterOrEqualExpr(array('left' => $this->yyastk[$this->yysp-(3-1)], 'right' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn211() {
$this->yyval = new Node_InstanceOfExpr(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_TernaryExpr(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_TernaryExpr(array('cond' => $this->yyastk[$this->yysp-(4-1)], 'if' => null, 'else' => $this->yyastk[$this->yysp-(4-4)]));
}
private function yyn215() {
$this->yyval = new Node_IssetExpr(array('vars' => $this->yyastk[$this->yysp-(4-3)]));
}
private function yyn216() {
$this->yyval = new Node_EmptyExpr(array('var' => $this->yyastk[$this->yysp-(4-3)]));
}
private function yyn217() {
$this->yyval = new Node_IncludeExpr(array('expr' => $this->yyastk[$this->yysp-(2-2)], 'type' => Node_IncludeExpr::TYPE_INCLUDE));
}
private function yyn218() {
$this->yyval = new Node_IncludeExpr(array('expr' => $this->yyastk[$this->yysp-(2-2)], 'type' => Node_IncludeExpr::TYPE_INCLUDE_ONCE));
}
private function yyn219() {
$this->yyval = new Node_EvalExpr(array('expr' => $this->yyastk[$this->yysp-(4-3)]));
}
private function yyn220() {
$this->yyval = new Node_IncludeExpr(array('expr' => $this->yyastk[$this->yysp-(2-2)], 'type' => Node_IncludeExpr::TYPE_REQUIRE));
}
private function yyn221() {
$this->yyval = new Node_IncludeExpr(array('expr' => $this->yyastk[$this->yysp-(2-2)], 'type' => Node_IncludeExpr::TYPE_REQUIRE_ONCE));
}
private function yyn222() {
$this->yyval = new Node_IntCastExpr(array('expr' => $this->yyastk[$this->yysp-(2-2)]));
}
private function yyn223() {
$this->yyval = new Node_DoubleCastExpr(array('expr' => $this->yyastk[$this->yysp-(2-2)]));
}
private function yyn224() {
$this->yyval = new Node_StringCastExpr(array('expr' => $this->yyastk[$this->yysp-(2-2)]));
}
private function yyn225() {
$this->yyval = new Node_ArrayCastExpr(array('expr' => $this->yyastk[$this->yysp-(2-2)]));
}
private function yyn226() {
$this->yyval = new Node_ObjectCastExpr(array('expr' => $this->yyastk[$this->yysp-(2-2)]));
}
private function yyn227() {
$this->yyval = new Node_BoolCastExpr(array('expr' => $this->yyastk[$this->yysp-(2-2)]));
}
private function yyn228() {
$this->yyval = new Node_UnsetCastExpr(array('expr' => $this->yyastk[$this->yysp-(2-2)]));
}
private function yyn229() {
$this->yyval = new Node_ExitExpr(array('expr' => $this->yyastk[$this->yysp-(2-2)]));
}
private function yyn230() {
$this->yyval = new Node_ErrorSupressExpr(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_ArrayExpr(array('items' => $this->yyastk[$this->yysp-(4-3)]));
}
private function yyn233() {
$this->yyval = new Node_ShellExecExpr(array('expr' => $this->yyastk[$this->yysp-(3-2)]));
}
private function yyn234() {
$this->yyval = new Node_PrintExpr(array('expr' => $this->yyastk[$this->yysp-(2-2)]));
}
private function yyn235() {
$this->yyval = new Node_LambdaFuncExpr(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_LambdaFuncExprUse(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_LambdaFuncExprUse(array('var' => substr($this->yyastk[$this->yysp-(2-2)], 1), 'byRef' => $this->yyastk[$this->yysp-(2-1)])));
}
private function yyn240() {
$this->yyval = new Node_FuncCallExpr(array('func' => $this->yyastk[$this->yysp-(4-1)], 'args' => $this->yyastk[$this->yysp-(4-3)]));
}
private function yyn241() {
$this->yyval = new Node_StaticCallExpr(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_StaticCallExpr(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_StaticCallExpr(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_StaticCallExpr(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_FuncCallExpr(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 = new Node_PropertyFetchExpr(array('var' => $this->yyastk[$this->yysp-(3-1)], 'name' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn254() {
$this->yyval = $this->yyastk[$this->yysp-(1-1)];
}
private function yyn255() {
$this->yyval = null;
}
private function yyn256() {
$this->yyval = null;
}
private function yyn257() {
$this->yyval = $this->yyastk[$this->yysp-(3-2)];
}
private function yyn258() {
$this->yyval = null;
}
private function yyn259() {
$this->yyval = stripcslashes($this->yyastk[$this->yysp-(1-1)]);
}
private function yyn260() {
$this->yyval = $this->yyastk[$this->yysp-(1-1)];
}
private function yyn261() {
$this->yyval = array();
}
private function yyn262() {
$this->yyval = $this->yyastk[$this->yysp-(3-2)];
}
private function yyn263() {
$this->yyval = new Node_LNumberScalar(array('value' => (int) $this->yyastk[$this->yysp-(1-1)]));
}
private function yyn264() {
$this->yyval = new Node_DNumberScalar(array('value' => (double) $this->yyastk[$this->yysp-(1-1)]));
}
private function yyn265() {
$this->yyval = new Node_StringScalar(array('value' => str_replace(array('\\\'', '\\\\'), array('\'', '\\'), substr($this->yyastk[$this->yysp-(1-1)], 1, -1))));
}
private function yyn266() {
$this->yyval = new Node_LineConstScalar(array());
}
private function yyn267() {
$this->yyval = new Node_FileConstScalar(array());
}
private function yyn268() {
$this->yyval = new Node_DirConstScalar(array());
}
private function yyn269() {
$this->yyval = new Node_ClassConstScalar(array());
}
private function yyn270() {
$this->yyval = new Node_MethodConstScalar(array());
}
private function yyn271() {
$this->yyval = new Node_FuncConstScalar(array());
}
private function yyn272() {
$this->yyval = new Node_NSConstScalar(array());
}
private function yyn273() {
$this->yyval = new Node_StringScalar(array('value' => stripcslashes($this->yyastk[$this->yysp-(3-2)])));
}
private function yyn274() {
$this->yyval = new Node_StringScalar(array('value' => ''));
}
private function yyn275() {
$this->yyval = $this->yyastk[$this->yysp-(1-1)];
}
private function yyn276() {
$this->yyval = new Node_ConstFetchExpr(array('name' => $this->yyastk[$this->yysp-(1-1)]));
}
private function yyn277() {
$this->yyval = new Node_UnaryPlusExpr(array('expr' => $this->yyastk[$this->yysp-(2-2)]));
}
private function yyn278() {
$this->yyval = new Node_UnaryMinusExpr(array('expr' => $this->yyastk[$this->yysp-(2-2)]));
}
private function yyn279() {
$this->yyval = new Node_ArrayExpr(array('items' => $this->yyastk[$this->yysp-(4-3)]));
}
private function yyn280() {
$this->yyval = new Node_ClassConstFetchExpr(array('class' => $this->yyastk[$this->yysp-(3-1)], 'name' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn281() {
$this->yyval = new Node_StringScalar(array('value' => $this->yyastk[$this->yysp-(1-1)]));
}
private function yyn282() {
$this->yyval = $this->yyastk[$this->yysp-(1-1)];
}
private function yyn283() {
$this->yyval = new Node_ConstFetchExpr(array('name' => $this->yyastk[$this->yysp-(1-1)]));
}
private function yyn284() {
$this->yyval = $this->yyastk[$this->yysp-(1-1)];
}
private function yyn285() {
$this->yyval = new Node_EncapsedString(array('parts' => $this->yyastk[$this->yysp-(3-2)]));
}
private function yyn286() {
$this->yyval = new Node_EncapsedString(array('parts' => $this->yyastk[$this->yysp-(3-2)]));
}
private function yyn287() {
$this->yyval = array();
}
private function yyn288() {
$this->yyval = $this->yyastk[$this->yysp-(2-1)];
}
private function yyn289() {}
private function yyn290() {}
private function yyn291() {
$this->yyastk[$this->yysp-(5-1)][] = new Node_ArrayExprItem(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 yyn292() {
$this->yyastk[$this->yysp-(3-1)][] = new Node_ArrayExprItem(array('key' => null, 'value' => $this->yyastk[$this->yysp-(3-3)], 'byRef' => false)); $this->yyval = $this->yyastk[$this->yysp-(3-1)];
}
private function yyn293() {
$this->yyval = array(new Node_ArrayExprItem(array('key' => $this->yyastk[$this->yysp-(3-1)], 'value' => $this->yyastk[$this->yysp-(3-3)], 'byRef' => false)));
}
private function yyn294() {
$this->yyval = array(new Node_ArrayExprItem(array('key' => null, 'value' => $this->yyastk[$this->yysp-(1-1)], 'byRef' => false)));
}
private function yyn295() {
$this->yyval = $this->yyastk[$this->yysp-(1-1)];
}
private function yyn296() {
$this->yyval = $this->yyastk[$this->yysp-(1-1)];
}
private function yyn297() {
$this->yyval = new Node_MethodCallExpr(array('var' => $this->yyastk[$this->yysp-(6-1)], 'name' => $this->yyastk[$this->yysp-(6-3)], 'args' => $this->yyastk[$this->yysp-(6-5)]));
}
private function yyn298() {
$this->yyval = new Node_PropertyFetchExpr(array('var' => $this->yyastk[$this->yysp-(3-1)], 'name' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn299() {
$this->yyval = $this->yyastk[$this->yysp-(1-1)];
}
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 = new Node_Variable(array('name' => $this->yyastk[$this->yysp-(2-2)]));
}
private function yyn303() {
$this->yyval = $this->yyastk[$this->yysp-(1-1)];
}
private function yyn304() {
$this->yyval = new Node_StaticPropertyFetchExpr(array('class' => $this->yyastk[$this->yysp-(3-1)], 'name' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn305() {
$this->yyval = new Node_StaticPropertyFetchExpr(array('class' => $this->yyastk[$this->yysp-(3-1)], 'name' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn306() {
$this->yyval = new Node_ArrayDimFetchExpr(array('var' => $this->yyastk[$this->yysp-(4-1)], 'dim' => $this->yyastk[$this->yysp-(4-3)]));
}
private function yyn307() {
$this->yyval = new Node_ArrayDimFetchExpr(array('var' => $this->yyastk[$this->yysp-(4-1)], 'dim' => $this->yyastk[$this->yysp-(4-3)]));
}
private function yyn308() {
$this->yyval = new Node_Variable(array('name' => substr($this->yyastk[$this->yysp-(1-1)], 1)));
}
private function yyn309() {
$this->yyval = new Node_Variable(array('name' => $this->yyastk[$this->yysp-(4-3)]));
}
private function yyn310() {
$this->yyval = null;
}
private function yyn311() {
$this->yyval = $this->yyastk[$this->yysp-(1-1)];
}
private function yyn312() {
$this->yyval = $this->yyastk[$this->yysp-(1-1)];
}
private function yyn313() {
$this->yyval = $this->yyastk[$this->yysp-(1-1)];
}
private function yyn314() {
$this->yyval = new Node_ArrayDimFetchExpr(array('var' => $this->yyastk[$this->yysp-(4-1)], 'dim' => $this->yyastk[$this->yysp-(4-3)]));
}
private function yyn315() {
$this->yyval = new Node_ArrayDimFetchExpr(array('var' => $this->yyastk[$this->yysp-(4-1)], 'dim' => $this->yyastk[$this->yysp-(4-3)]));
}
private function yyn316() {
$this->yyval = $this->yyastk[$this->yysp-(1-1)];
}
private function yyn317() {
$this->yyval = $this->yyastk[$this->yysp-(3-2)];
}
private function yyn318() {
$this->yyastk[$this->yysp-(3-1)][] = $this->yyastk[$this->yysp-(3-3)]; $this->yyval = $this->yyastk[$this->yysp-(3-1)];
}
private function yyn319() {
$this->yyval = array($this->yyastk[$this->yysp-(1-1)]);
}
private function yyn320() {
$this->yyval = $this->yyastk[$this->yysp-(1-1)];
}
private function yyn321() {
$this->yyval = $this->yyastk[$this->yysp-(4-3)];
}
private function yyn322() {
$this->yyval = null;
}
private function yyn323() {
$this->yyval = array();
}
private function yyn324() {
$this->yyval = $this->yyastk[$this->yysp-(2-1)];
}
private function yyn325() {
$this->yyastk[$this->yysp-(5-1)][] = new Node_ArrayExprItem(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 yyn326() {
$this->yyastk[$this->yysp-(3-1)][] = new Node_ArrayExprItem(array('key' => null, 'value' => $this->yyastk[$this->yysp-(3-3)], 'byRef' => false)); $this->yyval = $this->yyastk[$this->yysp-(3-1)];
}
private function yyn327() {
$this->yyval = array(new Node_ArrayExprItem(array('key' => $this->yyastk[$this->yysp-(3-1)], 'value' => $this->yyastk[$this->yysp-(3-3)], 'byRef' => false)));
}
private function yyn328() {
$this->yyval = array(new Node_ArrayExprItem(array('key' => null, 'value' => $this->yyastk[$this->yysp-(1-1)], 'byRef' => false)));
}
private function yyn329() {
$this->yyastk[$this->yysp-(6-1)][] = new Node_ArrayExprItem(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 yyn330() {
$this->yyastk[$this->yysp-(4-1)][] = new Node_ArrayExprItem(array('key' => null, 'value' => $this->yyastk[$this->yysp-(4-4)], 'byRef' => true)); $this->yyval = $this->yyastk[$this->yysp-(4-1)];
}
private function yyn331() {
$this->yyval = array(new Node_ArrayExprItem(array('key' => $this->yyastk[$this->yysp-(4-1)], 'value' => $this->yyastk[$this->yysp-(4-4)], 'byRef' => true)));
}
private function yyn332() {
$this->yyval = array(new Node_ArrayExprItem(array('key' => null, 'value' => $this->yyastk[$this->yysp-(2-2)], 'byRef' => true)));
}
private function yyn333() {
$this->yyastk[$this->yysp-(2-1)][] = $this->yyastk[$this->yysp-(2-2)]; $this->yyval = $this->yyastk[$this->yysp-(2-1)];
}
private function yyn334() {
$this->yyastk[$this->yysp-(2-1)][] = stripcslashes($this->yyastk[$this->yysp-(2-2)]); $this->yyval = $this->yyastk[$this->yysp-(2-1)];
}
private function yyn335() {
$this->yyval = array($this->yyastk[$this->yysp-(1-1)]);
}
private function yyn336() {
$this->yyval = array(stripcslashes($this->yyastk[$this->yysp-(2-1)]), $this->yyastk[$this->yysp-(2-2)]);
}
private function yyn337() {
$this->yyval = new Node_Variable(array('name' => substr($this->yyastk[$this->yysp-(1-1)], 1)));
}
private function yyn338() {
$this->yyval = new Node_ArrayDimFetchExpr(array('var' => new Node_Variable(array('name' => substr($this->yyastk[$this->yysp-(4-1)], 1))), 'dim' => $this->yyastk[$this->yysp-(4-3)]));
}
private function yyn339() {
$this->yyval = new Node_PropertyFetchExpr(array('var' => new Node_Variable(array('name' => substr($this->yyastk[$this->yysp-(3-1)], 1))), 'name' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn340() {
$this->yyval = new Node_Variable(array('name' => $this->yyastk[$this->yysp-(3-2)]));
}
private function yyn341() {
$this->yyval = new Node_ArrayDimFetchExpr(array('var' => new Node_Variable(array('name' => $this->yyastk[$this->yysp-(6-2)])), 'dim' => $this->yyastk[$this->yysp-(6-4)]));
}
private function yyn342() {
$this->yyval = $this->yyastk[$this->yysp-(3-2)];
}
private function yyn343() {
$this->yyval = new Node_StringScalar(array('value' => $this->yyastk[$this->yysp-(1-1)]));
}
private function yyn344() {
$this->yyval = new Node_LNumberScalar(array('value' => (int) $this->yyastk[$this->yysp-(1-1)]));
}
private function yyn345() {
$this->yyval = new Node_Variable(array('name' => substr($this->yyastk[$this->yysp-(1-1)], 1)));
}
private function yyn346() {
$this->yyval = new Node_ClassConstFetchExpr(array('class' => $this->yyastk[$this->yysp-(3-1)], 'name' => $this->yyastk[$this->yysp-(3-3)]));
}
private function yyn347() {
$this->yyval = new Node_ClassConstFetchExpr(array('class' => $this->yyastk[$this->yysp-(3-1)], 'name' => $this->yyastk[$this->yysp-(3-3)]));
}
}