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