2 static char yysccsid[] = "@(#)yaccpar 1.8 (Berkeley) 01/20/91";
7 #define PERL_IN_PERLY_C
10 #define dep() deprecate("\"do\" to call subroutines")
12 /* stuff included here to make perly_c.diff apply better */
14 #define yydebug PL_yydebug
15 #define yynerrs PL_yynerrs
16 #define yyerrflag PL_yyerrflag
17 #define yychar PL_yychar
18 #define yyval PL_yyval
19 #define yylval PL_yylval
32 static void yydestruct(void *ptr);
37 struct ysv* ysave = (struct ysv*)ptr;
38 if (ysave->yyss) Safefree(ysave->yyss);
39 if (ysave->yyvs) Safefree(ysave->yyvs);
40 yydebug = ysave->oldyydebug;
41 yynerrs = ysave->oldyynerrs;
42 yyerrflag = ysave->oldyyerrflag;
43 yychar = ysave->oldyychar;
44 yyval = ysave->oldyyval;
45 yylval = ysave->oldyylval;
50 #if 0 /* get this from perly.h instead */
62 #define YYLEX_PARAM (&yychar)
67 static short yylhs[] = { -1,
68 50, 0, 8, 6, 9, 7, 10, 10, 10, 11,
69 11, 11, 11, 24, 24, 24, 24, 24, 24, 24,
70 14, 14, 14, 13, 13, 42, 42, 12, 12, 12,
71 12, 12, 12, 12, 26, 26, 27, 27, 28, 29,
72 30, 31, 32, 49, 49, 1, 1, 1, 1, 1,
73 2, 38, 38, 46, 51, 3, 4, 5, 39, 40,
74 40, 44, 44, 44, 45, 45, 41, 41, 52, 52,
75 54, 53, 15, 15, 15, 25, 25, 25, 36, 36,
76 36, 36, 36, 36, 36, 36, 55, 36, 37, 37,
77 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
78 17, 16, 16, 16, 16, 16, 16, 16, 16, 16,
79 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
80 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
81 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
82 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
83 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
84 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
85 47, 47, 48, 48, 48, 48, 48, 33, 33, 34,
86 34, 34, 43, 23, 18, 19, 20, 21, 22, 35,
89 static short yylen[] = { 2,
90 0, 2, 4, 0, 4, 0, 0, 2, 2, 2,
91 1, 2, 3, 1, 1, 3, 3, 3, 3, 3,
92 0, 2, 6, 7, 7, 0, 2, 8, 8, 10,
93 9, 8, 11, 3, 0, 1, 0, 1, 1, 1,
94 1, 1, 1, 0, 1, 1, 1, 1, 1, 1,
95 4, 1, 0, 6, 6, 0, 0, 0, 1, 0,
96 1, 0, 2, 1, 2, 1, 1, 1, 3, 2,
97 0, 7, 3, 3, 1, 2, 3, 1, 3, 5,
98 6, 3, 3, 5, 2, 4, 0, 5, 1, 1,
99 5, 4, 5, 4, 5, 6, 5, 4, 5, 4,
100 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
101 3, 3, 3, 5, 3, 2, 2, 2, 2, 2,
102 2, 2, 2, 2, 1, 2, 3, 2, 3, 2,
103 4, 3, 5, 1, 1, 1, 1, 1, 1, 6,
104 5, 4, 5, 1, 1, 3, 4, 3, 2, 2,
105 4, 5, 4, 5, 1, 2, 2, 1, 2, 2,
106 2, 1, 3, 1, 3, 4, 4, 6, 1, 1,
107 3, 2, 3, 2, 1, 1, 1, 0, 1, 0,
108 1, 2, 1, 2, 2, 2, 2, 2, 2, 1,
111 static short yydefred[] = { 1,
112 0, 7, 0, 45, 58, 56, 0, 56, 56, 8,
113 46, 9, 11, 48, 0, 47, 49, 50, 0, 0,
114 0, 70, 71, 0, 14, 4, 169, 0, 0, 144,
115 0, 164, 0, 57, 57, 0, 0, 0, 0, 0,
116 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
117 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
118 0, 12, 0, 0, 0, 0, 0, 0, 0, 10,
119 0, 0, 0, 0, 0, 136, 138, 0, 0, 0,
120 0, 170, 125, 52, 0, 59, 0, 69, 0, 0,
121 7, 190, 193, 192, 191, 0, 0, 0, 0, 0,
122 0, 4, 4, 4, 4, 4, 4, 0, 0, 0,
123 0, 0, 159, 0, 0, 0, 0, 85, 0, 188,
124 0, 150, 0, 0, 0, 0, 0, 0, 0, 175,
125 177, 176, 0, 184, 0, 0, 0, 0, 0, 0,
126 0, 0, 130, 0, 0, 0, 185, 186, 187, 189,
127 0, 34, 0, 0, 0, 0, 0, 0, 0, 0,
128 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
129 0, 0, 0, 121, 122, 0, 0, 0, 0, 0,
130 0, 0, 0, 0, 0, 13, 0, 51, 61, 0,
131 0, 0, 0, 83, 0, 0, 87, 0, 0, 0,
132 0, 0, 0, 0, 4, 163, 165, 0, 0, 0,
133 0, 0, 0, 0, 132, 0, 148, 174, 0, 0,
134 171, 0, 0, 129, 27, 0, 0, 19, 0, 0,
135 0, 0, 73, 0, 0, 0, 0, 0, 0, 0,
136 0, 0, 0, 0, 0, 0, 0, 0, 89, 0,
137 0, 90, 0, 0, 101, 0, 0, 0, 0, 0,
138 0, 0, 146, 0, 0, 0, 0, 0, 0, 3,
139 0, 0, 167, 0, 0, 0, 42, 0, 43, 0,
140 0, 0, 0, 183, 0, 0, 36, 41, 0, 0,
141 0, 166, 182, 86, 0, 151, 0, 153, 0, 131,
142 173, 65, 0, 0, 0, 0, 98, 0, 0, 0,
143 0, 100, 94, 0, 92, 0, 142, 0, 147, 63,
144 68, 67, 55, 0, 54, 84, 0, 88, 133, 0,
145 0, 0, 0, 0, 0, 0, 0, 80, 152, 154,
146 141, 0, 0, 0, 99, 93, 0, 97, 95, 143,
147 91, 72, 168, 6, 0, 0, 0, 0, 0, 0,
148 0, 0, 140, 96, 81, 7, 28, 29, 0, 0,
149 24, 25, 0, 32, 0, 0, 0, 22, 0, 0,
150 0, 31, 5, 0, 30, 0, 0, 33, 0, 23,
152 static short yydgoto[] = { 1,
153 10, 11, 20, 100, 19, 91, 366, 94, 355, 3,
154 12, 13, 70, 371, 281, 72, 73, 74, 75, 76,
155 77, 78, 79, 287, 81, 288, 277, 279, 282, 290,
156 278, 280, 118, 210, 96, 82, 253, 85, 87, 190,
157 323, 152, 285, 267, 221, 14, 83, 133, 15, 2,
160 static short yysindex[] = { 0,
161 0, 0, -199, 0, 0, 0, -53, 0, 0, 0,
162 0, 0, 0, 0, 646, 0, 0, 0, -217, -207,
163 44, 0, 0, -207, 0, 0, 0, -32, -32, 0,
164 66, 0, 2177, 0, 0, 69, 83, 93, 110, -35,
165 2177, 119, 121, 136, 1013, 973, -32, 1077, 1344, -146,
166 2177, 68, -32, 2177, 2177, 2177, 2177, 2177, 2177, 1384,
167 1424, 0, 2177, 2177, -32, -32, -32, -32, -152, 0,
168 470, 845, -13, -65, -63, 0, 0, 55, 137, 122,
169 138, 0, 0, 0, 60, 0, -70, 0, -66, -70,
170 0, 0, 0, 0, 0, 2177, 146, 2177, 1085, 60,
171 -70, 0, 0, 0, 0, 0, 0, 152, 845, 153,
172 1464, 973, 0, 1085, 0, -65, 138, 0, 2177, 0,
173 160, 0, 1085, 2, 76, -52, 2177, 1085, 1524, 0,
174 0, 0, -96, 0, 138, -181, -181, -181, -112, -112,
175 123, -38, 0, -74, -181, -181, 0, 0, 0, 0,
176 60, 0, 2177, 2177, 2177, 2177, 2177, 2177, 2177, 2177,
177 2177, 2177, 2177, 2177, 2177, 2177, 2177, 2177, 2177, 2177,
178 2177, 2177, 2177, 0, 0, -16, 2177, 1731, 2177, 2177,
179 2177, 2177, 2177, 2177, 1791, 0, 2177, 0, 0, -88,
180 -34, -88, 339, 0, 2177, 287, 0, -88, 2177, 2177,
181 2177, 2177, 173, 1850, 0, 0, 0, -33, 46, 180,
182 2177, 138, 1910, 2025, 0, 97, 0, 0, -31, -29,
183 0, 2177, 133, 0, 0, -237, -237, 0, -237, -237,
184 -237, -69, 0, 1614, 1085, 684, 167, 107, 845, 3800,
185 1125, 405, 1164, 778, -228, -181, -181, 2177, 0, 2117,
186 2177, 0, 197, -48, 0, -9, -72, -45, -7, -42,
187 56, -36, 0, -4, 845, -10, -47, 2177, -47, 0,
188 216, 2177, 0, 2177, 60, -237, 0, 219, 0, 230,
189 -237, 233, 237, 0, 242, 470, 0, 0, 246, 225,
190 2177, 0, 0, 0, 13, 0, 18, 0, 29, 0,
191 0, 0, 61, 2177, 2177, 54, 0, 32, 63, 2177,
192 165, 0, 0, 174, 0, 178, 0, 191, 0, 0,
193 0, 0, 0, 261, 0, 0, 350, 0, 0, 182,
194 182, 182, 182, 2177, 182, 2177, 281, 0, 0, 0,
195 0, 102, 1237, 202, 0, 0, 294, 0, 0, 0,
196 0, 0, 0, 0, -152, -152, -130, -130, 297, -152,
197 290, 182, 0, 0, 0, 0, 0, 0, 182, 318,
198 0, 0, 182, 0, 1850, -152, 407, 0, 2177, -152,
199 324, 0, 0, 326, 0, 182, 182, 0, -130, 0,
201 static short yyrindex[] = { 0,
202 0, 0, 243, 0, 0, 0, 0, 0, 0, 0,
203 0, 0, 0, 0, 0, 0, 0, 0, 236, 0,
204 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
205 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
206 36, 451, 0, 0, 2208, 2271, 0, 0, 0, 0,
207 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
208 0, 0, 0, 0, 0, 0, 0, 0, 115, 0,
209 -12, 939, 2325, 2385, 2463, 0, 0, 2510, 2561, 0,
210 1220, 0, 0, 0, 0, 0, -44, 0, 0, -44,
211 0, 0, 0, 0, 0, 2271, 0, 0, 3846, 0,
212 -105, 0, 0, 0, 0, 0, 0, 0, 2612, 0,
213 0, 327, 0, 3883, 522, 583, 3032, 0, 0, 0,
214 2621, 0, 3893, 2385, 0, 0, 2271, 3930, 0, 0,
215 0, 0, 2667, 0, 3092, 3374, 3418, 3458, 3219, 3331,
216 2746, 0, 0, 0, 3496, 3567, 0, 0, 0, 0,
217 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
218 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
219 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
220 0, 0, 0, 0, 0, 0, 2797, 0, 0, -23,
221 0, -23, 913, 0, 327, 0, 0, 247, 336, 0,
222 0, 0, 0, 333, 0, 0, 0, 0, 352, 0,
223 0, 3138, 0, 0, 0, 0, 0, 0, 0, 2857,
224 0, 0, 2903, 0, 0, -8, -2, 0, 7, 33,
225 42, 2255, 0, -28, 3968, 1822, 3732, 3769, 3023, 0,
226 4119, 4082, 4021, 4005, 1044, 3610, 3694, 0, 0, 0,
227 0, 0, 2949, 0, 0, 0, 0, 0, 0, 0,
228 0, 0, 0, 0, 3657, -21, 0, 345, 0, 0,
229 0, 0, 0, 2271, 0, 71, 0, 0, 0, 0,
230 364, 0, 0, 0, 0, 86, 0, 0, 0, 0,
231 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
232 0, 0, 0, 0, 0, 0, 0, 0, 0, 327,
233 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
234 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
235 0, 0, 0, 0, 0, 355, 0, 0, 0, 0,
236 0, 0, 2972, 0, 0, 0, 0, 0, 0, 0,
237 0, 0, 0, 0, 115, 115, 175, 175, 0, 115,
238 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
239 0, 0, 0, 0, 374, 115, 913, 0, 0, 115,
240 0, 0, 0, 0, 0, 0, 0, 0, 175, 0,
242 static short yygindex[] = { 0,
243 0, 0, 164, 383, 0, 14, 0, 37, 655, -89,
244 0, 0, 0, -336, -15, 3415, 0, 2211, 368, 369,
245 0, 0, 0, 410, 916, 0, 0, 273, -163, 62,
246 94, 249, -71, -186, 634, 0, 0, 0, 428, -46,
247 184, 118, 0, -149, 0, 0, 0, 0, 0, 0,
250 #define YYTABLESIZE 4423
251 static short yytable[] = { 71,
252 65, 193, 223, 65, 107, 22, 216, 292, 271, 301,
253 311, 321, 111, 314, 60, 111, 316, 60, 224, 65,
254 313, 372, 318, 250, 194, 181, 178, 183, 15, 111,
255 111, 312, 18, 126, 111, 62, 319, 64, 39, 84,
256 289, 214, 269, 192, 142, 144, 15, 16, 275, 86,
257 18, 69, 390, 338, 198, 217, 39, 180, 339, 182,
258 163, 164, 158, 159, 111, 16, 4, 5, 6, 340,
259 7, 8, 345, 17, 251, 26, 155, 179, 60, 155,
260 172, 113, 20, 173, 122, 315, 174, 175, 176, 293,
261 26, 17, 181, 155, 155, 208, 209, 9, 155, 62,
262 20, 64, 88, 65, 67, 98, 248, 129, 102, 177,
263 127, 38, 344, 219, 26, 199, 200, 201, 202, 203,
264 204, 188, 103, 347, 180, 151, 40, 337, 155, 38,
265 173, 66, 104, 174, 175, 176, 197, 226, 227, 229,
266 230, 231, 232, 233, 15, 369, 370, 26, 317, 105,
267 26, 26, 26, 341, 26, 346, 26, 26, 110, 26,
268 111, 254, 256, 257, 258, 259, 260, 261, 262, 264,
269 359, 23, 24, 26, 21, 112, 185, 184, 26, 209,
270 186, 187, 26, 276, 227, 195, 227, 225, 286, 189,
271 191, 205, 60, 206, 363, 295, 324, 297, 299, 213,
272 215, 220, 328, 21, 176, 26, 303, 21, 65, 266,
273 21, 21, 21, 222, 21, 384, 21, 21, 291, 21,
274 294, 300, 268, 304, 92, 158, 159, 158, 159, 93,
275 302, 159, 306, 21, 308, 309, 310, 26, 21, 26,
276 26, 249, 2, 111, 111, 111, 111, 158, 159, 320,
277 111, 158, 159, 60, 158, 159, 326, 158, 159, 330,
278 106, 158, 159, 158, 159, 21, 158, 159, 158, 159,
279 331, 111, 111, 332, 111, 44, 377, 333, 44, 44,
280 44, 334, 44, 336, 44, 44, 335, 44, 342, 348,
281 158, 159, 158, 159, 209, 158, 159, 21, 349, 21,
282 21, 44, 350, 322, 354, 322, 44, 155, 155, 155,
283 155, 329, 158, 159, 155, 351, 155, 158, 159, 352,
284 276, 362, 155, 155, 155, 155, 364, 273, 158, 159,
285 272, 158, 159, 44, 365, 155, 155, 373, 155, 155,
286 155, 155, 155, 155, 155, 158, 159, 155, 375, 166,
287 155, 155, 155, 158, 159, 158, 159, 379, 53, 71,
288 158, 159, 158, 159, 386, 44, 387, 180, 44, 62,
289 26, 26, 26, 26, 26, 26, 37, 26, 26, 26,
290 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
291 353, 35, 181, 26, 26, 163, 26, 26, 26, 26,
292 26, 158, 159, 178, 40, 26, 26, 26, 26, 26,
293 26, 26, 166, 37, 35, 172, 26, 101, 173, 131,
294 132, 174, 175, 176, 80, 26, 228, 26, 26, 361,
295 21, 21, 21, 21, 21, 21, 381, 21, 21, 21,
296 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
297 283, 90, 325, 21, 21, 0, 21, 21, 21, 21,
298 21, 0, 0, 270, 0, 21, 21, 21, 21, 21,
299 21, 21, 367, 368, 0, 172, 21, 374, 173, 0,
300 0, 174, 175, 176, 0, 21, 0, 21, 21, 0,
301 0, 162, 0, 382, 162, 0, 0, 385, 44, 44,
302 44, 44, 44, 44, 0, 44, 44, 44, 162, 162,
303 0, 44, 0, 162, 44, 44, 44, 44, 0, 0,
304 0, 44, 44, 0, 44, 44, 44, 44, 44, 0,
305 0, 383, 0, 44, 44, 44, 44, 44, 44, 0,
306 0, 0, 0, 162, 44, 0, 0, 0, 0, 0,
307 0, 0, 0, 44, 190, 44, 44, 190, 190, 190,
308 0, 190, 169, 190, 190, 169, 190, 160, 0, 0,
309 0, 0, 0, 161, 162, 163, 164, 0, 0, 169,
310 169, 0, 0, 0, 169, 190, 0, 0, 0, 165,
311 167, 168, 169, 170, 171, 172, 0, 0, 173, 0,
312 0, 174, 175, 176, 4, 5, 6, 0, 7, 8,
313 0, 0, 190, 0, 169, 191, 0, 0, 191, 191,
314 191, 0, 191, 134, 191, 191, 134, 191, 0, 0,
315 160, 0, 0, 0, 0, 9, 161, 162, 163, 164,
316 134, 134, 0, 0, 0, 134, 191, 190, 0, 0,
317 0, 0, 165, 167, 168, 169, 170, 171, 172, 0,
318 0, 173, 97, 0, 174, 175, 176, 0, 0, 0,
319 0, 0, 4, 5, 6, 134, 7, 8, 55, 119,
320 120, 65, 67, 53, 0, 60, 134, 68, 64, 0,
321 63, 161, 162, 163, 164, 0, 0, 0, 147, 148,
322 149, 150, 0, 9, 62, 0, 0, 0, 191, 66,
323 169, 170, 171, 172, 0, 0, 173, 0, 0, 174,
324 175, 176, 162, 162, 162, 162, 0, 0, 0, 162,
325 0, 162, 0, 0, 0, 0, 61, 162, 162, 162,
326 162, 153, 154, 155, 156, 211, 0, 0, 157, 0,
327 162, 162, 0, 162, 162, 162, 162, 162, 162, 162,
328 0, 0, 162, 0, 0, 162, 162, 162, 26, 158,
329 159, 56, 0, 0, 0, 0, 0, 0, 190, 190,
330 190, 190, 190, 0, 190, 190, 190, 0, 0, 0,
331 190, 0, 0, 169, 169, 169, 169, 0, 0, 0,
332 169, 190, 169, 190, 190, 190, 190, 190, 169, 169,
333 169, 169, 190, 190, 190, 190, 190, 190, 0, 0,
334 0, 169, 169, 190, 169, 169, 169, 169, 169, 169,
335 169, 0, 190, 169, 190, 190, 169, 169, 169, 191,
336 191, 191, 191, 191, 0, 191, 191, 191, 0, 0,
337 0, 191, 0, 0, 134, 134, 134, 134, 0, 0,
338 0, 134, 191, 134, 191, 191, 191, 191, 191, 134,
339 134, 134, 134, 191, 191, 191, 191, 191, 191, 0,
340 0, 0, 134, 134, 191, 134, 134, 134, 134, 134,
341 134, 134, 0, 191, 134, 191, 191, 134, 134, 134,
342 0, 25, 27, 28, 29, 30, 31, 166, 32, 33,
343 34, 0, 0, 0, 35, 0, 0, 36, 37, 38,
344 39, 0, 0, 0, 40, 41, 0, 42, 43, 44,
345 45, 46, 0, 0, 0, 0, 47, 48, 49, 50,
346 51, 52, 0, 0, 0, 44, 0, 54, 44, 44,
347 44, 0, 44, 0, 44, 44, 57, 44, 58, 59,
348 0, 117, 0, 0, 0, 0, 0, 0, 0, 135,
349 161, 44, 163, 164, 0, 0, 44, 0, 0, 78,
350 0, 0, 78, 0, 0, 356, 357, 358, 0, 360,
351 0, 171, 172, 0, 0, 173, 78, 78, 174, 175,
352 176, 0, 0, 44, 0, 55, 0, 0, 65, 67,
353 53, 117, 60, 0, 68, 64, 376, 63, 0, 0,
354 0, 0, 0, 378, 0, 0, 0, 380, 0, 0,
355 0, 78, 0, 0, 212, 44, 66, 0, 44, 0,
356 388, 389, 117, 0, 0, 55, 0, 0, 65, 67,
357 53, 0, 60, 0, 68, 64, 0, 63, 0, 0,
358 0, 0, 0, 61, 161, 162, 163, 164, 0, 0,
359 0, 0, 0, 0, 0, 0, 66, 0, 0, 0,
360 0, 0, 0, 0, 106, 171, 172, 106, 0, 173,
361 0, 0, 174, 175, 176, 26, 0, 0, 56, 0,
362 0, 106, 106, 61, 0, 0, 106, 0, 0, 55,
363 0, 0, 65, 67, 53, 0, 60, 0, 68, 64,
364 0, 63, 0, 0, 0, 160, 0, 0, 0, 0,
365 0, 161, 162, 163, 164, 26, 106, 0, 56, 0,
366 66, 0, 0, 0, 0, 0, 0, 165, 167, 168,
367 169, 170, 171, 172, 0, 0, 173, 0, 0, 174,
368 175, 176, 0, 0, 0, 0, 0, 61, 44, 44,
369 44, 44, 44, 44, 0, 44, 44, 44, 0, 0,
370 0, 44, 0, 117, 44, 44, 44, 44, 0, 117,
371 0, 44, 44, 0, 44, 44, 44, 44, 44, 26,
372 0, 0, 56, 44, 44, 44, 44, 44, 44, 0,
373 78, 78, 78, 78, 44, 0, 0, 78, 0, 0,
374 0, 0, 0, 44, 0, 44, 44, 0, 0, 115,
375 28, 29, 30, 31, 93, 32, 33, 34, 78, 78,
376 0, 35, 0, 0, 0, 0, 0, 0, 0, 0,
377 0, 0, 41, 0, 42, 43, 44, 45, 46, 0,
378 75, 0, 0, 47, 48, 49, 50, 51, 52, 27,
379 28, 29, 30, 31, 54, 32, 33, 34, 75, 0,
380 0, 35, 0, 57, 0, 58, 59, 0, 0, 0,
381 0, 0, 41, 0, 42, 43, 44, 45, 46, 166,
382 0, 0, 0, 47, 48, 49, 50, 51, 52, 0,
383 0, 0, 75, 0, 54, 106, 106, 106, 106, 0,
384 0, 0, 106, 57, 106, 58, 59, 0, 0, 0,
385 106, 106, 0, 121, 28, 29, 30, 31, 0, 32,
386 33, 34, 0, 106, 106, 35, 106, 106, 106, 106,
387 106, 106, 0, 0, 0, 0, 41, 0, 42, 43,
388 44, 45, 46, 0, 0, 0, 0, 47, 48, 49,
389 50, 51, 52, 163, 164, 0, 55, 0, 54, 65,
390 67, 53, 0, 60, 0, 68, 64, 57, 63, 58,
391 59, 0, 171, 172, 0, 0, 173, 0, 0, 174,
392 175, 176, 125, 0, 0, 0, 0, 66, 0, 0,
393 0, 161, 162, 163, 164, 0, 55, 0, 0, 65,
394 67, 53, 0, 60, 141, 68, 64, 0, 63, 168,
395 169, 170, 171, 172, 61, 0, 173, 0, 0, 174,
396 175, 176, 0, 0, 0, 0, 0, 66, 0, 0,
397 161, 162, 163, 164, 0, 0, 55, 0, 0, 65,
398 67, 53, 0, 60, 0, 68, 64, 0, 63, 56,
399 170, 171, 172, 0, 61, 173, 0, 0, 174, 175,
400 176, 0, 0, 0, 0, 0, 0, 66, 0, 0,
401 0, 75, 75, 75, 75, 0, 55, 0, 75, 65,
402 67, 53, 0, 60, 207, 68, 64, 0, 63, 56,
403 0, 0, 0, 0, 61, 0, 143, 160, 0, 75,
404 75, 0, 0, 161, 162, 163, 164, 66, 0, 0,
405 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
406 167, 168, 169, 170, 171, 172, 0, 0, 173, 56,
407 0, 174, 175, 176, 61, 0, 55, 0, 0, 65,
408 67, 53, 0, 60, 218, 68, 64, 0, 63, 0,
409 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
410 0, 0, 0, 0, 0, 0, 0, 66, 0, 56,
411 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
412 27, 28, 29, 30, 31, 0, 32, 33, 34, 0,
413 0, 0, 35, 0, 61, 0, 0, 0, 0, 0,
414 0, 0, 0, 41, 0, 42, 43, 44, 45, 46,
415 0, 0, 0, 0, 47, 48, 49, 50, 51, 52,
416 27, 28, 29, 30, 31, 54, 32, 33, 34, 56,
417 0, 0, 35, 0, 57, 0, 58, 59, 0, 0,
418 0, 0, 0, 41, 0, 42, 43, 44, 45, 46,
419 0, 0, 0, 0, 47, 48, 49, 50, 51, 52,
420 27, 28, 29, 30, 31, 54, 32, 33, 34, 0,
421 0, 0, 35, 0, 57, 0, 58, 59, 0, 0,
422 0, 0, 0, 41, 0, 42, 43, 44, 45, 46,
423 0, 0, 0, 0, 47, 48, 49, 50, 51, 52,
424 27, 28, 29, 30, 31, 54, 32, 33, 34, 0,
425 0, 0, 35, 0, 57, 0, 58, 59, 0, 0,
426 0, 0, 0, 41, 0, 42, 43, 44, 45, 46,
427 0, 0, 0, 0, 47, 48, 49, 50, 51, 52,
428 0, 0, 0, 55, 0, 54, 65, 67, 53, 0,
429 60, 255, 68, 64, 57, 63, 58, 59, 0, 0,
430 27, 28, 29, 30, 31, 0, 32, 33, 34, 0,
431 0, 0, 35, 0, 66, 0, 0, 0, 0, 0,
432 0, 0, 0, 41, 0, 42, 43, 44, 45, 46,
433 0, 0, 0, 0, 47, 48, 49, 50, 51, 52,
434 0, 61, 0, 55, 0, 54, 65, 67, 53, 0,
435 60, 263, 68, 64, 57, 63, 58, 59, 0, 0,
436 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
437 0, 0, 0, 0, 66, 0, 56, 0, 0, 0,
438 0, 0, 108, 0, 0, 108, 0, 0, 0, 0,
439 0, 0, 0, 0, 0, 0, 0, 0, 0, 108,
440 108, 61, 55, 0, 108, 65, 67, 53, 0, 60,
441 0, 68, 64, 0, 63, 0, 0, 0, 0, 0,
442 161, 162, 163, 164, 0, 0, 0, 0, 0, 0,
443 0, 0, 0, 66, 108, 0, 56, 167, 168, 169,
444 170, 171, 172, 0, 0, 173, 0, 0, 174, 175,
445 176, 0, 0, 0, 0, 0, 0, 0, 0, 0,
446 61, 0, 55, 0, 0, 65, 67, 53, 0, 60,
447 296, 68, 64, 0, 63, 0, 0, 0, 0, 0,
448 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
449 0, 0, 0, 66, 0, 56, 0, 0, 0, 0,
450 0, 0, 0, 0, 0, 0, 0, 27, 28, 29,
451 30, 31, 0, 32, 33, 34, 0, 0, 0, 35,
452 61, 0, 0, 0, 0, 0, 0, 0, 0, 0,
453 41, 0, 42, 43, 44, 45, 46, 0, 0, 0,
454 0, 47, 48, 49, 50, 51, 52, 0, 0, 0,
455 0, 0, 54, 0, 0, 56, 0, 0, 0, 0,
456 0, 57, 0, 58, 59, 0, 0, 27, 28, 29,
457 30, 31, 0, 32, 33, 34, 0, 55, 0, 35,
458 65, 67, 53, 0, 60, 298, 68, 64, 0, 63,
459 41, 0, 42, 43, 44, 45, 46, 0, 0, 0,
460 0, 47, 48, 49, 50, 51, 52, 0, 66, 0,
461 0, 0, 54, 108, 108, 108, 108, 0, 0, 0,
462 108, 57, 108, 58, 59, 25, 27, 28, 29, 30,
463 31, 0, 32, 33, 34, 61, 0, 0, 35, 0,
464 0, 108, 108, 0, 108, 108, 108, 108, 108, 41,
465 0, 42, 43, 44, 45, 46, 0, 0, 0, 0,
466 47, 48, 49, 50, 51, 52, 0, 0, 0, 55,
467 56, 54, 65, 67, 53, 0, 60, 307, 68, 64,
468 57, 63, 58, 59, 0, 0, 27, 28, 29, 30,
469 31, 0, 32, 33, 34, 0, 0, 0, 35, 0,
470 66, 0, 0, 0, 0, 0, 0, 0, 0, 41,
471 0, 42, 43, 44, 45, 46, 0, 0, 0, 0,
472 47, 48, 49, 50, 51, 52, 0, 61, 0, 55,
473 0, 54, 65, 67, 53, 0, 60, 0, 68, 64,
474 57, 63, 58, 59, 0, 0, 0, 0, 0, 0,
475 0, 0, 0, 0, 0, 0, 0, 0, 95, 95,
476 66, 0, 56, 0, 0, 0, 0, 0, 158, 0,
477 108, 158, 0, 0, 0, 0, 116, 95, 124, 0,
478 0, 0, 130, 95, 0, 158, 158, 61, 0, 0,
479 158, 0, 0, 0, 0, 95, 95, 95, 95, 0,
480 0, 27, 28, 29, 30, 31, 0, 32, 33, 34,
481 0, 0, 0, 35, 0, 74, 0, 0, 74, 0,
482 158, 0, 56, 0, 41, 0, 42, 43, 44, 45,
483 46, 178, 0, 74, 178, 47, 48, 49, 50, 51,
484 52, 0, 116, 0, 0, 0, 54, 0, 178, 178,
485 0, 0, 0, 178, 0, 57, 0, 58, 59, 0,
486 0, 0, 0, 0, 0, 0, 0, 74, 0, 0,
487 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
488 0, 0, 0, 178, 0, 139, 0, 0, 139, 0,
489 0, 0, 0, 27, 28, 29, 30, 31, 0, 32,
490 33, 34, 139, 139, 0, 35, 252, 139, 0, 0,
491 0, 0, 0, 0, 0, 0, 41, 0, 42, 43,
492 44, 45, 46, 0, 0, 0, 0, 47, 48, 49,
493 50, 51, 52, 284, 0, 0, 0, 139, 54, 0,
494 0, 0, 0, 0, 0, 134, 0, 57, 134, 58,
495 59, 0, 0, 27, 28, 29, 30, 31, 0, 32,
496 33, 34, 134, 134, 0, 35, 0, 134, 0, 0,
497 0, 0, 0, 0, 0, 0, 41, 0, 42, 43,
498 44, 45, 46, 0, 0, 0, 0, 47, 48, 49,
499 50, 51, 52, 0, 0, 0, 0, 134, 54, 158,
500 158, 158, 158, 0, 0, 0, 158, 57, 158, 58,
501 59, 0, 0, 0, 158, 158, 158, 158, 0, 0,
502 0, 0, 0, 137, 0, 0, 137, 158, 158, 0,
503 158, 158, 158, 158, 158, 158, 158, 0, 0, 158,
504 137, 137, 158, 158, 158, 137, 74, 74, 74, 74,
505 0, 0, 0, 74, 0, 0, 0, 0, 0, 0,
506 0, 0, 178, 178, 178, 178, 0, 0, 0, 178,
507 135, 178, 0, 135, 74, 137, 0, 178, 178, 178,
508 178, 0, 0, 0, 0, 0, 0, 135, 135, 0,
509 178, 178, 135, 178, 178, 178, 178, 178, 178, 178,
510 0, 0, 178, 0, 0, 178, 178, 178, 0, 0,
511 0, 0, 0, 0, 0, 0, 139, 139, 139, 139,
512 0, 145, 135, 139, 145, 139, 0, 0, 0, 0,
513 0, 139, 139, 139, 139, 0, 0, 0, 145, 145,
514 0, 0, 0, 145, 139, 139, 0, 139, 139, 139,
515 139, 139, 139, 139, 0, 0, 139, 0, 0, 139,
516 139, 139, 0, 0, 0, 0, 0, 0, 0, 0,
517 0, 0, 156, 145, 0, 156, 134, 134, 134, 134,
518 0, 169, 0, 134, 169, 134, 0, 0, 0, 156,
519 156, 134, 134, 134, 134, 0, 0, 0, 169, 169,
520 0, 0, 0, 169, 134, 134, 0, 134, 134, 134,
521 134, 134, 134, 134, 0, 0, 134, 0, 0, 134,
522 134, 134, 0, 0, 156, 0, 0, 172, 0, 0,
523 172, 0, 0, 169, 0, 0, 0, 0, 0, 0,
524 0, 0, 0, 0, 172, 172, 0, 0, 0, 172,
525 0, 0, 0, 0, 137, 137, 137, 137, 0, 0,
526 0, 137, 0, 137, 0, 0, 0, 0, 0, 137,
527 137, 137, 137, 0, 0, 0, 0, 0, 0, 172,
528 0, 0, 137, 137, 0, 137, 137, 137, 137, 137,
529 137, 137, 0, 0, 137, 0, 0, 137, 137, 137,
530 0, 135, 135, 135, 135, 0, 128, 0, 135, 128,
531 135, 0, 0, 0, 0, 0, 135, 135, 135, 135,
532 0, 0, 0, 128, 128, 0, 0, 0, 128, 135,
533 135, 0, 135, 135, 135, 135, 135, 135, 135, 0,
534 0, 135, 0, 0, 135, 135, 135, 0, 0, 0,
535 0, 0, 145, 145, 145, 145, 0, 76, 128, 145,
536 76, 145, 0, 0, 0, 0, 0, 145, 145, 145,
537 145, 0, 0, 0, 76, 76, 0, 0, 0, 76,
538 145, 145, 0, 145, 145, 145, 145, 145, 145, 145,
539 0, 0, 145, 0, 0, 145, 145, 145, 0, 0,
540 0, 0, 0, 156, 156, 156, 156, 0, 0, 76,
541 156, 0, 169, 169, 169, 169, 0, 66, 0, 169,
542 66, 169, 0, 0, 0, 0, 0, 169, 169, 169,
543 169, 156, 156, 0, 66, 66, 0, 0, 0, 66,
544 169, 169, 0, 169, 169, 169, 169, 169, 169, 169,
545 0, 0, 169, 0, 0, 169, 169, 169, 172, 172,
546 172, 172, 0, 127, 0, 172, 127, 172, 0, 66,
547 0, 0, 0, 172, 172, 172, 172, 0, 0, 0,
548 127, 127, 0, 0, 0, 127, 172, 172, 0, 172,
549 172, 172, 172, 172, 172, 172, 0, 0, 172, 0,
550 0, 172, 172, 172, 0, 0, 0, 0, 0, 82,
551 0, 0, 82, 0, 0, 127, 0, 0, 0, 0,
552 0, 0, 0, 0, 0, 0, 82, 82, 0, 0,
553 0, 82, 114, 0, 0, 114, 0, 128, 128, 128,
554 128, 0, 0, 0, 128, 0, 128, 0, 0, 114,
555 114, 0, 128, 128, 128, 128, 0, 0, 0, 0,
556 0, 82, 0, 0, 0, 128, 128, 0, 128, 128,
557 128, 128, 128, 128, 128, 0, 0, 128, 0, 0,
558 128, 128, 128, 102, 114, 0, 102, 0, 76, 76,
559 76, 76, 179, 0, 0, 76, 0, 76, 0, 0,
560 102, 102, 0, 76, 76, 76, 76, 0, 0, 179,
561 179, 0, 0, 0, 179, 0, 76, 76, 0, 76,
562 76, 76, 76, 76, 76, 76, 0, 0, 76, 0,
563 0, 76, 76, 76, 0, 102, 0, 0, 0, 0,
564 0, 0, 0, 0, 179, 0, 0, 0, 66, 66,
565 66, 66, 157, 0, 0, 66, 0, 66, 0, 0,
566 0, 0, 0, 66, 66, 66, 66, 0, 0, 157,
567 157, 0, 0, 0, 157, 0, 66, 66, 0, 66,
568 66, 66, 66, 66, 66, 66, 0, 0, 66, 0,
569 0, 66, 66, 66, 127, 127, 127, 127, 79, 0,
570 0, 127, 0, 127, 157, 0, 0, 0, 0, 127,
571 127, 127, 127, 0, 0, 79, 79, 0, 0, 0,
572 79, 0, 127, 127, 0, 127, 127, 127, 127, 127,
573 127, 127, 0, 0, 127, 0, 0, 127, 127, 127,
574 82, 82, 82, 82, 0, 0, 0, 82, 0, 82,
575 79, 0, 0, 0, 0, 82, 82, 82, 82, 0,
576 0, 0, 0, 114, 114, 114, 114, 0, 82, 82,
577 114, 82, 82, 82, 82, 82, 82, 82, 0, 123,
578 82, 0, 123, 82, 82, 82, 0, 0, 0, 0,
579 0, 114, 114, 0, 114, 0, 123, 123, 0, 0,
580 0, 123, 0, 0, 0, 0, 0, 0, 0, 0,
581 0, 0, 0, 0, 102, 102, 102, 102, 0, 0,
582 0, 102, 0, 179, 179, 179, 179, 0, 0, 0,
583 179, 123, 179, 0, 0, 0, 0, 0, 179, 179,
584 179, 179, 102, 102, 0, 0, 0, 0, 0, 0,
585 0, 179, 179, 0, 179, 179, 179, 179, 179, 179,
586 179, 0, 0, 179, 0, 0, 179, 179, 179, 0,
587 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
588 0, 0, 0, 157, 157, 157, 157, 0, 0, 0,
589 157, 124, 157, 0, 124, 0, 0, 0, 157, 157,
590 157, 157, 0, 0, 0, 0, 0, 0, 124, 124,
591 0, 157, 157, 124, 157, 157, 157, 157, 157, 157,
592 157, 0, 0, 157, 0, 0, 157, 157, 157, 79,
593 79, 79, 79, 0, 118, 0, 79, 118, 79, 0,
594 0, 0, 0, 124, 79, 79, 79, 79, 0, 0,
595 0, 118, 118, 0, 0, 0, 118, 79, 79, 0,
596 79, 79, 79, 79, 79, 79, 79, 99, 0, 79,
597 0, 0, 79, 79, 79, 109, 0, 0, 119, 114,
598 0, 119, 123, 0, 0, 128, 118, 0, 0, 136,
599 137, 138, 139, 140, 0, 119, 119, 145, 146, 0,
600 119, 0, 0, 0, 0, 0, 0, 0, 0, 0,
601 123, 123, 123, 123, 0, 0, 0, 123, 120, 123,
602 0, 120, 0, 0, 0, 123, 123, 123, 123, 0,
603 119, 0, 196, 0, 0, 120, 120, 0, 123, 123,
604 120, 123, 123, 123, 123, 123, 123, 123, 0, 0,
605 123, 0, 0, 0, 0, 0, 116, 0, 0, 116,
606 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
607 120, 0, 0, 116, 116, 0, 0, 0, 116, 0,
608 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
609 0, 0, 0, 0, 234, 235, 236, 237, 238, 239,
610 240, 241, 242, 243, 244, 245, 246, 247, 116, 0,
611 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
612 0, 265, 124, 124, 124, 124, 0, 117, 0, 124,
613 117, 124, 0, 0, 0, 0, 0, 124, 124, 124,
614 124, 0, 0, 0, 117, 117, 0, 0, 0, 117,
615 124, 124, 0, 124, 124, 124, 124, 124, 124, 124,
616 0, 0, 124, 0, 0, 118, 118, 118, 118, 0,
617 115, 0, 118, 115, 118, 0, 0, 0, 0, 117,
618 118, 118, 118, 118, 0, 0, 0, 115, 115, 0,
619 0, 0, 115, 118, 118, 0, 118, 118, 118, 118,
620 118, 118, 118, 0, 0, 0, 327, 0, 0, 119,
621 119, 119, 119, 0, 0, 0, 119, 77, 119, 0,
622 77, 0, 115, 0, 119, 119, 119, 119, 0, 0,
623 0, 0, 0, 0, 77, 77, 0, 119, 119, 343,
624 119, 119, 119, 119, 119, 119, 119, 0, 0, 120,
625 120, 120, 120, 0, 103, 0, 120, 103, 120, 0,
626 0, 0, 0, 0, 120, 120, 120, 120, 0, 77,
627 0, 103, 103, 0, 0, 0, 103, 120, 120, 0,
628 120, 120, 120, 120, 120, 120, 120, 116, 116, 116,
629 116, 0, 104, 0, 116, 104, 116, 0, 0, 0,
630 0, 0, 116, 116, 116, 116, 103, 0, 0, 104,
631 104, 0, 0, 0, 104, 116, 116, 0, 116, 116,
632 116, 116, 116, 116, 116, 0, 0, 0, 0, 105,
633 0, 0, 105, 0, 0, 0, 0, 0, 0, 0,
634 0, 0, 0, 0, 104, 0, 105, 105, 0, 0,
635 0, 105, 0, 0, 0, 0, 0, 0, 117, 117,
636 117, 117, 0, 0, 0, 117, 0, 117, 0, 0,
637 0, 0, 0, 117, 117, 117, 117, 305, 0, 0,
638 0, 105, 166, 0, 0, 0, 117, 117, 0, 117,
639 117, 117, 117, 117, 117, 117, 0, 0, 0, 0,
640 0, 115, 115, 115, 115, 0, 161, 0, 115, 161,
641 115, 0, 0, 0, 0, 0, 115, 115, 115, 115,
642 0, 0, 0, 161, 161, 0, 0, 0, 161, 115,
643 115, 0, 115, 115, 115, 115, 115, 115, 115, 0,
644 0, 0, 0, 160, 0, 0, 160, 0, 77, 77,
645 77, 77, 0, 149, 0, 77, 149, 0, 161, 0,
646 160, 160, 0, 0, 0, 160, 0, 0, 0, 0,
647 149, 149, 0, 0, 0, 149, 77, 77, 0, 0,
648 0, 0, 0, 0, 0, 103, 103, 103, 103, 0,
649 126, 0, 103, 126, 103, 160, 0, 0, 0, 0,
650 103, 103, 103, 103, 0, 149, 0, 126, 126, 0,
651 0, 0, 126, 103, 103, 0, 103, 103, 103, 103,
652 103, 103, 103, 104, 104, 104, 104, 0, 107, 0,
653 104, 107, 104, 0, 0, 0, 0, 0, 104, 104,
654 104, 104, 126, 0, 0, 107, 107, 0, 0, 0,
655 107, 104, 104, 0, 104, 104, 104, 104, 104, 104,
656 105, 105, 105, 105, 0, 109, 0, 105, 109, 105,
657 0, 0, 0, 0, 0, 105, 105, 0, 105, 0,
658 107, 110, 109, 109, 110, 0, 0, 109, 105, 105,
659 0, 105, 105, 105, 105, 105, 105, 0, 110, 110,
660 160, 0, 0, 110, 0, 0, 161, 162, 163, 164,
661 0, 0, 0, 0, 0, 0, 0, 109, 0, 0,
662 0, 0, 165, 167, 168, 169, 170, 171, 172, 0,
663 0, 173, 0, 110, 174, 175, 176, 161, 161, 161,
664 161, 0, 112, 0, 161, 112, 161, 0, 0, 0,
665 0, 0, 161, 161, 0, 0, 0, 0, 0, 112,
666 112, 0, 0, 0, 112, 161, 161, 0, 161, 161,
667 161, 161, 161, 0, 160, 160, 160, 160, 0, 113,
668 0, 160, 113, 160, 149, 149, 149, 149, 0, 160,
669 160, 149, 0, 149, 112, 0, 113, 113, 0, 149,
670 149, 113, 160, 160, 0, 160, 160, 160, 160, 160,
671 0, 0, 149, 149, 0, 149, 149, 149, 149, 149,
672 0, 126, 126, 126, 126, 0, 0, 0, 126, 0,
673 126, 113, 0, 0, 0, 0, 126, 126, 0, 0,
674 0, 0, 0, 0, 0, 0, 0, 0, 0, 126,
675 126, 0, 126, 126, 126, 126, 126, 0, 0, 107,
676 107, 107, 107, 0, 0, 0, 107, 0, 107, 0,
677 0, 0, 0, 0, 0, 107, 0, 0, 0, 0,
678 0, 0, 0, 0, 0, 0, 0, 107, 107, 0,
679 107, 107, 107, 107, 107, 0, 109, 109, 109, 109,
680 0, 0, 0, 109, 0, 109, 0, 0, 0, 0,
681 0, 0, 110, 110, 110, 110, 0, 0, 0, 110,
682 0, 110, 0, 0, 109, 109, 0, 109, 109, 109,
683 109, 109, 0, 0, 0, 0, 0, 0, 0, 0,
684 110, 110, 0, 110, 110, 110, 110, 0, 0, 0,
685 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
686 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
687 0, 0, 0, 112, 112, 112, 112, 0, 0, 0,
688 112, 0, 112, 0, 0, 0, 0, 0, 0, 0,
689 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
690 0, 112, 112, 0, 112, 112, 112, 0, 0, 0,
691 113, 113, 113, 113, 0, 0, 0, 113, 0, 113,
692 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
693 0, 0, 0, 0, 0, 0, 0, 0, 113, 113,
696 static short yycheck[] = { 15,
697 36, 91, 41, 36, 40, 59, 59, 41, 195, 41,
698 59, 59, 41, 59, 59, 44, 59, 123, 93, 36,
699 93, 358, 59, 40, 96, 91, 40, 91, 41, 58,
700 59, 41, 41, 49, 63, 59, 41, 59, 41, 257,
701 204, 40, 192, 90, 60, 61, 59, 41, 198, 257,
702 59, 15, 389, 41, 101, 127, 59, 123, 41, 123,
703 289, 290, 300, 301, 93, 59, 266, 267, 268, 41,
704 270, 271, 41, 41, 91, 123, 41, 91, 123, 44,
705 309, 45, 41, 312, 48, 93, 315, 316, 317, 44,
706 123, 59, 91, 58, 59, 111, 112, 297, 63, 123,
707 59, 123, 59, 36, 37, 40, 123, 40, 40, 123,
708 257, 41, 59, 129, 0, 102, 103, 104, 105, 106,
709 107, 85, 40, 310, 123, 278, 41, 291, 93, 59,
710 312, 64, 40, 315, 316, 317, 100, 153, 154, 155,
711 156, 157, 158, 159, 59, 276, 277, 33, 93, 40,
712 36, 37, 38, 93, 40, 93, 42, 43, 40, 45,
713 40, 177, 178, 179, 180, 181, 182, 183, 184, 185,
714 334, 8, 9, 59, 0, 40, 40, 123, 64, 195,
715 59, 44, 123, 199, 200, 40, 202, 151, 204, 260,
716 257, 40, 298, 41, 93, 211, 268, 213, 214, 40,
717 125, 298, 274, 257, 317, 91, 222, 33, 36, 298,
718 36, 37, 38, 91, 40, 379, 42, 43, 205, 45,
719 41, 125, 257, 91, 257, 300, 301, 300, 301, 262,
720 260, 301, 248, 59, 250, 251, 40, 123, 64, 125,
721 126, 258, 0, 272, 273, 274, 275, 300, 301, 260,
722 279, 300, 301, 298, 300, 301, 41, 300, 301, 41,
723 296, 300, 301, 300, 301, 91, 300, 301, 300, 301,
724 41, 300, 301, 41, 303, 33, 366, 41, 36, 37,
725 38, 40, 40, 59, 42, 43, 41, 45, 304, 125,
726 300, 301, 300, 301, 310, 300, 301, 123, 125, 125,
727 126, 59, 125, 267, 123, 269, 64, 272, 273, 274,
728 275, 275, 300, 301, 279, 125, 281, 300, 301, 59,
729 336, 41, 287, 288, 289, 290, 125, 41, 300, 301,
730 44, 300, 301, 91, 41, 300, 301, 41, 303, 304,
731 305, 306, 307, 308, 309, 300, 301, 312, 59, 63,
732 315, 316, 317, 300, 301, 300, 301, 40, 123, 375,
733 300, 301, 300, 301, 41, 123, 41, 41, 126, 123,
734 256, 257, 258, 259, 260, 261, 41, 263, 264, 265,
735 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
736 41, 59, 41, 279, 280, 289, 282, 283, 284, 285,
737 286, 300, 301, 59, 41, 291, 292, 293, 294, 295,
738 296, 297, 63, 59, 41, 309, 302, 35, 312, 52,
739 52, 315, 316, 317, 15, 311, 154, 313, 314, 336,
740 256, 257, 258, 259, 260, 261, 375, 263, 264, 265,
741 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
742 202, 24, 269, 279, 280, -1, 282, 283, 284, 285,
743 286, -1, -1, 125, -1, 291, 292, 293, 294, 295,
744 296, 297, 355, 356, -1, 309, 302, 360, 312, -1,
745 -1, 315, 316, 317, -1, 311, -1, 313, 314, -1,
746 -1, 41, -1, 376, 44, -1, -1, 380, 256, 257,
747 258, 259, 260, 261, -1, 263, 264, 265, 58, 59,
748 -1, 269, -1, 63, 272, 273, 274, 275, -1, -1,
749 -1, 279, 280, -1, 282, 283, 284, 285, 286, -1,
750 -1, 125, -1, 291, 292, 293, 294, 295, 296, -1,
751 -1, -1, -1, 93, 302, -1, -1, -1, -1, -1,
752 -1, -1, -1, 311, 33, 313, 314, 36, 37, 38,
753 -1, 40, 41, 42, 43, 44, 45, 281, -1, -1,
754 -1, -1, -1, 287, 288, 289, 290, -1, -1, 58,
755 59, -1, -1, -1, 63, 64, -1, -1, -1, 303,
756 304, 305, 306, 307, 308, 309, -1, -1, 312, -1,
757 -1, 315, 316, 317, 266, 267, 268, -1, 270, 271,
758 -1, -1, 91, -1, 93, 33, -1, -1, 36, 37,
759 38, -1, 40, 41, 42, 43, 44, 45, -1, -1,
760 281, -1, -1, -1, -1, 297, 287, 288, 289, 290,
761 58, 59, -1, -1, -1, 63, 64, 126, -1, -1,
762 -1, -1, 303, 304, 305, 306, 307, 308, 309, -1,
763 -1, 312, 29, -1, 315, 316, 317, -1, -1, -1,
764 -1, -1, 266, 267, 268, 93, 270, 271, 33, 46,
765 47, 36, 37, 38, -1, 40, 53, 42, 43, -1,
766 45, 287, 288, 289, 290, -1, -1, -1, 65, 66,
767 67, 68, -1, 297, 59, -1, -1, -1, 126, 64,
768 306, 307, 308, 309, -1, -1, 312, -1, -1, 315,
769 316, 317, 272, 273, 274, 275, -1, -1, -1, 279,
770 -1, 281, -1, -1, -1, -1, 91, 287, 288, 289,
771 290, 272, 273, 274, 275, 112, -1, -1, 279, -1,
772 300, 301, -1, 303, 304, 305, 306, 307, 308, 309,
773 -1, -1, 312, -1, -1, 315, 316, 317, 123, 300,
774 301, 126, -1, -1, -1, -1, -1, -1, 257, 258,
775 259, 260, 261, -1, 263, 264, 265, -1, -1, -1,
776 269, -1, -1, 272, 273, 274, 275, -1, -1, -1,
777 279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
778 289, 290, 291, 292, 293, 294, 295, 296, -1, -1,
779 -1, 300, 301, 302, 303, 304, 305, 306, 307, 308,
780 309, -1, 311, 312, 313, 314, 315, 316, 317, 257,
781 258, 259, 260, 261, -1, 263, 264, 265, -1, -1,
782 -1, 269, -1, -1, 272, 273, 274, 275, -1, -1,
783 -1, 279, 280, 281, 282, 283, 284, 285, 286, 287,
784 288, 289, 290, 291, 292, 293, 294, 295, 296, -1,
785 -1, -1, 300, 301, 302, 303, 304, 305, 306, 307,
786 308, 309, -1, 311, 312, 313, 314, 315, 316, 317,
787 -1, 256, 257, 258, 259, 260, 261, 63, 263, 264,
788 265, -1, -1, -1, 269, -1, -1, 272, 273, 274,
789 275, -1, -1, -1, 279, 280, -1, 282, 283, 284,
790 285, 286, -1, -1, -1, -1, 291, 292, 293, 294,
791 295, 296, -1, -1, -1, 33, -1, 302, 36, 37,
792 38, -1, 40, -1, 42, 43, 311, 45, 313, 314,
793 -1, 46, -1, -1, -1, -1, -1, -1, -1, 54,
794 287, 59, 289, 290, -1, -1, 64, -1, -1, 41,
795 -1, -1, 44, -1, -1, 331, 332, 333, -1, 335,
796 -1, 308, 309, -1, -1, 312, 58, 59, 315, 316,
797 317, -1, -1, 91, -1, 33, -1, -1, 36, 37,
798 38, 96, 40, -1, 42, 43, 362, 45, -1, -1,
799 -1, -1, -1, 369, -1, -1, -1, 373, -1, -1,
800 -1, 93, -1, -1, 119, 123, 64, -1, 126, -1,
801 386, 387, 127, -1, -1, 33, -1, -1, 36, 37,
802 38, -1, 40, -1, 42, 43, -1, 45, -1, -1,
803 -1, -1, -1, 91, 287, 288, 289, 290, -1, -1,
804 -1, -1, -1, -1, -1, -1, 64, -1, -1, -1,
805 -1, -1, -1, -1, 41, 308, 309, 44, -1, 312,
806 -1, -1, 315, 316, 317, 123, -1, -1, 126, -1,
807 -1, 58, 59, 91, -1, -1, 63, -1, -1, 33,
808 -1, -1, 36, 37, 38, -1, 40, -1, 42, 43,
809 -1, 45, -1, -1, -1, 281, -1, -1, -1, -1,
810 -1, 287, 288, 289, 290, 123, 93, -1, 126, -1,
811 64, -1, -1, -1, -1, -1, -1, 303, 304, 305,
812 306, 307, 308, 309, -1, -1, 312, -1, -1, 315,
813 316, 317, -1, -1, -1, -1, -1, 91, 256, 257,
814 258, 259, 260, 261, -1, 263, 264, 265, -1, -1,
815 -1, 269, -1, 268, 272, 273, 274, 275, -1, 274,
816 -1, 279, 280, -1, 282, 283, 284, 285, 286, 123,
817 -1, -1, 126, 291, 292, 293, 294, 295, 296, -1,
818 272, 273, 274, 275, 302, -1, -1, 279, -1, -1,
819 -1, -1, -1, 311, -1, 313, 314, -1, -1, 257,
820 258, 259, 260, 261, 262, 263, 264, 265, 300, 301,
821 -1, 269, -1, -1, -1, -1, -1, -1, -1, -1,
822 -1, -1, 280, -1, 282, 283, 284, 285, 286, -1,
823 41, -1, -1, 291, 292, 293, 294, 295, 296, 257,
824 258, 259, 260, 261, 302, 263, 264, 265, 59, -1,
825 -1, 269, -1, 311, -1, 313, 314, -1, -1, -1,
826 -1, -1, 280, -1, 282, 283, 284, 285, 286, 63,
827 -1, -1, -1, 291, 292, 293, 294, 295, 296, -1,
828 -1, -1, 93, -1, 302, 272, 273, 274, 275, -1,
829 -1, -1, 279, 311, 281, 313, 314, -1, -1, -1,
830 287, 288, -1, 257, 258, 259, 260, 261, -1, 263,
831 264, 265, -1, 300, 301, 269, 303, 304, 305, 306,
832 307, 308, -1, -1, -1, -1, 280, -1, 282, 283,
833 284, 285, 286, -1, -1, -1, -1, 291, 292, 293,
834 294, 295, 296, 289, 290, -1, 33, -1, 302, 36,
835 37, 38, -1, 40, -1, 42, 43, 311, 45, 313,
836 314, -1, 308, 309, -1, -1, 312, -1, -1, 315,
837 316, 317, 59, -1, -1, -1, -1, 64, -1, -1,
838 -1, 287, 288, 289, 290, -1, 33, -1, -1, 36,
839 37, 38, -1, 40, 41, 42, 43, -1, 45, 305,
840 306, 307, 308, 309, 91, -1, 312, -1, -1, 315,
841 316, 317, -1, -1, -1, -1, -1, 64, -1, -1,
842 287, 288, 289, 290, -1, -1, 33, -1, -1, 36,
843 37, 38, -1, 40, -1, 42, 43, -1, 45, 126,
844 307, 308, 309, -1, 91, 312, -1, -1, 315, 316,
845 317, -1, -1, -1, -1, -1, -1, 64, -1, -1,
846 -1, 272, 273, 274, 275, -1, 33, -1, 279, 36,
847 37, 38, -1, 40, 41, 42, 43, -1, 45, 126,
848 -1, -1, -1, -1, 91, -1, 93, 281, -1, 300,
849 301, -1, -1, 287, 288, 289, 290, 64, -1, -1,
850 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
851 304, 305, 306, 307, 308, 309, -1, -1, 312, 126,
852 -1, 315, 316, 317, 91, -1, 33, -1, -1, 36,
853 37, 38, -1, 40, 41, 42, 43, -1, 45, -1,
854 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
855 -1, -1, -1, -1, -1, -1, -1, 64, -1, 126,
856 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
857 257, 258, 259, 260, 261, -1, 263, 264, 265, -1,
858 -1, -1, 269, -1, 91, -1, -1, -1, -1, -1,
859 -1, -1, -1, 280, -1, 282, 283, 284, 285, 286,
860 -1, -1, -1, -1, 291, 292, 293, 294, 295, 296,
861 257, 258, 259, 260, 261, 302, 263, 264, 265, 126,
862 -1, -1, 269, -1, 311, -1, 313, 314, -1, -1,
863 -1, -1, -1, 280, -1, 282, 283, 284, 285, 286,
864 -1, -1, -1, -1, 291, 292, 293, 294, 295, 296,
865 257, 258, 259, 260, 261, 302, 263, 264, 265, -1,
866 -1, -1, 269, -1, 311, -1, 313, 314, -1, -1,
867 -1, -1, -1, 280, -1, 282, 283, 284, 285, 286,
868 -1, -1, -1, -1, 291, 292, 293, 294, 295, 296,
869 257, 258, 259, 260, 261, 302, 263, 264, 265, -1,
870 -1, -1, 269, -1, 311, -1, 313, 314, -1, -1,
871 -1, -1, -1, 280, -1, 282, 283, 284, 285, 286,
872 -1, -1, -1, -1, 291, 292, 293, 294, 295, 296,
873 -1, -1, -1, 33, -1, 302, 36, 37, 38, -1,
874 40, 41, 42, 43, 311, 45, 313, 314, -1, -1,
875 257, 258, 259, 260, 261, -1, 263, 264, 265, -1,
876 -1, -1, 269, -1, 64, -1, -1, -1, -1, -1,
877 -1, -1, -1, 280, -1, 282, 283, 284, 285, 286,
878 -1, -1, -1, -1, 291, 292, 293, 294, 295, 296,
879 -1, 91, -1, 33, -1, 302, 36, 37, 38, -1,
880 40, 41, 42, 43, 311, 45, 313, 314, -1, -1,
881 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
882 -1, -1, -1, -1, 64, -1, 126, -1, -1, -1,
883 -1, -1, 41, -1, -1, 44, -1, -1, -1, -1,
884 -1, -1, -1, -1, -1, -1, -1, -1, -1, 58,
885 59, 91, 33, -1, 63, 36, 37, 38, -1, 40,
886 -1, 42, 43, -1, 45, -1, -1, -1, -1, -1,
887 287, 288, 289, 290, -1, -1, -1, -1, -1, -1,
888 -1, -1, -1, 64, 93, -1, 126, 304, 305, 306,
889 307, 308, 309, -1, -1, 312, -1, -1, 315, 316,
890 317, -1, -1, -1, -1, -1, -1, -1, -1, -1,
891 91, -1, 33, -1, -1, 36, 37, 38, -1, 40,
892 41, 42, 43, -1, 45, -1, -1, -1, -1, -1,
893 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
894 -1, -1, -1, 64, -1, 126, -1, -1, -1, -1,
895 -1, -1, -1, -1, -1, -1, -1, 257, 258, 259,
896 260, 261, -1, 263, 264, 265, -1, -1, -1, 269,
897 91, -1, -1, -1, -1, -1, -1, -1, -1, -1,
898 280, -1, 282, 283, 284, 285, 286, -1, -1, -1,
899 -1, 291, 292, 293, 294, 295, 296, -1, -1, -1,
900 -1, -1, 302, -1, -1, 126, -1, -1, -1, -1,
901 -1, 311, -1, 313, 314, -1, -1, 257, 258, 259,
902 260, 261, -1, 263, 264, 265, -1, 33, -1, 269,
903 36, 37, 38, -1, 40, 41, 42, 43, -1, 45,
904 280, -1, 282, 283, 284, 285, 286, -1, -1, -1,
905 -1, 291, 292, 293, 294, 295, 296, -1, 64, -1,
906 -1, -1, 302, 272, 273, 274, 275, -1, -1, -1,
907 279, 311, 281, 313, 314, 256, 257, 258, 259, 260,
908 261, -1, 263, 264, 265, 91, -1, -1, 269, -1,
909 -1, 300, 301, -1, 303, 304, 305, 306, 307, 280,
910 -1, 282, 283, 284, 285, 286, -1, -1, -1, -1,
911 291, 292, 293, 294, 295, 296, -1, -1, -1, 33,
912 126, 302, 36, 37, 38, -1, 40, 41, 42, 43,
913 311, 45, 313, 314, -1, -1, 257, 258, 259, 260,
914 261, -1, 263, 264, 265, -1, -1, -1, 269, -1,
915 64, -1, -1, -1, -1, -1, -1, -1, -1, 280,
916 -1, 282, 283, 284, 285, 286, -1, -1, -1, -1,
917 291, 292, 293, 294, 295, 296, -1, 91, -1, 33,
918 -1, 302, 36, 37, 38, -1, 40, -1, 42, 43,
919 311, 45, 313, 314, -1, -1, -1, -1, -1, -1,
920 -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
921 64, -1, 126, -1, -1, -1, -1, -1, 41, -1,
922 40, 44, -1, -1, -1, -1, 46, 47, 48, -1,
923 -1, -1, 52, 53, -1, 58, 59, 91, -1, -1,
924 63, -1, -1, -1, -1, 65, 66, 67, 68, -1,
925 -1, 257, 258, 259, 260, 261, -1, 263, 264, 265,
926 -1, -1, -1, 269, -1, 41, -1, -1, 44, -1,
927 93, -1, 126, -1, 280, -1, 282, 283, 284, 285,
928 286, 41, -1, 59, 44, 291, 292, 293, 294, 295,
929 296, -1, 112, -1, -1, -1, 302, -1, 58, 59,
930 -1, -1, -1, 63, -1, 311, -1, 313, 314, -1,
931 -1, -1, -1, -1, -1, -1, -1, 93, -1, -1,
932 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
933 -1, -1, -1, 93, -1, 41, -1, -1, 44, -1,
934 -1, -1, -1, 257, 258, 259, 260, 261, -1, 263,
935 264, 265, 58, 59, -1, 269, 176, 63, -1, -1,
936 -1, -1, -1, -1, -1, -1, 280, -1, 282, 283,
937 284, 285, 286, -1, -1, -1, -1, 291, 292, 293,
938 294, 295, 296, 203, -1, -1, -1, 93, 302, -1,
939 -1, -1, -1, -1, -1, 41, -1, 311, 44, 313,
940 314, -1, -1, 257, 258, 259, 260, 261, -1, 263,
941 264, 265, 58, 59, -1, 269, -1, 63, -1, -1,
942 -1, -1, -1, -1, -1, -1, 280, -1, 282, 283,
943 284, 285, 286, -1, -1, -1, -1, 291, 292, 293,
944 294, 295, 296, -1, -1, -1, -1, 93, 302, 272,
945 273, 274, 275, -1, -1, -1, 279, 311, 281, 313,
946 314, -1, -1, -1, 287, 288, 289, 290, -1, -1,
947 -1, -1, -1, 41, -1, -1, 44, 300, 301, -1,
948 303, 304, 305, 306, 307, 308, 309, -1, -1, 312,
949 58, 59, 315, 316, 317, 63, 272, 273, 274, 275,
950 -1, -1, -1, 279, -1, -1, -1, -1, -1, -1,
951 -1, -1, 272, 273, 274, 275, -1, -1, -1, 279,
952 41, 281, -1, 44, 300, 93, -1, 287, 288, 289,
953 290, -1, -1, -1, -1, -1, -1, 58, 59, -1,
954 300, 301, 63, 303, 304, 305, 306, 307, 308, 309,
955 -1, -1, 312, -1, -1, 315, 316, 317, -1, -1,
956 -1, -1, -1, -1, -1, -1, 272, 273, 274, 275,
957 -1, 41, 93, 279, 44, 281, -1, -1, -1, -1,
958 -1, 287, 288, 289, 290, -1, -1, -1, 58, 59,
959 -1, -1, -1, 63, 300, 301, -1, 303, 304, 305,
960 306, 307, 308, 309, -1, -1, 312, -1, -1, 315,
961 316, 317, -1, -1, -1, -1, -1, -1, -1, -1,
962 -1, -1, 41, 93, -1, 44, 272, 273, 274, 275,
963 -1, 41, -1, 279, 44, 281, -1, -1, -1, 58,
964 59, 287, 288, 289, 290, -1, -1, -1, 58, 59,
965 -1, -1, -1, 63, 300, 301, -1, 303, 304, 305,
966 306, 307, 308, 309, -1, -1, 312, -1, -1, 315,
967 316, 317, -1, -1, 93, -1, -1, 41, -1, -1,
968 44, -1, -1, 93, -1, -1, -1, -1, -1, -1,
969 -1, -1, -1, -1, 58, 59, -1, -1, -1, 63,
970 -1, -1, -1, -1, 272, 273, 274, 275, -1, -1,
971 -1, 279, -1, 281, -1, -1, -1, -1, -1, 287,
972 288, 289, 290, -1, -1, -1, -1, -1, -1, 93,
973 -1, -1, 300, 301, -1, 303, 304, 305, 306, 307,
974 308, 309, -1, -1, 312, -1, -1, 315, 316, 317,
975 -1, 272, 273, 274, 275, -1, 41, -1, 279, 44,
976 281, -1, -1, -1, -1, -1, 287, 288, 289, 290,
977 -1, -1, -1, 58, 59, -1, -1, -1, 63, 300,
978 301, -1, 303, 304, 305, 306, 307, 308, 309, -1,
979 -1, 312, -1, -1, 315, 316, 317, -1, -1, -1,
980 -1, -1, 272, 273, 274, 275, -1, 41, 93, 279,
981 44, 281, -1, -1, -1, -1, -1, 287, 288, 289,
982 290, -1, -1, -1, 58, 59, -1, -1, -1, 63,
983 300, 301, -1, 303, 304, 305, 306, 307, 308, 309,
984 -1, -1, 312, -1, -1, 315, 316, 317, -1, -1,
985 -1, -1, -1, 272, 273, 274, 275, -1, -1, 93,
986 279, -1, 272, 273, 274, 275, -1, 41, -1, 279,
987 44, 281, -1, -1, -1, -1, -1, 287, 288, 289,
988 290, 300, 301, -1, 58, 59, -1, -1, -1, 63,
989 300, 301, -1, 303, 304, 305, 306, 307, 308, 309,
990 -1, -1, 312, -1, -1, 315, 316, 317, 272, 273,
991 274, 275, -1, 41, -1, 279, 44, 281, -1, 93,
992 -1, -1, -1, 287, 288, 289, 290, -1, -1, -1,
993 58, 59, -1, -1, -1, 63, 300, 301, -1, 303,
994 304, 305, 306, 307, 308, 309, -1, -1, 312, -1,
995 -1, 315, 316, 317, -1, -1, -1, -1, -1, 41,
996 -1, -1, 44, -1, -1, 93, -1, -1, -1, -1,
997 -1, -1, -1, -1, -1, -1, 58, 59, -1, -1,
998 -1, 63, 41, -1, -1, 44, -1, 272, 273, 274,
999 275, -1, -1, -1, 279, -1, 281, -1, -1, 58,
1000 59, -1, 287, 288, 289, 290, -1, -1, -1, -1,
1001 -1, 93, -1, -1, -1, 300, 301, -1, 303, 304,
1002 305, 306, 307, 308, 309, -1, -1, 312, -1, -1,
1003 315, 316, 317, 41, 93, -1, 44, -1, 272, 273,
1004 274, 275, 41, -1, -1, 279, -1, 281, -1, -1,
1005 58, 59, -1, 287, 288, 289, 290, -1, -1, 58,
1006 59, -1, -1, -1, 63, -1, 300, 301, -1, 303,
1007 304, 305, 306, 307, 308, 309, -1, -1, 312, -1,
1008 -1, 315, 316, 317, -1, 93, -1, -1, -1, -1,
1009 -1, -1, -1, -1, 93, -1, -1, -1, 272, 273,
1010 274, 275, 41, -1, -1, 279, -1, 281, -1, -1,
1011 -1, -1, -1, 287, 288, 289, 290, -1, -1, 58,
1012 59, -1, -1, -1, 63, -1, 300, 301, -1, 303,
1013 304, 305, 306, 307, 308, 309, -1, -1, 312, -1,
1014 -1, 315, 316, 317, 272, 273, 274, 275, 41, -1,
1015 -1, 279, -1, 281, 93, -1, -1, -1, -1, 287,
1016 288, 289, 290, -1, -1, 58, 59, -1, -1, -1,
1017 63, -1, 300, 301, -1, 303, 304, 305, 306, 307,
1018 308, 309, -1, -1, 312, -1, -1, 315, 316, 317,
1019 272, 273, 274, 275, -1, -1, -1, 279, -1, 281,
1020 93, -1, -1, -1, -1, 287, 288, 289, 290, -1,
1021 -1, -1, -1, 272, 273, 274, 275, -1, 300, 301,
1022 279, 303, 304, 305, 306, 307, 308, 309, -1, 41,
1023 312, -1, 44, 315, 316, 317, -1, -1, -1, -1,
1024 -1, 300, 301, -1, 303, -1, 58, 59, -1, -1,
1025 -1, 63, -1, -1, -1, -1, -1, -1, -1, -1,
1026 -1, -1, -1, -1, 272, 273, 274, 275, -1, -1,
1027 -1, 279, -1, 272, 273, 274, 275, -1, -1, -1,
1028 279, 93, 281, -1, -1, -1, -1, -1, 287, 288,
1029 289, 290, 300, 301, -1, -1, -1, -1, -1, -1,
1030 -1, 300, 301, -1, 303, 304, 305, 306, 307, 308,
1031 309, -1, -1, 312, -1, -1, 315, 316, 317, -1,
1032 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1033 -1, -1, -1, 272, 273, 274, 275, -1, -1, -1,
1034 279, 41, 281, -1, 44, -1, -1, -1, 287, 288,
1035 289, 290, -1, -1, -1, -1, -1, -1, 58, 59,
1036 -1, 300, 301, 63, 303, 304, 305, 306, 307, 308,
1037 309, -1, -1, 312, -1, -1, 315, 316, 317, 272,
1038 273, 274, 275, -1, 41, -1, 279, 44, 281, -1,
1039 -1, -1, -1, 93, 287, 288, 289, 290, -1, -1,
1040 -1, 58, 59, -1, -1, -1, 63, 300, 301, -1,
1041 303, 304, 305, 306, 307, 308, 309, 33, -1, 312,
1042 -1, -1, 315, 316, 317, 41, -1, -1, 41, 45,
1043 -1, 44, 48, -1, -1, 51, 93, -1, -1, 55,
1044 56, 57, 58, 59, -1, 58, 59, 63, 64, -1,
1045 63, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1046 272, 273, 274, 275, -1, -1, -1, 279, 41, 281,
1047 -1, 44, -1, -1, -1, 287, 288, 289, 290, -1,
1048 93, -1, 98, -1, -1, 58, 59, -1, 300, 301,
1049 63, 303, 304, 305, 306, 307, 308, 309, -1, -1,
1050 312, -1, -1, -1, -1, -1, 41, -1, -1, 44,
1051 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1052 93, -1, -1, 58, 59, -1, -1, -1, 63, -1,
1053 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1054 -1, -1, -1, -1, 160, 161, 162, 163, 164, 165,
1055 166, 167, 168, 169, 170, 171, 172, 173, 93, -1,
1056 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1057 -1, 187, 272, 273, 274, 275, -1, 41, -1, 279,
1058 44, 281, -1, -1, -1, -1, -1, 287, 288, 289,
1059 290, -1, -1, -1, 58, 59, -1, -1, -1, 63,
1060 300, 301, -1, 303, 304, 305, 306, 307, 308, 309,
1061 -1, -1, 312, -1, -1, 272, 273, 274, 275, -1,
1062 41, -1, 279, 44, 281, -1, -1, -1, -1, 93,
1063 287, 288, 289, 290, -1, -1, -1, 58, 59, -1,
1064 -1, -1, 63, 300, 301, -1, 303, 304, 305, 306,
1065 307, 308, 309, -1, -1, -1, 272, -1, -1, 272,
1066 273, 274, 275, -1, -1, -1, 279, 41, 281, -1,
1067 44, -1, 93, -1, 287, 288, 289, 290, -1, -1,
1068 -1, -1, -1, -1, 58, 59, -1, 300, 301, 305,
1069 303, 304, 305, 306, 307, 308, 309, -1, -1, 272,
1070 273, 274, 275, -1, 41, -1, 279, 44, 281, -1,
1071 -1, -1, -1, -1, 287, 288, 289, 290, -1, 93,
1072 -1, 58, 59, -1, -1, -1, 63, 300, 301, -1,
1073 303, 304, 305, 306, 307, 308, 309, 272, 273, 274,
1074 275, -1, 41, -1, 279, 44, 281, -1, -1, -1,
1075 -1, -1, 287, 288, 289, 290, 93, -1, -1, 58,
1076 59, -1, -1, -1, 63, 300, 301, -1, 303, 304,
1077 305, 306, 307, 308, 309, -1, -1, -1, -1, 41,
1078 -1, -1, 44, -1, -1, -1, -1, -1, -1, -1,
1079 -1, -1, -1, -1, 93, -1, 58, 59, -1, -1,
1080 -1, 63, -1, -1, -1, -1, -1, -1, 272, 273,
1081 274, 275, -1, -1, -1, 279, -1, 281, -1, -1,
1082 -1, -1, -1, 287, 288, 289, 290, 58, -1, -1,
1083 -1, 93, 63, -1, -1, -1, 300, 301, -1, 303,
1084 304, 305, 306, 307, 308, 309, -1, -1, -1, -1,
1085 -1, 272, 273, 274, 275, -1, 41, -1, 279, 44,
1086 281, -1, -1, -1, -1, -1, 287, 288, 289, 290,
1087 -1, -1, -1, 58, 59, -1, -1, -1, 63, 300,
1088 301, -1, 303, 304, 305, 306, 307, 308, 309, -1,
1089 -1, -1, -1, 41, -1, -1, 44, -1, 272, 273,
1090 274, 275, -1, 41, -1, 279, 44, -1, 93, -1,
1091 58, 59, -1, -1, -1, 63, -1, -1, -1, -1,
1092 58, 59, -1, -1, -1, 63, 300, 301, -1, -1,
1093 -1, -1, -1, -1, -1, 272, 273, 274, 275, -1,
1094 41, -1, 279, 44, 281, 93, -1, -1, -1, -1,
1095 287, 288, 289, 290, -1, 93, -1, 58, 59, -1,
1096 -1, -1, 63, 300, 301, -1, 303, 304, 305, 306,
1097 307, 308, 309, 272, 273, 274, 275, -1, 41, -1,
1098 279, 44, 281, -1, -1, -1, -1, -1, 287, 288,
1099 289, 290, 93, -1, -1, 58, 59, -1, -1, -1,
1100 63, 300, 301, -1, 303, 304, 305, 306, 307, 308,
1101 272, 273, 274, 275, -1, 41, -1, 279, 44, 281,
1102 -1, -1, -1, -1, -1, 287, 288, -1, 290, -1,
1103 93, 41, 58, 59, 44, -1, -1, 63, 300, 301,
1104 -1, 303, 304, 305, 306, 307, 308, -1, 58, 59,
1105 281, -1, -1, 63, -1, -1, 287, 288, 289, 290,
1106 -1, -1, -1, -1, -1, -1, -1, 93, -1, -1,
1107 -1, -1, 303, 304, 305, 306, 307, 308, 309, -1,
1108 -1, 312, -1, 93, 315, 316, 317, 272, 273, 274,
1109 275, -1, 41, -1, 279, 44, 281, -1, -1, -1,
1110 -1, -1, 287, 288, -1, -1, -1, -1, -1, 58,
1111 59, -1, -1, -1, 63, 300, 301, -1, 303, 304,
1112 305, 306, 307, -1, 272, 273, 274, 275, -1, 41,
1113 -1, 279, 44, 281, 272, 273, 274, 275, -1, 287,
1114 288, 279, -1, 281, 93, -1, 58, 59, -1, 287,
1115 288, 63, 300, 301, -1, 303, 304, 305, 306, 307,
1116 -1, -1, 300, 301, -1, 303, 304, 305, 306, 307,
1117 -1, 272, 273, 274, 275, -1, -1, -1, 279, -1,
1118 281, 93, -1, -1, -1, -1, 287, 288, -1, -1,
1119 -1, -1, -1, -1, -1, -1, -1, -1, -1, 300,
1120 301, -1, 303, 304, 305, 306, 307, -1, -1, 272,
1121 273, 274, 275, -1, -1, -1, 279, -1, 281, -1,
1122 -1, -1, -1, -1, -1, 288, -1, -1, -1, -1,
1123 -1, -1, -1, -1, -1, -1, -1, 300, 301, -1,
1124 303, 304, 305, 306, 307, -1, 272, 273, 274, 275,
1125 -1, -1, -1, 279, -1, 281, -1, -1, -1, -1,
1126 -1, -1, 272, 273, 274, 275, -1, -1, -1, 279,
1127 -1, 281, -1, -1, 300, 301, -1, 303, 304, 305,
1128 306, 307, -1, -1, -1, -1, -1, -1, -1, -1,
1129 300, 301, -1, 303, 304, 305, 306, -1, -1, -1,
1130 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1131 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1132 -1, -1, -1, 272, 273, 274, 275, -1, -1, -1,
1133 279, -1, 281, -1, -1, -1, -1, -1, -1, -1,
1134 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1135 -1, 300, 301, -1, 303, 304, 305, -1, -1, -1,
1136 272, 273, 274, 275, -1, -1, -1, 279, -1, 281,
1137 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1138 -1, -1, -1, -1, -1, -1, -1, -1, 300, 301,
1145 #define YYMAXTOKEN 317
1147 static char *yyname[] = {
1148 "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,
1149 "'!'",0,0,"'$'","'%'","'&'",0,"'('","')'","'*'","'+'","','","'-'",0,0,0,0,0,0,0,
1150 0,0,0,0,0,"':'","';'",0,0,0,"'?'","'@'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1151 0,0,0,0,0,0,"'['",0,"']'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1152 0,0,"'{'",0,"'}'","'~'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1153 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1154 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1155 0,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",
1156 "PMFUNC","PRIVATEREF","FUNC0SUB","UNIOPSUB","LSTOPSUB","LABEL","FORMAT","SUB",
1157 "ANONSUB","PACKAGE","USE","WHILE","UNTIL","IF","UNLESS","ELSE","ELSIF",
1158 "CONTINUE","FOR","LOOPEX","DOTDOT","FUNC0","FUNC1","FUNC","UNIOP","LSTOP",
1159 "RELOP","EQOP","MULOP","ADDOP","DOLSHARP","DO","HASHBRACK","NOAMP","LOCAL","MY",
1160 "MYSUB","COLONATTR","PREC_LOW","OROP","ANDOP","NOTOP","ASSIGNOP","OROR",
1161 "ANDAND","BITOROP","BITANDOP","SHIFTOP","MATCHOP","UMINUS","REFGEN","POWOP",
1162 "PREINC","PREDEC","POSTINC","POSTDEC","ARROW",
1164 static char *yyrule[] = {
1167 "prog : $$1 lineseq",
1168 "block : '{' remember lineseq '}'",
1170 "mblock : '{' mremember lineseq '}'",
1173 "lineseq : lineseq decl",
1174 "lineseq : lineseq line",
1175 "line : label cond",
1178 "line : label sideff ';'",
1181 "sideff : expr IF expr",
1182 "sideff : expr UNLESS expr",
1183 "sideff : expr WHILE expr",
1184 "sideff : expr UNTIL iexpr",
1185 "sideff : expr FOR expr",
1187 "else : ELSE mblock",
1188 "else : ELSIF '(' mexpr ')' mblock else",
1189 "cond : IF '(' remember mexpr ')' mblock else",
1190 "cond : UNLESS '(' remember miexpr ')' mblock else",
1192 "cont : CONTINUE block",
1193 "loop : label WHILE '(' remember mtexpr ')' mblock cont",
1194 "loop : label UNTIL '(' remember miexpr ')' mblock cont",
1195 "loop : label FOR MY remember my_scalar '(' mexpr ')' mblock cont",
1196 "loop : label FOR scalar '(' remember mexpr ')' mblock cont",
1197 "loop : label FOR '(' remember mexpr ')' mblock cont",
1198 "loop : label FOR '(' remember mnexpr ';' mtexpr ';' mnexpr ')' mblock",
1199 "loop : label block cont",
1216 "format : FORMAT startformsub formname block",
1219 "mysubrout : MYSUB startsub subname proto subattrlist subbody",
1220 "subrout : SUB startsub subname proto subattrlist subbody",
1228 "subattrlist : COLONATTR THING",
1229 "subattrlist : COLONATTR",
1230 "myattrlist : COLONATTR THING",
1231 "myattrlist : COLONATTR",
1234 "package : PACKAGE WORD ';'",
1235 "package : PACKAGE ';'",
1237 "use : USE startsub $$2 WORD WORD listexpr ';'",
1238 "expr : expr ANDOP expr",
1239 "expr : expr OROP expr",
1241 "argexpr : argexpr ','",
1242 "argexpr : argexpr ',' term",
1244 "listop : LSTOP indirob argexpr",
1245 "listop : FUNC '(' indirob expr ')'",
1246 "listop : term ARROW method '(' listexprcom ')'",
1247 "listop : term ARROW method",
1248 "listop : METHOD indirob listexpr",
1249 "listop : FUNCMETH indirob '(' listexprcom ')'",
1250 "listop : LSTOP listexpr",
1251 "listop : FUNC '(' listexprcom ')'",
1253 "listop : LSTOPSUB startanonsub block $$3 listexpr",
1256 "subscripted : star '{' expr ';' '}'",
1257 "subscripted : scalar '[' expr ']'",
1258 "subscripted : term ARROW '[' expr ']'",
1259 "subscripted : subscripted '[' expr ']'",
1260 "subscripted : scalar '{' expr ';' '}'",
1261 "subscripted : term ARROW '{' expr ';' '}'",
1262 "subscripted : subscripted '{' expr ';' '}'",
1263 "subscripted : term ARROW '(' ')'",
1264 "subscripted : term ARROW '(' expr ')'",
1265 "subscripted : subscripted '(' expr ')'",
1266 "subscripted : subscripted '(' ')'",
1267 "term : term ASSIGNOP term",
1268 "term : term POWOP term",
1269 "term : term MULOP term",
1270 "term : term ADDOP term",
1271 "term : term SHIFTOP term",
1272 "term : term RELOP term",
1273 "term : term EQOP term",
1274 "term : term BITANDOP term",
1275 "term : term BITOROP term",
1276 "term : term DOTDOT term",
1277 "term : term ANDAND term",
1278 "term : term OROR term",
1279 "term : term '?' term ':' term",
1280 "term : term MATCHOP term",
1285 "term : REFGEN term",
1286 "term : term POSTINC",
1287 "term : term POSTDEC",
1288 "term : PREINC term",
1289 "term : PREDEC term",
1290 "term : myattrterm",
1291 "term : LOCAL term",
1292 "term : '(' expr ')'",
1294 "term : '[' expr ']'",
1296 "term : HASHBRACK expr ';' '}'",
1297 "term : HASHBRACK ';' '}'",
1298 "term : ANONSUB startanonsub proto subattrlist block",
1304 "term : subscripted",
1305 "term : '(' expr ')' '[' expr ']'",
1306 "term : '(' ')' '[' expr ']'",
1307 "term : ary '[' expr ']'",
1308 "term : ary '{' expr ';' '}'",
1311 "term : amper '(' ')'",
1312 "term : amper '(' expr ')'",
1313 "term : NOAMP WORD listexpr",
1316 "term : DO WORD '(' ')'",
1317 "term : DO WORD '(' expr ')'",
1318 "term : DO scalar '(' ')'",
1319 "term : DO scalar '(' expr ')'",
1321 "term : LOOPEX term",
1322 "term : NOTOP argexpr",
1324 "term : UNIOP block",
1325 "term : UNIOP term",
1326 "term : UNIOPSUB term",
1328 "term : FUNC0 '(' ')'",
1330 "term : FUNC1 '(' ')'",
1331 "term : FUNC1 '(' expr ')'",
1332 "term : PMFUNC '(' term ')'",
1333 "term : PMFUNC '(' term ',' term ')'",
1336 "myattrterm : MY myterm myattrlist",
1337 "myattrterm : MY myterm",
1338 "myterm : '(' expr ')'",
1344 "listexpr : argexpr",
1346 "listexprcom : expr",
1347 "listexprcom : expr ','",
1348 "my_scalar : scalar",
1349 "amper : '&' indirob",
1350 "scalar : '$' indirob",
1351 "ary : '@' indirob",
1352 "hsh : '%' indirob",
1353 "arylen : DOLSHARP indirob",
1354 "star : '*' indirob",
1358 "indirob : PRIVATEREF",
1361 #define yyclearin (yychar=(-1))
1362 #define yyerrok (yyerrflag=0)
1365 #define YYMAXDEPTH YYSTACKSIZE
1369 #define YYSTACKSIZE YYMAXDEPTH
1371 #define YYSTACKSIZE 500
1372 #define YYMAXDEPTH 500
1378 /* more stuff added to make perly_c.diff easier to apply */
1383 #define yyparse() Perl_yyparse(pTHX)
1385 #line 1371 "perly.c"
1386 #define YYABORT goto yyabort
1387 #define YYACCEPT goto yyaccept
1388 #define YYERROR goto yyerrlab
1392 register int yym, yyn, yystate;
1393 register short *yyssp;
1394 register YYSTYPE *yyvsp;
1397 unsigned yystacksize = YYSTACKSIZE;
1404 New(73, ysave, 1, struct ysv);
1405 SAVEDESTRUCTOR(yydestruct, ysave);
1406 ysave->oldyydebug = yydebug;
1407 ysave->oldyynerrs = yynerrs;
1408 ysave->oldyyerrflag = yyerrflag;
1409 ysave->oldyychar = yychar;
1410 ysave->oldyyval = yyval;
1411 ysave->oldyylval = yylval;
1414 if (yys = getenv("YYDEBUG"))
1417 if (yyn >= '0' && yyn <= '9')
1418 yydebug = yyn - '0';
1427 ** Initialize private stacks (yyparse may be called from an action)
1429 New(73, yyss, yystacksize, short);
1430 New(73, yyvs, yystacksize, YYSTYPE);
1438 *yyssp = yystate = 0;
1441 if (yyn = yydefred[yystate]) goto yyreduce;
1444 if ((yychar = yylex()) < 0) yychar = 0;
1449 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1450 if (!yys) yys = "illegal-symbol";
1451 PerlIO_printf(Perl_debug_log, "yydebug: state %d, reading %d (%s)\n", yystate,
1456 if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
1457 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1461 PerlIO_printf(Perl_debug_log, "yydebug: state %d, shifting to state %d\n",
1462 yystate, yytable[yyn]);
1464 if (yyssp >= yyss + yystacksize - 1)
1467 ** reallocate and recover. Note that pointers
1468 ** have to be reset, or bad things will happen
1470 int yyps_index = (yyssp - yyss);
1471 int yypv_index = (yyvsp - yyvs);
1472 yystacksize += YYSTACKSIZE;
1473 ysave->yyvs = Renew(yyvs, yystacksize, YYSTYPE);
1474 ysave->yyss = Renew(yyss, yystacksize, short);
1477 yyssp = yyss + yyps_index;
1478 yyvsp = yyvs + yypv_index;
1480 *++yyssp = yystate = yytable[yyn];
1483 if (yyerrflag > 0) --yyerrflag;
1486 if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
1487 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1492 if (yyerrflag) goto yyinrecovery;
1497 yyerror("syntax error");
1509 if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 &&
1510 yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
1514 PerlIO_printf(Perl_debug_log,
1515 "yydebug: state %d, error recovery shifting to state %d\n",
1516 *yyssp, yytable[yyn]);
1518 if (yyssp >= yyss + yystacksize - 1)
1521 ** reallocate and recover. Note that pointers
1522 ** have to be reset, or bad things will happen
1524 int yyps_index = (yyssp - yyss);
1525 int yypv_index = (yyvsp - yyvs);
1526 yystacksize += YYSTACKSIZE;
1527 ysave->yyvs = Renew(yyvs, yystacksize, YYSTYPE);
1528 ysave->yyss = Renew(yyss, yystacksize, short);
1531 yyssp = yyss + yyps_index;
1532 yyvsp = yyvs + yypv_index;
1534 *++yyssp = yystate = yytable[yyn];
1542 PerlIO_printf(Perl_debug_log, "yydebug: error recovery discarding state %d\n",
1545 if (yyssp <= yyss) goto yyabort;
1553 if (yychar == 0) goto yyabort;
1558 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1559 if (!yys) yys = "illegal-symbol";
1560 PerlIO_printf(Perl_debug_log, "yydebug: state %d, error recovery discards token %d (%s)\n",
1561 yystate, yychar, yys);
1570 PerlIO_printf(Perl_debug_log, "yydebug: state %d, reducing by rule %d (%s)\n",
1571 yystate, yyn, yyrule[yyn]);
1574 yyval = yyvsp[1-yym];
1580 #if defined(YYDEBUG) && defined(DEBUGGING)
1581 yydebug = (PL_debug & 1);
1588 { newPROG(yyvsp[0].opval); }
1592 { if (PL_copline > (line_t)yyvsp[-3].ival)
1593 PL_copline = yyvsp[-3].ival;
1594 yyval.opval = block_end(yyvsp[-2].ival, yyvsp[-1].opval); }
1598 { yyval.ival = block_start(TRUE); }
1602 { if (PL_copline > (line_t)yyvsp[-3].ival)
1603 PL_copline = yyvsp[-3].ival;
1604 yyval.opval = block_end(yyvsp[-2].ival, yyvsp[-1].opval); }
1608 { yyval.ival = block_start(FALSE); }
1612 { yyval.opval = Nullop; }
1616 { yyval.opval = yyvsp[-1].opval; }
1620 { yyval.opval = append_list(OP_LINESEQ,
1621 (LISTOP*)yyvsp[-1].opval, (LISTOP*)yyvsp[0].opval);
1622 PL_pad_reset_pending = TRUE;
1623 if (yyvsp[-1].opval && yyvsp[0].opval) PL_hints |= HINT_BLOCK_SCOPE; }
1627 { yyval.opval = newSTATEOP(0, yyvsp[-1].pval, yyvsp[0].opval); }
1631 { if (yyvsp[-1].pval != Nullch) {
1632 yyval.opval = newSTATEOP(0, yyvsp[-1].pval, newOP(OP_NULL, 0));
1635 yyval.opval = Nullop;
1636 PL_copline = NOLINE;
1638 PL_expect = XSTATE; }
1642 { yyval.opval = newSTATEOP(0, yyvsp[-2].pval, yyvsp[-1].opval);
1643 PL_expect = XSTATE; }
1647 { yyval.opval = Nullop; }
1651 { yyval.opval = yyvsp[0].opval; }
1655 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[0].opval, yyvsp[-2].opval); }
1659 { yyval.opval = newLOGOP(OP_OR, 0, yyvsp[0].opval, yyvsp[-2].opval); }
1663 { yyval.opval = newLOOPOP(OPf_PARENS, 1, scalar(yyvsp[0].opval), yyvsp[-2].opval); }
1667 { yyval.opval = newLOOPOP(OPf_PARENS, 1, yyvsp[0].opval, yyvsp[-2].opval);}
1671 { yyval.opval = newFOROP(0, Nullch, yyvsp[-1].ival,
1672 Nullop, yyvsp[0].opval, yyvsp[-2].opval, Nullop); }
1676 { yyval.opval = Nullop; }
1680 { (yyvsp[0].opval)->op_flags |= OPf_PARENS; yyval.opval = scope(yyvsp[0].opval); }
1684 { PL_copline = yyvsp[-5].ival;
1685 yyval.opval = newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval);
1686 PL_hints |= HINT_BLOCK_SCOPE; }
1690 { PL_copline = yyvsp[-6].ival;
1691 yyval.opval = block_end(yyvsp[-4].ival,
1692 newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval)); }
1696 { PL_copline = yyvsp[-6].ival;
1697 yyval.opval = block_end(yyvsp[-4].ival,
1698 newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval)); }
1702 { yyval.opval = Nullop; }
1706 { yyval.opval = scope(yyvsp[0].opval); }
1710 { PL_copline = yyvsp[-6].ival;
1711 yyval.opval = block_end(yyvsp[-4].ival,
1712 newSTATEOP(0, yyvsp[-7].pval,
1713 newWHILEOP(0, 1, (LOOP*)Nullop,
1714 yyvsp[-6].ival, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval))); }
1718 { PL_copline = yyvsp[-6].ival;
1719 yyval.opval = block_end(yyvsp[-4].ival,
1720 newSTATEOP(0, yyvsp[-7].pval,
1721 newWHILEOP(0, 1, (LOOP*)Nullop,
1722 yyvsp[-6].ival, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval))); }
1726 { yyval.opval = block_end(yyvsp[-6].ival,
1727 newFOROP(0, yyvsp[-9].pval, yyvsp[-8].ival, yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1731 { yyval.opval = block_end(yyvsp[-4].ival,
1732 newFOROP(0, yyvsp[-8].pval, yyvsp[-7].ival, mod(yyvsp[-6].opval, OP_ENTERLOOP),
1733 yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1737 { yyval.opval = block_end(yyvsp[-4].ival,
1738 newFOROP(0, yyvsp[-7].pval, yyvsp[-6].ival, Nullop, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1742 { OP *forop = append_elem(OP_LINESEQ,
1743 scalar(yyvsp[-6].opval),
1744 newWHILEOP(0, 1, (LOOP*)Nullop,
1745 yyvsp[-9].ival, scalar(yyvsp[-4].opval),
1746 yyvsp[0].opval, scalar(yyvsp[-2].opval)));
1747 PL_copline = yyvsp[-9].ival;
1748 yyval.opval = block_end(yyvsp[-7].ival, newSTATEOP(0, yyvsp[-10].pval, forop)); }
1752 { yyval.opval = newSTATEOP(0, yyvsp[-2].pval,
1753 newWHILEOP(0, 1, (LOOP*)Nullop,
1754 NOLINE, Nullop, yyvsp[-1].opval, yyvsp[0].opval)); }
1758 { yyval.opval = Nullop; }
1762 { (void)scan_num("1"); yyval.opval = yylval.opval; }
1766 { yyval.opval = invert(scalar(yyvsp[0].opval)); }
1770 { yyval.opval = yyvsp[0].opval; intro_my(); }
1774 { yyval.opval = yyvsp[0].opval; intro_my(); }
1778 { yyval.opval = yyvsp[0].opval; intro_my(); }
1782 { yyval.opval = yyvsp[0].opval; intro_my(); }
1786 { yyval.pval = Nullch; }
1810 { newFORM(yyvsp[-2].ival, yyvsp[-1].opval, yyvsp[0].opval); }
1814 { yyval.opval = yyvsp[0].opval; }
1818 { yyval.opval = Nullop; }
1822 { newMYSUB(yyvsp[-4].ival, yyvsp[-3].opval, yyvsp[-2].opval, yyvsp[-1].opval, yyvsp[0].opval); }
1826 { newATTRSUB(yyvsp[-4].ival, yyvsp[-3].opval, yyvsp[-2].opval, yyvsp[-1].opval, yyvsp[0].opval); }
1830 { yyval.ival = start_subparse(FALSE, 0); }
1834 { yyval.ival = start_subparse(FALSE, CVf_ANON); }
1838 { yyval.ival = start_subparse(TRUE, 0); }
1842 { STRLEN n_a; char *name = SvPV(((SVOP*)yyvsp[0].opval)->op_sv,n_a);
1843 if (strEQ(name, "BEGIN") || strEQ(name, "END")
1844 || strEQ(name, "INIT"))
1845 CvSPECIAL_on(PL_compcv);
1846 yyval.opval = yyvsp[0].opval; }
1850 { yyval.opval = Nullop; }
1854 { yyval.opval = Nullop; }
1858 { yyval.opval = yyvsp[0].opval; }
1862 { yyval.opval = Nullop; }
1866 { yyval.opval = yyvsp[0].opval; }
1870 { yyval.opval = Nullop; }
1874 { yyval.opval = yyvsp[0].opval; }
1878 { yyval.opval = Nullop; PL_expect = XSTATE; }
1882 { package(yyvsp[-1].opval); }
1886 { package(Nullop); }
1890 { CvSPECIAL_on(PL_compcv); /* It's a BEGIN {} */ }
1894 { utilize(yyvsp[-6].ival, yyvsp[-5].ival, yyvsp[-3].opval, yyvsp[-2].opval, yyvsp[-1].opval); }
1898 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1902 { yyval.opval = newLOGOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1906 { yyval.opval = yyvsp[-1].opval; }
1910 { yyval.opval = append_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval); }
1914 { yyval.opval = convert(yyvsp[-2].ival, OPf_STACKED,
1915 prepend_elem(OP_LIST, newGVREF(yyvsp[-2].ival,yyvsp[-1].opval), yyvsp[0].opval) ); }
1919 { yyval.opval = convert(yyvsp[-4].ival, OPf_STACKED,
1920 prepend_elem(OP_LIST, newGVREF(yyvsp[-4].ival,yyvsp[-2].opval), yyvsp[-1].opval) ); }
1924 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1925 append_elem(OP_LIST,
1926 prepend_elem(OP_LIST, scalar(yyvsp[-5].opval), yyvsp[-1].opval),
1927 newUNOP(OP_METHOD, 0, yyvsp[-3].opval))); }
1931 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1932 append_elem(OP_LIST, scalar(yyvsp[-2].opval),
1933 newUNOP(OP_METHOD, 0, yyvsp[0].opval))); }
1937 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1938 append_elem(OP_LIST,
1939 prepend_elem(OP_LIST, yyvsp[-1].opval, yyvsp[0].opval),
1940 newUNOP(OP_METHOD, 0, yyvsp[-2].opval))); }
1944 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1945 append_elem(OP_LIST,
1946 prepend_elem(OP_LIST, yyvsp[-3].opval, yyvsp[-1].opval),
1947 newUNOP(OP_METHOD, 0, yyvsp[-4].opval))); }
1951 { yyval.opval = convert(yyvsp[-1].ival, 0, yyvsp[0].opval); }
1955 { yyval.opval = convert(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
1959 { yyvsp[0].opval = newANONATTRSUB(yyvsp[-1].ival, 0, Nullop, yyvsp[0].opval); }
1963 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
1964 append_elem(OP_LIST,
1965 prepend_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval), yyvsp[-4].opval)); }
1969 { yyval.opval = newBINOP(OP_GELEM, 0, yyvsp[-4].opval, scalar(yyvsp[-2].opval)); }
1973 { yyval.opval = newBINOP(OP_AELEM, 0, oopsAV(yyvsp[-3].opval), scalar(yyvsp[-1].opval)); }
1977 { yyval.opval = newBINOP(OP_AELEM, 0,
1978 ref(newAVREF(yyvsp[-4].opval),OP_RV2AV),
1979 scalar(yyvsp[-1].opval));}
1983 { yyval.opval = newBINOP(OP_AELEM, 0,
1984 ref(newAVREF(yyvsp[-3].opval),OP_RV2AV),
1985 scalar(yyvsp[-1].opval));}
1989 { yyval.opval = newBINOP(OP_HELEM, 0, oopsHV(yyvsp[-4].opval), jmaybe(yyvsp[-2].opval));
1990 PL_expect = XOPERATOR; }
1994 { yyval.opval = newBINOP(OP_HELEM, 0,
1995 ref(newHVREF(yyvsp[-5].opval),OP_RV2HV),
1996 jmaybe(yyvsp[-2].opval));
1997 PL_expect = XOPERATOR; }
2001 { yyval.opval = newBINOP(OP_HELEM, 0,
2002 ref(newHVREF(yyvsp[-4].opval),OP_RV2HV),
2003 jmaybe(yyvsp[-2].opval));
2004 PL_expect = XOPERATOR; }
2008 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2009 newCVREF(0, scalar(yyvsp[-3].opval))); }
2013 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2014 append_elem(OP_LIST, yyvsp[-1].opval,
2015 newCVREF(0, scalar(yyvsp[-4].opval)))); }
2019 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2020 append_elem(OP_LIST, yyvsp[-1].opval,
2021 newCVREF(0, scalar(yyvsp[-3].opval)))); }
2025 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2026 newCVREF(0, scalar(yyvsp[-2].opval))); }
2030 { yyval.opval = newASSIGNOP(OPf_STACKED, yyvsp[-2].opval, yyvsp[-1].ival, yyvsp[0].opval); }
2034 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2038 { if (yyvsp[-1].ival != OP_REPEAT)
2039 scalar(yyvsp[-2].opval);
2040 yyval.opval = newBINOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, scalar(yyvsp[0].opval)); }
2044 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2048 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2052 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2056 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2060 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2064 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2068 { yyval.opval = newRANGE(yyvsp[-1].ival, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval));}
2072 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
2076 { yyval.opval = newLOGOP(OP_OR, 0, yyvsp[-2].opval, yyvsp[0].opval); }
2080 { yyval.opval = newCONDOP(0, yyvsp[-4].opval, yyvsp[-2].opval, yyvsp[0].opval); }
2084 { yyval.opval = bind_match(yyvsp[-1].ival, yyvsp[-2].opval, yyvsp[0].opval); }
2088 { yyval.opval = newUNOP(OP_NEGATE, 0, scalar(yyvsp[0].opval)); }
2092 { yyval.opval = yyvsp[0].opval; }
2096 { yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
2100 { yyval.opval = newUNOP(OP_COMPLEMENT, 0, scalar(yyvsp[0].opval));}
2104 { yyval.opval = newUNOP(OP_REFGEN, 0, mod(yyvsp[0].opval,OP_REFGEN)); }
2108 { yyval.opval = newUNOP(OP_POSTINC, 0,
2109 mod(scalar(yyvsp[-1].opval), OP_POSTINC)); }
2113 { yyval.opval = newUNOP(OP_POSTDEC, 0,
2114 mod(scalar(yyvsp[-1].opval), OP_POSTDEC)); }
2118 { yyval.opval = newUNOP(OP_PREINC, 0,
2119 mod(scalar(yyvsp[0].opval), OP_PREINC)); }
2123 { yyval.opval = newUNOP(OP_PREDEC, 0,
2124 mod(scalar(yyvsp[0].opval), OP_PREDEC)); }
2128 { yyval.opval = yyvsp[0].opval; }
2132 { yyval.opval = localize(yyvsp[0].opval,yyvsp[-1].ival); }
2136 { yyval.opval = sawparens(yyvsp[-1].opval); }
2140 { yyval.opval = sawparens(newNULLLIST()); }
2144 { yyval.opval = newANONLIST(yyvsp[-1].opval); }
2148 { yyval.opval = newANONLIST(Nullop); }
2152 { yyval.opval = newANONHASH(yyvsp[-2].opval); }
2156 { yyval.opval = newANONHASH(Nullop); }
2160 { yyval.opval = newANONATTRSUB(yyvsp[-3].ival, yyvsp[-2].opval, yyvsp[-1].opval, yyvsp[0].opval); }
2164 { yyval.opval = yyvsp[0].opval; }
2168 { yyval.opval = yyvsp[0].opval; }
2172 { yyval.opval = yyvsp[0].opval; }
2176 { yyval.opval = yyvsp[0].opval; }
2180 { yyval.opval = newUNOP(OP_AV2ARYLEN, 0, ref(yyvsp[0].opval, OP_AV2ARYLEN));}
2184 { yyval.opval = yyvsp[0].opval; }
2188 { yyval.opval = newSLICEOP(0, yyvsp[-1].opval, yyvsp[-4].opval); }
2192 { yyval.opval = newSLICEOP(0, yyvsp[-1].opval, Nullop); }
2196 { yyval.opval = prepend_elem(OP_ASLICE,
2197 newOP(OP_PUSHMARK, 0),
2198 newLISTOP(OP_ASLICE, 0,
2199 list(yyvsp[-1].opval),
2200 ref(yyvsp[-3].opval, OP_ASLICE))); }
2204 { yyval.opval = prepend_elem(OP_HSLICE,
2205 newOP(OP_PUSHMARK, 0),
2206 newLISTOP(OP_HSLICE, 0,
2207 list(yyvsp[-2].opval),
2208 ref(oopsHV(yyvsp[-4].opval), OP_HSLICE)));
2209 PL_expect = XOPERATOR; }
2213 { yyval.opval = yyvsp[0].opval; }
2217 { yyval.opval = newUNOP(OP_ENTERSUB, 0, scalar(yyvsp[0].opval)); }
2221 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar(yyvsp[-2].opval)); }
2225 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2226 append_elem(OP_LIST, yyvsp[-1].opval, scalar(yyvsp[-3].opval))); }
2230 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2231 append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); }
2235 { yyval.opval = dofile(yyvsp[0].opval); }
2239 { yyval.opval = newUNOP(OP_NULL, OPf_SPECIAL, scope(yyvsp[0].opval)); }
2243 { yyval.opval = newUNOP(OP_ENTERSUB,
2244 OPf_SPECIAL|OPf_STACKED,
2245 prepend_elem(OP_LIST,
2247 (OPpENTERSUB_AMPER<<8),
2248 scalar(yyvsp[-2].opval)
2249 )),Nullop)); dep();}
2253 { yyval.opval = newUNOP(OP_ENTERSUB,
2254 OPf_SPECIAL|OPf_STACKED,
2255 append_elem(OP_LIST,
2258 (OPpENTERSUB_AMPER<<8),
2259 scalar(yyvsp[-3].opval)
2264 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
2265 prepend_elem(OP_LIST,
2266 scalar(newCVREF(0,scalar(yyvsp[-2].opval))), Nullop)); dep();}
2270 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
2271 prepend_elem(OP_LIST,
2273 scalar(newCVREF(0,scalar(yyvsp[-3].opval))))); dep();}
2277 { yyval.opval = newOP(yyvsp[0].ival, OPf_SPECIAL);
2278 PL_hints |= HINT_BLOCK_SCOPE; }
2282 { yyval.opval = newLOOPEX(yyvsp[-1].ival,yyvsp[0].opval); }
2286 { yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
2290 { yyval.opval = newOP(yyvsp[0].ival, 0); }
2294 { yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2298 { yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2302 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2303 append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); }
2307 { yyval.opval = newOP(yyvsp[0].ival, 0); }
2311 { yyval.opval = newOP(yyvsp[-2].ival, 0); }
2315 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2316 scalar(yyvsp[0].opval)); }
2320 { yyval.opval = newOP(yyvsp[-2].ival, OPf_SPECIAL); }
2324 { yyval.opval = newUNOP(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
2328 { yyval.opval = pmruntime(yyvsp[-3].opval, yyvsp[-1].opval, Nullop); }
2332 { yyval.opval = pmruntime(yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval); }
2336 { yyval.opval = my_attrs(yyvsp[-1].opval,yyvsp[0].opval); }
2340 { yyval.opval = localize(yyvsp[0].opval,yyvsp[-1].ival); }
2344 { yyval.opval = sawparens(yyvsp[-1].opval); }
2348 { yyval.opval = sawparens(newNULLLIST()); }
2352 { yyval.opval = yyvsp[0].opval; }
2356 { yyval.opval = yyvsp[0].opval; }
2360 { yyval.opval = yyvsp[0].opval; }
2364 { yyval.opval = Nullop; }
2368 { yyval.opval = yyvsp[0].opval; }
2372 { yyval.opval = Nullop; }
2376 { yyval.opval = yyvsp[0].opval; }
2380 { yyval.opval = yyvsp[-1].opval; }
2384 { PL_in_my = 0; yyval.opval = my(yyvsp[0].opval); }
2388 { yyval.opval = newCVREF(yyvsp[-1].ival,yyvsp[0].opval); }
2392 { yyval.opval = newSVREF(yyvsp[0].opval); }
2396 { yyval.opval = newAVREF(yyvsp[0].opval); }
2400 { yyval.opval = newHVREF(yyvsp[0].opval); }
2404 { yyval.opval = newAVREF(yyvsp[0].opval); }
2408 { yyval.opval = newGVREF(0,yyvsp[0].opval); }
2412 { yyval.opval = scalar(yyvsp[0].opval); }
2416 { yyval.opval = scalar(yyvsp[0].opval); }
2420 { yyval.opval = scope(yyvsp[0].opval); }
2424 { yyval.opval = yyvsp[0].opval; }
2426 #line 2412 "perly.c"
2432 if (yystate == 0 && yym == 0)
2436 PerlIO_printf(Perl_debug_log,
2437 "yydebug: after reduction, shifting from state 0 to state %d\n",
2445 if ((yychar = yylex()) < 0) yychar = 0;
2450 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
2451 if (!yys) yys = "illegal-symbol";
2452 PerlIO_printf(Perl_debug_log, "yydebug: state %d, reading %d (%s)\n",
2453 YYFINAL, yychar, yys);
2457 if (yychar == 0) goto yyaccept;
2460 if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
2461 yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
2462 yystate = yytable[yyn];
2464 yystate = yydgoto[yym];
2467 PerlIO_printf(Perl_debug_log,
2468 "yydebug: after reduction, shifting from state %d to state %d\n",
2471 if (yyssp >= yyss + yystacksize - 1)
2474 ** reallocate and recover. Note that pointers
2475 ** have to be reset, or bad things will happen
2477 int yyps_index = (yyssp - yyss);
2478 int yypv_index = (yyvsp - yyvs);
2479 yystacksize += YYSTACKSIZE;
2480 ysave->yyvs = Renew(yyvs, yystacksize, YYSTYPE);
2481 ysave->yyss = Renew(yyss, yystacksize, short);
2484 yyssp = yyss + yyps_index;
2485 yyvsp = yyvs + yypv_index;
2491 yyerror("Out of memory for yacc stack");