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