Security update for Core, with self-updated composer
[yaffs-website] / vendor / nikic / php-parser / lib / PhpParser / Parser / Php7.php
1 <?php
2
3 namespace PhpParser\Parser;
4
5 use PhpParser\Error;
6 use PhpParser\Node;
7 use PhpParser\Node\Expr;
8 use PhpParser\Node\Name;
9 use PhpParser\Node\Scalar;
10 use PhpParser\Node\Stmt;
11
12 /* This is an automatically GENERATED file, which should not be manually edited.
13  * Instead edit one of the following:
14  *  * the grammar files grammar/php5.y or grammar/php7.y
15  *  * the skeleton file grammar/parser.template
16  *  * the preprocessing script grammar/rebuildParsers.php
17  */
18 class Php7 extends \PhpParser\ParserAbstract
19 {
20     protected $tokenToSymbolMapSize = 392;
21     protected $actionTableSize = 915;
22     protected $gotoTableSize = 429;
23
24     protected $invalidSymbol = 157;
25     protected $errorSymbol = 1;
26     protected $defaultAction = -32766;
27     protected $unexpectedTokenRule = 32767;
28
29     protected $YY2TBLSTATE  = 330;
30     protected $YYNLSTATES   = 578;
31
32     protected $symbolToName = array(
33         "EOF",
34         "error",
35         "T_INCLUDE",
36         "T_INCLUDE_ONCE",
37         "T_EVAL",
38         "T_REQUIRE",
39         "T_REQUIRE_ONCE",
40         "','",
41         "T_LOGICAL_OR",
42         "T_LOGICAL_XOR",
43         "T_LOGICAL_AND",
44         "T_PRINT",
45         "T_YIELD",
46         "T_DOUBLE_ARROW",
47         "T_YIELD_FROM",
48         "'='",
49         "T_PLUS_EQUAL",
50         "T_MINUS_EQUAL",
51         "T_MUL_EQUAL",
52         "T_DIV_EQUAL",
53         "T_CONCAT_EQUAL",
54         "T_MOD_EQUAL",
55         "T_AND_EQUAL",
56         "T_OR_EQUAL",
57         "T_XOR_EQUAL",
58         "T_SL_EQUAL",
59         "T_SR_EQUAL",
60         "T_POW_EQUAL",
61         "'?'",
62         "':'",
63         "T_COALESCE",
64         "T_BOOLEAN_OR",
65         "T_BOOLEAN_AND",
66         "'|'",
67         "'^'",
68         "'&'",
69         "T_IS_EQUAL",
70         "T_IS_NOT_EQUAL",
71         "T_IS_IDENTICAL",
72         "T_IS_NOT_IDENTICAL",
73         "T_SPACESHIP",
74         "'<'",
75         "T_IS_SMALLER_OR_EQUAL",
76         "'>'",
77         "T_IS_GREATER_OR_EQUAL",
78         "T_SL",
79         "T_SR",
80         "'+'",
81         "'-'",
82         "'.'",
83         "'*'",
84         "'/'",
85         "'%'",
86         "'!'",
87         "T_INSTANCEOF",
88         "'~'",
89         "T_INC",
90         "T_DEC",
91         "T_INT_CAST",
92         "T_DOUBLE_CAST",
93         "T_STRING_CAST",
94         "T_ARRAY_CAST",
95         "T_OBJECT_CAST",
96         "T_BOOL_CAST",
97         "T_UNSET_CAST",
98         "'@'",
99         "T_POW",
100         "'['",
101         "T_NEW",
102         "T_CLONE",
103         "T_EXIT",
104         "T_IF",
105         "T_ELSEIF",
106         "T_ELSE",
107         "T_ENDIF",
108         "T_LNUMBER",
109         "T_DNUMBER",
110         "T_STRING",
111         "T_STRING_VARNAME",
112         "T_VARIABLE",
113         "T_NUM_STRING",
114         "T_INLINE_HTML",
115         "T_ENCAPSED_AND_WHITESPACE",
116         "T_CONSTANT_ENCAPSED_STRING",
117         "T_ECHO",
118         "T_DO",
119         "T_WHILE",
120         "T_ENDWHILE",
121         "T_FOR",
122         "T_ENDFOR",
123         "T_FOREACH",
124         "T_ENDFOREACH",
125         "T_DECLARE",
126         "T_ENDDECLARE",
127         "T_AS",
128         "T_SWITCH",
129         "T_ENDSWITCH",
130         "T_CASE",
131         "T_DEFAULT",
132         "T_BREAK",
133         "T_CONTINUE",
134         "T_GOTO",
135         "T_FUNCTION",
136         "T_CONST",
137         "T_RETURN",
138         "T_TRY",
139         "T_CATCH",
140         "T_FINALLY",
141         "T_THROW",
142         "T_USE",
143         "T_INSTEADOF",
144         "T_GLOBAL",
145         "T_STATIC",
146         "T_ABSTRACT",
147         "T_FINAL",
148         "T_PRIVATE",
149         "T_PROTECTED",
150         "T_PUBLIC",
151         "T_VAR",
152         "T_UNSET",
153         "T_ISSET",
154         "T_EMPTY",
155         "T_HALT_COMPILER",
156         "T_CLASS",
157         "T_TRAIT",
158         "T_INTERFACE",
159         "T_EXTENDS",
160         "T_IMPLEMENTS",
161         "T_OBJECT_OPERATOR",
162         "T_LIST",
163         "T_ARRAY",
164         "T_CALLABLE",
165         "T_CLASS_C",
166         "T_TRAIT_C",
167         "T_METHOD_C",
168         "T_FUNC_C",
169         "T_LINE",
170         "T_FILE",
171         "T_START_HEREDOC",
172         "T_END_HEREDOC",
173         "T_DOLLAR_OPEN_CURLY_BRACES",
174         "T_CURLY_OPEN",
175         "T_PAAMAYIM_NEKUDOTAYIM",
176         "T_NAMESPACE",
177         "T_NS_C",
178         "T_DIR",
179         "T_NS_SEPARATOR",
180         "T_ELLIPSIS",
181         "';'",
182         "'{'",
183         "'}'",
184         "'('",
185         "')'",
186         "'`'",
187         "']'",
188         "'\"'",
189         "'$'"
190     );
191
192     protected $tokenToSymbol = array(
193             0,  157,  157,  157,  157,  157,  157,  157,  157,  157,
194           157,  157,  157,  157,  157,  157,  157,  157,  157,  157,
195           157,  157,  157,  157,  157,  157,  157,  157,  157,  157,
196           157,  157,  157,   53,  155,  157,  156,   52,   35,  157,
197           151,  152,   50,   47,    7,   48,   49,   51,  157,  157,
198           157,  157,  157,  157,  157,  157,  157,  157,   29,  148,
199            41,   15,   43,   28,   65,  157,  157,  157,  157,  157,
200           157,  157,  157,  157,  157,  157,  157,  157,  157,  157,
201           157,  157,  157,  157,  157,  157,  157,  157,  157,  157,
202           157,   67,  157,  154,   34,  157,  153,  157,  157,  157,
203           157,  157,  157,  157,  157,  157,  157,  157,  157,  157,
204           157,  157,  157,  157,  157,  157,  157,  157,  157,  157,
205           157,  157,  157,  149,   33,  150,   55,  157,  157,  157,
206           157,  157,  157,  157,  157,  157,  157,  157,  157,  157,
207           157,  157,  157,  157,  157,  157,  157,  157,  157,  157,
208           157,  157,  157,  157,  157,  157,  157,  157,  157,  157,
209           157,  157,  157,  157,  157,  157,  157,  157,  157,  157,
210           157,  157,  157,  157,  157,  157,  157,  157,  157,  157,
211           157,  157,  157,  157,  157,  157,  157,  157,  157,  157,
212           157,  157,  157,  157,  157,  157,  157,  157,  157,  157,
213           157,  157,  157,  157,  157,  157,  157,  157,  157,  157,
214           157,  157,  157,  157,  157,  157,  157,  157,  157,  157,
215           157,  157,  157,  157,  157,  157,  157,  157,  157,  157,
216           157,  157,  157,  157,  157,  157,  157,  157,  157,  157,
217           157,  157,  157,  157,  157,  157,  157,  157,  157,  157,
218           157,  157,  157,  157,  157,  157,    1,    2,    3,    4,
219             5,    6,    8,    9,   10,   11,   12,   13,   14,   16,
220            17,   18,   19,   20,   21,   22,   23,   24,   25,   26,
221            27,   30,   31,   32,   36,   37,   38,   39,   40,   42,
222            44,   45,   46,   54,   56,   57,   58,   59,   60,   61,
223            62,   63,   64,   66,   68,   69,   70,   71,   72,   73,
224            74,   75,   76,   77,   78,   79,   80,   81,  157,  157,
225            82,   83,   84,   85,   86,   87,   88,   89,   90,   91,
226            92,   93,   94,   95,   96,   97,   98,   99,  100,  101,
227           102,  103,  104,  105,  106,  107,  108,  109,  110,  111,
228           112,  113,  114,  115,  116,  117,  118,  119,  120,  121,
229           122,  123,  124,  125,  126,  127,  128,  129,  130,  131,
230           132,  133,  134,  135,  136,  137,  157,  157,  157,  157,
231           157,  157,  138,  139,  140,  141,  142,  143,  144,  145,
232           146,  147
233     );
234
235     protected $action = array(
236           583,  584,  585,  586,  587, 1037,  588,  589,  590,  626,
237           627,  479,   29,  101,  102,  103,  104,  105,  106,  107,
238           108,  109,  110,  111,  112,-32766,-32766,-32766,   97,   98,
239            99,    0,  241,  387, -282,-32766,-32766,-32766,-32766, -487,
240          1081,  544, 1084, 1082,  100,-32766,  664,-32766,-32766,-32766,
241         -32766,-32766,  591,  901,  903,-32766,   30,-32766,-32766,-32766,
242         -32766,-32766,-32766, 1034,-32766,  295,  592,  593,  594,  595,
243           596,  597,  598,-32766,  274,  658,  869,  870,  871,  868,
244           867,  866,  599,  600,  601,  602,  603,  604,  605,  606,
245           607,  608,  609,  629,  630,  631,  632,  633,  621,  622,
246           623,  624,  625,  610,  611,  612,  613,  614,  615,  616,
247           652,  653,  654,  655,  656,  657,  617,  618,  619,  620,
248           650,  641,  639,  640,  636,  637, -251,  628,  634,  635,
249           642,  643,  645,  644,  646,  647,   74,   75,   76,  556,
250           266,  638,  649,  648,  739,   44,   45,  392,   46,   47,
251           375,  680,  681,   73,   48,   49,   28,   50,   77,   78,
252            79,   80,   81,   82,   83,   84,   85,   86,   87,   88,
253            89,   90,   91,   92,   93,   94,   95,   96,   97,   98,
254            99,  218,  241,  996, -487, -443, -487,-32766,-32766,-32766,
255            51,   52,  116,  663,  100,  339,   53,  242,   54,  221,
256           222,   55,   56,   57,   58,   59,   60,   61,   62, -173,
257            24,  234,   63,  347,  393,-32766,-32766,-32766, 1001, 1002,
258           394,  228, 1034,  217,  729,-32766, 1000,   34,   19,  395,
259          1051,  396,  127,  397,  118,  398, -442,   24,  399,  984,
260            43,  267,   36,   37,  400,  351, -443,   38,  401, 1034,
261           248,   64,  289, 1000,  288,  290,  248,-32766,  741,  226,
262          -443, 1034,  404,  405,  406,  442,  291, -443,  371, -446,
263           376, -251,  409,  410,   26, 1006, 1007, 1008, 1009, 1003,
264          1004,  245,  977,-32766,-32766,-32766,  419, 1010, 1005,  349,
265          -488,  226,  549,  278,   65,-32766,  257, -442,  262,  266,
266           410,  660,  467,-32766, 1073,-32766, 1048, 1072,-32766,-32766,
267         -32766, -442,-32766,-32766,-32766, 1078,-32766, 1034, -442,-32766,
268          -445,   67, 1014,-32766,-32766,-32766,  266,-32766,-32766,-32766,
269          -479,  123,-32766,  660, -172,-32766,  418,-32766,  266,  531,
270         -32766,-32766,-32766,-32766,-32766,-32766,-32766,  223,-32766,  560,
271           977,-32766,  818,  819, -173,-32766,-32766,-32766,  818,  819,
272         -32766,-32766, -227,  561,-32766,   27,  224,-32766,  418,-32766,
273         -32766,  122, -441,-32766, -232,-32766,  824,   40,  124,  227,
274           -88,  791,  265,-32766,  984, 1052,-32766,-32766,-32766,  660,
275            94,   95,   96,-32766,  266,  364,-32766,-32766,-32766,   42,
276         -32766,  553,-32766,  122,-32766,-32766,-32766,-32766,-32766,-32766,
277         -32766,-32766,-32766,-32766,-32766,-32766,-32766,-32766,  363,  532,
278         -32766,  660,  554,-32766,  418,-32766, -477,    9,-32766,-32766,
279         -32766,-32766,-32766, -441,-32766, -488,-32766, -488,  249,-32766,
280           248,  660,  121,-32766,-32766,-32766,-32766, -441,-32766,-32766,
281           359,  555,-32766,  551, -441,-32766,  418,  517,  518,  115,
282           250,-32766, 1034,-32766,-32767,-32767,-32767,-32767,   92,   93,
283            94,   95,   96,   23,  308, -479,  504,   20,  344, -172,
284           225,  117,  741,  126,-32766,  533, -441,  564,  349,-32766,
285           660,  133,  847,-32766,-32766,  977,  120,-32766,-32766,-32766,
286           792,-32766,  119,-32766,  114,-32766,  345,  419,-32766,  113,
287           349,  130,-32766,-32766,-32766,  132,-32766,-32766,-32766,  738,
288           741,-32766,  660,  241,-32766,  418,-32766,  244,-32766,-32766,
289         -32766,-32766,-32766,-32766,  128,-32766,  753,-32766,  527,  266,
290         -32766,  741,  818,  819,-32766,-32766,-32766, -441,  100,-32766,
291         -32766,  129,  313,-32766,  680,  681,-32766,  418,   41,-32766,
292           660, -441,-32766,  453,-32766,  660,  321,-32766, -441,-32766,
293           777, -477,-32766,-32766,-32766, 1083,-32766,  261,-32766,  441,
294         -32766,  385,    8,-32766,  437,   24,  360,-32766,-32766,-32766,
295           497,  498,-32766,-32766,-32766,  501,-32766, 1034,-32766,-32766,
296           418, 1000,  818,  819,  660,  846,  575,-32766,-32766,  358,
297            -4,-32766,-32766,-32766,  301,-32766, 1076,-32766,  661,-32766,
298           455,  696,-32766,  858,  565,  513,-32766,-32766,-32766,  440,
299           977,-32766,-32766,  973,  446,-32766,  505,-32766,-32766,  418,
300          -133, -133, -133,-32766,-32766,-32766,-32766,  409,  410,  451,
301           542,  528,  509,  521,  510, -133,   12, -133,  -80, -133,
302           216, -133,  495,-32766,  458,-32766,-32766,-32766,-32766,   67,
303           348,  356,  259,  258,  266, 1016,-32766,-32766,-32766,-32766,
304           260,  402,  403,  869,  870,  871,  868,  867,  866,  861,
305           715,  760,  407,  408,  977,  761,  762,-32766,   11,-32766,
306         -32766,-32766,-32766,-32766,-32766,-32767,-32767,-32767,-32767,-32767,
307           264,  229,  348,  337, 1013,  852,  741,   17, -133,  256,
308          -212, -212, -212,  402,  403, -400,  348,    5,  307,  775,
309           758,   21,  672,  760,  407,  408,  329,  402,  403, -211,
310          -211, -211,  448,   24,  326,  348,  715,  760,  407,  408,
311           341,  340,  318,  276,  325, 1034,  402,  403,  741, 1000,
312            -4,-32766,-32766,-32766,  359,  715,  760,  407,  408,  755,
313           552,   33,  741,  573, -212,  574,  720,  842,  794,  778,
314            32,-32766,  851,-32766,-32766,  854,  853,  850,  977,  773,
315           785,  741,  718, -211,  786,  843,  741,  252,  334,  550,
316           557,  558,  559,  562,  272,  409,  410,  273,  571,  570,
317           568,  566,  563,  335,    0,  757,  965,  783,  859,    0,
318           746,  964,  963,  756,  748,  683,    0,   67, 1079,  682,
319           685,  784,  266,  567,  716, 1080,  675,  674,  684,  759,
320          1049, 1046, 1041, 1077, 1035, 1028,    0, -444, -467, -446,
321          -445,   22,   25,   31,   35,   39,   66,  338,  336,  275,
322           240,  239,  238,  237,  220,  219,  134,  131,  125,   72,
323            71,   70,   69,   68, -469,    0,  310,  475,  941,  491,
324           541,  944,   13,  969,  825,  998,  940,  988, -230,  -88,
325           538,  390,  383,  380,  377,  311,   18,   16,   15,   14,
326          -227, -228,    0,  957, -412,    0,  503,    0, 1040, 1075,
327          1026, 1027,  997,    0, 1015
328     );
329
330     protected $actionCheck = array(
331             2,    3,    4,    5,    6,    1,    8,    9,   10,   11,
332            12,   48,   15,   16,   17,   18,   19,   20,   21,   22,
333            23,   24,   25,   26,   27,    8,    9,   10,   50,   51,
334            52,    0,   54,    7,   79,    8,    9,   10,    8,    7,
335            77,   77,   79,   80,   66,   28,    1,   30,   31,   32,
336            33,   34,   54,   56,   57,   28,   13,   30,   31,   32,
337            33,   34,   35,   79,  109,    7,   68,   69,   70,   71,
338            72,   73,   74,  118,    7,   77,  112,  113,  114,  115,
339           116,  117,   84,   85,   86,   87,   88,   89,   90,   91,
340            92,   93,   94,   95,   96,   97,   98,   99,  100,  101,
341           102,  103,  104,  105,  106,  107,  108,  109,  110,  111,
342           112,  113,  114,  115,  116,  117,  118,  119,  120,  121,
343           122,  123,  124,  125,  126,  127,    7,  129,  130,  131,
344           132,  133,  134,  135,  136,  137,    8,    9,   10,   29,
345           156,  143,  144,  145,    1,    2,    3,    4,    5,    6,
346            29,  102,  103,  149,   11,   12,   28,   14,   30,   31,
347            32,   33,   34,   35,   36,   37,   38,   39,   40,   41,
348            42,   43,   44,   45,   46,   47,   48,   49,   50,   51,
349            52,   13,   54,    1,  152,   67,  154,    8,    9,   10,
350            47,   48,   13,  148,   66,  146,   53,    7,   55,   56,
351            57,   58,   59,   60,   61,   62,   63,   64,   65,    7,
352            67,   68,   69,   70,   71,    8,    9,   10,   75,   76,
353            77,    7,   79,   13,   81,    1,   83,   84,   85,   86,
354             1,   88,   67,   90,    7,   92,   67,   67,   95,    1,
355             7,   67,   99,  100,  101,  102,  128,  104,  105,   79,
356            28,  108,    7,   83,  111,  112,   28,    1,  148,   35,
357           142,   79,  119,  120,  121,   82,    7,  149,    7,  151,
358           149,  152,  129,  130,    7,  132,  133,  134,  135,  136,
359           137,  138,  112,    8,    9,   10,  143,  144,  145,  146,
360             7,   35,  149,   33,  151,   71,  153,  128,  155,  156,
361           130,   77,  128,   28,   79,   81,   77,   82,   84,   85,
362            86,  142,   88,    1,   90,  150,   92,   79,  149,   95,
363           151,  151,  139,   99,  100,  101,  156,   71,  104,  105,
364             7,  149,  108,   77,    7,  111,  112,   81,  156,   79,
365            84,   85,   86,  119,   88,    1,   90,   35,   92,   29,
366           112,   95,  130,  131,  152,   99,  100,  101,  130,  131,
367           104,  105,  152,   29,  108,  140,  141,  111,  112,    8,
368             9,  147,   67,  149,  152,  119,  152,   67,  149,   35,
369           152,   29,    7,   71,    1,  152,    8,    9,   10,   77,
370            47,   48,   49,   81,  156,    7,   84,   85,   86,   67,
371            88,   29,   90,  147,   92,  149,   28,   95,   30,   31,
372            32,   99,  100,  101,    1,   71,  104,  105,    7,   77,
373           108,   77,   29,  111,  112,   81,    7,    7,   84,   85,
374            86,  119,   88,  128,   90,  152,   92,  154,  128,   95,
375            28,   77,   29,   99,  100,  101,    1,  142,  104,  105,
376           146,   29,  108,  149,  149,  111,  112,   72,   73,  149,
377           128,  149,   79,  119,   41,   42,   43,   44,   45,   46,
378            47,   48,   49,    7,  142,  152,   72,   73,    7,  152,
379            35,  149,  148,   15,   71,  143,   67,   29,  146,    1,
380            77,   15,  150,  149,   81,  112,   15,   84,   85,   86,
381           148,   88,   15,   90,   15,   92,  123,  143,   95,   15,
382           146,   15,   99,  100,  101,   15,   71,  104,  105,   29,
383           148,  108,   77,   54,  111,  112,   81,   29,    1,   84,
384            85,   86,  119,   88,   29,   90,   35,   92,   74,  156,
385            95,  148,  130,  131,   99,  100,  101,  128,   66,  104,
386           105,   97,   98,  108,  102,  103,  111,  112,   67,   71,
387            77,  142,  149,   77,  119,   77,   78,   82,  149,   81,
388           148,  152,   84,   85,   86,   80,   88,  110,   90,   77,
389            92,  102,  103,   95,   77,   67,   77,   99,  100,  101,
390           106,  107,  104,  105,  149,   79,  108,   79,   71,  111,
391           112,   83,  130,  131,   77,  148,  149,  119,   81,   77,
392             0,   84,   85,   86,   77,   88,   77,   90,   77,   92,
393            77,   77,   95,  148,  149,   79,   99,  100,  101,   79,
394           112,  104,  105,   79,   82,  108,   87,  149,  111,  112,
395            72,   73,   74,    8,    9,   10,  119,  129,  130,   86,
396            89,   91,   93,   96,   96,   87,   94,   89,   94,   91,
397            94,   93,  109,   28,   94,   30,   31,   32,   33,  151,
398           102,  102,  127,  126,  156,  139,  149,    8,    9,   10,
399           109,  113,  114,  112,  113,  114,  115,  116,  117,  118,
400           122,  123,  124,  125,  112,  123,  123,   28,  142,   30,
401            31,   32,   33,   34,   35,   36,   37,   38,   39,   40,
402           126,   35,  102,  103,  139,  148,  148,  152,  150,  109,
403            96,   97,   98,  113,  114,  142,  102,  142,  142,  148,
404           150,  152,  122,  123,  124,  125,  146,  113,  114,   96,
405            97,   98,  146,   67,  146,  102,  122,  123,  124,  125,
406           146,  146,  146,  143,  146,   79,  113,  114,  148,   83,
407           150,    8,    9,   10,  146,  122,  123,  124,  125,  147,
408           149,  148,  148,  148,  150,  148,  148,  148,  148,  148,
409           148,   28,  148,   30,   31,  148,  148,  148,  112,  148,
410           148,  148,  148,  150,  148,  148,  148,  152,  149,  149,
411           149,  149,  149,  149,  149,  129,  130,  149,  149,  149,
412           149,  149,  149,  149,   -1,  150,  150,  150,  150,   -1,
413           150,  150,  150,  150,  150,  150,   -1,  151,  150,  150,
414           150,  150,  156,  150,  150,  150,  150,  150,  150,  150,
415           150,  150,  150,  150,  150,  150,   -1,  151,  151,  151,
416           151,  151,  151,  151,  151,  151,  151,  151,  151,  151,
417           151,  151,  151,  151,  151,  151,  151,  151,  151,  151,
418           151,  151,  151,  151,  151,   -1,  152,  152,  152,  152,
419           152,  152,  152,  152,  152,  152,  152,  152,  152,  152,
420           152,  152,  152,  152,  152,  152,  152,  152,  152,  152,
421           152,  152,   -1,  153,  153,   -1,  154,   -1,  154,  154,
422           154,  154,  154,   -1,  155
423     );
424
425     protected $actionBase = array(
426             0,  568,  610,  624,  643,  182,  342,  567,   -2,   -2,
427            -2,   -2,  -36,  393,  110,  334,  110,  372,  422,  648,
428           648,  648,  224,  256,  312,  312,  312,  488,  413,  445,
429           344,  527,  527,  527,  527,  527,  527,  527,  527,  527,
430           527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
431           527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
432           527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
433           527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
434           527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
435           527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
436           527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
437           527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
438           527,  527,  527,  527,  527,  527,  527,  527,  527,  527,
439           527,  527,  527,  527,  527,   45,   45,  352,   43,  645,
440           729,  725,  565,  730,  566,  724,  726,  168,  693,  694,
441           505,  695,  692,  691,  690,  727,  752,  579,  728,  128,
442           128,  128,  128,  128,  128,  128,  128,  128,  128,  128,
443           128,  128,  128,  128,  128,   30,  179,  361,  207,  207,
444           207,  207,  207,  207,  207,  207,  207,  207,  207,  207,
445           207,  207,  207,  207,  207,  207,  207,  275,  275,  275,
446           753,  378,  419,  635,   17,  305,   27,  669,  669,  669,
447           669,  669,  423,  423,  423,  423,  676,  676,  518,  170,
448           170,  170,  170,  170,  170,  170,  170,  170,  170,  170,
449           689,  580,  665,  666,  383,  343,  343,  222,  222,  222,
450           222,  238,  228,  -45,  412,  183,  536,  759,  472,  229,
451           229,  118,  169,  -22,  -22,  -22,   49,  552,  582,  582,
452           582,  582,  225,  225,  582,  582,    4,  -37,  305,  305,
453           332,  305,  452,  452,  452,  364,  304,  485,  364,  621,
454           558,  667,  557,  681,  310,  283,   32,  605,  -16,  604,
455           569,  -16,  484,  404,  385,  737,   45,  583,   45,   45,
456            45,   45,   45,   45,   45,   45,   45,  -16,  -16,   45,
457           121,   45,  457,  352,  475,  469,  543,  174,  655,  327,
458           233,  165,  469,  469,  469,  658,  649,  119,  210,  664,
459           202,  479,  323,  260,  483,  483,  501,  507,  486,  483,
460           483,  483,  483,  516,  483,  700,  700,  704,  501,  483,
461           700,  501,  227,  411,  245,  259,  501,  388,  547,  483,
462           584,  584,  261,  507,  550,  214,  466,  545,  700,  700,
463           545,  486,  190,  501,  375,  625,  627,  553,  622,   67,
464           498,  498,  471,  553,   26,  501,  498,  516,  420,   58,
465           498,   31,  705,  722,  490,  721,  702,  720,  706,  719,
466           537,  650,  572,  573,  714,  713,  718,  502,  532,  703,
467           701,  596,  509,  494,  489,  585,  491,  696,  569,  618,
468           482,  482,  482,  491,  698,  482,  482,  482,  482,  482,
469           482,  482,  482,  758,  267,  586,  563,  487,  606,  570,
470           481,  662,  575,  596,  596,  684,  751,  750,  541,  712,
471           735,  717,  632,  468,  744,  711,  683,  608,  544,  598,
472           710,  743,  734,  661,  494,  733,  685,  539,  596,  686,
473           482,  697,  723,  756,  757,  699,  754,  742,  590,  495,
474           755,  687,  732,  660,  659,  623,  747,  736,  741,  688,
475           740,  628,  549,  749,  559,  707,  546,  708,  651,  680,
476           679,  496,  629,  678,  716,  630,  746,  745,  748,  631,
477           642,  652,  653,  500,  675,  476,  647,  715,  320,  464,
478           560,  646,  554,  731,  674,  654,  709,  644,  581,  673,
479           672,  738,  564,  618,  556,  467,  562,  561,  663,  671,
480           739,  458,  641,  639,  638,  637,  670,  634,  668,    0,
481             0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
482             0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
483             0,    0,    0,    0,    0,    0,    0,    0,    0,  143,
484           143,  143,  143,   -2,   -2,   -2,    0,    0,    0,    0,
485            -2,  143,  143,  143,  143,  143,  143,  143,  143,  143,
486           143,  143,  143,  143,  143,  143,  143,  143,  143,  143,
487           143,  143,  143,  143,  143,  143,  143,  143,  143,  143,
488           143,  143,  143,  143,  143,  143,  143,  143,  143,  143,
489           143,  143,  143,  143,  143,  143,  143,  143,  143,  143,
490           143,  143,  143,  143,  143,  143,  143,  143,  143,  143,
491           143,  143,  143,  143,  143,  143,  143,  143,  143,  143,
492           143,  143,  143,  143,  143,  143,  143,  143,  143,  143,
493           143,  143,  143,  143,  143,  143,  143,  143,  143,  143,
494           143,  143,  143,  143,  143,  143,  143,  143,  143,  143,
495           143,  143,  143,  143,  143,  143,  143,  143,  143,  143,
496           143,  143,  143,  143,  143,  143,  143,  143,  143,  143,
497           143,  143,  143,  128,  128,  128,  128,  128,  128,  128,
498           128,  128,  128,  128,  128,  128,  128,  128,  128,  128,
499           128,  128,  128,  128,  128,  128,  128,    0,    0,    0,
500             0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
501             0,    0,    0,  128,  128,  128,  128,  128,  128,  128,
502           128,  128,  128,  128,  128,  128,  128,  128,  128,  128,
503           128,  128,  128,  128,  128,  128,  128,  128,  128,  128,
504            -3,  128,  128,   -3,  128,  128,  128,  128,  128,  128,
505           -22,  -22,  -22,  -22,  364,  364,  364,  364,  364,  364,
506           364,  364,  364,  364,  364,  364,  364,  364,  571,  571,
507           571,  571,  364,  -22,  -22,  364,  364,  364,  364,  364,
508           364,  571,  364,  225,  225,  225,  364,  -16,  -16,    0,
509             0,    0,    0,    0,  483,  225,  364,  364,  364,  364,
510             0,    0,  364,  364,  -16,    0,    0,    0,    0,    0,
511           483,  483,  483,    0,  483,  225,    0,   45,  454,  454,
512           454,  454,    0,    0,    0,  483,    0,  483,  550,    0,
513             0,    0,    0,  501,    0,  700,    0,    0,    0,    0,
514             0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
515             0,    0,    0,  482,  712,    0,  541,    0,    0,    0,
516           482,  482,  482,  541,  541,    0,    0,  541
517     );
518
519     protected $actionDefault = array(
520             3,32767,32767,32767,32767,32767,32767,32767,32767,   88,
521         32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
522         32767,32767,32767,   88,  489,  489,  489,32767,32767,32767,
523         32767,  302,  302,  302,32767,  481,  439,  439,  439,  439,
524           439,  439,  439,  481,32767,32767,32767,32767,32767,  381,
525         32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
526         32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
527         32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
528         32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
529         32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
530         32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
531         32767,32767,32767,32767,32767,32767,32767,32767,   88,32767,
532         32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
533         32767,32767,32767,32767,32767,32767,32767,32767,  486,32767,
534         32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
535         32767,32767,32767,32767,32767,32767,32767,32767,32767,  364,
536           365,  367,  368,  301,  440,  250,  485,  300,  126,  261,
537           252,  204,  298,  236,  130,  329,  382,  331,  380,  384,
538           330,  307,  311,  312,  313,  314,  315,  316,  317,  318,
539           319,  320,  321,  322,  305,  306,  383,  361,  360,  359,
540           327,  328,  304,  332,  334,  304,  333,  350,  351,  348,
541           349,  352,  353,  354,  355,  356,32767,32767,32767,32767,
542         32767,32767,32767,32767,32767,32767,32767,32767,   88,32767,
543           284,  284,  284,  284,32767,  341,  342,  242,  242,  242,
544           242,32767,  242,  285,32767,32767,32767,32767,32767,32767,
545         32767,  433,  358,  336,  337,  335,32767,  411,32767,32767,
546         32767,32767,32767,  413,32767,   88,32767,32767,  324,  326,
547           405,  308,32767,32767,   90,32767,32767,32767,32767,32767,
548         32767,32767,32767,32767,  408,  441,  441,32767,32767,   88,
549           399,   88,  169,  223,  225,  174,32767,  416,32767,32767,
550         32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
551         32767,32767,32767,32767,32767,  346,32767,  496,32767,  441,
552         32767,32767,  338,  339,  340,32767,32767,  441,  441,32767,
553           441,32767,  441,32767,32767,32767,  174,32767,32767,32767,
554         32767,32767,32767,32767,   90,  414,  414,  409,  174,32767,
555         32767,  174,   87,   87,   87,   87,  174,   87,  187,32767,
556           185,  185,   87,   88,   88,   87,   87,  189,32767,  455,
557           189,   88,   87,  174,   87,  209,  209,  390,  176,   89,
558           244,  244,   89,  390,   87,  174,  244,   88,   87,   87,
559           244,32767,32767,32767,   82,32767,32767,32767,32767,32767,
560         32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
561         32767,  401,32767,32767,  421,32767,  434,  453,  399,32767,
562           344,  345,  347,32767,  443,  369,  370,  371,  372,  373,
563           374,  375,  377,32767,  482,  404,32767,32767,   84,  117,
564           260,32767,  494,   84,  402,32767,  494,32767,32767,32767,
565         32767,32767,32767,32767,32767,32767,32767,   84,32767,   84,
566         32767,32767,32767,32767,  478,32767,  441,32767,  403,32767,
567           343,  417,  460,32767,32767,  442,32767,32767,   84,32767,
568         32767,32767,32767,32767,32767,32767,32767,  421,32767,32767,
569         32767,32767,32767,  441,32767,32767,32767,32767,32767,32767,
570         32767,  297,32767,32767,32767,32767,32767,32767,  441,32767,
571         32767,32767,32767,  235,32767,32767,32767,32767,32767,32767,
572         32767,32767,32767,32767,32767,32767,32767,32767,32767,32767,
573         32767,32767,   82,   60,32767,  278,32767,32767,32767,32767,
574         32767,32767,32767,32767,32767,32767,32767,32767,32767,  132,
575           132,    3,    3,  132,  132,  132,  132,  132,  132,  132,
576           132,  132,  132,  132,  132,  132,  263,  164,  263,  217,
577           263,  263,  220,  209,  209,  270,  132,  132
578     );
579
580     protected $goto = array(
581           165,  165,  138,  138,  138,  148,  150,  181,  166,  163,
582           163,  163,  163,  147,  164,  164,  164,  164,  164,  164,
583           164,  147,  159,  160,  161,  162,  178,  176,  179,  420,
584           421,  315,  422,  425,  426,  427,  428,  429,  430,  431,
585           432,  888,  136,  139,  140,  141,  142,  143,  144,  145,
586           146,  149,  175,  177,  180,  197,  200,  201,  203,  204,
587           206,  207,  208,  209,  210,  211,  212,  213,  214,  215,
588           235,  236,  253,  254,  255,  322,  323,  324,  470,  182,
589           183,  184,  185,  186,  187,  188,  189,  190,  191,  192,
590           193,  194,  195,  151,  196,  152,  167,  168,  169,  198,
591           170,  153,  154,  155,  171,  156,  199,  137,  172,  157,
592           173,  174,  158,  534,  202,  438,  736,  281,  471,  857,
593           547,    7,  202,  526,  855,  472,  669,  231,  464,  232,
594           233,  443,  443,  443,  671,  443,  464,  793,  774,  772,
595           774,  569,  670,  436,  802,  797,  459,  456,  443,  545,
596           572,  492,  494,  520,  524,  529,  530,  804,  537,  539,
597           546,  800,  548,  424,  424,  424,  424,  424,  424,  424,
598           424,  424,  424,  424,  424,  424,  424,  423,  423,  423,
599           423,  423,  423,  423,  423,  423,  423,  423,  423,  423,
600           423,  485,  506,  443,  443,  488,  490,  540,  457,  478,
601           443,  443,  974,  443,  768,  312,  543,  706,  444,  300,
602           303,  450,  473,  474,  476,  469,  481,  733,  468,  487,
603           487,  999,  999,  999,  999,  999,  999,  999,  999,  999,
604           999,  999,  999,  701,  689,  831,  435,  835,  776,  697,
605          1068, 1068,  779,  435,  263,  749,  482,    3,    4,  247,
606           316,  827,  809,  449,  769,  975,  465, 1068,  460,  673,
607           770,  770,  770,  770,  872, 1061,  764,  771,  705,  970,
608           697, 1071,  697,  976, 1030,  378,  678,  298,  728,  723,
609           724,  737,  679,  725,  676,  726,  727,   10, 1053,  677,
610           507,  731,  462,  935,  823,  328,  508,  332,  319,  319,
611           268,  269,  285,  466,  271,  327,  286,  330,  493,  807,
612           807, 1058, 1069, 1069,  282,  283,  812,  688,  688,  816,
613          1042,  512,  698,  698,  698,  700,  525,  687,  499, 1069,
614           314,  287,  693,  279,  309,  690,  832,  576,  966,  514,
615           370,  978,  971,  484,  817,  817,  817,  817,  978,  817,
616           836,  817,  865,  702, 1039,  817,  781,  686,  874,  386,
617             0, 1039,    0,    0,    0,  978,  978,  978,  978, 1050,
618          1050,  978,  978,    0,    0,    0,    0,    0,    0,    0,
619             0,    0,  744,    0,    0,  745, 1036,    0,    0,    0,
620             0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
621             0,    0,    0,    0,    0,    0,    0,    0,  834,    0,
622             0,  834,    0,    0,    0,    0,    0,    0,    0,    0,
623             0,    0,    0,    0,    0,    0,    0, 1043, 1044
624     );
625
626     protected $gotoCheck = array(
627            30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
628            30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
629            30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
630            30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
631            30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
632            30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
633            30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
634            30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
635            30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
636            30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
637            30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
638            30,   30,   30,   60,   53,    8,   10,   76,    7,    7,
639             7,  106,   53,    7,    7,   93,   13,   69,   81,   69,
640            69,    8,    8,    8,   15,    8,   81,   13,   13,   13,
641            13,   13,   14,   13,   13,   13,    8,   36,    8,    5,
642            36,   36,   36,   36,   36,   36,   36,   36,   36,   36,
643            36,   36,   36,  131,  131,  131,  131,  131,  131,  131,
644           131,  131,  131,  131,  131,  131,  131,  129,  129,  129,
645           129,  129,  129,  129,  129,  129,  129,  129,  129,  129,
646           129,   43,   43,    8,    8,   64,   64,   64,    8,    8,
647             8,    8,   88,    8,   72,   72,   72,   33,    8,   46,
648            46,   46,   46,   46,   46,    2,    2,   52,    8,   82,
649            82,   82,   82,   82,   82,   82,   82,   82,   82,   82,
650            82,   82,   82,   11,   11,   11,   71,   11,   37,   23,
651           139,  139,   11,   71,  128,   11,   11,   34,   34,  128,
652            62,   90,   11,   62,   11,   88,  130,  139,   62,   10,
653            71,   71,   71,   71,   11,  138,   71,   71,   11,   11,
654            23,  139,   23,   88,   88,   62,   10,   49,   10,   10,
655            10,   10,   10,   10,   10,   10,   10,   62,  136,   10,
656            51,   10,   50,  112,   86,   53,   53,   53,   53,   53,
657            53,   53,   53,   53,   53,   53,   53,   53,   53,   81,
658            81,   81,  140,  140,   76,   76,   84,   23,   23,   87,
659           133,   65,   23,   23,   23,   23,   65,   23,   21,  140,
660            65,   17,   27,    9,   16,   25,   92,   78,  118,   20,
661            67,   60,  121,   68,   60,   60,   60,   60,   60,   60,
662            95,   60,  106,   29,   93,   60,   75,   12,  109,  116,
663            -1,   93,   -1,   -1,   -1,   60,   60,   60,   60,   93,
664            93,   60,   60,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
665            -1,   -1,   60,   -1,   -1,   60,   93,   -1,   -1,   -1,
666            -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
667            -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   93,   -1,
668            -1,   93,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
669            -1,   -1,   -1,   -1,   -1,   -1,   -1,   93,   93
670     );
671
672     protected $gotoBase = array(
673             0,    0, -336,    0,    0,  137,    0,  113, -141,   57,
674           -20, -120,  -25,  124,  140,  132,   47,   75,    0,    0,
675             4,   55,    0,  -17,    0,   46,    0,   58,    0,  -10,
676           -22,    0,    0,  198, -329,    0, -403,  220,    0,    0,
677             0,    0,    0,  159,    0,    0,  172,    0,    0,  243,
678            72,   73,  201,   79,    0,    0,    0,    0,    0,    0,
679           107,    0,  -98,    0,  -43,  -60,    0,  -21,  -27, -441,
680             0,    2,  -55,    0,    0,  -15, -259,    0,   24,    0,
681             0,   93,    3,    0,   74,    0,   50,   71,  -95,    0,
682           228,    0,   45,  120,    0,  -14,    0,    0,    0,    0,
683             0,    0,    0,    0,    0,    0,  109,    0,    0,  -29,
684             0,    0,   52,    0,    0,    0,  -24,    0,   -8,    0,
685             0,    6,    0,    0,    0,    0,    0,    0,  -13,  -39,
686           231,  -53,    0,   70,    0,    0,  245,    0,  239,   -6,
687            66,    0,    0
688     );
689
690     protected $gotoDefault = array(
691         -32768,  391,  579,    2,  580,  651,  659,  515,  411,  439,
692           730,  877,  692,  712,  713,  714,  304,  342,  296,  302,
693           500,  489,  382,  699,  354,  691,  379,  694,  353,  703,
694           135,  516,  388,  707,    1,  709,  445,  740,  293,  717,
695           294,  519,  719,  452,  721,  722,  299,  305,  306,  881,
696           461,  486,  732,  205,  454,  734,  292,  735,  743,  333,
697           297,  365,  522,  496,  477,  511,  412,  367,  483,  230,
698           463,  985,  766,  374,  362,  780,  280,  788,  577,  796,
699           799,  413,  414,  372,  811,  373,  821,  815,  993,  366,
700           826,  355,  833, 1025,  357,  837,  840,  343,  502,  331,
701           844,  845,    6,  849,  535,  536,  864,  243,  384,  873,
702           352,  887,  346,  954,  956,  447,  381,  967,  361,  523,
703           389,  972, 1029,  350,  415,  368,  270,  284,  246,  416,
704           433,  251,  417,  369, 1032,  320, 1054,  434, 1062, 1070,
705           277,  317,  480
706     );
707
708     protected $ruleToNonTerminal = array(
709             0,    1,    3,    3,    2,    5,    5,    5,    5,    5,
710             5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
711             5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
712             5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
713             5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
714             5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
715             5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
716             5,    5,    5,    6,    6,    6,    6,    6,    6,    6,
717             7,    7,    8,    8,    9,   10,   10,   11,   11,   12,
718            12,    4,    4,    4,    4,    4,    4,    4,    4,    4,
719             4,    4,   17,   17,   18,   18,   18,   18,   20,   22,
720            22,   16,   24,   24,   21,   26,   26,   23,   23,   25,
721            25,   27,   27,   19,   28,   28,   29,   31,   32,   32,
722            33,   34,   34,   36,   35,   35,   35,   35,   37,   37,
723            37,   37,   37,   37,   37,   37,   37,   37,   37,   37,
724            37,   37,   37,   37,   37,   37,   37,   37,   37,   37,
725            37,   37,   13,   13,   56,   56,   59,   59,   58,   57,
726            57,   50,   61,   61,   62,   62,   63,   63,   14,   15,
727            15,   15,   66,   66,   66,   67,   67,   70,   70,   68,
728            68,   72,   73,   73,   44,   44,   52,   52,   55,   55,
729            55,   54,   74,   74,   75,   45,   45,   45,   45,   76,
730            76,   77,   77,   78,   78,   42,   42,   38,   38,   79,
731            40,   40,   80,   39,   39,   41,   41,   51,   51,   51,
732            51,   64,   64,   83,   83,   84,   84,   86,   86,   87,
733            87,   87,   85,   85,   65,   65,   88,   88,   89,   89,
734            90,   90,   90,   47,   91,   91,   92,   48,   94,   94,
735            95,   95,   69,   69,   96,   96,   96,   96,  101,  101,
736           102,  102,  103,  103,  103,  103,  103,  104,  105,  105,
737           100,  100,   97,   97,   99,   99,  107,  107,  106,  106,
738           106,  106,  106,  106,   98,  108,  108,  109,  109,   49,
739           110,  110,   43,   43,   30,   30,   30,   30,   30,   30,
740            30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
741            30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
742            30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
743            30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
744            30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
745            30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
746            30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
747            30,   30,   30,   30,   30,   30,   30,  117,  111,  111,
748           116,  116,  119,  120,  120,  121,  122,  122,  122,   71,
749            71,   60,   60,   60,  112,  112,  112,  124,  124,  113,
750           113,  115,  115,  115,  118,  118,  129,  129,  129,   82,
751           131,  131,  131,  114,  114,  114,  114,  114,  114,  114,
752           114,  114,  114,  114,  114,  114,  114,  114,  114,   46,
753            46,  127,  127,  127,  123,  123,  123,  132,  132,  132,
754           132,  132,  132,   53,   53,   53,   93,   93,   93,   93,
755           134,  126,  126,  126,  126,  126,  126,  125,  125,  125,
756           133,  133,  133,  133,   81,  135,  135,  136,  136,  136,
757           136,  136,  130,  137,  137,  138,  138,  138,  138,  138,
758           128,  128,  128,  128,  140,  141,  139,  139,  139,  139,
759           139,  139,  139,  142,  142,  142,  142
760     );
761
762     protected $ruleToLength = array(
763             1,    1,    2,    0,    1,    1,    1,    1,    1,    1,
764             1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
765             1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
766             1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
767             1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
768             1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
769             1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
770             1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
771             1,    1,    1,    3,    1,    1,    1,    0,    1,    0,
772             1,    1,    1,    1,    1,    3,    5,    4,    3,    4,
773             2,    3,    1,    1,    7,    8,    6,    7,    2,    3,
774             1,    2,    3,    1,    2,    3,    1,    1,    3,    1,
775             2,    1,    2,    2,    3,    1,    3,    2,    3,    1,
776             3,    2,    0,    1,    1,    1,    1,    1,    3,    7,
777            10,    5,    7,    9,    5,    3,    3,    3,    3,    3,
778             3,    1,    2,    5,    7,    9,    5,    6,    3,    3,
779             2,    1,    1,    1,    0,    2,    1,    3,    8,    0,
780             4,    2,    1,    3,    0,    1,    0,    1,   10,    7,
781             6,    5,    1,    2,    2,    0,    2,    0,    2,    0,
782             2,    2,    1,    3,    1,    4,    1,    4,    1,    1,
783             4,    2,    1,    3,    3,    3,    4,    4,    5,    0,
784             2,    4,    3,    1,    1,    1,    4,    0,    2,    5,
785             0,    2,    6,    0,    2,    0,    3,    1,    2,    1,
786             1,    2,    0,    1,    3,    4,    6,    1,    2,    1,
787             1,    1,    0,    1,    0,    2,    2,    4,    1,    3,
788             1,    2,    2,    2,    3,    1,    1,    2,    3,    1,
789             1,    3,    2,    0,    3,    4,    9,    3,    1,    3,
790             0,    2,    4,    5,    4,    4,    4,    3,    1,    1,
791             1,    3,    1,    1,    0,    1,    1,    2,    1,    1,
792             1,    1,    1,    1,    2,    1,    3,    1,    3,    2,
793             3,    1,    0,    1,    1,    3,    3,    3,    4,    1,
794             2,    3,    3,    3,    3,    3,    3,    3,    3,    3,
795             3,    3,    3,    2,    2,    2,    2,    3,    3,    3,
796             3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
797             3,    3,    3,    3,    2,    2,    2,    2,    3,    3,
798             3,    3,    3,    3,    3,    3,    3,    3,    3,    5,
799             4,    3,    4,    4,    2,    2,    4,    2,    2,    2,
800             2,    2,    2,    2,    2,    2,    2,    2,    1,    3,
801             2,    1,    2,    4,    2,   10,   11,    7,    3,    2,
802             0,    4,    2,    1,    3,    2,    2,    2,    4,    1,
803             1,    1,    2,    3,    1,    1,    1,    1,    1,    0,
804             3,    0,    1,    1,    0,    1,    1,    3,    3,    3,
805             4,    1,    1,    1,    1,    1,    1,    1,    1,    1,
806             1,    1,    1,    1,    1,    3,    2,    3,    3,    0,
807             1,    1,    3,    1,    1,    3,    1,    1,    4,    4,
808             4,    1,    4,    1,    1,    3,    1,    4,    2,    2,
809             3,    1,    4,    4,    3,    3,    3,    1,    3,    1,
810             1,    3,    1,    1,    4,    3,    1,    1,    1,    3,
811             3,    0,    1,    3,    1,    3,    1,    4,    2,    0,
812             2,    2,    1,    2,    1,    1,    1,    4,    3,    3,
813             3,    6,    3,    1,    1,    2,    1
814     );
815
816     protected function reduceRule0() {
817         $this->semValue = $this->semStack[$this->stackPos];
818     }
819
820     protected function reduceRule1() {
821          $this->semValue = $this->handleNamespaces($this->semStack[$this->stackPos-(1-1)]);
822     }
823
824     protected function reduceRule2() {
825          if (is_array($this->semStack[$this->stackPos-(2-2)])) { $this->semValue = array_merge($this->semStack[$this->stackPos-(2-1)], $this->semStack[$this->stackPos-(2-2)]); } else { $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)]; };
826     }
827
828     protected function reduceRule3() {
829          $this->semValue = array();
830     }
831
832     protected function reduceRule4() {
833          $startAttributes = $this->lookaheadStartAttributes; if (isset($startAttributes['comments'])) { $nop = new Stmt\Nop(['comments' => $startAttributes['comments']]); } else { $nop = null; };
834             if ($nop !== null) { $this->semStack[$this->stackPos-(1-1)][] = $nop; } $this->semValue = $this->semStack[$this->stackPos-(1-1)];
835     }
836
837     protected function reduceRule5() {
838         $this->semValue = $this->semStack[$this->stackPos];
839     }
840
841     protected function reduceRule6() {
842         $this->semValue = $this->semStack[$this->stackPos];
843     }
844
845     protected function reduceRule7() {
846         $this->semValue = $this->semStack[$this->stackPos];
847     }
848
849     protected function reduceRule8() {
850         $this->semValue = $this->semStack[$this->stackPos];
851     }
852
853     protected function reduceRule9() {
854         $this->semValue = $this->semStack[$this->stackPos];
855     }
856
857     protected function reduceRule10() {
858         $this->semValue = $this->semStack[$this->stackPos];
859     }
860
861     protected function reduceRule11() {
862         $this->semValue = $this->semStack[$this->stackPos];
863     }
864
865     protected function reduceRule12() {
866         $this->semValue = $this->semStack[$this->stackPos];
867     }
868
869     protected function reduceRule13() {
870         $this->semValue = $this->semStack[$this->stackPos];
871     }
872
873     protected function reduceRule14() {
874         $this->semValue = $this->semStack[$this->stackPos];
875     }
876
877     protected function reduceRule15() {
878         $this->semValue = $this->semStack[$this->stackPos];
879     }
880
881     protected function reduceRule16() {
882         $this->semValue = $this->semStack[$this->stackPos];
883     }
884
885     protected function reduceRule17() {
886         $this->semValue = $this->semStack[$this->stackPos];
887     }
888
889     protected function reduceRule18() {
890         $this->semValue = $this->semStack[$this->stackPos];
891     }
892
893     protected function reduceRule19() {
894         $this->semValue = $this->semStack[$this->stackPos];
895     }
896
897     protected function reduceRule20() {
898         $this->semValue = $this->semStack[$this->stackPos];
899     }
900
901     protected function reduceRule21() {
902         $this->semValue = $this->semStack[$this->stackPos];
903     }
904
905     protected function reduceRule22() {
906         $this->semValue = $this->semStack[$this->stackPos];
907     }
908
909     protected function reduceRule23() {
910         $this->semValue = $this->semStack[$this->stackPos];
911     }
912
913     protected function reduceRule24() {
914         $this->semValue = $this->semStack[$this->stackPos];
915     }
916
917     protected function reduceRule25() {
918         $this->semValue = $this->semStack[$this->stackPos];
919     }
920
921     protected function reduceRule26() {
922         $this->semValue = $this->semStack[$this->stackPos];
923     }
924
925     protected function reduceRule27() {
926         $this->semValue = $this->semStack[$this->stackPos];
927     }
928
929     protected function reduceRule28() {
930         $this->semValue = $this->semStack[$this->stackPos];
931     }
932
933     protected function reduceRule29() {
934         $this->semValue = $this->semStack[$this->stackPos];
935     }
936
937     protected function reduceRule30() {
938         $this->semValue = $this->semStack[$this->stackPos];
939     }
940
941     protected function reduceRule31() {
942         $this->semValue = $this->semStack[$this->stackPos];
943     }
944
945     protected function reduceRule32() {
946         $this->semValue = $this->semStack[$this->stackPos];
947     }
948
949     protected function reduceRule33() {
950         $this->semValue = $this->semStack[$this->stackPos];
951     }
952
953     protected function reduceRule34() {
954         $this->semValue = $this->semStack[$this->stackPos];
955     }
956
957     protected function reduceRule35() {
958         $this->semValue = $this->semStack[$this->stackPos];
959     }
960
961     protected function reduceRule36() {
962         $this->semValue = $this->semStack[$this->stackPos];
963     }
964
965     protected function reduceRule37() {
966         $this->semValue = $this->semStack[$this->stackPos];
967     }
968
969     protected function reduceRule38() {
970         $this->semValue = $this->semStack[$this->stackPos];
971     }
972
973     protected function reduceRule39() {
974         $this->semValue = $this->semStack[$this->stackPos];
975     }
976
977     protected function reduceRule40() {
978         $this->semValue = $this->semStack[$this->stackPos];
979     }
980
981     protected function reduceRule41() {
982         $this->semValue = $this->semStack[$this->stackPos];
983     }
984
985     protected function reduceRule42() {
986         $this->semValue = $this->semStack[$this->stackPos];
987     }
988
989     protected function reduceRule43() {
990         $this->semValue = $this->semStack[$this->stackPos];
991     }
992
993     protected function reduceRule44() {
994         $this->semValue = $this->semStack[$this->stackPos];
995     }
996
997     protected function reduceRule45() {
998         $this->semValue = $this->semStack[$this->stackPos];
999     }
1000
1001     protected function reduceRule46() {
1002         $this->semValue = $this->semStack[$this->stackPos];
1003     }
1004
1005     protected function reduceRule47() {
1006         $this->semValue = $this->semStack[$this->stackPos];
1007     }
1008
1009     protected function reduceRule48() {
1010         $this->semValue = $this->semStack[$this->stackPos];
1011     }
1012
1013     protected function reduceRule49() {
1014         $this->semValue = $this->semStack[$this->stackPos];
1015     }
1016
1017     protected function reduceRule50() {
1018         $this->semValue = $this->semStack[$this->stackPos];
1019     }
1020
1021     protected function reduceRule51() {
1022         $this->semValue = $this->semStack[$this->stackPos];
1023     }
1024
1025     protected function reduceRule52() {
1026         $this->semValue = $this->semStack[$this->stackPos];
1027     }
1028
1029     protected function reduceRule53() {
1030         $this->semValue = $this->semStack[$this->stackPos];
1031     }
1032
1033     protected function reduceRule54() {
1034         $this->semValue = $this->semStack[$this->stackPos];
1035     }
1036
1037     protected function reduceRule55() {
1038         $this->semValue = $this->semStack[$this->stackPos];
1039     }
1040
1041     protected function reduceRule56() {
1042         $this->semValue = $this->semStack[$this->stackPos];
1043     }
1044
1045     protected function reduceRule57() {
1046         $this->semValue = $this->semStack[$this->stackPos];
1047     }
1048
1049     protected function reduceRule58() {
1050         $this->semValue = $this->semStack[$this->stackPos];
1051     }
1052
1053     protected function reduceRule59() {
1054         $this->semValue = $this->semStack[$this->stackPos];
1055     }
1056
1057     protected function reduceRule60() {
1058         $this->semValue = $this->semStack[$this->stackPos];
1059     }
1060
1061     protected function reduceRule61() {
1062         $this->semValue = $this->semStack[$this->stackPos];
1063     }
1064
1065     protected function reduceRule62() {
1066         $this->semValue = $this->semStack[$this->stackPos];
1067     }
1068
1069     protected function reduceRule63() {
1070         $this->semValue = $this->semStack[$this->stackPos];
1071     }
1072
1073     protected function reduceRule64() {
1074         $this->semValue = $this->semStack[$this->stackPos];
1075     }
1076
1077     protected function reduceRule65() {
1078         $this->semValue = $this->semStack[$this->stackPos];
1079     }
1080
1081     protected function reduceRule66() {
1082         $this->semValue = $this->semStack[$this->stackPos];
1083     }
1084
1085     protected function reduceRule67() {
1086         $this->semValue = $this->semStack[$this->stackPos];
1087     }
1088
1089     protected function reduceRule68() {
1090         $this->semValue = $this->semStack[$this->stackPos];
1091     }
1092
1093     protected function reduceRule69() {
1094         $this->semValue = $this->semStack[$this->stackPos];
1095     }
1096
1097     protected function reduceRule70() {
1098         $this->semValue = $this->semStack[$this->stackPos];
1099     }
1100
1101     protected function reduceRule71() {
1102         $this->semValue = $this->semStack[$this->stackPos];
1103     }
1104
1105     protected function reduceRule72() {
1106         $this->semValue = $this->semStack[$this->stackPos];
1107     }
1108
1109     protected function reduceRule73() {
1110         $this->semValue = $this->semStack[$this->stackPos];
1111     }
1112
1113     protected function reduceRule74() {
1114         $this->semValue = $this->semStack[$this->stackPos];
1115     }
1116
1117     protected function reduceRule75() {
1118         $this->semValue = $this->semStack[$this->stackPos];
1119     }
1120
1121     protected function reduceRule76() {
1122         $this->semValue = $this->semStack[$this->stackPos];
1123     }
1124
1125     protected function reduceRule77() {
1126         $this->semValue = $this->semStack[$this->stackPos];
1127     }
1128
1129     protected function reduceRule78() {
1130         $this->semValue = $this->semStack[$this->stackPos];
1131     }
1132
1133     protected function reduceRule79() {
1134         $this->semValue = $this->semStack[$this->stackPos];
1135     }
1136
1137     protected function reduceRule80() {
1138          $this->semValue = $this->semStack[$this->stackPos-(1-1)];
1139     }
1140
1141     protected function reduceRule81() {
1142          $this->semValue = $this->semStack[$this->stackPos-(1-1)];
1143     }
1144
1145     protected function reduceRule82() {
1146          $this->semValue = array($this->semStack[$this->stackPos-(1-1)]);
1147     }
1148
1149     protected function reduceRule83() {
1150          $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)];
1151     }
1152
1153     protected function reduceRule84() {
1154          $this->semValue = new Name($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
1155     }
1156
1157     protected function reduceRule85() {
1158          /* nothing */
1159     }
1160
1161     protected function reduceRule86() {
1162          /* nothing */
1163     }
1164
1165     protected function reduceRule87() {
1166          /* nothing */
1167     }
1168
1169     protected function reduceRule88() {
1170          $this->emitError(new Error('A trailing comma is not allowed here', $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes));
1171     }
1172
1173     protected function reduceRule89() {
1174         $this->semValue = $this->semStack[$this->stackPos];
1175     }
1176
1177     protected function reduceRule90() {
1178         $this->semValue = $this->semStack[$this->stackPos];
1179     }
1180
1181     protected function reduceRule91() {
1182          $this->semValue = $this->semStack[$this->stackPos-(1-1)];
1183     }
1184
1185     protected function reduceRule92() {
1186          $this->semValue = $this->semStack[$this->stackPos-(1-1)];
1187     }
1188
1189     protected function reduceRule93() {
1190          $this->semValue = $this->semStack[$this->stackPos-(1-1)];
1191     }
1192
1193     protected function reduceRule94() {
1194          $this->semValue = new Stmt\HaltCompiler($this->lexer->handleHaltCompiler(), $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
1195     }
1196
1197     protected function reduceRule95() {
1198          $this->semValue = new Stmt\Namespace_($this->semStack[$this->stackPos-(3-2)], null, $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
1199             $this->semValue->setAttribute('kind', Stmt\Namespace_::KIND_SEMICOLON);
1200             $this->checkNamespace($this->semValue);
1201     }
1202
1203     protected function reduceRule96() {
1204          $this->semValue = new Stmt\Namespace_($this->semStack[$this->stackPos-(5-2)], $this->semStack[$this->stackPos-(5-4)], $this->startAttributeStack[$this->stackPos-(5-1)] + $this->endAttributes);
1205             $this->semValue->setAttribute('kind', Stmt\Namespace_::KIND_BRACED);
1206             $this->checkNamespace($this->semValue);
1207     }
1208
1209     protected function reduceRule97() {
1210          $this->semValue = new Stmt\Namespace_(null, $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
1211             $this->semValue->setAttribute('kind', Stmt\Namespace_::KIND_BRACED);
1212             $this->checkNamespace($this->semValue);
1213     }
1214
1215     protected function reduceRule98() {
1216          $this->semValue = new Stmt\Use_($this->semStack[$this->stackPos-(3-2)], Stmt\Use_::TYPE_NORMAL, $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
1217     }
1218
1219     protected function reduceRule99() {
1220          $this->semValue = new Stmt\Use_($this->semStack[$this->stackPos-(4-3)], $this->semStack[$this->stackPos-(4-2)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
1221     }
1222
1223     protected function reduceRule100() {
1224          $this->semValue = $this->semStack[$this->stackPos-(2-1)];
1225     }
1226
1227     protected function reduceRule101() {
1228          $this->semValue = new Stmt\Const_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
1229     }
1230
1231     protected function reduceRule102() {
1232          $this->semValue = Stmt\Use_::TYPE_FUNCTION;
1233     }
1234
1235     protected function reduceRule103() {
1236          $this->semValue = Stmt\Use_::TYPE_CONSTANT;
1237     }
1238
1239     protected function reduceRule104() {
1240          $this->semValue = new Stmt\GroupUse(new Name($this->semStack[$this->stackPos-(7-3)], $this->startAttributeStack[$this->stackPos-(7-3)] + $this->endAttributeStack[$this->stackPos-(7-3)]), $this->semStack[$this->stackPos-(7-6)], $this->semStack[$this->stackPos-(7-2)], $this->startAttributeStack[$this->stackPos-(7-1)] + $this->endAttributes);
1241     }
1242
1243     protected function reduceRule105() {
1244          $this->semValue = new Stmt\GroupUse(new Name($this->semStack[$this->stackPos-(8-4)], $this->startAttributeStack[$this->stackPos-(8-4)] + $this->endAttributeStack[$this->stackPos-(8-4)]), $this->semStack[$this->stackPos-(8-7)], $this->semStack[$this->stackPos-(8-2)], $this->startAttributeStack[$this->stackPos-(8-1)] + $this->endAttributes);
1245     }
1246
1247     protected function reduceRule106() {
1248          $this->semValue = new Stmt\GroupUse(new Name($this->semStack[$this->stackPos-(6-2)], $this->startAttributeStack[$this->stackPos-(6-2)] + $this->endAttributeStack[$this->stackPos-(6-2)]), $this->semStack[$this->stackPos-(6-5)], Stmt\Use_::TYPE_UNKNOWN, $this->startAttributeStack[$this->stackPos-(6-1)] + $this->endAttributes);
1249     }
1250
1251     protected function reduceRule107() {
1252          $this->semValue = new Stmt\GroupUse(new Name($this->semStack[$this->stackPos-(7-3)], $this->startAttributeStack[$this->stackPos-(7-3)] + $this->endAttributeStack[$this->stackPos-(7-3)]), $this->semStack[$this->stackPos-(7-6)], Stmt\Use_::TYPE_UNKNOWN, $this->startAttributeStack[$this->stackPos-(7-1)] + $this->endAttributes);
1253     }
1254
1255     protected function reduceRule108() {
1256          $this->semValue = $this->semStack[$this->stackPos-(2-1)];
1257     }
1258
1259     protected function reduceRule109() {
1260          $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)];
1261     }
1262
1263     protected function reduceRule110() {
1264          $this->semValue = array($this->semStack[$this->stackPos-(1-1)]);
1265     }
1266
1267     protected function reduceRule111() {
1268          $this->semValue = $this->semStack[$this->stackPos-(2-1)];
1269     }
1270
1271     protected function reduceRule112() {
1272          $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)];
1273     }
1274
1275     protected function reduceRule113() {
1276          $this->semValue = array($this->semStack[$this->stackPos-(1-1)]);
1277     }
1278
1279     protected function reduceRule114() {
1280          $this->semValue = $this->semStack[$this->stackPos-(2-1)];
1281     }
1282
1283     protected function reduceRule115() {
1284          $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)];
1285     }
1286
1287     protected function reduceRule116() {
1288          $this->semValue = array($this->semStack[$this->stackPos-(1-1)]);
1289     }
1290
1291     protected function reduceRule117() {
1292          $this->semValue = new Stmt\UseUse($this->semStack[$this->stackPos-(1-1)], null, Stmt\Use_::TYPE_UNKNOWN, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); $this->checkUseUse($this->semValue, $this->stackPos-(1-1));
1293     }
1294
1295     protected function reduceRule118() {
1296          $this->semValue = new Stmt\UseUse($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], Stmt\Use_::TYPE_UNKNOWN, $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); $this->checkUseUse($this->semValue, $this->stackPos-(3-3));
1297     }
1298
1299     protected function reduceRule119() {
1300          $this->semValue = $this->semStack[$this->stackPos-(1-1)];
1301     }
1302
1303     protected function reduceRule120() {
1304          $this->semValue = $this->semStack[$this->stackPos-(2-2)];
1305     }
1306
1307     protected function reduceRule121() {
1308          $this->semValue = $this->semStack[$this->stackPos-(1-1)]; $this->semValue->type = Stmt\Use_::TYPE_NORMAL;
1309     }
1310
1311     protected function reduceRule122() {
1312          $this->semValue = $this->semStack[$this->stackPos-(2-2)]; $this->semValue->type = $this->semStack[$this->stackPos-(2-1)];
1313     }
1314
1315     protected function reduceRule123() {
1316          $this->semValue = $this->semStack[$this->stackPos-(2-1)];
1317     }
1318
1319     protected function reduceRule124() {
1320          $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)];
1321     }
1322
1323     protected function reduceRule125() {
1324          $this->semValue = array($this->semStack[$this->stackPos-(1-1)]);
1325     }
1326
1327     protected function reduceRule126() {
1328          $this->semValue = new Node\Const_($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
1329     }
1330
1331     protected function reduceRule127() {
1332          $this->semValue = $this->semStack[$this->stackPos-(2-1)];
1333     }
1334
1335     protected function reduceRule128() {
1336          $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)];
1337     }
1338
1339     protected function reduceRule129() {
1340          $this->semValue = array($this->semStack[$this->stackPos-(1-1)]);
1341     }
1342
1343     protected function reduceRule130() {
1344          $this->semValue = new Node\Const_($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
1345     }
1346
1347     protected function reduceRule131() {
1348          if (is_array($this->semStack[$this->stackPos-(2-2)])) { $this->semValue = array_merge($this->semStack[$this->stackPos-(2-1)], $this->semStack[$this->stackPos-(2-2)]); } else { $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)]; };
1349     }
1350
1351     protected function reduceRule132() {
1352          $this->semValue = array();
1353     }
1354
1355     protected function reduceRule133() {
1356          $startAttributes = $this->lookaheadStartAttributes; if (isset($startAttributes['comments'])) { $nop = new Stmt\Nop(['comments' => $startAttributes['comments']]); } else { $nop = null; };
1357             if ($nop !== null) { $this->semStack[$this->stackPos-(1-1)][] = $nop; } $this->semValue = $this->semStack[$this->stackPos-(1-1)];
1358     }
1359
1360     protected function reduceRule134() {
1361          $this->semValue = $this->semStack[$this->stackPos-(1-1)];
1362     }
1363
1364     protected function reduceRule135() {
1365          $this->semValue = $this->semStack[$this->stackPos-(1-1)];
1366     }
1367
1368     protected function reduceRule136() {
1369          $this->semValue = $this->semStack[$this->stackPos-(1-1)];
1370     }
1371
1372     protected function reduceRule137() {
1373          throw new Error('__HALT_COMPILER() can only be used from the outermost scope', $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
1374     }
1375
1376     protected function reduceRule138() {
1377
1378         if ($this->semStack[$this->stackPos-(3-2)]) {
1379             $this->semValue = $this->semStack[$this->stackPos-(3-2)]; $attrs = $this->startAttributeStack[$this->stackPos-(3-1)]; $stmts = $this->semValue; if (!empty($attrs['comments'])) {$stmts[0]->setAttribute('comments', array_merge($attrs['comments'], $stmts[0]->getAttribute('comments', []))); };
1380         } else {
1381             $startAttributes = $this->startAttributeStack[$this->stackPos-(3-1)]; if (isset($startAttributes['comments'])) { $this->semValue = new Stmt\Nop(['comments' => $startAttributes['comments']]); } else { $this->semValue = null; };
1382             if (null === $this->semValue) { $this->semValue = array(); }
1383         }
1384
1385     }
1386
1387     protected function reduceRule139() {
1388          $this->semValue = new Stmt\If_($this->semStack[$this->stackPos-(7-3)], ['stmts' => is_array($this->semStack[$this->stackPos-(7-5)]) ? $this->semStack[$this->stackPos-(7-5)] : array($this->semStack[$this->stackPos-(7-5)]), 'elseifs' => $this->semStack[$this->stackPos-(7-6)], 'else' => $this->semStack[$this->stackPos-(7-7)]], $this->startAttributeStack[$this->stackPos-(7-1)] + $this->endAttributes);
1389     }
1390
1391     protected function reduceRule140() {
1392          $this->semValue = new Stmt\If_($this->semStack[$this->stackPos-(10-3)], ['stmts' => $this->semStack[$this->stackPos-(10-6)], 'elseifs' => $this->semStack[$this->stackPos-(10-7)], 'else' => $this->semStack[$this->stackPos-(10-8)]], $this->startAttributeStack[$this->stackPos-(10-1)] + $this->endAttributes);
1393     }
1394
1395     protected function reduceRule141() {
1396          $this->semValue = new Stmt\While_($this->semStack[$this->stackPos-(5-3)], $this->semStack[$this->stackPos-(5-5)], $this->startAttributeStack[$this->stackPos-(5-1)] + $this->endAttributes);
1397     }
1398
1399     protected function reduceRule142() {
1400          $this->semValue = new Stmt\Do_($this->semStack[$this->stackPos-(7-5)], is_array($this->semStack[$this->stackPos-(7-2)]) ? $this->semStack[$this->stackPos-(7-2)] : array($this->semStack[$this->stackPos-(7-2)]), $this->startAttributeStack[$this->stackPos-(7-1)] + $this->endAttributes);
1401     }
1402
1403     protected function reduceRule143() {
1404          $this->semValue = new Stmt\For_(['init' => $this->semStack[$this->stackPos-(9-3)], 'cond' => $this->semStack[$this->stackPos-(9-5)], 'loop' => $this->semStack[$this->stackPos-(9-7)], 'stmts' => $this->semStack[$this->stackPos-(9-9)]], $this->startAttributeStack[$this->stackPos-(9-1)] + $this->endAttributes);
1405     }
1406
1407     protected function reduceRule144() {
1408          $this->semValue = new Stmt\Switch_($this->semStack[$this->stackPos-(5-3)], $this->semStack[$this->stackPos-(5-5)], $this->startAttributeStack[$this->stackPos-(5-1)] + $this->endAttributes);
1409     }
1410
1411     protected function reduceRule145() {
1412          $this->semValue = new Stmt\Break_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
1413     }
1414
1415     protected function reduceRule146() {
1416          $this->semValue = new Stmt\Continue_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
1417     }
1418
1419     protected function reduceRule147() {
1420          $this->semValue = new Stmt\Return_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
1421     }
1422
1423     protected function reduceRule148() {
1424          $this->semValue = new Stmt\Global_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
1425     }
1426
1427     protected function reduceRule149() {
1428          $this->semValue = new Stmt\Static_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
1429     }
1430
1431     protected function reduceRule150() {
1432          $this->semValue = new Stmt\Echo_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
1433     }
1434
1435     protected function reduceRule151() {
1436          $this->semValue = new Stmt\InlineHTML($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
1437     }
1438
1439     protected function reduceRule152() {
1440          $this->semValue = $this->semStack[$this->stackPos-(2-1)];
1441     }
1442
1443     protected function reduceRule153() {
1444          $this->semValue = new Stmt\Unset_($this->semStack[$this->stackPos-(5-3)], $this->startAttributeStack[$this->stackPos-(5-1)] + $this->endAttributes);
1445     }
1446
1447     protected function reduceRule154() {
1448          $this->semValue = new Stmt\Foreach_($this->semStack[$this->stackPos-(7-3)], $this->semStack[$this->stackPos-(7-5)][0], ['keyVar' => null, 'byRef' => $this->semStack[$this->stackPos-(7-5)][1], 'stmts' => $this->semStack[$this->stackPos-(7-7)]], $this->startAttributeStack[$this->stackPos-(7-1)] + $this->endAttributes);
1449     }
1450
1451     protected function reduceRule155() {
1452          $this->semValue = new Stmt\Foreach_($this->semStack[$this->stackPos-(9-3)], $this->semStack[$this->stackPos-(9-7)][0], ['keyVar' => $this->semStack[$this->stackPos-(9-5)], 'byRef' => $this->semStack[$this->stackPos-(9-7)][1], 'stmts' => $this->semStack[$this->stackPos-(9-9)]], $this->startAttributeStack[$this->stackPos-(9-1)] + $this->endAttributes);
1453     }
1454
1455     protected function reduceRule156() {
1456          $this->semValue = new Stmt\Declare_($this->semStack[$this->stackPos-(5-3)], $this->semStack[$this->stackPos-(5-5)], $this->startAttributeStack[$this->stackPos-(5-1)] + $this->endAttributes);
1457     }
1458
1459     protected function reduceRule157() {
1460          $this->semValue = new Stmt\TryCatch($this->semStack[$this->stackPos-(6-3)], $this->semStack[$this->stackPos-(6-5)], $this->semStack[$this->stackPos-(6-6)], $this->startAttributeStack[$this->stackPos-(6-1)] + $this->endAttributes); $this->checkTryCatch($this->semValue);
1461     }
1462
1463     protected function reduceRule158() {
1464          $this->semValue = new Stmt\Throw_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
1465     }
1466
1467     protected function reduceRule159() {
1468          $this->semValue = new Stmt\Goto_($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
1469     }
1470
1471     protected function reduceRule160() {
1472          $this->semValue = new Stmt\Label($this->semStack[$this->stackPos-(2-1)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
1473     }
1474
1475     protected function reduceRule161() {
1476          $this->semValue = array(); /* means: no statement */
1477     }
1478
1479     protected function reduceRule162() {
1480          $this->semValue = $this->semStack[$this->stackPos-(1-1)];
1481     }
1482
1483     protected function reduceRule163() {
1484          $startAttributes = $this->startAttributeStack[$this->stackPos-(1-1)]; if (isset($startAttributes['comments'])) { $this->semValue = new Stmt\Nop(['comments' => $startAttributes['comments']]); } else { $this->semValue = null; };
1485             if ($this->semValue === null) $this->semValue = array(); /* means: no statement */
1486     }
1487
1488     protected function reduceRule164() {
1489          $this->semValue = array();
1490     }
1491
1492     protected function reduceRule165() {
1493          $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)];
1494     }
1495
1496     protected function reduceRule166() {
1497          $this->semValue = array($this->semStack[$this->stackPos-(1-1)]);
1498     }
1499
1500     protected function reduceRule167() {
1501          $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)];
1502     }
1503
1504     protected function reduceRule168() {
1505          $this->semValue = new Stmt\Catch_($this->semStack[$this->stackPos-(8-3)], substr($this->semStack[$this->stackPos-(8-4)], 1), $this->semStack[$this->stackPos-(8-7)], $this->startAttributeStack[$this->stackPos-(8-1)] + $this->endAttributes);
1506     }
1507
1508     protected function reduceRule169() {
1509          $this->semValue = null;
1510     }
1511
1512     protected function reduceRule170() {
1513          $this->semValue = new Stmt\Finally_($this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
1514     }
1515
1516     protected function reduceRule171() {
1517          $this->semValue = $this->semStack[$this->stackPos-(2-1)];
1518     }
1519
1520     protected function reduceRule172() {
1521          $this->semValue = array($this->semStack[$this->stackPos-(1-1)]);
1522     }
1523
1524     protected function reduceRule173() {
1525          $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)];
1526     }
1527
1528     protected function reduceRule174() {
1529          $this->semValue = false;
1530     }
1531
1532     protected function reduceRule175() {
1533          $this->semValue = true;
1534     }
1535
1536     protected function reduceRule176() {
1537          $this->semValue = false;
1538     }
1539
1540     protected function reduceRule177() {
1541          $this->semValue = true;
1542     }
1543
1544     protected function reduceRule178() {
1545          $this->semValue = new Stmt\Function_($this->semStack[$this->stackPos-(10-3)], ['byRef' => $this->semStack[$this->stackPos-(10-2)], 'params' => $this->semStack[$this->stackPos-(10-5)], 'returnType' => $this->semStack[$this->stackPos-(10-7)], 'stmts' => $this->semStack[$this->stackPos-(10-9)]], $this->startAttributeStack[$this->stackPos-(10-1)] + $this->endAttributes);
1546     }
1547
1548     protected function reduceRule179() {
1549          $this->semValue = new Stmt\Class_($this->semStack[$this->stackPos-(7-2)], ['type' => $this->semStack[$this->stackPos-(7-1)], 'extends' => $this->semStack[$this->stackPos-(7-3)], 'implements' => $this->semStack[$this->stackPos-(7-4)], 'stmts' => $this->semStack[$this->stackPos-(7-6)]], $this->startAttributeStack[$this->stackPos-(7-1)] + $this->endAttributes);
1550             $this->checkClass($this->semValue, $this->stackPos-(7-2));
1551     }
1552
1553     protected function reduceRule180() {
1554          $this->semValue = new Stmt\Interface_($this->semStack[$this->stackPos-(6-2)], ['extends' => $this->semStack[$this->stackPos-(6-3)], 'stmts' => $this->semStack[$this->stackPos-(6-5)]], $this->startAttributeStack[$this->stackPos-(6-1)] + $this->endAttributes);
1555             $this->checkInterface($this->semValue, $this->stackPos-(6-2));
1556     }
1557
1558     protected function reduceRule181() {
1559          $this->semValue = new Stmt\Trait_($this->semStack[$this->stackPos-(5-2)], ['stmts' => $this->semStack[$this->stackPos-(5-4)]], $this->startAttributeStack[$this->stackPos-(5-1)] + $this->endAttributes);
1560     }
1561
1562     protected function reduceRule182() {
1563          $this->semValue = 0;
1564     }
1565
1566     protected function reduceRule183() {
1567          $this->semValue = Stmt\Class_::MODIFIER_ABSTRACT;
1568     }
1569
1570     protected function reduceRule184() {
1571          $this->semValue = Stmt\Class_::MODIFIER_FINAL;
1572     }
1573
1574     protected function reduceRule185() {
1575          $this->semValue = null;
1576     }
1577
1578     protected function reduceRule186() {
1579          $this->semValue = $this->semStack[$this->stackPos-(2-2)];
1580     }
1581
1582     protected function reduceRule187() {
1583          $this->semValue = array();
1584     }
1585
1586     protected function reduceRule188() {
1587          $this->semValue = $this->semStack[$this->stackPos-(2-2)];
1588     }
1589
1590     protected function reduceRule189() {
1591          $this->semValue = array();
1592     }
1593
1594     protected function reduceRule190() {
1595          $this->semValue = $this->semStack[$this->stackPos-(2-2)];
1596     }
1597
1598     protected function reduceRule191() {
1599          $this->semValue = $this->semStack[$this->stackPos-(2-1)];
1600     }
1601
1602     protected function reduceRule192() {
1603          $this->semValue = array($this->semStack[$this->stackPos-(1-1)]);
1604     }
1605
1606     protected function reduceRule193() {
1607          $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)];
1608     }
1609
1610     protected function reduceRule194() {
1611          $this->semValue = is_array($this->semStack[$this->stackPos-(1-1)]) ? $this->semStack[$this->stackPos-(1-1)] : array($this->semStack[$this->stackPos-(1-1)]);
1612     }
1613
1614     protected function reduceRule195() {
1615          $this->semValue = $this->semStack[$this->stackPos-(4-2)];
1616     }
1617
1618     protected function reduceRule196() {
1619          $this->semValue = is_array($this->semStack[$this->stackPos-(1-1)]) ? $this->semStack[$this->stackPos-(1-1)] : array($this->semStack[$this->stackPos-(1-1)]);
1620     }
1621
1622     protected function reduceRule197() {
1623          $this->semValue = $this->semStack[$this->stackPos-(4-2)];
1624     }
1625
1626     protected function reduceRule198() {
1627          $this->semValue = is_array($this->semStack[$this->stackPos-(1-1)]) ? $this->semStack[$this->stackPos-(1-1)] : array($this->semStack[$this->stackPos-(1-1)]);
1628     }
1629
1630     protected function reduceRule199() {
1631          $this->semValue = null;
1632     }
1633
1634     protected function reduceRule200() {
1635          $this->semValue = $this->semStack[$this->stackPos-(4-2)];
1636     }
1637
1638     protected function reduceRule201() {
1639          $this->semValue = $this->semStack[$this->stackPos-(2-1)];
1640     }
1641
1642     protected function reduceRule202() {
1643          $this->semValue = array($this->semStack[$this->stackPos-(1-1)]);
1644     }
1645
1646     protected function reduceRule203() {
1647          $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)];
1648     }
1649
1650     protected function reduceRule204() {
1651          $this->semValue = new Stmt\DeclareDeclare($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
1652     }
1653
1654     protected function reduceRule205() {
1655          $this->semValue = $this->semStack[$this->stackPos-(3-2)];
1656     }
1657
1658     protected function reduceRule206() {
1659          $this->semValue = $this->semStack[$this->stackPos-(4-3)];
1660     }
1661
1662     protected function reduceRule207() {
1663          $this->semValue = $this->semStack[$this->stackPos-(4-2)];
1664     }
1665
1666     protected function reduceRule208() {
1667          $this->semValue = $this->semStack[$this->stackPos-(5-3)];
1668     }
1669
1670     protected function reduceRule209() {
1671          $this->semValue = array();
1672     }
1673
1674     protected function reduceRule210() {
1675          $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)];
1676     }
1677
1678     protected function reduceRule211() {
1679          $this->semValue = new Stmt\Case_($this->semStack[$this->stackPos-(4-2)], $this->semStack[$this->stackPos-(4-4)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
1680     }
1681
1682     protected function reduceRule212() {
1683          $this->semValue = new Stmt\Case_(null, $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
1684     }
1685
1686     protected function reduceRule213() {
1687         $this->semValue = $this->semStack[$this->stackPos];
1688     }
1689
1690     protected function reduceRule214() {
1691         $this->semValue = $this->semStack[$this->stackPos];
1692     }
1693
1694     protected function reduceRule215() {
1695          $this->semValue = is_array($this->semStack[$this->stackPos-(1-1)]) ? $this->semStack[$this->stackPos-(1-1)] : array($this->semStack[$this->stackPos-(1-1)]);
1696     }
1697
1698     protected function reduceRule216() {
1699          $this->semValue = $this->semStack[$this->stackPos-(4-2)];
1700     }
1701
1702     protected function reduceRule217() {
1703          $this->semValue = array();
1704     }
1705
1706     protected function reduceRule218() {
1707          $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)];
1708     }
1709
1710     protected function reduceRule219() {
1711          $this->semValue = new Stmt\ElseIf_($this->semStack[$this->stackPos-(5-3)], is_array($this->semStack[$this->stackPos-(5-5)]) ? $this->semStack[$this->stackPos-(5-5)] : array($this->semStack[$this->stackPos-(5-5)]), $this->startAttributeStack[$this->stackPos-(5-1)] + $this->endAttributes);
1712     }
1713
1714     protected function reduceRule220() {
1715          $this->semValue = array();
1716     }
1717
1718     protected function reduceRule221() {
1719          $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)];
1720     }
1721
1722     protected function reduceRule222() {
1723          $this->semValue = new Stmt\ElseIf_($this->semStack[$this->stackPos-(6-3)], $this->semStack[$this->stackPos-(6-6)], $this->startAttributeStack[$this->stackPos-(6-1)] + $this->endAttributes);
1724     }
1725
1726     protected function reduceRule223() {
1727          $this->semValue = null;
1728     }
1729
1730     protected function reduceRule224() {
1731          $this->semValue = new Stmt\Else_(is_array($this->semStack[$this->stackPos-(2-2)]) ? $this->semStack[$this->stackPos-(2-2)] : array($this->semStack[$this->stackPos-(2-2)]), $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
1732     }
1733
1734     protected function reduceRule225() {
1735          $this->semValue = null;
1736     }
1737
1738     protected function reduceRule226() {
1739          $this->semValue = new Stmt\Else_($this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
1740     }
1741
1742     protected function reduceRule227() {
1743          $this->semValue = array($this->semStack[$this->stackPos-(1-1)], false);
1744     }
1745
1746     protected function reduceRule228() {
1747          $this->semValue = array($this->semStack[$this->stackPos-(2-2)], true);
1748     }
1749
1750     protected function reduceRule229() {
1751          $this->semValue = array($this->semStack[$this->stackPos-(1-1)], false);
1752     }
1753
1754     protected function reduceRule230() {
1755          $this->semValue = array($this->semStack[$this->stackPos-(1-1)], false);
1756     }
1757
1758     protected function reduceRule231() {
1759          $this->semValue = $this->semStack[$this->stackPos-(2-1)];
1760     }
1761
1762     protected function reduceRule232() {
1763          $this->semValue = array();
1764     }
1765
1766     protected function reduceRule233() {
1767          $this->semValue = array($this->semStack[$this->stackPos-(1-1)]);
1768     }
1769
1770     protected function reduceRule234() {
1771          $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)];
1772     }
1773
1774     protected function reduceRule235() {
1775          $this->semValue = new Node\Param(substr($this->semStack[$this->stackPos-(4-4)], 1), null, $this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-2)], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); $this->checkParam($this->semValue);
1776     }
1777
1778     protected function reduceRule236() {
1779          $this->semValue = new Node\Param(substr($this->semStack[$this->stackPos-(6-4)], 1), $this->semStack[$this->stackPos-(6-6)], $this->semStack[$this->stackPos-(6-1)], $this->semStack[$this->stackPos-(6-2)], $this->semStack[$this->stackPos-(6-3)], $this->startAttributeStack[$this->stackPos-(6-1)] + $this->endAttributes); $this->checkParam($this->semValue);
1780     }
1781
1782     protected function reduceRule237() {
1783          $this->semValue = $this->semStack[$this->stackPos-(1-1)];
1784     }
1785
1786     protected function reduceRule238() {
1787          $this->semValue = new Node\NullableType($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
1788     }
1789
1790     protected function reduceRule239() {
1791          $this->semValue = $this->handleBuiltinTypes($this->semStack[$this->stackPos-(1-1)]);
1792     }
1793
1794     protected function reduceRule240() {
1795          $this->semValue = 'array';
1796     }
1797
1798     protected function reduceRule241() {
1799          $this->semValue = 'callable';
1800     }
1801
1802     protected function reduceRule242() {
1803          $this->semValue = null;
1804     }
1805
1806     protected function reduceRule243() {
1807          $this->semValue = $this->semStack[$this->stackPos-(1-1)];
1808     }
1809
1810     protected function reduceRule244() {
1811          $this->semValue = null;
1812     }
1813
1814     protected function reduceRule245() {
1815          $this->semValue = $this->semStack[$this->stackPos-(2-2)];
1816     }
1817
1818     protected function reduceRule246() {
1819          $this->semValue = array();
1820     }
1821
1822     protected function reduceRule247() {
1823          $this->semValue = $this->semStack[$this->stackPos-(4-2)];
1824     }
1825
1826     protected function reduceRule248() {
1827          $this->semValue = array($this->semStack[$this->stackPos-(1-1)]);
1828     }
1829
1830     protected function reduceRule249() {
1831          $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)];
1832     }
1833
1834     protected function reduceRule250() {
1835          $this->semValue = new Node\Arg($this->semStack[$this->stackPos-(1-1)], false, false, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
1836     }
1837
1838     protected function reduceRule251() {
1839          $this->semValue = new Node\Arg($this->semStack[$this->stackPos-(2-2)], true, false, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
1840     }
1841
1842     protected function reduceRule252() {
1843          $this->semValue = new Node\Arg($this->semStack[$this->stackPos-(2-2)], false, true, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
1844     }
1845
1846     protected function reduceRule253() {
1847          $this->semValue = $this->semStack[$this->stackPos-(2-1)];
1848     }
1849
1850     protected function reduceRule254() {
1851          $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)];
1852     }
1853
1854     protected function reduceRule255() {
1855          $this->semValue = array($this->semStack[$this->stackPos-(1-1)]);
1856     }
1857
1858     protected function reduceRule256() {
1859          $this->semValue = new Expr\Variable($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
1860     }
1861
1862     protected function reduceRule257() {
1863          $this->semValue = $this->semStack[$this->stackPos-(2-1)];
1864     }
1865
1866     protected function reduceRule258() {
1867          $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)];
1868     }
1869
1870     protected function reduceRule259() {
1871          $this->semValue = array($this->semStack[$this->stackPos-(1-1)]);
1872     }
1873
1874     protected function reduceRule260() {
1875          $this->semValue = new Stmt\StaticVar(substr($this->semStack[$this->stackPos-(1-1)], 1), null, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
1876     }
1877
1878     protected function reduceRule261() {
1879          $this->semValue = new Stmt\StaticVar(substr($this->semStack[$this->stackPos-(3-1)], 1), $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
1880     }
1881
1882     protected function reduceRule262() {
1883          $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)];
1884     }
1885
1886     protected function reduceRule263() {
1887          $this->semValue = array();
1888     }
1889
1890     protected function reduceRule264() {
1891          $this->semValue = new Stmt\Property($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); $this->checkProperty($this->semValue, $this->stackPos-(3-1));
1892     }
1893
1894     protected function reduceRule265() {
1895          $this->semValue = new Stmt\ClassConst($this->semStack[$this->stackPos-(4-3)], $this->semStack[$this->stackPos-(4-1)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes); $this->checkClassConst($this->semValue, $this->stackPos-(4-1));
1896     }
1897
1898     protected function reduceRule266() {
1899          $this->semValue = new Stmt\ClassMethod($this->semStack[$this->stackPos-(9-4)], ['type' => $this->semStack[$this->stackPos-(9-1)], 'byRef' => $this->semStack[$this->stackPos-(9-3)], 'params' => $this->semStack[$this->stackPos-(9-6)], 'returnType' => $this->semStack[$this->stackPos-(9-8)], 'stmts' => $this->semStack[$this->stackPos-(9-9)]], $this->startAttributeStack[$this->stackPos-(9-1)] + $this->endAttributes);
1900             $this->checkClassMethod($this->semValue, $this->stackPos-(9-1));
1901     }
1902
1903     protected function reduceRule267() {
1904          $this->semValue = new Stmt\TraitUse($this->semStack[$this->stackPos-(3-2)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
1905     }
1906
1907     protected function reduceRule268() {
1908          $this->semValue = array();
1909     }
1910
1911     protected function reduceRule269() {
1912          $this->semValue = $this->semStack[$this->stackPos-(3-2)];
1913     }
1914
1915     protected function reduceRule270() {
1916          $this->semValue = array();
1917     }
1918
1919     protected function reduceRule271() {
1920          $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)];
1921     }
1922
1923     protected function reduceRule272() {
1924          $this->semValue = new Stmt\TraitUseAdaptation\Precedence($this->semStack[$this->stackPos-(4-1)][0], $this->semStack[$this->stackPos-(4-1)][1], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
1925     }
1926
1927     protected function reduceRule273() {
1928          $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$this->stackPos-(5-1)][0], $this->semStack[$this->stackPos-(5-1)][1], $this->semStack[$this->stackPos-(5-3)], $this->semStack[$this->stackPos-(5-4)], $this->startAttributeStack[$this->stackPos-(5-1)] + $this->endAttributes);
1929     }
1930
1931     protected function reduceRule274() {
1932          $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$this->stackPos-(4-1)][0], $this->semStack[$this->stackPos-(4-1)][1], $this->semStack[$this->stackPos-(4-3)], null, $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
1933     }
1934
1935     protected function reduceRule275() {
1936          $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$this->stackPos-(4-1)][0], $this->semStack[$this->stackPos-(4-1)][1], null, $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
1937     }
1938
1939     protected function reduceRule276() {
1940          $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$this->stackPos-(4-1)][0], $this->semStack[$this->stackPos-(4-1)][1], null, $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
1941     }
1942
1943     protected function reduceRule277() {
1944          $this->semValue = array($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)]);
1945     }
1946
1947     protected function reduceRule278() {
1948          $this->semValue = $this->semStack[$this->stackPos-(1-1)];
1949     }
1950
1951     protected function reduceRule279() {
1952          $this->semValue = array(null, $this->semStack[$this->stackPos-(1-1)]);
1953     }
1954
1955     protected function reduceRule280() {
1956          $this->semValue = null;
1957     }
1958
1959     protected function reduceRule281() {
1960          $this->semValue = $this->semStack[$this->stackPos-(3-2)];
1961     }
1962
1963     protected function reduceRule282() {
1964          $this->semValue = $this->semStack[$this->stackPos-(1-1)];
1965     }
1966
1967     protected function reduceRule283() {
1968          $this->semValue = 0;
1969     }
1970
1971     protected function reduceRule284() {
1972          $this->semValue = 0;
1973     }
1974
1975     protected function reduceRule285() {
1976          $this->semValue = $this->semStack[$this->stackPos-(1-1)];
1977     }
1978
1979     protected function reduceRule286() {
1980          $this->semValue = $this->semStack[$this->stackPos-(1-1)];
1981     }
1982
1983     protected function reduceRule287() {
1984          $this->checkModifier($this->semStack[$this->stackPos-(2-1)], $this->semStack[$this->stackPos-(2-2)], $this->stackPos-(2-2)); $this->semValue = $this->semStack[$this->stackPos-(2-1)] | $this->semStack[$this->stackPos-(2-2)];
1985     }
1986
1987     protected function reduceRule288() {
1988          $this->semValue = Stmt\Class_::MODIFIER_PUBLIC;
1989     }
1990
1991     protected function reduceRule289() {
1992          $this->semValue = Stmt\Class_::MODIFIER_PROTECTED;
1993     }
1994
1995     protected function reduceRule290() {
1996          $this->semValue = Stmt\Class_::MODIFIER_PRIVATE;
1997     }
1998
1999     protected function reduceRule291() {
2000          $this->semValue = Stmt\Class_::MODIFIER_STATIC;
2001     }
2002
2003     protected function reduceRule292() {
2004          $this->semValue = Stmt\Class_::MODIFIER_ABSTRACT;
2005     }
2006
2007     protected function reduceRule293() {
2008          $this->semValue = Stmt\Class_::MODIFIER_FINAL;
2009     }
2010
2011     protected function reduceRule294() {
2012          $this->semValue = $this->semStack[$this->stackPos-(2-1)];
2013     }
2014
2015     protected function reduceRule295() {
2016          $this->semValue = array($this->semStack[$this->stackPos-(1-1)]);
2017     }
2018
2019     protected function reduceRule296() {
2020          $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)];
2021     }
2022
2023     protected function reduceRule297() {
2024          $this->semValue = new Stmt\PropertyProperty(substr($this->semStack[$this->stackPos-(1-1)], 1), null, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
2025     }
2026
2027     protected function reduceRule298() {
2028          $this->semValue = new Stmt\PropertyProperty(substr($this->semStack[$this->stackPos-(3-1)], 1), $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
2029     }
2030
2031     protected function reduceRule299() {
2032          $this->semValue = $this->semStack[$this->stackPos-(2-1)];
2033     }
2034
2035     protected function reduceRule300() {
2036          $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)];
2037     }
2038
2039     protected function reduceRule301() {
2040          $this->semValue = array($this->semStack[$this->stackPos-(1-1)]);
2041     }
2042
2043     protected function reduceRule302() {
2044          $this->semValue = array();
2045     }
2046
2047     protected function reduceRule303() {
2048          $this->semValue = $this->semStack[$this->stackPos-(1-1)];
2049     }
2050
2051     protected function reduceRule304() {
2052          $this->semValue = $this->semStack[$this->stackPos-(1-1)];
2053     }
2054
2055     protected function reduceRule305() {
2056          $this->semValue = new Expr\Assign($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
2057     }
2058
2059     protected function reduceRule306() {
2060          $this->semValue = new Expr\Assign($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
2061     }
2062
2063     protected function reduceRule307() {
2064          $this->semValue = new Expr\Assign($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
2065     }
2066
2067     protected function reduceRule308() {
2068          $this->semValue = new Expr\AssignRef($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-4)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
2069     }
2070
2071     protected function reduceRule309() {
2072          $this->semValue = $this->semStack[$this->stackPos-(1-1)];
2073     }
2074
2075     protected function reduceRule310() {
2076          $this->semValue = new Expr\Clone_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
2077     }
2078
2079     protected function reduceRule311() {
2080          $this->semValue = new Expr\AssignOp\Plus($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
2081     }
2082
2083     protected function reduceRule312() {
2084          $this->semValue = new Expr\AssignOp\Minus($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
2085     }
2086
2087     protected function reduceRule313() {
2088          $this->semValue = new Expr\AssignOp\Mul($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
2089     }
2090
2091     protected function reduceRule314() {
2092          $this->semValue = new Expr\AssignOp\Div($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
2093     }
2094
2095     protected function reduceRule315() {
2096          $this->semValue = new Expr\AssignOp\Concat($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
2097     }
2098
2099     protected function reduceRule316() {
2100          $this->semValue = new Expr\AssignOp\Mod($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
2101     }
2102
2103     protected function reduceRule317() {
2104          $this->semValue = new Expr\AssignOp\BitwiseAnd($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
2105     }
2106
2107     protected function reduceRule318() {
2108          $this->semValue = new Expr\AssignOp\BitwiseOr($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
2109     }
2110
2111     protected function reduceRule319() {
2112          $this->semValue = new Expr\AssignOp\BitwiseXor($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
2113     }
2114
2115     protected function reduceRule320() {
2116          $this->semValue = new Expr\AssignOp\ShiftLeft($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
2117     }
2118
2119     protected function reduceRule321() {
2120          $this->semValue = new Expr\AssignOp\ShiftRight($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
2121     }
2122
2123     protected function reduceRule322() {
2124          $this->semValue = new Expr\AssignOp\Pow($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
2125     }
2126
2127     protected function reduceRule323() {
2128          $this->semValue = new Expr\PostInc($this->semStack[$this->stackPos-(2-1)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
2129     }
2130
2131     protected function reduceRule324() {
2132          $this->semValue = new Expr\PreInc($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
2133     }
2134
2135     protected function reduceRule325() {
2136          $this->semValue = new Expr\PostDec($this->semStack[$this->stackPos-(2-1)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
2137     }
2138
2139     protected function reduceRule326() {
2140          $this->semValue = new Expr\PreDec($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
2141     }
2142
2143     protected function reduceRule327() {
2144          $this->semValue = new Expr\BinaryOp\BooleanOr($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
2145     }
2146
2147     protected function reduceRule328() {
2148          $this->semValue = new Expr\BinaryOp\BooleanAnd($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
2149     }
2150
2151     protected function reduceRule329() {
2152          $this->semValue = new Expr\BinaryOp\LogicalOr($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
2153     }
2154
2155     protected function reduceRule330() {
2156          $this->semValue = new Expr\BinaryOp\LogicalAnd($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
2157     }
2158
2159     protected function reduceRule331() {
2160          $this->semValue = new Expr\BinaryOp\LogicalXor($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
2161     }
2162
2163     protected function reduceRule332() {
2164          $this->semValue = new Expr\BinaryOp\BitwiseOr($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
2165     }
2166
2167     protected function reduceRule333() {
2168          $this->semValue = new Expr\BinaryOp\BitwiseAnd($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
2169     }
2170
2171     protected function reduceRule334() {
2172          $this->semValue = new Expr\BinaryOp\BitwiseXor($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
2173     }
2174
2175     protected function reduceRule335() {
2176          $this->semValue = new Expr\BinaryOp\Concat($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
2177     }
2178
2179     protected function reduceRule336() {
2180          $this->semValue = new Expr\BinaryOp\Plus($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
2181     }
2182
2183     protected function reduceRule337() {
2184          $this->semValue = new Expr\BinaryOp\Minus($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
2185     }
2186
2187     protected function reduceRule338() {
2188          $this->semValue = new Expr\BinaryOp\Mul($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
2189     }
2190
2191     protected function reduceRule339() {
2192          $this->semValue = new Expr\BinaryOp\Div($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
2193     }
2194
2195     protected function reduceRule340() {
2196          $this->semValue = new Expr\BinaryOp\Mod($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
2197     }
2198
2199     protected function reduceRule341() {
2200          $this->semValue = new Expr\BinaryOp\ShiftLeft($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
2201     }
2202
2203     protected function reduceRule342() {
2204          $this->semValue = new Expr\BinaryOp\ShiftRight($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
2205     }
2206
2207     protected function reduceRule343() {
2208          $this->semValue = new Expr\BinaryOp\Pow($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
2209     }
2210
2211     protected function reduceRule344() {
2212          $this->semValue = new Expr\UnaryPlus($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
2213     }
2214
2215     protected function reduceRule345() {
2216          $this->semValue = new Expr\UnaryMinus($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
2217     }
2218
2219     protected function reduceRule346() {
2220          $this->semValue = new Expr\BooleanNot($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
2221     }
2222
2223     protected function reduceRule347() {
2224          $this->semValue = new Expr\BitwiseNot($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
2225     }
2226
2227     protected function reduceRule348() {
2228          $this->semValue = new Expr\BinaryOp\Identical($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
2229     }
2230
2231     protected function reduceRule349() {
2232          $this->semValue = new Expr\BinaryOp\NotIdentical($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
2233     }
2234
2235     protected function reduceRule350() {
2236          $this->semValue = new Expr\BinaryOp\Equal($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
2237     }
2238
2239     protected function reduceRule351() {
2240          $this->semValue = new Expr\BinaryOp\NotEqual($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
2241     }
2242
2243     protected function reduceRule352() {
2244          $this->semValue = new Expr\BinaryOp\Spaceship($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
2245     }
2246
2247     protected function reduceRule353() {
2248          $this->semValue = new Expr\BinaryOp\Smaller($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
2249     }
2250
2251     protected function reduceRule354() {
2252          $this->semValue = new Expr\BinaryOp\SmallerOrEqual($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
2253     }
2254
2255     protected function reduceRule355() {
2256          $this->semValue = new Expr\BinaryOp\Greater($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
2257     }
2258
2259     protected function reduceRule356() {
2260          $this->semValue = new Expr\BinaryOp\GreaterOrEqual($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
2261     }
2262
2263     protected function reduceRule357() {
2264          $this->semValue = new Expr\Instanceof_($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
2265     }
2266
2267     protected function reduceRule358() {
2268          $this->semValue = $this->semStack[$this->stackPos-(3-2)];
2269     }
2270
2271     protected function reduceRule359() {
2272          $this->semValue = new Expr\Ternary($this->semStack[$this->stackPos-(5-1)], $this->semStack[$this->stackPos-(5-3)], $this->semStack[$this->stackPos-(5-5)], $this->startAttributeStack[$this->stackPos-(5-1)] + $this->endAttributes);
2273     }
2274
2275     protected function reduceRule360() {
2276          $this->semValue = new Expr\Ternary($this->semStack[$this->stackPos-(4-1)], null, $this->semStack[$this->stackPos-(4-4)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
2277     }
2278
2279     protected function reduceRule361() {
2280          $this->semValue = new Expr\BinaryOp\Coalesce($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
2281     }
2282
2283     protected function reduceRule362() {
2284          $this->semValue = new Expr\Isset_($this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
2285     }
2286
2287     protected function reduceRule363() {
2288          $this->semValue = new Expr\Empty_($this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
2289     }
2290
2291     protected function reduceRule364() {
2292          $this->semValue = new Expr\Include_($this->semStack[$this->stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
2293     }
2294
2295     protected function reduceRule365() {
2296          $this->semValue = new Expr\Include_($this->semStack[$this->stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE_ONCE, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
2297     }
2298
2299     protected function reduceRule366() {
2300          $this->semValue = new Expr\Eval_($this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
2301     }
2302
2303     protected function reduceRule367() {
2304          $this->semValue = new Expr\Include_($this->semStack[$this->stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
2305     }
2306
2307     protected function reduceRule368() {
2308          $this->semValue = new Expr\Include_($this->semStack[$this->stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE_ONCE, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
2309     }
2310
2311     protected function reduceRule369() {
2312          $this->semValue = new Expr\Cast\Int_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
2313     }
2314
2315     protected function reduceRule370() {
2316          $this->semValue = new Expr\Cast\Double($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
2317     }
2318
2319     protected function reduceRule371() {
2320          $this->semValue = new Expr\Cast\String_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
2321     }
2322
2323     protected function reduceRule372() {
2324          $this->semValue = new Expr\Cast\Array_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
2325     }
2326
2327     protected function reduceRule373() {
2328          $this->semValue = new Expr\Cast\Object_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
2329     }
2330
2331     protected function reduceRule374() {
2332          $this->semValue = new Expr\Cast\Bool_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
2333     }
2334
2335     protected function reduceRule375() {
2336          $this->semValue = new Expr\Cast\Unset_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
2337     }
2338
2339     protected function reduceRule376() {
2340          $attrs = $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes;
2341             $attrs['kind'] = strtolower($this->semStack[$this->stackPos-(2-1)]) === 'exit' ? Expr\Exit_::KIND_EXIT : Expr\Exit_::KIND_DIE;
2342             $this->semValue = new Expr\Exit_($this->semStack[$this->stackPos-(2-2)], $attrs);
2343     }
2344
2345     protected function reduceRule377() {
2346          $this->semValue = new Expr\ErrorSuppress($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
2347     }
2348
2349     protected function reduceRule378() {
2350          $this->semValue = $this->semStack[$this->stackPos-(1-1)];
2351     }
2352
2353     protected function reduceRule379() {
2354          $this->semValue = new Expr\ShellExec($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
2355     }
2356
2357     protected function reduceRule380() {
2358          $this->semValue = new Expr\Print_($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
2359     }
2360
2361     protected function reduceRule381() {
2362          $this->semValue = new Expr\Yield_(null, null, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
2363     }
2364
2365     protected function reduceRule382() {
2366          $this->semValue = new Expr\Yield_($this->semStack[$this->stackPos-(2-2)], null, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
2367     }
2368
2369     protected function reduceRule383() {
2370          $this->semValue = new Expr\Yield_($this->semStack[$this->stackPos-(4-4)], $this->semStack[$this->stackPos-(4-2)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
2371     }
2372
2373     protected function reduceRule384() {
2374          $this->semValue = new Expr\YieldFrom($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
2375     }
2376
2377     protected function reduceRule385() {
2378          $this->semValue = new Expr\Closure(['static' => false, 'byRef' => $this->semStack[$this->stackPos-(10-2)], 'params' => $this->semStack[$this->stackPos-(10-4)], 'uses' => $this->semStack[$this->stackPos-(10-6)], 'returnType' => $this->semStack[$this->stackPos-(10-7)], 'stmts' => $this->semStack[$this->stackPos-(10-9)]], $this->startAttributeStack[$this->stackPos-(10-1)] + $this->endAttributes);
2379     }
2380
2381     protected function reduceRule386() {
2382          $this->semValue = new Expr\Closure(['static' => true, 'byRef' => $this->semStack[$this->stackPos-(11-3)], 'params' => $this->semStack[$this->stackPos-(11-5)], 'uses' => $this->semStack[$this->stackPos-(11-7)], 'returnType' => $this->semStack[$this->stackPos-(11-8)], 'stmts' => $this->semStack[$this->stackPos-(11-10)]], $this->startAttributeStack[$this->stackPos-(11-1)] + $this->endAttributes);
2383     }
2384
2385     protected function reduceRule387() {
2386          $this->semValue = array(new Stmt\Class_(null, ['type' => 0, 'extends' => $this->semStack[$this->stackPos-(7-3)], 'implements' => $this->semStack[$this->stackPos-(7-4)], 'stmts' => $this->semStack[$this->stackPos-(7-6)]], $this->startAttributeStack[$this->stackPos-(7-1)] + $this->endAttributes), $this->semStack[$this->stackPos-(7-2)]);
2387             $this->checkClass($this->semValue[0], -1);
2388     }
2389
2390     protected function reduceRule388() {
2391          $this->semValue = new Expr\New_($this->semStack[$this->stackPos-(3-2)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
2392     }
2393
2394     protected function reduceRule389() {
2395          list($class, $ctorArgs) = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = new Expr\New_($class, $ctorArgs, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
2396     }
2397
2398     protected function reduceRule390() {
2399          $this->semValue = array();
2400     }
2401
2402     protected function reduceRule391() {
2403          $this->semValue = $this->semStack[$this->stackPos-(4-3)];
2404     }
2405
2406     protected function reduceRule392() {
2407          $this->semValue = $this->semStack[$this->stackPos-(2-1)];
2408     }
2409
2410     protected function reduceRule393() {
2411          $this->semValue = array($this->semStack[$this->stackPos-(1-1)]);
2412     }
2413
2414     protected function reduceRule394() {
2415          $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)];
2416     }
2417
2418     protected function reduceRule395() {
2419          $this->semValue = new Expr\ClosureUse(substr($this->semStack[$this->stackPos-(2-2)], 1), $this->semStack[$this->stackPos-(2-1)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
2420     }
2421
2422     protected function reduceRule396() {
2423          $this->semValue = new Expr\FuncCall($this->semStack[$this->stackPos-(2-1)], $this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
2424     }
2425
2426     protected function reduceRule397() {
2427          $this->semValue = new Expr\FuncCall($this->semStack[$this->stackPos-(2-1)], $this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
2428     }
2429
2430     protected function reduceRule398() {
2431          $this->semValue = new Expr\StaticCall($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->semStack[$this->stackPos-(4-4)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
2432     }
2433
2434     protected function reduceRule399() {
2435          $this->semValue = new Name($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
2436     }
2437
2438     protected function reduceRule400() {
2439          $this->semValue = $this->semStack[$this->stackPos-(1-1)];
2440     }
2441
2442     protected function reduceRule401() {
2443          $this->semValue = new Name($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
2444     }
2445
2446     protected function reduceRule402() {
2447          $this->semValue = new Name\FullyQualified($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
2448     }
2449
2450     protected function reduceRule403() {
2451          $this->semValue = new Name\Relative($this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
2452     }
2453
2454     protected function reduceRule404() {
2455          $this->semValue = $this->semStack[$this->stackPos-(1-1)];
2456     }
2457
2458     protected function reduceRule405() {
2459          $this->semValue = $this->semStack[$this->stackPos-(1-1)];
2460     }
2461
2462     protected function reduceRule406() {
2463          $this->semValue = new Expr\Error($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); $this->errorState = 2;
2464     }
2465
2466     protected function reduceRule407() {
2467          $this->semValue = $this->semStack[$this->stackPos-(1-1)];
2468     }
2469
2470     protected function reduceRule408() {
2471          $this->semValue = $this->semStack[$this->stackPos-(1-1)];
2472     }
2473
2474     protected function reduceRule409() {
2475          $this->semValue = null;
2476     }
2477
2478     protected function reduceRule410() {
2479          $this->semValue = $this->semStack[$this->stackPos-(3-2)];
2480     }
2481
2482     protected function reduceRule411() {
2483          $this->semValue = array();
2484     }
2485
2486     protected function reduceRule412() {
2487          $this->semValue = array(new Scalar\EncapsedStringPart(Scalar\String_::parseEscapeSequences($this->semStack[$this->stackPos-(1-1)], '`'), $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes));
2488     }
2489
2490     protected function reduceRule413() {
2491          foreach ($this->semStack[$this->stackPos-(1-1)] as $s) { if ($s instanceof Node\Scalar\EncapsedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '`', true); } }; $this->semValue = $this->semStack[$this->stackPos-(1-1)];
2492     }
2493
2494     protected function reduceRule414() {
2495          $this->semValue = array();
2496     }
2497
2498     protected function reduceRule415() {
2499          $this->semValue = $this->semStack[$this->stackPos-(1-1)];
2500     }
2501
2502     protected function reduceRule416() {
2503          $this->semValue = new Expr\ConstFetch($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
2504     }
2505
2506     protected function reduceRule417() {
2507          $this->semValue = new Expr\ClassConstFetch($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
2508     }
2509
2510     protected function reduceRule418() {
2511          $this->semValue = new Expr\ClassConstFetch($this->semStack[$this->stackPos-(3-1)], new Expr\Error($this->startAttributeStack[$this->stackPos-(3-3)] + $this->endAttributeStack[$this->stackPos-(3-3)]), $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes); $this->errorState = 2;
2512     }
2513
2514     protected function reduceRule419() {
2515          $attrs = $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes; $attrs['kind'] = Expr\Array_::KIND_SHORT;
2516             $this->semValue = new Expr\Array_($this->semStack[$this->stackPos-(3-2)], $attrs);
2517     }
2518
2519     protected function reduceRule420() {
2520          $attrs = $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes; $attrs['kind'] = Expr\Array_::KIND_LONG;
2521             $this->semValue = new Expr\Array_($this->semStack[$this->stackPos-(4-3)], $attrs);
2522     }
2523
2524     protected function reduceRule421() {
2525          $this->semValue = $this->semStack[$this->stackPos-(1-1)];
2526     }
2527
2528     protected function reduceRule422() {
2529          $attrs = $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes; $attrs['kind'] = ($this->semStack[$this->stackPos-(1-1)][0] === "'" || ($this->semStack[$this->stackPos-(1-1)][1] === "'" && ($this->semStack[$this->stackPos-(1-1)][0] === 'b' || $this->semStack[$this->stackPos-(1-1)][0] === 'B')) ? Scalar\String_::KIND_SINGLE_QUOTED : Scalar\String_::KIND_DOUBLE_QUOTED);
2530             $this->semValue = new Scalar\String_(Scalar\String_::parse($this->semStack[$this->stackPos-(1-1)]), $attrs);
2531     }
2532
2533     protected function reduceRule423() {
2534          $this->semValue = $this->parseLNumber($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
2535     }
2536
2537     protected function reduceRule424() {
2538          $this->semValue = new Scalar\DNumber(Scalar\DNumber::parse($this->semStack[$this->stackPos-(1-1)]), $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
2539     }
2540
2541     protected function reduceRule425() {
2542          $this->semValue = new Scalar\MagicConst\Line($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
2543     }
2544
2545     protected function reduceRule426() {
2546          $this->semValue = new Scalar\MagicConst\File($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
2547     }
2548
2549     protected function reduceRule427() {
2550          $this->semValue = new Scalar\MagicConst\Dir($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
2551     }
2552
2553     protected function reduceRule428() {
2554          $this->semValue = new Scalar\MagicConst\Class_($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
2555     }
2556
2557     protected function reduceRule429() {
2558          $this->semValue = new Scalar\MagicConst\Trait_($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
2559     }
2560
2561     protected function reduceRule430() {
2562          $this->semValue = new Scalar\MagicConst\Method($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
2563     }
2564
2565     protected function reduceRule431() {
2566          $this->semValue = new Scalar\MagicConst\Function_($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
2567     }
2568
2569     protected function reduceRule432() {
2570          $this->semValue = new Scalar\MagicConst\Namespace_($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
2571     }
2572
2573     protected function reduceRule433() {
2574          $this->semValue = $this->semStack[$this->stackPos-(1-1)];
2575     }
2576
2577     protected function reduceRule434() {
2578          $this->semValue = $this->semStack[$this->stackPos-(1-1)];
2579     }
2580
2581     protected function reduceRule435() {
2582          $attrs = $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes; $attrs['kind'] = strpos($this->semStack[$this->stackPos-(3-1)], "'") === false ? Scalar\String_::KIND_HEREDOC : Scalar\String_::KIND_NOWDOC; preg_match('/\A[bB]?<<<[ \t]*[\'"]?([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)[\'"]?(?:\r\n|\n|\r)\z/', $this->semStack[$this->stackPos-(3-1)], $matches); $attrs['docLabel'] = $matches[1];;
2583             $this->semValue = new Scalar\String_(Scalar\String_::parseDocString($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-2)]), $attrs);
2584     }
2585
2586     protected function reduceRule436() {
2587          $attrs = $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes; $attrs['kind'] = strpos($this->semStack[$this->stackPos-(2-1)], "'") === false ? Scalar\String_::KIND_HEREDOC : Scalar\String_::KIND_NOWDOC; preg_match('/\A[bB]?<<<[ \t]*[\'"]?([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)[\'"]?(?:\r\n|\n|\r)\z/', $this->semStack[$this->stackPos-(2-1)], $matches); $attrs['docLabel'] = $matches[1];;
2588             $this->semValue = new Scalar\String_('', $attrs);
2589     }
2590
2591     protected function reduceRule437() {
2592          $attrs = $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes; $attrs['kind'] = Scalar\String_::KIND_DOUBLE_QUOTED;
2593             foreach ($this->semStack[$this->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[$this->stackPos-(3-2)], $attrs);
2594     }
2595
2596     protected function reduceRule438() {
2597          $attrs = $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes; $attrs['kind'] = strpos($this->semStack[$this->stackPos-(3-1)], "'") === false ? Scalar\String_::KIND_HEREDOC : Scalar\String_::KIND_NOWDOC; preg_match('/\A[bB]?<<<[ \t]*[\'"]?([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)[\'"]?(?:\r\n|\n|\r)\z/', $this->semStack[$this->stackPos-(3-1)], $matches); $attrs['docLabel'] = $matches[1];;
2598             foreach ($this->semStack[$this->stackPos-(3-2)] as $s) { if ($s instanceof Node\Scalar\EncapsedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, null, true); } } $s->value = preg_replace('~(\r\n|\n|\r)\z~', '', $s->value); if ('' === $s->value) array_pop($this->semStack[$this->stackPos-(3-2)]);; $this->semValue = new Scalar\Encapsed($this->semStack[$this->stackPos-(3-2)], $attrs);
2599     }
2600
2601     protected function reduceRule439() {
2602          $this->semValue = null;
2603     }
2604
2605     protected function reduceRule440() {
2606          $this->semValue = $this->semStack[$this->stackPos-(1-1)];
2607     }
2608
2609     protected function reduceRule441() {
2610          $this->semValue = $this->semStack[$this->stackPos-(1-1)];
2611     }
2612
2613     protected function reduceRule442() {
2614          $this->semValue = $this->semStack[$this->stackPos-(3-2)];
2615     }
2616
2617     protected function reduceRule443() {
2618          $this->semValue = $this->semStack[$this->stackPos-(1-1)];
2619     }
2620
2621     protected function reduceRule444() {
2622          $this->semValue = $this->semStack[$this->stackPos-(1-1)];
2623     }
2624
2625     protected function reduceRule445() {
2626          $this->semValue = $this->semStack[$this->stackPos-(3-2)];
2627     }
2628
2629     protected function reduceRule446() {
2630          $this->semValue = $this->semStack[$this->stackPos-(1-1)];
2631     }
2632
2633     protected function reduceRule447() {
2634          $this->semValue = new Expr\Variable($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
2635     }
2636
2637     protected function reduceRule448() {
2638          $this->semValue = new Expr\ArrayDimFetch($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
2639     }
2640
2641     protected function reduceRule449() {
2642          $this->semValue = new Expr\ArrayDimFetch($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
2643     }
2644
2645     protected function reduceRule450() {
2646          $this->semValue = new Expr\ArrayDimFetch($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
2647     }
2648
2649     protected function reduceRule451() {
2650          $this->semValue = $this->semStack[$this->stackPos-(1-1)];
2651     }
2652
2653     protected function reduceRule452() {
2654          $this->semValue = new Expr\MethodCall($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->semStack[$this->stackPos-(4-4)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
2655     }
2656
2657     protected function reduceRule453() {
2658          $this->semValue = $this->semStack[$this->stackPos-(1-1)];
2659     }
2660
2661     protected function reduceRule454() {
2662          $this->semValue = $this->semStack[$this->stackPos-(1-1)];
2663     }
2664
2665     protected function reduceRule455() {
2666          $this->semValue = new Expr\PropertyFetch($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
2667     }
2668
2669     protected function reduceRule456() {
2670          $this->semValue = substr($this->semStack[$this->stackPos-(1-1)], 1);
2671     }
2672
2673     protected function reduceRule457() {
2674          $this->semValue = $this->semStack[$this->stackPos-(4-3)];
2675     }
2676
2677     protected function reduceRule458() {
2678          $this->semValue = new Expr\Variable($this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
2679     }
2680
2681     protected function reduceRule459() {
2682          $this->semValue = new Expr\Error($this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes); $this->errorState = 2;
2683     }
2684
2685     protected function reduceRule460() {
2686          $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
2687     }
2688
2689     protected function reduceRule461() {
2690          $this->semValue = new Expr\Variable($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
2691     }
2692
2693     protected function reduceRule462() {
2694          $this->semValue = new Expr\ArrayDimFetch($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
2695     }
2696
2697     protected function reduceRule463() {
2698          $this->semValue = new Expr\ArrayDimFetch($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
2699     }
2700
2701     protected function reduceRule464() {
2702          $this->semValue = new Expr\PropertyFetch($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
2703     }
2704
2705     protected function reduceRule465() {
2706          $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
2707     }
2708
2709     protected function reduceRule466() {
2710          $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
2711     }
2712
2713     protected function reduceRule467() {
2714          $this->semValue = $this->semStack[$this->stackPos-(1-1)];
2715     }
2716
2717     protected function reduceRule468() {
2718          $this->semValue = $this->semStack[$this->stackPos-(3-2)];
2719     }
2720
2721     protected function reduceRule469() {
2722          $this->semValue = new Expr\Variable($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
2723     }
2724
2725     protected function reduceRule470() {
2726          $this->semValue = $this->semStack[$this->stackPos-(1-1)];
2727     }
2728
2729     protected function reduceRule471() {
2730          $this->semValue = $this->semStack[$this->stackPos-(3-2)];
2731     }
2732
2733     protected function reduceRule472() {
2734          $this->semValue = new Expr\Variable($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
2735     }
2736
2737     protected function reduceRule473() {
2738          $this->semValue = new Expr\Error($this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes); $this->errorState = 2;
2739     }
2740
2741     protected function reduceRule474() {
2742          $this->semValue = new Expr\List_($this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
2743     }
2744
2745     protected function reduceRule475() {
2746          $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)];
2747     }
2748
2749     protected function reduceRule476() {
2750          $this->semValue = array($this->semStack[$this->stackPos-(1-1)]);
2751     }
2752
2753     protected function reduceRule477() {
2754          $this->semValue = new Expr\ArrayItem($this->semStack[$this->stackPos-(1-1)], null, false, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
2755     }
2756
2757     protected function reduceRule478() {
2758          $this->semValue = new Expr\ArrayItem($this->semStack[$this->stackPos-(1-1)], null, false, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
2759     }
2760
2761     protected function reduceRule479() {
2762          $this->semValue = new Expr\ArrayItem($this->semStack[$this->stackPos-(3-3)], $this->semStack[$this->stackPos-(3-1)], false, $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
2763     }
2764
2765     protected function reduceRule480() {
2766          $this->semValue = new Expr\ArrayItem($this->semStack[$this->stackPos-(3-3)], $this->semStack[$this->stackPos-(3-1)], false, $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
2767     }
2768
2769     protected function reduceRule481() {
2770          $this->semValue = null;
2771     }
2772
2773     protected function reduceRule482() {
2774          $this->semValue = $this->semStack[$this->stackPos-(1-1)]; $end = count($this->semValue)-1; if ($this->semValue[$end] === null) unset($this->semValue[$end]);
2775     }
2776
2777     protected function reduceRule483() {
2778          $this->semStack[$this->stackPos-(3-1)][] = $this->semStack[$this->stackPos-(3-3)]; $this->semValue = $this->semStack[$this->stackPos-(3-1)];
2779     }
2780
2781     protected function reduceRule484() {
2782          $this->semValue = array($this->semStack[$this->stackPos-(1-1)]);
2783     }
2784
2785     protected function reduceRule485() {
2786          $this->semValue = new Expr\ArrayItem($this->semStack[$this->stackPos-(3-3)], $this->semStack[$this->stackPos-(3-1)], false, $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
2787     }
2788
2789     protected function reduceRule486() {
2790          $this->semValue = new Expr\ArrayItem($this->semStack[$this->stackPos-(1-1)], null, false, $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
2791     }
2792
2793     protected function reduceRule487() {
2794          $this->semValue = new Expr\ArrayItem($this->semStack[$this->stackPos-(4-4)], $this->semStack[$this->stackPos-(4-1)], true, $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
2795     }
2796
2797     protected function reduceRule488() {
2798          $this->semValue = new Expr\ArrayItem($this->semStack[$this->stackPos-(2-2)], null, true, $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
2799     }
2800
2801     protected function reduceRule489() {
2802          $this->semValue = null;
2803     }
2804
2805     protected function reduceRule490() {
2806          $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)];
2807     }
2808
2809     protected function reduceRule491() {
2810          $this->semStack[$this->stackPos-(2-1)][] = $this->semStack[$this->stackPos-(2-2)]; $this->semValue = $this->semStack[$this->stackPos-(2-1)];
2811     }
2812
2813     protected function reduceRule492() {
2814          $this->semValue = array($this->semStack[$this->stackPos-(1-1)]);
2815     }
2816
2817     protected function reduceRule493() {
2818          $this->semValue = array($this->semStack[$this->stackPos-(2-1)], $this->semStack[$this->stackPos-(2-2)]);
2819     }
2820
2821     protected function reduceRule494() {
2822          $this->semValue = new Scalar\EncapsedStringPart($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
2823     }
2824
2825     protected function reduceRule495() {
2826          $this->semValue = new Expr\Variable(substr($this->semStack[$this->stackPos-(1-1)], 1), $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
2827     }
2828
2829     protected function reduceRule496() {
2830          $this->semValue = $this->semStack[$this->stackPos-(1-1)];
2831     }
2832
2833     protected function reduceRule497() {
2834          $this->semValue = new Expr\ArrayDimFetch($this->semStack[$this->stackPos-(4-1)], $this->semStack[$this->stackPos-(4-3)], $this->startAttributeStack[$this->stackPos-(4-1)] + $this->endAttributes);
2835     }
2836
2837     protected function reduceRule498() {
2838          $this->semValue = new Expr\PropertyFetch($this->semStack[$this->stackPos-(3-1)], $this->semStack[$this->stackPos-(3-3)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
2839     }
2840
2841     protected function reduceRule499() {
2842          $this->semValue = new Expr\Variable($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
2843     }
2844
2845     protected function reduceRule500() {
2846          $this->semValue = new Expr\Variable($this->semStack[$this->stackPos-(3-2)], $this->startAttributeStack[$this->stackPos-(3-1)] + $this->endAttributes);
2847     }
2848
2849     protected function reduceRule501() {
2850          $this->semValue = new Expr\ArrayDimFetch(new Expr\Variable($this->semStack[$this->stackPos-(6-2)], $this->startAttributeStack[$this->stackPos-(6-1)] + $this->endAttributes), $this->semStack[$this->stackPos-(6-4)], $this->startAttributeStack[$this->stackPos-(6-1)] + $this->endAttributes);
2851     }
2852
2853     protected function reduceRule502() {
2854          $this->semValue = $this->semStack[$this->stackPos-(3-2)];
2855     }
2856
2857     protected function reduceRule503() {
2858          $this->semValue = new Scalar\String_($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
2859     }
2860
2861     protected function reduceRule504() {
2862          $this->semValue = $this->parseNumString($this->semStack[$this->stackPos-(1-1)], $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
2863     }
2864
2865     protected function reduceRule505() {
2866          $this->semValue = $this->parseNumString('-' . $this->semStack[$this->stackPos-(2-2)], $this->startAttributeStack[$this->stackPos-(2-1)] + $this->endAttributes);
2867     }
2868
2869     protected function reduceRule506() {
2870          $this->semValue = new Expr\Variable(substr($this->semStack[$this->stackPos-(1-1)], 1), $this->startAttributeStack[$this->stackPos-(1-1)] + $this->endAttributes);
2871     }
2872 }