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