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