Location: PHPKode > scripts > PHP Parser > nikic-PHP-Parser-90b5acd/lib/PHPParser/Parser.php
<?php

/* This is an automatically GENERATED file, which should not be manually edited.
 * Instead edit one of the following:
 *  * the grammar file grammar/zend_language_parser.phpy
 *  * the parser skeleton grammar/kymacc.php.parser
 *  * the preprocessing script grammar/rebuildParser.php
 *
 * The skeleton for this parser was written by Moriyoshi Koizumi and is based on
 * the work by Masato Bito and is in the PUBLIC DOMAIN.
 */
class PHPParser_Parser
{
    const TOKEN_NONE    = -1;
    const TOKEN_INVALID = 149;

    const TOKEN_MAP_SIZE = 384;

    const YYLAST       = 913;
    const YY2TBLSTATE  = 328;
    const YYGLAST      = 415;
    const YYNLSTATES   = 544;
    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_INSTEADOF = 340;
    const T_GLOBAL = 341;
    const T_STATIC = 342;
    const T_ABSTRACT = 343;
    const T_FINAL = 344;
    const T_PRIVATE = 345;
    const T_PROTECTED = 346;
    const T_PUBLIC = 347;
    const T_VAR = 348;
    const T_UNSET = 349;
    const T_ISSET = 350;
    const T_EMPTY = 351;
    const T_HALT_COMPILER = 352;
    const T_CLASS = 353;
    const T_TRAIT = 354;
    const T_INTERFACE = 355;
    const T_EXTENDS = 356;
    const T_IMPLEMENTS = 357;
    const T_OBJECT_OPERATOR = 358;
    const T_DOUBLE_ARROW = 359;
    const T_LIST = 360;
    const T_ARRAY = 361;
    const T_CALLABLE = 362;
    const T_CLASS_C = 363;
    const T_TRAIT_C = 364;
    const T_METHOD_C = 365;
    const T_FUNC_C = 366;
    const T_LINE = 367;
    const T_FILE = 368;
    const T_COMMENT = 369;
    const T_DOC_COMMENT = 370;
    const T_OPEN_TAG = 371;
    const T_OPEN_TAG_WITH_ECHO = 372;
    const T_CLOSE_TAG = 373;
    const T_WHITESPACE = 374;
    const T_START_HEREDOC = 375;
    const T_END_HEREDOC = 376;
    const T_DOLLAR_OPEN_CURLY_BRACES = 377;
    const T_CURLY_OPEN = 378;
    const T_PAAMAYIM_NEKUDOTAYIM = 379;
    const T_NAMESPACE = 380;
    const T_NS_C = 381;
    const T_DIR = 382;
    const T_NS_SEPARATOR = 383;
    // }}}

    /* @var array Map of token ids to their respective names */
    protected static $terminals = array(
        "EOF",
        "error",
        "T_INCLUDE",
        "T_INCLUDE_ONCE",
        "T_EVAL",
        "T_REQUIRE",
        "T_REQUIRE_ONCE",
        "','",
        "T_LOGICAL_OR",
        "T_LOGICAL_XOR",
        "T_LOGICAL_AND",
        "T_PRINT",
        "'='",
        "T_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_INSTEADOF",
        "T_GLOBAL",
        "T_STATIC",
        "T_ABSTRACT",
        "T_FINAL",
        "T_PRIVATE",
        "T_PROTECTED",
        "T_PUBLIC",
        "T_VAR",
        "T_UNSET",
        "T_ISSET",
        "T_EMPTY",
        "T_HALT_COMPILER",
        "T_CLASS",
        "T_TRAIT",
        "T_INTERFACE",
        "T_EXTENDS",
        "T_IMPLEMENTS",
        "T_OBJECT_OPERATOR",
        "T_DOUBLE_ARROW",
        "T_LIST",
        "T_ARRAY",
        "T_CALLABLE",
        "T_CLASS_C",
        "T_TRAIT_C",
        "T_METHOD_C",
        "T_FUNC_C",
        "T_LINE",
        "T_FILE",
        "T_START_HEREDOC",
        "T_END_HEREDOC",
        "T_DOLLAR_OPEN_CURLY_BRACES",
        "T_CURLY_OPEN",
        "T_PAAMAYIM_NEKUDOTAYIM",
        "T_NAMESPACE",
        "T_NS_C",
        "T_DIR",
        "T_NS_SEPARATOR",
        "';'",
        "'{'",
        "'}'",
        "'('",
        "')'",
        "'$'",
        "']'",
        "'`'",
        "'\"'"
        , "???"
    );

    /* @var Map which translates lexer tokens to internal tokens */
    protected static $translate = array(
            0,  149,  149,  149,  149,  149,  149,  149,  149,  149,
          149,  149,  149,  149,  149,  149,  149,  149,  149,  149,
          149,  149,  149,  149,  149,  149,  149,  149,  149,  149,
          149,  149,  149,   47,  148,  149,  145,   46,   30,  149,
          143,  144,   44,   41,    7,   42,   43,   45,  149,  149,
          149,  149,  149,  149,  149,  149,  149,  149,   25,  140,
           35,   12,   37,   24,   59,  149,  149,  149,  149,  149,
          149,  149,  149,  149,  149,  149,  149,  149,  149,  149,
          149,  149,  149,  149,  149,  149,  149,  149,  149,  149,
          149,   60,  149,  146,   29,  149,  147,  149,  149,  149,
          149,  149,  149,  149,  149,  149,  149,  149,  149,  149,
          149,  149,  149,  149,  149,  149,  149,  149,  149,  149,
          149,  149,  149,  141,   28,  142,   49,  149,  149,  149,
          149,  149,  149,  149,  149,  149,  149,  149,  149,  149,
          149,  149,  149,  149,  149,  149,  149,  149,  149,  149,
          149,  149,  149,  149,  149,  149,  149,  149,  149,  149,
          149,  149,  149,  149,  149,  149,  149,  149,  149,  149,
          149,  149,  149,  149,  149,  149,  149,  149,  149,  149,
          149,  149,  149,  149,  149,  149,  149,  149,  149,  149,
          149,  149,  149,  149,  149,  149,  149,  149,  149,  149,
          149,  149,  149,  149,  149,  149,  149,  149,  149,  149,
          149,  149,  149,  149,  149,  149,  149,  149,  149,  149,
          149,  149,  149,  149,  149,  149,  149,  149,  149,  149,
          149,  149,  149,  149,  149,  149,  149,  149,  149,  149,
          149,  149,  149,  149,  149,  149,  149,  149,  149,  149,
          149,  149,  149,  149,  149,  149,    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,  149,  149,   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,  127,  128,  129,  130,  149,
          149,  149,  149,  149,  149,  131,  132,  133,  134,  135,
          136,  137,  138,  139
    );

    protected static $yyaction = array(
           61,   62,  363,   63,   64,-32766,-32766,-32766,  509,   65,
          708,  709,  710,  707,  706,  705,-32766,-32766,-32766,-32766,
        -32766,-32766,  132,-32766,-32766,-32766,-32766,-32766,-32767,-32767,
        -32767,-32767,-32766,  351,-32766,-32766,-32766,-32766,-32766,   66,
           67,  335,  663,  664,   41,   68,  548,   69,  232,  233,
           70,   71,   72,   73,   74,   75,   76,   77,   30,  246,
           78,  336,  364, -112,    0,  469,  833,  834,  365,  641,
          890,  446,  590,  126,  835,   53,   27,  366,  294,  367,
          687,  368,  921,  369,  923,  922,  370,-32766,-32766,-32766,
           42,   43,  371,  339,  275,   44,  372,  337,   79,  361,
          297,  292,  293,-32766,  918,-32766,-32766,  373,  374,  375,
          376,  377,  391,   40,  349,  338,  573,  613,  378,  379,
          380,  381,  845,  839,  840,  841,  842,  836,  837,  253,
        -32766,   87,   88,   89,  391,  843,  838,  338,  597,  519,
          128,   80,  129,  273,  698,  257,  261,   47,  890,   90,
           91,   92,   93,   94,   95,   96,   97,   98,   99,  100,
          101,  102,  103,  104,  105,  106,  107,  108,  109,  110,
           21,  247,  884,  108,  109,  110,  238,  247,  799,-32766,
          310,-32766,-32766,-32766,  642,  548,-32766,-32766,-32766,-32766,
           56,  353,-32766,-32766,-32766,   58,-32766,-32766,-32766,-32766,
        -32766,   55,-32766,-32766,-32766,-32766,-32766,-32766,-32766,-32766,
        -32766,  557,-32766,-32766,  518,-32766,  548,  673,-32766,  390,
        -32766,  273,  227,-32766,-32766,-32766,-32766,-32766,  199,-32766,
          234,-32766,  682,  587,-32766,-32766,-32766,-32766,-32766,-32766,
        -32766,   46,  236,-32766,-32766,  281,-32766,  588,  348,-32766,
          390,-32766,  346,  333,  521,-32766,-32766,-32766,  271,  911,
          262,  237,  894,  911,-32766,  436,   59,  700,  358,  202,
          548,  123,  538,   35,-32766,  333,  124,-32766,-32766,-32766,
          271,-32766,  122,-32766,  692,-32766,-32766,-32766,-32766,  700,
          228,   22,-32766,-32766,-32766,-32766,  239,-32766,-32766,  611,
        -32766,  548,  134,-32766,  390,-32766,  462,  354,-32766,-32766,
        -32766,-32766,-32766,  252,-32766,  226,-32766,  845,  133,-32766,
          856,  612,  200,-32766,-32766,-32766,  259,  280,-32766,-32766,
          135,-32766,  855,  130,-32766,  390,  129,  207,  333,  206,
        -32766,-32766,-32766,  271,-32766,-32766,-32766,  125,  601,-32766,
          136,  299,  700,  498,  499,  548,  105,  106,  107,-32766,
          489,   28,-32766,-32766,-32766,  201,-32766,  525,-32766,  527,
        -32766,-32766,-32766,-32766,  663,  664,  532,-32766,-32766,-32766,
        -32766,  539,-32766,-32766,  610,-32766,  548,  427,-32766,  390,
        -32766,  528,  542,-32766,-32766,-32766,-32766,-32766,  608,-32766,
          247,-32766,  686,  535,-32766,  697,  543,  240,-32766,-32766,
        -32766,  554,  523,-32766,-32766,   57,-32766,   54,   60,-32766,
          390,  246, -155,  279,  402,-32766,-32766,-32766,  506,  694,
          243,  471,  848,  564,-32766,  916,  404,  272,  493,  562,
          548,  318,  549,  548,-32766,  517,  347,-32766,-32766,-32766,
          505,-32766,  417,-32766,  416,-32766,-32766,-32766,-32766,  405,
          826,  403,-32766,-32766,-32766,-32766,  345,-32766,-32766,  802,
        -32766,  548,  504,-32766,  390,-32766,  485,  487,-32766,-32766,
        -32766,-32766,-32766,  278,-32766,  911,-32766,  502,  492,-32766,
          413,  483,  269,-32766,-32766,-32766,  418,  337,-32766,-32766,
          229,-32766, -152,  454,-32766,  390,  274,  373,  374,  360,
        -32766,-32766,-32766,  344,  614,-32766,  573,  613,  378,  379,
          312,  548,  615,  260,  844,-32766,  258,  578,-32766,-32766,
        -32766,  270,-32766,  346,-32766,  629,-32766, -332,    0,-32766,
         -333,  583,-32766,-32766,-32766,-32766,-32766,  205,-32766,-32766,
           49,-32766,  548,  424,-32766,  390,-32766,  264, -266,-32766,
        -32766,-32766,-32766,-32766,  343,-32766,  409,-32766,  513, -275,
        -32766, -274,  265,  470,-32766,-32766,-32766,  885,  337,-32766,
        -32766,  591,-32766,  592,  635,-32766,  390,   51,  373,  374,
          576,-32766,-32766,-32766,  644,  600,-32766,  573,  613,  378,
          379,  586,  548,   52,  691,  683,-32766,  558,  690,-32766,
        -32766,-32766,  589,-32766,  693,-32766,  625,-32766,  203,  204,
        -32766,  530,  581,-32766,-32766,-32766,-32766,  531,  627,-32766,
        -32766,  599,-32766,  582,  584,-32766,  390,  197,  636,  675,
           86,  520,  522,-32766,  127,  833,  834,  524,  541,-32766,
          529,  537,  534,  835,   48,  111,  112,  113,  114,  115,
          116,  117,  118,  119,  120,  121,  533,  331,  824,  337,
          330,  887,  585,-32766,   34,  291,  337,  330,  875,  373,
          374,  633,  291,  634,  919,  920,  373,  374,  553,  613,
          378,  379,  737,  739,  889,  553,  613,  378,  379,  891,
          451,  895,  839,  840,  841,  842,  836,  837,  320,  917,
          277,  478,  774,   32,  843,  838,  556,  277,  337,  330,
        -32766,   31,-32766,  555,  291,-32766,  131,  198,  373,  374,
          137,   33,  138,  224,  225,  230,  231,  553,  613,  378,
          379,-32767,-32767,-32767,-32767,  103,  104,  105,  106,  107,
          337,  235,  248,  249,  337,  250,   85,   84,   83,  277,
          373,  374, -332,   82,  373,  374,  455,  337,  251,  573,
          613,  378,  379,  573,  613,  378,  379,  373,  374,   81,
          329,   36,   37,  337,   38,    0,  573,  613,  378,  379,
           50,   45,   39,  373,  374,  276,  337,  796,  490,  886,
          337,  795,  573,  613,  378,  379,  373,  374,  900,  457,
          373,  374,  827,  337,  609,  573,  613,  378,  379,  573,
          613,  378,  379,  373,  374,  516,  778,  770,  515,  480,
          574,  507,  573,  613,  378,  379,  805,  548,  337,  890,
          851,  872,  337,  332,  804,  823,  832,  604,  373,  374,
          915,  873,  373,  374,-32766,-32766,-32766,  573,  613,  378,
          379,  573,  613,  378,  379,  807,  806,  803,  791,  775,
        -32766,  809,-32766,-32766,-32766,-32766,  508,  482,  445,  359,
          355,  319,  300,   25,   24,   23,   20,    0,   26,   29,
          298,    0,    0,    0,  852,  869,  488,  870,  874,  888,
          808,  792,    0,  391,  793,    0,  338,    0,    0,    0,
          340,    0,  273
    );

