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