2 /* A Bison parser, made from parse.y
3 by Bison version A2.5 (Andrew Consortium)
6 #define YYBISON 1 /* Identify Bison output. */
14 #define CV_QUALIFIER 264
32 #define ASM_KEYWORD 282
33 #define GCC_ASM_KEYWORD 283
51 #define TYPENAME_KEYWORD 301
53 #define LEFT_RIGHT 303
56 #define DYNAMIC_CAST 306
57 #define STATIC_CAST 307
58 #define REINTERPRET_CAST 308
59 #define CONST_CAST 309
70 #define ARITHCOMPARE 320
73 #define POINTSAT_STAR 323
77 #define MINUSMINUS 327
78 #define HYPERUNARY 328
79 #define PAREN_STAR_PAREN 329
83 #define TYPENAME_ELLIPSIS 333
84 #define PRE_PARSED_FUNCTION_DECL 334
85 #define EXTERN_LANG_STRING 335
87 #define PRE_PARSED_CLASS_DECL 337
89 #define DEFARG_MARKER 339
90 #define TYPENAME_DEFN 340
91 #define IDENTIFIER_DEFN 341
92 #define PTYPENAME_DEFN 342
93 #define END_OF_LINE 343
94 #define END_OF_SAVED_INPUT 344
98 /* Cause the `yydebug' variable to be defined. */
114 /* Since parsers are distinct for each language, put the language string
115 definition here. (fnf) */
116 char *language_string
= "GNU C++";
118 extern tree void_list_node
;
119 extern struct obstack permanent_obstack
;
125 extern int end_of_file
;
126 extern int current_class_depth
;
127 extern tree last_tree
;
129 /* FSF LOCAL dje prefix attributes */
130 extern tree strip_attrs
PROTO((tree
));
133 /* Like YYERROR but do call yyerror. */
134 #define YYERROR1 { yyerror ("syntax error"); YYERROR; }
136 #define OP0(NODE) (TREE_OPERAND (NODE, 0))
137 #define OP1(NODE) (TREE_OPERAND (NODE, 1))
139 /* Contains the statement keyword (if/while/do) to include in an
140 error message if the user supplies an empty conditional expression. */
141 static char *cond_stmt_keyword
;
143 static tree empty_parms
PROTO((void));
145 /* Nonzero if we have an `extern "C"' acting as an extern specifier. */
146 int have_extern_spec
;
147 int used_extern_spec
;
149 /* Cons up an empty parameter list. */
159 || current_class_type
!= NULL
)
160 parms
= void_list_node
;
167 typedef union {long itype
; tree ttype
; char *strtype
; enum tree_code code
; flagged_type_tree ftype
; } YYSTYPE
;
170 /* List of types and structure classes of the current declaration. */
171 static tree current_declspecs
= NULL_TREE
;
172 /* List of prefix attributes in effect.
173 Prefix attributes are parsed by the reserved_declspecs and declmods
174 rules. They create a list that contains *both* declspecs and attrs. */
175 /* ??? It is not clear yet that all cases where an attribute can now appear in
176 a declspec list have been updated. */
177 static tree prefix_attributes
= NULL_TREE
;
179 /* When defining an aggregate, this is the most recent one being defined. */
180 static tree current_aggr
;
182 /* Tell yyparse how to print a token's value, if yydebug is set. */
184 #define YYPRINT(FILE,YYCHAR,YYLVAL) yyprint(FILE,YYCHAR,YYLVAL)
185 extern void yyprint
PROTO((FILE *, int, YYSTYPE
));
186 extern tree combine_strings
PROTO((tree
));
198 #define YYFLAG -32768
201 #define YYTRANSLATE(x) ((unsigned)(x) <= 344 ? yytranslate[x] : 376)
203 static const char yytranslate
[] = { 0,
204 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
205 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
206 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
207 2, 2, 112, 2, 2, 2, 83, 71, 2, 94,
208 110, 81, 79, 60, 80, 93, 82, 2, 2, 2,
209 2, 2, 2, 2, 2, 2, 2, 63, 61, 75,
210 65, 76, 66, 2, 2, 2, 2, 2, 2, 2,
211 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
212 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
213 95, 2, 113, 70, 2, 2, 2, 2, 2, 2,
214 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
215 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
216 2, 2, 59, 69, 111, 89, 2, 2, 2, 2,
217 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
218 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
219 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
220 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
221 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
222 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
223 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
224 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
225 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
226 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
227 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
228 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
229 2, 2, 2, 2, 2, 1, 2, 3, 4, 5,
230 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
231 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
232 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
233 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
234 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
235 56, 57, 58, 62, 64, 67, 68, 72, 73, 74,
236 77, 78, 84, 85, 86, 87, 88, 90, 91, 92,
237 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
242 static const short yyprhs
[] = { 0,
243 0, 1, 3, 4, 7, 10, 12, 13, 14, 15,
244 17, 19, 21, 22, 25, 28, 30, 32, 38, 43,
245 49, 54, 55, 62, 63, 69, 75, 78, 83, 86,
246 89, 93, 97, 99, 101, 104, 107, 109, 112, 113,
247 119, 123, 125, 129, 131, 134, 136, 139, 141, 145,
248 147, 151, 154, 157, 160, 164, 168, 171, 174, 177,
249 180, 183, 185, 187, 189, 190, 192, 195, 196, 198,
250 203, 207, 211, 212, 221, 227, 228, 238, 245, 246,
251 255, 261, 262, 272, 279, 282, 285, 287, 290, 292,
252 299, 304, 311, 316, 319, 321, 324, 327, 329, 332,
253 334, 337, 340, 343, 348, 351, 355, 356, 357, 359,
254 363, 366, 370, 372, 377, 380, 385, 388, 393, 396,
255 398, 400, 402, 404, 406, 408, 410, 412, 414, 416,
256 418, 422, 426, 429, 432, 437, 442, 446, 450, 455,
257 459, 464, 468, 470, 475, 479, 481, 483, 485, 489,
258 491, 493, 495, 497, 499, 501, 503, 505, 507, 509,
259 513, 515, 519, 520, 522, 524, 525, 533, 535, 537,
260 541, 546, 550, 551, 555, 557, 561, 565, 569, 573,
261 575, 577, 579, 582, 585, 588, 591, 594, 597, 600,
262 605, 608, 613, 616, 620, 624, 629, 634, 640, 646,
263 653, 656, 661, 667, 670, 673, 677, 681, 685, 687,
264 691, 694, 698, 703, 705, 708, 714, 716, 720, 724,
265 728, 732, 736, 740, 744, 748, 752, 756, 760, 764,
266 768, 772, 776, 780, 784, 788, 792, 798, 802, 806,
267 808, 811, 815, 817, 819, 821, 823, 825, 830, 834,
268 839, 843, 849, 855, 861, 863, 865, 867, 869, 872,
269 875, 879, 884, 889, 891, 893, 895, 899, 901, 903,
270 905, 907, 911, 915, 919, 920, 925, 930, 933, 938,
271 941, 944, 946, 951, 953, 961, 969, 977, 985, 990,
272 995, 998, 1001, 1003, 1008, 1011, 1014, 1020, 1024, 1027,
273 1030, 1036, 1040, 1046, 1050, 1055, 1062, 1065, 1067, 1070,
274 1072, 1075, 1077, 1079, 1081, 1084, 1085, 1088, 1091, 1095,
275 1099, 1103, 1106, 1109, 1112, 1114, 1116, 1118, 1121, 1124,
276 1127, 1130, 1132, 1134, 1136, 1138, 1141, 1144, 1148, 1152,
277 1156, 1161, 1163, 1166, 1169, 1172, 1174, 1176, 1178, 1181,
278 1184, 1187, 1189, 1191, 1194, 1197, 1201, 1203, 1206, 1208,
279 1210, 1212, 1217, 1222, 1227, 1232, 1234, 1236, 1238, 1240,
280 1244, 1246, 1250, 1252, 1256, 1257, 1262, 1263, 1270, 1274,
281 1275, 1282, 1286, 1287, 1294, 1298, 1299, 1306, 1310, 1311,
282 1313, 1315, 1318, 1325, 1327, 1331, 1332, 1334, 1339, 1346,
283 1351, 1353, 1355, 1357, 1359, 1361, 1365, 1366, 1369, 1371,
284 1374, 1378, 1383, 1385, 1387, 1391, 1396, 1403, 1407, 1413,
285 1415, 1420, 1424, 1428, 1429, 1433, 1437, 1441, 1442, 1445,
286 1448, 1449, 1457, 1462, 1463, 1470, 1474, 1477, 1480, 1483,
287 1484, 1485, 1486, 1497, 1499, 1500, 1502, 1503, 1505, 1507,
288 1510, 1513, 1516, 1519, 1522, 1525, 1529, 1534, 1538, 1541,
289 1545, 1546, 1548, 1552, 1555, 1558, 1560, 1562, 1563, 1566,
290 1570, 1572, 1577, 1579, 1583, 1585, 1587, 1592, 1597, 1600,
291 1603, 1607, 1611, 1613, 1614, 1616, 1619, 1624, 1628, 1630,
292 1633, 1636, 1639, 1642, 1645, 1648, 1651, 1653, 1656, 1659,
293 1662, 1667, 1672, 1675, 1677, 1683, 1688, 1690, 1693, 1694,
294 1696, 1700, 1701, 1703, 1707, 1709, 1711, 1713, 1715, 1720,
295 1725, 1730, 1735, 1740, 1744, 1749, 1754, 1759, 1764, 1768,
296 1770, 1774, 1776, 1780, 1783, 1785, 1792, 1793, 1796, 1798,
297 1801, 1802, 1805, 1810, 1815, 1818, 1823, 1827, 1831, 1834,
298 1837, 1841, 1843, 1845, 1848, 1850, 1852, 1855, 1858, 1863,
299 1868, 1872, 1876, 1879, 1881, 1885, 1889, 1892, 1895, 1899,
300 1901, 1905, 1909, 1912, 1915, 1919, 1921, 1926, 1930, 1935,
301 1939, 1941, 1944, 1947, 1950, 1953, 1956, 1958, 1961, 1966,
302 1971, 1974, 1976, 1978, 1980, 1982, 1985, 1988, 1991, 1994,
303 1997, 1999, 2002, 2005, 2007, 2010, 2013, 2016, 2019, 2022,
304 2025, 2028, 2031, 2033, 2036, 2039, 2043, 2045, 2049, 2052,
305 2056, 2059, 2062, 2066, 2068, 2072, 2077, 2081, 2084, 2087,
306 2089, 2093, 2096, 2099, 2101, 2104, 2108, 2110, 2114, 2116,
307 2123, 2128, 2133, 2137, 2143, 2147, 2151, 2155, 2158, 2160,
308 2162, 2165, 2168, 2171, 2172, 2173, 2174, 2176, 2178, 2181,
309 2185, 2187, 2190, 2191, 2197, 2198, 2199, 2206, 2208, 2209,
310 2214, 2216, 2218, 2220, 2223, 2224, 2225, 2232, 2234, 2235,
311 2236, 2244, 2245, 2246, 2254, 2255, 2256, 2257, 2258, 2273,
312 2274, 2275, 2285, 2286, 2292, 2293, 2301, 2302, 2307, 2310,
313 2313, 2316, 2320, 2327, 2336, 2347, 2360, 2365, 2369, 2372,
314 2375, 2377, 2379, 2380, 2381, 2388, 2389, 2390, 2396, 2398,
315 2401, 2402, 2403, 2404, 2413, 2415, 2417, 2421, 2425, 2428,
316 2431, 2434, 2437, 2440, 2442, 2445, 2446, 2448, 2449, 2451,
317 2453, 2454, 2456, 2458, 2462, 2467, 2469, 2473, 2474, 2476,
318 2478, 2480, 2483, 2486, 2489, 2491, 2493, 2496, 2499, 2502,
319 2505, 2506, 2510, 2512, 2514, 2516, 2519, 2522, 2525, 2530,
320 2533, 2536, 2539, 2542, 2545, 2548, 2550, 2553, 2555, 2558,
321 2560, 2562, 2563, 2564, 2566, 2567, 2572, 2575, 2577, 2579,
322 2583, 2584, 2588, 2592, 2596, 2598, 2601, 2604, 2607, 2610,
323 2613, 2616, 2619, 2622, 2625, 2628, 2631, 2634, 2637, 2640,
324 2643, 2646, 2649, 2652, 2655, 2658, 2661, 2664, 2667, 2671,
325 2674, 2677, 2680, 2683, 2687, 2690, 2693, 2698, 2703, 2707
328 static const short yyrhs
[] = { -1,
329 115, 0, 0, 116, 122, 0, 115, 122, 0, 115,
330 0, 0, 0, 0, 33, 0, 27, 0, 28, 0,
331 0, 123, 124, 0, 140, 139, 0, 136, 0, 135,
332 0, 121, 94, 194, 110, 61, 0, 129, 59, 117,
333 111, 0, 129, 118, 140, 119, 139, 0, 129, 118,
334 136, 119, 0, 0, 45, 155, 59, 125, 117, 111,
335 0, 0, 45, 59, 126, 117, 111, 0, 45, 155,
336 65, 128, 61, 0, 127, 61, 0, 47, 45, 128,
337 61, 0, 120, 124, 0, 47, 287, 0, 47, 300,
338 287, 0, 47, 300, 185, 0, 185, 0, 287, 0,
339 300, 287, 0, 300, 185, 0, 100, 0, 129, 100,
340 0, 0, 49, 75, 131, 132, 76, 0, 49, 75,
341 76, 0, 134, 0, 132, 60, 134, 0, 244, 0,
342 244, 155, 0, 46, 0, 46, 155, 0, 133, 0,
343 133, 65, 200, 0, 367, 0, 367, 65, 181, 0,
344 130, 124, 0, 130, 1, 0, 211, 61, 0, 204,
345 210, 61, 0, 201, 209, 61, 0, 204, 61, 0,
346 158, 61, 0, 201, 61, 0, 1, 61, 0, 1,
347 111, 0, 61, 0, 195, 0, 151, 0, 0, 150,
348 0, 150, 61, 0, 0, 109, 0, 146, 138, 137,
349 312, 0, 146, 138, 337, 0, 146, 138, 1, 0,
350 0, 292, 5, 94, 142, 358, 110, 274, 370, 0,
351 292, 5, 48, 274, 370, 0, 0, 300, 292, 5,
352 94, 143, 358, 110, 274, 370, 0, 300, 292, 5,
353 48, 274, 370, 0, 0, 292, 160, 94, 144, 358,
354 110, 274, 370, 0, 292, 160, 48, 274, 370, 0,
355 0, 300, 292, 160, 94, 145, 358, 110, 274, 370,
356 0, 300, 292, 160, 48, 274, 370, 0, 201, 198,
357 0, 204, 284, 0, 284, 0, 204, 141, 0, 141,
358 0, 5, 94, 358, 110, 274, 370, 0, 5, 48,
359 274, 370, 0, 160, 94, 358, 110, 274, 370, 0,
360 160, 48, 274, 370, 0, 204, 147, 0, 147, 0,
361 201, 198, 0, 204, 284, 0, 284, 0, 204, 141,
362 0, 141, 0, 130, 148, 0, 25, 3, 0, 149,
363 228, 0, 149, 94, 175, 110, 0, 149, 48, 0,
364 63, 152, 153, 0, 0, 0, 154, 0, 153, 60,
365 154, 0, 153, 1, 0, 94, 175, 110, 0, 48,
366 0, 156, 94, 175, 110, 0, 156, 48, 0, 280,
367 94, 175, 110, 0, 280, 48, 0, 294, 94, 175,
368 110, 0, 294, 48, 0, 3, 0, 4, 0, 5,
369 0, 57, 0, 58, 0, 3, 0, 57, 0, 58,
370 0, 106, 0, 105, 0, 107, 0, 49, 207, 61,
371 0, 49, 201, 198, 0, 49, 284, 0, 49, 141,
372 0, 7, 49, 207, 61, 0, 7, 49, 201, 198,
373 0, 7, 49, 284, 0, 7, 49, 141, 0, 57,
374 75, 162, 161, 0, 57, 75, 161, 0, 4, 75,
375 162, 161, 0, 4, 75, 161, 0, 160, 0, 5,
376 75, 162, 161, 0, 5, 75, 161, 0, 76, 0,
377 78, 0, 163, 0, 162, 60, 163, 0, 200, 0,
378 181, 0, 80, 0, 79, 0, 87, 0, 88, 0,
379 112, 0, 174, 0, 181, 0, 48, 0, 94, 165,
380 110, 0, 48, 0, 94, 169, 110, 0, 0, 169,
381 0, 1, 0, 0, 348, 198, 212, 221, 65, 170,
382 229, 0, 165, 0, 111, 0, 309, 305, 111, 0,
383 309, 305, 1, 111, 0, 309, 1, 111, 0, 0,
384 59, 173, 171, 0, 321, 0, 181, 60, 181, 0,
385 181, 60, 1, 0, 174, 60, 181, 0, 174, 60,
386 1, 0, 181, 0, 174, 0, 189, 0, 120, 180,
387 0, 81, 180, 0, 71, 180, 0, 89, 180, 0,
388 164, 180, 0, 68, 155, 0, 13, 176, 0, 13,
389 94, 200, 110, 0, 30, 176, 0, 30, 94, 200,
390 110, 0, 191, 273, 0, 191, 273, 178, 0, 191,
391 177, 273, 0, 191, 177, 273, 178, 0, 191, 94,
392 200, 110, 0, 191, 94, 200, 110, 178, 0, 191,
393 177, 94, 200, 110, 0, 191, 177, 94, 200, 110,
394 178, 0, 192, 180, 0, 192, 95, 113, 180, 0,
395 192, 95, 165, 113, 180, 0, 35, 180, 0, 36,
396 180, 0, 94, 175, 110, 0, 59, 175, 111, 0,
397 94, 175, 110, 0, 48, 0, 94, 207, 110, 0,
398 65, 229, 0, 94, 200, 110, 0, 179, 94, 200,
399 110, 0, 176, 0, 179, 176, 0, 179, 59, 230,
400 242, 111, 0, 180, 0, 181, 84, 181, 0, 181,
401 85, 181, 0, 181, 79, 181, 0, 181, 80, 181,
402 0, 181, 81, 181, 0, 181, 82, 181, 0, 181,
403 83, 181, 0, 181, 77, 181, 0, 181, 78, 181,
404 0, 181, 74, 181, 0, 181, 75, 181, 0, 181,
405 76, 181, 0, 181, 73, 181, 0, 181, 72, 181,
406 0, 181, 71, 181, 0, 181, 69, 181, 0, 181,
407 70, 181, 0, 181, 68, 181, 0, 181, 67, 181,
408 0, 181, 66, 353, 63, 181, 0, 181, 65, 181,
409 0, 181, 64, 181, 0, 62, 0, 62, 181, 0,
410 89, 368, 155, 0, 183, 0, 375, 0, 3, 0,
411 57, 0, 58, 0, 6, 75, 162, 161, 0, 6,
412 75, 161, 0, 375, 75, 162, 161, 0, 375, 75,
413 161, 0, 49, 155, 75, 162, 161, 0, 49, 6,
414 75, 162, 161, 0, 49, 375, 75, 162, 161, 0,
415 182, 0, 4, 0, 5, 0, 182, 0, 81, 186,
416 0, 71, 186, 0, 94, 186, 110, 0, 3, 75,
417 162, 161, 0, 58, 75, 162, 161, 0, 286, 0,
418 182, 0, 187, 0, 94, 186, 110, 0, 182, 0,
419 10, 0, 193, 0, 194, 0, 94, 165, 110, 0,
420 94, 186, 110, 0, 94, 1, 110, 0, 0, 94,
421 190, 313, 110, 0, 189, 94, 175, 110, 0, 189,
422 48, 0, 189, 95, 165, 113, 0, 189, 87, 0,
423 189, 88, 0, 41, 0, 9, 94, 175, 110, 0,
424 290, 0, 51, 75, 200, 76, 94, 165, 110, 0,
425 52, 75, 200, 76, 94, 165, 110, 0, 53, 75,
426 200, 76, 94, 165, 110, 0, 54, 75, 200, 76,
427 94, 165, 110, 0, 50, 94, 165, 110, 0, 50,
428 94, 200, 110, 0, 300, 3, 0, 300, 375, 0,
429 289, 0, 289, 94, 175, 110, 0, 289, 48, 0,
430 196, 184, 0, 196, 184, 94, 175, 110, 0, 196,
431 184, 48, 0, 196, 185, 0, 196, 289, 0, 196,
432 185, 94, 175, 110, 0, 196, 185, 48, 0, 196,
433 289, 94, 175, 110, 0, 196, 289, 48, 0, 196,
434 89, 8, 48, 0, 196, 8, 55, 89, 8, 48,
435 0, 196, 1, 0, 40, 0, 300, 40, 0, 39,
436 0, 300, 192, 0, 43, 0, 44, 0, 11, 0,
437 194, 11, 0, 0, 189, 93, 0, 189, 92, 0,
438 207, 209, 61, 0, 201, 209, 61, 0, 204, 210,
439 61, 0, 201, 61, 0, 204, 61, 0, 120, 197,
440 0, 279, 0, 284, 0, 48, 0, 199, 48, 0,
441 205, 303, 0, 275, 303, 0, 207, 303, 0, 205,
442 0, 275, 0, 205, 0, 202, 0, 204, 207, 0,
443 207, 203, 0, 207, 206, 203, 0, 204, 207, 203,
444 0, 204, 207, 206, 0, 204, 207, 206, 203, 0,
445 7, 0, 203, 208, 0, 203, 7, 0, 203, 222,
446 0, 222, 0, 275, 0, 7, 0, 204, 9, 0,
447 204, 7, 0, 204, 222, 0, 222, 0, 207, 0,
448 275, 207, 0, 207, 206, 0, 275, 207, 206, 0,
449 208, 0, 206, 208, 0, 236, 0, 8, 0, 281,
450 0, 29, 94, 165, 110, 0, 29, 94, 200, 110,
451 0, 31, 94, 165, 110, 0, 31, 94, 200, 110,
452 0, 8, 0, 9, 0, 236, 0, 213, 0, 209,
453 60, 215, 0, 217, 0, 210, 60, 215, 0, 219,
454 0, 211, 60, 215, 0, 0, 121, 94, 194, 110,
455 0, 0, 198, 212, 221, 65, 214, 229, 0, 198,
456 212, 221, 0, 0, 198, 212, 221, 65, 216, 229,
457 0, 198, 212, 221, 0, 0, 284, 212, 221, 65,
458 218, 229, 0, 284, 212, 221, 0, 0, 284, 212,
459 221, 65, 220, 229, 0, 284, 212, 221, 0, 0,
460 222, 0, 223, 0, 222, 223, 0, 32, 94, 94,
461 224, 110, 110, 0, 225, 0, 224, 60, 225, 0,
462 0, 226, 0, 226, 94, 3, 110, 0, 226, 94,
463 3, 60, 175, 110, 0, 226, 94, 175, 110, 0,
464 155, 0, 7, 0, 8, 0, 9, 0, 155, 0,
465 227, 60, 155, 0, 0, 65, 229, 0, 181, 0,
466 59, 111, 0, 59, 230, 111, 0, 59, 230, 60,
467 111, 0, 1, 0, 229, 0, 230, 60, 229, 0,
468 95, 181, 113, 229, 0, 230, 60, 21, 181, 63,
469 229, 0, 155, 63, 229, 0, 230, 60, 155, 63,
470 229, 0, 99, 0, 231, 138, 137, 312, 0, 231,
471 138, 337, 0, 231, 138, 1, 0, 0, 233, 232,
472 139, 0, 104, 181, 109, 0, 104, 1, 109, 0,
473 0, 235, 234, 0, 235, 1, 0, 0, 14, 155,
474 59, 237, 271, 243, 111, 0, 14, 155, 59, 111,
475 0, 0, 14, 59, 238, 271, 243, 111, 0, 14,
476 59, 111, 0, 14, 155, 0, 14, 298, 0, 46,
477 294, 0, 0, 0, 0, 251, 257, 239, 259, 111,
478 221, 240, 235, 241, 233, 0, 251, 0, 0, 60,
479 0, 0, 60, 0, 37, 0, 244, 7, 0, 244,
480 8, 0, 244, 9, 0, 244, 37, 0, 244, 155,
481 0, 244, 157, 0, 244, 292, 155, 0, 244, 300,
482 292, 155, 0, 244, 300, 155, 0, 244, 159, 0,
483 244, 292, 159, 0, 0, 245, 0, 246, 248, 252,
484 0, 247, 252, 0, 244, 59, 0, 250, 0, 249,
485 0, 0, 63, 368, 0, 63, 368, 253, 0, 254,
486 0, 253, 60, 368, 254, 0, 255, 0, 256, 368,
487 255, 0, 294, 0, 280, 0, 31, 94, 165, 110,
488 0, 31, 94, 200, 110, 0, 38, 368, 0, 7,
489 368, 0, 256, 38, 368, 0, 256, 7, 368, 0,
490 59, 0, 0, 258, 0, 258, 260, 0, 259, 38,
491 63, 260, 0, 259, 38, 63, 0, 261, 0, 260,
492 261, 0, 262, 61, 0, 262, 111, 0, 148, 63,
493 0, 148, 96, 0, 148, 25, 0, 148, 59, 0,
494 61, 0, 120, 261, 0, 201, 263, 0, 204, 264,
495 0, 284, 212, 221, 228, 0, 141, 212, 221, 228,
496 0, 63, 181, 0, 1, 0, 204, 147, 212, 221,
497 228, 0, 147, 212, 221, 228, 0, 127, 0, 130,
498 262, 0, 0, 265, 0, 263, 60, 266, 0, 0,
499 268, 0, 264, 60, 270, 0, 267, 0, 268, 0,
500 269, 0, 270, 0, 279, 212, 221, 228, 0, 4,
501 63, 181, 221, 0, 284, 212, 221, 228, 0, 141,
502 212, 221, 228, 0, 3, 63, 181, 221, 0, 63,
503 181, 221, 0, 279, 212, 221, 228, 0, 4, 63,
504 181, 221, 0, 284, 212, 221, 228, 0, 3, 63,
505 181, 221, 0, 63, 181, 221, 0, 272, 0, 271,
506 60, 272, 0, 155, 0, 155, 65, 181, 0, 348,
507 301, 0, 348, 0, 94, 200, 110, 95, 165, 113,
508 0, 0, 274, 9, 0, 9, 0, 275, 9, 0,
509 0, 276, 165, 0, 276, 94, 175, 110, 0, 276,
510 94, 358, 110, 0, 276, 48, 0, 276, 94, 1,
511 110, 0, 81, 275, 279, 0, 71, 275, 279, 0,
512 81, 279, 0, 71, 279, 0, 299, 274, 279, 0,
513 283, 0, 291, 0, 300, 291, 0, 280, 0, 282,
514 0, 300, 282, 0, 292, 291, 0, 283, 278, 274,
515 370, 0, 283, 95, 277, 113, 0, 283, 95, 113,
516 0, 94, 279, 110, 0, 292, 291, 0, 291, 0,
517 81, 275, 284, 0, 71, 275, 284, 0, 81, 284,
518 0, 71, 284, 0, 299, 274, 284, 0, 188, 0,
519 81, 275, 284, 0, 71, 275, 284, 0, 81, 285,
520 0, 71, 285, 0, 299, 274, 284, 0, 286, 0,
521 188, 278, 274, 370, 0, 94, 285, 110, 0, 188,
522 95, 277, 113, 0, 188, 95, 113, 0, 288, 0,
523 292, 187, 0, 292, 185, 0, 292, 184, 0, 292,
524 182, 0, 292, 184, 0, 288, 0, 300, 288, 0,
525 207, 94, 175, 110, 0, 207, 94, 186, 110, 0,
526 207, 199, 0, 4, 0, 5, 0, 159, 0, 293,
527 0, 292, 293, 0, 4, 55, 0, 5, 55, 0,
528 58, 55, 0, 159, 55, 0, 295, 0, 300, 295,
529 0, 296, 155, 0, 297, 0, 296, 297, 0, 4,
530 55, 0, 5, 55, 0, 159, 55, 0, 57, 55,
531 0, 3, 55, 0, 58, 55, 0, 300, 291, 0,
532 282, 0, 300, 282, 0, 292, 81, 0, 300, 292,
533 81, 0, 55, 0, 81, 274, 301, 0, 81, 274,
534 0, 71, 274, 301, 0, 71, 274, 0, 299, 274,
535 0, 299, 274, 301, 0, 302, 0, 95, 165, 113,
536 0, 302, 95, 277, 113, 0, 81, 275, 303, 0,
537 81, 303, 0, 81, 275, 0, 81, 0, 71, 275,
538 303, 0, 71, 303, 0, 71, 275, 0, 71, 0,
539 299, 274, 0, 299, 274, 303, 0, 304, 0, 94,
540 303, 110, 0, 91, 0, 304, 94, 358, 110, 274,
541 370, 0, 304, 48, 274, 370, 0, 304, 95, 277,
542 113, 0, 304, 95, 113, 0, 94, 359, 110, 274,
543 370, 0, 179, 274, 370, 0, 199, 274, 370, 0,
544 95, 277, 113, 0, 95, 113, 0, 320, 0, 306,
545 0, 305, 320, 0, 305, 306, 0, 1, 61, 0,
546 0, 0, 0, 310, 0, 311, 0, 310, 311, 0,
547 34, 227, 61, 0, 313, 0, 1, 313, 0, 0,
548 59, 314, 307, 171, 308, 0, 0, 0, 15, 316,
549 307, 167, 317, 318, 0, 313, 0, 0, 307, 319,
550 321, 308, 0, 313, 0, 321, 0, 197, 0, 165,
551 61, 0, 0, 0, 315, 16, 322, 318, 323, 308,
552 0, 315, 0, 0, 0, 17, 324, 307, 167, 325,
553 172, 308, 0, 0, 0, 18, 326, 318, 17, 327,
554 166, 61, 0, 0, 0, 0, 0, 19, 328, 94,
555 351, 329, 307, 168, 61, 330, 353, 110, 331, 172,
556 308, 0, 0, 0, 20, 307, 94, 169, 110, 332,
557 318, 333, 308, 0, 0, 21, 181, 63, 334, 320,
558 0, 0, 21, 181, 12, 181, 63, 335, 320, 0,
559 0, 22, 63, 336, 320, 0, 23, 61, 0, 24,
560 61, 0, 25, 61, 0, 25, 165, 61, 0, 121,
561 352, 94, 194, 110, 61, 0, 121, 352, 94, 194,
562 63, 354, 110, 61, 0, 121, 352, 94, 194, 63,
563 354, 63, 354, 110, 61, 0, 121, 352, 94, 194,
564 63, 354, 63, 354, 63, 357, 110, 61, 0, 26,
565 81, 165, 61, 0, 26, 155, 61, 0, 350, 320,
566 0, 350, 111, 0, 61, 0, 340, 0, 0, 0,
567 96, 338, 137, 313, 339, 343, 0, 0, 0, 96,
568 341, 313, 342, 343, 0, 344, 0, 343, 344, 0,
569 0, 0, 0, 97, 345, 307, 349, 346, 313, 347,
570 308, 0, 205, 0, 275, 0, 94, 12, 110, 0,
571 94, 367, 110, 0, 3, 63, 0, 57, 63, 0,
572 4, 63, 0, 5, 63, 0, 353, 61, 0, 197,
573 0, 59, 171, 0, 0, 9, 0, 0, 165, 0,
574 1, 0, 0, 355, 0, 356, 0, 355, 60, 356,
575 0, 11, 94, 165, 110, 0, 11, 0, 357, 60,
576 11, 0, 0, 359, 0, 200, 0, 363, 0, 364,
577 12, 0, 363, 12, 0, 200, 12, 0, 12, 0,
578 98, 0, 363, 98, 0, 200, 98, 0, 363, 63,
579 0, 200, 63, 0, 0, 65, 361, 362, 0, 103,
580 0, 229, 0, 365, 0, 367, 360, 0, 364, 366,
581 0, 364, 369, 0, 364, 369, 65, 229, 0, 363,
582 60, 0, 200, 60, 0, 202, 198, 0, 205, 198,
583 0, 207, 198, 0, 202, 303, 0, 202, 0, 204,
584 284, 0, 367, 0, 367, 360, 0, 365, 0, 200,
585 0, 0, 0, 284, 0, 0, 62, 94, 372, 110,
586 0, 62, 48, 0, 200, 0, 371, 0, 372, 60,
587 371, 0, 0, 81, 274, 373, 0, 71, 274, 373,
588 0, 299, 274, 373, 0, 42, 0, 374, 81, 0,
589 374, 82, 0, 374, 83, 0, 374, 79, 0, 374,
590 80, 0, 374, 71, 0, 374, 69, 0, 374, 70,
591 0, 374, 89, 0, 374, 60, 0, 374, 74, 0,
592 374, 75, 0, 374, 76, 0, 374, 73, 0, 374,
593 64, 0, 374, 65, 0, 374, 77, 0, 374, 78,
594 0, 374, 87, 0, 374, 88, 0, 374, 68, 0,
595 374, 67, 0, 374, 112, 0, 374, 66, 63, 0,
596 374, 72, 0, 374, 92, 0, 374, 84, 0, 374,
597 48, 0, 374, 95, 113, 0, 374, 40, 0, 374,
598 39, 0, 374, 40, 95, 113, 0, 374, 39, 95,
599 113, 0, 374, 348, 373, 0, 374, 1, 0
605 static const short yyrline
[] = { 0,
606 310, 312, 326, 329, 330, 334, 336, 339, 344, 348,
607 354, 356, 359, 362, 366, 369, 371, 373, 376, 378,
608 381, 384, 386, 388, 390, 392, 394, 396, 402, 406,
609 409, 411, 415, 417, 418, 420, 424, 427, 433, 436,
610 438, 443, 446, 450, 463, 465, 467, 471, 481, 483,
611 485, 489, 498, 508, 511, 513, 517, 519, 520, 527,
612 528, 529, 532, 535, 539, 541, 542, 545, 547, 550,
613 553, 555, 559, 569, 571, 581, 590, 592, 602, 611,
614 613, 623, 632, 634, 646, 654, 661, 666, 673, 680,
615 683, 685, 687, 693, 703, 705, 708, 711, 713, 716,
616 718, 741, 750, 753, 755, 759, 772, 792, 795, 797,
617 798, 801, 808, 814, 816, 818, 820, 822, 825, 830,
618 832, 833, 834, 835, 838, 840, 841, 844, 846, 847,
619 850, 854, 857, 859, 861, 864, 867, 869, 877, 884,
620 890, 896, 902, 905, 912, 920, 922, 930, 933, 937,
621 940, 943, 946, 948, 950, 952, 956, 959, 962, 967,
622 971, 976, 980, 983, 985, 989, 1009, 1016, 1019, 1021,
623 1022, 1023, 1026, 1037, 1046, 1050, 1054, 1057, 1059, 1063,
624 1066, 1069, 1073, 1076, 1078, 1080, 1082, 1089, 1102, 1104,
625 1106, 1108, 1114, 1117, 1120, 1123, 1126, 1130, 1133, 1136,
626 1140, 1142, 1146, 1150, 1152, 1156, 1159, 1166, 1169, 1171,
627 1179, 1188, 1194, 1201, 1203, 1205, 1218, 1221, 1223, 1225,
628 1227, 1229, 1231, 1233, 1235, 1237, 1239, 1241, 1243, 1245,
629 1247, 1249, 1251, 1253, 1255, 1257, 1259, 1261, 1265, 1267,
630 1269, 1286, 1289, 1290, 1291, 1292, 1293, 1296, 1299, 1301,
631 1304, 1309, 1312, 1314, 1318, 1320, 1321, 1324, 1326, 1328,
632 1330, 1334, 1337, 1341, 1343, 1344, 1345, 1349, 1357, 1358,
633 1359, 1367, 1375, 1383, 1385, 1393, 1414, 1421, 1428, 1430,
634 1439, 1444, 1467, 1511, 1512, 1516, 1520, 1524, 1528, 1530,
635 1534, 1536, 1544, 1546, 1551, 1557, 1561, 1566, 1571, 1573,
636 1578, 1593, 1608, 1619, 1631, 1639, 1648, 1692, 1695, 1699,
637 1702, 1706, 1709, 1714, 1716, 1720, 1733, 1736, 1743, 1750,
638 1755, 1757, 1762, 1764, 1771, 1773, 1777, 1781, 1787, 1791,
639 1794, 1797, 1800, 1810, 1812, 1815, 1819, 1822, 1825, 1828,
640 1831, 1837, 1843, 1845, 1850, 1852, 1861, 1864, 1866, 1869,
641 1875, 1877, 1887, 1891, 1894, 1897, 1902, 1905, 1913, 1915,
642 1917, 1919, 1922, 1925, 1940, 1959, 1962, 1964, 1967, 1969,
643 1972, 1974, 1977, 1979, 1982, 1985, 1989, 2008, 2010, 2030,
644 2036, 2037, 2043, 2052, 2054, 2064, 2073, 2075, 2087, 2090,
645 2094, 2097, 2101, 2106, 2109, 2113, 2116, 2118, 2120, 2122,
646 2129, 2131, 2132, 2133, 2137, 2140, 2144, 2147, 2153, 2155,
647 2158, 2161, 2164, 2170, 2173, 2176, 2178, 2180, 2182, 2186,
648 2192, 2200, 2202, 2206, 2208, 2213, 2216, 2219, 2221, 2223,
649 2227, 2231, 2236, 2240, 2243, 2248, 2252, 2255, 2258, 2262,
650 2264, 2299, 2305, 2311, 2323, 2325, 2328, 2330, 2335, 2337,
651 2339, 2341, 2343, 2347, 2352, 2357, 2363, 2368, 2373, 2375,
652 2379, 2384, 2387, 2394, 2422, 2428, 2430, 2433, 2436, 2438,
653 2442, 2444, 2448, 2474, 2503, 2506, 2507, 2528, 2551, 2553,
654 2557, 2583, 2592, 2675, 2682, 2685, 2693, 2704, 2713, 2717,
655 2732, 2735, 2740, 2742, 2744, 2746, 2748, 2750, 2755, 2761,
656 2763, 2766, 2769, 2771, 2782, 2787, 2790, 2792, 2816, 2819,
657 2820, 2831, 2834, 2835, 2846, 2848, 2851, 2853, 2856, 2863,
658 2871, 2878, 2884, 2890, 2898, 2902, 2907, 2911, 2914, 2923,
659 2925, 2929, 2932, 2937, 2941, 2946, 2956, 2959, 2963, 2967,
660 2975, 2980, 2986, 2989, 2991, 2993, 2999, 3002, 3004, 3006,
661 3008, 3012, 3015, 3033, 3043, 3045, 3046, 3050, 3055, 3058,
662 3060, 3062, 3064, 3068, 3074, 3077, 3079, 3081, 3083, 3087,
663 3090, 3093, 3095, 3097, 3099, 3103, 3106, 3109, 3111, 3113,
664 3115, 3122, 3133, 3137, 3142, 3146, 3151, 3153, 3157, 3160,
665 3162, 3166, 3168, 3169, 3172, 3174, 3180, 3195, 3201, 3207,
666 3221, 3223, 3227, 3239, 3245, 3256, 3263, 3269, 3271, 3272,
667 3273, 3281, 3290, 3291, 3295, 3298, 3304, 3310, 3313, 3315,
668 3317, 3319, 3323, 3327, 3331, 3334, 3339, 3342, 3344, 3346,
669 3348, 3350, 3352, 3354, 3356, 3360, 3364, 3368, 3372, 3373,
670 3375, 3377, 3379, 3381, 3383, 3385, 3387, 3389, 3397, 3399,
671 3400, 3401, 3404, 3412, 3417, 3424, 3426, 3431, 3433, 3436,
672 3450, 3453, 3456, 3465, 3477, 3488, 3508, 3518, 3521, 3529,
673 3541, 3544, 3547, 3550, 3566, 3569, 3580, 3581, 3585, 3600,
674 3619, 3631, 3645, 3659, 3672, 3691, 3709, 3728, 3736, 3757,
675 3775, 3788, 3789, 3792, 3792, 3795, 3795, 3798, 3798, 3804,
676 3810, 3813, 3818, 3825, 3834, 3843, 3852, 3860, 3873, 3875,
677 3879, 3881, 3884, 3891, 3894, 3902, 3918, 3929, 3941, 3943,
678 3946, 3956, 3966, 3977, 3979, 3981, 3984, 4001, 4007, 4015,
679 4017, 4019, 4023, 4026, 4027, 4035, 4039, 4043, 4046, 4047,
680 4053, 4056, 4059, 4061, 4065, 4070, 4073, 4083, 4088, 4089,
681 4097, 4103, 4108, 4112, 4117, 4121, 4125, 4129, 4134, 4145,
682 4159, 4163, 4166, 4168, 4172, 4176, 4179, 4182, 4184, 4188,
683 4190, 4197, 4204, 4207, 4210, 4214, 4218, 4224, 4228, 4233,
684 4235, 4238, 4243, 4249, 4259, 4262, 4264, 4268, 4273, 4275,
685 4282, 4285, 4287, 4289, 4295, 4300, 4303, 4305, 4307, 4309,
686 4311, 4313, 4315, 4317, 4319, 4321, 4323, 4325, 4327, 4329,
687 4331, 4333, 4335, 4337, 4339, 4341, 4343, 4345, 4347, 4349,
688 4351, 4353, 4355, 4357, 4359, 4361, 4363, 4365, 4368, 4370
695 static const char * const yytname
[] = { "$","error","$undefined.","IDENTIFIER",
696 "TYPENAME","SELFNAME","PFUNCNAME","SCSPEC","TYPESPEC","CV_QUALIFIER","CONSTANT",
697 "STRING","ELLIPSIS","SIZEOF","ENUM","IF","ELSE","WHILE","DO","FOR","SWITCH",
698 "CASE","DEFAULT","BREAK","CONTINUE","RETURN","GOTO","ASM_KEYWORD","GCC_ASM_KEYWORD",
699 "TYPEOF","ALIGNOF","SIGOF","ATTRIBUTE","EXTENSION","LABEL","REALPART","IMAGPART",
700 "AGGR","VISSPEC","DELETE","NEW","THIS","OPERATOR","CXX_TRUE","CXX_FALSE","NAMESPACE",
701 "TYPENAME_KEYWORD","USING","LEFT_RIGHT","TEMPLATE","TYPEID","DYNAMIC_CAST","STATIC_CAST",
702 "REINTERPRET_CAST","CONST_CAST","SCOPE","EMPTY","PTYPENAME","NSNAME","'{'","','",
703 "';'","THROW","':'","ASSIGN","'='","'?'","OROR","ANDAND","'|'","'^'","'&'","MIN_MAX",
704 "EQCOMPARE","ARITHCOMPARE","'<'","'>'","LSHIFT","RSHIFT","'+'","'-'","'*'","'/'",
705 "'%'","POINTSAT_STAR","DOT_STAR","UNARY","PLUSPLUS","MINUSMINUS","'~'","HYPERUNARY",
706 "PAREN_STAR_PAREN","POINTSAT","'.'","'('","'['","TRY","CATCH","TYPENAME_ELLIPSIS",
707 "PRE_PARSED_FUNCTION_DECL","EXTERN_LANG_STRING","ALL","PRE_PARSED_CLASS_DECL",
708 "DEFARG","DEFARG_MARKER","TYPENAME_DEFN","IDENTIFIER_DEFN","PTYPENAME_DEFN",
709 "END_OF_LINE","END_OF_SAVED_INPUT","')'","'}'","'!'","']'","program","extdefs",
710 "@1","extdefs_opt",".hush_warning",".warning_ok","extension","asm_keyword","lang_extdef",
711 "@2","extdef","@3","@4","using_decl","any_id","extern_lang_string","template_header",
712 "@5","template_parm_list","template_type_parm","template_parm","template_def",
713 "datadef","ctor_initializer_opt","maybe_return_init","eat_saved_input","fndef",
714 "constructor_declarator","@6","@7","@8","@9","fn.def1","component_constructor_declarator",
715 "fn.def2","return_id","return_init","base_init",".set_base_init","member_init_list",
716 "member_init","identifier","notype_identifier","identifier_defn","explicit_instantiation",
717 "template_type","self_template_type","template_close_bracket","template_arg_list",
718 "template_arg","unop","expr","paren_expr_or_null","paren_cond_or_null","xcond",
719 "condition","@10","compstmtend","already_scoped_stmt","@11","nontrivial_exprlist",
720 "nonnull_exprlist","unary_expr","new_placement","new_initializer","regcast_or_absdcl",
721 "cast_expr","expr_no_commas","notype_unqualified_id","template_id","object_template_id",
722 "unqualified_id","expr_or_declarator","notype_template_declarator","direct_notype_declarator",
723 "primary","@12","new","delete","boolean.literal","string","nodecls","object",
724 "decl","declarator","fcast_or_absdcl","type_id","typed_declspecs","typed_declspecs1",
725 "reserved_declspecs","declmods","typed_typespecs","reserved_typespecquals","typespec",
726 "typespecqual_reserved","initdecls","notype_initdecls","nomods_initdecls","maybeasm",
727 "initdcl0","@13","initdcl","@14","notype_initdcl0","@15","nomods_initdcl0","@16",
728 "maybe_attribute","attributes","attribute","attribute_list","attrib","any_word",
729 "identifiers_or_typenames","maybe_init","init","initlist","fn.defpen","pending_inline",
730 "pending_inlines","defarg_again","pending_defargs","structsp","@17","@18","@19",
731 "@20","@21","maybecomma","maybecomma_warn","aggr","named_class_head_sans_basetype",
732 "named_class_head_sans_basetype_defn","named_complex_class_head_sans_basetype",
733 "do_xref_defn","named_class_head","unnamed_class_head","class_head","maybe_base_class_list",
734 "base_class_list","base_class","base_class.1","base_class_access_list","left_curly",
735 "self_reference","opt.component_decl_list","component_decl_list","component_decl",
736 "component_decl_1","components","notype_components","component_declarator0",
737 "component_declarator","after_type_component_declarator0","notype_component_declarator0",
738 "after_type_component_declarator","notype_component_declarator","enumlist","enumerator",
739 "new_type_id","cv_qualifiers","nonempty_cv_qualifiers","suspend_mom","nonmomentary_expr",
740 "maybe_parmlist","after_type_declarator","nonnested_type","complete_type_name",
741 "nested_type","direct_after_type_declarator","notype_declarator","complex_notype_declarator",
742 "complex_direct_notype_declarator","qualified_id","notype_qualified_id","overqualified_id",
743 "functional_cast","type_name","nested_name_specifier","nested_name_specifier_1",
744 "typename_sub","typename_sub0","typename_sub1","typename_sub2","complex_type_name",
745 "ptr_to_mem","global_scope","new_declarator","direct_new_declarator","absdcl",
746 "direct_abstract_declarator","stmts","errstmt",".pushlevel",".poplevel","maybe_label_decls",
747 "label_decls","label_decl","compstmt_or_error","compstmt","@22","simple_if",
748 "@23","@24","implicitly_scoped_stmt","@25","stmt","simple_stmt","@26","@27",
749 "@28","@29","@30","@31","@32","@33","@34","@35","@36","@37","@38","@39","@40",
750 "function_try_block","@41","@42","try_block","@43","@44","handler_seq","handler",
751 "@45","@46","@47","type_specifier_seq","handler_args","label_colon","for.init.statement",
752 "maybe_cv_qualifier","xexpr","asm_operands","nonnull_asm_operands","asm_operand",
753 "asm_clobbers","parmlist","complex_parmlist","defarg","@48","defarg1","parms",
754 "parms_comma","named_parm","full_parm","parm","see_typename","bad_parm","exception_specification_opt",
755 "ansi_raise_identifier","ansi_raise_identifiers","conversion_declarator","operator",
756 "operator_name", NULL
760 static const short yyr1
[] = { 0,
761 114, 114, 116, 115, 115, 117, 117, 118, 119, 120,
762 121, 121, 123, 122, 124, 124, 124, 124, 124, 124,
763 124, 125, 124, 126, 124, 124, 124, 124, 124, 127,
764 127, 127, 128, 128, 128, 128, 129, 129, 131, 130,
765 130, 132, 132, 133, 133, 133, 133, 134, 134, 134,
766 134, 135, 135, 136, 136, 136, 136, 136, 136, 136,
767 136, 136, 137, 137, 138, 138, 138, 139, 139, 140,
768 140, 140, 142, 141, 141, 143, 141, 141, 144, 141,
769 141, 145, 141, 141, 146, 146, 146, 146, 146, 147,
770 147, 147, 147, 148, 148, 148, 148, 148, 148, 148,
771 148, 149, 150, 150, 150, 151, 152, 153, 153, 153,
772 153, 154, 154, 154, 154, 154, 154, 154, 154, 155,
773 155, 155, 155, 155, 156, 156, 156, 157, 157, 157,
774 158, 158, 158, 158, 158, 158, 158, 158, 159, 159,
775 159, 159, 159, 160, 160, 161, 161, 162, 162, 163,
776 163, 164, 164, 164, 164, 164, 165, 165, 166, 166,
777 167, 167, 168, 168, 168, 170, 169, 169, 171, 171,
778 171, 171, 173, 172, 172, 174, 174, 174, 174, 175,
779 175, 176, 176, 176, 176, 176, 176, 176, 176, 176,
780 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
781 176, 176, 176, 176, 176, 177, 177, 178, 178, 178,
782 178, 179, 179, 180, 180, 180, 181, 181, 181, 181,
783 181, 181, 181, 181, 181, 181, 181, 181, 181, 181,
784 181, 181, 181, 181, 181, 181, 181, 181, 181, 181,
785 181, 182, 182, 182, 182, 182, 182, 183, 183, 183,
786 183, 184, 184, 184, 185, 185, 185, 186, 186, 186,
787 186, 187, 187, 188, 188, 188, 188, 189, 189, 189,
788 189, 189, 189, 189, 190, 189, 189, 189, 189, 189,
789 189, 189, 189, 189, 189, 189, 189, 189, 189, 189,
790 189, 189, 189, 189, 189, 189, 189, 189, 189, 189,
791 189, 189, 189, 189, 189, 189, 189, 191, 191, 192,
792 192, 193, 193, 194, 194, 195, 196, 196, 197, 197,
793 197, 197, 197, 197, 198, 198, 199, 199, 200, 200,
794 200, 200, 200, 201, 201, 202, 202, 202, 202, 202,
795 202, 203, 203, 203, 203, 203, 204, 204, 204, 204,
796 204, 204, 205, 205, 205, 205, 206, 206, 207, 207,
797 207, 207, 207, 207, 207, 208, 208, 208, 209, 209,
798 210, 210, 211, 211, 212, 212, 214, 213, 213, 216,
799 215, 215, 218, 217, 217, 220, 219, 219, 221, 221,
800 222, 222, 223, 224, 224, 225, 225, 225, 225, 225,
801 226, 226, 226, 226, 227, 227, 228, 228, 229, 229,
802 229, 229, 229, 230, 230, 230, 230, 230, 230, 231,
803 232, 232, 232, 233, 233, 234, 234, 235, 235, 235,
804 237, 236, 236, 238, 236, 236, 236, 236, 236, 239,
805 240, 241, 236, 236, 242, 242, 243, 243, 244, 244,
806 244, 244, 244, 245, 246, 247, 247, 247, 247, 247,
807 248, 249, 249, 249, 250, 251, 251, 252, 252, 252,
808 253, 253, 254, 254, 255, 255, 255, 255, 256, 256,
809 256, 256, 257, 258, 259, 259, 259, 259, 260, 260,
810 261, 261, 261, 261, 261, 261, 261, 261, 262, 262,
811 262, 262, 262, 262, 262, 262, 262, 262, 263, 263,
812 263, 264, 264, 264, 265, 265, 266, 266, 267, 267,
813 268, 268, 268, 268, 269, 269, 270, 270, 270, 271,
814 271, 272, 272, 273, 273, 273, 274, 274, 275, 275,
815 276, 277, 278, 278, 278, 278, 279, 279, 279, 279,
816 279, 279, 280, 280, 281, 281, 281, 282, 283, 283,
817 283, 283, 283, 283, 284, 284, 284, 284, 284, 284,
818 285, 285, 285, 285, 285, 285, 286, 286, 286, 286,
819 286, 286, 287, 287, 288, 288, 289, 289, 290, 290,
820 290, 291, 291, 291, 292, 292, 293, 293, 293, 293,
821 294, 294, 295, 296, 296, 297, 297, 297, 297, 297,
822 297, 298, 298, 298, 299, 299, 300, 301, 301, 301,
823 301, 301, 301, 301, 302, 302, 303, 303, 303, 303,
824 303, 303, 303, 303, 303, 303, 303, 304, 304, 304,
825 304, 304, 304, 304, 304, 304, 304, 304, 305, 305,
826 305, 305, 306, 307, 308, 309, 309, 310, 310, 311,
827 312, 312, 314, 313, 316, 317, 315, 318, 319, 318,
828 320, 320, 321, 321, 322, 323, 321, 321, 324, 325,
829 321, 326, 327, 321, 328, 329, 330, 331, 321, 332,
830 333, 321, 334, 321, 335, 321, 336, 321, 321, 321,
831 321, 321, 321, 321, 321, 321, 321, 321, 321, 321,
832 321, 321, 338, 339, 337, 341, 342, 340, 343, 343,
833 345, 346, 347, 344, 348, 348, 349, 349, 350, 350,
834 350, 350, 351, 351, 351, 352, 352, 353, 353, 353,
835 354, 354, 355, 355, 356, 357, 357, 358, 358, 358,
836 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
837 361, 360, 362, 362, 363, 363, 363, 363, 363, 364,
838 364, 365, 365, 365, 365, 365, 365, 366, 366, 367,
839 367, 368, 369, 369, 370, 370, 370, 371, 372, 372,
840 373, 373, 373, 373, 374, 375, 375, 375, 375, 375,
841 375, 375, 375, 375, 375, 375, 375, 375, 375, 375,
842 375, 375, 375, 375, 375, 375, 375, 375, 375, 375,
843 375, 375, 375, 375, 375, 375, 375, 375, 375, 375
846 static const short yyr2
[] = { 0,
847 0, 1, 0, 2, 2, 1, 0, 0, 0, 1,
848 1, 1, 0, 2, 2, 1, 1, 5, 4, 5,
849 4, 0, 6, 0, 5, 5, 2, 4, 2, 2,
850 3, 3, 1, 1, 2, 2, 1, 2, 0, 5,
851 3, 1, 3, 1, 2, 1, 2, 1, 3, 1,
852 3, 2, 2, 2, 3, 3, 2, 2, 2, 2,
853 2, 1, 1, 1, 0, 1, 2, 0, 1, 4,
854 3, 3, 0, 8, 5, 0, 9, 6, 0, 8,
855 5, 0, 9, 6, 2, 2, 1, 2, 1, 6,
856 4, 6, 4, 2, 1, 2, 2, 1, 2, 1,
857 2, 2, 2, 4, 2, 3, 0, 0, 1, 3,
858 2, 3, 1, 4, 2, 4, 2, 4, 2, 1,
859 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
860 3, 3, 2, 2, 4, 4, 3, 3, 4, 3,
861 4, 3, 1, 4, 3, 1, 1, 1, 3, 1,
862 1, 1, 1, 1, 1, 1, 1, 1, 1, 3,
863 1, 3, 0, 1, 1, 0, 7, 1, 1, 3,
864 4, 3, 0, 3, 1, 3, 3, 3, 3, 1,
865 1, 1, 2, 2, 2, 2, 2, 2, 2, 4,
866 2, 4, 2, 3, 3, 4, 4, 5, 5, 6,
867 2, 4, 5, 2, 2, 3, 3, 3, 1, 3,
868 2, 3, 4, 1, 2, 5, 1, 3, 3, 3,
869 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
870 3, 3, 3, 3, 3, 3, 5, 3, 3, 1,
871 2, 3, 1, 1, 1, 1, 1, 4, 3, 4,
872 3, 5, 5, 5, 1, 1, 1, 1, 2, 2,
873 3, 4, 4, 1, 1, 1, 3, 1, 1, 1,
874 1, 3, 3, 3, 0, 4, 4, 2, 4, 2,
875 2, 1, 4, 1, 7, 7, 7, 7, 4, 4,
876 2, 2, 1, 4, 2, 2, 5, 3, 2, 2,
877 5, 3, 5, 3, 4, 6, 2, 1, 2, 1,
878 2, 1, 1, 1, 2, 0, 2, 2, 3, 3,
879 3, 2, 2, 2, 1, 1, 1, 2, 2, 2,
880 2, 1, 1, 1, 1, 2, 2, 3, 3, 3,
881 4, 1, 2, 2, 2, 1, 1, 1, 2, 2,
882 2, 1, 1, 2, 2, 3, 1, 2, 1, 1,
883 1, 4, 4, 4, 4, 1, 1, 1, 1, 3,
884 1, 3, 1, 3, 0, 4, 0, 6, 3, 0,
885 6, 3, 0, 6, 3, 0, 6, 3, 0, 1,
886 1, 2, 6, 1, 3, 0, 1, 4, 6, 4,
887 1, 1, 1, 1, 1, 3, 0, 2, 1, 2,
888 3, 4, 1, 1, 3, 4, 6, 3, 5, 1,
889 4, 3, 3, 0, 3, 3, 3, 0, 2, 2,
890 0, 7, 4, 0, 6, 3, 2, 2, 2, 0,
891 0, 0, 10, 1, 0, 1, 0, 1, 1, 2,
892 2, 2, 2, 2, 2, 3, 4, 3, 2, 3,
893 0, 1, 3, 2, 2, 1, 1, 0, 2, 3,
894 1, 4, 1, 3, 1, 1, 4, 4, 2, 2,
895 3, 3, 1, 0, 1, 2, 4, 3, 1, 2,
896 2, 2, 2, 2, 2, 2, 1, 2, 2, 2,
897 4, 4, 2, 1, 5, 4, 1, 2, 0, 1,
898 3, 0, 1, 3, 1, 1, 1, 1, 4, 4,
899 4, 4, 4, 3, 4, 4, 4, 4, 3, 1,
900 3, 1, 3, 2, 1, 6, 0, 2, 1, 2,
901 0, 2, 4, 4, 2, 4, 3, 3, 2, 2,
902 3, 1, 1, 2, 1, 1, 2, 2, 4, 4,
903 3, 3, 2, 1, 3, 3, 2, 2, 3, 1,
904 3, 3, 2, 2, 3, 1, 4, 3, 4, 3,
905 1, 2, 2, 2, 2, 2, 1, 2, 4, 4,
906 2, 1, 1, 1, 1, 2, 2, 2, 2, 2,
907 1, 2, 2, 1, 2, 2, 2, 2, 2, 2,
908 2, 2, 1, 2, 2, 3, 1, 3, 2, 3,
909 2, 2, 3, 1, 3, 4, 3, 2, 2, 1,
910 3, 2, 2, 1, 2, 3, 1, 3, 1, 6,
911 4, 4, 3, 5, 3, 3, 3, 2, 1, 1,
912 2, 2, 2, 0, 0, 0, 1, 1, 2, 3,
913 1, 2, 0, 5, 0, 0, 6, 1, 0, 4,
914 1, 1, 1, 2, 0, 0, 6, 1, 0, 0,
915 7, 0, 0, 7, 0, 0, 0, 0, 14, 0,
916 0, 9, 0, 5, 0, 7, 0, 4, 2, 2,
917 2, 3, 6, 8, 10, 12, 4, 3, 2, 2,
918 1, 1, 0, 0, 6, 0, 0, 5, 1, 2,
919 0, 0, 0, 8, 1, 1, 3, 3, 2, 2,
920 2, 2, 2, 1, 2, 0, 1, 0, 1, 1,
921 0, 1, 1, 3, 4, 1, 3, 0, 1, 1,
922 1, 2, 2, 2, 1, 1, 2, 2, 2, 2,
923 0, 3, 1, 1, 1, 2, 2, 2, 4, 2,
924 2, 2, 2, 2, 2, 1, 2, 1, 2, 1,
925 1, 0, 0, 1, 0, 4, 2, 1, 1, 3,
926 0, 3, 3, 3, 1, 2, 2, 2, 2, 2,
927 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
928 2, 2, 2, 2, 2, 2, 2, 2, 3, 2,
929 2, 2, 2, 3, 2, 2, 4, 4, 3, 2
932 static const short yydefact
[] = { 3,
933 13, 13, 5, 0, 4, 0, 245, 592, 593, 0,
934 348, 360, 539, 0, 11, 12, 0, 0, 0, 10,
935 449, 795, 0, 0, 0, 0, 617, 246, 247, 62,
936 0, 0, 782, 0, 37, 0, 0, 14, 0, 8,
937 0, 17, 16, 68, 89, 65, 0, 594, 143, 265,
938 243, 266, 570, 0, 335, 0, 334, 353, 0, 373,
939 352, 391, 359, 0, 462, 461, 468, 467, 466, 444,
940 347, 555, 361, 556, 87, 264, 581, 553, 0, 595,
941 537, 0, 0, 244, 60, 61, 0, 597, 0, 598,
942 0, 0, 0, 120, 121, 122, 123, 124, 434, 437,
943 0, 613, 0, 438, 0, 0, 0, 0, 121, 122,
944 123, 124, 24, 0, 0, 0, 0, 0, 0, 0,
945 439, 601, 0, 604, 0, 0, 0, 0, 0, 0,
946 30, 0, 0, 348, 39, 134, 0, 0, 353, 133,
947 0, 599, 0, 0, 568, 0, 0, 0, 567, 0,
948 0, 0, 0, 265, 0, 541, 0, 264, 537, 29,
949 0, 27, 3, 38, 0, 53, 52, 69, 15, 0,
950 0, 407, 66, 58, 600, 541, 0, 537, 59, 0,
951 0, 0, 85, 0, 369, 325, 552, 326, 564, 0,
952 537, 350, 349, 57, 88, 336, 0, 371, 351, 86,
953 342, 366, 367, 337, 355, 357, 346, 368, 0, 54,
954 392, 450, 451, 452, 453, 465, 129, 128, 130, 454,
955 455, 459, 0, 0, 468, 782, 464, 483, 440, 540,
956 354, 0, 0, 389, 593, 0, 615, 143, 585, 586,
957 582, 558, 596, 0, 557, 554, 0, 830, 826, 825,
958 823, 805, 810, 811, 0, 817, 816, 802, 803, 801,
959 820, 809, 806, 807, 808, 812, 813, 799, 800, 796,
960 797, 798, 822, 814, 815, 804, 821, 0, 818, 725,
961 353, 726, 791, 0, 245, 539, 269, 314, 0, 0,
962 0, 0, 310, 308, 282, 312, 313, 0, 0, 0,
963 0, 0, 247, 240, 0, 0, 153, 152, 0, 154,
964 155, 0, 0, 156, 0, 0, 148, 0, 214, 0,
965 217, 151, 268, 182, 0, 0, 270, 271, 0, 150,
966 332, 353, 333, 587, 293, 284, 0, 0, 146, 147,
967 142, 0, 145, 0, 249, 0, 138, 0, 353, 137,
968 436, 0, 431, 614, 612, 0, 157, 158, 0, 0,
969 0, 396, 3, 22, 0, 610, 606, 607, 609, 611,
970 608, 120, 121, 122, 123, 124, 603, 605, 602, 256,
971 257, 0, 255, 33, 34, 0, 584, 583, 32, 31,
972 41, 0, 132, 131, 140, 0, 0, 566, 0, 565,
973 242, 260, 0, 574, 259, 0, 573, 0, 267, 578,
974 0, 0, 13, 0, 0, 9, 9, 102, 72, 107,
975 713, 0, 64, 63, 71, 105, 0, 0, 103, 67,
976 580, 0, 0, 545, 0, 785, 0, 550, 0, 549,
977 0, 0, 0, 0, 537, 389, 0, 56, 541, 537,
978 563, 0, 339, 340, 0, 55, 389, 344, 343, 345,
979 338, 358, 375, 374, 456, 460, 458, 0, 463, 469,
980 484, 356, 0, 388, 390, 537, 73, 0, 0, 0,
981 537, 79, 538, 569, 593, 616, 143, 0, 0, 819,
982 824, 355, 537, 537, 0, 537, 829, 251, 0, 0,
983 0, 0, 189, 0, 0, 191, 204, 205, 0, 0,
984 0, 0, 0, 241, 188, 185, 184, 186, 0, 0,
985 0, 0, 0, 268, 0, 0, 0, 183, 0, 262,
986 187, 0, 0, 215, 0, 0, 0, 0, 0, 0,
987 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
988 0, 0, 0, 0, 0, 0, 278, 280, 281, 318,
989 317, 0, 0, 0, 0, 0, 193, 535, 0, 201,
990 315, 307, 0, 782, 296, 299, 300, 0, 0, 327,
991 634, 630, 639, 0, 541, 537, 537, 537, 329, 637,
992 0, 591, 331, 0, 0, 330, 295, 0, 291, 309,
993 311, 588, 0, 292, 141, 144, 248, 136, 135, 532,
994 447, 530, 433, 0, 362, 0, 0, 363, 364, 365,
995 402, 403, 404, 401, 0, 394, 397, 0, 3, 0,
996 28, 36, 35, 46, 0, 48, 42, 781, 776, 0,
997 332, 353, 44, 333, 780, 50, 139, 263, 572, 571,
998 267, 575, 0, 19, 21, 68, 108, 316, 0, 663,
999 70, 661, 413, 0, 409, 408, 181, 0, 180, 542,
1000 579, 0, 755, 756, 0, 750, 353, 0, 749, 751,
1001 783, 765, 0, 0, 577, 548, 547, 0, 0, 562,
1002 0, 379, 370, 561, 0, 785, 551, 341, 372, 385,
1003 389, 457, 592, 593, 782, 0, 782, 594, 470, 471,
1004 473, 782, 476, 475, 0, 0, 0, 0, 386, 785,
1005 748, 0, 0, 0, 785, 748, 537, 76, 537, 82,
1006 828, 827, 791, 791, 791, 250, 0, 0, 0, 591,
1007 0, 0, 0, 0, 353, 0, 0, 0, 274, 0,
1008 272, 273, 0, 212, 149, 245, 592, 593, 246, 247,
1009 0, 0, 414, 445, 0, 239, 238, 740, 739, 0,
1010 236, 235, 233, 234, 232, 231, 230, 227, 228, 229,
1011 225, 226, 220, 221, 222, 223, 224, 218, 219, 0,
1012 0, 0, 0, 0, 0, 195, 209, 0, 0, 194,
1013 537, 537, 0, 537, 534, 624, 0, 0, 0, 0,
1014 298, 0, 302, 0, 304, 0, 633, 632, 629, 628,
1015 781, 0, 0, 648, 0, 0, 785, 328, 785, 635,
1016 537, 748, 541, 634, 630, 0, 0, 537, 0, 0,
1017 0, 0, 0, 0, 448, 0, 447, 179, 178, 177,
1018 176, 396, 0, 0, 25, 0, 26, 47, 0, 40,
1019 0, 634, 630, 0, 772, 537, 775, 777, 0, 773,
1020 774, 454, 0, 18, 20, 125, 113, 126, 127, 0,
1021 106, 109, 0, 0, 0, 0, 662, 654, 410, 0,
1022 104, 546, 543, 754, 771, 760, 758, 0, 544, 753,
1023 770, 759, 757, 752, 784, 767, 778, 768, 761, 766,
1024 787, 0, 377, 560, 559, 383, 382, 480, 0, 479,
1025 782, 782, 782, 0, 504, 593, 0, 0, 497, 0,
1026 0, 507, 0, 100, 95, 0, 143, 509, 512, 0,
1027 489, 0, 98, 0, 389, 376, 0, 75, 0, 0,
1028 0, 0, 81, 0, 785, 748, 785, 748, 793, 792,
1029 794, 283, 190, 192, 289, 290, 0, 0, 0, 0,
1030 273, 276, 0, 0, 0, 0, 213, 0, 277, 279,
1031 207, 206, 197, 0, 196, 211, 0, 0, 621, 619,
1032 0, 622, 541, 202, 0, 0, 305, 0, 0, 0,
1033 631, 627, 638, 537, 647, 645, 646, 636, 785, 0,
1034 643, 0, 589, 590, 0, 294, 533, 531, 435, 0,
1035 395, 393, 245, 0, 23, 43, 49, 633, 629, 634,
1036 630, 0, 553, 0, 537, 635, 51, 0, 111, 0,
1037 115, 0, 117, 0, 119, 0, 714, 656, 0, 411,
1038 634, 630, 0, 268, 0, 587, 779, 0, 0, 788,
1039 789, 0, 0, 0, 380, 0, 0, 0, 482, 481,
1040 474, 537, 748, 503, 498, 101, 508, 389, 389, 495,
1041 496, 493, 494, 537, 748, 245, 592, 0, 375, 96,
1042 499, 510, 515, 516, 375, 375, 0, 0, 375, 94,
1043 500, 513, 375, 490, 491, 492, 389, 0, 441, 387,
1044 537, 253, 252, 254, 537, 78, 0, 84, 0, 0,
1045 0, 0, 0, 0, 418, 0, 0, 415, 216, 237,
1046 0, 198, 199, 208, 210, 620, 618, 625, 623, 0,
1047 203, 0, 297, 301, 303, 785, 641, 537, 642, 432,
1048 0, 398, 400, 633, 629, 558, 635, 112, 110, 0,
1049 0, 0, 0, 0, 169, 655, 0, 657, 658, 412,
1050 0, 590, 769, 763, 764, 762, 0, 786, 378, 384,
1051 0, 477, 478, 472, 785, 0, 407, 407, 785, 0,
1052 0, 0, 389, 389, 0, 389, 389, 0, 389, 0,
1053 407, 0, 428, 785, 785, 537, 537, 0, 0, 0,
1054 0, 416, 0, 0, 0, 200, 626, 306, 644, 785,
1055 0, 114, 116, 118, 721, 715, 719, 405, 0, 664,
1056 0, 245, 592, 593, 665, 679, 682, 685, 654, 0,
1057 0, 0, 0, 0, 0, 246, 711, 716, 0, 736,
1058 0, 673, 0, 0, 353, 0, 650, 671, 678, 649,
1059 672, 712, 0, 659, 273, 790, 381, 91, 537, 502,
1060 506, 93, 537, 389, 389, 524, 407, 245, 592, 0,
1061 511, 517, 518, 375, 375, 407, 407, 0, 407, 514,
1062 501, 0, 74, 80, 785, 785, 285, 286, 287, 288,
1063 0, 419, 536, 640, 399, 654, 720, 0, 660, 653,
1064 172, 729, 731, 732, 654, 654, 654, 0, 0, 0,
1065 697, 699, 700, 701, 0, 0, 0, 730, 0, 324,
1066 737, 0, 674, 322, 375, 0, 323, 0, 375, 0,
1067 0, 0, 170, 652, 651, 675, 710, 709, 785, 785,
1068 523, 520, 522, 0, 0, 389, 389, 389, 519, 521,
1069 505, 430, 0, 429, 424, 77, 83, 417, 0, 406,
1070 0, 0, 669, 668, 0, 0, 0, 0, 693, 0,
1071 702, 0, 708, 717, 0, 320, 321, 0, 0, 0,
1072 319, 171, 654, 90, 92, 389, 389, 529, 407, 407,
1073 0, 0, 443, 0, 722, 161, 0, 666, 680, 0,
1074 683, 656, 734, 686, 0, 168, 0, 353, 0, 0,
1075 0, 698, 707, 0, 0, 676, 528, 526, 525, 527,
1076 427, 426, 420, 65, 68, 0, 0, 0, 0, 654,
1077 0, 655, 0, 735, 654, 733, 690, 375, 695, 694,
1078 718, 741, 0, 655, 0, 425, 727, 728, 723, 162,
1079 667, 173, 655, 175, 670, 159, 0, 0, 0, 654,
1080 389, 0, 0, 0, 742, 743, 703, 677, 423, 0,
1081 422, 655, 656, 681, 0, 684, 165, 0, 164, 691,
1082 0, 696, 0, 741, 0, 0, 421, 724, 174, 160,
1083 687, 655, 166, 0, 0, 704, 744, 0, 692, 0,
1084 745, 0, 0, 0, 167, 746, 0, 705, 688, 0,
1085 0, 0, 747, 706, 655, 689, 0, 0, 0
1088 static const short yydefgoto
[] = { 1527,
1089 413, 2, 414, 165, 655, 315, 233, 3, 4, 38,
1090 629, 363, 932, 382, 40, 933, 392, 635, 636, 637,
1091 42, 43, 422, 171, 169, 44, 934, 721, 956, 726,
1092 958, 46, 935, 936, 172, 173, 423, 657, 881, 882,
1093 610, 883, 221, 47, 48, 49, 341, 316, 317, 318,
1094 1251, 1468, 1408, 1488, 1417, 1510, 1166, 1463, 1483, 357,
1095 837, 319, 566, 800, 320, 321, 358, 323, 51, 240,
1096 384, 402, 52, 53, 324, 526, 325, 326, 327, 328,
1097 424, 329, 1252, 463, 587, 330, 1253, 55, 204, 640,
1098 331, 205, 504, 206, 184, 197, 59, 446, 185, 1063,
1099 464, 1181, 198, 1064, 60, 947, 474, 61, 62, 625,
1100 626, 627, 1229, 429, 763, 764, 1434, 1435, 1403, 1364,
1101 1292, 63, 614, 352, 471, 1203, 1365, 976, 846, 64,
1102 65, 66, 67, 225, 68, 69, 70, 227, 709, 710,
1103 711, 712, 229, 716, 717, 940, 941, 942, 1091, 1101,
1104 1092, 1281, 1093, 1094, 1282, 1283, 611, 612, 567, 827,
1105 333, 432, 433, 178, 186, 72, 73, 74, 187, 188,
1106 157, 76, 131, 334, 335, 336, 78, 337, 80, 714,
1107 122, 123, 124, 104, 81, 338, 805, 806, 822, 590,
1108 1256, 1257, 1373, 1230, 1167, 1168, 1169, 661, 1258, 888,
1109 1259, 1315, 1440, 1375, 1410, 1260, 1261, 1393, 1454, 1316,
1110 1441, 1317, 1443, 1318, 1445, 1508, 1522, 1470, 1502, 1421,
1111 1472, 1380, 425, 658, 1163, 1262, 1329, 1424, 1226, 1227,
1112 1306, 1438, 1482, 1419, 1405, 1263, 1414, 1332, 770, 1474,
1113 1475, 1476, 1517, 678, 679, 910, 1059, 1176, 680, 681,
1114 682, 906, 683, 150, 908, 685, 1061, 1062, 497, 83,
1118 static const short yypact
[] = { 114,
1119 129,-32768,-32768, 10013,-32768, 40, 57, 45, 73, 68,
1120 155,-32768,-32768, 1229,-32768,-32768, 202, 239, 260,-32768,
1121 -32768,-32768, 1097, 1036, 915, 10243,-32768, 264, 168,-32768,
1122 2214, 2214,-32768, 2014,-32768, 10013, 323,-32768, 317, 182,
1123 10072,-32768,-32768, 311,-32768, 398, 366, 389,-32768,-32768,
1124 -32768,-32768, 246, 3367,-32768, 4571,-32768, 975, 284,-32768,
1125 414,-32768,-32768, 1604,-32768,-32768, 415,-32768,-32768, 438,
1126 10673,-32768,-32768,-32768, 1694,-32768,-32768,-32768, 2132,-32768,
1127 -32768, 609, 7413, 377,-32768,-32768, 8981,-32768, 8529,-32768,
1128 8529, 8529, 10450,-32768, 45, 73, 264, 447, 408, 467,
1129 389,-32768, 609,-32768, 609, 8981, 8981, 450,-32768,-32768,
1130 -32768,-32768,-32768, 207, 528, 419, 503, 556, 537, 578,
1131 -32768,-32768, 814,-32768, 1121, 45, 73, 508, 264, 447,
1132 -32768, 1164, 1000,-32768, 495,-32768, 5263, 5847, 1894,-32768,
1133 8529,-32768, 8981, 4134,-32768, 2240, 649, 4134,-32768, 1259,
1134 4258, 4258, 2014, 531, 552, 570, 559, 562,-32768,-32768,
1135 670,-32768, 573,-32768, 5005, 40,-32768,-32768,-32768, 694,
1136 130, 370, 642,-32768,-32768, 610, 212,-32768,-32768, 4314,
1137 4314, 5429, 1694, 399,-32768,-32768, 256,-32768,-32768, 2528,
1138 -32768,-32768,-32768,-32768,-32768, 975, 492,-32768, 414, 1694,
1139 -32768,-32768,-32768, 1501, 975,-32768, 414,-32768, 5263,-32768,
1140 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1141 -32768, 389, 1289, 1289, 415,-32768,-32768,-32768,-32768,-32768,
1142 767, 609, 627, 414, 441, 1133,-32768, 338,-32768,-32768,
1143 -32768,-32768,-32768, 4666,-32768,-32768, 231,-32768, 632, 645,
1144 -32768,-32768,-32768,-32768, 674,-32768,-32768,-32768,-32768,-32768,
1145 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1146 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 620,-32768,-32768,
1147 767, 10673, 820, 8529,-32768, 668,-32768,-32768, 9596, 9683,
1148 9770, 9770,-32768,-32768,-32768,-32768,-32768, 679, 704, 708,
1149 714, 719, 447, 9068, 1259, 9770,-32768,-32768, 9770,-32768,
1150 -32768, 9770, 6885,-32768, 9770, 270,-32768, 9770,-32768, 9155,
1151 -32768, 10546,-32768, 1405, 3136, 9242,-32768, 786, 1307,-32768,
1152 752, 3651, 3496,-32768, 360,-32768, 1295, 2118,-32768,-32768,
1153 -32768, 270,-32768, 270,-32768, 270,-32768, 5263, 1999,-32768,
1154 -32768, 1259, 697,-32768,-32768, 693, 745, 10765, 705, 716,
1155 724, 1784, 573,-32768, 508,-32768,-32768,-32768,-32768,-32768,
1156 -32768, 528, 419, 503, 556, 537,-32768,-32768,-32768, 45,
1157 73, 784,-32768,-32768,-32768, 1000,-32768,-32768,-32768,-32768,
1158 -32768, 10666,-32768,-32768,-32768, 270, 270,-32768, 536,-32768,
1159 -32768,-32768, 4134,-32768,-32768, 4134,-32768, 732,-32768,-32768,
1160 4666, 36, 741, 748, 10450,-32768,-32768,-32768,-32768,-32768,
1161 -32768, 124,-32768,-32768,-32768,-32768, 6977, 9068,-32768,-32768,
1162 -32768, 9068, 750,-32768, 6213, 103, 4770,-32768, 4770,-32768,
1163 4797, 4797, 5429, 757,-32768, 414, 5263,-32768, 761,-32768,
1164 -32768, 5108, 1501, 975, 5263,-32768, 414,-32768,-32768, 414,
1165 1501,-32768, 673,-32768,-32768, 389,-32768, 1289,-32768, 1596,
1166 -32768, 767, 670, 762, 414,-32768,-32768, 801, 807, 809,
1167 -32768,-32768,-32768,-32768, 580,-32768, 374, 772, 775,-32768,
1168 -32768, 767,-32768,-32768, 551,-32768,-32768,-32768, 270, 9068,
1169 668, 6885,-32768, 451, 6885,-32768,-32768,-32768, 8981, 10680,
1170 10680, 10680, 10680, 10833,-32768,-32768,-32768,-32768, 782, 9857,
1171 9857, 6885, 785, 531, 789, 841, 795,-32768, 8981,-32768,
1172 -32768, 6694, 6885,-32768, 9068, 9068, 7069, 9068, 9068, 9068,
1173 9068, 9068, 9068, 9068, 9068, 9068, 9068, 9068, 9068, 9068,
1174 9068, 9068, 9068, 9068, 9068, 9068,-32768,-32768,-32768,-32768,
1175 -32768, 9068, 9068, 9068, 8981, 4897, 439, 876, 7777,-32768,
1176 -32768,-32768, 859, 914, 491, 516, 525, 1537, 649,-32768,
1177 1863, 1863,-32768, 2957, 813, 834, 882,-32768,-32768, 269,
1178 8337, 648,-32768, 730, 609,-32768,-32768, 9068,-32768,-32768,
1179 -32768,-32768, 200,-32768,-32768,-32768,-32768,-32768,-32768, 872,
1180 881,-32768,-32768, 1259,-32768, 7506, 7598,-32768,-32768,-32768,
1181 -32768,-32768,-32768,-32768, 78,-32768, 849, 835, 573, 884,
1182 -32768,-32768,-32768, 1058, 187, 885,-32768,-32768, 3026, 10506,
1183 3026, 10131, 1604, 5167,-32768, 886,-32768,-32768,-32768,-32768,
1184 848,-32768, 898,-32768,-32768, 311, 322, 903, 841,-32768,
1185 -32768,-32768,-32768, 6415, 10833,-32768, 745, 866, 10765,-32768,
1186 -32768, 867,-32768,-32768, 869, 188, 10187, 870,-32768, 245,
1187 10299, 922, 923, 526,-32768,-32768,-32768, 4770, 4770,-32768,
1188 5108, 926,-32768,-32768, 883, 103,-32768, 1501,-32768, 933,
1189 414,-32768, 419, 503,-32768, 906,-32768, 578, 942,-32768,
1190 -32768, 220,-32768,-32768, 1330, 3254, 58, 66,-32768, 103,
1191 1767, 8981, 8981, 8981, 103, 1767,-32768,-32768,-32768,-32768,
1192 -32768,-32768, 618, 618, 618,-32768, 899, 904, 9335, 882,
1193 905, 913, 917, 948, 4231, 955, 958, 961,-32768, 934,
1194 -32768,-32768, 941,-32768,-32768, 980, 684, 717, 286, 201,
1195 9068, 990,-32768, 994, 945, 10833, 10833,-32768,-32768, 993,
1196 3688, 4340, 3916, 4445, 4416, 2273, 2982, 2009, 2009, 2009,
1197 1064, 1064, 1243, 1243, 664, 664, 664,-32768,-32768, 950,
1198 957, 962, 966, 967, 10680, 439,-32768, 6977, 9068,-32768,
1199 -32768,-32768, 9068,-32768,-32768, 977, 9770, 971, 1010, 1031,
1200 -32768, 9068,-32768, 9068,-32768, 9068, 3128,-32768, 3128,-32768,
1201 205, 995, 999,-32768, 1007, 10680, 103,-32768, 103, 3833,
1202 -32768, 1767, 1008, 8616, 8616, 6002, 1013, 9155, 1017, 3489,
1203 2118, 773, 1018, 9068, 1259, 992, 881,-32768, 10833,-32768,
1204 10833, 1784, 1021, 9422,-32768, 1029,-32768,-32768, 10666,-32768,
1205 10680, 2070, 2070, 3775,-32768,-32768,-32768,-32768, 2528,-32768,
1206 -32768, 59, 9068,-32768,-32768, 528,-32768, 556, 537, 9068,
1207 1069,-32768, 553, 591, 611, 841,-32768,-32768,-32768, 31,
1208 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 8433,-32768,-32768,
1209 -32768,-32768,-32768,-32768,-32768,-32768, 923, 1076,-32768,-32768,
1210 -32768, 10680,-32768,-32768,-32768,-32768, 1085,-32768, 8981,-32768,
1211 -32768,-32768,-32768, 1404,-32768, 608, 1191, 1082,-32768, 9068,
1212 5357,-32768, 3428, 291, 291, 365, 622, 1689, 10344, 5508,
1213 -32768, 110, 291, 1095, 414,-32768, 6977,-32768, 1049, 270,
1214 270, 270,-32768, 1051, 103, 1767, 103, 1767,-32768,-32768,
1215 -32768,-32768,-32768,-32768,-32768,-32768, 1070, 1072, 1077, 1078,
1216 848,-32768, 10697, 6977, 6510, 1073,-32768, 9068,-32768,-32768,
1217 -32768,-32768, 388, 1071,-32768,-32768, 1083, 42, 633, 633,
1218 1074, 633,-32768,-32768, 9770, 1175,-32768, 1087, 1089, 1093,
1219 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 103, 1099,
1220 -32768, 1092,-32768,-32768, 3635,-32768, 10833,-32768,-32768, 1096,
1221 -32768,-32768, 142, 1100,-32768,-32768,-32768, 2358, 2358, 2480,
1222 2480, 3775,-32768, 2528,-32768, 2623, 10546, 1102,-32768, 322,
1223 -32768, 9068,-32768, 9068,-32768, 9068,-32768, 64, 6602,-32768,
1224 8709, 8709, 6098, 305, 1106, 356,-32768, 6977, 6789,-32768,
1225 -32768, 151, 6977, 6977,-32768, 1108, 1109, 1596,-32768,-32768,
1226 -32768,-32768, 1767, 10833,-32768,-32768,-32768, 414, 414,-32768,
1227 -32768,-32768,-32768,-32768, 1767, 297, 727, 9068, 673,-32768,
1228 1160,-32768,-32768,-32768, 181, 879, 2132, 649, 936, 291,
1229 1163,-32768, 1055,-32768,-32768,-32768, 414, 5635,-32768,-32768,
1230 -32768,-32768,-32768,-32768,-32768,-32768, 1115,-32768, 1119, 9068,
1231 9068, 9068, 9068, 6977,-32768, 9068, 1168,-32768,-32768, 10833,
1232 9068,-32768, 388,-32768,-32768,-32768,-32768,-32768,-32768, 1122,
1233 -32768, 1189,-32768,-32768,-32768, 103,-32768,-32768,-32768,-32768,
1234 9068,-32768,-32768, 2358, 2358,-32768, 2623,-32768,-32768, 1129,
1235 1130, 1132, 1147, 1259,-32768,-32768, 5908, 1217,-32768,-32768,
1236 1144, 1610,-32768,-32768,-32768,-32768, 10680,-32768,-32768,-32768,
1237 6977,-32768,-32768,-32768, 103, 1145, 1192, 1192, 103, 1146,
1238 9068, 9068, 10675, 414, 3067, 414, 414, 780, 414, 4911,
1239 1192, 7846,-32768, 103, 103,-32768,-32768, 1157, 1166, 1167,
1240 1170,-32768, 10788, 6977, 1161,-32768,-32768,-32768,-32768, 103,
1241 1171,-32768,-32768,-32768,-32768, 1147,-32768,-32768, 692,-32768,
1242 158, 1207, 766, 781,-32768,-32768,-32768,-32768,-32768, 9068,
1243 1226, 1234, 1235, 8802, 518, 428,-32768,-32768, 8894, 1296,
1244 1245,-32768, 5246, 10405, 10551, 5754,-32768,-32768, 1288,-32768,
1245 -32768,-32768, 7941,-32768, 436,-32768,-32768,-32768,-32768,-32768,
1246 -32768,-32768,-32768, 10675, 10675,-32768, 1192, 605, 893, 9068,
1247 -32768,-32768,-32768, 673, 673, 1192, 1192, 580, 1192,-32768,
1248 -32768, 4001,-32768,-32768, 103, 103,-32768,-32768,-32768,-32768,
1249 6977,-32768,-32768,-32768,-32768,-32768,-32768, 1259,-32768,-32768,
1250 -32768,-32768,-32768,-32768,-32768,-32768, 841, 1213, 1215, 10584,
1251 -32768,-32768,-32768,-32768, 1253, 9068, 1261,-32768, 841,-32768,
1252 -32768, 1236,-32768,-32768, 673, 707,-32768, 779, 673, 9509,
1253 788, 164,-32768,-32768,-32768,-32768,-32768,-32768, 103, 103,
1254 -32768,-32768,-32768, 9068, 9068, 10675, 414, 414,-32768,-32768,
1255 -32768,-32768, 7690,-32768,-32768,-32768,-32768,-32768, 1237,-32768,
1256 638, 638,-32768,-32768, 1321, 6323, 8981, 9068,-32768, 8051,
1257 -32768, 1281,-32768,-32768, 670,-32768,-32768, 9944, 9944, 7161,
1258 -32768,-32768, 841,-32768,-32768, 10675, 10675,-32768, 1192, 1192,
1259 1239, 10719, 1246, 5696,-32768,-32768, 8981,-32768,-32768, 8243,
1260 -32768, 64,-32768,-32768, 1290,-32768, 1240, 373, 5263, 10811,
1261 8051,-32768,-32768, 1147, 44,-32768,-32768,-32768,-32768,-32768,
1262 -32768,-32768,-32768, 398, 311, 1244, 1247, 841, 1251, 841,
1263 8147,-32768, 647,-32768,-32768,-32768,-32768, 673,-32768,-32768,
1264 1147, 1352, 1305,-32768, 132,-32768,-32768,-32768,-32768,-32768,
1265 -32768,-32768,-32768,-32768,-32768,-32768, 9068, 1306, 7253, 841,
1266 414, 8051, 1275, 257, 1310,-32768,-32768,-32768,-32768, 124,
1267 -32768,-32768, 64,-32768, 1264,-32768,-32768, 1314,-32768,-32768,
1268 1312,-32768, 9068, 1352, 1332, 1352,-32768,-32768,-32768,-32768,
1269 -32768,-32768,-32768, 1272, 274,-32768,-32768, 7345,-32768, 6977,
1270 -32768, 1380, 1333, 1285,-32768,-32768, 171,-32768,-32768, 1386,
1271 1340, 8147,-32768,-32768,-32768,-32768, 1412, 1413,-32768
1274 static const short yypgoto
[] = {-32768,
1275 1415,-32768, -329,-32768, 1001, 9, 10, 1414,-32768, 69,
1276 -32768,-32768, 226, 1056,-32768, 393,-32768,-32768,-32768, 565,
1277 -32768, 1260, -657, -8, -649, 1262, 136,-32768,-32768,-32768,
1278 -32768,-32768, 489, 496,-32768,-32768,-32768,-32768,-32768, 394,
1279 219,-32768,-32768,-32768, 5249, 77, 146, -30, 907,-32768,
1280 1490,-32768, 61,-32768, -1303,-32768, -1330, -83,-32768, 1186,
1281 -230, -249,-32768, -767, 3615, 83, 1019, 3530,-32768, -97,
1282 -79, 15, -49, 288,-32768,-32768,-32768, -313,-32768, -157,
1283 -32768,-32768, -1173, -51, -330, 1866, 119, 808, -163, 22,
1284 80, -188, -4, -96, -917, 186,-32768, -70,-32768,-32768,
1285 -176,-32768,-32768,-32768,-32768,-32768, 845, 540, 11,-32768,
1286 590,-32768,-32768, -1107, -415, 794,-32768,-32768,-32768,-32768,
1287 -32768, -47,-32768,-32768,-32768,-32768,-32768,-32768, 598, -374,
1288 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 1223,-32768, 381,
1289 542,-32768,-32768,-32768,-32768, 344, -904, 534,-32768,-32768,
1290 -32768,-32768,-32768, 530,-32768, 273, 856, 629, 910, 2154,
1291 34, 3, -421, 1291, 1443, -461,-32768, 17,-32768, 2697,
1292 -128, 328, -55, 4100, 1148,-32768, 4430, 1823, 2703, -5,
1293 -110,-32768, 1357,-32768, 4154, 2763, -422,-32768, 4073,-32768,
1294 -32768, 227, -868, -1069,-32768,-32768, 318, 8, -348,-32768,
1295 -32768,-32768,-32768, -1246,-32768, -1199, -1315,-32768,-32768,-32768,
1296 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1297 -32768,-32768, 41,-32768,-32768,-32768,-32768,-32768, 67, -1205,
1298 -32768,-32768,-32768, -66,-32768,-32768,-32768,-32768, -1307, 1,
1299 -32768, 6,-32768, -682, -371, 597,-32768,-32768,-32768,-32768,
1300 -386,-32768, -382, -158,-32768, 978, 330,-32768, 176,-32768,
1305 #define YYLAST 10918
1308 static const short yytable
[] = { 58,
1309 886, 592, 183, 412, 234, 645, 875, 454, 713, 646,
1310 208, 666, 36, 37, 379, 480, 283, 643, 121, 1048,
1311 1307, 139, 404, 407, 601, 56, 1075, 695, 985, 241,
1312 102, 58, 453, 628, 387, 1104, 58, 71, 949, 503,
1313 506, 461, 472, 954, 36, 37, 571, 138, 155, 36,
1314 37, 196, 388, 389, 571, 177, 1345, 56, 342, 71,
1315 344, 346, 56, 1348, 144, 148, 231, 470, 1415, 71,
1316 534, 211, 385, 662, 71, 1330, 571, 390, 281, 1270,
1317 1271, 1444, 332, 57, 332, 393, 332, 332, 349, 580,
1318 1049, 208, 492, 1291, 1442, 944, 241, 1164, 245, 88,
1319 85, 332, 332, 1439, 160, 57, 1452, 459, 462, 167,
1320 396, 483, 397, -1, 138, 57, 282, 604, -45, 89,
1321 57, 354, 54, -45, 659, 1464, 71, 90, -2, 457,
1322 419, 87, 1479, 196, -45, 739, 332, 852, 332, 45,
1323 241, 1050, 92, 492, 137, 653, 1426, 91, 208, 1010,
1324 86, 1135, 1499, 1453, 54, 238, 208, 208, 177, 54,
1325 58, 136, 280, 825, 684, 1489, 405, 408, 945, 1353,
1326 1105, 45, 57, 740, 1165, 946, 45, 753, 1359, 1360,
1327 1422, 1361, 660, 208, 403, 406, 56, 853, -316, 177,
1328 -316, 195, 420, 1461, 420, 884, 155, 668, 71, 894,
1329 1514, 1151, 1413, 93, 675, -325, 1464, 15, 16, 211,
1330 1177, 348, 823, 437, 439, 1132, 894, 211, 1310, 823,
1331 1106, 1450, 142, 1490, 1310, 421, 922, 421, 347, 39,
1332 1520, 575, 100, 208, 8, 485, 343, 345, 293, -325,
1333 163, 114, 143, -325, 57, 1307, 859, 895, 245, 576,
1334 896, 1152, -781, 499, 27, 142, 900, 923, 568, 434,
1335 1178, 39, 860, -124, 895, 364, 39, 896, 1311, 737,
1336 693, 365, 1492, 1117, 1392, 1119, -325, 231, 699, 332,
1337 1521, 164, 220, 54, 208, 897, 395, 129, 130, 601,
1338 698, 1429, 1430, -541, 645, 106, 608, 1104, 907, 856,
1339 45, 208, 897, -541, 901, 435, 632, 902, 332, 385,
1340 887, 486, 404, 407, 754, 718, 831, 15, 16, 1494,
1341 281, 156, -375, 487, 876, 703, 704, 525, 231, 529,
1342 633, 790, 107, 792, 793, 1336, 1512, 1341, 141, -541,
1343 176, 377, 903, 209, 210, 339, 592, 340, -123, -541,
1344 449, -375, -265, 108, 245, -375, 459, 462, 282, 1191,
1345 141, 158, 832, 833, 459, 1216, 1495, 843, 401, 877,
1346 1319, 87, 1465, 507, 508, 462, 27, 162, 878, 879,
1347 202, 203, 986, 1513, 1478, 481, 14, 642, 516, 1080,
1348 1186, 517, 701, 1484, 518, 462, 41, 528, -265, -265,
1349 531, -375, 1190, -581, 280, 208, 208, 597, 570, 21,
1350 139, 1012, 1498, 208, -258, 880, 161, 426, 24, 168,
1351 580, 729, 170, 1081, 208, 644, 174, 1082, 41, 498,
1352 677, 482, 1509, 41, 427, 797, 138, 1369, 156, 156,
1353 156, 465, 467, 175, 208, 19, 1371, 1372, 71, -581,
1354 -581, 284, 798, 598, 479, 1526, 405, 408, 447, 448,
1355 1083, 530, 713, 428, 823, -581, 739, 730, 644, 156,
1356 211, 641, 645, 367, 688, 689, 646, 226, 158, 158,
1357 158, 799, 1131, -267, 643, 211, 797, 605, 476, 606,
1358 1328, 607, 823, 89, 57, 90, 228, 332, 580, 568,
1359 332, 142, 141, 798, 332, 745, 745, 745, 745, 158,
1360 285, 380, 381, 10, 641, 91, 525, 332, 351, 525,
1361 94, 109, 110, 515, 332, 353, 823, 601, 332, -267,
1362 -267, 1110, 799, 137, 477, 405, 750, 1047, 811, 126,
1363 127, 647, 648, 362, 739, -261, 918, 525, 920, 22,
1364 136, 455, 456, 924, 126, 127, 492, 368, 1125, 1128,
1365 332, 281, 27, 813, 28, 303, 1136, 1137, 987, 1139,
1366 391, 1140, 815, 911, 111, 112, 1469, 91, 884, 642,
1367 624, 998, 366, 999, 812, 1000, 677, 865, 534, 870,
1368 871, 370, 129, 130, 208, 199, 33, 207, 1326, 282,
1369 1041, 459, 516, 517, 379, 839, 713, 129, 130, 814,
1370 369, 245, 8, 9, 817, 819, 486, 644, 816, 912,
1371 604, 126, 127, 1024, 644, 871, 483, 727, 121, 208,
1372 141, 237, 371, 1128, 90, 196, 126, 127, 1043, 231,
1373 -258, 483, 1173, 1175, 736, 280, 1042, 1179, 1180, 1038,
1374 208, 885, 126, 127, 91, 1072, -537, 740, 1045, -537,
1375 823, 409, 90, 641, 176, 129, 130, 1354, 410, 1084,
1376 641, -576, 27, 728, 129, 130, 642, 199, 207, 87,
1377 288, 823, 91, -7, 1044, 1406, 702, 27, 493, 129,
1378 130, 950, 951, 952, 1466, 828, 418, 208, 494, 15,
1379 16, 1073, 430, 801, 1046, 129, 130, -537, 1212, -537,
1380 -537, 58, -537, 802, 644, 1085, 642, 332, 332, 332,
1381 473, 642, 431, -537, 931, -537, 488, 803, 156, 156,
1382 156, 1407, 491, 8, 9, 207, 490, 939, 88, 489,
1383 1467, -537, -537, 460, 207, -537, -121, 555, 556, 71,
1384 762, 1308, 1309, 839, 644, 126, 127, -537, 89, 644,
1385 641, 500, 1068, 1069, 1070, 1267, 447, 1386, 158, 158,
1386 158, 90, 509, 475, 202, 203, 8, 9, 510, -122,
1387 14, 88, 511, 126, 1288, 1456, 129, 130, 512, 1192,
1388 745, 91, 937, 513, 988, 57, 571, 1480, 1302, 580,
1389 641, 89, 615, 21, 616, 641, 27, 613, 129, 130,
1390 237, 1160, 24, 1161, 618, 1162, 372, 373, 374, 241,
1391 88, 745, 581, 126, 127, 619, 719, 642, 1313, 129,
1392 130, 677, 582, 620, 938, 90, 129, 130, 455, 1387,
1393 89, 651, 583, 1314, 631, 584, 585, 447, 1391, 405,
1394 750, -6, 858, 486, 642, 91, 745, 245, 654, 642,
1395 486, 872, 671, 1078, 1079, 644, 690, 817, 819, 644,
1396 375, 376, 1107, 694, 27, 722, 129, 130, 155, 126,
1397 127, 723, 762, 724, 731, 1368, 1090, 732, 207, 994,
1398 493, 749, 644, 677, 751, 1028, 1029, 644, 752, 660,
1399 494, 404, 407, -326, 754, 15, 16, 745, 959, 960,
1400 961, 641, 1055, 809, 332, 641, 516, 517, 126, 127,
1401 1221, 810, 404, 407, 740, 824, 58, 826, 58, 828,
1402 27, 644, 129, 130, 196, 58, 844, -326, 641, 931,
1403 845, -326, 854, 641, 857, 855, 801, 88, 931, 861,
1404 873, 642, 939, 642, 939, 1355, 802, -261, 874, 128,
1405 -99, 939, 15, 16, 71, 420, 71, 89, 1374, 27,
1406 803, 129, 130, 71, -326, 891, 892, 641, 893, 899,
1407 1384, 201, 202, 203, 241, 475, -780, 909, 14, 644,
1408 913, 644, 460, 207, -99, 914, 475, 916, -99, 919,
1409 460, 921, 285, 380, 381, 10, 19, 937, 962, 937,
1410 57, 21, 57, 963, 964, 937, 937, 645, 1194, 57,
1411 24, 1437, 965, 967, 1196, 1197, 966, 642, 1194, 1199,
1412 968, -99, 1197, 969, 885, 641, 970, 641, 115, 116,
1413 117, 22, -120, 971, 1374, 405, 408, 241, 677, 938,
1414 972, 938, 974, 975, 977, 978, 28, 303, 938, 979,
1415 372, 373, 374, 1154, 1155, 644, 405, 1171, 642, 980,
1416 624, 993, 981, 1089, 1099, 982, 983, 1141, 997, -97,
1417 642, 15, 16, 995, 1154, 1155, 644, 740, 33, 1459,
1418 27, 1374, 118, 119, 1515, 1112, 1113, 1114, 996, 94,
1419 109, 110, 1019, 58, 1003, 322, 644, 322, 1004, 322,
1420 322, 641, 27, -97, 375, 376, 931, -97, 644, 1005,
1421 1011, 1374, 1013, 115, 116, 117, 1014, 1016, 1040, 939,
1422 1022, 662, 641, 516, 517, 94, 109, 110, 478, 1025,
1423 1058, 71, 550, 551, 552, 553, 554, 555, 556, 1065,
1424 -97, 156, 641, 111, 112, 113, 135, 1108, 1111, 322,
1425 1115, 322, 1255, 1120, 641, 1121, 285, 380, 381, 10,
1426 1122, 1123, 745, 238, 22, 1249, 1250, 118, 119, 199,
1427 1133, 207, 1142, 1129, 937, 156, 1138, 57, 1254, 111,
1428 112, 158, 1134, 1127, 126, 127, 1143, 58, 1144, 639,
1429 71, 1335, 1145, 1335, 1149, 22, 1150, 208, 1148, 1153,
1430 931, 1158, 236, 1357, 1358, 1172, 207, 1182, 1183, 1195,
1431 28, 303, 1200, 939, 1206, 158, 938, 1425, 1207, 492,
1432 1214, 94, 95, 96, 1217, 71, 1218, 460, 1222, 1223,
1433 475, 1224, 639, 1225, 1255, 27, 57, 129, 130, 196,
1434 1164, 1255, 33, 1265, 1269, 1273, 427, 1249, 1255, 404,
1435 407, 94, 109, 110, 1249, 1250, 1297, 1127, 457, 1312,
1436 1254, 1249, 1250, 1303, 487, 1298, 1299, 1254, 937, 1300,
1437 1305, 57, 71, 27, 1254, 97, 98, 99, 1321, 71,
1438 692, 94, 95, 96, 1322, 1323, 71, 285, 8, 9,
1439 10, 700, 322, 1346, 1331, 1333, 1376, 572, 1377, 285,
1440 380, 381, 10, 1381, 573, 111, 112, 156, 156, 156,
1441 938, 1383, 514, 552, 553, 554, 555, 556, 57, 1385,
1442 1404, 528, 115, 703, 704, 57, 22, 1411, 156, 156,
1443 156, 1423, 57, 236, 1433, 97, 98, 1431, 22, 1447,
1444 1446, 28, 303, 1457, 1055, 236, 1458, 158, 158, 158,
1445 1460, 27, 1473, 28, 303, 1477, 1486, 1448, 1493, 1496,
1446 208, 1255, 1418, 1500, 1501, 1255, 1503, 1471, 158, 158,
1447 158, 1511, 1228, 33, 1249, 332, 118, 119, 1249, 1250,
1448 1516, 639, 1506, 1518, 1519, 574, 1523, 1254, 639, 642,
1449 1524, 1254, 1418, 405, 1171, 1255, 115, 703, 704, 71,
1450 282, 1528, 1529, 71, 1, 5, 1255, 656, 1249, 1250,
1451 630, 688, 689, 1026, 416, 1455, 417, 1100, 1076, 1249,
1452 1250, 1254, 1409, 1159, 706, 755, 1255, 644, 1525, 1338,
1453 282, 1021, 1254, 71, 1020, 665, 669, 469, 1184, 1249,
1454 1250, 1202, 557, 669, 71, 57, 280, 890, 27, 57,
1455 118, 119, 1254, 1327, 1418, 1071, 1077, 1255, 1102, 847,
1456 516, 517, 1290, 1018, 71, 796, 577, 450, 199, 378,
1457 1249, 1250, 1344, 641, 475, 1264, 280, 1497, 639, 57,
1458 1451, 558, 559, 1254, 1505, 1481, 560, 561, 562, 563,
1459 57, 1507, 282, 1057, 0, 71, 1266, 458, 202, 203,
1460 0, 0, 0, 0, 14, 0, 0, 1255, 669, 0,
1461 57, 0, 0, 0, 0, 0, 1370, 0, 639, 0,
1462 1249, 1250, 19, 639, 0, 0, 0, 21, 0, 285,
1463 126, 127, 10, 1254, 0, 917, 24, 322, 280, 0,
1464 665, 57, 0, 766, 767, 71, 771, 772, 773, 774,
1465 775, 776, 777, 778, 779, 780, 781, 782, 783, 784,
1466 785, 786, 787, 788, 789, 0, 0, 0, 22, 0,
1467 669, 0, 669, 669, 0, 236, 0, 0, 0, 0,
1468 0, 0, 0, 28, 303, 356, 360, 0, 115, 703,
1469 704, 57, 705, 0, 0, 0, 94, 95, 96, 669,
1470 212, 213, 214, 667, 0, 0, 669, 475, 475, 0,
1471 667, -267, 438, 440, 444, 33, 706, 156, 0, 0,
1472 0, 0, 0, 707, 849, 851, -267, -267, 0, 639,
1473 215, -267, 0, 639, 0, 0, 475, 0, 0, 0,
1474 27, 0, 118, 119, 0, 0, 0, -267, 27, 0,
1475 97, 98, 216, 0, 0, 0, 639, 158, 0, -267,
1476 -267, 639, -267, 915, -267, 156, 156, 156, 0, 0,
1477 0, 0, 665, 0, 0, 667, 0, 0, 0, 0,
1478 0, 1086, 1087, 9, 10, 0, 0, 948, 0, 0,
1479 0, 0, 953, -267, -267, 639, 0, -267, 217, 218,
1480 219, 0, 0, 0, 0, 158, 158, 158, 0, -267,
1481 15, 16, 0, 0, 0, -375, 0, 0, 0, 0,
1482 22, 0, 475, 475, 0, 475, 475, 0, 475, 0,
1483 322, 322, 322, 27, 0, 28, 29, 667, 0, 667,
1484 667, 1088, 0, -375, -375, 0, 0, 669, -375, 180,
1485 0, 0, 0, 639, 0, 639, 0, 0, 0, 181,
1486 8, 9, 0, 134, 12, 13, 667, 33, 673, 973,
1487 14, 0, 182, 667, 0, 0, 94, 109, 110, 1109,
1488 621, 622, 623, 199, 207, 17, 0, 18, 19, 0,
1489 0, 0, 523, 21, 1006, 0, 1007, 0, 0, 0,
1490 0, 0, 24, 475, 475, 0, 665, 669, 0, 0,
1491 0, 27, 0, 129, 130, 0, 79, 0, 0, 0,
1492 669, 0, 669, 0, 669, 0, 103, 0, 0, 639,
1493 111, 112, 0, 0, 0, 0, 0, 132, 79, 0,
1494 0, 0, 0, 146, 146, 0, 146, 0, 79, 0,
1495 639, 0, 1017, 79, 674, 0, 126, 127, 0, 0,
1496 0, 13, 669, 0, 0, 0, 190, 0, 79, 686,
1497 639, 687, 0, 438, 440, 444, 223, 0, 0, 0,
1498 0, 1037, 639, 103, 697, 475, 475, 475, 669, 0,
1499 201, 202, 203, 0, 247, 103, 0, 14, 0, 0,
1500 580, 0, 0, 0, 0, 79, 669, 27, 0, 129,
1501 130, 670, 1187, 1188, 667, 19, 0, 103, 0, 0,
1502 21, 0, 1116, 581, 1118, 475, 475, 0, 0, 24,
1503 0, 0, 0, 582, 0, 0, 0, 0, 1074, 0,
1504 132, 1201, 0, 583, 394, 132, 584, 585, 0, 190,
1505 103, 0, 0, 0, 0, 665, 146, 0, 0, 399,
1506 146, 359, 361, 146, 146, 146, 0, 0, 0, 0,
1507 0, 0, 0, 0, 667, 0, 1147, 79, 0, 0,
1508 0, 523, 665, 665, 523, 0, 1130, 667, 742, 667,
1509 0, 667, 190, 190, 190, 201, 202, 203, 0, 0,
1510 475, 523, 14, 0, 0, 0, 7, 126, 127, 10,
1511 0, 0, 523, 0, 0, 0, 769, 0, 0, 0,
1512 19, 190, 0, 0, 0, 21, 0, 1276, 1277, 667,
1513 1286, 1287, 0, 1289, 24, 0, 468, 0, 0, 0,
1514 0, 0, 791, 0, 103, 22, 0, 0, 808, 609,
1515 669, 0, 669, 0, 669, 667, 146, 665, 27, 0,
1516 28, 29, 7, 8, 9, 10, 665, 665, 13, 0,
1517 0, 665, 665, 667, 151, 548, 549, 550, 551, 552,
1518 553, 554, 555, 556, 152, 0, 0, 0, 0, 0,
1519 0, 0, 33, 0, 103, 495, 1193, 153, 0, 0,
1520 0, 22, 0, 0, 0, 0, 0, 580, 1351, 1352,
1521 599, 8, 9, 1219, 27, 0, 28, 29, 0, 0,
1522 686, 687, 0, 697, 7, 8, 235, 10, 0, 0,
1523 862, 0, 665, 0, 1213, 0, 0, 103, 0, 0,
1524 863, 578, 0, 495, 495, 594, 293, 600, 33, 22,
1525 583, 0, 1268, 864, 585, 0, 1272, 0, 0, 669,
1526 190, 0, 27, 22, 129, 130, 0, 0, 527, 0,
1527 236, 1293, 1294, 0, 0, 0, 0, 132, 28, 29,
1528 0, 0, 0, 0, 0, 0, 0, 1304, 0, 665,
1529 1398, 1399, 1400, 0, 0, 0, 0, 0, 132, 1274,
1530 1275, 639, 237, 0, 103, 0, 7, 126, 127, 10,
1531 33, 0, 13, 0, 0, 146, 0, 667, 146, 667,
1532 0, 667, 665, 146, 244, 0, 0, 79, 0, 0,
1533 1427, 1428, 7, 126, 127, 10, 0, 0, 0, 0,
1534 0, 0, 0, 0, 0, 22, 0, 638, 1320, 190,
1535 0, 190, 0, 190, 190, 190, 0, 0, 27, 190,
1536 28, 29, 1366, 1367, 190, 0, 0, 190, 0, 0,
1537 0, 22, 0, 0, 31, 0, 0, 0, 236, 0,
1538 0, 0, 991, 0, 32, 0, 28, 29, 1356, 0,
1539 676, 0, 33, 0, 438, 440, 444, 34, 0, 0,
1540 0, 0, 411, 0, 0, 1491, 0, 0, 0, 665,
1541 237, 0, 0, 0, 0, 523, 1394, 1395, 33, 0,
1542 0, 436, 103, 103, 103, 103, 667, 0, 0, 0,
1543 444, 0, 0, 0, 452, 544, 545, 546, 547, 548,
1544 549, 550, 551, 552, 553, 554, 555, 556, 669, 0,
1545 7, 8, 9, 10, 0, 0, 230, 738, 0, 0,
1546 741, 0, 1396, 1397, 743, 744, 746, 747, 748, 0,
1547 1095, 1402, 0, 0, 0, 0, 0, 527, 103, 0,
1548 495, 0, 0, 0, 0, 0, 1420, 0, 765, 22,
1549 0, 578, 0, 495, 495, 580, 594, 0, 1066, 0,
1550 0, 0, 27, 840, 28, 29, 0, 842, 0, 0,
1551 0, 0, 0, 0, 0, 0, 0, 0, 862, 0,
1552 794, 0, 0, 0, 0, 0, 0, 0, 863, 0,
1553 0, 0, 0, 0, 0, 0, 33, 0, 583, 821,
1554 0, 864, 585, 0, 0, 0, 821, 0, 0, 0,
1555 0, 190, 869, 190, 190, 223, 594, 0, 0, 0,
1556 686, 687, 438, 440, 444, 0, 0, 0, 697, 0,
1557 0, 0, 7, 8, 9, 10, 0, 0, 13, 0,
1558 0, 0, 0, 438, 440, 444, 0, 0, 0, 190,
1559 0, 0, 0, 869, 0, 0, 0, 0, 0, 0,
1560 190, 190, 0, 190, 0, 0, 0, 0, 0, 0,
1561 0, 22, 0, 0, 0, 667, 0, 580, 665, 0,
1562 7, 8, 9, 10, 27, 0, 28, 29, 79, 0,
1563 0, 0, 523, 103, 0, 0, 638, 0, 103, 0,
1564 1030, 0, 0, 0, 0, 495, 495, 495, 0, 0,
1565 1031, 0, 0, 0, 0, 0, 0, 495, 33, 22,
1566 583, 0, 0, 1032, 585, 0, 236, 0, 0, 0,
1567 0, 0, 0, 0, 28, 29, 676, 0, 0, 0,
1568 0, 676, 0, 0, 0, 0, 686, 687, 691, 697,
1569 0, 0, 0, 696, 0, 0, 0, 0, 237, 1208,
1570 1209, 1210, 1211, 0, 0, 0, 33, 103, 0, 0,
1571 1215, 0, 0, 0, 0, 7, 8, 9, 10, 720,
1572 0, 483, 0, 0, 725, 0, 0, 1284, 0, 495,
1573 0, 495, 0, 0, 0, 0, 733, 734, 103, 735,
1574 0, 0, 495, 0, 103, 0, 840, 840, 840, 0,
1575 984, 0, 0, 1015, 22, 0, 0, 0, 0, 0,
1576 580, 0, 0, 0, 0, 0, 0, 27, 0, 28,
1577 29, 103, 0, 103, 190, 190, 1034, 0, 0, 0,
1578 0, 765, 0, 862, 0, 0, 0, 676, 0, 0,
1579 75, 821, 0, 863, 0, 0, 0, 0, 0, 0,
1580 0, 33, 0, 583, 0, 0, 864, 585, 0, 0,
1581 1034, 0, 140, 0, 638, 0, 1027, 145, 149, 821,
1582 0, 0, 75, 1325, 103, 0, 0, 75, 0, 0,
1583 829, 830, 0, 0, 0, 829, 0, 0, 0, 132,
1584 0, 0, 200, 79, 0, 79, 0, 0, 0, 0,
1585 1097, 79, 79, 821, 0, 0, 82, 0, 0, 0,
1586 0, 0, 0, 0, 0, 0, 105, 1060, 103, 0,
1587 103, 243, 444, 0, 1067, 0, 125, 133, 82, 350,
1588 0, 0, 0, 147, 147, 0, 147, 0, 82, 0,
1589 0, 0, 0, 82, 0, 243, 0, 0, 0, 0,
1590 0, 495, 495, 0, 495, 1382, 147, 0, 82, 0,
1591 0, 676, 0, 676, 0, 0, 224, 0, 0, 0,
1592 438, 440, 444, 232, 243, 0, 0, 0, 0, 0,
1593 398, 0, 0, 0, 400, 232, 0, 0, 243, 0,
1594 190, 190, 190, 190, 1034, 82, 0, 0, 190, 0,
1595 0, 75, 0, 0, 0, 769, 1416, 0, 0, 0,
1596 0, 0, 0, 1034, 1034, 1034, 145, 149, 0, 523,
1597 955, 0, 957, 0, 0, 0, 0, 0, 0, 0,
1598 386, 0, 243, 0, 0, 103, 1416, 821, 0, 147,
1599 232, 0, 0, 0, 0, 0, 147, 103, 0, 0,
1600 147, 0, 0, 147, 147, 147, 0, 0, 821, 0,
1601 1198, 0, 0, 0, 0, 243, 0, 82, 0, 0,
1602 79, 0, 0, 0, 0, 0, 0, 0, 676, 0,
1603 484, 0, 147, 147, 147, 0, 0, 0, 0, 243,
1604 676, 0, 0, 0, 989, 990, 1485, 992, 1416, 0,
1605 8, 9, 0, 134, 12, 13, 0, 0, 673, 0,
1606 14, 147, 0, 0, 0, 0, 190, 190, 0, 190,
1607 0, 0, 1504, 0, 1009, 17, 0, 18, 19, 0,
1608 0, 0, 0, 21, 0, 0, 0, 769, 0, 103,
1609 0, 0, 24, 0, 580, 0, 147, 0, 0, 0,
1610 0, 27, 0, 129, 130, 0, 0, 190, 0, 1036,
1611 0, 0, 146, 0, 79, 0, 0, 581, 7, 8,
1612 9, 10, 0, 0, 0, 0, 0, 582, 0, 243,
1613 0, 0, 1060, 0, 232, 147, 0, 583, 0, 0,
1614 584, 585, 0, 0, 674, 545, 546, 547, 548, 549,
1615 550, 551, 552, 553, 554, 555, 556, 22, 0, 1278,
1616 1279, 9, 10, 580, 0, 190, 869, 190, 0, 0,
1617 27, 0, 28, 29, 0, 0, 0, 232, 0, 0,
1618 0, 579, 0, 147, 147, 595, 862, 0, 0, 649,
1619 603, 243, 650, 0, 0, 0, 863, 652, 22, 0,
1620 147, 140, 0, 0, 33, 0, 583, 0, 0, 864,
1621 585, 27, 0, 28, 29, 0, 0, 386, 0, 1280,
1622 0, 126, 127, 398, 0, 400, 230, 180, 0, 8,
1623 9, 0, 0, 12, 13, 0, 0, 181, 484, 14,
1624 0, 0, 0, 0, 232, 33, 0, 1146, 0, 0,
1625 182, 0, 1034, 0, 17, 147, 18, 0, 147, 0,
1626 243, 0, 21, 147, 0, 580, 0, 82, 0, 0,
1627 0, 24, 27, 0, 129, 130, 0, 0, 1157, 0,
1628 27, 0, 129, 130, 564, 0, 0, 243, 581, 147,
1629 0, 147, 0, 147, 147, 147, 0, 0, 582, 147,
1630 1034, 1034, 1034, 0, 147, 0, 0, 147, 583, 0,
1631 0, 584, 585, 0, 0, 1185, 103, 0, 0, 565,
1632 0, 0, 715, 0, 0, 0, 0, 1189, 0, 0,
1633 0, 190, 0, 0, 0, 0, 0, 0, 0, 0,
1634 0, 0, 0, 0, 925, 527, 7, 8, 926, 10,
1635 134, 12, 13, 0, 1204, 0, 0, 14, 1205, 638,
1636 0, 0, 232, 232, 232, 232, 0, 0, 0, 0,
1637 243, 0, 17, 0, 18, 19, 20, 0, 0, 0,
1638 21, -485, 0, 0, 0, 22, 243, 0, 0, 24,
1639 927, 1220, 928, 0, 0, 0, 0, 0, 27, 0,
1640 28, 29, 0, 0, 929, 0, 930, 0, 0, 0,
1641 0, 0, 0, 0, 31, 0, 0, 0, 232, 0,
1642 147, 0, 0, 0, 32, 0, 868, 0, 0, 0,
1643 0, 0, 33, 147, 147, 0, 595, 34, 0, 0,
1644 0, 0, 0, 841, 0, 0, 0, 0, 0, 1295,
1645 1296, 0, 0, 0, -485, 603, 0, 0, 0, 7,
1646 8, 9, 10, 0, 0, 0, 0, 905, 0, 0,
1647 0, 0, 0, 0, 649, 650, 0, 652, 0, 0,
1648 0, 0, 0, 0, 0, 0, 125, 0, 0, 0,
1649 0, 147, 595, 147, 147, 224, 595, 0, 22, 0,
1650 0, 0, 943, 0, 0, 0, 0, 0, 0, 715,
1651 0, 27, 1349, 28, 29, 0, 1350, 179, 925, 0,
1652 7, 8, 926, 10, 134, 12, 13, 180, 0, 147,
1653 0, 14, 0, 595, 0, 0, 0, 181, 0, 0,
1654 147, 147, 0, 147, 0, 33, 17, 0, 18, 19,
1655 182, 0, 0, 0, 21, 0, 0, 0, 0, 22,
1656 0, 0, 0, 24, 927, 0, 928, 0, 82, 0,
1657 0, 0, 27, 232, 28, 29, 0, 0, 232, 0,
1658 930, 285, 8, 9, 10, 147, 147, 147, 31, 8,
1659 9, 0, 0, 12, 230, 0, 0, 147, 32, 14,
1660 0, 0, 0, 0, 0, 0, 33, 0, 0, 0,
1661 0, 34, 0, 0, 17, 0, 18, 0, 0, 0,
1662 22, 0, 21, 50, 0, 0, 0, 236, 0, 0,
1663 0, 24, 243, 580, 243, 28, 303, 0, 0, 0,
1664 27, 0, 129, 130, 0, 50, 0, 232, 145, 149,
1665 50, 50, 0, 154, 0, 50, 581, 0, 0, 237,
1666 50, 243, 0, 0, 0, 0, 582, 33, 0, 147,
1667 0, 147, 0, 50, 0, 50, 583, 0, 232, 584,
1668 585, 0, 147, 0, 232, 0, 841, 841, 841, 0,
1669 0, 0, 0, 603, 0, 0, 0, 0, 239, 0,
1670 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1671 0, 232, 50, 232, 147, 147, 595, 943, 0, 943,
1672 0, 0, 0, 0, 1096, 1103, 943, 285, 8, 9,
1673 10, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1674 0, 0, 0, 0, 126, 127, 0, 383, 202, 203,
1675 841, 383, 383, 0, 14, 0, 50, 0, 0, 0,
1676 0, 0, 0, 50, 232, 239, 22, 50, 0, 0,
1677 154, 154, 154, 236, 0, 0, 715, 21, 0, 133,
1678 0, 28, 303, 82, 50, 82, 24, 0, 580, 0,
1679 1098, 82, 82, 0, 0, 27, 0, 129, 130, 50,
1680 50, 154, 0, 0, 0, 486, 0, 243, 232, 239,
1681 232, 581, 0, 33, 398, 400, 0, 0, 0, 0,
1682 0, 582, 484, 0, 0, 0, 243, 0, 50, 0,
1683 0, 583, 0, 0, 591, 585, 0, 0, 0, 0,
1684 0, 147, 147, 0, 147, 539, 540, 541, 542, 543,
1685 544, 545, 546, 547, 548, 549, 550, 551, 552, 553,
1686 554, 555, 556, 50, 0, 0, 0, 7, 8, 9,
1687 10, 134, 12, 13, 0, 0, 673, 0, 14, 0,
1688 147, 147, 147, 147, 595, 0, 0, 0, 147, 243,
1689 0, 0, 715, 17, 943, 18, 19, 0, 0, 0,
1690 0, 21, 0, 841, 841, 841, 22, 0, 0, 0,
1691 24, 0, 580, 0, 0, 0, 0, 0, 0, 27,
1692 715, 28, 29, 0, 0, 232, 126, 127, 0, 0,
1693 0, 483, 524, 0, 0, 1030, 0, 232, 0, 0,
1694 649, 650, 0, 652, 0, 1031, 0, 0, 383, 0,
1695 0, 0, 0, 33, 0, 583, 239, 0, 1032, 585,
1696 82, 0, 674, 0, 0, 0, 0, 50, 0, 0,
1697 580, 0, 0, 0, 0, 0, 0, 27, 0, 129,
1698 130, 1285, 0, 0, 383, 0, 1285, 0, 943, 0,
1699 243, 0, 0, 581, 0, 0, 0, 0, 0, 0,
1700 0, 0, 0, 582, 0, 383, 147, 147, 0, 147,
1701 0, 0, 0, 583, 0, 0, 584, 585, 0, 0,
1702 0, 0, 50, 0, 0, 50, 0, 0, 0, 232,
1703 50, 0, 0, 0, 50, 586, 586, 586, 0, 0,
1704 1339, 0, 0, 0, 0, 0, 0, 147, 0, 0,
1705 0, 0, 147, 0, 82, 0, 50, 0, 50, 0,
1706 154, 154, 154, 0, 0, 0, 50, 0, 0, 0,
1707 0, 50, 0, 0, 50, 541, 542, 543, 544, 545,
1708 546, 547, 548, 549, 550, 551, 552, 553, 554, 555,
1709 556, 1362, 0, -442, -442, -442, -442, -442, -442, -442,
1710 0, 0, -442, 0, -442, 147, 595, 147, 0, 0,
1711 0, 0, 0, 0, 0, -442, 0, -442, -442, 0,
1712 0, 524, -442, 0, 524, 0, 0, -442, 0, 0,
1713 0, 0, -442, 0, 0, 0, -442, 0, -442, 524,
1714 524, 524, 0, 0, 0, -442, 0, -442, -442, -442,
1715 -442, -442, 524, -442, -442, -442, -442, -442, -442, -442,
1716 -442, -442, -442, -442, -442, -442, -442, -442, -442, -442,
1717 -442, -442, -442, -442, -442, -442, 0, -442, -442, -442,
1718 0, -442, -442, -442, -442, -442, -442, 0, -442, -442,
1719 0, 0, 841, 77, 1363, 0, 0, 239, 0, -442,
1720 -442, -442, 0, -442, 0, 0, 0, 0, 0, 0,
1721 524, 0, 0, 0, 0, 77, 0, 0, 0, 0,
1722 77, 77, 0, 77, 0, 77, 7, 126, 127, 10,
1723 77, 0, 230, 0, 0, 0, 0, 0, 0, 0,
1724 841, 841, 841, 77, 0, 77, 0, 0, 0, 0,
1725 0, 0, 0, 0, 0, 0, 232, 0, 50, 50,
1726 50, 50, 0, 0, 0, 22, 0, 0, 0, 0,
1727 0, 147, 0, 0, 0, 0, 0, 159, 27, 0,
1728 28, 29, 77, 0, 0, 586, 586, 0, 586, 0,
1729 0, 0, 0, 0, 31, 838, 50, 191, 0, 0,
1730 50, 0, 0, 0, 32, 0, 0, 50, 50, 0,
1731 50, 0, 33, 0, 0, 0, 0, 34, 0, 0,
1732 0, 0, 0, 0, 126, 127, 77, 0, 202, 203,
1733 0, 0, 0, 77, 14, 50, 0, 77, 0, 0,
1734 77, 77, 77, 586, 0, 586, 586, 0, 586, 0,
1735 7, 126, 127, 10, 77, 0, 13, 21, 524, 0,
1736 0, 0, 0, 0, 0, 0, 24, 0, 580, 77,
1737 77, 77, 0, 0, 0, 27, 0, 129, 130, 0,
1738 191, 586, 0, 0, 0, 0, 0, 0, 0, 22,
1739 0, 581, 0, 0, 159, 159, 159, 0, 77, 0,
1740 0, 582, 27, 0, 28, 29, 7, 8, 9, 10,
1741 0, 583, 13, 0, 584, 585, 0, 0, 151, 0,
1742 0, 0, 0, 191, 191, 445, 0, 0, 152, 0,
1743 0, 0, 0, 77, 0, 0, 33, 0, 0, 0,
1744 0, 153, 0, 0, 0, 22, 0, 0, 0, 586,
1745 0, 0, 191, 524, 524, 524, 0, 0, 27, 239,
1746 28, 29, 0, 0, 0, 0, 0, 0, 0, 0,
1747 0, 0, 0, 0, 180, 0, 0, 0, 0, 0,
1748 0, 50, 50, 154, 181, 0, 0, 0, 239, 0,
1749 0, 0, 33, 589, 593, 596, 0, 182, 540, 541,
1750 542, 543, 544, 545, 546, 547, 548, 549, 550, 551,
1751 552, 553, 554, 555, 556, 0, 0, 1054, 0, 0,
1752 0, 586, 0, 586, 0, 0, 496, 602, 0, 0,
1753 0, 0, 0, 0, 586, 0, 0, 77, 838, 838,
1754 838, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1755 50, 0, 50, 0, 0, 0, 0, 50, 50, 50,
1756 0, 0, 0, 0, 0, 0, 586, 586, 586, 0,
1757 0, 0, 0, 189, 588, 588, 588, 543, 544, 545,
1758 546, 547, 548, 549, 550, 551, 552, 553, 554, 555,
1759 556, 191, 77, 0, 0, 77, 0, 0, 242, 0,
1760 77, 246, 838, 0, 77, 542, 543, 544, 545, 546,
1761 547, 548, 549, 550, 551, 552, 553, 554, 555, 556,
1762 0, 0, 242, 0, 355, 0, 77, 0, 77, 0,
1763 77, 77, 77, 0, 239, 0, 77, 0, 0, 0,
1764 0, 77, 0, 0, 77, 0, 0, 50, 50, 154,
1765 154, 154, 0, 239, 0, 50, 189, 0, 0, 0,
1766 0, 0, 0, 7, 8, 9, 10, 192, 12, 193,
1767 1054, 1054, 1054, 0, 14, 0, 0, 0, 0, 0,
1768 191, 0, 191, 0, 445, 445, 445, 0, 0, 17,
1769 191, 18, 19, 0, 0, 191, 0, 21, 191, 189,
1770 189, 189, 22, 0, 0, 0, 24, 0, 0, 451,
1771 0, 0, 0, 0, 0, 27, 239, 28, 29, 0,
1772 0, 194, 0, 0, 0, 0, 0, 50, 189, 0,
1773 0, 31, 586, 586, 586, 586, 586, 0, 0, 0,
1774 586, 32, 0, 818, 820, 0, 0, 0, 0, 33,
1775 0, 246, 0, 0, 34, 838, 838, 838, 7, 126,
1776 127, 10, 0, 0, 483, 0, 242, 0, 602, 0,
1777 0, 0, 0, 50, 50, 0, 50, 0, 0, 0,
1778 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1779 0, 0, 0, 0, 0, 0, 0, 22, 0, 0,
1780 0, 867, 0, 589, 593, 0, 596, 0, 0, 0,
1781 27, 804, 28, 29, 50, 0, 0, 0, 0, 50,
1782 0, 50, 0, 0, 588, 588, 31, 588, 77, 77,
1783 77, 77, 0, 0, 588, 0, 32, 0, 0, 593,
1784 0, 0, 0, 0, 33, 0, 0, 0, 0, 34,
1785 0, 0, 0, 0, 0, 0, 242, 246, 586, 586,
1786 0, 586, 7, 8, 9, 10, 77, 189, 230, 0,
1787 77, 0, 50, 50, 50, 0, 0, 77, 77, 0,
1788 77, 0, 866, 0, 866, 866, 0, 588, 0, 7,
1789 8, 9, 10, 0, 0, 13, 0, 0, 0, 0,
1790 0, 22, 0, 0, 0, 77, 0, 593, 0, 0,
1791 0, 0, 0, 0, 27, 0, 28, 29, 0, 0,
1792 866, 0, 0, 0, 0, 0, 0, 0, 22, 0,
1793 180, 191, 191, 0, 191, 0, 0, 0, 0, 0,
1794 181, 27, 0, 28, 29, 0, 0, 0, 33, 0,
1795 0, 0, 0, 182, 0, 0, 189, 441, 189, 1054,
1796 189, 189, 189, 0, 0, 0, 189, 442, 0, 0,
1797 0, 189, 0, 0, 189, 33, 496, 496, 496, 1001,
1798 443, 1002, 0, 0, 0, 0, 0, 0, 588, 0,
1799 8, 9, 1008, 0, 12, 13, 818, 820, 0, 0,
1800 14, 0, 0, 1278, 126, 127, 10, 1054, 1054, 1054,
1801 0, 0, 0, 0, 0, 17, 0, 18, 0, 0,
1802 0, 0, 0, 21, 818, 820, 0, 0, 0, 0,
1803 602, 0, 24, 0, 0, 0, 0, 0, 50, 0,
1804 0, 27, 22, 129, 130, 0, 0, 0, 0, 0,
1805 0, 77, 77, 77, 0, 27, 0, 28, 29, 0,
1806 588, 0, 588, 1280, 0, 0, 0, 0, 0, 0,
1807 0, 31, 0, 588, 0, 0, 0, 588, 588, 588,
1808 795, 32, 0, 0, 0, 0, 0, 1056, 0, 33,
1809 0, 0, 0, 0, 34, 6, 0, 7, 8, 9,
1810 10, 11, 12, 13, 0, 866, 866, 1035, 14, 0,
1811 0, 0, 0, 242, 246, 0, 0, 0, 0, 0,
1812 77, 0, 77, 17, 0, 18, 19, 77, 77, 77,
1813 0, 21, 0, 0, 0, 0, 22, 0, 0, 0,
1814 24, 1035, 0, 415, 0, 0, 0, 0, 0, 27,
1815 0, 28, 29, 0, 0, 30, 0, 0, 189, 0,
1816 189, 189, 0, 0, 0, 31, 0, 0, 0, 0,
1817 0, 0, 0, 0, 0, 32, 0, 0, 0, 0,
1818 0, 191, 0, 33, 0, 0, 0, 0, 34, 0,
1819 1001, 1002, 818, 820, 0, 0, 189, 0, 1008, 0,
1820 7, 8, 9, 10, 0, 0, 483, 189, 189, 0,
1821 189, 0, 0, 818, 820, 0, 0, 77, 77, 77,
1822 77, 77, 0, 0, 0, 77, 0, 0, 0, 0,
1823 0, 0, 804, 804, 246, 804, 0, 0, 0, 22,
1824 1056, 1056, 1056, 0, 0, 0, 0, 0, 0, 0,
1825 0, 0, 27, 0, 28, 29, 0, 0, 0, -347,
1826 8, 9, -347, -347, 12, 230, 0, 0, 180, 0,
1827 14, 866, 866, 1035, 1035, 1035, 0, 0, 181, 866,
1828 0, 0, 0, 0, 0, 17, 33, 18, -347, 0,
1829 0, 182, 0, 21, 1035, 1035, 1035, 77, -347, 0,
1830 0, 0, 24, 0, 580, 0, 0, 0, 0, 0,
1831 0, 27, 0, 129, 130, 0, 1001, 1002, 0, 1008,
1832 0, 0, 0, 0, 0, 0, 0, 581, 0, 0,
1833 0, 0, 0, 0, 0, 0, 0, 582, 7, 8,
1834 9, 10, 0, 77, 77, -347, 77, 583, 0, 0,
1835 584, 585, 101, 0, 0, 7, 8, 9, 10, 242,
1836 246, 242, 120, 101, 0, 0, 0, 0, 0, 101,
1837 101, 0, 101, 0, 0, 0, 0, 22, 0, 0,
1838 0, 189, 189, 1033, 77, 0, 0, 0, 242, 77,
1839 27, 77, 28, 29, 22, 0, 1334, 866, 866, 0,
1840 866, 0, 222, 0, 0, 0, 180, 27, 0, 28,
1841 29, 0, 0, 0, 0, 0, 181, 1033, 0, 0,
1842 0, 0, 0, 180, 33, 0, 0, 0, 0, 182,
1843 0, 0, 0, 181, 0, 0, 0, 0, 191, 0,
1844 0, 33, 77, 77, 77, 0, 182, 925, 0, 7,
1845 8, 926, 10, 134, 12, 13, 0, 189, 0, 0,
1846 14, 120, 0, 120, 0, 0, 101, 0, 0, 0,
1847 101, 101, 0, 0, 0, 17, 0, 18, 19, 20,
1848 0, 0, 101, 21, 101, 101, 101, 0, 22, 101,
1849 101, 101, 24, 927, 0, 928, 191, 0, 191, 0,
1850 0, 27, 0, 28, 29, 0, 0, 929, 0, 930,
1851 0, 0, 0, 0, 0, 0, 0, 31, 0, 0,
1852 0, 7, 8, 9, 10, 0, 0, 32, 0, 1056,
1853 0, 0, 0, 0, 242, 33, 0, 0, 0, 0,
1854 34, 0, 0, 0, 0, 0, 0, 189, 189, 189,
1855 189, 1033, 0, 1156, 0, 189, 0, 0, 0, 0,
1856 22, 466, 101, 0, 0, 0, 0, 0, 0, 0,
1857 1033, 1033, 1033, 27, 0, 28, 29, 1056, 1056, 1056,
1858 0, 0, 101, 445, 0, 0, 0, 0, 0, 441,
1859 0, 0, 0, 0, 0, 0, 0, 0, 925, 442,
1860 7, 8, 926, 10, 134, 12, 13, 33, 77, 0,
1861 0, 14, 443, 0, 0, 0, 451, 0, 0, 0,
1862 0, 101, 0, 0, 0, 0, 17, 0, 18, 19,
1863 20, 445, 445, 445, 21, -486, 0, 0, 0, 22,
1864 0, 0, 0, 24, 927, 0, 928, 0, 0, 0,
1865 0, 0, 27, 0, 28, 29, 0, 0, 929, 0,
1866 930, 0, 191, 0, 0, 0, 0, 101, 31, 101,
1867 101, 0, 0, 189, 189, 0, 189, 0, 32, 0,
1868 0, 0, 0, 0, 0, 0, 33, 0, 0, 0,
1869 0, 34, 0, 0, 0, 0, 0, 0, 0, 0,
1870 0, 0, 0, 101, 0, 0, 0, 0, -486, 0,
1871 0, 0, 0, 0, 189, 0, 0, 0, 0, 0,
1872 0, 0, 0, 0, 101, 925, 0, 7, 8, 926,
1873 10, 134, 12, 13, 0, 0, 0, 101, 14, 0,
1874 0, 101, 0, 0, 101, 0, 0, 0, 0, 101,
1875 0, 0, 0, 17, 0, 18, 19, 20, 0, 0,
1876 0, 21, -488, 0, 0, 0, 22, 0, 0, 0,
1877 24, 927, 189, 928, 189, 0, 0, 0, 0, 27,
1878 0, 28, 29, 0, 0, 929, 0, 930, 0, 8,
1879 9, 0, 134, 12, 13, 31, 0, 1436, 0, 14,
1880 0, 0, 0, 0, 0, 32, 101, 0, 708, 0,
1881 0, 0, 0, 33, 17, 0, 18, 19, 34, 0,
1882 0, 0, 21, 0, 0, 0, 0, 0, 0, 0,
1883 0, 24, 0, 101, 0, -488, 0, 0, 0, 0,
1884 27, 0, 129, 130, 1342, 0, 1232, 1233, 1234, 10,
1885 134, 12, 286, 287, 288, 0, 289, 14, 1235, 1033,
1886 1236, 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245,
1887 15, 16, 17, 290, 18, 19, 20, 0, 291, 292,
1888 21, 0, 293, 294, 295, 22, 296, 297, 0, 24,
1889 0, 0, 0, 298, 299, 300, 301, 302, 27, 0,
1890 1246, 303, 660, 0, 1247, 304, 101, 1033, 1033, 1033,
1891 0, 305, 0, 0, 306, 0, 101, 101, 0, 101,
1892 101, 0, 307, 308, 309, 0, 0, 0, 0, 0,
1893 310, 311, 312, 0, 0, 0, 0, 313, 189, 1248,
1894 8, 9, 0, 192, 12, 193, 0, 0, 0, 0,
1895 14, 0, 0, 0, 1343, 314, 0, 0, 0, 0,
1896 0, 0, 0, 0, 0, 17, 0, 18, 19, 0,
1897 0, 0, 120, 21, 0, 0, 0, 0, 0, 0,
1898 0, 222, 24, 0, 0, 0, 0, 0, 0, 0,
1899 0, 27, 0, 129, 130, 708, 0, 0, 1231, 0,
1900 1232, 1233, 1234, 10, 134, 12, 286, 287, 288, 0,
1901 289, 14, 1235, 0, 1236, 1237, 1238, 1239, 1240, 1241,
1902 1242, 1243, 1244, 1245, 15, 16, 17, 290, 18, 19,
1903 20, 0, 291, 292, 21, 0, 293, 294, 295, 22,
1904 296, 297, 0, 24, 0, 0, 0, 298, 299, 300,
1905 301, 302, 27, 708, 1246, 303, 660, 0, 1247, 304,
1906 0, 0, 0, 0, 0, 305, 0, 0, 306, 0,
1907 0, 101, 101, 101, 0, 0, 307, 308, 309, 0,
1908 0, 0, 0, 101, 310, 311, 312, 0, 0, 0,
1909 0, 313, 519, 1248, 285, 8, 9, 10, 134, 12,
1910 286, 287, 288, 673, 289, 14, 0, 0, 0, 314,
1911 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1912 17, 290, 18, 19, 20, 0, 291, 292, 21, 0,
1913 293, 294, 295, 22, 296, 297, 0, 24, 0, 580,
1914 0, 298, 299, 300, 301, 302, 27, 0, 28, 303,
1915 -275, 0, 0, 304, 0, 101, 0, 101, 0, 305,
1916 0, 0, 834, 0, 0, 0, 0, 0, 101, 0,
1917 307, 308, 835, 0, 0, 0, 0, 0, 310, 311,
1918 312, 0, 583, 0, 0, 836, 585, 0, 519, 674,
1919 7, 8, 9, 10, 134, 12, 286, 287, 288, 673,
1920 289, 14, 0, 314, 0, 0, 0, 0, 0, 0,
1921 0, 0, 0, 0, 0, 0, 17, 290, 18, 19,
1922 20, 0, 291, 292, 21, 0, 293, 294, 295, 22,
1923 296, 297, 0, 24, 0, 580, 0, 298, 299, 300,
1924 301, 302, 27, 0, 28, 29, -275, 0, 0, 304,
1925 0, 0, 0, 0, 0, 305, 0, 0, 1051, 0,
1926 0, 0, 708, 0, 0, 101, 307, 308, 1052, 0,
1927 0, 0, 0, 0, 310, 311, 312, 0, 583, 0,
1928 0, 1053, 585, 0, 0, 674, 0, 0, 0, 0,
1929 0, 0, 0, 0, 0, 0, 0, 0, 0, 314,
1930 0, 0, 0, 672, 0, 285, 8, 9, 10, 134,
1931 12, 286, 287, 288, 673, 289, 14, 0, 0, 0,
1932 0, 0, 0, 0, 0, 0, 0, 101, 101, 0,
1933 101, 17, 290, 18, 19, 20, 0, 291, 292, 21,
1934 0, 293, 294, 295, 22, 296, 297, 0, 24, 0,
1935 0, 0, 298, 299, 300, 301, 302, 27, 0, 28,
1936 303, 0, 0, 0, 304, 0, 0, 0, 0, 0,
1937 305, 0, 0, 306, 0, 0, 0, 0, 708, 0,
1938 0, 307, 308, 309, 0, 0, 0, 0, 0, 310,
1939 311, 312, 0, 0, 0, 0, 313, 0, 0, 0,
1940 674, 0, 0, 0, 0, 0, 708, 0, 0, 0,
1941 0, 0, -748, 768, 314, 285, 8, 9, 10, 134,
1942 12, 286, 287, 288, 0, 289, 14, 0, 0, 0,
1943 0, 0, 0, 0, 0, 0, 101, 0, 0, 0,
1944 0, 17, 290, 18, 19, 20, 0, 291, 292, 21,
1945 0, 293, 294, 295, 22, 296, 297, 0, 24, 0,
1946 0, 0, 298, 299, 300, 301, 302, 27, 0, 28,
1947 303, 1412, 0, -738, 304, 0, 0, 0, 0, 0,
1948 305, 0, 0, 306, 0, 0, 0, 0, 0, 0,
1949 0, 307, 308, 309, 0, 0, 0, 0, 0, 310,
1950 311, 312, 0, 0, 0, 663, 313, 756, 757, 758,
1951 10, 0, 12, 501, 287, 288, 0, 289, 14, 0,
1952 0, 0, 0, 0, 314, 0, 0, 0, 0, 0,
1953 0, 0, 0, 17, 290, 18, 101, 20, 101, 291,
1954 292, 21, 0, 293, 294, 295, 22, 296, 297, 0,
1955 24, 0, 0, 0, 298, 299, 300, 301, 302, 27,
1956 0, 759, 760, 664, 0, 0, 304, 0, 0, 0,
1957 0, 0, 305, 0, 0, 306, 0, 0, 0, 0,
1958 0, 0, 0, 307, 308, 309, 0, 0, 0, 0,
1959 0, 310, 311, 312, 0, 0, 0, 0, 313, 761,
1960 663, 0, 756, 757, 758, 10, 0, 12, 501, 287,
1961 288, 0, 289, 14, 0, 889, 314, 0, 0, 0,
1962 1126, 0, 0, 0, 0, 0, 0, 0, 17, 290,
1963 18, 0, 20, 0, 291, 292, 21, 0, 293, 294,
1964 295, 22, 296, 297, 0, 24, 0, 0, 0, 298,
1965 299, 300, 301, 302, 27, 0, 759, 760, 664, 0,
1966 0, 304, 0, 0, 0, 0, 0, 305, 0, 0,
1967 306, 0, 0, 0, 0, 0, 0, 0, 307, 308,
1968 309, 0, 0, 0, 0, 0, 310, 311, 312, 0,
1969 0, 0, 663, 313, 756, 757, 758, 10, 0, 12,
1970 501, 287, 288, 0, 289, 14, 0, 0, 0, 0,
1971 -446, 314, 1126, 0, 0, 0, 0, 0, 0, 0,
1972 17, 290, 18, 0, 20, 0, 291, 292, 21, 0,
1973 293, 294, 295, 22, 296, 297, 0, 24, 0, 0,
1974 0, 298, 299, 300, 301, 302, 27, 0, 759, 760,
1975 664, 0, 0, 304, 0, 0, 0, 0, 0, 305,
1976 0, 0, 306, 0, 0, 0, 0, 0, 0, 0,
1977 307, 308, 309, 0, 0, 0, 0, 0, 310, 311,
1978 312, 0, 0, 0, 663, 313, 756, 757, 758, 10,
1979 0, 12, 501, 287, 288, 0, 289, 14, 0, 0,
1980 0, 0, 1170, 314, 0, 0, 0, 0, 0, 0,
1981 0, 0, 17, 290, 18, 0, 20, 0, 291, 292,
1982 21, 0, 293, 294, 295, 22, 296, 297, 0, 24,
1983 0, 0, 0, 298, 299, 300, 301, 302, 27, 0,
1984 759, 760, 664, 0, 0, 304, 0, 0, 0, 0,
1985 0, 305, 0, 0, 306, 0, 0, 0, 0, 0,
1986 0, 0, 307, 308, 309, 0, 0, 0, 0, 0,
1987 310, 311, 312, 0, 0, 0, 0, 313, 761, 663,
1988 0, 285, 8, 9, 10, 0, 12, 501, 287, 288,
1989 0, 289, 14, 0, 0, 314, 0, 0, 0, 0,
1990 0, 0, 0, 0, 0, 0, 0, 17, 290, 18,
1991 0, 20, 0, 291, 292, 21, 0, 293, 294, 295,
1992 22, 296, 297, 0, 24, 0, 0, 0, 298, 299,
1993 300, 301, 302, 27, 0, 28, 303, 664, 0, 0,
1994 304, 0, 0, 0, 0, 0, 305, 0, 0, 306,
1995 0, 0, 0, 0, 0, 0, 0, 307, 308, 309,
1996 0, 0, 0, 0, 0, 310, 311, 312, 0, 0,
1997 0, 0, 313, 0, 0, 519, 0, 285, 8, 9,
1998 10, 1174, 12, 286, 287, 288, 0, 289, 14, 0,
1999 314, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2000 0, 0, 0, 17, 290, 18, 0, 20, 0, 291,
2001 292, 21, 0, 293, 294, 295, 22, 296, 297, 0,
2002 24, 0, 0, 0, 298, 299, 300, 301, 302, 27,
2003 0, 28, 303, -275, 0, 0, 304, 0, 0, 0,
2004 0, 0, 305, 0, 0, 520, 0, 0, 0, 0,
2005 0, 0, 0, 307, 308, 521, 0, 0, 0, 0,
2006 0, 310, 311, 312, 0, 0, 0, 663, 522, 285,
2007 8, 9, 10, 0, 12, 501, 287, 288, 0, 289,
2008 14, 0, 0, 0, 0, 0, 314, 0, 0, 0,
2009 0, 0, 0, 0, 0, 17, 290, 18, 0, 20,
2010 0, 291, 292, 21, 0, 293, 294, 295, 22, 296,
2011 297, 0, 24, 0, 0, 0, 298, 299, 300, 301,
2012 302, 27, 0, 28, 303, 664, 0, 0, 304, 0,
2013 0, 0, 0, 0, 305, 0, 0, 306, 0, 0,
2014 0, 0, 0, 0, 0, 307, 308, 309, 0, 0,
2015 0, 0, 0, 310, 311, 312, 0, 0, 0, 768,
2016 313, 285, 8, 9, 10, 0, 12, 501, 287, 288,
2017 0, 289, 14, 0, 0, 0, 0, 0, 314, 0,
2018 0, 0, 0, 0, 0, 0, 0, 17, 290, 18,
2019 0, 20, 0, 291, 292, 21, 0, 293, 294, 295,
2020 22, 296, 297, 0, 24, 0, 0, 0, 298, 299,
2021 300, 301, 302, 27, 0, 28, 303, 0, 0, 0,
2022 304, -738, 0, 0, 0, 0, 305, 0, 0, 306,
2023 0, 0, 0, 0, 0, 0, 0, 307, 308, 309,
2024 0, 0, 0, 0, 0, 310, 311, 312, 0, 0,
2025 0, 519, 313, 7, 8, 9, 10, 0, 12, 286,
2026 287, 288, 0, 289, 14, 0, 0, 0, 0, 0,
2027 314, 0, 0, 0, 0, 0, 0, 0, 0, 17,
2028 290, 18, 0, 20, 0, 291, 292, 21, 0, 293,
2029 294, 295, 22, 296, 297, 0, 24, 0, 0, 0,
2030 298, 299, 300, 301, 302, 27, 0, 28, 29, -275,
2031 0, 0, 304, 0, 0, 0, 0, 0, 305, 0,
2032 0, 1388, 0, 0, 0, 0, 0, 0, 0, 307,
2033 308, 1389, 0, 0, 0, 0, 0, 310, 311, 312,
2034 0, 0, 0, 1487, 1390, 285, 8, 9, 10, 0,
2035 12, 286, 287, 288, 0, 289, 14, 0, 0, 0,
2036 0, 0, 314, 0, 0, 0, 0, 0, 0, 0,
2037 0, 17, 290, 18, 0, 20, 0, 291, 292, 21,
2038 0, 293, 294, 295, 22, 296, 297, 0, 24, 0,
2039 0, 0, 298, 299, 300, 301, 302, 27, 0, 28,
2040 303, 0, 0, -163, 304, 0, 0, 0, 0, 0,
2041 305, 0, 0, 306, 0, 0, 0, 0, 0, 0,
2042 0, 307, 308, 309, 0, 0, 0, 0, 0, 310,
2043 311, 312, 0, 0, 0, 768, 313, 285, 8, 9,
2044 10, 0, 12, 501, 287, 288, 0, 289, 14, 0,
2045 0, 0, 0, 0, 314, 0, 0, 0, 0, 0,
2046 0, 0, 0, 17, 290, 18, 0, 20, 0, 291,
2047 292, 21, 0, 293, 294, 295, 22, 296, 297, 0,
2048 24, 0, 0, 0, 298, 299, 300, 301, 302, 27,
2049 0, 28, 303, 0, 0, 0, 304, 0, 0, 0,
2050 0, 0, 305, 248, 0, 306, 8, 9, 0, 0,
2051 12, 13, 0, 307, 308, 309, 14, 0, 0, 0,
2052 0, 310, 311, 312, 0, 0, 0, 0, 313, 0,
2053 0, 17, 0, 18, 0, 0, 0, 0, 0, 21,
2054 0, 249, 250, 0, -738, 0, 314, 0, 24, 0,
2055 251, 0, 0, 0, 0, 0, 0, 27, 0, 129,
2056 130, 0, 252, 0, 0, 0, 253, 254, 255, 256,
2057 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
2058 267, 268, 269, 270, 271, 272, 273, 0, 0, 274,
2059 275, 276, 0, 0, 277, 0, 848, 278, 285, 8,
2060 9, 10, 0, 12, 501, 287, 288, 0, 289, 14,
2061 0, 0, 0, 0, 279, 0, 0, 0, 0, 0,
2062 0, 0, 0, 0, 17, 290, 18, 0, 20, 0,
2063 291, 292, 21, 0, 293, 294, 295, 22, 296, 297,
2064 0, 24, 0, 0, 0, 298, 299, 300, 301, 302,
2065 27, 0, 28, 303, 0, 0, 0, 304, 0, 0,
2066 0, 0, 0, 305, 0, 0, 306, 0, 0, 0,
2067 0, 0, 0, 0, 307, 308, 309, 0, 0, 0,
2068 0, 0, 310, 311, 312, 0, 0, 0, 850, 313,
2069 285, 8, 9, 10, 0, 12, 501, 287, 288, 0,
2070 289, 14, 0, 0, 0, 0, 0, 314, 0, 0,
2071 0, 0, 0, 0, 0, 0, 17, 290, 18, 0,
2072 20, 0, 291, 292, 21, 0, 293, 294, 295, 22,
2073 296, 297, 0, 24, 0, 0, 0, 298, 299, 300,
2074 301, 302, 27, 0, 28, 303, 0, 0, 0, 304,
2075 0, 0, 0, 0, 0, 305, 0, 0, 306, 0,
2076 0, 0, 0, 0, 0, 0, 307, 308, 309, 0,
2077 0, 0, 0, 0, 310, 311, 312, 0, 0, 0,
2078 1401, 313, 285, 8, 9, 10, 0, 12, 501, 287,
2079 288, 0, 289, 14, 0, 0, 0, 0, 0, 314,
2080 0, 0, 0, 0, 0, 0, 0, 0, 17, 290,
2081 18, 0, 20, 0, 291, 292, 21, 0, 293, 294,
2082 295, 22, 296, 297, 0, 24, 0, 0, 0, 298,
2083 299, 300, 301, 302, 27, 0, 28, 303, 0, 0,
2084 0, 304, 0, 0, 0, 0, 0, 305, 0, 0,
2085 306, 0, 0, 0, 0, 0, 0, 0, 307, 308,
2086 309, 0, 0, 0, 0, 0, 310, 311, 312, 285,
2087 8, 9, 10, 313, 12, 501, 287, 288, 0, 289,
2088 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2089 0, 314, 0, 0, 0, 17, 290, 18, 0, 20,
2090 0, 291, 292, 21, 0, 293, 294, 295, 22, 296,
2091 297, 0, 24, 0, 0, 0, 298, 299, 300, 301,
2092 302, 27, 0, 28, 303, 0, 0, 0, 304, 0,
2093 0, 0, 0, 0, 305, 0, 925, 306, 7, 8,
2094 926, 10, 134, 12, 13, 307, 308, 309, 0, 14,
2095 0, 0, 0, 310, 311, 312, 0, 0, 0, 0,
2096 313, 0, 0, 0, 17, 0, 18, 19, 20, 0,
2097 0, 0, 21, -487, 0, 0, 0, 22, 314, 807,
2098 0, 24, 927, 0, 928, 0, 0, 0, 0, 0,
2099 27, 0, 28, 29, 0, 0, 929, 0, 930, 0,
2100 0, 0, 0, 0, 0, 0, 31, 0, 0, 0,
2101 0, 0, 0, 0, 0, 0, 32, 0, 0, 0,
2102 0, 0, 0, 0, 33, 0, 0, 0, 0, 34,
2103 0, 0, 0, 1232, 1233, 1234, 10, 134, 12, 286,
2104 287, 288, 0, 289, 14, 1235, -487, 1236, 1237, 1238,
2105 1239, 1240, 1241, 1242, 1243, 1244, 1245, 15, 16, 17,
2106 290, 18, 19, 20, 0, 291, 292, 21, 0, 293,
2107 294, 295, 22, 296, 297, 0, 24, 0, 0, 0,
2108 298, 299, 300, 301, 302, 27, 0, 1246, 303, 660,
2109 0, 1247, 304, 0, 0, 0, 0, 0, 305, 0,
2110 0, 306, 0, 0, 0, 0, 0, 0, 0, 307,
2111 308, 309, 0, 0, 0, 0, 0, 310, 311, 312,
2112 0, 0, 0, 0, 313, 0, 1248, 0, 0, 0,
2113 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2114 0, 1347, 314, 1232, 1233, 1234, 10, 134, 12, 286,
2115 287, 288, 0, 289, 14, 1235, 0, 1236, 1237, 1238,
2116 1239, 1240, 1241, 1242, 1243, 1244, 1245, 15, 16, 17,
2117 290, 18, 19, 20, 0, 291, 292, 21, 0, 293,
2118 294, 295, 22, 296, 297, 0, 24, 0, 0, 0,
2119 298, 299, 300, 301, 302, 27, 0, 1246, 303, 660,
2120 0, 1247, 304, 0, 0, 0, 0, 0, 305, 0,
2121 0, 306, 0, 0, 0, 0, 0, 0, 0, 307,
2122 308, 309, 0, 0, 0, 0, 0, 310, 311, 312,
2123 0, 0, 0, 0, 313, 0, 1248, 0, 0, 1232,
2124 1233, 1234, 10, 134, 12, 286, 287, 288, 0, 289,
2125 14, 1235, 314, 1236, 1237, 1238, 1239, 1240, 1241, 1242,
2126 1243, 1244, 1245, 15, 16, 17, 290, 18, 19, 20,
2127 0, 291, 292, 21, 0, 293, 294, 295, 22, 296,
2128 297, 0, 24, 0, 0, 0, 298, 299, 300, 301,
2129 302, 27, 0, 1246, 303, 1462, 0, 1247, 304, 0,
2130 0, 0, 0, 0, 305, 0, 0, 306, 0, 0,
2131 0, 0, 0, 0, 0, 307, 308, 309, 0, 0,
2132 0, 0, 0, 310, 311, 312, 0, 0, 0, 0,
2133 313, 0, 1248, 0, 0, 1232, 1233, 1234, 10, 134,
2134 12, 286, 287, 288, 0, 289, 14, 1235, 314, 1236,
2135 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 15,
2136 16, 17, 290, 18, 19, 20, 0, 291, 292, 21,
2137 0, 293, 294, 295, 22, 296, 297, 0, 24, 0,
2138 0, 0, 298, 299, 300, 301, 302, 27, 0, 1246,
2139 303, 0, 0, 1247, 304, 0, 0, 0, 0, 0,
2140 305, 0, 0, 306, 0, 0, 0, 0, 0, 0,
2141 0, 307, 308, 309, 0, 0, 0, 0, 0, 310,
2142 311, 312, 0, 0, 0, 0, 313, 0, 1248, 285,
2143 8, 9, 10, 134, 12, 286, 287, 288, 673, 289,
2144 14, 0, 0, 0, 314, 0, 0, 0, 0, 0,
2145 0, 0, 0, 0, 0, 17, 290, 18, 19, 20,
2146 0, 291, 292, 21, 0, 293, 294, 295, 22, 296,
2147 297, 0, 24, 0, 580, 0, 298, 299, 300, 301,
2148 302, 27, 0, 28, 303, 0, 0, 0, 304, 0,
2149 0, 0, 0, 0, 305, 0, 0, 834, 0, 0,
2150 0, 0, 0, 0, 0, 307, 308, 835, 0, 0,
2151 0, 0, 0, 310, 311, 312, 0, 583, 0, 0,
2152 836, 585, 0, 0, 674, 7, 8, 9, 10, 134,
2153 12, 286, 287, 288, 673, 289, 14, 0, 314, 0,
2154 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2155 0, 17, 290, 18, 19, 20, 0, 291, 292, 21,
2156 0, 293, 294, 295, 22, 296, 297, 0, 24, 0,
2157 580, 0, 298, 299, 300, 301, 302, 27, 0, 28,
2158 29, 0, 0, 0, 304, 0, 0, 0, 0, 0,
2159 305, 0, 0, 1051, 0, 0, 0, 0, 0, 0,
2160 0, 307, 308, 1052, 0, 0, 0, 0, 0, 310,
2161 311, 312, 0, 583, 0, 0, 1053, 585, 0, 0,
2162 674, 285, 8, 9, 10, 0, 12, 286, 287, 288,
2163 0, 289, 14, 0, 314, 0, 0, 0, 0, 0,
2164 0, 0, 0, 0, 0, 0, 0, 17, 290, 18,
2165 0, 20, 0, 291, 292, 21, 0, 293, 294, 295,
2166 22, 296, 297, 0, 24, 0, 0, 0, 298, 299,
2167 300, 301, 302, 27, 0, 28, 303, 0, 0, 0,
2168 304, 0, 0, 0, 0, 0, 305, 0, 0, 306,
2169 0, 0, 0, 0, 339, 0, 340, 307, 308, 309,
2170 0, 0, 0, 0, 0, 310, 311, 312, 285, 8,
2171 9, 10, 313, 12, 286, 287, 288, 0, 289, 14,
2172 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2173 314, 0, 0, 0, 17, 290, 18, 0, 20, 0,
2174 291, 292, 21, 0, 293, 294, 295, 22, 296, 297,
2175 0, 24, 0, 580, 0, 298, 299, 300, 301, 302,
2176 27, 0, 28, 303, 0, 0, 0, 0, 0, 0,
2177 0, 0, 0, 305, 0, 0, 834, 0, 0, 0,
2178 0, 0, 0, 0, 307, 308, 835, 0, 0, 0,
2179 0, 0, 310, 311, 312, 0, 583, 0, 0, 836,
2180 585, 7, 8, 9, 10, 0, 12, 286, 287, 288,
2181 0, 289, 14, 0, 0, 0, 0, 314, 0, 0,
2182 0, 0, 0, 0, 0, 0, 0, 17, 290, 18,
2183 0, 20, 0, 291, 292, 21, 0, 293, 294, 295,
2184 22, 296, 297, 0, 24, 0, 580, 0, 298, 299,
2185 300, 301, 302, 27, 0, 28, 29, 0, 0, 0,
2186 0, 0, 0, 0, 0, 0, 305, 0, 0, 1051,
2187 0, 0, 0, 0, 0, 0, 0, 307, 308, 1052,
2188 0, 0, 0, 0, 0, 310, 311, 312, 0, 583,
2189 0, 0, 1053, 585, 285, 8, 9, 10, 0, 12,
2190 501, 287, 288, 0, 289, 14, 0, 0, 0, 0,
2191 314, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2192 17, 290, 18, 0, 20, 0, 291, 292, 21, 0,
2193 293, 294, 295, 22, 296, 297, 0, 24, 0, 0,
2194 0, 298, 299, 300, 301, 302, 27, 0, 28, 303,
2195 0, 0, 1324, 304, 0, 0, 0, 0, 0, 305,
2196 0, 0, 306, 0, 0, 0, 0, 0, 0, 0,
2197 307, 308, 309, 0, 0, 0, 0, 0, 310, 311,
2198 312, 0, 0, 0, 0, 313, 285, 8, 9, 10,
2199 134, 12, 286, 287, 288, 0, 289, 14, 0, 0,
2200 0, 0, 0, 314, 0, 0, 0, 0, 0, 0,
2201 0, 0, 17, 290, 18, 19, 20, 0, 291, 292,
2202 21, 0, 293, 294, 295, 22, 296, 297, 0, 24,
2203 0, 0, 0, 298, 299, 300, 301, 302, 27, 0,
2204 28, 303, 0, 0, 0, 0, 0, 0, 0, 0,
2205 0, 305, 0, 0, 306, 0, 0, 0, 0, 0,
2206 0, 0, 307, 308, 309, 0, 0, 0, 0, 0,
2207 310, 311, 312, 285, 8, 9, 10, 313, 12, 286,
2208 287, 288, 0, 289, 14, 0, 0, 0, 0, 0,
2209 0, 0, 0, 0, 0, 314, 0, 0, 0, 17,
2210 290, 18, 0, 20, 0, 291, 292, 21, 0, 293,
2211 294, 295, 22, 296, 297, 0, 24, 0, 0, 0,
2212 298, 299, 300, 301, 302, 27, 0, 28, 303, 0,
2213 0, 0, 304, 0, 0, 0, 0, 0, 305, 0,
2214 0, 306, 0, 0, 0, 0, 0, 0, 0, 307,
2215 308, 309, 0, 0, 0, 0, 0, 310, 311, 312,
2216 285, 8, 9, 10, 313, 12, 501, 287, 288, 0,
2217 289, 14, 0, 0, 0, 0, 0, 0, 0, 0,
2218 0, 0, 314, 0, 0, 0, 17, 290, 18, 0,
2219 20, 0, 291, 292, 21, 0, 293, 294, 295, 22,
2220 296, 297, 0, 24, 0, 0, 0, 298, 299, 300,
2221 301, 302, 27, 0, 28, 303, 0, 0, 0, 304,
2222 0, 0, 0, 0, 0, 305, 0, 0, 306, 0,
2223 0, 0, 0, 0, 0, 0, 307, 308, 309, 0,
2224 0, 0, 0, 0, 310, 311, 312, 285, 8, 9,
2225 10, 313, 12, 501, 287, 288, 0, 289, 14, 0,
2226 0, 0, 0, 0, 0, 0, 0, 0, 0, 314,
2227 0, 0, 0, 17, 290, 18, 0, 20, 0, 291,
2228 292, 21, 0, 293, 294, 295, 22, 296, 297, 0,
2229 24, 0, 0, 0, 298, 299, 300, 301, 302, 27,
2230 0, 28, 303, 532, 0, 0, 0, 0, 0, 0,
2231 0, 0, 305, 0, 0, 306, 0, 0, 0, 0,
2232 0, 0, 0, 307, 308, 309, 0, 0, 0, 0,
2233 0, 310, 311, 312, 285, 8, 9, 10, 533, 12,
2234 501, 287, 288, 0, 289, 14, 0, 0, 0, 0,
2235 0, 0, 0, 0, 0, 0, 314, 0, 0, 0,
2236 17, 290, 18, 0, 20, 0, 291, 292, 21, 0,
2237 293, 294, 295, 22, 296, 297, 0, 24, 0, 0,
2238 0, 298, 299, 300, 301, 302, 27, 0, 28, 303,
2239 0, 0, 0, 0, 0, 0, 0, 0, 0, 305,
2240 0, 0, 306, 0, 0, 0, 0, 0, 0, 0,
2241 307, 308, 309, 0, 0, 0, 0, 0, 310, 311,
2242 312, 0, 0, 0, 0, 313, 569, 285, 8, 9,
2243 10, 0, 12, 501, 287, 288, 0, 289, 14, 0,
2244 0, 0, 0, 314, 0, 0, 0, 0, 0, 0,
2245 0, 0, 0, 17, 290, 18, 0, 20, 0, 291,
2246 292, 21, 0, 293, 294, 295, 22, 296, 297, 0,
2247 24, 0, 0, 0, 298, 299, 300, 301, 302, 27,
2248 0, 28, 303, 0, 0, 0, 304, 0, 0, 0,
2249 0, 0, 305, 0, 0, 520, 0, 0, 0, 0,
2250 0, 0, 0, 307, 308, 521, 0, 0, 0, 0,
2251 0, 310, 311, 312, 1023, 8, 9, 10, 522, 12,
2252 501, 287, 288, 0, 289, 14, 0, 0, 0, 0,
2253 0, 0, 0, 0, 0, 0, 314, 0, 0, 0,
2254 17, 290, 18, 0, 20, 0, 291, 292, 21, 0,
2255 293, 294, 295, 22, 296, 297, 0, 24, 0, 0,
2256 0, 298, 299, 300, 301, 302, 27, 0, 28, 303,
2257 0, 0, 0, 304, 0, 0, 0, 0, 0, 305,
2258 0, 0, 306, 0, 0, 0, 0, 0, 0, 0,
2259 307, 308, 309, 0, 0, 0, 0, 0, 310, 311,
2260 312, 7, 8, 9, 10, 313, 12, 501, 287, 288,
2261 0, 289, 14, 0, 0, 0, 0, 0, 0, 0,
2262 0, 0, 0, 314, 0, 0, 0, 17, 290, 18,
2263 0, 20, 0, 291, 292, 21, 0, 293, 294, 295,
2264 22, 296, 297, 0, 24, 0, 0, 0, 298, 299,
2265 300, 301, 302, 27, 0, 28, 29, 0, 0, 0,
2266 304, 0, 0, 0, 0, 0, 305, 0, 0, 1388,
2267 0, 0, 0, 0, 0, 0, 0, 307, 308, 1389,
2268 0, 0, 0, 0, 0, 310, 311, 312, 285, 8,
2269 9, 10, 1390, 12, 501, 287, 288, 0, 289, 14,
2270 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2271 314, 0, 0, 0, 17, 290, 18, 0, 20, 0,
2272 291, 292, 21, 0, 293, 294, 295, 22, 296, 297,
2273 0, 24, 0, 0, 0, 298, 299, 300, 301, 302,
2274 27, 0, 28, 303, 0, 0, 0, 0, 0, 0,
2275 0, 0, 0, 305, 0, 0, 306, 0, 0, 0,
2276 0, 0, 0, 0, 307, 308, 309, 0, 0, 0,
2277 0, 0, 310, 311, 312, 285, 8, 9, 10, 502,
2278 12, 501, 287, 288, 0, 289, 14, 0, 0, 0,
2279 0, 0, 0, 0, 0, 0, 0, 314, 0, 0,
2280 0, 17, 290, 18, 0, 20, 0, 291, 292, 21,
2281 0, 293, 294, 295, 22, 296, 297, 0, 24, 0,
2282 0, 0, 298, 299, 300, 301, 302, 27, 0, 28,
2283 303, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2284 305, 0, 0, 306, 0, 0, 0, 0, 0, 0,
2285 0, 307, 308, 309, 0, 0, 0, 0, 0, 310,
2286 311, 312, 285, 8, 9, 10, 505, 12, 501, 287,
2287 288, 0, 289, 14, 0, 0, 0, 0, 0, 0,
2288 0, 0, 0, 0, 314, 0, 0, 0, 17, 290,
2289 18, 0, 20, 0, 291, 292, 21, 0, 293, 294,
2290 295, 22, 296, 297, 0, 24, 0, 0, 0, 298,
2291 299, 300, 301, 302, 27, 0, 28, 303, 0, 0,
2292 0, 0, 0, 0, 0, 0, 0, 305, 0, 0,
2293 306, 0, 0, 0, 0, 0, 0, 0, 307, 308,
2294 309, 0, 0, 0, 0, 0, 310, 311, 312, 285,
2295 8, 9, 10, 313, 12, 501, 287, 288, 0, 289,
2296 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2297 0, 314, 0, 0, 0, 17, 290, 18, 0, 20,
2298 0, 291, 292, 21, 0, 293, 294, 295, 22, 296,
2299 297, 0, 24, 0, 0, 0, 298, 299, 300, 301,
2300 302, 27, 0, 28, 303, 0, 0, 0, 0, 0,
2301 0, 0, 0, 0, 305, 0, 0, 520, 0, 0,
2302 0, 0, 0, 0, 0, 307, 308, 521, 0, 0,
2303 0, 0, 0, 310, 311, 312, 7, 8, 9, 10,
2304 522, 12, 286, 287, 288, 0, 289, 14, 0, 0,
2305 0, 0, 0, 0, 0, 0, 0, 0, 314, 0,
2306 0, 0, 17, 290, 18, 0, 20, 0, 291, 292,
2307 21, 0, 293, 294, 295, 22, 296, 297, 0, 24,
2308 0, 0, 0, 298, 299, 300, 301, 302, 27, 0,
2309 28, 29, 0, 0, 0, 0, 0, 0, 0, 0,
2310 0, 305, 0, 6, 1388, 7, 8, 9, 10, 11,
2311 12, 13, 307, 308, 1389, 0, 14, 0, 0, 0,
2312 310, 311, 312, 0, 0, 0, 0, 1390, 0, 15,
2313 16, 17, 0, 18, 19, 20, 0, 0, 0, 21,
2314 0, 0, 0, 0, 22, 314, 0, 23, 24, 25,
2315 0, 26, 0, 0, 0, 0, 0, 27, 0, 28,
2316 29, 0, 166, 30, 7, 8, 9, 10, 11, 12,
2317 13, 0, 0, 31, 0, 14, 0, 0, 0, 0,
2318 0, 0, 0, 32, 0, 0, 0, 0, 15, 16,
2319 17, 33, 18, 19, 20, 0, 34, 0, 21, 0,
2320 0, 0, 35, 22, 0, 0, 23, 24, 25, 0,
2321 26, 0, 0, 0, 0, 0, 27, 0, 28, 29,
2322 0, 0, 30, 7, 8, 9, 10, 201, 202, 203,
2323 0, 0, 31, 0, 14, 0, 0, 0, 0, 0,
2324 0, 0, 32, 0, 0, 0, 0, 0, 0, 0,
2325 33, 0, 19, 0, 0, 34, 0, 21, 0, 0,
2326 0, 35, 22, 0, 0, 0, 24, 0, 580, 0,
2327 0, 0, 0, 0, 0, 27, 0, 28, 29, 7,
2328 8, 9, 10, 201, 202, 203, 0, 0, 0, 0,
2329 14, 862, 0, 0, 0, 0, 0, 0, 0, 0,
2330 0, 863, 0, 0, 0, 0, 0, 0, 19, 33,
2331 0, 583, 0, 21, 864, 585, 0, 0, 22, 0,
2332 0, 0, 24, 0, 580, 0, 0, 0, 0, 0,
2333 0, 27, 0, 28, 29, 7, 8, 9, 10, 134,
2334 12, 13, 0, 0, 0, 0, 14, 862, 0, 0,
2335 0, 0, 0, 0, 0, 0, 0, 863, 0, 0,
2336 0, 17, 0, 18, 19, 33, 0, 583, 0, 21,
2337 898, 585, 0, 0, 22, 0, 0, 0, 24, 0,
2338 0, 0, 0, 0, 0, 0, 0, 27, 0, 28,
2339 29, 7, 8, 9, 10, 134, 12, 13, 0, 0,
2340 904, 0, 14, 31, 0, 0, 0, 135, 0, 0,
2341 0, 0, 0, 32, 0, 0, 0, 17, 0, 18,
2342 19, 33, 0, 0, 0, 21, 34, 0, 0, 0,
2343 22, 0, 0, 0, 24, 0, 1086, 8, 926, 10,
2344 192, 12, 193, 27, 0, 28, 29, 14, 0, 0,
2345 0, 0, 0, 0, 0, 0, 0, 0, 0, 31,
2346 0, 0, 17, 0, 18, 19, 0, 0, 0, 32,
2347 21, 0, 0, 0, 0, 22, 0, 33, 0, 24,
2348 0, 0, 34, 0, 0, 0, 0, 0, 27, 0,
2349 28, 29, 0, 0, 0, 0, 1088, 7, 8, 9,
2350 10, 192, 12, 193, 31, 0, 0, 0, 14, 0,
2351 0, 0, 0, 0, 32, 0, 0, 0, 0, 0,
2352 0, 0, 33, 17, 0, 18, 19, 34, 0, 0,
2353 0, 21, 0, 0, 0, 0, 22, 0, 0, 0,
2354 24, 0, 7, 8, 9, 10, 134, 12, 13, 27,
2355 0, 28, 29, 14, 0, 1337, 0, 0, 0, 0,
2356 0, 0, 0, 0, 0, 31, 0, 0, 17, 0,
2357 18, 19, 0, 0, 0, 32, 21, 0, 0, 0,
2358 0, 22, 0, 33, 0, 24, 0, 0, 34, 0,
2359 0, 0, 0, 0, 27, 0, 28, 29, 7, 8,
2360 9, 10, 192, 12, 193, 0, 0, 0, 0, 14,
2361 31, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2362 32, 0, 0, 0, 17, 0, 18, 19, 33, 0,
2363 0, 0, 21, 34, 0, 0, 0, 22, 0, 0,
2364 0, 24, 0, 7, 8, 9, 10, 201, 202, 203,
2365 27, 0, 28, 29, 14, 0, 0, 0, 0, 0,
2366 0, 0, 0, 0, 0, 0, 31, 0, 0, 0,
2367 0, 0, 19, 0, 0, 0, 32, 21, 0, 0,
2368 0, 0, 22, 0, 33, 1378, 24, 0, 580, 34,
2369 0, 0, 0, 0, 0, 27, 0, 28, 29, 535,
2370 536, 537, 538, 539, 540, 541, 542, 543, 544, 545,
2371 546, 180, 548, 549, 550, 551, 552, 553, 554, 555,
2372 556, 181, 0, 0, 0, 0, 0, 0, 0, 33,
2373 0, 0, 0, 0, 1340, 0, 1379, 535, 536, 537,
2374 538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
2375 548, 549, 550, 551, 552, 553, 554, 555, 556, 8,
2376 9, 0, 134, 12, 13, 0, 8, 9, 0, 14,
2377 12, 230, 0, 8, 9, 0, 14, 12, 13, 0,
2378 0, 0, 0, 14, 17, 0, 18, 19, 0, 0,
2379 0, 17, 21, 18, 0, 0, 19, 0, 17, 21,
2380 18, 634, 0, 0, 0, 0, 21, 0, 24, 0,
2381 27, 0, 129, 130, 0, 24, 0, 27, 0, 129,
2382 130, 0, 0, 0, 27, 0, 129, 130, 535, 536,
2383 537, 538, 539, 540, 541, 542, 543, 544, 545, 546,
2384 547, 548, 549, 550, 551, 552, 553, 554, 555, 556,
2385 535, 536, 537, 538, 539, 540, 541, 542, 543, 544,
2386 545, 546, 547, 548, 549, 550, 551, 552, 553, 554,
2387 555, 556, 535, 536, 537, 538, 539, 540, 541, 542,
2388 543, 544, 545, 546, 547, 548, 549, 550, 551, 552,
2389 553, 554, 555, 556, 0, 0, 0, 0, 0, 1124,
2390 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2391 0, 0, 0, 0, 617, 0, 0, 1432, 535, 536,
2392 537, 538, 539, 540, 541, 542, 543, 544, 545, 546,
2393 547, 548, 549, 550, 551, 552, 553, 554, 555, 556,
2394 1301, 535, 536, 537, 538, 539, 540, 541, 542, 543,
2395 544, 545, 546, 547, 548, 549, 550, 551, 552, 553,
2396 554, 555, 556, 1449, 535, 536, 537, 538, 539, 540,
2397 541, 542, 543, 544, 545, 546, 547, 548, 549, 550,
2398 551, 552, 553, 554, 555, 556, 535, 536, 537, 538,
2399 539, 540, 541, 542, 543, 544, 545, 546, 547, 548,
2400 549, 550, 551, 552, 553, 554, 555, 556
2403 static const short yycheck
[] = { 4,
2404 658, 332, 54, 161, 75, 392, 656, 196, 470, 392,
2405 58, 427, 4, 4, 125, 236, 83, 392, 24, 888,
2406 1226, 26, 151, 152, 338, 4, 931, 449, 796, 79,
2407 14, 36, 196, 363, 132, 940, 41, 4, 721, 289,
2408 290, 205, 231, 726, 36, 36, 11, 26, 34, 41,
2409 41, 56, 132, 133, 11, 53, 1256, 36, 89, 26,
2410 91, 92, 41, 1263, 31, 32, 71, 226, 1376, 36,
2411 320, 61, 128, 422, 41, 1249, 11, 133, 83, 1187,
2412 1188, 1412, 87, 4, 89, 137, 91, 92, 93, 48,
2413 60, 139, 281, 1201, 1410, 38, 146, 34, 82, 55,
2414 61, 106, 107, 1407, 36, 26, 63, 204, 205, 41,
2415 141, 9, 143, 0, 93, 36, 83, 338, 60, 75,
2416 41, 105, 4, 65, 1, 1441, 93, 55, 0, 200,
2417 1, 75, 1, 138, 76, 94, 141, 60, 143, 4,
2418 190, 111, 75, 332, 26, 110, 1393, 75, 196, 832,
2419 111, 110, 1483, 110, 36, 79, 204, 205, 156, 41,
2420 165, 26, 83, 585, 62, 1469, 152, 153, 111, 1277,
2421 61, 36, 93, 504, 111, 110, 41, 526, 1286, 1287,
2422 1380, 1289, 59, 231, 151, 152, 165, 110, 59, 187,
2423 59, 56, 63, 1440, 63, 657, 182, 428, 165, 12,
2424 1508, 60, 1376, 49, 435, 25, 1522, 27, 28, 199,
2425 60, 93, 584, 180, 181, 983, 12, 207, 61, 591,
2426 111, 1421, 55, 1470, 61, 96, 7, 96, 93, 4,
2427 60, 329, 14, 281, 4, 5, 91, 92, 39, 59,
2428 59, 23, 75, 63, 165, 1451, 60, 60, 232, 329,
2429 63, 110, 65, 284, 55, 55, 12, 38, 325, 48,
2430 110, 36, 76, 63, 60, 59, 41, 63, 111, 500,
2431 447, 65, 1472, 956, 111, 958, 96, 282, 455, 284,
2432 110, 100, 64, 165, 332, 98, 141, 57, 58, 603,
2433 454, 1399, 1400, 48, 681, 94, 348, 1202, 681, 629,
2434 165, 349, 98, 48, 60, 94, 386, 63, 313, 365,
2435 659, 81, 441, 442, 110, 473, 48, 27, 28, 63,
2436 325, 34, 32, 247, 3, 4, 5, 313, 333, 60,
2437 386, 562, 94, 564, 565, 1253, 63, 1255, 75, 94,
2438 95, 123, 98, 60, 61, 76, 677, 78, 63, 94,
2439 95, 61, 48, 94, 338, 65, 453, 454, 325, 63,
2440 75, 34, 94, 95, 461, 1133, 110, 598, 150, 48,
2441 1239, 75, 1442, 291, 292, 472, 55, 61, 57, 58,
2442 8, 9, 798, 110, 1454, 48, 14, 392, 306, 25,
2443 1073, 309, 463, 1463, 312, 492, 4, 315, 94, 95,
2444 318, 111, 1085, 48, 325, 453, 454, 48, 326, 37,
2445 415, 833, 1482, 461, 110, 94, 94, 48, 46, 109,
2446 48, 48, 25, 59, 472, 392, 61, 63, 36, 284,
2447 435, 94, 1502, 41, 65, 48, 415, 1306, 151, 152,
2448 153, 223, 224, 55, 492, 32, 1315, 1316, 415, 94,
2449 95, 75, 65, 94, 236, 1525, 442, 443, 60, 61,
2450 96, 316, 924, 94, 836, 110, 94, 94, 435, 182,
2451 460, 392, 859, 55, 441, 442, 859, 63, 151, 152,
2452 153, 94, 95, 48, 859, 475, 48, 342, 48, 344,
2453 63, 346, 864, 75, 415, 55, 59, 502, 48, 566,
2454 505, 55, 75, 65, 509, 510, 511, 512, 513, 182,
2455 3, 4, 5, 6, 435, 75, 502, 522, 111, 505,
2456 3, 4, 5, 305, 529, 59, 898, 841, 533, 94,
2457 95, 947, 94, 415, 94, 521, 522, 886, 48, 4,
2458 5, 396, 397, 94, 94, 110, 705, 533, 707, 42,
2459 415, 60, 61, 712, 4, 5, 745, 55, 974, 975,
2460 565, 566, 55, 48, 57, 58, 989, 990, 799, 992,
2461 76, 993, 48, 48, 57, 58, 1445, 75, 1040, 584,
2462 362, 812, 55, 814, 94, 816, 591, 639, 838, 641,
2463 642, 55, 57, 58, 642, 56, 89, 58, 81, 566,
2464 48, 698, 520, 521, 715, 591, 1068, 57, 58, 94,
2465 55, 595, 4, 5, 581, 582, 81, 584, 94, 94,
2466 841, 4, 5, 854, 591, 677, 9, 48, 634, 677,
2467 75, 81, 55, 1049, 55, 640, 4, 5, 48, 644,
2468 110, 9, 1058, 1059, 499, 566, 94, 1063, 1064, 880,
2469 698, 657, 4, 5, 75, 48, 9, 988, 48, 12,
2470 1032, 110, 55, 584, 95, 57, 58, 63, 110, 48,
2471 591, 110, 55, 94, 57, 58, 681, 138, 139, 75,
2472 11, 1053, 75, 111, 94, 48, 468, 55, 71, 57,
2473 58, 722, 723, 724, 48, 48, 3, 745, 81, 27,
2474 28, 94, 61, 71, 94, 57, 58, 60, 1124, 62,
2475 63, 716, 65, 81, 681, 94, 721, 722, 723, 724,
2476 94, 726, 113, 76, 716, 78, 95, 95, 441, 442,
2477 443, 94, 113, 4, 5, 196, 63, 716, 55, 95,
2478 94, 94, 95, 204, 205, 98, 63, 84, 85, 716,
2479 532, 60, 61, 739, 721, 4, 5, 110, 75, 726,
2480 681, 94, 921, 922, 923, 1181, 60, 61, 441, 442,
2481 443, 55, 94, 234, 8, 9, 4, 5, 75, 63,
2482 14, 55, 75, 4, 5, 1435, 57, 58, 75, 63,
2483 795, 75, 716, 75, 799, 716, 11, 1455, 1214, 48,
2484 721, 75, 110, 37, 60, 726, 55, 111, 57, 58,
2485 81, 1042, 46, 1044, 110, 1046, 3, 4, 5, 869,
2486 55, 826, 71, 4, 5, 110, 65, 832, 63, 57,
2487 58, 836, 81, 110, 716, 55, 57, 58, 60, 61,
2488 75, 110, 91, 63, 61, 94, 95, 60, 61, 835,
2489 836, 111, 634, 81, 859, 75, 861, 841, 111, 864,
2490 81, 643, 113, 934, 935, 832, 110, 834, 835, 836,
2491 57, 58, 943, 113, 55, 75, 57, 58, 864, 4,
2492 5, 75, 664, 75, 113, 1301, 938, 113, 349, 807,
2493 71, 110, 859, 898, 110, 862, 863, 864, 110, 59,
2494 81, 1030, 1031, 25, 110, 27, 28, 912, 733, 734,
2495 735, 832, 898, 55, 919, 836, 834, 835, 4, 5,
2496 1151, 8, 1051, 1052, 1255, 113, 931, 94, 933, 48,
2497 55, 898, 57, 58, 939, 940, 65, 59, 859, 931,
2498 60, 63, 94, 864, 61, 111, 71, 55, 940, 65,
2499 65, 956, 931, 958, 933, 63, 81, 110, 61, 45,
2500 25, 940, 27, 28, 931, 63, 933, 75, 1317, 55,
2501 95, 57, 58, 940, 96, 110, 110, 898, 110, 110,
2502 1329, 7, 8, 9, 1034, 446, 65, 65, 14, 956,
2503 65, 958, 453, 454, 59, 113, 457, 65, 63, 94,
2504 461, 60, 3, 4, 5, 6, 32, 931, 110, 933,
2505 931, 37, 933, 110, 110, 939, 940, 1404, 1089, 940,
2506 46, 1404, 110, 76, 1095, 1096, 110, 1032, 1099, 1100,
2507 76, 96, 1103, 76, 1040, 956, 76, 958, 3, 4,
2508 5, 42, 63, 110, 1393, 1031, 1032, 1097, 1053, 931,
2509 110, 933, 63, 60, 110, 63, 57, 58, 940, 110,
2510 3, 4, 5, 1030, 1031, 1032, 1052, 1053, 1073, 113,
2511 852, 95, 111, 938, 939, 110, 110, 995, 48, 25,
2512 1085, 27, 28, 113, 1051, 1052, 1053, 1418, 89, 1438,
2513 55, 1440, 57, 58, 1510, 950, 951, 952, 89, 3,
2514 4, 5, 111, 1108, 110, 87, 1073, 89, 110, 91,
2515 92, 1032, 55, 59, 57, 58, 1108, 63, 1085, 113,
2516 113, 1470, 110, 3, 4, 5, 110, 110, 60, 1108,
2517 110, 1480, 1053, 1051, 1052, 3, 4, 5, 6, 111,
2518 65, 1108, 79, 80, 81, 82, 83, 84, 85, 65,
2519 96, 864, 1073, 57, 58, 59, 75, 63, 110, 141,
2520 110, 143, 1167, 94, 1085, 94, 3, 4, 5, 6,
2521 94, 94, 1177, 1097, 42, 1167, 1167, 57, 58, 640,
2522 110, 642, 8, 111, 1108, 898, 113, 1108, 1167, 57,
2523 58, 864, 110, 975, 4, 5, 110, 1202, 110, 392,
2524 1167, 1253, 110, 1255, 113, 42, 111, 1255, 110, 110,
2525 1202, 110, 49, 1284, 1285, 110, 677, 110, 110, 60,
2526 57, 58, 60, 1202, 110, 898, 1108, 1385, 110, 1418,
2527 63, 3, 4, 5, 113, 1202, 48, 698, 110, 110,
2528 701, 110, 435, 97, 1249, 55, 1167, 57, 58, 1254,
2529 34, 1256, 89, 110, 110, 110, 65, 1249, 1263, 1388,
2530 1389, 3, 4, 5, 1256, 1256, 110, 1049, 1339, 63,
2531 1249, 1263, 1263, 113, 1198, 110, 110, 1256, 1202, 110,
2532 110, 1202, 1249, 55, 1263, 57, 58, 59, 63, 1256,
2533 446, 3, 4, 5, 61, 61, 1263, 3, 4, 5,
2534 6, 457, 284, 16, 9, 61, 94, 1, 94, 3,
2535 4, 5, 6, 61, 8, 57, 58, 1030, 1031, 1032,
2536 1202, 61, 304, 81, 82, 83, 84, 85, 1249, 94,
2537 94, 1249, 3, 4, 5, 1256, 42, 17, 1051, 1052,
2538 1053, 61, 1263, 49, 99, 57, 58, 109, 42, 110,
2539 61, 57, 58, 110, 1340, 49, 110, 1030, 1031, 1032,
2540 110, 55, 11, 57, 58, 61, 61, 1419, 94, 60,
2541 1418, 1376, 1377, 110, 61, 1380, 65, 1448, 1051, 1052,
2542 1053, 110, 1164, 89, 1376, 1390, 57, 58, 1380, 1380,
2543 11, 584, 61, 61, 110, 89, 11, 1376, 591, 1404,
2544 61, 1380, 1407, 1389, 1390, 1410, 3, 4, 5, 1376,
2545 1377, 0, 0, 1380, 0, 2, 1421, 417, 1410, 1410,
2546 365, 1388, 1389, 859, 165, 1434, 165, 939, 933, 1421,
2547 1421, 1410, 1372, 1040, 31, 529, 1441, 1404, 1522, 1254,
2548 1407, 852, 1421, 1410, 847, 427, 428, 225, 1068, 1441,
2549 1441, 1108, 48, 435, 1421, 1376, 1377, 664, 55, 1380,
2550 57, 58, 1441, 1245, 1469, 924, 933, 1472, 939, 614,
2551 1388, 1389, 1200, 845, 1441, 566, 329, 187, 939, 123,
2552 1472, 1472, 1256, 1404, 945, 1168, 1407, 1480, 681, 1410,
2553 1424, 87, 88, 1472, 1494, 1455, 92, 93, 94, 95,
2554 1421, 1496, 1469, 907, -1, 1472, 1177, 7, 8, 9,
2555 -1, -1, -1, -1, 14, -1, -1, 1522, 500, -1,
2556 1441, -1, -1, -1, -1, -1, 1308, -1, 721, -1,
2557 1522, 1522, 32, 726, -1, -1, -1, 37, -1, 3,
2558 4, 5, 6, 1522, -1, 701, 46, 529, 1469, -1,
2559 532, 1472, -1, 535, 536, 1522, 538, 539, 540, 541,
2560 542, 543, 544, 545, 546, 547, 548, 549, 550, 551,
2561 552, 553, 554, 555, 556, -1, -1, -1, 42, -1,
2562 562, -1, 564, 565, -1, 49, -1, -1, -1, -1,
2563 -1, -1, -1, 57, 58, 106, 107, -1, 3, 4,
2564 5, 1522, 7, -1, -1, -1, 3, 4, 5, 591,
2565 7, 8, 9, 428, -1, -1, 598, 1078, 1079, -1,
2566 435, 12, 180, 181, 182, 89, 31, 1340, -1, -1,
2567 -1, -1, -1, 38, 616, 617, 27, 28, -1, 832,
2568 37, 32, -1, 836, -1, -1, 1107, -1, -1, -1,
2569 55, -1, 57, 58, -1, -1, -1, 48, 55, -1,
2570 57, 58, 59, -1, -1, -1, 859, 1340, -1, 60,
2571 61, 864, 63, 696, 65, 1388, 1389, 1390, -1, -1,
2572 -1, -1, 664, -1, -1, 500, -1, -1, -1, -1,
2573 -1, 3, 4, 5, 6, -1, -1, 720, -1, -1,
2574 -1, -1, 725, 94, 95, 898, -1, 98, 105, 106,
2575 107, -1, -1, -1, -1, 1388, 1389, 1390, -1, 110,
2576 27, 28, -1, -1, -1, 32, -1, -1, -1, -1,
2577 42, -1, 1193, 1194, -1, 1196, 1197, -1, 1199, -1,
2578 722, 723, 724, 55, -1, 57, 58, 562, -1, 564,
2579 565, 63, -1, 60, 61, -1, -1, 739, 65, 71,
2580 -1, -1, -1, 956, -1, 958, -1, -1, -1, 81,
2581 4, 5, -1, 7, 8, 9, 591, 89, 12, 761,
2582 14, -1, 94, 598, -1, -1, 3, 4, 5, 945,
2583 7, 8, 9, 1254, 1255, 29, -1, 31, 32, -1,
2584 -1, -1, 313, 37, 827, -1, 829, -1, -1, -1,
2585 -1, -1, 46, 1274, 1275, -1, 798, 799, -1, -1,
2586 -1, 55, -1, 57, 58, -1, 4, -1, -1, -1,
2587 812, -1, 814, -1, 816, -1, 14, -1, -1, 1032,
2588 57, 58, -1, -1, -1, -1, -1, 25, 26, -1,
2589 -1, -1, -1, 31, 32, -1, 34, -1, 36, -1,
2590 1053, -1, 844, 41, 98, -1, 4, 5, -1, -1,
2591 -1, 9, 854, -1, -1, -1, 54, -1, 56, 437,
2592 1073, 439, -1, 441, 442, 443, 64, -1, -1, -1,
2593 -1, 873, 1085, 71, 452, 1356, 1357, 1358, 880, -1,
2594 7, 8, 9, -1, 82, 83, -1, 14, -1, -1,
2595 48, -1, -1, -1, -1, 93, 898, 55, -1, 57,
2596 58, 432, 1078, 1079, 739, 32, -1, 105, -1, -1,
2597 37, -1, 955, 71, 957, 1396, 1397, -1, -1, 46,
2598 -1, -1, -1, 81, -1, -1, -1, -1, 930, -1,
2599 128, 1107, -1, 91, 61, 133, 94, 95, -1, 137,
2600 138, -1, -1, -1, -1, 947, 144, -1, -1, 147,
2601 148, 106, 107, 151, 152, 153, -1, -1, -1, -1,
2602 -1, -1, -1, -1, 799, -1, 1009, 165, -1, -1,
2603 -1, 502, 974, 975, 505, -1, 978, 812, 509, 814,
2604 -1, 816, 180, 181, 182, 7, 8, 9, -1, -1,
2605 1471, 522, 14, -1, -1, -1, 3, 4, 5, 6,
2606 -1, -1, 533, -1, -1, -1, 537, -1, -1, -1,
2607 32, 209, -1, -1, -1, 37, -1, 1193, 1194, 854,
2608 1196, 1197, -1, 1199, 46, -1, 224, -1, -1, -1,
2609 -1, -1, 563, -1, 232, 42, -1, -1, 569, 61,
2610 1042, -1, 1044, -1, 1046, 880, 244, 1049, 55, -1,
2611 57, 58, 3, 4, 5, 6, 1058, 1059, 9, -1,
2612 -1, 1063, 1064, 898, 71, 77, 78, 79, 80, 81,
2613 82, 83, 84, 85, 81, -1, -1, -1, -1, -1,
2614 -1, -1, 89, -1, 282, 283, 1088, 94, -1, -1,
2615 -1, 42, -1, -1, -1, -1, -1, 48, 1274, 1275,
2616 3, 4, 5, 1146, 55, -1, 57, 58, -1, -1,
2617 688, 689, -1, 691, 3, 4, 5, 6, -1, -1,
2618 71, -1, 1124, -1, 1126, -1, -1, 325, -1, -1,
2619 81, 329, -1, 331, 332, 333, 39, 40, 89, 42,
2620 91, -1, 1185, 94, 95, -1, 1189, -1, -1, 1151,
2621 348, -1, 55, 42, 57, 58, -1, -1, 313, -1,
2622 49, 1204, 1205, -1, -1, -1, -1, 365, 57, 58,
2623 -1, -1, -1, -1, -1, -1, -1, 1220, -1, 1181,
2624 1356, 1357, 1358, -1, -1, -1, -1, -1, 386, 1191,
2625 1192, 1404, 81, -1, 392, -1, 3, 4, 5, 6,
2626 89, -1, 9, -1, -1, 403, -1, 1042, 406, 1044,
2627 -1, 1046, 1214, 411, 81, -1, -1, 415, -1, -1,
2628 1396, 1397, 3, 4, 5, 6, -1, -1, -1, -1,
2629 -1, -1, -1, -1, -1, 42, -1, 392, 1240, 437,
2630 -1, 439, -1, 441, 442, 443, -1, -1, 55, 447,
2631 57, 58, 1295, 1296, 452, -1, -1, 455, -1, -1,
2632 -1, 42, -1, -1, 71, -1, -1, -1, 49, -1,
2633 -1, -1, 803, -1, 81, -1, 57, 58, 1280, -1,
2634 435, -1, 89, -1, 862, 863, 864, 94, -1, -1,
2635 -1, -1, 159, -1, -1, 1471, -1, -1, -1, 1301,
2636 81, -1, -1, -1, -1, 836, 1349, 1350, 89, -1,
2637 -1, 178, 510, 511, 512, 513, 1151, -1, -1, -1,
2638 898, -1, -1, -1, 191, 73, 74, 75, 76, 77,
2639 78, 79, 80, 81, 82, 83, 84, 85, 1340, -1,
2640 3, 4, 5, 6, -1, -1, 9, 502, -1, -1,
2641 505, -1, 1354, 1355, 509, 510, 511, 512, 513, -1,
2642 938, 1363, -1, -1, -1, -1, -1, 522, 566, -1,
2643 568, -1, -1, -1, -1, -1, 1378, -1, 533, 42,
2644 -1, 579, -1, 581, 582, 48, 584, -1, 919, -1,
2645 -1, -1, 55, 591, 57, 58, -1, 595, -1, -1,
2646 -1, -1, -1, -1, -1, -1, -1, -1, 71, -1,
2647 565, -1, -1, -1, -1, -1, -1, -1, 81, -1,
2648 -1, -1, -1, -1, -1, -1, 89, -1, 91, 584,
2649 -1, 94, 95, -1, -1, -1, 591, -1, -1, -1,
2650 -1, 639, 640, 641, 642, 643, 644, -1, -1, -1,
2651 1028, 1029, 1030, 1031, 1032, -1, -1, -1, 1036, -1,
2652 -1, -1, 3, 4, 5, 6, -1, -1, 9, -1,
2653 -1, -1, -1, 1051, 1052, 1053, -1, -1, -1, 677,
2654 -1, -1, -1, 681, -1, -1, -1, -1, -1, -1,
2655 688, 689, -1, 691, -1, -1, -1, -1, -1, -1,
2656 -1, 42, -1, -1, -1, 1340, -1, 48, 1510, -1,
2657 3, 4, 5, 6, 55, -1, 57, 58, 716, -1,
2658 -1, -1, 1053, 721, -1, -1, 681, -1, 726, -1,
2659 71, -1, -1, -1, -1, 733, 734, 735, -1, -1,
2660 81, -1, -1, -1, -1, -1, -1, 745, 89, 42,
2661 91, -1, -1, 94, 95, -1, 49, -1, -1, -1,
2662 -1, -1, -1, -1, 57, 58, 721, -1, -1, -1,
2663 -1, 726, -1, -1, -1, -1, 1154, 1155, 445, 1157,
2664 -1, -1, -1, 450, -1, -1, -1, -1, 81, 1120,
2665 1121, 1122, 1123, -1, -1, -1, 89, 795, -1, -1,
2666 1131, -1, -1, -1, -1, 3, 4, 5, 6, 476,
2667 -1, 9, -1, -1, 481, -1, -1, 1195, -1, 817,
2668 -1, 819, -1, -1, -1, -1, 493, 494, 826, 496,
2669 -1, -1, 830, -1, 832, -1, 834, 835, 836, -1,
2670 795, -1, -1, 841, 42, -1, -1, -1, -1, -1,
2671 48, -1, -1, -1, -1, -1, -1, 55, -1, 57,
2672 58, 859, -1, 861, 862, 863, 864, -1, -1, -1,
2673 -1, 826, -1, 71, -1, -1, -1, 832, -1, -1,
2674 4, 836, -1, 81, -1, -1, -1, -1, -1, -1,
2675 -1, 89, -1, 91, -1, -1, 94, 95, -1, -1,
2676 898, -1, 26, -1, 859, -1, 861, 31, 32, 864,
2677 -1, -1, 36, 1244, 912, -1, -1, 41, -1, -1,
2678 587, 588, -1, -1, -1, 592, -1, -1, -1, 927,
2679 -1, -1, 56, 931, -1, 933, -1, -1, -1, -1,
2680 938, 939, 940, 898, -1, -1, 4, -1, -1, -1,
2681 -1, -1, -1, -1, -1, -1, 14, 912, 956, -1,
2682 958, 79, 1340, -1, 919, -1, 24, 25, 26, 93,
2683 -1, -1, -1, 31, 32, -1, 34, -1, 36, -1,
2684 -1, -1, -1, 41, -1, 103, -1, -1, -1, -1,
2685 -1, 989, 990, -1, 992, 1326, 54, -1, 56, -1,
2686 -1, 956, -1, 958, -1, -1, 64, -1, -1, -1,
2687 1388, 1389, 1390, 71, 132, -1, -1, -1, -1, -1,
2688 144, -1, -1, -1, 148, 83, -1, -1, 146, -1,
2689 1028, 1029, 1030, 1031, 1032, 93, -1, -1, 1036, -1,
2690 -1, 165, -1, -1, -1, 1376, 1377, -1, -1, -1,
2691 -1, -1, -1, 1051, 1052, 1053, 180, 181, -1, 1390,
2692 727, -1, 729, -1, -1, -1, -1, -1, -1, -1,
2693 128, -1, 190, -1, -1, 1073, 1407, 1032, -1, 137,
2694 138, -1, -1, -1, -1, -1, 144, 1085, -1, -1,
2695 148, -1, -1, 151, 152, 153, -1, -1, 1053, -1,
2696 1098, -1, -1, -1, -1, 223, -1, 165, -1, -1,
2697 1108, -1, -1, -1, -1, -1, -1, -1, 1073, -1,
2698 244, -1, 180, 181, 182, -1, -1, -1, -1, 247,
2699 1085, -1, -1, -1, 801, 802, 1467, 804, 1469, -1,
2700 4, 5, -1, 7, 8, 9, -1, -1, 12, -1,
2701 14, 209, -1, -1, -1, -1, 1154, 1155, -1, 1157,
2702 -1, -1, 1493, -1, 831, 29, -1, 31, 32, -1,
2703 -1, -1, -1, 37, -1, -1, -1, 1508, -1, 1177,
2704 -1, -1, 46, -1, 48, -1, 244, -1, -1, -1,
2705 -1, 55, -1, 57, 58, -1, -1, 1195, -1, 866,
2706 -1, -1, 1200, -1, 1202, -1, -1, 71, 3, 4,
2707 5, 6, -1, -1, -1, -1, -1, 81, -1, 337,
2708 -1, -1, 1177, -1, 282, 283, -1, 91, -1, -1,
2709 94, 95, -1, -1, 98, 74, 75, 76, 77, 78,
2710 79, 80, 81, 82, 83, 84, 85, 42, -1, 3,
2711 4, 5, 6, 48, -1, 1253, 1254, 1255, -1, -1,
2712 55, -1, 57, 58, -1, -1, -1, 325, -1, -1,
2713 -1, 329, -1, 331, 332, 333, 71, -1, -1, 403,
2714 338, 399, 406, -1, -1, -1, 81, 411, 42, -1,
2715 348, 415, -1, -1, 89, -1, 91, -1, -1, 94,
2716 95, 55, -1, 57, 58, -1, -1, 365, -1, 63,
2717 -1, 4, 5, 437, -1, 439, 9, 71, -1, 4,
2718 5, -1, -1, 8, 9, -1, -1, 81, 452, 14,
2719 -1, -1, -1, -1, 392, 89, -1, 1004, -1, -1,
2720 94, -1, 1340, -1, 29, 403, 31, -1, 406, -1,
2721 468, -1, 37, 411, -1, 48, -1, 415, -1, -1,
2722 -1, 46, 55, -1, 57, 58, -1, -1, 1035, -1,
2723 55, -1, 57, 58, 59, -1, -1, 495, 71, 437,
2724 -1, 439, -1, 441, 442, 443, -1, -1, 81, 447,
2725 1388, 1389, 1390, -1, 452, -1, -1, 455, 91, -1,
2726 -1, 94, 95, -1, -1, 1072, 1404, -1, -1, 94,
2727 -1, -1, 470, -1, -1, -1, -1, 1084, -1, -1,
2728 -1, 1419, -1, -1, -1, -1, -1, -1, -1, -1,
2729 -1, -1, -1, -1, 1, 1390, 3, 4, 5, 6,
2730 7, 8, 9, -1, 1111, -1, -1, 14, 1115, 1404,
2731 -1, -1, 510, 511, 512, 513, -1, -1, -1, -1,
2732 578, -1, 29, -1, 31, 32, 33, -1, -1, -1,
2733 37, 38, -1, -1, -1, 42, 594, -1, -1, 46,
2734 47, 1148, 49, -1, -1, -1, -1, -1, 55, -1,
2735 57, 58, -1, -1, 61, -1, 63, -1, -1, -1,
2736 -1, -1, -1, -1, 71, -1, -1, -1, 566, -1,
2737 568, -1, -1, -1, 81, -1, 640, -1, -1, -1,
2738 -1, -1, 89, 581, 582, -1, 584, 94, -1, -1,
2739 -1, -1, -1, 591, -1, -1, -1, -1, -1, 1206,
2740 1207, -1, -1, -1, 111, 603, -1, -1, -1, 3,
2741 4, 5, 6, -1, -1, -1, -1, 681, -1, -1,
2742 -1, -1, -1, -1, 688, 689, -1, 691, -1, -1,
2743 -1, -1, -1, -1, -1, -1, 634, -1, -1, -1,
2744 -1, 639, 640, 641, 642, 643, 644, -1, 42, -1,
2745 -1, -1, 716, -1, -1, -1, -1, -1, -1, 657,
2746 -1, 55, 1269, 57, 58, -1, 1273, 61, 1, -1,
2747 3, 4, 5, 6, 7, 8, 9, 71, -1, 677,
2748 -1, 14, -1, 681, -1, -1, -1, 81, -1, -1,
2749 688, 689, -1, 691, -1, 89, 29, -1, 31, 32,
2750 94, -1, -1, -1, 37, -1, -1, -1, -1, 42,
2751 -1, -1, -1, 46, 47, -1, 49, -1, 716, -1,
2752 -1, -1, 55, 721, 57, 58, -1, -1, 726, -1,
2753 63, 3, 4, 5, 6, 733, 734, 735, 71, 4,
2754 5, -1, -1, 8, 9, -1, -1, 745, 81, 14,
2755 -1, -1, -1, -1, -1, -1, 89, -1, -1, -1,
2756 -1, 94, -1, -1, 29, -1, 31, -1, -1, -1,
2757 42, -1, 37, 4, -1, -1, -1, 49, -1, -1,
2758 -1, 46, 840, 48, 842, 57, 58, -1, -1, -1,
2759 55, -1, 57, 58, -1, 26, -1, 795, 862, 863,
2760 31, 32, -1, 34, -1, 36, 71, -1, -1, 81,
2761 41, 869, -1, -1, -1, -1, 81, 89, -1, 817,
2762 -1, 819, -1, 54, -1, 56, 91, -1, 826, 94,
2763 95, -1, 830, -1, 832, -1, 834, 835, 836, -1,
2764 -1, -1, -1, 841, -1, -1, -1, -1, 79, -1,
2765 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2766 -1, 859, 93, 861, 862, 863, 864, 931, -1, 933,
2767 -1, -1, -1, -1, 938, 939, 940, 3, 4, 5,
2768 6, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2769 -1, -1, -1, -1, 4, 5, -1, 128, 8, 9,
2770 898, 132, 133, -1, 14, -1, 137, -1, -1, -1,
2771 -1, -1, -1, 144, 912, 146, 42, 148, -1, -1,
2772 151, 152, 153, 49, -1, -1, 924, 37, -1, 927,
2773 -1, 57, 58, 931, 165, 933, 46, -1, 48, -1,
2774 938, 939, 940, -1, -1, 55, -1, 57, 58, 180,
2775 181, 182, -1, -1, -1, 81, -1, 1015, 956, 190,
2776 958, 71, -1, 89, 1028, 1029, -1, -1, -1, -1,
2777 -1, 81, 1036, -1, -1, -1, 1034, -1, 209, -1,
2778 -1, 91, -1, -1, 94, 95, -1, -1, -1, -1,
2779 -1, 989, 990, -1, 992, 68, 69, 70, 71, 72,
2780 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
2781 83, 84, 85, 244, -1, -1, -1, 3, 4, 5,
2782 6, 7, 8, 9, -1, -1, 12, -1, 14, -1,
2783 1028, 1029, 1030, 1031, 1032, -1, -1, -1, 1036, 1097,
2784 -1, -1, 1040, 29, 1108, 31, 32, -1, -1, -1,
2785 -1, 37, -1, 1051, 1052, 1053, 42, -1, -1, -1,
2786 46, -1, 48, -1, -1, -1, -1, -1, -1, 55,
2787 1068, 57, 58, -1, -1, 1073, 4, 5, -1, -1,
2788 -1, 9, 313, -1, -1, 71, -1, 1085, -1, -1,
2789 1154, 1155, -1, 1157, -1, 81, -1, -1, 329, -1,
2790 -1, -1, -1, 89, -1, 91, 337, -1, 94, 95,
2791 1108, -1, 98, -1, -1, -1, -1, 348, -1, -1,
2792 48, -1, -1, -1, -1, -1, -1, 55, -1, 57,
2793 58, 1195, -1, -1, 365, -1, 1200, -1, 1202, -1,
2794 1198, -1, -1, 71, -1, -1, -1, -1, -1, -1,
2795 -1, -1, -1, 81, -1, 386, 1154, 1155, -1, 1157,
2796 -1, -1, -1, 91, -1, -1, 94, 95, -1, -1,
2797 -1, -1, 403, -1, -1, 406, -1, -1, -1, 1177,
2798 411, -1, -1, -1, 415, 331, 332, 333, -1, -1,
2799 1254, -1, -1, -1, -1, -1, -1, 1195, -1, -1,
2800 -1, -1, 1200, -1, 1202, -1, 437, -1, 439, -1,
2801 441, 442, 443, -1, -1, -1, 447, -1, -1, -1,
2802 -1, 452, -1, -1, 455, 70, 71, 72, 73, 74,
2803 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
2804 85, 1, -1, 3, 4, 5, 6, 7, 8, 9,
2805 -1, -1, 12, -1, 14, 1253, 1254, 1255, -1, -1,
2806 -1, -1, -1, -1, -1, 25, -1, 27, 28, -1,
2807 -1, 502, 32, -1, 505, -1, -1, 37, -1, -1,
2808 -1, -1, 42, -1, -1, -1, 46, -1, 48, 520,
2809 521, 522, -1, -1, -1, 55, -1, 57, 58, 59,
2810 60, 61, 533, 63, 64, 65, 66, 67, 68, 69,
2811 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
2812 80, 81, 82, 83, 84, 85, -1, 87, 88, 89,
2813 -1, 91, 92, 93, 94, 95, 96, -1, 98, 99,
2814 -1, -1, 1340, 4, 104, -1, -1, 578, -1, 109,
2815 110, 111, -1, 113, -1, -1, -1, -1, -1, -1,
2816 591, -1, -1, -1, -1, 26, -1, -1, -1, -1,
2817 31, 32, -1, 34, -1, 36, 3, 4, 5, 6,
2818 41, -1, 9, -1, -1, -1, -1, -1, -1, -1,
2819 1388, 1389, 1390, 54, -1, 56, -1, -1, -1, -1,
2820 -1, -1, -1, -1, -1, -1, 1404, -1, 639, 640,
2821 641, 642, -1, -1, -1, 42, -1, -1, -1, -1,
2822 -1, 1419, -1, -1, -1, -1, -1, 34, 55, -1,
2823 57, 58, 93, -1, -1, 581, 582, -1, 584, -1,
2824 -1, -1, -1, -1, 71, 591, 677, 54, -1, -1,
2825 681, -1, -1, -1, 81, -1, -1, 688, 689, -1,
2826 691, -1, 89, -1, -1, -1, -1, 94, -1, -1,
2827 -1, -1, -1, -1, 4, 5, 137, -1, 8, 9,
2828 -1, -1, -1, 144, 14, 716, -1, 148, -1, -1,
2829 151, 152, 153, 639, -1, 641, 642, -1, 644, -1,
2830 3, 4, 5, 6, 165, -1, 9, 37, 739, -1,
2831 -1, -1, -1, -1, -1, -1, 46, -1, 48, 180,
2832 181, 182, -1, -1, -1, 55, -1, 57, 58, -1,
2833 137, 677, -1, -1, -1, -1, -1, -1, -1, 42,
2834 -1, 71, -1, -1, 151, 152, 153, -1, 209, -1,
2835 -1, 81, 55, -1, 57, 58, 3, 4, 5, 6,
2836 -1, 91, 9, -1, 94, 95, -1, -1, 71, -1,
2837 -1, -1, -1, 180, 181, 182, -1, -1, 81, -1,
2838 -1, -1, -1, 244, -1, -1, 89, -1, -1, -1,
2839 -1, 94, -1, -1, -1, 42, -1, -1, -1, 745,
2840 -1, -1, 209, 834, 835, 836, -1, -1, 55, 840,
2841 57, 58, -1, -1, -1, -1, -1, -1, -1, -1,
2842 -1, -1, -1, -1, 71, -1, -1, -1, -1, -1,
2843 -1, 862, 863, 864, 81, -1, -1, -1, 869, -1,
2844 -1, -1, 89, 331, 332, 333, -1, 94, 69, 70,
2845 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
2846 81, 82, 83, 84, 85, -1, -1, 898, -1, -1,
2847 -1, 817, -1, 819, -1, -1, 283, 338, -1, -1,
2848 -1, -1, -1, -1, 830, -1, -1, 348, 834, 835,
2849 836, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2850 931, -1, 933, -1, -1, -1, -1, 938, 939, 940,
2851 -1, -1, -1, -1, -1, -1, 862, 863, 864, -1,
2852 -1, -1, -1, 54, 331, 332, 333, 72, 73, 74,
2853 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
2854 85, 348, 403, -1, -1, 406, -1, -1, 79, -1,
2855 411, 82, 898, -1, 415, 71, 72, 73, 74, 75,
2856 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
2857 -1, -1, 103, -1, 105, -1, 437, -1, 439, -1,
2858 441, 442, 443, -1, 1015, -1, 447, -1, -1, -1,
2859 -1, 452, -1, -1, 455, -1, -1, 1028, 1029, 1030,
2860 1031, 1032, -1, 1034, -1, 1036, 137, -1, -1, -1,
2861 -1, -1, -1, 3, 4, 5, 6, 7, 8, 9,
2862 1051, 1052, 1053, -1, 14, -1, -1, -1, -1, -1,
2863 437, -1, 439, -1, 441, 442, 443, -1, -1, 29,
2864 447, 31, 32, -1, -1, 452, -1, 37, 455, 180,
2865 181, 182, 42, -1, -1, -1, 46, -1, -1, 190,
2866 -1, -1, -1, -1, -1, 55, 1097, 57, 58, -1,
2867 -1, 61, -1, -1, -1, -1, -1, 1108, 209, -1,
2868 -1, 71, 1028, 1029, 1030, 1031, 1032, -1, -1, -1,
2869 1036, 81, -1, 581, 582, -1, -1, -1, -1, 89,
2870 -1, 232, -1, -1, 94, 1051, 1052, 1053, 3, 4,
2871 5, 6, -1, -1, 9, -1, 247, -1, 579, -1,
2872 -1, -1, -1, 1154, 1155, -1, 1157, -1, -1, -1,
2873 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2874 -1, -1, -1, -1, -1, -1, -1, 42, -1, -1,
2875 -1, 639, -1, 641, 642, -1, 644, -1, -1, -1,
2876 55, 568, 57, 58, 1195, -1, -1, -1, -1, 1200,
2877 -1, 1202, -1, -1, 581, 582, 71, 584, 639, 640,
2878 641, 642, -1, -1, 591, -1, 81, -1, -1, 677,
2879 -1, -1, -1, -1, 89, -1, -1, -1, -1, 94,
2880 -1, -1, -1, -1, -1, -1, 337, 338, 1154, 1155,
2881 -1, 1157, 3, 4, 5, 6, 677, 348, 9, -1,
2882 681, -1, 1253, 1254, 1255, -1, -1, 688, 689, -1,
2883 691, -1, 639, -1, 641, 642, -1, 644, -1, 3,
2884 4, 5, 6, -1, -1, 9, -1, -1, -1, -1,
2885 -1, 42, -1, -1, -1, 716, -1, 745, -1, -1,
2886 -1, -1, -1, -1, 55, -1, 57, 58, -1, -1,
2887 677, -1, -1, -1, -1, -1, -1, -1, 42, -1,
2888 71, 688, 689, -1, 691, -1, -1, -1, -1, -1,
2889 81, 55, -1, 57, 58, -1, -1, -1, 89, -1,
2890 -1, -1, -1, 94, -1, -1, 437, 71, 439, 1340,
2891 441, 442, 443, -1, -1, -1, 447, 81, -1, -1,
2892 -1, 452, -1, -1, 455, 89, 733, 734, 735, 817,
2893 94, 819, -1, -1, -1, -1, -1, -1, 745, -1,
2894 4, 5, 830, -1, 8, 9, 834, 835, -1, -1,
2895 14, -1, -1, 3, 4, 5, 6, 1388, 1389, 1390,
2896 -1, -1, -1, -1, -1, 29, -1, 31, -1, -1,
2897 -1, -1, -1, 37, 862, 863, -1, -1, -1, -1,
2898 841, -1, 46, -1, -1, -1, -1, -1, 1419, -1,
2899 -1, 55, 42, 57, 58, -1, -1, -1, -1, -1,
2900 -1, 862, 863, 864, -1, 55, -1, 57, 58, -1,
2901 817, -1, 819, 63, -1, -1, -1, -1, -1, -1,
2902 -1, 71, -1, 830, -1, -1, -1, 834, 835, 836,
2903 94, 81, -1, -1, -1, -1, -1, 898, -1, 89,
2904 -1, -1, -1, -1, 94, 1, -1, 3, 4, 5,
2905 6, 7, 8, 9, -1, 862, 863, 864, 14, -1,
2906 -1, -1, -1, 594, 595, -1, -1, -1, -1, -1,
2907 931, -1, 933, 29, -1, 31, 32, 938, 939, 940,
2908 -1, 37, -1, -1, -1, -1, 42, -1, -1, -1,
2909 46, 898, -1, 49, -1, -1, -1, -1, -1, 55,
2910 -1, 57, 58, -1, -1, 61, -1, -1, 639, -1,
2911 641, 642, -1, -1, -1, 71, -1, -1, -1, -1,
2912 -1, -1, -1, -1, -1, 81, -1, -1, -1, -1,
2913 -1, 938, -1, 89, -1, -1, -1, -1, 94, -1,
2914 1028, 1029, 1030, 1031, -1, -1, 677, -1, 1036, -1,
2915 3, 4, 5, 6, -1, -1, 9, 688, 689, -1,
2916 691, -1, -1, 1051, 1052, -1, -1, 1028, 1029, 1030,
2917 1031, 1032, -1, -1, -1, 1036, -1, -1, -1, -1,
2918 -1, -1, 989, 990, 715, 992, -1, -1, -1, 42,
2919 1051, 1052, 1053, -1, -1, -1, -1, -1, -1, -1,
2920 -1, -1, 55, -1, 57, 58, -1, -1, -1, 3,
2921 4, 5, 6, 7, 8, 9, -1, -1, 71, -1,
2922 14, 1028, 1029, 1030, 1031, 1032, -1, -1, 81, 1036,
2923 -1, -1, -1, -1, -1, 29, 89, 31, 32, -1,
2924 -1, 94, -1, 37, 1051, 1052, 1053, 1108, 42, -1,
2925 -1, -1, 46, -1, 48, -1, -1, -1, -1, -1,
2926 -1, 55, -1, 57, 58, -1, 1154, 1155, -1, 1157,
2927 -1, -1, -1, -1, -1, -1, -1, 71, -1, -1,
2928 -1, -1, -1, -1, -1, -1, -1, 81, 3, 4,
2929 5, 6, -1, 1154, 1155, 89, 1157, 91, -1, -1,
2930 94, 95, 14, -1, -1, 3, 4, 5, 6, 840,
2931 841, 842, 24, 25, -1, -1, -1, -1, -1, 31,
2932 32, -1, 34, -1, -1, -1, -1, 42, -1, -1,
2933 -1, 862, 863, 864, 1195, -1, -1, -1, 869, 1200,
2934 55, 1202, 57, 58, 42, -1, 61, 1154, 1155, -1,
2935 1157, -1, 64, -1, -1, -1, 71, 55, -1, 57,
2936 58, -1, -1, -1, -1, -1, 81, 898, -1, -1,
2937 -1, -1, -1, 71, 89, -1, -1, -1, -1, 94,
2938 -1, -1, -1, 81, -1, -1, -1, -1, 1195, -1,
2939 -1, 89, 1253, 1254, 1255, -1, 94, 1, -1, 3,
2940 4, 5, 6, 7, 8, 9, -1, 938, -1, -1,
2941 14, 123, -1, 125, -1, -1, 128, -1, -1, -1,
2942 132, 133, -1, -1, -1, 29, -1, 31, 32, 33,
2943 -1, -1, 144, 37, 146, 147, 148, -1, 42, 151,
2944 152, 153, 46, 47, -1, 49, 1253, -1, 1255, -1,
2945 -1, 55, -1, 57, 58, -1, -1, 61, -1, 63,
2946 -1, -1, -1, -1, -1, -1, -1, 71, -1, -1,
2947 -1, 3, 4, 5, 6, -1, -1, 81, -1, 1340,
2948 -1, -1, -1, -1, 1015, 89, -1, -1, -1, -1,
2949 94, -1, -1, -1, -1, -1, -1, 1028, 1029, 1030,
2950 1031, 1032, -1, 1034, -1, 1036, -1, -1, -1, -1,
2951 42, 223, 224, -1, -1, -1, -1, -1, -1, -1,
2952 1051, 1052, 1053, 55, -1, 57, 58, 1388, 1389, 1390,
2953 -1, -1, 244, 1340, -1, -1, -1, -1, -1, 71,
2954 -1, -1, -1, -1, -1, -1, -1, -1, 1, 81,
2955 3, 4, 5, 6, 7, 8, 9, 89, 1419, -1,
2956 -1, 14, 94, -1, -1, -1, 1097, -1, -1, -1,
2957 -1, 283, -1, -1, -1, -1, 29, -1, 31, 32,
2958 33, 1388, 1389, 1390, 37, 38, -1, -1, -1, 42,
2959 -1, -1, -1, 46, 47, -1, 49, -1, -1, -1,
2960 -1, -1, 55, -1, 57, 58, -1, -1, 61, -1,
2961 63, -1, 1419, -1, -1, -1, -1, 329, 71, 331,
2962 332, -1, -1, 1154, 1155, -1, 1157, -1, 81, -1,
2963 -1, -1, -1, -1, -1, -1, 89, -1, -1, -1,
2964 -1, 94, -1, -1, -1, -1, -1, -1, -1, -1,
2965 -1, -1, -1, 365, -1, -1, -1, -1, 111, -1,
2966 -1, -1, -1, -1, 1195, -1, -1, -1, -1, -1,
2967 -1, -1, -1, -1, 386, 1, -1, 3, 4, 5,
2968 6, 7, 8, 9, -1, -1, -1, 399, 14, -1,
2969 -1, 403, -1, -1, 406, -1, -1, -1, -1, 411,
2970 -1, -1, -1, 29, -1, 31, 32, 33, -1, -1,
2971 -1, 37, 38, -1, -1, -1, 42, -1, -1, -1,
2972 46, 47, 1253, 49, 1255, -1, -1, -1, -1, 55,
2973 -1, 57, 58, -1, -1, 61, -1, 63, -1, 4,
2974 5, -1, 7, 8, 9, 71, -1, 12, -1, 14,
2975 -1, -1, -1, -1, -1, 81, 468, -1, 470, -1,
2976 -1, -1, -1, 89, 29, -1, 31, 32, 94, -1,
2977 -1, -1, 37, -1, -1, -1, -1, -1, -1, -1,
2978 -1, 46, -1, 495, -1, 111, -1, -1, -1, -1,
2979 55, -1, 57, 58, 1, -1, 3, 4, 5, 6,
2980 7, 8, 9, 10, 11, -1, 13, 14, 15, 1340,
2981 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
2982 27, 28, 29, 30, 31, 32, 33, -1, 35, 36,
2983 37, -1, 39, 40, 41, 42, 43, 44, -1, 46,
2984 -1, -1, -1, 50, 51, 52, 53, 54, 55, -1,
2985 57, 58, 59, -1, 61, 62, 568, 1388, 1389, 1390,
2986 -1, 68, -1, -1, 71, -1, 578, 579, -1, 581,
2987 582, -1, 79, 80, 81, -1, -1, -1, -1, -1,
2988 87, 88, 89, -1, -1, -1, -1, 94, 1419, 96,
2989 4, 5, -1, 7, 8, 9, -1, -1, -1, -1,
2990 14, -1, -1, -1, 111, 112, -1, -1, -1, -1,
2991 -1, -1, -1, -1, -1, 29, -1, 31, 32, -1,
2992 -1, -1, 634, 37, -1, -1, -1, -1, -1, -1,
2993 -1, 643, 46, -1, -1, -1, -1, -1, -1, -1,
2994 -1, 55, -1, 57, 58, 657, -1, -1, 1, -1,
2995 3, 4, 5, 6, 7, 8, 9, 10, 11, -1,
2996 13, 14, 15, -1, 17, 18, 19, 20, 21, 22,
2997 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
2998 33, -1, 35, 36, 37, -1, 39, 40, 41, 42,
2999 43, 44, -1, 46, -1, -1, -1, 50, 51, 52,
3000 53, 54, 55, 715, 57, 58, 59, -1, 61, 62,
3001 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3002 -1, 733, 734, 735, -1, -1, 79, 80, 81, -1,
3003 -1, -1, -1, 745, 87, 88, 89, -1, -1, -1,
3004 -1, 94, 1, 96, 3, 4, 5, 6, 7, 8,
3005 9, 10, 11, 12, 13, 14, -1, -1, -1, 112,
3006 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3007 29, 30, 31, 32, 33, -1, 35, 36, 37, -1,
3008 39, 40, 41, 42, 43, 44, -1, 46, -1, 48,
3009 -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
3010 59, -1, -1, 62, -1, 817, -1, 819, -1, 68,
3011 -1, -1, 71, -1, -1, -1, -1, -1, 830, -1,
3012 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
3013 89, -1, 91, -1, -1, 94, 95, -1, 1, 98,
3014 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
3015 13, 14, -1, 112, -1, -1, -1, -1, -1, -1,
3016 -1, -1, -1, -1, -1, -1, 29, 30, 31, 32,
3017 33, -1, 35, 36, 37, -1, 39, 40, 41, 42,
3018 43, 44, -1, 46, -1, 48, -1, 50, 51, 52,
3019 53, 54, 55, -1, 57, 58, 59, -1, -1, 62,
3020 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3021 -1, -1, 924, -1, -1, 927, 79, 80, 81, -1,
3022 -1, -1, -1, -1, 87, 88, 89, -1, 91, -1,
3023 -1, 94, 95, -1, -1, 98, -1, -1, -1, -1,
3024 -1, -1, -1, -1, -1, -1, -1, -1, -1, 112,
3025 -1, -1, -1, 1, -1, 3, 4, 5, 6, 7,
3026 8, 9, 10, 11, 12, 13, 14, -1, -1, -1,
3027 -1, -1, -1, -1, -1, -1, -1, 989, 990, -1,
3028 992, 29, 30, 31, 32, 33, -1, 35, 36, 37,
3029 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3030 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3031 58, -1, -1, -1, 62, -1, -1, -1, -1, -1,
3032 68, -1, -1, 71, -1, -1, -1, -1, 1040, -1,
3033 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3034 88, 89, -1, -1, -1, -1, 94, -1, -1, -1,
3035 98, -1, -1, -1, -1, -1, 1068, -1, -1, -1,
3036 -1, -1, 110, 1, 112, 3, 4, 5, 6, 7,
3037 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3038 -1, -1, -1, -1, -1, -1, 1098, -1, -1, -1,
3039 -1, 29, 30, 31, 32, 33, -1, 35, 36, 37,
3040 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3041 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3042 58, 59, -1, 61, 62, -1, -1, -1, -1, -1,
3043 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3044 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3045 88, 89, -1, -1, -1, 1, 94, 3, 4, 5,
3046 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3047 -1, -1, -1, -1, 112, -1, -1, -1, -1, -1,
3048 -1, -1, -1, 29, 30, 31, 1198, 33, 1200, 35,
3049 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3050 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3051 -1, 57, 58, 59, -1, -1, 62, -1, -1, -1,
3052 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3053 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3054 -1, 87, 88, 89, -1, -1, -1, -1, 94, 95,
3055 1, -1, 3, 4, 5, 6, -1, 8, 9, 10,
3056 11, -1, 13, 14, -1, 111, 112, -1, -1, -1,
3057 21, -1, -1, -1, -1, -1, -1, -1, 29, 30,
3058 31, -1, 33, -1, 35, 36, 37, -1, 39, 40,
3059 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
3060 51, 52, 53, 54, 55, -1, 57, 58, 59, -1,
3061 -1, 62, -1, -1, -1, -1, -1, 68, -1, -1,
3062 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3063 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
3064 -1, -1, 1, 94, 3, 4, 5, 6, -1, 8,
3065 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3066 111, 112, 21, -1, -1, -1, -1, -1, -1, -1,
3067 29, 30, 31, -1, 33, -1, 35, 36, 37, -1,
3068 39, 40, 41, 42, 43, 44, -1, 46, -1, -1,
3069 -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
3070 59, -1, -1, 62, -1, -1, -1, -1, -1, 68,
3071 -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
3072 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
3073 89, -1, -1, -1, 1, 94, 3, 4, 5, 6,
3074 -1, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3075 -1, -1, 111, 112, -1, -1, -1, -1, -1, -1,
3076 -1, -1, 29, 30, 31, -1, 33, -1, 35, 36,
3077 37, -1, 39, 40, 41, 42, 43, 44, -1, 46,
3078 -1, -1, -1, 50, 51, 52, 53, 54, 55, -1,
3079 57, 58, 59, -1, -1, 62, -1, -1, -1, -1,
3080 -1, 68, -1, -1, 71, -1, -1, -1, -1, -1,
3081 -1, -1, 79, 80, 81, -1, -1, -1, -1, -1,
3082 87, 88, 89, -1, -1, -1, -1, 94, 95, 1,
3083 -1, 3, 4, 5, 6, -1, 8, 9, 10, 11,
3084 -1, 13, 14, -1, -1, 112, -1, -1, -1, -1,
3085 -1, -1, -1, -1, -1, -1, -1, 29, 30, 31,
3086 -1, 33, -1, 35, 36, 37, -1, 39, 40, 41,
3087 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3088 52, 53, 54, 55, -1, 57, 58, 59, -1, -1,
3089 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3090 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3091 -1, -1, -1, -1, -1, 87, 88, 89, -1, -1,
3092 -1, -1, 94, -1, -1, 1, -1, 3, 4, 5,
3093 6, 103, 8, 9, 10, 11, -1, 13, 14, -1,
3094 112, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3095 -1, -1, -1, 29, 30, 31, -1, 33, -1, 35,
3096 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3097 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3098 -1, 57, 58, 59, -1, -1, 62, -1, -1, -1,
3099 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3100 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3101 -1, 87, 88, 89, -1, -1, -1, 1, 94, 3,
3102 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3103 14, -1, -1, -1, -1, -1, 112, -1, -1, -1,
3104 -1, -1, -1, -1, -1, 29, 30, 31, -1, 33,
3105 -1, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3106 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
3107 54, 55, -1, 57, 58, 59, -1, -1, 62, -1,
3108 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3109 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3110 -1, -1, -1, 87, 88, 89, -1, -1, -1, 1,
3111 94, 3, 4, 5, 6, -1, 8, 9, 10, 11,
3112 -1, 13, 14, -1, -1, -1, -1, -1, 112, -1,
3113 -1, -1, -1, -1, -1, -1, -1, 29, 30, 31,
3114 -1, 33, -1, 35, 36, 37, -1, 39, 40, 41,
3115 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3116 52, 53, 54, 55, -1, 57, 58, -1, -1, -1,
3117 62, 63, -1, -1, -1, -1, 68, -1, -1, 71,
3118 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3119 -1, -1, -1, -1, -1, 87, 88, 89, -1, -1,
3120 -1, 1, 94, 3, 4, 5, 6, -1, 8, 9,
3121 10, 11, -1, 13, 14, -1, -1, -1, -1, -1,
3122 112, -1, -1, -1, -1, -1, -1, -1, -1, 29,
3123 30, 31, -1, 33, -1, 35, 36, 37, -1, 39,
3124 40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
3125 50, 51, 52, 53, 54, 55, -1, 57, 58, 59,
3126 -1, -1, 62, -1, -1, -1, -1, -1, 68, -1,
3127 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3128 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3129 -1, -1, -1, 1, 94, 3, 4, 5, 6, -1,
3130 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3131 -1, -1, 112, -1, -1, -1, -1, -1, -1, -1,
3132 -1, 29, 30, 31, -1, 33, -1, 35, 36, 37,
3133 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3134 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3135 58, -1, -1, 61, 62, -1, -1, -1, -1, -1,
3136 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3137 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3138 88, 89, -1, -1, -1, 1, 94, 3, 4, 5,
3139 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3140 -1, -1, -1, -1, 112, -1, -1, -1, -1, -1,
3141 -1, -1, -1, 29, 30, 31, -1, 33, -1, 35,
3142 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3143 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3144 -1, 57, 58, -1, -1, -1, 62, -1, -1, -1,
3145 -1, -1, 68, 1, -1, 71, 4, 5, -1, -1,
3146 8, 9, -1, 79, 80, 81, 14, -1, -1, -1,
3147 -1, 87, 88, 89, -1, -1, -1, -1, 94, -1,
3148 -1, 29, -1, 31, -1, -1, -1, -1, -1, 37,
3149 -1, 39, 40, -1, 110, -1, 112, -1, 46, -1,
3150 48, -1, -1, -1, -1, -1, -1, 55, -1, 57,
3151 58, -1, 60, -1, -1, -1, 64, 65, 66, 67,
3152 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
3153 78, 79, 80, 81, 82, 83, 84, -1, -1, 87,
3154 88, 89, -1, -1, 92, -1, 1, 95, 3, 4,
3155 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3156 -1, -1, -1, -1, 112, -1, -1, -1, -1, -1,
3157 -1, -1, -1, -1, 29, 30, 31, -1, 33, -1,
3158 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3159 -1, 46, -1, -1, -1, 50, 51, 52, 53, 54,
3160 55, -1, 57, 58, -1, -1, -1, 62, -1, -1,
3161 -1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
3162 -1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
3163 -1, -1, 87, 88, 89, -1, -1, -1, 1, 94,
3164 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3165 13, 14, -1, -1, -1, -1, -1, 112, -1, -1,
3166 -1, -1, -1, -1, -1, -1, 29, 30, 31, -1,
3167 33, -1, 35, 36, 37, -1, 39, 40, 41, 42,
3168 43, 44, -1, 46, -1, -1, -1, 50, 51, 52,
3169 53, 54, 55, -1, 57, 58, -1, -1, -1, 62,
3170 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3171 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3172 -1, -1, -1, -1, 87, 88, 89, -1, -1, -1,
3173 1, 94, 3, 4, 5, 6, -1, 8, 9, 10,
3174 11, -1, 13, 14, -1, -1, -1, -1, -1, 112,
3175 -1, -1, -1, -1, -1, -1, -1, -1, 29, 30,
3176 31, -1, 33, -1, 35, 36, 37, -1, 39, 40,
3177 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
3178 51, 52, 53, 54, 55, -1, 57, 58, -1, -1,
3179 -1, 62, -1, -1, -1, -1, -1, 68, -1, -1,
3180 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3181 81, -1, -1, -1, -1, -1, 87, 88, 89, 3,
3182 4, 5, 6, 94, 8, 9, 10, 11, -1, 13,
3183 14, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3184 -1, 112, -1, -1, -1, 29, 30, 31, -1, 33,
3185 -1, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3186 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
3187 54, 55, -1, 57, 58, -1, -1, -1, 62, -1,
3188 -1, -1, -1, -1, 68, -1, 1, 71, 3, 4,
3189 5, 6, 7, 8, 9, 79, 80, 81, -1, 14,
3190 -1, -1, -1, 87, 88, 89, -1, -1, -1, -1,
3191 94, -1, -1, -1, 29, -1, 31, 32, 33, -1,
3192 -1, -1, 37, 38, -1, -1, -1, 42, 112, 113,
3193 -1, 46, 47, -1, 49, -1, -1, -1, -1, -1,
3194 55, -1, 57, 58, -1, -1, 61, -1, 63, -1,
3195 -1, -1, -1, -1, -1, -1, 71, -1, -1, -1,
3196 -1, -1, -1, -1, -1, -1, 81, -1, -1, -1,
3197 -1, -1, -1, -1, 89, -1, -1, -1, -1, 94,
3198 -1, -1, -1, 3, 4, 5, 6, 7, 8, 9,
3199 10, 11, -1, 13, 14, 15, 111, 17, 18, 19,
3200 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
3201 30, 31, 32, 33, -1, 35, 36, 37, -1, 39,
3202 40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
3203 50, 51, 52, 53, 54, 55, -1, 57, 58, 59,
3204 -1, 61, 62, -1, -1, -1, -1, -1, 68, -1,
3205 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3206 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3207 -1, -1, -1, -1, 94, -1, 96, -1, -1, -1,
3208 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3209 -1, 111, 112, 3, 4, 5, 6, 7, 8, 9,
3210 10, 11, -1, 13, 14, 15, -1, 17, 18, 19,
3211 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
3212 30, 31, 32, 33, -1, 35, 36, 37, -1, 39,
3213 40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
3214 50, 51, 52, 53, 54, 55, -1, 57, 58, 59,
3215 -1, 61, 62, -1, -1, -1, -1, -1, 68, -1,
3216 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3217 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3218 -1, -1, -1, -1, 94, -1, 96, -1, -1, 3,
3219 4, 5, 6, 7, 8, 9, 10, 11, -1, 13,
3220 14, 15, 112, 17, 18, 19, 20, 21, 22, 23,
3221 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
3222 -1, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3223 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
3224 54, 55, -1, 57, 58, 59, -1, 61, 62, -1,
3225 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3226 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3227 -1, -1, -1, 87, 88, 89, -1, -1, -1, -1,
3228 94, -1, 96, -1, -1, 3, 4, 5, 6, 7,
3229 8, 9, 10, 11, -1, 13, 14, 15, 112, 17,
3230 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
3231 28, 29, 30, 31, 32, 33, -1, 35, 36, 37,
3232 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3233 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3234 58, -1, -1, 61, 62, -1, -1, -1, -1, -1,
3235 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3236 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3237 88, 89, -1, -1, -1, -1, 94, -1, 96, 3,
3238 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
3239 14, -1, -1, -1, 112, -1, -1, -1, -1, -1,
3240 -1, -1, -1, -1, -1, 29, 30, 31, 32, 33,
3241 -1, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3242 44, -1, 46, -1, 48, -1, 50, 51, 52, 53,
3243 54, 55, -1, 57, 58, -1, -1, -1, 62, -1,
3244 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3245 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3246 -1, -1, -1, 87, 88, 89, -1, 91, -1, -1,
3247 94, 95, -1, -1, 98, 3, 4, 5, 6, 7,
3248 8, 9, 10, 11, 12, 13, 14, -1, 112, -1,
3249 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3250 -1, 29, 30, 31, 32, 33, -1, 35, 36, 37,
3251 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3252 48, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3253 58, -1, -1, -1, 62, -1, -1, -1, -1, -1,
3254 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3255 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3256 88, 89, -1, 91, -1, -1, 94, 95, -1, -1,
3257 98, 3, 4, 5, 6, -1, 8, 9, 10, 11,
3258 -1, 13, 14, -1, 112, -1, -1, -1, -1, -1,
3259 -1, -1, -1, -1, -1, -1, -1, 29, 30, 31,
3260 -1, 33, -1, 35, 36, 37, -1, 39, 40, 41,
3261 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3262 52, 53, 54, 55, -1, 57, 58, -1, -1, -1,
3263 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3264 -1, -1, -1, -1, 76, -1, 78, 79, 80, 81,
3265 -1, -1, -1, -1, -1, 87, 88, 89, 3, 4,
3266 5, 6, 94, 8, 9, 10, 11, -1, 13, 14,
3267 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3268 112, -1, -1, -1, 29, 30, 31, -1, 33, -1,
3269 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3270 -1, 46, -1, 48, -1, 50, 51, 52, 53, 54,
3271 55, -1, 57, 58, -1, -1, -1, -1, -1, -1,
3272 -1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
3273 -1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
3274 -1, -1, 87, 88, 89, -1, 91, -1, -1, 94,
3275 95, 3, 4, 5, 6, -1, 8, 9, 10, 11,
3276 -1, 13, 14, -1, -1, -1, -1, 112, -1, -1,
3277 -1, -1, -1, -1, -1, -1, -1, 29, 30, 31,
3278 -1, 33, -1, 35, 36, 37, -1, 39, 40, 41,
3279 42, 43, 44, -1, 46, -1, 48, -1, 50, 51,
3280 52, 53, 54, 55, -1, 57, 58, -1, -1, -1,
3281 -1, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3282 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3283 -1, -1, -1, -1, -1, 87, 88, 89, -1, 91,
3284 -1, -1, 94, 95, 3, 4, 5, 6, -1, 8,
3285 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3286 112, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3287 29, 30, 31, -1, 33, -1, 35, 36, 37, -1,
3288 39, 40, 41, 42, 43, 44, -1, 46, -1, -1,
3289 -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
3290 -1, -1, 61, 62, -1, -1, -1, -1, -1, 68,
3291 -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
3292 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
3293 89, -1, -1, -1, -1, 94, 3, 4, 5, 6,
3294 7, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3295 -1, -1, -1, 112, -1, -1, -1, -1, -1, -1,
3296 -1, -1, 29, 30, 31, 32, 33, -1, 35, 36,
3297 37, -1, 39, 40, 41, 42, 43, 44, -1, 46,
3298 -1, -1, -1, 50, 51, 52, 53, 54, 55, -1,
3299 57, 58, -1, -1, -1, -1, -1, -1, -1, -1,
3300 -1, 68, -1, -1, 71, -1, -1, -1, -1, -1,
3301 -1, -1, 79, 80, 81, -1, -1, -1, -1, -1,
3302 87, 88, 89, 3, 4, 5, 6, 94, 8, 9,
3303 10, 11, -1, 13, 14, -1, -1, -1, -1, -1,
3304 -1, -1, -1, -1, -1, 112, -1, -1, -1, 29,
3305 30, 31, -1, 33, -1, 35, 36, 37, -1, 39,
3306 40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
3307 50, 51, 52, 53, 54, 55, -1, 57, 58, -1,
3308 -1, -1, 62, -1, -1, -1, -1, -1, 68, -1,
3309 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3310 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3311 3, 4, 5, 6, 94, 8, 9, 10, 11, -1,
3312 13, 14, -1, -1, -1, -1, -1, -1, -1, -1,
3313 -1, -1, 112, -1, -1, -1, 29, 30, 31, -1,
3314 33, -1, 35, 36, 37, -1, 39, 40, 41, 42,
3315 43, 44, -1, 46, -1, -1, -1, 50, 51, 52,
3316 53, 54, 55, -1, 57, 58, -1, -1, -1, 62,
3317 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3318 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3319 -1, -1, -1, -1, 87, 88, 89, 3, 4, 5,
3320 6, 94, 8, 9, 10, 11, -1, 13, 14, -1,
3321 -1, -1, -1, -1, -1, -1, -1, -1, -1, 112,
3322 -1, -1, -1, 29, 30, 31, -1, 33, -1, 35,
3323 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3324 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3325 -1, 57, 58, 59, -1, -1, -1, -1, -1, -1,
3326 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3327 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3328 -1, 87, 88, 89, 3, 4, 5, 6, 94, 8,
3329 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3330 -1, -1, -1, -1, -1, -1, 112, -1, -1, -1,
3331 29, 30, 31, -1, 33, -1, 35, 36, 37, -1,
3332 39, 40, 41, 42, 43, 44, -1, 46, -1, -1,
3333 -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
3334 -1, -1, -1, -1, -1, -1, -1, -1, -1, 68,
3335 -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
3336 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
3337 89, -1, -1, -1, -1, 94, 95, 3, 4, 5,
3338 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3339 -1, -1, -1, 112, -1, -1, -1, -1, -1, -1,
3340 -1, -1, -1, 29, 30, 31, -1, 33, -1, 35,
3341 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3342 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3343 -1, 57, 58, -1, -1, -1, 62, -1, -1, -1,
3344 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3345 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3346 -1, 87, 88, 89, 3, 4, 5, 6, 94, 8,
3347 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3348 -1, -1, -1, -1, -1, -1, 112, -1, -1, -1,
3349 29, 30, 31, -1, 33, -1, 35, 36, 37, -1,
3350 39, 40, 41, 42, 43, 44, -1, 46, -1, -1,
3351 -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
3352 -1, -1, -1, 62, -1, -1, -1, -1, -1, 68,
3353 -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
3354 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
3355 89, 3, 4, 5, 6, 94, 8, 9, 10, 11,
3356 -1, 13, 14, -1, -1, -1, -1, -1, -1, -1,
3357 -1, -1, -1, 112, -1, -1, -1, 29, 30, 31,
3358 -1, 33, -1, 35, 36, 37, -1, 39, 40, 41,
3359 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3360 52, 53, 54, 55, -1, 57, 58, -1, -1, -1,
3361 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3362 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3363 -1, -1, -1, -1, -1, 87, 88, 89, 3, 4,
3364 5, 6, 94, 8, 9, 10, 11, -1, 13, 14,
3365 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3366 112, -1, -1, -1, 29, 30, 31, -1, 33, -1,
3367 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3368 -1, 46, -1, -1, -1, 50, 51, 52, 53, 54,
3369 55, -1, 57, 58, -1, -1, -1, -1, -1, -1,
3370 -1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
3371 -1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
3372 -1, -1, 87, 88, 89, 3, 4, 5, 6, 94,
3373 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3374 -1, -1, -1, -1, -1, -1, -1, 112, -1, -1,
3375 -1, 29, 30, 31, -1, 33, -1, 35, 36, 37,
3376 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3377 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3378 58, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3379 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3380 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3381 88, 89, 3, 4, 5, 6, 94, 8, 9, 10,
3382 11, -1, 13, 14, -1, -1, -1, -1, -1, -1,
3383 -1, -1, -1, -1, 112, -1, -1, -1, 29, 30,
3384 31, -1, 33, -1, 35, 36, 37, -1, 39, 40,
3385 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
3386 51, 52, 53, 54, 55, -1, 57, 58, -1, -1,
3387 -1, -1, -1, -1, -1, -1, -1, 68, -1, -1,
3388 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3389 81, -1, -1, -1, -1, -1, 87, 88, 89, 3,
3390 4, 5, 6, 94, 8, 9, 10, 11, -1, 13,
3391 14, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3392 -1, 112, -1, -1, -1, 29, 30, 31, -1, 33,
3393 -1, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3394 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
3395 54, 55, -1, 57, 58, -1, -1, -1, -1, -1,
3396 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3397 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3398 -1, -1, -1, 87, 88, 89, 3, 4, 5, 6,
3399 94, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3400 -1, -1, -1, -1, -1, -1, -1, -1, 112, -1,
3401 -1, -1, 29, 30, 31, -1, 33, -1, 35, 36,
3402 37, -1, 39, 40, 41, 42, 43, 44, -1, 46,
3403 -1, -1, -1, 50, 51, 52, 53, 54, 55, -1,
3404 57, 58, -1, -1, -1, -1, -1, -1, -1, -1,
3405 -1, 68, -1, 1, 71, 3, 4, 5, 6, 7,
3406 8, 9, 79, 80, 81, -1, 14, -1, -1, -1,
3407 87, 88, 89, -1, -1, -1, -1, 94, -1, 27,
3408 28, 29, -1, 31, 32, 33, -1, -1, -1, 37,
3409 -1, -1, -1, -1, 42, 112, -1, 45, 46, 47,
3410 -1, 49, -1, -1, -1, -1, -1, 55, -1, 57,
3411 58, -1, 1, 61, 3, 4, 5, 6, 7, 8,
3412 9, -1, -1, 71, -1, 14, -1, -1, -1, -1,
3413 -1, -1, -1, 81, -1, -1, -1, -1, 27, 28,
3414 29, 89, 31, 32, 33, -1, 94, -1, 37, -1,
3415 -1, -1, 100, 42, -1, -1, 45, 46, 47, -1,
3416 49, -1, -1, -1, -1, -1, 55, -1, 57, 58,
3417 -1, -1, 61, 3, 4, 5, 6, 7, 8, 9,
3418 -1, -1, 71, -1, 14, -1, -1, -1, -1, -1,
3419 -1, -1, 81, -1, -1, -1, -1, -1, -1, -1,
3420 89, -1, 32, -1, -1, 94, -1, 37, -1, -1,
3421 -1, 100, 42, -1, -1, -1, 46, -1, 48, -1,
3422 -1, -1, -1, -1, -1, 55, -1, 57, 58, 3,
3423 4, 5, 6, 7, 8, 9, -1, -1, -1, -1,
3424 14, 71, -1, -1, -1, -1, -1, -1, -1, -1,
3425 -1, 81, -1, -1, -1, -1, -1, -1, 32, 89,
3426 -1, 91, -1, 37, 94, 95, -1, -1, 42, -1,
3427 -1, -1, 46, -1, 48, -1, -1, -1, -1, -1,
3428 -1, 55, -1, 57, 58, 3, 4, 5, 6, 7,
3429 8, 9, -1, -1, -1, -1, 14, 71, -1, -1,
3430 -1, -1, -1, -1, -1, -1, -1, 81, -1, -1,
3431 -1, 29, -1, 31, 32, 89, -1, 91, -1, 37,
3432 94, 95, -1, -1, 42, -1, -1, -1, 46, -1,
3433 -1, -1, -1, -1, -1, -1, -1, 55, -1, 57,
3434 58, 3, 4, 5, 6, 7, 8, 9, -1, -1,
3435 12, -1, 14, 71, -1, -1, -1, 75, -1, -1,
3436 -1, -1, -1, 81, -1, -1, -1, 29, -1, 31,
3437 32, 89, -1, -1, -1, 37, 94, -1, -1, -1,
3438 42, -1, -1, -1, 46, -1, 3, 4, 5, 6,
3439 7, 8, 9, 55, -1, 57, 58, 14, -1, -1,
3440 -1, -1, -1, -1, -1, -1, -1, -1, -1, 71,
3441 -1, -1, 29, -1, 31, 32, -1, -1, -1, 81,
3442 37, -1, -1, -1, -1, 42, -1, 89, -1, 46,
3443 -1, -1, 94, -1, -1, -1, -1, -1, 55, -1,
3444 57, 58, -1, -1, -1, -1, 63, 3, 4, 5,
3445 6, 7, 8, 9, 71, -1, -1, -1, 14, -1,
3446 -1, -1, -1, -1, 81, -1, -1, -1, -1, -1,
3447 -1, -1, 89, 29, -1, 31, 32, 94, -1, -1,
3448 -1, 37, -1, -1, -1, -1, 42, -1, -1, -1,
3449 46, -1, 3, 4, 5, 6, 7, 8, 9, 55,
3450 -1, 57, 58, 14, -1, 61, -1, -1, -1, -1,
3451 -1, -1, -1, -1, -1, 71, -1, -1, 29, -1,
3452 31, 32, -1, -1, -1, 81, 37, -1, -1, -1,
3453 -1, 42, -1, 89, -1, 46, -1, -1, 94, -1,
3454 -1, -1, -1, -1, 55, -1, 57, 58, 3, 4,
3455 5, 6, 7, 8, 9, -1, -1, -1, -1, 14,
3456 71, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3457 81, -1, -1, -1, 29, -1, 31, 32, 89, -1,
3458 -1, -1, 37, 94, -1, -1, -1, 42, -1, -1,
3459 -1, 46, -1, 3, 4, 5, 6, 7, 8, 9,
3460 55, -1, 57, 58, 14, -1, -1, -1, -1, -1,
3461 -1, -1, -1, -1, -1, -1, 71, -1, -1, -1,
3462 -1, -1, 32, -1, -1, -1, 81, 37, -1, -1,
3463 -1, -1, 42, -1, 89, 12, 46, -1, 48, 94,
3464 -1, -1, -1, -1, -1, 55, -1, 57, 58, 64,
3465 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
3466 75, 71, 77, 78, 79, 80, 81, 82, 83, 84,
3467 85, 81, -1, -1, -1, -1, -1, -1, -1, 89,
3468 -1, -1, -1, -1, 94, -1, 63, 64, 65, 66,
3469 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
3470 77, 78, 79, 80, 81, 82, 83, 84, 85, 4,
3471 5, -1, 7, 8, 9, -1, 4, 5, -1, 14,
3472 8, 9, -1, 4, 5, -1, 14, 8, 9, -1,
3473 -1, -1, -1, 14, 29, -1, 31, 32, -1, -1,
3474 -1, 29, 37, 31, -1, -1, 32, -1, 29, 37,
3475 31, 46, -1, -1, -1, -1, 37, -1, 46, -1,
3476 55, -1, 57, 58, -1, 46, -1, 55, -1, 57,
3477 58, -1, -1, -1, 55, -1, 57, 58, 64, 65,
3478 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
3479 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
3480 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
3481 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
3482 84, 85, 64, 65, 66, 67, 68, 69, 70, 71,
3483 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
3484 82, 83, 84, 85, -1, -1, -1, -1, -1, 113,
3485 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3486 -1, -1, -1, -1, 60, -1, -1, 109, 64, 65,
3487 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
3488 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
3489 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
3490 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
3491 83, 84, 85, 63, 64, 65, 66, 67, 68, 69,
3492 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
3493 80, 81, 82, 83, 84, 85, 64, 65, 66, 67,
3494 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
3495 78, 79, 80, 81, 82, 83, 84, 85
3497 /* -*-C-*- Note some compilers choke on comments on `#line' lines. */
3498 #line 3 "/usr/share/bison.simple"
3500 /* Skeleton output parser for bison,
3501 Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
3503 This program is free software; you can redistribute it and/or modify
3504 it under the terms of the GNU General Public License as published by
3505 the Free Software Foundation; either version 2, or (at your option)
3508 This program is distributed in the hope that it will be useful,
3509 but WITHOUT ANY WARRANTY; without even the implied warranty of
3510 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3511 GNU General Public License for more details.
3513 You should have received a copy of the GNU General Public License
3514 along with this program; if not, write to the Free Software
3515 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
3517 /* As a special exception, when this file is copied by Bison into a
3518 Bison output file, you may use that output file without restriction.
3519 This special exception was added by the Free Software Foundation
3520 in version 1.24 of Bison. */
3524 #define alloca __builtin_alloca
3525 #else /* not GNU C. */
3526 #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi)
3528 #else /* not sparc */
3529 #if defined (MSDOS) && !defined (__TURBOC__)
3531 #else /* not MSDOS, or __TURBOC__ */
3535 #else /* not MSDOS, __TURBOC__, or _AIX */
3539 void *alloca (unsigned int);
3541 #else /* not __cplusplus */
3543 #endif /* not __cplusplus */
3545 #endif /* not _AIX */
3546 #endif /* not MSDOS, or __TURBOC__ */
3547 #endif /* not sparc. */
3548 #endif /* not GNU C. */
3549 #endif /* alloca not defined. */
3551 /* This is the parser code that is written into each bison parser
3552 when the %semantic_parser declaration is not specified in the grammar.
3553 It was written by Richard Stallman by simplifying the hairy parser
3554 used when %semantic_parser is specified. */
3556 /* Note: there must be only one dollar sign in this file.
3557 It is replaced by the list of actions, each action
3558 as one case of the switch. */
3560 #define yyerrok (yyerrstatus = 0)
3561 #define yyclearin (yychar = YYEMPTY)
3564 #define YYACCEPT return(0)
3565 #define YYABORT return(1)
3566 #define YYERROR goto yyerrlab1
3567 /* Like YYERROR except do call yyerror.
3568 This remains here temporarily to ease the
3569 transition to the new meaning of YYERROR, for GCC.
3570 Once GCC version 2 has supplanted version 1, this can go. */
3571 #define YYFAIL goto yyerrlab
3572 #define YYRECOVERING() (!!yyerrstatus)
3573 #define YYBACKUP(token, value) \
3575 if (yychar == YYEMPTY && yylen == 1) \
3576 { yychar = (token), yylval = (value); \
3577 yychar1 = YYTRANSLATE (yychar); \
3582 { yyerror ("syntax error: cannot back up"); YYERROR; } \
3586 #define YYERRCODE 256
3589 #define YYLEX yylex()
3595 #define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM)
3597 #define YYLEX yylex(&yylval, &yylloc)
3599 #else /* not YYLSP_NEEDED */
3601 #define YYLEX yylex(&yylval, YYLEX_PARAM)
3603 #define YYLEX yylex(&yylval)
3605 #endif /* not YYLSP_NEEDED */
3608 /* If nonreentrant, generate the variables here */
3612 int yychar
; /* the lookahead symbol */
3613 YYSTYPE yylval
; /* the semantic value of the */
3614 /* lookahead symbol */
3617 YYLTYPE yylloc
; /* location data for the lookahead */
3621 int yynerrs
; /* number of parse errors so far */
3622 #endif /* not YYPURE */
3625 int yydebug
; /* nonzero means print parse trace */
3626 /* Since this is uninitialized, it does not stop multiple parsers
3630 /* YYINITDEPTH indicates the initial size of the parser's stacks */
3633 #define YYINITDEPTH 200
3636 /* YYMAXDEPTH is the maximum size the stacks can grow to
3637 (effective only if the built-in stack extension method is used). */
3644 #define YYMAXDEPTH 10000
3647 /* Prevent warning if -Wstrict-prototypes. */
3652 #if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
3653 #define __yy_memcpy(FROM,TO,COUNT) __builtin_memcpy(TO,FROM,COUNT)
3654 #else /* not GNU C or C++ */
3657 /* This is the most reliable way to avoid incompatibilities
3658 in available built-in functions on various systems. */
3660 __yy_memcpy (from
, to
, count
)
3665 register char *f
= from
;
3666 register char *t
= to
;
3667 register int i
= count
;
3673 #else /* __cplusplus */
3675 /* This is the most reliable way to avoid incompatibilities
3676 in available built-in functions on various systems. */
3678 __yy_memcpy (char *from
, char *to
, int count
)
3680 register char *f
= from
;
3681 register char *t
= to
;
3682 register int i
= count
;
3691 #line 192 "/usr/share/bison.simple"
3693 /* The user can define YYPARSE_PARAM as the name of an argument to be passed
3694 into yyparse. The argument should have type void *.
3695 It should actually point to an object.
3696 Grammar actions can access the variable by casting it
3697 to the proper pointer type. */
3699 #ifdef YYPARSE_PARAM
3700 #define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
3702 #define YYPARSE_PARAM
3703 #define YYPARSE_PARAM_DECL
3707 yyparse(YYPARSE_PARAM
)
3710 register int yystate
;
3712 register short *yyssp
;
3713 register YYSTYPE
*yyvsp
;
3714 int yyerrstatus
; /* number of tokens to shift before error messages enabled */
3715 int yychar1
= 0; /* lookahead token as an internal (translated) token number */
3717 short yyssa
[YYINITDEPTH
]; /* the state stack */
3718 YYSTYPE yyvsa
[YYINITDEPTH
]; /* the semantic value stack */
3720 short *yyss
= yyssa
; /* refer to the stacks thru separate pointers */
3721 YYSTYPE
*yyvs
= yyvsa
; /* to allow yyoverflow to reallocate them elsewhere */
3724 YYLTYPE yylsa
[YYINITDEPTH
]; /* the location stack */
3725 YYLTYPE
*yyls
= yylsa
;
3728 #define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
3730 #define YYPOPSTACK (yyvsp--, yyssp--)
3733 int yystacksize
= YYINITDEPTH
;
3744 YYSTYPE yyval
; /* the variable used to return */
3745 /* semantic values from the action */
3752 fprintf(stderr
, "Starting parse\n");
3758 yychar
= YYEMPTY
; /* Cause a token to be read. */
3760 /* Initialize stack pointers.
3761 Waste one element of value and location stack
3762 so that they stay on the same level as the state stack.
3763 The wasted elements are never initialized. */
3771 /* Push a new state, which is found in yystate . */
3772 /* In all cases, when you get here, the value and location stacks
3773 have just been pushed. so pushing a state here evens the stacks. */
3778 if (yyssp
>= yyss
+ yystacksize
- 1)
3780 /* Give user a chance to reallocate the stack */
3781 /* Use copies of these so that the &'s don't force the real ones into memory. */
3782 YYSTYPE
*yyvs1
= yyvs
;
3783 short *yyss1
= yyss
;
3785 YYLTYPE
*yyls1
= yyls
;
3788 /* Get the current used size of the three stacks, in elements. */
3789 int size
= yyssp
- yyss
+ 1;
3792 /* Each stack pointer address is followed by the size of
3793 the data in use in that stack, in bytes. */
3795 /* This used to be a conditional around just the two extra args,
3796 but that might be undefined if yyoverflow is a macro. */
3797 yyoverflow("parser stack overflow",
3798 &yyss1
, size
* sizeof (*yyssp
),
3799 &yyvs1
, size
* sizeof (*yyvsp
),
3800 &yyls1
, size
* sizeof (*yylsp
),
3803 yyoverflow("parser stack overflow",
3804 &yyss1
, size
* sizeof (*yyssp
),
3805 &yyvs1
, size
* sizeof (*yyvsp
),
3809 yyss
= yyss1
; yyvs
= yyvs1
;
3813 #else /* no yyoverflow */
3814 /* Extend the stack our own way. */
3815 if (yystacksize
>= YYMAXDEPTH
)
3817 yyerror("parser stack overflow");
3821 if (yystacksize
> YYMAXDEPTH
)
3822 yystacksize
= YYMAXDEPTH
;
3823 yyss
= (short *) alloca (yystacksize
* sizeof (*yyssp
));
3824 __yy_memcpy ((char *)yyss1
, (char *)yyss
, size
* sizeof (*yyssp
));
3825 yyvs
= (YYSTYPE
*) alloca (yystacksize
* sizeof (*yyvsp
));
3826 __yy_memcpy ((char *)yyvs1
, (char *)yyvs
, size
* sizeof (*yyvsp
));
3828 yyls
= (YYLTYPE
*) alloca (yystacksize
* sizeof (*yylsp
));
3829 __yy_memcpy ((char *)yyls1
, (char *)yyls
, size
* sizeof (*yylsp
));
3831 #endif /* no yyoverflow */
3833 yyssp
= yyss
+ size
- 1;
3834 yyvsp
= yyvs
+ size
- 1;
3836 yylsp
= yyls
+ size
- 1;
3841 fprintf(stderr
, "Stack size increased to %d\n", yystacksize
);
3844 if (yyssp
>= yyss
+ yystacksize
- 1)
3850 fprintf(stderr
, "Entering state %d\n", yystate
);
3856 /* Do appropriate processing given the current state. */
3857 /* Read a lookahead token if we need one and don't already have one. */
3860 /* First try to decide what to do without reference to lookahead token. */
3862 yyn
= yypact
[yystate
];
3866 /* Not known => get a lookahead token if don't already have one. */
3868 /* yychar is either YYEMPTY or YYEOF
3869 or a valid token in external form. */
3871 if (yychar
== YYEMPTY
)
3875 fprintf(stderr
, "Reading a token: ");
3880 /* Convert token to internal form (in yychar1) for indexing tables with */
3882 if (yychar
<= 0) /* This means end of input. */
3885 yychar
= YYEOF
; /* Don't call YYLEX any more */
3889 fprintf(stderr
, "Now at end of input.\n");
3894 yychar1
= YYTRANSLATE(yychar
);
3899 fprintf (stderr
, "Next token is %d (%s", yychar
, yytname
[yychar1
]);
3900 /* Give the individual parser a way to print the precise meaning
3901 of a token, for further debugging info. */
3903 YYPRINT (stderr
, yychar
, yylval
);
3905 fprintf (stderr
, ")\n");
3911 if (yyn
< 0 || yyn
> YYLAST
|| yycheck
[yyn
] != yychar1
)
3916 /* yyn is what to do for this token type in this state.
3917 Negative => reduce, -yyn is rule number.
3918 Positive => shift, yyn is new state.
3919 New state is final state => don't bother to shift,
3920 just return success.
3921 0, or most negative number => error. */
3936 /* Shift the lookahead token. */
3940 fprintf(stderr
, "Shifting token %d (%s), ", yychar
, yytname
[yychar1
]);
3943 /* Discard the token being shifted unless it is eof. */
3944 if (yychar
!= YYEOF
)
3952 /* count tokens shifted since error; after three, turn off error status. */
3953 if (yyerrstatus
) yyerrstatus
--;
3958 /* Do the default action for the current state. */
3961 yyn
= yydefact
[yystate
];
3965 /* Do a reduction. yyn is the number of a rule to reduce with. */
3969 yyval
= yyvsp
[1-yylen
]; /* implement default value of the action */
3976 fprintf (stderr
, "Reducing via rule %d (line %d), ",
3979 /* Print the symbols being reduced, and their result. */
3980 for (i
= yyprhs
[yyn
]; yyrhs
[i
] > 0; i
++)
3981 fprintf (stderr
, "%s ", yytname
[yyrhs
[i
]]);
3982 fprintf (stderr
, " -> %s\n", yytname
[yyr1
[yyn
]]);
3992 /* In case there were missing closebraces,
3993 get us back to the global binding level. */
3994 while (! global_bindings_p ())
4001 { yyval
.ttype
= NULL_TREE
; ;
4005 { yyval
.ttype
= NULL_TREE
; ;
4009 { yyval
.ttype
= NULL_TREE
; ;
4013 { have_extern_spec
= 1;
4014 used_extern_spec
= 0;
4015 yyval
.ttype
= NULL_TREE
; ;
4019 { have_extern_spec
= 0; ;
4023 { yyval
.itype
= pedantic
;
4028 { if (pending_lang_change
) do_pending_lang_change(); ;
4032 { if (! toplevel_bindings_p () && ! pseudo_global_level_p())
4033 pop_everything (); ;
4037 { if (pending_inlines
) do_pending_inlines (); ;
4041 { if (pending_inlines
) do_pending_inlines (); ;
4045 { if (pending_inlines
) do_pending_inlines (); ;
4049 { if (TREE_CHAIN (yyvsp
[-2].ttype
)) yyvsp
[-2].ttype
= combine_strings (yyvsp
[-2].ttype
);
4050 assemble_asm (yyvsp
[-2].ttype
); ;
4054 { pop_lang_context (); ;
4058 { if (pending_inlines
) do_pending_inlines ();
4059 pop_lang_context (); ;
4063 { if (pending_inlines
) do_pending_inlines ();
4064 pop_lang_context (); ;
4068 { push_namespace (yyvsp
[-1].ttype
); ;
4072 { pop_namespace (); ;
4076 { push_namespace (NULL_TREE
); ;
4080 { pop_namespace (); ;
4084 { do_namespace_alias (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
4088 { do_toplevel_using_decl (yyvsp
[-1].ttype
); ;
4093 if (TREE_CODE (yyvsp
[-1].ttype
) == IDENTIFIER_NODE
)
4094 yyvsp
[-1].ttype
= lastiddecl
;
4095 do_using_directive (yyvsp
[-1].ttype
);
4100 { pedantic
= yyvsp
[-1].itype
; ;
4104 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4108 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4112 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4116 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4120 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4124 { push_lang_context (yyvsp
[0].ttype
); ;
4128 { if (current_lang_name
!= yyvsp
[0].ttype
)
4129 cp_error ("use of linkage spec `%D' is different from previous spec `%D'", yyvsp
[0].ttype
, current_lang_name
);
4130 pop_lang_context (); push_lang_context (yyvsp
[0].ttype
); ;
4134 { begin_template_parm_list (); ;
4138 { yyval
.ttype
= end_template_parm_list (yyvsp
[-1].ttype
); ;
4142 { begin_specialization();
4143 yyval
.ttype
= NULL_TREE
; ;
4147 { yyval
.ttype
= process_template_parm (NULL_TREE
, yyvsp
[0].ttype
); ;
4151 { yyval
.ttype
= process_template_parm (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
4156 yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, NULL_TREE
);
4158 if (TREE_PURPOSE (yyval
.ttype
) == signature_type_node
)
4159 sorry ("signature as template type parameter");
4160 else if (TREE_PURPOSE (yyval
.ttype
) != class_type_node
)
4162 pedwarn ("template type parameters must use the keyword `class'");
4163 TREE_PURPOSE (yyval
.ttype
) = class_type_node
;
4169 { yyval
.ttype
= build_tree_list (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); goto ttpa
; ;
4173 { yyval
.ttype
= build_tree_list (class_type_node
, NULL_TREE
); ;
4177 { yyval
.ttype
= build_tree_list (class_type_node
, yyvsp
[0].ttype
); ;
4181 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ttype
); ;
4185 { yyval
.ttype
= build_tree_list (groktypename (yyvsp
[0].ftype
.t
), yyvsp
[-2].ttype
); ;
4189 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ftype
.t
); ;
4193 { yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-2].ftype
.t
); ;
4198 if (yyvsp
[-1].ttype
)
4199 end_template_decl ();
4201 end_specialization ();
4207 if (yyvsp
[-1].ttype
)
4208 end_template_decl ();
4210 end_specialization ();
4224 note_list_got_semicolon (yyvsp
[-2].ftype
.t
);
4229 { pedwarn ("empty declaration"); ;
4235 split_specs_attrs (yyvsp
[-1].ftype
.t
, &t
, &attrs
);
4237 note_list_got_semicolon (yyvsp
[-1].ftype
.t
);
4242 { yyval
.itype
= 0; ;
4246 { yyval
.itype
= 1; ;
4250 { finish_function (lineno
, (int)yyvsp
[-1].itype
, 0); ;
4263 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
);
4264 if (yyvsp
[-2].ttype
!= current_class_type
)
4266 push_nested_class (yyvsp
[-2].ttype
, 3);
4267 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
;
4273 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4278 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4279 if (yyvsp
[-4].ttype
!= current_class_type
)
4281 push_nested_class (yyvsp
[-4].ttype
, 3);
4282 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
;
4284 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4290 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
);
4291 if (yyvsp
[-2].ttype
!= current_class_type
)
4293 push_nested_class (yyvsp
[-2].ttype
, 3);
4294 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
;
4300 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4305 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4306 if (yyvsp
[-4].ttype
!= current_class_type
)
4308 push_nested_class (yyvsp
[-4].ttype
, 3);
4309 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
;
4311 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4317 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
);
4318 if (yyvsp
[-2].ttype
!= current_class_type
)
4320 push_nested_class (yyvsp
[-2].ttype
, 3);
4321 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
;
4327 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4332 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4333 if (yyvsp
[-4].ttype
!= current_class_type
)
4335 push_nested_class (yyvsp
[-4].ttype
, 3);
4336 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
;
4338 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4344 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
);
4345 if (yyvsp
[-2].ttype
!= current_class_type
)
4347 push_nested_class (yyvsp
[-2].ttype
, 3);
4348 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
;
4354 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4359 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4360 if (yyvsp
[-4].ttype
!= current_class_type
)
4362 push_nested_class (yyvsp
[-4].ttype
, 3);
4363 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
;
4365 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4370 { tree specs
, attrs
;
4371 split_specs_attrs (yyvsp
[-1].ftype
.t
, &specs
, &attrs
);
4372 if (! start_function (specs
, yyvsp
[0].ttype
, attrs
, 0))
4374 reinit_parse_for_function ();
4375 yyval
.ttype
= NULL_TREE
; ;
4379 { tree specs
, attrs
;
4380 split_specs_attrs (yyvsp
[-1].ttype
, &specs
, &attrs
);
4381 if (! start_function (specs
, yyvsp
[0].ttype
, attrs
, 0))
4383 reinit_parse_for_function ();
4384 yyval
.ttype
= NULL_TREE
; ;
4388 { if (! start_function (NULL_TREE
, yyval
.ttype
, NULL_TREE
, 0))
4390 reinit_parse_for_function ();
4391 yyval
.ttype
= NULL_TREE
; ;
4395 { tree specs
, attrs
;
4396 split_specs_attrs (yyvsp
[-1].ttype
, &specs
, &attrs
);
4397 if (! start_function (specs
, yyvsp
[0].ttype
, attrs
, 0))
4399 reinit_parse_for_function ();
4400 yyval
.ttype
= NULL_TREE
; ;
4404 { if (! start_function (NULL_TREE
, yyval
.ttype
, NULL_TREE
, 0))
4406 reinit_parse_for_function ();
4407 yyval
.ttype
= NULL_TREE
; ;
4411 { yyval
.ttype
= make_call_declarator (yyvsp
[-5].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4415 { yyval
.ttype
= make_call_declarator (yyvsp
[-3].ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4419 { yyval
.ttype
= make_call_declarator (yyvsp
[-5].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4423 { yyval
.ttype
= make_call_declarator (yyvsp
[-3].ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4427 { tree specs
= strip_attrs (yyvsp
[-1].ttype
);
4428 yyval
.ttype
= start_method (specs
, yyvsp
[0].ttype
);
4432 if (yychar
== YYEMPTY
)
4434 reinit_parse_for_method (yychar
, yyval
.ttype
); ;
4438 { yyval
.ttype
= start_method (NULL_TREE
, yyvsp
[0].ttype
); goto rest_of_mdef
; ;
4442 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
4443 yyval
.ttype
= start_method (specs
, yyvsp
[0].ttype
); goto rest_of_mdef
; ;
4447 { tree specs
= strip_attrs (yyvsp
[-1].ttype
);
4448 yyval
.ttype
= start_method (specs
, yyvsp
[0].ttype
); goto rest_of_mdef
; ;
4452 { yyval
.ttype
= start_method (NULL_TREE
, yyval
.ttype
); goto rest_of_mdef
; ;
4456 { tree specs
= strip_attrs (yyvsp
[-1].ttype
);
4457 yyval
.ttype
= start_method (specs
, yyvsp
[0].ttype
); goto rest_of_mdef
; ;
4461 { yyval
.ttype
= start_method (NULL_TREE
, yyval
.ttype
); goto rest_of_mdef
; ;
4466 if (yyvsp
[-1].ttype
)
4467 end_template_decl ();
4469 end_specialization ();
4471 if (yyvsp
[0].ttype
&& DECL_TEMPLATE_INFO (yyvsp
[0].ttype
)
4472 && !DECL_TEMPLATE_SPECIALIZATION (yyvsp
[0].ttype
))
4474 yyval
.ttype
= DECL_TI_TEMPLATE (yyvsp
[0].ttype
);
4475 check_member_template (yyval
.ttype
);
4477 else if (yyvsp
[0].ttype
)
4478 yyval
.ttype
= yyvsp
[0].ttype
;
4481 cp_error("invalid member template declaration");
4482 yyval
.ttype
= NULL_TREE
;
4489 if (! current_function_parms_stored
)
4490 store_parm_decls ();
4491 yyval
.ttype
= yyvsp
[0].ttype
;
4496 { store_return_init (yyval
.ttype
, yyvsp
[0].ttype
); ;
4500 { store_return_init (yyval
.ttype
, yyvsp
[-1].ttype
); ;
4504 { store_return_init (yyval
.ttype
, NULL_TREE
); ;
4509 if (yyvsp
[0].itype
== 0)
4510 error ("no base initializers given following ':'");
4512 /* Always keep the BLOCK node associated with the outermost
4513 pair of curly braces of a function. These are needed
4514 for correct operation of dwarfout.c. */
4521 if (! current_function_parms_stored
)
4522 store_parm_decls ();
4524 if (DECL_CONSTRUCTOR_P (current_function_decl
))
4526 /* Make a contour for the initializer list. */
4529 expand_start_bindings (0);
4531 else if (current_class_type
== NULL_TREE
)
4532 error ("base initializers not allowed for non-member functions");
4533 else if (! DECL_CONSTRUCTOR_P (current_function_decl
))
4534 error ("only constructors take base initializers");
4539 { yyval
.itype
= 0; ;
4543 { yyval
.itype
= 1; ;
4548 if (current_class_name
)
4549 pedwarn ("anachronistic old style base class initializer");
4550 expand_member_init (current_class_ref
, NULL_TREE
, yyvsp
[-1].ttype
);
4556 if (current_class_name
)
4557 pedwarn ("anachronistic old style base class initializer");
4558 expand_member_init (current_class_ref
, NULL_TREE
, void_type_node
);
4563 { expand_member_init (current_class_ref
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
4567 { expand_member_init (current_class_ref
, yyvsp
[-1].ttype
, void_type_node
); ;
4571 { expand_member_init (current_class_ref
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
4575 { expand_member_init (current_class_ref
, yyvsp
[-1].ttype
, void_type_node
); ;
4579 { expand_member_init (current_class_ref
, TYPE_MAIN_DECL (yyvsp
[-3].ttype
),
4584 { expand_member_init (current_class_ref
, TYPE_MAIN_DECL (yyvsp
[-1].ttype
),
4589 { do_type_instantiation (yyvsp
[-1].ftype
.t
, NULL_TREE
);
4590 yyungetc (';', 1); ;
4594 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
4595 do_decl_instantiation (specs
, yyvsp
[0].ttype
, NULL_TREE
); ;
4599 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, NULL_TREE
); ;
4603 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, NULL_TREE
); ;
4607 { do_type_instantiation (yyvsp
[-1].ftype
.t
, yyvsp
[-3].ttype
);
4608 yyungetc (';', 1); ;
4612 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
4613 do_decl_instantiation (specs
, yyvsp
[0].ttype
, yyvsp
[-3].ttype
); ;
4617 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
); ;
4621 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
); ;
4626 yyval
.ttype
= lookup_template_class (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, NULL_TREE
);
4627 if (yyval
.ttype
!= error_mark_node
)
4628 yyval
.ttype
= TYPE_STUB_DECL (yyval
.ttype
);
4634 yyval
.ttype
= lookup_template_class (yyvsp
[-2].ttype
, NULL_TREE
, NULL_TREE
);
4635 if (yyval
.ttype
!= error_mark_node
)
4636 yyval
.ttype
= TYPE_STUB_DECL (yyval
.ttype
);
4642 yyval
.ttype
= lookup_template_class (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, NULL_TREE
);
4643 if (yyval
.ttype
!= error_mark_node
)
4644 yyval
.ttype
= TYPE_STUB_DECL (yyval
.ttype
);
4650 yyval
.ttype
= lookup_template_class (yyvsp
[-2].ttype
, NULL_TREE
, NULL_TREE
);
4651 if (yyval
.ttype
!= error_mark_node
)
4652 yyval
.ttype
= TYPE_STUB_DECL (yyval
.ttype
);
4658 yyval
.ttype
= lookup_template_class (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, NULL_TREE
);
4659 if (yyval
.ttype
!= error_mark_node
)
4660 yyval
.ttype
= TYPE_STUB_DECL (yyval
.ttype
);
4666 yyval
.ttype
= lookup_template_class (yyvsp
[-2].ttype
, NULL_TREE
, NULL_TREE
);
4667 if (yyval
.ttype
!= error_mark_node
)
4668 yyval
.ttype
= TYPE_STUB_DECL (yyval
.ttype
);
4674 /* Handle `Class<Class<Type>>' without space in the `>>' */
4675 pedwarn ("`>>' should be `> >' in template class name");
4681 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyval
.ttype
); ;
4685 { yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
4689 { yyval
.ttype
= groktypename (yyvsp
[0].ftype
.t
); ;
4693 { yyval
.code
= NEGATE_EXPR
; ;
4697 { yyval
.code
= CONVERT_EXPR
; ;
4701 { yyval
.code
= PREINCREMENT_EXPR
; ;
4705 { yyval
.code
= PREDECREMENT_EXPR
; ;
4709 { yyval
.code
= TRUTH_NOT_EXPR
; ;
4713 { yyval
.ttype
= build_x_compound_expr (yyval
.ttype
); ;
4717 { error ("ANSI C++ forbids an empty condition for `%s'",
4719 yyval
.ttype
= integer_zero_node
; ;
4723 { yyval
.ttype
= condition_conversion (yyvsp
[-1].ttype
); ;
4727 { error ("ANSI C++ forbids an empty condition for `%s'",
4729 yyval
.ttype
= integer_zero_node
; ;
4733 { yyval
.ttype
= condition_conversion (yyvsp
[-1].ttype
); ;
4737 { yyval
.ttype
= NULL_TREE
; ;
4741 { yyval
.ttype
= condition_conversion (yyval
.ttype
); ;
4745 { yyval
.ttype
= NULL_TREE
; ;
4751 for (d
= getdecls (); d
; d
= TREE_CHAIN (d
))
4752 if (TREE_CODE (d
) == TYPE_DECL
) {
4753 tree s
= TREE_TYPE (d
);
4754 if (TREE_CODE (s
) == RECORD_TYPE
)
4755 cp_error ("definition of class `%T' in condition", s
);
4756 else if (TREE_CODE (s
) == ENUMERAL_TYPE
)
4757 cp_error ("definition of enum `%T' in condition", s
);
4760 current_declspecs
= yyvsp
[-4].ftype
.t
;
4761 yyvsp
[0].itype
= suspend_momentary ();
4762 yyval
.ttype
= start_decl (yyvsp
[-3].ttype
, current_declspecs
, 1);
4763 cplus_decl_attributes (yyval
.ttype
, yyvsp
[-1].ttype
,
4764 /*prefix_attributes*/ NULL_TREE
);
4768 #line 1009 "parse.y"
4770 cp_finish_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, yyvsp
[-3].ttype
, 1, LOOKUP_ONLYCONVERTING
);
4771 resume_momentary (yyvsp
[-2].itype
);
4772 yyval
.ttype
= yyvsp
[-1].ttype
;
4773 if (TREE_CODE (TREE_TYPE (yyval
.ttype
)) == ARRAY_TYPE
)
4774 cp_error ("definition of array `%#D' in condition", yyval
.ttype
);
4778 #line 1028 "parse.y"
4780 if (processing_template_decl
)
4782 yyval
.ttype
= build_min_nt (COMPOUND_STMT
, NULL_TREE
);
4783 COMPOUND_STMT_NO_SCOPE (yyval
.ttype
) = 1;
4784 add_tree (yyval
.ttype
);
4789 #line 1037 "parse.y"
4791 if (processing_template_decl
)
4793 TREE_OPERAND (yyvsp
[-1].ttype
, 0) = TREE_CHAIN (yyvsp
[-1].ttype
);
4794 TREE_CHAIN (yyvsp
[-1].ttype
) = NULL_TREE
;
4795 last_tree
= yyvsp
[-1].ttype
;
4801 #line 1052 "parse.y"
4802 { yyval
.ttype
= expr_tree_cons (NULL_TREE
, yyval
.ttype
,
4803 build_expr_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
4806 #line 1055 "parse.y"
4807 { yyval
.ttype
= expr_tree_cons (NULL_TREE
, yyval
.ttype
,
4808 build_expr_list (NULL_TREE
, error_mark_node
)); ;
4811 #line 1058 "parse.y"
4812 { chainon (yyval
.ttype
, build_expr_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
4815 #line 1060 "parse.y"
4816 { chainon (yyval
.ttype
, build_expr_list (NULL_TREE
, error_mark_node
)); ;
4819 #line 1065 "parse.y"
4820 { yyval
.ttype
= build_expr_list (NULL_TREE
, yyval
.ttype
); ;
4823 #line 1071 "parse.y"
4824 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4827 #line 1074 "parse.y"
4828 { yyval
.ttype
= yyvsp
[0].ttype
;
4829 pedantic
= yyvsp
[-1].itype
; ;
4832 #line 1077 "parse.y"
4833 { yyval
.ttype
= build_x_indirect_ref (yyvsp
[0].ttype
, "unary *"); ;
4836 #line 1079 "parse.y"
4837 { yyval
.ttype
= build_x_unary_op (ADDR_EXPR
, yyvsp
[0].ttype
); ;
4840 #line 1081 "parse.y"
4841 { yyval
.ttype
= build_x_unary_op (BIT_NOT_EXPR
, yyvsp
[0].ttype
); ;
4844 #line 1083 "parse.y"
4845 { yyval
.ttype
= build_x_unary_op (yyvsp
[-1].code
, yyvsp
[0].ttype
);
4846 if (yyvsp
[-1].code
== NEGATE_EXPR
&& TREE_CODE (yyvsp
[0].ttype
) == INTEGER_CST
)
4847 TREE_NEGATED_INT (yyval
.ttype
) = 1;
4848 overflow_warning (yyval
.ttype
);
4852 #line 1090 "parse.y"
4853 { tree label
= lookup_label (yyvsp
[0].ttype
);
4855 pedwarn ("ANSI C++ forbids `&&'");
4856 if (label
== NULL_TREE
)
4857 yyval
.ttype
= null_pointer_node
;
4860 TREE_USED (label
) = 1;
4861 yyval
.ttype
= build1 (ADDR_EXPR
, ptr_type_node
, label
);
4862 TREE_CONSTANT (yyval
.ttype
) = 1;
4867 #line 1103 "parse.y"
4868 { yyval
.ttype
= expr_sizeof (yyvsp
[0].ttype
); ;
4871 #line 1105 "parse.y"
4872 { yyval
.ttype
= c_sizeof (groktypename (yyvsp
[-1].ftype
.t
)); ;
4875 #line 1107 "parse.y"
4876 { yyval
.ttype
= grok_alignof (yyvsp
[0].ttype
); ;
4879 #line 1109 "parse.y"
4880 { yyval
.ttype
= c_alignof (groktypename (yyvsp
[-1].ftype
.t
));
4881 check_for_new_type ("alignof", yyvsp
[-1].ftype
); ;
4884 #line 1115 "parse.y"
4885 { yyval
.ttype
= build_new (NULL_TREE
, yyvsp
[0].ftype
.t
, NULL_TREE
, yyvsp
[-1].itype
);
4886 check_for_new_type ("new", yyvsp
[0].ftype
); ;
4889 #line 1118 "parse.y"
4890 { yyval
.ttype
= build_new (NULL_TREE
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
, yyvsp
[-2].itype
);
4891 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
4894 #line 1121 "parse.y"
4895 { yyval
.ttype
= build_new (yyvsp
[-1].ttype
, yyvsp
[0].ftype
.t
, NULL_TREE
, yyvsp
[-2].itype
);
4896 check_for_new_type ("new", yyvsp
[0].ftype
); ;
4899 #line 1124 "parse.y"
4900 { yyval
.ttype
= build_new (yyvsp
[-2].ttype
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
, yyvsp
[-3].itype
);
4901 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
4904 #line 1127 "parse.y"
4905 { yyval
.ttype
= build_new (NULL_TREE
, groktypename(yyvsp
[-1].ftype
.t
),
4906 NULL_TREE
, yyvsp
[-3].itype
);
4907 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
4910 #line 1131 "parse.y"
4911 { yyval
.ttype
= build_new (NULL_TREE
, groktypename(yyvsp
[-2].ftype
.t
), yyvsp
[0].ttype
, yyvsp
[-4].itype
);
4912 check_for_new_type ("new", yyvsp
[-2].ftype
); ;
4915 #line 1134 "parse.y"
4916 { yyval
.ttype
= build_new (yyvsp
[-3].ttype
, groktypename(yyvsp
[-1].ftype
.t
), NULL_TREE
, yyvsp
[-4].itype
);
4917 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
4920 #line 1137 "parse.y"
4921 { yyval
.ttype
= build_new (yyvsp
[-4].ttype
, groktypename(yyvsp
[-2].ftype
.t
), yyvsp
[0].ttype
, yyvsp
[-5].itype
);
4922 check_for_new_type ("new", yyvsp
[-2].ftype
); ;
4925 #line 1141 "parse.y"
4926 { yyval
.ttype
= delete_sanity (yyvsp
[0].ttype
, NULL_TREE
, 0, yyvsp
[-1].itype
); ;
4929 #line 1143 "parse.y"
4930 { yyval
.ttype
= delete_sanity (yyvsp
[0].ttype
, NULL_TREE
, 1, yyvsp
[-3].itype
);
4931 if (yychar
== YYEMPTY
)
4935 #line 1147 "parse.y"
4936 { yyval
.ttype
= delete_sanity (yyvsp
[0].ttype
, yyvsp
[-2].ttype
, 2, yyvsp
[-4].itype
);
4937 if (yychar
== YYEMPTY
)
4941 #line 1151 "parse.y"
4942 { yyval
.ttype
= build_x_unary_op (REALPART_EXPR
, yyvsp
[0].ttype
); ;
4945 #line 1153 "parse.y"
4946 { yyval
.ttype
= build_x_unary_op (IMAGPART_EXPR
, yyvsp
[0].ttype
); ;
4949 #line 1158 "parse.y"
4950 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
4953 #line 1160 "parse.y"
4955 yyval
.ttype
= yyvsp
[-1].ttype
;
4956 pedwarn ("old style placement syntax, use () instead");
4960 #line 1168 "parse.y"
4961 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
4964 #line 1170 "parse.y"
4965 { yyval
.ttype
= NULL_TREE
; ;
4968 #line 1172 "parse.y"
4970 cp_error ("`%T' is not a valid expression", yyvsp
[-1].ftype
.t
);
4971 yyval
.ttype
= error_mark_node
;
4975 #line 1180 "parse.y"
4978 pedwarn ("ANSI C++ forbids initialization of new expression with `='");
4979 yyval
.ttype
= yyvsp
[0].ttype
;
4983 #line 1190 "parse.y"
4984 { yyvsp
[-1].ftype
.t
= tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, void_list_node
);
4985 TREE_PARMLIST (yyvsp
[-1].ftype
.t
) = 1;
4986 yyval
.ttype
= make_call_declarator (NULL_TREE
, yyvsp
[-1].ftype
.t
, NULL_TREE
, NULL_TREE
);
4987 check_for_new_type ("cast", yyvsp
[-1].ftype
); ;
4990 #line 1195 "parse.y"
4991 { yyvsp
[-1].ftype
.t
= tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, void_list_node
);
4992 TREE_PARMLIST (yyvsp
[-1].ftype
.t
) = 1;
4993 yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-1].ftype
.t
, NULL_TREE
, NULL_TREE
);
4994 check_for_new_type ("cast", yyvsp
[-1].ftype
); ;
4997 #line 1204 "parse.y"
4998 { yyval
.ttype
= reparse_absdcl_as_casts (yyval
.ttype
, yyvsp
[0].ttype
); ;
5001 #line 1206 "parse.y"
5003 tree init
= build_nt (CONSTRUCTOR
, NULL_TREE
,
5004 nreverse (yyvsp
[-2].ttype
));
5006 pedwarn ("ANSI C++ forbids constructor-expressions");
5007 /* Indicate that this was a GNU C constructor expression. */
5008 TREE_HAS_CONSTRUCTOR (init
) = 1;
5010 yyval
.ttype
= reparse_absdcl_as_casts (yyval
.ttype
, init
);
5014 #line 1222 "parse.y"
5015 { yyval
.ttype
= build_x_binary_op (MEMBER_REF
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5018 #line 1224 "parse.y"
5019 { yyval
.ttype
= build_m_component_ref (yyval
.ttype
, yyvsp
[0].ttype
); ;
5022 #line 1226 "parse.y"
5023 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5026 #line 1228 "parse.y"
5027 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5030 #line 1230 "parse.y"
5031 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5034 #line 1232 "parse.y"
5035 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5038 #line 1234 "parse.y"
5039 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5042 #line 1236 "parse.y"
5043 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5046 #line 1238 "parse.y"
5047 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5050 #line 1240 "parse.y"
5051 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5054 #line 1242 "parse.y"
5055 { yyval
.ttype
= build_x_binary_op (LT_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5058 #line 1244 "parse.y"
5059 { yyval
.ttype
= build_x_binary_op (GT_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5062 #line 1246 "parse.y"
5063 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5066 #line 1248 "parse.y"
5067 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5070 #line 1250 "parse.y"
5071 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5074 #line 1252 "parse.y"
5075 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5078 #line 1254 "parse.y"
5079 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5082 #line 1256 "parse.y"
5083 { yyval
.ttype
= build_x_binary_op (TRUTH_ANDIF_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5086 #line 1258 "parse.y"
5087 { yyval
.ttype
= build_x_binary_op (TRUTH_ORIF_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5090 #line 1260 "parse.y"
5091 { yyval
.ttype
= build_x_conditional_expr (yyval
.ttype
, yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
5094 #line 1262 "parse.y"
5095 { yyval
.ttype
= build_x_modify_expr (yyval
.ttype
, NOP_EXPR
, yyvsp
[0].ttype
);
5096 if (yyval
.ttype
!= error_mark_node
)
5097 C_SET_EXP_ORIGINAL_CODE (yyval
.ttype
, MODIFY_EXPR
); ;
5100 #line 1266 "parse.y"
5101 { yyval
.ttype
= build_x_modify_expr (yyval
.ttype
, yyvsp
[-1].code
, yyvsp
[0].ttype
); ;
5104 #line 1268 "parse.y"
5105 { yyval
.ttype
= build_throw (NULL_TREE
); ;
5108 #line 1270 "parse.y"
5109 { yyval
.ttype
= build_throw (yyvsp
[0].ttype
); ;
5112 #line 1288 "parse.y"
5113 { yyval
.ttype
= build_parse_node (BIT_NOT_EXPR
, yyvsp
[0].ttype
); ;
5116 #line 1298 "parse.y"
5117 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5120 #line 1300 "parse.y"
5121 { yyval
.ttype
= lookup_template_function (yyvsp
[-2].ttype
, NULL_TREE
); ;
5124 #line 1302 "parse.y"
5125 { yyval
.ttype
= lookup_template_function
5126 (do_identifier (yyvsp
[-3].ttype
, 1), yyvsp
[-1].ttype
); ;
5129 #line 1305 "parse.y"
5130 { yyval
.ttype
= lookup_template_function
5131 (do_identifier (yyvsp
[-2].ttype
, 1), NULL_TREE
); ;
5134 #line 1311 "parse.y"
5135 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5138 #line 1313 "parse.y"
5139 { yyval
.ttype
= lookup_template_function (DECL_NAME (yyvsp
[-3].ttype
), yyvsp
[-1].ttype
); ;
5142 #line 1315 "parse.y"
5143 { yyval
.ttype
= lookup_template_function (DECL_NAME (yyvsp
[-3].ttype
), yyvsp
[-1].ttype
); ;
5146 #line 1327 "parse.y"
5147 { yyval
.ttype
= build_parse_node (INDIRECT_REF
, yyvsp
[0].ttype
); ;
5150 #line 1329 "parse.y"
5151 { yyval
.ttype
= build_parse_node (ADDR_EXPR
, yyvsp
[0].ttype
); ;
5154 #line 1331 "parse.y"
5155 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
5158 #line 1336 "parse.y"
5159 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5162 #line 1338 "parse.y"
5163 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5166 #line 1346 "parse.y"
5167 { yyval
.ttype
= finish_decl_parsing (yyvsp
[-1].ttype
); ;
5170 #line 1351 "parse.y"
5172 if (TREE_CODE (yyval
.ttype
) == BIT_NOT_EXPR
)
5173 yyval
.ttype
= build_x_unary_op (BIT_NOT_EXPR
, TREE_OPERAND (yyval
.ttype
, 0));
5174 else if (TREE_CODE (yyval
.ttype
) != TEMPLATE_ID_EXPR
)
5175 yyval
.ttype
= do_identifier (yyval
.ttype
, 1);
5179 #line 1360 "parse.y"
5181 if (processing_template_decl
)
5182 push_obstacks (&permanent_obstack
, &permanent_obstack
);
5183 yyval
.ttype
= combine_strings (yyval
.ttype
);
5184 if (processing_template_decl
)
5189 #line 1368 "parse.y"
5191 yyval
.ttype
= yyvsp
[-1].ttype
;
5192 class = TREE_CODE_CLASS (TREE_CODE (yyval
.ttype
));
5193 if (class == 'e' || class == '1'
5194 || class == '2' || class == '<')
5195 /* This inhibits warnings in truthvalue_conversion. */
5196 C_SET_EXP_ORIGINAL_CODE (yyval
.ttype
, ERROR_MARK
); ;
5199 #line 1376 "parse.y"
5201 yyval
.ttype
= reparse_decl_as_expr (NULL_TREE
, yyvsp
[-1].ttype
);
5202 class = TREE_CODE_CLASS (TREE_CODE (yyval
.ttype
));
5203 if (class == 'e' || class == '1'
5204 || class == '2' || class == '<')
5205 /* This inhibits warnings in truthvalue_conversion. */
5206 C_SET_EXP_ORIGINAL_CODE (yyval
.ttype
, ERROR_MARK
); ;
5209 #line 1384 "parse.y"
5210 { yyval
.ttype
= error_mark_node
; ;
5213 #line 1386 "parse.y"
5214 { if (current_function_decl
== 0)
5216 error ("braced-group within expression allowed only inside a function");
5220 yyval
.ttype
= expand_start_stmt_expr (); ;
5223 #line 1394 "parse.y"
5226 pedwarn ("ANSI C++ forbids braced-groups within expressions");
5227 rtl_exp
= expand_end_stmt_expr (yyvsp
[-2].ttype
);
5228 /* The statements have side effects, so the group does. */
5229 TREE_SIDE_EFFECTS (rtl_exp
) = 1;
5231 if (TREE_CODE (yyvsp
[-1].ttype
) == BLOCK
)
5233 /* Make a BIND_EXPR for the BLOCK already made. */
5234 yyval
.ttype
= build (BIND_EXPR
, TREE_TYPE (rtl_exp
),
5235 NULL_TREE
, rtl_exp
, yyvsp
[-1].ttype
);
5236 /* Remove the block from the tree at this point.
5237 It gets put back at the proper place
5238 when the BIND_EXPR is expanded. */
5239 delete_block (yyvsp
[-1].ttype
);
5242 yyval
.ttype
= yyvsp
[-1].ttype
;
5246 #line 1415 "parse.y"
5248 yyval
.ttype
= build_x_function_call (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, current_class_ref
);
5249 if (TREE_CODE (yyval
.ttype
) == CALL_EXPR
5250 && TREE_TYPE (yyval
.ttype
) != void_type_node
)
5251 yyval
.ttype
= require_complete_type (yyval
.ttype
);
5255 #line 1422 "parse.y"
5257 yyval
.ttype
= build_x_function_call (yyval
.ttype
, NULL_TREE
, current_class_ref
);
5258 if (TREE_CODE (yyval
.ttype
) == CALL_EXPR
5259 && TREE_TYPE (yyval
.ttype
) != void_type_node
)
5260 yyval
.ttype
= require_complete_type (yyval
.ttype
);
5264 #line 1429 "parse.y"
5265 { yyval
.ttype
= grok_array_decl (yyval
.ttype
, yyvsp
[-1].ttype
); ;
5268 #line 1431 "parse.y"
5269 { /* If we get an OFFSET_REF, turn it into what it really
5270 means (e.g., a COMPONENT_REF). This way if we've got,
5271 say, a reference to a static member that's being operated
5272 on, we don't end up trying to find a member operator for
5273 the class it's in. */
5274 if (TREE_CODE (yyval
.ttype
) == OFFSET_REF
)
5275 yyval
.ttype
= resolve_offset_ref (yyval
.ttype
);
5276 yyval
.ttype
= build_x_unary_op (POSTINCREMENT_EXPR
, yyval
.ttype
); ;
5279 #line 1440 "parse.y"
5280 { if (TREE_CODE (yyval
.ttype
) == OFFSET_REF
)
5281 yyval
.ttype
= resolve_offset_ref (yyval
.ttype
);
5282 yyval
.ttype
= build_x_unary_op (POSTDECREMENT_EXPR
, yyval
.ttype
); ;
5285 #line 1445 "parse.y"
5286 { if (current_class_ptr
)
5288 #ifdef WARNING_ABOUT_CCD
5289 TREE_USED (current_class_ptr
) = 1;
5291 yyval
.ttype
= current_class_ptr
;
5293 else if (current_function_decl
5294 && DECL_STATIC_FUNCTION_P (current_function_decl
))
5296 error ("`this' is unavailable for static member functions");
5297 yyval
.ttype
= error_mark_node
;
5301 if (current_function_decl
)
5302 error ("invalid use of `this' in non-member function");
5304 error ("invalid use of `this' at top level");
5305 yyval
.ttype
= error_mark_node
;
5310 #line 1468 "parse.y"
5313 tree id
= yyval
.ttype
;
5315 /* This is a C cast in C++'s `functional' notation. */
5316 if (yyvsp
[-1].ttype
== error_mark_node
)
5318 yyval
.ttype
= error_mark_node
;
5322 if (yyvsp
[-1].ttype
== NULL_TREE
)
5324 error ("cannot cast null list to type `%s'",
5325 IDENTIFIER_POINTER (TYPE_NAME (id
)));
5326 yyval
.ttype
= error_mark_node
;
5331 /* type is not set! (mrs) */
5332 if (type
== error_mark_node
)
5333 yyval
.ttype
= error_mark_node
;
5337 if (id
== ridpointers
[(int) RID_CONST
])
5338 type
= build_type_variant (integer_type_node
, 1, 0);
5339 else if (id
== ridpointers
[(int) RID_VOLATILE
])
5340 type
= build_type_variant (integer_type_node
, 0, 1);
5342 /* should not be able to get here (mrs) */
5343 else if (id
== ridpointers
[(int) RID_FRIEND
])
5345 error ("cannot cast expression to `friend' type");
5346 yyval
.ttype
= error_mark_node
;
5350 else my_friendly_abort (79);
5351 yyval
.ttype
= build_c_cast (type
, build_compound_expr (yyvsp
[-1].ttype
));
5356 #line 1513 "parse.y"
5357 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5358 check_for_new_type ("dynamic_cast", yyvsp
[-4].ftype
);
5359 yyval
.ttype
= build_dynamic_cast (type
, yyvsp
[-1].ttype
); ;
5362 #line 1517 "parse.y"
5363 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5364 check_for_new_type ("static_cast", yyvsp
[-4].ftype
);
5365 yyval
.ttype
= build_static_cast (type
, yyvsp
[-1].ttype
); ;
5368 #line 1521 "parse.y"
5369 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5370 check_for_new_type ("reinterpret_cast", yyvsp
[-4].ftype
);
5371 yyval
.ttype
= build_reinterpret_cast (type
, yyvsp
[-1].ttype
); ;
5374 #line 1525 "parse.y"
5375 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5376 check_for_new_type ("const_cast", yyvsp
[-4].ftype
);
5377 yyval
.ttype
= build_const_cast (type
, yyvsp
[-1].ttype
); ;
5380 #line 1529 "parse.y"
5381 { yyval
.ttype
= build_x_typeid (yyvsp
[-1].ttype
); ;
5384 #line 1531 "parse.y"
5385 { tree type
= groktypename (yyvsp
[-1].ftype
.t
);
5386 check_for_new_type ("typeid", yyvsp
[-1].ftype
);
5387 yyval
.ttype
= get_typeid (TYPE_MAIN_VARIANT (type
)); ;
5390 #line 1535 "parse.y"
5391 { yyval
.ttype
= do_scoped_id (yyvsp
[0].ttype
, 1); ;
5394 #line 1537 "parse.y"
5396 got_scope
= NULL_TREE
;
5397 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
5398 yyval
.ttype
= do_scoped_id (yyvsp
[0].ttype
, 1);
5400 yyval
.ttype
= yyvsp
[0].ttype
;
5404 #line 1545 "parse.y"
5405 { yyval
.ttype
= build_offset_ref (OP0 (yyval
.ttype
), OP1 (yyval
.ttype
)); ;
5408 #line 1547 "parse.y"
5409 { if (processing_template_decl
)
5410 yyval
.ttype
= build_min_nt (CALL_EXPR
, copy_to_permanent (yyvsp
[-3].ttype
), yyvsp
[-1].ttype
, NULL_TREE
);
5412 yyval
.ttype
= build_member_call (OP0 (yyval
.ttype
), OP1 (yyval
.ttype
), yyvsp
[-1].ttype
); ;
5415 #line 1552 "parse.y"
5416 { if (processing_template_decl
)
5417 yyval
.ttype
= build_min_nt (CALL_EXPR
, copy_to_permanent (yyvsp
[-1].ttype
),
5418 NULL_TREE
, NULL_TREE
);
5420 yyval
.ttype
= build_member_call (OP0 (yyval
.ttype
), OP1 (yyval
.ttype
), NULL_TREE
); ;
5423 #line 1558 "parse.y"
5425 yyval
.ttype
= build_x_component_ref (yyval
.ttype
, yyvsp
[0].ttype
, NULL_TREE
, 1);
5429 #line 1562 "parse.y"
5431 yyval
.ttype
= build_method_call (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
,
5432 NULL_TREE
, LOOKUP_NORMAL
);
5436 #line 1567 "parse.y"
5438 yyval
.ttype
= build_method_call (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, NULL_TREE
,
5439 NULL_TREE
, LOOKUP_NORMAL
);
5443 #line 1572 "parse.y"
5444 { yyval
.ttype
= build_x_component_ref (yyval
.ttype
, yyvsp
[0].ttype
, NULL_TREE
, 1); ;
5447 #line 1574 "parse.y"
5448 { if (processing_template_decl
)
5449 yyval
.ttype
= build_min_nt (COMPONENT_REF
, yyvsp
[-1].ttype
, copy_to_permanent (yyvsp
[0].ttype
));
5451 yyval
.ttype
= build_object_ref (yyval
.ttype
, OP0 (yyvsp
[0].ttype
), OP1 (yyvsp
[0].ttype
)); ;
5454 #line 1579 "parse.y"
5457 /* This is a future direction of this code, but because
5458 build_x_function_call cannot always undo what is done
5459 in build_component_ref entirely yet, we cannot do this. */
5460 yyval
.ttype
= build_x_function_call (build_component_ref (yyval
.ttype
, yyvsp
[-3].ttype
, NULL_TREE
, 1), yyvsp
[-1].ttype
, current_class_ref
);
5461 if (TREE_CODE (yyval
.ttype
) == CALL_EXPR
5462 && TREE_TYPE (yyval
.ttype
) != void_type_node
)
5463 yyval
.ttype
= require_complete_type (yyval
.ttype
);
5465 yyval
.ttype
= build_method_call (yyval
.ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, NULL_TREE
,
5471 #line 1594 "parse.y"
5474 /* This is a future direction of this code, but because
5475 build_x_function_call cannot always undo what is done
5476 in build_component_ref entirely yet, we cannot do this. */
5477 yyval
.ttype
= build_x_function_call (build_component_ref (yyval
.ttype
, yyvsp
[-1].ttype
, NULL_TREE
, 1), NULL_TREE
, current_class_ref
);
5478 if (TREE_CODE (yyval
.ttype
) == CALL_EXPR
5479 && TREE_TYPE (yyval
.ttype
) != void_type_node
)
5480 yyval
.ttype
= require_complete_type (yyval
.ttype
);
5482 yyval
.ttype
= build_method_call (yyval
.ttype
, yyvsp
[-1].ttype
, NULL_TREE
, NULL_TREE
,
5488 #line 1609 "parse.y"
5490 if (IS_SIGNATURE (OP0 (yyvsp
[-3].ttype
)))
5492 warning ("signature name in scope resolution ignored");
5493 yyval
.ttype
= build_method_call (yyval
.ttype
, OP1 (yyvsp
[-3].ttype
), yyvsp
[-1].ttype
, NULL_TREE
,
5497 yyval
.ttype
= build_scoped_method_call (yyval
.ttype
, OP0 (yyvsp
[-3].ttype
), OP1 (yyvsp
[-3].ttype
), yyvsp
[-1].ttype
);
5501 #line 1620 "parse.y"
5503 if (IS_SIGNATURE (OP0 (yyvsp
[-1].ttype
)))
5505 warning ("signature name in scope resolution ignored");
5506 yyval
.ttype
= build_method_call (yyval
.ttype
, OP1 (yyvsp
[-1].ttype
), NULL_TREE
, NULL_TREE
,
5510 yyval
.ttype
= build_scoped_method_call (yyval
.ttype
, OP0 (yyvsp
[-1].ttype
), OP1 (yyvsp
[-1].ttype
), NULL_TREE
);
5514 #line 1632 "parse.y"
5516 if (IDENTIFIER_GLOBAL_VALUE (yyvsp
[-1].ttype
)
5517 && (TREE_CODE (TREE_TYPE (yyvsp
[-3].ttype
))
5518 != TREE_CODE (TREE_TYPE (IDENTIFIER_GLOBAL_VALUE (yyvsp
[-1].ttype
)))))
5519 cp_error ("`%E' is not of type `%T'", yyvsp
[-3].ttype
, yyvsp
[-1].ttype
);
5520 yyval
.ttype
= cp_convert (void_type_node
, yyvsp
[-3].ttype
);
5524 #line 1640 "parse.y"
5526 if (yyvsp
[-4].ttype
!= yyvsp
[-1].ttype
)
5527 cp_error ("destructor specifier `%T::~%T()' must have matching names", yyvsp
[-4].ttype
, yyvsp
[-1].ttype
);
5528 if (TREE_CODE (TREE_TYPE (yyvsp
[-5].ttype
))
5529 != TREE_CODE (TREE_TYPE (IDENTIFIER_GLOBAL_VALUE (yyvsp
[-4].ttype
))))
5530 cp_error ("`%E' is not of type `%T'", yyvsp
[-5].ttype
, yyvsp
[-4].ttype
);
5531 yyval
.ttype
= cp_convert (void_type_node
, yyvsp
[-5].ttype
);
5535 #line 1649 "parse.y"
5537 yyval
.ttype
= error_mark_node
;
5541 #line 1694 "parse.y"
5542 { yyval
.itype
= 0; ;
5545 #line 1696 "parse.y"
5546 { got_scope
= NULL_TREE
; yyval
.itype
= 1; ;
5549 #line 1701 "parse.y"
5550 { yyval
.itype
= 0; ;
5553 #line 1703 "parse.y"
5554 { got_scope
= NULL_TREE
; yyval
.itype
= 1; ;
5557 #line 1708 "parse.y"
5558 { yyval
.ttype
= boolean_true_node
; ;
5561 #line 1710 "parse.y"
5562 { yyval
.ttype
= boolean_false_node
; ;
5565 #line 1717 "parse.y"
5566 { yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
); ;
5569 #line 1722 "parse.y"
5571 if (! current_function_parms_stored
)
5572 store_parm_decls ();
5574 /* Always keep the BLOCK node associated with the outermost
5575 pair of curly braces of a function. These are needed
5576 for correct operation of dwarfout.c. */
5581 #line 1735 "parse.y"
5582 { got_object
= TREE_TYPE (yyval
.ttype
); ;
5585 #line 1737 "parse.y"
5587 yyval
.ttype
= build_x_arrow (yyval
.ttype
);
5588 got_object
= TREE_TYPE (yyval
.ttype
);
5592 #line 1745 "parse.y"
5594 resume_momentary (yyvsp
[-1].itype
);
5595 if (yyvsp
[-2].ftype
.t
&& IS_AGGR_TYPE_CODE (TREE_CODE (yyvsp
[-2].ftype
.t
)))
5596 note_got_semicolon (yyvsp
[-2].ftype
.t
);
5600 #line 1751 "parse.y"
5602 resume_momentary (yyvsp
[-1].itype
);
5603 note_list_got_semicolon (yyvsp
[-2].ftype
.t
);
5607 #line 1756 "parse.y"
5608 { resume_momentary (yyvsp
[-1].itype
); ;
5611 #line 1758 "parse.y"
5613 shadow_tag (yyvsp
[-1].ftype
.t
);
5614 note_list_got_semicolon (yyvsp
[-1].ftype
.t
);
5618 #line 1763 "parse.y"
5619 { warning ("empty declaration"); ;
5622 #line 1765 "parse.y"
5623 { pedantic
= yyvsp
[-1].itype
; ;
5626 #line 1779 "parse.y"
5627 { yyval
.ttype
= make_call_declarator (NULL_TREE
, empty_parms (),
5628 NULL_TREE
, NULL_TREE
); ;
5631 #line 1782 "parse.y"
5632 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), NULL_TREE
,
5636 #line 1789 "parse.y"
5637 { yyval
.ftype
.t
= build_decl_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
5638 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5641 #line 1792 "parse.y"
5642 { yyval
.ftype
.t
= build_decl_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
5643 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5646 #line 1795 "parse.y"
5647 { yyval
.ftype
.t
= build_decl_list (get_decl_list (yyvsp
[-1].ftype
.t
), yyvsp
[0].ttype
);
5648 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5651 #line 1798 "parse.y"
5652 { yyval
.ftype
.t
= build_decl_list (yyvsp
[0].ftype
.t
, NULL_TREE
);
5653 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5656 #line 1801 "parse.y"
5657 { yyval
.ftype
.t
= build_decl_list (yyvsp
[0].ftype
.t
, NULL_TREE
);
5658 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5661 #line 1817 "parse.y"
5662 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyvsp
[-1].ttype
);
5663 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5666 #line 1820 "parse.y"
5667 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
5668 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5671 #line 1823 "parse.y"
5672 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-2].ftype
.t
, chainon (yyvsp
[-1].ttype
, yyvsp
[0].ttype
));
5673 yyval
.ftype
.new_type_flag
= yyvsp
[-2].ftype
.new_type_flag
; ;
5676 #line 1826 "parse.y"
5677 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, chainon (yyvsp
[0].ttype
, yyvsp
[-2].ttype
));
5678 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5681 #line 1829 "parse.y"
5682 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, chainon (yyvsp
[0].ttype
, yyvsp
[-2].ttype
));
5683 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5686 #line 1832 "parse.y"
5687 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-2].ftype
.t
,
5688 chainon (yyvsp
[-1].ttype
, chainon (yyvsp
[0].ttype
, yyvsp
[-3].ttype
)));
5689 yyval
.ftype
.new_type_flag
= yyvsp
[-2].ftype
.new_type_flag
; ;
5692 #line 1839 "parse.y"
5693 { if (extra_warnings
)
5694 warning ("`%s' is not at beginning of declaration",
5695 IDENTIFIER_POINTER (yyval
.ttype
));
5696 yyval
.ttype
= build_decl_list (NULL_TREE
, yyval
.ttype
); ;
5699 #line 1844 "parse.y"
5700 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyval
.ttype
); ;
5703 #line 1846 "parse.y"
5704 { if (extra_warnings
)
5705 warning ("`%s' is not at beginning of declaration",
5706 IDENTIFIER_POINTER (yyvsp
[0].ttype
));
5707 yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
5710 #line 1851 "parse.y"
5711 { yyval
.ttype
= decl_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, yyvsp
[-1].ttype
); ;
5714 #line 1853 "parse.y"
5715 { yyval
.ttype
= decl_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, NULL_TREE
); ;
5718 #line 1863 "parse.y"
5719 { yyval
.ttype
= yyvsp
[0].ftype
.t
; TREE_STATIC (yyval
.ttype
) = 1; ;
5722 #line 1865 "parse.y"
5723 { yyval
.ttype
= IDENTIFIER_AS_LIST (yyval
.ttype
); ;
5726 #line 1867 "parse.y"
5727 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
);
5728 TREE_STATIC (yyval
.ttype
) = 1; ;
5731 #line 1870 "parse.y"
5732 { if (extra_warnings
&& TREE_STATIC (yyval
.ttype
))
5733 warning ("`%s' is not at beginning of declaration",
5734 IDENTIFIER_POINTER (yyvsp
[0].ttype
));
5735 yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
);
5736 TREE_STATIC (yyval
.ttype
) = TREE_STATIC (yyvsp
[-1].ttype
); ;
5739 #line 1876 "parse.y"
5740 { yyval
.ttype
= decl_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, yyvsp
[-1].ttype
); ;
5743 #line 1878 "parse.y"
5744 { yyval
.ttype
= decl_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, NULL_TREE
); ;
5747 #line 1889 "parse.y"
5748 { yyval
.ftype
.t
= get_decl_list (yyvsp
[0].ftype
.t
);
5749 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5752 #line 1892 "parse.y"
5753 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyvsp
[-1].ftype
.t
);
5754 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5757 #line 1895 "parse.y"
5758 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
5759 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5762 #line 1898 "parse.y"
5763 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, chainon (yyvsp
[0].ttype
, yyvsp
[-2].ftype
.t
));
5764 yyval
.ftype
.new_type_flag
= yyvsp
[-2].ftype
.new_type_flag
; ;
5767 #line 1904 "parse.y"
5768 { yyval
.ttype
= build_decl_list (NULL_TREE
, yyvsp
[0].ftype
.t
); ;
5771 #line 1906 "parse.y"
5772 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyvsp
[-1].ttype
); ;
5775 #line 1916 "parse.y"
5776 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
5779 #line 1918 "parse.y"
5780 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
5783 #line 1920 "parse.y"
5784 { yyval
.ftype
.t
= TREE_TYPE (yyvsp
[-1].ttype
);
5785 yyval
.ftype
.new_type_flag
= 0; ;
5788 #line 1923 "parse.y"
5789 { yyval
.ftype
.t
= groktypename (yyvsp
[-1].ftype
.t
);
5790 yyval
.ftype
.new_type_flag
= 0; ;
5793 #line 1926 "parse.y"
5794 { tree type
= TREE_TYPE (yyvsp
[-1].ttype
);
5796 yyval
.ftype
.new_type_flag
= 0;
5797 if (IS_AGGR_TYPE (type
))
5799 sorry ("sigof type specifier");
5800 yyval
.ftype
.t
= type
;
5804 error ("`sigof' applied to non-aggregate expression");
5805 yyval
.ftype
.t
= error_mark_node
;
5810 #line 1941 "parse.y"
5811 { tree type
= groktypename (yyvsp
[-1].ftype
.t
);
5813 yyval
.ftype
.new_type_flag
= 0;
5814 if (IS_AGGR_TYPE (type
))
5816 sorry ("sigof type specifier");
5817 yyval
.ftype
.t
= type
;
5821 error("`sigof' applied to non-aggregate type");
5822 yyval
.ftype
.t
= error_mark_node
;
5827 #line 1961 "parse.y"
5828 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
5831 #line 1963 "parse.y"
5832 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
5835 #line 1984 "parse.y"
5836 { yyval
.ttype
= NULL_TREE
; ;
5839 #line 1986 "parse.y"
5840 { if (TREE_CHAIN (yyvsp
[-1].ttype
)) yyvsp
[-1].ttype
= combine_strings (yyvsp
[-1].ttype
); yyval
.ttype
= yyvsp
[-1].ttype
; ;
5843 #line 1991 "parse.y"
5844 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
5845 &prefix_attributes
);
5846 if (current_declspecs
5847 && TREE_CODE (current_declspecs
) != TREE_LIST
)
5848 current_declspecs
= get_decl_list (current_declspecs
);
5849 if (have_extern_spec
&& !used_extern_spec
)
5851 current_declspecs
= decl_tree_cons
5852 (NULL_TREE
, get_identifier ("extern"),
5854 used_extern_spec
= 1;
5856 yyvsp
[0].itype
= suspend_momentary ();
5857 yyval
.ttype
= start_decl (yyvsp
[-3].ttype
, current_declspecs
, 1);
5858 cplus_decl_attributes (yyval
.ttype
, yyvsp
[-1].ttype
, prefix_attributes
); ;
5861 #line 2008 "parse.y"
5862 { cp_finish_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, yyvsp
[-4].ttype
, 1, LOOKUP_ONLYCONVERTING
);
5863 yyval
.itype
= yyvsp
[-2].itype
; ;
5866 #line 2011 "parse.y"
5868 split_specs_attrs (yyvsp
[-3].ttype
, ¤t_declspecs
,
5869 &prefix_attributes
);
5870 if (current_declspecs
5871 && TREE_CODE (current_declspecs
) != TREE_LIST
)
5872 current_declspecs
= get_decl_list (current_declspecs
);
5873 if (have_extern_spec
&& !used_extern_spec
)
5875 current_declspecs
= decl_tree_cons
5876 (NULL_TREE
, get_identifier ("extern"),
5878 used_extern_spec
= 1;
5880 yyval
.itype
= suspend_momentary ();
5881 d
= start_decl (yyvsp
[-2].ttype
, current_declspecs
, 0);
5882 cplus_decl_attributes (d
, yyvsp
[0].ttype
, prefix_attributes
);
5883 cp_finish_decl (d
, NULL_TREE
, yyvsp
[-1].ttype
, 1, 0); ;
5886 #line 2032 "parse.y"
5887 { yyval
.ttype
= start_decl (yyvsp
[-3].ttype
, current_declspecs
, 1);
5888 cplus_decl_attributes (yyval
.ttype
, yyvsp
[-1].ttype
, prefix_attributes
); ;
5891 #line 2036 "parse.y"
5892 { cp_finish_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, yyvsp
[-4].ttype
, 1, LOOKUP_ONLYCONVERTING
); ;
5895 #line 2038 "parse.y"
5896 { yyval
.ttype
= start_decl (yyvsp
[-2].ttype
, current_declspecs
, 0);
5897 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
);
5898 cp_finish_decl (yyval
.ttype
, NULL_TREE
, yyvsp
[-1].ttype
, 1, 0); ;
5901 #line 2045 "parse.y"
5902 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
5903 &prefix_attributes
);
5904 yyvsp
[0].itype
= suspend_momentary ();
5905 yyval
.ttype
= start_decl (yyvsp
[-3].ttype
, current_declspecs
, 1);
5906 cplus_decl_attributes (yyval
.ttype
, yyvsp
[-1].ttype
, prefix_attributes
); ;
5909 #line 2052 "parse.y"
5910 { cp_finish_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, yyvsp
[-4].ttype
, 1, LOOKUP_ONLYCONVERTING
);
5911 yyval
.itype
= yyvsp
[-2].itype
; ;
5914 #line 2055 "parse.y"
5916 split_specs_attrs (yyvsp
[-3].ttype
, ¤t_declspecs
,
5917 &prefix_attributes
);
5918 yyval
.itype
= suspend_momentary ();
5919 d
= start_decl (yyvsp
[-2].ttype
, current_declspecs
, 0);
5920 cplus_decl_attributes (d
, yyvsp
[0].ttype
, prefix_attributes
);
5921 cp_finish_decl (d
, NULL_TREE
, yyvsp
[-1].ttype
, 1, 0); ;
5924 #line 2066 "parse.y"
5925 { current_declspecs
= NULL_TREE
;
5926 prefix_attributes
= NULL_TREE
;
5927 yyvsp
[0].itype
= suspend_momentary ();
5928 yyval
.ttype
= start_decl (yyvsp
[-3].ttype
, current_declspecs
, 1);
5929 cplus_decl_attributes (yyval
.ttype
, yyvsp
[-1].ttype
, prefix_attributes
); ;
5932 #line 2073 "parse.y"
5933 { cp_finish_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, yyvsp
[-4].ttype
, 1, LOOKUP_ONLYCONVERTING
);
5934 yyval
.itype
= yyvsp
[-2].itype
; ;
5937 #line 2076 "parse.y"
5939 current_declspecs
= NULL_TREE
;
5940 prefix_attributes
= NULL_TREE
;
5941 yyval
.itype
= suspend_momentary ();
5942 d
= start_decl (yyvsp
[-2].ttype
, current_declspecs
, 0);
5943 cplus_decl_attributes (d
, yyvsp
[0].ttype
, prefix_attributes
);
5944 cp_finish_decl (d
, NULL_TREE
, yyvsp
[-1].ttype
, 1, 0); ;
5947 #line 2089 "parse.y"
5948 { yyval
.ttype
= NULL_TREE
; ;
5951 #line 2091 "parse.y"
5952 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5955 #line 2096 "parse.y"
5956 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5959 #line 2098 "parse.y"
5960 { yyval
.ttype
= chainon (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
5963 #line 2103 "parse.y"
5964 { yyval
.ttype
= yyvsp
[-2].ttype
; ;
5967 #line 2108 "parse.y"
5968 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5971 #line 2110 "parse.y"
5972 { yyval
.ttype
= chainon (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
5975 #line 2115 "parse.y"
5976 { yyval
.ttype
= NULL_TREE
; ;
5979 #line 2117 "parse.y"
5980 { yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, NULL_TREE
); ;
5983 #line 2119 "parse.y"
5984 { yyval
.ttype
= build_tree_list (yyvsp
[-3].ttype
, build_tree_list (NULL_TREE
, yyvsp
[-1].ttype
)); ;
5987 #line 2121 "parse.y"
5988 { yyval
.ttype
= build_tree_list (yyvsp
[-5].ttype
, tree_cons (NULL_TREE
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
)); ;
5991 #line 2123 "parse.y"
5992 { yyval
.ttype
= build_tree_list (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5995 #line 2139 "parse.y"
5996 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ttype
); ;
5999 #line 2141 "parse.y"
6000 { yyval
.ttype
= chainon (yyvsp
[-2].ttype
, build_tree_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
6003 #line 2146 "parse.y"
6004 { yyval
.ttype
= NULL_TREE
; ;
6007 #line 2148 "parse.y"
6008 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6011 #line 2156 "parse.y"
6012 { yyval
.ttype
= build_nt (CONSTRUCTOR
, NULL_TREE
, NULL_TREE
);
6013 TREE_HAS_CONSTRUCTOR (yyval
.ttype
) = 1; ;
6016 #line 2159 "parse.y"
6017 { yyval
.ttype
= build_nt (CONSTRUCTOR
, NULL_TREE
, nreverse (yyvsp
[-1].ttype
));
6018 TREE_HAS_CONSTRUCTOR (yyval
.ttype
) = 1; ;
6021 #line 2162 "parse.y"
6022 { yyval
.ttype
= build_nt (CONSTRUCTOR
, NULL_TREE
, nreverse (yyvsp
[-2].ttype
));
6023 TREE_HAS_CONSTRUCTOR (yyval
.ttype
) = 1; ;
6026 #line 2165 "parse.y"
6027 { yyval
.ttype
= NULL_TREE
; ;
6030 #line 2172 "parse.y"
6031 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyval
.ttype
); ;
6034 #line 2174 "parse.y"
6035 { yyval
.ttype
= expr_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
6038 #line 2177 "parse.y"
6039 { yyval
.ttype
= build_expr_list (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
6042 #line 2179 "parse.y"
6043 { yyval
.ttype
= expr_tree_cons (yyvsp
[-2].ttype
, yyvsp
[0].ttype
, yyval
.ttype
); ;
6046 #line 2181 "parse.y"
6047 { yyval
.ttype
= build_expr_list (yyval
.ttype
, yyvsp
[0].ttype
); ;
6050 #line 2183 "parse.y"
6051 { yyval
.ttype
= expr_tree_cons (yyvsp
[-2].ttype
, yyvsp
[0].ttype
, yyval
.ttype
); ;
6054 #line 2188 "parse.y"
6055 { start_function (NULL_TREE
, TREE_VALUE (yyvsp
[0].ttype
),
6057 reinit_parse_for_function (); ;
6060 #line 2194 "parse.y"
6062 int nested
= (hack_decl_function_context
6063 (current_function_decl
) != NULL_TREE
);
6064 finish_function (lineno
, (int)yyvsp
[-1].itype
, nested
);
6065 process_next_inline (yyvsp
[-3].ttype
);
6069 #line 2201 "parse.y"
6070 { process_next_inline (yyvsp
[-2].ttype
); ;
6073 #line 2203 "parse.y"
6074 { process_next_inline (yyvsp
[-2].ttype
); ;
6077 #line 2215 "parse.y"
6078 { replace_defarg (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
6081 #line 2217 "parse.y"
6082 { replace_defarg (yyvsp
[-2].ttype
, error_mark_node
); ;
6085 #line 2222 "parse.y"
6086 { do_pending_defargs (); ;
6089 #line 2224 "parse.y"
6090 { do_pending_defargs (); ;
6093 #line 2229 "parse.y"
6094 { yyvsp
[0].itype
= suspend_momentary ();
6095 yyval
.ttype
= start_enum (yyvsp
[-1].ttype
); ;
6098 #line 2232 "parse.y"
6099 { yyval
.ftype
.t
= finish_enum (yyvsp
[-3].ttype
, yyvsp
[-2].ttype
);
6100 yyval
.ftype
.new_type_flag
= 1;
6101 resume_momentary ((int) yyvsp
[-4].itype
);
6102 check_for_missing_semicolon (yyvsp
[-3].ttype
); ;
6105 #line 2237 "parse.y"
6106 { yyval
.ftype
.t
= finish_enum (start_enum (yyvsp
[-2].ttype
), NULL_TREE
);
6107 yyval
.ftype
.new_type_flag
= 1;
6108 check_for_missing_semicolon (yyval
.ftype
.t
); ;
6111 #line 2241 "parse.y"
6112 { yyvsp
[0].itype
= suspend_momentary ();
6113 yyval
.ttype
= start_enum (make_anon_name ()); ;
6116 #line 2244 "parse.y"
6117 { yyval
.ftype
.t
= finish_enum (yyvsp
[-3].ttype
, yyvsp
[-2].ttype
);
6118 resume_momentary ((int) yyvsp
[-5].itype
);
6119 check_for_missing_semicolon (yyvsp
[-3].ttype
);
6120 yyval
.ftype
.new_type_flag
= 1; ;
6123 #line 2249 "parse.y"
6124 { yyval
.ftype
.t
= finish_enum (start_enum (make_anon_name()), NULL_TREE
);
6125 yyval
.ftype
.new_type_flag
= 1;
6126 check_for_missing_semicolon (yyval
.ftype
.t
); ;
6129 #line 2253 "parse.y"
6130 { yyval
.ftype
.t
= xref_tag (enum_type_node
, yyvsp
[0].ttype
, NULL_TREE
, 1);
6131 yyval
.ftype
.new_type_flag
= 0; ;
6134 #line 2256 "parse.y"
6135 { yyval
.ftype
.t
= xref_tag (enum_type_node
, yyvsp
[0].ttype
, NULL_TREE
, 1);
6136 yyval
.ftype
.new_type_flag
= 0; ;
6139 #line 2259 "parse.y"
6140 { yyval
.ftype
.t
= yyvsp
[0].ttype
;
6141 yyval
.ftype
.new_type_flag
= 0; ;
6144 #line 2263 "parse.y"
6145 { reset_specialization(); ;
6148 #line 2265 "parse.y"
6153 yyval
.ttype
= yyvsp
[-5].ttype
;
6155 /* Need to rework class nesting in the
6156 presence of nested classes, etc. */
6157 shadow_tag (CLASSTYPE_AS_LIST (yyvsp
[-5].ttype
)); */
6159 if (yychar
== YYEMPTY
)
6161 semi
= yychar
== ';';
6162 /* finish_struct nukes this anyway; if
6163 finish_exception does too, then it can go. */
6165 note_got_semicolon (yyvsp
[-5].ttype
);
6167 if (TREE_CODE (yyvsp
[-5].ttype
) == ENUMERAL_TYPE
)
6171 yyval
.ttype
= finish_struct (yyvsp
[-5].ttype
, yyvsp
[-2].ttype
, yyvsp
[0].ttype
, semi
);
6172 if (semi
) note_got_semicolon (yyval
.ttype
);
6178 check_for_missing_semicolon (yyvsp
[-5].ttype
);
6179 if (current_scope () == current_function_decl
)
6180 do_pending_defargs ();
6184 #line 2299 "parse.y"
6187 && current_scope () == current_function_decl
)
6188 do_pending_inlines ();
6192 #line 2305 "parse.y"
6194 yyval
.ftype
.t
= yyvsp
[-3].ttype
;
6195 yyval
.ftype
.new_type_flag
= 1;
6196 if (current_class_type
== NULL_TREE
)
6197 clear_inline_text_obstack ();
6201 #line 2312 "parse.y"
6203 yyval
.ftype
.t
= yyvsp
[0].ttype
;
6204 yyval
.ftype
.new_type_flag
= 0;
6205 /* struct B: public A; is not accepted by the WP grammar. */
6206 if (TYPE_BINFO_BASETYPES (yyval
.ftype
.t
) && !TYPE_SIZE (yyval
.ftype
.t
)
6207 && ! TYPE_BEING_DEFINED (yyval
.ftype
.t
))
6208 cp_error ("base clause without member specification for `%#T'",
6213 #line 2331 "parse.y"
6214 { if (pedantic
&& !in_system_header
)
6215 pedwarn ("comma at end of enumerator list"); ;
6218 #line 2338 "parse.y"
6219 { error ("storage class specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp
[0].ttype
)); ;
6222 #line 2340 "parse.y"
6223 { error ("type specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp
[0].ttype
)); ;
6226 #line 2342 "parse.y"
6227 { error ("type qualifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp
[0].ttype
)); ;
6230 #line 2344 "parse.y"
6231 { error ("no body nor ';' separates two class, struct or union declarations"); ;
6234 #line 2349 "parse.y"
6235 { current_aggr
= yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
6238 #line 2354 "parse.y"
6239 { current_aggr
= yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
6242 #line 2359 "parse.y"
6244 current_aggr
= yyvsp
[-2].ttype
;
6245 yyval
.ttype
= handle_class_head (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6249 #line 2364 "parse.y"
6251 current_aggr
= yyvsp
[-3].ttype
;
6252 yyval
.ttype
= handle_class_head (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6256 #line 2369 "parse.y"
6258 current_aggr
= yyvsp
[-2].ttype
;
6259 yyval
.ttype
= handle_class_head (yyvsp
[-2].ttype
, NULL_TREE
, yyvsp
[0].ttype
);
6263 #line 2374 "parse.y"
6264 { current_aggr
= yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
6267 #line 2376 "parse.y"
6268 { current_aggr
= yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
6271 #line 2381 "parse.y"
6272 { yyval
.ttype
= xref_tag (current_aggr
, yyvsp
[0].ttype
, NULL_TREE
, 0); ;
6275 #line 2386 "parse.y"
6276 { yyval
.ttype
= xref_tag (current_aggr
, yyvsp
[0].ttype
, NULL_TREE
, 1); ;
6279 #line 2389 "parse.y"
6281 yyval
.ttype
= yyvsp
[-1].ttype
;
6283 xref_basetypes (current_aggr
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6287 #line 2395 "parse.y"
6289 yyval
.ttype
= TREE_TYPE (yyvsp
[-1].ttype
);
6290 if (TREE_INT_CST_LOW (current_aggr
) == union_type
6291 && TREE_CODE (yyval
.ttype
) != UNION_TYPE
)
6292 cp_pedwarn ("`union' tag used in declaring `%#T'", yyval
.ttype
);
6293 else if (TREE_CODE (yyval
.ttype
) == UNION_TYPE
6294 && TREE_INT_CST_LOW (current_aggr
) != union_type
)
6295 cp_pedwarn ("non-`union' tag used in declaring `%#T'", yyval
.ttype
);
6298 if (IS_AGGR_TYPE (yyval
.ttype
) && CLASSTYPE_USE_TEMPLATE (yyval
.ttype
))
6300 if (CLASSTYPE_IMPLICIT_INSTANTIATION (yyval
.ttype
)
6301 && TYPE_SIZE (yyval
.ttype
) == NULL_TREE
)
6303 SET_CLASSTYPE_TEMPLATE_SPECIALIZATION (yyval
.ttype
);
6304 if (processing_template_decl
)
6305 push_template_decl (TYPE_MAIN_DECL (yyval
.ttype
));
6307 else if (CLASSTYPE_TEMPLATE_INSTANTIATION (yyval
.ttype
))
6308 cp_error ("specialization after instantiation of `%T'", yyval
.ttype
);
6310 xref_basetypes (current_aggr
, yyvsp
[-1].ttype
, yyval
.ttype
, yyvsp
[0].ttype
);
6315 #line 2424 "parse.y"
6316 { yyval
.ttype
= xref_tag (yyval
.ttype
, make_anon_name (), NULL_TREE
, 0);
6317 yyungetc ('{', 1); ;
6320 #line 2435 "parse.y"
6321 { yyval
.ttype
= NULL_TREE
; ;
6324 #line 2437 "parse.y"
6325 { yyungetc(':', 1); yyval
.ttype
= NULL_TREE
; ;
6328 #line 2439 "parse.y"
6329 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6332 #line 2445 "parse.y"
6333 { yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
); ;
6336 #line 2450 "parse.y"
6338 tree type
= TREE_TYPE (yyvsp
[0].ttype
);
6339 if (! is_aggr_type (type
, 1))
6340 yyval
.ttype
= NULL_TREE
;
6341 else if (current_aggr
== signature_type_node
6342 && (! type
) && (! IS_SIGNATURE (type
)))
6344 error ("class name not allowed as base signature");
6345 yyval
.ttype
= NULL_TREE
;
6347 else if (current_aggr
== signature_type_node
)
6349 sorry ("signature inheritance, base type `%s' ignored",
6350 IDENTIFIER_POINTER (yyval
.ttype
));
6351 yyval
.ttype
= build_tree_list (access_public_node
, type
);
6353 else if (type
&& IS_SIGNATURE (type
))
6355 error ("signature name not allowed as base class");
6356 yyval
.ttype
= NULL_TREE
;
6359 yyval
.ttype
= build_tree_list (access_default_node
, type
);
6363 #line 2475 "parse.y"
6365 tree type
= TREE_TYPE (yyvsp
[0].ttype
);
6366 if (current_aggr
== signature_type_node
)
6367 error ("access and source specifiers not allowed in signature");
6368 if (! IS_AGGR_TYPE (type
))
6369 yyval
.ttype
= NULL_TREE
;
6370 else if (current_aggr
== signature_type_node
6371 && (! type
) && (! IS_SIGNATURE (type
)))
6373 error ("class name not allowed as base signature");
6374 yyval
.ttype
= NULL_TREE
;
6376 else if (current_aggr
== signature_type_node
)
6378 sorry ("signature inheritance, base type `%s' ignored",
6379 IDENTIFIER_POINTER (yyval
.ttype
));
6380 yyval
.ttype
= build_tree_list (access_public_node
, type
);
6382 else if (type
&& IS_SIGNATURE (type
))
6384 error ("signature name not allowed as base class");
6385 yyval
.ttype
= NULL_TREE
;
6388 yyval
.ttype
= build_tree_list (yyval
.ttype
, type
);
6392 #line 2505 "parse.y"
6393 { yyval
.ttype
= TYPE_MAIN_DECL (yyvsp
[0].ttype
); ;
6396 #line 2508 "parse.y"
6398 if (current_aggr
== signature_type_node
)
6400 if (IS_AGGR_TYPE (TREE_TYPE (yyvsp
[-1].ttype
)))
6402 sorry ("`sigof' as base signature specifier");
6403 yyval
.ttype
= TREE_TYPE (yyvsp
[-1].ttype
);
6407 error ("`sigof' applied to non-aggregate expression");
6408 yyval
.ttype
= error_mark_node
;
6413 error ("`sigof' in struct or class declaration");
6414 yyval
.ttype
= error_mark_node
;
6419 #line 2529 "parse.y"
6421 if (current_aggr
== signature_type_node
)
6423 if (IS_AGGR_TYPE (groktypename (yyvsp
[-1].ftype
.t
)))
6425 sorry ("`sigof' as base signature specifier");
6426 yyval
.ttype
= groktypename (yyvsp
[-1].ftype
.t
);
6430 error ("`sigof' applied to non-aggregate expression");
6431 yyval
.ttype
= error_mark_node
;
6436 error ("`sigof' in struct or class declaration");
6437 yyval
.ttype
= error_mark_node
;
6442 #line 2554 "parse.y"
6443 { if (yyval
.ttype
!= ridpointers
[(int)RID_VIRTUAL
])
6444 sorry ("non-virtual access");
6445 yyval
.ttype
= access_default_virtual_node
; ;
6448 #line 2558 "parse.y"
6450 if (yyvsp
[-1].ttype
== access_protected_node
)
6452 warning ("`protected' access not implemented");
6453 yyvsp
[-1].ttype
= access_public_node
;
6456 else if (yyvsp
[-1].ttype
== access_public_node
)
6458 if (yyvsp
[-2].ttype
== access_private_node
)
6461 error ("base class cannot be public and private");
6463 else if (yyvsp
[-2].ttype
== access_default_virtual_node
)
6464 yyval
.ttype
= access_public_virtual_node
;
6466 else /* $2 == access_private_node */
6468 if (yyvsp
[-2].ttype
== access_public_node
)
6470 else if (yyvsp
[-2].ttype
== access_default_virtual_node
)
6471 yyval
.ttype
= access_private_virtual_node
;
6476 #line 2584 "parse.y"
6477 { if (yyvsp
[-1].ttype
!= ridpointers
[(int)RID_VIRTUAL
])
6478 sorry ("non-virtual access");
6479 if (yyval
.ttype
== access_public_node
)
6480 yyval
.ttype
= access_public_virtual_node
;
6481 else if (yyval
.ttype
== access_private_node
)
6482 yyval
.ttype
= access_private_virtual_node
; ;
6485 #line 2594 "parse.y"
6486 { tree t
= yyvsp
[-1].ttype
;
6487 push_obstacks_nochange ();
6488 end_temporary_allocation ();
6490 if (t
== error_mark_node
6491 || ! IS_AGGR_TYPE (t
))
6493 t
= yyvsp
[-1].ttype
= make_lang_type (RECORD_TYPE
);
6494 pushtag (make_anon_name (), t
, 0);
6497 duplicate_tag_error (t
);
6498 if (TYPE_SIZE (t
) || TYPE_BEING_DEFINED (t
))
6500 t
= make_lang_type (TREE_CODE (t
));
6501 pushtag (TYPE_IDENTIFIER (yyvsp
[-1].ttype
), t
, 0);
6502 yyvsp
[-1].ttype
= t
;
6504 if (processing_template_decl
&& TYPE_CONTEXT (t
)
6505 && ! current_class_type
)
6506 push_template_decl (TYPE_STUB_DECL (t
));
6508 TYPE_BEING_DEFINED (t
) = 1;
6509 if (IS_AGGR_TYPE (t
) && CLASSTYPE_USE_TEMPLATE (t
))
6511 if (CLASSTYPE_IMPLICIT_INSTANTIATION (t
)
6512 && TYPE_SIZE (t
) == NULL_TREE
)
6514 SET_CLASSTYPE_TEMPLATE_SPECIALIZATION (t
);
6515 if (processing_template_decl
)
6516 push_template_decl (TYPE_MAIN_DECL (t
));
6518 else if (CLASSTYPE_TEMPLATE_INSTANTIATION (t
))
6519 cp_error ("specialization after instantiation of `%T'", t
);
6521 /* Reset the interface data, at the earliest possible
6522 moment, as it might have been set via a class foo;
6524 /* Don't change signatures. */
6525 if (! IS_SIGNATURE (t
))
6527 extern tree pending_vtables
;
6529 tree name
= TYPE_IDENTIFIER (t
);
6531 if (! ANON_AGGRNAME_P (name
))
6533 CLASSTYPE_INTERFACE_ONLY (t
) = interface_only
;
6534 SET_CLASSTYPE_INTERFACE_UNKNOWN_X
6535 (t
, interface_unknown
);
6538 /* Record how to set the access of this class's
6539 virtual functions. If write_virtuals == 2 or 3, then
6540 inline virtuals are ``extern inline''. */
6541 switch (write_virtuals
)
6548 needs_writing
= !! value_member (name
, pending_vtables
);
6551 needs_writing
= ! CLASSTYPE_INTERFACE_ONLY (t
)
6552 && CLASSTYPE_INTERFACE_KNOWN (t
);
6557 CLASSTYPE_VTABLE_NEEDS_WRITING (t
) = needs_writing
;
6560 t
= TYPE_IDENTIFIER (yyvsp
[-1].ttype
);
6561 if (t
&& IDENTIFIER_TEMPLATE (t
))
6562 overload_template_name (t
, 1);
6567 #line 2677 "parse.y"
6569 yyval
.ttype
= build_self_reference ();
6573 #line 2684 "parse.y"
6574 { if (yyval
.ttype
) yyval
.ttype
= build_tree_list (access_public_node
, yyval
.ttype
); ;
6577 #line 2686 "parse.y"
6579 if (current_aggr
== signature_type_node
)
6580 yyval
.ttype
= build_tree_list (access_public_node
, yyvsp
[0].ttype
);
6582 yyval
.ttype
= build_tree_list (access_default_node
, yyvsp
[0].ttype
);
6583 if (yyvsp
[-1].ttype
) yyval
.ttype
= tree_cons (access_public_node
, yyvsp
[-1].ttype
, yyval
.ttype
);
6587 #line 2694 "parse.y"
6589 tree visspec
= yyvsp
[-2].ttype
;
6591 if (current_aggr
== signature_type_node
)
6593 error ("access specifier not allowed in signature");
6594 visspec
= access_public_node
;
6596 yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (visspec
, yyvsp
[0].ttype
));
6600 #line 2705 "parse.y"
6602 if (current_aggr
== signature_type_node
)
6603 error ("access specifier not allowed in signature");
6607 #line 2715 "parse.y"
6608 { if (yyval
.ttype
== void_type_node
) yyval
.ttype
= NULL_TREE
;
6612 #line 2718 "parse.y"
6613 { /* In pushdecl, we created a reverse list of names
6614 in this binding level. Make sure that the chain
6615 of what we're trying to add isn't the item itself
6616 (which can happen with what pushdecl's doing). */
6617 if (yyvsp
[0].ttype
!= NULL_TREE
&& yyvsp
[0].ttype
!= void_type_node
)
6619 if (TREE_CHAIN (yyvsp
[0].ttype
) != yyval
.ttype
)
6620 yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
);
6622 yyval
.ttype
= yyvsp
[0].ttype
;
6627 #line 2734 "parse.y"
6631 #line 2736 "parse.y"
6632 { error ("missing ';' before right brace");
6633 yyungetc ('}', 0); ;
6636 #line 2741 "parse.y"
6637 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6640 #line 2743 "parse.y"
6641 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6644 #line 2745 "parse.y"
6645 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6648 #line 2747 "parse.y"
6649 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6652 #line 2749 "parse.y"
6653 { yyval
.ttype
= NULL_TREE
; ;
6656 #line 2751 "parse.y"
6657 { yyval
.ttype
= yyvsp
[0].ttype
;
6658 pedantic
= yyvsp
[-1].itype
; ;
6661 #line 2760 "parse.y"
6662 { yyval
.ttype
= grok_x_components (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6665 #line 2762 "parse.y"
6666 { yyval
.ttype
= grok_x_components (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6669 #line 2764 "parse.y"
6670 { yyval
.ttype
= grokfield (yyval
.ttype
, NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6671 build_tree_list (yyvsp
[-1].ttype
, NULL_TREE
)); ;
6674 #line 2767 "parse.y"
6675 { yyval
.ttype
= grokfield (yyval
.ttype
, NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6676 build_tree_list (yyvsp
[-1].ttype
, NULL_TREE
)); ;
6679 #line 2770 "parse.y"
6680 { yyval
.ttype
= grokbitfield (NULL_TREE
, NULL_TREE
, yyvsp
[0].ttype
); ;
6683 #line 2772 "parse.y"
6684 { yyval
.ttype
= NULL_TREE
; ;
6687 #line 2783 "parse.y"
6688 { tree specs
, attrs
;
6689 split_specs_attrs (yyvsp
[-4].ttype
, &specs
, &attrs
);
6690 yyval
.ttype
= grokfield (yyvsp
[-3].ttype
, specs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6691 build_tree_list (yyvsp
[-1].ttype
, attrs
)); ;
6694 #line 2788 "parse.y"
6695 { yyval
.ttype
= grokfield (yyval
.ttype
, NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6696 build_tree_list (yyvsp
[-1].ttype
, NULL_TREE
)); ;
6699 #line 2791 "parse.y"
6700 { yyval
.ttype
= do_class_using_decl (yyvsp
[0].ttype
); ;
6703 #line 2793 "parse.y"
6705 if (yyvsp
[-1].ttype
)
6706 end_template_decl ();
6708 end_specialization ();
6710 if (yyvsp
[0].ttype
&& DECL_TEMPLATE_INFO (yyvsp
[0].ttype
)
6711 && !DECL_TEMPLATE_SPECIALIZATION (yyvsp
[0].ttype
))
6713 yyval
.ttype
= DECL_TI_TEMPLATE (yyvsp
[0].ttype
);
6714 check_member_template (yyval
.ttype
);
6716 else if (yyvsp
[0].ttype
)
6717 yyval
.ttype
= yyvsp
[0].ttype
;
6720 cp_error("invalid member template declaration");
6721 yyval
.ttype
= NULL_TREE
;
6726 #line 2818 "parse.y"
6727 { yyval
.ttype
= NULL_TREE
; ;
6730 #line 2821 "parse.y"
6732 /* In this context, void_type_node encodes
6733 friends. They have been recorded elsewhere. */
6734 if (yyval
.ttype
== void_type_node
)
6735 yyval
.ttype
= yyvsp
[0].ttype
;
6737 yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
);
6741 #line 2833 "parse.y"
6742 { yyval
.ttype
= NULL_TREE
; ;
6745 #line 2836 "parse.y"
6747 /* In this context, void_type_node encodes
6748 friends. They have been recorded elsewhere. */
6749 if (yyval
.ttype
== void_type_node
)
6750 yyval
.ttype
= yyvsp
[0].ttype
;
6752 yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
);
6756 #line 2858 "parse.y"
6757 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6758 &prefix_attributes
);
6759 yyvsp
[-4].ttype
= current_declspecs
;
6760 yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6761 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6764 #line 2864 "parse.y"
6765 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6766 &prefix_attributes
);
6767 yyvsp
[-4].ttype
= current_declspecs
;
6768 yyval
.ttype
= grokbitfield (yyval
.ttype
, current_declspecs
, yyvsp
[-1].ttype
);
6769 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6772 #line 2873 "parse.y"
6773 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6774 &prefix_attributes
);
6775 yyvsp
[-4].ttype
= current_declspecs
;
6776 yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6777 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6780 #line 2879 "parse.y"
6781 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6782 &prefix_attributes
);
6783 yyvsp
[-4].ttype
= current_declspecs
;
6784 yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6785 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6788 #line 2885 "parse.y"
6789 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6790 &prefix_attributes
);
6791 yyvsp
[-4].ttype
= current_declspecs
;
6792 yyval
.ttype
= grokbitfield (yyval
.ttype
, current_declspecs
, yyvsp
[-1].ttype
);
6793 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6796 #line 2891 "parse.y"
6797 { split_specs_attrs (yyvsp
[-3].ttype
, ¤t_declspecs
,
6798 &prefix_attributes
);
6799 yyvsp
[-3].ttype
= current_declspecs
;
6800 yyval
.ttype
= grokbitfield (NULL_TREE
, current_declspecs
, yyvsp
[-1].ttype
);
6801 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6804 #line 2900 "parse.y"
6805 { yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6806 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6809 #line 2903 "parse.y"
6810 { yyval
.ttype
= grokbitfield (yyval
.ttype
, current_declspecs
, yyvsp
[-1].ttype
);
6811 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6814 #line 2909 "parse.y"
6815 { yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6816 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6819 #line 2912 "parse.y"
6820 { yyval
.ttype
= grokbitfield (yyval
.ttype
, current_declspecs
, yyvsp
[-1].ttype
);
6821 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6824 #line 2915 "parse.y"
6825 { yyval
.ttype
= grokbitfield (NULL_TREE
, current_declspecs
, yyvsp
[-1].ttype
);
6826 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6829 #line 2926 "parse.y"
6830 { TREE_CHAIN (yyvsp
[0].ttype
) = yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
6833 #line 2931 "parse.y"
6834 { yyval
.ttype
= build_enumerator (yyval
.ttype
, NULL_TREE
); ;
6837 #line 2933 "parse.y"
6838 { yyval
.ttype
= build_enumerator (yyval
.ttype
, yyvsp
[0].ttype
); ;
6841 #line 2939 "parse.y"
6842 { yyval
.ftype
.t
= build_decl_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
6843 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
6846 #line 2942 "parse.y"
6847 { yyval
.ftype
.t
= build_decl_list (yyvsp
[0].ftype
.t
, NULL_TREE
);
6848 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
6851 #line 2947 "parse.y"
6854 pedwarn ("ANSI C++ forbids array dimensions with parenthesized type in new");
6855 yyval
.ftype
.t
= build_parse_node (ARRAY_REF
, TREE_VALUE (yyvsp
[-4].ftype
.t
), yyvsp
[-1].ttype
);
6856 yyval
.ftype
.t
= build_decl_list (TREE_PURPOSE (yyvsp
[-4].ftype
.t
), yyval
.ftype
.t
);
6857 yyval
.ftype
.new_type_flag
= yyvsp
[-4].ftype
.new_type_flag
;
6861 #line 2958 "parse.y"
6862 { yyval
.ttype
= NULL_TREE
; ;
6865 #line 2960 "parse.y"
6866 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
6869 #line 2965 "parse.y"
6870 { yyval
.ftype
.t
= IDENTIFIER_AS_LIST (yyvsp
[0].ttype
);
6871 yyval
.ftype
.new_type_flag
= 0; ;
6874 #line 2968 "parse.y"
6875 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-1].ftype
.t
);
6876 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
6879 #line 2977 "parse.y"
6880 { yyval
.itype
= suspend_momentary (); ;
6883 #line 2982 "parse.y"
6884 { resume_momentary ((int) yyvsp
[-1].itype
); yyval
.ttype
= yyvsp
[0].ttype
; ;
6887 #line 2988 "parse.y"
6888 { resume_momentary ((int) yyvsp
[-3].itype
); yyval
.ttype
= yyvsp
[-1].ttype
; ;
6891 #line 2990 "parse.y"
6892 { resume_momentary ((int) yyvsp
[-3].itype
); yyval
.ttype
= yyvsp
[-1].ttype
; ;
6895 #line 2992 "parse.y"
6896 { resume_momentary ((int) yyvsp
[-1].itype
); yyval
.ttype
= empty_parms (); ;
6899 #line 2994 "parse.y"
6900 { resume_momentary ((int) yyvsp
[-3].itype
); yyval
.ttype
= NULL_TREE
; ;
6903 #line 3001 "parse.y"
6904 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6907 #line 3003 "parse.y"
6908 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6911 #line 3005 "parse.y"
6912 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6915 #line 3007 "parse.y"
6916 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6919 #line 3009 "parse.y"
6920 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6921 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
6925 #line 3017 "parse.y"
6927 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
6929 yyval
.ttype
= lookup_name (yyvsp
[0].ttype
, 1);
6930 if (current_class_type
6931 && TYPE_BEING_DEFINED (current_class_type
)
6932 && ! IDENTIFIER_CLASS_VALUE (yyvsp
[0].ttype
))
6934 /* Remember that this name has been used in the class
6935 definition, as per [class.scope0] */
6936 pushdecl_class_level (yyval
.ttype
);
6940 yyval
.ttype
= yyvsp
[0].ttype
;
6944 #line 3034 "parse.y"
6946 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
6947 yyval
.ttype
= IDENTIFIER_GLOBAL_VALUE (yyvsp
[0].ttype
);
6949 yyval
.ttype
= yyvsp
[0].ttype
;
6950 got_scope
= NULL_TREE
;
6954 #line 3047 "parse.y"
6955 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6958 #line 3052 "parse.y"
6959 { yyval
.ttype
= get_type_decl (yyvsp
[0].ttype
); ;
6962 #line 3057 "parse.y"
6963 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6966 #line 3059 "parse.y"
6967 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
6970 #line 3061 "parse.y"
6971 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, NULL_TREE
); ;
6974 #line 3063 "parse.y"
6975 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
6978 #line 3065 "parse.y"
6979 { push_nested_class (yyvsp
[-1].ttype
, 3);
6980 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyval
.ttype
, yyvsp
[0].ttype
);
6981 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
; ;
6984 #line 3076 "parse.y"
6985 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6988 #line 3078 "parse.y"
6989 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6992 #line 3080 "parse.y"
6993 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6996 #line 3082 "parse.y"
6997 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
7000 #line 3084 "parse.y"
7001 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7002 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
7006 #line 3092 "parse.y"
7007 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7010 #line 3094 "parse.y"
7011 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7014 #line 3096 "parse.y"
7015 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
7018 #line 3098 "parse.y"
7019 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
7022 #line 3100 "parse.y"
7023 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7024 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
7028 #line 3108 "parse.y"
7029 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7032 #line 3110 "parse.y"
7033 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
7036 #line 3112 "parse.y"
7037 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
7040 #line 3114 "parse.y"
7041 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, NULL_TREE
); ;
7044 #line 3116 "parse.y"
7045 { if (OP0 (yyval
.ttype
) != current_class_type
)
7047 push_nested_class (OP0 (yyval
.ttype
), 3);
7048 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
;
7053 #line 3123 "parse.y"
7054 { got_scope
= NULL_TREE
;
7055 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7056 if (yyvsp
[-1].ttype
!= current_class_type
)
7058 push_nested_class (yyvsp
[-1].ttype
, 3);
7059 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
;
7064 #line 3135 "parse.y"
7065 { got_scope
= NULL_TREE
;
7066 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyval
.ttype
, yyvsp
[0].ttype
); ;
7069 #line 3138 "parse.y"
7070 { got_scope
= NULL_TREE
;
7071 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7074 #line 3144 "parse.y"
7075 { got_scope
= NULL_TREE
;
7076 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyval
.ttype
, yyvsp
[0].ttype
); ;
7079 #line 3147 "parse.y"
7080 { got_scope
= NULL_TREE
;
7081 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7084 #line 3154 "parse.y"
7085 { yyval
.ttype
= yyvsp
[0].ttype
; ;
7088 #line 3159 "parse.y"
7089 { yyval
.ttype
= build_functional_cast (yyvsp
[-3].ftype
.t
, yyvsp
[-1].ttype
); ;
7092 #line 3161 "parse.y"
7093 { yyval
.ttype
= reparse_decl_as_expr (yyvsp
[-3].ftype
.t
, yyvsp
[-1].ttype
); ;
7096 #line 3163 "parse.y"
7097 { yyval
.ttype
= reparse_absdcl_as_expr (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7100 #line 3175 "parse.y"
7101 { yyval
.ttype
= yyvsp
[0].ttype
; ;
7104 #line 3182 "parse.y"
7106 if (TREE_CODE (yyvsp
[-1].ttype
) == IDENTIFIER_NODE
)
7108 yyval
.ttype
= lastiddecl
;
7109 /* Remember that this name has been used in the class
7110 definition, as per [class.scope0] */
7111 if (current_class_type
7112 && TYPE_BEING_DEFINED (current_class_type
)
7113 && ! IDENTIFIER_CLASS_VALUE (yyvsp
[-1].ttype
))
7114 pushdecl_class_level (yyval
.ttype
);
7116 got_scope
= yyval
.ttype
= TREE_TYPE (yyval
.ttype
);
7120 #line 3196 "parse.y"
7122 if (TREE_CODE (yyvsp
[-1].ttype
) == IDENTIFIER_NODE
)
7123 yyval
.ttype
= lastiddecl
;
7124 got_scope
= yyval
.ttype
= TREE_TYPE (yyval
.ttype
);
7128 #line 3202 "parse.y"
7130 if (TREE_CODE (yyval
.ttype
) == IDENTIFIER_NODE
)
7131 yyval
.ttype
= lastiddecl
;
7132 got_scope
= yyval
.ttype
;
7136 #line 3208 "parse.y"
7137 { got_scope
= yyval
.ttype
= complete_type (TREE_TYPE (yyvsp
[-1].ttype
)); ;
7140 #line 3224 "parse.y"
7141 { yyval
.ttype
= yyvsp
[0].ttype
; ;
7144 #line 3229 "parse.y"
7146 if (TREE_CODE_CLASS (TREE_CODE (yyvsp
[-1].ttype
)) == 't')
7147 yyval
.ttype
= make_typename_type (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7148 else if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
7149 cp_error ("`%T' is not a class or namespace", yyvsp
[0].ttype
);
7151 yyval
.ttype
= yyvsp
[0].ttype
;
7155 #line 3241 "parse.y"
7157 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
7158 cp_error ("`%T' is not a class or namespace", yyvsp
[0].ttype
);
7162 #line 3246 "parse.y"
7164 if (TREE_CODE_CLASS (TREE_CODE (yyvsp
[-1].ttype
)) == 't')
7165 yyval
.ttype
= make_typename_type (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7166 else if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
7167 cp_error ("`%T' is not a class or namespace", yyvsp
[0].ttype
);
7169 yyval
.ttype
= yyvsp
[0].ttype
;
7173 #line 3258 "parse.y"
7175 if (TREE_CODE (yyvsp
[-1].ttype
) != IDENTIFIER_NODE
)
7176 yyval
.ttype
= lastiddecl
;
7177 got_scope
= yyval
.ttype
= complete_type (TREE_TYPE (yyval
.ttype
));
7181 #line 3264 "parse.y"
7183 if (TREE_CODE (yyvsp
[-1].ttype
) != IDENTIFIER_NODE
)
7184 yyval
.ttype
= lastiddecl
;
7185 got_scope
= yyval
.ttype
= complete_type (TREE_TYPE (yyval
.ttype
));
7189 #line 3270 "parse.y"
7190 { got_scope
= yyval
.ttype
= complete_type (TREE_TYPE (yyval
.ttype
)); ;
7193 #line 3274 "parse.y"
7195 if (TREE_CODE (yyval
.ttype
) == IDENTIFIER_NODE
)
7196 yyval
.ttype
= lastiddecl
;
7197 got_scope
= yyval
.ttype
;
7201 #line 3283 "parse.y"
7203 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
7204 yyval
.ttype
= IDENTIFIER_GLOBAL_VALUE (yyvsp
[0].ttype
);
7206 yyval
.ttype
= yyvsp
[0].ttype
;
7207 got_scope
= NULL_TREE
;
7211 #line 3292 "parse.y"
7212 { yyval
.ttype
= yyvsp
[0].ttype
; ;
7215 #line 3297 "parse.y"
7216 { got_scope
= NULL_TREE
; ;
7219 #line 3299 "parse.y"
7220 { yyval
.ttype
= yyvsp
[-1].ttype
; got_scope
= NULL_TREE
; ;
7223 #line 3306 "parse.y"
7224 { got_scope
= void_type_node
; ;
7227 #line 3312 "parse.y"
7228 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7231 #line 3314 "parse.y"
7232 { yyval
.ttype
= make_pointer_declarator (yyvsp
[0].ttype
, NULL_TREE
); ;
7235 #line 3316 "parse.y"
7236 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7239 #line 3318 "parse.y"
7240 { yyval
.ttype
= make_reference_declarator (yyvsp
[0].ttype
, NULL_TREE
); ;
7243 #line 3320 "parse.y"
7244 { tree arg
= make_pointer_declarator (yyvsp
[0].ttype
, NULL_TREE
);
7245 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, arg
);
7249 #line 3324 "parse.y"
7250 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7251 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
7255 #line 3333 "parse.y"
7256 { yyval
.ttype
= build_parse_node (ARRAY_REF
, NULL_TREE
, yyvsp
[-1].ttype
); ;
7259 #line 3335 "parse.y"
7260 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
7263 #line 3341 "parse.y"
7264 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7267 #line 3343 "parse.y"
7268 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
7271 #line 3345 "parse.y"
7272 { yyval
.ttype
= make_pointer_declarator (yyvsp
[0].ftype
.t
, NULL_TREE
); ;
7275 #line 3347 "parse.y"
7276 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, NULL_TREE
); ;
7279 #line 3349 "parse.y"
7280 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7283 #line 3351 "parse.y"
7284 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
7287 #line 3353 "parse.y"
7288 { yyval
.ttype
= make_reference_declarator (yyvsp
[0].ftype
.t
, NULL_TREE
); ;
7291 #line 3355 "parse.y"
7292 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, NULL_TREE
); ;
7295 #line 3357 "parse.y"
7296 { tree arg
= make_pointer_declarator (yyvsp
[0].ttype
, NULL_TREE
);
7297 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, arg
);
7301 #line 3361 "parse.y"
7302 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7303 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
7307 #line 3370 "parse.y"
7308 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
7311 #line 3374 "parse.y"
7312 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7315 #line 3376 "parse.y"
7316 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7319 #line 3378 "parse.y"
7320 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
7323 #line 3380 "parse.y"
7324 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, NULL_TREE
); ;
7327 #line 3382 "parse.y"
7328 { yyval
.ttype
= make_call_declarator (NULL_TREE
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7331 #line 3384 "parse.y"
7332 { set_quals_and_spec (yyval
.ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7335 #line 3386 "parse.y"
7336 { set_quals_and_spec (yyval
.ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7339 #line 3388 "parse.y"
7340 { yyval
.ttype
= build_parse_node (ARRAY_REF
, NULL_TREE
, yyvsp
[-1].ttype
); ;
7343 #line 3390 "parse.y"
7344 { yyval
.ttype
= build_parse_node (ARRAY_REF
, NULL_TREE
, NULL_TREE
); ;
7347 #line 3414 "parse.y"
7348 { do_pushlevel (); ;
7351 #line 3419 "parse.y"
7352 { yyval
.ttype
= do_poplevel (); ;
7355 #line 3427 "parse.y"
7357 pedwarn ("ANSI C++ forbids label declarations"); ;
7360 #line 3438 "parse.y"
7362 for (link
= yyvsp
[-1].ttype
; link
; link
= TREE_CHAIN (link
))
7364 tree label
= shadow_label (TREE_VALUE (link
));
7365 C_DECLARED_LABEL_FLAG (label
) = 1;
7366 declare_nonlocal_label (label
);
7371 #line 3452 "parse.y"
7375 #line 3458 "parse.y"
7377 if (processing_template_decl
)
7379 yyval
.ttype
= build_min_nt (COMPOUND_STMT
, NULL_TREE
);
7380 add_tree (yyval
.ttype
);
7385 #line 3466 "parse.y"
7387 if (processing_template_decl
)
7389 TREE_OPERAND (yyvsp
[-3].ttype
, 0) = TREE_CHAIN (yyvsp
[-3].ttype
);
7390 TREE_CHAIN (yyvsp
[-3].ttype
) = NULL_TREE
;
7391 last_tree
= yyvsp
[-3].ttype
;
7393 yyval
.ttype
= yyvsp
[0].ttype
;
7397 #line 3479 "parse.y"
7399 if (processing_template_decl
)
7401 yyval
.ttype
= build_min_nt (IF_STMT
, NULL_TREE
, NULL_TREE
,
7403 add_tree (yyval
.ttype
);
7405 cond_stmt_keyword
= "if";
7409 #line 3489 "parse.y"
7411 if (processing_template_decl
)
7413 if (last_tree
!= yyvsp
[-2].ttype
)
7415 TREE_OPERAND (yyvsp
[-2].ttype
, 0) = last_tree
;
7416 TREE_CHAIN (yyvsp
[-2].ttype
) = NULL_TREE
;
7417 last_tree
= yyvsp
[-2].ttype
;
7420 TREE_OPERAND (yyvsp
[-2].ttype
, 0) = yyvsp
[0].ttype
;
7424 emit_line_note (input_filename
, lineno
);
7425 expand_start_cond (yyvsp
[0].ttype
, 0);
7430 #line 3508 "parse.y"
7432 if (processing_template_decl
)
7434 TREE_OPERAND (yyvsp
[-4].ttype
, 1) = TREE_CHAIN (yyvsp
[-4].ttype
);
7435 TREE_CHAIN (yyvsp
[-4].ttype
) = NULL_TREE
;
7436 yyval
.ttype
= last_tree
= yyvsp
[-4].ttype
;
7441 #line 3520 "parse.y"
7445 #line 3522 "parse.y"
7447 if (processing_template_decl
)
7449 yyval
.ttype
= build_min_nt (COMPOUND_STMT
, NULL_TREE
);
7450 add_tree (yyval
.ttype
);
7455 #line 3530 "parse.y"
7457 if (processing_template_decl
)
7459 TREE_OPERAND (yyvsp
[-2].ttype
, 0) = TREE_CHAIN (yyvsp
[-2].ttype
);
7460 TREE_CHAIN (yyvsp
[-2].ttype
) = NULL_TREE
;
7461 last_tree
= yyvsp
[-2].ttype
;
7463 yyval
.ttype
= yyvsp
[0].ttype
;
7467 #line 3543 "parse.y"
7471 #line 3549 "parse.y"
7475 #line 3551 "parse.y"
7477 tree expr
= yyvsp
[-1].ttype
;
7478 if (! processing_template_decl
)
7480 emit_line_note (input_filename
, lineno
);
7481 /* Do default conversion if safe and possibly important,
7482 in case within ({...}). */
7483 if ((TREE_CODE (TREE_TYPE (expr
)) == ARRAY_TYPE
7485 || TREE_CODE (TREE_TYPE (expr
)) == FUNCTION_TYPE
)
7486 expr
= default_conversion (expr
);
7488 cplus_expand_expr_stmt (expr
);
7493 #line 3567 "parse.y"
7494 { if (! processing_template_decl
) expand_start_else (); ;
7497 #line 3569 "parse.y"
7499 if (processing_template_decl
)
7501 TREE_OPERAND (yyvsp
[-3].ttype
, 2) = TREE_CHAIN (yyvsp
[-3].ttype
);
7502 TREE_CHAIN (yyvsp
[-3].ttype
) = NULL_TREE
;
7503 last_tree
= yyvsp
[-3].ttype
;
7510 #line 3580 "parse.y"
7514 #line 3582 "parse.y"
7515 { if (! processing_template_decl
) expand_end_cond ();
7520 #line 3586 "parse.y"
7522 if (processing_template_decl
)
7524 yyval
.ttype
= build_min_nt (WHILE_STMT
, NULL_TREE
, NULL_TREE
);
7525 add_tree (yyval
.ttype
);
7530 emit_line_note (input_filename
, lineno
);
7531 expand_start_loop (1);
7533 cond_stmt_keyword
= "while";
7537 #line 3601 "parse.y"
7539 if (processing_template_decl
)
7541 if (last_tree
!= yyvsp
[-2].ttype
)
7543 TREE_OPERAND (yyvsp
[-2].ttype
, 0) = last_tree
;
7544 TREE_CHAIN (yyvsp
[-2].ttype
) = NULL_TREE
;
7545 last_tree
= yyvsp
[-2].ttype
;
7548 TREE_OPERAND (yyvsp
[-2].ttype
, 0) = yyvsp
[0].ttype
;
7552 emit_line_note (input_filename
, lineno
);
7553 expand_exit_loop_if_false (0, yyvsp
[0].ttype
);
7558 #line 3620 "parse.y"
7560 if (processing_template_decl
)
7562 TREE_OPERAND (yyvsp
[-5].ttype
, 1) = TREE_CHAIN (yyvsp
[-5].ttype
);
7563 TREE_CHAIN (yyvsp
[-5].ttype
) = NULL_TREE
;
7564 last_tree
= yyvsp
[-5].ttype
;
7572 #line 3632 "parse.y"
7574 if (processing_template_decl
)
7576 yyval
.ttype
= build_min_nt (DO_STMT
, NULL_TREE
, NULL_TREE
);
7577 add_tree (yyval
.ttype
);
7582 emit_line_note (input_filename
, lineno
);
7583 expand_start_loop_continue_elsewhere (1);
7588 #line 3646 "parse.y"
7590 if (processing_template_decl
)
7592 TREE_OPERAND (yyvsp
[-2].ttype
, 0) = TREE_CHAIN (yyvsp
[-2].ttype
);
7593 TREE_CHAIN (yyvsp
[-2].ttype
) = NULL_TREE
;
7594 last_tree
= yyvsp
[-2].ttype
;
7598 expand_loop_continue_here ();
7599 cond_stmt_keyword
= "do";
7604 #line 3660 "parse.y"
7606 if (processing_template_decl
)
7607 TREE_OPERAND (yyvsp
[-5].ttype
, 1) = yyvsp
[-1].ttype
;
7610 emit_line_note (input_filename
, lineno
);
7611 expand_exit_loop_if_false (0, yyvsp
[-1].ttype
);
7619 #line 3673 "parse.y"
7620 { if (processing_template_decl
)
7622 yyval
.ttype
= build_min_nt (FOR_STMT
, NULL_TREE
, NULL_TREE
,
7623 NULL_TREE
, NULL_TREE
);
7624 add_tree (yyval
.ttype
);
7627 emit_line_note (input_filename
, lineno
);
7628 if (flag_new_for_scope
> 0)
7630 /* Conditionalize .pushlevel */
7632 note_level_for_for ();
7635 expand_start_bindings (0);
7640 #line 3692 "parse.y"
7642 if (processing_template_decl
)
7644 if (last_tree
!= yyvsp
[-2].ttype
)
7646 TREE_OPERAND (yyvsp
[-2].ttype
, 0) = TREE_CHAIN (yyvsp
[-2].ttype
);
7647 TREE_CHAIN (yyvsp
[-2].ttype
) = NULL_TREE
;
7648 last_tree
= yyvsp
[-2].ttype
;
7654 emit_line_note (input_filename
, lineno
);
7655 expand_start_loop_continue_elsewhere (1);
7660 #line 3710 "parse.y"
7662 if (processing_template_decl
)
7664 if (last_tree
!= yyvsp
[-6].ttype
)
7666 TREE_OPERAND (yyvsp
[-6].ttype
, 1) = last_tree
;
7667 TREE_CHAIN (yyvsp
[-6].ttype
) = NULL_TREE
;
7668 last_tree
= yyvsp
[-6].ttype
;
7671 TREE_OPERAND (yyvsp
[-6].ttype
, 1) = yyvsp
[-1].ttype
;
7675 emit_line_note (input_filename
, lineno
);
7676 if (yyvsp
[-1].ttype
) expand_exit_loop_if_false (0, yyvsp
[-1].ttype
);
7681 #line 3731 "parse.y"
7683 if (processing_template_decl
)
7684 TREE_OPERAND (yyvsp
[-9].ttype
, 2) = yyvsp
[-1].ttype
;
7689 #line 3737 "parse.y"
7691 if (processing_template_decl
)
7693 TREE_OPERAND (yyvsp
[-12].ttype
, 3) = TREE_CHAIN (yyvsp
[-12].ttype
);
7694 TREE_CHAIN (yyvsp
[-12].ttype
) = NULL_TREE
;
7695 last_tree
= yyvsp
[-12].ttype
;
7699 emit_line_note (input_filename
, lineno
);
7700 expand_loop_continue_here ();
7701 if (yyvsp
[-4].ttype
) cplus_expand_expr_stmt (yyvsp
[-4].ttype
);
7705 if (flag_new_for_scope
> 0)
7712 #line 3758 "parse.y"
7714 if (processing_template_decl
)
7716 yyval
.ttype
= build_min_nt (SWITCH_STMT
, yyvsp
[-1].ttype
, NULL_TREE
);
7717 add_tree (yyval
.ttype
);
7721 emit_line_note (input_filename
, lineno
);
7722 c_expand_start_case (yyvsp
[-1].ttype
);
7725 /* Don't let the tree nodes for $4 be discarded by
7726 clear_momentary during the parsing of the next stmt. */
7731 #line 3775 "parse.y"
7733 if (processing_template_decl
)
7735 TREE_OPERAND (yyvsp
[-1].ttype
, 1) = TREE_CHAIN (yyvsp
[-1].ttype
);
7736 TREE_CHAIN (yyvsp
[-1].ttype
) = NULL_TREE
;
7737 last_tree
= yyvsp
[-1].ttype
;
7740 expand_end_case (yyvsp
[-3].ttype
);
7746 #line 3788 "parse.y"
7750 #line 3790 "parse.y"
7751 { do_case (yyvsp
[-1].ttype
, NULL_TREE
); ;
7754 #line 3793 "parse.y"
7755 { do_case (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
7758 #line 3796 "parse.y"
7759 { do_case (NULL_TREE
, NULL_TREE
); ;
7762 #line 3799 "parse.y"
7763 { emit_line_note (input_filename
, lineno
);
7764 if (processing_template_decl
)
7765 add_tree (build_min_nt (BREAK_STMT
));
7766 else if ( ! expand_exit_something ())
7767 error ("break statement not within loop or switch"); ;
7770 #line 3805 "parse.y"
7771 { emit_line_note (input_filename
, lineno
);
7772 if (processing_template_decl
)
7773 add_tree (build_min_nt (CONTINUE_STMT
));
7774 else if (! expand_continue_loop (0))
7775 error ("continue statement not within a loop"); ;
7778 #line 3811 "parse.y"
7779 { emit_line_note (input_filename
, lineno
);
7780 c_expand_return (NULL_TREE
); ;
7783 #line 3814 "parse.y"
7784 { emit_line_note (input_filename
, lineno
);
7785 c_expand_return (yyvsp
[-1].ttype
);
7790 #line 3819 "parse.y"
7791 { if (TREE_CHAIN (yyvsp
[-2].ttype
)) yyvsp
[-2].ttype
= combine_strings (yyvsp
[-2].ttype
);
7792 emit_line_note (input_filename
, lineno
);
7793 expand_asm (yyvsp
[-2].ttype
);
7798 #line 3826 "parse.y"
7799 { if (TREE_CHAIN (yyvsp
[-4].ttype
)) yyvsp
[-4].ttype
= combine_strings (yyvsp
[-4].ttype
);
7800 emit_line_note (input_filename
, lineno
);
7801 c_expand_asm_operands (yyvsp
[-4].ttype
, yyvsp
[-2].ttype
, NULL_TREE
, NULL_TREE
,
7802 yyvsp
[-6].ttype
== ridpointers
[(int)RID_VOLATILE
],
7803 input_filename
, lineno
);
7808 #line 3835 "parse.y"
7809 { if (TREE_CHAIN (yyvsp
[-6].ttype
)) yyvsp
[-6].ttype
= combine_strings (yyvsp
[-6].ttype
);
7810 emit_line_note (input_filename
, lineno
);
7811 c_expand_asm_operands (yyvsp
[-6].ttype
, yyvsp
[-4].ttype
, yyvsp
[-2].ttype
, NULL_TREE
,
7812 yyvsp
[-8].ttype
== ridpointers
[(int)RID_VOLATILE
],
7813 input_filename
, lineno
);
7818 #line 3845 "parse.y"
7819 { if (TREE_CHAIN (yyvsp
[-8].ttype
)) yyvsp
[-8].ttype
= combine_strings (yyvsp
[-8].ttype
);
7820 emit_line_note (input_filename
, lineno
);
7821 c_expand_asm_operands (yyvsp
[-8].ttype
, yyvsp
[-6].ttype
, yyvsp
[-4].ttype
, yyvsp
[-2].ttype
,
7822 yyvsp
[-10].ttype
== ridpointers
[(int)RID_VOLATILE
],
7823 input_filename
, lineno
);
7828 #line 3853 "parse.y"
7830 if (processing_template_decl
)
7831 add_tree (build_min_nt (GOTO_STMT
, yyvsp
[-1].ttype
));
7833 { emit_line_note (input_filename
, lineno
);
7834 expand_computed_goto (yyvsp
[-1].ttype
); }
7838 #line 3861 "parse.y"
7840 if (processing_template_decl
)
7841 add_tree (build_min_nt (GOTO_STMT
, yyvsp
[-1].ttype
));
7845 emit_line_note (input_filename
, lineno
);
7846 decl
= lookup_label (yyvsp
[-1].ttype
);
7847 TREE_USED (decl
) = 1;
7853 #line 3874 "parse.y"
7857 #line 3876 "parse.y"
7858 { error ("label must be followed by statement");
7863 #line 3880 "parse.y"
7867 #line 3886 "parse.y"
7869 if (! current_function_parms_stored
)
7870 store_parm_decls ();
7871 expand_start_early_try_stmts ();
7875 #line 3892 "parse.y"
7876 { expand_start_all_catch (); ;
7879 #line 3894 "parse.y"
7881 int nested
= (hack_decl_function_context
7882 (current_function_decl
) != NULL_TREE
);
7883 expand_end_all_catch ();
7884 finish_function (lineno
, (int)yyvsp
[-3].itype
, nested
);
7888 #line 3904 "parse.y"
7890 if (processing_template_decl
)
7892 yyval
.ttype
= build_min_nt (TRY_BLOCK
, NULL_TREE
,
7894 add_tree (yyval
.ttype
);
7898 emit_line_note (input_filename
, lineno
);
7899 expand_start_try_stmts ();
7904 #line 3918 "parse.y"
7906 if (processing_template_decl
)
7908 TREE_OPERAND (yyvsp
[-1].ttype
, 0) = TREE_CHAIN (yyvsp
[-1].ttype
);
7909 TREE_CHAIN (yyvsp
[-1].ttype
) = NULL_TREE
;
7910 last_tree
= yyvsp
[-1].ttype
;
7913 expand_start_all_catch ();
7917 #line 3929 "parse.y"
7919 if (processing_template_decl
)
7921 TREE_OPERAND (yyvsp
[-3].ttype
, 1) = TREE_CHAIN (yyvsp
[-3].ttype
);
7922 TREE_CHAIN (yyvsp
[-3].ttype
) = NULL_TREE
;
7923 last_tree
= yyvsp
[-3].ttype
;
7926 expand_end_all_catch ();
7930 #line 3948 "parse.y"
7932 if (processing_template_decl
)
7934 yyval
.ttype
= build_min_nt (HANDLER
, NULL_TREE
,
7936 add_tree (yyval
.ttype
);
7941 #line 3957 "parse.y"
7943 if (processing_template_decl
)
7945 TREE_OPERAND (yyvsp
[-2].ttype
, 0) = TREE_CHAIN (yyvsp
[-2].ttype
);
7946 TREE_CHAIN (yyvsp
[-2].ttype
) = NULL_TREE
;
7947 last_tree
= yyvsp
[-2].ttype
;
7952 #line 3966 "parse.y"
7954 if (processing_template_decl
)
7956 TREE_OPERAND (yyvsp
[-4].ttype
, 1) = TREE_CHAIN (yyvsp
[-4].ttype
);
7957 TREE_CHAIN (yyvsp
[-4].ttype
) = NULL_TREE
;
7958 last_tree
= yyvsp
[-4].ttype
;
7961 expand_end_catch_block ();
7965 #line 3986 "parse.y"
7966 { expand_start_catch_block (NULL_TREE
, NULL_TREE
); ;
7969 #line 4002 "parse.y"
7970 { check_for_new_type ("inside exception declarations", yyvsp
[-1].ftype
);
7971 expand_start_catch_block (TREE_PURPOSE (yyvsp
[-1].ftype
.t
),
7972 TREE_VALUE (yyvsp
[-1].ftype
.t
)); ;
7975 #line 4009 "parse.y"
7978 label
= define_label (input_filename
, lineno
, yyvsp
[-1].ttype
);
7979 if (label
&& ! minimal_parse_mode
)
7980 expand_label (label
);
7984 #line 4016 "parse.y"
7988 #line 4018 "parse.y"
7992 #line 4020 "parse.y"
7996 #line 4025 "parse.y"
7997 { if (yyvsp
[-1].ttype
) cplus_expand_expr_stmt (yyvsp
[-1].ttype
); ;
8000 #line 4028 "parse.y"
8002 pedwarn ("ANSI C++ forbids compound statements inside for initializations");
8006 #line 4037 "parse.y"
8007 { emit_line_note (input_filename
, lineno
);
8008 yyval
.ttype
= NULL_TREE
; ;
8011 #line 4040 "parse.y"
8012 { emit_line_note (input_filename
, lineno
); ;
8015 #line 4045 "parse.y"
8016 { yyval
.ttype
= NULL_TREE
; ;
8019 #line 4048 "parse.y"
8020 { yyval
.ttype
= NULL_TREE
; ;
8023 #line 4055 "parse.y"
8024 { yyval
.ttype
= NULL_TREE
; ;
8027 #line 4062 "parse.y"
8028 { yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
); ;
8031 #line 4067 "parse.y"
8032 { yyval
.ttype
= build_tree_list (yyval
.ttype
, yyvsp
[-1].ttype
); ;
8035 #line 4072 "parse.y"
8036 { yyval
.ttype
= tree_cons (NULL_TREE
, yyval
.ttype
, NULL_TREE
); ;
8039 #line 4074 "parse.y"
8040 { yyval
.ttype
= tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
8043 #line 4085 "parse.y"
8045 yyval
.ttype
= empty_parms();
8049 #line 4090 "parse.y"
8050 { yyval
.ttype
= tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, void_list_node
);
8051 TREE_PARMLIST (yyval
.ttype
) = 1;
8052 check_for_new_type ("inside parameter list", yyvsp
[0].ftype
); ;
8055 #line 4099 "parse.y"
8057 yyval
.ttype
= chainon (yyval
.ttype
, void_list_node
);
8058 TREE_PARMLIST (yyval
.ttype
) = 1;
8062 #line 4104 "parse.y"
8064 TREE_PARMLIST (yyval
.ttype
) = 1;
8068 #line 4109 "parse.y"
8070 TREE_PARMLIST (yyval
.ttype
) = 1;
8074 #line 4113 "parse.y"
8076 yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[-1].ftype
.t
);
8077 TREE_PARMLIST (yyval
.ttype
) = 1;
8081 #line 4118 "parse.y"
8083 yyval
.ttype
= NULL_TREE
;
8087 #line 4122 "parse.y"
8089 TREE_PARMLIST (yyval
.ttype
) = 1;
8093 #line 4126 "parse.y"
8095 TREE_PARMLIST (yyval
.ttype
) = 1;
8099 #line 4130 "parse.y"
8101 yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[-1].ftype
.t
);
8102 TREE_PARMLIST (yyval
.ttype
) = 1;
8106 #line 4135 "parse.y"
8108 /* This helps us recover from really nasty
8109 parse errors, for example, a missing right
8111 yyerror ("possibly missing ')'");
8112 yyval
.ttype
= chainon (yyval
.ttype
, void_list_node
);
8113 TREE_PARMLIST (yyval
.ttype
) = 1;
8119 #line 4146 "parse.y"
8121 /* This helps us recover from really nasty
8122 parse errors, for example, a missing right
8124 yyerror ("possibly missing ')'");
8125 yyval
.ttype
= tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, void_list_node
);
8126 TREE_PARMLIST (yyval
.ttype
) = 1;
8132 #line 4161 "parse.y"
8133 { maybe_snarf_defarg (); ;
8136 #line 4163 "parse.y"
8137 { yyval
.ttype
= yyvsp
[0].ttype
; ;
8140 #line 4174 "parse.y"
8141 { check_for_new_type ("in a parameter list", yyvsp
[0].ftype
);
8142 yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ftype
.t
); ;
8145 #line 4177 "parse.y"
8146 { check_for_new_type ("in a parameter list", yyvsp
[-1].ftype
);
8147 yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-1].ftype
.t
); ;
8150 #line 4180 "parse.y"
8151 { check_for_new_type ("in a parameter list", yyvsp
[0].ftype
);
8152 yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ftype
.t
); ;
8155 #line 4183 "parse.y"
8156 { yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
8159 #line 4185 "parse.y"
8160 { yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (yyvsp
[0].ttype
, yyvsp
[-2].ttype
)); ;
8163 #line 4191 "parse.y"
8164 { check_for_new_type ("in a parameter list", yyvsp
[-1].ftype
);
8165 yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[-1].ftype
.t
); ;
8168 #line 4201 "parse.y"
8169 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
8170 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
;
8171 yyval
.ftype
.t
= build_tree_list (specs
, yyvsp
[0].ttype
); ;
8174 #line 4205 "parse.y"
8175 { yyval
.ftype
.t
= build_tree_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
8176 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
8179 #line 4208 "parse.y"
8180 { yyval
.ftype
.t
= build_tree_list (get_decl_list (yyvsp
[-1].ftype
.t
), yyvsp
[0].ttype
);
8181 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
8184 #line 4211 "parse.y"
8185 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
8186 yyval
.ftype
.t
= build_tree_list (specs
, yyvsp
[0].ttype
);
8187 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
8190 #line 4215 "parse.y"
8191 { tree specs
= strip_attrs (yyvsp
[0].ftype
.t
);
8192 yyval
.ftype
.t
= build_tree_list (specs
, NULL_TREE
);
8193 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
8196 #line 4219 "parse.y"
8197 { tree specs
= strip_attrs (yyvsp
[-1].ttype
);
8198 yyval
.ftype
.t
= build_tree_list (specs
, yyvsp
[0].ttype
);
8199 yyval
.ftype
.new_type_flag
= 0; ;
8202 #line 4226 "parse.y"
8203 { yyval
.ftype
.t
= build_tree_list (NULL_TREE
, yyvsp
[0].ftype
.t
);
8204 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
8207 #line 4229 "parse.y"
8208 { yyval
.ftype
.t
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-1].ftype
.t
);
8209 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
8212 #line 4240 "parse.y"
8213 { see_typename (); ;
8216 #line 4245 "parse.y"
8218 error ("type specifier omitted for parameter");
8219 yyval
.ttype
= build_tree_list (integer_type_node
, NULL_TREE
);
8223 #line 4250 "parse.y"
8225 error ("type specifier omitted for parameter");
8226 if (TREE_CODE (yyval
.ttype
) == SCOPE_REF
8227 && TREE_CODE (TREE_OPERAND (yyval
.ttype
, 0)) == TEMPLATE_TYPE_PARM
)
8228 cp_error (" perhaps you want `typename %E' to make it a type", yyval
.ttype
);
8229 yyval
.ttype
= build_tree_list (integer_type_node
, yyval
.ttype
);
8233 #line 4261 "parse.y"
8234 { yyval
.ttype
= NULL_TREE
; ;
8237 #line 4263 "parse.y"
8238 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
8241 #line 4265 "parse.y"
8242 { yyval
.ttype
= build_decl_list (NULL_TREE
, NULL_TREE
); ;
8245 #line 4270 "parse.y"
8246 { yyval
.ttype
= build_decl_list (NULL_TREE
, groktypename(yyvsp
[0].ftype
.t
)); ;
8249 #line 4276 "parse.y"
8251 TREE_CHAIN (yyvsp
[0].ttype
) = yyval
.ttype
;
8252 yyval
.ttype
= yyvsp
[0].ttype
;
8256 #line 4284 "parse.y"
8257 { yyval
.ttype
= NULL_TREE
; ;
8260 #line 4286 "parse.y"
8261 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
8264 #line 4288 "parse.y"
8265 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
8268 #line 4290 "parse.y"
8269 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
8270 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
8274 #line 4297 "parse.y"
8275 { got_scope
= NULL_TREE
; ;
8278 #line 4302 "parse.y"
8279 { yyval
.ttype
= ansi_opname
[MULT_EXPR
]; ;
8282 #line 4304 "parse.y"
8283 { yyval
.ttype
= ansi_opname
[TRUNC_DIV_EXPR
]; ;
8286 #line 4306 "parse.y"
8287 { yyval
.ttype
= ansi_opname
[TRUNC_MOD_EXPR
]; ;
8290 #line 4308 "parse.y"
8291 { yyval
.ttype
= ansi_opname
[PLUS_EXPR
]; ;
8294 #line 4310 "parse.y"
8295 { yyval
.ttype
= ansi_opname
[MINUS_EXPR
]; ;
8298 #line 4312 "parse.y"
8299 { yyval
.ttype
= ansi_opname
[BIT_AND_EXPR
]; ;
8302 #line 4314 "parse.y"
8303 { yyval
.ttype
= ansi_opname
[BIT_IOR_EXPR
]; ;
8306 #line 4316 "parse.y"
8307 { yyval
.ttype
= ansi_opname
[BIT_XOR_EXPR
]; ;
8310 #line 4318 "parse.y"
8311 { yyval
.ttype
= ansi_opname
[BIT_NOT_EXPR
]; ;
8314 #line 4320 "parse.y"
8315 { yyval
.ttype
= ansi_opname
[COMPOUND_EXPR
]; ;
8318 #line 4322 "parse.y"
8319 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
8322 #line 4324 "parse.y"
8323 { yyval
.ttype
= ansi_opname
[LT_EXPR
]; ;
8326 #line 4326 "parse.y"
8327 { yyval
.ttype
= ansi_opname
[GT_EXPR
]; ;
8330 #line 4328 "parse.y"
8331 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
8334 #line 4330 "parse.y"
8335 { yyval
.ttype
= ansi_assopname
[yyvsp
[0].code
]; ;
8338 #line 4332 "parse.y"
8339 { yyval
.ttype
= ansi_opname
[MODIFY_EXPR
]; ;
8342 #line 4334 "parse.y"
8343 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
8346 #line 4336 "parse.y"
8347 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
8350 #line 4338 "parse.y"
8351 { yyval
.ttype
= ansi_opname
[POSTINCREMENT_EXPR
]; ;
8354 #line 4340 "parse.y"
8355 { yyval
.ttype
= ansi_opname
[PREDECREMENT_EXPR
]; ;
8358 #line 4342 "parse.y"
8359 { yyval
.ttype
= ansi_opname
[TRUTH_ANDIF_EXPR
]; ;
8362 #line 4344 "parse.y"
8363 { yyval
.ttype
= ansi_opname
[TRUTH_ORIF_EXPR
]; ;
8366 #line 4346 "parse.y"
8367 { yyval
.ttype
= ansi_opname
[TRUTH_NOT_EXPR
]; ;
8370 #line 4348 "parse.y"
8371 { yyval
.ttype
= ansi_opname
[COND_EXPR
]; ;
8374 #line 4350 "parse.y"
8375 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
8378 #line 4352 "parse.y"
8379 { yyval
.ttype
= ansi_opname
[COMPONENT_REF
]; ;
8382 #line 4354 "parse.y"
8383 { yyval
.ttype
= ansi_opname
[MEMBER_REF
]; ;
8386 #line 4356 "parse.y"
8387 { yyval
.ttype
= ansi_opname
[CALL_EXPR
]; ;
8390 #line 4358 "parse.y"
8391 { yyval
.ttype
= ansi_opname
[ARRAY_REF
]; ;
8394 #line 4360 "parse.y"
8395 { yyval
.ttype
= ansi_opname
[NEW_EXPR
]; ;
8398 #line 4362 "parse.y"
8399 { yyval
.ttype
= ansi_opname
[DELETE_EXPR
]; ;
8402 #line 4364 "parse.y"
8403 { yyval
.ttype
= ansi_opname
[VEC_NEW_EXPR
]; ;
8406 #line 4366 "parse.y"
8407 { yyval
.ttype
= ansi_opname
[VEC_DELETE_EXPR
]; ;
8410 #line 4369 "parse.y"
8411 { yyval
.ttype
= grokoptypename (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
8414 #line 4371 "parse.y"
8415 { yyval
.ttype
= ansi_opname
[ERROR_MARK
]; ;
8418 /* the action file gets copied in in place of this dollarsign */
8419 #line 487 "/usr/share/bison.simple"
8430 short *ssp1
= yyss
- 1;
8431 fprintf (stderr
, "state stack now");
8432 while (ssp1
!= yyssp
)
8433 fprintf (stderr
, " %d", *++ssp1
);
8434 fprintf (stderr
, "\n");
8444 yylsp
->first_line
= yylloc
.first_line
;
8445 yylsp
->first_column
= yylloc
.first_column
;
8446 yylsp
->last_line
= (yylsp
-1)->last_line
;
8447 yylsp
->last_column
= (yylsp
-1)->last_column
;
8452 yylsp
->last_line
= (yylsp
+yylen
-1)->last_line
;
8453 yylsp
->last_column
= (yylsp
+yylen
-1)->last_column
;
8457 /* Now "shift" the result of the reduction.
8458 Determine what state that goes to,
8459 based on the state we popped back to
8460 and the rule number reduced by. */
8464 yystate
= yypgoto
[yyn
- YYNTBASE
] + *yyssp
;
8465 if (yystate
>= 0 && yystate
<= YYLAST
&& yycheck
[yystate
] == *yyssp
)
8466 yystate
= yytable
[yystate
];
8468 yystate
= yydefgoto
[yyn
- YYNTBASE
];
8472 yyerrlab
: /* here on detecting error */
8475 /* If not already recovering from an error, report this error. */
8479 #ifdef YYERROR_VERBOSE
8480 yyn
= yypact
[yystate
];
8482 if (yyn
> YYFLAG
&& yyn
< YYLAST
)
8489 /* Start X at -yyn if nec to avoid negative indexes in yycheck. */
8490 for (x
= (yyn
< 0 ? -yyn
: 0);
8491 x
< (sizeof(yytname
) / sizeof(char *)); x
++)
8492 if (yycheck
[x
+ yyn
] == x
)
8493 size
+= strlen(yytname
[x
]) + 15, count
++;
8494 msg
= (char *) malloc(size
+ 15);
8497 strcpy(msg
, "parse error");
8502 for (x
= (yyn
< 0 ? -yyn
: 0);
8503 x
< (sizeof(yytname
) / sizeof(char *)); x
++)
8504 if (yycheck
[x
+ yyn
] == x
)
8506 strcat(msg
, count
== 0 ? ", expecting `" : " or `");
8507 strcat(msg
, yytname
[x
]);
8516 yyerror ("parse error; also virtual memory exceeded");
8519 #endif /* YYERROR_VERBOSE */
8520 yyerror("parse error");
8524 yyerrlab1
: /* here on error raised explicitly by an action */
8526 if (yyerrstatus
== 3)
8528 /* if just tried and failed to reuse lookahead token after an error, discard it. */
8530 /* return failure if at end of input */
8531 if (yychar
== YYEOF
)
8536 fprintf(stderr
, "Discarding token %d (%s).\n", yychar
, yytname
[yychar1
]);
8542 /* Else will try to reuse lookahead token
8543 after shifting the error token. */
8545 yyerrstatus
= 3; /* Each real token shifted decrements this */
8549 yyerrdefault
: /* current state does not do anything special for the error token. */
8552 /* This is wrong; only states that explicitly want error tokens
8553 should shift them. */
8554 yyn
= yydefact
[yystate
]; /* If its default is to accept any token, ok. Otherwise pop it.*/
8555 if (yyn
) goto yydefault
;
8558 yyerrpop
: /* pop the current state because it cannot handle the error token */
8560 if (yyssp
== yyss
) YYABORT
;
8570 short *ssp1
= yyss
- 1;
8571 fprintf (stderr
, "Error: state stack now");
8572 while (ssp1
!= yyssp
)
8573 fprintf (stderr
, " %d", *++ssp1
);
8574 fprintf (stderr
, "\n");
8580 yyn
= yypact
[yystate
];
8585 if (yyn
< 0 || yyn
> YYLAST
|| yycheck
[yyn
] != YYTERROR
)
8604 fprintf(stderr
, "Shifting error token, ");
8615 #line 4374 "parse.y"
8620 debug_yytranslate (value
)
8623 return yytname
[YYTRANSLATE (value
)];