    protected static $yycheck = array(
            2,    3,    4,    5,    6,    8,    9,   10,   70,   11,
          104,  105,  106,  107,  108,  109,    8,    9,   10,    8,
            9,   24,   60,   26,   27,   28,   29,   30,   31,   32,
           33,   34,   24,    7,   26,   27,   28,   29,   30,   41,
           42,    7,  123,  124,    7,   47,   70,   49,   50,   51,
           52,   53,   54,   55,   56,   57,   58,   59,   60,   61,
           62,   63,   64,  144,    0,   75,   68,   69,   70,   25,
           72,   70,   74,    7,   76,   77,   78,   79,    7,   81,
          142,   83,   70,   85,   72,   73,   88,    8,    9,   10,
           92,   93,   94,   95,    7,   97,   98,   95,  100,    7,
            7,  103,  104,   24,  142,   26,   27,  105,  106,  111,
          112,  113,  136,    7,    7,  139,  114,  115,  116,  117,
          122,  123,  132,  125,  126,  127,  128,  129,  130,  131,
            8,    8,    9,   10,  136,  137,  138,  139,  140,  141,
           25,  143,  141,  145,  142,  147,  148,   24,   72,   26,
           27,   28,   29,   30,   31,   32,   33,   34,   35,   36,
           37,   38,   39,   40,   41,   42,   43,   44,   45,   46,
          144,   48,   72,   44,   45,   46,   30,   48,  144,   64,
           72,    8,    9,   10,  140,   70,    8,    9,   10,   74,
           60,   25,   77,   78,   79,   60,   81,   24,   83,   26,
           85,   60,   24,   88,   26,   27,   28,   92,   93,   94,
           64,  140,   97,   98,   70,  100,   70,   72,  103,  104,
           74,  145,    7,   77,   78,   79,  111,   81,    7,   83,
           30,   85,  140,  140,   88,    8,    9,   10,   92,   93,
           94,  133,  134,   97,   98,  145,  100,  140,    7,  103,
          104,   24,  139,   96,  141,  140,  141,  111,  101,   75,
           75,   30,   70,   75,   64,   70,   60,  110,  121,   12,
           70,  141,   25,  143,   74,   96,  141,   77,   78,   79,
          101,   81,  141,   83,  140,   85,  140,  141,   88,  110,
          145,  144,   92,   93,   94,   64,    7,   97,   98,  142,
          100,   70,  141,  103,  104,   74,  145,  141,   77,   78,
           79,  111,   81,    7,   83,   30,   85,  132,   25,   88,
          132,  142,   12,   92,   93,   94,  120,   60,   97,   98,
           12,  100,  148,  141,  103,  104,  141,   12,   96,   12,
          140,  141,  111,  101,    8,    9,   10,  141,   25,   64,
           90,   91,  110,   65,   66,   70,   41,   42,   43,   74,
           65,   66,   77,   78,   79,   12,   81,   25,   83,   25,
           85,  140,  141,   88,  123,  124,   25,   92,   93,   94,
           64,   25,   97,   98,  142,  100,   70,  120,  103,  104,
           74,   25,   25,   77,   78,   79,  111,   81,   30,   83,
           48,   85,  140,  141,   88,  140,  141,   30,   92,   93,
           94,  140,  141,   97,   98,   60,  100,   60,   60,  103,
          104,   61,   72,   75,   70,  140,  141,  111,   67,   70,
           87,   99,   70,   70,   64,   70,   72,  102,   89,   70,
           70,   71,   70,   70,   74,   70,   70,   77,   78,   79,
           70,   81,   70,   83,   70,   85,  140,  141,   88,   70,
          144,   70,   92,   93,   94,   64,   70,   97,   98,   72,
          100,   70,   72,  103,  104,   74,   72,   72,   77,   78,
           79,  111,   81,   75,   83,   75,   85,   89,   86,   88,
           79,  101,  118,   92,   93,   94,   87,   95,   97,   98,
           87,  100,   87,   87,  103,  104,  118,  105,  106,   95,
          140,  141,  111,   95,  115,   64,  114,  115,  116,  117,
          135,   70,  115,  120,  132,   74,  120,  140,   77,   78,
           79,  119,   81,  139,   83,  140,   85,  120,   -1,   88,
          120,  140,  141,   92,   93,   94,   64,  121,   97,   98,
          121,  100,   70,  122,  103,  104,   74,  135,  135,   77,
           78,   79,  111,   81,  139,   83,  139,   85,  135,  135,
           88,  135,  135,  135,   92,   93,   94,  142,   95,   97,
           98,  140,  100,  140,  140,  103,  104,  140,  105,  106,
          140,  140,  141,  111,  140,  140,   64,  114,  115,  116,
          117,  140,   70,  140,  140,  140,   74,  140,  140,   77,
           78,   79,  140,   81,  140,   83,  140,   85,   41,   42,
           88,  140,  140,  141,   92,   93,   94,  140,  140,   97,
           98,  140,  100,  140,  140,  103,  104,   60,  140,  142,
          141,  141,  141,  111,  141,   68,   69,  141,  141,   72,
          141,  141,  141,   76,   12,   13,   14,   15,   16,   17,
           18,   19,   20,   21,   22,   23,  141,  143,  142,   95,
           96,  142,  140,  141,  143,  101,   95,   96,  142,  105,
          106,  142,  101,  142,  142,  142,  105,  106,  114,  115,
          116,  117,   50,   51,  142,  114,  115,  116,  117,  142,
          123,  142,  125,  126,  127,  128,  129,  130,  131,  142,
          136,  142,  144,  143,  137,  138,  142,  136,   95,   96,
          143,  143,  145,  142,  101,  143,  143,  143,  105,  106,
          143,  143,  143,  143,  143,  143,  143,  114,  115,  116,
          117,   35,   36,   37,   38,   39,   40,   41,   42,   43,
           95,  143,  143,  143,   95,  143,  143,  143,  143,  136,
          105,  106,  120,  143,  105,  106,  144,   95,  143,  114,
          115,  116,  117,  114,  115,  116,  117,  105,  106,  143,
          143,  143,  143,   95,  143,   -1,  114,  115,  116,  117,
          143,  143,  143,  105,  106,  143,   95,  142,   80,  146,
           95,  142,  114,  115,  116,  117,  105,  106,  144,  144,
          105,  106,  144,   95,  142,  114,  115,  116,  117,  114,
          115,  116,  117,  105,  106,   82,  144,  144,  144,  144,
          142,   84,  114,  115,  116,  117,  144,   70,   95,   72,
          144,  144,   95,  142,  144,  146,  144,  142,  105,  106,
          146,  144,  105,  106,    8,    9,   10,  114,  115,  116,
          117,  114,  115,  116,  117,  144,  144,  144,  144,  144,
           24,  104,   26,   27,   28,   29,  144,  144,  144,  144,
          144,  144,  144,  144,  144,  144,  144,   -1,  144,  144,
          144,   -1,   -1,   -1,  146,  146,  146,  146,  146,  146,
          146,  146,   -1,  136,  147,   -1,  139,   -1,   -1,   -1,
          143,   -1,  145
    );

    protected static $yybase = array(
            0,  574,  581,  623,  688,  701,  718,  402,  747,  672,
          659,  655,  743,  705,    2,  483,  483,  483,  483,  483,
          344,  366,  351,  351,  356,  351,  342,   -2,   -2,   -2,
          200,  200,  231,  231,  231,  231,  231,  231,  231,  231,
          200,  231,  482,  401,  532,  316,  370,  115,  285,  146,
          451,  451,  451,  451,  451,  451,  451,  451,  451,  451,
          451,  451,  451,  451,  451,  451,  451,  451,  451,  451,
          451,  451,  451,  451,  451,  451,  451,  451,  451,  451,
          451,  451,  451,  451,  451,  451,  451,  451,  451,  451,
          451,  451,  451,  451,  451,  451,  451,  451,  451,  451,
          451,  451,  451,  451,  451,  451,  451,  451,  451,  451,
          451,  451,  451,  451,  451,  451,  451,  451,  451,  451,
          451,  451,  451,  451,  451,  451,  451,  451,  451,  451,
          451,  451,  451,  451,  451,  451,  451,  451,  451,   44,
          441,  429,  493,  494,  461,  491,  683,  682,  668,  744,
          742,  413,  746,  567,  557,  293,  552,  536,  529,  526,
          497,  569,  559,  685,  750,  435,  745,  684,  123,  123,
          123,  123,  123,  123,  123,  123,  123,  122,   11,  336,
          336,  336,  336,  336,  336,  336,  336,  336,  336,  336,
          336,  336,  336,  336,  227,  227,  173,  577,  577,  577,
          577,  577,  577,  577,  577,  577,  577,  577,   79,  178,
          846,    8,   -3,   -3,   -3,   -3,  642,  706,  706,  706,
          706,  179,  157,  242,  431,  431,  360,  431,  503,  377,
          767,  767,  767,  767,  767,  767,  767,  767,  767,  767,
          767,  767,  350,  375,  315,  315,  582,  582,  -81,  -81,
          -81,  -81,  251,  185,  188,  184,  -62,  408,  192,  192,
          192,  348,  392,  410,  195,    1,  129,  129,  129,  -24,
          -24,  -24,  -24,  499,  -24,  -24,  -24,  113,  108,  108,
           12,  161,  349,  539,  262,  398,  541,  434,  130,  206,
          271,  425,  145,  418,  425,  295,  288,  145,  166,   44,
          265,  423,  135,  472,  382,  467,  409,   71,   93,  107,
          267,  141,  100,   26,  416,  622,  568,  665,  -38,  420,
          -10,  141,  147,  664,  465,   92,   34,  468,  144,  368,
          391,  384,  332,  391,  405,  368,  648,  368,  373,  368,
          360,  106,  638,  373,  368,  374,  373,  388,  391,  364,
          412,  384,  368,  481,  487,  390,  221,  332,  368,  390,
          368,  405,   64,  636,  620,  323,  615,  647,  614,  524,
          613,  354,  500,  399,  407,  592,  593,  608,  389,  396,
          590,  578,  427,  376,  357,  422,  588,  531,  355,  406,
          418,  394,  352,  417,  570,  437,  417,  755,  385,  436,
          403,  411,  455,  310,  353,  501,  427,  737,  757,  372,
          609,  734,  417,  583,  447,   66,  257,  610,  369,  417,
          612,  417,  725,  506,  591,  417,  724,  365,  543,  427,
          352,  352,  352,  723,   37,  754,  639,  722,  721,  753,
          752,  707,  751,  641,  653,  358,  639,  702,  699,  736,
          306,  584,  423,  438,  363,  443,   87,  318,  704,  417,
          417,  509,  499,  417,  463,  733,  404,  426,  748,  392,
          362,  652,  735,  417,  414,  749,   87,  700,  649,  697,
          387,  741,  525,  637,  511,  327,  696,  325,  542,  587,
          454,  740,  395,  444,  400,  510,  380,  692,  589,  247,
          361,  739,  498,  397,  732,  625,  450,  488,  507,  415,
          433,  335,  343,  359,  738,  367,  476,  474,  464,    0,
            0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
            0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
            0,    0,    0,    0,    0,   -2,   -2,   -2,   -2,   -2,
           -2,   -2,   -2,   -2,   -2,   -2,   -2,   -2,   -2,   -2,
           -2,   -2,   -2,   -2,   -2,   -2,   -2,   -2,   -2,   -2,
           -2,    0,    0,    0,   -2,   -2,   -2,   -2,   -2,   -2,
           -2,   -2,   -2,   -2,   -2,   -2,   -2,   -2,   -2,   -2,
           -2,   -2,   -2,   -2,   -2,   -2,   -2,   -2,   -2,   -2,
           -2,   -2,   -2,   -2,   -2,   -2,   -2,   -2,   -2,   -2,
           -2,   -2,   -2,   -2,   -2,   -2,   -2,   -2,   -2,   -2,
           -2,   -2,   -2,   -2,   -2,   -2,   -2,   -2,   -2,   -2,
           -2,   -2,   -2,   -2,   -2,   -2,   -2,   -2,   -2,   -2,
           -2,   -2,   -2,   -2,   -2,   -2,   -2,   -2,   -2,   -2,
           -2,   -2,   -2,   -2,   -2,   -2,   -2,   -2,   -2,   -2,
           -2,   -2,   -2,   -2,   -2,   -2,   -2,   -2,   -2,   -2,
           -2,   -2,   -2,   -2,   -2,   -2,   -2,   -2,   -2,   -2,
           -2,   -2,   -2,  123,  123,  123,  123,  123,  123,  123,
          123,  123,  123,  123,  123,  123,  123,  123,  123,  123,
          123,  123,  123,  123,  123,  123,  123,  123,  123,  123,
          123,  123,    0,    0,    0,    0,    0,    0,    0,    0,
            0,  123,  123,  123,  123,  123,  123,  123,  123,  123,
          123,  123,  123,  123,  123,  123,  123,  123,  123,  123,
          123,  767,  767,  767,  767,  767,  767,  767,  767,  767,
          767,  767,  123,  123,  123,  123,  123,  123,  123,  123,
            0,  129,  129,  129,  129,  -94,  -94,  -94,  767,  767,
          767,  767,  767,  767,    0,    0,    0,    0,    0,    0,
            0,    0,    0,    0,    0,    0,  -94,  -94,  129,  129,
          767,  767,  -24,  -24,  -24,  -24,  -24,  108,  108,  108,
          -24,  108,   76,   76,   76,  108,  108,  108,  100,  100,
            0,    0,    0,    0,    0,    0,    0,   76,    0,    0,
            0,  373,    0,    0,    0,   76,  260,  260,   87,  260,
          260,  141,    0,    0,  427,  373,    0,  364,  373,    0,
            0,    0,    0,    0,    0,  570,    0,   66,  609,  241,
          427,    0,    0,    0,    0,    0,    0,    0,  427,  289,
          289,  215,    0,  358,    0,    0,    0,  215,  241,    0,
            0,   87
    );

