2 /* static char yysccsid[] = "@(#)yaccpar 1.8 (Berkeley) 01/20/91"; */
7 #define PERL_IN_PERLY_C
12 #define dep() deprecate("\"do\" to call subroutines")
14 /* stuff included here to make perly_c.diff apply better */
16 #define yydebug PL_yydebug
17 #define yynerrs PL_yynerrs
18 #define yyerrflag PL_yyerrflag
19 #define yychar PL_yychar
20 #define yyval PL_yyval
21 #define yylval PL_yylval
34 static void yydestruct(pTHXo_ void *ptr);
37 #if 0 /* get this from perly.h instead */
49 #define YYLEX_PARAM (&yychar)
55 static short yylhs[] = { -1,
56 54, 0, 8, 6, 9, 7, 10, 10, 10, 11,
57 11, 11, 11, 24, 24, 24, 24, 24, 24, 24,
58 14, 14, 14, 13, 13, 42, 42, 12, 12, 12,
59 12, 12, 12, 12, 26, 26, 27, 27, 28, 29,
60 30, 31, 32, 53, 53, 1, 1, 1, 1, 1,
61 2, 38, 38, 46, 55, 3, 4, 5, 39, 40,
62 40, 44, 44, 44, 45, 45, 41, 41, 56, 56,
63 58, 57, 15, 15, 15, 25, 25, 25, 36, 36,
64 36, 36, 36, 36, 36, 36, 59, 36, 37, 37,
65 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
66 17, 49, 49, 49, 49, 49, 49, 49, 49, 49,
67 49, 49, 49, 49, 50, 50, 50, 50, 50, 50,
68 50, 50, 51, 51, 51, 51, 51, 52, 52, 52,
69 52, 52, 52, 16, 16, 16, 16, 16, 16, 16,
70 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
71 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
72 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
73 16, 16, 16, 16, 47, 47, 48, 48, 48, 48,
74 48, 33, 33, 34, 34, 34, 43, 23, 18, 19,
75 20, 21, 22, 35, 35, 35, 35,
77 static short yylen[] = { 2,
78 0, 2, 4, 0, 4, 0, 0, 2, 2, 2,
79 1, 2, 3, 1, 1, 3, 3, 3, 3, 3,
80 0, 2, 6, 7, 7, 0, 2, 8, 8, 10,
81 9, 8, 11, 3, 0, 1, 0, 1, 1, 1,
82 1, 1, 1, 0, 1, 1, 1, 1, 1, 1,
83 4, 1, 0, 6, 6, 0, 0, 0, 1, 0,
84 1, 0, 2, 1, 2, 1, 1, 1, 3, 2,
85 0, 7, 3, 3, 1, 2, 3, 1, 3, 5,
86 6, 3, 3, 5, 2, 4, 0, 5, 1, 1,
87 5, 4, 5, 4, 5, 6, 5, 4, 5, 4,
88 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
89 3, 3, 3, 3, 2, 2, 2, 2, 2, 2,
90 2, 2, 3, 2, 4, 3, 5, 2, 2, 4,
91 5, 4, 5, 1, 1, 1, 1, 5, 2, 1,
92 2, 3, 2, 1, 1, 1, 1, 1, 1, 6,
93 5, 4, 5, 1, 1, 3, 4, 3, 1, 2,
94 2, 1, 2, 2, 2, 1, 3, 1, 3, 4,
95 4, 6, 1, 1, 3, 2, 3, 2, 1, 1,
96 1, 0, 1, 0, 1, 2, 1, 2, 2, 2,
99 static short yydefred[] = { 1,
100 0, 7, 0, 45, 58, 56, 0, 56, 56, 8,
101 46, 9, 11, 48, 0, 47, 49, 50, 0, 0,
102 0, 70, 71, 0, 14, 4, 173, 0, 0, 154,
103 0, 168, 0, 57, 57, 0, 0, 0, 0, 0,
104 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
105 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
106 0, 12, 0, 0, 0, 0, 0, 0, 0, 10,
107 0, 0, 0, 0, 0, 146, 148, 0, 0, 0,
108 0, 174, 140, 134, 135, 136, 137, 52, 0, 59,
109 0, 69, 0, 0, 7, 194, 197, 196, 195, 0,
110 0, 0, 0, 0, 0, 4, 4, 4, 4, 4,
111 4, 0, 0, 0, 0, 0, 163, 0, 0, 0,
112 0, 85, 0, 192, 0, 129, 0, 0, 0, 0,
113 0, 0, 0, 179, 181, 180, 0, 188, 0, 0,
114 0, 0, 0, 0, 0, 0, 124, 0, 0, 0,
115 189, 190, 191, 193, 0, 34, 0, 0, 0, 0,
116 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
117 0, 0, 0, 0, 0, 0, 0, 119, 120, 0,
118 0, 0, 0, 0, 0, 0, 0, 0, 0, 13,
119 0, 51, 61, 0, 0, 0, 0, 83, 0, 0,
120 87, 0, 0, 0, 0, 0, 0, 0, 4, 167,
121 169, 0, 0, 0, 0, 0, 0, 0, 126, 0,
122 158, 178, 0, 0, 175, 0, 0, 123, 27, 0,
123 0, 19, 0, 0, 0, 0, 73, 0, 0, 0,
124 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
125 0, 0, 89, 0, 0, 90, 0, 0, 101, 0,
126 0, 0, 0, 0, 0, 0, 156, 0, 0, 0,
127 0, 0, 0, 3, 0, 0, 171, 0, 0, 0,
128 42, 0, 43, 0, 0, 0, 0, 187, 0, 0,
129 36, 41, 0, 0, 0, 170, 186, 86, 0, 130,
130 0, 132, 0, 125, 177, 65, 0, 0, 0, 0,
131 98, 0, 0, 0, 0, 100, 94, 0, 92, 0,
132 152, 0, 157, 63, 68, 67, 55, 0, 54, 84,
133 0, 88, 127, 0, 0, 0, 0, 0, 0, 0,
134 0, 80, 131, 133, 151, 0, 0, 0, 99, 93,
135 0, 97, 95, 153, 91, 72, 172, 6, 0, 0,
136 0, 0, 0, 0, 0, 0, 150, 96, 81, 7,
137 28, 29, 0, 0, 24, 25, 0, 32, 0, 0,
138 0, 22, 0, 0, 0, 31, 5, 0, 30, 0,
141 static short yydgoto[] = { 1,
142 10, 11, 20, 104, 19, 95, 370, 98, 359, 3,
143 12, 13, 70, 375, 285, 72, 73, 74, 75, 76,
144 77, 78, 79, 291, 81, 292, 281, 283, 286, 294,
145 282, 284, 122, 214, 100, 82, 257, 89, 91, 194,
146 327, 156, 289, 271, 225, 14, 83, 137, 84, 85,
147 86, 87, 15, 2, 16, 17, 18, 93, 278,
149 static short yysindex[] = { 0,
150 0, 0, -132, 0, 0, 0, -51, 0, 0, 0,
151 0, 0, 0, 0, 650, 0, 0, 0, -239, -215,
152 5, 0, 0, -215, 0, 0, 0, -31, -31, 0,
153 -24, 0, 2181, 0, 0, 11, 16, 32, 46, -34,
154 2181, 49, 72, 76, 1017, 977, -31, 1081, 1348, -134,
155 2181, 85, -31, 2181, 2181, 2181, 2181, 2181, 2181, 1388,
156 1428, 0, 2181, 2181, -31, -31, -31, -31, -150, 0,
157 337, 849, -13, -58, -48, 0, 0, 8, 97, 92,
158 116, 0, 0, 0, 0, 0, 0, 0, 52, 0,
159 -97, 0, -75, -97, 0, 0, 0, 0, 0, 2181,
160 146, 2181, 395, 52, -97, 0, 0, 0, 0, 0,
161 0, 150, 849, 153, 1468, 977, 0, 395, 0, -58,
162 116, 0, 2181, 0, 157, 0, 395, -8, 83, -52,
163 2181, 395, 1528, 0, 0, 0, -89, 0, 116, 107,
164 107, 107, -104, -104, 123, -37, 0, -73, 107, 107,
165 0, 0, 0, 0, 52, 0, 2181, 2181, 2181, 2181,
166 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181,
167 2181, 2181, 2181, 2181, 2181, 2181, 2181, 0, 0, -12,
168 2181, 1735, 2181, 2181, 2181, 2181, 2181, 2181, 1795, 0,
169 2181, 0, 0, -64, -32, -64, 411, 0, 2181, 291,
170 0, -64, 2181, 2181, 2181, 2181, 187, 1854, 0, 0,
171 0, -29, 58, 189, 2181, 116, 1914, 2029, 0, 111,
172 0, 0, -26, -19, 0, 2181, 165, 0, 0, -241,
173 -241, 0, -241, -241, -241, -40, 0, 1618, 395, 1306,
174 185, 168, 849, 1235, 1129, 1169, 1268, 782, 235, 107,
175 107, 2181, 0, 2121, 2181, 0, 218, -46, 0, -3,
176 -68, 61, 106, 65, 108, 68, 0, 17, 849, 26,
177 -30, 2181, -30, 0, 236, 2181, 0, 2181, 52, -241,
178 0, 250, 0, 255, -241, 259, 260, 0, 248, 337,
179 0, 0, 262, 261, 2181, 0, 0, 0, 22, 0,
180 33, 0, 36, 0, 0, 0, 125, 2181, 2181, 71,
181 0, 50, 127, 2181, 182, 0, 0, 184, 0, 199,
182 0, 201, 0, 0, 0, 0, 0, 272, 0, 0,
183 354, 0, 0, 216, 216, 216, 216, 2181, 216, 2181,
184 301, 0, 0, 0, 0, 167, 2418, 228, 0, 0,
185 319, 0, 0, 0, 0, 0, 0, 0, -150, -150,
186 -123, -123, 322, -150, 308, 216, 0, 0, 0, 0,
187 0, 0, 216, 334, 0, 0, 216, 0, 1854, -150,
188 449, 0, 2181, -150, 340, 0, 0, 355, 0, 216,
191 static short yyrindex[] = { 0,
192 0, 0, 247, 0, 0, 0, 0, 0, 0, 0,
193 0, 0, 0, 0, 0, 0, 0, 0, 274, 0,
194 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
195 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
196 40, 455, 0, 0, 2367, 2469, 0, 0, 0, 0,
197 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
198 0, 0, 0, 0, 0, 0, 0, 0, 119, 0,
199 3, 943, 2515, 2603, 2653, 0, 0, 2708, 2754, 0,
200 -6, 0, 0, 0, 0, 0, 0, 0, 0, 0,
201 -33, 0, 0, -33, 0, 0, 0, 0, 0, 2469,
202 0, 0, 3919, 0, -102, 0, 0, 0, 0, 0,
203 0, 0, 3216, 0, 0, 359, 0, 3955, 526, 587,
204 2276, 0, 0, 0, 2801, 0, 3999, 2603, 0, 0,
205 2469, 4043, 0, 0, 0, 0, 2858, 0, 3225, 3461,
206 3527, 3588, 3352, 3399, 2908, 0, 0, 0, 3635, 3680,
207 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
208 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
209 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
210 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
211 2990, 0, 0, -28, 0, -28, 917, 0, 359, 0,
212 0, 295, 379, 0, 0, 0, 0, 370, 0, 0,
213 0, 0, 390, 0, 0, 3291, 0, 0, 0, 0,
214 0, 0, 0, 3056, 0, 0, 3113, 0, 0, 14,
215 35, 0, 55, 91, 117, 1991, 0, 4235, 4090, 1826,
216 3807, 3871, 3283, 0, -22, 4191, 4155, 4145, 1048, 3719,
217 3763, 0, 0, 0, 0, 0, 3163, 0, 0, 0,
218 0, 0, 0, 0, 0, 0, 0, 0, 4267, -10,
219 0, 375, 0, 0, 0, 0, 0, 2469, 0, 136,
220 0, 0, 0, 0, 400, 0, 0, 0, 0, 139,
221 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
222 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
223 0, 0, 0, 359, 0, 0, 0, 0, 0, 0,
224 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
225 0, 0, 0, 0, 0, 0, 0, 0, 0, 396,
226 0, 0, 0, 0, 0, 0, 4080, 0, 0, 0,
227 0, 0, 0, 0, 0, 0, 0, 0, 119, 119,
228 179, 179, 0, 119, 0, 0, 0, 0, 0, 0,
229 0, 0, 0, 0, 0, 0, 0, 0, 415, 119,
230 917, 0, 0, 119, 0, 0, 0, 0, 0, 0,
233 static short yygindex[] = { 0,
234 0, 0, 196, 425, 0, -2, 0, 37, 634, -94,
235 0, 0, 0, -323, -15, 2445, 0, 999, 414, 417,
236 0, 0, 0, 463, -43, 0, 0, 321, -198, 103,
237 147, 280, -91, -185, 1, 0, 0, 0, 464, -44,
238 222, 338, 0, -179, 0, 0, 0, 0, 0, 0,
239 0, 0, 0, 0, 0, 0, 0, 0, 0,
241 #define YYTABLESIZE 4568
242 static short yytable[] = { 71,
243 197, 65, 121, 227, 65, 111, 220, 22, 198, 293,
244 139, 296, 315, 275, 305, 102, 273, 88, 113, 228,
245 60, 113, 279, 65, 317, 60, 182, 254, 325, 101,
246 62, 218, 185, 130, 75, 113, 113, 316, 376, 221,
247 113, 90, 187, 15, 146, 148, 123, 124, 64, 196,
248 106, 69, 75, 138, 18, 107, 121, 323, 162, 163,
249 202, 15, 342, 92, 184, 151, 152, 153, 154, 394,
250 113, 108, 18, 343, 186, 39, 344, 183, 255, 216,
251 159, 117, 185, 159, 126, 109, 75, 121, 114, 60,
252 349, 26, 26, 39, 62, 16, 341, 159, 159, 212,
253 213, 297, 159, 203, 204, 205, 206, 207, 208, 181,
254 252, 115, 64, 16, 184, 116, 215, 223, 26, 318,
255 65, 67, 131, 320, 133, 192, 322, 155, 351, 348,
256 188, 17, 159, 4, 5, 6, 189, 7, 8, 363,
257 201, 230, 231, 233, 234, 235, 236, 237, 66, 17,
258 190, 26, 373, 374, 26, 26, 26, 20, 26, 191,
259 26, 26, 193, 26, 9, 258, 260, 261, 262, 263,
260 264, 265, 266, 268, 26, 20, 38, 26, 21, 40,
261 328, 195, 26, 213, 388, 199, 332, 280, 231, 209,
262 231, 229, 290, 210, 38, 60, 217, 15, 319, 299,
263 321, 301, 303, 23, 24, 21, 295, 219, 224, 26,
264 307, 21, 180, 226, 21, 21, 21, 345, 21, 350,
265 21, 21, 65, 21, 272, 96, 162, 163, 121, 298,
266 97, 162, 163, 270, 121, 304, 310, 21, 312, 313,
267 306, 26, 21, 26, 26, 253, 2, 162, 163, 113,
268 113, 113, 113, 162, 163, 308, 113, 314, 113, 367,
269 163, 110, 162, 163, 60, 75, 75, 75, 75, 21,
270 162, 163, 75, 162, 163, 381, 330, 113, 113, 44,
271 113, 113, 44, 44, 44, 324, 44, 338, 44, 44,
272 334, 44, 346, 75, 75, 335, 162, 163, 213, 336,
273 337, 21, 339, 21, 21, 44, 352, 326, 353, 326,
274 44, 159, 159, 159, 159, 333, 162, 163, 159, 340,
275 159, 162, 163, 354, 280, 355, 159, 159, 159, 159,
276 356, 277, 162, 163, 276, 162, 163, 44, 358, 159,
277 159, 366, 159, 159, 159, 159, 159, 159, 159, 162,
278 163, 159, 368, 170, 159, 159, 159, 162, 163, 369,
279 162, 163, 377, 71, 162, 163, 379, 162, 163, 44,
280 162, 163, 44, 383, 26, 26, 26, 26, 26, 26,
281 390, 26, 26, 26, 26, 26, 26, 26, 26, 26,
282 26, 26, 26, 26, 357, 391, 53, 26, 26, 184,
283 26, 26, 26, 26, 26, 162, 163, 162, 163, 26,
284 26, 26, 26, 26, 26, 26, 170, 62, 177, 37,
285 26, 178, 179, 180, 162, 163, 162, 163, 35, 26,
286 185, 26, 26, 182, 21, 21, 21, 21, 21, 21,
287 40, 21, 21, 21, 21, 21, 21, 21, 21, 21,
288 21, 21, 21, 21, 37, 35, 167, 21, 21, 105,
289 21, 21, 21, 21, 21, 135, 162, 163, 136, 21,
290 21, 21, 21, 21, 21, 21, 176, 80, 232, 177,
291 21, 385, 178, 179, 180, 287, 365, 94, 0, 21,
292 0, 21, 21, 176, 329, 166, 177, 0, 166, 178,
293 179, 180, 44, 44, 44, 44, 44, 44, 0, 44,
294 44, 44, 166, 166, 0, 44, 0, 166, 44, 44,
295 44, 44, 0, 167, 168, 44, 44, 0, 44, 44,
296 44, 44, 44, 0, 0, 274, 0, 44, 44, 44,
297 44, 44, 44, 176, 0, 0, 177, 166, 44, 178,
298 179, 180, 0, 0, 0, 0, 0, 44, 194, 44,
299 44, 194, 194, 194, 0, 194, 173, 194, 194, 173,
300 194, 164, 0, 387, 0, 0, 0, 165, 166, 167,
301 168, 0, 0, 173, 173, 0, 0, 0, 173, 194,
302 0, 0, 0, 169, 171, 172, 173, 174, 175, 176,
303 0, 0, 177, 0, 0, 178, 179, 180, 157, 158,
304 159, 160, 0, 0, 0, 161, 194, 0, 173, 195,
305 0, 0, 195, 195, 195, 0, 195, 144, 195, 195,
306 144, 195, 0, 0, 164, 0, 162, 163, 0, 0,
307 165, 166, 167, 168, 144, 144, 0, 0, 0, 144,
308 195, 194, 0, 0, 0, 0, 169, 171, 172, 173,
309 174, 175, 176, 0, 0, 177, 0, 0, 178, 179,
310 180, 0, 0, 0, 0, 0, 4, 5, 6, 144,
311 7, 8, 55, 167, 168, 65, 67, 53, 0, 60,
312 0, 68, 64, 0, 63, 0, 371, 372, 0, 0,
313 0, 378, 175, 176, 0, 0, 177, 9, 62, 178,
314 179, 180, 195, 66, 4, 5, 6, 386, 7, 8,
315 0, 389, 0, 0, 0, 0, 166, 166, 166, 166,
316 0, 0, 0, 166, 0, 166, 0, 0, 0, 0,
317 61, 166, 166, 166, 166, 9, 0, 0, 0, 0,
318 0, 0, 0, 0, 166, 166, 0, 166, 166, 166,
319 166, 166, 166, 166, 0, 0, 166, 0, 0, 166,
320 166, 166, 26, 0, 0, 56, 0, 0, 0, 0,
321 0, 0, 194, 194, 194, 194, 194, 0, 194, 194,
322 194, 0, 0, 0, 194, 0, 0, 173, 173, 173,
323 173, 0, 0, 0, 173, 194, 173, 194, 194, 194,
324 194, 194, 173, 173, 173, 173, 194, 194, 194, 194,
325 194, 194, 0, 0, 0, 173, 173, 194, 173, 173,
326 173, 173, 173, 173, 173, 0, 194, 173, 194, 194,
327 173, 173, 173, 195, 195, 195, 195, 195, 0, 195,
328 195, 195, 0, 0, 0, 195, 0, 0, 144, 144,
329 144, 144, 0, 0, 0, 144, 195, 144, 195, 195,
330 195, 195, 195, 144, 144, 144, 144, 195, 195, 195,
331 195, 195, 195, 0, 0, 0, 144, 144, 195, 144,
332 144, 144, 144, 144, 144, 144, 0, 195, 144, 195,
333 195, 144, 144, 144, 0, 25, 27, 28, 29, 30,
334 31, 170, 32, 33, 34, 0, 0, 0, 35, 0,
335 0, 36, 37, 38, 39, 0, 0, 0, 40, 41,
336 0, 42, 43, 44, 45, 46, 0, 0, 0, 0,
337 47, 48, 49, 50, 51, 52, 0, 0, 0, 44,
338 0, 54, 44, 44, 44, 0, 44, 0, 44, 44,
339 57, 44, 58, 59, 0, 0, 0, 0, 360, 361,
340 362, 0, 364, 0, 0, 44, 0, 0, 0, 0,
341 44, 0, 0, 78, 0, 0, 78, 0, 0, 0,
342 0, 0, 0, 0, 0, 0, 0, 0, 0, 380,
343 78, 78, 0, 0, 0, 0, 382, 44, 0, 55,
344 384, 0, 65, 67, 53, 0, 60, 0, 68, 64,
345 0, 63, 0, 392, 393, 0, 99, 99, 0, 0,
346 0, 0, 0, 0, 0, 78, 0, 0, 112, 44,
347 66, 0, 44, 0, 120, 99, 128, 0, 0, 55,
348 134, 99, 65, 67, 53, 0, 60, 0, 68, 64,
349 0, 63, 0, 99, 99, 99, 99, 61, 165, 166,
350 167, 168, 0, 0, 0, 0, 0, 0, 0, 0,
351 66, 0, 0, 0, 0, 0, 0, 0, 106, 175,
352 176, 106, 0, 177, 0, 0, 178, 179, 180, 26,
353 0, 0, 56, 0, 0, 106, 106, 61, 0, 0,
354 106, 0, 0, 55, 120, 0, 65, 67, 53, 0,
355 60, 0, 68, 64, 0, 63, 0, 0, 0, 164,
356 0, 0, 0, 0, 0, 165, 166, 167, 168, 26,
357 106, 0, 56, 0, 66, 0, 0, 0, 0, 0,
358 0, 169, 171, 172, 173, 174, 175, 176, 0, 0,
359 177, 0, 0, 178, 179, 180, 0, 0, 0, 0,
360 0, 61, 44, 44, 44, 44, 44, 44, 256, 44,
361 44, 44, 0, 0, 0, 44, 0, 0, 44, 44,
362 44, 44, 0, 0, 0, 44, 44, 0, 44, 44,
363 44, 44, 44, 26, 0, 288, 56, 44, 44, 44,
364 44, 44, 44, 0, 78, 78, 78, 78, 44, 0,
365 0, 78, 0, 0, 0, 0, 0, 44, 0, 44,
366 44, 0, 0, 119, 28, 29, 30, 31, 97, 32,
367 33, 34, 78, 78, 0, 35, 0, 0, 0, 0,
368 0, 0, 0, 0, 0, 0, 41, 0, 42, 43,
369 44, 45, 46, 0, 0, 0, 0, 47, 48, 49,
370 50, 51, 52, 27, 28, 29, 30, 31, 54, 32,
371 33, 34, 0, 0, 0, 35, 0, 57, 0, 58,
372 59, 0, 309, 0, 0, 0, 41, 170, 42, 43,
373 44, 45, 46, 0, 0, 0, 0, 47, 48, 49,
374 50, 51, 52, 0, 0, 0, 0, 0, 54, 106,
375 106, 106, 106, 0, 0, 0, 106, 57, 106, 58,
376 59, 0, 0, 0, 106, 106, 0, 125, 28, 29,
377 30, 31, 0, 32, 33, 34, 0, 106, 106, 35,
378 106, 106, 106, 106, 106, 106, 0, 0, 0, 0,
379 41, 0, 42, 43, 44, 45, 46, 0, 0, 0,
380 0, 47, 48, 49, 50, 51, 52, 0, 0, 0,
381 55, 0, 54, 65, 67, 53, 0, 60, 0, 68,
382 64, 57, 63, 58, 59, 0, 0, 0, 0, 0,
383 0, 0, 0, 0, 0, 0, 129, 0, 0, 0,
384 0, 66, 0, 0, 0, 165, 166, 167, 168, 0,
385 55, 0, 0, 65, 67, 53, 0, 60, 145, 68,
386 64, 0, 63, 172, 173, 174, 175, 176, 61, 0,
387 177, 0, 0, 178, 179, 180, 0, 0, 0, 0,
388 0, 66, 0, 0, 0, 165, 166, 167, 168, 0,
389 55, 0, 0, 65, 67, 53, 0, 60, 0, 68,
390 64, 0, 63, 56, 173, 174, 175, 176, 61, 0,
391 177, 0, 0, 178, 179, 180, 0, 0, 0, 0,
392 0, 66, 0, 0, 0, 0, 0, 0, 0, 0,
393 55, 0, 0, 65, 67, 53, 0, 60, 211, 68,
394 64, 0, 63, 56, 0, 164, 0, 0, 61, 0,
395 147, 165, 166, 167, 168, 0, 0, 0, 0, 0,
396 0, 66, 0, 0, 0, 0, 0, 169, 171, 172,
397 173, 174, 175, 176, 0, 0, 177, 0, 0, 178,
398 179, 180, 0, 56, 165, 166, 167, 168, 61, 0,
399 55, 0, 0, 65, 67, 53, 0, 60, 222, 68,
400 64, 0, 63, 0, 174, 175, 176, 0, 0, 177,
401 0, 0, 178, 179, 180, 0, 0, 0, 0, 0,
402 0, 66, 165, 56, 167, 168, 0, 0, 0, 0,
403 0, 0, 0, 0, 27, 28, 29, 30, 31, 0,
404 32, 33, 34, 175, 176, 0, 35, 177, 61, 0,
405 178, 179, 180, 0, 0, 0, 0, 41, 0, 42,
406 43, 44, 45, 46, 0, 0, 0, 0, 47, 48,
407 49, 50, 51, 52, 27, 28, 29, 30, 31, 54,
408 32, 33, 34, 56, 0, 0, 35, 0, 57, 0,
409 58, 59, 0, 0, 0, 0, 0, 41, 0, 42,
410 43, 44, 45, 46, 0, 0, 0, 0, 47, 48,
411 49, 50, 51, 52, 27, 28, 29, 30, 31, 54,
412 32, 33, 34, 0, 0, 0, 35, 0, 57, 0,
413 58, 59, 0, 0, 0, 0, 0, 41, 0, 42,
414 43, 44, 45, 46, 0, 0, 0, 0, 47, 48,
415 49, 50, 51, 52, 27, 28, 29, 30, 31, 54,
416 32, 33, 34, 0, 0, 0, 35, 0, 57, 0,
417 58, 59, 0, 0, 0, 0, 0, 41, 0, 42,
418 43, 44, 45, 46, 0, 0, 0, 0, 47, 48,
419 49, 50, 51, 52, 0, 0, 0, 55, 0, 54,
420 65, 67, 53, 0, 60, 259, 68, 64, 57, 63,
421 58, 59, 0, 0, 27, 28, 29, 30, 31, 0,
422 32, 33, 34, 0, 0, 0, 35, 0, 66, 0,
423 0, 0, 0, 0, 0, 0, 0, 41, 0, 42,
424 43, 44, 45, 46, 0, 0, 0, 0, 47, 48,
425 49, 50, 51, 52, 0, 61, 0, 55, 0, 54,
426 65, 67, 53, 0, 60, 267, 68, 64, 57, 63,
427 58, 59, 0, 0, 0, 0, 0, 0, 0, 0,
428 0, 0, 0, 0, 0, 0, 0, 0, 66, 0,
429 56, 0, 0, 0, 0, 0, 108, 0, 0, 108,
430 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
431 0, 0, 0, 108, 108, 61, 55, 0, 108, 65,
432 67, 53, 0, 60, 0, 68, 64, 0, 63, 0,
433 0, 0, 0, 0, 165, 166, 167, 168, 0, 0,
434 0, 0, 0, 0, 0, 0, 0, 66, 108, 0,
435 56, 171, 172, 173, 174, 175, 176, 0, 0, 177,
436 0, 0, 178, 179, 180, 0, 0, 0, 0, 0,
437 0, 0, 0, 0, 61, 0, 55, 0, 0, 65,
438 67, 53, 0, 60, 300, 68, 64, 0, 63, 0,
439 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
440 0, 0, 0, 0, 0, 0, 0, 66, 0, 56,
441 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
442 0, 27, 28, 29, 30, 31, 0, 32, 33, 34,
443 0, 0, 0, 35, 61, 0, 0, 0, 0, 0,
444 0, 0, 0, 0, 41, 0, 42, 43, 44, 45,
445 46, 0, 0, 0, 0, 47, 48, 49, 50, 51,
446 52, 74, 0, 0, 74, 0, 54, 0, 0, 56,
447 0, 0, 0, 0, 0, 57, 0, 58, 59, 74,
448 0, 27, 28, 29, 30, 31, 0, 32, 33, 34,
449 0, 55, 0, 35, 65, 67, 53, 0, 60, 302,
450 68, 64, 0, 63, 41, 0, 42, 43, 44, 45,
451 46, 0, 0, 74, 0, 47, 48, 49, 50, 51,
452 52, 0, 66, 0, 0, 0, 54, 108, 108, 108,
453 108, 0, 0, 0, 108, 57, 108, 58, 59, 25,
454 27, 28, 29, 30, 31, 0, 32, 33, 34, 61,
455 0, 0, 35, 0, 0, 108, 108, 0, 108, 108,
456 108, 108, 108, 41, 0, 42, 43, 44, 45, 46,
457 0, 0, 0, 0, 47, 48, 49, 50, 51, 52,
458 0, 0, 0, 55, 56, 54, 65, 67, 53, 0,
459 60, 311, 68, 64, 57, 63, 58, 59, 0, 0,
460 27, 28, 29, 30, 31, 0, 32, 33, 34, 0,
461 0, 0, 35, 0, 66, 0, 0, 0, 0, 0,
462 0, 0, 0, 41, 0, 42, 43, 44, 45, 46,
463 0, 0, 0, 0, 47, 48, 49, 50, 51, 52,
464 0, 61, 0, 55, 0, 54, 65, 67, 53, 0,
465 60, 0, 68, 64, 57, 63, 58, 59, 0, 0,
466 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
467 0, 0, 0, 0, 66, 0, 56, 0, 0, 0,
468 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
469 0, 0, 74, 74, 74, 74, 0, 0, 0, 74,
470 0, 61, 0, 0, 0, 0, 0, 0, 0, 0,
471 0, 0, 0, 0, 0, 27, 28, 29, 30, 31,
472 74, 32, 33, 34, 0, 0, 0, 35, 0, 0,
473 0, 0, 0, 0, 0, 0, 56, 0, 41, 0,
474 42, 43, 44, 45, 46, 0, 183, 0, 0, 47,
475 48, 49, 50, 51, 52, 0, 0, 0, 0, 0,
476 54, 0, 0, 183, 183, 0, 0, 0, 183, 57,
477 0, 58, 59, 0, 0, 0, 0, 0, 0, 0,
478 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
479 0, 0, 0, 0, 0, 0, 0, 0, 183, 0,
480 0, 0, 0, 0, 0, 0, 0, 27, 28, 29,
481 30, 31, 0, 32, 33, 34, 0, 0, 0, 35,
482 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
483 41, 0, 42, 43, 44, 45, 46, 162, 0, 0,
484 162, 47, 48, 49, 50, 51, 52, 0, 0, 0,
485 0, 0, 54, 0, 162, 162, 0, 0, 0, 162,
486 0, 57, 0, 58, 59, 0, 0, 27, 28, 29,
487 30, 31, 0, 32, 33, 34, 0, 0, 0, 35,
488 0, 0, 0, 0, 0, 0, 0, 0, 0, 162,
489 41, 0, 42, 43, 44, 45, 46, 0, 0, 0,
490 0, 47, 48, 49, 50, 51, 52, 103, 0, 0,
491 170, 0, 54, 0, 0, 113, 0, 0, 0, 118,
492 0, 57, 127, 58, 59, 132, 0, 0, 0, 140,
493 141, 142, 143, 144, 0, 0, 0, 149, 150, 182,
494 0, 0, 182, 0, 0, 0, 0, 0, 0, 0,
495 0, 0, 0, 0, 0, 0, 182, 182, 0, 0,
496 0, 182, 0, 0, 0, 0, 0, 0, 0, 0,
497 0, 0, 0, 0, 0, 0, 200, 183, 183, 183,
498 183, 0, 0, 0, 183, 149, 183, 0, 149, 0,
499 0, 182, 183, 183, 183, 183, 0, 0, 0, 0,
500 0, 0, 149, 149, 0, 183, 183, 149, 183, 183,
501 183, 183, 183, 183, 183, 0, 0, 183, 0, 0,
502 183, 183, 183, 0, 0, 0, 0, 0, 0, 0,
503 0, 0, 0, 0, 0, 0, 0, 149, 238, 239,
504 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
505 250, 251, 0, 0, 0, 0, 0, 0, 0, 0,
506 0, 0, 0, 0, 0, 269, 0, 0, 162, 162,
507 162, 162, 0, 144, 0, 162, 144, 162, 0, 0,
508 0, 0, 0, 162, 162, 162, 162, 0, 0, 0,
509 144, 144, 0, 0, 0, 144, 162, 162, 0, 162,
510 162, 162, 162, 162, 162, 162, 0, 0, 162, 0,
511 0, 162, 162, 162, 0, 0, 0, 0, 0, 0,
512 0, 0, 0, 147, 0, 144, 147, 0, 164, 0,
513 0, 0, 0, 0, 165, 166, 167, 168, 0, 0,
514 147, 147, 0, 0, 0, 147, 0, 0, 0, 0,
515 331, 171, 172, 173, 174, 175, 176, 0, 0, 177,
516 0, 0, 178, 179, 180, 0, 0, 0, 0, 0,
517 182, 182, 182, 182, 0, 147, 0, 182, 145, 182,
518 0, 145, 0, 347, 0, 182, 182, 182, 182, 0,
519 0, 0, 0, 0, 0, 145, 145, 0, 182, 182,
520 145, 182, 182, 182, 182, 182, 182, 182, 0, 0,
521 182, 0, 0, 182, 182, 182, 149, 149, 149, 149,
522 0, 0, 0, 149, 155, 149, 0, 155, 0, 0,
523 145, 149, 149, 149, 149, 0, 0, 0, 0, 0,
524 0, 155, 155, 0, 149, 149, 155, 149, 149, 149,
525 149, 149, 149, 149, 0, 0, 149, 0, 0, 149,
526 149, 149, 0, 0, 0, 0, 0, 0, 0, 0,
527 0, 173, 0, 0, 173, 0, 155, 0, 0, 0,
528 0, 0, 0, 0, 0, 0, 0, 0, 173, 173,
529 0, 0, 0, 173, 0, 0, 0, 0, 0, 0,
530 0, 0, 0, 0, 144, 144, 144, 144, 0, 0,
531 0, 144, 0, 144, 0, 0, 0, 0, 0, 144,
532 144, 144, 144, 173, 0, 0, 0, 0, 176, 0,
533 0, 176, 144, 144, 0, 144, 144, 144, 144, 144,
534 144, 144, 0, 0, 144, 176, 176, 144, 144, 144,
535 176, 0, 0, 0, 147, 147, 147, 147, 0, 0,
536 0, 147, 0, 147, 0, 0, 0, 0, 0, 147,
537 147, 147, 147, 0, 0, 0, 0, 0, 143, 0,
538 176, 143, 147, 147, 0, 147, 147, 147, 147, 147,
539 147, 147, 0, 0, 147, 143, 143, 147, 147, 147,
540 143, 0, 0, 0, 0, 0, 0, 0, 0, 145,
541 145, 145, 145, 0, 0, 0, 145, 0, 145, 0,
542 0, 0, 0, 0, 145, 145, 145, 145, 0, 0,
543 143, 0, 0, 0, 0, 0, 0, 145, 145, 0,
544 145, 145, 145, 145, 145, 145, 145, 0, 0, 145,
545 0, 0, 145, 145, 145, 155, 155, 155, 155, 0,
546 76, 0, 155, 76, 155, 0, 0, 0, 0, 0,
547 155, 155, 155, 155, 0, 0, 0, 76, 76, 0,
548 0, 0, 76, 155, 155, 0, 155, 155, 155, 155,
549 155, 155, 155, 0, 0, 155, 0, 0, 155, 155,
550 155, 0, 173, 173, 173, 173, 0, 0, 0, 173,
551 0, 173, 76, 0, 0, 0, 0, 173, 173, 173,
552 173, 0, 0, 0, 0, 0, 66, 0, 0, 66,
553 173, 173, 0, 173, 173, 173, 173, 173, 173, 173,
554 0, 0, 173, 66, 66, 173, 173, 173, 66, 0,
555 0, 0, 0, 0, 0, 0, 0, 0, 0, 176,
556 176, 176, 176, 0, 0, 0, 176, 0, 176, 0,
557 0, 0, 0, 0, 176, 176, 176, 176, 66, 0,
558 0, 0, 0, 142, 0, 0, 142, 176, 176, 0,
559 176, 176, 176, 176, 176, 176, 176, 0, 0, 176,
560 142, 142, 176, 176, 176, 142, 0, 0, 0, 143,
561 143, 143, 143, 0, 0, 0, 143, 0, 143, 0,
562 0, 0, 0, 0, 143, 143, 143, 143, 0, 0,
563 0, 0, 0, 82, 0, 142, 82, 143, 143, 0,
564 143, 143, 143, 143, 143, 143, 143, 0, 0, 143,
565 82, 82, 143, 143, 143, 82, 0, 0, 0, 0,
566 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
567 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
568 0, 0, 0, 0, 0, 82, 160, 0, 0, 160,
569 0, 76, 76, 76, 76, 161, 0, 0, 76, 0,
570 76, 0, 0, 160, 160, 0, 76, 76, 76, 76,
571 0, 0, 161, 161, 0, 0, 0, 161, 0, 76,
572 76, 0, 76, 76, 76, 76, 76, 76, 76, 0,
573 0, 76, 0, 0, 76, 76, 76, 0, 160, 0,
574 0, 0, 0, 0, 0, 0, 0, 161, 0, 0,
575 0, 0, 0, 102, 0, 0, 102, 66, 66, 66,
576 66, 79, 0, 0, 66, 0, 66, 0, 0, 0,
577 102, 102, 66, 66, 66, 66, 0, 0, 79, 79,
578 0, 0, 0, 79, 0, 66, 66, 0, 66, 66,
579 66, 66, 66, 66, 66, 0, 0, 66, 0, 0,
580 66, 66, 66, 0, 0, 102, 0, 0, 0, 0,
581 0, 0, 0, 79, 142, 142, 142, 142, 0, 0,
582 0, 142, 121, 142, 0, 121, 0, 0, 0, 142,
583 142, 142, 142, 0, 0, 0, 0, 0, 0, 121,
584 121, 0, 142, 142, 121, 142, 142, 142, 142, 142,
585 142, 142, 0, 0, 142, 0, 0, 142, 142, 142,
586 0, 0, 0, 0, 82, 82, 82, 82, 0, 122,
587 0, 82, 122, 82, 121, 0, 0, 0, 0, 82,
588 82, 82, 82, 0, 0, 0, 122, 122, 0, 0,
589 0, 122, 82, 82, 0, 82, 82, 82, 82, 82,
590 82, 82, 0, 0, 82, 0, 0, 82, 82, 82,
591 0, 0, 0, 0, 0, 0, 0, 160, 160, 160,
592 160, 122, 0, 0, 160, 0, 161, 161, 161, 161,
593 0, 117, 0, 161, 117, 161, 0, 0, 0, 0,
594 0, 161, 161, 161, 161, 160, 160, 0, 117, 117,
595 0, 0, 0, 117, 161, 161, 0, 161, 161, 161,
596 161, 161, 161, 161, 0, 0, 161, 0, 0, 161,
597 161, 161, 0, 0, 0, 0, 0, 0, 0, 0,
598 0, 0, 0, 117, 102, 102, 102, 102, 0, 0,
599 0, 102, 79, 79, 79, 79, 0, 118, 0, 79,
600 118, 79, 0, 0, 0, 0, 0, 79, 79, 79,
601 79, 0, 102, 102, 118, 118, 0, 0, 0, 118,
602 79, 79, 0, 79, 79, 79, 79, 79, 79, 79,
603 0, 0, 79, 0, 0, 79, 79, 79, 0, 0,
604 0, 0, 0, 0, 0, 0, 0, 0, 0, 118,
605 0, 0, 0, 121, 121, 121, 121, 0, 139, 0,
606 121, 139, 121, 0, 0, 0, 0, 0, 121, 121,
607 121, 121, 0, 0, 0, 139, 139, 0, 0, 0,
608 139, 121, 121, 0, 121, 121, 121, 121, 121, 121,
609 121, 0, 0, 121, 0, 0, 0, 0, 0, 0,
610 122, 122, 122, 122, 0, 115, 0, 122, 115, 122,
611 139, 0, 0, 0, 0, 122, 122, 122, 122, 0,
612 0, 0, 115, 115, 0, 0, 0, 115, 122, 122,
613 0, 122, 122, 122, 122, 122, 122, 122, 0, 0,
614 122, 0, 0, 0, 0, 0, 0, 0, 0, 0,
615 116, 0, 0, 116, 0, 0, 0, 115, 0, 0,
616 0, 0, 117, 117, 117, 117, 0, 116, 116, 117,
617 0, 117, 116, 0, 0, 0, 0, 117, 117, 117,
618 117, 0, 0, 0, 0, 0, 0, 0, 0, 114,
619 117, 117, 114, 117, 117, 117, 117, 117, 117, 117,
620 0, 0, 116, 0, 0, 0, 114, 114, 0, 0,
621 0, 114, 0, 0, 0, 0, 0, 0, 0, 0,
622 0, 0, 0, 0, 0, 0, 0, 0, 118, 118,
623 118, 118, 0, 103, 0, 118, 103, 118, 0, 0,
624 0, 114, 0, 118, 118, 118, 118, 0, 0, 0,
625 103, 103, 0, 0, 0, 103, 118, 118, 0, 118,
626 118, 118, 118, 118, 118, 118, 0, 0, 0, 0,
627 0, 0, 0, 0, 0, 0, 0, 104, 0, 0,
628 104, 0, 0, 0, 0, 103, 0, 0, 0, 139,
629 139, 139, 139, 0, 104, 104, 139, 0, 139, 104,
630 0, 0, 0, 0, 139, 139, 139, 139, 0, 0,
631 0, 0, 0, 0, 0, 0, 0, 139, 139, 0,
632 139, 139, 139, 139, 139, 139, 139, 0, 0, 104,
633 0, 0, 0, 0, 0, 0, 115, 115, 115, 115,
634 0, 105, 0, 115, 105, 115, 0, 0, 0, 0,
635 0, 115, 115, 115, 115, 0, 0, 0, 105, 105,
636 0, 0, 0, 105, 115, 115, 0, 115, 115, 115,
637 115, 115, 115, 115, 0, 0, 0, 0, 0, 0,
638 0, 116, 116, 116, 116, 0, 0, 0, 116, 165,
639 116, 0, 165, 105, 0, 0, 116, 116, 116, 116,
640 0, 0, 0, 0, 0, 0, 165, 165, 0, 116,
641 116, 165, 116, 116, 116, 116, 116, 116, 116, 0,
642 114, 114, 114, 114, 0, 164, 0, 114, 164, 114,
643 0, 0, 0, 0, 0, 114, 114, 114, 114, 0,
644 0, 165, 164, 164, 0, 0, 0, 164, 114, 114,
645 0, 114, 114, 114, 114, 114, 114, 114, 0, 0,
646 0, 0, 0, 0, 103, 103, 103, 103, 0, 128,
647 0, 103, 128, 103, 0, 0, 0, 164, 0, 103,
648 103, 103, 103, 0, 0, 0, 128, 128, 0, 0,
649 0, 128, 103, 103, 0, 103, 103, 103, 103, 103,
650 103, 103, 0, 0, 0, 0, 0, 0, 104, 104,
651 104, 104, 0, 141, 0, 104, 141, 104, 0, 0,
652 0, 128, 0, 104, 104, 104, 104, 0, 0, 0,
653 141, 141, 0, 0, 0, 141, 104, 104, 0, 104,
654 104, 104, 104, 104, 104, 0, 0, 0, 0, 0,
655 138, 0, 0, 138, 0, 0, 0, 0, 0, 0,
656 107, 0, 0, 107, 0, 141, 0, 138, 138, 0,
657 0, 0, 105, 105, 105, 105, 0, 107, 107, 105,
658 0, 105, 107, 0, 0, 0, 0, 105, 105, 0,
659 105, 0, 0, 0, 0, 0, 0, 0, 0, 0,
660 105, 105, 138, 105, 105, 105, 105, 105, 105, 0,
661 0, 0, 107, 0, 0, 109, 0, 0, 109, 0,
662 165, 165, 165, 165, 0, 110, 0, 165, 110, 165,
663 0, 0, 109, 109, 0, 165, 165, 109, 0, 0,
664 0, 0, 110, 110, 0, 0, 0, 110, 165, 165,
665 0, 165, 165, 165, 165, 165, 164, 164, 164, 164,
666 0, 112, 0, 164, 112, 164, 0, 109, 0, 0,
667 0, 164, 164, 0, 0, 0, 0, 110, 112, 112,
668 0, 0, 0, 112, 164, 164, 0, 164, 164, 164,
669 164, 164, 0, 0, 0, 0, 0, 0, 0, 0,
670 128, 128, 128, 128, 0, 111, 0, 128, 111, 128,
671 0, 0, 0, 112, 0, 128, 128, 0, 0, 0,
672 0, 0, 111, 111, 0, 0, 0, 111, 128, 128,
673 0, 128, 128, 128, 128, 128, 0, 77, 0, 0,
674 77, 0, 0, 0, 141, 141, 141, 141, 0, 0,
675 0, 141, 0, 141, 77, 77, 0, 111, 0, 141,
676 141, 0, 0, 0, 0, 0, 0, 0, 0, 0,
677 0, 0, 141, 141, 0, 141, 141, 141, 141, 141,
678 0, 138, 138, 138, 138, 0, 0, 0, 138, 77,
679 0, 107, 107, 107, 107, 0, 0, 0, 107, 0,
680 107, 0, 0, 0, 0, 0, 0, 107, 0, 138,
681 138, 0, 138, 0, 0, 0, 0, 0, 0, 107,
682 107, 0, 107, 107, 107, 107, 107, 0, 0, 0,
683 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
684 0, 0, 0, 0, 0, 0, 109, 109, 109, 109,
685 0, 0, 0, 109, 0, 109, 110, 110, 110, 110,
686 0, 0, 0, 110, 0, 110, 0, 0, 0, 0,
687 0, 0, 0, 0, 109, 109, 0, 109, 109, 109,
688 109, 109, 0, 0, 110, 110, 0, 110, 110, 110,
689 110, 0, 112, 112, 112, 112, 0, 0, 0, 112,
690 0, 112, 0, 0, 0, 0, 0, 0, 0, 0,
691 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
692 112, 112, 0, 112, 112, 112, 0, 0, 0, 0,
693 0, 0, 0, 0, 0, 0, 111, 111, 111, 111,
694 0, 0, 0, 111, 0, 0, 0, 0, 0, 0,
695 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
696 0, 0, 0, 0, 111, 111, 0, 111, 77, 77,
697 77, 77, 0, 0, 0, 77, 0, 0, 0, 0,
698 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
699 0, 0, 0, 0, 0, 0, 77, 77,
701 static short yycheck[] = { 15,
702 95, 36, 46, 41, 36, 40, 59, 59, 100, 208,
703 54, 41, 59, 199, 41, 40, 196, 257, 41, 93,
704 123, 44, 202, 36, 93, 59, 40, 40, 59, 29,
705 59, 40, 91, 49, 41, 58, 59, 41, 362, 131,
706 63, 257, 91, 41, 60, 61, 46, 47, 59, 94,
707 40, 15, 59, 53, 41, 40, 100, 41, 300, 301,
708 105, 59, 41, 59, 123, 65, 66, 67, 68, 393,
709 93, 40, 59, 41, 123, 41, 41, 91, 91, 123,
710 41, 45, 91, 44, 48, 40, 93, 131, 40, 123,
711 41, 123, 123, 59, 123, 41, 295, 58, 59, 115,
712 116, 44, 63, 106, 107, 108, 109, 110, 111, 123,
713 123, 40, 123, 59, 123, 40, 116, 133, 0, 59,
714 36, 37, 257, 59, 40, 89, 59, 278, 314, 59,
715 123, 41, 93, 266, 267, 268, 40, 270, 271, 338,
716 104, 157, 158, 159, 160, 161, 162, 163, 64, 59,
717 59, 33, 276, 277, 36, 37, 38, 41, 40, 44,
718 42, 43, 260, 45, 297, 181, 182, 183, 184, 185,
719 186, 187, 188, 189, 123, 59, 41, 59, 0, 41,
720 272, 257, 64, 199, 383, 40, 278, 203, 204, 40,
721 206, 155, 208, 41, 59, 298, 40, 59, 93, 215,
722 93, 217, 218, 8, 9, 257, 209, 125, 298, 91,
723 226, 33, 317, 91, 36, 37, 38, 93, 40, 93,
724 42, 43, 36, 45, 257, 257, 300, 301, 272, 41,
725 262, 300, 301, 298, 278, 125, 252, 59, 254, 255,
726 260, 123, 64, 125, 126, 258, 0, 300, 301, 272,
727 273, 274, 275, 300, 301, 91, 279, 40, 281, 93,
728 301, 296, 300, 301, 298, 272, 273, 274, 275, 91,
729 300, 301, 279, 300, 301, 370, 41, 300, 301, 33,
730 303, 304, 36, 37, 38, 260, 40, 40, 42, 43,
731 41, 45, 308, 300, 301, 41, 300, 301, 314, 41,
732 41, 123, 41, 125, 126, 59, 125, 271, 125, 273,
733 64, 272, 273, 274, 275, 279, 300, 301, 279, 59,
734 281, 300, 301, 125, 340, 125, 287, 288, 289, 290,
735 59, 41, 300, 301, 44, 300, 301, 91, 123, 300,
736 301, 41, 303, 304, 305, 306, 307, 308, 309, 300,
737 301, 312, 125, 63, 315, 316, 317, 300, 301, 41,
738 300, 301, 41, 379, 300, 301, 59, 300, 301, 123,
739 300, 301, 126, 40, 256, 257, 258, 259, 260, 261,
740 41, 263, 264, 265, 266, 267, 268, 269, 270, 271,
741 272, 273, 274, 275, 41, 41, 123, 279, 280, 41,
742 282, 283, 284, 285, 286, 300, 301, 300, 301, 291,
743 292, 293, 294, 295, 296, 297, 63, 123, 312, 41,
744 302, 315, 316, 317, 300, 301, 300, 301, 59, 311,
745 41, 313, 314, 59, 256, 257, 258, 259, 260, 261,
746 41, 263, 264, 265, 266, 267, 268, 269, 270, 271,
747 272, 273, 274, 275, 59, 41, 289, 279, 280, 35,
748 282, 283, 284, 285, 286, 52, 300, 301, 52, 291,
749 292, 293, 294, 295, 296, 297, 309, 15, 158, 312,
750 302, 379, 315, 316, 317, 206, 340, 24, -1, 311,
751 -1, 313, 314, 309, 273, 41, 312, -1, 44, 315,
752 316, 317, 256, 257, 258, 259, 260, 261, -1, 263,
753 264, 265, 58, 59, -1, 269, -1, 63, 272, 273,
754 274, 275, -1, 289, 290, 279, 280, -1, 282, 283,
755 284, 285, 286, -1, -1, 125, -1, 291, 292, 293,
756 294, 295, 296, 309, -1, -1, 312, 93, 302, 315,
757 316, 317, -1, -1, -1, -1, -1, 311, 33, 313,
758 314, 36, 37, 38, -1, 40, 41, 42, 43, 44,
759 45, 281, -1, 125, -1, -1, -1, 287, 288, 289,
760 290, -1, -1, 58, 59, -1, -1, -1, 63, 64,
761 -1, -1, -1, 303, 304, 305, 306, 307, 308, 309,
762 -1, -1, 312, -1, -1, 315, 316, 317, 272, 273,
763 274, 275, -1, -1, -1, 279, 91, -1, 93, 33,
764 -1, -1, 36, 37, 38, -1, 40, 41, 42, 43,
765 44, 45, -1, -1, 281, -1, 300, 301, -1, -1,
766 287, 288, 289, 290, 58, 59, -1, -1, -1, 63,
767 64, 126, -1, -1, -1, -1, 303, 304, 305, 306,
768 307, 308, 309, -1, -1, 312, -1, -1, 315, 316,
769 317, -1, -1, -1, -1, -1, 266, 267, 268, 93,
770 270, 271, 33, 289, 290, 36, 37, 38, -1, 40,
771 -1, 42, 43, -1, 45, -1, 359, 360, -1, -1,
772 -1, 364, 308, 309, -1, -1, 312, 297, 59, 315,
773 316, 317, 126, 64, 266, 267, 268, 380, 270, 271,
774 -1, 384, -1, -1, -1, -1, 272, 273, 274, 275,
775 -1, -1, -1, 279, -1, 281, -1, -1, -1, -1,
776 91, 287, 288, 289, 290, 297, -1, -1, -1, -1,
777 -1, -1, -1, -1, 300, 301, -1, 303, 304, 305,
778 306, 307, 308, 309, -1, -1, 312, -1, -1, 315,
779 316, 317, 123, -1, -1, 126, -1, -1, -1, -1,
780 -1, -1, 257, 258, 259, 260, 261, -1, 263, 264,
781 265, -1, -1, -1, 269, -1, -1, 272, 273, 274,
782 275, -1, -1, -1, 279, 280, 281, 282, 283, 284,
783 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
784 295, 296, -1, -1, -1, 300, 301, 302, 303, 304,
785 305, 306, 307, 308, 309, -1, 311, 312, 313, 314,
786 315, 316, 317, 257, 258, 259, 260, 261, -1, 263,
787 264, 265, -1, -1, -1, 269, -1, -1, 272, 273,
788 274, 275, -1, -1, -1, 279, 280, 281, 282, 283,
789 284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
790 294, 295, 296, -1, -1, -1, 300, 301, 302, 303,
791 304, 305, 306, 307, 308, 309, -1, 311, 312, 313,
792 314, 315, 316, 317, -1, 256, 257, 258, 259, 260,
793 261, 63, 263, 264, 265, -1, -1, -1, 269, -1,
794 -1, 272, 273, 274, 275, -1, -1, -1, 279, 280,
795 -1, 282, 283, 284, 285, 286, -1, -1, -1, -1,
796 291, 292, 293, 294, 295, 296, -1, -1, -1, 33,
797 -1, 302, 36, 37, 38, -1, 40, -1, 42, 43,
798 311, 45, 313, 314, -1, -1, -1, -1, 335, 336,
799 337, -1, 339, -1, -1, 59, -1, -1, -1, -1,
800 64, -1, -1, 41, -1, -1, 44, -1, -1, -1,
801 -1, -1, -1, -1, -1, -1, -1, -1, -1, 366,
802 58, 59, -1, -1, -1, -1, 373, 91, -1, 33,
803 377, -1, 36, 37, 38, -1, 40, -1, 42, 43,
804 -1, 45, -1, 390, 391, -1, 28, 29, -1, -1,
805 -1, -1, -1, -1, -1, 93, -1, -1, 40, 123,
806 64, -1, 126, -1, 46, 47, 48, -1, -1, 33,
807 52, 53, 36, 37, 38, -1, 40, -1, 42, 43,
808 -1, 45, -1, 65, 66, 67, 68, 91, 287, 288,
809 289, 290, -1, -1, -1, -1, -1, -1, -1, -1,
810 64, -1, -1, -1, -1, -1, -1, -1, 41, 308,
811 309, 44, -1, 312, -1, -1, 315, 316, 317, 123,
812 -1, -1, 126, -1, -1, 58, 59, 91, -1, -1,
813 63, -1, -1, 33, 116, -1, 36, 37, 38, -1,
814 40, -1, 42, 43, -1, 45, -1, -1, -1, 281,
815 -1, -1, -1, -1, -1, 287, 288, 289, 290, 123,
816 93, -1, 126, -1, 64, -1, -1, -1, -1, -1,
817 -1, 303, 304, 305, 306, 307, 308, 309, -1, -1,
818 312, -1, -1, 315, 316, 317, -1, -1, -1, -1,
819 -1, 91, 256, 257, 258, 259, 260, 261, 180, 263,
820 264, 265, -1, -1, -1, 269, -1, -1, 272, 273,
821 274, 275, -1, -1, -1, 279, 280, -1, 282, 283,
822 284, 285, 286, 123, -1, 207, 126, 291, 292, 293,
823 294, 295, 296, -1, 272, 273, 274, 275, 302, -1,
824 -1, 279, -1, -1, -1, -1, -1, 311, -1, 313,
825 314, -1, -1, 257, 258, 259, 260, 261, 262, 263,
826 264, 265, 300, 301, -1, 269, -1, -1, -1, -1,
827 -1, -1, -1, -1, -1, -1, 280, -1, 282, 283,
828 284, 285, 286, -1, -1, -1, -1, 291, 292, 293,
829 294, 295, 296, 257, 258, 259, 260, 261, 302, 263,
830 264, 265, -1, -1, -1, 269, -1, 311, -1, 313,
831 314, -1, 58, -1, -1, -1, 280, 63, 282, 283,
832 284, 285, 286, -1, -1, -1, -1, 291, 292, 293,
833 294, 295, 296, -1, -1, -1, -1, -1, 302, 272,
834 273, 274, 275, -1, -1, -1, 279, 311, 281, 313,
835 314, -1, -1, -1, 287, 288, -1, 257, 258, 259,
836 260, 261, -1, 263, 264, 265, -1, 300, 301, 269,
837 303, 304, 305, 306, 307, 308, -1, -1, -1, -1,
838 280, -1, 282, 283, 284, 285, 286, -1, -1, -1,
839 -1, 291, 292, 293, 294, 295, 296, -1, -1, -1,
840 33, -1, 302, 36, 37, 38, -1, 40, -1, 42,
841 43, 311, 45, 313, 314, -1, -1, -1, -1, -1,
842 -1, -1, -1, -1, -1, -1, 59, -1, -1, -1,
843 -1, 64, -1, -1, -1, 287, 288, 289, 290, -1,
844 33, -1, -1, 36, 37, 38, -1, 40, 41, 42,
845 43, -1, 45, 305, 306, 307, 308, 309, 91, -1,
846 312, -1, -1, 315, 316, 317, -1, -1, -1, -1,
847 -1, 64, -1, -1, -1, 287, 288, 289, 290, -1,
848 33, -1, -1, 36, 37, 38, -1, 40, -1, 42,
849 43, -1, 45, 126, 306, 307, 308, 309, 91, -1,
850 312, -1, -1, 315, 316, 317, -1, -1, -1, -1,
851 -1, 64, -1, -1, -1, -1, -1, -1, -1, -1,
852 33, -1, -1, 36, 37, 38, -1, 40, 41, 42,
853 43, -1, 45, 126, -1, 281, -1, -1, 91, -1,
854 93, 287, 288, 289, 290, -1, -1, -1, -1, -1,
855 -1, 64, -1, -1, -1, -1, -1, 303, 304, 305,
856 306, 307, 308, 309, -1, -1, 312, -1, -1, 315,
857 316, 317, -1, 126, 287, 288, 289, 290, 91, -1,
858 33, -1, -1, 36, 37, 38, -1, 40, 41, 42,
859 43, -1, 45, -1, 307, 308, 309, -1, -1, 312,
860 -1, -1, 315, 316, 317, -1, -1, -1, -1, -1,
861 -1, 64, 287, 126, 289, 290, -1, -1, -1, -1,
862 -1, -1, -1, -1, 257, 258, 259, 260, 261, -1,
863 263, 264, 265, 308, 309, -1, 269, 312, 91, -1,
864 315, 316, 317, -1, -1, -1, -1, 280, -1, 282,
865 283, 284, 285, 286, -1, -1, -1, -1, 291, 292,
866 293, 294, 295, 296, 257, 258, 259, 260, 261, 302,
867 263, 264, 265, 126, -1, -1, 269, -1, 311, -1,
868 313, 314, -1, -1, -1, -1, -1, 280, -1, 282,
869 283, 284, 285, 286, -1, -1, -1, -1, 291, 292,
870 293, 294, 295, 296, 257, 258, 259, 260, 261, 302,
871 263, 264, 265, -1, -1, -1, 269, -1, 311, -1,
872 313, 314, -1, -1, -1, -1, -1, 280, -1, 282,
873 283, 284, 285, 286, -1, -1, -1, -1, 291, 292,
874 293, 294, 295, 296, 257, 258, 259, 260, 261, 302,
875 263, 264, 265, -1, -1, -1, 269, -1, 311, -1,
876 313, 314, -1, -1, -1, -1, -1, 280, -1, 282,
877 283, 284, 285, 286, -1, -1, -1, -1, 291, 292,
878 293, 294, 295, 296, -1, -1, -1, 33, -1, 302,
879 36, 37, 38, -1, 40, 41, 42, 43, 311, 45,
880 313, 314, -1, -1, 257, 258, 259, 260, 261, -1,
881 263, 264, 265, -1, -1, -1, 269, -1, 64, -1,
882 -1, -1, -1, -1, -1, -1, -1, 280, -1, 282,
883 283, 284, 285, 286, -1, -1, -1, -1, 291, 292,
884 293, 294, 295, 296, -1, 91, -1, 33, -1, 302,
885 36, 37, 38, -1, 40, 41, 42, 43, 311, 45,
886 313, 314, -1, -1, -1, -1, -1, -1, -1, -1,
887 -1, -1, -1, -1, -1, -1, -1, -1, 64, -1,
888 126, -1, -1, -1, -1, -1, 41, -1, -1, 44,
889 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
890 -1, -1, -1, 58, 59, 91, 33, -1, 63, 36,
891 37, 38, -1, 40, -1, 42, 43, -1, 45, -1,
892 -1, -1, -1, -1, 287, 288, 289, 290, -1, -1,
893 -1, -1, -1, -1, -1, -1, -1, 64, 93, -1,
894 126, 304, 305, 306, 307, 308, 309, -1, -1, 312,
895 -1, -1, 315, 316, 317, -1, -1, -1, -1, -1,
896 -1, -1, -1, -1, 91, -1, 33, -1, -1, 36,
897 37, 38, -1, 40, 41, 42, 43, -1, 45, -1,
898 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
899 -1, -1, -1, -1, -1, -1, -1, 64, -1, 126,
900 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
901 -1, 257, 258, 259, 260, 261, -1, 263, 264, 265,
902 -1, -1, -1, 269, 91, -1, -1, -1, -1, -1,
903 -1, -1, -1, -1, 280, -1, 282, 283, 284, 285,
904 286, -1, -1, -1, -1, 291, 292, 293, 294, 295,
905 296, 41, -1, -1, 44, -1, 302, -1, -1, 126,
906 -1, -1, -1, -1, -1, 311, -1, 313, 314, 59,
907 -1, 257, 258, 259, 260, 261, -1, 263, 264, 265,
908 -1, 33, -1, 269, 36, 37, 38, -1, 40, 41,
909 42, 43, -1, 45, 280, -1, 282, 283, 284, 285,
910 286, -1, -1, 93, -1, 291, 292, 293, 294, 295,
911 296, -1, 64, -1, -1, -1, 302, 272, 273, 274,
912 275, -1, -1, -1, 279, 311, 281, 313, 314, 256,
913 257, 258, 259, 260, 261, -1, 263, 264, 265, 91,
914 -1, -1, 269, -1, -1, 300, 301, -1, 303, 304,
915 305, 306, 307, 280, -1, 282, 283, 284, 285, 286,
916 -1, -1, -1, -1, 291, 292, 293, 294, 295, 296,
917 -1, -1, -1, 33, 126, 302, 36, 37, 38, -1,
918 40, 41, 42, 43, 311, 45, 313, 314, -1, -1,
919 257, 258, 259, 260, 261, -1, 263, 264, 265, -1,
920 -1, -1, 269, -1, 64, -1, -1, -1, -1, -1,
921 -1, -1, -1, 280, -1, 282, 283, 284, 285, 286,
922 -1, -1, -1, -1, 291, 292, 293, 294, 295, 296,
923 -1, 91, -1, 33, -1, 302, 36, 37, 38, -1,
924 40, -1, 42, 43, 311, 45, 313, 314, -1, -1,
925 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
926 -1, -1, -1, -1, 64, -1, 126, -1, -1, -1,
927 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
928 -1, -1, 272, 273, 274, 275, -1, -1, -1, 279,
929 -1, 91, -1, -1, -1, -1, -1, -1, -1, -1,
930 -1, -1, -1, -1, -1, 257, 258, 259, 260, 261,
931 300, 263, 264, 265, -1, -1, -1, 269, -1, -1,
932 -1, -1, -1, -1, -1, -1, 126, -1, 280, -1,
933 282, 283, 284, 285, 286, -1, 41, -1, -1, 291,
934 292, 293, 294, 295, 296, -1, -1, -1, -1, -1,
935 302, -1, -1, 58, 59, -1, -1, -1, 63, 311,
936 -1, 313, 314, -1, -1, -1, -1, -1, -1, -1,
937 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
938 -1, -1, -1, -1, -1, -1, -1, -1, 93, -1,
939 -1, -1, -1, -1, -1, -1, -1, 257, 258, 259,
940 260, 261, -1, 263, 264, 265, -1, -1, -1, 269,
941 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
942 280, -1, 282, 283, 284, 285, 286, 41, -1, -1,
943 44, 291, 292, 293, 294, 295, 296, -1, -1, -1,
944 -1, -1, 302, -1, 58, 59, -1, -1, -1, 63,
945 -1, 311, -1, 313, 314, -1, -1, 257, 258, 259,
946 260, 261, -1, 263, 264, 265, -1, -1, -1, 269,
947 -1, -1, -1, -1, -1, -1, -1, -1, -1, 93,
948 280, -1, 282, 283, 284, 285, 286, -1, -1, -1,
949 -1, 291, 292, 293, 294, 295, 296, 33, -1, -1,
950 63, -1, 302, -1, -1, 41, -1, -1, -1, 45,
951 -1, 311, 48, 313, 314, 51, -1, -1, -1, 55,
952 56, 57, 58, 59, -1, -1, -1, 63, 64, 41,
953 -1, -1, 44, -1, -1, -1, -1, -1, -1, -1,
954 -1, -1, -1, -1, -1, -1, 58, 59, -1, -1,
955 -1, 63, -1, -1, -1, -1, -1, -1, -1, -1,
956 -1, -1, -1, -1, -1, -1, 102, 272, 273, 274,
957 275, -1, -1, -1, 279, 41, 281, -1, 44, -1,
958 -1, 93, 287, 288, 289, 290, -1, -1, -1, -1,
959 -1, -1, 58, 59, -1, 300, 301, 63, 303, 304,
960 305, 306, 307, 308, 309, -1, -1, 312, -1, -1,
961 315, 316, 317, -1, -1, -1, -1, -1, -1, -1,
962 -1, -1, -1, -1, -1, -1, -1, 93, 164, 165,
963 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
964 176, 177, -1, -1, -1, -1, -1, -1, -1, -1,
965 -1, -1, -1, -1, -1, 191, -1, -1, 272, 273,
966 274, 275, -1, 41, -1, 279, 44, 281, -1, -1,
967 -1, -1, -1, 287, 288, 289, 290, -1, -1, -1,
968 58, 59, -1, -1, -1, 63, 300, 301, -1, 303,
969 304, 305, 306, 307, 308, 309, -1, -1, 312, -1,
970 -1, 315, 316, 317, -1, -1, -1, -1, -1, -1,
971 -1, -1, -1, 41, -1, 93, 44, -1, 281, -1,
972 -1, -1, -1, -1, 287, 288, 289, 290, -1, -1,
973 58, 59, -1, -1, -1, 63, -1, -1, -1, -1,
974 276, 304, 305, 306, 307, 308, 309, -1, -1, 312,
975 -1, -1, 315, 316, 317, -1, -1, -1, -1, -1,
976 272, 273, 274, 275, -1, 93, -1, 279, 41, 281,
977 -1, 44, -1, 309, -1, 287, 288, 289, 290, -1,
978 -1, -1, -1, -1, -1, 58, 59, -1, 300, 301,
979 63, 303, 304, 305, 306, 307, 308, 309, -1, -1,
980 312, -1, -1, 315, 316, 317, 272, 273, 274, 275,
981 -1, -1, -1, 279, 41, 281, -1, 44, -1, -1,
982 93, 287, 288, 289, 290, -1, -1, -1, -1, -1,
983 -1, 58, 59, -1, 300, 301, 63, 303, 304, 305,
984 306, 307, 308, 309, -1, -1, 312, -1, -1, 315,
985 316, 317, -1, -1, -1, -1, -1, -1, -1, -1,
986 -1, 41, -1, -1, 44, -1, 93, -1, -1, -1,
987 -1, -1, -1, -1, -1, -1, -1, -1, 58, 59,
988 -1, -1, -1, 63, -1, -1, -1, -1, -1, -1,
989 -1, -1, -1, -1, 272, 273, 274, 275, -1, -1,
990 -1, 279, -1, 281, -1, -1, -1, -1, -1, 287,
991 288, 289, 290, 93, -1, -1, -1, -1, 41, -1,
992 -1, 44, 300, 301, -1, 303, 304, 305, 306, 307,
993 308, 309, -1, -1, 312, 58, 59, 315, 316, 317,
994 63, -1, -1, -1, 272, 273, 274, 275, -1, -1,
995 -1, 279, -1, 281, -1, -1, -1, -1, -1, 287,
996 288, 289, 290, -1, -1, -1, -1, -1, 41, -1,
997 93, 44, 300, 301, -1, 303, 304, 305, 306, 307,
998 308, 309, -1, -1, 312, 58, 59, 315, 316, 317,
999 63, -1, -1, -1, -1, -1, -1, -1, -1, 272,
1000 273, 274, 275, -1, -1, -1, 279, -1, 281, -1,
1001 -1, -1, -1, -1, 287, 288, 289, 290, -1, -1,
1002 93, -1, -1, -1, -1, -1, -1, 300, 301, -1,
1003 303, 304, 305, 306, 307, 308, 309, -1, -1, 312,
1004 -1, -1, 315, 316, 317, 272, 273, 274, 275, -1,
1005 41, -1, 279, 44, 281, -1, -1, -1, -1, -1,
1006 287, 288, 289, 290, -1, -1, -1, 58, 59, -1,
1007 -1, -1, 63, 300, 301, -1, 303, 304, 305, 306,
1008 307, 308, 309, -1, -1, 312, -1, -1, 315, 316,
1009 317, -1, 272, 273, 274, 275, -1, -1, -1, 279,
1010 -1, 281, 93, -1, -1, -1, -1, 287, 288, 289,
1011 290, -1, -1, -1, -1, -1, 41, -1, -1, 44,
1012 300, 301, -1, 303, 304, 305, 306, 307, 308, 309,
1013 -1, -1, 312, 58, 59, 315, 316, 317, 63, -1,
1014 -1, -1, -1, -1, -1, -1, -1, -1, -1, 272,
1015 273, 274, 275, -1, -1, -1, 279, -1, 281, -1,
1016 -1, -1, -1, -1, 287, 288, 289, 290, 93, -1,
1017 -1, -1, -1, 41, -1, -1, 44, 300, 301, -1,
1018 303, 304, 305, 306, 307, 308, 309, -1, -1, 312,
1019 58, 59, 315, 316, 317, 63, -1, -1, -1, 272,
1020 273, 274, 275, -1, -1, -1, 279, -1, 281, -1,
1021 -1, -1, -1, -1, 287, 288, 289, 290, -1, -1,
1022 -1, -1, -1, 41, -1, 93, 44, 300, 301, -1,
1023 303, 304, 305, 306, 307, 308, 309, -1, -1, 312,
1024 58, 59, 315, 316, 317, 63, -1, -1, -1, -1,
1025 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1026 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1027 -1, -1, -1, -1, -1, 93, 41, -1, -1, 44,
1028 -1, 272, 273, 274, 275, 41, -1, -1, 279, -1,
1029 281, -1, -1, 58, 59, -1, 287, 288, 289, 290,
1030 -1, -1, 58, 59, -1, -1, -1, 63, -1, 300,
1031 301, -1, 303, 304, 305, 306, 307, 308, 309, -1,
1032 -1, 312, -1, -1, 315, 316, 317, -1, 93, -1,
1033 -1, -1, -1, -1, -1, -1, -1, 93, -1, -1,
1034 -1, -1, -1, 41, -1, -1, 44, 272, 273, 274,
1035 275, 41, -1, -1, 279, -1, 281, -1, -1, -1,
1036 58, 59, 287, 288, 289, 290, -1, -1, 58, 59,
1037 -1, -1, -1, 63, -1, 300, 301, -1, 303, 304,
1038 305, 306, 307, 308, 309, -1, -1, 312, -1, -1,
1039 315, 316, 317, -1, -1, 93, -1, -1, -1, -1,
1040 -1, -1, -1, 93, 272, 273, 274, 275, -1, -1,
1041 -1, 279, 41, 281, -1, 44, -1, -1, -1, 287,
1042 288, 289, 290, -1, -1, -1, -1, -1, -1, 58,
1043 59, -1, 300, 301, 63, 303, 304, 305, 306, 307,
1044 308, 309, -1, -1, 312, -1, -1, 315, 316, 317,
1045 -1, -1, -1, -1, 272, 273, 274, 275, -1, 41,
1046 -1, 279, 44, 281, 93, -1, -1, -1, -1, 287,
1047 288, 289, 290, -1, -1, -1, 58, 59, -1, -1,
1048 -1, 63, 300, 301, -1, 303, 304, 305, 306, 307,
1049 308, 309, -1, -1, 312, -1, -1, 315, 316, 317,
1050 -1, -1, -1, -1, -1, -1, -1, 272, 273, 274,
1051 275, 93, -1, -1, 279, -1, 272, 273, 274, 275,
1052 -1, 41, -1, 279, 44, 281, -1, -1, -1, -1,
1053 -1, 287, 288, 289, 290, 300, 301, -1, 58, 59,
1054 -1, -1, -1, 63, 300, 301, -1, 303, 304, 305,
1055 306, 307, 308, 309, -1, -1, 312, -1, -1, 315,
1056 316, 317, -1, -1, -1, -1, -1, -1, -1, -1,
1057 -1, -1, -1, 93, 272, 273, 274, 275, -1, -1,
1058 -1, 279, 272, 273, 274, 275, -1, 41, -1, 279,
1059 44, 281, -1, -1, -1, -1, -1, 287, 288, 289,
1060 290, -1, 300, 301, 58, 59, -1, -1, -1, 63,
1061 300, 301, -1, 303, 304, 305, 306, 307, 308, 309,
1062 -1, -1, 312, -1, -1, 315, 316, 317, -1, -1,
1063 -1, -1, -1, -1, -1, -1, -1, -1, -1, 93,
1064 -1, -1, -1, 272, 273, 274, 275, -1, 41, -1,
1065 279, 44, 281, -1, -1, -1, -1, -1, 287, 288,
1066 289, 290, -1, -1, -1, 58, 59, -1, -1, -1,
1067 63, 300, 301, -1, 303, 304, 305, 306, 307, 308,
1068 309, -1, -1, 312, -1, -1, -1, -1, -1, -1,
1069 272, 273, 274, 275, -1, 41, -1, 279, 44, 281,
1070 93, -1, -1, -1, -1, 287, 288, 289, 290, -1,
1071 -1, -1, 58, 59, -1, -1, -1, 63, 300, 301,
1072 -1, 303, 304, 305, 306, 307, 308, 309, -1, -1,
1073 312, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1074 41, -1, -1, 44, -1, -1, -1, 93, -1, -1,
1075 -1, -1, 272, 273, 274, 275, -1, 58, 59, 279,
1076 -1, 281, 63, -1, -1, -1, -1, 287, 288, 289,
1077 290, -1, -1, -1, -1, -1, -1, -1, -1, 41,
1078 300, 301, 44, 303, 304, 305, 306, 307, 308, 309,
1079 -1, -1, 93, -1, -1, -1, 58, 59, -1, -1,
1080 -1, 63, -1, -1, -1, -1, -1, -1, -1, -1,
1081 -1, -1, -1, -1, -1, -1, -1, -1, 272, 273,
1082 274, 275, -1, 41, -1, 279, 44, 281, -1, -1,
1083 -1, 93, -1, 287, 288, 289, 290, -1, -1, -1,
1084 58, 59, -1, -1, -1, 63, 300, 301, -1, 303,
1085 304, 305, 306, 307, 308, 309, -1, -1, -1, -1,
1086 -1, -1, -1, -1, -1, -1, -1, 41, -1, -1,
1087 44, -1, -1, -1, -1, 93, -1, -1, -1, 272,
1088 273, 274, 275, -1, 58, 59, 279, -1, 281, 63,
1089 -1, -1, -1, -1, 287, 288, 289, 290, -1, -1,
1090 -1, -1, -1, -1, -1, -1, -1, 300, 301, -1,
1091 303, 304, 305, 306, 307, 308, 309, -1, -1, 93,
1092 -1, -1, -1, -1, -1, -1, 272, 273, 274, 275,
1093 -1, 41, -1, 279, 44, 281, -1, -1, -1, -1,
1094 -1, 287, 288, 289, 290, -1, -1, -1, 58, 59,
1095 -1, -1, -1, 63, 300, 301, -1, 303, 304, 305,
1096 306, 307, 308, 309, -1, -1, -1, -1, -1, -1,
1097 -1, 272, 273, 274, 275, -1, -1, -1, 279, 41,
1098 281, -1, 44, 93, -1, -1, 287, 288, 289, 290,
1099 -1, -1, -1, -1, -1, -1, 58, 59, -1, 300,
1100 301, 63, 303, 304, 305, 306, 307, 308, 309, -1,
1101 272, 273, 274, 275, -1, 41, -1, 279, 44, 281,
1102 -1, -1, -1, -1, -1, 287, 288, 289, 290, -1,
1103 -1, 93, 58, 59, -1, -1, -1, 63, 300, 301,
1104 -1, 303, 304, 305, 306, 307, 308, 309, -1, -1,
1105 -1, -1, -1, -1, 272, 273, 274, 275, -1, 41,
1106 -1, 279, 44, 281, -1, -1, -1, 93, -1, 287,
1107 288, 289, 290, -1, -1, -1, 58, 59, -1, -1,
1108 -1, 63, 300, 301, -1, 303, 304, 305, 306, 307,
1109 308, 309, -1, -1, -1, -1, -1, -1, 272, 273,
1110 274, 275, -1, 41, -1, 279, 44, 281, -1, -1,
1111 -1, 93, -1, 287, 288, 289, 290, -1, -1, -1,
1112 58, 59, -1, -1, -1, 63, 300, 301, -1, 303,
1113 304, 305, 306, 307, 308, -1, -1, -1, -1, -1,
1114 41, -1, -1, 44, -1, -1, -1, -1, -1, -1,
1115 41, -1, -1, 44, -1, 93, -1, 58, 59, -1,
1116 -1, -1, 272, 273, 274, 275, -1, 58, 59, 279,
1117 -1, 281, 63, -1, -1, -1, -1, 287, 288, -1,
1118 290, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1119 300, 301, 93, 303, 304, 305, 306, 307, 308, -1,
1120 -1, -1, 93, -1, -1, 41, -1, -1, 44, -1,
1121 272, 273, 274, 275, -1, 41, -1, 279, 44, 281,
1122 -1, -1, 58, 59, -1, 287, 288, 63, -1, -1,
1123 -1, -1, 58, 59, -1, -1, -1, 63, 300, 301,
1124 -1, 303, 304, 305, 306, 307, 272, 273, 274, 275,
1125 -1, 41, -1, 279, 44, 281, -1, 93, -1, -1,
1126 -1, 287, 288, -1, -1, -1, -1, 93, 58, 59,
1127 -1, -1, -1, 63, 300, 301, -1, 303, 304, 305,
1128 306, 307, -1, -1, -1, -1, -1, -1, -1, -1,
1129 272, 273, 274, 275, -1, 41, -1, 279, 44, 281,
1130 -1, -1, -1, 93, -1, 287, 288, -1, -1, -1,
1131 -1, -1, 58, 59, -1, -1, -1, 63, 300, 301,
1132 -1, 303, 304, 305, 306, 307, -1, 41, -1, -1,
1133 44, -1, -1, -1, 272, 273, 274, 275, -1, -1,
1134 -1, 279, -1, 281, 58, 59, -1, 93, -1, 287,
1135 288, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1136 -1, -1, 300, 301, -1, 303, 304, 305, 306, 307,
1137 -1, 272, 273, 274, 275, -1, -1, -1, 279, 93,
1138 -1, 272, 273, 274, 275, -1, -1, -1, 279, -1,
1139 281, -1, -1, -1, -1, -1, -1, 288, -1, 300,
1140 301, -1, 303, -1, -1, -1, -1, -1, -1, 300,
1141 301, -1, 303, 304, 305, 306, 307, -1, -1, -1,
1142 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1143 -1, -1, -1, -1, -1, -1, 272, 273, 274, 275,
1144 -1, -1, -1, 279, -1, 281, 272, 273, 274, 275,
1145 -1, -1, -1, 279, -1, 281, -1, -1, -1, -1,
1146 -1, -1, -1, -1, 300, 301, -1, 303, 304, 305,
1147 306, 307, -1, -1, 300, 301, -1, 303, 304, 305,
1148 306, -1, 272, 273, 274, 275, -1, -1, -1, 279,
1149 -1, 281, -1, -1, -1, -1, -1, -1, -1, -1,
1150 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1151 300, 301, -1, 303, 304, 305, -1, -1, -1, -1,
1152 -1, -1, -1, -1, -1, -1, 272, 273, 274, 275,
1153 -1, -1, -1, 279, -1, -1, -1, -1, -1, -1,
1154 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1155 -1, -1, -1, -1, 300, 301, -1, 303, 272, 273,
1156 274, 275, -1, -1, -1, 279, -1, -1, -1, -1,
1157 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1158 -1, -1, -1, -1, -1, -1, 300, 301,
1164 #define YYMAXTOKEN 317
1166 static char *yyname[] = {
1167 "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,
1168 "'!'",0,0,"'$'","'%'","'&'",0,"'('","')'","'*'","'+'","','","'-'",0,0,0,0,0,0,0,
1169 0,0,0,0,0,"':'","';'",0,0,0,"'?'","'@'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1170 0,0,0,0,0,0,"'['",0,"']'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1171 0,0,"'{'",0,"'}'","'~'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1172 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1173 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1174 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",
1175 "PMFUNC","PRIVATEREF","FUNC0SUB","UNIOPSUB","LSTOPSUB","LABEL","FORMAT","SUB",
1176 "ANONSUB","PACKAGE","USE","WHILE","UNTIL","IF","UNLESS","ELSE","ELSIF",
1177 "CONTINUE","FOR","LOOPEX","DOTDOT","FUNC0","FUNC1","FUNC","UNIOP","LSTOP",
1178 "RELOP","EQOP","MULOP","ADDOP","DOLSHARP","DO","HASHBRACK","NOAMP","LOCAL","MY",
1179 "MYSUB","COLONATTR","PREC_LOW","OROP","ANDOP","NOTOP","ASSIGNOP","OROR",
1180 "ANDAND","BITOROP","BITANDOP","SHIFTOP","MATCHOP","UMINUS","REFGEN","POWOP",
1181 "PREINC","PREDEC","POSTINC","POSTDEC","ARROW",
1183 static char *yyrule[] = {
1186 "prog : $$1 lineseq",
1187 "block : '{' remember lineseq '}'",
1189 "mblock : '{' mremember lineseq '}'",
1192 "lineseq : lineseq decl",
1193 "lineseq : lineseq line",
1194 "line : label cond",
1197 "line : label sideff ';'",
1200 "sideff : expr IF expr",
1201 "sideff : expr UNLESS expr",
1202 "sideff : expr WHILE expr",
1203 "sideff : expr UNTIL iexpr",
1204 "sideff : expr FOR expr",
1206 "else : ELSE mblock",
1207 "else : ELSIF '(' mexpr ')' mblock else",
1208 "cond : IF '(' remember mexpr ')' mblock else",
1209 "cond : UNLESS '(' remember miexpr ')' mblock else",
1211 "cont : CONTINUE block",
1212 "loop : label WHILE '(' remember mtexpr ')' mblock cont",
1213 "loop : label UNTIL '(' remember miexpr ')' mblock cont",
1214 "loop : label FOR MY remember my_scalar '(' mexpr ')' mblock cont",
1215 "loop : label FOR scalar '(' remember mexpr ')' mblock cont",
1216 "loop : label FOR '(' remember mexpr ')' mblock cont",
1217 "loop : label FOR '(' remember mnexpr ';' mtexpr ';' mnexpr ')' mblock",
1218 "loop : label block cont",
1235 "format : FORMAT startformsub formname block",
1238 "mysubrout : MYSUB startsub subname proto subattrlist subbody",
1239 "subrout : SUB startsub subname proto subattrlist subbody",
1247 "subattrlist : COLONATTR THING",
1248 "subattrlist : COLONATTR",
1249 "myattrlist : COLONATTR THING",
1250 "myattrlist : COLONATTR",
1253 "package : PACKAGE WORD ';'",
1254 "package : PACKAGE ';'",
1256 "use : USE startsub $$2 WORD WORD listexpr ';'",
1257 "expr : expr ANDOP expr",
1258 "expr : expr OROP expr",
1260 "argexpr : argexpr ','",
1261 "argexpr : argexpr ',' term",
1263 "listop : LSTOP indirob argexpr",
1264 "listop : FUNC '(' indirob expr ')'",
1265 "listop : term ARROW method '(' listexprcom ')'",
1266 "listop : term ARROW method",
1267 "listop : METHOD indirob listexpr",
1268 "listop : FUNCMETH indirob '(' listexprcom ')'",
1269 "listop : LSTOP listexpr",
1270 "listop : FUNC '(' listexprcom ')'",
1272 "listop : LSTOPSUB startanonsub block $$3 listexpr",
1275 "subscripted : star '{' expr ';' '}'",
1276 "subscripted : scalar '[' expr ']'",
1277 "subscripted : term ARROW '[' expr ']'",
1278 "subscripted : subscripted '[' expr ']'",
1279 "subscripted : scalar '{' expr ';' '}'",
1280 "subscripted : term ARROW '{' expr ';' '}'",
1281 "subscripted : subscripted '{' expr ';' '}'",
1282 "subscripted : term ARROW '(' ')'",
1283 "subscripted : term ARROW '(' expr ')'",
1284 "subscripted : subscripted '(' expr ')'",
1285 "subscripted : subscripted '(' ')'",
1286 "termbinop : term ASSIGNOP term",
1287 "termbinop : term POWOP term",
1288 "termbinop : term MULOP term",
1289 "termbinop : term ADDOP term",
1290 "termbinop : term SHIFTOP term",
1291 "termbinop : term RELOP term",
1292 "termbinop : term EQOP term",
1293 "termbinop : term BITANDOP term",
1294 "termbinop : term BITOROP term",
1295 "termbinop : term DOTDOT term",
1296 "termbinop : term ANDAND term",
1297 "termbinop : term OROR term",
1298 "termbinop : term MATCHOP term",
1299 "termunop : '-' term",
1300 "termunop : '+' term",
1301 "termunop : '!' term",
1302 "termunop : '~' term",
1303 "termunop : term POSTINC",
1304 "termunop : term POSTDEC",
1305 "termunop : PREINC term",
1306 "termunop : PREDEC term",
1307 "anonymous : '[' expr ']'",
1308 "anonymous : '[' ']'",
1309 "anonymous : HASHBRACK expr ';' '}'",
1310 "anonymous : HASHBRACK ';' '}'",
1311 "anonymous : ANONSUB startanonsub proto subattrlist block",
1313 "termdo : DO block",
1314 "termdo : DO WORD '(' ')'",
1315 "termdo : DO WORD '(' expr ')'",
1316 "termdo : DO scalar '(' ')'",
1317 "termdo : DO scalar '(' expr ')'",
1322 "term : term '?' term ':' term",
1323 "term : REFGEN term",
1324 "term : myattrterm",
1325 "term : LOCAL term",
1326 "term : '(' expr ')'",
1333 "term : subscripted",
1334 "term : '(' expr ')' '[' expr ']'",
1335 "term : '(' ')' '[' expr ']'",
1336 "term : ary '[' expr ']'",
1337 "term : ary '{' expr ';' '}'",
1340 "term : amper '(' ')'",
1341 "term : amper '(' expr ')'",
1342 "term : NOAMP WORD listexpr",
1344 "term : LOOPEX term",
1345 "term : NOTOP argexpr",
1347 "term : UNIOP block",
1348 "term : UNIOP term",
1349 "term : UNIOPSUB term",
1351 "term : FUNC0 '(' ')'",
1353 "term : FUNC1 '(' ')'",
1354 "term : FUNC1 '(' expr ')'",
1355 "term : PMFUNC '(' term ')'",
1356 "term : PMFUNC '(' term ',' term ')'",
1359 "myattrterm : MY myterm myattrlist",
1360 "myattrterm : MY myterm",
1361 "myterm : '(' expr ')'",
1367 "listexpr : argexpr",
1369 "listexprcom : expr",
1370 "listexprcom : expr ','",
1371 "my_scalar : scalar",
1372 "amper : '&' indirob",
1373 "scalar : '$' indirob",
1374 "ary : '@' indirob",
1375 "hsh : '%' indirob",
1376 "arylen : DOLSHARP indirob",
1377 "star : '*' indirob",
1381 "indirob : PRIVATEREF",
1384 #define yyclearin (yychar=(-1))
1385 #define yyerrok (yyerrflag=0)
1388 #define YYMAXDEPTH YYSTACKSIZE
1392 #define YYSTACKSIZE YYMAXDEPTH
1394 #define YYSTACKSIZE 500
1395 #define YYMAXDEPTH 500
1401 /* more stuff added to make perly_c.diff easier to apply */
1406 #define yyparse() Perl_yyparse(pTHX)
1408 #line 1481 "perly.c"
1409 #define YYABORT goto yyabort
1410 #define YYACCEPT goto yyaccept
1411 #define YYERROR goto yyerrlab
1415 register int yym, yyn, yystate;
1416 register short *yyssp;
1417 register YYSTYPE *yyvsp;
1420 unsigned yystacksize = YYSTACKSIZE;
1428 ENTER; /* force yydestruct() before we return */
1430 New(73, ysave, 1, struct ysv);
1431 SAVEDESTRUCTOR_X(yydestruct, ysave);
1432 ysave->oldyydebug = yydebug;
1433 ysave->oldyynerrs = yynerrs;
1434 ysave->oldyyerrflag = yyerrflag;
1435 ysave->oldyychar = yychar;
1436 ysave->oldyyval = yyval;
1437 ysave->oldyylval = yylval;
1440 if (yys = getenv("YYDEBUG"))
1443 if (yyn >= '0' && yyn <= '9')
1444 yydebug = yyn - '0';
1453 ** Initialize private stacks (yyparse may be called from an action)
1455 New(73, yyss, yystacksize, short);
1456 New(73, yyvs, yystacksize, YYSTYPE);
1464 *yyssp = yystate = 0;
1467 if (yyn = yydefred[yystate]) goto yyreduce;
1470 if ((yychar = yylex()) < 0) yychar = 0;
1475 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1476 if (!yys) yys = "illegal-symbol";
1477 PerlIO_printf(Perl_debug_log, "yydebug: state %d, reading %d (%s)\n", yystate,
1482 if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
1483 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1487 PerlIO_printf(Perl_debug_log, "yydebug: state %d, shifting to state %d\n",
1488 yystate, yytable[yyn]);
1490 if (yyssp >= yyss + yystacksize - 1)
1493 ** reallocate and recover. Note that pointers
1494 ** have to be reset, or bad things will happen
1496 int yyps_index = (yyssp - yyss);
1497 int yypv_index = (yyvsp - yyvs);
1498 yystacksize += YYSTACKSIZE;
1499 ysave->yyvs = Renew(yyvs, yystacksize, YYSTYPE);
1500 ysave->yyss = Renew(yyss, yystacksize, short);
1503 yyssp = yyss + yyps_index;
1504 yyvsp = yyvs + yypv_index;
1506 *++yyssp = yystate = yytable[yyn];
1509 if (yyerrflag > 0) --yyerrflag;
1513 ((yyn = yyrindex[yystate])) &&
1514 (yyn += yychar) >= 0 &&
1515 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1520 if (yyerrflag) goto yyinrecovery;
1525 yyerror("syntax error");
1537 if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 &&
1538 yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
1542 PerlIO_printf(Perl_debug_log, "yydebug: state %d, error recovery shifting\
1543 to state %d\n", *yyssp, yytable[yyn]);
1545 if (yyssp >= yyss + yystacksize - 1)
1548 ** reallocate and recover. Note that pointers
1549 ** have to be reset, or bad things will happen
1551 int yyps_index = (yyssp - yyss);
1552 int yypv_index = (yyvsp - yyvs);
1553 yystacksize += YYSTACKSIZE;
1554 ysave->yyvs = Renew(yyvs, yystacksize, YYSTYPE);
1555 ysave->yyss = Renew(yyss, yystacksize, short);
1558 yyssp = yyss + yyps_index;
1559 yyvsp = yyvs + yypv_index;
1561 *++yyssp = yystate = yytable[yyn];
1569 PerlIO_printf(Perl_debug_log, "yydebug: error recovery discarding state %d\n",
1572 if (yyssp <= yyss) goto yyabort;
1580 if (yychar == 0) goto yyabort;
1585 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1586 if (!yys) yys = "illegal-symbol";
1587 PerlIO_printf(Perl_debug_log, "yydebug: state %d, error recovery discards token %d (%s)\n",
1588 yystate, yychar, yys);
1597 PerlIO_printf(Perl_debug_log, "yydebug: state %d, reducing by rule %d (%s)\n",
1598 yystate, yyn, yyrule[yyn]);
1601 yyval = yyvsp[1-yym];
1607 #if defined(YYDEBUG) && defined(DEBUGGING)
1608 yydebug = (DEBUG_p_TEST);
1610 PL_expect = XSTATE; yyval.ival = block_start(TRUE);
1615 { newPROG(block_end(yyvsp[-1].ival,yyvsp[0].opval)); }
1619 { if (PL_copline > (line_t)yyvsp[-3].ival)
1620 PL_copline = yyvsp[-3].ival;
1621 yyval.opval = block_end(yyvsp[-2].ival, yyvsp[-1].opval); }
1625 { yyval.ival = block_start(TRUE); }
1629 { if (PL_copline > (line_t)yyvsp[-3].ival)
1630 PL_copline = yyvsp[-3].ival;
1631 yyval.opval = block_end(yyvsp[-2].ival, yyvsp[-1].opval); }
1635 { yyval.ival = block_start(FALSE); }
1639 { yyval.opval = Nullop; }
1643 { yyval.opval = yyvsp[-1].opval; }
1647 { yyval.opval = append_list(OP_LINESEQ,
1648 (LISTOP*)yyvsp[-1].opval, (LISTOP*)yyvsp[0].opval);
1649 PL_pad_reset_pending = TRUE;
1650 if (yyvsp[-1].opval && yyvsp[0].opval) PL_hints |= HINT_BLOCK_SCOPE; }
1654 { yyval.opval = newSTATEOP(0, yyvsp[-1].pval, yyvsp[0].opval); }
1658 { if (yyvsp[-1].pval != Nullch) {
1659 yyval.opval = newSTATEOP(0, yyvsp[-1].pval, newOP(OP_NULL, 0));
1662 yyval.opval = Nullop;
1663 PL_copline = NOLINE;
1665 PL_expect = XSTATE; }
1669 { yyval.opval = newSTATEOP(0, yyvsp[-2].pval, yyvsp[-1].opval);
1670 PL_expect = XSTATE; }
1674 { yyval.opval = Nullop; }
1678 { yyval.opval = yyvsp[0].opval; }
1682 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[0].opval, yyvsp[-2].opval); }
1686 { yyval.opval = newLOGOP(OP_OR, 0, yyvsp[0].opval, yyvsp[-2].opval); }
1690 { yyval.opval = newLOOPOP(OPf_PARENS, 1, scalar(yyvsp[0].opval), yyvsp[-2].opval); }
1694 { yyval.opval = newLOOPOP(OPf_PARENS, 1, yyvsp[0].opval, yyvsp[-2].opval);}
1698 { yyval.opval = newFOROP(0, Nullch, yyvsp[-1].ival,
1699 Nullop, yyvsp[0].opval, yyvsp[-2].opval, Nullop); }
1703 { yyval.opval = Nullop; }
1707 { (yyvsp[0].opval)->op_flags |= OPf_PARENS; yyval.opval = scope(yyvsp[0].opval); }
1711 { PL_copline = yyvsp[-5].ival;
1712 yyval.opval = newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval);
1713 PL_hints |= HINT_BLOCK_SCOPE; }
1717 { PL_copline = yyvsp[-6].ival;
1718 yyval.opval = block_end(yyvsp[-4].ival,
1719 newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval)); }
1723 { PL_copline = yyvsp[-6].ival;
1724 yyval.opval = block_end(yyvsp[-4].ival,
1725 newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval)); }
1729 { yyval.opval = Nullop; }
1733 { yyval.opval = scope(yyvsp[0].opval); }
1737 { PL_copline = yyvsp[-6].ival;
1738 yyval.opval = block_end(yyvsp[-4].ival,
1739 newSTATEOP(0, yyvsp[-7].pval,
1740 newWHILEOP(0, 1, (LOOP*)Nullop,
1741 yyvsp[-6].ival, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval))); }
1745 { PL_copline = yyvsp[-6].ival;
1746 yyval.opval = block_end(yyvsp[-4].ival,
1747 newSTATEOP(0, yyvsp[-7].pval,
1748 newWHILEOP(0, 1, (LOOP*)Nullop,
1749 yyvsp[-6].ival, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval))); }
1753 { yyval.opval = block_end(yyvsp[-6].ival,
1754 newFOROP(0, yyvsp[-9].pval, yyvsp[-8].ival, yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1758 { yyval.opval = block_end(yyvsp[-4].ival,
1759 newFOROP(0, yyvsp[-8].pval, yyvsp[-7].ival, mod(yyvsp[-6].opval, OP_ENTERLOOP),
1760 yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1764 { yyval.opval = block_end(yyvsp[-4].ival,
1765 newFOROP(0, yyvsp[-7].pval, yyvsp[-6].ival, Nullop, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1770 PL_copline = yyvsp[-9].ival;
1771 forop = newSTATEOP(0, yyvsp[-10].pval,
1772 newWHILEOP(0, 1, (LOOP*)Nullop,
1773 yyvsp[-9].ival, scalar(yyvsp[-4].opval),
1774 yyvsp[0].opval, yyvsp[-2].opval));
1775 if (yyvsp[-6].opval) {
1776 forop = append_elem(OP_LINESEQ,
1777 newSTATEOP(0, (yyvsp[-10].pval?savepv(yyvsp[-10].pval):Nullch),
1782 yyval.opval = block_end(yyvsp[-7].ival, forop); }
1786 { yyval.opval = newSTATEOP(0, yyvsp[-2].pval,
1787 newWHILEOP(0, 1, (LOOP*)Nullop,
1788 NOLINE, Nullop, yyvsp[-1].opval, yyvsp[0].opval)); }
1792 { yyval.opval = Nullop; }
1796 { (void)scan_num("1", &yylval); yyval.opval = yylval.opval; }
1800 { yyval.opval = invert(scalar(yyvsp[0].opval)); }
1804 { yyval.opval = yyvsp[0].opval; intro_my(); }
1808 { yyval.opval = yyvsp[0].opval; intro_my(); }
1812 { yyval.opval = yyvsp[0].opval; intro_my(); }
1816 { yyval.opval = yyvsp[0].opval; intro_my(); }
1820 { yyval.pval = Nullch; }
1844 { newFORM(yyvsp[-2].ival, yyvsp[-1].opval, yyvsp[0].opval); }
1848 { yyval.opval = yyvsp[0].opval; }
1852 { yyval.opval = Nullop; }
1856 { newMYSUB(yyvsp[-4].ival, yyvsp[-3].opval, yyvsp[-2].opval, yyvsp[-1].opval, yyvsp[0].opval); }
1860 { newATTRSUB(yyvsp[-4].ival, yyvsp[-3].opval, yyvsp[-2].opval, yyvsp[-1].opval, yyvsp[0].opval); }
1864 { yyval.ival = start_subparse(FALSE, 0); }
1868 { yyval.ival = start_subparse(FALSE, CVf_ANON); }
1872 { yyval.ival = start_subparse(TRUE, 0); }
1876 { STRLEN n_a; char *name = SvPV(((SVOP*)yyvsp[0].opval)->op_sv,n_a);
1877 if (strEQ(name, "BEGIN") || strEQ(name, "END")
1878 || strEQ(name, "INIT") || strEQ(name, "CHECK"))
1879 CvSPECIAL_on(PL_compcv);
1880 yyval.opval = yyvsp[0].opval; }
1884 { yyval.opval = Nullop; }
1888 { yyval.opval = Nullop; }
1892 { yyval.opval = yyvsp[0].opval; }
1896 { yyval.opval = Nullop; }
1900 { yyval.opval = yyvsp[0].opval; }
1904 { yyval.opval = Nullop; }
1908 { yyval.opval = yyvsp[0].opval; }
1912 { yyval.opval = Nullop; PL_expect = XSTATE; }
1916 { package(yyvsp[-1].opval); }
1920 { package(Nullop); }
1924 { CvSPECIAL_on(PL_compcv); /* It's a BEGIN {} */ }
1928 { utilize(yyvsp[-6].ival, yyvsp[-5].ival, yyvsp[-3].opval, yyvsp[-2].opval, yyvsp[-1].opval); }
1932 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1936 { yyval.opval = newLOGOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1940 { yyval.opval = yyvsp[-1].opval; }
1944 { yyval.opval = append_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval); }
1948 { yyval.opval = convert(yyvsp[-2].ival, OPf_STACKED,
1949 prepend_elem(OP_LIST, newGVREF(yyvsp[-2].ival,yyvsp[-1].opval), yyvsp[0].opval) ); }
1953 { yyval.opval = convert(yyvsp[-4].ival, OPf_STACKED,
1954 prepend_elem(OP_LIST, newGVREF(yyvsp[-4].ival,yyvsp[-2].opval), yyvsp[-1].opval) ); }
1958 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1959 append_elem(OP_LIST,
1960 prepend_elem(OP_LIST, scalar(yyvsp[-5].opval), yyvsp[-1].opval),
1961 newUNOP(OP_METHOD, 0, yyvsp[-3].opval))); }
1965 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1966 append_elem(OP_LIST, scalar(yyvsp[-2].opval),
1967 newUNOP(OP_METHOD, 0, yyvsp[0].opval))); }
1971 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1972 append_elem(OP_LIST,
1973 prepend_elem(OP_LIST, yyvsp[-1].opval, yyvsp[0].opval),
1974 newUNOP(OP_METHOD, 0, yyvsp[-2].opval))); }
1978 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1979 append_elem(OP_LIST,
1980 prepend_elem(OP_LIST, yyvsp[-3].opval, yyvsp[-1].opval),
1981 newUNOP(OP_METHOD, 0, yyvsp[-4].opval))); }
1985 { yyval.opval = convert(yyvsp[-1].ival, 0, yyvsp[0].opval); }
1989 { yyval.opval = convert(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
1993 { yyvsp[0].opval = newANONATTRSUB(yyvsp[-1].ival, 0, Nullop, yyvsp[0].opval); }
1997 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
1998 append_elem(OP_LIST,
1999 prepend_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval), yyvsp[-4].opval)); }
2003 { yyval.opval = newBINOP(OP_GELEM, 0, yyvsp[-4].opval, scalar(yyvsp[-2].opval)); }
2007 { yyval.opval = newBINOP(OP_AELEM, 0, oopsAV(yyvsp[-3].opval), scalar(yyvsp[-1].opval)); }
2011 { yyval.opval = newBINOP(OP_AELEM, 0,
2012 ref(newAVREF(yyvsp[-4].opval),OP_RV2AV),
2013 scalar(yyvsp[-1].opval));}
2017 { yyval.opval = newBINOP(OP_AELEM, 0,
2018 ref(newAVREF(yyvsp[-3].opval),OP_RV2AV),
2019 scalar(yyvsp[-1].opval));}
2023 { yyval.opval = newBINOP(OP_HELEM, 0, oopsHV(yyvsp[-4].opval), jmaybe(yyvsp[-2].opval));
2024 PL_expect = XOPERATOR; }
2028 { yyval.opval = newBINOP(OP_HELEM, 0,
2029 ref(newHVREF(yyvsp[-5].opval),OP_RV2HV),
2030 jmaybe(yyvsp[-2].opval));
2031 PL_expect = XOPERATOR; }
2035 { yyval.opval = newBINOP(OP_HELEM, 0,
2036 ref(newHVREF(yyvsp[-4].opval),OP_RV2HV),
2037 jmaybe(yyvsp[-2].opval));
2038 PL_expect = XOPERATOR; }
2042 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2043 newCVREF(0, scalar(yyvsp[-3].opval))); }
2047 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2048 append_elem(OP_LIST, yyvsp[-1].opval,
2049 newCVREF(0, scalar(yyvsp[-4].opval)))); }
2053 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2054 append_elem(OP_LIST, yyvsp[-1].opval,
2055 newCVREF(0, scalar(yyvsp[-3].opval)))); }
2059 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2060 newCVREF(0, scalar(yyvsp[-2].opval))); }
2064 { yyval.opval = newASSIGNOP(OPf_STACKED, yyvsp[-2].opval, yyvsp[-1].ival, yyvsp[0].opval); }
2068 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2072 { if (yyvsp[-1].ival != OP_REPEAT)
2073 scalar(yyvsp[-2].opval);
2074 yyval.opval = newBINOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, scalar(yyvsp[0].opval)); }
2078 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2082 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2086 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2090 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2094 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2098 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2102 { yyval.opval = newRANGE(yyvsp[-1].ival, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval));}
2106 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
2110 { yyval.opval = newLOGOP(OP_OR, 0, yyvsp[-2].opval, yyvsp[0].opval); }
2114 { yyval.opval = bind_match(yyvsp[-1].ival, yyvsp[-2].opval, yyvsp[0].opval); }
2118 { yyval.opval = newUNOP(OP_NEGATE, 0, scalar(yyvsp[0].opval)); }
2122 { yyval.opval = yyvsp[0].opval; }
2126 { yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
2130 { yyval.opval = newUNOP(OP_COMPLEMENT, 0, scalar(yyvsp[0].opval));}
2134 { yyval.opval = newUNOP(OP_POSTINC, 0,
2135 mod(scalar(yyvsp[-1].opval), OP_POSTINC)); }
2139 { yyval.opval = newUNOP(OP_POSTDEC, 0,
2140 mod(scalar(yyvsp[-1].opval), OP_POSTDEC)); }
2144 { yyval.opval = newUNOP(OP_PREINC, 0,
2145 mod(scalar(yyvsp[0].opval), OP_PREINC)); }
2149 { yyval.opval = newUNOP(OP_PREDEC, 0,
2150 mod(scalar(yyvsp[0].opval), OP_PREDEC)); }
2154 { yyval.opval = newANONLIST(yyvsp[-1].opval); }
2158 { yyval.opval = newANONLIST(Nullop); }
2162 { yyval.opval = newANONHASH(yyvsp[-2].opval); }
2166 { yyval.opval = newANONHASH(Nullop); }
2170 { yyval.opval = newANONATTRSUB(yyvsp[-3].ival, yyvsp[-2].opval, yyvsp[-1].opval, yyvsp[0].opval); }
2174 { yyval.opval = dofile(yyvsp[0].opval); }
2178 { yyval.opval = newUNOP(OP_NULL, OPf_SPECIAL, scope(yyvsp[0].opval)); }
2182 { yyval.opval = newUNOP(OP_ENTERSUB,
2183 OPf_SPECIAL|OPf_STACKED,
2184 prepend_elem(OP_LIST,
2186 (OPpENTERSUB_AMPER<<8),
2187 scalar(yyvsp[-2].opval)
2188 )),Nullop)); dep();}
2192 { yyval.opval = newUNOP(OP_ENTERSUB,
2193 OPf_SPECIAL|OPf_STACKED,
2194 append_elem(OP_LIST,
2197 (OPpENTERSUB_AMPER<<8),
2198 scalar(yyvsp[-3].opval)
2203 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
2204 prepend_elem(OP_LIST,
2205 scalar(newCVREF(0,scalar(yyvsp[-2].opval))), Nullop)); dep();}
2209 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
2210 prepend_elem(OP_LIST,
2212 scalar(newCVREF(0,scalar(yyvsp[-3].opval))))); dep();}
2216 { yyval.opval = newCONDOP(0, yyvsp[-4].opval, yyvsp[-2].opval, yyvsp[0].opval); }
2220 { yyval.opval = newUNOP(OP_REFGEN, 0, mod(yyvsp[0].opval,OP_REFGEN)); }
2224 { yyval.opval = yyvsp[0].opval; }
2228 { yyval.opval = localize(yyvsp[0].opval,yyvsp[-1].ival); }
2232 { yyval.opval = sawparens(yyvsp[-1].opval); }
2236 { yyval.opval = sawparens(newNULLLIST()); }
2240 { yyval.opval = yyvsp[0].opval; }
2244 { yyval.opval = yyvsp[0].opval; }
2248 { yyval.opval = yyvsp[0].opval; }
2252 { yyval.opval = yyvsp[0].opval; }
2256 { yyval.opval = newUNOP(OP_AV2ARYLEN, 0, ref(yyvsp[0].opval, OP_AV2ARYLEN));}
2260 { yyval.opval = yyvsp[0].opval; }
2264 { yyval.opval = newSLICEOP(0, yyvsp[-1].opval, yyvsp[-4].opval); }
2268 { yyval.opval = newSLICEOP(0, yyvsp[-1].opval, Nullop); }
2272 { yyval.opval = prepend_elem(OP_ASLICE,
2273 newOP(OP_PUSHMARK, 0),
2274 newLISTOP(OP_ASLICE, 0,
2275 list(yyvsp[-1].opval),
2276 ref(yyvsp[-3].opval, OP_ASLICE))); }
2280 { yyval.opval = prepend_elem(OP_HSLICE,
2281 newOP(OP_PUSHMARK, 0),
2282 newLISTOP(OP_HSLICE, 0,
2283 list(yyvsp[-2].opval),
2284 ref(oopsHV(yyvsp[-4].opval), OP_HSLICE)));
2285 PL_expect = XOPERATOR; }
2289 { yyval.opval = yyvsp[0].opval; }
2293 { yyval.opval = newUNOP(OP_ENTERSUB, 0, scalar(yyvsp[0].opval)); }
2297 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar(yyvsp[-2].opval)); }
2301 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2302 append_elem(OP_LIST, yyvsp[-1].opval, scalar(yyvsp[-3].opval))); }
2306 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2307 append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); }
2311 { yyval.opval = newOP(yyvsp[0].ival, OPf_SPECIAL);
2312 PL_hints |= HINT_BLOCK_SCOPE; }
2316 { yyval.opval = newLOOPEX(yyvsp[-1].ival,yyvsp[0].opval); }
2320 { yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
2324 { yyval.opval = newOP(yyvsp[0].ival, 0); }
2328 { yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2332 { yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2336 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2337 append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); }
2341 { yyval.opval = newOP(yyvsp[0].ival, 0); }
2345 { yyval.opval = newOP(yyvsp[-2].ival, 0); }
2349 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2350 scalar(yyvsp[0].opval)); }
2354 { yyval.opval = newOP(yyvsp[-2].ival, OPf_SPECIAL); }
2358 { yyval.opval = newUNOP(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
2362 { yyval.opval = pmruntime(yyvsp[-3].opval, yyvsp[-1].opval, Nullop); }
2366 { yyval.opval = pmruntime(yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval); }
2370 { yyval.opval = my_attrs(yyvsp[-1].opval,yyvsp[0].opval); }
2374 { yyval.opval = localize(yyvsp[0].opval,yyvsp[-1].ival); }
2378 { yyval.opval = sawparens(yyvsp[-1].opval); }
2382 { yyval.opval = sawparens(newNULLLIST()); }
2386 { yyval.opval = yyvsp[0].opval; }
2390 { yyval.opval = yyvsp[0].opval; }
2394 { yyval.opval = yyvsp[0].opval; }
2398 { yyval.opval = Nullop; }
2402 { yyval.opval = yyvsp[0].opval; }
2406 { yyval.opval = Nullop; }
2410 { yyval.opval = yyvsp[0].opval; }
2414 { yyval.opval = yyvsp[-1].opval; }
2418 { PL_in_my = 0; yyval.opval = my(yyvsp[0].opval); }
2422 { yyval.opval = newCVREF(yyvsp[-1].ival,yyvsp[0].opval); }
2426 { yyval.opval = newSVREF(yyvsp[0].opval); }
2430 { yyval.opval = newAVREF(yyvsp[0].opval); }
2434 { yyval.opval = newHVREF(yyvsp[0].opval); }
2438 { yyval.opval = newAVREF(yyvsp[0].opval); }
2442 { yyval.opval = newGVREF(0,yyvsp[0].opval); }
2446 { yyval.opval = scalar(yyvsp[0].opval); }
2450 { yyval.opval = scalar(yyvsp[0].opval); }
2454 { yyval.opval = scope(yyvsp[0].opval); }
2458 { yyval.opval = yyvsp[0].opval; }
2460 #line 2477 "perly.c"
2466 if (yystate == 0 && yym == 0)
2470 PerlIO_printf(Perl_debug_log, "yydebug: after reduction, shifting from state 0 to\
2471 state %d\n", YYFINAL);
2478 if ((yychar = yylex()) < 0) yychar = 0;
2483 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
2484 if (!yys) yys = "illegal-symbol";
2485 PerlIO_printf(Perl_debug_log, "yydebug: state %d, reading %d (%s)\n",
2486 YYFINAL, yychar, yys);
2490 if (yychar == 0) goto yyaccept;
2493 if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
2494 yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
2495 yystate = yytable[yyn];
2497 yystate = yydgoto[yym];
2500 PerlIO_printf(Perl_debug_log, "yydebug: after reduction, shifting from state %d \
2501 to state %d\n", *yyssp, yystate);
2503 if (yyssp >= yyss + yystacksize - 1)
2506 ** reallocate and recover. Note that pointers
2507 ** have to be reset, or bad things will happen
2509 int yyps_index = (yyssp - yyss);
2510 int yypv_index = (yyvsp - yyvs);
2511 yystacksize += YYSTACKSIZE;
2512 ysave->yyvs = Renew(yyvs, yystacksize, YYSTYPE);
2513 ysave->yyss = Renew(yyss, yystacksize, short);
2516 yyssp = yyss + yyps_index;
2517 yyvsp = yyvs + yypv_index;
2523 yyerror("Out of memory for yacc stack");
2528 LEAVE; /* force yydestruct() before we return */
2538 yydestruct(pTHXo_ void *ptr)
2540 struct ysv* ysave = (struct ysv*)ptr;
2541 if (ysave->yyss) Safefree(ysave->yyss);
2542 if (ysave->yyvs) Safefree(ysave->yyvs);
2543 yydebug = ysave->oldyydebug;
2544 yynerrs = ysave->oldyynerrs;
2545 yyerrflag = ysave->oldyyerrflag;
2546 yychar = ysave->oldyychar;
2547 yyval = ysave->oldyyval;
2548 yylval = ysave->oldyylval;