Subversion-Projekte lars-tiefland.laravel_shop

Revision

Zur aktuellen Revision | Details | Letzte Änderung | Log anzeigen | RSS feed

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