| |
| /* A Bison parser, made from parse.y |
| by GNU Bison version 1.25 |
| */ |
| |
| #define YYBISON 1 /* Identify Bison output. */ |
| |
| #define IDENTIFIER 258 |
| #define TYPENAME 259 |
| #define SELFNAME 260 |
| #define PFUNCNAME 261 |
| #define SCSPEC 262 |
| #define TYPESPEC 263 |
| #define CV_QUALIFIER 264 |
| #define CONSTANT 265 |
| #define STRING 266 |
| #define ELLIPSIS 267 |
| #define SIZEOF 268 |
| #define ENUM 269 |
| #define IF 270 |
| #define ELSE 271 |
| #define WHILE 272 |
| #define DO 273 |
| #define FOR 274 |
| #define SWITCH 275 |
| #define CASE 276 |
| #define DEFAULT 277 |
| #define BREAK 278 |
| #define CONTINUE 279 |
| #define RETURN 280 |
| #define GOTO 281 |
| #define ASM_KEYWORD 282 |
| #define TYPEOF 283 |
| #define ALIGNOF 284 |
| #define SIGOF 285 |
| #define ATTRIBUTE 286 |
| #define EXTENSION 287 |
| #define LABEL 288 |
| #define REALPART 289 |
| #define IMAGPART 290 |
| #define AGGR 291 |
| #define VISSPEC 292 |
| #define DELETE 293 |
| #define NEW 294 |
| #define THIS 295 |
| #define OPERATOR 296 |
| #define CXX_TRUE 297 |
| #define CXX_FALSE 298 |
| #define NAMESPACE 299 |
| #define TYPENAME_KEYWORD 300 |
| #define USING 301 |
| #define LEFT_RIGHT 302 |
| #define TEMPLATE 303 |
| #define TYPEID 304 |
| #define DYNAMIC_CAST 305 |
| #define STATIC_CAST 306 |
| #define REINTERPRET_CAST 307 |
| #define CONST_CAST 308 |
| #define SCOPE 309 |
| #define EMPTY 310 |
| #define PTYPENAME 311 |
| #define NSNAME 312 |
| #define THROW 313 |
| #define ASSIGN 314 |
| #define OROR 315 |
| #define ANDAND 316 |
| #define MIN_MAX 317 |
| #define EQCOMPARE 318 |
| #define ARITHCOMPARE 319 |
| #define LSHIFT 320 |
| #define RSHIFT 321 |
| #define POINTSAT_STAR 322 |
| #define DOT_STAR 323 |
| #define UNARY 324 |
| #define PLUSPLUS 325 |
| #define MINUSMINUS 326 |
| #define HYPERUNARY 327 |
| #define PAREN_STAR_PAREN 328 |
| #define POINTSAT 329 |
| #define TRY 330 |
| #define CATCH 331 |
| #define PRE_PARSED_FUNCTION_DECL 332 |
| #define EXTERN_LANG_STRING 333 |
| #define ALL 334 |
| #define PRE_PARSED_CLASS_DECL 335 |
| #define DEFARG 336 |
| #define DEFARG_MARKER 337 |
| #define TYPENAME_DEFN 338 |
| #define IDENTIFIER_DEFN 339 |
| #define PTYPENAME_DEFN 340 |
| #define END_OF_LINE 341 |
| #define END_OF_SAVED_INPUT 342 |
| |
| #line 29 "parse.y" |
| |
| /* Cause the `yydebug' variable to be defined. */ |
| #define YYDEBUG 1 |
| |
| #include "config.h" |
| |
| #include "system.h" |
| |
| #include "tree.h" |
| #include "input.h" |
| #include "flags.h" |
| #include "lex.h" |
| #include "cp-tree.h" |
| #include "output.h" |
| #include "except.h" |
| #include "toplev.h" |
| |
| /* Since parsers are distinct for each language, put the language string |
| definition here. (fnf) */ |
| char *language_string = "GNU C++"; |
| |
| extern tree void_list_node; |
| extern struct obstack permanent_obstack; |
| |
| extern int end_of_file; |
| |
| /* Like YYERROR but do call yyerror. */ |
| #define YYERROR1 { yyerror ("syntax error"); YYERROR; } |
| |
| #define OP0(NODE) (TREE_OPERAND (NODE, 0)) |
| #define OP1(NODE) (TREE_OPERAND (NODE, 1)) |
| |
| /* Contains the statement keyword (if/while/do) to include in an |
| error message if the user supplies an empty conditional expression. */ |
| static const char *cond_stmt_keyword; |
| |
| static tree empty_parms PROTO((void)); |
| static int parse_decl PROTO((tree, tree, tree, int, tree *)); |
| |
| /* Nonzero if we have an `extern "C"' acting as an extern specifier. */ |
| int have_extern_spec; |
| int used_extern_spec; |
| |
| /* Cons up an empty parameter list. */ |
| #ifdef __GNUC__ |
| __inline |
| #endif |
| static tree |
| empty_parms () |
| { |
| tree parms; |
| |
| if (strict_prototype |
| || current_class_type != NULL) |
| parms = void_list_node; |
| else |
| parms = NULL_TREE; |
| return parms; |
| } |
| |
| |
| #line 93 "parse.y" |
| typedef union {long itype; tree ttype; char *strtype; enum tree_code code; flagged_type_tree ftype; } YYSTYPE; |
| #line 285 "parse.y" |
| |
| /* List of types and structure classes of the current declaration. */ |
| static tree current_declspecs; |
| |
| /* List of prefix attributes in effect. |
| Prefix attributes are parsed by the reserved_declspecs and declmods |
| rules. They create a list that contains *both* declspecs and attrs. */ |
| /* ??? It is not clear yet that all cases where an attribute can now appear in |
| a declspec list have been updated. */ |
| static tree prefix_attributes; |
| |
| /* When defining an aggregate, this is the kind of the most recent one |
| being defined. (For example, this might be class_type_node.) */ |
| static tree current_aggr; |
| |
| /* When defining an enumeration, this is the type of the enumeration. */ |
| static tree current_enum_type; |
| |
| /* Tell yyparse how to print a token's value, if yydebug is set. */ |
| |
| #define YYPRINT(FILE,YYCHAR,YYLVAL) yyprint(FILE,YYCHAR,YYLVAL) |
| extern void yyprint PROTO((FILE *, int, YYSTYPE)); |
| extern tree combine_strings PROTO((tree)); |
| |
| static int |
| parse_decl(declarator, specs_attrs, attributes, initialized, decl) |
| tree declarator; |
| tree specs_attrs; |
| tree attributes; |
| int initialized; |
| tree* decl; |
| { |
| int sm; |
| |
| split_specs_attrs (specs_attrs, ¤t_declspecs, &prefix_attributes); |
| if (current_declspecs |
| && TREE_CODE (current_declspecs) != TREE_LIST) |
| current_declspecs = build_decl_list (NULL_TREE, current_declspecs); |
| if (have_extern_spec && !used_extern_spec) |
| { |
| current_declspecs = decl_tree_cons (NULL_TREE, |
| get_identifier ("extern"), |
| current_declspecs); |
| used_extern_spec = 1; |
| } |
| sm = suspend_momentary (); |
| *decl = start_decl (declarator, current_declspecs, initialized, |
| attributes, prefix_attributes); |
| return sm; |
| } |
| #include <stdio.h> |
| |
| #ifndef __cplusplus |
| #ifndef __STDC__ |
| #define const |
| #endif |
| #endif |
| |
| |
| |
| #define YYFINAL 1629 |
| #define YYFLAG -32768 |
| #define YYNTBASE 112 |
| |
| #define YYTRANSLATE(x) ((unsigned)(x) <= 342 ? yytranslate[x] : 399) |
| |
| static const char yytranslate[] = { 0, |
| 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 2, 2, 110, 2, 2, 2, 82, 70, 2, 93, |
| 108, 80, 78, 59, 79, 92, 81, 2, 2, 2, |
| 2, 2, 2, 2, 2, 2, 2, 62, 60, 74, |
| 64, 75, 65, 2, 2, 2, 2, 2, 2, 2, |
| 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 94, 2, 111, 69, 2, 2, 2, 2, 2, 2, |
| 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 2, 2, 58, 68, 109, 88, 2, 2, 2, 2, |
| 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 2, 2, 2, 2, 2, 1, 2, 3, 4, 5, |
| 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, |
| 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, |
| 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, |
| 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, |
| 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, |
| 56, 57, 61, 63, 66, 67, 71, 72, 73, 76, |
| 77, 83, 84, 85, 86, 87, 89, 90, 91, 95, |
| 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, |
| 106, 107 |
| }; |
| |
| #if YYDEBUG != 0 |
| static const short yyprhs[] = { 0, |
| 0, 1, 3, 4, 7, 10, 12, 13, 14, 15, |
| 17, 19, 20, 23, 26, 28, 30, 36, 41, 47, |
| 52, 53, 60, 61, 67, 69, 72, 74, 77, 78, |
| 85, 88, 92, 96, 100, 104, 109, 110, 116, 119, |
| 123, 125, 127, 130, 133, 135, 138, 139, 145, 149, |
| 151, 155, 157, 158, 161, 164, 168, 170, 174, 176, |
| 180, 182, 186, 189, 192, 195, 197, 199, 205, 210, |
| 213, 216, 220, 224, 227, 230, 234, 238, 241, 244, |
| 247, 250, 253, 255, 257, 259, 260, 262, 265, 266, |
| 268, 273, 277, 281, 282, 291, 297, 298, 308, 315, |
| 316, 325, 331, 332, 342, 349, 352, 355, 357, 360, |
| 362, 369, 374, 381, 386, 389, 391, 394, 397, 399, |
| 402, 404, 407, 410, 415, 418, 422, 423, 424, 426, |
| 430, 433, 437, 439, 444, 447, 452, 455, 460, 463, |
| 465, 467, 469, 471, 473, 475, 477, 479, 481, 483, |
| 485, 486, 493, 494, 501, 502, 508, 509, 515, 516, |
| 524, 525, 533, 534, 541, 542, 549, 550, 551, 557, |
| 563, 565, 567, 573, 579, 580, 582, 584, 585, 587, |
| 589, 593, 595, 597, 599, 601, 603, 605, 607, 609, |
| 611, 613, 615, 619, 621, 625, 626, 628, 630, 631, |
| 639, 641, 643, 647, 652, 656, 657, 661, 663, 667, |
| 671, 675, 679, 681, 683, 685, 688, 691, 694, 697, |
| 700, 703, 706, 711, 714, 719, 722, 726, 730, 735, |
| 741, 748, 755, 763, 766, 771, 777, 780, 783, 785, |
| 786, 791, 796, 800, 802, 806, 809, 813, 818, 820, |
| 823, 829, 831, 835, 839, 843, 847, 851, 855, 859, |
| 863, 867, 871, 875, 879, 883, 887, 891, 895, 899, |
| 903, 907, 913, 917, 921, 923, 926, 930, 934, 936, |
| 938, 940, 942, 944, 945, 951, 957, 963, 969, 975, |
| 977, 979, 981, 983, 986, 988, 991, 994, 998, 1003, |
| 1008, 1010, 1012, 1014, 1018, 1020, 1022, 1024, 1026, 1030, |
| 1034, 1038, 1039, 1044, 1049, 1052, 1057, 1060, 1065, 1068, |
| 1071, 1073, 1078, 1080, 1088, 1096, 1104, 1112, 1117, 1122, |
| 1125, 1128, 1131, 1133, 1138, 1141, 1144, 1150, 1154, 1157, |
| 1160, 1166, 1170, 1176, 1180, 1185, 1192, 1195, 1197, 1200, |
| 1202, 1205, 1207, 1209, 1211, 1214, 1215, 1218, 1221, 1225, |
| 1229, 1233, 1236, 1239, 1242, 1244, 1246, 1248, 1251, 1254, |
| 1257, 1260, 1262, 1264, 1266, 1268, 1271, 1274, 1278, 1282, |
| 1286, 1291, 1293, 1296, 1299, 1302, 1304, 1306, 1308, 1311, |
| 1314, 1317, 1319, 1321, 1324, 1327, 1331, 1333, 1336, 1338, |
| 1340, 1342, 1347, 1352, 1357, 1362, 1364, 1366, 1368, 1370, |
| 1374, 1376, 1380, 1382, 1386, 1387, 1392, 1393, 1400, 1404, |
| 1405, 1410, 1412, 1416, 1420, 1421, 1426, 1430, 1431, 1433, |
| 1435, 1438, 1445, 1447, 1451, 1452, 1454, 1459, 1466, 1471, |
| 1473, 1475, 1477, 1479, 1481, 1485, 1486, 1489, 1491, 1494, |
| 1498, 1503, 1505, 1507, 1511, 1516, 1520, 1526, 1528, 1533, |
| 1537, 1541, 1542, 1546, 1550, 1554, 1555, 1558, 1561, 1562, |
| 1570, 1575, 1576, 1583, 1587, 1590, 1593, 1596, 1597, 1598, |
| 1599, 1610, 1612, 1613, 1615, 1616, 1618, 1620, 1623, 1626, |
| 1629, 1632, 1635, 1638, 1641, 1644, 1647, 1651, 1656, 1660, |
| 1663, 1667, 1669, 1670, 1674, 1675, 1679, 1682, 1684, 1686, |
| 1687, 1690, 1694, 1696, 1701, 1703, 1707, 1709, 1711, 1716, |
| 1721, 1724, 1727, 1731, 1735, 1736, 1738, 1742, 1745, 1748, |
| 1750, 1753, 1756, 1759, 1762, 1765, 1768, 1771, 1773, 1776, |
| 1779, 1783, 1786, 1789, 1794, 1799, 1802, 1804, 1810, 1815, |
| 1817, 1818, 1820, 1824, 1825, 1827, 1831, 1833, 1835, 1837, |
| 1839, 1844, 1849, 1854, 1859, 1864, 1868, 1873, 1878, 1883, |
| 1888, 1892, 1894, 1898, 1900, 1904, 1907, 1909, 1917, 1918, |
| 1921, 1923, 1926, 1927, 1930, 1935, 1940, 1943, 1948, 1952, |
| 1956, 1959, 1962, 1966, 1968, 1970, 1973, 1975, 1977, 1980, |
| 1983, 1988, 1993, 1997, 2001, 2004, 2006, 2008, 2011, 2015, |
| 2019, 2022, 2025, 2029, 2031, 2035, 2039, 2042, 2045, 2049, |
| 2051, 2056, 2060, 2065, 2069, 2071, 2074, 2077, 2080, 2083, |
| 2086, 2088, 2091, 2096, 2101, 2104, 2106, 2108, 2110, 2112, |
| 2115, 2120, 2123, 2126, 2129, 2132, 2134, 2137, 2140, 2143, |
| 2146, 2150, 2152, 2155, 2159, 2164, 2167, 2170, 2173, 2176, |
| 2179, 2182, 2187, 2190, 2192, 2195, 2198, 2202, 2204, 2208, |
| 2211, 2215, 2218, 2221, 2225, 2227, 2231, 2236, 2240, 2243, |
| 2246, 2248, 2252, 2255, 2258, 2260, 2263, 2267, 2269, 2273, |
| 2275, 2282, 2287, 2292, 2296, 2302, 2306, 2310, 2314, 2317, |
| 2319, 2321, 2324, 2327, 2330, 2331, 2333, 2335, 2338, 2342, |
| 2344, 2347, 2348, 2352, 2353, 2354, 2360, 2362, 2363, 2366, |
| 2368, 2370, 2372, 2375, 2376, 2381, 2383, 2384, 2385, 2391, |
| 2392, 2393, 2401, 2402, 2403, 2404, 2405, 2418, 2419, 2420, |
| 2428, 2429, 2435, 2436, 2444, 2445, 2450, 2453, 2456, 2459, |
| 2463, 2470, 2479, 2490, 2503, 2508, 2512, 2515, 2518, 2520, |
| 2522, 2524, 2526, 2528, 2529, 2530, 2537, 2538, 2539, 2545, |
| 2547, 2550, 2551, 2552, 2558, 2560, 2562, 2566, 2570, 2573, |
| 2576, 2579, 2582, 2585, 2587, 2590, 2591, 2593, 2594, 2596, |
| 2598, 2599, 2601, 2603, 2607, 2612, 2614, 2618, 2619, 2621, |
| 2623, 2625, 2628, 2631, 2634, 2636, 2639, 2642, 2643, 2647, |
| 2649, 2651, 2653, 2656, 2659, 2662, 2667, 2670, 2673, 2676, |
| 2679, 2682, 2685, 2687, 2690, 2692, 2695, 2697, 2699, 2700, |
| 2701, 2703, 2704, 2709, 2712, 2714, 2716, 2720, 2721, 2725, |
| 2729, 2733, 2735, 2738, 2741, 2744, 2747, 2750, 2753, 2756, |
| 2759, 2762, 2765, 2768, 2771, 2774, 2777, 2780, 2783, 2786, |
| 2789, 2792, 2795, 2798, 2801, 2804, 2808, 2811, 2814, 2817, |
| 2820, 2824, 2827, 2830, 2835, 2840, 2844 |
| }; |
| |
| static const short yyrhs[] = { -1, |
| 113, 0, 0, 114, 120, 0, 113, 120, 0, 113, |
| 0, 0, 0, 0, 32, 0, 27, 0, 0, 121, |
| 122, 0, 148, 147, 0, 144, 0, 141, 0, 119, |
| 93, 219, 108, 60, 0, 133, 58, 115, 109, 0, |
| 133, 116, 148, 117, 147, 0, 133, 116, 144, 117, |
| 0, 0, 44, 163, 58, 123, 115, 109, 0, 0, |
| 44, 58, 124, 115, 109, 0, 125, 0, 127, 60, |
| 0, 129, 0, 118, 122, 0, 0, 44, 163, 64, |
| 126, 132, 60, 0, 46, 313, 0, 46, 327, 313, |
| 0, 46, 327, 209, 0, 46, 131, 163, 0, 46, |
| 327, 163, 0, 46, 327, 131, 163, 0, 0, 46, |
| 44, 130, 132, 60, 0, 57, 54, 0, 131, 57, |
| 54, 0, 209, 0, 313, 0, 327, 313, 0, 327, |
| 209, 0, 98, 0, 133, 98, 0, 0, 48, 74, |
| 135, 136, 75, 0, 48, 74, 75, 0, 140, 0, |
| 136, 59, 140, 0, 163, 0, 0, 269, 137, 0, |
| 45, 137, 0, 134, 269, 137, 0, 138, 0, 138, |
| 64, 225, 0, 390, 0, 390, 64, 204, 0, 139, |
| 0, 139, 64, 184, 0, 134, 142, 0, 134, 1, |
| 0, 148, 147, 0, 143, 0, 141, 0, 133, 116, |
| 148, 117, 147, 0, 133, 116, 143, 117, 0, 118, |
| 142, 0, 236, 60, 0, 229, 235, 60, 0, 226, |
| 234, 60, 0, 261, 60, 0, 236, 60, 0, 229, |
| 235, 60, 0, 226, 234, 60, 0, 229, 60, 0, |
| 166, 60, 0, 226, 60, 0, 1, 60, 0, 1, |
| 109, 0, 60, 0, 220, 0, 159, 0, 0, 158, |
| 0, 158, 60, 0, 0, 107, 0, 154, 146, 145, |
| 337, 0, 154, 146, 361, 0, 154, 146, 1, 0, |
| 0, 318, 5, 93, 150, 381, 108, 299, 393, 0, |
| 318, 5, 47, 299, 393, 0, 0, 327, 318, 5, |
| 93, 151, 381, 108, 299, 393, 0, 327, 318, 5, |
| 47, 299, 393, 0, 0, 318, 179, 93, 152, 381, |
| 108, 299, 393, 0, 318, 179, 47, 299, 393, 0, |
| 0, 327, 318, 179, 93, 153, 381, 108, 299, 393, |
| 0, 327, 318, 179, 47, 299, 393, 0, 226, 223, |
| 0, 229, 310, 0, 310, 0, 229, 149, 0, 149, |
| 0, 5, 93, 381, 108, 299, 393, 0, 5, 47, |
| 299, 393, 0, 179, 93, 381, 108, 299, 393, 0, |
| 179, 47, 299, 393, 0, 229, 155, 0, 155, 0, |
| 226, 223, 0, 229, 310, 0, 310, 0, 229, 149, |
| 0, 149, 0, 25, 3, 0, 157, 253, 0, 157, |
| 93, 196, 108, 0, 157, 47, 0, 62, 160, 161, |
| 0, 0, 0, 162, 0, 161, 59, 162, 0, 161, |
| 1, 0, 93, 196, 108, 0, 47, 0, 164, 93, |
| 196, 108, 0, 164, 47, 0, 305, 93, 196, 108, |
| 0, 305, 47, 0, 320, 93, 196, 108, 0, 320, |
| 47, 0, 3, 0, 4, 0, 5, 0, 56, 0, |
| 57, 0, 3, 0, 56, 0, 57, 0, 104, 0, |
| 103, 0, 105, 0, 0, 48, 175, 232, 60, 167, |
| 176, 0, 0, 48, 175, 226, 223, 168, 176, 0, |
| 0, 48, 175, 310, 169, 176, 0, 0, 48, 175, |
| 149, 170, 176, 0, 0, 7, 48, 175, 232, 60, |
| 171, 176, 0, 0, 7, 48, 175, 226, 223, 172, |
| 176, 0, 0, 7, 48, 175, 310, 173, 176, 0, |
| 0, 7, 48, 175, 149, 174, 176, 0, 0, 0, |
| 56, 74, 182, 181, 180, 0, 4, 74, 182, 181, |
| 180, 0, 179, 0, 177, 0, 163, 74, 182, 75, |
| 180, 0, 5, 74, 182, 181, 180, 0, 0, 75, |
| 0, 77, 0, 0, 183, 0, 184, 0, 183, 59, |
| 184, 0, 225, 0, 56, 0, 204, 0, 79, 0, |
| 78, 0, 86, 0, 87, 0, 110, 0, 195, 0, |
| 204, 0, 47, 0, 93, 186, 108, 0, 47, 0, |
| 93, 190, 108, 0, 0, 190, 0, 1, 0, 0, |
| 371, 223, 237, 246, 64, 191, 254, 0, 186, 0, |
| 109, 0, 334, 332, 109, 0, 334, 332, 1, 109, |
| 0, 334, 1, 109, 0, 0, 58, 194, 192, 0, |
| 346, 0, 204, 59, 204, 0, 204, 59, 1, 0, |
| 195, 59, 204, 0, 195, 59, 1, 0, 204, 0, |
| 195, 0, 214, 0, 118, 203, 0, 80, 203, 0, |
| 70, 203, 0, 88, 203, 0, 185, 203, 0, 67, |
| 163, 0, 13, 197, 0, 13, 93, 225, 108, 0, |
| 29, 197, 0, 29, 93, 225, 108, 0, 216, 298, |
| 0, 216, 298, 201, 0, 216, 200, 298, 0, 216, |
| 200, 298, 201, 0, 216, 93, 199, 225, 198, 0, |
| 216, 93, 199, 225, 198, 201, 0, 216, 200, 93, |
| 199, 225, 198, 0, 216, 200, 93, 199, 225, 198, |
| 201, 0, 217, 203, 0, 217, 94, 111, 203, 0, |
| 217, 94, 186, 111, 203, 0, 34, 203, 0, 35, |
| 203, 0, 108, 0, 0, 93, 199, 196, 108, 0, |
| 58, 199, 196, 109, 0, 93, 196, 108, 0, 47, |
| 0, 93, 232, 108, 0, 64, 254, 0, 93, 225, |
| 108, 0, 202, 93, 225, 108, 0, 197, 0, 202, |
| 197, 0, 202, 58, 255, 267, 109, 0, 203, 0, |
| 204, 83, 204, 0, 204, 84, 204, 0, 204, 78, |
| 204, 0, 204, 79, 204, 0, 204, 80, 204, 0, |
| 204, 81, 204, 0, 204, 82, 204, 0, 204, 76, |
| 204, 0, 204, 77, 204, 0, 204, 73, 204, 0, |
| 204, 74, 204, 0, 204, 75, 204, 0, 204, 72, |
| 204, 0, 204, 71, 204, 0, 204, 70, 204, 0, |
| 204, 68, 204, 0, 204, 69, 204, 0, 204, 67, |
| 204, 0, 204, 66, 204, 0, 204, 65, 376, 62, |
| 204, 0, 204, 64, 204, 0, 204, 63, 204, 0, |
| 61, 0, 61, 204, 0, 88, 391, 163, 0, 88, |
| 391, 177, 0, 207, 0, 398, 0, 3, 0, 56, |
| 0, 57, 0, 0, 6, 74, 206, 182, 181, 0, |
| 398, 74, 206, 182, 181, 0, 48, 163, 74, 182, |
| 181, 0, 48, 6, 74, 182, 181, 0, 48, 398, |
| 74, 182, 181, 0, 205, 0, 4, 0, 5, 0, |
| 211, 0, 247, 211, 0, 205, 0, 80, 210, 0, |
| 70, 210, 0, 93, 210, 108, 0, 3, 74, 182, |
| 181, 0, 57, 74, 183, 181, 0, 312, 0, 205, |
| 0, 212, 0, 93, 210, 108, 0, 205, 0, 10, |
| 0, 218, 0, 219, 0, 93, 186, 108, 0, 93, |
| 210, 108, 0, 93, 1, 108, 0, 0, 93, 215, |
| 338, 108, 0, 205, 93, 196, 108, 0, 205, 47, |
| 0, 214, 93, 196, 108, 0, 214, 47, 0, 214, |
| 94, 186, 111, 0, 214, 86, 0, 214, 87, 0, |
| 40, 0, 9, 93, 196, 108, 0, 316, 0, 50, |
| 74, 225, 75, 93, 186, 108, 0, 51, 74, 225, |
| 75, 93, 186, 108, 0, 52, 74, 225, 75, 93, |
| 186, 108, 0, 53, 74, 225, 75, 93, 186, 108, |
| 0, 49, 93, 186, 108, 0, 49, 93, 225, 108, |
| 0, 327, 3, 0, 327, 207, 0, 327, 398, 0, |
| 315, 0, 315, 93, 196, 108, 0, 315, 47, 0, |
| 221, 208, 0, 221, 208, 93, 196, 108, 0, 221, |
| 208, 47, 0, 221, 209, 0, 221, 315, 0, 221, |
| 209, 93, 196, 108, 0, 221, 209, 47, 0, 221, |
| 315, 93, 196, 108, 0, 221, 315, 47, 0, 221, |
| 88, 8, 47, 0, 221, 8, 54, 88, 8, 47, |
| 0, 221, 1, 0, 39, 0, 327, 39, 0, 38, |
| 0, 327, 217, 0, 42, 0, 43, 0, 11, 0, |
| 219, 11, 0, 0, 214, 92, 0, 214, 91, 0, |
| 232, 234, 60, 0, 226, 234, 60, 0, 229, 235, |
| 60, 0, 226, 60, 0, 229, 60, 0, 118, 222, |
| 0, 304, 0, 310, 0, 47, 0, 224, 47, 0, |
| 230, 330, 0, 300, 330, 0, 232, 330, 0, 230, |
| 0, 300, 0, 230, 0, 227, 0, 229, 232, 0, |
| 232, 228, 0, 232, 231, 228, 0, 229, 232, 228, |
| 0, 229, 232, 231, 0, 229, 232, 231, 228, 0, |
| 7, 0, 228, 233, 0, 228, 7, 0, 228, 247, |
| 0, 247, 0, 300, 0, 7, 0, 229, 9, 0, |
| 229, 7, 0, 229, 247, 0, 247, 0, 232, 0, |
| 300, 232, 0, 232, 231, 0, 300, 232, 231, 0, |
| 233, 0, 231, 233, 0, 261, 0, 8, 0, 306, |
| 0, 28, 93, 186, 108, 0, 28, 93, 225, 108, |
| 0, 30, 93, 186, 108, 0, 30, 93, 225, 108, |
| 0, 8, 0, 9, 0, 261, 0, 242, 0, 234, |
| 59, 238, 0, 243, 0, 235, 59, 238, 0, 244, |
| 0, 236, 59, 238, 0, 0, 119, 93, 219, 108, |
| 0, 0, 223, 237, 246, 64, 239, 254, 0, 223, |
| 237, 246, 0, 0, 246, 64, 241, 254, 0, 246, |
| 0, 223, 237, 240, 0, 310, 237, 240, 0, 0, |
| 310, 237, 245, 240, 0, 149, 237, 246, 0, 0, |
| 247, 0, 248, 0, 247, 248, 0, 31, 93, 93, |
| 249, 108, 108, 0, 250, 0, 249, 59, 250, 0, |
| 0, 251, 0, 251, 93, 3, 108, 0, 251, 93, |
| 3, 59, 196, 108, 0, 251, 93, 196, 108, 0, |
| 163, 0, 7, 0, 8, 0, 9, 0, 163, 0, |
| 252, 59, 163, 0, 0, 64, 254, 0, 204, 0, |
| 58, 109, 0, 58, 255, 109, 0, 58, 255, 59, |
| 109, 0, 1, 0, 254, 0, 255, 59, 254, 0, |
| 94, 204, 111, 254, 0, 163, 62, 254, 0, 255, |
| 59, 163, 62, 254, 0, 97, 0, 256, 146, 145, |
| 337, 0, 256, 146, 361, 0, 256, 146, 1, 0, |
| 0, 258, 257, 147, 0, 102, 204, 107, 0, 102, |
| 1, 107, 0, 0, 260, 259, 0, 260, 1, 0, |
| 0, 14, 163, 58, 262, 296, 268, 109, 0, 14, |
| 163, 58, 109, 0, 0, 14, 58, 263, 296, 268, |
| 109, 0, 14, 58, 109, 0, 14, 163, 0, 14, |
| 325, 0, 45, 320, 0, 0, 0, 0, 277, 58, |
| 264, 283, 109, 246, 265, 260, 266, 258, 0, 277, |
| 0, 0, 59, 0, 0, 59, 0, 36, 0, 269, |
| 7, 0, 269, 8, 0, 269, 9, 0, 269, 36, |
| 0, 269, 247, 0, 269, 163, 0, 269, 165, 0, |
| 270, 58, 0, 270, 62, 0, 269, 318, 163, 0, |
| 269, 327, 318, 163, 0, 269, 327, 163, 0, 269, |
| 178, 0, 269, 318, 178, 0, 270, 0, 0, 271, |
| 274, 278, 0, 0, 272, 275, 278, 0, 269, 58, |
| 0, 276, 0, 273, 0, 0, 62, 391, 0, 62, |
| 391, 279, 0, 280, 0, 279, 59, 391, 280, 0, |
| 281, 0, 282, 391, 281, 0, 320, 0, 305, 0, |
| 30, 93, 186, 108, 0, 30, 93, 225, 108, 0, |
| 37, 391, 0, 7, 391, 0, 282, 37, 391, 0, |
| 282, 7, 391, 0, 0, 285, 0, 283, 284, 285, |
| 0, 283, 284, 0, 37, 62, 0, 286, 0, 285, |
| 286, 0, 287, 60, 0, 287, 109, 0, 156, 62, |
| 0, 156, 95, 0, 156, 25, 0, 156, 58, 0, |
| 60, 0, 118, 286, 0, 134, 286, 0, 134, 226, |
| 60, 0, 226, 288, 0, 229, 289, 0, 310, 237, |
| 246, 253, 0, 149, 237, 246, 253, 0, 62, 204, |
| 0, 1, 0, 229, 155, 237, 246, 253, 0, 155, |
| 237, 246, 253, 0, 127, 0, 0, 290, 0, 288, |
| 59, 291, 0, 0, 293, 0, 289, 59, 295, 0, |
| 292, 0, 293, 0, 294, 0, 295, 0, 304, 237, |
| 246, 253, 0, 4, 62, 204, 246, 0, 310, 237, |
| 246, 253, 0, 149, 237, 246, 253, 0, 3, 62, |
| 204, 246, 0, 62, 204, 246, 0, 304, 237, 246, |
| 253, 0, 4, 62, 204, 246, 0, 310, 237, 246, |
| 253, 0, 3, 62, 204, 246, 0, 62, 204, 246, |
| 0, 297, 0, 296, 59, 297, 0, 163, 0, 163, |
| 64, 204, 0, 371, 328, 0, 371, 0, 93, 199, |
| 225, 198, 94, 186, 111, 0, 0, 299, 9, 0, |
| 9, 0, 300, 9, 0, 0, 301, 186, 0, 301, |
| 93, 196, 108, 0, 301, 93, 381, 108, 0, 301, |
| 47, 0, 301, 93, 1, 108, 0, 80, 300, 304, |
| 0, 70, 300, 304, 0, 80, 304, 0, 70, 304, |
| 0, 326, 299, 304, 0, 308, 0, 317, 0, 327, |
| 317, 0, 305, 0, 307, 0, 327, 307, 0, 318, |
| 317, 0, 308, 303, 299, 393, 0, 308, 94, 302, |
| 111, 0, 308, 94, 111, 0, 93, 304, 108, 0, |
| 318, 317, 0, 317, 0, 310, 0, 247, 310, 0, |
| 80, 300, 309, 0, 70, 300, 309, 0, 80, 309, |
| 0, 70, 309, 0, 326, 299, 309, 0, 213, 0, |
| 80, 300, 309, 0, 70, 300, 309, 0, 80, 311, |
| 0, 70, 311, 0, 326, 299, 309, 0, 312, 0, |
| 213, 303, 299, 393, 0, 93, 311, 108, 0, 213, |
| 94, 302, 111, 0, 213, 94, 111, 0, 314, 0, |
| 318, 212, 0, 318, 209, 0, 318, 208, 0, 318, |
| 205, 0, 318, 208, 0, 314, 0, 327, 314, 0, |
| 232, 93, 196, 108, 0, 232, 93, 210, 108, 0, |
| 232, 224, 0, 4, 0, 5, 0, 177, 0, 319, |
| 0, 318, 319, 0, 318, 48, 324, 54, 0, 4, |
| 54, 0, 5, 54, 0, 57, 54, 0, 177, 54, |
| 0, 321, 0, 327, 321, 0, 322, 163, 0, 322, |
| 177, 0, 322, 324, 0, 322, 48, 324, 0, 323, |
| 0, 322, 323, 0, 322, 324, 54, 0, 322, 48, |
| 324, 54, 0, 4, 54, 0, 5, 54, 0, 177, |
| 54, 0, 56, 54, 0, 3, 54, 0, 57, 54, |
| 0, 163, 74, 182, 181, 0, 327, 317, 0, 307, |
| 0, 327, 307, 0, 318, 80, 0, 327, 318, 80, |
| 0, 54, 0, 80, 299, 328, 0, 80, 299, 0, |
| 70, 299, 328, 0, 70, 299, 0, 326, 299, 0, |
| 326, 299, 328, 0, 329, 0, 94, 186, 111, 0, |
| 329, 94, 302, 111, 0, 80, 300, 330, 0, 80, |
| 330, 0, 80, 300, 0, 80, 0, 70, 300, 330, |
| 0, 70, 330, 0, 70, 300, 0, 70, 0, 326, |
| 299, 0, 326, 299, 330, 0, 331, 0, 93, 330, |
| 108, 0, 90, 0, 331, 93, 381, 108, 299, 393, |
| 0, 331, 47, 299, 393, 0, 331, 94, 302, 111, |
| 0, 331, 94, 111, 0, 93, 382, 108, 299, 393, |
| 0, 202, 299, 393, 0, 224, 299, 393, 0, 94, |
| 302, 111, 0, 94, 111, 0, 345, 0, 333, 0, |
| 332, 345, 0, 332, 333, 0, 1, 60, 0, 0, |
| 335, 0, 336, 0, 335, 336, 0, 33, 252, 60, |
| 0, 338, 0, 1, 338, 0, 0, 58, 339, 192, |
| 0, 0, 0, 15, 341, 188, 342, 343, 0, 338, |
| 0, 0, 344, 346, 0, 338, 0, 346, 0, 222, |
| 0, 186, 60, 0, 0, 340, 16, 347, 343, 0, |
| 340, 0, 0, 0, 17, 348, 188, 349, 193, 0, |
| 0, 0, 18, 350, 343, 17, 351, 187, 60, 0, |
| 0, 0, 0, 0, 19, 352, 93, 374, 353, 189, |
| 60, 354, 376, 108, 355, 193, 0, 0, 0, 20, |
| 356, 93, 190, 108, 357, 343, 0, 0, 21, 204, |
| 62, 358, 345, 0, 0, 21, 204, 12, 204, 62, |
| 359, 345, 0, 0, 22, 62, 360, 345, 0, 23, |
| 60, 0, 24, 60, 0, 25, 60, 0, 25, 186, |
| 60, 0, 119, 375, 93, 219, 108, 60, 0, 119, |
| 375, 93, 219, 62, 377, 108, 60, 0, 119, 375, |
| 93, 219, 62, 377, 62, 377, 108, 60, 0, 119, |
| 375, 93, 219, 62, 377, 62, 377, 62, 380, 108, |
| 60, 0, 26, 80, 186, 60, 0, 26, 163, 60, |
| 0, 373, 345, 0, 373, 109, 0, 60, 0, 364, |
| 0, 129, 0, 128, 0, 125, 0, 0, 0, 95, |
| 362, 145, 338, 363, 367, 0, 0, 0, 95, 365, |
| 338, 366, 367, 0, 368, 0, 367, 368, 0, 0, |
| 0, 96, 369, 372, 370, 338, 0, 230, 0, 300, |
| 0, 93, 12, 108, 0, 93, 390, 108, 0, 3, |
| 62, 0, 56, 62, 0, 4, 62, 0, 5, 62, |
| 0, 376, 60, 0, 222, 0, 58, 192, 0, 0, |
| 9, 0, 0, 186, 0, 1, 0, 0, 378, 0, |
| 379, 0, 378, 59, 379, 0, 11, 93, 186, 108, |
| 0, 11, 0, 380, 59, 11, 0, 0, 382, 0, |
| 225, 0, 386, 0, 387, 12, 0, 386, 12, 0, |
| 225, 12, 0, 12, 0, 386, 62, 0, 225, 62, |
| 0, 0, 64, 384, 385, 0, 101, 0, 254, 0, |
| 388, 0, 390, 383, 0, 387, 389, 0, 387, 392, |
| 0, 387, 392, 64, 254, 0, 386, 59, 0, 225, |
| 59, 0, 227, 223, 0, 230, 223, 0, 232, 223, |
| 0, 227, 330, 0, 227, 0, 229, 310, 0, 390, |
| 0, 390, 383, 0, 388, 0, 225, 0, 0, 0, |
| 310, 0, 0, 61, 93, 395, 108, 0, 61, 47, |
| 0, 225, 0, 394, 0, 395, 59, 394, 0, 0, |
| 80, 299, 396, 0, 70, 299, 396, 0, 326, 299, |
| 396, 0, 41, 0, 397, 80, 0, 397, 81, 0, |
| 397, 82, 0, 397, 78, 0, 397, 79, 0, 397, |
| 70, 0, 397, 68, 0, 397, 69, 0, 397, 88, |
| 0, 397, 59, 0, 397, 73, 0, 397, 74, 0, |
| 397, 75, 0, 397, 72, 0, 397, 63, 0, 397, |
| 64, 0, 397, 76, 0, 397, 77, 0, 397, 86, |
| 0, 397, 87, 0, 397, 67, 0, 397, 66, 0, |
| 397, 110, 0, 397, 65, 62, 0, 397, 71, 0, |
| 397, 91, 0, 397, 83, 0, 397, 47, 0, 397, |
| 94, 111, 0, 397, 39, 0, 397, 38, 0, 397, |
| 39, 94, 111, 0, 397, 38, 94, 111, 0, 397, |
| 371, 396, 0, 397, 1, 0 |
| }; |
| |
| #endif |
| |
| #if YYDEBUG != 0 |
| static const short yyrline[] = { 0, |
| 338, 340, 348, 351, 352, 356, 358, 361, 366, 370, |
| 376, 380, 383, 387, 390, 392, 394, 397, 399, 402, |
| 405, 407, 409, 411, 413, 414, 416, 417, 421, 424, |
| 433, 436, 438, 442, 445, 447, 451, 454, 466, 473, |
| 481, 483, 484, 486, 490, 493, 499, 502, 504, 509, |
| 512, 516, 519, 522, 525, 529, 534, 544, 546, 548, |
| 550, 552, 565, 568, 572, 575, 577, 579, 582, 585, |
| 589, 591, 593, 595, 600, 602, 604, 606, 608, 609, |
| 616, 617, 618, 621, 624, 628, 630, 631, 634, 636, |
| 639, 642, 648, 652, 655, 657, 661, 663, 665, 669, |
| 671, 673, 677, 679, 681, 687, 691, 694, 697, 700, |
| 705, 708, 710, 712, 718, 730, 733, 738, 743, 746, |
| 751, 756, 765, 768, 770, 774, 787, 807, 810, 812, |
| 813, 816, 823, 829, 831, 833, 835, 837, 840, 845, |
| 847, 848, 849, 850, 853, 855, 856, 859, 861, 862, |
| 865, 870, 870, 874, 874, 877, 877, 880, 880, 884, |
| 884, 889, 889, 892, 892, 895, 897, 900, 907, 911, |
| 914, 917, 919, 923, 929, 938, 940, 948, 951, 954, |
| 957, 961, 964, 966, 969, 972, 974, 976, 978, 982, |
| 985, 988, 993, 997, 1002, 1006, 1009, 1010, 1014, 1033, |
| 1040, 1043, 1045, 1046, 1047, 1050, 1054, 1055, 1059, 1063, |
| 1066, 1068, 1072, 1075, 1078, 1082, 1085, 1087, 1089, 1091, |
| 1094, 1098, 1100, 1103, 1105, 1111, 1114, 1117, 1120, 1132, |
| 1137, 1141, 1145, 1150, 1152, 1156, 1160, 1162, 1171, 1175, |
| 1178, 1181, 1186, 1189, 1191, 1199, 1212, 1217, 1223, 1225, |
| 1227, 1240, 1243, 1245, 1247, 1249, 1251, 1253, 1255, 1257, |
| 1259, 1261, 1263, 1265, 1267, 1269, 1271, 1273, 1275, 1277, |
| 1279, 1281, 1283, 1287, 1289, 1291, 1308, 1311, 1313, 1314, |
| 1315, 1316, 1317, 1320, 1332, 1335, 1339, 1342, 1344, 1349, |
| 1351, 1352, 1355, 1357, 1365, 1367, 1369, 1371, 1375, 1378, |
| 1382, 1386, 1387, 1388, 1392, 1400, 1401, 1402, 1416, 1418, |
| 1421, 1423, 1434, 1439, 1441, 1443, 1445, 1447, 1449, 1451, |
| 1454, 1456, 1473, 1474, 1478, 1482, 1486, 1490, 1492, 1496, |
| 1498, 1500, 1508, 1510, 1512, 1514, 1518, 1520, 1522, 1524, |
| 1529, 1531, 1533, 1535, 1538, 1540, 1542, 1586, 1589, 1593, |
| 1596, 1600, 1603, 1608, 1610, 1614, 1627, 1630, 1637, 1644, |
| 1649, 1651, 1656, 1658, 1665, 1667, 1671, 1675, 1681, 1685, |
| 1688, 1692, 1695, 1705, 1707, 1710, 1714, 1717, 1720, 1723, |
| 1726, 1732, 1738, 1740, 1745, 1747, 1765, 1768, 1770, 1773, |
| 1779, 1781, 1791, 1795, 1798, 1801, 1806, 1809, 1817, 1819, |
| 1821, 1823, 1826, 1829, 1844, 1863, 1866, 1868, 1871, 1873, |
| 1877, 1879, 1883, 1885, 1889, 1892, 1896, 1902, 1903, 1915, |
| 1922, 1925, 1931, 1935, 1940, 1946, 1947, 1955, 1958, 1962, |
| 1965, 1969, 1974, 1977, 1981, 1984, 1986, 1988, 1990, 1997, |
| 1999, 2000, 2001, 2005, 2008, 2012, 2015, 2021, 2023, 2026, |
| 2029, 2032, 2038, 2041, 2044, 2046, 2048, 2052, 2058, 2066, |
| 2073, 2077, 2079, 2084, 2087, 2090, 2092, 2094, 2098, 2103, |
| 2110, 2114, 2118, 2125, 2129, 2132, 2135, 2141, 2143, 2154, |
| 2158, 2163, 2183, 2185, 2188, 2190, 2195, 2197, 2199, 2201, |
| 2203, 2205, 2209, 2217, 2220, 2222, 2226, 2232, 2237, 2242, |
| 2244, 2248, 2251, 2255, 2261, 2267, 2292, 2298, 2300, 2303, |
| 2306, 2308, 2312, 2314, 2318, 2323, 2329, 2332, 2333, 2354, |
| 2377, 2379, 2383, 2394, 2408, 2409, 2410, 2411, 2414, 2429, |
| 2434, 2440, 2442, 2447, 2449, 2451, 2453, 2455, 2457, 2460, |
| 2470, 2477, 2502, 2508, 2511, 2514, 2516, 2527, 2532, 2535, |
| 2540, 2543, 2550, 2560, 2563, 2570, 2580, 2582, 2585, 2587, |
| 2590, 2597, 2605, 2612, 2618, 2624, 2632, 2636, 2641, 2645, |
| 2648, 2657, 2659, 2663, 2666, 2671, 2675, 2681, 2692, 2695, |
| 2699, 2703, 2711, 2716, 2722, 2725, 2727, 2729, 2735, 2738, |
| 2740, 2742, 2744, 2748, 2751, 2762, 2772, 2774, 2775, 2779, |
| 2784, 2787, 2789, 2791, 2793, 2797, 2803, 2805, 2813, 2816, |
| 2818, 2820, 2822, 2826, 2829, 2832, 2834, 2836, 2838, 2842, |
| 2845, 2848, 2850, 2852, 2854, 2856, 2863, 2867, 2872, 2876, |
| 2881, 2883, 2887, 2890, 2892, 2895, 2897, 2898, 2901, 2903, |
| 2905, 2911, 2921, 2927, 2933, 2947, 2949, 2953, 2967, 2969, |
| 2971, 2975, 2981, 2994, 2996, 3000, 3013, 3019, 3021, 3022, |
| 3023, 3031, 3036, 3045, 3046, 3050, 3053, 3059, 3065, 3068, |
| 3070, 3072, 3074, 3078, 3082, 3086, 3089, 3094, 3097, 3099, |
| 3101, 3103, 3105, 3107, 3109, 3111, 3115, 3119, 3123, 3127, |
| 3128, 3130, 3132, 3134, 3136, 3138, 3140, 3142, 3144, 3152, |
| 3154, 3155, 3156, 3159, 3165, 3167, 3172, 3174, 3177, 3191, |
| 3194, 3197, 3201, 3204, 3211, 3213, 3216, 3218, 3220, 3223, |
| 3226, 3229, 3232, 3234, 3237, 3241, 3243, 3249, 3251, 3252, |
| 3254, 3259, 3261, 3263, 3265, 3267, 3270, 3271, 3273, 3276, |
| 3277, 3280, 3280, 3283, 3283, 3286, 3286, 3288, 3290, 3292, |
| 3294, 3300, 3306, 3309, 3312, 3318, 3320, 3322, 3326, 3328, |
| 3329, 3330, 3332, 3335, 3342, 3347, 3353, 3357, 3359, 3362, |
| 3364, 3367, 3371, 3373, 3376, 3378, 3381, 3398, 3404, 3412, |
| 3414, 3416, 3420, 3423, 3424, 3432, 3436, 3440, 3443, 3444, |
| 3450, 3453, 3456, 3458, 3462, 3467, 3470, 3480, 3485, 3486, |
| 3493, 3496, 3499, 3501, 3504, 3506, 3516, 3530, 3534, 3537, |
| 3539, 3543, 3547, 3550, 3553, 3555, 3559, 3561, 3568, 3575, |
| 3578, 3582, 3586, 3590, 3596, 3600, 3605, 3607, 3610, 3615, |
| 3621, 3632, 3635, 3637, 3641, 3646, 3648, 3655, 3658, 3660, |
| 3662, 3668, 3673, 3676, 3678, 3680, 3682, 3684, 3686, 3688, |
| 3690, 3692, 3694, 3696, 3698, 3700, 3702, 3704, 3706, 3708, |
| 3710, 3712, 3714, 3716, 3718, 3720, 3722, 3724, 3726, 3728, |
| 3730, 3732, 3734, 3736, 3738, 3741, 3743 |
| }; |
| #endif |
| |
| |
| #if YYDEBUG != 0 || defined (YYERROR_VERBOSE) |
| |
| static const char * const yytname[] = { "$","error","$undefined.","IDENTIFIER", |
| "TYPENAME","SELFNAME","PFUNCNAME","SCSPEC","TYPESPEC","CV_QUALIFIER","CONSTANT", |
| "STRING","ELLIPSIS","SIZEOF","ENUM","IF","ELSE","WHILE","DO","FOR","SWITCH", |
| "CASE","DEFAULT","BREAK","CONTINUE","RETURN","GOTO","ASM_KEYWORD","TYPEOF","ALIGNOF", |
| "SIGOF","ATTRIBUTE","EXTENSION","LABEL","REALPART","IMAGPART","AGGR","VISSPEC", |
| "DELETE","NEW","THIS","OPERATOR","CXX_TRUE","CXX_FALSE","NAMESPACE","TYPENAME_KEYWORD", |
| "USING","LEFT_RIGHT","TEMPLATE","TYPEID","DYNAMIC_CAST","STATIC_CAST","REINTERPRET_CAST", |
| "CONST_CAST","SCOPE","EMPTY","PTYPENAME","NSNAME","'{'","','","';'","THROW", |
| "':'","ASSIGN","'='","'?'","OROR","ANDAND","'|'","'^'","'&'","MIN_MAX","EQCOMPARE", |
| "ARITHCOMPARE","'<'","'>'","LSHIFT","RSHIFT","'+'","'-'","'*'","'/'","'%'","POINTSAT_STAR", |
| "DOT_STAR","UNARY","PLUSPLUS","MINUSMINUS","'~'","HYPERUNARY","PAREN_STAR_PAREN", |
| "POINTSAT","'.'","'('","'['","TRY","CATCH","PRE_PARSED_FUNCTION_DECL","EXTERN_LANG_STRING", |
| "ALL","PRE_PARSED_CLASS_DECL","DEFARG","DEFARG_MARKER","TYPENAME_DEFN","IDENTIFIER_DEFN", |
| "PTYPENAME_DEFN","END_OF_LINE","END_OF_SAVED_INPUT","')'","'}'","'!'","']'", |
| "program","extdefs","@1","extdefs_opt",".hush_warning",".warning_ok","extension", |
| "asm_keyword","lang_extdef","@2","extdef","@3","@4","namespace_alias","@5","using_decl", |
| "namespace_using_decl","using_directive","@6","namespace_qualifier","any_id", |
| "extern_lang_string","template_header","@7","template_parm_list","maybe_identifier", |
| "template_type_parm","template_template_parm","template_parm","template_def", |
| "template_extdef","template_datadef","datadef","ctor_initializer_opt","maybe_return_init", |
| "eat_saved_input","fndef","constructor_declarator","@8","@9","@10","@11","fn.def1", |
| "component_constructor_declarator","fn.def2","return_id","return_init","base_init", |
| ".set_base_init","member_init_list","member_init","identifier","notype_identifier", |
| "identifier_defn","explicit_instantiation","@12","@13","@14","@15","@16","@17", |
| "@18","@19","begin_explicit_instantiation","end_explicit_instantiation","template_type", |
| "apparent_template_type","self_template_type",".finish_template_type","template_close_bracket", |
| "template_arg_list_opt","template_arg_list","template_arg","unop","expr","paren_expr_or_null", |
| "paren_cond_or_null","xcond","condition","@20","compstmtend","already_scoped_stmt", |
| "@21","nontrivial_exprlist","nonnull_exprlist","unary_expr",".finish_new_placement", |
| ".begin_new_placement","new_placement","new_initializer","regcast_or_absdcl", |
| "cast_expr","expr_no_commas","notype_unqualified_id","do_id","template_id","object_template_id", |
| "unqualified_id","expr_or_declarator_intern","expr_or_declarator","notype_template_declarator", |
| "direct_notype_declarator","primary","@22","new","delete","boolean.literal", |
| "string","nodecls","object","decl","declarator","fcast_or_absdcl","type_id", |
| "typed_declspecs","typed_declspecs1","reserved_declspecs","declmods","typed_typespecs", |
| "reserved_typespecquals","typespec","typespecqual_reserved","initdecls","notype_initdecls", |
| "nomods_initdecls","maybeasm","initdcl","@23","initdcl0_innards","@24","initdcl0", |
| "notype_initdcl0","nomods_initdcl0","@25","maybe_attribute","attributes","attribute", |
| "attribute_list","attrib","any_word","identifiers_or_typenames","maybe_init", |
| "init","initlist","fn.defpen","pending_inline","pending_inlines","defarg_again", |
| "pending_defargs","structsp","@26","@27","@28","@29","@30","maybecomma","maybecomma_warn", |
| "aggr","named_class_head_sans_basetype","named_class_head_sans_basetype_defn", |
| "named_complex_class_head_sans_basetype","named_class_head","@31","@32","unnamed_class_head", |
| "class_head","maybe_base_class_list","base_class_list","base_class","base_class.1", |
| "base_class_access_list","opt.component_decl_list","access_specifier","component_decl_list", |
| "component_decl","component_decl_1","components","notype_components","component_declarator0", |
| "component_declarator","after_type_component_declarator0","notype_component_declarator0", |
| "after_type_component_declarator","notype_component_declarator","enumlist","enumerator", |
| "new_type_id","cv_qualifiers","nonempty_cv_qualifiers","suspend_mom","nonmomentary_expr", |
| "maybe_parmlist","after_type_declarator","nonnested_type","complete_type_name", |
| "nested_type","direct_after_type_declarator","notype_declarator_intern","notype_declarator", |
| "complex_notype_declarator","complex_direct_notype_declarator","qualified_id", |
| "notype_qualified_id","overqualified_id","functional_cast","type_name","nested_name_specifier", |
| "nested_name_specifier_1","typename_sub","typename_sub0","typename_sub1","typename_sub2", |
| "explicit_template_type","complex_type_name","ptr_to_mem","global_scope","new_declarator", |
| "direct_new_declarator","absdcl","direct_abstract_declarator","stmts","errstmt", |
| "maybe_label_decls","label_decls","label_decl","compstmt_or_error","compstmt", |
| "@33","simple_if","@34","@35","implicitly_scoped_stmt","@36","stmt","simple_stmt", |
| "@37","@38","@39","@40","@41","@42","@43","@44","@45","@46","@47","@48","@49", |
| "@50","function_try_block","@51","@52","try_block","@53","@54","handler_seq", |
| "handler","@55","@56","type_specifier_seq","handler_args","label_colon","for.init.statement", |
| "maybe_cv_qualifier","xexpr","asm_operands","nonnull_asm_operands","asm_operand", |
| "asm_clobbers","parmlist","complex_parmlist","defarg","@57","defarg1","parms", |
| "parms_comma","named_parm","full_parm","parm","see_typename","bad_parm","exception_specification_opt", |
| "ansi_raise_identifier","ansi_raise_identifiers","conversion_declarator","operator", |
| "operator_name", NULL |
| }; |
| #endif |
| |
| static const short yyr1[] = { 0, |
| 112, 112, 114, 113, 113, 115, 115, 116, 117, 118, |
| 119, 121, 120, 122, 122, 122, 122, 122, 122, 122, |
| 123, 122, 124, 122, 122, 122, 122, 122, 126, 125, |
| 127, 127, 127, 128, 128, 128, 130, 129, 131, 131, |
| 132, 132, 132, 132, 133, 133, 135, 134, 134, 136, |
| 136, 137, 137, 138, 138, 139, 140, 140, 140, 140, |
| 140, 140, 141, 141, 142, 142, 142, 142, 142, 142, |
| 143, 143, 143, 143, 144, 144, 144, 144, 144, 144, |
| 144, 144, 144, 145, 145, 146, 146, 146, 147, 147, |
| 148, 148, 148, 150, 149, 149, 151, 149, 149, 152, |
| 149, 149, 153, 149, 149, 154, 154, 154, 154, 154, |
| 155, 155, 155, 155, 156, 156, 156, 156, 156, 156, |
| 156, 157, 158, 158, 158, 159, 160, 161, 161, 161, |
| 161, 162, 162, 162, 162, 162, 162, 162, 162, 163, |
| 163, 163, 163, 163, 164, 164, 164, 165, 165, 165, |
| 167, 166, 168, 166, 169, 166, 170, 166, 171, 166, |
| 172, 166, 173, 166, 174, 166, 175, 176, 177, 177, |
| 177, 178, 178, 179, 180, 181, 181, 182, 182, 183, |
| 183, 184, 184, 184, 185, 185, 185, 185, 185, 186, |
| 186, 187, 187, 188, 188, 189, 189, 189, 191, 190, |
| 190, 192, 192, 192, 192, 194, 193, 193, 195, 195, |
| 195, 195, 196, 196, 197, 197, 197, 197, 197, 197, |
| 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, |
| 197, 197, 197, 197, 197, 197, 197, 197, 198, 199, |
| 200, 200, 201, 201, 201, 201, 202, 202, 203, 203, |
| 203, 204, 204, 204, 204, 204, 204, 204, 204, 204, |
| 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, |
| 204, 204, 204, 204, 204, 204, 205, 205, 205, 205, |
| 205, 205, 205, 206, 207, 207, 208, 208, 208, 209, |
| 209, 209, 210, 210, 211, 211, 211, 211, 212, 212, |
| 213, 213, 213, 213, 214, 214, 214, 214, 214, 214, |
| 214, 215, 214, 214, 214, 214, 214, 214, 214, 214, |
| 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, |
| 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, |
| 214, 214, 214, 214, 214, 214, 214, 216, 216, 217, |
| 217, 218, 218, 219, 219, 220, 221, 221, 222, 222, |
| 222, 222, 222, 222, 223, 223, 224, 224, 225, 225, |
| 225, 225, 225, 226, 226, 227, 227, 227, 227, 227, |
| 227, 228, 228, 228, 228, 228, 229, 229, 229, 229, |
| 229, 229, 230, 230, 230, 230, 231, 231, 232, 232, |
| 232, 232, 232, 232, 232, 233, 233, 233, 234, 234, |
| 235, 235, 236, 236, 237, 237, 239, 238, 238, 241, |
| 240, 240, 242, 243, 245, 244, 244, 246, 246, 247, |
| 247, 248, 249, 249, 250, 250, 250, 250, 250, 251, |
| 251, 251, 251, 252, 252, 253, 253, 254, 254, 254, |
| 254, 254, 255, 255, 255, 255, 255, 256, 257, 257, |
| 257, 258, 258, 259, 259, 260, 260, 260, 262, 261, |
| 261, 263, 261, 261, 261, 261, 261, 264, 265, 266, |
| 261, 261, 267, 267, 268, 268, 269, 269, 269, 269, |
| 269, 269, 270, 271, 271, 271, 272, 272, 272, 272, |
| 272, 273, 274, 273, 275, 273, 276, 277, 277, 278, |
| 278, 278, 279, 279, 280, 280, 281, 281, 281, 281, |
| 282, 282, 282, 282, 283, 283, 283, 283, 284, 285, |
| 285, 286, 286, 286, 286, 286, 286, 286, 286, 286, |
| 286, 287, 287, 287, 287, 287, 287, 287, 287, 287, |
| 288, 288, 288, 289, 289, 289, 290, 290, 291, 291, |
| 292, 292, 293, 293, 293, 293, 294, 294, 295, 295, |
| 295, 296, 296, 297, 297, 298, 298, 298, 299, 299, |
| 300, 300, 301, 302, 303, 303, 303, 303, 304, 304, |
| 304, 304, 304, 304, 305, 305, 306, 306, 306, 307, |
| 308, 308, 308, 308, 308, 308, 309, 309, 310, 310, |
| 310, 310, 310, 310, 311, 311, 311, 311, 311, 311, |
| 312, 312, 312, 312, 312, 312, 313, 313, 314, 314, |
| 315, 315, 316, 316, 316, 317, 317, 317, 318, 318, |
| 318, 319, 319, 319, 319, 320, 320, 321, 321, 321, |
| 321, 322, 322, 322, 322, 323, 323, 323, 323, 323, |
| 323, 324, 325, 325, 325, 326, 326, 327, 328, 328, |
| 328, 328, 328, 328, 328, 329, 329, 330, 330, 330, |
| 330, 330, 330, 330, 330, 330, 330, 330, 331, 331, |
| 331, 331, 331, 331, 331, 331, 331, 331, 331, 332, |
| 332, 332, 332, 333, 334, 334, 335, 335, 336, 337, |
| 337, 339, 338, 341, 342, 340, 343, 344, 343, 345, |
| 345, 346, 346, 347, 346, 346, 348, 349, 346, 350, |
| 351, 346, 352, 353, 354, 355, 346, 356, 357, 346, |
| 358, 346, 359, 346, 360, 346, 346, 346, 346, 346, |
| 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, |
| 346, 346, 346, 362, 363, 361, 365, 366, 364, 367, |
| 367, 369, 370, 368, 371, 371, 372, 372, 373, 373, |
| 373, 373, 374, 374, 374, 375, 375, 376, 376, 376, |
| 377, 377, 378, 378, 379, 380, 380, 381, 381, 381, |
| 382, 382, 382, 382, 382, 382, 382, 384, 383, 385, |
| 385, 386, 386, 386, 386, 386, 387, 387, 388, 388, |
| 388, 388, 388, 388, 389, 389, 390, 390, 391, 392, |
| 392, 393, 393, 393, 394, 395, 395, 396, 396, 396, |
| 396, 397, 398, 398, 398, 398, 398, 398, 398, 398, |
| 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, |
| 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, |
| 398, 398, 398, 398, 398, 398, 398 |
| }; |
| |
| static const short yyr2[] = { 0, |
| 0, 1, 0, 2, 2, 1, 0, 0, 0, 1, |
| 1, 0, 2, 2, 1, 1, 5, 4, 5, 4, |
| 0, 6, 0, 5, 1, 2, 1, 2, 0, 6, |
| 2, 3, 3, 3, 3, 4, 0, 5, 2, 3, |
| 1, 1, 2, 2, 1, 2, 0, 5, 3, 1, |
| 3, 1, 0, 2, 2, 3, 1, 3, 1, 3, |
| 1, 3, 2, 2, 2, 1, 1, 5, 4, 2, |
| 2, 3, 3, 2, 2, 3, 3, 2, 2, 2, |
| 2, 2, 1, 1, 1, 0, 1, 2, 0, 1, |
| 4, 3, 3, 0, 8, 5, 0, 9, 6, 0, |
| 8, 5, 0, 9, 6, 2, 2, 1, 2, 1, |
| 6, 4, 6, 4, 2, 1, 2, 2, 1, 2, |
| 1, 2, 2, 4, 2, 3, 0, 0, 1, 3, |
| 2, 3, 1, 4, 2, 4, 2, 4, 2, 1, |
| 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, |
| 0, 6, 0, 6, 0, 5, 0, 5, 0, 7, |
| 0, 7, 0, 6, 0, 6, 0, 0, 5, 5, |
| 1, 1, 5, 5, 0, 1, 1, 0, 1, 1, |
| 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, |
| 1, 1, 3, 1, 3, 0, 1, 1, 0, 7, |
| 1, 1, 3, 4, 3, 0, 3, 1, 3, 3, |
| 3, 3, 1, 1, 1, 2, 2, 2, 2, 2, |
| 2, 2, 4, 2, 4, 2, 3, 3, 4, 5, |
| 6, 6, 7, 2, 4, 5, 2, 2, 1, 0, |
| 4, 4, 3, 1, 3, 2, 3, 4, 1, 2, |
| 5, 1, 3, 3, 3, 3, 3, 3, 3, 3, |
| 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, |
| 3, 5, 3, 3, 1, 2, 3, 3, 1, 1, |
| 1, 1, 1, 0, 5, 5, 5, 5, 5, 1, |
| 1, 1, 1, 2, 1, 2, 2, 3, 4, 4, |
| 1, 1, 1, 3, 1, 1, 1, 1, 3, 3, |
| 3, 0, 4, 4, 2, 4, 2, 4, 2, 2, |
| 1, 4, 1, 7, 7, 7, 7, 4, 4, 2, |
| 2, 2, 1, 4, 2, 2, 5, 3, 2, 2, |
| 5, 3, 5, 3, 4, 6, 2, 1, 2, 1, |
| 2, 1, 1, 1, 2, 0, 2, 2, 3, 3, |
| 3, 2, 2, 2, 1, 1, 1, 2, 2, 2, |
| 2, 1, 1, 1, 1, 2, 2, 3, 3, 3, |
| 4, 1, 2, 2, 2, 1, 1, 1, 2, 2, |
| 2, 1, 1, 2, 2, 3, 1, 2, 1, 1, |
| 1, 4, 4, 4, 4, 1, 1, 1, 1, 3, |
| 1, 3, 1, 3, 0, 4, 0, 6, 3, 0, |
| 4, 1, 3, 3, 0, 4, 3, 0, 1, 1, |
| 2, 6, 1, 3, 0, 1, 4, 6, 4, 1, |
| 1, 1, 1, 1, 3, 0, 2, 1, 2, 3, |
| 4, 1, 1, 3, 4, 3, 5, 1, 4, 3, |
| 3, 0, 3, 3, 3, 0, 2, 2, 0, 7, |
| 4, 0, 6, 3, 2, 2, 2, 0, 0, 0, |
| 10, 1, 0, 1, 0, 1, 1, 2, 2, 2, |
| 2, 2, 2, 2, 2, 2, 3, 4, 3, 2, |
| 3, 1, 0, 3, 0, 3, 2, 1, 1, 0, |
| 2, 3, 1, 4, 1, 3, 1, 1, 4, 4, |
| 2, 2, 3, 3, 0, 1, 3, 2, 2, 1, |
| 2, 2, 2, 2, 2, 2, 2, 1, 2, 2, |
| 3, 2, 2, 4, 4, 2, 1, 5, 4, 1, |
| 0, 1, 3, 0, 1, 3, 1, 1, 1, 1, |
| 4, 4, 4, 4, 4, 3, 4, 4, 4, 4, |
| 3, 1, 3, 1, 3, 2, 1, 7, 0, 2, |
| 1, 2, 0, 2, 4, 4, 2, 4, 3, 3, |
| 2, 2, 3, 1, 1, 2, 1, 1, 2, 2, |
| 4, 4, 3, 3, 2, 1, 1, 2, 3, 3, |
| 2, 2, 3, 1, 3, 3, 2, 2, 3, 1, |
| 4, 3, 4, 3, 1, 2, 2, 2, 2, 2, |
| 1, 2, 4, 4, 2, 1, 1, 1, 1, 2, |
| 4, 2, 2, 2, 2, 1, 2, 2, 2, 2, |
| 3, 1, 2, 3, 4, 2, 2, 2, 2, 2, |
| 2, 4, 2, 1, 2, 2, 3, 1, 3, 2, |
| 3, 2, 2, 3, 1, 3, 4, 3, 2, 2, |
| 1, 3, 2, 2, 1, 2, 3, 1, 3, 1, |
| 6, 4, 4, 3, 5, 3, 3, 3, 2, 1, |
| 1, 2, 2, 2, 0, 1, 1, 2, 3, 1, |
| 2, 0, 3, 0, 0, 5, 1, 0, 2, 1, |
| 1, 1, 2, 0, 4, 1, 0, 0, 5, 0, |
| 0, 7, 0, 0, 0, 0, 12, 0, 0, 7, |
| 0, 5, 0, 7, 0, 4, 2, 2, 2, 3, |
| 6, 8, 10, 12, 4, 3, 2, 2, 1, 1, |
| 1, 1, 1, 0, 0, 6, 0, 0, 5, 1, |
| 2, 0, 0, 5, 1, 1, 3, 3, 2, 2, |
| 2, 2, 2, 1, 2, 0, 1, 0, 1, 1, |
| 0, 1, 1, 3, 4, 1, 3, 0, 1, 1, |
| 1, 2, 2, 2, 1, 2, 2, 0, 3, 1, |
| 1, 1, 2, 2, 2, 4, 2, 2, 2, 2, |
| 2, 2, 1, 2, 1, 2, 1, 1, 0, 0, |
| 1, 0, 4, 2, 1, 1, 3, 0, 3, 3, |
| 3, 1, 2, 2, 2, 2, 2, 2, 2, 2, |
| 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 2, 2, 2, 2, 2, 3, 2, 2, 2, 2, |
| 3, 2, 2, 4, 4, 3, 2 |
| }; |
| |
| static const short yydefact[] = { 3, |
| 12, 12, 5, 0, 4, 0, 281, 636, 637, 0, |
| 388, 400, 581, 0, 11, 0, 0, 0, 10, 487, |
| 842, 0, 0, 0, 167, 668, 282, 283, 83, 0, |
| 0, 829, 0, 45, 0, 0, 13, 25, 0, 27, |
| 8, 0, 16, 15, 89, 110, 86, 0, 638, 171, |
| 302, 279, 303, 614, 0, 375, 0, 374, 393, 0, |
| 413, 392, 430, 399, 0, 502, 503, 505, 509, 508, |
| 482, 387, 597, 401, 598, 108, 301, 625, 595, 0, |
| 639, 579, 0, 0, 280, 81, 82, 178, 642, 178, |
| 643, 178, 284, 167, 140, 141, 142, 143, 144, 472, |
| 475, 0, 664, 0, 476, 0, 0, 0, 0, 141, |
| 142, 143, 144, 23, 0, 0, 0, 0, 0, 0, |
| 0, 477, 646, 0, 652, 0, 0, 0, 37, 0, |
| 0, 31, 0, 0, 47, 0, 178, 644, 0, 0, |
| 0, 612, 607, 0, 0, 0, 611, 0, 0, 0, |
| 0, 302, 0, 293, 583, 0, 0, 301, 579, 28, |
| 0, 26, 3, 46, 0, 64, 388, 0, 0, 8, |
| 67, 63, 66, 89, 0, 0, 0, 399, 90, 14, |
| 0, 428, 0, 0, 446, 87, 79, 645, 583, 0, |
| 579, 80, 0, 0, 0, 106, 0, 409, 365, 594, |
| 366, 606, 0, 579, 390, 389, 78, 109, 376, 0, |
| 411, 391, 107, 382, 406, 407, 377, 395, 397, 386, |
| 408, 0, 75, 431, 488, 489, 490, 491, 507, 149, |
| 148, 150, 493, 494, 172, 500, 492, 0, 0, 495, |
| 496, 510, 510, 478, 582, 394, 0, 425, 637, 0, |
| 666, 171, 629, 630, 626, 600, 640, 0, 599, 596, |
| 0, 877, 873, 872, 870, 852, 857, 858, 0, 864, |
| 863, 849, 850, 848, 867, 856, 853, 854, 855, 859, |
| 860, 846, 847, 843, 844, 845, 869, 861, 862, 851, |
| 868, 0, 865, 775, 393, 776, 838, 284, 281, 581, |
| 306, 354, 0, 0, 0, 0, 350, 348, 321, 352, |
| 353, 0, 0, 0, 0, 0, 282, 283, 275, 0, |
| 0, 186, 185, 0, 187, 188, 0, 0, 189, 0, |
| 0, 179, 180, 0, 249, 0, 252, 184, 305, 215, |
| 0, 0, 307, 308, 0, 182, 372, 393, 373, 631, |
| 333, 323, 0, 0, 0, 0, 178, 0, 474, 0, |
| 469, 0, 665, 663, 0, 190, 191, 0, 0, 0, |
| 435, 3, 21, 29, 660, 656, 657, 659, 661, 658, |
| 140, 141, 142, 0, 143, 144, 648, 649, 653, 650, |
| 647, 0, 291, 292, 290, 628, 627, 33, 32, 49, |
| 0, 157, 0, 0, 393, 155, 0, 0, 608, 610, |
| 0, 609, 141, 142, 277, 278, 297, 0, 618, 296, |
| 0, 617, 0, 304, 282, 283, 0, 0, 0, 295, |
| 294, 622, 0, 0, 12, 0, 167, 9, 9, 70, |
| 0, 65, 0, 0, 71, 74, 0, 427, 429, 122, |
| 93, 127, 764, 0, 85, 84, 92, 125, 0, 0, |
| 123, 88, 624, 0, 0, 587, 0, 832, 0, 592, |
| 0, 591, 0, 0, 0, 0, 579, 428, 0, 77, |
| 583, 579, 605, 0, 379, 380, 0, 76, 428, 384, |
| 383, 385, 378, 398, 415, 414, 178, 497, 501, 499, |
| 0, 829, 504, 506, 0, 396, 428, 579, 94, 0, |
| 0, 0, 0, 579, 100, 580, 613, 637, 667, 171, |
| 0, 0, 866, 871, 395, 579, 579, 0, 579, 876, |
| 178, 0, 0, 0, 222, 0, 0, 224, 237, 238, |
| 0, 0, 0, 0, 0, 276, 221, 218, 217, 219, |
| 0, 0, 0, 0, 0, 305, 0, 0, 0, 216, |
| 176, 177, 299, 0, 220, 0, 0, 250, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 315, 0, 317, 319, 320, 358, 357, 0, 0, 240, |
| 240, 0, 226, 577, 0, 234, 355, 347, 0, 0, |
| 829, 336, 339, 340, 0, 0, 367, 685, 681, 690, |
| 0, 583, 579, 579, 579, 369, 688, 0, 635, 371, |
| 0, 0, 370, 335, 0, 330, 349, 331, 351, 632, |
| 0, 332, 175, 175, 0, 165, 0, 393, 163, 574, |
| 485, 572, 471, 0, 0, 402, 0, 0, 403, 404, |
| 405, 441, 442, 443, 440, 0, 433, 436, 0, 3, |
| 0, 651, 178, 654, 0, 41, 42, 0, 53, 0, |
| 0, 57, 61, 50, 828, 823, 0, 372, 393, 53, |
| 373, 827, 59, 168, 153, 151, 168, 175, 300, 616, |
| 615, 304, 0, 619, 0, 18, 20, 89, 9, 9, |
| 73, 72, 0, 128, 356, 0, 712, 91, 710, 452, |
| 0, 448, 447, 214, 0, 213, 584, 623, 0, 805, |
| 0, 800, 393, 0, 799, 801, 830, 812, 0, 0, |
| 621, 590, 589, 0, 0, 604, 0, 423, 422, 410, |
| 603, 0, 832, 593, 381, 412, 424, 428, 0, 498, |
| 511, 547, 637, 0, 538, 0, 0, 550, 0, 121, |
| 116, 0, 171, 551, 554, 0, 0, 530, 0, 119, |
| 426, 832, 798, 178, 178, 641, 178, 832, 798, 579, |
| 97, 579, 103, 875, 874, 838, 838, 838, 0, 0, |
| 0, 0, 635, 0, 0, 0, 0, 393, 0, 0, |
| 0, 311, 0, 309, 310, 0, 247, 181, 281, 636, |
| 637, 282, 283, 0, 0, 453, 483, 0, 274, 273, |
| 790, 789, 0, 271, 270, 268, 269, 267, 266, 265, |
| 262, 263, 264, 260, 261, 255, 256, 257, 258, 259, |
| 253, 254, 0, 0, 0, 0, 0, 240, 228, 244, |
| 0, 0, 227, 579, 579, 0, 579, 576, 675, 0, |
| 0, 0, 0, 0, 338, 0, 342, 0, 344, 0, |
| 684, 683, 680, 679, 828, 0, 0, 699, 0, 0, |
| 832, 368, 832, 686, 579, 798, 583, 685, 681, 0, |
| 0, 579, 0, 392, 0, 0, 0, 0, 170, 174, |
| 285, 168, 161, 159, 168, 0, 486, 0, 485, 212, |
| 211, 210, 209, 435, 0, 0, 24, 0, 0, 655, |
| 0, 38, 44, 43, 55, 52, 53, 0, 48, 0, |
| 0, 685, 681, 0, 819, 579, 822, 824, 0, 820, |
| 821, 54, 493, 0, 158, 168, 168, 156, 169, 298, |
| 17, 19, 69, 89, 416, 145, 636, 637, 133, 146, |
| 147, 0, 126, 129, 0, 638, 0, 0, 0, 0, |
| 711, 705, 449, 0, 124, 588, 585, 804, 818, 807, |
| 0, 586, 803, 817, 806, 802, 831, 814, 825, 815, |
| 808, 813, 834, 0, 420, 602, 601, 419, 175, 829, |
| 0, 829, 512, 513, 515, 829, 518, 517, 579, 798, |
| 546, 539, 551, 540, 428, 428, 536, 537, 534, 535, |
| 579, 798, 281, 636, 0, 415, 117, 542, 552, 557, |
| 558, 415, 415, 0, 0, 415, 115, 543, 555, 415, |
| 0, 428, 0, 531, 532, 533, 428, 96, 0, 0, |
| 0, 0, 102, 0, 832, 798, 832, 798, 840, 839, |
| 841, 286, 322, 223, 225, 328, 329, 0, 0, 0, |
| 0, 310, 313, 0, 0, 0, 0, 248, 0, 314, |
| 316, 318, 0, 0, 0, 0, 229, 246, 0, 0, |
| 672, 670, 0, 673, 583, 235, 0, 0, 178, 345, |
| 0, 0, 0, 682, 678, 689, 579, 698, 696, 697, |
| 687, 832, 0, 694, 0, 633, 634, 0, 334, 166, |
| 168, 168, 164, 575, 573, 473, 0, 434, 432, 281, |
| 0, 22, 30, 662, 56, 51, 58, 62, 684, 680, |
| 685, 681, 0, 595, 0, 579, 686, 60, 154, 152, |
| 68, 0, 131, 0, 135, 0, 137, 0, 139, 0, |
| 765, 0, 202, 713, 0, 706, 707, 0, 450, 685, |
| 681, 0, 305, 0, 631, 826, 0, 0, 835, 836, |
| 0, 0, 417, 173, 522, 0, 521, 829, 829, 829, |
| 0, 832, 0, 541, 446, 446, 832, 0, 0, 0, |
| 428, 428, 0, 428, 428, 0, 428, 0, 529, 479, |
| 0, 446, 579, 288, 287, 289, 579, 99, 0, 105, |
| 0, 0, 0, 0, 0, 0, 456, 0, 454, 251, |
| 272, 242, 241, 239, 230, 0, 243, 245, 671, 669, |
| 676, 674, 0, 236, 0, 0, 337, 341, 343, 832, |
| 692, 579, 693, 162, 160, 470, 0, 437, 439, 684, |
| 680, 600, 686, 132, 130, 0, 0, 0, 0, 444, |
| 0, 0, 281, 636, 637, 714, 727, 730, 733, 738, |
| 0, 0, 0, 0, 0, 0, 0, 0, 282, 759, |
| 767, 0, 786, 763, 762, 761, 0, 722, 0, 0, |
| 393, 0, 701, 720, 726, 700, 721, 760, 0, 708, |
| 451, 0, 634, 816, 810, 811, 809, 0, 833, 421, |
| 0, 0, 0, 0, 524, 523, 516, 112, 579, 545, |
| 549, 114, 579, 428, 428, 566, 446, 281, 636, 0, |
| 553, 559, 560, 415, 415, 446, 446, 0, 446, 556, |
| 466, 544, 832, 832, 579, 579, 0, 0, 0, 0, |
| 455, 0, 0, 231, 232, 677, 346, 287, 695, 832, |
| 0, 134, 136, 138, 772, 766, 770, 0, 709, 704, |
| 205, 779, 781, 782, 0, 0, 718, 0, 0, 0, |
| 745, 747, 748, 749, 0, 0, 0, 0, 0, 0, |
| 0, 780, 0, 364, 787, 0, 723, 362, 415, 0, |
| 363, 0, 415, 0, 0, 0, 203, 703, 702, 724, |
| 758, 757, 310, 837, 418, 519, 520, 514, 832, 832, |
| 565, 562, 564, 0, 0, 428, 428, 428, 561, 563, |
| 548, 0, 95, 101, 832, 832, 324, 325, 326, 327, |
| 457, 0, 233, 691, 438, 0, 771, 445, 194, 0, |
| 715, 728, 717, 0, 0, 0, 0, 0, 741, 0, |
| 750, 0, 756, 39, 144, 34, 144, 0, 35, 768, |
| 0, 360, 361, 0, 0, 0, 359, 204, 718, 111, |
| 113, 428, 428, 571, 446, 446, 468, 0, 467, 462, |
| 98, 104, 578, 0, 773, 201, 0, 393, 0, 718, |
| 0, 731, 719, 705, 784, 734, 0, 0, 0, 0, |
| 746, 755, 40, 36, 0, 0, 725, 570, 568, 567, |
| 569, 0, 0, 481, 0, 0, 0, 195, 415, 716, |
| 206, 729, 208, 0, 785, 0, 783, 739, 743, 742, |
| 769, 791, 0, 465, 464, 458, 86, 89, 777, 778, |
| 774, 428, 705, 192, 0, 0, 198, 0, 197, 718, |
| 0, 0, 0, 792, 793, 751, 0, 463, 0, 207, |
| 0, 732, 735, 740, 744, 0, 791, 0, 0, 461, |
| 0, 460, 199, 193, 0, 0, 0, 752, 794, 459, |
| 0, 0, 795, 0, 0, 200, 736, 796, 0, 753, |
| 0, 0, 0, 737, 797, 754, 0, 0, 0 |
| }; |
| |
| static const short yydefgoto[] = { 1627, |
| 435, 2, 436, 165, 707, 330, 181, 3, 4, 37, |
| 670, 372, 1304, 671, 768, 1305, 1306, 392, 1410, 675, |
| 41, 769, 401, 681, 935, 682, 683, 684, 43, 172, |
| 173, 44, 454, 184, 180, 45, 46, 783, 1066, 789, |
| 1068, 47, 771, 772, 185, 186, 455, 714, 973, 974, |
| 650, 975, 234, 48, 957, 956, 697, 694, 1132, 1131, |
| 915, 912, 136, 955, 49, 236, 50, 909, 563, 331, |
| 332, 333, 334, 1307, 1576, 1471, 1578, 1517, 1611, 1174, |
| 1552, 1573, 366, 901, 335, 1245, 856, 602, 863, 336, |
| 337, 367, 339, 357, 52, 254, 676, 417, 154, 53, |
| 54, 340, 558, 341, 342, 343, 344, 456, 345, 1308, |
| 495, 624, 346, 1309, 56, 217, 687, 347, 218, 536, |
| 219, 197, 210, 60, 478, 496, 1331, 748, 1192, 198, |
| 211, 61, 507, 749, 62, 63, 666, 667, 668, 1281, |
| 461, 826, 827, 1567, 1568, 1544, 1509, 1452, 64, 654, |
| 360, 505, 1361, 1510, 1087, 918, 65, 66, 67, 68, |
| 69, 242, 243, 70, 71, 503, 1013, 1014, 1015, 1016, |
| 776, 1053, 777, 778, 779, 1038, 1048, 1039, 1351, 1040, |
| 1041, 1352, 1353, 651, 652, 603, 891, 349, 464, 465, |
| 191, 199, 73, 74, 75, 200, 142, 143, 157, 77, |
| 132, 350, 351, 352, 79, 353, 81, 1018, 123, 124, |
| 125, 512, 105, 82, 354, 868, 869, 886, 627, 1312, |
| 1313, 1175, 1176, 1177, 718, 1314, 982, 1315, 1395, 1520, |
| 1474, 1475, 1316, 1317, 1499, 1396, 1521, 1397, 1554, 1398, |
| 1556, 1605, 1621, 1399, 1580, 1530, 1581, 1480, 457, 715, |
| 1279, 1318, 1413, 1535, 1386, 1387, 1466, 1547, 1519, 1515, |
| 1319, 1526, 1416, 833, 1583, 1584, 1585, 1619, 734, 735, |
| 1002, 1188, 1327, 736, 737, 738, 998, 739, 148, 1000, |
| 741, 1190, 1191, 530, 84, 85 |
| }; |
| |
| static const short yypact[] = { 109, |
| 134,-32768,-32768, 4885,-32768, 42, 50, 73, 331, 142, |
| 271,-32768,-32768, 1327,-32768, 270, 277, 309,-32768,-32768, |
| -32768, 1510, 1154, 1165, 343,-32768, 369, 372,-32768, 2239, |
| 2239,-32768, 2031,-32768, 4885, 361,-32768,-32768, 315,-32768, |
| 84, 5387,-32768,-32768, 384, 924, 493, 401, 467,-32768, |
| -32768,-32768,-32768, 510, 3805,-32768, 4032,-32768, 862, 246, |
| -32768, 525,-32768,-32768, 1990, 769,-32768,-32768,-32768,-32768, |
| 528, 3436,-32768,-32768,-32768, 1345,-32768,-32768,-32768, 644, |
| -32768,-32768, 214, 6209, 540,-32768,-32768, 9588,-32768, 9588, |
| -32768, 9588,-32768,-32768,-32768, 73, 331, 369, 573, 490, |
| 594, 467,-32768, 334,-32768, 214, 9674, 9674, 561,-32768, |
| -32768,-32768,-32768,-32768, 599, 607, 413, 441, 451, 616, |
| 621,-32768,-32768, 1360,-32768, 632, 73, 331,-32768, 369, |
| 573,-32768, 3078, 1248, 602, 10763, 9588,-32768, 9588, 3145, |
| 2789,-32768,-32768, 1580, 603, 2789,-32768, 1199, 2798, 2798, |
| 2031, 570, 619,-32768, 640, 392, 653, 669,-32768,-32768, |
| 726,-32768, 643,-32768, 10522,-32768,-32768, 343, 6171, 688, |
| -32768,-32768,-32768, 384, 5433, 10818, 422, 745,-32768,-32768, |
| 718, 525, 825, 92, 287, 770,-32768,-32768, 723, 154, |
| -32768,-32768, 3340, 3340, 3908, 1345, 580,-32768,-32768, 637, |
| -32768,-32768, 1772,-32768,-32768,-32768,-32768,-32768, 862, 660, |
| -32768, 525, 1345,-32768,-32768,-32768, 1432, 862,-32768, 525, |
| -32768, 5433,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, |
| -32768,-32768, 774,-32768, 467,-32768, 525, 1901, 1725,-32768, |
| -32768, 793, 793,-32768,-32768, 1264, 214,-32768, 579, 625, |
| -32768, 301,-32768,-32768,-32768,-32768,-32768, 3593,-32768,-32768, |
| 195,-32768, 773, 783,-32768,-32768,-32768,-32768, 801,-32768, |
| -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, |
| -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, |
| -32768, 768,-32768,-32768, 1264, 3436, 1127,-32768,-32768, 798, |
| -32768,-32768, 10282, 10368, 10454, 10454,-32768,-32768,-32768,-32768, |
| -32768, 806, 843, 861, 886, 889, 1274, 573, 9760, 1748, |
| 10454,-32768,-32768, 10454,-32768,-32768, 10454, 7137,-32768, 10454, |
| 470, 855,-32768, 10454,-32768, 9846,-32768, 11114, 354, 1918, |
| 5474, 9932,-32768, 962, 1226,-32768, 694, 5865, 5704,-32768, |
| 357,-32768, 3224, 1609, 470, 470, 9588, 10763,-32768, 1748, |
| 872, 1748,-32768,-32768, 877, 937, 6534, 890, 903, 916, |
| 1834, 643,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, |
| 607, 413, 441, 1748, 451, 616, 943, 621,-32768, 971, |
| -32768, 311, 73, 331,-32768,-32768,-32768,-32768,-32768,-32768, |
| 10927,-32768, 5433, 11007, 2304,-32768, 470, 986,-32768,-32768, |
| 554,-32768, 953, 961,-32768,-32768,-32768, 2789,-32768,-32768, |
| 2789,-32768, 933,-32768,-32768,-32768, 392, 392, 392,-32768, |
| -32768,-32768, 3593, 66, 935, 939,-32768,-32768,-32768,-32768, |
| 10763,-32768, 687, 778,-32768,-32768, 726,-32768, 525,-32768, |
| -32768,-32768,-32768, 117,-32768,-32768,-32768,-32768, 7689, 9760, |
| -32768,-32768,-32768, 9760, 940,-32768, 7046, 132, 4140,-32768, |
| 4140,-32768, 4757, 4757, 3908, 946,-32768, 525, 5433,-32768, |
| 948,-32768,-32768, 5008, 1432, 862, 5433,-32768, 525,-32768, |
| -32768, 525, 1432,-32768, 1045,-32768, 9588, 774,-32768,-32768, |
| 1901,-32768,-32768,-32768, 3498, 1264, 525,-32768,-32768, 1001, |
| 1003, 1024, 1007,-32768,-32768,-32768,-32768, 742,-32768, 363, |
| 979, 985,-32768,-32768, 1264,-32768,-32768, 817,-32768,-32768, |
| 9588, 9760, 798, 7137,-32768, 436, 7137,-32768,-32768,-32768, |
| 9674, 6081, 6081, 6081, 6081, 11092,-32768,-32768,-32768,-32768, |
| 977, 10024, 10024, 7137, 990, 59, 991, 1044, 996,-32768, |
| -32768,-32768,-32768, 9588,-32768, 7228, 7137,-32768, 9760, 9760, |
| 7780, 9760, 9760, 9760, 9760, 9760, 9760, 9760, 9760, 9760, |
| 9760, 9760, 9760, 9760, 9760, 9760, 9760, 9760, 9760, 9760, |
| -32768, 9760,-32768,-32768,-32768,-32768,-32768, 9760, 9760,-32768, |
| -32768, 4521, 430, 454, 8321,-32768,-32768,-32768, 1049, 625, |
| 1098, 502, 565, 574, 3291, 603,-32768, 1364, 1364,-32768, |
| 3759, 1000, 1028, 1079,-32768,-32768, 725, 8871, 380,-32768, |
| 896, 214,-32768,-32768, 9760,-32768,-32768,-32768,-32768,-32768, |
| 243, 540,-32768,-32768, 470,-32768, 5433, 2388,-32768, 1064, |
| 1070,-32768,-32768, 1748, 943,-32768, 8053, 8144,-32768,-32768, |
| -32768,-32768,-32768,-32768,-32768, 49,-32768, 1037, 1025, 643, |
| 311, 1082, 9588,-32768, 1083,-32768,-32768, 1248, 1649, 1103, |
| 63, 1081, 1088,-32768,-32768, 2867, 10818, 2867, 3084, 1990, |
| 5001,-32768, 1100,-32768,-32768,-32768,-32768,-32768,-32768,-32768, |
| -32768, 1054, 1057,-32768, 1113,-32768,-32768, 384,-32768,-32768, |
| -32768,-32768, 70, 1053, 1115, 1044,-32768,-32768,-32768,-32768, |
| 5971, 11092,-32768, 937, 1072, 6534,-32768,-32768, 1078,-32768, |
| 1086, 199, 5100, 1087,-32768, 324, 10581, 1123, 1132, 615, |
| -32768,-32768,-32768, 4140, 4140,-32768, 5008,-32768, 1136,-32768, |
| -32768, 1095, 132,-32768, 1432,-32768,-32768, 525, 1138,-32768, |
| 1589,-32768, 766, 566,-32768, 9760, 4591,-32768, 4591, 175, |
| 175, 407, 618, 1653, 10636, 76, 4269,-32768, 121, 175, |
| -32768, 132, 10940, 9588, 9588,-32768, 9588, 132, 10940,-32768, |
| -32768,-32768,-32768,-32768,-32768, 753, 753, 753, 470, 1107, |
| 1110, 9239, 1079, 1116, 1118, 1120, 1150, 6074, 1158, 1160, |
| 1163,-32768, 1133,-32768,-32768, 1137,-32768,-32768, 1187, 295, |
| 859, 153, 57, 9760, 1188,-32768, 1201, 1156, 11092, 11092, |
| -32768,-32768, 1200, 11132, 5299, 11045, 11147, 5771, 5810, 5228, |
| 3744, 3744, 3744, 1789, 1789, 1590, 1590, 60, 60, 60, |
| -32768,-32768, 1171, 1176, 1155, 9760, 9674,-32768, 430,-32768, |
| 7689, 9760,-32768,-32768,-32768, 9760,-32768,-32768, 1191, 10454, |
| 1179, 1204, 1221, 1250,-32768, 9760,-32768, 9760,-32768, 9760, |
| 2159,-32768, 2159,-32768, 124, 1194, 1195,-32768, 1196, 6081, |
| 132,-32768, 132, 2743,-32768, 10940, 1202, 9055, 9055, 6858, |
| 1209, 9846, 1212, 392, 2599, 1609, 900, 1213,-32768,-32768, |
| -32768,-32768,-32768,-32768,-32768, 9760, 1748, 1190, 1070,-32768, |
| 11092,-32768, 11092, 1834, 1215, 10110,-32768, 1203, 1266,-32768, |
| 470,-32768,-32768,-32768,-32768,-32768, 1551, 10927,-32768, 6081, |
| 9588, 1765, 1765, 2979,-32768,-32768,-32768,-32768, 1772,-32768, |
| -32768,-32768, 1009, 9760,-32768,-32768,-32768,-32768,-32768,-32768, |
| -32768,-32768,-32768, 384,-32768, 607, 413, 441,-32768, 451, |
| 616, 9760, 1251,-32768, 629, 621, 646, 689, 1794, 1044, |
| -32768, 61,-32768, 55,-32768,-32768,-32768,-32768,-32768,-32768, |
| 8963,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1132, 1263, |
| -32768,-32768,-32768, 6081,-32768,-32768,-32768, 1273,-32768,-32768, |
| 1235,-32768, 1280,-32768,-32768, 217,-32768,-32768,-32768, 10940, |
| 11092,-32768, 3610,-32768, 525, 525,-32768,-32768,-32768,-32768, |
| -32768, 10940, 452, 885, 9760, 1045,-32768, 1281,-32768,-32768, |
| -32768, 282, 680, 644, 603, 974, 175, 1285,-32768, 1117, |
| 1279, 525, 6339,-32768,-32768,-32768, 525,-32768, 1237, 470, |
| 470, 470,-32768, 1238, 132, 10940, 132, 10940,-32768,-32768, |
| -32768,-32768,-32768,-32768,-32768,-32768,-32768, 1260, 1261, 1265, |
| 1268, 1054,-32768, 11002, 7689, 7322, 1257,-32768, 9760,-32768, |
| -32768,-32768, 1262, 1267, 1272, 6081,-32768,-32768, 1278, 303, |
| 852, 852, 1276, 852,-32768,-32768, 10454, 1381, 9588,-32768, |
| 1283, 1288, 1290,-32768,-32768,-32768,-32768,-32768,-32768,-32768, |
| -32768, 132, 1294,-32768, 1292,-32768,-32768, 2997,-32768,-32768, |
| -32768,-32768,-32768, 11092,-32768,-32768, 1297,-32768,-32768, 169, |
| 1305,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 2320, 2320, |
| 2539, 2539, 2979,-32768, 1772,-32768, 2686, 11114,-32768,-32768, |
| -32768, 1311,-32768, 1053,-32768, 9760,-32768, 9760,-32768, 9760, |
| -32768, 1748,-32768,-32768, 6744, 1357,-32768, 7413,-32768, 9147, |
| 9147, 6952, 218, 1314, 423,-32768, 7689, 7504,-32768,-32768, |
| 213, 7689,-32768,-32768,-32768, 9674,-32768,-32768,-32768,-32768, |
| 1186, 132, 1318,-32768, 1363, 1363, 132, 1320, 9760, 9760, |
| 4789, 525, 4409, 525, 525, 973, 525, 5170,-32768,-32768, |
| 8389, 1363,-32768,-32768, 1375,-32768,-32768,-32768, 1324,-32768, |
| 1335, 9760, 9760, 9760, 9760, 7689,-32768, 1383,-32768,-32768, |
| 11092,-32768,-32768,-32768, 662, 1272,-32768,-32768,-32768,-32768, |
| -32768,-32768, 1337,-32768, 1403, 470,-32768,-32768,-32768, 132, |
| -32768,-32768,-32768,-32768,-32768,-32768, 9760,-32768,-32768, 2320, |
| 2320,-32768, 2686,-32768,-32768, 1344, 1347, 1354, 1369,-32768, |
| 835, 174, 1391, 908, 912,-32768,-32768,-32768,-32768,-32768, |
| 9760, 1405, 1409, 1410, 9325, 495, 1748, 884, 458,-32768, |
| -32768, 9416, 1469,-32768,-32768,-32768, 1421,-32768, 5273, 10704, |
| 10873, 6621,-32768,-32768, 1468,-32768,-32768,-32768, 8482,-32768, |
| -32768, 1378, 856,-32768,-32768,-32768,-32768, 6081,-32768,-32768, |
| 7689, 1379, 1380, 1589,-32768,-32768,-32768,-32768,-32768,-32768, |
| -32768,-32768,-32768, 4789, 4789,-32768, 1363, 523, 1093, 9760, |
| -32768,-32768,-32768, 1045, 1045, 1363, 1363, 742, 1363,-32768, |
| -32768,-32768, 132, 132,-32768,-32768, 1386, 1387, 1388, 1389, |
| -32768, 7689, 9760,-32768, 662,-32768,-32768,-32768,-32768, 132, |
| 1393,-32768,-32768,-32768,-32768, 1369,-32768, 1748,-32768,-32768, |
| -32768,-32768,-32768,-32768, 706, 706, 1044, 1398, 1413, 6390, |
| -32768,-32768,-32768,-32768, 1447, 9760, 1449, 1448, 1457, 1971, |
| 2010,-32768, 1044,-32768,-32768, 1425,-32768,-32768, 1045, 871, |
| -32768, 883, 1045, 9502, 909, 313,-32768,-32768,-32768,-32768, |
| -32768,-32768, 497,-32768,-32768,-32768,-32768,-32768, 132, 132, |
| -32768,-32768,-32768, 9760, 9760, 4789, 525, 525,-32768,-32768, |
| -32768, 6483,-32768,-32768, 132, 132,-32768,-32768,-32768,-32768, |
| -32768, 1408,-32768,-32768,-32768, 1428,-32768,-32768,-32768, 9674, |
| -32768,-32768,-32768, 1508, 8778, 5575, 9674, 9760,-32768, 8590, |
| -32768, 1467,-32768,-32768, 1478,-32768, 1457, 1971,-32768,-32768, |
| 726,-32768,-32768, 10196, 10196, 7598,-32768,-32768, 1044,-32768, |
| -32768, 4789, 4789,-32768, 1363, 1363,-32768, 8235,-32768,-32768, |
| -32768,-32768,-32768, 10994,-32768,-32768, 1427, 995, 5433, 1044, |
| 8684,-32768,-32768, 61,-32768,-32768, 1473, 1430, 11070, 8590, |
| -32768,-32768,-32768,-32768, 1369, 104,-32768,-32768,-32768,-32768, |
| -32768, 1434, 11024, 1442, 1435, 1438, 1044,-32768, 1045,-32768, |
| -32768,-32768,-32768, 731,-32768, 7871,-32768,-32768,-32768,-32768, |
| 1369, 1531, 1490,-32768,-32768,-32768, 493, 384,-32768,-32768, |
| -32768, 525, 61,-32768, 9760, 1491,-32768, 1497,-32768, 1044, |
| 8590, 1470, 746, 1502,-32768,-32768, 100,-32768, 1498,-32768, |
| 1456,-32768,-32768,-32768,-32768, 9760, 1531, 1514, 1531,-32768, |
| 117,-32768,-32768,-32768, 7962, 1480, 767,-32768,-32768,-32768, |
| 7689, 1487,-32768, 1565, 1521,-32768,-32768,-32768, 312,-32768, |
| 8684, 1586, 1543,-32768,-32768,-32768, 1605, 1606,-32768 |
| }; |
| |
| static const short yypgoto[] = {-32768, |
| 1618,-32768, -335, 1452, -377, -1, 10, 1621,-32768, 1595, |
| -32768,-32768, 205,-32768, 232,-32768, 275,-32768, 221, 978, |
| 45, 7,-32768,-32768, -661,-32768,-32768, 704, 53, 1486, |
| 1220, 1499, -706, 111, -173, 4, 72,-32768,-32768,-32768, |
| -32768,-32768, 892,-32768,-32768,-32768,-32768,-32768,-32768, 518, |
| 344,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, |
| -32768,-32768, 1593, -653, 5642, 1451, -65, -578, -210, 329, |
| 1554, -529,-32768, 583,-32768, 305,-32768, -1379,-32768, -1145, |
| 83,-32768, 2023, 910, -286, 456, -538,-32768, -811, 3215, |
| -101, 1343, 4049, 1414, -318, -60, -77, 1310, -137, -47, |
| 106,-32768,-32768,-32768, -333,-32768, -153,-32768,-32768, -1238, |
| -15, -346, 3891, 113, 1282, -158, 48, 23, -199, -4, |
| -163, -171, -169, -16, 24, -3,-32768, -220,-32768,-32768, |
| -32768,-32768,-32768, 840, 1206, 54,-32768, 784,-32768,-32768, |
| -850, -443, 993,-32768,-32768,-32768,-32768,-32768, 81,-32768, |
| -32768,-32768,-32768,-32768,-32768, 792, -362,-32768,-32768,-32768, |
| -32768,-32768,-32768,-32768,-32768, 1474,-32768, 385, 517,-32768, |
| -32768,-32768, 667, -708,-32768,-32768,-32768,-32768,-32768,-32768, |
| 947,-32768, 503, 1077, 807, 1134, 2728, 95, 25, -459, |
| 1534, 1793, -689,-32768, 6,-32768, 941, 238, -58, 545, |
| -106, 4549, 1390,-32768, 5209, 2423, 1969, -11, -113,-32768, |
| 1613, -53,-32768, 4653, 3236, -112,-32768, 3011,-32768,-32768, |
| 432,-32768,-32768, 569, 141, -387,-32768,-32768,-32768,-32768, |
| -1389,-32768, -1234, -1400,-32768,-32768,-32768,-32768,-32768,-32768, |
| -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 160,-32768, |
| -32768,-32768,-32768,-32768, 215, -1354,-32768,-32768, -41,-32768, |
| -32768,-32768,-32768, -1402, 151,-32768, 157,-32768, -707, -598, |
| 762,-32768,-32768,-32768,-32768, -396,-32768, -395, -397,-32768, |
| 1243, 434,-32768, 46,-32768, -226 |
| }; |
| |
| |
| #define YYLAST 11231 |
| |
| |
| static const short yytable[] = { 59, |
| 442, 629, 35, 443, 692, 693, 444, 434, 980, 486, |
| 42, 122, 391, 36, 252, 723, 535, 538, 431, 103, |
| 639, 752, 887, 513, 977, 177, 58, 399, 952, 887, |
| 59, 1467, 255, 35, 818, 638, 669, 59, 690, 196, |
| 169, 42, 297, 958, 36, 174, 506, 1097, 42, 568, |
| 485, 57, 209, 491, 494, 397, 398, 58, 1022, 493, |
| 1024, 708, 857, 1414, 58, 910, 719, 246, 1054, 182, |
| 390, 1017, 396, 1527, 1523, 1059, 607, 1429, 190, 295, |
| 607, 1064, 57, 348, 1432, 348, 170, 348, 259, 176, |
| 419, 422, 451, 1172, 171, 525, 255, 1528, 72, 248, |
| 1600, 86, 348, 348, 761, 591, 294, 924, -1, 1537, |
| 138, 363, 1051, 1178, 607, 224, 55, 716, -144, 959, |
| 1553, 938, 178, 88, 141, 146, 89, 642, 208, 72, |
| 1550, 405, 348, -2, 348, 988, 72, 939, 155, 221, |
| 516, 163, 589, 590, 643, 644, 90, 55, 525, -356, |
| 87, 592, 177, 452, 175, 255, 925, -356, 58, 196, |
| 59, 452, 889, 1179, 59, 1562, -295, 169, 439, 1173, |
| 816, 209, 174, 705, 717, 42, 1579, 965, 296, 190, |
| 1055, 164, 989, 404, 1052, 990, 453, 58, 1123, 803, |
| 1594, 58, 740, 224, 453, 520, 698, 699, 8, 518, |
| 466, 15, 1612, 539, 540, -415, 1467, 402, 38, 224, |
| 988, 1563, 57, 170, -143, 93, 176, 8, 9, 548, |
| 1553, 171, 549, 1199, 190, 550, 137, 1267, 560, 1056, |
| 72, 817, 565, 1390, -415, 39, 489, 1525, -415, 38, |
| 606, 76, 362, 418, 421, 1531, 467, 208, 403, 178, |
| 130, 131, 259, 1200, 155, 155, 155, 989, 1130, 72, |
| 990, 1133, -828, 72, -302, 224, 39, 613, 757, 130, |
| 131, 1328, 76, 224, 519, 1145, 1268, 55, 40, 76, |
| 307, 175, 1391, -415, 612, 677, 781, 469, 471, 221, |
| 224, 246, 201, 713, 213, 1560, 26, 221, 221, 604, |
| 155, 887, 1159, 1160, 222, 223, -365, 639, 15, 40, |
| -302, -302, 1203, 299, 393, 394, 10, 937, 94, 1096, |
| 1329, 491, 494, 348, 1208, -295, 221, 755, 981, 491, |
| 672, 963, 964, 458, 928, 993, 295, 8, 9, -365, |
| 692, 999, 494, -365, 246, 887, 1595, 514, 89, 617, |
| 459, 21, 348, 648, 1340, 1341, -141, 101, 1229, 259, |
| 1231, 494, 107, 294, 26, 115, 27, 318, 90, 108, |
| 1622, 1362, 1390, 406, 162, 221, -365, 409, 1555, 460, |
| 58, 362, 994, 513, 91, 995, 629, 695, -579, 130, |
| 131, -579, 887, 515, 299, 802, 689, 10, 32, 209, |
| 591, 109, 76, 634, 92, 404, 76, 680, 233, 792, |
| 1248, 1148, 201, 213, 419, 422, 135, 1098, 355, 1623, |
| 356, 1498, 18, 688, 177, 138, 892, 1590, 221, 646, |
| 1194, 1027, 21, 1374, 911, 296, 59, 1125, -579, 773, |
| -579, -579, 137, -579, 710, 139, 592, 425, 426, 635, |
| 548, 549, 72, 161, -579, 793, -579, 127, 128, 201, |
| 187, 427, 733, 58, 1028, 407, 376, 387, 1029, -625, |
| 647, 428, -579, -579, 977, 750, 860, 1264, 1265, 32, |
| 222, 445, 617, 756, 429, 221, 90, -579, 176, 688, |
| 179, 415, 348, 861, 377, 691, 1443, 95, 110, 111, |
| 59, 1030, 224, 767, 378, 1449, 1450, 26, 1451, 130, |
| 131, 1017, 1054, 1209, 92, -625, -625, 183, 758, 1412, |
| 188, 178, 862, 864, 137, 88, 348, 58, 802, 348, |
| -625, 137, 348, 865, 962, 72, 348, 808, 808, 808, |
| 808, 692, 693, -304, 561, 224, 562, 866, 875, 348, |
| 112, 113, 775, 175, 887, 18, -583, 127, 128, 348, |
| 604, 691, 348, 1463, 677, 221, 221, 744, 745, 127, |
| 128, 934, 639, 221, 1406, 690, 770, 158, 155, 155, |
| 155, 498, 500, 887, 1444, 244, 221, 638, 1072, -304, |
| -304, 491, 1171, 511, 876, 649, 88, 295, 359, 72, |
| 933, 362, -583, 189, -298, 221, 127, 128, 525, 130, |
| 131, 877, 1195, 298, 1197, 568, 689, 774, 1201, 26, |
| 879, 130, 131, 733, 294, 508, 138, 95, 110, 111, |
| 510, 913, 91, 519, 116, 117, 118, 259, 479, 480, |
| 201, 1237, 1239, 688, 1017, 1253, 7, 8, 249, 10, |
| 688, 361, 92, 371, 1540, 1541, 373, 878, 130, 131, |
| 375, 1003, 374, 547, 1031, 21, 880, 122, 348, 379, |
| 945, 509, 950, 951, 380, 1165, 400, -295, 76, 642, |
| 112, 113, 209, -583, 21, 645, 246, 119, 120, 365, |
| 369, 250, 1167, 158, 158, 158, 296, 127, 128, 27, |
| 28, 773, 978, 773, -366, 655, 15, 1004, 860, 773, |
| 1032, 773, 881, 883, 665, 691, 201, 951, 487, 488, |
| 1144, 1166, 691, 251, 201, 861, 424, 655, 221, -583, |
| 481, 32, 689, 189, 1239, 1169, 302, -366, 1168, 158, |
| 617, -366, 780, 1324, 1326, 479, 711, 26, 1330, 130, |
| 131, -7, 1469, 803, 862, 1373, 127, 128, 1037, 688, |
| 432, 516, 59, 618, 59, 767, 431, 767, 1106, 221, |
| 209, 895, 59, 619, -366, 767, -620, 1574, 689, 348, |
| 348, 1170, 348, 620, 689, 164, 621, 622, 790, 58, |
| 1161, 58, 1371, 1025, 1026, 91, 548, 549, 1470, 58, |
| 1334, 1335, 1336, 1057, 446, 688, 26, 1597, 130, 131, |
| 447, 688, 1019, 221, 775, 92, 775, 896, 897, 91, |
| 127, 128, 526, 1575, 775, 759, 240, 450, 1614, 462, |
| 241, 691, 527, 463, 791, 221, 487, 712, 770, 92, |
| 770, 1069, 1070, 1071, 760, 1036, 1046, 497, 770, 1224, |
| 1225, 1226, 348, 1598, 502, 127, 128, 1100, 1020, 799, |
| 516, 72, 523, 72, 362, 391, 521, -304, 214, 215, |
| 216, 72, 130, 131, 1615, 14, 522, 691, 524, 774, |
| 1601, 1023, -304, 691, 201, 808, -304, 1435, 221, 774, |
| 532, 689, 18, 1388, 1389, 733, 251, 20, 541, 8, |
| 9, 255, -304, 8, 9, 26, 23, 130, 131, 825, |
| 555, 259, 91, 564, -304, -304, 542, -304, 688, -304, |
| -142, 864, 688, 201, 948, 201, 201, 129, 1461, 479, |
| 1492, 865, 92, 689, 543, 808, 348, 26, 89, 689, |
| 1409, 487, 1493, 362, 680, 866, 1210, 362, -304, -304, |
| 15, 130, 131, 873, -415, 130, 131, 224, 90, 544, |
| 688, 89, 545, -304, 803, 91, 688, 479, 1497, 1393, |
| 201, 147, 607, 1394, 997, 251, 127, 1358, 252, 519, |
| 653, 90, -415, -415, 656, 92, 733, 773, 1249, 1250, |
| 691, 1252, 881, 883, 691, 657, 255, 659, -120, 808, |
| 15, 931, 215, 216, 780, 1254, 780, 1037, 14, 1473, |
| 660, 1043, 1050, 688, 780, 689, 673, 158, 158, 158, |
| 362, 448, 936, 661, 674, 1490, 90, 689, 130, 131, |
| 20, -120, 691, 953, 92, -120, 1149, 1150, 691, 23, |
| 702, 617, 688, -6, 564, 1378, 727, 706, 59, 155, |
| 728, 767, 519, 746, 688, 966, 967, 968, 751, 1212, |
| 561, 689, 562, 689, 825, 1214, 1215, -52, -120, 1212, |
| 1217, 15, -52, 1215, 784, 58, 785, 786, 548, 549, |
| 787, 410, 497, -52, 812, 691, 412, 802, 688, 794, |
| 688, 808, 419, 422, 1036, 795, 155, 814, 815, 969, |
| 775, 717, 872, 817, 348, 874, 26, 255, 970, 971, |
| 888, 1473, 1060, 1061, 691, 1062, 555, 692, 1546, 555, |
| 890, 419, 422, 805, 770, 892, 691, 916, 917, 926, |
| 127, 128, 1473, 927, 147, 930, 555, 1420, 20, 1425, |
| 1422, -118, 932, 15, 940, 972, 89, 72, 689, 555, |
| 520, 941, 978, 832, 1445, 773, 116, 117, 118, 1571, |
| 691, -298, 691, 954, 960, 774, 90, 1616, 127, 128, |
| 1311, 803, 961, 1302, -118, 688, 452, 733, -118, 985, |
| 26, 855, 130, 131, 1303, 986, -827, 871, 116, 967, |
| 968, 348, 1473, 987, 992, 1001, 526, 58, 517, 1005, |
| 560, 95, 413, 414, 688, 1006, 527, 26, 129, 119, |
| 120, -118, 1009, 719, 1073, 1011, 59, 1074, 26, 767, |
| 130, 131, 1310, 1075, 1078, 1076, 608, 1077, 299, 393, |
| 394, 10, 1079, 609, 1080, 140, 140, 1081, 156, 26, |
| 1082, 119, 120, 58, 1083, 1270, 1271, 691, -140, 1085, |
| 299, 393, 394, 10, 98, 113, 155, 155, 155, 1086, |
| 1043, 1089, 212, 1088, 220, 1092, 21, 665, 775, 72, |
| 237, 215, 216, 610, 1270, 1271, 691, 14, 1090, 26, |
| 936, 27, 318, 1091, 1105, 155, 155, 155, 21, 1107, |
| 780, 1108, 770, 1419, 1109, 1419, 1110, 1311, 1136, 20, |
| 1302, 1116, 1117, 27, 318, 209, 1118, 1311, 23, 1164, |
| 1302, 1142, 1124, 611, 1311, 72, 1126, 1302, 525, 1127, |
| 1129, 1303, 1139, 808, 58, 1143, 1187, 1196, 1303, 95, |
| 96, 97, -183, 774, 58, 32, 1193, 1536, 1198, 1213, |
| 1219, 58, 153, 1218, 1223, 1227, 140, 137, -183, 1310, |
| -183, 140, 1232, 1233, 156, 156, 156, 1234, 700, 1310, |
| 1235, 701, 381, 382, 383, 1240, 1310, 127, 128, 725, |
| 1242, 15, 13, 704, 1243, -415, 731, 1447, 1448, 1244, |
| 26, 212, 98, 99, 100, 1247, 1251, 449, 1255, 1172, |
| 1257, 221, 548, 549, 1588, 1258, 72, 1259, 140, 140, |
| 156, 1262, 1263, -415, -415, 1266, 72, 384, -415, 410, |
| 617, 412, 1269, 72, 220, 385, 386, 26, 1274, 130, |
| 131, 1323, 492, 220, 517, 1339, 459, 1343, -662, 1238, |
| 338, 1365, 338, 618, 338, 419, 422, 1256, 490, 215, |
| 216, 800, 1366, 619, 1372, 14, 489, 1376, 1103, 1377, |
| 1355, 1382, 1392, 620, 1383, 1355, 621, 622, 780, 420, |
| 423, 1384, 18, 140, 1385, 1518, 1401, 20, 1402, 1403, |
| 1311, 1311, 1518, 1302, 1302, 1311, 23, 1415, 1302, 338, |
| 1417, 338, 555, 1430, 1303, 1433, 1436, 1437, 158, 1303, |
| 1476, 348, 294, 1457, 1458, 1459, 1460, 58, 58, 294, |
| 1465, 853, 58, 1549, 153, 1477, 1481, 854, 1483, 689, |
| 1484, 374, 95, 110, 111, 1280, 1311, 1491, 1513, 1302, |
| 1514, 1238, 1310, 1310, 1522, 1311, 1532, 1310, 1302, 155, |
| 1303, 1533, 1557, 156, 1548, 158, 688, 1558, 1566, 1303, |
| 1564, 1582, 1569, 58, 908, 1570, 201, 1423, 201, 1586, |
| 1592, 1518, 58, 95, 110, 111, 1593, 225, 226, 227, |
| 1599, 1603, 1596, 1604, 296, 112, 113, 114, 1310, 72, |
| 72, 296, 1572, 1608, 72, 1618, 1311, 1310, 294, 1302, |
| 1620, 18, 7, 127, 128, 10, 228, 1613, 744, 745, |
| 1303, 116, 967, 968, 1617, 1010, 1625, 1008, 221, 155, |
| 155, 155, 1626, 58, 1628, 1629, 112, 113, 691, 212, |
| 220, 636, 8, 9, 10, 72, 1311, 1, 1011, 1302, |
| 21, 441, 5, 140, 72, 1012, 140, 250, 1310, 160, |
| 1303, 1488, 156, 156, 156, 27, 28, 557, 140, 1407, |
| 1408, 1146, 26, 58, 119, 120, 307, 637, 929, 21, |
| 296, 381, 382, 383, 440, 1033, 1034, 9, 10, 251, |
| 709, 546, 26, 438, 130, 131, 1047, 32, 1310, 586, |
| 587, 588, 589, 590, 140, 72, 140, 1587, 156, 156, |
| 156, 1275, 686, 449, 700, 701, 358, 704, 499, 140, |
| 492, 220, 408, 21, 449, 158, 158, 158, 492, 338, |
| 1472, 1375, 26, 1624, 385, 386, 26, 1138, 27, 28, |
| 1137, 531, 449, 984, 1035, 72, 504, 1337, 1438, 1221, |
| 1360, 1049, 193, 1135, 158, 158, 158, 95, 96, 97, |
| 919, 1468, 194, 482, 614, 859, 389, 420, 703, 156, |
| 32, 1610, 156, 1428, 1320, 195, 1602, 1607, 686, 1561, |
| 95, 110, 111, 1486, 1489, 1609, 201, 156, 156, 156, |
| 1186, 1434, 0, 0, 555, 1093, 1094, 7, 8, 9, |
| 10, 1099, 156, 13, 7, 8, 9, 10, 1332, 0, |
| 98, 99, 0, 420, 423, 1111, 0, 1112, 0, 1113, |
| 0, 0, 0, 0, 0, 18, 116, 967, 968, 0, |
| 0, 722, 726, 112, 113, 21, 0, 0, 0, 726, |
| 0, 617, 21, 0, 1367, 1368, 1369, 1370, 26, 250, |
| 27, 28, 0, 0, 0, 0, 0, 27, 28, 0, |
| 0, 1534, 0, 904, 942, 1141, 95, 110, 111, 338, |
| 662, 663, 664, 557, 943, 0, 557, 0, 0, 119, |
| 120, 251, 32, 220, 620, 0, 0, 944, 622, 32, |
| 0, 0, 420, 813, 1205, 1206, 584, 585, 586, 587, |
| 588, 589, 590, 338, 726, 0, 557, 1405, 0, 0, |
| 0, 1162, 0, 147, 0, 0, 0, 0, 0, 112, |
| 113, 1220, 212, 0, 220, 237, 1222, 0, 0, 0, |
| 0, 0, 686, 95, 96, 97, 338, 0, 722, 686, |
| 0, 829, 830, 0, 834, 835, 836, 837, 838, 839, |
| 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, |
| 850, 851, 852, 0, 726, 0, 0, 903, 220, 0, |
| 726, 0, 0, 0, 0, 0, 0, 0, 362, 140, |
| 140, 0, 140, 0, 0, 1462, 98, 99, 0, 0, |
| 492, 0, 0, 449, 593, 0, 0, 0, 158, 0, |
| 726, 0, 0, 95, 110, 111, 0, 726, 0, 0, |
| 212, 0, 0, 0, 0, 470, 472, 476, 1482, 0, |
| 0, 0, 95, 96, 97, 1007, 225, 226, 227, 921, |
| 923, 0, 0, 594, 595, 0, 0, 156, 596, 597, |
| 598, 599, 95, 110, 111, 338, 0, 0, 686, 0, |
| 18, 0, 0, 0, 1058, 228, 112, 1485, 0, 0, |
| 1063, 0, 0, 7, 127, 128, 10, 0, 158, 158, |
| 158, 0, 0, 26, 0, 98, 99, 229, 257, 0, |
| 1346, 1347, 1516, 1356, 1357, 0, 1359, 0, 832, 1516, |
| 0, 18, 0, 722, 686, 112, 1487, 0, 0, 0, |
| 686, 21, 257, 0, 0, 1276, 0, 1277, 555, 1278, |
| 0, 0, 0, 0, 26, 0, 27, 28, 0, 410, |
| 412, 0, 230, 231, 232, 0, 0, 517, 0, 0, |
| 149, 257, 0, 156, 156, 904, 0, 0, 1021, 0, |
| 150, 903, 257, 0, 0, 0, 0, 0, 32, 0, |
| 0, 0, 0, 151, 0, 0, 338, 338, 0, 338, |
| 0, 0, 0, 1119, 0, 1120, 0, 0, 1516, 0, |
| 0, 0, 237, 0, 726, 0, 0, 140, 140, 904, |
| 0, 0, 0, 0, 0, 0, 0, 1591, 0, 0, |
| 0, 0, 127, 128, 0, 0, 1084, 245, 0, 0, |
| 0, 257, 0, 0, 0, 0, 1381, 686, 1606, 0, |
| 0, 686, 0, 1441, 1442, 0, 0, 832, 0, 0, |
| 0, 0, 0, 0, 0, 0, 904, 0, 726, 726, |
| 0, 0, 0, 722, 726, 617, 257, 0, 420, 813, |
| 700, 701, 26, 704, 130, 131, 0, 0, 726, 686, |
| 726, 0, 726, 0, 0, 686, 0, 0, 618, 257, |
| 449, 449, 0, 0, 0, 0, 0, 0, 619, 0, |
| 0, 7, 127, 128, 10, 0, 0, 13, 620, 0, |
| 0, 621, 622, 153, 0, 0, 0, 449, 1134, 0, |
| 0, 742, 449, 743, 0, 470, 472, 476, 726, 18, |
| 0, 0, 686, 0, 0, 0, 754, 0, 0, 21, |
| 0, 0, 0, 338, 0, 1504, 1505, 1506, 0, 0, |
| 0, 0, 26, 0, 27, 28, 1158, 0, 0, 0, |
| 1184, 686, 0, 0, 0, 0, 0, 1228, 30, 1230, |
| 214, 215, 216, 686, 726, 0, 0, 14, 31, 0, |
| 0, 257, 7, 8, 9, 10, 32, 0, 245, 0, |
| 0, 33, 0, 726, 18, 0, 0, 0, 0, 20, |
| 0, 1538, 1539, 0, 0, 0, 0, 686, 23, 686, |
| 18, 0, 0, 0, 140, 140, 156, 156, 904, 0, |
| 21, 0, 140, 696, 1261, 0, 617, 0, 0, 0, |
| 0, 0, 0, 26, 0, 27, 28, 1211, 0, 257, |
| 0, 0, 0, 0, 0, 156, 156, 904, 0, 942, |
| 0, 0, 0, 0, 214, 215, 216, 0, 0, 943, |
| 0, 14, 0, 0, 0, 0, 0, 32, 0, 620, |
| 0, 1589, 944, 622, 0, 0, 449, 449, 18, 449, |
| 449, 0, 449, 20, 0, 0, 80, 722, 722, 0, |
| 0, 1241, 23, 0, 686, 0, 104, 0, 0, 0, |
| 0, 0, 0, 0, 1338, 0, 133, 914, 0, 1342, |
| 0, 338, 144, 144, 0, 144, 0, 80, 0, 0, |
| 0, 420, 423, 686, 80, 0, 0, 0, 0, 257, |
| 0, 0, 0, 0, 0, 140, 140, 203, 140, 80, |
| 0, 0, 724, 0, 0, 0, 0, 238, 0, 724, |
| 420, 1322, 0, 0, 104, 0, 257, 0, 0, 0, |
| 0, 0, 1379, 0, 0, 261, 104, 0, 726, 0, |
| 726, 0, 726, 0, 0, 212, 220, 0, 0, 0, |
| 722, 0, 0, 0, 0, 0, 0, 0, 104, 722, |
| 722, 0, 0, 0, 722, 0, 742, 743, 0, 754, |
| 0, 7, 8, 9, 10, 0, 0, 13, 0, 449, |
| 449, 1344, 1345, 0, 724, 0, 133, 0, 80, 0, |
| 0, 0, 144, 144, 0, 0, 1042, 411, 144, 18, |
| 0, 144, 144, 144, 0, 0, 0, 0, 722, 21, |
| 0, 0, 0, 257, 0, 617, 0, 80, 0, 0, |
| 0, 80, 26, 0, 27, 28, 0, 203, 80, 257, |
| 0, 299, 8, 9, 10, 1453, 1454, 0, 1151, 726, |
| 0, 0, 0, 0, 724, 203, 203, 203, 1152, 0, |
| 724, 0, 1464, 0, 0, 0, 32, 0, 620, 156, |
| 0, 1153, 622, 1400, 0, 0, 0, 0, 0, 21, |
| 0, 0, 0, 0, 203, 0, 250, 0, 0, 0, |
| 724, 449, 449, 449, 27, 318, 0, 724, 0, 0, |
| 0, 501, 0, 0, 0, 0, 0, 0, 0, 104, |
| 0, 0, 0, 722, 0, 0, 0, 0, 251, 0, |
| 144, 1500, 1501, 0, 0, 0, 32, 0, 7, 8, |
| 9, 10, 1446, 0, 516, 0, 0, 1511, 1512, 156, |
| 156, 156, 0, 0, 0, 0, 0, 449, 449, 0, |
| 0, 0, 0, 0, 722, 0, 18, 0, 104, 528, |
| 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, |
| 0, 0, 617, 1184, 470, 472, 476, 0, 0, 26, |
| 0, 27, 28, 0, 0, 0, 127, 128, 0, 0, |
| 0, 516, 0, 0, 0, 942, 0, 0, 0, 0, |
| 0, 0, 0, 104, 0, 943, 726, 615, 0, 528, |
| 528, 631, 0, 32, 0, 620, 0, 449, 944, 622, |
| 80, 0, 0, 476, 0, 0, 1502, 1503, 0, 617, |
| 0, 7, 127, 128, 10, 686, 26, 245, 130, 131, |
| 7, 127, 128, 10, 420, 1322, 13, 0, 0, 258, |
| 0, 0, 618, 0, 133, 1042, 0, 0, 0, 18, |
| 1529, 0, 619, 104, 724, 203, 104, 0, 18, 21, |
| 0, 0, 620, 0, 0, 621, 622, 0, 21, 0, |
| 144, 0, 26, 144, 27, 28, 0, 0, 0, 0, |
| 1543, 26, 0, 27, 28, 144, 0, 0, 30, 0, |
| 0, 0, 0, 80, 0, 0, 0, 149, 31, 7, |
| 8, 9, 10, 257, 0, 257, 32, 150, 724, 724, |
| 0, 33, 0, 0, 724, 32, 433, 0, 0, 0, |
| 151, 203, 0, 203, 0, 203, 203, 203, 724, 0, |
| 724, 203, 724, 0, 0, 0, 203, 21, 0, 203, |
| 0, 0, 0, 617, 0, 0, 0, 257, 468, 0, |
| 26, 0, 27, 28, 0, 0, 0, 80, 0, 0, |
| 0, 484, 0, 0, 0, 0, 942, 0, 0, 0, |
| 0, 742, 743, 470, 472, 476, 943, 0, 724, 754, |
| 0, 0, 0, 722, 32, 0, 620, 0, 0, 944, |
| 622, 0, 0, 0, 104, 104, 104, 104, 0, 0, |
| 0, 0, 470, 472, 476, 0, 0, 0, 0, 0, |
| 0, 7, 8, 9, 10, 167, 12, 13, 0, 0, |
| 730, 0, 14, 0, 724, 0, 0, 0, 0, 299, |
| 8, 9, 10, 0, 0, 1354, 16, 0, 17, 18, |
| 0, 0, 257, 724, 20, 0, 0, 0, 0, 21, |
| 0, 0, 0, 23, 104, 617, 528, 0, 0, 0, |
| 0, 0, 26, 0, 27, 28, 0, 21, 615, 0, |
| 528, 528, 0, 631, 250, 0, 0, 0, 1151, 0, |
| 905, 0, 27, 318, 907, 0, 0, 0, 1152, 0, |
| 0, 0, 742, 743, 0, 754, 32, 0, 620, 203, |
| 0, 1153, 622, 0, 0, 0, 519, 0, 0, 0, |
| 299, 393, 394, 10, 32, 0, 7, 8, 9, 10, |
| 214, 215, 216, 133, 0, 0, 257, 14, 0, 0, |
| 133, 0, 0, 0, 0, 0, 0, 0, 203, 949, |
| 203, 203, 238, 631, 18, 0, 0, 0, 21, 20, |
| 0, 0, 0, 257, 21, 250, 0, 0, 23, 0, |
| 617, 0, 0, 27, 318, 0, 0, 26, 0, 27, |
| 28, 0, 0, 0, 0, 0, 0, 7, 127, 128, |
| 10, 0, 0, 942, 0, 203, 0, 0, 0, 949, |
| 0, 0, 0, 943, 0, 32, 203, 203, 0, 203, |
| 0, 32, 0, 620, 0, 18, 944, 622, 0, 0, |
| 0, 0, 0, 0, 257, 21, 133, 0, 724, 80, |
| 724, 80, 724, 0, 0, 0, 1044, 80, 26, 80, |
| 27, 28, 0, 0, 747, 104, 0, 0, 0, 753, |
| 0, 104, 0, 0, 30, 0, 476, 0, 528, 528, |
| 528, 0, 0, 0, 31, 0, 299, 8, 9, 10, |
| 528, 0, 32, 0, 0, 782, 0, 33, 0, 83, |
| 0, 788, 0, 0, 0, 0, 0, 0, 0, 106, |
| 0, 0, 0, 796, 797, 0, 798, 0, 126, 134, |
| 0, 0, 0, 0, 21, 145, 145, 0, 145, 0, |
| 83, 250, 0, 0, 0, 0, 0, 83, 0, 27, |
| 318, 0, 0, 0, 0, 0, 470, 472, 476, 724, |
| 145, 0, 83, 299, 127, 128, 10, 0, 0, 0, |
| 239, 0, 0, 528, 0, 528, 0, 247, 0, 0, |
| 0, 32, 104, 0, 0, 0, 528, 0, 104, 247, |
| 905, 905, 905, 0, 0, 0, 0, 0, 1128, 0, |
| 0, 21, 0, 0, 0, 0, 0, 0, 250, 0, |
| 0, 0, 7, 8, 9, 10, 27, 318, 13, 0, |
| 0, 893, 894, 0, 0, 0, 893, 626, 630, 633, |
| 104, 0, 104, 0, 203, 203, 1155, 0, 0, 0, |
| 18, 83, 0, 0, 0, 145, 145, 0, 32, 0, |
| 21, 145, 0, 0, 145, 145, 145, 0, 0, 0, |
| 0, 0, 0, 26, 0, 27, 28, 0, 0, 0, |
| 83, 0, 0, 0, 83, 0, 0, 0, 0, 193, |
| 145, 83, 0, 1155, 0, 0, 0, 0, 0, 194, |
| 0, 0, 0, 0, 0, 0, 104, 32, 145, 145, |
| 145, 0, 195, 0, 0, 0, 0, 0, 0, 8, |
| 9, 0, 104, 12, 245, 1044, 724, 0, 0, 14, |
| 0, 0, 0, 0, 104, 0, 0, 145, 0, 0, |
| 0, 0, 0, 16, 0, 17, 0, 1216, 0, 0, |
| 0, 20, 0, 0, 0, 80, 0, 0, 0, 0, |
| 23, 0, 0, 0, 0, 0, 0, 0, 104, 26, |
| 104, 130, 131, 145, 0, 0, 0, 0, 762, 0, |
| 7, 8, 763, 10, 167, 12, 13, 0, 0, 0, |
| 0, 14, 0, 0, 0, 0, 0, 1065, 104, 1067, |
| 0, 0, 0, 528, 528, 16, 528, 17, 18, 19, |
| 0, 247, 145, 20, -525, 0, 0, 0, 21, 0, |
| 0, 0, 23, 764, 0, 168, 0, 0, 0, 0, |
| 0, 26, 0, 27, 28, 0, 0, 765, 0, 766, |
| 0, 623, 623, 623, 0, 0, 0, 30, 0, 0, |
| 0, 203, 203, 203, 203, 1155, 247, 31, 0, 203, |
| 616, 0, 145, 145, 632, 32, 0, 0, 0, 641, |
| 33, 1101, 1102, 83, 1104, 7, 127, 128, 10, 0, |
| 0, 516, 1155, 1155, 1155, 0, -525, 0, 0, 0, |
| 0, 0, 1033, 1034, 9, 10, 0, 0, 0, 0, |
| 0, 0, 1122, 18, 0, 0, 0, 678, 882, 884, |
| 0, 0, 0, 21, 0, 203, 247, 0, 145, 247, |
| 144, 0, 0, 80, 0, 0, 26, 0, 27, 28, |
| 21, 0, 0, 145, 0, 0, 145, 0, 0, 0, |
| 0, 0, 30, 26, 0, 27, 28, 0, 145, 1204, |
| 0, 1035, 31, 1157, 0, 0, 83, 0, 0, 193, |
| 32, 0, 0, 0, 0, 33, 0, 0, 0, 194, |
| 0, 0, 203, 203, 0, 203, 947, 32, 626, 630, |
| 0, 633, 195, 0, 145, 0, 145, 0, 145, 145, |
| 145, 0, 0, 0, 145, 0, 0, 0, 0, 145, |
| 0, 0, 145, 0, 0, 0, 0, 0, 0, 0, |
| 0, 203, 949, 203, 0, 0, 0, 0, 0, 0, |
| 83, 0, 0, 630, 0, 0, 1202, 0, 0, 0, |
| 104, 0, 0, 0, 0, 0, 0, 0, 1207, 0, |
| 0, 0, 8, 9, 0, 167, 12, 13, 0, 0, |
| 730, 0, 14, 0, 0, 0, 0, 247, 247, 247, |
| 247, 0, 0, 0, 0, 0, 16, 0, 17, 18, |
| 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, |
| 0, 0, 0, 23, 0, 617, 0, 7, 8, 9, |
| 10, 0, 26, 0, 130, 131, 0, 0, 630, 582, |
| 583, 584, 585, 586, 587, 588, 589, 590, 618, 0, |
| 0, 0, 623, 623, 0, 623, 0, 247, 619, 145, |
| 0, 0, 902, 0, 1260, 21, 1155, 0, 620, 0, |
| 0, 621, 622, 145, 145, 0, 632, 0, 26, 0, |
| 27, 28, 0, 906, 192, 0, 0, 0, 0, 0, |
| 0, 0, 0, 0, 193, 0, 641, 0, 0, 0, |
| 0, 0, 145, 1273, 194, 0, 0, 0, 0, 0, |
| 0, 1114, 32, 1115, 0, 0, 0, 195, 0, 0, |
| 623, 0, 623, 623, 1121, 623, 678, 0, 882, 884, |
| 7, 8, 9, 10, 126, 0, 1155, 1155, 1155, 0, |
| 0, 145, 632, 145, 145, 239, 632, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 104, 0, 18, 0, |
| 0, 203, 0, 0, 0, 0, 0, 623, 21, 979, |
| 1363, 0, 882, 884, 1364, 0, 0, 0, 0, 0, |
| 0, 26, 0, 27, 28, 0, 0, 0, 145, 0, |
| 0, 0, 632, 0, 0, 0, 0, 473, 0, 145, |
| 145, 0, 145, 0, 0, 0, 0, 474, 0, 1380, |
| 0, 0, 0, 0, 0, 32, 979, 368, 370, 134, |
| 475, 0, 83, 0, 83, 0, 0, 0, 0, 1045, |
| 83, 0, 83, 0, 0, 0, 0, 0, 247, 0, |
| 0, 0, 623, 0, 247, 0, 0, 0, 0, 0, |
| 0, 145, 145, 145, 7, 8, 9, 10, 205, 12, |
| 206, 0, 0, 145, 0, 14, 0, 0, 0, 0, |
| 0, 0, 51, 0, 0, 0, 0, 0, 0, 16, |
| 0, 17, 18, 0, 0, 0, 1439, 20, 0, 0, |
| 1440, 0, 21, 0, 0, 0, 23, 0, 51, 51, |
| 0, 152, 0, 51, 0, 26, 0, 27, 28, 0, |
| 51, 207, 1455, 1456, 0, 623, 0, 623, 0, 0, |
| 0, 30, 0, 51, 0, 51, 0, 0, 623, 0, |
| 0, 31, 902, 902, 902, 0, 145, 0, 145, 32, |
| 0, 0, 0, 0, 33, 247, 0, 0, 253, 145, |
| 0, 247, 0, 906, 906, 906, 0, 0, 0, 0, |
| 0, 641, 7, 8, 9, 10, 0, 0, 245, 0, |
| 0, 0, 0, 0, 0, 0, 623, 623, 623, 1114, |
| 1115, 882, 884, 0, 0, 0, 0, 1121, 0, 0, |
| 18, 0, 0, 247, 0, 247, 0, 145, 145, 632, |
| 21, 395, 395, 0, 51, 0, 0, 0, 51, 51, |
| 882, 884, 253, 26, 51, 27, 28, 152, 152, 152, |
| 0, 0, 0, 0, 430, 902, 0, 0, 0, 193, |
| 0, 0, 0, 51, 0, 0, 0, 51, 559, 194, |
| 0, 0, 0, 51, 51, 0, 906, 32, 0, 0, |
| 0, 0, 195, 0, 0, 0, 0, 0, 0, 247, |
| 0, 51, 51, 152, 0, 0, 0, 0, 0, 0, |
| 0, 253, 0, 0, 0, 247, 0, 0, 1045, 0, |
| 0, 0, 0, 0, 0, 0, 0, 247, 0, 762, |
| 51, 7, 8, 763, 10, 167, 12, 13, 0, 0, |
| 1114, 1115, 14, 1121, 0, 0, 0, 0, 83, 0, |
| 0, 685, 0, 0, 0, 0, 16, 0, 17, 18, |
| 19, 247, 0, 247, 20, -526, 51, 0, 0, 21, |
| 0, 0, 0, 23, 764, 0, 168, 0, 0, 0, |
| 0, 0, 26, 0, 27, 28, 0, 0, 765, 0, |
| 766, 247, 0, 0, 0, 0, 145, 145, 30, 145, |
| 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, |
| 0, 0, 0, 0, 0, 0, 32, 732, 0, 0, |
| 0, 33, 0, 623, 623, 623, 623, 623, 0, 0, |
| 0, 623, 0, 0, 0, 0, 556, -526, 0, 0, |
| 0, 0, 0, 0, 145, 145, 145, 145, 632, 0, |
| 0, 0, 145, 395, 902, 902, 902, 0, 0, 979, |
| 0, 253, 0, 0, 0, 0, 51, 0, 0, 0, |
| 0, 1348, 1349, 9, 10, 906, 906, 906, 0, 0, |
| 0, 0, 0, 0, 801, 0, 0, 804, 0, 0, |
| 0, 806, 807, 809, 810, 811, 979, 0, 0, 0, |
| 395, 0, 0, 0, 559, 0, 0, 0, 145, 21, |
| 0, 51, 0, 145, 0, 0, 83, 828, 0, 0, |
| 0, 0, 26, 0, 27, 28, 51, 0, 0, 51, |
| 1350, 0, 0, 0, 0, 430, 430, 430, 193, 0, |
| 0, 51, 0, 0, 623, 623, 0, 623, 194, 51, |
| 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, |
| 0, 195, 0, 0, 0, 145, 145, 0, 145, 0, |
| 0, 885, 0, 0, 0, 0, 0, 51, 885, 51, |
| 0, 152, 152, 152, 8, 9, 0, 51, 12, 13, |
| 0, 0, 51, 1411, 14, 51, 0, 0, 0, 0, |
| 0, 0, 0, 0, 145, 632, 145, 0, 16, 0, |
| 17, 0, 78, 51, 0, 0, 20, 0, 0, 0, |
| 0, 0, 0, 247, 0, 23, 0, 0, 0, 979, |
| 0, 0, 0, 0, 26, 0, 130, 131, 78, 78, |
| 0, 78, 556, 78, 0, 556, 0, 0, 0, 0, |
| 78, 762, 0, 7, 8, 763, 10, 167, 12, 13, |
| 556, 556, 556, 78, 14, 78, 0, 0, 0, 0, |
| 0, 0, 0, 858, 0, 556, 0, 0, 16, 0, |
| 17, 18, 19, 0, 0, 0, 20, 685, 0, 0, |
| 0, 21, 0, 0, 0, 23, 764, 0, 168, 0, |
| 0, 0, 0, 0, 26, 0, 27, 28, 0, 0, |
| 765, 0, 766, 0, 0, 0, 0, 0, 0, 906, |
| 30, 0, 0, 253, 0, 0, 0, 0, 0, 0, |
| 31, 0, 0, 732, 0, 0, 556, 0, 32, 732, |
| 0, 0, 0, 33, 78, 159, 0, 0, 78, 78, |
| 0, 0, 0, 0, 78, 51, 0, 78, 78, 78, |
| 0, 0, 0, 0, 0, 0, 0, 204, 0, 0, |
| 0, 0, 0, 78, 0, 0, 0, 78, 0, 395, |
| 0, 0, 0, 78, 78, 0, 395, 0, 0, 906, |
| 906, 906, 0, 0, 51, 51, 51, 51, 0, 0, |
| 0, 78, 78, 78, 0, 0, 0, 1095, 0, 247, |
| 0, 0, 0, 0, 145, 0, 0, 0, 0, 7, |
| 8, 9, 10, 0, 0, 13, 0, 0, 0, 0, |
| 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 828, 51, 0, 0, 0, 51, 732, 18, 0, 0, |
| 885, 0, 51, 51, 0, 51, 0, 21, 0, 0, |
| 0, 159, 159, 159, 0, 0, 78, 0, 0, 0, |
| 26, 0, 27, 28, 0, 51, 0, 51, 0, 18, |
| 0, 0, 51, 51, 0, 51, 473, 204, 685, 0, |
| 1147, 0, 0, 0, 885, 0, 474, 0, 0, 0, |
| 0, 0, 0, 0, 32, 204, 204, 477, 0, 475, |
| 556, 569, 570, 571, 572, 573, 574, 575, 576, 577, |
| 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, |
| 588, 589, 590, 0, 204, 0, 0, 0, 0, 0, |
| 0, 885, 0, 0, 0, 6, 0, 7, 8, 9, |
| 10, 11, 12, 13, 1189, 0, 0, 0, 14, 0, |
| 0, 0, 640, 0, 0, 0, 78, 0, 0, 0, |
| 732, 15, 16, 0, 17, 18, 19, 0, 0, 0, |
| 20, 0, 732, 0, 0, 21, 0, 0, 22, 23, |
| 24, 0, 25, 0, 0, 0, 0, 0, 26, 0, |
| 27, 28, 0, 0, 29, 0, 556, 556, 556, 529, |
| 0, 78, 430, 253, 30, 0, 732, 0, 732, 0, |
| 0, 0, 0, 0, 31, 0, 78, 0, 0, 78, |
| 0, 0, 32, 0, 0, 0, 0, 33, 0, 0, |
| 0, 78, 34, 0, 0, 0, 1246, 0, 0, 78, |
| 51, 51, 152, 0, 0, 0, 0, 253, 0, 625, |
| 625, 625, 0, -387, 8, 9, -387, -387, 12, 245, |
| 7, 8, 9, 10, 14, 0, 516, 78, 0, 78, |
| 0, 78, 78, 78, 0, 0, 0, 78, 16, 0, |
| 17, -387, 78, 0, 0, 78, 20, 0, 18, 1183, |
| 0, -387, 0, 885, 0, 23, 0, 617, 21, 0, |
| 0, 0, 0, 78, 26, 204, 130, 131, 0, 0, |
| 0, 26, 0, 27, 28, 0, 0, 0, 0, 0, |
| 618, 51, 885, 0, 0, 0, 0, 193, 0, 0, |
| 619, 0, 0, 0, 0, 0, 1333, 194, -387, 0, |
| 620, 0, 253, 621, 622, 32, 0, 0, 0, 0, |
| 195, 51, 7, 8, 9, 10, 214, 215, 216, 0, |
| 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, |
| 0, 204, 0, 204, 0, 477, 477, 477, 0, 0, |
| 18, 204, 0, 0, 0, 20, 204, 0, 0, 204, |
| 21, 0, 0, 0, 23, 0, 617, 0, 0, 0, |
| 0, 0, 0, 26, 0, 27, 28, 0, 0, 0, |
| 0, 0, 0, 0, 640, 0, 0, 0, 0, 942, |
| 0, 0, 1348, 127, 128, 10, 253, 0, 0, 943, |
| 0, 0, 0, 0, 0, 0, 0, 32, 0, 620, |
| 0, 0, 991, 622, 0, 78, 0, 51, 51, 152, |
| 152, 152, 0, 253, 0, 51, 0, 0, 0, 0, |
| 21, 0, 0, 0, 0, 0, 0, 0, 1189, 0, |
| 0, 0, 0, 26, 0, 27, 28, 0, 1183, 1183, |
| 1183, 1350, 0, 0, 78, 78, 78, 78, 0, 30, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, |
| 0, 0, 0, 0, 0, 0, 867, 32, 0, 0, |
| 0, 51, 33, 202, 0, 0, 51, 0, 0, 51, |
| 625, 625, 0, 625, 0, 7, 8, 9, 10, 0, |
| 625, 78, 0, 0, 0, 78, 0, 0, 256, 0, |
| 0, 260, 78, 78, 0, 78, 0, 0, 0, 204, |
| 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, |
| 589, 590, 256, 21, 364, 78, 0, 78, 51, 51, |
| 0, 51, 78, 78, 0, 78, 26, 0, 27, 28, |
| 0, 0, 1418, 0, 0, 0, 0, 0, 946, 0, |
| 946, 946, 193, 625, 0, 0, 0, 0, 0, 0, |
| 0, 0, 194, 0, 0, 0, 0, 51, 51, 51, |
| 32, 0, 0, 0, 0, 195, 574, 575, 576, 577, |
| 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, |
| 588, 589, 590, 202, 0, 946, 559, 166, 0, 7, |
| 8, 9, 10, 167, 12, 13, 204, 204, 0, 204, |
| 14, 202, 202, 202, 685, 0, 0, 0, 0, 0, |
| 0, 483, 0, 0, 16, 0, 17, 18, 19, 0, |
| 0, 0, 20, 0, 0, 0, 204, 21, 0, 0, |
| 202, 23, 0, 0, 168, 7, 8, 9, 10, 0, |
| 26, 0, 27, 28, 0, 0, 0, 0, 529, 529, |
| 529, 0, 0, 0, 640, 260, 30, 0, 0, 0, |
| 625, 0, 0, 0, 0, 0, 31, 0, 0, 256, |
| 0, 0, 1183, 21, 32, 0, 0, 8, 9, 33, |
| 0, 12, 13, 0, 34, 0, 26, 14, 27, 28, |
| 78, 78, 78, 0, 0, 0, 0, 0, 0, 0, |
| 0, 16, 193, 17, 0, 0, 0, 0, 0, 20, |
| 0, 0, 194, 0, 0, 0, 0, 0, 23, 0, |
| 32, 0, 0, 0, 0, 195, 0, 26, 0, 130, |
| 131, 600, 0, 625, 0, 625, 0, 0, 0, 1185, |
| 0, 0, 1183, 1183, 1183, 0, 625, 0, 0, 0, |
| 625, 625, 625, 0, 0, 0, 0, 0, 0, 0, |
| 0, 256, 260, 0, 0, 0, 601, 51, 0, 0, |
| 0, 78, 0, 0, 0, 831, 0, 299, 8, 9, |
| 10, 167, 12, 300, 301, 302, 0, 303, 14, 0, |
| 0, 0, 0, 0, 946, 946, 1156, 0, 0, 0, |
| 0, 78, 16, 304, 17, 18, 19, 0, 305, 306, |
| 20, 202, 307, 308, 309, 21, 310, 311, 0, 23, |
| 0, 0, 0, 312, 313, 314, 315, 316, 26, 0, |
| 27, 318, 1524, 0, -788, 319, 0, 0, 0, 0, |
| 0, 320, 0, 1156, 321, 0, 0, 0, 0, 0, |
| 0, 0, 322, 323, 324, 102, 0, 0, 0, 0, |
| 325, 326, 327, 0, 121, 102, 0, 328, 0, 0, |
| 0, 102, 102, 0, 102, 204, 0, 202, 0, 202, |
| 0, 202, 202, 202, 329, 0, 0, 202, 0, 0, |
| 0, 0, 202, 0, 0, 202, 0, 78, 78, 78, |
| 78, 78, 0, 0, 0, 78, 235, 8, 9, 0, |
| 0, 12, 245, 0, 0, 0, 0, 14, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 1185, 1185, |
| 1185, 16, 0, 17, 0, 0, 0, 0, 0, 20, |
| 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, |
| 617, 0, 0, 867, 867, 0, 867, 26, 0, 130, |
| 131, 78, 0, 0, 0, 388, 78, 121, 0, 78, |
| 0, 0, 0, 618, 102, 102, 0, 0, 0, 0, |
| 0, 102, 102, 619, 0, 102, 102, 102, 0, 416, |
| 102, 102, 102, 620, 0, 0, 621, 622, 0, 0, |
| 0, 946, 946, 1156, 1156, 1156, 0, 0, 0, 946, |
| 0, 0, 0, 0, 0, 0, 0, 0, 78, 78, |
| 0, 78, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 1156, 1156, 1156, 0, 0, 0, 0, 256, |
| 260, 577, 578, 579, 580, 581, 582, 583, 584, 585, |
| 586, 587, 588, 589, 590, 202, 0, 78, 78, 78, |
| 0, 0, 0, 0, 0, 204, 0, 0, 127, 128, |
| 0, 0, 215, 216, 0, 0, 0, 0, 14, 235, |
| 102, 578, 579, 580, 581, 582, 583, 584, 585, 586, |
| 587, 588, 589, 590, 202, 0, 202, 202, 0, 102, |
| 20, 0, 0, 0, 0, 0, 0, 0, 0, 23, |
| 0, 617, 0, 0, 0, 0, 0, 0, 26, 0, |
| 130, 131, 946, 946, 0, 946, 0, 0, 0, 0, |
| 0, 0, 0, 0, 618, 0, 0, 0, 102, 0, |
| 0, 202, 0, 0, 619, 0, 0, 0, 0, 0, |
| 0, 0, 202, 202, 620, 202, 0, 628, 622, 0, |
| 0, 204, 0, 204, 0, 0, 0, 0, 0, 0, |
| 0, 720, 1185, 819, 820, 821, 10, 0, 12, 533, |
| 301, 302, 202, 303, 14, 0, 102, 0, 102, 102, |
| 0, 0, 0, 0, 0, 0, 0, 0, 16, 304, |
| 17, 0, 19, 0, 305, 306, 20, 0, 307, 308, |
| 309, 21, 310, 311, 0, 23, 0, 0, 0, 312, |
| 313, 314, 315, 316, 26, 0, 822, 823, 721, 0, |
| 0, 319, 0, 102, 0, 0, 0, 320, 0, 0, |
| 321, 0, 1185, 1185, 1185, 0, 0, 0, 322, 323, |
| 324, 0, 102, 0, 0, 0, 325, 326, 327, 102, |
| 0, 0, 102, 328, 824, 0, 0, 78, 0, 0, |
| 0, 0, 0, 0, 102, 0, 477, 127, 128, 983, |
| 329, 215, 216, 0, 8, 9, 0, 14, 12, 13, |
| 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 16, 20, |
| 17, 0, 0, 256, 260, 256, 20, 0, 23, 0, |
| 617, 0, 0, 0, 0, 23, 0, 26, 0, 130, |
| 131, 0, 0, 0, 26, 0, 130, 131, 0, 0, |
| 0, 0, 102, 618, 0, 0, 477, 477, 477, 0, |
| 202, 202, 1154, 619, 0, 0, 0, 256, 0, 0, |
| 0, 0, 0, 620, 0, 0, 621, 622, 0, 102, |
| 0, 204, 0, 7, 8, 9, 10, 167, 12, 13, |
| 0, 0, 0, 0, 14, 0, 0, 260, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 16, 1154, |
| 17, 18, 19, 0, 0, 0, 20, 0, 0, 262, |
| 0, 21, 8, 9, 0, 23, 12, 13, 168, 0, |
| 0, 0, 14, 0, 26, 0, 27, 28, 0, 0, |
| 0, 202, 0, 0, 0, 0, 16, 0, 17, 0, |
| 30, 0, 0, 0, 20, 102, 263, 264, 0, 0, |
| 31, 0, 483, 23, 0, 265, 102, 102, 32, 102, |
| 102, 0, 26, 33, 130, 131, 0, 266, 34, 0, |
| 0, 267, 268, 269, 270, 271, 272, 273, 274, 275, |
| 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, |
| 286, 287, 0, 0, 288, 289, 290, 0, 0, 291, |
| 0, 0, 292, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 102, 0, 0, 0, 0, 0, 293, 102, |
| 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 235, 0, 0, 0, 0, 256, 0, 0, 762, |
| 0, 7, 8, 763, 10, 167, 12, 13, 0, 0, |
| 0, 0, 14, 0, 0, 976, 0, 202, 202, 202, |
| 202, 1154, 0, 1272, 0, 202, 16, 0, 17, 18, |
| 19, 0, 0, 0, 20, -528, 0, 0, 0, 21, |
| 0, 0, 0, 23, 764, 0, 168, 0, 1154, 1154, |
| 1154, 0, 26, 0, 27, 28, 0, 0, 765, 0, |
| 766, 1478, 976, 0, 0, 102, 0, 0, 30, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, |
| 0, 202, 0, 0, 0, 0, 32, 0, 0, 0, |
| 0, 33, 0, 0, 0, 0, 0, 102, 102, 102, |
| 0, 0, 0, 0, 0, 0, 0, -528, 0, 102, |
| 0, 1479, 569, 570, 571, 572, 573, 574, 575, 576, |
| 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, |
| 587, 588, 589, 590, 0, 0, 0, 0, 202, 202, |
| 0, 202, 0, 1507, 0, -480, -480, -480, -480, -480, |
| -480, -480, 0, 0, -480, 0, -480, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, -480, 0, -480, |
| 0, 0, 0, -480, 0, 0, 0, 202, -480, 202, |
| 0, 0, 102, -480, 102, 0, 0, -480, 0, -480, |
| 0, 0, 0, 0, 0, 102, -480, 0, -480, -480, |
| -480, -480, -480, 0, -480, -480, -480, -480, -480, -480, |
| -480, -480, -480, -480, -480, -480, -480, -480, -480, -480, |
| -480, -480, -480, -480, -480, -480, -480, 0, -480, -480, |
| -480, 0, -480, -480, -480, -480, -480, -480, 0, -480, |
| 0, 0, 0, 0, 1508, 0, 0, 0, 0, -480, |
| -480, -480, 658, -480, 0, 0, 569, 570, 571, 572, |
| 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, |
| 583, 584, 585, 586, 587, 588, 589, 590, 0, 0, |
| 976, 1426, 0, 1283, 1284, 1285, 10, 167, 12, 300, |
| 301, 302, 1154, 303, 14, 1286, 0, 1287, 1288, 1289, |
| 1290, 1291, 1292, 1293, 1294, 1295, 1296, 15, 16, 304, |
| 17, 18, 19, 0, 305, 306, 20, 0, 307, 308, |
| 309, 21, 310, 311, 1297, 23, 1298, 0, 0, 312, |
| 313, 314, 315, 316, 26, 0, 1299, 318, 717, 0, |
| 1300, 319, 0, 0, 0, 0, 102, 320, 0, 0, |
| 321, 0, 0, 0, 0, 0, 0, 0, 322, 323, |
| 324, 0, 1154, 1154, 1154, 0, 325, 326, 327, 0, |
| 0, 0, 0, 328, 0, 1301, 0, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 202, 0, 1427, |
| 329, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 102, 102, 1282, 102, 1283, 1284, 1285, 10, |
| 167, 12, 300, 301, 302, 0, 303, 14, 1286, 0, |
| 1287, 1288, 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296, |
| 15, 16, 304, 17, 18, 19, 0, 305, 306, 20, |
| 0, 307, 308, 309, 21, 310, 311, 1297, 23, 1298, |
| 0, 0, 312, 313, 314, 315, 316, 26, 0, 1299, |
| 318, 717, 0, 1300, 319, 976, 0, 0, 0, 0, |
| 320, 0, 0, 321, 0, 0, 0, 0, 0, 0, |
| 0, 322, 323, 324, 0, 0, 0, 0, 0, 325, |
| 326, 327, 0, 0, 0, 0, 328, 0, 1301, 0, |
| 0, 0, 976, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 0, 329, 0, 0, 0, 102, 551, 102, |
| 299, 8, 9, 10, 167, 12, 300, 301, 302, 730, |
| 303, 14, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 0, 0, 0, 16, 304, 17, 18, 19, |
| 0, 305, 306, 20, 0, 307, 308, 309, 21, 310, |
| 311, 0, 23, 0, 617, 0, 312, 313, 314, 315, |
| 316, 26, 0, 27, 318, -312, 0, 0, 319, 0, |
| 0, 0, 0, 0, 320, 0, 0, 898, 0, 0, |
| 0, 0, 0, 0, 0, 322, 323, 899, 0, 0, |
| 0, 0, 0, 325, 326, 327, 0, 620, 0, 0, |
| 900, 622, 551, 0, 7, 8, 9, 10, 167, 12, |
| 300, 301, 302, 730, 303, 14, 0, 329, 0, 0, |
| 0, 0, 0, 0, 0, 976, 0, 0, 0, 16, |
| 304, 17, 18, 19, 0, 305, 306, 20, 0, 307, |
| 308, 309, 21, 310, 311, 0, 23, 0, 617, 0, |
| 312, 313, 314, 315, 316, 26, 0, 27, 28, -312, |
| 0, 0, 319, 0, 0, 0, 0, 0, 320, 0, |
| 0, 1180, 0, 0, 0, 0, 0, 0, 0, 322, |
| 323, 1181, 0, 0, 0, 0, 0, 325, 326, 327, |
| 0, 620, 0, 0, 1182, 622, 729, 0, 299, 8, |
| 9, 10, 167, 12, 300, 301, 302, 730, 303, 14, |
| 0, 329, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 0, 16, 304, 17, 18, 19, 0, 305, |
| 306, 20, 0, 307, 308, 309, 21, 310, 311, 0, |
| 23, 0, 0, 0, 312, 313, 314, 315, 316, 26, |
| 0, 27, 318, 0, 0, 0, 319, 0, 0, 0, |
| 0, 0, 320, 0, 0, 321, 0, 0, 0, 0, |
| 0, 0, 0, 322, 323, 324, 0, 0, 0, 0, |
| 0, 325, 326, 327, 0, 0, 0, 551, 328, 299, |
| 8, 9, 10, 0, 12, 300, 301, 302, 0, 303, |
| 14, 0, 0, -798, 0, 329, 0, 0, 0, 0, |
| 0, 0, 0, 0, 16, 304, 17, 18, 19, 0, |
| 305, 306, 20, 0, 307, 308, 309, 21, 310, 311, |
| 0, 23, 0, 0, 0, 312, 313, 314, 315, 316, |
| 26, 0, 27, 318, -312, 0, 0, 319, 0, 0, |
| 0, 0, 0, 320, 0, 0, 552, 0, 0, 0, |
| 0, 0, 0, 0, 322, 323, 553, 0, 0, 0, |
| 0, 0, 325, 326, 327, 0, 0, 0, 720, 554, |
| 819, 820, 821, 10, 0, 12, 533, 301, 302, 0, |
| 303, 14, 0, 0, 0, 0, 329, 0, 0, 0, |
| 0, 0, 0, 0, 0, 16, 304, 17, 0, 19, |
| 0, 305, 306, 20, 0, 307, 308, 309, 21, 310, |
| 311, 0, 23, 0, 0, 0, 312, 313, 314, 315, |
| 316, 26, 0, 822, 823, 721, 0, 0, 319, 0, |
| 0, 0, 0, 0, 320, 0, 0, 321, 0, 0, |
| 0, 0, 0, 0, 0, 322, 323, 324, 0, 0, |
| 0, 0, 0, 325, 326, 327, 0, 0, 0, 0, |
| 328, 824, 720, 0, 819, 820, 821, 10, 0, 12, |
| 533, 301, 302, 0, 303, 14, 0, 329, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, |
| 304, 17, 0, 19, 0, 305, 306, 20, 0, 307, |
| 308, 309, 21, 310, 311, 0, 23, 0, 0, 0, |
| 312, 313, 314, 315, 316, 26, 0, 822, 823, 721, |
| 0, 0, 319, 0, 0, 0, 0, 0, 320, 0, |
| 0, 321, 0, 0, 0, 0, 0, 0, 0, 322, |
| 323, 324, 0, 0, 0, 0, 0, 325, 326, 327, |
| 0, 0, 0, 720, 328, 819, 820, 821, 10, 0, |
| 12, 533, 301, 302, 0, 303, 14, 0, 0, 0, |
| -484, 329, 0, 0, 0, 0, 0, 0, 0, 0, |
| 16, 304, 17, 0, 19, 0, 305, 306, 20, 0, |
| 307, 308, 309, 21, 310, 311, 0, 23, 0, 0, |
| 0, 312, 313, 314, 315, 316, 26, 0, 822, 823, |
| 721, 0, 0, 319, 0, 0, 0, 0, 0, 320, |
| 0, 0, 321, 0, 0, 0, 0, 0, 0, 0, |
| 322, 323, 324, 0, 0, 0, 0, 0, 325, 326, |
| 327, 0, 0, 0, 720, 328, 299, 8, 9, 10, |
| 0, 12, 533, 301, 302, 0, 303, 14, 0, 0, |
| 0, 1321, 329, 0, 0, 0, 0, 0, 0, 0, |
| 0, 16, 304, 17, 0, 19, 0, 305, 306, 20, |
| 0, 307, 308, 309, 21, 310, 311, 0, 23, 0, |
| 0, 0, 312, 313, 314, 315, 316, 26, 0, 27, |
| 318, 721, 0, 0, 319, 0, 0, 0, 0, 0, |
| 320, 0, 0, 321, 0, 0, 0, 0, 0, 0, |
| 0, 322, 323, 324, 0, 0, 0, 0, 0, 325, |
| 326, 327, 0, 0, 0, 0, 328, 0, 551, 0, |
| 7, 8, 9, 10, 1325, 12, 300, 301, 302, 0, |
| 303, 14, 0, 329, 0, 0, 0, 0, 0, 0, |
| 0, 0, 0, 0, 0, 16, 304, 17, 18, 19, |
| 0, 305, 306, 20, 0, 307, 308, 309, 21, 310, |
| 311, 0, 23, 0, 0, 0, 312, 313, 314, 315, |
| 316, 26, 0, 27, 28, -312, 0, 0, 319, 0, |
| 0, 0, 0, 0, 320, 0, 0, 1494, 0, 0, |
| 0, 0, 0, 0, 0, 322, 323, 1495, 0, 0, |
| 0, 0, 0, 325, 326, 327, 0, 0, 0, 720, |
| 1496, 299, 8, 9, 10, 0, 12, 533, 301, 302, |
| 0, 303, 14, 0, 0, 0, 0, 329, 0, 0, |
| 0, 0, 0, 0, 0, 0, 16, 304, 17, 0, |
| 19, 0, 305, 306, 20, 0, 307, 308, 309, 21, |
| 310, 311, 0, 23, 0, 0, 0, 312, 313, 314, |
| 315, 316, 26, 0, 27, 318, 721, 0, 0, 319, |
| 0, 0, 0, 0, 0, 320, 0, 0, 321, 0, |
| 0, 0, 0, 0, 0, 0, 322, 323, 324, 0, |
| 0, 0, 0, 0, 325, 326, 327, 0, 0, 0, |
| 831, 328, 299, 8, 9, 10, 0, 12, 533, 301, |
| 302, 0, 303, 14, 0, 0, 0, 0, 329, 0, |
| 0, 0, 0, 0, 0, 0, 0, 16, 304, 17, |
| 0, 19, 0, 305, 306, 20, 0, 307, 308, 309, |
| 21, 310, 311, 0, 23, 0, 0, 0, 312, 313, |
| 314, 315, 316, 26, 0, 27, 318, 0, 0, 0, |
| 319, -788, 0, 0, 0, 0, 320, 0, 0, 321, |
| 0, 0, 0, 0, 0, 0, 0, 322, 323, 324, |
| 0, 0, 0, 0, 0, 325, 326, 327, 0, 0, |
| 0, 1577, 328, 299, 8, 9, 10, 0, 12, 300, |
| 301, 302, 0, 303, 14, 0, 0, 0, 0, 329, |
| 0, 0, 0, 0, 0, 0, 0, 0, 16, 304, |
| 17, 0, 19, 0, 305, 306, 20, 0, 307, 308, |
| 309, 21, 310, 311, 0, 23, 0, 0, 0, 312, |
| 313, 314, 315, 316, 26, 0, 27, 318, 0, 0, |
| -196, 319, 0, 0, 0, 0, 0, 320, 0, 0, |
| 321, 0, 0, 0, 0, 0, 0, 0, 322, 323, |
| 324, 0, 0, 0, 0, 0, 325, 326, 327, 0, |
| 0, 0, 831, 328, 299, 8, 9, 10, 0, 12, |
| 533, 301, 302, 0, 303, 14, 0, 0, 0, 0, |
| 329, 0, 0, 0, 0, 0, 0, 0, 0, 16, |
| 304, 17, 0, 19, 0, 305, 306, 20, 0, 307, |
| 308, 309, 21, 310, 311, 0, 23, 0, 0, 0, |
| 312, 313, 314, 315, 316, 26, 0, 27, 318, 0, |
| 0, 0, 319, 0, 0, 0, 0, 0, 320, 0, |
| 0, 321, 0, 0, 0, 0, 0, 0, 0, 322, |
| 323, 324, 0, 0, 0, 0, 0, 325, 326, 327, |
| 0, 0, 0, 920, 328, 299, 8, 9, 10, 0, |
| 12, 533, 301, 302, 0, 303, 14, 0, 0, -788, |
| 0, 329, 0, 0, 0, 0, 0, 0, 0, 0, |
| 16, 304, 17, 0, 19, 0, 305, 306, 20, 0, |
| 307, 308, 309, 21, 310, 311, 0, 23, 0, 0, |
| 0, 312, 313, 314, 315, 316, 26, 0, 27, 318, |
| 0, 0, 0, 319, 0, 0, 0, 0, 0, 320, |
| 0, 0, 321, 0, 0, 0, 0, 0, 0, 0, |
| 322, 323, 324, 0, 0, 0, 0, 0, 325, 326, |
| 327, 0, 0, 0, 922, 328, 299, 8, 9, 10, |
| 0, 12, 533, 301, 302, 0, 303, 14, 0, 0, |
| 0, 0, 329, 0, 0, 0, 0, 0, 0, 0, |
| 0, 16, 304, 17, 0, 19, 0, 305, 306, 20, |
| 0, 307, 308, 309, 21, 310, 311, 0, 23, 0, |
| 0, 0, 312, 313, 314, 315, 316, 26, 0, 27, |
| 318, 0, 0, 0, 319, 0, 0, 0, 0, 0, |
| 320, 0, 0, 321, 0, 0, 0, 0, 0, 0, |
| 0, 322, 323, 324, 0, 0, 0, 0, 0, 325, |
| 326, 327, 0, 0, 0, 1542, 328, 299, 8, 9, |
| 10, 0, 12, 533, 301, 302, 0, 303, 14, 0, |
| 0, 0, 0, 329, 0, 0, 0, 0, 0, 0, |
| 0, 0, 16, 304, 17, 0, 19, 0, 305, 306, |
| 20, 0, 307, 308, 309, 21, 310, 311, 0, 23, |
| 0, 0, 0, 312, 313, 314, 315, 316, 26, 0, |
| 27, 318, 0, 0, 0, 319, 0, 0, 0, 0, |
| 0, 320, 0, 0, 321, 0, 0, 0, 0, 0, |
| 0, 0, 322, 323, 324, 0, 0, 0, 0, 0, |
| 325, 326, 327, 299, 8, 9, 10, 328, 12, 533, |
| 301, 302, 0, 303, 14, 0, 0, 0, 0, 0, |
| 0, 0, 0, 0, 329, 0, 0, 0, 16, 304, |
| 17, 0, 19, 0, 305, 306, 20, 0, 307, 308, |
| 309, 21, 310, 311, 0, 23, 0, 0, 0, 312, |
| 313, 314, 315, 316, 26, 0, 27, 318, 0, 0, |
| 0, 319, 0, 0, 0, 0, 0, 320, 0, 762, |
| 321, 7, 8, 763, 10, 167, 12, 13, 322, 323, |
| 324, 0, 14, 0, 0, 0, 325, 326, 327, 0, |
| 0, 0, 0, 328, 0, 0, 16, 0, 17, 18, |
| 19, 0, 0, 0, 20, -527, 0, 0, 0, 21, |
| 329, 870, 0, 23, 764, 0, 168, 0, 0, 0, |
| 0, 0, 26, 0, 27, 28, 0, 0, 765, 0, |
| 766, 0, 0, 0, 0, 0, 0, 0, 30, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, |
| 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, |
| 0, 33, 0, 0, 1283, 1284, 1285, 10, 167, 12, |
| 300, 301, 302, 0, 303, 14, 1286, -527, 1287, 1288, |
| 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296, 15, 16, |
| 304, 17, 18, 19, 0, 305, 306, 20, 0, 307, |
| 308, 309, 21, 310, 311, 1297, 23, 1298, 0, 0, |
| 312, 313, 314, 315, 316, 26, 0, 1299, 318, 717, |
| 0, 1300, 319, 0, 0, 0, 0, 0, 320, 0, |
| 0, 321, 0, 0, 0, 0, 0, 0, 0, 322, |
| 323, 324, 0, 0, 0, 0, 0, 325, 326, 327, |
| 0, 0, 0, 0, 328, 0, 1301, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 1431, 329, 1283, 1284, 1285, 10, 167, 12, 300, 301, |
| 302, 0, 303, 14, 1286, 0, 1287, 1288, 1289, 1290, |
| 1291, 1292, 1293, 1294, 1295, 1296, 15, 16, 304, 17, |
| 18, 19, 0, 305, 306, 20, 0, 307, 308, 309, |
| 21, 310, 311, 1297, 23, 1298, 0, 0, 312, 313, |
| 314, 315, 316, 26, 0, 1299, 318, 717, 0, 1300, |
| 319, 0, 0, 0, 0, 0, 320, 0, 0, 321, |
| 0, 0, 0, 0, 0, 0, 0, 322, 323, 324, |
| 0, 0, 0, 0, 0, 325, 326, 327, 0, 0, |
| 0, 0, 328, 0, 1301, 0, 1283, 1284, 1285, 10, |
| 167, 12, 300, 301, 302, 0, 303, 14, 1286, 329, |
| 1287, 1288, 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296, |
| 15, 16, 304, 17, 18, 19, 0, 305, 306, 20, |
| 0, 307, 308, 309, 21, 310, 311, 1297, 23, 1298, |
| 0, 0, 312, 313, 314, 315, 316, 26, 0, 1299, |
| 318, 1551, 0, 1300, 319, 0, 0, 0, 0, 0, |
| 320, 0, 0, 321, 0, 0, 0, 0, 0, 0, |
| 0, 322, 323, 324, 0, 0, 0, 0, 0, 325, |
| 326, 327, 0, 0, 0, 0, 328, 0, 1301, 0, |
| 1283, 1284, 1285, 10, 167, 12, 300, 301, 302, 0, |
| 303, 14, 1286, 329, 1287, 1288, 1289, 1290, 1291, 1292, |
| 1293, 1294, 1295, 1296, 15, 16, 304, 17, 18, 19, |
| 0, 305, 306, 20, 0, 307, 308, 309, 21, 310, |
| 311, 1297, 23, 1298, 0, 0, 312, 313, 314, 315, |
| 316, 26, 0, 1299, 318, 0, 0, 1300, 319, 0, |
| 0, 0, 0, 0, 320, 0, 0, 321, 0, 0, |
| 0, 0, 0, 0, 0, 322, 323, 324, 0, 0, |
| 0, 0, 0, 325, 326, 327, 0, 0, 0, 0, |
| 328, 0, 1301, 299, 8, 9, 10, 167, 12, 300, |
| 301, 302, 730, 303, 14, 0, 0, 329, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 16, 304, |
| 17, 18, 19, 0, 305, 306, 20, 0, 307, 308, |
| 309, 21, 310, 311, 0, 23, 0, 617, 0, 312, |
| 313, 314, 315, 316, 26, 0, 27, 318, 0, 0, |
| 0, 319, 0, 0, 0, 0, 0, 320, 0, 0, |
| 898, 0, 0, 0, 0, 0, 0, 0, 322, 323, |
| 899, 0, 0, 0, 0, 0, 325, 326, 327, 0, |
| 620, 0, 0, 900, 622, 7, 8, 9, 10, 167, |
| 12, 300, 301, 302, 730, 303, 14, 0, 0, 0, |
| 329, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 16, 304, 17, 18, 19, 0, 305, 306, 20, 0, |
| 307, 308, 309, 21, 310, 311, 0, 23, 0, 617, |
| 0, 312, 313, 314, 315, 316, 26, 0, 27, 28, |
| 0, 0, 0, 319, 0, 0, 0, 0, 0, 320, |
| 0, 0, 1180, 0, 0, 0, 0, 0, 0, 0, |
| 322, 323, 1181, 0, 0, 0, 0, 0, 325, 326, |
| 327, 0, 620, 0, 0, 1182, 622, 299, 8, 9, |
| 10, 0, 12, 300, 301, 302, 0, 303, 14, 0, |
| 0, 0, 329, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 16, 304, 17, 18, 19, 0, 305, 306, |
| 20, 0, 307, 308, 309, 21, 310, 311, 0, 23, |
| 0, 617, 0, 312, 313, 314, 315, 316, 26, 0, |
| 27, 318, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 320, 0, 0, 898, 0, 0, 0, 0, 0, |
| 0, 0, 322, 323, 899, 0, 0, 0, 0, 0, |
| 325, 326, 327, 0, 620, 0, 0, 900, 622, 7, |
| 8, 9, 10, 0, 12, 300, 301, 302, 0, 303, |
| 14, 0, 0, 0, 329, 0, 0, 0, 0, 0, |
| 0, 0, 0, 0, 16, 304, 17, 18, 19, 0, |
| 305, 306, 20, 0, 307, 308, 309, 21, 310, 311, |
| 0, 23, 0, 617, 0, 312, 313, 314, 315, 316, |
| 26, 0, 27, 28, 0, 0, 0, 0, 0, 0, |
| 0, 0, 0, 320, 0, 0, 1180, 0, 0, 0, |
| 0, 0, 0, 0, 322, 323, 1181, 0, 0, 0, |
| 0, 0, 325, 326, 327, 0, 620, 0, 0, 1182, |
| 622, 299, 8, 9, 10, 0, 12, 533, 301, 302, |
| 0, 303, 14, 0, 0, 0, 329, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 16, 304, 17, 18, |
| 19, 0, 305, 306, 20, 0, 307, 308, 309, 21, |
| 310, 311, 0, 23, 0, 0, 0, 312, 313, 314, |
| 315, 316, 26, 0, 27, 318, 0, 0, 0, 319, |
| 0, 0, 0, 0, 0, 320, 0, 0, 552, 0, |
| 0, 0, 0, 0, 0, 0, 322, 323, 553, 0, |
| 0, 0, 0, 0, 325, 326, 327, 299, 8, 9, |
| 10, 554, 12, 533, 301, 302, 0, 303, 14, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 329, 0, |
| 0, 0, 16, 304, 17, 0, 19, 0, 305, 306, |
| 20, 0, 307, 308, 309, 21, 310, 311, 0, 23, |
| 0, 0, 0, 312, 313, 314, 315, 316, 26, 0, |
| 27, 318, 0, 0, 1404, 319, 0, 0, 0, 0, |
| 0, 320, 0, 0, 321, 0, 0, 0, 0, 0, |
| 0, 0, 322, 323, 324, 0, 0, 0, 0, 0, |
| 325, 326, 327, 0, 0, 0, 0, 328, 299, 8, |
| 9, 10, 167, 12, 300, 301, 302, 0, 303, 14, |
| 0, 0, 0, 0, 329, 0, 0, 0, 0, 0, |
| 0, 0, 0, 16, 304, 17, 18, 19, 0, 305, |
| 306, 20, 0, 307, 308, 309, 21, 310, 311, 0, |
| 23, 0, 0, 0, 312, 313, 314, 315, 316, 26, |
| 0, 27, 318, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 320, 0, 0, 321, 0, 0, 0, 0, |
| 0, 0, 0, 322, 323, 324, 0, 0, 0, 0, |
| 0, 325, 326, 327, 7, 8, 9, 10, 328, 12, |
| 533, 301, 302, 0, 303, 14, 0, 0, 0, 0, |
| 0, 0, 0, 0, 0, 329, 0, 0, 0, 16, |
| 304, 17, 18, 19, 0, 305, 306, 20, 0, 307, |
| 308, 309, 21, 310, 311, 0, 23, 0, 0, 0, |
| 312, 313, 314, 315, 316, 26, 0, 27, 28, 0, |
| 0, 0, 319, 0, 0, 0, 0, 0, 320, 0, |
| 0, 1494, 0, 0, 0, 0, 0, 0, 0, 322, |
| 323, 1495, 0, 0, 0, 0, 0, 325, 326, 327, |
| 299, 8, 9, 10, 1496, 12, 300, 301, 302, 0, |
| 303, 14, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 329, 0, 0, 0, 16, 304, 17, 0, 19, |
| 0, 305, 306, 20, 0, 307, 308, 309, 21, 310, |
| 311, 0, 23, 0, 0, 0, 312, 313, 314, 315, |
| 316, 26, 0, 317, 318, 0, 0, 0, 319, 0, |
| 0, 0, 0, 0, 320, 0, 0, 321, 0, 0, |
| 0, 0, 0, 0, 0, 322, 323, 324, 0, 0, |
| 0, 0, 0, 325, 326, 327, 299, 8, 9, 10, |
| 328, 12, 300, 301, 302, 0, 303, 14, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 329, 0, 0, |
| 0, 16, 304, 17, 0, 19, 0, 305, 306, 20, |
| 0, 307, 308, 309, 21, 310, 311, 0, 23, 0, |
| 0, 0, 312, 313, 314, 315, 316, 26, 0, 27, |
| 318, 0, 0, 0, 319, 0, 0, 0, 0, 0, |
| 320, 0, 0, 321, 0, 0, 0, 0, 0, 0, |
| 0, 322, 323, 324, 0, 0, 0, 0, 0, 325, |
| 326, 327, 299, 8, 9, 10, 328, 12, 533, 301, |
| 302, 0, 303, 14, 0, 0, 0, 0, 0, 0, |
| 0, 0, 0, 329, 0, 0, 0, 16, 304, 17, |
| 0, 19, 0, 305, 306, 20, 0, 307, 308, 309, |
| 21, 310, 311, 0, 23, 0, 0, 0, 312, 313, |
| 314, 315, 316, 26, 0, 27, 318, 0, 0, 0, |
| 319, 0, 0, 0, 0, 0, 320, 0, 0, 321, |
| 0, 0, 0, 0, 0, 0, 0, 322, 323, 324, |
| 0, 0, 0, 0, 0, 325, 326, 327, 299, 8, |
| 9, 10, 328, 12, 533, 301, 302, 0, 303, 14, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 329, |
| 0, 0, 0, 16, 304, 17, 0, 19, 0, 305, |
| 306, 20, 0, 307, 308, 309, 21, 310, 311, 0, |
| 23, 0, 0, 0, 312, 313, 314, 315, 316, 26, |
| 0, 27, 318, 566, 0, 0, 0, 0, 0, 0, |
| 0, 0, 320, 0, 0, 321, 0, 0, 0, 0, |
| 0, 0, 0, 322, 323, 324, 0, 0, 0, 0, |
| 0, 325, 326, 327, 299, 8, 9, 10, 567, 12, |
| 533, 301, 302, 0, 303, 14, 0, 0, 0, 0, |
| 0, 0, 0, 0, 0, 329, 0, 0, 0, 16, |
| 304, 17, 0, 19, 0, 305, 306, 20, 0, 307, |
| 308, 309, 21, 310, 311, 0, 23, 0, 0, 0, |
| 312, 313, 314, 315, 316, 26, 0, 27, 318, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 320, 0, |
| 0, 321, 0, 0, 0, 0, 0, 0, 0, 322, |
| 323, 324, 0, 0, 0, 0, 0, 325, 326, 327, |
| 0, 0, 0, 0, 328, 605, 299, 8, 9, 10, |
| 0, 12, 533, 301, 302, 0, 303, 14, 0, 0, |
| 0, 329, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 16, 304, 17, 18, 19, 0, 305, 306, 20, |
| 0, 307, 308, 309, 21, 310, 311, 0, 23, 0, |
| 0, 0, 312, 313, 314, 315, 316, 26, 0, 27, |
| 318, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 320, 0, 0, 552, 0, 0, 0, 0, 0, 0, |
| 0, 322, 323, 553, 0, 0, 0, 0, 0, 325, |
| 326, 327, 1140, 8, 9, 10, 554, 12, 533, 301, |
| 302, 0, 303, 14, 0, 0, 0, 0, 0, 0, |
| 0, 0, 0, 329, 0, 0, 0, 16, 304, 17, |
| 0, 19, 0, 305, 306, 20, 0, 307, 308, 309, |
| 21, 310, 311, 0, 23, 0, 0, 0, 312, 313, |
| 314, 315, 316, 26, 0, 27, 318, 0, 0, 0, |
| 319, 0, 0, 0, 0, 0, 320, 0, 0, 321, |
| 0, 0, 0, 0, 0, 0, 0, 322, 323, 324, |
| 0, 0, 0, 0, 0, 325, 326, 327, 7, 8, |
| 9, 10, 328, 12, 300, 301, 302, 0, 303, 14, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 329, |
| 0, 0, 0, 16, 304, 17, 18, 19, 0, 305, |
| 306, 20, 0, 307, 308, 309, 21, 310, 311, 0, |
| 23, 0, 0, 0, 312, 313, 314, 315, 316, 26, |
| 0, 27, 28, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 320, 0, 0, 1494, 0, 0, 0, 0, |
| 0, 0, 0, 322, 323, 1495, 0, 0, 0, 0, |
| 0, 325, 326, 327, 299, 8, 9, 10, 1496, 12, |
| 533, 301, 302, 0, 303, 14, 0, 0, 0, 0, |
| 0, 0, 0, 0, 0, 329, 0, 0, 0, 16, |
| 304, 17, 0, 19, 0, 305, 306, 20, 0, 307, |
| 308, 309, 21, 310, 311, 0, 23, 0, 0, 0, |
| 312, 313, 314, 315, 316, 26, 0, 27, 318, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 320, 0, |
| 0, 321, 0, 0, 0, 0, 0, 0, 0, 322, |
| 323, 324, 0, 0, 0, 0, 0, 325, 326, 327, |
| 299, 8, 9, 10, 534, 12, 533, 301, 302, 0, |
| 303, 14, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 329, 0, 0, 0, 16, 304, 17, 0, 19, |
| 0, 305, 306, 20, 0, 307, 308, 309, 21, 310, |
| 311, 0, 23, 0, 0, 0, 312, 313, 314, 315, |
| 316, 26, 0, 27, 318, 0, 0, 0, 0, 0, |
| 0, 0, 0, 0, 320, 0, 0, 321, 0, 0, |
| 0, 0, 0, 0, 0, 322, 323, 324, 0, 0, |
| 0, 0, 0, 325, 326, 327, 299, 8, 9, 10, |
| 537, 12, 533, 301, 302, 0, 303, 14, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 329, 0, 0, |
| 0, 16, 304, 17, 0, 19, 0, 305, 306, 20, |
| 0, 307, 308, 309, 21, 310, 311, 0, 23, 0, |
| 0, 0, 312, 313, 314, 315, 316, 26, 0, 27, |
| 318, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 320, 0, 6, 321, 7, 8, 9, 10, 11, 12, |
| 13, 322, 323, 324, 0, 14, 0, 0, 0, 325, |
| 326, 327, 0, 0, 0, 0, 328, 0, 0, 16, |
| 0, 17, 18, 0, 0, 0, 0, 20, 0, 0, |
| 0, 0, 21, 329, 0, 0, 23, 0, 0, 437, |
| 0, 0, 0, 0, 0, 26, 0, 27, 28, 0, |
| 0, 29, 0, 7, 8, 9, 10, 167, 12, 13, |
| 0, 30, 996, 0, 14, 0, 0, 0, 0, 0, |
| 0, 31, 0, 0, 0, 0, 0, 0, 16, 32, |
| 17, 18, 0, 0, 33, 0, 20, 0, 0, 0, |
| 0, 21, 0, 0, 0, 23, 0, 0, 0, 0, |
| 0, 0, 0, 0, 26, 0, 27, 28, 1033, 8, |
| 763, 10, 205, 12, 206, 0, 0, 0, 0, 14, |
| 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 31, 0, 0, 16, 0, 17, 18, 0, 32, 0, |
| 0, 20, 0, 33, 0, 0, 21, 0, 0, 0, |
| 23, 0, 0, 0, 0, 0, 0, 0, 0, 26, |
| 0, 27, 28, 0, 0, 0, 0, 1035, 0, 0, |
| 0, 0, 0, 0, 0, 30, 7, 8, 9, 10, |
| 205, 12, 206, 0, 0, 31, 0, 14, 0, 0, |
| 0, 0, 0, 32, 0, 0, 0, 0, 33, 0, |
| 0, 16, 0, 17, 18, 0, 0, 0, 0, 20, |
| 0, 0, 0, 0, 21, 0, 0, 0, 23, 0, |
| 0, 0, 0, 0, 0, 0, 0, 26, 0, 27, |
| 28, 0, 0, 1421, 0, 7, 8, 9, 10, 167, |
| 12, 13, 0, 30, 0, 0, 14, 0, 0, 0, |
| 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, |
| 16, 32, 17, 18, 0, 0, 33, 0, 20, 0, |
| 0, 0, 0, 21, 0, 0, 0, 23, 0, 0, |
| 0, 0, 0, 0, 0, 0, 26, 0, 27, 28, |
| 7, 8, 9, 10, 205, 12, 206, 0, 0, 0, |
| 0, 14, 30, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 31, 0, 0, 16, 0, 17, 18, 0, |
| 32, 0, 0, 20, 0, 33, 0, 0, 21, 0, |
| 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, |
| 0, 26, 0, 27, 28, 7, 8, 9, 10, 214, |
| 215, 216, 0, 0, 0, 0, 14, 30, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, |
| 0, 0, 0, 18, 0, 32, 0, 0, 20, 0, |
| 33, 0, 0, 21, 0, 0, 0, 23, 0, 617, |
| 0, 0, 0, 0, 0, 0, 26, 0, 27, 28, |
| 8, 9, 0, 167, 12, 13, 0, 0, 0, 0, |
| 14, 0, 193, 8, 9, 0, 167, 12, 13, 0, |
| 0, 730, 194, 14, 16, 0, 17, 18, 0, 0, |
| 32, 0, 20, 0, 0, 1424, 0, 16, 0, 17, |
| 18, 679, 0, 0, 168, 20, 0, 0, 0, 0, |
| 26, 0, 130, 131, 23, 0, 0, 0, 0, 0, |
| 0, 0, 0, 26, 0, 130, 131, 8, 9, 0, |
| 167, 12, 13, 0, 0, 1545, 0, 14, 0, 0, |
| 8, 9, 0, 205, 12, 206, 0, 0, 0, 0, |
| 14, 16, 0, 17, 18, 0, 0, 0, 0, 20, |
| 0, 0, 0, 0, 16, 0, 17, 18, 23, 0, |
| 0, 0, 20, 0, 0, 0, 0, 26, 0, 130, |
| 131, 23, 0, 0, 0, 0, 0, 0, 0, 0, |
| 26, 0, 130, 131, 569, 570, 571, 572, 573, 574, |
| 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, |
| 585, 586, 587, 588, 589, 590, 569, 570, 571, 572, |
| 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, |
| 583, 584, 585, 586, 587, 588, 589, 590, 0, 0, |
| 0, 0, 1236, 575, 576, 577, 578, 579, 580, 581, |
| 582, 583, 584, 585, 586, 587, 588, 589, 590, 0, |
| 1565, 1559, 569, 570, 571, 572, 573, 574, 575, 576, |
| 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, |
| 587, 588, 589, 590, 569, 570, 571, 572, 573, 574, |
| 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, |
| 585, 586, 587, 588, 589, 590, 569, 570, 571, 572, |
| 573, 574, 575, 576, 577, 578, 579, 580, 0, 582, |
| 583, 584, 585, 586, 587, 588, 589, 590, 573, 574, |
| 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, |
| 585, 586, 587, 588, 589, 590, 576, 577, 578, 579, |
| 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, |
| 590 |
| }; |
| |
| static const short yycheck[] = { 4, |
| 174, 348, 4, 175, 401, 401, 176, 161, 715, 209, |
| 4, 23, 126, 4, 80, 459, 303, 304, 156, 14, |
| 354, 481, 621, 250, 714, 42, 4, 134, 690, 628, |
| 35, 1386, 80, 35, 564, 354, 372, 42, 401, 55, |
| 42, 35, 84, 697, 35, 42, 246, 859, 42, 336, |
| 209, 4, 57, 217, 218, 133, 134, 35, 767, 218, |
| 769, 439, 601, 1302, 42, 644, 454, 72, 777, 46, |
| 124, 761, 133, 1476, 1475, 783, 11, 1312, 54, 84, |
| 11, 789, 35, 88, 1319, 90, 42, 92, 83, 42, |
| 149, 150, 1, 33, 42, 295, 144, 1477, 4, 76, |
| 1, 60, 107, 108, 502, 47, 84, 59, 0, 1499, |
| 54, 106, 37, 59, 11, 62, 4, 1, 62, 698, |
| 1521, 59, 42, 74, 30, 31, 54, 354, 57, 35, |
| 1520, 136, 137, 0, 139, 12, 42, 75, 33, 59, |
| 9, 58, 83, 84, 355, 356, 74, 35, 348, 58, |
| 109, 93, 169, 62, 42, 203, 108, 58, 136, 175, |
| 165, 62, 622, 109, 169, 62, 108, 169, 165, 109, |
| 558, 176, 169, 108, 58, 169, 1556, 108, 84, 155, |
| 60, 98, 59, 136, 109, 62, 95, 165, 896, 536, |
| 1580, 169, 61, 140, 95, 261, 407, 408, 4, 5, |
| 47, 27, 1605, 305, 306, 31, 1561, 136, 4, 156, |
| 12, 108, 165, 169, 62, 74, 169, 4, 5, 321, |
| 1621, 169, 324, 7, 200, 327, 74, 59, 330, 109, |
| 136, 108, 334, 60, 60, 4, 213, 1476, 64, 35, |
| 342, 4, 48, 149, 150, 1480, 93, 176, 136, 169, |
| 56, 57, 247, 37, 149, 150, 151, 59, 912, 165, |
| 62, 915, 64, 169, 47, 212, 35, 345, 489, 56, |
| 57, 59, 35, 220, 80, 937, 108, 165, 4, 42, |
| 38, 169, 109, 109, 345, 392, 507, 193, 194, 209, |
| 237, 296, 55, 447, 57, 1530, 54, 217, 218, 341, |
| 195, 900, 956, 957, 59, 60, 25, 641, 27, 35, |
| 93, 94, 1020, 3, 4, 5, 6, 680, 48, 858, |
| 108, 485, 486, 328, 1032, 108, 246, 486, 716, 493, |
| 384, 709, 710, 47, 670, 12, 341, 4, 5, 58, |
| 737, 737, 506, 62, 349, 944, 1581, 47, 54, 47, |
| 64, 41, 357, 358, 1205, 1206, 62, 14, 1066, 354, |
| 1068, 525, 93, 341, 54, 22, 56, 57, 74, 93, |
| 59, 1222, 60, 136, 60, 295, 95, 140, 1524, 93, |
| 358, 48, 59, 610, 54, 62, 733, 403, 9, 56, |
| 57, 12, 991, 93, 3, 93, 401, 6, 88, 404, |
| 47, 93, 165, 47, 74, 358, 169, 401, 65, 47, |
| 108, 941, 175, 176, 473, 474, 74, 861, 90, 108, |
| 92, 109, 31, 401, 441, 54, 47, 1573, 348, 358, |
| 1009, 25, 41, 1245, 645, 341, 441, 897, 59, 505, |
| 61, 62, 74, 64, 441, 74, 93, 56, 57, 93, |
| 552, 553, 358, 93, 75, 93, 77, 4, 5, 222, |
| 60, 70, 467, 441, 58, 137, 54, 124, 62, 47, |
| 358, 80, 93, 94, 1164, 479, 47, 1131, 1132, 88, |
| 59, 60, 47, 487, 93, 405, 74, 108, 441, 467, |
| 107, 148, 497, 64, 54, 401, 1347, 3, 4, 5, |
| 505, 95, 449, 505, 54, 1356, 1357, 54, 1359, 56, |
| 57, 1201, 1221, 62, 74, 93, 94, 25, 495, 62, |
| 54, 441, 93, 70, 74, 74, 531, 505, 93, 534, |
| 108, 74, 537, 80, 708, 441, 541, 542, 543, 544, |
| 545, 938, 938, 47, 75, 492, 77, 94, 47, 554, |
| 56, 57, 505, 441, 1153, 31, 47, 4, 5, 564, |
| 602, 467, 567, 1375, 671, 485, 486, 473, 474, 4, |
| 5, 678, 906, 493, 80, 938, 505, 33, 473, 474, |
| 475, 238, 239, 1182, 62, 58, 506, 906, 799, 93, |
| 94, 755, 980, 250, 93, 358, 74, 602, 109, 505, |
| 678, 48, 93, 94, 108, 525, 4, 5, 808, 56, |
| 57, 47, 1010, 74, 1012, 902, 621, 505, 1016, 54, |
| 47, 56, 57, 628, 602, 47, 54, 3, 4, 5, |
| 6, 647, 54, 80, 3, 4, 5, 632, 59, 60, |
| 403, 1085, 1086, 621, 1334, 1105, 3, 4, 5, 6, |
| 628, 58, 74, 93, 1505, 1506, 58, 93, 56, 57, |
| 54, 47, 64, 320, 47, 41, 93, 679, 673, 54, |
| 686, 93, 688, 689, 54, 47, 75, 108, 441, 906, |
| 56, 57, 687, 47, 41, 357, 691, 56, 57, 107, |
| 108, 48, 47, 149, 150, 151, 602, 4, 5, 56, |
| 57, 767, 714, 769, 25, 362, 27, 93, 47, 775, |
| 93, 777, 618, 619, 371, 621, 479, 733, 59, 60, |
| 931, 93, 628, 80, 487, 64, 108, 384, 648, 93, |
| 94, 88, 737, 94, 1178, 47, 11, 58, 93, 195, |
| 47, 62, 505, 1187, 1188, 59, 60, 54, 1192, 56, |
| 57, 109, 47, 1100, 93, 94, 4, 5, 774, 737, |
| 108, 9, 767, 70, 769, 767, 904, 769, 870, 689, |
| 775, 47, 777, 80, 95, 777, 108, 47, 783, 784, |
| 785, 93, 787, 90, 789, 98, 93, 94, 47, 767, |
| 964, 769, 1236, 770, 771, 54, 898, 899, 93, 777, |
| 1198, 1199, 1200, 780, 60, 783, 54, 62, 56, 57, |
| 93, 789, 47, 733, 767, 74, 769, 93, 94, 54, |
| 4, 5, 70, 93, 777, 497, 58, 3, 62, 60, |
| 62, 737, 80, 111, 93, 755, 59, 60, 767, 74, |
| 769, 796, 797, 798, 501, 774, 775, 74, 777, 1060, |
| 1061, 1062, 857, 108, 62, 4, 5, 862, 93, 531, |
| 9, 767, 62, 769, 48, 979, 94, 12, 7, 8, |
| 9, 777, 56, 57, 108, 14, 94, 783, 111, 767, |
| 1587, 769, 27, 789, 647, 890, 31, 1331, 808, 777, |
| 93, 896, 31, 59, 60, 900, 80, 36, 93, 4, |
| 5, 949, 47, 4, 5, 54, 45, 56, 57, 566, |
| 328, 906, 54, 59, 59, 60, 74, 62, 896, 64, |
| 62, 70, 900, 686, 687, 688, 689, 44, 1372, 59, |
| 60, 80, 74, 938, 74, 940, 941, 54, 54, 944, |
| 57, 59, 60, 48, 938, 94, 62, 48, 93, 94, |
| 27, 56, 57, 610, 31, 56, 57, 904, 74, 74, |
| 938, 54, 74, 108, 1311, 54, 944, 59, 60, 62, |
| 733, 31, 11, 62, 737, 80, 4, 5, 1044, 80, |
| 109, 74, 59, 60, 108, 74, 991, 1053, 1101, 1102, |
| 896, 1104, 898, 899, 900, 59, 1044, 108, 25, 1004, |
| 27, 673, 8, 9, 767, 1107, 769, 1023, 14, 1397, |
| 108, 774, 775, 991, 777, 1020, 74, 473, 474, 475, |
| 48, 182, 679, 108, 54, 1413, 74, 1032, 56, 57, |
| 36, 58, 938, 690, 74, 62, 942, 943, 944, 45, |
| 108, 47, 1020, 109, 59, 1256, 464, 109, 1053, 944, |
| 111, 1053, 80, 108, 1032, 3, 4, 5, 111, 1036, |
| 75, 1066, 77, 1068, 721, 1042, 1043, 59, 95, 1046, |
| 1047, 27, 64, 1050, 74, 1053, 74, 54, 1180, 1181, |
| 74, 141, 74, 75, 108, 991, 146, 93, 1066, 111, |
| 1068, 1096, 1151, 1152, 1023, 111, 991, 108, 108, 47, |
| 1053, 58, 54, 108, 1109, 8, 54, 1155, 56, 57, |
| 111, 1499, 784, 785, 1020, 787, 534, 1514, 1514, 537, |
| 93, 1180, 1181, 541, 1053, 47, 1032, 64, 59, 93, |
| 4, 5, 1520, 109, 194, 54, 554, 1309, 36, 1311, |
| 1310, 25, 60, 27, 64, 93, 54, 1053, 1153, 567, |
| 1216, 64, 1164, 571, 62, 1221, 3, 4, 5, 1547, |
| 1066, 108, 1068, 64, 108, 1053, 74, 1611, 4, 5, |
| 1175, 1518, 60, 1175, 58, 1153, 62, 1182, 62, 108, |
| 54, 599, 56, 57, 1175, 108, 64, 605, 3, 4, |
| 5, 1196, 1580, 108, 108, 64, 70, 1175, 258, 64, |
| 1302, 3, 4, 5, 1182, 111, 80, 54, 44, 56, |
| 57, 95, 75, 1601, 108, 30, 1221, 108, 54, 1221, |
| 56, 57, 1175, 108, 75, 108, 1, 108, 3, 4, |
| 5, 6, 75, 8, 75, 30, 31, 75, 33, 54, |
| 108, 56, 57, 1221, 108, 1151, 1152, 1153, 62, 62, |
| 3, 4, 5, 6, 56, 57, 1151, 1152, 1153, 59, |
| 1023, 62, 57, 108, 59, 111, 41, 924, 1221, 1175, |
| 65, 8, 9, 48, 1180, 1181, 1182, 14, 108, 54, |
| 937, 56, 57, 108, 94, 1180, 1181, 1182, 41, 111, |
| 1053, 88, 1221, 1309, 74, 1311, 47, 1302, 109, 36, |
| 1302, 108, 108, 56, 57, 1310, 111, 1312, 45, 59, |
| 1312, 109, 111, 88, 1319, 1221, 108, 1319, 1518, 108, |
| 108, 1312, 108, 1328, 1302, 60, 64, 93, 1319, 3, |
| 4, 5, 59, 1221, 1312, 88, 64, 1491, 59, 59, |
| 62, 1319, 33, 59, 108, 108, 141, 74, 75, 1302, |
| 77, 146, 93, 93, 149, 150, 151, 93, 418, 1312, |
| 93, 421, 3, 4, 5, 109, 1319, 4, 5, 460, |
| 109, 27, 9, 433, 108, 31, 467, 1354, 1355, 108, |
| 54, 176, 56, 57, 58, 108, 111, 182, 8, 33, |
| 108, 1311, 1494, 1495, 1568, 108, 1302, 108, 193, 194, |
| 195, 108, 111, 59, 60, 109, 1312, 48, 64, 469, |
| 47, 471, 108, 1319, 209, 56, 57, 54, 108, 56, |
| 57, 108, 217, 218, 484, 108, 64, 108, 54, 1086, |
| 88, 108, 90, 70, 92, 1494, 1495, 1109, 7, 8, |
| 9, 532, 108, 80, 62, 14, 1423, 111, 866, 47, |
| 1213, 108, 62, 90, 108, 1218, 93, 94, 1221, 150, |
| 151, 108, 31, 258, 96, 1470, 62, 36, 60, 60, |
| 1475, 1476, 1477, 1475, 1476, 1480, 45, 9, 1480, 137, |
| 60, 139, 900, 16, 1475, 108, 108, 108, 944, 1480, |
| 93, 1496, 1470, 108, 108, 108, 108, 1475, 1476, 1477, |
| 108, 592, 1480, 1519, 195, 93, 60, 598, 60, 1514, |
| 54, 64, 3, 4, 5, 1172, 1521, 93, 111, 1521, |
| 93, 1178, 1475, 1476, 17, 1530, 60, 1480, 1530, 1424, |
| 1521, 54, 60, 328, 108, 991, 1514, 108, 97, 1530, |
| 107, 11, 108, 1521, 635, 108, 1309, 1310, 1311, 60, |
| 60, 1556, 1530, 3, 4, 5, 60, 7, 8, 9, |
| 59, 64, 93, 108, 1470, 56, 57, 58, 1521, 1475, |
| 1476, 1477, 1549, 60, 1480, 11, 1581, 1530, 1556, 1581, |
| 60, 31, 3, 4, 5, 6, 36, 108, 1494, 1495, |
| 1581, 3, 4, 5, 108, 7, 11, 758, 1518, 1494, |
| 1495, 1496, 60, 1581, 0, 0, 56, 57, 1514, 404, |
| 405, 3, 4, 5, 6, 1521, 1621, 0, 30, 1621, |
| 41, 170, 2, 418, 1530, 37, 421, 48, 1581, 35, |
| 1621, 1411, 427, 428, 429, 56, 57, 328, 433, 1296, |
| 1297, 938, 54, 1621, 56, 57, 38, 39, 671, 41, |
| 1556, 3, 4, 5, 169, 3, 4, 5, 6, 80, |
| 441, 319, 54, 165, 56, 57, 775, 88, 1621, 80, |
| 81, 82, 83, 84, 469, 1581, 471, 1567, 473, 474, |
| 475, 1164, 401, 478, 744, 745, 94, 747, 238, 484, |
| 485, 486, 139, 41, 489, 1151, 1152, 1153, 493, 357, |
| 1396, 1246, 54, 1621, 56, 57, 54, 924, 56, 57, |
| 919, 298, 507, 721, 62, 1621, 243, 1201, 1334, 1053, |
| 1218, 775, 70, 917, 1180, 1181, 1182, 3, 4, 5, |
| 654, 1388, 80, 200, 345, 602, 124, 428, 429, 534, |
| 88, 1601, 537, 1312, 1176, 93, 1587, 1597, 467, 1535, |
| 3, 4, 5, 1410, 1411, 1599, 1519, 552, 553, 554, |
| 999, 1328, -1, -1, 1182, 856, 857, 3, 4, 5, |
| 6, 862, 567, 9, 3, 4, 5, 6, 1196, -1, |
| 56, 57, -1, 474, 475, 876, -1, 878, -1, 880, |
| -1, -1, -1, -1, -1, 31, 3, 4, 5, -1, |
| -1, 459, 460, 56, 57, 41, -1, -1, -1, 467, |
| -1, 47, 41, -1, 1232, 1233, 1234, 1235, 54, 48, |
| 56, 57, -1, -1, -1, -1, -1, 56, 57, -1, |
| -1, 1488, -1, 628, 70, 926, 3, 4, 5, 497, |
| 7, 8, 9, 534, 80, -1, 537, -1, -1, 56, |
| 57, 80, 88, 648, 90, -1, -1, 93, 94, 88, |
| -1, -1, 553, 554, 1025, 1026, 78, 79, 80, 81, |
| 82, 83, 84, 531, 532, -1, 567, 1295, -1, -1, |
| -1, 972, -1, 943, -1, -1, -1, -1, -1, 56, |
| 57, 1052, 687, -1, 689, 690, 1057, -1, -1, -1, |
| -1, -1, 621, 3, 4, 5, 564, -1, 566, 628, |
| -1, 569, 570, -1, 572, 573, 574, 575, 576, 577, |
| 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, |
| 588, 589, 590, -1, 592, -1, -1, 628, 733, -1, |
| 598, -1, -1, -1, -1, -1, -1, -1, 48, 744, |
| 745, -1, 747, -1, -1, 1373, 56, 57, -1, -1, |
| 755, -1, -1, 758, 47, -1, -1, -1, 1424, -1, |
| 628, -1, -1, 3, 4, 5, -1, 635, -1, -1, |
| 775, -1, -1, -1, -1, 193, 194, 195, 1406, -1, |
| -1, -1, 3, 4, 5, 753, 7, 8, 9, 657, |
| 658, -1, -1, 86, 87, -1, -1, 802, 91, 92, |
| 93, 94, 3, 4, 5, 673, -1, -1, 737, -1, |
| 31, -1, -1, -1, 782, 36, 56, 57, -1, -1, |
| 788, -1, -1, 3, 4, 5, 6, -1, 1494, 1495, |
| 1496, -1, -1, 54, -1, 56, 57, 58, 80, -1, |
| 1211, 1212, 1470, 1214, 1215, -1, 1217, -1, 1476, 1477, |
| -1, 31, -1, 721, 783, 56, 57, -1, -1, -1, |
| 789, 41, 104, -1, -1, 1166, -1, 1168, 1496, 1170, |
| -1, -1, -1, -1, 54, -1, 56, 57, -1, 1149, |
| 1150, -1, 103, 104, 105, -1, -1, 1157, -1, -1, |
| 70, 133, -1, 898, 899, 900, -1, -1, 766, -1, |
| 80, 802, 144, -1, -1, -1, -1, -1, 88, -1, |
| -1, -1, -1, 93, -1, -1, 784, 785, -1, 787, |
| -1, -1, -1, 891, -1, 893, -1, -1, 1556, -1, |
| -1, -1, 937, -1, 802, -1, -1, 942, 943, 944, |
| -1, -1, -1, -1, -1, -1, -1, 1575, -1, -1, |
| -1, -1, 4, 5, -1, -1, 824, 9, -1, -1, |
| -1, 203, -1, -1, -1, -1, 1267, 896, 1596, -1, |
| -1, 900, -1, 1344, 1345, -1, -1, 1605, -1, -1, |
| -1, -1, -1, -1, -1, -1, 991, -1, 856, 857, |
| -1, -1, -1, 861, 862, 47, 238, -1, 899, 900, |
| 1270, 1271, 54, 1273, 56, 57, -1, -1, 876, 938, |
| 878, -1, 880, -1, -1, 944, -1, -1, 70, 261, |
| 1025, 1026, -1, -1, -1, -1, -1, -1, 80, -1, |
| -1, 3, 4, 5, 6, -1, -1, 9, 90, -1, |
| -1, 93, 94, 944, -1, -1, -1, 1052, 916, -1, |
| -1, 469, 1057, 471, -1, 473, 474, 475, 926, 31, |
| -1, -1, 991, -1, -1, -1, 484, -1, -1, 41, |
| -1, -1, -1, 941, -1, 1446, 1447, 1448, -1, -1, |
| -1, -1, 54, -1, 56, 57, 954, -1, -1, -1, |
| 991, 1020, -1, -1, -1, -1, -1, 1065, 70, 1067, |
| 7, 8, 9, 1032, 972, -1, -1, 14, 80, -1, |
| -1, 353, 3, 4, 5, 6, 88, -1, 9, -1, |
| -1, 93, -1, 991, 31, -1, -1, -1, -1, 36, |
| -1, 1502, 1503, -1, -1, -1, -1, 1066, 45, 1068, |
| 31, -1, -1, -1, 1149, 1150, 1151, 1152, 1153, -1, |
| 41, -1, 1157, 60, 1122, -1, 47, -1, -1, -1, |
| -1, -1, -1, 54, -1, 56, 57, 1035, -1, 411, |
| -1, -1, -1, -1, -1, 1180, 1181, 1182, -1, 70, |
| -1, -1, -1, -1, 7, 8, 9, -1, -1, 80, |
| -1, 14, -1, -1, -1, -1, -1, 88, -1, 90, |
| -1, 1572, 93, 94, -1, -1, 1211, 1212, 31, 1214, |
| 1215, -1, 1217, 36, -1, -1, 4, 1085, 1086, -1, |
| -1, 1089, 45, -1, 1153, -1, 14, -1, -1, -1, |
| -1, -1, -1, -1, 1202, -1, 24, 60, -1, 1207, |
| -1, 1109, 30, 31, -1, 33, -1, 35, -1, -1, |
| -1, 1152, 1153, 1182, 42, -1, -1, -1, -1, 501, |
| -1, -1, -1, -1, -1, 1270, 1271, 55, 1273, 57, |
| -1, -1, 460, -1, -1, -1, -1, 65, -1, 467, |
| 1181, 1182, -1, -1, 72, -1, 528, -1, -1, -1, |
| -1, -1, 1260, -1, -1, 83, 84, -1, 1166, -1, |
| 1168, -1, 1170, -1, -1, 1310, 1311, -1, -1, -1, |
| 1178, -1, -1, -1, -1, -1, -1, -1, 106, 1187, |
| 1188, -1, -1, -1, 1192, -1, 744, 745, -1, 747, |
| -1, 3, 4, 5, 6, -1, -1, 9, -1, 1344, |
| 1345, 1209, 1210, -1, 532, -1, 134, -1, 136, -1, |
| -1, -1, 140, 141, -1, -1, 774, 145, 146, 31, |
| -1, 149, 150, 151, -1, -1, -1, -1, 1236, 41, |
| -1, -1, -1, 615, -1, 47, -1, 165, -1, -1, |
| -1, 169, 54, -1, 56, 57, -1, 175, 176, 631, |
| -1, 3, 4, 5, 6, 1363, 1364, -1, 70, 1267, |
| -1, -1, -1, -1, 592, 193, 194, 195, 80, -1, |
| 598, -1, 1380, -1, -1, -1, 88, -1, 90, 1424, |
| -1, 93, 94, 1291, -1, -1, -1, -1, -1, 41, |
| -1, -1, -1, -1, 222, -1, 48, -1, -1, -1, |
| 628, 1446, 1447, 1448, 56, 57, -1, 635, -1, -1, |
| -1, 239, -1, -1, -1, -1, -1, -1, -1, 247, |
| -1, -1, -1, 1331, -1, -1, -1, -1, 80, -1, |
| 258, 1439, 1440, -1, -1, -1, 88, -1, 3, 4, |
| 5, 6, 1350, -1, 9, -1, -1, 1455, 1456, 1494, |
| 1495, 1496, -1, -1, -1, -1, -1, 1502, 1503, -1, |
| -1, -1, -1, -1, 1372, -1, 31, -1, 296, 297, |
| -1, -1, -1, -1, -1, -1, 41, -1, -1, -1, |
| -1, -1, 47, 1424, 942, 943, 944, -1, -1, 54, |
| -1, 56, 57, -1, -1, -1, 4, 5, -1, -1, |
| -1, 9, -1, -1, -1, 70, -1, -1, -1, -1, |
| -1, -1, -1, 341, -1, 80, 1424, 345, -1, 347, |
| 348, 349, -1, 88, -1, 90, -1, 1572, 93, 94, |
| 358, -1, -1, 991, -1, -1, 1444, 1445, -1, 47, |
| -1, 3, 4, 5, 6, 1514, 54, 9, 56, 57, |
| 3, 4, 5, 6, 1495, 1496, 9, -1, -1, 82, |
| -1, -1, 70, -1, 392, 1023, -1, -1, -1, 31, |
| 1478, -1, 80, 401, 802, 403, 404, -1, 31, 41, |
| -1, -1, 90, -1, -1, 93, 94, -1, 41, -1, |
| 418, -1, 54, 421, 56, 57, -1, -1, -1, -1, |
| 1508, 54, -1, 56, 57, 433, -1, -1, 70, -1, |
| -1, -1, -1, 441, -1, -1, -1, 70, 80, 3, |
| 4, 5, 6, 905, -1, 907, 88, 80, 856, 857, |
| -1, 93, -1, -1, 862, 88, 159, -1, -1, -1, |
| 93, 469, -1, 471, -1, 473, 474, 475, 876, -1, |
| 878, 479, 880, -1, -1, -1, 484, 41, -1, 487, |
| -1, -1, -1, 47, -1, -1, -1, 949, 191, -1, |
| 54, -1, 56, 57, -1, -1, -1, 505, -1, -1, |
| -1, 204, -1, -1, -1, -1, 70, -1, -1, -1, |
| -1, 1149, 1150, 1151, 1152, 1153, 80, -1, 926, 1157, |
| -1, -1, -1, 1611, 88, -1, 90, -1, -1, 93, |
| 94, -1, -1, -1, 542, 543, 544, 545, -1, -1, |
| -1, -1, 1180, 1181, 1182, -1, -1, -1, -1, -1, |
| -1, 3, 4, 5, 6, 7, 8, 9, -1, -1, |
| 12, -1, 14, -1, 972, -1, -1, -1, -1, 3, |
| 4, 5, 6, -1, -1, 1213, 28, -1, 30, 31, |
| -1, -1, 1044, 991, 36, -1, -1, -1, -1, 41, |
| -1, -1, -1, 45, 602, 47, 604, -1, -1, -1, |
| -1, -1, 54, -1, 56, 57, -1, 41, 616, -1, |
| 618, 619, -1, 621, 48, -1, -1, -1, 70, -1, |
| 628, -1, 56, 57, 632, -1, -1, -1, 80, -1, |
| -1, -1, 1270, 1271, -1, 1273, 88, -1, 90, 647, |
| -1, 93, 94, -1, -1, -1, 80, -1, -1, -1, |
| 3, 4, 5, 6, 88, -1, 3, 4, 5, 6, |
| 7, 8, 9, 671, -1, -1, 1128, 14, -1, -1, |
| 678, -1, -1, -1, -1, -1, -1, -1, 686, 687, |
| 688, 689, 690, 691, 31, -1, -1, -1, 41, 36, |
| -1, -1, -1, 1155, 41, 48, -1, -1, 45, -1, |
| 47, -1, -1, 56, 57, -1, -1, 54, -1, 56, |
| 57, -1, -1, -1, -1, -1, -1, 3, 4, 5, |
| 6, -1, -1, 70, -1, 733, -1, -1, -1, 737, |
| -1, -1, -1, 80, -1, 88, 744, 745, -1, 747, |
| -1, 88, -1, 90, -1, 31, 93, 94, -1, -1, |
| -1, -1, -1, -1, 1216, 41, 764, -1, 1166, 767, |
| 1168, 769, 1170, -1, -1, -1, 774, 775, 54, 777, |
| 56, 57, -1, -1, 477, 783, -1, -1, -1, 482, |
| -1, 789, -1, -1, 70, -1, 1424, -1, 796, 797, |
| 798, -1, -1, -1, 80, -1, 3, 4, 5, 6, |
| 808, -1, 88, -1, -1, 508, -1, 93, -1, 4, |
| -1, 514, -1, -1, -1, -1, -1, -1, -1, 14, |
| -1, -1, -1, 526, 527, -1, 529, -1, 23, 24, |
| -1, -1, -1, -1, 41, 30, 31, -1, 33, -1, |
| 35, 48, -1, -1, -1, -1, -1, 42, -1, 56, |
| 57, -1, -1, -1, -1, -1, 1494, 1495, 1496, 1267, |
| 55, -1, 57, 3, 4, 5, 6, -1, -1, -1, |
| 65, -1, -1, 881, -1, 883, -1, 72, -1, -1, |
| -1, 88, 890, -1, -1, -1, 894, -1, 896, 84, |
| 898, 899, 900, -1, -1, -1, -1, -1, 906, -1, |
| -1, 41, -1, -1, -1, -1, -1, -1, 48, -1, |
| -1, -1, 3, 4, 5, 6, 56, 57, 9, -1, |
| -1, 624, 625, -1, -1, -1, 629, 347, 348, 349, |
| 938, -1, 940, -1, 942, 943, 944, -1, -1, -1, |
| 31, 136, -1, -1, -1, 140, 141, -1, 88, -1, |
| 41, 146, -1, -1, 149, 150, 151, -1, -1, -1, |
| -1, -1, -1, 54, -1, 56, 57, -1, -1, -1, |
| 165, -1, -1, -1, 169, -1, -1, -1, -1, 70, |
| 175, 176, -1, 991, -1, -1, -1, -1, -1, 80, |
| -1, -1, -1, -1, -1, -1, 1004, 88, 193, 194, |
| 195, -1, 93, -1, -1, -1, -1, -1, -1, 4, |
| 5, -1, 1020, 8, 9, 1023, 1424, -1, -1, 14, |
| -1, -1, -1, -1, 1032, -1, -1, 222, -1, -1, |
| -1, -1, -1, 28, -1, 30, -1, 1045, -1, -1, |
| -1, 36, -1, -1, -1, 1053, -1, -1, -1, -1, |
| 45, -1, -1, -1, -1, -1, -1, -1, 1066, 54, |
| 1068, 56, 57, 258, -1, -1, -1, -1, 1, -1, |
| 3, 4, 5, 6, 7, 8, 9, -1, -1, -1, |
| -1, 14, -1, -1, -1, -1, -1, 790, 1096, 792, |
| -1, -1, -1, 1101, 1102, 28, 1104, 30, 31, 32, |
| -1, 296, 297, 36, 37, -1, -1, -1, 41, -1, |
| -1, -1, 45, 46, -1, 48, -1, -1, -1, -1, |
| -1, 54, -1, 56, 57, -1, -1, 60, -1, 62, |
| -1, 347, 348, 349, -1, -1, -1, 70, -1, -1, |
| -1, 1149, 1150, 1151, 1152, 1153, 341, 80, -1, 1157, |
| 345, -1, 347, 348, 349, 88, -1, -1, -1, 354, |
| 93, 864, 865, 358, 867, 3, 4, 5, 6, -1, |
| -1, 9, 1180, 1181, 1182, -1, 109, -1, -1, -1, |
| -1, -1, 3, 4, 5, 6, -1, -1, -1, -1, |
| -1, -1, 895, 31, -1, -1, -1, 392, 618, 619, |
| -1, -1, -1, 41, -1, 1213, 401, -1, 403, 404, |
| 1218, -1, -1, 1221, -1, -1, 54, -1, 56, 57, |
| 41, -1, -1, 418, -1, -1, 421, -1, -1, -1, |
| -1, -1, 70, 54, -1, 56, 57, -1, 433, 60, |
| -1, 62, 80, 946, -1, -1, 441, -1, -1, 70, |
| 88, -1, -1, -1, -1, 93, -1, -1, -1, 80, |
| -1, -1, 1270, 1271, -1, 1273, 686, 88, 688, 689, |
| -1, 691, 93, -1, 469, -1, 471, -1, 473, 474, |
| 475, -1, -1, -1, 479, -1, -1, -1, -1, 484, |
| -1, -1, 487, -1, -1, -1, -1, -1, -1, -1, |
| -1, 1309, 1310, 1311, -1, -1, -1, -1, -1, -1, |
| 505, -1, -1, 733, -1, -1, 1019, -1, -1, -1, |
| 1328, -1, -1, -1, -1, -1, -1, -1, 1031, -1, |
| -1, -1, 4, 5, -1, 7, 8, 9, -1, -1, |
| 12, -1, 14, -1, -1, -1, -1, 542, 543, 544, |
| 545, -1, -1, -1, -1, -1, 28, -1, 30, 31, |
| -1, -1, -1, -1, 36, -1, -1, -1, -1, -1, |
| -1, -1, -1, 45, -1, 47, -1, 3, 4, 5, |
| 6, -1, 54, -1, 56, 57, -1, -1, 808, 76, |
| 77, 78, 79, 80, 81, 82, 83, 84, 70, -1, |
| -1, -1, 618, 619, -1, 621, -1, 602, 80, 604, |
| -1, -1, 628, -1, 1117, 41, 1424, -1, 90, -1, |
| -1, 93, 94, 618, 619, -1, 621, -1, 54, -1, |
| 56, 57, -1, 628, 60, -1, -1, -1, -1, -1, |
| -1, -1, -1, -1, 70, -1, 641, -1, -1, -1, |
| -1, -1, 647, 1156, 80, -1, -1, -1, -1, -1, |
| -1, 881, 88, 883, -1, -1, -1, 93, -1, -1, |
| 686, -1, 688, 689, 894, 691, 671, -1, 898, 899, |
| 3, 4, 5, 6, 679, -1, 1494, 1495, 1496, -1, |
| -1, 686, 687, 688, 689, 690, 691, -1, -1, -1, |
| -1, -1, -1, -1, -1, -1, 1514, -1, 31, -1, |
| -1, 1519, -1, -1, -1, -1, -1, 733, 41, 714, |
| 1223, -1, 942, 943, 1227, -1, -1, -1, -1, -1, |
| -1, 54, -1, 56, 57, -1, -1, -1, 733, -1, |
| -1, -1, 737, -1, -1, -1, -1, 70, -1, 744, |
| 745, -1, 747, -1, -1, -1, -1, 80, -1, 1262, |
| -1, -1, -1, -1, -1, 88, 761, 107, 108, 764, |
| 93, -1, 767, -1, 769, -1, -1, -1, -1, 774, |
| 775, -1, 777, -1, -1, -1, -1, -1, 783, -1, |
| -1, -1, 808, -1, 789, -1, -1, -1, -1, -1, |
| -1, 796, 797, 798, 3, 4, 5, 6, 7, 8, |
| 9, -1, -1, 808, -1, 14, -1, -1, -1, -1, |
| -1, -1, 4, -1, -1, -1, -1, -1, -1, 28, |
| -1, 30, 31, -1, -1, -1, 1339, 36, -1, -1, |
| 1343, -1, 41, -1, -1, -1, 45, -1, 30, 31, |
| -1, 33, -1, 35, -1, 54, -1, 56, 57, -1, |
| 42, 60, 1365, 1366, -1, 881, -1, 883, -1, -1, |
| -1, 70, -1, 55, -1, 57, -1, -1, 894, -1, |
| -1, 80, 898, 899, 900, -1, 881, -1, 883, 88, |
| -1, -1, -1, -1, 93, 890, -1, -1, 80, 894, |
| -1, 896, -1, 898, 899, 900, -1, -1, -1, -1, |
| -1, 906, 3, 4, 5, 6, -1, -1, 9, -1, |
| -1, -1, -1, -1, -1, -1, 942, 943, 944, 1149, |
| 1150, 1151, 1152, -1, -1, -1, -1, 1157, -1, -1, |
| 31, -1, -1, 938, -1, 940, -1, 942, 943, 944, |
| 41, 133, 134, -1, 136, -1, -1, -1, 140, 141, |
| 1180, 1181, 144, 54, 146, 56, 57, 149, 150, 151, |
| -1, -1, -1, -1, 156, 991, -1, -1, -1, 70, |
| -1, -1, -1, 165, -1, -1, -1, 169, 328, 80, |
| -1, -1, -1, 175, 176, -1, 991, 88, -1, -1, |
| -1, -1, 93, -1, -1, -1, -1, -1, -1, 1004, |
| -1, 193, 194, 195, -1, -1, -1, -1, -1, -1, |
| -1, 203, -1, -1, -1, 1020, -1, -1, 1023, -1, |
| -1, -1, -1, -1, -1, -1, -1, 1032, -1, 1, |
| 222, 3, 4, 5, 6, 7, 8, 9, -1, -1, |
| 1270, 1271, 14, 1273, -1, -1, -1, -1, 1053, -1, |
| -1, 401, -1, -1, -1, -1, 28, -1, 30, 31, |
| 32, 1066, -1, 1068, 36, 37, 258, -1, -1, 41, |
| -1, -1, -1, 45, 46, -1, 48, -1, -1, -1, |
| -1, -1, 54, -1, 56, 57, -1, -1, 60, -1, |
| 62, 1096, -1, -1, -1, -1, 1101, 1102, 70, 1104, |
| -1, -1, -1, -1, -1, -1, -1, -1, 80, -1, |
| -1, -1, -1, -1, -1, -1, 88, 467, -1, -1, |
| -1, 93, -1, 1149, 1150, 1151, 1152, 1153, -1, -1, |
| -1, 1157, -1, -1, -1, -1, 328, 109, -1, -1, |
| -1, -1, -1, -1, 1149, 1150, 1151, 1152, 1153, -1, |
| -1, -1, 1157, 345, 1180, 1181, 1182, -1, -1, 1164, |
| -1, 353, -1, -1, -1, -1, 358, -1, -1, -1, |
| -1, 3, 4, 5, 6, 1180, 1181, 1182, -1, -1, |
| -1, -1, -1, -1, 534, -1, -1, 537, -1, -1, |
| -1, 541, 542, 543, 544, 545, 1201, -1, -1, -1, |
| 392, -1, -1, -1, 554, -1, -1, -1, 1213, 41, |
| -1, 403, -1, 1218, -1, -1, 1221, 567, -1, -1, |
| -1, -1, 54, -1, 56, 57, 418, -1, -1, 421, |
| 62, -1, -1, -1, -1, 427, 428, 429, 70, -1, |
| -1, 433, -1, -1, 1270, 1271, -1, 1273, 80, 441, |
| -1, -1, -1, -1, -1, -1, 88, -1, -1, -1, |
| -1, 93, -1, -1, -1, 1270, 1271, -1, 1273, -1, |
| -1, 621, -1, -1, -1, -1, -1, 469, 628, 471, |
| -1, 473, 474, 475, 4, 5, -1, 479, 8, 9, |
| -1, -1, 484, 1298, 14, 487, -1, -1, -1, -1, |
| -1, -1, -1, -1, 1309, 1310, 1311, -1, 28, -1, |
| 30, -1, 4, 505, -1, -1, 36, -1, -1, -1, |
| -1, -1, -1, 1328, -1, 45, -1, -1, -1, 1334, |
| -1, -1, -1, -1, 54, -1, 56, 57, 30, 31, |
| -1, 33, 534, 35, -1, 537, -1, -1, -1, -1, |
| 42, 1, -1, 3, 4, 5, 6, 7, 8, 9, |
| 552, 553, 554, 55, 14, 57, -1, -1, -1, -1, |
| -1, -1, -1, 93, -1, 567, -1, -1, 28, -1, |
| 30, 31, 32, -1, -1, -1, 36, 737, -1, -1, |
| -1, 41, -1, -1, -1, 45, 46, -1, 48, -1, |
| -1, -1, -1, -1, 54, -1, 56, 57, -1, -1, |
| 60, -1, 62, -1, -1, -1, -1, -1, -1, 1424, |
| 70, -1, -1, 615, -1, -1, -1, -1, -1, -1, |
| 80, -1, -1, 783, -1, -1, 628, -1, 88, 789, |
| -1, -1, -1, 93, 136, 33, -1, -1, 140, 141, |
| -1, -1, -1, -1, 146, 647, -1, 149, 150, 151, |
| -1, -1, -1, -1, -1, -1, -1, 55, -1, -1, |
| -1, -1, -1, 165, -1, -1, -1, 169, -1, 671, |
| -1, -1, -1, 175, 176, -1, 678, -1, -1, 1494, |
| 1495, 1496, -1, -1, 686, 687, 688, 689, -1, -1, |
| -1, 193, 194, 195, -1, -1, -1, 857, -1, 1514, |
| -1, -1, -1, -1, 1519, -1, -1, -1, -1, 3, |
| 4, 5, 6, -1, -1, 9, -1, -1, -1, -1, |
| 222, -1, -1, -1, -1, -1, -1, -1, -1, -1, |
| 890, 733, -1, -1, -1, 737, 896, 31, -1, -1, |
| 900, -1, 744, 745, -1, 747, -1, 41, -1, -1, |
| -1, 149, 150, 151, -1, -1, 258, -1, -1, -1, |
| 54, -1, 56, 57, -1, 767, -1, 769, -1, 31, |
| -1, -1, 774, 775, -1, 777, 70, 175, 938, -1, |
| 940, -1, -1, -1, 944, -1, 80, -1, -1, -1, |
| -1, -1, -1, -1, 88, 193, 194, 195, -1, 93, |
| 802, 63, 64, 65, 66, 67, 68, 69, 70, 71, |
| 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, |
| 82, 83, 84, -1, 222, -1, -1, -1, -1, -1, |
| -1, 991, -1, -1, -1, 1, -1, 3, 4, 5, |
| 6, 7, 8, 9, 1004, -1, -1, -1, 14, -1, |
| -1, -1, 354, -1, -1, -1, 358, -1, -1, -1, |
| 1020, 27, 28, -1, 30, 31, 32, -1, -1, -1, |
| 36, -1, 1032, -1, -1, 41, -1, -1, 44, 45, |
| 46, -1, 48, -1, -1, -1, -1, -1, 54, -1, |
| 56, 57, -1, -1, 60, -1, 898, 899, 900, 297, |
| -1, 403, 904, 905, 70, -1, 1066, -1, 1068, -1, |
| -1, -1, -1, -1, 80, -1, 418, -1, -1, 421, |
| -1, -1, 88, -1, -1, -1, -1, 93, -1, -1, |
| -1, 433, 98, -1, -1, -1, 1096, -1, -1, 441, |
| 942, 943, 944, -1, -1, -1, -1, 949, -1, 347, |
| 348, 349, -1, 3, 4, 5, 6, 7, 8, 9, |
| 3, 4, 5, 6, 14, -1, 9, 469, -1, 471, |
| -1, 473, 474, 475, -1, -1, -1, 479, 28, -1, |
| 30, 31, 484, -1, -1, 487, 36, -1, 31, 991, |
| -1, 41, -1, 1153, -1, 45, -1, 47, 41, -1, |
| -1, -1, -1, 505, 54, 403, 56, 57, -1, -1, |
| -1, 54, -1, 56, 57, -1, -1, -1, -1, -1, |
| 70, 1023, 1182, -1, -1, -1, -1, 70, -1, -1, |
| 80, -1, -1, -1, -1, -1, 1196, 80, 88, -1, |
| 90, -1, 1044, 93, 94, 88, -1, -1, -1, -1, |
| 93, 1053, 3, 4, 5, 6, 7, 8, 9, -1, |
| -1, -1, -1, 14, -1, -1, -1, -1, -1, -1, |
| -1, 469, -1, 471, -1, 473, 474, 475, -1, -1, |
| 31, 479, -1, -1, -1, 36, 484, -1, -1, 487, |
| 41, -1, -1, -1, 45, -1, 47, -1, -1, -1, |
| -1, -1, -1, 54, -1, 56, 57, -1, -1, -1, |
| -1, -1, -1, -1, 616, -1, -1, -1, -1, 70, |
| -1, -1, 3, 4, 5, 6, 1128, -1, -1, 80, |
| -1, -1, -1, -1, -1, -1, -1, 88, -1, 90, |
| -1, -1, 93, 94, -1, 647, -1, 1149, 1150, 1151, |
| 1152, 1153, -1, 1155, -1, 1157, -1, -1, -1, -1, |
| 41, -1, -1, -1, -1, -1, -1, -1, 1328, -1, |
| -1, -1, -1, 54, -1, 56, 57, -1, 1180, 1181, |
| 1182, 62, -1, -1, 686, 687, 688, 689, -1, 70, |
| -1, -1, -1, -1, -1, -1, -1, -1, -1, 80, |
| -1, -1, -1, -1, -1, -1, 604, 88, -1, -1, |
| -1, 1213, 93, 55, -1, -1, 1218, -1, -1, 1221, |
| 618, 619, -1, 621, -1, 3, 4, 5, 6, -1, |
| 628, 733, -1, -1, -1, 737, -1, -1, 80, -1, |
| -1, 83, 744, 745, -1, 747, -1, -1, -1, 647, |
| 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, |
| 83, 84, 104, 41, 106, 767, -1, 769, 1270, 1271, |
| -1, 1273, 774, 775, -1, 777, 54, -1, 56, 57, |
| -1, -1, 60, -1, -1, -1, -1, -1, 686, -1, |
| 688, 689, 70, 691, -1, -1, -1, -1, -1, -1, |
| -1, -1, 80, -1, -1, -1, -1, 1309, 1310, 1311, |
| 88, -1, -1, -1, -1, 93, 68, 69, 70, 71, |
| 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, |
| 82, 83, 84, 175, -1, 733, 1496, 1, -1, 3, |
| 4, 5, 6, 7, 8, 9, 744, 745, -1, 747, |
| 14, 193, 194, 195, 1514, -1, -1, -1, -1, -1, |
| -1, 203, -1, -1, 28, -1, 30, 31, 32, -1, |
| -1, -1, 36, -1, -1, -1, 774, 41, -1, -1, |
| 222, 45, -1, -1, 48, 3, 4, 5, 6, -1, |
| 54, -1, 56, 57, -1, -1, -1, -1, 796, 797, |
| 798, -1, -1, -1, 906, 247, 70, -1, -1, -1, |
| 808, -1, -1, -1, -1, -1, 80, -1, -1, 261, |
| -1, -1, 1424, 41, 88, -1, -1, 4, 5, 93, |
| -1, 8, 9, -1, 98, -1, 54, 14, 56, 57, |
| 942, 943, 944, -1, -1, -1, -1, -1, -1, -1, |
| -1, 28, 70, 30, -1, -1, -1, -1, -1, 36, |
| -1, -1, 80, -1, -1, -1, -1, -1, 45, -1, |
| 88, -1, -1, -1, -1, 93, -1, 54, -1, 56, |
| 57, 58, -1, 881, -1, 883, -1, -1, -1, 991, |
| -1, -1, 1494, 1495, 1496, -1, 894, -1, -1, -1, |
| 898, 899, 900, -1, -1, -1, -1, -1, -1, -1, |
| -1, 353, 354, -1, -1, -1, 93, 1519, -1, -1, |
| -1, 1023, -1, -1, -1, 1, -1, 3, 4, 5, |
| 6, 7, 8, 9, 10, 11, -1, 13, 14, -1, |
| -1, -1, -1, -1, 942, 943, 944, -1, -1, -1, |
| -1, 1053, 28, 29, 30, 31, 32, -1, 34, 35, |
| 36, 403, 38, 39, 40, 41, 42, 43, -1, 45, |
| -1, -1, -1, 49, 50, 51, 52, 53, 54, -1, |
| 56, 57, 58, -1, 60, 61, -1, -1, -1, -1, |
| -1, 67, -1, 991, 70, -1, -1, -1, -1, -1, |
| -1, -1, 78, 79, 80, 14, -1, -1, -1, -1, |
| 86, 87, 88, -1, 23, 24, -1, 93, -1, -1, |
| -1, 30, 31, -1, 33, 1023, -1, 469, -1, 471, |
| -1, 473, 474, 475, 110, -1, -1, 479, -1, -1, |
| -1, -1, 484, -1, -1, 487, -1, 1149, 1150, 1151, |
| 1152, 1153, -1, -1, -1, 1157, 65, 4, 5, -1, |
| -1, 8, 9, -1, -1, -1, -1, 14, -1, -1, |
| -1, -1, -1, -1, -1, -1, -1, -1, 1180, 1181, |
| 1182, 28, -1, 30, -1, -1, -1, -1, -1, 36, |
| -1, -1, -1, -1, -1, -1, -1, -1, 45, -1, |
| 47, -1, -1, 1101, 1102, -1, 1104, 54, -1, 56, |
| 57, 1213, -1, -1, -1, 124, 1218, 126, -1, 1221, |
| -1, -1, -1, 70, 133, 134, -1, -1, -1, -1, |
| -1, 140, 141, 80, -1, 144, 145, 146, -1, 148, |
| 149, 150, 151, 90, -1, -1, 93, 94, -1, -1, |
| -1, 1149, 1150, 1151, 1152, 1153, -1, -1, -1, 1157, |
| -1, -1, -1, -1, -1, -1, -1, -1, 1270, 1271, |
| -1, 1273, -1, -1, -1, -1, -1, -1, -1, -1, |
| -1, -1, 1180, 1181, 1182, -1, -1, -1, -1, 631, |
| 632, 71, 72, 73, 74, 75, 76, 77, 78, 79, |
| 80, 81, 82, 83, 84, 647, -1, 1309, 1310, 1311, |
| -1, -1, -1, -1, -1, 1213, -1, -1, 4, 5, |
| -1, -1, 8, 9, -1, -1, -1, -1, 14, 238, |
| 239, 72, 73, 74, 75, 76, 77, 78, 79, 80, |
| 81, 82, 83, 84, 686, -1, 688, 689, -1, 258, |
| 36, -1, -1, -1, -1, -1, -1, -1, -1, 45, |
| -1, 47, -1, -1, -1, -1, -1, -1, 54, -1, |
| 56, 57, 1270, 1271, -1, 1273, -1, -1, -1, -1, |
| -1, -1, -1, -1, 70, -1, -1, -1, 297, -1, |
| -1, 733, -1, -1, 80, -1, -1, -1, -1, -1, |
| -1, -1, 744, 745, 90, 747, -1, 93, 94, -1, |
| -1, 1309, -1, 1311, -1, -1, -1, -1, -1, -1, |
| -1, 1, 1424, 3, 4, 5, 6, -1, 8, 9, |
| 10, 11, 774, 13, 14, -1, 345, -1, 347, 348, |
| -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, |
| 30, -1, 32, -1, 34, 35, 36, -1, 38, 39, |
| 40, 41, 42, 43, -1, 45, -1, -1, -1, 49, |
| 50, 51, 52, 53, 54, -1, 56, 57, 58, -1, |
| -1, 61, -1, 392, -1, -1, -1, 67, -1, -1, |
| 70, -1, 1494, 1495, 1496, -1, -1, -1, 78, 79, |
| 80, -1, 411, -1, -1, -1, 86, 87, 88, 418, |
| -1, -1, 421, 93, 94, -1, -1, 1519, -1, -1, |
| -1, -1, -1, -1, 433, -1, 1424, 4, 5, 109, |
| 110, 8, 9, -1, 4, 5, -1, 14, 8, 9, |
| -1, -1, -1, -1, 14, -1, -1, -1, -1, -1, |
| -1, -1, -1, -1, -1, -1, -1, -1, 28, 36, |
| 30, -1, -1, 905, 906, 907, 36, -1, 45, -1, |
| 47, -1, -1, -1, -1, 45, -1, 54, -1, 56, |
| 57, -1, -1, -1, 54, -1, 56, 57, -1, -1, |
| -1, -1, 501, 70, -1, -1, 1494, 1495, 1496, -1, |
| 942, 943, 944, 80, -1, -1, -1, 949, -1, -1, |
| -1, -1, -1, 90, -1, -1, 93, 94, -1, 528, |
| -1, 1519, -1, 3, 4, 5, 6, 7, 8, 9, |
| -1, -1, -1, -1, 14, -1, -1, 979, -1, -1, |
| -1, -1, -1, -1, -1, -1, -1, -1, 28, 991, |
| 30, 31, 32, -1, -1, -1, 36, -1, -1, 1, |
| -1, 41, 4, 5, -1, 45, 8, 9, 48, -1, |
| -1, -1, 14, -1, 54, -1, 56, 57, -1, -1, |
| -1, 1023, -1, -1, -1, -1, 28, -1, 30, -1, |
| 70, -1, -1, -1, 36, 604, 38, 39, -1, -1, |
| 80, -1, 1044, 45, -1, 47, 615, 616, 88, 618, |
| 619, -1, 54, 93, 56, 57, -1, 59, 98, -1, |
| -1, 63, 64, 65, 66, 67, 68, 69, 70, 71, |
| 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, |
| 82, 83, -1, -1, 86, 87, 88, -1, -1, 91, |
| -1, -1, 94, -1, -1, -1, -1, -1, -1, -1, |
| -1, -1, 671, -1, -1, -1, -1, -1, 110, 678, |
| 679, -1, -1, -1, -1, -1, -1, -1, -1, -1, |
| -1, 690, -1, -1, -1, -1, 1128, -1, -1, 1, |
| -1, 3, 4, 5, 6, 7, 8, 9, -1, -1, |
| -1, -1, 14, -1, -1, 714, -1, 1149, 1150, 1151, |
| 1152, 1153, -1, 1155, -1, 1157, 28, -1, 30, 31, |
| 32, -1, -1, -1, 36, 37, -1, -1, -1, 41, |
| -1, -1, -1, 45, 46, -1, 48, -1, 1180, 1181, |
| 1182, -1, 54, -1, 56, 57, -1, -1, 60, -1, |
| 62, 12, 761, -1, -1, 764, -1, -1, 70, -1, |
| -1, -1, -1, -1, -1, -1, -1, -1, 80, -1, |
| -1, 1213, -1, -1, -1, -1, 88, -1, -1, -1, |
| -1, 93, -1, -1, -1, -1, -1, 796, 797, 798, |
| -1, -1, -1, -1, -1, -1, -1, 109, -1, 808, |
| -1, 62, 63, 64, 65, 66, 67, 68, 69, 70, |
| 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, |
| 81, 82, 83, 84, -1, -1, -1, -1, 1270, 1271, |
| -1, 1273, -1, 1, -1, 3, 4, 5, 6, 7, |
| 8, 9, -1, -1, 12, -1, 14, -1, -1, -1, |
| -1, -1, -1, -1, -1, -1, -1, 25, -1, 27, |
| -1, -1, -1, 31, -1, -1, -1, 1309, 36, 1311, |
| -1, -1, 881, 41, 883, -1, -1, 45, -1, 47, |
| -1, -1, -1, -1, -1, 894, 54, -1, 56, 57, |
| 58, 59, 60, -1, 62, 63, 64, 65, 66, 67, |
| 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, |
| 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, |
| 88, -1, 90, 91, 92, 93, 94, 95, -1, 97, |
| -1, -1, -1, -1, 102, -1, -1, -1, -1, 107, |
| 108, 109, 59, 111, -1, -1, 63, 64, 65, 66, |
| 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, |
| 77, 78, 79, 80, 81, 82, 83, 84, -1, -1, |
| 979, 1, -1, 3, 4, 5, 6, 7, 8, 9, |
| 10, 11, 1424, 13, 14, 15, -1, 17, 18, 19, |
| 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, |
| 30, 31, 32, -1, 34, 35, 36, -1, 38, 39, |
| 40, 41, 42, 43, 44, 45, 46, -1, -1, 49, |
| 50, 51, 52, 53, 54, -1, 56, 57, 58, -1, |
| 60, 61, -1, -1, -1, -1, 1045, 67, -1, -1, |
| 70, -1, -1, -1, -1, -1, -1, -1, 78, 79, |
| 80, -1, 1494, 1495, 1496, -1, 86, 87, 88, -1, |
| -1, -1, -1, 93, -1, 95, -1, -1, -1, -1, |
| -1, -1, -1, -1, -1, -1, -1, 1519, -1, 109, |
| 110, -1, -1, -1, -1, -1, -1, -1, -1, -1, |
| -1, -1, 1101, 1102, 1, 1104, 3, 4, 5, 6, |
| 7, 8, 9, 10, 11, -1, 13, 14, 15, -1, |
| 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, |
| 27, 28, 29, 30, 31, 32, -1, 34, 35, 36, |
| -1, 38, 39, 40, 41, 42, 43, 44, 45, 46, |
| -1, -1, 49, 50, 51, 52, 53, 54, -1, 56, |
| 57, 58, -1, 60, 61, 1164, -1, -1, -1, -1, |
| 67, -1, -1, 70, -1, -1, -1, -1, -1, -1, |
| -1, 78, 79, 80, -1, -1, -1, -1, -1, 86, |
| 87, 88, -1, -1, -1, -1, 93, -1, 95, -1, |
| -1, -1, 1201, -1, -1, -1, -1, -1, -1, -1, |
| -1, -1, -1, 110, -1, -1, -1, 1216, 1, 1218, |
| 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, |
| 13, 14, -1, -1, -1, -1, -1, -1, -1, -1, |
| -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, |
| -1, 34, 35, 36, -1, 38, 39, 40, 41, 42, |
| 43, -1, 45, -1, 47, -1, 49, 50, 51, 52, |
| 53, 54, -1, 56, 57, 58, -1, -1, 61, -1, |
| -1, -1, -1, -1, 67, -1, -1, 70, -1, -1, |
| -1, -1, -1, -1, -1, 78, 79, 80, -1, -1, |
| -1, -1, -1, 86, 87, 88, -1, 90, -1, -1, |
| 93, 94, 1, -1, 3, 4, 5, 6, 7, 8, |
| 9, 10, 11, 12, 13, 14, -1, 110, -1, -1, |
| -1, -1, -1, -1, -1, 1334, -1, -1, -1, 28, |
| 29, 30, 31, 32, -1, 34, 35, 36, -1, 38, |
| 39, 40, 41, 42, 43, -1, 45, -1, 47, -1, |
| 49, 50, 51, 52, 53, 54, -1, 56, 57, 58, |
| -1, -1, 61, -1, -1, -1, -1, -1, 67, -1, |
| -1, 70, -1, -1, -1, -1, -1, -1, -1, 78, |
| 79, 80, -1, -1, -1, -1, -1, 86, 87, 88, |
| -1, 90, -1, -1, 93, 94, 1, -1, 3, 4, |
| 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, |
| -1, 110, -1, -1, -1, -1, -1, -1, -1, -1, |
| -1, -1, -1, 28, 29, 30, 31, 32, -1, 34, |
| 35, 36, -1, 38, 39, 40, 41, 42, 43, -1, |
| 45, -1, -1, -1, 49, 50, 51, 52, 53, 54, |
| -1, 56, 57, -1, -1, -1, 61, -1, -1, -1, |
| -1, -1, 67, -1, -1, 70, -1, -1, -1, -1, |
| -1, -1, -1, 78, 79, 80, -1, -1, -1, -1, |
| -1, 86, 87, 88, -1, -1, -1, 1, 93, 3, |
| 4, 5, 6, -1, 8, 9, 10, 11, -1, 13, |
| 14, -1, -1, 108, -1, 110, -1, -1, -1, -1, |
| -1, -1, -1, -1, 28, 29, 30, 31, 32, -1, |
| 34, 35, 36, -1, 38, 39, 40, 41, 42, 43, |
| -1, 45, -1, -1, -1, 49, 50, 51, 52, 53, |
| 54, -1, 56, 57, 58, -1, -1, 61, -1, -1, |
| -1, -1, -1, 67, -1, -1, 70, -1, -1, -1, |
| -1, -1, -1, -1, 78, 79, 80, -1, -1, -1, |
| -1, -1, 86, 87, 88, -1, -1, -1, 1, 93, |
| 3, 4, 5, 6, -1, 8, 9, 10, 11, -1, |
| 13, 14, -1, -1, -1, -1, 110, -1, -1, -1, |
| -1, -1, -1, -1, -1, 28, 29, 30, -1, 32, |
| -1, 34, 35, 36, -1, 38, 39, 40, 41, 42, |
| 43, -1, 45, -1, -1, -1, 49, 50, 51, 52, |
| 53, 54, -1, 56, 57, 58, -1, -1, 61, -1, |
| -1, -1, -1, -1, 67, -1, -1, 70, -1, -1, |
| -1, -1, -1, -1, -1, 78, 79, 80, -1, -1, |
| -1, -1, -1, 86, 87, 88, -1, -1, -1, -1, |
| 93, 94, 1, -1, 3, 4, 5, 6, -1, 8, |
| 9, 10, 11, -1, 13, 14, -1, 110, -1, -1, |
| -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, |
| 29, 30, -1, 32, -1, 34, 35, 36, -1, 38, |
| 39, 40, 41, 42, 43, -1, 45, -1, -1, -1, |
| 49, 50, 51, 52, 53, 54, -1, 56, 57, 58, |
| -1, -1, 61, -1, -1, -1, -1, -1, 67, -1, |
| -1, 70, -1, -1, -1, -1, -1, -1, -1, 78, |
| 79, 80, -1, -1, -1, -1, -1, 86, 87, 88, |
| -1, -1, -1, 1, 93, 3, 4, 5, 6, -1, |
| 8, 9, 10, 11, -1, 13, 14, -1, -1, -1, |
| 109, 110, -1, -1, -1, -1, -1, -1, -1, -1, |
| 28, 29, 30, -1, 32, -1, 34, 35, 36, -1, |
| 38, 39, 40, 41, 42, 43, -1, 45, -1, -1, |
| -1, 49, 50, 51, 52, 53, 54, -1, 56, 57, |
| 58, -1, -1, 61, -1, -1, -1, -1, -1, 67, |
| -1, -1, 70, -1, -1, -1, -1, -1, -1, -1, |
| 78, 79, 80, -1, -1, -1, -1, -1, 86, 87, |
| 88, -1, -1, -1, 1, 93, 3, 4, 5, 6, |
| -1, 8, 9, 10, 11, -1, 13, 14, -1, -1, |
| -1, 109, 110, -1, -1, -1, -1, -1, -1, -1, |
| -1, 28, 29, 30, -1, 32, -1, 34, 35, 36, |
| -1, 38, 39, 40, 41, 42, 43, -1, 45, -1, |
| -1, -1, 49, 50, 51, 52, 53, 54, -1, 56, |
| 57, 58, -1, -1, 61, -1, -1, -1, -1, -1, |
| 67, -1, -1, 70, -1, -1, -1, -1, -1, -1, |
| -1, 78, 79, 80, -1, -1, -1, -1, -1, 86, |
| 87, 88, -1, -1, -1, -1, 93, -1, 1, -1, |
| 3, 4, 5, 6, 101, 8, 9, 10, 11, -1, |
| 13, 14, -1, 110, -1, -1, -1, -1, -1, -1, |
| -1, -1, -1, -1, -1, 28, 29, 30, 31, 32, |
| -1, 34, 35, 36, -1, 38, 39, 40, 41, 42, |
| 43, -1, 45, -1, -1, -1, 49, 50, 51, 52, |
| 53, 54, -1, 56, 57, 58, -1, -1, 61, -1, |
| -1, -1, -1, -1, 67, -1, -1, 70, -1, -1, |
| -1, -1, -1, -1, -1, 78, 79, 80, -1, -1, |
| -1, -1, -1, 86, 87, 88, -1, -1, -1, 1, |
| 93, 3, 4, 5, 6, -1, 8, 9, 10, 11, |
| -1, 13, 14, -1, -1, -1, -1, 110, -1, -1, |
| -1, -1, -1, -1, -1, -1, 28, 29, 30, -1, |
| 32, -1, 34, 35, 36, -1, 38, 39, 40, 41, |
| 42, 43, -1, 45, -1, -1, -1, 49, 50, 51, |
| 52, 53, 54, -1, 56, 57, 58, -1, -1, 61, |
| -1, -1, -1, -1, -1, 67, -1, -1, 70, -1, |
| -1, -1, -1, -1, -1, -1, 78, 79, 80, -1, |
| -1, -1, -1, -1, 86, 87, 88, -1, -1, -1, |
| 1, 93, 3, 4, 5, 6, -1, 8, 9, 10, |
| 11, -1, 13, 14, -1, -1, -1, -1, 110, -1, |
| -1, -1, -1, -1, -1, -1, -1, 28, 29, 30, |
| -1, 32, -1, 34, 35, 36, -1, 38, 39, 40, |
| 41, 42, 43, -1, 45, -1, -1, -1, 49, 50, |
| 51, 52, 53, 54, -1, 56, 57, -1, -1, -1, |
| 61, 62, -1, -1, -1, -1, 67, -1, -1, 70, |
| -1, -1, -1, -1, -1, -1, -1, 78, 79, 80, |
| -1, -1, -1, -1, -1, 86, 87, 88, -1, -1, |
| -1, 1, 93, 3, 4, 5, 6, -1, 8, 9, |
| 10, 11, -1, 13, 14, -1, -1, -1, -1, 110, |
| -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, |
| 30, -1, 32, -1, 34, 35, 36, -1, 38, 39, |
| 40, 41, 42, 43, -1, 45, -1, -1, -1, 49, |
| 50, 51, 52, 53, 54, -1, 56, 57, -1, -1, |
| 60, 61, -1, -1, -1, -1, -1, 67, -1, -1, |
| 70, -1, -1, -1, -1, -1, -1, -1, 78, 79, |
| 80, -1, -1, -1, -1, -1, 86, 87, 88, -1, |
| -1, -1, 1, 93, 3, 4, 5, 6, -1, 8, |
| 9, 10, 11, -1, 13, 14, -1, -1, -1, -1, |
| 110, -1, -1, -1, -1, -1, -1, -1, -1, 28, |
| 29, 30, -1, 32, -1, 34, 35, 36, -1, 38, |
| 39, 40, 41, 42, 43, -1, 45, -1, -1, -1, |
| 49, 50, 51, 52, 53, 54, -1, 56, 57, -1, |
| -1, -1, 61, -1, -1, -1, -1, -1, 67, -1, |
| -1, 70, -1, -1, -1, -1, -1, -1, -1, 78, |
| 79, 80, -1, -1, -1, -1, -1, 86, 87, 88, |
| -1, -1, -1, 1, 93, 3, 4, 5, 6, -1, |
| 8, 9, 10, 11, -1, 13, 14, -1, -1, 108, |
| -1, 110, -1, -1, -1, -1, -1, -1, -1, -1, |
| 28, 29, 30, -1, 32, -1, 34, 35, 36, -1, |
| 38, 39, 40, 41, 42, 43, -1, 45, -1, -1, |
| -1, 49, 50, 51, 52, 53, 54, -1, 56, 57, |
| -1, -1, -1, 61, -1, -1, -1, -1, -1, 67, |
| -1, -1, 70, -1, -1, -1, -1, -1, -1, -1, |
| 78, 79, 80, -1, -1, -1, -1, -1, 86, 87, |
| 88, -1, -1, -1, 1, 93, 3, 4, 5, 6, |
| -1, 8, 9, 10, 11, -1, 13, 14, -1, -1, |
| -1, -1, 110, -1, -1, -1, -1, -1, -1, -1, |
| -1, 28, 29, 30, -1, 32, -1, 34, 35, 36, |
| -1, 38, 39, 40, 41, 42, 43, -1, 45, -1, |
| -1, -1, 49, 50, 51, 52, 53, 54, -1, 56, |
| 57, -1, -1, -1, 61, -1, -1, -1, -1, -1, |
| 67, -1, -1, 70, -1, -1, -1, -1, -1, -1, |
| -1, 78, 79, 80, -1, -1, -1, -1, -1, 86, |
| 87, 88, -1, -1, -1, 1, 93, 3, 4, 5, |
| 6, -1, 8, 9, 10, 11, -1, 13, 14, -1, |
| -1, -1, -1, 110, -1, -1, -1, -1, -1, -1, |
| -1, -1, 28, 29, 30, -1, 32, -1, 34, 35, |
| 36, -1, 38, 39, 40, 41, 42, 43, -1, 45, |
| -1, -1, -1, 49, 50, 51, 52, 53, 54, -1, |
| 56, 57, -1, -1, -1, 61, -1, -1, -1, -1, |
| -1, 67, -1, -1, 70, -1, -1, -1, -1, -1, |
| -1, -1, 78, 79, 80, -1, -1, -1, -1, -1, |
| 86, 87, 88, 3, 4, 5, 6, 93, 8, 9, |
| 10, 11, -1, 13, 14, -1, -1, -1, -1, -1, |
| -1, -1, -1, -1, 110, -1, -1, -1, 28, 29, |
| 30, -1, 32, -1, 34, 35, 36, -1, 38, 39, |
| 40, 41, 42, 43, -1, 45, -1, -1, -1, 49, |
| 50, 51, 52, 53, 54, -1, 56, 57, -1, -1, |
| -1, 61, -1, -1, -1, -1, -1, 67, -1, 1, |
| 70, 3, 4, 5, 6, 7, 8, 9, 78, 79, |
| 80, -1, 14, -1, -1, -1, 86, 87, 88, -1, |
| -1, -1, -1, 93, -1, -1, 28, -1, 30, 31, |
| 32, -1, -1, -1, 36, 37, -1, -1, -1, 41, |
| 110, 111, -1, 45, 46, -1, 48, -1, -1, -1, |
| -1, -1, 54, -1, 56, 57, -1, -1, 60, -1, |
| 62, -1, -1, -1, -1, -1, -1, -1, 70, -1, |
| -1, -1, -1, -1, -1, -1, -1, -1, 80, -1, |
| -1, -1, -1, -1, -1, -1, 88, -1, -1, -1, |
| -1, 93, -1, -1, 3, 4, 5, 6, 7, 8, |
| 9, 10, 11, -1, 13, 14, 15, 109, 17, 18, |
| 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, |
| 29, 30, 31, 32, -1, 34, 35, 36, -1, 38, |
| 39, 40, 41, 42, 43, 44, 45, 46, -1, -1, |
| 49, 50, 51, 52, 53, 54, -1, 56, 57, 58, |
| -1, 60, 61, -1, -1, -1, -1, -1, 67, -1, |
| -1, 70, -1, -1, -1, -1, -1, -1, -1, 78, |
| 79, 80, -1, -1, -1, -1, -1, 86, 87, 88, |
| -1, -1, -1, -1, 93, -1, 95, -1, -1, -1, |
| -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, |
| 109, 110, 3, 4, 5, 6, 7, 8, 9, 10, |
| 11, -1, 13, 14, 15, -1, 17, 18, 19, 20, |
| 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, |
| 31, 32, -1, 34, 35, 36, -1, 38, 39, 40, |
| 41, 42, 43, 44, 45, 46, -1, -1, 49, 50, |
| 51, 52, 53, 54, -1, 56, 57, 58, -1, 60, |
| 61, -1, -1, -1, -1, -1, 67, -1, -1, 70, |
| -1, -1, -1, -1, -1, -1, -1, 78, 79, 80, |
| -1, -1, -1, -1, -1, 86, 87, 88, -1, -1, |
| -1, -1, 93, -1, 95, -1, 3, 4, 5, 6, |
| 7, 8, 9, 10, 11, -1, 13, 14, 15, 110, |
| 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, |
| 27, 28, 29, 30, 31, 32, -1, 34, 35, 36, |
| -1, 38, 39, 40, 41, 42, 43, 44, 45, 46, |
| -1, -1, 49, 50, 51, 52, 53, 54, -1, 56, |
| 57, 58, -1, 60, 61, -1, -1, -1, -1, -1, |
| 67, -1, -1, 70, -1, -1, -1, -1, -1, -1, |
| -1, 78, 79, 80, -1, -1, -1, -1, -1, 86, |
| 87, 88, -1, -1, -1, -1, 93, -1, 95, -1, |
| 3, 4, 5, 6, 7, 8, 9, 10, 11, -1, |
| 13, 14, 15, 110, 17, 18, 19, 20, 21, 22, |
| 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, |
| -1, 34, 35, 36, -1, 38, 39, 40, 41, 42, |
| 43, 44, 45, 46, -1, -1, 49, 50, 51, 52, |
| 53, 54, -1, 56, 57, -1, -1, 60, 61, -1, |
| -1, -1, -1, -1, 67, -1, -1, 70, -1, -1, |
| -1, -1, -1, -1, -1, 78, 79, 80, -1, -1, |
| -1, -1, -1, 86, 87, 88, -1, -1, -1, -1, |
| 93, -1, 95, 3, 4, 5, 6, 7, 8, 9, |
| 10, 11, 12, 13, 14, -1, -1, 110, -1, -1, |
| -1, -1, -1, -1, -1, -1, -1, -1, 28, 29, |
| 30, 31, 32, -1, 34, 35, 36, -1, 38, 39, |
| 40, 41, 42, 43, -1, 45, -1, 47, -1, 49, |
| 50, 51, 52, 53, 54, -1, 56, 57, -1, -1, |
| -1, 61, -1, -1, -1, -1, -1, 67, -1, -1, |
| 70, -1, -1, -1, -1, -1, -1, -1, 78, 79, |
| 80, -1, -1, -1, -1, -1, 86, 87, 88, -1, |
| 90, -1, -1, 93, 94, 3, 4, 5, 6, 7, |
| 8, 9, 10, 11, 12, 13, 14, -1, -1, -1, |
| 110, -1, -1, -1, -1, -1, -1, -1, -1, -1, |
| 28, 29, 30, 31, 32, -1, 34, 35, 36, -1, |
| 38, 39, 40, 41, 42, 43, -1, 45, -1, 47, |
| -1, 49, 50, 51, 52, 53, 54, -1, 56, 57, |
| -1, -1, -1, 61, -1, -1, -1, -1, -1, 67, |
| -1, -1, 70, -1, -1, -1, -1, -1, -1, -1, |
| 78, 79, 80, -1, -1, -1, -1, -1, 86, 87, |
| 88, -1, 90, -1, -1, 93, 94, 3, 4, 5, |
| 6, -1, 8, 9, 10, 11, -1, 13, 14, -1, |
| -1, -1, 110, -1, -1, -1, -1, -1, -1, -1, |
| -1, -1, 28, 29, 30, 31, 32, -1, 34, 35, |
| 36, -1, 38, 39, 40, 41, 42, 43, -1, 45, |
| -1, 47, -1, 49, 50, 51, 52, 53, 54, -1, |
| 56, 57, -1, -1, -1, -1, -1, -1, -1, -1, |
| -1, 67, -1, -1, 70, -1, -1, -1, -1, -1, |
| -1, -1, 78, 79, 80, -1, -1, -1, -1, -1, |
| 86, 87, 88, -1, 90, -1, -1, 93, 94, 3, |
| 4, 5, 6, -1, 8, 9, 10, 11, -1, 13, |
| 14, -1, -1, -1, 110, -1, -1, -1, -1, -1, |
| -1, -1, -1, -1, 28, 29, 30, 31, 32, -1, |
| 34, 35, 36, -1, 38, 39, 40, 41, 42, 43, |
| -1, 45, -1, 47, -1, 49, 50, 51, 52, 53, |
| 54, -1, 56, 57, -1, -1, -1, -1, -1, -1, |
| -1, -1, -1, 67, -1, -1, 70, -1, -1, -1, |
| -1, -1, -1, -1, 78, 79, 80, -1, -1, -1, |
| -1, -1, 86, 87, 88, -1, 90, -1, -1, 93, |
| 94, 3, 4, 5, 6, -1, 8, 9, 10, 11, |
| -1, 13, 14, -1, -1, -1, 110, -1, -1, -1, |
| -1, -1, -1, -1, -1, -1, 28, 29, 30, 31, |
| 32, -1, 34, 35, 36, -1, 38, 39, 40, 41, |
| 42, 43, -1, 45, -1, -1, -1, 49, 50, 51, |
| 52, 53, 54, -1, 56, 57, -1, -1, -1, 61, |
| -1, -1, -1, -1, -1, 67, -1, -1, 70, -1, |
| -1, -1, -1, -1, -1, -1, 78, 79, 80, -1, |
| -1, -1, -1, -1, 86, 87, 88, 3, 4, 5, |
| 6, 93, 8, 9, 10, 11, -1, 13, 14, -1, |
| -1, -1, -1, -1, -1, -1, -1, -1, 110, -1, |
| -1, -1, 28, 29, 30, -1, 32, -1, 34, 35, |
| 36, -1, 38, 39, 40, 41, 42, 43, -1, 45, |
| -1, -1, -1, 49, 50, 51, 52, 53, 54, -1, |
| 56, 57, -1, -1, 60, 61, -1, -1, -1, -1, |
| -1, 67, -1, -1, 70, -1, -1, -1, -1, -1, |
| -1, -1, 78, 79, 80, -1, -1, -1, -1, -1, |
| 86, 87, 88, -1, -1, -1, -1, 93, 3, 4, |
| 5, 6, 7, 8, 9, 10, 11, -1, 13, 14, |
| -1, -1, -1, -1, 110, -1, -1, -1, -1, -1, |
| -1, -1, -1, 28, 29, 30, 31, 32, -1, 34, |
| 35, 36, -1, 38, 39, 40, 41, 42, 43, -1, |
| 45, -1, -1, -1, 49, 50, 51, 52, 53, 54, |
| -1, 56, 57, -1, -1, -1, -1, -1, -1, -1, |
| -1, -1, 67, -1, -1, 70, -1, -1, -1, -1, |
| -1, -1, -1, 78, 79, 80, -1, -1, -1, -1, |
| -1, 86, 87, 88, 3, 4, 5, 6, 93, 8, |
| 9, 10, 11, -1, 13, 14, -1, -1, -1, -1, |
| -1, -1, -1, -1, -1, 110, -1, -1, -1, 28, |
| 29, 30, 31, 32, -1, 34, 35, 36, -1, 38, |
| 39, 40, 41, 42, 43, -1, 45, -1, -1, -1, |
| 49, 50, 51, 52, 53, 54, -1, 56, 57, -1, |
| -1, -1, 61, -1, -1, -1, -1, -1, 67, -1, |
| -1, 70, -1, -1, -1, -1, -1, -1, -1, 78, |
| 79, 80, -1, -1, -1, -1, -1, 86, 87, 88, |
| 3, 4, 5, 6, 93, 8, 9, 10, 11, -1, |
| 13, 14, -1, -1, -1, -1, -1, -1, -1, -1, |
| -1, 110, -1, -1, -1, 28, 29, 30, -1, 32, |
| -1, 34, 35, 36, -1, 38, 39, 40, 41, 42, |
| 43, -1, 45, -1, -1, -1, 49, 50, 51, 52, |
| 53, 54, -1, 56, 57, -1, -1, -1, 61, -1, |
| -1, -1, -1, -1, 67, -1, -1, 70, -1, -1, |
| -1, -1, -1, -1, -1, 78, 79, 80, -1, -1, |
| -1, -1, -1, 86, 87, 88, 3, 4, 5, 6, |
| 93, 8, 9, 10, 11, -1, 13, 14, -1, -1, |
| -1, -1, -1, -1, -1, -1, -1, 110, -1, -1, |
| -1, 28, 29, 30, -1, 32, -1, 34, 35, 36, |
| -1, 38, 39, 40, 41, 42, 43, -1, 45, -1, |
| -1, -1, 49, 50, 51, 52, 53, 54, -1, 56, |
| 57, -1, -1, -1, 61, -1, -1, -1, -1, -1, |
| 67, -1, -1, 70, -1, -1, -1, -1, -1, -1, |
| -1, 78, 79, 80, -1, -1, -1, -1, -1, 86, |
| 87, 88, 3, 4, 5, 6, 93, 8, 9, 10, |
| 11, -1, 13, 14, -1, -1, -1, -1, -1, -1, |
| -1, -1, -1, 110, -1, -1, -1, 28, 29, 30, |
| -1, 32, -1, 34, 35, 36, -1, 38, 39, 40, |
| 41, 42, 43, -1, 45, -1, -1, -1, 49, 50, |
| 51, 52, 53, 54, -1, 56, 57, -1, -1, -1, |
| 61, -1, -1, -1, -1, -1, 67, -1, -1, 70, |
| -1, -1, -1, -1, -1, -1, -1, 78, 79, 80, |
| -1, -1, -1, -1, -1, 86, 87, 88, 3, 4, |
| 5, 6, 93, 8, 9, 10, 11, -1, 13, 14, |
| -1, -1, -1, -1, -1, -1, -1, -1, -1, 110, |
| -1, -1, -1, 28, 29, 30, -1, 32, -1, 34, |
| 35, 36, -1, 38, 39, 40, 41, 42, 43, -1, |
| 45, -1, -1, -1, 49, 50, 51, 52, 53, 54, |
| -1, 56, 57, 58, -1, -1, -1, -1, -1, -1, |
| -1, -1, 67, -1, -1, 70, -1, -1, -1, -1, |
| -1, -1, -1, 78, 79, 80, -1, -1, -1, -1, |
| -1, 86, 87, 88, 3, 4, 5, 6, 93, 8, |
| 9, 10, 11, -1, 13, 14, -1, -1, -1, -1, |
| -1, -1, -1, -1, -1, 110, -1, -1, -1, 28, |
| 29, 30, -1, 32, -1, 34, 35, 36, -1, 38, |
| 39, 40, 41, 42, 43, -1, 45, -1, -1, -1, |
| 49, 50, 51, 52, 53, 54, -1, 56, 57, -1, |
| -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, |
| -1, 70, -1, -1, -1, -1, -1, -1, -1, 78, |
| 79, 80, -1, -1, -1, -1, -1, 86, 87, 88, |
| -1, -1, -1, -1, 93, 94, 3, 4, 5, 6, |
| -1, 8, 9, 10, 11, -1, 13, 14, -1, -1, |
| -1, 110, -1, -1, -1, -1, -1, -1, -1, -1, |
| -1, 28, 29, 30, 31, 32, -1, 34, 35, 36, |
| -1, 38, 39, 40, 41, 42, 43, -1, 45, -1, |
| -1, -1, 49, 50, 51, 52, 53, 54, -1, 56, |
| 57, -1, -1, -1, -1, -1, -1, -1, -1, -1, |
| 67, -1, -1, 70, -1, -1, -1, -1, -1, -1, |
| -1, 78, 79, 80, -1, -1, -1, -1, -1, 86, |
| 87, 88, 3, 4, 5, 6, 93, 8, 9, 10, |
| 11, -1, 13, 14, -1, -1, -1, -1, -1, -1, |
| -1, -1, -1, 110, -1, -1, -1, 28, 29, 30, |
| -1, 32, -1, 34, 35, 36, -1, 38, 39, 40, |
| 41, 42, 43, -1, 45, -1, -1, -1, 49, 50, |
| 51, 52, 53, 54, -1, 56, 57, -1, -1, -1, |
| 61, -1, -1, -1, -1, -1, 67, -1, -1, 70, |
| -1, -1, -1, -1, -1, -1, -1, 78, 79, 80, |
| -1, -1, -1, -1, -1, 86, 87, 88, 3, 4, |
| 5, 6, 93, 8, 9, 10, 11, -1, 13, 14, |
| -1, -1, -1, -1, -1, -1, -1, -1, -1, 110, |
| -1, -1, -1, 28, 29, 30, 31, 32, -1, 34, |
| 35, 36, -1, 38, 39, 40, 41, 42, 43, -1, |
| 45, -1, -1, -1, 49, 50, 51, 52, 53, 54, |
| -1, 56, 57, -1, -1, -1, -1, -1, -1, -1, |
| -1, -1, 67, -1, -1, 70, -1, -1, -1, -1, |
| -1, -1, -1, 78, 79, 80, -1, -1, -1, -1, |
| -1, 86, 87, 88, 3, 4, 5, 6, 93, 8, |
| 9, 10, 11, -1, 13, 14, -1, -1, -1, -1, |
| -1, -1, -1, -1, -1, 110, -1, -1, -1, 28, |
| 29, 30, -1, 32, -1, 34, 35, 36, -1, 38, |
| 39, 40, 41, 42, 43, -1, 45, -1, -1, -1, |
| 49, 50, 51, 52, 53, 54, -1, 56, 57, -1, |
| -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, |
| -1, 70, -1, -1, -1, -1, -1, -1, -1, 78, |
| 79, 80, -1, -1, -1, -1, -1, 86, 87, 88, |
| 3, 4, 5, 6, 93, 8, 9, 10, 11, -1, |
| 13, 14, -1, -1, -1, -1, -1, -1, -1, -1, |
| -1, 110, -1, -1, -1, 28, 29, 30, -1, 32, |
| -1, 34, 35, 36, -1, 38, 39, 40, 41, 42, |
| 43, -1, 45, -1, -1, -1, 49, 50, 51, 52, |
| 53, 54, -1, 56, 57, -1, -1, -1, -1, -1, |
| -1, -1, -1, -1, 67, -1, -1, 70, -1, -1, |
| -1, -1, -1, -1, -1, 78, 79, 80, -1, -1, |
| -1, -1, -1, 86, 87, 88, 3, 4, 5, 6, |
| 93, 8, 9, 10, 11, -1, 13, 14, -1, -1, |
| -1, -1, -1, -1, -1, -1, -1, 110, -1, -1, |
| -1, 28, 29, 30, -1, 32, -1, 34, 35, 36, |
| -1, 38, 39, 40, 41, 42, 43, -1, 45, -1, |
| -1, -1, 49, 50, 51, 52, 53, 54, -1, 56, |
| 57, -1, -1, -1, -1, -1, -1, -1, -1, -1, |
| 67, -1, 1, 70, 3, 4, 5, 6, 7, 8, |
| 9, 78, 79, 80, -1, 14, -1, -1, -1, 86, |
| 87, 88, -1, -1, -1, -1, 93, -1, -1, 28, |
| -1, 30, 31, -1, -1, -1, -1, 36, -1, -1, |
| -1, -1, 41, 110, -1, -1, 45, -1, -1, 48, |
| -1, -1, -1, -1, -1, 54, -1, 56, 57, -1, |
| -1, 60, -1, 3, 4, 5, 6, 7, 8, 9, |
| -1, 70, 12, -1, 14, -1, -1, -1, -1, -1, |
| -1, 80, -1, -1, -1, -1, -1, -1, 28, 88, |
| 30, 31, -1, -1, 93, -1, 36, -1, -1, -1, |
| -1, 41, -1, -1, -1, 45, -1, -1, -1, -1, |
| -1, -1, -1, -1, 54, -1, 56, 57, 3, 4, |
| 5, 6, 7, 8, 9, -1, -1, -1, -1, 14, |
| 70, -1, -1, -1, -1, -1, -1, -1, -1, -1, |
| 80, -1, -1, 28, -1, 30, 31, -1, 88, -1, |
| -1, 36, -1, 93, -1, -1, 41, -1, -1, -1, |
| 45, -1, -1, -1, -1, -1, -1, -1, -1, 54, |
| -1, 56, 57, -1, -1, -1, -1, 62, -1, -1, |
| -1, -1, -1, -1, -1, 70, 3, 4, 5, 6, |
| 7, 8, 9, -1, -1, 80, -1, 14, -1, -1, |
| -1, -1, -1, 88, -1, -1, -1, -1, 93, -1, |
| -1, 28, -1, 30, 31, -1, -1, -1, -1, 36, |
| -1, -1, -1, -1, 41, -1, -1, -1, 45, -1, |
| -1, -1, -1, -1, -1, -1, -1, 54, -1, 56, |
| 57, -1, -1, 60, -1, 3, 4, 5, 6, 7, |
| 8, 9, -1, 70, -1, -1, 14, -1, -1, -1, |
| -1, -1, -1, 80, -1, -1, -1, -1, -1, -1, |
| 28, 88, 30, 31, -1, -1, 93, -1, 36, -1, |
| -1, -1, -1, 41, -1, -1, -1, 45, -1, -1, |
| -1, -1, -1, -1, -1, -1, 54, -1, 56, 57, |
| 3, 4, 5, 6, 7, 8, 9, -1, -1, -1, |
| -1, 14, 70, -1, -1, -1, -1, -1, -1, -1, |
| -1, -1, 80, -1, -1, 28, -1, 30, 31, -1, |
| 88, -1, -1, 36, -1, 93, -1, -1, 41, -1, |
| -1, -1, 45, -1, -1, -1, -1, -1, -1, -1, |
| -1, 54, -1, 56, 57, 3, 4, 5, 6, 7, |
| 8, 9, -1, -1, -1, -1, 14, 70, -1, -1, |
| -1, -1, -1, -1, -1, -1, -1, 80, -1, -1, |
| -1, -1, -1, 31, -1, 88, -1, -1, 36, -1, |
| 93, -1, -1, 41, -1, -1, -1, 45, -1, 47, |
| -1, -1, -1, -1, -1, -1, 54, -1, 56, 57, |
| 4, 5, -1, 7, 8, 9, -1, -1, -1, -1, |
| 14, -1, 70, 4, 5, -1, 7, 8, 9, -1, |
| -1, 12, 80, 14, 28, -1, 30, 31, -1, -1, |
| 88, -1, 36, -1, -1, 93, -1, 28, -1, 30, |
| 31, 45, -1, -1, 48, 36, -1, -1, -1, -1, |
| 54, -1, 56, 57, 45, -1, -1, -1, -1, -1, |
| -1, -1, -1, 54, -1, 56, 57, 4, 5, -1, |
| 7, 8, 9, -1, -1, 12, -1, 14, -1, -1, |
| 4, 5, -1, 7, 8, 9, -1, -1, -1, -1, |
| 14, 28, -1, 30, 31, -1, -1, -1, -1, 36, |
| -1, -1, -1, -1, 28, -1, 30, 31, 45, -1, |
| -1, -1, 36, -1, -1, -1, -1, 54, -1, 56, |
| 57, 45, -1, -1, -1, -1, -1, -1, -1, -1, |
| 54, -1, 56, 57, 63, 64, 65, 66, 67, 68, |
| 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, |
| 79, 80, 81, 82, 83, 84, 63, 64, 65, 66, |
| 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, |
| 77, 78, 79, 80, 81, 82, 83, 84, -1, -1, |
| -1, -1, 111, 69, 70, 71, 72, 73, 74, 75, |
| 76, 77, 78, 79, 80, 81, 82, 83, 84, -1, |
| 107, 62, 63, 64, 65, 66, 67, 68, 69, 70, |
| 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, |
| 81, 82, 83, 84, 63, 64, 65, 66, 67, 68, |
| 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, |
| 79, 80, 81, 82, 83, 84, 63, 64, 65, 66, |
| 67, 68, 69, 70, 71, 72, 73, 74, -1, 76, |
| 77, 78, 79, 80, 81, 82, 83, 84, 67, 68, |
| 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, |
| 79, 80, 81, 82, 83, 84, 70, 71, 72, 73, |
| 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, |
| 84 |
| }; |
| /* -*-C-*- Note some compilers choke on comments on `#line' lines. */ |
| #line 3 "/usr/lib/bison.simple" |
| |
| /* Skeleton output parser for bison, |
| Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc. |
| |
| This program is free software; you can redistribute it and/or modify |
| it under the terms of the GNU General Public License as published by |
| the Free Software Foundation; either version 2, or (at your option) |
| any later version. |
| |
| This program is distributed in the hope that it will be useful, |
| but WITHOUT ANY WARRANTY; without even the implied warranty of |
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| GNU General Public License for more details. |
| |
| You should have received a copy of the GNU General Public License |
| along with this program; if not, write to the Free Software |
| Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ |
| |
| /* As a special exception, when this file is copied by Bison into a |
| Bison output file, you may use that output file without restriction. |
| This special exception was added by the Free Software Foundation |
| in version 1.24 of Bison. */ |
| |
| #ifndef alloca |
| #ifdef __GNUC__ |
| #define alloca __builtin_alloca |
| #else /* not GNU C. */ |
| #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) |
| #include <alloca.h> |
| #else /* not sparc */ |
| #if defined (MSDOS) && !defined (__TURBOC__) |
| #include <malloc.h> |
| #else /* not MSDOS, or __TURBOC__ */ |
| #if defined(_AIX) |
| #include <malloc.h> |
| #pragma alloca |
| #else /* not MSDOS, __TURBOC__, or _AIX */ |
| #ifdef __hpux |
| #ifdef __cplusplus |
| extern "C" { |
| void *alloca (unsigned int); |
| }; |
| #else /* not __cplusplus */ |
| void *alloca (); |
| #endif /* not __cplusplus */ |
| #endif /* __hpux */ |
| #endif /* not _AIX */ |
| #endif /* not MSDOS, or __TURBOC__ */ |
| #endif /* not sparc. */ |
| #endif /* not GNU C. */ |
| #endif /* alloca not defined. */ |
| |
| /* This is the parser code that is written into each bison parser |
| when the %semantic_parser declaration is not specified in the grammar. |
| It was written by Richard Stallman by simplifying the hairy parser |
| used when %semantic_parser is specified. */ |
| |
| /* Note: there must be only one dollar sign in this file. |
| It is replaced by the list of actions, each action |
| as one case of the switch. */ |
| |
| #define yyerrok (yyerrstatus = 0) |
| #define yyclearin (yychar = YYEMPTY) |
| #define YYEMPTY -2 |
| #define YYEOF 0 |
| #define YYACCEPT return(0) |
| #define YYABORT return(1) |
| #define YYERROR goto yyerrlab1 |
| /* Like YYERROR except do call yyerror. |
| This remains here temporarily to ease the |
| transition to the new meaning of YYERROR, for GCC. |
| Once GCC version 2 has supplanted version 1, this can go. */ |
| #define YYFAIL goto yyerrlab |
| #define YYRECOVERING() (!!yyerrstatus) |
| #define YYBACKUP(token, value) \ |
| do \ |
| if (yychar == YYEMPTY && yylen == 1) \ |
| { yychar = (token), yylval = (value); \ |
| yychar1 = YYTRANSLATE (yychar); \ |
| YYPOPSTACK; \ |
| goto yybackup; \ |
| } \ |
| else \ |
| { yyerror ("syntax error: cannot back up"); YYERROR; } \ |
| while (0) |
| |
| #define YYTERROR 1 |
| #define YYERRCODE 256 |
| |
| #ifndef YYPURE |
| #define YYLEX yylex() |
| #endif |
| |
| #ifdef YYPURE |
| #ifdef YYLSP_NEEDED |
| #ifdef YYLEX_PARAM |
| #define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM) |
| #else |
| #define YYLEX yylex(&yylval, &yylloc) |
| #endif |
| #else /* not YYLSP_NEEDED */ |
| #ifdef YYLEX_PARAM |
| #define YYLEX yylex(&yylval, YYLEX_PARAM) |
| #else |
| #define YYLEX yylex(&yylval) |
| #endif |
| #endif /* not YYLSP_NEEDED */ |
| #endif |
| |
| /* If nonreentrant, generate the variables here */ |
| |
| #ifndef YYPURE |
| |
| int yychar; /* the lookahead symbol */ |
| YYSTYPE yylval; /* the semantic value of the */ |
| /* lookahead symbol */ |
| |
| #ifdef YYLSP_NEEDED |
| YYLTYPE yylloc; /* location data for the lookahead */ |
| /* symbol */ |
| #endif |
| |
| int yynerrs; /* number of parse errors so far */ |
| #endif /* not YYPURE */ |
| |
| #if YYDEBUG != 0 |
| int yydebug; /* nonzero means print parse trace */ |
| /* Since this is uninitialized, it does not stop multiple parsers |
| from coexisting. */ |
| #endif |
| |
| /* YYINITDEPTH indicates the initial size of the parser's stacks */ |
| |
| #ifndef YYINITDEPTH |
| #define YYINITDEPTH 200 |
| #endif |
| |
| /* YYMAXDEPTH is the maximum size the stacks can grow to |
| (effective only if the built-in stack extension method is used). */ |
| |
| #if YYMAXDEPTH == 0 |
| #undef YYMAXDEPTH |
| #endif |
| |
| #ifndef YYMAXDEPTH |
| #define YYMAXDEPTH 10000 |
| #endif |
| |
| /* Prevent warning if -Wstrict-prototypes. */ |
| #ifdef __GNUC__ |
| int yyparse (void); |
| #endif |
| |
| #if __GNUC__ > 1 /* GNU C and GNU C++ define this. */ |
| #define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT) |
| #else /* not GNU C or C++ */ |
| #ifndef __cplusplus |
| |
| /* This is the most reliable way to avoid incompatibilities |
| in available built-in functions on various systems. */ |
| static void |
| __yy_memcpy (to, from, count) |
| char *to; |
| char *from; |
| int count; |
| { |
| register char *f = from; |
| register char *t = to; |
| register int i = count; |
| |
| while (i-- > 0) |
| *t++ = *f++; |
| } |
| |
| #else /* __cplusplus */ |
| |
| /* This is the most reliable way to avoid incompatibilities |
| in available built-in functions on various systems. */ |
| static void |
| __yy_memcpy (char *to, char *from, int count) |
| { |
| register char *f = from; |
| register char *t = to; |
| register int i = count; |
| |
| while (i-- > 0) |
| *t++ = *f++; |
| } |
| |
| #endif |
| #endif |
| |
| #line 196 "/usr/lib/bison.simple" |
| |
| /* The user can define YYPARSE_PARAM as the name of an argument to be passed |
| into yyparse. The argument should have type void *. |
| It should actually point to an object. |
| Grammar actions can access the variable by casting it |
| to the proper pointer type. */ |
| |
| #ifdef YYPARSE_PARAM |
| #ifdef __cplusplus |
| #define YYPARSE_PARAM_ARG void *YYPARSE_PARAM |
| #define YYPARSE_PARAM_DECL |
| #else /* not __cplusplus */ |
| #define YYPARSE_PARAM_ARG YYPARSE_PARAM |
| #define YYPARSE_PARAM_DECL void *YYPARSE_PARAM; |
| #endif /* not __cplusplus */ |
| #else /* not YYPARSE_PARAM */ |
| #define YYPARSE_PARAM_ARG |
| #define YYPARSE_PARAM_DECL |
| #endif /* not YYPARSE_PARAM */ |
| |
| int |
| yyparse(YYPARSE_PARAM_ARG) |
| YYPARSE_PARAM_DECL |
| { |
| register int yystate; |
| register int yyn; |
| register short *yyssp; |
| register YYSTYPE *yyvsp; |
| int yyerrstatus; /* number of tokens to shift before error messages enabled */ |
| int yychar1 = 0; /* lookahead token as an internal (translated) token number */ |
| |
| short yyssa[YYINITDEPTH]; /* the state stack */ |
| YYSTYPE yyvsa[YYINITDEPTH]; /* the semantic value stack */ |
| |
| short *yyss = yyssa; /* refer to the stacks thru separate pointers */ |
| YYSTYPE *yyvs = yyvsa; /* to allow yyoverflow to reallocate them elsewhere */ |
| |
| #ifdef YYLSP_NEEDED |
| YYLTYPE yylsa[YYINITDEPTH]; /* the location stack */ |
| YYLTYPE *yyls = yylsa; |
| YYLTYPE *yylsp; |
| |
| #define YYPOPSTACK (yyvsp--, yyssp--, yylsp--) |
| #else |
| #define YYPOPSTACK (yyvsp--, yyssp--) |
| #endif |
| |
| int yystacksize = YYINITDEPTH; |
| |
| #ifdef YYPURE |
| int yychar; |
| YYSTYPE yylval; |
| int yynerrs; |
| #ifdef YYLSP_NEEDED |
| YYLTYPE yylloc; |
| #endif |
| #endif |
| |
| YYSTYPE yyval; /* the variable used to return */ |
| /* semantic values from the action */ |
| /* routines */ |
| |
| int yylen; |
| |
| #if YYDEBUG != 0 |
| if (yydebug) |
| fprintf(stderr, "Starting parse\n"); |
| #endif |
| |
| yystate = 0; |
| yyerrstatus = 0; |
| yynerrs = 0; |
| yychar = YYEMPTY; /* Cause a token to be read. */ |
| |
| /* Initialize stack pointers. |
| Waste one element of value and location stack |
| so that they stay on the same level as the state stack. |
| The wasted elements are never initialized. */ |
| |
| yyssp = yyss - 1; |
| yyvsp = yyvs; |
| #ifdef YYLSP_NEEDED |
| yylsp = yyls; |
| #endif |
| |
| /* Push a new state, which is found in yystate . */ |
| /* In all cases, when you get here, the value and location stacks |
| have just been pushed. so pushing a state here evens the stacks. */ |
| yynewstate: |
| |
| *++yyssp = yystate; |
| |
| if (yyssp >= yyss + yystacksize - 1) |
| { |
| /* Give user a chance to reallocate the stack */ |
| /* Use copies of these so that the &'s don't force the real ones into memory. */ |
| YYSTYPE *yyvs1 = yyvs; |
| short *yyss1 = yyss; |
| #ifdef YYLSP_NEEDED |
| YYLTYPE *yyls1 = yyls; |
| #endif |
| |
| /* Get the current used size of the three stacks, in elements. */ |
| int size = yyssp - yyss + 1; |
| |
| #ifdef yyoverflow |
| /* Each stack pointer address is followed by the size of |
| the data in use in that stack, in bytes. */ |
| #ifdef YYLSP_NEEDED |
| /* This used to be a conditional around just the two extra args, |
| but that might be undefined if yyoverflow is a macro. */ |
| yyoverflow("parser stack overflow", |
| &yyss1, size * sizeof (*yyssp), |
| &yyvs1, size * sizeof (*yyvsp), |
| &yyls1, size * sizeof (*yylsp), |
| &yystacksize); |
| #else |
| yyoverflow("parser stack overflow", |
| &yyss1, size * sizeof (*yyssp), |
| &yyvs1, size * sizeof (*yyvsp), |
| &yystacksize); |
| #endif |
| |
| yyss = yyss1; yyvs = yyvs1; |
| #ifdef YYLSP_NEEDED |
| yyls = yyls1; |
| #endif |
| #else /* no yyoverflow */ |
| /* Extend the stack our own way. */ |
| if (yystacksize >= YYMAXDEPTH) |
| { |
| yyerror("parser stack overflow"); |
| return 2; |
| } |
| yystacksize *= 2; |
| if (yystacksize > YYMAXDEPTH) |
| yystacksize = YYMAXDEPTH; |
| yyss = (short *) alloca (yystacksize * sizeof (*yyssp)); |
| __yy_memcpy ((char *)yyss, (char *)yyss1, size * sizeof (*yyssp)); |
| yyvs = (YYSTYPE *) alloca (yystacksize * sizeof (*yyvsp)); |
| __yy_memcpy ((char *)yyvs, (char *)yyvs1, size * sizeof (*yyvsp)); |
| #ifdef YYLSP_NEEDED |
| yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp)); |
| __yy_memcpy ((char *)yyls, (char *)yyls1, size * sizeof (*yylsp)); |
| #endif |
| #endif /* no yyoverflow */ |
| |
| yyssp = yyss + size - 1; |
| yyvsp = yyvs + size - 1; |
| #ifdef YYLSP_NEEDED |
| yylsp = yyls + size - 1; |
| #endif |
| |
| #if YYDEBUG != 0 |
| if (yydebug) |
| fprintf(stderr, "Stack size increased to %d\n", yystacksize); |
| #endif |
| |
| if (yyssp >= yyss + yystacksize - 1) |
| YYABORT; |
| } |
| |
| #if YYDEBUG != 0 |
| if (yydebug) |
| fprintf(stderr, "Entering state %d\n", yystate); |
| #endif |
| |
| goto yybackup; |
| yybackup: |
| |
| /* Do appropriate processing given the current state. */ |
| /* Read a lookahead token if we need one and don't already have one. */ |
| /* yyresume: */ |
| |
| /* First try to decide what to do without reference to lookahead token. */ |
| |
| yyn = yypact[yystate]; |
| if (yyn == YYFLAG) |
| goto yydefault; |
| |
| /* Not known => get a lookahead token if don't already have one. */ |
| |
| /* yychar is either YYEMPTY or YYEOF |
| or a valid token in external form. */ |
| |
| if (yychar == YYEMPTY) |
| { |
| #if YYDEBUG != 0 |
| if (yydebug) |
| fprintf(stderr, "Reading a token: "); |
| #endif |
| yychar = YYLEX; |
| } |
| |
| /* Convert token to internal form (in yychar1) for indexing tables with */ |
| |
| if (yychar <= 0) /* This means end of input. */ |
| { |
| yychar1 = 0; |
| yychar = YYEOF; /* Don't call YYLEX any more */ |
| |
| #if YYDEBUG != 0 |
| if (yydebug) |
| fprintf(stderr, "Now at end of input.\n"); |
| #endif |
| } |
| else |
| { |
| yychar1 = YYTRANSLATE(yychar); |
| |
| #if YYDEBUG != 0 |
| if (yydebug) |
| { |
| fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]); |
| /* Give the individual parser a way to print the precise meaning |
| of a token, for further debugging info. */ |
| #ifdef YYPRINT |
| YYPRINT (stderr, yychar, yylval); |
| #endif |
| fprintf (stderr, ")\n"); |
| } |
| #endif |
| } |
| |
| yyn += yychar1; |
| if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1) |
| goto yydefault; |
| |
| yyn = yytable[yyn]; |
| |
| /* yyn is what to do for this token type in this state. |
| Negative => reduce, -yyn is rule number. |
| Positive => shift, yyn is new state. |
| New state is final state => don't bother to shift, |
| just return success. |
| 0, or most negative number => error. */ |
| |
| if (yyn < 0) |
| { |
| if (yyn == YYFLAG) |
| goto yyerrlab; |
| yyn = -yyn; |
| goto yyreduce; |
| } |
| else if (yyn == 0) |
| goto yyerrlab; |
| |
| if (yyn == YYFINAL) |
| YYACCEPT; |
| |
| /* Shift the lookahead token. */ |
| |
| #if YYDEBUG != 0 |
| if (yydebug) |
| fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]); |
| #endif |
| |
| /* Discard the token being shifted unless it is eof. */ |
| if (yychar != YYEOF) |
| yychar = YYEMPTY; |
| |
| *++yyvsp = yylval; |
| #ifdef YYLSP_NEEDED |
| *++yylsp = yylloc; |
| #endif |
| |
| /* count tokens shifted since error; after three, turn off error status. */ |
| if (yyerrstatus) yyerrstatus--; |
| |
| yystate = yyn; |
| goto yynewstate; |
| |
| /* Do the default action for the current state. */ |
| yydefault: |
| |
| yyn = yydefact[yystate]; |
| if (yyn == 0) |
| goto yyerrlab; |
| |
| /* Do a reduction. yyn is the number of a rule to reduce with. */ |
| yyreduce: |
| yylen = yyr2[yyn]; |
| if (yylen > 0) |
| yyval = yyvsp[1-yylen]; /* implement default value of the action */ |
| |
| #if YYDEBUG != 0 |
| if (yydebug) |
| { |
| int i; |
| |
| fprintf (stderr, "Reducing via rule %d (line %d), ", |
| yyn, yyrline[yyn]); |
| |
| /* Print the symbols being reduced, and their result. */ |
| for (i = yyprhs[yyn]; yyrhs[i] > 0; i++) |
| fprintf (stderr, "%s ", yytname[yyrhs[i]]); |
| fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]); |
| } |
| #endif |
| |
| |
| switch (yyn) { |
| |
| case 2: |
| #line 341 "parse.y" |
| { finish_translation_unit (); ; |
| break;} |
| case 3: |
| #line 349 "parse.y" |
| { yyval.ttype = NULL_TREE; ; |
| break;} |
| case 4: |
| #line 351 "parse.y" |
| { yyval.ttype = NULL_TREE; ; |
| break;} |
| case 5: |
| #line 353 "parse.y" |
| { yyval.ttype = NULL_TREE; ; |
| break;} |
| case 8: |
| #line 362 "parse.y" |
| { have_extern_spec = 1; |
| used_extern_spec = 0; |
| yyval.ttype = NULL_TREE; ; |
| break;} |
| case 9: |
| #line 367 "parse.y" |
| { have_extern_spec = 0; ; |
| break;} |
| case 10: |
| #line 372 "parse.y" |
| { yyval.itype = pedantic; |
| pedantic = 0; ; |
| break;} |
| case 12: |
| #line 381 "parse.y" |
| { if (pending_lang_change) do_pending_lang_change(); ; |
| break;} |
| case 13: |
| #line 383 "parse.y" |
| { if (! toplevel_bindings_p () && ! pseudo_global_level_p()) |
| pop_everything (); ; |
| break;} |
| case 14: |
| #line 389 "parse.y" |
| { if (pending_inlines) do_pending_inlines (); ; |
| break;} |
| case 15: |
| #line 391 "parse.y" |
| { if (pending_inlines) do_pending_inlines (); ; |
| break;} |
| case 16: |
| #line 393 "parse.y" |
| { if (pending_inlines) do_pending_inlines (); ; |
| break;} |
| case 17: |
| #line 395 "parse.y" |
| { if (TREE_CHAIN (yyvsp[-2].ttype)) yyvsp[-2].ttype = combine_strings (yyvsp[-2].ttype); |
| assemble_asm (yyvsp[-2].ttype); ; |
| break;} |
| case 18: |
| #line 398 "parse.y" |
| { pop_lang_context (); ; |
| break;} |
| case 19: |
| #line 400 "parse.y" |
| { if (pending_inlines) do_pending_inlines (); |
| pop_lang_context (); ; |
| break;} |
| case 20: |
| #line 403 "parse.y" |
| { if (pending_inlines) do_pending_inlines (); |
| pop_lang_context (); ; |
| break;} |
| case 21: |
| #line 406 "parse.y" |
| { push_namespace (yyvsp[-1].ttype); ; |
| break;} |
| case 22: |
| #line 408 "parse.y" |
| { pop_namespace (); ; |
| break;} |
| case 23: |
| #line 410 "parse.y" |
| { push_namespace (NULL_TREE); ; |
| break;} |
| case 24: |
| #line 412 "parse.y" |
| { pop_namespace (); ; |
| break;} |
| case 26: |
| #line 415 "parse.y" |
| { do_toplevel_using_decl (yyvsp[-1].ttype); ; |
| break;} |
| case 28: |
| #line 418 "parse.y" |
| { pedantic = yyvsp[-1].itype; ; |
| break;} |
| case 29: |
| #line 423 "parse.y" |
| { begin_only_namespace_names (); ; |
| break;} |
| case 30: |
| #line 425 "parse.y" |
| { |
| end_only_namespace_names (); |
| if (lastiddecl) |
| yyvsp[-1].ttype = lastiddecl; |
| do_namespace_alias (yyvsp[-4].ttype, yyvsp[-1].ttype); |
| ; |
| break;} |
| case 31: |
| #line 435 "parse.y" |
| { yyval.ttype = yyvsp[0].ttype; ; |
| break;} |
| case 32: |
| #line 437 "parse.y" |
| { yyval.ttype = yyvsp[0].ttype; ; |
| break;} |
| case 33: |
| #line 439 "parse.y" |
| { yyval.ttype = yyvsp[0].ttype; ; |
| break;} |
| case 34: |
| #line 444 "parse.y" |
| { yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ; |
| break;} |
| case 35: |
| #line 446 "parse.y" |
| { yyval.ttype = build_parse_node (SCOPE_REF, global_namespace, yyvsp[0].ttype); ; |
| break;} |
| case 36: |
| #line 448 "parse.y" |
| { yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ; |
| break;} |
| case 37: |
| #line 453 "parse.y" |
| { begin_only_namespace_names (); ; |
| break;} |
| case 38: |
| #line 455 "parse.y" |
| { |
| end_only_namespace_names (); |
| /* If no declaration was found, the using-directive is |
| invalid. Since that was not reported, we need the |
| identifier for the error message. */ |
| if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE && lastiddecl) |
| yyvsp[-1].ttype = lastiddecl; |
| do_using_directive (yyvsp[-1].ttype); |
| ; |
| break;} |
| case 39: |
| #line 468 "parse.y" |
| { |
| if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE) |
| yyval.ttype = lastiddecl; |
| got_scope = yyval.ttype; |
| ; |
| break;} |
| case 40: |
| #line 474 "parse.y" |
| { |
| yyval.ttype = yyvsp[-1].ttype; |
| if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE) |
| yyval.ttype = lastiddecl; |
| got_scope = yyval.ttype; |
| ; |
| break;} |
| case 43: |
| #line 485 "parse.y" |
| { yyval.ttype = yyvsp[0].ttype; ; |
| break;} |
| case 44: |
| #line 487 "parse.y" |
| { yyval.ttype = yyvsp[0].ttype; ; |
| break;} |
| case 45: |
| #line 492 "parse.y" |
| { push_lang_context (yyvsp[0].ttype); ; |
| break;} |
| case 46: |
| #line 494 "parse.y" |
| { if (current_lang_name != yyvsp[0].ttype) |
| cp_error ("use of linkage spec `%D' is different from previous spec `%D'", yyvsp[0].ttype, current_lang_name); |
| pop_lang_context (); push_lang_context (yyvsp[0].ttype); ; |
| break;} |
| case 47: |
| #line 501 "parse.y" |
| { begin_template_parm_list (); ; |
| break;} |
| case 48: |
| #line 503 "parse.y" |
| { yyval.ttype = end_template_parm_list (yyvsp[-1].ttype); ; |
| break;} |
| case 49: |
| #line 505 "parse.y" |
| { begin_specialization(); |
| yyval.ttype = NULL_TREE; ; |
| break;} |
| case 50: |
| #line 511 "parse.y" |
| { yyval.ttype = process_template_parm (NULL_TREE, yyvsp[0].ttype); ; |
| break;} |
| case 51: |
| #line 513 "parse.y" |
| { yyval.ttype = process_template_parm (yyvsp[-2].ttype, yyvsp[0].ttype); ; |
| break;} |
| case 52: |
| #line 518 "parse.y" |
| { yyval.ttype = yyvsp[0].ttype; ; |
| break;} |
| case 53: |
| #line 520 "parse.y" |
| { yyval.ttype = NULL_TREE; ; |
| break;} |
| case 54: |
| #line 524 "parse.y" |
| { yyval.ttype = finish_template_type_parm (yyvsp[-1].ttype, yyvsp[0].ttype); ; |
| break;} |
| case 55: |
| #line 526 "parse.y" |
| { yyval.ttype = finish_template_type_parm (class_type_node, yyvsp[0].ttype); ; |
| break;} |
| case 56: |
| #line 531 "parse.y" |
| { yyval.ttype = finish_template_template_parm (yyvsp[-1].ttype, yyvsp[0].ttype); ; |
| break;} |
| case 57: |
| #line 543 "parse.y" |
| { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ; |
| break;} |
| case 58: |
| #line 545 "parse.y" |
| { yyval.ttype = build_tree_list (groktypename (yyvsp[0].ftype.t), yyvsp[-2].ttype); ; |
| break;} |
| case 59: |
| #line 547 "parse.y" |
| { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ftype.t); ; |
| break;} |
| case 60: |
| #line 549 "parse.y" |
| { yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-2].ftype.t); ; |
| break;} |
| case 61: |
| #line 551 "parse.y" |
| { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ; |
| break;} |
| case 62: |
| #line 553 "parse.y" |
| { |
| if (TREE_CODE (yyvsp[0].ttype) != TEMPLATE_DECL |
| && TREE_CODE (yyvsp[0].ttype) != TEMPLATE_TEMPLATE_PARM |
| && TREE_CODE (yyvsp[0].ttype) != TYPE_DECL) |
| { |
| error ("invalid default template argument"); |
| yyvsp[0].ttype = error_mark_node; |
| } |
| yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype); |
| ; |
| break;} |
| case 63: |
| #line 567 "parse.y" |
| { finish_template_decl (yyvsp[-1].ttype); ; |
| break;} |
| case 64: |
| #line 569 "parse.y" |
| { finish_template_decl (yyvsp[-1].ttype); ; |
| break;} |
| case 65: |
| #line 574 "parse.y" |
| { if (pending_inlines) do_pending_inlines (); ; |
| break;} |
| case 66: |
| #line 576 "parse.y" |
| { if (pending_inlines) do_pending_inlines (); ; |
| break;} |
| case 67: |
| #line 578 "parse.y" |
| { if (pending_inlines) do_pending_inlines (); ; |
| break;} |
| case 68: |
| #line 580 "parse.y" |
| { if (pending_inlines) do_pending_inlines (); |
| pop_lang_context (); ; |
| break;} |
| case 69: |
| #line 583 "parse.y" |
| { if (pending_inlines) do_pending_inlines (); |
| pop_lang_context (); ; |
| break;} |
| case 70: |
| #line 586 "parse.y" |
| { pedantic = yyvsp[-1].itype; ; |
| break;} |
| case 72: |
| #line 592 "parse.y" |
| {; |
| break;} |
| case 73: |
| #line 594 "parse.y" |
| { note_list_got_semicolon (yyvsp[-2].ftype.t); ; |
| break;} |
| case 74: |
| #line 596 "parse.y" |
| { maybe_process_partial_specialization (yyvsp[-1].ftype.t); |
| note_got_semicolon (yyvsp[-1].ftype.t); ; |
| break;} |
| case 76: |
| #line 603 "parse.y" |
| {; |
| break;} |
| case 77: |
| #line 605 "parse.y" |
| { note_list_got_semicolon (yyvsp[-2].ftype.t); ; |
| break;} |
| case 78: |
| #line 607 "parse.y" |
| { pedwarn ("empty declaration"); ; |
| break;} |
| case 80: |
| #line 610 "parse.y" |
| { |
| tree t, attrs; |
| split_specs_attrs (yyvsp[-1].ftype.t, &t, &attrs); |
| shadow_tag (t); |
| note_list_got_semicolon (yyvsp[-1].ftype.t); |
| ; |
| break;} |
| case 84: |
| #line 623 "parse.y" |
| { yyval.itype = 0; ; |
| break;} |
| case 85: |
| #line 625 "parse.y" |
| { yyval.itype = 1; ; |
| break;} |
| case 91: |
| #line 641 "parse.y" |
| { finish_function (lineno, (int)yyvsp[-1].itype, 0); ; |
| break;} |
| case 92: |
| #line 643 "parse.y" |
| { |
| int nested = (hack_decl_function_context |
| (current_function_decl) != NULL_TREE); |
| finish_function (lineno, (int)yyvsp[0].itype, nested); |
| ; |
| break;} |
| case 93: |
| #line 649 "parse.y" |
| { ; |
| break;} |
| case 94: |
| #line 654 "parse.y" |
| { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ; |
| break;} |
| case 95: |
| #line 656 "parse.y" |
| { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ; |
| break;} |
| case 96: |
| #line 658 "parse.y" |
| { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype); |
| yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); |
| ; |
| break;} |
| case 97: |
| #line 662 "parse.y" |
| { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ; |
| break;} |
| case 98: |
| #line 664 "parse.y" |
| { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ; |
| break;} |
| case 99: |
| #line 666 "parse.y" |
| { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype); |
| yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); |
| ; |
| break;} |
| case 100: |
| #line 670 "parse.y" |
| { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ; |
| break;} |
| case 101: |
| #line 672 "parse.y" |
| { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ; |
| break;} |
| case 102: |
| #line 674 "parse.y" |
| { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype); |
| yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); |
| ; |
| break;} |
| case 103: |
| #line 678 "parse.y" |
| { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ; |
| break;} |
| case 104: |
| #line 680 "parse.y" |
| { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ; |
| break;} |
| case 105: |
| #line 682 "parse.y" |
| { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype); |
| yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); |
| ; |
| break;} |
| case 106: |
| #line 689 "parse.y" |
| { if (!begin_function_definition (yyvsp[-1].ftype.t, yyvsp[0].ttype)) |
| YYERROR1; ; |
| break;} |
| case 107: |
| #line 692 "parse.y" |
| { if (!begin_function_definition (yyvsp[-1].ttype, yyvsp[0].ttype)) |
| YYERROR1; ; |
| break;} |
| case 108: |
| #line 695 "parse.y" |
| { if (!begin_function_definition (NULL_TREE, yyvsp[0].ttype)) |
| YYERROR1; ; |
| break;} |
| case 109: |
| #line 698 "parse.y" |
| { if (!begin_function_definition (yyvsp[-1].ttype, yyvsp[0].ttype)) |
| YYERROR1; ; |
| break;} |
| case 110: |
| #line 701 "parse.y" |
| { if (!begin_function_definition (NULL_TREE, yyvsp[0].ttype)) |
| YYERROR1; ; |
| break;} |
| case 111: |
| #line 707 "parse.y" |
| { yyval.ttype = make_call_declarator (yyvsp[-5].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ; |
| break;} |
| case 112: |
| #line 709 "parse.y" |
| { yyval.ttype = make_call_declarator (yyvsp[-3].ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ; |
| break;} |
| case 113: |
| #line 711 "parse.y" |
| { yyval.ttype = make_call_declarator (yyvsp[-5].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ; |
| break;} |
| case 114: |
| #line 713 "parse.y" |
| { yyval.ttype = make_call_declarator (yyvsp[-3].ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ; |
| break;} |
| case 115: |
| #line 720 "parse.y" |
| { tree specs, attrs; |
| split_specs_attrs (yyvsp[-1].ttype, &specs, &attrs); |
| attrs = build_tree_list (attrs, NULL_TREE); |
| yyval.ttype = start_method (specs, yyvsp[0].ttype, attrs); |
| rest_of_mdef: |
| if (! yyval.ttype) |
| YYERROR1; |
| if (yychar == YYEMPTY) |
| yychar = YYLEX; |
| reinit_parse_for_method (yychar, yyval.ttype); ; |
| break;} |
| case 116: |
| #line 731 "parse.y" |
| { yyval.ttype = start_method (NULL_TREE, yyvsp[0].ttype, NULL_TREE); |
| goto rest_of_mdef; ; |
| break;} |
| case 117: |
| #line 734 "parse.y" |
| { tree specs, attrs; |
| split_specs_attrs (yyvsp[-1].ftype.t, &specs, &attrs); |
| attrs = build_tree_list (attrs, NULL_TREE); |
| yyval.ttype = start_method (specs, yyvsp[0].ttype, attrs); goto rest_of_mdef; ; |
| break;} |
| case 118: |
| #line 739 "parse.y" |
| { tree specs, attrs; |
| split_specs_attrs (yyvsp[-1].ttype, &specs, &attrs); |
| attrs = build_tree_list (attrs, NULL_TREE); |
| yyval.ttype = start_method (specs, yyvsp[0].ttype, attrs); goto rest_of_mdef; ; |
| break;} |
| case 119: |
| #line 744 "parse.y" |
| { yyval.ttype = start_method (NULL_TREE, yyval.ttype, NULL_TREE); |
| goto rest_of_mdef; ; |
| break;} |
| case 120: |
| #line 747 "parse.y" |
| { tree specs, attrs; |
| split_specs_attrs (yyvsp[-1].ttype, &specs, &attrs); |
| attrs = build_tree_list (attrs, NULL_TREE); |
| yyval.ttype = start_method (specs, yyvsp[0].ttype, attrs); goto rest_of_mdef; ; |
| break;} |
| case 121: |
| #line 752 "parse.y" |
| { yyval.ttype = start_method (NULL_TREE, yyval.ttype, NULL_TREE); |
| goto rest_of_mdef; ; |
| break;} |
| case 122: |
| #line 758 "parse.y" |
| { |
| if (! current_function_parms_stored) |
| store_parm_decls (); |
| yyval.ttype = yyvsp[0].ttype; |
| ; |
| break;} |
| case 123: |
| #line 767 "parse.y" |
| { store_return_init (yyval.ttype, yyvsp[0].ttype); ; |
| break;} |
| case 124: |
| #line 769 "parse.y" |
| { store_return_init (yyval.ttype, yyvsp[-1].ttype); ; |
| break;} |
| case 125: |
| #line 771 "parse.y" |
| { store_return_init (yyval.ttype, NULL_TREE); ; |
| break;} |
| case 126: |
| #line 776 "parse.y" |
| { |
| if (yyvsp[0].itype == 0) |
| error ("no base initializers given following ':'"); |
| setup_vtbl_ptr (); |
| /* Always keep the BLOCK node associated with the outermost |
| pair of curley braces of a function. These are needed |
| for correct operation of dwarfout.c. */ |
| keep_next_level (); |
| ; |
| break;} |
| case 127: |
| #line 789 "parse.y" |
| { |
| if (! current_function_parms_stored) |
| store_parm_decls (); |
| |
| if (DECL_CONSTRUCTOR_P (current_function_decl)) |
| { |
| /* Make a contour for the initializer list. */ |
| pushlevel (0); |
| clear_last_expr (); |
| expand_start_bindings (0); |
| } |
| else if (current_class_type == NULL_TREE) |
| error ("base initializers not allowed for non-member functions"); |
| else if (! DECL_CONSTRUCTOR_P (current_function_decl)) |
| error ("only constructors take base initializers"); |
| ; |
| break;} |
| case 128: |
| #line 809 "parse.y" |
| { yyval.itype = 0; ; |
| break;} |
| case 129: |
| #line 811 "parse.y" |
| { yyval.itype = 1; ; |
| break;} |
| case 132: |
| #line 818 "parse.y" |
| { |
| if (current_class_name) |
| pedwarn ("anachronistic old style base class initializer"); |
| expand_member_init (current_class_ref, NULL_TREE, yyvsp[-1].ttype); |
| ; |
| break;} |
| case 133: |
| #line 824 "parse.y" |
| { |
| if (current_class_name) |
| pedwarn ("anachronistic old style base class initializer"); |
| expand_member_init (current_class_ref, NULL_TREE, void_type_node); |
| ; |
| break;} |
| case 134: |
| #line 830 "parse.y" |
| { expand_member_init (current_class_ref, yyvsp[-3].ttype, yyvsp[-1].ttype); ; |
| break;} |
| case 135: |
| #line 832 "parse.y" |
| { expand_member_init (current_class_ref, yyvsp[-1].ttype, void_type_node); ; |
| break;} |
| case 136: |
| #line 834 "parse.y" |
| { expand_member_init (current_class_ref, yyvsp[-3].ttype, yyvsp[-1].ttype); ; |
| break;} |
| case 137: |
| #line 836 "parse.y" |
| { expand_member_init (current_class_ref, yyvsp[-1].ttype, void_type_node); ; |
| break;} |
| case 138: |
| #line 838 "parse.y" |
| { expand_member_init (current_class_ref, TYPE_MAIN_DECL (yyvsp[-3].ttype), |
| yyvsp[-1].ttype); ; |
| break;} |
| case 139: |
| #line 841 "parse.y" |
| { expand_member_init (current_class_ref, TYPE_MAIN_DECL (yyvsp[-1].ttype), |
| void_type_node); ; |
| break;} |
| case 151: |
| #line 867 "parse.y" |
| { do_type_instantiation (yyvsp[-1].ftype.t, NULL_TREE); |
| yyungetc (';', 1); ; |
| break;} |
| case 153: |
| #line 871 "parse.y" |
| { tree specs = strip_attrs (yyvsp[-1].ftype.t); |
| do_decl_instantiation (specs, yyvsp[0].ttype, NULL_TREE); ; |
| break;} |
| case 155: |
| #line 875 "parse.y" |
| { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ; |
| break;} |
| case 157: |
| #line 878 "parse.y" |
| { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ; |
| break;} |
| case 159: |
| #line 881 "parse.y" |
| { do_type_instantiation (yyvsp[-1].ftype.t, yyvsp[-4].ttype); |
| yyungetc (';', 1); ; |
| break;} |
| case 161: |
| #line 886 "parse.y" |
| { tree specs = strip_attrs (yyvsp[-1].ftype.t); |
| do_decl_instantiation (specs, yyvsp[0].ttype, yyvsp[-4].ttype); ; |
| break;} |
| case 163: |
| #line 890 "parse.y" |
| { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, yyvsp[-3].ttype); ; |
| break;} |
| case 165: |
| #line 893 "parse.y" |
| { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, yyvsp[-3].ttype); ; |
| break;} |
| case 167: |
| #line 898 "parse.y" |
| { begin_explicit_instantiation(); ; |
| break;} |
| case 168: |
| #line 901 "parse.y" |
| { end_explicit_instantiation(); ; |
| break;} |
| case 169: |
| #line 910 "parse.y" |
| { yyval.ttype = yyvsp[0].ttype; ; |
| break;} |
| case 170: |
| #line 913 "parse.y" |
| { yyval.ttype = yyvsp[0].ttype; ; |
| break;} |
| case 173: |
| #line 921 "parse.y" |
| { yyval.ttype = yyvsp[0].ttype; ; |
| break;} |
| case 174: |
| #line 926 "parse.y" |
| { yyval.ttype = yyvsp[0].ttype; ; |
| break;} |
| case 175: |
| #line 930 "parse.y" |
| { |
| if (yychar == YYEMPTY) |
| yychar = YYLEX; |
| |
| yyval.ttype = finish_template_type (yyvsp[-3].ttype, yyvsp[-1].ttype, |
| yychar == SCOPE); |
| ; |
| break;} |
| case 177: |
| #line 941 "parse.y" |
| { |
| /* Handle `Class<Class<Type>>' without space in the `>>' */ |
| pedwarn ("`>>' should be `> >' in template class name"); |
| yyungetc ('>', 1); |
| ; |
| break;} |
| case 178: |
| #line 950 "parse.y" |
| { yyval.ttype = NULL_TREE; ; |
| break;} |
| case 180: |
| #line 956 "parse.y" |
| { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ; |
| break;} |
| case 181: |
| #line 958 "parse.y" |
| { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ; |
| break;} |
| case 182: |
| #line 963 "parse.y" |
| { yyval.ttype = groktypename (yyvsp[0].ftype.t); ; |
| break;} |
| case 183: |
| #line 965 "parse.y" |
| { yyval.ttype = lastiddecl; ; |
| break;} |
| case 185: |
| #line 971 "parse.y" |
| { yyval.code = NEGATE_EXPR; ; |
| break;} |
| case 186: |
| #line 973 "parse.y" |
| { yyval.code = CONVERT_EXPR; ; |
| break;} |
| case 187: |
| #line 975 "parse.y" |
| { yyval.code = PREINCREMENT_EXPR; ; |
| break;} |
| case 188: |
| #line 977 "parse.y" |
| { yyval.code = PREDECREMENT_EXPR; ; |
| break;} |
| case 189: |
| #line 979 "parse.y" |
| { yyval.code = TRUTH_NOT_EXPR; ; |
| break;} |
| case 190: |
| #line 984 "parse.y" |
| { yyval.ttype = build_x_compound_expr (yyval.ttype); ; |
| break;} |
| case 192: |
| #line 990 "parse.y" |
| { error ("ANSI C++ forbids an empty condition for `%s'", |
| cond_stmt_keyword); |
| yyval.ttype = integer_zero_node; ; |
| break;} |
| case 193: |
| #line 994 "parse.y" |
| { yyval.ttype = yyvsp[-1].ttype; ; |
| break;} |
| case 194: |
| #line 999 "parse.y" |
| { error ("ANSI C++ forbids an empty condition for `%s'", |
| cond_stmt_keyword); |
| yyval.ttype = integer_zero_node; ; |
| break;} |
| case 195: |
| #line 1003 "parse.y" |
| { yyval.ttype = yyvsp[-1].ttype; ; |
| break;} |
| case 196: |
| #line 1008 "parse.y" |
| { yyval.ttype = NULL_TREE; ; |
| break;} |
| case 198: |
| #line 1011 "parse.y" |
| { yyval.ttype = NULL_TREE; ; |
| break;} |
| case 199: |
| #line 1016 "parse.y" |
| { { |
| tree d; |
| for (d = getdecls (); d; d = TREE_CHAIN (d)) |
| if (TREE_CODE (d) == TYPE_DECL) { |
| tree s = TREE_TYPE (d); |
| if (TREE_CODE (s) == RECORD_TYPE) |
| cp_error ("definition of class `%T' in condition", s); |
| else if (TREE_CODE (s) == ENUMERAL_TYPE) |
| cp_error ("definition of enum `%T' in condition", s); |
| } |
| } |
| current_declspecs = yyvsp[-4].ftype.t; |
| yyvsp[0].itype = suspend_momentary (); |
| yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1, |
| yyvsp[-1].ttype, /*prefix_attributes*/ NULL_TREE); |
| ; |
| break;} |
| case 200: |
| #line 1033 "parse.y" |
| { |
| cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-3].ttype, 1, LOOKUP_ONLYCONVERTING); |
| resume_momentary (yyvsp[-2].itype); |
| yyval.ttype = convert_from_reference (yyvsp[-1].ttype); |
| if (TREE_CODE (TREE_TYPE (yyval.ttype)) == ARRAY_TYPE) |
| cp_error ("definition of array `%#D' in condition", yyval.ttype); |
| ; |
| break;} |
| case 206: |
| #line 1052 "parse.y" |
| { yyval.ttype = begin_compound_stmt (1); ; |
| break;} |
| case 207: |
| #line 1054 "parse.y" |
| { finish_compound_stmt (1, yyvsp[-1].ttype); ; |
| break;} |
| case 209: |
| #line 1061 "parse.y" |
| { yyval.ttype = expr_tree_cons (NULL_TREE, yyval.ttype, |
| build_expr_list (NULL_TREE, yyvsp[0].ttype)); ; |
| break;} |
| case 210: |
| #line 1064 "parse.y" |
| { yyval.ttype = expr_tree_cons (NULL_TREE, yyval.ttype, |
| build_expr_list (NULL_TREE, error_mark_node)); ; |
| break;} |
| case 211: |
| #line 1067 "parse.y" |
| { chainon (yyval.ttype, build_expr_list (NULL_TREE, yyvsp[0].ttype)); ; |
| break;} |
| case 212: |
| #line 1069 "parse.y" |
| { chainon (yyval.ttype, build_expr_list (NULL_TREE, error_mark_node)); ; |
| break;} |
| case 213: |
| #line 1074 "parse.y" |
| { yyval.ttype = build_expr_list (NULL_TREE, yyval.ttype); ; |
| break;} |
| case 215: |
| #line 1080 "parse.y" |
| { yyval.ttype = yyvsp[0].ttype; ; |
| break;} |
| case 216: |
| #line 1083 "parse.y" |
| { yyval.ttype = yyvsp[0].ttype; |
| pedantic = yyvsp[-1].itype; ; |
| break;} |
| case 217: |
| #line 1086 "parse.y" |
| { yyval.ttype = build_x_indirect_ref (yyvsp[0].ttype, "unary *"); ; |
| break;} |
| case 218: |
| #line 1088 "parse.y" |
| { yyval.ttype = build_x_unary_op (ADDR_EXPR, yyvsp[0].ttype); ; |
| break;} |
| case 219: |
| #line 1090 "parse.y" |
| { yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, yyvsp[0].ttype); ; |
| break;} |
| case 220: |
| #line 1092 "parse.y" |
| { yyval.ttype = finish_unary_op_expr (yyvsp[-1].code, yyvsp[0].ttype); ; |
| break;} |
| case 221: |
| #line 1095 "parse.y" |
| { if (pedantic) |
| pedwarn ("ANSI C++ forbids `&&'"); |
| yyval.ttype = finish_label_address_expr (yyvsp[0].ttype); ; |
| break;} |
| case 222: |
| #line 1099 "parse.y" |
| { yyval.ttype = expr_sizeof (yyvsp[0].ttype); ; |
| break;} |
| case 223: |
| #line 1101 "parse.y" |
| { yyval.ttype = c_sizeof (groktypename (yyvsp[-1].ftype.t)); |
| check_for_new_type ("sizeof", yyvsp[-1].ftype); ; |
| break;} |
| case 224: |
| #line 1104 "parse.y" |
| { yyval.ttype = grok_alignof (yyvsp[0].ttype); ; |
| break;} |
| case 225: |
| #line 1106 "parse.y" |
| { yyval.ttype = c_alignof (groktypename (yyvsp[-1].ftype.t)); |
| check_for_new_type ("alignof", yyvsp[-1].ftype); ; |
| break;} |
| case 226: |
| #line 1112 "parse.y" |
| { yyval.ttype = build_new (NULL_TREE, yyvsp[0].ftype.t, NULL_TREE, yyvsp[-1].itype); |
| check_for_new_type ("new", yyvsp[0].ftype); ; |
| break;} |
| case 227: |
| #line 1115 "parse.y" |
| { yyval.ttype = build_new (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype, yyvsp[-2].itype); |
| check_for_new_type ("new", yyvsp[-1].ftype); ; |
| break;} |
| case 228: |
| #line 1118 "parse.y" |
| { yyval.ttype = build_new (yyvsp[-1].ttype, yyvsp[0].ftype.t, NULL_TREE, yyvsp[-2].itype); |
| check_for_new_type ("new", yyvsp[0].ftype); ; |
| break;} |
| case 229: |
| #line 1121 "parse.y" |
| { yyval.ttype = build_new (yyvsp[-2].ttype, yyvsp[-1].ftype.t, yyvsp[0].ttype, yyvsp[-3].itype); |
| check_for_new_type ("new", yyvsp[-1].ftype); ; |
| break;} |
| case 230: |
| #line 1134 "parse.y" |
| { yyval.ttype = build_new (NULL_TREE, groktypename(yyvsp[-1].ftype.t), |
| NULL_TREE, yyvsp[-4].itype); |
| check_for_new_type ("new", yyvsp[-1].ftype); ; |
| break;} |
| case 231: |
| #line 1139 "parse.y" |
| { yyval.ttype = build_new (NULL_TREE, groktypename(yyvsp[-2].ftype.t), yyvsp[0].ttype, yyvsp[-5].itype); |
| check_for_new_type ("new", yyvsp[-2].ftype); ; |
| break;} |
| case 232: |
| #line 1143 "parse.y" |
| { yyval.ttype = build_new (yyvsp[-4].ttype, groktypename(yyvsp[-1].ftype.t), NULL_TREE, yyvsp[-5].itype); |
| check_for_new_type ("new", yyvsp[-1].ftype); ; |
| break;} |
| case 233: |
| #line 1147 "parse.y" |
| { yyval.ttype = build_new (yyvsp[-5].ttype, groktypename(yyvsp[-2].ftype.t), yyvsp[0].ttype, yyvsp[-6].itype); |
| check_for_new_type ("new", yyvsp[-2].ftype); ; |
| break;} |
| case 234: |
| #line 1151 "parse.y" |
| { yyval.ttype = delete_sanity (yyvsp[0].ttype, NULL_TREE, 0, yyvsp[-1].itype); ; |
| break;} |
| case 235: |
| #line 1153 "parse.y" |
| { yyval.ttype = delete_sanity (yyvsp[0].ttype, NULL_TREE, 1, yyvsp[-3].itype); |
| if (yychar == YYEMPTY) |
| yychar = YYLEX; ; |
| break;} |
| case 236: |
| #line 1157 "parse.y" |
| { yyval.ttype = delete_sanity (yyvsp[0].ttype, yyvsp[-2].ttype, 2, yyvsp[-4].itype); |
| if (yychar == YYEMPTY) |
| yychar = YYLEX; ; |
| break;} |
| case 237: |
| #line 1161 "parse.y" |
| { yyval.ttype = build_x_unary_op (REALPART_EXPR, yyvsp[0].ttype); ; |
| break;} |
| case 238: |
| #line 1163 "parse.y" |
| { yyval.ttype = build_x_unary_op (IMAGPART_EXPR, yyvsp[0].ttype); ; |
| break;} |
| case 239: |
| #line 1173 "parse.y" |
| { finish_new_placement (NULL_TREE, yyvsp[-2].itype); ; |
| break;} |
| case 240: |
| #line 1176 "parse.y" |
| { yyval.itype = begin_new_placement (); ; |
| break;} |
| case 241: |
| #line 1180 "parse.y" |
| { yyval.ttype = finish_new_placement (yyvsp[-1].ttype, yyvsp[-2].itype); ; |
| break;} |
| case 242: |
| #line 1182 "parse.y" |
| { cp_pedwarn ("old style placement syntax, use () instead"); |
| yyval.ttype = finish_new_placement (yyvsp[-1].ttype, yyvsp[-2].itype); ; |
| break;} |
| case 243: |
| #line 1188 "parse.y" |
| { yyval.ttype = yyvsp[-1].ttype; ; |
| break;} |
| case 244: |
| #line 1190 "parse.y" |
| { yyval.ttype = NULL_TREE; ; |
| break;} |
| case 245: |
| #line 1192 "parse.y" |
| { |
| cp_error ("`%T' is not a valid expression", yyvsp[-1].ftype.t); |
| yyval.ttype = error_mark_node; |
| ; |
| break;} |
| case 246: |
| #line 1200 "parse.y" |
| { |
| if (pedantic) |
| pedwarn ("ANSI C++ forbids initialization of new expression with `='"); |
| if (TREE_CODE (yyvsp[0].ttype) != TREE_LIST |
| && TREE_CODE (yyvsp[0].ttype) != CONSTRUCTOR) |
| yyval.ttype = build_expr_list (NULL_TREE, yyvsp[0].ttype); |
| else |
| yyval.ttype = yyvsp[0].ttype; |
| ; |
| break;} |
| case 247: |
| #line 1214 "parse.y" |
| { yyvsp[-1].ftype.t = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[-1].ftype.t), 0); |
| yyval.ttype = make_call_declarator (NULL_TREE, yyvsp[-1].ftype.t, NULL_TREE, NULL_TREE); |
| check_for_new_type ("cast", yyvsp[-1].ftype); ; |
| break;} |
| case 248: |
| #line 1218 "parse.y" |
| { yyvsp[-1].ftype.t = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[-1].ftype.t), 0); |
| yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-1].ftype.t, NULL_TREE, NULL_TREE); |
| check_for_new_type ("cast", yyvsp[-1].ftype); ; |
| break;} |
| case 250: |
| #line 1226 "parse.y" |
| { yyval.ttype = reparse_absdcl_as_casts (yyval.ttype, yyvsp[0].ttype); ; |
| break;} |
| case 251: |
| #line 1228 "parse.y" |
| { |
| tree init = build_nt (CONSTRUCTOR, NULL_TREE, |
| nreverse (yyvsp[-2].ttype)); |
| if (pedantic) |
| pedwarn ("ANSI C++ forbids constructor-expressions"); |
| /* Indicate that this was a GNU C constructor expression. */ |
| TREE_HAS_CONSTRUCTOR (init) = 1; |
| |
| yyval.ttype = reparse_absdcl_as_casts (yyval.ttype, init); |
| ; |
| break;} |
| case 253: |
| #line 1244 "parse.y" |
| { yyval.ttype = build_x_binary_op (MEMBER_REF, yyval.ttype, yyvsp[0].ttype); ; |
| break;} |
| case 254: |
| #line 1246 "parse.y" |
| { yyval.ttype = build_m_component_ref (yyval.ttype, yyvsp[0].ttype); ; |
| break;} |
| case 255: |
| #line 1248 "parse.y" |
| { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; |
| break;} |
| case 256: |
| #line 1250 "parse.y" |
| { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; |
| break;} |
| case 257: |
| #line 1252 "parse.y" |
| { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; |
| break;} |
| case 258: |
| #line 1254 "parse.y" |
| { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; |
| break;} |
| case 259: |
| #line 1256 "parse.y" |
| { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; |
| break;} |
| case 260: |
| #line 1258 "parse.y" |
| { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; |
| break;} |
| case 261: |
| #line 1260 "parse.y" |
| { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; |
| break;} |
| case 262: |
| #line 1262 "parse.y" |
| { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; |
| break;} |
| case 263: |
| #line 1264 "parse.y" |
| { yyval.ttype = build_x_binary_op (LT_EXPR, yyval.ttype, yyvsp[0].ttype); ; |
| break;} |
| case 264: |
| #line 1266 "parse.y" |
| { yyval.ttype = build_x_binary_op (GT_EXPR, yyval.ttype, yyvsp[0].ttype); ; |
| break;} |
| case 265: |
| #line 1268 "parse.y" |
| { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; |
| break;} |
| case 266: |
| #line 1270 "parse.y" |
| { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; |
| break;} |
| case 267: |
| #line 1272 "parse.y" |
| { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; |
| break;} |
| case 268: |
| #line 1274 "parse.y" |
| { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; |
| break;} |
| case 269: |
| #line 1276 "parse.y" |
| { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; |
| break;} |
| case 270: |
| #line 1278 "parse.y" |
| { yyval.ttype = build_x_binary_op (TRUTH_ANDIF_EXPR, yyval.ttype, yyvsp[0].ttype); ; |
| break;} |
| case 271: |
| #line 1280 "parse.y" |
| { yyval.ttype = build_x_binary_op (TRUTH_ORIF_EXPR, yyval.ttype, yyvsp[0].ttype); ; |
| break;} |
| case 272: |
| #line 1282 "parse.y" |
| { yyval.ttype = build_x_conditional_expr (yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ; |
| break;} |
| case 273: |
| #line 1284 "parse.y" |
| { yyval.ttype = build_x_modify_expr (yyval.ttype, NOP_EXPR, yyvsp[0].ttype); |
| if (yyval.ttype != error_mark_node) |
| C_SET_EXP_ORIGINAL_CODE (yyval.ttype, MODIFY_EXPR); ; |
| break;} |
| case 274: |
| #line 1288 "parse.y" |
| { yyval.ttype = build_x_modify_expr (yyval.ttype, yyvsp[-1].code, yyvsp[0].ttype); ; |
| break;} |
| case 275: |
| #line 1290 "parse.y" |
| { yyval.ttype = build_throw (NULL_TREE); ; |
| break;} |
| case 276: |
| #line 1292 "parse.y" |
| { yyval.ttype = build_throw (yyvsp[0].ttype); ; |
| break;} |
| case 277: |
| #line 1310 "parse.y" |
| { yyval.ttype = build_parse_node (BIT_NOT_EXPR, yyvsp[0].ttype); ; |
| break;} |
| case 278: |
| #line 1312 "parse.y" |
| { yyval.ttype = build_parse_node (BIT_NOT_EXPR, yyvsp[0].ttype); ; |
| break;} |
| case 284: |
| #line 1321 "parse.y" |
| { |
| /* If lastiddecl is a TREE_LIST, it's a baselink, which |
| means that we're in an expression like S::f<int>, so |
| don't do_identifier; we only do that for unqualified |
| identifiers. */ |
| if (lastiddecl && TREE_CODE (lastiddecl) != TREE_LIST) |
| yyval.ttype = do_identifier (yyvsp[-1].ttype, 1, NULL_TREE); |
| else |
| yyval.ttype = yyvsp[-1].ttype; |
| ; |
| break;} |
| case 285: |
| #line 1334 "parse.y" |
| { yyval.ttype = lookup_template_function (yyvsp[-2].ttype, yyvsp[-1].ttype); ; |
| break;} |
| case 286: |
| #line 1336 "parse.y" |
| { yyval.ttype = lookup_template_function (yyvsp[-2].ttype, yyvsp[-1].ttype); ; |
| break;} |
| case 287: |
| #line 1341 "parse.y" |
| { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ; |
| break;} |
| case 288: |
| #line 1343 "parse.y" |
| { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ; |
| break;} |
| case 289: |
| #line 1346 "parse.y" |
| { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ; |
| break;} |
| case 294: |
| #line 1358 "parse.y" |
| { |
| /* Provide support for '(' attributes '*' declarator ')' |
| etc */ |
| yyval.ttype = decl_tree_cons (yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE); |
| ; |
| break;} |
| case 296: |
| #line 1368 "parse.y" |
| { yyval.ttype = build_parse_node (INDIRECT_REF, yyvsp[0].ttype); ; |
| break;} |
| case 297: |
| #line 1370 "parse.y" |
| { yyval.ttype = build_parse_node (ADDR_EXPR, yyvsp[0].ttype); ; |
| break;} |
| case 298: |
| #line 1372 "parse.y" |
| { yyval.ttype = yyvsp[-1].ttype; ; |
| break;} |
| case 299: |
| #line 1377 "parse.y" |
| { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ; |
| break;} |
| case 300: |
| #line 1379 "parse.y" |
| { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ; |
| break;} |
| case 304: |
| #line 1389 "parse.y" |
| { yyval.ttype = finish_decl_parsing (yyvsp[-1].ttype); ; |
| break;} |
| case 305: |
| #line 1394 "parse.y" |
| { |
| if (TREE_CODE (yyvsp[0].ttype) == BIT_NOT_EXPR) |
| yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, TREE_OPERAND (yyvsp[0].ttype, 0)); |
| else |
| yyval.ttype = finish_id_expr (yyvsp[0].ttype); |
| ; |
| break;} |
| case 308: |
| #line 1403 "parse.y" |
| { |
| if (processing_template_decl) |
| push_obstacks (&permanent_obstack, &permanent_obstack); |
| yyval.ttype = combine_strings (yyval.ttype); |
| /* combine_strings doesn't set up TYPE_MAIN_VARIANT of |
| a const array the way we want, so fix it. */ |
| if (flag_const_strings) |
| TREE_TYPE (yyval.ttype) = build_cplus_array_type |
| (TREE_TYPE (TREE_TYPE (yyval.ttype)), |
| TYPE_DOMAIN (TREE_TYPE (yyval.ttype))); |
| if (processing_template_decl) |
| pop_obstacks (); |
| ; |
| break;} |
| case 309: |
| #line 1417 "parse.y" |
| { yyval.ttype = finish_parenthesized_expr (yyvsp[-1].ttype); ; |
| break;} |
| case 310: |
| #line 1419 "parse.y" |
| { yyvsp[-1].ttype = reparse_decl_as_expr (NULL_TREE, yyvsp[-1].ttype); |
| yyval.ttype = finish_parenthesized_expr (yyvsp[-1].ttype); ; |
| break;} |
| case 311: |
| #line 1422 "parse.y" |
| { yyval.ttype = error_mark_node; ; |
| break;} |
| case 312: |
| #line 1424 "parse.y" |
| { tree scope = current_scope (); |
| if (!scope || TREE_CODE (scope) != FUNCTION_DECL) |
| { |
| error ("braced-group within expression allowed only inside a function"); |
| YYERROR; |
| } |
| if (pedantic) |
| pedwarn ("ANSI C++ forbids braced-groups within expressions"); |
| yyval.ttype = begin_stmt_expr (); |
| ; |
| break;} |
| case 313: |
| #line 1435 "parse.y" |
| { yyval.ttype = finish_stmt_expr (yyvsp[-2].ttype, yyvsp[-1].ttype); ; |
| break;} |
| case 314: |
| #line 1440 "parse.y" |
| { yyval.ttype = finish_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype, 1); ; |
| break;} |
| case 315: |
| #line 1442 "parse.y" |
| { yyval.ttype = finish_call_expr (yyvsp[-1].ttype, NULL_TREE, 1); ; |
| break;} |
| case 316: |
| #line 1444 "parse.y" |
| { yyval.ttype = finish_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype, 0); ; |
| break;} |
| case 317: |
| #line 1446 "parse.y" |
| { yyval.ttype = finish_call_expr (yyvsp[-1].ttype, NULL_TREE, 0); ; |
| break;} |
| case 318: |
| #line 1448 "parse.y" |
| { yyval.ttype = grok_array_decl (yyval.ttype, yyvsp[-1].ttype); ; |
| break;} |
| case 319: |
| #line 1450 "parse.y" |
| { yyval.ttype = finish_increment_expr (yyvsp[-1].ttype, POSTINCREMENT_EXPR); ; |
| break;} |
| case 320: |
| #line 1452 "parse.y" |
| { yyval.ttype = finish_increment_expr (yyvsp[-1].ttype, POSTDECREMENT_EXPR); ; |
| break;} |
| case 321: |
| #line 1455 "parse.y" |
| { yyval.ttype = finish_this_expr (); ; |
| break;} |
| case 322: |
| #line 1457 "parse.y" |
| { |
| /* This is a C cast in C++'s `functional' notation |
| using the "implicit int" extension so that: |
| `const (3)' is equivalent to `const int (3)'. */ |
| tree type; |
| |
| if (yyvsp[-1].ttype == error_mark_node) |
| { |
| yyval.ttype = error_mark_node; |
| break; |
| } |
| |
| type = cp_build_qualified_type (integer_type_node, |
| cp_type_qual_from_rid (yyvsp[-3].ttype)); |
| yyval.ttype = build_c_cast (type, build_compound_expr (yyvsp[-1].ttype)); |
| ; |
| break;} |
| case 324: |
| #line 1475 "parse.y" |
| { tree type = groktypename (yyvsp[-4].ftype.t); |
| check_for_new_type ("dynamic_cast", yyvsp[-4].ftype); |
| yyval.ttype = build_dynamic_cast (type, yyvsp[-1].ttype); ; |
| break;} |
| case 325: |
| #line 1479 "parse.y" |
| { tree type = groktypename (yyvsp[-4].ftype.t); |
| check_for_new_type ("static_cast", yyvsp[-4].ftype); |
| yyval.ttype = build_static_cast (type, yyvsp[-1].ttype); ; |
| break;} |
| case 326: |
| #line 1483 "parse.y" |
| { tree type = groktypename (yyvsp[-4].ftype.t); |
| check_for_new_type ("reinterpret_cast", yyvsp[-4].ftype); |
| yyval.ttype = build_reinterpret_cast (type, yyvsp[-1].ttype); ; |
| break;} |
| case 327: |
| #line 1487 "parse.y" |
| { tree type = groktypename (yyvsp[-4].ftype.t); |
| check_for_new_type ("const_cast", yyvsp[-4].ftype); |
| yyval.ttype = build_const_cast (type, yyvsp[-1].ttype); ; |
| break;} |
| case 328: |
| #line 1491 "parse.y" |
| { yyval.ttype = build_x_typeid (yyvsp[-1].ttype); ; |
| break;} |
| case 329: |
| #line 1493 "parse.y" |
| { tree type = groktypename (yyvsp[-1].ftype.t); |
| check_for_new_type ("typeid", yyvsp[-1].ftype); |
| yyval.ttype = get_typeid (TYPE_MAIN_VARIANT (type)); ; |
| break;} |
| case 330: |
| #line 1497 "parse.y" |
| { yyval.ttype = do_scoped_id (yyvsp[0].ttype, 1); ; |
| break;} |
| case 331: |
| #line 1499 "parse.y" |
| { yyval.ttype = yyvsp[0].ttype; ; |
| break;} |
| case 332: |
| #line 1501 "parse.y" |
| { |
| got_scope = NULL_TREE; |
| if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE) |
| yyval.ttype = do_scoped_id (yyvsp[0].ttype, 1); |
| else |
| yyval.ttype = yyvsp[0].ttype; |
| ; |
| break;} |
| case 333: |
| #line 1509 "parse.y" |
| { yyval.ttype = build_offset_ref (OP0 (yyval.ttype), OP1 (yyval.ttype)); ; |
| break;} |
| case 334: |
| #line 1511 "parse.y" |
| { yyval.ttype = finish_qualified_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype); ; |
| break;} |
| case 335: |
| #line 1513 "parse.y" |
| { yyval.ttype = finish_qualified_call_expr (yyvsp[-1].ttype, NULL_TREE); ; |
| break;} |
| case 336: |
| #line 1515 "parse.y" |
| { |
| yyval.ttype = build_x_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1); |
| ; |
| break;} |
| case 337: |
| #line 1519 "parse.y" |
| { yyval.ttype = finish_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ; |
| break;} |
| case 338: |
| #line 1521 "parse.y" |
| { yyval.ttype = finish_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ; |
| break;} |
| case 339: |
| #line 1523 "parse.y" |
| { yyval.ttype = build_x_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1); ; |
| break;} |
| case 340: |
| #line 1525 "parse.y" |
| { if (processing_template_decl) |
| yyval.ttype = build_min_nt (COMPONENT_REF, yyvsp[-1].ttype, copy_to_permanent (yyvsp[0].ttype)); |
| else |
| yyval.ttype = build_object_ref (yyval.ttype, OP0 (yyvsp[0].ttype), OP1 (yyvsp[0].ttype)); ; |
| break;} |
| case 341: |
| #line 1530 "parse.y" |
| { yyval.ttype = finish_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ; |
| break;} |
| case 342: |
| #line 1532 "parse.y" |
| { yyval.ttype = finish_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ; |
| break;} |
| case 343: |
| #line 1534 "parse.y" |
| { yyval.ttype = finish_qualified_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ; |
| break;} |
| case 344: |
| #line 1536 "parse.y" |
| { yyval.ttype = finish_qualified_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ; |
| break;} |
| case 345: |
| #line 1539 "parse.y" |
| { yyval.ttype = finish_pseudo_destructor_call_expr (yyvsp[-3].ttype, NULL_TREE, yyvsp[-1].ttype); ; |
| break;} |
| case 346: |
| #line 1541 "parse.y" |
| { yyval.ttype = finish_pseudo_destructor_call_expr (yyvsp[-5].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ; |
| break;} |
| case 347: |
| #line 1543 "parse.y" |
| { |
| yyval.ttype = error_mark_node; |
| ; |
| break;} |
| case 348: |
| #line 1588 "parse.y" |
| { yyval.itype = 0; ; |
| break;} |
| case 349: |
| #line 1590 "parse.y" |
| { got_scope = NULL_TREE; yyval.itype = 1; ; |
| break;} |
| case 350: |
| #line 1595 "parse.y" |
| { yyval.itype = 0; ; |
| break;} |
| case 351: |
| #line 1597 "parse.y" |
| { got_scope = NULL_TREE; yyval.itype = 1; ; |
| break;} |
| case 352: |
| #line 1602 "parse.y" |
| { yyval.ttype = boolean_true_node; ; |
| break;} |
| case 353: |
| #line 1604 "parse.y" |
| { yyval.ttype = boolean_false_node; ; |
| break;} |
| case 355: |
| #line 1611 "parse.y" |
| { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ; |
| break;} |
| case 356: |
| #line 1616 "parse.y" |
| { |
| if (! current_function_parms_stored) |
| store_parm_decls (); |
| setup_vtbl_ptr (); |
| /* Always keep the BLOCK node associated with the outermost |
| pair of curley braces of a function. These are needed |
| for correct operation of dwarfout.c. */ |
| keep_next_level (); |
| ; |
| break;} |
| case 357: |
| #line 1629 "parse.y" |
| { got_object = TREE_TYPE (yyval.ttype); ; |
| break;} |
| case 358: |
| #line 1631 "parse.y" |
| { |
| yyval.ttype = build_x_arrow (yyval.ttype); |
| got_object = TREE_TYPE (yyval.ttype); |
| ; |
| break;} |
| case 359: |
| #line 1639 "parse.y" |
| { |
| resume_momentary (yyvsp[-1].itype); |
| if (yyvsp[-2].ftype.t && IS_AGGR_TYPE_CODE (TREE_CODE (yyvsp[-2].ftype.t))) |
| note_got_semicolon (yyvsp[-2].ftype.t); |
| ; |
| break;} |
| case 360: |
| #line 1645 "parse.y" |
| { |
| resume_momentary (yyvsp[-1].itype); |
| note_list_got_semicolon (yyvsp[-2].ftype.t); |
| ; |
| break;} |
| case 361: |
| #line 1650 "parse.y" |
| { resume_momentary (yyvsp[-1].itype); ; |
| break;} |
| case 362: |
| #line 1652 "parse.y" |
| { |
| shadow_tag (yyvsp[-1].ftype.t); |
| note_list_got_semicolon (yyvsp[-1].ftype.t); |
| ; |
| break;} |
| case 363: |
| #line 1657 "parse.y" |
| { warning ("empty declaration"); ; |
| break;} |
| case 364: |
| #line 1659 "parse.y" |
| { pedantic = yyvsp[-1].itype; ; |
| break;} |
| case 367: |
| #line 1673 "parse.y" |
| { yyval.ttype = make_call_declarator (NULL_TREE, empty_parms (), |
| NULL_TREE, NULL_TREE); ; |
| break;} |
| case 368: |
| #line 1676 "parse.y" |
| { yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), NULL_TREE, |
| NULL_TREE); ; |
| break;} |
| case 369: |
| #line 1683 "parse.y" |
| { yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype); |
| yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; |
| break;} |
| case 370: |
| #line 1686 "parse.y" |
| { yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype); |
| yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; |
| break;} |
| case 371: |
| #line 1689 "parse.y" |
| { yyval.ftype.t = build_decl_list (build_decl_list (NULL_TREE, yyvsp[-1].ftype.t), |
| yyvsp[0].ttype); |
| yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; |
| break;} |
| case 372: |
| #line 1693 "parse.y" |
| { yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE); |
| yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ; |
| break;} |
| case 373: |
| #line 1696 "parse.y" |
| { yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE); |
| yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ; |
| break;} |
| case 376: |
| #line 1712 "parse.y" |
| { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ttype); |
| yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ; |
| break;} |
| case 377: |
| #line 1715 "parse.y" |
| { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype); |
| yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; |
| break;} |
| case 378: |
| #line 1718 "parse.y" |
| { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-2].ftype.t, chainon (yyvsp[-1].ttype, yyvsp[0].ttype)); |
| yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ; |
| break;} |
| case 379: |
| #line 1721 "parse.y" |
| { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ttype)); |
| yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; |
| break;} |
| case 380: |
| #line 1724 "parse.y" |
| { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ttype)); |
| yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; |
| break;} |
| case 381: |
| #line 1727 "parse.y" |
| { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-2].ftype.t, |
| chainon (yyvsp[-1].ttype, chainon (yyvsp[0].ttype, yyvsp[-3].ttype))); |
| yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ; |
| break;} |
| case 382: |
| #line 1734 "parse.y" |
| { if (extra_warnings) |
| warning ("`%s' is not at beginning of declaration", |
| IDENTIFIER_POINTER (yyval.ttype)); |
| yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ; |
| break;} |
| case 383: |
| #line 1739 "parse.y" |
| { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyval.ttype); ; |
| break;} |
| case 384: |
| #line 1741 "parse.y" |
| { if (extra_warnings) |
| warning ("`%s' is not at beginning of declaration", |
| IDENTIFIER_POINTER (yyvsp[0].ttype)); |
| yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ; |
| break;} |
| case 385: |
| #line 1746 "parse.y" |
| { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ; |
| break;} |
| case 386: |
| #line 1748 "parse.y" |
| { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ; |
| break;} |
| case 387: |
| #line 1767 "parse.y" |
| { yyval.ttype = yyvsp[0].ftype.t; TREE_STATIC (yyval.ttype) = 1; ; |
| break;} |
| case 388: |
| #line 1769 "parse.y" |
| { yyval.ttype = hash_tree_cons (NULL_TREE, yyval.ttype, NULL_TREE); ; |
| break;} |
| case 389: |
| #line 1771 "parse.y" |
| { yyval.ttype = hash_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); |
| TREE_STATIC (yyval.ttype) = 1; ; |
| break;} |
| case 390: |
| #line 1774 "parse.y" |
| { if (extra_warnings && TREE_STATIC (yyval.ttype)) |
| warning ("`%s' is not at beginning of declaration", |
| IDENTIFIER_POINTER (yyvsp[0].ttype)); |
| yyval.ttype = hash_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); |
| TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ; |
| break;} |
| case 391: |
| #line 1780 "parse.y" |
| { yyval.ttype = hash_tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ; |
| break;} |
| case 392: |
| #line 1782 "parse.y" |
| { yyval.ttype = hash_tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ; |
| break;} |
| case 393: |
| #line 1793 "parse.y" |
| { yyval.ftype.t = build_decl_list (NULL_TREE, yyvsp[0].ftype.t); |
| yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ; |
| break;} |
| case 394: |
| #line 1796 "parse.y" |
| { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ftype.t); |
| yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ; |
| break;} |
| case 395: |
| #line 1799 "parse.y" |
| { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype); |
| yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; |
| break;} |
| case 396: |
| #line 1802 "parse.y" |
| { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ftype.t)); |
| yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ; |
| break;} |
| case 397: |
| #line 1808 "parse.y" |
| { yyval.ttype = build_decl_list (NULL_TREE, yyvsp[0].ftype.t); ; |
| break;} |
| case 398: |
| #line 1810 "parse.y" |
| { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ttype); ; |
| break;} |
| case 400: |
| #line 1820 "parse.y" |
| { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ; |
| break;} |
| case 401: |
| #line 1822 "parse.y" |
| { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ; |
| break;} |
| case 402: |
| #line 1824 "parse.y" |
| { yyval.ftype.t = finish_typeof (yyvsp[-1].ttype); |
| yyval.ftype.new_type_flag = 0; ; |
| break;} |
| case 403: |
| #line 1827 "parse.y" |
| { yyval.ftype.t = groktypename (yyvsp[-1].ftype.t); |
| yyval.ftype.new_type_flag = 0; ; |
| break;} |
| case 404: |
| #line 1830 "parse.y" |
| { tree type = TREE_TYPE (yyvsp[-1].ttype); |
| |
| yyval.ftype.new_type_flag = 0; |
| if (IS_AGGR_TYPE (type)) |
| { |
| sorry ("sigof type specifier"); |
| yyval.ftype.t = type; |
| } |
| else |
| { |
| error ("`sigof' applied to non-aggregate expression"); |
| yyval.ftype.t = error_mark_node; |
| } |
| ; |
| break;} |
| case 405: |
| #line 1845 "parse.y" |
| { tree type = groktypename (yyvsp[-1].ftype.t); |
| |
| yyval.ftype.new_type_flag = 0; |
| if (IS_AGGR_TYPE (type)) |
| { |
| sorry ("sigof type specifier"); |
| yyval.ftype.t = type; |
| } |
| else |
| { |
| error("`sigof' applied to non-aggregate type"); |
| yyval.ftype.t = error_mark_node; |
| } |
| ; |
| break;} |
| case 406: |
| #line 1865 "parse.y" |
| { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ; |
| break;} |
| case 407: |
| #line 1867 "parse.y" |
| { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ; |
| break;} |
| case 410: |
| #line 1874 "parse.y" |
| { check_multiple_declarators (); ; |
| break;} |
| case 412: |
| #line 1880 "parse.y" |
| { check_multiple_declarators (); ; |
| break;} |
| case 414: |
| #line 1886 "parse.y" |
| { check_multiple_declarators (); ; |
| break;} |
| case 415: |
| #line 1891 "parse.y" |
| { yyval.ttype = NULL_TREE; ; |
| break;} |
| case 416: |
| #line 1893 "parse.y" |
| { if (TREE_CHAIN (yyvsp[-1].ttype)) yyvsp[-1].ttype = combine_strings (yyvsp[-1].ttype); yyval.ttype = yyvsp[-1].ttype; ; |
| break;} |
| case 417: |
| #line 1898 "parse.y" |
| { yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1, |
| yyvsp[-1].ttype, prefix_attributes); ; |
| break;} |
| case 418: |
| #line 1902 "parse.y" |
| { cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 1, LOOKUP_ONLYCONVERTING); ; |
| break;} |
| case 419: |
| #line 1904 "parse.y" |
| { yyval.ttype = start_decl (yyvsp[-2].ttype, current_declspecs, 0, |
| yyvsp[0].ttype, prefix_attributes); |
| cp_finish_decl (yyval.ttype, NULL_TREE, yyvsp[-1].ttype, 1, 0); ; |
| break;} |
| case 420: |
| #line 1917 "parse.y" |
| { yyvsp[0].itype = parse_decl (yyvsp[-3].ttype, yyvsp[-4].ttype, |
| yyvsp[-1].ttype, 1, &yyval.ttype); ; |
| break;} |
| case 421: |
| #line 1922 "parse.y" |
| { cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 1, |
| LOOKUP_ONLYCONVERTING); |
| yyval.itype = yyvsp[-2].itype; ; |
| break;} |
| case 422: |
| #line 1926 "parse.y" |
| { tree d; |
| yyval.itype = parse_decl (yyvsp[-2].ttype, yyvsp[-3].ttype, yyvsp[0].ttype, 0, &d); |
| cp_finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 1, 0); ; |
| break;} |
| case 423: |
| #line 1933 "parse.y" |
| { yyval.itype = yyvsp[0].itype; ; |
| break;} |
| case 424: |
| #line 1937 "parse.y" |
| { yyval.itype = yyvsp[0].itype; ; |
| break;} |
| case 425: |
| #line 1942 "parse.y" |
| { /* Set things up as initdcl0_innards expects. */ |
| yyvsp[0].ttype = yyvsp[-1].ttype; |
| yyvsp[-1].ttype = NULL_TREE; ; |
| break;} |
| case 426: |
| #line 1946 "parse.y" |
| {; |
| break;} |
| case 427: |
| #line 1948 "parse.y" |
| { tree d; |
| parse_decl(yyvsp[-2].ttype, NULL_TREE, yyvsp[0].ttype, 0, &d); |
| cp_finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 1, 0); ; |
| break;} |
| case 428: |
| #line 1957 "parse.y" |
| { yyval.ttype = NULL_TREE; ; |
| break;} |
| case 429: |
| #line 1959 "parse.y" |
| { yyval.ttype = yyvsp[0].ttype; ; |
| break;} |
| case 430: |
| #line 1964 "parse.y" |
| { yyval.ttype = yyvsp[0].ttype; ; |
| break;} |
| case 431: |
| #line 1966 "parse.y" |
| { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ; |
| break;} |
| case 432: |
| #line 1971 "parse.y" |
| { yyval.ttype = yyvsp[-2].ttype; ; |
| break;} |
| case 433: |
| #line 1976 "parse.y" |
| { yyval.ttype = yyvsp[0].ttype; ; |
| break;} |
| case 434: |
| #line 1978 "parse.y" |
| { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ; |
| break;} |
| case 435: |
| #line 1983 "parse.y" |
| { yyval.ttype = NULL_TREE; ; |
| break;} |
| case 436: |
| #line 1985 "parse.y" |
| { yyval.ttype = build_tree_list (yyvsp[0].ttype, NULL_TREE); ; |
| break;} |
| case 437: |
| #line 1987 "parse.y" |
| { yyval.ttype = build_tree_list (yyvsp[-3].ttype, build_tree_list (NULL_TREE, yyvsp[-1].ttype)); ; |
| break;} |
| case 438: |
| #line 1989 "parse.y" |
| { yyval.ttype = build_tree_list (yyvsp[-5].ttype, tree_cons (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype)); ; |
| break;} |
| case 439: |
| #line 1991 "parse.y" |
| { yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ; |
| break;} |
| case 444: |
| #line 2007 "parse.y" |
| { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ; |
| break;} |
| case 445: |
| #line 2009 "parse.y" |
| { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ; |
| break;} |
| case 446: |
| #line 2014 "parse.y" |
| { yyval.ttype = NULL_TREE; ; |
| break;} |
| case 447: |
| #line 2016 "parse.y" |
| { yyval.ttype = yyvsp[0].ttype; ; |
| break;} |
| case 449: |
| #line 2024 "parse.y" |
| { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, NULL_TREE); |
| TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ; |
| break;} |
| case 450: |
| #line 2027 "parse.y" |
| { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-1].ttype)); |
| TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ; |
| break;} |
| case 451: |
| #line 2030 "parse.y" |
| { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-2].ttype)); |
| TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ; |
| break;} |
| case 452: |
| #line 2033 "parse.y" |
| { yyval.ttype = NULL_TREE; ; |
| break;} |
| case 453: |
| #line 2040 "parse.y" |
| { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ; |
| break;} |
| case 454: |
| #line 2042 "parse.y" |
| { yyval.ttype = expr_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ; |
| break;} |
| case 455: |
| #line 2045 "parse.y" |
| { yyval.ttype = build_expr_list (yyvsp[-2].ttype, yyvsp[0].ttype); ; |
| break;} |
| case 456: |
| #line 2047 "parse.y" |
| { yyval.ttype = build_expr_list (yyval.ttype, yyvsp[0].ttype); ; |
| break;} |
| case 457: |
| #line 2049 "parse.y" |
| { yyval.ttype = expr_tree_cons (yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype); ; |
| break;} |
| case 458: |
| #line 2054 "parse.y" |
| { start_function (NULL_TREE, TREE_VALUE (yyvsp[0].ttype), |
| NULL_TREE, 2); |
| reinit_parse_for_function (); ; |
| break;} |
| case 459: |
| #line 2060 "parse.y" |
| { |
| int nested = (hack_decl_function_context |
| (current_function_decl) != NULL_TREE); |
| finish_function (lineno, (int)yyvsp[-1].itype | 2, nested); |
| process_next_inline (yyvsp[-3].ttype); |
| ; |
| break;} |
| case 460: |
| #line 2067 "parse.y" |
| { |
| int nested = (hack_decl_function_context |
| (current_function_decl) != NULL_TREE); |
| finish_function (lineno, (int)yyvsp[0].itype | 2, nested); |
| process_next_inline (yyvsp[-2].ttype); |
| ; |
| break;} |
| case 461: |
| #line 2074 "parse.y" |
| { process_next_inline (yyvsp[-2].ttype); ; |
| break;} |
| case 464: |
| #line 2086 "parse.y" |
| { replace_defarg (yyvsp[-2].ttype, yyvsp[-1].ttype); ; |
| break;} |
| case 465: |
| #line 2088 "parse.y" |
| { replace_defarg (yyvsp[-2].ttype, error_mark_node); ; |
| break;} |
| case 467: |
| #line 2093 "parse.y" |
| { do_pending_defargs (); ; |
| break;} |
| case 468: |
| #line 2095 "parse.y" |
| { do_pending_defargs (); ; |
| break;} |
| case 469: |
| #line 2100 "parse.y" |
| { yyvsp[0].itype = suspend_momentary (); |
| yyval.ttype = current_enum_type; |
| current_enum_type = start_enum (yyvsp[-1].ttype); ; |
| break;} |
| case 470: |
| #line 2104 "parse.y" |
| { TYPE_VALUES (current_enum_type) = yyvsp[-2].ttype; |
| yyval.ftype.t = finish_enum (current_enum_type); |
| yyval.ftype.new_type_flag = 1; |
| current_enum_type = yyvsp[-3].ttype; |
| resume_momentary ((int) yyvsp[-4].itype); |
| check_for_missing_semicolon (yyval.ftype.t); ; |
| break;} |
| case 471: |
| #line 2111 "parse.y" |
| { yyval.ftype.t = finish_enum (start_enum (yyvsp[-2].ttype)); |
| yyval.ftype.new_type_flag = 1; |
| check_for_missing_semicolon (yyval.ftype.t); ; |
| break;} |
| case 472: |
| #line 2115 "parse.y" |
| { yyvsp[0].itype = suspend_momentary (); |
| yyval.ttype = current_enum_type; |
| current_enum_type = start_enum (make_anon_name ()); ; |
| break;} |
| case 473: |
| #line 2119 "parse.y" |
| { TYPE_VALUES (current_enum_type) = yyvsp[-2].ttype; |
| yyval.ftype.t = finish_enum (current_enum_type); |
| yyval.ftype.new_type_flag = 1; |
| current_enum_type = yyvsp[-3].ttype; |
| resume_momentary ((int) yyvsp[-5].itype); |
| check_for_missing_semicolon (yyval.ftype.t); ; |
| break;} |
| case 474: |
| #line 2126 "parse.y" |
| { yyval.ftype.t = finish_enum (start_enum (make_anon_name())); |
| yyval.ftype.new_type_flag = 1; |
| check_for_missing_semicolon (yyval.ftype.t); ; |
| break;} |
| case 475: |
| #line 2130 "parse.y" |
| { yyval.ftype.t = xref_tag (enum_type_node, yyvsp[0].ttype, 1); |
| yyval.ftype.new_type_flag = 0; ; |
| break;} |
| case 476: |
| #line 2133 "parse.y" |
| { yyval.ftype.t = xref_tag (enum_type_node, yyvsp[0].ttype, 1); |
| yyval.ftype.new_type_flag = 0; ; |
| break;} |
| case 477: |
| #line 2136 "parse.y" |
| { yyval.ftype.t = yyvsp[0].ttype; |
| yyval.ftype.new_type_flag = 0; |
| if (!processing_template_decl) |
| cp_pedwarn ("using `typename' outside of template"); ; |
| break;} |
| case 478: |
| #line 2142 "parse.y" |
| { yyvsp[-1].ttype = begin_class_definition (yyvsp[-1].ttype); ; |
| break;} |
| case 479: |
| #line 2144 "parse.y" |
| { |
| int semi; |
| |
| if (yychar == YYEMPTY) |
| yychar = YYLEX; |
| semi = yychar == ';'; |
| |
| yyval.ttype = finish_class_definition (yyvsp[-5].ttype, yyvsp[0].ttype, semi); |
| ; |
| break;} |
| case 480: |
| #line 2154 "parse.y" |
| { |
| begin_inline_definitions (); |
| ; |
| break;} |
| case 481: |
| #line 2158 "parse.y" |
| { |
| finish_inline_definitions (); |
| yyval.ftype.t = yyvsp[-3].ttype; |
| yyval.ftype.new_type_flag = 1; |
| ; |
| break;} |
| case 482: |
| #line 2164 "parse.y" |
| { |
| yyval.ftype.new_type_flag = 0; |
| if (TYPE_BINFO (yyvsp[0].ttype) == NULL_TREE) |
| { |
| cp_error ("%T is not a class type", yyvsp[0].ttype); |
| yyval.ftype.t = error_mark_node; |
| } |
| else |
| { |
| yyval.ftype.t = yyvsp[0].ttype; |
| /* struct B: public A; is not accepted by the WP grammar. */ |
| if (TYPE_BINFO_BASETYPES (yyval.ftype.t) && !TYPE_SIZE (yyval.ftype.t) |
| && ! TYPE_BEING_DEFINED (yyval.ftype.t)) |
| cp_error ("base clause without member specification for `%#T'", |
| yyval.ftype.t); |
| } |
| ; |
| break;} |
| case 486: |
| #line 2191 "parse.y" |
| { if (pedantic && !in_system_header) |
| pedwarn ("comma at end of enumerator list"); ; |
| break;} |
| case 488: |
| #line 2198 "parse.y" |
| { error ("storage class specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ; |
| break;} |
| case 489: |
| #line 2200 "parse.y" |
| { error ("type specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ; |
| break;} |
| case 490: |
| #line 2202 "parse.y" |
| { error ("type qualifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ; |
| break;} |
| case 491: |
| #line 2204 "parse.y" |
| { error ("no body nor ';' separates two class, struct or union declarations"); ; |
| break;} |
| case 492: |
| #line 2206 "parse.y" |
| { yyval.ttype = build_decl_list (yyvsp[0].ttype, yyvsp[-1].ttype); ; |
| break;} |
| case 493: |
| #line 2211 "parse.y" |
| { |
| current_aggr = yyvsp[-1].ttype; |
| yyval.ttype = yyvsp[0].ttype; |
| ; |
| break;} |
| case 494: |
| #line 2219 "parse.y" |
| { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ; |
| break;} |
| case 495: |
| #line 2221 "parse.y" |
| { yyungetc ('{', 1); ; |
| break;} |
| case 496: |
| #line 2223 "parse.y" |
| { yyungetc (':', 1); ; |
| break;} |
| case 497: |
| #line 2228 "parse.y" |
| { |
| current_aggr = yyvsp[-2].ttype; |
| yyval.ttype = handle_class_head (yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); |
| ; |
| break;} |
| case 498: |
| #line 2233 "parse.y" |
| { |
| current_aggr = yyvsp[-3].ttype; |
| yyval.ttype = handle_class_head (yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); |
| ; |
| break;} |
| case 499: |
| #line 2238 "parse.y" |
| { |
| current_aggr = yyvsp[-2].ttype; |
| yyval.ttype = handle_class_head (yyvsp[-2].ttype, NULL_TREE, yyvsp[0].ttype); |
| ; |
| break;} |
| case 500: |
| #line 2243 "parse.y" |
| { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ; |
| break;} |
| case 501: |
| #line 2245 "parse.y" |
| { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ; |
| break;} |
| case 502: |
| #line 2250 "parse.y" |
| { yyval.ttype = xref_tag (current_aggr, yyvsp[0].ttype, 1); ; |
| break;} |
| case 503: |
| #line 2252 "parse.y" |
| { yyval.ttype = xref_tag (current_aggr, yyvsp[0].ttype, 0); ; |
| break;} |
| case 504: |
| #line 2256 "parse.y" |
| { |
| yyval.ttype = yyvsp[-1].ttype; |
| if (yyvsp[0].ttype) |
| xref_basetypes (current_aggr, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); |
| ; |
| break;} |
| case 505: |
| #line 2262 "parse.y" |
| { |
| if (yyvsp[0].ttype != error_mark_node) |
| push_scope (CP_DECL_CONTEXT (yyvsp[0].ttype)); |
| ; |
| break;} |
| case 506: |
| #line 2267 "parse.y" |
| { |
| if (yyvsp[-2].ttype != error_mark_node) |
| { |
| pop_scope (CP_DECL_CONTEXT (yyvsp[-2].ttype)); |
| yyval.ttype = TREE_TYPE (yyvsp[-2].ttype); |
| if (current_aggr == union_type_node |
| && TREE_CODE (yyval.ttype) != UNION_TYPE) |
| cp_pedwarn ("`union' tag used in declaring `%#T'", yyval.ttype); |
| else if (TREE_CODE (yyval.ttype) == UNION_TYPE |
| && current_aggr != union_type_node) |
| cp_pedwarn ("non-`union' tag used in declaring `%#T'", yyval.ttype); |
| else if (TREE_CODE (yyval.ttype) == RECORD_TYPE) |
| /* We might be specializing a template with a different |
| class-key; deal. */ |
| CLASSTYPE_DECLARED_CLASS (yyval.ttype) = (current_aggr |
| == class_type_node); |
| if (yyvsp[0].ttype) |
| { |
| maybe_process_partial_specialization (yyval.ttype); |
| xref_basetypes (current_aggr, yyvsp[-2].ttype, yyval.ttype, yyvsp[0].ttype); |
| } |
| } |
| ; |
| break;} |
| case 507: |
| #line 2294 "parse.y" |
| { yyval.ttype = xref_tag (yyval.ttype, make_anon_name (), 0); |
| yyungetc ('{', 1); ; |
| break;} |
| case 510: |
| #line 2305 "parse.y" |
| { yyval.ttype = NULL_TREE; ; |
| break;} |
| case 511: |
| #line 2307 "parse.y" |
| { yyungetc(':', 1); yyval.ttype = NULL_TREE; ; |
| break;} |
| case 512: |
| #line 2309 "parse.y" |
| { yyval.ttype = yyvsp[0].ttype; ; |
| break;} |
| case 514: |
| #line 2315 "parse.y" |
| { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ; |
| break;} |
| case 515: |
| #line 2320 "parse.y" |
| { yyval.ttype = finish_base_specifier (access_default_node, yyvsp[0].ttype, |
| current_aggr |
| == signature_type_node); ; |
| break;} |
| case 516: |
| #line 2324 "parse.y" |
| { yyval.ttype = finish_base_specifier (yyvsp[-2].ttype, yyvsp[0].ttype, |
| current_aggr |
| == signature_type_node); ; |
| break;} |
| case 517: |
| #line 2331 "parse.y" |
| { if (yyval.ttype != error_mark_node) yyval.ttype = TYPE_MAIN_DECL (yyvsp[0].ttype); ; |
| break;} |
| case 519: |
| #line 2334 "parse.y" |
| { |
| if (current_aggr == signature_type_node) |
| { |
| if (IS_AGGR_TYPE (TREE_TYPE (yyvsp[-1].ttype))) |
| { |
| sorry ("`sigof' as base signature specifier"); |
| yyval.ttype = TREE_TYPE (yyvsp[-1].ttype); |
| } |
| else |
| { |
| error ("`sigof' applied to non-aggregate expression"); |
| yyval.ttype = error_mark_node; |
| } |
| } |
| else |
| { |
| error ("`sigof' in struct or class declaration"); |
| yyval.ttype = error_mark_node; |
| } |
| ; |
| break;} |
| case 520: |
| #line 2355 "parse.y" |
| { |
| if (current_aggr == signature_type_node) |
| { |
| if (IS_AGGR_TYPE (groktypename (yyvsp[-1].ftype.t))) |
| { |
| sorry ("`sigof' as base signature specifier"); |
| yyval.ttype = groktypename (yyvsp[-1].ftype.t); |
| } |
| else |
| { |
| error ("`sigof' applied to non-aggregate expression"); |
| yyval.ttype = error_mark_node; |
| } |
| } |
| else |
| { |
| error ("`sigof' in struct or class declaration"); |
| yyval.ttype = error_mark_node; |
| } |
| ; |
| break;} |
| case 522: |
| #line 2380 "parse.y" |
| { if (yyvsp[-1].ttype != ridpointers[(int)RID_VIRTUAL]) |
| cp_error ("`%D' access", yyvsp[-1].ttype); |
| yyval.ttype = access_default_virtual_node; ; |
| break;} |
| case 523: |
| #line 2384 "parse.y" |
| { |
| if (yyvsp[-2].ttype != access_default_virtual_node) |
| error ("multiple access specifiers"); |
| else if (yyvsp[-1].ttype == access_public_node) |
| yyval.ttype = access_public_virtual_node; |
| else if (yyvsp[-1].ttype == access_protected_node) |
| yyval.ttype = access_protected_virtual_node; |
| else /* $2 == access_private_node */ |
| yyval.ttype = access_private_virtual_node; |
| ; |
| break;} |
| case 524: |
| #line 2395 "parse.y" |
| { if (yyvsp[-1].ttype != ridpointers[(int)RID_VIRTUAL]) |
| cp_error ("`%D' access", yyvsp[-1].ttype); |
| else if (yyval.ttype == access_public_node) |
| yyval.ttype = access_public_virtual_node; |
| else if (yyval.ttype == access_protected_node) |
| yyval.ttype = access_protected_virtual_node; |
| else if (yyval.ttype == access_private_node) |
| yyval.ttype = access_private_virtual_node; |
| else |
| error ("multiple `virtual' specifiers"); |
| ; |
| break;} |
| case 529: |
| #line 2416 "parse.y" |
| { |
| if (current_aggr == signature_type_node) |
| { |
| error ("access specifier not allowed in signature"); |
| yyvsp[-1].ttype = access_public_node; |
| } |
| |
| current_access_specifier = yyvsp[-1].ttype; |
| ; |
| break;} |
| case 530: |
| #line 2431 "parse.y" |
| { |
| finish_member_declaration (yyvsp[0].ttype); |
| ; |
| break;} |
| case 531: |
| #line 2435 "parse.y" |
| { |
| finish_member_declaration (yyvsp[0].ttype); |
| ; |
| break;} |
| case 533: |
| #line 2443 "parse.y" |
| { error ("missing ';' before right brace"); |
| yyungetc ('}', 0); ; |
| break;} |
| case 534: |
| #line 2448 "parse.y" |
| { yyval.ttype = finish_method (yyval.ttype); ; |
| break;} |
| case 535: |
| #line 2450 "parse.y" |
| { yyval.ttype = finish_method (yyval.ttype); ; |
| break;} |
| case 536: |
| #line 2452 "parse.y" |
| { yyval.ttype = finish_method (yyval.ttype); ; |
| break;} |
| case 537: |
| #line 2454 "parse.y" |
| { yyval.ttype = finish_method (yyval.ttype); ; |
| break;} |
| case 538: |
| #line 2456 "parse.y" |
| { yyval.ttype = NULL_TREE; ; |
| break;} |
| case 539: |
| #line 2458 "parse.y" |
| { yyval.ttype = yyvsp[0].ttype; |
| pedantic = yyvsp[-1].itype; ; |
| break;} |
| case 540: |
| #line 2461 "parse.y" |
| { |
| if (yyvsp[0].ttype) |
| yyval.ttype = finish_member_template_decl (yyvsp[0].ttype); |
| else |
| /* The component was already processed. */ |
| yyval.ttype = NULL_TREE; |
| |
| finish_template_decl (yyvsp[-1].ttype); |
| ; |
| break;} |
| case 541: |
| #line 2471 "parse.y" |
| { |
| yyval.ttype = finish_member_class_template (yyvsp[-1].ftype.t); |
| finish_template_decl (yyvsp[-2].ttype); |
| ; |
| break;} |
| case 542: |
| #line 2482 "parse.y" |
| { |
| /* Most of the productions for component_decl only |
| allow the creation of one new member, so we call |
| finish_member_declaration in component_decl_list. |
| For this rule and the next, however, there can be |
| more than one member, e.g.: |
| |
| int i, j; |
| |
| and we need the first member to be fully |
| registered before the second is processed. |
| Therefore, the rules for components take care of |
| this processing. To avoid registering the |
| components more than once, we send NULL_TREE up |
| here; that lets finish_member_declaration know |
| that there is nothing to do. */ |
| if (!yyvsp[0].itype) |
| grok_x_components (yyvsp[-1].ftype.t); |
| yyval.ttype = NULL_TREE; |
| ; |
| break;} |
| case 543: |
| #line 2503 "parse.y" |
| { |
| if (!yyvsp[0].itype) |
| grok_x_components (yyvsp[-1].ttype); |
| yyval.ttype = NULL_TREE; |
| ; |
| break;} |
| case 544: |
| #line 2509 "parse.y" |
| { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype, |
| build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ; |
| break;} |
| case 545: |
| #line 2512 "parse.y" |
| { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype, |
| build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ; |
| break;} |
| case 546: |
| #line 2515 "parse.y" |
| { yyval.ttype = grokbitfield (NULL_TREE, NULL_TREE, yyvsp[0].ttype); ; |
| break;} |
| case 547: |
| #line 2517 "parse.y" |
| { yyval.ttype = NULL_TREE; ; |
| break;} |
| case 548: |
| #line 2528 "parse.y" |
| { tree specs, attrs; |
| split_specs_attrs (yyvsp[-4].ttype, &specs, &attrs); |
| yyval.ttype = grokfield (yyvsp[-3].ttype, specs, yyvsp[0].ttype, yyvsp[-2].ttype, |
| build_tree_list (yyvsp[-1].ttype, attrs)); ; |
| break;} |
| case 549: |
| #line 2533 "parse.y" |
| { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype, |
| build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ; |
| break;} |
| case 550: |
| #line 2536 "parse.y" |
| { yyval.ttype = do_class_using_decl (yyvsp[0].ttype); ; |
| break;} |
| case 551: |
| #line 2542 "parse.y" |
| { yyval.itype = 0; ; |
| break;} |
| case 552: |
| #line 2544 "parse.y" |
| { |
| if (PROCESSING_REAL_TEMPLATE_DECL_P ()) |
| yyvsp[0].ttype = finish_member_template_decl (yyvsp[0].ttype); |
| finish_member_declaration (yyvsp[0].ttype); |
| yyval.itype = 1; |
| ; |
| break;} |
| case 553: |
| #line 2551 "parse.y" |
| { |
| check_multiple_declarators (); |
| if (PROCESSING_REAL_TEMPLATE_DECL_P ()) |
| yyvsp[0].ttype = finish_member_template_decl (yyvsp[0].ttype); |
| finish_member_declaration (yyvsp[0].ttype); |
| yyval.itype = 2; |
| ; |
| break;} |
| case 554: |
| #line 2562 "parse.y" |
| { yyval.itype = 0; ; |
| break;} |
| case 555: |
| #line 2564 "parse.y" |
| { |
| if (PROCESSING_REAL_TEMPLATE_DECL_P ()) |
| yyvsp[0].ttype = finish_member_template_decl (yyvsp[0].ttype); |
| finish_member_declaration (yyvsp[0].ttype); |
| yyval.itype = 1; |
| ; |
| break;} |
| case 556: |
| #line 2571 "parse.y" |
| { |
| check_multiple_declarators (); |
| if (PROCESSING_REAL_TEMPLATE_DECL_P ()) |
| yyvsp[0].ttype = finish_member_template_decl (yyvsp[0].ttype); |
| finish_member_declaration (yyvsp[0].ttype); |
| yyval.itype = 2; |
| ; |
| break;} |
| case 561: |
| #line 2592 "parse.y" |
| { split_specs_attrs (yyvsp[-4].ttype, ¤t_declspecs, |
| &prefix_attributes); |
| yyvsp[-4].ttype = current_declspecs; |
| yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype, |
| build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ; |
| break;} |
| case 562: |
| #line 2598 "parse.y" |
| { split_specs_attrs (yyvsp[-4].ttype, ¤t_declspecs, |
| &prefix_attributes); |
| yyvsp[-4].ttype = current_declspecs; |
| yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype); |
| cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ; |
| break;} |
| case 563: |
| #line 2607 "parse.y" |
| { split_specs_attrs (yyvsp[-4].ttype, ¤t_declspecs, |
| &prefix_attributes); |
| yyvsp[-4].ttype = current_declspecs; |
| yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype, |
| build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ; |
| break;} |
| case 564: |
| #line 2613 "parse.y" |
| { split_specs_attrs (yyvsp[-4].ttype, ¤t_declspecs, |
| &prefix_attributes); |
| yyvsp[-4].ttype = current_declspecs; |
| yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype, |
| build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ; |
| break;} |
| case 565: |
| #line 2619 "parse.y" |
| { split_specs_attrs (yyvsp[-4].ttype, ¤t_declspecs, |
| &prefix_attributes); |
| yyvsp[-4].ttype = current_declspecs; |
| yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype); |
| cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ; |
| break;} |
| case 566: |
| #line 2625 "parse.y" |
| { split_specs_attrs (yyvsp[-3].ttype, ¤t_declspecs, |
| &prefix_attributes); |
| yyvsp[-3].ttype = current_declspecs; |
| yyval.ttype = grokbitfield (NULL_TREE, current_declspecs, yyvsp[-1].ttype); |
| cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ; |
| break;} |
| case 567: |
| #line 2634 "parse.y" |
| { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype, |
| build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ; |
| break;} |
| case 568: |
| #line 2637 "parse.y" |
| { yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype); |
| cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ; |
| break;} |
| case 569: |
| #line 2643 "parse.y" |
| { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype, |
| build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ; |
| break;} |
| case 570: |
| #line 2646 "parse.y" |
| { yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype); |
| cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ; |
| break;} |
| case 571: |
| #line 2649 "parse.y" |
| { yyval.ttype = grokbitfield (NULL_TREE, current_declspecs, yyvsp[-1].ttype); |
| cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ; |
| break;} |
| case 573: |
| #line 2660 "parse.y" |
| { TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ; |
| break;} |
| case 574: |
| #line 2665 "parse.y" |
| { yyval.ttype = build_enumerator (yyval.ttype, NULL_TREE, current_enum_type); ; |
| break;} |
| case 575: |
| #line 2667 "parse.y" |
| { yyval.ttype = build_enumerator (yyval.ttype, yyvsp[0].ttype, current_enum_type); ; |
| break;} |
| case 576: |
| #line 2673 "parse.y" |
| { yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype); |
| yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; |
| break;} |
| case 577: |
| #line 2676 "parse.y" |
| { yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE); |
| yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ; |
| break;} |
| case 578: |
| #line 2683 "parse.y" |
| { |
| if (pedantic) |
| pedwarn ("ANSI C++ forbids array dimensions with parenthesized type in new"); |
| yyval.ftype.t = build_parse_node (ARRAY_REF, TREE_VALUE (yyvsp[-4].ftype.t), yyvsp[-1].ttype); |
| yyval.ftype.t = build_decl_list (TREE_PURPOSE (yyvsp[-4].ftype.t), yyval.ftype.t); |
| yyval.ftype.new_type_flag = yyvsp[-4].ftype.new_type_flag; |
| ; |
| break;} |
| case 579: |
| #line 2694 "parse.y" |
| { yyval.ttype = NULL_TREE; ; |
| break;} |
| case 580: |
| #line 2696 "parse.y" |
| { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ; |
| break;} |
| case 581: |
| #line 2701 "parse.y" |
| { yyval.ftype.t = hash_tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); |
| yyval.ftype.new_type_flag = 0; ; |
| break;} |
| case 582: |
| #line 2704 "parse.y" |
| { yyval.ftype.t = hash_tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ftype.t); |
| yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; |
| break;} |
| case 583: |
| #line 2713 "parse.y" |
| { yyval.itype = suspend_momentary (); ; |
| break;} |
| case 584: |
| #line 2718 "parse.y" |
| { resume_momentary ((int) yyvsp[-1].itype); yyval.ttype = yyvsp[0].ttype; ; |
| break;} |
| case 585: |
| #line 2724 "parse.y" |
| { resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = yyvsp[-1].ttype; ; |
| break;} |
| case 586: |
| #line 2726 "parse.y" |
| { resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = yyvsp[-1].ttype; ; |
| break;} |
| case 587: |
| #line 2728 "parse.y" |
| { resume_momentary ((int) yyvsp[-1].itype); yyval.ttype = empty_parms (); ; |
| break;} |
| case 588: |
| #line 2730 "parse.y" |
| { resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = NULL_TREE; ; |
| break;} |
| case 589: |
| #line 2737 "parse.y" |
| { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ; |
| break;} |
| case 590: |
| #line 2739 "parse.y" |
| { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ; |
| break;} |
| case 591: |
| #line 2741 "parse.y" |
| { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ; |
| break;} |
| case 592: |
| #line 2743 "parse.y" |
| { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ; |
| break;} |
| case 593: |
| #line 2745 "parse.y" |
| { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); |
| yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg); |
| ; |
| break;} |
| case 595: |
| #line 2753 "parse.y" |
| { |
| if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE) |
| { |
| yyval.ttype = lookup_name (yyvsp[0].ttype, 1); |
| maybe_note_name_used_in_class (yyvsp[0].ttype, yyval.ttype); |
| } |
| else |
| yyval.ttype = yyvsp[0].ttype; |
| ; |
| break;} |
| case 596: |
| #line 2763 "parse.y" |
| { |
| if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE) |
| yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype); |
| else |
| yyval.ttype = yyvsp[0].ttype; |
| got_scope = NULL_TREE; |
| ; |
| break;} |
| case 599: |
| #line 2776 "parse.y" |
| { yyval.ttype = yyvsp[0].ttype; ; |
| break;} |
| case 600: |
| #line 2781 "parse.y" |
| { yyval.ttype = get_type_decl (yyvsp[0].ttype); ; |
| break;} |
| case 601: |
| #line 2786 "parse.y" |
| { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ; |
| break;} |
| case 602: |
| #line 2788 "parse.y" |
| { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ; |
| break;} |
| case 603: |
| #line 2790 "parse.y" |
| { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ; |
| break;} |
| case 604: |
| #line 2792 "parse.y" |
| { yyval.ttype = yyvsp[-1].ttype; ; |
| break;} |
| case 605: |
| #line 2794 "parse.y" |
| { push_nested_class (yyvsp[-1].ttype, 3); |
| yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); |
| TREE_COMPLEXITY (yyval.ttype) = current_class_depth; ; |
| break;} |
| case 608: |
| #line 2806 "parse.y" |
| { |
| /* Provide support for '(' attributes '*' declarator ')' |
| etc */ |
| yyval.ttype = decl_tree_cons (yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE); |
| ; |
| break;} |
| case 609: |
| #line 2815 "parse.y" |
| { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ; |
| break;} |
| case 610: |
| #line 2817 "parse.y" |
| { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ; |
| break;} |
| case 611: |
| #line 2819 "parse.y" |
| { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ; |
| break;} |
| case 612: |
| #line 2821 "parse.y" |
| { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ; |
| break;} |
| case 613: |
| #line 2823 "parse.y" |
| { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); |
| yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg); |
| ; |
| break;} |
| case 615: |
| #line 2831 "parse.y" |
| { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ; |
| break;} |
| case 616: |
| #line 2833 "parse.y" |
| { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ; |
| break;} |
| case 617: |
| #line 2835 "parse.y" |
| { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ; |
| break;} |
| case 618: |
| #line 2837 "parse.y" |
| { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ; |
| break;} |
| case 619: |
| #line 2839 "parse.y" |
| { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); |
| yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg); |
| ; |
| break;} |
| case 621: |
| #line 2847 "parse.y" |
| { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ; |
| break;} |
| case 622: |
| #line 2849 "parse.y" |
| { yyval.ttype = yyvsp[-1].ttype; ; |
| break;} |
| case 623: |
| #line 2851 "parse.y" |
| { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ; |
| break;} |
| case 624: |
| #line 2853 "parse.y" |
| { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ; |
| break;} |
| case 625: |
| #line 2855 "parse.y" |
| { enter_scope_of (yyvsp[0].ttype); ; |
| break;} |
| case 626: |
| #line 2857 "parse.y" |
| { got_scope = NULL_TREE; |
| yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); |
| enter_scope_of (yyval.ttype); |
| ; |
| break;} |
| case 627: |
| #line 2865 "parse.y" |
| { got_scope = NULL_TREE; |
| yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ; |
| break;} |
| case 628: |
| #line 2868 "parse.y" |
| { got_scope = NULL_TREE; |
| yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ; |
| break;} |
| case 629: |
| #line 2874 "parse.y" |
| { got_scope = NULL_TREE; |
| yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ; |
| break;} |
| case 630: |
| #line 2877 "parse.y" |
| { got_scope = NULL_TREE; |
| yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ; |
| break;} |
| case 632: |
| #line 2884 "parse.y" |
| { yyval.ttype = yyvsp[0].ttype; ; |
| break;} |
| case 633: |
| #line 2889 "parse.y" |
| { yyval.ttype = build_functional_cast (yyvsp[-3].ftype.t, yyvsp[-1].ttype); ; |
| break;} |
| case 634: |
| #line 2891 "parse.y" |
| { yyval.ttype = reparse_decl_as_expr (yyvsp[-3].ftype.t, yyvsp[-1].ttype); ; |
| break;} |
| case 635: |
| #line 2893 "parse.y" |
| { yyval.ttype = reparse_absdcl_as_expr (yyvsp[-1].ftype.t, yyvsp[0].ttype); ; |
| break;} |
| case 640: |
| #line 2904 "parse.y" |
| { yyval.ttype = yyvsp[0].ttype; ; |
| break;} |
| case 641: |
| #line 2906 "parse.y" |
| { got_scope = yyval.ttype = make_typename_type (yyvsp[-3].ttype, yyvsp[-1].ttype); ; |
| break;} |
| case 642: |
| #line 2913 "parse.y" |
| { |
| if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE) |
| { |
| yyval.ttype = lastiddecl; |
| maybe_note_name_used_in_class (yyvsp[-1].ttype, yyval.ttype); |
| } |
| got_scope = yyval.ttype = TYPE_MAIN_VARIANT (TREE_TYPE (yyval.ttype)); |
| ; |
| break;} |
| case 643: |
| #line 2922 "parse.y" |
| { |
| if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE) |
| yyval.ttype = lastiddecl; |
| got_scope = yyval.ttype = TREE_TYPE (yyval.ttype); |
| ; |
| break;} |
| case 644: |
| #line 2928 "parse.y" |
| { |
| if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE) |
| yyval.ttype = lastiddecl; |
| got_scope = yyval.ttype; |
| ; |
| break;} |
| case 645: |
| #line 2934 "parse.y" |
| { got_scope = yyval.ttype = complete_type (TREE_TYPE (yyvsp[-1].ttype)); ; |
| break;} |
| case 647: |
| #line 2950 "parse.y" |
| { yyval.ttype = yyvsp[0].ttype; ; |
| break;} |
| case 648: |
| #line 2955 "parse.y" |
| { |
| if (TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype)) == 't') |
| yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype); |
| else if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE) |
| cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype); |
| else |
| { |
| yyval.ttype = yyvsp[0].ttype; |
| if (TREE_CODE (yyval.ttype) == TYPE_DECL) |
| yyval.ttype = TREE_TYPE (yyval.ttype); |
| } |
| ; |
| break;} |
| case 649: |
| #line 2968 "parse.y" |
| { yyval.ttype = TREE_TYPE (yyvsp[0].ttype); ; |
| break;} |
| case 650: |
| #line 2970 "parse.y" |
| { yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype); ; |
| break;} |
| case 651: |
| #line 2972 "parse.y" |
| { yyval.ttype = make_typename_type (yyvsp[-2].ttype, yyvsp[0].ttype); ; |
| break;} |
| case 652: |
| #line 2977 "parse.y" |
| { |
| if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE) |
| cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype); |
| ; |
| break;} |
| case 653: |
| #line 2982 "parse.y" |
| { |
| if (TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype)) == 't') |
| yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype); |
| else if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE) |
| cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype); |
| else |
| { |
| yyval.ttype = yyvsp[0].ttype; |
| if (TREE_CODE (yyval.ttype) == TYPE_DECL) |
| yyval.ttype = TREE_TYPE (yyval.ttype); |
| } |
| ; |
| break;} |
| case 654: |
| #line 2995 "parse.y" |
| { got_scope = yyval.ttype = make_typename_type (yyvsp[-2].ttype, yyvsp[-1].ttype); ; |
| break;} |
| case 655: |
| #line 2997 "parse.y" |
| { got_scope = yyval.ttype = make_typename_type (yyvsp[-3].ttype, yyvsp[-1].ttype); ; |
| break;} |
| case 656: |
| #line 3002 "parse.y" |
| { |
| if (TREE_CODE (yyvsp[-1].ttype) != IDENTIFIER_NODE) |
| yyvsp[-1].ttype = lastiddecl; |
| |
| /* Retrieve the type for the identifier, which might involve |
| some computation. */ |
| got_scope = yyval.ttype = complete_type (IDENTIFIER_TYPE_VALUE (yyvsp[-1].ttype)); |
| |
| if (yyval.ttype == error_mark_node) |
| cp_error ("`%T' is not a class or namespace", yyvsp[-1].ttype); |
| ; |
| break;} |
| case 657: |
| #line 3014 "parse.y" |
| { |
| if (TREE_CODE (yyvsp[-1].ttype) != IDENTIFIER_NODE) |
| yyval.ttype = lastiddecl; |
| got_scope = yyval.ttype = complete_type (TREE_TYPE (yyval.ttype)); |
| ; |
| break;} |
| case 658: |
| #line 3020 "parse.y" |
| { got_scope = yyval.ttype = complete_type (TREE_TYPE (yyval.ttype)); ; |
| break;} |
| case 661: |
| #line 3024 "parse.y" |
| { |
| if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE) |
| yyval.ttype = lastiddecl; |
| got_scope = yyval.ttype; |
| ; |
| break;} |
| case 662: |
| #line 3033 "parse.y" |
| { yyval.ttype = build_min_nt (TEMPLATE_ID_EXPR, yyvsp[-3].ttype, yyvsp[-1].ttype); ; |
| break;} |
| case 663: |
| #line 3038 "parse.y" |
| { |
| if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE) |
| yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype); |
| else |
| yyval.ttype = yyvsp[0].ttype; |
| got_scope = NULL_TREE; |
| ; |
| break;} |
| case 665: |
| #line 3047 "parse.y" |
| { yyval.ttype = yyvsp[0].ttype; ; |
| break;} |
| case 666: |
| #line 3052 "parse.y" |
| { got_scope = NULL_TREE; ; |
| break;} |
| case 667: |
| #line 3054 "parse.y" |
| { yyval.ttype = yyvsp[-1].ttype; got_scope = NULL_TREE; ; |
| break;} |
| case 668: |
| #line 3061 "parse.y" |
| { got_scope = void_type_node; ; |
| break;} |
| case 669: |
| #line 3067 "parse.y" |
| { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ; |
| break;} |
| case 670: |
| #line 3069 "parse.y" |
| { yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ; |
| break;} |
| case 671: |
| #line 3071 "parse.y" |
| { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ; |
| break;} |
| case 672: |
| #line 3073 "parse.y" |
| { yyval.ttype = make_reference_declarator (yyvsp[0].ttype, NULL_TREE); ; |
| break;} |
| case 673: |
| #line 3075 "parse.y" |
| { tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); |
| yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, arg); |
| ; |
| break;} |
| case 674: |
| #line 3079 "parse.y" |
| { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); |
| yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg); |
| ; |
| break;} |
| case 676: |
| #line 3088 "parse.y" |
| { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ; |
| break;} |
| case 677: |
| #line 3090 "parse.y" |
| { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ; |
| break;} |
| case 678: |
| #line 3096 "parse.y" |
| { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ; |
| break;} |
| case 679: |
| #line 3098 "parse.y" |
| { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ; |
| break;} |
| case 680: |
| #line 3100 "parse.y" |
| { yyval.ttype = make_pointer_declarator (yyvsp[0].ftype.t, NULL_TREE); ; |
| break;} |
| case 681: |
| #line 3102 "parse.y" |
| { yyval.ttype = make_pointer_declarator (NULL_TREE, NULL_TREE); ; |
| break;} |
| case 682: |
| #line 3104 "parse.y" |
| { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ; |
| break;} |
| case 683: |
| #line 3106 "parse.y" |
| { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ; |
| break;} |
| case 684: |
| #line 3108 "parse.y" |
| { yyval.ttype = make_reference_declarator (yyvsp[0].ftype.t, NULL_TREE); ; |
| break;} |
| case 685: |
| #line 3110 "parse.y" |
| { yyval.ttype = make_reference_declarator (NULL_TREE, NULL_TREE); ; |
| break;} |
| case 686: |
| #line 3112 "parse.y" |
| { tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); |
| yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, arg); |
| ; |
| break;} |
| case 687: |
| #line 3116 "parse.y" |
| { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); |
| yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg); |
| ; |
| break;} |
| case 689: |
| #line 3125 "parse.y" |
| { yyval.ttype = yyvsp[-1].ttype; ; |
| break;} |
| case 691: |
| #line 3129 "parse.y" |
| { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ; |
| break;} |
| case 692: |
| #line 3131 "parse.y" |
| { yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ; |
| break;} |
| case 693: |
| #line 3133 "parse.y" |
| { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ; |
| break;} |
| case 694: |
| #line 3135 "parse.y" |
| { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ; |
| break;} |
| case 695: |
| #line 3137 "parse.y" |
| { yyval.ttype = make_call_declarator (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ; |
| break;} |
| case 696: |
| #line 3139 "parse.y" |
| { set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ; |
| break;} |
| case 697: |
| #line 3141 "parse.y" |
| { set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ; |
| break;} |
| case 698: |
| #line 3143 "parse.y" |
| { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ; |
| break;} |
| case 699: |
| #line 3145 "parse.y" |
| { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, NULL_TREE); ; |
| break;} |
| case 706: |
| #line 3168 "parse.y" |
| { if (pedantic) |
| pedwarn ("ANSI C++ forbids label declarations"); ; |
| break;} |
| case 709: |
| #line 3179 "parse.y" |
| { tree link; |
| for (link = yyvsp[-1].ttype; link; link = TREE_CHAIN (link)) |
| { |
| tree label = shadow_label (TREE_VALUE (link)); |
| C_DECLARED_LABEL_FLAG (label) = 1; |
| declare_nonlocal_label (label); |
| } |
| ; |
| break;} |
| case 710: |
| #line 3193 "parse.y" |
| {; |
| break;} |
| case 712: |
| #line 3199 "parse.y" |
| { yyval.ttype = begin_compound_stmt (0); ; |
| break;} |
| case 713: |
| #line 3201 "parse.y" |
| { yyval.ttype = finish_compound_stmt (0, yyvsp[-1].ttype); ; |
| break;} |
| case 714: |
| #line 3206 "parse.y" |
| { |
| yyval.ttype = begin_if_stmt (); |
| cond_stmt_keyword = "if"; |
| ; |
| break;} |
| case 715: |
| #line 3211 "parse.y" |
| { finish_if_stmt_cond (yyvsp[0].ttype, yyvsp[-1].ttype); ; |
| break;} |
| case 716: |
| #line 3213 "parse.y" |
| { yyval.ttype = finish_then_clause (yyvsp[-3].ttype); ; |
| break;} |
| case 718: |
| #line 3218 "parse.y" |
| { yyval.ttype = begin_compound_stmt (0); ; |
| break;} |
| case 719: |
| #line 3220 "parse.y" |
| { yyval.ttype = finish_compound_stmt (0, yyvsp[-1].ttype); ; |
| break;} |
| case 720: |
| #line 3225 "parse.y" |
| {; |
| break;} |
| case 722: |
| #line 3231 "parse.y" |
| { finish_stmt (); ; |
| break;} |
| case 723: |
| #line 3233 "parse.y" |
| { finish_expr_stmt (yyvsp[-1].ttype); ; |
| break;} |
| case 724: |
| #line 3235 "parse.y" |
| { begin_else_clause (); ; |
| break;} |
| case 725: |
| #line 3237 "parse.y" |
| { |
| finish_else_clause (yyvsp[-3].ttype); |
| finish_if_stmt (); |
| ; |
| break;} |
| case 726: |
| #line 3242 "parse.y" |
| { finish_if_stmt (); ; |
| break;} |
| case 727: |
| #line 3244 "parse.y" |
| { |
| yyval.ttype = begin_while_stmt (); |
| cond_stmt_keyword = "while"; |
| ; |
| break;} |
| case 728: |
| #line 3249 "parse.y" |
| { finish_while_stmt_cond (yyvsp[0].ttype, yyvsp[-1].ttype); ; |
| break;} |
| case 729: |
| #line 3251 "parse.y" |
| { finish_while_stmt (yyvsp[-3].ttype); ; |
| break;} |
| case 730: |
| #line 3253 "parse.y" |
| { yyval.ttype = begin_do_stmt (); ; |
| break;} |
| case 731: |
| #line 3255 "parse.y" |
| { |
| finish_do_body (yyvsp[-2].ttype); |
| cond_stmt_keyword = "do"; |
| ; |
| break;} |
| case 732: |
| #line 3260 "parse.y" |
| { finish_do_stmt (yyvsp[-1].ttype, yyvsp[-5].ttype); ; |
| break;} |
| case 733: |
| #line 3262 "parse.y" |
| { yyval.ttype = begin_for_stmt (); ; |
| break;} |
| case 734: |
| #line 3264 "parse.y" |
| { finish_for_init_stmt (yyvsp[-2].ttype); ; |
| break;} |
| case 735: |
| #line 3266 "parse.y" |
| { finish_for_cond (yyvsp[-1].ttype, yyvsp[-5].ttype); ; |
| break;} |
| case 736: |
| #line 3268 "parse.y" |
| { finish_for_expr (yyvsp[-1].ttype, yyvsp[-8].ttype); ; |
| break;} |
| case 737: |
| #line 3270 "parse.y" |
| { finish_for_stmt (yyvsp[-3].ttype, yyvsp[-10].ttype); ; |
| break;} |
| case 738: |
| #line 3272 "parse.y" |
| { begin_switch_stmt (); ; |
| break;} |
| case 739: |
| #line 3274 "parse.y" |
| { yyval.ttype = finish_switch_cond (yyvsp[-1].ttype); ; |
| break;} |
| case 740: |
| #line 3276 "parse.y" |
| { finish_switch_stmt (yyvsp[-3].ttype, yyvsp[-1].ttype); ; |
| break;} |
| case 741: |
| #line 3278 "parse.y" |
| { finish_case_label (yyvsp[-1].ttype, NULL_TREE); ; |
| break;} |
| case 743: |
| #line 3281 "parse.y" |
| { finish_case_label (yyvsp[-3].ttype, yyvsp[-1].ttype); ; |
| break;} |
| case 745: |
| #line 3284 "parse.y" |
| { finish_case_label (NULL_TREE, NULL_TREE); ; |
| break;} |
| case 747: |
| #line 3287 "parse.y" |
| { finish_break_stmt (); ; |
| break;} |
| case 748: |
| #line 3289 "parse.y" |
| { finish_continue_stmt (); ; |
| break;} |
| case 749: |
| #line 3291 "parse.y" |
| { finish_return_stmt (NULL_TREE); ; |
| break;} |
| case 750: |
| #line 3293 "parse.y" |
| { finish_return_stmt (yyvsp[-1].ttype); ; |
| break;} |
| case 751: |
| #line 3295 "parse.y" |
| { |
| finish_asm_stmt (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE, |
| NULL_TREE); |
| ; |
| break;} |
| case 752: |
| #line 3301 "parse.y" |
| { |
| finish_asm_stmt (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, |
| NULL_TREE); |
| ; |
| break;} |
| case 753: |
| #line 3307 "parse.y" |
| { finish_asm_stmt (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE); ; |
| break;} |
| case 754: |
| #line 3311 "parse.y" |
| { finish_asm_stmt (yyvsp[-10].ttype, yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype); ; |
| break;} |
| case 755: |
| #line 3313 "parse.y" |
| { |
| if (pedantic) |
| pedwarn ("ANSI C++ forbids computed gotos"); |
| finish_goto_stmt (yyvsp[-1].ttype); |
| ; |
| break;} |
| case 756: |
| #line 3319 "parse.y" |
| { finish_goto_stmt (yyvsp[-1].ttype); ; |
| break;} |
| case 757: |
| #line 3321 "parse.y" |
| { finish_stmt (); ; |
| break;} |
| case 758: |
| #line 3323 "parse.y" |
| { error ("label must be followed by statement"); |
| yyungetc ('}', 0); |
| finish_stmt (); ; |
| break;} |
| case 759: |
| #line 3327 "parse.y" |
| { finish_stmt (); ; |
| break;} |
| case 762: |
| #line 3331 "parse.y" |
| { do_local_using_decl (yyvsp[0].ttype); ; |
| break;} |
| case 764: |
| #line 3337 "parse.y" |
| { |
| if (! current_function_parms_stored) |
| store_parm_decls (); |
| expand_start_early_try_stmts (); |
| ; |
| break;} |
| case 765: |
| #line 3343 "parse.y" |
| { |
| expand_start_all_catch (); |
| ; |
| break;} |
| case 766: |
| #line 3347 "parse.y" |
| { |
| expand_end_all_catch (); |
| yyval.itype = yyvsp[-3].itype; |
| ; |
| break;} |
| case 767: |
| #line 3355 "parse.y" |
| { yyval.ttype = begin_try_block (); ; |
| break;} |
| case 768: |
| #line 3357 "parse.y" |
| { finish_try_block (yyvsp[-1].ttype); ; |
| break;} |
| case 769: |
| #line 3359 "parse.y" |
| { finish_handler_sequence (yyvsp[-3].ttype); ; |
| break;} |
| case 772: |
| #line 3369 "parse.y" |
| { yyval.ttype = begin_handler(); ; |
| break;} |
| case 773: |
| #line 3371 "parse.y" |
| { finish_handler_parms (yyvsp[-1].ttype); ; |
| break;} |
| case 774: |
| #line 3373 "parse.y" |
| { finish_handler (yyvsp[-3].ttype); ; |
| break;} |
| case 777: |
| #line 3383 "parse.y" |
| { expand_start_catch_block (NULL_TREE, NULL_TREE); ; |
| break;} |
| case 778: |
| #line 3399 "parse.y" |
| { check_for_new_type ("inside exception declarations", yyvsp[-1].ftype); |
| expand_start_catch_block (TREE_PURPOSE (yyvsp[-1].ftype.t), |
| TREE_VALUE (yyvsp[-1].ftype.t)); ; |
| break;} |
| case 779: |
| #line 3406 "parse.y" |
| { tree label; |
| do_label: |
| label = define_label (input_filename, lineno, yyvsp[-1].ttype); |
| if (label && ! minimal_parse_mode) |
| expand_label (label); |
| ; |
| break;} |
| case 780: |
| #line 3413 "parse.y" |
| { goto do_label; ; |
| break;} |
| case 781: |
| #line 3415 "parse.y" |
| { goto do_label; ; |
| break;} |
| case 782: |
| #line 3417 "parse.y" |
| { goto do_label; ; |
| break;} |
| case 783: |
| #line 3422 "parse.y" |
| { if (yyvsp[-1].ttype) cplus_expand_expr_stmt (yyvsp[-1].ttype); ; |
| break;} |
| case 785: |
| #line 3425 "parse.y" |
| { if (pedantic) |
| pedwarn ("ANSI C++ forbids compound statements inside for initializations"); |
| ; |
| break;} |
| case 786: |
| #line 3434 "parse.y" |
| { emit_line_note (input_filename, lineno); |
| yyval.ttype = NULL_TREE; ; |
| break;} |
| case 787: |
| #line 3437 "parse.y" |
| { emit_line_note (input_filename, lineno); ; |
| break;} |
| case 788: |
| #line 3442 "parse.y" |
| { yyval.ttype = NULL_TREE; ; |
| break;} |
| case 790: |
| #line 3445 "parse.y" |
| { yyval.ttype = NULL_TREE; ; |
| break;} |
| case 791: |
| #line 3452 "parse.y" |
| { yyval.ttype = NULL_TREE; ; |
| break;} |
| case 794: |
| #line 3459 "parse.y" |
| { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ; |
| break;} |
| case 795: |
| #line 3464 "parse.y" |
| { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[-1].ttype); ; |
| break;} |
| case 796: |
| #line 3469 "parse.y" |
| { yyval.ttype = tree_cons (NULL_TREE, yyval.ttype, NULL_TREE); ; |
| break;} |
| case 797: |
| #line 3471 "parse.y" |
| { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ; |
| break;} |
| case 798: |
| #line 3482 "parse.y" |
| { |
| yyval.ttype = empty_parms(); |
| ; |
| break;} |
| case 800: |
| #line 3487 "parse.y" |
| { yyval.ttype = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[0].ftype.t), 0); |
| check_for_new_type ("inside parameter list", yyvsp[0].ftype); ; |
| break;} |
| case 801: |
| #line 3495 "parse.y" |
| { yyval.ttype = finish_parmlist (yyval.ttype, 0); ; |
| break;} |
| case 802: |
| #line 3497 "parse.y" |
| { yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 1); ; |
| break;} |
| case 803: |
| #line 3500 "parse.y" |
| { yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 1); ; |
| break;} |
| case 804: |
| #line 3502 "parse.y" |
| { yyval.ttype = finish_parmlist (build_tree_list (NULL_TREE, |
| yyvsp[-1].ftype.t), 1); ; |
| break;} |
| case 805: |
| #line 3505 "parse.y" |
| { yyval.ttype = finish_parmlist (NULL_TREE, 1); ; |
| break;} |
| case 806: |
| #line 3507 "parse.y" |
| { |
| /* This helps us recover from really nasty |
| parse errors, for example, a missing right |
| parenthesis. */ |
| yyerror ("possibly missing ')'"); |
| yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 0); |
| yyungetc (':', 0); |
| yychar = ')'; |
| ; |
| break;} |
| case 807: |
| #line 3517 "parse.y" |
| { |
| /* This helps us recover from really nasty |
| parse errors, for example, a missing right |
| parenthesis. */ |
| yyerror ("possibly missing ')'"); |
| yyval.ttype = finish_parmlist (build_tree_list (NULL_TREE, |
| yyvsp[-1].ftype.t), 0); |
| yyungetc (':', 0); |
| yychar = ')'; |
| ; |
| break;} |
| case 808: |
| #line 3532 "parse.y" |
| { maybe_snarf_defarg (); ; |
| break;} |
| case 809: |
| #line 3534 "parse.y" |
| { yyval.ttype = yyvsp[0].ttype; ; |
| break;} |
| case 812: |
| #line 3545 "parse.y" |
| { check_for_new_type ("in a parameter list", yyvsp[0].ftype); |
| yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ftype.t); ; |
| break;} |
| case 813: |
| #line 3548 "parse.y" |
| { check_for_new_type ("in a parameter list", yyvsp[-1].ftype); |
| yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-1].ftype.t); ; |
| break;} |
| case 814: |
| #line 3551 "parse.y" |
| { check_for_new_type ("in a parameter list", yyvsp[0].ftype); |
| yyval.ttype = chainon (yyval.ttype, yyvsp[0].ftype.t); ; |
| break;} |
| case 815: |
| #line 3554 "parse.y" |
| { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ; |
| break;} |
| case 816: |
| #line 3556 "parse.y" |
| { yyval.ttype = chainon (yyval.ttype, build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype)); ; |
| break;} |
| case 818: |
| #line 3562 "parse.y" |
| { check_for_new_type ("in a parameter list", yyvsp[-1].ftype); |
| yyval.ttype = build_tree_list (NULL_TREE, yyvsp[-1].ftype.t); ; |
| break;} |
| case 819: |
| #line 3572 "parse.y" |
| { tree specs = strip_attrs (yyvsp[-1].ftype.t); |
| yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; |
| yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype); ; |
| break;} |
| case 820: |
| #line 3576 "parse.y" |
| { yyval.ftype.t = build_tree_list (yyvsp[-1].ftype.t, yyvsp[0].ttype); |
| yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; |
| break;} |
| case 821: |
| #line 3579 "parse.y" |
| { yyval.ftype.t = build_tree_list (build_decl_list (NULL_TREE, yyvsp[-1].ftype.t), |
| yyvsp[0].ttype); |
| yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; |
| break;} |
| case 822: |
| #line 3583 "parse.y" |
| { tree specs = strip_attrs (yyvsp[-1].ftype.t); |
| yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype); |
| yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; |
| break;} |
| case 823: |
| #line 3587 "parse.y" |
| { tree specs = strip_attrs (yyvsp[0].ftype.t); |
| yyval.ftype.t = build_tree_list (specs, NULL_TREE); |
| yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ; |
| break;} |
| case 824: |
| #line 3591 "parse.y" |
| { tree specs = strip_attrs (yyvsp[-1].ttype); |
| yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype); |
| yyval.ftype.new_type_flag = 0; ; |
| break;} |
| case 825: |
| #line 3598 "parse.y" |
| { yyval.ftype.t = build_tree_list (NULL_TREE, yyvsp[0].ftype.t); |
| yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ; |
| break;} |
| case 826: |
| #line 3601 "parse.y" |
| { yyval.ftype.t = build_tree_list (yyvsp[0].ttype, yyvsp[-1].ftype.t); |
| yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; |
| break;} |
| case 829: |
| #line 3612 "parse.y" |
| { see_typename (); ; |
| break;} |
| case 830: |
| #line 3617 "parse.y" |
| { |
| error ("type specifier omitted for parameter"); |
| yyval.ttype = build_tree_list (integer_type_node, NULL_TREE); |
| ; |
| break;} |
| case 831: |
| #line 3622 "parse.y" |
| { |
| error ("type specifier omitted for parameter"); |
| if (TREE_CODE (yyval.ttype) == SCOPE_REF |
| && (TREE_CODE (TREE_OPERAND (yyval.ttype, 0)) == TEMPLATE_TYPE_PARM |
| || TREE_CODE (TREE_OPERAND (yyval.ttype, 0)) == TEMPLATE_TEMPLATE_PARM)) |
| cp_error (" perhaps you want `typename %E' to make it a type", yyval.ttype); |
| yyval.ttype = build_tree_list (integer_type_node, yyval.ttype); |
| ; |
| break;} |
| case 832: |
| #line 3634 "parse.y" |
| { yyval.ttype = NULL_TREE; ; |
| break;} |
| case 833: |
| #line 3636 "parse.y" |
| { yyval.ttype = yyvsp[-1].ttype; ; |
| break;} |
| case 834: |
| #line 3638 "parse.y" |
| { yyval.ttype = build_decl_list (NULL_TREE, NULL_TREE); ; |
| break;} |
| case 835: |
| #line 3643 "parse.y" |
| { yyval.ttype = build_decl_list (NULL_TREE, groktypename(yyvsp[0].ftype.t)); ; |
| break;} |
| case 837: |
| #line 3649 "parse.y" |
| { |
| TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype; |
| yyval.ttype = yyvsp[0].ttype; |
| ; |
| break;} |
| case 838: |
| #line 3657 "parse.y" |
| { yyval.ttype = NULL_TREE; ; |
| break;} |
| case 839: |
| #line 3659 "parse.y" |
| { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ; |
| break;} |
| case 840: |
| #line 3661 "parse.y" |
| { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ; |
| break;} |
| case 841: |
| #line 3663 "parse.y" |
| { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); |
| yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg); |
| ; |
| break;} |
| case 842: |
| #line 3670 "parse.y" |
| { got_scope = NULL_TREE; ; |
| break;} |
| case 843: |
| #line 3675 "parse.y" |
| { yyval.ttype = ansi_opname[MULT_EXPR]; ; |
| break;} |
| case 844: |
| #line 3677 "parse.y" |
| { yyval.ttype = ansi_opname[TRUNC_DIV_EXPR]; ; |
| break;} |
| case 845: |
| #line 3679 "parse.y" |
| { yyval.ttype = ansi_opname[TRUNC_MOD_EXPR]; ; |
| break;} |
| case 846: |
| #line 3681 "parse.y" |
| { yyval.ttype = ansi_opname[PLUS_EXPR]; ; |
| break;} |
| case 847: |
| #line 3683 "parse.y" |
| { yyval.ttype = ansi_opname[MINUS_EXPR]; ; |
| break;} |
| case 848: |
| #line 3685 "parse.y" |
| { yyval.ttype = ansi_opname[BIT_AND_EXPR]; ; |
| break;} |
| case 849: |
| #line 3687 "parse.y" |
| { yyval.ttype = ansi_opname[BIT_IOR_EXPR]; ; |
| break;} |
| case 850: |
| #line 3689 "parse.y" |
| { yyval.ttype = ansi_opname[BIT_XOR_EXPR]; ; |
| break;} |
| case 851: |
| #line 3691 "parse.y" |
| { yyval.ttype = ansi_opname[BIT_NOT_EXPR]; ; |
| break;} |
| case 852: |
| #line 3693 "parse.y" |
| { yyval.ttype = ansi_opname[COMPOUND_EXPR]; ; |
| break;} |
| case 853: |
| #line 3695 "parse.y" |
| { yyval.ttype = ansi_opname[yyvsp[0].code]; ; |
| break;} |
| case 854: |
| #line 3697 "parse.y" |
| { yyval.ttype = ansi_opname[LT_EXPR]; ; |
| break;} |
| case 855: |
| #line 3699 "parse.y" |
| { yyval.ttype = ansi_opname[GT_EXPR]; ; |
| break;} |
| case 856: |
| #line 3701 "parse.y" |
| { yyval.ttype = ansi_opname[yyvsp[0].code]; ; |
| break;} |
| case 857: |
| #line 3703 "parse.y" |
| { yyval.ttype = ansi_assopname[yyvsp[0].code]; ; |
| break;} |
| case 858: |
| #line 3705 "parse.y" |
| { yyval.ttype = ansi_opname [MODIFY_EXPR]; ; |
| break;} |
| case 859: |
| #line 3707 "parse.y" |
| { yyval.ttype = ansi_opname[yyvsp[0].code]; ; |
| break;} |
| case 860: |
| #line 3709 "parse.y" |
| { yyval.ttype = ansi_opname[yyvsp[0].code]; ; |
| break;} |
| case 861: |
| #line 3711 "parse.y" |
| { yyval.ttype = ansi_opname[POSTINCREMENT_EXPR]; ; |
| break;} |
| case 862: |
| #line 3713 "parse.y" |
| { yyval.ttype = ansi_opname[PREDECREMENT_EXPR]; ; |
| break;} |
| case 863: |
| #line 3715 "parse.y" |
| { yyval.ttype = ansi_opname[TRUTH_ANDIF_EXPR]; ; |
| break;} |
| case 864: |
| #line 3717 "parse.y" |
| { yyval.ttype = ansi_opname[TRUTH_ORIF_EXPR]; ; |
| break;} |
| case 865: |
| #line 3719 "parse.y" |
| { yyval.ttype = ansi_opname[TRUTH_NOT_EXPR]; ; |
| break;} |
| case 866: |
| #line 3721 "parse.y" |
| { yyval.ttype = ansi_opname[COND_EXPR]; ; |
| break;} |
| case 867: |
| #line 3723 "parse.y" |
| { yyval.ttype = ansi_opname[yyvsp[0].code]; ; |
| break;} |
| case 868: |
| #line 3725 "parse.y" |
| { yyval.ttype = ansi_opname[COMPONENT_REF]; ; |
| break;} |
| case 869: |
| #line 3727 "parse.y" |
| { yyval.ttype = ansi_opname[MEMBER_REF]; ; |
| break;} |
| case 870: |
| #line 3729 "parse.y" |
| { yyval.ttype = ansi_opname[CALL_EXPR]; ; |
| break;} |
| case 871: |
| #line 3731 "parse.y" |
| { yyval.ttype = ansi_opname[ARRAY_REF]; ; |
| break;} |
| case 872: |
| #line 3733 "parse.y" |
| { yyval.ttype = ansi_opname[NEW_EXPR]; ; |
| break;} |
| case 873: |
| #line 3735 "parse.y" |
| { yyval.ttype = ansi_opname[DELETE_EXPR]; ; |
| break;} |
| case 874: |
| #line 3737 "parse.y" |
| { yyval.ttype = ansi_opname[VEC_NEW_EXPR]; ; |
| break;} |
| case 875: |
| #line 3739 "parse.y" |
| { yyval.ttype = ansi_opname[VEC_DELETE_EXPR]; ; |
| break;} |
| case 876: |
| #line 3742 "parse.y" |
| { yyval.ttype = grokoptypename (yyvsp[-1].ftype.t, yyvsp[0].ttype); ; |
| break;} |
| case 877: |
| #line 3744 "parse.y" |
| { yyval.ttype = ansi_opname[ERROR_MARK]; ; |
| break;} |
| } |
| /* the action file gets copied in in place of this dollarsign */ |
| #line 498 "/usr/lib/bison.simple" |
| |
| yyvsp -= yylen; |
| yyssp -= yylen; |
| #ifdef YYLSP_NEEDED |
| yylsp -= yylen; |
| #endif |
| |
| #if YYDEBUG != 0 |
| if (yydebug) |
| { |
| short *ssp1 = yyss - 1; |
| fprintf (stderr, "state stack now"); |
| while (ssp1 != yyssp) |
| fprintf (stderr, " %d", *++ssp1); |
| fprintf (stderr, "\n"); |
| } |
| #endif |
| |
| *++yyvsp = yyval; |
| |
| #ifdef YYLSP_NEEDED |
| yylsp++; |
| if (yylen == 0) |
| { |
| yylsp->first_line = yylloc.first_line; |
| yylsp->first_column = yylloc.first_column; |
| yylsp->last_line = (yylsp-1)->last_line; |
| yylsp->last_column = (yylsp-1)->last_column; |
| yylsp->text = 0; |
| } |
| else |
| { |
| yylsp->last_line = (yylsp+yylen-1)->last_line; |
| yylsp->last_column = (yylsp+yylen-1)->last_column; |
| } |
| #endif |
| |
| /* Now "shift" the result of the reduction. |
| Determine what state that goes to, |
| based on the state we popped back to |
| and the rule number reduced by. */ |
| |
| yyn = yyr1[yyn]; |
| |
| yystate = yypgoto[yyn - YYNTBASE] + *yyssp; |
| if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp) |
| yystate = yytable[yystate]; |
| else |
| yystate = yydefgoto[yyn - YYNTBASE]; |
| |
| goto yynewstate; |
| |
| yyerrlab: /* here on detecting error */ |
| |
| if (! yyerrstatus) |
| /* If not already recovering from an error, report this error. */ |
| { |
| ++yynerrs; |
| |
| #ifdef YYERROR_VERBOSE |
| yyn = yypact[yystate]; |
| |
| if (yyn > YYFLAG && yyn < YYLAST) |
| { |
| int size = 0; |
| char *msg; |
| int x, count; |
| |
| count = 0; |
| /* Start X at -yyn if nec to avoid negative indexes in yycheck. */ |
| for (x = (yyn < 0 ? -yyn : 0); |
| x < (sizeof(yytname) / sizeof(char *)); x++) |
| if (yycheck[x + yyn] == x) |
| size += strlen(yytname[x]) + 15, count++; |
| msg = (char *) malloc(size + 15); |
| if (msg != 0) |
| { |
| strcpy(msg, "parse error"); |
| |
| if (count < 5) |
| { |
| count = 0; |
| for (x = (yyn < 0 ? -yyn : 0); |
| x < (sizeof(yytname) / sizeof(char *)); x++) |
| if (yycheck[x + yyn] == x) |
| { |
| strcat(msg, count == 0 ? ", expecting `" : " or `"); |
| strcat(msg, yytname[x]); |
| strcat(msg, "'"); |
| count++; |
| } |
| } |
| yyerror(msg); |
| free(msg); |
| } |
| else |
| yyerror ("parse error; also virtual memory exceeded"); |
| } |
| else |
| #endif /* YYERROR_VERBOSE */ |
| yyerror("parse error"); |
| } |
| |
| goto yyerrlab1; |
| yyerrlab1: /* here on error raised explicitly by an action */ |
| |
| if (yyerrstatus == 3) |
| { |
| /* if just tried and failed to reuse lookahead token after an error, discard it. */ |
| |
| /* return failure if at end of input */ |
| if (yychar == YYEOF) |
| YYABORT; |
| |
| #if YYDEBUG != 0 |
| if (yydebug) |
| fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]); |
| #endif |
| |
| yychar = YYEMPTY; |
| } |
| |
| /* Else will try to reuse lookahead token |
| after shifting the error token. */ |
| |
| yyerrstatus = 3; /* Each real token shifted decrements this */ |
| |
| goto yyerrhandle; |
| |
| yyerrdefault: /* current state does not do anything special for the error token. */ |
| |
| #if 0 |
| /* This is wrong; only states that explicitly want error tokens |
| should shift them. */ |
| yyn = yydefact[yystate]; /* If its default is to accept any token, ok. Otherwise pop it.*/ |
| if (yyn) goto yydefault; |
| #endif |
| |
| yyerrpop: /* pop the current state because it cannot handle the error token */ |
| |
| if (yyssp == yyss) YYABORT; |
| yyvsp--; |
| yystate = *--yyssp; |
| #ifdef YYLSP_NEEDED |
| yylsp--; |
| #endif |
| |
| #if YYDEBUG != 0 |
| if (yydebug) |
| { |
| short *ssp1 = yyss - 1; |
| fprintf (stderr, "Error: state stack now"); |
| while (ssp1 != yyssp) |
| fprintf (stderr, " %d", *++ssp1); |
| fprintf (stderr, "\n"); |
| } |
| #endif |
| |
| yyerrhandle: |
| |
| yyn = yypact[yystate]; |
| if (yyn == YYFLAG) |
| goto yyerrdefault; |
| |
| yyn += YYTERROR; |
| if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR) |
| goto yyerrdefault; |
| |
| yyn = yytable[yyn]; |
| if (yyn < 0) |
| { |
| if (yyn == YYFLAG) |
| goto yyerrpop; |
| yyn = -yyn; |
| goto yyreduce; |
| } |
| else if (yyn == 0) |
| goto yyerrpop; |
| |
| if (yyn == YYFINAL) |
| YYACCEPT; |
| |
| #if YYDEBUG != 0 |
| if (yydebug) |
| fprintf(stderr, "Shifting error token, "); |
| #endif |
| |
| *++yyvsp = yylval; |
| #ifdef YYLSP_NEEDED |
| *++yylsp = yylloc; |
| #endif |
| |
| yystate = yyn; |
| goto yynewstate; |
| } |
| #line 3747 "parse.y" |
| |
| |
| #ifdef SPEW_DEBUG |
| const char * |
| debug_yytranslate (value) |
| int value; |
| { |
| return yytname[YYTRANSLATE (value)]; |
| } |
| |
| #endif |