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