Seditio Source
Root |
./othercms/croogo-4.0.7/vendor/nikic/php-parser/lib/PhpParser/Parser/Php5.php
<?php

namespace PhpParser\Parser;

use
PhpParser\Error;
use
PhpParser\Node;
use
PhpParser\Node\Expr;
use
PhpParser\Node\Name;
use
PhpParser\Node\Scalar;
use
PhpParser\Node\Stmt;

/* This is an automatically GENERATED file, which should not be manually edited.
 * Instead edit one of the following:
 *  * the grammar files grammar/php5.y or grammar/php7.y
 *  * the skeleton file grammar/parser.template
 *  * the preprocessing script grammar/rebuildParsers.php
 */
class Php5 extends \PhpParser\ParserAbstract
{
    protected
$tokenToSymbolMapSize = 392;
    protected
$actionTableSize = 1069;
    protected
$gotoTableSize = 580;

    protected
$invalidSymbol = 165;
    protected
$errorSymbol = 1;
    protected
$defaultAction = -32766;
    protected
$unexpectedTokenRule = 32767;

    protected
$YY2TBLSTATE = 405;
    protected
$numNonLeafStates = 658;

    protected
$symbolToName = array(
       
"EOF",
       
"error",
       
"T_THROW",
       
"T_INCLUDE",
       
"T_INCLUDE_ONCE",
       
"T_EVAL",
       
"T_REQUIRE",
       
"T_REQUIRE_ONCE",
       
"','",
       
"T_LOGICAL_OR",
       
"T_LOGICAL_XOR",
       
"T_LOGICAL_AND",
       
"T_PRINT",
       
"T_YIELD",
       
"T_DOUBLE_ARROW",
       
"T_YIELD_FROM",
       
"'='",
       
"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_POW_EQUAL",
       
"T_COALESCE_EQUAL",
       
"'?'",
       
"':'",
       
"T_COALESCE",
       
"T_BOOLEAN_OR",
       
"T_BOOLEAN_AND",
       
"'|'",
       
"'^'",
       
"'&'",
       
"T_IS_EQUAL",
       
"T_IS_NOT_EQUAL",
       
"T_IS_IDENTICAL",
       
"T_IS_NOT_IDENTICAL",
       
"T_SPACESHIP",
       
"'<'",
       
"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_POW",
       
"'['",
       
"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_MATCH",
       
"T_ENDSWITCH",
       
"T_CASE",
       
"T_DEFAULT",
       
"T_BREAK",
       
"T_CONTINUE",
       
"T_GOTO",
       
"T_FUNCTION",
       
"T_FN",
       
"T_CONST",
       
"T_RETURN",
       
"T_TRY",
       
"T_CATCH",
       
"T_FINALLY",
       
"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_LIST",
       
"T_ARRAY",
       
"T_CALLABLE",
       
"T_CLASS_C",
       
"T_TRAIT_C",
       
"T_METHOD_C",
       
"T_FUNC_C",
       
"T_LINE",
       
"T_FILE",
       
"T_START_HEREDOC",
       
"T_END_HEREDOC",
       
"T_DOLLAR_OPEN_CURLY_BRACES",
       
"T_CURLY_OPEN",
       
"T_PAAMAYIM_NEKUDOTAYIM",
       
"T_NAMESPACE",
       
"T_NS_C",
       
"T_DIR",
       
"T_NS_SEPARATOR",
       
"T_ELLIPSIS",
       
"T_NAME_FULLY_QUALIFIED",
       
"T_NAME_QUALIFIED",
       
"T_NAME_RELATIVE",
       
"';'",
       
"'{'",
       
"'}'",
       
"'('",
       
"')'",
       
"'$'",
       
"'`'",
       
"']'",
       
"'\"'",
       
"T_NULLSAFE_OBJECT_OPERATOR",
       
"T_ATTRIBUTE"
   
);

    protected
$tokenToSymbol = array(
           
0,  165,  165,  165,  165,  165,  165,  165,  165,  165,
         
165,  165,  165,  165,  165,  165,  165,  165,  165,  165,
         
165,  165,  165,  165,  165,  165,  165,  165,  165,  165,
         
165,  165,  165,   55,  162,  165,  159,   54,   37,  165,
         
157,  158,   52,   49,    8,   50,   51,   53,  165,  165,
         
165,  165,  165,  165,  165,  165,  165,  165,   31,  154,
           
43,   16,   45,   30,   67,  165,  165,  165,  165,  165,
         
165,  165,  165,  165,  165,  165,  165,  165,  165,  165,
         
165,  165,  165,  165,  165,  165,  165,  165,  165,  165,
         
165,   69,  165,  161,   36,  165,  160,  165,  165,  165,
         
165,  165,  165,  165,  165,  165,  165,  165,  165,  165,
         
165,  165,  165,  165,  165,  165,  165,  165,  165,  165,
         
165,  165,  165,  155,   35,  156,   57,  165,  165,  165,
         
165,  165,  165,  165,  165,  165,  165,  165,  165,  165,
         
165,  165,  165,  165,  165,  165,  165,  165,  165,  165,
         
165,  165,  165,  165,  165,  165,  165,  165,  165,  165,
         
165,  165,  165,  165,  165,  165,  165,  165,  165,  165,
         
165,  165,  165,  165,  165,  165,  165,  165,  165,  165,
         
165,  165,  165,  165,  165,  165,  165,  165,  165,  165,
         
165,  165,  165,  165,  165,  165,  165,  165,  165,  165,
         
165,  165,  165,  165,  165,  165,  165,  165,  165,  165,
         
165,  165,  165,  165,  165,  165,  165,  165,  165,  165,
         
165,  165,  165,  165,  165,  165,  165,  165,  165,  165,
         
165,  165,  165,  165,  165,  165,  165,  165,  165,  165,
         
165,  165,  165,  165,  165,  165,  165,  165,  165,  165,
         
165,  165,  165,  165,  165,  165,    1,    2,    3,    4,
           
5,    6,    7,    9,   10,   11,   12,   13,   14,   15,
           
17,   18,   19,   20,   21,   22,   23,   24,   25,   26,
           
27,   28,   29,   32,   33,   34,   38,   39,   40,   41,
           
42,   44,   46,   47,   48,   56,   58,   59,   60,   61,
           
62,   63,   64,   65,   66,   68,   70,   71,   72,   73,
           
74,   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,  131,  163,  132,
         
133,  134,  135,  136,  137,  138,  139,  140,  141,  142,
         
143,  144,  145,  146,  147,  148,  149,  150,  151,  152,
         
153,  164
   
);

    protected
$action = array(
         
693,  663,  664,  665,  666,  667,  282,  668,  669,  670,
         
706,  707,  221,  222,  223,  224,  225,  226,  227,  228,
         
229,    0,  230,  231,  232,  233,  234,  235,  236,  237,
         
238,  239,  240,  241,-32766,-32766,-32766,-32766,-32766,-32766,
        -
32766,-32766,-32767,-32767,-32767,-32767,   27,  242,  243,-32766,
        -
32766,-32766,-32766,-32766,  671,-32766,  333,-32766,-32766,-32766,
        -
32766,-32766,-32766,-32767,-32767,-32767,-32767,-32767,  672,  673,
         
674,  675,  676,  677,  678, 1034,  816,  740,  941,  942,
         
943,  940,  939,  938,  679,  680,  681,  682,  683,  684,
         
685,  686,  687,  688,  689,  709,  732,  710,  711,  712,
         
713,  701,  702,  703,  731,  704,  705,  690,  691,  692,
         
694,  695,  696,  734,  735,  736,  737,  738,  739,  697,
         
698,  699,  700,  730,  721,  719,  720,  716,  717,  437,
         
708,  714,  715,  722,  723,  725,  724,  726,  727,   55,
           
56,  417,   57,   58,  718,  729,  728,   28,   59,   60,
         -
220,   61,-32766,-32766,-32766,-32766,-32766,-32766,-32766,-32766,
        -
32766,   36,-32767,-32767,-32767,-32767, 1034,   35,  106,  107,
         
108,  109,  110,  111,  112,  113,  114,  115,  116,  117,
         
118,-32766,-32766,-32766,-32766,   62,   63, 1034,  125,  285,
         
292,   64,  748,   65,  290,  291,   66,   67,   68,   69,
           
70,   71,   72,   73,  763,   25,  298,   74,  409,  973,
         
975,  294,  294, 1086, 1087, 1064,  796,  748,  218,  219,
         
220,  465,-32766,-32766,-32766,  742,  864,  817,   54,  807,
           
9,-32766,-32766,-32766,  760,  320,  761,  410,   10,  202,
         
246,  428,  209,-32766,  933,-32766,-32766,-32766,-32766,-32766,
        -
32766,  488,-32766,  438,-32766,-32766,-32766,-32766,-32766,  473,
         
474,  941,  942,  943,  940,  939,  938,-32766,  475,  476,
         
337, 1092, 1093, 1094, 1095, 1089, 1090,  315, 1214, -255,
         
747, 1215, -505, 1096, 1091,  888,  889, 1066, 1065, 1067,
         
218,  219,  220,   41,  414,  337,  330,  895,  332,  418,
         -
126, -126, -126,   75,   52,  464,   -4,  817,   54,  805,
         -
224,  202,   40,   21,  419, -126,  466, -126,  467, -126,
         
468, -126,  359,  420,  128,  128,  748, 1171,   31,   32,
         
421,  422, 1034,  894,   33,  469,-32766,-32766,-32766, 1186,
         
351,  352,  470,  471,-32766,-32766,-32766,  309,  472,  865,
         
323,  788,  835,  423,  424,-32767,-32767,-32767,-32767,   97,
           
98,   99,  100,  101,  615,-32766,  313,-32766,-32766,-32766,
        -
32766,  354, 1185, 1171,  218,  219,  220,  475,  748,  418,
         
819,  629, -126,  297,  915,  464,  817,   54,-32766,  805,
         
124,  748,   40,   21,  419,  202,  466,   48,  467,  534,
         
468,  129,  429,  420,  337,  341,  888,  889,   31,   32,
         
421,  422,  416,  405,   33,  469,-32766,-32766,  311,  298,
         
351,  352,  470,  471,-32766,-32766,-32766,  748,  472,  412,
         
748,  752,  835,  423,  424,  338, 1066, 1065, 1067,  219,
         
220,  919, 1136,  296,   20,-32766,  576,-32766,-32766,-32766,
         
742,  341,  342,  413,  429, 1064,  337,  512,  418,  202,
         
819,  629,   -4, 1034,  464,  817,   54,   49,  805,  337,
         
762,   40,   21,  419,   51,  466, 1034,  467,  475,  468,
         
340,  748,  420,  120, -205, -205, -205,   31,   32,  421,
         
422, 1062,-32766,   33,  469,-32766,-32766,-32766,  744,  351,
         
352,  470,  471,  429, 1098,  337,  429,  472,  337, 1034,
         
788,  835,  423,  424,  415, 1098,-32766,  802,-32766,-32766,
         
102,  103,  104, 1137,  303,  202,  130, 1066, 1065, 1067,
         
337,  123,  239,  240,  241,  748,  105,  418, 1205,  819,
         
629, -205,  440,  464,-32766,-32766,-32766,  805,  242,  243,
           
40,   21,  419,  121,  466,  126,  467,  429,  468,  337,
         
122,  420, 1052, -204, -204, -204,   31,   32,  421,  422,
         
1034,  745,   33,  469,  220,  759,  817,   54,  351,  352,
         
470,  471,  218,  219,  220,  119,  472,  244,  127,  788,
         
835,  423,  424,  202,-32766,-32766,-32766,   30,  293,  803,
           
79,   80,   81,  202,  798,  210,  632,   99,  100,  101,
         
236,  237,  238,  817,   54,-32766,  211,  800,  819,  629,
         -
204,   34, 1034,   82,   83,   84,   85,   86,   87,   88,
           
89,   90,   91,   92,   93,   94,   95,   96,   97,   98,
           
99,  100,  101,  102,  103,  104,  286,  303,  418, 1034,
         
817,   54,-32766,-32766,  464,  218,  219,  220,  805,  105,
         
914,   40,   21,  419,   78,  466,  212,  467,  337,  468,
         
133,  247,  420,  295,  567,  248,  202,   31,   32,  421,
         
633,  242,  243,   33,  469,  418,  249,  817,   54,  351,
         
352,  464,  760,  -84,  761,  805,  310,  472,   40,   21,
         
419,-32766,  466,  640,  467,  643,  468,  447,   22,  420,
         
815,  452,  584,  132,   31,   32,  421,  637,  134,  364,
           
33,  469,  418,  303,  817,   54,  351,  352,  464,  819,
         
629,  828,  805,   43,  472,   40,   21,  419,   44,  466,
           
45,  467,   46,  468,  591,  592,  420,  753,  635,  930,
         
649,   31,   32,  421,  641,  918,  657,   33,  469,  418,
         
105,  817,   54,  351,  352,  464,  819,  629,   47,  805,
           
50,  472,   40,   21,  419,   53,  466,  131,  467,  298,
         
468,  599,  742,  420,-32766, -274,  516,  570,   31,   32,
         
421,  646,  748,  946,   33,  469,  418,  589,  436,-32766,
         
351,  352,  464,  819,  629,  623,  805,  836,  472,   40,
           
21,  419,  611,  466,  -82,  467,  603,  468,   11,  573,
         
420,  439,  456,  281,  318,   31,   32,  421,  588,  432,
         
321,   33,  469,  418, -414,  458,  322,  351,  352,  464,
         
851,  629,  837,  805, -505,  472,   40,   21,  419,  654,
         
466,   38,  467,   24,  468,    0,    0,  420,  319,    0,
         -
405,    0,   31,   32,  421,  245,  312,  314,   33,  469,
         -
506,    0,    0, 1097,  351,  352, 1143,  819,  629,    0,
           
0,  527,  472,  213,  214,    6,    7,   12,   14,  215,
         
363,  216, -415,  558,  789, -221,  830,    0,    0,  747,
           
0,    0,    0,  207,   39,  652,  653,  758,  806,  814,
         
793, 1086, 1087,  808,  819,  629,  213,  214,  867, 1088,
         
858,  859,  215,  791,  216,  852,  849,  847,  925,  926,
         
923,  813,  797,  799,  801,  804,  207,  922,  756,  757,
         
924,  287,   78,  331, 1086, 1087,  353,  630,  634,  636,
         
638,  639, 1088,  642,  644,  645,  647,  648,  631, 1142,
         
1211, 1213,  755,  834,  754,  833, 1212,  554,  832, 1092,
         
1093, 1094, 1095, 1089, 1090,  388, 1048,  824, 1036,  831,
         
1037, 1096, 1091,  822,  931,  856,  857,  451, 1210, 1179,
           
0,  217, 1177, 1162, 1175, 1077,  906, 1183, 1173,    0,
         
554,   26, 1092, 1093, 1094, 1095, 1089, 1090,  388,   29,
           
37,   42,   76,   77, 1096, 1091,  208,  284,  288,  289,
         
304,  305,  306,  307,  217,  335,  406,  408,    0, -220,
           
16,   17,   18,  383,  448,  455,  457,  462,  548,  620,
         
1039, 1042,  896, 1102, 1038, 1014,  559, 1013, 1079,    0,
           
0, -424, 1032,    0, 1043, 1045, 1044, 1047, 1046, 1061,
         
1176, 1161, 1157, 1174, 1076, 1208, 1103, 1156,  595
   
);

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

