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