1 /* Driver template for the LEMON parser generator.
2 ** The author disclaims copyright to this source code.
3 */
4 /* First off, code is include which follows the "include" declaration
5 ** in the input file. */
6 #include <stdio.h>
7 #line 42 "parser.php7.lemon"
8
9 #include "parser.php7.inc.h"
10
11 #line 12 "parser.php7.c"
12 /* Next is all token values, in a form suitable for use by makeheaders.
13 ** This section will be null unless lemon is run with the -m switch.
14 */
15 /*
16 ** These constants (all generated automatically by the parser generator)
17 ** specify the various kinds of tokens (terminals) that the parser
18 ** understands.
19 **
20 ** Each symbol here is a terminal symbol in the grammar.
21 */
22 /* Make sure the INTERFACE macro is defined.
23 */
24 #ifndef INTERFACE
25 # define INTERFACE 1
26 #endif
27 /* The next thing included is series of defines which control
28 ** various aspects of the generated parser.
29 ** YYCODETYPE is the data type used for storing terminal
30 ** and nonterminal numbers. "unsigned char" is
31 ** used if there are fewer than 250 terminals
32 ** and nonterminals. "int" is used otherwise.
33 ** YYNOCODE is a number of type YYCODETYPE which corresponds
34 ** to no legal terminal or nonterminal number. This
35 ** number is used to fill in empty slots of the hash
36 ** table.
37 ** YYFALLBACK If defined, this indicates that one or more tokens
38 ** have fall-back values which should be used if the
39 ** original value of the token will not parse.
40 ** YYACTIONTYPE is the data type used for storing terminal
41 ** and nonterminal numbers. "unsigned char" is
42 ** used if there are fewer than 250 rules and
43 ** states combined. "int" is used otherwise.
44 ** phvolt_TOKENTYPE is the data type used for minor tokens given
45 ** directly to the parser from the tokenizer.
46 ** YYMINORTYPE is the data type used for all minor tokens.
47 ** This is typically a union of many types, one of
48 ** which is phvolt_TOKENTYPE. The entry in the union
49 ** for base tokens is called "yy0".
50 ** YYSTACKDEPTH is the maximum depth of the parser's stack.
51 ** phvolt_ARG_SDECL A static variable declaration for the %extra_argument
52 ** phvolt_ARG_PDECL A parameter declaration for the %extra_argument
53 ** phvolt_ARG_STORE Code to store %extra_argument into yypParser
54 ** phvolt_ARG_FETCH Code to extract %extra_argument from yypParser
55 ** YYNSTATE the combined number of states.
56 ** YYNRULE the number of rules in the grammar
57 ** YYERRORSYMBOL is the code number of the error symbol. If not
58 ** defined, then do no error processing.
59 */
60 #define YYCODETYPE unsigned char
61 #define YYNOCODE 131
62 #define YYACTIONTYPE unsigned short int
63 #define phvolt_TOKENTYPE phvolt_parser_token*
64 typedef union {
65 phvolt_TOKENTYPE yy0;
66 zval yy186;
67 int yy261;
68 } YYMINORTYPE;
69 #define YYSTACKDEPTH 100
70 #define phvolt_ARG_SDECL phvolt_parser_status *status;
71 #define phvolt_ARG_PDECL ,phvolt_parser_status *status
72 #define phvolt_ARG_FETCH phvolt_parser_status *status = yypParser->status
73 #define phvolt_ARG_STORE yypParser->status = status
74 #define YYNSTATE 365
75 #define YYNRULE 158
76 #define YYERRORSYMBOL 89
77 #define YYERRSYMDT yy261
78 #define YY_NO_ACTION (YYNSTATE+YYNRULE+2)
79 #define YY_ACCEPT_ACTION (YYNSTATE+YYNRULE+1)
80 #define YY_ERROR_ACTION (YYNSTATE+YYNRULE)
81
82 /* Next are that tables used to determine what action to take based on the
83 ** current state and lookahead token. These tables are used to implement
84 ** functions that take a state number and lookahead value and return an
85 ** action integer.
86 **
87 ** Suppose the action integer is N. Then the action is determined as
88 ** follows
89 **
90 ** 0 <= N < YYNSTATE Shift N. That is, push the lookahead
91 ** token onto the stack and goto state N.
92 **
93 ** YYNSTATE <= N < YYNSTATE+YYNRULE Reduce by rule N-YYNSTATE.
94 **
95 ** N == YYNSTATE+YYNRULE A syntax error has occurred.
96 **
97 ** N == YYNSTATE+YYNRULE+1 The parser accepts its input.
98 **
99 ** N == YYNSTATE+YYNRULE+2 No such action. Denotes unused
100 ** slots in the yy_action[] table.
101 **
102 ** The action table is constructed as a single large table named yy_action[].
103 ** Given state S and lookahead X, the action is computed as
104 **
105 ** yy_action[ yy_shift_ofst[S] + X ]
106 **
107 ** If the index value yy_shift_ofst[S]+X is out of range or if the value
108 ** yy_lookahead[yy_shift_ofst[S]+X] is not equal to X or if yy_shift_ofst[S]
109 ** is equal to YY_SHIFT_USE_DFLT, it means that the action is not in the table
110 ** and that yy_default[S] should be used instead.
111 **
112 ** The formula above is for computing the action when the lookahead is
113 ** a terminal symbol. If the lookahead is a non-terminal (as occurs after
114 ** a reduce action) then the yy_reduce_ofst[] array is used in place of
115 ** the yy_shift_ofst[] array and YY_REDUCE_USE_DFLT is used in place of
116 ** YY_SHIFT_USE_DFLT.
117 **
118 ** The following are the tables generated in this section:
119 **
120 ** yy_action[] A single table containing all actions.
121 ** yy_lookahead[] A table containing the lookahead for each entry in
122 ** yy_action. Used to detect hash collisions.
123 ** yy_shift_ofst[] For each state, the offset into yy_action for
124 ** shifting terminals.
125 ** yy_reduce_ofst[] For each state, the offset into yy_action for
126 ** shifting non-terminals after a reduce.
127 ** yy_default[] Default action for each state.
128 */
129 static YYACTIONTYPE yy_action[] = {
130 /* 0 */ 85, 95, 111, 63, 55, 57, 69, 65, 67, 75,
131 /* 10 */ 77, 79, 81, 71, 73, 51, 49, 53, 46, 43,
132 /* 20 */ 59, 92, 61, 87, 90, 91, 99, 83, 365, 245,
133 /* 30 */ 87, 90, 91, 99, 83, 300, 51, 49, 53, 46,
134 /* 40 */ 43, 59, 92, 61, 87, 90, 91, 99, 83, 33,
135 /* 50 */ 110, 299, 194, 215, 198, 85, 95, 196, 63, 55,
136 /* 60 */ 57, 69, 65, 67, 75, 77, 79, 81, 71, 73,
137 /* 70 */ 51, 49, 53, 46, 43, 59, 92, 61, 87, 90,
138 /* 80 */ 91, 99, 83, 331, 176, 85, 95, 195, 63, 55,
139 /* 90 */ 57, 69, 65, 67, 75, 77, 79, 81, 71, 73,
140 /* 100 */ 51, 49, 53, 46, 43, 59, 92, 61, 87, 90,
141 /* 110 */ 91, 99, 83, 35, 265, 85, 95, 39, 63, 55,
142 /* 120 */ 57, 69, 65, 67, 75, 77, 79, 81, 71, 73,
143 /* 130 */ 51, 49, 53, 46, 43, 59, 92, 61, 87, 90,
144 /* 140 */ 91, 99, 83, 347, 342, 92, 61, 87, 90, 91,
145 /* 150 */ 99, 83, 338, 174, 266, 197, 198, 88, 85, 95,
146 /* 160 */ 139, 63, 55, 57, 69, 65, 67, 75, 77, 79,
147 /* 170 */ 81, 71, 73, 51, 49, 53, 46, 43, 59, 92,
148 /* 180 */ 61, 87, 90, 91, 99, 83, 118, 29, 85, 95,
149 /* 190 */ 140, 63, 55, 57, 69, 65, 67, 75, 77, 79,
150 /* 200 */ 81, 71, 73, 51, 49, 53, 46, 43, 59, 92,
151 /* 210 */ 61, 87, 90, 91, 99, 83, 134, 42, 85, 95,
152 /* 220 */ 503, 63, 55, 57, 69, 65, 67, 75, 77, 79,
153 /* 230 */ 81, 71, 73, 51, 49, 53, 46, 43, 59, 92,
154 /* 240 */ 61, 87, 90, 91, 99, 83, 46, 43, 59, 92,
155 /* 250 */ 61, 87, 90, 91, 99, 83, 321, 322, 323, 324,
156 /* 260 */ 325, 326, 504, 111, 144, 94, 309, 327, 146, 85,
157 /* 270 */ 95, 97, 63, 55, 57, 69, 65, 67, 75, 77,
158 /* 280 */ 79, 81, 71, 73, 51, 49, 53, 46, 43, 59,
159 /* 290 */ 92, 61, 87, 90, 91, 99, 83, 85, 95, 147,
160 /* 300 */ 63, 55, 57, 69, 65, 67, 75, 77, 79, 81,
161 /* 310 */ 71, 73, 51, 49, 53, 46, 43, 59, 92, 61,
162 /* 320 */ 87, 90, 91, 99, 83, 100, 503, 142, 142, 504,
163 /* 330 */ 107, 171, 129, 276, 287, 173, 107, 120, 137, 109,
164 /* 340 */ 145, 116, 120, 141, 141, 114, 105, 116, 120, 115,
165 /* 350 */ 85, 95, 180, 63, 55, 57, 69, 65, 67, 75,
166 /* 360 */ 77, 79, 81, 71, 73, 51, 49, 53, 46, 43,
167 /* 370 */ 59, 92, 61, 87, 90, 91, 99, 83, 187, 183,
168 /* 380 */ 85, 95, 26, 63, 55, 57, 69, 65, 67, 75,
169 /* 390 */ 77, 79, 81, 71, 73, 51, 49, 53, 46, 43,
170 /* 400 */ 59, 92, 61, 87, 90, 91, 99, 83, 192, 190,
171 /* 410 */ 85, 95, 213, 63, 55, 57, 69, 65, 67, 75,
172 /* 420 */ 77, 79, 81, 71, 73, 51, 49, 53, 46, 43,
173 /* 430 */ 59, 92, 61, 87, 90, 91, 99, 83, 100, 217,
174 /* 440 */ 220, 28, 93, 252, 165, 228, 214, 107, 218, 318,
175 /* 450 */ 120, 137, 143, 120, 120, 224, 120, 211, 128, 120,
176 /* 460 */ 259, 85, 95, 219, 63, 55, 57, 69, 65, 67,
177 /* 470 */ 75, 77, 79, 81, 71, 73, 51, 49, 53, 46,
178 /* 480 */ 43, 59, 92, 61, 87, 90, 91, 99, 83, 85,
179 /* 490 */ 95, 230, 63, 55, 57, 69, 65, 67, 75, 77,
180 /* 500 */ 79, 81, 71, 73, 51, 49, 53, 46, 43, 59,
181 /* 510 */ 92, 61, 87, 90, 91, 99, 83, 234, 262, 85,
182 /* 520 */ 95, 254, 63, 55, 57, 69, 65, 67, 75, 77,
183 /* 530 */ 79, 81, 71, 73, 51, 49, 53, 46, 43, 59,
184 /* 540 */ 92, 61, 87, 90, 91, 99, 83, 237, 268, 85,
185 /* 550 */ 95, 238, 63, 55, 57, 69, 65, 67, 75, 77,
186 /* 560 */ 79, 81, 71, 73, 51, 49, 53, 46, 43, 59,
187 /* 570 */ 92, 61, 87, 90, 91, 99, 83, 242, 271, 85,
188 /* 580 */ 95, 293, 63, 55, 57, 69, 65, 67, 75, 77,
189 /* 590 */ 79, 81, 71, 73, 51, 49, 53, 46, 43, 59,
190 /* 600 */ 92, 61, 87, 90, 91, 99, 83, 249, 274, 85,
191 /* 610 */ 95, 251, 63, 55, 57, 69, 65, 67, 75, 77,
192 /* 620 */ 79, 81, 71, 73, 51, 49, 53, 46, 43, 59,
193 /* 630 */ 92, 61, 87, 90, 91, 99, 83, 257, 333, 85,
194 /* 640 */ 95, 256, 63, 55, 57, 69, 65, 67, 75, 77,
195 /* 650 */ 79, 81, 71, 73, 51, 49, 53, 46, 43, 59,
196 /* 660 */ 92, 61, 87, 90, 91, 99, 83, 318, 349, 85,
197 /* 670 */ 95, 258, 63, 55, 57, 69, 65, 67, 75, 77,
198 /* 680 */ 79, 81, 71, 73, 51, 49, 53, 46, 43, 59,
199 /* 690 */ 92, 61, 87, 90, 91, 99, 83, 85, 95, 277,
200 /* 700 */ 63, 55, 57, 69, 65, 67, 75, 77, 79, 81,
201 /* 710 */ 71, 73, 51, 49, 53, 46, 43, 59, 92, 61,
202 /* 720 */ 87, 90, 91, 227, 83, 524, 1, 2, 286, 4,
203 /* 730 */ 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
204 /* 740 */ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
205 /* 750 */ 25, 95, 281, 63, 55, 57, 69, 65, 67, 75,
206 /* 760 */ 77, 79, 81, 71, 73, 51, 49, 53, 46, 43,
207 /* 770 */ 59, 92, 61, 87, 90, 91, 99, 83, 63, 55,
208 /* 780 */ 57, 69, 65, 67, 75, 77, 79, 81, 71, 73,
209 /* 790 */ 51, 49, 53, 46, 43, 59, 92, 61, 87, 90,
210 /* 800 */ 91, 99, 83, 30, 286, 4, 5, 6, 7, 8,
211 /* 810 */ 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
212 /* 820 */ 19, 20, 21, 22, 23, 24, 25, 36, 286, 4,
213 /* 830 */ 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
214 /* 840 */ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
215 /* 850 */ 25, 55, 57, 69, 65, 67, 75, 77, 79, 81,
216 /* 860 */ 71, 73, 51, 49, 53, 46, 43, 59, 92, 61,
217 /* 870 */ 87, 90, 91, 99, 83, 177, 286, 4, 5, 6,
218 /* 880 */ 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
219 /* 890 */ 17, 18, 19, 20, 21, 22, 23, 24, 25, 184,
220 /* 900 */ 286, 4, 5, 6, 7, 8, 9, 10, 11, 12,
221 /* 910 */ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
222 /* 920 */ 23, 24, 25, 221, 286, 4, 5, 6, 7, 8,
223 /* 930 */ 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
224 /* 940 */ 19, 20, 21, 22, 23, 24, 25, 231, 286, 4,
225 /* 950 */ 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
226 /* 960 */ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
227 /* 970 */ 25, 239, 286, 4, 5, 6, 7, 8, 9, 10,
228 /* 980 */ 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
229 /* 990 */ 21, 22, 23, 24, 25, 246, 286, 4, 5, 6,
230 /* 1000 */ 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
231 /* 1010 */ 17, 18, 19, 20, 21, 22, 23, 24, 25, 278,
232 /* 1020 */ 286, 4, 5, 6, 7, 8, 9, 10, 11, 12,
233 /* 1030 */ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
234 /* 1040 */ 23, 24, 25, 289, 286, 4, 5, 6, 7, 8,
235 /* 1050 */ 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
236 /* 1060 */ 19, 20, 21, 22, 23, 24, 25, 295, 286, 4,
237 /* 1070 */ 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
238 /* 1080 */ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
239 /* 1090 */ 25, 312, 286, 4, 5, 6, 7, 8, 9, 10,
240 /* 1100 */ 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
241 /* 1110 */ 21, 22, 23, 24, 25, 334, 286, 4, 5, 6,
242 /* 1120 */ 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
243 /* 1130 */ 17, 18, 19, 20, 21, 22, 23, 24, 25, 343,
244 /* 1140 */ 286, 4, 5, 6, 7, 8, 9, 10, 11, 12,
245 /* 1150 */ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
246 /* 1160 */ 23, 24, 25, 350, 286, 4, 5, 6, 7, 8,
247 /* 1170 */ 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
248 /* 1180 */ 19, 20, 21, 22, 23, 24, 25, 3, 4, 5,
249 /* 1190 */ 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
250 /* 1200 */ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
251 /* 1210 */ 27, 235, 32, 34, 40, 170, 172, 41, 283, 181,
252 /* 1220 */ 100, 188, 191, 193, 169, 45, 168, 285, 288, 120,
253 /* 1230 */ 216, 292, 120, 132, 178, 294, 120, 120, 120, 225,
254 /* 1240 */ 366, 26, 298, 236, 437, 243, 438, 250, 131, 260,
255 /* 1250 */ 263, 303, 269, 272, 275, 305, 282, 284, 255, 4,
256 /* 1260 */ 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
257 /* 1270 */ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
258 /* 1280 */ 25, 27, 235, 358, 360, 40, 170, 172, 48, 357,
259 /* 1290 */ 181, 31, 188, 191, 193, 252, 354, 50, 130, 52,
260 /* 1300 */ 120, 216, 252, 54, 306, 56, 131, 308, 316, 120,
261 /* 1310 */ 225, 120, 259, 307, 236, 120, 243, 120, 250, 259,
262 /* 1320 */ 260, 263, 317, 269, 272, 275, 311, 282, 284, 58,
263 /* 1330 */ 315, 60, 319, 27, 235, 38, 62, 40, 170, 172,
264 /* 1340 */ 320, 120, 181, 120, 188, 191, 193, 330, 120, 337,
265 /* 1350 */ 252, 339, 252, 216, 37, 340, 229, 252, 310, 328,
266 /* 1360 */ 346, 185, 225, 222, 353, 232, 236, 259, 243, 259,
267 /* 1370 */ 250, 356, 260, 263, 259, 269, 272, 275, 359, 282,
268 /* 1380 */ 284, 361, 69, 65, 67, 75, 77, 79, 81, 71,
269 /* 1390 */ 73, 51, 49, 53, 46, 43, 59, 92, 61, 87,
270 /* 1400 */ 90, 91, 99, 83, 362, 27, 235, 64, 363, 40,
271 /* 1410 */ 170, 172, 364, 179, 181, 252, 188, 191, 193, 120,
272 /* 1420 */ 252, 290, 252, 244, 252, 216, 252, 290, 301, 290,
273 /* 1430 */ 240, 290, 259, 290, 225, 120, 290, 259, 236, 259,
274 /* 1440 */ 243, 259, 250, 259, 260, 263, 247, 269, 272, 275,
275 /* 1450 */ 279, 282, 284, 290, 290, 290, 290, 27, 235, 209,
276 /* 1460 */ 290, 40, 170, 172, 290, 212, 181, 186, 188, 191,
277 /* 1470 */ 193, 290, 290, 253, 290, 332, 290, 216, 290, 290,
278 /* 1480 */ 199, 201, 203, 205, 207, 120, 225, 120, 290, 252,
279 /* 1490 */ 236, 252, 243, 296, 250, 290, 260, 263, 313, 269,
280 /* 1500 */ 272, 275, 335, 282, 284, 290, 259, 252, 259, 27,
281 /* 1510 */ 235, 252, 290, 40, 170, 172, 290, 344, 181, 290,
282 /* 1520 */ 188, 191, 193, 66, 259, 290, 290, 68, 259, 216,
283 /* 1530 */ 290, 223, 290, 252, 290, 120, 290, 290, 225, 120,
284 /* 1540 */ 290, 290, 236, 290, 243, 290, 250, 290, 260, 263,
285 /* 1550 */ 259, 269, 272, 275, 252, 282, 284, 70, 290, 252,
286 /* 1560 */ 290, 27, 235, 252, 290, 40, 170, 172, 290, 120,
287 /* 1570 */ 181, 259, 188, 191, 193, 72, 259, 290, 252, 290,
288 /* 1580 */ 259, 216, 290, 290, 290, 290, 290, 120, 290, 290,
289 /* 1590 */ 225, 233, 290, 290, 236, 259, 243, 351, 250, 74,
290 /* 1600 */ 260, 263, 290, 269, 272, 275, 290, 282, 284, 76,
291 /* 1610 */ 290, 120, 290, 27, 235, 78, 80, 40, 170, 172,
292 /* 1620 */ 82, 120, 181, 84, 188, 191, 193, 120, 120, 290,
293 /* 1630 */ 290, 86, 120, 216, 290, 120, 290, 89, 290, 96,
294 /* 1640 */ 290, 290, 225, 120, 290, 290, 236, 241, 243, 120,
295 /* 1650 */ 250, 120, 260, 263, 290, 269, 272, 275, 252, 282,
296 /* 1660 */ 284, 98, 290, 290, 290, 27, 235, 102, 104, 40,
297 /* 1670 */ 170, 172, 119, 120, 181, 259, 188, 191, 193, 120,
298 /* 1680 */ 120, 290, 290, 135, 120, 216, 290, 167, 290, 290,
299 /* 1690 */ 290, 175, 290, 290, 225, 120, 290, 290, 236, 120,
300 /* 1700 */ 243, 248, 250, 120, 260, 263, 290, 269, 272, 275,
301 /* 1710 */ 290, 282, 284, 182, 290, 189, 290, 27, 235, 290,
302 /* 1720 */ 200, 40, 170, 172, 202, 120, 181, 120, 188, 191,
303 /* 1730 */ 193, 204, 120, 206, 290, 208, 120, 216, 290, 210,
304 /* 1740 */ 290, 226, 290, 120, 290, 120, 225, 120, 290, 290,
305 /* 1750 */ 236, 120, 243, 120, 250, 290, 260, 263, 290, 269,
306 /* 1760 */ 272, 275, 280, 282, 284, 261, 290, 264, 290, 27,
307 /* 1770 */ 235, 290, 267, 40, 170, 172, 270, 120, 181, 120,
308 /* 1780 */ 188, 191, 193, 273, 120, 341, 290, 348, 120, 216,
309 /* 1790 */ 290, 290, 290, 290, 290, 120, 290, 120, 225, 120,
310 /* 1800 */ 290, 290, 236, 290, 243, 290, 250, 290, 260, 263,
311 /* 1810 */ 290, 269, 272, 275, 291, 282, 284, 290, 290, 290,
312 /* 1820 */ 290, 27, 235, 290, 290, 40, 170, 172, 290, 290,
313 /* 1830 */ 181, 290, 188, 191, 193, 290, 290, 290, 290, 290,
314 /* 1840 */ 290, 216, 290, 290, 290, 290, 290, 290, 290, 290,
315 /* 1850 */ 225, 290, 290, 290, 236, 290, 243, 297, 250, 290,
316 /* 1860 */ 260, 263, 290, 269, 272, 275, 290, 282, 284, 290,
317 /* 1870 */ 290, 290, 290, 27, 235, 290, 290, 40, 170, 172,
318 /* 1880 */ 290, 290, 181, 290, 188, 191, 193, 290, 290, 290,
319 /* 1890 */ 290, 290, 290, 216, 290, 290, 290, 290, 290, 290,
320 /* 1900 */ 290, 290, 225, 290, 290, 290, 236, 302, 243, 290,
321 /* 1910 */ 250, 290, 260, 263, 290, 269, 272, 275, 290, 282,
322 /* 1920 */ 284, 290, 290, 290, 290, 27, 235, 290, 290, 40,
323 /* 1930 */ 170, 172, 290, 290, 181, 290, 188, 191, 193, 290,
324 /* 1940 */ 290, 290, 290, 290, 290, 216, 290, 314, 290, 290,
325 /* 1950 */ 290, 290, 290, 290, 225, 290, 290, 290, 236, 290,
326 /* 1960 */ 243, 290, 250, 290, 260, 263, 290, 269, 272, 275,
327 /* 1970 */ 290, 282, 284, 290, 290, 290, 290, 27, 235, 290,
328 /* 1980 */ 290, 40, 170, 172, 290, 290, 181, 329, 188, 191,
329 /* 1990 */ 193, 290, 290, 290, 290, 290, 290, 216, 290, 290,
330 /* 2000 */ 290, 290, 290, 290, 290, 290, 225, 290, 290, 290,
331 /* 2010 */ 236, 290, 243, 290, 250, 290, 260, 263, 290, 269,
332 /* 2020 */ 272, 275, 290, 282, 284, 290, 290, 290, 290, 27,
333 /* 2030 */ 235, 290, 290, 40, 170, 172, 290, 336, 181, 290,
334 /* 2040 */ 188, 191, 193, 290, 290, 290, 290, 290, 290, 216,
335 /* 2050 */ 290, 290, 290, 290, 290, 290, 290, 290, 225, 290,
336 /* 2060 */ 290, 290, 236, 290, 243, 290, 250, 290, 260, 263,
337 /* 2070 */ 290, 269, 272, 275, 290, 282, 284, 290, 290, 290,
338 /* 2080 */ 290, 27, 235, 290, 290, 40, 170, 172, 290, 345,
339 /* 2090 */ 181, 290, 188, 191, 193, 290, 290, 290, 290, 290,
340 /* 2100 */ 290, 216, 290, 290, 290, 290, 290, 290, 290, 290,
341 /* 2110 */ 225, 290, 290, 290, 236, 290, 243, 290, 250, 290,
342 /* 2120 */ 260, 263, 290, 269, 272, 275, 290, 282, 284, 290,
343 /* 2130 */ 290, 290, 290, 27, 235, 290, 290, 40, 170, 172,
344 /* 2140 */ 290, 352, 181, 290, 188, 191, 193, 290, 290, 290,
345 /* 2150 */ 290, 290, 290, 216, 290, 290, 290, 290, 290, 290,
346 /* 2160 */ 290, 290, 225, 290, 290, 290, 236, 290, 243, 290,
347 /* 2170 */ 250, 290, 260, 263, 290, 269, 272, 275, 290, 282,
348 /* 2180 */ 284, 290, 290, 290, 290, 27, 235, 355, 290, 40,
349 /* 2190 */ 170, 172, 290, 290, 181, 290, 188, 191, 193, 290,
350 /* 2200 */ 290, 290, 290, 290, 290, 216, 290, 290, 290, 290,
351 /* 2210 */ 290, 290, 290, 290, 225, 290, 290, 290, 236, 290,
352 /* 2220 */ 243, 290, 250, 290, 260, 263, 290, 269, 272, 275,
353 /* 2230 */ 290, 282, 284, 290, 290, 290, 290, 27, 235, 290,
354 /* 2240 */ 290, 40, 170, 172, 290, 290, 181, 290, 188, 191,
355 /* 2250 */ 193, 290, 290, 290, 290, 290, 290, 216, 290, 290,
356 /* 2260 */ 290, 290, 290, 290, 290, 290, 225, 290, 290, 290,
357 /* 2270 */ 236, 290, 243, 290, 250, 290, 260, 263, 290, 269,
358 /* 2280 */ 272, 275, 290, 282, 284, 290, 290, 290, 47, 44,
359 /* 2290 */ 290, 106, 290, 101, 290, 290, 103, 290, 47, 44,
360 /* 2300 */ 290, 106, 290, 101, 290, 121, 103, 290, 290, 290,
361 /* 2310 */ 290, 290, 290, 290, 290, 121, 290, 290, 290, 290,
362 /* 2320 */ 290, 122, 123, 124, 125, 126, 127, 290, 290, 290,
363 /* 2330 */ 290, 122, 123, 124, 125, 126, 127, 290, 290, 290,
364 /* 2340 */ 290, 290, 290, 290, 290, 290, 290, 157, 158, 159,
365 /* 2350 */ 160, 161, 162, 163, 112, 290, 290, 150, 151, 152,
366 /* 2360 */ 153, 154, 155, 156, 112, 290, 290, 166, 290, 47,
367 /* 2370 */ 44, 290, 106, 290, 101, 290, 164, 103, 290, 47,
368 /* 2380 */ 44, 290, 106, 290, 101, 290, 121, 103, 290, 290,
369 /* 2390 */ 290, 290, 290, 290, 290, 290, 121, 290, 290, 290,
370 /* 2400 */ 290, 290, 122, 123, 124, 125, 126, 127, 138, 290,
371 /* 2410 */ 290, 290, 122, 123, 124, 125, 126, 127, 290, 290,
372 /* 2420 */ 290, 290, 290, 290, 47, 44, 290, 106, 290, 101,
373 /* 2430 */ 290, 290, 103, 290, 290, 112, 290, 290, 290, 47,
374 /* 2440 */ 44, 149, 106, 290, 101, 112, 290, 103, 290, 290,
375 /* 2450 */ 290, 290, 290, 290, 290, 290, 121, 148, 123, 124,
376 /* 2460 */ 125, 126, 127, 47, 44, 290, 106, 290, 101, 290,
377 /* 2470 */ 136, 103, 122, 133, 124, 125, 126, 127, 47, 44,
378 /* 2480 */ 121, 106, 290, 101, 290, 290, 103, 290, 290, 290,
379 /* 2490 */ 112, 290, 108, 290, 290, 121, 122, 117, 124, 125,
380 /* 2500 */ 126, 127, 290, 290, 290, 112, 290, 290, 290, 290,
381 /* 2510 */ 290, 122, 117, 124, 125, 126, 127, 47, 44, 290,
382 /* 2520 */ 106, 290, 101, 47, 44, 103, 106, 290, 101, 112,
383 /* 2530 */ 290, 103, 290, 290, 121, 290, 290, 290, 290, 290,
384 /* 2540 */ 121, 290, 290, 290, 112, 113, 290, 290, 304, 290,
385 /* 2550 */ 122, 133, 124, 125, 126, 127, 122, 123, 124, 125,
386 /* 2560 */ 126, 127, 47, 44, 290, 106, 290, 101, 290, 290,
387 /* 2570 */ 103, 290, 290, 47, 44, 290, 106, 290, 101, 121,
388 /* 2580 */ 290, 103, 290, 112, 290, 290, 290, 290, 290, 112,
389 /* 2590 */ 121, 290, 290, 290, 290, 122, 117, 124, 125, 126,
390 /* 2600 */ 127, 290, 290, 290, 290, 290, 122, 133, 124, 125,
391 /* 2610 */ 126, 127, 290, 290, 290, 290, 290, 290, 290, 290,
392 /* 2620 */ 290, 290, 290, 290, 290, 290, 290, 290, 112, 290,
393 /* 2630 */ 290, 290, 290, 290, 290, 290, 290, 290, 290, 112,
394 };
395 static YYCODETYPE yy_lookahead[] = {
396 /* 0 */ 3, 4, 2, 6, 7, 8, 9, 10, 11, 12,
397 /* 10 */ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
398 /* 20 */ 23, 24, 25, 26, 27, 28, 29, 30, 0, 32,
399 /* 30 */ 26, 27, 28, 29, 30, 38, 18, 19, 20, 21,
400 /* 40 */ 22, 23, 24, 25, 26, 27, 28, 29, 30, 32,
401 /* 50 */ 50, 54, 117, 118, 119, 3, 4, 2, 6, 7,
402 /* 60 */ 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
403 /* 70 */ 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
404 /* 80 */ 28, 29, 30, 31, 32, 3, 4, 32, 6, 7,
405 /* 90 */ 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
406 /* 100 */ 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
407 /* 110 */ 28, 29, 30, 32, 32, 3, 4, 32, 6, 7,
408 /* 120 */ 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
409 /* 130 */ 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
410 /* 140 */ 28, 29, 30, 31, 32, 24, 25, 26, 27, 28,
411 /* 150 */ 29, 30, 2, 3, 72, 118, 119, 3, 3, 4,
412 /* 160 */ 126, 6, 7, 8, 9, 10, 11, 12, 13, 14,
413 /* 170 */ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
414 /* 180 */ 25, 26, 27, 28, 29, 30, 5, 32, 3, 4,
415 /* 190 */ 50, 6, 7, 8, 9, 10, 11, 12, 13, 14,
416 /* 200 */ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
417 /* 210 */ 25, 26, 27, 28, 29, 30, 5, 32, 3, 4,
418 /* 220 */ 50, 6, 7, 8, 9, 10, 11, 12, 13, 14,
419 /* 230 */ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
420 /* 240 */ 25, 26, 27, 28, 29, 30, 21, 22, 23, 24,
421 /* 250 */ 25, 26, 27, 28, 29, 30, 54, 55, 56, 57,
422 /* 260 */ 58, 59, 50, 2, 5, 50, 120, 121, 126, 3,
423 /* 270 */ 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
424 /* 280 */ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
425 /* 290 */ 24, 25, 26, 27, 28, 29, 30, 3, 4, 50,
426 /* 300 */ 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
427 /* 310 */ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
428 /* 320 */ 26, 27, 28, 29, 30, 116, 5, 38, 38, 5,
429 /* 330 */ 116, 32, 123, 58, 59, 38, 116, 128, 129, 125,
430 /* 340 */ 50, 127, 128, 54, 54, 125, 52, 127, 128, 88,
431 /* 350 */ 3, 4, 32, 6, 7, 8, 9, 10, 11, 12,
432 /* 360 */ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
433 /* 370 */ 23, 24, 25, 26, 27, 28, 29, 30, 32, 32,
434 /* 380 */ 3, 4, 1, 6, 7, 8, 9, 10, 11, 12,
435 /* 390 */ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
436 /* 400 */ 23, 24, 25, 26, 27, 28, 29, 30, 32, 32,
437 /* 410 */ 3, 4, 38, 6, 7, 8, 9, 10, 11, 12,
438 /* 420 */ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
439 /* 430 */ 23, 24, 25, 26, 27, 28, 29, 30, 116, 38,
440 /* 440 */ 32, 116, 116, 62, 116, 123, 119, 116, 29, 38,
441 /* 450 */ 128, 129, 126, 128, 128, 32, 128, 50, 127, 128,
442 /* 460 */ 79, 3, 4, 52, 6, 7, 8, 9, 10, 11,
443 /* 470 */ 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
444 /* 480 */ 22, 23, 24, 25, 26, 27, 28, 29, 30, 3,
445 /* 490 */ 4, 32, 6, 7, 8, 9, 10, 11, 12, 13,
446 /* 500 */ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
447 /* 510 */ 24, 25, 26, 27, 28, 29, 30, 32, 32, 3,
448 /* 520 */ 4, 63, 6, 7, 8, 9, 10, 11, 12, 13,
449 /* 530 */ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
450 /* 540 */ 24, 25, 26, 27, 28, 29, 30, 38, 32, 3,
451 /* 550 */ 4, 32, 6, 7, 8, 9, 10, 11, 12, 13,
452 /* 560 */ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
453 /* 570 */ 24, 25, 26, 27, 28, 29, 30, 32, 32, 3,
454 /* 580 */ 4, 124, 6, 7, 8, 9, 10, 11, 12, 13,
455 /* 590 */ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
456 /* 600 */ 24, 25, 26, 27, 28, 29, 30, 32, 32, 3,
457 /* 610 */ 4, 32, 6, 7, 8, 9, 10, 11, 12, 13,
458 /* 620 */ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
459 /* 630 */ 24, 25, 26, 27, 28, 29, 30, 69, 32, 3,
460 /* 640 */ 4, 1, 6, 7, 8, 9, 10, 11, 12, 13,
461 /* 650 */ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
462 /* 660 */ 24, 25, 26, 27, 28, 29, 30, 38, 32, 3,
463 /* 670 */ 4, 32, 6, 7, 8, 9, 10, 11, 12, 13,
464 /* 680 */ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
465 /* 690 */ 24, 25, 26, 27, 28, 29, 30, 3, 4, 32,
466 /* 700 */ 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
467 /* 710 */ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
468 /* 720 */ 26, 27, 28, 29, 30, 90, 91, 92, 93, 94,
469 /* 730 */ 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
470 /* 740 */ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
471 /* 750 */ 115, 4, 32, 6, 7, 8, 9, 10, 11, 12,
472 /* 760 */ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
473 /* 770 */ 23, 24, 25, 26, 27, 28, 29, 30, 6, 7,
474 /* 780 */ 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
475 /* 790 */ 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
476 /* 800 */ 28, 29, 30, 92, 93, 94, 95, 96, 97, 98,
477 /* 810 */ 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
478 /* 820 */ 109, 110, 111, 112, 113, 114, 115, 92, 93, 94,
479 /* 830 */ 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
480 /* 840 */ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
481 /* 850 */ 115, 7, 8, 9, 10, 11, 12, 13, 14, 15,
482 /* 860 */ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
483 /* 870 */ 26, 27, 28, 29, 30, 92, 93, 94, 95, 96,
484 /* 880 */ 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
485 /* 890 */ 107, 108, 109, 110, 111, 112, 113, 114, 115, 92,
486 /* 900 */ 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
487 /* 910 */ 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
488 /* 920 */ 113, 114, 115, 92, 93, 94, 95, 96, 97, 98,
489 /* 930 */ 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
490 /* 940 */ 109, 110, 111, 112, 113, 114, 115, 92, 93, 94,
491 /* 950 */ 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
492 /* 960 */ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
493 /* 970 */ 115, 92, 93, 94, 95, 96, 97, 98, 99, 100,
494 /* 980 */ 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
495 /* 990 */ 111, 112, 113, 114, 115, 92, 93, 94, 95, 96,
496 /* 1000 */ 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
497 /* 1010 */ 107, 108, 109, 110, 111, 112, 113, 114, 115, 92,
498 /* 1020 */ 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
499 /* 1030 */ 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
500 /* 1040 */ 113, 114, 115, 92, 93, 94, 95, 96, 97, 98,
501 /* 1050 */ 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
502 /* 1060 */ 109, 110, 111, 112, 113, 114, 115, 92, 93, 94,
503 /* 1070 */ 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
504 /* 1080 */ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
505 /* 1090 */ 115, 92, 93, 94, 95, 96, 97, 98, 99, 100,
506 /* 1100 */ 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
507 /* 1110 */ 111, 112, 113, 114, 115, 92, 93, 94, 95, 96,
508 /* 1120 */ 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
509 /* 1130 */ 107, 108, 109, 110, 111, 112, 113, 114, 115, 92,
510 /* 1140 */ 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
511 /* 1150 */ 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
512 /* 1160 */ 113, 114, 115, 92, 93, 94, 95, 96, 97, 98,
513 /* 1170 */ 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
514 /* 1180 */ 109, 110, 111, 112, 113, 114, 115, 93, 94, 95,
515 /* 1190 */ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
516 /* 1200 */ 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
517 /* 1210 */ 31, 32, 33, 34, 35, 36, 37, 116, 32, 40,
518 /* 1220 */ 116, 42, 43, 44, 116, 116, 116, 32, 32, 128,
519 /* 1230 */ 51, 32, 128, 129, 1, 32, 128, 128, 128, 60,
520 /* 1240 */ 0, 1, 32, 64, 32, 66, 32, 68, 2, 70,
521 /* 1250 */ 71, 32, 73, 74, 75, 32, 77, 78, 93, 94,
522 /* 1260 */ 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
523 /* 1270 */ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
524 /* 1280 */ 115, 31, 32, 33, 34, 35, 36, 37, 116, 1,
525 /* 1290 */ 40, 1, 42, 43, 44, 62, 1, 116, 52, 116,
526 /* 1300 */ 128, 51, 62, 116, 1, 116, 2, 32, 2, 128,
527 /* 1310 */ 60, 128, 79, 61, 64, 128, 66, 128, 68, 79,
528 /* 1320 */ 70, 71, 121, 73, 74, 75, 32, 77, 78, 116,
529 /* 1330 */ 32, 116, 45, 31, 32, 33, 116, 35, 36, 37,
530 /* 1340 */ 122, 128, 40, 128, 42, 43, 44, 32, 128, 32,
531 /* 1350 */ 62, 38, 62, 51, 1, 3, 52, 62, 52, 1,
532 /* 1360 */ 32, 1, 60, 1, 32, 1, 64, 79, 66, 79,
533 /* 1370 */ 68, 32, 70, 71, 79, 73, 74, 75, 32, 77,
534 /* 1380 */ 78, 32, 9, 10, 11, 12, 13, 14, 15, 16,
535 /* 1390 */ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
536 /* 1400 */ 27, 28, 29, 30, 1, 31, 32, 116, 33, 35,
537 /* 1410 */ 36, 37, 32, 39, 40, 62, 42, 43, 44, 128,
538 /* 1420 */ 62, 130, 62, 116, 62, 51, 62, 130, 1, 130,
539 /* 1430 */ 1, 130, 79, 130, 60, 128, 130, 79, 64, 79,
540 /* 1440 */ 66, 79, 68, 79, 70, 71, 1, 73, 74, 75,
541 /* 1450 */ 1, 77, 78, 130, 130, 130, 130, 31, 32, 24,
542 /* 1460 */ 130, 35, 36, 37, 130, 30, 40, 41, 42, 43,
543 /* 1470 */ 44, 130, 1, 116, 130, 116, 130, 51, 130, 130,
544 /* 1480 */ 45, 46, 47, 48, 49, 128, 60, 128, 130, 62,
545 /* 1490 */ 64, 62, 66, 1, 68, 130, 70, 71, 1, 73,
546 /* 1500 */ 74, 75, 1, 77, 78, 130, 79, 62, 79, 31,
547 /* 1510 */ 32, 62, 130, 35, 36, 37, 130, 1, 40, 130,
548 /* 1520 */ 42, 43, 44, 116, 79, 130, 130, 116, 79, 51,
549 /* 1530 */ 130, 53, 130, 62, 130, 128, 130, 130, 60, 128,
550 /* 1540 */ 130, 130, 64, 130, 66, 130, 68, 130, 70, 71,
551 /* 1550 */ 79, 73, 74, 75, 62, 77, 78, 116, 130, 62,
552 /* 1560 */ 130, 31, 32, 62, 130, 35, 36, 37, 130, 128,
553 /* 1570 */ 40, 79, 42, 43, 44, 116, 79, 130, 62, 130,
554 /* 1580 */ 79, 51, 130, 130, 130, 130, 130, 128, 130, 130,
555 /* 1590 */ 60, 61, 130, 130, 64, 79, 66, 1, 68, 116,
556 /* 1600 */ 70, 71, 130, 73, 74, 75, 130, 77, 78, 116,
557 /* 1610 */ 130, 128, 130, 31, 32, 116, 116, 35, 36, 37,
558 /* 1620 */ 116, 128, 40, 116, 42, 43, 44, 128, 128, 130,
559 /* 1630 */ 130, 116, 128, 51, 130, 128, 130, 116, 130, 116,
560 /* 1640 */ 130, 130, 60, 128, 130, 130, 64, 65, 66, 128,
561 /* 1650 */ 68, 128, 70, 71, 130, 73, 74, 75, 62, 77,
562 /* 1660 */ 78, 116, 130, 130, 130, 31, 32, 116, 116, 35,
563 /* 1670 */ 36, 37, 116, 128, 40, 79, 42, 43, 44, 128,
564 /* 1680 */ 128, 130, 130, 116, 128, 51, 130, 116, 130, 130,
565 /* 1690 */ 130, 116, 130, 130, 60, 128, 130, 130, 64, 128,
566 /* 1700 */ 66, 67, 68, 128, 70, 71, 130, 73, 74, 75,
567 /* 1710 */ 130, 77, 78, 116, 130, 116, 130, 31, 32, 130,
568 /* 1720 */ 116, 35, 36, 37, 116, 128, 40, 128, 42, 43,
569 /* 1730 */ 44, 116, 128, 116, 130, 116, 128, 51, 130, 116,
570 /* 1740 */ 130, 116, 130, 128, 130, 128, 60, 128, 130, 130,
571 /* 1750 */ 64, 128, 66, 128, 68, 130, 70, 71, 130, 73,
572 /* 1760 */ 74, 75, 76, 77, 78, 116, 130, 116, 130, 31,
573 /* 1770 */ 32, 130, 116, 35, 36, 37, 116, 128, 40, 128,
574 /* 1780 */ 42, 43, 44, 116, 128, 116, 130, 116, 128, 51,
575 /* 1790 */ 130, 130, 130, 130, 130, 128, 130, 128, 60, 128,
576 /* 1800 */ 130, 130, 64, 130, 66, 130, 68, 130, 70, 71,
577 /* 1810 */ 130, 73, 74, 75, 76, 77, 78, 130, 130, 130,
578 /* 1820 */ 130, 31, 32, 130, 130, 35, 36, 37, 130, 130,
579 /* 1830 */ 40, 130, 42, 43, 44, 130, 130, 130, 130, 130,
580 /* 1840 */ 130, 51, 130, 130, 130, 130, 130, 130, 130, 130,
581 /* 1850 */ 60, 130, 130, 130, 64, 130, 66, 67, 68, 130,
582 /* 1860 */ 70, 71, 130, 73, 74, 75, 130, 77, 78, 130,
583 /* 1870 */ 130, 130, 130, 31, 32, 130, 130, 35, 36, 37,
584 /* 1880 */ 130, 130, 40, 130, 42, 43, 44, 130, 130, 130,
585 /* 1890 */ 130, 130, 130, 51, 130, 130, 130, 130, 130, 130,
586 /* 1900 */ 130, 130, 60, 130, 130, 130, 64, 65, 66, 130,
587 /* 1910 */ 68, 130, 70, 71, 130, 73, 74, 75, 130, 77,
588 /* 1920 */ 78, 130, 130, 130, 130, 31, 32, 130, 130, 35,
589 /* 1930 */ 36, 37, 130, 130, 40, 130, 42, 43, 44, 130,
590 /* 1940 */ 130, 130, 130, 130, 130, 51, 130, 53, 130, 130,
591 /* 1950 */ 130, 130, 130, 130, 60, 130, 130, 130, 64, 130,
592 /* 1960 */ 66, 130, 68, 130, 70, 71, 130, 73, 74, 75,
593 /* 1970 */ 130, 77, 78, 130, 130, 130, 130, 31, 32, 130,
594 /* 1980 */ 130, 35, 36, 37, 130, 130, 40, 41, 42, 43,
595 /* 1990 */ 44, 130, 130, 130, 130, 130, 130, 51, 130, 130,
596 /* 2000 */ 130, 130, 130, 130, 130, 130, 60, 130, 130, 130,
597 /* 2010 */ 64, 130, 66, 130, 68, 130, 70, 71, 130, 73,
598 /* 2020 */ 74, 75, 130, 77, 78, 130, 130, 130, 130, 31,
599 /* 2030 */ 32, 130, 130, 35, 36, 37, 130, 39, 40, 130,
600 /* 2040 */ 42, 43, 44, 130, 130, 130, 130, 130, 130, 51,
601 /* 2050 */ 130, 130, 130, 130, 130, 130, 130, 130, 60, 130,
602 /* 2060 */ 130, 130, 64, 130, 66, 130, 68, 130, 70, 71,
603 /* 2070 */ 130, 73, 74, 75, 130, 77, 78, 130, 130, 130,
604 /* 2080 */ 130, 31, 32, 130, 130, 35, 36, 37, 130, 39,
605 /* 2090 */ 40, 130, 42, 43, 44, 130, 130, 130, 130, 130,
606 /* 2100 */ 130, 51, 130, 130, 130, 130, 130, 130, 130, 130,
607 /* 2110 */ 60, 130, 130, 130, 64, 130, 66, 130, 68, 130,
608 /* 2120 */ 70, 71, 130, 73, 74, 75, 130, 77, 78, 130,
609 /* 2130 */ 130, 130, 130, 31, 32, 130, 130, 35, 36, 37,
610 /* 2140 */ 130, 39, 40, 130, 42, 43, 44, 130, 130, 130,
611 /* 2150 */ 130, 130, 130, 51, 130, 130, 130, 130, 130, 130,
612 /* 2160 */ 130, 130, 60, 130, 130, 130, 64, 130, 66, 130,
613 /* 2170 */ 68, 130, 70, 71, 130, 73, 74, 75, 130, 77,
614 /* 2180 */ 78, 130, 130, 130, 130, 31, 32, 33, 130, 35,
615 /* 2190 */ 36, 37, 130, 130, 40, 130, 42, 43, 44, 130,
616 /* 2200 */ 130, 130, 130, 130, 130, 51, 130, 130, 130, 130,
617 /* 2210 */ 130, 130, 130, 130, 60, 130, 130, 130, 64, 130,
618 /* 2220 */ 66, 130, 68, 130, 70, 71, 130, 73, 74, 75,
619 /* 2230 */ 130, 77, 78, 130, 130, 130, 130, 31, 32, 130,
620 /* 2240 */ 130, 35, 36, 37, 130, 130, 40, 130, 42, 43,
621 /* 2250 */ 44, 130, 130, 130, 130, 130, 130, 51, 130, 130,
622 /* 2260 */ 130, 130, 130, 130, 130, 130, 60, 130, 130, 130,
623 /* 2270 */ 64, 130, 66, 130, 68, 130, 70, 71, 130, 73,
624 /* 2280 */ 74, 75, 130, 77, 78, 130, 130, 130, 21, 22,
625 /* 2290 */ 130, 24, 130, 26, 130, 130, 29, 130, 21, 22,
626 /* 2300 */ 130, 24, 130, 26, 130, 38, 29, 130, 130, 130,
627 /* 2310 */ 130, 130, 130, 130, 130, 38, 130, 130, 130, 130,
628 /* 2320 */ 130, 54, 55, 56, 57, 58, 59, 130, 130, 130,
629 /* 2330 */ 130, 54, 55, 56, 57, 58, 59, 130, 130, 130,
630 /* 2340 */ 130, 130, 130, 130, 130, 130, 130, 80, 81, 82,
631 /* 2350 */ 83, 84, 85, 86, 87, 130, 130, 80, 81, 82,
632 /* 2360 */ 83, 84, 85, 86, 87, 130, 130, 19, 130, 21,
633 /* 2370 */ 22, 130, 24, 130, 26, 130, 18, 29, 130, 21,
634 /* 2380 */ 22, 130, 24, 130, 26, 130, 38, 29, 130, 130,
635 /* 2390 */ 130, 130, 130, 130, 130, 130, 38, 130, 130, 130,
636 /* 2400 */ 130, 130, 54, 55, 56, 57, 58, 59, 5, 130,
637 /* 2410 */ 130, 130, 54, 55, 56, 57, 58, 59, 130, 130,
638 /* 2420 */ 130, 130, 130, 130, 21, 22, 130, 24, 130, 26,
639 /* 2430 */ 130, 130, 29, 130, 130, 87, 130, 130, 130, 21,
640 /* 2440 */ 22, 38, 24, 130, 26, 87, 130, 29, 130, 130,
641 /* 2450 */ 130, 130, 130, 130, 130, 130, 38, 54, 55, 56,
642 /* 2460 */ 57, 58, 59, 21, 22, 130, 24, 130, 26, 130,
643 /* 2470 */ 52, 29, 54, 55, 56, 57, 58, 59, 21, 22,
644 /* 2480 */ 38, 24, 130, 26, 130, 130, 29, 130, 130, 130,
645 /* 2490 */ 87, 130, 50, 130, 130, 38, 54, 55, 56, 57,
646 /* 2500 */ 58, 59, 130, 130, 130, 87, 130, 130, 130, 130,
647 /* 2510 */ 130, 54, 55, 56, 57, 58, 59, 21, 22, 130,
648 /* 2520 */ 24, 130, 26, 21, 22, 29, 24, 130, 26, 87,
649 /* 2530 */ 130, 29, 130, 130, 38, 130, 130, 130, 130, 130,
650 /* 2540 */ 38, 130, 130, 130, 87, 88, 130, 130, 52, 130,
651 /* 2550 */ 54, 55, 56, 57, 58, 59, 54, 55, 56, 57,
652 /* 2560 */ 58, 59, 21, 22, 130, 24, 130, 26, 130, 130,
653 /* 2570 */ 29, 130, 130, 21, 22, 130, 24, 130, 26, 38,
654 /* 2580 */ 130, 29, 130, 87, 130, 130, 130, 130, 130, 87,
655 /* 2590 */ 38, 130, 130, 130, 130, 54, 55, 56, 57, 58,
656 /* 2600 */ 59, 130, 130, 130, 130, 130, 54, 55, 56, 57,
657 /* 2610 */ 58, 59, 130, 130, 130, 130, 130, 130, 130, 130,
658 /* 2620 */ 130, 130, 130, 130, 130, 130, 130, 130, 87, 130,
659 /* 2630 */ 130, 130, 130, 130, 130, 130, 130, 130, 130, 87,
660 };
661 #define YY_SHIFT_USE_DFLT (-4)
662 static short yy_shift_ofst[] = {
663 /* 0 */ 381, 28, 1240, -4, -4, -4, -4, -4, -4, -4,
664 /* 10 */ -4, -4, -4, -4, -4, -4, -4, -4, -4, -4,
665 /* 20 */ -4, -4, -4, -4, -4, -4, 2206, 2502, 155, 1288,
666 /* 30 */ 1290, 1179, 17, -4, 81, 1295, 1353, 1302, 85, -4,
667 /* 40 */ 2502, 185, -4, 2502, 2502, 121, 2502, 2502, 121, 2348,
668 /* 50 */ 225, 2358, 225, 2502, 225, 2502, 1373, 2502, 1373, 2502,
669 /* 60 */ 121, 2502, 4, 2502, 844, 2502, 18, 2267, 18, 2277,
670 /* 70 */ 18, 2502, 18, 2502, 18, 2502, 18, 2502, 18, 2502,
671 /* 80 */ 18, 2502, 18, 2502, -4, 2502, 747, 154, 2502, 4,
672 /* 90 */ -4, -4, 2403, 215, -4, 2502, 266, 2502, 772, 2418,
673 /* 100 */ 666, 2502, 4, 2502, 294, -4, 2442, 666, -4, 0,
674 /* 110 */ -4, 2541, 2457, -4, 261, -4, -4, 181, 2502, 666,
675 /* 120 */ -4, -4, -4, -4, -4, -4, -4, -4, -4, 1246,
676 /* 130 */ -4, 2552, -4, 211, 2502, 666, -4, -4, 289, 140,
677 /* 140 */ -4, 170, 212, 259, 290, -4, 249, -4, 321, 324,
678 /* 150 */ -4, -4, -4, -4, -4, -4, -4, -4, -4, -4,
679 /* 160 */ -4, -4, -4, -4, 2502, 225, 2502, 225, 121, 121,
680 /* 170 */ 299, -4, 297, 150, 2502, 52, 381, 1233, 1374, 320,
681 /* 180 */ -4, 2502, 347, 1358, 1360, 1426, 346, -4, 2502, 377,
682 /* 190 */ -4, 376, -4, 374, 55, -4, 374, -4, 1435, 2502,
683 /* 200 */ 666, 2502, 666, 2502, 666, 2502, 666, 2502, 666, 2502,
684 /* 210 */ 407, -4, 374, -4, -4, -4, 401, 419, 411, 408,
685 /* 220 */ 381, 1362, 1478, 423, -4, 2502, 694, 2496, 1304, 459,
686 /* 230 */ 381, 1364, 1530, 485, -4, -4, 509, 519, 1427, 1429,
687 /* 240 */ 1582, 545, -4, 2502, -3, 381, 1445, 1634, 575, -4,
688 /* 250 */ 579, 381, 2502, 458, -4, 640, 568, 639, -4, -4,
689 /* 260 */ 2502, 486, -4, 2502, 82, -4, 2502, 516, -4, 2502,
690 /* 270 */ 546, -4, 2502, 576, -4, 275, 667, 381, 1449, 1686,
691 /* 280 */ 720, -4, 1186, -4, 1195, -4, -4, 1196, 381, 1471,
692 /* 290 */ 1738, 1199, -4, 1203, 381, 1492, 1790, 1210, -4, 1212,
693 /* 300 */ 1214, 1842, 1219, -4, 1223, 1303, 1252, 1275, -4, 1306,
694 /* 310 */ 1294, 381, 1497, 1894, 1298, -4, 629, -4, 1287, 202,
695 /* 320 */ -4, -4, -4, -4, -4, -4, -4, -4, 1946, 1315,
696 /* 330 */ -4, 2502, 606, 381, 1501, 1998, 1317, -4, 1313, 1352,
697 /* 340 */ 2502, 112, 381, 1516, 2050, 1328, -4, 2502, 636, 381,
698 /* 350 */ 1596, 2102, 1332, -4, 2154, 1339, -4, 1250, 1346, -4,
699 /* 360 */ 1349, 1403, 1375, 1380, -4,
700 };
701 #define YY_REDUCE_USE_DFLT (-66)
702 static short yy_reduce_ofst[] = {
703 /* 0 */ 635, -66, 1094, -66, -66, -66, -66, -66, -66, -66,
704 /* 10 */ -66, -66, -66, -66, -66, -66, -66, -66, -66, -66,
705 /* 20 */ -66, -66, -66, -66, -66, -66, -66, 325, -66, 711,
706 /* 30 */ 1094, -66, -66, -66, -66, 735, 1094, -66, -66, -66,
707 /* 40 */ 1101, -66, -66, 1108, 1109, -66, 1110, 1172, -66, 1181,
708 /* 50 */ -66, 1183, -66, 1187, -66, 1189, -66, 1213, -66, 1215,
709 /* 60 */ -66, 1220, -66, 1291, -66, 1407, -66, 1411, -66, 1441,
710 /* 70 */ -66, 1459, -66, 1483, -66, 1493, -66, 1499, -66, 1500,
711 /* 80 */ -66, 1504, -66, 1507, -66, 1515, -66, -66, 1521, -66,
712 /* 90 */ -66, -66, 326, -66, -66, 1523, -66, 1545, -66, 209,
713 /* 100 */ -66, 1551, -66, 1552, -66, -66, 214, -66, -66, -66,
714 /* 110 */ -66, 331, 220, -66, -66, -66, -66, -66, 1556, -66,
715 /* 120 */ -66, -66, -66, -66, -66, -66, -66, -66, -66, -66,
716 /* 130 */ -66, 1104, -66, -66, 1567, -66, -66, -66, 34, -66,
717 /* 140 */ -66, -66, -66, -66, 142, -66, -66, -66, -66, -66,
718 /* 150 */ -66, -66, -66, -66, -66, -66, -66, -66, -66, -66,
719 /* 160 */ -66, -66, -66, -66, 328, -66, 1571, -66, -66, -66,
720 /* 170 */ -66, -66, -66, -66, 1575, -66, 783, 1094, -66, -66,
721 /* 180 */ -66, 1597, -66, 807, 1094, -66, -66, -66, 1599, -66,
722 /* 190 */ -66, -66, -66, -65, -66, -66, 37, -66, -66, 1604,
723 /* 200 */ -66, 1608, -66, 1615, -66, 1617, -66, 1619, -66, 1623,
724 /* 210 */ -66, -66, 327, -66, -66, -66, -66, -66, 146, -66,
725 /* 220 */ 831, 1094, -66, -66, -66, 1625, -66, 322, -66, -66,
726 /* 230 */ 855, 1094, -66, -66, -66, -66, -66, -66, 879, 1094,
727 /* 240 */ -66, -66, -66, 1307, 457, 903, 1094, -66, -66, -66,
728 /* 250 */ -66, 1165, 1357, -66, -66, -66, -66, -66, -66, -66,
729 /* 260 */ 1649, -66, -66, 1651, -66, -66, 1656, -66, -66, 1660,
730 /* 270 */ -66, -66, 1667, -66, -66, -66, -66, 927, 1094, -66,
731 /* 280 */ -66, -66, -66, -66, -66, -66, -66, -66, 951, 1094,
732 /* 290 */ -66, -66, -66, -66, 975, 1094, -66, -66, -66, -66,
733 /* 300 */ -66, -66, -66, -66, -66, -66, -66, -66, -66, -66,
734 /* 310 */ -66, 999, 1094, -66, -66, -66, 1201, -66, -66, 1218,
735 /* 320 */ -66, -66, -66, -66, -66, -66, -66, -66, -66, -66,
736 /* 330 */ -66, 1359, -66, 1023, 1094, -66, -66, -66, -66, -66,
737 /* 340 */ 1669, -66, 1047, 1094, -66, -66, -66, 1671, -66, 1071,
738 /* 350 */ 1094, -66, -66, -66, -66, -66, -66, -66, -66, -66,
739 /* 360 */ -66, -66, -66, -66, -66,
740 };
741 static YYACTIONTYPE yy_default[] = {
742 /* 0 */ 523, 523, 523, 367, 369, 370, 371, 372, 373, 374,
743 /* 10 */ 375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
744 /* 20 */ 385, 386, 387, 388, 389, 390, 523, 523, 523, 523,
745 /* 30 */ 523, 523, 523, 391, 523, 523, 523, 523, 523, 393,
746 /* 40 */ 523, 523, 396, 523, 523, 450, 523, 523, 451, 523,
747 /* 50 */ 454, 523, 456, 523, 458, 523, 459, 523, 460, 523,
748 /* 60 */ 461, 523, 462, 523, 463, 523, 464, 523, 480, 523,
749 /* 70 */ 479, 523, 481, 523, 482, 523, 483, 523, 484, 523,
750 /* 80 */ 485, 523, 486, 523, 487, 523, 488, 523, 523, 489,
751 /* 90 */ 491, 492, 523, 523, 498, 523, 523, 523, 499, 523,
752 /* 100 */ 514, 523, 490, 523, 523, 493, 523, 508, 494, 523,
753 /* 110 */ 495, 523, 523, 496, 523, 497, 506, 518, 523, 507,
754 /* 120 */ 509, 516, 517, 518, 519, 520, 521, 522, 505, 523,
755 /* 130 */ 510, 523, 512, 518, 523, 515, 511, 513, 523, 523,
756 /* 140 */ 500, 523, 523, 523, 523, 501, 523, 502, 517, 516,
757 /* 150 */ 466, 468, 470, 472, 474, 476, 478, 465, 467, 469,
758 /* 160 */ 471, 473, 475, 477, 523, 457, 523, 455, 453, 452,
759 /* 170 */ 523, 397, 523, 523, 523, 523, 523, 523, 523, 523,
760 /* 180 */ 398, 523, 523, 523, 523, 523, 523, 402, 523, 523,
761 /* 190 */ 404, 523, 405, 523, 523, 406, 523, 407, 523, 523,
762 /* 200 */ 409, 523, 410, 523, 411, 523, 412, 523, 413, 523,
763 /* 210 */ 523, 415, 523, 414, 416, 408, 523, 523, 523, 523,
764 /* 220 */ 523, 523, 523, 523, 417, 523, 523, 523, 523, 510,
765 /* 230 */ 523, 523, 523, 523, 429, 431, 523, 523, 523, 523,
766 /* 240 */ 523, 523, 433, 523, 523, 523, 523, 523, 523, 435,
767 /* 250 */ 523, 523, 523, 523, 432, 523, 523, 523, 439, 449,
768 /* 260 */ 523, 523, 440, 523, 523, 441, 523, 523, 442, 523,
769 /* 270 */ 523, 443, 523, 523, 444, 523, 523, 523, 523, 523,
770 /* 280 */ 523, 445, 523, 447, 523, 448, 368, 523, 523, 523,
771 /* 290 */ 523, 523, 446, 523, 523, 523, 523, 523, 436, 523,
772 /* 300 */ 523, 523, 523, 434, 511, 523, 523, 523, 430, 523,
773 /* 310 */ 523, 523, 523, 523, 523, 418, 523, 419, 421, 523,
774 /* 320 */ 422, 423, 424, 425, 426, 427, 428, 420, 523, 523,
775 /* 330 */ 403, 523, 523, 523, 523, 523, 523, 399, 523, 523,
776 /* 340 */ 523, 523, 523, 523, 523, 523, 400, 523, 523, 523,
777 /* 350 */ 523, 523, 523, 401, 523, 523, 394, 523, 523, 392,
778 /* 360 */ 523, 523, 523, 523, 395,
779 };
780 #define YY_SZ_ACTTAB (sizeof(yy_action)/sizeof(yy_action[0]))
781
782 /* The next table maps tokens into fallback tokens. If a construct
783 ** like the following:
784 **
785 ** %fallback ID X Y Z.
786 **
787 ** appears in the grammer, then ID becomes a fallback token for X, Y,
788 ** and Z. Whenever one of the tokens X, Y, or Z is input to the parser
789 ** but it does not parse, the type of the token is changed to ID and
790 ** the parse is retried before an error is thrown.
791 */
792 #ifdef YYFALLBACK
793 static const YYCODETYPE yyFallback[] = {
794 };
795 #endif /* YYFALLBACK */
796
797 /* The following structure represents a single element of the
798 ** parser's stack. Information stored includes:
799 **
800 ** + The state number for the parser at this level of the stack.
801 **
802 ** + The value of the token stored at this level of the stack.
803 ** (In other words, the "major" token.)
804 **
805 ** + The semantic value stored at this level of the stack. This is
806 ** the information used by the action routines in the grammar.
807 ** It is sometimes called the "minor" token.
808 */
809 struct yyStackEntry {
810 int stateno; /* The state-number */
811 int major; /* The major token value. This is the code
812 ** number for the token at this stack level */
813 YYMINORTYPE minor; /* The user-supplied minor token value. This
814 ** is the value of the token */
815 };
816 typedef struct yyStackEntry yyStackEntry;
817
818 /* The state of the parser is completely contained in an instance of
819 ** the following structure */
820 struct yyParser {
821 int yyidx; /* Index of top element in stack */
822 int yyerrcnt; /* Shifts left before out of the error */
823 phvolt_ARG_SDECL /* A place to hold %extra_argument */
824 yyStackEntry yystack[YYSTACKDEPTH]; /* The parser's stack */
825 };
826 typedef struct yyParser yyParser;
827
828 #ifndef NDEBUG
829 #include <stdio.h>
830 static FILE *yyTraceFILE = 0;
831 static char *yyTracePrompt = 0;
832 #endif /* NDEBUG */
833
834 #ifndef NDEBUG
835 /*
836 ** Turn parser tracing on by giving a stream to which to write the trace
837 ** and a prompt to preface each trace message. Tracing is turned off
838 ** by making either argument NULL
839 **
840 ** Inputs:
841 ** <ul>
842 ** <li> A FILE* to which trace output should be written.
843 ** If NULL, then tracing is turned off.
844 ** <li> A prefix string written at the beginning of every
845 ** line of trace output. If NULL, then tracing is
846 ** turned off.
847 ** </ul>
848 **
849 ** Outputs:
850 ** None.
851 */
phvolt_Trace(FILE * TraceFILE,char * zTracePrompt)852 void phvolt_Trace(FILE *TraceFILE, char *zTracePrompt){
853 yyTraceFILE = TraceFILE;
854 yyTracePrompt = zTracePrompt;
855 if( yyTraceFILE==0 ) yyTracePrompt = 0;
856 else if( yyTracePrompt==0 ) yyTraceFILE = 0;
857 }
858 #endif /* NDEBUG */
859
860 #ifndef NDEBUG
861 /* For tracing shifts, the names of all terminals and nonterminals
862 ** are required. The following table supplies these names */
863 static const char *yyTokenName[] = {
864 "$", "OPEN_DELIMITER", "COMMA", "IN",
865 "QUESTION", "COLON", "RANGE", "AND",
866 "OR", "IS", "EQUALS", "NOTEQUALS",
867 "LESS", "GREATER", "GREATEREQUAL", "LESSEQUAL",
868 "IDENTICAL", "NOTIDENTICAL", "DIVIDE", "TIMES",
869 "MOD", "PLUS", "MINUS", "CONCAT",
870 "SBRACKET_OPEN", "PIPE", "NOT", "INCR",
871 "DECR", "PARENTHESES_OPEN", "DOT", "IF",
872 "CLOSE_DELIMITER", "ENDIF", "ELSE", "ELSEIF",
873 "ELSEFOR", "FOR", "IDENTIFIER", "ENDFOR",
874 "SWITCH", "ENDSWITCH", "CASE", "DEFAULT",
875 "SET", "ASSIGN", "ADD_ASSIGN", "SUB_ASSIGN",
876 "MUL_ASSIGN", "DIV_ASSIGN", "SBRACKET_CLOSE", "MACRO",
877 "PARENTHESES_CLOSE", "ENDMACRO", "INTEGER", "STRING",
878 "DOUBLE", "NULL", "FALSE", "TRUE",
879 "CALL", "ENDCALL", "OPEN_EDELIMITER", "CLOSE_EDELIMITER",
880 "BLOCK", "ENDBLOCK", "CACHE", "ENDCACHE",
881 "RAW", "ENDRAW", "EXTENDS", "INCLUDE",
882 "WITH", "DO", "RETURN", "AUTOESCAPE",
883 "ENDAUTOESCAPE", "BREAK", "CONTINUE", "RAW_FRAGMENT",
884 "DEFINED", "EMPTY", "EVEN", "ODD",
885 "NUMERIC", "SCALAR", "ITERABLE", "CBRACKET_OPEN",
886 "CBRACKET_CLOSE", "error", "program", "volt_language",
887 "statement_list", "statement", "raw_fragment", "if_statement",
888 "elseif_statement", "elsefor_statement", "for_statement", "switch_statement",
889 "case_clause", "set_statement", "echo_statement", "block_statement",
890 "cache_statement", "extends_statement", "include_statement", "do_statement",
891 "return_statement", "autoescape_statement", "raw_statement", "break_statement",
892 "continue_statement", "macro_statement", "empty_statement", "macro_call_statement",
893 "expr", "set_assignments", "set_assignment", "assignable_expr",
894 "macro_parameters", "macro_parameter", "macro_parameter_default", "argument_list",
895 "cache_lifetime", "array_list", "slice_offset", "array_item",
896 "function_call", "argument_item",
897 };
898 #endif /* NDEBUG */
899
900 #ifndef NDEBUG
901 /* For tracing reduce actions, the names of all rules are required.
902 */
903 static const char *yyRuleName[] = {
904 /* 0 */ "program ::= volt_language",
905 /* 1 */ "volt_language ::= statement_list",
906 /* 2 */ "statement_list ::= statement_list statement",
907 /* 3 */ "statement_list ::= statement",
908 /* 4 */ "statement ::= raw_fragment",
909 /* 5 */ "statement ::= if_statement",
910 /* 6 */ "statement ::= elseif_statement",
911 /* 7 */ "statement ::= elsefor_statement",
912 /* 8 */ "statement ::= for_statement",
913 /* 9 */ "statement ::= switch_statement",
914 /* 10 */ "statement ::= case_clause",
915 /* 11 */ "statement ::= set_statement",
916 /* 12 */ "statement ::= echo_statement",
917 /* 13 */ "statement ::= block_statement",
918 /* 14 */ "statement ::= cache_statement",
919 /* 15 */ "statement ::= extends_statement",
920 /* 16 */ "statement ::= include_statement",
921 /* 17 */ "statement ::= do_statement",
922 /* 18 */ "statement ::= return_statement",
923 /* 19 */ "statement ::= autoescape_statement",
924 /* 20 */ "statement ::= raw_statement",
925 /* 21 */ "statement ::= break_statement",
926 /* 22 */ "statement ::= continue_statement",
927 /* 23 */ "statement ::= macro_statement",
928 /* 24 */ "statement ::= empty_statement",
929 /* 25 */ "statement ::= macro_call_statement",
930 /* 26 */ "if_statement ::= OPEN_DELIMITER IF expr CLOSE_DELIMITER statement_list OPEN_DELIMITER ENDIF CLOSE_DELIMITER",
931 /* 27 */ "if_statement ::= OPEN_DELIMITER IF expr CLOSE_DELIMITER OPEN_DELIMITER ENDIF CLOSE_DELIMITER",
932 /* 28 */ "if_statement ::= OPEN_DELIMITER IF expr CLOSE_DELIMITER statement_list OPEN_DELIMITER ELSE CLOSE_DELIMITER statement_list OPEN_DELIMITER ENDIF CLOSE_DELIMITER",
933 /* 29 */ "if_statement ::= OPEN_DELIMITER IF expr CLOSE_DELIMITER statement_list OPEN_DELIMITER ELSE CLOSE_DELIMITER OPEN_DELIMITER ENDIF CLOSE_DELIMITER",
934 /* 30 */ "if_statement ::= OPEN_DELIMITER IF expr CLOSE_DELIMITER OPEN_DELIMITER ELSE CLOSE_DELIMITER OPEN_DELIMITER ENDIF CLOSE_DELIMITER",
935 /* 31 */ "elseif_statement ::= OPEN_DELIMITER ELSEIF expr CLOSE_DELIMITER",
936 /* 32 */ "elsefor_statement ::= OPEN_DELIMITER ELSEFOR CLOSE_DELIMITER",
937 /* 33 */ "for_statement ::= OPEN_DELIMITER FOR IDENTIFIER IN expr CLOSE_DELIMITER statement_list OPEN_DELIMITER ENDFOR CLOSE_DELIMITER",
938 /* 34 */ "for_statement ::= OPEN_DELIMITER FOR IDENTIFIER IN expr IF expr CLOSE_DELIMITER statement_list OPEN_DELIMITER ENDFOR CLOSE_DELIMITER",
939 /* 35 */ "for_statement ::= OPEN_DELIMITER FOR IDENTIFIER COMMA IDENTIFIER IN expr CLOSE_DELIMITER statement_list OPEN_DELIMITER ENDFOR CLOSE_DELIMITER",
940 /* 36 */ "for_statement ::= OPEN_DELIMITER FOR IDENTIFIER COMMA IDENTIFIER IN expr IF expr CLOSE_DELIMITER statement_list OPEN_DELIMITER ENDFOR CLOSE_DELIMITER",
941 /* 37 */ "switch_statement ::= OPEN_DELIMITER SWITCH expr CLOSE_DELIMITER statement_list OPEN_DELIMITER ENDSWITCH CLOSE_DELIMITER",
942 /* 38 */ "switch_statement ::= OPEN_DELIMITER SWITCH expr CLOSE_DELIMITER OPEN_DELIMITER ENDSWITCH CLOSE_DELIMITER",
943 /* 39 */ "case_clause ::= OPEN_DELIMITER CASE expr CLOSE_DELIMITER",
944 /* 40 */ "case_clause ::= OPEN_DELIMITER DEFAULT CLOSE_DELIMITER",
945 /* 41 */ "set_statement ::= OPEN_DELIMITER SET set_assignments CLOSE_DELIMITER",
946 /* 42 */ "set_assignments ::= set_assignments COMMA set_assignment",
947 /* 43 */ "set_assignments ::= set_assignment",
948 /* 44 */ "set_assignment ::= assignable_expr ASSIGN expr",
949 /* 45 */ "set_assignment ::= assignable_expr ADD_ASSIGN expr",
950 /* 46 */ "set_assignment ::= assignable_expr SUB_ASSIGN expr",
951 /* 47 */ "set_assignment ::= assignable_expr MUL_ASSIGN expr",
952 /* 48 */ "set_assignment ::= assignable_expr DIV_ASSIGN expr",
953 /* 49 */ "assignable_expr ::= IDENTIFIER",
954 /* 50 */ "assignable_expr ::= assignable_expr SBRACKET_OPEN expr SBRACKET_CLOSE",
955 /* 51 */ "assignable_expr ::= assignable_expr DOT assignable_expr",
956 /* 52 */ "macro_statement ::= OPEN_DELIMITER MACRO IDENTIFIER PARENTHESES_OPEN PARENTHESES_CLOSE CLOSE_DELIMITER statement_list OPEN_DELIMITER ENDMACRO CLOSE_DELIMITER",
957 /* 53 */ "macro_statement ::= OPEN_DELIMITER MACRO IDENTIFIER PARENTHESES_OPEN macro_parameters PARENTHESES_CLOSE CLOSE_DELIMITER statement_list OPEN_DELIMITER ENDMACRO CLOSE_DELIMITER",
958 /* 54 */ "macro_parameters ::= macro_parameters COMMA macro_parameter",
959 /* 55 */ "macro_parameters ::= macro_parameter",
960 /* 56 */ "macro_parameter ::= IDENTIFIER",
961 /* 57 */ "macro_parameter ::= IDENTIFIER ASSIGN macro_parameter_default",
962 /* 58 */ "macro_parameter_default ::= INTEGER",
963 /* 59 */ "macro_parameter_default ::= STRING",
964 /* 60 */ "macro_parameter_default ::= DOUBLE",
965 /* 61 */ "macro_parameter_default ::= NULL",
966 /* 62 */ "macro_parameter_default ::= FALSE",
967 /* 63 */ "macro_parameter_default ::= TRUE",
968 /* 64 */ "macro_call_statement ::= OPEN_DELIMITER CALL expr PARENTHESES_OPEN argument_list PARENTHESES_CLOSE CLOSE_DELIMITER statement_list OPEN_DELIMITER ENDCALL CLOSE_DELIMITER",
969 /* 65 */ "macro_call_statement ::= OPEN_DELIMITER CALL expr PARENTHESES_OPEN PARENTHESES_CLOSE CLOSE_DELIMITER OPEN_DELIMITER ENDCALL CLOSE_DELIMITER",
970 /* 66 */ "empty_statement ::= OPEN_DELIMITER CLOSE_DELIMITER",
971 /* 67 */ "echo_statement ::= OPEN_EDELIMITER expr CLOSE_EDELIMITER",
972 /* 68 */ "block_statement ::= OPEN_DELIMITER BLOCK IDENTIFIER CLOSE_DELIMITER statement_list OPEN_DELIMITER ENDBLOCK CLOSE_DELIMITER",
973 /* 69 */ "block_statement ::= OPEN_DELIMITER BLOCK IDENTIFIER CLOSE_DELIMITER OPEN_DELIMITER ENDBLOCK CLOSE_DELIMITER",
974 /* 70 */ "cache_statement ::= OPEN_DELIMITER CACHE expr CLOSE_DELIMITER statement_list OPEN_DELIMITER ENDCACHE CLOSE_DELIMITER",
975 /* 71 */ "cache_statement ::= OPEN_DELIMITER CACHE expr cache_lifetime CLOSE_DELIMITER statement_list OPEN_DELIMITER ENDCACHE CLOSE_DELIMITER",
976 /* 72 */ "cache_lifetime ::= INTEGER",
977 /* 73 */ "cache_lifetime ::= IDENTIFIER",
978 /* 74 */ "raw_statement ::= OPEN_DELIMITER RAW CLOSE_DELIMITER statement OPEN_DELIMITER ENDRAW CLOSE_DELIMITER",
979 /* 75 */ "extends_statement ::= OPEN_DELIMITER EXTENDS expr CLOSE_DELIMITER",
980 /* 76 */ "include_statement ::= OPEN_DELIMITER INCLUDE expr CLOSE_DELIMITER",
981 /* 77 */ "include_statement ::= OPEN_DELIMITER INCLUDE expr WITH expr CLOSE_DELIMITER",
982 /* 78 */ "do_statement ::= OPEN_DELIMITER DO expr CLOSE_DELIMITER",
983 /* 79 */ "return_statement ::= OPEN_DELIMITER RETURN expr CLOSE_DELIMITER",
984 /* 80 */ "autoescape_statement ::= OPEN_DELIMITER AUTOESCAPE FALSE CLOSE_DELIMITER statement_list OPEN_DELIMITER ENDAUTOESCAPE CLOSE_DELIMITER",
985 /* 81 */ "autoescape_statement ::= OPEN_DELIMITER AUTOESCAPE TRUE CLOSE_DELIMITER statement_list OPEN_DELIMITER ENDAUTOESCAPE CLOSE_DELIMITER",
986 /* 82 */ "break_statement ::= OPEN_DELIMITER BREAK CLOSE_DELIMITER",
987 /* 83 */ "continue_statement ::= OPEN_DELIMITER CONTINUE CLOSE_DELIMITER",
988 /* 84 */ "raw_fragment ::= RAW_FRAGMENT",
989 /* 85 */ "expr ::= MINUS expr",
990 /* 86 */ "expr ::= PLUS expr",
991 /* 87 */ "expr ::= expr MINUS expr",
992 /* 88 */ "expr ::= expr PLUS expr",
993 /* 89 */ "expr ::= expr TIMES expr",
994 /* 90 */ "expr ::= expr TIMES TIMES expr",
995 /* 91 */ "expr ::= expr DIVIDE expr",
996 /* 92 */ "expr ::= expr DIVIDE DIVIDE expr",
997 /* 93 */ "expr ::= expr MOD expr",
998 /* 94 */ "expr ::= expr AND expr",
999 /* 95 */ "expr ::= expr OR expr",
1000 /* 96 */ "expr ::= expr CONCAT expr",
1001 /* 97 */ "expr ::= expr PIPE expr",
1002 /* 98 */ "expr ::= expr RANGE expr",
1003 /* 99 */ "expr ::= expr EQUALS expr",
1004 /* 100 */ "expr ::= expr NOTEQUALS DEFINED",
1005 /* 101 */ "expr ::= expr IS DEFINED",
1006 /* 102 */ "expr ::= expr NOTEQUALS EMPTY",
1007 /* 103 */ "expr ::= expr IS EMPTY",
1008 /* 104 */ "expr ::= expr NOTEQUALS EVEN",
1009 /* 105 */ "expr ::= expr IS EVEN",
1010 /* 106 */ "expr ::= expr NOTEQUALS ODD",
1011 /* 107 */ "expr ::= expr IS ODD",
1012 /* 108 */ "expr ::= expr NOTEQUALS NUMERIC",
1013 /* 109 */ "expr ::= expr IS NUMERIC",
1014 /* 110 */ "expr ::= expr NOTEQUALS SCALAR",
1015 /* 111 */ "expr ::= expr IS SCALAR",
1016 /* 112 */ "expr ::= expr NOTEQUALS ITERABLE",
1017 /* 113 */ "expr ::= expr IS ITERABLE",
1018 /* 114 */ "expr ::= expr IS expr",
1019 /* 115 */ "expr ::= expr NOTEQUALS expr",
1020 /* 116 */ "expr ::= expr IDENTICAL expr",
1021 /* 117 */ "expr ::= expr NOTIDENTICAL expr",
1022 /* 118 */ "expr ::= expr LESS expr",
1023 /* 119 */ "expr ::= expr GREATER expr",
1024 /* 120 */ "expr ::= expr GREATEREQUAL expr",
1025 /* 121 */ "expr ::= expr LESSEQUAL expr",
1026 /* 122 */ "expr ::= expr DOT expr",
1027 /* 123 */ "expr ::= expr IN expr",
1028 /* 124 */ "expr ::= expr NOT IN expr",
1029 /* 125 */ "expr ::= NOT expr",
1030 /* 126 */ "expr ::= expr INCR",
1031 /* 127 */ "expr ::= expr DECR",
1032 /* 128 */ "expr ::= PARENTHESES_OPEN expr PARENTHESES_CLOSE",
1033 /* 129 */ "expr ::= SBRACKET_OPEN SBRACKET_CLOSE",
1034 /* 130 */ "expr ::= SBRACKET_OPEN array_list SBRACKET_CLOSE",
1035 /* 131 */ "expr ::= CBRACKET_OPEN CBRACKET_CLOSE",
1036 /* 132 */ "expr ::= CBRACKET_OPEN array_list CBRACKET_CLOSE",
1037 /* 133 */ "expr ::= expr SBRACKET_OPEN expr SBRACKET_CLOSE",
1038 /* 134 */ "expr ::= expr QUESTION expr COLON expr",
1039 /* 135 */ "expr ::= expr SBRACKET_OPEN COLON slice_offset SBRACKET_CLOSE",
1040 /* 136 */ "expr ::= expr SBRACKET_OPEN slice_offset COLON SBRACKET_CLOSE",
1041 /* 137 */ "expr ::= expr SBRACKET_OPEN slice_offset COLON slice_offset SBRACKET_CLOSE",
1042 /* 138 */ "slice_offset ::= INTEGER",
1043 /* 139 */ "slice_offset ::= IDENTIFIER",
1044 /* 140 */ "array_list ::= array_list COMMA array_item",
1045 /* 141 */ "array_list ::= array_item",
1046 /* 142 */ "array_item ::= STRING COLON expr",
1047 /* 143 */ "array_item ::= expr",
1048 /* 144 */ "expr ::= function_call",
1049 /* 145 */ "function_call ::= expr PARENTHESES_OPEN argument_list PARENTHESES_CLOSE",
1050 /* 146 */ "function_call ::= expr PARENTHESES_OPEN PARENTHESES_CLOSE",
1051 /* 147 */ "argument_list ::= argument_list COMMA argument_item",
1052 /* 148 */ "argument_list ::= argument_item",
1053 /* 149 */ "argument_item ::= expr",
1054 /* 150 */ "argument_item ::= STRING COLON expr",
1055 /* 151 */ "expr ::= IDENTIFIER",
1056 /* 152 */ "expr ::= INTEGER",
1057 /* 153 */ "expr ::= STRING",
1058 /* 154 */ "expr ::= DOUBLE",
1059 /* 155 */ "expr ::= NULL",
1060 /* 156 */ "expr ::= FALSE",
1061 /* 157 */ "expr ::= TRUE",
1062 };
1063 #endif /* NDEBUG */
1064
1065 /*
1066 ** This function returns the symbolic name associated with a token
1067 ** value.
1068 */
phvolt_TokenName(int tokenType)1069 const char *phvolt_TokenName(int tokenType){
1070 #ifndef NDEBUG
1071 if( tokenType>0 && tokenType<(sizeof(yyTokenName)/sizeof(yyTokenName[0])) ){
1072 return yyTokenName[tokenType];
1073 }else{
1074 return "Unknown";
1075 }
1076 #else
1077 return "";
1078 #endif
1079 }
1080
1081 /*
1082 ** This function allocates a new parser.
1083 ** The only argument is a pointer to a function which works like
1084 ** malloc.
1085 **
1086 ** Inputs:
1087 ** A pointer to the function used to allocate memory.
1088 **
1089 ** Outputs:
1090 ** A pointer to a parser. This pointer is used in subsequent calls
1091 ** to phvolt_ and phvolt_Free.
1092 */
phvolt_Alloc(void * (* mallocProc)(size_t))1093 void *phvolt_Alloc(void *(*mallocProc)(size_t)){
1094 yyParser *pParser;
1095 pParser = (yyParser*)(*mallocProc)( (size_t)sizeof(yyParser) );
1096 if( pParser ){
1097 pParser->yyidx = -1;
1098 }
1099 return pParser;
1100 }
1101
1102 /* The following function deletes the value associated with a
1103 ** symbol. The symbol can be either a terminal or nonterminal.
1104 ** "yymajor" is the symbol code, and "yypminor" is a pointer to
1105 ** the value.
1106 */
yy_destructor(YYCODETYPE yymajor,YYMINORTYPE * yypminor)1107 static void yy_destructor(YYCODETYPE yymajor, YYMINORTYPE *yypminor){
1108 switch( yymajor ){
1109 /* Here is inserted the actions which take place when a
1110 ** terminal or non-terminal is destroyed. This can happen
1111 ** when the symbol is popped from the stack during a
1112 ** reduce or during error processing or when a parser is
1113 ** being destroyed before it is finished parsing.
1114 **
1115 ** Note: during a reduce, the only symbols destroyed are those
1116 ** which appear on the RHS of the rule, but which are not used
1117 ** inside the C code.
1118 */
1119 case 1:
1120 case 2:
1121 case 3:
1122 case 4:
1123 case 5:
1124 case 6:
1125 case 7:
1126 case 8:
1127 case 9:
1128 case 10:
1129 case 11:
1130 case 12:
1131 case 13:
1132 case 14:
1133 case 15:
1134 case 16:
1135 case 17:
1136 case 18:
1137 case 19:
1138 case 20:
1139 case 21:
1140 case 22:
1141 case 23:
1142 case 24:
1143 case 25:
1144 case 26:
1145 case 27:
1146 case 28:
1147 case 29:
1148 case 30:
1149 case 31:
1150 case 32:
1151 case 33:
1152 case 34:
1153 case 35:
1154 case 36:
1155 case 37:
1156 case 38:
1157 case 39:
1158 case 40:
1159 case 41:
1160 case 42:
1161 case 43:
1162 case 44:
1163 case 45:
1164 case 46:
1165 case 47:
1166 case 48:
1167 case 49:
1168 case 50:
1169 case 51:
1170 case 52:
1171 case 53:
1172 case 54:
1173 case 55:
1174 case 56:
1175 case 57:
1176 case 58:
1177 case 59:
1178 case 60:
1179 case 61:
1180 case 62:
1181 case 63:
1182 case 64:
1183 case 65:
1184 case 66:
1185 case 67:
1186 case 68:
1187 case 69:
1188 case 70:
1189 case 71:
1190 case 72:
1191 case 73:
1192 case 74:
1193 case 75:
1194 case 76:
1195 case 77:
1196 case 78:
1197 case 79:
1198 case 80:
1199 case 81:
1200 case 82:
1201 case 83:
1202 case 84:
1203 case 85:
1204 case 86:
1205 case 87:
1206 case 88:
1207 #line 151 "parser.php7.lemon"
1208 {
1209 if ((yypminor->yy0)) {
1210 if ((yypminor->yy0)->free_flag) {
1211 efree((yypminor->yy0)->token);
1212 }
1213 efree((yypminor->yy0));
1214 }
1215 }
1216 #line 1217 "parser.php7.c"
1217 break;
1218 case 92:
1219 case 93:
1220 case 94:
1221 case 95:
1222 case 96:
1223 case 97:
1224 case 98:
1225 case 99:
1226 case 100:
1227 case 101:
1228 case 102:
1229 case 103:
1230 case 104:
1231 case 105:
1232 case 106:
1233 case 107:
1234 case 108:
1235 case 109:
1236 case 110:
1237 case 111:
1238 case 112:
1239 case 113:
1240 case 114:
1241 case 115:
1242 case 116:
1243 case 117:
1244 case 118:
1245 case 120:
1246 case 121:
1247 case 123:
1248 case 124:
1249 case 125:
1250 case 126:
1251 case 127:
1252 case 128:
1253 case 129:
1254 #line 168 "parser.php7.lemon"
1255 {
1256 zval_ptr_dtor(&(yypminor->yy186));
1257 }
1258 #line 1259 "parser.php7.c"
1259 break;
1260 default: break; /* If no destructor action specified: do nothing */
1261 }
1262 }
1263
1264 /*
1265 ** Pop the parser's stack once.
1266 **
1267 ** If there is a destructor routine associated with the token which
1268 ** is popped from the stack, then call it.
1269 **
1270 ** Return the major token number for the symbol popped.
1271 */
yy_pop_parser_stack(yyParser * pParser)1272 static int yy_pop_parser_stack(yyParser *pParser){
1273 YYCODETYPE yymajor;
1274 yyStackEntry *yytos = &pParser->yystack[pParser->yyidx];
1275
1276 if( pParser->yyidx<0 ) return 0;
1277 #ifndef NDEBUG
1278 if( yyTraceFILE && pParser->yyidx>=0 ){
1279 fprintf(yyTraceFILE,"%sPopping %s\n",
1280 yyTracePrompt,
1281 yyTokenName[yytos->major]);
1282 }
1283 #endif
1284 yymajor = yytos->major;
1285 yy_destructor( yymajor, &yytos->minor);
1286 pParser->yyidx--;
1287 return yymajor;
1288 }
1289
1290 /*
1291 ** Deallocate and destroy a parser. Destructors are all called for
1292 ** all stack elements before shutting the parser down.
1293 **
1294 ** Inputs:
1295 ** <ul>
1296 ** <li> A pointer to the parser. This should be a pointer
1297 ** obtained from phvolt_Alloc.
1298 ** <li> A pointer to a function used to reclaim memory obtained
1299 ** from malloc.
1300 ** </ul>
1301 */
phvolt_Free(void * p,void (* freeProc)(void *))1302 void phvolt_Free(
1303 void *p, /* The parser to be deleted */
1304 void (*freeProc)(void*) /* Function used to reclaim memory */
1305 ){
1306 yyParser *pParser = (yyParser*)p;
1307 if( pParser==0 ) return;
1308 while( pParser->yyidx>=0 ) yy_pop_parser_stack(pParser);
1309 (*freeProc)((void*)pParser);
1310 }
1311
1312 /*
1313 ** Find the appropriate action for a parser given the terminal
1314 ** look-ahead token iLookAhead.
1315 **
1316 ** If the look-ahead token is YYNOCODE, then check to see if the action is
1317 ** independent of the look-ahead. If it is, return the action, otherwise
1318 ** return YY_NO_ACTION.
1319 */
yy_find_shift_action(yyParser * pParser,int iLookAhead)1320 static int yy_find_shift_action(
1321 yyParser *pParser, /* The parser */
1322 int iLookAhead /* The look-ahead token */
1323 ){
1324 int i;
1325 int stateno = pParser->yystack[pParser->yyidx].stateno;
1326
1327 /* if( pParser->yyidx<0 ) return YY_NO_ACTION; */
1328 i = yy_shift_ofst[stateno];
1329 if( i==YY_SHIFT_USE_DFLT ){
1330 return yy_default[stateno];
1331 }
1332 if( iLookAhead==YYNOCODE ){
1333 return YY_NO_ACTION;
1334 }
1335 i += iLookAhead;
1336 if( i<0 || i>=YY_SZ_ACTTAB || yy_lookahead[i]!=iLookAhead ){
1337 #ifdef YYFALLBACK
1338 int iFallback; /* Fallback token */
1339 if( iLookAhead<sizeof(yyFallback)/sizeof(yyFallback[0])
1340 && (iFallback = yyFallback[iLookAhead])!=0 ){
1341 #ifndef NDEBUG
1342 if( yyTraceFILE ){
1343 fprintf(yyTraceFILE, "%sFALLBACK %s => %s\n",
1344 yyTracePrompt, yyTokenName[iLookAhead], yyTokenName[iFallback]);
1345 }
1346 #endif
1347 return yy_find_shift_action(pParser, iFallback);
1348 }
1349 #endif
1350 return yy_default[stateno];
1351 }else{
1352 return yy_action[i];
1353 }
1354 }
1355
1356 /*
1357 ** Find the appropriate action for a parser given the non-terminal
1358 ** look-ahead token iLookAhead.
1359 **
1360 ** If the look-ahead token is YYNOCODE, then check to see if the action is
1361 ** independent of the look-ahead. If it is, return the action, otherwise
1362 ** return YY_NO_ACTION.
1363 */
yy_find_reduce_action(yyParser * pParser,int iLookAhead)1364 static int yy_find_reduce_action(
1365 yyParser *pParser, /* The parser */
1366 int iLookAhead /* The look-ahead token */
1367 ){
1368 int i;
1369 int stateno = pParser->yystack[pParser->yyidx].stateno;
1370
1371 i = yy_reduce_ofst[stateno];
1372 if( i==YY_REDUCE_USE_DFLT ){
1373 return yy_default[stateno];
1374 }
1375 if( iLookAhead==YYNOCODE ){
1376 return YY_NO_ACTION;
1377 }
1378 i += iLookAhead;
1379 if( i<0 || i>=YY_SZ_ACTTAB || yy_lookahead[i]!=iLookAhead ){
1380 return yy_default[stateno];
1381 }else{
1382 return yy_action[i];
1383 }
1384 }
1385
1386 /*
1387 ** Perform a shift action.
1388 */
yy_shift(yyParser * yypParser,int yyNewState,int yyMajor,YYMINORTYPE * yypMinor)1389 static void yy_shift(
1390 yyParser *yypParser, /* The parser to be shifted */
1391 int yyNewState, /* The new state to shift in */
1392 int yyMajor, /* The major token to shift in */
1393 YYMINORTYPE *yypMinor /* Pointer ot the minor token to shift in */
1394 ){
1395 yyStackEntry *yytos;
1396 yypParser->yyidx++;
1397 if( yypParser->yyidx>=YYSTACKDEPTH ){
1398 phvolt_ARG_FETCH;
1399 yypParser->yyidx--;
1400 #ifndef NDEBUG
1401 if( yyTraceFILE ){
1402 fprintf(yyTraceFILE,"%sStack Overflow!\n",yyTracePrompt);
1403 }
1404 #endif
1405 while( yypParser->yyidx>=0 ) yy_pop_parser_stack(yypParser);
1406 /* Here code is inserted which will execute if the parser
1407 ** stack every overflows */
1408 phvolt_ARG_STORE; /* Suppress warning about unused %extra_argument var */
1409 return;
1410 }
1411 yytos = &yypParser->yystack[yypParser->yyidx];
1412 yytos->stateno = yyNewState;
1413 yytos->major = yyMajor;
1414 yytos->minor = *yypMinor;
1415 #ifndef NDEBUG
1416 if( yyTraceFILE && yypParser->yyidx>0 ){
1417 int i;
1418 fprintf(yyTraceFILE,"%sShift %d\n",yyTracePrompt,yyNewState);
1419 fprintf(yyTraceFILE,"%sStack:",yyTracePrompt);
1420 for(i=1; i<=yypParser->yyidx; i++)
1421 fprintf(yyTraceFILE," %s",yyTokenName[yypParser->yystack[i].major]);
1422 fprintf(yyTraceFILE,"\n");
1423 }
1424 #endif
1425 }
1426
1427 /* The following table contains information about every rule that
1428 ** is used during the reduce.
1429 */
1430 static struct {
1431 YYCODETYPE lhs; /* Symbol on the left-hand side of the rule */
1432 unsigned char nrhs; /* Number of right-hand side symbols in the rule */
1433 } yyRuleInfo[] = {
1434 { 90, 1 },
1435 { 91, 1 },
1436 { 92, 2 },
1437 { 92, 1 },
1438 { 93, 1 },
1439 { 93, 1 },
1440 { 93, 1 },
1441 { 93, 1 },
1442 { 93, 1 },
1443 { 93, 1 },
1444 { 93, 1 },
1445 { 93, 1 },
1446 { 93, 1 },
1447 { 93, 1 },
1448 { 93, 1 },
1449 { 93, 1 },
1450 { 93, 1 },
1451 { 93, 1 },
1452 { 93, 1 },
1453 { 93, 1 },
1454 { 93, 1 },
1455 { 93, 1 },
1456 { 93, 1 },
1457 { 93, 1 },
1458 { 93, 1 },
1459 { 93, 1 },
1460 { 95, 8 },
1461 { 95, 7 },
1462 { 95, 12 },
1463 { 95, 11 },
1464 { 95, 10 },
1465 { 96, 4 },
1466 { 97, 3 },
1467 { 98, 10 },
1468 { 98, 12 },
1469 { 98, 12 },
1470 { 98, 14 },
1471 { 99, 8 },
1472 { 99, 7 },
1473 { 100, 4 },
1474 { 100, 3 },
1475 { 101, 4 },
1476 { 117, 3 },
1477 { 117, 1 },
1478 { 118, 3 },
1479 { 118, 3 },
1480 { 118, 3 },
1481 { 118, 3 },
1482 { 118, 3 },
1483 { 119, 1 },
1484 { 119, 4 },
1485 { 119, 3 },
1486 { 113, 10 },
1487 { 113, 11 },
1488 { 120, 3 },
1489 { 120, 1 },
1490 { 121, 1 },
1491 { 121, 3 },
1492 { 122, 1 },
1493 { 122, 1 },
1494 { 122, 1 },
1495 { 122, 1 },
1496 { 122, 1 },
1497 { 122, 1 },
1498 { 115, 11 },
1499 { 115, 9 },
1500 { 114, 2 },
1501 { 102, 3 },
1502 { 103, 8 },
1503 { 103, 7 },
1504 { 104, 8 },
1505 { 104, 9 },
1506 { 124, 1 },
1507 { 124, 1 },
1508 { 110, 7 },
1509 { 105, 4 },
1510 { 106, 4 },
1511 { 106, 6 },
1512 { 107, 4 },
1513 { 108, 4 },
1514 { 109, 8 },
1515 { 109, 8 },
1516 { 111, 3 },
1517 { 112, 3 },
1518 { 94, 1 },
1519 { 116, 2 },
1520 { 116, 2 },
1521 { 116, 3 },
1522 { 116, 3 },
1523 { 116, 3 },
1524 { 116, 4 },
1525 { 116, 3 },
1526 { 116, 4 },
1527 { 116, 3 },
1528 { 116, 3 },
1529 { 116, 3 },
1530 { 116, 3 },
1531 { 116, 3 },
1532 { 116, 3 },
1533 { 116, 3 },
1534 { 116, 3 },
1535 { 116, 3 },
1536 { 116, 3 },
1537 { 116, 3 },
1538 { 116, 3 },
1539 { 116, 3 },
1540 { 116, 3 },
1541 { 116, 3 },
1542 { 116, 3 },
1543 { 116, 3 },
1544 { 116, 3 },
1545 { 116, 3 },
1546 { 116, 3 },
1547 { 116, 3 },
1548 { 116, 3 },
1549 { 116, 3 },
1550 { 116, 3 },
1551 { 116, 3 },
1552 { 116, 3 },
1553 { 116, 3 },
1554 { 116, 3 },
1555 { 116, 3 },
1556 { 116, 3 },
1557 { 116, 3 },
1558 { 116, 4 },
1559 { 116, 2 },
1560 { 116, 2 },
1561 { 116, 2 },
1562 { 116, 3 },
1563 { 116, 2 },
1564 { 116, 3 },
1565 { 116, 2 },
1566 { 116, 3 },
1567 { 116, 4 },
1568 { 116, 5 },
1569 { 116, 5 },
1570 { 116, 5 },
1571 { 116, 6 },
1572 { 126, 1 },
1573 { 126, 1 },
1574 { 125, 3 },
1575 { 125, 1 },
1576 { 127, 3 },
1577 { 127, 1 },
1578 { 116, 1 },
1579 { 128, 4 },
1580 { 128, 3 },
1581 { 123, 3 },
1582 { 123, 1 },
1583 { 129, 1 },
1584 { 129, 3 },
1585 { 116, 1 },
1586 { 116, 1 },
1587 { 116, 1 },
1588 { 116, 1 },
1589 { 116, 1 },
1590 { 116, 1 },
1591 { 116, 1 },
1592 };
1593
1594 static void yy_accept(yyParser*); /* Forward Declaration */
1595
1596 /*
1597 ** Perform a reduce action and the shift that must immediately
1598 ** follow the reduce.
1599 */
yy_reduce(yyParser * yypParser,int yyruleno)1600 static void yy_reduce(
1601 yyParser *yypParser, /* The parser */
1602 int yyruleno /* Number of the rule by which to reduce */
1603 ){
1604 int yygoto; /* The next state */
1605 int yyact; /* The next action */
1606 YYMINORTYPE yygotominor; /* The LHS of the rule reduced */
1607 yyStackEntry *yymsp; /* The top of the parser's stack */
1608 int yysize; /* Amount to pop the stack */
1609 phvolt_ARG_FETCH;
1610 yymsp = &yypParser->yystack[yypParser->yyidx];
1611 #ifndef NDEBUG
1612 if( yyTraceFILE && yyruleno>=0
1613 && yyruleno<sizeof(yyRuleName)/sizeof(yyRuleName[0]) ){
1614 fprintf(yyTraceFILE, "%sReduce [%s].\n", yyTracePrompt,
1615 yyRuleName[yyruleno]);
1616 }
1617 #endif /* NDEBUG */
1618
1619 switch( yyruleno ){
1620 /* Beginning here are the reduction cases. A typical example
1621 ** follows:
1622 ** case 0:
1623 ** #line <lineno> <grammarfile>
1624 ** { ... } // User supplied code
1625 ** #line <lineno> <thisfile>
1626 ** break;
1627 */
1628 case 0:
1629 #line 160 "parser.php7.lemon"
1630 {
1631 ZVAL_ZVAL(&status->ret, &yymsp[0].minor.yy186, 1, 1);
1632 }
1633 #line 1634 "parser.php7.c"
1634 break;
1635 case 1:
1636 case 4:
1637 case 5:
1638 case 6:
1639 case 7:
1640 case 8:
1641 case 9:
1642 case 10:
1643 case 11:
1644 case 12:
1645 case 13:
1646 case 14:
1647 case 15:
1648 case 16:
1649 case 17:
1650 case 18:
1651 case 19:
1652 case 20:
1653 case 21:
1654 case 22:
1655 case 23:
1656 case 24:
1657 case 25:
1658 case 144:
1659 #line 164 "parser.php7.lemon"
1660 {
1661 yygotominor.yy186 = yymsp[0].minor.yy186;
1662 }
1663 #line 1664 "parser.php7.c"
1664 break;
1665 case 2:
1666 #line 172 "parser.php7.lemon"
1667 {
1668 phvolt_ret_zval_list(&yygotominor.yy186, &yymsp[-1].minor.yy186, &yymsp[0].minor.yy186);
1669 }
1670 #line 1671 "parser.php7.c"
1671 break;
1672 case 3:
1673 case 43:
1674 case 55:
1675 case 141:
1676 case 148:
1677 #line 176 "parser.php7.lemon"
1678 {
1679 phvolt_ret_zval_list(&yygotominor.yy186, NULL, &yymsp[0].minor.yy186);
1680 }
1681 #line 1682 "parser.php7.c"
1682 break;
1683 case 26:
1684 #line 277 "parser.php7.lemon"
1685 {
1686 phvolt_ret_if_statement(&yygotominor.yy186, &yymsp[-5].minor.yy186, &yymsp[-3].minor.yy186, NULL, status->scanner_state);
1687 yy_destructor(1,&yymsp[-7].minor);
1688 yy_destructor(31,&yymsp[-6].minor);
1689 yy_destructor(32,&yymsp[-4].minor);
1690 yy_destructor(1,&yymsp[-2].minor);
1691 yy_destructor(33,&yymsp[-1].minor);
1692 yy_destructor(32,&yymsp[0].minor);
1693 }
1694 #line 1695 "parser.php7.c"
1695 break;
1696 case 27:
1697 #line 282 "parser.php7.lemon"
1698 {
1699 phvolt_ret_if_statement(&yygotominor.yy186, &yymsp[-4].minor.yy186, NULL, NULL, status->scanner_state);
1700 yy_destructor(1,&yymsp[-6].minor);
1701 yy_destructor(31,&yymsp[-5].minor);
1702 yy_destructor(32,&yymsp[-3].minor);
1703 yy_destructor(1,&yymsp[-2].minor);
1704 yy_destructor(33,&yymsp[-1].minor);
1705 yy_destructor(32,&yymsp[0].minor);
1706 }
1707 #line 1708 "parser.php7.c"
1708 break;
1709 case 28:
1710 #line 287 "parser.php7.lemon"
1711 {
1712 phvolt_ret_if_statement(&yygotominor.yy186, &yymsp[-9].minor.yy186, &yymsp[-7].minor.yy186, &yymsp[-3].minor.yy186, status->scanner_state);
1713 yy_destructor(1,&yymsp[-11].minor);
1714 yy_destructor(31,&yymsp[-10].minor);
1715 yy_destructor(32,&yymsp[-8].minor);
1716 yy_destructor(1,&yymsp[-6].minor);
1717 yy_destructor(34,&yymsp[-5].minor);
1718 yy_destructor(32,&yymsp[-4].minor);
1719 yy_destructor(1,&yymsp[-2].minor);
1720 yy_destructor(33,&yymsp[-1].minor);
1721 yy_destructor(32,&yymsp[0].minor);
1722 }
1723 #line 1724 "parser.php7.c"
1724 break;
1725 case 29:
1726 #line 292 "parser.php7.lemon"
1727 {
1728 phvolt_ret_if_statement(&yygotominor.yy186, &yymsp[-8].minor.yy186, &yymsp[-6].minor.yy186, NULL, status->scanner_state);
1729 yy_destructor(1,&yymsp[-10].minor);
1730 yy_destructor(31,&yymsp[-9].minor);
1731 yy_destructor(32,&yymsp[-7].minor);
1732 yy_destructor(1,&yymsp[-5].minor);
1733 yy_destructor(34,&yymsp[-4].minor);
1734 yy_destructor(32,&yymsp[-3].minor);
1735 yy_destructor(1,&yymsp[-2].minor);
1736 yy_destructor(33,&yymsp[-1].minor);
1737 yy_destructor(32,&yymsp[0].minor);
1738 }
1739 #line 1740 "parser.php7.c"
1740 break;
1741 case 30:
1742 #line 297 "parser.php7.lemon"
1743 {
1744 phvolt_ret_if_statement(&yygotominor.yy186, &yymsp[-7].minor.yy186, NULL, NULL, status->scanner_state);
1745 yy_destructor(1,&yymsp[-9].minor);
1746 yy_destructor(31,&yymsp[-8].minor);
1747 yy_destructor(32,&yymsp[-6].minor);
1748 yy_destructor(1,&yymsp[-5].minor);
1749 yy_destructor(34,&yymsp[-4].minor);
1750 yy_destructor(32,&yymsp[-3].minor);
1751 yy_destructor(1,&yymsp[-2].minor);
1752 yy_destructor(33,&yymsp[-1].minor);
1753 yy_destructor(32,&yymsp[0].minor);
1754 }
1755 #line 1756 "parser.php7.c"
1756 break;
1757 case 31:
1758 #line 305 "parser.php7.lemon"
1759 {
1760 phvolt_ret_elseif_statement(&yygotominor.yy186, &yymsp[-1].minor.yy186, status->scanner_state);
1761 yy_destructor(1,&yymsp[-3].minor);
1762 yy_destructor(35,&yymsp[-2].minor);
1763 yy_destructor(32,&yymsp[0].minor);
1764 }
1765 #line 1766 "parser.php7.c"
1766 break;
1767 case 32:
1768 #line 313 "parser.php7.lemon"
1769 {
1770 phvolt_ret_elsefor_statement(&yygotominor.yy186, status->scanner_state);
1771 yy_destructor(1,&yymsp[-2].minor);
1772 yy_destructor(36,&yymsp[-1].minor);
1773 yy_destructor(32,&yymsp[0].minor);
1774 }
1775 #line 1776 "parser.php7.c"
1776 break;
1777 case 33:
1778 #line 321 "parser.php7.lemon"
1779 {
1780 phvolt_ret_for_statement(&yygotominor.yy186, yymsp[-7].minor.yy0, NULL, &yymsp[-5].minor.yy186, NULL, &yymsp[-3].minor.yy186, status->scanner_state);
1781 yy_destructor(1,&yymsp[-9].minor);
1782 yy_destructor(37,&yymsp[-8].minor);
1783 yy_destructor(3,&yymsp[-6].minor);
1784 yy_destructor(32,&yymsp[-4].minor);
1785 yy_destructor(1,&yymsp[-2].minor);
1786 yy_destructor(39,&yymsp[-1].minor);
1787 yy_destructor(32,&yymsp[0].minor);
1788 }
1789 #line 1790 "parser.php7.c"
1790 break;
1791 case 34:
1792 #line 325 "parser.php7.lemon"
1793 {
1794 phvolt_ret_for_statement(&yygotominor.yy186, yymsp[-9].minor.yy0, NULL, &yymsp[-7].minor.yy186, &yymsp[-5].minor.yy186, &yymsp[-3].minor.yy186, status->scanner_state);
1795 yy_destructor(1,&yymsp[-11].minor);
1796 yy_destructor(37,&yymsp[-10].minor);
1797 yy_destructor(3,&yymsp[-8].minor);
1798 yy_destructor(31,&yymsp[-6].minor);
1799 yy_destructor(32,&yymsp[-4].minor);
1800 yy_destructor(1,&yymsp[-2].minor);
1801 yy_destructor(39,&yymsp[-1].minor);
1802 yy_destructor(32,&yymsp[0].minor);
1803 }
1804 #line 1805 "parser.php7.c"
1805 break;
1806 case 35:
1807 #line 329 "parser.php7.lemon"
1808 {
1809 phvolt_ret_for_statement(&yygotominor.yy186, yymsp[-7].minor.yy0, yymsp[-9].minor.yy0, &yymsp[-5].minor.yy186, NULL, &yymsp[-3].minor.yy186, status->scanner_state);
1810 yy_destructor(1,&yymsp[-11].minor);
1811 yy_destructor(37,&yymsp[-10].minor);
1812 yy_destructor(2,&yymsp[-8].minor);
1813 yy_destructor(3,&yymsp[-6].minor);
1814 yy_destructor(32,&yymsp[-4].minor);
1815 yy_destructor(1,&yymsp[-2].minor);
1816 yy_destructor(39,&yymsp[-1].minor);
1817 yy_destructor(32,&yymsp[0].minor);
1818 }
1819 #line 1820 "parser.php7.c"
1820 break;
1821 case 36:
1822 #line 333 "parser.php7.lemon"
1823 {
1824 phvolt_ret_for_statement(&yygotominor.yy186, yymsp[-9].minor.yy0, yymsp[-11].minor.yy0, &yymsp[-7].minor.yy186, &yymsp[-5].minor.yy186, &yymsp[-3].minor.yy186, status->scanner_state);
1825 yy_destructor(1,&yymsp[-13].minor);
1826 yy_destructor(37,&yymsp[-12].minor);
1827 yy_destructor(2,&yymsp[-10].minor);
1828 yy_destructor(3,&yymsp[-8].minor);
1829 yy_destructor(31,&yymsp[-6].minor);
1830 yy_destructor(32,&yymsp[-4].minor);
1831 yy_destructor(1,&yymsp[-2].minor);
1832 yy_destructor(39,&yymsp[-1].minor);
1833 yy_destructor(32,&yymsp[0].minor);
1834 }
1835 #line 1836 "parser.php7.c"
1836 break;
1837 case 37:
1838 #line 342 "parser.php7.lemon"
1839 {
1840 phvolt_ret_switch_statement(&yygotominor.yy186, &yymsp[-5].minor.yy186, &yymsp[-3].minor.yy186, status->scanner_state);
1841 yy_destructor(1,&yymsp[-7].minor);
1842 yy_destructor(40,&yymsp[-6].minor);
1843 yy_destructor(32,&yymsp[-4].minor);
1844 yy_destructor(1,&yymsp[-2].minor);
1845 yy_destructor(41,&yymsp[-1].minor);
1846 yy_destructor(32,&yymsp[0].minor);
1847 }
1848 #line 1849 "parser.php7.c"
1849 break;
1850 case 38:
1851 #line 347 "parser.php7.lemon"
1852 {
1853 phvolt_ret_switch_statement(&yygotominor.yy186, &yymsp[-4].minor.yy186, NULL, status->scanner_state);
1854 yy_destructor(1,&yymsp[-6].minor);
1855 yy_destructor(40,&yymsp[-5].minor);
1856 yy_destructor(32,&yymsp[-3].minor);
1857 yy_destructor(1,&yymsp[-2].minor);
1858 yy_destructor(41,&yymsp[-1].minor);
1859 yy_destructor(32,&yymsp[0].minor);
1860 }
1861 #line 1862 "parser.php7.c"
1862 break;
1863 case 39:
1864 #line 356 "parser.php7.lemon"
1865 {
1866 phvolt_ret_case_clause(&yygotominor.yy186, &yymsp[-1].minor.yy186, status->scanner_state);
1867 yy_destructor(1,&yymsp[-3].minor);
1868 yy_destructor(42,&yymsp[-2].minor);
1869 yy_destructor(32,&yymsp[0].minor);
1870 }
1871 #line 1872 "parser.php7.c"
1872 break;
1873 case 40:
1874 #line 361 "parser.php7.lemon"
1875 {
1876 phvolt_ret_case_clause(&yygotominor.yy186, NULL, status->scanner_state);
1877 yy_destructor(1,&yymsp[-2].minor);
1878 yy_destructor(43,&yymsp[-1].minor);
1879 yy_destructor(32,&yymsp[0].minor);
1880 }
1881 #line 1882 "parser.php7.c"
1882 break;
1883 case 41:
1884 #line 369 "parser.php7.lemon"
1885 {
1886 phvolt_ret_set_statement(&yygotominor.yy186, &yymsp[-1].minor.yy186);
1887 yy_destructor(1,&yymsp[-3].minor);
1888 yy_destructor(44,&yymsp[-2].minor);
1889 yy_destructor(32,&yymsp[0].minor);
1890 }
1891 #line 1892 "parser.php7.c"
1892 break;
1893 case 42:
1894 case 54:
1895 case 140:
1896 case 147:
1897 #line 377 "parser.php7.lemon"
1898 {
1899 phvolt_ret_zval_list(&yygotominor.yy186, &yymsp[-2].minor.yy186, &yymsp[0].minor.yy186);
1900 yy_destructor(2,&yymsp[-1].minor);
1901 }
1902 #line 1903 "parser.php7.c"
1903 break;
1904 case 44:
1905 #line 389 "parser.php7.lemon"
1906 {
1907 phvolt_ret_set_assignment(&yygotominor.yy186, &yymsp[-2].minor.yy186, PHVOLT_T_ASSIGN, &yymsp[0].minor.yy186, status->scanner_state);
1908 yy_destructor(45,&yymsp[-1].minor);
1909 }
1910 #line 1911 "parser.php7.c"
1911 break;
1912 case 45:
1913 #line 393 "parser.php7.lemon"
1914 {
1915 phvolt_ret_set_assignment(&yygotominor.yy186, &yymsp[-2].minor.yy186, PHVOLT_T_ADD_ASSIGN, &yymsp[0].minor.yy186, status->scanner_state);
1916 yy_destructor(46,&yymsp[-1].minor);
1917 }
1918 #line 1919 "parser.php7.c"
1919 break;
1920 case 46:
1921 #line 397 "parser.php7.lemon"
1922 {
1923 phvolt_ret_set_assignment(&yygotominor.yy186, &yymsp[-2].minor.yy186, PHVOLT_T_SUB_ASSIGN, &yymsp[0].minor.yy186, status->scanner_state);
1924 yy_destructor(47,&yymsp[-1].minor);
1925 }
1926 #line 1927 "parser.php7.c"
1927 break;
1928 case 47:
1929 #line 401 "parser.php7.lemon"
1930 {
1931 phvolt_ret_set_assignment(&yygotominor.yy186, &yymsp[-2].minor.yy186, PHVOLT_T_MUL_ASSIGN, &yymsp[0].minor.yy186, status->scanner_state);
1932 yy_destructor(48,&yymsp[-1].minor);
1933 }
1934 #line 1935 "parser.php7.c"
1935 break;
1936 case 48:
1937 #line 405 "parser.php7.lemon"
1938 {
1939 phvolt_ret_set_assignment(&yygotominor.yy186, &yymsp[-2].minor.yy186, PHVOLT_T_DIV_ASSIGN, &yymsp[0].minor.yy186, status->scanner_state);
1940 yy_destructor(49,&yymsp[-1].minor);
1941 }
1942 #line 1943 "parser.php7.c"
1943 break;
1944 case 49:
1945 case 73:
1946 case 139:
1947 case 151:
1948 #line 409 "parser.php7.lemon"
1949 {
1950 phvolt_ret_literal_zval(&yygotominor.yy186, PHVOLT_T_IDENTIFIER, yymsp[0].minor.yy0, status->scanner_state);
1951 }
1952 #line 1953 "parser.php7.c"
1953 break;
1954 case 50:
1955 case 133:
1956 #line 413 "parser.php7.lemon"
1957 {
1958 phvolt_ret_expr(&yygotominor.yy186, PHVOLT_T_ARRAYACCESS, &yymsp[-3].minor.yy186, &yymsp[-1].minor.yy186, NULL, status->scanner_state);
1959 yy_destructor(24,&yymsp[-2].minor);
1960 yy_destructor(50,&yymsp[0].minor);
1961 }
1962 #line 1963 "parser.php7.c"
1963 break;
1964 case 51:
1965 case 122:
1966 #line 417 "parser.php7.lemon"
1967 {
1968 phvolt_ret_expr(&yygotominor.yy186, PHVOLT_T_DOT, &yymsp[-2].minor.yy186, &yymsp[0].minor.yy186, NULL, status->scanner_state);
1969 yy_destructor(30,&yymsp[-1].minor);
1970 }
1971 #line 1972 "parser.php7.c"
1972 break;
1973 case 52:
1974 #line 425 "parser.php7.lemon"
1975 {
1976 phvolt_ret_macro_statement(&yygotominor.yy186, yymsp[-7].minor.yy0, NULL, &yymsp[-3].minor.yy186, status->scanner_state);
1977 yy_destructor(1,&yymsp[-9].minor);
1978 yy_destructor(51,&yymsp[-8].minor);
1979 yy_destructor(29,&yymsp[-6].minor);
1980 yy_destructor(52,&yymsp[-5].minor);
1981 yy_destructor(32,&yymsp[-4].minor);
1982 yy_destructor(1,&yymsp[-2].minor);
1983 yy_destructor(53,&yymsp[-1].minor);
1984 yy_destructor(32,&yymsp[0].minor);
1985 }
1986 #line 1987 "parser.php7.c"
1987 break;
1988 case 53:
1989 #line 429 "parser.php7.lemon"
1990 {
1991 phvolt_ret_macro_statement(&yygotominor.yy186, yymsp[-8].minor.yy0, &yymsp[-6].minor.yy186, &yymsp[-3].minor.yy186, status->scanner_state);
1992 yy_destructor(1,&yymsp[-10].minor);
1993 yy_destructor(51,&yymsp[-9].minor);
1994 yy_destructor(29,&yymsp[-7].minor);
1995 yy_destructor(52,&yymsp[-5].minor);
1996 yy_destructor(32,&yymsp[-4].minor);
1997 yy_destructor(1,&yymsp[-2].minor);
1998 yy_destructor(53,&yymsp[-1].minor);
1999 yy_destructor(32,&yymsp[0].minor);
2000 }
2001 #line 2002 "parser.php7.c"
2002 break;
2003 case 56:
2004 #line 449 "parser.php7.lemon"
2005 {
2006 phvolt_ret_macro_parameter(&yygotominor.yy186, yymsp[0].minor.yy0, NULL, status->scanner_state);
2007 }
2008 #line 2009 "parser.php7.c"
2009 break;
2010 case 57:
2011 #line 453 "parser.php7.lemon"
2012 {
2013 phvolt_ret_macro_parameter(&yygotominor.yy186, yymsp[-2].minor.yy0, &yymsp[0].minor.yy186, status->scanner_state);
2014 yy_destructor(45,&yymsp[-1].minor);
2015 }
2016 #line 2017 "parser.php7.c"
2017 break;
2018 case 58:
2019 case 72:
2020 case 138:
2021 case 152:
2022 #line 457 "parser.php7.lemon"
2023 {
2024 phvolt_ret_literal_zval(&yygotominor.yy186, PHVOLT_T_INTEGER, yymsp[0].minor.yy0, status->scanner_state);
2025 }
2026 #line 2027 "parser.php7.c"
2027 break;
2028 case 59:
2029 case 153:
2030 #line 461 "parser.php7.lemon"
2031 {
2032 phvolt_ret_literal_zval(&yygotominor.yy186, PHVOLT_T_STRING, yymsp[0].minor.yy0, status->scanner_state);
2033 }
2034 #line 2035 "parser.php7.c"
2035 break;
2036 case 60:
2037 case 154:
2038 #line 465 "parser.php7.lemon"
2039 {
2040 phvolt_ret_literal_zval(&yygotominor.yy186, PHVOLT_T_DOUBLE, yymsp[0].minor.yy0, status->scanner_state);
2041 }
2042 #line 2043 "parser.php7.c"
2043 break;
2044 case 61:
2045 case 155:
2046 #line 469 "parser.php7.lemon"
2047 {
2048 phvolt_ret_literal_zval(&yygotominor.yy186, PHVOLT_T_NULL, NULL, status->scanner_state);
2049 yy_destructor(57,&yymsp[0].minor);
2050 }
2051 #line 2052 "parser.php7.c"
2052 break;
2053 case 62:
2054 case 156:
2055 #line 473 "parser.php7.lemon"
2056 {
2057 phvolt_ret_literal_zval(&yygotominor.yy186, PHVOLT_T_FALSE, NULL, status->scanner_state);
2058 yy_destructor(58,&yymsp[0].minor);
2059 }
2060 #line 2061 "parser.php7.c"
2061 break;
2062 case 63:
2063 case 157:
2064 #line 477 "parser.php7.lemon"
2065 {
2066 phvolt_ret_literal_zval(&yygotominor.yy186, PHVOLT_T_TRUE, NULL, status->scanner_state);
2067 yy_destructor(59,&yymsp[0].minor);
2068 }
2069 #line 2070 "parser.php7.c"
2070 break;
2071 case 64:
2072 #line 485 "parser.php7.lemon"
2073 {
2074 phvolt_ret_macro_call_statement(&yygotominor.yy186, &yymsp[-8].minor.yy186, &yymsp[-6].minor.yy186, &yymsp[-3].minor.yy186, status->scanner_state);
2075 yy_destructor(1,&yymsp[-10].minor);
2076 yy_destructor(60,&yymsp[-9].minor);
2077 yy_destructor(29,&yymsp[-7].minor);
2078 yy_destructor(52,&yymsp[-5].minor);
2079 yy_destructor(32,&yymsp[-4].minor);
2080 yy_destructor(1,&yymsp[-2].minor);
2081 yy_destructor(61,&yymsp[-1].minor);
2082 yy_destructor(32,&yymsp[0].minor);
2083 }
2084 #line 2085 "parser.php7.c"
2085 break;
2086 case 65:
2087 #line 489 "parser.php7.lemon"
2088 {
2089 phvolt_ret_macro_call_statement(&yygotominor.yy186, &yymsp[-6].minor.yy186, NULL, NULL, status->scanner_state);
2090 yy_destructor(1,&yymsp[-8].minor);
2091 yy_destructor(60,&yymsp[-7].minor);
2092 yy_destructor(29,&yymsp[-5].minor);
2093 yy_destructor(52,&yymsp[-4].minor);
2094 yy_destructor(32,&yymsp[-3].minor);
2095 yy_destructor(1,&yymsp[-2].minor);
2096 yy_destructor(61,&yymsp[-1].minor);
2097 yy_destructor(32,&yymsp[0].minor);
2098 }
2099 #line 2100 "parser.php7.c"
2100 break;
2101 case 66:
2102 #line 497 "parser.php7.lemon"
2103 {
2104 phvolt_ret_empty_statement(&yygotominor.yy186, status->scanner_state);
2105 yy_destructor(1,&yymsp[-1].minor);
2106 yy_destructor(32,&yymsp[0].minor);
2107 }
2108 #line 2109 "parser.php7.c"
2109 break;
2110 case 67:
2111 #line 505 "parser.php7.lemon"
2112 {
2113 phvolt_ret_echo_statement(&yygotominor.yy186, &yymsp[-1].minor.yy186, status->scanner_state);
2114 yy_destructor(62,&yymsp[-2].minor);
2115 yy_destructor(63,&yymsp[0].minor);
2116 }
2117 #line 2118 "parser.php7.c"
2118 break;
2119 case 68:
2120 #line 513 "parser.php7.lemon"
2121 {
2122 phvolt_ret_block_statement(&yygotominor.yy186, yymsp[-5].minor.yy0, &yymsp[-3].minor.yy186, status->scanner_state);
2123 yy_destructor(1,&yymsp[-7].minor);
2124 yy_destructor(64,&yymsp[-6].minor);
2125 yy_destructor(32,&yymsp[-4].minor);
2126 yy_destructor(1,&yymsp[-2].minor);
2127 yy_destructor(65,&yymsp[-1].minor);
2128 yy_destructor(32,&yymsp[0].minor);
2129 }
2130 #line 2131 "parser.php7.c"
2131 break;
2132 case 69:
2133 #line 517 "parser.php7.lemon"
2134 {
2135 phvolt_ret_block_statement(&yygotominor.yy186, yymsp[-4].minor.yy0, NULL, status->scanner_state);
2136 yy_destructor(1,&yymsp[-6].minor);
2137 yy_destructor(64,&yymsp[-5].minor);
2138 yy_destructor(32,&yymsp[-3].minor);
2139 yy_destructor(1,&yymsp[-2].minor);
2140 yy_destructor(65,&yymsp[-1].minor);
2141 yy_destructor(32,&yymsp[0].minor);
2142 }
2143 #line 2144 "parser.php7.c"
2144 break;
2145 case 70:
2146 #line 525 "parser.php7.lemon"
2147 {
2148 phvolt_ret_cache_statement(&yygotominor.yy186, &yymsp[-5].minor.yy186, NULL, &yymsp[-3].minor.yy186, status->scanner_state);
2149 yy_destructor(1,&yymsp[-7].minor);
2150 yy_destructor(66,&yymsp[-6].minor);
2151 yy_destructor(32,&yymsp[-4].minor);
2152 yy_destructor(1,&yymsp[-2].minor);
2153 yy_destructor(67,&yymsp[-1].minor);
2154 yy_destructor(32,&yymsp[0].minor);
2155 }
2156 #line 2157 "parser.php7.c"
2157 break;
2158 case 71:
2159 #line 529 "parser.php7.lemon"
2160 {
2161 phvolt_ret_cache_statement(&yygotominor.yy186, &yymsp[-6].minor.yy186, &yymsp[-5].minor.yy186, &yymsp[-3].minor.yy186, status->scanner_state);
2162 yy_destructor(1,&yymsp[-8].minor);
2163 yy_destructor(66,&yymsp[-7].minor);
2164 yy_destructor(32,&yymsp[-4].minor);
2165 yy_destructor(1,&yymsp[-2].minor);
2166 yy_destructor(67,&yymsp[-1].minor);
2167 yy_destructor(32,&yymsp[0].minor);
2168 }
2169 #line 2170 "parser.php7.c"
2170 break;
2171 case 74:
2172 #line 549 "parser.php7.lemon"
2173 {
2174 phvolt_ret_raw_statement(&yygotominor.yy186, &yymsp[-3].minor.yy186, status->scanner_state);
2175 yy_destructor(1,&yymsp[-6].minor);
2176 yy_destructor(68,&yymsp[-5].minor);
2177 yy_destructor(32,&yymsp[-4].minor);
2178 yy_destructor(1,&yymsp[-2].minor);
2179 yy_destructor(69,&yymsp[-1].minor);
2180 yy_destructor(32,&yymsp[0].minor);
2181 }
2182 #line 2183 "parser.php7.c"
2183 break;
2184 case 75:
2185 #line 557 "parser.php7.lemon"
2186 {
2187 phvolt_ret_extends_statement(&yygotominor.yy186, &yymsp[-1].minor.yy186, status->scanner_state);
2188 yy_destructor(1,&yymsp[-3].minor);
2189 yy_destructor(70,&yymsp[-2].minor);
2190 yy_destructor(32,&yymsp[0].minor);
2191 }
2192 #line 2193 "parser.php7.c"
2193 break;
2194 case 76:
2195 #line 565 "parser.php7.lemon"
2196 {
2197 phvolt_ret_include_statement(&yygotominor.yy186, &yymsp[-1].minor.yy186, NULL, status->scanner_state);
2198 yy_destructor(1,&yymsp[-3].minor);
2199 yy_destructor(71,&yymsp[-2].minor);
2200 yy_destructor(32,&yymsp[0].minor);
2201 }
2202 #line 2203 "parser.php7.c"
2203 break;
2204 case 77:
2205 #line 569 "parser.php7.lemon"
2206 {
2207 phvolt_ret_include_statement(&yygotominor.yy186, &yymsp[-3].minor.yy186, &yymsp[-1].minor.yy186, status->scanner_state);
2208 yy_destructor(1,&yymsp[-5].minor);
2209 yy_destructor(71,&yymsp[-4].minor);
2210 yy_destructor(72,&yymsp[-2].minor);
2211 yy_destructor(32,&yymsp[0].minor);
2212 }
2213 #line 2214 "parser.php7.c"
2214 break;
2215 case 78:
2216 #line 577 "parser.php7.lemon"
2217 {
2218 phvolt_ret_do_statement(&yygotominor.yy186, &yymsp[-1].minor.yy186, status->scanner_state);
2219 yy_destructor(1,&yymsp[-3].minor);
2220 yy_destructor(73,&yymsp[-2].minor);
2221 yy_destructor(32,&yymsp[0].minor);
2222 }
2223 #line 2224 "parser.php7.c"
2224 break;
2225 case 79:
2226 #line 585 "parser.php7.lemon"
2227 {
2228 phvolt_ret_return_statement(&yygotominor.yy186, &yymsp[-1].minor.yy186, status->scanner_state);
2229 yy_destructor(1,&yymsp[-3].minor);
2230 yy_destructor(74,&yymsp[-2].minor);
2231 yy_destructor(32,&yymsp[0].minor);
2232 }
2233 #line 2234 "parser.php7.c"
2234 break;
2235 case 80:
2236 #line 593 "parser.php7.lemon"
2237 {
2238 phvolt_ret_autoescape_statement(&yygotominor.yy186, 0, &yymsp[-3].minor.yy186, status->scanner_state);
2239 yy_destructor(1,&yymsp[-7].minor);
2240 yy_destructor(75,&yymsp[-6].minor);
2241 yy_destructor(58,&yymsp[-5].minor);
2242 yy_destructor(32,&yymsp[-4].minor);
2243 yy_destructor(1,&yymsp[-2].minor);
2244 yy_destructor(76,&yymsp[-1].minor);
2245 yy_destructor(32,&yymsp[0].minor);
2246 }
2247 #line 2248 "parser.php7.c"
2248 break;
2249 case 81:
2250 #line 597 "parser.php7.lemon"
2251 {
2252 phvolt_ret_autoescape_statement(&yygotominor.yy186, 1, &yymsp[-3].minor.yy186, status->scanner_state);
2253 yy_destructor(1,&yymsp[-7].minor);
2254 yy_destructor(75,&yymsp[-6].minor);
2255 yy_destructor(59,&yymsp[-5].minor);
2256 yy_destructor(32,&yymsp[-4].minor);
2257 yy_destructor(1,&yymsp[-2].minor);
2258 yy_destructor(76,&yymsp[-1].minor);
2259 yy_destructor(32,&yymsp[0].minor);
2260 }
2261 #line 2262 "parser.php7.c"
2262 break;
2263 case 82:
2264 #line 605 "parser.php7.lemon"
2265 {
2266 phvolt_ret_break_statement(&yygotominor.yy186, status->scanner_state);
2267 yy_destructor(1,&yymsp[-2].minor);
2268 yy_destructor(77,&yymsp[-1].minor);
2269 yy_destructor(32,&yymsp[0].minor);
2270 }
2271 #line 2272 "parser.php7.c"
2272 break;
2273 case 83:
2274 #line 613 "parser.php7.lemon"
2275 {
2276 phvolt_ret_continue_statement(&yygotominor.yy186, status->scanner_state);
2277 yy_destructor(1,&yymsp[-2].minor);
2278 yy_destructor(78,&yymsp[-1].minor);
2279 yy_destructor(32,&yymsp[0].minor);
2280 }
2281 #line 2282 "parser.php7.c"
2282 break;
2283 case 84:
2284 #line 621 "parser.php7.lemon"
2285 {
2286 phvolt_ret_literal_zval(&yygotominor.yy186, PHVOLT_T_RAW_FRAGMENT, yymsp[0].minor.yy0, status->scanner_state);
2287 }
2288 #line 2289 "parser.php7.c"
2289 break;
2290 case 85:
2291 #line 629 "parser.php7.lemon"
2292 {
2293 phvolt_ret_expr(&yygotominor.yy186, PHVOLT_T_MINUS, NULL, &yymsp[0].minor.yy186, NULL, status->scanner_state);
2294 yy_destructor(22,&yymsp[-1].minor);
2295 }
2296 #line 2297 "parser.php7.c"
2297 break;
2298 case 86:
2299 #line 633 "parser.php7.lemon"
2300 {
2301 phvolt_ret_expr(&yygotominor.yy186, PHVOLT_T_PLUS, NULL, &yymsp[0].minor.yy186, NULL, status->scanner_state);
2302 yy_destructor(21,&yymsp[-1].minor);
2303 }
2304 #line 2305 "parser.php7.c"
2305 break;
2306 case 87:
2307 #line 637 "parser.php7.lemon"
2308 {
2309 phvolt_ret_expr(&yygotominor.yy186, PHVOLT_T_SUB, &yymsp[-2].minor.yy186, &yymsp[0].minor.yy186, NULL, status->scanner_state);
2310 yy_destructor(22,&yymsp[-1].minor);
2311 }
2312 #line 2313 "parser.php7.c"
2313 break;
2314 case 88:
2315 #line 641 "parser.php7.lemon"
2316 {
2317 phvolt_ret_expr(&yygotominor.yy186, PHVOLT_T_ADD, &yymsp[-2].minor.yy186, &yymsp[0].minor.yy186, NULL, status->scanner_state);
2318 yy_destructor(21,&yymsp[-1].minor);
2319 }
2320 #line 2321 "parser.php7.c"
2321 break;
2322 case 89:
2323 #line 645 "parser.php7.lemon"
2324 {
2325 phvolt_ret_expr(&yygotominor.yy186, PHVOLT_T_MUL, &yymsp[-2].minor.yy186, &yymsp[0].minor.yy186, NULL, status->scanner_state);
2326 yy_destructor(19,&yymsp[-1].minor);
2327 }
2328 #line 2329 "parser.php7.c"
2329 break;
2330 case 90:
2331 #line 649 "parser.php7.lemon"
2332 {
2333 phvolt_ret_expr(&yygotominor.yy186, PHVOLT_T_POW, &yymsp[-3].minor.yy186, &yymsp[0].minor.yy186, NULL, status->scanner_state);
2334 yy_destructor(19,&yymsp[-2].minor);
2335 yy_destructor(19,&yymsp[-1].minor);
2336 }
2337 #line 2338 "parser.php7.c"
2338 break;
2339 case 91:
2340 #line 653 "parser.php7.lemon"
2341 {
2342 phvolt_ret_expr(&yygotominor.yy186, PHVOLT_T_DIV, &yymsp[-2].minor.yy186, &yymsp[0].minor.yy186, NULL, status->scanner_state);
2343 yy_destructor(18,&yymsp[-1].minor);
2344 }
2345 #line 2346 "parser.php7.c"
2346 break;
2347 case 92:
2348 #line 657 "parser.php7.lemon"
2349 {
2350 phvolt_ret_expr(&yygotominor.yy186, PHVOLT_T_MOD, &yymsp[-3].minor.yy186, &yymsp[0].minor.yy186, NULL, status->scanner_state);
2351 yy_destructor(18,&yymsp[-2].minor);
2352 yy_destructor(18,&yymsp[-1].minor);
2353 }
2354 #line 2355 "parser.php7.c"
2355 break;
2356 case 93:
2357 #line 661 "parser.php7.lemon"
2358 {
2359 phvolt_ret_expr(&yygotominor.yy186, PHVOLT_T_MOD, &yymsp[-2].minor.yy186, &yymsp[0].minor.yy186, NULL, status->scanner_state);
2360 yy_destructor(20,&yymsp[-1].minor);
2361 }
2362 #line 2363 "parser.php7.c"
2363 break;
2364 case 94:
2365 #line 665 "parser.php7.lemon"
2366 {
2367 phvolt_ret_expr(&yygotominor.yy186, PHVOLT_T_AND, &yymsp[-2].minor.yy186, &yymsp[0].minor.yy186, NULL, status->scanner_state);
2368 yy_destructor(7,&yymsp[-1].minor);
2369 }
2370 #line 2371 "parser.php7.c"
2371 break;
2372 case 95:
2373 #line 669 "parser.php7.lemon"
2374 {
2375 phvolt_ret_expr(&yygotominor.yy186, PHVOLT_T_OR, &yymsp[-2].minor.yy186, &yymsp[0].minor.yy186, NULL, status->scanner_state);
2376 yy_destructor(8,&yymsp[-1].minor);
2377 }
2378 #line 2379 "parser.php7.c"
2379 break;
2380 case 96:
2381 #line 673 "parser.php7.lemon"
2382 {
2383 phvolt_ret_expr(&yygotominor.yy186, PHVOLT_T_CONCAT, &yymsp[-2].minor.yy186, &yymsp[0].minor.yy186, NULL, status->scanner_state);
2384 yy_destructor(23,&yymsp[-1].minor);
2385 }
2386 #line 2387 "parser.php7.c"
2387 break;
2388 case 97:
2389 #line 677 "parser.php7.lemon"
2390 {
2391 phvolt_ret_expr(&yygotominor.yy186, PHVOLT_T_PIPE, &yymsp[-2].minor.yy186, &yymsp[0].minor.yy186, NULL, status->scanner_state);
2392 yy_destructor(25,&yymsp[-1].minor);
2393 }
2394 #line 2395 "parser.php7.c"
2395 break;
2396 case 98:
2397 #line 681 "parser.php7.lemon"
2398 {
2399 phvolt_ret_expr(&yygotominor.yy186, PHVOLT_T_RANGE, &yymsp[-2].minor.yy186, &yymsp[0].minor.yy186, NULL, status->scanner_state);
2400 yy_destructor(6,&yymsp[-1].minor);
2401 }
2402 #line 2403 "parser.php7.c"
2403 break;
2404 case 99:
2405 #line 685 "parser.php7.lemon"
2406 {
2407 phvolt_ret_expr(&yygotominor.yy186, PHVOLT_T_EQUALS, &yymsp[-2].minor.yy186, &yymsp[0].minor.yy186, NULL, status->scanner_state);
2408 yy_destructor(10,&yymsp[-1].minor);
2409 }
2410 #line 2411 "parser.php7.c"
2411 break;
2412 case 100:
2413 #line 689 "parser.php7.lemon"
2414 {
2415 phvolt_ret_expr(&yygotominor.yy186, PHVOLT_T_NOT_ISSET, &yymsp[-2].minor.yy186, NULL, NULL, status->scanner_state);
2416 yy_destructor(11,&yymsp[-1].minor);
2417 yy_destructor(80,&yymsp[0].minor);
2418 }
2419 #line 2420 "parser.php7.c"
2420 break;
2421 case 101:
2422 #line 693 "parser.php7.lemon"
2423 {
2424 phvolt_ret_expr(&yygotominor.yy186, PHVOLT_T_ISSET, &yymsp[-2].minor.yy186, NULL, NULL, status->scanner_state);
2425 yy_destructor(9,&yymsp[-1].minor);
2426 yy_destructor(80,&yymsp[0].minor);
2427 }
2428 #line 2429 "parser.php7.c"
2429 break;
2430 case 102:
2431 #line 697 "parser.php7.lemon"
2432 {
2433 phvolt_ret_expr(&yygotominor.yy186, PHVOLT_T_NOT_ISEMPTY, &yymsp[-2].minor.yy186, NULL, NULL, status->scanner_state);
2434 yy_destructor(11,&yymsp[-1].minor);
2435 yy_destructor(81,&yymsp[0].minor);
2436 }
2437 #line 2438 "parser.php7.c"
2438 break;
2439 case 103:
2440 #line 701 "parser.php7.lemon"
2441 {
2442 phvolt_ret_expr(&yygotominor.yy186, PHVOLT_T_ISEMPTY, &yymsp[-2].minor.yy186, NULL, NULL, status->scanner_state);
2443 yy_destructor(9,&yymsp[-1].minor);
2444 yy_destructor(81,&yymsp[0].minor);
2445 }
2446 #line 2447 "parser.php7.c"
2447 break;
2448 case 104:
2449 #line 705 "parser.php7.lemon"
2450 {
2451 phvolt_ret_expr(&yygotominor.yy186, PHVOLT_T_NOT_ISEVEN, &yymsp[-2].minor.yy186, NULL, NULL, status->scanner_state);
2452 yy_destructor(11,&yymsp[-1].minor);
2453 yy_destructor(82,&yymsp[0].minor);
2454 }
2455 #line 2456 "parser.php7.c"
2456 break;
2457 case 105:
2458 #line 709 "parser.php7.lemon"
2459 {
2460 phvolt_ret_expr(&yygotominor.yy186, PHVOLT_T_ISEVEN, &yymsp[-2].minor.yy186, NULL, NULL, status->scanner_state);
2461 yy_destructor(9,&yymsp[-1].minor);
2462 yy_destructor(82,&yymsp[0].minor);
2463 }
2464 #line 2465 "parser.php7.c"
2465 break;
2466 case 106:
2467 #line 713 "parser.php7.lemon"
2468 {
2469 phvolt_ret_expr(&yygotominor.yy186, PHVOLT_T_NOT_ISODD, &yymsp[-2].minor.yy186, NULL, NULL, status->scanner_state);
2470 yy_destructor(11,&yymsp[-1].minor);
2471 yy_destructor(83,&yymsp[0].minor);
2472 }
2473 #line 2474 "parser.php7.c"
2474 break;
2475 case 107:
2476 #line 717 "parser.php7.lemon"
2477 {
2478 phvolt_ret_expr(&yygotominor.yy186, PHVOLT_T_ISODD, &yymsp[-2].minor.yy186, NULL, NULL, status->scanner_state);
2479 yy_destructor(9,&yymsp[-1].minor);
2480 yy_destructor(83,&yymsp[0].minor);
2481 }
2482 #line 2483 "parser.php7.c"
2483 break;
2484 case 108:
2485 #line 721 "parser.php7.lemon"
2486 {
2487 phvolt_ret_expr(&yygotominor.yy186, PHVOLT_T_NOT_ISNUMERIC, &yymsp[-2].minor.yy186, NULL, NULL, status->scanner_state);
2488 yy_destructor(11,&yymsp[-1].minor);
2489 yy_destructor(84,&yymsp[0].minor);
2490 }
2491 #line 2492 "parser.php7.c"
2492 break;
2493 case 109:
2494 #line 725 "parser.php7.lemon"
2495 {
2496 phvolt_ret_expr(&yygotominor.yy186, PHVOLT_T_ISNUMERIC, &yymsp[-2].minor.yy186, NULL, NULL, status->scanner_state);
2497 yy_destructor(9,&yymsp[-1].minor);
2498 yy_destructor(84,&yymsp[0].minor);
2499 }
2500 #line 2501 "parser.php7.c"
2501 break;
2502 case 110:
2503 #line 729 "parser.php7.lemon"
2504 {
2505 phvolt_ret_expr(&yygotominor.yy186, PHVOLT_T_NOT_ISSCALAR, &yymsp[-2].minor.yy186, NULL, NULL, status->scanner_state);
2506 yy_destructor(11,&yymsp[-1].minor);
2507 yy_destructor(85,&yymsp[0].minor);
2508 }
2509 #line 2510 "parser.php7.c"
2510 break;
2511 case 111:
2512 #line 733 "parser.php7.lemon"
2513 {
2514 phvolt_ret_expr(&yygotominor.yy186, PHVOLT_T_ISSCALAR, &yymsp[-2].minor.yy186, NULL, NULL, status->scanner_state);
2515 yy_destructor(9,&yymsp[-1].minor);
2516 yy_destructor(85,&yymsp[0].minor);
2517 }
2518 #line 2519 "parser.php7.c"
2519 break;
2520 case 112:
2521 #line 737 "parser.php7.lemon"
2522 {
2523 phvolt_ret_expr(&yygotominor.yy186, PHVOLT_T_NOT_ISITERABLE, &yymsp[-2].minor.yy186, NULL, NULL, status->scanner_state);
2524 yy_destructor(11,&yymsp[-1].minor);
2525 yy_destructor(86,&yymsp[0].minor);
2526 }
2527 #line 2528 "parser.php7.c"
2528 break;
2529 case 113:
2530 #line 741 "parser.php7.lemon"
2531 {
2532 phvolt_ret_expr(&yygotominor.yy186, PHVOLT_T_ISITERABLE, &yymsp[-2].minor.yy186, NULL, NULL, status->scanner_state);
2533 yy_destructor(9,&yymsp[-1].minor);
2534 yy_destructor(86,&yymsp[0].minor);
2535 }
2536 #line 2537 "parser.php7.c"
2537 break;
2538 case 114:
2539 #line 745 "parser.php7.lemon"
2540 {
2541 phvolt_ret_expr(&yygotominor.yy186, PHVOLT_T_IS, &yymsp[-2].minor.yy186, &yymsp[0].minor.yy186, NULL, status->scanner_state);
2542 yy_destructor(9,&yymsp[-1].minor);
2543 }
2544 #line 2545 "parser.php7.c"
2545 break;
2546 case 115:
2547 #line 749 "parser.php7.lemon"
2548 {
2549 phvolt_ret_expr(&yygotominor.yy186, PHVOLT_T_NOTEQUALS, &yymsp[-2].minor.yy186, &yymsp[0].minor.yy186, NULL, status->scanner_state);
2550 yy_destructor(11,&yymsp[-1].minor);
2551 }
2552 #line 2553 "parser.php7.c"
2553 break;
2554 case 116:
2555 #line 753 "parser.php7.lemon"
2556 {
2557 phvolt_ret_expr(&yygotominor.yy186, PHVOLT_T_IDENTICAL, &yymsp[-2].minor.yy186, &yymsp[0].minor.yy186, NULL, status->scanner_state);
2558 yy_destructor(16,&yymsp[-1].minor);
2559 }
2560 #line 2561 "parser.php7.c"
2561 break;
2562 case 117:
2563 #line 757 "parser.php7.lemon"
2564 {
2565 phvolt_ret_expr(&yygotominor.yy186, PHVOLT_T_NOTIDENTICAL, &yymsp[-2].minor.yy186, &yymsp[0].minor.yy186, NULL, status->scanner_state);
2566 yy_destructor(17,&yymsp[-1].minor);
2567 }
2568 #line 2569 "parser.php7.c"
2569 break;
2570 case 118:
2571 #line 761 "parser.php7.lemon"
2572 {
2573 phvolt_ret_expr(&yygotominor.yy186, PHVOLT_T_LESS, &yymsp[-2].minor.yy186, &yymsp[0].minor.yy186, NULL, status->scanner_state);
2574 yy_destructor(12,&yymsp[-1].minor);
2575 }
2576 #line 2577 "parser.php7.c"
2577 break;
2578 case 119:
2579 #line 765 "parser.php7.lemon"
2580 {
2581 phvolt_ret_expr(&yygotominor.yy186, PHVOLT_T_GREATER, &yymsp[-2].minor.yy186, &yymsp[0].minor.yy186, NULL, status->scanner_state);
2582 yy_destructor(13,&yymsp[-1].minor);
2583 }
2584 #line 2585 "parser.php7.c"
2585 break;
2586 case 120:
2587 #line 769 "parser.php7.lemon"
2588 {
2589 phvolt_ret_expr(&yygotominor.yy186, PHVOLT_T_GREATEREQUAL, &yymsp[-2].minor.yy186, &yymsp[0].minor.yy186, NULL, status->scanner_state);
2590 yy_destructor(14,&yymsp[-1].minor);
2591 }
2592 #line 2593 "parser.php7.c"
2593 break;
2594 case 121:
2595 #line 773 "parser.php7.lemon"
2596 {
2597 phvolt_ret_expr(&yygotominor.yy186, PHVOLT_T_LESSEQUAL, &yymsp[-2].minor.yy186, &yymsp[0].minor.yy186, NULL, status->scanner_state);
2598 yy_destructor(15,&yymsp[-1].minor);
2599 }
2600 #line 2601 "parser.php7.c"
2601 break;
2602 case 123:
2603 #line 781 "parser.php7.lemon"
2604 {
2605 phvolt_ret_expr(&yygotominor.yy186, PHVOLT_T_IN, &yymsp[-2].minor.yy186, &yymsp[0].minor.yy186, NULL, status->scanner_state);
2606 yy_destructor(3,&yymsp[-1].minor);
2607 }
2608 #line 2609 "parser.php7.c"
2609 break;
2610 case 124:
2611 #line 785 "parser.php7.lemon"
2612 {
2613 phvolt_ret_expr(&yygotominor.yy186, PHVOLT_T_NOT_IN, &yymsp[-3].minor.yy186, &yymsp[0].minor.yy186, NULL, status->scanner_state);
2614 yy_destructor(26,&yymsp[-2].minor);
2615 yy_destructor(3,&yymsp[-1].minor);
2616 }
2617 #line 2618 "parser.php7.c"
2618 break;
2619 case 125:
2620 #line 789 "parser.php7.lemon"
2621 {
2622 phvolt_ret_expr(&yygotominor.yy186, PHVOLT_T_NOT, NULL, &yymsp[0].minor.yy186, NULL, status->scanner_state);
2623 yy_destructor(26,&yymsp[-1].minor);
2624 }
2625 #line 2626 "parser.php7.c"
2626 break;
2627 case 126:
2628 #line 793 "parser.php7.lemon"
2629 {
2630 phvolt_ret_expr(&yygotominor.yy186, PHVOLT_T_INCR, &yymsp[-1].minor.yy186, NULL, NULL, status->scanner_state);
2631 yy_destructor(27,&yymsp[0].minor);
2632 }
2633 #line 2634 "parser.php7.c"
2634 break;
2635 case 127:
2636 #line 797 "parser.php7.lemon"
2637 {
2638 phvolt_ret_expr(&yygotominor.yy186, PHVOLT_T_DECR, &yymsp[-1].minor.yy186, NULL, NULL, status->scanner_state);
2639 yy_destructor(28,&yymsp[0].minor);
2640 }
2641 #line 2642 "parser.php7.c"
2642 break;
2643 case 128:
2644 #line 801 "parser.php7.lemon"
2645 {
2646 phvolt_ret_expr(&yygotominor.yy186, PHVOLT_T_ENCLOSED, &yymsp[-1].minor.yy186, NULL, NULL, status->scanner_state);
2647 yy_destructor(29,&yymsp[-2].minor);
2648 yy_destructor(52,&yymsp[0].minor);
2649 }
2650 #line 2651 "parser.php7.c"
2651 break;
2652 case 129:
2653 #line 805 "parser.php7.lemon"
2654 {
2655 phvolt_ret_expr(&yygotominor.yy186, PHVOLT_T_ARRAY, NULL, NULL, NULL, status->scanner_state);
2656 yy_destructor(24,&yymsp[-1].minor);
2657 yy_destructor(50,&yymsp[0].minor);
2658 }
2659 #line 2660 "parser.php7.c"
2660 break;
2661 case 130:
2662 #line 809 "parser.php7.lemon"
2663 {
2664 phvolt_ret_expr(&yygotominor.yy186, PHVOLT_T_ARRAY, &yymsp[-1].minor.yy186, NULL, NULL, status->scanner_state);
2665 yy_destructor(24,&yymsp[-2].minor);
2666 yy_destructor(50,&yymsp[0].minor);
2667 }
2668 #line 2669 "parser.php7.c"
2669 break;
2670 case 131:
2671 #line 813 "parser.php7.lemon"
2672 {
2673 phvolt_ret_expr(&yygotominor.yy186, PHVOLT_T_ARRAY, NULL, NULL, NULL, status->scanner_state);
2674 yy_destructor(87,&yymsp[-1].minor);
2675 yy_destructor(88,&yymsp[0].minor);
2676 }
2677 #line 2678 "parser.php7.c"
2678 break;
2679 case 132:
2680 #line 817 "parser.php7.lemon"
2681 {
2682 phvolt_ret_expr(&yygotominor.yy186, PHVOLT_T_ARRAY, &yymsp[-1].minor.yy186, NULL, NULL, status->scanner_state);
2683 yy_destructor(87,&yymsp[-2].minor);
2684 yy_destructor(88,&yymsp[0].minor);
2685 }
2686 #line 2687 "parser.php7.c"
2687 break;
2688 case 134:
2689 #line 825 "parser.php7.lemon"
2690 {
2691 phvolt_ret_expr(&yygotominor.yy186, PHVOLT_T_TERNARY, &yymsp[-2].minor.yy186, &yymsp[0].minor.yy186, &yymsp[-4].minor.yy186, status->scanner_state);
2692 yy_destructor(4,&yymsp[-3].minor);
2693 yy_destructor(5,&yymsp[-1].minor);
2694 }
2695 #line 2696 "parser.php7.c"
2696 break;
2697 case 135:
2698 #line 829 "parser.php7.lemon"
2699 {
2700 phvolt_ret_slice(&yygotominor.yy186, &yymsp[-4].minor.yy186, NULL, &yymsp[-1].minor.yy186, status->scanner_state);
2701 yy_destructor(24,&yymsp[-3].minor);
2702 yy_destructor(5,&yymsp[-2].minor);
2703 yy_destructor(50,&yymsp[0].minor);
2704 }
2705 #line 2706 "parser.php7.c"
2706 break;
2707 case 136:
2708 #line 833 "parser.php7.lemon"
2709 {
2710 phvolt_ret_slice(&yygotominor.yy186, &yymsp[-4].minor.yy186, &yymsp[-2].minor.yy186, NULL, status->scanner_state);
2711 yy_destructor(24,&yymsp[-3].minor);
2712 yy_destructor(5,&yymsp[-1].minor);
2713 yy_destructor(50,&yymsp[0].minor);
2714 }
2715 #line 2716 "parser.php7.c"
2716 break;
2717 case 137:
2718 #line 837 "parser.php7.lemon"
2719 {
2720 phvolt_ret_slice(&yygotominor.yy186, &yymsp[-5].minor.yy186, &yymsp[-3].minor.yy186, &yymsp[-1].minor.yy186, status->scanner_state);
2721 yy_destructor(24,&yymsp[-4].minor);
2722 yy_destructor(5,&yymsp[-2].minor);
2723 yy_destructor(50,&yymsp[0].minor);
2724 }
2725 #line 2726 "parser.php7.c"
2726 break;
2727 case 142:
2728 case 150:
2729 #line 869 "parser.php7.lemon"
2730 {
2731 phvolt_ret_named_item(&yygotominor.yy186, yymsp[-2].minor.yy0, &yymsp[0].minor.yy186, status->scanner_state);
2732 yy_destructor(5,&yymsp[-1].minor);
2733 }
2734 #line 2735 "parser.php7.c"
2735 break;
2736 case 143:
2737 case 149:
2738 #line 873 "parser.php7.lemon"
2739 {
2740 phvolt_ret_named_item(&yygotominor.yy186, NULL, &yymsp[0].minor.yy186, status->scanner_state);
2741 }
2742 #line 2743 "parser.php7.c"
2743 break;
2744 case 145:
2745 #line 885 "parser.php7.lemon"
2746 {
2747 phvolt_ret_func_call(&yygotominor.yy186, &yymsp[-3].minor.yy186, &yymsp[-1].minor.yy186, status->scanner_state);
2748 yy_destructor(29,&yymsp[-2].minor);
2749 yy_destructor(52,&yymsp[0].minor);
2750 }
2751 #line 2752 "parser.php7.c"
2752 break;
2753 case 146:
2754 #line 889 "parser.php7.lemon"
2755 {
2756 phvolt_ret_func_call(&yygotominor.yy186, &yymsp[-2].minor.yy186, NULL, status->scanner_state);
2757 yy_destructor(29,&yymsp[-1].minor);
2758 yy_destructor(52,&yymsp[0].minor);
2759 }
2760 #line 2761 "parser.php7.c"
2761 break;
2762 };
2763 yygoto = yyRuleInfo[yyruleno].lhs;
2764 yysize = yyRuleInfo[yyruleno].nrhs;
2765 yypParser->yyidx -= yysize;
2766 yyact = yy_find_reduce_action(yypParser,yygoto);
2767 if( yyact < YYNSTATE ){
2768 yy_shift(yypParser,yyact,yygoto,&yygotominor);
2769 }else if( yyact == YYNSTATE + YYNRULE + 1 ){
2770 yy_accept(yypParser);
2771 }
2772 }
2773
2774 /*
2775 ** The following code executes when the parse fails
2776 */
yy_parse_failed(yyParser * yypParser)2777 static void yy_parse_failed(
2778 yyParser *yypParser /* The parser */
2779 ){
2780 phvolt_ARG_FETCH;
2781 #ifndef NDEBUG
2782 if( yyTraceFILE ){
2783 fprintf(yyTraceFILE,"%sFail!\n",yyTracePrompt);
2784 }
2785 #endif
2786 while( yypParser->yyidx>=0 ) yy_pop_parser_stack(yypParser);
2787 /* Here code is inserted which will be executed whenever the
2788 ** parser fails */
2789 phvolt_ARG_STORE; /* Suppress warning about unused %extra_argument variable */
2790 }
2791
2792 /*
2793 ** The following code executes when a syntax error first occurs.
2794 */
yy_syntax_error(yyParser * yypParser,int yymajor,YYMINORTYPE yyminor)2795 static void yy_syntax_error(
2796 yyParser *yypParser, /* The parser */
2797 int yymajor, /* The major type of the error token */
2798 YYMINORTYPE yyminor /* The minor type of the error token */
2799 ){
2800 phvolt_ARG_FETCH;
2801 #define TOKEN (yyminor.yy0)
2802 #line 46 "parser.php7.lemon"
2803
2804 {
2805
2806 smart_str error_str = {0};
2807
2808 char *token_name = NULL;
2809 const phvolt_token_names *tokens = phvolt_tokens;
2810 int token_len = 0;
2811 int active_token = status->scanner_state->active_token;
2812
2813 if (status->scanner_state->start_length) {
2814
2815 if (active_token) {
2816
2817 do {
2818 if (tokens->code == active_token) {
2819 token_name = tokens->name;
2820 token_len = tokens->len;
2821 break;
2822 }
2823 ++tokens;
2824 } while (tokens[0].code != 0);
2825
2826 }
2827
2828 smart_str_appendl(&error_str, "Syntax error, unexpected token ", sizeof("Syntax error, unexpected token ") - 1);
2829 if (!token_name) {
2830 smart_str_appendl(&error_str, "UNKNOWN", sizeof("UNKNOWN") - 1);
2831 } else {
2832 smart_str_appendl(&error_str, token_name, token_len);
2833 }
2834
2835 if (status->token->value) {
2836 smart_str_appendc(&error_str, '(');
2837 smart_str_appendl(&error_str, status->token->value, status->token->len);
2838 smart_str_appendc(&error_str, ')');
2839 }
2840
2841 smart_str_appendl(&error_str, " in ", sizeof(" in ") - 1);
2842 smart_str_appendl(&error_str, Z_STRVAL_P(status->scanner_state->active_file), Z_STRLEN_P(status->scanner_state->active_file));
2843 smart_str_appendl(&error_str, " on line ", sizeof(" on line ") - 1);
2844
2845 {
2846 char stmp[MAX_LENGTH_OF_LONG + 1];
2847 int str_len;
2848 str_len = slprintf(stmp, sizeof(stmp), "%ld", status->scanner_state->active_line);
2849 smart_str_appendl(&error_str, stmp, str_len);
2850 }
2851
2852 } else {
2853
2854 smart_str_appendl(&error_str, "Syntax error, unexpected EOF in ", sizeof("Syntax error, unexpected EOF in ") - 1);
2855 smart_str_appendl(&error_str, Z_STRVAL_P(status->scanner_state->active_file), Z_STRLEN_P(status->scanner_state->active_file));
2856
2857 /* Report unclosed 'if' blocks */
2858 if ((status->scanner_state->if_level + status->scanner_state->old_if_level) > 0) {
2859 if ((status->scanner_state->if_level + status->scanner_state->old_if_level) == 1) {
2860 smart_str_appendl(&error_str, ", there is one 'if' block without close", sizeof(", there is one 'if' block without close") - 1);
2861 } else {
2862 smart_str_appendl(&error_str, ", there are ", sizeof(", there are ") - 1);
2863 {
2864 char stmp[MAX_LENGTH_OF_LONG + 1];
2865 int str_len;
2866 str_len = slprintf(stmp, sizeof(stmp), "%ld", status->scanner_state->if_level + status->scanner_state->old_if_level);
2867 smart_str_appendl(&error_str, stmp, str_len);
2868 }
2869 smart_str_appendl(&error_str, " 'if' blocks without close", sizeof(" 'if' blocks without close") - 1);
2870 }
2871 }
2872
2873 /* Report unclosed 'for' blocks */
2874 if (status->scanner_state->for_level > 0) {
2875 if (status->scanner_state->for_level == 1) {
2876 smart_str_appendl(&error_str, ", there is one 'for' block without close", sizeof(", there is one 'for' block without close") - 1);
2877 } else {
2878 smart_str_appendl(&error_str, ", there are ", sizeof(", there are ") - 1);
2879 {
2880 char stmp[MAX_LENGTH_OF_LONG + 1];
2881 int str_len;
2882 str_len = slprintf(stmp, sizeof(stmp), "%ld", status->scanner_state->if_level);
2883 smart_str_appendl(&error_str, stmp, str_len);
2884 }
2885 smart_str_appendl(&error_str, " 'for' blocks without close", sizeof(" 'for' blocks without close") - 1);
2886 }
2887 }
2888
2889 /* Report unclosed 'switch' blocks */
2890 if (status->scanner_state->switch_level > 0) {
2891 smart_str_appendl(&error_str, ", there is a 'switch' block without 'endswitch'", sizeof(", there is a 'switch' block without 'endswitch'") - 1);
2892 }
2893 }
2894
2895 smart_str_0(&error_str);
2896
2897 if (error_str.s) {
2898 status->syntax_error = estrndup(ZSTR_VAL(error_str.s), ZSTR_LEN(error_str.s));
2899 status->syntax_error_len = ZSTR_LEN(error_str.s);
2900 } else {
2901 status->syntax_error = NULL;
2902 }
2903 }
2904
2905 status->status = PHVOLT_PARSING_FAILED;
2906
2907 #line 2908 "parser.php7.c"
2908 phvolt_ARG_STORE; /* Suppress warning about unused %extra_argument variable */
2909 }
2910
2911 /*
2912 ** The following is executed when the parser accepts
2913 */
yy_accept(yyParser * yypParser)2914 static void yy_accept(
2915 yyParser *yypParser /* The parser */
2916 ){
2917 phvolt_ARG_FETCH;
2918 #ifndef NDEBUG
2919 if( yyTraceFILE ){
2920 fprintf(yyTraceFILE,"%sAccept!\n",yyTracePrompt);
2921 }
2922 #endif
2923 while( yypParser->yyidx>=0 ) yy_pop_parser_stack(yypParser);
2924 /* Here code is inserted which will be executed whenever the
2925 ** parser accepts */
2926 phvolt_ARG_STORE; /* Suppress warning about unused %extra_argument variable */
2927 }
2928
2929 /* The main parser program.
2930 ** The first argument is a pointer to a structure obtained from
2931 ** "phvolt_Alloc" which describes the current state of the parser.
2932 ** The second argument is the major token number. The third is
2933 ** the minor token. The fourth optional argument is whatever the
2934 ** user wants (and specified in the grammar) and is available for
2935 ** use by the action routines.
2936 **
2937 ** Inputs:
2938 ** <ul>
2939 ** <li> A pointer to the parser (an opaque structure.)
2940 ** <li> The major token number.
2941 ** <li> The minor token number.
2942 ** <li> An option argument of a grammar-specified type.
2943 ** </ul>
2944 **
2945 ** Outputs:
2946 ** None.
2947 */
phvolt_(void * yyp,int yymajor,phvolt_TOKENTYPE yyminor phvolt_ARG_PDECL)2948 void phvolt_(
2949 void *yyp, /* The parser */
2950 int yymajor, /* The major token code number */
2951 phvolt_TOKENTYPE yyminor /* The value for the token */
2952 phvolt_ARG_PDECL /* Optional %extra_argument parameter */
2953 ){
2954 YYMINORTYPE yyminorunion;
2955 int yyact; /* The parser action. */
2956 int yyendofinput; /* True if we are at the end of input */
2957 int yyerrorhit = 0; /* True if yymajor has invoked an error */
2958 yyParser *yypParser; /* The parser */
2959
2960 /* (re)initialize the parser, if necessary */
2961 yypParser = (yyParser*)yyp;
2962 if( yypParser->yyidx<0 ){
2963 if( yymajor==0 ) return;
2964 yypParser->yyidx = 0;
2965 yypParser->yyerrcnt = -1;
2966 yypParser->yystack[0].stateno = 0;
2967 yypParser->yystack[0].major = 0;
2968 }
2969 yyminorunion.yy0 = yyminor;
2970 yyendofinput = (yymajor==0);
2971 phvolt_ARG_STORE;
2972
2973 #ifndef NDEBUG
2974 if( yyTraceFILE ){
2975 fprintf(yyTraceFILE,"%sInput %s\n",yyTracePrompt,yyTokenName[yymajor]);
2976 }
2977 #endif
2978
2979 do{
2980 yyact = yy_find_shift_action(yypParser,yymajor);
2981 if( yyact<YYNSTATE ){
2982 yy_shift(yypParser,yyact,yymajor,&yyminorunion);
2983 yypParser->yyerrcnt--;
2984 if( yyendofinput && yypParser->yyidx>=0 ){
2985 yymajor = 0;
2986 }else{
2987 yymajor = YYNOCODE;
2988 }
2989 }else if( yyact < YYNSTATE + YYNRULE ){
2990 yy_reduce(yypParser,yyact-YYNSTATE);
2991 }else if( yyact == YY_ERROR_ACTION ){
2992 int yymx;
2993 #ifndef NDEBUG
2994 if( yyTraceFILE ){
2995 fprintf(yyTraceFILE,"%sSyntax Error!\n",yyTracePrompt);
2996 }
2997 #endif
2998 #ifdef YYERRORSYMBOL
2999 /* A syntax error has occurred.
3000 ** The response to an error depends upon whether or not the
3001 ** grammar defines an error token "ERROR".
3002 **
3003 ** This is what we do if the grammar does define ERROR:
3004 **
3005 ** * Call the %syntax_error function.
3006 **
3007 ** * Begin popping the stack until we enter a state where
3008 ** it is legal to shift the error symbol, then shift
3009 ** the error symbol.
3010 **
3011 ** * Set the error count to three.
3012 **
3013 ** * Begin accepting and shifting new tokens. No new error
3014 ** processing will occur until three tokens have been
3015 ** shifted successfully.
3016 **
3017 */
3018 if( yypParser->yyerrcnt<0 ){
3019 yy_syntax_error(yypParser,yymajor,yyminorunion);
3020 }
3021 yymx = yypParser->yystack[yypParser->yyidx].major;
3022 if( yymx==YYERRORSYMBOL || yyerrorhit ){
3023 #ifndef NDEBUG
3024 if( yyTraceFILE ){
3025 fprintf(yyTraceFILE,"%sDiscard input token %s\n",
3026 yyTracePrompt,yyTokenName[yymajor]);
3027 }
3028 #endif
3029 yy_destructor(yymajor,&yyminorunion);
3030 yymajor = YYNOCODE;
3031 }else{
3032 while(
3033 yypParser->yyidx >= 0 &&
3034 yymx != YYERRORSYMBOL &&
3035 (yyact = yy_find_shift_action(yypParser,YYERRORSYMBOL)) >= YYNSTATE
3036 ){
3037 yy_pop_parser_stack(yypParser);
3038 }
3039 if( yypParser->yyidx < 0 || yymajor==0 ){
3040 yy_destructor(yymajor,&yyminorunion);
3041 yy_parse_failed(yypParser);
3042 yymajor = YYNOCODE;
3043 }else if( yymx!=YYERRORSYMBOL ){
3044 YYMINORTYPE u2;
3045 u2.YYERRSYMDT = 0;
3046 yy_shift(yypParser,yyact,YYERRORSYMBOL,&u2);
3047 }
3048 }
3049 yypParser->yyerrcnt = 3;
3050 yyerrorhit = 1;
3051 #else /* YYERRORSYMBOL is not defined */
3052 /* This is what we do if the grammar does not define ERROR:
3053 **
3054 ** * Report an error message, and throw away the input token.
3055 **
3056 ** * If the input token is $, then fail the parse.
3057 **
3058 ** As before, subsequent error messages are suppressed until
3059 ** three input tokens have been successfully shifted.
3060 */
3061 if( yypParser->yyerrcnt<=0 ){
3062 yy_syntax_error(yypParser,yymajor,yyminorunion);
3063 }
3064 yypParser->yyerrcnt = 3;
3065 yy_destructor(yymajor,&yyminorunion);
3066 if( yyendofinput ){
3067 yy_parse_failed(yypParser);
3068 }
3069 yymajor = YYNOCODE;
3070 #endif
3071 }else{
3072 yy_accept(yypParser);
3073 yymajor = YYNOCODE;
3074 }
3075 }while( yymajor!=YYNOCODE && yypParser->yyidx>=0 );
3076 return;
3077 }
3078