    protected
$actionBase = array(
           
0,  226,  306,  385,  464,  285,  246,  246,  786,   -2,
           -
2,  146,   -2,   -2,   -2,  649,  723,  760,  723,  575,
         
686,  612,  612,  612,  175,  153,  153,  153,  174,  890,
         
319,   62,  450,  463,  557,  609,  636,  496,  496,  496,
         
496,  136,  136,  496,  496,  496,  496,  496,  496,  496,
         
496,  496,  496,  496,  496,  496,  496,  496,  496,  496,
         
496,  496,  496,  496,  496,  496,  496,  496,  496,  496,
         
496,  496,  496,  496,  496,  496,  496,  496,  496,  496,
         
496,  496,  496,  496,  496,  496,  496,  496,  496,  496,
         
496,  496,  496,  496,  496,  496,  496,  496,  496,  496,
         
496,  496,  496,  496,  496,  496,  496,  496,  496,  496,
         
496,  496,  496,  496,  496,  496,  496,  496,  496,  496,
         
496,  496,  496,  496,  496,  496,  496,  496,  496,  496,
         
496,  496,  496,  496,  496,  195,   75,  777,  517,  147,
         
778,  779,  780,  886,  727,  887,  832,  833,  682,  836,
         
837,  838,  839,  840,  831,  841,  907,  842,  591,  591,
         
591,  591,  591,  591,  591,  591,  591,  591,  591,  591,
         
483,  573,  365,  209,  281,  407,  646,  646,  646,  646,
         
646,  646,  646,  327,  327,  327,  327,  327,  327,  327,
         
327,  327,  327,  327,  327,  327,  327,  327,  327,  327,
         
327,  429,  834,  585,  585,  585,  563,  867,  867,  867,
         
867,  867,  867,  867,  867,  867,  867,  867,  867,  867,
         
867,  867,  867,  867,  867,  867,  867,  867,  867,  867,
         
867,  867,  867,  867,  867,  867,  867,  867,  867,  867,
         
867,  867,  867,  867,  867,  867,  867,  867,  867,  867,
         
495,  486,  -21,  -21,  415,  668,  335,  619,  222,  511,
         
213,   25,   25,   25,   25,   25,  148,   16,    4,    4,
           
4,    4,  151,  312,  312,  312,  312,  119,  119,  119,
         
119,  346,  346,  123,  245,  245,  349,  400,  297,  297,
         
297,  297,  297,  297,  297,  297,  297,  297,  111,  558,
         
558,  561,  561,  310,  152,  152,  152,  152,  704,  273,
         
273,  129,  371,  371,  371,  373,  734,  797,  376,  376,
         
376,  376,  376,  376,  468,  468,  468,  480,  480,  480,
         
702,  587,  454,  587,  454,  684,  748,  509,  748,  700,
         
199,  515,  803,  398,  720,  829,  729,  830,  601,  747,
         
235,  782,  724,  419,  782,  633,  637,  634,  419,  419,
         
715,   98,  863,  292,  195,  595,  405,  667,  781,  421,
         
732,  784,  363,  445,  411,  593,  328,  286,  744,  785,
         
888,  889,  181,  739,  667,  667,  667,  139,  362,  328,
           -
8,  613,  613,  613,  613,   48,  613,  613,  613,  613,
         
314,  230,  506,  404,  783,  703,  703,  712,  694,  852,
         
696,  696,  703,  711,  703,  712,  694,  854,  854,  854,
         
854,  703,  694,  703,  703,  703,  696,  696,  694,  709,
         
696,   38,  694,  695,  707,  707,  854,  751,  752,  703,
         
703,  728,  696,  696,  696,  728,  694,  854,  685,  746,
         
234,  696,  854,  665,  711,  665,  703,  685,  694,  665,
         
711,  711,  665,   21,  662,  664,  853,  855,  869,  792,
         
681,  716,  861,  862,  856,  860,  844,  679,  753,  754,
         
569,  669,  671,  673,  699,  740,  701,  735,  724,  692,
         
692,  692,  713,  741,  713,  692,  692,  692,  692,  692,
         
692,  692,  692,  893,  689,  745,  736,  710,  755,  589,
         
600,  793,  731,  738,  882,  875,  891,  892,  863,  880,
         
713,  894,  697,  180,  650,  864,  693,  788,  713,  865,
         
713,  794,  713,  883,  804,  708,  805,  806,  692,  884,
         
895,  896,  897,  898,  899,  900,  901,  902,  706,  903,
         
756,  698,  876,  339,  859,  715,  742,  725,  791,  759,
         
807,  342,  904,  808,  713,  713,  795,  787,  713,  796,
         
764,  750,  872,  766,  877,  905,  731,  726,  878,  713,
         
730,  809,  906,  342,  672,  705,  737,  721,  767,  870,
         
885,  868,  798,  655,  659,  810,  812,  820,  674,  769,
         
873,  874,  871,  771,  799,  670,  800,  719,  821,  801,
         
866,  772,  822,  823,  881,  718,  743,  717,  722,  714,
         
802,  824,  879,  773,  774,  775,  827,  776,  828,    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,  136,
         
136,  136,  136,   -2,   -2,   -2,   -2,    0,    0,   -2,
           
0,    0,    0,  136,  136,  136,  136,  136,  136,  136,
         
136,  136,  136,  136,  136,  136,  136,  136,  136,  136,
         
136,  136,  136,  136,  136,  136,  136,  136,  136,    0,
           
0,  136,  136,  136,  136,  136,  136,  136,  136,  136,
         
136,  136,  136,  136,  136,  136,  136,  136,  136,  136,
         
136,  136,  136,  136,  136,  136,  136,  136,  136,  136,
         
136,  136,  136,  136,  136,  136,  136,  136,  136,  136,
         
136,  136,  136,  136,  136,  136,  136,  136,  136,  136,
         
136,  136,  136,  136,  136,  136,  136,  136,  136,  136,
         
136,  136,  136,  136,  136,  136,  136,  136,  136,  136,
         
136,  136,  136,  136,  136,  136,  136,  136,  136,  136,
         
136,  136,  136,  136,  136,  136,  136,  136,  136,  136,
         
136,  136,  136,  591,  591,  591,  591,  591,  591,  591,
         
591,  591,  591,  591,  591,  591,  591,  591,  591,  591,
         
591,  591,  591,  591,  591,  591,    0,    0,    0,    0,
           
0,    0,    0,    0,    0,    0,    0,    0,  591,  -21,
          -
21,  -21,  -21,  591,  -21,  -21,  -21,  -21,  -21,  -21,
          -
21,  591,  591,  591,  591,  591,  591,  591,  591,  591,
         
591,  591,  591,  591,  591,  591,  591,  591,  591,  -21,
         
376,  591,  591,  591,  -21,  376,  376,  376,  376,  376,
         
376,  376,  376,  376,  376,  376,  376,  376,  376,  376,
         
376,  376,  376,  376,  376,  376,  376,  376,  376,  376,
         
376,  376,  376,  376,  376,  376,  376,  376,  376,  376,
         
376,  376,  376,  376,  376,  376,  376,  376,  -21,  591,
           
0,    0,  591,  -21,  591,  -21,  591,  -21,  591,  591,
         
591,  591,  591,  591,  -21,  -21,  -21,  -21,  -21,  -21,
           
0,  468,  468,  468,  468,  -21,  -21,  -21,  -21,  376,
         
376,  -37,  376,  376,  376,  376,  376,  376,  376,  376,
         
376,  376,  376,  376,  376,  376,  376,  468,  468,  480,
         
480,  376,  376,  376,  376,  376,  -37,  376,  376,  419,
         
711,  711,  711,  454,  454,  454,    0,    0,    0,    0,
           
0,    0,    0,    0,    0,    0,    0,    0,  454,  419,
           
0,  419,    0,  376,  419,  711,  419,  454,  711,  711,
         
419,  696,  618,  618,  618,  618,  342,  328,    0,  711,
         
711,    0,  711,    0,    0,    0,    0,    0,  696,    0,
         
703,    0,    0,    0,    0,  692,  180,    0,  725,  427,
           
0,    0,    0,    0,    0,    0,  725,  427,  435,  435,
           
0,  706,  692,  692,  692,    0,    0,    0,    0,    0,
           
0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
           
0,    0,  342
   
);

    protected
$actionDefault = array(
           
3,32767,32767,32767,32767,32767,32767,32767,32767,32767,
       
32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
       
32767,32767,32767,32767,32767,  534,  534,  489,32767,32767,
       
32767,32767,32767,32767,32767,32767,32767,  293,  293,  293,
       
32767,32767,32767,  522,  522,  522,  522,  522,  522,  522,
         
522,  522,  522,  522,32767,32767,32767,32767,32767,32767,
         
376,32767,32767,32767,32767,32767,32767,32767,32767,32767,
       
32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
       
32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
       
32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
       
32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
       
32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
       
32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
       
32767,32767,32767,32767,32767,32767,32767,32767,  382,  539,
       
32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
       
32767,32767,32767,32767,32767,32767,32767,32767,  357,  358,
         
360,  361,  292,  542,  523,  241,  383,  538,  291,  243,
         
321,  493,32767,32767,32767,  323,  120,  252,  197,  492,
         
123,  290,  228,  375,  377,  322,  297,  302,  303,  304,
         
305,  306,  307,  308,  309,  310,  311,  312,  313,  314,
         
296,  449,32767,  354,  353,  352,  451,  486,  486,  489,
       
32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
       
32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
       
32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
       
32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
         
450,  319,  477,  476,  320,  447,  324,  448,  326,  452,
         
325,  342,  343,  340,  341,  344,  454,  453,  470,  471,
         
468,  469,  295,  345,  346,  347,  348,  472,  473,  474,
         
475,32767,32767,  276,  533,  533,32767,32767,32767,32767,
       
32767,32767,32767,32767,32767,32767,32767,32767,32767,  333,
         
334,  461,  462,32767,  232,  232,  232,  232,  277,  232,
       
32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
       
32767,32767,32767,32767,  328,  329,  327,  456,  457,  455,
         
423,32767,32767,32767,  425,32767,32767,32767,32767,32767,
       
32767,32767,32767,  494,32767,32767,32767,32767,32767,  507,
         
412,32767,  404,32767,32767,  216,  218,  165,32767,32767,
         
480,32767,32767,32767,32767,32767,  512,  338,32767,32767,
         
114,32767,32767,32767,  549,32767,  507,32767,  114,32767,
       
32767,32767,32767,  351,  330,  331,  332,32767,32767,  511,
         
505,  464,  465,  466,  467,32767,  458,  459,  460,  463,
       
32767,32767,32767,32767,32767,32767,32767,32767,  169,  420,
         
426,  426,32767,32767,32767,32767,  169,32767,32767,32767,
       
32767,32767,  169,32767,32767,32767,  510,  509,  169,32767,
         
405,  488,  169,  182,  180,  180,32767,  202,  202,32767,
       
32767,  184,  481,  500,32767,  184,  169,32767,  393,  171,
         
488,32767,32767,  234,32767,  234,32767,  393,  169,  234,
       
32767,32767,  234,32767,  406,  430,32767,32767,32767,32767,
       
32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
       
32767,  372,  373,  483,  496,32767,  497,32767,  404,  336,
         
337,  339,  316,32767,  318,  362,  363,  364,  365,  366,
         
367,  368,  370,32767,  410,32767,  413,32767,32767,32767,
         
251,32767,  547,32767,32767,  300,  547,32767,32767,32767,
         
541,32767,32767,  294,32767,32767,32767,32767,  247,32767,
         
167,32767,  531,32767,  548,32767,  505,32767,  335,32767,
       
32767,32767,32767,32767,32767,32767,32767,32767,  506,32767,
       
32767,32767,32767,  223,32767,  443,32767,  114,32767,32767,
       
32767,  183,32767,32767,  298,  242,32767,32767,  540,32767,
       
32767,32767,32767,32767,32767,32767,32767,  112,32767,  168,
       
32767,32767,32767,  185,32767,32767,  505,32767,32767,32767,
       
32767,32767,32767,32767,  289,32767,32767,32767,32767,32767,
       
32767,32767,  505,32767,32767,  227,32767,32767,32767,32767,
       
32767,32767,32767,32767,32767,  406,32767,  270,32767,32767,
       
32767,32767,32767,32767,32767,32767,32767,32767,32767,  125,
         
125,    3,  125,  125,  254,    3,  254,  125,  254,  254,
         
125,  125,  125,  125,  125,  125,  125,  125,  125,  125,
         
210,  213,  202,  202,  162,  125,  125,  262
   
);

