Removed modules/contrib/media module to allow update to the core media module
[yaffs-website] / vendor / nikic / php-parser / lib / PhpParser / Parser / Php5.php
1 <?php
2
3 namespace PhpParser\Parser;
4
5 use PhpParser\Error;
6 use PhpParser\Node;
7 use PhpParser\Node\Expr;
8 use PhpParser\Node\Name;
9 use PhpParser\Node\Scalar;
10 use PhpParser\Node\Stmt;
11
12 /* This is an automatically GENERATED file, which should not be manually edited.
13  * Instead edit one of the following:
14  *  * the grammar files grammar/php5.y or grammar/php7.y
15  *  * the skeleton file grammar/parser.template
16  *  * the preprocessing script grammar/rebuildParsers.php
17  */
18 class Php5 extends \PhpParser\ParserAbstract
19 {
20     protected $tokenToSymbolMapSize = 392;
21     protected $actionTableSize = 1075;
22     protected $gotoTableSize = 700;
23
24     protected $invalidSymbol = 157;
25     protected $errorSymbol = 1;
26     protected $defaultAction = -32766;
27     protected $unexpectedTokenRule = 32767;
28
29     protected $YY2TBLSTATE = 406;
30     protected $numNonLeafStates = 671;
31
32     protected $symbolToName = array(
33         "EOF",
34         "error",
35         "T_INCLUDE",
36         "T_INCLUDE_ONCE",
37         "T_EVAL",
38         "T_REQUIRE",
39         "T_REQUIRE_ONCE",
40         "','",
41         "T_LOGICAL_OR",
42         "T_LOGICAL_XOR",
43         "T_LOGICAL_AND",
44         "T_PRINT",
45         "T_YIELD",
46         "T_DOUBLE_ARROW",
47         "T_YIELD_FROM",
48         "'='",
49         "T_PLUS_EQUAL",
50         "T_MINUS_EQUAL",
51         "T_MUL_EQUAL",
52         "T_DIV_EQUAL",
53         "T_CONCAT_EQUAL",
54         "T_MOD_EQUAL",
55         "T_AND_EQUAL",
56         "T_OR_EQUAL",
57         "T_XOR_EQUAL",
58         "T_SL_EQUAL",
59         "T_SR_EQUAL",
60         "T_POW_EQUAL",
61         "'?'",
62         "':'",
63         "T_COALESCE",
64         "T_BOOLEAN_OR",
65         "T_BOOLEAN_AND",
66         "'|'",
67         "'^'",
68         "'&'",
69         "T_IS_EQUAL",
70         "T_IS_NOT_EQUAL",
71         "T_IS_IDENTICAL",
72         "T_IS_NOT_IDENTICAL",
73         "T_SPACESHIP",
74         "'<'",
75         "T_IS_SMALLER_OR_EQUAL",
76         "'>'",
77         "T_IS_GREATER_OR_EQUAL",
78         "T_SL",
79         "T_SR",
80         "'+'",
81         "'-'",
82         "'.'",
83         "'*'",
84         "'/'",
85         "'%'",
86         "'!'",
87         "T_INSTANCEOF",
88         "'~'",
89         "T_INC",
90         "T_DEC",
91         "T_INT_CAST",
92         "T_DOUBLE_CAST",
93         "T_STRING_CAST",
94         "T_ARRAY_CAST",
95         "T_OBJECT_CAST",
96         "T_BOOL_CAST",
97         "T_UNSET_CAST",
98         "'@'",
99         "T_POW",
100         "'['",
101         "T_NEW",
102         "T_CLONE",
103         "T_EXIT",
104         "T_IF",
105         "T_ELSEIF",
106         "T_ELSE",
107         "T_ENDIF",
108         "T_LNUMBER",
109         "T_DNUMBER",
110         "T_STRING",
111         "T_STRING_VARNAME",
112         "T_VARIABLE",
113         "T_NUM_STRING",
114         "T_INLINE_HTML",
115         "T_ENCAPSED_AND_WHITESPACE",
116         "T_CONSTANT_ENCAPSED_STRING",
117         "T_ECHO",
118         "T_DO",
119         "T_WHILE",
120         "T_ENDWHILE",
121         "T_FOR",
122         "T_ENDFOR",
123         "T_FOREACH",
124         "T_ENDFOREACH",
125         "T_DECLARE",
126         "T_ENDDECLARE",
127         "T_AS",
128         "T_SWITCH",
129         "T_ENDSWITCH",
130         "T_CASE",
131         "T_DEFAULT",
132         "T_BREAK",
133         "T_CONTINUE",
134         "T_GOTO",
135         "T_FUNCTION",
136         "T_CONST",
137         "T_RETURN",
138         "T_TRY",
139         "T_CATCH",
140         "T_FINALLY",
141         "T_THROW",
142         "T_USE",
143         "T_INSTEADOF",
144         "T_GLOBAL",
145         "T_STATIC",
146         "T_ABSTRACT",
147         "T_FINAL",
148         "T_PRIVATE",
149         "T_PROTECTED",
150         "T_PUBLIC",
151         "T_VAR",
152         "T_UNSET",
153         "T_ISSET",
154         "T_EMPTY",
155         "T_HALT_COMPILER",
156         "T_CLASS",
157         "T_TRAIT",
158         "T_INTERFACE",
159         "T_EXTENDS",
160         "T_IMPLEMENTS",
161         "T_OBJECT_OPERATOR",
162         "T_LIST",
163         "T_ARRAY",
164         "T_CALLABLE",
165         "T_CLASS_C",
166         "T_TRAIT_C",
167         "T_METHOD_C",
168         "T_FUNC_C",
169         "T_LINE",
170         "T_FILE",
171         "T_START_HEREDOC",
172         "T_END_HEREDOC",
173         "T_DOLLAR_OPEN_CURLY_BRACES",
174         "T_CURLY_OPEN",
175         "T_PAAMAYIM_NEKUDOTAYIM",
176         "T_NAMESPACE",
177         "T_NS_C",
178         "T_DIR",
179         "T_NS_SEPARATOR",
180         "T_ELLIPSIS",
181         "';'",
182         "'{'",
183         "'}'",
184         "'('",
185         "')'",
186         "'$'",
187         "'`'",
188         "']'",
189         "'\"'"
190     );
191
192     protected $tokenToSymbol = array(
193             0,  157,  157,  157,  157,  157,  157,  157,  157,  157,
194           157,  157,  157,  157,  157,  157,  157,  157,  157,  157,
195           157,  157,  157,  157,  157,  157,  157,  157,  157,  157,
196           157,  157,  157,   53,  156,  157,  153,   52,   35,  157,
197           151,  152,   50,   47,    7,   48,   49,   51,  157,  157,
198           157,  157,  157,  157,  157,  157,  157,  157,   29,  148,
199            41,   15,   43,   28,   65,  157,  157,  157,  157,  157,
200           157,  157,  157,  157,  157,  157,  157,  157,  157,  157,
201           157,  157,  157,  157,  157,  157,  157,  157,  157,  157,
202           157,   67,  157,  155,   34,  157,  154,  157,  157,  157,
203           157,  157,  157,  157,  157,  157,  157,  157,  157,  157,
204           157,  157,  157,  157,  157,  157,  157,  157,  157,  157,
205           157,  157,  157,  149,   33,  150,   55,  157,  157,  157,
206           157,  157,  157,  157,  157,  157,  157,  157,  157,  157,
207           157,  157,  157,  157,  157,  157,  157,  157,  157,  157,
208           157,  157,  157,  157,  157,  157,  157,  157,  157,  157,
209           157,  157,  157,  157,  157,  157,  157,  157,  157,  157,
210           157,  157,  157,  157,  157,  157,  157,  157,  157,  157,
211           157,  157,  157,  157,  157,  157,  157,  157,  157,  157,
212           157,  157,  157,  157,  157,  157,  157,  157,  157,  157,
213           157,  157,  157,  157,  157,  157,  157,  157,  157,  157,
214           157,  157,  157,  157,  157,  157,  157,  157,  157,  157,
215           157,  157,  157,  157,  157,  157,  157,  157,  157,  157,
216           157,  157,  157,  157,  157,  157,  157,  157,  157,  157,
217           157,  157,  157,  157,  157,  157,  157,  157,  157,  157,
218           157,  157,  157,  157,  157,  157,    1,    2,    3,    4,
219             5,    6,    8,    9,   10,   11,   12,   13,   14,   16,
220            17,   18,   19,   20,   21,   22,   23,   24,   25,   26,
221            27,   30,   31,   32,   36,   37,   38,   39,   40,   42,
222            44,   45,   46,   54,   56,   57,   58,   59,   60,   61,
223            62,   63,   64,   66,   68,   69,   70,   71,   72,   73,
224            74,   75,   76,   77,   78,   79,   80,   81,  157,  157,
225            82,   83,   84,   85,   86,   87,   88,   89,   90,   91,
226            92,   93,   94,   95,   96,   97,   98,   99,  100,  101,
227           102,  103,  104,  105,  106,  107,  108,  109,  110,  111,
228           112,  113,  114,  115,  116,  117,  118,  119,  120,  121,
229           122,  123,  124,  125,  126,  127,  128,  129,  130,  131,
230           132,  133,  134,  135,  136,  137,  157,  157,  157,  157,
231           157,  157,  138,  139,  140,  141,  142,  143,  144,  145,
232           146,  147
233     );
234
235     protected $action = array(
236           676,  677,  678,  679,  680,-32766,  681,  682,  683,  719,
237           720,  218,  219,  220,  221,  222,  223,  224,  225,  226,
238             0,  227,  228,  229,  230,  231,  232,  233,  234,  235,
239           236,  237,  238,-32766,-32766,-32766,-32766,-32766,-32766,-32766,
240         -32766,-32767,-32767,-32767,-32767,  421,  239,  240,-32766,-32766,
241         -32766,-32766,  684,-32766,  311,-32766,-32766,-32766,-32766,-32766,
242         -32766,-32767,-32767,-32767,-32767,-32767,  685,  686,  687,  688,
243           689,  690,  691, 1180,   10,  751,-32766,-32766,-32766,-32766,
244         -32766,  424,  692,  693,  694,  695,  696,  697,  698,  699,
245           700,  701,  702,  722,  723,  724,  725,  726,  714,  715,
246           716,  717,  718,  703,  704,  705,  706,  707,  708,  709,
247           745,  746,  747,  748,  749,  750,  710,  711,  712,  713,
248           743,  734,  732,  733,  729,  730,  282,  721,  727,  728,
249           735,  736,  738,  737,  739,  740,   54,   55,  425,   56,
250            57,  731,  742,  741,   25,   58,   59,  339,   60,-32766,
251         -32766,-32766,-32766,-32766,-32766,-32766,-32766,-32766,    9,-32767,
252         -32767,-32767,-32767,   52,  327,-32766, 1044,  952,  953,  954,
253           951,  950,  949,  944,-32766,-32766,-32766,   48,  770,  771,
254           828,   61,   62,  125, -272,  206,  815,   63, 1180,   64,
255           293,  294,   65,   66,   67,   68,   69,   70,   71,   72,
256           420,   26,  301,   73,  417,-32766,-32766,-32766,-32766, 1095,
257          1096,  755,  753,  758,-32766,  926,  876,  474,-32766,-32766,
258         -32766,  829,  410,-32766,  309,-32766, 1062,-32766,-32766,-32766,
259         -32766,-32766,-32766,  215,  216,  217,  437,-32766,-32766,-32766,
260         -32766,-32766,-32766,-32766,-32766,  122,  498,  952,  953,  954,
261           951,  950,  949,  202,  482,  483,  284,  627,  127,  118,
262           900,  901,  339,  484,  485, -219, 1101, 1102, 1103, 1104,
263          1098, 1099,  312,  499,  353,  423,  433,  499, 1105, 1100,
264           433,  525, -223,-32766,-32766,   41,  422,  335,  323,  907,
265           324,  426, -125, -125, -125,   -4,  829,  473,  101,  102,
266           103,  817,  303, 1044,   40,   21,  427, -125,  475, -125,
267           476, -125,  477, -125,  104,  428,  215,  216,  217,   31,
268            32,  429,  430,  628,   33,  478,  433,  819,   74,  592,
269           930,  351,  352,  479,  480,  877,  202,  243, 1107,  481,
270           297,  769,  800,  847,  431,  432,  300,  236,  237,  238,
271            35,  105,  106,  107,  108,  109,  110,  111,  112,  113,
272           114,  115,  116,  239,  240, 1044,  426,  416,  831,  642,
273          -125,  829,  473,  215,  216,  217,  817, 1146,  241,   40,
274            21,  427,  350,  475,  447,  476, 1107,  477,  297, 1044,
275           428,  983,  985,  202,   31,   32,  429,  430,  408,   33,
276           478, 1195, 1222,   74,  322, 1223,  351,  352,  479,  480,
277         -32766,-32766,-32766, 1044,  481,  814,  925,  762,  847,  431,
278           432,-32767,-32767,-32767,-32767,   96,   97,   98,   99,  100,
279         -32766,   20,-32766,-32766,-32766,-32766, 1194,  123,  336,  810,
280           484,  426,   36,  831,  642,   -4,  829,  473,  900,  901,
281           338,  817,  126, 1044,   40,   21,  427,  906,  475,  299,
282           476,  499,  477, -501,  433,  428, -203, -203, -203,   31,
283            32,  429,  430,  217,   33,  478,  285,  758,   74,  551,
284          1213,  351,  352,  479,  480,-32766,-32766,-32766,  334,  481,
285            51,  202,  800,  847,  431,  432, 1044,  755,   30,  758,
286           126,-32766,-32766,-32766,  448,-32766,  331,-32766,-32766,-32766,
287            49,  450,  753,-32766,-32766,-32766,  426, 1044,  831,  642,
288          -203,-32766,  473,-32766,-32766,  812,  817,-32766,-32766,   40,
289            21,  427, 1072,  475,  121,  476,  202,  477,   29,  296,
290           428, -204, -204, -204,   31,   32,  429,  430,  117,   33,
291           478,  418, 1044,   74,  207,  829,  351,  352,  479,  480,
292           215,  216,  217,  499,  481,  208,  433,  800,  847,  431,
293           432,  438,  120,  335, 1044,  298,   78,   79,   80,-32766,
294           202,  239,  240,  645,  128,   98,   99,  100,  335,  233,
295           234,  235,  119,  831,  642, -204,   34,  295,   81,   82,
296            83,   84,   85,   86,   87,   88,   89,   90,   91,   92,
297            93,   94,   95,   96,   97,   98,   99,  100,  101,  102,
298           103,  246,  303,  244,  829,  426,  216,  217,  215,  216,
299           217,  473,  808,  499,  104,  817,  433,  131,   40,   21,
300           427,  583,  475,   77,  476,  202,  477,  335,  202,  428,
301           462,  598,  648,   31,   32,  429,  829,  443,   33,  478,
302           644,  245,   74,  457,   22,  351,  352,-32766,-32766,-32766,
303           132,  361,  209,  481,  770,  771,  605,  606,  941,  658,
304           929,  670,  763,  647,  646,  -82,  840,-32766,  303,  649,
305           652,  130,  827,  315,  426,  104,-32766,   53,   46,   47,
306           473,  301,  831,  642,  817,   44,   45,   40,   21,  427,
307           129,  475,   43,  476,   50,  477,  611,  753,  428,  531,
308           758,  755,   31,   32,  429,  829,  426,   33,  478,  756,
309         -32766,   74,  473,  957,  351,  352,  817,  586,  636,   40,
310            21,  427,  481,  475,  446,  476,  615,  477,  849,  848,
311           428,  326, 1106,  655,   31,   32,  429,  829,  623,   33,
312           478,  330,  281,   74,  449,   11,  351,  352,  -80,  589,
313            12,  863,  642,  602,  481, 1145,  328,  467,  441, -219,
314             0,  603,  411,    0,    0,  650,    0,    0,    0,    0,
315             0,    0,    0,    0,    0,  426,    0, -502,    0,    0,
316             0,  473,    0,  831,  642,  817,  325, -501,   40,   21,
317           427,  308,  475,  310,  476,  484,  477, 1152,    0,  428,
318             0,    0,    0,   31,   32,  429,  829,  426,   33,  478,
319             6,  360,   74,  473, -410,  351,  352,  817, -402,    5,
320            40,   21,  427,  481,  475,   14,  476, -411,  477,  842,
321           412,  428,  533,  443,  394,   31,   32,  429,  386,  385,
322            33,  478,  374,  816,   74,  663,  662,  351,  352,   39,
323            38,  767,  831,  642,  766,  481,  809,  811,  935,  813,
324           825,  933,  768,  818,  934,  937,  936,  859,  861,  864,
325           803,  871,  870,  879,  820,  805,  426,  826,  869,  407,
326           333,  332,  473,  124,  831,  642,  817,  406,   77,   40,
327            21,  427,  667,  475,  666,  476,  242,  477,  665,  660,
328           428,  657,  656,  654,   31,   32,  429,  653,  651,   33,
329           478,  643,  340,   74,  210,  211,  351,  352,  942,  834,
330           212, 1047,  213,  843,  481,  772,  775,  774,  868, 1218,
331          1188, 1186, 1171, 1184,  204, 1086,  918, 1192, 1182,  210,
332           211,  773, 1095, 1096, 1058,  212,-32766,  213,  844,  845,
333          1097, 1046,  836,  831,  642,  307, 1220,  764,  765,  204,
334          1221, 1219,  801,  664,  461,  846,    0, 1095, 1096,  306,
335           409,-32766,  305,  304,   24, 1097,   27,  292,  291,  283,
336           415,   28,   37,   42,   75,  205,   76,-32766,    0, -220,
337          1048, 1024, 1023, 1088,  576, 1111,  908,  572, 1052, 1101,
338          1102, 1103, 1104, 1098, 1099,  384, 1049,  633,  566,  471,
339           466, 1105, 1100,  465,  458,  379,   18,   17,  214,  286,
340         -32766,   16,  572,  609, 1101, 1102, 1103, 1104, 1098, 1099,
341           384, 1042, -420,    0, 1166, 1165, 1105, 1100, 1112, 1216,
342          1085, 1183, 1055,  214, 1170,-32766, 1185,    0, 1071, 1056,
343          1057, 1054, 1053,    0, 1151
344     );
345
346     protected $actionCheck = array(
347             2,    3,    4,    5,    6,    8,    8,    9,   10,   11,
348            12,   31,   32,   33,   34,   35,   36,   37,   38,   39,
349             0,   41,   42,   43,   44,   45,   46,   47,   48,   49,
350            50,   51,   52,    8,    9,   10,   31,   32,   33,   34,
351            35,   36,   37,   38,   39,    7,   66,   67,   31,   32,
352            33,   34,   54,   28,    7,   30,   31,   32,   33,   34,
353            35,   36,   37,   38,   39,   40,   68,   69,   70,   71,
354            72,   73,   74,   79,    7,   77,   31,   32,   33,   34,
355            35,    7,   84,   85,   86,   87,   88,   89,   90,   91,
356            92,   93,   94,   95,   96,   97,   98,   99,  100,  101,
357           102,  103,  104,  105,  106,  107,  108,  109,  110,  111,
358           112,  113,  114,  115,  116,  117,  118,  119,  120,  121,
359           122,  123,  124,  125,  126,  127,   13,  129,  130,  131,
360           132,  133,  134,  135,  136,  137,    2,    3,    4,    5,
361             6,  143,  144,  145,    7,   11,   12,  153,   14,   31,
362            32,   33,   34,   35,   36,   37,   38,   39,  103,   41,
363            42,   43,   44,   67,  109,   79,   12,  112,  113,  114,
364           115,  116,  117,  118,    8,    9,   10,   67,  102,  103,
365             1,   47,   48,   29,   79,    7,  148,   53,   79,   55,
366            56,   57,   58,   59,   60,   61,   62,   63,   64,   65,
367             7,   67,   68,   69,   70,    8,    9,   10,  103,   75,
368            76,   77,   77,   79,  109,  148,   29,   83,    8,    9,
369            10,    1,  146,  118,  128,   28,  152,   30,   31,   32,
370            33,   34,   35,    8,    9,   10,  102,  151,   28,  153,
371            30,   31,   32,   33,   34,  149,  112,  112,  113,  114,
372           115,  116,  117,   28,  120,  121,    7,   77,  149,  149,
373           130,  131,  153,  129,  130,  152,  132,  133,  134,  135,
374           136,  137,  138,  143,    7,    7,  146,  143,  144,  145,
375           146,   82,  152,    8,    9,  151,    7,  153,  154,  152,
376           156,   71,   72,   73,   74,    0,    1,   77,   50,   51,
377            52,   81,   54,   12,   84,   85,   86,   87,   88,   89,
378            90,   91,   92,   93,   66,   95,    8,    9,   10,   99,
379           100,  101,  102,  143,  104,  105,  146,  148,  108,   82,
380           150,  111,  112,  113,  114,  148,   28,   29,  139,  119,
381            35,  148,  122,  123,  124,  125,   35,   50,   51,   52,
382            15,   16,   17,   18,   19,   20,   21,   22,   23,   24,
383            25,   26,   27,   66,   67,   12,   71,    7,  148,  149,
384           150,    1,   77,    8,    9,   10,   81,  152,   13,   84,
385            85,   86,    7,   88,   29,   90,  139,   92,   35,   12,
386            95,   56,   57,   28,   99,  100,  101,  102,  103,  104,
387           105,  152,   77,  108,  109,   80,  111,  112,  113,  114,
388             8,    9,   10,   12,  119,  148,  148,  122,  123,  124,
389           125,   41,   42,   43,   44,   45,   46,   47,   48,   49,
390            28,  152,   30,   31,   32,   33,    1,    7,  143,  148,
391           129,   71,   13,  148,  149,  150,    1,   77,  130,  131,
392            67,   81,  147,   12,   84,   85,   86,  152,   88,    7,
393            90,  143,   92,  128,  146,   95,   96,   97,   98,   99,
394           100,  101,  102,   10,  104,  105,   35,   79,  108,   78,
395            82,  111,  112,  113,  114,    8,    9,   10,    7,  119,
396            67,   28,  122,  123,  124,  125,   12,   77,    7,   79,
397           147,    8,    9,   10,  149,   28,    7,   30,   31,   32,
398            67,  128,   77,   31,   32,   33,   71,   12,  148,  149,
399           150,   28,   77,   30,   31,  148,   81,   31,   32,   84,
400            85,   86,  112,   88,   13,   90,   28,   92,  140,  141,
401            95,   96,   97,   98,   99,  100,  101,  102,   15,  104,
402           105,  123,   12,  108,   15,    1,  111,  112,  113,  114,
403             8,    9,   10,  143,  119,   15,  146,  122,  123,  124,
404           125,  151,  149,  153,   12,   35,    8,    9,   10,  151,
405            28,   66,   67,   29,  149,   47,   48,   49,  153,   47,
406            48,   49,  149,  148,  149,  150,   28,   35,   30,   31,
407            32,   33,   34,   35,   36,   37,   38,   39,   40,   41,
408            42,   43,   44,   45,   46,   47,   48,   49,   50,   51,
409            52,   15,   54,   15,    1,   71,    9,   10,    8,    9,
410            10,   77,  148,  143,   66,   81,  146,  149,   84,   85,
411            86,  153,   88,  149,   90,   28,   92,  153,   28,   95,
412            72,   73,   29,   99,  100,  101,    1,  146,  104,  105,
413           149,   15,  108,   72,   73,  111,  112,    8,    9,   10,
414            97,   98,   15,  119,  102,  103,  106,  107,  148,  149,
415           148,  149,  148,  149,   29,   29,   35,   28,   54,   29,
416            29,   29,   29,   29,   71,   66,   31,   67,   67,   67,
417            77,   68,  148,  149,   81,   67,   67,   84,   85,   86,
418            67,   88,   67,   90,   67,   92,   74,   77,   95,   82,
419            79,   77,   99,  100,  101,    1,   71,  104,  105,   77,
420            82,  108,   77,   79,  111,  112,   81,   87,   89,   84,
421            85,   86,  119,   88,   86,   90,   93,   92,  123,  123,
422            95,  127,  139,   29,   99,  100,  101,    1,   91,  104,
423           105,  126,   94,  108,   94,   94,  111,  112,   94,   96,
424           142,  148,  149,   96,  119,  155,  110,  102,  102,  152,
425            -1,  109,  146,   -1,   -1,   29,   -1,   -1,   -1,   -1,
426            -1,   -1,   -1,   -1,   -1,   71,   -1,  128,   -1,   -1,
427            -1,   77,   -1,  148,  149,   81,  126,  128,   84,   85,
428            86,  128,   88,  128,   90,  129,   92,  139,   -1,   95,
429            -1,   -1,   -1,   99,  100,  101,    1,   71,  104,  105,
430           142,  142,  108,   77,  142,  111,  112,   81,  142,  142,
431            84,   85,   86,  119,   88,  142,   90,  142,   92,  147,
432           146,   95,  146,  146,  146,   99,  100,  101,  146,  146,
433           104,  105,  146,  148,  108,  148,  148,  111,  112,  148,
434           148,  148,  148,  149,  148,  119,  148,  148,  148,  148,
435           148,  148,  148,  148,  148,  148,  148,  148,  148,  148,
436           148,  148,  148,  148,  148,  148,   71,  148,  150,  149,
437           149,  149,   77,  149,  148,  149,   81,  149,  149,   84,
438            85,   86,  149,   88,  149,   90,   29,   92,  149,  149,
439            95,  149,  149,  149,   99,  100,  101,  149,  149,  104,
440           105,  149,  151,  108,   47,   48,  111,  112,  150,  150,
441            53,  150,   55,  150,  119,  150,  150,  150,  150,  150,
442           150,  150,  150,  150,   67,  150,  150,  150,  150,   47,
443            48,  150,   75,   76,  150,   53,   79,   55,  150,  150,
444            83,  150,  150,  148,  149,  151,  150,  150,  150,   67,
445           150,  150,  150,  150,  150,  150,   -1,   75,   76,  151,
446           151,   79,  151,  151,  151,   83,  151,  151,  151,  151,
447           151,  151,  151,  151,  151,  151,  151,  151,   -1,  152,
448           152,  152,  152,  152,  152,  152,  152,  130,  152,  132,
449           133,  134,  135,  136,  137,  138,  152,  152,  152,  152,
450           152,  144,  145,  152,  152,  152,  152,  152,  151,  153,
451           153,  152,  130,  155,  132,  133,  134,  135,  136,  137,
452           138,  154,  154,   -1,  155,  155,  144,  145,  155,  155,
453           155,  155,  155,  151,  155,  153,  155,   -1,  155,  155,
454           155,  155,  155,   -1,  156
455     );
456
457     protected $actionBase = array(
458             0,  220,  295,  445,  370,  109,  109,  180,  730,   -2,
459            -2,  135,   -2,   -2,   -2,  655,  756,  724,  756,  554,
460           623,  825,  825,  825,  305,  353,  562,  562,  861,  401,
461           562,  484,  291,  377,  154,  441,  540,  505,  505,  505,
462           505,  134,  134,  505,  505,  505,  505,  505,  505,  505,
463           505,  505,  505,  505,  505,  505,  505,  505,  505,  505,
464           505,  505,  505,  505,  505,  505,  505,  505,  505,  505,
465           505,  505,  505,  505,  505,  505,  505,  505,  505,  505,
466           505,  505,  505,  505,  505,  505,  505,  505,  505,  505,
467           505,  505,  505,  505,  505,  505,  505,  505,  505,  505,
468           505,  505,  505,  505,  505,  505,  505,  505,  505,  505,
469           505,  505,  505,  505,  505,  505,  505,  505,  505,  505,
470           505,  505,  505,  505,  505,  505,  505,  505,  505,  505,
471           505,  505,  505,  187,  179,  521,  429,  728,  729,  731,
472           732,  858,  668,  859,  799,  800,  662,  801,  802,  803,
473           805,  806,  834,  807,  888,  808,  568,  568,  568,  568,
474           568,  568,  568,  568,  568,  568,  568,   -3,  365,  225,
475           308,  620,  275,  552,  552,  552,  552,  552,  552,  552,
476           166,  166,  166,  166,  166,  166,  166,  166,  166,  166,
477           166,  166,  166,  166,  166,  166,  166,  617,  659,  659,
478           659,  463,  887,  508,  912,  912,  912,  912,  912,  912,
479           912,  912,  912,  912,  912,  912,  912,  912,  912,  912,
480           912,  912,  912,  912,  912,  912,  912,  912,  912,  912,
481           912,  912,  912,  912,  912,  912,  912,  912,  912,  912,
482           912,  912,  912,  912,  912,  912,  912,  493,  -20,  -20,
483           477,  665,  402,  496,  210,  482,  197,   25,   25,   25,
484            25,   25,   17,   45,    5,    5,    5,    5,  335,  380,
485           380,  380,  380,  118,  118,  118,  118,  835,  819,  818,
486           814,  311,  311,  686,  686,  633,  754,  538,  538,  542,
487           542,  420,  420,  420,  420,  420,  420,  420,  420,  420,
488           420,  428,  105,  856,  130,  130,  130,  130,  435,  435,
489           435,  318,  199,  678,  918,  318,  248,  248,  248,  297,
490           297,  297,   76,  637,  398,   86,   86,   86,   86,  398,
491            86,   86,  572,  572,  572,  494,  511,  648,  325,  488,
492           490,  443,  673,  798,  677,  748,  532,  705,   96,  636,
493           704,  886,  676,  886,  591,  578,  570,  696,  355,  842,
494            -6,  187,  530,  423,  634,  715,  193,  726,  267,   38,
495           383,  534,  110,  279,  752,  723,  862,  860,  249,  669,
496           634,  634,  634,  137,  247,  751,  758,  110,  113,  515,
497           515,  515,  515,  797,  750,  515,  515,  515,  515,  796,
498           795,   67,  268,  811,   74,  733,  644,  644,  640,  640,
499           644,  644,  644,  644,  654,  651,  644,  850,  843,  843,
500           640,  641,  640,  654,  651,  852,  852,  852,  852,  640,
501           651,  640,  640,  644,  640,  843,  843,  651,  633,  843,
502           491,  651,  680,  644,  635,  635,  852,  718,  717,  640,
503           640,  624,  843,  843,  843,  624,  651,  852,  672,  702,
504           178,  843,  852,  664,  641,  664,  672,  651,  664,  641,
505           641,  664,   20,  656,  645,  851,  853,  839,  782,  626,
506           625,  847,  846,  855,  848,  845,  663,  706,  734,  735,
507           533,  638,  639,  631,  632,  697,  647,  683,  676,  707,
508           629,  629,  629,  679,  688,  679,  629,  629,  629,  629,
509           629,  629,  629,  629,  917,  692,  689,  685,  658,  749,
510           539,  716,  670,  550,  770,  613,  706,  706,  832,  874,
511           883,  898,  897,  652,  842,  876,  679,  907,  722,  430,
512           657,  841,  833,  713,  712,  679,  838,  679,  769,  679,
513           866,  831,  643,  830,  706,  828,  629,  864,  916,  915,
514           914,  913,  911,  909,  899,  906,  630,  905,  747,  650,
515           882,   47,  854,  696,  628,  708,  746,  499,  904,  827,
516           679,  679,  765,  759,  679,  763,  745,  721,  889,  744,
517           881,  903,  613,  878,  679,  675,  900,  499,  660,  642,
518           857,  653,  743,  849,  863,  781,  779,  608,  646,  826,
519           661,  742,  885,  884,  627,  741,  778,  606,  774,  667,
520           822,  773,  824,  740,  821,  793,  875,  674,  707,  703,
521           666,  671,  649,  772,  791,  877,  739,  738,  737,  789,
522           736,  788,    0,    0,    0,    0,    0,    0,    0,    0,
523             0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
524             0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
525             0,    0,  134,  134,  134,  134,   -2,   -2,   -2,   -2,
526             0,    0,   -2,    0,    0,    0,  134,  134,  134,  134,
527           134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
528           134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
529           134,  134,    0,    0,  134,  134,  134,  134,  134,  134,
530           134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
531           134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
532           134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
533           134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
534           134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
535           134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
536           134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
537           134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
538           134,  134,  134,  134,  568,  568,  568,  568,  568,  568,
539           568,  568,  568,  568,  568,  568,  568,  568,  568,  568,
540           568,  568,  568,  568,  568,  568,  568,    0,    0,    0,
541             0,    0,    0,    0,    0,    0,    0,    0,  568,  -20,
542           -20,  -20,  -20,  568,  -20,  -20,  -20,  -20,  -20,  -20,
543           -20,  568,  568,  568,  568,  568,  568,  568,  568,  568,
544           568,  568,  568,  568,  568,  568,  568,  568,  -20,  568,
545           568,  568,  -20,  420,  -20,  420,  420,  420,  420,  420,
546           420,  420,  420,  420,  420,  420,  420,  420,  420,  420,
547           420,  420,  420,  420,  420,  420,  420,  420,  420,  420,
548           420,  420,  420,  420,  420,  420,  420,  420,  420,  420,
549           420,  420,  420,  420,  420,  420,  420,  420,  568,    0,
550             0,  568,  -20,  568,  -20,  568,  -20,  568,  568,  568,
551           568,  568,  568,  -20,  -20,  -20,  -20,  -20,  -20,    0,
552           248,  248,  248,  248,  -20,  -20,  -20,  -20,   55,   55,
553            55,   55,  420,  420,  420,  420,  420,  420,  248,  248,
554           297,  297,    0,    0,    0,    0,    0,    0,    0,    0,
555             0,    0,  420,   55,  420,  644,  644,  644,  644,  641,
556           641,  641,  644,  398,  398,  398,  644,    0,    0,    0,
557             0,    0,    0,  644,  398,    0,  420,  420,  420,  420,
558             0,  420,  420,  644,  644,  644,  641,  644,  398,  641,
559           641,  644,  843,  573,  573,  573,  573,  499,  110,    0,
560           644,  644,  641,  641,  641,    0,    0,    0,  843,    0,
561           640,    0,    0,    0,    0,  629,  430,    0,  375,    0,
562             0,    0,    0,    0,    0,  652,  375,  452,  452,    0,
563           630,  629,  629,  629,    0,    0,  652,  652,    0,    0,
564             0,    0,    0,    0,  481,  652,    0,    0,    0,    0,
565           481,  360,    0,    0,  360,    0,  499
566     );
567
568     protected $actionDefault = array(
569             3,32767,32767,32767,32767,32767,32767,32767,32767,32767,
570         32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
571         32767,32767,32767,32767,32767,32767,  530,  530,32767,32767,
572           485,32767,32767,32767,32767,32767,32767,  291,  291,  291,
573         32767,32767,32767,  518,  518,  518,  518,  518,  518,  518,
574           518,  518,  518,  518,32767,32767,32767,32767,32767,  373,
575         32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
576         32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
577         32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
578         32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
579         32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
580         32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
581         32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
582         32767,32767,32767,32767,32767,  379,  535,32767,32767,32767,
583         32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
584         32767,32767,32767,32767,32767,32767,  354,  355,  357,  358,
585           290,  519,  240,  380,  534,  289,  242,  318,  489,32767,
586         32767,32767,  320,  119,  251,  196,  488,  122,  288,  227,
587           372,  374,  319,  295,  300,  301,  302,  303,  304,  305,
588           306,  307,  308,  309,  310,  311,  294,  445,  351,  350,
589           349,  447,32767,  446,  482,  482,  485,32767,32767,32767,
590         32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
591         32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
592         32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
593         32767,32767,32767,32767,32767,32767,32767,  316,  473,  472,
594           317,  443,  321,  444,  323,  448,  322,  339,  340,  337,
595           338,  341,  450,  449,  466,  467,  464,  465,  293,  342,
596           343,  344,  345,  468,  469,  470,  471,  274,  274,  274,
597           274,32767,32767,  529,  529,32767,32767,  330,  331,  457,
598           458,32767,32767,32767,32767,32767,32767,32767,32767,32767,
599         32767,32767,  275,32767,  231,  231,  231,  231,32767,32767,
600         32767,  231,32767,32767,32767,32767,  325,  326,  324,  452,
601           453,  451,32767,  419,32767,32767,32767,32767,32767,  421,
602         32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
603         32767,  490,32767,32767,32767,32767,32767,  503,  408,32767,
604         32767,32767,  401,32767,  215,  217,  164,  476,32767,32767,
605         32767,32767,32767,  508,  335,32767,32767,32767,32767,32767,
606           544,32767,  503,32767,32767,32767,32767,32767,32767,  348,
607           327,  328,  329,32767,32767,32767,32767,  507,  501,  460,
608           461,  462,  463,32767,32767,  454,  455,  456,  459,32767,
609         32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
610         32767,32767,32767,32767,32767,  168,32767,  416,  422,  422,
611         32767,32767,32767,32767,  168,32767,32767,32767,32767,32767,
612           168,32767,32767,32767,32767,  506,  505,  168,32767,  402,
613           484,  168,  181,32767,  179,  179,32767,  201,  201,32767,
614         32767,  183,  477,  496,32767,  183,  168,32767,  390,  170,
615           484,32767,32767,  233,32767,  233,  390,  168,  233,32767,
616         32767,  233,32767,   84,  426,32767,32767,32767,32767,32767,
617         32767,32767,32767,32767,32767,32767,32767,  403,32767,32767,
618         32767,  369,  370,  479,  492,32767,  493,32767,  401,32767,
619           333,  334,  336,  313,32767,  315,  359,  360,  361,  362,
620           363,  364,  365,  367,32767,  406,32767,  409,32767,32767,
621         32767,   86,  111,  250,32767,  542,   86,  404,32767,32767,
622           298,  542,32767,32767,32767,32767,  537,32767,32767,  292,
623         32767,32767,32767,   86,   86,  246,32767,  166,32767,  527,
624         32767,  543,32767,  501,  405,32767,  332,32767,32767,32767,
625         32767,32767,32767,32767,32767,32767,  502,32767,32767,32767,
626         32767,  222,32767,  439,32767,   86,32767,  182,32767,32767,
627           296,  241,32767,32767,  536,32767,32767,32767,32767,32767,
628         32767,32767,32767,32767,  167,32767,32767,  184,32767,32767,
629           501,32767,32767,32767,32767,32767,32767,32767,  287,32767,
630         32767,32767,32767,32767,  501,32767,32767,  226,32767,32767,
631         32767,32767,32767,32767,32767,32767,32767,   84,   60,32767,
632           268,32767,32767,32767,32767,32767,32767,32767,32767,32767,
633         32767,32767,  124,  124,    3,  124,  124,    3,  124,  124,
634           124,  124,  124,  124,  124,  124,  124,  124,  124,  209,
635           253,  212,  201,  201,  161,  253,  253,  253,  124,  124,
636           260
637     );
638
639     protected $goto = array(
640           162,  162,  136,  136,  141,  144,  136,  137,  138,  139,
641           146,  183,  164,  160,  160,  160,  160,  141,  141,  161,
642           161,  161,  161,  161,  161,  161,  161,  161,  161,  161,
643           156,  157,  158,  159,  180,  135,  181,  500,  501,  364,
644           502,  506,  507,  508,  509,  510,  511,  512,  513,  970,
645           140,  142,  143,  145,  167,  172,  182,  198,  247,  250,
646           252,  254,  256,  257,  258,  259,  260,  261,  269,  270,
647           271,  272,  287,  288,  316,  317,  318,  380,  381,  382,
648           556,  184,  185,  186,  187,  188,  189,  190,  191,  192,
649           193,  194,  195,  196,  147,  148,  149,  163,  150,  165,
650           151,  199,  166,  152,  153,  154,  200,  155,  133,  629,
651           574,  761,  574,  574,  574,  574,  574,  574,  574,  574,
652           574,  574,  574,  574,  574,  574,  574,  574,  574,  574,
653           574,  574,  574,  574,  574,  574,  574,  574,  574,  574,
654           574,  574,  574,  574,  574,  574,  574,  574,  574,  574,
655           574,  574,  574,  574,  574, 1108,  637, 1108, 1108, 1108,
656          1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108,
657          1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108,
658          1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108,
659          1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108,
660           343,  791,  504,  504,  504,  504,  504,  504,  517,  515,
661           517,  515,  504,  504,  504,  504,  504,  504,  504,  504,
662           504,  504,  516,  557,  516,    8,  760,  529,  892,  892,
663          1199, 1199,  754,  856,  856,  856,  856,  170,  851,  857,
664           529,  529,  173,  174,  175,  389,  390,  391,  392,  169,
665           197,  201,  203,  251,  253,  255,  262,  263,  264,  265,
666           266,  267,  273,  274,  275,  276,  289,  290,  319,  320,
667           321,  395,  396,  397,  398,  171,  176,  248,  249,  177,
668           178,  179,  388,  614,  549,  549,  580,  545,  590,  593,
669           635,  822,  547,  547,  503,  505,  536,  553,  581,  584,
670           594,  600,  530, 1177,  573, 1177,  573,  573,  573,  573,
671           573,  573,  573,  573,  573,  573,  573,  573,  573,  573,
672           573,  573,  573,  573,  573,  573,  573,  573,  573,  573,
673           573,  573,  573,  573,  573,  573,  573,  573,  573,  573,
674           573,  573,  573,  573,  573,  573,  573,  573,  573,  618,
675           521,  555,  621,  862,  579,  362,  597,  346,  405,  910,
676           526,  526,  526,  550,  526,  558,  559,  560,  561,  562,
677           563,  564,  565,  567,  596,  587,  612,  544,  526,  278,
678           279,  280, 1203,  439,  439,  439,  439,  439,  439, 1084,
679          1083,  784,  604,  439,  439,  439,  439,  439,  439,  439,
680           439,  439,  439, 1073,  365, 1073,  899,  899,  899,  899,
681          1210, 1210, 1157,  899,  344,  345,  613,  899,  784,  784,
682          1196,  329,  314,    3,    4,  377, 1210, 1073, 1073, 1073,
683          1073, 1017, 1073, 1073,  526,  526, 1209, 1209,  543,  575,
684           526,  526,  470,  896,  526,  905, 1169,  370,  370,  370,
685           399,  349, 1209, 1191, 1191, 1191,  780,  371,  370,  370,
686          1212,  527, 1066,  375,  370,  778,  914,  403,  372,  372,
687           372,  554,  370, 1224, 1059,  777,  777,  759,  788,  785,
688           785,  785,  787,  919,  956,  776,  916,  523,  916,  866,
689           878,  860,  858,  860,  659,  372,  518,  887,  882,  387,
690           542,  668,  661,  569,  541,  601,  889,  619,  620,  885,
691           624,  625,  632,  634,  639,  641,  948,  452,  454,  940,
692           640,  455,  468, 1089, 1109,  622,  938, 1064, 1176,  585,
693          1176, 1027,   19,   15,  358, 1193, 1193, 1193,  359, 1154,
694          1069, 1070,    0,    0, 1066,  534,  968,    0,    0,  546,
695             0,    0,  568,  520,  540,    0,  523, 1067, 1168, 1067,
696             0,    0, 1175,   23,  459,  520, 1068,  540,  610,    0,
697             0,    0,    0,    0,  519,   13,  524,  442,    0,  444,
698             0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
699             0,    0,    0,    0,  783, 1217,    0,    0,    0,  617,
700             0,    0,    0,    0, 1065,  626,    0,    0,    0,    0,
701             0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
702             0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
703             0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
704             0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
705             0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
706             0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
707             0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
708             0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
709             0,    0,    0,    0,    0,    0,    0,    0,    0,  535
710     );
711
712     protected $gotoCheck = array(
713            42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
714            42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
715            42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
716            42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
717            42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
718            42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
719            42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
720            42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
721            42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
722            42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
723            42,   42,   42,   42,   42,   42,   42,   42,   42,   56,
724            66,   15,   66,   66,   66,   66,   66,   66,   66,   66,
725            66,   66,   66,   66,   66,   66,   66,   66,   66,   66,
726            66,   66,   66,   66,   66,   66,   66,   66,   66,   66,
727            66,   66,   66,   66,   66,   66,   66,   66,   66,   66,
728            66,   66,   66,   66,   66,  123,    8,  123,  123,  123,
729           123,  123,  123,  123,  123,  123,  123,  123,  123,  123,
730           123,  123,  123,  123,  123,  123,  123,  123,  123,  123,
731           123,  123,  123,  123,  123,  123,  123,  123,  123,  123,
732           123,  123,  123,  123,  123,  123,  123,  123,  123,  123,
733            69,   28,  114,  114,  114,  114,  114,  114,  119,   66,
734           119,   66,  114,  114,  114,  114,  114,  114,  114,  114,
735           114,  114,  114,   46,  114,   94,   14,   46,   74,   74,
736            74,   74,    5,   66,   66,   66,   66,   26,   66,   66,
737            46,   46,   26,   26,   26,   26,   26,   26,   26,   26,
738            26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
739            26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
740            26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
741            26,   26,   50,   50,   50,   50,   50,   50,   59,   59,
742            59,   49,   50,   50,   50,   50,   50,   50,   50,   50,
743            50,   50,   98,  115,   56,  115,   56,   56,   56,   56,
744            56,   56,   56,   56,   56,   56,   56,   56,   56,   56,
745            56,   56,   56,   56,   56,   56,   56,   56,   56,   56,
746            56,   56,   56,   56,   56,   56,   56,   56,   56,   56,
747            56,   56,   56,   56,   56,   56,   56,   56,   56,   60,
748            10,    2,   60,   32,    2,   60,   67,   67,   67,   81,
749            10,   10,   10,  106,   10,  107,  107,  107,  107,  107,
750           107,  107,  107,  107,  107,   39,   39,   10,   10,   64,
751            64,   64,  137,   56,   56,   56,   56,   56,   56,  121,
752           121,   22,  124,   56,   56,   56,   56,   56,   56,   56,
753            56,   56,   56,   56,   45,   56,   56,   56,   56,   56,
754           139,  139,  128,   56,   69,   69,   48,   56,   22,   22,
755           135,  122,  122,   29,   29,   47,  139,   56,   56,   56,
756            56,   99,   56,   56,   10,   10,  138,  138,   10,   10,
757            10,   10,   56,   76,   10,   78,   79,   12,   12,   12,
758            21,   17,  138,    8,    8,    8,   24,   11,   12,   12,
759           138,   10,   79,   16,   12,   23,   82,   20,  120,  120,
760           120,   10,   12,   12,  110,   22,   22,   13,   25,   22,
761            22,   22,   22,   83,   96,   22,   12,   12,   12,   68,
762            13,   13,   13,   13,   13,  120,   13,   13,   13,  120,
763            31,   71,   31,   31,    8,   31,   31,   31,   31,   31,
764            31,   31,   31,   31,   31,   31,   94,    7,    7,    7,
765             7,   62,  105,   33,    7,    7,    7,  112,  116,   63,
766           116,   33,   33,   33,   33,  116,  116,  116,   57,  127,
767            79,   79,   -1,   -1,   79,   57,   98,   -1,   -1,   57,
768            -1,   -1,   33,    8,    8,   -1,   12,   79,   79,   79,
769            -1,   -1,  116,   33,   57,    8,   79,    8,   33,   -1,
770            -1,   -1,   -1,   -1,    8,   57,    8,    8,   -1,    8,
771            -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
772            -1,   -1,   -1,   -1,    8,    8,   -1,   -1,   -1,   12,
773            -1,   -1,   -1,   -1,   12,   12,   -1,   -1,   -1,   -1,
774            -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
775            -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
776            -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
777            -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
778            -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
779            -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
780            -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
781            -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
782            -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   98
783     );
784
785     protected $gotoBase = array(
786             0,    0, -293,    0,    0,  221,    0,  512,  145,    0,
787            28,  121,  135,  475,  224,  109,  114,  129,    0,    0,
788            60,  117,   69,  115,  122,   58,   35,    0,  191, -245,
789             0, -143,  333,  106,    0,    0,    0,    0,    0,  337,
790             0,    0,  -24,    0,    0,  364,  199,  133,  134,  273,
791             1,    0,    0,    0,    0,    0,  102,  108,    0,  -17,
792          -116,    0,   76,   74, -286,    0,  -92,   30,   67, -248,
793             0,  140,    0,    0,  -53,    0,  132,    0,  130,  105,
794             0,  334,  113,   62,    0,    0,    0,    0,    0,    0,
795             0,    0,    0,    0,  214,    0,   61,    0,  261,  128,
796             0,    0,    0,    0,    0,   56,  336,  321,    0,    0,
797            55,    0,  103,    0,  -79,    2,  227,    0,    0,  -93,
798           160,   80,   98,  -47,  187,    0,    0,   79,  206,    0,
799             0,    0,    0,    0,    0,  136,    0,  352,  123,   97,
800             0,    0
801     );
802
803     protected $gotoDefault = array(
804         -32768,  472,  672,    2,  673,  744,  752,  607,  486,  638,
805           487,  522, 1187,  797,  798,  799,  367,  413,  488,  366,
806           400,  393,  786,  779,  781,  789,  168,  401,  792,    1,
807           794,  528,  830, 1018,  354,  802,  355,  599,  804,  538,
808           806,  807,  134,  368,  369,  539,  489,  376,  588,  821,
809           268,  373,  823,  356,  824,  833,  357,  469,  464,  570,
810           616,  434,  451,  582,  277,  548, 1081,  577,  865,  342,
811           873,  669,  881,  884,  490,  571,  895,  456,  903, 1094,
812           383,  909,  915,  920,  923,  414,  402,  595,  927,  928,
813             7,  932,  630,  631,  947,  302,  955,  608,  969,  419,
814          1037, 1039,  491,  492,  532,  463,  514,  537,  493, 1060,
815           445,  404, 1063,  494,  495,  435,  436, 1078,  348, 1162,
816           347,  453,  313, 1149,  591, 1113,  460, 1202, 1158,  341,
817           496,  497,  363, 1181,  378, 1197,  440, 1204, 1211,  337,
818           552,  578
819     );
820
821     protected $ruleToNonTerminal = array(
822             0,    1,    3,    3,    2,    5,    5,    5,    5,    5,
823             5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
824             5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
825             5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
826             5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
827             5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
828             5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
829             5,    5,    5,    6,    6,    6,    6,    6,    6,    6,
830             7,    7,    8,    9,   10,   10,   11,   12,    4,    4,
831             4,    4,    4,    4,    4,    4,    4,    4,    4,   17,
832            17,   18,   18,   18,   18,   20,   20,   16,   16,   21,
833            21,   22,   22,   23,   23,   24,   24,   19,   19,   25,
834            27,   27,   28,   29,   29,   31,   30,   30,   30,   30,
835            32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
836            32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
837            32,   32,   32,   32,   32,   32,   32,   32,   32,   13,
838            13,   53,   53,   55,   54,   54,   47,   47,   57,   57,
839            58,   58,   14,   15,   15,   15,   61,   61,   61,   62,
840            62,   65,   65,   63,   63,   67,   67,   40,   40,   49,
841            49,   52,   52,   52,   51,   51,   68,   41,   41,   41,
842            41,   69,   69,   70,   70,   71,   71,   38,   38,   34,
843            34,   72,   36,   36,   73,   35,   35,   37,   37,   48,
844            48,   48,   59,   59,   75,   75,   76,   76,   78,   78,
845            78,   77,   77,   60,   60,   79,   79,   79,   80,   80,
846            81,   81,   81,   43,   43,   82,   82,   82,   44,   44,
847            83,   83,   64,   64,   84,   84,   84,   84,   89,   89,
848            90,   90,   91,   91,   91,   91,   91,   92,   93,   93,
849            88,   88,   85,   85,   87,   87,   95,   95,   94,   94,
850            94,   94,   94,   94,   86,   86,   97,   96,   96,   45,
851            45,   39,   39,   42,   42,   42,   42,   42,   42,   42,
852            42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
853            42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
854            42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
855            42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
856            42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
857            42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
858            42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
859            42,   42,   42,   42,   42,   42,   42,   33,   33,   46,
860            46,  102,  102,  103,  103,  103,  103,  109,   98,   98,
861           105,  105,  111,  111,  112,  113,  113,  113,  113,  113,
862           113,   66,   66,   56,   56,   56,   99,   99,  117,  117,
863           114,  114,  118,  118,  118,  118,  100,  100,  100,  104,
864           104,  104,  110,  110,  123,  123,  123,  123,  123,  123,
865           123,  123,  123,  123,  123,  123,  123,   26,   26,   26,
866            26,   26,   26,  125,  125,  125,  125,  125,  125,  125,
867           125,  125,  125,  125,  125,  125,  125,  125,  125,  125,
868           125,  125,  125,  125,  125,  125,  125,  125,  125,  125,
869           125,  125,  125,  125,  125,  125,  108,  108,  101,  101,
870           101,  101,  124,  124,  127,  127,  126,  126,  128,  128,
871            50,   50,   50,   50,  130,  130,  129,  129,  129,  129,
872           129,  131,  131,  116,  116,  119,  119,  115,  115,  133,
873           132,  132,  132,  132,  120,  120,  120,  120,  107,  107,
874           121,  121,  121,  121,   74,  134,  134,  135,  135,  135,
875           106,  106,  136,  136,  137,  137,  137,  137,  122,  122,
876           122,  122,  139,  140,  138,  138,  138,  138,  138,  138,
877           138,  141,  141,  141
878     );
879
880     protected $ruleToLength = array(
881             1,    1,    2,    0,    1,    1,    1,    1,    1,    1,
882             1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
883             1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
884             1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
885             1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
886             1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
887             1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
888             1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
889             1,    1,    1,    1,    1,    3,    1,    1,    1,    1,
890             1,    1,    3,    5,    4,    3,    4,    2,    3,    1,
891             1,    7,    8,    6,    7,    3,    1,    3,    1,    3,
892             1,    1,    3,    1,    2,    1,    2,    3,    1,    3,
893             3,    1,    3,    2,    0,    1,    1,    1,    1,    1,
894             3,    5,    8,    3,    5,    9,    3,    2,    3,    2,
895             3,    2,    3,    3,    3,    3,    1,    2,    2,    5,
896             7,    9,    5,    6,    3,    3,    2,    2,    1,    1,
897             1,    0,    2,    8,    0,    4,    1,    3,    0,    1,
898             0,    1,   10,    7,    6,    5,    1,    2,    2,    0,
899             2,    0,    2,    0,    2,    1,    3,    1,    4,    1,
900             4,    1,    1,    4,    1,    3,    3,    3,    4,    4,
901             5,    0,    2,    4,    3,    1,    1,    1,    4,    0,
902             2,    3,    0,    2,    4,    0,    2,    0,    3,    1,
903             2,    1,    1,    0,    1,    3,    4,    6,    1,    1,
904             1,    0,    1,    0,    2,    2,    3,    3,    1,    3,
905             1,    2,    2,    3,    1,    1,    2,    4,    3,    1,
906             1,    3,    2,    0,    3,    3,    9,    3,    1,    3,
907             0,    2,    4,    5,    4,    4,    4,    3,    1,    1,
908             1,    3,    1,    1,    0,    1,    1,    2,    1,    1,
909             1,    1,    1,    1,    1,    3,    1,    1,    3,    3,
910             1,    0,    1,    1,    3,    3,    4,    4,    1,    2,
911             3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
912             3,    3,    2,    2,    2,    2,    3,    3,    3,    3,
913             3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
914             3,    3,    3,    2,    2,    2,    2,    3,    3,    3,
915             3,    3,    3,    3,    3,    3,    3,    1,    3,    5,
916             4,    3,    4,    4,    2,    2,    2,    2,    2,    2,
917             2,    2,    2,    2,    2,    2,    2,    2,    1,    1,
918             1,    3,    2,    1,    2,   10,   11,    3,    3,    2,
919             4,    4,    3,    4,    4,    4,    4,    7,    3,    2,
920             0,    4,    1,    3,    2,    2,    4,    6,    2,    2,
921             4,    1,    1,    1,    2,    3,    1,    1,    1,    1,
922             1,    1,    3,    3,    4,    4,    0,    2,    1,    0,
923             1,    1,    0,    1,    1,    1,    1,    1,    1,    1,
924             1,    1,    1,    1,    1,    3,    2,    1,    3,    1,
925             4,    3,    1,    3,    3,    3,    3,    3,    3,    3,
926             3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
927             2,    2,    2,    2,    3,    3,    3,    3,    3,    3,
928             3,    3,    5,    4,    4,    3,    1,    3,    1,    1,
929             3,    3,    0,    2,    0,    1,    3,    1,    3,    1,
930             1,    1,    1,    1,    6,    4,    3,    4,    2,    4,
931             4,    1,    3,    1,    2,    1,    1,    4,    1,    1,
932             3,    6,    4,    4,    4,    4,    1,    4,    0,    1,
933             1,    3,    1,    1,    4,    3,    1,    1,    1,    0,
934             0,    2,    3,    1,    3,    1,    4,    2,    2,    2,
935             1,    2,    1,    1,    1,    4,    3,    3,    3,    6,
936             3,    1,    1,    1
937     );
938
939     protected function initReduceCallbacks() {
940         $this->reduceCallbacks = [
941             0 => function ($stackPos) {
942                 $this->semValue = $this->semStack[$stackPos];
943             },
944             1 => function ($stackPos) {
945                  $this->semValue = $this->handleNamespaces($this->semStack[$stackPos-(1-1)]);
946             },
947             2 => function ($stackPos) {
948                  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)]; };
949             },
950             3 => function ($stackPos) {
951                  $this->semValue = array();
952             },
953             4 => function ($stackPos) {
954                  $startAttributes = $this->lookaheadStartAttributes; if (isset($startAttributes['comments'])) { $nop = new Stmt\Nop($startAttributes + $this->endAttributes); } else { $nop = null; };
955             if ($nop !== null) { $this->semStack[$stackPos-(1-1)][] = $nop; } $this->semValue = $this->semStack[$stackPos-(1-1)];
956             },
957             5 => function ($stackPos) {
958                 $this->semValue = $this->semStack[$stackPos];
959             },
960             6 => function ($stackPos) {
961                 $this->semValue = $this->semStack[$stackPos];
962             },
963             7 => function ($stackPos) {
964                 $this->semValue = $this->semStack[$stackPos];
965             },
966             8 => function ($stackPos) {
967                 $this->semValue = $this->semStack[$stackPos];
968             },
969             9 => function ($stackPos) {
970                 $this->semValue = $this->semStack[$stackPos];
971             },
972             10 => function ($stackPos) {
973                 $this->semValue = $this->semStack[$stackPos];
974             },
975             11 => function ($stackPos) {
976                 $this->semValue = $this->semStack[$stackPos];
977             },
978             12 => function ($stackPos) {
979                 $this->semValue = $this->semStack[$stackPos];
980             },
981             13 => function ($stackPos) {
982                 $this->semValue = $this->semStack[$stackPos];
983             },
984             14 => function ($stackPos) {
985                 $this->semValue = $this->semStack[$stackPos];
986             },
987             15 => function ($stackPos) {
988                 $this->semValue = $this->semStack[$stackPos];
989             },
990             16 => function ($stackPos) {
991                 $this->semValue = $this->semStack[$stackPos];
992             },
993             17 => function ($stackPos) {
994                 $this->semValue = $this->semStack[$stackPos];
995             },
996             18 => function ($stackPos) {
997                 $this->semValue = $this->semStack[$stackPos];
998             },
999             19 => function ($stackPos) {
1000                 $this->semValue = $this->semStack[$stackPos];
1001             },
1002             20 => function ($stackPos) {
1003                 $this->semValue = $this->semStack[$stackPos];
1004             },
1005             21 => function ($stackPos) {
1006                 $this->semValue = $this->semStack[$stackPos];
1007             },
1008             22 => function ($stackPos) {
1009                 $this->semValue = $this->semStack[$stackPos];
1010             },
1011             23 => function ($stackPos) {
1012                 $this->semValue = $this->semStack[$stackPos];
1013             },
1014             24 => function ($stackPos) {
1015                 $this->semValue = $this->semStack[$stackPos];
1016             },
1017             25 => function ($stackPos) {
1018                 $this->semValue = $this->semStack[$stackPos];
1019             },
1020             26 => function ($stackPos) {
1021                 $this->semValue = $this->semStack[$stackPos];
1022             },
1023             27 => function ($stackPos) {
1024                 $this->semValue = $this->semStack[$stackPos];
1025             },
1026             28 => function ($stackPos) {
1027                 $this->semValue = $this->semStack[$stackPos];
1028             },
1029             29 => function ($stackPos) {
1030                 $this->semValue = $this->semStack[$stackPos];
1031             },
1032             30 => function ($stackPos) {
1033                 $this->semValue = $this->semStack[$stackPos];
1034             },
1035             31 => function ($stackPos) {
1036                 $this->semValue = $this->semStack[$stackPos];
1037             },
1038             32 => function ($stackPos) {
1039                 $this->semValue = $this->semStack[$stackPos];
1040             },
1041             33 => function ($stackPos) {
1042                 $this->semValue = $this->semStack[$stackPos];
1043             },
1044             34 => function ($stackPos) {
1045                 $this->semValue = $this->semStack[$stackPos];
1046             },
1047             35 => function ($stackPos) {
1048                 $this->semValue = $this->semStack[$stackPos];
1049             },
1050             36 => function ($stackPos) {
1051                 $this->semValue = $this->semStack[$stackPos];
1052             },
1053             37 => function ($stackPos) {
1054                 $this->semValue = $this->semStack[$stackPos];
1055             },
1056             38 => function ($stackPos) {
1057                 $this->semValue = $this->semStack[$stackPos];
1058             },
1059             39 => function ($stackPos) {
1060                 $this->semValue = $this->semStack[$stackPos];
1061             },
1062             40 => function ($stackPos) {
1063                 $this->semValue = $this->semStack[$stackPos];
1064             },
1065             41 => function ($stackPos) {
1066                 $this->semValue = $this->semStack[$stackPos];
1067             },
1068             42 => function ($stackPos) {
1069                 $this->semValue = $this->semStack[$stackPos];
1070             },
1071             43 => function ($stackPos) {
1072                 $this->semValue = $this->semStack[$stackPos];
1073             },
1074             44 => function ($stackPos) {
1075                 $this->semValue = $this->semStack[$stackPos];
1076             },
1077             45 => function ($stackPos) {
1078                 $this->semValue = $this->semStack[$stackPos];
1079             },
1080             46 => function ($stackPos) {
1081                 $this->semValue = $this->semStack[$stackPos];
1082             },
1083             47 => function ($stackPos) {
1084                 $this->semValue = $this->semStack[$stackPos];
1085             },
1086             48 => function ($stackPos) {
1087                 $this->semValue = $this->semStack[$stackPos];
1088             },
1089             49 => function ($stackPos) {
1090                 $this->semValue = $this->semStack[$stackPos];
1091             },
1092             50 => function ($stackPos) {
1093                 $this->semValue = $this->semStack[$stackPos];
1094             },
1095             51 => function ($stackPos) {
1096                 $this->semValue = $this->semStack[$stackPos];
1097             },
1098             52 => function ($stackPos) {
1099                 $this->semValue = $this->semStack[$stackPos];
1100             },
1101             53 => function ($stackPos) {
1102                 $this->semValue = $this->semStack[$stackPos];
1103             },
1104             54 => function ($stackPos) {
1105                 $this->semValue = $this->semStack[$stackPos];
1106             },
1107             55 => function ($stackPos) {
1108                 $this->semValue = $this->semStack[$stackPos];
1109             },
1110             56 => function ($stackPos) {
1111                 $this->semValue = $this->semStack[$stackPos];
1112             },
1113             57 => function ($stackPos) {
1114                 $this->semValue = $this->semStack[$stackPos];
1115             },
1116             58 => function ($stackPos) {
1117                 $this->semValue = $this->semStack[$stackPos];
1118             },
1119             59 => function ($stackPos) {
1120                 $this->semValue = $this->semStack[$stackPos];
1121             },
1122             60 => function ($stackPos) {
1123                 $this->semValue = $this->semStack[$stackPos];
1124             },
1125             61 => function ($stackPos) {
1126                 $this->semValue = $this->semStack[$stackPos];
1127             },
1128             62 => function ($stackPos) {
1129                 $this->semValue = $this->semStack[$stackPos];
1130             },
1131             63 => function ($stackPos) {
1132                 $this->semValue = $this->semStack[$stackPos];
1133             },
1134             64 => function ($stackPos) {
1135                 $this->semValue = $this->semStack[$stackPos];
1136             },
1137             65 => function ($stackPos) {
1138                 $this->semValue = $this->semStack[$stackPos];
1139             },
1140             66 => function ($stackPos) {
1141                 $this->semValue = $this->semStack[$stackPos];
1142             },
1143             67 => function ($stackPos) {
1144                 $this->semValue = $this->semStack[$stackPos];
1145             },
1146             68 => function ($stackPos) {
1147                 $this->semValue = $this->semStack[$stackPos];
1148             },
1149             69 => function ($stackPos) {
1150                 $this->semValue = $this->semStack[$stackPos];
1151             },
1152             70 => function ($stackPos) {
1153                 $this->semValue = $this->semStack[$stackPos];
1154             },
1155             71 => function ($stackPos) {
1156                 $this->semValue = $this->semStack[$stackPos];
1157             },
1158             72 => function ($stackPos) {
1159                 $this->semValue = $this->semStack[$stackPos];
1160             },
1161             73 => function ($stackPos) {
1162                 $this->semValue = $this->semStack[$stackPos];
1163             },
1164             74 => function ($stackPos) {
1165                 $this->semValue = $this->semStack[$stackPos];
1166             },
1167             75 => function ($stackPos) {
1168                 $this->semValue = $this->semStack[$stackPos];
1169             },
1170             76 => function ($stackPos) {
1171                 $this->semValue = $this->semStack[$stackPos];
1172             },
1173             77 => function ($stackPos) {
1174                 $this->semValue = $this->semStack[$stackPos];
1175             },
1176             78 => function ($stackPos) {
1177                 $this->semValue = $this->semStack[$stackPos];
1178             },
1179             79 => function ($stackPos) {
1180                 $this->semValue = $this->semStack[$stackPos];
1181             },
1182             80 => function ($stackPos) {
1183                  $this->semValue = new Node\Identifier($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
1184             },
1185             81 => function ($stackPos) {
1186                  $this->semValue = new Node\Identifier($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
1187             },
1188             82 => function ($stackPos) {
1189                  $this->semValue = new Node\Identifier($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
1190             },
1191             83 => function ($stackPos) {
1192                  $this->semValue = new Node\Identifier($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
1193             },
1194             84 => function ($stackPos) {
1195                  $this->semValue = array($this->semStack[$stackPos-(1-1)]);
1196             },
1197             85 => function ($stackPos) {
1198                  $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)];
1199             },
1200             86 => function ($stackPos) {
1201                  $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
1202             },
1203             87 => function ($stackPos) {
1204                  $this->semValue = new Expr\Variable(substr($this->semStack[$stackPos-(1-1)], 1), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
1205             },
1206             88 => function ($stackPos) {
1207                  $this->semValue = $this->semStack[$stackPos-(1-1)];
1208             },
1209             89 => function ($stackPos) {
1210                  $this->semValue = $this->semStack[$stackPos-(1-1)];
1211             },
1212             90 => function ($stackPos) {
1213                  $this->semValue = $this->semStack[$stackPos-(1-1)];
1214             },
1215             91 => function ($stackPos) {
1216                  $this->semValue = new Stmt\HaltCompiler($this->lexer->handleHaltCompiler(), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
1217             },
1218             92 => function ($stackPos) {
1219                  $this->semValue = new Stmt\Namespace_($this->semStack[$stackPos-(3-2)], null, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
1220             $this->semValue->setAttribute('kind', Stmt\Namespace_::KIND_SEMICOLON);
1221             $this->checkNamespace($this->semValue);
1222             },
1223             93 => function ($stackPos) {
1224                  $this->semValue = new Stmt\Namespace_($this->semStack[$stackPos-(5-2)], $this->semStack[$stackPos-(5-4)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes);
1225             $this->semValue->setAttribute('kind', Stmt\Namespace_::KIND_BRACED);
1226             $this->checkNamespace($this->semValue);
1227             },
1228             94 => function ($stackPos) {
1229                  $this->semValue = new Stmt\Namespace_(null, $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
1230             $this->semValue->setAttribute('kind', Stmt\Namespace_::KIND_BRACED);
1231             $this->checkNamespace($this->semValue);
1232             },
1233             95 => function ($stackPos) {
1234                  $this->semValue = new Stmt\Use_($this->semStack[$stackPos-(3-2)], Stmt\Use_::TYPE_NORMAL, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
1235             },
1236             96 => function ($stackPos) {
1237                  $this->semValue = new Stmt\Use_($this->semStack[$stackPos-(4-3)], $this->semStack[$stackPos-(4-2)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
1238             },
1239             97 => function ($stackPos) {
1240                  $this->semValue = $this->semStack[$stackPos-(2-1)];
1241             },
1242             98 => function ($stackPos) {
1243                  $this->semValue = new Stmt\Const_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
1244             },
1245             99 => function ($stackPos) {
1246                  $this->semValue = Stmt\Use_::TYPE_FUNCTION;
1247             },
1248             100 => function ($stackPos) {
1249                  $this->semValue = Stmt\Use_::TYPE_CONSTANT;
1250             },
1251             101 => function ($stackPos) {
1252                  $this->semValue = new Stmt\GroupUse(new Name($this->semStack[$stackPos-(7-3)], $this->startAttributeStack[$stackPos-(7-3)] + $this->endAttributeStack[$stackPos-(7-3)]), $this->semStack[$stackPos-(7-6)], $this->semStack[$stackPos-(7-2)], $this->startAttributeStack[$stackPos-(7-1)] + $this->endAttributes);
1253             },
1254             102 => function ($stackPos) {
1255                  $this->semValue = new Stmt\GroupUse(new Name($this->semStack[$stackPos-(8-4)], $this->startAttributeStack[$stackPos-(8-4)] + $this->endAttributeStack[$stackPos-(8-4)]), $this->semStack[$stackPos-(8-7)], $this->semStack[$stackPos-(8-2)], $this->startAttributeStack[$stackPos-(8-1)] + $this->endAttributes);
1256             },
1257             103 => function ($stackPos) {
1258                  $this->semValue = new Stmt\GroupUse(new Name($this->semStack[$stackPos-(6-2)], $this->startAttributeStack[$stackPos-(6-2)] + $this->endAttributeStack[$stackPos-(6-2)]), $this->semStack[$stackPos-(6-5)], Stmt\Use_::TYPE_UNKNOWN, $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes);
1259             },
1260             104 => function ($stackPos) {
1261                  $this->semValue = new Stmt\GroupUse(new Name($this->semStack[$stackPos-(7-3)], $this->startAttributeStack[$stackPos-(7-3)] + $this->endAttributeStack[$stackPos-(7-3)]), $this->semStack[$stackPos-(7-6)], Stmt\Use_::TYPE_UNKNOWN, $this->startAttributeStack[$stackPos-(7-1)] + $this->endAttributes);
1262             },
1263             105 => function ($stackPos) {
1264                  $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)];
1265             },
1266             106 => function ($stackPos) {
1267                  $this->semValue = array($this->semStack[$stackPos-(1-1)]);
1268             },
1269             107 => function ($stackPos) {
1270                  $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)];
1271             },
1272             108 => function ($stackPos) {
1273                  $this->semValue = array($this->semStack[$stackPos-(1-1)]);
1274             },
1275             109 => function ($stackPos) {
1276                  $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)];
1277             },
1278             110 => function ($stackPos) {
1279                  $this->semValue = array($this->semStack[$stackPos-(1-1)]);
1280             },
1281             111 => function ($stackPos) {
1282                  $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));
1283             },
1284             112 => function ($stackPos) {
1285                  $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));
1286             },
1287             113 => function ($stackPos) {
1288                  $this->semValue = $this->semStack[$stackPos-(1-1)];
1289             },
1290             114 => function ($stackPos) {
1291                  $this->semValue = $this->semStack[$stackPos-(2-2)];
1292             },
1293             115 => function ($stackPos) {
1294                  $this->semValue = $this->semStack[$stackPos-(1-1)]; $this->semValue->type = Stmt\Use_::TYPE_NORMAL;
1295             },
1296             116 => function ($stackPos) {
1297                  $this->semValue = $this->semStack[$stackPos-(2-2)]; $this->semValue->type = $this->semStack[$stackPos-(2-1)];
1298             },
1299             117 => function ($stackPos) {
1300                  $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)];
1301             },
1302             118 => function ($stackPos) {
1303                  $this->semValue = array($this->semStack[$stackPos-(1-1)]);
1304             },
1305             119 => function ($stackPos) {
1306                  $this->semValue = new Node\Const_($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
1307             },
1308             120 => function ($stackPos) {
1309                  $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)];
1310             },
1311             121 => function ($stackPos) {
1312                  $this->semValue = array($this->semStack[$stackPos-(1-1)]);
1313             },
1314             122 => function ($stackPos) {
1315                  $this->semValue = new Node\Const_($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
1316             },
1317             123 => function ($stackPos) {
1318                  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)]; };
1319             },
1320             124 => function ($stackPos) {
1321                  $this->semValue = array();
1322             },
1323             125 => function ($stackPos) {
1324                  $startAttributes = $this->lookaheadStartAttributes; if (isset($startAttributes['comments'])) { $nop = new Stmt\Nop($startAttributes + $this->endAttributes); } else { $nop = null; };
1325             if ($nop !== null) { $this->semStack[$stackPos-(1-1)][] = $nop; } $this->semValue = $this->semStack[$stackPos-(1-1)];
1326             },
1327             126 => function ($stackPos) {
1328                  $this->semValue = $this->semStack[$stackPos-(1-1)];
1329             },
1330             127 => function ($stackPos) {
1331                  $this->semValue = $this->semStack[$stackPos-(1-1)];
1332             },
1333             128 => function ($stackPos) {
1334                  $this->semValue = $this->semStack[$stackPos-(1-1)];
1335             },
1336             129 => function ($stackPos) {
1337                  throw new Error('__HALT_COMPILER() can only be used from the outermost scope', $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
1338             },
1339             130 => function ($stackPos) {
1340
1341         if ($this->semStack[$stackPos-(3-2)]) {
1342             $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', []))); };
1343         } else {
1344             $startAttributes = $this->startAttributeStack[$stackPos-(3-1)]; if (isset($startAttributes['comments'])) { $this->semValue = new Stmt\Nop($startAttributes + $this->endAttributes); } else { $this->semValue = null; };
1345             if (null === $this->semValue) { $this->semValue = array(); }
1346         }
1347
1348             },
1349             131 => function ($stackPos) {
1350                  $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);
1351             },
1352             132 => function ($stackPos) {
1353                  $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);
1354             },
1355             133 => function ($stackPos) {
1356                  $this->semValue = new Stmt\While_($this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
1357             },
1358             134 => function ($stackPos) {
1359                  $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);
1360             },
1361             135 => function ($stackPos) {
1362                  $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);
1363             },
1364             136 => function ($stackPos) {
1365                  $this->semValue = new Stmt\Switch_($this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
1366             },
1367             137 => function ($stackPos) {
1368                  $this->semValue = new Stmt\Break_(null, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
1369             },
1370             138 => function ($stackPos) {
1371                  $this->semValue = new Stmt\Break_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
1372             },
1373             139 => function ($stackPos) {
1374                  $this->semValue = new Stmt\Continue_(null, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
1375             },
1376             140 => function ($stackPos) {
1377                  $this->semValue = new Stmt\Continue_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
1378             },
1379             141 => function ($stackPos) {
1380                  $this->semValue = new Stmt\Return_(null, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
1381             },
1382             142 => function ($stackPos) {
1383                  $this->semValue = new Stmt\Return_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
1384             },
1385             143 => function ($stackPos) {
1386                  $this->semValue = new Stmt\Global_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
1387             },
1388             144 => function ($stackPos) {
1389                  $this->semValue = new Stmt\Static_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
1390             },
1391             145 => function ($stackPos) {
1392                  $this->semValue = new Stmt\Echo_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
1393             },
1394             146 => function ($stackPos) {
1395                  $this->semValue = new Stmt\InlineHTML($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
1396             },
1397             147 => function ($stackPos) {
1398                  $this->semValue = new Stmt\Expression($this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
1399             },
1400             148 => function ($stackPos) {
1401                  $this->semValue = new Stmt\Expression($this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
1402             },
1403             149 => function ($stackPos) {
1404                  $this->semValue = new Stmt\Unset_($this->semStack[$stackPos-(5-3)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes);
1405             },
1406             150 => function ($stackPos) {
1407                  $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);
1408             },
1409             151 => function ($stackPos) {
1410                  $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);
1411             },
1412             152 => function ($stackPos) {
1413                  $this->semValue = new Stmt\Declare_($this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-5)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes);
1414             },
1415             153 => function ($stackPos) {
1416                  $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);
1417             },
1418             154 => function ($stackPos) {
1419                  $this->semValue = new Stmt\Throw_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
1420             },
1421             155 => function ($stackPos) {
1422                  $this->semValue = new Stmt\Goto_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
1423             },
1424             156 => function ($stackPos) {
1425                  $this->semValue = new Stmt\Label($this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
1426             },
1427             157 => function ($stackPos) {
1428                  $this->semValue = new Stmt\Expression($this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
1429             },
1430             158 => function ($stackPos) {
1431                  $this->semValue = array(); /* means: no statement */
1432             },
1433             159 => function ($stackPos) {
1434                  $this->semValue = $this->semStack[$stackPos-(1-1)];
1435             },
1436             160 => function ($stackPos) {
1437                  $startAttributes = $this->startAttributeStack[$stackPos-(1-1)]; if (isset($startAttributes['comments'])) { $this->semValue = new Stmt\Nop($startAttributes + $this->endAttributes); } else { $this->semValue = null; };
1438             if ($this->semValue === null) $this->semValue = array(); /* means: no statement */
1439             },
1440             161 => function ($stackPos) {
1441                  $this->semValue = array();
1442             },
1443             162 => function ($stackPos) {
1444                  $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)];
1445             },
1446             163 => function ($stackPos) {
1447                  $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);
1448             },
1449             164 => function ($stackPos) {
1450                  $this->semValue = null;
1451             },
1452             165 => function ($stackPos) {
1453                  $this->semValue = new Stmt\Finally_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
1454             },
1455             166 => function ($stackPos) {
1456                  $this->semValue = array($this->semStack[$stackPos-(1-1)]);
1457             },
1458             167 => function ($stackPos) {
1459                  $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)];
1460             },
1461             168 => function ($stackPos) {
1462                  $this->semValue = false;
1463             },
1464             169 => function ($stackPos) {
1465                  $this->semValue = true;
1466             },
1467             170 => function ($stackPos) {
1468                  $this->semValue = false;
1469             },
1470             171 => function ($stackPos) {
1471                  $this->semValue = true;
1472             },
1473             172 => function ($stackPos) {
1474                  $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);
1475             },
1476             173 => function ($stackPos) {
1477                  $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);
1478             $this->checkClass($this->semValue, $stackPos-(7-2));
1479             },
1480             174 => function ($stackPos) {
1481                  $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);
1482             $this->checkInterface($this->semValue, $stackPos-(6-2));
1483             },
1484             175 => function ($stackPos) {
1485                  $this->semValue = new Stmt\Trait_($this->semStack[$stackPos-(5-2)], ['stmts' => $this->semStack[$stackPos-(5-4)]], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes);
1486             },
1487             176 => function ($stackPos) {
1488                  $this->semValue = 0;
1489             },
1490             177 => function ($stackPos) {
1491                  $this->semValue = Stmt\Class_::MODIFIER_ABSTRACT;
1492             },
1493             178 => function ($stackPos) {
1494                  $this->semValue = Stmt\Class_::MODIFIER_FINAL;
1495             },
1496             179 => function ($stackPos) {
1497                  $this->semValue = null;
1498             },
1499             180 => function ($stackPos) {
1500                  $this->semValue = $this->semStack[$stackPos-(2-2)];
1501             },
1502             181 => function ($stackPos) {
1503                  $this->semValue = array();
1504             },
1505             182 => function ($stackPos) {
1506                  $this->semValue = $this->semStack[$stackPos-(2-2)];
1507             },
1508             183 => function ($stackPos) {
1509                  $this->semValue = array();
1510             },
1511             184 => function ($stackPos) {
1512                  $this->semValue = $this->semStack[$stackPos-(2-2)];
1513             },
1514             185 => function ($stackPos) {
1515                  $this->semValue = array($this->semStack[$stackPos-(1-1)]);
1516             },
1517             186 => function ($stackPos) {
1518                  $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)];
1519             },
1520             187 => function ($stackPos) {
1521                  $this->semValue = is_array($this->semStack[$stackPos-(1-1)]) ? $this->semStack[$stackPos-(1-1)] : array($this->semStack[$stackPos-(1-1)]);
1522             },
1523             188 => function ($stackPos) {
1524                  $this->semValue = $this->semStack[$stackPos-(4-2)];
1525             },
1526             189 => function ($stackPos) {
1527                  $this->semValue = is_array($this->semStack[$stackPos-(1-1)]) ? $this->semStack[$stackPos-(1-1)] : array($this->semStack[$stackPos-(1-1)]);
1528             },
1529             190 => function ($stackPos) {
1530                  $this->semValue = $this->semStack[$stackPos-(4-2)];
1531             },
1532             191 => function ($stackPos) {
1533                  $this->semValue = is_array($this->semStack[$stackPos-(1-1)]) ? $this->semStack[$stackPos-(1-1)] : array($this->semStack[$stackPos-(1-1)]);
1534             },
1535             192 => function ($stackPos) {
1536                  $this->semValue = null;
1537             },
1538             193 => function ($stackPos) {
1539                  $this->semValue = $this->semStack[$stackPos-(4-2)];
1540             },
1541             194 => function ($stackPos) {
1542                  $this->semValue = array($this->semStack[$stackPos-(1-1)]);
1543             },
1544             195 => function ($stackPos) {
1545                  $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)];
1546             },
1547             196 => function ($stackPos) {
1548                  $this->semValue = new Stmt\DeclareDeclare($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
1549             },
1550             197 => function ($stackPos) {
1551                  $this->semValue = $this->semStack[$stackPos-(3-2)];
1552             },
1553             198 => function ($stackPos) {
1554                  $this->semValue = $this->semStack[$stackPos-(4-3)];
1555             },
1556             199 => function ($stackPos) {
1557                  $this->semValue = $this->semStack[$stackPos-(4-2)];
1558             },
1559             200 => function ($stackPos) {
1560                  $this->semValue = $this->semStack[$stackPos-(5-3)];
1561             },
1562             201 => function ($stackPos) {
1563                  $this->semValue = array();
1564             },
1565             202 => function ($stackPos) {
1566                  $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)];
1567             },
1568             203 => function ($stackPos) {
1569                  $this->semValue = new Stmt\Case_($this->semStack[$stackPos-(4-2)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
1570             },
1571             204 => function ($stackPos) {
1572                  $this->semValue = new Stmt\Case_(null, $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
1573             },
1574             205 => function ($stackPos) {
1575                 $this->semValue = $this->semStack[$stackPos];
1576             },
1577             206 => function ($stackPos) {
1578                 $this->semValue = $this->semStack[$stackPos];
1579             },
1580             207 => function ($stackPos) {
1581                  $this->semValue = is_array($this->semStack[$stackPos-(1-1)]) ? $this->semStack[$stackPos-(1-1)] : array($this->semStack[$stackPos-(1-1)]);
1582             },
1583             208 => function ($stackPos) {
1584                  $this->semValue = $this->semStack[$stackPos-(4-2)];
1585             },
1586             209 => function ($stackPos) {
1587                  $this->semValue = array();
1588             },
1589             210 => function ($stackPos) {
1590                  $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)];
1591             },
1592             211 => function ($stackPos) {
1593                  $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);
1594             },
1595             212 => function ($stackPos) {
1596                  $this->semValue = array();
1597             },
1598             213 => function ($stackPos) {
1599                  $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)];
1600             },
1601             214 => function ($stackPos) {
1602                  $this->semValue = new Stmt\ElseIf_($this->semStack[$stackPos-(4-2)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
1603             },
1604             215 => function ($stackPos) {
1605                  $this->semValue = null;
1606             },
1607             216 => function ($stackPos) {
1608                  $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);
1609             },
1610             217 => function ($stackPos) {
1611                  $this->semValue = null;
1612             },
1613             218 => function ($stackPos) {
1614                  $this->semValue = new Stmt\Else_($this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
1615             },
1616             219 => function ($stackPos) {
1617                  $this->semValue = array($this->semStack[$stackPos-(1-1)], false);
1618             },
1619             220 => function ($stackPos) {
1620                  $this->semValue = array($this->semStack[$stackPos-(2-2)], true);
1621             },
1622             221 => function ($stackPos) {
1623                  $this->semValue = array($this->semStack[$stackPos-(1-1)], false);
1624             },
1625             222 => function ($stackPos) {
1626                  $this->semValue = $this->semStack[$stackPos-(1-1)];
1627             },
1628             223 => function ($stackPos) {
1629                  $this->semValue = array();
1630             },
1631             224 => function ($stackPos) {
1632                  $this->semValue = array($this->semStack[$stackPos-(1-1)]);
1633             },
1634             225 => function ($stackPos) {
1635                  $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)];
1636             },
1637             226 => function ($stackPos) {
1638                  $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);
1639             },
1640             227 => function ($stackPos) {
1641                  $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);
1642             },
1643             228 => function ($stackPos) {
1644                  $this->semValue = $this->semStack[$stackPos-(1-1)];
1645             },
1646             229 => function ($stackPos) {
1647                  $this->semValue = new Node\Identifier('array', $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
1648             },
1649             230 => function ($stackPos) {
1650                  $this->semValue = new Node\Identifier('callable', $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
1651             },
1652             231 => function ($stackPos) {
1653                  $this->semValue = null;
1654             },
1655             232 => function ($stackPos) {
1656                  $this->semValue = $this->semStack[$stackPos-(1-1)];
1657             },
1658             233 => function ($stackPos) {
1659                  $this->semValue = null;
1660             },
1661             234 => function ($stackPos) {
1662                  $this->semValue = $this->semStack[$stackPos-(2-2)];
1663             },
1664             235 => function ($stackPos) {
1665                  $this->semValue = array();
1666             },
1667             236 => function ($stackPos) {
1668                  $this->semValue = $this->semStack[$stackPos-(3-2)];
1669             },
1670             237 => function ($stackPos) {
1671                  $this->semValue = array(new Node\Arg($this->semStack[$stackPos-(3-2)], false, false, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes));
1672             },
1673             238 => function ($stackPos) {
1674                  $this->semValue = array($this->semStack[$stackPos-(1-1)]);
1675             },
1676             239 => function ($stackPos) {
1677                  $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)];
1678             },
1679             240 => function ($stackPos) {
1680                  $this->semValue = new Node\Arg($this->semStack[$stackPos-(1-1)], false, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
1681             },
1682             241 => function ($stackPos) {
1683                  $this->semValue = new Node\Arg($this->semStack[$stackPos-(2-2)], true, false, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
1684             },
1685             242 => function ($stackPos) {
1686                  $this->semValue = new Node\Arg($this->semStack[$stackPos-(2-2)], false, true, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
1687             },
1688             243 => function ($stackPos) {
1689                  $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)];
1690             },
1691             244 => function ($stackPos) {
1692                  $this->semValue = array($this->semStack[$stackPos-(1-1)]);
1693             },
1694             245 => function ($stackPos) {
1695                  $this->semValue = $this->semStack[$stackPos-(1-1)];
1696             },
1697             246 => function ($stackPos) {
1698                  $this->semValue = new Expr\Variable($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
1699             },
1700             247 => function ($stackPos) {
1701                  $this->semValue = new Expr\Variable($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
1702             },
1703             248 => function ($stackPos) {
1704                  $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)];
1705             },
1706             249 => function ($stackPos) {
1707                  $this->semValue = array($this->semStack[$stackPos-(1-1)]);
1708             },
1709             250 => function ($stackPos) {
1710                  $this->semValue = new Stmt\StaticVar($this->semStack[$stackPos-(1-1)], null, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
1711             },
1712             251 => function ($stackPos) {
1713                  $this->semValue = new Stmt\StaticVar($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
1714             },
1715             252 => function ($stackPos) {
1716                  $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)];
1717             },
1718             253 => function ($stackPos) {
1719                  $this->semValue = array();
1720             },
1721             254 => function ($stackPos) {
1722                  $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));
1723             },
1724             255 => function ($stackPos) {
1725                  $this->semValue = new Stmt\ClassConst($this->semStack[$stackPos-(3-2)], 0, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
1726             },
1727             256 => function ($stackPos) {
1728                  $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);
1729             $this->checkClassMethod($this->semValue, $stackPos-(9-1));
1730             },
1731             257 => function ($stackPos) {
1732                  $this->semValue = new Stmt\TraitUse($this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
1733             },
1734             258 => function ($stackPos) {
1735                  $this->semValue = array();
1736             },
1737             259 => function ($stackPos) {
1738                  $this->semValue = $this->semStack[$stackPos-(3-2)];
1739             },
1740             260 => function ($stackPos) {
1741                  $this->semValue = array();
1742             },
1743             261 => function ($stackPos) {
1744                  $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)];
1745             },
1746             262 => function ($stackPos) {
1747                  $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);
1748             },
1749             263 => function ($stackPos) {
1750                  $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);
1751             },
1752             264 => function ($stackPos) {
1753                  $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);
1754             },
1755             265 => function ($stackPos) {
1756                  $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);
1757             },
1758             266 => function ($stackPos) {
1759                  $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);
1760             },
1761             267 => function ($stackPos) {
1762                  $this->semValue = array($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)]);
1763             },
1764             268 => function ($stackPos) {
1765                  $this->semValue = $this->semStack[$stackPos-(1-1)];
1766             },
1767             269 => function ($stackPos) {
1768                  $this->semValue = array(null, $this->semStack[$stackPos-(1-1)]);
1769             },
1770             270 => function ($stackPos) {
1771                  $this->semValue = null;
1772             },
1773             271 => function ($stackPos) {
1774                  $this->semValue = $this->semStack[$stackPos-(3-2)];
1775             },
1776             272 => function ($stackPos) {
1777                  $this->semValue = $this->semStack[$stackPos-(1-1)];
1778             },
1779             273 => function ($stackPos) {
1780                  $this->semValue = 0;
1781             },
1782             274 => function ($stackPos) {
1783                  $this->semValue = 0;
1784             },
1785             275 => function ($stackPos) {
1786                  $this->semValue = $this->semStack[$stackPos-(1-1)];
1787             },
1788             276 => function ($stackPos) {
1789                  $this->semValue = $this->semStack[$stackPos-(1-1)];
1790             },
1791             277 => function ($stackPos) {
1792                  $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)];
1793             },
1794             278 => function ($stackPos) {
1795                  $this->semValue = Stmt\Class_::MODIFIER_PUBLIC;
1796             },
1797             279 => function ($stackPos) {
1798                  $this->semValue = Stmt\Class_::MODIFIER_PROTECTED;
1799             },
1800             280 => function ($stackPos) {
1801                  $this->semValue = Stmt\Class_::MODIFIER_PRIVATE;
1802             },
1803             281 => function ($stackPos) {
1804                  $this->semValue = Stmt\Class_::MODIFIER_STATIC;
1805             },
1806             282 => function ($stackPos) {
1807                  $this->semValue = Stmt\Class_::MODIFIER_ABSTRACT;
1808             },
1809             283 => function ($stackPos) {
1810                  $this->semValue = Stmt\Class_::MODIFIER_FINAL;
1811             },
1812             284 => function ($stackPos) {
1813                  $this->semValue = array($this->semStack[$stackPos-(1-1)]);
1814             },
1815             285 => function ($stackPos) {
1816                  $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)];
1817             },
1818             286 => function ($stackPos) {
1819                  $this->semValue = new Node\VarLikeIdentifier(substr($this->semStack[$stackPos-(1-1)], 1), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
1820             },
1821             287 => function ($stackPos) {
1822                  $this->semValue = new Stmt\PropertyProperty($this->semStack[$stackPos-(1-1)], null, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
1823             },
1824             288 => function ($stackPos) {
1825                  $this->semValue = new Stmt\PropertyProperty($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
1826             },
1827             289 => function ($stackPos) {
1828                  $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)];
1829             },
1830             290 => function ($stackPos) {
1831                  $this->semValue = array($this->semStack[$stackPos-(1-1)]);
1832             },
1833             291 => function ($stackPos) {
1834                  $this->semValue = array();
1835             },
1836             292 => function ($stackPos) {
1837                  $this->semValue = $this->semStack[$stackPos-(1-1)];
1838             },
1839             293 => function ($stackPos) {
1840                  $this->semValue = $this->semStack[$stackPos-(1-1)];
1841             },
1842             294 => function ($stackPos) {
1843                  $this->semValue = new Expr\Assign($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
1844             },
1845             295 => function ($stackPos) {
1846                  $this->semValue = new Expr\Assign($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
1847             },
1848             296 => function ($stackPos) {
1849                  $this->semValue = new Expr\AssignRef($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
1850             },
1851             297 => function ($stackPos) {
1852                  $this->semValue = new Expr\AssignRef($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
1853             },
1854             298 => function ($stackPos) {
1855                  $this->semValue = $this->semStack[$stackPos-(1-1)];
1856             },
1857             299 => function ($stackPos) {
1858                  $this->semValue = new Expr\Clone_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
1859             },
1860             300 => function ($stackPos) {
1861                  $this->semValue = new Expr\AssignOp\Plus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
1862             },
1863             301 => function ($stackPos) {
1864                  $this->semValue = new Expr\AssignOp\Minus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
1865             },
1866             302 => function ($stackPos) {
1867                  $this->semValue = new Expr\AssignOp\Mul($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
1868             },
1869             303 => function ($stackPos) {
1870                  $this->semValue = new Expr\AssignOp\Div($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
1871             },
1872             304 => function ($stackPos) {
1873                  $this->semValue = new Expr\AssignOp\Concat($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
1874             },
1875             305 => function ($stackPos) {
1876                  $this->semValue = new Expr\AssignOp\Mod($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
1877             },
1878             306 => function ($stackPos) {
1879                  $this->semValue = new Expr\AssignOp\BitwiseAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
1880             },
1881             307 => function ($stackPos) {
1882                  $this->semValue = new Expr\AssignOp\BitwiseOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
1883             },
1884             308 => function ($stackPos) {
1885                  $this->semValue = new Expr\AssignOp\BitwiseXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
1886             },
1887             309 => function ($stackPos) {
1888                  $this->semValue = new Expr\AssignOp\ShiftLeft($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
1889             },
1890             310 => function ($stackPos) {
1891                  $this->semValue = new Expr\AssignOp\ShiftRight($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
1892             },
1893             311 => function ($stackPos) {
1894                  $this->semValue = new Expr\AssignOp\Pow($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
1895             },
1896             312 => function ($stackPos) {
1897                  $this->semValue = new Expr\PostInc($this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
1898             },
1899             313 => function ($stackPos) {
1900                  $this->semValue = new Expr\PreInc($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
1901             },
1902             314 => function ($stackPos) {
1903                  $this->semValue = new Expr\PostDec($this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
1904             },
1905             315 => function ($stackPos) {
1906                  $this->semValue = new Expr\PreDec($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
1907             },
1908             316 => function ($stackPos) {
1909                  $this->semValue = new Expr\BinaryOp\BooleanOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
1910             },
1911             317 => function ($stackPos) {
1912                  $this->semValue = new Expr\BinaryOp\BooleanAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
1913             },
1914             318 => function ($stackPos) {
1915                  $this->semValue = new Expr\BinaryOp\LogicalOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
1916             },
1917             319 => function ($stackPos) {
1918                  $this->semValue = new Expr\BinaryOp\LogicalAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
1919             },
1920             320 => function ($stackPos) {
1921                  $this->semValue = new Expr\BinaryOp\LogicalXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
1922             },
1923             321 => function ($stackPos) {
1924                  $this->semValue = new Expr\BinaryOp\BitwiseOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
1925             },
1926             322 => function ($stackPos) {
1927                  $this->semValue = new Expr\BinaryOp\BitwiseAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
1928             },
1929             323 => function ($stackPos) {
1930                  $this->semValue = new Expr\BinaryOp\BitwiseXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
1931             },
1932             324 => function ($stackPos) {
1933                  $this->semValue = new Expr\BinaryOp\Concat($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
1934             },
1935             325 => function ($stackPos) {
1936                  $this->semValue = new Expr\BinaryOp\Plus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
1937             },
1938             326 => function ($stackPos) {
1939                  $this->semValue = new Expr\BinaryOp\Minus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
1940             },
1941             327 => function ($stackPos) {
1942                  $this->semValue = new Expr\BinaryOp\Mul($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
1943             },
1944             328 => function ($stackPos) {
1945                  $this->semValue = new Expr\BinaryOp\Div($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
1946             },
1947             329 => function ($stackPos) {
1948                  $this->semValue = new Expr\BinaryOp\Mod($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
1949             },
1950             330 => function ($stackPos) {
1951                  $this->semValue = new Expr\BinaryOp\ShiftLeft($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
1952             },
1953             331 => function ($stackPos) {
1954                  $this->semValue = new Expr\BinaryOp\ShiftRight($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
1955             },
1956             332 => function ($stackPos) {
1957                  $this->semValue = new Expr\BinaryOp\Pow($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
1958             },
1959             333 => function ($stackPos) {
1960                  $this->semValue = new Expr\UnaryPlus($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
1961             },
1962             334 => function ($stackPos) {
1963                  $this->semValue = new Expr\UnaryMinus($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
1964             },
1965             335 => function ($stackPos) {
1966                  $this->semValue = new Expr\BooleanNot($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
1967             },
1968             336 => function ($stackPos) {
1969                  $this->semValue = new Expr\BitwiseNot($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
1970             },
1971             337 => function ($stackPos) {
1972                  $this->semValue = new Expr\BinaryOp\Identical($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
1973             },
1974             338 => function ($stackPos) {
1975                  $this->semValue = new Expr\BinaryOp\NotIdentical($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
1976             },
1977             339 => function ($stackPos) {
1978                  $this->semValue = new Expr\BinaryOp\Equal($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
1979             },
1980             340 => function ($stackPos) {
1981                  $this->semValue = new Expr\BinaryOp\NotEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
1982             },
1983             341 => function ($stackPos) {
1984                  $this->semValue = new Expr\BinaryOp\Spaceship($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
1985             },
1986             342 => function ($stackPos) {
1987                  $this->semValue = new Expr\BinaryOp\Smaller($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
1988             },
1989             343 => function ($stackPos) {
1990                  $this->semValue = new Expr\BinaryOp\SmallerOrEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
1991             },
1992             344 => function ($stackPos) {
1993                  $this->semValue = new Expr\BinaryOp\Greater($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
1994             },
1995             345 => function ($stackPos) {
1996                  $this->semValue = new Expr\BinaryOp\GreaterOrEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
1997             },
1998             346 => function ($stackPos) {
1999                  $this->semValue = new Expr\Instanceof_($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
2000             },
2001             347 => function ($stackPos) {
2002                  $this->semValue = $this->semStack[$stackPos-(1-1)];
2003             },
2004             348 => function ($stackPos) {
2005                  $this->semValue = $this->semStack[$stackPos-(3-2)];
2006             },
2007             349 => function ($stackPos) {
2008                  $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);
2009             },
2010             350 => function ($stackPos) {
2011                  $this->semValue = new Expr\Ternary($this->semStack[$stackPos-(4-1)], null, $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
2012             },
2013             351 => function ($stackPos) {
2014                  $this->semValue = new Expr\BinaryOp\Coalesce($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
2015             },
2016             352 => function ($stackPos) {
2017                  $this->semValue = new Expr\Isset_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
2018             },
2019             353 => function ($stackPos) {
2020                  $this->semValue = new Expr\Empty_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
2021             },
2022             354 => function ($stackPos) {
2023                  $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
2024             },
2025             355 => function ($stackPos) {
2026                  $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE_ONCE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
2027             },
2028             356 => function ($stackPos) {
2029                  $this->semValue = new Expr\Eval_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
2030             },
2031             357 => function ($stackPos) {
2032                  $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
2033             },
2034             358 => function ($stackPos) {
2035                  $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE_ONCE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
2036             },
2037             359 => function ($stackPos) {
2038                  $this->semValue = new Expr\Cast\Int_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
2039             },
2040             360 => function ($stackPos) {
2041                  $this->semValue = new Expr\Cast\Double($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
2042             },
2043             361 => function ($stackPos) {
2044                  $this->semValue = new Expr\Cast\String_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
2045             },
2046             362 => function ($stackPos) {
2047                  $this->semValue = new Expr\Cast\Array_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
2048             },
2049             363 => function ($stackPos) {
2050                  $this->semValue = new Expr\Cast\Object_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
2051             },
2052             364 => function ($stackPos) {
2053                  $this->semValue = new Expr\Cast\Bool_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
2054             },
2055             365 => function ($stackPos) {
2056                  $this->semValue = new Expr\Cast\Unset_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
2057             },
2058             366 => function ($stackPos) {
2059                  $attrs = $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes;
2060             $attrs['kind'] = strtolower($this->semStack[$stackPos-(2-1)]) === 'exit' ? Expr\Exit_::KIND_EXIT : Expr\Exit_::KIND_DIE;
2061             $this->semValue = new Expr\Exit_($this->semStack[$stackPos-(2-2)], $attrs);
2062             },
2063             367 => function ($stackPos) {
2064                  $this->semValue = new Expr\ErrorSuppress($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
2065             },
2066             368 => function ($stackPos) {
2067                  $this->semValue = $this->semStack[$stackPos-(1-1)];
2068             },
2069             369 => function ($stackPos) {
2070                  $this->semValue = $this->semStack[$stackPos-(1-1)];
2071             },
2072             370 => function ($stackPos) {
2073                  $this->semValue = $this->semStack[$stackPos-(1-1)];
2074             },
2075             371 => function ($stackPos) {
2076                  $this->semValue = new Expr\ShellExec($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
2077             },
2078             372 => function ($stackPos) {
2079                  $this->semValue = new Expr\Print_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
2080             },
2081             373 => function ($stackPos) {
2082                  $this->semValue = new Expr\Yield_(null, null, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
2083             },
2084             374 => function ($stackPos) {
2085                  $this->semValue = new Expr\YieldFrom($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
2086             },
2087             375 => function ($stackPos) {
2088                  $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);
2089             },
2090             376 => function ($stackPos) {
2091                  $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);
2092             },
2093             377 => function ($stackPos) {
2094                  $this->semValue = $this->semStack[$stackPos-(3-2)];
2095             },
2096             378 => function ($stackPos) {
2097                  $this->semValue = $this->semStack[$stackPos-(3-2)];
2098             },
2099             379 => function ($stackPos) {
2100                  $this->semValue = new Expr\Yield_($this->semStack[$stackPos-(2-2)], null, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
2101             },
2102             380 => function ($stackPos) {
2103                  $this->semValue = new Expr\Yield_($this->semStack[$stackPos-(4-4)], $this->semStack[$stackPos-(4-2)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
2104             },
2105             381 => function ($stackPos) {
2106                  $attrs = $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes; $attrs['kind'] = Expr\Array_::KIND_LONG;
2107             $this->semValue = new Expr\Array_($this->semStack[$stackPos-(4-3)], $attrs);
2108             },
2109             382 => function ($stackPos) {
2110                  $attrs = $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes; $attrs['kind'] = Expr\Array_::KIND_SHORT;
2111             $this->semValue = new Expr\Array_($this->semStack[$stackPos-(3-2)], $attrs);
2112             },
2113             383 => function ($stackPos) {
2114                  $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
2115             },
2116             384 => function ($stackPos) {
2117                  $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);
2118             $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);
2119             },
2120             385 => function ($stackPos) {
2121                  $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
2122             },
2123             386 => function ($stackPos) {
2124                  $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
2125             },
2126             387 => function ($stackPos) {
2127                  $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)]);
2128             $this->checkClass($this->semValue[0], -1);
2129             },
2130             388 => function ($stackPos) {
2131                  $this->semValue = new Expr\New_($this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
2132             },
2133             389 => function ($stackPos) {
2134                  list($class, $ctorArgs) = $this->semStack[$stackPos-(2-2)]; $this->semValue = new Expr\New_($class, $ctorArgs, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
2135             },
2136             390 => function ($stackPos) {
2137                  $this->semValue = array();
2138             },
2139             391 => function ($stackPos) {
2140                  $this->semValue = $this->semStack[$stackPos-(4-3)];
2141             },
2142             392 => function ($stackPos) {
2143                  $this->semValue = array($this->semStack[$stackPos-(1-1)]);
2144             },
2145             393 => function ($stackPos) {
2146                  $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)];
2147             },
2148             394 => function ($stackPos) {
2149                  $this->semValue = new Expr\ClosureUse($this->semStack[$stackPos-(2-2)], $this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
2150             },
2151             395 => function ($stackPos) {
2152                  $this->semValue = new Expr\FuncCall($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
2153             },
2154             396 => function ($stackPos) {
2155                  $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);
2156             },
2157             397 => function ($stackPos) {
2158                  $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);
2159             },
2160             398 => function ($stackPos) {
2161                  $this->semValue = $this->fixupPhp5StaticPropCall($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
2162             },
2163             399 => function ($stackPos) {
2164                  $this->semValue = new Expr\FuncCall($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
2165             },
2166             400 => function ($stackPos) {
2167                  $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
2168             },
2169             401 => function ($stackPos) {
2170                  $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
2171             },
2172             402 => function ($stackPos) {
2173                  $this->semValue = $this->semStack[$stackPos-(1-1)];
2174             },
2175             403 => function ($stackPos) {
2176                  $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
2177             },
2178             404 => function ($stackPos) {
2179                  $this->semValue = new Name\FullyQualified($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
2180             },
2181             405 => function ($stackPos) {
2182                  $this->semValue = new Name\Relative($this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
2183             },
2184             406 => function ($stackPos) {
2185                  $this->semValue = $this->semStack[$stackPos-(1-1)];
2186             },
2187             407 => function ($stackPos) {
2188                  $this->semValue = $this->semStack[$stackPos-(1-1)];
2189             },
2190             408 => function ($stackPos) {
2191                  $this->semValue = $this->semStack[$stackPos-(1-1)];
2192             },
2193             409 => function ($stackPos) {
2194                  $this->semValue = $this->semStack[$stackPos-(1-1)];
2195             },
2196             410 => function ($stackPos) {
2197                  $this->semValue = $this->semStack[$stackPos-(1-1)];
2198             },
2199             411 => function ($stackPos) {
2200                  $this->semValue = $this->semStack[$stackPos-(1-1)];
2201             },
2202             412 => function ($stackPos) {
2203                  $this->semValue = new Expr\PropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
2204             },
2205             413 => function ($stackPos) {
2206                  $this->semValue = new Expr\PropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
2207             },
2208             414 => function ($stackPos) {
2209                  $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
2210             },
2211             415 => function ($stackPos) {
2212                  $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
2213             },
2214             416 => function ($stackPos) {
2215                  $this->semValue = null;
2216             },
2217             417 => function ($stackPos) {
2218                  $this->semValue = null;
2219             },
2220             418 => function ($stackPos) {
2221                  $this->semValue = $this->semStack[$stackPos-(1-1)];
2222             },
2223             419 => function ($stackPos) {
2224                  $this->semValue = array();
2225             },
2226             420 => function ($stackPos) {
2227                  $this->semValue = array(new Scalar\EncapsedStringPart(Scalar\String_::parseEscapeSequences($this->semStack[$stackPos-(1-1)], '`', false), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes));
2228             },
2229             421 => function ($stackPos) {
2230                  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)];
2231             },
2232             422 => function ($stackPos) {
2233                  $this->semValue = array();
2234             },
2235             423 => function ($stackPos) {
2236                  $this->semValue = $this->semStack[$stackPos-(1-1)];
2237             },
2238             424 => function ($stackPos) {
2239                  $this->semValue = $this->parseLNumber($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes, true);
2240             },
2241             425 => function ($stackPos) {
2242                  $this->semValue = new Scalar\DNumber(Scalar\DNumber::parse($this->semStack[$stackPos-(1-1)]), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
2243             },
2244             426 => function ($stackPos) {
2245                  $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);
2246             $this->semValue = new Scalar\String_(Scalar\String_::parse($this->semStack[$stackPos-(1-1)], false), $attrs);
2247             },
2248             427 => function ($stackPos) {
2249                  $this->semValue = new Scalar\MagicConst\Line($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
2250             },
2251             428 => function ($stackPos) {
2252                  $this->semValue = new Scalar\MagicConst\File($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
2253             },
2254             429 => function ($stackPos) {
2255                  $this->semValue = new Scalar\MagicConst\Dir($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
2256             },
2257             430 => function ($stackPos) {
2258                  $this->semValue = new Scalar\MagicConst\Class_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
2259             },
2260             431 => function ($stackPos) {
2261                  $this->semValue = new Scalar\MagicConst\Trait_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
2262             },
2263             432 => function ($stackPos) {
2264                  $this->semValue = new Scalar\MagicConst\Method($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
2265             },
2266             433 => function ($stackPos) {
2267                  $this->semValue = new Scalar\MagicConst\Function_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
2268             },
2269             434 => function ($stackPos) {
2270                  $this->semValue = new Scalar\MagicConst\Namespace_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
2271             },
2272             435 => function ($stackPos) {
2273                  $attrs = $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes; $attrs['kind'] = strpos($this->semStack[$stackPos-(3-1)], "'") === false ? Scalar\String_::KIND_HEREDOC : Scalar\String_::KIND_NOWDOC; preg_match('/\A[bB]?<<<[ \t]*[\'"]?([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)[\'"]?(?:\r\n|\n|\r)\z/', $this->semStack[$stackPos-(3-1)], $matches); $attrs['docLabel'] = $matches[1];;
2274             $this->semValue = new Scalar\String_(Scalar\String_::parseDocString($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-2)], false), $attrs);
2275             },
2276             436 => function ($stackPos) {
2277                  $attrs = $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes; $attrs['kind'] = strpos($this->semStack[$stackPos-(2-1)], "'") === false ? Scalar\String_::KIND_HEREDOC : Scalar\String_::KIND_NOWDOC; preg_match('/\A[bB]?<<<[ \t]*[\'"]?([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)[\'"]?(?:\r\n|\n|\r)\z/', $this->semStack[$stackPos-(2-1)], $matches); $attrs['docLabel'] = $matches[1];;
2278             $this->semValue = new Scalar\String_('', $attrs);
2279             },
2280             437 => function ($stackPos) {
2281                  $this->semValue = $this->semStack[$stackPos-(1-1)];
2282             },
2283             438 => function ($stackPos) {
2284                  $this->semValue = new Expr\ClassConstFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
2285             },
2286             439 => function ($stackPos) {
2287                  $this->semValue = new Expr\ConstFetch($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
2288             },
2289             440 => function ($stackPos) {
2290                  $this->semValue = new Expr\Array_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
2291             },
2292             441 => function ($stackPos) {
2293                  $this->semValue = new Expr\Array_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
2294             },
2295             442 => function ($stackPos) {
2296                  $this->semValue = $this->semStack[$stackPos-(1-1)];
2297             },
2298             443 => function ($stackPos) {
2299                  $this->semValue = new Expr\BinaryOp\BooleanOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
2300             },
2301             444 => function ($stackPos) {
2302                  $this->semValue = new Expr\BinaryOp\BooleanAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
2303             },
2304             445 => function ($stackPos) {
2305                  $this->semValue = new Expr\BinaryOp\LogicalOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
2306             },
2307             446 => function ($stackPos) {
2308                  $this->semValue = new Expr\BinaryOp\LogicalAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
2309             },
2310             447 => function ($stackPos) {
2311                  $this->semValue = new Expr\BinaryOp\LogicalXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
2312             },
2313             448 => function ($stackPos) {
2314                  $this->semValue = new Expr\BinaryOp\BitwiseOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
2315             },
2316             449 => function ($stackPos) {
2317                  $this->semValue = new Expr\BinaryOp\BitwiseAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
2318             },
2319             450 => function ($stackPos) {
2320                  $this->semValue = new Expr\BinaryOp\BitwiseXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
2321             },
2322             451 => function ($stackPos) {
2323                  $this->semValue = new Expr\BinaryOp\Concat($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
2324             },
2325             452 => function ($stackPos) {
2326                  $this->semValue = new Expr\BinaryOp\Plus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
2327             },
2328             453 => function ($stackPos) {
2329                  $this->semValue = new Expr\BinaryOp\Minus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
2330             },
2331             454 => function ($stackPos) {
2332                  $this->semValue = new Expr\BinaryOp\Mul($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
2333             },
2334             455 => function ($stackPos) {
2335                  $this->semValue = new Expr\BinaryOp\Div($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
2336             },
2337             456 => function ($stackPos) {
2338                  $this->semValue = new Expr\BinaryOp\Mod($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
2339             },
2340             457 => function ($stackPos) {
2341                  $this->semValue = new Expr\BinaryOp\ShiftLeft($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
2342             },
2343             458 => function ($stackPos) {
2344                  $this->semValue = new Expr\BinaryOp\ShiftRight($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
2345             },
2346             459 => function ($stackPos) {
2347                  $this->semValue = new Expr\BinaryOp\Pow($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
2348             },
2349             460 => function ($stackPos) {
2350                  $this->semValue = new Expr\UnaryPlus($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
2351             },
2352             461 => function ($stackPos) {
2353                  $this->semValue = new Expr\UnaryMinus($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
2354             },
2355             462 => function ($stackPos) {
2356                  $this->semValue = new Expr\BooleanNot($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
2357             },
2358             463 => function ($stackPos) {
2359                  $this->semValue = new Expr\BitwiseNot($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
2360             },
2361             464 => function ($stackPos) {
2362                  $this->semValue = new Expr\BinaryOp\Identical($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
2363             },
2364             465 => function ($stackPos) {
2365                  $this->semValue = new Expr\BinaryOp\NotIdentical($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
2366             },
2367             466 => function ($stackPos) {
2368                  $this->semValue = new Expr\BinaryOp\Equal($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
2369             },
2370             467 => function ($stackPos) {
2371                  $this->semValue = new Expr\BinaryOp\NotEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
2372             },
2373             468 => function ($stackPos) {
2374                  $this->semValue = new Expr\BinaryOp\Smaller($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
2375             },
2376             469 => function ($stackPos) {
2377                  $this->semValue = new Expr\BinaryOp\SmallerOrEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
2378             },
2379             470 => function ($stackPos) {
2380                  $this->semValue = new Expr\BinaryOp\Greater($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
2381             },
2382             471 => function ($stackPos) {
2383                  $this->semValue = new Expr\BinaryOp\GreaterOrEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
2384             },
2385             472 => function ($stackPos) {
2386                  $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);
2387             },
2388             473 => function ($stackPos) {
2389                  $this->semValue = new Expr\Ternary($this->semStack[$stackPos-(4-1)], null, $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
2390             },
2391             474 => function ($stackPos) {
2392                  $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
2393             },
2394             475 => function ($stackPos) {
2395                  $this->semValue = $this->semStack[$stackPos-(3-2)];
2396             },
2397             476 => function ($stackPos) {
2398                  $this->semValue = new Expr\ConstFetch($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
2399             },
2400             477 => function ($stackPos) {
2401                  $this->semValue = new Expr\ClassConstFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
2402             },
2403             478 => function ($stackPos) {
2404                  $this->semValue = $this->semStack[$stackPos-(1-1)];
2405             },
2406             479 => function ($stackPos) {
2407                  $this->semValue = $this->semStack[$stackPos-(1-1)];
2408             },
2409             480 => function ($stackPos) {
2410                  $attrs = $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes; $attrs['kind'] = Scalar\String_::KIND_DOUBLE_QUOTED;
2411             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);
2412             },
2413             481 => function ($stackPos) {
2414                  $attrs = $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes; $attrs['kind'] = strpos($this->semStack[$stackPos-(3-1)], "'") === false ? Scalar\String_::KIND_HEREDOC : Scalar\String_::KIND_NOWDOC; preg_match('/\A[bB]?<<<[ \t]*[\'"]?([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)[\'"]?(?:\r\n|\n|\r)\z/', $this->semStack[$stackPos-(3-1)], $matches); $attrs['docLabel'] = $matches[1];;
2415             foreach ($this->semStack[$stackPos-(3-2)] as $s) { if ($s instanceof Node\Scalar\EncapsedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, null, true); } } $s->value = preg_replace('~(\r\n|\n|\r)\z~', '', $s->value); if ('' === $s->value) array_pop($this->semStack[$stackPos-(3-2)]);; $this->semValue = new Scalar\Encapsed($this->semStack[$stackPos-(3-2)], $attrs);
2416             },
2417             482 => function ($stackPos) {
2418                  $this->semValue = array();
2419             },
2420             483 => function ($stackPos) {
2421                  $this->semValue = $this->semStack[$stackPos-(2-1)];
2422             },
2423             484 => function ($stackPos) {
2424                 $this->semValue = $this->semStack[$stackPos];
2425             },
2426             485 => function ($stackPos) {
2427                 $this->semValue = $this->semStack[$stackPos];
2428             },
2429             486 => function ($stackPos) {
2430                  $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)];
2431             },
2432             487 => function ($stackPos) {
2433                  $this->semValue = array($this->semStack[$stackPos-(1-1)]);
2434             },
2435             488 => function ($stackPos) {
2436                  $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(3-3)], $this->semStack[$stackPos-(3-1)], false, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
2437             },
2438             489 => function ($stackPos) {
2439                  $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(1-1)], null, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
2440             },
2441             490 => function ($stackPos) {
2442                  $this->semValue = $this->semStack[$stackPos-(1-1)];
2443             },
2444             491 => function ($stackPos) {
2445                  $this->semValue = $this->semStack[$stackPos-(1-1)];
2446             },
2447             492 => function ($stackPos) {
2448                  $this->semValue = $this->semStack[$stackPos-(1-1)];
2449             },
2450             493 => function ($stackPos) {
2451                  $this->semValue = $this->semStack[$stackPos-(1-1)];
2452             },
2453             494 => function ($stackPos) {
2454                  $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(6-2)], $this->semStack[$stackPos-(6-5)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes);
2455             },
2456             495 => function ($stackPos) {
2457                  $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
2458             },
2459             496 => function ($stackPos) {
2460                  $this->semValue = new Expr\PropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
2461             },
2462             497 => function ($stackPos) {
2463                  $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);
2464             },
2465             498 => function ($stackPos) {
2466                  $this->semValue = new Expr\FuncCall($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
2467             },
2468             499 => function ($stackPos) {
2469                  $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
2470             },
2471             500 => function ($stackPos) {
2472                  $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
2473             },
2474             501 => function ($stackPos) {
2475                  $this->semValue = $this->semStack[$stackPos-(1-1)];
2476             },
2477             502 => function ($stackPos) {
2478                  $this->semValue = $this->semStack[$stackPos-(3-2)];
2479             },
2480             503 => function ($stackPos) {
2481                  $this->semValue = $this->semStack[$stackPos-(1-1)];
2482             },
2483             504 => function ($stackPos) {
2484                  $this->semValue = new Expr\Variable($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
2485             },
2486             505 => function ($stackPos) {
2487                  $this->semValue = $this->semStack[$stackPos-(1-1)];
2488             },
2489             506 => function ($stackPos) {
2490                  $this->semValue = $this->semStack[$stackPos-(1-1)];
2491             },
2492             507 => function ($stackPos) {
2493                  $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
2494             },
2495             508 => function ($stackPos) {
2496                  $this->semValue = $this->semStack[$stackPos-(1-1)];
2497             },
2498             509 => function ($stackPos) {
2499                  $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;
2500             },
2501             510 => function ($stackPos) {
2502                  $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
2503             },
2504             511 => function ($stackPos) {
2505                  $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$stackPos-(6-1)], $this->semStack[$stackPos-(6-5)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes);
2506             },
2507             512 => function ($stackPos) {
2508                  $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
2509             },
2510             513 => function ($stackPos) {
2511                  $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
2512             },
2513             514 => function ($stackPos) {
2514                  $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
2515             },
2516             515 => function ($stackPos) {
2517                  $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
2518             },
2519             516 => function ($stackPos) {
2520                  $this->semValue = $this->semStack[$stackPos-(1-1)];
2521             },
2522             517 => function ($stackPos) {
2523                  $this->semValue = new Expr\Variable($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
2524             },
2525             518 => function ($stackPos) {
2526                  $this->semValue = null;
2527             },
2528             519 => function ($stackPos) {
2529                  $this->semValue = $this->semStack[$stackPos-(1-1)];
2530             },
2531             520 => function ($stackPos) {
2532                  $this->semValue = $this->semStack[$stackPos-(1-1)];
2533             },
2534             521 => function ($stackPos) {
2535                  $this->semValue = $this->semStack[$stackPos-(3-2)];
2536             },
2537             522 => function ($stackPos) {
2538                  $this->semValue = $this->semStack[$stackPos-(1-1)];
2539             },
2540             523 => function ($stackPos) {
2541                  $this->semValue = new Expr\Error($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); $this->errorState = 2;
2542             },
2543             524 => function ($stackPos) {
2544                  $this->semValue = new Expr\List_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
2545             },
2546             525 => function ($stackPos) {
2547                  $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)];
2548             },
2549             526 => function ($stackPos) {
2550                  $this->semValue = array($this->semStack[$stackPos-(1-1)]);
2551             },
2552             527 => function ($stackPos) {
2553                  $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(1-1)], null, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
2554             },
2555             528 => function ($stackPos) {
2556                  $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(1-1)], null, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
2557             },
2558             529 => function ($stackPos) {
2559                  $this->semValue = null;
2560             },
2561             530 => function ($stackPos) {
2562                  $this->semValue = array();
2563             },
2564             531 => function ($stackPos) {
2565                  $this->semValue = $this->semStack[$stackPos-(2-1)];
2566             },
2567             532 => function ($stackPos) {
2568                  $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)];
2569             },
2570             533 => function ($stackPos) {
2571                  $this->semValue = array($this->semStack[$stackPos-(1-1)]);
2572             },
2573             534 => function ($stackPos) {
2574                  $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(3-3)], $this->semStack[$stackPos-(3-1)], false, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
2575             },
2576             535 => function ($stackPos) {
2577                  $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(1-1)], null, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
2578             },
2579             536 => function ($stackPos) {
2580                  $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(4-4)], $this->semStack[$stackPos-(4-1)], true, $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
2581             },
2582             537 => function ($stackPos) {
2583                  $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(2-2)], null, true, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes);
2584             },
2585             538 => function ($stackPos) {
2586                  $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)];
2587             },
2588             539 => function ($stackPos) {
2589                  $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)];
2590             },
2591             540 => function ($stackPos) {
2592                  $this->semValue = array($this->semStack[$stackPos-(1-1)]);
2593             },
2594             541 => function ($stackPos) {
2595                  $this->semValue = array($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)]);
2596             },
2597             542 => function ($stackPos) {
2598                  $this->semValue = new Scalar\EncapsedStringPart($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
2599             },
2600             543 => function ($stackPos) {
2601                  $this->semValue = new Expr\Variable($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
2602             },
2603             544 => function ($stackPos) {
2604                  $this->semValue = $this->semStack[$stackPos-(1-1)];
2605             },
2606             545 => function ($stackPos) {
2607                  $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes);
2608             },
2609             546 => function ($stackPos) {
2610                  $this->semValue = new Expr\PropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
2611             },
2612             547 => function ($stackPos) {
2613                  $this->semValue = new Expr\Variable($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
2614             },
2615             548 => function ($stackPos) {
2616                  $this->semValue = new Expr\Variable($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes);
2617             },
2618             549 => function ($stackPos) {
2619                  $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(6-2)], $this->semStack[$stackPos-(6-4)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes);
2620             },
2621             550 => function ($stackPos) {
2622                  $this->semValue = $this->semStack[$stackPos-(3-2)];
2623             },
2624             551 => function ($stackPos) {
2625                  $this->semValue = new Scalar\String_($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
2626             },
2627             552 => function ($stackPos) {
2628                  $this->semValue = $this->parseNumString($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes);
2629             },
2630             553 => function ($stackPos) {
2631                  $this->semValue = $this->semStack[$stackPos-(1-1)];
2632             },
2633         ];
2634     }
2635 }