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
50 #define TYPENAME_KEYWORD 300
52 #define LEFT_RIGHT 302
55 #define DYNAMIC_CAST 305
56 #define STATIC_CAST 306
57 #define REINTERPRET_CAST 307
58 #define CONST_CAST 308
69 #define ARITHCOMPARE 319
72 #define POINTSAT_STAR 322
76 #define MINUSMINUS 326
77 #define HYPERUNARY 327
78 #define PAREN_STAR_PAREN 328
82 #define PRE_PARSED_FUNCTION_DECL 332
83 #define EXTERN_LANG_STRING 333
85 #define PRE_PARSED_CLASS_DECL 335
87 #define DEFARG_MARKER 337
88 #define TYPENAME_DEFN 338
89 #define IDENTIFIER_DEFN 339
90 #define PTYPENAME_DEFN 340
91 #define END_OF_LINE 341
92 #define END_OF_SAVED_INPUT 342
96 /* Cause the `yydebug' variable to be defined. */
112 /* Since parsers are distinct for each language, put the language string
113 definition here. (fnf) */
114 char *language_string
= "GNU C++";
116 extern tree void_list_node
;
117 extern struct obstack permanent_obstack
;
119 extern int end_of_file
;
121 /* Like YYERROR but do call yyerror. */
122 #define YYERROR1 { yyerror ("syntax error"); YYERROR; }
124 #define OP0(NODE) (TREE_OPERAND (NODE, 0))
125 #define OP1(NODE) (TREE_OPERAND (NODE, 1))
127 /* Contains the statement keyword (if/while/do) to include in an
128 error message if the user supplies an empty conditional expression. */
129 static char *cond_stmt_keyword
;
131 static tree empty_parms
PROTO((void));
133 /* Nonzero if we have an `extern "C"' acting as an extern specifier. */
134 int have_extern_spec
;
135 int used_extern_spec
;
137 /* Cons up an empty parameter list. */
147 || current_class_type
!= NULL
)
148 parms
= void_list_node
;
156 typedef union {long itype
; tree ttype
; char *strtype
; enum tree_code code
; flagged_type_tree ftype
; } YYSTYPE
;
159 /* List of types and structure classes of the current declaration. */
160 static tree current_declspecs
= NULL_TREE
;
161 /* List of prefix attributes in effect.
162 Prefix attributes are parsed by the reserved_declspecs and declmods
163 rules. They create a list that contains *both* declspecs and attrs. */
164 /* ??? It is not clear yet that all cases where an attribute can now appear in
165 a declspec list have been updated. */
166 static tree prefix_attributes
= NULL_TREE
;
168 /* When defining an aggregate, this is the most recent one being defined. */
169 static tree current_aggr
;
171 /* Tell yyparse how to print a token's value, if yydebug is set. */
173 #define YYPRINT(FILE,YYCHAR,YYLVAL) yyprint(FILE,YYCHAR,YYLVAL)
174 extern void yyprint
PROTO((FILE *, int, YYSTYPE
));
175 extern tree combine_strings
PROTO((tree
));
178 parse_decl(declarator
, specs_attrs
, attributes
, initialized
, decl
)
187 split_specs_attrs (specs_attrs
, ¤t_declspecs
, &prefix_attributes
);
188 if (current_declspecs
189 && TREE_CODE (current_declspecs
) != TREE_LIST
)
190 current_declspecs
= get_decl_list (current_declspecs
);
191 if (have_extern_spec
&& !used_extern_spec
)
193 current_declspecs
= decl_tree_cons (NULL_TREE
,
194 get_identifier ("extern"),
196 used_extern_spec
= 1;
198 sm
= suspend_momentary ();
199 *decl
= start_decl (declarator
, current_declspecs
, initialized
,
200 attributes
, prefix_attributes
);
214 #define YYFLAG -32768
217 #define YYTRANSLATE(x) ((unsigned)(x) <= 342 ? yytranslate[x] : 386)
219 static const char yytranslate
[] = { 0,
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, 110, 2, 2, 2, 82, 70, 2, 93,
224 108, 80, 78, 59, 79, 92, 81, 2, 2, 2,
225 2, 2, 2, 2, 2, 2, 2, 62, 60, 74,
226 64, 75, 65, 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 94, 2, 111, 69, 2, 2, 2, 2, 2, 2,
230 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
231 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
232 2, 2, 58, 68, 109, 88, 2, 2, 2, 2,
233 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
234 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
235 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
236 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
237 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
238 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
239 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
240 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
241 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
242 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
243 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
244 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
245 2, 2, 2, 2, 2, 1, 2, 3, 4, 5,
246 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
247 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
248 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
249 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
250 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
251 56, 57, 61, 63, 66, 67, 71, 72, 73, 76,
252 77, 83, 84, 85, 86, 87, 89, 90, 91, 95,
253 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
258 static const short yyprhs
[] = { 0,
259 0, 1, 3, 4, 7, 10, 12, 13, 14, 15,
260 17, 19, 20, 23, 26, 28, 30, 36, 41, 47,
261 52, 53, 60, 61, 67, 73, 76, 81, 84, 87,
262 91, 95, 97, 99, 102, 105, 107, 110, 111, 117,
263 121, 123, 127, 129, 130, 133, 136, 140, 142, 146,
264 148, 152, 154, 158, 161, 164, 167, 171, 175, 178,
265 181, 184, 187, 190, 192, 194, 196, 197, 199, 202,
266 203, 205, 210, 214, 218, 219, 228, 234, 235, 245,
267 252, 253, 262, 268, 269, 279, 286, 289, 292, 294,
268 297, 299, 306, 311, 318, 323, 326, 328, 331, 334,
269 336, 339, 341, 344, 347, 352, 355, 359, 360, 361,
270 363, 367, 370, 374, 376, 381, 384, 389, 392, 397,
271 400, 402, 404, 406, 408, 410, 412, 414, 416, 418,
272 420, 422, 423, 430, 431, 438, 439, 445, 446, 452,
273 453, 461, 462, 470, 471, 478, 479, 486, 487, 488,
274 493, 498, 500, 505, 507, 509, 510, 512, 514, 518,
275 520, 522, 524, 526, 528, 530, 532, 534, 536, 538,
276 542, 544, 548, 549, 551, 553, 554, 562, 564, 566,
277 570, 575, 579, 580, 584, 586, 590, 594, 598, 602,
278 604, 606, 608, 611, 614, 617, 620, 623, 626, 629,
279 634, 637, 642, 645, 649, 653, 658, 664, 671, 678,
280 686, 689, 694, 700, 703, 706, 708, 709, 714, 719,
281 723, 725, 729, 732, 736, 741, 743, 746, 752, 754,
282 758, 762, 766, 770, 774, 778, 782, 786, 790, 794,
283 798, 802, 806, 810, 814, 818, 822, 826, 830, 836,
284 840, 844, 846, 849, 853, 855, 857, 859, 861, 863,
285 864, 870, 876, 882, 888, 894, 896, 898, 900, 902,
286 905, 908, 912, 917, 922, 924, 926, 928, 932, 934,
287 936, 938, 940, 944, 948, 952, 953, 958, 963, 966,
288 971, 974, 977, 979, 984, 986, 994, 1002, 1010, 1018,
289 1023, 1028, 1031, 1034, 1037, 1039, 1044, 1047, 1050, 1056,
290 1060, 1063, 1066, 1072, 1076, 1082, 1086, 1091, 1098, 1101,
291 1103, 1106, 1108, 1111, 1113, 1115, 1117, 1120, 1121, 1124,
292 1127, 1131, 1135, 1139, 1142, 1145, 1148, 1150, 1152, 1154,
293 1157, 1160, 1163, 1166, 1168, 1170, 1172, 1174, 1177, 1180,
294 1184, 1188, 1192, 1197, 1199, 1202, 1205, 1208, 1210, 1212,
295 1214, 1217, 1220, 1223, 1225, 1227, 1230, 1233, 1237, 1239,
296 1242, 1244, 1246, 1248, 1253, 1258, 1263, 1268, 1270, 1272,
297 1274, 1276, 1280, 1282, 1286, 1288, 1292, 1293, 1298, 1299,
298 1306, 1310, 1311, 1316, 1318, 1322, 1326, 1327, 1332, 1336,
299 1337, 1339, 1341, 1344, 1351, 1353, 1357, 1358, 1360, 1365,
300 1372, 1377, 1379, 1381, 1383, 1385, 1387, 1391, 1392, 1395,
301 1397, 1400, 1404, 1409, 1411, 1413, 1417, 1422, 1426, 1432,
302 1434, 1439, 1443, 1447, 1448, 1452, 1456, 1460, 1461, 1464,
303 1467, 1468, 1476, 1481, 1482, 1489, 1493, 1496, 1499, 1502,
304 1503, 1504, 1514, 1516, 1517, 1519, 1520, 1522, 1524, 1527,
305 1530, 1533, 1536, 1539, 1542, 1546, 1551, 1555, 1558, 1562,
306 1563, 1565, 1569, 1572, 1575, 1577, 1579, 1580, 1583, 1587,
307 1589, 1594, 1596, 1600, 1602, 1604, 1609, 1614, 1617, 1620,
308 1624, 1628, 1630, 1631, 1633, 1636, 1641, 1645, 1647, 1650,
309 1653, 1656, 1659, 1662, 1665, 1668, 1670, 1673, 1676, 1680,
310 1683, 1686, 1691, 1696, 1699, 1701, 1707, 1712, 1714, 1715,
311 1717, 1721, 1722, 1724, 1728, 1730, 1732, 1734, 1736, 1741,
312 1746, 1751, 1756, 1761, 1765, 1770, 1775, 1780, 1785, 1789,
313 1791, 1795, 1797, 1801, 1804, 1806, 1814, 1815, 1818, 1820,
314 1823, 1824, 1827, 1832, 1837, 1840, 1845, 1849, 1853, 1856,
315 1859, 1863, 1865, 1867, 1870, 1872, 1874, 1877, 1880, 1885,
316 1890, 1894, 1898, 1901, 1903, 1907, 1911, 1914, 1917, 1921,
317 1923, 1927, 1931, 1934, 1937, 1941, 1943, 1948, 1952, 1957,
318 1961, 1963, 1966, 1969, 1972, 1975, 1978, 1980, 1983, 1988,
319 1993, 1996, 1998, 2000, 2002, 2004, 2007, 2012, 2015, 2018,
320 2021, 2024, 2026, 2029, 2032, 2035, 2038, 2042, 2044, 2047,
321 2051, 2056, 2059, 2062, 2065, 2068, 2071, 2074, 2079, 2082,
322 2084, 2087, 2090, 2094, 2096, 2100, 2103, 2107, 2110, 2113,
323 2117, 2119, 2123, 2128, 2132, 2135, 2138, 2140, 2144, 2147,
324 2150, 2152, 2155, 2159, 2161, 2165, 2167, 2174, 2179, 2184,
325 2188, 2194, 2198, 2202, 2206, 2209, 2211, 2213, 2216, 2219,
326 2222, 2223, 2225, 2227, 2230, 2234, 2236, 2239, 2240, 2244,
327 2245, 2246, 2252, 2254, 2255, 2258, 2260, 2262, 2264, 2267,
328 2268, 2273, 2275, 2276, 2277, 2283, 2284, 2285, 2293, 2294,
329 2295, 2296, 2297, 2310, 2311, 2312, 2320, 2321, 2327, 2328,
330 2336, 2337, 2342, 2345, 2348, 2351, 2355, 2362, 2371, 2382,
331 2395, 2400, 2404, 2407, 2410, 2412, 2414, 2415, 2416, 2423,
332 2424, 2425, 2431, 2433, 2436, 2437, 2438, 2444, 2446, 2448,
333 2452, 2456, 2459, 2462, 2465, 2468, 2471, 2473, 2476, 2477,
334 2479, 2480, 2482, 2484, 2485, 2487, 2489, 2493, 2498, 2500,
335 2504, 2505, 2507, 2509, 2511, 2514, 2517, 2520, 2522, 2525,
336 2528, 2529, 2533, 2535, 2537, 2539, 2542, 2545, 2548, 2553,
337 2556, 2559, 2562, 2565, 2568, 2571, 2573, 2576, 2578, 2581,
338 2583, 2585, 2586, 2587, 2589, 2590, 2595, 2598, 2600, 2602,
339 2606, 2607, 2611, 2615, 2619, 2621, 2624, 2627, 2630, 2633,
340 2636, 2639, 2642, 2645, 2648, 2651, 2654, 2657, 2660, 2663,
341 2666, 2669, 2672, 2675, 2678, 2681, 2684, 2687, 2690, 2694,
342 2697, 2700, 2703, 2706, 2710, 2713, 2716, 2721, 2726, 2730
345 static const short yyrhs
[] = { -1,
346 113, 0, 0, 114, 120, 0, 113, 120, 0, 113,
347 0, 0, 0, 0, 32, 0, 27, 0, 0, 121,
348 122, 0, 140, 139, 0, 136, 0, 135, 0, 119,
349 93, 208, 108, 60, 0, 127, 58, 115, 109, 0,
350 127, 116, 140, 117, 139, 0, 127, 116, 136, 117,
351 0, 0, 44, 155, 58, 123, 115, 109, 0, 0,
352 44, 58, 124, 115, 109, 0, 44, 155, 64, 126,
353 60, 0, 125, 60, 0, 46, 44, 126, 60, 0,
354 118, 122, 0, 46, 300, 0, 46, 314, 300, 0,
355 46, 314, 199, 0, 199, 0, 300, 0, 314, 300,
356 0, 314, 199, 0, 98, 0, 127, 98, 0, 0,
357 48, 74, 129, 130, 75, 0, 48, 74, 75, 0,
358 134, 0, 130, 59, 134, 0, 155, 0, 0, 257,
359 131, 0, 45, 131, 0, 128, 257, 131, 0, 132,
360 0, 132, 64, 214, 0, 377, 0, 377, 64, 194,
361 0, 133, 0, 133, 64, 174, 0, 128, 122, 0,
362 128, 1, 0, 225, 60, 0, 218, 224, 60, 0,
363 215, 223, 60, 0, 218, 60, 0, 158, 60, 0,
364 215, 60, 0, 1, 60, 0, 1, 109, 0, 60,
365 0, 209, 0, 151, 0, 0, 150, 0, 150, 60,
366 0, 0, 107, 0, 146, 138, 137, 324, 0, 146,
367 138, 348, 0, 146, 138, 1, 0, 0, 305, 5,
368 93, 142, 368, 108, 287, 380, 0, 305, 5, 47,
369 287, 380, 0, 0, 314, 305, 5, 93, 143, 368,
370 108, 287, 380, 0, 314, 305, 5, 47, 287, 380,
371 0, 0, 305, 170, 93, 144, 368, 108, 287, 380,
372 0, 305, 170, 47, 287, 380, 0, 0, 314, 305,
373 170, 93, 145, 368, 108, 287, 380, 0, 314, 305,
374 170, 47, 287, 380, 0, 215, 212, 0, 218, 297,
375 0, 297, 0, 218, 141, 0, 141, 0, 5, 93,
376 368, 108, 287, 380, 0, 5, 47, 287, 380, 0,
377 170, 93, 368, 108, 287, 380, 0, 170, 47, 287,
378 380, 0, 218, 147, 0, 147, 0, 215, 212, 0,
379 218, 297, 0, 297, 0, 218, 141, 0, 141, 0,
380 25, 3, 0, 149, 242, 0, 149, 93, 186, 108,
381 0, 149, 47, 0, 62, 152, 153, 0, 0, 0,
382 154, 0, 153, 59, 154, 0, 153, 1, 0, 93,
383 186, 108, 0, 47, 0, 156, 93, 186, 108, 0,
384 156, 47, 0, 293, 93, 186, 108, 0, 293, 47,
385 0, 307, 93, 186, 108, 0, 307, 47, 0, 3,
386 0, 4, 0, 5, 0, 56, 0, 57, 0, 3,
387 0, 56, 0, 57, 0, 104, 0, 103, 0, 105,
388 0, 0, 48, 167, 221, 60, 159, 168, 0, 0,
389 48, 167, 215, 212, 160, 168, 0, 0, 48, 167,
390 297, 161, 168, 0, 0, 48, 167, 141, 162, 168,
391 0, 0, 7, 48, 167, 221, 60, 163, 168, 0,
392 0, 7, 48, 167, 215, 212, 164, 168, 0, 0,
393 7, 48, 167, 297, 165, 168, 0, 0, 7, 48,
394 167, 141, 166, 168, 0, 0, 0, 56, 74, 172,
395 171, 0, 4, 74, 172, 171, 0, 170, 0, 5,
396 74, 172, 171, 0, 75, 0, 77, 0, 0, 173,
397 0, 174, 0, 173, 59, 174, 0, 214, 0, 194,
398 0, 79, 0, 78, 0, 86, 0, 87, 0, 110,
399 0, 185, 0, 194, 0, 47, 0, 93, 176, 108,
400 0, 47, 0, 93, 180, 108, 0, 0, 180, 0,
401 1, 0, 0, 358, 212, 226, 235, 64, 181, 243,
402 0, 176, 0, 109, 0, 321, 319, 109, 0, 321,
403 319, 1, 109, 0, 321, 1, 109, 0, 0, 58,
404 184, 182, 0, 333, 0, 194, 59, 194, 0, 194,
405 59, 1, 0, 185, 59, 194, 0, 185, 59, 1,
406 0, 194, 0, 185, 0, 203, 0, 118, 193, 0,
407 80, 193, 0, 70, 193, 0, 88, 193, 0, 175,
408 193, 0, 67, 155, 0, 13, 187, 0, 13, 93,
409 214, 108, 0, 29, 187, 0, 29, 93, 214, 108,
410 0, 205, 286, 0, 205, 286, 191, 0, 205, 190,
411 286, 0, 205, 190, 286, 191, 0, 205, 93, 189,
412 214, 188, 0, 205, 93, 189, 214, 188, 191, 0,
413 205, 190, 93, 189, 214, 188, 0, 205, 190, 93,
414 189, 214, 188, 191, 0, 206, 193, 0, 206, 94,
415 111, 193, 0, 206, 94, 176, 111, 193, 0, 34,
416 193, 0, 35, 193, 0, 108, 0, 0, 93, 189,
417 186, 108, 0, 58, 189, 186, 109, 0, 93, 186,
418 108, 0, 47, 0, 93, 221, 108, 0, 64, 243,
419 0, 93, 214, 108, 0, 192, 93, 214, 108, 0,
420 187, 0, 192, 187, 0, 192, 58, 244, 255, 109,
421 0, 193, 0, 194, 83, 194, 0, 194, 84, 194,
422 0, 194, 78, 194, 0, 194, 79, 194, 0, 194,
423 80, 194, 0, 194, 81, 194, 0, 194, 82, 194,
424 0, 194, 76, 194, 0, 194, 77, 194, 0, 194,
425 73, 194, 0, 194, 74, 194, 0, 194, 75, 194,
426 0, 194, 72, 194, 0, 194, 71, 194, 0, 194,
427 70, 194, 0, 194, 68, 194, 0, 194, 69, 194,
428 0, 194, 67, 194, 0, 194, 66, 194, 0, 194,
429 65, 363, 62, 194, 0, 194, 64, 194, 0, 194,
430 63, 194, 0, 61, 0, 61, 194, 0, 88, 378,
431 155, 0, 197, 0, 385, 0, 3, 0, 56, 0,
432 57, 0, 0, 6, 74, 196, 172, 171, 0, 385,
433 74, 196, 172, 171, 0, 48, 155, 74, 172, 171,
434 0, 48, 6, 74, 172, 171, 0, 48, 385, 74,
435 172, 171, 0, 195, 0, 4, 0, 5, 0, 195,
436 0, 80, 200, 0, 70, 200, 0, 93, 200, 108,
437 0, 3, 74, 172, 171, 0, 57, 74, 173, 171,
438 0, 299, 0, 195, 0, 201, 0, 93, 200, 108,
439 0, 195, 0, 10, 0, 207, 0, 208, 0, 93,
440 176, 108, 0, 93, 200, 108, 0, 93, 1, 108,
441 0, 0, 93, 204, 325, 108, 0, 203, 93, 186,
442 108, 0, 203, 47, 0, 203, 94, 176, 111, 0,
443 203, 86, 0, 203, 87, 0, 40, 0, 9, 93,
444 186, 108, 0, 303, 0, 50, 74, 214, 75, 93,
445 176, 108, 0, 51, 74, 214, 75, 93, 176, 108,
446 0, 52, 74, 214, 75, 93, 176, 108, 0, 53,
447 74, 214, 75, 93, 176, 108, 0, 49, 93, 176,
448 108, 0, 49, 93, 214, 108, 0, 314, 3, 0,
449 314, 197, 0, 314, 385, 0, 302, 0, 302, 93,
450 186, 108, 0, 302, 47, 0, 210, 198, 0, 210,
451 198, 93, 186, 108, 0, 210, 198, 47, 0, 210,
452 199, 0, 210, 302, 0, 210, 199, 93, 186, 108,
453 0, 210, 199, 47, 0, 210, 302, 93, 186, 108,
454 0, 210, 302, 47, 0, 210, 88, 8, 47, 0,
455 210, 8, 54, 88, 8, 47, 0, 210, 1, 0,
456 39, 0, 314, 39, 0, 38, 0, 314, 206, 0,
457 42, 0, 43, 0, 11, 0, 208, 11, 0, 0,
458 203, 92, 0, 203, 91, 0, 221, 223, 60, 0,
459 215, 223, 60, 0, 218, 224, 60, 0, 215, 60,
460 0, 218, 60, 0, 118, 211, 0, 292, 0, 297,
461 0, 47, 0, 213, 47, 0, 219, 317, 0, 288,
462 317, 0, 221, 317, 0, 219, 0, 288, 0, 219,
463 0, 216, 0, 218, 221, 0, 221, 217, 0, 221,
464 220, 217, 0, 218, 221, 217, 0, 218, 221, 220,
465 0, 218, 221, 220, 217, 0, 7, 0, 217, 222,
466 0, 217, 7, 0, 217, 236, 0, 236, 0, 288,
467 0, 7, 0, 218, 9, 0, 218, 7, 0, 218,
468 236, 0, 236, 0, 221, 0, 288, 221, 0, 221,
469 220, 0, 288, 221, 220, 0, 222, 0, 220, 222,
470 0, 250, 0, 8, 0, 294, 0, 28, 93, 176,
471 108, 0, 28, 93, 214, 108, 0, 30, 93, 176,
472 108, 0, 30, 93, 214, 108, 0, 8, 0, 9,
473 0, 250, 0, 231, 0, 223, 59, 227, 0, 232,
474 0, 224, 59, 227, 0, 233, 0, 225, 59, 227,
475 0, 0, 119, 93, 208, 108, 0, 0, 212, 226,
476 235, 64, 228, 243, 0, 212, 226, 235, 0, 0,
477 235, 64, 230, 243, 0, 235, 0, 212, 226, 229,
478 0, 297, 226, 229, 0, 0, 297, 226, 234, 229,
479 0, 141, 226, 235, 0, 0, 236, 0, 237, 0,
480 236, 237, 0, 31, 93, 93, 238, 108, 108, 0,
481 239, 0, 238, 59, 239, 0, 0, 240, 0, 240,
482 93, 3, 108, 0, 240, 93, 3, 59, 186, 108,
483 0, 240, 93, 186, 108, 0, 155, 0, 7, 0,
484 8, 0, 9, 0, 155, 0, 241, 59, 155, 0,
485 0, 64, 243, 0, 194, 0, 58, 109, 0, 58,
486 244, 109, 0, 58, 244, 59, 109, 0, 1, 0,
487 243, 0, 244, 59, 243, 0, 94, 194, 111, 243,
488 0, 155, 62, 243, 0, 244, 59, 155, 62, 243,
489 0, 97, 0, 245, 138, 137, 324, 0, 245, 138,
490 348, 0, 245, 138, 1, 0, 0, 247, 246, 139,
491 0, 102, 194, 107, 0, 102, 1, 107, 0, 0,
492 249, 248, 0, 249, 1, 0, 0, 14, 155, 58,
493 251, 284, 256, 109, 0, 14, 155, 58, 109, 0,
494 0, 14, 58, 252, 284, 256, 109, 0, 14, 58,
495 109, 0, 14, 155, 0, 14, 312, 0, 45, 307,
496 0, 0, 0, 264, 270, 272, 109, 235, 253, 249,
497 254, 247, 0, 264, 0, 0, 59, 0, 0, 59,
498 0, 36, 0, 257, 7, 0, 257, 8, 0, 257,
499 9, 0, 257, 36, 0, 257, 155, 0, 257, 157,
500 0, 257, 305, 155, 0, 257, 314, 305, 155, 0,
501 257, 314, 155, 0, 257, 169, 0, 257, 305, 169,
502 0, 0, 258, 0, 259, 261, 265, 0, 260, 265,
503 0, 257, 58, 0, 263, 0, 262, 0, 0, 62,
504 378, 0, 62, 378, 266, 0, 267, 0, 266, 59,
505 378, 267, 0, 268, 0, 269, 378, 268, 0, 307,
506 0, 293, 0, 30, 93, 176, 108, 0, 30, 93,
507 214, 108, 0, 37, 378, 0, 7, 378, 0, 269,
508 37, 378, 0, 269, 7, 378, 0, 58, 0, 0,
509 271, 0, 271, 273, 0, 272, 37, 62, 273, 0,
510 272, 37, 62, 0, 274, 0, 273, 274, 0, 275,
511 60, 0, 275, 109, 0, 148, 62, 0, 148, 95,
512 0, 148, 25, 0, 148, 58, 0, 60, 0, 118,
513 274, 0, 128, 274, 0, 128, 215, 60, 0, 215,
514 276, 0, 218, 277, 0, 297, 226, 235, 242, 0,
515 141, 226, 235, 242, 0, 62, 194, 0, 1, 0,
516 218, 147, 226, 235, 242, 0, 147, 226, 235, 242,
517 0, 125, 0, 0, 278, 0, 276, 59, 279, 0,
518 0, 281, 0, 277, 59, 283, 0, 280, 0, 281,
519 0, 282, 0, 283, 0, 292, 226, 235, 242, 0,
520 4, 62, 194, 235, 0, 297, 226, 235, 242, 0,
521 141, 226, 235, 242, 0, 3, 62, 194, 235, 0,
522 62, 194, 235, 0, 292, 226, 235, 242, 0, 4,
523 62, 194, 235, 0, 297, 226, 235, 242, 0, 3,
524 62, 194, 235, 0, 62, 194, 235, 0, 285, 0,
525 284, 59, 285, 0, 155, 0, 155, 64, 194, 0,
526 358, 315, 0, 358, 0, 93, 189, 214, 188, 94,
527 176, 111, 0, 0, 287, 9, 0, 9, 0, 288,
528 9, 0, 0, 289, 176, 0, 289, 93, 186, 108,
529 0, 289, 93, 368, 108, 0, 289, 47, 0, 289,
530 93, 1, 108, 0, 80, 288, 292, 0, 70, 288,
531 292, 0, 80, 292, 0, 70, 292, 0, 313, 287,
532 292, 0, 296, 0, 304, 0, 314, 304, 0, 293,
533 0, 295, 0, 314, 295, 0, 305, 304, 0, 296,
534 291, 287, 380, 0, 296, 94, 290, 111, 0, 296,
535 94, 111, 0, 93, 292, 108, 0, 305, 304, 0,
536 304, 0, 80, 288, 297, 0, 70, 288, 297, 0,
537 80, 297, 0, 70, 297, 0, 313, 287, 297, 0,
538 202, 0, 80, 288, 297, 0, 70, 288, 297, 0,
539 80, 298, 0, 70, 298, 0, 313, 287, 297, 0,
540 299, 0, 202, 291, 287, 380, 0, 93, 298, 108,
541 0, 202, 94, 290, 111, 0, 202, 94, 111, 0,
542 301, 0, 305, 201, 0, 305, 199, 0, 305, 198,
543 0, 305, 195, 0, 305, 198, 0, 301, 0, 314,
544 301, 0, 221, 93, 186, 108, 0, 221, 93, 200,
545 108, 0, 221, 213, 0, 4, 0, 5, 0, 169,
546 0, 306, 0, 305, 306, 0, 305, 48, 311, 54,
547 0, 4, 54, 0, 5, 54, 0, 57, 54, 0,
548 169, 54, 0, 308, 0, 314, 308, 0, 309, 155,
549 0, 309, 169, 0, 309, 311, 0, 309, 48, 311,
550 0, 310, 0, 309, 310, 0, 309, 311, 54, 0,
551 309, 48, 311, 54, 0, 4, 54, 0, 5, 54,
552 0, 169, 54, 0, 56, 54, 0, 3, 54, 0,
553 57, 54, 0, 155, 74, 172, 171, 0, 314, 304,
554 0, 295, 0, 314, 295, 0, 305, 80, 0, 314,
555 305, 80, 0, 54, 0, 80, 287, 315, 0, 80,
556 287, 0, 70, 287, 315, 0, 70, 287, 0, 313,
557 287, 0, 313, 287, 315, 0, 316, 0, 94, 176,
558 111, 0, 316, 94, 290, 111, 0, 80, 288, 317,
559 0, 80, 317, 0, 80, 288, 0, 80, 0, 70,
560 288, 317, 0, 70, 317, 0, 70, 288, 0, 70,
561 0, 313, 287, 0, 313, 287, 317, 0, 318, 0,
562 93, 317, 108, 0, 90, 0, 318, 93, 368, 108,
563 287, 380, 0, 318, 47, 287, 380, 0, 318, 94,
564 290, 111, 0, 318, 94, 111, 0, 93, 369, 108,
565 287, 380, 0, 192, 287, 380, 0, 213, 287, 380,
566 0, 94, 290, 111, 0, 94, 111, 0, 332, 0,
567 320, 0, 319, 332, 0, 319, 320, 0, 1, 60,
568 0, 0, 322, 0, 323, 0, 322, 323, 0, 33,
569 241, 60, 0, 325, 0, 1, 325, 0, 0, 58,
570 326, 182, 0, 0, 0, 15, 328, 178, 329, 330,
571 0, 325, 0, 0, 331, 333, 0, 325, 0, 333,
572 0, 211, 0, 176, 60, 0, 0, 327, 16, 334,
573 330, 0, 327, 0, 0, 0, 17, 335, 178, 336,
574 183, 0, 0, 0, 18, 337, 330, 17, 338, 177,
575 60, 0, 0, 0, 0, 0, 19, 339, 93, 361,
576 340, 179, 60, 341, 363, 108, 342, 183, 0, 0,
577 0, 20, 343, 93, 180, 108, 344, 330, 0, 0,
578 21, 194, 62, 345, 332, 0, 0, 21, 194, 12,
579 194, 62, 346, 332, 0, 0, 22, 62, 347, 332,
580 0, 23, 60, 0, 24, 60, 0, 25, 60, 0,
581 25, 176, 60, 0, 119, 362, 93, 208, 108, 60,
582 0, 119, 362, 93, 208, 62, 364, 108, 60, 0,
583 119, 362, 93, 208, 62, 364, 62, 364, 108, 60,
584 0, 119, 362, 93, 208, 62, 364, 62, 364, 62,
585 367, 108, 60, 0, 26, 80, 176, 60, 0, 26,
586 155, 60, 0, 360, 332, 0, 360, 109, 0, 60,
587 0, 351, 0, 0, 0, 95, 349, 137, 325, 350,
588 354, 0, 0, 0, 95, 352, 325, 353, 354, 0,
589 355, 0, 354, 355, 0, 0, 0, 96, 356, 359,
590 357, 325, 0, 219, 0, 288, 0, 93, 12, 108,
591 0, 93, 377, 108, 0, 3, 62, 0, 56, 62,
592 0, 4, 62, 0, 5, 62, 0, 363, 60, 0,
593 211, 0, 58, 182, 0, 0, 9, 0, 0, 176,
594 0, 1, 0, 0, 365, 0, 366, 0, 365, 59,
595 366, 0, 11, 93, 176, 108, 0, 11, 0, 367,
596 59, 11, 0, 0, 369, 0, 214, 0, 373, 0,
597 374, 12, 0, 373, 12, 0, 214, 12, 0, 12,
598 0, 373, 62, 0, 214, 62, 0, 0, 64, 371,
599 372, 0, 101, 0, 243, 0, 375, 0, 377, 370,
600 0, 374, 376, 0, 374, 379, 0, 374, 379, 64,
601 243, 0, 373, 59, 0, 214, 59, 0, 216, 212,
602 0, 219, 212, 0, 221, 212, 0, 216, 317, 0,
603 216, 0, 218, 297, 0, 377, 0, 377, 370, 0,
604 375, 0, 214, 0, 0, 0, 297, 0, 0, 61,
605 93, 382, 108, 0, 61, 47, 0, 214, 0, 381,
606 0, 382, 59, 381, 0, 0, 80, 287, 383, 0,
607 70, 287, 383, 0, 313, 287, 383, 0, 41, 0,
608 384, 80, 0, 384, 81, 0, 384, 82, 0, 384,
609 78, 0, 384, 79, 0, 384, 70, 0, 384, 68,
610 0, 384, 69, 0, 384, 88, 0, 384, 59, 0,
611 384, 73, 0, 384, 74, 0, 384, 75, 0, 384,
612 72, 0, 384, 63, 0, 384, 64, 0, 384, 76,
613 0, 384, 77, 0, 384, 86, 0, 384, 87, 0,
614 384, 67, 0, 384, 66, 0, 384, 110, 0, 384,
615 65, 62, 0, 384, 71, 0, 384, 91, 0, 384,
616 83, 0, 384, 47, 0, 384, 94, 111, 0, 384,
617 39, 0, 384, 38, 0, 384, 39, 94, 111, 0,
618 384, 38, 94, 111, 0, 384, 358, 383, 0, 384,
625 static const short yyrline
[] = { 0,
626 329, 331, 339, 342, 343, 347, 349, 352, 357, 361,
627 367, 371, 374, 378, 381, 383, 385, 388, 390, 393,
628 396, 398, 400, 402, 404, 406, 408, 417, 421, 424,
629 426, 430, 432, 433, 435, 439, 442, 448, 451, 453,
630 458, 461, 465, 468, 471, 474, 478, 483, 493, 495,
631 497, 499, 501, 514, 523, 533, 535, 537, 541, 543,
632 544, 551, 552, 553, 556, 559, 563, 565, 566, 569,
633 571, 574, 577, 579, 583, 586, 588, 592, 594, 596,
634 600, 602, 604, 608, 610, 612, 618, 622, 625, 628,
635 631, 636, 639, 641, 643, 649, 659, 661, 664, 667,
636 669, 672, 676, 685, 688, 690, 694, 707, 727, 730,
637 732, 733, 736, 743, 749, 751, 753, 755, 757, 760,
638 765, 767, 768, 769, 770, 773, 775, 776, 779, 781,
639 782, 785, 790, 790, 794, 794, 797, 797, 800, 800,
640 804, 804, 809, 809, 812, 812, 815, 817, 820, 827,
641 834, 840, 843, 852, 854, 862, 865, 868, 871, 875,
642 878, 881, 884, 886, 888, 890, 894, 897, 900, 905,
643 909, 914, 918, 921, 923, 927, 946, 953, 956, 958,
644 959, 960, 963, 967, 968, 972, 976, 979, 981, 985,
645 988, 991, 995, 998, 1000, 1002, 1004, 1007, 1011, 1013,
646 1015, 1017, 1023, 1026, 1029, 1032, 1044, 1049, 1053, 1057,
647 1062, 1064, 1068, 1072, 1074, 1083, 1087, 1090, 1093, 1098,
648 1101, 1103, 1111, 1124, 1129, 1135, 1137, 1139, 1152, 1155,
649 1157, 1159, 1161, 1163, 1165, 1167, 1169, 1171, 1173, 1175,
650 1177, 1179, 1181, 1183, 1185, 1187, 1189, 1191, 1193, 1195,
651 1199, 1201, 1203, 1220, 1223, 1224, 1225, 1226, 1227, 1230,
652 1233, 1236, 1240, 1243, 1245, 1250, 1252, 1253, 1256, 1258,
653 1260, 1262, 1266, 1269, 1273, 1275, 1276, 1277, 1281, 1289,
654 1290, 1291, 1299, 1301, 1304, 1306, 1316, 1318, 1320, 1322,
655 1324, 1326, 1329, 1331, 1375, 1376, 1380, 1384, 1388, 1392,
656 1394, 1398, 1400, 1402, 1410, 1412, 1414, 1416, 1420, 1422,
657 1424, 1426, 1431, 1433, 1435, 1437, 1440, 1442, 1444, 1488,
658 1491, 1495, 1498, 1502, 1505, 1510, 1512, 1516, 1529, 1532,
659 1539, 1546, 1551, 1553, 1558, 1560, 1567, 1569, 1573, 1577,
660 1583, 1587, 1590, 1593, 1596, 1606, 1608, 1611, 1615, 1618,
661 1621, 1624, 1627, 1633, 1639, 1641, 1646, 1648, 1657, 1660,
662 1662, 1665, 1671, 1673, 1683, 1687, 1690, 1693, 1698, 1701,
663 1709, 1711, 1713, 1715, 1718, 1721, 1736, 1755, 1758, 1760,
664 1763, 1765, 1768, 1770, 1773, 1775, 1778, 1781, 1785, 1791,
665 1792, 1804, 1811, 1814, 1820, 1824, 1829, 1835, 1836, 1844,
666 1847, 1851, 1854, 1858, 1863, 1866, 1870, 1873, 1875, 1877,
667 1879, 1886, 1888, 1889, 1890, 1894, 1897, 1901, 1904, 1910,
668 1912, 1915, 1918, 1921, 1927, 1930, 1933, 1935, 1937, 1941,
669 1947, 1955, 1957, 1961, 1963, 1968, 1971, 1974, 1976, 1978,
670 1982, 1986, 1991, 1995, 1998, 2003, 2007, 2010, 2013, 2017,
671 2029, 2031, 2034, 2054, 2056, 2059, 2061, 2066, 2068, 2070,
672 2072, 2074, 2078, 2083, 2088, 2094, 2099, 2104, 2106, 2110,
673 2115, 2118, 2125, 2153, 2159, 2161, 2164, 2167, 2169, 2173,
674 2175, 2179, 2205, 2234, 2237, 2238, 2259, 2282, 2284, 2288,
675 2299, 2313, 2318, 2325, 2328, 2336, 2347, 2356, 2360, 2375,
676 2378, 2383, 2385, 2387, 2389, 2391, 2393, 2396, 2398, 2402,
677 2408, 2410, 2413, 2416, 2418, 2429, 2434, 2437, 2442, 2445,
678 2446, 2457, 2460, 2461, 2472, 2474, 2477, 2479, 2482, 2489,
679 2497, 2504, 2510, 2516, 2524, 2528, 2533, 2537, 2540, 2549,
680 2551, 2555, 2558, 2563, 2567, 2573, 2584, 2587, 2591, 2595,
681 2603, 2608, 2614, 2617, 2619, 2621, 2627, 2630, 2632, 2634,
682 2636, 2640, 2643, 2661, 2671, 2673, 2674, 2678, 2683, 2686,
683 2688, 2690, 2692, 2696, 2702, 2705, 2707, 2709, 2711, 2715,
684 2718, 2721, 2723, 2725, 2727, 2731, 2734, 2737, 2739, 2741,
685 2743, 2750, 2761, 2765, 2770, 2774, 2779, 2781, 2785, 2788,
686 2790, 2794, 2796, 2797, 2800, 2802, 2804, 2810, 2825, 2831,
687 2837, 2851, 2853, 2857, 2871, 2873, 2875, 2879, 2885, 2898,
688 2900, 2904, 2917, 2923, 2925, 2926, 2927, 2935, 2940, 2949,
689 2950, 2954, 2957, 2963, 2969, 2972, 2974, 2976, 2978, 2982,
690 2986, 2990, 2993, 2998, 3001, 3003, 3005, 3007, 3009, 3011,
691 3013, 3015, 3019, 3023, 3027, 3031, 3032, 3034, 3036, 3038,
692 3040, 3042, 3044, 3046, 3048, 3056, 3058, 3059, 3060, 3063,
693 3069, 3071, 3076, 3078, 3081, 3095, 3098, 3101, 3105, 3108,
694 3115, 3117, 3120, 3122, 3124, 3127, 3130, 3133, 3136, 3138,
695 3141, 3145, 3147, 3153, 3155, 3156, 3158, 3163, 3165, 3167,
696 3169, 3171, 3174, 3175, 3177, 3180, 3181, 3184, 3184, 3187,
697 3187, 3190, 3190, 3192, 3194, 3196, 3198, 3204, 3210, 3213,
698 3216, 3222, 3224, 3226, 3230, 3232, 3235, 3242, 3248, 3257,
699 3261, 3263, 3266, 3268, 3271, 3275, 3277, 3280, 3282, 3285,
700 3302, 3308, 3316, 3318, 3320, 3324, 3327, 3328, 3336, 3340,
701 3344, 3347, 3348, 3354, 3357, 3360, 3362, 3366, 3371, 3374,
702 3384, 3389, 3390, 3397, 3400, 3403, 3405, 3408, 3410, 3420,
703 3434, 3438, 3441, 3443, 3447, 3451, 3454, 3457, 3459, 3463,
704 3465, 3472, 3479, 3482, 3485, 3489, 3493, 3499, 3503, 3508,
705 3510, 3513, 3518, 3524, 3535, 3538, 3540, 3544, 3549, 3551,
706 3558, 3561, 3563, 3565, 3571, 3576, 3579, 3581, 3583, 3585,
707 3587, 3589, 3591, 3593, 3595, 3597, 3599, 3601, 3603, 3605,
708 3607, 3609, 3611, 3613, 3615, 3617, 3619, 3621, 3623, 3625,
709 3627, 3629, 3631, 3633, 3635, 3637, 3639, 3641, 3644, 3646
714 #if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
716 static const char * const yytname
[] = { "$","error","$undefined.","IDENTIFIER",
717 "TYPENAME","SELFNAME","PFUNCNAME","SCSPEC","TYPESPEC","CV_QUALIFIER","CONSTANT",
718 "STRING","ELLIPSIS","SIZEOF","ENUM","IF","ELSE","WHILE","DO","FOR","SWITCH",
719 "CASE","DEFAULT","BREAK","CONTINUE","RETURN","GOTO","ASM_KEYWORD","TYPEOF","ALIGNOF",
720 "SIGOF","ATTRIBUTE","EXTENSION","LABEL","REALPART","IMAGPART","AGGR","VISSPEC",
721 "DELETE","NEW","THIS","OPERATOR","CXX_TRUE","CXX_FALSE","NAMESPACE","TYPENAME_KEYWORD",
722 "USING","LEFT_RIGHT","TEMPLATE","TYPEID","DYNAMIC_CAST","STATIC_CAST","REINTERPRET_CAST",
723 "CONST_CAST","SCOPE","EMPTY","PTYPENAME","NSNAME","'{'","','","';'","THROW",
724 "':'","ASSIGN","'='","'?'","OROR","ANDAND","'|'","'^'","'&'","MIN_MAX","EQCOMPARE",
725 "ARITHCOMPARE","'<'","'>'","LSHIFT","RSHIFT","'+'","'-'","'*'","'/'","'%'","POINTSAT_STAR",
726 "DOT_STAR","UNARY","PLUSPLUS","MINUSMINUS","'~'","HYPERUNARY","PAREN_STAR_PAREN",
727 "POINTSAT","'.'","'('","'['","TRY","CATCH","PRE_PARSED_FUNCTION_DECL","EXTERN_LANG_STRING",
728 "ALL","PRE_PARSED_CLASS_DECL","DEFARG","DEFARG_MARKER","TYPENAME_DEFN","IDENTIFIER_DEFN",
729 "PTYPENAME_DEFN","END_OF_LINE","END_OF_SAVED_INPUT","')'","'}'","'!'","']'",
730 "program","extdefs","@1","extdefs_opt",".hush_warning",".warning_ok","extension",
731 "asm_keyword","lang_extdef","@2","extdef","@3","@4","using_decl","any_id","extern_lang_string",
732 "template_header","@5","template_parm_list","maybe_identifier","template_type_parm",
733 "template_template_parm","template_parm","template_def","datadef","ctor_initializer_opt",
734 "maybe_return_init","eat_saved_input","fndef","constructor_declarator","@6",
735 "@7","@8","@9","fn.def1","component_constructor_declarator","fn.def2","return_id",
736 "return_init","base_init",".set_base_init","member_init_list","member_init",
737 "identifier","notype_identifier","identifier_defn","explicit_instantiation",
738 "@10","@11","@12","@13","@14","@15","@16","@17","begin_explicit_instantiation",
739 "end_explicit_instantiation","template_type","self_template_type","template_close_bracket",
740 "template_arg_list_opt","template_arg_list","template_arg","unop","expr","paren_expr_or_null",
741 "paren_cond_or_null","xcond","condition","@18","compstmtend","already_scoped_stmt",
742 "@19","nontrivial_exprlist","nonnull_exprlist","unary_expr",".finish_new_placement",
743 ".begin_new_placement","new_placement","new_initializer","regcast_or_absdcl",
744 "cast_expr","expr_no_commas","notype_unqualified_id","do_id","template_id","object_template_id",
745 "unqualified_id","expr_or_declarator","notype_template_declarator","direct_notype_declarator",
746 "primary","@20","new","delete","boolean.literal","string","nodecls","object",
747 "decl","declarator","fcast_or_absdcl","type_id","typed_declspecs","typed_declspecs1",
748 "reserved_declspecs","declmods","typed_typespecs","reserved_typespecquals","typespec",
749 "typespecqual_reserved","initdecls","notype_initdecls","nomods_initdecls","maybeasm",
750 "initdcl","@21","initdcl0_innards","@22","initdcl0","notype_initdcl0","nomods_initdcl0",
751 "@23","maybe_attribute","attributes","attribute","attribute_list","attrib","any_word",
752 "identifiers_or_typenames","maybe_init","init","initlist","fn.defpen","pending_inline",
753 "pending_inlines","defarg_again","pending_defargs","structsp","@24","@25","@26",
754 "@27","maybecomma","maybecomma_warn","aggr","named_class_head_sans_basetype",
755 "named_class_head_sans_basetype_defn","named_complex_class_head_sans_basetype",
756 "do_xref_defn","named_class_head","unnamed_class_head","class_head","maybe_base_class_list",
757 "base_class_list","base_class","base_class.1","base_class_access_list","left_curly",
758 "self_reference","opt.component_decl_list","component_decl_list","component_decl",
759 "component_decl_1","components","notype_components","component_declarator0",
760 "component_declarator","after_type_component_declarator0","notype_component_declarator0",
761 "after_type_component_declarator","notype_component_declarator","enumlist","enumerator",
762 "new_type_id","cv_qualifiers","nonempty_cv_qualifiers","suspend_mom","nonmomentary_expr",
763 "maybe_parmlist","after_type_declarator","nonnested_type","complete_type_name",
764 "nested_type","direct_after_type_declarator","notype_declarator","complex_notype_declarator",
765 "complex_direct_notype_declarator","qualified_id","notype_qualified_id","overqualified_id",
766 "functional_cast","type_name","nested_name_specifier","nested_name_specifier_1",
767 "typename_sub","typename_sub0","typename_sub1","typename_sub2","explicit_template_type",
768 "complex_type_name","ptr_to_mem","global_scope","new_declarator","direct_new_declarator",
769 "absdcl","direct_abstract_declarator","stmts","errstmt","maybe_label_decls",
770 "label_decls","label_decl","compstmt_or_error","compstmt","@28","simple_if",
771 "@29","@30","implicitly_scoped_stmt","@31","stmt","simple_stmt","@32","@33",
772 "@34","@35","@36","@37","@38","@39","@40","@41","@42","@43","@44","@45","function_try_block",
773 "@46","@47","try_block","@48","@49","handler_seq","handler","@50","@51","type_specifier_seq",
774 "handler_args","label_colon","for.init.statement","maybe_cv_qualifier","xexpr",
775 "asm_operands","nonnull_asm_operands","asm_operand","asm_clobbers","parmlist",
776 "complex_parmlist","defarg","@52","defarg1","parms","parms_comma","named_parm",
777 "full_parm","parm","see_typename","bad_parm","exception_specification_opt","ansi_raise_identifier",
778 "ansi_raise_identifiers","conversion_declarator","operator","operator_name", NULL
782 static const short yyr1
[] = { 0,
783 112, 112, 114, 113, 113, 115, 115, 116, 117, 118,
784 119, 121, 120, 122, 122, 122, 122, 122, 122, 122,
785 123, 122, 124, 122, 122, 122, 122, 122, 125, 125,
786 125, 126, 126, 126, 126, 127, 127, 129, 128, 128,
787 130, 130, 131, 131, 132, 132, 133, 134, 134, 134,
788 134, 134, 134, 135, 135, 136, 136, 136, 136, 136,
789 136, 136, 136, 136, 137, 137, 138, 138, 138, 139,
790 139, 140, 140, 140, 142, 141, 141, 143, 141, 141,
791 144, 141, 141, 145, 141, 141, 146, 146, 146, 146,
792 146, 147, 147, 147, 147, 148, 148, 148, 148, 148,
793 148, 148, 149, 150, 150, 150, 151, 152, 153, 153,
794 153, 153, 154, 154, 154, 154, 154, 154, 154, 154,
795 155, 155, 155, 155, 155, 156, 156, 156, 157, 157,
796 157, 159, 158, 160, 158, 161, 158, 162, 158, 163,
797 158, 164, 158, 165, 158, 166, 158, 167, 168, 169,
798 169, 169, 170, 171, 171, 172, 172, 173, 173, 174,
799 174, 175, 175, 175, 175, 175, 176, 176, 177, 177,
800 178, 178, 179, 179, 179, 181, 180, 180, 182, 182,
801 182, 182, 184, 183, 183, 185, 185, 185, 185, 186,
802 186, 187, 187, 187, 187, 187, 187, 187, 187, 187,
803 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
804 187, 187, 187, 187, 187, 188, 189, 190, 190, 191,
805 191, 191, 191, 192, 192, 193, 193, 193, 194, 194,
806 194, 194, 194, 194, 194, 194, 194, 194, 194, 194,
807 194, 194, 194, 194, 194, 194, 194, 194, 194, 194,
808 194, 194, 194, 195, 195, 195, 195, 195, 195, 196,
809 197, 197, 198, 198, 198, 199, 199, 199, 200, 200,
810 200, 200, 201, 201, 202, 202, 202, 202, 203, 203,
811 203, 203, 203, 203, 203, 204, 203, 203, 203, 203,
812 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
813 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
814 203, 203, 203, 203, 203, 203, 203, 203, 203, 205,
815 205, 206, 206, 207, 207, 208, 208, 209, 210, 210,
816 211, 211, 211, 211, 211, 211, 212, 212, 213, 213,
817 214, 214, 214, 214, 214, 215, 215, 216, 216, 216,
818 216, 216, 216, 217, 217, 217, 217, 217, 218, 218,
819 218, 218, 218, 218, 219, 219, 219, 219, 220, 220,
820 221, 221, 221, 221, 221, 221, 221, 222, 222, 222,
821 223, 223, 224, 224, 225, 225, 226, 226, 228, 227,
822 227, 230, 229, 229, 231, 232, 234, 233, 233, 235,
823 235, 236, 236, 237, 238, 238, 239, 239, 239, 239,
824 239, 240, 240, 240, 240, 241, 241, 242, 242, 243,
825 243, 243, 243, 243, 244, 244, 244, 244, 244, 245,
826 246, 246, 246, 247, 247, 248, 248, 249, 249, 249,
827 251, 250, 250, 252, 250, 250, 250, 250, 250, 253,
828 254, 250, 250, 255, 255, 256, 256, 257, 257, 257,
829 257, 257, 258, 259, 260, 260, 260, 260, 260, 261,
830 262, 262, 262, 263, 264, 264, 265, 265, 265, 266,
831 266, 267, 267, 268, 268, 268, 268, 269, 269, 269,
832 269, 270, 271, 272, 272, 272, 272, 273, 273, 274,
833 274, 274, 274, 274, 274, 274, 274, 274, 274, 275,
834 275, 275, 275, 275, 275, 275, 275, 275, 276, 276,
835 276, 277, 277, 277, 278, 278, 279, 279, 280, 280,
836 281, 281, 281, 281, 282, 282, 283, 283, 283, 284,
837 284, 285, 285, 286, 286, 286, 287, 287, 288, 288,
838 289, 290, 291, 291, 291, 291, 292, 292, 292, 292,
839 292, 292, 293, 293, 294, 294, 294, 295, 296, 296,
840 296, 296, 296, 296, 297, 297, 297, 297, 297, 297,
841 298, 298, 298, 298, 298, 298, 299, 299, 299, 299,
842 299, 299, 300, 300, 301, 301, 302, 302, 303, 303,
843 303, 304, 304, 304, 305, 305, 305, 306, 306, 306,
844 306, 307, 307, 308, 308, 308, 308, 309, 309, 309,
845 309, 310, 310, 310, 310, 310, 310, 311, 312, 312,
846 312, 313, 313, 314, 315, 315, 315, 315, 315, 315,
847 315, 316, 316, 317, 317, 317, 317, 317, 317, 317,
848 317, 317, 317, 317, 318, 318, 318, 318, 318, 318,
849 318, 318, 318, 318, 318, 319, 319, 319, 319, 320,
850 321, 321, 322, 322, 323, 324, 324, 326, 325, 328,
851 329, 327, 330, 331, 330, 332, 332, 333, 333, 334,
852 333, 333, 335, 336, 333, 337, 338, 333, 339, 340,
853 341, 342, 333, 343, 344, 333, 345, 333, 346, 333,
854 347, 333, 333, 333, 333, 333, 333, 333, 333, 333,
855 333, 333, 333, 333, 333, 333, 349, 350, 348, 352,
856 353, 351, 354, 354, 356, 357, 355, 358, 358, 359,
857 359, 360, 360, 360, 360, 361, 361, 361, 362, 362,
858 363, 363, 363, 364, 364, 365, 365, 366, 367, 367,
859 368, 368, 368, 369, 369, 369, 369, 369, 369, 369,
860 371, 370, 372, 372, 373, 373, 373, 373, 373, 374,
861 374, 375, 375, 375, 375, 375, 375, 376, 376, 377,
862 377, 378, 379, 379, 380, 380, 380, 381, 382, 382,
863 383, 383, 383, 383, 384, 385, 385, 385, 385, 385,
864 385, 385, 385, 385, 385, 385, 385, 385, 385, 385,
865 385, 385, 385, 385, 385, 385, 385, 385, 385, 385,
866 385, 385, 385, 385, 385, 385, 385, 385, 385, 385
869 static const short yyr2
[] = { 0,
870 0, 1, 0, 2, 2, 1, 0, 0, 0, 1,
871 1, 0, 2, 2, 1, 1, 5, 4, 5, 4,
872 0, 6, 0, 5, 5, 2, 4, 2, 2, 3,
873 3, 1, 1, 2, 2, 1, 2, 0, 5, 3,
874 1, 3, 1, 0, 2, 2, 3, 1, 3, 1,
875 3, 1, 3, 2, 2, 2, 3, 3, 2, 2,
876 2, 2, 2, 1, 1, 1, 0, 1, 2, 0,
877 1, 4, 3, 3, 0, 8, 5, 0, 9, 6,
878 0, 8, 5, 0, 9, 6, 2, 2, 1, 2,
879 1, 6, 4, 6, 4, 2, 1, 2, 2, 1,
880 2, 1, 2, 2, 4, 2, 3, 0, 0, 1,
881 3, 2, 3, 1, 4, 2, 4, 2, 4, 2,
882 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
883 1, 0, 6, 0, 6, 0, 5, 0, 5, 0,
884 7, 0, 7, 0, 6, 0, 6, 0, 0, 4,
885 4, 1, 4, 1, 1, 0, 1, 1, 3, 1,
886 1, 1, 1, 1, 1, 1, 1, 1, 1, 3,
887 1, 3, 0, 1, 1, 0, 7, 1, 1, 3,
888 4, 3, 0, 3, 1, 3, 3, 3, 3, 1,
889 1, 1, 2, 2, 2, 2, 2, 2, 2, 4,
890 2, 4, 2, 3, 3, 4, 5, 6, 6, 7,
891 2, 4, 5, 2, 2, 1, 0, 4, 4, 3,
892 1, 3, 2, 3, 4, 1, 2, 5, 1, 3,
893 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
894 3, 3, 3, 3, 3, 3, 3, 3, 5, 3,
895 3, 1, 2, 3, 1, 1, 1, 1, 1, 0,
896 5, 5, 5, 5, 5, 1, 1, 1, 1, 2,
897 2, 3, 4, 4, 1, 1, 1, 3, 1, 1,
898 1, 1, 3, 3, 3, 0, 4, 4, 2, 4,
899 2, 2, 1, 4, 1, 7, 7, 7, 7, 4,
900 4, 2, 2, 2, 1, 4, 2, 2, 5, 3,
901 2, 2, 5, 3, 5, 3, 4, 6, 2, 1,
902 2, 1, 2, 1, 1, 1, 2, 0, 2, 2,
903 3, 3, 3, 2, 2, 2, 1, 1, 1, 2,
904 2, 2, 2, 1, 1, 1, 1, 2, 2, 3,
905 3, 3, 4, 1, 2, 2, 2, 1, 1, 1,
906 2, 2, 2, 1, 1, 2, 2, 3, 1, 2,
907 1, 1, 1, 4, 4, 4, 4, 1, 1, 1,
908 1, 3, 1, 3, 1, 3, 0, 4, 0, 6,
909 3, 0, 4, 1, 3, 3, 0, 4, 3, 0,
910 1, 1, 2, 6, 1, 3, 0, 1, 4, 6,
911 4, 1, 1, 1, 1, 1, 3, 0, 2, 1,
912 2, 3, 4, 1, 1, 3, 4, 3, 5, 1,
913 4, 3, 3, 0, 3, 3, 3, 0, 2, 2,
914 0, 7, 4, 0, 6, 3, 2, 2, 2, 0,
915 0, 9, 1, 0, 1, 0, 1, 1, 2, 2,
916 2, 2, 2, 2, 3, 4, 3, 2, 3, 0,
917 1, 3, 2, 2, 1, 1, 0, 2, 3, 1,
918 4, 1, 3, 1, 1, 4, 4, 2, 2, 3,
919 3, 1, 0, 1, 2, 4, 3, 1, 2, 2,
920 2, 2, 2, 2, 2, 1, 2, 2, 3, 2,
921 2, 4, 4, 2, 1, 5, 4, 1, 0, 1,
922 3, 0, 1, 3, 1, 1, 1, 1, 4, 4,
923 4, 4, 4, 3, 4, 4, 4, 4, 3, 1,
924 3, 1, 3, 2, 1, 7, 0, 2, 1, 2,
925 0, 2, 4, 4, 2, 4, 3, 3, 2, 2,
926 3, 1, 1, 2, 1, 1, 2, 2, 4, 4,
927 3, 3, 2, 1, 3, 3, 2, 2, 3, 1,
928 3, 3, 2, 2, 3, 1, 4, 3, 4, 3,
929 1, 2, 2, 2, 2, 2, 1, 2, 4, 4,
930 2, 1, 1, 1, 1, 2, 4, 2, 2, 2,
931 2, 1, 2, 2, 2, 2, 3, 1, 2, 3,
932 4, 2, 2, 2, 2, 2, 2, 4, 2, 1,
933 2, 2, 3, 1, 3, 2, 3, 2, 2, 3,
934 1, 3, 4, 3, 2, 2, 1, 3, 2, 2,
935 1, 2, 3, 1, 3, 1, 6, 4, 4, 3,
936 5, 3, 3, 3, 2, 1, 1, 2, 2, 2,
937 0, 1, 1, 2, 3, 1, 2, 0, 3, 0,
938 0, 5, 1, 0, 2, 1, 1, 1, 2, 0,
939 4, 1, 0, 0, 5, 0, 0, 7, 0, 0,
940 0, 0, 12, 0, 0, 7, 0, 5, 0, 7,
941 0, 4, 2, 2, 2, 3, 6, 8, 10, 12,
942 4, 3, 2, 2, 1, 1, 0, 0, 6, 0,
943 0, 5, 1, 2, 0, 0, 5, 1, 1, 3,
944 3, 2, 2, 2, 2, 2, 1, 2, 0, 1,
945 0, 1, 1, 0, 1, 1, 3, 4, 1, 3,
946 0, 1, 1, 1, 2, 2, 2, 1, 2, 2,
947 0, 3, 1, 1, 1, 2, 2, 2, 4, 2,
948 2, 2, 2, 2, 2, 1, 2, 1, 2, 1,
949 1, 0, 0, 1, 0, 4, 2, 1, 1, 3,
950 0, 3, 3, 3, 1, 2, 2, 2, 2, 2,
951 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
952 2, 2, 2, 2, 2, 2, 2, 2, 3, 2,
953 2, 2, 2, 3, 2, 2, 4, 4, 3, 2
956 static const short yydefact
[] = { 3,
957 12, 12, 5, 0, 4, 0, 257, 602, 603, 0,
958 360, 372, 549, 0, 11, 0, 0, 0, 10, 458,
959 805, 0, 0, 0, 148, 634, 258, 259, 64, 0,
960 0, 792, 0, 36, 0, 0, 13, 0, 8, 0,
961 16, 15, 70, 91, 67, 0, 604, 152, 276, 255,
962 277, 580, 0, 347, 0, 346, 365, 0, 385, 364,
963 402, 371, 0, 471, 470, 477, 476, 475, 453, 359,
964 565, 373, 566, 89, 275, 591, 563, 0, 605, 547,
965 0, 0, 256, 62, 63, 156, 608, 156, 609, 156,
966 260, 148, 121, 122, 123, 124, 125, 444, 447, 0,
967 630, 0, 448, 0, 0, 0, 0, 122, 123, 124,
968 125, 23, 0, 0, 0, 0, 0, 0, 0, 449,
969 612, 0, 618, 0, 0, 0, 0, 0, 0, 29,
970 0, 0, 38, 0, 156, 610, 0, 0, 578, 0,
971 0, 0, 577, 0, 0, 0, 0, 276, 0, 551,
972 0, 275, 547, 28, 0, 26, 3, 37, 0, 55,
973 54, 71, 14, 0, 400, 0, 0, 418, 68, 60,
974 611, 551, 0, 547, 61, 0, 0, 0, 87, 0,
975 381, 337, 562, 338, 574, 0, 547, 362, 361, 59,
976 90, 348, 0, 383, 363, 88, 354, 378, 379, 349,
977 367, 369, 358, 380, 0, 56, 403, 459, 460, 461,
978 462, 474, 130, 129, 131, 463, 464, 468, 0, 0,
979 477, 792, 473, 492, 493, 550, 366, 0, 397, 603,
980 0, 632, 152, 595, 596, 592, 568, 606, 0, 567,
981 564, 0, 840, 836, 835, 833, 815, 820, 821, 0,
982 827, 826, 812, 813, 811, 830, 819, 816, 817, 818,
983 822, 823, 809, 810, 806, 807, 808, 832, 824, 825,
984 814, 831, 0, 828, 738, 365, 739, 801, 260, 257,
985 549, 280, 326, 0, 0, 0, 0, 322, 320, 293,
986 324, 325, 0, 0, 0, 0, 0, 259, 252, 0,
987 0, 163, 162, 0, 164, 165, 0, 0, 166, 0,
988 0, 157, 158, 0, 226, 0, 229, 161, 279, 192,
989 0, 0, 281, 282, 0, 160, 344, 365, 345, 597,
990 305, 295, 0, 0, 0, 0, 156, 0, 446, 0,
991 441, 0, 631, 629, 0, 167, 168, 0, 0, 0,
992 407, 3, 21, 0, 626, 622, 623, 625, 627, 624,
993 121, 122, 123, 0, 124, 125, 614, 615, 619, 616,
994 613, 267, 268, 0, 266, 32, 33, 0, 594, 593,
995 31, 30, 40, 0, 360, 138, 0, 0, 365, 136,
996 0, 0, 576, 0, 575, 254, 271, 0, 584, 270,
997 0, 583, 0, 278, 588, 0, 0, 12, 0, 148,
998 9, 9, 0, 399, 401, 103, 74, 108, 727, 0,
999 66, 65, 73, 106, 0, 0, 104, 69, 590, 0,
1000 0, 555, 0, 795, 0, 560, 0, 559, 0, 0,
1001 0, 0, 547, 400, 0, 58, 551, 547, 573, 0,
1002 351, 352, 0, 57, 400, 356, 355, 357, 350, 370,
1003 387, 386, 465, 469, 467, 0, 472, 478, 0, 0,
1004 368, 400, 547, 75, 0, 0, 0, 0, 547, 81,
1005 548, 579, 603, 633, 152, 0, 0, 829, 834, 367,
1006 547, 547, 0, 547, 839, 156, 0, 0, 0, 199,
1007 0, 0, 201, 214, 215, 0, 0, 0, 0, 0,
1008 253, 198, 195, 194, 196, 0, 0, 0, 0, 0,
1009 279, 0, 0, 0, 193, 154, 155, 273, 0, 197,
1010 0, 0, 227, 0, 0, 0, 0, 0, 0, 0,
1011 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1012 0, 0, 0, 0, 0, 289, 291, 292, 330, 329,
1013 0, 0, 217, 217, 0, 203, 545, 0, 211, 327,
1014 319, 0, 0, 792, 308, 311, 312, 0, 0, 339,
1015 651, 647, 656, 0, 551, 547, 547, 547, 341, 654,
1016 0, 601, 343, 0, 0, 342, 307, 0, 302, 321,
1017 303, 323, 598, 0, 304, 151, 153, 0, 146, 0,
1018 365, 144, 542, 456, 540, 443, 0, 0, 374, 0,
1019 0, 375, 376, 377, 413, 414, 415, 412, 0, 405,
1020 408, 0, 3, 0, 617, 156, 620, 27, 35, 34,
1021 44, 0, 0, 0, 48, 52, 41, 791, 786, 0,
1022 344, 365, 44, 345, 790, 50, 149, 134, 132, 149,
1023 150, 274, 582, 581, 278, 585, 0, 18, 20, 70,
1024 0, 109, 328, 0, 678, 72, 676, 424, 0, 420,
1025 419, 191, 0, 190, 552, 589, 0, 768, 0, 763,
1026 365, 0, 762, 764, 793, 775, 0, 0, 587, 558,
1027 557, 0, 0, 572, 0, 395, 394, 382, 571, 0,
1028 795, 561, 353, 384, 396, 400, 466, 602, 603, 792,
1029 0, 792, 604, 479, 480, 482, 792, 485, 484, 0,
1030 515, 603, 0, 506, 0, 0, 518, 0, 102, 97,
1031 0, 152, 519, 522, 0, 498, 0, 100, 0, 400,
1032 398, 795, 761, 156, 156, 607, 156, 795, 761, 547,
1033 78, 547, 84, 838, 837, 801, 801, 801, 0, 0,
1034 0, 0, 601, 0, 0, 0, 0, 365, 0, 0,
1035 0, 285, 0, 283, 284, 0, 224, 159, 257, 602,
1036 603, 258, 259, 0, 0, 425, 454, 0, 251, 250,
1037 753, 752, 0, 248, 247, 245, 246, 244, 243, 242,
1038 239, 240, 241, 237, 238, 232, 233, 234, 235, 236,
1039 230, 231, 0, 0, 0, 0, 217, 205, 221, 0,
1040 0, 204, 547, 547, 0, 547, 544, 641, 0, 0,
1041 0, 0, 0, 310, 0, 314, 0, 316, 0, 650,
1042 649, 646, 645, 791, 0, 0, 665, 0, 0, 795,
1043 340, 795, 652, 547, 761, 551, 651, 647, 0, 0,
1044 547, 0, 0, 0, 0, 0, 261, 149, 142, 140,
1045 149, 0, 457, 0, 456, 189, 188, 187, 186, 407,
1046 0, 0, 24, 0, 25, 621, 0, 46, 43, 44,
1047 0, 39, 0, 0, 651, 647, 0, 782, 547, 785,
1048 787, 0, 783, 784, 45, 463, 0, 139, 149, 149,
1049 137, 17, 19, 388, 126, 114, 127, 128, 0, 107,
1050 110, 0, 0, 0, 0, 677, 671, 421, 0, 105,
1051 556, 553, 767, 781, 770, 0, 554, 766, 780, 769,
1052 765, 794, 777, 788, 778, 771, 776, 797, 0, 392,
1053 570, 569, 391, 489, 0, 488, 792, 792, 792, 0,
1054 547, 761, 514, 507, 519, 508, 400, 400, 504, 505,
1055 502, 503, 547, 761, 257, 602, 0, 387, 98, 510,
1056 520, 525, 526, 387, 387, 0, 0, 387, 96, 511,
1057 523, 387, 499, 500, 501, 400, 0, 450, 77, 0,
1058 0, 0, 0, 83, 0, 795, 761, 795, 761, 803,
1059 802, 804, 262, 294, 200, 202, 300, 301, 0, 0,
1060 0, 0, 284, 287, 0, 0, 0, 0, 225, 0,
1061 288, 290, 0, 0, 0, 0, 206, 223, 0, 0,
1062 638, 636, 0, 639, 551, 212, 0, 0, 156, 317,
1063 0, 0, 0, 648, 644, 655, 547, 664, 662, 663,
1064 653, 795, 0, 660, 0, 599, 600, 0, 306, 147,
1065 149, 149, 145, 543, 541, 445, 0, 406, 404, 257,
1066 0, 22, 628, 47, 42, 49, 53, 650, 646, 651,
1067 647, 0, 563, 0, 547, 652, 51, 135, 133, 0,
1068 112, 0, 116, 0, 118, 0, 120, 0, 728, 0,
1069 179, 679, 0, 672, 673, 0, 422, 651, 647, 0,
1070 279, 0, 597, 789, 0, 0, 798, 799, 0, 0,
1071 389, 0, 0, 0, 491, 490, 483, 795, 0, 509,
1072 418, 418, 795, 0, 0, 0, 400, 400, 0, 400,
1073 400, 0, 400, 0, 418, 0, 438, 547, 264, 263,
1074 265, 547, 80, 0, 86, 0, 0, 0, 0, 0,
1075 0, 428, 0, 426, 228, 249, 219, 218, 216, 207,
1076 0, 220, 222, 637, 635, 642, 640, 0, 213, 0,
1077 0, 309, 313, 315, 795, 658, 547, 659, 143, 141,
1078 442, 0, 409, 411, 650, 646, 568, 652, 113, 111,
1079 0, 0, 0, 0, 416, 0, 0, 257, 602, 603,
1080 680, 693, 696, 699, 704, 0, 0, 0, 0, 0,
1081 0, 258, 725, 730, 0, 749, 0, 688, 0, 0,
1082 365, 0, 667, 686, 692, 666, 687, 726, 0, 674,
1083 423, 0, 600, 779, 773, 774, 772, 0, 796, 393,
1084 0, 486, 487, 481, 93, 547, 513, 517, 95, 547,
1085 400, 400, 534, 418, 257, 602, 0, 521, 527, 528,
1086 387, 387, 418, 418, 0, 418, 524, 512, 0, 795,
1087 795, 547, 547, 0, 0, 0, 0, 427, 0, 0,
1088 208, 209, 643, 318, 263, 661, 795, 0, 115, 117,
1089 119, 735, 729, 733, 0, 675, 670, 182, 742, 744,
1090 745, 0, 0, 684, 0, 0, 0, 711, 713, 714,
1091 715, 0, 0, 0, 743, 0, 336, 750, 0, 689,
1092 334, 387, 0, 335, 0, 387, 0, 0, 0, 180,
1093 669, 668, 690, 724, 723, 284, 800, 390, 795, 795,
1094 533, 530, 532, 0, 0, 400, 400, 400, 529, 531,
1095 516, 440, 0, 439, 434, 76, 82, 795, 795, 296,
1096 297, 298, 299, 429, 0, 210, 657, 410, 0, 734,
1097 417, 171, 0, 681, 694, 683, 0, 0, 0, 0,
1098 0, 707, 0, 716, 0, 722, 731, 0, 332, 333,
1099 0, 0, 0, 331, 181, 684, 92, 94, 400, 400,
1100 539, 418, 418, 0, 0, 452, 79, 85, 546, 0,
1101 736, 178, 0, 365, 0, 684, 0, 697, 685, 671,
1102 747, 700, 0, 0, 0, 0, 712, 721, 0, 0,
1103 691, 538, 536, 535, 537, 437, 436, 430, 67, 70,
1104 0, 0, 0, 172, 387, 682, 183, 695, 185, 0,
1105 748, 0, 746, 705, 709, 708, 732, 754, 0, 0,
1106 435, 740, 741, 737, 400, 671, 169, 0, 0, 175,
1107 0, 174, 684, 0, 0, 0, 755, 756, 717, 433,
1108 0, 432, 0, 184, 0, 698, 701, 706, 710, 0,
1109 754, 0, 0, 431, 176, 170, 0, 0, 0, 718,
1110 757, 0, 0, 758, 0, 0, 177, 702, 759, 0,
1111 719, 0, 0, 0, 703, 760, 720, 0, 0, 0
1114 static const short yydefgoto
[] = { 1548,
1115 408, 2, 409, 159, 669, 310, 164, 3, 4, 37,
1116 633, 352, 737, 374, 39, 738, 384, 644, 898, 645,
1117 646, 647, 41, 42, 420, 167, 163, 43, 739, 753,
1118 1017, 759, 1019, 45, 740, 741, 168, 169, 421, 672,
1119 930, 931, 613, 932, 217, 46, 920, 919, 660, 657,
1120 1082, 1081, 881, 878, 134, 918, 47, 48, 528, 311,
1121 312, 313, 314, 1247, 1499, 1404, 1501, 1443, 1532, 1122,
1122 1478, 1496, 346, 870, 315, 1190, 825, 565, 832, 316,
1123 317, 347, 319, 337, 50, 235, 376, 397, 51, 52,
1124 320, 523, 321, 322, 323, 324, 422, 325, 1248, 461,
1125 587, 326, 1249, 54, 200, 650, 327, 201, 501, 202,
1126 180, 193, 58, 444, 462, 1271, 706, 1140, 181, 194,
1127 59, 472, 707, 60, 61, 629, 630, 631, 1226, 427,
1128 796, 797, 1469, 1470, 1436, 1384, 1299, 62, 617, 340,
1129 1167, 1385, 1038, 884, 63, 64, 65, 66, 221, 67,
1130 68, 69, 223, 724, 725, 726, 727, 225, 469, 470,
1131 745, 746, 747, 990, 1000, 991, 1288, 992, 993, 1289,
1132 1290, 614, 615, 566, 860, 329, 430, 431, 174, 182,
1133 71, 72, 73, 183, 184, 151, 75, 130, 330, 331,
1134 332, 77, 333, 79, 729, 121, 122, 123, 477, 103,
1135 80, 334, 837, 838, 855, 590, 1252, 1253, 1123, 1124,
1136 1125, 676, 1254, 937, 1255, 1332, 1446, 1407, 1408, 1256,
1137 1257, 1426, 1333, 1447, 1334, 1480, 1335, 1482, 1527, 1542,
1138 1336, 1503, 1456, 1504, 1413, 423, 673, 1224, 1258, 1346,
1139 1459, 1323, 1324, 1399, 1473, 1445, 1441, 1259, 1452, 1349,
1140 803, 1506, 1507, 1508, 1540, 692, 693, 957, 1136, 1267,
1141 694, 695, 696, 953, 697, 144, 955, 699, 1138, 1139,
1145 static const short yypact
[] = { 96,
1146 195,-32768,-32768, 5576,-32768, 23, 47, 205, 282, 116,
1147 166,-32768,-32768, 1516,-32768, 189, 215, 233,-32768,-32768,
1148 -32768, 624, 1171, 994, 174,-32768, 184, 329,-32768, 1291,
1149 1291,-32768, 4184,-32768, 5576, 248,-32768, 328, 81, 5836,
1150 -32768,-32768, 272, 1031, 371, 352, 368,-32768,-32768,-32768,
1151 -32768, 300, 1751,-32768, 4327,-32768, 1925, 606,-32768, 417,
1152 -32768,-32768, 779,-32768,-32768, 392,-32768,-32768, 409, 4293,
1153 -32768,-32768,-32768, 923,-32768,-32768,-32768, 1163,-32768,-32768,
1154 319, 7614, 387,-32768,-32768, 9017,-32768, 9017,-32768, 9017,
1155 -32768,-32768,-32768, 205, 282, 184, 421, 405, 428, 368,
1156 -32768, 795,-32768, 319, 9017, 9017, 424,-32768,-32768,-32768,
1157 -32768,-32768, 197, 492, 381, 403, 539, 500, 516,-32768,
1158 -32768, 1124,-32768, 476, 205, 282, 1429, 184, 421,-32768,
1159 357, 1634, 474, 10242, 9017,-32768, 9017, 3516,-32768, 1310,
1160 360, 3516,-32768, 845, 3693, 3693, 4184, 468, 471, 491,
1161 532, 549,-32768,-32768, 651,-32768, 560,-32768, 3960, 23,
1162 -32768,-32768,-32768, 603, 417, 680, 111, 404, 659,-32768,
1163 -32768, 611, 175,-32768,-32768, 4084, 4084, 4711, 923, 644,
1164 -32768,-32768, 359,-32768,-32768, 2254,-32768,-32768,-32768,-32768,
1165 -32768, 1925, 710,-32768, 417, 923,-32768,-32768,-32768, 2089,
1166 1925,-32768, 417,-32768, 4739,-32768,-32768,-32768,-32768,-32768,
1167 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 368, 1227, 1082,
1168 392,-32768,-32768,-32768,-32768,-32768, 1351, 319,-32768, 563,
1169 1527,-32768, 251,-32768,-32768,-32768,-32768,-32768, 4212,-32768,
1170 -32768, 416,-32768, 643, 648,-32768,-32768,-32768,-32768, 684,
1171 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1172 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1173 -32768,-32768, 646,-32768,-32768, 1351, 4293, 890,-32768,-32768,
1174 674,-32768,-32768, 9625, 9711, 9797, 9797,-32768,-32768,-32768,
1175 -32768,-32768, 687, 703, 723, 735, 747, 421, 9103, 845,
1176 9797,-32768,-32768, 9797,-32768,-32768, 9797, 7092,-32768, 9797,
1177 79, 765,-32768, 9797,-32768, 9189,-32768, 10651,-32768, 1587,
1178 1298, 9275,-32768, 820, 2141,-32768, 1861, 2029, 10335,-32768,
1179 259,-32768, 1768, 2209, 79, 79, 9017, 10242,-32768, 845,
1180 697, 845,-32768,-32768, 720, 775, 10584, 730, 751, 769,
1181 1873, 560,-32768, 1429,-32768,-32768,-32768,-32768,-32768,-32768,
1182 492, 381, 403, 845, 539, 500, 799, 516,-32768, 827,
1183 -32768, 205, 282, 830,-32768,-32768,-32768, 1634,-32768,-32768,
1184 -32768,-32768,-32768, 5089,-32768,-32768, 4739, 10544, 2149,-32768,
1185 79, 650,-32768, 495,-32768,-32768,-32768, 3516,-32768,-32768,
1186 3516,-32768, 788,-32768,-32768, 4212, 54, 802, 814,-32768,
1187 -32768,-32768, 651,-32768, 417,-32768,-32768,-32768,-32768, 136,
1188 -32768,-32768,-32768,-32768, 7183, 9103,-32768,-32768,-32768, 9103,
1189 793,-32768, 6540, 100, 4453,-32768, 4453,-32768, 4546, 4546,
1190 4711, 813,-32768, 417, 4739,-32768, 823,-32768,-32768, 4648,
1191 2089, 1925, 4739,-32768, 417,-32768,-32768, 417, 2089,-32768,
1192 909,-32768,-32768, 368,-32768, 1227,-32768, 2351, 1705, 56,
1193 1351, 417,-32768,-32768, 869, 871, 902, 891,-32768,-32768,
1194 -32768,-32768, 989,-32768, 264, 853, 856,-32768,-32768, 1351,
1195 -32768,-32768, 682,-32768,-32768, 9017, 9103, 674, 7092,-32768,
1196 444, 7092,-32768,-32768,-32768, 9017, 4911, 4911, 4911, 4911,
1197 10629,-32768,-32768,-32768,-32768, 861, 9883, 9883, 7092, 863,
1198 468, 864, 915, 867,-32768,-32768,-32768,-32768, 9017,-32768,
1199 6722, 7092,-32768, 9103, 9103, 7274, 9103, 9103, 9103, 9103,
1200 9103, 9103, 9103, 9103, 9103, 9103, 9103, 9103, 9103, 9103,
1201 9103, 9103, 9103, 9103, 9103,-32768,-32768,-32768,-32768,-32768,
1202 9103, 9103,-32768,-32768, 3090, 489, 551, 7974,-32768,-32768,
1203 -32768, 927, 1527, 970, 469, 475, 493, 1785, 360,-32768,
1204 454, 454,-32768, 5298, 878, 901, 962,-32768,-32768, 427,
1205 8472, 858,-32768, 812, 319,-32768,-32768, 9103,-32768,-32768,
1206 -32768,-32768,-32768, 89, 387,-32768,-32768, 79,-32768, 4739,
1207 2405,-32768, 948, 961,-32768,-32768, 845, 799,-32768, 7706,
1208 7797,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 113,-32768,
1209 929, 921, 560, 973, 983, 9017,-32768,-32768,-32768,-32768,
1210 1188, 174, 1009, 152, 988, 990,-32768,-32768, 2783, 10297,
1211 2783, 2555, 779, 5228,-32768, 995,-32768,-32768,-32768,-32768,
1212 -32768,-32768,-32768,-32768, 952,-32768, 1001,-32768,-32768, 272,
1213 80, 200, 1003, 915,-32768,-32768,-32768,-32768, 5722, 10629,
1214 -32768, 775, 969, 10584,-32768,-32768, 971,-32768, 972, 369,
1215 3338, 975,-32768, 190, 10060, 1017, 1020, 503,-32768,-32768,
1216 -32768, 4453, 4453,-32768, 4648,-32768, 1033,-32768,-32768, 992,
1217 100,-32768, 2089,-32768,-32768, 417,-32768, 381, 403,-32768,
1218 1006,-32768, 516, 1041,-32768,-32768, 121,-32768,-32768, 1284,
1219 -32768, 999, 485,-32768, 9103, 3453,-32768, 3453, 278, 278,
1220 135, 511, 3359, 10115, 4809,-32768, 126, 278, 1043, 417,
1221 -32768, 100, 10487, 9017, 9017,-32768, 9017, 100, 10487,-32768,
1222 -32768,-32768,-32768,-32768,-32768, 920, 920, 920, 79, 1002,
1223 1004, 9367, 962, 1008, 1010, 1012, 1042, 3242, 1046, 1047,
1224 1049,-32768, 1024,-32768,-32768, 1026,-32768,-32768, 1078, 356,
1225 749, 170, 63, 9103, 1080,-32768, 1084, 1037, 10629, 10629,
1226 -32768,-32768, 1086, 3084, 5372, 4500, 4604, 1948, 3842, 4235,
1227 2445, 2445, 2445, 1239, 1239, 1443, 1443, 707, 707, 707,
1228 -32768,-32768, 1048, 1038, 9103, 9017,-32768, 489,-32768, 7183,
1229 9103,-32768,-32768,-32768, 9103,-32768,-32768, 1063, 9797, 1053,
1230 1071, 1103, 1132,-32768, 9103,-32768, 9103,-32768, 9103, 2727,
1231 -32768, 2727,-32768, 88, 1074, 1077,-32768, 1075, 4911, 100,
1232 -32768, 100, 4056,-32768, 10487, 1076, 8656, 8656, 6032, 1087,
1233 9189, 1089, 2282, 2209, 859, 1093,-32768,-32768,-32768,-32768,
1234 -32768, 9103, 845, 1085, 961,-32768, 10629,-32768, 10629, 1873,
1235 1095, 9453,-32768, 1096,-32768,-32768, 79,-32768,-32768, 1641,
1236 5089,-32768, 4911, 9017, 2001, 2001, 6141,-32768,-32768,-32768,
1237 -32768, 2254,-32768,-32768,-32768, 255, 9103,-32768,-32768,-32768,
1238 -32768,-32768,-32768,-32768, 492,-32768, 539, 500, 9103, 1139,
1239 -32768, 531, 537, 595, 915,-32768, 48,-32768, 35,-32768,
1240 -32768,-32768,-32768,-32768,-32768, 8564,-32768,-32768,-32768,-32768,
1241 -32768,-32768,-32768, 1020, 1144,-32768,-32768,-32768, 4911,-32768,
1242 -32768,-32768, 1145,-32768, 9017,-32768,-32768,-32768,-32768, 1014,
1243 -32768, 10487, 10629,-32768, 1090,-32768, 417, 417,-32768,-32768,
1244 -32768,-32768,-32768, 10487, 507, 792, 9103, 909,-32768, 1151,
1245 -32768,-32768,-32768, 398, 652, 1163, 360, 706, 278, 1154,
1246 -32768, 767,-32768,-32768,-32768, 417, 4992,-32768,-32768, 1107,
1247 79, 79, 79,-32768, 1108, 100, 10487, 100, 10487,-32768,
1248 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1128, 1141,
1249 1146, 1147, 952,-32768, 5946, 7183, 6816, 1138,-32768, 9103,
1250 -32768,-32768, 1140, 1142, 1148, 4911,-32768,-32768, 1149, 199,
1251 614, 614, 1143, 614,-32768,-32768, 9797, 1253, 9017,-32768,
1252 1157, 1160, 1164,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1253 -32768, 100, 1165,-32768, 1169,-32768,-32768, 2491,-32768,-32768,
1254 -32768,-32768,-32768, 10629,-32768,-32768, 1162,-32768,-32768, 128,
1255 1166,-32768,-32768,-32768,-32768,-32768,-32768, 2390, 2390, 2463,
1256 2463, 6141,-32768, 2254,-32768, 3175, 10651,-32768,-32768, 1168,
1257 -32768, 200,-32768, 9103,-32768, 9103,-32768, 9103,-32768, 845,
1258 -32768,-32768, 6353, 1257,-32768, 6907,-32768, 8748, 8748, 6446,
1259 77, 1178, 238,-32768, 7183, 6998,-32768,-32768, 142, 7183,
1260 -32768, 1193, 1196, 2351,-32768,-32768,-32768, 100, 1197,-32768,
1261 1247, 1247, 100, 1219, 9103, 9103, 10406, 417, 3714, 417,
1262 417, 936, 417, 3813, 1247, 5460,-32768,-32768,-32768, 1275,
1263 -32768,-32768,-32768, 1223,-32768, 1225, 9103, 9103, 9103, 9103,
1264 7183,-32768, 1273,-32768,-32768, 10629,-32768,-32768,-32768, 419,
1265 1148,-32768,-32768,-32768,-32768,-32768,-32768, 1233,-32768, 1302,
1266 79,-32768,-32768,-32768, 100,-32768,-32768,-32768,-32768,-32768,
1267 -32768, 9103,-32768,-32768, 2390, 2390,-32768, 3175,-32768,-32768,
1268 1242, 1249, 1254, 1267,-32768, 759, 155, 1312, 817, 844,
1269 -32768,-32768,-32768,-32768,-32768, 9103, 1314, 1317, 1318, 8840,
1270 214, 509,-32768,-32768, 8931, 1371, 1321,-32768, 4420, 10183,
1271 10352, 6243,-32768,-32768, 1366,-32768,-32768,-32768, 8083,-32768,
1272 -32768, 1277, 377,-32768,-32768,-32768,-32768, 4911,-32768,-32768,
1273 7183,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1274 10406, 10406,-32768, 1247, 593, 934, 9103,-32768,-32768,-32768,
1275 909, 909, 1247, 1247, 989, 1247,-32768,-32768, 5896, 100,
1276 100,-32768,-32768, 1278, 1280, 1285, 1286,-32768, 7183, 9103,
1277 -32768, 419,-32768,-32768,-32768,-32768, 100, 1287,-32768,-32768,
1278 -32768,-32768, 1267,-32768, 845,-32768,-32768,-32768,-32768,-32768,
1279 -32768, 597, 597, 915, 1290, 1304, 10384,-32768,-32768,-32768,
1280 -32768, 1340, 9103, 1343,-32768, 915,-32768,-32768, 1319,-32768,
1281 -32768, 909, 781,-32768, 785, 909, 9539, 829, 165,-32768,
1282 -32768,-32768,-32768,-32768,-32768, 274,-32768,-32768, 100, 100,
1283 -32768,-32768,-32768, 9103, 9103, 10406, 417, 417,-32768,-32768,
1284 -32768,-32768, 7888,-32768,-32768,-32768,-32768, 100, 100,-32768,
1285 -32768,-32768,-32768,-32768, 1296,-32768,-32768,-32768, 1320,-32768,
1286 -32768,-32768, 9017,-32768,-32768,-32768, 1394, 8379, 6631, 9017,
1287 9103,-32768, 8191,-32768, 1354,-32768,-32768, 651,-32768,-32768,
1288 9969, 9969, 7365,-32768,-32768, 915,-32768,-32768, 10406, 10406,
1289 -32768, 1247, 1247, 1315, 10539, 1324,-32768,-32768,-32768, 10500,
1290 -32768,-32768, 1316, 627, 4739, 915, 8285,-32768,-32768, 48,
1291 -32768,-32768, 1365, 1322, 10607, 8191,-32768,-32768, 1267, 74,
1292 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 371, 272,
1293 1329, 1332, 915,-32768, 909,-32768,-32768,-32768,-32768, 604,
1294 -32768, 7456,-32768,-32768,-32768,-32768, 1267, 1430, 1382, 150,
1295 -32768,-32768,-32768,-32768, 417, 48,-32768, 9103, 1384,-32768,
1296 1385,-32768, 915, 8191, 1353, 590, 1391,-32768,-32768,-32768,
1297 136,-32768, 1387,-32768, 1347,-32768,-32768,-32768,-32768, 9103,
1298 1430, 1396, 1430,-32768,-32768,-32768, 7547, 1350, 591,-32768,
1299 -32768, 7183, 1352,-32768, 1448, 1402,-32768,-32768,-32768, 178,
1300 -32768, 8285, 1453, 1409,-32768,-32768,-32768, 1472, 1475,-32768
1303 static const short yypgoto
[] = {-32768,
1304 1476,-32768, -313,-32768, 1067, 18, 10, 1478,-32768, 350,
1305 -32768,-32768, 562, 1130,-32768, 8,-32768,-32768, -601,-32768,
1306 -32768, 581,-32768, 1333, -664, 19, -660, 1336, 64,-32768,
1307 -32768,-32768,-32768,-32768, 755,-32768,-32768,-32768,-32768,-32768,
1308 -32768, 389, 1718,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1309 -32768,-32768,-32768,-32768, 1413, -639, 5081, 60, -126, -62,
1310 1369, -495,-32768, 58,-32768, 176,-32768, -1305,-32768, -761,
1311 -32,-32768, 1361, 732, -213, 322, -509,-32768, -793, 3493,
1312 414, 1065, 3507, 1236, -307, -74, -9, 570, -70, 208,
1313 -32768,-32768,-32768, -309,-32768, -151,-32768,-32768, -1171, -37,
1314 -321, 1870, 57, 1134, -152, 40, 94, -186, -4, -168,
1315 -900, 279,-32768, 33, -110,-32768, -229,-32768,-32768,-32768,
1316 -32768,-32768, 212, 2459, -14,-32768, 638,-32768,-32768, -1006,
1317 -361, 857,-32768,-32768,-32768,-32768,-32768, -52,-32768,-32768,
1318 -32768,-32768,-32768, 654, -371,-32768,-32768,-32768,-32768,-32768,
1319 -32768,-32768, 1325,-32768, 391, 567,-32768,-32768,-32768,-32768,
1320 538, -682,-32768,-32768,-32768,-32768,-32768,-32768, 803,-32768,
1321 384, 937, 668, 1015, 3222, 7, 17, -417, 1370, 1885,
1322 -439,-32768, 6,-32768, 4950, -143, 566, -65, 3794, 1230,
1323 -32768, 4464, 1839, 129, -8, -105,-32768, 1437, -63,-32768,
1324 4081, 2623, -293,-32768, 2343,-32768,-32768, 312,-32768,-32768,
1325 442, 75, -397,-32768,-32768,-32768,-32768, -1311,-32768, -1146,
1326 -1329,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1327 -32768,-32768,-32768,-32768,-32768, 85,-32768,-32768,-32768,-32768,
1328 -32768, 110, -1247,-32768,-32768, -58,-32768,-32768,-32768,-32768,
1329 -1349, 50,-32768, 68,-32768, -645, -496, 633,-32768,-32768,
1330 -32768,-32768, -383,-32768, -366, -111,-32768, 924, 324,-32768,
1335 #define YYLAST 10735
1338 static const short yytable
[] = { 57,
1339 655, 399, 402, 407, 204, 452, 592, 236, 935, 923,
1340 70, 40, 653, 36, 120, 179, 478, 656, 371, 101,
1341 921, 35, 677, 278, 602, 335, 601, 336, 728, 710,
1342 57, 457, 460, 788, 1047, 57, 138, 142, 632, 451,
1343 471, 70, 40, 55, 36, 207, 70, 40, 459, 36,
1344 192, 915, 35, 974, 826, 976, 379, 35, 370, 1453,
1345 53, 377, 1003, 681, 570, 227, 382, 44, 173, 236,
1346 500, 503, 391, 1347, 55, 1400, 165, 276, 1449, 55,
1347 1120, 328, 84, 328, 570, 328, 240, 856, 277, 490,
1348 570, 53, 749, 1126, 856, -1, 53, 56, 44, 943,
1349 328, 328, 533, 44, 1454, 1362, 229, 1010, 481, 343,
1350 468, 417, 1365, 1015, 1461, 236, 136, 1479, 191, 605,
1351 86, 380, 381, -276, -125, 786, 288, 968, 56, 389,
1352 328, 85, 328, 56, 1476, 1488, 674, 233, 157, 204,
1353 70, 490, 26, 1127, 1277, 1278, 944, 204, 204, 945,
1354 1510, 398, 401, 526, 57, 527, 1121, 969, 1298, 979,
1355 698, 667, 345, 349, 750, 70, 173, 858, -328, -276,
1356 -276, 890, 418, 388, 204, 275, 1502, 1533, 158, 773,
1357 207, 1489, 435, 437, -269, 1004, 1212, 924, 207, 91,
1358 387, 1518, 980, 675, -2, 787, 981, 386, 55, 173,
1359 1268, 948, 925, 718, 719, 419, 238, -328, 606, 607,
1360 901, 418, 1479, 92, 1327, 53, 93, 108, 109, 1073,
1361 891, 432, 44, 204, 1327, 715, 902, 56, 455, 982,
1362 238, -124, 933, 240, 1005, 1213, 1543, 1451, 1080, 1400,
1363 150, 1083, 751, 135, 419, 580, 926, 133, 949, 1269,
1364 575, 950, 56, 26, 353, 927, 928, 135, 87, 238,
1365 354, 671, 567, 1328, 661, 662, 1457, 433, 238, 110,
1366 111, 900, 227, 1425, 608, 204, 936, 1373, 88, 1108,
1367 1109, 105, 457, 460, -591, 1544, 1379, 1380, 377, 1381,
1368 457, 772, 929, 1343, 602, 399, 402, 479, 1094, 713,
1369 635, 485, 460, 328, 15, 597, 1193, 106, -387, 1486,
1370 762, 655, 640, -43, 238, 576, 276, 1046, -43, 894,
1371 -278, 460, 8, 9, 227, 107, 1149, 277, 954, -43,
1372 -591, -591, 328, 611, 708, 89, 204, -387, 1154, 240,
1373 155, -387, 714, 480, 70, -591, -551, 238, 1353, 658,
1374 1358, 598, 150, 150, 150, 90, 763, 1519, 478, 280,
1375 372, 373, 10, 125, 126, 520, -278, -278, 639, 592,
1376 238, 1174, 856, 1176, 128, 129, 414, 388, 162, 652,
1377 943, -272, 136, 192, 154, 150, -387, 156, -278, 161,
1378 654, 643, -551, 172, 610, 166, 1311, 21, 204, 204,
1379 207, 609, 137, -278, 231, -551, 204, -278, 1097, 87,
1380 856, 170, 27, 298, 275, 128, 129, -122, 204, 8,
1381 483, 171, -337, -278, 15, 1464, 1465, 944, 691, 88,
1382 945, 56, -791, 769, 356, -278, -278, 204, -278, 654,
1383 -278, 1209, 1210, 207, 32, 702, 703, 18, 1075, 856,
1384 424, -551, 447, 222, 88, -337, 357, 125, 126, -337,
1385 279, 238, 13, 342, 57, 829, 224, 425, 1048, -278,
1386 -278, 128, 129, 864, 136, 70, 90, 651, 114, 115,
1387 116, 877, 830, 1003, -278, 341, 736, 685, 125, 126,
1388 580, 328, -337, 716, 328, 484, 426, 328, 125, 126,
1389 580, 328, 778, 778, 778, 778, 567, 26, 744, 128,
1390 129, 831, 1310, 339, 328, 844, 351, 655, 1396, 865,
1391 866, 846, 238, 581, 328, 743, 651, 328, 742, 653,
1392 728, 117, 118, 582, 656, 829, 772, 1119, 26, 848,
1393 128, 129, 342, 583, 457, 355, 584, 585, 383, 958,
1394 128, 129, 830, 359, 125, 126, 520, 983, 204, 520,
1395 276, 845, 56, 775, 602, 38, 601, 847, 1155, 360,
1396 1345, 277, 879, 897, 484, -269, 520, 1113, 404, 652,
1397 86, 831, 135, 1115, 172, 849, 691, 850, 852, 520,
1398 654, 490, 358, 802, 238, 959, 38, 654, 152, 204,
1399 240, 38, 149, 984, 26, 856, 128, 129, 964, 473,
1400 966, 908, 135, 913, 914, 970, 89, 125, 126, 824,
1401 833, 238, 481, 1114, 371, 840, 93, 108, 109, 1116,
1402 834, 328, 120, 856, 198, 199, 90, 1198, 204, 405,
1403 14, 1117, 1023, 1402, 835, 192, 150, 150, 150, 227,
1404 1497, 1521, 1535, 914, 1374, 474, -586, 533, 275, 605,
1405 204, 283, 20, 934, 205, 206, 86, 26, -7, 128,
1406 129, 23, 933, 580, 1182, 1184, -338, 651, 15, 110,
1407 111, 112, 416, 833, 651, 125, 126, 1118, 1481, 1403,
1408 652, 1011, 1012, 834, 1013, 413, 1498, 1522, 1536, 504,
1409 505, 654, 445, 446, 728, 989, 238, 835, 529, -338,
1410 152, 152, 152, -338, 513, 400, 403, 514, 428, 772,
1411 515, 429, 238, 525, 526, 204, 527, 530, 773, 342,
1412 -101, 57, 15, 57, 1514, 569, 486, 128, 129, 192,
1413 57, 487, 70, 152, 70, 488, -338, 149, 652, 328,
1414 328, 70, 328, 736, 652, 736, 489, 1194, 1195, 654,
1415 1197, 232, 736, -101, 1184, 654, 497, -101, 453, 454,
1416 1093, 977, 978, 1264, 1266, 744, 507, 744, 1270, 506,
1417 1006, 93, 94, 95, 744, 208, 209, 210, 651, 554,
1418 555, -99, 743, 15, 975, 742, 508, 742, 8, 9,
1419 -101, 743, 89, 742, 742, 616, 988, 998, 509, 1491,
1420 -123, 1020, 1021, 1022, 211, 8, 9, 1325, 1326, 1308,
1421 510, 328, 90, 529, -99, 1511, 1050, 619, -99, 56,
1422 570, 56, 26, 620, 96, 97, 212, 622, 56, 445,
1423 1419, 236, 342, 453, 1420, 87, 651, 93, 108, 109,
1424 128, 129, 651, 1156, 778, 1144, 1145, 1146, 623, 342,
1425 652, -99, 8, 9, 691, 88, -547, 128, 129, -547,
1426 87, 654, 636, 850, 852, 654, 624, 522, 1330, 240,
1427 637, 213, 214, 215, 1169, 1170, 1171, 445, 1424, 638,
1428 88, 232, 1053, 125, 126, 665, 652, 89, 778, 328,
1429 110, 111, 652, 686, 861, 1331, 342, 654, 643, 1368,
1430 -6, 1098, 1099, 654, 128, 129, -547, 90, -547, -547,
1431 704, -547, 668, 125, 126, 236, 520, 963, 481, 773,
1432 513, 514, -547, 709, -547, 15, 1406, 989, 484, 125,
1433 1295, 691, 754, 26, 755, 128, 129, 1394, 1417, 15,
1434 -547, -547, 654, -387, 778, 756, 399, 402, 651, 491,
1435 328, 1008, 651, 764, 757, -547, 765, 652, 782, 492,
1436 784, 785, 675, 26, 787, 128, 129, 843, 654, 652,
1437 841, -387, -387, 342, 399, 402, -387, 87, 857, 491,
1438 654, 128, 129, 859, 651, 1375, 1201, 125, 126, 492,
1439 651, 238, 57, 238, 152, 152, 152, 88, 861, 400,
1440 403, 882, 652, 70, 652, 484, 114, 718, 719, 883,
1441 1158, 892, 1142, 654, 736, 654, 1160, 1161, 1406, 893,
1442 1158, 1163, 895, 236, 1161, 760, 896, 127, 988, 651,
1443 238, 778, 89, 721, 20, 971, 744, 26, 1406, 128,
1444 129, 903, 89, 904, 328, 233, 655, 15, 917, -272,
1445 922, -387, 90, 743, 418, 651, 742, 26, 522, 117,
1446 118, 522, 90, 1472, 1315, 1494, 940, 651, 941, 942,
1447 -790, 761, 947, 956, 93, 94, 95, 400, 783, -387,
1448 -387, 972, 985, 986, 9, 10, 960, 652, 965, 967,
1449 56, 522, 961, 934, 1007, 1406, 1215, 1216, 654, 1024,
1450 651, 1025, 651, 677, 150, 1026, 1029, 1027, 1251, 1028,
1451 1030, 1031, 773, 1032, 238, 691, 361, 362, 363, 70,
1452 21, 1033, 1246, 1034, 1215, 1216, 654, 96, 97, -121,
1453 1245, 1036, 1037, 26, 1039, 27, 28, 1040, 1042, 1150,
1454 318, 987, 318, 150, 318, 1041, 1055, 683, 1058, 176,
1455 872, 57, 1250, 1057, 689, 7, 8, 230, 10, 177,
1456 1537, 364, 70, 114, 115, 116, 1059, 32, 1060, 365,
1457 366, 1066, 178, 736, 1067, 1068, 1074, 520, 1151, 1152,
1458 361, 362, 363, 1086, 1076, 651, 1077, 1112, 204, 318,
1459 1079, 318, 1089, 21, 1092, 744, 238, 1135, 1141, 1159,
1460 231, 1352, 1164, 1352, 1168, 1172, 56, 1165, 27, 28,
1461 1177, 485, 743, 651, 26, 742, 117, 118, 770, 93,
1462 94, 95, 238, 1178, 1304, 1305, 1306, 1307, 1179, 1180,
1463 1251, 26, 232, 365, 366, 192, 1185, 1251, 1187, 1188,
1464 32, 70, 1056, 1196, 1251, 1189, 1192, 490, 70, 56,
1465 1200, 1246, 1245, 778, 1202, 70, 1460, 1203, 1246, 1245,
1466 1211, 1204, 1207, 1214, 342, 1219, 1245, 399, 402, 1208,
1467 513, 514, 96, 97, 1250, 1263, 114, 718, 719, 1120,
1468 238, 1250, 823, 7, 125, 126, 10, 1342, 1250, 13,
1469 1272, 8, 9, 1273, 1276, 12, 13, 150, 150, 150,
1470 425, 14, 7, 125, 126, 10, 549, 550, 551, 552,
1471 553, 554, 555, 1377, 1378, 16, 1280, 17, -628, 876,
1472 1302, 21, 1303, 20, 1309, 150, 150, 150, 56, 117,
1473 118, 872, 23, 1313, 26, 56, 27, 28, 1314, 1319,
1474 21, 26, 56, 128, 129, 563, 1320, 231, 198, 199,
1475 30, 1321, 1322, 511, 14, 27, 28, 1395, 1283, 1284,
1476 31, 1293, 1294, 1329, 1296, 1338, 1339, 1340, 32, 1348,
1477 1350, 1363, 1409, 33, 1366, 1390, 20, 1391, 455, 232,
1478 564, 204, 1392, 1393, 1398, 23, 1410, 32, 1444, 1414,
1479 1415, 318, 1416, 1251, 1251, 1444, 1439, 1475, 1251, 277,
1480 1448, 1418, 1440, 1458, 70, 70, 277, 1246, 328, 70,
1481 1468, 1466, 1246, 1474, 1483, 1245, 1245, 702, 703, 1484,
1482 1245, 280, 372, 373, 10, 652, 1492, 400, 783, 1493,
1483 1505, 1509, 1251, 1516, 1517, 1520, 654, 1250, 1250, 1523,
1484 1525, 1251, 1250, 70, 1526, 1530, 1246, 1534, 1539, 1538,
1485 1442, 1541, 70, 1546, 1245, 1246, 802, 1442, 1547, 21,
1486 1199, 1549, 152, 1245, 1550, 1, 149, 1444, 670, 5,
1487 520, 1095, 26, 634, 27, 298, 1250, 1490, 277, 680,
1488 684, 411, 1371, 1372, 412, 1250, 275, 684, 999, 1251,
1489 1220, 56, 56, 275, 338, 392, 56, 1495, 1405, 1545,
1490 70, 152, 1312, 1246, 496, 1132, 32, 649, 93, 94,
1491 95, 1245, 551, 552, 553, 554, 555, 1088, 1355, 93,
1492 108, 109, 475, 651, 1274, 939, 1147, 1251, 1087, 1442,
1493 56, 513, 514, 1250, 1166, 467, 1001, 1297, 70, 56,
1494 1085, 1246, 448, 885, 577, 1515, 1043, 1044, 369, 1245,
1495 318, 684, 1049, 1361, 150, 1260, 649, 21, 1487, 26,
1496 1529, 96, 97, 98, 1512, 275, 1061, 1528, 1062, 828,
1497 1063, 1250, 110, 111, 802, 1524, 1134, 1431, 1432, 1433,
1498 1531, 1367, 0, 318, 0, 680, 0, 56, 799, 800,
1499 0, 804, 805, 806, 807, 808, 809, 810, 811, 812,
1500 813, 814, 815, 816, 817, 818, 819, 820, 821, 822,
1501 0, 0, 0, 1091, 0, 684, 0, 0, 150, 150,
1502 150, 0, 0, 556, 962, 56, 280, 372, 373, 10,
1503 1462, 1463, 0, 93, 108, 109, 0, 208, 209, 210,
1504 0, 0, 0, 0, 0, 684, 0, 0, 525, 0,
1505 1110, 0, 684, 0, 0, 152, 152, 152, 0, 0,
1506 400, 403, 557, 558, 21, 1009, 211, 559, 560, 561,
1507 562, 1014, 0, 0, 887, 889, 0, 0, 0, 27,
1508 298, 0, 0, 152, 152, 152, 110, 111, 400, 1262,
1509 318, 0, 0, 0, 0, 731, 1513, 7, 8, 732,
1510 10, 385, 12, 13, 0, 0, 0, 649, 14, 0,
1511 0, 32, 0, 0, 649, 0, 0, 0, 0, 0,
1512 0, 99, 16, 0, 17, 18, 19, 0, 0, 113,
1513 20, -494, 0, 680, 0, 21, 0, 0, 0, 23,
1514 733, 0, 642, 7, 8, 9, 10, 0, 26, 0,
1515 27, 28, 0, 0, 734, 0, 735, 0, 0, 0,
1516 280, 8, 9, 10, 30, 0, 0, 0, 0, 0,
1517 216, 0, 0, 1069, 31, 1070, 682, 280, 125, 126,
1518 10, 21, 32, 682, 0, 0, 0, 33, 0, 973,
1519 0, 0, 0, 0, 26, 0, 27, 28, 21, 0,
1520 175, 0, 0, -494, 0, 231, 0, 0, 318, 318,
1521 176, 318, 0, 27, 298, 21, 0, 0, 649, 0,
1522 177, 0, 231, 0, 513, 514, 684, 0, 32, 367,
1523 27, 298, 78, 178, 0, 1221, 0, 1222, 0, 1223,
1524 0, 0, 102, 0, 0, 32, 0, 682, 1035, 0,
1525 0, 396, 131, 0, 125, 126, 0, 0, 140, 140,
1526 0, 140, 32, 78, 0, 93, 108, 109, 78, 625,
1527 626, 627, 0, 0, 0, 0, 649, 0, 0, 684,
1528 684, 186, 649, 78, 680, 684, 0, 0, 0, 0,
1529 0, 219, 0, 0, 0, 0, 0, 580, 102, 684,
1530 0, 684, 0, 684, 26, 0, 128, 129, 0, 242,
1531 102, 682, 152, 0, 0, 0, 1132, 0, 110, 111,
1532 581, 197, 198, 199, 0, 0, 463, 465, 14, 1173,
1533 582, 1175, 102, 1318, 0, 0, 1084, 0, 476, 0,
1534 583, 682, 0, 584, 585, 18, 684, 0, 682, 0,
1535 20, 0, 0, 0, 0, 131, 0, 0, 318, 23,
1536 131, 0, 78, 0, 348, 350, 140, 0, 0, 394,
1537 140, 1107, 0, 140, 140, 140, 152, 152, 152, 0,
1538 0, 400, 1262, 684, 0, 1206, 0, 78, 649, 0,
1539 0, 0, 649, 7, 8, 9, 10, 0, 0, 13,
1540 684, 0, 0, 0, 186, 186, 186, 512, 542, 543,
1541 544, 545, 546, 547, 548, 549, 550, 551, 552, 553,
1542 554, 555, 125, 126, 649, 0, 198, 199, 0, 0,
1543 649, 21, 14, 186, 0, 0, 0, 580, 0, 0,
1544 0, 1157, 0, 0, 26, 0, 27, 28, 466, 618,
1545 436, 438, 442, 0, 20, 0, 102, 0, 628, 0,
1546 905, 1275, 0, 23, 0, 580, 1279, 140, 0, 649,
1547 906, 618, 26, 0, 128, 129, 0, 0, 32, 0,
1548 583, 0, 0, 907, 585, 456, 198, 199, 581, 0,
1549 680, 680, 14, 0, 1186, 649, 0, 0, 582, 0,
1550 0, 0, 0, 0, 0, 102, 493, 649, 583, 18,
1551 0, 591, 585, 318, 20, 0, 0, 0, 1316, 0,
1552 0, 0, 682, 23, 0, 0, 0, 0, 0, 0,
1553 0, 571, 0, 280, 372, 373, 10, 0, 572, 0,
1554 649, 0, 649, 0, 0, 197, 198, 199, 0, 102,
1555 0, 0, 14, 578, 0, 493, 493, 594, 0, 0,
1556 0, 0, 0, 0, 0, 0, 78, 524, 684, 18,
1557 684, 21, 684, 717, 20, 682, 682, 0, 573, 0,
1558 680, 682, 131, 23, 26, 0, 27, 298, 0, 680,
1559 680, 0, 0, 0, 680, 682, 0, 682, 659, 682,
1560 0, 599, 8, 9, 10, 0, 131, 0, 0, 1281,
1561 1282, 0, 102, 1386, 1387, 186, 102, 0, 574, 0,
1562 0, 0, 0, 0, 0, 649, 140, 0, 0, 140,
1563 1397, 0, 0, 0, 140, 680, 288, 600, 795, 21,
1564 0, 0, 682, 648, 0, 0, 7, 8, 9, 10,
1565 0, 0, 26, 649, 128, 129, 0, 0, 0, 0,
1566 0, 0, 0, 186, 0, 186, 684, 186, 186, 186,
1567 0, 0, 0, 186, 280, 8, 9, 10, 186, 682,
1568 842, 186, 1427, 1428, 21, 0, 0, 0, 0, 0,
1569 1337, 231, 690, 0, 0, 0, 682, 78, 0, 27,
1570 28, 1437, 1438, 0, 0, 0, 0, 0, 0, 700,
1571 0, 701, 21, 436, 438, 442, 0, 0, 0, 231,
1572 0, 0, 0, 232, 712, 680, 0, 27, 298, 0,
1573 0, 32, 0, 0, 0, 102, 102, 102, 102, 0,
1574 0, 1376, 0, 114, 718, 719, 0, 720, 899, 0,
1575 0, 232, 0, 0, 0, 0, 0, 0, 771, 32,
1576 916, 774, 0, 680, 0, 776, 777, 779, 780, 781,
1577 721, 0, 0, 0, 0, 0, 0, 722, 524, 0,
1578 0, 0, 7, 8, 9, 10, 795, 0, 226, 0,
1579 0, 798, 0, 102, 26, 493, 117, 118, 0, 0,
1580 0, 197, 198, 199, 0, 0, 0, 578, 14, 493,
1581 493, 684, 594, 0, 0, 0, 0, 0, 0, 873,
1582 21, 0, 0, 875, 0, 18, 580, 0, 1429, 1430,
1583 20, 0, 0, 26, 0, 27, 28, 1435, 186, 23,
1584 0, 0, 0, 854, 0, 0, 0, 0, 0, 905,
1585 854, 0, 0, 0, 880, 7, 8, 9, 10, 906,
1586 0, 13, 0, 0, 682, 1455, 682, 32, 682, 583,
1587 0, 0, 907, 585, 0, 0, 0, 186, 912, 186,
1588 186, 219, 594, 280, 8, 9, 10, 0, 0, 0,
1589 0, 0, 0, 21, 0, 0, 0, 0, 0, 580,
1590 0, 0, 0, 195, 0, 203, 26, 0, 27, 28,
1591 547, 548, 549, 550, 551, 552, 553, 554, 555, 186,
1592 0, 21, 1100, 912, 0, 0, 0, 0, 231, 0,
1593 186, 186, 1101, 186, 0, 0, 27, 298, 0, 0,
1594 32, 0, 583, 0, 0, 1102, 585, 7, 8, 9,
1595 10, 197, 198, 199, 648, 0, 0, 0, 14, 0,
1596 484, 131, 682, 649, 78, 0, 78, 0, 32, 0,
1597 0, 996, 78, 78, 0, 18, 700, 701, 0, 712,
1598 20, 102, 0, 0, 0, 21, 680, 102, 0, 23,
1599 0, 580, 0, 0, 493, 493, 493, 628, 26, 0,
1600 27, 28, 0, 0, 0, 0, 493, 899, 0, 0,
1601 0, 0, 690, 415, 905, 0, 81, 994, 690, 0,
1602 0, 0, 0, 0, 906, 0, 104, 0, 0, 0,
1603 0, 0, 32, 0, 583, 124, 132, 907, 585, 0,
1604 203, 0, 141, 141, 0, 141, 0, 81, 458, 203,
1605 0, 0, 81, 0, 0, 0, 0, 0, 0, 589,
1606 593, 596, 0, 0, 0, 141, 0, 81, 0, 0,
1607 0, 0, 0, 0, 0, 220, 0, 0, 493, 0,
1608 493, 0, 228, 0, 0, 1045, 0, 102, 0, 0,
1609 0, 493, 0, 102, 228, 873, 873, 873, 0, 0,
1610 0, 0, 1078, 0, 0, 0, 0, 682, 0, 0,
1611 0, 0, 0, 0, 0, 0, 0, 0, 798, 0,
1612 125, 126, 0, 0, 690, 226, 0, 0, 854, 102,
1613 0, 102, 0, 186, 186, 1104, 0, 0, 0, 378,
1614 0, 0, 0, 0, 1183, 0, 81, 0, 0, 0,
1615 141, 0, 0, 0, 141, 0, 0, 141, 141, 141,
1616 648, 0, 1096, 580, 0, 0, 854, 0, 0, 0,
1617 26, 81, 128, 129, 1104, 7, 8, 9, 10, 436,
1618 438, 442, 0, 0, 0, 0, 581, 102, 141, 141,
1619 141, 0, 0, 0, 0, 0, 582, 0, 0, 0,
1620 102, 0, 0, 996, 0, 854, 583, 0, 0, 584,
1621 585, 0, 102, 21, 0, 0, 0, 141, 1137, 580,
1622 442, 0, 0, 0, 1143, 1162, 26, 1225, 27, 28,
1623 0, 690, 0, 1183, 0, 78, 195, 203, 0, 0,
1624 0, 0, 905, 690, 0, 102, 0, 102, 0, 994,
1625 0, 141, 906, 0, 0, 0, 0, 0, 0, 0,
1626 32, 0, 583, 0, 0, 907, 585, 0, 0, 0,
1627 0, 0, 0, 0, 102, 0, 690, 0, 690, 493,
1628 493, 0, 493, 0, 0, 0, 0, 0, 0, 228,
1629 141, 0, 415, 0, 0, 0, 0, 0, 0, 458,
1630 203, 0, 0, 415, 0, 1191, 0, 458, 0, 0,
1631 0, 0, 0, 851, 853, 0, 0, 0, 0, 0,
1632 415, 0, 0, 0, 0, 0, 186, 186, 186, 186,
1633 1104, 0, 0, 228, 186, 0, 0, 579, 0, 141,
1634 141, 595, 0, 0, 0, 0, 604, 0, 1344, 0,
1635 81, 0, 0, 0, 0, 0, 1104, 1104, 1104, 0,
1636 0, 854, 0, 0, 0, 0, 378, 0, 0, 0,
1637 0, 0, 700, 701, 436, 438, 442, 0, 0, 0,
1638 712, 910, 0, 589, 593, 0, 596, 186, 0, 854,
1639 0, 0, 140, 0, 78, 0, 228, 0, 0, 141,
1640 228, 0, 436, 438, 442, 0, 0, 0, 0, 0,
1641 141, 0, 0, 141, 0, 0, 0, 0, 141, 0,
1642 0, 0, 0, 593, 0, 0, 0, 0, 0, 0,
1643 0, 0, 1401, 1291, 0, 0, 0, 0, 0, 0,
1644 0, 0, 0, 186, 186, 0, 186, 141, 0, 141,
1645 0, 141, 141, 141, 0, 0, 0, 141, 0, 203,
1646 0, 0, 141, 0, 0, 141, 0, 0, 0, 0,
1647 0, 0, 0, 0, 0, 0, 0, 186, 912, 186,
1648 730, 81, 0, 8, 9, 0, 0, 12, 13, 700,
1649 701, 0, 712, 14, 0, 0, 102, 0, 195, 0,
1650 203, 0, 0, 0, 0, 0, 0, 16, 0, 17,
1651 593, 0, 0, 0, 0, 20, 0, 0, 0, 228,
1652 228, 228, 228, 0, 23, 0, 0, 1137, 0, 0,
1653 0, 0, 0, 26, 0, 128, 129, 0, 0, 203,
1654 538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
1655 548, 549, 550, 551, 552, 553, 554, 555, 0, 0,
1656 0, 458, 0, 0, 415, 0, 0, 7, 8, 9,
1657 10, 0, 827, 481, 0, 0, 0, 228, 0, 141,
1658 0, 0, 1064, 0, 1065, 1104, 0, 0, 0, 0,
1659 0, 0, 195, 141, 141, 1071, 595, 0, 415, 851,
1660 853, 0, 0, 874, 0, 21, 0, 0, 0, 0,
1661 0, 580, 0, 0, 0, 0, 604, 0, 26, 0,
1662 27, 28, 141, 0, 0, 0, 0, 0, 0, 0,
1663 0, 442, 0, 0, 905, 125, 126, 851, 853, 198,
1664 199, 0, 0, 0, 906, 14, 0, 0, 0, 1104,
1665 1104, 1104, 32, 124, 583, 0, 0, 907, 585, 0,
1666 0, 141, 595, 141, 141, 220, 595, 20, 102, 0,
1667 0, 0, 0, 186, 0, 0, 23, 0, 580, 0,
1668 0, 0, 524, 0, 730, 26, 0, 128, 129, 0,
1669 0, 239, 0, 0, 0, 436, 438, 442, 0, 648,
1670 0, 581, 0, 141, 0, 0, 0, 595, 0, 0,
1671 0, 582, 0, 0, 141, 141, 0, 141, 0, 0,
1672 0, 583, 0, 0, 584, 585, 0, 0, 0, 0,
1673 7, 8, 9, 10, 197, 198, 199, 0, 0, 0,
1674 0, 14, 0, 0, 0, 132, 0, 0, 81, 0,
1675 81, 985, 986, 9, 10, 997, 81, 81, 18, 0,
1676 0, 0, 0, 20, 406, 228, 0, 0, 21, 0,
1677 0, 228, 23, 0, 580, 0, 0, 0, 141, 141,
1678 141, 26, 0, 27, 28, 434, 0, 0, 0, 21,
1679 141, 0, 0, 0, 0, 0, 0, 905, 450, 0,
1680 0, 0, 26, 0, 27, 28, 0, 906, 0, 0,
1681 987, 0, 0, 0, 0, 32, 0, 583, 176, 0,
1682 946, 585, 0, 0, 0, 415, 415, 0, 177, 0,
1683 1064, 1065, 851, 853, 0, 0, 32, 0, 1071, 0,
1684 0, 178, 0, 731, 0, 7, 8, 732, 10, 385,
1685 12, 13, 0, 0, 415, 0, 14, 0, 0, 0,
1686 851, 853, 141, 0, 141, 0, 0, 0, 0, 0,
1687 16, 228, 17, 18, 19, 141, 0, 228, 20, 874,
1688 874, 874, 0, 21, 0, 0, 604, 23, 733, 0,
1689 642, 0, 0, 0, 0, 0, 26, 0, 27, 28,
1690 49, 0, 734, 0, 735, 0, 0, 0, 7, 125,
1691 126, 10, 30, 228, 226, 228, 0, 141, 141, 595,
1692 0, 0, 31, 0, 0, 0, 49, 49, 0, 148,
1693 32, 49, 0, 0, 0, 33, 49, 0, 0, 0,
1694 0, 0, 0, 0, 0, 0, 21, 1064, 1065, 49,
1695 1071, 49, 0, 0, 0, 0, 0, 0, 874, 26,
1696 0, 27, 28, 0, 0, 0, 0, 0, 0, 0,
1697 0, 228, 0, 0, 234, 30, 0, 0, 0, 0,
1698 0, 0, 730, 0, 228, 31, 0, 997, 0, 0,
1699 0, 0, 0, 32, 0, 0, 228, 0, 33, 0,
1700 0, 0, 0, 0, 0, 415, 415, 0, 415, 415,
1701 0, 415, 0, 0, 0, 0, 0, 0, 0, 81,
1702 0, 0, 0, 375, 0, 0, 0, 375, 375, 228,
1703 49, 228, 0, 0, 49, 0, 234, 0, 49, 0,
1704 0, 148, 148, 148, 0, 0, 0, 0, 0, 0,
1705 0, 0, 0, 0, 705, 49, 0, 0, 228, 711,
1706 0, 0, 0, 141, 141, 0, 141, 0, 0, 0,
1707 0, 0, 49, 49, 148, 0, 0, 0, 0, 0,
1708 0, 0, 234, 0, 752, 7, 125, 126, 10, 0,
1709 758, 13, 0, 0, 0, 0, 0, 0, 195, 203,
1710 0, 49, 766, 767, 0, 768, 1285, 1286, 9, 10,
1711 141, 141, 141, 141, 595, 0, 0, 0, 141, 0,
1712 0, 0, 0, 21, 730, 0, 0, 0, 0, 415,
1713 415, 0, 0, 0, 0, 49, 26, 0, 27, 28,
1714 874, 874, 874, 0, 21, 0, 0, 0, 0, 0,
1715 0, 0, 145, 0, 0, 0, 730, 26, 0, 27,
1716 28, 0, 146, 0, 0, 1287, 0, 0, 0, 0,
1717 32, 141, 0, 176, 0, 147, 141, 0, 81, 0,
1718 0, 0, 0, 177, 0, 0, 0, 76, 0, 0,
1719 0, 32, 0, 0, 0, 0, 178, 0, 862, 863,
1720 0, 0, 0, 862, 521, 1285, 125, 126, 10, 586,
1721 586, 586, 0, 76, 76, 0, 76, 0, 76, 0,
1722 0, 375, 0, 76, 415, 415, 415, 141, 141, 234,
1723 141, 0, 0, 0, 49, 0, 76, 0, 76, 0,
1724 0, 0, 0, 21, 0, 0, 0, 0, 0, 0,
1725 375, 0, 0, 0, 0, 0, 26, 0, 27, 28,
1726 0, 141, 595, 141, 1287, 0, 0, 0, 0, 0,
1727 0, 0, 30, 0, 375, 0, 0, 415, 415, 0,
1728 228, 0, 31, 49, 0, 0, 0, 0, 0, 0,
1729 32, 0, 0, 0, 49, 33, 0, 49, 0, 0,
1730 0, 0, 49, 543, 544, 545, 546, 547, 548, 549,
1731 550, 551, 552, 553, 554, 555, 0, 76, 0, 0,
1732 0, 76, 0, 0, 0, 76, 0, 0, 76, 76,
1733 76, 49, 0, 49, 0, 148, 148, 148, 0, 0,
1734 0, 49, 76, 415, 0, 0, 49, 0, 0, 49,
1735 6, 0, 7, 8, 9, 10, 11, 12, 13, 76,
1736 76, 76, 0, 14, 0, 49, 0, 0, 0, 874,
1737 0, 1016, 0, 1018, 0, 0, 0, 16, 0, 17,
1738 18, 0, 0, 0, 0, 20, 0, 0, 76, 0,
1739 21, 0, 0, 0, 23, 521, 0, 410, 521, 0,
1740 0, 0, 0, 26, 0, 27, 28, 0, 0, 29,
1741 0, 0, 0, 521, 521, 521, 0, 0, 0, 30,
1742 0, 0, 76, 0, 0, 0, 0, 0, 521, 31,
1743 0, 0, 0, 874, 874, 874, 0, 32, 0, 0,
1744 0, 0, 33, 0, 1051, 1052, 0, 1054, 0, 125,
1745 126, 0, 228, 0, 481, 0, 0, 141, 0, 0,
1746 0, 0, 0, 586, 586, 0, 586, 0, 0, 0,
1747 0, 0, 0, 871, 234, 1072, 7, 8, 9, 10,
1748 0, 0, 13, 0, 0, 0, 0, 521, 0, 0,
1749 0, 0, 580, 0, 0, 0, 0, 0, 0, 26,
1750 0, 128, 129, 153, 0, 0, 49, 0, 0, 0,
1751 0, 0, 0, 0, 21, 581, 0, 603, 0, 0,
1752 1106, 76, 0, 187, 0, 582, 0, 26, 0, 27,
1753 28, 586, 0, 586, 586, 583, 586, 0, 584, 585,
1754 0, 0, 0, 176, 0, 49, 49, 49, 49, 0,
1755 0, 0, 0, 177, 0, 0, 0, 0, 0, 0,
1756 0, 32, 0, 0, 0, 0, 178, 0, 0, 0,
1757 76, 0, 0, 586, 0, 0, 7, 125, 126, 10,
1758 0, 76, 1148, 0, 76, 0, 0, 49, 0, 76,
1759 0, 49, 0, 0, 1153, 0, 0, 0, 49, 49,
1760 0, 49, 0, 0, 7, 125, 126, 10, 0, 0,
1761 481, 0, 0, 0, 21, 153, 153, 153, 76, 0,
1762 76, 0, 76, 76, 76, 0, 0, 26, 76, 27,
1763 28, 0, 49, 76, 49, 0, 76, 0, 0, 49,
1764 49, 49, 21, 145, 0, 0, 187, 187, 443, 0,
1765 0, 0, 76, 146, 0, 26, 0, 27, 28, 0,
1766 586, 32, 0, 0, 0, 0, 147, 0, 521, 0,
1767 0, 30, 0, 0, 0, 187, 0, 0, 1205, 0,
1768 0, 31, 0, 0, 0, 0, 8, 9, 0, 32,
1769 12, 226, 0, 0, 33, 0, 14, 544, 545, 546,
1770 547, 548, 549, 550, 551, 552, 553, 554, 555, 0,
1771 16, 0, 17, 0, 0, 0, 1218, 0, 20, 7,
1772 8, 9, 10, 188, 12, 189, 0, 23, 0, 0,
1773 14, 0, 586, 0, 586, 0, 26, 0, 128, 129,
1774 0, 0, 0, 0, 16, 586, 17, 18, 494, 871,
1775 871, 871, 20, 0, 0, 0, 0, 21, 0, 0,
1776 0, 23, 603, 521, 521, 521, 0, 0, 0, 234,
1777 26, 0, 27, 28, 0, 0, 190, 0, 0, 1300,
1778 0, 0, 0, 1301, 0, 0, 30, 586, 586, 586,
1779 0, 0, 0, 76, 0, 0, 31, 588, 588, 588,
1780 0, 49, 49, 148, 32, 0, 0, 0, 234, 33,
1781 0, 0, 7, 8, 9, 10, 0, 0, 1317, 0,
1782 0, 0, 0, 0, 0, 0, 0, 0, 871, 0,
1783 0, 0, 76, 76, 76, 76, 0, 0, 0, 0,
1784 0, 0, 1131, 0, 0, 7, 8, 9, 10, 0,
1785 21, 226, 0, 0, 0, 0, 0, 187, 0, 0,
1786 0, 0, 0, 26, 0, 27, 28, 0, 0, 1351,
1787 0, 49, 0, 0, 76, 0, 0, 0, 76, 176,
1788 0, 0, 0, 21, 0, 76, 76, 1369, 76, 177,
1789 0, 1370, 234, 0, 0, 0, 26, 32, 27, 28,
1790 0, 0, 178, 49, 0, 187, 185, 187, 0, 443,
1791 443, 443, 176, 1388, 1389, 187, 0, 0, 0, 76,
1792 187, 76, 177, 187, 0, 0, 76, 76, 76, 0,
1793 32, 237, 0, 0, 241, 178, 0, 0, 7, 8,
1794 9, 10, 0, 0, 13, 0, 0, 0, 0, 0,
1795 0, 0, 0, 0, 0, 237, 0, 344, 540, 541,
1796 542, 543, 544, 545, 546, 547, 548, 549, 550, 551,
1797 552, 553, 554, 555, 234, 0, 21, 0, 0, 0,
1798 586, 586, 586, 586, 586, 0, 0, 0, 586, 26,
1799 0, 27, 28, 0, 49, 49, 148, 148, 148, 0,
1800 234, 0, 49, 0, 0, 439, 0, 0, 0, 0,
1801 871, 871, 871, 0, 0, 440, 0, 0, 0, 0,
1802 0, 0, 0, 32, 1131, 1131, 1131, 0, 441, 185,
1803 185, 185, 0, 0, 0, 0, 0, 836, 0, 449,
1804 7, 8, 9, 10, 0, 0, 481, 0, 0, 0,
1805 0, 588, 588, 0, 588, 49, 0, 603, 185, 0,
1806 49, 588, 49, 541, 542, 543, 544, 545, 546, 547,
1807 548, 549, 550, 551, 552, 553, 554, 555, 21, 0,
1808 187, 241, 0, 0, 0, 0, 0, 0, 76, 76,
1809 76, 26, 0, 27, 28, 237, 0, 586, 586, 0,
1810 586, 0, 0, 7, 8, 9, 10, 176, 0, 0,
1811 0, 49, 49, 0, 49, 0, 0, 177, 0, 909,
1812 0, 909, 909, 0, 588, 32, 0, 0, 0, 1133,
1813 178, 7, 8, 9, 10, 0, 0, 0, 0, 0,
1814 0, 21, 0, 0, 0, 49, 49, 49, 0, 0,
1815 0, 0, 0, 0, 26, 0, 27, 28, 76, 0,
1816 0, 909, 0, 0, 0, 0, 0, 0, 0, 21,
1817 439, 0, 187, 187, 0, 187, 0, 0, 0, 0,
1818 440, 0, 26, 0, 27, 28, 237, 241, 32, 0,
1819 76, 0, 0, 441, 0, 0, 0, 0, 176, 731,
1820 0, 7, 8, 732, 10, 385, 12, 13, 177, 0,
1821 0, 0, 14, 187, 0, 0, 32, 0, 0, 0,
1822 0, 178, 0, 0, 0, 0, 16, 0, 17, 18,
1823 19, 0, 0, 0, 20, -495, 494, 494, 494, 21,
1824 185, 0, 0, 23, 733, 0, 642, 0, 588, 0,
1825 0, 0, 26, 1131, 27, 28, 0, 0, 734, 0,
1826 735, 0, 0, 0, 0, 0, 0, 0, 30, 0,
1827 0, 0, 0, 0, 0, 0, 0, 0, 31, 0,
1828 0, 76, 76, 76, 76, 76, 32, 0, 185, 76,
1829 185, 33, 185, 185, 185, 0, 0, 0, 185, 0,
1830 0, 0, 0, 185, 8, 9, 185, -495, 12, 13,
1831 0, 1133, 1133, 1133, 14, 0, 0, 1131, 1131, 1131,
1832 588, 0, 588, 0, 0, 0, 0, 0, 16, 0,
1833 17, 0, 0, 588, 0, 0, 20, 588, 588, 588,
1834 0, 49, 76, 74, 0, 23, 0, 76, 0, 76,
1835 0, 0, 0, 0, 26, 0, 128, 129, 0, 0,
1836 0, 0, 0, 0, 0, 0, 0, 0, 0, 139,
1837 143, 0, 0, 0, 74, 909, 909, 1105, 0, 74,
1838 0, 0, 731, 0, 7, 8, 732, 10, 385, 12,
1839 13, 0, 0, 0, 196, 14, 0, 0, 76, 76,
1840 0, 76, 0, 0, 0, 0, 0, 0, 0, 16,
1841 0, 17, 18, 19, 0, 0, 1105, 20, -497, 0,
1842 0, 0, 21, 0, 0, 0, 23, 733, 0, 642,
1843 0, 0, 76, 76, 76, 26, 0, 27, 28, 0,
1844 0, 734, 0, 735, 0, 187, 0, 237, 241, 0,
1845 0, 30, 0, 0, 0, 0, 0, 0, 0, 0,
1846 0, 31, 0, 185, 0, 0, 0, 0, 0, 32,
1847 0, 0, 0, 390, 33, 0, 0, 393, 0, 0,
1848 0, 395, 8, 9, 100, 385, 12, 13, 0, 0,
1849 -497, 0, 14, 119, 100, 0, 0, 0, 74, 0,
1850 100, 100, 185, 100, 185, 185, 16, 0, 17, 18,
1851 0, 0, 0, 0, 20, 139, 143, 0, 0, 0,
1852 0, 836, 836, 641, 836, 0, 642, 0, 0, 0,
1853 0, 0, 26, 218, 128, 129, 0, 0, 0, 0,
1854 1133, 0, 0, 0, 185, 0, 0, 0, 0, 0,
1855 0, 0, 0, 0, 0, 185, 185, 0, 185, 0,
1856 0, 0, 0, 0, 0, 0, 0, 0, 909, 909,
1857 1105, 1105, 1105, 0, 0, 0, 909, 0, 482, 0,
1858 0, 0, 0, 241, 0, 0, 0, 0, 0, 0,
1859 0, 0, 368, 0, 119, 0, 185, 100, 1105, 1105,
1860 1105, 100, 100, 0, 1133, 1133, 1133, 0, 100, 0,
1861 100, 100, 100, 0, 0, 100, 100, 100, 0, 0,
1862 -359, 8, 9, -359, -359, 12, 226, 0, 76, 187,
1863 0, 14, 0, 0, 0, 0, 0, 0, 0, 0,
1864 0, 0, 0, 0, 0, 16, 0, 17, -359, 0,
1865 0, 0, 0, 20, 0, 0, 0, 0, -359, 0,
1866 0, 0, 23, 0, 580, 0, 0, 0, 0, 0,
1867 0, 26, 0, 128, 129, 0, 0, 612, 0, 0,
1868 0, 0, 0, 0, 0, 909, 909, 581, 909, 464,
1869 100, 8, 9, 0, 385, 12, 13, 582, 0, 688,
1870 0, 14, 0, 0, 0, -359, 0, 583, 0, 100,
1871 584, 585, 0, 0, 0, 16, 0, 17, 18, 187,
1872 0, 187, 0, 20, 0, 0, 237, 241, 237, 0,
1873 0, 0, 23, 0, 580, 0, 0, 663, 0, 0,
1874 664, 26, 0, 128, 129, 666, 0, 0, 100, 0,
1875 0, 0, 0, 0, 0, 0, 0, 581, 185, 185,
1876 1103, 0, 0, 0, 0, 237, 0, 582, 0, 0,
1877 0, 0, 0, 0, 393, 0, 395, 583, 0, 0,
1878 584, 585, 0, 0, 0, 0, 0, 0, 0, 482,
1879 0, 0, 0, 0, 0, 100, 0, 100, 100, 1103,
1880 0, 0, 0, 0, 0, 0, 0, 0, 748, 0,
1881 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1882 0, 0, 0, 0, 100, 0, 0, 443, 185, 539,
1883 540, 541, 542, 543, 544, 545, 546, 547, 548, 549,
1884 550, 551, 552, 553, 554, 555, 0, 0, 100, 449,
1885 731, 0, 7, 8, 732, 10, 385, 12, 13, 0,
1886 0, 0, 0, 14, 100, 0, 0, 0, 100, 0,
1887 0, 100, 0, 0, 0, 0, 100, 16, 0, 17,
1888 18, 19, 0, 0, 0, 20, -496, 0, 0, 0,
1889 21, 443, 443, 443, 23, 733, 0, 642, 0, 0,
1890 0, 0, 0, 26, 0, 27, 28, 0, 0, 734,
1891 0, 735, 0, 0, 0, 187, 0, 0, 0, 30,
1892 0, 0, 0, 0, 0, 0, 0, 0, 0, 31,
1893 0, 237, 0, 0, 0, 0, 100, 32, 723, 0,
1894 0, 0, 33, 0, 0, 0, 0, 0, 0, 0,
1895 0, 185, 185, 185, 185, 1103, 0, 1217, -496, 185,
1896 0, 0, 0, 100, 0, 0, 6, 0, 7, 8,
1897 9, 10, 11, 12, 13, 0, 0, 0, 0, 14,
1898 0, 1103, 1103, 1103, 0, 0, 0, 0, 0, 911,
1899 0, 0, 15, 16, 0, 17, 18, 19, 0, 0,
1900 0, 20, 0, 0, 0, 0, 21, 0, 0, 22,
1901 23, 24, 185, 25, 0, 0, 0, 0, 0, 26,
1902 0, 27, 28, 0, 0, 29, 0, 0, 0, 0,
1903 0, 0, 0, 0, 952, 30, 0, 100, 0, 0,
1904 0, 663, 664, 0, 666, 31, 0, 0, 100, 100,
1905 0, 100, 100, 32, 0, 0, 0, 0, 33, 0,
1906 0, 0, 0, 34, 0, 0, 0, 0, 185, 185,
1907 0, 185, 0, 0, 0, 748, 0, 748, 0, 0,
1908 0, 0, 995, 1002, 748, 0, 0, 0, 0, 0,
1909 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1910 0, 0, 185, 0, 185, 0, 0, 0, 0, 0,
1911 0, 119, 678, 0, 789, 790, 791, 10, 0, 12,
1912 498, 282, 283, 218, 284, 14, 0, 0, 0, 0,
1913 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
1914 285, 17, 723, 19, 0, 286, 287, 20, 0, 288,
1915 289, 290, 21, 291, 292, 0, 23, 0, 0, 0,
1916 293, 294, 295, 296, 297, 26, 0, 792, 793, 679,
1917 0, 0, 299, 0, 0, 0, 0, 0, 300, 0,
1918 0, 301, 0, 0, 0, 0, 0, 0, 0, 302,
1919 303, 304, 0, 0, 0, 0, 0, 305, 306, 307,
1920 723, 0, 0, 100, 308, 794, 0, 0, 0, 0,
1921 1103, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1922 938, 309, 0, 0, 0, 0, 160, 0, 7, 8,
1923 9, 10, 11, 12, 13, 0, 100, 100, 100, 14,
1924 0, 0, 0, 0, 139, 143, 0, 0, 100, 0,
1925 0, 0, 15, 16, 0, 17, 18, 19, 0, 0,
1926 0, 20, 0, 0, 0, 0, 21, 0, 0, 22,
1927 23, 24, 0, 25, 1103, 1103, 1103, 0, 0, 26,
1928 0, 27, 28, 0, 0, 29, 1382, 0, -451, -451,
1929 -451, -451, -451, -451, -451, 30, 0, -451, 185, -451,
1930 0, 0, 0, 0, 0, 31, 0, 0, 0, 0,
1931 -451, 0, -451, 32, 995, 0, -451, 0, 33, 0,
1932 100, -451, 100, 34, 0, 0, -451, 0, 0, 0,
1933 -451, 0, -451, 100, 0, 0, 0, 0, 0, -451,
1934 0, -451, -451, -451, -451, -451, 748, -451, -451, -451,
1935 -451, -451, -451, -451, -451, -451, -451, -451, -451, -451,
1936 -451, -451, -451, -451, -451, -451, -451, -451, -451, -451,
1937 0, -451, -451, -451, 0, -451, -451, -451, -451, -451,
1938 -451, 0, -451, 0, 0, 0, 0, 1383, 0, 0,
1939 0, 0, -451, -451, -451, 0, -451, 0, 534, 535,
1940 536, 537, 538, 539, 540, 541, 542, 543, 544, 545,
1941 546, 547, 548, 549, 550, 551, 552, 553, 554, 555,
1942 0, 0, 516, 0, 280, 8, 9, 10, 385, 12,
1943 281, 282, 283, 688, 284, 14, 0, 393, 395, 0,
1944 723, 0, 0, 0, 0, 482, 1181, 0, 0, 16,
1945 285, 17, 18, 19, 0, 286, 287, 20, 0, 288,
1946 289, 290, 21, 291, 292, 0, 23, 100, 580, 0,
1947 293, 294, 295, 296, 297, 26, 0, 27, 298, -286,
1948 0, 0, 299, 0, 0, 0, 0, 0, 300, 0,
1949 0, 867, 0, 0, 0, 0, 0, 0, 1292, 302,
1950 303, 868, 0, 1292, 0, 748, 0, 305, 306, 307,
1951 0, 583, 0, 0, 869, 585, 0, 0, 0, 0,
1952 0, 100, 100, 0, 100, 0, 0, 0, 0, 0,
1953 0, 309, 0, 7, 8, 9, 10, 385, 12, 13,
1954 0, 0, 688, 0, 14, 0, 0, 0, 0, 0,
1955 0, 0, 0, 0, 663, 664, 0, 666, 16, 0,
1956 17, 18, 0, 0, 0, 0, 20, 0, 0, 0,
1957 0, 21, 0, 0, 0, 23, 0, 580, 0, 0,
1958 0, 0, 723, 0, 26, 0, 27, 28, 0, 1356,
1959 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1960 1100, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1961 1101, 0, 0, 0, 723, 0, 0, 0, 32, 0,
1962 583, 0, 0, 1102, 585, 0, 0, 0, 0, 0,
1963 0, 0, 100, 1359, 100, 1228, 1229, 1230, 10, 385,
1964 12, 281, 282, 283, 0, 284, 14, 1231, 0, 1232,
1965 1233, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 15,
1966 16, 285, 17, 18, 19, 0, 286, 287, 20, 0,
1967 288, 289, 290, 21, 291, 292, 0, 23, 0, 0,
1968 0, 293, 294, 295, 296, 297, 26, 0, 1242, 298,
1969 675, 0, 1243, 299, 0, 0, 0, 0, 0, 300,
1970 0, 0, 301, 0, 0, 0, 0, 0, 0, 0,
1971 302, 303, 304, 0, 0, 0, 0, 0, 305, 306,
1972 307, 0, 0, 0, 0, 308, 0, 1244, 0, 0,
1973 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1974 0, 1360, 309, 1227, 0, 1228, 1229, 1230, 10, 385,
1975 12, 281, 282, 283, 0, 284, 14, 1231, 0, 1232,
1976 1233, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 15,
1977 16, 285, 17, 18, 19, 0, 286, 287, 20, 0,
1978 288, 289, 290, 21, 291, 292, 0, 23, 0, 0,
1979 0, 293, 294, 295, 296, 297, 26, 0, 1242, 298,
1980 675, 0, 1243, 299, 0, 0, 0, 0, 0, 300,
1981 0, 0, 301, 0, 0, 0, 0, 0, 0, 0,
1982 302, 303, 304, 0, 0, 0, 0, 0, 305, 306,
1983 307, 0, 0, 0, 0, 308, 516, 1244, 7, 8,
1984 9, 10, 385, 12, 281, 282, 283, 688, 284, 14,
1985 0, 0, 309, 0, 0, 0, 0, 0, 0, 0,
1986 0, 0, 0, 16, 285, 17, 18, 19, 0, 286,
1987 287, 20, 0, 288, 289, 290, 21, 291, 292, 0,
1988 23, 0, 580, 0, 293, 294, 295, 296, 297, 26,
1989 0, 27, 28, -286, 0, 0, 299, 0, 0, 0,
1990 0, 0, 300, 0, 0, 1128, 0, 0, 0, 0,
1991 0, 0, 0, 302, 303, 1129, 0, 0, 0, 0,
1992 0, 305, 306, 307, 0, 583, 0, 0, 1130, 585,
1993 687, 0, 280, 8, 9, 10, 385, 12, 281, 282,
1994 283, 688, 284, 14, 0, 309, 0, 0, 0, 0,
1995 0, 0, 0, 0, 0, 0, 0, 16, 285, 17,
1996 18, 19, 0, 286, 287, 20, 0, 288, 289, 290,
1997 21, 291, 292, 0, 23, 0, 0, 0, 293, 294,
1998 295, 296, 297, 26, 0, 27, 298, 0, 0, 0,
1999 299, 0, 0, 0, 0, 0, 300, 0, 0, 301,
2000 0, 0, 0, 0, 0, 0, 0, 302, 303, 304,
2001 0, 0, 0, 0, 0, 305, 306, 307, 0, 0,
2002 0, 801, 308, 280, 8, 9, 10, 385, 12, 281,
2003 282, 283, 0, 284, 14, 0, 0, -761, 0, 309,
2004 0, 0, 0, 0, 0, 0, 0, 0, 16, 285,
2005 17, 18, 19, 0, 286, 287, 20, 0, 288, 289,
2006 290, 21, 291, 292, 0, 23, 0, 0, 0, 293,
2007 294, 295, 296, 297, 26, 0, 27, 298, 1450, 0,
2008 -751, 299, 0, 0, 0, 0, 0, 300, 0, 0,
2009 301, 0, 0, 0, 0, 0, 0, 0, 302, 303,
2010 304, 0, 0, 0, 0, 0, 305, 306, 307, 0,
2011 0, 0, 678, 308, 789, 790, 791, 10, 0, 12,
2012 498, 282, 283, 0, 284, 14, 0, 0, 0, 0,
2013 309, 0, 0, 0, 0, 0, 0, 0, 0, 16,
2014 285, 17, 0, 19, 0, 286, 287, 20, 0, 288,
2015 289, 290, 21, 291, 292, 0, 23, 0, 0, 0,
2016 293, 294, 295, 296, 297, 26, 0, 792, 793, 679,
2017 0, 0, 299, 0, 0, 0, 0, 0, 300, 0,
2018 0, 301, 0, 0, 0, 0, 0, 0, 0, 302,
2019 303, 304, 0, 0, 0, 0, 0, 305, 306, 307,
2020 0, 0, 0, 0, 308, 794, 678, 0, 789, 790,
2021 791, 10, 0, 12, 498, 282, 283, 0, 284, 14,
2022 0, 309, 0, 0, 0, 0, 0, 0, 0, 0,
2023 0, 0, 0, 16, 285, 17, 0, 19, 0, 286,
2024 287, 20, 0, 288, 289, 290, 21, 291, 292, 0,
2025 23, 0, 0, 0, 293, 294, 295, 296, 297, 26,
2026 0, 792, 793, 679, 0, 0, 299, 0, 0, 0,
2027 0, 0, 300, 0, 0, 301, 0, 0, 0, 0,
2028 0, 0, 0, 302, 303, 304, 0, 0, 0, 0,
2029 0, 305, 306, 307, 0, 0, 0, 678, 308, 789,
2030 790, 791, 10, 0, 12, 498, 282, 283, 0, 284,
2031 14, 0, 0, 0, -455, 309, 0, 0, 0, 0,
2032 0, 0, 0, 0, 16, 285, 17, 0, 19, 0,
2033 286, 287, 20, 0, 288, 289, 290, 21, 291, 292,
2034 0, 23, 0, 0, 0, 293, 294, 295, 296, 297,
2035 26, 0, 792, 793, 679, 0, 0, 299, 0, 0,
2036 0, 0, 0, 300, 0, 0, 301, 0, 0, 0,
2037 0, 0, 0, 0, 302, 303, 304, 0, 0, 0,
2038 0, 0, 305, 306, 307, 0, 0, 0, 678, 308,
2039 280, 8, 9, 10, 0, 12, 498, 282, 283, 0,
2040 284, 14, 0, 0, 0, 1261, 309, 0, 0, 0,
2041 0, 0, 0, 0, 0, 16, 285, 17, 0, 19,
2042 0, 286, 287, 20, 0, 288, 289, 290, 21, 291,
2043 292, 0, 23, 0, 0, 0, 293, 294, 295, 296,
2044 297, 26, 0, 27, 298, 679, 0, 0, 299, 0,
2045 0, 0, 0, 0, 300, 0, 0, 301, 0, 0,
2046 0, 0, 0, 0, 0, 302, 303, 304, 0, 0,
2047 0, 0, 0, 305, 306, 307, 0, 0, 0, 0,
2048 308, 0, 516, 0, 280, 8, 9, 10, 1265, 12,
2049 281, 282, 283, 0, 284, 14, 0, 309, 0, 0,
2050 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
2051 285, 17, 0, 19, 0, 286, 287, 20, 0, 288,
2052 289, 290, 21, 291, 292, 0, 23, 0, 0, 0,
2053 293, 294, 295, 296, 297, 26, 0, 27, 298, -286,
2054 0, 0, 299, 0, 0, 0, 0, 0, 300, 0,
2055 0, 517, 0, 0, 0, 0, 0, 0, 0, 302,
2056 303, 518, 0, 0, 0, 0, 0, 305, 306, 307,
2057 0, 0, 0, 678, 519, 280, 8, 9, 10, 0,
2058 12, 498, 282, 283, 0, 284, 14, 0, 0, 0,
2059 0, 309, 0, 0, 0, 0, 0, 0, 0, 0,
2060 16, 285, 17, 0, 19, 0, 286, 287, 20, 0,
2061 288, 289, 290, 21, 291, 292, 0, 23, 0, 0,
2062 0, 293, 294, 295, 296, 297, 26, 0, 27, 298,
2063 679, 0, 0, 299, 0, 0, 0, 0, 0, 300,
2064 0, 0, 301, 0, 0, 0, 0, 0, 0, 0,
2065 302, 303, 304, 0, 0, 0, 0, 0, 305, 306,
2066 307, 0, 0, 0, 801, 308, 280, 8, 9, 10,
2067 0, 12, 498, 282, 283, 0, 284, 14, 0, 0,
2068 0, 0, 309, 0, 0, 0, 0, 0, 0, 0,
2069 0, 16, 285, 17, 0, 19, 0, 286, 287, 20,
2070 0, 288, 289, 290, 21, 291, 292, 0, 23, 0,
2071 0, 0, 293, 294, 295, 296, 297, 26, 0, 27,
2072 298, 0, 0, 0, 299, -751, 0, 0, 0, 0,
2073 300, 0, 0, 301, 0, 0, 0, 0, 0, 0,
2074 0, 302, 303, 304, 0, 0, 0, 0, 0, 305,
2075 306, 307, 0, 0, 0, 516, 308, 7, 8, 9,
2076 10, 0, 12, 281, 282, 283, 0, 284, 14, 0,
2077 0, 0, 0, 309, 0, 0, 0, 0, 0, 0,
2078 0, 0, 16, 285, 17, 0, 19, 0, 286, 287,
2079 20, 0, 288, 289, 290, 21, 291, 292, 0, 23,
2080 0, 0, 0, 293, 294, 295, 296, 297, 26, 0,
2081 27, 28, -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, 1500, 1423, 280, 8,
2085 9, 10, 0, 12, 281, 282, 283, 0, 284, 14,
2086 0, 0, 0, 0, 309, 0, 0, 0, 0, 0,
2087 0, 0, 0, 16, 285, 17, 0, 19, 0, 286,
2088 287, 20, 0, 288, 289, 290, 21, 291, 292, 0,
2089 23, 0, 0, 0, 293, 294, 295, 296, 297, 26,
2090 0, 27, 298, 0, 0, -173, 299, 0, 0, 0,
2091 0, 0, 300, 0, 0, 301, 0, 0, 0, 0,
2092 0, 0, 0, 302, 303, 304, 0, 0, 0, 0,
2093 0, 305, 306, 307, 0, 0, 0, 801, 308, 280,
2094 8, 9, 10, 0, 12, 498, 282, 283, 0, 284,
2095 14, 0, 0, 0, 0, 309, 0, 0, 0, 0,
2096 0, 0, 0, 0, 16, 285, 17, 0, 19, 0,
2097 286, 287, 20, 0, 288, 289, 290, 21, 291, 292,
2098 0, 23, 0, 0, 0, 293, 294, 295, 296, 297,
2099 26, 0, 27, 298, 0, 0, 0, 299, 0, 0,
2100 0, 0, 0, 300, 243, 0, 301, 8, 9, 0,
2101 0, 12, 13, 0, 302, 303, 304, 14, 0, 0,
2102 0, 0, 305, 306, 307, 0, 0, 0, 0, 308,
2103 0, 16, 0, 17, 0, 0, 0, 0, 0, 20,
2104 0, 244, 245, 0, -751, 0, 309, 0, 23, 0,
2105 246, 0, 0, 0, 0, 0, 0, 26, 0, 128,
2106 129, 0, 247, 0, 0, 0, 248, 249, 250, 251,
2107 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
2108 262, 263, 264, 265, 266, 267, 268, 0, 0, 269,
2109 270, 271, 0, 0, 272, 0, 886, 273, 280, 8,
2110 9, 10, 0, 12, 498, 282, 283, 0, 284, 14,
2111 0, 0, 0, 274, 0, 0, 0, 0, 0, 0,
2112 0, 0, 0, 16, 285, 17, 0, 19, 0, 286,
2113 287, 20, 0, 288, 289, 290, 21, 291, 292, 0,
2114 23, 0, 0, 0, 293, 294, 295, 296, 297, 26,
2115 0, 27, 298, 0, 0, 0, 299, 0, 0, 0,
2116 0, 0, 300, 0, 0, 301, 0, 0, 0, 0,
2117 0, 0, 0, 302, 303, 304, 0, 0, 0, 0,
2118 0, 305, 306, 307, 0, 0, 0, 888, 308, 280,
2119 8, 9, 10, 0, 12, 498, 282, 283, 0, 284,
2120 14, 0, 0, 0, 0, 309, 0, 0, 0, 0,
2121 0, 0, 0, 0, 16, 285, 17, 0, 19, 0,
2122 286, 287, 20, 0, 288, 289, 290, 21, 291, 292,
2123 0, 23, 0, 0, 0, 293, 294, 295, 296, 297,
2124 26, 0, 27, 298, 0, 0, 0, 299, 0, 0,
2125 0, 0, 0, 300, 0, 0, 301, 0, 0, 0,
2126 0, 0, 0, 0, 302, 303, 304, 0, 0, 0,
2127 0, 0, 305, 306, 307, 0, 0, 0, 1434, 308,
2128 280, 8, 9, 10, 0, 12, 498, 282, 283, 0,
2129 284, 14, 0, 0, 0, 0, 309, 0, 0, 0,
2130 0, 0, 0, 0, 0, 16, 285, 17, 0, 19,
2131 0, 286, 287, 20, 0, 288, 289, 290, 21, 291,
2132 292, 0, 23, 0, 0, 0, 293, 294, 295, 296,
2133 297, 26, 0, 27, 298, 0, 0, 0, 299, 0,
2134 0, 0, 0, 0, 300, 0, 0, 301, 0, 0,
2135 0, 0, 0, 0, 0, 302, 303, 304, 0, 0,
2136 0, 0, 0, 305, 306, 307, 280, 8, 9, 10,
2137 308, 12, 498, 282, 283, 0, 284, 14, 0, 0,
2138 0, 0, 0, 0, 0, 0, 0, 309, 0, 0,
2139 0, 16, 285, 17, 0, 19, 0, 286, 287, 20,
2140 0, 288, 289, 290, 21, 291, 292, 0, 23, 0,
2141 0, 0, 293, 294, 295, 296, 297, 26, 0, 27,
2142 298, 0, 0, 0, 299, 0, 0, 0, 0, 0,
2143 300, 0, 0, 301, 0, 0, 0, 0, 0, 0,
2144 0, 302, 303, 304, 0, 0, 0, 0, 0, 305,
2145 306, 307, 0, 0, 0, 0, 308, 0, 0, 0,
2146 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2147 0, 0, 0, 309, 839, 1228, 1229, 1230, 10, 385,
2148 12, 281, 282, 283, 0, 284, 14, 1231, 0, 1232,
2149 1233, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 15,
2150 16, 285, 17, 18, 19, 0, 286, 287, 20, 0,
2151 288, 289, 290, 21, 291, 292, 0, 23, 0, 0,
2152 0, 293, 294, 295, 296, 297, 26, 0, 1242, 298,
2153 675, 0, 1243, 299, 0, 0, 0, 0, 0, 300,
2154 0, 0, 301, 0, 0, 0, 0, 0, 0, 0,
2155 302, 303, 304, 0, 0, 0, 0, 0, 305, 306,
2156 307, 0, 0, 0, 0, 308, 0, 1244, 0, 0,
2157 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2158 0, 1364, 309, 1228, 1229, 1230, 10, 385, 12, 281,
2159 282, 283, 0, 284, 14, 1231, 0, 1232, 1233, 1234,
2160 1235, 1236, 1237, 1238, 1239, 1240, 1241, 15, 16, 285,
2161 17, 18, 19, 0, 286, 287, 20, 0, 288, 289,
2162 290, 21, 291, 292, 0, 23, 0, 0, 0, 293,
2163 294, 295, 296, 297, 26, 0, 1242, 298, 675, 0,
2164 1243, 299, 0, 0, 0, 0, 0, 300, 0, 0,
2165 301, 0, 0, 0, 0, 0, 0, 0, 302, 303,
2166 304, 0, 0, 0, 0, 0, 305, 306, 307, 0,
2167 0, 0, 0, 308, 0, 1244, 0, 1228, 1229, 1230,
2168 10, 385, 12, 281, 282, 283, 0, 284, 14, 1231,
2169 309, 1232, 1233, 1234, 1235, 1236, 1237, 1238, 1239, 1240,
2170 1241, 15, 16, 285, 17, 18, 19, 0, 286, 287,
2171 20, 0, 288, 289, 290, 21, 291, 292, 0, 23,
2172 0, 0, 0, 293, 294, 295, 296, 297, 26, 0,
2173 1242, 298, 1477, 0, 1243, 299, 0, 0, 0, 0,
2174 0, 300, 0, 0, 301, 0, 0, 0, 0, 0,
2175 0, 0, 302, 303, 304, 0, 0, 0, 0, 0,
2176 305, 306, 307, 0, 0, 0, 0, 308, 0, 1244,
2177 0, 1228, 1229, 1230, 10, 385, 12, 281, 282, 283,
2178 0, 284, 14, 1231, 309, 1232, 1233, 1234, 1235, 1236,
2179 1237, 1238, 1239, 1240, 1241, 15, 16, 285, 17, 18,
2180 19, 0, 286, 287, 20, 0, 288, 289, 290, 21,
2181 291, 292, 0, 23, 0, 0, 0, 293, 294, 295,
2182 296, 297, 26, 0, 1242, 298, 0, 0, 1243, 299,
2183 0, 0, 0, 0, 0, 300, 0, 0, 301, 0,
2184 0, 0, 0, 0, 0, 0, 302, 303, 304, 0,
2185 0, 0, 0, 0, 305, 306, 307, 0, 0, 0,
2186 0, 308, 0, 1244, 280, 8, 9, 10, 385, 12,
2187 281, 282, 283, 688, 284, 14, 0, 0, 309, 0,
2188 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
2189 285, 17, 18, 19, 0, 286, 287, 20, 0, 288,
2190 289, 290, 21, 291, 292, 0, 23, 0, 580, 0,
2191 293, 294, 295, 296, 297, 26, 0, 27, 298, 0,
2192 0, 0, 299, 0, 0, 0, 0, 0, 300, 0,
2193 0, 867, 0, 0, 0, 0, 0, 0, 0, 302,
2194 303, 868, 0, 0, 0, 0, 0, 305, 306, 307,
2195 0, 583, 0, 0, 869, 585, 7, 8, 9, 10,
2196 385, 12, 281, 282, 283, 688, 284, 14, 0, 0,
2197 0, 309, 0, 0, 0, 0, 0, 0, 0, 0,
2198 0, 16, 285, 17, 18, 19, 0, 286, 287, 20,
2199 0, 288, 289, 290, 21, 291, 292, 0, 23, 0,
2200 580, 0, 293, 294, 295, 296, 297, 26, 0, 27,
2201 28, 0, 0, 0, 299, 0, 0, 0, 0, 0,
2202 300, 0, 0, 1128, 0, 0, 0, 0, 0, 0,
2203 0, 302, 303, 1129, 0, 0, 0, 0, 0, 305,
2204 306, 307, 0, 583, 0, 0, 1130, 585, 280, 8,
2205 9, 10, 0, 12, 281, 282, 283, 0, 284, 14,
2206 0, 0, 0, 309, 0, 0, 0, 0, 0, 0,
2207 0, 0, 0, 16, 285, 17, 0, 19, 0, 286,
2208 287, 20, 0, 288, 289, 290, 21, 291, 292, 0,
2209 23, 0, 580, 0, 293, 294, 295, 296, 297, 26,
2210 0, 27, 298, 0, 0, 0, 0, 0, 0, 0,
2211 0, 0, 300, 0, 0, 867, 0, 0, 0, 0,
2212 0, 0, 0, 302, 303, 868, 0, 0, 0, 0,
2213 0, 305, 306, 307, 0, 583, 0, 0, 869, 585,
2214 7, 8, 9, 10, 0, 12, 281, 282, 283, 0,
2215 284, 14, 0, 0, 0, 309, 0, 0, 0, 0,
2216 0, 0, 0, 0, 0, 16, 285, 17, 0, 19,
2217 0, 286, 287, 20, 0, 288, 289, 290, 21, 291,
2218 292, 0, 23, 0, 580, 0, 293, 294, 295, 296,
2219 297, 26, 0, 27, 28, 0, 0, 0, 0, 0,
2220 0, 0, 0, 0, 300, 0, 0, 1128, 0, 0,
2221 0, 0, 0, 0, 0, 302, 303, 1129, 0, 0,
2222 0, 0, 0, 305, 306, 307, 0, 583, 0, 0,
2223 1130, 585, 280, 8, 9, 10, 0, 12, 498, 282,
2224 283, 0, 284, 14, 0, 0, 0, 309, 0, 0,
2225 0, 0, 0, 0, 0, 0, 0, 16, 285, 17,
2226 0, 19, 0, 286, 287, 20, 0, 288, 289, 290,
2227 21, 291, 292, 0, 23, 0, 0, 0, 293, 294,
2228 295, 296, 297, 26, 0, 27, 298, 0, 0, 1341,
2229 299, 0, 0, 0, 0, 0, 300, 0, 0, 301,
2230 0, 0, 0, 0, 0, 0, 0, 302, 303, 304,
2231 0, 0, 0, 0, 0, 305, 306, 307, 0, 0,
2232 0, 0, 308, 280, 8, 9, 10, 385, 12, 281,
2233 282, 283, 0, 284, 14, 0, 0, 0, 0, 309,
2234 0, 0, 0, 0, 0, 0, 0, 0, 16, 285,
2235 17, 18, 19, 0, 286, 287, 20, 0, 288, 289,
2236 290, 21, 291, 292, 0, 23, 0, 0, 0, 293,
2237 294, 295, 296, 297, 26, 0, 27, 298, 0, 0,
2238 0, 0, 0, 0, 0, 0, 0, 300, 0, 0,
2239 301, 0, 0, 0, 0, 0, 0, 0, 302, 303,
2240 304, 0, 0, 0, 0, 0, 305, 306, 307, 280,
2241 8, 9, 10, 308, 12, 281, 282, 283, 0, 284,
2242 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2243 309, 0, 0, 0, 16, 285, 17, 0, 19, 0,
2244 286, 287, 20, 0, 288, 289, 290, 21, 291, 292,
2245 0, 23, 0, 0, 0, 293, 294, 295, 296, 297,
2246 26, 0, 27, 298, 0, 0, 0, 299, 0, 0,
2247 0, 0, 0, 300, 0, 0, 301, 0, 0, 0,
2248 0, 0, 0, 0, 302, 303, 304, 0, 0, 0,
2249 0, 0, 305, 306, 307, 280, 8, 9, 10, 308,
2250 12, 498, 282, 283, 0, 284, 14, 0, 0, 0,
2251 0, 0, 0, 0, 0, 0, 309, 0, 0, 0,
2252 16, 285, 17, 0, 19, 0, 286, 287, 20, 0,
2253 288, 289, 290, 21, 291, 292, 0, 23, 0, 0,
2254 0, 293, 294, 295, 296, 297, 26, 0, 27, 298,
2255 0, 0, 0, 299, 0, 0, 0, 0, 0, 300,
2256 0, 0, 301, 0, 0, 0, 0, 0, 0, 0,
2257 302, 303, 304, 0, 0, 0, 0, 0, 305, 306,
2258 307, 280, 8, 9, 10, 308, 12, 498, 282, 283,
2259 0, 284, 14, 0, 0, 0, 0, 0, 0, 0,
2260 0, 0, 309, 0, 0, 0, 16, 285, 17, 0,
2261 19, 0, 286, 287, 20, 0, 288, 289, 290, 21,
2262 291, 292, 0, 23, 0, 0, 0, 293, 294, 295,
2263 296, 297, 26, 0, 27, 298, 531, 0, 0, 0,
2264 0, 0, 0, 0, 0, 300, 0, 0, 301, 0,
2265 0, 0, 0, 0, 0, 0, 302, 303, 304, 0,
2266 0, 0, 0, 0, 305, 306, 307, 280, 8, 9,
2267 10, 532, 12, 498, 282, 283, 0, 284, 14, 0,
2268 0, 0, 0, 0, 0, 0, 0, 0, 309, 0,
2269 0, 0, 16, 285, 17, 0, 19, 0, 286, 287,
2270 20, 0, 288, 289, 290, 21, 291, 292, 0, 23,
2271 0, 0, 0, 293, 294, 295, 296, 297, 26, 0,
2272 27, 298, 0, 0, 0, 0, 0, 0, 0, 0,
2273 0, 300, 0, 0, 301, 0, 0, 0, 0, 0,
2274 0, 0, 302, 303, 304, 0, 0, 0, 0, 0,
2275 305, 306, 307, 0, 0, 0, 0, 308, 568, 280,
2276 8, 9, 10, 0, 12, 498, 282, 283, 0, 284,
2277 14, 0, 0, 0, 309, 0, 0, 0, 0, 0,
2278 0, 0, 0, 0, 16, 285, 17, 0, 19, 0,
2279 286, 287, 20, 0, 288, 289, 290, 21, 291, 292,
2280 0, 23, 0, 0, 0, 293, 294, 295, 296, 297,
2281 26, 0, 27, 298, 0, 0, 0, 299, 0, 0,
2282 0, 0, 0, 300, 0, 0, 517, 0, 0, 0,
2283 0, 0, 0, 0, 302, 303, 518, 0, 0, 0,
2284 0, 0, 305, 306, 307, 1090, 8, 9, 10, 519,
2285 12, 498, 282, 283, 0, 284, 14, 0, 0, 0,
2286 0, 0, 0, 0, 0, 0, 309, 0, 0, 0,
2287 16, 285, 17, 0, 19, 0, 286, 287, 20, 0,
2288 288, 289, 290, 21, 291, 292, 0, 23, 0, 0,
2289 0, 293, 294, 295, 296, 297, 26, 0, 27, 298,
2290 0, 0, 0, 299, 0, 0, 0, 0, 0, 300,
2291 0, 0, 301, 0, 0, 0, 0, 0, 0, 0,
2292 302, 303, 304, 0, 0, 0, 0, 0, 305, 306,
2293 307, 7, 8, 9, 10, 308, 12, 498, 282, 283,
2294 0, 284, 14, 0, 0, 0, 0, 0, 0, 0,
2295 0, 0, 309, 0, 0, 0, 16, 285, 17, 0,
2296 19, 0, 286, 287, 20, 0, 288, 289, 290, 21,
2297 291, 292, 0, 23, 0, 0, 0, 293, 294, 295,
2298 296, 297, 26, 0, 27, 28, 0, 0, 0, 299,
2299 0, 0, 0, 0, 0, 300, 0, 0, 1421, 0,
2300 0, 0, 0, 0, 0, 0, 302, 303, 1422, 0,
2301 0, 0, 0, 0, 305, 306, 307, 280, 8, 9,
2302 10, 1423, 12, 498, 282, 283, 0, 284, 14, 0,
2303 0, 0, 0, 0, 0, 0, 0, 0, 309, 0,
2304 0, 0, 16, 285, 17, 0, 19, 0, 286, 287,
2305 20, 0, 288, 289, 290, 21, 291, 292, 0, 23,
2306 0, 0, 0, 293, 294, 295, 296, 297, 26, 0,
2307 27, 298, 0, 0, 0, 0, 0, 0, 0, 0,
2308 0, 300, 0, 0, 301, 0, 0, 0, 0, 0,
2309 0, 0, 302, 303, 304, 0, 0, 0, 0, 0,
2310 305, 306, 307, 280, 8, 9, 10, 499, 12, 498,
2311 282, 283, 0, 284, 14, 0, 0, 0, 0, 0,
2312 0, 0, 0, 0, 309, 0, 0, 0, 16, 285,
2313 17, 0, 19, 0, 286, 287, 20, 0, 288, 289,
2314 290, 21, 291, 292, 0, 23, 0, 0, 0, 293,
2315 294, 295, 296, 297, 26, 0, 27, 298, 0, 0,
2316 0, 0, 0, 0, 0, 0, 0, 300, 0, 0,
2317 301, 0, 0, 0, 0, 0, 0, 0, 302, 303,
2318 304, 0, 0, 0, 0, 0, 305, 306, 307, 280,
2319 8, 9, 10, 502, 12, 498, 282, 283, 0, 284,
2320 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2321 309, 0, 0, 0, 16, 285, 17, 0, 19, 0,
2322 286, 287, 20, 0, 288, 289, 290, 21, 291, 292,
2323 0, 23, 0, 0, 0, 293, 294, 295, 296, 297,
2324 26, 0, 27, 298, 0, 0, 0, 0, 0, 0,
2325 0, 0, 0, 300, 0, 0, 301, 0, 0, 0,
2326 0, 0, 0, 0, 302, 303, 304, 0, 0, 0,
2327 0, 0, 305, 306, 307, 280, 8, 9, 10, 308,
2328 12, 498, 282, 283, 0, 284, 14, 0, 0, 0,
2329 0, 0, 0, 0, 0, 0, 309, 0, 0, 0,
2330 16, 285, 17, 0, 19, 0, 286, 287, 20, 0,
2331 288, 289, 290, 21, 291, 292, 0, 23, 0, 0,
2332 0, 293, 294, 295, 296, 297, 26, 0, 27, 298,
2333 0, 0, 0, 0, 0, 0, 0, 0, 0, 300,
2334 0, 0, 517, 0, 0, 0, 0, 0, 0, 0,
2335 302, 303, 518, 0, 0, 0, 0, 0, 305, 306,
2336 307, 7, 8, 9, 10, 519, 12, 281, 282, 283,
2337 0, 284, 14, 0, 0, 0, 0, 0, 0, 0,
2338 0, 0, 309, 0, 0, 0, 16, 285, 17, 0,
2339 19, 0, 286, 287, 20, 0, 288, 289, 290, 21,
2340 291, 292, 0, 23, 0, 0, 0, 293, 294, 295,
2341 296, 297, 26, 0, 27, 28, 0, 0, 0, 0,
2342 0, 0, 0, 0, 0, 300, 0, 0, 1421, 0,
2343 0, 0, 0, 0, 0, 0, 302, 303, 1422, 0,
2344 0, 0, 0, 0, 305, 306, 307, 0, 0, 0,
2345 0, 1423, 7, 8, 9, 10, 385, 12, 13, 0,
2346 0, 951, 0, 14, 0, 0, 0, 0, 309, 0,
2347 0, 0, 0, 0, 0, 0, 0, 16, 0, 17,
2348 18, 0, 0, 0, 0, 20, 0, 0, 0, 0,
2349 21, 0, 0, 0, 23, 0, 0, 0, 0, 0,
2350 0, 0, 0, 26, 0, 27, 28, 985, 8, 732,
2351 10, 188, 12, 189, 0, 0, 0, 0, 14, 30,
2352 0, 0, 0, 0, 0, 0, 0, 0, 0, 31,
2353 0, 0, 16, 0, 17, 18, 0, 32, 0, 0,
2354 20, 0, 33, 0, 0, 21, 0, 0, 0, 23,
2355 0, 0, 0, 0, 0, 0, 0, 0, 26, 0,
2356 27, 28, 0, 0, 0, 0, 987, 0, 0, 0,
2357 0, 0, 0, 0, 30, 7, 8, 9, 10, 188,
2358 12, 189, 0, 0, 31, 0, 14, 0, 0, 0,
2359 0, 0, 32, 0, 0, 0, 0, 33, 0, 0,
2360 16, 0, 17, 18, 0, 0, 0, 0, 20, 0,
2361 0, 0, 0, 21, 0, 0, 0, 23, 0, 0,
2362 0, 0, 0, 0, 0, 0, 26, 0, 27, 28,
2363 0, 0, 1354, 0, 7, 8, 9, 10, 385, 12,
2364 13, 0, 30, 0, 0, 14, 0, 0, 0, 0,
2365 0, 0, 31, 0, 0, 0, 0, 0, 0, 16,
2366 32, 17, 18, 0, 0, 33, 0, 20, 0, 0,
2367 0, 0, 21, 0, 0, 0, 23, 0, 0, 0,
2368 0, 0, 0, 0, 0, 26, 0, 27, 28, 7,
2369 8, 9, 10, 188, 12, 189, 0, 0, 0, 0,
2370 14, 30, 0, 0, 0, 0, 0, 0, 0, 0,
2371 0, 31, 0, 0, 16, 0, 17, 18, 0, 32,
2372 0, 0, 20, 0, 33, 0, 0, 21, 8, 9,
2373 0, 23, 12, 226, 0, 0, 0, 0, 14, 0,
2374 26, 0, 27, 28, 7, 8, 9, 10, 197, 198,
2375 199, 0, 16, 0, 17, 14, 30, 0, 0, 0,
2376 20, 0, 0, 0, 0, 0, 31, 0, 0, 23,
2377 0, 580, 18, 0, 32, 0, 0, 20, 26, 33,
2378 128, 129, 21, 0, 0, 1411, 23, 0, 580, 0,
2379 0, 0, 0, 0, 581, 26, 0, 27, 28, 0,
2380 0, 0, 0, 0, 582, 0, 0, 0, 0, 0,
2381 0, 176, 0, 0, 583, 0, 0, 584, 585, 0,
2382 0, 177, 0, 0, 0, 0, 18, 0, 0, 32,
2383 0, 0, 0, 0, 1357, 1412, 534, 535, 536, 537,
2384 538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
2385 548, 549, 550, 551, 552, 553, 554, 555, 534, 535,
2386 536, 537, 538, 539, 540, 541, 542, 543, 544, 545,
2387 546, 547, 548, 549, 550, 551, 552, 553, 554, 555,
2388 8, 9, 0, 385, 12, 13, 0, 0, 688, 0,
2389 14, 0, 0, 8, 9, 0, 385, 12, 13, 0,
2390 0, 1471, 0, 14, 16, 0, 17, 18, 0, 0,
2391 0, 0, 20, 0, 0, 0, 0, 16, 0, 17,
2392 18, 23, 0, 0, 0, 20, 0, 0, 0, 0,
2393 26, 0, 128, 129, 23, 0, 0, 8, 9, 0,
2394 188, 12, 189, 26, 0, 128, 129, 14, 0, 0,
2395 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2396 0, 16, 0, 17, 18, 0, 0, 0, 0, 20,
2397 0, 0, 0, 0, 0, 0, 0, 0, 23, 0,
2398 0, 0, 0, 0, 0, 0, 0, 26, 0, 128,
2399 129, 534, 535, 536, 537, 538, 539, 540, 541, 542,
2400 543, 544, 545, 546, 547, 548, 549, 550, 551, 552,
2401 553, 554, 555, 0, 0, 0, 0, 0, 0, 0,
2402 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2403 0, 0, 621, 0, 0, 1467, 534, 535, 536, 537,
2404 538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
2405 548, 549, 550, 551, 552, 553, 554, 555, 1485, 534,
2406 535, 536, 537, 538, 539, 540, 541, 542, 543, 544,
2407 545, 546, 547, 548, 549, 550, 551, 552, 553, 554,
2408 555, 534, 535, 536, 537, 538, 539, 540, 541, 542,
2409 543, 544, 545, 546, 547, 548, 549, 550, 551, 552,
2410 553, 554, 555, 534, 535, 536, 537, 538, 539, 540,
2411 541, 542, 543, 544, 545, 0, 547, 548, 549, 550,
2412 551, 552, 553, 554, 555
2415 static const short yycheck
[] = { 4,
2416 384, 145, 146, 155, 57, 192, 328, 78, 673, 670,
2417 4, 4, 384, 4, 23, 53, 231, 384, 124, 14,
2418 660, 4, 420, 82, 334, 88, 334, 90, 468, 447,
2419 35, 200, 201, 529, 828, 40, 30, 31, 352, 192,
2420 227, 35, 35, 4, 35, 60, 40, 40, 201, 40,
2421 55, 653, 35, 736, 564, 738, 131, 40, 122, 1409,
2422 4, 127, 745, 425, 11, 70, 132, 4, 52, 140,
2423 284, 285, 135, 1245, 35, 1323, 44, 82, 1408, 40,
2424 33, 86, 60, 88, 11, 90, 81, 584, 82, 276,
2425 11, 35, 37, 59, 591, 0, 40, 4, 35, 12,
2426 105, 106, 316, 40, 1410, 1252, 74, 753, 9, 104,
2427 222, 1, 1259, 759, 1426, 186, 54, 1447, 55, 334,
2428 74, 131, 132, 47, 62, 523, 38, 7, 35, 134,
2429 135, 109, 137, 40, 1446, 62, 1, 78, 58, 192,
2430 134, 328, 54, 109, 1151, 1152, 59, 200, 201, 62,
2431 1, 145, 146, 75, 159, 77, 109, 37, 1165, 25,
2432 61, 108, 105, 106, 109, 159, 150, 585, 58, 93,
2433 94, 59, 62, 134, 227, 82, 1482, 1527, 98, 501,
2434 195, 108, 176, 177, 108, 60, 59, 108, 203, 74,
2435 134, 1503, 58, 58, 0, 108, 62, 134, 159, 183,
2436 59, 12, 3, 4, 5, 95, 78, 58, 335, 336,
2437 59, 62, 1542, 48, 60, 159, 3, 4, 5, 865,
2438 108, 47, 159, 276, 60, 455, 75, 134, 196, 95,
2439 102, 62, 672, 228, 109, 108, 59, 1409, 878, 1487,
2440 33, 881, 472, 74, 95, 47, 47, 74, 59, 108,
2441 325, 62, 159, 54, 58, 56, 57, 74, 54, 131,
2442 64, 413, 321, 109, 391, 392, 1413, 93, 140, 56,
2443 57, 643, 277, 109, 337, 328, 674, 1284, 74, 919,
2444 920, 93, 451, 452, 47, 108, 1293, 1294, 354, 1296,
2445 459, 93, 93, 80, 604, 439, 440, 47, 900, 452,
2446 364, 242, 471, 308, 27, 47, 108, 93, 31, 1456,
2447 47, 695, 378, 59, 186, 325, 321, 827, 64, 633,
2448 47, 490, 4, 5, 329, 93, 972, 321, 695, 75,
2449 93, 94, 337, 338, 445, 54, 389, 60, 984, 334,
2450 93, 64, 453, 93, 338, 108, 47, 219, 1249, 387,
2451 1251, 93, 145, 146, 147, 74, 93, 1504, 573, 3,
2452 4, 5, 6, 4, 5, 308, 93, 94, 378, 691,
2453 242, 1017, 869, 1019, 56, 57, 165, 338, 107, 384,
2454 12, 108, 54, 388, 35, 178, 109, 60, 12, 40,
2455 384, 384, 93, 94, 338, 25, 1190, 41, 451, 452,
2456 415, 338, 74, 27, 48, 47, 459, 31, 904, 54,
2457 907, 60, 56, 57, 321, 56, 57, 62, 471, 4,
2458 5, 54, 25, 47, 27, 1432, 1433, 59, 433, 74,
2459 62, 338, 64, 496, 54, 59, 60, 490, 62, 433,
2460 64, 1081, 1082, 458, 88, 439, 440, 31, 866, 946,
2461 47, 93, 94, 62, 74, 58, 54, 4, 5, 62,
2462 74, 333, 9, 48, 469, 47, 58, 64, 830, 93,
2463 94, 56, 57, 47, 54, 469, 74, 384, 3, 4,
2464 5, 608, 64, 1166, 108, 58, 469, 430, 4, 5,
2465 47, 496, 95, 461, 499, 80, 93, 502, 4, 5,
2466 47, 506, 507, 508, 509, 510, 565, 54, 469, 56,
2467 57, 93, 94, 109, 519, 47, 93, 901, 1312, 93,
2468 94, 47, 394, 70, 529, 469, 433, 532, 469, 901,
2469 970, 56, 57, 80, 901, 47, 93, 935, 54, 47,
2470 56, 57, 48, 90, 713, 54, 93, 94, 75, 47,
2471 56, 57, 64, 54, 4, 5, 499, 47, 611, 502,
2472 565, 93, 469, 506, 874, 4, 874, 93, 62, 54,
2473 62, 565, 610, 636, 80, 108, 519, 47, 108, 584,
2474 74, 93, 74, 47, 94, 93, 591, 581, 582, 532,
2475 584, 778, 54, 536, 466, 93, 35, 591, 33, 652,
2476 595, 40, 33, 93, 54, 1102, 56, 57, 720, 47,
2477 722, 649, 74, 651, 652, 727, 54, 4, 5, 562,
2478 70, 493, 9, 93, 730, 568, 3, 4, 5, 93,
2479 80, 636, 641, 1130, 8, 9, 74, 1055, 691, 108,
2480 14, 47, 769, 47, 94, 650, 439, 440, 441, 654,
2481 47, 62, 62, 691, 62, 93, 108, 871, 565, 874,
2482 713, 11, 36, 672, 59, 60, 74, 54, 109, 56,
2483 57, 45, 1112, 47, 1036, 1037, 25, 584, 27, 56,
2484 57, 58, 3, 70, 591, 4, 5, 93, 1450, 93,
2485 695, 754, 755, 80, 757, 93, 93, 108, 108, 286,
2486 287, 695, 59, 60, 1144, 743, 578, 94, 59, 58,
2487 145, 146, 147, 62, 301, 146, 147, 304, 60, 93,
2488 307, 111, 594, 310, 75, 778, 77, 314, 1050, 48,
2489 25, 736, 27, 738, 1496, 322, 94, 56, 57, 744,
2490 745, 94, 736, 178, 738, 62, 95, 178, 753, 754,
2491 755, 745, 757, 736, 759, 738, 111, 1051, 1052, 753,
2492 1054, 80, 745, 58, 1126, 759, 93, 62, 59, 60,
2493 897, 739, 740, 1135, 1136, 736, 74, 738, 1140, 93,
2494 748, 3, 4, 5, 745, 7, 8, 9, 695, 83,
2495 84, 25, 736, 27, 738, 736, 74, 738, 4, 5,
2496 95, 745, 54, 744, 745, 109, 743, 744, 74, 1470,
2497 62, 766, 767, 768, 36, 4, 5, 59, 60, 1181,
2498 74, 826, 74, 59, 58, 1490, 831, 108, 62, 736,
2499 11, 738, 54, 59, 56, 57, 58, 108, 745, 59,
2500 60, 912, 48, 59, 60, 54, 753, 3, 4, 5,
2501 56, 57, 759, 62, 859, 967, 968, 969, 108, 48,
2502 865, 95, 4, 5, 869, 74, 9, 56, 57, 12,
2503 54, 865, 74, 867, 868, 869, 108, 308, 62, 874,
2504 54, 103, 104, 105, 1011, 1012, 1013, 59, 60, 60,
2505 74, 80, 835, 4, 5, 108, 901, 54, 903, 904,
2506 56, 57, 907, 111, 47, 62, 48, 901, 901, 1271,
2507 109, 905, 906, 907, 56, 57, 59, 74, 61, 62,
2508 108, 64, 109, 4, 5, 996, 869, 716, 9, 1251,
2509 517, 518, 75, 111, 77, 27, 1334, 975, 80, 4,
2510 5, 946, 74, 54, 74, 56, 57, 1309, 1346, 27,
2511 93, 94, 946, 31, 959, 54, 1100, 1101, 865, 70,
2512 965, 750, 869, 111, 74, 108, 111, 972, 108, 80,
2513 108, 108, 58, 54, 108, 56, 57, 8, 972, 984,
2514 54, 59, 60, 48, 1128, 1129, 64, 54, 111, 70,
2515 984, 56, 57, 93, 901, 62, 1059, 4, 5, 80,
2516 907, 873, 1007, 875, 439, 440, 441, 74, 47, 440,
2517 441, 64, 1017, 1007, 1019, 80, 3, 4, 5, 59,
2518 988, 93, 965, 1017, 1007, 1019, 994, 995, 1426, 109,
2519 998, 999, 60, 1104, 1002, 47, 54, 44, 975, 946,
2520 912, 1046, 54, 30, 36, 47, 1007, 54, 1446, 56,
2521 57, 64, 54, 64, 1059, 996, 1440, 27, 64, 108,
2522 60, 31, 74, 1007, 62, 972, 1007, 54, 499, 56,
2523 57, 502, 74, 1440, 1201, 1473, 108, 984, 108, 108,
2524 64, 93, 108, 64, 3, 4, 5, 518, 519, 59,
2525 60, 93, 3, 4, 5, 6, 64, 1102, 93, 59,
2526 1007, 532, 111, 1112, 62, 1503, 1100, 1101, 1102, 108,
2527 1017, 108, 1019, 1511, 907, 108, 75, 108, 1123, 108,
2528 75, 75, 1444, 75, 996, 1130, 3, 4, 5, 1123,
2529 41, 108, 1123, 108, 1128, 1129, 1130, 56, 57, 62,
2530 1123, 62, 59, 54, 108, 56, 57, 62, 111, 60,
2531 86, 62, 88, 946, 90, 108, 94, 426, 88, 70,
2532 591, 1166, 1123, 111, 433, 3, 4, 5, 6, 80,
2533 1532, 48, 1166, 3, 4, 5, 74, 88, 47, 56,
2534 57, 108, 93, 1166, 108, 111, 111, 1130, 977, 978,
2535 3, 4, 5, 109, 108, 1102, 108, 59, 1251, 135,
2536 108, 137, 108, 41, 109, 1166, 1078, 64, 64, 59,
2537 48, 1249, 59, 1251, 108, 108, 1123, 1006, 56, 57,
2538 93, 1162, 1166, 1130, 54, 1166, 56, 57, 497, 3,
2539 4, 5, 1104, 93, 1177, 1178, 1179, 1180, 93, 93,
2540 1245, 54, 80, 56, 57, 1250, 109, 1252, 109, 108,
2541 88, 1245, 839, 111, 1259, 108, 108, 1444, 1252, 1166,
2542 8, 1252, 1245, 1268, 108, 1259, 1418, 108, 1259, 1252,
2543 109, 108, 108, 108, 48, 108, 1259, 1421, 1422, 111,
2544 867, 868, 56, 57, 1245, 108, 3, 4, 5, 33,
2545 1162, 1252, 561, 3, 4, 5, 6, 1240, 1259, 9,
2546 108, 4, 5, 108, 108, 8, 9, 1100, 1101, 1102,
2547 64, 14, 3, 4, 5, 6, 78, 79, 80, 81,
2548 82, 83, 84, 1291, 1292, 28, 108, 30, 54, 598,
2549 108, 41, 108, 36, 62, 1128, 1129, 1130, 1245, 56,
2550 57, 772, 45, 111, 54, 1252, 56, 57, 47, 108,
2551 41, 54, 1259, 56, 57, 58, 108, 48, 8, 9,
2552 70, 108, 96, 299, 14, 56, 57, 1310, 1157, 1158,
2553 80, 1160, 1161, 62, 1163, 62, 60, 60, 88, 9,
2554 60, 16, 93, 93, 108, 108, 36, 108, 1356, 80,
2555 93, 1444, 108, 108, 108, 45, 93, 88, 1403, 60,
2556 1343, 337, 60, 1408, 1409, 1410, 111, 1445, 1413, 1403,
2557 17, 93, 93, 60, 1408, 1409, 1410, 1408, 1423, 1413,
2558 97, 107, 1413, 108, 60, 1408, 1409, 1421, 1422, 108,
2559 1413, 3, 4, 5, 6, 1440, 108, 868, 869, 108,
2560 11, 60, 1447, 60, 60, 93, 1440, 1408, 1409, 59,
2561 64, 1456, 1413, 1447, 108, 60, 1447, 108, 11, 108,
2562 1403, 60, 1456, 11, 1447, 1456, 1409, 1410, 60, 41,
2563 1057, 0, 907, 1456, 0, 0, 907, 1482, 412, 2,
2564 1423, 901, 54, 354, 56, 57, 1447, 1469, 1482, 425,
2565 426, 159, 1281, 1282, 159, 1456, 1403, 433, 744, 1504,
2566 1112, 1408, 1409, 1410, 92, 137, 1413, 1475, 1333, 1542,
2567 1504, 946, 1191, 1504, 279, 946, 88, 384, 3, 4,
2568 5, 1504, 80, 81, 82, 83, 84, 890, 1250, 3,
2569 4, 5, 6, 1440, 1144, 679, 970, 1542, 885, 1482,
2570 1447, 1128, 1129, 1504, 1007, 221, 744, 1164, 1542, 1456,
2571 883, 1542, 183, 617, 325, 1498, 825, 826, 122, 1542,
2572 496, 497, 831, 1252, 1357, 1124, 433, 41, 1459, 54,
2573 1521, 56, 57, 58, 1490, 1482, 845, 1520, 847, 565,
2574 849, 1542, 56, 57, 1527, 1511, 954, 1376, 1377, 1378,
2575 1523, 1268, -1, 529, -1, 531, -1, 1504, 534, 535,
2576 -1, 537, 538, 539, 540, 541, 542, 543, 544, 545,
2577 546, 547, 548, 549, 550, 551, 552, 553, 554, 555,
2578 -1, -1, -1, 892, -1, 561, -1, -1, 1421, 1422,
2579 1423, -1, -1, 47, 711, 1542, 3, 4, 5, 6,
2580 1429, 1430, -1, 3, 4, 5, -1, 7, 8, 9,
2581 -1, -1, -1, -1, -1, 591, -1, -1, 1245, -1,
2582 929, -1, 598, -1, -1, 1100, 1101, 1102, -1, -1,
2583 1101, 1102, 86, 87, 41, 752, 36, 91, 92, 93,
2584 94, 758, -1, -1, 620, 621, -1, -1, -1, 56,
2585 57, -1, -1, 1128, 1129, 1130, 56, 57, 1129, 1130,
2586 636, -1, -1, -1, -1, 1, 1495, 3, 4, 5,
2587 6, 7, 8, 9, -1, -1, -1, 584, 14, -1,
2588 -1, 88, -1, -1, 591, -1, -1, -1, -1, -1,
2589 -1, 14, 28, -1, 30, 31, 32, -1, -1, 22,
2590 36, 37, -1, 679, -1, 41, -1, -1, -1, 45,
2591 46, -1, 48, 3, 4, 5, 6, -1, 54, -1,
2592 56, 57, -1, -1, 60, -1, 62, -1, -1, -1,
2593 3, 4, 5, 6, 70, -1, -1, -1, -1, -1,
2594 63, -1, -1, 860, 80, 862, 426, 3, 4, 5,
2595 6, 41, 88, 433, -1, -1, -1, 93, -1, 735,
2596 -1, -1, -1, -1, 54, -1, 56, 57, 41, -1,
2597 60, -1, -1, 109, -1, 48, -1, -1, 754, 755,
2598 70, 757, -1, 56, 57, 41, -1, -1, 695, -1,
2599 80, -1, 48, -1, 1421, 1422, 772, -1, 88, 122,
2600 56, 57, 4, 93, -1, 1114, -1, 1116, -1, 1118,
2601 -1, -1, 14, -1, -1, 88, -1, 497, 794, -1,
2602 -1, 144, 24, -1, 4, 5, -1, -1, 30, 31,
2603 -1, 33, 88, 35, -1, 3, 4, 5, 40, 7,
2604 8, 9, -1, -1, -1, -1, 753, -1, -1, 825,
2605 826, 53, 759, 55, 830, 831, -1, -1, -1, -1,
2606 -1, 63, -1, -1, -1, -1, -1, 47, 70, 845,
2607 -1, 847, -1, 849, 54, -1, 56, 57, -1, 81,
2608 82, 561, 1357, -1, -1, -1, 1357, -1, 56, 57,
2609 70, 7, 8, 9, -1, -1, 219, 220, 14, 1016,
2610 80, 1018, 104, 1212, -1, -1, 882, -1, 231, -1,
2611 90, 591, -1, 93, 94, 31, 892, -1, 598, -1,
2612 36, -1, -1, -1, -1, 127, -1, -1, 904, 45,
2613 132, -1, 134, -1, 105, 106, 138, -1, -1, 141,
2614 142, 917, -1, 145, 146, 147, 1421, 1422, 1423, -1,
2615 -1, 1422, 1423, 929, -1, 1072, -1, 159, 865, -1,
2616 -1, -1, 869, 3, 4, 5, 6, -1, -1, 9,
2617 946, -1, -1, -1, 176, 177, 178, 300, 71, 72,
2618 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
2619 83, 84, 4, 5, 901, -1, 8, 9, -1, -1,
2620 907, 41, 14, 205, -1, -1, -1, 47, -1, -1,
2621 -1, 987, -1, -1, 54, -1, 56, 57, 220, 342,
2622 176, 177, 178, -1, 36, -1, 228, -1, 351, -1,
2623 70, 1148, -1, 45, -1, 47, 1153, 239, -1, 946,
2624 80, 364, 54, -1, 56, 57, -1, -1, 88, -1,
2625 90, -1, -1, 93, 94, 7, 8, 9, 70, -1,
2626 1036, 1037, 14, -1, 1040, 972, -1, -1, 80, -1,
2627 -1, -1, -1, -1, -1, 277, 278, 984, 90, 31,
2628 -1, 93, 94, 1059, 36, -1, -1, -1, 1205, -1,
2629 -1, -1, 772, 45, -1, -1, -1, -1, -1, -1,
2630 -1, 1, -1, 3, 4, 5, 6, -1, 8, -1,
2631 1017, -1, 1019, -1, -1, 7, 8, 9, -1, 321,
2632 -1, -1, 14, 325, -1, 327, 328, 329, -1, -1,
2633 -1, -1, -1, -1, -1, -1, 338, 308, 1114, 31,
2634 1116, 41, 1118, 466, 36, 825, 826, -1, 48, -1,
2635 1126, 831, 354, 45, 54, -1, 56, 57, -1, 1135,
2636 1136, -1, -1, -1, 1140, 845, -1, 847, 60, 849,
2637 -1, 3, 4, 5, 6, -1, 378, -1, -1, 1155,
2638 1156, -1, 384, 1300, 1301, 387, 388, -1, 88, -1,
2639 -1, -1, -1, -1, -1, 1102, 398, -1, -1, 401,
2640 1317, -1, -1, -1, 406, 1181, 38, 39, 531, 41,
2641 -1, -1, 892, 384, -1, -1, 3, 4, 5, 6,
2642 -1, -1, 54, 1130, 56, 57, -1, -1, -1, -1,
2643 -1, -1, -1, 435, -1, 437, 1212, 439, 440, 441,
2644 -1, -1, -1, 445, 3, 4, 5, 6, 450, 929,
2645 573, 453, 1369, 1370, 41, -1, -1, -1, -1, -1,
2646 1236, 48, 433, -1, -1, -1, 946, 469, -1, 56,
2647 57, 1388, 1389, -1, -1, -1, -1, -1, -1, 435,
2648 -1, 437, 41, 439, 440, 441, -1, -1, -1, 48,
2649 -1, -1, -1, 80, 450, 1271, -1, 56, 57, -1,
2650 -1, 88, -1, -1, -1, 507, 508, 509, 510, -1,
2651 -1, 1287, -1, 3, 4, 5, -1, 7, 641, -1,
2652 -1, 80, -1, -1, -1, -1, -1, -1, 499, 88,
2653 653, 502, -1, 1309, -1, 506, 507, 508, 509, 510,
2654 30, -1, -1, -1, -1, -1, -1, 37, 519, -1,
2655 -1, -1, 3, 4, 5, 6, 679, -1, 9, -1,
2656 -1, 532, -1, 565, 54, 567, 56, 57, -1, -1,
2657 -1, 7, 8, 9, -1, -1, -1, 579, 14, 581,
2658 582, 1357, 584, -1, -1, -1, -1, -1, -1, 591,
2659 41, -1, -1, 595, -1, 31, 47, -1, 1374, 1375,
2660 36, -1, -1, 54, -1, 56, 57, 1383, 610, 45,
2661 -1, -1, -1, 584, -1, -1, -1, -1, -1, 70,
2662 591, -1, -1, -1, 60, 3, 4, 5, 6, 80,
2663 -1, 9, -1, -1, 1114, 1411, 1116, 88, 1118, 90,
2664 -1, -1, 93, 94, -1, -1, -1, 649, 650, 651,
2665 652, 653, 654, 3, 4, 5, 6, -1, -1, -1,
2666 -1, -1, -1, 41, -1, -1, -1, -1, -1, 47,
2667 -1, -1, -1, 55, -1, 57, 54, -1, 56, 57,
2668 76, 77, 78, 79, 80, 81, 82, 83, 84, 691,
2669 -1, 41, 70, 695, -1, -1, -1, -1, 48, -1,
2670 702, 703, 80, 705, -1, -1, 56, 57, -1, -1,
2671 88, -1, 90, -1, -1, 93, 94, 3, 4, 5,
2672 6, 7, 8, 9, 695, -1, -1, -1, 14, -1,
2673 80, 733, 1212, 1440, 736, -1, 738, -1, 88, -1,
2674 -1, 743, 744, 745, -1, 31, 702, 703, -1, 705,
2675 36, 753, -1, -1, -1, 41, 1532, 759, -1, 45,
2676 -1, 47, -1, -1, 766, 767, 768, 890, 54, -1,
2677 56, 57, -1, -1, -1, -1, 778, 900, -1, -1,
2678 -1, -1, 753, 165, 70, -1, 4, 743, 759, -1,
2679 -1, -1, -1, -1, 80, -1, 14, -1, -1, -1,
2680 -1, -1, 88, -1, 90, 23, 24, 93, 94, -1,
2681 192, -1, 30, 31, -1, 33, -1, 35, 200, 201,
2682 -1, -1, 40, -1, -1, -1, -1, -1, -1, 327,
2683 328, 329, -1, -1, -1, 53, -1, 55, -1, -1,
2684 -1, -1, -1, -1, -1, 63, -1, -1, 850, -1,
2685 852, -1, 70, -1, -1, 826, -1, 859, -1, -1,
2686 -1, 863, -1, 865, 82, 867, 868, 869, -1, -1,
2687 -1, -1, 874, -1, -1, -1, -1, 1357, -1, -1,
2688 -1, -1, -1, -1, -1, -1, -1, -1, 859, -1,
2689 4, 5, -1, -1, 865, 9, -1, -1, 869, 901,
2690 -1, 903, -1, 905, 906, 907, -1, -1, -1, 127,
2691 -1, -1, -1, -1, 1037, -1, 134, -1, -1, -1,
2692 138, -1, -1, -1, 142, -1, -1, 145, 146, 147,
2693 901, -1, 903, 47, -1, -1, 907, -1, -1, -1,
2694 54, 159, 56, 57, 946, 3, 4, 5, 6, 905,
2695 906, 907, -1, -1, -1, -1, 70, 959, 176, 177,
2696 178, -1, -1, -1, -1, -1, 80, -1, -1, -1,
2697 972, -1, -1, 975, -1, 946, 90, -1, -1, 93,
2698 94, -1, 984, 41, -1, -1, -1, 205, 959, 47,
2699 946, -1, -1, -1, 965, 997, 54, 1120, 56, 57,
2700 -1, 972, -1, 1126, -1, 1007, 388, 389, -1, -1,
2701 -1, -1, 70, 984, -1, 1017, -1, 1019, -1, 975,
2702 -1, 239, 80, -1, -1, -1, -1, -1, -1, -1,
2703 88, -1, 90, -1, -1, 93, 94, -1, -1, -1,
2704 -1, -1, -1, -1, 1046, -1, 1017, -1, 1019, 1051,
2705 1052, -1, 1054, -1, -1, -1, -1, -1, -1, 277,
2706 278, -1, 444, -1, -1, -1, -1, -1, -1, 451,
2707 452, -1, -1, 455, -1, 1046, -1, 459, -1, -1,
2708 -1, -1, -1, 581, 582, -1, -1, -1, -1, -1,
2709 472, -1, -1, -1, -1, -1, 1098, 1099, 1100, 1101,
2710 1102, -1, -1, 321, 1106, -1, -1, 325, -1, 327,
2711 328, 329, -1, -1, -1, -1, 334, -1, 1241, -1,
2712 338, -1, -1, -1, -1, -1, 1128, 1129, 1130, -1,
2713 -1, 1102, -1, -1, -1, -1, 354, -1, -1, -1,
2714 -1, -1, 1098, 1099, 1100, 1101, 1102, -1, -1, -1,
2715 1106, 649, -1, 651, 652, -1, 654, 1159, -1, 1130,
2716 -1, -1, 1164, -1, 1166, -1, 384, -1, -1, 387,
2717 388, -1, 1128, 1129, 1130, -1, -1, -1, -1, -1,
2718 398, -1, -1, 401, -1, -1, -1, -1, 406, -1,
2719 -1, -1, -1, 691, -1, -1, -1, -1, -1, -1,
2720 -1, -1, 1325, 1159, -1, -1, -1, -1, -1, -1,
2721 -1, -1, -1, 1215, 1216, -1, 1218, 435, -1, 437,
2722 -1, 439, 440, 441, -1, -1, -1, 445, -1, 611,
2723 -1, -1, 450, -1, -1, 453, -1, -1, -1, -1,
2724 -1, -1, -1, -1, -1, -1, -1, 1249, 1250, 1251,
2725 468, 469, -1, 4, 5, -1, -1, 8, 9, 1215,
2726 1216, -1, 1218, 14, -1, -1, 1268, -1, 650, -1,
2727 652, -1, -1, -1, -1, -1, -1, 28, -1, 30,
2728 778, -1, -1, -1, -1, 36, -1, -1, -1, 507,
2729 508, 509, 510, -1, 45, -1, -1, 1268, -1, -1,
2730 -1, -1, -1, 54, -1, 56, 57, -1, -1, 691,
2731 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
2732 77, 78, 79, 80, 81, 82, 83, 84, -1, -1,
2733 -1, 713, -1, -1, 716, -1, -1, 3, 4, 5,
2734 6, -1, 93, 9, -1, -1, -1, 565, -1, 567,
2735 -1, -1, 850, -1, 852, 1357, -1, -1, -1, -1,
2736 -1, -1, 744, 581, 582, 863, 584, -1, 750, 867,
2737 868, -1, -1, 591, -1, 41, -1, -1, -1, -1,
2738 -1, 47, -1, -1, -1, -1, 604, -1, 54, -1,
2739 56, 57, 610, -1, -1, -1, -1, -1, -1, -1,
2740 -1, 1357, -1, -1, 70, 4, 5, 905, 906, 8,
2741 9, -1, -1, -1, 80, 14, -1, -1, -1, 1421,
2742 1422, 1423, 88, 641, 90, -1, -1, 93, 94, -1,
2743 -1, 649, 650, 651, 652, 653, 654, 36, 1440, -1,
2744 -1, -1, -1, 1445, -1, -1, 45, -1, 47, -1,
2745 -1, -1, 1423, -1, 672, 54, -1, 56, 57, -1,
2746 -1, 80, -1, -1, -1, 1421, 1422, 1423, -1, 1440,
2747 -1, 70, -1, 691, -1, -1, -1, 695, -1, -1,
2748 -1, 80, -1, -1, 702, 703, -1, 705, -1, -1,
2749 -1, 90, -1, -1, 93, 94, -1, -1, -1, -1,
2750 3, 4, 5, 6, 7, 8, 9, -1, -1, -1,
2751 -1, 14, -1, -1, -1, 733, -1, -1, 736, -1,
2752 738, 3, 4, 5, 6, 743, 744, 745, 31, -1,
2753 -1, -1, -1, 36, 153, 753, -1, -1, 41, -1,
2754 -1, 759, 45, -1, 47, -1, -1, -1, 766, 767,
2755 768, 54, -1, 56, 57, 174, -1, -1, -1, 41,
2756 778, -1, -1, -1, -1, -1, -1, 70, 187, -1,
2757 -1, -1, 54, -1, 56, 57, -1, 80, -1, -1,
2758 62, -1, -1, -1, -1, 88, -1, 90, 70, -1,
2759 93, 94, -1, -1, -1, 977, 978, -1, 80, -1,
2760 1098, 1099, 1100, 1101, -1, -1, 88, -1, 1106, -1,
2761 -1, 93, -1, 1, -1, 3, 4, 5, 6, 7,
2762 8, 9, -1, -1, 1006, -1, 14, -1, -1, -1,
2763 1128, 1129, 850, -1, 852, -1, -1, -1, -1, -1,
2764 28, 859, 30, 31, 32, 863, -1, 865, 36, 867,
2765 868, 869, -1, 41, -1, -1, 874, 45, 46, -1,
2766 48, -1, -1, -1, -1, -1, 54, -1, 56, 57,
2767 4, -1, 60, -1, 62, -1, -1, -1, 3, 4,
2768 5, 6, 70, 901, 9, 903, -1, 905, 906, 907,
2769 -1, -1, 80, -1, -1, -1, 30, 31, -1, 33,
2770 88, 35, -1, -1, -1, 93, 40, -1, -1, -1,
2771 -1, -1, -1, -1, -1, -1, 41, 1215, 1216, 53,
2772 1218, 55, -1, -1, -1, -1, -1, -1, 946, 54,
2773 -1, 56, 57, -1, -1, -1, -1, -1, -1, -1,
2774 -1, 959, -1, -1, 78, 70, -1, -1, -1, -1,
2775 -1, -1, 970, -1, 972, 80, -1, 975, -1, -1,
2776 -1, -1, -1, 88, -1, -1, 984, -1, 93, -1,
2777 -1, -1, -1, -1, -1, 1157, 1158, -1, 1160, 1161,
2778 -1, 1163, -1, -1, -1, -1, -1, -1, -1, 1007,
2779 -1, -1, -1, 127, -1, -1, -1, 131, 132, 1017,
2780 134, 1019, -1, -1, 138, -1, 140, -1, 142, -1,
2781 -1, 145, 146, 147, -1, -1, -1, -1, -1, -1,
2782 -1, -1, -1, -1, 443, 159, -1, -1, 1046, 448,
2783 -1, -1, -1, 1051, 1052, -1, 1054, -1, -1, -1,
2784 -1, -1, 176, 177, 178, -1, -1, -1, -1, -1,
2785 -1, -1, 186, -1, 473, 3, 4, 5, 6, -1,
2786 479, 9, -1, -1, -1, -1, -1, -1, 1250, 1251,
2787 -1, 205, 491, 492, -1, 494, 3, 4, 5, 6,
2788 1098, 1099, 1100, 1101, 1102, -1, -1, -1, 1106, -1,
2789 -1, -1, -1, 41, 1112, -1, -1, -1, -1, 1281,
2790 1282, -1, -1, -1, -1, 239, 54, -1, 56, 57,
2791 1128, 1129, 1130, -1, 41, -1, -1, -1, -1, -1,
2792 -1, -1, 70, -1, -1, -1, 1144, 54, -1, 56,
2793 57, -1, 80, -1, -1, 62, -1, -1, -1, -1,
2794 88, 1159, -1, 70, -1, 93, 1164, -1, 1166, -1,
2795 -1, -1, -1, 80, -1, -1, -1, 4, -1, -1,
2796 -1, 88, -1, -1, -1, -1, 93, -1, 587, 588,
2797 -1, -1, -1, 592, 308, 3, 4, 5, 6, 327,
2798 328, 329, -1, 30, 31, -1, 33, -1, 35, -1,
2799 -1, 325, -1, 40, 1376, 1377, 1378, 1215, 1216, 333,
2800 1218, -1, -1, -1, 338, -1, 53, -1, 55, -1,
2801 -1, -1, -1, 41, -1, -1, -1, -1, -1, -1,
2802 354, -1, -1, -1, -1, -1, 54, -1, 56, 57,
2803 -1, 1249, 1250, 1251, 62, -1, -1, -1, -1, -1,
2804 -1, -1, 70, -1, 378, -1, -1, 1429, 1430, -1,
2805 1268, -1, 80, 387, -1, -1, -1, -1, -1, -1,
2806 88, -1, -1, -1, 398, 93, -1, 401, -1, -1,
2807 -1, -1, 406, 72, 73, 74, 75, 76, 77, 78,
2808 79, 80, 81, 82, 83, 84, -1, 134, -1, -1,
2809 -1, 138, -1, -1, -1, 142, -1, -1, 145, 146,
2810 147, 435, -1, 437, -1, 439, 440, 441, -1, -1,
2811 -1, 445, 159, 1495, -1, -1, 450, -1, -1, 453,
2812 1, -1, 3, 4, 5, 6, 7, 8, 9, 176,
2813 177, 178, -1, 14, -1, 469, -1, -1, -1, 1357,
2814 -1, 760, -1, 762, -1, -1, -1, 28, -1, 30,
2815 31, -1, -1, -1, -1, 36, -1, -1, 205, -1,
2816 41, -1, -1, -1, 45, 499, -1, 48, 502, -1,
2817 -1, -1, -1, 54, -1, 56, 57, -1, -1, 60,
2818 -1, -1, -1, 517, 518, 519, -1, -1, -1, 70,
2819 -1, -1, 239, -1, -1, -1, -1, -1, 532, 80,
2820 -1, -1, -1, 1421, 1422, 1423, -1, 88, -1, -1,
2821 -1, -1, 93, -1, 833, 834, -1, 836, -1, 4,
2822 5, -1, 1440, -1, 9, -1, -1, 1445, -1, -1,
2823 -1, -1, -1, 581, 582, -1, 584, -1, -1, -1,
2824 -1, -1, -1, 591, 578, 864, 3, 4, 5, 6,
2825 -1, -1, 9, -1, -1, -1, -1, 591, -1, -1,
2826 -1, -1, 47, -1, -1, -1, -1, -1, -1, 54,
2827 -1, 56, 57, 33, -1, -1, 610, -1, -1, -1,
2828 -1, -1, -1, -1, 41, 70, -1, 334, -1, -1,
2829 909, 338, -1, 53, -1, 80, -1, 54, -1, 56,
2830 57, 649, -1, 651, 652, 90, 654, -1, 93, 94,
2831 -1, -1, -1, 70, -1, 649, 650, 651, 652, -1,
2832 -1, -1, -1, 80, -1, -1, -1, -1, -1, -1,
2833 -1, 88, -1, -1, -1, -1, 93, -1, -1, -1,
2834 387, -1, -1, 691, -1, -1, 3, 4, 5, 6,
2835 -1, 398, 971, -1, 401, -1, -1, 691, -1, 406,
2836 -1, 695, -1, -1, 983, -1, -1, -1, 702, 703,
2837 -1, 705, -1, -1, 3, 4, 5, 6, -1, -1,
2838 9, -1, -1, -1, 41, 145, 146, 147, 435, -1,
2839 437, -1, 439, 440, 441, -1, -1, 54, 445, 56,
2840 57, -1, 736, 450, 738, -1, 453, -1, -1, 743,
2841 744, 745, 41, 70, -1, -1, 176, 177, 178, -1,
2842 -1, -1, 469, 80, -1, 54, -1, 56, 57, -1,
2843 778, 88, -1, -1, -1, -1, 93, -1, 772, -1,
2844 -1, 70, -1, -1, -1, 205, -1, -1, 1067, -1,
2845 -1, 80, -1, -1, -1, -1, 4, 5, -1, 88,
2846 8, 9, -1, -1, 93, -1, 14, 73, 74, 75,
2847 76, 77, 78, 79, 80, 81, 82, 83, 84, -1,
2848 28, -1, 30, -1, -1, -1, 1105, -1, 36, 3,
2849 4, 5, 6, 7, 8, 9, -1, 45, -1, -1,
2850 14, -1, 850, -1, 852, -1, 54, -1, 56, 57,
2851 -1, -1, -1, -1, 28, 863, 30, 31, 278, 867,
2852 868, 869, 36, -1, -1, -1, -1, 41, -1, -1,
2853 -1, 45, 579, 867, 868, 869, -1, -1, -1, 873,
2854 54, -1, 56, 57, -1, -1, 60, -1, -1, 1168,
2855 -1, -1, -1, 1172, -1, -1, 70, 905, 906, 907,
2856 -1, -1, -1, 610, -1, -1, 80, 327, 328, 329,
2857 -1, 905, 906, 907, 88, -1, -1, -1, 912, 93,
2858 -1, -1, 3, 4, 5, 6, -1, -1, 1207, -1,
2859 -1, -1, -1, -1, -1, -1, -1, -1, 946, -1,
2860 -1, -1, 649, 650, 651, 652, -1, -1, -1, -1,
2861 -1, -1, 946, -1, -1, 3, 4, 5, 6, -1,
2862 41, 9, -1, -1, -1, -1, -1, 387, -1, -1,
2863 -1, -1, -1, 54, -1, 56, 57, -1, -1, 60,
2864 -1, 975, -1, -1, 691, -1, -1, -1, 695, 70,
2865 -1, -1, -1, 41, -1, 702, 703, 1276, 705, 80,
2866 -1, 1280, 996, -1, -1, -1, 54, 88, 56, 57,
2867 -1, -1, 93, 1007, -1, 435, 53, 437, -1, 439,
2868 440, 441, 70, 1302, 1303, 445, -1, -1, -1, 736,
2869 450, 738, 80, 453, -1, -1, 743, 744, 745, -1,
2870 88, 78, -1, -1, 81, 93, -1, -1, 3, 4,
2871 5, 6, -1, -1, 9, -1, -1, -1, -1, -1,
2872 -1, -1, -1, -1, -1, 102, -1, 104, 69, 70,
2873 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
2874 81, 82, 83, 84, 1078, -1, 41, -1, -1, -1,
2875 1098, 1099, 1100, 1101, 1102, -1, -1, -1, 1106, 54,
2876 -1, 56, 57, -1, 1098, 1099, 1100, 1101, 1102, -1,
2877 1104, -1, 1106, -1, -1, 70, -1, -1, -1, -1,
2878 1128, 1129, 1130, -1, -1, 80, -1, -1, -1, -1,
2879 -1, -1, -1, 88, 1128, 1129, 1130, -1, 93, 176,
2880 177, 178, -1, -1, -1, -1, -1, 567, -1, 186,
2881 3, 4, 5, 6, -1, -1, 9, -1, -1, -1,
2882 -1, 581, 582, -1, 584, 1159, -1, 874, 205, -1,
2883 1164, 591, 1166, 70, 71, 72, 73, 74, 75, 76,
2884 77, 78, 79, 80, 81, 82, 83, 84, 41, -1,
2885 610, 228, -1, -1, -1, -1, -1, -1, 905, 906,
2886 907, 54, -1, 56, 57, 242, -1, 1215, 1216, -1,
2887 1218, -1, -1, 3, 4, 5, 6, 70, -1, -1,
2888 -1, 1215, 1216, -1, 1218, -1, -1, 80, -1, 649,
2889 -1, 651, 652, -1, 654, 88, -1, -1, -1, 946,
2890 93, 3, 4, 5, 6, -1, -1, -1, -1, -1,
2891 -1, 41, -1, -1, -1, 1249, 1250, 1251, -1, -1,
2892 -1, -1, -1, -1, 54, -1, 56, 57, 975, -1,
2893 -1, 691, -1, -1, -1, -1, -1, -1, -1, 41,
2894 70, -1, 702, 703, -1, 705, -1, -1, -1, -1,
2895 80, -1, 54, -1, 56, 57, 333, 334, 88, -1,
2896 1007, -1, -1, 93, -1, -1, -1, -1, 70, 1,
2897 -1, 3, 4, 5, 6, 7, 8, 9, 80, -1,
2898 -1, -1, 14, 743, -1, -1, 88, -1, -1, -1,
2899 -1, 93, -1, -1, -1, -1, 28, -1, 30, 31,
2900 32, -1, -1, -1, 36, 37, 766, 767, 768, 41,
2901 387, -1, -1, 45, 46, -1, 48, -1, 778, -1,
2902 -1, -1, 54, 1357, 56, 57, -1, -1, 60, -1,
2903 62, -1, -1, -1, -1, -1, -1, -1, 70, -1,
2904 -1, -1, -1, -1, -1, -1, -1, -1, 80, -1,
2905 -1, 1098, 1099, 1100, 1101, 1102, 88, -1, 435, 1106,
2906 437, 93, 439, 440, 441, -1, -1, -1, 445, -1,
2907 -1, -1, -1, 450, 4, 5, 453, 109, 8, 9,
2908 -1, 1128, 1129, 1130, 14, -1, -1, 1421, 1422, 1423,
2909 850, -1, 852, -1, -1, -1, -1, -1, 28, -1,
2910 30, -1, -1, 863, -1, -1, 36, 867, 868, 869,
2911 -1, 1445, 1159, 4, -1, 45, -1, 1164, -1, 1166,
2912 -1, -1, -1, -1, 54, -1, 56, 57, -1, -1,
2913 -1, -1, -1, -1, -1, -1, -1, -1, -1, 30,
2914 31, -1, -1, -1, 35, 905, 906, 907, -1, 40,
2915 -1, -1, 1, -1, 3, 4, 5, 6, 7, 8,
2916 9, -1, -1, -1, 55, 14, -1, -1, 1215, 1216,
2917 -1, 1218, -1, -1, -1, -1, -1, -1, -1, 28,
2918 -1, 30, 31, 32, -1, -1, 946, 36, 37, -1,
2919 -1, -1, 41, -1, -1, -1, 45, 46, -1, 48,
2920 -1, -1, 1249, 1250, 1251, 54, -1, 56, 57, -1,
2921 -1, 60, -1, 62, -1, 975, -1, 594, 595, -1,
2922 -1, 70, -1, -1, -1, -1, -1, -1, -1, -1,
2923 -1, 80, -1, 610, -1, -1, -1, -1, -1, 88,
2924 -1, -1, -1, 134, 93, -1, -1, 138, -1, -1,
2925 -1, 142, 4, 5, 14, 7, 8, 9, -1, -1,
2926 109, -1, 14, 23, 24, -1, -1, -1, 159, -1,
2927 30, 31, 649, 33, 651, 652, 28, -1, 30, 31,
2928 -1, -1, -1, -1, 36, 176, 177, -1, -1, -1,
2929 -1, 1051, 1052, 45, 1054, -1, 48, -1, -1, -1,
2930 -1, -1, 54, 63, 56, 57, -1, -1, -1, -1,
2931 1357, -1, -1, -1, 691, -1, -1, -1, -1, -1,
2932 -1, -1, -1, -1, -1, 702, 703, -1, 705, -1,
2933 -1, -1, -1, -1, -1, -1, -1, -1, 1098, 1099,
2934 1100, 1101, 1102, -1, -1, -1, 1106, -1, 239, -1,
2935 -1, -1, -1, 730, -1, -1, -1, -1, -1, -1,
2936 -1, -1, 122, -1, 124, -1, 743, 127, 1128, 1129,
2937 1130, 131, 132, -1, 1421, 1422, 1423, -1, 138, -1,
2938 140, 141, 142, -1, -1, 145, 146, 147, -1, -1,
2939 3, 4, 5, 6, 7, 8, 9, -1, 1445, 1159,
2940 -1, 14, -1, -1, -1, -1, -1, -1, -1, -1,
2941 -1, -1, -1, -1, -1, 28, -1, 30, 31, -1,
2942 -1, -1, -1, 36, -1, -1, -1, -1, 41, -1,
2943 -1, -1, 45, -1, 47, -1, -1, -1, -1, -1,
2944 -1, 54, -1, 56, 57, -1, -1, 338, -1, -1,
2945 -1, -1, -1, -1, -1, 1215, 1216, 70, 1218, 219,
2946 220, 4, 5, -1, 7, 8, 9, 80, -1, 12,
2947 -1, 14, -1, -1, -1, 88, -1, 90, -1, 239,
2948 93, 94, -1, -1, -1, 28, -1, 30, 31, 1249,
2949 -1, 1251, -1, 36, -1, -1, 873, 874, 875, -1,
2950 -1, -1, 45, -1, 47, -1, -1, 398, -1, -1,
2951 401, 54, -1, 56, 57, 406, -1, -1, 278, -1,
2952 -1, -1, -1, -1, -1, -1, -1, 70, 905, 906,
2953 907, -1, -1, -1, -1, 912, -1, 80, -1, -1,
2954 -1, -1, -1, -1, 435, -1, 437, 90, -1, -1,
2955 93, 94, -1, -1, -1, -1, -1, -1, -1, 450,
2956 -1, -1, -1, -1, -1, 325, -1, 327, 328, 946,
2957 -1, -1, -1, -1, -1, -1, -1, -1, 469, -1,
2958 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2959 -1, -1, -1, -1, 354, -1, -1, 1357, 975, 68,
2960 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
2961 79, 80, 81, 82, 83, 84, -1, -1, 378, 996,
2962 1, -1, 3, 4, 5, 6, 7, 8, 9, -1,
2963 -1, -1, -1, 14, 394, -1, -1, -1, 398, -1,
2964 -1, 401, -1, -1, -1, -1, 406, 28, -1, 30,
2965 31, 32, -1, -1, -1, 36, 37, -1, -1, -1,
2966 41, 1421, 1422, 1423, 45, 46, -1, 48, -1, -1,
2967 -1, -1, -1, 54, -1, 56, 57, -1, -1, 60,
2968 -1, 62, -1, -1, -1, 1445, -1, -1, -1, 70,
2969 -1, -1, -1, -1, -1, -1, -1, -1, -1, 80,
2970 -1, 1078, -1, -1, -1, -1, 466, 88, 468, -1,
2971 -1, -1, 93, -1, -1, -1, -1, -1, -1, -1,
2972 -1, 1098, 1099, 1100, 1101, 1102, -1, 1104, 109, 1106,
2973 -1, -1, -1, 493, -1, -1, 1, -1, 3, 4,
2974 5, 6, 7, 8, 9, -1, -1, -1, -1, 14,
2975 -1, 1128, 1129, 1130, -1, -1, -1, -1, -1, 650,
2976 -1, -1, 27, 28, -1, 30, 31, 32, -1, -1,
2977 -1, 36, -1, -1, -1, -1, 41, -1, -1, 44,
2978 45, 46, 1159, 48, -1, -1, -1, -1, -1, 54,
2979 -1, 56, 57, -1, -1, 60, -1, -1, -1, -1,
2980 -1, -1, -1, -1, 695, 70, -1, 567, -1, -1,
2981 -1, 702, 703, -1, 705, 80, -1, -1, 578, 579,
2982 -1, 581, 582, 88, -1, -1, -1, -1, 93, -1,
2983 -1, -1, -1, 98, -1, -1, -1, -1, 1215, 1216,
2984 -1, 1218, -1, -1, -1, 736, -1, 738, -1, -1,
2985 -1, -1, 743, 744, 745, -1, -1, -1, -1, -1,
2986 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2987 -1, -1, 1249, -1, 1251, -1, -1, -1, -1, -1,
2988 -1, 641, 1, -1, 3, 4, 5, 6, -1, 8,
2989 9, 10, 11, 653, 13, 14, -1, -1, -1, -1,
2990 -1, -1, -1, -1, -1, -1, -1, -1, -1, 28,
2991 29, 30, 672, 32, -1, 34, 35, 36, -1, 38,
2992 39, 40, 41, 42, 43, -1, 45, -1, -1, -1,
2993 49, 50, 51, 52, 53, 54, -1, 56, 57, 58,
2994 -1, -1, 61, -1, -1, -1, -1, -1, 67, -1,
2995 -1, 70, -1, -1, -1, -1, -1, -1, -1, 78,
2996 79, 80, -1, -1, -1, -1, -1, 86, 87, 88,
2997 730, -1, -1, 733, 93, 94, -1, -1, -1, -1,
2998 1357, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2999 109, 110, -1, -1, -1, -1, 1, -1, 3, 4,
3000 5, 6, 7, 8, 9, -1, 766, 767, 768, 14,
3001 -1, -1, -1, -1, 905, 906, -1, -1, 778, -1,
3002 -1, -1, 27, 28, -1, 30, 31, 32, -1, -1,
3003 -1, 36, -1, -1, -1, -1, 41, -1, -1, 44,
3004 45, 46, -1, 48, 1421, 1422, 1423, -1, -1, 54,
3005 -1, 56, 57, -1, -1, 60, 1, -1, 3, 4,
3006 5, 6, 7, 8, 9, 70, -1, 12, 1445, 14,
3007 -1, -1, -1, -1, -1, 80, -1, -1, -1, -1,
3008 25, -1, 27, 88, 975, -1, 31, -1, 93, -1,
3009 850, 36, 852, 98, -1, -1, 41, -1, -1, -1,
3010 45, -1, 47, 863, -1, -1, -1, -1, -1, 54,
3011 -1, 56, 57, 58, 59, 60, 1007, 62, 63, 64,
3012 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
3013 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
3014 -1, 86, 87, 88, -1, 90, 91, 92, 93, 94,
3015 95, -1, 97, -1, -1, -1, -1, 102, -1, -1,
3016 -1, -1, 107, 108, 109, -1, 111, -1, 63, 64,
3017 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
3018 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
3019 -1, -1, 1, -1, 3, 4, 5, 6, 7, 8,
3020 9, 10, 11, 12, 13, 14, -1, 1098, 1099, -1,
3021 970, -1, -1, -1, -1, 1106, 111, -1, -1, 28,
3022 29, 30, 31, 32, -1, 34, 35, 36, -1, 38,
3023 39, 40, 41, 42, 43, -1, 45, 997, 47, -1,
3024 49, 50, 51, 52, 53, 54, -1, 56, 57, 58,
3025 -1, -1, 61, -1, -1, -1, -1, -1, 67, -1,
3026 -1, 70, -1, -1, -1, -1, -1, -1, 1159, 78,
3027 79, 80, -1, 1164, -1, 1166, -1, 86, 87, 88,
3028 -1, 90, -1, -1, 93, 94, -1, -1, -1, -1,
3029 -1, 1051, 1052, -1, 1054, -1, -1, -1, -1, -1,
3030 -1, 110, -1, 3, 4, 5, 6, 7, 8, 9,
3031 -1, -1, 12, -1, 14, -1, -1, -1, -1, -1,
3032 -1, -1, -1, -1, 1215, 1216, -1, 1218, 28, -1,
3033 30, 31, -1, -1, -1, -1, 36, -1, -1, -1,
3034 -1, 41, -1, -1, -1, 45, -1, 47, -1, -1,
3035 -1, -1, 1112, -1, 54, -1, 56, 57, -1, 1250,
3036 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3037 70, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3038 80, -1, -1, -1, 1144, -1, -1, -1, 88, -1,
3039 90, -1, -1, 93, 94, -1, -1, -1, -1, -1,
3040 -1, -1, 1162, 1, 1164, 3, 4, 5, 6, 7,
3041 8, 9, 10, 11, -1, 13, 14, 15, -1, 17,
3042 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
3043 28, 29, 30, 31, 32, -1, 34, 35, 36, -1,
3044 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3045 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3046 58, -1, 60, 61, -1, -1, -1, -1, -1, 67,
3047 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3048 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3049 88, -1, -1, -1, -1, 93, -1, 95, -1, -1,
3050 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3051 -1, 109, 110, 1, -1, 3, 4, 5, 6, 7,
3052 8, 9, 10, 11, -1, 13, 14, 15, -1, 17,
3053 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
3054 28, 29, 30, 31, 32, -1, 34, 35, 36, -1,
3055 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3056 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3057 58, -1, 60, 61, -1, -1, -1, -1, -1, 67,
3058 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3059 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3060 88, -1, -1, -1, -1, 93, 1, 95, 3, 4,
3061 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
3062 -1, -1, 110, -1, -1, -1, -1, -1, -1, -1,
3063 -1, -1, -1, 28, 29, 30, 31, 32, -1, 34,
3064 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3065 45, -1, 47, -1, 49, 50, 51, 52, 53, 54,
3066 -1, 56, 57, 58, -1, -1, 61, -1, -1, -1,
3067 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3068 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3069 -1, 86, 87, 88, -1, 90, -1, -1, 93, 94,
3070 1, -1, 3, 4, 5, 6, 7, 8, 9, 10,
3071 11, 12, 13, 14, -1, 110, -1, -1, -1, -1,
3072 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3073 31, 32, -1, 34, 35, 36, -1, 38, 39, 40,
3074 41, 42, 43, -1, 45, -1, -1, -1, 49, 50,
3075 51, 52, 53, 54, -1, 56, 57, -1, -1, -1,
3076 61, -1, -1, -1, -1, -1, 67, -1, -1, 70,
3077 -1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
3078 -1, -1, -1, -1, -1, 86, 87, 88, -1, -1,
3079 -1, 1, 93, 3, 4, 5, 6, 7, 8, 9,
3080 10, 11, -1, 13, 14, -1, -1, 108, -1, 110,
3081 -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
3082 30, 31, 32, -1, 34, 35, 36, -1, 38, 39,
3083 40, 41, 42, 43, -1, 45, -1, -1, -1, 49,
3084 50, 51, 52, 53, 54, -1, 56, 57, 58, -1,
3085 60, 61, -1, -1, -1, -1, -1, 67, -1, -1,
3086 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3087 80, -1, -1, -1, -1, -1, 86, 87, 88, -1,
3088 -1, -1, 1, 93, 3, 4, 5, 6, -1, 8,
3089 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3090 110, -1, -1, -1, -1, -1, -1, -1, -1, 28,
3091 29, 30, -1, 32, -1, 34, 35, 36, -1, 38,
3092 39, 40, 41, 42, 43, -1, 45, -1, -1, -1,
3093 49, 50, 51, 52, 53, 54, -1, 56, 57, 58,
3094 -1, -1, 61, -1, -1, -1, -1, -1, 67, -1,
3095 -1, 70, -1, -1, -1, -1, -1, -1, -1, 78,
3096 79, 80, -1, -1, -1, -1, -1, 86, 87, 88,
3097 -1, -1, -1, -1, 93, 94, 1, -1, 3, 4,
3098 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3099 -1, 110, -1, -1, -1, -1, -1, -1, -1, -1,
3100 -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
3101 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3102 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
3103 -1, 56, 57, 58, -1, -1, 61, -1, -1, -1,
3104 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3105 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3106 -1, 86, 87, 88, -1, -1, -1, 1, 93, 3,
3107 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3108 14, -1, -1, -1, 109, 110, -1, -1, -1, -1,
3109 -1, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3110 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3111 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3112 54, -1, 56, 57, 58, -1, -1, 61, -1, -1,
3113 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3114 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3115 -1, -1, 86, 87, 88, -1, -1, -1, 1, 93,
3116 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3117 13, 14, -1, -1, -1, 109, 110, -1, -1, -1,
3118 -1, -1, -1, -1, -1, 28, 29, 30, -1, 32,
3119 -1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
3120 43, -1, 45, -1, -1, -1, 49, 50, 51, 52,
3121 53, 54, -1, 56, 57, 58, -1, -1, 61, -1,
3122 -1, -1, -1, -1, 67, -1, -1, 70, -1, -1,
3123 -1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
3124 -1, -1, -1, 86, 87, 88, -1, -1, -1, -1,
3125 93, -1, 1, -1, 3, 4, 5, 6, 101, 8,
3126 9, 10, 11, -1, 13, 14, -1, 110, -1, -1,
3127 -1, -1, -1, -1, -1, -1, -1, -1, -1, 28,
3128 29, 30, -1, 32, -1, 34, 35, 36, -1, 38,
3129 39, 40, 41, 42, 43, -1, 45, -1, -1, -1,
3130 49, 50, 51, 52, 53, 54, -1, 56, 57, 58,
3131 -1, -1, 61, -1, -1, -1, -1, -1, 67, -1,
3132 -1, 70, -1, -1, -1, -1, -1, -1, -1, 78,
3133 79, 80, -1, -1, -1, -1, -1, 86, 87, 88,
3134 -1, -1, -1, 1, 93, 3, 4, 5, 6, -1,
3135 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3136 -1, 110, -1, -1, -1, -1, -1, -1, -1, -1,
3137 28, 29, 30, -1, 32, -1, 34, 35, 36, -1,
3138 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3139 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3140 58, -1, -1, 61, -1, -1, -1, -1, -1, 67,
3141 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3142 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3143 88, -1, -1, -1, 1, 93, 3, 4, 5, 6,
3144 -1, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3145 -1, -1, 110, -1, -1, -1, -1, -1, -1, -1,
3146 -1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
3147 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3148 -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3149 57, -1, -1, -1, 61, 62, -1, -1, -1, -1,
3150 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3151 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3152 87, 88, -1, -1, -1, 1, 93, 3, 4, 5,
3153 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3154 -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
3155 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
3156 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3157 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3158 56, 57, 58, -1, -1, 61, -1, -1, -1, -1,
3159 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3160 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3161 86, 87, 88, -1, -1, -1, 1, 93, 3, 4,
3162 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3163 -1, -1, -1, -1, 110, -1, -1, -1, -1, -1,
3164 -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
3165 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3166 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
3167 -1, 56, 57, -1, -1, 60, 61, -1, -1, -1,
3168 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3169 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3170 -1, 86, 87, 88, -1, -1, -1, 1, 93, 3,
3171 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3172 14, -1, -1, -1, -1, 110, -1, -1, -1, -1,
3173 -1, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3174 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3175 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3176 54, -1, 56, 57, -1, -1, -1, 61, -1, -1,
3177 -1, -1, -1, 67, 1, -1, 70, 4, 5, -1,
3178 -1, 8, 9, -1, 78, 79, 80, 14, -1, -1,
3179 -1, -1, 86, 87, 88, -1, -1, -1, -1, 93,
3180 -1, 28, -1, 30, -1, -1, -1, -1, -1, 36,
3181 -1, 38, 39, -1, 108, -1, 110, -1, 45, -1,
3182 47, -1, -1, -1, -1, -1, -1, 54, -1, 56,
3183 57, -1, 59, -1, -1, -1, 63, 64, 65, 66,
3184 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
3185 77, 78, 79, 80, 81, 82, 83, -1, -1, 86,
3186 87, 88, -1, -1, 91, -1, 1, 94, 3, 4,
3187 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3188 -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
3189 -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
3190 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3191 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
3192 -1, 56, 57, -1, -1, -1, 61, -1, -1, -1,
3193 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3194 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3195 -1, 86, 87, 88, -1, -1, -1, 1, 93, 3,
3196 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3197 14, -1, -1, -1, -1, 110, -1, -1, -1, -1,
3198 -1, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3199 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3200 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3201 54, -1, 56, 57, -1, -1, -1, 61, -1, -1,
3202 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3203 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3204 -1, -1, 86, 87, 88, -1, -1, -1, 1, 93,
3205 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3206 13, 14, -1, -1, -1, -1, 110, -1, -1, -1,
3207 -1, -1, -1, -1, -1, 28, 29, 30, -1, 32,
3208 -1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
3209 43, -1, 45, -1, -1, -1, 49, 50, 51, 52,
3210 53, 54, -1, 56, 57, -1, -1, -1, 61, -1,
3211 -1, -1, -1, -1, 67, -1, -1, 70, -1, -1,
3212 -1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
3213 -1, -1, -1, 86, 87, 88, 3, 4, 5, 6,
3214 93, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3215 -1, -1, -1, -1, -1, -1, -1, 110, -1, -1,
3216 -1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
3217 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3218 -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3219 57, -1, -1, -1, 61, -1, -1, -1, -1, -1,
3220 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3221 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3222 87, 88, -1, -1, -1, -1, 93, -1, -1, -1,
3223 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3224 -1, -1, -1, 110, 111, 3, 4, 5, 6, 7,
3225 8, 9, 10, 11, -1, 13, 14, 15, -1, 17,
3226 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
3227 28, 29, 30, 31, 32, -1, 34, 35, 36, -1,
3228 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3229 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3230 58, -1, 60, 61, -1, -1, -1, -1, -1, 67,
3231 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3232 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3233 88, -1, -1, -1, -1, 93, -1, 95, -1, -1,
3234 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3235 -1, 109, 110, 3, 4, 5, 6, 7, 8, 9,
3236 10, 11, -1, 13, 14, 15, -1, 17, 18, 19,
3237 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
3238 30, 31, 32, -1, 34, 35, 36, -1, 38, 39,
3239 40, 41, 42, 43, -1, 45, -1, -1, -1, 49,
3240 50, 51, 52, 53, 54, -1, 56, 57, 58, -1,
3241 60, 61, -1, -1, -1, -1, -1, 67, -1, -1,
3242 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3243 80, -1, -1, -1, -1, -1, 86, 87, 88, -1,
3244 -1, -1, -1, 93, -1, 95, -1, 3, 4, 5,
3245 6, 7, 8, 9, 10, 11, -1, 13, 14, 15,
3246 110, 17, 18, 19, 20, 21, 22, 23, 24, 25,
3247 26, 27, 28, 29, 30, 31, 32, -1, 34, 35,
3248 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3249 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3250 56, 57, 58, -1, 60, 61, -1, -1, -1, -1,
3251 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3252 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3253 86, 87, 88, -1, -1, -1, -1, 93, -1, 95,
3254 -1, 3, 4, 5, 6, 7, 8, 9, 10, 11,
3255 -1, 13, 14, 15, 110, 17, 18, 19, 20, 21,
3256 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
3257 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3258 42, 43, -1, 45, -1, -1, -1, 49, 50, 51,
3259 52, 53, 54, -1, 56, 57, -1, -1, 60, 61,
3260 -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
3261 -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
3262 -1, -1, -1, -1, 86, 87, 88, -1, -1, -1,
3263 -1, 93, -1, 95, 3, 4, 5, 6, 7, 8,
3264 9, 10, 11, 12, 13, 14, -1, -1, 110, -1,
3265 -1, -1, -1, -1, -1, -1, -1, -1, -1, 28,
3266 29, 30, 31, 32, -1, 34, 35, 36, -1, 38,
3267 39, 40, 41, 42, 43, -1, 45, -1, 47, -1,
3268 49, 50, 51, 52, 53, 54, -1, 56, 57, -1,
3269 -1, -1, 61, -1, -1, -1, -1, -1, 67, -1,
3270 -1, 70, -1, -1, -1, -1, -1, -1, -1, 78,
3271 79, 80, -1, -1, -1, -1, -1, 86, 87, 88,
3272 -1, 90, -1, -1, 93, 94, 3, 4, 5, 6,
3273 7, 8, 9, 10, 11, 12, 13, 14, -1, -1,
3274 -1, 110, -1, -1, -1, -1, -1, -1, -1, -1,
3275 -1, 28, 29, 30, 31, 32, -1, 34, 35, 36,
3276 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3277 47, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3278 57, -1, -1, -1, 61, -1, -1, -1, -1, -1,
3279 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3280 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3281 87, 88, -1, 90, -1, -1, 93, 94, 3, 4,
3282 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3283 -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
3284 -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
3285 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3286 45, -1, 47, -1, 49, 50, 51, 52, 53, 54,
3287 -1, 56, 57, -1, -1, -1, -1, -1, -1, -1,
3288 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3289 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3290 -1, 86, 87, 88, -1, 90, -1, -1, 93, 94,
3291 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3292 13, 14, -1, -1, -1, 110, -1, -1, -1, -1,
3293 -1, -1, -1, -1, -1, 28, 29, 30, -1, 32,
3294 -1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
3295 43, -1, 45, -1, 47, -1, 49, 50, 51, 52,
3296 53, 54, -1, 56, 57, -1, -1, -1, -1, -1,
3297 -1, -1, -1, -1, 67, -1, -1, 70, -1, -1,
3298 -1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
3299 -1, -1, -1, 86, 87, 88, -1, 90, -1, -1,
3300 93, 94, 3, 4, 5, 6, -1, 8, 9, 10,
3301 11, -1, 13, 14, -1, -1, -1, 110, -1, -1,
3302 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3303 -1, 32, -1, 34, 35, 36, -1, 38, 39, 40,
3304 41, 42, 43, -1, 45, -1, -1, -1, 49, 50,
3305 51, 52, 53, 54, -1, 56, 57, -1, -1, 60,
3306 61, -1, -1, -1, -1, -1, 67, -1, -1, 70,
3307 -1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
3308 -1, -1, -1, -1, -1, 86, 87, 88, -1, -1,
3309 -1, -1, 93, 3, 4, 5, 6, 7, 8, 9,
3310 10, 11, -1, 13, 14, -1, -1, -1, -1, 110,
3311 -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
3312 30, 31, 32, -1, 34, 35, 36, -1, 38, 39,
3313 40, 41, 42, 43, -1, 45, -1, -1, -1, 49,
3314 50, 51, 52, 53, 54, -1, 56, 57, -1, -1,
3315 -1, -1, -1, -1, -1, -1, -1, 67, -1, -1,
3316 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3317 80, -1, -1, -1, -1, -1, 86, 87, 88, 3,
3318 4, 5, 6, 93, 8, 9, 10, 11, -1, 13,
3319 14, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3320 110, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3321 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3322 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3323 54, -1, 56, 57, -1, -1, -1, 61, -1, -1,
3324 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3325 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3326 -1, -1, 86, 87, 88, 3, 4, 5, 6, 93,
3327 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3328 -1, -1, -1, -1, -1, -1, 110, -1, -1, -1,
3329 28, 29, 30, -1, 32, -1, 34, 35, 36, -1,
3330 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3331 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3332 -1, -1, -1, 61, -1, -1, -1, -1, -1, 67,
3333 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3334 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3335 88, 3, 4, 5, 6, 93, 8, 9, 10, 11,
3336 -1, 13, 14, -1, -1, -1, -1, -1, -1, -1,
3337 -1, -1, 110, -1, -1, -1, 28, 29, 30, -1,
3338 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3339 42, 43, -1, 45, -1, -1, -1, 49, 50, 51,
3340 52, 53, 54, -1, 56, 57, 58, -1, -1, -1,
3341 -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
3342 -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
3343 -1, -1, -1, -1, 86, 87, 88, 3, 4, 5,
3344 6, 93, 8, 9, 10, 11, -1, 13, 14, -1,
3345 -1, -1, -1, -1, -1, -1, -1, -1, 110, -1,
3346 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
3347 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3348 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3349 56, 57, -1, -1, -1, -1, -1, -1, -1, -1,
3350 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3351 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3352 86, 87, 88, -1, -1, -1, -1, 93, 94, 3,
3353 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3354 14, -1, -1, -1, 110, -1, -1, -1, -1, -1,
3355 -1, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3356 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3357 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3358 54, -1, 56, 57, -1, -1, -1, 61, -1, -1,
3359 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3360 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3361 -1, -1, 86, 87, 88, 3, 4, 5, 6, 93,
3362 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3363 -1, -1, -1, -1, -1, -1, 110, -1, -1, -1,
3364 28, 29, 30, -1, 32, -1, 34, 35, 36, -1,
3365 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3366 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3367 -1, -1, -1, 61, -1, -1, -1, -1, -1, 67,
3368 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3369 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3370 88, 3, 4, 5, 6, 93, 8, 9, 10, 11,
3371 -1, 13, 14, -1, -1, -1, -1, -1, -1, -1,
3372 -1, -1, 110, -1, -1, -1, 28, 29, 30, -1,
3373 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3374 42, 43, -1, 45, -1, -1, -1, 49, 50, 51,
3375 52, 53, 54, -1, 56, 57, -1, -1, -1, 61,
3376 -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
3377 -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
3378 -1, -1, -1, -1, 86, 87, 88, 3, 4, 5,
3379 6, 93, 8, 9, 10, 11, -1, 13, 14, -1,
3380 -1, -1, -1, -1, -1, -1, -1, -1, 110, -1,
3381 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
3382 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3383 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3384 56, 57, -1, -1, -1, -1, -1, -1, -1, -1,
3385 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3386 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3387 86, 87, 88, 3, 4, 5, 6, 93, 8, 9,
3388 10, 11, -1, 13, 14, -1, -1, -1, -1, -1,
3389 -1, -1, -1, -1, 110, -1, -1, -1, 28, 29,
3390 30, -1, 32, -1, 34, 35, 36, -1, 38, 39,
3391 40, 41, 42, 43, -1, 45, -1, -1, -1, 49,
3392 50, 51, 52, 53, 54, -1, 56, 57, -1, -1,
3393 -1, -1, -1, -1, -1, -1, -1, 67, -1, -1,
3394 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3395 80, -1, -1, -1, -1, -1, 86, 87, 88, 3,
3396 4, 5, 6, 93, 8, 9, 10, 11, -1, 13,
3397 14, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3398 110, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3399 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3400 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3401 54, -1, 56, 57, -1, -1, -1, -1, -1, -1,
3402 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3403 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3404 -1, -1, 86, 87, 88, 3, 4, 5, 6, 93,
3405 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3406 -1, -1, -1, -1, -1, -1, 110, -1, -1, -1,
3407 28, 29, 30, -1, 32, -1, 34, 35, 36, -1,
3408 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3409 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3410 -1, -1, -1, -1, -1, -1, -1, -1, -1, 67,
3411 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3412 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3413 88, 3, 4, 5, 6, 93, 8, 9, 10, 11,
3414 -1, 13, 14, -1, -1, -1, -1, -1, -1, -1,
3415 -1, -1, 110, -1, -1, -1, 28, 29, 30, -1,
3416 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3417 42, 43, -1, 45, -1, -1, -1, 49, 50, 51,
3418 52, 53, 54, -1, 56, 57, -1, -1, -1, -1,
3419 -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
3420 -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
3421 -1, -1, -1, -1, 86, 87, 88, -1, -1, -1,
3422 -1, 93, 3, 4, 5, 6, 7, 8, 9, -1,
3423 -1, 12, -1, 14, -1, -1, -1, -1, 110, -1,
3424 -1, -1, -1, -1, -1, -1, -1, 28, -1, 30,
3425 31, -1, -1, -1, -1, 36, -1, -1, -1, -1,
3426 41, -1, -1, -1, 45, -1, -1, -1, -1, -1,
3427 -1, -1, -1, 54, -1, 56, 57, 3, 4, 5,
3428 6, 7, 8, 9, -1, -1, -1, -1, 14, 70,
3429 -1, -1, -1, -1, -1, -1, -1, -1, -1, 80,
3430 -1, -1, 28, -1, 30, 31, -1, 88, -1, -1,
3431 36, -1, 93, -1, -1, 41, -1, -1, -1, 45,
3432 -1, -1, -1, -1, -1, -1, -1, -1, 54, -1,
3433 56, 57, -1, -1, -1, -1, 62, -1, -1, -1,
3434 -1, -1, -1, -1, 70, 3, 4, 5, 6, 7,
3435 8, 9, -1, -1, 80, -1, 14, -1, -1, -1,
3436 -1, -1, 88, -1, -1, -1, -1, 93, -1, -1,
3437 28, -1, 30, 31, -1, -1, -1, -1, 36, -1,
3438 -1, -1, -1, 41, -1, -1, -1, 45, -1, -1,
3439 -1, -1, -1, -1, -1, -1, 54, -1, 56, 57,
3440 -1, -1, 60, -1, 3, 4, 5, 6, 7, 8,
3441 9, -1, 70, -1, -1, 14, -1, -1, -1, -1,
3442 -1, -1, 80, -1, -1, -1, -1, -1, -1, 28,
3443 88, 30, 31, -1, -1, 93, -1, 36, -1, -1,
3444 -1, -1, 41, -1, -1, -1, 45, -1, -1, -1,
3445 -1, -1, -1, -1, -1, 54, -1, 56, 57, 3,
3446 4, 5, 6, 7, 8, 9, -1, -1, -1, -1,
3447 14, 70, -1, -1, -1, -1, -1, -1, -1, -1,
3448 -1, 80, -1, -1, 28, -1, 30, 31, -1, 88,
3449 -1, -1, 36, -1, 93, -1, -1, 41, 4, 5,
3450 -1, 45, 8, 9, -1, -1, -1, -1, 14, -1,
3451 54, -1, 56, 57, 3, 4, 5, 6, 7, 8,
3452 9, -1, 28, -1, 30, 14, 70, -1, -1, -1,
3453 36, -1, -1, -1, -1, -1, 80, -1, -1, 45,
3454 -1, 47, 31, -1, 88, -1, -1, 36, 54, 93,
3455 56, 57, 41, -1, -1, 12, 45, -1, 47, -1,
3456 -1, -1, -1, -1, 70, 54, -1, 56, 57, -1,
3457 -1, -1, -1, -1, 80, -1, -1, -1, -1, -1,
3458 -1, 70, -1, -1, 90, -1, -1, 93, 94, -1,
3459 -1, 80, -1, -1, -1, -1, 31, -1, -1, 88,
3460 -1, -1, -1, -1, 93, 62, 63, 64, 65, 66,
3461 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
3462 77, 78, 79, 80, 81, 82, 83, 84, 63, 64,
3463 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
3464 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
3465 4, 5, -1, 7, 8, 9, -1, -1, 12, -1,
3466 14, -1, -1, 4, 5, -1, 7, 8, 9, -1,
3467 -1, 12, -1, 14, 28, -1, 30, 31, -1, -1,
3468 -1, -1, 36, -1, -1, -1, -1, 28, -1, 30,
3469 31, 45, -1, -1, -1, 36, -1, -1, -1, -1,
3470 54, -1, 56, 57, 45, -1, -1, 4, 5, -1,
3471 7, 8, 9, 54, -1, 56, 57, 14, -1, -1,
3472 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3473 -1, 28, -1, 30, 31, -1, -1, -1, -1, 36,
3474 -1, -1, -1, -1, -1, -1, -1, -1, 45, -1,
3475 -1, -1, -1, -1, -1, -1, -1, 54, -1, 56,
3476 57, 63, 64, 65, 66, 67, 68, 69, 70, 71,
3477 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
3478 82, 83, 84, -1, -1, -1, -1, -1, -1, -1,
3479 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3480 -1, -1, 59, -1, -1, 107, 63, 64, 65, 66,
3481 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
3482 77, 78, 79, 80, 81, 82, 83, 84, 62, 63,
3483 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
3484 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
3485 84, 63, 64, 65, 66, 67, 68, 69, 70, 71,
3486 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
3487 82, 83, 84, 63, 64, 65, 66, 67, 68, 69,
3488 70, 71, 72, 73, 74, -1, 76, 77, 78, 79,
3491 /* -*-C-*- Note some compilers choke on comments on `#line' lines. */
3492 #line 3 "/usr/lib/bison.simple"
3494 /* Skeleton output parser for bison,
3495 Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
3497 This program is free software; you can redistribute it and/or modify
3498 it under the terms of the GNU General Public License as published by
3499 the Free Software Foundation; either version 2, or (at your option)
3502 This program is distributed in the hope that it will be useful,
3503 but WITHOUT ANY WARRANTY; without even the implied warranty of
3504 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3505 GNU General Public License for more details.
3507 You should have received a copy of the GNU General Public License
3508 along with this program; if not, write to the Free Software
3509 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
3511 /* As a special exception, when this file is copied by Bison into a
3512 Bison output file, you may use that output file without restriction.
3513 This special exception was added by the Free Software Foundation
3514 in version 1.24 of Bison. */
3518 #define alloca __builtin_alloca
3519 #else /* not GNU C. */
3520 #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi)
3522 #else /* not sparc */
3523 #if defined (MSDOS) && !defined (__TURBOC__)
3525 #else /* not MSDOS, or __TURBOC__ */
3529 #else /* not MSDOS, __TURBOC__, or _AIX */
3533 void *alloca (unsigned int);
3535 #else /* not __cplusplus */
3537 #endif /* not __cplusplus */
3539 #endif /* not _AIX */
3540 #endif /* not MSDOS, or __TURBOC__ */
3541 #endif /* not sparc. */
3542 #endif /* not GNU C. */
3543 #endif /* alloca not defined. */
3545 /* This is the parser code that is written into each bison parser
3546 when the %semantic_parser declaration is not specified in the grammar.
3547 It was written by Richard Stallman by simplifying the hairy parser
3548 used when %semantic_parser is specified. */
3550 /* Note: there must be only one dollar sign in this file.
3551 It is replaced by the list of actions, each action
3552 as one case of the switch. */
3554 #define yyerrok (yyerrstatus = 0)
3555 #define yyclearin (yychar = YYEMPTY)
3558 #define YYACCEPT return(0)
3559 #define YYABORT return(1)
3560 #define YYERROR goto yyerrlab1
3561 /* Like YYERROR except do call yyerror.
3562 This remains here temporarily to ease the
3563 transition to the new meaning of YYERROR, for GCC.
3564 Once GCC version 2 has supplanted version 1, this can go. */
3565 #define YYFAIL goto yyerrlab
3566 #define YYRECOVERING() (!!yyerrstatus)
3567 #define YYBACKUP(token, value) \
3569 if (yychar == YYEMPTY && yylen == 1) \
3570 { yychar = (token), yylval = (value); \
3571 yychar1 = YYTRANSLATE (yychar); \
3576 { yyerror ("syntax error: cannot back up"); YYERROR; } \
3580 #define YYERRCODE 256
3583 #define YYLEX yylex()
3589 #define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM)
3591 #define YYLEX yylex(&yylval, &yylloc)
3593 #else /* not YYLSP_NEEDED */
3595 #define YYLEX yylex(&yylval, YYLEX_PARAM)
3597 #define YYLEX yylex(&yylval)
3599 #endif /* not YYLSP_NEEDED */
3602 /* If nonreentrant, generate the variables here */
3606 int yychar
; /* the lookahead symbol */
3607 YYSTYPE yylval
; /* the semantic value of the */
3608 /* lookahead symbol */
3611 YYLTYPE yylloc
; /* location data for the lookahead */
3615 int yynerrs
; /* number of parse errors so far */
3616 #endif /* not YYPURE */
3619 int yydebug
; /* nonzero means print parse trace */
3620 /* Since this is uninitialized, it does not stop multiple parsers
3624 /* YYINITDEPTH indicates the initial size of the parser's stacks */
3627 #define YYINITDEPTH 200
3630 /* YYMAXDEPTH is the maximum size the stacks can grow to
3631 (effective only if the built-in stack extension method is used). */
3638 #define YYMAXDEPTH 10000
3641 /* Prevent warning if -Wstrict-prototypes. */
3646 #if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
3647 #define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT)
3648 #else /* not GNU C or C++ */
3651 /* This is the most reliable way to avoid incompatibilities
3652 in available built-in functions on various systems. */
3654 __yy_memcpy (to
, from
, count
)
3659 register char *f
= from
;
3660 register char *t
= to
;
3661 register int i
= count
;
3667 #else /* __cplusplus */
3669 /* This is the most reliable way to avoid incompatibilities
3670 in available built-in functions on various systems. */
3672 __yy_memcpy (char *to
, char *from
, int count
)
3674 register char *f
= from
;
3675 register char *t
= to
;
3676 register int i
= count
;
3685 #line 196 "/usr/lib/bison.simple"
3687 /* The user can define YYPARSE_PARAM as the name of an argument to be passed
3688 into yyparse. The argument should have type void *.
3689 It should actually point to an object.
3690 Grammar actions can access the variable by casting it
3691 to the proper pointer type. */
3693 #ifdef YYPARSE_PARAM
3695 #define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
3696 #define YYPARSE_PARAM_DECL
3697 #else /* not __cplusplus */
3698 #define YYPARSE_PARAM_ARG YYPARSE_PARAM
3699 #define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
3700 #endif /* not __cplusplus */
3701 #else /* not YYPARSE_PARAM */
3702 #define YYPARSE_PARAM_ARG
3703 #define YYPARSE_PARAM_DECL
3704 #endif /* not YYPARSE_PARAM */
3707 yyparse(YYPARSE_PARAM_ARG
)
3710 register int yystate
;
3712 register short *yyssp
;
3713 register YYSTYPE
*yyvsp
;
3714 int yyerrstatus
; /* number of tokens to shift before error messages enabled */
3715 int yychar1
= 0; /* lookahead token as an internal (translated) token number */
3717 short yyssa
[YYINITDEPTH
]; /* the state stack */
3718 YYSTYPE yyvsa
[YYINITDEPTH
]; /* the semantic value stack */
3720 short *yyss
= yyssa
; /* refer to the stacks thru separate pointers */
3721 YYSTYPE
*yyvs
= yyvsa
; /* to allow yyoverflow to reallocate them elsewhere */
3724 YYLTYPE yylsa
[YYINITDEPTH
]; /* the location stack */
3725 YYLTYPE
*yyls
= yylsa
;
3728 #define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
3730 #define YYPOPSTACK (yyvsp--, yyssp--)
3733 int yystacksize
= YYINITDEPTH
;
3744 YYSTYPE yyval
; /* the variable used to return */
3745 /* semantic values from the action */
3752 fprintf(stderr
, "Starting parse\n");
3758 yychar
= YYEMPTY
; /* Cause a token to be read. */
3760 /* Initialize stack pointers.
3761 Waste one element of value and location stack
3762 so that they stay on the same level as the state stack.
3763 The wasted elements are never initialized. */
3771 /* Push a new state, which is found in yystate . */
3772 /* In all cases, when you get here, the value and location stacks
3773 have just been pushed. so pushing a state here evens the stacks. */
3778 if (yyssp
>= yyss
+ yystacksize
- 1)
3780 /* Give user a chance to reallocate the stack */
3781 /* Use copies of these so that the &'s don't force the real ones into memory. */
3782 YYSTYPE
*yyvs1
= yyvs
;
3783 short *yyss1
= yyss
;
3785 YYLTYPE
*yyls1
= yyls
;
3788 /* Get the current used size of the three stacks, in elements. */
3789 int size
= yyssp
- yyss
+ 1;
3792 /* Each stack pointer address is followed by the size of
3793 the data in use in that stack, in bytes. */
3795 /* This used to be a conditional around just the two extra args,
3796 but that might be undefined if yyoverflow is a macro. */
3797 yyoverflow("parser stack overflow",
3798 &yyss1
, size
* sizeof (*yyssp
),
3799 &yyvs1
, size
* sizeof (*yyvsp
),
3800 &yyls1
, size
* sizeof (*yylsp
),
3803 yyoverflow("parser stack overflow",
3804 &yyss1
, size
* sizeof (*yyssp
),
3805 &yyvs1
, size
* sizeof (*yyvsp
),
3809 yyss
= yyss1
; yyvs
= yyvs1
;
3813 #else /* no yyoverflow */
3814 /* Extend the stack our own way. */
3815 if (yystacksize
>= YYMAXDEPTH
)
3817 yyerror("parser stack overflow");
3821 if (yystacksize
> YYMAXDEPTH
)
3822 yystacksize
= YYMAXDEPTH
;
3823 yyss
= (short *) alloca (yystacksize
* sizeof (*yyssp
));
3824 __yy_memcpy ((char *)yyss
, (char *)yyss1
, size
* sizeof (*yyssp
));
3825 yyvs
= (YYSTYPE
*) alloca (yystacksize
* sizeof (*yyvsp
));
3826 __yy_memcpy ((char *)yyvs
, (char *)yyvs1
, size
* sizeof (*yyvsp
));
3828 yyls
= (YYLTYPE
*) alloca (yystacksize
* sizeof (*yylsp
));
3829 __yy_memcpy ((char *)yyls
, (char *)yyls1
, size
* sizeof (*yylsp
));
3831 #endif /* no yyoverflow */
3833 yyssp
= yyss
+ size
- 1;
3834 yyvsp
= yyvs
+ size
- 1;
3836 yylsp
= yyls
+ size
- 1;
3841 fprintf(stderr
, "Stack size increased to %d\n", yystacksize
);
3844 if (yyssp
>= yyss
+ yystacksize
- 1)
3850 fprintf(stderr
, "Entering state %d\n", yystate
);
3856 /* Do appropriate processing given the current state. */
3857 /* Read a lookahead token if we need one and don't already have one. */
3860 /* First try to decide what to do without reference to lookahead token. */
3862 yyn
= yypact
[yystate
];
3866 /* Not known => get a lookahead token if don't already have one. */
3868 /* yychar is either YYEMPTY or YYEOF
3869 or a valid token in external form. */
3871 if (yychar
== YYEMPTY
)
3875 fprintf(stderr
, "Reading a token: ");
3880 /* Convert token to internal form (in yychar1) for indexing tables with */
3882 if (yychar
<= 0) /* This means end of input. */
3885 yychar
= YYEOF
; /* Don't call YYLEX any more */
3889 fprintf(stderr
, "Now at end of input.\n");
3894 yychar1
= YYTRANSLATE(yychar
);
3899 fprintf (stderr
, "Next token is %d (%s", yychar
, yytname
[yychar1
]);
3900 /* Give the individual parser a way to print the precise meaning
3901 of a token, for further debugging info. */
3903 YYPRINT (stderr
, yychar
, yylval
);
3905 fprintf (stderr
, ")\n");
3911 if (yyn
< 0 || yyn
> YYLAST
|| yycheck
[yyn
] != yychar1
)
3916 /* yyn is what to do for this token type in this state.
3917 Negative => reduce, -yyn is rule number.
3918 Positive => shift, yyn is new state.
3919 New state is final state => don't bother to shift,
3920 just return success.
3921 0, or most negative number => error. */
3936 /* Shift the lookahead token. */
3940 fprintf(stderr
, "Shifting token %d (%s), ", yychar
, yytname
[yychar1
]);
3943 /* Discard the token being shifted unless it is eof. */
3944 if (yychar
!= YYEOF
)
3952 /* count tokens shifted since error; after three, turn off error status. */
3953 if (yyerrstatus
) yyerrstatus
--;
3958 /* Do the default action for the current state. */
3961 yyn
= yydefact
[yystate
];
3965 /* Do a reduction. yyn is the number of a rule to reduce with. */
3969 yyval
= yyvsp
[1-yylen
]; /* implement default value of the action */
3976 fprintf (stderr
, "Reducing via rule %d (line %d), ",
3979 /* Print the symbols being reduced, and their result. */
3980 for (i
= yyprhs
[yyn
]; yyrhs
[i
] > 0; i
++)
3981 fprintf (stderr
, "%s ", yytname
[yyrhs
[i
]]);
3982 fprintf (stderr
, " -> %s\n", yytname
[yyr1
[yyn
]]);
3991 { finish_translation_unit (); ;
3995 { yyval
.ttype
= NULL_TREE
; ;
3999 { yyval
.ttype
= NULL_TREE
; ;
4003 { yyval
.ttype
= NULL_TREE
; ;
4007 { have_extern_spec
= 1;
4008 used_extern_spec
= 0;
4009 yyval
.ttype
= NULL_TREE
; ;
4013 { have_extern_spec
= 0; ;
4017 { yyval
.itype
= pedantic
;
4022 { if (pending_lang_change
) do_pending_lang_change(); ;
4026 { if (! toplevel_bindings_p () && ! pseudo_global_level_p())
4027 pop_everything (); ;
4031 { if (pending_inlines
) do_pending_inlines (); ;
4035 { if (pending_inlines
) do_pending_inlines (); ;
4039 { if (pending_inlines
) do_pending_inlines (); ;
4043 { if (TREE_CHAIN (yyvsp
[-2].ttype
)) yyvsp
[-2].ttype
= combine_strings (yyvsp
[-2].ttype
);
4044 assemble_asm (yyvsp
[-2].ttype
); ;
4048 { pop_lang_context (); ;
4052 { if (pending_inlines
) do_pending_inlines ();
4053 pop_lang_context (); ;
4057 { if (pending_inlines
) do_pending_inlines ();
4058 pop_lang_context (); ;
4062 { push_namespace (yyvsp
[-1].ttype
); ;
4066 { pop_namespace (); ;
4070 { push_namespace (NULL_TREE
); ;
4074 { pop_namespace (); ;
4078 { do_namespace_alias (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
4082 { do_toplevel_using_decl (yyvsp
[-1].ttype
); ;
4087 /* If no declaration was found, the using-directive is
4088 invalid. Since that was not reported, we need the
4089 identifier for the error message. */
4090 if (TREE_CODE (yyvsp
[-1].ttype
) == IDENTIFIER_NODE
&& lastiddecl
)
4091 yyvsp
[-1].ttype
= lastiddecl
;
4092 do_using_directive (yyvsp
[-1].ttype
);
4097 { pedantic
= yyvsp
[-1].itype
; ;
4101 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4105 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4109 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4113 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4117 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4121 { push_lang_context (yyvsp
[0].ttype
); ;
4125 { if (current_lang_name
!= yyvsp
[0].ttype
)
4126 cp_error ("use of linkage spec `%D' is different from previous spec `%D'", yyvsp
[0].ttype
, current_lang_name
);
4127 pop_lang_context (); push_lang_context (yyvsp
[0].ttype
); ;
4131 { begin_template_parm_list (); ;
4135 { yyval
.ttype
= end_template_parm_list (yyvsp
[-1].ttype
); ;
4139 { begin_specialization();
4140 yyval
.ttype
= NULL_TREE
; ;
4144 { yyval
.ttype
= process_template_parm (NULL_TREE
, yyvsp
[0].ttype
); ;
4148 { yyval
.ttype
= process_template_parm (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
4152 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4156 { yyval
.ttype
= NULL_TREE
; ;
4160 { yyval
.ttype
= finish_template_type_parm (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4164 { yyval
.ttype
= finish_template_type_parm (class_type_node
, yyvsp
[0].ttype
); ;
4168 { yyval
.ttype
= finish_template_template_parm (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4172 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ttype
); ;
4176 { yyval
.ttype
= build_tree_list (groktypename (yyvsp
[0].ftype
.t
), yyvsp
[-2].ttype
); ;
4180 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ftype
.t
); ;
4184 { yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-2].ftype
.t
); ;
4188 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ttype
); ;
4193 if (TREE_CODE (yyvsp
[0].ttype
) != TEMPLATE_DECL
4194 && TREE_CODE (yyvsp
[0].ttype
) != TEMPLATE_TEMPLATE_PARM
4195 && TREE_CODE (yyvsp
[0].ttype
) != TYPE_DECL
)
4197 error ("invalid default template argument");
4198 yyvsp
[0].ttype
= error_mark_node
;
4200 yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-2].ttype
);
4206 if (yyvsp
[-1].ttype
)
4207 end_template_decl ();
4209 end_specialization ();
4215 if (yyvsp
[-1].ttype
)
4216 end_template_decl ();
4218 end_specialization ();
4228 note_list_got_semicolon (yyvsp
[-2].ftype
.t
);
4233 { pedwarn ("empty declaration"); ;
4239 split_specs_attrs (yyvsp
[-1].ftype
.t
, &t
, &attrs
);
4241 note_list_got_semicolon (yyvsp
[-1].ftype
.t
);
4246 { yyval
.itype
= 0; ;
4250 { yyval
.itype
= 1; ;
4254 { finish_function (lineno
, (int)yyvsp
[-1].itype
, 0); ;
4266 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
4270 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4274 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4275 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4280 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
4284 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4288 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4289 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4294 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
4298 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4302 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4303 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4308 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
4312 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4316 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4317 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4322 { if (!begin_function_definition (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
))
4327 { if (!begin_function_definition (yyvsp
[-1].ttype
, yyvsp
[0].ttype
))
4332 { if (!begin_function_definition (NULL_TREE
, yyvsp
[0].ttype
))
4337 { if (!begin_function_definition (yyvsp
[-1].ttype
, yyvsp
[0].ttype
))
4342 { if (!begin_function_definition (NULL_TREE
, yyvsp
[0].ttype
))
4347 { yyval
.ttype
= make_call_declarator (yyvsp
[-5].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4351 { yyval
.ttype
= make_call_declarator (yyvsp
[-3].ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4355 { yyval
.ttype
= make_call_declarator (yyvsp
[-5].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4359 { yyval
.ttype
= make_call_declarator (yyvsp
[-3].ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4363 { tree specs
= strip_attrs (yyvsp
[-1].ttype
);
4364 yyval
.ttype
= start_method (specs
, yyvsp
[0].ttype
);
4368 if (yychar
== YYEMPTY
)
4370 reinit_parse_for_method (yychar
, yyval
.ttype
); ;
4374 { yyval
.ttype
= start_method (NULL_TREE
, yyvsp
[0].ttype
); goto rest_of_mdef
; ;
4378 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
4379 yyval
.ttype
= start_method (specs
, yyvsp
[0].ttype
); goto rest_of_mdef
; ;
4383 { tree specs
= strip_attrs (yyvsp
[-1].ttype
);
4384 yyval
.ttype
= start_method (specs
, yyvsp
[0].ttype
); goto rest_of_mdef
; ;
4388 { yyval
.ttype
= start_method (NULL_TREE
, yyval
.ttype
); goto rest_of_mdef
; ;
4392 { tree specs
= strip_attrs (yyvsp
[-1].ttype
);
4393 yyval
.ttype
= start_method (specs
, yyvsp
[0].ttype
); goto rest_of_mdef
; ;
4397 { yyval
.ttype
= start_method (NULL_TREE
, yyval
.ttype
); goto rest_of_mdef
; ;
4402 if (! current_function_parms_stored
)
4403 store_parm_decls ();
4404 yyval
.ttype
= yyvsp
[0].ttype
;
4409 { store_return_init (yyval
.ttype
, yyvsp
[0].ttype
); ;
4413 { store_return_init (yyval
.ttype
, yyvsp
[-1].ttype
); ;
4417 { store_return_init (yyval
.ttype
, NULL_TREE
); ;
4422 if (yyvsp
[0].itype
== 0)
4423 error ("no base initializers given following ':'");
4425 /* Always keep the BLOCK node associated with the outermost
4426 pair of curley braces of a function. These are needed
4427 for correct operation of dwarfout.c. */
4434 if (! current_function_parms_stored
)
4435 store_parm_decls ();
4437 if (DECL_CONSTRUCTOR_P (current_function_decl
))
4439 /* Make a contour for the initializer list. */
4442 expand_start_bindings (0);
4444 else if (current_class_type
== NULL_TREE
)
4445 error ("base initializers not allowed for non-member functions");
4446 else if (! DECL_CONSTRUCTOR_P (current_function_decl
))
4447 error ("only constructors take base initializers");
4452 { yyval
.itype
= 0; ;
4456 { yyval
.itype
= 1; ;
4461 if (current_class_name
)
4462 pedwarn ("anachronistic old style base class initializer");
4463 expand_member_init (current_class_ref
, NULL_TREE
, yyvsp
[-1].ttype
);
4469 if (current_class_name
)
4470 pedwarn ("anachronistic old style base class initializer");
4471 expand_member_init (current_class_ref
, NULL_TREE
, void_type_node
);
4476 { expand_member_init (current_class_ref
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
4480 { expand_member_init (current_class_ref
, yyvsp
[-1].ttype
, void_type_node
); ;
4484 { expand_member_init (current_class_ref
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
4488 { expand_member_init (current_class_ref
, yyvsp
[-1].ttype
, void_type_node
); ;
4492 { expand_member_init (current_class_ref
, TYPE_MAIN_DECL (yyvsp
[-3].ttype
),
4497 { expand_member_init (current_class_ref
, TYPE_MAIN_DECL (yyvsp
[-1].ttype
),
4502 { do_type_instantiation (yyvsp
[-1].ftype
.t
, NULL_TREE
);
4503 yyungetc (';', 1); ;
4507 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
4508 do_decl_instantiation (specs
, yyvsp
[0].ttype
, NULL_TREE
); ;
4512 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, NULL_TREE
); ;
4516 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, NULL_TREE
); ;
4520 { do_type_instantiation (yyvsp
[-1].ftype
.t
, yyvsp
[-4].ttype
);
4521 yyungetc (';', 1); ;
4525 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
4526 do_decl_instantiation (specs
, yyvsp
[0].ttype
, yyvsp
[-4].ttype
); ;
4530 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-3].ttype
); ;
4534 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-3].ttype
); ;
4538 { begin_explicit_instantiation(); ;
4542 { end_explicit_instantiation(); ;
4547 yyval
.ttype
= lookup_template_class (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, NULL_TREE
, NULL_TREE
);
4548 if (yyval
.ttype
!= error_mark_node
)
4549 yyval
.ttype
= TYPE_STUB_DECL (yyval
.ttype
);
4555 yyval
.ttype
= lookup_template_class (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, NULL_TREE
, NULL_TREE
);
4556 if (yyval
.ttype
!= error_mark_node
)
4557 yyval
.ttype
= TYPE_STUB_DECL (yyval
.ttype
);
4563 yyval
.ttype
= lookup_template_class (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, NULL_TREE
, NULL_TREE
);
4564 if (yyval
.ttype
!= error_mark_node
)
4565 yyval
.ttype
= TYPE_STUB_DECL (yyval
.ttype
);
4571 /* Handle `Class<Class<Type>>' without space in the `>>' */
4572 pedwarn ("`>>' should be `> >' in template class name");
4578 { yyval
.ttype
= NULL_TREE
; ;
4582 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyval
.ttype
); ;
4586 { yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
4590 { yyval
.ttype
= groktypename (yyvsp
[0].ftype
.t
); ;
4594 { yyval
.code
= NEGATE_EXPR
; ;
4598 { yyval
.code
= CONVERT_EXPR
; ;
4602 { yyval
.code
= PREINCREMENT_EXPR
; ;
4606 { yyval
.code
= PREDECREMENT_EXPR
; ;
4610 { yyval
.code
= TRUTH_NOT_EXPR
; ;
4614 { yyval
.ttype
= build_x_compound_expr (yyval
.ttype
); ;
4618 { error ("ANSI C++ forbids an empty condition for `%s'",
4620 yyval
.ttype
= integer_zero_node
; ;
4624 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
4628 { error ("ANSI C++ forbids an empty condition for `%s'",
4630 yyval
.ttype
= integer_zero_node
; ;
4634 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
4638 { yyval
.ttype
= NULL_TREE
; ;
4642 { yyval
.ttype
= condition_conversion (yyval
.ttype
); ;
4646 { yyval
.ttype
= NULL_TREE
; ;
4652 for (d
= getdecls (); d
; d
= TREE_CHAIN (d
))
4653 if (TREE_CODE (d
) == TYPE_DECL
) {
4654 tree s
= TREE_TYPE (d
);
4655 if (TREE_CODE (s
) == RECORD_TYPE
)
4656 cp_error ("definition of class `%T' in condition", s
);
4657 else if (TREE_CODE (s
) == ENUMERAL_TYPE
)
4658 cp_error ("definition of enum `%T' in condition", s
);
4661 current_declspecs
= yyvsp
[-4].ftype
.t
;
4662 yyvsp
[0].itype
= suspend_momentary ();
4663 yyval
.ttype
= start_decl (yyvsp
[-3].ttype
, current_declspecs
, 1,
4664 yyvsp
[-1].ttype
, /*prefix_attributes*/ NULL_TREE
);
4670 cp_finish_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, yyvsp
[-3].ttype
, 1, LOOKUP_ONLYCONVERTING
);
4671 resume_momentary (yyvsp
[-2].itype
);
4672 yyval
.ttype
= yyvsp
[-1].ttype
;
4673 if (TREE_CODE (TREE_TYPE (yyval
.ttype
)) == ARRAY_TYPE
)
4674 cp_error ("definition of array `%#D' in condition", yyval
.ttype
);
4679 { yyval
.ttype
= begin_compound_stmt (1); ;
4683 { finish_compound_stmt (1, yyvsp
[-1].ttype
); ;
4687 { yyval
.ttype
= expr_tree_cons (NULL_TREE
, yyval
.ttype
,
4688 build_expr_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
4692 { yyval
.ttype
= expr_tree_cons (NULL_TREE
, yyval
.ttype
,
4693 build_expr_list (NULL_TREE
, error_mark_node
)); ;
4697 { chainon (yyval
.ttype
, build_expr_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
4701 { chainon (yyval
.ttype
, build_expr_list (NULL_TREE
, error_mark_node
)); ;
4705 { yyval
.ttype
= build_expr_list (NULL_TREE
, yyval
.ttype
); ;
4709 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4713 { yyval
.ttype
= yyvsp
[0].ttype
;
4714 pedantic
= yyvsp
[-1].itype
; ;
4718 { yyval
.ttype
= build_x_indirect_ref (yyvsp
[0].ttype
, "unary *"); ;
4721 #line 1001 "parse.y"
4722 { yyval
.ttype
= build_x_unary_op (ADDR_EXPR
, yyvsp
[0].ttype
); ;
4725 #line 1003 "parse.y"
4726 { yyval
.ttype
= build_x_unary_op (BIT_NOT_EXPR
, yyvsp
[0].ttype
); ;
4729 #line 1005 "parse.y"
4730 { yyval
.ttype
= finish_unary_op_expr (yyvsp
[-1].code
, yyvsp
[0].ttype
); ;
4733 #line 1008 "parse.y"
4735 pedwarn ("ANSI C++ forbids `&&'");
4736 yyval
.ttype
= finish_label_address_expr (yyvsp
[0].ttype
); ;
4739 #line 1012 "parse.y"
4740 { yyval
.ttype
= expr_sizeof (yyvsp
[0].ttype
); ;
4743 #line 1014 "parse.y"
4744 { yyval
.ttype
= c_sizeof (groktypename (yyvsp
[-1].ftype
.t
)); ;
4747 #line 1016 "parse.y"
4748 { yyval
.ttype
= grok_alignof (yyvsp
[0].ttype
); ;
4751 #line 1018 "parse.y"
4752 { yyval
.ttype
= c_alignof (groktypename (yyvsp
[-1].ftype
.t
));
4753 check_for_new_type ("alignof", yyvsp
[-1].ftype
); ;
4756 #line 1024 "parse.y"
4757 { yyval
.ttype
= build_new (NULL_TREE
, yyvsp
[0].ftype
.t
, NULL_TREE
, yyvsp
[-1].itype
);
4758 check_for_new_type ("new", yyvsp
[0].ftype
); ;
4761 #line 1027 "parse.y"
4762 { yyval
.ttype
= build_new (NULL_TREE
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
, yyvsp
[-2].itype
);
4763 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
4766 #line 1030 "parse.y"
4767 { yyval
.ttype
= build_new (yyvsp
[-1].ttype
, yyvsp
[0].ftype
.t
, NULL_TREE
, yyvsp
[-2].itype
);
4768 check_for_new_type ("new", yyvsp
[0].ftype
); ;
4771 #line 1033 "parse.y"
4772 { yyval
.ttype
= build_new (yyvsp
[-2].ttype
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
, yyvsp
[-3].itype
);
4773 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
4776 #line 1046 "parse.y"
4777 { yyval
.ttype
= build_new (NULL_TREE
, groktypename(yyvsp
[-1].ftype
.t
),
4778 NULL_TREE
, yyvsp
[-4].itype
);
4779 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
4782 #line 1051 "parse.y"
4783 { yyval
.ttype
= build_new (NULL_TREE
, groktypename(yyvsp
[-2].ftype
.t
), yyvsp
[0].ttype
, yyvsp
[-5].itype
);
4784 check_for_new_type ("new", yyvsp
[-2].ftype
); ;
4787 #line 1055 "parse.y"
4788 { yyval
.ttype
= build_new (yyvsp
[-4].ttype
, groktypename(yyvsp
[-1].ftype
.t
), NULL_TREE
, yyvsp
[-5].itype
);
4789 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
4792 #line 1059 "parse.y"
4793 { yyval
.ttype
= build_new (yyvsp
[-5].ttype
, groktypename(yyvsp
[-2].ftype
.t
), yyvsp
[0].ttype
, yyvsp
[-6].itype
);
4794 check_for_new_type ("new", yyvsp
[-2].ftype
); ;
4797 #line 1063 "parse.y"
4798 { yyval
.ttype
= delete_sanity (yyvsp
[0].ttype
, NULL_TREE
, 0, yyvsp
[-1].itype
); ;
4801 #line 1065 "parse.y"
4802 { yyval
.ttype
= delete_sanity (yyvsp
[0].ttype
, NULL_TREE
, 1, yyvsp
[-3].itype
);
4803 if (yychar
== YYEMPTY
)
4807 #line 1069 "parse.y"
4808 { yyval
.ttype
= delete_sanity (yyvsp
[0].ttype
, yyvsp
[-2].ttype
, 2, yyvsp
[-4].itype
);
4809 if (yychar
== YYEMPTY
)
4813 #line 1073 "parse.y"
4814 { yyval
.ttype
= build_x_unary_op (REALPART_EXPR
, yyvsp
[0].ttype
); ;
4817 #line 1075 "parse.y"
4818 { yyval
.ttype
= build_x_unary_op (IMAGPART_EXPR
, yyvsp
[0].ttype
); ;
4821 #line 1085 "parse.y"
4822 { finish_new_placement (NULL_TREE
, yyvsp
[-2].itype
); ;
4825 #line 1088 "parse.y"
4826 { yyval
.itype
= begin_new_placement (); ;
4829 #line 1092 "parse.y"
4830 { yyval
.ttype
= finish_new_placement (yyvsp
[-1].ttype
, yyvsp
[-2].itype
); ;
4833 #line 1094 "parse.y"
4834 { cp_pedwarn ("old style placement syntax, use () instead");
4835 yyval
.ttype
= finish_new_placement (yyvsp
[-1].ttype
, yyvsp
[-2].itype
); ;
4838 #line 1100 "parse.y"
4839 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
4842 #line 1102 "parse.y"
4843 { yyval
.ttype
= NULL_TREE
; ;
4846 #line 1104 "parse.y"
4848 cp_error ("`%T' is not a valid expression", yyvsp
[-1].ftype
.t
);
4849 yyval
.ttype
= error_mark_node
;
4853 #line 1112 "parse.y"
4856 pedwarn ("ANSI C++ forbids initialization of new expression with `='");
4857 if (TREE_CODE (yyvsp
[0].ttype
) != TREE_LIST
4858 && TREE_CODE (yyvsp
[0].ttype
) != CONSTRUCTOR
)
4859 yyval
.ttype
= build_expr_list (NULL_TREE
, yyvsp
[0].ttype
);
4861 yyval
.ttype
= yyvsp
[0].ttype
;
4865 #line 1126 "parse.y"
4866 { yyvsp
[-1].ftype
.t
= finish_parmlist (build_tree_list (NULL_TREE
, yyvsp
[-1].ftype
.t
), 0);
4867 yyval
.ttype
= make_call_declarator (NULL_TREE
, yyvsp
[-1].ftype
.t
, NULL_TREE
, NULL_TREE
);
4868 check_for_new_type ("cast", yyvsp
[-1].ftype
); ;
4871 #line 1130 "parse.y"
4872 { yyvsp
[-1].ftype
.t
= finish_parmlist (build_tree_list (NULL_TREE
, yyvsp
[-1].ftype
.t
), 0);
4873 yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-1].ftype
.t
, NULL_TREE
, NULL_TREE
);
4874 check_for_new_type ("cast", yyvsp
[-1].ftype
); ;
4877 #line 1138 "parse.y"
4878 { yyval
.ttype
= reparse_absdcl_as_casts (yyval
.ttype
, yyvsp
[0].ttype
); ;
4881 #line 1140 "parse.y"
4883 tree init
= build_nt (CONSTRUCTOR
, NULL_TREE
,
4884 nreverse (yyvsp
[-2].ttype
));
4886 pedwarn ("ANSI C++ forbids constructor-expressions");
4887 /* Indicate that this was a GNU C constructor expression. */
4888 TREE_HAS_CONSTRUCTOR (init
) = 1;
4890 yyval
.ttype
= reparse_absdcl_as_casts (yyval
.ttype
, init
);
4894 #line 1156 "parse.y"
4895 { yyval
.ttype
= build_x_binary_op (MEMBER_REF
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4898 #line 1158 "parse.y"
4899 { yyval
.ttype
= build_m_component_ref (yyval
.ttype
, yyvsp
[0].ttype
); ;
4902 #line 1160 "parse.y"
4903 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4906 #line 1162 "parse.y"
4907 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4910 #line 1164 "parse.y"
4911 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4914 #line 1166 "parse.y"
4915 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4918 #line 1168 "parse.y"
4919 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4922 #line 1170 "parse.y"
4923 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4926 #line 1172 "parse.y"
4927 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4930 #line 1174 "parse.y"
4931 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4934 #line 1176 "parse.y"
4935 { yyval
.ttype
= build_x_binary_op (LT_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4938 #line 1178 "parse.y"
4939 { yyval
.ttype
= build_x_binary_op (GT_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4942 #line 1180 "parse.y"
4943 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4946 #line 1182 "parse.y"
4947 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4950 #line 1184 "parse.y"
4951 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4954 #line 1186 "parse.y"
4955 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4958 #line 1188 "parse.y"
4959 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4962 #line 1190 "parse.y"
4963 { yyval
.ttype
= build_x_binary_op (TRUTH_ANDIF_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4966 #line 1192 "parse.y"
4967 { yyval
.ttype
= build_x_binary_op (TRUTH_ORIF_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4970 #line 1194 "parse.y"
4971 { yyval
.ttype
= build_x_conditional_expr (yyval
.ttype
, yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
4974 #line 1196 "parse.y"
4975 { yyval
.ttype
= build_x_modify_expr (yyval
.ttype
, NOP_EXPR
, yyvsp
[0].ttype
);
4976 if (yyval
.ttype
!= error_mark_node
)
4977 C_SET_EXP_ORIGINAL_CODE (yyval
.ttype
, MODIFY_EXPR
); ;
4980 #line 1200 "parse.y"
4981 { yyval
.ttype
= build_x_modify_expr (yyval
.ttype
, yyvsp
[-1].code
, yyvsp
[0].ttype
); ;
4984 #line 1202 "parse.y"
4985 { yyval
.ttype
= build_throw (NULL_TREE
); ;
4988 #line 1204 "parse.y"
4989 { yyval
.ttype
= build_throw (yyvsp
[0].ttype
); ;
4992 #line 1222 "parse.y"
4993 { yyval
.ttype
= build_parse_node (BIT_NOT_EXPR
, yyvsp
[0].ttype
); ;
4996 #line 1231 "parse.y"
4997 { yyval
.ttype
= do_identifier (yyvsp
[-1].ttype
, 1); ;
5000 #line 1235 "parse.y"
5001 { yyval
.ttype
= lookup_template_function (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
5004 #line 1237 "parse.y"
5005 { yyval
.ttype
= lookup_template_function (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
5008 #line 1242 "parse.y"
5009 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5012 #line 1244 "parse.y"
5013 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5016 #line 1247 "parse.y"
5017 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5020 #line 1259 "parse.y"
5021 { yyval
.ttype
= build_parse_node (INDIRECT_REF
, yyvsp
[0].ttype
); ;
5024 #line 1261 "parse.y"
5025 { yyval
.ttype
= build_parse_node (ADDR_EXPR
, yyvsp
[0].ttype
); ;
5028 #line 1263 "parse.y"
5029 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
5032 #line 1268 "parse.y"
5033 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5036 #line 1270 "parse.y"
5037 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5040 #line 1278 "parse.y"
5041 { yyval
.ttype
= finish_decl_parsing (yyvsp
[-1].ttype
); ;
5044 #line 1283 "parse.y"
5046 if (TREE_CODE (yyvsp
[0].ttype
) == BIT_NOT_EXPR
)
5047 yyval
.ttype
= build_x_unary_op (BIT_NOT_EXPR
, TREE_OPERAND (yyvsp
[0].ttype
, 0));
5049 yyval
.ttype
= finish_id_expr (yyvsp
[0].ttype
);
5053 #line 1292 "parse.y"
5055 if (processing_template_decl
)
5056 push_obstacks (&permanent_obstack
, &permanent_obstack
);
5057 yyval
.ttype
= combine_strings (yyval
.ttype
);
5058 if (processing_template_decl
)
5063 #line 1300 "parse.y"
5064 { yyval
.ttype
= finish_parenthesized_expr (yyvsp
[-1].ttype
); ;
5067 #line 1302 "parse.y"
5068 { yyvsp
[-1].ttype
= reparse_decl_as_expr (NULL_TREE
, yyvsp
[-1].ttype
);
5069 yyval
.ttype
= finish_parenthesized_expr (yyvsp
[-1].ttype
); ;
5072 #line 1305 "parse.y"
5073 { yyval
.ttype
= error_mark_node
; ;
5076 #line 1307 "parse.y"
5077 { if (current_function_decl
== 0)
5079 error ("braced-group within expression allowed only inside a function");
5083 pedwarn ("ANSI C++ forbids braced-groups within expressions");
5084 yyval
.ttype
= begin_stmt_expr ();
5088 #line 1317 "parse.y"
5089 { yyval
.ttype
= finish_stmt_expr (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
5092 #line 1319 "parse.y"
5093 { yyval
.ttype
= finish_call_expr (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5096 #line 1321 "parse.y"
5097 { yyval
.ttype
= finish_call_expr (yyvsp
[-1].ttype
, NULL_TREE
); ;
5100 #line 1323 "parse.y"
5101 { yyval
.ttype
= grok_array_decl (yyval
.ttype
, yyvsp
[-1].ttype
); ;
5104 #line 1325 "parse.y"
5105 { yyval
.ttype
= finish_increment_expr (yyvsp
[-1].ttype
, POSTINCREMENT_EXPR
); ;
5108 #line 1327 "parse.y"
5109 { yyval
.ttype
= finish_increment_expr (yyvsp
[-1].ttype
, POSTDECREMENT_EXPR
); ;
5112 #line 1330 "parse.y"
5113 { yyval
.ttype
= finish_this_expr (); ;
5116 #line 1332 "parse.y"
5118 tree type
= NULL_TREE
;
5119 tree id
= yyval
.ttype
;
5121 /* This is a C cast in C++'s `functional' notation. */
5122 if (yyvsp
[-1].ttype
== error_mark_node
)
5124 yyval
.ttype
= error_mark_node
;
5128 if (yyvsp
[-1].ttype
== NULL_TREE
)
5130 error ("cannot cast null list to type `%s'",
5131 IDENTIFIER_POINTER (TYPE_NAME (id
)));
5132 yyval
.ttype
= error_mark_node
;
5137 /* type is not set! (mrs) */
5138 if (type
== error_mark_node
)
5139 yyval
.ttype
= error_mark_node
;
5143 if (id
== ridpointers
[(int) RID_CONST
])
5144 type
= build_type_variant (integer_type_node
, 1, 0);
5145 else if (id
== ridpointers
[(int) RID_VOLATILE
])
5146 type
= build_type_variant (integer_type_node
, 0, 1);
5148 /* should not be able to get here (mrs) */
5149 else if (id
== ridpointers
[(int) RID_FRIEND
])
5151 error ("cannot cast expression to `friend' type");
5152 yyval
.ttype
= error_mark_node
;
5156 else my_friendly_abort (79);
5157 yyval
.ttype
= build_c_cast (type
, build_compound_expr (yyvsp
[-1].ttype
));
5162 #line 1377 "parse.y"
5163 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5164 check_for_new_type ("dynamic_cast", yyvsp
[-4].ftype
);
5165 yyval
.ttype
= build_dynamic_cast (type
, yyvsp
[-1].ttype
); ;
5168 #line 1381 "parse.y"
5169 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5170 check_for_new_type ("static_cast", yyvsp
[-4].ftype
);
5171 yyval
.ttype
= build_static_cast (type
, yyvsp
[-1].ttype
); ;
5174 #line 1385 "parse.y"
5175 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5176 check_for_new_type ("reinterpret_cast", yyvsp
[-4].ftype
);
5177 yyval
.ttype
= build_reinterpret_cast (type
, yyvsp
[-1].ttype
); ;
5180 #line 1389 "parse.y"
5181 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5182 check_for_new_type ("const_cast", yyvsp
[-4].ftype
);
5183 yyval
.ttype
= build_const_cast (type
, yyvsp
[-1].ttype
); ;
5186 #line 1393 "parse.y"
5187 { yyval
.ttype
= build_x_typeid (yyvsp
[-1].ttype
); ;
5190 #line 1395 "parse.y"
5191 { tree type
= groktypename (yyvsp
[-1].ftype
.t
);
5192 check_for_new_type ("typeid", yyvsp
[-1].ftype
);
5193 yyval
.ttype
= get_typeid (TYPE_MAIN_VARIANT (type
)); ;
5196 #line 1399 "parse.y"
5197 { yyval
.ttype
= do_scoped_id (yyvsp
[0].ttype
, 1); ;
5200 #line 1401 "parse.y"
5201 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5204 #line 1403 "parse.y"
5206 got_scope
= NULL_TREE
;
5207 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
5208 yyval
.ttype
= do_scoped_id (yyvsp
[0].ttype
, 1);
5210 yyval
.ttype
= yyvsp
[0].ttype
;
5214 #line 1411 "parse.y"
5215 { yyval
.ttype
= build_offset_ref (OP0 (yyval
.ttype
), OP1 (yyval
.ttype
)); ;
5218 #line 1413 "parse.y"
5219 { yyval
.ttype
= finish_globally_qualified_member_call_expr (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5222 #line 1415 "parse.y"
5223 { yyval
.ttype
= finish_globally_qualified_member_call_expr (yyvsp
[-1].ttype
, NULL_TREE
); ;
5226 #line 1417 "parse.y"
5228 yyval
.ttype
= build_x_component_ref (yyval
.ttype
, yyvsp
[0].ttype
, NULL_TREE
, 1);
5232 #line 1421 "parse.y"
5233 { yyval
.ttype
= finish_object_call_expr (yyvsp
[-3].ttype
, yyvsp
[-4].ttype
, yyvsp
[-1].ttype
); ;
5236 #line 1423 "parse.y"
5237 { yyval
.ttype
= finish_object_call_expr (yyvsp
[-1].ttype
, yyvsp
[-2].ttype
, NULL_TREE
); ;
5240 #line 1425 "parse.y"
5241 { yyval
.ttype
= build_x_component_ref (yyval
.ttype
, yyvsp
[0].ttype
, NULL_TREE
, 1); ;
5244 #line 1427 "parse.y"
5245 { if (processing_template_decl
)
5246 yyval
.ttype
= build_min_nt (COMPONENT_REF
, yyvsp
[-1].ttype
, copy_to_permanent (yyvsp
[0].ttype
));
5248 yyval
.ttype
= build_object_ref (yyval
.ttype
, OP0 (yyvsp
[0].ttype
), OP1 (yyvsp
[0].ttype
)); ;
5251 #line 1432 "parse.y"
5252 { yyval
.ttype
= finish_object_call_expr (yyvsp
[-3].ttype
, yyvsp
[-4].ttype
, yyvsp
[-1].ttype
); ;
5255 #line 1434 "parse.y"
5256 { yyval
.ttype
= finish_object_call_expr (yyvsp
[-1].ttype
, yyvsp
[-2].ttype
, NULL_TREE
); ;
5259 #line 1436 "parse.y"
5260 { yyval
.ttype
= finish_qualified_object_call_expr (yyvsp
[-3].ttype
, yyvsp
[-4].ttype
, yyvsp
[-1].ttype
); ;
5263 #line 1438 "parse.y"
5264 { yyval
.ttype
= finish_qualified_object_call_expr (yyvsp
[-1].ttype
, yyvsp
[-2].ttype
, NULL_TREE
); ;
5267 #line 1441 "parse.y"
5268 { yyval
.ttype
= finish_pseudo_destructor_call_expr (yyvsp
[-3].ttype
, NULL_TREE
, yyvsp
[-1].ttype
); ;
5271 #line 1443 "parse.y"
5272 { yyval
.ttype
= finish_pseudo_destructor_call_expr (yyvsp
[-5].ttype
, yyvsp
[-4].ttype
, yyvsp
[-1].ttype
); ;
5275 #line 1445 "parse.y"
5277 yyval
.ttype
= error_mark_node
;
5281 #line 1490 "parse.y"
5282 { yyval
.itype
= 0; ;
5285 #line 1492 "parse.y"
5286 { got_scope
= NULL_TREE
; yyval
.itype
= 1; ;
5289 #line 1497 "parse.y"
5290 { yyval
.itype
= 0; ;
5293 #line 1499 "parse.y"
5294 { got_scope
= NULL_TREE
; yyval
.itype
= 1; ;
5297 #line 1504 "parse.y"
5298 { yyval
.ttype
= boolean_true_node
; ;
5301 #line 1506 "parse.y"
5302 { yyval
.ttype
= boolean_false_node
; ;
5305 #line 1513 "parse.y"
5306 { yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
); ;
5309 #line 1518 "parse.y"
5311 if (! current_function_parms_stored
)
5312 store_parm_decls ();
5314 /* Always keep the BLOCK node associated with the outermost
5315 pair of curley braces of a function. These are needed
5316 for correct operation of dwarfout.c. */
5321 #line 1531 "parse.y"
5322 { got_object
= TREE_TYPE (yyval
.ttype
); ;
5325 #line 1533 "parse.y"
5327 yyval
.ttype
= build_x_arrow (yyval
.ttype
);
5328 got_object
= TREE_TYPE (yyval
.ttype
);
5332 #line 1541 "parse.y"
5334 resume_momentary (yyvsp
[-1].itype
);
5335 if (yyvsp
[-2].ftype
.t
&& IS_AGGR_TYPE_CODE (TREE_CODE (yyvsp
[-2].ftype
.t
)))
5336 note_got_semicolon (yyvsp
[-2].ftype
.t
);
5340 #line 1547 "parse.y"
5342 resume_momentary (yyvsp
[-1].itype
);
5343 note_list_got_semicolon (yyvsp
[-2].ftype
.t
);
5347 #line 1552 "parse.y"
5348 { resume_momentary (yyvsp
[-1].itype
); ;
5351 #line 1554 "parse.y"
5353 shadow_tag (yyvsp
[-1].ftype
.t
);
5354 note_list_got_semicolon (yyvsp
[-1].ftype
.t
);
5358 #line 1559 "parse.y"
5359 { warning ("empty declaration"); ;
5362 #line 1561 "parse.y"
5363 { pedantic
= yyvsp
[-1].itype
; ;
5366 #line 1575 "parse.y"
5367 { yyval
.ttype
= make_call_declarator (NULL_TREE
, empty_parms (),
5368 NULL_TREE
, NULL_TREE
); ;
5371 #line 1578 "parse.y"
5372 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), NULL_TREE
,
5376 #line 1585 "parse.y"
5377 { yyval
.ftype
.t
= build_decl_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
5378 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5381 #line 1588 "parse.y"
5382 { yyval
.ftype
.t
= build_decl_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
5383 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5386 #line 1591 "parse.y"
5387 { yyval
.ftype
.t
= build_decl_list (get_decl_list (yyvsp
[-1].ftype
.t
), yyvsp
[0].ttype
);
5388 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5391 #line 1594 "parse.y"
5392 { yyval
.ftype
.t
= build_decl_list (yyvsp
[0].ftype
.t
, NULL_TREE
);
5393 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5396 #line 1597 "parse.y"
5397 { yyval
.ftype
.t
= build_decl_list (yyvsp
[0].ftype
.t
, NULL_TREE
);
5398 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5401 #line 1613 "parse.y"
5402 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyvsp
[-1].ttype
);
5403 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5406 #line 1616 "parse.y"
5407 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
5408 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5411 #line 1619 "parse.y"
5412 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-2].ftype
.t
, chainon (yyvsp
[-1].ttype
, yyvsp
[0].ttype
));
5413 yyval
.ftype
.new_type_flag
= yyvsp
[-2].ftype
.new_type_flag
; ;
5416 #line 1622 "parse.y"
5417 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, chainon (yyvsp
[0].ttype
, yyvsp
[-2].ttype
));
5418 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5421 #line 1625 "parse.y"
5422 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, chainon (yyvsp
[0].ttype
, yyvsp
[-2].ttype
));
5423 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5426 #line 1628 "parse.y"
5427 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-2].ftype
.t
,
5428 chainon (yyvsp
[-1].ttype
, chainon (yyvsp
[0].ttype
, yyvsp
[-3].ttype
)));
5429 yyval
.ftype
.new_type_flag
= yyvsp
[-2].ftype
.new_type_flag
; ;
5432 #line 1635 "parse.y"
5433 { if (extra_warnings
)
5434 warning ("`%s' is not at beginning of declaration",
5435 IDENTIFIER_POINTER (yyval
.ttype
));
5436 yyval
.ttype
= build_decl_list (NULL_TREE
, yyval
.ttype
); ;
5439 #line 1640 "parse.y"
5440 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyval
.ttype
); ;
5443 #line 1642 "parse.y"
5444 { if (extra_warnings
)
5445 warning ("`%s' is not at beginning of declaration",
5446 IDENTIFIER_POINTER (yyvsp
[0].ttype
));
5447 yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
5450 #line 1647 "parse.y"
5451 { yyval
.ttype
= decl_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, yyvsp
[-1].ttype
); ;
5454 #line 1649 "parse.y"
5455 { yyval
.ttype
= decl_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, NULL_TREE
); ;
5458 #line 1659 "parse.y"
5459 { yyval
.ttype
= yyvsp
[0].ftype
.t
; TREE_STATIC (yyval
.ttype
) = 1; ;
5462 #line 1661 "parse.y"
5463 { yyval
.ttype
= IDENTIFIER_AS_LIST (yyval
.ttype
); ;
5466 #line 1663 "parse.y"
5467 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
);
5468 TREE_STATIC (yyval
.ttype
) = 1; ;
5471 #line 1666 "parse.y"
5472 { if (extra_warnings
&& TREE_STATIC (yyval
.ttype
))
5473 warning ("`%s' is not at beginning of declaration",
5474 IDENTIFIER_POINTER (yyvsp
[0].ttype
));
5475 yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
);
5476 TREE_STATIC (yyval
.ttype
) = TREE_STATIC (yyvsp
[-1].ttype
); ;
5479 #line 1672 "parse.y"
5480 { yyval
.ttype
= decl_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, yyvsp
[-1].ttype
); ;
5483 #line 1674 "parse.y"
5484 { yyval
.ttype
= decl_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, NULL_TREE
); ;
5487 #line 1685 "parse.y"
5488 { yyval
.ftype
.t
= get_decl_list (yyvsp
[0].ftype
.t
);
5489 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5492 #line 1688 "parse.y"
5493 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyvsp
[-1].ftype
.t
);
5494 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5497 #line 1691 "parse.y"
5498 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
5499 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5502 #line 1694 "parse.y"
5503 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, chainon (yyvsp
[0].ttype
, yyvsp
[-2].ftype
.t
));
5504 yyval
.ftype
.new_type_flag
= yyvsp
[-2].ftype
.new_type_flag
; ;
5507 #line 1700 "parse.y"
5508 { yyval
.ttype
= build_decl_list (NULL_TREE
, yyvsp
[0].ftype
.t
); ;
5511 #line 1702 "parse.y"
5512 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyvsp
[-1].ttype
); ;
5515 #line 1712 "parse.y"
5516 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
5519 #line 1714 "parse.y"
5520 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
5523 #line 1716 "parse.y"
5524 { yyval
.ftype
.t
= TREE_TYPE (yyvsp
[-1].ttype
);
5525 yyval
.ftype
.new_type_flag
= 0; ;
5528 #line 1719 "parse.y"
5529 { yyval
.ftype
.t
= groktypename (yyvsp
[-1].ftype
.t
);
5530 yyval
.ftype
.new_type_flag
= 0; ;
5533 #line 1722 "parse.y"
5534 { tree type
= TREE_TYPE (yyvsp
[-1].ttype
);
5536 yyval
.ftype
.new_type_flag
= 0;
5537 if (IS_AGGR_TYPE (type
))
5539 sorry ("sigof type specifier");
5540 yyval
.ftype
.t
= type
;
5544 error ("`sigof' applied to non-aggregate expression");
5545 yyval
.ftype
.t
= error_mark_node
;
5550 #line 1737 "parse.y"
5551 { tree type
= groktypename (yyvsp
[-1].ftype
.t
);
5553 yyval
.ftype
.new_type_flag
= 0;
5554 if (IS_AGGR_TYPE (type
))
5556 sorry ("sigof type specifier");
5557 yyval
.ftype
.t
= type
;
5561 error("`sigof' applied to non-aggregate type");
5562 yyval
.ftype
.t
= error_mark_node
;
5567 #line 1757 "parse.y"
5568 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
5571 #line 1759 "parse.y"
5572 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
5575 #line 1780 "parse.y"
5576 { yyval
.ttype
= NULL_TREE
; ;
5579 #line 1782 "parse.y"
5580 { if (TREE_CHAIN (yyvsp
[-1].ttype
)) yyvsp
[-1].ttype
= combine_strings (yyvsp
[-1].ttype
); yyval
.ttype
= yyvsp
[-1].ttype
; ;
5583 #line 1787 "parse.y"
5584 { yyval
.ttype
= start_decl (yyvsp
[-3].ttype
, current_declspecs
, 1,
5585 yyvsp
[-1].ttype
, prefix_attributes
); ;
5588 #line 1791 "parse.y"
5589 { cp_finish_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, yyvsp
[-4].ttype
, 1, LOOKUP_ONLYCONVERTING
); ;
5592 #line 1793 "parse.y"
5593 { yyval
.ttype
= start_decl (yyvsp
[-2].ttype
, current_declspecs
, 0,
5594 yyvsp
[0].ttype
, prefix_attributes
);
5595 cp_finish_decl (yyval
.ttype
, NULL_TREE
, yyvsp
[-1].ttype
, 1, 0); ;
5598 #line 1806 "parse.y"
5599 { yyvsp
[0].itype
= parse_decl (yyvsp
[-3].ttype
, yyvsp
[-4].ttype
,
5600 yyvsp
[-1].ttype
, 1, &yyval
.ttype
); ;
5603 #line 1811 "parse.y"
5604 { cp_finish_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, yyvsp
[-4].ttype
, 1,
5605 LOOKUP_ONLYCONVERTING
);
5606 yyval
.itype
= yyvsp
[-2].itype
; ;
5609 #line 1815 "parse.y"
5611 yyval
.itype
= parse_decl (yyvsp
[-2].ttype
, yyvsp
[-3].ttype
, yyvsp
[0].ttype
, 0, &d
);
5612 cp_finish_decl (d
, NULL_TREE
, yyvsp
[-1].ttype
, 1, 0); ;
5615 #line 1822 "parse.y"
5616 { yyval
.itype
= yyvsp
[0].itype
; ;
5619 #line 1826 "parse.y"
5620 { yyval
.itype
= yyvsp
[0].itype
; ;
5623 #line 1831 "parse.y"
5624 { /* Set things up as initdcl0_innards expects. */
5625 yyval
.ttype
= yyvsp
[-1].ttype
;
5626 yyvsp
[-1].ttype
= NULL_TREE
; ;
5629 #line 1835 "parse.y"
5633 #line 1837 "parse.y"
5635 parse_decl(yyvsp
[-2].ttype
, NULL_TREE
, yyvsp
[0].ttype
, 0, &d
);
5636 cp_finish_decl (d
, NULL_TREE
, yyvsp
[-1].ttype
, 1, 0); ;
5639 #line 1846 "parse.y"
5640 { yyval
.ttype
= NULL_TREE
; ;
5643 #line 1848 "parse.y"
5644 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5647 #line 1853 "parse.y"
5648 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5651 #line 1855 "parse.y"
5652 { yyval
.ttype
= chainon (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
5655 #line 1860 "parse.y"
5656 { yyval
.ttype
= yyvsp
[-2].ttype
; ;
5659 #line 1865 "parse.y"
5660 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5663 #line 1867 "parse.y"
5664 { yyval
.ttype
= chainon (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
5667 #line 1872 "parse.y"
5668 { yyval
.ttype
= NULL_TREE
; ;
5671 #line 1874 "parse.y"
5672 { yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, NULL_TREE
); ;
5675 #line 1876 "parse.y"
5676 { yyval
.ttype
= build_tree_list (yyvsp
[-3].ttype
, build_tree_list (NULL_TREE
, yyvsp
[-1].ttype
)); ;
5679 #line 1878 "parse.y"
5680 { yyval
.ttype
= build_tree_list (yyvsp
[-5].ttype
, tree_cons (NULL_TREE
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
)); ;
5683 #line 1880 "parse.y"
5684 { yyval
.ttype
= build_tree_list (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5687 #line 1896 "parse.y"
5688 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ttype
); ;
5691 #line 1898 "parse.y"
5692 { yyval
.ttype
= chainon (yyvsp
[-2].ttype
, build_tree_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
5695 #line 1903 "parse.y"
5696 { yyval
.ttype
= NULL_TREE
; ;
5699 #line 1905 "parse.y"
5700 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5703 #line 1913 "parse.y"
5704 { yyval
.ttype
= build_nt (CONSTRUCTOR
, NULL_TREE
, NULL_TREE
);
5705 TREE_HAS_CONSTRUCTOR (yyval
.ttype
) = 1; ;
5708 #line 1916 "parse.y"
5709 { yyval
.ttype
= build_nt (CONSTRUCTOR
, NULL_TREE
, nreverse (yyvsp
[-1].ttype
));
5710 TREE_HAS_CONSTRUCTOR (yyval
.ttype
) = 1; ;
5713 #line 1919 "parse.y"
5714 { yyval
.ttype
= build_nt (CONSTRUCTOR
, NULL_TREE
, nreverse (yyvsp
[-2].ttype
));
5715 TREE_HAS_CONSTRUCTOR (yyval
.ttype
) = 1; ;
5718 #line 1922 "parse.y"
5719 { yyval
.ttype
= NULL_TREE
; ;
5722 #line 1929 "parse.y"
5723 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyval
.ttype
); ;
5726 #line 1931 "parse.y"
5727 { yyval
.ttype
= expr_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
5730 #line 1934 "parse.y"
5731 { yyval
.ttype
= build_expr_list (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
5734 #line 1936 "parse.y"
5735 { yyval
.ttype
= build_expr_list (yyval
.ttype
, yyvsp
[0].ttype
); ;
5738 #line 1938 "parse.y"
5739 { yyval
.ttype
= expr_tree_cons (yyvsp
[-2].ttype
, yyvsp
[0].ttype
, yyval
.ttype
); ;
5742 #line 1943 "parse.y"
5743 { start_function (NULL_TREE
, TREE_VALUE (yyvsp
[0].ttype
),
5745 reinit_parse_for_function (); ;
5748 #line 1949 "parse.y"
5750 int nested
= (hack_decl_function_context
5751 (current_function_decl
) != NULL_TREE
);
5752 finish_function (lineno
, (int)yyvsp
[-1].itype
, nested
);
5753 process_next_inline (yyvsp
[-3].ttype
);
5757 #line 1956 "parse.y"
5758 { process_next_inline (yyvsp
[-2].ttype
); ;
5761 #line 1958 "parse.y"
5762 { process_next_inline (yyvsp
[-2].ttype
); ;
5765 #line 1970 "parse.y"
5766 { replace_defarg (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
5769 #line 1972 "parse.y"
5770 { replace_defarg (yyvsp
[-2].ttype
, error_mark_node
); ;
5773 #line 1977 "parse.y"
5774 { do_pending_defargs (); ;
5777 #line 1979 "parse.y"
5778 { do_pending_defargs (); ;
5781 #line 1984 "parse.y"
5782 { yyvsp
[0].itype
= suspend_momentary ();
5783 yyval
.ttype
= start_enum (yyvsp
[-1].ttype
); ;
5786 #line 1987 "parse.y"
5787 { yyval
.ftype
.t
= finish_enum (yyvsp
[-3].ttype
, yyvsp
[-2].ttype
);
5788 yyval
.ftype
.new_type_flag
= 1;
5789 resume_momentary ((int) yyvsp
[-4].itype
);
5790 check_for_missing_semicolon (yyvsp
[-3].ttype
); ;
5793 #line 1992 "parse.y"
5794 { yyval
.ftype
.t
= finish_enum (start_enum (yyvsp
[-2].ttype
), NULL_TREE
);
5795 yyval
.ftype
.new_type_flag
= 1;
5796 check_for_missing_semicolon (yyval
.ftype
.t
); ;
5799 #line 1996 "parse.y"
5800 { yyvsp
[0].itype
= suspend_momentary ();
5801 yyval
.ttype
= start_enum (make_anon_name ()); ;
5804 #line 1999 "parse.y"
5805 { yyval
.ftype
.t
= finish_enum (yyvsp
[-3].ttype
, yyvsp
[-2].ttype
);
5806 resume_momentary ((int) yyvsp
[-5].itype
);
5807 check_for_missing_semicolon (yyvsp
[-3].ttype
);
5808 yyval
.ftype
.new_type_flag
= 1; ;
5811 #line 2004 "parse.y"
5812 { yyval
.ftype
.t
= finish_enum (start_enum (make_anon_name()), NULL_TREE
);
5813 yyval
.ftype
.new_type_flag
= 1;
5814 check_for_missing_semicolon (yyval
.ftype
.t
); ;
5817 #line 2008 "parse.y"
5818 { yyval
.ftype
.t
= xref_tag (enum_type_node
, yyvsp
[0].ttype
, NULL_TREE
, 1);
5819 yyval
.ftype
.new_type_flag
= 0; ;
5822 #line 2011 "parse.y"
5823 { yyval
.ftype
.t
= xref_tag (enum_type_node
, yyvsp
[0].ttype
, NULL_TREE
, 1);
5824 yyval
.ftype
.new_type_flag
= 0; ;
5827 #line 2014 "parse.y"
5828 { yyval
.ftype
.t
= yyvsp
[0].ttype
;
5829 yyval
.ftype
.new_type_flag
= 0; ;
5832 #line 2019 "parse.y"
5836 if (yychar
== YYEMPTY
)
5838 semi
= yychar
== ';';
5840 yyval
.ttype
= finish_class_definition (yyvsp
[-4].ttype
, yyvsp
[-2].ttype
, yyvsp
[0].ttype
, semi
);
5844 #line 2029 "parse.y"
5845 { finish_default_args (); ;
5848 #line 2031 "parse.y"
5849 { yyval
.ftype
.t
= yyvsp
[-3].ttype
;
5850 yyval
.ftype
.new_type_flag
= 1;
5851 begin_inline_definitions (); ;
5854 #line 2035 "parse.y"
5856 yyval
.ftype
.new_type_flag
= 0;
5857 if (TYPE_BINFO (yyvsp
[0].ttype
) == NULL_TREE
)
5859 cp_error ("%T is not a class type", yyvsp
[0].ttype
);
5860 yyval
.ftype
.t
= error_mark_node
;
5864 yyval
.ftype
.t
= yyvsp
[0].ttype
;
5865 /* struct B: public A; is not accepted by the WP grammar. */
5866 if (TYPE_BINFO_BASETYPES (yyval
.ftype
.t
) && !TYPE_SIZE (yyval
.ftype
.t
)
5867 && ! TYPE_BEING_DEFINED (yyval
.ftype
.t
))
5868 cp_error ("base clause without member specification for `%#T'",
5874 #line 2062 "parse.y"
5875 { if (pedantic
&& !in_system_header
)
5876 pedwarn ("comma at end of enumerator list"); ;
5879 #line 2069 "parse.y"
5880 { error ("storage class specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp
[0].ttype
)); ;
5883 #line 2071 "parse.y"
5884 { error ("type specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp
[0].ttype
)); ;
5887 #line 2073 "parse.y"
5888 { error ("type qualifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp
[0].ttype
)); ;
5891 #line 2075 "parse.y"
5892 { error ("no body nor ';' separates two class, struct or union declarations"); ;
5895 #line 2080 "parse.y"
5896 { current_aggr
= yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
5899 #line 2085 "parse.y"
5900 { current_aggr
= yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
5903 #line 2090 "parse.y"
5905 current_aggr
= yyvsp
[-2].ttype
;
5906 yyval
.ttype
= handle_class_head (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
5910 #line 2095 "parse.y"
5912 current_aggr
= yyvsp
[-3].ttype
;
5913 yyval
.ttype
= handle_class_head (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
5917 #line 2100 "parse.y"
5919 current_aggr
= yyvsp
[-2].ttype
;
5920 yyval
.ttype
= handle_class_head (yyvsp
[-2].ttype
, NULL_TREE
, yyvsp
[0].ttype
);
5924 #line 2105 "parse.y"
5925 { current_aggr
= yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
5928 #line 2107 "parse.y"
5929 { current_aggr
= yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
5932 #line 2112 "parse.y"
5933 { yyval
.ttype
= xref_tag (current_aggr
, yyvsp
[0].ttype
, NULL_TREE
, 0); ;
5936 #line 2117 "parse.y"
5937 { yyval
.ttype
= xref_tag (current_aggr
, yyvsp
[0].ttype
, NULL_TREE
, 1); ;
5940 #line 2120 "parse.y"
5942 yyval
.ttype
= yyvsp
[-1].ttype
;
5944 xref_basetypes (current_aggr
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
5948 #line 2126 "parse.y"
5950 yyval
.ttype
= TREE_TYPE (yyvsp
[-1].ttype
);
5951 if (TREE_INT_CST_LOW (current_aggr
) == union_type
5952 && TREE_CODE (yyval
.ttype
) != UNION_TYPE
)
5953 cp_pedwarn ("`union' tag used in declaring `%#T'", yyval
.ttype
);
5954 else if (TREE_CODE (yyval
.ttype
) == UNION_TYPE
5955 && TREE_INT_CST_LOW (current_aggr
) != union_type
)
5956 cp_pedwarn ("non-`union' tag used in declaring `%#T'", yyval
.ttype
);
5959 if (IS_AGGR_TYPE (yyval
.ttype
) && CLASSTYPE_USE_TEMPLATE (yyval
.ttype
))
5961 if (CLASSTYPE_IMPLICIT_INSTANTIATION (yyval
.ttype
)
5962 && TYPE_SIZE (yyval
.ttype
) == NULL_TREE
)
5964 SET_CLASSTYPE_TEMPLATE_SPECIALIZATION (yyval
.ttype
);
5965 if (processing_template_decl
)
5966 push_template_decl (TYPE_MAIN_DECL (yyval
.ttype
));
5968 else if (CLASSTYPE_TEMPLATE_INSTANTIATION (yyval
.ttype
))
5969 cp_error ("specialization after instantiation of `%T'", yyval
.ttype
);
5971 xref_basetypes (current_aggr
, yyvsp
[-1].ttype
, yyval
.ttype
, yyvsp
[0].ttype
);
5976 #line 2155 "parse.y"
5977 { yyval
.ttype
= xref_tag (yyval
.ttype
, make_anon_name (), NULL_TREE
, 0);
5978 yyungetc ('{', 1); ;
5981 #line 2166 "parse.y"
5982 { yyval
.ttype
= NULL_TREE
; ;
5985 #line 2168 "parse.y"
5986 { yyungetc(':', 1); yyval
.ttype
= NULL_TREE
; ;
5989 #line 2170 "parse.y"
5990 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5993 #line 2176 "parse.y"
5994 { yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
); ;
5997 #line 2181 "parse.y"
5999 tree type
= TREE_TYPE (yyvsp
[0].ttype
);
6000 if (! is_aggr_type (type
, 1))
6001 yyval
.ttype
= NULL_TREE
;
6002 else if (current_aggr
== signature_type_node
6003 && (! type
) && (! IS_SIGNATURE (type
)))
6005 error ("class name not allowed as base signature");
6006 yyval
.ttype
= NULL_TREE
;
6008 else if (current_aggr
== signature_type_node
)
6010 sorry ("signature inheritance, base type `%s' ignored",
6011 IDENTIFIER_POINTER (yyval
.ttype
));
6012 yyval
.ttype
= build_tree_list (access_public_node
, type
);
6014 else if (type
&& IS_SIGNATURE (type
))
6016 error ("signature name not allowed as base class");
6017 yyval
.ttype
= NULL_TREE
;
6020 yyval
.ttype
= build_tree_list (access_default_node
, type
);
6024 #line 2206 "parse.y"
6026 tree type
= TREE_TYPE (yyvsp
[0].ttype
);
6027 if (current_aggr
== signature_type_node
)
6028 error ("access and source specifiers not allowed in signature");
6029 if (! IS_AGGR_TYPE (type
))
6030 yyval
.ttype
= NULL_TREE
;
6031 else if (current_aggr
== signature_type_node
6032 && (! type
) && (! IS_SIGNATURE (type
)))
6034 error ("class name not allowed as base signature");
6035 yyval
.ttype
= NULL_TREE
;
6037 else if (current_aggr
== signature_type_node
)
6039 sorry ("signature inheritance, base type `%s' ignored",
6040 IDENTIFIER_POINTER (yyval
.ttype
));
6041 yyval
.ttype
= build_tree_list (access_public_node
, type
);
6043 else if (type
&& IS_SIGNATURE (type
))
6045 error ("signature name not allowed as base class");
6046 yyval
.ttype
= NULL_TREE
;
6049 yyval
.ttype
= build_tree_list (yyval
.ttype
, type
);
6053 #line 2236 "parse.y"
6054 { yyval
.ttype
= TYPE_MAIN_DECL (yyvsp
[0].ttype
); ;
6057 #line 2239 "parse.y"
6059 if (current_aggr
== signature_type_node
)
6061 if (IS_AGGR_TYPE (TREE_TYPE (yyvsp
[-1].ttype
)))
6063 sorry ("`sigof' as base signature specifier");
6064 yyval
.ttype
= TREE_TYPE (yyvsp
[-1].ttype
);
6068 error ("`sigof' applied to non-aggregate expression");
6069 yyval
.ttype
= error_mark_node
;
6074 error ("`sigof' in struct or class declaration");
6075 yyval
.ttype
= error_mark_node
;
6080 #line 2260 "parse.y"
6082 if (current_aggr
== signature_type_node
)
6084 if (IS_AGGR_TYPE (groktypename (yyvsp
[-1].ftype
.t
)))
6086 sorry ("`sigof' as base signature specifier");
6087 yyval
.ttype
= groktypename (yyvsp
[-1].ftype
.t
);
6091 error ("`sigof' applied to non-aggregate expression");
6092 yyval
.ttype
= error_mark_node
;
6097 error ("`sigof' in struct or class declaration");
6098 yyval
.ttype
= error_mark_node
;
6103 #line 2285 "parse.y"
6104 { if (yyvsp
[-1].ttype
!= ridpointers
[(int)RID_VIRTUAL
])
6105 cp_error ("`%D' access", yyvsp
[-1].ttype
);
6106 yyval
.ttype
= access_default_virtual_node
; ;
6109 #line 2289 "parse.y"
6111 if (yyvsp
[-2].ttype
!= access_default_virtual_node
)
6112 error ("multiple access specifiers");
6113 else if (yyvsp
[-1].ttype
== access_public_node
)
6114 yyval
.ttype
= access_public_virtual_node
;
6115 else if (yyvsp
[-1].ttype
== access_protected_node
)
6116 yyval
.ttype
= access_protected_virtual_node
;
6117 else /* $2 == access_private_node */
6118 yyval
.ttype
= access_private_virtual_node
;
6122 #line 2300 "parse.y"
6123 { if (yyvsp
[-1].ttype
!= ridpointers
[(int)RID_VIRTUAL
])
6124 cp_error ("`%D' access", yyvsp
[-1].ttype
);
6125 else if (yyval
.ttype
== access_public_node
)
6126 yyval
.ttype
= access_public_virtual_node
;
6127 else if (yyval
.ttype
== access_protected_node
)
6128 yyval
.ttype
= access_protected_virtual_node
;
6129 else if (yyval
.ttype
== access_private_node
)
6130 yyval
.ttype
= access_private_virtual_node
;
6132 error ("multiple `virtual' specifiers");
6136 #line 2315 "parse.y"
6137 { yyvsp
[-1].ttype
= begin_class_definition (yyvsp
[-1].ttype
); ;
6140 #line 2320 "parse.y"
6142 yyval
.ttype
= build_self_reference ();
6146 #line 2327 "parse.y"
6147 { if (yyval
.ttype
) yyval
.ttype
= build_tree_list (access_public_node
, yyval
.ttype
); ;
6150 #line 2329 "parse.y"
6152 if (current_aggr
== signature_type_node
)
6153 yyval
.ttype
= build_tree_list (access_public_node
, yyvsp
[0].ttype
);
6155 yyval
.ttype
= build_tree_list (access_default_node
, yyvsp
[0].ttype
);
6156 if (yyvsp
[-1].ttype
) yyval
.ttype
= tree_cons (access_public_node
, yyvsp
[-1].ttype
, yyval
.ttype
);
6160 #line 2337 "parse.y"
6162 tree visspec
= yyvsp
[-2].ttype
;
6164 if (current_aggr
== signature_type_node
)
6166 error ("access specifier not allowed in signature");
6167 visspec
= access_public_node
;
6169 yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (visspec
, yyvsp
[0].ttype
));
6173 #line 2348 "parse.y"
6175 if (current_aggr
== signature_type_node
)
6176 error ("access specifier not allowed in signature");
6180 #line 2358 "parse.y"
6181 { if (yyval
.ttype
== void_type_node
) yyval
.ttype
= NULL_TREE
;
6185 #line 2361 "parse.y"
6186 { /* In pushdecl, we created a reverse list of names
6187 in this binding level. Make sure that the chain
6188 of what we're trying to add isn't the item itself
6189 (which can happen with what pushdecl's doing). */
6190 if (yyvsp
[0].ttype
!= NULL_TREE
&& yyvsp
[0].ttype
!= void_type_node
)
6192 if (TREE_CHAIN (yyvsp
[0].ttype
) != yyval
.ttype
)
6193 yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
);
6195 yyval
.ttype
= yyvsp
[0].ttype
;
6200 #line 2377 "parse.y"
6204 #line 2379 "parse.y"
6205 { error ("missing ';' before right brace");
6206 yyungetc ('}', 0); ;
6209 #line 2384 "parse.y"
6210 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6213 #line 2386 "parse.y"
6214 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6217 #line 2388 "parse.y"
6218 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6221 #line 2390 "parse.y"
6222 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6225 #line 2392 "parse.y"
6226 { yyval
.ttype
= NULL_TREE
; ;
6229 #line 2394 "parse.y"
6230 { yyval
.ttype
= yyvsp
[0].ttype
;
6231 pedantic
= yyvsp
[-1].itype
; ;
6234 #line 2397 "parse.y"
6235 { yyval
.ttype
= finish_member_template_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6238 #line 2399 "parse.y"
6239 { yyval
.ttype
= finish_member_class_template (yyvsp
[-2].ttype
, yyvsp
[-1].ftype
.t
); ;
6242 #line 2407 "parse.y"
6243 { yyval
.ttype
= grok_x_components (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6246 #line 2409 "parse.y"
6247 { yyval
.ttype
= grok_x_components (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6250 #line 2411 "parse.y"
6251 { yyval
.ttype
= grokfield (yyval
.ttype
, NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6252 build_tree_list (yyvsp
[-1].ttype
, NULL_TREE
)); ;
6255 #line 2414 "parse.y"
6256 { yyval
.ttype
= grokfield (yyval
.ttype
, NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6257 build_tree_list (yyvsp
[-1].ttype
, NULL_TREE
)); ;
6260 #line 2417 "parse.y"
6261 { yyval
.ttype
= grokbitfield (NULL_TREE
, NULL_TREE
, yyvsp
[0].ttype
); ;
6264 #line 2419 "parse.y"
6265 { yyval
.ttype
= NULL_TREE
; ;
6268 #line 2430 "parse.y"
6269 { tree specs
, attrs
;
6270 split_specs_attrs (yyvsp
[-4].ttype
, &specs
, &attrs
);
6271 yyval
.ttype
= grokfield (yyvsp
[-3].ttype
, specs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6272 build_tree_list (yyvsp
[-1].ttype
, attrs
)); ;
6275 #line 2435 "parse.y"
6276 { yyval
.ttype
= grokfield (yyval
.ttype
, NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6277 build_tree_list (yyvsp
[-1].ttype
, NULL_TREE
)); ;
6280 #line 2438 "parse.y"
6281 { yyval
.ttype
= do_class_using_decl (yyvsp
[0].ttype
); ;
6284 #line 2444 "parse.y"
6285 { yyval
.ttype
= NULL_TREE
; ;
6288 #line 2447 "parse.y"
6290 /* In this context, void_type_node encodes
6291 friends. They have been recorded elsewhere. */
6292 if (yyval
.ttype
== void_type_node
)
6293 yyval
.ttype
= yyvsp
[0].ttype
;
6295 yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
);
6299 #line 2459 "parse.y"
6300 { yyval
.ttype
= NULL_TREE
; ;
6303 #line 2462 "parse.y"
6305 /* In this context, void_type_node encodes
6306 friends. They have been recorded elsewhere. */
6307 if (yyval
.ttype
== void_type_node
)
6308 yyval
.ttype
= yyvsp
[0].ttype
;
6310 yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
);
6314 #line 2484 "parse.y"
6315 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6316 &prefix_attributes
);
6317 yyvsp
[-4].ttype
= current_declspecs
;
6318 yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6319 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6322 #line 2490 "parse.y"
6323 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6324 &prefix_attributes
);
6325 yyvsp
[-4].ttype
= current_declspecs
;
6326 yyval
.ttype
= grokbitfield (yyval
.ttype
, current_declspecs
, yyvsp
[-1].ttype
);
6327 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6330 #line 2499 "parse.y"
6331 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6332 &prefix_attributes
);
6333 yyvsp
[-4].ttype
= current_declspecs
;
6334 yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6335 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6338 #line 2505 "parse.y"
6339 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6340 &prefix_attributes
);
6341 yyvsp
[-4].ttype
= current_declspecs
;
6342 yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6343 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6346 #line 2511 "parse.y"
6347 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6348 &prefix_attributes
);
6349 yyvsp
[-4].ttype
= current_declspecs
;
6350 yyval
.ttype
= grokbitfield (yyval
.ttype
, current_declspecs
, yyvsp
[-1].ttype
);
6351 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6354 #line 2517 "parse.y"
6355 { split_specs_attrs (yyvsp
[-3].ttype
, ¤t_declspecs
,
6356 &prefix_attributes
);
6357 yyvsp
[-3].ttype
= current_declspecs
;
6358 yyval
.ttype
= grokbitfield (NULL_TREE
, current_declspecs
, yyvsp
[-1].ttype
);
6359 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6362 #line 2526 "parse.y"
6363 { yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6364 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6367 #line 2529 "parse.y"
6368 { yyval
.ttype
= grokbitfield (yyval
.ttype
, current_declspecs
, yyvsp
[-1].ttype
);
6369 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6372 #line 2535 "parse.y"
6373 { yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6374 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6377 #line 2538 "parse.y"
6378 { yyval
.ttype
= grokbitfield (yyval
.ttype
, current_declspecs
, yyvsp
[-1].ttype
);
6379 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6382 #line 2541 "parse.y"
6383 { yyval
.ttype
= grokbitfield (NULL_TREE
, current_declspecs
, yyvsp
[-1].ttype
);
6384 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6387 #line 2552 "parse.y"
6388 { TREE_CHAIN (yyvsp
[0].ttype
) = yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
6391 #line 2557 "parse.y"
6392 { yyval
.ttype
= build_enumerator (yyval
.ttype
, NULL_TREE
); ;
6395 #line 2559 "parse.y"
6396 { yyval
.ttype
= build_enumerator (yyval
.ttype
, yyvsp
[0].ttype
); ;
6399 #line 2565 "parse.y"
6400 { yyval
.ftype
.t
= build_decl_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
6401 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
6404 #line 2568 "parse.y"
6405 { yyval
.ftype
.t
= build_decl_list (yyvsp
[0].ftype
.t
, NULL_TREE
);
6406 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
6409 #line 2575 "parse.y"
6412 pedwarn ("ANSI C++ forbids array dimensions with parenthesized type in new");
6413 yyval
.ftype
.t
= build_parse_node (ARRAY_REF
, TREE_VALUE (yyvsp
[-4].ftype
.t
), yyvsp
[-1].ttype
);
6414 yyval
.ftype
.t
= build_decl_list (TREE_PURPOSE (yyvsp
[-4].ftype
.t
), yyval
.ftype
.t
);
6415 yyval
.ftype
.new_type_flag
= yyvsp
[-4].ftype
.new_type_flag
;
6419 #line 2586 "parse.y"
6420 { yyval
.ttype
= NULL_TREE
; ;
6423 #line 2588 "parse.y"
6424 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
6427 #line 2593 "parse.y"
6428 { yyval
.ftype
.t
= IDENTIFIER_AS_LIST (yyvsp
[0].ttype
);
6429 yyval
.ftype
.new_type_flag
= 0; ;
6432 #line 2596 "parse.y"
6433 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-1].ftype
.t
);
6434 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
6437 #line 2605 "parse.y"
6438 { yyval
.itype
= suspend_momentary (); ;
6441 #line 2610 "parse.y"
6442 { resume_momentary ((int) yyvsp
[-1].itype
); yyval
.ttype
= yyvsp
[0].ttype
; ;
6445 #line 2616 "parse.y"
6446 { resume_momentary ((int) yyvsp
[-3].itype
); yyval
.ttype
= yyvsp
[-1].ttype
; ;
6449 #line 2618 "parse.y"
6450 { resume_momentary ((int) yyvsp
[-3].itype
); yyval
.ttype
= yyvsp
[-1].ttype
; ;
6453 #line 2620 "parse.y"
6454 { resume_momentary ((int) yyvsp
[-1].itype
); yyval
.ttype
= empty_parms (); ;
6457 #line 2622 "parse.y"
6458 { resume_momentary ((int) yyvsp
[-3].itype
); yyval
.ttype
= NULL_TREE
; ;
6461 #line 2629 "parse.y"
6462 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6465 #line 2631 "parse.y"
6466 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6469 #line 2633 "parse.y"
6470 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6473 #line 2635 "parse.y"
6474 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6477 #line 2637 "parse.y"
6478 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6479 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
6483 #line 2645 "parse.y"
6485 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
6487 yyval
.ttype
= lookup_name (yyvsp
[0].ttype
, 1);
6488 if (current_class_type
6489 && TYPE_BEING_DEFINED (current_class_type
)
6490 && ! IDENTIFIER_CLASS_VALUE (yyvsp
[0].ttype
))
6492 /* Remember that this name has been used in the class
6493 definition, as per [class.scope0] */
6494 pushdecl_class_level (yyval
.ttype
);
6498 yyval
.ttype
= yyvsp
[0].ttype
;
6502 #line 2662 "parse.y"
6504 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
6505 yyval
.ttype
= IDENTIFIER_GLOBAL_VALUE (yyvsp
[0].ttype
);
6507 yyval
.ttype
= yyvsp
[0].ttype
;
6508 got_scope
= NULL_TREE
;
6512 #line 2675 "parse.y"
6513 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6516 #line 2680 "parse.y"
6517 { yyval
.ttype
= get_type_decl (yyvsp
[0].ttype
); ;
6520 #line 2685 "parse.y"
6521 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6524 #line 2687 "parse.y"
6525 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
6528 #line 2689 "parse.y"
6529 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, NULL_TREE
); ;
6532 #line 2691 "parse.y"
6533 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
6536 #line 2693 "parse.y"
6537 { push_nested_class (yyvsp
[-1].ttype
, 3);
6538 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyval
.ttype
, yyvsp
[0].ttype
);
6539 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
; ;
6542 #line 2704 "parse.y"
6543 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6546 #line 2706 "parse.y"
6547 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6550 #line 2708 "parse.y"
6551 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6554 #line 2710 "parse.y"
6555 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6558 #line 2712 "parse.y"
6559 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6560 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
6564 #line 2720 "parse.y"
6565 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6568 #line 2722 "parse.y"
6569 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6572 #line 2724 "parse.y"
6573 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6576 #line 2726 "parse.y"
6577 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6580 #line 2728 "parse.y"
6581 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6582 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
6586 #line 2736 "parse.y"
6587 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6590 #line 2738 "parse.y"
6591 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
6594 #line 2740 "parse.y"
6595 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
6598 #line 2742 "parse.y"
6599 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, NULL_TREE
); ;
6602 #line 2744 "parse.y"
6603 { if (OP0 (yyval
.ttype
) != current_class_type
)
6605 push_nested_class (OP0 (yyval
.ttype
), 3);
6606 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
;
6611 #line 2751 "parse.y"
6612 { got_scope
= NULL_TREE
;
6613 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6614 if (yyvsp
[-1].ttype
!= current_class_type
)
6616 push_nested_class (yyvsp
[-1].ttype
, 3);
6617 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
;
6622 #line 2763 "parse.y"
6623 { got_scope
= NULL_TREE
;
6624 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyval
.ttype
, yyvsp
[0].ttype
); ;
6627 #line 2766 "parse.y"
6628 { got_scope
= NULL_TREE
;
6629 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6632 #line 2772 "parse.y"
6633 { got_scope
= NULL_TREE
;
6634 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyval
.ttype
, yyvsp
[0].ttype
); ;
6637 #line 2775 "parse.y"
6638 { got_scope
= NULL_TREE
;
6639 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6642 #line 2782 "parse.y"
6643 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6646 #line 2787 "parse.y"
6647 { yyval
.ttype
= build_functional_cast (yyvsp
[-3].ftype
.t
, yyvsp
[-1].ttype
); ;
6650 #line 2789 "parse.y"
6651 { yyval
.ttype
= reparse_decl_as_expr (yyvsp
[-3].ftype
.t
, yyvsp
[-1].ttype
); ;
6654 #line 2791 "parse.y"
6655 { yyval
.ttype
= reparse_absdcl_as_expr (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6658 #line 2803 "parse.y"
6659 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6662 #line 2805 "parse.y"
6663 { got_scope
= yyval
.ttype
= make_typename_type (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
6666 #line 2812 "parse.y"
6668 if (TREE_CODE (yyvsp
[-1].ttype
) == IDENTIFIER_NODE
)
6670 yyval
.ttype
= lastiddecl
;
6671 /* Remember that this name has been used in the class
6672 definition, as per [class.scope0] */
6673 if (current_class_type
6674 && TYPE_BEING_DEFINED (current_class_type
)
6675 && ! IDENTIFIER_CLASS_VALUE (yyvsp
[-1].ttype
))
6676 pushdecl_class_level (yyval
.ttype
);
6678 got_scope
= yyval
.ttype
= TREE_TYPE (yyval
.ttype
);
6682 #line 2826 "parse.y"
6684 if (TREE_CODE (yyvsp
[-1].ttype
) == IDENTIFIER_NODE
)
6685 yyval
.ttype
= lastiddecl
;
6686 got_scope
= yyval
.ttype
= TREE_TYPE (yyval
.ttype
);
6690 #line 2832 "parse.y"
6692 if (TREE_CODE (yyval
.ttype
) == IDENTIFIER_NODE
)
6693 yyval
.ttype
= lastiddecl
;
6694 got_scope
= yyval
.ttype
;
6698 #line 2838 "parse.y"
6699 { got_scope
= yyval
.ttype
= complete_type (TREE_TYPE (yyvsp
[-1].ttype
)); ;
6702 #line 2854 "parse.y"
6703 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6706 #line 2859 "parse.y"
6708 if (TREE_CODE_CLASS (TREE_CODE (yyvsp
[-1].ttype
)) == 't')
6709 yyval
.ttype
= make_typename_type (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6710 else if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
6711 cp_error ("`%T' is not a class or namespace", yyvsp
[0].ttype
);
6714 yyval
.ttype
= yyvsp
[0].ttype
;
6715 if (TREE_CODE (yyval
.ttype
) == TYPE_DECL
)
6716 yyval
.ttype
= TREE_TYPE (yyval
.ttype
);
6721 #line 2872 "parse.y"
6722 { yyval
.ttype
= TREE_TYPE (yyvsp
[0].ttype
); ;
6725 #line 2874 "parse.y"
6726 { yyval
.ttype
= make_typename_type (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6729 #line 2876 "parse.y"
6730 { yyval
.ttype
= make_typename_type (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
6733 #line 2881 "parse.y"
6735 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
6736 cp_error ("`%T' is not a class or namespace", yyvsp
[0].ttype
);
6740 #line 2886 "parse.y"
6742 if (TREE_CODE_CLASS (TREE_CODE (yyvsp
[-1].ttype
)) == 't')
6743 yyval
.ttype
= make_typename_type (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6744 else if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
6745 cp_error ("`%T' is not a class or namespace", yyvsp
[0].ttype
);
6748 yyval
.ttype
= yyvsp
[0].ttype
;
6749 if (TREE_CODE (yyval
.ttype
) == TYPE_DECL
)
6750 yyval
.ttype
= TREE_TYPE (yyval
.ttype
);
6755 #line 2899 "parse.y"
6756 { got_scope
= yyval
.ttype
= make_typename_type (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
6759 #line 2901 "parse.y"
6760 { got_scope
= yyval
.ttype
= make_typename_type (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
6763 #line 2906 "parse.y"
6765 if (TREE_CODE (yyvsp
[-1].ttype
) != IDENTIFIER_NODE
)
6766 yyvsp
[-1].ttype
= lastiddecl
;
6768 /* Retrieve the type for the identifier, which might involve
6769 some computation. */
6770 got_scope
= yyval
.ttype
= complete_type (IDENTIFIER_TYPE_VALUE (yyvsp
[-1].ttype
));
6772 if (yyval
.ttype
== error_mark_node
)
6773 cp_error ("`%T' is not a class or namespace", yyvsp
[-1].ttype
);
6777 #line 2918 "parse.y"
6779 if (TREE_CODE (yyvsp
[-1].ttype
) != IDENTIFIER_NODE
)
6780 yyval
.ttype
= lastiddecl
;
6781 got_scope
= yyval
.ttype
= complete_type (TREE_TYPE (yyval
.ttype
));
6785 #line 2924 "parse.y"
6786 { got_scope
= yyval
.ttype
= complete_type (TREE_TYPE (yyval
.ttype
)); ;
6789 #line 2928 "parse.y"
6791 if (TREE_CODE (yyval
.ttype
) == IDENTIFIER_NODE
)
6792 yyval
.ttype
= lastiddecl
;
6793 got_scope
= yyval
.ttype
;
6797 #line 2937 "parse.y"
6798 { yyval
.ttype
= build_min_nt (TEMPLATE_ID_EXPR
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
6801 #line 2942 "parse.y"
6803 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
6804 yyval
.ttype
= IDENTIFIER_GLOBAL_VALUE (yyvsp
[0].ttype
);
6806 yyval
.ttype
= yyvsp
[0].ttype
;
6807 got_scope
= NULL_TREE
;
6811 #line 2951 "parse.y"
6812 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6815 #line 2956 "parse.y"
6816 { got_scope
= NULL_TREE
; ;
6819 #line 2958 "parse.y"
6820 { yyval
.ttype
= yyvsp
[-1].ttype
; got_scope
= NULL_TREE
; ;
6823 #line 2965 "parse.y"
6824 { got_scope
= void_type_node
; ;
6827 #line 2971 "parse.y"
6828 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6831 #line 2973 "parse.y"
6832 { yyval
.ttype
= make_pointer_declarator (yyvsp
[0].ttype
, NULL_TREE
); ;
6835 #line 2975 "parse.y"
6836 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6839 #line 2977 "parse.y"
6840 { yyval
.ttype
= make_reference_declarator (yyvsp
[0].ttype
, NULL_TREE
); ;
6843 #line 2979 "parse.y"
6844 { tree arg
= make_pointer_declarator (yyvsp
[0].ttype
, NULL_TREE
);
6845 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, arg
);
6849 #line 2983 "parse.y"
6850 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6851 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
6855 #line 2992 "parse.y"
6856 { yyval
.ttype
= build_parse_node (ARRAY_REF
, NULL_TREE
, yyvsp
[-1].ttype
); ;
6859 #line 2994 "parse.y"
6860 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
6863 #line 3000 "parse.y"
6864 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6867 #line 3002 "parse.y"
6868 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6871 #line 3004 "parse.y"
6872 { yyval
.ttype
= make_pointer_declarator (yyvsp
[0].ftype
.t
, NULL_TREE
); ;
6875 #line 3006 "parse.y"
6876 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, NULL_TREE
); ;
6879 #line 3008 "parse.y"
6880 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6883 #line 3010 "parse.y"
6884 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6887 #line 3012 "parse.y"
6888 { yyval
.ttype
= make_reference_declarator (yyvsp
[0].ftype
.t
, NULL_TREE
); ;
6891 #line 3014 "parse.y"
6892 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, NULL_TREE
); ;
6895 #line 3016 "parse.y"
6896 { tree arg
= make_pointer_declarator (yyvsp
[0].ttype
, NULL_TREE
);
6897 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, arg
);
6901 #line 3020 "parse.y"
6902 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6903 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
6907 #line 3029 "parse.y"
6908 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
6911 #line 3033 "parse.y"
6912 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6915 #line 3035 "parse.y"
6916 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6919 #line 3037 "parse.y"
6920 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
6923 #line 3039 "parse.y"
6924 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, NULL_TREE
); ;
6927 #line 3041 "parse.y"
6928 { yyval
.ttype
= make_call_declarator (NULL_TREE
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6931 #line 3043 "parse.y"
6932 { set_quals_and_spec (yyval
.ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6935 #line 3045 "parse.y"
6936 { set_quals_and_spec (yyval
.ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6939 #line 3047 "parse.y"
6940 { yyval
.ttype
= build_parse_node (ARRAY_REF
, NULL_TREE
, yyvsp
[-1].ttype
); ;
6943 #line 3049 "parse.y"
6944 { yyval
.ttype
= build_parse_node (ARRAY_REF
, NULL_TREE
, NULL_TREE
); ;
6947 #line 3072 "parse.y"
6949 pedwarn ("ANSI C++ forbids label declarations"); ;
6952 #line 3083 "parse.y"
6954 for (link
= yyvsp
[-1].ttype
; link
; link
= TREE_CHAIN (link
))
6956 tree label
= shadow_label (TREE_VALUE (link
));
6957 C_DECLARED_LABEL_FLAG (label
) = 1;
6958 declare_nonlocal_label (label
);
6963 #line 3097 "parse.y"
6967 #line 3103 "parse.y"
6968 { yyval
.ttype
= begin_compound_stmt (0); ;
6971 #line 3105 "parse.y"
6972 { yyval
.ttype
= finish_compound_stmt (0, yyvsp
[-1].ttype
); ;
6975 #line 3110 "parse.y"
6977 yyval
.ttype
= begin_if_stmt ();
6978 cond_stmt_keyword
= "if";
6982 #line 3115 "parse.y"
6983 { finish_if_stmt_cond (yyvsp
[0].ttype
, yyvsp
[-1].ttype
); ;
6986 #line 3117 "parse.y"
6987 { yyval
.ttype
= finish_then_clause (yyvsp
[-3].ttype
); ;
6990 #line 3122 "parse.y"
6991 { yyval
.ttype
= begin_compound_stmt (0); ;
6994 #line 3124 "parse.y"
6995 { yyval
.ttype
= finish_compound_stmt (0, yyvsp
[-1].ttype
); ;
6998 #line 3129 "parse.y"
7002 #line 3135 "parse.y"
7006 #line 3137 "parse.y"
7007 { finish_expr_stmt (yyvsp
[-1].ttype
); ;
7010 #line 3139 "parse.y"
7011 { begin_else_clause (); ;
7014 #line 3141 "parse.y"
7016 finish_else_clause (yyvsp
[-3].ttype
);
7021 #line 3146 "parse.y"
7022 { finish_if_stmt (); ;
7025 #line 3148 "parse.y"
7027 yyval
.ttype
= begin_while_stmt ();
7028 cond_stmt_keyword
= "while";
7032 #line 3153 "parse.y"
7033 { finish_while_stmt_cond (yyvsp
[0].ttype
, yyvsp
[-1].ttype
); ;
7036 #line 3155 "parse.y"
7037 { finish_while_stmt (yyvsp
[-3].ttype
); ;
7040 #line 3157 "parse.y"
7041 { yyval
.ttype
= begin_do_stmt (); ;
7044 #line 3159 "parse.y"
7046 finish_do_body (yyvsp
[-2].ttype
);
7047 cond_stmt_keyword
= "do";
7051 #line 3164 "parse.y"
7052 { finish_do_stmt (yyvsp
[-1].ttype
, yyvsp
[-5].ttype
); ;
7055 #line 3166 "parse.y"
7056 { yyval
.ttype
= begin_for_stmt (); ;
7059 #line 3168 "parse.y"
7060 { finish_for_init_stmt (yyvsp
[-2].ttype
); ;
7063 #line 3170 "parse.y"
7064 { finish_for_cond (yyvsp
[-1].ttype
, yyvsp
[-5].ttype
); ;
7067 #line 3172 "parse.y"
7068 { finish_for_expr (yyvsp
[-1].ttype
, yyvsp
[-8].ttype
); ;
7071 #line 3174 "parse.y"
7072 { finish_for_stmt (yyvsp
[-3].ttype
, yyvsp
[-10].ttype
); ;
7075 #line 3176 "parse.y"
7076 { begin_switch_stmt (); ;
7079 #line 3178 "parse.y"
7080 { yyval
.ttype
= finish_switch_cond (yyvsp
[-1].ttype
); ;
7083 #line 3180 "parse.y"
7084 { finish_switch_stmt (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
7087 #line 3182 "parse.y"
7088 { finish_case_label (yyvsp
[-1].ttype
, NULL_TREE
); ;
7091 #line 3185 "parse.y"
7092 { finish_case_label (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
7095 #line 3188 "parse.y"
7096 { finish_case_label (NULL_TREE
, NULL_TREE
); ;
7099 #line 3191 "parse.y"
7100 { finish_break_stmt (); ;
7103 #line 3193 "parse.y"
7104 { finish_continue_stmt (); ;
7107 #line 3195 "parse.y"
7108 { finish_return_stmt (NULL_TREE
); ;
7111 #line 3197 "parse.y"
7112 { finish_return_stmt (yyvsp
[-1].ttype
); ;
7115 #line 3199 "parse.y"
7117 finish_asm_stmt (yyvsp
[-4].ttype
, yyvsp
[-2].ttype
, NULL_TREE
, NULL_TREE
,
7122 #line 3205 "parse.y"
7124 finish_asm_stmt (yyvsp
[-6].ttype
, yyvsp
[-4].ttype
, yyvsp
[-2].ttype
, NULL_TREE
,
7129 #line 3211 "parse.y"
7130 { finish_asm_stmt (yyvsp
[-8].ttype
, yyvsp
[-6].ttype
, yyvsp
[-4].ttype
, yyvsp
[-2].ttype
, NULL_TREE
); ;
7133 #line 3215 "parse.y"
7134 { finish_asm_stmt (yyvsp
[-10].ttype
, yyvsp
[-8].ttype
, yyvsp
[-6].ttype
, yyvsp
[-4].ttype
, yyvsp
[-2].ttype
); ;
7137 #line 3217 "parse.y"
7140 pedwarn ("ANSI C++ forbids computed gotos");
7141 finish_goto_stmt (yyvsp
[-1].ttype
);
7145 #line 3223 "parse.y"
7146 { finish_goto_stmt (yyvsp
[-1].ttype
); ;
7149 #line 3225 "parse.y"
7153 #line 3227 "parse.y"
7154 { error ("label must be followed by statement");
7159 #line 3231 "parse.y"
7163 #line 3237 "parse.y"
7165 if (! current_function_parms_stored
)
7166 store_parm_decls ();
7167 expand_start_early_try_stmts ();
7171 #line 3243 "parse.y"
7173 expand_start_all_catch ();
7174 expand_start_catch (NULL
);
7178 #line 3248 "parse.y"
7180 int nested
= (hack_decl_function_context
7181 (current_function_decl
) != NULL_TREE
);
7182 expand_end_all_catch ();
7183 expand_end_catch ();
7184 finish_function (lineno
, (int)yyvsp
[-3].itype
, nested
);
7188 #line 3259 "parse.y"
7189 { yyval
.ttype
= begin_try_block (); ;
7192 #line 3261 "parse.y"
7193 { finish_try_block (yyvsp
[-1].ttype
); ;
7196 #line 3263 "parse.y"
7197 { finish_handler_sequence (yyvsp
[-3].ttype
); ;
7200 #line 3273 "parse.y"
7201 { yyval
.ttype
= begin_handler(); ;
7204 #line 3275 "parse.y"
7205 { finish_handler_parms (yyvsp
[-1].ttype
); ;
7208 #line 3277 "parse.y"
7209 { finish_handler (yyvsp
[-3].ttype
); ;
7212 #line 3287 "parse.y"
7213 { expand_start_catch_block (NULL_TREE
, NULL_TREE
); ;
7216 #line 3303 "parse.y"
7217 { check_for_new_type ("inside exception declarations", yyvsp
[-1].ftype
);
7218 expand_start_catch_block (TREE_PURPOSE (yyvsp
[-1].ftype
.t
),
7219 TREE_VALUE (yyvsp
[-1].ftype
.t
)); ;
7222 #line 3310 "parse.y"
7225 label
= define_label (input_filename
, lineno
, yyvsp
[-1].ttype
);
7226 if (label
&& ! minimal_parse_mode
)
7227 expand_label (label
);
7231 #line 3317 "parse.y"
7235 #line 3319 "parse.y"
7239 #line 3321 "parse.y"
7243 #line 3326 "parse.y"
7244 { if (yyvsp
[-1].ttype
) cplus_expand_expr_stmt (yyvsp
[-1].ttype
); ;
7247 #line 3329 "parse.y"
7249 pedwarn ("ANSI C++ forbids compound statements inside for initializations");
7253 #line 3338 "parse.y"
7254 { emit_line_note (input_filename
, lineno
);
7255 yyval
.ttype
= NULL_TREE
; ;
7258 #line 3341 "parse.y"
7259 { emit_line_note (input_filename
, lineno
); ;
7262 #line 3346 "parse.y"
7263 { yyval
.ttype
= NULL_TREE
; ;
7266 #line 3349 "parse.y"
7267 { yyval
.ttype
= NULL_TREE
; ;
7270 #line 3356 "parse.y"
7271 { yyval
.ttype
= NULL_TREE
; ;
7274 #line 3363 "parse.y"
7275 { yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
); ;
7278 #line 3368 "parse.y"
7279 { yyval
.ttype
= build_tree_list (yyval
.ttype
, yyvsp
[-1].ttype
); ;
7282 #line 3373 "parse.y"
7283 { yyval
.ttype
= tree_cons (NULL_TREE
, yyval
.ttype
, NULL_TREE
); ;
7286 #line 3375 "parse.y"
7287 { yyval
.ttype
= tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
7290 #line 3386 "parse.y"
7292 yyval
.ttype
= empty_parms();
7296 #line 3391 "parse.y"
7297 { yyval
.ttype
= finish_parmlist (build_tree_list (NULL_TREE
, yyvsp
[0].ftype
.t
), 0);
7298 check_for_new_type ("inside parameter list", yyvsp
[0].ftype
); ;
7301 #line 3399 "parse.y"
7302 { yyval
.ttype
= finish_parmlist (yyval
.ttype
, 0); ;
7305 #line 3401 "parse.y"
7306 { yyval
.ttype
= finish_parmlist (yyvsp
[-1].ttype
, 1); ;
7309 #line 3404 "parse.y"
7310 { yyval
.ttype
= finish_parmlist (yyvsp
[-1].ttype
, 1); ;
7313 #line 3406 "parse.y"
7314 { yyval
.ttype
= finish_parmlist (build_tree_list (NULL_TREE
,
7315 yyvsp
[-1].ftype
.t
), 1); ;
7318 #line 3409 "parse.y"
7319 { yyval
.ttype
= finish_parmlist (NULL_TREE
, 1); ;
7322 #line 3411 "parse.y"
7324 /* This helps us recover from really nasty
7325 parse errors, for example, a missing right
7327 yyerror ("possibly missing ')'");
7328 yyval
.ttype
= finish_parmlist (yyvsp
[-1].ttype
, 0);
7334 #line 3421 "parse.y"
7336 /* This helps us recover from really nasty
7337 parse errors, for example, a missing right
7339 yyerror ("possibly missing ')'");
7340 yyval
.ttype
= finish_parmlist (build_tree_list (NULL_TREE
,
7341 yyvsp
[-1].ftype
.t
), 0);
7347 #line 3436 "parse.y"
7348 { maybe_snarf_defarg (); ;
7351 #line 3438 "parse.y"
7352 { yyval
.ttype
= yyvsp
[0].ttype
; ;
7355 #line 3449 "parse.y"
7356 { check_for_new_type ("in a parameter list", yyvsp
[0].ftype
);
7357 yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ftype
.t
); ;
7360 #line 3452 "parse.y"
7361 { check_for_new_type ("in a parameter list", yyvsp
[-1].ftype
);
7362 yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-1].ftype
.t
); ;
7365 #line 3455 "parse.y"
7366 { check_for_new_type ("in a parameter list", yyvsp
[0].ftype
);
7367 yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ftype
.t
); ;
7370 #line 3458 "parse.y"
7371 { yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
7374 #line 3460 "parse.y"
7375 { yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (yyvsp
[0].ttype
, yyvsp
[-2].ttype
)); ;
7378 #line 3466 "parse.y"
7379 { check_for_new_type ("in a parameter list", yyvsp
[-1].ftype
);
7380 yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[-1].ftype
.t
); ;
7383 #line 3476 "parse.y"
7384 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
7385 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
;
7386 yyval
.ftype
.t
= build_tree_list (specs
, yyvsp
[0].ttype
); ;
7389 #line 3480 "parse.y"
7390 { yyval
.ftype
.t
= build_tree_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
7391 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
7394 #line 3483 "parse.y"
7395 { yyval
.ftype
.t
= build_tree_list (get_decl_list (yyvsp
[-1].ftype
.t
), yyvsp
[0].ttype
);
7396 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
7399 #line 3486 "parse.y"
7400 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
7401 yyval
.ftype
.t
= build_tree_list (specs
, yyvsp
[0].ttype
);
7402 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
7405 #line 3490 "parse.y"
7406 { tree specs
= strip_attrs (yyvsp
[0].ftype
.t
);
7407 yyval
.ftype
.t
= build_tree_list (specs
, NULL_TREE
);
7408 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
7411 #line 3494 "parse.y"
7412 { tree specs
= strip_attrs (yyvsp
[-1].ttype
);
7413 yyval
.ftype
.t
= build_tree_list (specs
, yyvsp
[0].ttype
);
7414 yyval
.ftype
.new_type_flag
= 0; ;
7417 #line 3501 "parse.y"
7418 { yyval
.ftype
.t
= build_tree_list (NULL_TREE
, yyvsp
[0].ftype
.t
);
7419 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
7422 #line 3504 "parse.y"
7423 { yyval
.ftype
.t
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-1].ftype
.t
);
7424 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
7427 #line 3515 "parse.y"
7428 { see_typename (); ;
7431 #line 3520 "parse.y"
7433 error ("type specifier omitted for parameter");
7434 yyval
.ttype
= build_tree_list (integer_type_node
, NULL_TREE
);
7438 #line 3525 "parse.y"
7440 error ("type specifier omitted for parameter");
7441 if (TREE_CODE (yyval
.ttype
) == SCOPE_REF
7442 && (TREE_CODE (TREE_OPERAND (yyval
.ttype
, 0)) == TEMPLATE_TYPE_PARM
7443 || TREE_CODE (TREE_OPERAND (yyval
.ttype
, 0)) == TEMPLATE_TEMPLATE_PARM
))
7444 cp_error (" perhaps you want `typename %E' to make it a type", yyval
.ttype
);
7445 yyval
.ttype
= build_tree_list (integer_type_node
, yyval
.ttype
);
7449 #line 3537 "parse.y"
7450 { yyval
.ttype
= NULL_TREE
; ;
7453 #line 3539 "parse.y"
7454 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
7457 #line 3541 "parse.y"
7458 { yyval
.ttype
= build_decl_list (NULL_TREE
, NULL_TREE
); ;
7461 #line 3546 "parse.y"
7462 { yyval
.ttype
= build_decl_list (NULL_TREE
, groktypename(yyvsp
[0].ftype
.t
)); ;
7465 #line 3552 "parse.y"
7467 TREE_CHAIN (yyvsp
[0].ttype
) = yyval
.ttype
;
7468 yyval
.ttype
= yyvsp
[0].ttype
;
7472 #line 3560 "parse.y"
7473 { yyval
.ttype
= NULL_TREE
; ;
7476 #line 3562 "parse.y"
7477 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7480 #line 3564 "parse.y"
7481 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7484 #line 3566 "parse.y"
7485 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7486 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
7490 #line 3573 "parse.y"
7491 { got_scope
= NULL_TREE
; ;
7494 #line 3578 "parse.y"
7495 { yyval
.ttype
= ansi_opname
[MULT_EXPR
]; ;
7498 #line 3580 "parse.y"
7499 { yyval
.ttype
= ansi_opname
[TRUNC_DIV_EXPR
]; ;
7502 #line 3582 "parse.y"
7503 { yyval
.ttype
= ansi_opname
[TRUNC_MOD_EXPR
]; ;
7506 #line 3584 "parse.y"
7507 { yyval
.ttype
= ansi_opname
[PLUS_EXPR
]; ;
7510 #line 3586 "parse.y"
7511 { yyval
.ttype
= ansi_opname
[MINUS_EXPR
]; ;
7514 #line 3588 "parse.y"
7515 { yyval
.ttype
= ansi_opname
[BIT_AND_EXPR
]; ;
7518 #line 3590 "parse.y"
7519 { yyval
.ttype
= ansi_opname
[BIT_IOR_EXPR
]; ;
7522 #line 3592 "parse.y"
7523 { yyval
.ttype
= ansi_opname
[BIT_XOR_EXPR
]; ;
7526 #line 3594 "parse.y"
7527 { yyval
.ttype
= ansi_opname
[BIT_NOT_EXPR
]; ;
7530 #line 3596 "parse.y"
7531 { yyval
.ttype
= ansi_opname
[COMPOUND_EXPR
]; ;
7534 #line 3598 "parse.y"
7535 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
7538 #line 3600 "parse.y"
7539 { yyval
.ttype
= ansi_opname
[LT_EXPR
]; ;
7542 #line 3602 "parse.y"
7543 { yyval
.ttype
= ansi_opname
[GT_EXPR
]; ;
7546 #line 3604 "parse.y"
7547 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
7550 #line 3606 "parse.y"
7551 { yyval
.ttype
= ansi_assopname
[yyvsp
[0].code
]; ;
7554 #line 3608 "parse.y"
7555 { yyval
.ttype
= ansi_opname
[MODIFY_EXPR
]; ;
7558 #line 3610 "parse.y"
7559 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
7562 #line 3612 "parse.y"
7563 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
7566 #line 3614 "parse.y"
7567 { yyval
.ttype
= ansi_opname
[POSTINCREMENT_EXPR
]; ;
7570 #line 3616 "parse.y"
7571 { yyval
.ttype
= ansi_opname
[PREDECREMENT_EXPR
]; ;
7574 #line 3618 "parse.y"
7575 { yyval
.ttype
= ansi_opname
[TRUTH_ANDIF_EXPR
]; ;
7578 #line 3620 "parse.y"
7579 { yyval
.ttype
= ansi_opname
[TRUTH_ORIF_EXPR
]; ;
7582 #line 3622 "parse.y"
7583 { yyval
.ttype
= ansi_opname
[TRUTH_NOT_EXPR
]; ;
7586 #line 3624 "parse.y"
7587 { yyval
.ttype
= ansi_opname
[COND_EXPR
]; ;
7590 #line 3626 "parse.y"
7591 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
7594 #line 3628 "parse.y"
7595 { yyval
.ttype
= ansi_opname
[COMPONENT_REF
]; ;
7598 #line 3630 "parse.y"
7599 { yyval
.ttype
= ansi_opname
[MEMBER_REF
]; ;
7602 #line 3632 "parse.y"
7603 { yyval
.ttype
= ansi_opname
[CALL_EXPR
]; ;
7606 #line 3634 "parse.y"
7607 { yyval
.ttype
= ansi_opname
[ARRAY_REF
]; ;
7610 #line 3636 "parse.y"
7611 { yyval
.ttype
= ansi_opname
[NEW_EXPR
]; ;
7614 #line 3638 "parse.y"
7615 { yyval
.ttype
= ansi_opname
[DELETE_EXPR
]; ;
7618 #line 3640 "parse.y"
7619 { yyval
.ttype
= ansi_opname
[VEC_NEW_EXPR
]; ;
7622 #line 3642 "parse.y"
7623 { yyval
.ttype
= ansi_opname
[VEC_DELETE_EXPR
]; ;
7626 #line 3645 "parse.y"
7627 { yyval
.ttype
= grokoptypename (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7630 #line 3647 "parse.y"
7631 { yyval
.ttype
= ansi_opname
[ERROR_MARK
]; ;
7634 /* the action file gets copied in in place of this dollarsign */
7635 #line 498 "/usr/lib/bison.simple"
7646 short *ssp1
= yyss
- 1;
7647 fprintf (stderr
, "state stack now");
7648 while (ssp1
!= yyssp
)
7649 fprintf (stderr
, " %d", *++ssp1
);
7650 fprintf (stderr
, "\n");
7660 yylsp
->first_line
= yylloc
.first_line
;
7661 yylsp
->first_column
= yylloc
.first_column
;
7662 yylsp
->last_line
= (yylsp
-1)->last_line
;
7663 yylsp
->last_column
= (yylsp
-1)->last_column
;
7668 yylsp
->last_line
= (yylsp
+yylen
-1)->last_line
;
7669 yylsp
->last_column
= (yylsp
+yylen
-1)->last_column
;
7673 /* Now "shift" the result of the reduction.
7674 Determine what state that goes to,
7675 based on the state we popped back to
7676 and the rule number reduced by. */
7680 yystate
= yypgoto
[yyn
- YYNTBASE
] + *yyssp
;
7681 if (yystate
>= 0 && yystate
<= YYLAST
&& yycheck
[yystate
] == *yyssp
)
7682 yystate
= yytable
[yystate
];
7684 yystate
= yydefgoto
[yyn
- YYNTBASE
];
7688 yyerrlab
: /* here on detecting error */
7691 /* If not already recovering from an error, report this error. */
7695 #ifdef YYERROR_VERBOSE
7696 yyn
= yypact
[yystate
];
7698 if (yyn
> YYFLAG
&& yyn
< YYLAST
)
7705 /* Start X at -yyn if nec to avoid negative indexes in yycheck. */
7706 for (x
= (yyn
< 0 ? -yyn
: 0);
7707 x
< (sizeof(yytname
) / sizeof(char *)); x
++)
7708 if (yycheck
[x
+ yyn
] == x
)
7709 size
+= strlen(yytname
[x
]) + 15, count
++;
7710 msg
= (char *) malloc(size
+ 15);
7713 strcpy(msg
, "parse error");
7718 for (x
= (yyn
< 0 ? -yyn
: 0);
7719 x
< (sizeof(yytname
) / sizeof(char *)); x
++)
7720 if (yycheck
[x
+ yyn
] == x
)
7722 strcat(msg
, count
== 0 ? ", expecting `" : " or `");
7723 strcat(msg
, yytname
[x
]);
7732 yyerror ("parse error; also virtual memory exceeded");
7735 #endif /* YYERROR_VERBOSE */
7736 yyerror("parse error");
7740 yyerrlab1
: /* here on error raised explicitly by an action */
7742 if (yyerrstatus
== 3)
7744 /* if just tried and failed to reuse lookahead token after an error, discard it. */
7746 /* return failure if at end of input */
7747 if (yychar
== YYEOF
)
7752 fprintf(stderr
, "Discarding token %d (%s).\n", yychar
, yytname
[yychar1
]);
7758 /* Else will try to reuse lookahead token
7759 after shifting the error token. */
7761 yyerrstatus
= 3; /* Each real token shifted decrements this */
7765 yyerrdefault
: /* current state does not do anything special for the error token. */
7768 /* This is wrong; only states that explicitly want error tokens
7769 should shift them. */
7770 yyn
= yydefact
[yystate
]; /* If its default is to accept any token, ok. Otherwise pop it.*/
7771 if (yyn
) goto yydefault
;
7774 yyerrpop
: /* pop the current state because it cannot handle the error token */
7776 if (yyssp
== yyss
) YYABORT
;
7786 short *ssp1
= yyss
- 1;
7787 fprintf (stderr
, "Error: state stack now");
7788 while (ssp1
!= yyssp
)
7789 fprintf (stderr
, " %d", *++ssp1
);
7790 fprintf (stderr
, "\n");
7796 yyn
= yypact
[yystate
];
7801 if (yyn
< 0 || yyn
> YYLAST
|| yycheck
[yyn
] != YYTERROR
)
7820 fprintf(stderr
, "Shifting error token, ");
7831 #line 3650 "parse.y"
7836 debug_yytranslate (value
)
7839 return yytname
[YYTRANSLATE (value
)];