    protected static $yydefault = array(
            3,32767,32767,    1,32767,32767,32767,32767,32767,32767,
        32767,32767,32767,32767,32767,  104,   96,  110,   95,  106,
        32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
          358,  358,  122,  122,  122,  122,  122,  122,  122,  122,
          316,32767,32767,32767,32767,32767,32767,32767,32767,32767,
          173,  173,  173,32767,  348,  348,  348,  348,  348,  348,
          348,32767,32767,32767,32767,32767,32767,32767,32767,32767,
        32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
        32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
        32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
        32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
        32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
        32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
        32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
        32767,  363,32767,32767,32767,32767,32767,32767,32767,32767,
        32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
        32767,32767,32767,32767,32767,32767,32767,32767,  232,  233,
          235,  236,  172,  125,  349,  362,  171,  199,  201,  250,
          200,  177,  182,  183,  184,  185,  186,  187,  188,  189,
          190,  191,  192,  176,  229,  228,  197,  313,  313,  316,
        32767,32767,32767,32767,32767,32767,32767,32767,  198,  202,
          204,  203,  219,  220,  217,  218,  175,  221,  222,  223,
          224,  157,  157,  157,  357,  357,32767,  357,32767,32767,
        32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
        32767,32767,  158,32767,  211,  212,  276,  276,  117,  117,
          117,  117,  117,32767,32767,32767,32767,  284,32767,32767,
        32767,32767,32767,  286,32767,32767,  206,  207,  205,32767,
        32767,32767,32767,32767,32767,32767,32767,32767,  285,32767,
        32767,32767,32767,32767,32767,32767,32767,  334,  321,  272,
        32767,32767,32767,  265,32767,  107,  109,32767,32767,32767,
        32767,  302,  339,32767,32767,32767,   17,32767,32767,32767,
          370,  334,32767,32767,   19,32767,32767,32767,32767,  227,
        32767,  338,  332,32767,32767,32767,32767,32767,32767,   63,
        32767,32767,32767,32767,32767,   63,  281,   63,32767,   63,
        32767,  315,  287,32767,   63,   74,32767,   72,32767,32767,
           76,32767,   63,   93,   93,  254,  315,   54,   63,  254,
           63,32767,32767,32767,32767,    4,32767,32767,32767,32767,
        32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
        32767,32767,  267,32767,  323,32767,  337,  336,  324,32767,
          265,32767,  215,  194,  266,32767,  196,32767,32767,  270,
          273,32767,32767,32767,  134,32767,  268,  180,32767,32767,
        32767,32767,  365,32767,32767,  174,32767,32767,32767,  130,
        32767,   61,  332,32767,32767,  355,32767,32767,  332,  269,
          208,  209,  210,32767,  121,32767,  310,32767,32767,32767,
        32767,32767,32767,  327,32767,  333,32767,32767,32767,32767,
          111,32767,  302,32767,32767,32767,   75,32767,32767,  178,
          126,32767,32767,  364,32767,32767,32767,  320,32767,32767,
        32767,32767,32767,   62,32767,32767,   77,32767,32767,32767,
        32767,  332,32767,32767,32767,  115,32767,  169,32767,32767,
        32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
        32767,  332,32767,32767,32767,32767,32767,32767,32767,    4,
        32767,  151,32767,32767,32767,32767,32767,32767,32767,   25,
           25,    3,  137,    3,  137,   25,  101,   25,   25,  137,
           93,   93,   25,   25,   25,  144,   25,   25,   25,   25,
           25,   25,   25,   25
    );

    protected static $yygoto = array(
          141,  141,  173,  173,  173,  173,  173,  173,  173,  173,
          141,  173,  142,  143,  144,  148,  153,  155,  181,  175,
          172,  172,  172,  172,  174,  174,  174,  174,  174,  174,
          174,  168,  169,  170,  171,  179,  757,  758,  392,  760,
          781,  782,  783,  784,  785,  786,  787,  789,  725,  145,
          146,  147,  149,  150,  151,  152,  154,  177,  178,  180,
          196,  208,  209,  210,  211,  212,  213,  214,  215,  217,
          218,  219,  220,  244,  245,  266,  267,  268,  430,  431,
          432,  182,  183,  184,  185,  186,  187,  188,  189,  190,
          191,  192,  156,  157,  158,  159,  176,  160,  194,  161,
          162,  163,  164,  195,  165,  193,  139,  166,  167,  452,
          452,  452,  452,  452,  452,  452,  452,  452,  452,  452,
          453,  453,  453,  453,  453,  453,  453,  453,  453,  453,
          453,  552,  552,  552,  464,  491,  394,  394,  394,  394,
          394,  394,  394,  394,  394,  394,  394,  394,  394,  394,
          394,  394,  394,  394,  407,  551,  551,  551,  810,  810,
          662,  662,  662,  662,  662,  594,  283,  595,  510,  399,
          399,  567,  679,  632,  849,  850,  863,  660,  714,  426,
          222,  622,  622,  622,  622,  223,  617,  623,  494,  395,
          395,  395,  395,  395,  395,  395,  395,  395,  395,  395,
          395,  395,  395,  395,  395,  395,  395,  465,  472,  514,
          904,  398,  398,  425,  425,  459,  425,  419,  322,  421,
          421,  393,  396,  412,  422,  428,  460,  463,  473,  481,
          501,    5,  476,  284,  327,    1,   15,    2,    6,    7,
          550,  550,  550,    8,    9,   10,  668,   16,   11,   17,
           12,   18,   13,   19,   14,  704,  328,  400,  400,  643,
          628,  626,  626,  624,  626,  526,  401,  652,  647,  847,
          847,  847,  847,  847,  847,  847,  847,  847,  847,  847,
          437,  438,  441,  447,  477,  479,  497,  290,  910,  910,
          881,  881,  486,  880,  880,  263,  913,  910,  303,  255,
          723,  306,  822,  821,  306,  896,  896,  896,  861,  304,
          323,  410,  913,  913,  897,  316,  420,  769,  658,  559,
          879,  671,  536,  324,  466,  565,  311,  311,  311,  801,
          241,  676,  496,  439,  440,  442,  444,  448,  475,  631,
          858,  311,  285,  286,  603,  495,  712,    0,  406,  321,
            0,    0,    0,  314,    0,    0,  429,    0,    0,    0,
            0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
            0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
            0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
            0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
            0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
            0,    0,    0,    0,  411
    );

    protected static $yygcheck = array(
           15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
           15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
           15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
           15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
           15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
           15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
           15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
           15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
           15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
           15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
           15,   15,   15,   15,   15,   15,   15,   15,   15,   35,
           35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
           86,   86,   86,   86,   86,   86,   86,   86,   86,   86,
           86,    7,    7,    7,   21,   21,   35,   35,   35,   35,
           35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
           35,   35,   35,   35,   71,    6,    6,    6,   35,   35,
           35,   35,   35,   35,   35,   29,   44,   29,   35,   86,
           86,   12,   12,   12,   12,   12,   12,   12,   12,   75,
           40,   35,   35,   35,   35,   40,   35,   35,   35,   82,
           82,   82,   82,   82,   82,   82,   82,   82,   82,   82,
           82,   82,   82,   82,   82,   82,   82,   36,   36,   36,
          104,   82,   82,   28,   28,   28,   28,   28,   28,   28,
           28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
           28,   13,   42,   42,   42,    2,   13,    2,   13,   13,
            5,    5,    5,   13,   13,   13,   54,   13,   13,   13,
           13,   13,   13,   13,   13,   67,   67,   89,   89,    5,
            5,    5,    5,    5,    5,    5,    5,    5,    5,   93,
           93,   93,   93,   93,   93,   93,   93,   93,   93,   93,
           52,   52,   52,   52,   52,   52,   52,    4,  105,  105,
           83,   83,   94,   84,   84,   92,  105,  105,   26,   92,
           71,    4,   91,   91,    4,   84,   84,   84,   97,   30,
           70,   30,  105,  105,  102,   27,   30,   72,   50,   10,
           84,   55,   46,    9,   30,   11,   90,   90,   90,   80,
           30,   56,   30,   85,   85,   85,   85,   85,   85,   43,
           96,   90,   44,   44,   34,   77,   69,   -1,    4,   90,
           -1,   -1,   -1,    4,   -1,   -1,    4,   -1,   -1,   -1,
           -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
           -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
           -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
           -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
           -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
           -1,   -1,   -1,   -1,   71
    );

    protected static $yygbase = array(
            0,    0, -286,    0,   10,  239,  154,  130,    0,  -10,
           25,  -23,  -29, -289,    0,  -30,    0,    0,    0,    0,
            0,   83,    0,    0,    0,    0,  245,   84,  -11,  142,
          -28,    0,    0,    0,  -13,  -88,  -42,    0,    0,    0,
         -344,    0,  -38,  -12, -188,    0,   23,    0,    0,    0,
           66,    0,  247,    0,  205,   24,  -18,    0,    0,    0,
            0,    0,    0,    0,    0,    0,    0,   13,    0,  -15,
           85,   74,   70,    0,    0,  148,    0,  -14,    0,    0,
           -6,    0,  -35,   44,   47,  278,  -77,    0,    0,   11,
           68,   43,   38,   72,   94,    0,  -16,  109,    0,    0,
            0,    0,   87,    0,  170,   34,    0
    );

    protected static $yygdefault = array(
        -32768,  362,    3,  546,  382,  570,  571,  572,  307,  305,
          560,  566,  467,    4,  568,  140,  295,  575,  296,  500,
          577,  414,  579,  580,  308,  309,  415,  315,  216,  593,
          503,  313,  596,  357,  602,  301,  449,  383,  350,  461,
          221,  423,  456,  630,  282,  638,  540,  646,  649,  450,
          657,  352,  433,  434,  667,  672,  677,  680,  334,  325,
          474,  684,  685,  256,  689,  511,  512,  703,  242,  711,
          317,  724,  342,  788,  790,  397,  408,  484,  797,  326,
          800,  384,  385,  386,  387,  435,  818,  815,  289,  866,
          287,  443,  254,  853,  468,  356,  903,  862,  288,  388,
          389,  302,  898,  341,  905,  912,  458
    );

    protected static $yylhs = array(
            0,    1,    2,    2,    4,    4,    3,    3,    3,    3,
            3,    3,    3,    3,    3,    8,    8,   10,   10,   10,
           10,    9,    9,   11,   13,   13,   14,   14,   14,   14,
            5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
            5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
            5,    5,    5,    5,    5,    5,    5,    5,   33,   33,
           34,   27,   27,   30,   30,    6,    7,    7,    7,   37,
           37,   37,   38,   38,   41,   41,   39,   39,   42,   42,
           22,   22,   29,   29,   32,   32,   31,   31,   43,   23,
           23,   23,   23,   44,   44,   45,   45,   46,   46,   20,
           20,   16,   16,   47,   18,   18,   48,   17,   17,   19,
           19,   36,   36,   49,   49,   50,   50,   51,   51,   51,
           51,   52,   52,   53,   53,   54,   54,   24,   24,   55,
           55,   55,   25,   25,   56,   56,   40,   40,   57,   57,
           57,   57,   62,   62,   63,   63,   64,   64,   64,   64,
           65,   66,   66,   61,   61,   58,   58,   60,   60,   68,
           68,   67,   67,   67,   67,   67,   67,   59,   59,   69,
           69,   26,   26,   21,   21,   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,   71,   77,   77,   79,   79,   80,   81,
           81,   81,   81,   81,   81,   86,   86,   35,   35,   35,
           72,   72,   87,   87,   82,   82,   88,   88,   88,   88,
           88,   73,   73,   73,   76,   76,   76,   78,   78,   93,
           93,   93,   93,   93,   93,   93,   93,   93,   93,   93,
           93,   93,   93,   12,   12,   12,   12,   12,   12,   74,
           74,   74,   74,   94,   94,   96,   96,   95,   95,   97,
           97,   28,   28,   28,   28,   99,   99,   98,   98,   98,
           98,   98,  100,  100,   84,   84,   89,   89,   83,   83,
          101,  101,  101,  101,   90,   90,   90,   90,   85,   85,
           91,   91,   91,   70,   70,  102,  102,  102,   75,   75,
          103,  103,  104,  104,  104,  104,   92,   92,   92,   92,
          105,  105,  105,  105,  105,  105,  105,  106,  106,  106
    );

    protected static $yylen = array(
            1,    1,    2,    0,    1,    3,    1,    1,    1,    1,
            3,    5,    4,    3,    3,    3,    1,    1,    3,    2,
            4,    3,    1,    3,    2,    0,    1,    1,    1,    1,
            3,    7,   10,    5,    7,    9,    5,    2,    3,    2,
            3,    2,    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,    5,    1,
            2,    2,    0,    2,    0,    2,    0,    2,    1,    3,
            1,    4,    1,    4,    1,    4,    1,    3,    3,    3,
            4,    4,    5,    0,    2,    4,    3,    1,    1,    1,
            4,    0,    2,    5,    0,    2,    6,    0,    2,    0,
            3,    1,    0,    1,    3,    3,    5,    0,    1,    1,
            1,    1,    0,    1,    3,    1,    2,    3,    1,    1,
            2,    4,    3,    1,    1,    3,    2,    0,    3,    3,
            8,    3,    1,    3,    0,    2,    4,    5,    4,    4,
            3,    1,    1,    1,    3,    1,    1,    0,    1,    1,
            2,    1,    1,    1,    1,    1,    1,    1,    3,    1,
            3,    3,    1,    0,    1,    1,    6,    3,    4,    4,
            1,    2,    3,    3,    3,    3,    3,    3,    3,    3,
            3,    3,    3,    2,    2,    2,    2,    3,    3,    3,
            3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
            3,    3,    3,    2,    2,    2,    2,    3,    3,    3,
            3,    3,    3,    3,    3,    3,    3,    3,    5,    4,
            4,    4,    2,    2,    4,    2,    2,    2,    2,    2,
            2,    2,    2,    2,    2,    2,    1,    4,    3,    3,
            2,    9,   10,    3,    0,    4,    1,    3,    2,    4,
            6,    8,    4,    4,    4,    1,    1,    1,    2,    3,
            1,    1,    1,    1,    1,    1,    0,    3,    3,    4,
            4,    0,    2,    3,    0,    1,    1,    0,    3,    1,
            1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
            3,    2,    1,    1,    3,    2,    2,    4,    3,    1,
            3,    3,    3,    0,    2,    0,    1,    3,    1,    3,
            1,    1,    1,    1,    1,    6,    4,    3,    6,    4,
            4,    4,    1,    3,    1,    2,    1,    1,    4,    1,
            3,    6,    4,    4,    4,    4,    1,    4,    0,    1,
            1,    3,    1,    3,    1,    1,    4,    0,    0,    2,
            3,    1,    3,    1,    4,    2,    2,    2,    1,    2,
            1,    4,    3,    3,    3,    6,    3,    1,    1,    1
    );

