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