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