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;
1390 New(73, ysave, 1, struct ysv);
1391 SAVEDESTRUCTOR_X(yydestruct, ysave);
1392 ysave->oldyydebug = yydebug;
1393 ysave->oldyynerrs = yynerrs;
1394 ysave->oldyyerrflag = yyerrflag;
1395 ysave->oldyychar = yychar;
1396 ysave->oldyyval = yyval;
1397 ysave->oldyylval = yylval;
1400 if (yys = getenv("YYDEBUG"))
1403 if (yyn >= '0' && yyn <= '9')
1404 yydebug = yyn - '0';
1406 else SETERRNO(0,SS$_NORMAL);
1414 ** Initialize private stacks (yyparse may be called from an action)
1416 New(73, yyss, yystacksize, short);
1417 New(73, yyvs, yystacksize, YYSTYPE);
1425 *yyssp = yystate = 0;
1428 if (yyn = yydefred[yystate]) goto yyreduce;
1431 if ((yychar = yylex()) < 0) yychar = 0;
1436 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1437 if (!yys) yys = "illegal-symbol";
1438 PerlIO_printf(Perl_debug_log, "yydebug: state %d, reading %d (%s)\n", yystate,
1443 if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
1444 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1448 PerlIO_printf(Perl_debug_log, "yydebug: state %d, shifting to state %d\n",
1449 yystate, yytable[yyn]);
1451 if (yyssp >= yyss + yystacksize - 1)
1454 ** reallocate and recover. Note that pointers
1455 ** have to be reset, or bad things will happen
1457 int yyps_index = (yyssp - yyss);
1458 int yypv_index = (yyvsp - yyvs);
1459 yystacksize += YYSTACKSIZE;
1460 ysave->yyvs = Renew(yyvs, yystacksize, YYSTYPE);
1461 ysave->yyss = Renew(yyss, yystacksize, short);
1464 yyssp = yyss + yyps_index;
1465 yyvsp = yyvs + yypv_index;
1467 *++yyssp = yystate = yytable[yyn];
1470 if (yyerrflag > 0) --yyerrflag;
1473 if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
1474 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1479 if (yyerrflag) goto yyinrecovery;
1484 yyerror("syntax error");
1496 if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 &&
1497 yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
1501 PerlIO_printf(Perl_debug_log,
1502 "yydebug: state %d, error recovery shifting to state %d\n",
1503 *yyssp, yytable[yyn]);
1505 if (yyssp >= yyss + yystacksize - 1)
1508 ** reallocate and recover. Note that pointers
1509 ** have to be reset, or bad things will happen
1511 int yyps_index = (yyssp - yyss);
1512 int yypv_index = (yyvsp - yyvs);
1513 yystacksize += YYSTACKSIZE;
1514 ysave->yyvs = Renew(yyvs, yystacksize, YYSTYPE);
1515 ysave->yyss = Renew(yyss, yystacksize, short);
1518 yyssp = yyss + yyps_index;
1519 yyvsp = yyvs + yypv_index;
1521 *++yyssp = yystate = yytable[yyn];
1529 PerlIO_printf(Perl_debug_log, "yydebug: error recovery discarding state %d\n",
1532 if (yyssp <= yyss) goto yyabort;
1540 if (yychar == 0) goto yyabort;
1545 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1546 if (!yys) yys = "illegal-symbol";
1547 PerlIO_printf(Perl_debug_log, "yydebug: state %d, error recovery discards token %d (%s)\n",
1548 yystate, yychar, yys);
1557 PerlIO_printf(Perl_debug_log, "yydebug: state %d, reducing by rule %d (%s)\n",
1558 yystate, yyn, yyrule[yyn]);
1561 yyval = yyvsp[1-yym];
1567 #if defined(YYDEBUG) && defined(DEBUGGING)
1568 yydebug = (PL_debug & 1);
1575 { newPROG(yyvsp[0].opval); }
1579 { if (PL_copline > (line_t)yyvsp[-3].ival)
1580 PL_copline = yyvsp[-3].ival;
1581 yyval.opval = block_end(yyvsp[-2].ival, yyvsp[-1].opval); }
1585 { yyval.ival = block_start(TRUE); }
1589 { if (PL_copline > (line_t)yyvsp[-3].ival)
1590 PL_copline = yyvsp[-3].ival;
1591 yyval.opval = block_end(yyvsp[-2].ival, yyvsp[-1].opval); }
1595 { yyval.ival = block_start(FALSE); }
1599 { yyval.opval = Nullop; }
1603 { yyval.opval = yyvsp[-1].opval; }
1607 { yyval.opval = append_list(OP_LINESEQ,
1608 (LISTOP*)yyvsp[-1].opval, (LISTOP*)yyvsp[0].opval);
1609 PL_pad_reset_pending = TRUE;
1610 if (yyvsp[-1].opval && yyvsp[0].opval) PL_hints |= HINT_BLOCK_SCOPE; }
1614 { yyval.opval = newSTATEOP(0, yyvsp[-1].pval, yyvsp[0].opval); }
1618 { if (yyvsp[-1].pval != Nullch) {
1619 yyval.opval = newSTATEOP(0, yyvsp[-1].pval, newOP(OP_NULL, 0));
1622 yyval.opval = Nullop;
1623 PL_copline = NOLINE;
1625 PL_expect = XSTATE; }
1629 { yyval.opval = newSTATEOP(0, yyvsp[-2].pval, yyvsp[-1].opval);
1630 PL_expect = XSTATE; }
1634 { yyval.opval = Nullop; }
1638 { yyval.opval = yyvsp[0].opval; }
1642 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[0].opval, yyvsp[-2].opval); }
1646 { yyval.opval = newLOGOP(OP_OR, 0, yyvsp[0].opval, yyvsp[-2].opval); }
1650 { yyval.opval = newLOOPOP(OPf_PARENS, 1, scalar(yyvsp[0].opval), yyvsp[-2].opval); }
1654 { yyval.opval = newLOOPOP(OPf_PARENS, 1, yyvsp[0].opval, yyvsp[-2].opval);}
1658 { yyval.opval = newFOROP(0, Nullch, yyvsp[-1].ival,
1659 Nullop, yyvsp[0].opval, yyvsp[-2].opval, Nullop); }
1663 { yyval.opval = Nullop; }
1667 { (yyvsp[0].opval)->op_flags |= OPf_PARENS; yyval.opval = scope(yyvsp[0].opval); }
1671 { PL_copline = yyvsp[-5].ival;
1672 yyval.opval = newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval);
1673 PL_hints |= HINT_BLOCK_SCOPE; }
1677 { PL_copline = yyvsp[-6].ival;
1678 yyval.opval = block_end(yyvsp[-4].ival,
1679 newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval)); }
1683 { PL_copline = yyvsp[-6].ival;
1684 yyval.opval = block_end(yyvsp[-4].ival,
1685 newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval)); }
1689 { yyval.opval = Nullop; }
1693 { yyval.opval = scope(yyvsp[0].opval); }
1697 { PL_copline = yyvsp[-6].ival;
1698 yyval.opval = block_end(yyvsp[-4].ival,
1699 newSTATEOP(0, yyvsp[-7].pval,
1700 newWHILEOP(0, 1, (LOOP*)Nullop,
1701 yyvsp[-6].ival, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval))); }
1705 { PL_copline = yyvsp[-6].ival;
1706 yyval.opval = block_end(yyvsp[-4].ival,
1707 newSTATEOP(0, yyvsp[-7].pval,
1708 newWHILEOP(0, 1, (LOOP*)Nullop,
1709 yyvsp[-6].ival, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval))); }
1713 { yyval.opval = block_end(yyvsp[-6].ival,
1714 newFOROP(0, yyvsp[-9].pval, yyvsp[-8].ival, yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1718 { yyval.opval = block_end(yyvsp[-4].ival,
1719 newFOROP(0, yyvsp[-8].pval, yyvsp[-7].ival, mod(yyvsp[-6].opval, OP_ENTERLOOP),
1720 yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1724 { yyval.opval = block_end(yyvsp[-4].ival,
1725 newFOROP(0, yyvsp[-7].pval, yyvsp[-6].ival, Nullop, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1729 { OP *forop = append_elem(OP_LINESEQ,
1730 scalar(yyvsp[-6].opval),
1731 newWHILEOP(0, 1, (LOOP*)Nullop,
1732 yyvsp[-9].ival, scalar(yyvsp[-4].opval),
1733 yyvsp[0].opval, scalar(yyvsp[-2].opval)));
1734 PL_copline = yyvsp[-9].ival;
1735 yyval.opval = block_end(yyvsp[-7].ival, newSTATEOP(0, yyvsp[-10].pval, forop)); }
1739 { yyval.opval = newSTATEOP(0, yyvsp[-2].pval,
1740 newWHILEOP(0, 1, (LOOP*)Nullop,
1741 NOLINE, Nullop, yyvsp[-1].opval, yyvsp[0].opval)); }
1745 { yyval.opval = Nullop; }
1749 { (void)scan_num("1"); yyval.opval = yylval.opval; }
1753 { yyval.opval = invert(scalar(yyvsp[0].opval)); }
1757 { yyval.opval = yyvsp[0].opval; intro_my(); }
1761 { yyval.opval = yyvsp[0].opval; intro_my(); }
1765 { yyval.opval = yyvsp[0].opval; intro_my(); }
1769 { yyval.opval = yyvsp[0].opval; intro_my(); }
1773 { yyval.pval = Nullch; }
1797 { newFORM(yyvsp[-2].ival, yyvsp[-1].opval, yyvsp[0].opval); }
1801 { yyval.opval = yyvsp[0].opval; }
1805 { yyval.opval = Nullop; }
1809 { newMYSUB(yyvsp[-4].ival, yyvsp[-3].opval, yyvsp[-2].opval, yyvsp[-1].opval, yyvsp[0].opval); }
1813 { newATTRSUB(yyvsp[-4].ival, yyvsp[-3].opval, yyvsp[-2].opval, yyvsp[-1].opval, yyvsp[0].opval); }
1817 { yyval.ival = start_subparse(FALSE, 0); }
1821 { yyval.ival = start_subparse(FALSE, CVf_ANON); }
1825 { yyval.ival = start_subparse(TRUE, 0); }
1829 { STRLEN n_a; char *name = SvPV(((SVOP*)yyvsp[0].opval)->op_sv,n_a);
1830 if (strEQ(name, "BEGIN") || strEQ(name, "END")
1831 || strEQ(name, "INIT"))
1832 CvSPECIAL_on(PL_compcv);
1833 yyval.opval = yyvsp[0].opval; }
1837 { yyval.opval = Nullop; }
1841 { yyval.opval = Nullop; }
1845 { yyval.opval = yyvsp[0].opval; }
1849 { yyval.opval = Nullop; }
1853 { yyval.opval = yyvsp[0].opval; }
1857 { yyval.opval = Nullop; }
1861 { yyval.opval = yyvsp[0].opval; }
1865 { yyval.opval = Nullop; PL_expect = XSTATE; }
1869 { package(yyvsp[-1].opval); }
1873 { package(Nullop); }
1877 { CvSPECIAL_on(PL_compcv); /* It's a BEGIN {} */ }
1881 { utilize(yyvsp[-6].ival, yyvsp[-5].ival, yyvsp[-3].opval, yyvsp[-2].opval, yyvsp[-1].opval); }
1885 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1889 { yyval.opval = newLOGOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1893 { yyval.opval = yyvsp[-1].opval; }
1897 { yyval.opval = append_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval); }
1901 { yyval.opval = convert(yyvsp[-2].ival, OPf_STACKED,
1902 prepend_elem(OP_LIST, newGVREF(yyvsp[-2].ival,yyvsp[-1].opval), yyvsp[0].opval) ); }
1906 { yyval.opval = convert(yyvsp[-4].ival, OPf_STACKED,
1907 prepend_elem(OP_LIST, newGVREF(yyvsp[-4].ival,yyvsp[-2].opval), yyvsp[-1].opval) ); }
1911 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1912 append_elem(OP_LIST,
1913 prepend_elem(OP_LIST, scalar(yyvsp[-5].opval), yyvsp[-1].opval),
1914 newUNOP(OP_METHOD, 0, yyvsp[-3].opval))); }
1918 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1919 append_elem(OP_LIST, scalar(yyvsp[-2].opval),
1920 newUNOP(OP_METHOD, 0, yyvsp[0].opval))); }
1924 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1925 append_elem(OP_LIST,
1926 prepend_elem(OP_LIST, yyvsp[-1].opval, yyvsp[0].opval),
1927 newUNOP(OP_METHOD, 0, yyvsp[-2].opval))); }
1931 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1932 append_elem(OP_LIST,
1933 prepend_elem(OP_LIST, yyvsp[-3].opval, yyvsp[-1].opval),
1934 newUNOP(OP_METHOD, 0, yyvsp[-4].opval))); }
1938 { yyval.opval = convert(yyvsp[-1].ival, 0, yyvsp[0].opval); }
1942 { yyval.opval = convert(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
1946 { yyvsp[0].opval = newANONATTRSUB(yyvsp[-1].ival, 0, Nullop, yyvsp[0].opval); }
1950 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
1951 append_elem(OP_LIST,
1952 prepend_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval), yyvsp[-4].opval)); }
1956 { yyval.opval = newBINOP(OP_GELEM, 0, yyvsp[-4].opval, scalar(yyvsp[-2].opval)); }
1960 { yyval.opval = newBINOP(OP_AELEM, 0, oopsAV(yyvsp[-3].opval), scalar(yyvsp[-1].opval)); }
1964 { yyval.opval = newBINOP(OP_AELEM, 0,
1965 ref(newAVREF(yyvsp[-4].opval),OP_RV2AV),
1966 scalar(yyvsp[-1].opval));}
1970 { yyval.opval = newBINOP(OP_AELEM, 0,
1971 ref(newAVREF(yyvsp[-3].opval),OP_RV2AV),
1972 scalar(yyvsp[-1].opval));}
1976 { yyval.opval = newBINOP(OP_HELEM, 0, oopsHV(yyvsp[-4].opval), jmaybe(yyvsp[-2].opval));
1977 PL_expect = XOPERATOR; }
1981 { yyval.opval = newBINOP(OP_HELEM, 0,
1982 ref(newHVREF(yyvsp[-5].opval),OP_RV2HV),
1983 jmaybe(yyvsp[-2].opval));
1984 PL_expect = XOPERATOR; }
1988 { yyval.opval = newBINOP(OP_HELEM, 0,
1989 ref(newHVREF(yyvsp[-4].opval),OP_RV2HV),
1990 jmaybe(yyvsp[-2].opval));
1991 PL_expect = XOPERATOR; }
1995 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
1996 newCVREF(0, scalar(yyvsp[-3].opval))); }
2000 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2001 append_elem(OP_LIST, yyvsp[-1].opval,
2002 newCVREF(0, scalar(yyvsp[-4].opval)))); }
2006 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2007 append_elem(OP_LIST, yyvsp[-1].opval,
2008 newCVREF(0, scalar(yyvsp[-3].opval)))); }
2012 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2013 newCVREF(0, scalar(yyvsp[-2].opval))); }
2017 { yyval.opval = newASSIGNOP(OPf_STACKED, yyvsp[-2].opval, yyvsp[-1].ival, yyvsp[0].opval); }
2021 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2025 { if (yyvsp[-1].ival != OP_REPEAT)
2026 scalar(yyvsp[-2].opval);
2027 yyval.opval = newBINOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, scalar(yyvsp[0].opval)); }
2031 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2035 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2039 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2043 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2047 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2051 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2055 { yyval.opval = newRANGE(yyvsp[-1].ival, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval));}
2059 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
2063 { yyval.opval = newLOGOP(OP_OR, 0, yyvsp[-2].opval, yyvsp[0].opval); }
2067 { yyval.opval = newCONDOP(0, yyvsp[-4].opval, yyvsp[-2].opval, yyvsp[0].opval); }
2071 { yyval.opval = bind_match(yyvsp[-1].ival, yyvsp[-2].opval, yyvsp[0].opval); }
2075 { yyval.opval = newUNOP(OP_NEGATE, 0, scalar(yyvsp[0].opval)); }
2079 { yyval.opval = yyvsp[0].opval; }
2083 { yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
2087 { yyval.opval = newUNOP(OP_COMPLEMENT, 0, scalar(yyvsp[0].opval));}
2091 { yyval.opval = newUNOP(OP_REFGEN, 0, mod(yyvsp[0].opval,OP_REFGEN)); }
2095 { yyval.opval = newUNOP(OP_POSTINC, 0,
2096 mod(scalar(yyvsp[-1].opval), OP_POSTINC)); }
2100 { yyval.opval = newUNOP(OP_POSTDEC, 0,
2101 mod(scalar(yyvsp[-1].opval), OP_POSTDEC)); }
2105 { yyval.opval = newUNOP(OP_PREINC, 0,
2106 mod(scalar(yyvsp[0].opval), OP_PREINC)); }
2110 { yyval.opval = newUNOP(OP_PREDEC, 0,
2111 mod(scalar(yyvsp[0].opval), OP_PREDEC)); }
2115 { yyval.opval = yyvsp[0].opval; }
2119 { yyval.opval = localize(yyvsp[0].opval,yyvsp[-1].ival); }
2123 { yyval.opval = sawparens(yyvsp[-1].opval); }
2127 { yyval.opval = sawparens(newNULLLIST()); }
2131 { yyval.opval = newANONLIST(yyvsp[-1].opval); }
2135 { yyval.opval = newANONLIST(Nullop); }
2139 { yyval.opval = newANONHASH(yyvsp[-2].opval); }
2143 { yyval.opval = newANONHASH(Nullop); }
2147 { yyval.opval = newANONATTRSUB(yyvsp[-3].ival, yyvsp[-2].opval, yyvsp[-1].opval, yyvsp[0].opval); }
2151 { yyval.opval = yyvsp[0].opval; }
2155 { yyval.opval = yyvsp[0].opval; }
2159 { yyval.opval = yyvsp[0].opval; }
2163 { yyval.opval = yyvsp[0].opval; }
2167 { yyval.opval = newUNOP(OP_AV2ARYLEN, 0, ref(yyvsp[0].opval, OP_AV2ARYLEN));}
2171 { yyval.opval = yyvsp[0].opval; }
2175 { yyval.opval = newSLICEOP(0, yyvsp[-1].opval, yyvsp[-4].opval); }
2179 { yyval.opval = newSLICEOP(0, yyvsp[-1].opval, Nullop); }
2183 { yyval.opval = prepend_elem(OP_ASLICE,
2184 newOP(OP_PUSHMARK, 0),
2185 newLISTOP(OP_ASLICE, 0,
2186 list(yyvsp[-1].opval),
2187 ref(yyvsp[-3].opval, OP_ASLICE))); }
2191 { yyval.opval = prepend_elem(OP_HSLICE,
2192 newOP(OP_PUSHMARK, 0),
2193 newLISTOP(OP_HSLICE, 0,
2194 list(yyvsp[-2].opval),
2195 ref(oopsHV(yyvsp[-4].opval), OP_HSLICE)));
2196 PL_expect = XOPERATOR; }
2200 { yyval.opval = yyvsp[0].opval; }
2204 { yyval.opval = newUNOP(OP_ENTERSUB, 0, scalar(yyvsp[0].opval)); }
2208 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar(yyvsp[-2].opval)); }
2212 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2213 append_elem(OP_LIST, yyvsp[-1].opval, scalar(yyvsp[-3].opval))); }
2217 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2218 append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); }
2222 { yyval.opval = dofile(yyvsp[0].opval); }
2226 { yyval.opval = newUNOP(OP_NULL, OPf_SPECIAL, scope(yyvsp[0].opval)); }
2230 { yyval.opval = newUNOP(OP_ENTERSUB,
2231 OPf_SPECIAL|OPf_STACKED,
2232 prepend_elem(OP_LIST,
2234 (OPpENTERSUB_AMPER<<8),
2235 scalar(yyvsp[-2].opval)
2236 )),Nullop)); dep();}
2240 { yyval.opval = newUNOP(OP_ENTERSUB,
2241 OPf_SPECIAL|OPf_STACKED,
2242 append_elem(OP_LIST,
2245 (OPpENTERSUB_AMPER<<8),
2246 scalar(yyvsp[-3].opval)
2251 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
2252 prepend_elem(OP_LIST,
2253 scalar(newCVREF(0,scalar(yyvsp[-2].opval))), Nullop)); dep();}
2257 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
2258 prepend_elem(OP_LIST,
2260 scalar(newCVREF(0,scalar(yyvsp[-3].opval))))); dep();}
2264 { yyval.opval = newOP(yyvsp[0].ival, OPf_SPECIAL);
2265 PL_hints |= HINT_BLOCK_SCOPE; }
2269 { yyval.opval = newLOOPEX(yyvsp[-1].ival,yyvsp[0].opval); }
2273 { yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
2277 { yyval.opval = newOP(yyvsp[0].ival, 0); }
2281 { yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2285 { yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2289 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2290 append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); }
2294 { yyval.opval = newOP(yyvsp[0].ival, 0); }
2298 { yyval.opval = newOP(yyvsp[-2].ival, 0); }
2302 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2303 scalar(yyvsp[0].opval)); }
2307 { yyval.opval = newOP(yyvsp[-2].ival, OPf_SPECIAL); }
2311 { yyval.opval = newUNOP(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
2315 { yyval.opval = pmruntime(yyvsp[-3].opval, yyvsp[-1].opval, Nullop); }
2319 { yyval.opval = pmruntime(yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval); }
2323 { yyval.opval = my_attrs(yyvsp[-1].opval,yyvsp[0].opval); }
2327 { yyval.opval = localize(yyvsp[0].opval,yyvsp[-1].ival); }
2331 { yyval.opval = sawparens(yyvsp[-1].opval); }
2335 { yyval.opval = sawparens(newNULLLIST()); }
2339 { yyval.opval = yyvsp[0].opval; }
2343 { yyval.opval = yyvsp[0].opval; }
2347 { yyval.opval = yyvsp[0].opval; }
2351 { yyval.opval = Nullop; }
2355 { yyval.opval = yyvsp[0].opval; }
2359 { yyval.opval = Nullop; }
2363 { yyval.opval = yyvsp[0].opval; }
2367 { yyval.opval = yyvsp[-1].opval; }
2371 { PL_in_my = 0; yyval.opval = my(yyvsp[0].opval); }
2375 { yyval.opval = newCVREF(yyvsp[-1].ival,yyvsp[0].opval); }
2379 { yyval.opval = newSVREF(yyvsp[0].opval); }
2383 { yyval.opval = newAVREF(yyvsp[0].opval); }
2387 { yyval.opval = newHVREF(yyvsp[0].opval); }
2391 { yyval.opval = newAVREF(yyvsp[0].opval); }
2395 { yyval.opval = newGVREF(0,yyvsp[0].opval); }
2399 { yyval.opval = scalar(yyvsp[0].opval); }
2403 { yyval.opval = scalar(yyvsp[0].opval); }
2407 { yyval.opval = scope(yyvsp[0].opval); }
2411 { yyval.opval = yyvsp[0].opval; }
2413 #line 2412 "perly.c"
2419 if (yystate == 0 && yym == 0)
2423 PerlIO_printf(Perl_debug_log,
2424 "yydebug: after reduction, shifting from state 0 to state %d\n",
2432 if ((yychar = yylex()) < 0) yychar = 0;
2437 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
2438 if (!yys) yys = "illegal-symbol";
2439 PerlIO_printf(Perl_debug_log, "yydebug: state %d, reading %d (%s)\n",
2440 YYFINAL, yychar, yys);
2444 if (yychar == 0) goto yyaccept;
2447 if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
2448 yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
2449 yystate = yytable[yyn];
2451 yystate = yydgoto[yym];
2454 PerlIO_printf(Perl_debug_log,
2455 "yydebug: after reduction, shifting from state %d to state %d\n",
2458 if (yyssp >= yyss + yystacksize - 1)
2461 ** reallocate and recover. Note that pointers
2462 ** have to be reset, or bad things will happen
2464 int yyps_index = (yyssp - yyss);
2465 int yypv_index = (yyvsp - yyvs);
2466 yystacksize += YYSTACKSIZE;
2467 ysave->yyvs = Renew(yyvs, yystacksize, YYSTYPE);
2468 ysave->yyss = Renew(yyss, yystacksize, short);
2471 yyssp = yyss + yyps_index;
2472 yyvsp = yyvs + yypv_index;
2478 yyerror("Out of memory for yacc stack");
2490 yydestruct(pTHXo_ void *ptr)
2492 struct ysv* ysave = (struct ysv*)ptr;
2493 if (ysave->yyss) Safefree(ysave->yyss);
2494 if (ysave->yyvs) Safefree(ysave->yyvs);
2495 yydebug = ysave->oldyydebug;
2496 yynerrs = ysave->oldyynerrs;
2497 yyerrflag = ysave->oldyyerrflag;
2498 yychar = ysave->oldyychar;
2499 yyval = ysave->oldyyval;
2500 yylval = ysave->oldyylval;