2 static char yysccsid[] = "@(#)yaccpar 1.8 (Berkeley) 01/20/91";
7 #define PERL_IN_PERLY_C
12 #define dep() deprecate("\"do\" to call subroutines")
14 /* stuff included here to make perly_c.diff apply better */
16 #define yydebug PL_yydebug
17 #define yynerrs PL_yynerrs
18 #define yyerrflag PL_yyerrflag
19 #define yychar PL_yychar
20 #define yyval PL_yyval
21 #define yylval PL_yylval
34 static void yydestruct(pTHXo_ void *ptr);
37 #if 0 /* get this from perly.h instead */
49 #define YYLEX_PARAM (&yychar)
55 static short yylhs[] = { -1,
56 50, 0, 8, 6, 9, 7, 10, 10, 10, 11,
57 11, 11, 11, 24, 24, 24, 24, 24, 24, 24,
58 14, 14, 14, 13, 13, 42, 42, 12, 12, 12,
59 12, 12, 12, 12, 26, 26, 27, 27, 28, 29,
60 30, 31, 32, 49, 49, 1, 1, 1, 1, 1,
61 2, 38, 38, 46, 51, 3, 4, 5, 39, 40,
62 40, 44, 44, 44, 45, 45, 41, 41, 52, 52,
63 54, 53, 15, 15, 15, 25, 25, 25, 36, 36,
64 36, 36, 36, 36, 36, 36, 55, 36, 37, 37,
65 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
66 17, 16, 16, 16, 16, 16, 16, 16, 16, 16,
67 16, 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 47, 47, 48, 48, 48, 48, 48, 33, 33, 34,
74 34, 34, 43, 23, 18, 19, 20, 21, 22, 35,
77 static short yylen[] = { 2,
78 0, 2, 4, 0, 4, 0, 0, 2, 2, 2,
79 1, 2, 3, 1, 1, 3, 3, 3, 3, 3,
80 0, 2, 6, 7, 7, 0, 2, 8, 8, 10,
81 9, 8, 11, 3, 0, 1, 0, 1, 1, 1,
82 1, 1, 1, 0, 1, 1, 1, 1, 1, 1,
83 4, 1, 0, 6, 6, 0, 0, 0, 1, 0,
84 1, 0, 2, 1, 2, 1, 1, 1, 3, 2,
85 0, 7, 3, 3, 1, 2, 3, 1, 3, 5,
86 6, 3, 3, 5, 2, 4, 0, 5, 1, 1,
87 5, 4, 5, 4, 5, 6, 5, 4, 5, 4,
88 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
89 3, 3, 3, 5, 3, 2, 2, 2, 2, 2,
90 2, 2, 2, 2, 1, 2, 3, 2, 3, 2,
91 4, 3, 5, 1, 1, 1, 1, 1, 1, 6,
92 5, 4, 5, 1, 1, 3, 4, 3, 2, 2,
93 4, 5, 4, 5, 1, 2, 2, 1, 2, 2,
94 2, 1, 3, 1, 3, 4, 4, 6, 1, 1,
95 3, 2, 3, 2, 1, 1, 1, 0, 1, 0,
96 1, 2, 1, 2, 2, 2, 2, 2, 2, 1,
99 static short yydefred[] = { 1,
100 0, 7, 0, 45, 58, 56, 0, 56, 56, 8,
101 46, 9, 11, 48, 0, 47, 49, 50, 0, 0,
102 0, 70, 71, 0, 14, 4, 169, 0, 0, 144,
103 0, 164, 0, 57, 57, 0, 0, 0, 0, 0,
104 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
105 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
106 0, 12, 0, 0, 0, 0, 0, 0, 0, 10,
107 0, 0, 0, 0, 0, 136, 138, 0, 0, 0,
108 0, 170, 125, 52, 0, 59, 0, 69, 0, 0,
109 7, 190, 193, 192, 191, 0, 0, 0, 0, 0,
110 0, 4, 4, 4, 4, 4, 4, 0, 0, 0,
111 0, 0, 159, 0, 0, 0, 0, 85, 0, 188,
112 0, 150, 0, 0, 0, 0, 0, 0, 0, 175,
113 177, 176, 0, 184, 0, 0, 0, 0, 0, 0,
114 0, 0, 130, 0, 0, 0, 185, 186, 187, 189,
115 0, 34, 0, 0, 0, 0, 0, 0, 0, 0,
116 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
117 0, 0, 0, 121, 122, 0, 0, 0, 0, 0,
118 0, 0, 0, 0, 0, 13, 0, 51, 61, 0,
119 0, 0, 0, 83, 0, 0, 87, 0, 0, 0,
120 0, 0, 0, 0, 4, 163, 165, 0, 0, 0,
121 0, 0, 0, 0, 132, 0, 148, 174, 0, 0,
122 171, 0, 0, 129, 27, 0, 0, 19, 0, 0,
123 0, 0, 73, 0, 0, 0, 0, 0, 0, 0,
124 0, 0, 0, 0, 0, 0, 0, 0, 89, 0,
125 0, 90, 0, 0, 101, 0, 0, 0, 0, 0,
126 0, 0, 146, 0, 0, 0, 0, 0, 0, 3,
127 0, 0, 167, 0, 0, 0, 42, 0, 43, 0,
128 0, 0, 0, 183, 0, 0, 36, 41, 0, 0,
129 0, 166, 182, 86, 0, 151, 0, 153, 0, 131,
130 173, 65, 0, 0, 0, 0, 98, 0, 0, 0,
131 0, 100, 94, 0, 92, 0, 142, 0, 147, 63,
132 68, 67, 55, 0, 54, 84, 0, 88, 133, 0,
133 0, 0, 0, 0, 0, 0, 0, 80, 152, 154,
134 141, 0, 0, 0, 99, 93, 0, 97, 95, 143,
135 91, 72, 168, 6, 0, 0, 0, 0, 0, 0,
136 0, 0, 140, 96, 81, 7, 28, 29, 0, 0,
137 24, 25, 0, 32, 0, 0, 0, 22, 0, 0,
138 0, 31, 5, 0, 30, 0, 0, 33, 0, 23,
140 static short yydgoto[] = { 1,
141 10, 11, 20, 100, 19, 91, 366, 94, 355, 3,
142 12, 13, 70, 371, 281, 72, 73, 74, 75, 76,
143 77, 78, 79, 287, 81, 288, 277, 279, 282, 290,
144 278, 280, 118, 210, 96, 82, 253, 85, 87, 190,
145 323, 152, 285, 267, 221, 14, 83, 133, 15, 2,
148 static short yysindex[] = { 0,
149 0, 0, -199, 0, 0, 0, -53, 0, 0, 0,
150 0, 0, 0, 0, 646, 0, 0, 0, -217, -207,
151 44, 0, 0, -207, 0, 0, 0, -32, -32, 0,
152 66, 0, 2177, 0, 0, 69, 83, 93, 110, -35,
153 2177, 119, 121, 136, 1013, 973, -32, 1077, 1344, -146,
154 2177, 68, -32, 2177, 2177, 2177, 2177, 2177, 2177, 1384,
155 1424, 0, 2177, 2177, -32, -32, -32, -32, -152, 0,
156 470, 845, -13, -65, -63, 0, 0, 55, 137, 122,
157 138, 0, 0, 0, 60, 0, -70, 0, -66, -70,
158 0, 0, 0, 0, 0, 2177, 146, 2177, 1085, 60,
159 -70, 0, 0, 0, 0, 0, 0, 152, 845, 153,
160 1464, 973, 0, 1085, 0, -65, 138, 0, 2177, 0,
161 160, 0, 1085, 2, 76, -52, 2177, 1085, 1524, 0,
162 0, 0, -96, 0, 138, -181, -181, -181, -112, -112,
163 123, -38, 0, -74, -181, -181, 0, 0, 0, 0,
164 60, 0, 2177, 2177, 2177, 2177, 2177, 2177, 2177, 2177,
165 2177, 2177, 2177, 2177, 2177, 2177, 2177, 2177, 2177, 2177,
166 2177, 2177, 2177, 0, 0, -16, 2177, 1731, 2177, 2177,
167 2177, 2177, 2177, 2177, 1791, 0, 2177, 0, 0, -88,
168 -34, -88, 339, 0, 2177, 287, 0, -88, 2177, 2177,
169 2177, 2177, 173, 1850, 0, 0, 0, -33, 46, 180,
170 2177, 138, 1910, 2025, 0, 97, 0, 0, -31, -29,
171 0, 2177, 133, 0, 0, -237, -237, 0, -237, -237,
172 -237, -69, 0, 1614, 1085, 684, 167, 107, 845, 3800,
173 1125, 405, 1164, 778, -228, -181, -181, 2177, 0, 2117,
174 2177, 0, 197, -48, 0, -9, -72, -45, -7, -42,
175 56, -36, 0, -4, 845, -10, -47, 2177, -47, 0,
176 216, 2177, 0, 2177, 60, -237, 0, 219, 0, 230,
177 -237, 233, 237, 0, 242, 470, 0, 0, 246, 225,
178 2177, 0, 0, 0, 13, 0, 18, 0, 29, 0,
179 0, 0, 61, 2177, 2177, 54, 0, 32, 63, 2177,
180 165, 0, 0, 174, 0, 178, 0, 191, 0, 0,
181 0, 0, 0, 261, 0, 0, 350, 0, 0, 182,
182 182, 182, 182, 2177, 182, 2177, 281, 0, 0, 0,
183 0, 102, 1237, 202, 0, 0, 294, 0, 0, 0,
184 0, 0, 0, 0, -152, -152, -130, -130, 297, -152,
185 290, 182, 0, 0, 0, 0, 0, 0, 182, 318,
186 0, 0, 182, 0, 1850, -152, 407, 0, 2177, -152,
187 324, 0, 0, 326, 0, 182, 182, 0, -130, 0,
189 static short yyrindex[] = { 0,
190 0, 0, 243, 0, 0, 0, 0, 0, 0, 0,
191 0, 0, 0, 0, 0, 0, 0, 0, 236, 0,
192 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
193 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
194 36, 451, 0, 0, 2208, 2271, 0, 0, 0, 0,
195 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
196 0, 0, 0, 0, 0, 0, 0, 0, 115, 0,
197 -12, 939, 2325, 2385, 2463, 0, 0, 2510, 2561, 0,
198 1220, 0, 0, 0, 0, 0, -44, 0, 0, -44,
199 0, 0, 0, 0, 0, 2271, 0, 0, 3846, 0,
200 -105, 0, 0, 0, 0, 0, 0, 0, 2612, 0,
201 0, 327, 0, 3883, 522, 583, 3032, 0, 0, 0,
202 2621, 0, 3893, 2385, 0, 0, 2271, 3930, 0, 0,
203 0, 0, 2667, 0, 3092, 3374, 3418, 3458, 3219, 3331,
204 2746, 0, 0, 0, 3496, 3567, 0, 0, 0, 0,
205 0, 0, 0, 0, 0, 0, 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, 2797, 0, 0, -23,
209 0, -23, 913, 0, 327, 0, 0, 247, 336, 0,
210 0, 0, 0, 333, 0, 0, 0, 0, 352, 0,
211 0, 3138, 0, 0, 0, 0, 0, 0, 0, 2857,
212 0, 0, 2903, 0, 0, -8, -2, 0, 7, 33,
213 42, 2255, 0, -28, 3968, 1822, 3732, 3769, 3023, 0,
214 4119, 4082, 4021, 4005, 1044, 3610, 3694, 0, 0, 0,
215 0, 0, 2949, 0, 0, 0, 0, 0, 0, 0,
216 0, 0, 0, 0, 3657, -21, 0, 345, 0, 0,
217 0, 0, 0, 2271, 0, 71, 0, 0, 0, 0,
218 364, 0, 0, 0, 0, 86, 0, 0, 0, 0,
219 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
220 0, 0, 0, 0, 0, 0, 0, 0, 0, 327,
221 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
222 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
223 0, 0, 0, 0, 0, 355, 0, 0, 0, 0,
224 0, 0, 2972, 0, 0, 0, 0, 0, 0, 0,
225 0, 0, 0, 0, 115, 115, 175, 175, 0, 115,
226 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
227 0, 0, 0, 0, 374, 115, 913, 0, 0, 115,
228 0, 0, 0, 0, 0, 0, 0, 0, 175, 0,
230 static short yygindex[] = { 0,
231 0, 0, 164, 383, 0, 14, 0, 37, 655, -89,
232 0, 0, 0, -336, -15, 3415, 0, 2211, 368, 369,
233 0, 0, 0, 410, 916, 0, 0, 273, -163, 62,
234 94, 249, -71, -186, 634, 0, 0, 0, 428, -46,
235 184, 118, 0, -149, 0, 0, 0, 0, 0, 0,
238 #define YYTABLESIZE 4423
239 static short yytable[] = { 71,
240 65, 193, 223, 65, 107, 22, 216, 292, 271, 301,
241 311, 321, 111, 314, 60, 111, 316, 60, 224, 65,
242 313, 372, 318, 250, 194, 181, 178, 183, 15, 111,
243 111, 312, 18, 126, 111, 62, 319, 64, 39, 84,
244 289, 214, 269, 192, 142, 144, 15, 16, 275, 86,
245 18, 69, 390, 338, 198, 217, 39, 180, 339, 182,
246 163, 164, 158, 159, 111, 16, 4, 5, 6, 340,
247 7, 8, 345, 17, 251, 26, 155, 179, 60, 155,
248 172, 113, 20, 173, 122, 315, 174, 175, 176, 293,
249 26, 17, 181, 155, 155, 208, 209, 9, 155, 62,
250 20, 64, 88, 65, 67, 98, 248, 129, 102, 177,
251 127, 38, 344, 219, 26, 199, 200, 201, 202, 203,
252 204, 188, 103, 347, 180, 151, 40, 337, 155, 38,
253 173, 66, 104, 174, 175, 176, 197, 226, 227, 229,
254 230, 231, 232, 233, 15, 369, 370, 26, 317, 105,
255 26, 26, 26, 341, 26, 346, 26, 26, 110, 26,
256 111, 254, 256, 257, 258, 259, 260, 261, 262, 264,
257 359, 23, 24, 26, 21, 112, 185, 184, 26, 209,
258 186, 187, 26, 276, 227, 195, 227, 225, 286, 189,
259 191, 205, 60, 206, 363, 295, 324, 297, 299, 213,
260 215, 220, 328, 21, 176, 26, 303, 21, 65, 266,
261 21, 21, 21, 222, 21, 384, 21, 21, 291, 21,
262 294, 300, 268, 304, 92, 158, 159, 158, 159, 93,
263 302, 159, 306, 21, 308, 309, 310, 26, 21, 26,
264 26, 249, 2, 111, 111, 111, 111, 158, 159, 320,
265 111, 158, 159, 60, 158, 159, 326, 158, 159, 330,
266 106, 158, 159, 158, 159, 21, 158, 159, 158, 159,
267 331, 111, 111, 332, 111, 44, 377, 333, 44, 44,
268 44, 334, 44, 336, 44, 44, 335, 44, 342, 348,
269 158, 159, 158, 159, 209, 158, 159, 21, 349, 21,
270 21, 44, 350, 322, 354, 322, 44, 155, 155, 155,
271 155, 329, 158, 159, 155, 351, 155, 158, 159, 352,
272 276, 362, 155, 155, 155, 155, 364, 273, 158, 159,
273 272, 158, 159, 44, 365, 155, 155, 373, 155, 155,
274 155, 155, 155, 155, 155, 158, 159, 155, 375, 166,
275 155, 155, 155, 158, 159, 158, 159, 379, 53, 71,
276 158, 159, 158, 159, 386, 44, 387, 180, 44, 62,
277 26, 26, 26, 26, 26, 26, 37, 26, 26, 26,
278 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
279 353, 35, 181, 26, 26, 163, 26, 26, 26, 26,
280 26, 158, 159, 178, 40, 26, 26, 26, 26, 26,
281 26, 26, 166, 37, 35, 172, 26, 101, 173, 131,
282 132, 174, 175, 176, 80, 26, 228, 26, 26, 361,
283 21, 21, 21, 21, 21, 21, 381, 21, 21, 21,
284 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
285 283, 90, 325, 21, 21, 0, 21, 21, 21, 21,
286 21, 0, 0, 270, 0, 21, 21, 21, 21, 21,
287 21, 21, 367, 368, 0, 172, 21, 374, 173, 0,
288 0, 174, 175, 176, 0, 21, 0, 21, 21, 0,
289 0, 162, 0, 382, 162, 0, 0, 385, 44, 44,
290 44, 44, 44, 44, 0, 44, 44, 44, 162, 162,
291 0, 44, 0, 162, 44, 44, 44, 44, 0, 0,
292 0, 44, 44, 0, 44, 44, 44, 44, 44, 0,
293 0, 383, 0, 44, 44, 44, 44, 44, 44, 0,
294 0, 0, 0, 162, 44, 0, 0, 0, 0, 0,
295 0, 0, 0, 44, 190, 44, 44, 190, 190, 190,
296 0, 190, 169, 190, 190, 169, 190, 160, 0, 0,
297 0, 0, 0, 161, 162, 163, 164, 0, 0, 169,
298 169, 0, 0, 0, 169, 190, 0, 0, 0, 165,
299 167, 168, 169, 170, 171, 172, 0, 0, 173, 0,
300 0, 174, 175, 176, 4, 5, 6, 0, 7, 8,
301 0, 0, 190, 0, 169, 191, 0, 0, 191, 191,
302 191, 0, 191, 134, 191, 191, 134, 191, 0, 0,
303 160, 0, 0, 0, 0, 9, 161, 162, 163, 164,
304 134, 134, 0, 0, 0, 134, 191, 190, 0, 0,
305 0, 0, 165, 167, 168, 169, 170, 171, 172, 0,
306 0, 173, 97, 0, 174, 175, 176, 0, 0, 0,
307 0, 0, 4, 5, 6, 134, 7, 8, 55, 119,
308 120, 65, 67, 53, 0, 60, 134, 68, 64, 0,
309 63, 161, 162, 163, 164, 0, 0, 0, 147, 148,
310 149, 150, 0, 9, 62, 0, 0, 0, 191, 66,
311 169, 170, 171, 172, 0, 0, 173, 0, 0, 174,
312 175, 176, 162, 162, 162, 162, 0, 0, 0, 162,
313 0, 162, 0, 0, 0, 0, 61, 162, 162, 162,
314 162, 153, 154, 155, 156, 211, 0, 0, 157, 0,
315 162, 162, 0, 162, 162, 162, 162, 162, 162, 162,
316 0, 0, 162, 0, 0, 162, 162, 162, 26, 158,
317 159, 56, 0, 0, 0, 0, 0, 0, 190, 190,
318 190, 190, 190, 0, 190, 190, 190, 0, 0, 0,
319 190, 0, 0, 169, 169, 169, 169, 0, 0, 0,
320 169, 190, 169, 190, 190, 190, 190, 190, 169, 169,
321 169, 169, 190, 190, 190, 190, 190, 190, 0, 0,
322 0, 169, 169, 190, 169, 169, 169, 169, 169, 169,
323 169, 0, 190, 169, 190, 190, 169, 169, 169, 191,
324 191, 191, 191, 191, 0, 191, 191, 191, 0, 0,
325 0, 191, 0, 0, 134, 134, 134, 134, 0, 0,
326 0, 134, 191, 134, 191, 191, 191, 191, 191, 134,
327 134, 134, 134, 191, 191, 191, 191, 191, 191, 0,
328 0, 0, 134, 134, 191, 134, 134, 134, 134, 134,
329 134, 134, 0, 191, 134, 191, 191, 134, 134, 134,
330 0, 25, 27, 28, 29, 30, 31, 166, 32, 33,
331 34, 0, 0, 0, 35, 0, 0, 36, 37, 38,
332 39, 0, 0, 0, 40, 41, 0, 42, 43, 44,
333 45, 46, 0, 0, 0, 0, 47, 48, 49, 50,
334 51, 52, 0, 0, 0, 44, 0, 54, 44, 44,
335 44, 0, 44, 0, 44, 44, 57, 44, 58, 59,
336 0, 117, 0, 0, 0, 0, 0, 0, 0, 135,
337 161, 44, 163, 164, 0, 0, 44, 0, 0, 78,
338 0, 0, 78, 0, 0, 356, 357, 358, 0, 360,
339 0, 171, 172, 0, 0, 173, 78, 78, 174, 175,
340 176, 0, 0, 44, 0, 55, 0, 0, 65, 67,
341 53, 117, 60, 0, 68, 64, 376, 63, 0, 0,
342 0, 0, 0, 378, 0, 0, 0, 380, 0, 0,
343 0, 78, 0, 0, 212, 44, 66, 0, 44, 0,
344 388, 389, 117, 0, 0, 55, 0, 0, 65, 67,
345 53, 0, 60, 0, 68, 64, 0, 63, 0, 0,
346 0, 0, 0, 61, 161, 162, 163, 164, 0, 0,
347 0, 0, 0, 0, 0, 0, 66, 0, 0, 0,
348 0, 0, 0, 0, 106, 171, 172, 106, 0, 173,
349 0, 0, 174, 175, 176, 26, 0, 0, 56, 0,
350 0, 106, 106, 61, 0, 0, 106, 0, 0, 55,
351 0, 0, 65, 67, 53, 0, 60, 0, 68, 64,
352 0, 63, 0, 0, 0, 160, 0, 0, 0, 0,
353 0, 161, 162, 163, 164, 26, 106, 0, 56, 0,
354 66, 0, 0, 0, 0, 0, 0, 165, 167, 168,
355 169, 170, 171, 172, 0, 0, 173, 0, 0, 174,
356 175, 176, 0, 0, 0, 0, 0, 61, 44, 44,
357 44, 44, 44, 44, 0, 44, 44, 44, 0, 0,
358 0, 44, 0, 117, 44, 44, 44, 44, 0, 117,
359 0, 44, 44, 0, 44, 44, 44, 44, 44, 26,
360 0, 0, 56, 44, 44, 44, 44, 44, 44, 0,
361 78, 78, 78, 78, 44, 0, 0, 78, 0, 0,
362 0, 0, 0, 44, 0, 44, 44, 0, 0, 115,
363 28, 29, 30, 31, 93, 32, 33, 34, 78, 78,
364 0, 35, 0, 0, 0, 0, 0, 0, 0, 0,
365 0, 0, 41, 0, 42, 43, 44, 45, 46, 0,
366 75, 0, 0, 47, 48, 49, 50, 51, 52, 27,
367 28, 29, 30, 31, 54, 32, 33, 34, 75, 0,
368 0, 35, 0, 57, 0, 58, 59, 0, 0, 0,
369 0, 0, 41, 0, 42, 43, 44, 45, 46, 166,
370 0, 0, 0, 47, 48, 49, 50, 51, 52, 0,
371 0, 0, 75, 0, 54, 106, 106, 106, 106, 0,
372 0, 0, 106, 57, 106, 58, 59, 0, 0, 0,
373 106, 106, 0, 121, 28, 29, 30, 31, 0, 32,
374 33, 34, 0, 106, 106, 35, 106, 106, 106, 106,
375 106, 106, 0, 0, 0, 0, 41, 0, 42, 43,
376 44, 45, 46, 0, 0, 0, 0, 47, 48, 49,
377 50, 51, 52, 163, 164, 0, 55, 0, 54, 65,
378 67, 53, 0, 60, 0, 68, 64, 57, 63, 58,
379 59, 0, 171, 172, 0, 0, 173, 0, 0, 174,
380 175, 176, 125, 0, 0, 0, 0, 66, 0, 0,
381 0, 161, 162, 163, 164, 0, 55, 0, 0, 65,
382 67, 53, 0, 60, 141, 68, 64, 0, 63, 168,
383 169, 170, 171, 172, 61, 0, 173, 0, 0, 174,
384 175, 176, 0, 0, 0, 0, 0, 66, 0, 0,
385 161, 162, 163, 164, 0, 0, 55, 0, 0, 65,
386 67, 53, 0, 60, 0, 68, 64, 0, 63, 56,
387 170, 171, 172, 0, 61, 173, 0, 0, 174, 175,
388 176, 0, 0, 0, 0, 0, 0, 66, 0, 0,
389 0, 75, 75, 75, 75, 0, 55, 0, 75, 65,
390 67, 53, 0, 60, 207, 68, 64, 0, 63, 56,
391 0, 0, 0, 0, 61, 0, 143, 160, 0, 75,
392 75, 0, 0, 161, 162, 163, 164, 66, 0, 0,
393 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
394 167, 168, 169, 170, 171, 172, 0, 0, 173, 56,
395 0, 174, 175, 176, 61, 0, 55, 0, 0, 65,
396 67, 53, 0, 60, 218, 68, 64, 0, 63, 0,
397 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
398 0, 0, 0, 0, 0, 0, 0, 66, 0, 56,
399 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
400 27, 28, 29, 30, 31, 0, 32, 33, 34, 0,
401 0, 0, 35, 0, 61, 0, 0, 0, 0, 0,
402 0, 0, 0, 41, 0, 42, 43, 44, 45, 46,
403 0, 0, 0, 0, 47, 48, 49, 50, 51, 52,
404 27, 28, 29, 30, 31, 54, 32, 33, 34, 56,
405 0, 0, 35, 0, 57, 0, 58, 59, 0, 0,
406 0, 0, 0, 41, 0, 42, 43, 44, 45, 46,
407 0, 0, 0, 0, 47, 48, 49, 50, 51, 52,
408 27, 28, 29, 30, 31, 54, 32, 33, 34, 0,
409 0, 0, 35, 0, 57, 0, 58, 59, 0, 0,
410 0, 0, 0, 41, 0, 42, 43, 44, 45, 46,
411 0, 0, 0, 0, 47, 48, 49, 50, 51, 52,
412 27, 28, 29, 30, 31, 54, 32, 33, 34, 0,
413 0, 0, 35, 0, 57, 0, 58, 59, 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 0, 0, 0, 55, 0, 54, 65, 67, 53, 0,
417 60, 255, 68, 64, 57, 63, 58, 59, 0, 0,
418 27, 28, 29, 30, 31, 0, 32, 33, 34, 0,
419 0, 0, 35, 0, 66, 0, 0, 0, 0, 0,
420 0, 0, 0, 41, 0, 42, 43, 44, 45, 46,
421 0, 0, 0, 0, 47, 48, 49, 50, 51, 52,
422 0, 61, 0, 55, 0, 54, 65, 67, 53, 0,
423 60, 263, 68, 64, 57, 63, 58, 59, 0, 0,
424 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
425 0, 0, 0, 0, 66, 0, 56, 0, 0, 0,
426 0, 0, 108, 0, 0, 108, 0, 0, 0, 0,
427 0, 0, 0, 0, 0, 0, 0, 0, 0, 108,
428 108, 61, 55, 0, 108, 65, 67, 53, 0, 60,
429 0, 68, 64, 0, 63, 0, 0, 0, 0, 0,
430 161, 162, 163, 164, 0, 0, 0, 0, 0, 0,
431 0, 0, 0, 66, 108, 0, 56, 167, 168, 169,
432 170, 171, 172, 0, 0, 173, 0, 0, 174, 175,
433 176, 0, 0, 0, 0, 0, 0, 0, 0, 0,
434 61, 0, 55, 0, 0, 65, 67, 53, 0, 60,
435 296, 68, 64, 0, 63, 0, 0, 0, 0, 0,
436 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
437 0, 0, 0, 66, 0, 56, 0, 0, 0, 0,
438 0, 0, 0, 0, 0, 0, 0, 27, 28, 29,
439 30, 31, 0, 32, 33, 34, 0, 0, 0, 35,
440 61, 0, 0, 0, 0, 0, 0, 0, 0, 0,
441 41, 0, 42, 43, 44, 45, 46, 0, 0, 0,
442 0, 47, 48, 49, 50, 51, 52, 0, 0, 0,
443 0, 0, 54, 0, 0, 56, 0, 0, 0, 0,
444 0, 57, 0, 58, 59, 0, 0, 27, 28, 29,
445 30, 31, 0, 32, 33, 34, 0, 55, 0, 35,
446 65, 67, 53, 0, 60, 298, 68, 64, 0, 63,
447 41, 0, 42, 43, 44, 45, 46, 0, 0, 0,
448 0, 47, 48, 49, 50, 51, 52, 0, 66, 0,
449 0, 0, 54, 108, 108, 108, 108, 0, 0, 0,
450 108, 57, 108, 58, 59, 25, 27, 28, 29, 30,
451 31, 0, 32, 33, 34, 61, 0, 0, 35, 0,
452 0, 108, 108, 0, 108, 108, 108, 108, 108, 41,
453 0, 42, 43, 44, 45, 46, 0, 0, 0, 0,
454 47, 48, 49, 50, 51, 52, 0, 0, 0, 55,
455 56, 54, 65, 67, 53, 0, 60, 307, 68, 64,
456 57, 63, 58, 59, 0, 0, 27, 28, 29, 30,
457 31, 0, 32, 33, 34, 0, 0, 0, 35, 0,
458 66, 0, 0, 0, 0, 0, 0, 0, 0, 41,
459 0, 42, 43, 44, 45, 46, 0, 0, 0, 0,
460 47, 48, 49, 50, 51, 52, 0, 61, 0, 55,
461 0, 54, 65, 67, 53, 0, 60, 0, 68, 64,
462 57, 63, 58, 59, 0, 0, 0, 0, 0, 0,
463 0, 0, 0, 0, 0, 0, 0, 0, 95, 95,
464 66, 0, 56, 0, 0, 0, 0, 0, 158, 0,
465 108, 158, 0, 0, 0, 0, 116, 95, 124, 0,
466 0, 0, 130, 95, 0, 158, 158, 61, 0, 0,
467 158, 0, 0, 0, 0, 95, 95, 95, 95, 0,
468 0, 27, 28, 29, 30, 31, 0, 32, 33, 34,
469 0, 0, 0, 35, 0, 74, 0, 0, 74, 0,
470 158, 0, 56, 0, 41, 0, 42, 43, 44, 45,
471 46, 178, 0, 74, 178, 47, 48, 49, 50, 51,
472 52, 0, 116, 0, 0, 0, 54, 0, 178, 178,
473 0, 0, 0, 178, 0, 57, 0, 58, 59, 0,
474 0, 0, 0, 0, 0, 0, 0, 74, 0, 0,
475 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
476 0, 0, 0, 178, 0, 139, 0, 0, 139, 0,
477 0, 0, 0, 27, 28, 29, 30, 31, 0, 32,
478 33, 34, 139, 139, 0, 35, 252, 139, 0, 0,
479 0, 0, 0, 0, 0, 0, 41, 0, 42, 43,
480 44, 45, 46, 0, 0, 0, 0, 47, 48, 49,
481 50, 51, 52, 284, 0, 0, 0, 139, 54, 0,
482 0, 0, 0, 0, 0, 134, 0, 57, 134, 58,
483 59, 0, 0, 27, 28, 29, 30, 31, 0, 32,
484 33, 34, 134, 134, 0, 35, 0, 134, 0, 0,
485 0, 0, 0, 0, 0, 0, 41, 0, 42, 43,
486 44, 45, 46, 0, 0, 0, 0, 47, 48, 49,
487 50, 51, 52, 0, 0, 0, 0, 134, 54, 158,
488 158, 158, 158, 0, 0, 0, 158, 57, 158, 58,
489 59, 0, 0, 0, 158, 158, 158, 158, 0, 0,
490 0, 0, 0, 137, 0, 0, 137, 158, 158, 0,
491 158, 158, 158, 158, 158, 158, 158, 0, 0, 158,
492 137, 137, 158, 158, 158, 137, 74, 74, 74, 74,
493 0, 0, 0, 74, 0, 0, 0, 0, 0, 0,
494 0, 0, 178, 178, 178, 178, 0, 0, 0, 178,
495 135, 178, 0, 135, 74, 137, 0, 178, 178, 178,
496 178, 0, 0, 0, 0, 0, 0, 135, 135, 0,
497 178, 178, 135, 178, 178, 178, 178, 178, 178, 178,
498 0, 0, 178, 0, 0, 178, 178, 178, 0, 0,
499 0, 0, 0, 0, 0, 0, 139, 139, 139, 139,
500 0, 145, 135, 139, 145, 139, 0, 0, 0, 0,
501 0, 139, 139, 139, 139, 0, 0, 0, 145, 145,
502 0, 0, 0, 145, 139, 139, 0, 139, 139, 139,
503 139, 139, 139, 139, 0, 0, 139, 0, 0, 139,
504 139, 139, 0, 0, 0, 0, 0, 0, 0, 0,
505 0, 0, 156, 145, 0, 156, 134, 134, 134, 134,
506 0, 169, 0, 134, 169, 134, 0, 0, 0, 156,
507 156, 134, 134, 134, 134, 0, 0, 0, 169, 169,
508 0, 0, 0, 169, 134, 134, 0, 134, 134, 134,
509 134, 134, 134, 134, 0, 0, 134, 0, 0, 134,
510 134, 134, 0, 0, 156, 0, 0, 172, 0, 0,
511 172, 0, 0, 169, 0, 0, 0, 0, 0, 0,
512 0, 0, 0, 0, 172, 172, 0, 0, 0, 172,
513 0, 0, 0, 0, 137, 137, 137, 137, 0, 0,
514 0, 137, 0, 137, 0, 0, 0, 0, 0, 137,
515 137, 137, 137, 0, 0, 0, 0, 0, 0, 172,
516 0, 0, 137, 137, 0, 137, 137, 137, 137, 137,
517 137, 137, 0, 0, 137, 0, 0, 137, 137, 137,
518 0, 135, 135, 135, 135, 0, 128, 0, 135, 128,
519 135, 0, 0, 0, 0, 0, 135, 135, 135, 135,
520 0, 0, 0, 128, 128, 0, 0, 0, 128, 135,
521 135, 0, 135, 135, 135, 135, 135, 135, 135, 0,
522 0, 135, 0, 0, 135, 135, 135, 0, 0, 0,
523 0, 0, 145, 145, 145, 145, 0, 76, 128, 145,
524 76, 145, 0, 0, 0, 0, 0, 145, 145, 145,
525 145, 0, 0, 0, 76, 76, 0, 0, 0, 76,
526 145, 145, 0, 145, 145, 145, 145, 145, 145, 145,
527 0, 0, 145, 0, 0, 145, 145, 145, 0, 0,
528 0, 0, 0, 156, 156, 156, 156, 0, 0, 76,
529 156, 0, 169, 169, 169, 169, 0, 66, 0, 169,
530 66, 169, 0, 0, 0, 0, 0, 169, 169, 169,
531 169, 156, 156, 0, 66, 66, 0, 0, 0, 66,
532 169, 169, 0, 169, 169, 169, 169, 169, 169, 169,
533 0, 0, 169, 0, 0, 169, 169, 169, 172, 172,
534 172, 172, 0, 127, 0, 172, 127, 172, 0, 66,
535 0, 0, 0, 172, 172, 172, 172, 0, 0, 0,
536 127, 127, 0, 0, 0, 127, 172, 172, 0, 172,
537 172, 172, 172, 172, 172, 172, 0, 0, 172, 0,
538 0, 172, 172, 172, 0, 0, 0, 0, 0, 82,
539 0, 0, 82, 0, 0, 127, 0, 0, 0, 0,
540 0, 0, 0, 0, 0, 0, 82, 82, 0, 0,
541 0, 82, 114, 0, 0, 114, 0, 128, 128, 128,
542 128, 0, 0, 0, 128, 0, 128, 0, 0, 114,
543 114, 0, 128, 128, 128, 128, 0, 0, 0, 0,
544 0, 82, 0, 0, 0, 128, 128, 0, 128, 128,
545 128, 128, 128, 128, 128, 0, 0, 128, 0, 0,
546 128, 128, 128, 102, 114, 0, 102, 0, 76, 76,
547 76, 76, 179, 0, 0, 76, 0, 76, 0, 0,
548 102, 102, 0, 76, 76, 76, 76, 0, 0, 179,
549 179, 0, 0, 0, 179, 0, 76, 76, 0, 76,
550 76, 76, 76, 76, 76, 76, 0, 0, 76, 0,
551 0, 76, 76, 76, 0, 102, 0, 0, 0, 0,
552 0, 0, 0, 0, 179, 0, 0, 0, 66, 66,
553 66, 66, 157, 0, 0, 66, 0, 66, 0, 0,
554 0, 0, 0, 66, 66, 66, 66, 0, 0, 157,
555 157, 0, 0, 0, 157, 0, 66, 66, 0, 66,
556 66, 66, 66, 66, 66, 66, 0, 0, 66, 0,
557 0, 66, 66, 66, 127, 127, 127, 127, 79, 0,
558 0, 127, 0, 127, 157, 0, 0, 0, 0, 127,
559 127, 127, 127, 0, 0, 79, 79, 0, 0, 0,
560 79, 0, 127, 127, 0, 127, 127, 127, 127, 127,
561 127, 127, 0, 0, 127, 0, 0, 127, 127, 127,
562 82, 82, 82, 82, 0, 0, 0, 82, 0, 82,
563 79, 0, 0, 0, 0, 82, 82, 82, 82, 0,
564 0, 0, 0, 114, 114, 114, 114, 0, 82, 82,
565 114, 82, 82, 82, 82, 82, 82, 82, 0, 123,
566 82, 0, 123, 82, 82, 82, 0, 0, 0, 0,
567 0, 114, 114, 0, 114, 0, 123, 123, 0, 0,
568 0, 123, 0, 0, 0, 0, 0, 0, 0, 0,
569 0, 0, 0, 0, 102, 102, 102, 102, 0, 0,
570 0, 102, 0, 179, 179, 179, 179, 0, 0, 0,
571 179, 123, 179, 0, 0, 0, 0, 0, 179, 179,
572 179, 179, 102, 102, 0, 0, 0, 0, 0, 0,
573 0, 179, 179, 0, 179, 179, 179, 179, 179, 179,
574 179, 0, 0, 179, 0, 0, 179, 179, 179, 0,
575 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
576 0, 0, 0, 157, 157, 157, 157, 0, 0, 0,
577 157, 124, 157, 0, 124, 0, 0, 0, 157, 157,
578 157, 157, 0, 0, 0, 0, 0, 0, 124, 124,
579 0, 157, 157, 124, 157, 157, 157, 157, 157, 157,
580 157, 0, 0, 157, 0, 0, 157, 157, 157, 79,
581 79, 79, 79, 0, 118, 0, 79, 118, 79, 0,
582 0, 0, 0, 124, 79, 79, 79, 79, 0, 0,
583 0, 118, 118, 0, 0, 0, 118, 79, 79, 0,
584 79, 79, 79, 79, 79, 79, 79, 99, 0, 79,
585 0, 0, 79, 79, 79, 109, 0, 0, 119, 114,
586 0, 119, 123, 0, 0, 128, 118, 0, 0, 136,
587 137, 138, 139, 140, 0, 119, 119, 145, 146, 0,
588 119, 0, 0, 0, 0, 0, 0, 0, 0, 0,
589 123, 123, 123, 123, 0, 0, 0, 123, 120, 123,
590 0, 120, 0, 0, 0, 123, 123, 123, 123, 0,
591 119, 0, 196, 0, 0, 120, 120, 0, 123, 123,
592 120, 123, 123, 123, 123, 123, 123, 123, 0, 0,
593 123, 0, 0, 0, 0, 0, 116, 0, 0, 116,
594 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
595 120, 0, 0, 116, 116, 0, 0, 0, 116, 0,
596 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
597 0, 0, 0, 0, 234, 235, 236, 237, 238, 239,
598 240, 241, 242, 243, 244, 245, 246, 247, 116, 0,
599 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
600 0, 265, 124, 124, 124, 124, 0, 117, 0, 124,
601 117, 124, 0, 0, 0, 0, 0, 124, 124, 124,
602 124, 0, 0, 0, 117, 117, 0, 0, 0, 117,
603 124, 124, 0, 124, 124, 124, 124, 124, 124, 124,
604 0, 0, 124, 0, 0, 118, 118, 118, 118, 0,
605 115, 0, 118, 115, 118, 0, 0, 0, 0, 117,
606 118, 118, 118, 118, 0, 0, 0, 115, 115, 0,
607 0, 0, 115, 118, 118, 0, 118, 118, 118, 118,
608 118, 118, 118, 0, 0, 0, 327, 0, 0, 119,
609 119, 119, 119, 0, 0, 0, 119, 77, 119, 0,
610 77, 0, 115, 0, 119, 119, 119, 119, 0, 0,
611 0, 0, 0, 0, 77, 77, 0, 119, 119, 343,
612 119, 119, 119, 119, 119, 119, 119, 0, 0, 120,
613 120, 120, 120, 0, 103, 0, 120, 103, 120, 0,
614 0, 0, 0, 0, 120, 120, 120, 120, 0, 77,
615 0, 103, 103, 0, 0, 0, 103, 120, 120, 0,
616 120, 120, 120, 120, 120, 120, 120, 116, 116, 116,
617 116, 0, 104, 0, 116, 104, 116, 0, 0, 0,
618 0, 0, 116, 116, 116, 116, 103, 0, 0, 104,
619 104, 0, 0, 0, 104, 116, 116, 0, 116, 116,
620 116, 116, 116, 116, 116, 0, 0, 0, 0, 105,
621 0, 0, 105, 0, 0, 0, 0, 0, 0, 0,
622 0, 0, 0, 0, 104, 0, 105, 105, 0, 0,
623 0, 105, 0, 0, 0, 0, 0, 0, 117, 117,
624 117, 117, 0, 0, 0, 117, 0, 117, 0, 0,
625 0, 0, 0, 117, 117, 117, 117, 305, 0, 0,
626 0, 105, 166, 0, 0, 0, 117, 117, 0, 117,
627 117, 117, 117, 117, 117, 117, 0, 0, 0, 0,
628 0, 115, 115, 115, 115, 0, 161, 0, 115, 161,
629 115, 0, 0, 0, 0, 0, 115, 115, 115, 115,
630 0, 0, 0, 161, 161, 0, 0, 0, 161, 115,
631 115, 0, 115, 115, 115, 115, 115, 115, 115, 0,
632 0, 0, 0, 160, 0, 0, 160, 0, 77, 77,
633 77, 77, 0, 149, 0, 77, 149, 0, 161, 0,
634 160, 160, 0, 0, 0, 160, 0, 0, 0, 0,
635 149, 149, 0, 0, 0, 149, 77, 77, 0, 0,
636 0, 0, 0, 0, 0, 103, 103, 103, 103, 0,
637 126, 0, 103, 126, 103, 160, 0, 0, 0, 0,
638 103, 103, 103, 103, 0, 149, 0, 126, 126, 0,
639 0, 0, 126, 103, 103, 0, 103, 103, 103, 103,
640 103, 103, 103, 104, 104, 104, 104, 0, 107, 0,
641 104, 107, 104, 0, 0, 0, 0, 0, 104, 104,
642 104, 104, 126, 0, 0, 107, 107, 0, 0, 0,
643 107, 104, 104, 0, 104, 104, 104, 104, 104, 104,
644 105, 105, 105, 105, 0, 109, 0, 105, 109, 105,
645 0, 0, 0, 0, 0, 105, 105, 0, 105, 0,
646 107, 110, 109, 109, 110, 0, 0, 109, 105, 105,
647 0, 105, 105, 105, 105, 105, 105, 0, 110, 110,
648 160, 0, 0, 110, 0, 0, 161, 162, 163, 164,
649 0, 0, 0, 0, 0, 0, 0, 109, 0, 0,
650 0, 0, 165, 167, 168, 169, 170, 171, 172, 0,
651 0, 173, 0, 110, 174, 175, 176, 161, 161, 161,
652 161, 0, 112, 0, 161, 112, 161, 0, 0, 0,
653 0, 0, 161, 161, 0, 0, 0, 0, 0, 112,
654 112, 0, 0, 0, 112, 161, 161, 0, 161, 161,
655 161, 161, 161, 0, 160, 160, 160, 160, 0, 113,
656 0, 160, 113, 160, 149, 149, 149, 149, 0, 160,
657 160, 149, 0, 149, 112, 0, 113, 113, 0, 149,
658 149, 113, 160, 160, 0, 160, 160, 160, 160, 160,
659 0, 0, 149, 149, 0, 149, 149, 149, 149, 149,
660 0, 126, 126, 126, 126, 0, 0, 0, 126, 0,
661 126, 113, 0, 0, 0, 0, 126, 126, 0, 0,
662 0, 0, 0, 0, 0, 0, 0, 0, 0, 126,
663 126, 0, 126, 126, 126, 126, 126, 0, 0, 107,
664 107, 107, 107, 0, 0, 0, 107, 0, 107, 0,
665 0, 0, 0, 0, 0, 107, 0, 0, 0, 0,
666 0, 0, 0, 0, 0, 0, 0, 107, 107, 0,
667 107, 107, 107, 107, 107, 0, 109, 109, 109, 109,
668 0, 0, 0, 109, 0, 109, 0, 0, 0, 0,
669 0, 0, 110, 110, 110, 110, 0, 0, 0, 110,
670 0, 110, 0, 0, 109, 109, 0, 109, 109, 109,
671 109, 109, 0, 0, 0, 0, 0, 0, 0, 0,
672 110, 110, 0, 110, 110, 110, 110, 0, 0, 0,
673 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
674 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
675 0, 0, 0, 112, 112, 112, 112, 0, 0, 0,
676 112, 0, 112, 0, 0, 0, 0, 0, 0, 0,
677 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
678 0, 112, 112, 0, 112, 112, 112, 0, 0, 0,
679 113, 113, 113, 113, 0, 0, 0, 113, 0, 113,
680 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
681 0, 0, 0, 0, 0, 0, 0, 0, 113, 113,
684 static short yycheck[] = { 15,
685 36, 91, 41, 36, 40, 59, 59, 41, 195, 41,
686 59, 59, 41, 59, 59, 44, 59, 123, 93, 36,
687 93, 358, 59, 40, 96, 91, 40, 91, 41, 58,
688 59, 41, 41, 49, 63, 59, 41, 59, 41, 257,
689 204, 40, 192, 90, 60, 61, 59, 41, 198, 257,
690 59, 15, 389, 41, 101, 127, 59, 123, 41, 123,
691 289, 290, 300, 301, 93, 59, 266, 267, 268, 41,
692 270, 271, 41, 41, 91, 123, 41, 91, 123, 44,
693 309, 45, 41, 312, 48, 93, 315, 316, 317, 44,
694 123, 59, 91, 58, 59, 111, 112, 297, 63, 123,
695 59, 123, 59, 36, 37, 40, 123, 40, 40, 123,
696 257, 41, 59, 129, 0, 102, 103, 104, 105, 106,
697 107, 85, 40, 310, 123, 278, 41, 291, 93, 59,
698 312, 64, 40, 315, 316, 317, 100, 153, 154, 155,
699 156, 157, 158, 159, 59, 276, 277, 33, 93, 40,
700 36, 37, 38, 93, 40, 93, 42, 43, 40, 45,
701 40, 177, 178, 179, 180, 181, 182, 183, 184, 185,
702 334, 8, 9, 59, 0, 40, 40, 123, 64, 195,
703 59, 44, 123, 199, 200, 40, 202, 151, 204, 260,
704 257, 40, 298, 41, 93, 211, 268, 213, 214, 40,
705 125, 298, 274, 257, 317, 91, 222, 33, 36, 298,
706 36, 37, 38, 91, 40, 379, 42, 43, 205, 45,
707 41, 125, 257, 91, 257, 300, 301, 300, 301, 262,
708 260, 301, 248, 59, 250, 251, 40, 123, 64, 125,
709 126, 258, 0, 272, 273, 274, 275, 300, 301, 260,
710 279, 300, 301, 298, 300, 301, 41, 300, 301, 41,
711 296, 300, 301, 300, 301, 91, 300, 301, 300, 301,
712 41, 300, 301, 41, 303, 33, 366, 41, 36, 37,
713 38, 40, 40, 59, 42, 43, 41, 45, 304, 125,
714 300, 301, 300, 301, 310, 300, 301, 123, 125, 125,
715 126, 59, 125, 267, 123, 269, 64, 272, 273, 274,
716 275, 275, 300, 301, 279, 125, 281, 300, 301, 59,
717 336, 41, 287, 288, 289, 290, 125, 41, 300, 301,
718 44, 300, 301, 91, 41, 300, 301, 41, 303, 304,
719 305, 306, 307, 308, 309, 300, 301, 312, 59, 63,
720 315, 316, 317, 300, 301, 300, 301, 40, 123, 375,
721 300, 301, 300, 301, 41, 123, 41, 41, 126, 123,
722 256, 257, 258, 259, 260, 261, 41, 263, 264, 265,
723 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
724 41, 59, 41, 279, 280, 289, 282, 283, 284, 285,
725 286, 300, 301, 59, 41, 291, 292, 293, 294, 295,
726 296, 297, 63, 59, 41, 309, 302, 35, 312, 52,
727 52, 315, 316, 317, 15, 311, 154, 313, 314, 336,
728 256, 257, 258, 259, 260, 261, 375, 263, 264, 265,
729 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
730 202, 24, 269, 279, 280, -1, 282, 283, 284, 285,
731 286, -1, -1, 125, -1, 291, 292, 293, 294, 295,
732 296, 297, 355, 356, -1, 309, 302, 360, 312, -1,
733 -1, 315, 316, 317, -1, 311, -1, 313, 314, -1,
734 -1, 41, -1, 376, 44, -1, -1, 380, 256, 257,
735 258, 259, 260, 261, -1, 263, 264, 265, 58, 59,
736 -1, 269, -1, 63, 272, 273, 274, 275, -1, -1,
737 -1, 279, 280, -1, 282, 283, 284, 285, 286, -1,
738 -1, 125, -1, 291, 292, 293, 294, 295, 296, -1,
739 -1, -1, -1, 93, 302, -1, -1, -1, -1, -1,
740 -1, -1, -1, 311, 33, 313, 314, 36, 37, 38,
741 -1, 40, 41, 42, 43, 44, 45, 281, -1, -1,
742 -1, -1, -1, 287, 288, 289, 290, -1, -1, 58,
743 59, -1, -1, -1, 63, 64, -1, -1, -1, 303,
744 304, 305, 306, 307, 308, 309, -1, -1, 312, -1,
745 -1, 315, 316, 317, 266, 267, 268, -1, 270, 271,
746 -1, -1, 91, -1, 93, 33, -1, -1, 36, 37,
747 38, -1, 40, 41, 42, 43, 44, 45, -1, -1,
748 281, -1, -1, -1, -1, 297, 287, 288, 289, 290,
749 58, 59, -1, -1, -1, 63, 64, 126, -1, -1,
750 -1, -1, 303, 304, 305, 306, 307, 308, 309, -1,
751 -1, 312, 29, -1, 315, 316, 317, -1, -1, -1,
752 -1, -1, 266, 267, 268, 93, 270, 271, 33, 46,
753 47, 36, 37, 38, -1, 40, 53, 42, 43, -1,
754 45, 287, 288, 289, 290, -1, -1, -1, 65, 66,
755 67, 68, -1, 297, 59, -1, -1, -1, 126, 64,
756 306, 307, 308, 309, -1, -1, 312, -1, -1, 315,
757 316, 317, 272, 273, 274, 275, -1, -1, -1, 279,
758 -1, 281, -1, -1, -1, -1, 91, 287, 288, 289,
759 290, 272, 273, 274, 275, 112, -1, -1, 279, -1,
760 300, 301, -1, 303, 304, 305, 306, 307, 308, 309,
761 -1, -1, 312, -1, -1, 315, 316, 317, 123, 300,
762 301, 126, -1, -1, -1, -1, -1, -1, 257, 258,
763 259, 260, 261, -1, 263, 264, 265, -1, -1, -1,
764 269, -1, -1, 272, 273, 274, 275, -1, -1, -1,
765 279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
766 289, 290, 291, 292, 293, 294, 295, 296, -1, -1,
767 -1, 300, 301, 302, 303, 304, 305, 306, 307, 308,
768 309, -1, 311, 312, 313, 314, 315, 316, 317, 257,
769 258, 259, 260, 261, -1, 263, 264, 265, -1, -1,
770 -1, 269, -1, -1, 272, 273, 274, 275, -1, -1,
771 -1, 279, 280, 281, 282, 283, 284, 285, 286, 287,
772 288, 289, 290, 291, 292, 293, 294, 295, 296, -1,
773 -1, -1, 300, 301, 302, 303, 304, 305, 306, 307,
774 308, 309, -1, 311, 312, 313, 314, 315, 316, 317,
775 -1, 256, 257, 258, 259, 260, 261, 63, 263, 264,
776 265, -1, -1, -1, 269, -1, -1, 272, 273, 274,
777 275, -1, -1, -1, 279, 280, -1, 282, 283, 284,
778 285, 286, -1, -1, -1, -1, 291, 292, 293, 294,
779 295, 296, -1, -1, -1, 33, -1, 302, 36, 37,
780 38, -1, 40, -1, 42, 43, 311, 45, 313, 314,
781 -1, 46, -1, -1, -1, -1, -1, -1, -1, 54,
782 287, 59, 289, 290, -1, -1, 64, -1, -1, 41,
783 -1, -1, 44, -1, -1, 331, 332, 333, -1, 335,
784 -1, 308, 309, -1, -1, 312, 58, 59, 315, 316,
785 317, -1, -1, 91, -1, 33, -1, -1, 36, 37,
786 38, 96, 40, -1, 42, 43, 362, 45, -1, -1,
787 -1, -1, -1, 369, -1, -1, -1, 373, -1, -1,
788 -1, 93, -1, -1, 119, 123, 64, -1, 126, -1,
789 386, 387, 127, -1, -1, 33, -1, -1, 36, 37,
790 38, -1, 40, -1, 42, 43, -1, 45, -1, -1,
791 -1, -1, -1, 91, 287, 288, 289, 290, -1, -1,
792 -1, -1, -1, -1, -1, -1, 64, -1, -1, -1,
793 -1, -1, -1, -1, 41, 308, 309, 44, -1, 312,
794 -1, -1, 315, 316, 317, 123, -1, -1, 126, -1,
795 -1, 58, 59, 91, -1, -1, 63, -1, -1, 33,
796 -1, -1, 36, 37, 38, -1, 40, -1, 42, 43,
797 -1, 45, -1, -1, -1, 281, -1, -1, -1, -1,
798 -1, 287, 288, 289, 290, 123, 93, -1, 126, -1,
799 64, -1, -1, -1, -1, -1, -1, 303, 304, 305,
800 306, 307, 308, 309, -1, -1, 312, -1, -1, 315,
801 316, 317, -1, -1, -1, -1, -1, 91, 256, 257,
802 258, 259, 260, 261, -1, 263, 264, 265, -1, -1,
803 -1, 269, -1, 268, 272, 273, 274, 275, -1, 274,
804 -1, 279, 280, -1, 282, 283, 284, 285, 286, 123,
805 -1, -1, 126, 291, 292, 293, 294, 295, 296, -1,
806 272, 273, 274, 275, 302, -1, -1, 279, -1, -1,
807 -1, -1, -1, 311, -1, 313, 314, -1, -1, 257,
808 258, 259, 260, 261, 262, 263, 264, 265, 300, 301,
809 -1, 269, -1, -1, -1, -1, -1, -1, -1, -1,
810 -1, -1, 280, -1, 282, 283, 284, 285, 286, -1,
811 41, -1, -1, 291, 292, 293, 294, 295, 296, 257,
812 258, 259, 260, 261, 302, 263, 264, 265, 59, -1,
813 -1, 269, -1, 311, -1, 313, 314, -1, -1, -1,
814 -1, -1, 280, -1, 282, 283, 284, 285, 286, 63,
815 -1, -1, -1, 291, 292, 293, 294, 295, 296, -1,
816 -1, -1, 93, -1, 302, 272, 273, 274, 275, -1,
817 -1, -1, 279, 311, 281, 313, 314, -1, -1, -1,
818 287, 288, -1, 257, 258, 259, 260, 261, -1, 263,
819 264, 265, -1, 300, 301, 269, 303, 304, 305, 306,
820 307, 308, -1, -1, -1, -1, 280, -1, 282, 283,
821 284, 285, 286, -1, -1, -1, -1, 291, 292, 293,
822 294, 295, 296, 289, 290, -1, 33, -1, 302, 36,
823 37, 38, -1, 40, -1, 42, 43, 311, 45, 313,
824 314, -1, 308, 309, -1, -1, 312, -1, -1, 315,
825 316, 317, 59, -1, -1, -1, -1, 64, -1, -1,
826 -1, 287, 288, 289, 290, -1, 33, -1, -1, 36,
827 37, 38, -1, 40, 41, 42, 43, -1, 45, 305,
828 306, 307, 308, 309, 91, -1, 312, -1, -1, 315,
829 316, 317, -1, -1, -1, -1, -1, 64, -1, -1,
830 287, 288, 289, 290, -1, -1, 33, -1, -1, 36,
831 37, 38, -1, 40, -1, 42, 43, -1, 45, 126,
832 307, 308, 309, -1, 91, 312, -1, -1, 315, 316,
833 317, -1, -1, -1, -1, -1, -1, 64, -1, -1,
834 -1, 272, 273, 274, 275, -1, 33, -1, 279, 36,
835 37, 38, -1, 40, 41, 42, 43, -1, 45, 126,
836 -1, -1, -1, -1, 91, -1, 93, 281, -1, 300,
837 301, -1, -1, 287, 288, 289, 290, 64, -1, -1,
838 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
839 304, 305, 306, 307, 308, 309, -1, -1, 312, 126,
840 -1, 315, 316, 317, 91, -1, 33, -1, -1, 36,
841 37, 38, -1, 40, 41, 42, 43, -1, 45, -1,
842 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
843 -1, -1, -1, -1, -1, -1, -1, 64, -1, 126,
844 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
845 257, 258, 259, 260, 261, -1, 263, 264, 265, -1,
846 -1, -1, 269, -1, 91, -1, -1, -1, -1, -1,
847 -1, -1, -1, 280, -1, 282, 283, 284, 285, 286,
848 -1, -1, -1, -1, 291, 292, 293, 294, 295, 296,
849 257, 258, 259, 260, 261, 302, 263, 264, 265, 126,
850 -1, -1, 269, -1, 311, -1, 313, 314, -1, -1,
851 -1, -1, -1, 280, -1, 282, 283, 284, 285, 286,
852 -1, -1, -1, -1, 291, 292, 293, 294, 295, 296,
853 257, 258, 259, 260, 261, 302, 263, 264, 265, -1,
854 -1, -1, 269, -1, 311, -1, 313, 314, -1, -1,
855 -1, -1, -1, 280, -1, 282, 283, 284, 285, 286,
856 -1, -1, -1, -1, 291, 292, 293, 294, 295, 296,
857 257, 258, 259, 260, 261, 302, 263, 264, 265, -1,
858 -1, -1, 269, -1, 311, -1, 313, 314, -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 -1, -1, -1, 33, -1, 302, 36, 37, 38, -1,
862 40, 41, 42, 43, 311, 45, 313, 314, -1, -1,
863 257, 258, 259, 260, 261, -1, 263, 264, 265, -1,
864 -1, -1, 269, -1, 64, -1, -1, -1, -1, -1,
865 -1, -1, -1, 280, -1, 282, 283, 284, 285, 286,
866 -1, -1, -1, -1, 291, 292, 293, 294, 295, 296,
867 -1, 91, -1, 33, -1, 302, 36, 37, 38, -1,
868 40, 41, 42, 43, 311, 45, 313, 314, -1, -1,
869 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
870 -1, -1, -1, -1, 64, -1, 126, -1, -1, -1,
871 -1, -1, 41, -1, -1, 44, -1, -1, -1, -1,
872 -1, -1, -1, -1, -1, -1, -1, -1, -1, 58,
873 59, 91, 33, -1, 63, 36, 37, 38, -1, 40,
874 -1, 42, 43, -1, 45, -1, -1, -1, -1, -1,
875 287, 288, 289, 290, -1, -1, -1, -1, -1, -1,
876 -1, -1, -1, 64, 93, -1, 126, 304, 305, 306,
877 307, 308, 309, -1, -1, 312, -1, -1, 315, 316,
878 317, -1, -1, -1, -1, -1, -1, -1, -1, -1,
879 91, -1, 33, -1, -1, 36, 37, 38, -1, 40,
880 41, 42, 43, -1, 45, -1, -1, -1, -1, -1,
881 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
882 -1, -1, -1, 64, -1, 126, -1, -1, -1, -1,
883 -1, -1, -1, -1, -1, -1, -1, 257, 258, 259,
884 260, 261, -1, 263, 264, 265, -1, -1, -1, 269,
885 91, -1, -1, -1, -1, -1, -1, -1, -1, -1,
886 280, -1, 282, 283, 284, 285, 286, -1, -1, -1,
887 -1, 291, 292, 293, 294, 295, 296, -1, -1, -1,
888 -1, -1, 302, -1, -1, 126, -1, -1, -1, -1,
889 -1, 311, -1, 313, 314, -1, -1, 257, 258, 259,
890 260, 261, -1, 263, 264, 265, -1, 33, -1, 269,
891 36, 37, 38, -1, 40, 41, 42, 43, -1, 45,
892 280, -1, 282, 283, 284, 285, 286, -1, -1, -1,
893 -1, 291, 292, 293, 294, 295, 296, -1, 64, -1,
894 -1, -1, 302, 272, 273, 274, 275, -1, -1, -1,
895 279, 311, 281, 313, 314, 256, 257, 258, 259, 260,
896 261, -1, 263, 264, 265, 91, -1, -1, 269, -1,
897 -1, 300, 301, -1, 303, 304, 305, 306, 307, 280,
898 -1, 282, 283, 284, 285, 286, -1, -1, -1, -1,
899 291, 292, 293, 294, 295, 296, -1, -1, -1, 33,
900 126, 302, 36, 37, 38, -1, 40, 41, 42, 43,
901 311, 45, 313, 314, -1, -1, 257, 258, 259, 260,
902 261, -1, 263, 264, 265, -1, -1, -1, 269, -1,
903 64, -1, -1, -1, -1, -1, -1, -1, -1, 280,
904 -1, 282, 283, 284, 285, 286, -1, -1, -1, -1,
905 291, 292, 293, 294, 295, 296, -1, 91, -1, 33,
906 -1, 302, 36, 37, 38, -1, 40, -1, 42, 43,
907 311, 45, 313, 314, -1, -1, -1, -1, -1, -1,
908 -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
909 64, -1, 126, -1, -1, -1, -1, -1, 41, -1,
910 40, 44, -1, -1, -1, -1, 46, 47, 48, -1,
911 -1, -1, 52, 53, -1, 58, 59, 91, -1, -1,
912 63, -1, -1, -1, -1, 65, 66, 67, 68, -1,
913 -1, 257, 258, 259, 260, 261, -1, 263, 264, 265,
914 -1, -1, -1, 269, -1, 41, -1, -1, 44, -1,
915 93, -1, 126, -1, 280, -1, 282, 283, 284, 285,
916 286, 41, -1, 59, 44, 291, 292, 293, 294, 295,
917 296, -1, 112, -1, -1, -1, 302, -1, 58, 59,
918 -1, -1, -1, 63, -1, 311, -1, 313, 314, -1,
919 -1, -1, -1, -1, -1, -1, -1, 93, -1, -1,
920 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
921 -1, -1, -1, 93, -1, 41, -1, -1, 44, -1,
922 -1, -1, -1, 257, 258, 259, 260, 261, -1, 263,
923 264, 265, 58, 59, -1, 269, 176, 63, -1, -1,
924 -1, -1, -1, -1, -1, -1, 280, -1, 282, 283,
925 284, 285, 286, -1, -1, -1, -1, 291, 292, 293,
926 294, 295, 296, 203, -1, -1, -1, 93, 302, -1,
927 -1, -1, -1, -1, -1, 41, -1, 311, 44, 313,
928 314, -1, -1, 257, 258, 259, 260, 261, -1, 263,
929 264, 265, 58, 59, -1, 269, -1, 63, -1, -1,
930 -1, -1, -1, -1, -1, -1, 280, -1, 282, 283,
931 284, 285, 286, -1, -1, -1, -1, 291, 292, 293,
932 294, 295, 296, -1, -1, -1, -1, 93, 302, 272,
933 273, 274, 275, -1, -1, -1, 279, 311, 281, 313,
934 314, -1, -1, -1, 287, 288, 289, 290, -1, -1,
935 -1, -1, -1, 41, -1, -1, 44, 300, 301, -1,
936 303, 304, 305, 306, 307, 308, 309, -1, -1, 312,
937 58, 59, 315, 316, 317, 63, 272, 273, 274, 275,
938 -1, -1, -1, 279, -1, -1, -1, -1, -1, -1,
939 -1, -1, 272, 273, 274, 275, -1, -1, -1, 279,
940 41, 281, -1, 44, 300, 93, -1, 287, 288, 289,
941 290, -1, -1, -1, -1, -1, -1, 58, 59, -1,
942 300, 301, 63, 303, 304, 305, 306, 307, 308, 309,
943 -1, -1, 312, -1, -1, 315, 316, 317, -1, -1,
944 -1, -1, -1, -1, -1, -1, 272, 273, 274, 275,
945 -1, 41, 93, 279, 44, 281, -1, -1, -1, -1,
946 -1, 287, 288, 289, 290, -1, -1, -1, 58, 59,
947 -1, -1, -1, 63, 300, 301, -1, 303, 304, 305,
948 306, 307, 308, 309, -1, -1, 312, -1, -1, 315,
949 316, 317, -1, -1, -1, -1, -1, -1, -1, -1,
950 -1, -1, 41, 93, -1, 44, 272, 273, 274, 275,
951 -1, 41, -1, 279, 44, 281, -1, -1, -1, 58,
952 59, 287, 288, 289, 290, -1, -1, -1, 58, 59,
953 -1, -1, -1, 63, 300, 301, -1, 303, 304, 305,
954 306, 307, 308, 309, -1, -1, 312, -1, -1, 315,
955 316, 317, -1, -1, 93, -1, -1, 41, -1, -1,
956 44, -1, -1, 93, -1, -1, -1, -1, -1, -1,
957 -1, -1, -1, -1, 58, 59, -1, -1, -1, 63,
958 -1, -1, -1, -1, 272, 273, 274, 275, -1, -1,
959 -1, 279, -1, 281, -1, -1, -1, -1, -1, 287,
960 288, 289, 290, -1, -1, -1, -1, -1, -1, 93,
961 -1, -1, 300, 301, -1, 303, 304, 305, 306, 307,
962 308, 309, -1, -1, 312, -1, -1, 315, 316, 317,
963 -1, 272, 273, 274, 275, -1, 41, -1, 279, 44,
964 281, -1, -1, -1, -1, -1, 287, 288, 289, 290,
965 -1, -1, -1, 58, 59, -1, -1, -1, 63, 300,
966 301, -1, 303, 304, 305, 306, 307, 308, 309, -1,
967 -1, 312, -1, -1, 315, 316, 317, -1, -1, -1,
968 -1, -1, 272, 273, 274, 275, -1, 41, 93, 279,
969 44, 281, -1, -1, -1, -1, -1, 287, 288, 289,
970 290, -1, -1, -1, 58, 59, -1, -1, -1, 63,
971 300, 301, -1, 303, 304, 305, 306, 307, 308, 309,
972 -1, -1, 312, -1, -1, 315, 316, 317, -1, -1,
973 -1, -1, -1, 272, 273, 274, 275, -1, -1, 93,
974 279, -1, 272, 273, 274, 275, -1, 41, -1, 279,
975 44, 281, -1, -1, -1, -1, -1, 287, 288, 289,
976 290, 300, 301, -1, 58, 59, -1, -1, -1, 63,
977 300, 301, -1, 303, 304, 305, 306, 307, 308, 309,
978 -1, -1, 312, -1, -1, 315, 316, 317, 272, 273,
979 274, 275, -1, 41, -1, 279, 44, 281, -1, 93,
980 -1, -1, -1, 287, 288, 289, 290, -1, -1, -1,
981 58, 59, -1, -1, -1, 63, 300, 301, -1, 303,
982 304, 305, 306, 307, 308, 309, -1, -1, 312, -1,
983 -1, 315, 316, 317, -1, -1, -1, -1, -1, 41,
984 -1, -1, 44, -1, -1, 93, -1, -1, -1, -1,
985 -1, -1, -1, -1, -1, -1, 58, 59, -1, -1,
986 -1, 63, 41, -1, -1, 44, -1, 272, 273, 274,
987 275, -1, -1, -1, 279, -1, 281, -1, -1, 58,
988 59, -1, 287, 288, 289, 290, -1, -1, -1, -1,
989 -1, 93, -1, -1, -1, 300, 301, -1, 303, 304,
990 305, 306, 307, 308, 309, -1, -1, 312, -1, -1,
991 315, 316, 317, 41, 93, -1, 44, -1, 272, 273,
992 274, 275, 41, -1, -1, 279, -1, 281, -1, -1,
993 58, 59, -1, 287, 288, 289, 290, -1, -1, 58,
994 59, -1, -1, -1, 63, -1, 300, 301, -1, 303,
995 304, 305, 306, 307, 308, 309, -1, -1, 312, -1,
996 -1, 315, 316, 317, -1, 93, -1, -1, -1, -1,
997 -1, -1, -1, -1, 93, -1, -1, -1, 272, 273,
998 274, 275, 41, -1, -1, 279, -1, 281, -1, -1,
999 -1, -1, -1, 287, 288, 289, 290, -1, -1, 58,
1000 59, -1, -1, -1, 63, -1, 300, 301, -1, 303,
1001 304, 305, 306, 307, 308, 309, -1, -1, 312, -1,
1002 -1, 315, 316, 317, 272, 273, 274, 275, 41, -1,
1003 -1, 279, -1, 281, 93, -1, -1, -1, -1, 287,
1004 288, 289, 290, -1, -1, 58, 59, -1, -1, -1,
1005 63, -1, 300, 301, -1, 303, 304, 305, 306, 307,
1006 308, 309, -1, -1, 312, -1, -1, 315, 316, 317,
1007 272, 273, 274, 275, -1, -1, -1, 279, -1, 281,
1008 93, -1, -1, -1, -1, 287, 288, 289, 290, -1,
1009 -1, -1, -1, 272, 273, 274, 275, -1, 300, 301,
1010 279, 303, 304, 305, 306, 307, 308, 309, -1, 41,
1011 312, -1, 44, 315, 316, 317, -1, -1, -1, -1,
1012 -1, 300, 301, -1, 303, -1, 58, 59, -1, -1,
1013 -1, 63, -1, -1, -1, -1, -1, -1, -1, -1,
1014 -1, -1, -1, -1, 272, 273, 274, 275, -1, -1,
1015 -1, 279, -1, 272, 273, 274, 275, -1, -1, -1,
1016 279, 93, 281, -1, -1, -1, -1, -1, 287, 288,
1017 289, 290, 300, 301, -1, -1, -1, -1, -1, -1,
1018 -1, 300, 301, -1, 303, 304, 305, 306, 307, 308,
1019 309, -1, -1, 312, -1, -1, 315, 316, 317, -1,
1020 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1021 -1, -1, -1, 272, 273, 274, 275, -1, -1, -1,
1022 279, 41, 281, -1, 44, -1, -1, -1, 287, 288,
1023 289, 290, -1, -1, -1, -1, -1, -1, 58, 59,
1024 -1, 300, 301, 63, 303, 304, 305, 306, 307, 308,
1025 309, -1, -1, 312, -1, -1, 315, 316, 317, 272,
1026 273, 274, 275, -1, 41, -1, 279, 44, 281, -1,
1027 -1, -1, -1, 93, 287, 288, 289, 290, -1, -1,
1028 -1, 58, 59, -1, -1, -1, 63, 300, 301, -1,
1029 303, 304, 305, 306, 307, 308, 309, 33, -1, 312,
1030 -1, -1, 315, 316, 317, 41, -1, -1, 41, 45,
1031 -1, 44, 48, -1, -1, 51, 93, -1, -1, 55,
1032 56, 57, 58, 59, -1, 58, 59, 63, 64, -1,
1033 63, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1034 272, 273, 274, 275, -1, -1, -1, 279, 41, 281,
1035 -1, 44, -1, -1, -1, 287, 288, 289, 290, -1,
1036 93, -1, 98, -1, -1, 58, 59, -1, 300, 301,
1037 63, 303, 304, 305, 306, 307, 308, 309, -1, -1,
1038 312, -1, -1, -1, -1, -1, 41, -1, -1, 44,
1039 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1040 93, -1, -1, 58, 59, -1, -1, -1, 63, -1,
1041 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1042 -1, -1, -1, -1, 160, 161, 162, 163, 164, 165,
1043 166, 167, 168, 169, 170, 171, 172, 173, 93, -1,
1044 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1045 -1, 187, 272, 273, 274, 275, -1, 41, -1, 279,
1046 44, 281, -1, -1, -1, -1, -1, 287, 288, 289,
1047 290, -1, -1, -1, 58, 59, -1, -1, -1, 63,
1048 300, 301, -1, 303, 304, 305, 306, 307, 308, 309,
1049 -1, -1, 312, -1, -1, 272, 273, 274, 275, -1,
1050 41, -1, 279, 44, 281, -1, -1, -1, -1, 93,
1051 287, 288, 289, 290, -1, -1, -1, 58, 59, -1,
1052 -1, -1, 63, 300, 301, -1, 303, 304, 305, 306,
1053 307, 308, 309, -1, -1, -1, 272, -1, -1, 272,
1054 273, 274, 275, -1, -1, -1, 279, 41, 281, -1,
1055 44, -1, 93, -1, 287, 288, 289, 290, -1, -1,
1056 -1, -1, -1, -1, 58, 59, -1, 300, 301, 305,
1057 303, 304, 305, 306, 307, 308, 309, -1, -1, 272,
1058 273, 274, 275, -1, 41, -1, 279, 44, 281, -1,
1059 -1, -1, -1, -1, 287, 288, 289, 290, -1, 93,
1060 -1, 58, 59, -1, -1, -1, 63, 300, 301, -1,
1061 303, 304, 305, 306, 307, 308, 309, 272, 273, 274,
1062 275, -1, 41, -1, 279, 44, 281, -1, -1, -1,
1063 -1, -1, 287, 288, 289, 290, 93, -1, -1, 58,
1064 59, -1, -1, -1, 63, 300, 301, -1, 303, 304,
1065 305, 306, 307, 308, 309, -1, -1, -1, -1, 41,
1066 -1, -1, 44, -1, -1, -1, -1, -1, -1, -1,
1067 -1, -1, -1, -1, 93, -1, 58, 59, -1, -1,
1068 -1, 63, -1, -1, -1, -1, -1, -1, 272, 273,
1069 274, 275, -1, -1, -1, 279, -1, 281, -1, -1,
1070 -1, -1, -1, 287, 288, 289, 290, 58, -1, -1,
1071 -1, 93, 63, -1, -1, -1, 300, 301, -1, 303,
1072 304, 305, 306, 307, 308, 309, -1, -1, -1, -1,
1073 -1, 272, 273, 274, 275, -1, 41, -1, 279, 44,
1074 281, -1, -1, -1, -1, -1, 287, 288, 289, 290,
1075 -1, -1, -1, 58, 59, -1, -1, -1, 63, 300,
1076 301, -1, 303, 304, 305, 306, 307, 308, 309, -1,
1077 -1, -1, -1, 41, -1, -1, 44, -1, 272, 273,
1078 274, 275, -1, 41, -1, 279, 44, -1, 93, -1,
1079 58, 59, -1, -1, -1, 63, -1, -1, -1, -1,
1080 58, 59, -1, -1, -1, 63, 300, 301, -1, -1,
1081 -1, -1, -1, -1, -1, 272, 273, 274, 275, -1,
1082 41, -1, 279, 44, 281, 93, -1, -1, -1, -1,
1083 287, 288, 289, 290, -1, 93, -1, 58, 59, -1,
1084 -1, -1, 63, 300, 301, -1, 303, 304, 305, 306,
1085 307, 308, 309, 272, 273, 274, 275, -1, 41, -1,
1086 279, 44, 281, -1, -1, -1, -1, -1, 287, 288,
1087 289, 290, 93, -1, -1, 58, 59, -1, -1, -1,
1088 63, 300, 301, -1, 303, 304, 305, 306, 307, 308,
1089 272, 273, 274, 275, -1, 41, -1, 279, 44, 281,
1090 -1, -1, -1, -1, -1, 287, 288, -1, 290, -1,
1091 93, 41, 58, 59, 44, -1, -1, 63, 300, 301,
1092 -1, 303, 304, 305, 306, 307, 308, -1, 58, 59,
1093 281, -1, -1, 63, -1, -1, 287, 288, 289, 290,
1094 -1, -1, -1, -1, -1, -1, -1, 93, -1, -1,
1095 -1, -1, 303, 304, 305, 306, 307, 308, 309, -1,
1096 -1, 312, -1, 93, 315, 316, 317, 272, 273, 274,
1097 275, -1, 41, -1, 279, 44, 281, -1, -1, -1,
1098 -1, -1, 287, 288, -1, -1, -1, -1, -1, 58,
1099 59, -1, -1, -1, 63, 300, 301, -1, 303, 304,
1100 305, 306, 307, -1, 272, 273, 274, 275, -1, 41,
1101 -1, 279, 44, 281, 272, 273, 274, 275, -1, 287,
1102 288, 279, -1, 281, 93, -1, 58, 59, -1, 287,
1103 288, 63, 300, 301, -1, 303, 304, 305, 306, 307,
1104 -1, -1, 300, 301, -1, 303, 304, 305, 306, 307,
1105 -1, 272, 273, 274, 275, -1, -1, -1, 279, -1,
1106 281, 93, -1, -1, -1, -1, 287, 288, -1, -1,
1107 -1, -1, -1, -1, -1, -1, -1, -1, -1, 300,
1108 301, -1, 303, 304, 305, 306, 307, -1, -1, 272,
1109 273, 274, 275, -1, -1, -1, 279, -1, 281, -1,
1110 -1, -1, -1, -1, -1, 288, -1, -1, -1, -1,
1111 -1, -1, -1, -1, -1, -1, -1, 300, 301, -1,
1112 303, 304, 305, 306, 307, -1, 272, 273, 274, 275,
1113 -1, -1, -1, 279, -1, 281, -1, -1, -1, -1,
1114 -1, -1, 272, 273, 274, 275, -1, -1, -1, 279,
1115 -1, 281, -1, -1, 300, 301, -1, 303, 304, 305,
1116 306, 307, -1, -1, -1, -1, -1, -1, -1, -1,
1117 300, 301, -1, 303, 304, 305, 306, -1, -1, -1,
1118 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1119 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1120 -1, -1, -1, 272, 273, 274, 275, -1, -1, -1,
1121 279, -1, 281, -1, -1, -1, -1, -1, -1, -1,
1122 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1123 -1, 300, 301, -1, 303, 304, 305, -1, -1, -1,
1124 272, 273, 274, 275, -1, -1, -1, 279, -1, 281,
1125 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1126 -1, -1, -1, -1, -1, -1, -1, -1, 300, 301,
1133 #define YYMAXTOKEN 317
1135 static char *yyname[] = {
1136 "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,
1137 "'!'",0,0,"'$'","'%'","'&'",0,"'('","')'","'*'","'+'","','","'-'",0,0,0,0,0,0,0,
1138 0,0,0,0,0,"':'","';'",0,0,0,"'?'","'@'",0,0,0,0,0,0,0,0,0,0,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,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,
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,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,"WORD","METHOD","FUNCMETH","THING",
1144 "PMFUNC","PRIVATEREF","FUNC0SUB","UNIOPSUB","LSTOPSUB","LABEL","FORMAT","SUB",
1145 "ANONSUB","PACKAGE","USE","WHILE","UNTIL","IF","UNLESS","ELSE","ELSIF",
1146 "CONTINUE","FOR","LOOPEX","DOTDOT","FUNC0","FUNC1","FUNC","UNIOP","LSTOP",
1147 "RELOP","EQOP","MULOP","ADDOP","DOLSHARP","DO","HASHBRACK","NOAMP","LOCAL","MY",
1148 "MYSUB","COLONATTR","PREC_LOW","OROP","ANDOP","NOTOP","ASSIGNOP","OROR",
1149 "ANDAND","BITOROP","BITANDOP","SHIFTOP","MATCHOP","UMINUS","REFGEN","POWOP",
1150 "PREINC","PREDEC","POSTINC","POSTDEC","ARROW",
1152 static char *yyrule[] = {
1155 "prog : $$1 lineseq",
1156 "block : '{' remember lineseq '}'",
1158 "mblock : '{' mremember lineseq '}'",
1161 "lineseq : lineseq decl",
1162 "lineseq : lineseq line",
1163 "line : label cond",
1166 "line : label sideff ';'",
1169 "sideff : expr IF expr",
1170 "sideff : expr UNLESS expr",
1171 "sideff : expr WHILE expr",
1172 "sideff : expr UNTIL iexpr",
1173 "sideff : expr FOR expr",
1175 "else : ELSE mblock",
1176 "else : ELSIF '(' mexpr ')' mblock else",
1177 "cond : IF '(' remember mexpr ')' mblock else",
1178 "cond : UNLESS '(' remember miexpr ')' mblock else",
1180 "cont : CONTINUE block",
1181 "loop : label WHILE '(' remember mtexpr ')' mblock cont",
1182 "loop : label UNTIL '(' remember miexpr ')' mblock cont",
1183 "loop : label FOR MY remember my_scalar '(' mexpr ')' mblock cont",
1184 "loop : label FOR scalar '(' remember mexpr ')' mblock cont",
1185 "loop : label FOR '(' remember mexpr ')' mblock cont",
1186 "loop : label FOR '(' remember mnexpr ';' mtexpr ';' mnexpr ')' mblock",
1187 "loop : label block cont",
1204 "format : FORMAT startformsub formname block",
1207 "mysubrout : MYSUB startsub subname proto subattrlist subbody",
1208 "subrout : SUB startsub subname proto subattrlist subbody",
1216 "subattrlist : COLONATTR THING",
1217 "subattrlist : COLONATTR",
1218 "myattrlist : COLONATTR THING",
1219 "myattrlist : COLONATTR",
1222 "package : PACKAGE WORD ';'",
1223 "package : PACKAGE ';'",
1225 "use : USE startsub $$2 WORD WORD listexpr ';'",
1226 "expr : expr ANDOP expr",
1227 "expr : expr OROP expr",
1229 "argexpr : argexpr ','",
1230 "argexpr : argexpr ',' term",
1232 "listop : LSTOP indirob argexpr",
1233 "listop : FUNC '(' indirob expr ')'",
1234 "listop : term ARROW method '(' listexprcom ')'",
1235 "listop : term ARROW method",
1236 "listop : METHOD indirob listexpr",
1237 "listop : FUNCMETH indirob '(' listexprcom ')'",
1238 "listop : LSTOP listexpr",
1239 "listop : FUNC '(' listexprcom ')'",
1241 "listop : LSTOPSUB startanonsub block $$3 listexpr",
1244 "subscripted : star '{' expr ';' '}'",
1245 "subscripted : scalar '[' expr ']'",
1246 "subscripted : term ARROW '[' expr ']'",
1247 "subscripted : subscripted '[' expr ']'",
1248 "subscripted : scalar '{' expr ';' '}'",
1249 "subscripted : term ARROW '{' expr ';' '}'",
1250 "subscripted : subscripted '{' expr ';' '}'",
1251 "subscripted : term ARROW '(' ')'",
1252 "subscripted : term ARROW '(' expr ')'",
1253 "subscripted : subscripted '(' expr ')'",
1254 "subscripted : subscripted '(' ')'",
1255 "term : term ASSIGNOP term",
1256 "term : term POWOP term",
1257 "term : term MULOP term",
1258 "term : term ADDOP term",
1259 "term : term SHIFTOP term",
1260 "term : term RELOP term",
1261 "term : term EQOP term",
1262 "term : term BITANDOP term",
1263 "term : term BITOROP term",
1264 "term : term DOTDOT term",
1265 "term : term ANDAND term",
1266 "term : term OROR term",
1267 "term : term '?' term ':' term",
1268 "term : term MATCHOP term",
1273 "term : REFGEN term",
1274 "term : term POSTINC",
1275 "term : term POSTDEC",
1276 "term : PREINC term",
1277 "term : PREDEC term",
1278 "term : myattrterm",
1279 "term : LOCAL term",
1280 "term : '(' expr ')'",
1282 "term : '[' expr ']'",
1284 "term : HASHBRACK expr ';' '}'",
1285 "term : HASHBRACK ';' '}'",
1286 "term : ANONSUB startanonsub proto subattrlist block",
1292 "term : subscripted",
1293 "term : '(' expr ')' '[' expr ']'",
1294 "term : '(' ')' '[' expr ']'",
1295 "term : ary '[' expr ']'",
1296 "term : ary '{' expr ';' '}'",
1299 "term : amper '(' ')'",
1300 "term : amper '(' expr ')'",
1301 "term : NOAMP WORD listexpr",
1304 "term : DO WORD '(' ')'",
1305 "term : DO WORD '(' expr ')'",
1306 "term : DO scalar '(' ')'",
1307 "term : DO scalar '(' expr ')'",
1309 "term : LOOPEX term",
1310 "term : NOTOP argexpr",
1312 "term : UNIOP block",
1313 "term : UNIOP term",
1314 "term : UNIOPSUB term",
1316 "term : FUNC0 '(' ')'",
1318 "term : FUNC1 '(' ')'",
1319 "term : FUNC1 '(' expr ')'",
1320 "term : PMFUNC '(' term ')'",
1321 "term : PMFUNC '(' term ',' term ')'",
1324 "myattrterm : MY myterm myattrlist",
1325 "myattrterm : MY myterm",
1326 "myterm : '(' expr ')'",
1332 "listexpr : argexpr",
1334 "listexprcom : expr",
1335 "listexprcom : expr ','",
1336 "my_scalar : scalar",
1337 "amper : '&' indirob",
1338 "scalar : '$' indirob",
1339 "ary : '@' indirob",
1340 "hsh : '%' indirob",
1341 "arylen : DOLSHARP indirob",
1342 "star : '*' indirob",
1346 "indirob : PRIVATEREF",
1349 #define yyclearin (yychar=(-1))
1350 #define yyerrok (yyerrflag=0)
1353 #define YYMAXDEPTH YYSTACKSIZE
1357 #define YYSTACKSIZE YYMAXDEPTH
1359 #define YYSTACKSIZE 500
1360 #define YYMAXDEPTH 500
1366 /* more stuff added to make perly_c.diff easier to apply */
1371 #define yyparse() Perl_yyparse(pTHX)
1373 #line 1446 "perly.c"
1374 #define YYABORT goto yyabort
1375 #define YYACCEPT goto yyaccept
1376 #define YYERROR goto yyerrlab
1380 register int yym, yyn, yystate;
1381 register short *yyssp;
1382 register YYSTYPE *yyvsp;
1385 unsigned yystacksize = YYSTACKSIZE;
1393 ENTER; /* force yydestruct() before we return */
1395 New(73, ysave, 1, struct ysv);
1396 SAVEDESTRUCTOR_X(yydestruct, ysave);
1397 ysave->oldyydebug = yydebug;
1398 ysave->oldyynerrs = yynerrs;
1399 ysave->oldyyerrflag = yyerrflag;
1400 ysave->oldyychar = yychar;
1401 ysave->oldyyval = yyval;
1402 ysave->oldyylval = yylval;
1405 if (yys = getenv("YYDEBUG"))
1408 if (yyn >= '0' && yyn <= '9')
1409 yydebug = yyn - '0';
1418 ** Initialize private stacks (yyparse may be called from an action)
1420 New(73, yyss, yystacksize, short);
1421 New(73, yyvs, yystacksize, YYSTYPE);
1429 *yyssp = yystate = 0;
1432 if (yyn = yydefred[yystate]) goto yyreduce;
1435 if ((yychar = yylex()) < 0) yychar = 0;
1440 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1441 if (!yys) yys = "illegal-symbol";
1442 PerlIO_printf(Perl_debug_log, "yydebug: state %d, reading %d (%s)\n", yystate,
1447 if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
1448 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1452 PerlIO_printf(Perl_debug_log, "yydebug: state %d, shifting to state %d\n",
1453 yystate, yytable[yyn]);
1455 if (yyssp >= yyss + yystacksize - 1)
1458 ** reallocate and recover. Note that pointers
1459 ** have to be reset, or bad things will happen
1461 int yyps_index = (yyssp - yyss);
1462 int yypv_index = (yyvsp - yyvs);
1463 yystacksize += YYSTACKSIZE;
1464 ysave->yyvs = Renew(yyvs, yystacksize, YYSTYPE);
1465 ysave->yyss = Renew(yyss, yystacksize, short);
1468 yyssp = yyss + yyps_index;
1469 yyvsp = yyvs + yypv_index;
1471 *++yyssp = yystate = yytable[yyn];
1474 if (yyerrflag > 0) --yyerrflag;
1477 if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
1478 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1483 if (yyerrflag) goto yyinrecovery;
1488 yyerror("syntax error");
1500 if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 &&
1501 yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
1505 PerlIO_printf(Perl_debug_log, "yydebug: state %d, error recovery shifting\
1506 to state %d\n", *yyssp, yytable[yyn]);
1508 if (yyssp >= yyss + yystacksize - 1)
1511 ** reallocate and recover. Note that pointers
1512 ** have to be reset, or bad things will happen
1514 int yyps_index = (yyssp - yyss);
1515 int yypv_index = (yyvsp - yyvs);
1516 yystacksize += YYSTACKSIZE;
1517 ysave->yyvs = Renew(yyvs, yystacksize, YYSTYPE);
1518 ysave->yyss = Renew(yyss, yystacksize, short);
1521 yyssp = yyss + yyps_index;
1522 yyvsp = yyvs + yypv_index;
1524 *++yyssp = yystate = yytable[yyn];
1532 PerlIO_printf(Perl_debug_log, "yydebug: error recovery discarding state %d\n",
1535 if (yyssp <= yyss) goto yyabort;
1543 if (yychar == 0) goto yyabort;
1548 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1549 if (!yys) yys = "illegal-symbol";
1550 PerlIO_printf(Perl_debug_log, "yydebug: state %d, error recovery discards token %d (%s)\n",
1551 yystate, yychar, yys);
1560 PerlIO_printf(Perl_debug_log, "yydebug: state %d, reducing by rule %d (%s)\n",
1561 yystate, yyn, yyrule[yyn]);
1564 yyval = yyvsp[1-yym];
1570 #if defined(YYDEBUG) && defined(DEBUGGING)
1571 yydebug = (DEBUG_p_TEST);
1573 PL_expect = XSTATE; yyval.ival = block_start(TRUE);
1578 { newPROG(block_end(yyvsp[-1].ival,yyvsp[0].opval)); }
1582 { if (PL_copline > (line_t)yyvsp[-3].ival)
1583 PL_copline = yyvsp[-3].ival;
1584 yyval.opval = block_end(yyvsp[-2].ival, yyvsp[-1].opval); }
1588 { yyval.ival = block_start(TRUE); }
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(FALSE); }
1602 { yyval.opval = Nullop; }
1606 { yyval.opval = yyvsp[-1].opval; }
1610 { yyval.opval = append_list(OP_LINESEQ,
1611 (LISTOP*)yyvsp[-1].opval, (LISTOP*)yyvsp[0].opval);
1612 PL_pad_reset_pending = TRUE;
1613 if (yyvsp[-1].opval && yyvsp[0].opval) PL_hints |= HINT_BLOCK_SCOPE; }
1617 { yyval.opval = newSTATEOP(0, yyvsp[-1].pval, yyvsp[0].opval); }
1621 { if (yyvsp[-1].pval != Nullch) {
1622 yyval.opval = newSTATEOP(0, yyvsp[-1].pval, newOP(OP_NULL, 0));
1625 yyval.opval = Nullop;
1626 PL_copline = NOLINE;
1628 PL_expect = XSTATE; }
1632 { yyval.opval = newSTATEOP(0, yyvsp[-2].pval, yyvsp[-1].opval);
1633 PL_expect = XSTATE; }
1637 { yyval.opval = Nullop; }
1641 { yyval.opval = yyvsp[0].opval; }
1645 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[0].opval, yyvsp[-2].opval); }
1649 { yyval.opval = newLOGOP(OP_OR, 0, yyvsp[0].opval, yyvsp[-2].opval); }
1653 { yyval.opval = newLOOPOP(OPf_PARENS, 1, scalar(yyvsp[0].opval), yyvsp[-2].opval); }
1657 { yyval.opval = newLOOPOP(OPf_PARENS, 1, yyvsp[0].opval, yyvsp[-2].opval);}
1661 { yyval.opval = newFOROP(0, Nullch, yyvsp[-1].ival,
1662 Nullop, yyvsp[0].opval, yyvsp[-2].opval, Nullop); }
1666 { yyval.opval = Nullop; }
1670 { (yyvsp[0].opval)->op_flags |= OPf_PARENS; yyval.opval = scope(yyvsp[0].opval); }
1674 { PL_copline = yyvsp[-5].ival;
1675 yyval.opval = newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval);
1676 PL_hints |= HINT_BLOCK_SCOPE; }
1680 { PL_copline = yyvsp[-6].ival;
1681 yyval.opval = block_end(yyvsp[-4].ival,
1682 newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval)); }
1686 { PL_copline = yyvsp[-6].ival;
1687 yyval.opval = block_end(yyvsp[-4].ival,
1688 newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval)); }
1692 { yyval.opval = Nullop; }
1696 { yyval.opval = scope(yyvsp[0].opval); }
1700 { PL_copline = yyvsp[-6].ival;
1701 yyval.opval = block_end(yyvsp[-4].ival,
1702 newSTATEOP(0, yyvsp[-7].pval,
1703 newWHILEOP(0, 1, (LOOP*)Nullop,
1704 yyvsp[-6].ival, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval))); }
1708 { PL_copline = yyvsp[-6].ival;
1709 yyval.opval = block_end(yyvsp[-4].ival,
1710 newSTATEOP(0, yyvsp[-7].pval,
1711 newWHILEOP(0, 1, (LOOP*)Nullop,
1712 yyvsp[-6].ival, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval))); }
1716 { yyval.opval = block_end(yyvsp[-6].ival,
1717 newFOROP(0, yyvsp[-9].pval, yyvsp[-8].ival, yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1721 { yyval.opval = block_end(yyvsp[-4].ival,
1722 newFOROP(0, yyvsp[-8].pval, yyvsp[-7].ival, mod(yyvsp[-6].opval, OP_ENTERLOOP),
1723 yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1727 { yyval.opval = block_end(yyvsp[-4].ival,
1728 newFOROP(0, yyvsp[-7].pval, yyvsp[-6].ival, Nullop, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1733 PL_copline = yyvsp[-9].ival;
1734 forop = newSTATEOP(0, yyvsp[-10].pval,
1735 newWHILEOP(0, 1, (LOOP*)Nullop,
1736 yyvsp[-9].ival, scalar(yyvsp[-4].opval),
1737 yyvsp[0].opval, yyvsp[-2].opval));
1738 if (yyvsp[-6].opval) {
1739 forop = append_elem(OP_LINESEQ,
1740 newSTATEOP(0, (yyvsp[-10].pval?savepv(yyvsp[-10].pval):Nullch),
1745 yyval.opval = block_end(yyvsp[-7].ival, forop); }
1749 { yyval.opval = newSTATEOP(0, yyvsp[-2].pval,
1750 newWHILEOP(0, 1, (LOOP*)Nullop,
1751 NOLINE, Nullop, yyvsp[-1].opval, yyvsp[0].opval)); }
1755 { yyval.opval = Nullop; }
1759 { (void)scan_num("1", &yylval); yyval.opval = yylval.opval; }
1763 { yyval.opval = invert(scalar(yyvsp[0].opval)); }
1767 { yyval.opval = yyvsp[0].opval; intro_my(); }
1771 { yyval.opval = yyvsp[0].opval; intro_my(); }
1775 { yyval.opval = yyvsp[0].opval; intro_my(); }
1779 { yyval.opval = yyvsp[0].opval; intro_my(); }
1783 { yyval.pval = Nullch; }
1807 { newFORM(yyvsp[-2].ival, yyvsp[-1].opval, yyvsp[0].opval); }
1811 { yyval.opval = yyvsp[0].opval; }
1815 { yyval.opval = Nullop; }
1819 { newMYSUB(yyvsp[-4].ival, yyvsp[-3].opval, yyvsp[-2].opval, yyvsp[-1].opval, yyvsp[0].opval); }
1823 { newATTRSUB(yyvsp[-4].ival, yyvsp[-3].opval, yyvsp[-2].opval, yyvsp[-1].opval, yyvsp[0].opval); }
1827 { yyval.ival = start_subparse(FALSE, 0); }
1831 { yyval.ival = start_subparse(FALSE, CVf_ANON); }
1835 { yyval.ival = start_subparse(TRUE, 0); }
1839 { STRLEN n_a; char *name = SvPV(((SVOP*)yyvsp[0].opval)->op_sv,n_a);
1840 if (strEQ(name, "BEGIN") || strEQ(name, "END")
1841 || strEQ(name, "INIT") || strEQ(name, "CHECK"))
1842 CvSPECIAL_on(PL_compcv);
1843 yyval.opval = yyvsp[0].opval; }
1847 { yyval.opval = Nullop; }
1851 { yyval.opval = Nullop; }
1855 { yyval.opval = yyvsp[0].opval; }
1859 { yyval.opval = Nullop; }
1863 { yyval.opval = yyvsp[0].opval; }
1867 { yyval.opval = Nullop; }
1871 { yyval.opval = yyvsp[0].opval; }
1875 { yyval.opval = Nullop; PL_expect = XSTATE; }
1879 { package(yyvsp[-1].opval); }
1883 { package(Nullop); }
1887 { CvSPECIAL_on(PL_compcv); /* It's a BEGIN {} */ }
1891 { utilize(yyvsp[-6].ival, yyvsp[-5].ival, yyvsp[-3].opval, yyvsp[-2].opval, yyvsp[-1].opval); }
1895 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1899 { yyval.opval = newLOGOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1903 { yyval.opval = yyvsp[-1].opval; }
1907 { yyval.opval = append_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval); }
1911 { yyval.opval = convert(yyvsp[-2].ival, OPf_STACKED,
1912 prepend_elem(OP_LIST, newGVREF(yyvsp[-2].ival,yyvsp[-1].opval), yyvsp[0].opval) ); }
1916 { yyval.opval = convert(yyvsp[-4].ival, OPf_STACKED,
1917 prepend_elem(OP_LIST, newGVREF(yyvsp[-4].ival,yyvsp[-2].opval), yyvsp[-1].opval) ); }
1921 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1922 append_elem(OP_LIST,
1923 prepend_elem(OP_LIST, scalar(yyvsp[-5].opval), yyvsp[-1].opval),
1924 newUNOP(OP_METHOD, 0, yyvsp[-3].opval))); }
1928 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1929 append_elem(OP_LIST, scalar(yyvsp[-2].opval),
1930 newUNOP(OP_METHOD, 0, yyvsp[0].opval))); }
1934 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1935 append_elem(OP_LIST,
1936 prepend_elem(OP_LIST, yyvsp[-1].opval, yyvsp[0].opval),
1937 newUNOP(OP_METHOD, 0, yyvsp[-2].opval))); }
1941 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1942 append_elem(OP_LIST,
1943 prepend_elem(OP_LIST, yyvsp[-3].opval, yyvsp[-1].opval),
1944 newUNOP(OP_METHOD, 0, yyvsp[-4].opval))); }
1948 { yyval.opval = convert(yyvsp[-1].ival, 0, yyvsp[0].opval); }
1952 { yyval.opval = convert(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
1956 { yyvsp[0].opval = newANONATTRSUB(yyvsp[-1].ival, 0, Nullop, yyvsp[0].opval); }
1960 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
1961 append_elem(OP_LIST,
1962 prepend_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval), yyvsp[-4].opval)); }
1966 { yyval.opval = newBINOP(OP_GELEM, 0, yyvsp[-4].opval, scalar(yyvsp[-2].opval)); }
1970 { yyval.opval = newBINOP(OP_AELEM, 0, oopsAV(yyvsp[-3].opval), scalar(yyvsp[-1].opval)); }
1974 { yyval.opval = newBINOP(OP_AELEM, 0,
1975 ref(newAVREF(yyvsp[-4].opval),OP_RV2AV),
1976 scalar(yyvsp[-1].opval));}
1980 { yyval.opval = newBINOP(OP_AELEM, 0,
1981 ref(newAVREF(yyvsp[-3].opval),OP_RV2AV),
1982 scalar(yyvsp[-1].opval));}
1986 { yyval.opval = newBINOP(OP_HELEM, 0, oopsHV(yyvsp[-4].opval), jmaybe(yyvsp[-2].opval));
1987 PL_expect = XOPERATOR; }
1991 { yyval.opval = newBINOP(OP_HELEM, 0,
1992 ref(newHVREF(yyvsp[-5].opval),OP_RV2HV),
1993 jmaybe(yyvsp[-2].opval));
1994 PL_expect = XOPERATOR; }
1998 { yyval.opval = newBINOP(OP_HELEM, 0,
1999 ref(newHVREF(yyvsp[-4].opval),OP_RV2HV),
2000 jmaybe(yyvsp[-2].opval));
2001 PL_expect = XOPERATOR; }
2005 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2006 newCVREF(0, scalar(yyvsp[-3].opval))); }
2010 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2011 append_elem(OP_LIST, yyvsp[-1].opval,
2012 newCVREF(0, scalar(yyvsp[-4].opval)))); }
2016 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2017 append_elem(OP_LIST, yyvsp[-1].opval,
2018 newCVREF(0, scalar(yyvsp[-3].opval)))); }
2022 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2023 newCVREF(0, scalar(yyvsp[-2].opval))); }
2027 { yyval.opval = newASSIGNOP(OPf_STACKED, yyvsp[-2].opval, yyvsp[-1].ival, yyvsp[0].opval); }
2031 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2035 { if (yyvsp[-1].ival != OP_REPEAT)
2036 scalar(yyvsp[-2].opval);
2037 yyval.opval = newBINOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, scalar(yyvsp[0].opval)); }
2041 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2045 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2049 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2053 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2057 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2061 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2065 { yyval.opval = newRANGE(yyvsp[-1].ival, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval));}
2069 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
2073 { yyval.opval = newLOGOP(OP_OR, 0, yyvsp[-2].opval, yyvsp[0].opval); }
2077 { yyval.opval = newCONDOP(0, yyvsp[-4].opval, yyvsp[-2].opval, yyvsp[0].opval); }
2081 { yyval.opval = bind_match(yyvsp[-1].ival, yyvsp[-2].opval, yyvsp[0].opval); }
2085 { yyval.opval = newUNOP(OP_NEGATE, 0, scalar(yyvsp[0].opval)); }
2089 { yyval.opval = yyvsp[0].opval; }
2093 { yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
2097 { yyval.opval = newUNOP(OP_COMPLEMENT, 0, scalar(yyvsp[0].opval));}
2101 { yyval.opval = newUNOP(OP_REFGEN, 0, mod(yyvsp[0].opval,OP_REFGEN)); }
2105 { yyval.opval = newUNOP(OP_POSTINC, 0,
2106 mod(scalar(yyvsp[-1].opval), OP_POSTINC)); }
2110 { yyval.opval = newUNOP(OP_POSTDEC, 0,
2111 mod(scalar(yyvsp[-1].opval), OP_POSTDEC)); }
2115 { yyval.opval = newUNOP(OP_PREINC, 0,
2116 mod(scalar(yyvsp[0].opval), OP_PREINC)); }
2120 { yyval.opval = newUNOP(OP_PREDEC, 0,
2121 mod(scalar(yyvsp[0].opval), OP_PREDEC)); }
2125 { yyval.opval = yyvsp[0].opval; }
2129 { yyval.opval = localize(yyvsp[0].opval,yyvsp[-1].ival); }
2133 { yyval.opval = sawparens(yyvsp[-1].opval); }
2137 { yyval.opval = sawparens(newNULLLIST()); }
2141 { yyval.opval = newANONLIST(yyvsp[-1].opval); }
2145 { yyval.opval = newANONLIST(Nullop); }
2149 { yyval.opval = newANONHASH(yyvsp[-2].opval); }
2153 { yyval.opval = newANONHASH(Nullop); }
2157 { yyval.opval = newANONATTRSUB(yyvsp[-3].ival, yyvsp[-2].opval, yyvsp[-1].opval, yyvsp[0].opval); }
2161 { yyval.opval = yyvsp[0].opval; }
2165 { yyval.opval = yyvsp[0].opval; }
2169 { yyval.opval = yyvsp[0].opval; }
2173 { yyval.opval = yyvsp[0].opval; }
2177 { yyval.opval = newUNOP(OP_AV2ARYLEN, 0, ref(yyvsp[0].opval, OP_AV2ARYLEN));}
2181 { yyval.opval = yyvsp[0].opval; }
2185 { yyval.opval = newSLICEOP(0, yyvsp[-1].opval, yyvsp[-4].opval); }
2189 { yyval.opval = newSLICEOP(0, yyvsp[-1].opval, Nullop); }
2193 { yyval.opval = prepend_elem(OP_ASLICE,
2194 newOP(OP_PUSHMARK, 0),
2195 newLISTOP(OP_ASLICE, 0,
2196 list(yyvsp[-1].opval),
2197 ref(yyvsp[-3].opval, OP_ASLICE))); }
2201 { yyval.opval = prepend_elem(OP_HSLICE,
2202 newOP(OP_PUSHMARK, 0),
2203 newLISTOP(OP_HSLICE, 0,
2204 list(yyvsp[-2].opval),
2205 ref(oopsHV(yyvsp[-4].opval), OP_HSLICE)));
2206 PL_expect = XOPERATOR; }
2210 { yyval.opval = yyvsp[0].opval; }
2214 { yyval.opval = newUNOP(OP_ENTERSUB, 0, scalar(yyvsp[0].opval)); }
2218 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar(yyvsp[-2].opval)); }
2222 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2223 append_elem(OP_LIST, yyvsp[-1].opval, scalar(yyvsp[-3].opval))); }
2227 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2228 append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); }
2232 { yyval.opval = dofile(yyvsp[0].opval); }
2236 { yyval.opval = newUNOP(OP_NULL, OPf_SPECIAL, scope(yyvsp[0].opval)); }
2240 { yyval.opval = newUNOP(OP_ENTERSUB,
2241 OPf_SPECIAL|OPf_STACKED,
2242 prepend_elem(OP_LIST,
2244 (OPpENTERSUB_AMPER<<8),
2245 scalar(yyvsp[-2].opval)
2246 )),Nullop)); dep();}
2250 { yyval.opval = newUNOP(OP_ENTERSUB,
2251 OPf_SPECIAL|OPf_STACKED,
2252 append_elem(OP_LIST,
2255 (OPpENTERSUB_AMPER<<8),
2256 scalar(yyvsp[-3].opval)
2261 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
2262 prepend_elem(OP_LIST,
2263 scalar(newCVREF(0,scalar(yyvsp[-2].opval))), Nullop)); dep();}
2267 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
2268 prepend_elem(OP_LIST,
2270 scalar(newCVREF(0,scalar(yyvsp[-3].opval))))); dep();}
2274 { yyval.opval = newOP(yyvsp[0].ival, OPf_SPECIAL);
2275 PL_hints |= HINT_BLOCK_SCOPE; }
2279 { yyval.opval = newLOOPEX(yyvsp[-1].ival,yyvsp[0].opval); }
2283 { yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
2287 { yyval.opval = newOP(yyvsp[0].ival, 0); }
2291 { yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2295 { yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2299 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2300 append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); }
2304 { yyval.opval = newOP(yyvsp[0].ival, 0); }
2308 { yyval.opval = newOP(yyvsp[-2].ival, 0); }
2312 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2313 scalar(yyvsp[0].opval)); }
2317 { yyval.opval = newOP(yyvsp[-2].ival, OPf_SPECIAL); }
2321 { yyval.opval = newUNOP(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
2325 { yyval.opval = pmruntime(yyvsp[-3].opval, yyvsp[-1].opval, Nullop); }
2329 { yyval.opval = pmruntime(yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval); }
2333 { yyval.opval = my_attrs(yyvsp[-1].opval,yyvsp[0].opval); }
2337 { yyval.opval = localize(yyvsp[0].opval,yyvsp[-1].ival); }
2341 { yyval.opval = sawparens(yyvsp[-1].opval); }
2345 { yyval.opval = sawparens(newNULLLIST()); }
2349 { yyval.opval = yyvsp[0].opval; }
2353 { yyval.opval = yyvsp[0].opval; }
2357 { yyval.opval = yyvsp[0].opval; }
2361 { yyval.opval = Nullop; }
2365 { yyval.opval = yyvsp[0].opval; }
2369 { yyval.opval = Nullop; }
2373 { yyval.opval = yyvsp[0].opval; }
2377 { yyval.opval = yyvsp[-1].opval; }
2381 { PL_in_my = 0; yyval.opval = my(yyvsp[0].opval); }
2385 { yyval.opval = newCVREF(yyvsp[-1].ival,yyvsp[0].opval); }
2389 { yyval.opval = newSVREF(yyvsp[0].opval); }
2393 { yyval.opval = newAVREF(yyvsp[0].opval); }
2397 { yyval.opval = newHVREF(yyvsp[0].opval); }
2401 { yyval.opval = newAVREF(yyvsp[0].opval); }
2405 { yyval.opval = newGVREF(0,yyvsp[0].opval); }
2409 { yyval.opval = scalar(yyvsp[0].opval); }
2413 { yyval.opval = scalar(yyvsp[0].opval); }
2417 { yyval.opval = scope(yyvsp[0].opval); }
2421 { yyval.opval = yyvsp[0].opval; }
2423 #line 2442 "perly.c"
2429 if (yystate == 0 && yym == 0)
2433 PerlIO_printf(Perl_debug_log, "yydebug: after reduction, shifting from state 0 to\
2434 state %d\n", YYFINAL);
2441 if ((yychar = yylex()) < 0) yychar = 0;
2446 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
2447 if (!yys) yys = "illegal-symbol";
2448 PerlIO_printf(Perl_debug_log, "yydebug: state %d, reading %d (%s)\n",
2449 YYFINAL, yychar, yys);
2453 if (yychar == 0) goto yyaccept;
2456 if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
2457 yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
2458 yystate = yytable[yyn];
2460 yystate = yydgoto[yym];
2463 PerlIO_printf(Perl_debug_log, "yydebug: after reduction, shifting from state %d \
2464 to state %d\n", *yyssp, yystate);
2466 if (yyssp >= yyss + yystacksize - 1)
2469 ** reallocate and recover. Note that pointers
2470 ** have to be reset, or bad things will happen
2472 int yyps_index = (yyssp - yyss);
2473 int yypv_index = (yyvsp - yyvs);
2474 yystacksize += YYSTACKSIZE;
2475 ysave->yyvs = Renew(yyvs, yystacksize, YYSTYPE);
2476 ysave->yyss = Renew(yyss, yystacksize, short);
2479 yyssp = yyss + yyps_index;
2480 yyvsp = yyvs + yypv_index;
2486 yyerror("Out of memory for yacc stack");
2491 LEAVE; /* force yydestruct() before we return */
2501 yydestruct(pTHXo_ void *ptr)
2503 struct ysv* ysave = (struct ysv*)ptr;
2504 if (ysave->yyss) Safefree(ysave->yyss);
2505 if (ysave->yyvs) Safefree(ysave->yyvs);
2506 yydebug = ysave->oldyydebug;
2507 yynerrs = ysave->oldyynerrs;
2508 yyerrflag = ysave->oldyyerrflag;
2509 yychar = ysave->oldyychar;
2510 yyval = ysave->oldyyval;
2511 yylval = ysave->oldyylval;