2 /* A Bison parser, made from parse.y
3 by GNU Bison version 1.25
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
;
128 /* FSF LOCAL dje prefix attributes */
129 extern tree strip_attrs
PROTO((tree
));
132 /* Like YYERROR but do call yyerror. */
133 #define YYERROR1 { yyerror ("syntax error"); YYERROR; }
135 #define OP0(NODE) (TREE_OPERAND (NODE, 0))
136 #define OP1(NODE) (TREE_OPERAND (NODE, 1))
138 /* Contains the statement keyword (if/while/do) to include in an
139 error message if the user supplies an empty conditional expression. */
140 static char *cond_stmt_keyword
;
142 static tree empty_parms
PROTO((void));
144 /* Nonzero if we have an `extern "C"' acting as an extern specifier. */
145 int have_extern_spec
;
146 int used_extern_spec
;
148 /* Cons up an empty parameter list. */
158 || current_class_type
!= NULL
)
159 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] : 389)
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, 132, 135, 138, 142, 144,
248 148, 150, 154, 156, 160, 163, 166, 169, 173, 177,
249 180, 183, 186, 189, 192, 194, 196, 198, 199, 201,
250 204, 205, 207, 212, 216, 220, 221, 230, 236, 237,
251 247, 254, 255, 264, 270, 271, 281, 288, 291, 294,
252 296, 299, 301, 308, 313, 320, 325, 328, 330, 333,
253 336, 338, 341, 343, 346, 349, 352, 357, 360, 364,
254 365, 366, 368, 372, 375, 379, 381, 386, 389, 394,
255 397, 402, 405, 407, 409, 411, 413, 415, 417, 419,
256 421, 423, 425, 427, 428, 435, 436, 443, 444, 450,
257 451, 457, 458, 466, 467, 475, 476, 483, 484, 491,
258 492, 493, 498, 503, 505, 510, 512, 514, 515, 517,
259 519, 523, 525, 527, 529, 531, 533, 535, 537, 539,
260 541, 543, 547, 549, 553, 554, 556, 558, 559, 567,
261 569, 571, 575, 580, 584, 585, 589, 591, 595, 599,
262 603, 607, 609, 611, 613, 616, 619, 622, 625, 628,
263 631, 634, 639, 642, 647, 650, 654, 658, 663, 668,
264 674, 680, 687, 690, 695, 701, 704, 707, 711, 715,
265 719, 721, 725, 728, 732, 737, 739, 742, 748, 750,
266 754, 758, 762, 766, 770, 774, 778, 782, 786, 790,
267 794, 798, 802, 806, 810, 814, 818, 822, 826, 832,
268 836, 840, 842, 845, 849, 851, 853, 855, 857, 859,
269 860, 866, 872, 878, 884, 890, 892, 894, 896, 898,
270 901, 904, 908, 913, 918, 920, 922, 924, 928, 930,
271 932, 934, 936, 940, 944, 948, 949, 954, 959, 962,
272 967, 970, 973, 975, 980, 982, 990, 998, 1006, 1014,
273 1019, 1024, 1027, 1030, 1032, 1037, 1040, 1043, 1049, 1053,
274 1056, 1059, 1065, 1069, 1075, 1079, 1084, 1091, 1094, 1096,
275 1099, 1101, 1104, 1106, 1108, 1110, 1113, 1114, 1117, 1120,
276 1124, 1128, 1132, 1135, 1138, 1141, 1143, 1145, 1147, 1150,
277 1153, 1156, 1159, 1161, 1163, 1165, 1167, 1170, 1173, 1177,
278 1181, 1185, 1190, 1192, 1195, 1198, 1201, 1203, 1205, 1207,
279 1210, 1213, 1216, 1218, 1220, 1223, 1226, 1230, 1232, 1235,
280 1237, 1239, 1241, 1246, 1251, 1256, 1261, 1263, 1265, 1267,
281 1269, 1273, 1275, 1279, 1281, 1285, 1286, 1291, 1292, 1299,
282 1303, 1304, 1311, 1315, 1316, 1323, 1327, 1328, 1335, 1339,
283 1340, 1342, 1344, 1347, 1354, 1356, 1360, 1361, 1363, 1368,
284 1375, 1380, 1382, 1384, 1386, 1388, 1390, 1394, 1395, 1398,
285 1400, 1403, 1407, 1412, 1414, 1416, 1420, 1425, 1432, 1436,
286 1442, 1444, 1449, 1453, 1457, 1458, 1462, 1466, 1470, 1471,
287 1474, 1477, 1478, 1486, 1491, 1492, 1499, 1503, 1506, 1509,
288 1512, 1513, 1514, 1524, 1526, 1527, 1529, 1530, 1532, 1534,
289 1537, 1540, 1543, 1546, 1549, 1552, 1556, 1561, 1565, 1568,
290 1572, 1573, 1575, 1579, 1582, 1585, 1587, 1589, 1590, 1593,
291 1597, 1599, 1604, 1606, 1610, 1612, 1614, 1619, 1624, 1627,
292 1630, 1634, 1638, 1640, 1641, 1643, 1646, 1651, 1655, 1657,
293 1660, 1663, 1666, 1669, 1672, 1675, 1678, 1680, 1683, 1686,
294 1689, 1694, 1699, 1702, 1704, 1710, 1715, 1717, 1720, 1721,
295 1723, 1727, 1728, 1730, 1734, 1736, 1738, 1740, 1742, 1747,
296 1752, 1757, 1762, 1767, 1771, 1776, 1781, 1786, 1791, 1795,
297 1797, 1801, 1803, 1807, 1810, 1812, 1819, 1820, 1823, 1825,
298 1828, 1829, 1832, 1837, 1842, 1845, 1850, 1854, 1858, 1861,
299 1864, 1868, 1870, 1872, 1875, 1877, 1879, 1882, 1885, 1890,
300 1895, 1899, 1903, 1906, 1908, 1912, 1916, 1919, 1922, 1926,
301 1928, 1932, 1936, 1939, 1942, 1946, 1948, 1953, 1957, 1962,
302 1966, 1968, 1971, 1974, 1977, 1980, 1983, 1985, 1988, 1993,
303 1998, 2001, 2003, 2005, 2007, 2009, 2012, 2015, 2018, 2021,
304 2024, 2026, 2029, 2032, 2034, 2037, 2040, 2043, 2046, 2049,
305 2052, 2055, 2058, 2060, 2063, 2066, 2070, 2072, 2076, 2079,
306 2083, 2086, 2089, 2093, 2095, 2099, 2104, 2108, 2111, 2114,
307 2116, 2120, 2123, 2126, 2128, 2131, 2135, 2137, 2141, 2143,
308 2150, 2155, 2160, 2164, 2170, 2174, 2178, 2182, 2185, 2187,
309 2189, 2192, 2195, 2198, 2199, 2200, 2201, 2203, 2205, 2208,
310 2212, 2214, 2217, 2218, 2224, 2225, 2226, 2233, 2235, 2236,
311 2241, 2243, 2245, 2247, 2250, 2251, 2252, 2259, 2261, 2262,
312 2263, 2271, 2272, 2273, 2281, 2282, 2283, 2284, 2285, 2300,
313 2301, 2302, 2312, 2313, 2319, 2320, 2328, 2329, 2334, 2337,
314 2340, 2343, 2347, 2354, 2363, 2374, 2387, 2392, 2396, 2399,
315 2402, 2404, 2406, 2407, 2408, 2415, 2416, 2417, 2423, 2425,
316 2428, 2429, 2430, 2431, 2440, 2442, 2444, 2448, 2452, 2455,
317 2458, 2461, 2464, 2467, 2469, 2472, 2473, 2475, 2476, 2478,
318 2480, 2481, 2483, 2485, 2489, 2494, 2496, 2500, 2501, 2503,
319 2505, 2507, 2510, 2513, 2516, 2518, 2520, 2523, 2526, 2529,
320 2532, 2533, 2537, 2539, 2541, 2543, 2546, 2549, 2552, 2557,
321 2560, 2563, 2566, 2569, 2572, 2575, 2577, 2580, 2582, 2585,
322 2587, 2589, 2590, 2591, 2593, 2594, 2599, 2602, 2604, 2606,
323 2610, 2611, 2615, 2619, 2623, 2625, 2628, 2631, 2634, 2637,
324 2640, 2643, 2646, 2649, 2652, 2655, 2658, 2661, 2664, 2667,
325 2670, 2673, 2676, 2679, 2682, 2685, 2688, 2691, 2694, 2698,
326 2701, 2704, 2707, 2710, 2714, 2717, 2720, 2725, 2730, 2734
329 static const short yyrhs
[] = { -1,
330 115, 0, 0, 116, 122, 0, 115, 122, 0, 115,
331 0, 0, 0, 0, 33, 0, 27, 0, 28, 0,
332 0, 123, 124, 0, 142, 141, 0, 138, 0, 137,
333 0, 121, 94, 208, 110, 61, 0, 129, 59, 117,
334 111, 0, 129, 118, 142, 119, 141, 0, 129, 118,
335 138, 119, 0, 0, 45, 157, 59, 125, 117, 111,
336 0, 0, 45, 59, 126, 117, 111, 0, 45, 157,
337 65, 128, 61, 0, 127, 61, 0, 47, 45, 128,
338 61, 0, 120, 124, 0, 47, 300, 0, 47, 313,
339 300, 0, 47, 313, 199, 0, 199, 0, 300, 0,
340 313, 300, 0, 313, 199, 0, 100, 0, 129, 100,
341 0, 0, 49, 75, 131, 132, 76, 0, 49, 75,
342 76, 0, 136, 0, 132, 60, 136, 0, 157, 0,
343 0, 257, 133, 0, 46, 133, 0, 130, 257, 133,
344 0, 134, 0, 134, 65, 214, 0, 380, 0, 380,
345 65, 194, 0, 135, 0, 135, 65, 176, 0, 130,
346 124, 0, 130, 1, 0, 225, 61, 0, 218, 224,
347 61, 0, 215, 223, 61, 0, 218, 61, 0, 160,
348 61, 0, 215, 61, 0, 1, 61, 0, 1, 111,
349 0, 61, 0, 209, 0, 153, 0, 0, 152, 0,
350 152, 61, 0, 0, 109, 0, 148, 140, 139, 325,
351 0, 148, 140, 350, 0, 148, 140, 1, 0, 0,
352 305, 5, 94, 144, 371, 110, 287, 383, 0, 305,
353 5, 48, 287, 383, 0, 0, 313, 305, 5, 94,
354 145, 371, 110, 287, 383, 0, 313, 305, 5, 48,
355 287, 383, 0, 0, 305, 172, 94, 146, 371, 110,
356 287, 383, 0, 305, 172, 48, 287, 383, 0, 0,
357 313, 305, 172, 94, 147, 371, 110, 287, 383, 0,
358 313, 305, 172, 48, 287, 383, 0, 215, 212, 0,
359 218, 297, 0, 297, 0, 218, 143, 0, 143, 0,
360 5, 94, 371, 110, 287, 383, 0, 5, 48, 287,
361 383, 0, 172, 94, 371, 110, 287, 383, 0, 172,
362 48, 287, 383, 0, 218, 149, 0, 149, 0, 215,
363 212, 0, 218, 297, 0, 297, 0, 218, 143, 0,
364 143, 0, 130, 150, 0, 25, 3, 0, 151, 242,
365 0, 151, 94, 188, 110, 0, 151, 48, 0, 63,
366 154, 155, 0, 0, 0, 156, 0, 155, 60, 156,
367 0, 155, 1, 0, 94, 188, 110, 0, 48, 0,
368 158, 94, 188, 110, 0, 158, 48, 0, 293, 94,
369 188, 110, 0, 293, 48, 0, 307, 94, 188, 110,
370 0, 307, 48, 0, 3, 0, 4, 0, 5, 0,
371 57, 0, 58, 0, 3, 0, 57, 0, 58, 0,
372 106, 0, 105, 0, 107, 0, 0, 49, 169, 221,
373 61, 161, 170, 0, 0, 49, 169, 215, 212, 162,
374 170, 0, 0, 49, 169, 297, 163, 170, 0, 0,
375 49, 169, 143, 164, 170, 0, 0, 7, 49, 169,
376 221, 61, 165, 170, 0, 0, 7, 49, 169, 215,
377 212, 166, 170, 0, 0, 7, 49, 169, 297, 167,
378 170, 0, 0, 7, 49, 169, 143, 168, 170, 0,
379 0, 0, 57, 75, 174, 173, 0, 4, 75, 174,
380 173, 0, 172, 0, 5, 75, 174, 173, 0, 76,
381 0, 78, 0, 0, 175, 0, 176, 0, 175, 60,
382 176, 0, 214, 0, 194, 0, 80, 0, 79, 0,
383 87, 0, 88, 0, 112, 0, 187, 0, 194, 0,
384 48, 0, 94, 178, 110, 0, 48, 0, 94, 182,
385 110, 0, 0, 182, 0, 1, 0, 0, 361, 212,
386 226, 235, 65, 183, 243, 0, 178, 0, 111, 0,
387 322, 318, 111, 0, 322, 318, 1, 111, 0, 322,
388 1, 111, 0, 0, 59, 186, 184, 0, 334, 0,
389 194, 60, 194, 0, 194, 60, 1, 0, 187, 60,
390 194, 0, 187, 60, 1, 0, 194, 0, 187, 0,
391 203, 0, 120, 193, 0, 81, 193, 0, 71, 193,
392 0, 89, 193, 0, 177, 193, 0, 68, 157, 0,
393 13, 189, 0, 13, 94, 214, 110, 0, 30, 189,
394 0, 30, 94, 214, 110, 0, 205, 286, 0, 205,
395 286, 191, 0, 205, 190, 286, 0, 205, 190, 286,
396 191, 0, 205, 94, 214, 110, 0, 205, 94, 214,
397 110, 191, 0, 205, 190, 94, 214, 110, 0, 205,
398 190, 94, 214, 110, 191, 0, 206, 193, 0, 206,
399 95, 113, 193, 0, 206, 95, 178, 113, 193, 0,
400 35, 193, 0, 36, 193, 0, 94, 188, 110, 0,
401 59, 188, 111, 0, 94, 188, 110, 0, 48, 0,
402 94, 221, 110, 0, 65, 243, 0, 94, 214, 110,
403 0, 192, 94, 214, 110, 0, 189, 0, 192, 189,
404 0, 192, 59, 244, 255, 111, 0, 193, 0, 194,
405 84, 194, 0, 194, 85, 194, 0, 194, 79, 194,
406 0, 194, 80, 194, 0, 194, 81, 194, 0, 194,
407 82, 194, 0, 194, 83, 194, 0, 194, 77, 194,
408 0, 194, 78, 194, 0, 194, 74, 194, 0, 194,
409 75, 194, 0, 194, 76, 194, 0, 194, 73, 194,
410 0, 194, 72, 194, 0, 194, 71, 194, 0, 194,
411 69, 194, 0, 194, 70, 194, 0, 194, 68, 194,
412 0, 194, 67, 194, 0, 194, 66, 366, 63, 194,
413 0, 194, 65, 194, 0, 194, 64, 194, 0, 62,
414 0, 62, 194, 0, 89, 381, 157, 0, 197, 0,
415 388, 0, 3, 0, 57, 0, 58, 0, 0, 6,
416 75, 196, 174, 173, 0, 388, 75, 196, 174, 173,
417 0, 49, 157, 75, 174, 173, 0, 49, 6, 75,
418 174, 173, 0, 49, 388, 75, 174, 173, 0, 195,
419 0, 4, 0, 5, 0, 195, 0, 81, 200, 0,
420 71, 200, 0, 94, 200, 110, 0, 3, 75, 174,
421 173, 0, 58, 75, 175, 173, 0, 299, 0, 195,
422 0, 201, 0, 94, 200, 110, 0, 195, 0, 10,
423 0, 207, 0, 208, 0, 94, 178, 110, 0, 94,
424 200, 110, 0, 94, 1, 110, 0, 0, 94, 204,
425 326, 110, 0, 203, 94, 188, 110, 0, 203, 48,
426 0, 203, 95, 178, 113, 0, 203, 87, 0, 203,
427 88, 0, 41, 0, 9, 94, 188, 110, 0, 303,
428 0, 51, 75, 214, 76, 94, 178, 110, 0, 52,
429 75, 214, 76, 94, 178, 110, 0, 53, 75, 214,
430 76, 94, 178, 110, 0, 54, 75, 214, 76, 94,
431 178, 110, 0, 50, 94, 178, 110, 0, 50, 94,
432 214, 110, 0, 313, 3, 0, 313, 388, 0, 302,
433 0, 302, 94, 188, 110, 0, 302, 48, 0, 210,
434 198, 0, 210, 198, 94, 188, 110, 0, 210, 198,
435 48, 0, 210, 199, 0, 210, 302, 0, 210, 199,
436 94, 188, 110, 0, 210, 199, 48, 0, 210, 302,
437 94, 188, 110, 0, 210, 302, 48, 0, 210, 89,
438 8, 48, 0, 210, 8, 55, 89, 8, 48, 0,
439 210, 1, 0, 40, 0, 313, 40, 0, 39, 0,
440 313, 206, 0, 43, 0, 44, 0, 11, 0, 208,
441 11, 0, 0, 203, 93, 0, 203, 92, 0, 221,
442 223, 61, 0, 215, 223, 61, 0, 218, 224, 61,
443 0, 215, 61, 0, 218, 61, 0, 120, 211, 0,
444 292, 0, 297, 0, 48, 0, 213, 48, 0, 219,
445 316, 0, 288, 316, 0, 221, 316, 0, 219, 0,
446 288, 0, 219, 0, 216, 0, 218, 221, 0, 221,
447 217, 0, 221, 220, 217, 0, 218, 221, 217, 0,
448 218, 221, 220, 0, 218, 221, 220, 217, 0, 7,
449 0, 217, 222, 0, 217, 7, 0, 217, 236, 0,
450 236, 0, 288, 0, 7, 0, 218, 9, 0, 218,
451 7, 0, 218, 236, 0, 236, 0, 221, 0, 288,
452 221, 0, 221, 220, 0, 288, 221, 220, 0, 222,
453 0, 220, 222, 0, 250, 0, 8, 0, 294, 0,
454 29, 94, 178, 110, 0, 29, 94, 214, 110, 0,
455 31, 94, 178, 110, 0, 31, 94, 214, 110, 0,
456 8, 0, 9, 0, 250, 0, 227, 0, 223, 60,
457 229, 0, 231, 0, 224, 60, 229, 0, 233, 0,
458 225, 60, 229, 0, 0, 121, 94, 208, 110, 0,
459 0, 212, 226, 235, 65, 228, 243, 0, 212, 226,
460 235, 0, 0, 212, 226, 235, 65, 230, 243, 0,
461 212, 226, 235, 0, 0, 297, 226, 235, 65, 232,
462 243, 0, 297, 226, 235, 0, 0, 297, 226, 235,
463 65, 234, 243, 0, 297, 226, 235, 0, 0, 236,
464 0, 237, 0, 236, 237, 0, 32, 94, 94, 238,
465 110, 110, 0, 239, 0, 238, 60, 239, 0, 0,
466 240, 0, 240, 94, 3, 110, 0, 240, 94, 3,
467 60, 188, 110, 0, 240, 94, 188, 110, 0, 157,
468 0, 7, 0, 8, 0, 9, 0, 157, 0, 241,
469 60, 157, 0, 0, 65, 243, 0, 194, 0, 59,
470 111, 0, 59, 244, 111, 0, 59, 244, 60, 111,
471 0, 1, 0, 243, 0, 244, 60, 243, 0, 95,
472 194, 113, 243, 0, 244, 60, 21, 194, 63, 243,
473 0, 157, 63, 243, 0, 244, 60, 157, 63, 243,
474 0, 99, 0, 245, 140, 139, 325, 0, 245, 140,
475 350, 0, 245, 140, 1, 0, 0, 247, 246, 141,
476 0, 104, 194, 109, 0, 104, 1, 109, 0, 0,
477 249, 248, 0, 249, 1, 0, 0, 14, 157, 59,
478 251, 284, 256, 111, 0, 14, 157, 59, 111, 0,
479 0, 14, 59, 252, 284, 256, 111, 0, 14, 59,
480 111, 0, 14, 157, 0, 14, 311, 0, 46, 307,
481 0, 0, 0, 264, 270, 272, 111, 235, 253, 249,
482 254, 247, 0, 264, 0, 0, 60, 0, 0, 60,
483 0, 37, 0, 257, 7, 0, 257, 8, 0, 257,
484 9, 0, 257, 37, 0, 257, 157, 0, 257, 159,
485 0, 257, 305, 157, 0, 257, 313, 305, 157, 0,
486 257, 313, 157, 0, 257, 171, 0, 257, 305, 171,
487 0, 0, 258, 0, 259, 261, 265, 0, 260, 265,
488 0, 257, 59, 0, 263, 0, 262, 0, 0, 63,
489 381, 0, 63, 381, 266, 0, 267, 0, 266, 60,
490 381, 267, 0, 268, 0, 269, 381, 268, 0, 307,
491 0, 293, 0, 31, 94, 178, 110, 0, 31, 94,
492 214, 110, 0, 38, 381, 0, 7, 381, 0, 269,
493 38, 381, 0, 269, 7, 381, 0, 59, 0, 0,
494 271, 0, 271, 273, 0, 272, 38, 63, 273, 0,
495 272, 38, 63, 0, 274, 0, 273, 274, 0, 275,
496 61, 0, 275, 111, 0, 150, 63, 0, 150, 96,
497 0, 150, 25, 0, 150, 59, 0, 61, 0, 120,
498 274, 0, 215, 276, 0, 218, 277, 0, 297, 226,
499 235, 242, 0, 143, 226, 235, 242, 0, 63, 194,
500 0, 1, 0, 218, 149, 226, 235, 242, 0, 149,
501 226, 235, 242, 0, 127, 0, 130, 275, 0, 0,
502 278, 0, 276, 60, 279, 0, 0, 281, 0, 277,
503 60, 283, 0, 280, 0, 281, 0, 282, 0, 283,
504 0, 292, 226, 235, 242, 0, 4, 63, 194, 235,
505 0, 297, 226, 235, 242, 0, 143, 226, 235, 242,
506 0, 3, 63, 194, 235, 0, 63, 194, 235, 0,
507 292, 226, 235, 242, 0, 4, 63, 194, 235, 0,
508 297, 226, 235, 242, 0, 3, 63, 194, 235, 0,
509 63, 194, 235, 0, 285, 0, 284, 60, 285, 0,
510 157, 0, 157, 65, 194, 0, 361, 314, 0, 361,
511 0, 94, 214, 110, 95, 178, 113, 0, 0, 287,
512 9, 0, 9, 0, 288, 9, 0, 0, 289, 178,
513 0, 289, 94, 188, 110, 0, 289, 94, 371, 110,
514 0, 289, 48, 0, 289, 94, 1, 110, 0, 81,
515 288, 292, 0, 71, 288, 292, 0, 81, 292, 0,
516 71, 292, 0, 312, 287, 292, 0, 296, 0, 304,
517 0, 313, 304, 0, 293, 0, 295, 0, 313, 295,
518 0, 305, 304, 0, 296, 291, 287, 383, 0, 296,
519 95, 290, 113, 0, 296, 95, 113, 0, 94, 292,
520 110, 0, 305, 304, 0, 304, 0, 81, 288, 297,
521 0, 71, 288, 297, 0, 81, 297, 0, 71, 297,
522 0, 312, 287, 297, 0, 202, 0, 81, 288, 297,
523 0, 71, 288, 297, 0, 81, 298, 0, 71, 298,
524 0, 312, 287, 297, 0, 299, 0, 202, 291, 287,
525 383, 0, 94, 298, 110, 0, 202, 95, 290, 113,
526 0, 202, 95, 113, 0, 301, 0, 305, 201, 0,
527 305, 199, 0, 305, 198, 0, 305, 195, 0, 305,
528 198, 0, 301, 0, 313, 301, 0, 221, 94, 188,
529 110, 0, 221, 94, 200, 110, 0, 221, 213, 0,
530 4, 0, 5, 0, 171, 0, 306, 0, 305, 306,
531 0, 4, 55, 0, 5, 55, 0, 58, 55, 0,
532 171, 55, 0, 308, 0, 313, 308, 0, 309, 157,
533 0, 310, 0, 309, 310, 0, 4, 55, 0, 5,
534 55, 0, 171, 55, 0, 57, 55, 0, 3, 55,
535 0, 58, 55, 0, 313, 304, 0, 295, 0, 313,
536 295, 0, 305, 81, 0, 313, 305, 81, 0, 55,
537 0, 81, 287, 314, 0, 81, 287, 0, 71, 287,
538 314, 0, 71, 287, 0, 312, 287, 0, 312, 287,
539 314, 0, 315, 0, 95, 178, 113, 0, 315, 95,
540 290, 113, 0, 81, 288, 316, 0, 81, 316, 0,
541 81, 288, 0, 81, 0, 71, 288, 316, 0, 71,
542 316, 0, 71, 288, 0, 71, 0, 312, 287, 0,
543 312, 287, 316, 0, 317, 0, 94, 316, 110, 0,
544 91, 0, 317, 94, 371, 110, 287, 383, 0, 317,
545 48, 287, 383, 0, 317, 95, 290, 113, 0, 317,
546 95, 113, 0, 94, 372, 110, 287, 383, 0, 192,
547 287, 383, 0, 213, 287, 383, 0, 95, 290, 113,
548 0, 95, 113, 0, 333, 0, 319, 0, 318, 333,
549 0, 318, 319, 0, 1, 61, 0, 0, 0, 0,
550 323, 0, 324, 0, 323, 324, 0, 34, 241, 61,
551 0, 326, 0, 1, 326, 0, 0, 59, 327, 320,
552 184, 321, 0, 0, 0, 15, 329, 320, 180, 330,
553 331, 0, 326, 0, 0, 320, 332, 334, 321, 0,
554 326, 0, 334, 0, 211, 0, 178, 61, 0, 0,
555 0, 328, 16, 335, 331, 336, 321, 0, 328, 0,
556 0, 0, 17, 337, 320, 180, 338, 185, 321, 0,
557 0, 0, 18, 339, 331, 17, 340, 179, 61, 0,
558 0, 0, 0, 0, 19, 341, 94, 364, 342, 320,
559 181, 61, 343, 366, 110, 344, 185, 321, 0, 0,
560 0, 20, 320, 94, 182, 110, 345, 331, 346, 321,
561 0, 0, 21, 194, 63, 347, 333, 0, 0, 21,
562 194, 12, 194, 63, 348, 333, 0, 0, 22, 63,
563 349, 333, 0, 23, 61, 0, 24, 61, 0, 25,
564 61, 0, 25, 178, 61, 0, 121, 365, 94, 208,
565 110, 61, 0, 121, 365, 94, 208, 63, 367, 110,
566 61, 0, 121, 365, 94, 208, 63, 367, 63, 367,
567 110, 61, 0, 121, 365, 94, 208, 63, 367, 63,
568 367, 63, 370, 110, 61, 0, 26, 81, 178, 61,
569 0, 26, 157, 61, 0, 363, 333, 0, 363, 111,
570 0, 61, 0, 353, 0, 0, 0, 96, 351, 139,
571 326, 352, 356, 0, 0, 0, 96, 354, 326, 355,
572 356, 0, 357, 0, 356, 357, 0, 0, 0, 0,
573 97, 358, 320, 362, 359, 326, 360, 321, 0, 219,
574 0, 288, 0, 94, 12, 110, 0, 94, 380, 110,
575 0, 3, 63, 0, 57, 63, 0, 4, 63, 0,
576 5, 63, 0, 366, 61, 0, 211, 0, 59, 184,
577 0, 0, 9, 0, 0, 178, 0, 1, 0, 0,
578 368, 0, 369, 0, 368, 60, 369, 0, 11, 94,
579 178, 110, 0, 11, 0, 370, 60, 11, 0, 0,
580 372, 0, 214, 0, 376, 0, 377, 12, 0, 376,
581 12, 0, 214, 12, 0, 12, 0, 98, 0, 376,
582 98, 0, 214, 98, 0, 376, 63, 0, 214, 63,
583 0, 0, 65, 374, 375, 0, 103, 0, 243, 0,
584 378, 0, 380, 373, 0, 377, 379, 0, 377, 382,
585 0, 377, 382, 65, 243, 0, 376, 60, 0, 214,
586 60, 0, 216, 212, 0, 219, 212, 0, 221, 212,
587 0, 216, 316, 0, 216, 0, 218, 297, 0, 380,
588 0, 380, 373, 0, 378, 0, 214, 0, 0, 0,
589 297, 0, 0, 62, 94, 385, 110, 0, 62, 48,
590 0, 214, 0, 384, 0, 385, 60, 384, 0, 0,
591 81, 287, 386, 0, 71, 287, 386, 0, 312, 287,
592 386, 0, 42, 0, 387, 81, 0, 387, 82, 0,
593 387, 83, 0, 387, 79, 0, 387, 80, 0, 387,
594 71, 0, 387, 69, 0, 387, 70, 0, 387, 89,
595 0, 387, 60, 0, 387, 74, 0, 387, 75, 0,
596 387, 76, 0, 387, 73, 0, 387, 64, 0, 387,
597 65, 0, 387, 77, 0, 387, 78, 0, 387, 87,
598 0, 387, 88, 0, 387, 68, 0, 387, 67, 0,
599 387, 112, 0, 387, 66, 63, 0, 387, 72, 0,
600 387, 92, 0, 387, 84, 0, 387, 48, 0, 387,
601 95, 113, 0, 387, 40, 0, 387, 39, 0, 387,
602 40, 95, 113, 0, 387, 39, 95, 113, 0, 387,
603 361, 386, 0, 387, 1, 0
609 static const short yyrline
[] = { 0,
610 311, 313, 327, 330, 331, 335, 337, 340, 345, 349,
611 355, 357, 360, 363, 367, 370, 372, 374, 377, 379,
612 382, 385, 387, 389, 391, 393, 395, 397, 403, 407,
613 410, 412, 416, 418, 419, 421, 425, 428, 434, 437,
614 439, 444, 447, 451, 454, 457, 469, 473, 491, 501,
615 503, 505, 507, 509, 522, 531, 541, 544, 546, 550,
616 552, 553, 560, 561, 562, 565, 568, 572, 574, 575,
617 578, 580, 583, 586, 588, 592, 602, 604, 614, 623,
618 625, 635, 644, 646, 656, 665, 667, 679, 687, 694,
619 699, 706, 713, 716, 718, 720, 726, 736, 738, 741,
620 744, 746, 749, 751, 755, 764, 767, 769, 773, 786,
621 806, 809, 811, 812, 815, 822, 828, 830, 832, 834,
622 836, 839, 844, 846, 847, 848, 849, 852, 854, 855,
623 858, 860, 861, 864, 869, 869, 873, 873, 876, 876,
624 879, 879, 883, 883, 888, 888, 891, 891, 894, 896,
625 899, 906, 913, 919, 922, 931, 933, 941, 944, 947,
626 950, 954, 957, 960, 963, 965, 967, 969, 973, 976,
627 979, 984, 988, 993, 997, 1000, 1002, 1006, 1026, 1033,
628 1036, 1038, 1039, 1040, 1043, 1054, 1063, 1067, 1071, 1074,
629 1076, 1080, 1083, 1086, 1090, 1093, 1095, 1097, 1099, 1106,
630 1119, 1121, 1123, 1125, 1131, 1134, 1137, 1140, 1143, 1147,
631 1150, 1153, 1157, 1159, 1163, 1167, 1169, 1173, 1176, 1183,
632 1186, 1188, 1196, 1205, 1211, 1218, 1220, 1222, 1235, 1238,
633 1240, 1242, 1244, 1246, 1248, 1250, 1252, 1254, 1256, 1258,
634 1260, 1262, 1264, 1266, 1268, 1270, 1272, 1274, 1276, 1278,
635 1282, 1284, 1286, 1303, 1306, 1307, 1308, 1309, 1310, 1313,
636 1316, 1319, 1323, 1326, 1328, 1333, 1335, 1336, 1339, 1341,
637 1343, 1345, 1349, 1352, 1356, 1358, 1359, 1360, 1364, 1372,
638 1373, 1374, 1382, 1390, 1398, 1400, 1412, 1442, 1449, 1456,
639 1458, 1467, 1472, 1495, 1539, 1540, 1544, 1548, 1552, 1556,
640 1558, 1562, 1564, 1572, 1574, 1579, 1585, 1589, 1594, 1599,
641 1601, 1606, 1621, 1636, 1647, 1659, 1667, 1676, 1720, 1723,
642 1727, 1730, 1734, 1737, 1742, 1744, 1748, 1761, 1764, 1771,
643 1778, 1783, 1785, 1790, 1792, 1799, 1801, 1805, 1809, 1815,
644 1819, 1822, 1825, 1828, 1838, 1840, 1843, 1847, 1850, 1853,
645 1856, 1859, 1865, 1871, 1873, 1878, 1880, 1889, 1892, 1894,
646 1897, 1903, 1905, 1915, 1919, 1922, 1925, 1930, 1933, 1941,
647 1943, 1945, 1947, 1950, 1953, 1968, 1987, 1990, 1992, 1995,
648 1997, 2000, 2002, 2005, 2007, 2010, 2013, 2017, 2036, 2038,
649 2058, 2064, 2065, 2071, 2080, 2082, 2092, 2101, 2103, 2115,
650 2118, 2122, 2125, 2129, 2134, 2137, 2141, 2144, 2146, 2148,
651 2150, 2157, 2159, 2160, 2161, 2165, 2168, 2172, 2175, 2181,
652 2183, 2186, 2189, 2192, 2198, 2201, 2204, 2206, 2208, 2210,
653 2214, 2220, 2228, 2230, 2234, 2236, 2241, 2244, 2247, 2249,
654 2251, 2255, 2259, 2264, 2268, 2271, 2276, 2280, 2283, 2286,
655 2290, 2325, 2331, 2340, 2360, 2362, 2365, 2367, 2372, 2374,
656 2376, 2378, 2380, 2384, 2389, 2394, 2400, 2405, 2410, 2412,
657 2416, 2421, 2424, 2431, 2459, 2465, 2467, 2470, 2473, 2475,
658 2479, 2481, 2485, 2511, 2540, 2543, 2544, 2565, 2588, 2590,
659 2594, 2620, 2629, 2718, 2725, 2728, 2736, 2747, 2756, 2760,
660 2775, 2778, 2783, 2785, 2787, 2789, 2791, 2793, 2798, 2804,
661 2806, 2809, 2812, 2814, 2825, 2830, 2833, 2835, 2840, 2843,
662 2844, 2855, 2858, 2859, 2870, 2872, 2875, 2877, 2880, 2887,
663 2895, 2902, 2908, 2914, 2922, 2926, 2931, 2935, 2938, 2947,
664 2949, 2953, 2956, 2961, 2965, 2970, 2980, 2983, 2987, 2991,
665 2999, 3004, 3010, 3013, 3015, 3017, 3023, 3026, 3028, 3030,
666 3032, 3036, 3039, 3057, 3067, 3069, 3070, 3074, 3079, 3082,
667 3084, 3086, 3088, 3092, 3098, 3101, 3103, 3105, 3107, 3111,
668 3114, 3117, 3119, 3121, 3123, 3127, 3130, 3133, 3135, 3137,
669 3139, 3146, 3157, 3161, 3166, 3170, 3175, 3177, 3181, 3184,
670 3186, 3190, 3192, 3193, 3196, 3198, 3204, 3219, 3225, 3231,
671 3245, 3247, 3251, 3267, 3273, 3288, 3299, 3305, 3307, 3308,
672 3309, 3317, 3326, 3327, 3331, 3334, 3340, 3346, 3349, 3351,
673 3353, 3355, 3359, 3363, 3367, 3370, 3375, 3378, 3380, 3382,
674 3384, 3386, 3388, 3390, 3392, 3396, 3400, 3404, 3408, 3409,
675 3411, 3413, 3415, 3417, 3419, 3421, 3423, 3425, 3433, 3435,
676 3436, 3437, 3440, 3448, 3453, 3460, 3462, 3467, 3469, 3472,
677 3486, 3489, 3492, 3501, 3513, 3524, 3544, 3554, 3557, 3565,
678 3577, 3580, 3583, 3586, 3602, 3605, 3616, 3617, 3621, 3636,
679 3655, 3667, 3681, 3695, 3708, 3727, 3745, 3764, 3772, 3793,
680 3811, 3824, 3825, 3828, 3828, 3831, 3831, 3834, 3834, 3840,
681 3846, 3849, 3854, 3861, 3870, 3879, 3888, 3896, 3909, 3911,
682 3915, 3917, 3920, 3927, 3930, 3938, 3954, 3965, 3977, 3979,
683 3982, 3992, 4002, 4013, 4015, 4017, 4020, 4037, 4043, 4051,
684 4053, 4055, 4059, 4062, 4063, 4071, 4075, 4079, 4082, 4083,
685 4089, 4092, 4095, 4097, 4101, 4106, 4109, 4119, 4124, 4125,
686 4133, 4139, 4144, 4148, 4153, 4157, 4161, 4165, 4170, 4181,
687 4195, 4199, 4202, 4204, 4208, 4212, 4215, 4218, 4220, 4224,
688 4226, 4233, 4240, 4243, 4246, 4250, 4254, 4260, 4264, 4269,
689 4271, 4274, 4279, 4285, 4296, 4299, 4301, 4305, 4310, 4312,
690 4319, 4322, 4324, 4326, 4332, 4337, 4340, 4342, 4344, 4346,
691 4348, 4350, 4352, 4354, 4356, 4358, 4360, 4362, 4364, 4366,
692 4368, 4370, 4372, 4374, 4376, 4378, 4380, 4382, 4384, 4386,
693 4388, 4390, 4392, 4394, 4396, 4398, 4400, 4402, 4405, 4407
698 #if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
700 static const char * const yytname
[] = { "$","error","$undefined.","IDENTIFIER",
701 "TYPENAME","SELFNAME","PFUNCNAME","SCSPEC","TYPESPEC","CV_QUALIFIER","CONSTANT",
702 "STRING","ELLIPSIS","SIZEOF","ENUM","IF","ELSE","WHILE","DO","FOR","SWITCH",
703 "CASE","DEFAULT","BREAK","CONTINUE","RETURN","GOTO","ASM_KEYWORD","GCC_ASM_KEYWORD",
704 "TYPEOF","ALIGNOF","SIGOF","ATTRIBUTE","EXTENSION","LABEL","REALPART","IMAGPART",
705 "AGGR","VISSPEC","DELETE","NEW","THIS","OPERATOR","CXX_TRUE","CXX_FALSE","NAMESPACE",
706 "TYPENAME_KEYWORD","USING","LEFT_RIGHT","TEMPLATE","TYPEID","DYNAMIC_CAST","STATIC_CAST",
707 "REINTERPRET_CAST","CONST_CAST","SCOPE","EMPTY","PTYPENAME","NSNAME","'{'","','",
708 "';'","THROW","':'","ASSIGN","'='","'?'","OROR","ANDAND","'|'","'^'","'&'","MIN_MAX",
709 "EQCOMPARE","ARITHCOMPARE","'<'","'>'","LSHIFT","RSHIFT","'+'","'-'","'*'","'/'",
710 "'%'","POINTSAT_STAR","DOT_STAR","UNARY","PLUSPLUS","MINUSMINUS","'~'","HYPERUNARY",
711 "PAREN_STAR_PAREN","POINTSAT","'.'","'('","'['","TRY","CATCH","TYPENAME_ELLIPSIS",
712 "PRE_PARSED_FUNCTION_DECL","EXTERN_LANG_STRING","ALL","PRE_PARSED_CLASS_DECL",
713 "DEFARG","DEFARG_MARKER","TYPENAME_DEFN","IDENTIFIER_DEFN","PTYPENAME_DEFN",
714 "END_OF_LINE","END_OF_SAVED_INPUT","')'","'}'","'!'","']'","program","extdefs",
715 "@1","extdefs_opt",".hush_warning",".warning_ok","extension","asm_keyword","lang_extdef",
716 "@2","extdef","@3","@4","using_decl","any_id","extern_lang_string","template_header",
717 "@5","template_parm_list","maybe_identifier","template_type_parm","template_template_parm",
718 "template_parm","template_def","datadef","ctor_initializer_opt","maybe_return_init",
719 "eat_saved_input","fndef","constructor_declarator","@6","@7","@8","@9","fn.def1",
720 "component_constructor_declarator","fn.def2","return_id","return_init","base_init",
721 ".set_base_init","member_init_list","member_init","identifier","notype_identifier",
722 "identifier_defn","explicit_instantiation","@10","@11","@12","@13","@14","@15",
723 "@16","@17","begin_explicit_instantiation","end_explicit_instantiation","template_type",
724 "self_template_type","template_close_bracket","template_arg_list_opt","template_arg_list",
725 "template_arg","unop","expr","paren_expr_or_null","paren_cond_or_null","xcond",
726 "condition","@18","compstmtend","already_scoped_stmt","@19","nontrivial_exprlist",
727 "nonnull_exprlist","unary_expr","new_placement","new_initializer","regcast_or_absdcl",
728 "cast_expr","expr_no_commas","notype_unqualified_id","do_id","template_id","object_template_id",
729 "unqualified_id","expr_or_declarator","notype_template_declarator","direct_notype_declarator",
730 "primary","@20","new","delete","boolean.literal","string","nodecls","object",
731 "decl","declarator","fcast_or_absdcl","type_id","typed_declspecs","typed_declspecs1",
732 "reserved_declspecs","declmods","typed_typespecs","reserved_typespecquals","typespec",
733 "typespecqual_reserved","initdecls","notype_initdecls","nomods_initdecls","maybeasm",
734 "initdcl0","@21","initdcl","@22","notype_initdcl0","@23","nomods_initdcl0","@24",
735 "maybe_attribute","attributes","attribute","attribute_list","attrib","any_word",
736 "identifiers_or_typenames","maybe_init","init","initlist","fn.defpen","pending_inline",
737 "pending_inlines","defarg_again","pending_defargs","structsp","@25","@26","@27",
738 "@28","maybecomma","maybecomma_warn","aggr","named_class_head_sans_basetype",
739 "named_class_head_sans_basetype_defn","named_complex_class_head_sans_basetype",
740 "do_xref_defn","named_class_head","unnamed_class_head","class_head","maybe_base_class_list",
741 "base_class_list","base_class","base_class.1","base_class_access_list","left_curly",
742 "self_reference","opt.component_decl_list","component_decl_list","component_decl",
743 "component_decl_1","components","notype_components","component_declarator0",
744 "component_declarator","after_type_component_declarator0","notype_component_declarator0",
745 "after_type_component_declarator","notype_component_declarator","enumlist","enumerator",
746 "new_type_id","cv_qualifiers","nonempty_cv_qualifiers","suspend_mom","nonmomentary_expr",
747 "maybe_parmlist","after_type_declarator","nonnested_type","complete_type_name",
748 "nested_type","direct_after_type_declarator","notype_declarator","complex_notype_declarator",
749 "complex_direct_notype_declarator","qualified_id","notype_qualified_id","overqualified_id",
750 "functional_cast","type_name","nested_name_specifier","nested_name_specifier_1",
751 "typename_sub","typename_sub0","typename_sub1","typename_sub2","complex_type_name",
752 "ptr_to_mem","global_scope","new_declarator","direct_new_declarator","absdcl",
753 "direct_abstract_declarator","stmts","errstmt",".pushlevel",".poplevel","maybe_label_decls",
754 "label_decls","label_decl","compstmt_or_error","compstmt","@29","simple_if",
755 "@30","@31","implicitly_scoped_stmt","@32","stmt","simple_stmt","@33","@34",
756 "@35","@36","@37","@38","@39","@40","@41","@42","@43","@44","@45","@46","@47",
757 "function_try_block","@48","@49","try_block","@50","@51","handler_seq","handler",
758 "@52","@53","@54","type_specifier_seq","handler_args","label_colon","for.init.statement",
759 "maybe_cv_qualifier","xexpr","asm_operands","nonnull_asm_operands","asm_operand",
760 "asm_clobbers","parmlist","complex_parmlist","defarg","@55","defarg1","parms",
761 "parms_comma","named_parm","full_parm","parm","see_typename","bad_parm","exception_specification_opt",
762 "ansi_raise_identifier","ansi_raise_identifiers","conversion_declarator","operator",
763 "operator_name", NULL
767 static const short yyr1
[] = { 0,
768 114, 114, 116, 115, 115, 117, 117, 118, 119, 120,
769 121, 121, 123, 122, 124, 124, 124, 124, 124, 124,
770 124, 125, 124, 126, 124, 124, 124, 124, 124, 127,
771 127, 127, 128, 128, 128, 128, 129, 129, 131, 130,
772 130, 132, 132, 133, 133, 134, 134, 135, 136, 136,
773 136, 136, 136, 136, 137, 137, 138, 138, 138, 138,
774 138, 138, 138, 138, 138, 139, 139, 140, 140, 140,
775 141, 141, 142, 142, 142, 144, 143, 143, 145, 143,
776 143, 146, 143, 143, 147, 143, 143, 148, 148, 148,
777 148, 148, 149, 149, 149, 149, 150, 150, 150, 150,
778 150, 150, 150, 150, 151, 152, 152, 152, 153, 154,
779 155, 155, 155, 155, 156, 156, 156, 156, 156, 156,
780 156, 156, 157, 157, 157, 157, 157, 158, 158, 158,
781 159, 159, 159, 161, 160, 162, 160, 163, 160, 164,
782 160, 165, 160, 166, 160, 167, 160, 168, 160, 169,
783 170, 171, 171, 171, 172, 173, 173, 174, 174, 175,
784 175, 176, 176, 177, 177, 177, 177, 177, 178, 178,
785 179, 179, 180, 180, 181, 181, 181, 183, 182, 182,
786 184, 184, 184, 184, 186, 185, 185, 187, 187, 187,
787 187, 188, 188, 189, 189, 189, 189, 189, 189, 189,
788 189, 189, 189, 189, 189, 189, 189, 189, 189, 189,
789 189, 189, 189, 189, 189, 189, 189, 190, 190, 191,
790 191, 191, 191, 192, 192, 193, 193, 193, 194, 194,
791 194, 194, 194, 194, 194, 194, 194, 194, 194, 194,
792 194, 194, 194, 194, 194, 194, 194, 194, 194, 194,
793 194, 194, 194, 195, 195, 195, 195, 195, 195, 196,
794 197, 197, 198, 198, 198, 199, 199, 199, 200, 200,
795 200, 200, 201, 201, 202, 202, 202, 202, 203, 203,
796 203, 203, 203, 203, 203, 204, 203, 203, 203, 203,
797 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
798 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
799 203, 203, 203, 203, 203, 203, 203, 203, 205, 205,
800 206, 206, 207, 207, 208, 208, 209, 210, 210, 211,
801 211, 211, 211, 211, 211, 212, 212, 213, 213, 214,
802 214, 214, 214, 214, 215, 215, 216, 216, 216, 216,
803 216, 216, 217, 217, 217, 217, 217, 218, 218, 218,
804 218, 218, 218, 219, 219, 219, 219, 220, 220, 221,
805 221, 221, 221, 221, 221, 221, 222, 222, 222, 223,
806 223, 224, 224, 225, 225, 226, 226, 228, 227, 227,
807 230, 229, 229, 232, 231, 231, 234, 233, 233, 235,
808 235, 236, 236, 237, 238, 238, 239, 239, 239, 239,
809 239, 240, 240, 240, 240, 241, 241, 242, 242, 243,
810 243, 243, 243, 243, 244, 244, 244, 244, 244, 244,
811 245, 246, 246, 246, 247, 247, 248, 248, 249, 249,
812 249, 251, 250, 250, 252, 250, 250, 250, 250, 250,
813 253, 254, 250, 250, 255, 255, 256, 256, 257, 257,
814 257, 257, 257, 258, 259, 260, 260, 260, 260, 260,
815 261, 262, 262, 262, 263, 264, 264, 265, 265, 265,
816 266, 266, 267, 267, 268, 268, 268, 268, 269, 269,
817 269, 269, 270, 271, 272, 272, 272, 272, 273, 273,
818 274, 274, 274, 274, 274, 274, 274, 274, 275, 275,
819 275, 275, 275, 275, 275, 275, 275, 275, 276, 276,
820 276, 277, 277, 277, 278, 278, 279, 279, 280, 280,
821 281, 281, 281, 281, 282, 282, 283, 283, 283, 284,
822 284, 285, 285, 286, 286, 286, 287, 287, 288, 288,
823 289, 290, 291, 291, 291, 291, 292, 292, 292, 292,
824 292, 292, 293, 293, 294, 294, 294, 295, 296, 296,
825 296, 296, 296, 296, 297, 297, 297, 297, 297, 297,
826 298, 298, 298, 298, 298, 298, 299, 299, 299, 299,
827 299, 299, 300, 300, 301, 301, 302, 302, 303, 303,
828 303, 304, 304, 304, 305, 305, 306, 306, 306, 306,
829 307, 307, 308, 309, 309, 310, 310, 310, 310, 310,
830 310, 311, 311, 311, 312, 312, 313, 314, 314, 314,
831 314, 314, 314, 314, 315, 315, 316, 316, 316, 316,
832 316, 316, 316, 316, 316, 316, 316, 317, 317, 317,
833 317, 317, 317, 317, 317, 317, 317, 317, 318, 318,
834 318, 318, 319, 320, 321, 322, 322, 323, 323, 324,
835 325, 325, 327, 326, 329, 330, 328, 331, 332, 331,
836 333, 333, 334, 334, 335, 336, 334, 334, 337, 338,
837 334, 339, 340, 334, 341, 342, 343, 344, 334, 345,
838 346, 334, 347, 334, 348, 334, 349, 334, 334, 334,
839 334, 334, 334, 334, 334, 334, 334, 334, 334, 334,
840 334, 334, 351, 352, 350, 354, 355, 353, 356, 356,
841 358, 359, 360, 357, 361, 361, 362, 362, 363, 363,
842 363, 363, 364, 364, 364, 365, 365, 366, 366, 366,
843 367, 367, 368, 368, 369, 370, 370, 371, 371, 371,
844 372, 372, 372, 372, 372, 372, 372, 372, 372, 372,
845 374, 373, 375, 375, 376, 376, 376, 376, 376, 377,
846 377, 378, 378, 378, 378, 378, 378, 379, 379, 380,
847 380, 381, 382, 382, 383, 383, 383, 384, 385, 385,
848 386, 386, 386, 386, 387, 388, 388, 388, 388, 388,
849 388, 388, 388, 388, 388, 388, 388, 388, 388, 388,
850 388, 388, 388, 388, 388, 388, 388, 388, 388, 388,
851 388, 388, 388, 388, 388, 388, 388, 388, 388, 388
854 static const short yyr2
[] = { 0,
855 0, 1, 0, 2, 2, 1, 0, 0, 0, 1,
856 1, 1, 0, 2, 2, 1, 1, 5, 4, 5,
857 4, 0, 6, 0, 5, 5, 2, 4, 2, 2,
858 3, 3, 1, 1, 2, 2, 1, 2, 0, 5,
859 3, 1, 3, 1, 0, 2, 2, 3, 1, 3,
860 1, 3, 1, 3, 2, 2, 2, 3, 3, 2,
861 2, 2, 2, 2, 1, 1, 1, 0, 1, 2,
862 0, 1, 4, 3, 3, 0, 8, 5, 0, 9,
863 6, 0, 8, 5, 0, 9, 6, 2, 2, 1,
864 2, 1, 6, 4, 6, 4, 2, 1, 2, 2,
865 1, 2, 1, 2, 2, 2, 4, 2, 3, 0,
866 0, 1, 3, 2, 3, 1, 4, 2, 4, 2,
867 4, 2, 1, 1, 1, 1, 1, 1, 1, 1,
868 1, 1, 1, 0, 6, 0, 6, 0, 5, 0,
869 5, 0, 7, 0, 7, 0, 6, 0, 6, 0,
870 0, 4, 4, 1, 4, 1, 1, 0, 1, 1,
871 3, 1, 1, 1, 1, 1, 1, 1, 1, 1,
872 1, 3, 1, 3, 0, 1, 1, 0, 7, 1,
873 1, 3, 4, 3, 0, 3, 1, 3, 3, 3,
874 3, 1, 1, 1, 2, 2, 2, 2, 2, 2,
875 2, 4, 2, 4, 2, 3, 3, 4, 4, 5,
876 5, 6, 2, 4, 5, 2, 2, 3, 3, 3,
877 1, 3, 2, 3, 4, 1, 2, 5, 1, 3,
878 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
879 3, 3, 3, 3, 3, 3, 3, 3, 5, 3,
880 3, 1, 2, 3, 1, 1, 1, 1, 1, 0,
881 5, 5, 5, 5, 5, 1, 1, 1, 1, 2,
882 2, 3, 4, 4, 1, 1, 1, 3, 1, 1,
883 1, 1, 3, 3, 3, 0, 4, 4, 2, 4,
884 2, 2, 1, 4, 1, 7, 7, 7, 7, 4,
885 4, 2, 2, 1, 4, 2, 2, 5, 3, 2,
886 2, 5, 3, 5, 3, 4, 6, 2, 1, 2,
887 1, 2, 1, 1, 1, 2, 0, 2, 2, 3,
888 3, 3, 2, 2, 2, 1, 1, 1, 2, 2,
889 2, 2, 1, 1, 1, 1, 2, 2, 3, 3,
890 3, 4, 1, 2, 2, 2, 1, 1, 1, 2,
891 2, 2, 1, 1, 2, 2, 3, 1, 2, 1,
892 1, 1, 4, 4, 4, 4, 1, 1, 1, 1,
893 3, 1, 3, 1, 3, 0, 4, 0, 6, 3,
894 0, 6, 3, 0, 6, 3, 0, 6, 3, 0,
895 1, 1, 2, 6, 1, 3, 0, 1, 4, 6,
896 4, 1, 1, 1, 1, 1, 3, 0, 2, 1,
897 2, 3, 4, 1, 1, 3, 4, 6, 3, 5,
898 1, 4, 3, 3, 0, 3, 3, 3, 0, 2,
899 2, 0, 7, 4, 0, 6, 3, 2, 2, 2,
900 0, 0, 9, 1, 0, 1, 0, 1, 1, 2,
901 2, 2, 2, 2, 2, 3, 4, 3, 2, 3,
902 0, 1, 3, 2, 2, 1, 1, 0, 2, 3,
903 1, 4, 1, 3, 1, 1, 4, 4, 2, 2,
904 3, 3, 1, 0, 1, 2, 4, 3, 1, 2,
905 2, 2, 2, 2, 2, 2, 1, 2, 2, 2,
906 4, 4, 2, 1, 5, 4, 1, 2, 0, 1,
907 3, 0, 1, 3, 1, 1, 1, 1, 4, 4,
908 4, 4, 4, 3, 4, 4, 4, 4, 3, 1,
909 3, 1, 3, 2, 1, 6, 0, 2, 1, 2,
910 0, 2, 4, 4, 2, 4, 3, 3, 2, 2,
911 3, 1, 1, 2, 1, 1, 2, 2, 4, 4,
912 3, 3, 2, 1, 3, 3, 2, 2, 3, 1,
913 3, 3, 2, 2, 3, 1, 4, 3, 4, 3,
914 1, 2, 2, 2, 2, 2, 1, 2, 4, 4,
915 2, 1, 1, 1, 1, 2, 2, 2, 2, 2,
916 1, 2, 2, 1, 2, 2, 2, 2, 2, 2,
917 2, 2, 1, 2, 2, 3, 1, 3, 2, 3,
918 2, 2, 3, 1, 3, 4, 3, 2, 2, 1,
919 3, 2, 2, 1, 2, 3, 1, 3, 1, 6,
920 4, 4, 3, 5, 3, 3, 3, 2, 1, 1,
921 2, 2, 2, 0, 0, 0, 1, 1, 2, 3,
922 1, 2, 0, 5, 0, 0, 6, 1, 0, 4,
923 1, 1, 1, 2, 0, 0, 6, 1, 0, 0,
924 7, 0, 0, 7, 0, 0, 0, 0, 14, 0,
925 0, 9, 0, 5, 0, 7, 0, 4, 2, 2,
926 2, 3, 6, 8, 10, 12, 4, 3, 2, 2,
927 1, 1, 0, 0, 6, 0, 0, 5, 1, 2,
928 0, 0, 0, 8, 1, 1, 3, 3, 2, 2,
929 2, 2, 2, 1, 2, 0, 1, 0, 1, 1,
930 0, 1, 1, 3, 4, 1, 3, 0, 1, 1,
931 1, 2, 2, 2, 1, 1, 2, 2, 2, 2,
932 0, 3, 1, 1, 1, 2, 2, 2, 4, 2,
933 2, 2, 2, 2, 2, 1, 2, 1, 2, 1,
934 1, 0, 0, 1, 0, 4, 2, 1, 1, 3,
935 0, 3, 3, 3, 1, 2, 2, 2, 2, 2,
936 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
937 2, 2, 2, 2, 2, 2, 2, 2, 3, 2,
938 2, 2, 2, 3, 2, 2, 4, 4, 3, 2
941 static const short yydefact
[] = { 3,
942 13, 13, 5, 0, 4, 0, 257, 602, 603, 0,
943 359, 371, 549, 0, 11, 12, 0, 0, 0, 10,
944 459, 805, 0, 0, 0, 150, 627, 258, 259, 65,
945 0, 0, 792, 0, 37, 0, 0, 14, 0, 8,
946 0, 17, 16, 71, 92, 68, 0, 604, 154, 276,
947 255, 277, 580, 0, 346, 0, 345, 364, 0, 384,
948 363, 402, 370, 0, 472, 471, 478, 477, 476, 454,
949 358, 565, 372, 566, 90, 275, 591, 563, 0, 605,
950 547, 0, 0, 256, 63, 64, 158, 607, 158, 608,
951 158, 260, 150, 123, 124, 125, 126, 127, 445, 448,
952 0, 623, 0, 449, 0, 0, 0, 0, 124, 125,
953 126, 127, 24, 0, 0, 0, 0, 0, 0, 0,
954 450, 611, 0, 614, 0, 0, 0, 0, 0, 0,
955 30, 0, 0, 39, 0, 158, 609, 0, 0, 578,
956 0, 0, 0, 577, 0, 0, 0, 0, 276, 0,
957 551, 0, 275, 547, 29, 0, 27, 3, 38, 0,
958 56, 55, 72, 15, 0, 0, 418, 69, 61, 610,
959 551, 0, 547, 62, 0, 0, 0, 88, 0, 380,
960 336, 562, 337, 574, 0, 547, 361, 360, 60, 91,
961 347, 0, 382, 362, 89, 353, 377, 378, 348, 366,
962 368, 357, 379, 0, 57, 403, 460, 461, 462, 463,
963 475, 132, 131, 133, 464, 465, 469, 0, 0, 478,
964 792, 474, 493, 494, 550, 365, 0, 0, 400, 603,
965 0, 625, 154, 595, 596, 592, 568, 606, 0, 567,
966 564, 0, 840, 836, 835, 833, 815, 820, 821, 0,
967 827, 826, 812, 813, 811, 830, 819, 816, 817, 818,
968 822, 823, 809, 810, 806, 807, 808, 832, 824, 825,
969 814, 831, 0, 828, 735, 364, 736, 801, 260, 257,
970 549, 280, 325, 0, 0, 0, 0, 321, 319, 293,
971 323, 324, 0, 0, 0, 0, 0, 259, 252, 0,
972 0, 165, 164, 0, 166, 167, 0, 0, 168, 0,
973 0, 159, 160, 0, 226, 0, 229, 163, 279, 194,
974 0, 0, 281, 282, 0, 162, 343, 364, 344, 597,
975 304, 295, 0, 0, 0, 0, 158, 0, 447, 0,
976 442, 624, 622, 0, 169, 170, 0, 0, 0, 407,
977 3, 22, 0, 620, 616, 617, 619, 621, 618, 123,
978 124, 125, 126, 127, 613, 615, 612, 267, 268, 0,
979 266, 33, 34, 0, 594, 593, 32, 31, 41, 0,
980 359, 140, 0, 0, 364, 138, 0, 0, 576, 0,
981 575, 254, 271, 0, 584, 270, 0, 583, 0, 278,
982 588, 0, 0, 13, 0, 150, 9, 9, 105, 75,
983 110, 723, 0, 67, 66, 74, 108, 0, 0, 106,
984 70, 590, 0, 0, 555, 0, 795, 0, 560, 0,
985 559, 0, 0, 0, 0, 547, 400, 0, 59, 551,
986 547, 573, 0, 350, 351, 0, 58, 400, 355, 354,
987 356, 349, 369, 386, 385, 466, 470, 468, 0, 473,
988 479, 0, 0, 367, 0, 399, 401, 547, 76, 0,
989 0, 0, 547, 82, 548, 579, 603, 626, 154, 0,
990 0, 829, 834, 366, 547, 547, 0, 547, 839, 158,
991 0, 0, 0, 201, 0, 0, 203, 216, 217, 0,
992 0, 0, 0, 0, 253, 200, 197, 196, 198, 0,
993 0, 0, 0, 0, 279, 0, 0, 0, 195, 156,
994 157, 273, 0, 199, 0, 0, 227, 0, 0, 0,
995 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
996 0, 0, 0, 0, 0, 0, 0, 0, 0, 289,
997 291, 292, 329, 328, 0, 0, 0, 0, 0, 205,
998 545, 0, 213, 326, 318, 0, 792, 307, 310, 311,
999 0, 0, 338, 644, 640, 649, 0, 551, 547, 547,
1000 547, 340, 647, 0, 601, 342, 0, 0, 341, 306,
1001 0, 302, 320, 322, 598, 0, 303, 153, 155, 0,
1002 148, 0, 364, 146, 542, 457, 540, 444, 0, 373,
1003 0, 0, 374, 375, 376, 413, 414, 415, 412, 0,
1004 405, 408, 0, 3, 0, 28, 36, 35, 45, 0,
1005 0, 0, 49, 53, 42, 791, 786, 0, 343, 364,
1006 45, 344, 790, 51, 151, 136, 134, 151, 152, 274,
1007 582, 581, 278, 585, 0, 19, 21, 71, 111, 327,
1008 0, 673, 73, 671, 424, 0, 420, 419, 193, 0,
1009 192, 552, 589, 0, 765, 766, 0, 760, 364, 0,
1010 759, 761, 793, 775, 0, 0, 587, 558, 557, 0,
1011 0, 572, 0, 390, 381, 571, 0, 795, 561, 352,
1012 383, 396, 400, 467, 602, 603, 792, 0, 792, 604,
1013 480, 481, 483, 792, 486, 485, 0, 514, 603, 0,
1014 507, 0, 0, 517, 0, 103, 98, 0, 154, 519,
1015 522, 0, 499, 0, 101, 0, 400, 0, 397, 795,
1016 758, 158, 158, 158, 795, 758, 547, 79, 547, 85,
1017 838, 837, 801, 801, 801, 0, 0, 0, 0, 601,
1018 0, 0, 0, 0, 364, 0, 0, 0, 285, 0,
1019 283, 284, 0, 224, 161, 257, 602, 603, 258, 259,
1020 0, 0, 425, 455, 0, 251, 250, 750, 749, 0,
1021 248, 247, 245, 246, 244, 243, 242, 239, 240, 241,
1022 237, 238, 232, 233, 234, 235, 236, 230, 231, 0,
1023 0, 0, 0, 0, 0, 207, 221, 0, 0, 206,
1024 547, 547, 0, 547, 544, 634, 0, 0, 0, 0,
1025 309, 0, 313, 0, 315, 0, 643, 642, 639, 638,
1026 791, 0, 0, 658, 0, 0, 795, 339, 795, 645,
1027 547, 758, 551, 644, 640, 0, 0, 547, 0, 0,
1028 0, 0, 0, 261, 151, 144, 142, 151, 0, 458,
1029 0, 457, 191, 190, 189, 188, 407, 0, 0, 25,
1030 0, 26, 47, 44, 45, 0, 40, 0, 0, 644,
1031 640, 0, 782, 547, 785, 787, 0, 783, 784, 46,
1032 464, 0, 141, 151, 151, 139, 18, 20, 128, 116,
1033 129, 130, 0, 109, 112, 0, 0, 0, 0, 672,
1034 664, 421, 0, 107, 556, 553, 764, 781, 770, 768,
1035 0, 554, 763, 780, 769, 767, 762, 794, 777, 788,
1036 778, 771, 776, 797, 0, 388, 570, 569, 394, 393,
1037 490, 0, 489, 792, 792, 792, 0, 547, 758, 513,
1038 508, 104, 518, 400, 400, 505, 506, 503, 504, 547,
1039 758, 257, 602, 0, 386, 99, 509, 520, 525, 526,
1040 386, 386, 0, 0, 386, 97, 510, 523, 386, 500,
1041 501, 502, 400, 0, 451, 387, 0, 78, 0, 0,
1042 0, 0, 84, 0, 795, 758, 795, 758, 803, 802,
1043 804, 262, 294, 202, 204, 300, 301, 0, 0, 0,
1044 0, 284, 287, 0, 0, 0, 0, 225, 0, 288,
1045 290, 219, 218, 209, 0, 208, 223, 0, 0, 631,
1046 629, 0, 632, 551, 214, 0, 0, 316, 0, 0,
1047 0, 641, 637, 648, 547, 657, 655, 656, 646, 795,
1048 0, 653, 0, 599, 600, 0, 305, 149, 151, 151,
1049 147, 543, 541, 446, 0, 406, 404, 257, 0, 23,
1050 48, 43, 50, 54, 643, 639, 644, 640, 0, 563,
1051 0, 547, 645, 52, 137, 135, 0, 114, 0, 118,
1052 0, 120, 0, 122, 0, 724, 666, 0, 422, 644,
1053 640, 0, 279, 0, 597, 789, 0, 0, 798, 799,
1054 0, 0, 0, 391, 0, 0, 0, 492, 491, 484,
1055 795, 0, 418, 418, 795, 0, 0, 0, 400, 400,
1056 0, 400, 400, 0, 400, 0, 418, 0, 439, 398,
1057 547, 264, 263, 265, 547, 81, 0, 87, 0, 0,
1058 0, 0, 0, 0, 429, 0, 0, 426, 228, 249,
1059 0, 210, 211, 220, 222, 630, 628, 635, 633, 0,
1060 215, 0, 308, 312, 314, 795, 651, 547, 652, 145,
1061 143, 443, 0, 409, 411, 643, 639, 568, 645, 115,
1062 113, 0, 0, 0, 0, 0, 181, 665, 0, 667,
1063 668, 423, 0, 600, 779, 773, 774, 772, 0, 796,
1064 389, 395, 0, 487, 488, 482, 94, 547, 512, 516,
1065 96, 547, 400, 400, 534, 418, 257, 602, 0, 521,
1066 527, 528, 386, 386, 418, 418, 0, 418, 524, 511,
1067 0, 795, 795, 547, 547, 0, 0, 0, 0, 427,
1068 0, 0, 0, 212, 636, 317, 654, 795, 0, 117,
1069 119, 121, 731, 725, 729, 416, 0, 674, 0, 257,
1070 602, 603, 675, 689, 692, 695, 664, 0, 0, 0,
1071 0, 0, 0, 258, 721, 726, 0, 746, 0, 683,
1072 0, 0, 364, 0, 660, 681, 688, 659, 682, 722,
1073 0, 669, 284, 800, 392, 795, 795, 533, 530, 532,
1074 0, 0, 400, 400, 400, 529, 531, 515, 441, 0,
1075 440, 435, 77, 83, 795, 795, 296, 297, 298, 299,
1076 0, 430, 546, 650, 410, 664, 730, 0, 670, 663,
1077 184, 739, 741, 742, 664, 664, 664, 0, 0, 0,
1078 707, 709, 710, 711, 0, 0, 0, 740, 0, 335,
1079 747, 0, 684, 333, 386, 0, 334, 0, 386, 0,
1080 0, 0, 182, 662, 661, 685, 720, 719, 93, 95,
1081 400, 400, 539, 418, 418, 0, 0, 453, 80, 86,
1082 428, 0, 417, 0, 0, 679, 678, 0, 0, 0,
1083 0, 703, 0, 712, 0, 718, 727, 0, 331, 332,
1084 0, 0, 0, 330, 183, 664, 538, 536, 535, 537,
1085 438, 437, 431, 68, 71, 0, 732, 173, 0, 676,
1086 690, 0, 693, 666, 744, 696, 0, 180, 0, 364,
1087 0, 0, 0, 708, 717, 0, 0, 686, 0, 436,
1088 0, 0, 0, 0, 664, 0, 665, 0, 745, 664,
1089 743, 700, 386, 705, 704, 728, 751, 0, 665, 434,
1090 0, 433, 737, 738, 733, 174, 677, 185, 665, 187,
1091 680, 171, 0, 0, 0, 664, 400, 0, 0, 0,
1092 752, 753, 713, 687, 432, 665, 666, 691, 0, 694,
1093 177, 0, 176, 701, 0, 706, 0, 751, 0, 0,
1094 734, 186, 172, 697, 665, 178, 0, 0, 714, 754,
1095 0, 702, 0, 755, 0, 0, 0, 179, 756, 0,
1096 715, 698, 0, 0, 0, 757, 716, 665, 699, 0,
1100 static const short yydefgoto
[] = { 1550,
1101 404, 2, 405, 160, 657, 310, 228, 3, 4, 38,
1102 624, 351, 724, 370, 40, 725, 380, 632, 883, 633,
1103 634, 635, 42, 43, 413, 166, 164, 44, 726, 741,
1104 1006, 746, 1008, 46, 727, 728, 167, 168, 414, 659,
1105 914, 915, 605, 916, 216, 47, 905, 904, 648, 645,
1106 1070, 1069, 868, 865, 135, 903, 48, 49, 522, 311,
1107 312, 313, 314, 1299, 1494, 1440, 1512, 1449, 1533, 1208,
1108 1489, 1507, 345, 857, 315, 559, 820, 316, 317, 346,
1109 319, 337, 51, 235, 372, 393, 52, 53, 320, 517,
1110 321, 322, 323, 324, 415, 325, 1300, 454, 580, 326,
1111 1301, 55, 199, 638, 327, 200, 495, 201, 179, 192,
1112 59, 437, 180, 1122, 455, 1223, 193, 1123, 60, 997,
1113 466, 61, 62, 620, 621, 622, 1277, 420, 783, 784,
1114 1434, 1435, 1398, 1331, 1251, 63, 609, 340, 1149, 1332,
1115 1027, 871, 64, 65, 66, 67, 220, 68, 69, 70,
1116 222, 711, 712, 713, 714, 224, 462, 463, 732, 733,
1117 734, 977, 987, 978, 1240, 979, 980, 1241, 1242, 606,
1118 607, 560, 847, 329, 423, 424, 173, 181, 72, 73,
1119 74, 182, 183, 152, 76, 131, 330, 331, 332, 78,
1120 333, 80, 716, 122, 123, 124, 104, 81, 334, 825,
1121 826, 842, 583, 1304, 1305, 1406, 1278, 1209, 1210, 1211,
1122 663, 1306, 921, 1307, 1355, 1465, 1408, 1442, 1308, 1309,
1123 1426, 1479, 1356, 1466, 1357, 1468, 1358, 1470, 1531, 1545,
1124 1496, 1525, 1453, 1498, 1413, 416, 660, 1205, 1310, 1369,
1125 1456, 1274, 1275, 1346, 1463, 1506, 1451, 1437, 1311, 1446,
1126 1372, 790, 1500, 1501, 1502, 1540, 680, 681, 943, 1118,
1127 1218, 682, 683, 684, 939, 685, 145, 941, 687, 1120,
1131 static const short yypact
[] = { 81,
1132 98,-32768,-32768, 5542,-32768, 180, 55, 184, 269, 124,
1133 59,-32768,-32768, 1447,-32768,-32768, 42, 232, 243,-32768,
1134 -32768,-32768, 1477, 647, 1059, 161,-32768, 296, 307,-32768,
1135 2186, 2186,-32768, 4882,-32768, 5542, 261,-32768, 402, 29,
1136 10110,-32768,-32768, 314,-32768, 462, 490, 516,-32768,-32768,
1137 -32768,-32768, 175, 978,-32768, 2303,-32768, 1948, 280,-32768,
1138 543,-32768,-32768, 1152,-32768,-32768, 538,-32768,-32768, 530,
1139 3742,-32768,-32768,-32768, 1483,-32768,-32768,-32768, 709,-32768,
1140 -32768, 729, 7746, 573,-32768,-32768, 9078,-32768, 9078,-32768,
1141 9078,-32768,-32768,-32768, 184, 269, 296, 563, 542, 604,
1142 516,-32768, 729,-32768, 729, 9078, 9078, 580,-32768,-32768,
1143 -32768,-32768,-32768, 687, 612, 549, 587, 654, 629, 638,
1144 -32768,-32768, 1237,-32768, 1259, 184, 269, 1745, 296, 563,
1145 -32768, 2873, 875, 620, 10275, 9078,-32768, 9078, 2442,-32768,
1146 1270, 1017, 2442,-32768, 1298, 3365, 3365, 4882, 590, 601,
1147 623, 626, 651,-32768,-32768, 746,-32768, 658,-32768, 4414,
1148 180,-32768,-32768,-32768, 779, 147, 327, 717,-32768,-32768,
1149 678, 214,-32768,-32768, 3555, 3555, 5044, 1483, 353,-32768,
1150 -32768, 183,-32768,-32768, 2894,-32768,-32768,-32768,-32768,-32768,
1151 1948, 456,-32768, 543, 1483,-32768,-32768,-32768, 2130, 1948,
1152 -32768, 543,-32768, 5077,-32768,-32768,-32768,-32768,-32768,-32768,
1153 -32768,-32768,-32768,-32768,-32768,-32768, 516, 1552, 1552, 538,
1154 -32768,-32768,-32768,-32768,-32768, 689, 729, 703, 543, 140,
1155 1700,-32768, 253,-32768,-32768,-32768,-32768,-32768, 3732,-32768,
1156 -32768, 331,-32768, 732, 736,-32768,-32768,-32768,-32768, 782,
1157 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1158 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1159 -32768,-32768, 728,-32768,-32768, 689, 3742, 574,-32768,-32768,
1160 756,-32768,-32768, 9693, 9780, 9867, 9867,-32768,-32768,-32768,
1161 -32768,-32768, 762, 787, 794, 796, 800, 563, 9165, 1298,
1162 9867,-32768,-32768, 9867,-32768,-32768, 9867, 7310,-32768, 9867,
1163 400, 836,-32768, 9867,-32768, 9252,-32768, 5717,-32768, 1780,
1164 2174, 9339,-32768, 879, 2803,-32768, 1287, 4058, 3815,-32768,
1165 315,-32768, 2998, 1368, 400, 400, 9078, 10275,-32768, 1298,
1166 788,-32768,-32768, 791, 843, 5934, 803, 804, 808, 1884,
1167 658,-32768, 1745,-32768,-32768,-32768,-32768,-32768,-32768, 612,
1168 549, 587, 654, 629,-32768,-32768,-32768, 184, 269, 860,
1169 -32768,-32768,-32768, 875,-32768,-32768,-32768,-32768,-32768, 5296,
1170 -32768,-32768, 5077, 2550, 2067,-32768, 400, 599,-32768, 362,
1171 -32768,-32768,-32768, 2442,-32768,-32768, 2442,-32768, 821,-32768,
1172 -32768, 3732, 69, 818, 827,-32768,-32768,-32768,-32768,-32768,
1173 -32768,-32768, 74,-32768,-32768,-32768,-32768, 7402, 9165,-32768,
1174 -32768,-32768, 9165, 831,-32768, 6638, 146, 3836,-32768, 3836,
1175 -32768, 4313, 4313, 5044, 835,-32768, 543, 5077,-32768, 844,
1176 -32768,-32768, 4665, 2130, 1948, 5077,-32768, 543,-32768,-32768,
1177 543, 2130,-32768, 421,-32768,-32768, 516,-32768, 1552,-32768,
1178 1970, 3278, 7, 689, 746, 882, 543,-32768,-32768, 884,
1179 888, 890,-32768,-32768,-32768,-32768, 433,-32768, 333, 856,
1180 857,-32768,-32768, 689,-32768,-32768, 413,-32768,-32768, 9078,
1181 9165, 756, 7310,-32768, 367, 7310,-32768,-32768,-32768, 9078,
1182 4421, 4421, 4421, 4421, 10521,-32768,-32768,-32768,-32768, 861,
1183 9954, 9954, 7310, 864, 590, 868, 921, 876,-32768,-32768,
1184 -32768,-32768, 9078,-32768, 7119, 7310,-32768, 9165, 9165, 5814,
1185 9165, 9165, 9165, 9165, 9165, 9165, 9165, 9165, 9165, 9165,
1186 9165, 9165, 9165, 9165, 9165, 9165, 9165, 9165, 9165,-32768,
1187 -32768,-32768,-32768,-32768, 9165, 9165, 9165, 9078, 1983, 497,
1188 302, 8110,-32768,-32768,-32768, 930, 983, 388, 397, 399,
1189 3089, 1017,-32768, 526, 526,-32768, 3623, 880, 904, 955,
1190 -32768,-32768, 345, 6155, 1530,-32768, 726, 729,-32768,-32768,
1191 9165,-32768,-32768,-32768,-32768, 182,-32768,-32768,-32768, 400,
1192 -32768, 5077, 2651,-32768, 941, 948,-32768,-32768, 1298,-32768,
1193 7839, 7931,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 80,
1194 -32768, 917, 903, 658, 956,-32768,-32768,-32768, 1167, 161,
1195 979, 212, 960, 962,-32768,-32768, 3452, 10331, 3452, 2877,
1196 1152, 6277,-32768, 965,-32768,-32768,-32768,-32768,-32768,-32768,
1197 -32768,-32768, 928,-32768, 970,-32768,-32768, 314, 789, 981,
1198 921,-32768,-32768,-32768,-32768, 6840, 10521,-32768, 843, 937,
1199 5934,-32768,-32768, 938,-32768,-32768, 943, 309, 5611, 947,
1200 -32768, 201, 5401, 995, 996, 442,-32768,-32768,-32768, 3836,
1201 3836,-32768, 4665, 1001,-32768,-32768, 958, 146,-32768, 2130,
1202 -32768, 1008, 543,-32768, 549, 587,-32768, 986,-32768, 638,
1203 1022,-32768,-32768, 218,-32768,-32768, 1626,-32768, 459, 1085,
1204 -32768, 9165, 10169,-32768, 5213, 300, 300, 256, 453, 2430,
1205 10230, 3562,-32768, 192, 300, 1021, 543, 71,-32768, 146,
1206 1892, 9078, 9078, 9078, 146, 1892,-32768,-32768,-32768,-32768,
1207 -32768,-32768, 751, 751, 751, 400, 982, 984, 9432, 955,
1208 989, 992, 1002, 1015, 4671, 1043, 1045, 1049,-32768, 1016,
1209 -32768,-32768, 1027,-32768,-32768, 1064, 448, 501, 41, 483,
1210 9165, 1069,-32768, 1081, 1035, 10521, 10521,-32768,-32768, 1086,
1211 10539, 4480, 8135, 10450, 1988, 5956, 5437, 2324, 2324, 2324,
1212 2166, 2166, 1171, 1171, 719, 719, 719,-32768,-32768, 1040,
1213 1038, 1041, 1048, 1052, 4421, 497,-32768, 7402, 9165,-32768,
1214 -32768,-32768, 9165,-32768,-32768, 1068, 9867, 1051, 1076, 1119,
1215 -32768, 9165,-32768, 9165,-32768, 9165, 1630,-32768, 1630,-32768,
1216 142, 1058, 1067,-32768, 1062, 4421, 146,-32768, 146, 1735,
1217 -32768, 1892, 1066, 8713, 8713, 6044, 1071, 9252, 1072, 3131,
1218 1368, 772, 1073,-32768,-32768,-32768,-32768,-32768, 9165, 1298,
1219 1074, 948,-32768, 10521,-32768, 10521, 1884, 1077, 9519,-32768,
1220 1079,-32768,-32768,-32768, 1409, 5296,-32768, 4421, 9078, 2627,
1221 2627, 3999,-32768,-32768,-32768,-32768, 2894,-32768,-32768,-32768,
1222 778, 9165,-32768,-32768,-32768,-32768,-32768,-32768, 612,-32768,
1223 654, 629, 9165, 1118,-32768, 472, 492, 496, 921,-32768,
1224 -32768,-32768, 64,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1225 8617,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 996,
1226 1128,-32768,-32768,-32768, 4421,-32768,-32768,-32768,-32768, 1135,
1227 -32768, 9078,-32768,-32768,-32768,-32768, 1065,-32768, 1892, 10521,
1228 -32768,-32768,-32768, 543, 543,-32768,-32768,-32768,-32768,-32768,
1229 1892, 391, 750, 9165, 421,-32768, 1143,-32768,-32768,-32768,
1230 540, 830, 709, 1017, 909, 300, 1146,-32768, 933,-32768,
1231 -32768,-32768, 543, 3928,-32768,-32768, 7402,-32768, 1098, 400,
1232 400, 400,-32768, 1102, 146, 1892, 146, 1892,-32768,-32768,
1233 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 1120, 1123, 1124,
1234 1129, 928,-32768, 10407, 7402, 6935, 1117,-32768, 9165,-32768,
1235 -32768,-32768,-32768, 622, 1121,-32768,-32768, 1126, 91, 554,
1236 554, 1116, 554,-32768,-32768, 9867, 1226,-32768, 1127, 1133,
1237 1137,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 146,
1238 1138,-32768, 1132,-32768,-32768, 3213,-32768,-32768,-32768,-32768,
1239 -32768, 10521,-32768,-32768, 1159,-32768,-32768, 200, 1161,-32768,
1240 -32768,-32768,-32768,-32768, 2700, 2700, 2991, 2991, 3999,-32768,
1241 2894,-32768, 3119, 5717,-32768,-32768, 1162,-32768, 789,-32768,
1242 9165,-32768, 9165,-32768, 9165,-32768, 61, 7027,-32768, 8806,
1243 8806, 6542, 411, 1170, 578,-32768, 7402, 7214,-32768,-32768,
1244 220, 7402, 7402,-32768, 1174, 1178, 1970,-32768,-32768,-32768,
1245 146, 1179, 1212, 1212, 146, 1180, 9165, 9165, 5896, 543,
1246 4772, 543, 543, 819, 543, 4781, 1212, 4583,-32768,-32768,
1247 -32768,-32768,-32768,-32768,-32768,-32768, 1187,-32768, 1189, 9165,
1248 9165, 9165, 9165, 7402,-32768, 9165, 1247,-32768,-32768, 10521,
1249 9165,-32768, 622,-32768,-32768,-32768,-32768,-32768,-32768, 1198,
1250 -32768, 1265,-32768,-32768,-32768, 146,-32768,-32768,-32768,-32768,
1251 -32768,-32768, 9165,-32768,-32768, 2700, 2700,-32768, 3119,-32768,
1252 -32768, 1204, 1210, 1211, 1227, 1298,-32768,-32768, 6448, 1292,
1253 -32768,-32768, 1220, 1785,-32768,-32768,-32768,-32768, 4421,-32768,
1254 -32768,-32768, 7402,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1255 -32768,-32768, 5896, 5896,-32768, 1212, 410, 865, 9165,-32768,
1256 -32768,-32768, 421, 421, 1212, 1212, 433, 1212,-32768,-32768,
1257 6337, 146, 146,-32768,-32768, 1221, 1224, 1228, 1230,-32768,
1258 10476, 7402, 1235,-32768,-32768,-32768,-32768, 146, 1231,-32768,
1259 -32768,-32768,-32768, 1227,-32768,-32768, 760,-32768, 234, 1273,
1260 887, 891,-32768,-32768,-32768,-32768,-32768, 9165, 1274, 1272,
1261 1282, 8899, 611, 485,-32768,-32768, 8991, 1343, 1293,-32768,
1262 1556, 4998, 10376, 4203,-32768,-32768, 1345,-32768,-32768,-32768,
1263 8221,-32768, 792,-32768,-32768, 146, 146,-32768,-32768,-32768,
1264 9165, 9165, 5896, 543, 543,-32768,-32768,-32768,-32768, 8023,
1265 -32768,-32768,-32768,-32768, 146, 146,-32768,-32768,-32768,-32768,
1266 7402,-32768,-32768,-32768,-32768,-32768,-32768, 1298,-32768,-32768,
1267 -32768,-32768,-32768,-32768,-32768,-32768, 921, 1271, 1280, 4110,
1268 -32768,-32768,-32768,-32768, 1303, 9165, 1314,-32768, 921,-32768,
1269 -32768, 1283,-32768,-32768, 421, 775,-32768, 834, 421, 9606,
1270 846, 257,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1271 5896, 5896,-32768, 1212, 1212, 1267, 10429, 1281,-32768,-32768,
1272 -32768, 1289,-32768, 582, 582,-32768,-32768, 1369, 6748, 9078,
1273 9165,-32768, 8331,-32768, 1324,-32768,-32768, 746,-32768,-32768,
1274 10041, 10041, 7494,-32768,-32768, 921,-32768,-32768,-32768,-32768,
1275 -32768,-32768,-32768, 462, 314, 4328,-32768,-32768, 9078,-32768,
1276 -32768, 8523,-32768, 61,-32768,-32768, 1326,-32768, 1284, 113,
1277 5077, 10499, 8331,-32768,-32768, 1227, 79,-32768, 170,-32768,
1278 1285, 1286, 921, 1290, 921, 8427,-32768, 596,-32768,-32768,
1279 -32768,-32768, 421,-32768,-32768, 1227, 1381, 1332,-32768,-32768,
1280 74,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1281 -32768,-32768, 9165, 1336, 7586, 921, 543, 8331, 1307, 31,
1282 1344,-32768,-32768,-32768,-32768,-32768, 61,-32768, 1301,-32768,
1283 -32768, 1354,-32768,-32768, 1359,-32768, 9165, 1381, 1372, 1381,
1284 -32768,-32768,-32768,-32768,-32768,-32768, 1319, 33,-32768,-32768,
1285 7678,-32768, 7402,-32768, 1426, 1380, 1333,-32768,-32768, 286,
1286 -32768,-32768, 1431, 1383, 8427,-32768,-32768,-32768,-32768, 1445,
1290 static const short yypgoto
[] = {-32768,
1291 1458,-32768, -331,-32768, 1039, 21, 35, 1457,-32768, 76,
1292 -32768,-32768, 650, 1108,-32768, 6,-32768,-32768, -583,-32768,
1293 -32768, 586,-32768, 1304, -645, 39, -655, 1315, 194,-32768,
1294 -32768,-32768,-32768,-32768, 745, 753,-32768,-32768,-32768,-32768,
1295 -32768, 384, 160,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1296 -32768,-32768,-32768,-32768, 1392, -430, 5232, 40, -184, -62,
1297 1348, -485,-32768, 1160,-32768, 85,-32768, -1313,-32768, -1334,
1298 -53,-32768, 1223, 1327, -250,-32768, -747, 2265, -59, 3990,
1299 3265, 1214,-32768, -46, -60, 720, -48, -33,-32768,-32768,
1300 -32768, -304,-32768, -149,-32768,-32768, -1213, -52, -315, 1263,
1301 0, 1193, -145, 56, 87, -165, -4, -94, -556, 193,
1302 -32768, -70,-32768,-32768, 195,-32768,-32768,-32768,-32768,-32768,
1303 699, -42, -10,-32768, 630,-32768,-32768, -385, 16, 833,
1304 -32768,-32768,-32768,-32768,-32768, 20,-32768,-32768,-32768,-32768,
1305 -32768, 631, -357,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1306 1294,-32768, 385, 560,-32768,-32768,-32768,-32768, 524, -679,
1307 795,-32768,-32768,-32768,-32768,-32768, 790,-32768, 378, 916,
1308 657, 969, 1545, 18, 15, -416, 1356, 109, -433,-32768,
1309 95,-32768, 5034, -135, -1, -85, 3708, 1225,-32768, 4847,
1310 1533, 135, -16, -107,-32768, 1422,-32768, 4307, 2386, -333,
1311 -32768, 1973,-32768,-32768, 242, -900, -1235,-32768,-32768, 341,
1312 89, -350,-32768,-32768,-32768,-32768, -1327,-32768, -1204, -1377,
1313 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1314 -32768,-32768,-32768,-32768,-32768, 93,-32768,-32768,-32768,-32768,
1315 -32768, 112, -1218,-32768,-32768,-32768, -64,-32768,-32768,-32768,
1316 -32768, -1345, 54,-32768, 57,-32768, -529, -507, 639,-32768,
1317 -32768,-32768,-32768, -374,-32768, -371, -181,-32768, 1846, 365,
1318 -32768, 111,-32768, -214
1322 #define YYLAST 10624
1325 static const short yytable
[] = { 58,
1326 151, 178, 908, 54, 229, 643, 403, 121, 644, 41,
1327 395, 398, 585, 194, 919, 202, 472, 367, 278, 623,
1328 1107, 71, 641, 697, 36, 445, 335, 715, 336, 594,
1329 236, 58, 153, 494, 497, 54, 58, 775, 37, 461,
1330 54, 41, 373, 961, 736, 444, 41, 378, 139, 143,
1331 206, 191, 990, 71, 452, 1347, 36, 900, 71, 56,
1332 464, 36, 664, 1447, 1467, 527, 226, 172, 1036, 843,
1333 37, 376, 377, 387, 661, 37, 843, 203, 276, 564,
1334 -1, 564, 328, 1370, 328, 375, 328, 158, 1490, 564,
1335 57, 56, 236, 1518, 1206, 1535, 56, -2, 1458, 1385,
1336 277, 328, 328, -126, 450, 453, 1388, 93, 102, 1469,
1337 484, 155, 151, 151, 151, 136, 162, 737, 233, 597,
1338 197, 198, 57, 1108, 448, 1464, 14, 57, 159, 87,
1339 385, 328, 662, 328, 383, 106, 236, 1487, 573, 877,
1340 1519, 1477, 1536, 151, 153, 153, 153, 410, 202, 21,
1341 598, 599, 71, 927, 475, 58, 451, 202, 24, 54,
1342 573, 845, 484, 394, 397, 172, 773, 1490, 1514, 275,
1343 1480, 1207, 1522, 100, 1109, 153, 240, 71, 655, 760,
1344 996, 1513, 114, 206, 759, 1537, 467, 468, 1478, 878,
1345 384, 206, 428, 430, 90, 1445, 172, 45, 92, 342,
1346 1175, 928, 649, 650, 929, -327, 759, 686, 1454, 411,
1347 203, 999, 933, 238, 91, 56, 1004, 906, 203, 203,
1348 288, 57, -551, 215, 955, 917, 498, 499, -327, 45,
1349 -551, 1491, 411, 469, 45, 134, 27, 238, 88, 930,
1350 85, 507, 412, 1504, 508, 203, 57, 509, 1475, 190,
1351 519, 774, 991, 1508, 524, 956, 561, 1347, 89, 1193,
1352 934, 425, 563, 935, 569, 412, 238, 373, -551, 171,
1353 1521, 886, 226, 885, 600, 238, -551, 440, 568, 1219,
1354 966, 479, 365, 429, 431, 435, 1172, 887, 628, 1532,
1355 86, 594, 881, 1516, 1350, 203, 395, 398, 936, 700,
1356 473, 1081, 992, 328, 392, 126, 127, 426, 643, 1194,
1357 920, 940, 1549, 627, 967, 738, 276, 1350, 968, 238,
1358 927, 240, 1061, 90, 226, 107, 15, 16, 382, 1220,
1359 646, -386, 328, 603, 8, 477, 108, 602, 277, 204,
1360 205, 194, 202, 91, 1351, 1543, 474, 203, 843, 450,
1361 453, 969, 238, 45, 156, 71, 27, 450, 129, 130,
1362 -386, 137, 590, 585, -386, 126, 127, 1425, 928, 453,
1363 136, 929, 821, -791, 417, 640, 238, 456, 458, 191,
1364 749, 138, 822, 703, 843, 631, 1359, 129, 130, 453,
1365 471, 418, 851, 384, 467, 1544, 823, 642, 151, 151,
1366 151, 451, 202, 1084, 203, 467, 930, 275, 591, 451,
1367 -386, 478, 438, 439, 573, 864, 126, 127, 129, 130,
1368 419, 679, 163, 843, 57, 1264, 750, 756, 240, 1132,
1369 153, 153, 153, 668, 1068, 831, 1063, 1071, 852, 853,
1370 206, 1136, 478, 642, 833, 1402, 835, 15, 16, 690,
1371 691, 507, 508, 1137, 1404, 1405, 206, 58, -276, 506,
1372 759, 730, 157, 203, 203, 87, 639, 238, 990, 129,
1373 130, 203, 1321, 1095, 1096, 520, 1157, 521, 1159, 71,
1374 747, 832, 723, 203, 87, 328, 165, 90, 328, 944,
1375 834, 328, 836, 232, 561, 328, 765, 765, 765, 765,
1376 970, 729, 88, 203, -276, -276, 958, 91, 328, 619,
1377 -124, 643, 639, 90, 644, 446, 447, 731, 328, 1100,
1378 -269, 328, 89, 715, 238, 951, 748, 953, 641, 126,
1379 127, 601, 957, 91, 13, 945, 688, 137, 689, 1102,
1380 429, 431, 435, 1104, 817, -127, 971, 1368, 57, 866,
1381 169, 699, 959, 328, 276, 90, 594, 126, 127, 136,
1382 202, 818, 475, -125, -336, 1101, 15, 16, 1106, 1495,
1383 170, 1012, 640, 573, 19, 91, 277, 126, 127, 679,
1384 27, 843, 129, 130, 893, 1103, 898, 899, 223, 1105,
1385 819, 837, 839, 238, 642, 194, 574, 202, -336, 484,
1386 221, 642, -336, 355, 843, 450, 575, 527, 27, 367,
1387 129, 130, 121, 94, 109, 110, 576, 137, 704, 577,
1388 578, 238, 203, 89, 821, -591, 899, 1180, 27, 1438,
1389 129, 130, 695, 191, 822, -336, 202, 226, 1190, 1191,
1390 701, 356, 918, 1492, 485, 275, 597, 279, 823, 115,
1391 116, 117, 339, 39, 486, 964, 965, 451, 523, 203,
1392 467, 91, 341, 639, 993, 917, 354, 111, 112, 817,
1393 639, -591, -591, 350, 520, 1439, 521, 976, 640, 1000,
1394 1001, 1002, 240, 358, 782, 39, 818, -591, 194, 1493,
1395 39, 1366, 359, 715, 467, 379, 197, 198, 203, -269,
1396 642, 27, 14, 118, 119, 238, 1176, 1177, 357, 1179,
1397 400, 7, 8, 230, 10, 819, 1171, 171, 58, 203,
1398 58, 238, 730, 760, 730, 21, 191, 58, 136, 8,
1399 9, 730, 8, 9, 24, 401, 640, 328, 328, 328,
1400 71, 640, 71, 723, 1376, 352, 1381, 1229, 1230, 71,
1401 22, 353, 723, 150, 126, 127, 283, 231, 642, 475,
1402 -586, 1250, 729, 642, 729, 28, 29, 1045, -7, 639,
1403 729, 729, 1127, 1128, 1129, 8, 9, 421, 731, 1460,
1404 731, 409, 129, 130, 203, 129, 130, 731, 884, 232,
1405 422, 909, 705, 706, 507, 508, 465, 33, 688, 689,
1406 901, 699, 548, 549, 88, 27, 232, 129, 130, 57,
1407 765, 57, 1138, 1481, 1039, 1152, 1153, 1154, 57, 1348,
1408 1349, 485, 126, 1247, 89, 782, 480, 639, 129, 130,
1409 481, 486, 639, 1037, 438, 1419, 910, -44, 981, -278,
1410 483, 765, -44, 27, 482, 911, 912, 640, 236, 491,
1411 1320, 679, 478, -44, -337, 500, 15, 16, 151, 1326,
1412 1327, 501, 1328, 1009, 1010, 1011, 396, 399, 502, 642,
1413 503, 837, 839, 642, 504, 129, 130, 280, 368, 369,
1414 10, 640, 913, 765, 328, -278, -278, 640, -337, 564,
1415 153, 631, -337, 446, 1420, 523, 150, 151, 608, 478,
1416 610, -272, 611, 642, 1140, 438, 1424, 1085, 1086, 642,
1417 1142, 1143, 613, 614, 1140, 1145, 22, 615, 1143, 88,
1418 626, 467, 467, 975, 985, -337, 679, 1322, -6, 153,
1419 653, 28, 298, -102, 236, 15, 16, 656, 639, 89,
1420 765, 88, 639, 673, 692, 90, 739, 328, 642, 1353,
1421 467, 395, 398, 1354, 640, 240, 696, -100, 742, 15,
1422 16, 89, 743, 33, 744, 91, 640, -102, 751, 752,
1423 769, -102, 639, 771, 395, 398, 642, 772, 639, 662,
1424 7, 8, 9, 10, 829, 774, 1181, 760, 642, 58,
1425 830, -100, 844, 730, 238, -100, 238, 846, 429, 431,
1426 435, 640, 848, 640, -102, 869, 1407, 870, 1429, 1430,
1427 879, 71, 1150, 880, 723, 21, 882, 639, 1417, 22,
1428 126, 127, 233, 642, 888, 642, 889, 516, -100, 902,
1429 907, 238, 27, 729, 28, 29, 619, -272, 174, 435,
1430 1165, 1168, 236, 411, 884, 639, 924, 925, 175, 731,
1431 507, 508, 926, 151, 151, 151, 932, 639, 176, -790,
1432 942, 643, 126, 127, 1462, 946, 33, 115, 705, 706,
1433 947, 177, 949, 129, 130, 1407, 151, 151, 151, 952,
1434 57, 954, 918, 994, 640, 153, 153, 153, 126, 127,
1435 1018, 1013, 639, 1014, 639, 708, 467, 467, 1015, 467,
1436 467, 1016, 467, 128, 1196, 1197, 642, 679, 153, 153,
1437 153, 1017, 1485, 27, 1407, 129, 130, 238, 1019, 27,
1438 1020, 118, 119, 1168, 1021, 1022, -123, 1196, 1197, 642,
1439 664, 1025, 1215, 1217, 760, 694, 1023, 1221, 1222, 27,
1440 1026, 129, 130, 58, 1028, 1407, 702, 730, 1029, 1030,
1441 1031, 1032, 396, 399, 94, 95, 96, 1033, 207, 208,
1442 209, 1034, 1044, 1046, 1047, 71, 1048, 1054, 723, 360,
1443 361, 362, 1324, 1325, 1056, 639, 1055, 1099, 1062, 1260,
1444 1064, 1065, 1067, 479, 1074, 1167, 1077, 729, 210, 1080,
1445 467, 467, 1117, 688, 689, 429, 431, 435, 639, 1124,
1446 238, 699, 1141, 731, 1303, 1146, 27, 1151, 97, 98,
1447 211, 1155, 516, 1160, 765, 516, 1161, 1162, 429, 431,
1448 435, 27, 1163, 363, 364, 238, 71, 1169, 1178, 1297,
1449 1173, 396, 770, 1182, 57, 1174, 1183, 519, 1315, 360,
1450 361, 362, 1184, 1298, 1189, 516, 1185, 1188, 1375, 1243,
1451 1375, 545, 546, 547, 548, 549, 212, 213, 214, 194,
1452 202, 115, 116, 117, 1302, 344, 348, 1167, 1457, 1192,
1453 1195, 1200, 7, 126, 127, 10, 418, 1342, 238, 1214,
1454 467, 467, 467, 1224, 484, 395, 398, 1225, 1228, 1232,
1455 126, 127, 1303, 363, 364, 57, 1254, 191, 1255, 1303,
1456 94, 109, 110, 859, 688, 689, 1303, 699, 448, 1262,
1457 1265, 22, 1266, 1270, 71, 118, 119, 1297, 231, 1271,
1458 1272, 71, 203, 1273, 1297, 1206, 28, 29, 71, 1313,
1459 1337, 1297, 1362, 1338, 573, 1352, 1361, 1339, 1298, 1340,
1460 1345, 27, 1363, 129, 130, 1298, 151, 1343, 467, 467,
1461 232, 1371, 1302, 1373, 111, 112, 1401, 574, 33, 1302,
1462 1386, 507, 508, 1414, 1409, 1276, 1302, 575, 347, 349,
1463 592, 8, 9, 1410, 1416, 1431, 1418, 576, 153, 1433,
1464 577, 578, 1436, 57, 1455, 1443, 1471, 151, 151, 151,
1465 57, 1499, 1503, 1472, 1483, 1484, 1510, 57, 1473, 1486,
1466 1517, 950, 1497, 1520, 1303, 1450, 288, 593, 1303, 22,
1467 1523, 94, 109, 110, 1524, 207, 208, 209, 328, 153,
1468 153, 153, 27, 1526, 129, 130, 71, 277, 1534, 1297,
1469 71, 640, 1529, 1297, 1450, 995, 1539, 1303, 690, 691,
1470 1541, 1546, 1542, 1547, 1551, 210, 658, 1298, 1303, 94,
1471 95, 96, 1367, 642, 467, 1552, 277, 1, 5, 71,
1472 625, 1303, 1297, 407, 1302, 111, 112, 514, 1302, 203,
1473 71, 1082, 1459, 1297, 408, 986, 1298, 962, 859, 94,
1474 109, 110, 1201, 71, 338, 388, 1297, 1298, 435, 1441,
1475 1450, 1548, 490, 1303, 1378, 57, 275, 1302, 923, 57,
1476 1298, 27, 1075, 97, 98, 99, 1076, 1403, 1302, 15,
1477 16, 1226, 277, 460, -386, 71, 1130, 1148, 1297, 963,
1478 988, 1302, 639, 1249, 872, 275, 1073, 816, 57, 429,
1479 431, 435, 1298, 111, 112, 113, 79, 441, -547, 57,
1480 1303, -547, -386, -386, 366, 1384, 103, -386, 1538, 570,
1481 1312, 1482, 57, 1302, 94, 95, 96, 132, 7, 8,
1482 9, 10, 71, 141, 141, 1297, 141, 1476, 79, 1505,
1483 518, 1528, 637, 79, 396, 770, 1530, 848, 1116, 1298,
1484 0, 275, 672, 1314, 57, 0, 185, 0, 79, -547,
1485 0, -547, -547, 0, -547, 0, 218, 22, 0, 0,
1486 1302, 0, 0, 103, 0, -547, 0, -547, 97, 98,
1487 27, 150, 28, 29, 242, 103, 1374, 0, 637, 0,
1488 0, 0, 0, -547, -547, 239, 175, -547, 115, 705,
1489 706, 57, 0, 126, 127, 0, 176, 103, 225, -547,
1490 0, 669, 636, 0, 33, 0, 0, 0, 669, 177,
1491 1114, 0, 514, 0, 0, 514, 0, 0, 0, 762,
1492 132, 0, 1133, 1134, 0, 132, 0, 79, 0, 0,
1493 0, 141, 514, 0, 390, 141, 0, 573, 141, 141,
1494 141, 0, 118, 119, 27, 514, 129, 130, 678, 789,
1495 0, 1147, 79, 0, 0, 0, 0, 0, 402, 0,
1496 574, 0, 94, 109, 110, 470, 0, 185, 185, 185,
1497 575, 0, 0, 669, 0, 811, 0, 427, 0, 0,
1498 576, 828, 0, 577, 578, 0, 0, 0, 0, 0,
1499 443, 0, 0, 0, 0, 0, 185, 0, 126, 127,
1500 0, 22, 0, 475, 0, 670, 0, 280, 368, 369,
1501 10, 459, 677, 0, 0, 758, 111, 112, 761, 103,
1502 0, 0, 763, 764, 766, 767, 768, 0, 0, 637,
1503 0, 141, 0, 0, 0, 518, 637, 669, 0, 669,
1504 669, 0, 573, 0, 0, 0, 22, 0, 785, 27,
1505 0, 129, 130, 0, 0, 0, -278, 0, 0, 27,
1506 0, 28, 298, 0, 0, 574, 669, 396, 399, 103,
1507 487, -278, -278, 669, 0, 575, -278, 757, 0, 0,
1508 814, 0, 0, 0, 0, 576, 0, 550, 577, 578,
1509 396, 1213, -278, 33, 0, 0, 0, 1235, 1236, 841,
1510 1245, 1246, 0, 1248, -278, -278, 841, -278, 0, -278,
1511 0, 0, 0, 103, 0, 0, 0, 571, 0, 487,
1512 487, 587, 0, 0, 0, 0, 551, 552, 0, 0,
1513 79, 553, 554, 555, 556, 637, 0, 0, -278, -278,
1514 0, 810, -278, 812, 813, 132, 94, 109, 110, 0,
1515 616, 617, 618, 0, -278, 8, 9, 0, 381, 12,
1516 13, 0, 0, 675, 0, 14, 132, 0, 0, 0,
1517 0, 0, 103, 0, 0, 185, 103, 863, 0, 0,
1518 17, 0, 18, 19, 0, 0, 141, 0, 21, 141,
1519 0, 1318, 1319, 637, 141, 0, 0, 24, 637, 0,
1520 111, 112, 0, 0, 0, 636, 27, 0, 129, 130,
1521 0, 0, 0, 0, 196, 197, 198, 0, 0, 0,
1522 185, 14, 185, 0, 185, 185, 185, 0, 0, 0,
1523 185, 0, 115, 705, 706, 185, 707, 0, 185, 19,
1524 693, 669, 1042, 0, 21, 698, 8, 9, 0, 676,
1525 12, 13, 0, 24, 79, 0, 14, 0, 0, 0,
1526 708, 0, 0, 678, 0, 0, 0, 709, 678, 0,
1527 0, 17, 740, 18, 0, 514, 0, 745, 0, 21,
1528 0, 1393, 1394, 1395, 27, 0, 118, 119, 24, 753,
1529 754, 0, 755, 103, 103, 103, 103, 27, 0, 129,
1530 130, 669, 0, 0, 637, 0, 0, 0, 637, 0,
1531 0, 0, 0, 0, 669, 0, 669, 0, 669, 536,
1532 537, 538, 539, 540, 541, 542, 543, 544, 545, 546,
1533 547, 548, 549, 196, 197, 198, 815, 1035, 637, 0,
1534 14, 0, 0, 0, 637, 0, 0, 0, 0, 1427,
1535 1428, 103, 0, 487, 0, 0, 0, 0, 19, 1114,
1536 0, 669, 0, 21, 571, 0, 487, 487, 785, 587,
1537 0, 1125, 24, 0, 678, 0, 860, 0, 841, 0,
1538 862, 0, 0, 637, 849, 850, 0, 647, 0, 849,
1539 0, 0, 0, 0, 185, 669, 449, 197, 198, 0,
1540 0, 396, 1213, 14, 0, 1038, 0, 0, 636, 0,
1541 1083, 637, 0, 669, 841, 0, 0, 0, 1049, 0,
1542 1050, 19, 1051, 637, 0, 0, 21, 0, 0, 185,
1543 897, 185, 185, 218, 587, 24, 0, 8, 9, 0,
1544 0, 12, 13, 0, 0, 0, 0, 14, 7, 126,
1545 127, 10, 0, 841, 13, 1515, 0, 0, 637, 0,
1546 637, 0, 17, 0, 18, 1079, 0, 1119, 0, 0,
1547 21, 185, 0, 0, 1126, 897, 0, 0, 0, 24,
1548 0, 678, 185, 185, 0, 185, 0, 22, 27, 0,
1549 129, 130, 557, 678, 0, 0, 0, 0, 0, 1097,
1550 27, 0, 28, 29, 543, 544, 545, 546, 547, 548,
1551 549, 0, 132, 0, 0, 79, 31, 79, 0, 0,
1552 0, 0, 983, 79, 79, 0, 32, 558, 678, 0,
1553 678, 514, 0, 103, 33, 0, 0, 0, 103, 34,
1554 0, 637, 0, 0, 0, 487, 487, 487, 0, 0,
1555 0, 1005, 0, 1007, 0, 0, 0, 487, 0, 582,
1556 586, 589, 0, 0, 637, 7, 8, 9, 10, 187,
1557 12, 188, 0, 0, 0, 0, 14, 0, 0, 1256,
1558 1257, 1258, 1259, 669, 0, 669, 0, 669, 0, 0,
1559 1263, 17, 0, 18, 19, 0, 0, 0, 0, 21,
1560 0, 0, 0, 0, 22, 0, 0, 103, 24, 0,
1561 0, 841, 0, 0, 0, 0, 0, 27, 0, 28,
1562 29, 0, 0, 189, 0, 1040, 1041, 0, 1043, 487,
1563 0, 487, 0, 31, 841, 0, 0, 0, 103, 0,
1564 0, 0, 487, 32, 103, 0, 860, 860, 860, 82,
1565 0, 33, 0, 1066, 0, 1060, 34, 0, 0, 105,
1566 541, 542, 543, 544, 545, 546, 547, 548, 549, 125,
1567 133, 0, 0, 0, 0, 669, 142, 142, 103, 142,
1568 103, 82, 185, 185, 1091, 0, 82, 1202, 0, 1203,
1569 0, 1204, 972, 973, 9, 10, 0, 0, 1093, 142,
1570 0, 82, 0, 0, 7, 126, 127, 10, 0, 219,
1571 225, 1365, 0, 0, 0, 0, 227, 0, 0, 0,
1572 0, 0, 0, 1091, 0, 0, 0, 0, 227, 0,
1573 0, 22, 0, 0, 0, 0, 0, 103, 0, 0,
1574 0, 1119, 0, 22, 27, 0, 28, 29, 0, 0,
1575 0, 103, 974, 0, 0, 0, 27, 0, 28, 29,
1576 175, 0, 1131, 103, 0, 0, 0, 0, 0, 0,
1577 176, 0, 31, 374, 1135, 0, 1144, 0, 33, 1269,
1578 82, 0, 32, 177, 142, 1415, 79, 0, 142, 0,
1579 33, 142, 142, 142, 0, 34, 0, 0, 103, 0,
1580 103, 0, 0, 948, 0, 82, 838, 840, 0, 0,
1581 0, 0, 0, 8, 9, 0, 187, 12, 188, 0,
1582 142, 142, 142, 14, 0, 0, 0, 0, 789, 1448,
1583 0, 0, 487, 487, 0, 487, 0, 0, 17, 0,
1584 18, 19, 514, 0, 0, 998, 21, 0, 0, 142,
1585 1003, 579, 579, 579, 0, 24, 0, 0, 1448, 1186,
1586 0, 0, 669, 0, 27, 0, 129, 130, 0, 895,
1587 0, 582, 586, 0, 589, 0, 0, 185, 185, 185,
1588 185, 1091, 0, 0, 142, 185, 0, 0, 637, 7,
1589 8, 9, 10, 0, 0, 13, 1199, 0, 0, 0,
1590 0, 0, 1091, 1091, 1091, 0, 0, 0, 0, 0,
1591 0, 586, 1509, 0, 1448, 0, 0, 196, 197, 198,
1592 0, 0, 227, 142, 14, 0, 0, 0, 22, 0,
1593 0, 0, 0, 185, 573, 0, 1527, 0, 141, 0,
1594 79, 27, 19, 28, 29, 518, 0, 21, 0, 0,
1595 789, 0, 1057, 0, 1058, 1252, 24, 890, 636, 1253,
1596 0, 0, 7, 8, 9, 10, 227, 891, 225, 0,
1597 572, 867, 142, 142, 588, 33, 0, 576, 0, 596,
1598 892, 578, 0, 82, 0, 0, 0, 0, 185, 185,
1599 0, 185, 1268, 0, 0, 0, 0, 586, 374, 0,
1600 0, 22, 0, 0, 0, 0, 0, 573, 0, 0,
1601 0, 103, 0, 0, 27, 0, 28, 29, 0, 0,
1602 0, 0, 0, 0, 0, 227, 0, 0, 142, 227,
1603 890, 0, 1316, 0, 0, 0, 1317, 0, 0, 142,
1604 891, 0, 142, 0, 0, 0, 0, 142, 33, 0,
1605 576, 0, 0, 892, 578, 0, 0, 0, 1335, 1336,
1606 0, 0, 0, 565, 0, 280, 368, 369, 10, 1052,
1607 566, 1053, 0, 142, 0, 142, 0, 142, 142, 142,
1608 0, 0, 1059, 142, 0, 0, 838, 840, 142, 0,
1609 0, 142, 0, 185, 897, 185, 0, 0, 579, 579,
1610 0, 579, 0, 0, 22, 0, 717, 82, 858, 0,
1611 1156, 231, 1158, 0, 0, 0, 0, 27, 0, 28,
1612 298, 0, 838, 840, 0, 0, 0, 0, 0, 0,
1613 0, 0, 0, 0, 0, 280, 368, 369, 10, 7,
1614 8, 9, 10, 196, 197, 198, 227, 227, 227, 227,
1615 14, 567, 0, 0, 0, 0, 7, 8, 9, 10,
1616 0, 579, 0, 579, 579, 1187, 579, 0, 19, 0,
1617 0, 0, 1091, 21, 22, 0, 0, 0, 22, 0,
1618 0, 231, 24, 0, 573, 0, 0, 0, 0, 28,
1619 298, 27, 0, 28, 29, 22, 0, 0, 0, 0,
1620 0, 0, 231, 579, 227, 0, 142, 890, 0, 0,
1621 28, 29, 0, 1091, 1091, 1091, 0, 891, 0, 142,
1622 142, 33, 588, 0, 0, 33, 0, 576, 103, 861,
1623 892, 578, 0, 0, 232, 0, 1227, 0, 0, 0,
1624 1231, 596, 33, 185, 0, 0, 0, 142, 0, 0,
1625 0, 0, 0, 7, 8, 9, 10, 0, 0, 13,
1626 280, 8, 9, 10, 0, 0, 0, 0, 0, 0,
1627 0, 0, 0, 0, 125, 0, 0, 0, 0, 0,
1628 0, 0, 142, 588, 142, 142, 219, 588, 0, 579,
1629 0, 1267, 22, 0, 0, 0, 0, 0, 573, 22,
1630 0, 0, 0, 0, 717, 27, 231, 28, 29, 0,
1631 0, 0, 0, 0, 28, 298, 0, 1052, 1053, 838,
1632 840, 1087, 0, 0, 142, 1059, 0, 0, 588, 0,
1633 0, 1088, 0, 0, 0, 142, 142, 0, 142, 33,
1634 0, 576, 838, 840, 1089, 578, 33, 0, 0, 0,
1635 0, 280, 126, 127, 10, 0, 0, 1333, 1334, 0,
1636 0, 579, 0, 579, 0, 133, 0, 0, 82, 0,
1637 82, 0, 0, 1344, 579, 984, 82, 82, 858, 858,
1638 858, 7, 8, 9, 10, 0, 227, 475, 0, 0,
1639 22, 227, 0, 280, 8, 9, 10, 231, 142, 142,
1640 142, 0, 0, 0, 0, 28, 298, 0, 0, 0,
1641 142, 0, 0, 0, 579, 579, 579, 0, 0, 0,
1642 22, 1389, 1390, 0, 0, 0, 573, 0, 1052, 1053,
1643 0, 1059, 22, 27, 0, 28, 29, 33, 0, 231,
1644 1399, 1400, 0, 0, 0, 0, 0, 28, 298, 890,
1645 0, 0, 0, 0, 0, 858, 0, 0, 0, 891,
1646 227, 0, 0, 0, 0, 0, 0, 33, 0, 576,
1647 0, 232, 892, 578, 0, 280, 8, 9, 10, 33,
1648 0, 0, 142, 0, 142, 0, 0, 0, 0, 0,
1649 0, 227, 0, 0, 0, 142, 0, 227, 0, 861,
1650 861, 861, 0, 0, 0, 0, 596, 0, 0, 0,
1651 0, 0, 0, 0, 22, 0, 0, 0, 0, 0,
1652 0, 231, 0, 0, 0, 0, 0, 0, 50, 28,
1653 298, 227, 0, 227, 0, 142, 142, 588, 718, 0,
1654 7, 8, 719, 10, 381, 12, 13, 0, 0, 0,
1655 0, 14, 0, 478, 0, 50, 50, 0, 149, 0,
1656 50, 33, 0, 0, 0, 50, 17, 0, 18, 19,
1657 20, 0, 0, 0, 21, -495, 861, 0, 50, 22,
1658 50, 0, 0, 24, 720, 0, 630, 0, 0, 0,
1659 227, 0, 27, 0, 28, 29, 0, 0, 721, 0,
1660 722, 0, 717, 234, 227, 0, 0, 0, 31, 579,
1661 579, 579, 579, 579, 0, 0, 227, 579, 32, 0,
1662 0, 0, 0, 0, 0, 0, 33, 7, 126, 127,
1663 10, 34, 0, 13, 858, 858, 858, 0, 0, 82,
1664 0, 0, 0, 0, 0, 0, 0, 0, -495, 0,
1665 0, 227, 371, 227, 0, 0, 371, 371, 0, 50,
1666 0, 0, 0, 50, 0, 234, 22, 50, 0, 0,
1667 149, 149, 149, 0, 0, 0, 0, 0, 0, 27,
1668 0, 28, 29, 0, 50, 142, 142, 0, 142, 0,
1669 0, 0, 0, 0, 0, 146, 0, 0, 0, 50,
1670 50, 149, 0, 0, 0, 147, 0, 0, 0, 234,
1671 0, 0, 0, 33, 7, 8, 9, 10, 148, 0,
1672 579, 579, 0, 579, 0, 0, 0, 0, 50, 0,
1673 142, 142, 142, 142, 588, 0, 0, 0, 142, 0,
1674 0, 0, 0, 0, 717, 0, 0, 0, 0, 0,
1675 0, 0, 0, 22, 0, 861, 861, 861, 0, 573,
1676 0, 0, 0, 50, 0, 0, 27, 0, 28, 29,
1677 0, 0, 717, 0, 0, 0, 0, 0, 0, 0,
1678 0, 0, 890, 0, 0, 0, 142, 0, 0, 0,
1679 0, 142, 891, 82, 0, 0, 0, 0, 0, 0,
1680 33, 0, 576, 0, 0, 892, 578, 0, 0, 0,
1681 0, 0, 0, 0, 0, 0, 0, 7, 8, 9,
1682 10, 0, 718, 13, 7, 8, 719, 10, 381, 12,
1683 13, 0, 515, 0, 0, 14, 0, 0, 0, 0,
1684 0, 142, 142, 0, 142, 0, 0, 0, 0, 371,
1685 17, 0, 18, 19, 20, 0, 22, 234, 21, -496,
1686 0, 0, 50, 22, 227, 0, 0, 24, 720, 27,
1687 630, 28, 29, 0, 0, 0, 27, 371, 28, 29,
1688 0, 0, 721, 0, 722, 175, 8, 9, 0, 381,
1689 12, 13, 31, 0, 675, 176, 14, 0, 371, 0,
1690 0, 0, 32, 33, 0, 0, 0, 50, 177, 0,
1691 33, 17, 0, 18, 19, 34, 0, 0, 50, 21,
1692 0, 50, 0, 0, 0, 0, 50, 0, 24, 0,
1693 573, 0, -496, 0, 0, 0, 0, 27, 0, 129,
1694 130, 0, 0, 0, 0, 0, 142, 588, 142, 0,
1695 0, 0, 50, 574, 50, 0, 149, 149, 149, 0,
1696 0, 0, 50, 575, 0, 0, 0, 50, 0, 0,
1697 50, 77, 0, 576, 0, 0, 577, 578, 0, 0,
1698 676, 0, 0, 0, 0, 0, 50, 0, 0, 0,
1699 0, 0, 0, 0, 7, 126, 127, 10, 77, 77,
1700 475, 77, 0, 77, 0, 8, 9, 0, 77, 12,
1701 225, 0, 0, 0, 0, 14, 0, 515, 0, 0,
1702 515, 77, 0, 77, 0, 861, 0, 0, 0, 0,
1703 17, 0, 18, 22, 0, 515, 515, 515, 21, 0,
1704 0, 0, 0, 0, 0, 0, 27, 24, 28, 29,
1705 515, 0, 0, 0, 0, 0, 27, 0, 129, 130,
1706 0, 0, 31, 0, 0, 0, 861, 861, 861, 0,
1707 0, 0, 32, 0, 0, 0, 0, 0, 8, 9,
1708 33, 227, 12, 225, 0, 34, 0, 0, 14, 0,
1709 0, 0, 0, 0, 0, 234, 142, 0, 7, 8,
1710 9, 10, 77, 17, 225, 18, 77, 0, 515, 0,
1711 77, 21, 0, 77, 77, 77, 0, 0, 0, 0,
1712 24, 0, 573, 0, 0, 0, 50, 77, 0, 27,
1713 0, 129, 130, 0, 0, 0, 0, 22, 0, 0,
1714 0, 0, 77, 77, 77, 574, 0, 0, 0, 0,
1715 27, 0, 28, 29, 0, 575, 0, 0, 0, 0,
1716 0, 50, 50, 50, 50, 576, 175, 0, 577, 578,
1717 0, 77, 0, 0, 0, 0, 176, 0, 0, 0,
1718 0, 0, 0, 0, 33, 0, 0, 0, 718, 177,
1719 7, 8, 719, 10, 381, 12, 13, 0, 0, 0,
1720 0, 14, 0, 50, 0, 0, 77, 50, 0, 0,
1721 0, 0, 0, 0, 50, 50, 17, 50, 18, 19,
1722 20, 0, 0, 0, 21, -498, 0, 0, 0, 22,
1723 0, 0, 0, 24, 720, 0, 630, 0, 0, 0,
1724 0, 0, 27, 0, 28, 29, 0, 50, 721, 50,
1725 722, 0, 0, 0, 50, 50, 50, 0, 31, 0,
1726 0, 7, 8, 9, 10, 381, 12, 13, 32, 0,
1727 675, 0, 14, 0, 0, 0, 33, 0, 0, 0,
1728 0, 34, 0, 515, 0, 0, 0, 17, 0, 18,
1729 19, 0, 0, 0, 0, 21, 0, 0, -498, 0,
1730 22, 595, 0, 0, 24, 77, 573, 0, 0, 0,
1731 0, 0, 0, 27, 0, 28, 29, 0, 0, 0,
1732 0, 126, 127, 0, 0, 197, 198, 0, 0, 1087,
1733 0, 14, 0, 0, 0, 0, 318, 0, 318, 1088,
1734 318, 0, 0, 0, 0, 0, 0, 33, 0, 576,
1735 77, 0, 1089, 578, 21, 0, 676, 0, 0, 0,
1736 0, 77, 0, 24, 77, 573, 0, 0, 0, 77,
1737 0, 0, 27, 0, 129, 130, 0, 0, 515, 515,
1738 515, 1411, 0, 0, 234, 318, 0, 318, 574, 0,
1739 0, 0, 0, 0, 0, 77, 0, 77, 575, 77,
1740 77, 77, 0, 0, 0, 77, 0, 0, 576, 0,
1741 77, 584, 578, 77, 50, 50, 149, 0, 0, 0,
1742 0, 234, 0, 0, 0, 0, 0, 0, 0, 77,
1743 0, 0, 1412, 528, 529, 530, 531, 532, 533, 534,
1744 535, 536, 537, 538, 539, 540, 541, 542, 543, 544,
1745 545, 546, 547, 548, 549, 1113, 0, 0, 0, 0,
1746 0, 0, 0, 1382, 0, 1280, 1281, 1282, 10, 381,
1747 12, 281, 282, 283, 0, 284, 14, 1283, 0, 1284,
1748 1285, 1286, 1287, 1288, 1289, 1290, 1291, 1292, 1293, 15,
1749 16, 17, 285, 18, 19, 20, 0, 286, 287, 21,
1750 0, 288, 289, 290, 22, 291, 292, 234, 24, 0,
1751 0, 0, 293, 294, 295, 296, 297, 27, 50, 1294,
1752 298, 662, 0, 1295, 299, 0, 0, 0, 0, 0,
1753 300, 0, 0, 301, 0, 0, 0, 0, 0, 595,
1754 0, 302, 303, 304, 0, 0, 0, 0, 505, 305,
1755 306, 307, 0, 0, 0, 0, 308, 0, 1296, 0,
1756 0, 0, 0, 0, 0, 0, 0, 0, 0, 77,
1757 0, 0, 0, 1383, 309, 7, 8, 9, 10, 0,
1758 0, 13, 0, 0, 0, 0, 318, 0, 0, 0,
1759 234, 8, 9, 0, 381, 12, 13, 0, 0, 1461,
1760 154, 14, 0, 0, 77, 77, 77, 77, 0, 50,
1761 50, 149, 149, 149, 22, 234, 17, 50, 18, 19,
1762 186, 0, 0, 0, 21, 0, 0, 27, 0, 28,
1763 29, 0, 0, 24, 1113, 1113, 1113, 0, 0, 0,
1764 0, 0, 27, 432, 129, 130, 77, 0, 0, 0,
1765 77, 0, 0, 433, 0, 0, 0, 77, 77, 0,
1766 77, 33, 0, 0, 0, 50, 434, 667, 671, 0,
1767 50, 0, 50, 0, 6, 671, 7, 8, 9, 10,
1768 11, 12, 13, 0, 8, 9, 0, 14, 12, 13,
1769 77, 0, 77, 0, 14, 0, 0, 77, 77, 77,
1770 0, 0, 17, 0, 18, 19, 0, 0, 0, 17,
1771 21, 18, 154, 154, 154, 22, 0, 21, 0, 24,
1772 50, 50, 406, 50, 0, 0, 24, 0, 27, 0,
1773 28, 29, 0, 0, 30, 27, 0, 129, 130, 318,
1774 671, 186, 186, 436, 31, 0, 0, 0, 0, 0,
1775 0, 0, 0, 0, 32, 0, 0, 0, 0, 0,
1776 0, 0, 33, 0, 0, 0, 0, 34, 0, 0,
1777 186, 0, 318, 0, 667, 0, 0, 786, 787, 0,
1778 791, 792, 793, 794, 795, 796, 797, 798, 799, 800,
1779 801, 802, 803, 804, 805, 806, 807, 808, 809, 0,
1780 0, 0, 0, 0, 671, 0, 671, 671, 533, 534,
1781 535, 536, 537, 538, 539, 540, 541, 542, 543, 544,
1782 545, 546, 547, 548, 549, 50, 50, 50, 595, 0,
1783 0, 0, 0, 671, 0, 0, 0, 0, 0, 0,
1784 671, 0, 0, 718, 488, 7, 8, 719, 10, 381,
1785 12, 13, 0, 0, 0, 0, 14, 77, 77, 77,
1786 874, 876, 0, 0, 0, 0, 0, 0, 0, 0,
1787 0, 17, 0, 18, 19, 20, 0, 0, 0, 21,
1788 -497, 0, 0, 0, 22, 0, 0, 0, 24, 720,
1789 0, 630, 0, 581, 581, 581, 0, 27, 1115, 28,
1790 29, 0, 0, 721, 1113, 722, 0, 0, 0, 0,
1791 0, 0, 0, 31, 0, 667, 0, 0, 0, 0,
1792 0, 0, 0, 32, 0, 0, 0, 7, 8, 9,
1793 10, 33, 0, 475, 126, 127, 34, 0, 197, 198,
1794 0, 0, 0, 0, 14, 1113, 1113, 1113, 0, 186,
1795 0, 0, 0, -497, 0, 0, 0, 0, 0, 0,
1796 0, 77, 0, 0, 0, 0, 22, 21, 0, 0,
1797 0, 960, 0, 0, 0, 50, 24, 0, 573, 27,
1798 0, 28, 29, 0, 0, 27, 0, 129, 130, 0,
1799 0, 318, 318, 318, 186, 175, 186, 0, 436, 436,
1800 436, 574, 0, 0, 186, 176, 0, 0, 671, 186,
1801 0, 575, 186, 33, 0, 0, 0, 0, 177, 0,
1802 0, 576, 0, 0, 577, 578, 0, 0, 0, 0,
1803 1024, 0, 0, 0, 1237, 1238, 9, 10, 0, 0,
1804 0, 0, 0, 1237, 126, 127, 10, 0, 0, 0,
1805 0, 0, 77, 77, 77, 77, 77, 0, 0, 0,
1806 77, 0, 0, 0, 0, 0, 0, 667, 671, 0,
1807 0, 0, 0, 22, 0, 0, 0, 1115, 1115, 1115,
1808 0, 671, 22, 671, 0, 671, 27, 0, 28, 29,
1809 0, 0, 0, 0, 1239, 27, 0, 28, 29, 0,
1810 0, 0, 175, 1239, 0, 0, 0, 0, 77, 0,
1811 0, 31, 176, 77, 0, 77, 0, 0, 1072, 0,
1812 33, 32, 0, 0, 0, 177, 0, 824, 671, 33,
1813 0, 0, 0, 0, 34, 0, 0, 0, 318, 0,
1814 581, 581, 0, 581, 7, 126, 127, 10, 0, 0,
1815 581, 1094, 0, 0, 0, 0, 0, 0, 0, 0,
1816 184, 0, 671, 77, 77, 0, 77, 0, 186, 0,
1817 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1818 671, 0, 0, 22, 0, 237, 0, 0, 241, 0,
1819 0, 0, 0, 0, 0, 0, 27, 0, 28, 29,
1820 0, 0, 0, 894, 0, 894, 894, 0, 581, 237,
1821 0, 343, 146, 0, 0, 0, 0, 0, 0, 0,
1822 0, 0, 147, 1139, 0, 0, 0, 0, 0, 0,
1823 33, 0, 0, 0, 0, 148, 0, 0, 0, 0,
1824 0, 0, 0, 0, 0, 894, 667, 0, 0, 0,
1825 0, 0, 0, 0, 0, 0, 186, 186, 0, 186,
1826 7, 8, 9, 10, 187, 12, 188, 0, 77, 77,
1827 77, 14, 0, 0, 667, 667, 0, 0, 1170, 0,
1828 0, 184, 184, 184, 0, 0, 17, 0, 18, 19,
1829 0, 442, 0, 0, 21, 0, 186, 75, 0, 22,
1830 0, 0, 0, 24, 0, 0, 7, 8, 9, 10,
1831 184, 0, 27, 0, 28, 29, 0, 0, 1377, 488,
1832 488, 488, 0, 0, 140, 144, 0, 0, 31, 75,
1833 0, 581, 0, 241, 75, 0, 0, 0, 32, 7,
1834 8, 9, 10, 0, 0, 22, 33, 1115, 237, 195,
1835 671, 34, 671, 0, 671, 0, 0, 667, 27, 0,
1836 28, 29, 0, 0, 0, 0, 667, 667, 0, 0,
1837 0, 667, 667, 0, 432, 0, 0, 0, 22, 0,
1838 0, 0, 0, 0, 433, 0, 1233, 1234, 1115, 1115,
1839 1115, 27, 33, 28, 29, 0, 0, 434, 0, 0,
1840 0, 0, 0, 581, 0, 581, 0, 175, 0, 0,
1841 0, 0, 0, 667, 0, 1261, 581, 176, 77, 0,
1842 581, 581, 581, 0, 0, 33, 0, 0, 386, 0,
1843 177, 0, 389, 0, 0, 0, 391, 0, 0, 237,
1844 241, 0, 671, 0, 0, 0, 0, 0, 0, 0,
1845 0, 0, 0, 75, 0, 0, 894, 894, 1092, 0,
1846 0, 0, 0, 0, 0, 0, 0, 0, 140, 144,
1847 0, 0, 667, 718, 0, 7, 8, 719, 10, 381,
1848 12, 13, 0, 0, 0, 0, 14, 0, 1323, 184,
1849 0, 0, 0, 0, 0, 0, 0, 1092, 0, 0,
1850 0, 17, 0, 18, 19, 101, 0, 0, 0, 21,
1851 0, 667, 0, 0, 22, 120, 101, 0, 24, 720,
1852 0, 630, 101, 101, 0, 101, 0, 27, 0, 28,
1853 29, 0, 476, 0, 184, 722, 184, 1360, 184, 184,
1854 184, 0, 0, 31, 184, 0, 0, 0, 0, 184,
1855 0, 0, 184, 32, 0, 217, 0, 0, 0, 8,
1856 9, 33, 381, 12, 13, 0, 34, 0, 0, 14,
1857 1391, 1392, 0, 0, 0, 0, 0, 0, 0, 1397,
1858 0, 0, 0, 0, 17, 0, 18, 19, 0, 0,
1859 667, 0, 21, 0, 0, 0, 0, 0, 0, 0,
1860 0, 629, 0, 0, 630, 0, 824, 824, 0, 824,
1861 27, 0, 129, 130, 120, 0, 120, 0, 0, 101,
1862 0, 0, 0, 101, 101, 0, 0, 0, 0, 671,
1863 101, 604, 101, 101, 101, 0, 0, 101, 101, 101,
1864 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1865 0, 894, 894, 1092, 1092, 1092, 0, 0, 0, 894,
1866 1452, 0, 0, 7, 8, 9, 10, 381, 12, 13,
1867 0, 0, 937, 0, 14, 0, 1092, 1092, 1092, 0,
1868 0, 0, 0, 0, 0, 0, 0, 651, 0, 17,
1869 652, 18, 19, 237, 241, 654, 0, 21, 0, 0,
1870 0, 0, 22, 0, 0, 0, 24, 186, 184, 457,
1871 101, 0, 0, 0, 0, 27, 0, 28, 29, 0,
1872 0, 389, 0, 391, 0, 0, 0, 0, 0, 0,
1873 101, 31, 0, 0, 0, 0, 476, 0, 0, 0,
1874 0, 32, 0, 184, 0, 184, 184, 0, 0, 33,
1875 0, 0, 0, 0, 34, 735, 0, 0, 0, 0,
1876 0, 0, 894, 894, 0, 894, 0, 0, 0, 101,
1877 538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
1878 548, 549, 667, 0, 0, 184, 0, 0, 0, 0,
1879 0, 0, 0, 0, 0, 0, 184, 184, 0, 184,
1880 0, 0, 6, 0, 7, 8, 9, 10, 11, 12,
1881 13, 0, 0, 0, 0, 14, 101, 0, 101, 101,
1882 0, 0, 0, 241, 0, 0, 0, 0, 15, 16,
1883 17, 0, 18, 19, 20, 0, 184, 0, 21, 0,
1884 0, 0, 0, 22, 101, 0, 23, 24, 25, 0,
1885 26, 0, 0, 0, 0, 0, 27, 0, 28, 29,
1886 0, 0, 30, 0, 0, 101, 0, 186, 0, 186,
1887 0, 0, 31, 7, 8, 9, 10, 196, 197, 198,
1888 0, 101, 32, 0, 14, 101, 0, 0, 101, 0,
1889 33, 0, 0, 101, 0, 34, 0, 0, 0, 0,
1890 0, 35, 19, 0, 0, 0, 0, 21, 0, 0,
1891 0, 0, 22, 0, 0, 0, 24, 0, 573, 0,
1892 0, 0, 0, 0, 0, 27, 0, 28, 29, 0,
1893 0, 896, 0, 0, 0, 0, 0, 0, 0, 0,
1894 0, 890, 0, 0, 0, 0, 436, 0, 0, 0,
1895 101, 891, 710, 0, 0, 0, 0, 0, 0, 33,
1896 0, 576, 0, 0, 931, 578, 237, 241, 237, 0,
1897 0, 0, 0, 0, 0, 0, 938, 0, 101, 0,
1898 0, 0, 0, 651, 652, 0, 654, 436, 436, 436,
1899 0, 0, 0, 0, 0, 0, 184, 184, 1090, 0,
1900 0, 0, 0, 237, 0, 0, 0, 0, 0, 0,
1901 0, 0, 0, 0, 0, 0, 735, 186, 735, 0,
1902 0, 0, 0, 982, 989, 735, 0, 0, 0, 0,
1903 0, 0, 0, 0, 0, 0, 0, 1090, 0, 0,
1904 528, 529, 530, 531, 532, 533, 534, 535, 536, 537,
1905 538, 539, 101, 541, 542, 543, 544, 545, 546, 547,
1906 548, 549, 101, 101, 0, 101, 101, 0, 0, 0,
1907 0, 0, 0, 0, 788, 0, 280, 8, 9, 10,
1908 0, 12, 492, 282, 283, 0, 284, 14, 0, 442,
1909 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1910 0, 0, 17, 285, 18, 0, 20, 0, 286, 287,
1911 21, 0, 288, 289, 290, 22, 291, 292, 0, 24,
1912 120, 0, 0, 293, 294, 295, 296, 297, 27, 0,
1913 28, 298, 217, 0, 0, 299, -748, 0, 0, 0,
1914 0, 300, 0, 0, 301, 0, 0, 0, 0, 0,
1915 710, 0, 302, 303, 304, 0, 0, 0, 0, 0,
1916 305, 306, 307, 0, 0, 0, 0, 308, 0, 0,
1917 0, 0, 237, 0, 0, 0, 0, 0, 0, 0,
1918 0, 0, 0, 140, 144, 309, 0, 19, 0, 0,
1919 0, 184, 184, 184, 184, 1090, 0, 1198, 0, 184,
1920 0, 0, 0, 0, 0, 0, 0, 0, 710, 0,
1921 0, 101, 0, 0, 0, 0, 1090, 1090, 1090, 528,
1922 529, 530, 531, 532, 533, 534, 535, 536, 537, 538,
1923 539, 540, 541, 542, 543, 544, 545, 546, 547, 548,
1924 549, 0, 0, 0, 101, 101, 101, 184, 0, 0,
1925 0, 0, 0, 612, 0, 0, 101, 528, 529, 530,
1926 531, 532, 533, 534, 535, 536, 537, 538, 539, 540,
1927 541, 542, 543, 544, 545, 546, 547, 548, 549, 0,
1928 0, 0, 0, 0, 0, 0, 0, 735, 537, 538,
1929 539, 540, 541, 542, 543, 544, 545, 546, 547, 548,
1930 549, 0, 184, 184, 510, 184, 280, 8, 9, 10,
1931 381, 12, 281, 282, 283, 675, 284, 14, 0, 0,
1932 0, 0, 0, 0, 0, 0, 0, 0, 101, 0,
1933 101, 0, 17, 285, 18, 19, 20, 0, 286, 287,
1934 21, 101, 288, 289, 290, 22, 291, 292, 0, 24,
1935 0, 573, 0, 293, 294, 295, 296, 297, 27, 0,
1936 28, 298, -286, 0, 0, 299, 0, 0, 0, 0,
1937 0, 300, 0, 0, 854, 0, 0, 0, 389, 391,
1938 0, 0, 302, 303, 855, 0, 476, 0, 0, 0,
1939 305, 306, 307, 0, 576, 0, 0, 856, 578, 0,
1940 0, 676, 0, 0, 0, 0, 0, 184, 0, 184,
1941 0, 0, 0, 0, 0, 309, 0, 280, 8, 9,
1942 10, 381, 12, 281, 282, 283, 675, 284, 14, 0,
1943 0, 0, 0, 0, 1244, 0, 0, 0, 0, 1244,
1944 0, 735, 0, 17, 285, 18, 19, 20, 710, 286,
1945 287, 21, 0, 288, 289, 290, 22, 291, 292, 0,
1946 24, 0, 573, 0, 293, 294, 295, 296, 297, 27,
1947 0, 28, 298, 0, 0, 101, 299, 0, 0, 0,
1948 0, 0, 300, 0, 0, 854, 1090, 0, 0, 651,
1949 652, 0, 654, 302, 303, 855, 0, 0, 0, 0,
1950 0, 305, 306, 307, 0, 576, 0, 0, 856, 578,
1951 0, 0, 676, 0, 0, 0, 0, 0, 0, 0,
1952 0, 0, 0, 0, 0, 0, 309, 1090, 1090, 1090,
1953 0, 101, 101, 0, 101, 0, 0, 0, 0, -358,
1954 8, 9, -358, -358, 12, 225, 0, 0, 0, 0,
1955 14, 0, 0, 0, 0, 0, 0, 184, 0, 0,
1956 0, 0, 0, 0, 0, 17, 0, 18, -358, 0,
1957 0, 0, 0, 21, 0, 0, 0, 0, -358, 0,
1958 0, 0, 24, 0, 573, 0, 0, 0, 0, 0,
1959 710, 27, 0, 129, 130, 1379, 0, 1329, 0, -452,
1960 -452, -452, -452, -452, -452, -452, 0, 574, -452, 0,
1961 -452, 0, 0, 0, 0, 0, 0, 575, 710, 0,
1962 0, -452, 0, -452, -452, -358, 0, 576, -452, 0,
1963 577, 578, 0, -452, 0, 101, 0, 101, -452, 0,
1964 0, 0, -452, 0, -452, 0, 0, 0, 0, 0,
1965 0, -452, 0, -452, -452, -452, -452, -452, 0, -452,
1966 -452, -452, -452, -452, -452, -452, -452, -452, -452, -452,
1967 -452, -452, -452, -452, -452, -452, -452, -452, -452, -452,
1968 -452, -452, 0, -452, -452, -452, 0, -452, -452, -452,
1969 -452, -452, -452, 0, -452, -452, 0, 0, 0, 0,
1970 1330, 0, 0, 0, 0, -452, -452, -452, 1279, -452,
1971 1280, 1281, 1282, 10, 381, 12, 281, 282, 283, 0,
1972 284, 14, 1283, 0, 1284, 1285, 1286, 1287, 1288, 1289,
1973 1290, 1291, 1292, 1293, 15, 16, 17, 285, 18, 19,
1974 20, 0, 286, 287, 21, 0, 288, 289, 290, 22,
1975 291, 292, 0, 24, 0, 0, 0, 293, 294, 295,
1976 296, 297, 27, 0, 1294, 298, 662, 0, 1295, 299,
1977 0, 0, 0, 0, 0, 300, 0, 0, 301, 0,
1978 0, 0, 0, 0, 0, 0, 302, 303, 304, 0,
1979 0, 0, 0, 0, 305, 306, 307, 0, 0, 0,
1980 0, 308, 510, 1296, 7, 8, 9, 10, 381, 12,
1981 281, 282, 283, 675, 284, 14, 0, 0, 0, 309,
1982 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1983 17, 285, 18, 19, 20, 0, 286, 287, 21, 0,
1984 288, 289, 290, 22, 291, 292, 0, 24, 0, 573,
1985 0, 293, 294, 295, 296, 297, 27, 0, 28, 29,
1986 -286, 0, 0, 299, 0, 0, 0, 0, 0, 300,
1987 0, 0, 1110, 0, 0, 0, 0, 0, 0, 0,
1988 302, 303, 1111, 0, 0, 0, 0, 0, 305, 306,
1989 307, 0, 576, 0, 0, 1112, 578, 0, 674, 676,
1990 280, 8, 9, 10, 381, 12, 281, 282, 283, 675,
1991 284, 14, 0, 309, 0, 0, 0, 0, 0, 0,
1992 0, 0, 0, 0, 0, 0, 17, 285, 18, 19,
1993 20, 0, 286, 287, 21, 0, 288, 289, 290, 22,
1994 291, 292, 0, 24, 0, 0, 0, 293, 294, 295,
1995 296, 297, 27, 0, 28, 298, 0, 0, 0, 299,
1996 0, 0, 0, 0, 0, 300, 0, 0, 301, 0,
1997 0, 0, 0, 0, 0, 0, 302, 303, 304, 0,
1998 0, 0, 0, 0, 305, 306, 307, 0, 0, 0,
1999 0, 308, 0, 0, 0, 676, 0, 0, 0, 0,
2000 0, 0, 0, 0, 0, 0, 0, -758, 788, 309,
2001 280, 8, 9, 10, 381, 12, 281, 282, 283, 0,
2002 284, 14, 0, 0, 0, 0, 0, 0, 0, 0,
2003 0, 0, 0, 0, 0, 0, 17, 285, 18, 19,
2004 20, 0, 286, 287, 21, 0, 288, 289, 290, 22,
2005 291, 292, 0, 24, 0, 0, 0, 293, 294, 295,
2006 296, 297, 27, 0, 28, 298, 1444, 0, -748, 299,
2007 0, 0, 0, 0, 0, 300, 0, 0, 301, 0,
2008 0, 0, 0, 0, 0, 0, 302, 303, 304, 0,
2009 0, 0, 0, 0, 305, 306, 307, 0, 0, 0,
2010 665, 308, 776, 777, 778, 10, 0, 12, 492, 282,
2011 283, 0, 284, 14, 0, 0, 0, 0, 0, 309,
2012 0, 0, 0, 0, 0, 0, 0, 0, 17, 285,
2013 18, 0, 20, 0, 286, 287, 21, 0, 288, 289,
2014 290, 22, 291, 292, 0, 24, 0, 0, 0, 293,
2015 294, 295, 296, 297, 27, 0, 779, 780, 666, 0,
2016 0, 299, 0, 0, 0, 0, 0, 300, 0, 0,
2017 301, 0, 0, 0, 0, 0, 0, 0, 302, 303,
2018 304, 0, 0, 0, 0, 0, 305, 306, 307, 0,
2019 0, 0, 0, 308, 781, 665, 0, 776, 777, 778,
2020 10, 0, 12, 492, 282, 283, 0, 284, 14, 0,
2021 922, 309, 0, 0, 0, 1166, 0, 0, 0, 0,
2022 0, 0, 0, 17, 285, 18, 0, 20, 0, 286,
2023 287, 21, 0, 288, 289, 290, 22, 291, 292, 0,
2024 24, 0, 0, 0, 293, 294, 295, 296, 297, 27,
2025 0, 779, 780, 666, 0, 0, 299, 0, 0, 0,
2026 0, 0, 300, 0, 0, 301, 0, 0, 0, 0,
2027 0, 0, 0, 302, 303, 304, 0, 0, 0, 0,
2028 0, 305, 306, 307, 0, 0, 0, 665, 308, 776,
2029 777, 778, 10, 0, 12, 492, 282, 283, 0, 284,
2030 14, 0, 0, 0, 0, -456, 309, 1166, 0, 0,
2031 0, 0, 0, 0, 0, 17, 285, 18, 0, 20,
2032 0, 286, 287, 21, 0, 288, 289, 290, 22, 291,
2033 292, 0, 24, 0, 0, 0, 293, 294, 295, 296,
2034 297, 27, 0, 779, 780, 666, 0, 0, 299, 0,
2035 0, 0, 0, 0, 300, 0, 0, 301, 0, 0,
2036 0, 0, 0, 0, 0, 302, 303, 304, 0, 0,
2037 0, 0, 0, 305, 306, 307, 0, 0, 0, 665,
2038 308, 776, 777, 778, 10, 0, 12, 492, 282, 283,
2039 0, 284, 14, 0, 0, 0, 0, 1212, 309, 0,
2040 0, 0, 0, 0, 0, 0, 0, 17, 285, 18,
2041 0, 20, 0, 286, 287, 21, 0, 288, 289, 290,
2042 22, 291, 292, 0, 24, 0, 0, 0, 293, 294,
2043 295, 296, 297, 27, 0, 779, 780, 666, 0, 0,
2044 299, 0, 0, 0, 0, 0, 300, 0, 0, 301,
2045 0, 0, 0, 0, 0, 0, 0, 302, 303, 304,
2046 0, 0, 0, 0, 0, 305, 306, 307, 0, 0,
2047 0, 0, 308, 781, 665, 0, 280, 8, 9, 10,
2048 0, 12, 492, 282, 283, 0, 284, 14, 0, 0,
2049 309, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2050 0, 0, 17, 285, 18, 0, 20, 0, 286, 287,
2051 21, 0, 288, 289, 290, 22, 291, 292, 0, 24,
2052 0, 0, 0, 293, 294, 295, 296, 297, 27, 0,
2053 28, 298, 666, 0, 0, 299, 0, 0, 0, 0,
2054 0, 300, 0, 0, 301, 0, 0, 0, 0, 0,
2055 0, 0, 302, 303, 304, 0, 0, 0, 0, 0,
2056 305, 306, 307, 0, 0, 0, 0, 308, 0, 0,
2057 510, 0, 280, 8, 9, 10, 1216, 12, 281, 282,
2058 283, 0, 284, 14, 0, 309, 0, 0, 0, 0,
2059 0, 0, 0, 0, 0, 0, 0, 0, 17, 285,
2060 18, 0, 20, 0, 286, 287, 21, 0, 288, 289,
2061 290, 22, 291, 292, 0, 24, 0, 0, 0, 293,
2062 294, 295, 296, 297, 27, 0, 28, 298, -286, 0,
2063 0, 299, 0, 0, 0, 0, 0, 300, 0, 0,
2064 511, 0, 0, 0, 0, 0, 0, 0, 302, 303,
2065 512, 0, 0, 0, 0, 0, 305, 306, 307, 0,
2066 0, 0, 665, 513, 280, 8, 9, 10, 0, 12,
2067 492, 282, 283, 0, 284, 14, 0, 0, 0, 0,
2068 0, 309, 0, 0, 0, 0, 0, 0, 0, 0,
2069 17, 285, 18, 0, 20, 0, 286, 287, 21, 0,
2070 288, 289, 290, 22, 291, 292, 0, 24, 0, 0,
2071 0, 293, 294, 295, 296, 297, 27, 0, 28, 298,
2072 666, 0, 0, 299, 0, 0, 0, 0, 0, 300,
2073 0, 0, 301, 0, 0, 0, 0, 0, 0, 0,
2074 302, 303, 304, 0, 0, 0, 0, 0, 305, 306,
2075 307, 0, 0, 0, 510, 308, 7, 8, 9, 10,
2076 0, 12, 281, 282, 283, 0, 284, 14, 0, 0,
2077 0, 0, 0, 309, 0, 0, 0, 0, 0, 0,
2078 0, 0, 17, 285, 18, 0, 20, 0, 286, 287,
2079 21, 0, 288, 289, 290, 22, 291, 292, 0, 24,
2080 0, 0, 0, 293, 294, 295, 296, 297, 27, 0,
2081 28, 29, -286, 0, 0, 299, 0, 0, 0, 0,
2082 0, 300, 0, 0, 1421, 0, 0, 0, 0, 0,
2083 0, 0, 302, 303, 1422, 0, 0, 0, 0, 0,
2084 305, 306, 307, 0, 0, 0, 1511, 1423, 280, 8,
2085 9, 10, 0, 12, 281, 282, 283, 0, 284, 14,
2086 0, 0, 0, 0, 0, 309, 0, 0, 0, 0,
2087 0, 0, 0, 0, 17, 285, 18, 0, 20, 0,
2088 286, 287, 21, 0, 288, 289, 290, 22, 291, 292,
2089 0, 24, 0, 0, 0, 293, 294, 295, 296, 297,
2090 27, 0, 28, 298, 0, 0, -175, 299, 0, 0,
2091 0, 0, 0, 300, 0, 0, 301, 0, 0, 0,
2092 0, 0, 0, 0, 302, 303, 304, 0, 0, 0,
2093 0, 0, 305, 306, 307, 0, 0, 0, 788, 308,
2094 280, 8, 9, 10, 0, 12, 492, 282, 283, 0,
2095 284, 14, 0, 0, 0, 0, 0, 309, 0, 0,
2096 0, 0, 0, 0, 0, 0, 17, 285, 18, 0,
2097 20, 0, 286, 287, 21, 0, 288, 289, 290, 22,
2098 291, 292, 0, 24, 0, 0, 0, 293, 294, 295,
2099 296, 297, 27, 0, 28, 298, 0, 0, 0, 299,
2100 0, 0, 0, 0, 0, 300, 243, 0, 301, 8,
2101 9, 0, 0, 12, 13, 0, 302, 303, 304, 14,
2102 0, 0, 0, 0, 305, 306, 307, 0, 0, 0,
2103 0, 308, 0, 0, 17, 0, 18, 0, 0, 0,
2104 0, 0, 21, 0, 244, 245, 0, -748, 0, 309,
2105 0, 24, 0, 246, 0, 0, 0, 0, 0, 0,
2106 27, 0, 129, 130, 0, 247, 0, 0, 0, 248,
2107 249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
2108 259, 260, 261, 262, 263, 264, 265, 266, 267, 268,
2109 0, 0, 269, 270, 271, 0, 0, 272, 0, 873,
2110 273, 280, 8, 9, 10, 0, 12, 492, 282, 283,
2111 0, 284, 14, 0, 0, 0, 0, 274, 0, 0,
2112 0, 0, 0, 0, 0, 0, 0, 17, 285, 18,
2113 0, 20, 0, 286, 287, 21, 0, 288, 289, 290,
2114 22, 291, 292, 0, 24, 0, 0, 0, 293, 294,
2115 295, 296, 297, 27, 0, 28, 298, 0, 0, 0,
2116 299, 0, 0, 0, 0, 0, 300, 0, 0, 301,
2117 0, 0, 0, 0, 0, 0, 0, 302, 303, 304,
2118 0, 0, 0, 0, 0, 305, 306, 307, 0, 0,
2119 0, 875, 308, 280, 8, 9, 10, 0, 12, 492,
2120 282, 283, 0, 284, 14, 0, 0, 0, 0, 0,
2121 309, 0, 0, 0, 0, 0, 0, 0, 0, 17,
2122 285, 18, 0, 20, 0, 286, 287, 21, 0, 288,
2123 289, 290, 22, 291, 292, 0, 24, 0, 0, 0,
2124 293, 294, 295, 296, 297, 27, 0, 28, 298, 0,
2125 0, 0, 299, 0, 0, 0, 0, 0, 300, 0,
2126 0, 301, 0, 0, 0, 0, 0, 0, 0, 302,
2127 303, 304, 0, 0, 0, 0, 0, 305, 306, 307,
2128 0, 0, 0, 1396, 308, 280, 8, 9, 10, 0,
2129 12, 492, 282, 283, 0, 284, 14, 0, 0, 0,
2130 0, 0, 309, 0, 0, 0, 0, 0, 0, 0,
2131 0, 17, 285, 18, 0, 20, 0, 286, 287, 21,
2132 0, 288, 289, 290, 22, 291, 292, 0, 24, 0,
2133 0, 0, 293, 294, 295, 296, 297, 27, 0, 28,
2134 298, 0, 0, 0, 299, 0, 0, 0, 0, 0,
2135 300, 0, 0, 301, 0, 0, 0, 0, 0, 0,
2136 0, 302, 303, 304, 0, 0, 0, 0, 0, 305,
2137 306, 307, 280, 8, 9, 10, 308, 12, 492, 282,
2138 283, 0, 284, 14, 0, 0, 0, 0, 0, 0,
2139 0, 0, 0, 0, 309, 0, 0, 0, 17, 285,
2140 18, 0, 20, 0, 286, 287, 21, 0, 288, 289,
2141 290, 22, 291, 292, 0, 24, 0, 0, 0, 293,
2142 294, 295, 296, 297, 27, 0, 28, 298, 0, 0,
2143 0, 299, 0, 0, 0, 0, 0, 300, 0, 0,
2144 301, 0, 0, 0, 0, 0, 0, 0, 302, 303,
2145 304, 0, 0, 0, 0, 0, 305, 306, 307, 0,
2146 0, 0, 0, 308, 534, 535, 536, 537, 538, 539,
2147 540, 541, 542, 543, 544, 545, 546, 547, 548, 549,
2148 0, 309, 827, 1280, 1281, 1282, 10, 381, 12, 281,
2149 282, 283, 0, 284, 14, 1283, 0, 1284, 1285, 1286,
2150 1287, 1288, 1289, 1290, 1291, 1292, 1293, 15, 16, 17,
2151 285, 18, 19, 20, 0, 286, 287, 21, 0, 288,
2152 289, 290, 22, 291, 292, 0, 24, 0, 0, 0,
2153 293, 294, 295, 296, 297, 27, 0, 1294, 298, 662,
2154 0, 1295, 299, 0, 0, 0, 0, 0, 300, 0,
2155 0, 301, 0, 0, 0, 0, 0, 0, 0, 302,
2156 303, 304, 0, 0, 0, 0, 0, 305, 306, 307,
2157 0, 0, 0, 0, 308, 0, 1296, 0, 0, 0,
2158 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2159 0, 1387, 309, 1280, 1281, 1282, 10, 381, 12, 281,
2160 282, 283, 0, 284, 14, 1283, 0, 1284, 1285, 1286,
2161 1287, 1288, 1289, 1290, 1291, 1292, 1293, 15, 16, 17,
2162 285, 18, 19, 20, 0, 286, 287, 21, 0, 288,
2163 289, 290, 22, 291, 292, 0, 24, 0, 0, 0,
2164 293, 294, 295, 296, 297, 27, 0, 1294, 298, 662,
2165 0, 1295, 299, 0, 0, 0, 0, 0, 300, 0,
2166 0, 301, 0, 0, 0, 0, 0, 0, 0, 302,
2167 303, 304, 0, 0, 0, 0, 0, 305, 306, 307,
2168 0, 0, 0, 0, 308, 0, 1296, 0, 0, 1280,
2169 1281, 1282, 10, 381, 12, 281, 282, 283, 0, 284,
2170 14, 1283, 309, 1284, 1285, 1286, 1287, 1288, 1289, 1290,
2171 1291, 1292, 1293, 15, 16, 17, 285, 18, 19, 20,
2172 0, 286, 287, 21, 0, 288, 289, 290, 22, 291,
2173 292, 0, 24, 0, 0, 0, 293, 294, 295, 296,
2174 297, 27, 0, 1294, 298, 1488, 0, 1295, 299, 0,
2175 0, 0, 0, 0, 300, 0, 0, 301, 0, 0,
2176 0, 0, 0, 0, 0, 302, 303, 304, 0, 0,
2177 0, 0, 0, 305, 306, 307, 0, 0, 0, 0,
2178 308, 0, 1296, 0, 0, 1280, 1281, 1282, 10, 381,
2179 12, 281, 282, 283, 0, 284, 14, 1283, 309, 1284,
2180 1285, 1286, 1287, 1288, 1289, 1290, 1291, 1292, 1293, 15,
2181 16, 17, 285, 18, 19, 20, 0, 286, 287, 21,
2182 0, 288, 289, 290, 22, 291, 292, 0, 24, 0,
2183 0, 0, 293, 294, 295, 296, 297, 27, 0, 1294,
2184 298, 0, 0, 1295, 299, 0, 0, 0, 0, 0,
2185 300, 0, 0, 301, 0, 0, 0, 0, 0, 0,
2186 0, 302, 303, 304, 0, 0, 0, 0, 0, 305,
2187 306, 307, 0, 0, 0, 0, 308, 0, 1296, 7,
2188 8, 9, 10, 381, 12, 281, 282, 283, 675, 284,
2189 14, 0, 0, 0, 309, 0, 0, 0, 0, 0,
2190 0, 0, 0, 0, 0, 17, 285, 18, 19, 20,
2191 0, 286, 287, 21, 0, 288, 289, 290, 22, 291,
2192 292, 0, 24, 0, 573, 0, 293, 294, 295, 296,
2193 297, 27, 0, 28, 29, 0, 0, 0, 299, 0,
2194 0, 0, 0, 0, 300, 0, 0, 1110, 0, 0,
2195 0, 0, 0, 0, 0, 302, 303, 1111, 0, 0,
2196 0, 0, 0, 305, 306, 307, 0, 576, 0, 0,
2197 1112, 578, 0, 0, 676, 280, 8, 9, 10, 0,
2198 12, 281, 282, 283, 0, 284, 14, 0, 309, 0,
2199 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2200 0, 17, 285, 18, 0, 20, 0, 286, 287, 21,
2201 0, 288, 289, 290, 22, 291, 292, 0, 24, 0,
2202 573, 0, 293, 294, 295, 296, 297, 27, 0, 28,
2203 298, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2204 300, 0, 0, 854, 0, 0, 0, 0, 0, 0,
2205 0, 302, 303, 855, 0, 0, 0, 0, 0, 305,
2206 306, 307, 0, 576, 0, 0, 856, 578, 7, 8,
2207 9, 10, 0, 12, 281, 282, 283, 0, 284, 14,
2208 0, 0, 0, 0, 309, 0, 0, 0, 0, 0,
2209 0, 0, 0, 0, 17, 285, 18, 0, 20, 0,
2210 286, 287, 21, 0, 288, 289, 290, 22, 291, 292,
2211 0, 24, 0, 573, 0, 293, 294, 295, 296, 297,
2212 27, 0, 28, 29, 0, 0, 0, 0, 0, 0,
2213 0, 0, 0, 300, 0, 0, 1110, 0, 0, 0,
2214 0, 0, 0, 0, 302, 303, 1111, 0, 0, 0,
2215 0, 0, 305, 306, 307, 0, 576, 0, 0, 1112,
2216 578, 280, 8, 9, 10, 0, 12, 492, 282, 283,
2217 0, 284, 14, 0, 0, 0, 0, 309, 0, 0,
2218 0, 0, 0, 0, 0, 0, 0, 17, 285, 18,
2219 0, 20, 0, 286, 287, 21, 0, 288, 289, 290,
2220 22, 291, 292, 0, 24, 0, 0, 0, 293, 294,
2221 295, 296, 297, 27, 0, 28, 298, 0, 0, 1364,
2222 299, 0, 0, 0, 0, 0, 300, 0, 0, 301,
2223 0, 0, 0, 0, 0, 0, 0, 302, 303, 304,
2224 0, 0, 0, 0, 0, 305, 306, 307, 0, 0,
2225 0, 0, 308, 280, 8, 9, 10, 381, 12, 281,
2226 282, 283, 0, 284, 14, 0, 0, 0, 0, 0,
2227 309, 0, 0, 0, 0, 0, 0, 0, 0, 17,
2228 285, 18, 19, 20, 0, 286, 287, 21, 0, 288,
2229 289, 290, 22, 291, 292, 0, 24, 0, 0, 0,
2230 293, 294, 295, 296, 297, 27, 0, 28, 298, 0,
2231 0, 0, 0, 0, 0, 0, 0, 0, 300, 0,
2232 0, 301, 0, 0, 0, 0, 0, 0, 0, 302,
2233 303, 304, 0, 0, 0, 0, 0, 305, 306, 307,
2234 280, 8, 9, 10, 308, 12, 281, 282, 283, 0,
2235 284, 14, 0, 0, 0, 0, 0, 0, 0, 0,
2236 0, 0, 309, 0, 0, 0, 17, 285, 18, 0,
2237 20, 0, 286, 287, 21, 0, 288, 289, 290, 22,
2238 291, 292, 0, 24, 0, 0, 0, 293, 294, 295,
2239 296, 297, 27, 0, 28, 298, 0, 0, 0, 299,
2240 0, 0, 0, 0, 0, 300, 0, 0, 301, 0,
2241 0, 0, 0, 0, 0, 0, 302, 303, 304, 0,
2242 0, 0, 0, 0, 305, 306, 307, 280, 8, 9,
2243 10, 308, 12, 492, 282, 283, 0, 284, 14, 0,
2244 0, 0, 0, 0, 0, 0, 0, 0, 0, 309,
2245 0, 0, 0, 17, 285, 18, 0, 20, 0, 286,
2246 287, 21, 0, 288, 289, 290, 22, 291, 292, 0,
2247 24, 0, 0, 0, 293, 294, 295, 296, 297, 27,
2248 0, 28, 298, 0, 0, 0, 299, 0, 0, 0,
2249 0, 0, 300, 0, 0, 301, 0, 0, 0, 0,
2250 0, 0, 0, 302, 303, 304, 0, 0, 0, 0,
2251 0, 305, 306, 307, 280, 8, 9, 10, 308, 12,
2252 492, 282, 283, 0, 284, 14, 0, 0, 0, 0,
2253 0, 0, 0, 0, 0, 0, 309, 0, 0, 0,
2254 17, 285, 18, 0, 20, 0, 286, 287, 21, 0,
2255 288, 289, 290, 22, 291, 292, 0, 24, 0, 0,
2256 0, 293, 294, 295, 296, 297, 27, 0, 28, 298,
2257 525, 0, 0, 0, 0, 0, 0, 0, 0, 300,
2258 0, 0, 301, 0, 0, 0, 0, 0, 0, 0,
2259 302, 303, 304, 0, 0, 0, 0, 0, 305, 306,
2260 307, 280, 8, 9, 10, 526, 12, 492, 282, 283,
2261 0, 284, 14, 0, 0, 0, 0, 0, 0, 0,
2262 0, 0, 0, 309, 0, 0, 0, 17, 285, 18,
2263 0, 20, 0, 286, 287, 21, 0, 288, 289, 290,
2264 22, 291, 292, 0, 24, 0, 0, 0, 293, 294,
2265 295, 296, 297, 27, 0, 28, 298, 0, 0, 0,
2266 0, 0, 0, 0, 0, 0, 300, 0, 0, 301,
2267 0, 0, 0, 0, 0, 0, 0, 302, 303, 304,
2268 0, 0, 0, 0, 0, 305, 306, 307, 0, 0,
2269 0, 0, 308, 562, 280, 8, 9, 10, 0, 12,
2270 492, 282, 283, 0, 284, 14, 0, 0, 0, 0,
2271 309, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2272 17, 285, 18, 0, 20, 0, 286, 287, 21, 0,
2273 288, 289, 290, 22, 291, 292, 0, 24, 0, 0,
2274 0, 293, 294, 295, 296, 297, 27, 0, 28, 298,
2275 0, 0, 0, 299, 0, 0, 0, 0, 0, 300,
2276 0, 0, 511, 0, 0, 0, 0, 0, 0, 0,
2277 302, 303, 512, 0, 0, 0, 0, 0, 305, 306,
2278 307, 1078, 8, 9, 10, 513, 12, 492, 282, 283,
2279 0, 284, 14, 0, 0, 0, 0, 0, 0, 0,
2280 0, 0, 0, 309, 0, 0, 0, 17, 285, 18,
2281 0, 20, 0, 286, 287, 21, 0, 288, 289, 290,
2282 22, 291, 292, 0, 24, 0, 0, 0, 293, 294,
2283 295, 296, 297, 27, 0, 28, 298, 0, 0, 0,
2284 299, 0, 0, 0, 0, 0, 300, 0, 0, 301,
2285 0, 0, 0, 0, 0, 0, 0, 302, 303, 304,
2286 0, 0, 0, 0, 0, 305, 306, 307, 7, 8,
2287 9, 10, 308, 12, 492, 282, 283, 0, 284, 14,
2288 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2289 309, 0, 0, 0, 17, 285, 18, 0, 20, 0,
2290 286, 287, 21, 0, 288, 289, 290, 22, 291, 292,
2291 0, 24, 0, 0, 0, 293, 294, 295, 296, 297,
2292 27, 0, 28, 29, 0, 0, 0, 299, 0, 0,
2293 0, 0, 0, 300, 0, 0, 1421, 0, 0, 0,
2294 0, 0, 0, 0, 302, 303, 1422, 0, 0, 0,
2295 0, 0, 305, 306, 307, 280, 8, 9, 10, 1423,
2296 12, 492, 282, 283, 0, 284, 14, 0, 0, 0,
2297 0, 0, 0, 0, 0, 0, 0, 309, 0, 0,
2298 0, 17, 285, 18, 0, 20, 0, 286, 287, 21,
2299 0, 288, 289, 290, 22, 291, 292, 0, 24, 0,
2300 0, 0, 293, 294, 295, 296, 297, 27, 0, 28,
2301 298, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2302 300, 0, 0, 301, 0, 0, 0, 0, 0, 0,
2303 0, 302, 303, 304, 0, 0, 0, 0, 0, 305,
2304 306, 307, 280, 8, 9, 10, 493, 12, 492, 282,
2305 283, 0, 284, 14, 0, 0, 0, 0, 0, 0,
2306 0, 0, 0, 0, 309, 0, 0, 0, 17, 285,
2307 18, 0, 20, 0, 286, 287, 21, 0, 288, 289,
2308 290, 22, 291, 292, 0, 24, 0, 0, 0, 293,
2309 294, 295, 296, 297, 27, 0, 28, 298, 0, 0,
2310 0, 0, 0, 0, 0, 0, 0, 300, 0, 0,
2311 301, 0, 0, 0, 0, 0, 0, 0, 302, 303,
2312 304, 0, 0, 0, 0, 0, 305, 306, 307, 280,
2313 8, 9, 10, 496, 12, 492, 282, 283, 0, 284,
2314 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2315 0, 309, 0, 0, 0, 17, 285, 18, 0, 20,
2316 0, 286, 287, 21, 0, 288, 289, 290, 22, 291,
2317 292, 0, 24, 0, 0, 0, 293, 294, 295, 296,
2318 297, 27, 0, 28, 298, 0, 0, 0, 0, 0,
2319 0, 0, 0, 0, 300, 0, 0, 301, 0, 0,
2320 0, 0, 0, 0, 0, 302, 303, 304, 0, 0,
2321 0, 0, 0, 305, 306, 307, 280, 8, 9, 10,
2322 308, 12, 492, 282, 283, 0, 284, 14, 0, 0,
2323 0, 0, 0, 0, 0, 0, 0, 0, 309, 0,
2324 0, 0, 17, 285, 18, 0, 20, 0, 286, 287,
2325 21, 0, 288, 289, 290, 22, 291, 292, 0, 24,
2326 0, 0, 0, 293, 294, 295, 296, 297, 27, 0,
2327 28, 298, 0, 0, 0, 0, 0, 0, 0, 0,
2328 0, 300, 0, 0, 511, 0, 0, 0, 0, 0,
2329 0, 0, 302, 303, 512, 0, 0, 0, 0, 0,
2330 305, 306, 307, 7, 8, 9, 10, 513, 12, 281,
2331 282, 283, 0, 284, 14, 0, 0, 0, 0, 0,
2332 0, 0, 0, 0, 0, 309, 0, 0, 0, 17,
2333 285, 18, 0, 20, 0, 286, 287, 21, 0, 288,
2334 289, 290, 22, 291, 292, 0, 24, 0, 0, 0,
2335 293, 294, 295, 296, 297, 27, 0, 28, 29, 0,
2336 0, 0, 0, 0, 0, 0, 0, 0, 300, 0,
2337 161, 1421, 7, 8, 9, 10, 11, 12, 13, 302,
2338 303, 1422, 0, 14, 0, 0, 0, 305, 306, 307,
2339 0, 0, 0, 0, 1423, 0, 15, 16, 17, 0,
2340 18, 19, 20, 0, 0, 0, 21, 0, 0, 0,
2341 0, 22, 309, 0, 23, 24, 25, 0, 26, 0,
2342 0, 0, 0, 0, 27, 0, 28, 29, 0, 718,
2343 30, 7, 8, 719, 10, 381, 12, 13, 0, 0,
2344 31, 0, 14, 0, 0, 0, 0, 0, 0, 0,
2345 32, 0, 0, 0, 0, 0, 0, 17, 33, 18,
2346 19, 20, 0, 34, 0, 21, 0, 0, 0, 35,
2347 22, 0, 0, 0, 24, 720, 0, 630, 0, 0,
2348 0, 0, 0, 27, 0, 28, 29, 0, 0, 721,
2349 0, 722, 972, 8, 719, 10, 187, 12, 188, 31,
2350 0, 0, 0, 14, 0, 0, 0, 0, 0, 32,
2351 0, 0, 0, 0, 0, 0, 0, 33, 17, 0,
2352 18, 19, 34, 0, 0, 0, 21, 0, 0, 0,
2353 0, 22, 0, 0, 0, 24, 0, 7, 8, 9,
2354 10, 381, 12, 13, 27, 0, 28, 29, 14, 0,
2355 0, 0, 974, 0, 0, 0, 0, 0, 0, 0,
2356 31, 0, 0, 17, 0, 18, 19, 0, 0, 0,
2357 32, 21, 0, 0, 0, 0, 22, 0, 33, 0,
2358 24, 0, 0, 34, 0, 0, 0, 0, 0, 27,
2359 0, 28, 29, 7, 8, 9, 10, 187, 12, 188,
2360 0, 0, 0, 0, 14, 31, 0, 0, 0, 0,
2361 0, 0, 0, 0, 0, 32, 0, 0, 0, 17,
2362 0, 18, 19, 33, 0, 0, 0, 21, 34, 0,
2363 0, 0, 22, 0, 0, 0, 24, 0, 7, 8,
2364 9, 10, 196, 197, 198, 27, 0, 28, 29, 14,
2365 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2366 0, 31, 0, 0, 0, 0, 0, 19, 0, 0,
2367 0, 32, 21, 0, 0, 0, 0, 22, 0, 33,
2368 0, 24, 0, 573, 34, 0, 0, 0, 0, 0,
2369 27, 0, 28, 29, 0, 0, 0, 0, 0, 0,
2370 0, 0, 0, 0, 0, 0, 175, 0, 0, 0,
2371 0, 0, 0, 0, 0, 0, 176, 0, 0, 0,
2372 0, 0, 0, 0, 33, 0, 0, 0, 0, 1380,
2373 528, 529, 530, 531, 532, 533, 534, 535, 536, 537,
2374 538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
2375 548, 549, 528, 529, 530, 531, 532, 533, 534, 535,
2376 536, 537, 538, 539, 540, 541, 542, 543, 544, 545,
2377 546, 547, 548, 549, 0, 0, 0, 0, 0, 1164,
2378 535, 536, 537, 538, 539, 540, 541, 542, 543, 544,
2379 545, 546, 547, 548, 549, 0, 0, 1432, 1341, 528,
2380 529, 530, 531, 532, 533, 534, 535, 536, 537, 538,
2381 539, 540, 541, 542, 543, 544, 545, 546, 547, 548,
2382 549, 1474, 528, 529, 530, 531, 532, 533, 534, 535,
2383 536, 537, 538, 539, 540, 541, 542, 543, 544, 545,
2384 546, 547, 548, 549, 528, 529, 530, 531, 532, 533,
2385 534, 535, 536, 537, 538, 539, 540, 541, 542, 543,
2386 544, 545, 546, 547, 548, 549, 532, 533, 534, 535,
2387 536, 537, 538, 539, 540, 541, 542, 543, 544, 545,
2391 static const short yycheck
[] = { 4,
2392 34, 54, 658, 4, 75, 380, 156, 24, 380, 4,
2393 146, 147, 328, 56, 660, 58, 231, 125, 83, 351,
2394 921, 4, 380, 440, 4, 191, 89, 461, 91, 334,
2395 79, 36, 34, 284, 285, 36, 41, 523, 4, 221,
2396 41, 36, 128, 723, 38, 191, 41, 133, 31, 32,
2397 61, 56, 732, 36, 200, 1274, 36, 641, 41, 4,
2398 226, 41, 413, 1409, 1442, 316, 71, 53, 816, 577,
2399 36, 132, 133, 136, 1, 41, 584, 58, 83, 11,
2400 0, 11, 87, 1297, 89, 132, 91, 59, 1466, 11,
2401 4, 36, 141, 63, 34, 63, 41, 0, 1426, 1304,
2402 83, 106, 107, 63, 199, 200, 1311, 49, 14, 1444,
2403 276, 36, 146, 147, 148, 75, 41, 111, 79, 334,
2404 8, 9, 36, 60, 195, 1439, 14, 41, 100, 75,
2405 135, 136, 59, 138, 135, 94, 185, 1465, 48, 60,
2406 110, 63, 110, 177, 146, 147, 148, 1, 191, 37,
2407 335, 336, 135, 12, 9, 160, 199, 200, 46, 160,
2408 48, 578, 328, 146, 147, 151, 517, 1545, 1496, 83,
2409 1, 111, 1507, 14, 111, 177, 82, 160, 110, 495,
2410 110, 1495, 23, 194, 94, 1531, 229, 48, 110, 110,
2411 135, 202, 175, 176, 55, 1409, 182, 4, 75, 105,
2412 110, 60, 387, 388, 63, 59, 94, 62, 1413, 63,
2413 191, 741, 12, 79, 75, 160, 746, 648, 199, 200,
2414 39, 135, 48, 64, 7, 659, 286, 287, 59, 36,
2415 48, 1467, 63, 94, 41, 75, 55, 103, 55, 98,
2416 61, 301, 96, 1479, 304, 226, 160, 307, 1453, 56,
2417 310, 110, 61, 1489, 314, 38, 321, 1476, 75, 60,
2418 60, 48, 322, 63, 325, 96, 132, 353, 94, 95,
2419 1506, 60, 277, 631, 337, 141, 94, 95, 325, 60,
2420 25, 242, 123, 175, 176, 177, 1034, 76, 374, 1525,
2421 111, 596, 624, 1498, 61, 276, 432, 433, 98, 445,
2422 48, 885, 111, 308, 145, 4, 5, 94, 683, 110,
2423 661, 683, 1548, 374, 59, 465, 321, 61, 63, 185,
2424 12, 227, 852, 55, 329, 94, 27, 28, 135, 110,
2425 383, 32, 337, 338, 4, 5, 94, 338, 321, 60,
2426 61, 384, 385, 75, 111, 60, 94, 328, 856, 444,
2427 445, 96, 218, 160, 94, 338, 55, 452, 57, 58,
2428 61, 55, 48, 679, 65, 4, 5, 111, 60, 464,
2429 75, 63, 71, 65, 48, 380, 242, 218, 219, 384,
2430 48, 75, 81, 454, 892, 380, 1287, 57, 58, 484,
2431 231, 65, 48, 338, 437, 110, 95, 380, 432, 433,
2432 434, 444, 445, 889, 385, 448, 98, 321, 94, 452,
2433 111, 81, 60, 61, 48, 600, 4, 5, 57, 58,
2434 94, 426, 109, 931, 338, 1173, 94, 490, 334, 959,
2435 432, 433, 434, 418, 865, 48, 853, 868, 94, 95,
2436 451, 971, 81, 426, 48, 1346, 48, 27, 28, 432,
2437 433, 511, 512, 63, 1355, 1356, 467, 462, 48, 300,
2438 94, 462, 61, 444, 445, 75, 380, 333, 1148, 57,
2439 58, 452, 63, 904, 905, 76, 1006, 78, 1008, 462,
2440 48, 94, 462, 464, 75, 490, 25, 55, 493, 48,
2441 94, 496, 94, 81, 559, 500, 501, 502, 503, 504,
2442 48, 462, 55, 484, 94, 95, 48, 75, 513, 350,
2443 63, 886, 426, 55, 886, 60, 61, 462, 523, 48,
2444 110, 526, 75, 957, 390, 707, 94, 709, 886, 4,
2445 5, 338, 714, 75, 9, 94, 428, 55, 430, 48,
2446 432, 433, 434, 48, 48, 63, 94, 63, 462, 602,
2447 61, 443, 94, 558, 559, 55, 861, 4, 5, 75,
2448 603, 65, 9, 63, 25, 94, 27, 28, 919, 1470,
2449 55, 756, 577, 48, 32, 75, 559, 4, 5, 584,
2450 55, 1089, 57, 58, 637, 94, 639, 640, 59, 94,
2451 94, 574, 575, 459, 577, 638, 71, 640, 59, 765,
2452 63, 584, 63, 55, 1112, 700, 81, 858, 55, 717,
2453 57, 58, 629, 3, 4, 5, 91, 55, 459, 94,
2454 95, 487, 603, 75, 71, 48, 679, 1044, 55, 48,
2455 57, 58, 438, 638, 81, 96, 679, 642, 1069, 1070,
2456 446, 55, 659, 48, 71, 559, 861, 75, 95, 3,
2457 4, 5, 111, 4, 81, 726, 727, 700, 60, 640,
2458 703, 75, 59, 577, 735, 1099, 55, 57, 58, 48,
2459 584, 94, 95, 94, 76, 94, 78, 730, 683, 742,
2460 743, 744, 588, 55, 525, 36, 65, 110, 731, 94,
2461 41, 81, 55, 1127, 737, 76, 8, 9, 679, 110,
2462 683, 55, 14, 57, 58, 571, 1040, 1041, 55, 1043,
2463 110, 3, 4, 5, 6, 94, 95, 95, 723, 700,
2464 725, 587, 723, 1039, 725, 37, 731, 732, 75, 4,
2465 5, 732, 4, 5, 46, 110, 741, 742, 743, 744,
2466 723, 746, 725, 723, 1301, 59, 1303, 1133, 1134, 732,
2467 42, 65, 732, 34, 4, 5, 11, 49, 741, 9,
2468 110, 1147, 723, 746, 725, 57, 58, 827, 111, 683,
2469 731, 732, 954, 955, 956, 4, 5, 61, 723, 1435,
2470 725, 3, 57, 58, 765, 57, 58, 732, 629, 81,
2471 113, 3, 4, 5, 854, 855, 94, 89, 690, 691,
2472 641, 693, 84, 85, 55, 55, 81, 57, 58, 723,
2473 815, 725, 63, 1459, 819, 1000, 1001, 1002, 732, 60,
2474 61, 71, 4, 5, 75, 666, 95, 741, 57, 58,
2475 95, 81, 746, 818, 60, 61, 48, 60, 730, 48,
2476 113, 846, 65, 55, 63, 57, 58, 852, 897, 94,
2477 1236, 856, 81, 76, 25, 94, 27, 28, 892, 1245,
2478 1246, 75, 1248, 753, 754, 755, 147, 148, 75, 852,
2479 75, 854, 855, 856, 75, 57, 58, 3, 4, 5,
2480 6, 886, 94, 888, 889, 94, 95, 892, 59, 11,
2481 892, 886, 63, 60, 61, 60, 177, 931, 111, 81,
2482 110, 110, 60, 886, 975, 60, 61, 890, 891, 892,
2483 981, 982, 110, 110, 985, 986, 42, 110, 989, 55,
2484 61, 964, 965, 730, 731, 96, 931, 63, 111, 931,
2485 110, 57, 58, 25, 983, 27, 28, 111, 852, 75,
2486 945, 55, 856, 113, 110, 55, 65, 952, 931, 63,
2487 993, 1087, 1088, 63, 959, 861, 113, 25, 75, 27,
2488 28, 75, 75, 89, 75, 75, 971, 59, 113, 113,
2489 110, 63, 886, 110, 1110, 1111, 959, 110, 892, 59,
2490 3, 4, 5, 6, 55, 110, 1046, 1303, 971, 994,
2491 8, 59, 113, 994, 860, 63, 862, 94, 890, 891,
2492 892, 1006, 48, 1008, 96, 65, 1357, 60, 1394, 1395,
2493 94, 994, 997, 111, 994, 37, 61, 931, 1369, 42,
2494 4, 5, 983, 1006, 65, 1008, 65, 308, 96, 65,
2495 61, 897, 55, 994, 57, 58, 877, 110, 61, 931,
2496 1025, 1026, 1091, 63, 885, 959, 110, 110, 71, 994,
2497 1110, 1111, 110, 1087, 1088, 1089, 110, 971, 81, 65,
2498 65, 1436, 4, 5, 1436, 65, 89, 3, 4, 5,
2499 113, 94, 65, 57, 58, 1426, 1110, 1111, 1112, 94,
2500 994, 60, 1099, 63, 1089, 1087, 1088, 1089, 4, 5,
2501 76, 110, 1006, 110, 1008, 31, 1139, 1140, 110, 1142,
2502 1143, 110, 1145, 45, 1087, 1088, 1089, 1112, 1110, 1111,
2503 1112, 110, 1463, 55, 1465, 57, 58, 983, 76, 55,
2504 76, 57, 58, 1108, 76, 110, 63, 1110, 1111, 1112,
2505 1481, 63, 1117, 1118, 1450, 437, 110, 1122, 1123, 55,
2506 60, 57, 58, 1148, 110, 1496, 448, 1148, 63, 110,
2507 113, 111, 433, 434, 3, 4, 5, 110, 7, 8,
2508 9, 110, 95, 113, 89, 1148, 48, 110, 1148, 3,
2509 4, 5, 1243, 1244, 113, 1089, 110, 60, 113, 1164,
2510 110, 110, 110, 1144, 111, 1026, 110, 1148, 37, 111,
2511 1233, 1234, 65, 1085, 1086, 1087, 1088, 1089, 1112, 65,
2512 1066, 1093, 60, 1148, 1209, 60, 55, 110, 57, 58,
2513 59, 110, 493, 94, 1219, 496, 94, 94, 1110, 1111,
2514 1112, 55, 94, 57, 58, 1091, 1209, 111, 113, 1209,
2515 110, 512, 513, 8, 1148, 110, 110, 1297, 1223, 3,
2516 4, 5, 110, 1209, 113, 526, 110, 110, 1301, 1141,
2517 1303, 81, 82, 83, 84, 85, 105, 106, 107, 1302,
2518 1303, 3, 4, 5, 1209, 106, 107, 1108, 1418, 111,
2519 110, 110, 3, 4, 5, 6, 65, 1262, 1144, 110,
2520 1323, 1324, 1325, 110, 1450, 1421, 1422, 110, 110, 110,
2521 4, 5, 1297, 57, 58, 1209, 110, 1302, 110, 1304,
2522 3, 4, 5, 584, 1196, 1197, 1311, 1199, 1379, 63,
2523 113, 42, 48, 110, 1297, 57, 58, 1297, 49, 110,
2524 110, 1304, 1303, 97, 1304, 34, 57, 58, 1311, 110,
2525 110, 1311, 61, 110, 48, 63, 63, 110, 1304, 110,
2526 110, 55, 61, 57, 58, 1311, 1380, 113, 1391, 1392,
2527 81, 9, 1297, 61, 57, 58, 1341, 71, 89, 1304,
2528 16, 1421, 1422, 61, 94, 1206, 1311, 81, 106, 107,
2529 3, 4, 5, 94, 61, 109, 94, 91, 1380, 99,
2530 94, 95, 94, 1297, 61, 17, 61, 1421, 1422, 1423,
2531 1304, 11, 61, 110, 110, 110, 61, 1311, 1451, 110,
2532 94, 703, 1473, 60, 1409, 1410, 39, 40, 1413, 42,
2533 110, 3, 4, 5, 61, 7, 8, 9, 1423, 1421,
2534 1422, 1423, 55, 65, 57, 58, 1409, 1410, 110, 1409,
2535 1413, 1436, 61, 1413, 1439, 737, 11, 1442, 1421, 1422,
2536 61, 11, 110, 61, 0, 37, 408, 1413, 1453, 3,
2537 4, 5, 1293, 1436, 1497, 0, 1439, 0, 2, 1442,
2538 353, 1466, 1442, 160, 1409, 57, 58, 308, 1413, 1450,
2539 1453, 886, 1434, 1453, 160, 731, 1442, 725, 759, 3,
2540 4, 5, 1099, 1466, 93, 138, 1466, 1453, 1380, 1405,
2541 1495, 1545, 279, 1498, 1302, 1409, 1410, 1442, 666, 1413,
2542 1466, 55, 872, 57, 58, 59, 877, 1348, 1453, 27,
2543 28, 1127, 1495, 220, 32, 1498, 957, 994, 1498, 725,
2544 731, 1466, 1436, 1146, 609, 1439, 870, 559, 1442, 1421,
2545 1422, 1423, 1498, 57, 58, 59, 4, 182, 9, 1453,
2546 1545, 12, 60, 61, 123, 1304, 14, 65, 1533, 325,
2547 1210, 1459, 1466, 1498, 3, 4, 5, 25, 3, 4,
2548 5, 6, 1545, 31, 32, 1545, 34, 1456, 36, 1481,
2549 308, 1518, 380, 41, 855, 856, 1520, 48, 940, 1545,
2550 -1, 1495, 423, 1219, 1498, -1, 54, -1, 56, 60,
2551 -1, 62, 63, -1, 65, -1, 64, 42, -1, -1,
2552 1545, -1, -1, 71, -1, 76, -1, 78, 57, 58,
2553 55, 892, 57, 58, 82, 83, 61, -1, 426, -1,
2554 -1, -1, -1, 94, 95, 81, 71, 98, 3, 4,
2555 5, 1545, -1, 4, 5, -1, 81, 105, 9, 110,
2556 -1, 419, 380, -1, 89, -1, -1, -1, 426, 94,
2557 931, -1, 493, -1, -1, 496, -1, -1, -1, 500,
2558 128, -1, 964, 965, -1, 133, -1, 135, -1, -1,
2559 -1, 139, 513, -1, 142, 143, -1, 48, 146, 147,
2560 148, -1, 57, 58, 55, 526, 57, 58, 426, 530,
2561 -1, 993, 160, -1, -1, -1, -1, -1, 154, -1,
2562 71, -1, 3, 4, 5, 6, -1, 175, 176, 177,
2563 81, -1, -1, 491, -1, 556, -1, 173, -1, -1,
2564 91, 562, -1, 94, 95, -1, -1, -1, -1, -1,
2565 186, -1, -1, -1, -1, -1, 204, -1, 4, 5,
2566 -1, 42, -1, 9, -1, 419, -1, 3, 4, 5,
2567 6, 219, 426, -1, -1, 493, 57, 58, 496, 227,
2568 -1, -1, 500, 501, 502, 503, 504, -1, -1, 577,
2569 -1, 239, -1, -1, -1, 513, 584, 555, -1, 557,
2570 558, -1, 48, -1, -1, -1, 42, -1, 526, 55,
2571 -1, 57, 58, -1, -1, -1, 12, -1, -1, 55,
2572 -1, 57, 58, -1, -1, 71, 584, 1088, 1089, 277,
2573 278, 27, 28, 591, -1, 81, 32, 491, -1, -1,
2574 558, -1, -1, -1, -1, 91, -1, 48, 94, 95,
2575 1111, 1112, 48, 89, -1, -1, -1, 1139, 1140, 577,
2576 1142, 1143, -1, 1145, 60, 61, 584, 63, -1, 65,
2577 -1, -1, -1, 321, -1, -1, -1, 325, -1, 327,
2578 328, 329, -1, -1, -1, -1, 87, 88, -1, -1,
2579 338, 92, 93, 94, 95, 683, -1, -1, 94, 95,
2580 -1, 555, 98, 557, 558, 353, 3, 4, 5, -1,
2581 7, 8, 9, -1, 110, 4, 5, -1, 7, 8,
2582 9, -1, -1, 12, -1, 14, 374, -1, -1, -1,
2583 -1, -1, 380, -1, -1, 383, 384, 591, -1, -1,
2584 29, -1, 31, 32, -1, -1, 394, -1, 37, 397,
2585 -1, 1233, 1234, 741, 402, -1, -1, 46, 746, -1,
2586 57, 58, -1, -1, -1, 683, 55, -1, 57, 58,
2587 -1, -1, -1, -1, 7, 8, 9, -1, -1, -1,
2588 428, 14, 430, -1, 432, 433, 434, -1, -1, -1,
2589 438, -1, 3, 4, 5, 443, 7, -1, 446, 32,
2590 436, 759, 823, -1, 37, 441, 4, 5, -1, 98,
2591 8, 9, -1, 46, 462, -1, 14, -1, -1, -1,
2592 31, -1, -1, 741, -1, -1, -1, 38, 746, -1,
2593 -1, 29, 468, 31, -1, 856, -1, 473, -1, 37,
2594 -1, 1323, 1324, 1325, 55, -1, 57, 58, 46, 485,
2595 486, -1, 488, 501, 502, 503, 504, 55, -1, 57,
2596 58, 819, -1, -1, 852, -1, -1, -1, 856, -1,
2597 -1, -1, -1, -1, 832, -1, 834, -1, 836, 72,
2598 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
2599 83, 84, 85, 7, 8, 9, 94, 815, 886, -1,
2600 14, -1, -1, -1, 892, -1, -1, -1, -1, 1391,
2601 1392, 559, -1, 561, -1, -1, -1, -1, 32, 1380,
2602 -1, 879, -1, 37, 572, -1, 574, 575, 846, 577,
2603 -1, 952, 46, -1, 852, -1, 584, -1, 856, -1,
2604 588, -1, -1, 931, 580, 581, -1, 61, -1, 585,
2605 -1, -1, -1, -1, 602, 913, 7, 8, 9, -1,
2606 -1, 1422, 1423, 14, -1, 819, -1, -1, 886, -1,
2607 888, 959, -1, 931, 892, -1, -1, -1, 832, -1,
2608 834, 32, 836, 971, -1, -1, 37, -1, -1, 637,
2609 638, 639, 640, 641, 642, 46, -1, 4, 5, -1,
2610 -1, 8, 9, -1, -1, -1, -1, 14, 3, 4,
2611 5, 6, -1, 931, 9, 1497, -1, -1, 1006, -1,
2612 1008, -1, 29, -1, 31, 879, -1, 945, -1, -1,
2613 37, 679, -1, -1, 952, 683, -1, -1, -1, 46,
2614 -1, 959, 690, 691, -1, 693, -1, 42, 55, -1,
2615 57, 58, 59, 971, -1, -1, -1, -1, -1, 913,
2616 55, -1, 57, 58, 79, 80, 81, 82, 83, 84,
2617 85, -1, 720, -1, -1, 723, 71, 725, -1, -1,
2618 -1, -1, 730, 731, 732, -1, 81, 94, 1006, -1,
2619 1008, 1112, -1, 741, 89, -1, -1, -1, 746, 94,
2620 -1, 1089, -1, -1, -1, 753, 754, 755, -1, -1,
2621 -1, 747, -1, 749, -1, -1, -1, 765, -1, 327,
2622 328, 329, -1, -1, 1112, 3, 4, 5, 6, 7,
2623 8, 9, -1, -1, -1, -1, 14, -1, -1, 1160,
2624 1161, 1162, 1163, 1101, -1, 1103, -1, 1105, -1, -1,
2625 1171, 29, -1, 31, 32, -1, -1, -1, -1, 37,
2626 -1, -1, -1, -1, 42, -1, -1, 815, 46, -1,
2627 -1, 1089, -1, -1, -1, -1, -1, 55, -1, 57,
2628 58, -1, -1, 61, -1, 821, 822, -1, 824, 837,
2629 -1, 839, -1, 71, 1112, -1, -1, -1, 846, -1,
2630 -1, -1, 850, 81, 852, -1, 854, 855, 856, 4,
2631 -1, 89, -1, 861, -1, 851, 94, -1, -1, 14,
2632 77, 78, 79, 80, 81, 82, 83, 84, 85, 24,
2633 25, -1, -1, -1, -1, 1193, 31, 32, 886, 34,
2634 888, 36, 890, 891, 892, -1, 41, 1101, -1, 1103,
2635 -1, 1105, 3, 4, 5, 6, -1, -1, 894, 54,
2636 -1, 56, -1, -1, 3, 4, 5, 6, -1, 64,
2637 9, 1292, -1, -1, -1, -1, 71, -1, -1, -1,
2638 -1, -1, -1, 931, -1, -1, -1, -1, 83, -1,
2639 -1, 42, -1, -1, -1, -1, -1, 945, -1, -1,
2640 -1, 1219, -1, 42, 55, -1, 57, 58, -1, -1,
2641 -1, 959, 63, -1, -1, -1, 55, -1, 57, 58,
2642 71, -1, 958, 971, -1, -1, -1, -1, -1, -1,
2643 81, -1, 71, 128, 970, -1, 984, -1, 89, 1193,
2644 135, -1, 81, 94, 139, 1366, 994, -1, 143, -1,
2645 89, 146, 147, 148, -1, 94, -1, -1, 1006, -1,
2646 1008, -1, -1, 698, -1, 160, 574, 575, -1, -1,
2647 -1, -1, -1, 4, 5, -1, 7, 8, 9, -1,
2648 175, 176, 177, 14, -1, -1, -1, -1, 1409, 1410,
2649 -1, -1, 1040, 1041, -1, 1043, -1, -1, 29, -1,
2650 31, 32, 1423, -1, -1, 740, 37, -1, -1, 204,
2651 745, 327, 328, 329, -1, 46, -1, -1, 1439, 1055,
2652 -1, -1, 1380, -1, 55, -1, 57, 58, -1, 637,
2653 -1, 639, 640, -1, 642, -1, -1, 1085, 1086, 1087,
2654 1088, 1089, -1, -1, 239, 1093, -1, -1, 1436, 3,
2655 4, 5, 6, -1, -1, 9, 1092, -1, -1, -1,
2656 -1, -1, 1110, 1111, 1112, -1, -1, -1, -1, -1,
2657 -1, 679, 1493, -1, 1495, -1, -1, 7, 8, 9,
2658 -1, -1, 277, 278, 14, -1, -1, -1, 42, -1,
2659 -1, -1, -1, 1141, 48, -1, 1517, -1, 1146, -1,
2660 1148, 55, 32, 57, 58, 1423, -1, 37, -1, -1,
2661 1531, -1, 847, -1, 849, 1151, 46, 71, 1436, 1155,
2662 -1, -1, 3, 4, 5, 6, 321, 81, 9, -1,
2663 325, 61, 327, 328, 329, 89, -1, 91, -1, 334,
2664 94, 95, -1, 338, -1, -1, -1, -1, 1196, 1197,
2665 -1, 1199, 1188, -1, -1, -1, -1, 765, 353, -1,
2666 -1, 42, -1, -1, -1, -1, -1, 48, -1, -1,
2667 -1, 1219, -1, -1, 55, -1, 57, 58, -1, -1,
2668 -1, -1, -1, -1, -1, 380, -1, -1, 383, 384,
2669 71, -1, 1228, -1, -1, -1, 1232, -1, -1, 394,
2670 81, -1, 397, -1, -1, -1, -1, 402, 89, -1,
2671 91, -1, -1, 94, 95, -1, -1, -1, 1254, 1255,
2672 -1, -1, -1, 1, -1, 3, 4, 5, 6, 837,
2673 8, 839, -1, 428, -1, 430, -1, 432, 433, 434,
2674 -1, -1, 850, 438, -1, -1, 854, 855, 443, -1,
2675 -1, 446, -1, 1301, 1302, 1303, -1, -1, 574, 575,
2676 -1, 577, -1, -1, 42, -1, 461, 462, 584, -1,
2677 1005, 49, 1007, -1, -1, -1, -1, 55, -1, 57,
2678 58, -1, 890, 891, -1, -1, -1, -1, -1, -1,
2679 -1, -1, -1, -1, -1, 3, 4, 5, 6, 3,
2680 4, 5, 6, 7, 8, 9, 501, 502, 503, 504,
2681 14, 89, -1, -1, -1, -1, 3, 4, 5, 6,
2682 -1, 637, -1, 639, 640, 1060, 642, -1, 32, -1,
2683 -1, -1, 1380, 37, 42, -1, -1, -1, 42, -1,
2684 -1, 49, 46, -1, 48, -1, -1, -1, -1, 57,
2685 58, 55, -1, 57, 58, 42, -1, -1, -1, -1,
2686 -1, -1, 49, 679, 559, -1, 561, 71, -1, -1,
2687 57, 58, -1, 1421, 1422, 1423, -1, 81, -1, 574,
2688 575, 89, 577, -1, -1, 89, -1, 91, 1436, 584,
2689 94, 95, -1, -1, 81, -1, 1131, -1, -1, -1,
2690 1135, 596, 89, 1451, -1, -1, -1, 602, -1, -1,
2691 -1, -1, -1, 3, 4, 5, 6, -1, -1, 9,
2692 3, 4, 5, 6, -1, -1, -1, -1, -1, -1,
2693 -1, -1, -1, -1, 629, -1, -1, -1, -1, -1,
2694 -1, -1, 637, 638, 639, 640, 641, 642, -1, 765,
2695 -1, 1186, 42, -1, -1, -1, -1, -1, 48, 42,
2696 -1, -1, -1, -1, 659, 55, 49, 57, 58, -1,
2697 -1, -1, -1, -1, 57, 58, -1, 1085, 1086, 1087,
2698 1088, 71, -1, -1, 679, 1093, -1, -1, 683, -1,
2699 -1, 81, -1, -1, -1, 690, 691, -1, 693, 89,
2700 -1, 91, 1110, 1111, 94, 95, 89, -1, -1, -1,
2701 -1, 3, 4, 5, 6, -1, -1, 1252, 1253, -1,
2702 -1, 837, -1, 839, -1, 720, -1, -1, 723, -1,
2703 725, -1, -1, 1268, 850, 730, 731, 732, 854, 855,
2704 856, 3, 4, 5, 6, -1, 741, 9, -1, -1,
2705 42, 746, -1, 3, 4, 5, 6, 49, 753, 754,
2706 755, -1, -1, -1, -1, 57, 58, -1, -1, -1,
2707 765, -1, -1, -1, 890, 891, 892, -1, -1, -1,
2708 42, 1316, 1317, -1, -1, -1, 48, -1, 1196, 1197,
2709 -1, 1199, 42, 55, -1, 57, 58, 89, -1, 49,
2710 1335, 1336, -1, -1, -1, -1, -1, 57, 58, 71,
2711 -1, -1, -1, -1, -1, 931, -1, -1, -1, 81,
2712 815, -1, -1, -1, -1, -1, -1, 89, -1, 91,
2713 -1, 81, 94, 95, -1, 3, 4, 5, 6, 89,
2714 -1, -1, 837, -1, 839, -1, -1, -1, -1, -1,
2715 -1, 846, -1, -1, -1, 850, -1, 852, -1, 854,
2716 855, 856, -1, -1, -1, -1, 861, -1, -1, -1,
2717 -1, -1, -1, -1, 42, -1, -1, -1, -1, -1,
2718 -1, 49, -1, -1, -1, -1, -1, -1, 4, 57,
2719 58, 886, -1, 888, -1, 890, 891, 892, 1, -1,
2720 3, 4, 5, 6, 7, 8, 9, -1, -1, -1,
2721 -1, 14, -1, 81, -1, 31, 32, -1, 34, -1,
2722 36, 89, -1, -1, -1, 41, 29, -1, 31, 32,
2723 33, -1, -1, -1, 37, 38, 931, -1, 54, 42,
2724 56, -1, -1, 46, 47, -1, 49, -1, -1, -1,
2725 945, -1, 55, -1, 57, 58, -1, -1, 61, -1,
2726 63, -1, 957, 79, 959, -1, -1, -1, 71, 1085,
2727 1086, 1087, 1088, 1089, -1, -1, 971, 1093, 81, -1,
2728 -1, -1, -1, -1, -1, -1, 89, 3, 4, 5,
2729 6, 94, -1, 9, 1110, 1111, 1112, -1, -1, 994,
2730 -1, -1, -1, -1, -1, -1, -1, -1, 111, -1,
2731 -1, 1006, 128, 1008, -1, -1, 132, 133, -1, 135,
2732 -1, -1, -1, 139, -1, 141, 42, 143, -1, -1,
2733 146, 147, 148, -1, -1, -1, -1, -1, -1, 55,
2734 -1, 57, 58, -1, 160, 1040, 1041, -1, 1043, -1,
2735 -1, -1, -1, -1, -1, 71, -1, -1, -1, 175,
2736 176, 177, -1, -1, -1, 81, -1, -1, -1, 185,
2737 -1, -1, -1, 89, 3, 4, 5, 6, 94, -1,
2738 1196, 1197, -1, 1199, -1, -1, -1, -1, 204, -1,
2739 1085, 1086, 1087, 1088, 1089, -1, -1, -1, 1093, -1,
2740 -1, -1, -1, -1, 1099, -1, -1, -1, -1, -1,
2741 -1, -1, -1, 42, -1, 1110, 1111, 1112, -1, 48,
2742 -1, -1, -1, 239, -1, -1, 55, -1, 57, 58,
2743 -1, -1, 1127, -1, -1, -1, -1, -1, -1, -1,
2744 -1, -1, 71, -1, -1, -1, 1141, -1, -1, -1,
2745 -1, 1146, 81, 1148, -1, -1, -1, -1, -1, -1,
2746 89, -1, 91, -1, -1, 94, 95, -1, -1, -1,
2747 -1, -1, -1, -1, -1, -1, -1, 3, 4, 5,
2748 6, -1, 1, 9, 3, 4, 5, 6, 7, 8,
2749 9, -1, 308, -1, -1, 14, -1, -1, -1, -1,
2750 -1, 1196, 1197, -1, 1199, -1, -1, -1, -1, 325,
2751 29, -1, 31, 32, 33, -1, 42, 333, 37, 38,
2752 -1, -1, 338, 42, 1219, -1, -1, 46, 47, 55,
2753 49, 57, 58, -1, -1, -1, 55, 353, 57, 58,
2754 -1, -1, 61, -1, 63, 71, 4, 5, -1, 7,
2755 8, 9, 71, -1, 12, 81, 14, -1, 374, -1,
2756 -1, -1, 81, 89, -1, -1, -1, 383, 94, -1,
2757 89, 29, -1, 31, 32, 94, -1, -1, 394, 37,
2758 -1, 397, -1, -1, -1, -1, 402, -1, 46, -1,
2759 48, -1, 111, -1, -1, -1, -1, 55, -1, 57,
2760 58, -1, -1, -1, -1, -1, 1301, 1302, 1303, -1,
2761 -1, -1, 428, 71, 430, -1, 432, 433, 434, -1,
2762 -1, -1, 438, 81, -1, -1, -1, 443, -1, -1,
2763 446, 4, -1, 91, -1, -1, 94, 95, -1, -1,
2764 98, -1, -1, -1, -1, -1, 462, -1, -1, -1,
2765 -1, -1, -1, -1, 3, 4, 5, 6, 31, 32,
2766 9, 34, -1, 36, -1, 4, 5, -1, 41, 8,
2767 9, -1, -1, -1, -1, 14, -1, 493, -1, -1,
2768 496, 54, -1, 56, -1, 1380, -1, -1, -1, -1,
2769 29, -1, 31, 42, -1, 511, 512, 513, 37, -1,
2770 -1, -1, -1, -1, -1, -1, 55, 46, 57, 58,
2771 526, -1, -1, -1, -1, -1, 55, -1, 57, 58,
2772 -1, -1, 71, -1, -1, -1, 1421, 1422, 1423, -1,
2773 -1, -1, 81, -1, -1, -1, -1, -1, 4, 5,
2774 89, 1436, 8, 9, -1, 94, -1, -1, 14, -1,
2775 -1, -1, -1, -1, -1, 571, 1451, -1, 3, 4,
2776 5, 6, 135, 29, 9, 31, 139, -1, 584, -1,
2777 143, 37, -1, 146, 147, 148, -1, -1, -1, -1,
2778 46, -1, 48, -1, -1, -1, 602, 160, -1, 55,
2779 -1, 57, 58, -1, -1, -1, -1, 42, -1, -1,
2780 -1, -1, 175, 176, 177, 71, -1, -1, -1, -1,
2781 55, -1, 57, 58, -1, 81, -1, -1, -1, -1,
2782 -1, 637, 638, 639, 640, 91, 71, -1, 94, 95,
2783 -1, 204, -1, -1, -1, -1, 81, -1, -1, -1,
2784 -1, -1, -1, -1, 89, -1, -1, -1, 1, 94,
2785 3, 4, 5, 6, 7, 8, 9, -1, -1, -1,
2786 -1, 14, -1, 679, -1, -1, 239, 683, -1, -1,
2787 -1, -1, -1, -1, 690, 691, 29, 693, 31, 32,
2788 33, -1, -1, -1, 37, 38, -1, -1, -1, 42,
2789 -1, -1, -1, 46, 47, -1, 49, -1, -1, -1,
2790 -1, -1, 55, -1, 57, 58, -1, 723, 61, 725,
2791 63, -1, -1, -1, 730, 731, 732, -1, 71, -1,
2792 -1, 3, 4, 5, 6, 7, 8, 9, 81, -1,
2793 12, -1, 14, -1, -1, -1, 89, -1, -1, -1,
2794 -1, 94, -1, 759, -1, -1, -1, 29, -1, 31,
2795 32, -1, -1, -1, -1, 37, -1, -1, 111, -1,
2796 42, 334, -1, -1, 46, 338, 48, -1, -1, -1,
2797 -1, -1, -1, 55, -1, 57, 58, -1, -1, -1,
2798 -1, 4, 5, -1, -1, 8, 9, -1, -1, 71,
2799 -1, 14, -1, -1, -1, -1, 87, -1, 89, 81,
2800 91, -1, -1, -1, -1, -1, -1, 89, -1, 91,
2801 383, -1, 94, 95, 37, -1, 98, -1, -1, -1,
2802 -1, 394, -1, 46, 397, 48, -1, -1, -1, 402,
2803 -1, -1, 55, -1, 57, 58, -1, -1, 854, 855,
2804 856, 12, -1, -1, 860, 136, -1, 138, 71, -1,
2805 -1, -1, -1, -1, -1, 428, -1, 430, 81, 432,
2806 433, 434, -1, -1, -1, 438, -1, -1, 91, -1,
2807 443, 94, 95, 446, 890, 891, 892, -1, -1, -1,
2808 -1, 897, -1, -1, -1, -1, -1, -1, -1, 462,
2809 -1, -1, 63, 64, 65, 66, 67, 68, 69, 70,
2810 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
2811 81, 82, 83, 84, 85, 931, -1, -1, -1, -1,
2812 -1, -1, -1, 1, -1, 3, 4, 5, 6, 7,
2813 8, 9, 10, 11, -1, 13, 14, 15, -1, 17,
2814 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
2815 28, 29, 30, 31, 32, 33, -1, 35, 36, 37,
2816 -1, 39, 40, 41, 42, 43, 44, 983, 46, -1,
2817 -1, -1, 50, 51, 52, 53, 54, 55, 994, 57,
2818 58, 59, -1, 61, 62, -1, -1, -1, -1, -1,
2819 68, -1, -1, 71, -1, -1, -1, -1, -1, 572,
2820 -1, 79, 80, 81, -1, -1, -1, -1, 299, 87,
2821 88, 89, -1, -1, -1, -1, 94, -1, 96, -1,
2822 -1, -1, -1, -1, -1, -1, -1, -1, -1, 602,
2823 -1, -1, -1, 111, 112, 3, 4, 5, 6, -1,
2824 -1, 9, -1, -1, -1, -1, 337, -1, -1, -1,
2825 1066, 4, 5, -1, 7, 8, 9, -1, -1, 12,
2826 34, 14, -1, -1, 637, 638, 639, 640, -1, 1085,
2827 1086, 1087, 1088, 1089, 42, 1091, 29, 1093, 31, 32,
2828 54, -1, -1, -1, 37, -1, -1, 55, -1, 57,
2829 58, -1, -1, 46, 1110, 1111, 1112, -1, -1, -1,
2830 -1, -1, 55, 71, 57, 58, 679, -1, -1, -1,
2831 683, -1, -1, 81, -1, -1, -1, 690, 691, -1,
2832 693, 89, -1, -1, -1, 1141, 94, 418, 419, -1,
2833 1146, -1, 1148, -1, 1, 426, 3, 4, 5, 6,
2834 7, 8, 9, -1, 4, 5, -1, 14, 8, 9,
2835 723, -1, 725, -1, 14, -1, -1, 730, 731, 732,
2836 -1, -1, 29, -1, 31, 32, -1, -1, -1, 29,
2837 37, 31, 146, 147, 148, 42, -1, 37, -1, 46,
2838 1196, 1197, 49, 1199, -1, -1, 46, -1, 55, -1,
2839 57, 58, -1, -1, 61, 55, -1, 57, 58, 490,
2840 491, 175, 176, 177, 71, -1, -1, -1, -1, -1,
2841 -1, -1, -1, -1, 81, -1, -1, -1, -1, -1,
2842 -1, -1, 89, -1, -1, -1, -1, 94, -1, -1,
2843 204, -1, 523, -1, 525, -1, -1, 528, 529, -1,
2844 531, 532, 533, 534, 535, 536, 537, 538, 539, 540,
2845 541, 542, 543, 544, 545, 546, 547, 548, 549, -1,
2846 -1, -1, -1, -1, 555, -1, 557, 558, 69, 70,
2847 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
2848 81, 82, 83, 84, 85, 1301, 1302, 1303, 861, -1,
2849 -1, -1, -1, 584, -1, -1, -1, -1, -1, -1,
2850 591, -1, -1, 1, 278, 3, 4, 5, 6, 7,
2851 8, 9, -1, -1, -1, -1, 14, 890, 891, 892,
2852 611, 612, -1, -1, -1, -1, -1, -1, -1, -1,
2853 -1, 29, -1, 31, 32, 33, -1, -1, -1, 37,
2854 38, -1, -1, -1, 42, -1, -1, -1, 46, 47,
2855 -1, 49, -1, 327, 328, 329, -1, 55, 931, 57,
2856 58, -1, -1, 61, 1380, 63, -1, -1, -1, -1,
2857 -1, -1, -1, 71, -1, 666, -1, -1, -1, -1,
2858 -1, -1, -1, 81, -1, -1, -1, 3, 4, 5,
2859 6, 89, -1, 9, 4, 5, 94, -1, 8, 9,
2860 -1, -1, -1, -1, 14, 1421, 1422, 1423, -1, 383,
2861 -1, -1, -1, 111, -1, -1, -1, -1, -1, -1,
2862 -1, 994, -1, -1, -1, -1, 42, 37, -1, -1,
2863 -1, 722, -1, -1, -1, 1451, 46, -1, 48, 55,
2864 -1, 57, 58, -1, -1, 55, -1, 57, 58, -1,
2865 -1, 742, 743, 744, 428, 71, 430, -1, 432, 433,
2866 434, 71, -1, -1, 438, 81, -1, -1, 759, 443,
2867 -1, 81, 446, 89, -1, -1, -1, -1, 94, -1,
2868 -1, 91, -1, -1, 94, 95, -1, -1, -1, -1,
2869 781, -1, -1, -1, 3, 4, 5, 6, -1, -1,
2870 -1, -1, -1, 3, 4, 5, 6, -1, -1, -1,
2871 -1, -1, 1085, 1086, 1087, 1088, 1089, -1, -1, -1,
2872 1093, -1, -1, -1, -1, -1, -1, 818, 819, -1,
2873 -1, -1, -1, 42, -1, -1, -1, 1110, 1111, 1112,
2874 -1, 832, 42, 834, -1, 836, 55, -1, 57, 58,
2875 -1, -1, -1, -1, 63, 55, -1, 57, 58, -1,
2876 -1, -1, 71, 63, -1, -1, -1, -1, 1141, -1,
2877 -1, 71, 81, 1146, -1, 1148, -1, -1, 869, -1,
2878 89, 81, -1, -1, -1, 94, -1, 561, 879, 89,
2879 -1, -1, -1, -1, 94, -1, -1, -1, 889, -1,
2880 574, 575, -1, 577, 3, 4, 5, 6, -1, -1,
2881 584, 902, -1, -1, -1, -1, -1, -1, -1, -1,
2882 54, -1, 913, 1196, 1197, -1, 1199, -1, 602, -1,
2883 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2884 931, -1, -1, 42, -1, 79, -1, -1, 82, -1,
2885 -1, -1, -1, -1, -1, -1, 55, -1, 57, 58,
2886 -1, -1, -1, 637, -1, 639, 640, -1, 642, 103,
2887 -1, 105, 71, -1, -1, -1, -1, -1, -1, -1,
2888 -1, -1, 81, 974, -1, -1, -1, -1, -1, -1,
2889 89, -1, -1, -1, -1, 94, -1, -1, -1, -1,
2890 -1, -1, -1, -1, -1, 679, 997, -1, -1, -1,
2891 -1, -1, -1, -1, -1, -1, 690, 691, -1, 693,
2892 3, 4, 5, 6, 7, 8, 9, -1, 1301, 1302,
2893 1303, 14, -1, -1, 1025, 1026, -1, -1, 1029, -1,
2894 -1, 175, 176, 177, -1, -1, 29, -1, 31, 32,
2895 -1, 185, -1, -1, 37, -1, 730, 4, -1, 42,
2896 -1, -1, -1, 46, -1, -1, 3, 4, 5, 6,
2897 204, -1, 55, -1, 57, 58, -1, -1, 61, 753,
2898 754, 755, -1, -1, 31, 32, -1, -1, 71, 36,
2899 -1, 765, -1, 227, 41, -1, -1, -1, 81, 3,
2900 4, 5, 6, -1, -1, 42, 89, 1380, 242, 56,
2901 1101, 94, 1103, -1, 1105, -1, -1, 1108, 55, -1,
2902 57, 58, -1, -1, -1, -1, 1117, 1118, -1, -1,
2903 -1, 1122, 1123, -1, 71, -1, -1, -1, 42, -1,
2904 -1, -1, -1, -1, 81, -1, 1137, 1138, 1421, 1422,
2905 1423, 55, 89, 57, 58, -1, -1, 94, -1, -1,
2906 -1, -1, -1, 837, -1, 839, -1, 71, -1, -1,
2907 -1, -1, -1, 1164, -1, 1166, 850, 81, 1451, -1,
2908 854, 855, 856, -1, -1, 89, -1, -1, 135, -1,
2909 94, -1, 139, -1, -1, -1, 143, -1, -1, 333,
2910 334, -1, 1193, -1, -1, -1, -1, -1, -1, -1,
2911 -1, -1, -1, 160, -1, -1, 890, 891, 892, -1,
2912 -1, -1, -1, -1, -1, -1, -1, -1, 175, 176,
2913 -1, -1, 1223, 1, -1, 3, 4, 5, 6, 7,
2914 8, 9, -1, -1, -1, -1, 14, -1, 1239, 383,
2915 -1, -1, -1, -1, -1, -1, -1, 931, -1, -1,
2916 -1, 29, -1, 31, 32, 14, -1, -1, -1, 37,
2917 -1, 1262, -1, -1, 42, 24, 25, -1, 46, 47,
2918 -1, 49, 31, 32, -1, 34, -1, 55, -1, 57,
2919 58, -1, 239, -1, 428, 63, 430, 1288, 432, 433,
2920 434, -1, -1, 71, 438, -1, -1, -1, -1, 443,
2921 -1, -1, 446, 81, -1, 64, -1, -1, -1, 4,
2922 5, 89, 7, 8, 9, -1, 94, -1, -1, 14,
2923 1321, 1322, -1, -1, -1, -1, -1, -1, -1, 1330,
2924 -1, -1, -1, -1, 29, -1, 31, 32, -1, -1,
2925 1341, -1, 37, -1, -1, -1, -1, -1, -1, -1,
2926 -1, 46, -1, -1, 49, -1, 1040, 1041, -1, 1043,
2927 55, -1, 57, 58, 123, -1, 125, -1, -1, 128,
2928 -1, -1, -1, 132, 133, -1, -1, -1, -1, 1380,
2929 139, 338, 141, 142, 143, -1, -1, 146, 147, 148,
2930 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2931 -1, 1085, 1086, 1087, 1088, 1089, -1, -1, -1, 1093,
2932 1411, -1, -1, 3, 4, 5, 6, 7, 8, 9,
2933 -1, -1, 12, -1, 14, -1, 1110, 1111, 1112, -1,
2934 -1, -1, -1, -1, -1, -1, -1, 394, -1, 29,
2935 397, 31, 32, 587, 588, 402, -1, 37, -1, -1,
2936 -1, -1, 42, -1, -1, -1, 46, 1141, 602, 218,
2937 219, -1, -1, -1, -1, 55, -1, 57, 58, -1,
2938 -1, 428, -1, 430, -1, -1, -1, -1, -1, -1,
2939 239, 71, -1, -1, -1, -1, 443, -1, -1, -1,
2940 -1, 81, -1, 637, -1, 639, 640, -1, -1, 89,
2941 -1, -1, -1, -1, 94, 462, -1, -1, -1, -1,
2942 -1, -1, 1196, 1197, -1, 1199, -1, -1, -1, 278,
2943 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
2944 84, 85, 1533, -1, -1, 679, -1, -1, -1, -1,
2945 -1, -1, -1, -1, -1, -1, 690, 691, -1, 693,
2946 -1, -1, 1, -1, 3, 4, 5, 6, 7, 8,
2947 9, -1, -1, -1, -1, 14, 325, -1, 327, 328,
2948 -1, -1, -1, 717, -1, -1, -1, -1, 27, 28,
2949 29, -1, 31, 32, 33, -1, 730, -1, 37, -1,
2950 -1, -1, -1, 42, 353, -1, 45, 46, 47, -1,
2951 49, -1, -1, -1, -1, -1, 55, -1, 57, 58,
2952 -1, -1, 61, -1, -1, 374, -1, 1301, -1, 1303,
2953 -1, -1, 71, 3, 4, 5, 6, 7, 8, 9,
2954 -1, 390, 81, -1, 14, 394, -1, -1, 397, -1,
2955 89, -1, -1, 402, -1, 94, -1, -1, -1, -1,
2956 -1, 100, 32, -1, -1, -1, -1, 37, -1, -1,
2957 -1, -1, 42, -1, -1, -1, 46, -1, 48, -1,
2958 -1, -1, -1, -1, -1, 55, -1, 57, 58, -1,
2959 -1, 638, -1, -1, -1, -1, -1, -1, -1, -1,
2960 -1, 71, -1, -1, -1, -1, 1380, -1, -1, -1,
2961 459, 81, 461, -1, -1, -1, -1, -1, -1, 89,
2962 -1, 91, -1, -1, 94, 95, 860, 861, 862, -1,
2963 -1, -1, -1, -1, -1, -1, 683, -1, 487, -1,
2964 -1, -1, -1, 690, 691, -1, 693, 1421, 1422, 1423,
2965 -1, -1, -1, -1, -1, -1, 890, 891, 892, -1,
2966 -1, -1, -1, 897, -1, -1, -1, -1, -1, -1,
2967 -1, -1, -1, -1, -1, -1, 723, 1451, 725, -1,
2968 -1, -1, -1, 730, 731, 732, -1, -1, -1, -1,
2969 -1, -1, -1, -1, -1, -1, -1, 931, -1, -1,
2970 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
2971 74, 75, 561, 77, 78, 79, 80, 81, 82, 83,
2972 84, 85, 571, 572, -1, 574, 575, -1, -1, -1,
2973 -1, -1, -1, -1, 1, -1, 3, 4, 5, 6,
2974 -1, 8, 9, 10, 11, -1, 13, 14, -1, 983,
2975 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2976 -1, -1, 29, 30, 31, -1, 33, -1, 35, 36,
2977 37, -1, 39, 40, 41, 42, 43, 44, -1, 46,
2978 629, -1, -1, 50, 51, 52, 53, 54, 55, -1,
2979 57, 58, 641, -1, -1, 62, 63, -1, -1, -1,
2980 -1, 68, -1, -1, 71, -1, -1, -1, -1, -1,
2981 659, -1, 79, 80, 81, -1, -1, -1, -1, -1,
2982 87, 88, 89, -1, -1, -1, -1, 94, -1, -1,
2983 -1, -1, 1066, -1, -1, -1, -1, -1, -1, -1,
2984 -1, -1, -1, 890, 891, 112, -1, 32, -1, -1,
2985 -1, 1085, 1086, 1087, 1088, 1089, -1, 1091, -1, 1093,
2986 -1, -1, -1, -1, -1, -1, -1, -1, 717, -1,
2987 -1, 720, -1, -1, -1, -1, 1110, 1111, 1112, 64,
2988 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
2989 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
2990 85, -1, -1, -1, 753, 754, 755, 1141, -1, -1,
2991 -1, -1, -1, 60, -1, -1, 765, 64, 65, 66,
2992 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
2993 77, 78, 79, 80, 81, 82, 83, 84, 85, -1,
2994 -1, -1, -1, -1, -1, -1, -1, 994, 73, 74,
2995 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
2996 85, -1, 1196, 1197, 1, 1199, 3, 4, 5, 6,
2997 7, 8, 9, 10, 11, 12, 13, 14, -1, -1,
2998 -1, -1, -1, -1, -1, -1, -1, -1, 837, -1,
2999 839, -1, 29, 30, 31, 32, 33, -1, 35, 36,
3000 37, 850, 39, 40, 41, 42, 43, 44, -1, 46,
3001 -1, 48, -1, 50, 51, 52, 53, 54, 55, -1,
3002 57, 58, 59, -1, -1, 62, -1, -1, -1, -1,
3003 -1, 68, -1, -1, 71, -1, -1, -1, 1085, 1086,
3004 -1, -1, 79, 80, 81, -1, 1093, -1, -1, -1,
3005 87, 88, 89, -1, 91, -1, -1, 94, 95, -1,
3006 -1, 98, -1, -1, -1, -1, -1, 1301, -1, 1303,
3007 -1, -1, -1, -1, -1, 112, -1, 3, 4, 5,
3008 6, 7, 8, 9, 10, 11, 12, 13, 14, -1,
3009 -1, -1, -1, -1, 1141, -1, -1, -1, -1, 1146,
3010 -1, 1148, -1, 29, 30, 31, 32, 33, 957, 35,
3011 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3012 46, -1, 48, -1, 50, 51, 52, 53, 54, 55,
3013 -1, 57, 58, -1, -1, 984, 62, -1, -1, -1,
3014 -1, -1, 68, -1, -1, 71, 1380, -1, -1, 1196,
3015 1197, -1, 1199, 79, 80, 81, -1, -1, -1, -1,
3016 -1, 87, 88, 89, -1, 91, -1, -1, 94, 95,
3017 -1, -1, 98, -1, -1, -1, -1, -1, -1, -1,
3018 -1, -1, -1, -1, -1, -1, 112, 1421, 1422, 1423,
3019 -1, 1040, 1041, -1, 1043, -1, -1, -1, -1, 3,
3020 4, 5, 6, 7, 8, 9, -1, -1, -1, -1,
3021 14, -1, -1, -1, -1, -1, -1, 1451, -1, -1,
3022 -1, -1, -1, -1, -1, 29, -1, 31, 32, -1,
3023 -1, -1, -1, 37, -1, -1, -1, -1, 42, -1,
3024 -1, -1, 46, -1, 48, -1, -1, -1, -1, -1,
3025 1099, 55, -1, 57, 58, 1302, -1, 1, -1, 3,
3026 4, 5, 6, 7, 8, 9, -1, 71, 12, -1,
3027 14, -1, -1, -1, -1, -1, -1, 81, 1127, -1,
3028 -1, 25, -1, 27, 28, 89, -1, 91, 32, -1,
3029 94, 95, -1, 37, -1, 1144, -1, 1146, 42, -1,
3030 -1, -1, 46, -1, 48, -1, -1, -1, -1, -1,
3031 -1, 55, -1, 57, 58, 59, 60, 61, -1, 63,
3032 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
3033 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
3034 84, 85, -1, 87, 88, 89, -1, 91, 92, 93,
3035 94, 95, 96, -1, 98, 99, -1, -1, -1, -1,
3036 104, -1, -1, -1, -1, 109, 110, 111, 1, 113,
3037 3, 4, 5, 6, 7, 8, 9, 10, 11, -1,
3038 13, 14, 15, -1, 17, 18, 19, 20, 21, 22,
3039 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
3040 33, -1, 35, 36, 37, -1, 39, 40, 41, 42,
3041 43, 44, -1, 46, -1, -1, -1, 50, 51, 52,
3042 53, 54, 55, -1, 57, 58, 59, -1, 61, 62,
3043 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3044 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3045 -1, -1, -1, -1, 87, 88, 89, -1, -1, -1,
3046 -1, 94, 1, 96, 3, 4, 5, 6, 7, 8,
3047 9, 10, 11, 12, 13, 14, -1, -1, -1, 112,
3048 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3049 29, 30, 31, 32, 33, -1, 35, 36, 37, -1,
3050 39, 40, 41, 42, 43, 44, -1, 46, -1, 48,
3051 -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
3052 59, -1, -1, 62, -1, -1, -1, -1, -1, 68,
3053 -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
3054 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
3055 89, -1, 91, -1, -1, 94, 95, -1, 1, 98,
3056 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
3057 13, 14, -1, 112, -1, -1, -1, -1, -1, -1,
3058 -1, -1, -1, -1, -1, -1, 29, 30, 31, 32,
3059 33, -1, 35, 36, 37, -1, 39, 40, 41, 42,
3060 43, 44, -1, 46, -1, -1, -1, 50, 51, 52,
3061 53, 54, 55, -1, 57, 58, -1, -1, -1, 62,
3062 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3063 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3064 -1, -1, -1, -1, 87, 88, 89, -1, -1, -1,
3065 -1, 94, -1, -1, -1, 98, -1, -1, -1, -1,
3066 -1, -1, -1, -1, -1, -1, -1, 110, 1, 112,
3067 3, 4, 5, 6, 7, 8, 9, 10, 11, -1,
3068 13, 14, -1, -1, -1, -1, -1, -1, -1, -1,
3069 -1, -1, -1, -1, -1, -1, 29, 30, 31, 32,
3070 33, -1, 35, 36, 37, -1, 39, 40, 41, 42,
3071 43, 44, -1, 46, -1, -1, -1, 50, 51, 52,
3072 53, 54, 55, -1, 57, 58, 59, -1, 61, 62,
3073 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3074 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3075 -1, -1, -1, -1, 87, 88, 89, -1, -1, -1,
3076 1, 94, 3, 4, 5, 6, -1, 8, 9, 10,
3077 11, -1, 13, 14, -1, -1, -1, -1, -1, 112,
3078 -1, -1, -1, -1, -1, -1, -1, -1, 29, 30,
3079 31, -1, 33, -1, 35, 36, 37, -1, 39, 40,
3080 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
3081 51, 52, 53, 54, 55, -1, 57, 58, 59, -1,
3082 -1, 62, -1, -1, -1, -1, -1, 68, -1, -1,
3083 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3084 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
3085 -1, -1, -1, 94, 95, 1, -1, 3, 4, 5,
3086 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3087 111, 112, -1, -1, -1, 21, -1, -1, -1, -1,
3088 -1, -1, -1, 29, 30, 31, -1, 33, -1, 35,
3089 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3090 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3091 -1, 57, 58, 59, -1, -1, 62, -1, -1, -1,
3092 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3093 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3094 -1, 87, 88, 89, -1, -1, -1, 1, 94, 3,
3095 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3096 14, -1, -1, -1, -1, 111, 112, 21, -1, -1,
3097 -1, -1, -1, -1, -1, 29, 30, 31, -1, 33,
3098 -1, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3099 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
3100 54, 55, -1, 57, 58, 59, -1, -1, 62, -1,
3101 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3102 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3103 -1, -1, -1, 87, 88, 89, -1, -1, -1, 1,
3104 94, 3, 4, 5, 6, -1, 8, 9, 10, 11,
3105 -1, 13, 14, -1, -1, -1, -1, 111, 112, -1,
3106 -1, -1, -1, -1, -1, -1, -1, 29, 30, 31,
3107 -1, 33, -1, 35, 36, 37, -1, 39, 40, 41,
3108 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3109 52, 53, 54, 55, -1, 57, 58, 59, -1, -1,
3110 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3111 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3112 -1, -1, -1, -1, -1, 87, 88, 89, -1, -1,
3113 -1, -1, 94, 95, 1, -1, 3, 4, 5, 6,
3114 -1, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3115 112, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3116 -1, -1, 29, 30, 31, -1, 33, -1, 35, 36,
3117 37, -1, 39, 40, 41, 42, 43, 44, -1, 46,
3118 -1, -1, -1, 50, 51, 52, 53, 54, 55, -1,
3119 57, 58, 59, -1, -1, 62, -1, -1, -1, -1,
3120 -1, 68, -1, -1, 71, -1, -1, -1, -1, -1,
3121 -1, -1, 79, 80, 81, -1, -1, -1, -1, -1,
3122 87, 88, 89, -1, -1, -1, -1, 94, -1, -1,
3123 1, -1, 3, 4, 5, 6, 103, 8, 9, 10,
3124 11, -1, 13, 14, -1, 112, -1, -1, -1, -1,
3125 -1, -1, -1, -1, -1, -1, -1, -1, 29, 30,
3126 31, -1, 33, -1, 35, 36, 37, -1, 39, 40,
3127 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
3128 51, 52, 53, 54, 55, -1, 57, 58, 59, -1,
3129 -1, 62, -1, -1, -1, -1, -1, 68, -1, -1,
3130 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3131 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
3132 -1, -1, 1, 94, 3, 4, 5, 6, -1, 8,
3133 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3134 -1, 112, -1, -1, -1, -1, -1, -1, -1, -1,
3135 29, 30, 31, -1, 33, -1, 35, 36, 37, -1,
3136 39, 40, 41, 42, 43, 44, -1, 46, -1, -1,
3137 -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
3138 59, -1, -1, 62, -1, -1, -1, -1, -1, 68,
3139 -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
3140 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
3141 89, -1, -1, -1, 1, 94, 3, 4, 5, 6,
3142 -1, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3143 -1, -1, -1, 112, -1, -1, -1, -1, -1, -1,
3144 -1, -1, 29, 30, 31, -1, 33, -1, 35, 36,
3145 37, -1, 39, 40, 41, 42, 43, 44, -1, 46,
3146 -1, -1, -1, 50, 51, 52, 53, 54, 55, -1,
3147 57, 58, 59, -1, -1, 62, -1, -1, -1, -1,
3148 -1, 68, -1, -1, 71, -1, -1, -1, -1, -1,
3149 -1, -1, 79, 80, 81, -1, -1, -1, -1, -1,
3150 87, 88, 89, -1, -1, -1, 1, 94, 3, 4,
3151 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3152 -1, -1, -1, -1, -1, 112, -1, -1, -1, -1,
3153 -1, -1, -1, -1, 29, 30, 31, -1, 33, -1,
3154 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3155 -1, 46, -1, -1, -1, 50, 51, 52, 53, 54,
3156 55, -1, 57, 58, -1, -1, 61, 62, -1, -1,
3157 -1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
3158 -1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
3159 -1, -1, 87, 88, 89, -1, -1, -1, 1, 94,
3160 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3161 13, 14, -1, -1, -1, -1, -1, 112, -1, -1,
3162 -1, -1, -1, -1, -1, -1, 29, 30, 31, -1,
3163 33, -1, 35, 36, 37, -1, 39, 40, 41, 42,
3164 43, 44, -1, 46, -1, -1, -1, 50, 51, 52,
3165 53, 54, 55, -1, 57, 58, -1, -1, -1, 62,
3166 -1, -1, -1, -1, -1, 68, 1, -1, 71, 4,
3167 5, -1, -1, 8, 9, -1, 79, 80, 81, 14,
3168 -1, -1, -1, -1, 87, 88, 89, -1, -1, -1,
3169 -1, 94, -1, -1, 29, -1, 31, -1, -1, -1,
3170 -1, -1, 37, -1, 39, 40, -1, 110, -1, 112,
3171 -1, 46, -1, 48, -1, -1, -1, -1, -1, -1,
3172 55, -1, 57, 58, -1, 60, -1, -1, -1, 64,
3173 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
3174 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
3175 -1, -1, 87, 88, 89, -1, -1, 92, -1, 1,
3176 95, 3, 4, 5, 6, -1, 8, 9, 10, 11,
3177 -1, 13, 14, -1, -1, -1, -1, 112, -1, -1,
3178 -1, -1, -1, -1, -1, -1, -1, 29, 30, 31,
3179 -1, 33, -1, 35, 36, 37, -1, 39, 40, 41,
3180 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3181 52, 53, 54, 55, -1, 57, 58, -1, -1, -1,
3182 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3183 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3184 -1, -1, -1, -1, -1, 87, 88, 89, -1, -1,
3185 -1, 1, 94, 3, 4, 5, 6, -1, 8, 9,
3186 10, 11, -1, 13, 14, -1, -1, -1, -1, -1,
3187 112, -1, -1, -1, -1, -1, -1, -1, -1, 29,
3188 30, 31, -1, 33, -1, 35, 36, 37, -1, 39,
3189 40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
3190 50, 51, 52, 53, 54, 55, -1, 57, 58, -1,
3191 -1, -1, 62, -1, -1, -1, -1, -1, 68, -1,
3192 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3193 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3194 -1, -1, -1, 1, 94, 3, 4, 5, 6, -1,
3195 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3196 -1, -1, 112, -1, -1, -1, -1, -1, -1, -1,
3197 -1, 29, 30, 31, -1, 33, -1, 35, 36, 37,
3198 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3199 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3200 58, -1, -1, -1, 62, -1, -1, -1, -1, -1,
3201 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3202 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3203 88, 89, 3, 4, 5, 6, 94, 8, 9, 10,
3204 11, -1, 13, 14, -1, -1, -1, -1, -1, -1,
3205 -1, -1, -1, -1, 112, -1, -1, -1, 29, 30,
3206 31, -1, 33, -1, 35, 36, 37, -1, 39, 40,
3207 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
3208 51, 52, 53, 54, 55, -1, 57, 58, -1, -1,
3209 -1, 62, -1, -1, -1, -1, -1, 68, -1, -1,
3210 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3211 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
3212 -1, -1, -1, 94, 70, 71, 72, 73, 74, 75,
3213 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
3214 -1, 112, 113, 3, 4, 5, 6, 7, 8, 9,
3215 10, 11, -1, 13, 14, 15, -1, 17, 18, 19,
3216 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
3217 30, 31, 32, 33, -1, 35, 36, 37, -1, 39,
3218 40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
3219 50, 51, 52, 53, 54, 55, -1, 57, 58, 59,
3220 -1, 61, 62, -1, -1, -1, -1, -1, 68, -1,
3221 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3222 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3223 -1, -1, -1, -1, 94, -1, 96, -1, -1, -1,
3224 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3225 -1, 111, 112, 3, 4, 5, 6, 7, 8, 9,
3226 10, 11, -1, 13, 14, 15, -1, 17, 18, 19,
3227 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
3228 30, 31, 32, 33, -1, 35, 36, 37, -1, 39,
3229 40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
3230 50, 51, 52, 53, 54, 55, -1, 57, 58, 59,
3231 -1, 61, 62, -1, -1, -1, -1, -1, 68, -1,
3232 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3233 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3234 -1, -1, -1, -1, 94, -1, 96, -1, -1, 3,
3235 4, 5, 6, 7, 8, 9, 10, 11, -1, 13,
3236 14, 15, 112, 17, 18, 19, 20, 21, 22, 23,
3237 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
3238 -1, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3239 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
3240 54, 55, -1, 57, 58, 59, -1, 61, 62, -1,
3241 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3242 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3243 -1, -1, -1, 87, 88, 89, -1, -1, -1, -1,
3244 94, -1, 96, -1, -1, 3, 4, 5, 6, 7,
3245 8, 9, 10, 11, -1, 13, 14, 15, 112, 17,
3246 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
3247 28, 29, 30, 31, 32, 33, -1, 35, 36, 37,
3248 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3249 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3250 58, -1, -1, 61, 62, -1, -1, -1, -1, -1,
3251 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3252 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3253 88, 89, -1, -1, -1, -1, 94, -1, 96, 3,
3254 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
3255 14, -1, -1, -1, 112, -1, -1, -1, -1, -1,
3256 -1, -1, -1, -1, -1, 29, 30, 31, 32, 33,
3257 -1, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3258 44, -1, 46, -1, 48, -1, 50, 51, 52, 53,
3259 54, 55, -1, 57, 58, -1, -1, -1, 62, -1,
3260 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3261 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3262 -1, -1, -1, 87, 88, 89, -1, 91, -1, -1,
3263 94, 95, -1, -1, 98, 3, 4, 5, 6, -1,
3264 8, 9, 10, 11, -1, 13, 14, -1, 112, -1,
3265 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3266 -1, 29, 30, 31, -1, 33, -1, 35, 36, 37,
3267 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3268 48, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3269 58, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3270 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3271 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3272 88, 89, -1, 91, -1, -1, 94, 95, 3, 4,
3273 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3274 -1, -1, -1, -1, 112, -1, -1, -1, -1, -1,
3275 -1, -1, -1, -1, 29, 30, 31, -1, 33, -1,
3276 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3277 -1, 46, -1, 48, -1, 50, 51, 52, 53, 54,
3278 55, -1, 57, 58, -1, -1, -1, -1, -1, -1,
3279 -1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
3280 -1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
3281 -1, -1, 87, 88, 89, -1, 91, -1, -1, 94,
3282 95, 3, 4, 5, 6, -1, 8, 9, 10, 11,
3283 -1, 13, 14, -1, -1, -1, -1, 112, -1, -1,
3284 -1, -1, -1, -1, -1, -1, -1, 29, 30, 31,
3285 -1, 33, -1, 35, 36, 37, -1, 39, 40, 41,
3286 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3287 52, 53, 54, 55, -1, 57, 58, -1, -1, 61,
3288 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3289 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3290 -1, -1, -1, -1, -1, 87, 88, 89, -1, -1,
3291 -1, -1, 94, 3, 4, 5, 6, 7, 8, 9,
3292 10, 11, -1, 13, 14, -1, -1, -1, -1, -1,
3293 112, -1, -1, -1, -1, -1, -1, -1, -1, 29,
3294 30, 31, 32, 33, -1, 35, 36, 37, -1, 39,
3295 40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
3296 50, 51, 52, 53, 54, 55, -1, 57, 58, -1,
3297 -1, -1, -1, -1, -1, -1, -1, -1, 68, -1,
3298 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3299 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3300 3, 4, 5, 6, 94, 8, 9, 10, 11, -1,
3301 13, 14, -1, -1, -1, -1, -1, -1, -1, -1,
3302 -1, -1, 112, -1, -1, -1, 29, 30, 31, -1,
3303 33, -1, 35, 36, 37, -1, 39, 40, 41, 42,
3304 43, 44, -1, 46, -1, -1, -1, 50, 51, 52,
3305 53, 54, 55, -1, 57, 58, -1, -1, -1, 62,
3306 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3307 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3308 -1, -1, -1, -1, 87, 88, 89, 3, 4, 5,
3309 6, 94, 8, 9, 10, 11, -1, 13, 14, -1,
3310 -1, -1, -1, -1, -1, -1, -1, -1, -1, 112,
3311 -1, -1, -1, 29, 30, 31, -1, 33, -1, 35,
3312 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3313 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3314 -1, 57, 58, -1, -1, -1, 62, -1, -1, -1,
3315 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3316 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3317 -1, 87, 88, 89, 3, 4, 5, 6, 94, 8,
3318 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3319 -1, -1, -1, -1, -1, -1, 112, -1, -1, -1,
3320 29, 30, 31, -1, 33, -1, 35, 36, 37, -1,
3321 39, 40, 41, 42, 43, 44, -1, 46, -1, -1,
3322 -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
3323 59, -1, -1, -1, -1, -1, -1, -1, -1, 68,
3324 -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
3325 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
3326 89, 3, 4, 5, 6, 94, 8, 9, 10, 11,
3327 -1, 13, 14, -1, -1, -1, -1, -1, -1, -1,
3328 -1, -1, -1, 112, -1, -1, -1, 29, 30, 31,
3329 -1, 33, -1, 35, 36, 37, -1, 39, 40, 41,
3330 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3331 52, 53, 54, 55, -1, 57, 58, -1, -1, -1,
3332 -1, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3333 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3334 -1, -1, -1, -1, -1, 87, 88, 89, -1, -1,
3335 -1, -1, 94, 95, 3, 4, 5, 6, -1, 8,
3336 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3337 112, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3338 29, 30, 31, -1, 33, -1, 35, 36, 37, -1,
3339 39, 40, 41, 42, 43, 44, -1, 46, -1, -1,
3340 -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
3341 -1, -1, -1, 62, -1, -1, -1, -1, -1, 68,
3342 -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
3343 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
3344 89, 3, 4, 5, 6, 94, 8, 9, 10, 11,
3345 -1, 13, 14, -1, -1, -1, -1, -1, -1, -1,
3346 -1, -1, -1, 112, -1, -1, -1, 29, 30, 31,
3347 -1, 33, -1, 35, 36, 37, -1, 39, 40, 41,
3348 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3349 52, 53, 54, 55, -1, 57, 58, -1, -1, -1,
3350 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3351 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3352 -1, -1, -1, -1, -1, 87, 88, 89, 3, 4,
3353 5, 6, 94, 8, 9, 10, 11, -1, 13, 14,
3354 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3355 112, -1, -1, -1, 29, 30, 31, -1, 33, -1,
3356 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3357 -1, 46, -1, -1, -1, 50, 51, 52, 53, 54,
3358 55, -1, 57, 58, -1, -1, -1, 62, -1, -1,
3359 -1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
3360 -1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
3361 -1, -1, 87, 88, 89, 3, 4, 5, 6, 94,
3362 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3363 -1, -1, -1, -1, -1, -1, -1, 112, -1, -1,
3364 -1, 29, 30, 31, -1, 33, -1, 35, 36, 37,
3365 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3366 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3367 58, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3368 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3369 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3370 88, 89, 3, 4, 5, 6, 94, 8, 9, 10,
3371 11, -1, 13, 14, -1, -1, -1, -1, -1, -1,
3372 -1, -1, -1, -1, 112, -1, -1, -1, 29, 30,
3373 31, -1, 33, -1, 35, 36, 37, -1, 39, 40,
3374 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
3375 51, 52, 53, 54, 55, -1, 57, 58, -1, -1,
3376 -1, -1, -1, -1, -1, -1, -1, 68, -1, -1,
3377 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3378 81, -1, -1, -1, -1, -1, 87, 88, 89, 3,
3379 4, 5, 6, 94, 8, 9, 10, 11, -1, 13,
3380 14, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3381 -1, 112, -1, -1, -1, 29, 30, 31, -1, 33,
3382 -1, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3383 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
3384 54, 55, -1, 57, 58, -1, -1, -1, -1, -1,
3385 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3386 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3387 -1, -1, -1, 87, 88, 89, 3, 4, 5, 6,
3388 94, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3389 -1, -1, -1, -1, -1, -1, -1, -1, 112, -1,
3390 -1, -1, 29, 30, 31, -1, 33, -1, 35, 36,
3391 37, -1, 39, 40, 41, 42, 43, 44, -1, 46,
3392 -1, -1, -1, 50, 51, 52, 53, 54, 55, -1,
3393 57, 58, -1, -1, -1, -1, -1, -1, -1, -1,
3394 -1, 68, -1, -1, 71, -1, -1, -1, -1, -1,
3395 -1, -1, 79, 80, 81, -1, -1, -1, -1, -1,
3396 87, 88, 89, 3, 4, 5, 6, 94, 8, 9,
3397 10, 11, -1, 13, 14, -1, -1, -1, -1, -1,
3398 -1, -1, -1, -1, -1, 112, -1, -1, -1, 29,
3399 30, 31, -1, 33, -1, 35, 36, 37, -1, 39,
3400 40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
3401 50, 51, 52, 53, 54, 55, -1, 57, 58, -1,
3402 -1, -1, -1, -1, -1, -1, -1, -1, 68, -1,
3403 1, 71, 3, 4, 5, 6, 7, 8, 9, 79,
3404 80, 81, -1, 14, -1, -1, -1, 87, 88, 89,
3405 -1, -1, -1, -1, 94, -1, 27, 28, 29, -1,
3406 31, 32, 33, -1, -1, -1, 37, -1, -1, -1,
3407 -1, 42, 112, -1, 45, 46, 47, -1, 49, -1,
3408 -1, -1, -1, -1, 55, -1, 57, 58, -1, 1,
3409 61, 3, 4, 5, 6, 7, 8, 9, -1, -1,
3410 71, -1, 14, -1, -1, -1, -1, -1, -1, -1,
3411 81, -1, -1, -1, -1, -1, -1, 29, 89, 31,
3412 32, 33, -1, 94, -1, 37, -1, -1, -1, 100,
3413 42, -1, -1, -1, 46, 47, -1, 49, -1, -1,
3414 -1, -1, -1, 55, -1, 57, 58, -1, -1, 61,
3415 -1, 63, 3, 4, 5, 6, 7, 8, 9, 71,
3416 -1, -1, -1, 14, -1, -1, -1, -1, -1, 81,
3417 -1, -1, -1, -1, -1, -1, -1, 89, 29, -1,
3418 31, 32, 94, -1, -1, -1, 37, -1, -1, -1,
3419 -1, 42, -1, -1, -1, 46, -1, 3, 4, 5,
3420 6, 7, 8, 9, 55, -1, 57, 58, 14, -1,
3421 -1, -1, 63, -1, -1, -1, -1, -1, -1, -1,
3422 71, -1, -1, 29, -1, 31, 32, -1, -1, -1,
3423 81, 37, -1, -1, -1, -1, 42, -1, 89, -1,
3424 46, -1, -1, 94, -1, -1, -1, -1, -1, 55,
3425 -1, 57, 58, 3, 4, 5, 6, 7, 8, 9,
3426 -1, -1, -1, -1, 14, 71, -1, -1, -1, -1,
3427 -1, -1, -1, -1, -1, 81, -1, -1, -1, 29,
3428 -1, 31, 32, 89, -1, -1, -1, 37, 94, -1,
3429 -1, -1, 42, -1, -1, -1, 46, -1, 3, 4,
3430 5, 6, 7, 8, 9, 55, -1, 57, 58, 14,
3431 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3432 -1, 71, -1, -1, -1, -1, -1, 32, -1, -1,
3433 -1, 81, 37, -1, -1, -1, -1, 42, -1, 89,
3434 -1, 46, -1, 48, 94, -1, -1, -1, -1, -1,
3435 55, -1, 57, 58, -1, -1, -1, -1, -1, -1,
3436 -1, -1, -1, -1, -1, -1, 71, -1, -1, -1,
3437 -1, -1, -1, -1, -1, -1, 81, -1, -1, -1,
3438 -1, -1, -1, -1, 89, -1, -1, -1, -1, 94,
3439 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
3440 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
3441 84, 85, 64, 65, 66, 67, 68, 69, 70, 71,
3442 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
3443 82, 83, 84, 85, -1, -1, -1, -1, -1, 113,
3444 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
3445 81, 82, 83, 84, 85, -1, -1, 109, 63, 64,
3446 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
3447 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
3448 85, 63, 64, 65, 66, 67, 68, 69, 70, 71,
3449 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
3450 82, 83, 84, 85, 64, 65, 66, 67, 68, 69,
3451 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
3452 80, 81, 82, 83, 84, 85, 68, 69, 70, 71,
3453 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
3456 /* -*-C-*- Note some compilers choke on comments on `#line' lines. */
3457 #line 3 "/usr/lib/bison.simple"
3459 /* Skeleton output parser for bison,
3460 Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
3462 This program is free software; you can redistribute it and/or modify
3463 it under the terms of the GNU General Public License as published by
3464 the Free Software Foundation; either version 2, or (at your option)
3467 This program is distributed in the hope that it will be useful,
3468 but WITHOUT ANY WARRANTY; without even the implied warranty of
3469 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3470 GNU General Public License for more details.
3472 You should have received a copy of the GNU General Public License
3473 along with this program; if not, write to the Free Software
3474 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
3476 /* As a special exception, when this file is copied by Bison into a
3477 Bison output file, you may use that output file without restriction.
3478 This special exception was added by the Free Software Foundation
3479 in version 1.24 of Bison. */
3483 #define alloca __builtin_alloca
3484 #else /* not GNU C. */
3485 #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi)
3487 #else /* not sparc */
3488 #if defined (MSDOS) && !defined (__TURBOC__)
3490 #else /* not MSDOS, or __TURBOC__ */
3494 #else /* not MSDOS, __TURBOC__, or _AIX */
3498 void *alloca (unsigned int);
3500 #else /* not __cplusplus */
3502 #endif /* not __cplusplus */
3504 #endif /* not _AIX */
3505 #endif /* not MSDOS, or __TURBOC__ */
3506 #endif /* not sparc. */
3507 #endif /* not GNU C. */
3508 #endif /* alloca not defined. */
3510 /* This is the parser code that is written into each bison parser
3511 when the %semantic_parser declaration is not specified in the grammar.
3512 It was written by Richard Stallman by simplifying the hairy parser
3513 used when %semantic_parser is specified. */
3515 /* Note: there must be only one dollar sign in this file.
3516 It is replaced by the list of actions, each action
3517 as one case of the switch. */
3519 #define yyerrok (yyerrstatus = 0)
3520 #define yyclearin (yychar = YYEMPTY)
3523 #define YYACCEPT return(0)
3524 #define YYABORT return(1)
3525 #define YYERROR goto yyerrlab1
3526 /* Like YYERROR except do call yyerror.
3527 This remains here temporarily to ease the
3528 transition to the new meaning of YYERROR, for GCC.
3529 Once GCC version 2 has supplanted version 1, this can go. */
3530 #define YYFAIL goto yyerrlab
3531 #define YYRECOVERING() (!!yyerrstatus)
3532 #define YYBACKUP(token, value) \
3534 if (yychar == YYEMPTY && yylen == 1) \
3535 { yychar = (token), yylval = (value); \
3536 yychar1 = YYTRANSLATE (yychar); \
3541 { yyerror ("syntax error: cannot back up"); YYERROR; } \
3545 #define YYERRCODE 256
3548 #define YYLEX yylex()
3554 #define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM)
3556 #define YYLEX yylex(&yylval, &yylloc)
3558 #else /* not YYLSP_NEEDED */
3560 #define YYLEX yylex(&yylval, YYLEX_PARAM)
3562 #define YYLEX yylex(&yylval)
3564 #endif /* not YYLSP_NEEDED */
3567 /* If nonreentrant, generate the variables here */
3571 int yychar
; /* the lookahead symbol */
3572 YYSTYPE yylval
; /* the semantic value of the */
3573 /* lookahead symbol */
3576 YYLTYPE yylloc
; /* location data for the lookahead */
3580 int yynerrs
; /* number of parse errors so far */
3581 #endif /* not YYPURE */
3584 int yydebug
; /* nonzero means print parse trace */
3585 /* Since this is uninitialized, it does not stop multiple parsers
3589 /* YYINITDEPTH indicates the initial size of the parser's stacks */
3592 #define YYINITDEPTH 200
3595 /* YYMAXDEPTH is the maximum size the stacks can grow to
3596 (effective only if the built-in stack extension method is used). */
3603 #define YYMAXDEPTH 10000
3606 /* Prevent warning if -Wstrict-prototypes. */
3611 #if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
3612 #define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT)
3613 #else /* not GNU C or C++ */
3616 /* This is the most reliable way to avoid incompatibilities
3617 in available built-in functions on various systems. */
3619 __yy_memcpy (to
, from
, count
)
3624 register char *f
= from
;
3625 register char *t
= to
;
3626 register int i
= count
;
3632 #else /* __cplusplus */
3634 /* This is the most reliable way to avoid incompatibilities
3635 in available built-in functions on various systems. */
3637 __yy_memcpy (char *to
, char *from
, int count
)
3639 register char *f
= from
;
3640 register char *t
= to
;
3641 register int i
= count
;
3650 #line 196 "/usr/lib/bison.simple"
3652 /* The user can define YYPARSE_PARAM as the name of an argument to be passed
3653 into yyparse. The argument should have type void *.
3654 It should actually point to an object.
3655 Grammar actions can access the variable by casting it
3656 to the proper pointer type. */
3658 #ifdef YYPARSE_PARAM
3660 #define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
3661 #define YYPARSE_PARAM_DECL
3662 #else /* not __cplusplus */
3663 #define YYPARSE_PARAM_ARG YYPARSE_PARAM
3664 #define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
3665 #endif /* not __cplusplus */
3666 #else /* not YYPARSE_PARAM */
3667 #define YYPARSE_PARAM_ARG
3668 #define YYPARSE_PARAM_DECL
3669 #endif /* not YYPARSE_PARAM */
3672 yyparse(YYPARSE_PARAM_ARG
)
3675 register int yystate
;
3677 register short *yyssp
;
3678 register YYSTYPE
*yyvsp
;
3679 int yyerrstatus
; /* number of tokens to shift before error messages enabled */
3680 int yychar1
= 0; /* lookahead token as an internal (translated) token number */
3682 short yyssa
[YYINITDEPTH
]; /* the state stack */
3683 YYSTYPE yyvsa
[YYINITDEPTH
]; /* the semantic value stack */
3685 short *yyss
= yyssa
; /* refer to the stacks thru separate pointers */
3686 YYSTYPE
*yyvs
= yyvsa
; /* to allow yyoverflow to reallocate them elsewhere */
3689 YYLTYPE yylsa
[YYINITDEPTH
]; /* the location stack */
3690 YYLTYPE
*yyls
= yylsa
;
3693 #define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
3695 #define YYPOPSTACK (yyvsp--, yyssp--)
3698 int yystacksize
= YYINITDEPTH
;
3709 YYSTYPE yyval
; /* the variable used to return */
3710 /* semantic values from the action */
3717 fprintf(stderr
, "Starting parse\n");
3723 yychar
= YYEMPTY
; /* Cause a token to be read. */
3725 /* Initialize stack pointers.
3726 Waste one element of value and location stack
3727 so that they stay on the same level as the state stack.
3728 The wasted elements are never initialized. */
3736 /* Push a new state, which is found in yystate . */
3737 /* In all cases, when you get here, the value and location stacks
3738 have just been pushed. so pushing a state here evens the stacks. */
3743 if (yyssp
>= yyss
+ yystacksize
- 1)
3745 /* Give user a chance to reallocate the stack */
3746 /* Use copies of these so that the &'s don't force the real ones into memory. */
3747 YYSTYPE
*yyvs1
= yyvs
;
3748 short *yyss1
= yyss
;
3750 YYLTYPE
*yyls1
= yyls
;
3753 /* Get the current used size of the three stacks, in elements. */
3754 int size
= yyssp
- yyss
+ 1;
3757 /* Each stack pointer address is followed by the size of
3758 the data in use in that stack, in bytes. */
3760 /* This used to be a conditional around just the two extra args,
3761 but that might be undefined if yyoverflow is a macro. */
3762 yyoverflow("parser stack overflow",
3763 &yyss1
, size
* sizeof (*yyssp
),
3764 &yyvs1
, size
* sizeof (*yyvsp
),
3765 &yyls1
, size
* sizeof (*yylsp
),
3768 yyoverflow("parser stack overflow",
3769 &yyss1
, size
* sizeof (*yyssp
),
3770 &yyvs1
, size
* sizeof (*yyvsp
),
3774 yyss
= yyss1
; yyvs
= yyvs1
;
3778 #else /* no yyoverflow */
3779 /* Extend the stack our own way. */
3780 if (yystacksize
>= YYMAXDEPTH
)
3782 yyerror("parser stack overflow");
3786 if (yystacksize
> YYMAXDEPTH
)
3787 yystacksize
= YYMAXDEPTH
;
3788 yyss
= (short *) alloca (yystacksize
* sizeof (*yyssp
));
3789 __yy_memcpy ((char *)yyss
, (char *)yyss1
, size
* sizeof (*yyssp
));
3790 yyvs
= (YYSTYPE
*) alloca (yystacksize
* sizeof (*yyvsp
));
3791 __yy_memcpy ((char *)yyvs
, (char *)yyvs1
, size
* sizeof (*yyvsp
));
3793 yyls
= (YYLTYPE
*) alloca (yystacksize
* sizeof (*yylsp
));
3794 __yy_memcpy ((char *)yyls
, (char *)yyls1
, size
* sizeof (*yylsp
));
3796 #endif /* no yyoverflow */
3798 yyssp
= yyss
+ size
- 1;
3799 yyvsp
= yyvs
+ size
- 1;
3801 yylsp
= yyls
+ size
- 1;
3806 fprintf(stderr
, "Stack size increased to %d\n", yystacksize
);
3809 if (yyssp
>= yyss
+ yystacksize
- 1)
3815 fprintf(stderr
, "Entering state %d\n", yystate
);
3821 /* Do appropriate processing given the current state. */
3822 /* Read a lookahead token if we need one and don't already have one. */
3825 /* First try to decide what to do without reference to lookahead token. */
3827 yyn
= yypact
[yystate
];
3831 /* Not known => get a lookahead token if don't already have one. */
3833 /* yychar is either YYEMPTY or YYEOF
3834 or a valid token in external form. */
3836 if (yychar
== YYEMPTY
)
3840 fprintf(stderr
, "Reading a token: ");
3845 /* Convert token to internal form (in yychar1) for indexing tables with */
3847 if (yychar
<= 0) /* This means end of input. */
3850 yychar
= YYEOF
; /* Don't call YYLEX any more */
3854 fprintf(stderr
, "Now at end of input.\n");
3859 yychar1
= YYTRANSLATE(yychar
);
3864 fprintf (stderr
, "Next token is %d (%s", yychar
, yytname
[yychar1
]);
3865 /* Give the individual parser a way to print the precise meaning
3866 of a token, for further debugging info. */
3868 YYPRINT (stderr
, yychar
, yylval
);
3870 fprintf (stderr
, ")\n");
3876 if (yyn
< 0 || yyn
> YYLAST
|| yycheck
[yyn
] != yychar1
)
3881 /* yyn is what to do for this token type in this state.
3882 Negative => reduce, -yyn is rule number.
3883 Positive => shift, yyn is new state.
3884 New state is final state => don't bother to shift,
3885 just return success.
3886 0, or most negative number => error. */
3901 /* Shift the lookahead token. */
3905 fprintf(stderr
, "Shifting token %d (%s), ", yychar
, yytname
[yychar1
]);
3908 /* Discard the token being shifted unless it is eof. */
3909 if (yychar
!= YYEOF
)
3917 /* count tokens shifted since error; after three, turn off error status. */
3918 if (yyerrstatus
) yyerrstatus
--;
3923 /* Do the default action for the current state. */
3926 yyn
= yydefact
[yystate
];
3930 /* Do a reduction. yyn is the number of a rule to reduce with. */
3934 yyval
= yyvsp
[1-yylen
]; /* implement default value of the action */
3941 fprintf (stderr
, "Reducing via rule %d (line %d), ",
3944 /* Print the symbols being reduced, and their result. */
3945 for (i
= yyprhs
[yyn
]; yyrhs
[i
] > 0; i
++)
3946 fprintf (stderr
, "%s ", yytname
[yyrhs
[i
]]);
3947 fprintf (stderr
, " -> %s\n", yytname
[yyr1
[yyn
]]);
3957 /* In case there were missing closebraces,
3958 get us back to the global binding level. */
3959 while (! global_bindings_p ())
3966 { yyval
.ttype
= NULL_TREE
; ;
3970 { yyval
.ttype
= NULL_TREE
; ;
3974 { yyval
.ttype
= NULL_TREE
; ;
3978 { have_extern_spec
= 1;
3979 used_extern_spec
= 0;
3980 yyval
.ttype
= NULL_TREE
; ;
3984 { have_extern_spec
= 0; ;
3988 { yyval
.itype
= pedantic
;
3993 { if (pending_lang_change
) do_pending_lang_change(); ;
3997 { if (! toplevel_bindings_p () && ! pseudo_global_level_p())
3998 pop_everything (); ;
4002 { if (pending_inlines
) do_pending_inlines (); ;
4006 { if (pending_inlines
) do_pending_inlines (); ;
4010 { if (pending_inlines
) do_pending_inlines (); ;
4014 { if (TREE_CHAIN (yyvsp
[-2].ttype
)) yyvsp
[-2].ttype
= combine_strings (yyvsp
[-2].ttype
);
4015 assemble_asm (yyvsp
[-2].ttype
); ;
4019 { pop_lang_context (); ;
4023 { if (pending_inlines
) do_pending_inlines ();
4024 pop_lang_context (); ;
4028 { if (pending_inlines
) do_pending_inlines ();
4029 pop_lang_context (); ;
4033 { push_namespace (yyvsp
[-1].ttype
); ;
4037 { pop_namespace (); ;
4041 { push_namespace (NULL_TREE
); ;
4045 { pop_namespace (); ;
4049 { do_namespace_alias (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
4053 { do_toplevel_using_decl (yyvsp
[-1].ttype
); ;
4058 if (TREE_CODE (yyvsp
[-1].ttype
) == IDENTIFIER_NODE
)
4059 yyvsp
[-1].ttype
= lastiddecl
;
4060 do_using_directive (yyvsp
[-1].ttype
);
4065 { pedantic
= yyvsp
[-1].itype
; ;
4069 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4073 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4077 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4081 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4085 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4089 { push_lang_context (yyvsp
[0].ttype
); ;
4093 { if (current_lang_name
!= yyvsp
[0].ttype
)
4094 cp_error ("use of linkage spec `%D' is different from previous spec `%D'", yyvsp
[0].ttype
, current_lang_name
);
4095 pop_lang_context (); push_lang_context (yyvsp
[0].ttype
); ;
4099 { begin_template_parm_list (); ;
4103 { yyval
.ttype
= end_template_parm_list (yyvsp
[-1].ttype
); ;
4107 { begin_specialization();
4108 yyval
.ttype
= NULL_TREE
; ;
4112 { yyval
.ttype
= process_template_parm (NULL_TREE
, yyvsp
[0].ttype
); ;
4116 { yyval
.ttype
= process_template_parm (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
4120 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4124 { yyval
.ttype
= NULL_TREE
; ;
4129 yyval
.ttype
= build_tree_list (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4130 if (TREE_PURPOSE (yyval
.ttype
) == signature_type_node
)
4131 sorry ("signature as template type parameter");
4132 else if (TREE_PURPOSE (yyval
.ttype
) != class_type_node
)
4134 pedwarn ("template type parameters must use the keyword `class'");
4135 TREE_PURPOSE (yyval
.ttype
) = class_type_node
;
4141 { yyval
.ttype
= build_tree_list (class_type_node
, yyvsp
[0].ttype
); ;
4146 tree decl
= build_decl (TYPE_DECL
, yyvsp
[0].ttype
, NULL_TREE
);
4147 tree tmpl
= build_lang_decl (TEMPLATE_DECL
, yyvsp
[0].ttype
, NULL_TREE
);
4148 DECL_TEMPLATE_PARMS (tmpl
) = current_template_parms
;
4149 DECL_TEMPLATE_RESULT (tmpl
) = decl
;
4150 SET_DECL_ARTIFICIAL (decl
);
4151 end_template_decl ();
4153 if (yyvsp
[-1].ttype
== signature_type_node
)
4154 sorry ("signature as template template parameter");
4155 else if (yyvsp
[-1].ttype
!= class_type_node
)
4156 pedwarn ("template template parameters must use the keyword `class'");
4157 yyval
.ttype
= build_tree_list (class_type_node
, tmpl
);
4162 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ttype
); ;
4166 { yyval
.ttype
= build_tree_list (groktypename (yyvsp
[0].ftype
.t
), yyvsp
[-2].ttype
); ;
4170 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ftype
.t
); ;
4174 { yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-2].ftype
.t
); ;
4178 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ttype
); ;
4183 if (TREE_CODE (yyvsp
[0].ttype
) != TEMPLATE_DECL
4184 && TREE_CODE (yyvsp
[0].ttype
) != TEMPLATE_TEMPLATE_PARM
4185 && TREE_CODE (yyvsp
[0].ttype
) != TYPE_DECL
)
4187 error ("invalid default template argument");
4188 yyvsp
[0].ttype
= error_mark_node
;
4190 yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-2].ttype
);
4196 if (yyvsp
[-1].ttype
)
4197 end_template_decl ();
4199 end_specialization ();
4205 if (yyvsp
[-1].ttype
)
4206 end_template_decl ();
4208 end_specialization ();
4222 note_list_got_semicolon (yyvsp
[-2].ftype
.t
);
4227 { pedwarn ("empty declaration"); ;
4233 split_specs_attrs (yyvsp
[-1].ftype
.t
, &t
, &attrs
);
4235 note_list_got_semicolon (yyvsp
[-1].ftype
.t
);
4240 { yyval
.itype
= 0; ;
4244 { yyval
.itype
= 1; ;
4248 { finish_function (lineno
, (int)yyvsp
[-1].itype
, 0); ;
4261 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
);
4262 if (yyvsp
[-2].ttype
!= current_class_type
)
4264 push_nested_class (yyvsp
[-2].ttype
, 3);
4265 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
;
4271 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4276 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4277 if (yyvsp
[-4].ttype
!= current_class_type
)
4279 push_nested_class (yyvsp
[-4].ttype
, 3);
4280 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
;
4282 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4288 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
);
4289 if (yyvsp
[-2].ttype
!= current_class_type
)
4291 push_nested_class (yyvsp
[-2].ttype
, 3);
4292 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
;
4298 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4303 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4304 if (yyvsp
[-4].ttype
!= current_class_type
)
4306 push_nested_class (yyvsp
[-4].ttype
, 3);
4307 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
;
4309 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4315 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
);
4316 if (yyvsp
[-2].ttype
!= current_class_type
)
4318 push_nested_class (yyvsp
[-2].ttype
, 3);
4319 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
;
4325 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4330 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4331 if (yyvsp
[-4].ttype
!= current_class_type
)
4333 push_nested_class (yyvsp
[-4].ttype
, 3);
4334 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
;
4336 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4342 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
);
4343 if (yyvsp
[-2].ttype
!= current_class_type
)
4345 push_nested_class (yyvsp
[-2].ttype
, 3);
4346 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
;
4352 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4357 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4358 if (yyvsp
[-4].ttype
!= current_class_type
)
4360 push_nested_class (yyvsp
[-4].ttype
, 3);
4361 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
;
4363 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4368 { tree specs
, attrs
;
4369 split_specs_attrs (yyvsp
[-1].ftype
.t
, &specs
, &attrs
);
4370 if (! start_function (specs
, yyvsp
[0].ttype
, attrs
, 0))
4372 reinit_parse_for_function ();
4373 yyval
.ttype
= NULL_TREE
; ;
4377 { tree specs
, attrs
;
4378 split_specs_attrs (yyvsp
[-1].ttype
, &specs
, &attrs
);
4379 if (! start_function (specs
, yyvsp
[0].ttype
, attrs
, 0))
4381 reinit_parse_for_function ();
4382 yyval
.ttype
= NULL_TREE
; ;
4386 { if (! start_function (NULL_TREE
, yyval
.ttype
, NULL_TREE
, 0))
4388 reinit_parse_for_function ();
4389 yyval
.ttype
= NULL_TREE
; ;
4393 { tree specs
, attrs
;
4394 split_specs_attrs (yyvsp
[-1].ttype
, &specs
, &attrs
);
4395 if (! start_function (specs
, yyvsp
[0].ttype
, attrs
, 0))
4397 reinit_parse_for_function ();
4398 yyval
.ttype
= NULL_TREE
; ;
4402 { if (! start_function (NULL_TREE
, yyval
.ttype
, NULL_TREE
, 0))
4404 reinit_parse_for_function ();
4405 yyval
.ttype
= NULL_TREE
; ;
4409 { yyval
.ttype
= make_call_declarator (yyvsp
[-5].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4413 { yyval
.ttype
= make_call_declarator (yyvsp
[-3].ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4417 { yyval
.ttype
= make_call_declarator (yyvsp
[-5].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4421 { yyval
.ttype
= make_call_declarator (yyvsp
[-3].ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4425 { tree specs
= strip_attrs (yyvsp
[-1].ttype
);
4426 yyval
.ttype
= start_method (specs
, yyvsp
[0].ttype
);
4430 if (yychar
== YYEMPTY
)
4432 reinit_parse_for_method (yychar
, yyval
.ttype
); ;
4436 { yyval
.ttype
= start_method (NULL_TREE
, yyvsp
[0].ttype
); goto rest_of_mdef
; ;
4440 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
4441 yyval
.ttype
= start_method (specs
, yyvsp
[0].ttype
); goto rest_of_mdef
; ;
4445 { tree specs
= strip_attrs (yyvsp
[-1].ttype
);
4446 yyval
.ttype
= start_method (specs
, yyvsp
[0].ttype
); goto rest_of_mdef
; ;
4450 { yyval
.ttype
= start_method (NULL_TREE
, yyval
.ttype
); goto rest_of_mdef
; ;
4454 { tree specs
= strip_attrs (yyvsp
[-1].ttype
);
4455 yyval
.ttype
= start_method (specs
, yyvsp
[0].ttype
); goto rest_of_mdef
; ;
4459 { yyval
.ttype
= start_method (NULL_TREE
, yyval
.ttype
); goto rest_of_mdef
; ;
4463 { yyval
.ttype
= finish_member_template_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4468 if (! current_function_parms_stored
)
4469 store_parm_decls ();
4470 yyval
.ttype
= yyvsp
[0].ttype
;
4475 { store_return_init (yyval
.ttype
, yyvsp
[0].ttype
); ;
4479 { store_return_init (yyval
.ttype
, yyvsp
[-1].ttype
); ;
4483 { store_return_init (yyval
.ttype
, NULL_TREE
); ;
4488 if (yyvsp
[0].itype
== 0)
4489 error ("no base initializers given following ':'");
4491 /* Always keep the BLOCK node associated with the outermost
4492 pair of curley braces of a function. These are needed
4493 for correct operation of dwarfout.c. */
4500 if (! current_function_parms_stored
)
4501 store_parm_decls ();
4503 if (DECL_CONSTRUCTOR_P (current_function_decl
))
4505 /* Make a contour for the initializer list. */
4508 expand_start_bindings (0);
4510 else if (current_class_type
== NULL_TREE
)
4511 error ("base initializers not allowed for non-member functions");
4512 else if (! DECL_CONSTRUCTOR_P (current_function_decl
))
4513 error ("only constructors take base initializers");
4518 { yyval
.itype
= 0; ;
4522 { yyval
.itype
= 1; ;
4527 if (current_class_name
)
4528 pedwarn ("anachronistic old style base class initializer");
4529 expand_member_init (current_class_ref
, NULL_TREE
, yyvsp
[-1].ttype
);
4535 if (current_class_name
)
4536 pedwarn ("anachronistic old style base class initializer");
4537 expand_member_init (current_class_ref
, NULL_TREE
, void_type_node
);
4542 { expand_member_init (current_class_ref
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
4546 { expand_member_init (current_class_ref
, yyvsp
[-1].ttype
, void_type_node
); ;
4550 { expand_member_init (current_class_ref
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
4554 { expand_member_init (current_class_ref
, yyvsp
[-1].ttype
, void_type_node
); ;
4558 { expand_member_init (current_class_ref
, TYPE_MAIN_DECL (yyvsp
[-3].ttype
),
4563 { expand_member_init (current_class_ref
, TYPE_MAIN_DECL (yyvsp
[-1].ttype
),
4568 { do_type_instantiation (yyvsp
[-1].ftype
.t
, NULL_TREE
);
4569 yyungetc (';', 1); ;
4573 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
4574 do_decl_instantiation (specs
, yyvsp
[0].ttype
, NULL_TREE
); ;
4578 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, NULL_TREE
); ;
4582 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, NULL_TREE
); ;
4586 { do_type_instantiation (yyvsp
[-1].ftype
.t
, yyvsp
[-4].ttype
);
4587 yyungetc (';', 1); ;
4591 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
4592 do_decl_instantiation (specs
, yyvsp
[0].ttype
, yyvsp
[-4].ttype
); ;
4596 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-3].ttype
); ;
4600 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-3].ttype
); ;
4604 { begin_explicit_instantiation(); ;
4608 { end_explicit_instantiation(); ;
4613 yyval
.ttype
= lookup_template_class (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, NULL_TREE
, NULL_TREE
);
4614 if (yyval
.ttype
!= error_mark_node
)
4615 yyval
.ttype
= TYPE_STUB_DECL (yyval
.ttype
);
4621 yyval
.ttype
= lookup_template_class (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, NULL_TREE
, NULL_TREE
);
4622 if (yyval
.ttype
!= error_mark_node
)
4623 yyval
.ttype
= TYPE_STUB_DECL (yyval
.ttype
);
4629 yyval
.ttype
= lookup_template_class (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, NULL_TREE
, NULL_TREE
);
4630 if (yyval
.ttype
!= error_mark_node
)
4631 yyval
.ttype
= TYPE_STUB_DECL (yyval
.ttype
);
4637 /* Handle `Class<Class<Type>>' without space in the `>>' */
4638 pedwarn ("`>>' should be `> >' in template class name");
4644 { yyval
.ttype
= NULL_TREE
; ;
4648 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyval
.ttype
); ;
4652 { yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
4656 { yyval
.ttype
= groktypename (yyvsp
[0].ftype
.t
); ;
4660 { yyval
.code
= NEGATE_EXPR
; ;
4664 { yyval
.code
= CONVERT_EXPR
; ;
4668 { yyval
.code
= PREINCREMENT_EXPR
; ;
4672 { yyval
.code
= PREDECREMENT_EXPR
; ;
4676 { yyval
.code
= TRUTH_NOT_EXPR
; ;
4680 { yyval
.ttype
= build_x_compound_expr (yyval
.ttype
); ;
4684 { error ("ANSI C++ forbids an empty condition for `%s'",
4686 yyval
.ttype
= integer_zero_node
; ;
4690 { yyval
.ttype
= condition_conversion (yyvsp
[-1].ttype
); ;
4694 { error ("ANSI C++ forbids an empty condition for `%s'",
4696 yyval
.ttype
= integer_zero_node
; ;
4700 { yyval
.ttype
= condition_conversion (yyvsp
[-1].ttype
); ;
4704 { yyval
.ttype
= NULL_TREE
; ;
4707 #line 1001 "parse.y"
4708 { yyval
.ttype
= condition_conversion (yyval
.ttype
); ;
4711 #line 1003 "parse.y"
4712 { yyval
.ttype
= NULL_TREE
; ;
4715 #line 1008 "parse.y"
4718 for (d
= getdecls (); d
; d
= TREE_CHAIN (d
))
4719 if (TREE_CODE (d
) == TYPE_DECL
) {
4720 tree s
= TREE_TYPE (d
);
4721 if (TREE_CODE (s
) == RECORD_TYPE
)
4722 cp_error ("definition of class `%T' in condition", s
);
4723 else if (TREE_CODE (s
) == ENUMERAL_TYPE
)
4724 cp_error ("definition of enum `%T' in condition", s
);
4727 current_declspecs
= yyvsp
[-4].ftype
.t
;
4728 yyvsp
[0].itype
= suspend_momentary ();
4729 yyval
.ttype
= start_decl (yyvsp
[-3].ttype
, current_declspecs
, 1);
4730 cplus_decl_attributes (yyval
.ttype
, yyvsp
[-1].ttype
,
4731 /*prefix_attributes*/ NULL_TREE
);
4735 #line 1026 "parse.y"
4737 cp_finish_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, yyvsp
[-3].ttype
, 1, LOOKUP_ONLYCONVERTING
);
4738 resume_momentary (yyvsp
[-2].itype
);
4739 yyval
.ttype
= yyvsp
[-1].ttype
;
4740 if (TREE_CODE (TREE_TYPE (yyval
.ttype
)) == ARRAY_TYPE
)
4741 cp_error ("definition of array `%#D' in condition", yyval
.ttype
);
4745 #line 1045 "parse.y"
4747 if (processing_template_decl
)
4749 yyval
.ttype
= build_min_nt (COMPOUND_STMT
, NULL_TREE
);
4750 COMPOUND_STMT_NO_SCOPE (yyval
.ttype
) = 1;
4751 add_tree (yyval
.ttype
);
4756 #line 1054 "parse.y"
4758 if (processing_template_decl
)
4760 TREE_OPERAND (yyvsp
[-1].ttype
, 0) = TREE_CHAIN (yyvsp
[-1].ttype
);
4761 TREE_CHAIN (yyvsp
[-1].ttype
) = NULL_TREE
;
4762 last_tree
= yyvsp
[-1].ttype
;
4768 #line 1069 "parse.y"
4769 { yyval
.ttype
= expr_tree_cons (NULL_TREE
, yyval
.ttype
,
4770 build_expr_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
4773 #line 1072 "parse.y"
4774 { yyval
.ttype
= expr_tree_cons (NULL_TREE
, yyval
.ttype
,
4775 build_expr_list (NULL_TREE
, error_mark_node
)); ;
4778 #line 1075 "parse.y"
4779 { chainon (yyval
.ttype
, build_expr_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
4782 #line 1077 "parse.y"
4783 { chainon (yyval
.ttype
, build_expr_list (NULL_TREE
, error_mark_node
)); ;
4786 #line 1082 "parse.y"
4787 { yyval
.ttype
= build_expr_list (NULL_TREE
, yyval
.ttype
); ;
4790 #line 1088 "parse.y"
4791 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4794 #line 1091 "parse.y"
4795 { yyval
.ttype
= yyvsp
[0].ttype
;
4796 pedantic
= yyvsp
[-1].itype
; ;
4799 #line 1094 "parse.y"
4800 { yyval
.ttype
= build_x_indirect_ref (yyvsp
[0].ttype
, "unary *"); ;
4803 #line 1096 "parse.y"
4804 { yyval
.ttype
= build_x_unary_op (ADDR_EXPR
, yyvsp
[0].ttype
); ;
4807 #line 1098 "parse.y"
4808 { yyval
.ttype
= build_x_unary_op (BIT_NOT_EXPR
, yyvsp
[0].ttype
); ;
4811 #line 1100 "parse.y"
4812 { yyval
.ttype
= build_x_unary_op (yyvsp
[-1].code
, yyvsp
[0].ttype
);
4813 if (yyvsp
[-1].code
== NEGATE_EXPR
&& TREE_CODE (yyvsp
[0].ttype
) == INTEGER_CST
)
4814 TREE_NEGATED_INT (yyval
.ttype
) = 1;
4815 overflow_warning (yyval
.ttype
);
4819 #line 1107 "parse.y"
4820 { tree label
= lookup_label (yyvsp
[0].ttype
);
4822 pedwarn ("ANSI C++ forbids `&&'");
4823 if (label
== NULL_TREE
)
4824 yyval
.ttype
= null_pointer_node
;
4827 TREE_USED (label
) = 1;
4828 yyval
.ttype
= build1 (ADDR_EXPR
, ptr_type_node
, label
);
4829 TREE_CONSTANT (yyval
.ttype
) = 1;
4834 #line 1120 "parse.y"
4835 { yyval
.ttype
= expr_sizeof (yyvsp
[0].ttype
); ;
4838 #line 1122 "parse.y"
4839 { yyval
.ttype
= c_sizeof (groktypename (yyvsp
[-1].ftype
.t
)); ;
4842 #line 1124 "parse.y"
4843 { yyval
.ttype
= grok_alignof (yyvsp
[0].ttype
); ;
4846 #line 1126 "parse.y"
4847 { yyval
.ttype
= c_alignof (groktypename (yyvsp
[-1].ftype
.t
));
4848 check_for_new_type ("alignof", yyvsp
[-1].ftype
); ;
4851 #line 1132 "parse.y"
4852 { yyval
.ttype
= build_new (NULL_TREE
, yyvsp
[0].ftype
.t
, NULL_TREE
, yyvsp
[-1].itype
);
4853 check_for_new_type ("new", yyvsp
[0].ftype
); ;
4856 #line 1135 "parse.y"
4857 { yyval
.ttype
= build_new (NULL_TREE
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
, yyvsp
[-2].itype
);
4858 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
4861 #line 1138 "parse.y"
4862 { yyval
.ttype
= build_new (yyvsp
[-1].ttype
, yyvsp
[0].ftype
.t
, NULL_TREE
, yyvsp
[-2].itype
);
4863 check_for_new_type ("new", yyvsp
[0].ftype
); ;
4866 #line 1141 "parse.y"
4867 { yyval
.ttype
= build_new (yyvsp
[-2].ttype
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
, yyvsp
[-3].itype
);
4868 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
4871 #line 1144 "parse.y"
4872 { yyval
.ttype
= build_new (NULL_TREE
, groktypename(yyvsp
[-1].ftype
.t
),
4873 NULL_TREE
, yyvsp
[-3].itype
);
4874 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
4877 #line 1148 "parse.y"
4878 { yyval
.ttype
= build_new (NULL_TREE
, groktypename(yyvsp
[-2].ftype
.t
), yyvsp
[0].ttype
, yyvsp
[-4].itype
);
4879 check_for_new_type ("new", yyvsp
[-2].ftype
); ;
4882 #line 1151 "parse.y"
4883 { yyval
.ttype
= build_new (yyvsp
[-3].ttype
, groktypename(yyvsp
[-1].ftype
.t
), NULL_TREE
, yyvsp
[-4].itype
);
4884 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
4887 #line 1154 "parse.y"
4888 { yyval
.ttype
= build_new (yyvsp
[-4].ttype
, groktypename(yyvsp
[-2].ftype
.t
), yyvsp
[0].ttype
, yyvsp
[-5].itype
);
4889 check_for_new_type ("new", yyvsp
[-2].ftype
); ;
4892 #line 1158 "parse.y"
4893 { yyval
.ttype
= delete_sanity (yyvsp
[0].ttype
, NULL_TREE
, 0, yyvsp
[-1].itype
); ;
4896 #line 1160 "parse.y"
4897 { yyval
.ttype
= delete_sanity (yyvsp
[0].ttype
, NULL_TREE
, 1, yyvsp
[-3].itype
);
4898 if (yychar
== YYEMPTY
)
4902 #line 1164 "parse.y"
4903 { yyval
.ttype
= delete_sanity (yyvsp
[0].ttype
, yyvsp
[-2].ttype
, 2, yyvsp
[-4].itype
);
4904 if (yychar
== YYEMPTY
)
4908 #line 1168 "parse.y"
4909 { yyval
.ttype
= build_x_unary_op (REALPART_EXPR
, yyvsp
[0].ttype
); ;
4912 #line 1170 "parse.y"
4913 { yyval
.ttype
= build_x_unary_op (IMAGPART_EXPR
, yyvsp
[0].ttype
); ;
4916 #line 1175 "parse.y"
4917 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
4920 #line 1177 "parse.y"
4922 yyval
.ttype
= yyvsp
[-1].ttype
;
4923 pedwarn ("old style placement syntax, use () instead");
4927 #line 1185 "parse.y"
4928 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
4931 #line 1187 "parse.y"
4932 { yyval
.ttype
= NULL_TREE
; ;
4935 #line 1189 "parse.y"
4937 cp_error ("`%T' is not a valid expression", yyvsp
[-1].ftype
.t
);
4938 yyval
.ttype
= error_mark_node
;
4942 #line 1197 "parse.y"
4945 pedwarn ("ANSI C++ forbids initialization of new expression with `='");
4946 yyval
.ttype
= yyvsp
[0].ttype
;
4950 #line 1207 "parse.y"
4951 { yyvsp
[-1].ftype
.t
= tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, void_list_node
);
4952 TREE_PARMLIST (yyvsp
[-1].ftype
.t
) = 1;
4953 yyval
.ttype
= make_call_declarator (NULL_TREE
, yyvsp
[-1].ftype
.t
, NULL_TREE
, NULL_TREE
);
4954 check_for_new_type ("cast", yyvsp
[-1].ftype
); ;
4957 #line 1212 "parse.y"
4958 { yyvsp
[-1].ftype
.t
= tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, void_list_node
);
4959 TREE_PARMLIST (yyvsp
[-1].ftype
.t
) = 1;
4960 yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-1].ftype
.t
, NULL_TREE
, NULL_TREE
);
4961 check_for_new_type ("cast", yyvsp
[-1].ftype
); ;
4964 #line 1221 "parse.y"
4965 { yyval
.ttype
= reparse_absdcl_as_casts (yyval
.ttype
, yyvsp
[0].ttype
); ;
4968 #line 1223 "parse.y"
4970 tree init
= build_nt (CONSTRUCTOR
, NULL_TREE
,
4971 nreverse (yyvsp
[-2].ttype
));
4973 pedwarn ("ANSI C++ forbids constructor-expressions");
4974 /* Indicate that this was a GNU C constructor expression. */
4975 TREE_HAS_CONSTRUCTOR (init
) = 1;
4977 yyval
.ttype
= reparse_absdcl_as_casts (yyval
.ttype
, init
);
4981 #line 1239 "parse.y"
4982 { yyval
.ttype
= build_x_binary_op (MEMBER_REF
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4985 #line 1241 "parse.y"
4986 { yyval
.ttype
= build_m_component_ref (yyval
.ttype
, yyvsp
[0].ttype
); ;
4989 #line 1243 "parse.y"
4990 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4993 #line 1245 "parse.y"
4994 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4997 #line 1247 "parse.y"
4998 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5001 #line 1249 "parse.y"
5002 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5005 #line 1251 "parse.y"
5006 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5009 #line 1253 "parse.y"
5010 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5013 #line 1255 "parse.y"
5014 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5017 #line 1257 "parse.y"
5018 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5021 #line 1259 "parse.y"
5022 { yyval
.ttype
= build_x_binary_op (LT_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5025 #line 1261 "parse.y"
5026 { yyval
.ttype
= build_x_binary_op (GT_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5029 #line 1263 "parse.y"
5030 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5033 #line 1265 "parse.y"
5034 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5037 #line 1267 "parse.y"
5038 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5041 #line 1269 "parse.y"
5042 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5045 #line 1271 "parse.y"
5046 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5049 #line 1273 "parse.y"
5050 { yyval
.ttype
= build_x_binary_op (TRUTH_ANDIF_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5053 #line 1275 "parse.y"
5054 { yyval
.ttype
= build_x_binary_op (TRUTH_ORIF_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5057 #line 1277 "parse.y"
5058 { yyval
.ttype
= build_x_conditional_expr (yyval
.ttype
, yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
5061 #line 1279 "parse.y"
5062 { yyval
.ttype
= build_x_modify_expr (yyval
.ttype
, NOP_EXPR
, yyvsp
[0].ttype
);
5063 if (yyval
.ttype
!= error_mark_node
)
5064 C_SET_EXP_ORIGINAL_CODE (yyval
.ttype
, MODIFY_EXPR
); ;
5067 #line 1283 "parse.y"
5068 { yyval
.ttype
= build_x_modify_expr (yyval
.ttype
, yyvsp
[-1].code
, yyvsp
[0].ttype
); ;
5071 #line 1285 "parse.y"
5072 { yyval
.ttype
= build_throw (NULL_TREE
); ;
5075 #line 1287 "parse.y"
5076 { yyval
.ttype
= build_throw (yyvsp
[0].ttype
); ;
5079 #line 1305 "parse.y"
5080 { yyval
.ttype
= build_parse_node (BIT_NOT_EXPR
, yyvsp
[0].ttype
); ;
5083 #line 1314 "parse.y"
5084 { yyval
.ttype
= do_identifier (yyvsp
[-1].ttype
, 1); ;
5087 #line 1318 "parse.y"
5088 { yyval
.ttype
= lookup_template_function (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
5091 #line 1320 "parse.y"
5092 { yyval
.ttype
= lookup_template_function (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
5095 #line 1325 "parse.y"
5096 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5099 #line 1327 "parse.y"
5100 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5103 #line 1330 "parse.y"
5104 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5107 #line 1342 "parse.y"
5108 { yyval
.ttype
= build_parse_node (INDIRECT_REF
, yyvsp
[0].ttype
); ;
5111 #line 1344 "parse.y"
5112 { yyval
.ttype
= build_parse_node (ADDR_EXPR
, yyvsp
[0].ttype
); ;
5115 #line 1346 "parse.y"
5116 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
5119 #line 1351 "parse.y"
5120 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5123 #line 1353 "parse.y"
5124 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5127 #line 1361 "parse.y"
5128 { yyval
.ttype
= finish_decl_parsing (yyvsp
[-1].ttype
); ;
5131 #line 1366 "parse.y"
5133 if (TREE_CODE (yyval
.ttype
) == BIT_NOT_EXPR
)
5134 yyval
.ttype
= build_x_unary_op (BIT_NOT_EXPR
, TREE_OPERAND (yyval
.ttype
, 0));
5135 else if (TREE_CODE (yyval
.ttype
) != TEMPLATE_ID_EXPR
)
5136 yyval
.ttype
= do_identifier (yyval
.ttype
, 1);
5140 #line 1375 "parse.y"
5142 if (processing_template_decl
)
5143 push_obstacks (&permanent_obstack
, &permanent_obstack
);
5144 yyval
.ttype
= combine_strings (yyval
.ttype
);
5145 if (processing_template_decl
)
5150 #line 1383 "parse.y"
5152 yyval
.ttype
= yyvsp
[-1].ttype
;
5153 class = TREE_CODE_CLASS (TREE_CODE (yyval
.ttype
));
5154 if (class == 'e' || class == '1'
5155 || class == '2' || class == '<')
5156 /* This inhibits warnings in truthvalue_conversion. */
5157 C_SET_EXP_ORIGINAL_CODE (yyval
.ttype
, ERROR_MARK
); ;
5160 #line 1391 "parse.y"
5162 yyval
.ttype
= reparse_decl_as_expr (NULL_TREE
, yyvsp
[-1].ttype
);
5163 class = TREE_CODE_CLASS (TREE_CODE (yyval
.ttype
));
5164 if (class == 'e' || class == '1'
5165 || class == '2' || class == '<')
5166 /* This inhibits warnings in truthvalue_conversion. */
5167 C_SET_EXP_ORIGINAL_CODE (yyval
.ttype
, ERROR_MARK
); ;
5170 #line 1399 "parse.y"
5171 { yyval
.ttype
= error_mark_node
; ;
5174 #line 1401 "parse.y"
5175 { if (current_function_decl
== 0)
5177 error ("braced-group within expression allowed only inside a function");
5181 if (!processing_template_decl
)
5182 yyval
.ttype
= expand_start_stmt_expr ();
5184 yyval
.ttype
= NULL_TREE
;
5188 #line 1413 "parse.y"
5191 pedwarn ("ANSI C++ forbids braced-groups within expressions");
5192 if (!processing_template_decl
)
5194 rtl_exp
= expand_end_stmt_expr (yyvsp
[-2].ttype
);
5195 /* The statements have side effects, so the
5197 TREE_SIDE_EFFECTS (rtl_exp
) = 1;
5200 if (TREE_CODE (yyvsp
[-1].ttype
) == BLOCK
)
5202 /* Make a BIND_EXPR for the BLOCK already made. */
5203 if (processing_template_decl
)
5204 yyval
.ttype
= build (BIND_EXPR
, NULL_TREE
,
5205 NULL_TREE
, last_tree
, yyvsp
[-1].ttype
);
5207 yyval
.ttype
= build (BIND_EXPR
, TREE_TYPE (rtl_exp
),
5208 NULL_TREE
, rtl_exp
, yyvsp
[-1].ttype
);
5210 /* Remove the block from the tree at this point.
5211 It gets put back at the proper place
5212 when the BIND_EXPR is expanded. */
5213 delete_block (yyvsp
[-1].ttype
);
5216 yyval
.ttype
= yyvsp
[-1].ttype
;
5220 #line 1443 "parse.y"
5222 yyval
.ttype
= build_x_function_call (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, current_class_ref
);
5223 if (TREE_CODE (yyval
.ttype
) == CALL_EXPR
5224 && TREE_TYPE (yyval
.ttype
) != void_type_node
)
5225 yyval
.ttype
= require_complete_type (yyval
.ttype
);
5229 #line 1450 "parse.y"
5231 yyval
.ttype
= build_x_function_call (yyval
.ttype
, NULL_TREE
, current_class_ref
);
5232 if (TREE_CODE (yyval
.ttype
) == CALL_EXPR
5233 && TREE_TYPE (yyval
.ttype
) != void_type_node
)
5234 yyval
.ttype
= require_complete_type (yyval
.ttype
);
5238 #line 1457 "parse.y"
5239 { yyval
.ttype
= grok_array_decl (yyval
.ttype
, yyvsp
[-1].ttype
); ;
5242 #line 1459 "parse.y"
5243 { /* If we get an OFFSET_REF, turn it into what it really
5244 means (e.g., a COMPONENT_REF). This way if we've got,
5245 say, a reference to a static member that's being operated
5246 on, we don't end up trying to find a member operator for
5247 the class it's in. */
5248 if (TREE_CODE (yyval
.ttype
) == OFFSET_REF
)
5249 yyval
.ttype
= resolve_offset_ref (yyval
.ttype
);
5250 yyval
.ttype
= build_x_unary_op (POSTINCREMENT_EXPR
, yyval
.ttype
); ;
5253 #line 1468 "parse.y"
5254 { if (TREE_CODE (yyval
.ttype
) == OFFSET_REF
)
5255 yyval
.ttype
= resolve_offset_ref (yyval
.ttype
);
5256 yyval
.ttype
= build_x_unary_op (POSTDECREMENT_EXPR
, yyval
.ttype
); ;
5259 #line 1473 "parse.y"
5260 { if (current_class_ptr
)
5262 #ifdef WARNING_ABOUT_CCD
5263 TREE_USED (current_class_ptr
) = 1;
5265 yyval
.ttype
= current_class_ptr
;
5267 else if (current_function_decl
5268 && DECL_STATIC_FUNCTION_P (current_function_decl
))
5270 error ("`this' is unavailable for static member functions");
5271 yyval
.ttype
= error_mark_node
;
5275 if (current_function_decl
)
5276 error ("invalid use of `this' in non-member function");
5278 error ("invalid use of `this' at top level");
5279 yyval
.ttype
= error_mark_node
;
5284 #line 1496 "parse.y"
5286 tree type
= NULL_TREE
;
5287 tree id
= yyval
.ttype
;
5289 /* This is a C cast in C++'s `functional' notation. */
5290 if (yyvsp
[-1].ttype
== error_mark_node
)
5292 yyval
.ttype
= error_mark_node
;
5296 if (yyvsp
[-1].ttype
== NULL_TREE
)
5298 error ("cannot cast null list to type `%s'",
5299 IDENTIFIER_POINTER (TYPE_NAME (id
)));
5300 yyval
.ttype
= error_mark_node
;
5305 /* type is not set! (mrs) */
5306 if (type
== error_mark_node
)
5307 yyval
.ttype
= error_mark_node
;
5311 if (id
== ridpointers
[(int) RID_CONST
])
5312 type
= build_type_variant (integer_type_node
, 1, 0);
5313 else if (id
== ridpointers
[(int) RID_VOLATILE
])
5314 type
= build_type_variant (integer_type_node
, 0, 1);
5316 /* should not be able to get here (mrs) */
5317 else if (id
== ridpointers
[(int) RID_FRIEND
])
5319 error ("cannot cast expression to `friend' type");
5320 yyval
.ttype
= error_mark_node
;
5324 else my_friendly_abort (79);
5325 yyval
.ttype
= build_c_cast (type
, build_compound_expr (yyvsp
[-1].ttype
));
5330 #line 1541 "parse.y"
5331 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5332 check_for_new_type ("dynamic_cast", yyvsp
[-4].ftype
);
5333 yyval
.ttype
= build_dynamic_cast (type
, yyvsp
[-1].ttype
); ;
5336 #line 1545 "parse.y"
5337 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5338 check_for_new_type ("static_cast", yyvsp
[-4].ftype
);
5339 yyval
.ttype
= build_static_cast (type
, yyvsp
[-1].ttype
); ;
5342 #line 1549 "parse.y"
5343 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5344 check_for_new_type ("reinterpret_cast", yyvsp
[-4].ftype
);
5345 yyval
.ttype
= build_reinterpret_cast (type
, yyvsp
[-1].ttype
); ;
5348 #line 1553 "parse.y"
5349 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5350 check_for_new_type ("const_cast", yyvsp
[-4].ftype
);
5351 yyval
.ttype
= build_const_cast (type
, yyvsp
[-1].ttype
); ;
5354 #line 1557 "parse.y"
5355 { yyval
.ttype
= build_x_typeid (yyvsp
[-1].ttype
); ;
5358 #line 1559 "parse.y"
5359 { tree type
= groktypename (yyvsp
[-1].ftype
.t
);
5360 check_for_new_type ("typeid", yyvsp
[-1].ftype
);
5361 yyval
.ttype
= get_typeid (TYPE_MAIN_VARIANT (type
)); ;
5364 #line 1563 "parse.y"
5365 { yyval
.ttype
= do_scoped_id (yyvsp
[0].ttype
, 1); ;
5368 #line 1565 "parse.y"
5370 got_scope
= NULL_TREE
;
5371 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
5372 yyval
.ttype
= do_scoped_id (yyvsp
[0].ttype
, 1);
5374 yyval
.ttype
= yyvsp
[0].ttype
;
5378 #line 1573 "parse.y"
5379 { yyval
.ttype
= build_offset_ref (OP0 (yyval
.ttype
), OP1 (yyval
.ttype
)); ;
5382 #line 1575 "parse.y"
5383 { if (processing_template_decl
)
5384 yyval
.ttype
= build_min_nt (CALL_EXPR
, copy_to_permanent (yyvsp
[-3].ttype
), yyvsp
[-1].ttype
, NULL_TREE
);
5386 yyval
.ttype
= build_member_call (OP0 (yyval
.ttype
), OP1 (yyval
.ttype
), yyvsp
[-1].ttype
); ;
5389 #line 1580 "parse.y"
5390 { if (processing_template_decl
)
5391 yyval
.ttype
= build_min_nt (CALL_EXPR
, copy_to_permanent (yyvsp
[-1].ttype
),
5392 NULL_TREE
, NULL_TREE
);
5394 yyval
.ttype
= build_member_call (OP0 (yyval
.ttype
), OP1 (yyval
.ttype
), NULL_TREE
); ;
5397 #line 1586 "parse.y"
5399 yyval
.ttype
= build_x_component_ref (yyval
.ttype
, yyvsp
[0].ttype
, NULL_TREE
, 1);
5403 #line 1590 "parse.y"
5405 yyval
.ttype
= build_method_call (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
,
5406 NULL_TREE
, LOOKUP_NORMAL
);
5410 #line 1595 "parse.y"
5412 yyval
.ttype
= build_method_call (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, NULL_TREE
,
5413 NULL_TREE
, LOOKUP_NORMAL
);
5417 #line 1600 "parse.y"
5418 { yyval
.ttype
= build_x_component_ref (yyval
.ttype
, yyvsp
[0].ttype
, NULL_TREE
, 1); ;
5421 #line 1602 "parse.y"
5422 { if (processing_template_decl
)
5423 yyval
.ttype
= build_min_nt (COMPONENT_REF
, yyvsp
[-1].ttype
, copy_to_permanent (yyvsp
[0].ttype
));
5425 yyval
.ttype
= build_object_ref (yyval
.ttype
, OP0 (yyvsp
[0].ttype
), OP1 (yyvsp
[0].ttype
)); ;
5428 #line 1607 "parse.y"
5431 /* This is a future direction of this code, but because
5432 build_x_function_call cannot always undo what is done
5433 in build_component_ref entirely yet, we cannot do this. */
5434 yyval
.ttype
= build_x_function_call (build_component_ref (yyval
.ttype
, yyvsp
[-3].ttype
, NULL_TREE
, 1), yyvsp
[-1].ttype
, current_class_ref
);
5435 if (TREE_CODE (yyval
.ttype
) == CALL_EXPR
5436 && TREE_TYPE (yyval
.ttype
) != void_type_node
)
5437 yyval
.ttype
= require_complete_type (yyval
.ttype
);
5439 yyval
.ttype
= build_method_call (yyval
.ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, NULL_TREE
,
5445 #line 1622 "parse.y"
5448 /* This is a future direction of this code, but because
5449 build_x_function_call cannot always undo what is done
5450 in build_component_ref entirely yet, we cannot do this. */
5451 yyval
.ttype
= build_x_function_call (build_component_ref (yyval
.ttype
, yyvsp
[-1].ttype
, NULL_TREE
, 1), NULL_TREE
, current_class_ref
);
5452 if (TREE_CODE (yyval
.ttype
) == CALL_EXPR
5453 && TREE_TYPE (yyval
.ttype
) != void_type_node
)
5454 yyval
.ttype
= require_complete_type (yyval
.ttype
);
5456 yyval
.ttype
= build_method_call (yyval
.ttype
, yyvsp
[-1].ttype
, NULL_TREE
, NULL_TREE
,
5462 #line 1637 "parse.y"
5464 if (IS_SIGNATURE (OP0 (yyvsp
[-3].ttype
)))
5466 warning ("signature name in scope resolution ignored");
5467 yyval
.ttype
= build_method_call (yyval
.ttype
, OP1 (yyvsp
[-3].ttype
), yyvsp
[-1].ttype
, NULL_TREE
,
5471 yyval
.ttype
= build_scoped_method_call (yyval
.ttype
, OP0 (yyvsp
[-3].ttype
), OP1 (yyvsp
[-3].ttype
), yyvsp
[-1].ttype
);
5475 #line 1648 "parse.y"
5477 if (IS_SIGNATURE (OP0 (yyvsp
[-1].ttype
)))
5479 warning ("signature name in scope resolution ignored");
5480 yyval
.ttype
= build_method_call (yyval
.ttype
, OP1 (yyvsp
[-1].ttype
), NULL_TREE
, NULL_TREE
,
5484 yyval
.ttype
= build_scoped_method_call (yyval
.ttype
, OP0 (yyvsp
[-1].ttype
), OP1 (yyvsp
[-1].ttype
), NULL_TREE
);
5488 #line 1660 "parse.y"
5490 if (IDENTIFIER_GLOBAL_VALUE (yyvsp
[-1].ttype
)
5491 && (TREE_CODE (TREE_TYPE (yyvsp
[-3].ttype
))
5492 != TREE_CODE (TREE_TYPE (IDENTIFIER_GLOBAL_VALUE (yyvsp
[-1].ttype
)))))
5493 cp_error ("`%E' is not of type `%T'", yyvsp
[-3].ttype
, yyvsp
[-1].ttype
);
5494 yyval
.ttype
= cp_convert (void_type_node
, yyvsp
[-3].ttype
);
5498 #line 1668 "parse.y"
5500 if (yyvsp
[-4].ttype
!= yyvsp
[-1].ttype
)
5501 cp_error ("destructor specifier `%T::~%T()' must have matching names", yyvsp
[-4].ttype
, yyvsp
[-1].ttype
);
5502 if (TREE_CODE (TREE_TYPE (yyvsp
[-5].ttype
))
5503 != TREE_CODE (TREE_TYPE (IDENTIFIER_GLOBAL_VALUE (yyvsp
[-4].ttype
))))
5504 cp_error ("`%E' is not of type `%T'", yyvsp
[-5].ttype
, yyvsp
[-4].ttype
);
5505 yyval
.ttype
= cp_convert (void_type_node
, yyvsp
[-5].ttype
);
5509 #line 1677 "parse.y"
5511 yyval
.ttype
= error_mark_node
;
5515 #line 1722 "parse.y"
5516 { yyval
.itype
= 0; ;
5519 #line 1724 "parse.y"
5520 { got_scope
= NULL_TREE
; yyval
.itype
= 1; ;
5523 #line 1729 "parse.y"
5524 { yyval
.itype
= 0; ;
5527 #line 1731 "parse.y"
5528 { got_scope
= NULL_TREE
; yyval
.itype
= 1; ;
5531 #line 1736 "parse.y"
5532 { yyval
.ttype
= boolean_true_node
; ;
5535 #line 1738 "parse.y"
5536 { yyval
.ttype
= boolean_false_node
; ;
5539 #line 1745 "parse.y"
5540 { yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
); ;
5543 #line 1750 "parse.y"
5545 if (! current_function_parms_stored
)
5546 store_parm_decls ();
5548 /* Always keep the BLOCK node associated with the outermost
5549 pair of curley braces of a function. These are needed
5550 for correct operation of dwarfout.c. */
5555 #line 1763 "parse.y"
5556 { got_object
= TREE_TYPE (yyval
.ttype
); ;
5559 #line 1765 "parse.y"
5561 yyval
.ttype
= build_x_arrow (yyval
.ttype
);
5562 got_object
= TREE_TYPE (yyval
.ttype
);
5566 #line 1773 "parse.y"
5568 resume_momentary (yyvsp
[-1].itype
);
5569 if (yyvsp
[-2].ftype
.t
&& IS_AGGR_TYPE_CODE (TREE_CODE (yyvsp
[-2].ftype
.t
)))
5570 note_got_semicolon (yyvsp
[-2].ftype
.t
);
5574 #line 1779 "parse.y"
5576 resume_momentary (yyvsp
[-1].itype
);
5577 note_list_got_semicolon (yyvsp
[-2].ftype
.t
);
5581 #line 1784 "parse.y"
5582 { resume_momentary (yyvsp
[-1].itype
); ;
5585 #line 1786 "parse.y"
5587 shadow_tag (yyvsp
[-1].ftype
.t
);
5588 note_list_got_semicolon (yyvsp
[-1].ftype
.t
);
5592 #line 1791 "parse.y"
5593 { warning ("empty declaration"); ;
5596 #line 1793 "parse.y"
5597 { pedantic
= yyvsp
[-1].itype
; ;
5600 #line 1807 "parse.y"
5601 { yyval
.ttype
= make_call_declarator (NULL_TREE
, empty_parms (),
5602 NULL_TREE
, NULL_TREE
); ;
5605 #line 1810 "parse.y"
5606 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), NULL_TREE
,
5610 #line 1817 "parse.y"
5611 { yyval
.ftype
.t
= build_decl_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
5612 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5615 #line 1820 "parse.y"
5616 { yyval
.ftype
.t
= build_decl_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
5617 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5620 #line 1823 "parse.y"
5621 { yyval
.ftype
.t
= build_decl_list (get_decl_list (yyvsp
[-1].ftype
.t
), yyvsp
[0].ttype
);
5622 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5625 #line 1826 "parse.y"
5626 { yyval
.ftype
.t
= build_decl_list (yyvsp
[0].ftype
.t
, NULL_TREE
);
5627 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5630 #line 1829 "parse.y"
5631 { yyval
.ftype
.t
= build_decl_list (yyvsp
[0].ftype
.t
, NULL_TREE
);
5632 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5635 #line 1845 "parse.y"
5636 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyvsp
[-1].ttype
);
5637 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5640 #line 1848 "parse.y"
5641 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
5642 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5645 #line 1851 "parse.y"
5646 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-2].ftype
.t
, chainon (yyvsp
[-1].ttype
, yyvsp
[0].ttype
));
5647 yyval
.ftype
.new_type_flag
= yyvsp
[-2].ftype
.new_type_flag
; ;
5650 #line 1854 "parse.y"
5651 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, chainon (yyvsp
[0].ttype
, yyvsp
[-2].ttype
));
5652 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5655 #line 1857 "parse.y"
5656 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, chainon (yyvsp
[0].ttype
, yyvsp
[-2].ttype
));
5657 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5660 #line 1860 "parse.y"
5661 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-2].ftype
.t
,
5662 chainon (yyvsp
[-1].ttype
, chainon (yyvsp
[0].ttype
, yyvsp
[-3].ttype
)));
5663 yyval
.ftype
.new_type_flag
= yyvsp
[-2].ftype
.new_type_flag
; ;
5666 #line 1867 "parse.y"
5667 { if (extra_warnings
)
5668 warning ("`%s' is not at beginning of declaration",
5669 IDENTIFIER_POINTER (yyval
.ttype
));
5670 yyval
.ttype
= build_decl_list (NULL_TREE
, yyval
.ttype
); ;
5673 #line 1872 "parse.y"
5674 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyval
.ttype
); ;
5677 #line 1874 "parse.y"
5678 { if (extra_warnings
)
5679 warning ("`%s' is not at beginning of declaration",
5680 IDENTIFIER_POINTER (yyvsp
[0].ttype
));
5681 yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
5684 #line 1879 "parse.y"
5685 { yyval
.ttype
= decl_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, yyvsp
[-1].ttype
); ;
5688 #line 1881 "parse.y"
5689 { yyval
.ttype
= decl_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, NULL_TREE
); ;
5692 #line 1891 "parse.y"
5693 { yyval
.ttype
= yyvsp
[0].ftype
.t
; TREE_STATIC (yyval
.ttype
) = 1; ;
5696 #line 1893 "parse.y"
5697 { yyval
.ttype
= IDENTIFIER_AS_LIST (yyval
.ttype
); ;
5700 #line 1895 "parse.y"
5701 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
);
5702 TREE_STATIC (yyval
.ttype
) = 1; ;
5705 #line 1898 "parse.y"
5706 { if (extra_warnings
&& TREE_STATIC (yyval
.ttype
))
5707 warning ("`%s' is not at beginning of declaration",
5708 IDENTIFIER_POINTER (yyvsp
[0].ttype
));
5709 yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
);
5710 TREE_STATIC (yyval
.ttype
) = TREE_STATIC (yyvsp
[-1].ttype
); ;
5713 #line 1904 "parse.y"
5714 { yyval
.ttype
= decl_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, yyvsp
[-1].ttype
); ;
5717 #line 1906 "parse.y"
5718 { yyval
.ttype
= decl_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, NULL_TREE
); ;
5721 #line 1917 "parse.y"
5722 { yyval
.ftype
.t
= get_decl_list (yyvsp
[0].ftype
.t
);
5723 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5726 #line 1920 "parse.y"
5727 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyvsp
[-1].ftype
.t
);
5728 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5731 #line 1923 "parse.y"
5732 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
5733 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5736 #line 1926 "parse.y"
5737 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, chainon (yyvsp
[0].ttype
, yyvsp
[-2].ftype
.t
));
5738 yyval
.ftype
.new_type_flag
= yyvsp
[-2].ftype
.new_type_flag
; ;
5741 #line 1932 "parse.y"
5742 { yyval
.ttype
= build_decl_list (NULL_TREE
, yyvsp
[0].ftype
.t
); ;
5745 #line 1934 "parse.y"
5746 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyvsp
[-1].ttype
); ;
5749 #line 1944 "parse.y"
5750 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
5753 #line 1946 "parse.y"
5754 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
5757 #line 1948 "parse.y"
5758 { yyval
.ftype
.t
= TREE_TYPE (yyvsp
[-1].ttype
);
5759 yyval
.ftype
.new_type_flag
= 0; ;
5762 #line 1951 "parse.y"
5763 { yyval
.ftype
.t
= groktypename (yyvsp
[-1].ftype
.t
);
5764 yyval
.ftype
.new_type_flag
= 0; ;
5767 #line 1954 "parse.y"
5768 { tree type
= TREE_TYPE (yyvsp
[-1].ttype
);
5770 yyval
.ftype
.new_type_flag
= 0;
5771 if (IS_AGGR_TYPE (type
))
5773 sorry ("sigof type specifier");
5774 yyval
.ftype
.t
= type
;
5778 error ("`sigof' applied to non-aggregate expression");
5779 yyval
.ftype
.t
= error_mark_node
;
5784 #line 1969 "parse.y"
5785 { tree type
= groktypename (yyvsp
[-1].ftype
.t
);
5787 yyval
.ftype
.new_type_flag
= 0;
5788 if (IS_AGGR_TYPE (type
))
5790 sorry ("sigof type specifier");
5791 yyval
.ftype
.t
= type
;
5795 error("`sigof' applied to non-aggregate type");
5796 yyval
.ftype
.t
= error_mark_node
;
5801 #line 1989 "parse.y"
5802 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
5805 #line 1991 "parse.y"
5806 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
5809 #line 2012 "parse.y"
5810 { yyval
.ttype
= NULL_TREE
; ;
5813 #line 2014 "parse.y"
5814 { if (TREE_CHAIN (yyvsp
[-1].ttype
)) yyvsp
[-1].ttype
= combine_strings (yyvsp
[-1].ttype
); yyval
.ttype
= yyvsp
[-1].ttype
; ;
5817 #line 2019 "parse.y"
5818 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
5819 &prefix_attributes
);
5820 if (current_declspecs
5821 && TREE_CODE (current_declspecs
) != TREE_LIST
)
5822 current_declspecs
= get_decl_list (current_declspecs
);
5823 if (have_extern_spec
&& !used_extern_spec
)
5825 current_declspecs
= decl_tree_cons
5826 (NULL_TREE
, get_identifier ("extern"),
5828 used_extern_spec
= 1;
5830 yyvsp
[0].itype
= suspend_momentary ();
5831 yyval
.ttype
= start_decl (yyvsp
[-3].ttype
, current_declspecs
, 1);
5832 cplus_decl_attributes (yyval
.ttype
, yyvsp
[-1].ttype
, prefix_attributes
); ;
5835 #line 2036 "parse.y"
5836 { cp_finish_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, yyvsp
[-4].ttype
, 1, LOOKUP_ONLYCONVERTING
);
5837 yyval
.itype
= yyvsp
[-2].itype
; ;
5840 #line 2039 "parse.y"
5842 split_specs_attrs (yyvsp
[-3].ttype
, ¤t_declspecs
,
5843 &prefix_attributes
);
5844 if (current_declspecs
5845 && TREE_CODE (current_declspecs
) != TREE_LIST
)
5846 current_declspecs
= get_decl_list (current_declspecs
);
5847 if (have_extern_spec
&& !used_extern_spec
)
5849 current_declspecs
= decl_tree_cons
5850 (NULL_TREE
, get_identifier ("extern"),
5852 used_extern_spec
= 1;
5854 yyval
.itype
= suspend_momentary ();
5855 d
= start_decl (yyvsp
[-2].ttype
, current_declspecs
, 0);
5856 cplus_decl_attributes (d
, yyvsp
[0].ttype
, prefix_attributes
);
5857 cp_finish_decl (d
, NULL_TREE
, yyvsp
[-1].ttype
, 1, 0); ;
5860 #line 2060 "parse.y"
5861 { yyval
.ttype
= start_decl (yyvsp
[-3].ttype
, current_declspecs
, 1);
5862 cplus_decl_attributes (yyval
.ttype
, yyvsp
[-1].ttype
, prefix_attributes
); ;
5865 #line 2064 "parse.y"
5866 { cp_finish_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, yyvsp
[-4].ttype
, 1, LOOKUP_ONLYCONVERTING
); ;
5869 #line 2066 "parse.y"
5870 { yyval
.ttype
= start_decl (yyvsp
[-2].ttype
, current_declspecs
, 0);
5871 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
);
5872 cp_finish_decl (yyval
.ttype
, NULL_TREE
, yyvsp
[-1].ttype
, 1, 0); ;
5875 #line 2073 "parse.y"
5876 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
5877 &prefix_attributes
);
5878 yyvsp
[0].itype
= suspend_momentary ();
5879 yyval
.ttype
= start_decl (yyvsp
[-3].ttype
, current_declspecs
, 1);
5880 cplus_decl_attributes (yyval
.ttype
, yyvsp
[-1].ttype
, prefix_attributes
); ;
5883 #line 2080 "parse.y"
5884 { cp_finish_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, yyvsp
[-4].ttype
, 1, LOOKUP_ONLYCONVERTING
);
5885 yyval
.itype
= yyvsp
[-2].itype
; ;
5888 #line 2083 "parse.y"
5890 split_specs_attrs (yyvsp
[-3].ttype
, ¤t_declspecs
,
5891 &prefix_attributes
);
5892 yyval
.itype
= suspend_momentary ();
5893 d
= start_decl (yyvsp
[-2].ttype
, current_declspecs
, 0);
5894 cplus_decl_attributes (d
, yyvsp
[0].ttype
, prefix_attributes
);
5895 cp_finish_decl (d
, NULL_TREE
, yyvsp
[-1].ttype
, 1, 0); ;
5898 #line 2094 "parse.y"
5899 { current_declspecs
= NULL_TREE
;
5900 prefix_attributes
= NULL_TREE
;
5901 yyvsp
[0].itype
= suspend_momentary ();
5902 yyval
.ttype
= start_decl (yyvsp
[-3].ttype
, current_declspecs
, 1);
5903 cplus_decl_attributes (yyval
.ttype
, yyvsp
[-1].ttype
, prefix_attributes
); ;
5906 #line 2101 "parse.y"
5907 { cp_finish_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, yyvsp
[-4].ttype
, 1, LOOKUP_ONLYCONVERTING
);
5908 yyval
.itype
= yyvsp
[-2].itype
; ;
5911 #line 2104 "parse.y"
5913 current_declspecs
= NULL_TREE
;
5914 prefix_attributes
= NULL_TREE
;
5915 yyval
.itype
= suspend_momentary ();
5916 d
= start_decl (yyvsp
[-2].ttype
, current_declspecs
, 0);
5917 cplus_decl_attributes (d
, yyvsp
[0].ttype
, prefix_attributes
);
5918 cp_finish_decl (d
, NULL_TREE
, yyvsp
[-1].ttype
, 1, 0); ;
5921 #line 2117 "parse.y"
5922 { yyval
.ttype
= NULL_TREE
; ;
5925 #line 2119 "parse.y"
5926 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5929 #line 2124 "parse.y"
5930 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5933 #line 2126 "parse.y"
5934 { yyval
.ttype
= chainon (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
5937 #line 2131 "parse.y"
5938 { yyval
.ttype
= yyvsp
[-2].ttype
; ;
5941 #line 2136 "parse.y"
5942 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5945 #line 2138 "parse.y"
5946 { yyval
.ttype
= chainon (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
5949 #line 2143 "parse.y"
5950 { yyval
.ttype
= NULL_TREE
; ;
5953 #line 2145 "parse.y"
5954 { yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, NULL_TREE
); ;
5957 #line 2147 "parse.y"
5958 { yyval
.ttype
= build_tree_list (yyvsp
[-3].ttype
, build_tree_list (NULL_TREE
, yyvsp
[-1].ttype
)); ;
5961 #line 2149 "parse.y"
5962 { yyval
.ttype
= build_tree_list (yyvsp
[-5].ttype
, tree_cons (NULL_TREE
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
)); ;
5965 #line 2151 "parse.y"
5966 { yyval
.ttype
= build_tree_list (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5969 #line 2167 "parse.y"
5970 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ttype
); ;
5973 #line 2169 "parse.y"
5974 { yyval
.ttype
= chainon (yyvsp
[-2].ttype
, build_tree_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
5977 #line 2174 "parse.y"
5978 { yyval
.ttype
= NULL_TREE
; ;
5981 #line 2176 "parse.y"
5982 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5985 #line 2184 "parse.y"
5986 { yyval
.ttype
= build_nt (CONSTRUCTOR
, NULL_TREE
, NULL_TREE
);
5987 TREE_HAS_CONSTRUCTOR (yyval
.ttype
) = 1; ;
5990 #line 2187 "parse.y"
5991 { yyval
.ttype
= build_nt (CONSTRUCTOR
, NULL_TREE
, nreverse (yyvsp
[-1].ttype
));
5992 TREE_HAS_CONSTRUCTOR (yyval
.ttype
) = 1; ;
5995 #line 2190 "parse.y"
5996 { yyval
.ttype
= build_nt (CONSTRUCTOR
, NULL_TREE
, nreverse (yyvsp
[-2].ttype
));
5997 TREE_HAS_CONSTRUCTOR (yyval
.ttype
) = 1; ;
6000 #line 2193 "parse.y"
6001 { yyval
.ttype
= NULL_TREE
; ;
6004 #line 2200 "parse.y"
6005 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyval
.ttype
); ;
6008 #line 2202 "parse.y"
6009 { yyval
.ttype
= expr_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
6012 #line 2205 "parse.y"
6013 { yyval
.ttype
= build_expr_list (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
6016 #line 2207 "parse.y"
6017 { yyval
.ttype
= expr_tree_cons (yyvsp
[-2].ttype
, yyvsp
[0].ttype
, yyval
.ttype
); ;
6020 #line 2209 "parse.y"
6021 { yyval
.ttype
= build_expr_list (yyval
.ttype
, yyvsp
[0].ttype
); ;
6024 #line 2211 "parse.y"
6025 { yyval
.ttype
= expr_tree_cons (yyvsp
[-2].ttype
, yyvsp
[0].ttype
, yyval
.ttype
); ;
6028 #line 2216 "parse.y"
6029 { start_function (NULL_TREE
, TREE_VALUE (yyvsp
[0].ttype
),
6031 reinit_parse_for_function (); ;
6034 #line 2222 "parse.y"
6036 int nested
= (hack_decl_function_context
6037 (current_function_decl
) != NULL_TREE
);
6038 finish_function (lineno
, (int)yyvsp
[-1].itype
, nested
);
6039 process_next_inline (yyvsp
[-3].ttype
);
6043 #line 2229 "parse.y"
6044 { process_next_inline (yyvsp
[-2].ttype
); ;
6047 #line 2231 "parse.y"
6048 { process_next_inline (yyvsp
[-2].ttype
); ;
6051 #line 2243 "parse.y"
6052 { replace_defarg (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
6055 #line 2245 "parse.y"
6056 { replace_defarg (yyvsp
[-2].ttype
, error_mark_node
); ;
6059 #line 2250 "parse.y"
6060 { do_pending_defargs (); ;
6063 #line 2252 "parse.y"
6064 { do_pending_defargs (); ;
6067 #line 2257 "parse.y"
6068 { yyvsp
[0].itype
= suspend_momentary ();
6069 yyval
.ttype
= start_enum (yyvsp
[-1].ttype
); ;
6072 #line 2260 "parse.y"
6073 { yyval
.ftype
.t
= finish_enum (yyvsp
[-3].ttype
, yyvsp
[-2].ttype
);
6074 yyval
.ftype
.new_type_flag
= 1;
6075 resume_momentary ((int) yyvsp
[-4].itype
);
6076 check_for_missing_semicolon (yyvsp
[-3].ttype
); ;
6079 #line 2265 "parse.y"
6080 { yyval
.ftype
.t
= finish_enum (start_enum (yyvsp
[-2].ttype
), NULL_TREE
);
6081 yyval
.ftype
.new_type_flag
= 1;
6082 check_for_missing_semicolon (yyval
.ftype
.t
); ;
6085 #line 2269 "parse.y"
6086 { yyvsp
[0].itype
= suspend_momentary ();
6087 yyval
.ttype
= start_enum (make_anon_name ()); ;
6090 #line 2272 "parse.y"
6091 { yyval
.ftype
.t
= finish_enum (yyvsp
[-3].ttype
, yyvsp
[-2].ttype
);
6092 resume_momentary ((int) yyvsp
[-5].itype
);
6093 check_for_missing_semicolon (yyvsp
[-3].ttype
);
6094 yyval
.ftype
.new_type_flag
= 1; ;
6097 #line 2277 "parse.y"
6098 { yyval
.ftype
.t
= finish_enum (start_enum (make_anon_name()), NULL_TREE
);
6099 yyval
.ftype
.new_type_flag
= 1;
6100 check_for_missing_semicolon (yyval
.ftype
.t
); ;
6103 #line 2281 "parse.y"
6104 { yyval
.ftype
.t
= xref_tag (enum_type_node
, yyvsp
[0].ttype
, NULL_TREE
, 1);
6105 yyval
.ftype
.new_type_flag
= 0; ;
6108 #line 2284 "parse.y"
6109 { yyval
.ftype
.t
= xref_tag (enum_type_node
, yyvsp
[0].ttype
, NULL_TREE
, 1);
6110 yyval
.ftype
.new_type_flag
= 0; ;
6113 #line 2287 "parse.y"
6114 { yyval
.ftype
.t
= yyvsp
[0].ttype
;
6115 yyval
.ftype
.new_type_flag
= 0; ;
6118 #line 2292 "parse.y"
6122 yyval
.ttype
= yyvsp
[-4].ttype
;
6124 /* Need to rework class nesting in the
6125 presence of nested classes, etc. */
6126 shadow_tag (CLASSTYPE_AS_LIST (yyvsp
[-4].ttype
)); */
6128 if (yychar
== YYEMPTY
)
6130 semi
= yychar
== ';';
6131 /* finish_struct nukes this anyway; if
6132 finish_exception does too, then it can go. */
6134 note_got_semicolon (yyvsp
[-4].ttype
);
6136 if (TREE_CODE (yyvsp
[-4].ttype
) == ENUMERAL_TYPE
)
6140 yyval
.ttype
= finish_struct (yyvsp
[-4].ttype
, yyvsp
[-2].ttype
, yyvsp
[0].ttype
, semi
);
6141 if (semi
) note_got_semicolon (yyval
.ttype
);
6147 check_for_missing_semicolon (yyvsp
[-4].ttype
);
6148 if (current_scope () == current_function_decl
)
6149 do_pending_defargs ();
6153 #line 2325 "parse.y"
6156 && current_scope () == current_function_decl
)
6157 do_pending_inlines ();
6161 #line 2331 "parse.y"
6163 yyval
.ftype
.t
= yyvsp
[-3].ttype
;
6164 yyval
.ftype
.new_type_flag
= 1;
6165 if (current_class_type
== NULL_TREE
)
6166 clear_inline_text_obstack ();
6168 /* Undo the begin_tree in left_curly. */
6173 #line 2341 "parse.y"
6175 yyval
.ftype
.new_type_flag
= 0;
6176 if (TYPE_BINFO (yyvsp
[0].ttype
) == NULL_TREE
)
6178 cp_error ("%T is not a class type", yyvsp
[0].ttype
);
6179 yyval
.ftype
.t
= error_mark_node
;
6183 yyval
.ftype
.t
= yyvsp
[0].ttype
;
6184 /* struct B: public A; is not accepted by the WP grammar. */
6185 if (TYPE_BINFO_BASETYPES (yyval
.ftype
.t
) && !TYPE_SIZE (yyval
.ftype
.t
)
6186 && ! TYPE_BEING_DEFINED (yyval
.ftype
.t
))
6187 cp_error ("base clause without member specification for `%#T'",
6193 #line 2368 "parse.y"
6194 { if (pedantic
&& !in_system_header
)
6195 pedwarn ("comma at end of enumerator list"); ;
6198 #line 2375 "parse.y"
6199 { error ("storage class specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp
[0].ttype
)); ;
6202 #line 2377 "parse.y"
6203 { error ("type specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp
[0].ttype
)); ;
6206 #line 2379 "parse.y"
6207 { error ("type qualifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp
[0].ttype
)); ;
6210 #line 2381 "parse.y"
6211 { error ("no body nor ';' separates two class, struct or union declarations"); ;
6214 #line 2386 "parse.y"
6215 { current_aggr
= yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
6218 #line 2391 "parse.y"
6219 { current_aggr
= yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
6222 #line 2396 "parse.y"
6224 current_aggr
= yyvsp
[-2].ttype
;
6225 yyval
.ttype
= handle_class_head (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6229 #line 2401 "parse.y"
6231 current_aggr
= yyvsp
[-3].ttype
;
6232 yyval
.ttype
= handle_class_head (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6236 #line 2406 "parse.y"
6238 current_aggr
= yyvsp
[-2].ttype
;
6239 yyval
.ttype
= handle_class_head (yyvsp
[-2].ttype
, NULL_TREE
, yyvsp
[0].ttype
);
6243 #line 2411 "parse.y"
6244 { current_aggr
= yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
6247 #line 2413 "parse.y"
6248 { current_aggr
= yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
6251 #line 2418 "parse.y"
6252 { yyval
.ttype
= xref_tag (current_aggr
, yyvsp
[0].ttype
, NULL_TREE
, 0); ;
6255 #line 2423 "parse.y"
6256 { yyval
.ttype
= xref_tag (current_aggr
, yyvsp
[0].ttype
, NULL_TREE
, 1); ;
6259 #line 2426 "parse.y"
6261 yyval
.ttype
= yyvsp
[-1].ttype
;
6263 xref_basetypes (current_aggr
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6267 #line 2432 "parse.y"
6269 yyval
.ttype
= TREE_TYPE (yyvsp
[-1].ttype
);
6270 if (TREE_INT_CST_LOW (current_aggr
) == union_type
6271 && TREE_CODE (yyval
.ttype
) != UNION_TYPE
)
6272 cp_pedwarn ("`union' tag used in declaring `%#T'", yyval
.ttype
);
6273 else if (TREE_CODE (yyval
.ttype
) == UNION_TYPE
6274 && TREE_INT_CST_LOW (current_aggr
) != union_type
)
6275 cp_pedwarn ("non-`union' tag used in declaring `%#T'", yyval
.ttype
);
6278 if (IS_AGGR_TYPE (yyval
.ttype
) && CLASSTYPE_USE_TEMPLATE (yyval
.ttype
))
6280 if (CLASSTYPE_IMPLICIT_INSTANTIATION (yyval
.ttype
)
6281 && TYPE_SIZE (yyval
.ttype
) == NULL_TREE
)
6283 SET_CLASSTYPE_TEMPLATE_SPECIALIZATION (yyval
.ttype
);
6284 if (processing_template_decl
)
6285 push_template_decl (TYPE_MAIN_DECL (yyval
.ttype
));
6287 else if (CLASSTYPE_TEMPLATE_INSTANTIATION (yyval
.ttype
))
6288 cp_error ("specialization after instantiation of `%T'", yyval
.ttype
);
6290 xref_basetypes (current_aggr
, yyvsp
[-1].ttype
, yyval
.ttype
, yyvsp
[0].ttype
);
6295 #line 2461 "parse.y"
6296 { yyval
.ttype
= xref_tag (yyval
.ttype
, make_anon_name (), NULL_TREE
, 0);
6297 yyungetc ('{', 1); ;
6300 #line 2472 "parse.y"
6301 { yyval
.ttype
= NULL_TREE
; ;
6304 #line 2474 "parse.y"
6305 { yyungetc(':', 1); yyval
.ttype
= NULL_TREE
; ;
6308 #line 2476 "parse.y"
6309 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6312 #line 2482 "parse.y"
6313 { yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
); ;
6316 #line 2487 "parse.y"
6318 tree type
= TREE_TYPE (yyvsp
[0].ttype
);
6319 if (! is_aggr_type (type
, 1))
6320 yyval
.ttype
= NULL_TREE
;
6321 else if (current_aggr
== signature_type_node
6322 && (! type
) && (! IS_SIGNATURE (type
)))
6324 error ("class name not allowed as base signature");
6325 yyval
.ttype
= NULL_TREE
;
6327 else if (current_aggr
== signature_type_node
)
6329 sorry ("signature inheritance, base type `%s' ignored",
6330 IDENTIFIER_POINTER (yyval
.ttype
));
6331 yyval
.ttype
= build_tree_list (access_public_node
, type
);
6333 else if (type
&& IS_SIGNATURE (type
))
6335 error ("signature name not allowed as base class");
6336 yyval
.ttype
= NULL_TREE
;
6339 yyval
.ttype
= build_tree_list (access_default_node
, type
);
6343 #line 2512 "parse.y"
6345 tree type
= TREE_TYPE (yyvsp
[0].ttype
);
6346 if (current_aggr
== signature_type_node
)
6347 error ("access and source specifiers not allowed in signature");
6348 if (! IS_AGGR_TYPE (type
))
6349 yyval
.ttype
= NULL_TREE
;
6350 else if (current_aggr
== signature_type_node
6351 && (! type
) && (! IS_SIGNATURE (type
)))
6353 error ("class name not allowed as base signature");
6354 yyval
.ttype
= NULL_TREE
;
6356 else if (current_aggr
== signature_type_node
)
6358 sorry ("signature inheritance, base type `%s' ignored",
6359 IDENTIFIER_POINTER (yyval
.ttype
));
6360 yyval
.ttype
= build_tree_list (access_public_node
, type
);
6362 else if (type
&& IS_SIGNATURE (type
))
6364 error ("signature name not allowed as base class");
6365 yyval
.ttype
= NULL_TREE
;
6368 yyval
.ttype
= build_tree_list (yyval
.ttype
, type
);
6372 #line 2542 "parse.y"
6373 { yyval
.ttype
= TYPE_MAIN_DECL (yyvsp
[0].ttype
); ;
6376 #line 2545 "parse.y"
6378 if (current_aggr
== signature_type_node
)
6380 if (IS_AGGR_TYPE (TREE_TYPE (yyvsp
[-1].ttype
)))
6382 sorry ("`sigof' as base signature specifier");
6383 yyval
.ttype
= TREE_TYPE (yyvsp
[-1].ttype
);
6387 error ("`sigof' applied to non-aggregate expression");
6388 yyval
.ttype
= error_mark_node
;
6393 error ("`sigof' in struct or class declaration");
6394 yyval
.ttype
= error_mark_node
;
6399 #line 2566 "parse.y"
6401 if (current_aggr
== signature_type_node
)
6403 if (IS_AGGR_TYPE (groktypename (yyvsp
[-1].ftype
.t
)))
6405 sorry ("`sigof' as base signature specifier");
6406 yyval
.ttype
= groktypename (yyvsp
[-1].ftype
.t
);
6410 error ("`sigof' applied to non-aggregate expression");
6411 yyval
.ttype
= error_mark_node
;
6416 error ("`sigof' in struct or class declaration");
6417 yyval
.ttype
= error_mark_node
;
6422 #line 2591 "parse.y"
6423 { if (yyval
.ttype
!= ridpointers
[(int)RID_VIRTUAL
])
6424 sorry ("non-virtual access");
6425 yyval
.ttype
= access_default_virtual_node
; ;
6428 #line 2595 "parse.y"
6430 if (yyvsp
[-1].ttype
== access_protected_node
)
6432 warning ("`protected' access not implemented");
6433 yyvsp
[-1].ttype
= access_public_node
;
6436 else if (yyvsp
[-1].ttype
== access_public_node
)
6438 if (yyvsp
[-2].ttype
== access_private_node
)
6441 error ("base class cannot be public and private");
6443 else if (yyvsp
[-2].ttype
== access_default_virtual_node
)
6444 yyval
.ttype
= access_public_virtual_node
;
6446 else /* $2 == access_private_node */
6448 if (yyvsp
[-2].ttype
== access_public_node
)
6450 else if (yyvsp
[-2].ttype
== access_default_virtual_node
)
6451 yyval
.ttype
= access_private_virtual_node
;
6456 #line 2621 "parse.y"
6457 { if (yyvsp
[-1].ttype
!= ridpointers
[(int)RID_VIRTUAL
])
6458 sorry ("non-virtual access");
6459 if (yyval
.ttype
== access_public_node
)
6460 yyval
.ttype
= access_public_virtual_node
;
6461 else if (yyval
.ttype
== access_private_node
)
6462 yyval
.ttype
= access_private_virtual_node
; ;
6465 #line 2631 "parse.y"
6466 { tree t
= yyvsp
[-1].ttype
;
6467 push_obstacks_nochange ();
6468 end_temporary_allocation ();
6470 if (t
== error_mark_node
6471 || ! IS_AGGR_TYPE (t
))
6473 t
= yyvsp
[-1].ttype
= make_lang_type (RECORD_TYPE
);
6474 pushtag (make_anon_name (), t
, 0);
6477 duplicate_tag_error (t
);
6478 if (TYPE_SIZE (t
) || TYPE_BEING_DEFINED (t
))
6480 t
= make_lang_type (TREE_CODE (t
));
6481 pushtag (TYPE_IDENTIFIER (yyvsp
[-1].ttype
), t
, 0);
6482 yyvsp
[-1].ttype
= t
;
6484 if (processing_template_decl
&& TYPE_CONTEXT (t
)
6485 && ! current_class_type
)
6486 push_template_decl (TYPE_STUB_DECL (t
));
6488 TYPE_BEING_DEFINED (t
) = 1;
6489 if (IS_AGGR_TYPE (t
) && CLASSTYPE_USE_TEMPLATE (t
))
6491 if (CLASSTYPE_IMPLICIT_INSTANTIATION (t
)
6492 && TYPE_SIZE (t
) == NULL_TREE
)
6494 SET_CLASSTYPE_TEMPLATE_SPECIALIZATION (t
);
6495 if (processing_template_decl
)
6496 push_template_decl (TYPE_MAIN_DECL (t
));
6498 else if (CLASSTYPE_TEMPLATE_INSTANTIATION (t
))
6499 cp_error ("specialization after instantiation of `%T'", t
);
6501 /* Reset the interface data, at the earliest possible
6502 moment, as it might have been set via a class foo;
6504 /* Don't change signatures. */
6505 if (! IS_SIGNATURE (t
))
6507 extern tree pending_vtables
;
6509 tree name
= TYPE_IDENTIFIER (t
);
6511 if (! ANON_AGGRNAME_P (name
))
6513 CLASSTYPE_INTERFACE_ONLY (t
) = interface_only
;
6514 SET_CLASSTYPE_INTERFACE_UNKNOWN_X
6515 (t
, interface_unknown
);
6518 /* Record how to set the access of this class's
6519 virtual functions. If write_virtuals == 2 or 3, then
6520 inline virtuals are ``extern inline''. */
6521 switch (write_virtuals
)
6528 needs_writing
= !! value_member (name
, pending_vtables
);
6531 needs_writing
= ! CLASSTYPE_INTERFACE_ONLY (t
)
6532 && CLASSTYPE_INTERFACE_KNOWN (t
);
6537 CLASSTYPE_VTABLE_NEEDS_WRITING (t
) = needs_writing
;
6540 t
= TYPE_IDENTIFIER (yyvsp
[-1].ttype
);
6541 if (t
&& IDENTIFIER_TEMPLATE (t
))
6542 overload_template_name (t
, 1);
6544 reset_specialization();
6546 /* In case this is a local class within a template
6547 function, we save the current tree structure so
6548 that we can get it back later. */
6553 #line 2720 "parse.y"
6555 yyval
.ttype
= build_self_reference ();
6559 #line 2727 "parse.y"
6560 { if (yyval
.ttype
) yyval
.ttype
= build_tree_list (access_public_node
, yyval
.ttype
); ;
6563 #line 2729 "parse.y"
6565 if (current_aggr
== signature_type_node
)
6566 yyval
.ttype
= build_tree_list (access_public_node
, yyvsp
[0].ttype
);
6568 yyval
.ttype
= build_tree_list (access_default_node
, yyvsp
[0].ttype
);
6569 if (yyvsp
[-1].ttype
) yyval
.ttype
= tree_cons (access_public_node
, yyvsp
[-1].ttype
, yyval
.ttype
);
6573 #line 2737 "parse.y"
6575 tree visspec
= yyvsp
[-2].ttype
;
6577 if (current_aggr
== signature_type_node
)
6579 error ("access specifier not allowed in signature");
6580 visspec
= access_public_node
;
6582 yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (visspec
, yyvsp
[0].ttype
));
6586 #line 2748 "parse.y"
6588 if (current_aggr
== signature_type_node
)
6589 error ("access specifier not allowed in signature");
6593 #line 2758 "parse.y"
6594 { if (yyval
.ttype
== void_type_node
) yyval
.ttype
= NULL_TREE
;
6598 #line 2761 "parse.y"
6599 { /* In pushdecl, we created a reverse list of names
6600 in this binding level. Make sure that the chain
6601 of what we're trying to add isn't the item itself
6602 (which can happen with what pushdecl's doing). */
6603 if (yyvsp
[0].ttype
!= NULL_TREE
&& yyvsp
[0].ttype
!= void_type_node
)
6605 if (TREE_CHAIN (yyvsp
[0].ttype
) != yyval
.ttype
)
6606 yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
);
6608 yyval
.ttype
= yyvsp
[0].ttype
;
6613 #line 2777 "parse.y"
6617 #line 2779 "parse.y"
6618 { error ("missing ';' before right brace");
6619 yyungetc ('}', 0); ;
6622 #line 2784 "parse.y"
6623 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6626 #line 2786 "parse.y"
6627 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6630 #line 2788 "parse.y"
6631 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6634 #line 2790 "parse.y"
6635 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6638 #line 2792 "parse.y"
6639 { yyval
.ttype
= NULL_TREE
; ;
6642 #line 2794 "parse.y"
6643 { yyval
.ttype
= yyvsp
[0].ttype
;
6644 pedantic
= yyvsp
[-1].itype
; ;
6647 #line 2803 "parse.y"
6648 { yyval
.ttype
= grok_x_components (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6651 #line 2805 "parse.y"
6652 { yyval
.ttype
= grok_x_components (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6655 #line 2807 "parse.y"
6656 { yyval
.ttype
= grokfield (yyval
.ttype
, NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6657 build_tree_list (yyvsp
[-1].ttype
, NULL_TREE
)); ;
6660 #line 2810 "parse.y"
6661 { yyval
.ttype
= grokfield (yyval
.ttype
, NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6662 build_tree_list (yyvsp
[-1].ttype
, NULL_TREE
)); ;
6665 #line 2813 "parse.y"
6666 { yyval
.ttype
= grokbitfield (NULL_TREE
, NULL_TREE
, yyvsp
[0].ttype
); ;
6669 #line 2815 "parse.y"
6670 { yyval
.ttype
= NULL_TREE
; ;
6673 #line 2826 "parse.y"
6674 { tree specs
, attrs
;
6675 split_specs_attrs (yyvsp
[-4].ttype
, &specs
, &attrs
);
6676 yyval
.ttype
= grokfield (yyvsp
[-3].ttype
, specs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6677 build_tree_list (yyvsp
[-1].ttype
, attrs
)); ;
6680 #line 2831 "parse.y"
6681 { yyval
.ttype
= grokfield (yyval
.ttype
, NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6682 build_tree_list (yyvsp
[-1].ttype
, NULL_TREE
)); ;
6685 #line 2834 "parse.y"
6686 { yyval
.ttype
= do_class_using_decl (yyvsp
[0].ttype
); ;
6689 #line 2836 "parse.y"
6690 { yyval
.ttype
= finish_member_template_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6693 #line 2842 "parse.y"
6694 { yyval
.ttype
= NULL_TREE
; ;
6697 #line 2845 "parse.y"
6699 /* In this context, void_type_node encodes
6700 friends. They have been recorded elsewhere. */
6701 if (yyval
.ttype
== void_type_node
)
6702 yyval
.ttype
= yyvsp
[0].ttype
;
6704 yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
);
6708 #line 2857 "parse.y"
6709 { yyval
.ttype
= NULL_TREE
; ;
6712 #line 2860 "parse.y"
6714 /* In this context, void_type_node encodes
6715 friends. They have been recorded elsewhere. */
6716 if (yyval
.ttype
== void_type_node
)
6717 yyval
.ttype
= yyvsp
[0].ttype
;
6719 yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
);
6723 #line 2882 "parse.y"
6724 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6725 &prefix_attributes
);
6726 yyvsp
[-4].ttype
= current_declspecs
;
6727 yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6728 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6731 #line 2888 "parse.y"
6732 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6733 &prefix_attributes
);
6734 yyvsp
[-4].ttype
= current_declspecs
;
6735 yyval
.ttype
= grokbitfield (yyval
.ttype
, current_declspecs
, yyvsp
[-1].ttype
);
6736 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6739 #line 2897 "parse.y"
6740 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6741 &prefix_attributes
);
6742 yyvsp
[-4].ttype
= current_declspecs
;
6743 yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6744 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6747 #line 2903 "parse.y"
6748 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6749 &prefix_attributes
);
6750 yyvsp
[-4].ttype
= current_declspecs
;
6751 yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6752 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6755 #line 2909 "parse.y"
6756 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6757 &prefix_attributes
);
6758 yyvsp
[-4].ttype
= current_declspecs
;
6759 yyval
.ttype
= grokbitfield (yyval
.ttype
, current_declspecs
, yyvsp
[-1].ttype
);
6760 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6763 #line 2915 "parse.y"
6764 { split_specs_attrs (yyvsp
[-3].ttype
, ¤t_declspecs
,
6765 &prefix_attributes
);
6766 yyvsp
[-3].ttype
= current_declspecs
;
6767 yyval
.ttype
= grokbitfield (NULL_TREE
, current_declspecs
, yyvsp
[-1].ttype
);
6768 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6771 #line 2924 "parse.y"
6772 { yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6773 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6776 #line 2927 "parse.y"
6777 { yyval
.ttype
= grokbitfield (yyval
.ttype
, current_declspecs
, yyvsp
[-1].ttype
);
6778 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6781 #line 2933 "parse.y"
6782 { yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6783 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6786 #line 2936 "parse.y"
6787 { yyval
.ttype
= grokbitfield (yyval
.ttype
, current_declspecs
, yyvsp
[-1].ttype
);
6788 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6791 #line 2939 "parse.y"
6792 { yyval
.ttype
= grokbitfield (NULL_TREE
, current_declspecs
, yyvsp
[-1].ttype
);
6793 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6796 #line 2950 "parse.y"
6797 { TREE_CHAIN (yyvsp
[0].ttype
) = yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
6800 #line 2955 "parse.y"
6801 { yyval
.ttype
= build_enumerator (yyval
.ttype
, NULL_TREE
); ;
6804 #line 2957 "parse.y"
6805 { yyval
.ttype
= build_enumerator (yyval
.ttype
, yyvsp
[0].ttype
); ;
6808 #line 2963 "parse.y"
6809 { yyval
.ftype
.t
= build_decl_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
6810 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
6813 #line 2966 "parse.y"
6814 { yyval
.ftype
.t
= build_decl_list (yyvsp
[0].ftype
.t
, NULL_TREE
);
6815 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
6818 #line 2971 "parse.y"
6821 pedwarn ("ANSI C++ forbids array dimensions with parenthesized type in new");
6822 yyval
.ftype
.t
= build_parse_node (ARRAY_REF
, TREE_VALUE (yyvsp
[-4].ftype
.t
), yyvsp
[-1].ttype
);
6823 yyval
.ftype
.t
= build_decl_list (TREE_PURPOSE (yyvsp
[-4].ftype
.t
), yyval
.ftype
.t
);
6824 yyval
.ftype
.new_type_flag
= yyvsp
[-4].ftype
.new_type_flag
;
6828 #line 2982 "parse.y"
6829 { yyval
.ttype
= NULL_TREE
; ;
6832 #line 2984 "parse.y"
6833 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
6836 #line 2989 "parse.y"
6837 { yyval
.ftype
.t
= IDENTIFIER_AS_LIST (yyvsp
[0].ttype
);
6838 yyval
.ftype
.new_type_flag
= 0; ;
6841 #line 2992 "parse.y"
6842 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-1].ftype
.t
);
6843 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
6846 #line 3001 "parse.y"
6847 { yyval
.itype
= suspend_momentary (); ;
6850 #line 3006 "parse.y"
6851 { resume_momentary ((int) yyvsp
[-1].itype
); yyval
.ttype
= yyvsp
[0].ttype
; ;
6854 #line 3012 "parse.y"
6855 { resume_momentary ((int) yyvsp
[-3].itype
); yyval
.ttype
= yyvsp
[-1].ttype
; ;
6858 #line 3014 "parse.y"
6859 { resume_momentary ((int) yyvsp
[-3].itype
); yyval
.ttype
= yyvsp
[-1].ttype
; ;
6862 #line 3016 "parse.y"
6863 { resume_momentary ((int) yyvsp
[-1].itype
); yyval
.ttype
= empty_parms (); ;
6866 #line 3018 "parse.y"
6867 { resume_momentary ((int) yyvsp
[-3].itype
); yyval
.ttype
= NULL_TREE
; ;
6870 #line 3025 "parse.y"
6871 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6874 #line 3027 "parse.y"
6875 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6878 #line 3029 "parse.y"
6879 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6882 #line 3031 "parse.y"
6883 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6886 #line 3033 "parse.y"
6887 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6888 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
6892 #line 3041 "parse.y"
6894 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
6896 yyval
.ttype
= lookup_name (yyvsp
[0].ttype
, 1);
6897 if (current_class_type
6898 && TYPE_BEING_DEFINED (current_class_type
)
6899 && ! IDENTIFIER_CLASS_VALUE (yyvsp
[0].ttype
))
6901 /* Remember that this name has been used in the class
6902 definition, as per [class.scope0] */
6903 pushdecl_class_level (yyval
.ttype
);
6907 yyval
.ttype
= yyvsp
[0].ttype
;
6911 #line 3058 "parse.y"
6913 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
6914 yyval
.ttype
= IDENTIFIER_GLOBAL_VALUE (yyvsp
[0].ttype
);
6916 yyval
.ttype
= yyvsp
[0].ttype
;
6917 got_scope
= NULL_TREE
;
6921 #line 3071 "parse.y"
6922 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6925 #line 3076 "parse.y"
6926 { yyval
.ttype
= get_type_decl (yyvsp
[0].ttype
); ;
6929 #line 3081 "parse.y"
6930 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6933 #line 3083 "parse.y"
6934 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
6937 #line 3085 "parse.y"
6938 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, NULL_TREE
); ;
6941 #line 3087 "parse.y"
6942 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
6945 #line 3089 "parse.y"
6946 { push_nested_class (yyvsp
[-1].ttype
, 3);
6947 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyval
.ttype
, yyvsp
[0].ttype
);
6948 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
; ;
6951 #line 3100 "parse.y"
6952 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6955 #line 3102 "parse.y"
6956 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6959 #line 3104 "parse.y"
6960 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6963 #line 3106 "parse.y"
6964 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6967 #line 3108 "parse.y"
6968 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6969 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
6973 #line 3116 "parse.y"
6974 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6977 #line 3118 "parse.y"
6978 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6981 #line 3120 "parse.y"
6982 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6985 #line 3122 "parse.y"
6986 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6989 #line 3124 "parse.y"
6990 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6991 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
6995 #line 3132 "parse.y"
6996 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6999 #line 3134 "parse.y"
7000 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
7003 #line 3136 "parse.y"
7004 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
7007 #line 3138 "parse.y"
7008 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, NULL_TREE
); ;
7011 #line 3140 "parse.y"
7012 { if (OP0 (yyval
.ttype
) != current_class_type
)
7014 push_nested_class (OP0 (yyval
.ttype
), 3);
7015 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
;
7020 #line 3147 "parse.y"
7021 { got_scope
= NULL_TREE
;
7022 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7023 if (yyvsp
[-1].ttype
!= current_class_type
)
7025 push_nested_class (yyvsp
[-1].ttype
, 3);
7026 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
;
7031 #line 3159 "parse.y"
7032 { got_scope
= NULL_TREE
;
7033 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyval
.ttype
, yyvsp
[0].ttype
); ;
7036 #line 3162 "parse.y"
7037 { got_scope
= NULL_TREE
;
7038 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7041 #line 3168 "parse.y"
7042 { got_scope
= NULL_TREE
;
7043 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyval
.ttype
, yyvsp
[0].ttype
); ;
7046 #line 3171 "parse.y"
7047 { got_scope
= NULL_TREE
;
7048 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7051 #line 3178 "parse.y"
7052 { yyval
.ttype
= yyvsp
[0].ttype
; ;
7055 #line 3183 "parse.y"
7056 { yyval
.ttype
= build_functional_cast (yyvsp
[-3].ftype
.t
, yyvsp
[-1].ttype
); ;
7059 #line 3185 "parse.y"
7060 { yyval
.ttype
= reparse_decl_as_expr (yyvsp
[-3].ftype
.t
, yyvsp
[-1].ttype
); ;
7063 #line 3187 "parse.y"
7064 { yyval
.ttype
= reparse_absdcl_as_expr (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7067 #line 3199 "parse.y"
7068 { yyval
.ttype
= yyvsp
[0].ttype
; ;
7071 #line 3206 "parse.y"
7073 if (TREE_CODE (yyvsp
[-1].ttype
) == IDENTIFIER_NODE
)
7075 yyval
.ttype
= lastiddecl
;
7076 /* Remember that this name has been used in the class
7077 definition, as per [class.scope0] */
7078 if (current_class_type
7079 && TYPE_BEING_DEFINED (current_class_type
)
7080 && ! IDENTIFIER_CLASS_VALUE (yyvsp
[-1].ttype
))
7081 pushdecl_class_level (yyval
.ttype
);
7083 got_scope
= yyval
.ttype
= TREE_TYPE (yyval
.ttype
);
7087 #line 3220 "parse.y"
7089 if (TREE_CODE (yyvsp
[-1].ttype
) == IDENTIFIER_NODE
)
7090 yyval
.ttype
= lastiddecl
;
7091 got_scope
= yyval
.ttype
= TREE_TYPE (yyval
.ttype
);
7095 #line 3226 "parse.y"
7097 if (TREE_CODE (yyval
.ttype
) == IDENTIFIER_NODE
)
7098 yyval
.ttype
= lastiddecl
;
7099 got_scope
= yyval
.ttype
;
7103 #line 3232 "parse.y"
7104 { got_scope
= yyval
.ttype
= complete_type (TREE_TYPE (yyvsp
[-1].ttype
)); ;
7107 #line 3248 "parse.y"
7108 { yyval
.ttype
= yyvsp
[0].ttype
; ;
7111 #line 3253 "parse.y"
7113 if (TREE_CODE_CLASS (TREE_CODE (yyvsp
[-1].ttype
)) == 't')
7114 yyval
.ttype
= make_typename_type (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7115 else if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
7116 cp_error ("`%T' is not a class or namespace", yyvsp
[0].ttype
);
7119 yyval
.ttype
= yyvsp
[0].ttype
;
7120 if (TREE_CODE (yyval
.ttype
) == TYPE_DECL
)
7121 yyval
.ttype
= TREE_TYPE (yyval
.ttype
);
7126 #line 3269 "parse.y"
7128 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
7129 cp_error ("`%T' is not a class or namespace", yyvsp
[0].ttype
);
7133 #line 3274 "parse.y"
7135 if (TREE_CODE_CLASS (TREE_CODE (yyvsp
[-1].ttype
)) == 't')
7136 yyval
.ttype
= make_typename_type (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7137 else if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
7138 cp_error ("`%T' is not a class or namespace", yyvsp
[0].ttype
);
7141 yyval
.ttype
= yyvsp
[0].ttype
;
7142 if (TREE_CODE (yyval
.ttype
) == TYPE_DECL
)
7143 yyval
.ttype
= TREE_TYPE (yyval
.ttype
);
7148 #line 3290 "parse.y"
7150 if (TREE_CODE (yyvsp
[-1].ttype
) != IDENTIFIER_NODE
)
7151 yyvsp
[-1].ttype
= lastiddecl
;
7153 got_scope
= yyval
.ttype
= complete_type (TREE_TYPE (yyvsp
[-1].ttype
));
7155 if (yyval
.ttype
== error_mark_node
)
7156 cp_error ("`%T' is not a class or namespace", yyvsp
[-1].ttype
);
7160 #line 3300 "parse.y"
7162 if (TREE_CODE (yyvsp
[-1].ttype
) != IDENTIFIER_NODE
)
7163 yyval
.ttype
= lastiddecl
;
7164 got_scope
= yyval
.ttype
= complete_type (TREE_TYPE (yyval
.ttype
));
7168 #line 3306 "parse.y"
7169 { got_scope
= yyval
.ttype
= complete_type (TREE_TYPE (yyval
.ttype
)); ;
7172 #line 3310 "parse.y"
7174 if (TREE_CODE (yyval
.ttype
) == IDENTIFIER_NODE
)
7175 yyval
.ttype
= lastiddecl
;
7176 got_scope
= yyval
.ttype
;
7180 #line 3319 "parse.y"
7182 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
7183 yyval
.ttype
= IDENTIFIER_GLOBAL_VALUE (yyvsp
[0].ttype
);
7185 yyval
.ttype
= yyvsp
[0].ttype
;
7186 got_scope
= NULL_TREE
;
7190 #line 3328 "parse.y"
7191 { yyval
.ttype
= yyvsp
[0].ttype
; ;
7194 #line 3333 "parse.y"
7195 { got_scope
= NULL_TREE
; ;
7198 #line 3335 "parse.y"
7199 { yyval
.ttype
= yyvsp
[-1].ttype
; got_scope
= NULL_TREE
; ;
7202 #line 3342 "parse.y"
7203 { got_scope
= void_type_node
; ;
7206 #line 3348 "parse.y"
7207 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7210 #line 3350 "parse.y"
7211 { yyval
.ttype
= make_pointer_declarator (yyvsp
[0].ttype
, NULL_TREE
); ;
7214 #line 3352 "parse.y"
7215 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7218 #line 3354 "parse.y"
7219 { yyval
.ttype
= make_reference_declarator (yyvsp
[0].ttype
, NULL_TREE
); ;
7222 #line 3356 "parse.y"
7223 { tree arg
= make_pointer_declarator (yyvsp
[0].ttype
, NULL_TREE
);
7224 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, arg
);
7228 #line 3360 "parse.y"
7229 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7230 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
7234 #line 3369 "parse.y"
7235 { yyval
.ttype
= build_parse_node (ARRAY_REF
, NULL_TREE
, yyvsp
[-1].ttype
); ;
7238 #line 3371 "parse.y"
7239 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
7242 #line 3377 "parse.y"
7243 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7246 #line 3379 "parse.y"
7247 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
7250 #line 3381 "parse.y"
7251 { yyval
.ttype
= make_pointer_declarator (yyvsp
[0].ftype
.t
, NULL_TREE
); ;
7254 #line 3383 "parse.y"
7255 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, NULL_TREE
); ;
7258 #line 3385 "parse.y"
7259 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7262 #line 3387 "parse.y"
7263 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
7266 #line 3389 "parse.y"
7267 { yyval
.ttype
= make_reference_declarator (yyvsp
[0].ftype
.t
, NULL_TREE
); ;
7270 #line 3391 "parse.y"
7271 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, NULL_TREE
); ;
7274 #line 3393 "parse.y"
7275 { tree arg
= make_pointer_declarator (yyvsp
[0].ttype
, NULL_TREE
);
7276 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, arg
);
7280 #line 3397 "parse.y"
7281 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7282 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
7286 #line 3406 "parse.y"
7287 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
7290 #line 3410 "parse.y"
7291 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7294 #line 3412 "parse.y"
7295 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7298 #line 3414 "parse.y"
7299 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
7302 #line 3416 "parse.y"
7303 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, NULL_TREE
); ;
7306 #line 3418 "parse.y"
7307 { yyval
.ttype
= make_call_declarator (NULL_TREE
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7310 #line 3420 "parse.y"
7311 { set_quals_and_spec (yyval
.ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7314 #line 3422 "parse.y"
7315 { set_quals_and_spec (yyval
.ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7318 #line 3424 "parse.y"
7319 { yyval
.ttype
= build_parse_node (ARRAY_REF
, NULL_TREE
, yyvsp
[-1].ttype
); ;
7322 #line 3426 "parse.y"
7323 { yyval
.ttype
= build_parse_node (ARRAY_REF
, NULL_TREE
, NULL_TREE
); ;
7326 #line 3450 "parse.y"
7327 { do_pushlevel (); ;
7330 #line 3455 "parse.y"
7331 { yyval
.ttype
= do_poplevel (); ;
7334 #line 3463 "parse.y"
7336 pedwarn ("ANSI C++ forbids label declarations"); ;
7339 #line 3474 "parse.y"
7341 for (link
= yyvsp
[-1].ttype
; link
; link
= TREE_CHAIN (link
))
7343 tree label
= shadow_label (TREE_VALUE (link
));
7344 C_DECLARED_LABEL_FLAG (label
) = 1;
7345 declare_nonlocal_label (label
);
7350 #line 3488 "parse.y"
7354 #line 3494 "parse.y"
7356 if (processing_template_decl
)
7358 yyval
.ttype
= build_min_nt (COMPOUND_STMT
, NULL_TREE
);
7359 add_tree (yyval
.ttype
);
7364 #line 3502 "parse.y"
7366 if (processing_template_decl
)
7368 TREE_OPERAND (yyvsp
[-3].ttype
, 0) = TREE_CHAIN (yyvsp
[-3].ttype
);
7369 TREE_CHAIN (yyvsp
[-3].ttype
) = NULL_TREE
;
7370 last_tree
= yyvsp
[-3].ttype
;
7372 yyval
.ttype
= yyvsp
[0].ttype
;
7376 #line 3515 "parse.y"
7378 if (processing_template_decl
)
7380 yyval
.ttype
= build_min_nt (IF_STMT
, NULL_TREE
, NULL_TREE
,
7382 add_tree (yyval
.ttype
);
7384 cond_stmt_keyword
= "if";
7388 #line 3525 "parse.y"
7390 if (processing_template_decl
)
7392 if (last_tree
!= yyvsp
[-2].ttype
)
7394 TREE_OPERAND (yyvsp
[-2].ttype
, 0) = last_tree
;
7395 TREE_CHAIN (yyvsp
[-2].ttype
) = NULL_TREE
;
7396 last_tree
= yyvsp
[-2].ttype
;
7399 TREE_OPERAND (yyvsp
[-2].ttype
, 0) = yyvsp
[0].ttype
;
7403 emit_line_note (input_filename
, lineno
);
7404 expand_start_cond (yyvsp
[0].ttype
, 0);
7409 #line 3544 "parse.y"
7411 if (processing_template_decl
)
7413 TREE_OPERAND (yyvsp
[-4].ttype
, 1) = TREE_CHAIN (yyvsp
[-4].ttype
);
7414 TREE_CHAIN (yyvsp
[-4].ttype
) = NULL_TREE
;
7415 yyval
.ttype
= last_tree
= yyvsp
[-4].ttype
;
7420 #line 3556 "parse.y"
7424 #line 3558 "parse.y"
7426 if (processing_template_decl
)
7428 yyval
.ttype
= build_min_nt (COMPOUND_STMT
, NULL_TREE
);
7429 add_tree (yyval
.ttype
);
7434 #line 3566 "parse.y"
7436 if (processing_template_decl
)
7438 TREE_OPERAND (yyvsp
[-2].ttype
, 0) = TREE_CHAIN (yyvsp
[-2].ttype
);
7439 TREE_CHAIN (yyvsp
[-2].ttype
) = NULL_TREE
;
7440 last_tree
= yyvsp
[-2].ttype
;
7442 yyval
.ttype
= yyvsp
[0].ttype
;
7446 #line 3579 "parse.y"
7450 #line 3585 "parse.y"
7454 #line 3587 "parse.y"
7456 tree expr
= yyvsp
[-1].ttype
;
7457 if (! processing_template_decl
)
7459 emit_line_note (input_filename
, lineno
);
7460 /* Do default conversion if safe and possibly important,
7461 in case within ({...}). */
7462 if ((TREE_CODE (TREE_TYPE (expr
)) == ARRAY_TYPE
7464 || TREE_CODE (TREE_TYPE (expr
)) == FUNCTION_TYPE
)
7465 expr
= default_conversion (expr
);
7467 cplus_expand_expr_stmt (expr
);
7472 #line 3603 "parse.y"
7473 { if (! processing_template_decl
) expand_start_else (); ;
7476 #line 3605 "parse.y"
7478 if (processing_template_decl
)
7480 TREE_OPERAND (yyvsp
[-3].ttype
, 2) = TREE_CHAIN (yyvsp
[-3].ttype
);
7481 TREE_CHAIN (yyvsp
[-3].ttype
) = NULL_TREE
;
7482 last_tree
= yyvsp
[-3].ttype
;
7489 #line 3616 "parse.y"
7493 #line 3618 "parse.y"
7494 { if (! processing_template_decl
) expand_end_cond ();
7499 #line 3622 "parse.y"
7501 if (processing_template_decl
)
7503 yyval
.ttype
= build_min_nt (WHILE_STMT
, NULL_TREE
, NULL_TREE
);
7504 add_tree (yyval
.ttype
);
7509 emit_line_note (input_filename
, lineno
);
7510 expand_start_loop (1);
7512 cond_stmt_keyword
= "while";
7516 #line 3637 "parse.y"
7518 if (processing_template_decl
)
7520 if (last_tree
!= yyvsp
[-2].ttype
)
7522 TREE_OPERAND (yyvsp
[-2].ttype
, 0) = last_tree
;
7523 TREE_CHAIN (yyvsp
[-2].ttype
) = NULL_TREE
;
7524 last_tree
= yyvsp
[-2].ttype
;
7527 TREE_OPERAND (yyvsp
[-2].ttype
, 0) = yyvsp
[0].ttype
;
7531 emit_line_note (input_filename
, lineno
);
7532 expand_exit_loop_if_false (0, yyvsp
[0].ttype
);
7537 #line 3656 "parse.y"
7539 if (processing_template_decl
)
7541 TREE_OPERAND (yyvsp
[-5].ttype
, 1) = TREE_CHAIN (yyvsp
[-5].ttype
);
7542 TREE_CHAIN (yyvsp
[-5].ttype
) = NULL_TREE
;
7543 last_tree
= yyvsp
[-5].ttype
;
7551 #line 3668 "parse.y"
7553 if (processing_template_decl
)
7555 yyval
.ttype
= build_min_nt (DO_STMT
, NULL_TREE
, NULL_TREE
);
7556 add_tree (yyval
.ttype
);
7561 emit_line_note (input_filename
, lineno
);
7562 expand_start_loop_continue_elsewhere (1);
7567 #line 3682 "parse.y"
7569 if (processing_template_decl
)
7571 TREE_OPERAND (yyvsp
[-2].ttype
, 0) = TREE_CHAIN (yyvsp
[-2].ttype
);
7572 TREE_CHAIN (yyvsp
[-2].ttype
) = NULL_TREE
;
7573 last_tree
= yyvsp
[-2].ttype
;
7577 expand_loop_continue_here ();
7578 cond_stmt_keyword
= "do";
7583 #line 3696 "parse.y"
7585 if (processing_template_decl
)
7586 TREE_OPERAND (yyvsp
[-5].ttype
, 1) = yyvsp
[-1].ttype
;
7589 emit_line_note (input_filename
, lineno
);
7590 expand_exit_loop_if_false (0, yyvsp
[-1].ttype
);
7598 #line 3709 "parse.y"
7599 { if (processing_template_decl
)
7601 yyval
.ttype
= build_min_nt (FOR_STMT
, NULL_TREE
, NULL_TREE
,
7602 NULL_TREE
, NULL_TREE
);
7603 add_tree (yyval
.ttype
);
7606 emit_line_note (input_filename
, lineno
);
7607 if (flag_new_for_scope
> 0)
7609 /* Conditionalize .pushlevel */
7611 note_level_for_for ();
7614 expand_start_bindings (0);
7619 #line 3728 "parse.y"
7621 if (processing_template_decl
)
7623 if (last_tree
!= yyvsp
[-2].ttype
)
7625 TREE_OPERAND (yyvsp
[-2].ttype
, 0) = TREE_CHAIN (yyvsp
[-2].ttype
);
7626 TREE_CHAIN (yyvsp
[-2].ttype
) = NULL_TREE
;
7627 last_tree
= yyvsp
[-2].ttype
;
7633 emit_line_note (input_filename
, lineno
);
7634 expand_start_loop_continue_elsewhere (1);
7639 #line 3746 "parse.y"
7641 if (processing_template_decl
)
7643 if (last_tree
!= yyvsp
[-6].ttype
)
7645 TREE_OPERAND (yyvsp
[-6].ttype
, 1) = last_tree
;
7646 TREE_CHAIN (yyvsp
[-6].ttype
) = NULL_TREE
;
7647 last_tree
= yyvsp
[-6].ttype
;
7650 TREE_OPERAND (yyvsp
[-6].ttype
, 1) = yyvsp
[-1].ttype
;
7654 emit_line_note (input_filename
, lineno
);
7655 if (yyvsp
[-1].ttype
) expand_exit_loop_if_false (0, yyvsp
[-1].ttype
);
7660 #line 3767 "parse.y"
7662 if (processing_template_decl
)
7663 TREE_OPERAND (yyvsp
[-9].ttype
, 2) = yyvsp
[-1].ttype
;
7668 #line 3773 "parse.y"
7670 if (processing_template_decl
)
7672 TREE_OPERAND (yyvsp
[-12].ttype
, 3) = TREE_CHAIN (yyvsp
[-12].ttype
);
7673 TREE_CHAIN (yyvsp
[-12].ttype
) = NULL_TREE
;
7674 last_tree
= yyvsp
[-12].ttype
;
7678 emit_line_note (input_filename
, lineno
);
7679 expand_loop_continue_here ();
7680 if (yyvsp
[-4].ttype
) cplus_expand_expr_stmt (yyvsp
[-4].ttype
);
7684 if (flag_new_for_scope
> 0)
7691 #line 3794 "parse.y"
7693 if (processing_template_decl
)
7695 yyval
.ttype
= build_min_nt (SWITCH_STMT
, yyvsp
[-1].ttype
, NULL_TREE
);
7696 add_tree (yyval
.ttype
);
7700 emit_line_note (input_filename
, lineno
);
7701 c_expand_start_case (yyvsp
[-1].ttype
);
7704 /* Don't let the tree nodes for $4 be discarded by
7705 clear_momentary during the parsing of the next stmt. */
7710 #line 3811 "parse.y"
7712 if (processing_template_decl
)
7714 TREE_OPERAND (yyvsp
[-1].ttype
, 1) = TREE_CHAIN (yyvsp
[-1].ttype
);
7715 TREE_CHAIN (yyvsp
[-1].ttype
) = NULL_TREE
;
7716 last_tree
= yyvsp
[-1].ttype
;
7719 expand_end_case (yyvsp
[-3].ttype
);
7725 #line 3824 "parse.y"
7729 #line 3826 "parse.y"
7730 { do_case (yyvsp
[-1].ttype
, NULL_TREE
); ;
7733 #line 3829 "parse.y"
7734 { do_case (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
7737 #line 3832 "parse.y"
7738 { do_case (NULL_TREE
, NULL_TREE
); ;
7741 #line 3835 "parse.y"
7742 { emit_line_note (input_filename
, lineno
);
7743 if (processing_template_decl
)
7744 add_tree (build_min_nt (BREAK_STMT
));
7745 else if ( ! expand_exit_something ())
7746 error ("break statement not within loop or switch"); ;
7749 #line 3841 "parse.y"
7750 { emit_line_note (input_filename
, lineno
);
7751 if (processing_template_decl
)
7752 add_tree (build_min_nt (CONTINUE_STMT
));
7753 else if (! expand_continue_loop (0))
7754 error ("continue statement not within a loop"); ;
7757 #line 3847 "parse.y"
7758 { emit_line_note (input_filename
, lineno
);
7759 c_expand_return (NULL_TREE
); ;
7762 #line 3850 "parse.y"
7763 { emit_line_note (input_filename
, lineno
);
7764 c_expand_return (yyvsp
[-1].ttype
);
7769 #line 3855 "parse.y"
7770 { if (TREE_CHAIN (yyvsp
[-2].ttype
)) yyvsp
[-2].ttype
= combine_strings (yyvsp
[-2].ttype
);
7771 emit_line_note (input_filename
, lineno
);
7772 expand_asm (yyvsp
[-2].ttype
);
7777 #line 3862 "parse.y"
7778 { if (TREE_CHAIN (yyvsp
[-4].ttype
)) yyvsp
[-4].ttype
= combine_strings (yyvsp
[-4].ttype
);
7779 emit_line_note (input_filename
, lineno
);
7780 c_expand_asm_operands (yyvsp
[-4].ttype
, yyvsp
[-2].ttype
, NULL_TREE
, NULL_TREE
,
7781 yyvsp
[-6].ttype
== ridpointers
[(int)RID_VOLATILE
],
7782 input_filename
, lineno
);
7787 #line 3871 "parse.y"
7788 { if (TREE_CHAIN (yyvsp
[-6].ttype
)) yyvsp
[-6].ttype
= combine_strings (yyvsp
[-6].ttype
);
7789 emit_line_note (input_filename
, lineno
);
7790 c_expand_asm_operands (yyvsp
[-6].ttype
, yyvsp
[-4].ttype
, yyvsp
[-2].ttype
, NULL_TREE
,
7791 yyvsp
[-8].ttype
== ridpointers
[(int)RID_VOLATILE
],
7792 input_filename
, lineno
);
7797 #line 3881 "parse.y"
7798 { if (TREE_CHAIN (yyvsp
[-8].ttype
)) yyvsp
[-8].ttype
= combine_strings (yyvsp
[-8].ttype
);
7799 emit_line_note (input_filename
, lineno
);
7800 c_expand_asm_operands (yyvsp
[-8].ttype
, yyvsp
[-6].ttype
, yyvsp
[-4].ttype
, yyvsp
[-2].ttype
,
7801 yyvsp
[-10].ttype
== ridpointers
[(int)RID_VOLATILE
],
7802 input_filename
, lineno
);
7807 #line 3889 "parse.y"
7809 if (processing_template_decl
)
7810 add_tree (build_min_nt (GOTO_STMT
, yyvsp
[-1].ttype
));
7812 { emit_line_note (input_filename
, lineno
);
7813 expand_computed_goto (yyvsp
[-1].ttype
); }
7817 #line 3897 "parse.y"
7819 if (processing_template_decl
)
7820 add_tree (build_min_nt (GOTO_STMT
, yyvsp
[-1].ttype
));
7824 emit_line_note (input_filename
, lineno
);
7825 decl
= lookup_label (yyvsp
[-1].ttype
);
7826 TREE_USED (decl
) = 1;
7832 #line 3910 "parse.y"
7836 #line 3912 "parse.y"
7837 { error ("label must be followed by statement");
7842 #line 3916 "parse.y"
7846 #line 3922 "parse.y"
7848 if (! current_function_parms_stored
)
7849 store_parm_decls ();
7850 expand_start_early_try_stmts ();
7854 #line 3928 "parse.y"
7855 { expand_start_all_catch (); ;
7858 #line 3930 "parse.y"
7860 int nested
= (hack_decl_function_context
7861 (current_function_decl
) != NULL_TREE
);
7862 expand_end_all_catch ();
7863 finish_function (lineno
, (int)yyvsp
[-3].itype
, nested
);
7867 #line 3940 "parse.y"
7869 if (processing_template_decl
)
7871 yyval
.ttype
= build_min_nt (TRY_BLOCK
, NULL_TREE
,
7873 add_tree (yyval
.ttype
);
7877 emit_line_note (input_filename
, lineno
);
7878 expand_start_try_stmts ();
7883 #line 3954 "parse.y"
7885 if (processing_template_decl
)
7887 TREE_OPERAND (yyvsp
[-1].ttype
, 0) = TREE_CHAIN (yyvsp
[-1].ttype
);
7888 TREE_CHAIN (yyvsp
[-1].ttype
) = NULL_TREE
;
7889 last_tree
= yyvsp
[-1].ttype
;
7892 expand_start_all_catch ();
7896 #line 3965 "parse.y"
7898 if (processing_template_decl
)
7900 TREE_OPERAND (yyvsp
[-3].ttype
, 1) = TREE_CHAIN (yyvsp
[-3].ttype
);
7901 TREE_CHAIN (yyvsp
[-3].ttype
) = NULL_TREE
;
7902 last_tree
= yyvsp
[-3].ttype
;
7905 expand_end_all_catch ();
7909 #line 3984 "parse.y"
7911 if (processing_template_decl
)
7913 yyval
.ttype
= build_min_nt (HANDLER
, NULL_TREE
,
7915 add_tree (yyval
.ttype
);
7920 #line 3993 "parse.y"
7922 if (processing_template_decl
)
7924 TREE_OPERAND (yyvsp
[-2].ttype
, 0) = TREE_CHAIN (yyvsp
[-2].ttype
);
7925 TREE_CHAIN (yyvsp
[-2].ttype
) = NULL_TREE
;
7926 last_tree
= yyvsp
[-2].ttype
;
7931 #line 4002 "parse.y"
7933 if (processing_template_decl
)
7935 TREE_OPERAND (yyvsp
[-4].ttype
, 1) = TREE_CHAIN (yyvsp
[-4].ttype
);
7936 TREE_CHAIN (yyvsp
[-4].ttype
) = NULL_TREE
;
7937 last_tree
= yyvsp
[-4].ttype
;
7940 expand_end_catch_block ();
7944 #line 4022 "parse.y"
7945 { expand_start_catch_block (NULL_TREE
, NULL_TREE
); ;
7948 #line 4038 "parse.y"
7949 { check_for_new_type ("inside exception declarations", yyvsp
[-1].ftype
);
7950 expand_start_catch_block (TREE_PURPOSE (yyvsp
[-1].ftype
.t
),
7951 TREE_VALUE (yyvsp
[-1].ftype
.t
)); ;
7954 #line 4045 "parse.y"
7957 label
= define_label (input_filename
, lineno
, yyvsp
[-1].ttype
);
7958 if (label
&& ! minimal_parse_mode
)
7959 expand_label (label
);
7963 #line 4052 "parse.y"
7967 #line 4054 "parse.y"
7971 #line 4056 "parse.y"
7975 #line 4061 "parse.y"
7976 { if (yyvsp
[-1].ttype
) cplus_expand_expr_stmt (yyvsp
[-1].ttype
); ;
7979 #line 4064 "parse.y"
7981 pedwarn ("ANSI C++ forbids compound statements inside for initializations");
7985 #line 4073 "parse.y"
7986 { emit_line_note (input_filename
, lineno
);
7987 yyval
.ttype
= NULL_TREE
; ;
7990 #line 4076 "parse.y"
7991 { emit_line_note (input_filename
, lineno
); ;
7994 #line 4081 "parse.y"
7995 { yyval
.ttype
= NULL_TREE
; ;
7998 #line 4084 "parse.y"
7999 { yyval
.ttype
= NULL_TREE
; ;
8002 #line 4091 "parse.y"
8003 { yyval
.ttype
= NULL_TREE
; ;
8006 #line 4098 "parse.y"
8007 { yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
); ;
8010 #line 4103 "parse.y"
8011 { yyval
.ttype
= build_tree_list (yyval
.ttype
, yyvsp
[-1].ttype
); ;
8014 #line 4108 "parse.y"
8015 { yyval
.ttype
= tree_cons (NULL_TREE
, yyval
.ttype
, NULL_TREE
); ;
8018 #line 4110 "parse.y"
8019 { yyval
.ttype
= tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
8022 #line 4121 "parse.y"
8024 yyval
.ttype
= empty_parms();
8028 #line 4126 "parse.y"
8029 { yyval
.ttype
= tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, void_list_node
);
8030 TREE_PARMLIST (yyval
.ttype
) = 1;
8031 check_for_new_type ("inside parameter list", yyvsp
[0].ftype
); ;
8034 #line 4135 "parse.y"
8036 yyval
.ttype
= chainon (yyval
.ttype
, void_list_node
);
8037 TREE_PARMLIST (yyval
.ttype
) = 1;
8041 #line 4140 "parse.y"
8043 TREE_PARMLIST (yyval
.ttype
) = 1;
8047 #line 4145 "parse.y"
8049 TREE_PARMLIST (yyval
.ttype
) = 1;
8053 #line 4149 "parse.y"
8055 yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[-1].ftype
.t
);
8056 TREE_PARMLIST (yyval
.ttype
) = 1;
8060 #line 4154 "parse.y"
8062 yyval
.ttype
= NULL_TREE
;
8066 #line 4158 "parse.y"
8068 TREE_PARMLIST (yyval
.ttype
) = 1;
8072 #line 4162 "parse.y"
8074 TREE_PARMLIST (yyval
.ttype
) = 1;
8078 #line 4166 "parse.y"
8080 yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[-1].ftype
.t
);
8081 TREE_PARMLIST (yyval
.ttype
) = 1;
8085 #line 4171 "parse.y"
8087 /* This helps us recover from really nasty
8088 parse errors, for example, a missing right
8090 yyerror ("possibly missing ')'");
8091 yyval
.ttype
= chainon (yyval
.ttype
, void_list_node
);
8092 TREE_PARMLIST (yyval
.ttype
) = 1;
8098 #line 4182 "parse.y"
8100 /* This helps us recover from really nasty
8101 parse errors, for example, a missing right
8103 yyerror ("possibly missing ')'");
8104 yyval
.ttype
= tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, void_list_node
);
8105 TREE_PARMLIST (yyval
.ttype
) = 1;
8111 #line 4197 "parse.y"
8112 { maybe_snarf_defarg (); ;
8115 #line 4199 "parse.y"
8116 { yyval
.ttype
= yyvsp
[0].ttype
; ;
8119 #line 4210 "parse.y"
8120 { check_for_new_type ("in a parameter list", yyvsp
[0].ftype
);
8121 yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ftype
.t
); ;
8124 #line 4213 "parse.y"
8125 { check_for_new_type ("in a parameter list", yyvsp
[-1].ftype
);
8126 yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-1].ftype
.t
); ;
8129 #line 4216 "parse.y"
8130 { check_for_new_type ("in a parameter list", yyvsp
[0].ftype
);
8131 yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ftype
.t
); ;
8134 #line 4219 "parse.y"
8135 { yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
8138 #line 4221 "parse.y"
8139 { yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (yyvsp
[0].ttype
, yyvsp
[-2].ttype
)); ;
8142 #line 4227 "parse.y"
8143 { check_for_new_type ("in a parameter list", yyvsp
[-1].ftype
);
8144 yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[-1].ftype
.t
); ;
8147 #line 4237 "parse.y"
8148 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
8149 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
;
8150 yyval
.ftype
.t
= build_tree_list (specs
, yyvsp
[0].ttype
); ;
8153 #line 4241 "parse.y"
8154 { yyval
.ftype
.t
= build_tree_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
8155 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
8158 #line 4244 "parse.y"
8159 { yyval
.ftype
.t
= build_tree_list (get_decl_list (yyvsp
[-1].ftype
.t
), yyvsp
[0].ttype
);
8160 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
8163 #line 4247 "parse.y"
8164 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
8165 yyval
.ftype
.t
= build_tree_list (specs
, yyvsp
[0].ttype
);
8166 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
8169 #line 4251 "parse.y"
8170 { tree specs
= strip_attrs (yyvsp
[0].ftype
.t
);
8171 yyval
.ftype
.t
= build_tree_list (specs
, NULL_TREE
);
8172 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
8175 #line 4255 "parse.y"
8176 { tree specs
= strip_attrs (yyvsp
[-1].ttype
);
8177 yyval
.ftype
.t
= build_tree_list (specs
, yyvsp
[0].ttype
);
8178 yyval
.ftype
.new_type_flag
= 0; ;
8181 #line 4262 "parse.y"
8182 { yyval
.ftype
.t
= build_tree_list (NULL_TREE
, yyvsp
[0].ftype
.t
);
8183 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
8186 #line 4265 "parse.y"
8187 { yyval
.ftype
.t
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-1].ftype
.t
);
8188 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
8191 #line 4276 "parse.y"
8192 { see_typename (); ;
8195 #line 4281 "parse.y"
8197 error ("type specifier omitted for parameter");
8198 yyval
.ttype
= build_tree_list (integer_type_node
, NULL_TREE
);
8202 #line 4286 "parse.y"
8204 error ("type specifier omitted for parameter");
8205 if (TREE_CODE (yyval
.ttype
) == SCOPE_REF
8206 && (TREE_CODE (TREE_OPERAND (yyval
.ttype
, 0)) == TEMPLATE_TYPE_PARM
8207 || TREE_CODE (TREE_OPERAND (yyval
.ttype
, 0)) == TEMPLATE_TEMPLATE_PARM
))
8208 cp_error (" perhaps you want `typename %E' to make it a type", yyval
.ttype
);
8209 yyval
.ttype
= build_tree_list (integer_type_node
, yyval
.ttype
);
8213 #line 4298 "parse.y"
8214 { yyval
.ttype
= NULL_TREE
; ;
8217 #line 4300 "parse.y"
8218 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
8221 #line 4302 "parse.y"
8222 { yyval
.ttype
= build_decl_list (NULL_TREE
, NULL_TREE
); ;
8225 #line 4307 "parse.y"
8226 { yyval
.ttype
= build_decl_list (NULL_TREE
, groktypename(yyvsp
[0].ftype
.t
)); ;
8229 #line 4313 "parse.y"
8231 TREE_CHAIN (yyvsp
[0].ttype
) = yyval
.ttype
;
8232 yyval
.ttype
= yyvsp
[0].ttype
;
8236 #line 4321 "parse.y"
8237 { yyval
.ttype
= NULL_TREE
; ;
8240 #line 4323 "parse.y"
8241 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
8244 #line 4325 "parse.y"
8245 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
8248 #line 4327 "parse.y"
8249 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
8250 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
8254 #line 4334 "parse.y"
8255 { got_scope
= NULL_TREE
; ;
8258 #line 4339 "parse.y"
8259 { yyval
.ttype
= ansi_opname
[MULT_EXPR
]; ;
8262 #line 4341 "parse.y"
8263 { yyval
.ttype
= ansi_opname
[TRUNC_DIV_EXPR
]; ;
8266 #line 4343 "parse.y"
8267 { yyval
.ttype
= ansi_opname
[TRUNC_MOD_EXPR
]; ;
8270 #line 4345 "parse.y"
8271 { yyval
.ttype
= ansi_opname
[PLUS_EXPR
]; ;
8274 #line 4347 "parse.y"
8275 { yyval
.ttype
= ansi_opname
[MINUS_EXPR
]; ;
8278 #line 4349 "parse.y"
8279 { yyval
.ttype
= ansi_opname
[BIT_AND_EXPR
]; ;
8282 #line 4351 "parse.y"
8283 { yyval
.ttype
= ansi_opname
[BIT_IOR_EXPR
]; ;
8286 #line 4353 "parse.y"
8287 { yyval
.ttype
= ansi_opname
[BIT_XOR_EXPR
]; ;
8290 #line 4355 "parse.y"
8291 { yyval
.ttype
= ansi_opname
[BIT_NOT_EXPR
]; ;
8294 #line 4357 "parse.y"
8295 { yyval
.ttype
= ansi_opname
[COMPOUND_EXPR
]; ;
8298 #line 4359 "parse.y"
8299 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
8302 #line 4361 "parse.y"
8303 { yyval
.ttype
= ansi_opname
[LT_EXPR
]; ;
8306 #line 4363 "parse.y"
8307 { yyval
.ttype
= ansi_opname
[GT_EXPR
]; ;
8310 #line 4365 "parse.y"
8311 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
8314 #line 4367 "parse.y"
8315 { yyval
.ttype
= ansi_assopname
[yyvsp
[0].code
]; ;
8318 #line 4369 "parse.y"
8319 { yyval
.ttype
= ansi_opname
[MODIFY_EXPR
]; ;
8322 #line 4371 "parse.y"
8323 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
8326 #line 4373 "parse.y"
8327 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
8330 #line 4375 "parse.y"
8331 { yyval
.ttype
= ansi_opname
[POSTINCREMENT_EXPR
]; ;
8334 #line 4377 "parse.y"
8335 { yyval
.ttype
= ansi_opname
[PREDECREMENT_EXPR
]; ;
8338 #line 4379 "parse.y"
8339 { yyval
.ttype
= ansi_opname
[TRUTH_ANDIF_EXPR
]; ;
8342 #line 4381 "parse.y"
8343 { yyval
.ttype
= ansi_opname
[TRUTH_ORIF_EXPR
]; ;
8346 #line 4383 "parse.y"
8347 { yyval
.ttype
= ansi_opname
[TRUTH_NOT_EXPR
]; ;
8350 #line 4385 "parse.y"
8351 { yyval
.ttype
= ansi_opname
[COND_EXPR
]; ;
8354 #line 4387 "parse.y"
8355 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
8358 #line 4389 "parse.y"
8359 { yyval
.ttype
= ansi_opname
[COMPONENT_REF
]; ;
8362 #line 4391 "parse.y"
8363 { yyval
.ttype
= ansi_opname
[MEMBER_REF
]; ;
8366 #line 4393 "parse.y"
8367 { yyval
.ttype
= ansi_opname
[CALL_EXPR
]; ;
8370 #line 4395 "parse.y"
8371 { yyval
.ttype
= ansi_opname
[ARRAY_REF
]; ;
8374 #line 4397 "parse.y"
8375 { yyval
.ttype
= ansi_opname
[NEW_EXPR
]; ;
8378 #line 4399 "parse.y"
8379 { yyval
.ttype
= ansi_opname
[DELETE_EXPR
]; ;
8382 #line 4401 "parse.y"
8383 { yyval
.ttype
= ansi_opname
[VEC_NEW_EXPR
]; ;
8386 #line 4403 "parse.y"
8387 { yyval
.ttype
= ansi_opname
[VEC_DELETE_EXPR
]; ;
8390 #line 4406 "parse.y"
8391 { yyval
.ttype
= grokoptypename (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
8394 #line 4408 "parse.y"
8395 { yyval
.ttype
= ansi_opname
[ERROR_MARK
]; ;
8398 /* the action file gets copied in in place of this dollarsign */
8399 #line 498 "/usr/lib/bison.simple"
8410 short *ssp1
= yyss
- 1;
8411 fprintf (stderr
, "state stack now");
8412 while (ssp1
!= yyssp
)
8413 fprintf (stderr
, " %d", *++ssp1
);
8414 fprintf (stderr
, "\n");
8424 yylsp
->first_line
= yylloc
.first_line
;
8425 yylsp
->first_column
= yylloc
.first_column
;
8426 yylsp
->last_line
= (yylsp
-1)->last_line
;
8427 yylsp
->last_column
= (yylsp
-1)->last_column
;
8432 yylsp
->last_line
= (yylsp
+yylen
-1)->last_line
;
8433 yylsp
->last_column
= (yylsp
+yylen
-1)->last_column
;
8437 /* Now "shift" the result of the reduction.
8438 Determine what state that goes to,
8439 based on the state we popped back to
8440 and the rule number reduced by. */
8444 yystate
= yypgoto
[yyn
- YYNTBASE
] + *yyssp
;
8445 if (yystate
>= 0 && yystate
<= YYLAST
&& yycheck
[yystate
] == *yyssp
)
8446 yystate
= yytable
[yystate
];
8448 yystate
= yydefgoto
[yyn
- YYNTBASE
];
8452 yyerrlab
: /* here on detecting error */
8455 /* If not already recovering from an error, report this error. */
8459 #ifdef YYERROR_VERBOSE
8460 yyn
= yypact
[yystate
];
8462 if (yyn
> YYFLAG
&& yyn
< YYLAST
)
8469 /* Start X at -yyn if nec to avoid negative indexes in yycheck. */
8470 for (x
= (yyn
< 0 ? -yyn
: 0);
8471 x
< (sizeof(yytname
) / sizeof(char *)); x
++)
8472 if (yycheck
[x
+ yyn
] == x
)
8473 size
+= strlen(yytname
[x
]) + 15, count
++;
8474 msg
= (char *) malloc(size
+ 15);
8477 strcpy(msg
, "parse error");
8482 for (x
= (yyn
< 0 ? -yyn
: 0);
8483 x
< (sizeof(yytname
) / sizeof(char *)); x
++)
8484 if (yycheck
[x
+ yyn
] == x
)
8486 strcat(msg
, count
== 0 ? ", expecting `" : " or `");
8487 strcat(msg
, yytname
[x
]);
8496 yyerror ("parse error; also virtual memory exceeded");
8499 #endif /* YYERROR_VERBOSE */
8500 yyerror("parse error");
8504 yyerrlab1
: /* here on error raised explicitly by an action */
8506 if (yyerrstatus
== 3)
8508 /* if just tried and failed to reuse lookahead token after an error, discard it. */
8510 /* return failure if at end of input */
8511 if (yychar
== YYEOF
)
8516 fprintf(stderr
, "Discarding token %d (%s).\n", yychar
, yytname
[yychar1
]);
8522 /* Else will try to reuse lookahead token
8523 after shifting the error token. */
8525 yyerrstatus
= 3; /* Each real token shifted decrements this */
8529 yyerrdefault
: /* current state does not do anything special for the error token. */
8532 /* This is wrong; only states that explicitly want error tokens
8533 should shift them. */
8534 yyn
= yydefact
[yystate
]; /* If its default is to accept any token, ok. Otherwise pop it.*/
8535 if (yyn
) goto yydefault
;
8538 yyerrpop
: /* pop the current state because it cannot handle the error token */
8540 if (yyssp
== yyss
) YYABORT
;
8550 short *ssp1
= yyss
- 1;
8551 fprintf (stderr
, "Error: state stack now");
8552 while (ssp1
!= yyssp
)
8553 fprintf (stderr
, " %d", *++ssp1
);
8554 fprintf (stderr
, "\n");
8560 yyn
= yypact
[yystate
];
8565 if (yyn
< 0 || yyn
> YYLAST
|| yycheck
[yyn
] != YYTERROR
)
8584 fprintf(stderr
, "Shifting error token, ");
8595 #line 4411 "parse.y"
8600 debug_yytranslate (value
)
8603 return yytname
[YYTRANSLATE (value
)];