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