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