This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
no PerlIO at startup time on VMS
[perl5.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
LW
4#endif
5#define YYBYACC 1
6#line 16 "perly.y"
7#include "EXTERN.h"
fad39ff1 8#define PERL_IN_PERLY_C
4633a7c4 9#include "perl.h"
1e0e26cb
NIS
10#ifdef EBCDIC
11#undef YYDEBUG
12#endif
09bef843
SB
13#define dep() deprecate("\"do\" to call subroutines")
14
15/* stuff included here to make perly_c.diff apply better */
16
b23da8a6
GS
17#define yydebug PL_yydebug
18#define yynerrs PL_yynerrs
19#define yyerrflag PL_yyerrflag
20#define yychar PL_yychar
b23da8a6
GS
21#define yyval PL_yyval
22#define yylval PL_yylval
23
09bef843
SB
24struct ysv {
25 short* yyss;
26 YYSTYPE* yyvs;
27 int oldyydebug;
28 int oldyynerrs;
29 int oldyyerrflag;
30 int oldyychar;
31 YYSTYPE oldyyval;
32 YYSTYPE oldyylval;
33};
fad39ff1 34
e1f15930 35static void yydestruct(pTHXo_ void *ptr);
4633a7c4 36
1e0e26cb 37#line 51 "perly.y"
09bef843 38#if 0 /* get this from perly.h instead */
1e0e26cb 39#line 54 "perly.y"
09bef843
SB
40typedef union {
41 I32 ival;
42 char *pval;
43 OP *opval;
44 GV *gvval;
45} YYSTYPE;
1e0e26cb 46#line 62 "perly.y"
09bef843
SB
47#endif /* 0 */
48
49#ifdef USE_PURE_BISON
50#define YYLEX_PARAM (&yychar)
36c66720 51#define yylex yylex_r
09bef843
SB
52#endif
53
1e0e26cb 54#line 54 "perly.c"
4633a7c4 55#define YYERRCODE 256
09bef843 56static short yylhs[] = { -1,
891be019 57 54, 0, 8, 6, 9, 7, 10, 10, 10, 11,
09bef843
SB
58 11, 11, 11, 24, 24, 24, 24, 24, 24, 24,
59 14, 14, 14, 13, 13, 42, 42, 12, 12, 12,
60 12, 12, 12, 12, 26, 26, 27, 27, 28, 29,
891be019
SC
61 30, 31, 32, 53, 53, 1, 1, 1, 1, 1,
62 2, 38, 38, 46, 55, 3, 4, 5, 39, 40,
63 40, 44, 44, 44, 45, 45, 41, 41, 56, 56,
64 58, 57, 15, 15, 15, 25, 25, 25, 36, 36,
65 36, 36, 36, 36, 36, 36, 59, 36, 37, 37,
44a8e56a 66 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
891be019
SC
67 17, 49, 49, 49, 49, 49, 49, 49, 49, 49,
68 49, 49, 49, 49, 50, 50, 50, 50, 50, 50,
69 50, 50, 51, 51, 51, 51, 51, 52, 52, 52,
70 52, 52, 52, 16, 16, 16, 16, 16, 16, 16,
09bef843
SB
71 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
72 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
73 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
891be019
SC
74 16, 16, 16, 16, 47, 47, 48, 48, 48, 48,
75 48, 33, 33, 34, 34, 34, 43, 23, 18, 19,
76 20, 21, 22, 35, 35, 35, 35,
4633a7c4 77};
09bef843 78static short yylen[] = { 2,
5f05dabc 79 0, 2, 4, 0, 4, 0, 0, 2, 2, 2,
ecca16b0
CS
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
SB
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
SC
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};
09bef843
SB
100static short yydefred[] = { 1,
101 0, 7, 0, 45, 58, 56, 0, 56, 56, 8,
102 46, 9, 11, 48, 0, 47, 49, 50, 0, 0,
891be019
SC
103 0, 70, 71, 0, 14, 4, 173, 0, 0, 154,
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
SC
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,
111 0, 0, 0, 0, 0, 4, 4, 4, 4, 4,
112 4, 0, 0, 0, 0, 0, 163, 0, 0, 0,
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,
121 87, 0, 0, 0, 0, 0, 0, 0, 4, 167,
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
SC
126 0, 0, 89, 0, 0, 90, 0, 0, 101, 0,
127 0, 0, 0, 0, 0, 0, 156, 0, 0, 0,
128 0, 0, 0, 3, 0, 0, 171, 0, 0, 0,
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,
891be019
SC
143 10, 11, 20, 104, 19, 95, 370, 98, 359, 3,
144 12, 13, 70, 375, 285, 72, 73, 74, 75, 76,
145 77, 78, 79, 291, 81, 292, 281, 283, 286, 294,
146 282, 284, 122, 214, 100, 82, 257, 89, 91, 194,
147 327, 156, 289, 271, 225, 14, 83, 137, 84, 85,
148 86, 87, 15, 2, 16, 17, 18, 93, 278,
4633a7c4 149};
09bef843 150static short yysindex[] = { 0,
891be019
SC
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
SC
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
SC
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
LW
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
SC
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
SC
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,
891be019
SC
235 0, 0, 196, 425, 0, -2, 0, 37, 634, -94,
236 0, 0, 0, -323, -15, 2445, 0, 999, 414, 417,
237 0, 0, 0, 463, -43, 0, 0, 321, -198, 103,
238 147, 280, -91, -185, 1, 0, 0, 0, 464, -44,
239 222, 338, 0, -179, 0, 0, 0, 0, 0, 0,
240 0, 0, 0, 0, 0, 0, 0, 0, 0,
4633a7c4 241};
891be019 242#define YYTABLESIZE 4568
09bef843 243static short yytable[] = { 71,
891be019
SC
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,
268 306, 26, 21, 26, 26, 253, 2, 162, 163, 113,
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
SC
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
SC
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
SC
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
SC
459 0, 0, 0, 55, 56, 54, 65, 67, 53, 0,
460 60, 311, 68, 64, 57, 63, 58, 59, 0, 0,
09bef843
SB
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
SC
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
SB
481 0, 0, 0, 0, 0, 0, 0, 27, 28, 29,
482 30, 31, 0, 32, 33, 34, 0, 0, 0, 35,
891be019
SC
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
SC
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
SC
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
LW
567 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
568 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
891be019
SC
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
SC
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
SC
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
SC
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
SC
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
SC
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
SC
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
SC
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
SC
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
SC
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
SB
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
SC
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
SB
940 -1, -1, -1, -1, -1, -1, -1, 257, 258, 259,
941 260, 261, -1, 263, 264, 265, -1, -1, -1, 269,
891be019
SC
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
SC
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
SC
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
SB
985 306, 307, 308, 309, -1, -1, 312, -1, -1, 315,
986 316, 317, -1, -1, -1, -1, -1, -1, -1, -1,
891be019
SC
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
SM
990 -1, -1, -1, -1, 272, 273, 274, 275, -1, -1,
991 -1, 279, -1, 281, -1, -1, -1, -1, -1, 287,
891be019
SC
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
SC
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
SC
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
SC
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
SC
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
SC
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
SC
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
SC
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
SC
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
SC
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
LW
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
LW
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
SB
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
LW
1185"$accept : prog",
1186"$$1 :",
1187"prog : $$1 lineseq",
1188"block : '{' remember lineseq '}'",
1189"remember :",
5f05dabc 1190"mblock : '{' mremember lineseq '}'",
1191"mremember :",
4633a7c4
LW
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
LW
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
LW
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
LW
1229"label :",
1230"label : LABEL",
1231"decl : format",
1232"decl : subrout",
09bef843 1233"decl : mysubrout",
4633a7c4
LW
1234"decl : package",
1235"decl : use",
44a8e56a 1236"format : FORMAT startformsub formname block",
1237"formname : WORD",
1238"formname :",
09bef843
SB
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
LW
1245"proto :",
1246"proto : THING",
09bef843
SB
1247"subattrlist :",
1248"subattrlist : COLONATTR THING",
1249"subattrlist : COLONATTR",
1250"myattrlist : COLONATTR THING",
1251"myattrlist : COLONATTR",
44a8e56a 1252"subbody : block",
1253"subbody : ';'",
4633a7c4
LW
1254"package : PACKAGE WORD ';'",
1255"package : PACKAGE ';'",
44a8e56a 1256"$$2 :",
1257"use : USE startsub $$2 WORD WORD listexpr ';'",
4633a7c4
LW
1258"expr : expr ANDOP expr",
1259"expr : expr OROP expr",
4633a7c4
LW
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
LW
1268"listop : METHOD indirob listexpr",
1269"listop : FUNCMETH indirob '(' listexprcom ')'",
1270"listop : LSTOP listexpr",
1271"listop : FUNC '(' listexprcom ')'",
44a8e56a 1272"$$3 :",
1273"listop : LSTOPSUB startanonsub block $$3 listexpr",
4633a7c4
LW
1274"method : METHOD",
1275"method : scalar",
fad39ff1
SM
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
SC
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
SB
1325"term : myattrterm",
1326"term : LOCAL term",
4633a7c4
LW
1327"term : '(' expr ')'",
1328"term : '(' ')'",
4633a7c4
LW
1329"term : scalar",
1330"term : star",
4633a7c4
LW
1331"term : hsh",
1332"term : ary",
1333"term : arylen",
fad39ff1 1334"term : subscripted",
4633a7c4
LW
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
LW
1344"term : LOOPEX",
1345"term : LOOPEX term",
c07a80fd 1346"term : NOTOP argexpr",
4633a7c4
LW
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
SB
1360"myattrterm : MY myterm myattrlist",
1361"myattrterm : MY myterm",
1362"myterm : '(' expr ')'",
1363"myterm : '(' ')'",
1364"myterm : scalar",
1365"myterm : hsh",
1366"myterm : ary",
4633a7c4
LW
1367"listexpr :",
1368"listexpr : argexpr",
1369"listexprcom :",
1370"listexprcom : expr",
1371"listexprcom : expr ','",
5f05dabc 1372"my_scalar : scalar",
4633a7c4
LW
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
891be019 1399#line 789 "perly.y"
4633a7c4 1400 /* PROGRAM */
09bef843
SB
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
891be019 1409#line 1481 "perly.c"
4633a7c4
LW
1410#define YYABORT goto yyabort
1411#define YYACCEPT goto yyaccept
1412#define YYERROR goto yyerrlab
4633a7c4 1413int
09bef843 1414yyparse()
4633a7c4
LW
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
GS
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
LW
1433 ysave->oldyydebug = yydebug;
1434 ysave->oldyynerrs = yynerrs;
1435 ysave->oldyyerrflag = yyerrflag;
1436 ysave->oldyychar = yychar;
1437 ysave->oldyyval = yyval;
1438 ysave->oldyylval = yylval;
09bef843 1439
4633a7c4
LW
1440#if YYDEBUG
1441 if (yys = getenv("YYDEBUG"))
1442 {
1443 yyn = *yys;
1444 if (yyn >= '0' && yyn <= '9')
1445 yydebug = yyn - '0';
1446 }
fc1ce8cc 1447 else SETERRNO(0,SS$_NORMAL);
4633a7c4
LW
1448#endif
1449
1450 yynerrs = 0;
1451 yyerrflag = 0;
1452 yychar = (-1);
1453
1454 /*
1455 ** Initialize private stacks (yyparse may be called from an action)
1456 */
8c52afec
IZ
1457 New(73, yyss, yystacksize, short);
1458 New(73, yyvs, yystacksize, YYSTYPE);
1459 ysave->yyss = yyss;
1460 ysave->yyvs = yyvs;
4633a7c4
LW
1461 if (!yyvs || !yyss)
1462 goto yyoverflow;
1463
1464 yyssp = yyss;
1465 yyvsp = yyvs;
1466 *yyssp = yystate = 0;
1467
1468yyloop:
1469 if (yyn = yydefred[yystate]) goto yyreduce;
1470 if (yychar < 0)
1471 {
1472 if ((yychar = yylex()) < 0) yychar = 0;
1473#if YYDEBUG
1474 if (yydebug)
1475 {
1476 yys = 0;
1477 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1478 if (!yys) yys = "illegal-symbol";
09bef843 1479 PerlIO_printf(Perl_debug_log, "yydebug: state %d, reading %d (%s)\n", yystate,
4633a7c4
LW
1480 yychar, yys);
1481 }
1482#endif
1483 }
1484 if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
1485 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1486 {
1487#if YYDEBUG
1488 if (yydebug)
17f28c40 1489 PerlIO_printf(Perl_debug_log, "yydebug: state %d, shifting to state %d\n",
4633a7c4
LW
1490 yystate, yytable[yyn]);
1491#endif
1492 if (yyssp >= yyss + yystacksize - 1)
1493 {
1494 /*
1495 ** reallocate and recover. Note that pointers
1496 ** have to be reset, or bad things will happen
1497 */
1498 int yyps_index = (yyssp - yyss);
1499 int yypv_index = (yyvsp - yyvs);
1500 yystacksize += YYSTACKSIZE;
09bef843
SB
1501 ysave->yyvs = Renew(yyvs, yystacksize, YYSTYPE);
1502 ysave->yyss = Renew(yyss, yystacksize, short);
4633a7c4
LW
1503 if (!yyvs || !yyss)
1504 goto yyoverflow;
1505 yyssp = yyss + yyps_index;
1506 yyvsp = yyvs + yypv_index;
1507 }
1508 *++yyssp = yystate = yytable[yyn];
1509 *++yyvsp = yylval;
1510 yychar = (-1);
1511 if (yyerrflag > 0) --yyerrflag;
1512 goto yyloop;
1513 }
1514 if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
1515 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1516 {
1517 yyn = yytable[yyn];
1518 goto yyreduce;
1519 }
1520 if (yyerrflag) goto yyinrecovery;
1521#ifdef lint
771df094 1522
4633a7c4 1523#endif
7b57b0ea 1524
4633a7c4
LW
1525 yyerror("syntax error");
1526#ifdef lint
771df094 1527
4633a7c4 1528#endif
7b57b0ea 1529
4633a7c4
LW
1530 ++yynerrs;
1531yyinrecovery:
1532 if (yyerrflag < 3)
1533 {
1534 yyerrflag = 3;
1535 for (;;)
1536 {
1537 if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 &&
1538 yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
1539 {
1540#if YYDEBUG
1541 if (yydebug)
36c66720
RH
1542 PerlIO_printf(Perl_debug_log, "yydebug: state %d, error recovery shifting\
1543 to state %d\n", *yyssp, yytable[yyn]);
4633a7c4
LW
1544#endif
1545 if (yyssp >= yyss + yystacksize - 1)
1546 {
1547 /*
1548 ** reallocate and recover. Note that pointers
1549 ** have to be reset, or bad things will happen
1550 */
1551 int yyps_index = (yyssp - yyss);
1552 int yypv_index = (yyvsp - yyvs);
1553 yystacksize += YYSTACKSIZE;
09bef843
SB
1554 ysave->yyvs = Renew(yyvs, yystacksize, YYSTYPE);
1555 ysave->yyss = Renew(yyss, yystacksize, short);
4633a7c4
LW
1556 if (!yyvs || !yyss)
1557 goto yyoverflow;
1558 yyssp = yyss + yyps_index;
1559 yyvsp = yyvs + yypv_index;
1560 }
1561 *++yyssp = yystate = yytable[yyn];
1562 *++yyvsp = yylval;
1563 goto yyloop;
1564 }
1565 else
1566 {
1567#if YYDEBUG
1568 if (yydebug)
09bef843
SB
1569 PerlIO_printf(Perl_debug_log, "yydebug: error recovery discarding state %d\n",
1570 *yyssp);
4633a7c4
LW
1571#endif
1572 if (yyssp <= yyss) goto yyabort;
1573 --yyssp;
1574 --yyvsp;
1575 }
1576 }
1577 }
1578 else
1579 {
1580 if (yychar == 0) goto yyabort;
1581#if YYDEBUG
1582 if (yydebug)
1583 {
1584 yys = 0;
1585 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1586 if (!yys) yys = "illegal-symbol";
09bef843
SB
1587 PerlIO_printf(Perl_debug_log, "yydebug: state %d, error recovery discards token %d (%s)\n",
1588 yystate, yychar, yys);
4633a7c4
LW
1589 }
1590#endif
1591 yychar = (-1);
1592 goto yyloop;
1593 }
1594yyreduce:
1595#if YYDEBUG
1596 if (yydebug)
17f28c40 1597 PerlIO_printf(Perl_debug_log, "yydebug: state %d, reducing by rule %d (%s)\n",
4633a7c4
LW
1598 yystate, yyn, yyrule[yyn]);
1599#endif
1600 yym = yylen[yyn];
1601 yyval = yyvsp[1-yym];
1602 switch (yyn)
1603 {
1604case 1:
891be019 1605#line 130 "perly.y"
4633a7c4
LW
1606{
1607#if defined(YYDEBUG) && defined(DEBUGGING)
aea4f609 1608 yydebug = (DEBUG_p_TEST);
4633a7c4 1609#endif
c71fccf1 1610 PL_expect = XSTATE; yyval.ival = block_start(TRUE);
4633a7c4
LW
1611 }
1612break;
1613case 2:
891be019 1614#line 137 "perly.y"
c71fccf1 1615{ newPROG(block_end(yyvsp[-1].ival,yyvsp[0].opval)); }
4633a7c4
LW
1616break;
1617case 3:
891be019 1618#line 142 "perly.y"
954eb2b5
NIS
1619{ if (PL_copline > (line_t)yyvsp[-3].ival)
1620 PL_copline = yyvsp[-3].ival;
5f05dabc 1621 yyval.opval = block_end(yyvsp[-2].ival, yyvsp[-1].opval); }
4633a7c4
LW
1622break;
1623case 4:
891be019 1624#line 148 "perly.y"
5f05dabc 1625{ yyval.ival = block_start(TRUE); }
4633a7c4
LW
1626break;
1627case 5:
891be019 1628#line 152 "perly.y"
954eb2b5
NIS
1629{ if (PL_copline > (line_t)yyvsp[-3].ival)
1630 PL_copline = yyvsp[-3].ival;
5f05dabc 1631 yyval.opval = block_end(yyvsp[-2].ival, yyvsp[-1].opval); }
4633a7c4
LW
1632break;
1633case 6:
891be019 1634#line 158 "perly.y"
5f05dabc 1635{ yyval.ival = block_start(FALSE); }
4633a7c4
LW
1636break;
1637case 7:
891be019 1638#line 163 "perly.y"
5f05dabc 1639{ yyval.opval = Nullop; }
1640break;
1641case 8:
891be019 1642#line 165 "perly.y"
5f05dabc 1643{ yyval.opval = yyvsp[-1].opval; }
1644break;
1645case 9:
891be019 1646#line 167 "perly.y"
4633a7c4
LW
1647{ yyval.opval = append_list(OP_LINESEQ,
1648 (LISTOP*)yyvsp[-1].opval, (LISTOP*)yyvsp[0].opval);
954eb2b5
NIS
1649 PL_pad_reset_pending = TRUE;
1650 if (yyvsp[-1].opval && yyvsp[0].opval) PL_hints |= HINT_BLOCK_SCOPE; }
4633a7c4 1651break;
5f05dabc 1652case 10:
891be019 1653#line 175 "perly.y"
4633a7c4
LW
1654{ yyval.opval = newSTATEOP(0, yyvsp[-1].pval, yyvsp[0].opval); }
1655break;
5f05dabc 1656case 12:
891be019 1657#line 178 "perly.y"
4633a7c4
LW
1658{ if (yyvsp[-1].pval != Nullch) {
1659 yyval.opval = newSTATEOP(0, yyvsp[-1].pval, newOP(OP_NULL, 0));
1660 }
1661 else {
1662 yyval.opval = Nullop;
954eb2b5 1663 PL_copline = NOLINE;
4633a7c4 1664 }
954eb2b5 1665 PL_expect = XSTATE; }
4633a7c4 1666break;
5f05dabc 1667case 13:
891be019 1668#line 187 "perly.y"
4633a7c4 1669{ yyval.opval = newSTATEOP(0, yyvsp[-2].pval, yyvsp[-1].opval);
954eb2b5 1670 PL_expect = XSTATE; }
4633a7c4 1671break;
4633a7c4 1672case 14:
891be019 1673#line 193 "perly.y"
5f05dabc 1674{ yyval.opval = Nullop; }
4633a7c4
LW
1675break;
1676case 15:
891be019 1677#line 195 "perly.y"
5f05dabc 1678{ yyval.opval = yyvsp[0].opval; }
4633a7c4
LW
1679break;
1680case 16:
891be019 1681#line 197 "perly.y"
5f05dabc 1682{ yyval.opval = newLOGOP(OP_AND, 0, yyvsp[0].opval, yyvsp[-2].opval); }
4633a7c4
LW
1683break;
1684case 17:
891be019 1685#line 199 "perly.y"
5f05dabc 1686{ yyval.opval = newLOGOP(OP_OR, 0, yyvsp[0].opval, yyvsp[-2].opval); }
4633a7c4
LW
1687break;
1688case 18:
891be019 1689#line 201 "perly.y"
5f05dabc 1690{ yyval.opval = newLOOPOP(OPf_PARENS, 1, scalar(yyvsp[0].opval), yyvsp[-2].opval); }
4633a7c4
LW
1691break;
1692case 19:
891be019 1693#line 203 "perly.y"
5f05dabc 1694{ yyval.opval = newLOOPOP(OPf_PARENS, 1, yyvsp[0].opval, yyvsp[-2].opval);}
4633a7c4
LW
1695break;
1696case 20:
891be019 1697#line 205 "perly.y"
ecca16b0
CS
1698{ yyval.opval = newFOROP(0, Nullch, yyvsp[-1].ival,
1699 Nullop, yyvsp[0].opval, yyvsp[-2].opval, Nullop); }
4633a7c4
LW
1700break;
1701case 21:
891be019 1702#line 211 "perly.y"
ecca16b0 1703{ yyval.opval = Nullop; }
4633a7c4
LW
1704break;
1705case 22:
891be019 1706#line 213 "perly.y"
e1f15930 1707{ (yyvsp[0].opval)->op_flags |= OPf_PARENS; yyval.opval = scope(yyvsp[0].opval); }
ecca16b0
CS
1708break;
1709case 23:
891be019 1710#line 215 "perly.y"
954eb2b5 1711{ PL_copline = yyvsp[-5].ival;
fad39ff1 1712 yyval.opval = newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval);
954eb2b5 1713 PL_hints |= HINT_BLOCK_SCOPE; }
4633a7c4 1714break;
ecca16b0 1715case 24:
891be019 1716#line 222 "perly.y"
954eb2b5 1717{ PL_copline = yyvsp[-6].ival;
5f05dabc 1718 yyval.opval = block_end(yyvsp[-4].ival,
1719 newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval)); }
1720break;
ecca16b0 1721case 25:
891be019 1722#line 226 "perly.y"
954eb2b5 1723{ PL_copline = yyvsp[-6].ival;
5f05dabc 1724 yyval.opval = block_end(yyvsp[-4].ival,
1725 newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval)); }
1726break;
ecca16b0 1727case 26:
891be019 1728#line 233 "perly.y"
71be2cbc 1729{ yyval.opval = Nullop; }
4633a7c4 1730break;
ecca16b0 1731case 27:
891be019 1732#line 235 "perly.y"
5f05dabc 1733{ yyval.opval = scope(yyvsp[0].opval); }
4633a7c4 1734break;
ecca16b0 1735case 28:
891be019 1736#line 240 "perly.y"
954eb2b5 1737{ PL_copline = yyvsp[-6].ival;
5f05dabc 1738 yyval.opval = block_end(yyvsp[-4].ival,
1739 newSTATEOP(0, yyvsp[-7].pval,
1740 newWHILEOP(0, 1, (LOOP*)Nullop,
fb73857a 1741 yyvsp[-6].ival, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval))); }
4633a7c4 1742break;
ecca16b0 1743case 29:
891be019 1744#line 246 "perly.y"
954eb2b5 1745{ PL_copline = 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 30:
891be019 1752#line 252 "perly.y"
5f05dabc 1753{ yyval.opval = block_end(yyvsp[-6].ival,
1754 newFOROP(0, yyvsp[-9].pval, yyvsp[-8].ival, yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
4633a7c4 1755break;
ecca16b0 1756case 31:
891be019 1757#line 255 "perly.y"
5f05dabc 1758{ yyval.opval = block_end(yyvsp[-4].ival,
1759 newFOROP(0, yyvsp[-8].pval, yyvsp[-7].ival, mod(yyvsp[-6].opval, OP_ENTERLOOP),
1760 yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1761break;
ecca16b0 1762case 32:
891be019 1763#line 259 "perly.y"
5f05dabc 1764{ yyval.opval = block_end(yyvsp[-4].ival,
1765 newFOROP(0, yyvsp[-7].pval, yyvsp[-6].ival, Nullop, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1766break;
ecca16b0 1767case 33:
891be019 1768#line 263 "perly.y"
36c66720 1769{ OP *forop;
954eb2b5 1770 PL_copline = yyvsp[-9].ival;
36c66720
RH
1771 forop = newSTATEOP(0, yyvsp[-10].pval,
1772 newWHILEOP(0, 1, (LOOP*)Nullop,
1773 yyvsp[-9].ival, scalar(yyvsp[-4].opval),
1774 yyvsp[0].opval, yyvsp[-2].opval));
1775 if (yyvsp[-6].opval) {
1776 forop = append_elem(OP_LINESEQ,
1777 newSTATEOP(0, (yyvsp[-10].pval?savepv(yyvsp[-10].pval):Nullch),
1778 yyvsp[-6].opval),
1779 forop);
1780 }
1781
1782 yyval.opval = block_end(yyvsp[-7].ival, forop); }
5f05dabc 1783break;
ecca16b0 1784case 34:
891be019 1785#line 278 "perly.y"
fb73857a 1786{ yyval.opval = newSTATEOP(0, yyvsp[-2].pval,
1787 newWHILEOP(0, 1, (LOOP*)Nullop,
1788 NOLINE, Nullop, yyvsp[-1].opval, yyvsp[0].opval)); }
4633a7c4 1789break;
ecca16b0 1790case 35:
891be019 1791#line 285 "perly.y"
4633a7c4
LW
1792{ yyval.opval = Nullop; }
1793break;
ecca16b0 1794case 37:
891be019 1795#line 291 "perly.y"
6b141535 1796{ (void)scan_num("1", &yylval); yyval.opval = yylval.opval; }
4633a7c4 1797break;
71be2cbc 1798case 39:
891be019 1799#line 297 "perly.y"
ecca16b0 1800{ yyval.opval = invert(scalar(yyvsp[0].opval)); }
5f05dabc 1801break;
71be2cbc 1802case 40:
891be019 1803#line 302 "perly.y"
5f05dabc 1804{ yyval.opval = yyvsp[0].opval; intro_my(); }
1805break;
71be2cbc 1806case 41:
891be019 1807#line 306 "perly.y"
5f05dabc 1808{ yyval.opval = yyvsp[0].opval; intro_my(); }
1809break;
71be2cbc 1810case 42:
891be019 1811#line 310 "perly.y"
5f05dabc 1812{ yyval.opval = yyvsp[0].opval; intro_my(); }
1813break;
71be2cbc 1814case 43:
891be019 1815#line 314 "perly.y"
ecca16b0 1816{ yyval.opval = yyvsp[0].opval; intro_my(); }
4633a7c4 1817break;
ecca16b0 1818case 44:
891be019 1819#line 319 "perly.y"
ecca16b0 1820{ yyval.pval = Nullch; }
4633a7c4 1821break;
71be2cbc 1822case 46:
891be019 1823#line 325 "perly.y"
4633a7c4
LW
1824{ yyval.ival = 0; }
1825break;
71be2cbc 1826case 47:
891be019 1827#line 327 "perly.y"
4633a7c4
LW
1828{ yyval.ival = 0; }
1829break;
71be2cbc 1830case 48:
891be019 1831#line 329 "perly.y"
4633a7c4
LW
1832{ yyval.ival = 0; }
1833break;
71be2cbc 1834case 49:
891be019 1835#line 331 "perly.y"
ecca16b0 1836{ yyval.ival = 0; }
4633a7c4 1837break;
71be2cbc 1838case 50:
891be019 1839#line 333 "perly.y"
09bef843 1840{ yyval.ival = 0; }
4633a7c4 1841break;
71be2cbc 1842case 51:
891be019 1843#line 337 "perly.y"
09bef843 1844{ newFORM(yyvsp[-2].ival, yyvsp[-1].opval, yyvsp[0].opval); }
4633a7c4 1845break;
71be2cbc 1846case 52:
891be019 1847#line 340 "perly.y"
09bef843 1848{ yyval.opval = yyvsp[0].opval; }
4633a7c4 1849break;
71be2cbc 1850case 53:
891be019 1851#line 341 "perly.y"
09bef843 1852{ yyval.opval = Nullop; }
4633a7c4 1853break;
44a8e56a 1854case 54:
891be019 1855#line 346 "perly.y"
09bef843 1856{ newMYSUB(yyvsp[-4].ival, yyvsp[-3].opval, yyvsp[-2].opval, yyvsp[-1].opval, yyvsp[0].opval); }
44a8e56a 1857break;
1858case 55:
891be019 1859#line 351 "perly.y"
09bef843 1860{ newATTRSUB(yyvsp[-4].ival, yyvsp[-3].opval, yyvsp[-2].opval, yyvsp[-1].opval, yyvsp[0].opval); }
4633a7c4 1861break;
71be2cbc 1862case 56:
891be019 1863#line 355 "perly.y"
09bef843 1864{ yyval.ival = start_subparse(FALSE, 0); }
ecca16b0
CS
1865break;
1866case 57:
891be019 1867#line 359 "perly.y"
09bef843
SB
1868{ yyval.ival = start_subparse(FALSE, CVf_ANON); }
1869break;
1870case 58:
891be019 1871#line 363 "perly.y"
09bef843
SB
1872{ yyval.ival = start_subparse(TRUE, 0); }
1873break;
1874case 59:
891be019 1875#line 367 "perly.y"
b1524f17 1876{ STRLEN n_a; char *name = SvPV(((SVOP*)yyvsp[0].opval)->op_sv,n_a);
7d07dbc2 1877 if (strEQ(name, "BEGIN") || strEQ(name, "END")
7d30b5c4 1878 || strEQ(name, "INIT") || strEQ(name, "CHECK"))
1aff0e91 1879 CvSPECIAL_on(PL_compcv);
44a8e56a 1880 yyval.opval = yyvsp[0].opval; }
4633a7c4 1881break;
09bef843 1882case 60:
891be019 1883#line 376 "perly.y"
44a8e56a 1884{ yyval.opval = Nullop; }
1885break;
09bef843 1886case 62:
891be019 1887#line 382 "perly.y"
09bef843
SB
1888{ yyval.opval = Nullop; }
1889break;
1890case 63:
891be019 1891#line 384 "perly.y"
09bef843
SB
1892{ yyval.opval = yyvsp[0].opval; }
1893break;
1894case 64:
891be019 1895#line 386 "perly.y"
09bef843
SB
1896{ yyval.opval = Nullop; }
1897break;
1898case 65:
891be019 1899#line 391 "perly.y"
44a8e56a 1900{ yyval.opval = yyvsp[0].opval; }
1901break;
09bef843 1902case 66:
891be019 1903#line 393 "perly.y"
09bef843
SB
1904{ yyval.opval = Nullop; }
1905break;
1906case 67:
891be019 1907#line 397 "perly.y"
09bef843
SB
1908{ yyval.opval = yyvsp[0].opval; }
1909break;
1910case 68:
891be019 1911#line 398 "perly.y"
954eb2b5 1912{ yyval.opval = Nullop; PL_expect = XSTATE; }
44a8e56a 1913break;
09bef843 1914case 69:
891be019 1915#line 402 "perly.y"
44a8e56a 1916{ package(yyvsp[-1].opval); }
1917break;
09bef843 1918case 70:
891be019 1919#line 404 "perly.y"
4633a7c4
LW
1920{ package(Nullop); }
1921break;
09bef843 1922case 71:
891be019 1923#line 408 "perly.y"
1aff0e91 1924{ CvSPECIAL_on(PL_compcv); /* It's a BEGIN {} */ }
44a8e56a 1925break;
09bef843 1926case 72:
891be019 1927#line 410 "perly.y"
44a8e56a 1928{ utilize(yyvsp[-6].ival, yyvsp[-5].ival, yyvsp[-3].opval, yyvsp[-2].opval, yyvsp[-1].opval); }
4633a7c4 1929break;
09bef843 1930case 73:
891be019 1931#line 415 "perly.y"
4633a7c4
LW
1932{ yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1933break;
09bef843 1934case 74:
891be019 1935#line 417 "perly.y"
4633a7c4
LW
1936{ yyval.opval = newLOGOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1937break;
09bef843 1938case 76:
891be019 1939#line 423 "perly.y"
4633a7c4
LW
1940{ yyval.opval = yyvsp[-1].opval; }
1941break;
09bef843 1942case 77:
891be019 1943#line 425 "perly.y"
4633a7c4
LW
1944{ yyval.opval = append_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval); }
1945break;
09bef843 1946case 79:
891be019 1947#line 431 "perly.y"
4633a7c4
LW
1948{ yyval.opval = convert(yyvsp[-2].ival, OPf_STACKED,
1949 prepend_elem(OP_LIST, newGVREF(yyvsp[-2].ival,yyvsp[-1].opval), yyvsp[0].opval) ); }
1950break;
09bef843 1951case 80:
891be019 1952#line 434 "perly.y"
4633a7c4
LW
1953{ yyval.opval = convert(yyvsp[-4].ival, OPf_STACKED,
1954 prepend_elem(OP_LIST, newGVREF(yyvsp[-4].ival,yyvsp[-2].opval), yyvsp[-1].opval) ); }
1955break;
09bef843 1956case 81:
891be019 1957#line 437 "perly.y"
4633a7c4
LW
1958{ yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1959 append_elem(OP_LIST,
5f05dabc 1960 prepend_elem(OP_LIST, scalar(yyvsp[-5].opval), yyvsp[-1].opval),
4633a7c4
LW
1961 newUNOP(OP_METHOD, 0, yyvsp[-3].opval))); }
1962break;
09bef843 1963case 82:
891be019 1964#line 442 "perly.y"
b1524f17
SM
1965{ yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1966 append_elem(OP_LIST, scalar(yyvsp[-2].opval),
1967 newUNOP(OP_METHOD, 0, yyvsp[0].opval))); }
1968break;
09bef843 1969case 83:
891be019 1970#line 446 "perly.y"
4633a7c4
LW
1971{ yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1972 append_elem(OP_LIST,
1973 prepend_elem(OP_LIST, yyvsp[-1].opval, yyvsp[0].opval),
1974 newUNOP(OP_METHOD, 0, yyvsp[-2].opval))); }
1975break;
09bef843 1976case 84:
891be019 1977#line 451 "perly.y"
4633a7c4
LW
1978{ yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1979 append_elem(OP_LIST,
1980 prepend_elem(OP_LIST, yyvsp[-3].opval, yyvsp[-1].opval),
1981 newUNOP(OP_METHOD, 0, yyvsp[-4].opval))); }
1982break;
09bef843 1983case 85:
891be019 1984#line 456 "perly.y"
4633a7c4
LW
1985{ yyval.opval = convert(yyvsp[-1].ival, 0, yyvsp[0].opval); }
1986break;
09bef843 1987case 86:
891be019 1988#line 458 "perly.y"
4633a7c4
LW
1989{ yyval.opval = convert(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
1990break;
09bef843 1991case 87:
891be019 1992#line 460 "perly.y"
09bef843 1993{ yyvsp[0].opval = newANONATTRSUB(yyvsp[-1].ival, 0, Nullop, yyvsp[0].opval); }
44a8e56a 1994break;
09bef843 1995case 88:
891be019 1996#line 462 "perly.y"
4633a7c4 1997{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
44a8e56a 1998 append_elem(OP_LIST,
1999 prepend_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval), yyvsp[-4].opval)); }
4633a7c4 2000break;
09bef843 2001case 91:
891be019 2002#line 476 "perly.y"
fad39ff1 2003{ yyval.opval = newBINOP(OP_GELEM, 0, yyvsp[-4].opval, scalar(yyvsp[-2].opval)); }
4633a7c4 2004break;
09bef843 2005case 92:
891be019 2006#line 478 "perly.y"
fad39ff1 2007{ yyval.opval = newBINOP(OP_AELEM, 0, oopsAV(yyvsp[-3].opval), scalar(yyvsp[-1].opval)); }
4633a7c4 2008break;
09bef843 2009case 93:
891be019 2010#line 480 "perly.y"
fad39ff1
SM
2011{ yyval.opval = newBINOP(OP_AELEM, 0,
2012 ref(newAVREF(yyvsp[-4].opval),OP_RV2AV),
2013 scalar(yyvsp[-1].opval));}
4633a7c4 2014break;
09bef843 2015case 94:
891be019 2016#line 484 "perly.y"
fad39ff1
SM
2017{ yyval.opval = newBINOP(OP_AELEM, 0,
2018 ref(newAVREF(yyvsp[-3].opval),OP_RV2AV),
2019 scalar(yyvsp[-1].opval));}
4633a7c4 2020break;
09bef843 2021case 95:
891be019 2022#line 488 "perly.y"
fad39ff1
SM
2023{ yyval.opval = newBINOP(OP_HELEM, 0, oopsHV(yyvsp[-4].opval), jmaybe(yyvsp[-2].opval));
2024 PL_expect = XOPERATOR; }
4633a7c4 2025break;
09bef843 2026case 96:
891be019 2027#line 491 "perly.y"
fad39ff1
SM
2028{ yyval.opval = newBINOP(OP_HELEM, 0,
2029 ref(newHVREF(yyvsp[-5].opval),OP_RV2HV),
2030 jmaybe(yyvsp[-2].opval));
2031 PL_expect = XOPERATOR; }
4633a7c4 2032break;
09bef843 2033case 97:
891be019 2034#line 496 "perly.y"
fad39ff1
SM
2035{ yyval.opval = newBINOP(OP_HELEM, 0,
2036 ref(newHVREF(yyvsp[-4].opval),OP_RV2HV),
2037 jmaybe(yyvsp[-2].opval));
2038 PL_expect = XOPERATOR; }
4633a7c4 2039break;
09bef843 2040case 98:
891be019 2041#line 501 "perly.y"
fad39ff1
SM
2042{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2043 newCVREF(0, scalar(yyvsp[-3].opval))); }
4633a7c4 2044break;
09bef843 2045case 99:
891be019 2046#line 504 "perly.y"
fad39ff1
SM
2047{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2048 append_elem(OP_LIST, yyvsp[-1].opval,
2049 newCVREF(0, scalar(yyvsp[-4].opval)))); }
4633a7c4 2050break;
09bef843 2051case 100:
891be019 2052#line 509 "perly.y"
fad39ff1
SM
2053{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2054 append_elem(OP_LIST, yyvsp[-1].opval,
2055 newCVREF(0, scalar(yyvsp[-3].opval)))); }
4633a7c4 2056break;
09bef843 2057case 101:
891be019 2058#line 513 "perly.y"
fad39ff1
SM
2059{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2060 newCVREF(0, scalar(yyvsp[-2].opval))); }
4633a7c4 2061break;
09bef843 2062case 102:
891be019 2063#line 519 "perly.y"
fad39ff1 2064{ yyval.opval = newASSIGNOP(OPf_STACKED, yyvsp[-2].opval, yyvsp[-1].ival, yyvsp[0].opval); }
4633a7c4 2065break;
09bef843 2066case 103:
891be019 2067#line 521 "perly.y"
fad39ff1 2068{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
4633a7c4 2069break;
09bef843 2070case 104:
891be019 2071#line 523 "perly.y"
fad39ff1
SM
2072{ if (yyvsp[-1].ival != OP_REPEAT)
2073 scalar(yyvsp[-2].opval);
2074 yyval.opval = newBINOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, scalar(yyvsp[0].opval)); }
4633a7c4 2075break;
09bef843 2076case 105:
891be019 2077#line 527 "perly.y"
fad39ff1 2078{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
4633a7c4 2079break;
09bef843 2080case 106:
891be019 2081#line 529 "perly.y"
fad39ff1 2082{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
4633a7c4 2083break;
09bef843 2084case 107:
891be019 2085#line 531 "perly.y"
fad39ff1 2086{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
4633a7c4 2087break;
09bef843 2088case 108:
891be019 2089#line 533 "perly.y"
fad39ff1 2090{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
4633a7c4 2091break;
09bef843 2092case 109:
891be019 2093#line 535 "perly.y"
fad39ff1 2094{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
b1524f17 2095break;
09bef843 2096case 110:
891be019 2097#line 537 "perly.y"
fad39ff1 2098{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
4633a7c4 2099break;
09bef843 2100case 111:
891be019 2101#line 539 "perly.y"
fad39ff1 2102{ yyval.opval = newRANGE(yyvsp[-1].ival, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval));}
4633a7c4 2103break;
09bef843 2104case 112:
891be019 2105#line 541 "perly.y"
fad39ff1 2106{ yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
4633a7c4 2107break;
09bef843 2108case 113:
891be019 2109#line 543 "perly.y"
fad39ff1 2110{ yyval.opval = newLOGOP(OP_OR, 0, yyvsp[-2].opval, yyvsp[0].opval); }
4633a7c4 2111break;
09bef843 2112case 114:
891be019 2113#line 545 "perly.y"
fad39ff1 2114{ yyval.opval = bind_match(yyvsp[-1].ival, yyvsp[-2].opval, yyvsp[0].opval); }
4633a7c4 2115break;
891be019
SC
2116case 115:
2117#line 550 "perly.y"
fad39ff1 2118{ yyval.opval = newUNOP(OP_NEGATE, 0, scalar(yyvsp[0].opval)); }
4633a7c4 2119break;
891be019
SC
2120case 116:
2121#line 552 "perly.y"
fad39ff1 2122{ yyval.opval = yyvsp[0].opval; }
4633a7c4 2123break;
891be019
SC
2124case 117:
2125#line 554 "perly.y"
fad39ff1 2126{ yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
4633a7c4 2127break;
891be019
SC
2128case 118:
2129#line 556 "perly.y"
fad39ff1 2130{ yyval.opval = newUNOP(OP_COMPLEMENT, 0, scalar(yyvsp[0].opval));}
4633a7c4 2131break;
891be019
SC
2132case 119:
2133#line 558 "perly.y"
fad39ff1
SM
2134{ yyval.opval = newUNOP(OP_POSTINC, 0,
2135 mod(scalar(yyvsp[-1].opval), OP_POSTINC)); }
4633a7c4 2136break;
891be019
SC
2137case 120:
2138#line 561 "perly.y"
fad39ff1
SM
2139{ yyval.opval = newUNOP(OP_POSTDEC, 0,
2140 mod(scalar(yyvsp[-1].opval), OP_POSTDEC)); }
c07a80fd 2141break;
891be019
SC
2142case 121:
2143#line 564 "perly.y"
fad39ff1
SM
2144{ yyval.opval = newUNOP(OP_PREINC, 0,
2145 mod(scalar(yyvsp[0].opval), OP_PREINC)); }
4633a7c4 2146break;
891be019
SC
2147case 122:
2148#line 567 "perly.y"
fad39ff1
SM
2149{ yyval.opval = newUNOP(OP_PREDEC, 0,
2150 mod(scalar(yyvsp[0].opval), OP_PREDEC)); }
4633a7c4 2151break;
891be019
SC
2152case 123:
2153#line 574 "perly.y"
2154{ yyval.opval = newANONLIST(yyvsp[-1].opval); }
2155break;
2156case 124:
2157#line 576 "perly.y"
2158{ yyval.opval = newANONLIST(Nullop); }
2159break;
09bef843 2160case 125:
891be019
SC
2161#line 578 "perly.y"
2162{ yyval.opval = newANONHASH(yyvsp[-2].opval); }
09bef843
SB
2163break;
2164case 126:
891be019
SC
2165#line 580 "perly.y"
2166{ yyval.opval = newANONHASH(Nullop); }
ecca16b0 2167break;
09bef843 2168case 127:
891be019
SC
2169#line 582 "perly.y"
2170{ yyval.opval = newANONATTRSUB(yyvsp[-3].ival, yyvsp[-2].opval, yyvsp[-1].opval, yyvsp[0].opval); }
4633a7c4 2171break;
09bef843 2172case 128:
891be019
SC
2173#line 588 "perly.y"
2174{ yyval.opval = dofile(yyvsp[0].opval); }
4633a7c4 2175break;
09bef843 2176case 129:
891be019
SC
2177#line 590 "perly.y"
2178{ yyval.opval = newUNOP(OP_NULL, OPf_SPECIAL, scope(yyvsp[0].opval)); }
4633a7c4 2179break;
09bef843 2180case 130:
891be019
SC
2181#line 592 "perly.y"
2182{ yyval.opval = newUNOP(OP_ENTERSUB,
2183 OPf_SPECIAL|OPf_STACKED,
2184 prepend_elem(OP_LIST,
2185 scalar(newCVREF(
2186 (OPpENTERSUB_AMPER<<8),
2187 scalar(yyvsp[-2].opval)
2188 )),Nullop)); dep();}
4633a7c4 2189break;
09bef843 2190case 131:
891be019
SC
2191#line 600 "perly.y"
2192{ yyval.opval = newUNOP(OP_ENTERSUB,
2193 OPf_SPECIAL|OPf_STACKED,
2194 append_elem(OP_LIST,
2195 yyvsp[-1].opval,
2196 scalar(newCVREF(
2197 (OPpENTERSUB_AMPER<<8),
2198 scalar(yyvsp[-3].opval)
2199 )))); dep();}
b1524f17 2200break;
09bef843 2201case 132:
891be019
SC
2202#line 609 "perly.y"
2203{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
2204 prepend_elem(OP_LIST,
2205 scalar(newCVREF(0,scalar(yyvsp[-2].opval))), Nullop)); dep();}
ecca16b0 2206break;
09bef843 2207case 133:
891be019
SC
2208#line 613 "perly.y"
2209{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
2210 prepend_elem(OP_LIST,
2211 yyvsp[-1].opval,
2212 scalar(newCVREF(0,scalar(yyvsp[-3].opval))))); dep();}
2213break;
2214case 138:
2215#line 625 "perly.y"
2216{ yyval.opval = newCONDOP(0, yyvsp[-4].opval, yyvsp[-2].opval, yyvsp[0].opval); }
2217break;
2218case 139:
2219#line 627 "perly.y"
2220{ yyval.opval = newUNOP(OP_REFGEN, 0, mod(yyvsp[0].opval,OP_REFGEN)); }
2221break;
2222case 140:
2223#line 629 "perly.y"
2224{ yyval.opval = yyvsp[0].opval; }
2225break;
2226case 141:
2227#line 631 "perly.y"
2228{ yyval.opval = localize(yyvsp[0].opval,yyvsp[-1].ival); }
2229break;
2230case 142:
2231#line 633 "perly.y"
2232{ yyval.opval = sawparens(yyvsp[-1].opval); }
4633a7c4 2233break;
891be019
SC
2234case 143:
2235#line 635 "perly.y"
2236{ yyval.opval = sawparens(newNULLLIST()); }
2237break;
2238case 144:
2239#line 637 "perly.y"
fad39ff1 2240{ yyval.opval = yyvsp[0].opval; }
4633a7c4 2241break;
891be019
SC
2242case 145:
2243#line 639 "perly.y"
fad39ff1 2244{ yyval.opval = yyvsp[0].opval; }
4633a7c4 2245break;
891be019
SC
2246case 146:
2247#line 641 "perly.y"
fad39ff1 2248{ yyval.opval = yyvsp[0].opval; }
4633a7c4 2249break;
891be019
SC
2250case 147:
2251#line 643 "perly.y"
fad39ff1
SM
2252{ yyval.opval = yyvsp[0].opval; }
2253break;
891be019
SC
2254case 148:
2255#line 645 "perly.y"
fad39ff1
SM
2256{ yyval.opval = newUNOP(OP_AV2ARYLEN, 0, ref(yyvsp[0].opval, OP_AV2ARYLEN));}
2257break;
891be019
SC
2258case 149:
2259#line 647 "perly.y"
fad39ff1
SM
2260{ yyval.opval = yyvsp[0].opval; }
2261break;
891be019
SC
2262case 150:
2263#line 649 "perly.y"
fad39ff1
SM
2264{ yyval.opval = newSLICEOP(0, yyvsp[-1].opval, yyvsp[-4].opval); }
2265break;
891be019
SC
2266case 151:
2267#line 651 "perly.y"
fad39ff1
SM
2268{ yyval.opval = newSLICEOP(0, yyvsp[-1].opval, Nullop); }
2269break;
891be019
SC
2270case 152:
2271#line 653 "perly.y"
4633a7c4
LW
2272{ yyval.opval = prepend_elem(OP_ASLICE,
2273 newOP(OP_PUSHMARK, 0),
2274 newLISTOP(OP_ASLICE, 0,
2275 list(yyvsp[-1].opval),
2276 ref(yyvsp[-3].opval, OP_ASLICE))); }
2277break;
891be019
SC
2278case 153:
2279#line 659 "perly.y"
4633a7c4
LW
2280{ yyval.opval = prepend_elem(OP_HSLICE,
2281 newOP(OP_PUSHMARK, 0),
2282 newLISTOP(OP_HSLICE, 0,
2283 list(yyvsp[-2].opval),
2284 ref(oopsHV(yyvsp[-4].opval), OP_HSLICE)));
954eb2b5 2285 PL_expect = XOPERATOR; }
4633a7c4 2286break;
891be019
SC
2287case 154:
2288#line 666 "perly.y"
ecca16b0 2289{ yyval.opval = yyvsp[0].opval; }
4633a7c4 2290break;
891be019
SC
2291case 155:
2292#line 668 "perly.y"
ecca16b0 2293{ yyval.opval = newUNOP(OP_ENTERSUB, 0, scalar(yyvsp[0].opval)); }
4633a7c4 2294break;
891be019
SC
2295case 156:
2296#line 670 "perly.y"
ecca16b0 2297{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar(yyvsp[-2].opval)); }
4633a7c4 2298break;
891be019
SC
2299case 157:
2300#line 672 "perly.y"
4633a7c4 2301{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
ecca16b0 2302 append_elem(OP_LIST, yyvsp[-1].opval, scalar(yyvsp[-3].opval))); }
4633a7c4 2303break;
891be019
SC
2304case 158:
2305#line 675 "perly.y"
ecca16b0
CS
2306{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2307 append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); }
4633a7c4 2308break;
891be019
SC
2309case 159:
2310#line 678 "perly.y"
ecca16b0 2311{ yyval.opval = newOP(yyvsp[0].ival, OPf_SPECIAL);
954eb2b5 2312 PL_hints |= HINT_BLOCK_SCOPE; }
4633a7c4 2313break;
891be019
SC
2314case 160:
2315#line 681 "perly.y"
b1524f17 2316{ yyval.opval = newLOOPEX(yyvsp[-1].ival,yyvsp[0].opval); }
4633a7c4 2317break;
891be019
SC
2318case 161:
2319#line 683 "perly.y"
b1524f17 2320{ yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
878e08df 2321break;
891be019
SC
2322case 162:
2323#line 685 "perly.y"
b1524f17 2324{ yyval.opval = newOP(yyvsp[0].ival, 0); }
878e08df 2325break;
891be019
SC
2326case 163:
2327#line 687 "perly.y"
ecca16b0 2328{ yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
4633a7c4 2329break;
891be019
SC
2330case 164:
2331#line 689 "perly.y"
b1524f17
SM
2332{ yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2333break;
891be019
SC
2334case 165:
2335#line 691 "perly.y"
ecca16b0
CS
2336{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2337 append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); }
4633a7c4 2338break;
891be019
SC
2339case 166:
2340#line 694 "perly.y"
ecca16b0 2341{ yyval.opval = newOP(yyvsp[0].ival, 0); }
4633a7c4 2342break;
891be019
SC
2343case 167:
2344#line 696 "perly.y"
ecca16b0 2345{ yyval.opval = newOP(yyvsp[-2].ival, 0); }
4633a7c4 2346break;
891be019
SC
2347case 168:
2348#line 698 "perly.y"
ecca16b0
CS
2349{ yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2350 scalar(yyvsp[0].opval)); }
4633a7c4 2351break;
891be019
SC
2352case 169:
2353#line 701 "perly.y"
ecca16b0 2354{ yyval.opval = newOP(yyvsp[-2].ival, OPf_SPECIAL); }
4633a7c4 2355break;
891be019
SC
2356case 170:
2357#line 703 "perly.y"
ecca16b0 2358{ yyval.opval = newUNOP(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
4633a7c4 2359break;
891be019
SC
2360case 171:
2361#line 705 "perly.y"
ecca16b0 2362{ yyval.opval = pmruntime(yyvsp[-3].opval, yyvsp[-1].opval, Nullop); }
4633a7c4 2363break;
891be019
SC
2364case 172:
2365#line 707 "perly.y"
ecca16b0 2366{ yyval.opval = pmruntime(yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval); }
4633a7c4 2367break;
891be019
SC
2368case 175:
2369#line 714 "perly.y"
09bef843 2370{ yyval.opval = my_attrs(yyvsp[-1].opval,yyvsp[0].opval); }
4633a7c4 2371break;
891be019
SC
2372case 176:
2373#line 716 "perly.y"
09bef843
SB
2374{ yyval.opval = localize(yyvsp[0].opval,yyvsp[-1].ival); }
2375break;
891be019
SC
2376case 177:
2377#line 721 "perly.y"
09bef843
SB
2378{ yyval.opval = sawparens(yyvsp[-1].opval); }
2379break;
891be019
SC
2380case 178:
2381#line 723 "perly.y"
09bef843
SB
2382{ yyval.opval = sawparens(newNULLLIST()); }
2383break;
891be019
SC
2384case 179:
2385#line 725 "perly.y"
ecca16b0 2386{ yyval.opval = yyvsp[0].opval; }
4633a7c4 2387break;
891be019
SC
2388case 180:
2389#line 727 "perly.y"
09bef843
SB
2390{ yyval.opval = yyvsp[0].opval; }
2391break;
891be019
SC
2392case 181:
2393#line 729 "perly.y"
09bef843
SB
2394{ yyval.opval = yyvsp[0].opval; }
2395break;
891be019
SC
2396case 182:
2397#line 734 "perly.y"
ecca16b0 2398{ yyval.opval = Nullop; }
5f05dabc 2399break;
891be019
SC
2400case 183:
2401#line 736 "perly.y"
ecca16b0 2402{ yyval.opval = yyvsp[0].opval; }
5f05dabc 2403break;
891be019
SC
2404case 184:
2405#line 740 "perly.y"
09bef843 2406{ yyval.opval = Nullop; }
5f05dabc 2407break;
891be019
SC
2408case 185:
2409#line 742 "perly.y"
09bef843 2410{ yyval.opval = yyvsp[0].opval; }
4633a7c4 2411break;
891be019
SC
2412case 186:
2413#line 744 "perly.y"
09bef843 2414{ yyval.opval = yyvsp[-1].opval; }
4633a7c4 2415break;
891be019
SC
2416case 187:
2417#line 750 "perly.y"
954eb2b5 2418{ PL_in_my = 0; yyval.opval = my(yyvsp[0].opval); }
4633a7c4 2419break;
891be019
SC
2420case 188:
2421#line 754 "perly.y"
ecca16b0 2422{ yyval.opval = newCVREF(yyvsp[-1].ival,yyvsp[0].opval); }
4633a7c4 2423break;
891be019
SC
2424case 189:
2425#line 758 "perly.y"
ecca16b0 2426{ yyval.opval = newSVREF(yyvsp[0].opval); }
4633a7c4 2427break;
891be019
SC
2428case 190:
2429#line 762 "perly.y"
ecca16b0 2430{ yyval.opval = newAVREF(yyvsp[0].opval); }
4633a7c4 2431break;
891be019
SC
2432case 191:
2433#line 766 "perly.y"
ecca16b0 2434{ yyval.opval = newHVREF(yyvsp[0].opval); }
4633a7c4 2435break;
891be019
SC
2436case 192:
2437#line 770 "perly.y"
ecca16b0 2438{ yyval.opval = newAVREF(yyvsp[0].opval); }
4633a7c4 2439break;
891be019
SC
2440case 193:
2441#line 774 "perly.y"
ecca16b0 2442{ yyval.opval = newGVREF(0,yyvsp[0].opval); }
c07a80fd 2443break;
891be019
SC
2444case 194:
2445#line 779 "perly.y"
ecca16b0 2446{ yyval.opval = scalar(yyvsp[0].opval); }
878e08df 2447break;
891be019
SC
2448case 195:
2449#line 781 "perly.y"
ecca16b0 2450{ yyval.opval = scalar(yyvsp[0].opval); }
878e08df 2451break;
891be019
SC
2452case 196:
2453#line 783 "perly.y"
ecca16b0
CS
2454{ yyval.opval = scope(yyvsp[0].opval); }
2455break;
891be019
SC
2456case 197:
2457#line 786 "perly.y"
4633a7c4
LW
2458{ yyval.opval = yyvsp[0].opval; }
2459break;
891be019 2460#line 2477 "perly.c"
4633a7c4
LW
2461 }
2462 yyssp -= yym;
2463 yystate = *yyssp;
2464 yyvsp -= yym;
2465 yym = yylhs[yyn];
2466 if (yystate == 0 && yym == 0)
2467 {
2468#if YYDEBUG
2469 if (yydebug)
36c66720
RH
2470 PerlIO_printf(Perl_debug_log, "yydebug: after reduction, shifting from state 0 to\
2471 state %d\n", YYFINAL);
4633a7c4
LW
2472#endif
2473 yystate = YYFINAL;
2474 *++yyssp = YYFINAL;
2475 *++yyvsp = yyval;
2476 if (yychar < 0)
2477 {
2478 if ((yychar = yylex()) < 0) yychar = 0;
2479#if YYDEBUG
2480 if (yydebug)
2481 {
2482 yys = 0;
2483 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
2484 if (!yys) yys = "illegal-symbol";
17f28c40 2485 PerlIO_printf(Perl_debug_log, "yydebug: state %d, reading %d (%s)\n",
4633a7c4
LW
2486 YYFINAL, yychar, yys);
2487 }
2488#endif
2489 }
2490 if (yychar == 0) goto yyaccept;
2491 goto yyloop;
2492 }
2493 if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
2494 yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
2495 yystate = yytable[yyn];
2496 else
2497 yystate = yydgoto[yym];
2498#if YYDEBUG
2499 if (yydebug)
36c66720
RH
2500 PerlIO_printf(Perl_debug_log, "yydebug: after reduction, shifting from state %d \
2501to state %d\n", *yyssp, yystate);
4633a7c4
LW
2502#endif
2503 if (yyssp >= yyss + yystacksize - 1)
2504 {
2505 /*
2506 ** reallocate and recover. Note that pointers
2507 ** have to be reset, or bad things will happen
2508 */
2509 int yyps_index = (yyssp - yyss);
2510 int yypv_index = (yyvsp - yyvs);
2511 yystacksize += YYSTACKSIZE;
09bef843
SB
2512 ysave->yyvs = Renew(yyvs, yystacksize, YYSTYPE);
2513 ysave->yyss = Renew(yyss, yystacksize, short);
4633a7c4
LW
2514 if (!yyvs || !yyss)
2515 goto yyoverflow;
2516 yyssp = yyss + yyps_index;
2517 yyvsp = yyvs + yypv_index;
2518 }
2519 *++yyssp = yystate;
2520 *++yyvsp = yyval;
2521 goto yyloop;
2522yyoverflow:
2523 yyerror("Out of memory for yacc stack");
2524yyabort:
2525 retval = 1;
2526yyaccept:
f4dd75d9
GS
2527#ifdef USE_ITHREADS
2528 LEAVE; /* force yydestruct() before we return */
2529#endif
4633a7c4
LW
2530 return retval;
2531}
e1f15930
GS
2532
2533#ifdef PERL_OBJECT
e1f15930
GS
2534#include "XSUB.h"
2535#endif
2536
2537static void
2538yydestruct(pTHXo_ void *ptr)
2539{
2540 struct ysv* ysave = (struct ysv*)ptr;
2541 if (ysave->yyss) Safefree(ysave->yyss);
2542 if (ysave->yyvs) Safefree(ysave->yyvs);
2543 yydebug = ysave->oldyydebug;
2544 yynerrs = ysave->oldyynerrs;
2545 yyerrflag = ysave->oldyyerrflag;
2546 yychar = ysave->oldyychar;
2547 yyval = ysave->oldyyval;
2548 yylval = ysave->oldyylval;
2549 Safefree(ysave);
2550}