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