    protected $yyval;
    protected $yyastk;
    protected $stackPos;
    protected $lexer;

    /**
     * Creates a parser instance.
     *
     * @param PHPParser_Lexer $lexer A lexer
     */
    public function __construct(PHPParser_Lexer $lexer) {
        $this->lexer = $lexer;
    }

    /**
     * Parses PHP code into a node tree.
     *
     * @param string $code The source code to parse
     *
     * @return array Array of statements
     */
    public function parse($code) {
        $this->lexer->startLexing($code);

        // We start off with no lookahead-token
        $tokenId = self::TOKEN_NONE;

        // The attributes for a node are taken from the first and last token of the node.
        // From the first token only the startAttributes are taken and from the last only
        // the endAttributes. Both are merged using the array union operator (+).
        $startAttributes = array('startLine' => 1);
        $endAttributes   = array();

        // In order to figure out the attributes for the starting token, we have to keep
        // them in a stack
        $attributeStack = array($startAttributes);

        // Start off in the initial state and keep a stack of previous states
        $state = 0;
        $stateStack = array($state);

        // AST stack (?)
        $this->yyastk = array();

        // Current position in the stack(s)
        $this->stackPos = 0;

        for (;;) {
            if (self::$yybase[$state] == 0) {
                $yyn = self::$yydefault[$state];
            } else {
                if ($tokenId === self::TOKEN_NONE) {
                    // fetch the next token id from the lexer and fetch additional info by-ref
                    $origTokenId = $this->lexer->getNextToken($tokenValue, $startAttributes, $endAttributes);

                    // map the lexer token id to the internally used token id's
                    $tokenId = $origTokenId >= 0 && $origTokenId < self::TOKEN_MAP_SIZE
                        ? self::$translate[$origTokenId]
                        : self::TOKEN_INVALID;

                    if ($tokenId === self::TOKEN_INVALID) {
                        throw new RangeException(sprintf(
                            'The lexer returned an invalid token (id=%d, value=%s)',
                            $origTokenId, $tokenValue
                        ));
                    }

                    $attributeStack[$this->stackPos] = $startAttributes;
                }

                if ((($yyn = self::$yybase[$state] + $tokenId) >= 0
                     && $yyn < self::YYLAST && self::$yycheck[$yyn] == $tokenId
                     || ($state < self::YY2TBLSTATE
                        && ($yyn = self::$yybase[$state + self::YYNLSTATES] + $tokenId) >= 0
                        && $yyn < self::YYLAST
                        && self::$yycheck[$yyn] == $tokenId))
                    && ($yyn = self::$yyaction[$yyn]) != self::YYDEFAULT) {
                    /*
                     * >= YYNLSTATE: shift and reduce
                     * > 0: shift
                     * = 0: accept
                     * < 0: reduce
                     * = -YYUNEXPECTED: error
                     */
                    if ($yyn > 0) {
                        /* shift */
                        ++$this->stackPos;

                        $stateStack[$this->stackPos]     = $state = $yyn;
                        $this->yyastk[$this->stackPos]   = $tokenValue;
                        $attributeStack[$this->stackPos] = $startAttributes;
                        $tokenId = self::TOKEN_NONE;

                        if ($yyn < self::YYNLSTATES)
                            continue;

                        /* $yyn >= YYNLSTATES means shift-and-reduce */
                        $yyn -= self::YYNLSTATES;
                    } else {
                        $yyn = -$yyn;
                    }
                } else {
                    $yyn = self::$yydefault[$state];
                }
            }

            for (;;) {
                /* reduce/error */
                if ($yyn == 0) {
                    /* accept */
                    return $this->yyval;
                } elseif ($yyn != self::YYUNEXPECTED) {
                    /* reduce */
                    try {
                        $this->{'yyn' . $yyn}(
                            $attributeStack[$this->stackPos - self::$yylen[$yyn]]
                            + $endAttributes
                        );
                    } catch (PHPParser_Error $e) {
                        if (-1 === $e->getRawLine()) {
                            $e->setRawLine($startAttributes['startLine']);
                        }

                        throw $e;
                    }

                    /* Goto - shift nonterminal */
                    $this->stackPos -= self::$yylen[$yyn];
                    $yyn = self::$yylhs[$yyn];
                    if (($yyp = self::$yygbase[$yyn] + $stateStack[$this->stackPos]) >= 0
                         && $yyp < self::YYGLAST
                         && self::$yygcheck[$yyp] == $yyn) {
                        $state = self::$yygoto[$yyp];
                    } else {
                        $state = self::$yygdefault[$yyn];
                    }

                    ++$this->stackPos;

                    $stateStack[$this->stackPos]     = $state;
                    $this->yyastk[$this->stackPos]   = $this->yyval;
                    $attributeStack[$this->stackPos] = $startAttributes;
                } else {
                    /* error */
                    throw new PHPParser_Error(
                        'Unexpected token ' . self::$terminals[$tokenId],
                        $startAttributes['startLine']
                    );
                }

                if ($state < self::YYNLSTATES)
                    break;
                /* >= YYNLSTATES means shift-and-reduce */
                $yyn = $state - self::YYNLSTATES;
            }
        }
    }

    protected function yyn0() {
        $this->yyval = $this->yyastk[$this->stackPos];
    }

    protected function yyn1($attributes) {
         $this->yyval = PHPParser_Node_Stmt_Namespace::postprocess($this->yyastk[$this->stackPos-(1-1)]); 
    }

    protected function yyn2($attributes) {
         if (is_array($this->yyastk[$this->stackPos-(2-2)])) { $this->yyval = array_merge($this->yyastk[$this->stackPos-(2-1)], $this->yyastk[$this->stackPos-(2-2)]); } else { $this->yyastk[$this->stackPos-(2-1)][] = $this->yyastk[$this->stackPos-(2-2)]; $this->yyval = $this->yyastk[$this->stackPos-(2-1)]; }; 
    }

    protected function yyn3($attributes) {
         $this->yyval = array(); 
    }

    protected function yyn4($attributes) {
         $this->yyval = array($this->yyastk[$this->stackPos-(1-1)]); 
    }

    protected function yyn5($attributes) {
         $this->yyastk[$this->stackPos-(3-1)][] = $this->yyastk[$this->stackPos-(3-3)]; $this->yyval = $this->yyastk[$this->stackPos-(3-1)]; 
    }

    protected function yyn6($attributes) {
         $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; 
    }

    protected function yyn7($attributes) {
         $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; 
    }

    protected function yyn8($attributes) {
         $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; 
    }

    protected function yyn9($attributes) {
         $this->yyval = new PHPParser_Node_Stmt_HaltCompiler($this->lexer->handleHaltCompiler(), $attributes); 
    }

    protected function yyn10($attributes) {
         $this->yyval = new PHPParser_Node_Stmt_Namespace(new PHPParser_Node_Name($this->yyastk[$this->stackPos-(3-2)], $attributes), null, $attributes); 
    }

    protected function yyn11($attributes) {
         $this->yyval = new PHPParser_Node_Stmt_Namespace(new PHPParser_Node_Name($this->yyastk[$this->stackPos-(5-2)], $attributes), $this->yyastk[$this->stackPos-(5-4)], $attributes); 
    }

    protected function yyn12($attributes) {
         $this->yyval = new PHPParser_Node_Stmt_Namespace(null, $this->yyastk[$this->stackPos-(4-3)], $attributes); 
    }

    protected function yyn13($attributes) {
         $this->yyval = new PHPParser_Node_Stmt_Use($this->yyastk[$this->stackPos-(3-2)], $attributes); 
    }

    protected function yyn14($attributes) {
         $this->yyval = new PHPParser_Node_Stmt_Const($this->yyastk[$this->stackPos-(3-2)], $attributes); 
    }

    protected function yyn15($attributes) {
         $this->yyastk[$this->stackPos-(3-1)][] = $this->yyastk[$this->stackPos-(3-3)]; $this->yyval = $this->yyastk[$this->stackPos-(3-1)]; 
    }

    protected function yyn16($attributes) {
         $this->yyval = array($this->yyastk[$this->stackPos-(1-1)]); 
    }

    protected function yyn17($attributes) {
         $this->yyval = new PHPParser_Node_Stmt_UseUse(new PHPParser_Node_Name($this->yyastk[$this->stackPos-(1-1)], $attributes), null, $attributes); 
    }

    protected function yyn18($attributes) {
         $this->yyval = new PHPParser_Node_Stmt_UseUse(new PHPParser_Node_Name($this->yyastk[$this->stackPos-(3-1)], $attributes), $this->yyastk[$this->stackPos-(3-3)], $attributes); 
    }

    protected function yyn19($attributes) {
         $this->yyval = new PHPParser_Node_Stmt_UseUse(new PHPParser_Node_Name($this->yyastk[$this->stackPos-(2-2)], $attributes), null, $attributes); 
    }

    protected function yyn20($attributes) {
         $this->yyval = new PHPParser_Node_Stmt_UseUse(new PHPParser_Node_Name($this->yyastk[$this->stackPos-(4-2)], $attributes), $this->yyastk[$this->stackPos-(4-4)], $attributes); 
    }

    protected function yyn21($attributes) {
         $this->yyastk[$this->stackPos-(3-1)][] = $this->yyastk[$this->stackPos-(3-3)]; $this->yyval = $this->yyastk[$this->stackPos-(3-1)]; 
    }

    protected function yyn22($attributes) {
         $this->yyval = array($this->yyastk[$this->stackPos-(1-1)]); 
    }

    protected function yyn23($attributes) {
         $this->yyval = new PHPParser_Node_Const($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); 
    }

    protected function yyn24($attributes) {
         if (is_array($this->yyastk[$this->stackPos-(2-2)])) { $this->yyval = array_merge($this->yyastk[$this->stackPos-(2-1)], $this->yyastk[$this->stackPos-(2-2)]); } else { $this->yyastk[$this->stackPos-(2-1)][] = $this->yyastk[$this->stackPos-(2-2)]; $this->yyval = $this->yyastk[$this->stackPos-(2-1)]; }; 
    }

    protected function yyn25($attributes) {
         $this->yyval = array(); 
    }

    protected function yyn26($attributes) {
         $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; 
    }

    protected function yyn27($attributes) {
         $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; 
    }

    protected function yyn28($attributes) {
         $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; 
    }

    protected function yyn29($attributes) {
         throw new PHPParser_Error('__halt_compiler() can only be used from the outermost scope'); 
    }

    protected function yyn30($attributes) {
         $this->yyval = $this->yyastk[$this->stackPos-(3-2)]; 
    }

    protected function yyn31($attributes) {
         $this->yyval = new PHPParser_Node_Stmt_If($this->yyastk[$this->stackPos-(7-3)], array('stmts' => is_array($this->yyastk[$this->stackPos-(7-5)]) ? $this->yyastk[$this->stackPos-(7-5)] : array($this->yyastk[$this->stackPos-(7-5)]), 'elseifs' => $this->yyastk[$this->stackPos-(7-6)], 'else' => $this->yyastk[$this->stackPos-(7-7)]), $attributes); 
    }

    protected function yyn32($attributes) {
         $this->yyval = new PHPParser_Node_Stmt_If($this->yyastk[$this->stackPos-(10-3)], array('stmts' => $this->yyastk[$this->stackPos-(10-6)], 'elseifs' => $this->yyastk[$this->stackPos-(10-7)], 'else' => $this->yyastk[$this->stackPos-(10-8)]), $attributes); 
    }

    protected function yyn33($attributes) {
         $this->yyval = new PHPParser_Node_Stmt_While($this->yyastk[$this->stackPos-(5-3)], $this->yyastk[$this->stackPos-(5-5)], $attributes); 
    }

    protected function yyn34($attributes) {
         $this->yyval = new PHPParser_Node_Stmt_Do($this->yyastk[$this->stackPos-(7-5)], is_array($this->yyastk[$this->stackPos-(7-2)]) ? $this->yyastk[$this->stackPos-(7-2)] : array($this->yyastk[$this->stackPos-(7-2)]), $attributes); 
    }

    protected function yyn35($attributes) {
         $this->yyval = new PHPParser_Node_Stmt_For(array('init' => $this->yyastk[$this->stackPos-(9-3)], 'cond' => $this->yyastk[$this->stackPos-(9-5)], 'loop' => $this->yyastk[$this->stackPos-(9-7)], 'stmts' => $this->yyastk[$this->stackPos-(9-9)]), $attributes); 
    }

    protected function yyn36($attributes) {
         $this->yyval = new PHPParser_Node_Stmt_Switch($this->yyastk[$this->stackPos-(5-3)], $this->yyastk[$this->stackPos-(5-5)], $attributes); 
    }

    protected function yyn37($attributes) {
         $this->yyval = new PHPParser_Node_Stmt_Break(null, $attributes); 
    }

    protected function yyn38($attributes) {
         $this->yyval = new PHPParser_Node_Stmt_Break($this->yyastk[$this->stackPos-(3-2)], $attributes); 
    }

    protected function yyn39($attributes) {
         $this->yyval = new PHPParser_Node_Stmt_Continue(null, $attributes); 
    }

    protected function yyn40($attributes) {
         $this->yyval = new PHPParser_Node_Stmt_Continue($this->yyastk[$this->stackPos-(3-2)], $attributes); 
    }

