1 /* Postprocessed by vms_yfix.pl 1.11 to add VMS declarations of globals */
3 static char yysccsid[] = "@(#)yaccpar 1.8 (Berkeley) 01/20/91";
8 #define PERL_IN_PERLY_C
13 #define dep() deprecate("\"do\" to call subroutines")
15 /* stuff included here to make perly_c.diff apply better */
17 #define yydebug PL_yydebug
18 #define yynerrs PL_yynerrs
19 #define yyerrflag PL_yyerrflag
20 #define yychar PL_yychar
21 #define yyval PL_yyval
22 #define yylval PL_yylval
35 static void yydestruct(pTHXo_ void *ptr);
38 #if 0 /* get this from perly.h instead */
50 #define YYLEX_PARAM (&yychar)
56 static short yylhs[] = { -1,
57 50, 0, 8, 6, 9, 7, 10, 10, 10, 11,
58 11, 11, 11, 24, 24, 24, 24, 24, 24, 24,
59 14, 14, 14, 13, 13, 42, 42, 12, 12, 12,
60 12, 12, 12, 12, 26, 26, 27, 27, 28, 29,
61 30, 31, 32, 49, 49, 1, 1, 1, 1, 1,
62 2, 38, 38, 46, 51, 3, 4, 5, 39, 40,
63 40, 44, 44, 44, 45, 45, 41, 41, 52, 52,
64 54, 53, 15, 15, 15, 25, 25, 25, 36, 36,
65 36, 36, 36, 36, 36, 36, 55, 36, 37, 37,
66 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
67 17, 16, 16, 16, 16, 16, 16, 16, 16, 16,
68 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
69 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
70 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
71 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
72 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
73 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
74 47, 47, 48, 48, 48, 48, 48, 33, 33, 34,
75 34, 34, 43, 23, 18, 19, 20, 21, 22, 35,
78 static short yylen[] = { 2,
79 0, 2, 4, 0, 4, 0, 0, 2, 2, 2,
80 1, 2, 3, 1, 1, 3, 3, 3, 3, 3,
81 0, 2, 6, 7, 7, 0, 2, 8, 8, 10,
82 9, 8, 11, 3, 0, 1, 0, 1, 1, 1,
83 1, 1, 1, 0, 1, 1, 1, 1, 1, 1,
84 4, 1, 0, 6, 6, 0, 0, 0, 1, 0,
85 1, 0, 2, 1, 2, 1, 1, 1, 3, 2,
86 0, 7, 3, 3, 1, 2, 3, 1, 3, 5,
87 6, 3, 3, 5, 2, 4, 0, 5, 1, 1,
88 5, 4, 5, 4, 5, 6, 5, 4, 5, 4,
89 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
90 3, 3, 3, 5, 3, 2, 2, 2, 2, 2,
91 2, 2, 2, 2, 1, 2, 3, 2, 3, 2,
92 4, 3, 5, 1, 1, 1, 1, 1, 1, 6,
93 5, 4, 5, 1, 1, 3, 4, 3, 2, 2,
94 4, 5, 4, 5, 1, 2, 2, 1, 2, 2,
95 2, 1, 3, 1, 3, 4, 4, 6, 1, 1,
96 3, 2, 3, 2, 1, 1, 1, 0, 1, 0,
97 1, 2, 1, 2, 2, 2, 2, 2, 2, 1,
100 static short yydefred[] = { 1,
101 0, 7, 0, 45, 58, 56, 0, 56, 56, 8,
102 46, 9, 11, 48, 0, 47, 49, 50, 0, 0,
103 0, 70, 71, 0, 14, 4, 169, 0, 0, 144,
104 0, 164, 0, 57, 57, 0, 0, 0, 0, 0,
105 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
106 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
107 0, 12, 0, 0, 0, 0, 0, 0, 0, 10,
108 0, 0, 0, 0, 0, 136, 138, 0, 0, 0,
109 0, 170, 125, 52, 0, 59, 0, 69, 0, 0,
110 7, 190, 193, 192, 191, 0, 0, 0, 0, 0,
111 0, 4, 4, 4, 4, 4, 4, 0, 0, 0,
112 0, 0, 159, 0, 0, 0, 0, 85, 0, 188,
113 0, 150, 0, 0, 0, 0, 0, 0, 0, 175,
114 177, 176, 0, 184, 0, 0, 0, 0, 0, 0,
115 0, 0, 130, 0, 0, 0, 185, 186, 187, 189,
116 0, 34, 0, 0, 0, 0, 0, 0, 0, 0,
117 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
118 0, 0, 0, 121, 122, 0, 0, 0, 0, 0,
119 0, 0, 0, 0, 0, 13, 0, 51, 61, 0,
120 0, 0, 0, 83, 0, 0, 87, 0, 0, 0,
121 0, 0, 0, 0, 4, 163, 165, 0, 0, 0,
122 0, 0, 0, 0, 132, 0, 148, 174, 0, 0,
123 171, 0, 0, 129, 27, 0, 0, 19, 0, 0,
124 0, 0, 73, 0, 0, 0, 0, 0, 0, 0,
125 0, 0, 0, 0, 0, 0, 0, 0, 89, 0,
126 0, 90, 0, 0, 101, 0, 0, 0, 0, 0,
127 0, 0, 146, 0, 0, 0, 0, 0, 0, 3,
128 0, 0, 167, 0, 0, 0, 42, 0, 43, 0,
129 0, 0, 0, 183, 0, 0, 36, 41, 0, 0,
130 0, 166, 182, 86, 0, 151, 0, 153, 0, 131,
131 173, 65, 0, 0, 0, 0, 98, 0, 0, 0,
132 0, 100, 94, 0, 92, 0, 142, 0, 147, 63,
133 68, 67, 55, 0, 54, 84, 0, 88, 133, 0,
134 0, 0, 0, 0, 0, 0, 0, 80, 152, 154,
135 141, 0, 0, 0, 99, 93, 0, 97, 95, 143,
136 91, 72, 168, 6, 0, 0, 0, 0, 0, 0,
137 0, 0, 140, 96, 81, 7, 28, 29, 0, 0,
138 24, 25, 0, 32, 0, 0, 0, 22, 0, 0,
139 0, 31, 5, 0, 30, 0, 0, 33, 0, 23,
141 static short yydgoto[] = { 1,
142 10, 11, 20, 100, 19, 91, 366, 94, 355, 3,
143 12, 13, 70, 371, 281, 72, 73, 74, 75, 76,
144 77, 78, 79, 287, 81, 288, 277, 279, 282, 290,
145 278, 280, 118, 210, 96, 82, 253, 85, 87, 190,
146 323, 152, 285, 267, 221, 14, 83, 133, 15, 2,
149 static short yysindex[] = { 0,
150 0, 0, -199, 0, 0, 0, -53, 0, 0, 0,
151 0, 0, 0, 0, 646, 0, 0, 0, -217, -207,
152 44, 0, 0, -207, 0, 0, 0, -32, -32, 0,
153 66, 0, 2177, 0, 0, 69, 83, 93, 110, -35,
154 2177, 119, 121, 136, 1013, 973, -32, 1077, 1344, -146,
155 2177, 68, -32, 2177, 2177, 2177, 2177, 2177, 2177, 1384,
156 1424, 0, 2177, 2177, -32, -32, -32, -32, -152, 0,
157 470, 845, -13, -65, -63, 0, 0, 55, 137, 122,
158 138, 0, 0, 0, 60, 0, -70, 0, -66, -70,
159 0, 0, 0, 0, 0, 2177, 146, 2177, 1085, 60,
160 -70, 0, 0, 0, 0, 0, 0, 152, 845, 153,
161 1464, 973, 0, 1085, 0, -65, 138, 0, 2177, 0,
162 160, 0, 1085, 2, 76, -52, 2177, 1085, 1524, 0,
163 0, 0, -96, 0, 138, -181, -181, -181, -112, -112,
164 123, -38, 0, -74, -181, -181, 0, 0, 0, 0,
165 60, 0, 2177, 2177, 2177, 2177, 2177, 2177, 2177, 2177,
166 2177, 2177, 2177, 2177, 2177, 2177, 2177, 2177, 2177, 2177,
167 2177, 2177, 2177, 0, 0, -16, 2177, 1731, 2177, 2177,
168 2177, 2177, 2177, 2177, 1791, 0, 2177, 0, 0, -88,
169 -34, -88, 339, 0, 2177, 287, 0, -88, 2177, 2177,
170 2177, 2177, 173, 1850, 0, 0, 0, -33, 46, 180,
171 2177, 138, 1910, 2025, 0, 97, 0, 0, -31, -29,
172 0, 2177, 133, 0, 0, -237, -237, 0, -237, -237,
173 -237, -69, 0, 1614, 1085, 684, 167, 107, 845, 3800,
174 1125, 405, 1164, 778, -228, -181, -181, 2177, 0, 2117,
175 2177, 0, 197, -48, 0, -9, -72, -45, -7, -42,
176 56, -36, 0, -4, 845, -10, -47, 2177, -47, 0,
177 216, 2177, 0, 2177, 60, -237, 0, 219, 0, 230,
178 -237, 233, 237, 0, 242, 470, 0, 0, 246, 225,
179 2177, 0, 0, 0, 13, 0, 18, 0, 29, 0,
180 0, 0, 61, 2177, 2177, 54, 0, 32, 63, 2177,
181 165, 0, 0, 174, 0, 178, 0, 191, 0, 0,
182 0, 0, 0, 261, 0, 0, 350, 0, 0, 182,
183 182, 182, 182, 2177, 182, 2177, 281, 0, 0, 0,
184 0, 102, 1237, 202, 0, 0, 294, 0, 0, 0,
185 0, 0, 0, 0, -152, -152, -130, -130, 297, -152,
186 290, 182, 0, 0, 0, 0, 0, 0, 182, 318,
187 0, 0, 182, 0, 1850, -152, 407, 0, 2177, -152,
188 324, 0, 0, 326, 0, 182, 182, 0, -130, 0,
190 static short yyrindex[] = { 0,
191 0, 0, 243, 0, 0, 0, 0, 0, 0, 0,
192 0, 0, 0, 0, 0, 0, 0, 0, 236, 0,
193 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
194 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
195 36, 451, 0, 0, 2208, 2271, 0, 0, 0, 0,
196 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
197 0, 0, 0, 0, 0, 0, 0, 0, 115, 0,
198 -12, 939, 2325, 2385, 2463, 0, 0, 2510, 2561, 0,
199 1220, 0, 0, 0, 0, 0, -44, 0, 0, -44,
200 0, 0, 0, 0, 0, 2271, 0, 0, 3846, 0,
201 -105, 0, 0, 0, 0, 0, 0, 0, 2612, 0,
202 0, 327, 0, 3883, 522, 583, 3032, 0, 0, 0,
203 2621, 0, 3893, 2385, 0, 0, 2271, 3930, 0, 0,
204 0, 0, 2667, 0, 3092, 3374, 3418, 3458, 3219, 3331,
205 2746, 0, 0, 0, 3496, 3567, 0, 0, 0, 0,
206 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
207 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
208 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
209 0, 0, 0, 0, 0, 0, 2797, 0, 0, -23,
210 0, -23, 913, 0, 327, 0, 0, 247, 336, 0,
211 0, 0, 0, 333, 0, 0, 0, 0, 352, 0,
212 0, 3138, 0, 0, 0, 0, 0, 0, 0, 2857,
213 0, 0, 2903, 0, 0, -8, -2, 0, 7, 33,
214 42, 2255, 0, -28, 3968, 1822, 3732, 3769, 3023, 0,
215 4119, 4082, 4021, 4005, 1044, 3610, 3694, 0, 0, 0,
216 0, 0, 2949, 0, 0, 0, 0, 0, 0, 0,
217 0, 0, 0, 0, 3657, -21, 0, 345, 0, 0,
218 0, 0, 0, 2271, 0, 71, 0, 0, 0, 0,
219 364, 0, 0, 0, 0, 86, 0, 0, 0, 0,
220 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
221 0, 0, 0, 0, 0, 0, 0, 0, 0, 327,
222 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
223 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
224 0, 0, 0, 0, 0, 355, 0, 0, 0, 0,
225 0, 0, 2972, 0, 0, 0, 0, 0, 0, 0,
226 0, 0, 0, 0, 115, 115, 175, 175, 0, 115,
227 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
228 0, 0, 0, 0, 374, 115, 913, 0, 0, 115,
229 0, 0, 0, 0, 0, 0, 0, 0, 175, 0,
231 static short yygindex[] = { 0,
232 0, 0, 164, 383, 0, 14, 0, 37, 655, -89,
233 0, 0, 0, -336, -15, 3415, 0, 2211, 368, 369,
234 0, 0, 0, 410, 916, 0, 0, 273, -163, 62,
235 94, 249, -71, -186, 634, 0, 0, 0, 428, -46,
236 184, 118, 0, -149, 0, 0, 0, 0, 0, 0,
239 #define YYTABLESIZE 4423
240 static short yytable[] = { 71,
241 65, 193, 223, 65, 107, 22, 216, 292, 271, 301,
242 311, 321, 111, 314, 60, 111, 316, 60, 224, 65,
243 313, 372, 318, 250, 194, 181, 178, 183, 15, 111,
244 111, 312, 18, 126, 111, 62, 319, 64, 39, 84,
245 289, 214, 269, 192, 142, 144, 15, 16, 275, 86,
246 18, 69, 390, 338, 198, 217, 39, 180, 339, 182,
247 163, 164, 158, 159, 111, 16, 4, 5, 6, 340,
248 7, 8, 345, 17, 251, 26, 155, 179, 60, 155,
249 172, 113, 20, 173, 122, 315, 174, 175, 176, 293,
250 26, 17, 181, 155, 155, 208, 209, 9, 155, 62,
251 20, 64, 88, 65, 67, 98, 248, 129, 102, 177,
252 127, 38, 344, 219, 26, 199, 200, 201, 202, 203,
253 204, 188, 103, 347, 180, 151, 40, 337, 155, 38,
254 173, 66, 104, 174, 175, 176, 197, 226, 227, 229,
255 230, 231, 232, 233, 15, 369, 370, 26, 317, 105,
256 26, 26, 26, 341, 26, 346, 26, 26, 110, 26,
257 111, 254, 256, 257, 258, 259, 260, 261, 262, 264,
258 359, 23, 24, 26, 21, 112, 185, 184, 26, 209,
259 186, 187, 26, 276, 227, 195, 227, 225, 286, 189,
260 191, 205, 60, 206, 363, 295, 324, 297, 299, 213,
261 215, 220, 328, 21, 176, 26, 303, 21, 65, 266,
262 21, 21, 21, 222, 21, 384, 21, 21, 291, 21,
263 294, 300, 268, 304, 92, 158, 159, 158, 159, 93,
264 302, 159, 306, 21, 308, 309, 310, 26, 21, 26,
265 26, 249, 2, 111, 111, 111, 111, 158, 159, 320,
266 111, 158, 159, 60, 158, 159, 326, 158, 159, 330,
267 106, 158, 159, 158, 159, 21, 158, 159, 158, 159,
268 331, 111, 111, 332, 111, 44, 377, 333, 44, 44,
269 44, 334, 44, 336, 44, 44, 335, 44, 342, 348,
270 158, 159, 158, 159, 209, 158, 159, 21, 349, 21,
271 21, 44, 350, 322, 354, 322, 44, 155, 155, 155,
272 155, 329, 158, 159, 155, 351, 155, 158, 159, 352,
273 276, 362, 155, 155, 155, 155, 364, 273, 158, 159,
274 272, 158, 159, 44, 365, 155, 155, 373, 155, 155,
275 155, 155, 155, 155, 155, 158, 159, 155, 375, 166,
276 155, 155, 155, 158, 159, 158, 159, 379, 53, 71,
277 158, 159, 158, 159, 386, 44, 387, 180, 44, 62,
278 26, 26, 26, 26, 26, 26, 37, 26, 26, 26,
279 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
280 353, 35, 181, 26, 26, 163, 26, 26, 26, 26,
281 26, 158, 159, 178, 40, 26, 26, 26, 26, 26,
282 26, 26, 166, 37, 35, 172, 26, 101, 173, 131,
283 132, 174, 175, 176, 80, 26, 228, 26, 26, 361,
284 21, 21, 21, 21, 21, 21, 381, 21, 21, 21,
285 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
286 283, 90, 325, 21, 21, 0, 21, 21, 21, 21,
287 21, 0, 0, 270, 0, 21, 21, 21, 21, 21,
288 21, 21, 367, 368, 0, 172, 21, 374, 173, 0,
289 0, 174, 175, 176, 0, 21, 0, 21, 21, 0,
290 0, 162, 0, 382, 162, 0, 0, 385, 44, 44,
291 44, 44, 44, 44, 0, 44, 44, 44, 162, 162,
292 0, 44, 0, 162, 44, 44, 44, 44, 0, 0,
293 0, 44, 44, 0, 44, 44, 44, 44, 44, 0,
294 0, 383, 0, 44, 44, 44, 44, 44, 44, 0,
295 0, 0, 0, 162, 44, 0, 0, 0, 0, 0,
296 0, 0, 0, 44, 190, 44, 44, 190, 190, 190,
297 0, 190, 169, 190, 190, 169, 190, 160, 0, 0,
298 0, 0, 0, 161, 162, 163, 164, 0, 0, 169,
299 169, 0, 0, 0, 169, 190, 0, 0, 0, 165,
300 167, 168, 169, 170, 171, 172, 0, 0, 173, 0,
301 0, 174, 175, 176, 4, 5, 6, 0, 7, 8,
302 0, 0, 190, 0, 169, 191, 0, 0, 191, 191,
303 191, 0, 191, 134, 191, 191, 134, 191, 0, 0,
304 160, 0, 0, 0, 0, 9, 161, 162, 163, 164,
305 134, 134, 0, 0, 0, 134, 191, 190, 0, 0,
306 0, 0, 165, 167, 168, 169, 170, 171, 172, 0,
307 0, 173, 97, 0, 174, 175, 176, 0, 0, 0,
308 0, 0, 4, 5, 6, 134, 7, 8, 55, 119,
309 120, 65, 67, 53, 0, 60, 134, 68, 64, 0,
310 63, 161, 162, 163, 164, 0, 0, 0, 147, 148,
311 149, 150, 0, 9, 62, 0, 0, 0, 191, 66,
312 169, 170, 171, 172, 0, 0, 173, 0, 0, 174,
313 175, 176, 162, 162, 162, 162, 0, 0, 0, 162,
314 0, 162, 0, 0, 0, 0, 61, 162, 162, 162,
315 162, 153, 154, 155, 156, 211, 0, 0, 157, 0,
316 162, 162, 0, 162, 162, 162, 162, 162, 162, 162,
317 0, 0, 162, 0, 0, 162, 162, 162, 26, 158,
318 159, 56, 0, 0, 0, 0, 0, 0, 190, 190,
319 190, 190, 190, 0, 190, 190, 190, 0, 0, 0,
320 190, 0, 0, 169, 169, 169, 169, 0, 0, 0,
321 169, 190, 169, 190, 190, 190, 190, 190, 169, 169,
322 169, 169, 190, 190, 190, 190, 190, 190, 0, 0,
323 0, 169, 169, 190, 169, 169, 169, 169, 169, 169,
324 169, 0, 190, 169, 190, 190, 169, 169, 169, 191,
325 191, 191, 191, 191, 0, 191, 191, 191, 0, 0,
326 0, 191, 0, 0, 134, 134, 134, 134, 0, 0,
327 0, 134, 191, 134, 191, 191, 191, 191, 191, 134,
328 134, 134, 134, 191, 191, 191, 191, 191, 191, 0,
329 0, 0, 134, 134, 191, 134, 134, 134, 134, 134,
330 134, 134, 0, 191, 134, 191, 191, 134, 134, 134,
331 0, 25, 27, 28, 29, 30, 31, 166, 32, 33,
332 34, 0, 0, 0, 35, 0, 0, 36, 37, 38,
333 39, 0, 0, 0, 40, 41, 0, 42, 43, 44,
334 45, 46, 0, 0, 0, 0, 47, 48, 49, 50,
335 51, 52, 0, 0, 0, 44, 0, 54, 44, 44,
336 44, 0, 44, 0, 44, 44, 57, 44, 58, 59,
337 0, 117, 0, 0, 0, 0, 0, 0, 0, 135,
338 161, 44, 163, 164, 0, 0, 44, 0, 0, 78,
339 0, 0, 78, 0, 0, 356, 357, 358, 0, 360,
340 0, 171, 172, 0, 0, 173, 78, 78, 174, 175,
341 176, 0, 0, 44, 0, 55, 0, 0, 65, 67,
342 53, 117, 60, 0, 68, 64, 376, 63, 0, 0,
343 0, 0, 0, 378, 0, 0, 0, 380, 0, 0,
344 0, 78, 0, 0, 212, 44, 66, 0, 44, 0,
345 388, 389, 117, 0, 0, 55, 0, 0, 65, 67,
346 53, 0, 60, 0, 68, 64, 0, 63, 0, 0,
347 0, 0, 0, 61, 161, 162, 163, 164, 0, 0,
348 0, 0, 0, 0, 0, 0, 66, 0, 0, 0,
349 0, 0, 0, 0, 106, 171, 172, 106, 0, 173,
350 0, 0, 174, 175, 176, 26, 0, 0, 56, 0,
351 0, 106, 106, 61, 0, 0, 106, 0, 0, 55,
352 0, 0, 65, 67, 53, 0, 60, 0, 68, 64,
353 0, 63, 0, 0, 0, 160, 0, 0, 0, 0,
354 0, 161, 162, 163, 164, 26, 106, 0, 56, 0,
355 66, 0, 0, 0, 0, 0, 0, 165, 167, 168,
356 169, 170, 171, 172, 0, 0, 173, 0, 0, 174,
357 175, 176, 0, 0, 0, 0, 0, 61, 44, 44,
358 44, 44, 44, 44, 0, 44, 44, 44, 0, 0,
359 0, 44, 0, 117, 44, 44, 44, 44, 0, 117,
360 0, 44, 44, 0, 44, 44, 44, 44, 44, 26,
361 0, 0, 56, 44, 44, 44, 44, 44, 44, 0,
362 78, 78, 78, 78, 44, 0, 0, 78, 0, 0,
363 0, 0, 0, 44, 0, 44, 44, 0, 0, 115,
364 28, 29, 30, 31, 93, 32, 33, 34, 78, 78,
365 0, 35, 0, 0, 0, 0, 0, 0, 0, 0,
366 0, 0, 41, 0, 42, 43, 44, 45, 46, 0,
367 75, 0, 0, 47, 48, 49, 50, 51, 52, 27,
368 28, 29, 30, 31, 54, 32, 33, 34, 75, 0,
369 0, 35, 0, 57, 0, 58, 59, 0, 0, 0,
370 0, 0, 41, 0, 42, 43, 44, 45, 46, 166,
371 0, 0, 0, 47, 48, 49, 50, 51, 52, 0,
372 0, 0, 75, 0, 54, 106, 106, 106, 106, 0,
373 0, 0, 106, 57, 106, 58, 59, 0, 0, 0,
374 106, 106, 0, 121, 28, 29, 30, 31, 0, 32,
375 33, 34, 0, 106, 106, 35, 106, 106, 106, 106,
376 106, 106, 0, 0, 0, 0, 41, 0, 42, 43,
377 44, 45, 46, 0, 0, 0, 0, 47, 48, 49,
378 50, 51, 52, 163, 164, 0, 55, 0, 54, 65,
379 67, 53, 0, 60, 0, 68, 64, 57, 63, 58,
380 59, 0, 171, 172, 0, 0, 173, 0, 0, 174,
381 175, 176, 125, 0, 0, 0, 0, 66, 0, 0,
382 0, 161, 162, 163, 164, 0, 55, 0, 0, 65,
383 67, 53, 0, 60, 141, 68, 64, 0, 63, 168,
384 169, 170, 171, 172, 61, 0, 173, 0, 0, 174,
385 175, 176, 0, 0, 0, 0, 0, 66, 0, 0,
386 161, 162, 163, 164, 0, 0, 55, 0, 0, 65,
387 67, 53, 0, 60, 0, 68, 64, 0, 63, 56,
388 170, 171, 172, 0, 61, 173, 0, 0, 174, 175,
389 176, 0, 0, 0, 0, 0, 0, 66, 0, 0,
390 0, 75, 75, 75, 75, 0, 55, 0, 75, 65,
391 67, 53, 0, 60, 207, 68, 64, 0, 63, 56,
392 0, 0, 0, 0, 61, 0, 143, 160, 0, 75,
393 75, 0, 0, 161, 162, 163, 164, 66, 0, 0,
394 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
395 167, 168, 169, 170, 171, 172, 0, 0, 173, 56,
396 0, 174, 175, 176, 61, 0, 55, 0, 0, 65,
397 67, 53, 0, 60, 218, 68, 64, 0, 63, 0,
398 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
399 0, 0, 0, 0, 0, 0, 0, 66, 0, 56,
400 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
401 27, 28, 29, 30, 31, 0, 32, 33, 34, 0,
402 0, 0, 35, 0, 61, 0, 0, 0, 0, 0,
403 0, 0, 0, 41, 0, 42, 43, 44, 45, 46,
404 0, 0, 0, 0, 47, 48, 49, 50, 51, 52,
405 27, 28, 29, 30, 31, 54, 32, 33, 34, 56,
406 0, 0, 35, 0, 57, 0, 58, 59, 0, 0,
407 0, 0, 0, 41, 0, 42, 43, 44, 45, 46,
408 0, 0, 0, 0, 47, 48, 49, 50, 51, 52,
409 27, 28, 29, 30, 31, 54, 32, 33, 34, 0,
410 0, 0, 35, 0, 57, 0, 58, 59, 0, 0,
411 0, 0, 0, 41, 0, 42, 43, 44, 45, 46,
412 0, 0, 0, 0, 47, 48, 49, 50, 51, 52,
413 27, 28, 29, 30, 31, 54, 32, 33, 34, 0,
414 0, 0, 35, 0, 57, 0, 58, 59, 0, 0,
415 0, 0, 0, 41, 0, 42, 43, 44, 45, 46,
416 0, 0, 0, 0, 47, 48, 49, 50, 51, 52,
417 0, 0, 0, 55, 0, 54, 65, 67, 53, 0,
418 60, 255, 68, 64, 57, 63, 58, 59, 0, 0,
419 27, 28, 29, 30, 31, 0, 32, 33, 34, 0,
420 0, 0, 35, 0, 66, 0, 0, 0, 0, 0,
421 0, 0, 0, 41, 0, 42, 43, 44, 45, 46,
422 0, 0, 0, 0, 47, 48, 49, 50, 51, 52,
423 0, 61, 0, 55, 0, 54, 65, 67, 53, 0,
424 60, 263, 68, 64, 57, 63, 58, 59, 0, 0,
425 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
426 0, 0, 0, 0, 66, 0, 56, 0, 0, 0,
427 0, 0, 108, 0, 0, 108, 0, 0, 0, 0,
428 0, 0, 0, 0, 0, 0, 0, 0, 0, 108,
429 108, 61, 55, 0, 108, 65, 67, 53, 0, 60,
430 0, 68, 64, 0, 63, 0, 0, 0, 0, 0,
431 161, 162, 163, 164, 0, 0, 0, 0, 0, 0,
432 0, 0, 0, 66, 108, 0, 56, 167, 168, 169,
433 170, 171, 172, 0, 0, 173, 0, 0, 174, 175,
434 176, 0, 0, 0, 0, 0, 0, 0, 0, 0,
435 61, 0, 55, 0, 0, 65, 67, 53, 0, 60,
436 296, 68, 64, 0, 63, 0, 0, 0, 0, 0,
437 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
438 0, 0, 0, 66, 0, 56, 0, 0, 0, 0,
439 0, 0, 0, 0, 0, 0, 0, 27, 28, 29,
440 30, 31, 0, 32, 33, 34, 0, 0, 0, 35,
441 61, 0, 0, 0, 0, 0, 0, 0, 0, 0,
442 41, 0, 42, 43, 44, 45, 46, 0, 0, 0,
443 0, 47, 48, 49, 50, 51, 52, 0, 0, 0,
444 0, 0, 54, 0, 0, 56, 0, 0, 0, 0,
445 0, 57, 0, 58, 59, 0, 0, 27, 28, 29,
446 30, 31, 0, 32, 33, 34, 0, 55, 0, 35,
447 65, 67, 53, 0, 60, 298, 68, 64, 0, 63,
448 41, 0, 42, 43, 44, 45, 46, 0, 0, 0,
449 0, 47, 48, 49, 50, 51, 52, 0, 66, 0,
450 0, 0, 54, 108, 108, 108, 108, 0, 0, 0,
451 108, 57, 108, 58, 59, 25, 27, 28, 29, 30,
452 31, 0, 32, 33, 34, 61, 0, 0, 35, 0,
453 0, 108, 108, 0, 108, 108, 108, 108, 108, 41,
454 0, 42, 43, 44, 45, 46, 0, 0, 0, 0,
455 47, 48, 49, 50, 51, 52, 0, 0, 0, 55,
456 56, 54, 65, 67, 53, 0, 60, 307, 68, 64,
457 57, 63, 58, 59, 0, 0, 27, 28, 29, 30,
458 31, 0, 32, 33, 34, 0, 0, 0, 35, 0,
459 66, 0, 0, 0, 0, 0, 0, 0, 0, 41,
460 0, 42, 43, 44, 45, 46, 0, 0, 0, 0,
461 47, 48, 49, 50, 51, 52, 0, 61, 0, 55,
462 0, 54, 65, 67, 53, 0, 60, 0, 68, 64,
463 57, 63, 58, 59, 0, 0, 0, 0, 0, 0,
464 0, 0, 0, 0, 0, 0, 0, 0, 95, 95,
465 66, 0, 56, 0, 0, 0, 0, 0, 158, 0,
466 108, 158, 0, 0, 0, 0, 116, 95, 124, 0,
467 0, 0, 130, 95, 0, 158, 158, 61, 0, 0,
468 158, 0, 0, 0, 0, 95, 95, 95, 95, 0,
469 0, 27, 28, 29, 30, 31, 0, 32, 33, 34,
470 0, 0, 0, 35, 0, 74, 0, 0, 74, 0,
471 158, 0, 56, 0, 41, 0, 42, 43, 44, 45,
472 46, 178, 0, 74, 178, 47, 48, 49, 50, 51,
473 52, 0, 116, 0, 0, 0, 54, 0, 178, 178,
474 0, 0, 0, 178, 0, 57, 0, 58, 59, 0,
475 0, 0, 0, 0, 0, 0, 0, 74, 0, 0,
476 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
477 0, 0, 0, 178, 0, 139, 0, 0, 139, 0,
478 0, 0, 0, 27, 28, 29, 30, 31, 0, 32,
479 33, 34, 139, 139, 0, 35, 252, 139, 0, 0,
480 0, 0, 0, 0, 0, 0, 41, 0, 42, 43,
481 44, 45, 46, 0, 0, 0, 0, 47, 48, 49,
482 50, 51, 52, 284, 0, 0, 0, 139, 54, 0,
483 0, 0, 0, 0, 0, 134, 0, 57, 134, 58,
484 59, 0, 0, 27, 28, 29, 30, 31, 0, 32,
485 33, 34, 134, 134, 0, 35, 0, 134, 0, 0,
486 0, 0, 0, 0, 0, 0, 41, 0, 42, 43,
487 44, 45, 46, 0, 0, 0, 0, 47, 48, 49,
488 50, 51, 52, 0, 0, 0, 0, 134, 54, 158,
489 158, 158, 158, 0, 0, 0, 158, 57, 158, 58,
490 59, 0, 0, 0, 158, 158, 158, 158, 0, 0,
491 0, 0, 0, 137, 0, 0, 137, 158, 158, 0,
492 158, 158, 158, 158, 158, 158, 158, 0, 0, 158,
493 137, 137, 158, 158, 158, 137, 74, 74, 74, 74,
494 0, 0, 0, 74, 0, 0, 0, 0, 0, 0,
495 0, 0, 178, 178, 178, 178, 0, 0, 0, 178,
496 135, 178, 0, 135, 74, 137, 0, 178, 178, 178,
497 178, 0, 0, 0, 0, 0, 0, 135, 135, 0,
498 178, 178, 135, 178, 178, 178, 178, 178, 178, 178,
499 0, 0, 178, 0, 0, 178, 178, 178, 0, 0,
500 0, 0, 0, 0, 0, 0, 139, 139, 139, 139,
501 0, 145, 135, 139, 145, 139, 0, 0, 0, 0,
502 0, 139, 139, 139, 139, 0, 0, 0, 145, 145,
503 0, 0, 0, 145, 139, 139, 0, 139, 139, 139,
504 139, 139, 139, 139, 0, 0, 139, 0, 0, 139,
505 139, 139, 0, 0, 0, 0, 0, 0, 0, 0,
506 0, 0, 156, 145, 0, 156, 134, 134, 134, 134,
507 0, 169, 0, 134, 169, 134, 0, 0, 0, 156,
508 156, 134, 134, 134, 134, 0, 0, 0, 169, 169,
509 0, 0, 0, 169, 134, 134, 0, 134, 134, 134,
510 134, 134, 134, 134, 0, 0, 134, 0, 0, 134,
511 134, 134, 0, 0, 156, 0, 0, 172, 0, 0,
512 172, 0, 0, 169, 0, 0, 0, 0, 0, 0,
513 0, 0, 0, 0, 172, 172, 0, 0, 0, 172,
514 0, 0, 0, 0, 137, 137, 137, 137, 0, 0,
515 0, 137, 0, 137, 0, 0, 0, 0, 0, 137,
516 137, 137, 137, 0, 0, 0, 0, 0, 0, 172,
517 0, 0, 137, 137, 0, 137, 137, 137, 137, 137,
518 137, 137, 0, 0, 137, 0, 0, 137, 137, 137,
519 0, 135, 135, 135, 135, 0, 128, 0, 135, 128,
520 135, 0, 0, 0, 0, 0, 135, 135, 135, 135,
521 0, 0, 0, 128, 128, 0, 0, 0, 128, 135,
522 135, 0, 135, 135, 135, 135, 135, 135, 135, 0,
523 0, 135, 0, 0, 135, 135, 135, 0, 0, 0,
524 0, 0, 145, 145, 145, 145, 0, 76, 128, 145,
525 76, 145, 0, 0, 0, 0, 0, 145, 145, 145,
526 145, 0, 0, 0, 76, 76, 0, 0, 0, 76,
527 145, 145, 0, 145, 145, 145, 145, 145, 145, 145,
528 0, 0, 145, 0, 0, 145, 145, 145, 0, 0,
529 0, 0, 0, 156, 156, 156, 156, 0, 0, 76,
530 156, 0, 169, 169, 169, 169, 0, 66, 0, 169,
531 66, 169, 0, 0, 0, 0, 0, 169, 169, 169,
532 169, 156, 156, 0, 66, 66, 0, 0, 0, 66,
533 169, 169, 0, 169, 169, 169, 169, 169, 169, 169,
534 0, 0, 169, 0, 0, 169, 169, 169, 172, 172,
535 172, 172, 0, 127, 0, 172, 127, 172, 0, 66,
536 0, 0, 0, 172, 172, 172, 172, 0, 0, 0,
537 127, 127, 0, 0, 0, 127, 172, 172, 0, 172,
538 172, 172, 172, 172, 172, 172, 0, 0, 172, 0,
539 0, 172, 172, 172, 0, 0, 0, 0, 0, 82,
540 0, 0, 82, 0, 0, 127, 0, 0, 0, 0,
541 0, 0, 0, 0, 0, 0, 82, 82, 0, 0,
542 0, 82, 114, 0, 0, 114, 0, 128, 128, 128,
543 128, 0, 0, 0, 128, 0, 128, 0, 0, 114,
544 114, 0, 128, 128, 128, 128, 0, 0, 0, 0,
545 0, 82, 0, 0, 0, 128, 128, 0, 128, 128,
546 128, 128, 128, 128, 128, 0, 0, 128, 0, 0,
547 128, 128, 128, 102, 114, 0, 102, 0, 76, 76,
548 76, 76, 179, 0, 0, 76, 0, 76, 0, 0,
549 102, 102, 0, 76, 76, 76, 76, 0, 0, 179,
550 179, 0, 0, 0, 179, 0, 76, 76, 0, 76,
551 76, 76, 76, 76, 76, 76, 0, 0, 76, 0,
552 0, 76, 76, 76, 0, 102, 0, 0, 0, 0,
553 0, 0, 0, 0, 179, 0, 0, 0, 66, 66,
554 66, 66, 157, 0, 0, 66, 0, 66, 0, 0,
555 0, 0, 0, 66, 66, 66, 66, 0, 0, 157,
556 157, 0, 0, 0, 157, 0, 66, 66, 0, 66,
557 66, 66, 66, 66, 66, 66, 0, 0, 66, 0,
558 0, 66, 66, 66, 127, 127, 127, 127, 79, 0,
559 0, 127, 0, 127, 157, 0, 0, 0, 0, 127,
560 127, 127, 127, 0, 0, 79, 79, 0, 0, 0,
561 79, 0, 127, 127, 0, 127, 127, 127, 127, 127,
562 127, 127, 0, 0, 127, 0, 0, 127, 127, 127,
563 82, 82, 82, 82, 0, 0, 0, 82, 0, 82,
564 79, 0, 0, 0, 0, 82, 82, 82, 82, 0,
565 0, 0, 0, 114, 114, 114, 114, 0, 82, 82,
566 114, 82, 82, 82, 82, 82, 82, 82, 0, 123,
567 82, 0, 123, 82, 82, 82, 0, 0, 0, 0,
568 0, 114, 114, 0, 114, 0, 123, 123, 0, 0,
569 0, 123, 0, 0, 0, 0, 0, 0, 0, 0,
570 0, 0, 0, 0, 102, 102, 102, 102, 0, 0,
571 0, 102, 0, 179, 179, 179, 179, 0, 0, 0,
572 179, 123, 179, 0, 0, 0, 0, 0, 179, 179,
573 179, 179, 102, 102, 0, 0, 0, 0, 0, 0,
574 0, 179, 179, 0, 179, 179, 179, 179, 179, 179,
575 179, 0, 0, 179, 0, 0, 179, 179, 179, 0,
576 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
577 0, 0, 0, 157, 157, 157, 157, 0, 0, 0,
578 157, 124, 157, 0, 124, 0, 0, 0, 157, 157,
579 157, 157, 0, 0, 0, 0, 0, 0, 124, 124,
580 0, 157, 157, 124, 157, 157, 157, 157, 157, 157,
581 157, 0, 0, 157, 0, 0, 157, 157, 157, 79,
582 79, 79, 79, 0, 118, 0, 79, 118, 79, 0,
583 0, 0, 0, 124, 79, 79, 79, 79, 0, 0,
584 0, 118, 118, 0, 0, 0, 118, 79, 79, 0,
585 79, 79, 79, 79, 79, 79, 79, 99, 0, 79,
586 0, 0, 79, 79, 79, 109, 0, 0, 119, 114,
587 0, 119, 123, 0, 0, 128, 118, 0, 0, 136,
588 137, 138, 139, 140, 0, 119, 119, 145, 146, 0,
589 119, 0, 0, 0, 0, 0, 0, 0, 0, 0,
590 123, 123, 123, 123, 0, 0, 0, 123, 120, 123,
591 0, 120, 0, 0, 0, 123, 123, 123, 123, 0,
592 119, 0, 196, 0, 0, 120, 120, 0, 123, 123,
593 120, 123, 123, 123, 123, 123, 123, 123, 0, 0,
594 123, 0, 0, 0, 0, 0, 116, 0, 0, 116,
595 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
596 120, 0, 0, 116, 116, 0, 0, 0, 116, 0,
597 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
598 0, 0, 0, 0, 234, 235, 236, 237, 238, 239,
599 240, 241, 242, 243, 244, 245, 246, 247, 116, 0,
600 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
601 0, 265, 124, 124, 124, 124, 0, 117, 0, 124,
602 117, 124, 0, 0, 0, 0, 0, 124, 124, 124,
603 124, 0, 0, 0, 117, 117, 0, 0, 0, 117,
604 124, 124, 0, 124, 124, 124, 124, 124, 124, 124,
605 0, 0, 124, 0, 0, 118, 118, 118, 118, 0,
606 115, 0, 118, 115, 118, 0, 0, 0, 0, 117,
607 118, 118, 118, 118, 0, 0, 0, 115, 115, 0,
608 0, 0, 115, 118, 118, 0, 118, 118, 118, 118,
609 118, 118, 118, 0, 0, 0, 327, 0, 0, 119,
610 119, 119, 119, 0, 0, 0, 119, 77, 119, 0,
611 77, 0, 115, 0, 119, 119, 119, 119, 0, 0,
612 0, 0, 0, 0, 77, 77, 0, 119, 119, 343,
613 119, 119, 119, 119, 119, 119, 119, 0, 0, 120,
614 120, 120, 120, 0, 103, 0, 120, 103, 120, 0,
615 0, 0, 0, 0, 120, 120, 120, 120, 0, 77,
616 0, 103, 103, 0, 0, 0, 103, 120, 120, 0,
617 120, 120, 120, 120, 120, 120, 120, 116, 116, 116,
618 116, 0, 104, 0, 116, 104, 116, 0, 0, 0,
619 0, 0, 116, 116, 116, 116, 103, 0, 0, 104,
620 104, 0, 0, 0, 104, 116, 116, 0, 116, 116,
621 116, 116, 116, 116, 116, 0, 0, 0, 0, 105,
622 0, 0, 105, 0, 0, 0, 0, 0, 0, 0,
623 0, 0, 0, 0, 104, 0, 105, 105, 0, 0,
624 0, 105, 0, 0, 0, 0, 0, 0, 117, 117,
625 117, 117, 0, 0, 0, 117, 0, 117, 0, 0,
626 0, 0, 0, 117, 117, 117, 117, 305, 0, 0,
627 0, 105, 166, 0, 0, 0, 117, 117, 0, 117,
628 117, 117, 117, 117, 117, 117, 0, 0, 0, 0,
629 0, 115, 115, 115, 115, 0, 161, 0, 115, 161,
630 115, 0, 0, 0, 0, 0, 115, 115, 115, 115,
631 0, 0, 0, 161, 161, 0, 0, 0, 161, 115,
632 115, 0, 115, 115, 115, 115, 115, 115, 115, 0,
633 0, 0, 0, 160, 0, 0, 160, 0, 77, 77,
634 77, 77, 0, 149, 0, 77, 149, 0, 161, 0,
635 160, 160, 0, 0, 0, 160, 0, 0, 0, 0,
636 149, 149, 0, 0, 0, 149, 77, 77, 0, 0,
637 0, 0, 0, 0, 0, 103, 103, 103, 103, 0,
638 126, 0, 103, 126, 103, 160, 0, 0, 0, 0,
639 103, 103, 103, 103, 0, 149, 0, 126, 126, 0,
640 0, 0, 126, 103, 103, 0, 103, 103, 103, 103,
641 103, 103, 103, 104, 104, 104, 104, 0, 107, 0,
642 104, 107, 104, 0, 0, 0, 0, 0, 104, 104,
643 104, 104, 126, 0, 0, 107, 107, 0, 0, 0,
644 107, 104, 104, 0, 104, 104, 104, 104, 104, 104,
645 105, 105, 105, 105, 0, 109, 0, 105, 109, 105,
646 0, 0, 0, 0, 0, 105, 105, 0, 105, 0,
647 107, 110, 109, 109, 110, 0, 0, 109, 105, 105,
648 0, 105, 105, 105, 105, 105, 105, 0, 110, 110,
649 160, 0, 0, 110, 0, 0, 161, 162, 163, 164,
650 0, 0, 0, 0, 0, 0, 0, 109, 0, 0,
651 0, 0, 165, 167, 168, 169, 170, 171, 172, 0,
652 0, 173, 0, 110, 174, 175, 176, 161, 161, 161,
653 161, 0, 112, 0, 161, 112, 161, 0, 0, 0,
654 0, 0, 161, 161, 0, 0, 0, 0, 0, 112,
655 112, 0, 0, 0, 112, 161, 161, 0, 161, 161,
656 161, 161, 161, 0, 160, 160, 160, 160, 0, 113,
657 0, 160, 113, 160, 149, 149, 149, 149, 0, 160,
658 160, 149, 0, 149, 112, 0, 113, 113, 0, 149,
659 149, 113, 160, 160, 0, 160, 160, 160, 160, 160,
660 0, 0, 149, 149, 0, 149, 149, 149, 149, 149,
661 0, 126, 126, 126, 126, 0, 0, 0, 126, 0,
662 126, 113, 0, 0, 0, 0, 126, 126, 0, 0,
663 0, 0, 0, 0, 0, 0, 0, 0, 0, 126,
664 126, 0, 126, 126, 126, 126, 126, 0, 0, 107,
665 107, 107, 107, 0, 0, 0, 107, 0, 107, 0,
666 0, 0, 0, 0, 0, 107, 0, 0, 0, 0,
667 0, 0, 0, 0, 0, 0, 0, 107, 107, 0,
668 107, 107, 107, 107, 107, 0, 109, 109, 109, 109,
669 0, 0, 0, 109, 0, 109, 0, 0, 0, 0,
670 0, 0, 110, 110, 110, 110, 0, 0, 0, 110,
671 0, 110, 0, 0, 109, 109, 0, 109, 109, 109,
672 109, 109, 0, 0, 0, 0, 0, 0, 0, 0,
673 110, 110, 0, 110, 110, 110, 110, 0, 0, 0,
674 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
675 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
676 0, 0, 0, 112, 112, 112, 112, 0, 0, 0,
677 112, 0, 112, 0, 0, 0, 0, 0, 0, 0,
678 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
679 0, 112, 112, 0, 112, 112, 112, 0, 0, 0,
680 113, 113, 113, 113, 0, 0, 0, 113, 0, 113,
681 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
682 0, 0, 0, 0, 0, 0, 0, 0, 113, 113,
685 static short yycheck[] = { 15,
686 36, 91, 41, 36, 40, 59, 59, 41, 195, 41,
687 59, 59, 41, 59, 59, 44, 59, 123, 93, 36,
688 93, 358, 59, 40, 96, 91, 40, 91, 41, 58,
689 59, 41, 41, 49, 63, 59, 41, 59, 41, 257,
690 204, 40, 192, 90, 60, 61, 59, 41, 198, 257,
691 59, 15, 389, 41, 101, 127, 59, 123, 41, 123,
692 289, 290, 300, 301, 93, 59, 266, 267, 268, 41,
693 270, 271, 41, 41, 91, 123, 41, 91, 123, 44,
694 309, 45, 41, 312, 48, 93, 315, 316, 317, 44,
695 123, 59, 91, 58, 59, 111, 112, 297, 63, 123,
696 59, 123, 59, 36, 37, 40, 123, 40, 40, 123,
697 257, 41, 59, 129, 0, 102, 103, 104, 105, 106,
698 107, 85, 40, 310, 123, 278, 41, 291, 93, 59,
699 312, 64, 40, 315, 316, 317, 100, 153, 154, 155,
700 156, 157, 158, 159, 59, 276, 277, 33, 93, 40,
701 36, 37, 38, 93, 40, 93, 42, 43, 40, 45,
702 40, 177, 178, 179, 180, 181, 182, 183, 184, 185,
703 334, 8, 9, 59, 0, 40, 40, 123, 64, 195,
704 59, 44, 123, 199, 200, 40, 202, 151, 204, 260,
705 257, 40, 298, 41, 93, 211, 268, 213, 214, 40,
706 125, 298, 274, 257, 317, 91, 222, 33, 36, 298,
707 36, 37, 38, 91, 40, 379, 42, 43, 205, 45,
708 41, 125, 257, 91, 257, 300, 301, 300, 301, 262,
709 260, 301, 248, 59, 250, 251, 40, 123, 64, 125,
710 126, 258, 0, 272, 273, 274, 275, 300, 301, 260,
711 279, 300, 301, 298, 300, 301, 41, 300, 301, 41,
712 296, 300, 301, 300, 301, 91, 300, 301, 300, 301,
713 41, 300, 301, 41, 303, 33, 366, 41, 36, 37,
714 38, 40, 40, 59, 42, 43, 41, 45, 304, 125,
715 300, 301, 300, 301, 310, 300, 301, 123, 125, 125,
716 126, 59, 125, 267, 123, 269, 64, 272, 273, 274,
717 275, 275, 300, 301, 279, 125, 281, 300, 301, 59,
718 336, 41, 287, 288, 289, 290, 125, 41, 300, 301,
719 44, 300, 301, 91, 41, 300, 301, 41, 303, 304,
720 305, 306, 307, 308, 309, 300, 301, 312, 59, 63,
721 315, 316, 317, 300, 301, 300, 301, 40, 123, 375,
722 300, 301, 300, 301, 41, 123, 41, 41, 126, 123,
723 256, 257, 258, 259, 260, 261, 41, 263, 264, 265,
724 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
725 41, 59, 41, 279, 280, 289, 282, 283, 284, 285,
726 286, 300, 301, 59, 41, 291, 292, 293, 294, 295,
727 296, 297, 63, 59, 41, 309, 302, 35, 312, 52,
728 52, 315, 316, 317, 15, 311, 154, 313, 314, 336,
729 256, 257, 258, 259, 260, 261, 375, 263, 264, 265,
730 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
731 202, 24, 269, 279, 280, -1, 282, 283, 284, 285,
732 286, -1, -1, 125, -1, 291, 292, 293, 294, 295,
733 296, 297, 355, 356, -1, 309, 302, 360, 312, -1,
734 -1, 315, 316, 317, -1, 311, -1, 313, 314, -1,
735 -1, 41, -1, 376, 44, -1, -1, 380, 256, 257,
736 258, 259, 260, 261, -1, 263, 264, 265, 58, 59,
737 -1, 269, -1, 63, 272, 273, 274, 275, -1, -1,
738 -1, 279, 280, -1, 282, 283, 284, 285, 286, -1,
739 -1, 125, -1, 291, 292, 293, 294, 295, 296, -1,
740 -1, -1, -1, 93, 302, -1, -1, -1, -1, -1,
741 -1, -1, -1, 311, 33, 313, 314, 36, 37, 38,
742 -1, 40, 41, 42, 43, 44, 45, 281, -1, -1,
743 -1, -1, -1, 287, 288, 289, 290, -1, -1, 58,
744 59, -1, -1, -1, 63, 64, -1, -1, -1, 303,
745 304, 305, 306, 307, 308, 309, -1, -1, 312, -1,
746 -1, 315, 316, 317, 266, 267, 268, -1, 270, 271,
747 -1, -1, 91, -1, 93, 33, -1, -1, 36, 37,
748 38, -1, 40, 41, 42, 43, 44, 45, -1, -1,
749 281, -1, -1, -1, -1, 297, 287, 288, 289, 290,
750 58, 59, -1, -1, -1, 63, 64, 126, -1, -1,
751 -1, -1, 303, 304, 305, 306, 307, 308, 309, -1,
752 -1, 312, 29, -1, 315, 316, 317, -1, -1, -1,
753 -1, -1, 266, 267, 268, 93, 270, 271, 33, 46,
754 47, 36, 37, 38, -1, 40, 53, 42, 43, -1,
755 45, 287, 288, 289, 290, -1, -1, -1, 65, 66,
756 67, 68, -1, 297, 59, -1, -1, -1, 126, 64,
757 306, 307, 308, 309, -1, -1, 312, -1, -1, 315,
758 316, 317, 272, 273, 274, 275, -1, -1, -1, 279,
759 -1, 281, -1, -1, -1, -1, 91, 287, 288, 289,
760 290, 272, 273, 274, 275, 112, -1, -1, 279, -1,
761 300, 301, -1, 303, 304, 305, 306, 307, 308, 309,
762 -1, -1, 312, -1, -1, 315, 316, 317, 123, 300,
763 301, 126, -1, -1, -1, -1, -1, -1, 257, 258,
764 259, 260, 261, -1, 263, 264, 265, -1, -1, -1,
765 269, -1, -1, 272, 273, 274, 275, -1, -1, -1,
766 279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
767 289, 290, 291, 292, 293, 294, 295, 296, -1, -1,
768 -1, 300, 301, 302, 303, 304, 305, 306, 307, 308,
769 309, -1, 311, 312, 313, 314, 315, 316, 317, 257,
770 258, 259, 260, 261, -1, 263, 264, 265, -1, -1,
771 -1, 269, -1, -1, 272, 273, 274, 275, -1, -1,
772 -1, 279, 280, 281, 282, 283, 284, 285, 286, 287,
773 288, 289, 290, 291, 292, 293, 294, 295, 296, -1,
774 -1, -1, 300, 301, 302, 303, 304, 305, 306, 307,
775 308, 309, -1, 311, 312, 313, 314, 315, 316, 317,
776 -1, 256, 257, 258, 259, 260, 261, 63, 263, 264,
777 265, -1, -1, -1, 269, -1, -1, 272, 273, 274,
778 275, -1, -1, -1, 279, 280, -1, 282, 283, 284,
779 285, 286, -1, -1, -1, -1, 291, 292, 293, 294,
780 295, 296, -1, -1, -1, 33, -1, 302, 36, 37,
781 38, -1, 40, -1, 42, 43, 311, 45, 313, 314,
782 -1, 46, -1, -1, -1, -1, -1, -1, -1, 54,
783 287, 59, 289, 290, -1, -1, 64, -1, -1, 41,
784 -1, -1, 44, -1, -1, 331, 332, 333, -1, 335,
785 -1, 308, 309, -1, -1, 312, 58, 59, 315, 316,
786 317, -1, -1, 91, -1, 33, -1, -1, 36, 37,
787 38, 96, 40, -1, 42, 43, 362, 45, -1, -1,
788 -1, -1, -1, 369, -1, -1, -1, 373, -1, -1,
789 -1, 93, -1, -1, 119, 123, 64, -1, 126, -1,
790 386, 387, 127, -1, -1, 33, -1, -1, 36, 37,
791 38, -1, 40, -1, 42, 43, -1, 45, -1, -1,
792 -1, -1, -1, 91, 287, 288, 289, 290, -1, -1,
793 -1, -1, -1, -1, -1, -1, 64, -1, -1, -1,
794 -1, -1, -1, -1, 41, 308, 309, 44, -1, 312,
795 -1, -1, 315, 316, 317, 123, -1, -1, 126, -1,
796 -1, 58, 59, 91, -1, -1, 63, -1, -1, 33,
797 -1, -1, 36, 37, 38, -1, 40, -1, 42, 43,
798 -1, 45, -1, -1, -1, 281, -1, -1, -1, -1,
799 -1, 287, 288, 289, 290, 123, 93, -1, 126, -1,
800 64, -1, -1, -1, -1, -1, -1, 303, 304, 305,
801 306, 307, 308, 309, -1, -1, 312, -1, -1, 315,
802 316, 317, -1, -1, -1, -1, -1, 91, 256, 257,
803 258, 259, 260, 261, -1, 263, 264, 265, -1, -1,
804 -1, 269, -1, 268, 272, 273, 274, 275, -1, 274,
805 -1, 279, 280, -1, 282, 283, 284, 285, 286, 123,
806 -1, -1, 126, 291, 292, 293, 294, 295, 296, -1,
807 272, 273, 274, 275, 302, -1, -1, 279, -1, -1,
808 -1, -1, -1, 311, -1, 313, 314, -1, -1, 257,
809 258, 259, 260, 261, 262, 263, 264, 265, 300, 301,
810 -1, 269, -1, -1, -1, -1, -1, -1, -1, -1,
811 -1, -1, 280, -1, 282, 283, 284, 285, 286, -1,
812 41, -1, -1, 291, 292, 293, 294, 295, 296, 257,
813 258, 259, 260, 261, 302, 263, 264, 265, 59, -1,
814 -1, 269, -1, 311, -1, 313, 314, -1, -1, -1,
815 -1, -1, 280, -1, 282, 283, 284, 285, 286, 63,
816 -1, -1, -1, 291, 292, 293, 294, 295, 296, -1,
817 -1, -1, 93, -1, 302, 272, 273, 274, 275, -1,
818 -1, -1, 279, 311, 281, 313, 314, -1, -1, -1,
819 287, 288, -1, 257, 258, 259, 260, 261, -1, 263,
820 264, 265, -1, 300, 301, 269, 303, 304, 305, 306,
821 307, 308, -1, -1, -1, -1, 280, -1, 282, 283,
822 284, 285, 286, -1, -1, -1, -1, 291, 292, 293,
823 294, 295, 296, 289, 290, -1, 33, -1, 302, 36,
824 37, 38, -1, 40, -1, 42, 43, 311, 45, 313,
825 314, -1, 308, 309, -1, -1, 312, -1, -1, 315,
826 316, 317, 59, -1, -1, -1, -1, 64, -1, -1,
827 -1, 287, 288, 289, 290, -1, 33, -1, -1, 36,
828 37, 38, -1, 40, 41, 42, 43, -1, 45, 305,
829 306, 307, 308, 309, 91, -1, 312, -1, -1, 315,
830 316, 317, -1, -1, -1, -1, -1, 64, -1, -1,
831 287, 288, 289, 290, -1, -1, 33, -1, -1, 36,
832 37, 38, -1, 40, -1, 42, 43, -1, 45, 126,
833 307, 308, 309, -1, 91, 312, -1, -1, 315, 316,
834 317, -1, -1, -1, -1, -1, -1, 64, -1, -1,
835 -1, 272, 273, 274, 275, -1, 33, -1, 279, 36,
836 37, 38, -1, 40, 41, 42, 43, -1, 45, 126,
837 -1, -1, -1, -1, 91, -1, 93, 281, -1, 300,
838 301, -1, -1, 287, 288, 289, 290, 64, -1, -1,
839 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
840 304, 305, 306, 307, 308, 309, -1, -1, 312, 126,
841 -1, 315, 316, 317, 91, -1, 33, -1, -1, 36,
842 37, 38, -1, 40, 41, 42, 43, -1, 45, -1,
843 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
844 -1, -1, -1, -1, -1, -1, -1, 64, -1, 126,
845 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
846 257, 258, 259, 260, 261, -1, 263, 264, 265, -1,
847 -1, -1, 269, -1, 91, -1, -1, -1, -1, -1,
848 -1, -1, -1, 280, -1, 282, 283, 284, 285, 286,
849 -1, -1, -1, -1, 291, 292, 293, 294, 295, 296,
850 257, 258, 259, 260, 261, 302, 263, 264, 265, 126,
851 -1, -1, 269, -1, 311, -1, 313, 314, -1, -1,
852 -1, -1, -1, 280, -1, 282, 283, 284, 285, 286,
853 -1, -1, -1, -1, 291, 292, 293, 294, 295, 296,
854 257, 258, 259, 260, 261, 302, 263, 264, 265, -1,
855 -1, -1, 269, -1, 311, -1, 313, 314, -1, -1,
856 -1, -1, -1, 280, -1, 282, 283, 284, 285, 286,
857 -1, -1, -1, -1, 291, 292, 293, 294, 295, 296,
858 257, 258, 259, 260, 261, 302, 263, 264, 265, -1,
859 -1, -1, 269, -1, 311, -1, 313, 314, -1, -1,
860 -1, -1, -1, 280, -1, 282, 283, 284, 285, 286,
861 -1, -1, -1, -1, 291, 292, 293, 294, 295, 296,
862 -1, -1, -1, 33, -1, 302, 36, 37, 38, -1,
863 40, 41, 42, 43, 311, 45, 313, 314, -1, -1,
864 257, 258, 259, 260, 261, -1, 263, 264, 265, -1,
865 -1, -1, 269, -1, 64, -1, -1, -1, -1, -1,
866 -1, -1, -1, 280, -1, 282, 283, 284, 285, 286,
867 -1, -1, -1, -1, 291, 292, 293, 294, 295, 296,
868 -1, 91, -1, 33, -1, 302, 36, 37, 38, -1,
869 40, 41, 42, 43, 311, 45, 313, 314, -1, -1,
870 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
871 -1, -1, -1, -1, 64, -1, 126, -1, -1, -1,
872 -1, -1, 41, -1, -1, 44, -1, -1, -1, -1,
873 -1, -1, -1, -1, -1, -1, -1, -1, -1, 58,
874 59, 91, 33, -1, 63, 36, 37, 38, -1, 40,
875 -1, 42, 43, -1, 45, -1, -1, -1, -1, -1,
876 287, 288, 289, 290, -1, -1, -1, -1, -1, -1,
877 -1, -1, -1, 64, 93, -1, 126, 304, 305, 306,
878 307, 308, 309, -1, -1, 312, -1, -1, 315, 316,
879 317, -1, -1, -1, -1, -1, -1, -1, -1, -1,
880 91, -1, 33, -1, -1, 36, 37, 38, -1, 40,
881 41, 42, 43, -1, 45, -1, -1, -1, -1, -1,
882 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
883 -1, -1, -1, 64, -1, 126, -1, -1, -1, -1,
884 -1, -1, -1, -1, -1, -1, -1, 257, 258, 259,
885 260, 261, -1, 263, 264, 265, -1, -1, -1, 269,
886 91, -1, -1, -1, -1, -1, -1, -1, -1, -1,
887 280, -1, 282, 283, 284, 285, 286, -1, -1, -1,
888 -1, 291, 292, 293, 294, 295, 296, -1, -1, -1,
889 -1, -1, 302, -1, -1, 126, -1, -1, -1, -1,
890 -1, 311, -1, 313, 314, -1, -1, 257, 258, 259,
891 260, 261, -1, 263, 264, 265, -1, 33, -1, 269,
892 36, 37, 38, -1, 40, 41, 42, 43, -1, 45,
893 280, -1, 282, 283, 284, 285, 286, -1, -1, -1,
894 -1, 291, 292, 293, 294, 295, 296, -1, 64, -1,
895 -1, -1, 302, 272, 273, 274, 275, -1, -1, -1,
896 279, 311, 281, 313, 314, 256, 257, 258, 259, 260,
897 261, -1, 263, 264, 265, 91, -1, -1, 269, -1,
898 -1, 300, 301, -1, 303, 304, 305, 306, 307, 280,
899 -1, 282, 283, 284, 285, 286, -1, -1, -1, -1,
900 291, 292, 293, 294, 295, 296, -1, -1, -1, 33,
901 126, 302, 36, 37, 38, -1, 40, 41, 42, 43,
902 311, 45, 313, 314, -1, -1, 257, 258, 259, 260,
903 261, -1, 263, 264, 265, -1, -1, -1, 269, -1,
904 64, -1, -1, -1, -1, -1, -1, -1, -1, 280,
905 -1, 282, 283, 284, 285, 286, -1, -1, -1, -1,
906 291, 292, 293, 294, 295, 296, -1, 91, -1, 33,
907 -1, 302, 36, 37, 38, -1, 40, -1, 42, 43,
908 311, 45, 313, 314, -1, -1, -1, -1, -1, -1,
909 -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
910 64, -1, 126, -1, -1, -1, -1, -1, 41, -1,
911 40, 44, -1, -1, -1, -1, 46, 47, 48, -1,
912 -1, -1, 52, 53, -1, 58, 59, 91, -1, -1,
913 63, -1, -1, -1, -1, 65, 66, 67, 68, -1,
914 -1, 257, 258, 259, 260, 261, -1, 263, 264, 265,
915 -1, -1, -1, 269, -1, 41, -1, -1, 44, -1,
916 93, -1, 126, -1, 280, -1, 282, 283, 284, 285,
917 286, 41, -1, 59, 44, 291, 292, 293, 294, 295,
918 296, -1, 112, -1, -1, -1, 302, -1, 58, 59,
919 -1, -1, -1, 63, -1, 311, -1, 313, 314, -1,
920 -1, -1, -1, -1, -1, -1, -1, 93, -1, -1,
921 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
922 -1, -1, -1, 93, -1, 41, -1, -1, 44, -1,
923 -1, -1, -1, 257, 258, 259, 260, 261, -1, 263,
924 264, 265, 58, 59, -1, 269, 176, 63, -1, -1,
925 -1, -1, -1, -1, -1, -1, 280, -1, 282, 283,
926 284, 285, 286, -1, -1, -1, -1, 291, 292, 293,
927 294, 295, 296, 203, -1, -1, -1, 93, 302, -1,
928 -1, -1, -1, -1, -1, 41, -1, 311, 44, 313,
929 314, -1, -1, 257, 258, 259, 260, 261, -1, 263,
930 264, 265, 58, 59, -1, 269, -1, 63, -1, -1,
931 -1, -1, -1, -1, -1, -1, 280, -1, 282, 283,
932 284, 285, 286, -1, -1, -1, -1, 291, 292, 293,
933 294, 295, 296, -1, -1, -1, -1, 93, 302, 272,
934 273, 274, 275, -1, -1, -1, 279, 311, 281, 313,
935 314, -1, -1, -1, 287, 288, 289, 290, -1, -1,
936 -1, -1, -1, 41, -1, -1, 44, 300, 301, -1,
937 303, 304, 305, 306, 307, 308, 309, -1, -1, 312,
938 58, 59, 315, 316, 317, 63, 272, 273, 274, 275,
939 -1, -1, -1, 279, -1, -1, -1, -1, -1, -1,
940 -1, -1, 272, 273, 274, 275, -1, -1, -1, 279,
941 41, 281, -1, 44, 300, 93, -1, 287, 288, 289,
942 290, -1, -1, -1, -1, -1, -1, 58, 59, -1,
943 300, 301, 63, 303, 304, 305, 306, 307, 308, 309,
944 -1, -1, 312, -1, -1, 315, 316, 317, -1, -1,
945 -1, -1, -1, -1, -1, -1, 272, 273, 274, 275,
946 -1, 41, 93, 279, 44, 281, -1, -1, -1, -1,
947 -1, 287, 288, 289, 290, -1, -1, -1, 58, 59,
948 -1, -1, -1, 63, 300, 301, -1, 303, 304, 305,
949 306, 307, 308, 309, -1, -1, 312, -1, -1, 315,
950 316, 317, -1, -1, -1, -1, -1, -1, -1, -1,
951 -1, -1, 41, 93, -1, 44, 272, 273, 274, 275,
952 -1, 41, -1, 279, 44, 281, -1, -1, -1, 58,
953 59, 287, 288, 289, 290, -1, -1, -1, 58, 59,
954 -1, -1, -1, 63, 300, 301, -1, 303, 304, 305,
955 306, 307, 308, 309, -1, -1, 312, -1, -1, 315,
956 316, 317, -1, -1, 93, -1, -1, 41, -1, -1,
957 44, -1, -1, 93, -1, -1, -1, -1, -1, -1,
958 -1, -1, -1, -1, 58, 59, -1, -1, -1, 63,
959 -1, -1, -1, -1, 272, 273, 274, 275, -1, -1,
960 -1, 279, -1, 281, -1, -1, -1, -1, -1, 287,
961 288, 289, 290, -1, -1, -1, -1, -1, -1, 93,
962 -1, -1, 300, 301, -1, 303, 304, 305, 306, 307,
963 308, 309, -1, -1, 312, -1, -1, 315, 316, 317,
964 -1, 272, 273, 274, 275, -1, 41, -1, 279, 44,
965 281, -1, -1, -1, -1, -1, 287, 288, 289, 290,
966 -1, -1, -1, 58, 59, -1, -1, -1, 63, 300,
967 301, -1, 303, 304, 305, 306, 307, 308, 309, -1,
968 -1, 312, -1, -1, 315, 316, 317, -1, -1, -1,
969 -1, -1, 272, 273, 274, 275, -1, 41, 93, 279,
970 44, 281, -1, -1, -1, -1, -1, 287, 288, 289,
971 290, -1, -1, -1, 58, 59, -1, -1, -1, 63,
972 300, 301, -1, 303, 304, 305, 306, 307, 308, 309,
973 -1, -1, 312, -1, -1, 315, 316, 317, -1, -1,
974 -1, -1, -1, 272, 273, 274, 275, -1, -1, 93,
975 279, -1, 272, 273, 274, 275, -1, 41, -1, 279,
976 44, 281, -1, -1, -1, -1, -1, 287, 288, 289,
977 290, 300, 301, -1, 58, 59, -1, -1, -1, 63,
978 300, 301, -1, 303, 304, 305, 306, 307, 308, 309,
979 -1, -1, 312, -1, -1, 315, 316, 317, 272, 273,
980 274, 275, -1, 41, -1, 279, 44, 281, -1, 93,
981 -1, -1, -1, 287, 288, 289, 290, -1, -1, -1,
982 58, 59, -1, -1, -1, 63, 300, 301, -1, 303,
983 304, 305, 306, 307, 308, 309, -1, -1, 312, -1,
984 -1, 315, 316, 317, -1, -1, -1, -1, -1, 41,
985 -1, -1, 44, -1, -1, 93, -1, -1, -1, -1,
986 -1, -1, -1, -1, -1, -1, 58, 59, -1, -1,
987 -1, 63, 41, -1, -1, 44, -1, 272, 273, 274,
988 275, -1, -1, -1, 279, -1, 281, -1, -1, 58,
989 59, -1, 287, 288, 289, 290, -1, -1, -1, -1,
990 -1, 93, -1, -1, -1, 300, 301, -1, 303, 304,
991 305, 306, 307, 308, 309, -1, -1, 312, -1, -1,
992 315, 316, 317, 41, 93, -1, 44, -1, 272, 273,
993 274, 275, 41, -1, -1, 279, -1, 281, -1, -1,
994 58, 59, -1, 287, 288, 289, 290, -1, -1, 58,
995 59, -1, -1, -1, 63, -1, 300, 301, -1, 303,
996 304, 305, 306, 307, 308, 309, -1, -1, 312, -1,
997 -1, 315, 316, 317, -1, 93, -1, -1, -1, -1,
998 -1, -1, -1, -1, 93, -1, -1, -1, 272, 273,
999 274, 275, 41, -1, -1, 279, -1, 281, -1, -1,
1000 -1, -1, -1, 287, 288, 289, 290, -1, -1, 58,
1001 59, -1, -1, -1, 63, -1, 300, 301, -1, 303,
1002 304, 305, 306, 307, 308, 309, -1, -1, 312, -1,
1003 -1, 315, 316, 317, 272, 273, 274, 275, 41, -1,
1004 -1, 279, -1, 281, 93, -1, -1, -1, -1, 287,
1005 288, 289, 290, -1, -1, 58, 59, -1, -1, -1,
1006 63, -1, 300, 301, -1, 303, 304, 305, 306, 307,
1007 308, 309, -1, -1, 312, -1, -1, 315, 316, 317,
1008 272, 273, 274, 275, -1, -1, -1, 279, -1, 281,
1009 93, -1, -1, -1, -1, 287, 288, 289, 290, -1,
1010 -1, -1, -1, 272, 273, 274, 275, -1, 300, 301,
1011 279, 303, 304, 305, 306, 307, 308, 309, -1, 41,
1012 312, -1, 44, 315, 316, 317, -1, -1, -1, -1,
1013 -1, 300, 301, -1, 303, -1, 58, 59, -1, -1,
1014 -1, 63, -1, -1, -1, -1, -1, -1, -1, -1,
1015 -1, -1, -1, -1, 272, 273, 274, 275, -1, -1,
1016 -1, 279, -1, 272, 273, 274, 275, -1, -1, -1,
1017 279, 93, 281, -1, -1, -1, -1, -1, 287, 288,
1018 289, 290, 300, 301, -1, -1, -1, -1, -1, -1,
1019 -1, 300, 301, -1, 303, 304, 305, 306, 307, 308,
1020 309, -1, -1, 312, -1, -1, 315, 316, 317, -1,
1021 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1022 -1, -1, -1, 272, 273, 274, 275, -1, -1, -1,
1023 279, 41, 281, -1, 44, -1, -1, -1, 287, 288,
1024 289, 290, -1, -1, -1, -1, -1, -1, 58, 59,
1025 -1, 300, 301, 63, 303, 304, 305, 306, 307, 308,
1026 309, -1, -1, 312, -1, -1, 315, 316, 317, 272,
1027 273, 274, 275, -1, 41, -1, 279, 44, 281, -1,
1028 -1, -1, -1, 93, 287, 288, 289, 290, -1, -1,
1029 -1, 58, 59, -1, -1, -1, 63, 300, 301, -1,
1030 303, 304, 305, 306, 307, 308, 309, 33, -1, 312,
1031 -1, -1, 315, 316, 317, 41, -1, -1, 41, 45,
1032 -1, 44, 48, -1, -1, 51, 93, -1, -1, 55,
1033 56, 57, 58, 59, -1, 58, 59, 63, 64, -1,
1034 63, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1035 272, 273, 274, 275, -1, -1, -1, 279, 41, 281,
1036 -1, 44, -1, -1, -1, 287, 288, 289, 290, -1,
1037 93, -1, 98, -1, -1, 58, 59, -1, 300, 301,
1038 63, 303, 304, 305, 306, 307, 308, 309, -1, -1,
1039 312, -1, -1, -1, -1, -1, 41, -1, -1, 44,
1040 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1041 93, -1, -1, 58, 59, -1, -1, -1, 63, -1,
1042 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1043 -1, -1, -1, -1, 160, 161, 162, 163, 164, 165,
1044 166, 167, 168, 169, 170, 171, 172, 173, 93, -1,
1045 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1046 -1, 187, 272, 273, 274, 275, -1, 41, -1, 279,
1047 44, 281, -1, -1, -1, -1, -1, 287, 288, 289,
1048 290, -1, -1, -1, 58, 59, -1, -1, -1, 63,
1049 300, 301, -1, 303, 304, 305, 306, 307, 308, 309,
1050 -1, -1, 312, -1, -1, 272, 273, 274, 275, -1,
1051 41, -1, 279, 44, 281, -1, -1, -1, -1, 93,
1052 287, 288, 289, 290, -1, -1, -1, 58, 59, -1,
1053 -1, -1, 63, 300, 301, -1, 303, 304, 305, 306,
1054 307, 308, 309, -1, -1, -1, 272, -1, -1, 272,
1055 273, 274, 275, -1, -1, -1, 279, 41, 281, -1,
1056 44, -1, 93, -1, 287, 288, 289, 290, -1, -1,
1057 -1, -1, -1, -1, 58, 59, -1, 300, 301, 305,
1058 303, 304, 305, 306, 307, 308, 309, -1, -1, 272,
1059 273, 274, 275, -1, 41, -1, 279, 44, 281, -1,
1060 -1, -1, -1, -1, 287, 288, 289, 290, -1, 93,
1061 -1, 58, 59, -1, -1, -1, 63, 300, 301, -1,
1062 303, 304, 305, 306, 307, 308, 309, 272, 273, 274,
1063 275, -1, 41, -1, 279, 44, 281, -1, -1, -1,
1064 -1, -1, 287, 288, 289, 290, 93, -1, -1, 58,
1065 59, -1, -1, -1, 63, 300, 301, -1, 303, 304,
1066 305, 306, 307, 308, 309, -1, -1, -1, -1, 41,
1067 -1, -1, 44, -1, -1, -1, -1, -1, -1, -1,
1068 -1, -1, -1, -1, 93, -1, 58, 59, -1, -1,
1069 -1, 63, -1, -1, -1, -1, -1, -1, 272, 273,
1070 274, 275, -1, -1, -1, 279, -1, 281, -1, -1,
1071 -1, -1, -1, 287, 288, 289, 290, 58, -1, -1,
1072 -1, 93, 63, -1, -1, -1, 300, 301, -1, 303,
1073 304, 305, 306, 307, 308, 309, -1, -1, -1, -1,
1074 -1, 272, 273, 274, 275, -1, 41, -1, 279, 44,
1075 281, -1, -1, -1, -1, -1, 287, 288, 289, 290,
1076 -1, -1, -1, 58, 59, -1, -1, -1, 63, 300,
1077 301, -1, 303, 304, 305, 306, 307, 308, 309, -1,
1078 -1, -1, -1, 41, -1, -1, 44, -1, 272, 273,
1079 274, 275, -1, 41, -1, 279, 44, -1, 93, -1,
1080 58, 59, -1, -1, -1, 63, -1, -1, -1, -1,
1081 58, 59, -1, -1, -1, 63, 300, 301, -1, -1,
1082 -1, -1, -1, -1, -1, 272, 273, 274, 275, -1,
1083 41, -1, 279, 44, 281, 93, -1, -1, -1, -1,
1084 287, 288, 289, 290, -1, 93, -1, 58, 59, -1,
1085 -1, -1, 63, 300, 301, -1, 303, 304, 305, 306,
1086 307, 308, 309, 272, 273, 274, 275, -1, 41, -1,
1087 279, 44, 281, -1, -1, -1, -1, -1, 287, 288,
1088 289, 290, 93, -1, -1, 58, 59, -1, -1, -1,
1089 63, 300, 301, -1, 303, 304, 305, 306, 307, 308,
1090 272, 273, 274, 275, -1, 41, -1, 279, 44, 281,
1091 -1, -1, -1, -1, -1, 287, 288, -1, 290, -1,
1092 93, 41, 58, 59, 44, -1, -1, 63, 300, 301,
1093 -1, 303, 304, 305, 306, 307, 308, -1, 58, 59,
1094 281, -1, -1, 63, -1, -1, 287, 288, 289, 290,
1095 -1, -1, -1, -1, -1, -1, -1, 93, -1, -1,
1096 -1, -1, 303, 304, 305, 306, 307, 308, 309, -1,
1097 -1, 312, -1, 93, 315, 316, 317, 272, 273, 274,
1098 275, -1, 41, -1, 279, 44, 281, -1, -1, -1,
1099 -1, -1, 287, 288, -1, -1, -1, -1, -1, 58,
1100 59, -1, -1, -1, 63, 300, 301, -1, 303, 304,
1101 305, 306, 307, -1, 272, 273, 274, 275, -1, 41,
1102 -1, 279, 44, 281, 272, 273, 274, 275, -1, 287,
1103 288, 279, -1, 281, 93, -1, 58, 59, -1, 287,
1104 288, 63, 300, 301, -1, 303, 304, 305, 306, 307,
1105 -1, -1, 300, 301, -1, 303, 304, 305, 306, 307,
1106 -1, 272, 273, 274, 275, -1, -1, -1, 279, -1,
1107 281, 93, -1, -1, -1, -1, 287, 288, -1, -1,
1108 -1, -1, -1, -1, -1, -1, -1, -1, -1, 300,
1109 301, -1, 303, 304, 305, 306, 307, -1, -1, 272,
1110 273, 274, 275, -1, -1, -1, 279, -1, 281, -1,
1111 -1, -1, -1, -1, -1, 288, -1, -1, -1, -1,
1112 -1, -1, -1, -1, -1, -1, -1, 300, 301, -1,
1113 303, 304, 305, 306, 307, -1, 272, 273, 274, 275,
1114 -1, -1, -1, 279, -1, 281, -1, -1, -1, -1,
1115 -1, -1, 272, 273, 274, 275, -1, -1, -1, 279,
1116 -1, 281, -1, -1, 300, 301, -1, 303, 304, 305,
1117 306, 307, -1, -1, -1, -1, -1, -1, -1, -1,
1118 300, 301, -1, 303, 304, 305, 306, -1, -1, -1,
1119 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1120 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1121 -1, -1, -1, 272, 273, 274, 275, -1, -1, -1,
1122 279, -1, 281, -1, -1, -1, -1, -1, -1, -1,
1123 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1124 -1, 300, 301, -1, 303, 304, 305, -1, -1, -1,
1125 272, 273, 274, 275, -1, -1, -1, 279, -1, 281,
1126 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1127 -1, -1, -1, -1, -1, -1, -1, -1, 300, 301,
1134 #define YYMAXTOKEN 317
1136 static char *yyname[] = {
1137 "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,
1138 "'!'",0,0,"'$'","'%'","'&'",0,"'('","')'","'*'","'+'","','","'-'",0,0,0,0,0,0,0,
1139 0,0,0,0,0,"':'","';'",0,0,0,"'?'","'@'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1140 0,0,0,0,0,0,"'['",0,"']'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1141 0,0,"'{'",0,"'}'","'~'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1142 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1143 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1144 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",
1145 "PMFUNC","PRIVATEREF","FUNC0SUB","UNIOPSUB","LSTOPSUB","LABEL","FORMAT","SUB",
1146 "ANONSUB","PACKAGE","USE","WHILE","UNTIL","IF","UNLESS","ELSE","ELSIF",
1147 "CONTINUE","FOR","LOOPEX","DOTDOT","FUNC0","FUNC1","FUNC","UNIOP","LSTOP",
1148 "RELOP","EQOP","MULOP","ADDOP","DOLSHARP","DO","HASHBRACK","NOAMP","LOCAL","MY",
1149 "MYSUB","COLONATTR","PREC_LOW","OROP","ANDOP","NOTOP","ASSIGNOP","OROR",
1150 "ANDAND","BITOROP","BITANDOP","SHIFTOP","MATCHOP","UMINUS","REFGEN","POWOP",
1151 "PREINC","PREDEC","POSTINC","POSTDEC","ARROW",
1153 static char *yyrule[] = {
1156 "prog : $$1 lineseq",
1157 "block : '{' remember lineseq '}'",
1159 "mblock : '{' mremember lineseq '}'",
1162 "lineseq : lineseq decl",
1163 "lineseq : lineseq line",
1164 "line : label cond",
1167 "line : label sideff ';'",
1170 "sideff : expr IF expr",
1171 "sideff : expr UNLESS expr",
1172 "sideff : expr WHILE expr",
1173 "sideff : expr UNTIL iexpr",
1174 "sideff : expr FOR expr",
1176 "else : ELSE mblock",
1177 "else : ELSIF '(' mexpr ')' mblock else",
1178 "cond : IF '(' remember mexpr ')' mblock else",
1179 "cond : UNLESS '(' remember miexpr ')' mblock else",
1181 "cont : CONTINUE block",
1182 "loop : label WHILE '(' remember mtexpr ')' mblock cont",
1183 "loop : label UNTIL '(' remember miexpr ')' mblock cont",
1184 "loop : label FOR MY remember my_scalar '(' mexpr ')' mblock cont",
1185 "loop : label FOR scalar '(' remember mexpr ')' mblock cont",
1186 "loop : label FOR '(' remember mexpr ')' mblock cont",
1187 "loop : label FOR '(' remember mnexpr ';' mtexpr ';' mnexpr ')' mblock",
1188 "loop : label block cont",
1205 "format : FORMAT startformsub formname block",
1208 "mysubrout : MYSUB startsub subname proto subattrlist subbody",
1209 "subrout : SUB startsub subname proto subattrlist subbody",
1217 "subattrlist : COLONATTR THING",
1218 "subattrlist : COLONATTR",
1219 "myattrlist : COLONATTR THING",
1220 "myattrlist : COLONATTR",
1223 "package : PACKAGE WORD ';'",
1224 "package : PACKAGE ';'",
1226 "use : USE startsub $$2 WORD WORD listexpr ';'",
1227 "expr : expr ANDOP expr",
1228 "expr : expr OROP expr",
1230 "argexpr : argexpr ','",
1231 "argexpr : argexpr ',' term",
1233 "listop : LSTOP indirob argexpr",
1234 "listop : FUNC '(' indirob expr ')'",
1235 "listop : term ARROW method '(' listexprcom ')'",
1236 "listop : term ARROW method",
1237 "listop : METHOD indirob listexpr",
1238 "listop : FUNCMETH indirob '(' listexprcom ')'",
1239 "listop : LSTOP listexpr",
1240 "listop : FUNC '(' listexprcom ')'",
1242 "listop : LSTOPSUB startanonsub block $$3 listexpr",
1245 "subscripted : star '{' expr ';' '}'",
1246 "subscripted : scalar '[' expr ']'",
1247 "subscripted : term ARROW '[' expr ']'",
1248 "subscripted : subscripted '[' expr ']'",
1249 "subscripted : scalar '{' expr ';' '}'",
1250 "subscripted : term ARROW '{' expr ';' '}'",
1251 "subscripted : subscripted '{' expr ';' '}'",
1252 "subscripted : term ARROW '(' ')'",
1253 "subscripted : term ARROW '(' expr ')'",
1254 "subscripted : subscripted '(' expr ')'",
1255 "subscripted : subscripted '(' ')'",
1256 "term : term ASSIGNOP term",
1257 "term : term POWOP term",
1258 "term : term MULOP term",
1259 "term : term ADDOP term",
1260 "term : term SHIFTOP term",
1261 "term : term RELOP term",
1262 "term : term EQOP term",
1263 "term : term BITANDOP term",
1264 "term : term BITOROP term",
1265 "term : term DOTDOT term",
1266 "term : term ANDAND term",
1267 "term : term OROR term",
1268 "term : term '?' term ':' term",
1269 "term : term MATCHOP term",
1274 "term : REFGEN term",
1275 "term : term POSTINC",
1276 "term : term POSTDEC",
1277 "term : PREINC term",
1278 "term : PREDEC term",
1279 "term : myattrterm",
1280 "term : LOCAL term",
1281 "term : '(' expr ')'",
1283 "term : '[' expr ']'",
1285 "term : HASHBRACK expr ';' '}'",
1286 "term : HASHBRACK ';' '}'",
1287 "term : ANONSUB startanonsub proto subattrlist block",
1293 "term : subscripted",
1294 "term : '(' expr ')' '[' expr ']'",
1295 "term : '(' ')' '[' expr ']'",
1296 "term : ary '[' expr ']'",
1297 "term : ary '{' expr ';' '}'",
1300 "term : amper '(' ')'",
1301 "term : amper '(' expr ')'",
1302 "term : NOAMP WORD listexpr",
1305 "term : DO WORD '(' ')'",
1306 "term : DO WORD '(' expr ')'",
1307 "term : DO scalar '(' ')'",
1308 "term : DO scalar '(' expr ')'",
1310 "term : LOOPEX term",
1311 "term : NOTOP argexpr",
1313 "term : UNIOP block",
1314 "term : UNIOP term",
1315 "term : UNIOPSUB term",
1317 "term : FUNC0 '(' ')'",
1319 "term : FUNC1 '(' ')'",
1320 "term : FUNC1 '(' expr ')'",
1321 "term : PMFUNC '(' term ')'",
1322 "term : PMFUNC '(' term ',' term ')'",
1325 "myattrterm : MY myterm myattrlist",
1326 "myattrterm : MY myterm",
1327 "myterm : '(' expr ')'",
1333 "listexpr : argexpr",
1335 "listexprcom : expr",
1336 "listexprcom : expr ','",
1337 "my_scalar : scalar",
1338 "amper : '&' indirob",
1339 "scalar : '$' indirob",
1340 "ary : '@' indirob",
1341 "hsh : '%' indirob",
1342 "arylen : DOLSHARP indirob",
1343 "star : '*' indirob",
1347 "indirob : PRIVATEREF",
1350 #define yyclearin (yychar=(-1))
1351 #define yyerrok (yyerrflag=0)
1354 #define YYMAXDEPTH YYSTACKSIZE
1358 #define YYSTACKSIZE YYMAXDEPTH
1360 #define YYSTACKSIZE 500
1361 #define YYMAXDEPTH 500
1367 /* more stuff added to make perly_c.diff easier to apply */
1372 #define yyparse() Perl_yyparse(pTHX)
1374 #line 1446 "perly.c"
1375 #define YYABORT goto yyabort
1376 #define YYACCEPT goto yyaccept
1377 #define YYERROR goto yyerrlab
1381 register int yym, yyn, yystate;
1382 register short *yyssp;
1383 register YYSTYPE *yyvsp;
1386 unsigned yystacksize = YYSTACKSIZE;
1394 ENTER; /* force yydestruct() before we return */
1396 New(73, ysave, 1, struct ysv);
1397 SAVEDESTRUCTOR_X(yydestruct, ysave);
1398 ysave->oldyydebug = yydebug;
1399 ysave->oldyynerrs = yynerrs;
1400 ysave->oldyyerrflag = yyerrflag;
1401 ysave->oldyychar = yychar;
1402 ysave->oldyyval = yyval;
1403 ysave->oldyylval = yylval;
1406 if (yys = getenv("YYDEBUG"))
1409 if (yyn >= '0' && yyn <= '9')
1410 yydebug = yyn - '0';
1412 else SETERRNO(0,SS$_NORMAL);
1420 ** Initialize private stacks (yyparse may be called from an action)
1422 New(73, yyss, yystacksize, short);
1423 New(73, yyvs, yystacksize, YYSTYPE);
1431 *yyssp = yystate = 0;
1434 if (yyn = yydefred[yystate]) goto yyreduce;
1437 if ((yychar = yylex()) < 0) yychar = 0;
1442 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1443 if (!yys) yys = "illegal-symbol";
1444 PerlIO_printf(Perl_debug_log, "yydebug: state %d, reading %d (%s)\n", yystate,
1449 if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
1450 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1454 PerlIO_printf(Perl_debug_log, "yydebug: state %d, shifting to state %d\n",
1455 yystate, yytable[yyn]);
1457 if (yyssp >= yyss + yystacksize - 1)
1460 ** reallocate and recover. Note that pointers
1461 ** have to be reset, or bad things will happen
1463 int yyps_index = (yyssp - yyss);
1464 int yypv_index = (yyvsp - yyvs);
1465 yystacksize += YYSTACKSIZE;
1466 ysave->yyvs = Renew(yyvs, yystacksize, YYSTYPE);
1467 ysave->yyss = Renew(yyss, yystacksize, short);
1470 yyssp = yyss + yyps_index;
1471 yyvsp = yyvs + yypv_index;
1473 *++yyssp = yystate = yytable[yyn];
1476 if (yyerrflag > 0) --yyerrflag;
1479 if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
1480 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1485 if (yyerrflag) goto yyinrecovery;
1490 yyerror("syntax error");
1502 if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 &&
1503 yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
1507 PerlIO_printf(Perl_debug_log, "yydebug: state %d, error recovery shifting\
1508 to state %d\n", *yyssp, yytable[yyn]);
1510 if (yyssp >= yyss + yystacksize - 1)
1513 ** reallocate and recover. Note that pointers
1514 ** have to be reset, or bad things will happen
1516 int yyps_index = (yyssp - yyss);
1517 int yypv_index = (yyvsp - yyvs);
1518 yystacksize += YYSTACKSIZE;
1519 ysave->yyvs = Renew(yyvs, yystacksize, YYSTYPE);
1520 ysave->yyss = Renew(yyss, yystacksize, short);
1523 yyssp = yyss + yyps_index;
1524 yyvsp = yyvs + yypv_index;
1526 *++yyssp = yystate = yytable[yyn];
1534 PerlIO_printf(Perl_debug_log, "yydebug: error recovery discarding state %d\n",
1537 if (yyssp <= yyss) goto yyabort;
1545 if (yychar == 0) goto yyabort;
1550 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1551 if (!yys) yys = "illegal-symbol";
1552 PerlIO_printf(Perl_debug_log, "yydebug: state %d, error recovery discards token %d (%s)\n",
1553 yystate, yychar, yys);
1562 PerlIO_printf(Perl_debug_log, "yydebug: state %d, reducing by rule %d (%s)\n",
1563 yystate, yyn, yyrule[yyn]);
1566 yyval = yyvsp[1-yym];
1572 #if defined(YYDEBUG) && defined(DEBUGGING)
1573 yydebug = (DEBUG_p_TEST);
1575 PL_expect = XSTATE; yyval.ival = block_start(TRUE);
1580 { newPROG(block_end(yyvsp[-1].ival,yyvsp[0].opval)); }
1584 { if (PL_copline > (line_t)yyvsp[-3].ival)
1585 PL_copline = yyvsp[-3].ival;
1586 yyval.opval = block_end(yyvsp[-2].ival, yyvsp[-1].opval); }
1590 { yyval.ival = block_start(TRUE); }
1594 { if (PL_copline > (line_t)yyvsp[-3].ival)
1595 PL_copline = yyvsp[-3].ival;
1596 yyval.opval = block_end(yyvsp[-2].ival, yyvsp[-1].opval); }
1600 { yyval.ival = block_start(FALSE); }
1604 { yyval.opval = Nullop; }
1608 { yyval.opval = yyvsp[-1].opval; }
1612 { yyval.opval = append_list(OP_LINESEQ,
1613 (LISTOP*)yyvsp[-1].opval, (LISTOP*)yyvsp[0].opval);
1614 PL_pad_reset_pending = TRUE;
1615 if (yyvsp[-1].opval && yyvsp[0].opval) PL_hints |= HINT_BLOCK_SCOPE; }
1619 { yyval.opval = newSTATEOP(0, yyvsp[-1].pval, yyvsp[0].opval); }
1623 { if (yyvsp[-1].pval != Nullch) {
1624 yyval.opval = newSTATEOP(0, yyvsp[-1].pval, newOP(OP_NULL, 0));
1627 yyval.opval = Nullop;
1628 PL_copline = NOLINE;
1630 PL_expect = XSTATE; }
1634 { yyval.opval = newSTATEOP(0, yyvsp[-2].pval, yyvsp[-1].opval);
1635 PL_expect = XSTATE; }
1639 { yyval.opval = Nullop; }
1643 { yyval.opval = yyvsp[0].opval; }
1647 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[0].opval, yyvsp[-2].opval); }
1651 { yyval.opval = newLOGOP(OP_OR, 0, yyvsp[0].opval, yyvsp[-2].opval); }
1655 { yyval.opval = newLOOPOP(OPf_PARENS, 1, scalar(yyvsp[0].opval), yyvsp[-2].opval); }
1659 { yyval.opval = newLOOPOP(OPf_PARENS, 1, yyvsp[0].opval, yyvsp[-2].opval);}
1663 { yyval.opval = newFOROP(0, Nullch, yyvsp[-1].ival,
1664 Nullop, yyvsp[0].opval, yyvsp[-2].opval, Nullop); }
1668 { yyval.opval = Nullop; }
1672 { (yyvsp[0].opval)->op_flags |= OPf_PARENS; yyval.opval = scope(yyvsp[0].opval); }
1676 { PL_copline = yyvsp[-5].ival;
1677 yyval.opval = newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval);
1678 PL_hints |= HINT_BLOCK_SCOPE; }
1682 { PL_copline = yyvsp[-6].ival;
1683 yyval.opval = block_end(yyvsp[-4].ival,
1684 newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval)); }
1688 { PL_copline = yyvsp[-6].ival;
1689 yyval.opval = block_end(yyvsp[-4].ival,
1690 newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval)); }
1694 { yyval.opval = Nullop; }
1698 { yyval.opval = scope(yyvsp[0].opval); }
1702 { PL_copline = yyvsp[-6].ival;
1703 yyval.opval = block_end(yyvsp[-4].ival,
1704 newSTATEOP(0, yyvsp[-7].pval,
1705 newWHILEOP(0, 1, (LOOP*)Nullop,
1706 yyvsp[-6].ival, yyvsp[-3].opval, yyvsp[-1].opval, 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 { yyval.opval = block_end(yyvsp[-6].ival,
1719 newFOROP(0, yyvsp[-9].pval, yyvsp[-8].ival, yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1723 { yyval.opval = block_end(yyvsp[-4].ival,
1724 newFOROP(0, yyvsp[-8].pval, yyvsp[-7].ival, mod(yyvsp[-6].opval, OP_ENTERLOOP),
1725 yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1729 { yyval.opval = block_end(yyvsp[-4].ival,
1730 newFOROP(0, yyvsp[-7].pval, yyvsp[-6].ival, Nullop, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1735 PL_copline = yyvsp[-9].ival;
1736 forop = newSTATEOP(0, yyvsp[-10].pval,
1737 newWHILEOP(0, 1, (LOOP*)Nullop,
1738 yyvsp[-9].ival, scalar(yyvsp[-4].opval),
1739 yyvsp[0].opval, yyvsp[-2].opval));
1740 if (yyvsp[-6].opval) {
1741 forop = append_elem(OP_LINESEQ,
1742 newSTATEOP(0, (yyvsp[-10].pval?savepv(yyvsp[-10].pval):Nullch),
1747 yyval.opval = block_end(yyvsp[-7].ival, forop); }
1751 { yyval.opval = newSTATEOP(0, yyvsp[-2].pval,
1752 newWHILEOP(0, 1, (LOOP*)Nullop,
1753 NOLINE, Nullop, yyvsp[-1].opval, yyvsp[0].opval)); }
1757 { yyval.opval = Nullop; }
1761 { (void)scan_num("1", &yylval); yyval.opval = yylval.opval; }
1765 { yyval.opval = invert(scalar(yyvsp[0].opval)); }
1769 { yyval.opval = yyvsp[0].opval; intro_my(); }
1773 { yyval.opval = yyvsp[0].opval; intro_my(); }
1777 { yyval.opval = yyvsp[0].opval; intro_my(); }
1781 { yyval.opval = yyvsp[0].opval; intro_my(); }
1785 { yyval.pval = Nullch; }
1809 { newFORM(yyvsp[-2].ival, yyvsp[-1].opval, yyvsp[0].opval); }
1813 { yyval.opval = yyvsp[0].opval; }
1817 { yyval.opval = Nullop; }
1821 { newMYSUB(yyvsp[-4].ival, yyvsp[-3].opval, yyvsp[-2].opval, yyvsp[-1].opval, yyvsp[0].opval); }
1825 { newATTRSUB(yyvsp[-4].ival, yyvsp[-3].opval, yyvsp[-2].opval, yyvsp[-1].opval, yyvsp[0].opval); }
1829 { yyval.ival = start_subparse(FALSE, 0); }
1833 { yyval.ival = start_subparse(FALSE, CVf_ANON); }
1837 { yyval.ival = start_subparse(TRUE, 0); }
1841 { STRLEN n_a; char *name = SvPV(((SVOP*)yyvsp[0].opval)->op_sv,n_a);
1842 if (strEQ(name, "BEGIN") || strEQ(name, "END")
1843 || strEQ(name, "INIT") || strEQ(name, "CHECK"))
1844 CvSPECIAL_on(PL_compcv);
1845 yyval.opval = yyvsp[0].opval; }
1849 { yyval.opval = Nullop; }
1853 { yyval.opval = Nullop; }
1857 { yyval.opval = yyvsp[0].opval; }
1861 { yyval.opval = Nullop; }
1865 { yyval.opval = yyvsp[0].opval; }
1869 { yyval.opval = Nullop; }
1873 { yyval.opval = yyvsp[0].opval; }
1877 { yyval.opval = Nullop; PL_expect = XSTATE; }
1881 { package(yyvsp[-1].opval); }
1885 { package(Nullop); }
1889 { CvSPECIAL_on(PL_compcv); /* It's a BEGIN {} */ }
1893 { utilize(yyvsp[-6].ival, yyvsp[-5].ival, yyvsp[-3].opval, yyvsp[-2].opval, yyvsp[-1].opval); }
1897 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1901 { yyval.opval = newLOGOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1905 { yyval.opval = yyvsp[-1].opval; }
1909 { yyval.opval = append_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval); }
1913 { yyval.opval = convert(yyvsp[-2].ival, OPf_STACKED,
1914 prepend_elem(OP_LIST, newGVREF(yyvsp[-2].ival,yyvsp[-1].opval), yyvsp[0].opval) ); }
1918 { yyval.opval = convert(yyvsp[-4].ival, OPf_STACKED,
1919 prepend_elem(OP_LIST, newGVREF(yyvsp[-4].ival,yyvsp[-2].opval), yyvsp[-1].opval) ); }
1923 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1924 append_elem(OP_LIST,
1925 prepend_elem(OP_LIST, scalar(yyvsp[-5].opval), yyvsp[-1].opval),
1926 newUNOP(OP_METHOD, 0, yyvsp[-3].opval))); }
1930 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1931 append_elem(OP_LIST, scalar(yyvsp[-2].opval),
1932 newUNOP(OP_METHOD, 0, yyvsp[0].opval))); }
1936 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1937 append_elem(OP_LIST,
1938 prepend_elem(OP_LIST, yyvsp[-1].opval, yyvsp[0].opval),
1939 newUNOP(OP_METHOD, 0, yyvsp[-2].opval))); }
1943 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1944 append_elem(OP_LIST,
1945 prepend_elem(OP_LIST, yyvsp[-3].opval, yyvsp[-1].opval),
1946 newUNOP(OP_METHOD, 0, yyvsp[-4].opval))); }
1950 { yyval.opval = convert(yyvsp[-1].ival, 0, yyvsp[0].opval); }
1954 { yyval.opval = convert(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
1958 { yyvsp[0].opval = newANONATTRSUB(yyvsp[-1].ival, 0, Nullop, yyvsp[0].opval); }
1962 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
1963 append_elem(OP_LIST,
1964 prepend_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval), yyvsp[-4].opval)); }
1968 { yyval.opval = newBINOP(OP_GELEM, 0, yyvsp[-4].opval, scalar(yyvsp[-2].opval)); }
1972 { yyval.opval = newBINOP(OP_AELEM, 0, oopsAV(yyvsp[-3].opval), scalar(yyvsp[-1].opval)); }
1976 { yyval.opval = newBINOP(OP_AELEM, 0,
1977 ref(newAVREF(yyvsp[-4].opval),OP_RV2AV),
1978 scalar(yyvsp[-1].opval));}
1982 { yyval.opval = newBINOP(OP_AELEM, 0,
1983 ref(newAVREF(yyvsp[-3].opval),OP_RV2AV),
1984 scalar(yyvsp[-1].opval));}
1988 { yyval.opval = newBINOP(OP_HELEM, 0, oopsHV(yyvsp[-4].opval), jmaybe(yyvsp[-2].opval));
1989 PL_expect = XOPERATOR; }
1993 { yyval.opval = newBINOP(OP_HELEM, 0,
1994 ref(newHVREF(yyvsp[-5].opval),OP_RV2HV),
1995 jmaybe(yyvsp[-2].opval));
1996 PL_expect = XOPERATOR; }
2000 { yyval.opval = newBINOP(OP_HELEM, 0,
2001 ref(newHVREF(yyvsp[-4].opval),OP_RV2HV),
2002 jmaybe(yyvsp[-2].opval));
2003 PL_expect = XOPERATOR; }
2007 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2008 newCVREF(0, scalar(yyvsp[-3].opval))); }
2012 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2013 append_elem(OP_LIST, yyvsp[-1].opval,
2014 newCVREF(0, scalar(yyvsp[-4].opval)))); }
2018 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2019 append_elem(OP_LIST, yyvsp[-1].opval,
2020 newCVREF(0, scalar(yyvsp[-3].opval)))); }
2024 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2025 newCVREF(0, scalar(yyvsp[-2].opval))); }
2029 { yyval.opval = newASSIGNOP(OPf_STACKED, yyvsp[-2].opval, yyvsp[-1].ival, yyvsp[0].opval); }
2033 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2037 { if (yyvsp[-1].ival != OP_REPEAT)
2038 scalar(yyvsp[-2].opval);
2039 yyval.opval = newBINOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, scalar(yyvsp[0].opval)); }
2043 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2047 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2051 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2055 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2059 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2063 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2067 { yyval.opval = newRANGE(yyvsp[-1].ival, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval));}
2071 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
2075 { yyval.opval = newLOGOP(OP_OR, 0, yyvsp[-2].opval, yyvsp[0].opval); }
2079 { yyval.opval = newCONDOP(0, yyvsp[-4].opval, yyvsp[-2].opval, yyvsp[0].opval); }
2083 { yyval.opval = bind_match(yyvsp[-1].ival, yyvsp[-2].opval, yyvsp[0].opval); }
2087 { yyval.opval = newUNOP(OP_NEGATE, 0, scalar(yyvsp[0].opval)); }
2091 { yyval.opval = yyvsp[0].opval; }
2095 { yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
2099 { yyval.opval = newUNOP(OP_COMPLEMENT, 0, scalar(yyvsp[0].opval));}
2103 { yyval.opval = newUNOP(OP_REFGEN, 0, mod(yyvsp[0].opval,OP_REFGEN)); }
2107 { yyval.opval = newUNOP(OP_POSTINC, 0,
2108 mod(scalar(yyvsp[-1].opval), OP_POSTINC)); }
2112 { yyval.opval = newUNOP(OP_POSTDEC, 0,
2113 mod(scalar(yyvsp[-1].opval), OP_POSTDEC)); }
2117 { yyval.opval = newUNOP(OP_PREINC, 0,
2118 mod(scalar(yyvsp[0].opval), OP_PREINC)); }
2122 { yyval.opval = newUNOP(OP_PREDEC, 0,
2123 mod(scalar(yyvsp[0].opval), OP_PREDEC)); }
2127 { yyval.opval = yyvsp[0].opval; }
2131 { yyval.opval = localize(yyvsp[0].opval,yyvsp[-1].ival); }
2135 { yyval.opval = sawparens(yyvsp[-1].opval); }
2139 { yyval.opval = sawparens(newNULLLIST()); }
2143 { yyval.opval = newANONLIST(yyvsp[-1].opval); }
2147 { yyval.opval = newANONLIST(Nullop); }
2151 { yyval.opval = newANONHASH(yyvsp[-2].opval); }
2155 { yyval.opval = newANONHASH(Nullop); }
2159 { yyval.opval = newANONATTRSUB(yyvsp[-3].ival, yyvsp[-2].opval, yyvsp[-1].opval, yyvsp[0].opval); }
2163 { yyval.opval = yyvsp[0].opval; }
2167 { yyval.opval = yyvsp[0].opval; }
2171 { yyval.opval = yyvsp[0].opval; }
2175 { yyval.opval = yyvsp[0].opval; }
2179 { yyval.opval = newUNOP(OP_AV2ARYLEN, 0, ref(yyvsp[0].opval, OP_AV2ARYLEN));}
2183 { yyval.opval = yyvsp[0].opval; }
2187 { yyval.opval = newSLICEOP(0, yyvsp[-1].opval, yyvsp[-4].opval); }
2191 { yyval.opval = newSLICEOP(0, yyvsp[-1].opval, Nullop); }
2195 { yyval.opval = prepend_elem(OP_ASLICE,
2196 newOP(OP_PUSHMARK, 0),
2197 newLISTOP(OP_ASLICE, 0,
2198 list(yyvsp[-1].opval),
2199 ref(yyvsp[-3].opval, OP_ASLICE))); }
2203 { yyval.opval = prepend_elem(OP_HSLICE,
2204 newOP(OP_PUSHMARK, 0),
2205 newLISTOP(OP_HSLICE, 0,
2206 list(yyvsp[-2].opval),
2207 ref(oopsHV(yyvsp[-4].opval), OP_HSLICE)));
2208 PL_expect = XOPERATOR; }
2212 { yyval.opval = yyvsp[0].opval; }
2216 { yyval.opval = newUNOP(OP_ENTERSUB, 0, scalar(yyvsp[0].opval)); }
2220 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar(yyvsp[-2].opval)); }
2224 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2225 append_elem(OP_LIST, yyvsp[-1].opval, scalar(yyvsp[-3].opval))); }
2229 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2230 append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); }
2234 { yyval.opval = dofile(yyvsp[0].opval); }
2238 { yyval.opval = newUNOP(OP_NULL, OPf_SPECIAL, scope(yyvsp[0].opval)); }
2242 { yyval.opval = newUNOP(OP_ENTERSUB,
2243 OPf_SPECIAL|OPf_STACKED,
2244 prepend_elem(OP_LIST,
2246 (OPpENTERSUB_AMPER<<8),
2247 scalar(yyvsp[-2].opval)
2248 )),Nullop)); dep();}
2252 { yyval.opval = newUNOP(OP_ENTERSUB,
2253 OPf_SPECIAL|OPf_STACKED,
2254 append_elem(OP_LIST,
2257 (OPpENTERSUB_AMPER<<8),
2258 scalar(yyvsp[-3].opval)
2263 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
2264 prepend_elem(OP_LIST,
2265 scalar(newCVREF(0,scalar(yyvsp[-2].opval))), Nullop)); dep();}
2269 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
2270 prepend_elem(OP_LIST,
2272 scalar(newCVREF(0,scalar(yyvsp[-3].opval))))); dep();}
2276 { yyval.opval = newOP(yyvsp[0].ival, OPf_SPECIAL);
2277 PL_hints |= HINT_BLOCK_SCOPE; }
2281 { yyval.opval = newLOOPEX(yyvsp[-1].ival,yyvsp[0].opval); }
2285 { yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
2289 { yyval.opval = newOP(yyvsp[0].ival, 0); }
2293 { yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2297 { yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2301 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2302 append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); }
2306 { yyval.opval = newOP(yyvsp[0].ival, 0); }
2310 { yyval.opval = newOP(yyvsp[-2].ival, 0); }
2314 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2315 scalar(yyvsp[0].opval)); }
2319 { yyval.opval = newOP(yyvsp[-2].ival, OPf_SPECIAL); }
2323 { yyval.opval = newUNOP(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
2327 { yyval.opval = pmruntime(yyvsp[-3].opval, yyvsp[-1].opval, Nullop); }
2331 { yyval.opval = pmruntime(yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval); }
2335 { yyval.opval = my_attrs(yyvsp[-1].opval,yyvsp[0].opval); }
2339 { yyval.opval = localize(yyvsp[0].opval,yyvsp[-1].ival); }
2343 { yyval.opval = sawparens(yyvsp[-1].opval); }
2347 { yyval.opval = sawparens(newNULLLIST()); }
2351 { yyval.opval = yyvsp[0].opval; }
2355 { yyval.opval = yyvsp[0].opval; }
2359 { yyval.opval = yyvsp[0].opval; }
2363 { yyval.opval = Nullop; }
2367 { yyval.opval = yyvsp[0].opval; }
2371 { yyval.opval = Nullop; }
2375 { yyval.opval = yyvsp[0].opval; }
2379 { yyval.opval = yyvsp[-1].opval; }
2383 { PL_in_my = 0; yyval.opval = my(yyvsp[0].opval); }
2387 { yyval.opval = newCVREF(yyvsp[-1].ival,yyvsp[0].opval); }
2391 { yyval.opval = newSVREF(yyvsp[0].opval); }
2395 { yyval.opval = newAVREF(yyvsp[0].opval); }
2399 { yyval.opval = newHVREF(yyvsp[0].opval); }
2403 { yyval.opval = newAVREF(yyvsp[0].opval); }
2407 { yyval.opval = newGVREF(0,yyvsp[0].opval); }
2411 { yyval.opval = scalar(yyvsp[0].opval); }
2415 { yyval.opval = scalar(yyvsp[0].opval); }
2419 { yyval.opval = scope(yyvsp[0].opval); }
2423 { yyval.opval = yyvsp[0].opval; }
2425 #line 2442 "perly.c"
2431 if (yystate == 0 && yym == 0)
2435 PerlIO_printf(Perl_debug_log, "yydebug: after reduction, shifting from state 0 to\
2436 state %d\n", YYFINAL);
2443 if ((yychar = yylex()) < 0) yychar = 0;
2448 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
2449 if (!yys) yys = "illegal-symbol";
2450 PerlIO_printf(Perl_debug_log, "yydebug: state %d, reading %d (%s)\n",
2451 YYFINAL, yychar, yys);
2455 if (yychar == 0) goto yyaccept;
2458 if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
2459 yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
2460 yystate = yytable[yyn];
2462 yystate = yydgoto[yym];
2465 PerlIO_printf(Perl_debug_log, "yydebug: after reduction, shifting from state %d \
2466 to state %d\n", *yyssp, yystate);
2468 if (yyssp >= yyss + yystacksize - 1)
2471 ** reallocate and recover. Note that pointers
2472 ** have to be reset, or bad things will happen
2474 int yyps_index = (yyssp - yyss);
2475 int yypv_index = (yyvsp - yyvs);
2476 yystacksize += YYSTACKSIZE;
2477 ysave->yyvs = Renew(yyvs, yystacksize, YYSTYPE);
2478 ysave->yyss = Renew(yyss, yystacksize, short);
2481 yyssp = yyss + yyps_index;
2482 yyvsp = yyvs + yypv_index;
2488 yyerror("Out of memory for yacc stack");
2493 LEAVE; /* force yydestruct() before we return */
2503 yydestruct(pTHXo_ void *ptr)
2505 struct ysv* ysave = (struct ysv*)ptr;
2506 if (ysave->yyss) Safefree(ysave->yyss);
2507 if (ysave->yyvs) Safefree(ysave->yyvs);
2508 yydebug = ysave->oldyydebug;
2509 yynerrs = ysave->oldyynerrs;
2510 yyerrflag = ysave->oldyyerrflag;
2511 yychar = ysave->oldyychar;
2512 yyval = ysave->oldyyval;
2513 yylval = ysave->oldyylval;