This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Integrate changes #8853,8854 from maintperl to mainline.
[perl5.git] / perly.c
CommitLineData
93a17b20
LW
1#ifndef lint
2static char yysccsid[] = "@(#)yaccpar 1.8 (Berkeley) 01/20/91";
3#endif
4#define YYBYACC 1
748a9306 5#line 16 "perly.y"
79072805 6#include "EXTERN.h"
864dbfa3 7#define PERL_IN_PERLY_C
79072805
LW
8#include "perl.h"
9
09bef843
SB
10#define dep() deprecate("\"do\" to call subroutines")
11
12/* stuff included here to make perly_c.diff apply better */
13
d3b6f988
GS
14#define yydebug PL_yydebug
15#define yynerrs PL_yynerrs
16#define yyerrflag PL_yyerrflag
17#define yychar PL_yychar
d3b6f988
GS
18#define yyval PL_yyval
19#define yylval PL_yylval
20
09bef843
SB
21struct ysv {
22 short* yyss;
23 YYSTYPE* yyvs;
24 int oldyydebug;
25 int oldyynerrs;
26 int oldyyerrflag;
27 int oldyychar;
28 YYSTYPE oldyyval;
29 YYSTYPE oldyylval;
30};
79072805 31
e1f15930 32static void yydestruct(pTHXo_ void *ptr);
51371543 33
09bef843
SB
34#line 49 "perly.y"
35#if 0 /* get this from perly.h instead */
36#line 52 "perly.y"
37typedef union {
38 I32 ival;
39 char *pval;
40 OP *opval;
41 GV *gvval;
42} YYSTYPE;
43#line 60 "perly.y"
44#endif /* 0 */
45
46#ifdef USE_PURE_BISON
47#define YYLEX_PARAM (&yychar)
48#endif
49
50#line 51 "perly.c"
93a17b20 51#define YYERRCODE 256
09bef843
SB
52static short yylhs[] = { -1,
53 50, 0, 8, 6, 9, 7, 10, 10, 10, 11,
54 11, 11, 11, 24, 24, 24, 24, 24, 24, 24,
55 14, 14, 14, 13, 13, 42, 42, 12, 12, 12,
56 12, 12, 12, 12, 26, 26, 27, 27, 28, 29,
57 30, 31, 32, 49, 49, 1, 1, 1, 1, 1,
58 2, 38, 38, 46, 51, 3, 4, 5, 39, 40,
59 40, 44, 44, 44, 45, 45, 41, 41, 52, 52,
60 54, 53, 15, 15, 15, 25, 25, 25, 36, 36,
61 36, 36, 36, 36, 36, 36, 55, 36, 37, 37,
44a8e56a 62 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
09bef843
SB
63 17, 16, 16, 16, 16, 16, 16, 16, 16, 16,
64 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
65 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
66 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
67 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
68 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
69 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
70 47, 47, 48, 48, 48, 48, 48, 33, 33, 34,
71 34, 34, 43, 23, 18, 19, 20, 21, 22, 35,
72 35, 35, 35,
93a17b20 73};
09bef843 74static short yylen[] = { 2,
bbce6d69 75 0, 2, 4, 0, 4, 0, 0, 2, 2, 2,
ecca16b0
CS
76 1, 2, 3, 1, 1, 3, 3, 3, 3, 3,
77 0, 2, 6, 7, 7, 0, 2, 8, 8, 10,
78 9, 8, 11, 3, 0, 1, 0, 1, 1, 1,
09bef843
SB
79 1, 1, 1, 0, 1, 1, 1, 1, 1, 1,
80 4, 1, 0, 6, 6, 0, 0, 0, 1, 0,
81 1, 0, 2, 1, 2, 1, 1, 1, 3, 2,
82 0, 7, 3, 3, 1, 2, 3, 1, 3, 5,
83 6, 3, 3, 5, 2, 4, 0, 5, 1, 1,
84 5, 4, 5, 4, 5, 6, 5, 4, 5, 4,
85 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
86 3, 3, 3, 5, 3, 2, 2, 2, 2, 2,
87 2, 2, 2, 2, 1, 2, 3, 2, 3, 2,
88 4, 3, 5, 1, 1, 1, 1, 1, 1, 6,
89 5, 4, 5, 1, 1, 3, 4, 3, 2, 2,
90 4, 5, 4, 5, 1, 2, 2, 1, 2, 2,
91 2, 1, 3, 1, 3, 4, 4, 6, 1, 1,
92 3, 2, 3, 2, 1, 1, 1, 0, 1, 0,
93 1, 2, 1, 2, 2, 2, 2, 2, 2, 1,
94 1, 1, 1,
93a17b20 95};
09bef843
SB
96static short yydefred[] = { 1,
97 0, 7, 0, 45, 58, 56, 0, 56, 56, 8,
98 46, 9, 11, 48, 0, 47, 49, 50, 0, 0,
99 0, 70, 71, 0, 14, 4, 169, 0, 0, 144,
100 0, 164, 0, 57, 57, 0, 0, 0, 0, 0,
71be2cbc 101 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
93a17b20 102 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
09bef843
SB
103 0, 12, 0, 0, 0, 0, 0, 0, 0, 10,
104 0, 0, 0, 0, 0, 136, 138, 0, 0, 0,
105 0, 170, 125, 52, 0, 59, 0, 69, 0, 0,
106 7, 190, 193, 192, 191, 0, 0, 0, 0, 0,
107 0, 4, 4, 4, 4, 4, 4, 0, 0, 0,
108 0, 0, 159, 0, 0, 0, 0, 85, 0, 188,
109 0, 150, 0, 0, 0, 0, 0, 0, 0, 175,
110 177, 176, 0, 184, 0, 0, 0, 0, 0, 0,
111 0, 0, 130, 0, 0, 0, 185, 186, 187, 189,
112 0, 34, 0, 0, 0, 0, 0, 0, 0, 0,
113 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
114 0, 0, 0, 121, 122, 0, 0, 0, 0, 0,
115 0, 0, 0, 0, 0, 13, 0, 51, 61, 0,
116 0, 0, 0, 83, 0, 0, 87, 0, 0, 0,
117 0, 0, 0, 0, 4, 163, 165, 0, 0, 0,
118 0, 0, 0, 0, 132, 0, 148, 174, 0, 0,
119 171, 0, 0, 129, 27, 0, 0, 19, 0, 0,
120 0, 0, 73, 0, 0, 0, 0, 0, 0, 0,
121 0, 0, 0, 0, 0, 0, 0, 0, 89, 0,
122 0, 90, 0, 0, 101, 0, 0, 0, 0, 0,
123 0, 0, 146, 0, 0, 0, 0, 0, 0, 3,
124 0, 0, 167, 0, 0, 0, 42, 0, 43, 0,
125 0, 0, 0, 183, 0, 0, 36, 41, 0, 0,
126 0, 166, 182, 86, 0, 151, 0, 153, 0, 131,
127 173, 65, 0, 0, 0, 0, 98, 0, 0, 0,
128 0, 100, 94, 0, 92, 0, 142, 0, 147, 63,
129 68, 67, 55, 0, 54, 84, 0, 88, 133, 0,
130 0, 0, 0, 0, 0, 0, 0, 80, 152, 154,
131 141, 0, 0, 0, 99, 93, 0, 97, 95, 143,
132 91, 72, 168, 6, 0, 0, 0, 0, 0, 0,
133 0, 0, 140, 96, 81, 7, 28, 29, 0, 0,
134 24, 25, 0, 32, 0, 0, 0, 22, 0, 0,
135 0, 31, 5, 0, 30, 0, 0, 33, 0, 23,
93a17b20 136};
09bef843
SB
137static short yydgoto[] = { 1,
138 10, 11, 20, 100, 19, 91, 366, 94, 355, 3,
139 12, 13, 70, 371, 281, 72, 73, 74, 75, 76,
140 77, 78, 79, 287, 81, 288, 277, 279, 282, 290,
141 278, 280, 118, 210, 96, 82, 253, 85, 87, 190,
142 323, 152, 285, 267, 221, 14, 83, 133, 15, 2,
143 16, 17, 18, 89, 274,
93a17b20 144};
09bef843
SB
145static short yysindex[] = { 0,
146 0, 0, -199, 0, 0, 0, -53, 0, 0, 0,
147 0, 0, 0, 0, 646, 0, 0, 0, -217, -207,
148 44, 0, 0, -207, 0, 0, 0, -32, -32, 0,
149 66, 0, 2177, 0, 0, 69, 83, 93, 110, -35,
150 2177, 119, 121, 136, 1013, 973, -32, 1077, 1344, -146,
151 2177, 68, -32, 2177, 2177, 2177, 2177, 2177, 2177, 1384,
152 1424, 0, 2177, 2177, -32, -32, -32, -32, -152, 0,
153 470, 845, -13, -65, -63, 0, 0, 55, 137, 122,
154 138, 0, 0, 0, 60, 0, -70, 0, -66, -70,
155 0, 0, 0, 0, 0, 2177, 146, 2177, 1085, 60,
156 -70, 0, 0, 0, 0, 0, 0, 152, 845, 153,
157 1464, 973, 0, 1085, 0, -65, 138, 0, 2177, 0,
158 160, 0, 1085, 2, 76, -52, 2177, 1085, 1524, 0,
159 0, 0, -96, 0, 138, -181, -181, -181, -112, -112,
160 123, -38, 0, -74, -181, -181, 0, 0, 0, 0,
161 60, 0, 2177, 2177, 2177, 2177, 2177, 2177, 2177, 2177,
162 2177, 2177, 2177, 2177, 2177, 2177, 2177, 2177, 2177, 2177,
163 2177, 2177, 2177, 0, 0, -16, 2177, 1731, 2177, 2177,
164 2177, 2177, 2177, 2177, 1791, 0, 2177, 0, 0, -88,
165 -34, -88, 339, 0, 2177, 287, 0, -88, 2177, 2177,
166 2177, 2177, 173, 1850, 0, 0, 0, -33, 46, 180,
167 2177, 138, 1910, 2025, 0, 97, 0, 0, -31, -29,
168 0, 2177, 133, 0, 0, -237, -237, 0, -237, -237,
169 -237, -69, 0, 1614, 1085, 684, 167, 107, 845, 3800,
170 1125, 405, 1164, 778, -228, -181, -181, 2177, 0, 2117,
171 2177, 0, 197, -48, 0, -9, -72, -45, -7, -42,
172 56, -36, 0, -4, 845, -10, -47, 2177, -47, 0,
173 216, 2177, 0, 2177, 60, -237, 0, 219, 0, 230,
174 -237, 233, 237, 0, 242, 470, 0, 0, 246, 225,
175 2177, 0, 0, 0, 13, 0, 18, 0, 29, 0,
176 0, 0, 61, 2177, 2177, 54, 0, 32, 63, 2177,
177 165, 0, 0, 174, 0, 178, 0, 191, 0, 0,
178 0, 0, 0, 261, 0, 0, 350, 0, 0, 182,
179 182, 182, 182, 2177, 182, 2177, 281, 0, 0, 0,
180 0, 102, 1237, 202, 0, 0, 294, 0, 0, 0,
181 0, 0, 0, 0, -152, -152, -130, -130, 297, -152,
182 290, 182, 0, 0, 0, 0, 0, 0, 182, 318,
183 0, 0, 182, 0, 1850, -152, 407, 0, 2177, -152,
184 324, 0, 0, 326, 0, 182, 182, 0, -130, 0,
93a17b20 185};
09bef843
SB
186static short yyrindex[] = { 0,
187 0, 0, 243, 0, 0, 0, 0, 0, 0, 0,
188 0, 0, 0, 0, 0, 0, 0, 0, 236, 0,
189 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
71be2cbc 190 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
09bef843 191 36, 451, 0, 0, 2208, 2271, 0, 0, 0, 0,
93a17b20 192 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
09bef843
SB
193 0, 0, 0, 0, 0, 0, 0, 0, 115, 0,
194 -12, 939, 2325, 2385, 2463, 0, 0, 2510, 2561, 0,
195 1220, 0, 0, 0, 0, 0, -44, 0, 0, -44,
196 0, 0, 0, 0, 0, 2271, 0, 0, 3846, 0,
197 -105, 0, 0, 0, 0, 0, 0, 0, 2612, 0,
198 0, 327, 0, 3883, 522, 583, 3032, 0, 0, 0,
199 2621, 0, 3893, 2385, 0, 0, 2271, 3930, 0, 0,
200 0, 0, 2667, 0, 3092, 3374, 3418, 3458, 3219, 3331,
201 2746, 0, 0, 0, 3496, 3567, 0, 0, 0, 0,
93a17b20 202 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
93a17b20
LW
203 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
204 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
09bef843
SB
205 0, 0, 0, 0, 0, 0, 2797, 0, 0, -23,
206 0, -23, 913, 0, 327, 0, 0, 247, 336, 0,
207 0, 0, 0, 333, 0, 0, 0, 0, 352, 0,
208 0, 3138, 0, 0, 0, 0, 0, 0, 0, 2857,
209 0, 0, 2903, 0, 0, -8, -2, 0, 7, 33,
210 42, 2255, 0, -28, 3968, 1822, 3732, 3769, 3023, 0,
211 4119, 4082, 4021, 4005, 1044, 3610, 3694, 0, 0, 0,
212 0, 0, 2949, 0, 0, 0, 0, 0, 0, 0,
213 0, 0, 0, 0, 3657, -21, 0, 345, 0, 0,
214 0, 0, 0, 2271, 0, 71, 0, 0, 0, 0,
215 364, 0, 0, 0, 0, 86, 0, 0, 0, 0,
93a17b20 216 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
09bef843 217 0, 0, 0, 0, 0, 0, 0, 0, 0, 327,
93a17b20 218 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
fad39ff1 219 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
09bef843
SB
220 0, 0, 0, 0, 0, 355, 0, 0, 0, 0,
221 0, 0, 2972, 0, 0, 0, 0, 0, 0, 0,
222 0, 0, 0, 0, 115, 115, 175, 175, 0, 115,
223 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
224 0, 0, 0, 0, 374, 115, 913, 0, 0, 115,
225 0, 0, 0, 0, 0, 0, 0, 0, 175, 0,
93a17b20 226};
09bef843
SB
227static short yygindex[] = { 0,
228 0, 0, 164, 383, 0, 14, 0, 37, 655, -89,
229 0, 0, 0, -336, -15, 3415, 0, 2211, 368, 369,
230 0, 0, 0, 410, 916, 0, 0, 273, -163, 62,
231 94, 249, -71, -186, 634, 0, 0, 0, 428, -46,
232 184, 118, 0, -149, 0, 0, 0, 0, 0, 0,
233 0, 0, 0, 0, 0,
93a17b20 234};
09bef843
SB
235#define YYTABLESIZE 4423
236static short yytable[] = { 71,
237 65, 193, 223, 65, 107, 22, 216, 292, 271, 301,
238 311, 321, 111, 314, 60, 111, 316, 60, 224, 65,
239 313, 372, 318, 250, 194, 181, 178, 183, 15, 111,
240 111, 312, 18, 126, 111, 62, 319, 64, 39, 84,
241 289, 214, 269, 192, 142, 144, 15, 16, 275, 86,
242 18, 69, 390, 338, 198, 217, 39, 180, 339, 182,
243 163, 164, 158, 159, 111, 16, 4, 5, 6, 340,
244 7, 8, 345, 17, 251, 26, 155, 179, 60, 155,
245 172, 113, 20, 173, 122, 315, 174, 175, 176, 293,
246 26, 17, 181, 155, 155, 208, 209, 9, 155, 62,
247 20, 64, 88, 65, 67, 98, 248, 129, 102, 177,
248 127, 38, 344, 219, 26, 199, 200, 201, 202, 203,
249 204, 188, 103, 347, 180, 151, 40, 337, 155, 38,
250 173, 66, 104, 174, 175, 176, 197, 226, 227, 229,
251 230, 231, 232, 233, 15, 369, 370, 26, 317, 105,
252 26, 26, 26, 341, 26, 346, 26, 26, 110, 26,
253 111, 254, 256, 257, 258, 259, 260, 261, 262, 264,
254 359, 23, 24, 26, 21, 112, 185, 184, 26, 209,
255 186, 187, 26, 276, 227, 195, 227, 225, 286, 189,
256 191, 205, 60, 206, 363, 295, 324, 297, 299, 213,
257 215, 220, 328, 21, 176, 26, 303, 21, 65, 266,
258 21, 21, 21, 222, 21, 384, 21, 21, 291, 21,
259 294, 300, 268, 304, 92, 158, 159, 158, 159, 93,
260 302, 159, 306, 21, 308, 309, 310, 26, 21, 26,
261 26, 249, 2, 111, 111, 111, 111, 158, 159, 320,
262 111, 158, 159, 60, 158, 159, 326, 158, 159, 330,
263 106, 158, 159, 158, 159, 21, 158, 159, 158, 159,
264 331, 111, 111, 332, 111, 44, 377, 333, 44, 44,
265 44, 334, 44, 336, 44, 44, 335, 44, 342, 348,
266 158, 159, 158, 159, 209, 158, 159, 21, 349, 21,
267 21, 44, 350, 322, 354, 322, 44, 155, 155, 155,
268 155, 329, 158, 159, 155, 351, 155, 158, 159, 352,
269 276, 362, 155, 155, 155, 155, 364, 273, 158, 159,
270 272, 158, 159, 44, 365, 155, 155, 373, 155, 155,
271 155, 155, 155, 155, 155, 158, 159, 155, 375, 166,
272 155, 155, 155, 158, 159, 158, 159, 379, 53, 71,
273 158, 159, 158, 159, 386, 44, 387, 180, 44, 62,
274 26, 26, 26, 26, 26, 26, 37, 26, 26, 26,
fad39ff1 275 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
09bef843
SB
276 353, 35, 181, 26, 26, 163, 26, 26, 26, 26,
277 26, 158, 159, 178, 40, 26, 26, 26, 26, 26,
278 26, 26, 166, 37, 35, 172, 26, 101, 173, 131,
279 132, 174, 175, 176, 80, 26, 228, 26, 26, 361,
280 21, 21, 21, 21, 21, 21, 381, 21, 21, 21,
fad39ff1 281 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
09bef843
SB
282 283, 90, 325, 21, 21, 0, 21, 21, 21, 21,
283 21, 0, 0, 270, 0, 21, 21, 21, 21, 21,
284 21, 21, 367, 368, 0, 172, 21, 374, 173, 0,
285 0, 174, 175, 176, 0, 21, 0, 21, 21, 0,
286 0, 162, 0, 382, 162, 0, 0, 385, 44, 44,
287 44, 44, 44, 44, 0, 44, 44, 44, 162, 162,
288 0, 44, 0, 162, 44, 44, 44, 44, 0, 0,
289 0, 44, 44, 0, 44, 44, 44, 44, 44, 0,
290 0, 383, 0, 44, 44, 44, 44, 44, 44, 0,
291 0, 0, 0, 162, 44, 0, 0, 0, 0, 0,
292 0, 0, 0, 44, 190, 44, 44, 190, 190, 190,
293 0, 190, 169, 190, 190, 169, 190, 160, 0, 0,
294 0, 0, 0, 161, 162, 163, 164, 0, 0, 169,
295 169, 0, 0, 0, 169, 190, 0, 0, 0, 165,
296 167, 168, 169, 170, 171, 172, 0, 0, 173, 0,
297 0, 174, 175, 176, 4, 5, 6, 0, 7, 8,
298 0, 0, 190, 0, 169, 191, 0, 0, 191, 191,
299 191, 0, 191, 134, 191, 191, 134, 191, 0, 0,
300 160, 0, 0, 0, 0, 9, 161, 162, 163, 164,
301 134, 134, 0, 0, 0, 134, 191, 190, 0, 0,
302 0, 0, 165, 167, 168, 169, 170, 171, 172, 0,
303 0, 173, 97, 0, 174, 175, 176, 0, 0, 0,
304 0, 0, 4, 5, 6, 134, 7, 8, 55, 119,
305 120, 65, 67, 53, 0, 60, 134, 68, 64, 0,
306 63, 161, 162, 163, 164, 0, 0, 0, 147, 148,
307 149, 150, 0, 9, 62, 0, 0, 0, 191, 66,
308 169, 170, 171, 172, 0, 0, 173, 0, 0, 174,
309 175, 176, 162, 162, 162, 162, 0, 0, 0, 162,
310 0, 162, 0, 0, 0, 0, 61, 162, 162, 162,
311 162, 153, 154, 155, 156, 211, 0, 0, 157, 0,
312 162, 162, 0, 162, 162, 162, 162, 162, 162, 162,
313 0, 0, 162, 0, 0, 162, 162, 162, 26, 158,
314 159, 56, 0, 0, 0, 0, 0, 0, 190, 190,
315 190, 190, 190, 0, 190, 190, 190, 0, 0, 0,
316 190, 0, 0, 169, 169, 169, 169, 0, 0, 0,
317 169, 190, 169, 190, 190, 190, 190, 190, 169, 169,
318 169, 169, 190, 190, 190, 190, 190, 190, 0, 0,
319 0, 169, 169, 190, 169, 169, 169, 169, 169, 169,
320 169, 0, 190, 169, 190, 190, 169, 169, 169, 191,
321 191, 191, 191, 191, 0, 191, 191, 191, 0, 0,
322 0, 191, 0, 0, 134, 134, 134, 134, 0, 0,
323 0, 134, 191, 134, 191, 191, 191, 191, 191, 134,
324 134, 134, 134, 191, 191, 191, 191, 191, 191, 0,
325 0, 0, 134, 134, 191, 134, 134, 134, 134, 134,
326 134, 134, 0, 191, 134, 191, 191, 134, 134, 134,
327 0, 25, 27, 28, 29, 30, 31, 166, 32, 33,
328 34, 0, 0, 0, 35, 0, 0, 36, 37, 38,
329 39, 0, 0, 0, 40, 41, 0, 42, 43, 44,
330 45, 46, 0, 0, 0, 0, 47, 48, 49, 50,
331 51, 52, 0, 0, 0, 44, 0, 54, 44, 44,
332 44, 0, 44, 0, 44, 44, 57, 44, 58, 59,
333 0, 117, 0, 0, 0, 0, 0, 0, 0, 135,
334 161, 44, 163, 164, 0, 0, 44, 0, 0, 78,
335 0, 0, 78, 0, 0, 356, 357, 358, 0, 360,
336 0, 171, 172, 0, 0, 173, 78, 78, 174, 175,
337 176, 0, 0, 44, 0, 55, 0, 0, 65, 67,
338 53, 117, 60, 0, 68, 64, 376, 63, 0, 0,
339 0, 0, 0, 378, 0, 0, 0, 380, 0, 0,
340 0, 78, 0, 0, 212, 44, 66, 0, 44, 0,
341 388, 389, 117, 0, 0, 55, 0, 0, 65, 67,
342 53, 0, 60, 0, 68, 64, 0, 63, 0, 0,
343 0, 0, 0, 61, 161, 162, 163, 164, 0, 0,
344 0, 0, 0, 0, 0, 0, 66, 0, 0, 0,
345 0, 0, 0, 0, 106, 171, 172, 106, 0, 173,
346 0, 0, 174, 175, 176, 26, 0, 0, 56, 0,
347 0, 106, 106, 61, 0, 0, 106, 0, 0, 55,
348 0, 0, 65, 67, 53, 0, 60, 0, 68, 64,
349 0, 63, 0, 0, 0, 160, 0, 0, 0, 0,
350 0, 161, 162, 163, 164, 26, 106, 0, 56, 0,
351 66, 0, 0, 0, 0, 0, 0, 165, 167, 168,
352 169, 170, 171, 172, 0, 0, 173, 0, 0, 174,
353 175, 176, 0, 0, 0, 0, 0, 61, 44, 44,
354 44, 44, 44, 44, 0, 44, 44, 44, 0, 0,
355 0, 44, 0, 117, 44, 44, 44, 44, 0, 117,
356 0, 44, 44, 0, 44, 44, 44, 44, 44, 26,
357 0, 0, 56, 44, 44, 44, 44, 44, 44, 0,
358 78, 78, 78, 78, 44, 0, 0, 78, 0, 0,
359 0, 0, 0, 44, 0, 44, 44, 0, 0, 115,
360 28, 29, 30, 31, 93, 32, 33, 34, 78, 78,
361 0, 35, 0, 0, 0, 0, 0, 0, 0, 0,
362 0, 0, 41, 0, 42, 43, 44, 45, 46, 0,
363 75, 0, 0, 47, 48, 49, 50, 51, 52, 27,
364 28, 29, 30, 31, 54, 32, 33, 34, 75, 0,
365 0, 35, 0, 57, 0, 58, 59, 0, 0, 0,
366 0, 0, 41, 0, 42, 43, 44, 45, 46, 166,
367 0, 0, 0, 47, 48, 49, 50, 51, 52, 0,
368 0, 0, 75, 0, 54, 106, 106, 106, 106, 0,
369 0, 0, 106, 57, 106, 58, 59, 0, 0, 0,
370 106, 106, 0, 121, 28, 29, 30, 31, 0, 32,
371 33, 34, 0, 106, 106, 35, 106, 106, 106, 106,
372 106, 106, 0, 0, 0, 0, 41, 0, 42, 43,
373 44, 45, 46, 0, 0, 0, 0, 47, 48, 49,
374 50, 51, 52, 163, 164, 0, 55, 0, 54, 65,
375 67, 53, 0, 60, 0, 68, 64, 57, 63, 58,
376 59, 0, 171, 172, 0, 0, 173, 0, 0, 174,
377 175, 176, 125, 0, 0, 0, 0, 66, 0, 0,
378 0, 161, 162, 163, 164, 0, 55, 0, 0, 65,
379 67, 53, 0, 60, 141, 68, 64, 0, 63, 168,
380 169, 170, 171, 172, 61, 0, 173, 0, 0, 174,
381 175, 176, 0, 0, 0, 0, 0, 66, 0, 0,
382 161, 162, 163, 164, 0, 0, 55, 0, 0, 65,
383 67, 53, 0, 60, 0, 68, 64, 0, 63, 56,
384 170, 171, 172, 0, 61, 173, 0, 0, 174, 175,
385 176, 0, 0, 0, 0, 0, 0, 66, 0, 0,
386 0, 75, 75, 75, 75, 0, 55, 0, 75, 65,
387 67, 53, 0, 60, 207, 68, 64, 0, 63, 56,
388 0, 0, 0, 0, 61, 0, 143, 160, 0, 75,
389 75, 0, 0, 161, 162, 163, 164, 66, 0, 0,
fad39ff1 390 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
09bef843
SB
391 167, 168, 169, 170, 171, 172, 0, 0, 173, 56,
392 0, 174, 175, 176, 61, 0, 55, 0, 0, 65,
393 67, 53, 0, 60, 218, 68, 64, 0, 63, 0,
fad39ff1 394 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
09bef843 395 0, 0, 0, 0, 0, 0, 0, 66, 0, 56,
fad39ff1 396 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
09bef843
SB
397 27, 28, 29, 30, 31, 0, 32, 33, 34, 0,
398 0, 0, 35, 0, 61, 0, 0, 0, 0, 0,
399 0, 0, 0, 41, 0, 42, 43, 44, 45, 46,
400 0, 0, 0, 0, 47, 48, 49, 50, 51, 52,
401 27, 28, 29, 30, 31, 54, 32, 33, 34, 56,
402 0, 0, 35, 0, 57, 0, 58, 59, 0, 0,
403 0, 0, 0, 41, 0, 42, 43, 44, 45, 46,
404 0, 0, 0, 0, 47, 48, 49, 50, 51, 52,
405 27, 28, 29, 30, 31, 54, 32, 33, 34, 0,
406 0, 0, 35, 0, 57, 0, 58, 59, 0, 0,
407 0, 0, 0, 41, 0, 42, 43, 44, 45, 46,
408 0, 0, 0, 0, 47, 48, 49, 50, 51, 52,
409 27, 28, 29, 30, 31, 54, 32, 33, 34, 0,
410 0, 0, 35, 0, 57, 0, 58, 59, 0, 0,
411 0, 0, 0, 41, 0, 42, 43, 44, 45, 46,
412 0, 0, 0, 0, 47, 48, 49, 50, 51, 52,
413 0, 0, 0, 55, 0, 54, 65, 67, 53, 0,
414 60, 255, 68, 64, 57, 63, 58, 59, 0, 0,
415 27, 28, 29, 30, 31, 0, 32, 33, 34, 0,
416 0, 0, 35, 0, 66, 0, 0, 0, 0, 0,
417 0, 0, 0, 41, 0, 42, 43, 44, 45, 46,
418 0, 0, 0, 0, 47, 48, 49, 50, 51, 52,
419 0, 61, 0, 55, 0, 54, 65, 67, 53, 0,
420 60, 263, 68, 64, 57, 63, 58, 59, 0, 0,
fad39ff1 421 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
09bef843
SB
422 0, 0, 0, 0, 66, 0, 56, 0, 0, 0,
423 0, 0, 108, 0, 0, 108, 0, 0, 0, 0,
424 0, 0, 0, 0, 0, 0, 0, 0, 0, 108,
425 108, 61, 55, 0, 108, 65, 67, 53, 0, 60,
426 0, 68, 64, 0, 63, 0, 0, 0, 0, 0,
427 161, 162, 163, 164, 0, 0, 0, 0, 0, 0,
428 0, 0, 0, 66, 108, 0, 56, 167, 168, 169,
429 170, 171, 172, 0, 0, 173, 0, 0, 174, 175,
430 176, 0, 0, 0, 0, 0, 0, 0, 0, 0,
431 61, 0, 55, 0, 0, 65, 67, 53, 0, 60,
432 296, 68, 64, 0, 63, 0, 0, 0, 0, 0,
bbce6d69 433 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
09bef843
SB
434 0, 0, 0, 66, 0, 56, 0, 0, 0, 0,
435 0, 0, 0, 0, 0, 0, 0, 27, 28, 29,
436 30, 31, 0, 32, 33, 34, 0, 0, 0, 35,
437 61, 0, 0, 0, 0, 0, 0, 0, 0, 0,
438 41, 0, 42, 43, 44, 45, 46, 0, 0, 0,
439 0, 47, 48, 49, 50, 51, 52, 0, 0, 0,
440 0, 0, 54, 0, 0, 56, 0, 0, 0, 0,
441 0, 57, 0, 58, 59, 0, 0, 27, 28, 29,
442 30, 31, 0, 32, 33, 34, 0, 55, 0, 35,
443 65, 67, 53, 0, 60, 298, 68, 64, 0, 63,
444 41, 0, 42, 43, 44, 45, 46, 0, 0, 0,
445 0, 47, 48, 49, 50, 51, 52, 0, 66, 0,
446 0, 0, 54, 108, 108, 108, 108, 0, 0, 0,
447 108, 57, 108, 58, 59, 25, 27, 28, 29, 30,
448 31, 0, 32, 33, 34, 61, 0, 0, 35, 0,
449 0, 108, 108, 0, 108, 108, 108, 108, 108, 41,
450 0, 42, 43, 44, 45, 46, 0, 0, 0, 0,
451 47, 48, 49, 50, 51, 52, 0, 0, 0, 55,
452 56, 54, 65, 67, 53, 0, 60, 307, 68, 64,
453 57, 63, 58, 59, 0, 0, 27, 28, 29, 30,
454 31, 0, 32, 33, 34, 0, 0, 0, 35, 0,
455 66, 0, 0, 0, 0, 0, 0, 0, 0, 41,
456 0, 42, 43, 44, 45, 46, 0, 0, 0, 0,
457 47, 48, 49, 50, 51, 52, 0, 61, 0, 55,
458 0, 54, 65, 67, 53, 0, 60, 0, 68, 64,
459 57, 63, 58, 59, 0, 0, 0, 0, 0, 0,
460 0, 0, 0, 0, 0, 0, 0, 0, 95, 95,
461 66, 0, 56, 0, 0, 0, 0, 0, 158, 0,
462 108, 158, 0, 0, 0, 0, 116, 95, 124, 0,
463 0, 0, 130, 95, 0, 158, 158, 61, 0, 0,
464 158, 0, 0, 0, 0, 95, 95, 95, 95, 0,
465 0, 27, 28, 29, 30, 31, 0, 32, 33, 34,
466 0, 0, 0, 35, 0, 74, 0, 0, 74, 0,
467 158, 0, 56, 0, 41, 0, 42, 43, 44, 45,
468 46, 178, 0, 74, 178, 47, 48, 49, 50, 51,
469 52, 0, 116, 0, 0, 0, 54, 0, 178, 178,
470 0, 0, 0, 178, 0, 57, 0, 58, 59, 0,
471 0, 0, 0, 0, 0, 0, 0, 74, 0, 0,
fad39ff1 472 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
09bef843
SB
473 0, 0, 0, 178, 0, 139, 0, 0, 139, 0,
474 0, 0, 0, 27, 28, 29, 30, 31, 0, 32,
475 33, 34, 139, 139, 0, 35, 252, 139, 0, 0,
476 0, 0, 0, 0, 0, 0, 41, 0, 42, 43,
477 44, 45, 46, 0, 0, 0, 0, 47, 48, 49,
478 50, 51, 52, 284, 0, 0, 0, 139, 54, 0,
479 0, 0, 0, 0, 0, 134, 0, 57, 134, 58,
480 59, 0, 0, 27, 28, 29, 30, 31, 0, 32,
481 33, 34, 134, 134, 0, 35, 0, 134, 0, 0,
482 0, 0, 0, 0, 0, 0, 41, 0, 42, 43,
483 44, 45, 46, 0, 0, 0, 0, 47, 48, 49,
484 50, 51, 52, 0, 0, 0, 0, 134, 54, 158,
485 158, 158, 158, 0, 0, 0, 158, 57, 158, 58,
486 59, 0, 0, 0, 158, 158, 158, 158, 0, 0,
487 0, 0, 0, 137, 0, 0, 137, 158, 158, 0,
488 158, 158, 158, 158, 158, 158, 158, 0, 0, 158,
489 137, 137, 158, 158, 158, 137, 74, 74, 74, 74,
490 0, 0, 0, 74, 0, 0, 0, 0, 0, 0,
491 0, 0, 178, 178, 178, 178, 0, 0, 0, 178,
492 135, 178, 0, 135, 74, 137, 0, 178, 178, 178,
493 178, 0, 0, 0, 0, 0, 0, 135, 135, 0,
494 178, 178, 135, 178, 178, 178, 178, 178, 178, 178,
495 0, 0, 178, 0, 0, 178, 178, 178, 0, 0,
496 0, 0, 0, 0, 0, 0, 139, 139, 139, 139,
497 0, 145, 135, 139, 145, 139, 0, 0, 0, 0,
498 0, 139, 139, 139, 139, 0, 0, 0, 145, 145,
499 0, 0, 0, 145, 139, 139, 0, 139, 139, 139,
500 139, 139, 139, 139, 0, 0, 139, 0, 0, 139,
501 139, 139, 0, 0, 0, 0, 0, 0, 0, 0,
502 0, 0, 156, 145, 0, 156, 134, 134, 134, 134,
503 0, 169, 0, 134, 169, 134, 0, 0, 0, 156,
504 156, 134, 134, 134, 134, 0, 0, 0, 169, 169,
505 0, 0, 0, 169, 134, 134, 0, 134, 134, 134,
506 134, 134, 134, 134, 0, 0, 134, 0, 0, 134,
507 134, 134, 0, 0, 156, 0, 0, 172, 0, 0,
508 172, 0, 0, 169, 0, 0, 0, 0, 0, 0,
509 0, 0, 0, 0, 172, 172, 0, 0, 0, 172,
510 0, 0, 0, 0, 137, 137, 137, 137, 0, 0,
511 0, 137, 0, 137, 0, 0, 0, 0, 0, 137,
512 137, 137, 137, 0, 0, 0, 0, 0, 0, 172,
513 0, 0, 137, 137, 0, 137, 137, 137, 137, 137,
514 137, 137, 0, 0, 137, 0, 0, 137, 137, 137,
515 0, 135, 135, 135, 135, 0, 128, 0, 135, 128,
516 135, 0, 0, 0, 0, 0, 135, 135, 135, 135,
517 0, 0, 0, 128, 128, 0, 0, 0, 128, 135,
518 135, 0, 135, 135, 135, 135, 135, 135, 135, 0,
519 0, 135, 0, 0, 135, 135, 135, 0, 0, 0,
520 0, 0, 145, 145, 145, 145, 0, 76, 128, 145,
521 76, 145, 0, 0, 0, 0, 0, 145, 145, 145,
522 145, 0, 0, 0, 76, 76, 0, 0, 0, 76,
523 145, 145, 0, 145, 145, 145, 145, 145, 145, 145,
524 0, 0, 145, 0, 0, 145, 145, 145, 0, 0,
525 0, 0, 0, 156, 156, 156, 156, 0, 0, 76,
526 156, 0, 169, 169, 169, 169, 0, 66, 0, 169,
527 66, 169, 0, 0, 0, 0, 0, 169, 169, 169,
528 169, 156, 156, 0, 66, 66, 0, 0, 0, 66,
529 169, 169, 0, 169, 169, 169, 169, 169, 169, 169,
530 0, 0, 169, 0, 0, 169, 169, 169, 172, 172,
531 172, 172, 0, 127, 0, 172, 127, 172, 0, 66,
532 0, 0, 0, 172, 172, 172, 172, 0, 0, 0,
533 127, 127, 0, 0, 0, 127, 172, 172, 0, 172,
534 172, 172, 172, 172, 172, 172, 0, 0, 172, 0,
535 0, 172, 172, 172, 0, 0, 0, 0, 0, 82,
536 0, 0, 82, 0, 0, 127, 0, 0, 0, 0,
537 0, 0, 0, 0, 0, 0, 82, 82, 0, 0,
538 0, 82, 114, 0, 0, 114, 0, 128, 128, 128,
539 128, 0, 0, 0, 128, 0, 128, 0, 0, 114,
540 114, 0, 128, 128, 128, 128, 0, 0, 0, 0,
541 0, 82, 0, 0, 0, 128, 128, 0, 128, 128,
542 128, 128, 128, 128, 128, 0, 0, 128, 0, 0,
543 128, 128, 128, 102, 114, 0, 102, 0, 76, 76,
544 76, 76, 179, 0, 0, 76, 0, 76, 0, 0,
545 102, 102, 0, 76, 76, 76, 76, 0, 0, 179,
546 179, 0, 0, 0, 179, 0, 76, 76, 0, 76,
547 76, 76, 76, 76, 76, 76, 0, 0, 76, 0,
548 0, 76, 76, 76, 0, 102, 0, 0, 0, 0,
549 0, 0, 0, 0, 179, 0, 0, 0, 66, 66,
550 66, 66, 157, 0, 0, 66, 0, 66, 0, 0,
551 0, 0, 0, 66, 66, 66, 66, 0, 0, 157,
552 157, 0, 0, 0, 157, 0, 66, 66, 0, 66,
553 66, 66, 66, 66, 66, 66, 0, 0, 66, 0,
554 0, 66, 66, 66, 127, 127, 127, 127, 79, 0,
555 0, 127, 0, 127, 157, 0, 0, 0, 0, 127,
556 127, 127, 127, 0, 0, 79, 79, 0, 0, 0,
557 79, 0, 127, 127, 0, 127, 127, 127, 127, 127,
558 127, 127, 0, 0, 127, 0, 0, 127, 127, 127,
559 82, 82, 82, 82, 0, 0, 0, 82, 0, 82,
560 79, 0, 0, 0, 0, 82, 82, 82, 82, 0,
561 0, 0, 0, 114, 114, 114, 114, 0, 82, 82,
562 114, 82, 82, 82, 82, 82, 82, 82, 0, 123,
563 82, 0, 123, 82, 82, 82, 0, 0, 0, 0,
564 0, 114, 114, 0, 114, 0, 123, 123, 0, 0,
565 0, 123, 0, 0, 0, 0, 0, 0, 0, 0,
566 0, 0, 0, 0, 102, 102, 102, 102, 0, 0,
567 0, 102, 0, 179, 179, 179, 179, 0, 0, 0,
568 179, 123, 179, 0, 0, 0, 0, 0, 179, 179,
569 179, 179, 102, 102, 0, 0, 0, 0, 0, 0,
570 0, 179, 179, 0, 179, 179, 179, 179, 179, 179,
571 179, 0, 0, 179, 0, 0, 179, 179, 179, 0,
fad39ff1 572 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
09bef843
SB
573 0, 0, 0, 157, 157, 157, 157, 0, 0, 0,
574 157, 124, 157, 0, 124, 0, 0, 0, 157, 157,
575 157, 157, 0, 0, 0, 0, 0, 0, 124, 124,
576 0, 157, 157, 124, 157, 157, 157, 157, 157, 157,
577 157, 0, 0, 157, 0, 0, 157, 157, 157, 79,
578 79, 79, 79, 0, 118, 0, 79, 118, 79, 0,
579 0, 0, 0, 124, 79, 79, 79, 79, 0, 0,
580 0, 118, 118, 0, 0, 0, 118, 79, 79, 0,
581 79, 79, 79, 79, 79, 79, 79, 99, 0, 79,
582 0, 0, 79, 79, 79, 109, 0, 0, 119, 114,
583 0, 119, 123, 0, 0, 128, 118, 0, 0, 136,
584 137, 138, 139, 140, 0, 119, 119, 145, 146, 0,
585 119, 0, 0, 0, 0, 0, 0, 0, 0, 0,
586 123, 123, 123, 123, 0, 0, 0, 123, 120, 123,
587 0, 120, 0, 0, 0, 123, 123, 123, 123, 0,
588 119, 0, 196, 0, 0, 120, 120, 0, 123, 123,
589 120, 123, 123, 123, 123, 123, 123, 123, 0, 0,
590 123, 0, 0, 0, 0, 0, 116, 0, 0, 116,
bbce6d69 591 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
09bef843 592 120, 0, 0, 116, 116, 0, 0, 0, 116, 0,
bbce6d69 593 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
09bef843
SB
594 0, 0, 0, 0, 234, 235, 236, 237, 238, 239,
595 240, 241, 242, 243, 244, 245, 246, 247, 116, 0,
bbce6d69 596 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
09bef843
SB
597 0, 265, 124, 124, 124, 124, 0, 117, 0, 124,
598 117, 124, 0, 0, 0, 0, 0, 124, 124, 124,
599 124, 0, 0, 0, 117, 117, 0, 0, 0, 117,
600 124, 124, 0, 124, 124, 124, 124, 124, 124, 124,
601 0, 0, 124, 0, 0, 118, 118, 118, 118, 0,
602 115, 0, 118, 115, 118, 0, 0, 0, 0, 117,
603 118, 118, 118, 118, 0, 0, 0, 115, 115, 0,
604 0, 0, 115, 118, 118, 0, 118, 118, 118, 118,
605 118, 118, 118, 0, 0, 0, 327, 0, 0, 119,
606 119, 119, 119, 0, 0, 0, 119, 77, 119, 0,
607 77, 0, 115, 0, 119, 119, 119, 119, 0, 0,
608 0, 0, 0, 0, 77, 77, 0, 119, 119, 343,
609 119, 119, 119, 119, 119, 119, 119, 0, 0, 120,
610 120, 120, 120, 0, 103, 0, 120, 103, 120, 0,
611 0, 0, 0, 0, 120, 120, 120, 120, 0, 77,
612 0, 103, 103, 0, 0, 0, 103, 120, 120, 0,
613 120, 120, 120, 120, 120, 120, 120, 116, 116, 116,
614 116, 0, 104, 0, 116, 104, 116, 0, 0, 0,
615 0, 0, 116, 116, 116, 116, 103, 0, 0, 104,
616 104, 0, 0, 0, 104, 116, 116, 0, 116, 116,
617 116, 116, 116, 116, 116, 0, 0, 0, 0, 105,
618 0, 0, 105, 0, 0, 0, 0, 0, 0, 0,
619 0, 0, 0, 0, 104, 0, 105, 105, 0, 0,
620 0, 105, 0, 0, 0, 0, 0, 0, 117, 117,
621 117, 117, 0, 0, 0, 117, 0, 117, 0, 0,
622 0, 0, 0, 117, 117, 117, 117, 305, 0, 0,
623 0, 105, 166, 0, 0, 0, 117, 117, 0, 117,
624 117, 117, 117, 117, 117, 117, 0, 0, 0, 0,
625 0, 115, 115, 115, 115, 0, 161, 0, 115, 161,
626 115, 0, 0, 0, 0, 0, 115, 115, 115, 115,
627 0, 0, 0, 161, 161, 0, 0, 0, 161, 115,
628 115, 0, 115, 115, 115, 115, 115, 115, 115, 0,
629 0, 0, 0, 160, 0, 0, 160, 0, 77, 77,
630 77, 77, 0, 149, 0, 77, 149, 0, 161, 0,
631 160, 160, 0, 0, 0, 160, 0, 0, 0, 0,
632 149, 149, 0, 0, 0, 149, 77, 77, 0, 0,
633 0, 0, 0, 0, 0, 103, 103, 103, 103, 0,
634 126, 0, 103, 126, 103, 160, 0, 0, 0, 0,
635 103, 103, 103, 103, 0, 149, 0, 126, 126, 0,
636 0, 0, 126, 103, 103, 0, 103, 103, 103, 103,
637 103, 103, 103, 104, 104, 104, 104, 0, 107, 0,
638 104, 107, 104, 0, 0, 0, 0, 0, 104, 104,
639 104, 104, 126, 0, 0, 107, 107, 0, 0, 0,
640 107, 104, 104, 0, 104, 104, 104, 104, 104, 104,
641 105, 105, 105, 105, 0, 109, 0, 105, 109, 105,
642 0, 0, 0, 0, 0, 105, 105, 0, 105, 0,
643 107, 110, 109, 109, 110, 0, 0, 109, 105, 105,
644 0, 105, 105, 105, 105, 105, 105, 0, 110, 110,
645 160, 0, 0, 110, 0, 0, 161, 162, 163, 164,
646 0, 0, 0, 0, 0, 0, 0, 109, 0, 0,
647 0, 0, 165, 167, 168, 169, 170, 171, 172, 0,
648 0, 173, 0, 110, 174, 175, 176, 161, 161, 161,
649 161, 0, 112, 0, 161, 112, 161, 0, 0, 0,
650 0, 0, 161, 161, 0, 0, 0, 0, 0, 112,
651 112, 0, 0, 0, 112, 161, 161, 0, 161, 161,
652 161, 161, 161, 0, 160, 160, 160, 160, 0, 113,
653 0, 160, 113, 160, 149, 149, 149, 149, 0, 160,
654 160, 149, 0, 149, 112, 0, 113, 113, 0, 149,
655 149, 113, 160, 160, 0, 160, 160, 160, 160, 160,
656 0, 0, 149, 149, 0, 149, 149, 149, 149, 149,
657 0, 126, 126, 126, 126, 0, 0, 0, 126, 0,
658 126, 113, 0, 0, 0, 0, 126, 126, 0, 0,
659 0, 0, 0, 0, 0, 0, 0, 0, 0, 126,
660 126, 0, 126, 126, 126, 126, 126, 0, 0, 107,
661 107, 107, 107, 0, 0, 0, 107, 0, 107, 0,
662 0, 0, 0, 0, 0, 107, 0, 0, 0, 0,
663 0, 0, 0, 0, 0, 0, 0, 107, 107, 0,
664 107, 107, 107, 107, 107, 0, 109, 109, 109, 109,
665 0, 0, 0, 109, 0, 109, 0, 0, 0, 0,
666 0, 0, 110, 110, 110, 110, 0, 0, 0, 110,
667 0, 110, 0, 0, 109, 109, 0, 109, 109, 109,
668 109, 109, 0, 0, 0, 0, 0, 0, 0, 0,
669 110, 110, 0, 110, 110, 110, 110, 0, 0, 0,
28757baa 670 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
671 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
09bef843
SB
672 0, 0, 0, 112, 112, 112, 112, 0, 0, 0,
673 112, 0, 112, 0, 0, 0, 0, 0, 0, 0,
fad39ff1 674 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
09bef843
SB
675 0, 112, 112, 0, 112, 112, 112, 0, 0, 0,
676 113, 113, 113, 113, 0, 0, 0, 113, 0, 113,
fad39ff1 677 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
09bef843
SB
678 0, 0, 0, 0, 0, 0, 0, 0, 113, 113,
679 0, 113, 113,
93a17b20 680};
09bef843
SB
681static short yycheck[] = { 15,
682 36, 91, 41, 36, 40, 59, 59, 41, 195, 41,
683 59, 59, 41, 59, 59, 44, 59, 123, 93, 36,
684 93, 358, 59, 40, 96, 91, 40, 91, 41, 58,
685 59, 41, 41, 49, 63, 59, 41, 59, 41, 257,
686 204, 40, 192, 90, 60, 61, 59, 41, 198, 257,
687 59, 15, 389, 41, 101, 127, 59, 123, 41, 123,
688 289, 290, 300, 301, 93, 59, 266, 267, 268, 41,
689 270, 271, 41, 41, 91, 123, 41, 91, 123, 44,
690 309, 45, 41, 312, 48, 93, 315, 316, 317, 44,
691 123, 59, 91, 58, 59, 111, 112, 297, 63, 123,
692 59, 123, 59, 36, 37, 40, 123, 40, 40, 123,
693 257, 41, 59, 129, 0, 102, 103, 104, 105, 106,
694 107, 85, 40, 310, 123, 278, 41, 291, 93, 59,
695 312, 64, 40, 315, 316, 317, 100, 153, 154, 155,
696 156, 157, 158, 159, 59, 276, 277, 33, 93, 40,
697 36, 37, 38, 93, 40, 93, 42, 43, 40, 45,
698 40, 177, 178, 179, 180, 181, 182, 183, 184, 185,
699 334, 8, 9, 59, 0, 40, 40, 123, 64, 195,
700 59, 44, 123, 199, 200, 40, 202, 151, 204, 260,
701 257, 40, 298, 41, 93, 211, 268, 213, 214, 40,
702 125, 298, 274, 257, 317, 91, 222, 33, 36, 298,
703 36, 37, 38, 91, 40, 379, 42, 43, 205, 45,
704 41, 125, 257, 91, 257, 300, 301, 300, 301, 262,
705 260, 301, 248, 59, 250, 251, 40, 123, 64, 125,
706 126, 258, 0, 272, 273, 274, 275, 300, 301, 260,
707 279, 300, 301, 298, 300, 301, 41, 300, 301, 41,
708 296, 300, 301, 300, 301, 91, 300, 301, 300, 301,
709 41, 300, 301, 41, 303, 33, 366, 41, 36, 37,
710 38, 40, 40, 59, 42, 43, 41, 45, 304, 125,
711 300, 301, 300, 301, 310, 300, 301, 123, 125, 125,
712 126, 59, 125, 267, 123, 269, 64, 272, 273, 274,
713 275, 275, 300, 301, 279, 125, 281, 300, 301, 59,
714 336, 41, 287, 288, 289, 290, 125, 41, 300, 301,
715 44, 300, 301, 91, 41, 300, 301, 41, 303, 304,
716 305, 306, 307, 308, 309, 300, 301, 312, 59, 63,
717 315, 316, 317, 300, 301, 300, 301, 40, 123, 375,
718 300, 301, 300, 301, 41, 123, 41, 41, 126, 123,
719 256, 257, 258, 259, 260, 261, 41, 263, 264, 265,
720 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
721 41, 59, 41, 279, 280, 289, 282, 283, 284, 285,
722 286, 300, 301, 59, 41, 291, 292, 293, 294, 295,
723 296, 297, 63, 59, 41, 309, 302, 35, 312, 52,
724 52, 315, 316, 317, 15, 311, 154, 313, 314, 336,
725 256, 257, 258, 259, 260, 261, 375, 263, 264, 265,
fad39ff1 726 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
09bef843
SB
727 202, 24, 269, 279, 280, -1, 282, 283, 284, 285,
728 286, -1, -1, 125, -1, 291, 292, 293, 294, 295,
729 296, 297, 355, 356, -1, 309, 302, 360, 312, -1,
730 -1, 315, 316, 317, -1, 311, -1, 313, 314, -1,
731 -1, 41, -1, 376, 44, -1, -1, 380, 256, 257,
732 258, 259, 260, 261, -1, 263, 264, 265, 58, 59,
733 -1, 269, -1, 63, 272, 273, 274, 275, -1, -1,
734 -1, 279, 280, -1, 282, 283, 284, 285, 286, -1,
735 -1, 125, -1, 291, 292, 293, 294, 295, 296, -1,
736 -1, -1, -1, 93, 302, -1, -1, -1, -1, -1,
737 -1, -1, -1, 311, 33, 313, 314, 36, 37, 38,
738 -1, 40, 41, 42, 43, 44, 45, 281, -1, -1,
739 -1, -1, -1, 287, 288, 289, 290, -1, -1, 58,
740 59, -1, -1, -1, 63, 64, -1, -1, -1, 303,
741 304, 305, 306, 307, 308, 309, -1, -1, 312, -1,
742 -1, 315, 316, 317, 266, 267, 268, -1, 270, 271,
743 -1, -1, 91, -1, 93, 33, -1, -1, 36, 37,
744 38, -1, 40, 41, 42, 43, 44, 45, -1, -1,
745 281, -1, -1, -1, -1, 297, 287, 288, 289, 290,
746 58, 59, -1, -1, -1, 63, 64, 126, -1, -1,
747 -1, -1, 303, 304, 305, 306, 307, 308, 309, -1,
748 -1, 312, 29, -1, 315, 316, 317, -1, -1, -1,
749 -1, -1, 266, 267, 268, 93, 270, 271, 33, 46,
750 47, 36, 37, 38, -1, 40, 53, 42, 43, -1,
751 45, 287, 288, 289, 290, -1, -1, -1, 65, 66,
752 67, 68, -1, 297, 59, -1, -1, -1, 126, 64,
753 306, 307, 308, 309, -1, -1, 312, -1, -1, 315,
754 316, 317, 272, 273, 274, 275, -1, -1, -1, 279,
755 -1, 281, -1, -1, -1, -1, 91, 287, 288, 289,
756 290, 272, 273, 274, 275, 112, -1, -1, 279, -1,
757 300, 301, -1, 303, 304, 305, 306, 307, 308, 309,
758 -1, -1, 312, -1, -1, 315, 316, 317, 123, 300,
759 301, 126, -1, -1, -1, -1, -1, -1, 257, 258,
fad39ff1 760 259, 260, 261, -1, 263, 264, 265, -1, -1, -1,
fad39ff1 761 269, -1, -1, 272, 273, 274, 275, -1, -1, -1,
09bef843
SB
762 279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
763 289, 290, 291, 292, 293, 294, 295, 296, -1, -1,
764 -1, 300, 301, 302, 303, 304, 305, 306, 307, 308,
765 309, -1, 311, 312, 313, 314, 315, 316, 317, 257,
fad39ff1 766 258, 259, 260, 261, -1, 263, 264, 265, -1, -1,
09bef843
SB
767 -1, 269, -1, -1, 272, 273, 274, 275, -1, -1,
768 -1, 279, 280, 281, 282, 283, 284, 285, 286, 287,
769 288, 289, 290, 291, 292, 293, 294, 295, 296, -1,
770 -1, -1, 300, 301, 302, 303, 304, 305, 306, 307,
771 308, 309, -1, 311, 312, 313, 314, 315, 316, 317,
772 -1, 256, 257, 258, 259, 260, 261, 63, 263, 264,
773 265, -1, -1, -1, 269, -1, -1, 272, 273, 274,
774 275, -1, -1, -1, 279, 280, -1, 282, 283, 284,
775 285, 286, -1, -1, -1, -1, 291, 292, 293, 294,
776 295, 296, -1, -1, -1, 33, -1, 302, 36, 37,
777 38, -1, 40, -1, 42, 43, 311, 45, 313, 314,
778 -1, 46, -1, -1, -1, -1, -1, -1, -1, 54,
779 287, 59, 289, 290, -1, -1, 64, -1, -1, 41,
780 -1, -1, 44, -1, -1, 331, 332, 333, -1, 335,
781 -1, 308, 309, -1, -1, 312, 58, 59, 315, 316,
782 317, -1, -1, 91, -1, 33, -1, -1, 36, 37,
783 38, 96, 40, -1, 42, 43, 362, 45, -1, -1,
784 -1, -1, -1, 369, -1, -1, -1, 373, -1, -1,
785 -1, 93, -1, -1, 119, 123, 64, -1, 126, -1,
786 386, 387, 127, -1, -1, 33, -1, -1, 36, 37,
787 38, -1, 40, -1, 42, 43, -1, 45, -1, -1,
788 -1, -1, -1, 91, 287, 288, 289, 290, -1, -1,
789 -1, -1, -1, -1, -1, -1, 64, -1, -1, -1,
790 -1, -1, -1, -1, 41, 308, 309, 44, -1, 312,
791 -1, -1, 315, 316, 317, 123, -1, -1, 126, -1,
792 -1, 58, 59, 91, -1, -1, 63, -1, -1, 33,
793 -1, -1, 36, 37, 38, -1, 40, -1, 42, 43,
794 -1, 45, -1, -1, -1, 281, -1, -1, -1, -1,
795 -1, 287, 288, 289, 290, 123, 93, -1, 126, -1,
796 64, -1, -1, -1, -1, -1, -1, 303, 304, 305,
797 306, 307, 308, 309, -1, -1, 312, -1, -1, 315,
798 316, 317, -1, -1, -1, -1, -1, 91, 256, 257,
799 258, 259, 260, 261, -1, 263, 264, 265, -1, -1,
800 -1, 269, -1, 268, 272, 273, 274, 275, -1, 274,
801 -1, 279, 280, -1, 282, 283, 284, 285, 286, 123,
802 -1, -1, 126, 291, 292, 293, 294, 295, 296, -1,
803 272, 273, 274, 275, 302, -1, -1, 279, -1, -1,
804 -1, -1, -1, 311, -1, 313, 314, -1, -1, 257,
805 258, 259, 260, 261, 262, 263, 264, 265, 300, 301,
806 -1, 269, -1, -1, -1, -1, -1, -1, -1, -1,
fad39ff1 807 -1, -1, 280, -1, 282, 283, 284, 285, 286, -1,
09bef843
SB
808 41, -1, -1, 291, 292, 293, 294, 295, 296, 257,
809 258, 259, 260, 261, 302, 263, 264, 265, 59, -1,
810 -1, 269, -1, 311, -1, 313, 314, -1, -1, -1,
811 -1, -1, 280, -1, 282, 283, 284, 285, 286, 63,
fad39ff1 812 -1, -1, -1, 291, 292, 293, 294, 295, 296, -1,
09bef843
SB
813 -1, -1, 93, -1, 302, 272, 273, 274, 275, -1,
814 -1, -1, 279, 311, 281, 313, 314, -1, -1, -1,
815 287, 288, -1, 257, 258, 259, 260, 261, -1, 263,
816 264, 265, -1, 300, 301, 269, 303, 304, 305, 306,
817 307, 308, -1, -1, -1, -1, 280, -1, 282, 283,
fad39ff1 818 284, 285, 286, -1, -1, -1, -1, 291, 292, 293,
09bef843
SB
819 294, 295, 296, 289, 290, -1, 33, -1, 302, 36,
820 37, 38, -1, 40, -1, 42, 43, 311, 45, 313,
821 314, -1, 308, 309, -1, -1, 312, -1, -1, 315,
822 316, 317, 59, -1, -1, -1, -1, 64, -1, -1,
823 -1, 287, 288, 289, 290, -1, 33, -1, -1, 36,
824 37, 38, -1, 40, 41, 42, 43, -1, 45, 305,
825 306, 307, 308, 309, 91, -1, 312, -1, -1, 315,
826 316, 317, -1, -1, -1, -1, -1, 64, -1, -1,
827 287, 288, 289, 290, -1, -1, 33, -1, -1, 36,
828 37, 38, -1, 40, -1, 42, 43, -1, 45, 126,
829 307, 308, 309, -1, 91, 312, -1, -1, 315, 316,
830 317, -1, -1, -1, -1, -1, -1, 64, -1, -1,
831 -1, 272, 273, 274, 275, -1, 33, -1, 279, 36,
832 37, 38, -1, 40, 41, 42, 43, -1, 45, 126,
833 -1, -1, -1, -1, 91, -1, 93, 281, -1, 300,
834 301, -1, -1, 287, 288, 289, 290, 64, -1, -1,
fad39ff1 835 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
09bef843
SB
836 304, 305, 306, 307, 308, 309, -1, -1, 312, 126,
837 -1, 315, 316, 317, 91, -1, 33, -1, -1, 36,
838 37, 38, -1, 40, 41, 42, 43, -1, 45, -1,
fad39ff1 839 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
09bef843 840 -1, -1, -1, -1, -1, -1, -1, 64, -1, 126,
ecca16b0 841 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
09bef843
SB
842 257, 258, 259, 260, 261, -1, 263, 264, 265, -1,
843 -1, -1, 269, -1, 91, -1, -1, -1, -1, -1,
844 -1, -1, -1, 280, -1, 282, 283, 284, 285, 286,
845 -1, -1, -1, -1, 291, 292, 293, 294, 295, 296,
846 257, 258, 259, 260, 261, 302, 263, 264, 265, 126,
847 -1, -1, 269, -1, 311, -1, 313, 314, -1, -1,
848 -1, -1, -1, 280, -1, 282, 283, 284, 285, 286,
849 -1, -1, -1, -1, 291, 292, 293, 294, 295, 296,
850 257, 258, 259, 260, 261, 302, 263, 264, 265, -1,
851 -1, -1, 269, -1, 311, -1, 313, 314, -1, -1,
852 -1, -1, -1, 280, -1, 282, 283, 284, 285, 286,
853 -1, -1, -1, -1, 291, 292, 293, 294, 295, 296,
854 257, 258, 259, 260, 261, 302, 263, 264, 265, -1,
855 -1, -1, 269, -1, 311, -1, 313, 314, -1, -1,
856 -1, -1, -1, 280, -1, 282, 283, 284, 285, 286,
857 -1, -1, -1, -1, 291, 292, 293, 294, 295, 296,
858 -1, -1, -1, 33, -1, 302, 36, 37, 38, -1,
859 40, 41, 42, 43, 311, 45, 313, 314, -1, -1,
860 257, 258, 259, 260, 261, -1, 263, 264, 265, -1,
861 -1, -1, 269, -1, 64, -1, -1, -1, -1, -1,
862 -1, -1, -1, 280, -1, 282, 283, 284, 285, 286,
863 -1, -1, -1, -1, 291, 292, 293, 294, 295, 296,
864 -1, 91, -1, 33, -1, 302, 36, 37, 38, -1,
865 40, 41, 42, 43, 311, 45, 313, 314, -1, -1,
fad39ff1 866 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
09bef843
SB
867 -1, -1, -1, -1, 64, -1, 126, -1, -1, -1,
868 -1, -1, 41, -1, -1, 44, -1, -1, -1, -1,
869 -1, -1, -1, -1, -1, -1, -1, -1, -1, 58,
870 59, 91, 33, -1, 63, 36, 37, 38, -1, 40,
871 -1, 42, 43, -1, 45, -1, -1, -1, -1, -1,
fad39ff1 872 287, 288, 289, 290, -1, -1, -1, -1, -1, -1,
09bef843
SB
873 -1, -1, -1, 64, 93, -1, 126, 304, 305, 306,
874 307, 308, 309, -1, -1, 312, -1, -1, 315, 316,
875 317, -1, -1, -1, -1, -1, -1, -1, -1, -1,
876 91, -1, 33, -1, -1, 36, 37, 38, -1, 40,
877 41, 42, 43, -1, 45, -1, -1, -1, -1, -1,
fad39ff1 878 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
09bef843
SB
879 -1, -1, -1, 64, -1, 126, -1, -1, -1, -1,
880 -1, -1, -1, -1, -1, -1, -1, 257, 258, 259,
881 260, 261, -1, 263, 264, 265, -1, -1, -1, 269,
882 91, -1, -1, -1, -1, -1, -1, -1, -1, -1,
883 280, -1, 282, 283, 284, 285, 286, -1, -1, -1,
884 -1, 291, 292, 293, 294, 295, 296, -1, -1, -1,
885 -1, -1, 302, -1, -1, 126, -1, -1, -1, -1,
886 -1, 311, -1, 313, 314, -1, -1, 257, 258, 259,
887 260, 261, -1, 263, 264, 265, -1, 33, -1, 269,
888 36, 37, 38, -1, 40, 41, 42, 43, -1, 45,
889 280, -1, 282, 283, 284, 285, 286, -1, -1, -1,
890 -1, 291, 292, 293, 294, 295, 296, -1, 64, -1,
891 -1, -1, 302, 272, 273, 274, 275, -1, -1, -1,
892 279, 311, 281, 313, 314, 256, 257, 258, 259, 260,
893 261, -1, 263, 264, 265, 91, -1, -1, 269, -1,
894 -1, 300, 301, -1, 303, 304, 305, 306, 307, 280,
895 -1, 282, 283, 284, 285, 286, -1, -1, -1, -1,
896 291, 292, 293, 294, 295, 296, -1, -1, -1, 33,
897 126, 302, 36, 37, 38, -1, 40, 41, 42, 43,
898 311, 45, 313, 314, -1, -1, 257, 258, 259, 260,
899 261, -1, 263, 264, 265, -1, -1, -1, 269, -1,
900 64, -1, -1, -1, -1, -1, -1, -1, -1, 280,
901 -1, 282, 283, 284, 285, 286, -1, -1, -1, -1,
902 291, 292, 293, 294, 295, 296, -1, 91, -1, 33,
903 -1, 302, 36, 37, 38, -1, 40, -1, 42, 43,
904 311, 45, 313, 314, -1, -1, -1, -1, -1, -1,
905 -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
906 64, -1, 126, -1, -1, -1, -1, -1, 41, -1,
907 40, 44, -1, -1, -1, -1, 46, 47, 48, -1,
908 -1, -1, 52, 53, -1, 58, 59, 91, -1, -1,
909 63, -1, -1, -1, -1, 65, 66, 67, 68, -1,
910 -1, 257, 258, 259, 260, 261, -1, 263, 264, 265,
911 -1, -1, -1, 269, -1, 41, -1, -1, 44, -1,
912 93, -1, 126, -1, 280, -1, 282, 283, 284, 285,
913 286, 41, -1, 59, 44, 291, 292, 293, 294, 295,
914 296, -1, 112, -1, -1, -1, 302, -1, 58, 59,
915 -1, -1, -1, 63, -1, 311, -1, 313, 314, -1,
916 -1, -1, -1, -1, -1, -1, -1, 93, -1, -1,
fad39ff1 917 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
09bef843
SB
918 -1, -1, -1, 93, -1, 41, -1, -1, 44, -1,
919 -1, -1, -1, 257, 258, 259, 260, 261, -1, 263,
920 264, 265, 58, 59, -1, 269, 176, 63, -1, -1,
921 -1, -1, -1, -1, -1, -1, 280, -1, 282, 283,
922 284, 285, 286, -1, -1, -1, -1, 291, 292, 293,
923 294, 295, 296, 203, -1, -1, -1, 93, 302, -1,
924 -1, -1, -1, -1, -1, 41, -1, 311, 44, 313,
925 314, -1, -1, 257, 258, 259, 260, 261, -1, 263,
926 264, 265, 58, 59, -1, 269, -1, 63, -1, -1,
927 -1, -1, -1, -1, -1, -1, 280, -1, 282, 283,
928 284, 285, 286, -1, -1, -1, -1, 291, 292, 293,
929 294, 295, 296, -1, -1, -1, -1, 93, 302, 272,
930 273, 274, 275, -1, -1, -1, 279, 311, 281, 313,
931 314, -1, -1, -1, 287, 288, 289, 290, -1, -1,
932 -1, -1, -1, 41, -1, -1, 44, 300, 301, -1,
933 303, 304, 305, 306, 307, 308, 309, -1, -1, 312,
934 58, 59, 315, 316, 317, 63, 272, 273, 274, 275,
935 -1, -1, -1, 279, -1, -1, -1, -1, -1, -1,
936 -1, -1, 272, 273, 274, 275, -1, -1, -1, 279,
937 41, 281, -1, 44, 300, 93, -1, 287, 288, 289,
938 290, -1, -1, -1, -1, -1, -1, 58, 59, -1,
939 300, 301, 63, 303, 304, 305, 306, 307, 308, 309,
940 -1, -1, 312, -1, -1, 315, 316, 317, -1, -1,
941 -1, -1, -1, -1, -1, -1, 272, 273, 274, 275,
942 -1, 41, 93, 279, 44, 281, -1, -1, -1, -1,
943 -1, 287, 288, 289, 290, -1, -1, -1, 58, 59,
944 -1, -1, -1, 63, 300, 301, -1, 303, 304, 305,
945 306, 307, 308, 309, -1, -1, 312, -1, -1, 315,
946 316, 317, -1, -1, -1, -1, -1, -1, -1, -1,
947 -1, -1, 41, 93, -1, 44, 272, 273, 274, 275,
948 -1, 41, -1, 279, 44, 281, -1, -1, -1, 58,
949 59, 287, 288, 289, 290, -1, -1, -1, 58, 59,
950 -1, -1, -1, 63, 300, 301, -1, 303, 304, 305,
951 306, 307, 308, 309, -1, -1, 312, -1, -1, 315,
952 316, 317, -1, -1, 93, -1, -1, 41, -1, -1,
953 44, -1, -1, 93, -1, -1, -1, -1, -1, -1,
954 -1, -1, -1, -1, 58, 59, -1, -1, -1, 63,
fad39ff1
SM
955 -1, -1, -1, -1, 272, 273, 274, 275, -1, -1,
956 -1, 279, -1, 281, -1, -1, -1, -1, -1, 287,
09bef843
SB
957 288, 289, 290, -1, -1, -1, -1, -1, -1, 93,
958 -1, -1, 300, 301, -1, 303, 304, 305, 306, 307,
959 308, 309, -1, -1, 312, -1, -1, 315, 316, 317,
960 -1, 272, 273, 274, 275, -1, 41, -1, 279, 44,
fad39ff1 961 281, -1, -1, -1, -1, -1, 287, 288, 289, 290,
09bef843
SB
962 -1, -1, -1, 58, 59, -1, -1, -1, 63, 300,
963 301, -1, 303, 304, 305, 306, 307, 308, 309, -1,
964 -1, 312, -1, -1, 315, 316, 317, -1, -1, -1,
965 -1, -1, 272, 273, 274, 275, -1, 41, 93, 279,
966 44, 281, -1, -1, -1, -1, -1, 287, 288, 289,
967 290, -1, -1, -1, 58, 59, -1, -1, -1, 63,
968 300, 301, -1, 303, 304, 305, 306, 307, 308, 309,
969 -1, -1, 312, -1, -1, 315, 316, 317, -1, -1,
970 -1, -1, -1, 272, 273, 274, 275, -1, -1, 93,
971 279, -1, 272, 273, 274, 275, -1, 41, -1, 279,
972 44, 281, -1, -1, -1, -1, -1, 287, 288, 289,
973 290, 300, 301, -1, 58, 59, -1, -1, -1, 63,
974 300, 301, -1, 303, 304, 305, 306, 307, 308, 309,
975 -1, -1, 312, -1, -1, 315, 316, 317, 272, 273,
976 274, 275, -1, 41, -1, 279, 44, 281, -1, 93,
977 -1, -1, -1, 287, 288, 289, 290, -1, -1, -1,
978 58, 59, -1, -1, -1, 63, 300, 301, -1, 303,
979 304, 305, 306, 307, 308, 309, -1, -1, 312, -1,
980 -1, 315, 316, 317, -1, -1, -1, -1, -1, 41,
981 -1, -1, 44, -1, -1, 93, -1, -1, -1, -1,
982 -1, -1, -1, -1, -1, -1, 58, 59, -1, -1,
983 -1, 63, 41, -1, -1, 44, -1, 272, 273, 274,
984 275, -1, -1, -1, 279, -1, 281, -1, -1, 58,
985 59, -1, 287, 288, 289, 290, -1, -1, -1, -1,
986 -1, 93, -1, -1, -1, 300, 301, -1, 303, 304,
987 305, 306, 307, 308, 309, -1, -1, 312, -1, -1,
988 315, 316, 317, 41, 93, -1, 44, -1, 272, 273,
989 274, 275, 41, -1, -1, 279, -1, 281, -1, -1,
990 58, 59, -1, 287, 288, 289, 290, -1, -1, 58,
991 59, -1, -1, -1, 63, -1, 300, 301, -1, 303,
992 304, 305, 306, 307, 308, 309, -1, -1, 312, -1,
993 -1, 315, 316, 317, -1, 93, -1, -1, -1, -1,
994 -1, -1, -1, -1, 93, -1, -1, -1, 272, 273,
995 274, 275, 41, -1, -1, 279, -1, 281, -1, -1,
996 -1, -1, -1, 287, 288, 289, 290, -1, -1, 58,
997 59, -1, -1, -1, 63, -1, 300, 301, -1, 303,
998 304, 305, 306, 307, 308, 309, -1, -1, 312, -1,
999 -1, 315, 316, 317, 272, 273, 274, 275, 41, -1,
1000 -1, 279, -1, 281, 93, -1, -1, -1, -1, 287,
1001 288, 289, 290, -1, -1, 58, 59, -1, -1, -1,
1002 63, -1, 300, 301, -1, 303, 304, 305, 306, 307,
1003 308, 309, -1, -1, 312, -1, -1, 315, 316, 317,
ecca16b0 1004 272, 273, 274, 275, -1, -1, -1, 279, -1, 281,
09bef843
SB
1005 93, -1, -1, -1, -1, 287, 288, 289, 290, -1,
1006 -1, -1, -1, 272, 273, 274, 275, -1, 300, 301,
1007 279, 303, 304, 305, 306, 307, 308, 309, -1, 41,
1008 312, -1, 44, 315, 316, 317, -1, -1, -1, -1,
1009 -1, 300, 301, -1, 303, -1, 58, 59, -1, -1,
1010 -1, 63, -1, -1, -1, -1, -1, -1, -1, -1,
fad39ff1 1011 -1, -1, -1, -1, 272, 273, 274, 275, -1, -1,
09bef843
SB
1012 -1, 279, -1, 272, 273, 274, 275, -1, -1, -1,
1013 279, 93, 281, -1, -1, -1, -1, -1, 287, 288,
1014 289, 290, 300, 301, -1, -1, -1, -1, -1, -1,
1015 -1, 300, 301, -1, 303, 304, 305, 306, 307, 308,
1016 309, -1, -1, 312, -1, -1, 315, 316, 317, -1,
fad39ff1 1017 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
09bef843
SB
1018 -1, -1, -1, 272, 273, 274, 275, -1, -1, -1,
1019 279, 41, 281, -1, 44, -1, -1, -1, 287, 288,
1020 289, 290, -1, -1, -1, -1, -1, -1, 58, 59,
1021 -1, 300, 301, 63, 303, 304, 305, 306, 307, 308,
1022 309, -1, -1, 312, -1, -1, 315, 316, 317, 272,
1023 273, 274, 275, -1, 41, -1, 279, 44, 281, -1,
1024 -1, -1, -1, 93, 287, 288, 289, 290, -1, -1,
1025 -1, 58, 59, -1, -1, -1, 63, 300, 301, -1,
1026 303, 304, 305, 306, 307, 308, 309, 33, -1, 312,
1027 -1, -1, 315, 316, 317, 41, -1, -1, 41, 45,
1028 -1, 44, 48, -1, -1, 51, 93, -1, -1, 55,
1029 56, 57, 58, 59, -1, 58, 59, 63, 64, -1,
1030 63, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1031 272, 273, 274, 275, -1, -1, -1, 279, 41, 281,
1032 -1, 44, -1, -1, -1, 287, 288, 289, 290, -1,
1033 93, -1, 98, -1, -1, 58, 59, -1, 300, 301,
1034 63, 303, 304, 305, 306, 307, 308, 309, -1, -1,
1035 312, -1, -1, -1, -1, -1, 41, -1, -1, 44,
fad39ff1 1036 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
09bef843 1037 93, -1, -1, 58, 59, -1, -1, -1, 63, -1,
fad39ff1 1038 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
09bef843
SB
1039 -1, -1, -1, -1, 160, 161, 162, 163, 164, 165,
1040 166, 167, 168, 169, 170, 171, 172, 173, 93, -1,
b1524f17 1041 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
09bef843
SB
1042 -1, 187, 272, 273, 274, 275, -1, 41, -1, 279,
1043 44, 281, -1, -1, -1, -1, -1, 287, 288, 289,
1044 290, -1, -1, -1, 58, 59, -1, -1, -1, 63,
1045 300, 301, -1, 303, 304, 305, 306, 307, 308, 309,
1046 -1, -1, 312, -1, -1, 272, 273, 274, 275, -1,
1047 41, -1, 279, 44, 281, -1, -1, -1, -1, 93,
1048 287, 288, 289, 290, -1, -1, -1, 58, 59, -1,
1049 -1, -1, 63, 300, 301, -1, 303, 304, 305, 306,
1050 307, 308, 309, -1, -1, -1, 272, -1, -1, 272,
1051 273, 274, 275, -1, -1, -1, 279, 41, 281, -1,
1052 44, -1, 93, -1, 287, 288, 289, 290, -1, -1,
1053 -1, -1, -1, -1, 58, 59, -1, 300, 301, 305,
1054 303, 304, 305, 306, 307, 308, 309, -1, -1, 272,
1055 273, 274, 275, -1, 41, -1, 279, 44, 281, -1,
1056 -1, -1, -1, -1, 287, 288, 289, 290, -1, 93,
1057 -1, 58, 59, -1, -1, -1, 63, 300, 301, -1,
1058 303, 304, 305, 306, 307, 308, 309, 272, 273, 274,
1059 275, -1, 41, -1, 279, 44, 281, -1, -1, -1,
1060 -1, -1, 287, 288, 289, 290, 93, -1, -1, 58,
1061 59, -1, -1, -1, 63, 300, 301, -1, 303, 304,
1062 305, 306, 307, 308, 309, -1, -1, -1, -1, 41,
1063 -1, -1, 44, -1, -1, -1, -1, -1, -1, -1,
1064 -1, -1, -1, -1, 93, -1, 58, 59, -1, -1,
1065 -1, 63, -1, -1, -1, -1, -1, -1, 272, 273,
b1524f17 1066 274, 275, -1, -1, -1, 279, -1, 281, -1, -1,
09bef843
SB
1067 -1, -1, -1, 287, 288, 289, 290, 58, -1, -1,
1068 -1, 93, 63, -1, -1, -1, 300, 301, -1, 303,
1069 304, 305, 306, 307, 308, 309, -1, -1, -1, -1,
1070 -1, 272, 273, 274, 275, -1, 41, -1, 279, 44,
fad39ff1 1071 281, -1, -1, -1, -1, -1, 287, 288, 289, 290,
09bef843
SB
1072 -1, -1, -1, 58, 59, -1, -1, -1, 63, 300,
1073 301, -1, 303, 304, 305, 306, 307, 308, 309, -1,
1074 -1, -1, -1, 41, -1, -1, 44, -1, 272, 273,
1075 274, 275, -1, 41, -1, 279, 44, -1, 93, -1,
1076 58, 59, -1, -1, -1, 63, -1, -1, -1, -1,
1077 58, 59, -1, -1, -1, 63, 300, 301, -1, -1,
1078 -1, -1, -1, -1, -1, 272, 273, 274, 275, -1,
1079 41, -1, 279, 44, 281, 93, -1, -1, -1, -1,
1080 287, 288, 289, 290, -1, 93, -1, 58, 59, -1,
1081 -1, -1, 63, 300, 301, -1, 303, 304, 305, 306,
1082 307, 308, 309, 272, 273, 274, 275, -1, 41, -1,
1083 279, 44, 281, -1, -1, -1, -1, -1, 287, 288,
1084 289, 290, 93, -1, -1, 58, 59, -1, -1, -1,
1085 63, 300, 301, -1, 303, 304, 305, 306, 307, 308,
1086 272, 273, 274, 275, -1, 41, -1, 279, 44, 281,
1087 -1, -1, -1, -1, -1, 287, 288, -1, 290, -1,
1088 93, 41, 58, 59, 44, -1, -1, 63, 300, 301,
1089 -1, 303, 304, 305, 306, 307, 308, -1, 58, 59,
1090 281, -1, -1, 63, -1, -1, 287, 288, 289, 290,
1091 -1, -1, -1, -1, -1, -1, -1, 93, -1, -1,
1092 -1, -1, 303, 304, 305, 306, 307, 308, 309, -1,
1093 -1, 312, -1, 93, 315, 316, 317, 272, 273, 274,
1094 275, -1, 41, -1, 279, 44, 281, -1, -1, -1,
1095 -1, -1, 287, 288, -1, -1, -1, -1, -1, 58,
1096 59, -1, -1, -1, 63, 300, 301, -1, 303, 304,
1097 305, 306, 307, -1, 272, 273, 274, 275, -1, 41,
1098 -1, 279, 44, 281, 272, 273, 274, 275, -1, 287,
1099 288, 279, -1, 281, 93, -1, 58, 59, -1, 287,
1100 288, 63, 300, 301, -1, 303, 304, 305, 306, 307,
1101 -1, -1, 300, 301, -1, 303, 304, 305, 306, 307,
1102 -1, 272, 273, 274, 275, -1, -1, -1, 279, -1,
1103 281, 93, -1, -1, -1, -1, 287, 288, -1, -1,
1104 -1, -1, -1, -1, -1, -1, -1, -1, -1, 300,
1105 301, -1, 303, 304, 305, 306, 307, -1, -1, 272,
fad39ff1 1106 273, 274, 275, -1, -1, -1, 279, -1, 281, -1,
09bef843
SB
1107 -1, -1, -1, -1, -1, 288, -1, -1, -1, -1,
1108 -1, -1, -1, -1, -1, -1, -1, 300, 301, -1,
1109 303, 304, 305, 306, 307, -1, 272, 273, 274, 275,
1110 -1, -1, -1, 279, -1, 281, -1, -1, -1, -1,
1111 -1, -1, 272, 273, 274, 275, -1, -1, -1, 279,
1112 -1, 281, -1, -1, 300, 301, -1, 303, 304, 305,
1113 306, 307, -1, -1, -1, -1, -1, -1, -1, -1,
1114 300, 301, -1, 303, 304, 305, 306, -1, -1, -1,
bbce6d69 1115 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1116 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
09bef843
SB
1117 -1, -1, -1, 272, 273, 274, 275, -1, -1, -1,
1118 279, -1, 281, -1, -1, -1, -1, -1, -1, -1,
28757baa 1119 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
09bef843
SB
1120 -1, 300, 301, -1, 303, 304, 305, -1, -1, -1,
1121 272, 273, 274, 275, -1, -1, -1, 279, -1, 281,
28757baa 1122 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
09bef843
SB
1123 -1, -1, -1, -1, -1, -1, -1, -1, 300, 301,
1124 -1, 303, 304,
93a17b20
LW
1125};
1126#define YYFINAL 1
79072805 1127#ifndef YYDEBUG
93a17b20 1128#define YYDEBUG 0
79072805 1129#endif
09bef843 1130#define YYMAXTOKEN 317
79072805 1131#if YYDEBUG
22c35a8c 1132static char *yyname[] = {
93a17b20
LW
1133"end-of-file",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1134"'!'",0,0,"'$'","'%'","'&'",0,"'('","')'","'*'","'+'","','","'-'",0,0,0,0,0,0,0,
a0d0e21e
LW
11350,0,0,0,0,"':'","';'",0,0,0,"'?'","'@'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
11360,0,0,0,0,0,"'['",0,"']'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
11370,0,"'{'",0,"'}'","'~'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
93a17b20
LW
11380,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
11390,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
a0d0e21e 11400,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"WORD","METHOD","FUNCMETH","THING",
4633a7c4
LW
1141"PMFUNC","PRIVATEREF","FUNC0SUB","UNIOPSUB","LSTOPSUB","LABEL","FORMAT","SUB",
1142"ANONSUB","PACKAGE","USE","WHILE","UNTIL","IF","UNLESS","ELSE","ELSIF",
36477c24 1143"CONTINUE","FOR","LOOPEX","DOTDOT","FUNC0","FUNC1","FUNC","UNIOP","LSTOP",
1144"RELOP","EQOP","MULOP","ADDOP","DOLSHARP","DO","HASHBRACK","NOAMP","LOCAL","MY",
09bef843
SB
1145"MYSUB","COLONATTR","PREC_LOW","OROP","ANDOP","NOTOP","ASSIGNOP","OROR",
1146"ANDAND","BITOROP","BITANDOP","SHIFTOP","MATCHOP","UMINUS","REFGEN","POWOP",
1147"PREINC","PREDEC","POSTINC","POSTDEC","ARROW",
79072805 1148};
22c35a8c 1149static char *yyrule[] = {
93a17b20
LW
1150"$accept : prog",
1151"$$1 :",
1152"prog : $$1 lineseq",
1153"block : '{' remember lineseq '}'",
1154"remember :",
bbce6d69 1155"mblock : '{' mremember lineseq '}'",
55497cff 1156"mremember :",
93a17b20
LW
1157"lineseq :",
1158"lineseq : lineseq decl",
1159"lineseq : lineseq line",
1160"line : label cond",
1161"line : loop",
1162"line : label ';'",
1163"line : label sideff ';'",
1164"sideff : error",
1165"sideff : expr",
1166"sideff : expr IF expr",
1167"sideff : expr UNLESS expr",
1168"sideff : expr WHILE expr",
55497cff 1169"sideff : expr UNTIL iexpr",
ecca16b0 1170"sideff : expr FOR expr",
93a17b20 1171"else :",
55497cff 1172"else : ELSE mblock",
1173"else : ELSIF '(' mexpr ')' mblock else",
1174"cond : IF '(' remember mexpr ')' mblock else",
1175"cond : UNLESS '(' remember miexpr ')' mblock else",
93a17b20
LW
1176"cont :",
1177"cont : CONTINUE block",
55497cff 1178"loop : label WHILE '(' remember mtexpr ')' mblock cont",
1179"loop : label UNTIL '(' remember miexpr ')' mblock cont",
bbce6d69 1180"loop : label FOR MY remember my_scalar '(' mexpr ')' mblock cont",
1181"loop : label FOR scalar '(' remember mexpr ')' mblock cont",
1182"loop : label FOR '(' remember mexpr ')' mblock cont",
1183"loop : label FOR '(' remember mnexpr ';' mtexpr ';' mnexpr ')' mblock",
93a17b20
LW
1184"loop : label block cont",
1185"nexpr :",
1186"nexpr : sideff",
1187"texpr :",
1188"texpr : expr",
55497cff 1189"iexpr : expr",
1190"mexpr : expr",
bbce6d69 1191"mnexpr : nexpr",
55497cff 1192"mtexpr : texpr",
1193"miexpr : iexpr",
93a17b20
LW
1194"label :",
1195"label : LABEL",
1196"decl : format",
1197"decl : subrout",
09bef843 1198"decl : mysubrout",
93a17b20 1199"decl : package",
a0d0e21e 1200"decl : use",
44a8e56a 1201"format : FORMAT startformsub formname block",
1202"formname : WORD",
1203"formname :",
09bef843
SB
1204"mysubrout : MYSUB startsub subname proto subattrlist subbody",
1205"subrout : SUB startsub subname proto subattrlist subbody",
28757baa 1206"startsub :",
1207"startanonsub :",
44a8e56a 1208"startformsub :",
28757baa 1209"subname : WORD",
4633a7c4
LW
1210"proto :",
1211"proto : THING",
09bef843
SB
1212"subattrlist :",
1213"subattrlist : COLONATTR THING",
1214"subattrlist : COLONATTR",
1215"myattrlist : COLONATTR THING",
1216"myattrlist : COLONATTR",
28757baa 1217"subbody : block",
1218"subbody : ';'",
93a17b20
LW
1219"package : PACKAGE WORD ';'",
1220"package : PACKAGE ';'",
28757baa 1221"$$2 :",
1222"use : USE startsub $$2 WORD WORD listexpr ';'",
a0d0e21e
LW
1223"expr : expr ANDOP expr",
1224"expr : expr OROP expr",
a0d0e21e
LW
1225"expr : argexpr",
1226"argexpr : argexpr ','",
1227"argexpr : argexpr ',' term",
1228"argexpr : term",
1229"listop : LSTOP indirob argexpr",
1230"listop : FUNC '(' indirob expr ')'",
1231"listop : term ARROW method '(' listexprcom ')'",
b1524f17 1232"listop : term ARROW method",
93a17b20 1233"listop : METHOD indirob listexpr",
a0d0e21e 1234"listop : FUNCMETH indirob '(' listexprcom ')'",
93a17b20 1235"listop : LSTOP listexpr",
a0d0e21e 1236"listop : FUNC '(' listexprcom ')'",
28757baa 1237"$$3 :",
1238"listop : LSTOPSUB startanonsub block $$3 listexpr",
a0d0e21e
LW
1239"method : METHOD",
1240"method : scalar",
fad39ff1
SM
1241"subscripted : star '{' expr ';' '}'",
1242"subscripted : scalar '[' expr ']'",
1243"subscripted : term ARROW '[' expr ']'",
1244"subscripted : subscripted '[' expr ']'",
1245"subscripted : scalar '{' expr ';' '}'",
1246"subscripted : term ARROW '{' expr ';' '}'",
1247"subscripted : subscripted '{' expr ';' '}'",
1248"subscripted : term ARROW '(' ')'",
1249"subscripted : term ARROW '(' expr ')'",
1250"subscripted : subscripted '(' expr ')'",
1251"subscripted : subscripted '(' ')'",
a0d0e21e
LW
1252"term : term ASSIGNOP term",
1253"term : term POWOP term",
1254"term : term MULOP term",
1255"term : term ADDOP term",
1256"term : term SHIFTOP term",
1257"term : term RELOP term",
1258"term : term EQOP term",
1259"term : term BITANDOP term",
1260"term : term BITOROP term",
1261"term : term DOTDOT term",
1262"term : term ANDAND term",
1263"term : term OROR term",
1264"term : term '?' term ':' term",
1265"term : term MATCHOP term",
93a17b20
LW
1266"term : '-' term",
1267"term : '+' term",
1268"term : '!' term",
1269"term : '~' term",
1270"term : REFGEN term",
1271"term : term POSTINC",
1272"term : term POSTDEC",
1273"term : PREINC term",
1274"term : PREDEC term",
09bef843
SB
1275"term : myattrterm",
1276"term : LOCAL term",
a0d0e21e 1277"term : '(' expr ')'",
93a17b20 1278"term : '(' ')'",
a0d0e21e 1279"term : '[' expr ']'",
93a17b20 1280"term : '[' ']'",
a0d0e21e 1281"term : HASHBRACK expr ';' '}'",
93a17b20 1282"term : HASHBRACK ';' '}'",
09bef843 1283"term : ANONSUB startanonsub proto subattrlist block",
93a17b20
LW
1284"term : scalar",
1285"term : star",
93a17b20
LW
1286"term : hsh",
1287"term : ary",
1288"term : arylen",
fad39ff1 1289"term : subscripted",
a0d0e21e 1290"term : '(' expr ')' '[' expr ']'",
93a17b20
LW
1291"term : '(' ')' '[' expr ']'",
1292"term : ary '[' expr ']'",
1293"term : ary '{' expr ';' '}'",
93a17b20
LW
1294"term : THING",
1295"term : amper",
1296"term : amper '(' ')'",
a0d0e21e 1297"term : amper '(' expr ')'",
93a17b20 1298"term : NOAMP WORD listexpr",
a0d0e21e 1299"term : DO term",
93a17b20
LW
1300"term : DO block",
1301"term : DO WORD '(' ')'",
a0d0e21e 1302"term : DO WORD '(' expr ')'",
93a17b20 1303"term : DO scalar '(' ')'",
a0d0e21e 1304"term : DO scalar '(' expr ')'",
93a17b20 1305"term : LOOPEX",
a0d0e21e 1306"term : LOOPEX term",
c07a80fd 1307"term : NOTOP argexpr",
93a17b20
LW
1308"term : UNIOP",
1309"term : UNIOP block",
a0d0e21e 1310"term : UNIOP term",
4633a7c4 1311"term : UNIOPSUB term",
93a17b20
LW
1312"term : FUNC0",
1313"term : FUNC0 '(' ')'",
4633a7c4 1314"term : FUNC0SUB",
93a17b20
LW
1315"term : FUNC1 '(' ')'",
1316"term : FUNC1 '(' expr ')'",
a0d0e21e
LW
1317"term : PMFUNC '(' term ')'",
1318"term : PMFUNC '(' term ',' term ')'",
93a17b20
LW
1319"term : WORD",
1320"term : listop",
09bef843
SB
1321"myattrterm : MY myterm myattrlist",
1322"myattrterm : MY myterm",
1323"myterm : '(' expr ')'",
1324"myterm : '(' ')'",
1325"myterm : scalar",
1326"myterm : hsh",
1327"myterm : ary",
93a17b20 1328"listexpr :",
a0d0e21e
LW
1329"listexpr : argexpr",
1330"listexprcom :",
1331"listexprcom : expr",
1332"listexprcom : expr ','",
55497cff 1333"my_scalar : scalar",
93a17b20
LW
1334"amper : '&' indirob",
1335"scalar : '$' indirob",
1336"ary : '@' indirob",
1337"hsh : '%' indirob",
1338"arylen : DOLSHARP indirob",
1339"star : '*' indirob",
1340"indirob : WORD",
1341"indirob : scalar",
1342"indirob : block",
1343"indirob : PRIVATEREF",
79072805 1344};
79072805 1345#endif
93a17b20
LW
1346#define yyclearin (yychar=(-1))
1347#define yyerrok (yyerrflag=0)
1348#ifdef YYSTACKSIZE
1349#ifndef YYMAXDEPTH
1350#define YYMAXDEPTH YYSTACKSIZE
1351#endif
1352#else
1353#ifdef YYMAXDEPTH
1354#define YYSTACKSIZE YYMAXDEPTH
1355#else
1356#define YYSTACKSIZE 500
1357#define YYMAXDEPTH 500
1358#endif
1359#endif
09bef843 1360#line 726 "perly.y"
93a17b20 1361 /* PROGRAM */
09bef843
SB
1362
1363/* more stuff added to make perly_c.diff easier to apply */
1364
1365#ifdef yyparse
1366#undef yyparse
1367#endif
1368#define yyparse() Perl_yyparse(pTHX)
1369
1370#line 1371 "perly.c"
93a17b20
LW
1371#define YYABORT goto yyabort
1372#define YYACCEPT goto yyaccept
1373#define YYERROR goto yyerrlab
79072805 1374int
09bef843 1375yyparse()
79072805 1376{
93a17b20
LW
1377 register int yym, yyn, yystate;
1378 register short *yyssp;
1379 register YYSTYPE *yyvsp;
1380 short* yyss;
1381 YYSTYPE* yyvs;
1382 unsigned yystacksize = YYSTACKSIZE;
93a17b20 1383 int retval = 0;
93a17b20
LW
1384#if YYDEBUG
1385 register char *yys;
f0f333f4 1386#endif
a0d0e21e 1387
8c52afec 1388 struct ysv *ysave;
f4dd75d9
GS
1389#ifdef USE_ITHREADS
1390 ENTER; /* force yydestruct() before we return */
1391#endif
8c52afec 1392 New(73, ysave, 1, struct ysv);
e1f15930 1393 SAVEDESTRUCTOR_X(yydestruct, ysave);
a0d0e21e
LW
1394 ysave->oldyydebug = yydebug;
1395 ysave->oldyynerrs = yynerrs;
1396 ysave->oldyyerrflag = yyerrflag;
1397 ysave->oldyychar = yychar;
1398 ysave->oldyyval = yyval;
1399 ysave->oldyylval = yylval;
09bef843 1400
a0d0e21e 1401#if YYDEBUG
93a17b20
LW
1402 if (yys = getenv("YYDEBUG"))
1403 {
1404 yyn = *yys;
1405 if (yyn >= '0' && yyn <= '9')
1406 yydebug = yyn - '0';
1407 }
1408#endif
79072805 1409
93a17b20
LW
1410 yynerrs = 0;
1411 yyerrflag = 0;
1412 yychar = (-1);
79072805 1413
93a17b20
LW
1414 /*
1415 ** Initialize private stacks (yyparse may be called from an action)
1416 */
8c52afec
IZ
1417 New(73, yyss, yystacksize, short);
1418 New(73, yyvs, yystacksize, YYSTYPE);
1419 ysave->yyss = yyss;
1420 ysave->yyvs = yyvs;
93a17b20
LW
1421 if (!yyvs || !yyss)
1422 goto yyoverflow;
79072805 1423
93a17b20
LW
1424 yyssp = yyss;
1425 yyvsp = yyvs;
1426 *yyssp = yystate = 0;
79072805 1427
93a17b20
LW
1428yyloop:
1429 if (yyn = yydefred[yystate]) goto yyreduce;
1430 if (yychar < 0)
1431 {
1432 if ((yychar = yylex()) < 0) yychar = 0;
79072805 1433#if YYDEBUG
93a17b20
LW
1434 if (yydebug)
1435 {
1436 yys = 0;
1437 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1438 if (!yys) yys = "illegal-symbol";
09bef843 1439 PerlIO_printf(Perl_debug_log, "yydebug: state %d, reading %d (%s)\n", yystate,
93a17b20
LW
1440 yychar, yys);
1441 }
79072805 1442#endif
93a17b20
LW
1443 }
1444 if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
1445 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1446 {
79072805 1447#if YYDEBUG
93a17b20 1448 if (yydebug)
ac4c12e7 1449 PerlIO_printf(Perl_debug_log, "yydebug: state %d, shifting to state %d\n",
93a17b20 1450 yystate, yytable[yyn]);
79072805 1451#endif
93a17b20
LW
1452 if (yyssp >= yyss + yystacksize - 1)
1453 {
1454 /*
1455 ** reallocate and recover. Note that pointers
1456 ** have to be reset, or bad things will happen
1457 */
1458 int yyps_index = (yyssp - yyss);
1459 int yypv_index = (yyvsp - yyvs);
1460 yystacksize += YYSTACKSIZE;
09bef843
SB
1461 ysave->yyvs = Renew(yyvs, yystacksize, YYSTYPE);
1462 ysave->yyss = Renew(yyss, yystacksize, short);
93a17b20
LW
1463 if (!yyvs || !yyss)
1464 goto yyoverflow;
1465 yyssp = yyss + yyps_index;
1466 yyvsp = yyvs + yypv_index;
1467 }
1468 *++yyssp = yystate = yytable[yyn];
1469 *++yyvsp = yylval;
1470 yychar = (-1);
1471 if (yyerrflag > 0) --yyerrflag;
1472 goto yyloop;
1473 }
1474 if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
1475 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1476 {
1477 yyn = yytable[yyn];
1478 goto yyreduce;
1479 }
1480 if (yyerrflag) goto yyinrecovery;
1481#ifdef lint
1482 goto yynewerror;
1483#endif
1484yynewerror:
1485 yyerror("syntax error");
1486#ifdef lint
1487 goto yyerrlab;
1488#endif
1489yyerrlab:
1490 ++yynerrs;
1491yyinrecovery:
1492 if (yyerrflag < 3)
1493 {
1494 yyerrflag = 3;
1495 for (;;)
1496 {
1497 if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 &&
1498 yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
1499 {
79072805 1500#if YYDEBUG
93a17b20 1501 if (yydebug)
ac4c12e7 1502 PerlIO_printf(Perl_debug_log,
09bef843
SB
1503 "yydebug: state %d, error recovery shifting to state %d\n",
1504 *yyssp, yytable[yyn]);
93a17b20
LW
1505#endif
1506 if (yyssp >= yyss + yystacksize - 1)
1507 {
1508 /*
1509 ** reallocate and recover. Note that pointers
1510 ** have to be reset, or bad things will happen
1511 */
1512 int yyps_index = (yyssp - yyss);
1513 int yypv_index = (yyvsp - yyvs);
1514 yystacksize += YYSTACKSIZE;
09bef843
SB
1515 ysave->yyvs = Renew(yyvs, yystacksize, YYSTYPE);
1516 ysave->yyss = Renew(yyss, yystacksize, short);
93a17b20
LW
1517 if (!yyvs || !yyss)
1518 goto yyoverflow;
1519 yyssp = yyss + yyps_index;
1520 yyvsp = yyvs + yypv_index;
1521 }
1522 *++yyssp = yystate = yytable[yyn];
1523 *++yyvsp = yylval;
1524 goto yyloop;
1525 }
1526 else
1527 {
79072805 1528#if YYDEBUG
93a17b20 1529 if (yydebug)
09bef843
SB
1530 PerlIO_printf(Perl_debug_log, "yydebug: error recovery discarding state %d\n",
1531 *yyssp);
79072805 1532#endif
93a17b20
LW
1533 if (yyssp <= yyss) goto yyabort;
1534 --yyssp;
1535 --yyvsp;
1536 }
1537 }
1538 }
1539 else
1540 {
1541 if (yychar == 0) goto yyabort;
79072805 1542#if YYDEBUG
93a17b20
LW
1543 if (yydebug)
1544 {
1545 yys = 0;
1546 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1547 if (!yys) yys = "illegal-symbol";
09bef843
SB
1548 PerlIO_printf(Perl_debug_log, "yydebug: state %d, error recovery discards token %d (%s)\n",
1549 yystate, yychar, yys);
93a17b20
LW
1550 }
1551#endif
1552 yychar = (-1);
1553 goto yyloop;
1554 }
1555yyreduce:
79072805 1556#if YYDEBUG
93a17b20 1557 if (yydebug)
ac4c12e7 1558 PerlIO_printf(Perl_debug_log, "yydebug: state %d, reducing by rule %d (%s)\n",
93a17b20 1559 yystate, yyn, yyrule[yyn]);
79072805 1560#endif
93a17b20
LW
1561 yym = yylen[yyn];
1562 yyval = yyvsp[1-yym];
1563 switch (yyn)
1564 {
79072805 1565case 1:
09bef843 1566#line 125 "perly.y"
79072805
LW
1567{
1568#if defined(YYDEBUG) && defined(DEBUGGING)
3280af22 1569 yydebug = (PL_debug & 1);
79072805 1570#endif
3280af22 1571 PL_expect = XSTATE;
93a17b20
LW
1572 }
1573break;
79072805 1574case 2:
09bef843 1575#line 132 "perly.y"
a0d0e21e 1576{ newPROG(yyvsp[0].opval); }
93a17b20 1577break;
79072805 1578case 3:
09bef843 1579#line 136 "perly.y"
3280af22
NIS
1580{ if (PL_copline > (line_t)yyvsp[-3].ival)
1581 PL_copline = yyvsp[-3].ival;
36477c24 1582 yyval.opval = block_end(yyvsp[-2].ival, yyvsp[-1].opval); }
93a17b20 1583break;
79072805 1584case 4:
09bef843 1585#line 142 "perly.y"
55497cff 1586{ yyval.ival = block_start(TRUE); }
93a17b20 1587break;
79072805 1588case 5:
09bef843 1589#line 146 "perly.y"
3280af22
NIS
1590{ if (PL_copline > (line_t)yyvsp[-3].ival)
1591 PL_copline = yyvsp[-3].ival;
36477c24 1592 yyval.opval = block_end(yyvsp[-2].ival, yyvsp[-1].opval); }
93a17b20 1593break;
79072805 1594case 6:
09bef843 1595#line 152 "perly.y"
55497cff 1596{ yyval.ival = block_start(FALSE); }
1597break;
bbce6d69 1598case 7:
09bef843 1599#line 156 "perly.y"
55497cff 1600{ yyval.opval = Nullop; }
1601break;
bbce6d69 1602case 8:
09bef843 1603#line 158 "perly.y"
55497cff 1604{ yyval.opval = yyvsp[-1].opval; }
1605break;
bbce6d69 1606case 9:
09bef843 1607#line 160 "perly.y"
463ee0b2 1608{ yyval.opval = append_list(OP_LINESEQ,
a0d0e21e 1609 (LISTOP*)yyvsp[-1].opval, (LISTOP*)yyvsp[0].opval);
3280af22
NIS
1610 PL_pad_reset_pending = TRUE;
1611 if (yyvsp[-1].opval && yyvsp[0].opval) PL_hints |= HINT_BLOCK_SCOPE; }
93a17b20 1612break;
bbce6d69 1613case 10:
09bef843 1614#line 167 "perly.y"
93a17b20
LW
1615{ yyval.opval = newSTATEOP(0, yyvsp[-1].pval, yyvsp[0].opval); }
1616break;
bbce6d69 1617case 12:
09bef843 1618#line 170 "perly.y"
93a17b20
LW
1619{ if (yyvsp[-1].pval != Nullch) {
1620 yyval.opval = newSTATEOP(0, yyvsp[-1].pval, newOP(OP_NULL, 0));
79072805
LW
1621 }
1622 else {
1623 yyval.opval = Nullop;
3280af22 1624 PL_copline = NOLINE;
79072805 1625 }
3280af22 1626 PL_expect = XSTATE; }
93a17b20 1627break;
bbce6d69 1628case 13:
09bef843 1629#line 179 "perly.y"
93a17b20 1630{ yyval.opval = newSTATEOP(0, yyvsp[-2].pval, yyvsp[-1].opval);
3280af22 1631 PL_expect = XSTATE; }
93a17b20 1632break;
bbce6d69 1633case 14:
09bef843 1634#line 184 "perly.y"
93a17b20
LW
1635{ yyval.opval = Nullop; }
1636break;
bbce6d69 1637case 15:
09bef843 1638#line 186 "perly.y"
93a17b20
LW
1639{ yyval.opval = yyvsp[0].opval; }
1640break;
bbce6d69 1641case 16:
09bef843 1642#line 188 "perly.y"
93a17b20
LW
1643{ yyval.opval = newLOGOP(OP_AND, 0, yyvsp[0].opval, yyvsp[-2].opval); }
1644break;
bbce6d69 1645case 17:
09bef843 1646#line 190 "perly.y"
93a17b20
LW
1647{ yyval.opval = newLOGOP(OP_OR, 0, yyvsp[0].opval, yyvsp[-2].opval); }
1648break;
bbce6d69 1649case 18:
09bef843 1650#line 192 "perly.y"
8990e307 1651{ yyval.opval = newLOOPOP(OPf_PARENS, 1, scalar(yyvsp[0].opval), yyvsp[-2].opval); }
93a17b20 1652break;
bbce6d69 1653case 19:
09bef843 1654#line 194 "perly.y"
55497cff 1655{ yyval.opval = newLOOPOP(OPf_PARENS, 1, yyvsp[0].opval, yyvsp[-2].opval);}
93a17b20 1656break;
bbce6d69 1657case 20:
09bef843 1658#line 196 "perly.y"
ecca16b0
CS
1659{ yyval.opval = newFOROP(0, Nullch, yyvsp[-1].ival,
1660 Nullop, yyvsp[0].opval, yyvsp[-2].opval, Nullop); }
93a17b20 1661break;
bbce6d69 1662case 21:
09bef843 1663#line 201 "perly.y"
ecca16b0 1664{ yyval.opval = Nullop; }
93a17b20 1665break;
bbce6d69 1666case 22:
09bef843 1667#line 203 "perly.y"
38a230cb 1668{ (yyvsp[0].opval)->op_flags |= OPf_PARENS; yyval.opval = scope(yyvsp[0].opval); }
ecca16b0
CS
1669break;
1670case 23:
09bef843 1671#line 205 "perly.y"
3280af22 1672{ PL_copline = yyvsp[-5].ival;
2c15bef3 1673 yyval.opval = newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval);
3280af22 1674 PL_hints |= HINT_BLOCK_SCOPE; }
93a17b20 1675break;
ecca16b0 1676case 24:
09bef843 1677#line 211 "perly.y"
3280af22 1678{ PL_copline = yyvsp[-6].ival;
36477c24 1679 yyval.opval = block_end(yyvsp[-4].ival,
bbce6d69 1680 newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval)); }
93a17b20 1681break;
ecca16b0 1682case 25:
09bef843 1683#line 215 "perly.y"
3280af22 1684{ PL_copline = yyvsp[-6].ival;
36477c24 1685 yyval.opval = block_end(yyvsp[-4].ival,
bbce6d69 1686 newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval)); }
93a17b20 1687break;
ecca16b0 1688case 26:
09bef843 1689#line 221 "perly.y"
71be2cbc 1690{ yyval.opval = Nullop; }
93a17b20 1691break;
ecca16b0 1692case 27:
09bef843 1693#line 223 "perly.y"
93a17b20
LW
1694{ yyval.opval = scope(yyvsp[0].opval); }
1695break;
ecca16b0 1696case 28:
09bef843 1697#line 227 "perly.y"
3280af22 1698{ PL_copline = yyvsp[-6].ival;
36477c24 1699 yyval.opval = block_end(yyvsp[-4].ival,
55497cff 1700 newSTATEOP(0, yyvsp[-7].pval,
bbce6d69 1701 newWHILEOP(0, 1, (LOOP*)Nullop,
fb73857a 1702 yyvsp[-6].ival, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval))); }
93a17b20 1703break;
ecca16b0 1704case 29:
09bef843 1705#line 233 "perly.y"
3280af22 1706{ PL_copline = yyvsp[-6].ival;
36477c24 1707 yyval.opval = block_end(yyvsp[-4].ival,
55497cff 1708 newSTATEOP(0, yyvsp[-7].pval,
bbce6d69 1709 newWHILEOP(0, 1, (LOOP*)Nullop,
fb73857a 1710 yyvsp[-6].ival, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval))); }
bbce6d69 1711break;
ecca16b0 1712case 30:
09bef843 1713#line 239 "perly.y"
36477c24 1714{ yyval.opval = block_end(yyvsp[-6].ival,
bbce6d69 1715 newFOROP(0, yyvsp[-9].pval, yyvsp[-8].ival, yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
93a17b20 1716break;
ecca16b0 1717case 31:
09bef843 1718#line 242 "perly.y"
36477c24 1719{ yyval.opval = block_end(yyvsp[-4].ival,
bbce6d69 1720 newFOROP(0, yyvsp[-8].pval, yyvsp[-7].ival, mod(yyvsp[-6].opval, OP_ENTERLOOP),
1721 yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
55497cff 1722break;
ecca16b0 1723case 32:
09bef843 1724#line 246 "perly.y"
36477c24 1725{ yyval.opval = block_end(yyvsp[-4].ival,
55497cff 1726 newFOROP(0, yyvsp[-7].pval, yyvsp[-6].ival, Nullop, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
93a17b20 1727break;
ecca16b0 1728case 33:
09bef843 1729#line 250 "perly.y"
fb73857a 1730{ OP *forop = append_elem(OP_LINESEQ,
1731 scalar(yyvsp[-6].opval),
1732 newWHILEOP(0, 1, (LOOP*)Nullop,
1733 yyvsp[-9].ival, scalar(yyvsp[-4].opval),
1734 yyvsp[0].opval, scalar(yyvsp[-2].opval)));
3280af22 1735 PL_copline = yyvsp[-9].ival;
fb73857a 1736 yyval.opval = block_end(yyvsp[-7].ival, newSTATEOP(0, yyvsp[-10].pval, forop)); }
55497cff 1737break;
ecca16b0 1738case 34:
09bef843 1739#line 258 "perly.y"
fb73857a 1740{ yyval.opval = newSTATEOP(0, yyvsp[-2].pval,
1741 newWHILEOP(0, 1, (LOOP*)Nullop,
1742 NOLINE, Nullop, yyvsp[-1].opval, yyvsp[0].opval)); }
93a17b20 1743break;
ecca16b0 1744case 35:
09bef843 1745#line 264 "perly.y"
93a17b20
LW
1746{ yyval.opval = Nullop; }
1747break;
ecca16b0 1748case 37:
09bef843 1749#line 269 "perly.y"
b73d6f50 1750{ (void)scan_num("1", &yylval); yyval.opval = yylval.opval; }
93a17b20 1751break;
71be2cbc 1752case 39:
09bef843 1753#line 274 "perly.y"
ecca16b0 1754{ yyval.opval = invert(scalar(yyvsp[0].opval)); }
bbce6d69 1755break;
71be2cbc 1756case 40:
09bef843 1757#line 278 "perly.y"
bbce6d69 1758{ yyval.opval = yyvsp[0].opval; intro_my(); }
1759break;
71be2cbc 1760case 41:
09bef843 1761#line 282 "perly.y"
bbce6d69 1762{ yyval.opval = yyvsp[0].opval; intro_my(); }
1763break;
71be2cbc 1764case 42:
09bef843 1765#line 286 "perly.y"
bbce6d69 1766{ yyval.opval = yyvsp[0].opval; intro_my(); }
55497cff 1767break;
71be2cbc 1768case 43:
09bef843 1769#line 290 "perly.y"
ecca16b0 1770{ yyval.opval = yyvsp[0].opval; intro_my(); }
55497cff 1771break;
ecca16b0 1772case 44:
09bef843 1773#line 294 "perly.y"
ecca16b0 1774{ yyval.pval = Nullch; }
bbce6d69 1775break;
71be2cbc 1776case 46:
09bef843 1777#line 299 "perly.y"
bbce6d69 1778{ yyval.ival = 0; }
93a17b20 1779break;
71be2cbc 1780case 47:
09bef843 1781#line 301 "perly.y"
93a17b20
LW
1782{ yyval.ival = 0; }
1783break;
71be2cbc 1784case 48:
09bef843 1785#line 303 "perly.y"
93a17b20
LW
1786{ yyval.ival = 0; }
1787break;
71be2cbc 1788case 49:
09bef843 1789#line 305 "perly.y"
ecca16b0 1790{ yyval.ival = 0; }
93a17b20 1791break;
71be2cbc 1792case 50:
09bef843
SB
1793#line 307 "perly.y"
1794{ yyval.ival = 0; }
93a17b20 1795break;
71be2cbc 1796case 51:
09bef843
SB
1797#line 311 "perly.y"
1798{ newFORM(yyvsp[-2].ival, yyvsp[-1].opval, yyvsp[0].opval); }
93a17b20 1799break;
71be2cbc 1800case 52:
09bef843
SB
1801#line 314 "perly.y"
1802{ yyval.opval = yyvsp[0].opval; }
93a17b20 1803break;
71be2cbc 1804case 53:
09bef843
SB
1805#line 315 "perly.y"
1806{ yyval.opval = Nullop; }
44a8e56a 1807break;
1808case 54:
09bef843
SB
1809#line 319 "perly.y"
1810{ newMYSUB(yyvsp[-4].ival, yyvsp[-3].opval, yyvsp[-2].opval, yyvsp[-1].opval, yyvsp[0].opval); }
4633a7c4 1811break;
44a8e56a 1812case 55:
09bef843
SB
1813#line 323 "perly.y"
1814{ newATTRSUB(yyvsp[-4].ival, yyvsp[-3].opval, yyvsp[-2].opval, yyvsp[-1].opval, yyvsp[0].opval); }
44a8e56a 1815break;
1816case 56:
09bef843
SB
1817#line 327 "perly.y"
1818{ yyval.ival = start_subparse(FALSE, 0); }
ecca16b0
CS
1819break;
1820case 57:
09bef843
SB
1821#line 331 "perly.y"
1822{ yyval.ival = start_subparse(FALSE, CVf_ANON); }
1823break;
1824case 58:
1825#line 335 "perly.y"
1826{ yyval.ival = start_subparse(TRUE, 0); }
1827break;
1828case 59:
1829#line 338 "perly.y"
b1524f17 1830{ STRLEN n_a; char *name = SvPV(((SVOP*)yyvsp[0].opval)->op_sv,n_a);
e858de61 1831 if (strEQ(name, "BEGIN") || strEQ(name, "END")
7d30b5c4 1832 || strEQ(name, "INIT") || strEQ(name, "CHECK"))
1aff0e91 1833 CvSPECIAL_on(PL_compcv);
28757baa 1834 yyval.opval = yyvsp[0].opval; }
93a17b20 1835break;
09bef843
SB
1836case 60:
1837#line 346 "perly.y"
28757baa 1838{ yyval.opval = Nullop; }
85e6fe83 1839break;
09bef843
SB
1840case 62:
1841#line 351 "perly.y"
1842{ yyval.opval = Nullop; }
1843break;
1844case 63:
1845#line 353 "perly.y"
1846{ yyval.opval = yyvsp[0].opval; }
1847break;
1848case 64:
1849#line 355 "perly.y"
1850{ yyval.opval = Nullop; }
1851break;
1852case 65:
1853#line 359 "perly.y"
28757baa 1854{ yyval.opval = yyvsp[0].opval; }
93a17b20 1855break;
09bef843
SB
1856case 66:
1857#line 361 "perly.y"
1858{ yyval.opval = Nullop; }
1859break;
1860case 67:
1861#line 364 "perly.y"
1862{ yyval.opval = yyvsp[0].opval; }
1863break;
1864case 68:
1865#line 365 "perly.y"
3280af22 1866{ yyval.opval = Nullop; PL_expect = XSTATE; }
85e6fe83 1867break;
09bef843
SB
1868case 69:
1869#line 369 "perly.y"
28757baa 1870{ package(yyvsp[-1].opval); }
85e6fe83 1871break;
09bef843
SB
1872case 70:
1873#line 371 "perly.y"
28757baa 1874{ package(Nullop); }
1875break;
09bef843
SB
1876case 71:
1877#line 375 "perly.y"
1aff0e91 1878{ CvSPECIAL_on(PL_compcv); /* It's a BEGIN {} */ }
93a17b20 1879break;
09bef843
SB
1880case 72:
1881#line 377 "perly.y"
28757baa 1882{ utilize(yyvsp[-6].ival, yyvsp[-5].ival, yyvsp[-3].opval, yyvsp[-2].opval, yyvsp[-1].opval); }
93a17b20 1883break;
09bef843
SB
1884case 73:
1885#line 381 "perly.y"
28757baa 1886{ yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1887break;
09bef843
SB
1888case 74:
1889#line 383 "perly.y"
28757baa 1890{ yyval.opval = newLOGOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1891break;
09bef843
SB
1892case 76:
1893#line 388 "perly.y"
28757baa 1894{ yyval.opval = yyvsp[-1].opval; }
1895break;
09bef843
SB
1896case 77:
1897#line 390 "perly.y"
a0d0e21e 1898{ yyval.opval = append_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval); }
93a17b20 1899break;
09bef843
SB
1900case 79:
1901#line 395 "perly.y"
a0d0e21e
LW
1902{ yyval.opval = convert(yyvsp[-2].ival, OPf_STACKED,
1903 prepend_elem(OP_LIST, newGVREF(yyvsp[-2].ival,yyvsp[-1].opval), yyvsp[0].opval) ); }
93a17b20 1904break;
09bef843
SB
1905case 80:
1906#line 398 "perly.y"
a0d0e21e
LW
1907{ yyval.opval = convert(yyvsp[-4].ival, OPf_STACKED,
1908 prepend_elem(OP_LIST, newGVREF(yyvsp[-4].ival,yyvsp[-2].opval), yyvsp[-1].opval) ); }
93a17b20 1909break;
09bef843
SB
1910case 81:
1911#line 401 "perly.y"
4633a7c4 1912{ yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
a0d0e21e 1913 append_elem(OP_LIST,
55497cff 1914 prepend_elem(OP_LIST, scalar(yyvsp[-5].opval), yyvsp[-1].opval),
a0d0e21e 1915 newUNOP(OP_METHOD, 0, yyvsp[-3].opval))); }
93a17b20 1916break;
09bef843
SB
1917case 82:
1918#line 406 "perly.y"
b1524f17
SM
1919{ yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1920 append_elem(OP_LIST, scalar(yyvsp[-2].opval),
1921 newUNOP(OP_METHOD, 0, yyvsp[0].opval))); }
1922break;
09bef843
SB
1923case 83:
1924#line 410 "perly.y"
4633a7c4 1925{ yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
a0d0e21e 1926 append_elem(OP_LIST,
4633a7c4 1927 prepend_elem(OP_LIST, yyvsp[-1].opval, yyvsp[0].opval),
a0d0e21e 1928 newUNOP(OP_METHOD, 0, yyvsp[-2].opval))); }
93a17b20 1929break;
09bef843
SB
1930case 84:
1931#line 415 "perly.y"
4633a7c4 1932{ yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
a0d0e21e 1933 append_elem(OP_LIST,
4633a7c4 1934 prepend_elem(OP_LIST, yyvsp[-3].opval, yyvsp[-1].opval),
a0d0e21e 1935 newUNOP(OP_METHOD, 0, yyvsp[-4].opval))); }
93a17b20 1936break;
09bef843
SB
1937case 85:
1938#line 420 "perly.y"
c07a80fd 1939{ yyval.opval = convert(yyvsp[-1].ival, 0, yyvsp[0].opval); }
1940break;
09bef843
SB
1941case 86:
1942#line 422 "perly.y"
c07a80fd 1943{ yyval.opval = convert(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
93a17b20 1944break;
09bef843
SB
1945case 87:
1946#line 424 "perly.y"
1947{ yyvsp[0].opval = newANONATTRSUB(yyvsp[-1].ival, 0, Nullop, yyvsp[0].opval); }
28757baa 1948break;
09bef843
SB
1949case 88:
1950#line 426 "perly.y"
4633a7c4 1951{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
28757baa 1952 append_elem(OP_LIST,
1953 prepend_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval), yyvsp[-4].opval)); }
4633a7c4 1954break;
09bef843
SB
1955case 91:
1956#line 436 "perly.y"
fad39ff1 1957{ yyval.opval = newBINOP(OP_GELEM, 0, yyvsp[-4].opval, scalar(yyvsp[-2].opval)); }
c07a80fd 1958break;
09bef843
SB
1959case 92:
1960#line 438 "perly.y"
fad39ff1 1961{ yyval.opval = newBINOP(OP_AELEM, 0, oopsAV(yyvsp[-3].opval), scalar(yyvsp[-1].opval)); }
93a17b20 1962break;
09bef843
SB
1963case 93:
1964#line 440 "perly.y"
fad39ff1
SM
1965{ yyval.opval = newBINOP(OP_AELEM, 0,
1966 ref(newAVREF(yyvsp[-4].opval),OP_RV2AV),
1967 scalar(yyvsp[-1].opval));}
93a17b20 1968break;
09bef843
SB
1969case 94:
1970#line 444 "perly.y"
fad39ff1
SM
1971{ yyval.opval = newBINOP(OP_AELEM, 0,
1972 ref(newAVREF(yyvsp[-3].opval),OP_RV2AV),
1973 scalar(yyvsp[-1].opval));}
93a17b20 1974break;
09bef843
SB
1975case 95:
1976#line 448 "perly.y"
fad39ff1
SM
1977{ yyval.opval = newBINOP(OP_HELEM, 0, oopsHV(yyvsp[-4].opval), jmaybe(yyvsp[-2].opval));
1978 PL_expect = XOPERATOR; }
93a17b20 1979break;
09bef843
SB
1980case 96:
1981#line 451 "perly.y"
fad39ff1
SM
1982{ yyval.opval = newBINOP(OP_HELEM, 0,
1983 ref(newHVREF(yyvsp[-5].opval),OP_RV2HV),
1984 jmaybe(yyvsp[-2].opval));
1985 PL_expect = XOPERATOR; }
93a17b20 1986break;
09bef843
SB
1987case 97:
1988#line 456 "perly.y"
fad39ff1
SM
1989{ yyval.opval = newBINOP(OP_HELEM, 0,
1990 ref(newHVREF(yyvsp[-4].opval),OP_RV2HV),
1991 jmaybe(yyvsp[-2].opval));
1992 PL_expect = XOPERATOR; }
93a17b20 1993break;
09bef843
SB
1994case 98:
1995#line 461 "perly.y"
fad39ff1
SM
1996{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
1997 newCVREF(0, scalar(yyvsp[-3].opval))); }
93a17b20 1998break;
09bef843
SB
1999case 99:
2000#line 464 "perly.y"
fad39ff1
SM
2001{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2002 append_elem(OP_LIST, yyvsp[-1].opval,
2003 newCVREF(0, scalar(yyvsp[-4].opval)))); }
93a17b20 2004break;
09bef843
SB
2005case 100:
2006#line 469 "perly.y"
fad39ff1
SM
2007{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2008 append_elem(OP_LIST, yyvsp[-1].opval,
2009 newCVREF(0, scalar(yyvsp[-3].opval)))); }
93a17b20 2010break;
09bef843
SB
2011case 101:
2012#line 473 "perly.y"
fad39ff1
SM
2013{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2014 newCVREF(0, scalar(yyvsp[-2].opval))); }
93a17b20 2015break;
09bef843
SB
2016case 102:
2017#line 479 "perly.y"
fad39ff1 2018{ yyval.opval = newASSIGNOP(OPf_STACKED, yyvsp[-2].opval, yyvsp[-1].ival, yyvsp[0].opval); }
93a17b20 2019break;
09bef843
SB
2020case 103:
2021#line 481 "perly.y"
fad39ff1 2022{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
93a17b20 2023break;
09bef843
SB
2024case 104:
2025#line 483 "perly.y"
fad39ff1
SM
2026{ if (yyvsp[-1].ival != OP_REPEAT)
2027 scalar(yyvsp[-2].opval);
2028 yyval.opval = newBINOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, scalar(yyvsp[0].opval)); }
93a17b20 2029break;
09bef843
SB
2030case 105:
2031#line 487 "perly.y"
fad39ff1 2032{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
93a17b20 2033break;
09bef843
SB
2034case 106:
2035#line 489 "perly.y"
fad39ff1 2036{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
44a8e56a 2037break;
09bef843
SB
2038case 107:
2039#line 491 "perly.y"
fad39ff1 2040{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
44a8e56a 2041break;
09bef843
SB
2042case 108:
2043#line 493 "perly.y"
fad39ff1 2044{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
93a17b20 2045break;
09bef843
SB
2046case 109:
2047#line 495 "perly.y"
fad39ff1 2048{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
b1524f17 2049break;
09bef843
SB
2050case 110:
2051#line 497 "perly.y"
fad39ff1 2052{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
93a17b20 2053break;
09bef843
SB
2054case 111:
2055#line 499 "perly.y"
fad39ff1 2056{ yyval.opval = newRANGE(yyvsp[-1].ival, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval));}
93a17b20 2057break;
09bef843
SB
2058case 112:
2059#line 501 "perly.y"
fad39ff1 2060{ yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
93a17b20 2061break;
09bef843
SB
2062case 113:
2063#line 503 "perly.y"
fad39ff1 2064{ yyval.opval = newLOGOP(OP_OR, 0, yyvsp[-2].opval, yyvsp[0].opval); }
c07a80fd 2065break;
09bef843
SB
2066case 114:
2067#line 505 "perly.y"
fad39ff1 2068{ yyval.opval = newCONDOP(0, yyvsp[-4].opval, yyvsp[-2].opval, yyvsp[0].opval); }
93a17b20 2069break;
09bef843
SB
2070case 115:
2071#line 507 "perly.y"
fad39ff1 2072{ yyval.opval = bind_match(yyvsp[-1].ival, yyvsp[-2].opval, yyvsp[0].opval); }
93a17b20 2073break;
09bef843
SB
2074case 116:
2075#line 510 "perly.y"
fad39ff1 2076{ yyval.opval = newUNOP(OP_NEGATE, 0, scalar(yyvsp[0].opval)); }
93a17b20 2077break;
09bef843
SB
2078case 117:
2079#line 512 "perly.y"
fad39ff1 2080{ yyval.opval = yyvsp[0].opval; }
93a17b20 2081break;
09bef843
SB
2082case 118:
2083#line 514 "perly.y"
fad39ff1 2084{ yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
93a17b20 2085break;
09bef843
SB
2086case 119:
2087#line 516 "perly.y"
fad39ff1 2088{ yyval.opval = newUNOP(OP_COMPLEMENT, 0, scalar(yyvsp[0].opval));}
93a17b20 2089break;
09bef843
SB
2090case 120:
2091#line 518 "perly.y"
fad39ff1 2092{ yyval.opval = newUNOP(OP_REFGEN, 0, mod(yyvsp[0].opval,OP_REFGEN)); }
93a17b20 2093break;
09bef843
SB
2094case 121:
2095#line 520 "perly.y"
fad39ff1
SM
2096{ yyval.opval = newUNOP(OP_POSTINC, 0,
2097 mod(scalar(yyvsp[-1].opval), OP_POSTINC)); }
a0d0e21e 2098break;
09bef843
SB
2099case 122:
2100#line 523 "perly.y"
fad39ff1
SM
2101{ yyval.opval = newUNOP(OP_POSTDEC, 0,
2102 mod(scalar(yyvsp[-1].opval), OP_POSTDEC)); }
93a17b20 2103break;
09bef843
SB
2104case 123:
2105#line 526 "perly.y"
fad39ff1
SM
2106{ yyval.opval = newUNOP(OP_PREINC, 0,
2107 mod(scalar(yyvsp[0].opval), OP_PREINC)); }
463ee0b2 2108break;
09bef843
SB
2109case 124:
2110#line 529 "perly.y"
fad39ff1
SM
2111{ yyval.opval = newUNOP(OP_PREDEC, 0,
2112 mod(scalar(yyvsp[0].opval), OP_PREDEC)); }
463ee0b2 2113break;
09bef843
SB
2114case 125:
2115#line 532 "perly.y"
2116{ yyval.opval = yyvsp[0].opval; }
2117break;
2118case 126:
2119#line 534 "perly.y"
fad39ff1 2120{ yyval.opval = localize(yyvsp[0].opval,yyvsp[-1].ival); }
ecca16b0 2121break;
09bef843
SB
2122case 127:
2123#line 536 "perly.y"
fad39ff1 2124{ yyval.opval = sawparens(yyvsp[-1].opval); }
93a17b20 2125break;
09bef843
SB
2126case 128:
2127#line 538 "perly.y"
fad39ff1 2128{ yyval.opval = sawparens(newNULLLIST()); }
463ee0b2 2129break;
09bef843
SB
2130case 129:
2131#line 540 "perly.y"
fad39ff1 2132{ yyval.opval = newANONLIST(yyvsp[-1].opval); }
93a17b20 2133break;
09bef843
SB
2134case 130:
2135#line 542 "perly.y"
fad39ff1 2136{ yyval.opval = newANONLIST(Nullop); }
93a17b20 2137break;
09bef843
SB
2138case 131:
2139#line 544 "perly.y"
fad39ff1 2140{ yyval.opval = newANONHASH(yyvsp[-2].opval); }
b1524f17 2141break;
09bef843
SB
2142case 132:
2143#line 546 "perly.y"
fad39ff1 2144{ yyval.opval = newANONHASH(Nullop); }
ecca16b0 2145break;
09bef843
SB
2146case 133:
2147#line 548 "perly.y"
2148{ yyval.opval = newANONATTRSUB(yyvsp[-3].ival, yyvsp[-2].opval, yyvsp[-1].opval, yyvsp[0].opval); }
93a17b20 2149break;
09bef843
SB
2150case 134:
2151#line 550 "perly.y"
fad39ff1 2152{ yyval.opval = yyvsp[0].opval; }
463ee0b2 2153break;
09bef843
SB
2154case 135:
2155#line 552 "perly.y"
fad39ff1 2156{ yyval.opval = yyvsp[0].opval; }
93a17b20 2157break;
09bef843
SB
2158case 136:
2159#line 554 "perly.y"
fad39ff1 2160{ yyval.opval = yyvsp[0].opval; }
93a17b20 2161break;
09bef843
SB
2162case 137:
2163#line 556 "perly.y"
fad39ff1
SM
2164{ yyval.opval = yyvsp[0].opval; }
2165break;
09bef843
SB
2166case 138:
2167#line 558 "perly.y"
fad39ff1
SM
2168{ yyval.opval = newUNOP(OP_AV2ARYLEN, 0, ref(yyvsp[0].opval, OP_AV2ARYLEN));}
2169break;
09bef843
SB
2170case 139:
2171#line 560 "perly.y"
fad39ff1
SM
2172{ yyval.opval = yyvsp[0].opval; }
2173break;
09bef843
SB
2174case 140:
2175#line 562 "perly.y"
fad39ff1
SM
2176{ yyval.opval = newSLICEOP(0, yyvsp[-1].opval, yyvsp[-4].opval); }
2177break;
09bef843
SB
2178case 141:
2179#line 564 "perly.y"
fad39ff1
SM
2180{ yyval.opval = newSLICEOP(0, yyvsp[-1].opval, Nullop); }
2181break;
09bef843
SB
2182case 142:
2183#line 566 "perly.y"
79072805
LW
2184{ yyval.opval = prepend_elem(OP_ASLICE,
2185 newOP(OP_PUSHMARK, 0),
79072805 2186 newLISTOP(OP_ASLICE, 0,
93a17b20 2187 list(yyvsp[-1].opval),
a0d0e21e 2188 ref(yyvsp[-3].opval, OP_ASLICE))); }
93a17b20 2189break;
09bef843
SB
2190case 143:
2191#line 572 "perly.y"
79072805
LW
2192{ yyval.opval = prepend_elem(OP_HSLICE,
2193 newOP(OP_PUSHMARK, 0),
79072805 2194 newLISTOP(OP_HSLICE, 0,
93a17b20 2195 list(yyvsp[-2].opval),
a0d0e21e 2196 ref(oopsHV(yyvsp[-4].opval), OP_HSLICE)));
3280af22 2197 PL_expect = XOPERATOR; }
93a17b20 2198break;
09bef843
SB
2199case 144:
2200#line 579 "perly.y"
ecca16b0 2201{ yyval.opval = yyvsp[0].opval; }
a0d0e21e 2202break;
09bef843
SB
2203case 145:
2204#line 581 "perly.y"
ecca16b0 2205{ yyval.opval = newUNOP(OP_ENTERSUB, 0, scalar(yyvsp[0].opval)); }
a0d0e21e 2206break;
09bef843
SB
2207case 146:
2208#line 583 "perly.y"
ecca16b0 2209{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar(yyvsp[-2].opval)); }
a0d0e21e 2210break;
09bef843
SB
2211case 147:
2212#line 585 "perly.y"
a0d0e21e 2213{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
ecca16b0 2214 append_elem(OP_LIST, yyvsp[-1].opval, scalar(yyvsp[-3].opval))); }
93a17b20 2215break;
09bef843
SB
2216case 148:
2217#line 588 "perly.y"
ecca16b0
CS
2218{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2219 append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); }
93a17b20 2220break;
09bef843
SB
2221case 149:
2222#line 591 "perly.y"
78ca652e 2223{ yyval.opval = dofile(yyvsp[0].opval); }
93a17b20 2224break;
09bef843
SB
2225case 150:
2226#line 593 "perly.y"
ecca16b0
CS
2227{ yyval.opval = newUNOP(OP_NULL, OPf_SPECIAL, scope(yyvsp[0].opval)); }
2228break;
09bef843
SB
2229case 151:
2230#line 595 "perly.y"
c07a80fd 2231{ yyval.opval = newUNOP(OP_ENTERSUB,
2232 OPf_SPECIAL|OPf_STACKED,
4633a7c4 2233 prepend_elem(OP_LIST,
c07a80fd 2234 scalar(newCVREF(
2235 (OPpENTERSUB_AMPER<<8),
2236 scalar(yyvsp[-2].opval)
2237 )),Nullop)); dep();}
93a17b20 2238break;
09bef843
SB
2239case 152:
2240#line 603 "perly.y"
c07a80fd 2241{ yyval.opval = newUNOP(OP_ENTERSUB,
2242 OPf_SPECIAL|OPf_STACKED,
4633a7c4 2243 append_elem(OP_LIST,
a0d0e21e 2244 yyvsp[-1].opval,
c07a80fd 2245 scalar(newCVREF(
2246 (OPpENTERSUB_AMPER<<8),
2247 scalar(yyvsp[-3].opval)
2248 )))); dep();}
93a17b20 2249break;
09bef843
SB
2250case 153:
2251#line 612 "perly.y"
a0d0e21e 2252{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
4633a7c4 2253 prepend_elem(OP_LIST,
c07a80fd 2254 scalar(newCVREF(0,scalar(yyvsp[-2].opval))), Nullop)); dep();}
93a17b20 2255break;
09bef843
SB
2256case 154:
2257#line 616 "perly.y"
a0d0e21e 2258{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
4633a7c4 2259 prepend_elem(OP_LIST,
a0d0e21e 2260 yyvsp[-1].opval,
c07a80fd 2261 scalar(newCVREF(0,scalar(yyvsp[-3].opval))))); dep();}
93a17b20 2262break;
09bef843
SB
2263case 155:
2264#line 621 "perly.y"
ecca16b0 2265{ yyval.opval = newOP(yyvsp[0].ival, OPf_SPECIAL);
3280af22 2266 PL_hints |= HINT_BLOCK_SCOPE; }
93a17b20 2267break;
09bef843
SB
2268case 156:
2269#line 624 "perly.y"
b1524f17 2270{ yyval.opval = newLOOPEX(yyvsp[-1].ival,yyvsp[0].opval); }
c07a80fd 2271break;
09bef843
SB
2272case 157:
2273#line 626 "perly.y"
b1524f17 2274{ yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
6da72b64 2275break;
09bef843
SB
2276case 158:
2277#line 628 "perly.y"
b1524f17 2278{ yyval.opval = newOP(yyvsp[0].ival, 0); }
6da72b64 2279break;
09bef843
SB
2280case 159:
2281#line 630 "perly.y"
ecca16b0 2282{ yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
4633a7c4 2283break;
09bef843
SB
2284case 160:
2285#line 632 "perly.y"
b1524f17
SM
2286{ yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2287break;
09bef843
SB
2288case 161:
2289#line 634 "perly.y"
ecca16b0
CS
2290{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2291 append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); }
93a17b20 2292break;
09bef843
SB
2293case 162:
2294#line 637 "perly.y"
ecca16b0 2295{ yyval.opval = newOP(yyvsp[0].ival, 0); }
93a17b20 2296break;
09bef843
SB
2297case 163:
2298#line 639 "perly.y"
ecca16b0 2299{ yyval.opval = newOP(yyvsp[-2].ival, 0); }
4633a7c4 2300break;
09bef843
SB
2301case 164:
2302#line 641 "perly.y"
ecca16b0
CS
2303{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2304 scalar(yyvsp[0].opval)); }
93a17b20 2305break;
09bef843
SB
2306case 165:
2307#line 644 "perly.y"
ecca16b0 2308{ yyval.opval = newOP(yyvsp[-2].ival, OPf_SPECIAL); }
93a17b20 2309break;
09bef843
SB
2310case 166:
2311#line 646 "perly.y"
ecca16b0 2312{ yyval.opval = newUNOP(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
93a17b20 2313break;
09bef843
SB
2314case 167:
2315#line 648 "perly.y"
ecca16b0 2316{ yyval.opval = pmruntime(yyvsp[-3].opval, yyvsp[-1].opval, Nullop); }
93a17b20 2317break;
09bef843
SB
2318case 168:
2319#line 650 "perly.y"
ecca16b0 2320{ yyval.opval = pmruntime(yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval); }
93a17b20 2321break;
09bef843
SB
2322case 171:
2323#line 656 "perly.y"
2324{ yyval.opval = my_attrs(yyvsp[-1].opval,yyvsp[0].opval); }
55497cff 2325break;
09bef843
SB
2326case 172:
2327#line 658 "perly.y"
2328{ yyval.opval = localize(yyvsp[0].opval,yyvsp[-1].ival); }
2329break;
2330case 173:
2331#line 662 "perly.y"
2332{ yyval.opval = sawparens(yyvsp[-1].opval); }
2333break;
2334case 174:
2335#line 664 "perly.y"
2336{ yyval.opval = sawparens(newNULLLIST()); }
2337break;
2338case 175:
2339#line 666 "perly.y"
ecca16b0 2340{ yyval.opval = yyvsp[0].opval; }
55497cff 2341break;
09bef843
SB
2342case 176:
2343#line 668 "perly.y"
2344{ yyval.opval = yyvsp[0].opval; }
2345break;
2346case 177:
2347#line 670 "perly.y"
2348{ yyval.opval = yyvsp[0].opval; }
2349break;
2350case 178:
2351#line 674 "perly.y"
ecca16b0 2352{ yyval.opval = Nullop; }
55497cff 2353break;
09bef843
SB
2354case 179:
2355#line 676 "perly.y"
ecca16b0 2356{ yyval.opval = yyvsp[0].opval; }
93a17b20 2357break;
09bef843
SB
2358case 180:
2359#line 680 "perly.y"
2360{ yyval.opval = Nullop; }
93a17b20 2361break;
09bef843
SB
2362case 181:
2363#line 682 "perly.y"
2364{ yyval.opval = yyvsp[0].opval; }
93a17b20 2365break;
09bef843
SB
2366case 182:
2367#line 684 "perly.y"
2368{ yyval.opval = yyvsp[-1].opval; }
93a17b20 2369break;
09bef843
SB
2370case 183:
2371#line 688 "perly.y"
3280af22 2372{ PL_in_my = 0; yyval.opval = my(yyvsp[0].opval); }
93a17b20 2373break;
09bef843
SB
2374case 184:
2375#line 692 "perly.y"
ecca16b0 2376{ yyval.opval = newCVREF(yyvsp[-1].ival,yyvsp[0].opval); }
93a17b20 2377break;
09bef843
SB
2378case 185:
2379#line 696 "perly.y"
ecca16b0 2380{ yyval.opval = newSVREF(yyvsp[0].opval); }
93a17b20 2381break;
09bef843
SB
2382case 186:
2383#line 700 "perly.y"
ecca16b0 2384{ yyval.opval = newAVREF(yyvsp[0].opval); }
93a17b20 2385break;
09bef843
SB
2386case 187:
2387#line 704 "perly.y"
ecca16b0 2388{ yyval.opval = newHVREF(yyvsp[0].opval); }
c07a80fd 2389break;
09bef843
SB
2390case 188:
2391#line 708 "perly.y"
ecca16b0 2392{ yyval.opval = newAVREF(yyvsp[0].opval); }
44a8e56a 2393break;
09bef843
SB
2394case 189:
2395#line 712 "perly.y"
ecca16b0 2396{ yyval.opval = newGVREF(0,yyvsp[0].opval); }
44a8e56a 2397break;
09bef843
SB
2398case 190:
2399#line 716 "perly.y"
ecca16b0 2400{ yyval.opval = scalar(yyvsp[0].opval); }
6da72b64 2401break;
09bef843
SB
2402case 191:
2403#line 718 "perly.y"
ecca16b0 2404{ yyval.opval = scalar(yyvsp[0].opval); }
6da72b64 2405break;
09bef843
SB
2406case 192:
2407#line 720 "perly.y"
ecca16b0
CS
2408{ yyval.opval = scope(yyvsp[0].opval); }
2409break;
09bef843
SB
2410case 193:
2411#line 723 "perly.y"
85e6fe83 2412{ yyval.opval = yyvsp[0].opval; }
93a17b20 2413break;
09bef843 2414#line 2412 "perly.c"
93a17b20
LW
2415 }
2416 yyssp -= yym;
2417 yystate = *yyssp;
2418 yyvsp -= yym;
2419 yym = yylhs[yyn];
2420 if (yystate == 0 && yym == 0)
2421 {
2422#if YYDEBUG
2423 if (yydebug)
ac4c12e7 2424 PerlIO_printf(Perl_debug_log,
09bef843
SB
2425 "yydebug: after reduction, shifting from state 0 to state %d\n",
2426 YYFINAL);
93a17b20
LW
2427#endif
2428 yystate = YYFINAL;
2429 *++yyssp = YYFINAL;
2430 *++yyvsp = yyval;
2431 if (yychar < 0)
2432 {
2433 if ((yychar = yylex()) < 0) yychar = 0;
2434#if YYDEBUG
2435 if (yydebug)
2436 {
2437 yys = 0;
2438 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
2439 if (!yys) yys = "illegal-symbol";
ac4c12e7 2440 PerlIO_printf(Perl_debug_log, "yydebug: state %d, reading %d (%s)\n",
93a17b20
LW
2441 YYFINAL, yychar, yys);
2442 }
2443#endif
2444 }
2445 if (yychar == 0) goto yyaccept;
2446 goto yyloop;
2447 }
2448 if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
2449 yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
2450 yystate = yytable[yyn];
2451 else
2452 yystate = yydgoto[yym];
2453#if YYDEBUG
2454 if (yydebug)
ac4c12e7 2455 PerlIO_printf(Perl_debug_log,
09bef843
SB
2456 "yydebug: after reduction, shifting from state %d to state %d\n",
2457 *yyssp, yystate);
93a17b20
LW
2458#endif
2459 if (yyssp >= yyss + yystacksize - 1)
2460 {
2461 /*
2462 ** reallocate and recover. Note that pointers
2463 ** have to be reset, or bad things will happen
2464 */
2465 int yyps_index = (yyssp - yyss);
2466 int yypv_index = (yyvsp - yyvs);
2467 yystacksize += YYSTACKSIZE;
09bef843
SB
2468 ysave->yyvs = Renew(yyvs, yystacksize, YYSTYPE);
2469 ysave->yyss = Renew(yyss, yystacksize, short);
93a17b20
LW
2470 if (!yyvs || !yyss)
2471 goto yyoverflow;
2472 yyssp = yyss + yyps_index;
2473 yyvsp = yyvs + yypv_index;
2474 }
2475 *++yyssp = yystate;
2476 *++yyvsp = yyval;
2477 goto yyloop;
2478yyoverflow:
2479 yyerror("Out of memory for yacc stack");
2480yyabort:
2481 retval = 1;
2482yyaccept:
f4dd75d9
GS
2483#ifdef USE_ITHREADS
2484 LEAVE; /* force yydestruct() before we return */
2485#endif
93a17b20 2486 return retval;
79072805 2487}
e1f15930
GS
2488
2489#ifdef PERL_OBJECT
e1f15930
GS
2490#include "XSUB.h"
2491#endif
2492
2493static void
2494yydestruct(pTHXo_ void *ptr)
2495{
2496 struct ysv* ysave = (struct ysv*)ptr;
2497 if (ysave->yyss) Safefree(ysave->yyss);
2498 if (ysave->yyvs) Safefree(ysave->yyvs);
2499 yydebug = ysave->oldyydebug;
2500 yynerrs = ysave->oldyynerrs;
2501 yyerrflag = ysave->oldyyerrflag;
2502 yychar = ysave->oldyychar;
2503 yyval = ysave->oldyyval;
2504 yylval = ysave->oldyylval;
2505 Safefree(ysave);
2506}