    protected function yyn41($attributes) {
         $this->yyval = new PHPParser_Node_Stmt_Return(null, $attributes); 
    }

    protected function yyn42($attributes) {
         $this->yyval = new PHPParser_Node_Stmt_Return($this->yyastk[$this->stackPos-(3-2)], $attributes); 
    }

    protected function yyn43($attributes) {
         $this->yyval = new PHPParser_Node_Stmt_Global($this->yyastk[$this->stackPos-(3-2)], $attributes); 
    }

    protected function yyn44($attributes) {
         $this->yyval = new PHPParser_Node_Stmt_Static($this->yyastk[$this->stackPos-(3-2)], $attributes); 
    }

    protected function yyn45($attributes) {
         $this->yyval = new PHPParser_Node_Stmt_Echo($this->yyastk[$this->stackPos-(3-2)], $attributes); 
    }

    protected function yyn46($attributes) {
         $this->yyval = new PHPParser_Node_Stmt_InlineHTML($this->yyastk[$this->stackPos-(1-1)], $attributes); 
    }

    protected function yyn47($attributes) {
         $this->yyval = $this->yyastk[$this->stackPos-(2-1)]; 
    }

    protected function yyn48($attributes) {
         $this->yyval = new PHPParser_Node_Stmt_Unset($this->yyastk[$this->stackPos-(5-3)], $attributes); 
    }

    protected function yyn49($attributes) {
         $this->yyval = new PHPParser_Node_Stmt_Foreach($this->yyastk[$this->stackPos-(7-3)], $this->yyastk[$this->stackPos-(7-5)], array('keyVar' => null, 'byRef' => false, 'stmts' => $this->yyastk[$this->stackPos-(7-7)]), $attributes); 
    }

    protected function yyn50($attributes) {
         $this->yyval = new PHPParser_Node_Stmt_Foreach($this->yyastk[$this->stackPos-(8-3)], $this->yyastk[$this->stackPos-(8-6)], array('keyVar' => null, 'byRef' => true, 'stmts' => $this->yyastk[$this->stackPos-(8-8)]), $attributes); 
    }

    protected function yyn51($attributes) {
         $this->yyval = new PHPParser_Node_Stmt_Foreach($this->yyastk[$this->stackPos-(10-3)], $this->yyastk[$this->stackPos-(10-8)], array('keyVar' => $this->yyastk[$this->stackPos-(10-5)], 'byRef' => $this->yyastk[$this->stackPos-(10-7)], 'stmts' => $this->yyastk[$this->stackPos-(10-10)]), $attributes); 
    }

    protected function yyn52($attributes) {
         $this->yyval = new PHPParser_Node_Stmt_Declare($this->yyastk[$this->stackPos-(5-3)], $this->yyastk[$this->stackPos-(5-5)], $attributes); 
    }

    protected function yyn53($attributes) {
         $this->yyval = array(); /* means: no statement */ 
    }

    protected function yyn54($attributes) {
         $this->yyval = new PHPParser_Node_Stmt_TryCatch($this->yyastk[$this->stackPos-(5-3)], $this->yyastk[$this->stackPos-(5-5)], $attributes); 
    }

    protected function yyn55($attributes) {
         $this->yyval = new PHPParser_Node_Stmt_Throw($this->yyastk[$this->stackPos-(3-2)], $attributes); 
    }

    protected function yyn56($attributes) {
         $this->yyval = new PHPParser_Node_Stmt_Goto($this->yyastk[$this->stackPos-(3-2)], $attributes); 
    }

    protected function yyn57($attributes) {
         $this->yyval = new PHPParser_Node_Stmt_Label($this->yyastk[$this->stackPos-(2-1)], $attributes); 
    }

    protected function yyn58($attributes) {
         $this->yyval = array($this->yyastk[$this->stackPos-(1-1)]); 
    }

    protected function yyn59($attributes) {
         $this->yyastk[$this->stackPos-(2-1)][] = $this->yyastk[$this->stackPos-(2-2)]; $this->yyval = $this->yyastk[$this->stackPos-(2-1)]; 
    }

    protected function yyn60($attributes) {
         $this->yyval = new PHPParser_Node_Stmt_Catch($this->yyastk[$this->stackPos-(8-3)], substr($this->yyastk[$this->stackPos-(8-4)], 1), $this->yyastk[$this->stackPos-(8-7)], $attributes); 
    }

    protected function yyn61($attributes) {
         $this->yyval = array($this->yyastk[$this->stackPos-(1-1)]); 
    }

    protected function yyn62($attributes) {
         $this->yyastk[$this->stackPos-(3-1)][] = $this->yyastk[$this->stackPos-(3-3)]; $this->yyval = $this->yyastk[$this->stackPos-(3-1)]; 
    }

    protected function yyn63($attributes) {
         $this->yyval = false; 
    }

    protected function yyn64($attributes) {
         $this->yyval = true; 
    }

    protected function yyn65($attributes) {
         $this->yyval = new PHPParser_Node_Stmt_Function($this->yyastk[$this->stackPos-(9-3)], array('byRef' => $this->yyastk[$this->stackPos-(9-2)], 'params' => $this->yyastk[$this->stackPos-(9-5)], 'stmts' => $this->yyastk[$this->stackPos-(9-8)]), $attributes); 
    }

    protected function yyn66($attributes) {
         $this->yyval = new PHPParser_Node_Stmt_Class($this->yyastk[$this->stackPos-(7-2)], array('type' => $this->yyastk[$this->stackPos-(7-1)], 'extends' => $this->yyastk[$this->stackPos-(7-3)], 'implements' => $this->yyastk[$this->stackPos-(7-4)], 'stmts' => $this->yyastk[$this->stackPos-(7-6)]), $attributes); 
    }

    protected function yyn67($attributes) {
         $this->yyval = new PHPParser_Node_Stmt_Interface($this->yyastk[$this->stackPos-(6-2)], array('extends' => $this->yyastk[$this->stackPos-(6-3)], 'stmts' => $this->yyastk[$this->stackPos-(6-5)]), $attributes); 
    }

    protected function yyn68($attributes) {
         $this->yyval = new PHPParser_Node_Stmt_Trait($this->yyastk[$this->stackPos-(5-2)], $this->yyastk[$this->stackPos-(5-4)], $attributes); 
    }

    protected function yyn69($attributes) {
         $this->yyval = 0; 
    }

    protected function yyn70($attributes) {
         $this->yyval = PHPParser_Node_Stmt_Class::MODIFIER_ABSTRACT; 
    }

    protected function yyn71($attributes) {
         $this->yyval = PHPParser_Node_Stmt_Class::MODIFIER_FINAL; 
    }

    protected function yyn72($attributes) {
         $this->yyval = null; 
    }

    protected function yyn73($attributes) {
         $this->yyval = $this->yyastk[$this->stackPos-(2-2)]; 
    }

    protected function yyn74($attributes) {
         $this->yyval = array(); 
    }

    protected function yyn75($attributes) {
         $this->yyval = $this->yyastk[$this->stackPos-(2-2)]; 
    }

    protected function yyn76($attributes) {
         $this->yyval = array(); 
    }

    protected function yyn77($attributes) {
         $this->yyval = $this->yyastk[$this->stackPos-(2-2)]; 
    }

    protected function yyn78($attributes) {
         $this->yyval = array($this->yyastk[$this->stackPos-(1-1)]); 
    }

    protected function yyn79($attributes) {
         $this->yyastk[$this->stackPos-(3-1)][] = $this->yyastk[$this->stackPos-(3-3)]; $this->yyval = $this->yyastk[$this->stackPos-(3-1)]; 
    }

    protected function yyn80($attributes) {
         $this->yyval = is_array($this->yyastk[$this->stackPos-(1-1)]) ? $this->yyastk[$this->stackPos-(1-1)] : array($this->yyastk[$this->stackPos-(1-1)]); 
    }

    protected function yyn81($attributes) {
         $this->yyval = $this->yyastk[$this->stackPos-(4-2)]; 
    }

    protected function yyn82($attributes) {
         $this->yyval = is_array($this->yyastk[$this->stackPos-(1-1)]) ? $this->yyastk[$this->stackPos-(1-1)] : array($this->yyastk[$this->stackPos-(1-1)]); 
    }

    protected function yyn83($attributes) {
         $this->yyval = $this->yyastk[$this->stackPos-(4-2)]; 
    }

    protected function yyn84($attributes) {
         $this->yyval = is_array($this->yyastk[$this->stackPos-(1-1)]) ? $this->yyastk[$this->stackPos-(1-1)] : array($this->yyastk[$this->stackPos-(1-1)]); 
    }

    protected function yyn85($attributes) {
         $this->yyval = $this->yyastk[$this->stackPos-(4-2)]; 
    }

    protected function yyn86($attributes) {
         $this->yyval = array($this->yyastk[$this->stackPos-(1-1)]); 
    }

    protected function yyn87($attributes) {
         $this->yyastk[$this->stackPos-(3-1)][] = $this->yyastk[$this->stackPos-(3-3)]; $this->yyval = $this->yyastk[$this->stackPos-(3-1)]; 
    }

    protected function yyn88($attributes) {
         $this->yyval = new PHPParser_Node_Stmt_DeclareDeclare($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); 
    }

    protected function yyn89($attributes) {
         $this->yyval = $this->yyastk[$this->stackPos-(3-2)]; 
    }

    protected function yyn90($attributes) {
         $this->yyval = $this->yyastk[$this->stackPos-(4-3)]; 
    }

    protected function yyn91($attributes) {
         $this->yyval = $this->yyastk[$this->stackPos-(4-2)]; 
    }

    protected function yyn92($attributes) {
         $this->yyval = $this->yyastk[$this->stackPos-(5-3)]; 
    }

    protected function yyn93($attributes) {
         $this->yyval = array(); 
    }

    protected function yyn94($attributes) {
         $this->yyastk[$this->stackPos-(2-1)][] = $this->yyastk[$this->stackPos-(2-2)]; $this->yyval = $this->yyastk[$this->stackPos-(2-1)]; 
    }

    protected function yyn95($attributes) {
         $this->yyval = new PHPParser_Node_Stmt_Case($this->yyastk[$this->stackPos-(4-2)], $this->yyastk[$this->stackPos-(4-4)], $attributes); 
    }

    protected function yyn96($attributes) {
         $this->yyval = new PHPParser_Node_Stmt_Case(null, $this->yyastk[$this->stackPos-(3-3)], $attributes); 
    }

    protected function yyn97() {
        $this->yyval = $this->yyastk[$this->stackPos];
    }

    protected function yyn98() {
        $this->yyval = $this->yyastk[$this->stackPos];
    }

    protected function yyn99($attributes) {
         $this->yyval = is_array($this->yyastk[$this->stackPos-(1-1)]) ? $this->yyastk[$this->stackPos-(1-1)] : array($this->yyastk[$this->stackPos-(1-1)]); 
    }

    protected function yyn100($attributes) {
         $this->yyval = $this->yyastk[$this->stackPos-(4-2)]; 
    }

    protected function yyn101($attributes) {
         $this->yyval = array(); 
    }

    protected function yyn102($attributes) {
         $this->yyastk[$this->stackPos-(2-1)][] = $this->yyastk[$this->stackPos-(2-2)]; $this->yyval = $this->yyastk[$this->stackPos-(2-1)]; 
    }

    protected function yyn103($attributes) {
         $this->yyval = new PHPParser_Node_Stmt_ElseIf($this->yyastk[$this->stackPos-(5-3)], is_array($this->yyastk[$this->stackPos-(5-5)]) ? $this->yyastk[$this->stackPos-(5-5)] : array($this->yyastk[$this->stackPos-(5-5)]), $attributes); 
    }

    protected function yyn104($attributes) {
         $this->yyval = array(); 
    }

    protected function yyn105($attributes) {
         $this->yyastk[$this->stackPos-(2-1)][] = $this->yyastk[$this->stackPos-(2-2)]; $this->yyval = $this->yyastk[$this->stackPos-(2-1)]; 
    }

    protected function yyn106($attributes) {
         $this->yyval = new PHPParser_Node_Stmt_ElseIf($this->yyastk[$this->stackPos-(6-3)], $this->yyastk[$this->stackPos-(6-6)], $attributes); 
    }

    protected function yyn107($attributes) {
         $this->yyval = null; 
    }

    protected function yyn108($attributes) {
         $this->yyval = new PHPParser_Node_Stmt_Else(is_array($this->yyastk[$this->stackPos-(2-2)]) ? $this->yyastk[$this->stackPos-(2-2)] : array($this->yyastk[$this->stackPos-(2-2)]), $attributes); 
    }

    protected function yyn109($attributes) {
         $this->yyval = null; 
    }

    protected function yyn110($attributes) {
         $this->yyval = new PHPParser_Node_Stmt_Else($this->yyastk[$this->stackPos-(3-3)], $attributes); 
    }

    protected function yyn111($attributes) {
         $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; 
    }

    protected function yyn112($attributes) {
         $this->yyval = array(); 
    }

    protected function yyn113($attributes) {
         $this->yyval = array($this->yyastk[$this->stackPos-(1-1)]); 
    }

    protected function yyn114($attributes) {
         $this->yyastk[$this->stackPos-(3-1)][] = $this->yyastk[$this->stackPos-(3-3)]; $this->yyval = $this->yyastk[$this->stackPos-(3-1)]; 
    }

