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