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
11 #define dep() deprecate("\"do\" to call subroutines")
13 /* stuff included here to make perly_c.diff apply better */
15 #define yydebug PL_yydebug
16 #define yynerrs PL_yynerrs
17 #define yyerrflag PL_yyerrflag
18 #define yychar PL_yychar
19 #define yyval PL_yyval
20 #define yylval PL_yylval
33 static void yydestruct(pTHXo_ void *ptr);
36 #if 0 /* get this from perly.h instead */
48 #define YYLEX_PARAM (&yychar)
53 static short yylhs[] = { -1,
54 50, 0, 8, 6, 9, 7, 10, 10, 10, 11,
55 11, 11, 11, 24, 24, 24, 24, 24, 24, 24,
56 14, 14, 14, 13, 13, 42, 42, 12, 12, 12,
57 12, 12, 12, 12, 26, 26, 27, 27, 28, 29,
58 30, 31, 32, 49, 49, 1, 1, 1, 1, 1,
59 2, 38, 38, 46, 51, 3, 4, 5, 39, 40,
60 40, 44, 44, 44, 45, 45, 41, 41, 52, 52,
61 54, 53, 15, 15, 15, 25, 25, 25, 36, 36,
62 36, 36, 36, 36, 36, 36, 55, 36, 37, 37,
63 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
64 17, 16, 16, 16, 16, 16, 16, 16, 16, 16,
65 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
66 16, 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 47, 47, 48, 48, 48, 48, 48, 33, 33, 34,
72 34, 34, 43, 23, 18, 19, 20, 21, 22, 35,
75 static short yylen[] = { 2,
76 0, 2, 4, 0, 4, 0, 0, 2, 2, 2,
77 1, 2, 3, 1, 1, 3, 3, 3, 3, 3,
78 0, 2, 6, 7, 7, 0, 2, 8, 8, 10,
79 9, 8, 11, 3, 0, 1, 0, 1, 1, 1,
80 1, 1, 1, 0, 1, 1, 1, 1, 1, 1,
81 4, 1, 0, 6, 6, 0, 0, 0, 1, 0,
82 1, 0, 2, 1, 2, 1, 1, 1, 3, 2,
83 0, 7, 3, 3, 1, 2, 3, 1, 3, 5,
84 6, 3, 3, 5, 2, 4, 0, 5, 1, 1,
85 5, 4, 5, 4, 5, 6, 5, 4, 5, 4,
86 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
87 3, 3, 3, 5, 3, 2, 2, 2, 2, 2,
88 2, 2, 2, 2, 1, 2, 3, 2, 3, 2,
89 4, 3, 5, 1, 1, 1, 1, 1, 1, 6,
90 5, 4, 5, 1, 1, 3, 4, 3, 2, 2,
91 4, 5, 4, 5, 1, 2, 2, 1, 2, 2,
92 2, 1, 3, 1, 3, 4, 4, 6, 1, 1,
93 3, 2, 3, 2, 1, 1, 1, 0, 1, 0,
94 1, 2, 1, 2, 2, 2, 2, 2, 2, 1,
97 static short yydefred[] = { 1,
98 0, 7, 0, 45, 58, 56, 0, 56, 56, 8,
99 46, 9, 11, 48, 0, 47, 49, 50, 0, 0,
100 0, 70, 71, 0, 14, 4, 169, 0, 0, 144,
101 0, 164, 0, 57, 57, 0, 0, 0, 0, 0,
102 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
103 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
104 0, 12, 0, 0, 0, 0, 0, 0, 0, 10,
105 0, 0, 0, 0, 0, 136, 138, 0, 0, 0,
106 0, 170, 125, 52, 0, 59, 0, 69, 0, 0,
107 7, 190, 193, 192, 191, 0, 0, 0, 0, 0,
108 0, 4, 4, 4, 4, 4, 4, 0, 0, 0,
109 0, 0, 159, 0, 0, 0, 0, 85, 0, 188,
110 0, 150, 0, 0, 0, 0, 0, 0, 0, 175,
111 177, 176, 0, 184, 0, 0, 0, 0, 0, 0,
112 0, 0, 130, 0, 0, 0, 185, 186, 187, 189,
113 0, 34, 0, 0, 0, 0, 0, 0, 0, 0,
114 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
115 0, 0, 0, 121, 122, 0, 0, 0, 0, 0,
116 0, 0, 0, 0, 0, 13, 0, 51, 61, 0,
117 0, 0, 0, 83, 0, 0, 87, 0, 0, 0,
118 0, 0, 0, 0, 4, 163, 165, 0, 0, 0,
119 0, 0, 0, 0, 132, 0, 148, 174, 0, 0,
120 171, 0, 0, 129, 27, 0, 0, 19, 0, 0,
121 0, 0, 73, 0, 0, 0, 0, 0, 0, 0,
122 0, 0, 0, 0, 0, 0, 0, 0, 89, 0,
123 0, 90, 0, 0, 101, 0, 0, 0, 0, 0,
124 0, 0, 146, 0, 0, 0, 0, 0, 0, 3,
125 0, 0, 167, 0, 0, 0, 42, 0, 43, 0,
126 0, 0, 0, 183, 0, 0, 36, 41, 0, 0,
127 0, 166, 182, 86, 0, 151, 0, 153, 0, 131,
128 173, 65, 0, 0, 0, 0, 98, 0, 0, 0,
129 0, 100, 94, 0, 92, 0, 142, 0, 147, 63,
130 68, 67, 55, 0, 54, 84, 0, 88, 133, 0,
131 0, 0, 0, 0, 0, 0, 0, 80, 152, 154,
132 141, 0, 0, 0, 99, 93, 0, 97, 95, 143,
133 91, 72, 168, 6, 0, 0, 0, 0, 0, 0,
134 0, 0, 140, 96, 81, 7, 28, 29, 0, 0,
135 24, 25, 0, 32, 0, 0, 0, 22, 0, 0,
136 0, 31, 5, 0, 30, 0, 0, 33, 0, 23,
138 static short yydgoto[] = { 1,
139 10, 11, 20, 100, 19, 91, 366, 94, 355, 3,
140 12, 13, 70, 371, 281, 72, 73, 74, 75, 76,
141 77, 78, 79, 287, 81, 288, 277, 279, 282, 290,
142 278, 280, 118, 210, 96, 82, 253, 85, 87, 190,
143 323, 152, 285, 267, 221, 14, 83, 133, 15, 2,
146 static short yysindex[] = { 0,
147 0, 0, -199, 0, 0, 0, -53, 0, 0, 0,
148 0, 0, 0, 0, 646, 0, 0, 0, -217, -207,
149 44, 0, 0, -207, 0, 0, 0, -32, -32, 0,
150 66, 0, 2177, 0, 0, 69, 83, 93, 110, -35,
151 2177, 119, 121, 136, 1013, 973, -32, 1077, 1344, -146,
152 2177, 68, -32, 2177, 2177, 2177, 2177, 2177, 2177, 1384,
153 1424, 0, 2177, 2177, -32, -32, -32, -32, -152, 0,
154 470, 845, -13, -65, -63, 0, 0, 55, 137, 122,
155 138, 0, 0, 0, 60, 0, -70, 0, -66, -70,
156 0, 0, 0, 0, 0, 2177, 146, 2177, 1085, 60,
157 -70, 0, 0, 0, 0, 0, 0, 152, 845, 153,
158 1464, 973, 0, 1085, 0, -65, 138, 0, 2177, 0,
159 160, 0, 1085, 2, 76, -52, 2177, 1085, 1524, 0,
160 0, 0, -96, 0, 138, -181, -181, -181, -112, -112,
161 123, -38, 0, -74, -181, -181, 0, 0, 0, 0,
162 60, 0, 2177, 2177, 2177, 2177, 2177, 2177, 2177, 2177,
163 2177, 2177, 2177, 2177, 2177, 2177, 2177, 2177, 2177, 2177,
164 2177, 2177, 2177, 0, 0, -16, 2177, 1731, 2177, 2177,
165 2177, 2177, 2177, 2177, 1791, 0, 2177, 0, 0, -88,
166 -34, -88, 339, 0, 2177, 287, 0, -88, 2177, 2177,
167 2177, 2177, 173, 1850, 0, 0, 0, -33, 46, 180,
168 2177, 138, 1910, 2025, 0, 97, 0, 0, -31, -29,
169 0, 2177, 133, 0, 0, -237, -237, 0, -237, -237,
170 -237, -69, 0, 1614, 1085, 684, 167, 107, 845, 3800,
171 1125, 405, 1164, 778, -228, -181, -181, 2177, 0, 2117,
172 2177, 0, 197, -48, 0, -9, -72, -45, -7, -42,
173 56, -36, 0, -4, 845, -10, -47, 2177, -47, 0,
174 216, 2177, 0, 2177, 60, -237, 0, 219, 0, 230,
175 -237, 233, 237, 0, 242, 470, 0, 0, 246, 225,
176 2177, 0, 0, 0, 13, 0, 18, 0, 29, 0,
177 0, 0, 61, 2177, 2177, 54, 0, 32, 63, 2177,
178 165, 0, 0, 174, 0, 178, 0, 191, 0, 0,
179 0, 0, 0, 261, 0, 0, 350, 0, 0, 182,
180 182, 182, 182, 2177, 182, 2177, 281, 0, 0, 0,
181 0, 102, 1237, 202, 0, 0, 294, 0, 0, 0,
182 0, 0, 0, 0, -152, -152, -130, -130, 297, -152,
183 290, 182, 0, 0, 0, 0, 0, 0, 182, 318,
184 0, 0, 182, 0, 1850, -152, 407, 0, 2177, -152,
185 324, 0, 0, 326, 0, 182, 182, 0, -130, 0,
187 static short yyrindex[] = { 0,
188 0, 0, 243, 0, 0, 0, 0, 0, 0, 0,
189 0, 0, 0, 0, 0, 0, 0, 0, 236, 0,
190 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
191 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
192 36, 451, 0, 0, 2208, 2271, 0, 0, 0, 0,
193 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
194 0, 0, 0, 0, 0, 0, 0, 0, 115, 0,
195 -12, 939, 2325, 2385, 2463, 0, 0, 2510, 2561, 0,
196 1220, 0, 0, 0, 0, 0, -44, 0, 0, -44,
197 0, 0, 0, 0, 0, 2271, 0, 0, 3846, 0,
198 -105, 0, 0, 0, 0, 0, 0, 0, 2612, 0,
199 0, 327, 0, 3883, 522, 583, 3032, 0, 0, 0,
200 2621, 0, 3893, 2385, 0, 0, 2271, 3930, 0, 0,
201 0, 0, 2667, 0, 3092, 3374, 3418, 3458, 3219, 3331,
202 2746, 0, 0, 0, 3496, 3567, 0, 0, 0, 0,
203 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
204 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
205 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
206 0, 0, 0, 0, 0, 0, 2797, 0, 0, -23,
207 0, -23, 913, 0, 327, 0, 0, 247, 336, 0,
208 0, 0, 0, 333, 0, 0, 0, 0, 352, 0,
209 0, 3138, 0, 0, 0, 0, 0, 0, 0, 2857,
210 0, 0, 2903, 0, 0, -8, -2, 0, 7, 33,
211 42, 2255, 0, -28, 3968, 1822, 3732, 3769, 3023, 0,
212 4119, 4082, 4021, 4005, 1044, 3610, 3694, 0, 0, 0,
213 0, 0, 2949, 0, 0, 0, 0, 0, 0, 0,
214 0, 0, 0, 0, 3657, -21, 0, 345, 0, 0,
215 0, 0, 0, 2271, 0, 71, 0, 0, 0, 0,
216 364, 0, 0, 0, 0, 86, 0, 0, 0, 0,
217 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
218 0, 0, 0, 0, 0, 0, 0, 0, 0, 327,
219 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
220 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
221 0, 0, 0, 0, 0, 355, 0, 0, 0, 0,
222 0, 0, 2972, 0, 0, 0, 0, 0, 0, 0,
223 0, 0, 0, 0, 115, 115, 175, 175, 0, 115,
224 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
225 0, 0, 0, 0, 374, 115, 913, 0, 0, 115,
226 0, 0, 0, 0, 0, 0, 0, 0, 175, 0,
228 static short yygindex[] = { 0,
229 0, 0, 164, 383, 0, 14, 0, 37, 655, -89,
230 0, 0, 0, -336, -15, 3415, 0, 2211, 368, 369,
231 0, 0, 0, 410, 916, 0, 0, 273, -163, 62,
232 94, 249, -71, -186, 634, 0, 0, 0, 428, -46,
233 184, 118, 0, -149, 0, 0, 0, 0, 0, 0,
236 #define YYTABLESIZE 4423
237 static short yytable[] = { 71,
238 65, 193, 223, 65, 107, 22, 216, 292, 271, 301,
239 311, 321, 111, 314, 60, 111, 316, 60, 224, 65,
240 313, 372, 318, 250, 194, 181, 178, 183, 15, 111,
241 111, 312, 18, 126, 111, 62, 319, 64, 39, 84,
242 289, 214, 269, 192, 142, 144, 15, 16, 275, 86,
243 18, 69, 390, 338, 198, 217, 39, 180, 339, 182,
244 163, 164, 158, 159, 111, 16, 4, 5, 6, 340,
245 7, 8, 345, 17, 251, 26, 155, 179, 60, 155,
246 172, 113, 20, 173, 122, 315, 174, 175, 176, 293,
247 26, 17, 181, 155, 155, 208, 209, 9, 155, 62,
248 20, 64, 88, 65, 67, 98, 248, 129, 102, 177,
249 127, 38, 344, 219, 26, 199, 200, 201, 202, 203,
250 204, 188, 103, 347, 180, 151, 40, 337, 155, 38,
251 173, 66, 104, 174, 175, 176, 197, 226, 227, 229,
252 230, 231, 232, 233, 15, 369, 370, 26, 317, 105,
253 26, 26, 26, 341, 26, 346, 26, 26, 110, 26,
254 111, 254, 256, 257, 258, 259, 260, 261, 262, 264,
255 359, 23, 24, 26, 21, 112, 185, 184, 26, 209,
256 186, 187, 26, 276, 227, 195, 227, 225, 286, 189,
257 191, 205, 60, 206, 363, 295, 324, 297, 299, 213,
258 215, 220, 328, 21, 176, 26, 303, 21, 65, 266,
259 21, 21, 21, 222, 21, 384, 21, 21, 291, 21,
260 294, 300, 268, 304, 92, 158, 159, 158, 159, 93,
261 302, 159, 306, 21, 308, 309, 310, 26, 21, 26,
262 26, 249, 2, 111, 111, 111, 111, 158, 159, 320,
263 111, 158, 159, 60, 158, 159, 326, 158, 159, 330,
264 106, 158, 159, 158, 159, 21, 158, 159, 158, 159,
265 331, 111, 111, 332, 111, 44, 377, 333, 44, 44,
266 44, 334, 44, 336, 44, 44, 335, 44, 342, 348,
267 158, 159, 158, 159, 209, 158, 159, 21, 349, 21,
268 21, 44, 350, 322, 354, 322, 44, 155, 155, 155,
269 155, 329, 158, 159, 155, 351, 155, 158, 159, 352,
270 276, 362, 155, 155, 155, 155, 364, 273, 158, 159,
271 272, 158, 159, 44, 365, 155, 155, 373, 155, 155,
272 155, 155, 155, 155, 155, 158, 159, 155, 375, 166,
273 155, 155, 155, 158, 159, 158, 159, 379, 53, 71,
274 158, 159, 158, 159, 386, 44, 387, 180, 44, 62,
275 26, 26, 26, 26, 26, 26, 37, 26, 26, 26,
276 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
277 353, 35, 181, 26, 26, 163, 26, 26, 26, 26,
278 26, 158, 159, 178, 40, 26, 26, 26, 26, 26,
279 26, 26, 166, 37, 35, 172, 26, 101, 173, 131,
280 132, 174, 175, 176, 80, 26, 228, 26, 26, 361,
281 21, 21, 21, 21, 21, 21, 381, 21, 21, 21,
282 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
283 283, 90, 325, 21, 21, 0, 21, 21, 21, 21,
284 21, 0, 0, 270, 0, 21, 21, 21, 21, 21,
285 21, 21, 367, 368, 0, 172, 21, 374, 173, 0,
286 0, 174, 175, 176, 0, 21, 0, 21, 21, 0,
287 0, 162, 0, 382, 162, 0, 0, 385, 44, 44,
288 44, 44, 44, 44, 0, 44, 44, 44, 162, 162,
289 0, 44, 0, 162, 44, 44, 44, 44, 0, 0,
290 0, 44, 44, 0, 44, 44, 44, 44, 44, 0,
291 0, 383, 0, 44, 44, 44, 44, 44, 44, 0,
292 0, 0, 0, 162, 44, 0, 0, 0, 0, 0,
293 0, 0, 0, 44, 190, 44, 44, 190, 190, 190,
294 0, 190, 169, 190, 190, 169, 190, 160, 0, 0,
295 0, 0, 0, 161, 162, 163, 164, 0, 0, 169,
296 169, 0, 0, 0, 169, 190, 0, 0, 0, 165,
297 167, 168, 169, 170, 171, 172, 0, 0, 173, 0,
298 0, 174, 175, 176, 4, 5, 6, 0, 7, 8,
299 0, 0, 190, 0, 169, 191, 0, 0, 191, 191,
300 191, 0, 191, 134, 191, 191, 134, 191, 0, 0,
301 160, 0, 0, 0, 0, 9, 161, 162, 163, 164,
302 134, 134, 0, 0, 0, 134, 191, 190, 0, 0,
303 0, 0, 165, 167, 168, 169, 170, 171, 172, 0,
304 0, 173, 97, 0, 174, 175, 176, 0, 0, 0,
305 0, 0, 4, 5, 6, 134, 7, 8, 55, 119,
306 120, 65, 67, 53, 0, 60, 134, 68, 64, 0,
307 63, 161, 162, 163, 164, 0, 0, 0, 147, 148,
308 149, 150, 0, 9, 62, 0, 0, 0, 191, 66,
309 169, 170, 171, 172, 0, 0, 173, 0, 0, 174,
310 175, 176, 162, 162, 162, 162, 0, 0, 0, 162,
311 0, 162, 0, 0, 0, 0, 61, 162, 162, 162,
312 162, 153, 154, 155, 156, 211, 0, 0, 157, 0,
313 162, 162, 0, 162, 162, 162, 162, 162, 162, 162,
314 0, 0, 162, 0, 0, 162, 162, 162, 26, 158,
315 159, 56, 0, 0, 0, 0, 0, 0, 190, 190,
316 190, 190, 190, 0, 190, 190, 190, 0, 0, 0,
317 190, 0, 0, 169, 169, 169, 169, 0, 0, 0,
318 169, 190, 169, 190, 190, 190, 190, 190, 169, 169,
319 169, 169, 190, 190, 190, 190, 190, 190, 0, 0,
320 0, 169, 169, 190, 169, 169, 169, 169, 169, 169,
321 169, 0, 190, 169, 190, 190, 169, 169, 169, 191,
322 191, 191, 191, 191, 0, 191, 191, 191, 0, 0,
323 0, 191, 0, 0, 134, 134, 134, 134, 0, 0,
324 0, 134, 191, 134, 191, 191, 191, 191, 191, 134,
325 134, 134, 134, 191, 191, 191, 191, 191, 191, 0,
326 0, 0, 134, 134, 191, 134, 134, 134, 134, 134,
327 134, 134, 0, 191, 134, 191, 191, 134, 134, 134,
328 0, 25, 27, 28, 29, 30, 31, 166, 32, 33,
329 34, 0, 0, 0, 35, 0, 0, 36, 37, 38,
330 39, 0, 0, 0, 40, 41, 0, 42, 43, 44,
331 45, 46, 0, 0, 0, 0, 47, 48, 49, 50,
332 51, 52, 0, 0, 0, 44, 0, 54, 44, 44,
333 44, 0, 44, 0, 44, 44, 57, 44, 58, 59,
334 0, 117, 0, 0, 0, 0, 0, 0, 0, 135,
335 161, 44, 163, 164, 0, 0, 44, 0, 0, 78,
336 0, 0, 78, 0, 0, 356, 357, 358, 0, 360,
337 0, 171, 172, 0, 0, 173, 78, 78, 174, 175,
338 176, 0, 0, 44, 0, 55, 0, 0, 65, 67,
339 53, 117, 60, 0, 68, 64, 376, 63, 0, 0,
340 0, 0, 0, 378, 0, 0, 0, 380, 0, 0,
341 0, 78, 0, 0, 212, 44, 66, 0, 44, 0,
342 388, 389, 117, 0, 0, 55, 0, 0, 65, 67,
343 53, 0, 60, 0, 68, 64, 0, 63, 0, 0,
344 0, 0, 0, 61, 161, 162, 163, 164, 0, 0,
345 0, 0, 0, 0, 0, 0, 66, 0, 0, 0,
346 0, 0, 0, 0, 106, 171, 172, 106, 0, 173,
347 0, 0, 174, 175, 176, 26, 0, 0, 56, 0,
348 0, 106, 106, 61, 0, 0, 106, 0, 0, 55,
349 0, 0, 65, 67, 53, 0, 60, 0, 68, 64,
350 0, 63, 0, 0, 0, 160, 0, 0, 0, 0,
351 0, 161, 162, 163, 164, 26, 106, 0, 56, 0,
352 66, 0, 0, 0, 0, 0, 0, 165, 167, 168,
353 169, 170, 171, 172, 0, 0, 173, 0, 0, 174,
354 175, 176, 0, 0, 0, 0, 0, 61, 44, 44,
355 44, 44, 44, 44, 0, 44, 44, 44, 0, 0,
356 0, 44, 0, 117, 44, 44, 44, 44, 0, 117,
357 0, 44, 44, 0, 44, 44, 44, 44, 44, 26,
358 0, 0, 56, 44, 44, 44, 44, 44, 44, 0,
359 78, 78, 78, 78, 44, 0, 0, 78, 0, 0,
360 0, 0, 0, 44, 0, 44, 44, 0, 0, 115,
361 28, 29, 30, 31, 93, 32, 33, 34, 78, 78,
362 0, 35, 0, 0, 0, 0, 0, 0, 0, 0,
363 0, 0, 41, 0, 42, 43, 44, 45, 46, 0,
364 75, 0, 0, 47, 48, 49, 50, 51, 52, 27,
365 28, 29, 30, 31, 54, 32, 33, 34, 75, 0,
366 0, 35, 0, 57, 0, 58, 59, 0, 0, 0,
367 0, 0, 41, 0, 42, 43, 44, 45, 46, 166,
368 0, 0, 0, 47, 48, 49, 50, 51, 52, 0,
369 0, 0, 75, 0, 54, 106, 106, 106, 106, 0,
370 0, 0, 106, 57, 106, 58, 59, 0, 0, 0,
371 106, 106, 0, 121, 28, 29, 30, 31, 0, 32,
372 33, 34, 0, 106, 106, 35, 106, 106, 106, 106,
373 106, 106, 0, 0, 0, 0, 41, 0, 42, 43,
374 44, 45, 46, 0, 0, 0, 0, 47, 48, 49,
375 50, 51, 52, 163, 164, 0, 55, 0, 54, 65,
376 67, 53, 0, 60, 0, 68, 64, 57, 63, 58,
377 59, 0, 171, 172, 0, 0, 173, 0, 0, 174,
378 175, 176, 125, 0, 0, 0, 0, 66, 0, 0,
379 0, 161, 162, 163, 164, 0, 55, 0, 0, 65,
380 67, 53, 0, 60, 141, 68, 64, 0, 63, 168,
381 169, 170, 171, 172, 61, 0, 173, 0, 0, 174,
382 175, 176, 0, 0, 0, 0, 0, 66, 0, 0,
383 161, 162, 163, 164, 0, 0, 55, 0, 0, 65,
384 67, 53, 0, 60, 0, 68, 64, 0, 63, 56,
385 170, 171, 172, 0, 61, 173, 0, 0, 174, 175,
386 176, 0, 0, 0, 0, 0, 0, 66, 0, 0,
387 0, 75, 75, 75, 75, 0, 55, 0, 75, 65,
388 67, 53, 0, 60, 207, 68, 64, 0, 63, 56,
389 0, 0, 0, 0, 61, 0, 143, 160, 0, 75,
390 75, 0, 0, 161, 162, 163, 164, 66, 0, 0,
391 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
392 167, 168, 169, 170, 171, 172, 0, 0, 173, 56,
393 0, 174, 175, 176, 61, 0, 55, 0, 0, 65,
394 67, 53, 0, 60, 218, 68, 64, 0, 63, 0,
395 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
396 0, 0, 0, 0, 0, 0, 0, 66, 0, 56,
397 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
398 27, 28, 29, 30, 31, 0, 32, 33, 34, 0,
399 0, 0, 35, 0, 61, 0, 0, 0, 0, 0,
400 0, 0, 0, 41, 0, 42, 43, 44, 45, 46,
401 0, 0, 0, 0, 47, 48, 49, 50, 51, 52,
402 27, 28, 29, 30, 31, 54, 32, 33, 34, 56,
403 0, 0, 35, 0, 57, 0, 58, 59, 0, 0,
404 0, 0, 0, 41, 0, 42, 43, 44, 45, 46,
405 0, 0, 0, 0, 47, 48, 49, 50, 51, 52,
406 27, 28, 29, 30, 31, 54, 32, 33, 34, 0,
407 0, 0, 35, 0, 57, 0, 58, 59, 0, 0,
408 0, 0, 0, 41, 0, 42, 43, 44, 45, 46,
409 0, 0, 0, 0, 47, 48, 49, 50, 51, 52,
410 27, 28, 29, 30, 31, 54, 32, 33, 34, 0,
411 0, 0, 35, 0, 57, 0, 58, 59, 0, 0,
412 0, 0, 0, 41, 0, 42, 43, 44, 45, 46,
413 0, 0, 0, 0, 47, 48, 49, 50, 51, 52,
414 0, 0, 0, 55, 0, 54, 65, 67, 53, 0,
415 60, 255, 68, 64, 57, 63, 58, 59, 0, 0,
416 27, 28, 29, 30, 31, 0, 32, 33, 34, 0,
417 0, 0, 35, 0, 66, 0, 0, 0, 0, 0,
418 0, 0, 0, 41, 0, 42, 43, 44, 45, 46,
419 0, 0, 0, 0, 47, 48, 49, 50, 51, 52,
420 0, 61, 0, 55, 0, 54, 65, 67, 53, 0,
421 60, 263, 68, 64, 57, 63, 58, 59, 0, 0,
422 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
423 0, 0, 0, 0, 66, 0, 56, 0, 0, 0,
424 0, 0, 108, 0, 0, 108, 0, 0, 0, 0,
425 0, 0, 0, 0, 0, 0, 0, 0, 0, 108,
426 108, 61, 55, 0, 108, 65, 67, 53, 0, 60,
427 0, 68, 64, 0, 63, 0, 0, 0, 0, 0,
428 161, 162, 163, 164, 0, 0, 0, 0, 0, 0,
429 0, 0, 0, 66, 108, 0, 56, 167, 168, 169,
430 170, 171, 172, 0, 0, 173, 0, 0, 174, 175,
431 176, 0, 0, 0, 0, 0, 0, 0, 0, 0,
432 61, 0, 55, 0, 0, 65, 67, 53, 0, 60,
433 296, 68, 64, 0, 63, 0, 0, 0, 0, 0,
434 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
435 0, 0, 0, 66, 0, 56, 0, 0, 0, 0,
436 0, 0, 0, 0, 0, 0, 0, 27, 28, 29,
437 30, 31, 0, 32, 33, 34, 0, 0, 0, 35,
438 61, 0, 0, 0, 0, 0, 0, 0, 0, 0,
439 41, 0, 42, 43, 44, 45, 46, 0, 0, 0,
440 0, 47, 48, 49, 50, 51, 52, 0, 0, 0,
441 0, 0, 54, 0, 0, 56, 0, 0, 0, 0,
442 0, 57, 0, 58, 59, 0, 0, 27, 28, 29,
443 30, 31, 0, 32, 33, 34, 0, 55, 0, 35,
444 65, 67, 53, 0, 60, 298, 68, 64, 0, 63,
445 41, 0, 42, 43, 44, 45, 46, 0, 0, 0,
446 0, 47, 48, 49, 50, 51, 52, 0, 66, 0,
447 0, 0, 54, 108, 108, 108, 108, 0, 0, 0,
448 108, 57, 108, 58, 59, 25, 27, 28, 29, 30,
449 31, 0, 32, 33, 34, 61, 0, 0, 35, 0,
450 0, 108, 108, 0, 108, 108, 108, 108, 108, 41,
451 0, 42, 43, 44, 45, 46, 0, 0, 0, 0,
452 47, 48, 49, 50, 51, 52, 0, 0, 0, 55,
453 56, 54, 65, 67, 53, 0, 60, 307, 68, 64,
454 57, 63, 58, 59, 0, 0, 27, 28, 29, 30,
455 31, 0, 32, 33, 34, 0, 0, 0, 35, 0,
456 66, 0, 0, 0, 0, 0, 0, 0, 0, 41,
457 0, 42, 43, 44, 45, 46, 0, 0, 0, 0,
458 47, 48, 49, 50, 51, 52, 0, 61, 0, 55,
459 0, 54, 65, 67, 53, 0, 60, 0, 68, 64,
460 57, 63, 58, 59, 0, 0, 0, 0, 0, 0,
461 0, 0, 0, 0, 0, 0, 0, 0, 95, 95,
462 66, 0, 56, 0, 0, 0, 0, 0, 158, 0,
463 108, 158, 0, 0, 0, 0, 116, 95, 124, 0,
464 0, 0, 130, 95, 0, 158, 158, 61, 0, 0,
465 158, 0, 0, 0, 0, 95, 95, 95, 95, 0,
466 0, 27, 28, 29, 30, 31, 0, 32, 33, 34,
467 0, 0, 0, 35, 0, 74, 0, 0, 74, 0,
468 158, 0, 56, 0, 41, 0, 42, 43, 44, 45,
469 46, 178, 0, 74, 178, 47, 48, 49, 50, 51,
470 52, 0, 116, 0, 0, 0, 54, 0, 178, 178,
471 0, 0, 0, 178, 0, 57, 0, 58, 59, 0,
472 0, 0, 0, 0, 0, 0, 0, 74, 0, 0,
473 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
474 0, 0, 0, 178, 0, 139, 0, 0, 139, 0,
475 0, 0, 0, 27, 28, 29, 30, 31, 0, 32,
476 33, 34, 139, 139, 0, 35, 252, 139, 0, 0,
477 0, 0, 0, 0, 0, 0, 41, 0, 42, 43,
478 44, 45, 46, 0, 0, 0, 0, 47, 48, 49,
479 50, 51, 52, 284, 0, 0, 0, 139, 54, 0,
480 0, 0, 0, 0, 0, 134, 0, 57, 134, 58,
481 59, 0, 0, 27, 28, 29, 30, 31, 0, 32,
482 33, 34, 134, 134, 0, 35, 0, 134, 0, 0,
483 0, 0, 0, 0, 0, 0, 41, 0, 42, 43,
484 44, 45, 46, 0, 0, 0, 0, 47, 48, 49,
485 50, 51, 52, 0, 0, 0, 0, 134, 54, 158,
486 158, 158, 158, 0, 0, 0, 158, 57, 158, 58,
487 59, 0, 0, 0, 158, 158, 158, 158, 0, 0,
488 0, 0, 0, 137, 0, 0, 137, 158, 158, 0,
489 158, 158, 158, 158, 158, 158, 158, 0, 0, 158,
490 137, 137, 158, 158, 158, 137, 74, 74, 74, 74,
491 0, 0, 0, 74, 0, 0, 0, 0, 0, 0,
492 0, 0, 178, 178, 178, 178, 0, 0, 0, 178,
493 135, 178, 0, 135, 74, 137, 0, 178, 178, 178,
494 178, 0, 0, 0, 0, 0, 0, 135, 135, 0,
495 178, 178, 135, 178, 178, 178, 178, 178, 178, 178,
496 0, 0, 178, 0, 0, 178, 178, 178, 0, 0,
497 0, 0, 0, 0, 0, 0, 139, 139, 139, 139,
498 0, 145, 135, 139, 145, 139, 0, 0, 0, 0,
499 0, 139, 139, 139, 139, 0, 0, 0, 145, 145,
500 0, 0, 0, 145, 139, 139, 0, 139, 139, 139,
501 139, 139, 139, 139, 0, 0, 139, 0, 0, 139,
502 139, 139, 0, 0, 0, 0, 0, 0, 0, 0,
503 0, 0, 156, 145, 0, 156, 134, 134, 134, 134,
504 0, 169, 0, 134, 169, 134, 0, 0, 0, 156,
505 156, 134, 134, 134, 134, 0, 0, 0, 169, 169,
506 0, 0, 0, 169, 134, 134, 0, 134, 134, 134,
507 134, 134, 134, 134, 0, 0, 134, 0, 0, 134,
508 134, 134, 0, 0, 156, 0, 0, 172, 0, 0,
509 172, 0, 0, 169, 0, 0, 0, 0, 0, 0,
510 0, 0, 0, 0, 172, 172, 0, 0, 0, 172,
511 0, 0, 0, 0, 137, 137, 137, 137, 0, 0,
512 0, 137, 0, 137, 0, 0, 0, 0, 0, 137,
513 137, 137, 137, 0, 0, 0, 0, 0, 0, 172,
514 0, 0, 137, 137, 0, 137, 137, 137, 137, 137,
515 137, 137, 0, 0, 137, 0, 0, 137, 137, 137,
516 0, 135, 135, 135, 135, 0, 128, 0, 135, 128,
517 135, 0, 0, 0, 0, 0, 135, 135, 135, 135,
518 0, 0, 0, 128, 128, 0, 0, 0, 128, 135,
519 135, 0, 135, 135, 135, 135, 135, 135, 135, 0,
520 0, 135, 0, 0, 135, 135, 135, 0, 0, 0,
521 0, 0, 145, 145, 145, 145, 0, 76, 128, 145,
522 76, 145, 0, 0, 0, 0, 0, 145, 145, 145,
523 145, 0, 0, 0, 76, 76, 0, 0, 0, 76,
524 145, 145, 0, 145, 145, 145, 145, 145, 145, 145,
525 0, 0, 145, 0, 0, 145, 145, 145, 0, 0,
526 0, 0, 0, 156, 156, 156, 156, 0, 0, 76,
527 156, 0, 169, 169, 169, 169, 0, 66, 0, 169,
528 66, 169, 0, 0, 0, 0, 0, 169, 169, 169,
529 169, 156, 156, 0, 66, 66, 0, 0, 0, 66,
530 169, 169, 0, 169, 169, 169, 169, 169, 169, 169,
531 0, 0, 169, 0, 0, 169, 169, 169, 172, 172,
532 172, 172, 0, 127, 0, 172, 127, 172, 0, 66,
533 0, 0, 0, 172, 172, 172, 172, 0, 0, 0,
534 127, 127, 0, 0, 0, 127, 172, 172, 0, 172,
535 172, 172, 172, 172, 172, 172, 0, 0, 172, 0,
536 0, 172, 172, 172, 0, 0, 0, 0, 0, 82,
537 0, 0, 82, 0, 0, 127, 0, 0, 0, 0,
538 0, 0, 0, 0, 0, 0, 82, 82, 0, 0,
539 0, 82, 114, 0, 0, 114, 0, 128, 128, 128,
540 128, 0, 0, 0, 128, 0, 128, 0, 0, 114,
541 114, 0, 128, 128, 128, 128, 0, 0, 0, 0,
542 0, 82, 0, 0, 0, 128, 128, 0, 128, 128,
543 128, 128, 128, 128, 128, 0, 0, 128, 0, 0,
544 128, 128, 128, 102, 114, 0, 102, 0, 76, 76,
545 76, 76, 179, 0, 0, 76, 0, 76, 0, 0,
546 102, 102, 0, 76, 76, 76, 76, 0, 0, 179,
547 179, 0, 0, 0, 179, 0, 76, 76, 0, 76,
548 76, 76, 76, 76, 76, 76, 0, 0, 76, 0,
549 0, 76, 76, 76, 0, 102, 0, 0, 0, 0,
550 0, 0, 0, 0, 179, 0, 0, 0, 66, 66,
551 66, 66, 157, 0, 0, 66, 0, 66, 0, 0,
552 0, 0, 0, 66, 66, 66, 66, 0, 0, 157,
553 157, 0, 0, 0, 157, 0, 66, 66, 0, 66,
554 66, 66, 66, 66, 66, 66, 0, 0, 66, 0,
555 0, 66, 66, 66, 127, 127, 127, 127, 79, 0,
556 0, 127, 0, 127, 157, 0, 0, 0, 0, 127,
557 127, 127, 127, 0, 0, 79, 79, 0, 0, 0,
558 79, 0, 127, 127, 0, 127, 127, 127, 127, 127,
559 127, 127, 0, 0, 127, 0, 0, 127, 127, 127,
560 82, 82, 82, 82, 0, 0, 0, 82, 0, 82,
561 79, 0, 0, 0, 0, 82, 82, 82, 82, 0,
562 0, 0, 0, 114, 114, 114, 114, 0, 82, 82,
563 114, 82, 82, 82, 82, 82, 82, 82, 0, 123,
564 82, 0, 123, 82, 82, 82, 0, 0, 0, 0,
565 0, 114, 114, 0, 114, 0, 123, 123, 0, 0,
566 0, 123, 0, 0, 0, 0, 0, 0, 0, 0,
567 0, 0, 0, 0, 102, 102, 102, 102, 0, 0,
568 0, 102, 0, 179, 179, 179, 179, 0, 0, 0,
569 179, 123, 179, 0, 0, 0, 0, 0, 179, 179,
570 179, 179, 102, 102, 0, 0, 0, 0, 0, 0,
571 0, 179, 179, 0, 179, 179, 179, 179, 179, 179,
572 179, 0, 0, 179, 0, 0, 179, 179, 179, 0,
573 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
574 0, 0, 0, 157, 157, 157, 157, 0, 0, 0,
575 157, 124, 157, 0, 124, 0, 0, 0, 157, 157,
576 157, 157, 0, 0, 0, 0, 0, 0, 124, 124,
577 0, 157, 157, 124, 157, 157, 157, 157, 157, 157,
578 157, 0, 0, 157, 0, 0, 157, 157, 157, 79,
579 79, 79, 79, 0, 118, 0, 79, 118, 79, 0,
580 0, 0, 0, 124, 79, 79, 79, 79, 0, 0,
581 0, 118, 118, 0, 0, 0, 118, 79, 79, 0,
582 79, 79, 79, 79, 79, 79, 79, 99, 0, 79,
583 0, 0, 79, 79, 79, 109, 0, 0, 119, 114,
584 0, 119, 123, 0, 0, 128, 118, 0, 0, 136,
585 137, 138, 139, 140, 0, 119, 119, 145, 146, 0,
586 119, 0, 0, 0, 0, 0, 0, 0, 0, 0,
587 123, 123, 123, 123, 0, 0, 0, 123, 120, 123,
588 0, 120, 0, 0, 0, 123, 123, 123, 123, 0,
589 119, 0, 196, 0, 0, 120, 120, 0, 123, 123,
590 120, 123, 123, 123, 123, 123, 123, 123, 0, 0,
591 123, 0, 0, 0, 0, 0, 116, 0, 0, 116,
592 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
593 120, 0, 0, 116, 116, 0, 0, 0, 116, 0,
594 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
595 0, 0, 0, 0, 234, 235, 236, 237, 238, 239,
596 240, 241, 242, 243, 244, 245, 246, 247, 116, 0,
597 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
598 0, 265, 124, 124, 124, 124, 0, 117, 0, 124,
599 117, 124, 0, 0, 0, 0, 0, 124, 124, 124,
600 124, 0, 0, 0, 117, 117, 0, 0, 0, 117,
601 124, 124, 0, 124, 124, 124, 124, 124, 124, 124,
602 0, 0, 124, 0, 0, 118, 118, 118, 118, 0,
603 115, 0, 118, 115, 118, 0, 0, 0, 0, 117,
604 118, 118, 118, 118, 0, 0, 0, 115, 115, 0,
605 0, 0, 115, 118, 118, 0, 118, 118, 118, 118,
606 118, 118, 118, 0, 0, 0, 327, 0, 0, 119,
607 119, 119, 119, 0, 0, 0, 119, 77, 119, 0,
608 77, 0, 115, 0, 119, 119, 119, 119, 0, 0,
609 0, 0, 0, 0, 77, 77, 0, 119, 119, 343,
610 119, 119, 119, 119, 119, 119, 119, 0, 0, 120,
611 120, 120, 120, 0, 103, 0, 120, 103, 120, 0,
612 0, 0, 0, 0, 120, 120, 120, 120, 0, 77,
613 0, 103, 103, 0, 0, 0, 103, 120, 120, 0,
614 120, 120, 120, 120, 120, 120, 120, 116, 116, 116,
615 116, 0, 104, 0, 116, 104, 116, 0, 0, 0,
616 0, 0, 116, 116, 116, 116, 103, 0, 0, 104,
617 104, 0, 0, 0, 104, 116, 116, 0, 116, 116,
618 116, 116, 116, 116, 116, 0, 0, 0, 0, 105,
619 0, 0, 105, 0, 0, 0, 0, 0, 0, 0,
620 0, 0, 0, 0, 104, 0, 105, 105, 0, 0,
621 0, 105, 0, 0, 0, 0, 0, 0, 117, 117,
622 117, 117, 0, 0, 0, 117, 0, 117, 0, 0,
623 0, 0, 0, 117, 117, 117, 117, 305, 0, 0,
624 0, 105, 166, 0, 0, 0, 117, 117, 0, 117,
625 117, 117, 117, 117, 117, 117, 0, 0, 0, 0,
626 0, 115, 115, 115, 115, 0, 161, 0, 115, 161,
627 115, 0, 0, 0, 0, 0, 115, 115, 115, 115,
628 0, 0, 0, 161, 161, 0, 0, 0, 161, 115,
629 115, 0, 115, 115, 115, 115, 115, 115, 115, 0,
630 0, 0, 0, 160, 0, 0, 160, 0, 77, 77,
631 77, 77, 0, 149, 0, 77, 149, 0, 161, 0,
632 160, 160, 0, 0, 0, 160, 0, 0, 0, 0,
633 149, 149, 0, 0, 0, 149, 77, 77, 0, 0,
634 0, 0, 0, 0, 0, 103, 103, 103, 103, 0,
635 126, 0, 103, 126, 103, 160, 0, 0, 0, 0,
636 103, 103, 103, 103, 0, 149, 0, 126, 126, 0,
637 0, 0, 126, 103, 103, 0, 103, 103, 103, 103,
638 103, 103, 103, 104, 104, 104, 104, 0, 107, 0,
639 104, 107, 104, 0, 0, 0, 0, 0, 104, 104,
640 104, 104, 126, 0, 0, 107, 107, 0, 0, 0,
641 107, 104, 104, 0, 104, 104, 104, 104, 104, 104,
642 105, 105, 105, 105, 0, 109, 0, 105, 109, 105,
643 0, 0, 0, 0, 0, 105, 105, 0, 105, 0,
644 107, 110, 109, 109, 110, 0, 0, 109, 105, 105,
645 0, 105, 105, 105, 105, 105, 105, 0, 110, 110,
646 160, 0, 0, 110, 0, 0, 161, 162, 163, 164,
647 0, 0, 0, 0, 0, 0, 0, 109, 0, 0,
648 0, 0, 165, 167, 168, 169, 170, 171, 172, 0,
649 0, 173, 0, 110, 174, 175, 176, 161, 161, 161,
650 161, 0, 112, 0, 161, 112, 161, 0, 0, 0,
651 0, 0, 161, 161, 0, 0, 0, 0, 0, 112,
652 112, 0, 0, 0, 112, 161, 161, 0, 161, 161,
653 161, 161, 161, 0, 160, 160, 160, 160, 0, 113,
654 0, 160, 113, 160, 149, 149, 149, 149, 0, 160,
655 160, 149, 0, 149, 112, 0, 113, 113, 0, 149,
656 149, 113, 160, 160, 0, 160, 160, 160, 160, 160,
657 0, 0, 149, 149, 0, 149, 149, 149, 149, 149,
658 0, 126, 126, 126, 126, 0, 0, 0, 126, 0,
659 126, 113, 0, 0, 0, 0, 126, 126, 0, 0,
660 0, 0, 0, 0, 0, 0, 0, 0, 0, 126,
661 126, 0, 126, 126, 126, 126, 126, 0, 0, 107,
662 107, 107, 107, 0, 0, 0, 107, 0, 107, 0,
663 0, 0, 0, 0, 0, 107, 0, 0, 0, 0,
664 0, 0, 0, 0, 0, 0, 0, 107, 107, 0,
665 107, 107, 107, 107, 107, 0, 109, 109, 109, 109,
666 0, 0, 0, 109, 0, 109, 0, 0, 0, 0,
667 0, 0, 110, 110, 110, 110, 0, 0, 0, 110,
668 0, 110, 0, 0, 109, 109, 0, 109, 109, 109,
669 109, 109, 0, 0, 0, 0, 0, 0, 0, 0,
670 110, 110, 0, 110, 110, 110, 110, 0, 0, 0,
671 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
672 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
673 0, 0, 0, 112, 112, 112, 112, 0, 0, 0,
674 112, 0, 112, 0, 0, 0, 0, 0, 0, 0,
675 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
676 0, 112, 112, 0, 112, 112, 112, 0, 0, 0,
677 113, 113, 113, 113, 0, 0, 0, 113, 0, 113,
678 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
679 0, 0, 0, 0, 0, 0, 0, 0, 113, 113,
682 static short yycheck[] = { 15,
683 36, 91, 41, 36, 40, 59, 59, 41, 195, 41,
684 59, 59, 41, 59, 59, 44, 59, 123, 93, 36,
685 93, 358, 59, 40, 96, 91, 40, 91, 41, 58,
686 59, 41, 41, 49, 63, 59, 41, 59, 41, 257,
687 204, 40, 192, 90, 60, 61, 59, 41, 198, 257,
688 59, 15, 389, 41, 101, 127, 59, 123, 41, 123,
689 289, 290, 300, 301, 93, 59, 266, 267, 268, 41,
690 270, 271, 41, 41, 91, 123, 41, 91, 123, 44,
691 309, 45, 41, 312, 48, 93, 315, 316, 317, 44,
692 123, 59, 91, 58, 59, 111, 112, 297, 63, 123,
693 59, 123, 59, 36, 37, 40, 123, 40, 40, 123,
694 257, 41, 59, 129, 0, 102, 103, 104, 105, 106,
695 107, 85, 40, 310, 123, 278, 41, 291, 93, 59,
696 312, 64, 40, 315, 316, 317, 100, 153, 154, 155,
697 156, 157, 158, 159, 59, 276, 277, 33, 93, 40,
698 36, 37, 38, 93, 40, 93, 42, 43, 40, 45,
699 40, 177, 178, 179, 180, 181, 182, 183, 184, 185,
700 334, 8, 9, 59, 0, 40, 40, 123, 64, 195,
701 59, 44, 123, 199, 200, 40, 202, 151, 204, 260,
702 257, 40, 298, 41, 93, 211, 268, 213, 214, 40,
703 125, 298, 274, 257, 317, 91, 222, 33, 36, 298,
704 36, 37, 38, 91, 40, 379, 42, 43, 205, 45,
705 41, 125, 257, 91, 257, 300, 301, 300, 301, 262,
706 260, 301, 248, 59, 250, 251, 40, 123, 64, 125,
707 126, 258, 0, 272, 273, 274, 275, 300, 301, 260,
708 279, 300, 301, 298, 300, 301, 41, 300, 301, 41,
709 296, 300, 301, 300, 301, 91, 300, 301, 300, 301,
710 41, 300, 301, 41, 303, 33, 366, 41, 36, 37,
711 38, 40, 40, 59, 42, 43, 41, 45, 304, 125,
712 300, 301, 300, 301, 310, 300, 301, 123, 125, 125,
713 126, 59, 125, 267, 123, 269, 64, 272, 273, 274,
714 275, 275, 300, 301, 279, 125, 281, 300, 301, 59,
715 336, 41, 287, 288, 289, 290, 125, 41, 300, 301,
716 44, 300, 301, 91, 41, 300, 301, 41, 303, 304,
717 305, 306, 307, 308, 309, 300, 301, 312, 59, 63,
718 315, 316, 317, 300, 301, 300, 301, 40, 123, 375,
719 300, 301, 300, 301, 41, 123, 41, 41, 126, 123,
720 256, 257, 258, 259, 260, 261, 41, 263, 264, 265,
721 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
722 41, 59, 41, 279, 280, 289, 282, 283, 284, 285,
723 286, 300, 301, 59, 41, 291, 292, 293, 294, 295,
724 296, 297, 63, 59, 41, 309, 302, 35, 312, 52,
725 52, 315, 316, 317, 15, 311, 154, 313, 314, 336,
726 256, 257, 258, 259, 260, 261, 375, 263, 264, 265,
727 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
728 202, 24, 269, 279, 280, -1, 282, 283, 284, 285,
729 286, -1, -1, 125, -1, 291, 292, 293, 294, 295,
730 296, 297, 355, 356, -1, 309, 302, 360, 312, -1,
731 -1, 315, 316, 317, -1, 311, -1, 313, 314, -1,
732 -1, 41, -1, 376, 44, -1, -1, 380, 256, 257,
733 258, 259, 260, 261, -1, 263, 264, 265, 58, 59,
734 -1, 269, -1, 63, 272, 273, 274, 275, -1, -1,
735 -1, 279, 280, -1, 282, 283, 284, 285, 286, -1,
736 -1, 125, -1, 291, 292, 293, 294, 295, 296, -1,
737 -1, -1, -1, 93, 302, -1, -1, -1, -1, -1,
738 -1, -1, -1, 311, 33, 313, 314, 36, 37, 38,
739 -1, 40, 41, 42, 43, 44, 45, 281, -1, -1,
740 -1, -1, -1, 287, 288, 289, 290, -1, -1, 58,
741 59, -1, -1, -1, 63, 64, -1, -1, -1, 303,
742 304, 305, 306, 307, 308, 309, -1, -1, 312, -1,
743 -1, 315, 316, 317, 266, 267, 268, -1, 270, 271,
744 -1, -1, 91, -1, 93, 33, -1, -1, 36, 37,
745 38, -1, 40, 41, 42, 43, 44, 45, -1, -1,
746 281, -1, -1, -1, -1, 297, 287, 288, 289, 290,
747 58, 59, -1, -1, -1, 63, 64, 126, -1, -1,
748 -1, -1, 303, 304, 305, 306, 307, 308, 309, -1,
749 -1, 312, 29, -1, 315, 316, 317, -1, -1, -1,
750 -1, -1, 266, 267, 268, 93, 270, 271, 33, 46,
751 47, 36, 37, 38, -1, 40, 53, 42, 43, -1,
752 45, 287, 288, 289, 290, -1, -1, -1, 65, 66,
753 67, 68, -1, 297, 59, -1, -1, -1, 126, 64,
754 306, 307, 308, 309, -1, -1, 312, -1, -1, 315,
755 316, 317, 272, 273, 274, 275, -1, -1, -1, 279,
756 -1, 281, -1, -1, -1, -1, 91, 287, 288, 289,
757 290, 272, 273, 274, 275, 112, -1, -1, 279, -1,
758 300, 301, -1, 303, 304, 305, 306, 307, 308, 309,
759 -1, -1, 312, -1, -1, 315, 316, 317, 123, 300,
760 301, 126, -1, -1, -1, -1, -1, -1, 257, 258,
761 259, 260, 261, -1, 263, 264, 265, -1, -1, -1,
762 269, -1, -1, 272, 273, 274, 275, -1, -1, -1,
763 279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
764 289, 290, 291, 292, 293, 294, 295, 296, -1, -1,
765 -1, 300, 301, 302, 303, 304, 305, 306, 307, 308,
766 309, -1, 311, 312, 313, 314, 315, 316, 317, 257,
767 258, 259, 260, 261, -1, 263, 264, 265, -1, -1,
768 -1, 269, -1, -1, 272, 273, 274, 275, -1, -1,
769 -1, 279, 280, 281, 282, 283, 284, 285, 286, 287,
770 288, 289, 290, 291, 292, 293, 294, 295, 296, -1,
771 -1, -1, 300, 301, 302, 303, 304, 305, 306, 307,
772 308, 309, -1, 311, 312, 313, 314, 315, 316, 317,
773 -1, 256, 257, 258, 259, 260, 261, 63, 263, 264,
774 265, -1, -1, -1, 269, -1, -1, 272, 273, 274,
775 275, -1, -1, -1, 279, 280, -1, 282, 283, 284,
776 285, 286, -1, -1, -1, -1, 291, 292, 293, 294,
777 295, 296, -1, -1, -1, 33, -1, 302, 36, 37,
778 38, -1, 40, -1, 42, 43, 311, 45, 313, 314,
779 -1, 46, -1, -1, -1, -1, -1, -1, -1, 54,
780 287, 59, 289, 290, -1, -1, 64, -1, -1, 41,
781 -1, -1, 44, -1, -1, 331, 332, 333, -1, 335,
782 -1, 308, 309, -1, -1, 312, 58, 59, 315, 316,
783 317, -1, -1, 91, -1, 33, -1, -1, 36, 37,
784 38, 96, 40, -1, 42, 43, 362, 45, -1, -1,
785 -1, -1, -1, 369, -1, -1, -1, 373, -1, -1,
786 -1, 93, -1, -1, 119, 123, 64, -1, 126, -1,
787 386, 387, 127, -1, -1, 33, -1, -1, 36, 37,
788 38, -1, 40, -1, 42, 43, -1, 45, -1, -1,
789 -1, -1, -1, 91, 287, 288, 289, 290, -1, -1,
790 -1, -1, -1, -1, -1, -1, 64, -1, -1, -1,
791 -1, -1, -1, -1, 41, 308, 309, 44, -1, 312,
792 -1, -1, 315, 316, 317, 123, -1, -1, 126, -1,
793 -1, 58, 59, 91, -1, -1, 63, -1, -1, 33,
794 -1, -1, 36, 37, 38, -1, 40, -1, 42, 43,
795 -1, 45, -1, -1, -1, 281, -1, -1, -1, -1,
796 -1, 287, 288, 289, 290, 123, 93, -1, 126, -1,
797 64, -1, -1, -1, -1, -1, -1, 303, 304, 305,
798 306, 307, 308, 309, -1, -1, 312, -1, -1, 315,
799 316, 317, -1, -1, -1, -1, -1, 91, 256, 257,
800 258, 259, 260, 261, -1, 263, 264, 265, -1, -1,
801 -1, 269, -1, 268, 272, 273, 274, 275, -1, 274,
802 -1, 279, 280, -1, 282, 283, 284, 285, 286, 123,
803 -1, -1, 126, 291, 292, 293, 294, 295, 296, -1,
804 272, 273, 274, 275, 302, -1, -1, 279, -1, -1,
805 -1, -1, -1, 311, -1, 313, 314, -1, -1, 257,
806 258, 259, 260, 261, 262, 263, 264, 265, 300, 301,
807 -1, 269, -1, -1, -1, -1, -1, -1, -1, -1,
808 -1, -1, 280, -1, 282, 283, 284, 285, 286, -1,
809 41, -1, -1, 291, 292, 293, 294, 295, 296, 257,
810 258, 259, 260, 261, 302, 263, 264, 265, 59, -1,
811 -1, 269, -1, 311, -1, 313, 314, -1, -1, -1,
812 -1, -1, 280, -1, 282, 283, 284, 285, 286, 63,
813 -1, -1, -1, 291, 292, 293, 294, 295, 296, -1,
814 -1, -1, 93, -1, 302, 272, 273, 274, 275, -1,
815 -1, -1, 279, 311, 281, 313, 314, -1, -1, -1,
816 287, 288, -1, 257, 258, 259, 260, 261, -1, 263,
817 264, 265, -1, 300, 301, 269, 303, 304, 305, 306,
818 307, 308, -1, -1, -1, -1, 280, -1, 282, 283,
819 284, 285, 286, -1, -1, -1, -1, 291, 292, 293,
820 294, 295, 296, 289, 290, -1, 33, -1, 302, 36,
821 37, 38, -1, 40, -1, 42, 43, 311, 45, 313,
822 314, -1, 308, 309, -1, -1, 312, -1, -1, 315,
823 316, 317, 59, -1, -1, -1, -1, 64, -1, -1,
824 -1, 287, 288, 289, 290, -1, 33, -1, -1, 36,
825 37, 38, -1, 40, 41, 42, 43, -1, 45, 305,
826 306, 307, 308, 309, 91, -1, 312, -1, -1, 315,
827 316, 317, -1, -1, -1, -1, -1, 64, -1, -1,
828 287, 288, 289, 290, -1, -1, 33, -1, -1, 36,
829 37, 38, -1, 40, -1, 42, 43, -1, 45, 126,
830 307, 308, 309, -1, 91, 312, -1, -1, 315, 316,
831 317, -1, -1, -1, -1, -1, -1, 64, -1, -1,
832 -1, 272, 273, 274, 275, -1, 33, -1, 279, 36,
833 37, 38, -1, 40, 41, 42, 43, -1, 45, 126,
834 -1, -1, -1, -1, 91, -1, 93, 281, -1, 300,
835 301, -1, -1, 287, 288, 289, 290, 64, -1, -1,
836 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
837 304, 305, 306, 307, 308, 309, -1, -1, 312, 126,
838 -1, 315, 316, 317, 91, -1, 33, -1, -1, 36,
839 37, 38, -1, 40, 41, 42, 43, -1, 45, -1,
840 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
841 -1, -1, -1, -1, -1, -1, -1, 64, -1, 126,
842 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
843 257, 258, 259, 260, 261, -1, 263, 264, 265, -1,
844 -1, -1, 269, -1, 91, -1, -1, -1, -1, -1,
845 -1, -1, -1, 280, -1, 282, 283, 284, 285, 286,
846 -1, -1, -1, -1, 291, 292, 293, 294, 295, 296,
847 257, 258, 259, 260, 261, 302, 263, 264, 265, 126,
848 -1, -1, 269, -1, 311, -1, 313, 314, -1, -1,
849 -1, -1, -1, 280, -1, 282, 283, 284, 285, 286,
850 -1, -1, -1, -1, 291, 292, 293, 294, 295, 296,
851 257, 258, 259, 260, 261, 302, 263, 264, 265, -1,
852 -1, -1, 269, -1, 311, -1, 313, 314, -1, -1,
853 -1, -1, -1, 280, -1, 282, 283, 284, 285, 286,
854 -1, -1, -1, -1, 291, 292, 293, 294, 295, 296,
855 257, 258, 259, 260, 261, 302, 263, 264, 265, -1,
856 -1, -1, 269, -1, 311, -1, 313, 314, -1, -1,
857 -1, -1, -1, 280, -1, 282, 283, 284, 285, 286,
858 -1, -1, -1, -1, 291, 292, 293, 294, 295, 296,
859 -1, -1, -1, 33, -1, 302, 36, 37, 38, -1,
860 40, 41, 42, 43, 311, 45, 313, 314, -1, -1,
861 257, 258, 259, 260, 261, -1, 263, 264, 265, -1,
862 -1, -1, 269, -1, 64, -1, -1, -1, -1, -1,
863 -1, -1, -1, 280, -1, 282, 283, 284, 285, 286,
864 -1, -1, -1, -1, 291, 292, 293, 294, 295, 296,
865 -1, 91, -1, 33, -1, 302, 36, 37, 38, -1,
866 40, 41, 42, 43, 311, 45, 313, 314, -1, -1,
867 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
868 -1, -1, -1, -1, 64, -1, 126, -1, -1, -1,
869 -1, -1, 41, -1, -1, 44, -1, -1, -1, -1,
870 -1, -1, -1, -1, -1, -1, -1, -1, -1, 58,
871 59, 91, 33, -1, 63, 36, 37, 38, -1, 40,
872 -1, 42, 43, -1, 45, -1, -1, -1, -1, -1,
873 287, 288, 289, 290, -1, -1, -1, -1, -1, -1,
874 -1, -1, -1, 64, 93, -1, 126, 304, 305, 306,
875 307, 308, 309, -1, -1, 312, -1, -1, 315, 316,
876 317, -1, -1, -1, -1, -1, -1, -1, -1, -1,
877 91, -1, 33, -1, -1, 36, 37, 38, -1, 40,
878 41, 42, 43, -1, 45, -1, -1, -1, -1, -1,
879 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
880 -1, -1, -1, 64, -1, 126, -1, -1, -1, -1,
881 -1, -1, -1, -1, -1, -1, -1, 257, 258, 259,
882 260, 261, -1, 263, 264, 265, -1, -1, -1, 269,
883 91, -1, -1, -1, -1, -1, -1, -1, -1, -1,
884 280, -1, 282, 283, 284, 285, 286, -1, -1, -1,
885 -1, 291, 292, 293, 294, 295, 296, -1, -1, -1,
886 -1, -1, 302, -1, -1, 126, -1, -1, -1, -1,
887 -1, 311, -1, 313, 314, -1, -1, 257, 258, 259,
888 260, 261, -1, 263, 264, 265, -1, 33, -1, 269,
889 36, 37, 38, -1, 40, 41, 42, 43, -1, 45,
890 280, -1, 282, 283, 284, 285, 286, -1, -1, -1,
891 -1, 291, 292, 293, 294, 295, 296, -1, 64, -1,
892 -1, -1, 302, 272, 273, 274, 275, -1, -1, -1,
893 279, 311, 281, 313, 314, 256, 257, 258, 259, 260,
894 261, -1, 263, 264, 265, 91, -1, -1, 269, -1,
895 -1, 300, 301, -1, 303, 304, 305, 306, 307, 280,
896 -1, 282, 283, 284, 285, 286, -1, -1, -1, -1,
897 291, 292, 293, 294, 295, 296, -1, -1, -1, 33,
898 126, 302, 36, 37, 38, -1, 40, 41, 42, 43,
899 311, 45, 313, 314, -1, -1, 257, 258, 259, 260,
900 261, -1, 263, 264, 265, -1, -1, -1, 269, -1,
901 64, -1, -1, -1, -1, -1, -1, -1, -1, 280,
902 -1, 282, 283, 284, 285, 286, -1, -1, -1, -1,
903 291, 292, 293, 294, 295, 296, -1, 91, -1, 33,
904 -1, 302, 36, 37, 38, -1, 40, -1, 42, 43,
905 311, 45, 313, 314, -1, -1, -1, -1, -1, -1,
906 -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
907 64, -1, 126, -1, -1, -1, -1, -1, 41, -1,
908 40, 44, -1, -1, -1, -1, 46, 47, 48, -1,
909 -1, -1, 52, 53, -1, 58, 59, 91, -1, -1,
910 63, -1, -1, -1, -1, 65, 66, 67, 68, -1,
911 -1, 257, 258, 259, 260, 261, -1, 263, 264, 265,
912 -1, -1, -1, 269, -1, 41, -1, -1, 44, -1,
913 93, -1, 126, -1, 280, -1, 282, 283, 284, 285,
914 286, 41, -1, 59, 44, 291, 292, 293, 294, 295,
915 296, -1, 112, -1, -1, -1, 302, -1, 58, 59,
916 -1, -1, -1, 63, -1, 311, -1, 313, 314, -1,
917 -1, -1, -1, -1, -1, -1, -1, 93, -1, -1,
918 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
919 -1, -1, -1, 93, -1, 41, -1, -1, 44, -1,
920 -1, -1, -1, 257, 258, 259, 260, 261, -1, 263,
921 264, 265, 58, 59, -1, 269, 176, 63, -1, -1,
922 -1, -1, -1, -1, -1, -1, 280, -1, 282, 283,
923 284, 285, 286, -1, -1, -1, -1, 291, 292, 293,
924 294, 295, 296, 203, -1, -1, -1, 93, 302, -1,
925 -1, -1, -1, -1, -1, 41, -1, 311, 44, 313,
926 314, -1, -1, 257, 258, 259, 260, 261, -1, 263,
927 264, 265, 58, 59, -1, 269, -1, 63, -1, -1,
928 -1, -1, -1, -1, -1, -1, 280, -1, 282, 283,
929 284, 285, 286, -1, -1, -1, -1, 291, 292, 293,
930 294, 295, 296, -1, -1, -1, -1, 93, 302, 272,
931 273, 274, 275, -1, -1, -1, 279, 311, 281, 313,
932 314, -1, -1, -1, 287, 288, 289, 290, -1, -1,
933 -1, -1, -1, 41, -1, -1, 44, 300, 301, -1,
934 303, 304, 305, 306, 307, 308, 309, -1, -1, 312,
935 58, 59, 315, 316, 317, 63, 272, 273, 274, 275,
936 -1, -1, -1, 279, -1, -1, -1, -1, -1, -1,
937 -1, -1, 272, 273, 274, 275, -1, -1, -1, 279,
938 41, 281, -1, 44, 300, 93, -1, 287, 288, 289,
939 290, -1, -1, -1, -1, -1, -1, 58, 59, -1,
940 300, 301, 63, 303, 304, 305, 306, 307, 308, 309,
941 -1, -1, 312, -1, -1, 315, 316, 317, -1, -1,
942 -1, -1, -1, -1, -1, -1, 272, 273, 274, 275,
943 -1, 41, 93, 279, 44, 281, -1, -1, -1, -1,
944 -1, 287, 288, 289, 290, -1, -1, -1, 58, 59,
945 -1, -1, -1, 63, 300, 301, -1, 303, 304, 305,
946 306, 307, 308, 309, -1, -1, 312, -1, -1, 315,
947 316, 317, -1, -1, -1, -1, -1, -1, -1, -1,
948 -1, -1, 41, 93, -1, 44, 272, 273, 274, 275,
949 -1, 41, -1, 279, 44, 281, -1, -1, -1, 58,
950 59, 287, 288, 289, 290, -1, -1, -1, 58, 59,
951 -1, -1, -1, 63, 300, 301, -1, 303, 304, 305,
952 306, 307, 308, 309, -1, -1, 312, -1, -1, 315,
953 316, 317, -1, -1, 93, -1, -1, 41, -1, -1,
954 44, -1, -1, 93, -1, -1, -1, -1, -1, -1,
955 -1, -1, -1, -1, 58, 59, -1, -1, -1, 63,
956 -1, -1, -1, -1, 272, 273, 274, 275, -1, -1,
957 -1, 279, -1, 281, -1, -1, -1, -1, -1, 287,
958 288, 289, 290, -1, -1, -1, -1, -1, -1, 93,
959 -1, -1, 300, 301, -1, 303, 304, 305, 306, 307,
960 308, 309, -1, -1, 312, -1, -1, 315, 316, 317,
961 -1, 272, 273, 274, 275, -1, 41, -1, 279, 44,
962 281, -1, -1, -1, -1, -1, 287, 288, 289, 290,
963 -1, -1, -1, 58, 59, -1, -1, -1, 63, 300,
964 301, -1, 303, 304, 305, 306, 307, 308, 309, -1,
965 -1, 312, -1, -1, 315, 316, 317, -1, -1, -1,
966 -1, -1, 272, 273, 274, 275, -1, 41, 93, 279,
967 44, 281, -1, -1, -1, -1, -1, 287, 288, 289,
968 290, -1, -1, -1, 58, 59, -1, -1, -1, 63,
969 300, 301, -1, 303, 304, 305, 306, 307, 308, 309,
970 -1, -1, 312, -1, -1, 315, 316, 317, -1, -1,
971 -1, -1, -1, 272, 273, 274, 275, -1, -1, 93,
972 279, -1, 272, 273, 274, 275, -1, 41, -1, 279,
973 44, 281, -1, -1, -1, -1, -1, 287, 288, 289,
974 290, 300, 301, -1, 58, 59, -1, -1, -1, 63,
975 300, 301, -1, 303, 304, 305, 306, 307, 308, 309,
976 -1, -1, 312, -1, -1, 315, 316, 317, 272, 273,
977 274, 275, -1, 41, -1, 279, 44, 281, -1, 93,
978 -1, -1, -1, 287, 288, 289, 290, -1, -1, -1,
979 58, 59, -1, -1, -1, 63, 300, 301, -1, 303,
980 304, 305, 306, 307, 308, 309, -1, -1, 312, -1,
981 -1, 315, 316, 317, -1, -1, -1, -1, -1, 41,
982 -1, -1, 44, -1, -1, 93, -1, -1, -1, -1,
983 -1, -1, -1, -1, -1, -1, 58, 59, -1, -1,
984 -1, 63, 41, -1, -1, 44, -1, 272, 273, 274,
985 275, -1, -1, -1, 279, -1, 281, -1, -1, 58,
986 59, -1, 287, 288, 289, 290, -1, -1, -1, -1,
987 -1, 93, -1, -1, -1, 300, 301, -1, 303, 304,
988 305, 306, 307, 308, 309, -1, -1, 312, -1, -1,
989 315, 316, 317, 41, 93, -1, 44, -1, 272, 273,
990 274, 275, 41, -1, -1, 279, -1, 281, -1, -1,
991 58, 59, -1, 287, 288, 289, 290, -1, -1, 58,
992 59, -1, -1, -1, 63, -1, 300, 301, -1, 303,
993 304, 305, 306, 307, 308, 309, -1, -1, 312, -1,
994 -1, 315, 316, 317, -1, 93, -1, -1, -1, -1,
995 -1, -1, -1, -1, 93, -1, -1, -1, 272, 273,
996 274, 275, 41, -1, -1, 279, -1, 281, -1, -1,
997 -1, -1, -1, 287, 288, 289, 290, -1, -1, 58,
998 59, -1, -1, -1, 63, -1, 300, 301, -1, 303,
999 304, 305, 306, 307, 308, 309, -1, -1, 312, -1,
1000 -1, 315, 316, 317, 272, 273, 274, 275, 41, -1,
1001 -1, 279, -1, 281, 93, -1, -1, -1, -1, 287,
1002 288, 289, 290, -1, -1, 58, 59, -1, -1, -1,
1003 63, -1, 300, 301, -1, 303, 304, 305, 306, 307,
1004 308, 309, -1, -1, 312, -1, -1, 315, 316, 317,
1005 272, 273, 274, 275, -1, -1, -1, 279, -1, 281,
1006 93, -1, -1, -1, -1, 287, 288, 289, 290, -1,
1007 -1, -1, -1, 272, 273, 274, 275, -1, 300, 301,
1008 279, 303, 304, 305, 306, 307, 308, 309, -1, 41,
1009 312, -1, 44, 315, 316, 317, -1, -1, -1, -1,
1010 -1, 300, 301, -1, 303, -1, 58, 59, -1, -1,
1011 -1, 63, -1, -1, -1, -1, -1, -1, -1, -1,
1012 -1, -1, -1, -1, 272, 273, 274, 275, -1, -1,
1013 -1, 279, -1, 272, 273, 274, 275, -1, -1, -1,
1014 279, 93, 281, -1, -1, -1, -1, -1, 287, 288,
1015 289, 290, 300, 301, -1, -1, -1, -1, -1, -1,
1016 -1, 300, 301, -1, 303, 304, 305, 306, 307, 308,
1017 309, -1, -1, 312, -1, -1, 315, 316, 317, -1,
1018 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1019 -1, -1, -1, 272, 273, 274, 275, -1, -1, -1,
1020 279, 41, 281, -1, 44, -1, -1, -1, 287, 288,
1021 289, 290, -1, -1, -1, -1, -1, -1, 58, 59,
1022 -1, 300, 301, 63, 303, 304, 305, 306, 307, 308,
1023 309, -1, -1, 312, -1, -1, 315, 316, 317, 272,
1024 273, 274, 275, -1, 41, -1, 279, 44, 281, -1,
1025 -1, -1, -1, 93, 287, 288, 289, 290, -1, -1,
1026 -1, 58, 59, -1, -1, -1, 63, 300, 301, -1,
1027 303, 304, 305, 306, 307, 308, 309, 33, -1, 312,
1028 -1, -1, 315, 316, 317, 41, -1, -1, 41, 45,
1029 -1, 44, 48, -1, -1, 51, 93, -1, -1, 55,
1030 56, 57, 58, 59, -1, 58, 59, 63, 64, -1,
1031 63, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1032 272, 273, 274, 275, -1, -1, -1, 279, 41, 281,
1033 -1, 44, -1, -1, -1, 287, 288, 289, 290, -1,
1034 93, -1, 98, -1, -1, 58, 59, -1, 300, 301,
1035 63, 303, 304, 305, 306, 307, 308, 309, -1, -1,
1036 312, -1, -1, -1, -1, -1, 41, -1, -1, 44,
1037 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1038 93, -1, -1, 58, 59, -1, -1, -1, 63, -1,
1039 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1040 -1, -1, -1, -1, 160, 161, 162, 163, 164, 165,
1041 166, 167, 168, 169, 170, 171, 172, 173, 93, -1,
1042 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1043 -1, 187, 272, 273, 274, 275, -1, 41, -1, 279,
1044 44, 281, -1, -1, -1, -1, -1, 287, 288, 289,
1045 290, -1, -1, -1, 58, 59, -1, -1, -1, 63,
1046 300, 301, -1, 303, 304, 305, 306, 307, 308, 309,
1047 -1, -1, 312, -1, -1, 272, 273, 274, 275, -1,
1048 41, -1, 279, 44, 281, -1, -1, -1, -1, 93,
1049 287, 288, 289, 290, -1, -1, -1, 58, 59, -1,
1050 -1, -1, 63, 300, 301, -1, 303, 304, 305, 306,
1051 307, 308, 309, -1, -1, -1, 272, -1, -1, 272,
1052 273, 274, 275, -1, -1, -1, 279, 41, 281, -1,
1053 44, -1, 93, -1, 287, 288, 289, 290, -1, -1,
1054 -1, -1, -1, -1, 58, 59, -1, 300, 301, 305,
1055 303, 304, 305, 306, 307, 308, 309, -1, -1, 272,
1056 273, 274, 275, -1, 41, -1, 279, 44, 281, -1,
1057 -1, -1, -1, -1, 287, 288, 289, 290, -1, 93,
1058 -1, 58, 59, -1, -1, -1, 63, 300, 301, -1,
1059 303, 304, 305, 306, 307, 308, 309, 272, 273, 274,
1060 275, -1, 41, -1, 279, 44, 281, -1, -1, -1,
1061 -1, -1, 287, 288, 289, 290, 93, -1, -1, 58,
1062 59, -1, -1, -1, 63, 300, 301, -1, 303, 304,
1063 305, 306, 307, 308, 309, -1, -1, -1, -1, 41,
1064 -1, -1, 44, -1, -1, -1, -1, -1, -1, -1,
1065 -1, -1, -1, -1, 93, -1, 58, 59, -1, -1,
1066 -1, 63, -1, -1, -1, -1, -1, -1, 272, 273,
1067 274, 275, -1, -1, -1, 279, -1, 281, -1, -1,
1068 -1, -1, -1, 287, 288, 289, 290, 58, -1, -1,
1069 -1, 93, 63, -1, -1, -1, 300, 301, -1, 303,
1070 304, 305, 306, 307, 308, 309, -1, -1, -1, -1,
1071 -1, 272, 273, 274, 275, -1, 41, -1, 279, 44,
1072 281, -1, -1, -1, -1, -1, 287, 288, 289, 290,
1073 -1, -1, -1, 58, 59, -1, -1, -1, 63, 300,
1074 301, -1, 303, 304, 305, 306, 307, 308, 309, -1,
1075 -1, -1, -1, 41, -1, -1, 44, -1, 272, 273,
1076 274, 275, -1, 41, -1, 279, 44, -1, 93, -1,
1077 58, 59, -1, -1, -1, 63, -1, -1, -1, -1,
1078 58, 59, -1, -1, -1, 63, 300, 301, -1, -1,
1079 -1, -1, -1, -1, -1, 272, 273, 274, 275, -1,
1080 41, -1, 279, 44, 281, 93, -1, -1, -1, -1,
1081 287, 288, 289, 290, -1, 93, -1, 58, 59, -1,
1082 -1, -1, 63, 300, 301, -1, 303, 304, 305, 306,
1083 307, 308, 309, 272, 273, 274, 275, -1, 41, -1,
1084 279, 44, 281, -1, -1, -1, -1, -1, 287, 288,
1085 289, 290, 93, -1, -1, 58, 59, -1, -1, -1,
1086 63, 300, 301, -1, 303, 304, 305, 306, 307, 308,
1087 272, 273, 274, 275, -1, 41, -1, 279, 44, 281,
1088 -1, -1, -1, -1, -1, 287, 288, -1, 290, -1,
1089 93, 41, 58, 59, 44, -1, -1, 63, 300, 301,
1090 -1, 303, 304, 305, 306, 307, 308, -1, 58, 59,
1091 281, -1, -1, 63, -1, -1, 287, 288, 289, 290,
1092 -1, -1, -1, -1, -1, -1, -1, 93, -1, -1,
1093 -1, -1, 303, 304, 305, 306, 307, 308, 309, -1,
1094 -1, 312, -1, 93, 315, 316, 317, 272, 273, 274,
1095 275, -1, 41, -1, 279, 44, 281, -1, -1, -1,
1096 -1, -1, 287, 288, -1, -1, -1, -1, -1, 58,
1097 59, -1, -1, -1, 63, 300, 301, -1, 303, 304,
1098 305, 306, 307, -1, 272, 273, 274, 275, -1, 41,
1099 -1, 279, 44, 281, 272, 273, 274, 275, -1, 287,
1100 288, 279, -1, 281, 93, -1, 58, 59, -1, 287,
1101 288, 63, 300, 301, -1, 303, 304, 305, 306, 307,
1102 -1, -1, 300, 301, -1, 303, 304, 305, 306, 307,
1103 -1, 272, 273, 274, 275, -1, -1, -1, 279, -1,
1104 281, 93, -1, -1, -1, -1, 287, 288, -1, -1,
1105 -1, -1, -1, -1, -1, -1, -1, -1, -1, 300,
1106 301, -1, 303, 304, 305, 306, 307, -1, -1, 272,
1107 273, 274, 275, -1, -1, -1, 279, -1, 281, -1,
1108 -1, -1, -1, -1, -1, 288, -1, -1, -1, -1,
1109 -1, -1, -1, -1, -1, -1, -1, 300, 301, -1,
1110 303, 304, 305, 306, 307, -1, 272, 273, 274, 275,
1111 -1, -1, -1, 279, -1, 281, -1, -1, -1, -1,
1112 -1, -1, 272, 273, 274, 275, -1, -1, -1, 279,
1113 -1, 281, -1, -1, 300, 301, -1, 303, 304, 305,
1114 306, 307, -1, -1, -1, -1, -1, -1, -1, -1,
1115 300, 301, -1, 303, 304, 305, 306, -1, -1, -1,
1116 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1117 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1118 -1, -1, -1, 272, 273, 274, 275, -1, -1, -1,
1119 279, -1, 281, -1, -1, -1, -1, -1, -1, -1,
1120 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1121 -1, 300, 301, -1, 303, 304, 305, -1, -1, -1,
1122 272, 273, 274, 275, -1, -1, -1, 279, -1, 281,
1123 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1124 -1, -1, -1, -1, -1, -1, -1, -1, 300, 301,
1131 #define YYMAXTOKEN 317
1133 static char *yyname[] = {
1134 "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,
1135 "'!'",0,0,"'$'","'%'","'&'",0,"'('","')'","'*'","'+'","','","'-'",0,0,0,0,0,0,0,
1136 0,0,0,0,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,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,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,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,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,"WORD","METHOD","FUNCMETH","THING",
1142 "PMFUNC","PRIVATEREF","FUNC0SUB","UNIOPSUB","LSTOPSUB","LABEL","FORMAT","SUB",
1143 "ANONSUB","PACKAGE","USE","WHILE","UNTIL","IF","UNLESS","ELSE","ELSIF",
1144 "CONTINUE","FOR","LOOPEX","DOTDOT","FUNC0","FUNC1","FUNC","UNIOP","LSTOP",
1145 "RELOP","EQOP","MULOP","ADDOP","DOLSHARP","DO","HASHBRACK","NOAMP","LOCAL","MY",
1146 "MYSUB","COLONATTR","PREC_LOW","OROP","ANDOP","NOTOP","ASSIGNOP","OROR",
1147 "ANDAND","BITOROP","BITANDOP","SHIFTOP","MATCHOP","UMINUS","REFGEN","POWOP",
1148 "PREINC","PREDEC","POSTINC","POSTDEC","ARROW",
1150 static char *yyrule[] = {
1153 "prog : $$1 lineseq",
1154 "block : '{' remember lineseq '}'",
1156 "mblock : '{' mremember lineseq '}'",
1159 "lineseq : lineseq decl",
1160 "lineseq : lineseq line",
1161 "line : label cond",
1164 "line : label sideff ';'",
1167 "sideff : expr IF expr",
1168 "sideff : expr UNLESS expr",
1169 "sideff : expr WHILE expr",
1170 "sideff : expr UNTIL iexpr",
1171 "sideff : expr FOR expr",
1173 "else : ELSE mblock",
1174 "else : ELSIF '(' mexpr ')' mblock else",
1175 "cond : IF '(' remember mexpr ')' mblock else",
1176 "cond : UNLESS '(' remember miexpr ')' mblock else",
1178 "cont : CONTINUE block",
1179 "loop : label WHILE '(' remember mtexpr ')' mblock cont",
1180 "loop : label UNTIL '(' remember miexpr ')' mblock cont",
1181 "loop : label FOR MY remember my_scalar '(' mexpr ')' mblock cont",
1182 "loop : label FOR scalar '(' remember mexpr ')' mblock cont",
1183 "loop : label FOR '(' remember mexpr ')' mblock cont",
1184 "loop : label FOR '(' remember mnexpr ';' mtexpr ';' mnexpr ')' mblock",
1185 "loop : label block cont",
1202 "format : FORMAT startformsub formname block",
1205 "mysubrout : MYSUB startsub subname proto subattrlist subbody",
1206 "subrout : SUB startsub subname proto subattrlist subbody",
1214 "subattrlist : COLONATTR THING",
1215 "subattrlist : COLONATTR",
1216 "myattrlist : COLONATTR THING",
1217 "myattrlist : COLONATTR",
1220 "package : PACKAGE WORD ';'",
1221 "package : PACKAGE ';'",
1223 "use : USE startsub $$2 WORD WORD listexpr ';'",
1224 "expr : expr ANDOP expr",
1225 "expr : expr OROP expr",
1227 "argexpr : argexpr ','",
1228 "argexpr : argexpr ',' term",
1230 "listop : LSTOP indirob argexpr",
1231 "listop : FUNC '(' indirob expr ')'",
1232 "listop : term ARROW method '(' listexprcom ')'",
1233 "listop : term ARROW method",
1234 "listop : METHOD indirob listexpr",
1235 "listop : FUNCMETH indirob '(' listexprcom ')'",
1236 "listop : LSTOP listexpr",
1237 "listop : FUNC '(' listexprcom ')'",
1239 "listop : LSTOPSUB startanonsub block $$3 listexpr",
1242 "subscripted : star '{' expr ';' '}'",
1243 "subscripted : scalar '[' expr ']'",
1244 "subscripted : term ARROW '[' expr ']'",
1245 "subscripted : subscripted '[' expr ']'",
1246 "subscripted : scalar '{' expr ';' '}'",
1247 "subscripted : term ARROW '{' expr ';' '}'",
1248 "subscripted : subscripted '{' expr ';' '}'",
1249 "subscripted : term ARROW '(' ')'",
1250 "subscripted : term ARROW '(' expr ')'",
1251 "subscripted : subscripted '(' expr ')'",
1252 "subscripted : subscripted '(' ')'",
1253 "term : term ASSIGNOP term",
1254 "term : term POWOP term",
1255 "term : term MULOP term",
1256 "term : term ADDOP term",
1257 "term : term SHIFTOP term",
1258 "term : term RELOP term",
1259 "term : term EQOP term",
1260 "term : term BITANDOP term",
1261 "term : term BITOROP term",
1262 "term : term DOTDOT term",
1263 "term : term ANDAND term",
1264 "term : term OROR term",
1265 "term : term '?' term ':' term",
1266 "term : term MATCHOP term",
1271 "term : REFGEN term",
1272 "term : term POSTINC",
1273 "term : term POSTDEC",
1274 "term : PREINC term",
1275 "term : PREDEC term",
1276 "term : myattrterm",
1277 "term : LOCAL term",
1278 "term : '(' expr ')'",
1280 "term : '[' expr ']'",
1282 "term : HASHBRACK expr ';' '}'",
1283 "term : HASHBRACK ';' '}'",
1284 "term : ANONSUB startanonsub proto subattrlist block",
1290 "term : subscripted",
1291 "term : '(' expr ')' '[' expr ']'",
1292 "term : '(' ')' '[' expr ']'",
1293 "term : ary '[' expr ']'",
1294 "term : ary '{' expr ';' '}'",
1297 "term : amper '(' ')'",
1298 "term : amper '(' expr ')'",
1299 "term : NOAMP WORD listexpr",
1302 "term : DO WORD '(' ')'",
1303 "term : DO WORD '(' expr ')'",
1304 "term : DO scalar '(' ')'",
1305 "term : DO scalar '(' expr ')'",
1307 "term : LOOPEX term",
1308 "term : NOTOP argexpr",
1310 "term : UNIOP block",
1311 "term : UNIOP term",
1312 "term : UNIOPSUB term",
1314 "term : FUNC0 '(' ')'",
1316 "term : FUNC1 '(' ')'",
1317 "term : FUNC1 '(' expr ')'",
1318 "term : PMFUNC '(' term ')'",
1319 "term : PMFUNC '(' term ',' term ')'",
1322 "myattrterm : MY myterm myattrlist",
1323 "myattrterm : MY myterm",
1324 "myterm : '(' expr ')'",
1330 "listexpr : argexpr",
1332 "listexprcom : expr",
1333 "listexprcom : expr ','",
1334 "my_scalar : scalar",
1335 "amper : '&' indirob",
1336 "scalar : '$' indirob",
1337 "ary : '@' indirob",
1338 "hsh : '%' indirob",
1339 "arylen : DOLSHARP indirob",
1340 "star : '*' indirob",
1344 "indirob : PRIVATEREF",
1347 #define yyclearin (yychar=(-1))
1348 #define yyerrok (yyerrflag=0)
1351 #define YYMAXDEPTH YYSTACKSIZE
1355 #define YYSTACKSIZE YYMAXDEPTH
1357 #define YYSTACKSIZE 500
1358 #define YYMAXDEPTH 500
1364 /* more stuff added to make perly_c.diff easier to apply */
1369 #define yyparse() Perl_yyparse(pTHX)
1371 #line 1371 "perly.c"
1372 #define YYABORT goto yyabort
1373 #define YYACCEPT goto yyaccept
1374 #define YYERROR goto yyerrlab
1378 register int yym, yyn, yystate;
1379 register short *yyssp;
1380 register YYSTYPE *yyvsp;
1383 unsigned yystacksize = YYSTACKSIZE;
1391 ENTER; /* force yydestruct() before we return */
1393 New(73, ysave, 1, struct ysv);
1394 SAVEDESTRUCTOR_X(yydestruct, ysave);
1395 ysave->oldyydebug = yydebug;
1396 ysave->oldyynerrs = yynerrs;
1397 ysave->oldyyerrflag = yyerrflag;
1398 ysave->oldyychar = yychar;
1399 ysave->oldyyval = yyval;
1400 ysave->oldyylval = yylval;
1403 if (yys = getenv("YYDEBUG"))
1406 if (yyn >= '0' && yyn <= '9')
1407 yydebug = yyn - '0';
1409 else SETERRNO(0,SS$_NORMAL);
1417 ** Initialize private stacks (yyparse may be called from an action)
1419 New(73, yyss, yystacksize, short);
1420 New(73, yyvs, yystacksize, YYSTYPE);
1428 *yyssp = yystate = 0;
1431 if (yyn = yydefred[yystate]) goto yyreduce;
1434 if ((yychar = yylex()) < 0) yychar = 0;
1439 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1440 if (!yys) yys = "illegal-symbol";
1441 PerlIO_printf(Perl_debug_log, "yydebug: state %d, reading %d (%s)\n", yystate,
1446 if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
1447 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1451 PerlIO_printf(Perl_debug_log, "yydebug: state %d, shifting to state %d\n",
1452 yystate, yytable[yyn]);
1454 if (yyssp >= yyss + yystacksize - 1)
1457 ** reallocate and recover. Note that pointers
1458 ** have to be reset, or bad things will happen
1460 int yyps_index = (yyssp - yyss);
1461 int yypv_index = (yyvsp - yyvs);
1462 yystacksize += YYSTACKSIZE;
1463 ysave->yyvs = Renew(yyvs, yystacksize, YYSTYPE);
1464 ysave->yyss = Renew(yyss, yystacksize, short);
1467 yyssp = yyss + yyps_index;
1468 yyvsp = yyvs + yypv_index;
1470 *++yyssp = yystate = yytable[yyn];
1473 if (yyerrflag > 0) --yyerrflag;
1476 if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
1477 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1482 if (yyerrflag) goto yyinrecovery;
1487 yyerror("syntax error");
1499 if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 &&
1500 yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
1504 PerlIO_printf(Perl_debug_log,
1505 "yydebug: state %d, error recovery shifting to state %d\n",
1506 *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 = (PL_debug & 1);
1578 { newPROG(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)); }
1732 { OP *forop = append_elem(OP_LINESEQ,
1733 scalar(yyvsp[-6].opval),
1734 newWHILEOP(0, 1, (LOOP*)Nullop,
1735 yyvsp[-9].ival, scalar(yyvsp[-4].opval),
1736 yyvsp[0].opval, scalar(yyvsp[-2].opval)));
1737 PL_copline = yyvsp[-9].ival;
1738 yyval.opval = block_end(yyvsp[-7].ival, newSTATEOP(0, yyvsp[-10].pval, forop)); }
1742 { yyval.opval = newSTATEOP(0, yyvsp[-2].pval,
1743 newWHILEOP(0, 1, (LOOP*)Nullop,
1744 NOLINE, Nullop, yyvsp[-1].opval, yyvsp[0].opval)); }
1748 { yyval.opval = Nullop; }
1752 { (void)scan_num("1"); yyval.opval = yylval.opval; }
1756 { yyval.opval = invert(scalar(yyvsp[0].opval)); }
1760 { yyval.opval = yyvsp[0].opval; intro_my(); }
1764 { yyval.opval = yyvsp[0].opval; intro_my(); }
1768 { yyval.opval = yyvsp[0].opval; intro_my(); }
1772 { yyval.opval = yyvsp[0].opval; intro_my(); }
1776 { yyval.pval = Nullch; }
1800 { newFORM(yyvsp[-2].ival, yyvsp[-1].opval, yyvsp[0].opval); }
1804 { yyval.opval = yyvsp[0].opval; }
1808 { yyval.opval = Nullop; }
1812 { newMYSUB(yyvsp[-4].ival, yyvsp[-3].opval, yyvsp[-2].opval, yyvsp[-1].opval, yyvsp[0].opval); }
1816 { newATTRSUB(yyvsp[-4].ival, yyvsp[-3].opval, yyvsp[-2].opval, yyvsp[-1].opval, yyvsp[0].opval); }
1820 { yyval.ival = start_subparse(FALSE, 0); }
1824 { yyval.ival = start_subparse(FALSE, CVf_ANON); }
1828 { yyval.ival = start_subparse(TRUE, 0); }
1832 { STRLEN n_a; char *name = SvPV(((SVOP*)yyvsp[0].opval)->op_sv,n_a);
1833 if (strEQ(name, "BEGIN") || strEQ(name, "END")
1834 || strEQ(name, "INIT") || strEQ(name, "CHECK"))
1835 CvSPECIAL_on(PL_compcv);
1836 yyval.opval = yyvsp[0].opval; }
1840 { yyval.opval = Nullop; }
1844 { yyval.opval = Nullop; }
1848 { yyval.opval = yyvsp[0].opval; }
1852 { yyval.opval = Nullop; }
1856 { yyval.opval = yyvsp[0].opval; }
1860 { yyval.opval = Nullop; }
1864 { yyval.opval = yyvsp[0].opval; }
1868 { yyval.opval = Nullop; PL_expect = XSTATE; }
1872 { package(yyvsp[-1].opval); }
1876 { package(Nullop); }
1880 { CvSPECIAL_on(PL_compcv); /* It's a BEGIN {} */ }
1884 { utilize(yyvsp[-6].ival, yyvsp[-5].ival, yyvsp[-3].opval, yyvsp[-2].opval, yyvsp[-1].opval); }
1888 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1892 { yyval.opval = newLOGOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1896 { yyval.opval = yyvsp[-1].opval; }
1900 { yyval.opval = append_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval); }
1904 { yyval.opval = convert(yyvsp[-2].ival, OPf_STACKED,
1905 prepend_elem(OP_LIST, newGVREF(yyvsp[-2].ival,yyvsp[-1].opval), yyvsp[0].opval) ); }
1909 { yyval.opval = convert(yyvsp[-4].ival, OPf_STACKED,
1910 prepend_elem(OP_LIST, newGVREF(yyvsp[-4].ival,yyvsp[-2].opval), yyvsp[-1].opval) ); }
1914 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1915 append_elem(OP_LIST,
1916 prepend_elem(OP_LIST, scalar(yyvsp[-5].opval), yyvsp[-1].opval),
1917 newUNOP(OP_METHOD, 0, yyvsp[-3].opval))); }
1921 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1922 append_elem(OP_LIST, scalar(yyvsp[-2].opval),
1923 newUNOP(OP_METHOD, 0, yyvsp[0].opval))); }
1927 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1928 append_elem(OP_LIST,
1929 prepend_elem(OP_LIST, yyvsp[-1].opval, yyvsp[0].opval),
1930 newUNOP(OP_METHOD, 0, yyvsp[-2].opval))); }
1934 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1935 append_elem(OP_LIST,
1936 prepend_elem(OP_LIST, yyvsp[-3].opval, yyvsp[-1].opval),
1937 newUNOP(OP_METHOD, 0, yyvsp[-4].opval))); }
1941 { yyval.opval = convert(yyvsp[-1].ival, 0, yyvsp[0].opval); }
1945 { yyval.opval = convert(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
1949 { yyvsp[0].opval = newANONATTRSUB(yyvsp[-1].ival, 0, Nullop, yyvsp[0].opval); }
1953 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
1954 append_elem(OP_LIST,
1955 prepend_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval), yyvsp[-4].opval)); }
1959 { yyval.opval = newBINOP(OP_GELEM, 0, yyvsp[-4].opval, scalar(yyvsp[-2].opval)); }
1963 { yyval.opval = newBINOP(OP_AELEM, 0, oopsAV(yyvsp[-3].opval), scalar(yyvsp[-1].opval)); }
1967 { yyval.opval = newBINOP(OP_AELEM, 0,
1968 ref(newAVREF(yyvsp[-4].opval),OP_RV2AV),
1969 scalar(yyvsp[-1].opval));}
1973 { yyval.opval = newBINOP(OP_AELEM, 0,
1974 ref(newAVREF(yyvsp[-3].opval),OP_RV2AV),
1975 scalar(yyvsp[-1].opval));}
1979 { yyval.opval = newBINOP(OP_HELEM, 0, oopsHV(yyvsp[-4].opval), jmaybe(yyvsp[-2].opval));
1980 PL_expect = XOPERATOR; }
1984 { yyval.opval = newBINOP(OP_HELEM, 0,
1985 ref(newHVREF(yyvsp[-5].opval),OP_RV2HV),
1986 jmaybe(yyvsp[-2].opval));
1987 PL_expect = XOPERATOR; }
1991 { yyval.opval = newBINOP(OP_HELEM, 0,
1992 ref(newHVREF(yyvsp[-4].opval),OP_RV2HV),
1993 jmaybe(yyvsp[-2].opval));
1994 PL_expect = XOPERATOR; }
1998 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
1999 newCVREF(0, scalar(yyvsp[-3].opval))); }
2003 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2004 append_elem(OP_LIST, yyvsp[-1].opval,
2005 newCVREF(0, scalar(yyvsp[-4].opval)))); }
2009 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2010 append_elem(OP_LIST, yyvsp[-1].opval,
2011 newCVREF(0, scalar(yyvsp[-3].opval)))); }
2015 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2016 newCVREF(0, scalar(yyvsp[-2].opval))); }
2020 { yyval.opval = newASSIGNOP(OPf_STACKED, yyvsp[-2].opval, yyvsp[-1].ival, yyvsp[0].opval); }
2024 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2028 { if (yyvsp[-1].ival != OP_REPEAT)
2029 scalar(yyvsp[-2].opval);
2030 yyval.opval = newBINOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, scalar(yyvsp[0].opval)); }
2034 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2038 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2042 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2046 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2050 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2054 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2058 { yyval.opval = newRANGE(yyvsp[-1].ival, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval));}
2062 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
2066 { yyval.opval = newLOGOP(OP_OR, 0, yyvsp[-2].opval, yyvsp[0].opval); }
2070 { yyval.opval = newCONDOP(0, yyvsp[-4].opval, yyvsp[-2].opval, yyvsp[0].opval); }
2074 { yyval.opval = bind_match(yyvsp[-1].ival, yyvsp[-2].opval, yyvsp[0].opval); }
2078 { yyval.opval = newUNOP(OP_NEGATE, 0, scalar(yyvsp[0].opval)); }
2082 { yyval.opval = yyvsp[0].opval; }
2086 { yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
2090 { yyval.opval = newUNOP(OP_COMPLEMENT, 0, scalar(yyvsp[0].opval));}
2094 { yyval.opval = newUNOP(OP_REFGEN, 0, mod(yyvsp[0].opval,OP_REFGEN)); }
2098 { yyval.opval = newUNOP(OP_POSTINC, 0,
2099 mod(scalar(yyvsp[-1].opval), OP_POSTINC)); }
2103 { yyval.opval = newUNOP(OP_POSTDEC, 0,
2104 mod(scalar(yyvsp[-1].opval), OP_POSTDEC)); }
2108 { yyval.opval = newUNOP(OP_PREINC, 0,
2109 mod(scalar(yyvsp[0].opval), OP_PREINC)); }
2113 { yyval.opval = newUNOP(OP_PREDEC, 0,
2114 mod(scalar(yyvsp[0].opval), OP_PREDEC)); }
2118 { yyval.opval = yyvsp[0].opval; }
2122 { yyval.opval = localize(yyvsp[0].opval,yyvsp[-1].ival); }
2126 { yyval.opval = sawparens(yyvsp[-1].opval); }
2130 { yyval.opval = sawparens(newNULLLIST()); }
2134 { yyval.opval = newANONLIST(yyvsp[-1].opval); }
2138 { yyval.opval = newANONLIST(Nullop); }
2142 { yyval.opval = newANONHASH(yyvsp[-2].opval); }
2146 { yyval.opval = newANONHASH(Nullop); }
2150 { yyval.opval = newANONATTRSUB(yyvsp[-3].ival, yyvsp[-2].opval, yyvsp[-1].opval, yyvsp[0].opval); }
2154 { yyval.opval = yyvsp[0].opval; }
2158 { yyval.opval = yyvsp[0].opval; }
2162 { yyval.opval = yyvsp[0].opval; }
2166 { yyval.opval = yyvsp[0].opval; }
2170 { yyval.opval = newUNOP(OP_AV2ARYLEN, 0, ref(yyvsp[0].opval, OP_AV2ARYLEN));}
2174 { yyval.opval = yyvsp[0].opval; }
2178 { yyval.opval = newSLICEOP(0, yyvsp[-1].opval, yyvsp[-4].opval); }
2182 { yyval.opval = newSLICEOP(0, yyvsp[-1].opval, Nullop); }
2186 { yyval.opval = prepend_elem(OP_ASLICE,
2187 newOP(OP_PUSHMARK, 0),
2188 newLISTOP(OP_ASLICE, 0,
2189 list(yyvsp[-1].opval),
2190 ref(yyvsp[-3].opval, OP_ASLICE))); }
2194 { yyval.opval = prepend_elem(OP_HSLICE,
2195 newOP(OP_PUSHMARK, 0),
2196 newLISTOP(OP_HSLICE, 0,
2197 list(yyvsp[-2].opval),
2198 ref(oopsHV(yyvsp[-4].opval), OP_HSLICE)));
2199 PL_expect = XOPERATOR; }
2203 { yyval.opval = yyvsp[0].opval; }
2207 { yyval.opval = newUNOP(OP_ENTERSUB, 0, scalar(yyvsp[0].opval)); }
2211 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar(yyvsp[-2].opval)); }
2215 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2216 append_elem(OP_LIST, yyvsp[-1].opval, scalar(yyvsp[-3].opval))); }
2220 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2221 append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); }
2225 { yyval.opval = dofile(yyvsp[0].opval); }
2229 { yyval.opval = newUNOP(OP_NULL, OPf_SPECIAL, scope(yyvsp[0].opval)); }
2233 { yyval.opval = newUNOP(OP_ENTERSUB,
2234 OPf_SPECIAL|OPf_STACKED,
2235 prepend_elem(OP_LIST,
2237 (OPpENTERSUB_AMPER<<8),
2238 scalar(yyvsp[-2].opval)
2239 )),Nullop)); dep();}
2243 { yyval.opval = newUNOP(OP_ENTERSUB,
2244 OPf_SPECIAL|OPf_STACKED,
2245 append_elem(OP_LIST,
2248 (OPpENTERSUB_AMPER<<8),
2249 scalar(yyvsp[-3].opval)
2254 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
2255 prepend_elem(OP_LIST,
2256 scalar(newCVREF(0,scalar(yyvsp[-2].opval))), Nullop)); dep();}
2260 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
2261 prepend_elem(OP_LIST,
2263 scalar(newCVREF(0,scalar(yyvsp[-3].opval))))); dep();}
2267 { yyval.opval = newOP(yyvsp[0].ival, OPf_SPECIAL);
2268 PL_hints |= HINT_BLOCK_SCOPE; }
2272 { yyval.opval = newLOOPEX(yyvsp[-1].ival,yyvsp[0].opval); }
2276 { yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
2280 { yyval.opval = newOP(yyvsp[0].ival, 0); }
2284 { yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2288 { yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2292 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2293 append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); }
2297 { yyval.opval = newOP(yyvsp[0].ival, 0); }
2301 { yyval.opval = newOP(yyvsp[-2].ival, 0); }
2305 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2306 scalar(yyvsp[0].opval)); }
2310 { yyval.opval = newOP(yyvsp[-2].ival, OPf_SPECIAL); }
2314 { yyval.opval = newUNOP(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
2318 { yyval.opval = pmruntime(yyvsp[-3].opval, yyvsp[-1].opval, Nullop); }
2322 { yyval.opval = pmruntime(yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval); }
2326 { yyval.opval = my_attrs(yyvsp[-1].opval,yyvsp[0].opval); }
2330 { yyval.opval = localize(yyvsp[0].opval,yyvsp[-1].ival); }
2334 { yyval.opval = sawparens(yyvsp[-1].opval); }
2338 { yyval.opval = sawparens(newNULLLIST()); }
2342 { yyval.opval = yyvsp[0].opval; }
2346 { yyval.opval = yyvsp[0].opval; }
2350 { yyval.opval = yyvsp[0].opval; }
2354 { yyval.opval = Nullop; }
2358 { yyval.opval = yyvsp[0].opval; }
2362 { yyval.opval = Nullop; }
2366 { yyval.opval = yyvsp[0].opval; }
2370 { yyval.opval = yyvsp[-1].opval; }
2374 { PL_in_my = 0; yyval.opval = my(yyvsp[0].opval); }
2378 { yyval.opval = newCVREF(yyvsp[-1].ival,yyvsp[0].opval); }
2382 { yyval.opval = newSVREF(yyvsp[0].opval); }
2386 { yyval.opval = newAVREF(yyvsp[0].opval); }
2390 { yyval.opval = newHVREF(yyvsp[0].opval); }
2394 { yyval.opval = newAVREF(yyvsp[0].opval); }
2398 { yyval.opval = newGVREF(0,yyvsp[0].opval); }
2402 { yyval.opval = scalar(yyvsp[0].opval); }
2406 { yyval.opval = scalar(yyvsp[0].opval); }
2410 { yyval.opval = scope(yyvsp[0].opval); }
2414 { yyval.opval = yyvsp[0].opval; }
2416 #line 2412 "perly.c"
2422 if (yystate == 0 && yym == 0)
2426 PerlIO_printf(Perl_debug_log,
2427 "yydebug: after reduction, shifting from state 0 to state %d\n",
2435 if ((yychar = yylex()) < 0) yychar = 0;
2440 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
2441 if (!yys) yys = "illegal-symbol";
2442 PerlIO_printf(Perl_debug_log, "yydebug: state %d, reading %d (%s)\n",
2443 YYFINAL, yychar, yys);
2447 if (yychar == 0) goto yyaccept;
2450 if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
2451 yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
2452 yystate = yytable[yyn];
2454 yystate = yydgoto[yym];
2457 PerlIO_printf(Perl_debug_log,
2458 "yydebug: after reduction, shifting from state %d to state %d\n",
2461 if (yyssp >= yyss + yystacksize - 1)
2464 ** reallocate and recover. Note that pointers
2465 ** have to be reset, or bad things will happen
2467 int yyps_index = (yyssp - yyss);
2468 int yypv_index = (yyvsp - yyvs);
2469 yystacksize += YYSTACKSIZE;
2470 ysave->yyvs = Renew(yyvs, yystacksize, YYSTYPE);
2471 ysave->yyss = Renew(yyss, yystacksize, short);
2474 yyssp = yyss + yyps_index;
2475 yyvsp = yyvs + yypv_index;
2481 yyerror("Out of memory for yacc stack");
2486 LEAVE; /* force yydestruct() before we return */
2496 yydestruct(pTHXo_ void *ptr)
2498 struct ysv* ysave = (struct ysv*)ptr;
2499 if (ysave->yyss) Safefree(ysave->yyss);
2500 if (ysave->yyvs) Safefree(ysave->yyvs);
2501 yydebug = ysave->oldyydebug;
2502 yynerrs = ysave->oldyynerrs;
2503 yyerrflag = ysave->oldyyerrflag;
2504 yychar = ysave->oldyychar;
2505 yyval = ysave->oldyyval;
2506 yylval = ysave->oldyylval;