    protected function yyn115($attributes) {
         $this->yyval = new PHPParser_Node_Param(substr($this->yyastk[$this->stackPos-(3-3)], 1), null, $this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-2)], $attributes); 
    }

    protected function yyn116($attributes) {
         $this->yyval = new PHPParser_Node_Param(substr($this->yyastk[$this->stackPos-(5-3)], 1), $this->yyastk[$this->stackPos-(5-5)], $this->yyastk[$this->stackPos-(5-1)], $this->yyastk[$this->stackPos-(5-2)], $attributes); 
    }

    protected function yyn117($attributes) {
         $this->yyval = null; 
    }

    protected function yyn118($attributes) {
         $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; 
    }

    protected function yyn119($attributes) {
         $this->yyval = 'array'; 
    }

    protected function yyn120($attributes) {
         $this->yyval = 'callable'; 
    }

    protected function yyn121($attributes) {
         $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; 
    }

    protected function yyn122($attributes) {
         $this->yyval = array(); 
    }

    protected function yyn123($attributes) {
         $this->yyval = array($this->yyastk[$this->stackPos-(1-1)]); 
    }

    protected function yyn124($attributes) {
         $this->yyastk[$this->stackPos-(3-1)][] = $this->yyastk[$this->stackPos-(3-3)]; $this->yyval = $this->yyastk[$this->stackPos-(3-1)]; 
    }

    protected function yyn125($attributes) {
         $this->yyval = new PHPParser_Node_Arg($this->yyastk[$this->stackPos-(1-1)], false, $attributes); 
    }

    protected function yyn126($attributes) {
         $this->yyval = new PHPParser_Node_Arg($this->yyastk[$this->stackPos-(2-2)], true, $attributes); 
    }

    protected function yyn127($attributes) {
         $this->yyastk[$this->stackPos-(3-1)][] = $this->yyastk[$this->stackPos-(3-3)]; $this->yyval = $this->yyastk[$this->stackPos-(3-1)]; 
    }

    protected function yyn128($attributes) {
         $this->yyval = array($this->yyastk[$this->stackPos-(1-1)]); 
    }

    protected function yyn129($attributes) {
         $this->yyval = new PHPParser_Node_Expr_Variable(substr($this->yyastk[$this->stackPos-(1-1)], 1), $attributes); 
    }

    protected function yyn130($attributes) {
         $this->yyval = new PHPParser_Node_Expr_Variable($this->yyastk[$this->stackPos-(2-2)], $attributes); 
    }

    protected function yyn131($attributes) {
         $this->yyval = new PHPParser_Node_Expr_Variable($this->yyastk[$this->stackPos-(4-3)], $attributes); 
    }

    protected function yyn132($attributes) {
         $this->yyastk[$this->stackPos-(3-1)][] = $this->yyastk[$this->stackPos-(3-3)]; $this->yyval = $this->yyastk[$this->stackPos-(3-1)]; 
    }

    protected function yyn133($attributes) {
         $this->yyval = array($this->yyastk[$this->stackPos-(1-1)]); 
    }

    protected function yyn134($attributes) {
         $this->yyval = new PHPParser_Node_Stmt_StaticVar(substr($this->yyastk[$this->stackPos-(1-1)], 1), null, $attributes); 
    }

    protected function yyn135($attributes) {
         $this->yyval = new PHPParser_Node_Stmt_StaticVar(substr($this->yyastk[$this->stackPos-(3-1)], 1), $this->yyastk[$this->stackPos-(3-3)], $attributes); 
    }

    protected function yyn136($attributes) {
         $this->yyastk[$this->stackPos-(2-1)][] = $this->yyastk[$this->stackPos-(2-2)]; $this->yyval = $this->yyastk[$this->stackPos-(2-1)]; 
    }

    protected function yyn137($attributes) {
         $this->yyval = array(); 
    }

    protected function yyn138($attributes) {
         $this->yyval = new PHPParser_Node_Stmt_Property($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-2)], $attributes); 
    }

    protected function yyn139($attributes) {
         $this->yyval = new PHPParser_Node_Stmt_ClassConst($this->yyastk[$this->stackPos-(3-2)], $attributes); 
    }

    protected function yyn140($attributes) {
         $this->yyval = new PHPParser_Node_Stmt_ClassMethod($this->yyastk[$this->stackPos-(8-4)], array('type' => $this->yyastk[$this->stackPos-(8-1)], 'byRef' => $this->yyastk[$this->stackPos-(8-3)], 'params' => $this->yyastk[$this->stackPos-(8-6)], 'stmts' => $this->yyastk[$this->stackPos-(8-8)]), $attributes); 
    }

    protected function yyn141($attributes) {
         $this->yyval = new PHPParser_Node_Stmt_TraitUse($this->yyastk[$this->stackPos-(3-2)], $this->yyastk[$this->stackPos-(3-3)], $attributes); 
    }

    protected function yyn142($attributes) {
         $this->yyval = array(); 
    }

    protected function yyn143($attributes) {
         $this->yyval = $this->yyastk[$this->stackPos-(3-2)]; 
    }

    protected function yyn144($attributes) {
         $this->yyval = array(); 
    }

    protected function yyn145($attributes) {
         $this->yyastk[$this->stackPos-(2-1)][] = $this->yyastk[$this->stackPos-(2-2)]; $this->yyval = $this->yyastk[$this->stackPos-(2-1)]; 
    }

    protected function yyn146($attributes) {
         $this->yyval = new PHPParser_Node_Stmt_TraitUseAdaptation_Precedence($this->yyastk[$this->stackPos-(4-1)][0], $this->yyastk[$this->stackPos-(4-1)][1], $this->yyastk[$this->stackPos-(4-3)], $attributes); 
    }

    protected function yyn147($attributes) {
         $this->yyval = new PHPParser_Node_Stmt_TraitUseAdaptation_Alias($this->yyastk[$this->stackPos-(5-1)][0], $this->yyastk[$this->stackPos-(5-1)][1], $this->yyastk[$this->stackPos-(5-3)], $this->yyastk[$this->stackPos-(5-4)], $attributes); 
    }

    protected function yyn148($attributes) {
         $this->yyval = new PHPParser_Node_Stmt_TraitUseAdaptation_Alias($this->yyastk[$this->stackPos-(4-1)][0], $this->yyastk[$this->stackPos-(4-1)][1], $this->yyastk[$this->stackPos-(4-3)], null, $attributes); 
    }

    protected function yyn149($attributes) {
         $this->yyval = new PHPParser_Node_Stmt_TraitUseAdaptation_Alias($this->yyastk[$this->stackPos-(4-1)][0], $this->yyastk[$this->stackPos-(4-1)][1], null, $this->yyastk[$this->stackPos-(4-3)], $attributes); 
    }

    protected function yyn150($attributes) {
         $this->yyval = array($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)]); 
    }

    protected function yyn151($attributes) {
         $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; 
    }

    protected function yyn152($attributes) {
         $this->yyval = array(null, $this->yyastk[$this->stackPos-(1-1)]); 
    }

    protected function yyn153($attributes) {
         $this->yyval = null; 
    }

    protected function yyn154($attributes) {
         $this->yyval = $this->yyastk[$this->stackPos-(3-2)]; 
    }

    protected function yyn155($attributes) {
         $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; 
    }

    protected function yyn156($attributes) {
         $this->yyval = PHPParser_Node_Stmt_Class::MODIFIER_PUBLIC; 
    }

    protected function yyn157($attributes) {
         $this->yyval = PHPParser_Node_Stmt_Class::MODIFIER_PUBLIC; 
    }

    protected function yyn158($attributes) {
         $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; 
    }

    protected function yyn159($attributes) {
         $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; 
    }

    protected function yyn160($attributes) {
         PHPParser_Node_Stmt_Class::verifyModifier($this->yyastk[$this->stackPos-(2-1)], $this->yyastk[$this->stackPos-(2-2)]); $this->yyval = $this->yyastk[$this->stackPos-(2-1)] | $this->yyastk[$this->stackPos-(2-2)]; 
    }

    protected function yyn161($attributes) {
         $this->yyval = PHPParser_Node_Stmt_Class::MODIFIER_PUBLIC; 
    }

    protected function yyn162($attributes) {
         $this->yyval = PHPParser_Node_Stmt_Class::MODIFIER_PROTECTED; 
    }

    protected function yyn163($attributes) {
         $this->yyval = PHPParser_Node_Stmt_Class::MODIFIER_PRIVATE; 
    }

    protected function yyn164($attributes) {
         $this->yyval = PHPParser_Node_Stmt_Class::MODIFIER_STATIC; 
    }

    protected function yyn165($attributes) {
         $this->yyval = PHPParser_Node_Stmt_Class::MODIFIER_ABSTRACT; 
    }

    protected function yyn166($attributes) {
         $this->yyval = PHPParser_Node_Stmt_Class::MODIFIER_FINAL; 
    }

    protected function yyn167($attributes) {
         $this->yyval = array($this->yyastk[$this->stackPos-(1-1)]); 
    }

    protected function yyn168($attributes) {
         $this->yyastk[$this->stackPos-(3-1)][] = $this->yyastk[$this->stackPos-(3-3)]; $this->yyval = $this->yyastk[$this->stackPos-(3-1)]; 
    }

    protected function yyn169($attributes) {
         $this->yyval = new PHPParser_Node_Stmt_PropertyProperty(substr($this->yyastk[$this->stackPos-(1-1)], 1), null, $attributes); 
    }

    protected function yyn170($attributes) {
         $this->yyval = new PHPParser_Node_Stmt_PropertyProperty(substr($this->yyastk[$this->stackPos-(3-1)], 1), $this->yyastk[$this->stackPos-(3-3)], $attributes); 
    }

    protected function yyn171($attributes) {
         $this->yyastk[$this->stackPos-(3-1)][] = $this->yyastk[$this->stackPos-(3-3)]; $this->yyval = $this->yyastk[$this->stackPos-(3-1)]; 
    }

    protected function yyn172($attributes) {
         $this->yyval = array($this->yyastk[$this->stackPos-(1-1)]); 
    }

    protected function yyn173($attributes) {
         $this->yyval = array(); 
    }

    protected function yyn174($attributes) {
         $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; 
    }

    protected function yyn175($attributes) {
         $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; 
    }

    protected function yyn176($attributes) {
         $this->yyval = new PHPParser_Node_Expr_AssignList($this->yyastk[$this->stackPos-(6-3)], $this->yyastk[$this->stackPos-(6-6)], $attributes); 
    }

    protected function yyn177($attributes) {
         $this->yyval = new PHPParser_Node_Expr_Assign($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); 
    }

    protected function yyn178($attributes) {
         $this->yyval = new PHPParser_Node_Expr_AssignRef($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-4)], $attributes); 
    }

    protected function yyn179($attributes) {
         $this->yyval = new PHPParser_Node_Expr_Assign($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-4)], $attributes); 
    }

    protected function yyn180($attributes) {
         $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; 
    }

    protected function yyn181($attributes) {
         $this->yyval = new PHPParser_Node_Expr_Clone($this->yyastk[$this->stackPos-(2-2)], $attributes); 
    }

    protected function yyn182($attributes) {
         $this->yyval = new PHPParser_Node_Expr_AssignPlus($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); 
    }

    protected function yyn183($attributes) {
         $this->yyval = new PHPParser_Node_Expr_AssignMinus($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); 
    }

    protected function yyn184($attributes) {
         $this->yyval = new PHPParser_Node_Expr_AssignMul($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); 
    }

    protected function yyn185($attributes) {
         $this->yyval = new PHPParser_Node_Expr_AssignDiv($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); 
    }

    protected function yyn186($attributes) {
         $this->yyval = new PHPParser_Node_Expr_AssignConcat($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); 
    }

    protected function yyn187($attributes) {
         $this->yyval = new PHPParser_Node_Expr_AssignMod($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); 
    }

    protected function yyn188($attributes) {
         $this->yyval = new PHPParser_Node_Expr_AssignBitwiseAnd($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); 
    }

    protected function yyn189($attributes) {
         $this->yyval = new PHPParser_Node_Expr_AssignBitwiseOr($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); 
    }

    protected function yyn190($attributes) {
         $this->yyval = new PHPParser_Node_Expr_AssignBitwiseXor($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); 
    }

    protected function yyn191($attributes) {
         $this->yyval = new PHPParser_Node_Expr_AssignShiftLeft($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); 
    }

    protected function yyn192($attributes) {
         $this->yyval = new PHPParser_Node_Expr_AssignShiftRight($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); 
    }

    protected function yyn193($attributes) {
         $this->yyval = new PHPParser_Node_Expr_PostInc($this->yyastk[$this->stackPos-(2-1)], $attributes); 
    }

    protected function yyn194($attributes) {
         $this->yyval = new PHPParser_Node_Expr_PreInc($this->yyastk[$this->stackPos-(2-2)], $attributes); 
    }

    protected function yyn195($attributes) {
         $this->yyval = new PHPParser_Node_Expr_PostDec($this->yyastk[$this->stackPos-(2-1)], $attributes); 
    }

    protected function yyn196($attributes) {
         $this->yyval = new PHPParser_Node_Expr_PreDec($this->yyastk[$this->stackPos-(2-2)], $attributes); 
    }

    protected function yyn197($attributes) {
         $this->yyval = new PHPParser_Node_Expr_BooleanOr($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); 
    }

    protected function yyn198($attributes) {
         $this->yyval = new PHPParser_Node_Expr_BooleanAnd($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); 
    }

    protected function yyn199($attributes) {
         $this->yyval = new PHPParser_Node_Expr_LogicalOr($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); 
    }

    protected function yyn200($attributes) {
         $this->yyval = new PHPParser_Node_Expr_LogicalAnd($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); 
    }

    protected function yyn201($attributes) {
         $this->yyval = new PHPParser_Node_Expr_LogicalXor($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); 
    }

    protected function yyn202($attributes) {
         $this->yyval = new PHPParser_Node_Expr_BitwiseOr($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); 
    }

    protected function yyn203($attributes) {
         $this->yyval = new PHPParser_Node_Expr_BitwiseAnd($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); 
    }

    protected function yyn204($attributes) {
         $this->yyval = new PHPParser_Node_Expr_BitwiseXor($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); 
    }

    protected function yyn205($attributes) {
         $this->yyval = new PHPParser_Node_Expr_Concat($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); 
    }

    protected function yyn206($attributes) {
         $this->yyval = new PHPParser_Node_Expr_Plus($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); 
    }

    protected function yyn207($attributes) {
         $this->yyval = new PHPParser_Node_Expr_Minus($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); 
    }

    protected function yyn208($attributes) {
         $this->yyval = new PHPParser_Node_Expr_Mul($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); 
    }

    protected function yyn209($attributes) {
         $this->yyval = new PHPParser_Node_Expr_Div($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); 
    }

    protected function yyn210($attributes) {
         $this->yyval = new PHPParser_Node_Expr_Mod($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); 
    }

    protected function yyn211($attributes) {
         $this->yyval = new PHPParser_Node_Expr_ShiftLeft($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); 
    }

    protected function yyn212($attributes) {
         $this->yyval = new PHPParser_Node_Expr_ShiftRight($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); 
    }

    protected function yyn213($attributes) {
         $this->yyval = new PHPParser_Node_Expr_UnaryPlus($this->yyastk[$this->stackPos-(2-2)], $attributes); 
    }

    protected function yyn214($attributes) {
         $this->yyval = new PHPParser_Node_Expr_UnaryMinus($this->yyastk[$this->stackPos-(2-2)], $attributes); 
    }

    protected function yyn215($attributes) {
         $this->yyval = new PHPParser_Node_Expr_BooleanNot($this->yyastk[$this->stackPos-(2-2)], $attributes); 
    }

    protected function yyn216($attributes) {
         $this->yyval = new PHPParser_Node_Expr_BitwiseNot($this->yyastk[$this->stackPos-(2-2)], $attributes); 
    }

    protected function yyn217($attributes) {
         $this->yyval = new PHPParser_Node_Expr_Identical($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); 
    }

    protected function yyn218($attributes) {
         $this->yyval = new PHPParser_Node_Expr_NotIdentical($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); 
    }

    protected function yyn219($attributes) {
         $this->yyval = new PHPParser_Node_Expr_Equal($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); 
    }

    protected function yyn220($attributes) {
         $this->yyval = new PHPParser_Node_Expr_NotEqual($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); 
    }

    protected function yyn221($attributes) {
         $this->yyval = new PHPParser_Node_Expr_Smaller($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); 
    }

    protected function yyn222($attributes) {
         $this->yyval = new PHPParser_Node_Expr_SmallerOrEqual($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); 
    }

    protected function yyn223($attributes) {
         $this->yyval = new PHPParser_Node_Expr_Greater($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); 
    }

    protected function yyn224($attributes) {
         $this->yyval = new PHPParser_Node_Expr_GreaterOrEqual($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); 
    }

    protected function yyn225($attributes) {
         $this->yyval = new PHPParser_Node_Expr_Instanceof($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); 
    }

    protected function yyn226($attributes) {
         $this->yyval = $this->yyastk[$this->stackPos-(3-2)]; 
    }

    protected function yyn227($attributes) {
         $this->yyval = $this->yyastk[$this->stackPos-(3-2)]; 
    }

    protected function yyn228($attributes) {
         $this->yyval = new PHPParser_Node_Expr_Ternary($this->yyastk[$this->stackPos-(5-1)], $this->yyastk[$this->stackPos-(5-3)], $this->yyastk[$this->stackPos-(5-5)], $attributes); 
    }

    protected function yyn229($attributes) {
         $this->yyval = new PHPParser_Node_Expr_Ternary($this->yyastk[$this->stackPos-(4-1)], null, $this->yyastk[$this->stackPos-(4-4)], $attributes); 
    }

    protected function yyn230($attributes) {
         $this->yyval = new PHPParser_Node_Expr_Isset($this->yyastk[$this->stackPos-(4-3)], $attributes); 
    }

    protected function yyn231($attributes) {
         $this->yyval = new PHPParser_Node_Expr_Empty($this->yyastk[$this->stackPos-(4-3)], $attributes); 
    }

    protected function yyn232($attributes) {
         $this->yyval = new PHPParser_Node_Expr_Include($this->yyastk[$this->stackPos-(2-2)], PHPParser_Node_Expr_Include::TYPE_INCLUDE, $attributes); 
    }

    protected function yyn233($attributes) {
         $this->yyval = new PHPParser_Node_Expr_Include($this->yyastk[$this->stackPos-(2-2)], PHPParser_Node_Expr_Include::TYPE_INCLUDE_ONCE, $attributes); 
    }

    protected function yyn234($attributes) {
         $this->yyval = new PHPParser_Node_Expr_Eval($this->yyastk[$this->stackPos-(4-3)], $attributes); 
    }

    protected function yyn235($attributes) {
         $this->yyval = new PHPParser_Node_Expr_Include($this->yyastk[$this->stackPos-(2-2)], PHPParser_Node_Expr_Include::TYPE_REQUIRE, $attributes); 
    }

    protected function yyn236($attributes) {
         $this->yyval = new PHPParser_Node_Expr_Include($this->yyastk[$this->stackPos-(2-2)], PHPParser_Node_Expr_Include::TYPE_REQUIRE_ONCE, $attributes); 
    }

    protected function yyn237($attributes) {
         $this->yyval = new PHPParser_Node_Expr_Cast_Int($this->yyastk[$this->stackPos-(2-2)], $attributes); 
    }

    protected function yyn238($attributes) {
         $this->yyval = new PHPParser_Node_Expr_Cast_Double($this->yyastk[$this->stackPos-(2-2)], $attributes); 
    }

    protected function yyn239($attributes) {
         $this->yyval = new PHPParser_Node_Expr_Cast_String($this->yyastk[$this->stackPos-(2-2)], $attributes); 
    }

    protected function yyn240($attributes) {
         $this->yyval = new PHPParser_Node_Expr_Cast_Array($this->yyastk[$this->stackPos-(2-2)], $attributes); 
    }

    protected function yyn241($attributes) {
         $this->yyval = new PHPParser_Node_Expr_Cast_Object($this->yyastk[$this->stackPos-(2-2)], $attributes); 
    }

    protected function yyn242($attributes) {
         $this->yyval = new PHPParser_Node_Expr_Cast_Bool($this->yyastk[$this->stackPos-(2-2)], $attributes); 
    }

    protected function yyn243($attributes) {
         $this->yyval = new PHPParser_Node_Expr_Cast_Unset($this->yyastk[$this->stackPos-(2-2)], $attributes); 
    }

    protected function yyn244($attributes) {
         $this->yyval = new PHPParser_Node_Expr_Exit($this->yyastk[$this->stackPos-(2-2)], $attributes); 
    }

    protected function yyn245($attributes) {
         $this->yyval = new PHPParser_Node_Expr_ErrorSuppress($this->yyastk[$this->stackPos-(2-2)], $attributes); 
    }

    protected function yyn246($attributes) {
         $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; 
    }

    protected function yyn247($attributes) {
         $this->yyval = new PHPParser_Node_Expr_Array($this->yyastk[$this->stackPos-(4-3)], $attributes); 
    }

    protected function yyn248($attributes) {
         $this->yyval = new PHPParser_Node_Expr_Array($this->yyastk[$this->stackPos-(3-2)], $attributes); 
    }

    protected function yyn249($attributes) {
         $this->yyval = new PHPParser_Node_Expr_ShellExec($this->yyastk[$this->stackPos-(3-2)], $attributes); 
    }

    protected function yyn250($attributes) {
         $this->yyval = new PHPParser_Node_Expr_Print($this->yyastk[$this->stackPos-(2-2)], $attributes); 
    }

    protected function yyn251($attributes) {
         $this->yyval = new PHPParser_Node_Expr_Closure(array('static' => false, 'byRef' => $this->yyastk[$this->stackPos-(9-2)], 'params' => $this->yyastk[$this->stackPos-(9-4)], 'uses' => $this->yyastk[$this->stackPos-(9-6)], 'stmts' => $this->yyastk[$this->stackPos-(9-8)]), $attributes); 
    }

    protected function yyn252($attributes) {
         $this->yyval = new PHPParser_Node_Expr_Closure(array('static' => true, 'byRef' => $this->yyastk[$this->stackPos-(10-3)], 'params' => $this->yyastk[$this->stackPos-(10-5)], 'uses' => $this->yyastk[$this->stackPos-(10-7)], 'stmts' => $this->yyastk[$this->stackPos-(10-9)]), $attributes); 
    }

    protected function yyn253($attributes) {
         $this->yyval = new PHPParser_Node_Expr_New($this->yyastk[$this->stackPos-(3-2)], $this->yyastk[$this->stackPos-(3-3)], $attributes); 
    }

    protected function yyn254($attributes) {
         $this->yyval = array(); 
    }

    protected function yyn255($attributes) {
         $this->yyval = $this->yyastk[$this->stackPos-(4-3)]; 
    }

    protected function yyn256($attributes) {
         $this->yyval = array($this->yyastk[$this->stackPos-(1-1)]); 
    }

    protected function yyn257($attributes) {
         $this->yyastk[$this->stackPos-(3-1)][] = $this->yyastk[$this->stackPos-(3-3)]; $this->yyval = $this->yyastk[$this->stackPos-(3-1)]; 
    }

    protected function yyn258($attributes) {
         $this->yyval = new PHPParser_Node_Expr_ClosureUse(substr($this->yyastk[$this->stackPos-(2-2)], 1), $this->yyastk[$this->stackPos-(2-1)], $attributes); 
    }

    protected function yyn259($attributes) {
         $this->yyval = new PHPParser_Node_Expr_FuncCall($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-3)], $attributes); 
    }

    protected function yyn260($attributes) {
         $this->yyval = new PHPParser_Node_Expr_StaticCall($this->yyastk[$this->stackPos-(6-1)], $this->yyastk[$this->stackPos-(6-3)], $this->yyastk[$this->stackPos-(6-5)], $attributes); 
    }

    protected function yyn261($attributes) {
         $this->yyval = new PHPParser_Node_Expr_StaticCall($this->yyastk[$this->stackPos-(8-1)], $this->yyastk[$this->stackPos-(8-4)], $this->yyastk[$this->stackPos-(8-7)], $attributes); 
    }

    protected function yyn262($attributes) {
        
            if ($this->yyastk[$this->stackPos-(4-1)] instanceof PHPParser_Node_Expr_StaticPropertyFetch) {
                $this->yyval = new PHPParser_Node_Expr_StaticCall($this->yyastk[$this->stackPos-(4-1)]->class, new PHPParser_Node_Expr_Variable($this->yyastk[$this->stackPos-(4-1)]->name, $attributes), $this->yyastk[$this->stackPos-(4-3)], $attributes);
            } elseif ($this->yyastk[$this->stackPos-(4-1)] instanceof PHPParser_Node_Expr_ArrayDimFetch) {
                $tmp = $this->yyastk[$this->stackPos-(4-1)];
                while ($tmp->var instanceof PHPParser_Node_Expr_ArrayDimFetch) {
                    $tmp = $tmp->var;
                }

                $this->yyval = new PHPParser_Node_Expr_StaticCall($tmp->var->class, $this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-3)], $attributes);
                $tmp->var = new PHPParser_Node_Expr_Variable($tmp->var->name, $attributes);
            } else {
                throw new Exception;
            }
          
    }

    protected function yyn263($attributes) {
         $this->yyval = new PHPParser_Node_Expr_FuncCall($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-3)], $attributes); 
    }

    protected function yyn264($attributes) {
         $this->yyval = new PHPParser_Node_Expr_ArrayDimFetch($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-3)], $attributes); 
    }

    protected function yyn265($attributes) {
         $this->yyval = new PHPParser_Node_Name('static', $attributes); 
    }

    protected function yyn266($attributes) {
         $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; 
    }

    protected function yyn267($attributes) {
         $this->yyval = new PHPParser_Node_Name($this->yyastk[$this->stackPos-(1-1)], $attributes); 
    }

    protected function yyn268($attributes) {
         $this->yyval = new PHPParser_Node_Name_FullyQualified($this->yyastk[$this->stackPos-(2-2)], $attributes); 
    }

    protected function yyn269($attributes) {
         $this->yyval = new PHPParser_Node_Name_Relative($this->yyastk[$this->stackPos-(3-3)], $attributes); 
    }

    protected function yyn270($attributes) {
         $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; 
    }

    protected function yyn271($attributes) {
         $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; 
    }

    protected function yyn272($attributes) {
         $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; 
    }

    protected function yyn273($attributes) {
         $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; 
    }

    protected function yyn274($attributes) {
         $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; 
    }

    protected function yyn275($attributes) {
         $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; 
    }

    protected function yyn276() {
        $this->yyval = $this->yyastk[$this->stackPos];
    }

    protected function yyn277($attributes) {
         $this->yyval = new PHPParser_Node_Expr_PropertyFetch($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); 
    }

    protected function yyn278($attributes) {
         $this->yyval = new PHPParser_Node_Expr_PropertyFetch($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); 
    }

    protected function yyn279($attributes) {
         $this->yyval = new PHPParser_Node_Expr_ArrayDimFetch($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-3)], $attributes); 
    }

    protected function yyn280($attributes) {
         $this->yyval = new PHPParser_Node_Expr_ArrayDimFetch($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-3)], $attributes); 
    }

    protected function yyn281($attributes) {
         $this->yyval = null; 
    }

    protected function yyn282($attributes) {
         $this->yyval = null; 
    }

    protected function yyn283($attributes) {
         $this->yyval = $this->yyastk[$this->stackPos-(3-2)]; 
    }

    protected function yyn284($attributes) {
         $this->yyval = array(); 
    }

    protected function yyn285($attributes) {
         $this->yyval = array(PHPParser_Node_Scalar_String::parseEscapeSequences($this->yyastk[$this->stackPos-(1-1)], '`')); 
    }

    protected function yyn286($attributes) {
         foreach ($this->yyastk[$this->stackPos-(1-1)] as &$s) { if (is_string($s)) { $s = PHPParser_Node_Scalar_String::parseEscapeSequences($s, '`'); } }; $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; 
    }

    protected function yyn287($attributes) {
         $this->yyval = array(); 
    }

    protected function yyn288($attributes) {
         $this->yyval = $this->yyastk[$this->stackPos-(3-2)]; 
    }

    protected function yyn289($attributes) {
         $this->yyval = new PHPParser_Node_Scalar_LNumber(PHPParser_Node_Scalar_LNumber::parse($this->yyastk[$this->stackPos-(1-1)]), $attributes); 
    }

    protected function yyn290($attributes) {
         $this->yyval = new PHPParser_Node_Scalar_DNumber(PHPParser_Node_Scalar_DNumber::parse($this->yyastk[$this->stackPos-(1-1)]), $attributes); 
    }

    protected function yyn291($attributes) {
         $this->yyval = PHPParser_Node_Scalar_String::create($this->yyastk[$this->stackPos-(1-1)], $attributes); 
    }

    protected function yyn292($attributes) {
         $this->yyval = new PHPParser_Node_Scalar_LineConst($attributes); 
    }

    protected function yyn293($attributes) {
         $this->yyval = new PHPParser_Node_Scalar_FileConst($attributes); 
    }

    protected function yyn294($attributes) {
         $this->yyval = new PHPParser_Node_Scalar_DirConst($attributes); 
    }

    protected function yyn295($attributes) {
         $this->yyval = new PHPParser_Node_Scalar_ClassConst($attributes); 
    }

    protected function yyn296($attributes) {
         $this->yyval = new PHPParser_Node_Scalar_TraitConst($attributes); 
    }

    protected function yyn297($attributes) {
         $this->yyval = new PHPParser_Node_Scalar_MethodConst($attributes); 
    }

    protected function yyn298($attributes) {
         $this->yyval = new PHPParser_Node_Scalar_FuncConst($attributes); 
    }

    protected function yyn299($attributes) {
         $this->yyval = new PHPParser_Node_Scalar_NSConst($attributes); 
    }

    protected function yyn300($attributes) {
         $this->yyval = new PHPParser_Node_Scalar_String(PHPParser_Node_Scalar_String::parseDocString($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-2)]), $attributes); 
    }

    protected function yyn301($attributes) {
         $this->yyval = new PHPParser_Node_Scalar_String('', $attributes); 
    }

    protected function yyn302($attributes) {
         $this->yyval = new PHPParser_Node_Expr_ConstFetch($this->yyastk[$this->stackPos-(1-1)], $attributes); 
    }

    protected function yyn303($attributes) {
         $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; 
    }

    protected function yyn304($attributes) {
         $this->yyval = new PHPParser_Node_Expr_ClassConstFetch($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); 
    }

    protected function yyn305($attributes) {
         $this->yyval = new PHPParser_Node_Expr_UnaryPlus($this->yyastk[$this->stackPos-(2-2)], $attributes); 
    }

    protected function yyn306($attributes) {
         $this->yyval = new PHPParser_Node_Expr_UnaryMinus($this->yyastk[$this->stackPos-(2-2)], $attributes); 
    }

    protected function yyn307($attributes) {
         $this->yyval = new PHPParser_Node_Expr_Array($this->yyastk[$this->stackPos-(4-3)], $attributes); 
    }

    protected function yyn308($attributes) {
         $this->yyval = new PHPParser_Node_Expr_Array($this->yyastk[$this->stackPos-(3-2)], $attributes); 
    }

    protected function yyn309($attributes) {
         $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; 
    }

    protected function yyn310($attributes) {
         $this->yyval = new PHPParser_Node_Expr_ClassConstFetch($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); 
    }

    protected function yyn311($attributes) {
         foreach ($this->yyastk[$this->stackPos-(3-2)] as &$s) { if (is_string($s)) { $s = PHPParser_Node_Scalar_String::parseEscapeSequences($s, '"'); } }; $this->yyval = new PHPParser_Node_Scalar_Encapsed($this->yyastk[$this->stackPos-(3-2)], $attributes); 
    }

    protected function yyn312($attributes) {
         foreach ($this->yyastk[$this->stackPos-(3-2)] as &$s) { if (is_string($s)) { $s = PHPParser_Node_Scalar_String::parseEscapeSequences($s, null); } } $s = preg_replace('~(\r\n|\n|\r)$~', '', $s); if ('' === $s) array_pop($this->yyastk[$this->stackPos-(3-2)]);; $this->yyval = new PHPParser_Node_Scalar_Encapsed($this->yyastk[$this->stackPos-(3-2)], $attributes); 
    }

    protected function yyn313($attributes) {
         $this->yyval = array(); 
    }

    protected function yyn314($attributes) {
         $this->yyval = $this->yyastk[$this->stackPos-(2-1)]; 
    }

    protected function yyn315() {
        $this->yyval = $this->yyastk[$this->stackPos];
    }

    protected function yyn316() {
        $this->yyval = $this->yyastk[$this->stackPos];
    }

    protected function yyn317($attributes) {
         $this->yyastk[$this->stackPos-(3-1)][] = $this->yyastk[$this->stackPos-(3-3)]; $this->yyval = $this->yyastk[$this->stackPos-(3-1)]; 
    }

    protected function yyn318($attributes) {
         $this->yyval = array($this->yyastk[$this->stackPos-(1-1)]); 
    }

    protected function yyn319($attributes) {
         $this->yyval = new PHPParser_Node_Expr_ArrayItem($this->yyastk[$this->stackPos-(3-3)], $this->yyastk[$this->stackPos-(3-1)], false, $attributes); 
    }

    protected function yyn320($attributes) {
         $this->yyval = new PHPParser_Node_Expr_ArrayItem($this->yyastk[$this->stackPos-(1-1)], null, false, $attributes); 
    }

    protected function yyn321($attributes) {
         $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; 
    }

    protected function yyn322($attributes) {
         $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; 
    }

    protected function yyn323($attributes) {
         $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; 
    }

    protected function yyn324($attributes) {
         $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; 
    }

    protected function yyn325($attributes) {
         $this->yyval = new PHPParser_Node_Expr_ArrayDimFetch($this->yyastk[$this->stackPos-(6-2)], $this->yyastk[$this->stackPos-(6-5)], $attributes); 
    }

    protected function yyn326($attributes) {
         $this->yyval = new PHPParser_Node_Expr_ArrayDimFetch($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-3)], $attributes); 
    }

    protected function yyn327($attributes) {
         $this->yyval = new PHPParser_Node_Expr_PropertyFetch($this->yyastk[$this->stackPos-(3-1)], $this->yyastk[$this->stackPos-(3-3)], $attributes); 
    }

    protected function yyn328($attributes) {
         $this->yyval = new PHPParser_Node_Expr_MethodCall($this->yyastk[$this->stackPos-(6-1)], $this->yyastk[$this->stackPos-(6-3)], $this->yyastk[$this->stackPos-(6-5)], $attributes); 
    }

    protected function yyn329($attributes) {
         $this->yyval = new PHPParser_Node_Expr_FuncCall($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-3)], $attributes); 
    }

    protected function yyn330($attributes) {
         $this->yyval = new PHPParser_Node_Expr_ArrayDimFetch($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-3)], $attributes); 
    }

    protected function yyn331($attributes) {
         $this->yyval = new PHPParser_Node_Expr_ArrayDimFetch($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-3)], $attributes); 
    }

    protected function yyn332($attributes) {
         $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; 
    }

    protected function yyn333($attributes) {
         $this->yyval = $this->yyastk[$this->stackPos-(3-2)]; 
    }

    protected function yyn334($attributes) {
         $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; 
    }

    protected function yyn335($attributes) {
         $this->yyval = new PHPParser_Node_Expr_Variable($this->yyastk[$this->stackPos-(2-2)], $attributes); 
    }

    protected function yyn336($attributes) {
         $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; 
    }

    protected function yyn337($attributes) {
         $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; 
    }

    protected function yyn338($attributes) {
         $this->yyval = new PHPParser_Node_Expr_StaticPropertyFetch($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-4)], $attributes); 
    }

    protected function yyn339($attributes) {
         $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; 
    }

    protected function yyn340($attributes) {
         $this->yyval = new PHPParser_Node_Expr_StaticPropertyFetch($this->yyastk[$this->stackPos-(3-1)], substr($this->yyastk[$this->stackPos-(3-3)], 1), $attributes); 
    }

    protected function yyn341($attributes) {
         $this->yyval = new PHPParser_Node_Expr_StaticPropertyFetch($this->yyastk[$this->stackPos-(6-1)], $this->yyastk[$this->stackPos-(6-5)], $attributes); 
    }

    protected function yyn342($attributes) {
         $this->yyval = new PHPParser_Node_Expr_ArrayDimFetch($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-3)], $attributes); 
    }

    protected function yyn343($attributes) {
         $this->yyval = new PHPParser_Node_Expr_ArrayDimFetch($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-3)], $attributes); 
    }

    protected function yyn344($attributes) {
         $this->yyval = new PHPParser_Node_Expr_ArrayDimFetch($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-3)], $attributes); 
    }

    protected function yyn345($attributes) {
         $this->yyval = new PHPParser_Node_Expr_ArrayDimFetch($this->yyastk[$this->stackPos-(4-1)], $this->yyastk[$this->stackPos-(4-3)], $attributes); 
    }

    protected function yyn346($attributes) {
         $this->yyval = new PHPParser_Node_Expr_Variable(substr($this->yyastk[$this->stackPos-(1-1)], 1), $attributes); 
    }

    protected function yyn347($attributes) {
         $this->yyval = new PHPParser_Node_Expr_Variable($this->yyastk[$this->stackPos-(4-3)], $attributes); 
    }

    protected function yyn348($attributes) {
         $this->yyval = null; 
    }

    protected function yyn349($attributes) {
         $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; 
    }

    protected function yyn350($attributes) {
         $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; 
    }

    protected function yyn351($attributes) {
         $this->yyval = $this->yyastk[$this->stackPos-(3-2)]; 
    }

    protected function yyn352($attributes) {
         $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; 
    }

    protected function yyn353($attributes) {
         $this->yyastk[$this->stackPos-(3-1)][] = $this->yyastk[$this->stackPos-(3-3)]; $this->yyval = $this->yyastk[$this->stackPos-(3-1)]; 
    }

    protected function yyn354($attributes) {
         $this->yyval = array($this->yyastk[$this->stackPos-(1-1)]); 
    }

    protected function yyn355($attributes) {
         $this->yyval = $this->yyastk[$this->stackPos-(1-1)]; 
    }

    protected function yyn356($attributes) {
         $this->yyval = $this->yyastk[$this->stackPos-(4-3)]; 
    }

    protected function yyn357($attributes) {
         $this->yyval = null; 
    }

    protected function yyn358($attributes) {
         $this->yyval = array(); 
    }

    protected function yyn359($attributes) {
         $this->yyval = $this->yyastk[$this->stackPos-(2-1)]; 
    }

    protected function yyn360($attributes) {
         $this->yyastk[$this->stackPos-(3-1)][] = $this->yyastk[$this->stackPos-(3-3)]; $this->yyval = $this->yyastk[$this->stackPos-(3-1)]; 
    }

    protected function yyn361($attributes) {
         $this->yyval = array($this->yyastk[$this->stackPos-(1-1)]); 
    }

    protected function yyn362($attributes) {
         $this->yyval = new PHPParser_Node_Expr_ArrayItem($this->yyastk[$this->stackPos-(3-3)], $this->yyastk[$this->stackPos-(3-1)], false, $attributes); 
    }

    protected function yyn363($attributes) {
         $this->yyval = new PHPParser_Node_Expr_ArrayItem($this->yyastk[$this->stackPos-(1-1)], null, false, $attributes); 
    }

    protected function yyn364($attributes) {
         $this->yyval = new PHPParser_Node_Expr_ArrayItem($this->yyastk[$this->stackPos-(4-4)], $this->yyastk[$this->stackPos-(4-1)], true, $attributes); 
    }

    protected function yyn365($attributes) {
         $this->yyval = new PHPParser_Node_Expr_ArrayItem($this->yyastk[$this->stackPos-(2-2)], null, true, $attributes); 
    }

    protected function yyn366($attributes) {
         $this->yyastk[$this->stackPos-(2-1)][] = $this->yyastk[$this->stackPos-(2-2)]; $this->yyval = $this->yyastk[$this->stackPos-(2-1)]; 
    }

    protected function yyn367($attributes) {
         $this->yyastk[$this->stackPos-(2-1)][] = $this->yyastk[$this->stackPos-(2-2)]; $this->yyval = $this->yyastk[$this->stackPos-(2-1)]; 
    }

    protected function yyn368($attributes) {
         $this->yyval = array($this->yyastk[$this->stackPos-(1-1)]); 
    }

    protected function yyn369($attributes) {
         $this->yyval = array($this->yyastk[$this->stackPos-(2-1)], $this->yyastk[$this->stackPos-(2-2)]); 
    }

    protected function yyn370($attributes) {
         $this->yyval = new PHPParser_Node_Expr_Variable(substr($this->yyastk[$this->stackPos-(1-1)], 1), $attributes); 
    }

    protected function yyn371($attributes) {
         $this->yyval = new PHPParser_Node_Expr_ArrayDimFetch(new PHPParser_Node_Expr_Variable(substr($this->yyastk[$this->stackPos-(4-1)], 1), $attributes), $this->yyastk[$this->stackPos-(4-3)], $attributes); 
    }

    protected function yyn372($attributes) {
         $this->yyval = new PHPParser_Node_Expr_PropertyFetch(new PHPParser_Node_Expr_Variable(substr($this->yyastk[$this->stackPos-(3-1)], 1), $attributes), $this->yyastk[$this->stackPos-(3-3)], $attributes); 
    }

    protected function yyn373($attributes) {
         $this->yyval = new PHPParser_Node_Expr_Variable($this->yyastk[$this->stackPos-(3-2)], $attributes); 
    }

    protected function yyn374($attributes) {
         $this->yyval = new PHPParser_Node_Expr_Variable($this->yyastk[$this->stackPos-(3-2)], $attributes); 
    }

    protected function yyn375($attributes) {
         $this->yyval = new PHPParser_Node_Expr_ArrayDimFetch(new PHPParser_Node_Expr_Variable($this->yyastk[$this->stackPos-(6-2)], $attributes), $this->yyastk[$this->stackPos-(6-4)], $attributes); 
    }

    protected function yyn376($attributes) {
         $this->yyval = $this->yyastk[$this->stackPos-(3-2)]; 
    }

    protected function yyn377($attributes) {
         $this->yyval = new PHPParser_Node_Scalar_String($this->yyastk[$this->stackPos-(1-1)], $attributes); 
    }

    protected function yyn378($attributes) {
         $this->yyval = new PHPParser_Node_Scalar_String($this->yyastk[$this->stackPos-(1-1)], $attributes); 
    }

    protected function yyn379($attributes) {
         $this->yyval = new PHPParser_Node_Expr_Variable(substr($this->yyastk[$this->stackPos-(1-1)], 1), $attributes); 
    }
}
Return current item: PHP Parser