    protected
$goto = array(
         
165,  139,  139,  139,  165,  143,  146,  140,  141,  142,
         
148,  186,  167,  162,  162,  162,  162,  143,  143,  164,
         
164,  164,  164,  164,  164,  164,  164,  164,  164,  164,
         
137,  158,  159,  160,  161,  183,  138,  184,  489,  490,
         
367,  491,  495,  496,  497,  498,  499,  500,  501,  502,
         
959,  163,  144,  145,  147,  170,  175,  185,  203,  251,
         
254,  256,  258,  260,  261,  262,  263,  264,  265,  273,
         
274,  275,  276,  299,  300,  324,  325,  326,  384,  385,
         
386,  538,  187,  188,  189,  190,  191,  192,  193,  194,
         
195,  196,  197,  198,  199,  200,  149,  150,  151,  166,
         
152,  168,  153,  204,  169,  154,  155,  156,  205,  157,
         
135,  616,  556,  574,  578,  622,  624,  556,  556,  556,
         
556,  556,  556,  556,  556,  556,  556,  556,  556,  556,
         
556,  556,  556,  556,  556,  556,  556,  556,  556,  556,
         
556,  556,  556,  556,  556,  556,  556,  556,  556,  556,
         
556,  556,  556,  556,  556,  556,  556,  556,  556,  556,
         
1099,  515,  345,  571,  600, 1099, 1099, 1099, 1099, 1099,
         
1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099,
         
1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099,
         
1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099,
         
1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099,  504, 1202,
         
1202, 1075, 1074,  504,  540,  541,  542,  543,  544,  545,
         
546,  547,  549,  582,    3,    4,  173, 1202,  844,  844,
         
844,  844,  839,  845,  176,  177,  178,  391,  392,  393,
         
394,  172,  201,  206,  250,  255,  257,  259,  266,  267,
         
268,  269,  270,  271,  277,  278,  279,  280,  301,  302,
         
327,  328,  329,  396,  397,  398,  399,  174,  179,  252,
         
253,  180,  181,  182,  493,  493,  750,  493,  493,  493,
         
493,  493,  493,  493,  493,  493,  493,  493,  493,  493,
         
493,  505,  929,  442,  444,  627,  505,  751,  779, 1100,
         
610,  927,  880,  880,  765, 1190, 1190, 1168,  555,  775,
         
764,  743, 1168,  555,  555,  555,  555,  555,  555,  555,
         
555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
         
555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
         
555,  555,  555,  555,  555,  555,  555,  555,  555,  555,
         
555,  555,  555,  555,  555,  555,  390,  602,  746,  532,
         
532,  564,  528,  530,  530,  492,  494,  520,  536,  565,
         
568,  579,  586,  810,  606,  506,  346,  347,  609,  850,
         
506,  365,  537,  746,  533,  746,  563,  430,  430,  375,
         
430,  430,  430,  430,  430,  430,  430,  430,  430,  430,
         
430,  430,  430,  430, 1063,  581,  957,  596,  597, 1063,
         
887,  887,  887,  887, 1160,  887,  887, 1182, 1182, 1182,
         
376,  376,  376,  749, 1063, 1063, 1063, 1063, 1063, 1063,
         
334, 1056,  317,  374,  374,  374,  866,  848,  846,  848,
         
650,  461,  507,  875,  870,  376, 1194,  368,  374,  389,
         
374,  898,  374, 1080,  583,  348,  404,  374, 1216,  590,
         
601, 1017,   19,   15,  361, 1148, 1187,  525,  936,  904,
         
510,  526,  904,  651,  551,  381, 1201, 1201,  587, 1007,
         
550,  877,  607,  608,  873,  612,  613,  619,  621,  626,
         
628,   23,  884,  937, 1201,  336,  598, 1059, 1060, 1204,
         
378, 1056,  557,  539,  893,  768,  766,  379,  514,  902,
         
509,  524,  655, 1057, 1159, 1057,  776,  509, 1167,  524,
         
514,  514, 1058, 1167, 1049,  907,  508, 1054,  511,  433,
         
434,  510, 1184, 1184, 1184,  854,  445,  945,  569, 1145,
         
459,  362,    0,    0,  773, 1209,    0,  518,    0,  519,
           
0,  529,    0,    0,    0,    0,    0, 1166,    0,    0,
           
0,  771,    0,    0,    0,  449,    0,    0,    0,    0,
           
0,    0,  605,    0,    0,    0,    0,   13, 1055,  614
   
);

    protected
$gotoCheck = array(
           
42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
           
42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
           
42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
           
42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
           
42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
           
42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
           
42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
           
42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
           
42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
           
42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
           
42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
           
42,   56,   66,   59,   59,   59,    8,   66,   66,   66,
           
66,   66,   66,   66,   66,   66,   66,   66,   66,   66,
           
66,   66,   66,   66,   66,   66,   66,   66,   66,   66,
           
66,   66,   66,   66,   66,   66,   66,   66,   66,   66,
           
66,   66,   66,   66,   66,   66,   66,   66,   66,   66,
         
124,   99,   69,   39,   39,  124,  124,  124,  124,  124,
         
124,  124,  124,  124,  124,  124,  124,  124,  124,  124,
         
124,  124,  124,  124,  124,  124,  124,  124,  124,  124,
         
124,  124,  124,  124,  124,  124,  124,  124,  124,  124,
         
124,  124,  124,  124,  124,  124,  124,  124,   66,  140,
         
140,  122,  122,   66,  108,  108,  108,  108,  108,  108,
         
108,  108,  108,  108,   29,   29,   26,  140,   66,   66,
           
66,   66,   66,   66,   26,   26,   26,   26,   26,   26,
           
26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
           
26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
           
26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
           
26,   26,   26,   26,  115,  115,   14,  115,  115,  115,
         
115,  115,  115,  115,  115,  115,  115,  115,  115,  115,
         
115,  115,    7,    7,    7,    7,  115,   15,   28,    7,
           
7,    7,   74,   74,   22,   74,   74,  116,   56,   22,
           
22,    5,  116,   56,   56,   56,   56,   56,   56,   56,
           
56,   56,   56,   56,   56,   56,   56,   56,   56,   56,
           
56,   56,   56,   56,   56,   56,   56,   56,   56,   56,
           
56,   56,   56,   56,   56,   56,   56,   56,   56,   56,
           
56,   56,   56,   56,   56,   56,   50,   50,   10,   50,
           
50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
           
50,   50,   50,   49,   60,  120,   69,   69,   60,   32,
         
120,   60,    2,   10,  107,   10,    2,   56,   56,   10,
           
56,   56,   56,   56,   56,   56,   56,   56,   56,   56,
           
56,   56,   56,   56,   56,   64,   99,   64,   64,   56,
           
56,   56,   56,   56,   79,   56,   56,    8,    8,    8,
         
121,  121,  121,   13,   56,   56,   56,   56,   56,   56,
         
123,   79,  123,   12,   12,   12,   13,   13,   13,   13,
           
13,   56,   13,   13,   13,  121,  138,   45,   12,  121,
           
12,   81,   12,   33,   67,   67,   67,   12,   12,  125,
           
48,   33,   33,   33,   33,  129,  136,    8,   95,   12,
           
12,   31,   12,   31,   31,   47,  139,  139,   31,  100,
           
33,   31,   31,   31,   31,   31,   31,   31,   31,   31,
           
31,   33,   76,   95,  139,   17,   33,   79,   79,  139,
           
11,   79,   11,   46,   78,   24,   23,   16,   46,   82,
           
8,    8,   71,   79,   79,   79,   25,    8,  117,    8,
           
46,   46,   79,  117,  111,   83,    8,  113,    8,    8,
           
8,   12,  117,  117,  117,   68,   62,   97,   63,  128,
         
106,   57,   -1,   -1,    8,    8,   -1,   57,   -1,   99,
           -
1,   57,   -1,   -1,   -1,   -1,   -1,  117,   -1,   -1,
           -
1,    8,   -1,   -1,   -1,   57,   -1,   -1,   -1,   -1,
           -
1,   -1,   12,   -1,   -1,   -1,   -1,   57,   12,   12
   
);

    protected
$gotoBase = array(
           
0,    0, -249,    0,    0,  300,    0,  287,  105,    0,
           
47,  164,  118,  421,  274,  295,  171,  184,    0,    0,
           
0,    0,  -49,  168,  172,  104,   24,    0,  288, -431,
           
0, -159,  359,   44,    0,    0,    0,    0,    0,  125,
           
0,    0,  -24,    0,    0,  407,  479,  186,  178,  355,
           
75,    0,    0,    0,    0,    0,  106,  119,    0, -192,
          -
81,    0,  101,   93, -231,    0,  -90,  135,  121, -276,
           
0,  148,    0,    0,   21,    0,  183,    0,  194,   71,
           
0,  423,  155,  112,    0,    0,    0,    0,    0,    0,
           
0,    0,    0,    0,    0,  185,    0,  122,    0,  120,
         
176,    0,    0,    0,    0,    0,   83,  358,  170,    0,
           
0,  113,    0,  111,    0,   -7,    9,  220,    0,    0,
           
77,  108, -102,  100,  -42,  251,    0,    0,   89,  256,
           
0,    0,    0,    0,    0,    0,  181,    0,  419,  160,
         -
107,    0,    0
   
);

    protected
$gotoDefault = array(
        -
32768,  463,  659,    2,  660,  733,  741,  593,  477,  625,
         
577,  370, 1178,  785,  786,  787,  371,  358,  478,  369,
         
400,  395,  774,  767,  769,  777,  171,  401,  780,    1,
         
782,  513,  818, 1008,  355,  790,  356,  585,  792,  522,
         
794,  795,  136,  372,  373,  523,  479,  380,  572,  809,
         
272,  377,  811,  357,  812,  821,  360,  460,  454,  552,
         
604,  425,  441,  566,  560,  531, 1072,  561,  853,  344,
         
861,  656,  869,  872,  480,  553,  883,  446,  891, 1085,
         
387,  897,  903,  908,  283,  911,  407,  402,  580,  916,
         
917,    5,  921,  617,  618,    8,  308,  944,  594,  958,
         
411, 1027, 1029,  481,  482,  517,  453,  503,  521,  483,
         
1050,  435,  403, 1053,  484,  485,  426,  427, 1069,  350,
         
1153,  349,  443,  316, 1140,  575, 1104,  450, 1193, 1149,
         
343,  486,  487,  366, 1172,  382, 1188,  431, 1195, 1203,
         
339,  535,  562
   
);

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

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

