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