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