    protected function
initReduceCallbacks() {
       
$this->reduceCallbacks = [
           
0 => function ($stackPos) {
               
$this->semValue = $this->semStack[$stackPos];
            },
           
1 => function ($stackPos) {
                 
$this->semValue = $this->handleNamespaces($this->semStack[$stackPos-(1-1)]);
            },
           
2 => function ($stackPos) {
                 if (
is_array($this->semStack[$stackPos-(2-2)])) { $this->semValue = array_merge($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)]); } else { $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; };
            },
           
3 => function ($stackPos) {
                 
$this->semValue = array();
            },
           
4 => function ($stackPos) {
                 
$startAttributes = $this->lookaheadStartAttributes; if (isset($startAttributes['comments'])) { $nop = new Stmt\Nop($this->createCommentNopAttributes($startAttributes['comments'])); } else { $nop = null; };
            if (
$nop !== null) { $this->semStack[$stackPos-(1-1)][] = $nop; } $this->semValue = $this->semStack[$stackPos-(1-1)];
            },
           
5 => function ($stackPos) {
               
$this->semValue = $this->semStack[$stackPos];
            },
           
6 => function ($stackPos) {
               
$this->semValue = $this->semStack[$stackPos];
            },
           
7 => function ($stackPos) {
               
$this->semValue = $this->semStack[$stackPos];
            },
           
8 => function ($stackPos) {
               
$this->semValue = $this->semStack[$stackPos];
            },
           
9 => function ($stackPos) {
               
$this->semValue = $this->semStack[$stackPos];
            },
           
10 => function ($stackPos) {
               
$this->semValue = $this->semStack[$stackPos];
            },
           
11 => function ($stackPos) {
               
$this->semValue = $this->semStack[$stackPos];
            },
           
12 => function ($stackPos) {
               
$this->semValue = $this->semStack[$stackPos];
            },
           
13 => function ($stackPos) {
               
$this->semValue = $this->semStack[$stackPos];
            },
           
14 => function ($stackPos) {
               
$this->semValue = $this->semStack[$stackPos];
            },
           
15 => function ($stackPos) {
               
$this->semValue = $this->semStack[$stackPos];
            },
           
16 => function ($stackPos) {
               
$this->semValue = $this->semStack[$stackPos];
            },
           
17 => function ($stackPos) {
               
$this->semValue = $this->semStack[$stackPos];
            },
           
18 => function ($stackPos) {
               
$this->semValue = $this->semStack[$stackPos];
            },
           
19 => function ($stackPos) {
               
$this->semValue = $this->semStack[$stackPos];
            },
           
20 => function ($stackPos) {
               
$this->semValue = $this->semStack[$stackPos];
            },
           
21 => function ($stackPos) {
               
$this->semValue = $this->semStack[$stackPos];
            },
           
22 => function ($stackPos) {
               
$this->semValue = $this->semStack[$stackPos];
            },
           
23 => function ($stackPos) {
               
$this->semValue = $this->semStack[$stackPos];
            },
           
24 => function ($stackPos) {
               
$this->semValue = $this->semStack[$stackPos];
            },
           
25 => function ($stackPos) {
               
$this->semValue = $this->semStack[$stackPos];
            },
           
26 => function ($stackPos) {
               
$this->semValue = $this->semStack[$stackPos];
            },
           
27 => function ($stackPos) {
               
$this->semValue = $this->semStack[$stackPos];
            },
           
28 => function ($stackPos) {
               
$this->semValue = $this->semStack[$stackPos];
            },
           
29 => function ($stackPos) {
               
$this->semValue = $this->semStack[$stackPos];
            },
           
30 => function ($stackPos) {
               
$this->semValue = $this->semStack[$stackPos];
            },
           
31 => function ($stackPos) {
               
$this->semValue = $this->semStack[$stackPos];
            },
           
32 => function ($stackPos) {
               
$this->semValue = $this->semStack[$stackPos];
            },
           
33 => function ($stackPos) {
               
$this->semValue = $this->semStack[$stackPos];
            },
           
34 => function ($stackPos) {
               
$this->semValue = $this->semStack[$stackPos];
            },
           
35 => function ($stackPos) {
               
$this->semValue = $this->semStack[$stackPos];
            },
           
36 => function ($stackPos) {
               
$this->semValue = $this->semStack[$stackPos];
            },
           
37 => function ($stackPos) {
               
$this->semValue = $this->semStack[$stackPos];
            },
           
38 => function ($stackPos) {
               
$this->semValue = $this->semStack[$stackPos];
            },
           
39 => function ($stackPos) {
               
$this->semValue = $this->semStack[$stackPos];
            },
           
40 => function ($stackPos) {
               
$this->semValue = $this->semStack[$stackPos];
            },
           
41 => function ($stackPos) {
               
$this->semValue = $this->semStack[$stackPos];
            },
           
42 => function ($stackPos) {
               
$this->semValue = $this->semStack[$stackPos];
            },
           
43 => function ($stackPos) {
               
$this->semValue = $this->semStack[$stackPos];
            },
           
44 => function ($stackPos) {
               
$this->semValue = $this->semStack[$stackPos];
            },
           
45 => function ($stackPos) {
               
$this->semValue = $this->semStack[$stackPos];
            },
           
46 => function ($stackPos) {
               
$this->semValue = $this->semStack[$stackPos];
            },
           
47 => function ($stackPos) {
               
$this->semValue = $this->semStack[$stackPos];
            },
           
48 => function ($stackPos) {
               
$this->semValue = $this->semStack[$stackPos];
            },
           
49 => function ($stackPos) {
               
$this->semValue = $this->semStack[$stackPos];
            },
           
50 => function ($stackPos) {
               
$this->semValue = $this->semStack[$stackPos];
            },
           
51 => function ($stackPos) {
               
$this->semValue = $this->semStack[$stackPos];
            },
           
52 => function ($stackPos) {
               
$this->semValue = $this->semStack[$stackPos];
            },
           
53 => function ($stackPos) {
               
$this->semValue = $this->semStack[$stackPos];
            },
           
54 => function ($stackPos) {
               
$this->semValue = $this->semStack[$stackPos];
            },
           
55 => function ($stackPos) {
               
$this->semValue = $this->semStack[$stackPos];
            },
           
56 => function ($stackPos) {
               
$this->semValue = $this->semStack[$stackPos];
            },
           
57 => function ($stackPos) {
               
$this->semValue = $this->semStack[$stackPos];
            },
           
58 => function ($stackPos) {
               
$this->semValue = $this->semStack[$stackPos];
            },
           
59 => function ($stackPos) {
               
$this->semValue = $this->semStack[$stackPos];
            },
           
60 => function ($stackPos) {
               
$this->semValue = $this->semStack[$stackPos];
            },
           
61 => function ($stackPos) {
               
$this->semValue = $this->semStack[$stackPos];
            },
           
62 => function ($stackPos) {
               
$this->semValue = $this->semStack[$stackPos];
            },
           
63 => function ($stackPos) {
               
$this->semValue = $this->semStack[$stackPos];
            },
           
64 => function ($stackPos) {
               
$this->semValue = $this->semStack[$stackPos];
            },
           
65 => function ($stackPos) {
               
$this->semValue = $this->semStack[$stackPos];
            },
           
66 => function ($stackPos) {
               
$this->semValue = $this->semStack[$stackPos];
            },
           
67 => function ($stackPos) {
               
$this->semValue = $this->semStack[$stackPos];
            },
           
68 => function ($stackPos) {
               
$this->semValue = $this->semStack[$stackPos];
            },
           
69 => function ($stackPos) {
               
$this->semValue = $this->semStack[$stackPos];
            },
           
70 => function ($stackPos) {
               
$this->semValue = $this->semStack[$stackPos];
            },
           
71 => function ($stackPos) {
               
$this->semValue = $this->semStack[$stackPos];
            },
           
72 => function ($stackPos) {
               
$this->semValue = $this->semStack[$stackPos];
            },
           
73 => function ($stackPos) {
               
$this->semValue = $this->semStack[$stackPos];
            },
           
74 => function ($stackPos) {
               
$this->semValue = $this->semStack[$stackPos];
            },
           
75 => function ($stackPos) {
               
$this->semValue = $this->semStack[$stackPos];
            },
           
76 => function ($stackPos) {
               
$this->semValue = $this->semStack[$stackPos];
            },
           
77 => function ($stackPos) {
               
$this->semValue = $this->semStack[$stackPos];
            },
           
78 => function ($stackPos) {
               
$this->semValue = $this->semStack[$stackPos];
            },
           
79 => function ($stackPos) {
               
$this->semValue = $this->semStack[$stackPos];
            },
           
80 => function ($stackPos) {
               
$this->semValue = $this->semStack[$stackPos];
            },
           
81 => function ($stackPos) {
               
$this->semValue = $this->semStack[$stackPos];
            },
           
82 => function ($stackPos) {
                 
$this->semValue = new Node\Identifier($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
            },
           
83 => function ($stackPos) {
                 
$this->semValue = new Node\Identifier($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
            },
           
84 => function ($stackPos) {
                 
$this->semValue = new Node\Identifier($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
            },
           
85 => function ($stackPos) {
                 
$this->semValue = new Node\Identifier($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
            },
           
86 => function ($stackPos) {
                 
$this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
            },
           
87 => function ($stackPos) {
                 
$this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
            },
           
88 => function ($stackPos) {
                 
$this->semValue = $this->semStack[$stackPos-(1-1)];
            },
           
89 => function ($stackPos) {
                 
$this->semValue = new Name(substr($this->semStack[$stackPos-(1-1)], 1), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
            },
           
90 => function ($stackPos) {
                 
$this->semValue = new Expr\Variable(substr($this->semStack[$stackPos-(1-1)], 1), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
            },
           
91 => function ($stackPos) {
                 
$this->semValue = $this->semStack[$stackPos-(1-1)];
            },
           
92 => function ($stackPos) {
                 
$this->semValue = $this->semStack[$stackPos-(1-1)];
            },
           
93 => function ($stackPos) {
                 
$this->semValue = $this->semStack[$stackPos-(1-1)];
            },
           
94 => function ($stackPos) {
                 
$this->semValue = new Stmt\HaltCompiler($this->lexer->handleHaltCompiler(), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
            },
           
95 => function ($stackPos) {
                 
$this->semValue = new Stmt\Namespace_($this->semStack[$stackPos-(3-2)], null, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
           
$this->semValue->setAttribute('kind', Stmt\Namespace_::KIND_SEMICOLON);
           
$this->checkNamespace($this->semValue);
            },
           
96 => function ($stackPos) {
                 
$this->semValue = new Stmt\Namespace_($this->semStack[$stackPos-(5-2)], $this->semStack[$stackPos-(5-4)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes);
           
$this->semValue->setAttribute('kind', Stmt\Namespace_::KIND_BRACED);
           
$this->checkNamespace($this->semValue);
            },
           
97 => function ($stackPos) {
                 
$this->semValue = new Stmt\Namespace_(null, $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
           
$this->semValue->setAttribute('kind', Stmt\Namespace_::KIND_BRACED);
           
$this->checkNamespace($this->semValue);
            },
           
98 => function ($stackPos) {
                 
$this->semValue = new Stmt\Use_($this->semStack[$stackPos-(3-2)], Stmt\Use_::TYPE_NORMAL, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
99 => function ($stackPos) {
                 
$this->semValue = new Stmt\Use_($this->semStack[$stackPos-(4-3)], $this->semStack[$stackPos-(4-2)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
            },
           
100 => function ($stackPos) {
                 
$this->semValue = $this->semStack[$stackPos-(2-1)];
            },
           
101 => function ($stackPos) {
                 
$this->semValue = new Stmt\Const_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
102 => function ($stackPos) {
                 
$this->semValue = Stmt\Use_::TYPE_FUNCTION;
            },
           
103 => function ($stackPos) {
                 
$this->semValue = Stmt\Use_::TYPE_CONSTANT;
            },
           
104 => function ($stackPos) {
                 
$this->semValue = new Stmt\GroupUse($this->semStack[$stackPos-(7-3)], $this->semStack[$stackPos-(7-6)], $this->semStack[$stackPos-(7-2)], $this->startAttributeStack[$stackPos-(7-1)] + $this->endAttributes);
            },
           
105 => function ($stackPos) {
                 
$this->semValue = new Stmt\GroupUse($this->semStack[$stackPos-(6-2)], $this->semStack[$stackPos-(6-5)], Stmt\Use_::TYPE_UNKNOWN, $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes);
            },
           
106 => function ($stackPos) {
                 
$this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)];
            },
           
107 => function ($stackPos) {
                 
$this->semValue = array($this->semStack[$stackPos-(1-1)]);
            },
           
108 => function ($stackPos) {
                 
$this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)];
            },
           
109 => function ($stackPos) {
                 
$this->semValue = array($this->semStack[$stackPos-(1-1)]);
            },
           
110 => function ($stackPos) {
                 
$this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)];
            },
           
111 => function ($stackPos) {
                 
$this->semValue = array($this->semStack[$stackPos-(1-1)]);
            },
           
112 => function ($stackPos) {
                 
$this->semValue = new Stmt\UseUse($this->semStack[$stackPos-(1-1)], null, Stmt\Use_::TYPE_UNKNOWN, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); $this->checkUseUse($this->semValue, $stackPos-(1-1));
            },
           
113 => function ($stackPos) {
                 
$this->semValue = new Stmt\UseUse($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], Stmt\Use_::TYPE_UNKNOWN, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); $this->checkUseUse($this->semValue, $stackPos-(3-3));
            },
           
114 => function ($stackPos) {
                 
$this->semValue = new Stmt\UseUse($this->semStack[$stackPos-(1-1)], null, Stmt\Use_::TYPE_UNKNOWN, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); $this->checkUseUse($this->semValue, $stackPos-(1-1));
            },
           
115 => function ($stackPos) {
                 
$this->semValue = new Stmt\UseUse($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], Stmt\Use_::TYPE_UNKNOWN, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); $this->checkUseUse($this->semValue, $stackPos-(3-3));
            },
           
116 => function ($stackPos) {
                 
$this->semValue = $this->semStack[$stackPos-(1-1)]; $this->semValue->type = Stmt\Use_::TYPE_NORMAL;
            },
           
117 => function ($stackPos) {
                 
$this->semValue = $this->semStack[$stackPos-(2-2)]; $this->semValue->type = $this->semStack[$stackPos-(2-1)];
            },
           
118 => function ($stackPos) {
                 
$this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)];
            },
           
119 => function ($stackPos) {
                 
$this->semValue = array($this->semStack[$stackPos-(1-1)]);
            },
           
120 => function ($stackPos) {
                 
$this->semValue = new Node\Const_($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
121 => function ($stackPos) {
                 
$this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)];
            },
           
122 => function ($stackPos) {
                 
$this->semValue = array($this->semStack[$stackPos-(1-1)]);
            },
           
123 => function ($stackPos) {
                 
$this->semValue = new Node\Const_($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
124 => function ($stackPos) {
                 if (
is_array($this->semStack[$stackPos-(2-2)])) { $this->semValue = array_merge($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)]); } else { $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; };
            },
           
125 => function ($stackPos) {
                 
$this->semValue = array();
            },
           
126 => function ($stackPos) {
                 
$startAttributes = $this->lookaheadStartAttributes; if (isset($startAttributes['comments'])) { $nop = new Stmt\Nop($this->createCommentNopAttributes($startAttributes['comments'])); } else { $nop = null; };
            if (
$nop !== null) { $this->semStack[$stackPos-(1-1)][] = $nop; } $this->semValue = $this->semStack[$stackPos-(1-1)];
            },
           
127 => function ($stackPos) {
                 
$this->semValue = $this->semStack[$stackPos-(1-1)];
            },
           
128 => function ($stackPos) {
                 
$this->semValue = $this->semStack[$stackPos-(1-1)];
            },
           
129 => function ($stackPos) {
                 
$this->semValue = $this->semStack[$stackPos-(1-1)];
            },
           
130 => function ($stackPos) {
                 throw new
Error('__HALT_COMPILER() can only be used from the outermost scope', $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
            },
           
131 => function ($stackPos) {

        if (
$this->semStack[$stackPos-(3-2)]) {
           
$this->semValue = $this->semStack[$stackPos-(3-2)]; $attrs = $this->startAttributeStack[$stackPos-(3-1)]; $stmts = $this->semValue; if (!empty($attrs['comments'])) {$stmts[0]->setAttribute('comments', array_merge($attrs['comments'], $stmts[0]->getAttribute('comments', []))); };
        } else {
           
$startAttributes = $this->startAttributeStack[$stackPos-(3-1)]; if (isset($startAttributes['comments'])) { $this->semValue = new Stmt\Nop($startAttributes + $this->endAttributes); } else { $this->semValue = null; };
            if (
null === $this->semValue) { $this->semValue = array(); }
        }

            },
           
132 => function ($stackPos) {
                 
$this->semValue = new Stmt\If_($this->semStack[$stackPos-(5-2)], ['stmts' => is_array($this->semStack[$stackPos-(5-3)]) ? $this->semStack[$stackPos-(5-3)] : array($this->semStack[$stackPos-(5-3)]), 'elseifs' => $this->semStack[$stackPos-(5-4)], 'else' => $this->semStack[$stackPos-(5-5)]], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes);
            },
           
133 => function ($stackPos) {
                 
$this->semValue = new Stmt\If_($this->semStack[$stackPos-(8-2)], ['stmts' => $this->semStack[$stackPos-(8-4)], 'elseifs' => $this->semStack[$stackPos-(8-5)], 'else' => $this->semStack[$stackPos-(8-6)]], $this->startAttributeStack[$stackPos-(8-1)] + $this->endAttributes);
            },
           
134 => function ($stackPos) {
                 
$this->semValue = new Stmt\While_($this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
135 => function ($stackPos) {
                 
$this->semValue = new Stmt\Do_($this->semStack[$stackPos-(5-4)], is_array($this->semStack[$stackPos-(5-2)]) ? $this->semStack[$stackPos-(5-2)] : array($this->semStack[$stackPos-(5-2)]), $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes);
            },
           
136 => function ($stackPos) {
                 
$this->semValue = new Stmt\For_(['init' => $this->semStack[$stackPos-(9-3)], 'cond' => $this->semStack[$stackPos-(9-5)], 'loop' => $this->semStack[$stackPos-(9-7)], 'stmts' => $this->semStack[$stackPos-(9-9)]], $this->startAttributeStack[$stackPos-(9-1)] + $this->endAttributes);
            },
           
137 => function ($stackPos) {
                 
$this->semValue = new Stmt\Switch_($this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
138 => function ($stackPos) {
                 
$this->semValue = new Stmt\Break_(null, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
            },
           
139 => function ($stackPos) {
                 
$this->semValue = new Stmt\Break_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
140 => function ($stackPos) {
                 
$this->semValue = new Stmt\Continue_(null, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
            },
           
141 => function ($stackPos) {
                 
$this->semValue = new Stmt\Continue_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
142 => function ($stackPos) {
                 
$this->semValue = new Stmt\Return_(null, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
            },
           
143 => function ($stackPos) {
                 
$this->semValue = new Stmt\Return_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
144 => function ($stackPos) {
                 
$this->semValue = new Stmt\Global_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
145 => function ($stackPos) {
                 
$this->semValue = new Stmt\Static_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
146 => function ($stackPos) {
                 
$this->semValue = new Stmt\Echo_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
147 => function ($stackPos) {
                 
$this->semValue = new Stmt\InlineHTML($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
            },
           
148 => function ($stackPos) {
                 
$this->semValue = new Stmt\Expression($this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
            },
           
149 => function ($stackPos) {
                 
$this->semValue = new Stmt\Expression($this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
            },
           
150 => function ($stackPos) {
                 
$this->semValue = new Stmt\Unset_($this->semStack[$stackPos-(5-3)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes);
            },
           
151 => function ($stackPos) {
                 
$this->semValue = new Stmt\Foreach_($this->semStack[$stackPos-(7-3)], $this->semStack[$stackPos-(7-5)][0], ['keyVar' => null, 'byRef' => $this->semStack[$stackPos-(7-5)][1], 'stmts' => $this->semStack[$stackPos-(7-7)]], $this->startAttributeStack[$stackPos-(7-1)] + $this->endAttributes);
            },
           
152 => function ($stackPos) {
                 
$this->semValue = new Stmt\Foreach_($this->semStack[$stackPos-(9-3)], $this->semStack[$stackPos-(9-7)][0], ['keyVar' => $this->semStack[$stackPos-(9-5)], 'byRef' => $this->semStack[$stackPos-(9-7)][1], 'stmts' => $this->semStack[$stackPos-(9-9)]], $this->startAttributeStack[$stackPos-(9-1)] + $this->endAttributes);
            },
           
153 => function ($stackPos) {
                 
$this->semValue = new Stmt\Declare_($this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-5)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes);
            },
           
154 => function ($stackPos) {
                 
$this->semValue = new Stmt\TryCatch($this->semStack[$stackPos-(6-3)], $this->semStack[$stackPos-(6-5)], $this->semStack[$stackPos-(6-6)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); $this->checkTryCatch($this->semValue);
            },
           
155 => function ($stackPos) {
                 
$this->semValue = new Stmt\Throw_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
156 => function ($stackPos) {
                 
$this->semValue = new Stmt\Goto_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
157 => function ($stackPos) {
                 
$this->semValue = new Stmt\Label($this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
            },
           
158 => function ($stackPos) {
                 
$this->semValue = new Stmt\Expression($this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
            },
           
159 => function ($stackPos) {
                 
$this->semValue = array(); /* means: no statement */
           
},
           
160 => function ($stackPos) {
                 
$this->semValue = $this->semStack[$stackPos-(1-1)];
            },
           
161 => function ($stackPos) {
                 
$startAttributes = $this->startAttributeStack[$stackPos-(1-1)]; if (isset($startAttributes['comments'])) { $this->semValue = new Stmt\Nop($startAttributes + $this->endAttributes); } else { $this->semValue = null; };
            if (
$this->semValue === null) $this->semValue = array(); /* means: no statement */
           
},
           
162 => function ($stackPos) {
                 
$this->semValue = array();
            },
           
163 => function ($stackPos) {
                 
$this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)];
            },
           
164 => function ($stackPos) {
                 
$this->semValue = new Stmt\Catch_(array($this->semStack[$stackPos-(8-3)]), $this->semStack[$stackPos-(8-4)], $this->semStack[$stackPos-(8-7)], $this->startAttributeStack[$stackPos-(8-1)] + $this->endAttributes);
            },
           
165 => function ($stackPos) {
                 
$this->semValue = null;
            },
           
166 => function ($stackPos) {
                 
$this->semValue = new Stmt\Finally_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
            },
           
167 => function ($stackPos) {
                 
$this->semValue = array($this->semStack[$stackPos-(1-1)]);
            },
           
168 => function ($stackPos) {
                 
$this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)];
            },
           
169 => function ($stackPos) {
                 
$this->semValue = false;
            },
           
170 => function ($stackPos) {
                 
$this->semValue = true;
            },
           
171 => function ($stackPos) {
                 
$this->semValue = false;
            },
           
172 => function ($stackPos) {
                 
$this->semValue = true;
            },
           
173 => function ($stackPos) {
                 
$this->semValue = new Stmt\Function_($this->semStack[$stackPos-(10-3)], ['byRef' => $this->semStack[$stackPos-(10-2)], 'params' => $this->semStack[$stackPos-(10-5)], 'returnType' => $this->semStack[$stackPos-(10-7)], 'stmts' => $this->semStack[$stackPos-(10-9)]], $this->startAttributeStack[$stackPos-(10-1)] + $this->endAttributes);
            },
           
174 => function ($stackPos) {
                 
$this->semValue = new Stmt\Class_($this->semStack[$stackPos-(7-2)], ['type' => $this->semStack[$stackPos-(7-1)], 'extends' => $this->semStack[$stackPos-(7-3)], 'implements' => $this->semStack[$stackPos-(7-4)], 'stmts' => $this->semStack[$stackPos-(7-6)]], $this->startAttributeStack[$stackPos-(7-1)] + $this->endAttributes);
           
$this->checkClass($this->semValue, $stackPos-(7-2));
            },
           
175 => function ($stackPos) {
                 
$this->semValue = new Stmt\Interface_($this->semStack[$stackPos-(6-2)], ['extends' => $this->semStack[$stackPos-(6-3)], 'stmts' => $this->semStack[$stackPos-(6-5)]], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes);
           
$this->checkInterface($this->semValue, $stackPos-(6-2));
            },
           
176 => function ($stackPos) {
                 
$this->semValue = new Stmt\Trait_($this->semStack[$stackPos-(5-2)], ['stmts' => $this->semStack[$stackPos-(5-4)]], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes);
            },
           
177 => function ($stackPos) {
                 
$this->semValue = 0;
            },
           
178 => function ($stackPos) {
                 
$this->semValue = Stmt\Class_::MODIFIER_ABSTRACT;
            },
           
179 => function ($stackPos) {
                 
$this->semValue = Stmt\Class_::MODIFIER_FINAL;
            },
           
180 => function ($stackPos) {
                 
$this->semValue = null;
            },
           
181 => function ($stackPos) {
                 
$this->semValue = $this->semStack[$stackPos-(2-2)];
            },
           
182 => function ($stackPos) {
                 
$this->semValue = array();
            },
           
183 => function ($stackPos) {
                 
$this->semValue = $this->semStack[$stackPos-(2-2)];
            },
           
184 => function ($stackPos) {
                 
$this->semValue = array();
            },
           
185 => function ($stackPos) {
                 
$this->semValue = $this->semStack[$stackPos-(2-2)];
            },
           
186 => function ($stackPos) {
                 
$this->semValue = array($this->semStack[$stackPos-(1-1)]);
            },
           
187 => function ($stackPos) {
                 
$this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)];
            },
           
188 => function ($stackPos) {
                 
$this->semValue = is_array($this->semStack[$stackPos-(1-1)]) ? $this->semStack[$stackPos-(1-1)] : array($this->semStack[$stackPos-(1-1)]);
            },
           
189 => function ($stackPos) {
                 
$this->semValue = $this->semStack[$stackPos-(4-2)];
            },
           
190 => function ($stackPos) {
                 
$this->semValue = is_array($this->semStack[$stackPos-(1-1)]) ? $this->semStack[$stackPos-(1-1)] : array($this->semStack[$stackPos-(1-1)]);
            },
           
191 => function ($stackPos) {
                 
$this->semValue = $this->semStack[$stackPos-(4-2)];
            },
           
192 => function ($stackPos) {
                 
$this->semValue = is_array($this->semStack[$stackPos-(1-1)]) ? $this->semStack[$stackPos-(1-1)] : array($this->semStack[$stackPos-(1-1)]);
            },
           
193 => function ($stackPos) {
                 
$this->semValue = null;
            },
           
194 => function ($stackPos) {
                 
$this->semValue = $this->semStack[$stackPos-(4-2)];
            },
           
195 => function ($stackPos) {
                 
$this->semValue = array($this->semStack[$stackPos-(1-1)]);
            },
           
196 => function ($stackPos) {
                 
$this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)];
            },
           
197 => function ($stackPos) {
                 
$this->semValue = new Stmt\DeclareDeclare($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
198 => function ($stackPos) {
                 
$this->semValue = $this->semStack[$stackPos-(3-2)];
            },
           
199 => function ($stackPos) {
                 
$this->semValue = $this->semStack[$stackPos-(4-3)];
            },
           
200 => function ($stackPos) {
                 
$this->semValue = $this->semStack[$stackPos-(4-2)];
            },
           
201 => function ($stackPos) {
                 
$this->semValue = $this->semStack[$stackPos-(5-3)];
            },
           
202 => function ($stackPos) {
                 
$this->semValue = array();
            },
           
203 => function ($stackPos) {
                 
$this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)];
            },
           
204 => function ($stackPos) {
                 
$this->semValue = new Stmt\Case_($this->semStack[$stackPos-(4-2)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
            },
           
205 => function ($stackPos) {
                 
$this->semValue = new Stmt\Case_(null, $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
206 => function ($stackPos) {
               
$this->semValue = $this->semStack[$stackPos];
            },
           
207 => function ($stackPos) {
               
$this->semValue = $this->semStack[$stackPos];
            },
           
208 => function ($stackPos) {
                 
$this->semValue = is_array($this->semStack[$stackPos-(1-1)]) ? $this->semStack[$stackPos-(1-1)] : array($this->semStack[$stackPos-(1-1)]);
            },
           
209 => function ($stackPos) {
                 
$this->semValue = $this->semStack[$stackPos-(4-2)];
            },
           
210 => function ($stackPos) {
                 
$this->semValue = array();
            },
           
211 => function ($stackPos) {
                 
$this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)];
            },
           
212 => function ($stackPos) {
                 
$this->semValue = new Stmt\ElseIf_($this->semStack[$stackPos-(3-2)], is_array($this->semStack[$stackPos-(3-3)]) ? $this->semStack[$stackPos-(3-3)] : array($this->semStack[$stackPos-(3-3)]), $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
213 => function ($stackPos) {
                 
$this->semValue = array();
            },
           
214 => function ($stackPos) {
                 
$this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)];
            },
           
215 => function ($stackPos) {
                 
$this->semValue = new Stmt\ElseIf_($this->semStack[$stackPos-(4-2)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
            },
           
216 => function ($stackPos) {
                 
$this->semValue = null;
            },
           
217 => function ($stackPos) {
                 
$this->semValue = new Stmt\Else_(is_array($this->semStack[$stackPos-(2-2)]) ? $this->semStack[$stackPos-(2-2)] : array($this->semStack[$stackPos-(2-2)]), $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
            },
           
218 => function ($stackPos) {
                 
$this->semValue = null;
            },
           
219 => function ($stackPos) {
                 
$this->semValue = new Stmt\Else_($this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
220 => function ($stackPos) {
                 
$this->semValue = array($this->semStack[$stackPos-(1-1)], false);
            },
           
221 => function ($stackPos) {
                 
$this->semValue = array($this->semStack[$stackPos-(2-2)], true);
            },
           
222 => function ($stackPos) {
                 
$this->semValue = array($this->semStack[$stackPos-(1-1)], false);
            },
           
223 => function ($stackPos) {
                 
$this->semValue = $this->semStack[$stackPos-(1-1)];
            },
           
224 => function ($stackPos) {
                 
$this->semValue = array();
            },
           
225 => function ($stackPos) {
                 
$this->semValue = array($this->semStack[$stackPos-(1-1)]);
            },
           
226 => function ($stackPos) {
                 
$this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)];
            },
           
227 => function ($stackPos) {
                 
$this->semValue = new Node\Param($this->semStack[$stackPos-(4-4)], null, $this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-2)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); $this->checkParam($this->semValue);
            },
           
228 => function ($stackPos) {
                 
$this->semValue = new Node\Param($this->semStack[$stackPos-(6-4)], $this->semStack[$stackPos-(6-6)], $this->semStack[$stackPos-(6-1)], $this->semStack[$stackPos-(6-2)], $this->semStack[$stackPos-(6-3)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); $this->checkParam($this->semValue);
            },
           
229 => function ($stackPos) {
                 
$this->semValue = $this->semStack[$stackPos-(1-1)];
            },
           
230 => function ($stackPos) {
                 
$this->semValue = new Node\Identifier('array', $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
            },
           
231 => function ($stackPos) {
                 
$this->semValue = new Node\Identifier('callable', $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
            },
           
232 => function ($stackPos) {
                 
$this->semValue = null;
            },
           
233 => function ($stackPos) {
                 
$this->semValue = $this->semStack[$stackPos-(1-1)];
            },
           
234 => function ($stackPos) {
                 
$this->semValue = null;
            },
           
235 => function ($stackPos) {
                 
$this->semValue = $this->semStack[$stackPos-(2-2)];
            },
           
236 => function ($stackPos) {
                 
$this->semValue = array();
            },
           
237 => function ($stackPos) {
                 
$this->semValue = $this->semStack[$stackPos-(3-2)];
            },
           
238 => function ($stackPos) {
                 
$this->semValue = array(new Node\Arg($this->semStack[$stackPos-(3-2)], false, false, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes));
            },
           
239 => function ($stackPos) {
                 
$this->semValue = array($this->semStack[$stackPos-(1-1)]);
            },
           
240 => function ($stackPos) {
                 
$this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)];
            },
           
241 => function ($stackPos) {
                 
$this->semValue = new Node\Arg($this->semStack[$stackPos-(1-1)], false, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
            },
           
242 => function ($stackPos) {
                 
$this->semValue = new Node\Arg($this->semStack[$stackPos-(2-2)], true, false, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
            },
           
243 => function ($stackPos) {
                 
$this->semValue = new Node\Arg($this->semStack[$stackPos-(2-2)], false, true, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
            },
           
244 => function ($stackPos) {
                 
$this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)];
            },
           
245 => function ($stackPos) {
                 
$this->semValue = array($this->semStack[$stackPos-(1-1)]);
            },
           
246 => function ($stackPos) {
                 
$this->semValue = $this->semStack[$stackPos-(1-1)];
            },
           
247 => function ($stackPos) {
                 
$this->semValue = new Expr\Variable($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
            },
           
248 => function ($stackPos) {
                 
$this->semValue = new Expr\Variable($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
            },
           
249 => function ($stackPos) {
                 
$this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)];
            },
           
250 => function ($stackPos) {
                 
$this->semValue = array($this->semStack[$stackPos-(1-1)]);
            },
           
251 => function ($stackPos) {
                 
$this->semValue = new Stmt\StaticVar($this->semStack[$stackPos-(1-1)], null, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
            },
           
252 => function ($stackPos) {
                 
$this->semValue = new Stmt\StaticVar($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
253 => function ($stackPos) {
                 if (
$this->semStack[$stackPos-(2-2)] !== null) { $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; }
            },
           
254 => function ($stackPos) {
                 
$this->semValue = array();
            },
           
255 => function ($stackPos) {
                 
$startAttributes = $this->lookaheadStartAttributes; if (isset($startAttributes['comments'])) { $nop = new Stmt\Nop($this->createCommentNopAttributes($startAttributes['comments'])); } else { $nop = null; };
            if (
$nop !== null) { $this->semStack[$stackPos-(1-1)][] = $nop; } $this->semValue = $this->semStack[$stackPos-(1-1)];
            },
           
256 => function ($stackPos) {
                 
$this->semValue = new Stmt\Property($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); $this->checkProperty($this->semValue, $stackPos-(3-1));
            },
           
257 => function ($stackPos) {
                 
$this->semValue = new Stmt\ClassConst($this->semStack[$stackPos-(3-2)], 0, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
258 => function ($stackPos) {
                 
$this->semValue = new Stmt\ClassMethod($this->semStack[$stackPos-(9-4)], ['type' => $this->semStack[$stackPos-(9-1)], 'byRef' => $this->semStack[$stackPos-(9-3)], 'params' => $this->semStack[$stackPos-(9-6)], 'returnType' => $this->semStack[$stackPos-(9-8)], 'stmts' => $this->semStack[$stackPos-(9-9)]], $this->startAttributeStack[$stackPos-(9-1)] + $this->endAttributes);
           
$this->checkClassMethod($this->semValue, $stackPos-(9-1));
            },
           
259 => function ($stackPos) {
                 
$this->semValue = new Stmt\TraitUse($this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
260 => function ($stackPos) {
                 
$this->semValue = array();
            },
           
261 => function ($stackPos) {
                 
$this->semValue = $this->semStack[$stackPos-(3-2)];
            },
           
262 => function ($stackPos) {
                 
$this->semValue = array();
            },
           
263 => function ($stackPos) {
                 
$this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)];
            },
           
264 => function ($stackPos) {
                 
$this->semValue = new Stmt\TraitUseAdaptation\Precedence($this->semStack[$stackPos-(4-1)][0], $this->semStack[$stackPos-(4-1)][1], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
            },
           
265 => function ($stackPos) {
                 
$this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos-(5-1)][0], $this->semStack[$stackPos-(5-1)][1], $this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-4)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes);
            },
           
266 => function ($stackPos) {
                 
$this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos-(4-1)][0], $this->semStack[$stackPos-(4-1)][1], $this->semStack[$stackPos-(4-3)], null, $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
            },
           
267 => function ($stackPos) {
                 
$this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos-(4-1)][0], $this->semStack[$stackPos-(4-1)][1], null, $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
            },
           
268 => function ($stackPos) {
                 
$this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos-(4-1)][0], $this->semStack[$stackPos-(4-1)][1], null, $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
            },
           
269 => function ($stackPos) {
                 
$this->semValue = array($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)]);
            },
           
270 => function ($stackPos) {
                 
$this->semValue = $this->semStack[$stackPos-(1-1)];
            },
           
271 => function ($stackPos) {
                 
$this->semValue = array(null, $this->semStack[$stackPos-(1-1)]);
            },
           
272 => function ($stackPos) {
                 
$this->semValue = null;
            },
           
273 => function ($stackPos) {
                 
$this->semValue = $this->semStack[$stackPos-(3-2)];
            },
           
274 => function ($stackPos) {
                 
$this->semValue = $this->semStack[$stackPos-(1-1)];
            },
           
275 => function ($stackPos) {
                 
$this->semValue = 0;
            },
           
276 => function ($stackPos) {
                 
$this->semValue = 0;
            },
           
277 => function ($stackPos) {
                 
$this->semValue = $this->semStack[$stackPos-(1-1)];
            },
           
278 => function ($stackPos) {
                 
$this->semValue = $this->semStack[$stackPos-(1-1)];
            },
           
279 => function ($stackPos) {
                 
$this->checkModifier($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $stackPos-(2-2)); $this->semValue = $this->semStack[$stackPos-(2-1)] | $this->semStack[$stackPos-(2-2)];
            },
           
280 => function ($stackPos) {
                 
$this->semValue = Stmt\Class_::MODIFIER_PUBLIC;
            },
           
281 => function ($stackPos) {
                 
$this->semValue = Stmt\Class_::MODIFIER_PROTECTED;
            },
           
282 => function ($stackPos) {
                 
$this->semValue = Stmt\Class_::MODIFIER_PRIVATE;
            },
           
283 => function ($stackPos) {
                 
$this->semValue = Stmt\Class_::MODIFIER_STATIC;
            },
           
284 => function ($stackPos) {
                 
$this->semValue = Stmt\Class_::MODIFIER_ABSTRACT;
            },
           
285 => function ($stackPos) {
                 
$this->semValue = Stmt\Class_::MODIFIER_FINAL;
            },
           
286 => function ($stackPos) {
                 
$this->semValue = array($this->semStack[$stackPos-(1-1)]);
            },
           
287 => function ($stackPos) {
                 
$this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)];
            },
           
288 => function ($stackPos) {
                 
$this->semValue = new Node\VarLikeIdentifier(substr($this->semStack[$stackPos-(1-1)], 1), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
            },
           
289 => function ($stackPos) {
                 
$this->semValue = new Stmt\PropertyProperty($this->semStack[$stackPos-(1-1)], null, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
            },
           
290 => function ($stackPos) {
                 
$this->semValue = new Stmt\PropertyProperty($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
291 => function ($stackPos) {
                 
$this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)];
            },
           
292 => function ($stackPos) {
                 
$this->semValue = array($this->semStack[$stackPos-(1-1)]);
            },
           
293 => function ($stackPos) {
                 
$this->semValue = array();
            },
           
294 => function ($stackPos) {
                 
$this->semValue = $this->semStack[$stackPos-(1-1)];
            },
           
295 => function ($stackPos) {
                 
$this->semValue = $this->semStack[$stackPos-(1-1)];
            },
           
296 => function ($stackPos) {
                 
$this->semValue = new Expr\Assign($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
297 => function ($stackPos) {
                 
$this->semValue = new Expr\Assign($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
298 => function ($stackPos) {
                 
$this->semValue = new Expr\AssignRef($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
            },
           
299 => function ($stackPos) {
                 
$this->semValue = new Expr\AssignRef($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
            },
           
300 => function ($stackPos) {
                 
$this->semValue = $this->semStack[$stackPos-(1-1)];
            },
           
301 => function ($stackPos) {
                 
$this->semValue = new Expr\Clone_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
            },
           
302 => function ($stackPos) {
                 
$this->semValue = new Expr\AssignOp\Plus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
303 => function ($stackPos) {
                 
$this->semValue = new Expr\AssignOp\Minus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
304 => function ($stackPos) {
                 
$this->semValue = new Expr\AssignOp\Mul($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
305 => function ($stackPos) {
                 
$this->semValue = new Expr\AssignOp\Div($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
306 => function ($stackPos) {
                 
$this->semValue = new Expr\AssignOp\Concat($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
307 => function ($stackPos) {
                 
$this->semValue = new Expr\AssignOp\Mod($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
308 => function ($stackPos) {
                 
$this->semValue = new Expr\AssignOp\BitwiseAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
309 => function ($stackPos) {
                 
$this->semValue = new Expr\AssignOp\BitwiseOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
310 => function ($stackPos) {
                 
$this->semValue = new Expr\AssignOp\BitwiseXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
311 => function ($stackPos) {
                 
$this->semValue = new Expr\AssignOp\ShiftLeft($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
312 => function ($stackPos) {
                 
$this->semValue = new Expr\AssignOp\ShiftRight($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
313 => function ($stackPos) {
                 
$this->semValue = new Expr\AssignOp\Pow($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
314 => function ($stackPos) {
                 
$this->semValue = new Expr\AssignOp\Coalesce($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
315 => function ($stackPos) {
                 
$this->semValue = new Expr\PostInc($this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
            },
           
316 => function ($stackPos) {
                 
$this->semValue = new Expr\PreInc($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
            },
           
317 => function ($stackPos) {
                 
$this->semValue = new Expr\PostDec($this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
            },
           
318 => function ($stackPos) {
                 
$this->semValue = new Expr\PreDec($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
            },
           
319 => function ($stackPos) {
                 
$this->semValue = new Expr\BinaryOp\BooleanOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
320 => function ($stackPos) {
                 
$this->semValue = new Expr\BinaryOp\BooleanAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
321 => function ($stackPos) {
                 
$this->semValue = new Expr\BinaryOp\LogicalOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
322 => function ($stackPos) {
                 
$this->semValue = new Expr\BinaryOp\LogicalAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
323 => function ($stackPos) {
                 
$this->semValue = new Expr\BinaryOp\LogicalXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
324 => function ($stackPos) {
                 
$this->semValue = new Expr\BinaryOp\BitwiseOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
325 => function ($stackPos) {
                 
$this->semValue = new Expr\BinaryOp\BitwiseAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
326 => function ($stackPos) {
                 
$this->semValue = new Expr\BinaryOp\BitwiseXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
327 => function ($stackPos) {
                 
$this->semValue = new Expr\BinaryOp\Concat($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
328 => function ($stackPos) {
                 
$this->semValue = new Expr\BinaryOp\Plus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
329 => function ($stackPos) {
                 
$this->semValue = new Expr\BinaryOp\Minus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
330 => function ($stackPos) {
                 
$this->semValue = new Expr\BinaryOp\Mul($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
331 => function ($stackPos) {
                 
$this->semValue = new Expr\BinaryOp\Div($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
332 => function ($stackPos) {
                 
$this->semValue = new Expr\BinaryOp\Mod($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
333 => function ($stackPos) {
                 
$this->semValue = new Expr\BinaryOp\ShiftLeft($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
334 => function ($stackPos) {
                 
$this->semValue = new Expr\BinaryOp\ShiftRight($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
335 => function ($stackPos) {
                 
$this->semValue = new Expr\BinaryOp\Pow($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
336 => function ($stackPos) {
                 
$this->semValue = new Expr\UnaryPlus($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
            },
           
337 => function ($stackPos) {
                 
$this->semValue = new Expr\UnaryMinus($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
            },
           
338 => function ($stackPos) {
                 
$this->semValue = new Expr\BooleanNot($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
            },
           
339 => function ($stackPos) {
                 
$this->semValue = new Expr\BitwiseNot($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
            },
           
340 => function ($stackPos) {
                 
$this->semValue = new Expr\BinaryOp\Identical($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
341 => function ($stackPos) {
                 
$this->semValue = new Expr\BinaryOp\NotIdentical($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
342 => function ($stackPos) {
                 
$this->semValue = new Expr\BinaryOp\Equal($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
343 => function ($stackPos) {
                 
$this->semValue = new Expr\BinaryOp\NotEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
344 => function ($stackPos) {
                 
$this->semValue = new Expr\BinaryOp\Spaceship($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
345 => function ($stackPos) {
                 
$this->semValue = new Expr\BinaryOp\Smaller($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
346 => function ($stackPos) {
                 
$this->semValue = new Expr\BinaryOp\SmallerOrEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
347 => function ($stackPos) {
                 
$this->semValue = new Expr\BinaryOp\Greater($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
348 => function ($stackPos) {
                 
$this->semValue = new Expr\BinaryOp\GreaterOrEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
349 => function ($stackPos) {
                 
$this->semValue = new Expr\Instanceof_($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
350 => function ($stackPos) {
                 
$this->semValue = $this->semStack[$stackPos-(1-1)];
            },
           
351 => function ($stackPos) {
                 
$this->semValue = $this->semStack[$stackPos-(3-2)];
            },
           
352 => function ($stackPos) {
                 
$this->semValue = new Expr\Ternary($this->semStack[$stackPos-(5-1)], $this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-5)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes);
            },
           
353 => function ($stackPos) {
                 
$this->semValue = new Expr\Ternary($this->semStack[$stackPos-(4-1)], null, $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
            },
           
354 => function ($stackPos) {
                 
$this->semValue = new Expr\BinaryOp\Coalesce($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
355 => function ($stackPos) {
                 
$this->semValue = new Expr\Isset_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
            },
           
356 => function ($stackPos) {
                 
$this->semValue = new Expr\Empty_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
            },
           
357 => function ($stackPos) {
                 
$this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
            },
           
358 => function ($stackPos) {
                 
$this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE_ONCE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
            },
           
359 => function ($stackPos) {
                 
$this->semValue = new Expr\Eval_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
            },
           
360 => function ($stackPos) {
                 
$this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
            },
           
361 => function ($stackPos) {
                 
$this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE_ONCE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
            },
           
362 => function ($stackPos) {
                 
$this->semValue = new Expr\Cast\Int_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
            },
           
363 => function ($stackPos) {
                 
$attrs = $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes;
           
$attrs['kind'] = $this->getFloatCastKind($this->semStack[$stackPos-(2-1)]);
           
$this->semValue = new Expr\Cast\Double($this->semStack[$stackPos-(2-2)], $attrs);
            },
           
364 => function ($stackPos) {
                 
$this->semValue = new Expr\Cast\String_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
            },
           
365 => function ($stackPos) {
                 
$this->semValue = new Expr\Cast\Array_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
            },
           
366 => function ($stackPos) {
                 
$this->semValue = new Expr\Cast\Object_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
            },
           
367 => function ($stackPos) {
                 
$this->semValue = new Expr\Cast\Bool_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
            },
           
368 => function ($stackPos) {
                 
$this->semValue = new Expr\Cast\Unset_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
            },
           
369 => function ($stackPos) {
                 
$attrs = $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes;
           
$attrs['kind'] = strtolower($this->semStack[$stackPos-(2-1)]) === 'exit' ? Expr\Exit_::KIND_EXIT : Expr\Exit_::KIND_DIE;
           
$this->semValue = new Expr\Exit_($this->semStack[$stackPos-(2-2)], $attrs);
            },
           
370 => function ($stackPos) {
                 
$this->semValue = new Expr\ErrorSuppress($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
            },
           
371 => function ($stackPos) {
                 
$this->semValue = $this->semStack[$stackPos-(1-1)];
            },
           
372 => function ($stackPos) {
                 
$this->semValue = $this->semStack[$stackPos-(1-1)];
            },
           
373 => function ($stackPos) {
                 
$this->semValue = $this->semStack[$stackPos-(1-1)];
            },
           
374 => function ($stackPos) {
                 
$this->semValue = new Expr\ShellExec($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
375 => function ($stackPos) {
                 
$this->semValue = new Expr\Print_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
            },
           
376 => function ($stackPos) {
                 
$this->semValue = new Expr\Yield_(null, null, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
            },
           
377 => function ($stackPos) {
                 
$this->semValue = new Expr\YieldFrom($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
            },
           
378 => function ($stackPos) {
                 
$this->semValue = new Expr\Closure(['static' => false, 'byRef' => $this->semStack[$stackPos-(10-2)], 'params' => $this->semStack[$stackPos-(10-4)], 'uses' => $this->semStack[$stackPos-(10-6)], 'returnType' => $this->semStack[$stackPos-(10-7)], 'stmts' => $this->semStack[$stackPos-(10-9)]], $this->startAttributeStack[$stackPos-(10-1)] + $this->endAttributes);
            },
           
379 => function ($stackPos) {
                 
$this->semValue = new Expr\Closure(['static' => true, 'byRef' => $this->semStack[$stackPos-(11-3)], 'params' => $this->semStack[$stackPos-(11-5)], 'uses' => $this->semStack[$stackPos-(11-7)], 'returnType' => $this->semStack[$stackPos-(11-8)], 'stmts' => $this->semStack[$stackPos-(11-10)]], $this->startAttributeStack[$stackPos-(11-1)] + $this->endAttributes);
            },
           
380 => function ($stackPos) {
                 
$this->semValue = $this->semStack[$stackPos-(3-2)];
            },
           
381 => function ($stackPos) {
                 
$this->semValue = $this->semStack[$stackPos-(3-2)];
            },
           
382 => function ($stackPos) {
                 
$this->semValue = new Expr\Yield_($this->semStack[$stackPos-(2-2)], null, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
            },
           
383 => function ($stackPos) {
                 
$this->semValue = new Expr\Yield_($this->semStack[$stackPos-(4-4)], $this->semStack[$stackPos-(4-2)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
            },
           
384 => function ($stackPos) {
                 
$attrs = $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes; $attrs['kind'] = Expr\Array_::KIND_LONG;
           
$this->semValue = new Expr\Array_($this->semStack[$stackPos-(4-3)], $attrs);
            },
           
385 => function ($stackPos) {
                 
$attrs = $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes; $attrs['kind'] = Expr\Array_::KIND_SHORT;
           
$this->semValue = new Expr\Array_($this->semStack[$stackPos-(3-2)], $attrs);
            },
           
386 => function ($stackPos) {
                 
$this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
            },
           
387 => function ($stackPos) {
                 
$attrs = $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes; $attrs['kind'] = ($this->semStack[$stackPos-(4-1)][0] === "'" || ($this->semStack[$stackPos-(4-1)][1] === "'" && ($this->semStack[$stackPos-(4-1)][0] === 'b' || $this->semStack[$stackPos-(4-1)][0] === 'B')) ? Scalar\String_::KIND_SINGLE_QUOTED : Scalar\String_::KIND_DOUBLE_QUOTED);
           
$this->semValue = new Expr\ArrayDimFetch(new Scalar\String_(Scalar\String_::parse($this->semStack[$stackPos-(4-1)]), $attrs), $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
            },
           
388 => function ($stackPos) {
                 
$this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
            },
           
389 => function ($stackPos) {
                 
$this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
            },
           
390 => function ($stackPos) {
                 
$this->semValue = array(new Stmt\Class_(null, ['type' => 0, 'extends' => $this->semStack[$stackPos-(7-3)], 'implements' => $this->semStack[$stackPos-(7-4)], 'stmts' => $this->semStack[$stackPos-(7-6)]], $this->startAttributeStack[$stackPos-(7-1)] + $this->endAttributes), $this->semStack[$stackPos-(7-2)]);
           
$this->checkClass($this->semValue[0], -1);
            },
           
391 => function ($stackPos) {
                 
$this->semValue = new Expr\New_($this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
392 => function ($stackPos) {
                 list(
$class, $ctorArgs) = $this->semStack[$stackPos-(2-2)]; $this->semValue = new Expr\New_($class, $ctorArgs, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
            },
           
393 => function ($stackPos) {
                 
$this->semValue = array();
            },
           
394 => function ($stackPos) {
                 
$this->semValue = $this->semStack[$stackPos-(4-3)];
            },
           
395 => function ($stackPos) {
                 
$this->semValue = array($this->semStack[$stackPos-(1-1)]);
            },
           
396 => function ($stackPos) {
                 
$this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)];
            },
           
397 => function ($stackPos) {
                 
$this->semValue = new Expr\ClosureUse($this->semStack[$stackPos-(2-2)], $this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
            },
           
398 => function ($stackPos) {
                 
$this->semValue = new Expr\FuncCall($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
            },
           
399 => function ($stackPos) {
                 
$this->semValue = new Expr\StaticCall($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
            },
           
400 => function ($stackPos) {
                 
$this->semValue = new Expr\StaticCall($this->semStack[$stackPos-(6-1)], $this->semStack[$stackPos-(6-4)], $this->semStack[$stackPos-(6-6)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes);
            },
           
401 => function ($stackPos) {
                 
$this->semValue = $this->fixupPhp5StaticPropCall($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
            },
           
402 => function ($stackPos) {
                 
$this->semValue = new Expr\FuncCall($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
            },
           
403 => function ($stackPos) {
                 
$this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
            },
           
404 => function ($stackPos) {
                 
$this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
            },
           
405 => function ($stackPos) {
                 
$this->semValue = $this->semStack[$stackPos-(1-1)];
            },
           
406 => function ($stackPos) {
                 
$this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
            },
           
407 => function ($stackPos) {
                 
$this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
            },
           
408 => function ($stackPos) {
                 
$this->semValue = new Name\FullyQualified(substr($this->semStack[$stackPos-(1-1)], 1), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
            },
           
409 => function ($stackPos) {
                 
$this->semValue = new Name\Relative(substr($this->semStack[$stackPos-(1-1)], 10), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
            },
           
410 => function ($stackPos) {
                 
$this->semValue = $this->semStack[$stackPos-(1-1)];
            },
           
411 => function ($stackPos) {
                 
$this->semValue = $this->semStack[$stackPos-(1-1)];
            },
           
412 => function ($stackPos) {
                 
$this->semValue = $this->semStack[$stackPos-(1-1)];
            },
           
413 => function ($stackPos) {
                 
$this->semValue = $this->semStack[$stackPos-(1-1)];
            },
           
414 => function ($stackPos) {
                 
$this->semValue = $this->semStack[$stackPos-(1-1)];
            },
           
415 => function ($stackPos) {
                 
$this->semValue = $this->semStack[$stackPos-(1-1)];
            },
           
416 => function ($stackPos) {
                 
$this->semValue = new Expr\PropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
417 => function ($stackPos) {
                 
$this->semValue = new Expr\PropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
418 => function ($stackPos) {
                 
$this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
            },
           
419 => function ($stackPos) {
                 
$this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
            },
           
420 => function ($stackPos) {
                 
$this->semValue = null;
            },
           
421 => function ($stackPos) {
                 
$this->semValue = null;
            },
           
422 => function ($stackPos) {
                 
$this->semValue = $this->semStack[$stackPos-(1-1)];
            },
           
423 => function ($stackPos) {
                 
$this->semValue = array();
            },
           
424 => function ($stackPos) {
                 
$this->semValue = array(new Scalar\EncapsedStringPart(Scalar\String_::parseEscapeSequences($this->semStack[$stackPos-(1-1)], '`', false), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes));
            },
           
425 => function ($stackPos) {
                 foreach (
$this->semStack[$stackPos-(1-1)] as $s) { if ($s instanceof Node\Scalar\EncapsedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '`', false); } }; $this->semValue = $this->semStack[$stackPos-(1-1)];
            },
           
426 => function ($stackPos) {
                 
$this->semValue = array();
            },
           
427 => function ($stackPos) {
                 
$this->semValue = $this->semStack[$stackPos-(1-1)];
            },
           
428 => function ($stackPos) {
                 
$this->semValue = $this->parseLNumber($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes, true);
            },
           
429 => function ($stackPos) {
                 
$this->semValue = new Scalar\DNumber(Scalar\DNumber::parse($this->semStack[$stackPos-(1-1)]), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
            },
           
430 => function ($stackPos) {
                 
$attrs = $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes; $attrs['kind'] = ($this->semStack[$stackPos-(1-1)][0] === "'" || ($this->semStack[$stackPos-(1-1)][1] === "'" && ($this->semStack[$stackPos-(1-1)][0] === 'b' || $this->semStack[$stackPos-(1-1)][0] === 'B')) ? Scalar\String_::KIND_SINGLE_QUOTED : Scalar\String_::KIND_DOUBLE_QUOTED);
           
$this->semValue = new Scalar\String_(Scalar\String_::parse($this->semStack[$stackPos-(1-1)], false), $attrs);
            },
           
431 => function ($stackPos) {
                 
$this->semValue = new Scalar\MagicConst\Line($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
            },
           
432 => function ($stackPos) {
                 
$this->semValue = new Scalar\MagicConst\File($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
            },
           
433 => function ($stackPos) {
                 
$this->semValue = new Scalar\MagicConst\Dir($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
            },
           
434 => function ($stackPos) {
                 
$this->semValue = new Scalar\MagicConst\Class_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
            },
           
435 => function ($stackPos) {
                 
$this->semValue = new Scalar\MagicConst\Trait_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
            },
           
436 => function ($stackPos) {
                 
$this->semValue = new Scalar\MagicConst\Method($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
            },
           
437 => function ($stackPos) {
                 
$this->semValue = new Scalar\MagicConst\Function_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
            },
           
438 => function ($stackPos) {
                 
$this->semValue = new Scalar\MagicConst\Namespace_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
            },
           
439 => function ($stackPos) {
                 
$this->semValue = $this->parseDocString($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes, $this->startAttributeStack[$stackPos-(3-3)] + $this->endAttributeStack[$stackPos-(3-3)], false);
            },
           
440 => function ($stackPos) {
                 
$this->semValue = $this->parseDocString($this->semStack[$stackPos-(2-1)], '', $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes, $this->startAttributeStack[$stackPos-(2-2)] + $this->endAttributeStack[$stackPos-(2-2)], false);
            },
           
441 => function ($stackPos) {
                 
$this->semValue = $this->semStack[$stackPos-(1-1)];
            },
           
442 => function ($stackPos) {
                 
$this->semValue = new Expr\ClassConstFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
443 => function ($stackPos) {
                 
$this->semValue = new Expr\ConstFetch($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
            },
           
444 => function ($stackPos) {
                 
$this->semValue = new Expr\Array_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
            },
           
445 => function ($stackPos) {
                 
$this->semValue = new Expr\Array_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
446 => function ($stackPos) {
                 
$this->semValue = $this->semStack[$stackPos-(1-1)];
            },
           
447 => function ($stackPos) {
                 
$this->semValue = new Expr\BinaryOp\BooleanOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
448 => function ($stackPos) {
                 
$this->semValue = new Expr\BinaryOp\BooleanAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
449 => function ($stackPos) {
                 
$this->semValue = new Expr\BinaryOp\LogicalOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
450 => function ($stackPos) {
                 
$this->semValue = new Expr\BinaryOp\LogicalAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
451 => function ($stackPos) {
                 
$this->semValue = new Expr\BinaryOp\LogicalXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
452 => function ($stackPos) {
                 
$this->semValue = new Expr\BinaryOp\BitwiseOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
453 => function ($stackPos) {
                 
$this->semValue = new Expr\BinaryOp\BitwiseAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
454 => function ($stackPos) {
                 
$this->semValue = new Expr\BinaryOp\BitwiseXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
455 => function ($stackPos) {
                 
$this->semValue = new Expr\BinaryOp\Concat($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
456 => function ($stackPos) {
                 
$this->semValue = new Expr\BinaryOp\Plus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
457 => function ($stackPos) {
                 
$this->semValue = new Expr\BinaryOp\Minus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
458 => function ($stackPos) {
                 
$this->semValue = new Expr\BinaryOp\Mul($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
459 => function ($stackPos) {
                 
$this->semValue = new Expr\BinaryOp\Div($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
460 => function ($stackPos) {
                 
$this->semValue = new Expr\BinaryOp\Mod($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
461 => function ($stackPos) {
                 
$this->semValue = new Expr\BinaryOp\ShiftLeft($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
462 => function ($stackPos) {
                 
$this->semValue = new Expr\BinaryOp\ShiftRight($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
463 => function ($stackPos) {
                 
$this->semValue = new Expr\BinaryOp\Pow($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
464 => function ($stackPos) {
                 
$this->semValue = new Expr\UnaryPlus($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
            },
           
465 => function ($stackPos) {
                 
$this->semValue = new Expr\UnaryMinus($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
            },
           
466 => function ($stackPos) {
                 
$this->semValue = new Expr\BooleanNot($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
            },
           
467 => function ($stackPos) {
                 
$this->semValue = new Expr\BitwiseNot($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
            },
           
468 => function ($stackPos) {
                 
$this->semValue = new Expr\BinaryOp\Identical($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
469 => function ($stackPos) {
                 
$this->semValue = new Expr\BinaryOp\NotIdentical($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
470 => function ($stackPos) {
                 
$this->semValue = new Expr\BinaryOp\Equal($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
471 => function ($stackPos) {
                 
$this->semValue = new Expr\BinaryOp\NotEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
472 => function ($stackPos) {
                 
$this->semValue = new Expr\BinaryOp\Smaller($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
473 => function ($stackPos) {
                 
$this->semValue = new Expr\BinaryOp\SmallerOrEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
474 => function ($stackPos) {
                 
$this->semValue = new Expr\BinaryOp\Greater($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
475 => function ($stackPos) {
                 
$this->semValue = new Expr\BinaryOp\GreaterOrEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
476 => function ($stackPos) {
                 
$this->semValue = new Expr\Ternary($this->semStack[$stackPos-(5-1)], $this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-5)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes);
            },
           
477 => function ($stackPos) {
                 
$this->semValue = new Expr\Ternary($this->semStack[$stackPos-(4-1)], null, $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
            },
           
478 => function ($stackPos) {
                 
$this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
            },
           
479 => function ($stackPos) {
                 
$this->semValue = $this->semStack[$stackPos-(3-2)];
            },
           
480 => function ($stackPos) {
                 
$this->semValue = new Expr\ConstFetch($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
            },
           
481 => function ($stackPos) {
                 
$this->semValue = new Expr\ClassConstFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
482 => function ($stackPos) {
                 
$this->semValue = $this->semStack[$stackPos-(1-1)];
            },
           
483 => function ($stackPos) {
                 
$this->semValue = $this->semStack[$stackPos-(1-1)];
            },
           
484 => function ($stackPos) {
                 
$attrs = $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes; $attrs['kind'] = Scalar\String_::KIND_DOUBLE_QUOTED;
            foreach (
$this->semStack[$stackPos-(3-2)] as $s) { if ($s instanceof Node\Scalar\EncapsedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '"', true); } }; $this->semValue = new Scalar\Encapsed($this->semStack[$stackPos-(3-2)], $attrs);
            },
           
485 => function ($stackPos) {
                 
$this->semValue = $this->parseDocString($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes, $this->startAttributeStack[$stackPos-(3-3)] + $this->endAttributeStack[$stackPos-(3-3)], true);
            },
           
486 => function ($stackPos) {
                 
$this->semValue = array();
            },
           
487 => function ($stackPos) {
                 
$this->semValue = $this->semStack[$stackPos-(2-1)];
            },
           
488 => function ($stackPos) {
               
$this->semValue = $this->semStack[$stackPos];
            },
           
489 => function ($stackPos) {
               
$this->semValue = $this->semStack[$stackPos];
            },
           
490 => function ($stackPos) {
                 
$this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)];
            },
           
491 => function ($stackPos) {
                 
$this->semValue = array($this->semStack[$stackPos-(1-1)]);
            },
           
492 => function ($stackPos) {
                 
$this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(3-3)], $this->semStack[$stackPos-(3-1)], false, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
493 => function ($stackPos) {
                 
$this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(1-1)], null, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
            },
           
494 => function ($stackPos) {
                 
$this->semValue = $this->semStack[$stackPos-(1-1)];
            },
           
495 => function ($stackPos) {
                 
$this->semValue = $this->semStack[$stackPos-(1-1)];
            },
           
496 => function ($stackPos) {
                 
$this->semValue = $this->semStack[$stackPos-(1-1)];
            },
           
497 => function ($stackPos) {
                 
$this->semValue = $this->semStack[$stackPos-(1-1)];
            },
           
498 => function ($stackPos) {
                 
$this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(6-2)], $this->semStack[$stackPos-(6-5)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes);
            },
           
499 => function ($stackPos) {
                 
$this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
            },
           
500 => function ($stackPos) {
                 
$this->semValue = new Expr\PropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
501 => function ($stackPos) {
                 
$this->semValue = new Expr\MethodCall($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
            },
           
502 => function ($stackPos) {
                 
$this->semValue = new Expr\FuncCall($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
            },
           
503 => function ($stackPos) {
                 
$this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
            },
           
504 => function ($stackPos) {
                 
$this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
            },
           
505 => function ($stackPos) {
                 
$this->semValue = $this->semStack[$stackPos-(1-1)];
            },
           
506 => function ($stackPos) {
                 
$this->semValue = $this->semStack[$stackPos-(3-2)];
            },
           
507 => function ($stackPos) {
                 
$this->semValue = $this->semStack[$stackPos-(1-1)];
            },
           
508 => function ($stackPos) {
                 
$this->semValue = new Expr\Variable($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
            },
           
509 => function ($stackPos) {
                 
$this->semValue = $this->semStack[$stackPos-(1-1)];
            },
           
510 => function ($stackPos) {
                 
$this->semValue = $this->semStack[$stackPos-(1-1)];
            },
           
511 => function ($stackPos) {
                 
$this->semValue = new Expr\StaticPropertyFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
            },
           
512 => function ($stackPos) {
                 
$this->semValue = $this->semStack[$stackPos-(1-1)];
            },
           
513 => function ($stackPos) {
                 
$var = substr($this->semStack[$stackPos-(1-1)], 1); $this->semValue = \is_string($var) ? new Node\VarLikeIdentifier($var, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes) : $var;
            },
           
514 => function ($stackPos) {
                 
$this->semValue = new Expr\StaticPropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
515 => function ($stackPos) {
                 
$this->semValue = new Expr\StaticPropertyFetch($this->semStack[$stackPos-(6-1)], $this->semStack[$stackPos-(6-5)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes);
            },
           
516 => function ($stackPos) {
                 
$this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
            },
           
517 => function ($stackPos) {
                 
$this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
            },
           
518 => function ($stackPos) {
                 
$this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
            },
           
519 => function ($stackPos) {
                 
$this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
            },
           
520 => function ($stackPos) {
                 
$this->semValue = $this->semStack[$stackPos-(1-1)];
            },
           
521 => function ($stackPos) {
                 
$this->semValue = new Expr\Variable($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
            },
           
522 => function ($stackPos) {
                 
$this->semValue = null;
            },
           
523 => function ($stackPos) {
                 
$this->semValue = $this->semStack[$stackPos-(1-1)];
            },
           
524 => function ($stackPos) {
                 
$this->semValue = $this->semStack[$stackPos-(1-1)];
            },
           
525 => function ($stackPos) {
                 
$this->semValue = $this->semStack[$stackPos-(3-2)];
            },
           
526 => function ($stackPos) {
                 
$this->semValue = $this->semStack[$stackPos-(1-1)];
            },
           
527 => function ($stackPos) {
                 
$this->semValue = new Expr\Error($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); $this->errorState = 2;
            },
           
528 => function ($stackPos) {
                 
$this->semValue = new Expr\List_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
            },
           
529 => function ($stackPos) {
                 
$this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)];
            },
           
530 => function ($stackPos) {
                 
$this->semValue = array($this->semStack[$stackPos-(1-1)]);
            },
           
531 => function ($stackPos) {
                 
$this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(1-1)], null, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
            },
           
532 => function ($stackPos) {
                 
$this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(1-1)], null, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
            },
           
533 => function ($stackPos) {
                 
$this->semValue = null;
            },
           
534 => function ($stackPos) {
                 
$this->semValue = array();
            },
           
535 => function ($stackPos) {
                 
$this->semValue = $this->semStack[$stackPos-(2-1)];
            },
           
536 => function ($stackPos) {
                 
$this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)];
            },
           
537 => function ($stackPos) {
                 
$this->semValue = array($this->semStack[$stackPos-(1-1)]);
            },
           
538 => function ($stackPos) {
                 
$this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(3-3)], $this->semStack[$stackPos-(3-1)], false, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
539 => function ($stackPos) {
                 
$this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(1-1)], null, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
            },
           
540 => function ($stackPos) {
                 
$this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(4-4)], $this->semStack[$stackPos-(4-1)], true, $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
            },
           
541 => function ($stackPos) {
                 
$this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(2-2)], null, true, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
            },
           
542 => function ($stackPos) {
                 
$this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(2-2)], null, false, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes, true, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
            },
           
543 => function ($stackPos) {
                 
$this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)];
            },
           
544 => function ($stackPos) {
                 
$this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)];
            },
           
545 => function ($stackPos) {
                 
$this->semValue = array($this->semStack[$stackPos-(1-1)]);
            },
           
546 => function ($stackPos) {
                 
$this->semValue = array($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)]);
            },
           
547 => function ($stackPos) {
                 
$this->semValue = new Scalar\EncapsedStringPart($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
            },
           
548 => function ($stackPos) {
                 
$this->semValue = new Expr\Variable($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
            },
           
549 => function ($stackPos) {
                 
$this->semValue = $this->semStack[$stackPos-(1-1)];
            },
           
550 => function ($stackPos) {
                 
$this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
            },
           
551 => function ($stackPos) {
                 
$this->semValue = new Expr\PropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
552 => function ($stackPos) {
                 
$this->semValue = new Expr\Variable($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
553 => function ($stackPos) {
                 
$this->semValue = new Expr\Variable($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
            },
           
554 => function ($stackPos) {
                 
$this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(6-2)], $this->semStack[$stackPos-(6-4)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes);
            },
           
555 => function ($stackPos) {
                 
$this->semValue = $this->semStack[$stackPos-(3-2)];
            },
           
556 => function ($stackPos) {
                 
$this->semValue = new Scalar\String_($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
            },
           
557 => function ($stackPos) {
                 
$this->semValue = $this->parseNumString($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
            },
           
558 => function ($stackPos) {
                 
$this->semValue = $this->semStack[$stackPos-(1-1)];
            },
        ];
    }
}