|
|
1.1 root 1:
2: /* A Bison parser, made from cp-parse.y */
3:
4: #define YYBISON 1 /* Identify Bison output. */
5:
6: #define IDENTIFIER 258
7: #define TYPENAME 259
8: #define SCOPED_TYPENAME 260
9: #define SCSPEC 261
10: #define TYPESPEC 262
11: #define TYPE_QUAL 263
12: #define CONSTANT 264
13: #define STRING 265
14: #define ELLIPSIS 266
15: #define SIZEOF 267
16: #define ENUM 268
17: #define IF 269
18: #define ELSE 270
19: #define WHILE 271
20: #define DO 272
21: #define FOR 273
22: #define SWITCH 274
23: #define CASE 275
24: #define DEFAULT 276
25: #define BREAK 277
26: #define CONTINUE 278
27: #define RETURN 279
28: #define GOTO 280
1.1.1.2 root 29: #define ASM_KEYWORD 281
1.1.1.5 ! root 30: #define GCC_ASM_KEYWORD 282
! 31: #define TYPEOF 283
! 32: #define ALIGNOF 284
! 33: #define HEADOF 285
! 34: #define CLASSOF 286
! 35: #define ATTRIBUTE 287
! 36: #define EXTENSION 288
! 37: #define LABEL 289
! 38: #define AGGR 290
! 39: #define VISSPEC 291
! 40: #define DELETE 292
! 41: #define NEW 293
! 42: #define OVERLOAD 294
! 43: #define THIS 295
! 44: #define OPERATOR 296
! 45: #define DYNAMIC 297
! 46: #define POINTSAT_LEFT_RIGHT 298
! 47: #define LEFT_RIGHT 299
! 48: #define TEMPLATE 300
! 49: #define SCOPE 301
! 50: #define START_DECLARATOR 302
! 51: #define EMPTY 303
! 52: #define TYPENAME_COLON 304
! 53: #define ASSIGN 305
! 54: #define RANGE 306
! 55: #define OROR 307
! 56: #define ANDAND 308
! 57: #define MIN_MAX 309
! 58: #define EQCOMPARE 310
! 59: #define ARITHCOMPARE 311
! 60: #define LSHIFT 312
! 61: #define RSHIFT 313
! 62: #define UNARY 314
! 63: #define PLUSPLUS 315
! 64: #define MINUSMINUS 316
! 65: #define HYPERUNARY 317
! 66: #define PAREN_STAR_PAREN 318
! 67: #define POINTSAT 319
! 68: #define POINTSAT_STAR 320
! 69: #define DOT_STAR 321
! 70: #define RAISE 322
! 71: #define RAISES 323
! 72: #define RERAISE 324
! 73: #define TRY 325
! 74: #define EXCEPT 326
! 75: #define CATCH 327
! 76: #define THROW 328
! 77: #define ANSI_TRY 329
! 78: #define ANSI_THROW 330
! 79: #define TYPENAME_ELLIPSIS 331
! 80: #define PTYPENAME 332
! 81: #define PRE_PARSED_FUNCTION_DECL 333
! 82: #define EXTERN_LANG_STRING 334
! 83: #define ALL 335
! 84: #define PRE_PARSED_CLASS_DECL 336
! 85: #define TYPENAME_DEFN 337
! 86: #define IDENTIFIER_DEFN 338
! 87: #define PTYPENAME_DEFN 339
! 88: #define END_OF_SAVED_INPUT 340
1.1 root 89:
90: #line 42 "cp-parse.y"
91:
1.1.1.4 root 92: #if defined(GATHER_STATISTICS) || defined(SPEW_DEBUG)
1.1 root 93: #undef YYDEBUG
94: #define YYDEBUG 1
95: #endif
96:
97: #include "config.h"
98:
99: #include <stdio.h>
100: #include <errno.h>
101:
102: #include "tree.h"
103: #include "input.h"
1.1.1.4 root 104: #include "flags.h"
1.1 root 105: #include "cp-lex.h"
106: #include "cp-tree.h"
107:
1.1.1.5 ! root 108: /* Since parsers are distinct for each language, put the language string
! 109: definition here. (fnf) */
! 110: char *language_string = "GNU C++";
! 111:
1.1 root 112: extern tree void_list_node;
1.1.1.4 root 113: extern struct obstack permanent_obstack;
1.1 root 114:
115: #ifndef errno
116: extern int errno;
117: #endif
118:
119: extern int end_of_file;
120:
121: void yyerror ();
122:
123: /* Like YYERROR but do call yyerror. */
124: #define YYERROR1 { yyerror ("syntax error"); YYERROR; }
125:
126: static void position_after_white_space ();
127:
1.1.1.5 ! root 128: /* Contains the statement keyword (if/while/do) to include in an
! 129: error message if the user supplies an empty conditional expression. */
! 130: static char *cond_stmt_keyword;
1.1 root 131:
132: /* Nonzero if we have an `extern "C"' acting as an extern specifier. */
1.1.1.4 root 133: int have_extern_spec;
134: int used_extern_spec;
1.1 root 135:
136: void yyhook ();
137:
138: /* Cons up an empty parameter list. */
139: #ifdef __GNUC__
140: __inline
141: #endif
142: static tree
143: empty_parms ()
144: {
145: tree parms;
146:
147: if (strict_prototype)
148: parms = void_list_node;
149: else
150: parms = NULL_TREE;
151: return parms;
152: }
153:
1.1.1.5 ! root 154: #line 108 "cp-parse.y"
1.1.1.2 root 155: typedef union {long itype; tree ttype; char *strtype; enum tree_code code; } YYSTYPE;
1.1.1.5 ! root 156: #line 267 "cp-parse.y"
1.1 root 157:
158: /* List of types and structure classes of the current declaration. */
1.1.1.4 root 159: static tree current_declspecs;
1.1 root 160:
161: /* When defining an aggregate, this is the most recent one being defined. */
162: static tree current_aggr;
163:
1.1.1.4 root 164: /* Tell yyparse how to print a token's value, if yydebug is set. */
1.1 root 165:
166: #define YYPRINT(FILE,YYCHAR,YYLVAL) yyprint(FILE,YYCHAR,YYLVAL)
1.1.1.4 root 167: extern void yyprint ();
1.1.1.5 ! root 168: extern tree combine_strings PROTO((tree));
! 169: extern tree truthvalue_conversion PROTO((tree));
1.1 root 170:
171: #ifndef YYLTYPE
172: typedef
173: struct yyltype
174: {
175: int timestamp;
176: int first_line;
177: int first_column;
178: int last_line;
179: int last_column;
180: char *text;
181: }
182: yyltype;
183:
184: #define YYLTYPE yyltype
185: #endif
186:
187: #include <stdio.h>
188:
189: #ifndef __STDC__
190: #define const
191: #endif
192:
193:
194:
1.1.1.5 ! root 195: #define YYFINAL 1276
1.1 root 196: #define YYFLAG -32768
1.1.1.5 ! root 197: #define YYNTBASE 110
1.1 root 198:
1.1.1.5 ! root 199: #define YYTRANSLATE(x) ((unsigned)(x) <= 340 ? yytranslate[x] : 304)
1.1 root 200:
201: static const char yytranslate[] = { 0,
202: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
203: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
204: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1.1.1.5 ! root 205: 2, 2, 108, 2, 2, 2, 73, 61, 2, 83,
! 206: 104, 71, 69, 51, 70, 81, 72, 2, 2, 2,
! 207: 2, 2, 2, 2, 2, 2, 2, 55, 105, 65,
! 208: 53, 66, 54, 2, 2, 2, 2, 2, 2, 2,
1.1 root 209: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
210: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1.1.1.5 ! root 211: 84, 2, 109, 60, 2, 2, 2, 2, 2, 2,
1.1 root 212: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
213: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1.1.1.5 ! root 214: 2, 2, 50, 59, 106, 107, 2, 2, 2, 2,
1.1 root 215: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
216: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
217: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
218: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
219: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
220: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
221: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
222: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
223: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
224: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
225: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
226: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
227: 2, 2, 2, 2, 2, 1, 2, 3, 4, 5,
228: 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
229: 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
230: 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
231: 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
1.1.1.5 ! root 232: 46, 47, 48, 49, 52, 56, 57, 58, 62, 63,
! 233: 64, 67, 68, 74, 75, 76, 77, 78, 79, 80,
! 234: 82, 85, 86, 87, 88, 89, 90, 91, 92, 93,
! 235: 94, 95, 96, 97, 98, 99, 100, 101, 102, 103
1.1 root 236: };
237:
238: static const short yyprhs[] = { 0,
239: 0, 1, 3, 4, 7, 10, 11, 12, 14, 16,
1.1.1.5 ! root 240: 18, 20, 22, 24, 30, 35, 39, 44, 49, 51,
! 241: 52, 58, 60, 64, 67, 72, 76, 78, 82, 84,
! 242: 88, 89, 95, 96, 102, 103, 109, 110, 116, 120,
! 243: 124, 131, 139, 144, 148, 152, 154, 156, 158, 160,
! 244: 162, 165, 169, 173, 177, 181, 184, 187, 190, 193,
! 245: 195, 199, 204, 208, 214, 219, 223, 227, 230, 234,
! 246: 238, 241, 248, 255, 260, 265, 267, 274, 279, 283,
! 247: 290, 295, 299, 302, 305, 307, 311, 316, 319, 323,
! 248: 324, 325, 327, 331, 334, 338, 340, 345, 348, 353,
! 249: 356, 361, 364, 370, 374, 376, 378, 380, 382, 384,
! 250: 386, 388, 390, 392, 395, 397, 401, 406, 411, 413,
! 251: 415, 416, 417, 419, 423, 425, 427, 428, 435, 436,
! 252: 438, 439, 442, 444, 446, 448, 450, 452, 454, 456,
! 253: 458, 462, 464, 468, 472, 474, 475, 479, 482, 485,
! 254: 488, 491, 494, 497, 502, 505, 510, 514, 521, 528,
! 255: 538, 543, 551, 557, 566, 576, 586, 593, 603, 610,
! 256: 620, 624, 631, 634, 639, 645, 647, 652, 660, 665,
! 257: 670, 675, 677, 681, 685, 689, 693, 697, 701, 705,
! 258: 709, 713, 717, 721, 725, 729, 733, 737, 741, 745,
! 259: 751, 755, 759, 763, 766, 768, 770, 772, 774, 778,
! 260: 782, 783, 788, 789, 796, 799, 804, 807, 811, 814,
! 261: 817, 819, 824, 829, 832, 838, 842, 845, 848, 851,
! 262: 857, 861, 867, 871, 878, 883, 885, 890, 893, 899,
! 263: 900, 902, 904, 907, 909, 912, 913, 916, 919, 922,
! 264: 926, 930, 934, 938, 941, 944, 946, 948, 951, 954,
! 265: 956, 959, 962, 966, 968, 970, 973, 976, 978, 980,
! 266: 983, 986, 988, 991, 994, 998, 1000, 1003, 1005, 1007,
! 267: 1009, 1011, 1016, 1021, 1023, 1025, 1027, 1029, 1031, 1035,
! 268: 1037, 1041, 1042, 1047, 1048, 1056, 1061, 1062, 1070, 1075,
! 269: 1076, 1084, 1089, 1090, 1097, 1099, 1103, 1105, 1110, 1119,
! 270: 1121, 1125, 1127, 1130, 1134, 1139, 1141, 1143, 1147, 1152,
! 271: 1159, 1163, 1169, 1170, 1178, 1183, 1184, 1191, 1195, 1198,
! 272: 1203, 1205, 1206, 1208, 1209, 1211, 1213, 1216, 1222, 1225,
! 273: 1228, 1231, 1234, 1237, 1240, 1243, 1247, 1251, 1254, 1255,
! 274: 1259, 1260, 1264, 1267, 1269, 1271, 1272, 1274, 1277, 1279,
! 275: 1283, 1285, 1287, 1290, 1293, 1296, 1300, 1302, 1304, 1306,
! 276: 1309, 1312, 1314, 1315, 1317, 1322, 1326, 1328, 1331, 1334,
! 277: 1338, 1344, 1350, 1354, 1358, 1362, 1366, 1370, 1376, 1382,
! 278: 1386, 1390, 1394, 1398, 1400, 1403, 1406, 1410, 1414, 1415,
! 279: 1417, 1421, 1426, 1433, 1438, 1442, 1445, 1450, 1457, 1462,
! 280: 1466, 1469, 1471, 1475, 1477, 1481, 1484, 1487, 1488, 1490,
! 281: 1493, 1495, 1498, 1499, 1502, 1503, 1506, 1512, 1518, 1522,
! 282: 1528, 1533, 1537, 1541, 1547, 1549, 1551, 1557, 1561, 1565,
! 283: 1567, 1573, 1579, 1583, 1589, 1594, 1598, 1602, 1604, 1606,
! 284: 1610, 1614, 1620, 1626, 1630, 1636, 1640, 1644, 1648, 1653,
! 285: 1657, 1659, 1661, 1664, 1667, 1670, 1674, 1678, 1686, 1694,
! 286: 1700, 1708, 1712, 1720, 1728, 1734, 1742, 1746, 1748, 1751,
! 287: 1754, 1756, 1759, 1763, 1767, 1770, 1772, 1776, 1780, 1783,
! 288: 1789, 1793, 1798, 1802, 1807, 1810, 1814, 1817, 1821, 1826,
! 289: 1830, 1835, 1841, 1847, 1849, 1851, 1854, 1857, 1860, 1861,
! 290: 1862, 1864, 1866, 1869, 1873, 1875, 1878, 1881, 1887, 1893,
! 291: 1894, 1895, 1901, 1903, 1906, 1908, 1910, 1912, 1915, 1916,
! 292: 1921, 1923, 1924, 1925, 1931, 1932, 1933, 1941, 1942, 1943,
! 293: 1944, 1954, 1955, 1956, 1957, 1967, 1968, 1975, 1976, 1982,
! 294: 1983, 1991, 1992, 1997, 2000, 2003, 2006, 2010, 2017, 2026,
! 295: 2037, 2050, 2055, 2059, 2062, 2065, 2067, 2070, 2074, 2081,
! 296: 2086, 2093, 2098, 2102, 2103, 2111, 2114, 2115, 2121, 2125,
! 297: 2127, 2130, 2134, 2138, 2141, 2144, 2146, 2147, 2152, 2155,
! 298: 2159, 2163, 2164, 2165, 2170, 2171, 2172, 2177, 2178, 2183,
! 299: 2184, 2186, 2187, 2188, 2197, 2201, 2206, 2211, 2215, 2220,
! 300: 2227, 2234, 2235, 2237, 2238, 2240, 2242, 2243, 2245, 2247,
! 301: 2251, 2256, 2258, 2262, 2263, 2265, 2269, 2272, 2274, 2276,
! 302: 2279, 2282, 2284, 2288, 2292, 2298, 2302, 2308, 2312, 2316,
! 303: 2318, 2320, 2323, 2325, 2326, 2328, 2329, 2332, 2337, 2339,
! 304: 2341, 2343, 2346, 2349, 2352, 2354, 2356, 2358, 2362, 2364,
! 305: 2368, 2371, 2374, 2377, 2380, 2383, 2386, 2389, 2392, 2395,
! 306: 2398, 2401, 2404, 2407, 2410, 2413, 2416, 2419, 2422, 2425,
! 307: 2428, 2431, 2434, 2437, 2441, 2444, 2447, 2450, 2454, 2457,
! 308: 2461, 2464, 2467, 2471
1.1 root 309: };
310:
311: static const short yyrhs[] = { -1,
1.1.1.5 ! root 312: 111, 0, 0, 112, 116, 0, 111, 116, 0, 0,
! 313: 0, 26, 0, 27, 0, 131, 0, 130, 0, 124,
! 314: 0, 122, 0, 115, 83, 167, 104, 105, 0, 117,
! 315: 50, 111, 106, 0, 117, 50, 106, 0, 117, 113,
! 316: 131, 114, 0, 117, 113, 130, 114, 0, 97, 0,
! 317: 0, 45, 65, 119, 120, 66, 0, 121, 0, 120,
! 318: 51, 121, 0, 200, 140, 0, 200, 141, 55, 212,
! 319: 0, 200, 49, 212, 0, 293, 0, 39, 123, 105,
! 320: 0, 3, 0, 123, 51, 3, 0, 0, 118, 201,
! 321: 50, 125, 105, 0, 0, 118, 202, 50, 126, 105,
! 322: 0, 0, 118, 201, 55, 127, 105, 0, 0, 118,
! 323: 202, 55, 128, 105, 0, 118, 201, 105, 0, 118,
! 324: 202, 105, 0, 118, 231, 298, 182, 189, 129, 0,
! 325: 118, 173, 172, 298, 182, 189, 129, 0, 118, 175,
! 326: 172, 129, 0, 118, 1, 106, 0, 118, 1, 105,
! 327: 0, 50, 0, 55, 0, 105, 0, 53, 0, 24,
! 328: 0, 181, 105, 0, 175, 181, 105, 0, 175, 172,
! 329: 105, 0, 173, 180, 105, 0, 173, 172, 105, 0,
! 330: 175, 105, 0, 173, 105, 0, 1, 105, 0, 1,
! 331: 106, 0, 105, 0, 132, 136, 244, 0, 132, 135,
! 332: 136, 244, 0, 132, 168, 244, 0, 132, 135, 105,
! 333: 168, 244, 0, 132, 135, 168, 244, 0, 173, 172,
! 334: 1, 0, 175, 231, 1, 0, 231, 1, 0, 173,
! 335: 172, 298, 0, 175, 231, 298, 0, 231, 298, 0,
! 336: 4, 83, 291, 104, 226, 298, 0, 234, 83, 291,
! 337: 104, 226, 298, 0, 4, 44, 226, 298, 0, 234,
! 338: 44, 226, 298, 0, 96, 0, 173, 83, 291, 104,
! 339: 226, 298, 0, 173, 44, 226, 298, 0, 173, 172,
! 340: 298, 0, 175, 83, 291, 104, 226, 298, 0, 175,
! 341: 44, 226, 298, 0, 175, 172, 298, 0, 231, 298,
! 342: 0, 24, 3, 0, 134, 0, 134, 53, 193, 0,
! 343: 134, 83, 156, 104, 0, 134, 44, 0, 55, 137,
! 344: 138, 0, 0, 0, 139, 0, 138, 51, 139, 0,
! 345: 138, 1, 0, 83, 156, 104, 0, 44, 0, 140,
! 346: 83, 156, 104, 0, 140, 44, 0, 144, 83, 156,
! 347: 104, 0, 144, 44, 0, 234, 83, 156, 104, 0,
! 348: 234, 44, 0, 232, 140, 83, 156, 104, 0, 232,
! 349: 140, 44, 0, 3, 0, 4, 0, 95, 0, 101,
! 350: 0, 100, 0, 102, 0, 3, 0, 4, 0, 95,
! 351: 0, 107, 140, 0, 303, 0, 144, 145, 151, 0,
! 352: 95, 65, 147, 66, 0, 4, 65, 147, 66, 0,
! 353: 50, 0, 55, 0, 0, 0, 148, 0, 147, 51,
! 354: 148, 0, 223, 0, 160, 0, 0, 99, 208, 150,
! 355: 214, 215, 106, 0, 0, 149, 0, 0, 149, 152,
! 356: 0, 70, 0, 69, 0, 75, 0, 76, 0, 108,
! 357: 0, 156, 0, 160, 0, 44, 0, 83, 154, 104,
! 358: 0, 160, 0, 156, 51, 160, 0, 156, 51, 1,
! 359: 0, 161, 0, 0, 33, 158, 159, 0, 71, 159,
! 360: 0, 61, 159, 0, 107, 159, 0, 153, 159, 0,
! 361: 58, 140, 0, 12, 157, 0, 12, 83, 223, 104,
! 362: 0, 29, 157, 0, 29, 83, 223, 104, 0, 165,
! 363: 164, 223, 0, 165, 164, 83, 156, 104, 223, 0,
! 364: 165, 164, 178, 83, 156, 104, 0, 165, 164, 83,
! 365: 156, 104, 178, 83, 156, 104, 0, 165, 164, 178,
! 366: 44, 0, 165, 164, 83, 156, 104, 178, 44, 0,
! 367: 165, 164, 223, 53, 193, 0, 165, 164, 83, 156,
! 368: 104, 223, 53, 193, 0, 165, 164, 83, 176, 224,
! 369: 104, 84, 227, 109, 0, 165, 164, 83, 225, 224,
! 370: 104, 84, 227, 109, 0, 165, 164, 83, 176, 224,
! 371: 104, 0, 165, 164, 83, 156, 104, 83, 176, 224,
! 372: 104, 0, 165, 164, 83, 225, 224, 104, 0, 165,
! 373: 164, 83, 156, 104, 83, 225, 224, 104, 0, 165,
! 374: 164, 49, 0, 165, 164, 83, 156, 104, 49, 0,
! 375: 166, 159, 0, 166, 84, 109, 159, 0, 166, 84,
! 376: 154, 109, 159, 0, 157, 0, 83, 223, 104, 160,
! 377: 0, 83, 223, 104, 50, 194, 198, 106, 0, 30,
! 378: 83, 154, 104, 0, 31, 83, 154, 104, 0, 31,
! 379: 83, 4, 104, 0, 159, 0, 160, 69, 160, 0,
! 380: 160, 70, 160, 0, 160, 71, 160, 0, 160, 72,
! 381: 160, 0, 160, 73, 160, 0, 160, 67, 160, 0,
! 382: 160, 68, 160, 0, 160, 64, 160, 0, 160, 65,
! 383: 160, 0, 160, 66, 160, 0, 160, 63, 160, 0,
! 384: 160, 62, 160, 0, 160, 61, 160, 0, 160, 59,
! 385: 160, 0, 160, 60, 160, 0, 160, 58, 160, 0,
! 386: 160, 57, 160, 0, 160, 54, 286, 55, 160, 0,
! 387: 160, 53, 160, 0, 160, 52, 160, 0, 161, 82,
! 388: 160, 0, 170, 160, 0, 3, 0, 303, 0, 9,
! 389: 0, 167, 0, 83, 154, 104, 0, 83, 1, 104,
! 390: 0, 0, 83, 162, 245, 104, 0, 0, 161, 83,
! 391: 156, 104, 163, 152, 0, 161, 44, 0, 161, 84,
! 392: 154, 109, 0, 169, 142, 0, 169, 232, 142, 0,
! 393: 161, 75, 0, 161, 76, 0, 40, 0, 8, 83,
! 394: 156, 104, 0, 178, 83, 156, 104, 0, 178, 44,
! 395: 0, 46, 178, 83, 156, 104, 0, 46, 178, 44,
! 396: 0, 46, 3, 0, 46, 303, 0, 232, 142, 0,
! 397: 232, 142, 83, 156, 104, 0, 232, 142, 44, 0,
! 398: 169, 142, 83, 156, 104, 0, 169, 142, 44, 0,
! 399: 169, 232, 142, 83, 156, 104, 0, 169, 232, 142,
! 400: 44, 0, 38, 0, 38, 50, 156, 106, 0, 38,
! 401: 42, 0, 38, 42, 83, 167, 104, 0, 0, 46,
! 402: 0, 37, 0, 46, 166, 0, 10, 0, 167, 10,
! 403: 0, 0, 161, 81, 0, 161, 79, 0, 161, 80,
! 404: 0, 173, 180, 105, 0, 173, 172, 105, 0, 175,
! 405: 181, 105, 0, 175, 172, 105, 0, 173, 105, 0,
! 406: 175, 105, 0, 229, 0, 231, 0, 47, 229, 0,
! 407: 47, 231, 0, 178, 0, 175, 178, 0, 178, 174,
! 408: 0, 175, 178, 174, 0, 179, 0, 6, 0, 174,
! 409: 179, 0, 174, 6, 0, 8, 0, 6, 0, 175,
! 410: 8, 0, 175, 6, 0, 178, 0, 225, 178, 0,
! 411: 178, 177, 0, 225, 178, 177, 0, 179, 0, 177,
! 412: 179, 0, 195, 0, 7, 0, 4, 0, 234, 0,
! 413: 28, 83, 154, 104, 0, 28, 83, 223, 104, 0,
! 414: 143, 0, 7, 0, 8, 0, 195, 0, 183, 0,
! 415: 180, 51, 185, 0, 187, 0, 181, 51, 185, 0,
! 416: 0, 115, 83, 167, 104, 0, 0, 172, 298, 182,
! 417: 189, 53, 184, 193, 0, 172, 298, 182, 189, 0,
! 418: 0, 172, 298, 182, 189, 53, 186, 193, 0, 172,
! 419: 298, 182, 189, 0, 0, 231, 298, 182, 189, 53,
! 420: 188, 193, 0, 231, 298, 182, 189, 0, 0, 32,
! 421: 83, 83, 190, 104, 104, 0, 191, 0, 190, 51,
! 422: 191, 0, 3, 0, 3, 83, 9, 104, 0, 3,
! 423: 83, 3, 51, 9, 51, 9, 104, 0, 140, 0,
! 424: 192, 51, 140, 0, 160, 0, 50, 106, 0, 50,
! 425: 194, 106, 0, 50, 194, 51, 106, 0, 1, 0,
! 426: 193, 0, 194, 51, 193, 0, 84, 160, 109, 193,
! 427: 0, 194, 51, 20, 160, 55, 193, 0, 140, 55,
! 428: 193, 0, 194, 51, 140, 55, 193, 0, 0, 13,
! 429: 140, 50, 196, 221, 199, 106, 0, 13, 140, 50,
! 430: 106, 0, 0, 13, 50, 197, 221, 199, 106, 0,
! 431: 13, 50, 106, 0, 13, 140, 0, 207, 214, 215,
! 432: 106, 0, 207, 0, 0, 51, 0, 0, 51, 0,
! 433: 35, 0, 42, 35, 0, 42, 83, 167, 104, 35,
! 434: 0, 200, 6, 0, 200, 7, 0, 200, 8, 0,
! 435: 200, 35, 0, 200, 140, 0, 200, 144, 0, 200,
! 436: 49, 0, 200, 144, 50, 0, 200, 144, 55, 0,
! 437: 200, 141, 0, 0, 201, 204, 208, 0, 0, 202,
! 438: 205, 208, 0, 200, 50, 0, 206, 0, 203, 0,
! 439: 0, 55, 0, 55, 209, 0, 210, 0, 209, 51,
! 440: 210, 0, 212, 0, 211, 0, 213, 212, 0, 213,
! 441: 211, 0, 212, 5, 0, 144, 146, 151, 0, 140,
! 442: 0, 36, 0, 6, 0, 213, 36, 0, 213, 6,
! 443: 0, 50, 0, 0, 216, 0, 215, 36, 55, 216,
! 444: 0, 215, 36, 55, 0, 217, 0, 216, 217, 0,
! 445: 216, 105, 0, 173, 218, 105, 0, 173, 83, 291,
! 446: 104, 105, 0, 173, 83, 291, 104, 106, 0, 173,
! 447: 44, 105, 0, 173, 44, 106, 0, 175, 218, 105,
! 448: 0, 175, 172, 105, 0, 175, 218, 106, 0, 175,
! 449: 83, 291, 104, 105, 0, 175, 83, 291, 104, 106,
! 450: 0, 175, 44, 105, 0, 175, 44, 106, 0, 55,
! 451: 160, 105, 0, 55, 160, 106, 0, 1, 0, 133,
! 452: 55, 0, 133, 50, 0, 231, 298, 105, 0, 231,
! 453: 298, 106, 0, 0, 219, 0, 218, 51, 220, 0,
! 454: 172, 298, 182, 189, 0, 172, 298, 182, 189, 53,
! 455: 193, 0, 3, 55, 160, 189, 0, 49, 160, 189,
! 456: 0, 55, 160, 0, 172, 298, 182, 189, 0, 172,
! 457: 298, 182, 189, 53, 193, 0, 3, 55, 160, 189,
! 458: 0, 49, 160, 189, 0, 55, 160, 0, 222, 0,
! 459: 221, 51, 222, 0, 140, 0, 140, 53, 160, 0,
! 460: 176, 224, 0, 225, 224, 0, 0, 235, 0, 47,
! 461: 235, 0, 8, 0, 225, 8, 0, 0, 226, 8,
! 462: 0, 0, 228, 154, 0, 229, 83, 156, 104, 226,
! 463: 0, 229, 83, 291, 104, 226, 0, 229, 44, 226,
! 464: 0, 229, 83, 1, 104, 226, 0, 229, 84, 227,
! 465: 109, 0, 229, 84, 109, 0, 83, 230, 104, 0,
! 466: 83, 71, 226, 229, 104, 0, 78, 0, 237, 0,
! 467: 83, 61, 226, 229, 104, 0, 71, 226, 229, 0,
! 468: 61, 226, 229, 0, 4, 0, 230, 83, 156, 104,
! 469: 226, 0, 230, 83, 291, 104, 226, 0, 230, 44,
! 470: 226, 0, 230, 83, 1, 104, 226, 0, 230, 84,
! 471: 227, 109, 0, 230, 84, 109, 0, 83, 230, 104,
! 472: 0, 78, 0, 237, 0, 71, 226, 229, 0, 61,
! 473: 226, 229, 0, 231, 83, 156, 104, 226, 0, 231,
! 474: 83, 291, 104, 226, 0, 231, 44, 226, 0, 231,
! 475: 83, 1, 104, 226, 0, 83, 231, 104, 0, 71,
! 476: 226, 231, 0, 61, 226, 231, 0, 231, 84, 227,
! 477: 109, 0, 231, 84, 109, 0, 3, 0, 303, 0,
! 478: 107, 4, 0, 107, 3, 0, 107, 95, 0, 232,
! 479: 295, 231, 0, 232, 295, 4, 0, 232, 295, 4,
! 480: 83, 156, 104, 226, 0, 232, 295, 4, 83, 291,
! 481: 104, 226, 0, 232, 295, 4, 44, 226, 0, 232,
! 482: 295, 4, 83, 1, 104, 226, 0, 232, 295, 95,
! 483: 0, 232, 295, 95, 83, 156, 104, 226, 0, 232,
! 484: 295, 95, 83, 291, 104, 226, 0, 232, 295, 95,
! 485: 44, 226, 0, 232, 295, 95, 83, 1, 104, 226,
! 486: 0, 46, 295, 231, 0, 233, 0, 143, 46, 0,
! 487: 4, 46, 0, 5, 0, 143, 5, 0, 83, 235,
! 488: 104, 0, 71, 226, 235, 0, 71, 226, 0, 78,
! 489: 0, 83, 236, 104, 0, 61, 226, 235, 0, 61,
! 490: 226, 0, 235, 83, 291, 104, 226, 0, 235, 44,
! 491: 226, 0, 235, 84, 227, 109, 0, 235, 84, 109,
! 492: 0, 83, 291, 104, 226, 0, 44, 226, 0, 84,
! 493: 227, 109, 0, 84, 109, 0, 232, 71, 226, 0,
! 494: 232, 71, 226, 235, 0, 232, 61, 226, 0, 232,
! 495: 61, 226, 235, 0, 232, 295, 71, 226, 229, 0,
! 496: 232, 295, 61, 226, 229, 0, 250, 0, 239, 0,
! 497: 238, 250, 0, 238, 239, 0, 1, 105, 0, 0,
! 498: 0, 242, 0, 243, 0, 242, 243, 0, 34, 192,
! 499: 105, 0, 245, 0, 1, 245, 0, 50, 106, 0,
! 500: 50, 240, 241, 238, 106, 0, 50, 240, 241, 1,
! 501: 106, 0, 0, 0, 14, 247, 155, 248, 249, 0,
! 502: 245, 0, 240, 251, 0, 245, 0, 251, 0, 171,
! 503: 0, 154, 105, 0, 0, 246, 15, 252, 249, 0,
! 504: 246, 0, 0, 0, 16, 253, 155, 254, 249, 0,
! 505: 0, 0, 17, 255, 249, 16, 256, 155, 105, 0,
! 506: 0, 0, 0, 283, 257, 286, 105, 258, 286, 104,
! 507: 259, 249, 0, 0, 0, 0, 284, 260, 286, 105,
! 508: 261, 286, 104, 262, 249, 0, 0, 19, 83, 154,
! 509: 104, 263, 249, 0, 0, 20, 154, 55, 264, 250,
! 510: 0, 0, 20, 154, 56, 154, 55, 265, 250, 0,
! 511: 0, 21, 55, 266, 250, 0, 22, 105, 0, 23,
! 512: 105, 0, 24, 105, 0, 24, 154, 105, 0, 115,
! 513: 285, 83, 167, 104, 105, 0, 115, 285, 83, 167,
! 514: 55, 287, 104, 105, 0, 115, 285, 83, 167, 55,
! 515: 287, 55, 287, 104, 105, 0, 115, 285, 83, 167,
! 516: 55, 287, 55, 287, 55, 290, 104, 105, 0, 25,
! 517: 71, 154, 105, 0, 25, 140, 105, 0, 270, 250,
! 518: 0, 270, 106, 0, 105, 0, 93, 105, 0, 93,
! 519: 154, 105, 0, 91, 299, 83, 156, 104, 105, 0,
! 520: 91, 299, 44, 105, 0, 85, 299, 83, 156, 104,
! 521: 105, 0, 85, 299, 44, 105, 0, 85, 140, 105,
! 522: 0, 0, 269, 89, 140, 50, 267, 277, 106, 0,
! 523: 269, 1, 0, 0, 273, 274, 274, 268, 281, 0,
! 524: 269, 87, 301, 0, 269, 0, 271, 106, 0, 271,
! 525: 238, 106, 0, 271, 1, 106, 0, 3, 55, 0,
! 526: 95, 55, 0, 49, 0, 0, 88, 50, 272, 240,
! 527: 0, 275, 106, 0, 275, 238, 106, 0, 275, 1,
! 528: 106, 0, 0, 0, 92, 50, 276, 240, 0, 0,
! 529: 0, 277, 299, 278, 245, 0, 0, 277, 21, 279,
! 530: 245, 0, 0, 140, 0, 0, 0, 281, 90, 83,
! 531: 223, 280, 104, 282, 245, 0, 18, 83, 105, 0,
! 532: 18, 83, 154, 105, 0, 18, 83, 50, 106, 0,
! 533: 18, 83, 171, 0, 18, 83, 1, 105, 0, 18,
! 534: 83, 50, 240, 238, 106, 0, 18, 83, 50, 240,
! 535: 1, 106, 0, 0, 8, 0, 0, 154, 0, 1,
! 536: 0, 0, 288, 0, 289, 0, 288, 51, 289, 0,
! 537: 10, 83, 154, 104, 0, 10, 0, 290, 51, 10,
! 538: 0, 0, 292, 0, 292, 51, 11, 0, 292, 11,
! 539: 0, 11, 0, 94, 0, 292, 94, 0, 292, 55,
! 540: 0, 293, 0, 293, 53, 193, 0, 292, 51, 293,
! 541: 0, 292, 51, 293, 53, 193, 0, 292, 51, 297,
! 542: 0, 292, 51, 297, 53, 193, 0, 173, 296, 294,
! 543: 0, 175, 296, 294, 0, 224, 0, 231, 0, 47,
! 544: 231, 0, 226, 0, 0, 294, 0, 0, 86, 301,
! 545: 0, 93, 83, 302, 104, 0, 98, 0, 3, 0,
! 546: 4, 0, 46, 3, 0, 46, 4, 0, 232, 3,
! 547: 0, 234, 0, 223, 0, 299, 0, 301, 51, 299,
! 548: 0, 300, 0, 302, 51, 300, 0, 41, 71, 0,
! 549: 41, 72, 0, 41, 73, 0, 41, 69, 0, 41,
! 550: 70, 0, 41, 61, 0, 41, 59, 0, 41, 60,
! 551: 0, 41, 107, 0, 41, 51, 0, 41, 64, 0,
! 552: 41, 65, 0, 41, 66, 0, 41, 63, 0, 41,
! 553: 52, 0, 41, 53, 0, 41, 67, 0, 41, 68,
! 554: 0, 41, 75, 0, 41, 76, 0, 41, 58, 0,
! 555: 41, 57, 0, 41, 108, 0, 41, 54, 55, 0,
! 556: 41, 62, 0, 41, 79, 0, 41, 80, 0, 41,
! 557: 43, 226, 0, 41, 44, 0, 41, 84, 109, 0,
! 558: 41, 38, 0, 41, 37, 0, 41, 176, 224, 0,
! 559: 41, 1, 0
1.1 root 560: };
561:
562: #if YYDEBUG != 0
563: static const short yyrline[] = { 0,
1.1.1.5 ! root 564: 283, 284, 292, 294, 295, 299, 304, 308, 311, 314,
! 565: 317, 319, 321, 322, 325, 327, 329, 332, 337, 342,
! 566: 345, 349, 352, 356, 369, 376, 383, 386, 391, 393,
! 567: 397, 403, 403, 406, 406, 409, 409, 422, 422, 427,
! 568: 432, 447, 470, 479, 480, 483, 484, 485, 486, 487,
! 569: 490, 496, 499, 504, 510, 517, 519, 537, 538, 539,
! 570: 542, 556, 569, 572, 575, 578, 580, 582, 586, 592,
! 571: 597, 602, 607, 612, 617, 622, 628, 638, 647, 654,
! 572: 663, 672, 679, 688, 696, 698, 700, 702, 706, 715,
! 573: 738, 741, 743, 744, 747, 754, 761, 765, 767, 769,
! 574: 771, 773, 775, 779, 785, 787, 788, 791, 793, 794,
! 575: 797, 799, 800, 804, 805, 808, 837, 840, 844, 848,
! 576: 849, 853, 858, 861, 865, 868, 871, 903, 922, 925,
! 577: 929, 932, 936, 938, 940, 942, 944, 948, 951, 954,
! 578: 959, 963, 966, 968, 972, 979, 982, 985, 987, 989,
! 579: 991, 997, 1002, 1022, 1024, 1057, 1060, 1062, 1064, 1066,
! 580: 1068, 1070, 1072, 1074, 1082, 1092, 1095, 1097, 1099, 1101,
! 581: 1104, 1106, 1109, 1137, 1156, 1181, 1183, 1186, 1201, 1203,
! 582: 1205, 1216, 1218, 1220, 1222, 1224, 1226, 1228, 1230, 1232,
! 583: 1234, 1236, 1238, 1240, 1242, 1244, 1246, 1248, 1250, 1252,
! 584: 1254, 1256, 1263, 1266, 1281, 1284, 1299, 1300, 1302, 1304,
! 585: 1306, 1314, 1329, 1334, 1341, 1351, 1401, 1403, 1419, 1421,
! 586: 1425, 1448, 1492, 1494, 1496, 1498, 1500, 1539, 1546, 1548,
! 587: 1550, 1552, 1555, 1558, 1560, 1602, 1604, 1609, 1611, 1615,
! 588: 1618, 1622, 1624, 1632, 1634, 1638, 1647, 1662, 1668, 1671,
! 589: 1678, 1686, 1689, 1696, 1701, 1708, 1710, 1711, 1713, 1721,
! 590: 1724, 1726, 1728, 1732, 1736, 1741, 1743, 1754, 1758, 1760,
! 591: 1763, 1778, 1781, 1783, 1785, 1789, 1792, 1800, 1801, 1802,
! 592: 1803, 1804, 1808, 1812, 1817, 1818, 1819, 1822, 1824, 1827,
! 593: 1829, 1832, 1835, 1839, 1847, 1849, 1858, 1864, 1865, 1871,
! 594: 1879, 1881, 1892, 1895, 1900, 1902, 1907, 1912, 1923, 1938,
! 595: 1941, 1945, 1947, 1952, 1955, 1958, 1964, 1967, 1970, 1972,
! 596: 1974, 1976, 1980, 1984, 1988, 1991, 1994, 1998, 2001, 2005,
! 597: 2060, 2075, 2077, 2080, 2082, 2087, 2088, 2090, 2092, 2095,
! 598: 2098, 2101, 2106, 2109, 2111, 2113, 2119, 2123, 2128, 2133,
! 599: 2140, 2145, 2154, 2159, 2159, 2161, 2164, 2166, 2170, 2172,
! 600: 2176, 2181, 2185, 2189, 2195, 2204, 2218, 2221, 2223, 2227,
! 601: 2253, 2262, 2288, 2291, 2293, 2295, 2298, 2301, 2304, 2309,
! 602: 2374, 2376, 2380, 2382, 2386, 2389, 2392, 2396, 2398, 2402,
! 603: 2404, 2408, 2410, 2414, 2419, 2421, 2423, 2425, 2431, 2434,
! 604: 2435, 2446, 2451, 2455, 2459, 2463, 2468, 2472, 2475, 2478,
! 605: 2481, 2489, 2491, 2495, 2498, 2502, 2505, 2509, 2512, 2513,
! 606: 2517, 2520, 2524, 2527, 2535, 2537, 2541, 2544, 2546, 2548,
! 607: 2550, 2552, 2554, 2556, 2558, 2560, 2561, 2563, 2565, 2567,
! 608: 2570, 2573, 2575, 2577, 2579, 2581, 2583, 2585, 2587, 2588,
! 609: 2590, 2597, 2600, 2602, 2604, 2606, 2608, 2610, 2612, 2614,
! 610: 2616, 2620, 2623, 2629, 2631, 2633, 2642, 2644, 2646, 2648,
! 611: 2650, 2653, 2655, 2657, 2659, 2661, 2663, 2667, 2675, 2692,
! 612: 2695, 2696, 2717, 2722, 2724, 2726, 2728, 2730, 2732, 2734,
! 613: 2736, 2738, 2740, 2742, 2744, 2746, 2748, 2752, 2760, 2767,
! 614: 2774, 2783, 2791, 2804, 2806, 2807, 2808, 2811, 2818, 2828,
! 615: 2830, 2835, 2837, 2840, 2854, 2857, 2860, 2862, 2867, 2874,
! 616: 2878, 2881, 2883, 2886, 2893, 2896, 2899, 2902, 2915, 2918,
! 617: 2920, 2923, 2929, 2931, 2933, 2937, 2940, 2946, 2951, 2954,
! 618: 2959, 2965, 2969, 2972, 2978, 2993, 3000, 3003, 3053, 3053,
! 619: 3132, 3132, 3148, 3148, 3152, 3156, 3159, 3164, 3171, 3180,
! 620: 3189, 3198, 3201, 3207, 3209, 3213, 3217, 3218, 3219, 3222,
! 621: 3225, 3228, 3231, 3234, 3246, 3275, 3285, 3298, 3326, 3357,
! 622: 3369, 3377, 3382, 3389, 3397, 3399, 3406, 3408, 3408, 3416,
! 623: 3421, 3428, 3429, 3431, 3431, 3434, 3455, 3471, 3490, 3508,
! 624: 3511, 3513, 3516, 3533, 3551, 3554, 3556, 3560, 3563, 3565,
! 625: 3567, 3573, 3576, 3580, 3583, 3584, 3590, 3592, 3595, 3597,
! 626: 3601, 3606, 3609, 3618, 3625, 3630, 3635, 3639, 3646, 3650,
! 627: 3654, 3668, 3671, 3673, 3675, 3677, 3679, 3687, 3703, 3708,
! 628: 3709, 3710, 3714, 3718, 3736, 3744, 3747, 3749, 3753, 3756,
! 629: 3758, 3760, 3762, 3764, 3766, 3769, 3774, 3776, 3783, 3785,
! 630: 3792, 3795, 3797, 3799, 3801, 3803, 3805, 3807, 3809, 3811,
! 631: 3813, 3815, 3817, 3819, 3821, 3823, 3832, 3834, 3836, 3838,
! 632: 3840, 3842, 3844, 3846, 3848, 3850, 3862, 3874, 3905, 3917,
! 633: 3929, 3942, 3958, 3960
1.1 root 634: };
635:
636: static const char * const yytname[] = { "$","error","$illegal.","IDENTIFIER",
637: "TYPENAME","SCOPED_TYPENAME","SCSPEC","TYPESPEC","TYPE_QUAL","CONSTANT","STRING",
638: "ELLIPSIS","SIZEOF","ENUM","IF","ELSE","WHILE","DO","FOR","SWITCH","CASE","DEFAULT",
1.1.1.5 ! root 639: "BREAK","CONTINUE","RETURN","GOTO","ASM_KEYWORD","GCC_ASM_KEYWORD","TYPEOF",
! 640: "ALIGNOF","HEADOF","CLASSOF","ATTRIBUTE","EXTENSION","LABEL","AGGR","VISSPEC",
! 641: "DELETE","NEW","OVERLOAD","THIS","OPERATOR","DYNAMIC","POINTSAT_LEFT_RIGHT",
! 642: "LEFT_RIGHT","TEMPLATE","SCOPE","START_DECLARATOR","EMPTY","TYPENAME_COLON",
! 643: "'{'","','","ASSIGN","'='","'?'","':'","RANGE","OROR","ANDAND","'|'","'^'","'&'",
! 644: "MIN_MAX","EQCOMPARE","ARITHCOMPARE","'<'","'>'","LSHIFT","RSHIFT","'+'","'-'",
! 645: "'*'","'/'","'%'","UNARY","PLUSPLUS","MINUSMINUS","HYPERUNARY","PAREN_STAR_PAREN",
! 646: "POINTSAT","POINTSAT_STAR","'.'","DOT_STAR","'('","'['","RAISE","RAISES","RERAISE",
! 647: "TRY","EXCEPT","CATCH","THROW","ANSI_TRY","ANSI_THROW","TYPENAME_ELLIPSIS","PTYPENAME",
! 648: "PRE_PARSED_FUNCTION_DECL","EXTERN_LANG_STRING","ALL","PRE_PARSED_CLASS_DECL",
! 649: "TYPENAME_DEFN","IDENTIFIER_DEFN","PTYPENAME_DEFN","END_OF_SAVED_INPUT","')'",
! 650: "';'","'}'","'~'","'!'","']'","program","extdefs","@1",".hush_warning",".warning_ok",
! 651: "asm_keyword","extdef","extern_lang_string","template_header","@2","template_parm_list",
! 652: "template_parm","overloaddef","ov_identifiers","template_def","@3","@4","@5",
! 653: "@6","fn_tmpl_end","datadef","fndef","fn.def1","fn.def2","return_id","return_init",
! 654: "base_init",".set_base_init","member_init_list","member_init","identifier","identifier_defn",
! 655: "identifier_or_opname","template_type","template_type_name","tmpl.1","tmpl.2",
! 656: "template_arg_list","template_arg","template_instantiate_once","@7","template_instantiation",
! 657: "template_instantiate_some","unop","expr","paren_expr_or_null","nonnull_exprlist",
1.1.1.2 root 658: "unary_expr","@8","cast_expr","expr_no_commas","primary","@9","@10","new",".scope",
1.1 root 659: "delete","string","nodecls","object","object_star","decl","declarator","typed_declspecs",
660: "reserved_declspecs","declmods","typed_typespecs","reserved_typespecquals","typespec",
661: "typespecqual_reserved","initdecls","notype_initdecls","maybeasm","initdcl0",
1.1.1.2 root 662: "@11","initdcl","@12","notype_initdcl0","@13","maybe_attribute","attribute_list",
1.1.1.3 root 663: "attrib","identifiers_or_typenames","init","initlist","structsp","@14","@15",
664: "maybecomma","maybecomma_warn","aggr","named_class_head_sans_basetype","named_class_head_sans_basetype_defn",
665: "named_class_head","@16","@17","unnamed_class_head","class_head","maybe_base_class_list",
1.1.1.4 root 666: "base_class_list","base_class","scoped_base_class","base_class.1","base_class_visibility_list",
667: "left_curly","opt.component_decl_list","component_decl_list","component_decl",
668: "components","component_declarator0","component_declarator","enumlist","enumerator",
669: "typename","absdcl","nonempty_type_quals","type_quals","nonmomentary_expr","@18",
670: "after_type_declarator","after_type_declarator_no_typename","notype_declarator",
671: "scoped_id","typename_scope","scoped_typename","absdcl1","abs_member_declarator",
672: "after_type_member_declarator","stmts","errstmt",".pushlevel","maybe_label_decls",
673: "label_decls","label_decl","compstmt_or_error","compstmt","simple_if","@19",
1.1.1.5 ! root 674: "@20","implicitly_scoped_stmt","stmt","simple_stmt","@21","@22","@23","@24",
! 675: "@25","@26","@27","@28","@29","@30","@31","@32","@33","@34","@35","@36","@37",
! 676: "try","label_colon","try_head","@38","ansi_try","ansi_dummy","ansi_try_head",
! 677: "@39","except_stmts","@40","@41","optional_identifier","ansi_except_stmts","@42",
! 678: "forhead.1","forhead.2","maybe_type_qual","xexpr","asm_operands","nonnull_asm_operands",
! 679: "asm_operand","asm_clobbers","parmlist","parms","parm","abs_or_notype_decl",
! 680: "see_typename","dont_see_typename","bad_parm","maybe_raises","raise_identifier",
! 681: "ansi_raise_identifier","raise_identifiers","ansi_raise_identifiers","operator_name",
! 682: ""
1.1 root 683: };
684: #endif
685:
686: static const short yyr1[] = { 0,
1.1.1.5 ! root 687: 110, 110, 112, 111, 111, 113, 114, 115, 115, 116,
! 688: 116, 116, 116, 116, 116, 116, 116, 116, 117, 119,
! 689: 118, 120, 120, 121, 121, 121, 121, 122, 123, 123,
! 690: 125, 124, 126, 124, 127, 124, 128, 124, 124, 124,
! 691: 124, 124, 124, 124, 124, 129, 129, 129, 129, 129,
! 692: 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
! 693: 131, 131, 131, 131, 131, 131, 131, 131, 132, 132,
! 694: 132, 132, 132, 132, 132, 132, 133, 133, 133, 133,
! 695: 133, 133, 133, 134, 135, 135, 135, 135, 136, 137,
! 696: 138, 138, 138, 138, 139, 139, 139, 139, 139, 139,
! 697: 139, 139, 139, 139, 140, 140, 140, 141, 141, 141,
! 698: 142, 142, 142, 142, 142, 143, 144, 144, 145, 145,
! 699: 145, 146, 147, 147, 148, 148, 150, 149, 151, 151,
! 700: 152, 152, 153, 153, 153, 153, 153, 154, 154, 155,
! 701: 155, 156, 156, 156, 157, 158, 157, 157, 157, 157,
1.1.1.4 root 702: 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
703: 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
1.1.1.5 ! root 704: 157, 157, 157, 157, 157, 159, 159, 159, 159, 159,
! 705: 159, 160, 160, 160, 160, 160, 160, 160, 160, 160,
! 706: 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
! 707: 160, 160, 160, 160, 161, 161, 161, 161, 161, 161,
! 708: 162, 161, 163, 161, 161, 161, 161, 161, 161, 161,
! 709: 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
! 710: 161, 161, 161, 161, 161, 164, 164, 164, 164, 165,
! 711: 165, 166, 166, 167, 167, 168, 169, 169, 170, 171,
! 712: 171, 171, 171, 171, 171, 172, 172, 172, 172, 173,
! 713: 173, 173, 173, 174, 174, 174, 174, 175, 175, 175,
! 714: 175, 176, 176, 176, 176, 177, 177, 178, 178, 178,
! 715: 178, 178, 178, 178, 179, 179, 179, 180, 180, 181,
! 716: 181, 182, 182, 184, 183, 183, 186, 185, 185, 188,
! 717: 187, 187, 189, 189, 190, 190, 191, 191, 191, 192,
! 718: 192, 193, 193, 193, 193, 193, 194, 194, 194, 194,
! 719: 194, 194, 196, 195, 195, 197, 195, 195, 195, 195,
! 720: 195, 198, 198, 199, 199, 200, 200, 200, 200, 200,
! 721: 200, 200, 201, 201, 201, 201, 201, 202, 204, 203,
! 722: 205, 203, 206, 207, 207, 208, 208, 208, 209, 209,
! 723: 210, 210, 210, 210, 211, 212, 212, 213, 213, 213,
! 724: 213, 214, 215, 215, 215, 215, 216, 216, 216, 217,
! 725: 217, 217, 217, 217, 217, 217, 217, 217, 217, 217,
! 726: 217, 217, 217, 217, 217, 217, 217, 217, 218, 218,
! 727: 218, 219, 219, 219, 219, 219, 220, 220, 220, 220,
! 728: 220, 221, 221, 222, 222, 223, 223, 224, 224, 224,
! 729: 225, 225, 226, 226, 228, 227, 229, 229, 229, 229,
! 730: 229, 229, 229, 229, 229, 229, 229, 229, 229, 229,
! 731: 230, 230, 230, 230, 230, 230, 230, 230, 230, 230,
! 732: 230, 231, 231, 231, 231, 231, 231, 231, 231, 231,
! 733: 231, 231, 231, 231, 231, 231, 231, 231, 231, 231,
! 734: 231, 231, 231, 231, 231, 231, 231, 232, 232, 233,
! 735: 234, 234, 235, 235, 235, 235, 235, 235, 235, 235,
! 736: 235, 235, 235, 235, 235, 235, 235, 236, 236, 236,
! 737: 236, 237, 237, 238, 238, 238, 238, 239, 240, 241,
! 738: 241, 242, 242, 243, 244, 244, 245, 245, 245, 247,
! 739: 248, 246, 249, 249, 250, 250, 251, 251, 252, 251,
! 740: 251, 253, 254, 251, 255, 256, 251, 257, 258, 259,
! 741: 251, 260, 261, 262, 251, 263, 251, 264, 251, 265,
! 742: 251, 266, 251, 251, 251, 251, 251, 251, 251, 251,
! 743: 251, 251, 251, 251, 251, 251, 251, 251, 251, 251,
! 744: 251, 251, 251, 267, 251, 251, 268, 251, 251, 251,
! 745: 269, 269, 269, 270, 270, 270, 272, 271, 273, 273,
! 746: 273, 274, 276, 275, 277, 278, 277, 279, 277, 280,
! 747: 280, 281, 282, 281, 283, 283, 283, 284, 284, 284,
! 748: 284, 285, 285, 286, 286, 286, 287, 287, 288, 288,
! 749: 289, 290, 290, 291, 291, 291, 291, 291, 291, 291,
! 750: 291, 292, 292, 292, 292, 292, 292, 293, 293, 294,
! 751: 294, 294, 295, 296, 297, 298, 298, 298, 299, 299,
! 752: 299, 299, 299, 299, 299, 300, 301, 301, 302, 302,
! 753: 303, 303, 303, 303, 303, 303, 303, 303, 303, 303,
! 754: 303, 303, 303, 303, 303, 303, 303, 303, 303, 303,
! 755: 303, 303, 303, 303, 303, 303, 303, 303, 303, 303,
! 756: 303, 303, 303, 303
1.1 root 757: };
758:
759: static const short yyr2[] = { 0,
760: 0, 1, 0, 2, 2, 0, 0, 1, 1, 1,
1.1.1.5 ! root 761: 1, 1, 1, 5, 4, 3, 4, 4, 1, 0,
! 762: 5, 1, 3, 2, 4, 3, 1, 3, 1, 3,
! 763: 0, 5, 0, 5, 0, 5, 0, 5, 3, 3,
! 764: 6, 7, 4, 3, 3, 1, 1, 1, 1, 1,
! 765: 2, 3, 3, 3, 3, 2, 2, 2, 2, 1,
! 766: 3, 4, 3, 5, 4, 3, 3, 2, 3, 3,
! 767: 2, 6, 6, 4, 4, 1, 6, 4, 3, 6,
! 768: 4, 3, 2, 2, 1, 3, 4, 2, 3, 0,
! 769: 0, 1, 3, 2, 3, 1, 4, 2, 4, 2,
! 770: 4, 2, 5, 3, 1, 1, 1, 1, 1, 1,
! 771: 1, 1, 1, 2, 1, 3, 4, 4, 1, 1,
! 772: 0, 0, 1, 3, 1, 1, 0, 6, 0, 1,
! 773: 0, 2, 1, 1, 1, 1, 1, 1, 1, 1,
! 774: 3, 1, 3, 3, 1, 0, 3, 2, 2, 2,
! 775: 2, 2, 2, 4, 2, 4, 3, 6, 6, 9,
! 776: 4, 7, 5, 8, 9, 9, 6, 9, 6, 9,
! 777: 3, 6, 2, 4, 5, 1, 4, 7, 4, 4,
! 778: 4, 1, 3, 3, 3, 3, 3, 3, 3, 3,
! 779: 3, 3, 3, 3, 3, 3, 3, 3, 3, 5,
! 780: 3, 3, 3, 2, 1, 1, 1, 1, 3, 3,
! 781: 0, 4, 0, 6, 2, 4, 2, 3, 2, 2,
! 782: 1, 4, 4, 2, 5, 3, 2, 2, 2, 5,
! 783: 3, 5, 3, 6, 4, 1, 4, 2, 5, 0,
! 784: 1, 1, 2, 1, 2, 0, 2, 2, 2, 3,
! 785: 3, 3, 3, 2, 2, 1, 1, 2, 2, 1,
! 786: 2, 2, 3, 1, 1, 2, 2, 1, 1, 2,
! 787: 2, 1, 2, 2, 3, 1, 2, 1, 1, 1,
! 788: 1, 4, 4, 1, 1, 1, 1, 1, 3, 1,
! 789: 3, 0, 4, 0, 7, 4, 0, 7, 4, 0,
! 790: 7, 4, 0, 6, 1, 3, 1, 4, 8, 1,
! 791: 3, 1, 2, 3, 4, 1, 1, 3, 4, 6,
! 792: 3, 5, 0, 7, 4, 0, 6, 3, 2, 4,
! 793: 1, 0, 1, 0, 1, 1, 2, 5, 2, 2,
! 794: 2, 2, 2, 2, 2, 3, 3, 2, 0, 3,
! 795: 0, 3, 2, 1, 1, 0, 1, 2, 1, 3,
! 796: 1, 1, 2, 2, 2, 3, 1, 1, 1, 2,
! 797: 2, 1, 0, 1, 4, 3, 1, 2, 2, 3,
! 798: 5, 5, 3, 3, 3, 3, 3, 5, 5, 3,
! 799: 3, 3, 3, 1, 2, 2, 3, 3, 0, 1,
! 800: 3, 4, 6, 4, 3, 2, 4, 6, 4, 3,
! 801: 2, 1, 3, 1, 3, 2, 2, 0, 1, 2,
! 802: 1, 2, 0, 2, 0, 2, 5, 5, 3, 5,
! 803: 4, 3, 3, 5, 1, 1, 5, 3, 3, 1,
! 804: 5, 5, 3, 5, 4, 3, 3, 1, 1, 3,
! 805: 3, 5, 5, 3, 5, 3, 3, 3, 4, 3,
! 806: 1, 1, 2, 2, 2, 3, 3, 7, 7, 5,
! 807: 7, 3, 7, 7, 5, 7, 3, 1, 2, 2,
! 808: 1, 2, 3, 3, 2, 1, 3, 3, 2, 5,
! 809: 3, 4, 3, 4, 2, 3, 2, 3, 4, 3,
! 810: 4, 5, 5, 1, 1, 2, 2, 2, 0, 0,
! 811: 1, 1, 2, 3, 1, 2, 2, 5, 5, 0,
! 812: 0, 5, 1, 2, 1, 1, 1, 2, 0, 4,
! 813: 1, 0, 0, 5, 0, 0, 7, 0, 0, 0,
! 814: 9, 0, 0, 0, 9, 0, 6, 0, 5, 0,
! 815: 7, 0, 4, 2, 2, 2, 3, 6, 8, 10,
! 816: 12, 4, 3, 2, 2, 1, 2, 3, 6, 4,
! 817: 6, 4, 3, 0, 7, 2, 0, 5, 3, 1,
! 818: 2, 3, 3, 2, 2, 1, 0, 4, 2, 3,
! 819: 3, 0, 0, 4, 0, 0, 4, 0, 4, 0,
! 820: 1, 0, 0, 8, 3, 4, 4, 3, 4, 6,
! 821: 6, 0, 1, 0, 1, 1, 0, 1, 1, 3,
! 822: 4, 1, 3, 0, 1, 3, 2, 1, 1, 2,
! 823: 2, 1, 3, 3, 5, 3, 5, 3, 3, 1,
! 824: 1, 2, 1, 0, 1, 0, 2, 4, 1, 1,
! 825: 1, 2, 2, 2, 1, 1, 1, 3, 1, 3,
1.1.1.2 root 826: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1.1.1.5 ! root 827: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
! 828: 2, 2, 2, 3, 2, 2, 2, 3, 2, 3,
! 829: 2, 2, 3, 2
1.1 root 830: };
831:
832: static const short yydefact[] = { 3,
1.1.1.5 ! root 833: 0, 0, 0, 461, 280, 481, 269, 279, 268, 0,
! 834: 8, 9, 0, 336, 0, 0, 0, 0, 423, 423,
! 835: 423, 0, 0, 76, 19, 60, 0, 0, 5, 6,
! 836: 0, 13, 12, 11, 10, 246, 284, 121, 0, 0,
! 837: 260, 0, 290, 278, 0, 349, 351, 355, 354, 331,
! 838: 0, 423, 478, 281, 462, 4, 58, 59, 423, 480,
! 839: 240, 624, 105, 106, 326, 107, 329, 240, 29, 0,
! 840: 694, 280, 421, 692, 691, 423, 689, 670, 675, 676,
! 841: 0, 682, 681, 667, 668, 666, 685, 674, 671, 672,
! 842: 673, 677, 678, 664, 665, 661, 662, 663, 679, 680,
! 843: 686, 687, 0, 669, 683, 284, 418, 272, 0, 281,
! 844: 337, 0, 20, 643, 0, 0, 0, 0, 0, 0,
! 845: 240, 464, 463, 465, 0, 3, 0, 0, 280, 0,
! 846: 0, 349, 351, 646, 0, 90, 85, 246, 0, 0,
! 847: 482, 479, 119, 120, 129, 440, 0, 423, 423, 435,
! 848: 0, 57, 0, 0, 288, 256, 257, 423, 436, 280,
! 849: 271, 270, 56, 0, 261, 0, 0, 265, 285, 286,
! 850: 262, 264, 287, 0, 51, 106, 339, 340, 341, 342,
! 851: 345, 353, 107, 109, 108, 110, 343, 348, 344, 356,
! 852: 356, 372, 0, 68, 423, 0, 425, 0, 0, 71,
! 853: 0, 423, 624, 646, 205, 421, 207, 244, 240, 240,
! 854: 0, 0, 146, 242, 221, 241, 0, 240, 134, 133,
! 855: 240, 135, 136, 0, 240, 137, 0, 123, 240, 176,
! 856: 182, 126, 145, 0, 240, 208, 0, 240, 418, 272,
! 857: 125, 418, 0, 206, 628, 629, 644, 644, 0, 625,
! 858: 632, 328, 0, 323, 0, 138, 139, 0, 0, 28,
! 859: 688, 684, 690, 423, 0, 423, 423, 486, 624, 425,
! 860: 693, 419, 274, 276, 422, 273, 0, 0, 424, 477,
! 861: 458, 457, 456, 0, 0, 16, 0, 7, 7, 45,
! 862: 44, 646, 0, 31, 35, 39, 33, 37, 40, 292,
! 863: 84, 91, 88, 0, 240, 246, 0, 0, 0, 509,
! 864: 61, 515, 63, 356, 130, 116, 258, 259, 0, 0,
! 865: 423, 423, 448, 0, 0, 449, 66, 55, 69, 0,
! 866: 54, 423, 0, 425, 0, 53, 263, 52, 67, 70,
! 867: 267, 266, 646, 291, 346, 347, 357, 350, 352, 394,
! 868: 240, 0, 399, 399, 0, 0, 377, 646, 454, 0,
! 869: 268, 0, 142, 260, 0, 460, 0, 240, 650, 651,
! 870: 0, 649, 0, 0, 655, 657, 647, 0, 0, 303,
! 871: 467, 472, 466, 646, 0, 74, 240, 0, 0, 153,
! 872: 145, 0, 0, 155, 240, 240, 240, 227, 0, 243,
! 873: 0, 228, 152, 149, 148, 0, 0, 0, 0, 150,
! 874: 240, 118, 151, 240, 240, 0, 240, 240, 240, 240,
! 875: 240, 240, 240, 240, 240, 240, 240, 240, 240, 240,
! 876: 240, 240, 240, 215, 219, 220, 248, 249, 247, 240,
! 877: 240, 240, 236, 0, 240, 173, 245, 111, 112, 113,
! 878: 0, 217, 0, 115, 204, 416, 224, 240, 417, 112,
! 879: 113, 229, 418, 418, 423, 627, 418, 631, 630, 0,
! 880: 414, 334, 412, 325, 0, 282, 0, 283, 30, 495,
! 881: 420, 489, 485, 0, 0, 0, 0, 497, 0, 423,
! 882: 624, 425, 277, 275, 0, 0, 22, 0, 27, 117,
! 883: 0, 15, 18, 17, 292, 50, 46, 49, 47, 48,
! 884: 43, 0, 0, 0, 0, 303, 106, 96, 240, 0,
! 885: 92, 0, 121, 0, 0, 316, 0, 312, 86, 0,
! 886: 0, 62, 65, 516, 517, 510, 127, 439, 438, 0,
! 887: 0, 423, 423, 0, 423, 0, 425, 433, 303, 289,
! 888: 429, 0, 0, 0, 432, 0, 423, 423, 292, 369,
! 889: 368, 367, 122, 358, 359, 362, 361, 0, 0, 396,
! 890: 395, 461, 423, 240, 240, 624, 646, 0, 400, 423,
! 891: 624, 646, 0, 0, 330, 379, 378, 83, 423, 423,
! 892: 423, 459, 426, 652, 653, 654, 0, 656, 659, 0,
! 893: 0, 0, 302, 423, 0, 423, 0, 75, 423, 0,
! 894: 0, 0, 0, 280, 0, 147, 226, 240, 210, 209,
! 895: 0, 240, 124, 202, 201, 616, 615, 0, 199, 198,
! 896: 196, 197, 195, 194, 193, 190, 191, 192, 188, 189,
! 897: 183, 184, 185, 186, 187, 203, 0, 0, 238, 240,
! 898: 171, 240, 272, 157, 240, 0, 114, 233, 240, 218,
! 899: 0, 231, 240, 0, 423, 423, 624, 640, 641, 638,
! 900: 639, 646, 626, 634, 645, 636, 633, 240, 335, 0,
! 901: 334, 144, 143, 488, 484, 423, 423, 483, 487, 423,
! 902: 496, 491, 0, 493, 0, 338, 0, 21, 345, 343,
! 903: 348, 14, 303, 32, 36, 34, 38, 0, 0, 94,
! 904: 0, 98, 240, 100, 240, 0, 102, 240, 205, 280,
! 905: 240, 313, 0, 317, 0, 87, 64, 0, 0, 511,
! 906: 512, 0, 0, 0, 0, 0, 447, 443, 0, 0,
! 907: 0, 446, 0, 296, 423, 423, 423, 431, 0, 0,
! 908: 303, 129, 0, 365, 371, 370, 364, 363, 392, 393,
! 909: 240, 383, 384, 646, 303, 406, 0, 292, 0, 380,
! 910: 390, 391, 646, 0, 386, 292, 385, 387, 0, 397,
! 911: 398, 455, 452, 453, 658, 0, 648, 0, 0, 300,
! 912: 470, 0, 0, 0, 475, 0, 0, 0, 646, 222,
! 913: 154, 156, 179, 181, 180, 0, 212, 0, 177, 240,
! 914: 213, 216, 0, 0, 0, 418, 418, 161, 240, 0,
! 915: 174, 240, 0, 235, 240, 223, 0, 642, 489, 485,
! 916: 423, 72, 0, 0, 415, 413, 327, 0, 500, 498,
! 917: 494, 423, 492, 23, 26, 0, 0, 41, 95, 93,
! 918: 0, 0, 104, 240, 0, 0, 0, 0, 314, 310,
! 919: 0, 0, 205, 520, 532, 535, 0, 0, 240, 0,
! 920: 0, 0, 240, 0, 586, 0, 0, 0, 0, 240,
! 921: 0, 566, 612, 0, 527, 0, 0, 0, 505, 525,
! 922: 531, 504, 526, 0, 240, 0, 592, 0, 538, 542,
! 923: 513, 0, 437, 434, 451, 450, 423, 423, 423, 445,
! 924: 294, 430, 427, 428, 503, 502, 299, 366, 360, 303,
! 925: 78, 405, 423, 303, 461, 240, 240, 646, 401, 81,
! 926: 423, 0, 660, 293, 0, 0, 423, 423, 423, 423,
! 927: 423, 423, 73, 225, 332, 200, 131, 0, 237, 0,
! 928: 0, 0, 0, 163, 175, 232, 0, 230, 635, 637,
! 929: 324, 501, 499, 490, 25, 42, 97, 99, 0, 101,
! 930: 0, 321, 240, 315, 0, 318, 0, 514, 508, 519,
! 931: 584, 0, 0, 509, 0, 240, 0, 552, 554, 555,
! 932: 556, 0, 240, 0, 650, 651, 0, 0, 587, 0,
! 933: 593, 567, 0, 585, 613, 0, 528, 254, 646, 0,
! 934: 255, 0, 0, 646, 0, 518, 507, 506, 529, 576,
! 935: 0, 0, 565, 564, 0, 581, 0, 592, 0, 589,
! 936: 0, 0, 0, 0, 444, 441, 442, 0, 297, 404,
! 937: 381, 382, 646, 402, 240, 303, 411, 292, 388, 389,
! 938: 646, 307, 0, 305, 301, 471, 468, 469, 476, 473,
! 939: 474, 0, 0, 131, 214, 239, 172, 0, 272, 158,
! 940: 167, 169, 159, 234, 103, 319, 0, 0, 311, 140,
! 941: 240, 521, 533, 240, 523, 0, 0, 509, 605, 0,
! 942: 608, 0, 548, 240, 240, 557, 0, 563, 573, 0,
! 943: 240, 509, 0, 240, 509, 568, 0, 251, 292, 250,
! 944: 253, 252, 292, 509, 579, 0, 583, 582, 577, 591,
! 945: 590, 0, 0, 128, 295, 0, 77, 0, 303, 410,
! 946: 303, 80, 0, 0, 0, 178, 132, 418, 418, 162,
! 947: 240, 0, 425, 425, 0, 322, 0, 509, 509, 524,
! 948: 536, 609, 607, 0, 606, 546, 240, 0, 553, 562,
! 949: 572, 0, 588, 570, 0, 594, 0, 530, 574, 602,
! 950: 539, 543, 298, 403, 409, 407, 0, 0, 306, 304,
! 951: 0, 0, 0, 164, 0, 0, 320, 141, 522, 534,
! 952: 0, 0, 0, 509, 549, 550, 0, 0, 617, 0,
! 953: 595, 578, 0, 0, 0, 0, 308, 168, 170, 160,
! 954: 165, 166, 0, 611, 610, 547, 240, 571, 569, 0,
! 955: 0, 618, 619, 558, 0, 0, 0, 0, 408, 0,
! 956: 537, 551, 240, 617, 0, 0, 598, 575, 596, 0,
! 957: 540, 544, 0, 0, 0, 559, 620, 0, 0, 600,
! 958: 509, 509, 0, 621, 0, 0, 599, 597, 601, 0,
! 959: 541, 545, 309, 622, 0, 560, 603, 0, 0, 0,
! 960: 623, 561, 604, 0, 0, 0
1.1 root 961: };
962:
1.1.1.5 ! root 963: static const short yydefgoto[] = { 1274,
! 964: 1, 2, 127, 503, 883, 29, 30, 31, 278, 496,
! 965: 497, 32, 70, 33, 512, 514, 513, 515, 511, 34,
! 966: 35, 36, 352, 137, 138, 139, 302, 520, 521, 562,
! 967: 188, 452, 37, 38, 145, 752, 227, 228, 315, 732,
! 968: 316, 1065, 229, 884, 1082, 256, 230, 397, 231, 257,
! 969: 233, 408, 947, 444, 234, 235, 236, 140, 237, 238,
! 970: 885, 343, 247, 171, 248, 239, 273, 392, 274, 154,
! 971: 42, 380, 155, 1038, 344, 1126, 43, 936, 603, 1053,
! 972: 1054, 861, 724, 725, 44, 475, 253, 1063, 680, 45,
! 973: 46, 47, 48, 190, 191, 49, 50, 348, 564, 565,
! 974: 566, 567, 568, 193, 355, 356, 357, 578, 579, 929,
! 975: 472, 473, 241, 668, 242, 114, 367, 368, 156, 325,
! 976: 157, 243, 53, 110, 272, 486, 159, 888, 889, 1084,
! 977: 729, 730, 731, 311, 890, 891, 982, 1148, 1086, 892,
! 978: 893, 1114, 983, 1149, 984, 1191, 1032, 1203, 1251, 1033,
! 979: 1204, 1252, 1194, 1157, 1217, 1095, 1201, 1170, 894, 895,
! 980: 896, 1102, 897, 1028, 898, 1105, 1225, 1249, 1248, 1260,
! 981: 1202, 1270, 899, 900, 1006, 628, 1221, 1222, 1223, 1265,
! 982: 487, 250, 251, 670, 201, 463, 676, 200, 376, 599,
! 983: 377, 600, 244
1.1 root 984: };
985:
1.1.1.5 ! root 986: static const short yypact[] = { 85,
! 987: 1781, 1492, 152,-32768, 749,-32768,-32768,-32768,-32768, 321,
! 988: -32768,-32768, 16,-32768, 116, 2019, 74, 82,-32768,-32768,
! 989: -32768, 1140, 151,-32768,-32768,-32768, 84, 177,-32768, 285,
! 990: 559,-32768,-32768,-32768,-32768, 62, 108, 182, 723, 839,
! 991: 997, 92,-32768,-32768, 1078,-32768,-32768,-32768,-32768, 301,
! 992: 1615,-32768,-32768, 39,-32768,-32768,-32768,-32768,-32768,-32768,
! 993: 5696, 5379,-32768,-32768, 202,-32768, 310, 5696,-32768, 189,
! 994: -32768, 312,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
! 995: 325,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1.1 root 996: -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1.1.1.5 ! root 997: -32768,-32768, 316,-32768,-32768, 389, 1204, 1494, 1248,-32768,
! 998: -32768, 427,-32768, 510, 1140, 500, 500, 51, 523, 49,
! 999: 5696,-32768,-32768,-32768, 427, 450, 4946, 437, 51, 2378,
! 1000: 1433, 60, 194, 651, 574,-32768, 536, 160, 411, 411,
! 1001: -32768,-32768,-32768,-32768, 503, 51, 2063,-32768,-32768,-32768,
! 1002: 3444,-32768, 1265, 212,-32768, 675, 677,-32768,-32768, 2129,
! 1003: -32768,-32768,-32768, 508, 997, 238, 1746,-32768,-32768,-32768,
! 1004: 1665,-32768,-32768, 2378,-32768, 312,-32768,-32768,-32768,-32768,
! 1005: -32768,-32768, 151,-32768,-32768,-32768,-32768,-32768, 473, 566,
! 1006: 566,-32768, 4861,-32768,-32768, 3380, 506, 103, 540, 494,
! 1007: 2391,-32768, 5379, 240,-32768, 543,-32768,-32768, 5902, 5979,
! 1008: 562, 600,-32768,-32768,-32768, 5413, 123, 5777,-32768,-32768,
! 1009: 5777,-32768,-32768, 4331, 5777,-32768, 195,-32768, 5777,-32768,
! 1010: -32768, 6505, 1349, 605, 5369, 683, 266, 5777, 1204, 546,
! 1011: -32768, 6305, 272,-32768,-32768,-32768,-32768, 3429, 606, 303,
! 1012: 660,-32768, 123, 611, 627, 653, 6439, 637, 742,-32768,
! 1013: 510,-32768,-32768,-32768, 887,-32768,-32768,-32768, 6261, 641,
! 1014: -32768, 695, 1494,-32768,-32768, 1494, 48, 3537,-32768,-32768,
! 1015: 677, 677,-32768, 354, 64,-32768, 1886,-32768,-32768,-32768,
! 1016: -32768, 341, 70,-32768,-32768,-32768,-32768,-32768,-32768, 591,
! 1017: -32768, 179,-32768, 4412, 5777,-32768, 411, 411, 704, 681,
! 1018: -32768,-32768,-32768, 566,-32768,-32768, 675, 677, 1539, 1539,
! 1019: -32768,-32768,-32768, 3552, 318,-32768,-32768,-32768, 494, 2378,
! 1020: -32768,-32768, 3488, 657, 3660,-32768, 1665,-32768,-32768, 494,
! 1021: -32768,-32768, 341,-32768,-32768,-32768, 338,-32768,-32768,-32768,
! 1022: 5777, 548, 1894, 6023, 42, 1648,-32768, 651, 510, 692,
! 1023: 543, 175, 6483, 967, 708,-32768, 690, 5777,-32768, 51,
! 1024: 644,-32768, 108, 805,-32768,-32768, 772, 2568, 748, 809,
! 1025: 51, 151,-32768, 240, 735,-32768, 5777, 543, 4331,-32768,
! 1026: 1530, 190, 4331,-32768, 5777, 5858, 5777,-32768, 54,-32768,
! 1027: 409,-32768,-32768,-32768,-32768, 745, 747, 704, 759,-32768,
! 1028: 5696,-32768,-32768, 5777, 5777, 4493, 5777, 5777, 5777, 5777,
! 1029: 5777, 5777, 5777, 5777, 5777, 5777, 5777, 5777, 5777, 5777,
! 1030: 5777, 5777, 5777,-32768,-32768,-32768,-32768,-32768,-32768, 5777,
! 1031: 5777, 5777, 465, 1367, 4817,-32768,-32768,-32768, 51, 151,
! 1032: 123, 541, 272,-32768,-32768,-32768,-32768, 5777,-32768,-32768,
! 1033: -32768, 646, 702, 702,-32768,-32768, 6085,-32768,-32768, 4412,
! 1034: 830, 843,-32768,-32768, 123,-32768, 4736,-32768,-32768, 510,
! 1035: 695, 1298, 1298, 50, 355, 792, 799,-32768, 810,-32768,
! 1036: 5379, 816,-32768, 1494, 874, 446,-32768, 1102,-32768,-32768,
! 1037: 824,-32768,-32768,-32768, 591,-32768,-32768,-32768,-32768,-32768,
! 1038: -32768, 834, 840, 842, 849, 809, 51,-32768, 5777, 448,
! 1039: -32768, 679, 806, 123, 684,-32768, 3920, 6483,-32768, 178,
! 1040: 411,-32768,-32768,-32768,-32768, 880,-32768, 675, 675, 1539,
! 1041: 1539,-32768,-32768, 362,-32768, 3596, 855,-32768, 809,-32768,
! 1042: 510, 868, 216, 872,-32768, 875,-32768,-32768, 591,-32768,
! 1043: -32768,-32768,-32768, 926,-32768,-32768, 976, 383, 6366,-32768,
! 1044: -32768, 931, 602, 5777, 5777, 6192, 341, 258,-32768, 619,
! 1045: 6192, 731, -1, 932,-32768,-32768,-32768, 669,-32768,-32768,
! 1046: -32768,-32768,-32768,-32768,-32768,-32768, 103,-32768,-32768, 314,
! 1047: 427, 906, 939,-32768, 3704,-32768, 3812,-32768,-32768, 317,
! 1048: 890, 891, 892, 33, 893,-32768,-32768, 5777,-32768,-32768,
! 1049: 902, 5453,-32768, 6483, 6483,-32768,-32768, 952, 6541, 6556,
! 1050: 3766, 3333, 3872, 1802, 1790, 1891, 1891, 1891, 1118, 1118,
! 1051: 800, 800,-32768,-32768,-32768,-32768, 353, 907, 940, 5777,
! 1052: -32768, 5696, 1089, 962, 5777, 913,-32768,-32768, 5777, 698,
! 1053: 356,-32768, 5777, 2362,-32768,-32768, 6130,-32768, 677,-32768,
! 1054: -32768, 240,-32768, 971,-32768, 972,-32768, 5777, 123, 921,
! 1055: 843,-32768, 6483, 695, 695,-32768,-32768,-32768,-32768,-32768,
! 1056: -32768, 510, 927,-32768, 924,-32768, 3537,-32768, 947, 468,
! 1057: 980,-32768, 809,-32768,-32768,-32768,-32768, 70, 372,-32768,
! 1058: 179,-32768, 5777,-32768, 5777, 709,-32768, 5777, 989, 814,
! 1059: 5777,-32768, 993,-32768, 89,-32768,-32768, 123, 3164, 880,
! 1060: -32768, 301, 492, 592, 1539, 1539,-32768, 510, 950, 375,
! 1061: 956,-32768, 942, 1003,-32768,-32768,-32768,-32768, 1539, 1539,
! 1062: 809, 503, 338,-32768,-32768,-32768,-32768, 976,-32768,-32768,
! 1063: 5777,-32768,-32768, 240, 6416, 6483, 957, 807, 1122,-32768,
! 1064: -32768,-32768, 240, 960,-32768, 964,-32768,-32768, 4930,-32768,
! 1065: -32768, 510, 510, 510,-32768, 2568,-32768, 65, 982,-32768,
! 1066: 510, 965, 418, 968, 510, 970, 431, 973, 240,-32768,
! 1067: -32768,-32768,-32768,-32768,-32768, 478,-32768, 4247,-32768, 5777,
! 1068: -32768,-32768, 427, 99, 482, 1204, 6305,-32768, 5777, 4412,
! 1069: -32768, 5777, 487,-32768, 5777,-32768, 489, 677, 2208, 2208,
! 1070: 50,-32768, 4412, 4412, 6483,-32768,-32768, 974, 1298, 1298,
! 1071: 510,-32768,-32768,-32768,-32768, 252, 70,-32768,-32768,-32768,
! 1072: 555, 560,-32768, 5777, 563, 6344, 4412, 4004,-32768,-32768,
! 1073: 283, 697, 1011,-32768,-32768,-32768, 996, 1000, 5777, 1034,
! 1074: 985, 986, 5534, 281,-32768, 300, 1043, 103, 1044, 5615,
! 1075: 284,-32768, 1087, 994,-32768, 2397, 6236, 2516,-32768,-32768,
! 1076: 1085,-32768,-32768, 2322, 5051, 2624,-32768, 2732,-32768,-32768,
! 1077: -32768, 4861,-32768,-32768, 675, 675,-32768,-32768,-32768,-32768,
! 1078: -32768, 510, 510, 510, 675, 675, 1054,-32768,-32768, 6416,
! 1079: -32768,-32768, 787, 809, 1056, 5777, 5777, 341,-32768,-32768,
! 1080: 822, 2195,-32768,-32768, 1111, 4412,-32768,-32768,-32768,-32768,
! 1081: -32768,-32768,-32768,-32768, 1064, 6525, 503, 67,-32768, 3324,
! 1082: 1015, 1018, 577,-32768,-32768,-32768, 580,-32768,-32768,-32768,
! 1083: -32768, 695, 695, 510,-32768,-32768,-32768,-32768, 581,-32768,
! 1084: 4412,-32768, 5777,-32768, 1075,-32768, 123,-32768,-32768,-32768,
! 1085: -32768, 721, 721, 704, 4085, 5777, 856,-32768,-32768,-32768,
! 1086: -32768, 1029, 5777, 1030, 1031, 24, 1033, 727,-32768, 744,
! 1087: -32768,-32768, 1035,-32768,-32768, 1058,-32768,-32768, 782, 286,
! 1088: -32768, 1042, 324, 388, 1045,-32768,-32768,-32768,-32768,-32768,
! 1089: 103, 123,-32768,-32768, 827,-32768, 2840,-32768, 831,-32768,
! 1090: 2948, 4574, 4574, 124, 510, 510, 510, 4412,-32768,-32768,
! 1091: -32768,-32768, 240, 1095, 5777, 6416, 6483, 591,-32768,-32768,
! 1092: 240, 1066, 588,-32768,-32768, 510, 510, 510, 510, 510,
! 1093: 510, 4166, 1047, 503,-32768,-32768,-32768, 2568, 1407, 1101,
! 1094: 1071, 1074,-32768,-32768,-32768,-32768, 6461, 4412,-32768,-32768,
! 1095: 5777,-32768,-32768, 5263,-32768, 1143, 1059, 1055,-32768, 1060,
! 1096: -32768, 1063,-32768, 5777, 5157,-32768, 1065,-32768,-32768, 1070,
! 1097: 5777,-32768, 1079, 5777,-32768,-32768, 427,-32768, 591,-32768,
! 1098: -32768,-32768, 591, 704, 772, 1126,-32768,-32768,-32768,-32768,
! 1099: -32768, 1090, 1093,-32768,-32768, 4412,-32768, 4412, 6416,-32768,
! 1100: 809,-32768, 502, 1111, 1103,-32768,-32768, 1204, 6305,-32768,
! 1101: 5777, 4412,-32768,-32768, 4412,-32768, 1104, 704, 704,-32768,
! 1102: -32768,-32768,-32768, 3272,-32768,-32768, 5157, 1139,-32768,-32768,
! 1103: -32768, 590,-32768,-32768, 598,-32768, 47,-32768,-32768,-32768,
! 1104: -32768,-32768,-32768,-32768,-32768, 1153, 1158, 1106,-32768,-32768,
! 1105: 1110, 1112, 636,-32768, 1113, 1115,-32768,-32768,-32768,-32768,
! 1106: 721, 846, 3056, 704,-32768,-32768, 1114, 1120, 1216, 1123,
! 1107: -32768, 1137, 4655, 4655, 4412, 1221,-32768,-32768,-32768,-32768,
! 1108: -32768,-32768, 1128,-32768,-32768,-32768, 5157,-32768,-32768, 1148,
! 1109: 360, 1183,-32768,-32768, 527, 1154, 1132, 1138,-32768, 1198,
! 1110: -32768,-32768, 5777, 1216, 1145, 1216,-32768,-32768,-32768, 2568,
! 1111: -32768,-32768, 1249, 1156, 380,-32768,-32768, 704, 704, 123,
! 1112: 704, 704, 1159,-32768, 1247, 1157,-32768,-32768,-32768, 1160,
! 1113: -32768,-32768,-32768,-32768, 652,-32768,-32768, 1257, 1164, 704,
! 1114: -32768,-32768,-32768, 1277, 1279,-32768
1.1 root 1115: };
1116:
1117: static const short yypgoto[] = {-32768,
1.1.1.5 ! root 1118: 1146,-32768,-32768, 991, 53, 1284,-32768,-32768,-32768,-32768,
! 1119: 584,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -662, 1166,
! 1120: 1169,-32768,-32768,-32768,-32768, 1161,-32768,-32768, 587, -10,
! 1121: 802, -220, 535, -31,-32768,-32768, 1180, 894, -900,-32768,
! 1122: 550, 243,-32768, 35, -955, -163, 752,-32768, -145, 908,
! 1123: -169,-32768,-32768,-32768,-32768, -177, -99, -93,-32768,-32768,
! 1124: 323, 56, 28, 1144, 61, -15, 1037, 3, -9, 424,
! 1125: -29, -293,-32768,-32768, 981,-32768,-32768,-32768, -468,-32768,
! 1126: 180,-32768, -160, 509, -26,-32768,-32768,-32768, 643, -261,
! 1127: 1313, 1314,-32768,-32768,-32768,-32768,-32768, -140,-32768, 593,
! 1128: 779, -496,-32768, 618, 451, 575, -340, 1001,-32768,-32768,
! 1129: 881, 678, -66, -101, -6, 1574, -267,-32768, -78, 1036,
! 1130: 1272, 171,-32768, 19, -151,-32768, -133, -854, -864, -283,
! 1131: -32768,-32768, 631, -118, -131,-32768,-32768,-32768, -1013, -827,
! 1132: 289,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1.1 root 1133: -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1.1.1.5 ! root 1134: -32768,-32768,-32768, 339,-32768,-32768,-32768,-32768,-32768,-32768,
! 1135: -32768,-32768,-32768,-32768,-32768, -995, 134,-32768, 141,-32768,
! 1136: -37,-32768, -247, -336, 34, 1131,-32768, 27, -585, 604,
! 1137: 363,-32768, 1361
1.1 root 1138: };
1139:
1140:
1.1.1.5 ! root 1141: #define YYLAST 6629
1.1 root 1142:
1143:
1.1.1.5 ! root 1144: static const short yytable[] = { 67,
! 1145: 107, 258, 489, 41, 41, 271, 516, 312, 312, 109,
! 1146: 166, 785, 277, 189, 173, 587, 498, 326, 108, 54,
! 1147: 54, 313, 462, 1017, 249, 285, 536, 1083, 39, 39,
! 1148: 499, 172, 362, 41, 187, 549, 1122, 1123, 400, 391,
! 1149: 391, 1027, 165, 1031, 308, 848, 1064, 708, 391, 769,
! 1150: 349, 391, 115, 28, 28, 391, 447, 447, 130, 391,
! 1151: 1018, 40, 40, 240, 41, 391, 556, 1024, 317, 60,
! 1152: 240, 758, 404, 447, 447, 405, 447, 584, 60, 410,
! 1153: 744, 173, 202, 413, -1, 135, 122, 123, 61, 446,
! 1154: 214, 131, 195, 506, 153, 164, 60, 61, 68, 399,
! 1155: 1168, 1199, 255, 777, 778, 369, 370, 6, 111, 294,
! 1156: 686, 276, 141, 481, 295, 61, 136, 485, 69, 507,
! 1157: 687, 203, 508, 240, 509, 63, 64, 671, -106, 41,
! 1158: 675, 196, 197, 165, 1189, 1190, 804, 456, 173, 858,
! 1159: 459, 530, 174, 529, 173, 54, 113, 585, 371, 477,
! 1160: 1200, 495, 283, 142, 39, 172, 112, 409, 365, 584,
! 1161: 300, 342, 1017, 1064, 296, 385, 1017, 501, 934, 553,
! 1162: 1066, 52, 52, 537, 510, 312, 312, 534, 124, 329,
! 1163: 1216, 63, 517, 6, 966, 292, 293, 40, 532, 533,
! 1164: 326, 335, 52, 340, 859, 41, 175, 23, 364, 1018,
! 1165: 372, 52, 845, 1018, 949, 41, 403, 1227, 1228, 158,
! 1166: 158, 703, 531, 173, 136, 121, 375, 66, 401, 674,
! 1167: 353, 400, 518, 610, 695, 477, 240, 391, 477, 1124,
! 1168: 386, 143, 660, 457, 847, 1213, 144, 1261, 1262, 259,
! 1169: 538, 539, 471, 297, 276, 411, 173, 279, 298, 173,
! 1170: 165, 616, 379, 354, 63, 176, 57, 58, 407, 125,
! 1171: 412, 519, 330, 493, 306, 751, 477, 1159, 448, 449,
! 1172: 523, 41, 458, 183, 448, 460, 621, 647, 590, 743,
! 1173: 41, 726, 917, 63, 64, 52, 52, 52, 174, 41,
! 1174: 998, 522, 1000, 260, 661, 554, 922, 52, 299, 1193,
! 1175: 158, 158, 995, 996, 6, 54, 16, 252, 769, 677,
! 1176: 173, 598, 16, 466, 39, 563, 331, 158, 505, 746,
! 1177: 525, 158, 611, 63, 64, 198, 612, 342, 1017, 1195,
! 1178: 684, 685, 199, 977, 126, 364, 330, 173, 1004, 28,
! 1179: 63, 176, 338, 560, 158, 371, 183, 40, 121, 965,
! 1180: 192, 993, 379, 467, 172, 709, 165, 468, 41, 254,
! 1181: 450, 545, 770, 52, 786, 1018, 461, 477, 374, 559,
! 1182: 65, 52, 451, 561, 174, 66, 61, 654, 451, 262,
! 1183: 108, 379, 740, 353, 588, 63, 176, 978, 755, 1232,
! 1184: 1110, 240, 379, 141, 183, 240, 469, 372, 490, 312,
! 1185: 546, 547, 593, 477, 411, 545, 477, 453, 577, 582,
! 1186: 608, 309, 727, 240, 1234, 66, 354, 787, 756, 500,
! 1187: 800, 548, 477, 407, 263, 477, 198, 407, 1112, 613,
! 1188: 615, 195, 183, 199, 1255, 498, 208, 491, 492, 484,
! 1189: 657, 793, 326, 797, 546, 547, 653, 326, 710, 499,
! 1190: 627, 1040, 617, 693, 806, 1044, 811, 52, 688, 826,
! 1191: 310, 733, 734, 1235, 471, 737, 189, 173, 477, 41,
! 1192: 196, 197, 524, 198, 924, 849, 648, 183, 908, 656,
! 1193: 199, 477, 924, 1256, 493, 391, 814, 700, 815, 158,
! 1194: 158, 618, -257, 41, 158, 823, 697, -89, 711, 827,
! 1195: 158, 788, 4, 118, 1177, 52, 649, 279, 741, 821,
! 1196: 1178, 698, 481, 716, 650, 485, 723, 279, -24, 11,
! 1197: 12, 938, 345, 158, 158, -292, 52, 346, 477, 369,
! 1198: 370, 6, 477, -24, 941, 332, 563, 477, 767, 477,
! 1199: 16, 290, 291, 774, -292, 19, -292, 1237, 364, 851,
! 1200: 106, 852, 169, 170, 855, 286, 119, 379, 10, 128,
! 1201: 20, 4, 129, 6, 7, 8, 9, 794, 142, 798,
! 1202: 21, 10, 371, 119, 333, 334, 301, 1130, 41, 303,
! 1203: 14, 944, 22, 41, 658, 950, 13, 17, 304, 457,
! 1204: 956, 587, 958, 14, 23, 903, 106, 570, -292, 16,
! 1205: 17, 314, 571, 768, 19, 477, 27, 364, 776, 364,
! 1206: 477, 379, 336, 477, 366, 375, 11, 12, 305, 20,
! 1207: 347, 23, 378, 659, 372, 387, 173, 477, 458, 21,
! 1208: 477, 477, 1238, 52, 52, 332, 816, 52, 1134, 1239,
! 1209: 477, 22, 443, 106, 395, 817, 594, 595, 477, 119,
! 1210: 119, 119, 391, 23, 240, 953, 905, 906, 967, 954,
! 1211: 1175, 957, 1176, 968, 119, 27, 970, 563, 471, 41,
! 1212: 915, 916, 959, 960, 333, 334, 955, 684, 685, 523,
! 1213: 1073, 119, 396, 1074, 1075, 119, 477, 962, 963, 662,
! 1214: 969, 1135, 447, 1197, 195, 904, 972, 976, 832, 41,
! 1215: 522, 1198, 1268, 477, 4, 118, 762, 763, 119, 465,
! 1216: 158, 158, 470, 948, 951, 952, 474, 860, 332, 598,
! 1217: 195, 563, 712, 771, 772, 4, 146, 717, 663, 525,
! 1218: 476, 364, 373, 196, 197, 119, 198, 106, 490, 1210,
! 1219: 478, 824, 16, 199, 479, 264, 158, 19, 664, 488,
! 1220: 106, 158, 853, 310, 1131, 1269, 886, 333, 334, 196,
! 1221: 197, 713, 665, 16, 1080, 555, 718, 374, 19, 147,
! 1222: 1100, 119, 666, 780, 781, 1055, 106, 491, 492, 268,
! 1223: 825, 41, 106, 148, 667, 270, 535, 1103, 108, 887,
! 1224: 921, 854, 59, 149, 60, 589, 23, 723, 592, 930,
! 1225: 150, 979, 980, 1081, 1154, 151, 353, 596, 27, 1101,
! 1226: 1076, 591, 106, 61, 563, 549, 198, 23, 1163, 276,
! 1227: 379, 1166, 597, 199, 928, 943, 1104, 152, 379, 27,
! 1228: 601, 62, 11, 12, 52, 775, 373, 831, 609, 354,
! 1229: 602, 4, 160, 6, 161, 8, 162, 975, 619, 714,
! 1230: 620, 10, 1085, 119, 119, 143, -79, 1013, 119, 60,
! 1231: 144, -79, 622, 994, 119, 997, 13, 198, -106, 119,
! 1232: 431, 432, 433, 14, 199, 1185, 1186, 1125, 61, 16,
! 1233: 17, 524, 678, 1070, 19, 147, 1108, 119, 715, 165,
! 1234: 364, 1041, 1042, 679, 375, 689, 375, 364, 364, 148,
! 1235: 364, 976, 690, 987, 41, 158, 158, 992, 696, 149,
! 1236: 1093, 1094, 106, 728, 1003, 886, 150, 1146, 691, 158,
! 1237: 158, 151, 886, 886, 694, 886, 1049, 1050, 702, 353,
! 1238: 264, 979, 1117, 23, 41, 979, 1120, 1162, 704, 158,
! 1239: 1165, 1009, 1012, 163, 705, 27, 706, 266, 887, 52,
! 1240: 979, 1214, 1069, 707, 1048, 887, 887, 267, 887, 353,
! 1241: 390, 394, 354, 742, 268, 1173, 1079, 1174, 232, 269,
! 1242: 270, 745, 168, 169, 170, 747, 753, 1183, 106, 10,
! 1243: 754, 1184, 1085, 748, 1187, 761, 779, 364, 789, 11,
! 1244: 12, 790, 354, 801, 802, 803, 805, 119, 119, 52,
! 1245: 52, 14, 168, 169, 170, 807, 810, 1167, 17, 10,
! 1246: 457, 1116, 886, -82, 820, 812, 1085, 1085, -82, 1090,
! 1247: 1092, 822, 813, 833, 834, 106, 837, 1097, 232, 364,
! 1248: 842, 14, 843, 364, 846, 1109, 1181, 1182, 17, 375,
! 1249: 1113, 183, 173, -105, 1229, 887, 374, 857, 374, 458,
! 1250: 910, 975, 1138, 907, 886, 911, 158, 158, 886, 909,
! 1251: 923, 1139, 1085, 931, 935, 981, 627, 627, 937, 1127,
! 1252: 108, 939, 52, 940, 119, 119, 942, 1132, 985, 961,
! 1253: 63, 176, 986, 177, 178, 179, 364, 887, 988, 989,
! 1254: 990, 887, 999, 1001, 1005, 169, 170, 364, 1007, 1019,
! 1255: 379, 10, 52, 363, 63, 176, 1039, 177, 178, 179,
! 1256: 1045, 886, 180, 1052, 1062, 1147, 1257, 1258, 1071, 1085,
! 1257: 1085, 1072, 886, 14, 925, 146, 181, 182, 1158, 1078,
! 1258: 17, 373, 818, 1096, 1098, -105, 180, 1099, 1273, 1106,
! 1259: 1107, 276, 4, 118, 887, 455, 1111, 1128, 1133, 979,
! 1260: 699, 182, 1136, 1142, 1143, 887, 364, 1144, 1151, 364,
! 1261: 1153, 379, 16, 1152, 1155, 379, 1156, 19, 147, 1160,
! 1262: 926, 819, 183, 1250, 1161, 1169, 927, 184, 185, 186,
! 1263: 16, 886, 148, 1164, 886, 19, 429, 430, 431, 432,
! 1264: 433, 374, 149, 1196, 1171, 364, 183, 1172, 119, 150,
! 1265: 20, 184, 185, 186, 151, 1205, 1180, 1188, 1206, 1207,
! 1266: 21, 528, 363, 1208, 887, 1209, 23, 887, 1218, 364,
! 1267: 886, 1211, 22, 1212, 1219, 1220, 1226, 1224, 27, 1230,
! 1268: 1233, 106, 1231, 1236, 23, 1241, 1240, 627, 627, 1259,
! 1269: 363, 1242, 108, 375, 886, 373, 27, 264, 1243, 1246,
! 1270: 265, 72, 6, 887, 8, 275, 1264, 1253, 569, 1254,
! 1271: 10, 1266, 1263, 1267, 266, 327, 1271, 1244, 1272, 119,
! 1272: 119, 287, 51, 51, 267, 13, 1275, 887, 1276, 504,
! 1273: 844, 268, 14, 119, 119, 56, 269, 270, -646, 17,
! 1274: -646, -646, 288, 120, 363, 289, -646, 850, 307, 701,
! 1275: 284, 918, 134, 119, 623, 279, 1137, 1091, 337, 1010,
! 1276: 550, 167, 494, 1179, -646, -646, 945, -646, 232, -646,
! 1277: 106, 624, 625, 838, 629, 630, 631, 632, 633, 634,
! 1278: 635, 636, 637, 638, 639, 640, 641, 642, 643, 644,
! 1279: 645, 264, 23, 132, 133, 919, 757, 646, 363, 902,
! 1280: 198, 106, 1034, 932, 583, 681, 836, 199, 266, 544,
! 1281: 901, 55, 55, 119, 119, 363, 1119, 1245, 267, 328,
! 1282: 72, 6, 1150, 8, 73, 268, 1247, 528, 464, 10,
! 1283: 269, 270, 55, 1115, 683, 0, 280, 281, 282, 933,
! 1284: 0, 55, 434, 0, 13, 374, 0, 0, 51, 55,
! 1285: 55, 14, 0, 0, 0, 0, 0, 0, 17, 0,
! 1286: 373, 0, 373, 169, 170, 651, 0, 0, 318, 10,
! 1287: 119, 0, 120, 435, 436, 0, 363, 437, 438, 439,
! 1288: 440, 441, 442, 0, 528, 4, 160, 6, 161, 8,
! 1289: 162, 14, 0, 0, 0, 10, 0, 0, 17, 652,
! 1290: 1140, 0, 0, 363, 0, 0, 0, 0, 0, 0,
! 1291: 13, 23, 0, 0, 358, 0, 0, 14, 0, 0,
! 1292: 0, 0, 383, 16, 17, 55, 55, 55, 19, 147,
! 1293: 0, 765, 766, 0, 106, 0, 0, 55, 0, 1141,
! 1294: 55, 55, 3, 148, 4, 5, 6, 7, 8, 9,
! 1295: 169, 170, 0, 149, 10, 0, 10, 55, 0, 0,
! 1296: 150, 55, 363, 0, 363, 151, 0, 11, 12, 13,
! 1297: 0, 0, 0, 0, 0, 363, 14, 23, 14, 809,
! 1298: 15, 0, 16, 17, 55, 17, 18, 19, 0, 27,
! 1299: 0, 4, 146, 0, 0, 0, 279, 0, 0, 0,
! 1300: 0, 0, 20, 55, 0, 373, 0, 363, 51, 363,
! 1301: 0, 55, 21, 0, 0, 0, 363, 0, 0, 0,
! 1302: 363, 0, 0, 434, 22, 0, 402, 0, 0, 16,
! 1303: 0, 0, 0, 0, 19, 835, 23, 24, 25, 0,
! 1304: 281, 282, 0, 116, 117, 120, 26, 454, 27, 148,
! 1305: 0, 0, 106, 454, 435, 436, 383, 0, 437, 149,
! 1306: 439, 0, 441, 442, 0, 194, 150, 0, 0, 0,
! 1307: 363, 151, 363, 0, 0, 363, 0, 358, 856, 0,
! 1308: 0, 0, 204, 23, 0, 0, 0, 0, -646, 0,
! 1309: -646, -646, 0, 0, 0, 27, -646, 55, 350, 261,
! 1310: 4, 129, 6, 7, 8, 9, 0, 0, 195, 0,
! 1311: 10, 0, 0, 0, -646, -646, 0, -646, 920, -646,
! 1312: 341, 169, 170, 106, 0, 13, 0, 10, 0, 55,
! 1313: 55, 0, 14, -374, 55, 0, 0, 0, 16, 17,
! 1314: 55, 0, 0, 19, 0, 55, 0, 196, 197, 14,
! 1315: 198, 0, 351, 0, 0, 0, 17, 199, 20, 0,
! 1316: 0, 0, 0, 55, 55, 528, 55, 946, 21, -646,
! 1317: 0, 319, 320, 0, 0, 0, 363, 528, 0, 0,
! 1318: 22, 0, 363, 0, 669, 669, 0, 0, 669, 0,
! 1319: 528, 528, 23, 0, 0, 0, 339, 0, 0, 0,
! 1320: 0, 0, 586, -374, 27, 0, 0, 0, 0, 373,
! 1321: 0, 363, 0, 0, 528, 528, 0, 0, 359, -646,
! 1322: 0, -646, -646, 0, 106, 384, 0, -646, 0, 0,
! 1323: -2, 3, 0, 4, 5, 6, 7, 8, 9, 195,
! 1324: 0, 0, 0, 10, 0, -646, -646, 0, -646, 0,
! 1325: -646, 0, 0, 0, 0, 0, 11, 12, 13, 0,
! 1326: 0, 281, 282, 454, 0, 14, 0, 0, 0, 15,
! 1327: 0, 16, 17, 55, 55, 18, 19, 55, 196, 197,
! 1328: 0, 198, 0, 1046, 1047, 0, 0, 480, 199, 482,
! 1329: 483, 20, 0, 528, 0, 0, 0, 120, 0, 0,
! 1330: -257, 21, 120, 424, 425, 426, 427, 428, 429, 430,
! 1331: 431, 432, 433, 22, 423, 424, 425, 426, 427, 428,
! 1332: 429, 430, 431, 432, 433, 23, 24, 25, 528, 0,
! 1333: 1077, 0, 0, 0, 0, 26, 3, 27, 4, 5,
! 1334: 6, 7, 8, 9, 540, 541, 572, 146, 10, 0,
! 1335: 55, 55, 0, 0, 0, 551, 0, 0, 0, 0,
! 1336: 0, 11, 12, 13, 0, 0, 0, 0, 0, 0,
! 1337: 14, 0, 0, 0, 15, 0, 16, 17, 0, 0,
! 1338: 18, 19, 0, 0, 16, 828, 55, 573, 120, 19,
! 1339: 147, 55, 574, 0, 0, 528, 20, 0, 575, 0,
! 1340: 0, 0, 1129, 0, 148, 0, 21, 427, 428, 429,
! 1341: 430, 431, 432, 433, 149, 0, 0, 0, 22, 528,
! 1342: 0, 150, 0, 0, 0, 0, 576, 0, 0, 0,
! 1343: 23, 24, 25, 0, 0, 528, 0, 0, 23, 0,
! 1344: 26, 502, 27, 0, 0, 0, 0, 0, 0, 0,
! 1345: 27, 0, 0, 0, 0, 0, 281, 282, 363, 0,
! 1346: 0, 363, 0, 0, 0, 0, 0, 0, 0, 71,
! 1347: 281, 282, 72, 6, 55, 8, 73, 55, 0, 0,
! 1348: 0, 10, 0, 528, 0, 528, 0, 0, 672, 0,
! 1349: 0, 0, 0, 0, 0, 0, 13, 0, 363, 528,
! 1350: 358, 0, 528, 14, 0, 74, 75, 0, 0, 0,
! 1351: 17, 76, 77, 692, 0, 4, 146, 0, 0, 78,
! 1352: 79, 80, 81, 0, 0, 82, 83, 84, 85, 86,
1.1.1.4 root 1353: 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
1.1.1.5 ! root 1354: 97, 98, 0, 99, 100, 55, 55, 101, 102, 0,
! 1355: 281, 282, 103, 16, 0, 0, 0, 0, 19, 55,
! 1356: 55, 0, 528, 23, 0, 735, 736, 0, 738, 0,
! 1357: 0, 0, 0, 148, 0, 104, 105, 0, 0, 55,
! 1358: 749, 750, 0, 149, 0, 0, 0, 0, 0, 55,
! 1359: 150, 0, 0, 0, 0, 151, 764, 0, 0, 0,
! 1360: 0, 0, -440, 773, -440, -440, 0, 23, 1014, 0,
! 1361: -440, 0, 782, 783, 784, 0, 0, 0, 0, 27,
! 1362: 0, 0, 0, 358, 60, 0, 0, 791, -440, 795,
! 1363: 0, -440, 799, 0, 0, 0, 0, 0, 0, 55,
! 1364: 55, 0, 0, 61, 0, 350, 0, 4, 129, 6,
! 1365: 7, 8, 9, 358, 0, 0, 0, 10, 0, 0,
! 1366: 4, 118, -440, 0, -440, 279, 0, 0, 0, 0,
! 1367: 0, -440, 13, 0, 0, 0, 0, 0, 0, 14,
! 1368: -375, 0, 0, 0, -440, 16, 17, 0, 829, 830,
! 1369: 19, 0, 0, 0, 0, 0, 55, 55, 16, 351,
! 1370: 0, 264, 0, 19, 0, 20, 0, 0, 0, 839,
! 1371: 840, 0, 55, 841, 0, 21, 0, 0, 665, 0,
! 1372: 0, 0, 0, 0, 0, 0, 0, 22, 666, 0,
! 1373: 0, 0, 0, 0, 0, 268, 0, 0, 0, 23,
! 1374: 667, 270, 55, 0, 0, 0, 0, 0, 0, 586,
! 1375: -375, 27, 23, 0, 0, 0, 0, 0, 0, 0,
! 1376: 0, 0, 0, 0, 27, 0, 0, 0, 912, 913,
! 1377: 914, 0, 1020, 0, -580, -580, -580, -580, -580, -580,
! 1378: -580, -580, 0, -580, -580, -580, -580, -580, -580, -580,
! 1379: -580, -580, -580, -580, -580, -580, -580, -580, -580, -580,
! 1380: -580, -580, -580, 0, -580, 0, -580, 0, -580, -580,
! 1381: 0, -580, -580, -580, 4, 118, 0, -580, 0, 0,
! 1382: -580, -580, 0, 0, 0, 0, 0, 0, 0, -580,
! 1383: 4, 146, -580, 0, 0, 0, 0, 0, 0, 0,
! 1384: -580, -580, -580, 4, 381, 0, -580, -580, 0, 4,
! 1385: 146, 0, 16, 0, -580, 264, -580, 19, 1021, -580,
! 1386: 1022, 0, -580, -580, -580, 964, -580, 0, 16, 0,
! 1387: 0, 0, 665, 19, 147, 0, -580, -580, -580, -580,
! 1388: 0, 16, 666, 0, 0, 0, 19, 16, 148, 268,
! 1389: 0, 0, 19, 147, 667, 270, 0, 0, 149, 0,
! 1390: 0, 20, 0, 0, 0, 150, 23, 148, 0, 0,
! 1391: 151, 21, 0, 0, 0, 0, 0, 149, 27, 0,
! 1392: 0, 0, 23, 22, 150, 0, 0, 0, 0, 151,
! 1393: 1035, 1036, 1037, 0, 27, 382, 0, 0, 0, 0,
! 1394: 0, 23, 0, 0, 0, 0, 1043, 27, 0, 0,
! 1395: 0, 1008, 0, 27, 1051, 0, 0, 0, 0, 0,
! 1396: 1056, 1057, 1058, 1059, 1060, 1061, 1015, 0, 863, 129,
! 1397: 6, 7, 8, 361, 207, 208, 0, 209, 10, 864,
! 1398: 0, 865, 866, 867, 868, 869, 870, 871, 872, 873,
! 1399: 874, 11, 12, 13, 210, 211, 212, 0, 213, 0,
! 1400: 14, 0, 214, -240, 0, 215, 16, 17, 0, 0,
! 1401: 0, 216, 0, 0, 875, 310, 0, 0, 0, 0,
! 1402: 0, 72, 6, 217, 8, 73, 218, 0, 0, 0,
! 1403: 10, 0, 0, 0, 219, 220, 221, 0, 0, 0,
! 1404: 222, 223, 0, 0, 0, 13, 0, 0, 224, 0,
! 1405: 876, 0, 14, 877, 0, 0, 878, 879, 880, 17,
! 1406: 881, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 1407: 882, 1016, 225, 226, 1025, 0, 863, 129, 6, 7,
! 1408: 8, 361, 207, 208, 0, 209, 10, 864, 0, 865,
! 1409: 866, 867, 868, 869, 870, 871, 872, 873, 874, 11,
! 1410: 12, 13, 210, 211, 212, 0, 213, 0, 14, 0,
! 1411: 214, -240, 23, 215, 16, 17, 0, 0, 0, 216,
! 1412: 0, 0, 875, 310, 0, 0, 0, 0, 0, 0,
! 1413: 0, 217, 0, 0, 218, 0, 0, 0, 0, 0,
! 1414: 0, 0, 219, 220, 221, 0, 0, 0, 222, 223,
! 1415: 0, 0, 0, 0, 0, 0, 224, 0, 876, 0,
! 1416: 0, 877, 0, 0, 878, 879, 880, 0, 881, 0,
! 1417: 0, 0, 0, 0, 0, 0, 0, 0, 882, 1026,
! 1418: 225, 226, 1029, 0, 863, 129, 6, 7, 8, 361,
! 1419: 207, 208, 0, 209, 10, 864, 0, 865, 866, 867,
! 1420: 868, 869, 870, 871, 872, 873, 874, 11, 12, 13,
! 1421: 210, 211, 212, 0, 213, 0, 14, 0, 214, -240,
! 1422: 0, 215, 16, 17, 0, 0, 0, 216, 0, 0,
! 1423: 875, 310, 0, 0, 0, 0, 0, 0, 0, 217,
! 1424: 0, 0, 218, 0, 0, 0, 0, 0, 0, 0,
! 1425: 219, 220, 221, 0, 0, 0, 222, 223, 0, 0,
! 1426: 0, 0, 0, 0, 224, 0, 876, 0, 0, 877,
! 1427: 0, 0, 878, 879, 880, 0, 881, 0, 0, 0,
! 1428: 0, 0, 0, 0, 0, 0, 882, 1030, 225, 226,
! 1429: 1015, 0, 863, 129, 6, 7, 8, 361, 207, 208,
! 1430: 0, 209, 10, 864, 0, 865, 866, 867, 868, 869,
! 1431: 870, 871, 872, 873, 874, 11, 12, 13, 210, 211,
! 1432: 212, 0, 213, 0, 14, 0, 214, -240, 0, 215,
! 1433: 16, 17, 0, 0, 0, 216, 0, 0, 875, 310,
! 1434: 0, 0, 0, 0, 0, 0, 0, 217, 0, 0,
! 1435: 218, 0, 0, 0, 0, 0, 0, 0, 219, 220,
! 1436: 221, 0, 0, 0, 222, 223, 0, 0, 0, 0,
! 1437: 0, 0, 224, 0, 876, 0, 0, 877, 0, 0,
! 1438: 878, 879, 880, 0, 881, 0, 0, 0, 0, 0,
! 1439: 0, 0, 0, 0, 882, 1118, 225, 226, 1015, 0,
! 1440: 863, 129, 6, 7, 8, 361, 207, 208, 0, 209,
! 1441: 10, 864, 0, 865, 866, 867, 868, 869, 870, 871,
! 1442: 872, 873, 874, 11, 12, 13, 210, 211, 212, 0,
! 1443: 213, 0, 14, 0, 214, -240, 0, 215, 16, 17,
! 1444: 0, 0, 0, 216, 0, 0, 875, 310, 0, 0,
! 1445: 0, 0, 0, 0, 0, 217, 0, 0, 218, 0,
! 1446: 0, 0, 0, 0, 0, 0, 219, 220, 221, 0,
! 1447: 0, 0, 222, 223, 0, 0, 0, 0, 0, 0,
! 1448: 224, 0, 876, 0, 0, 877, 0, 0, 878, 879,
! 1449: 880, 0, 881, 0, 0, 0, 0, 0, 0, 0,
! 1450: 0, 0, 882, 1121, 225, 226, 1015, 0, 863, 129,
! 1451: 6, 7, 8, 361, 207, 208, 0, 209, 10, 864,
! 1452: 0, 865, 866, 867, 868, 869, 870, 871, 872, 873,
! 1453: 874, 11, 12, 13, 210, 211, 212, 0, 213, 0,
! 1454: 14, 0, 214, -240, 0, 215, 16, 17, 0, 0,
! 1455: 0, 216, 0, 0, 875, 310, 0, 0, 0, 0,
! 1456: 0, 0, 0, 217, 0, 0, 218, 0, 0, 0,
! 1457: 0, 0, 0, 0, 219, 220, 221, 0, 0, 0,
! 1458: 222, 223, 0, 0, 0, 0, 0, 0, 224, 0,
! 1459: 876, 0, 0, 877, 0, 0, 878, 879, 880, 0,
! 1460: 881, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 1461: 882, 1215, 225, 226, 862, 0, 863, 129, 6, 7,
! 1462: 8, 361, 207, 208, 0, 209, 10, 864, 0, 865,
! 1463: 866, 867, 868, 869, 870, 871, 872, 873, 874, 11,
! 1464: 12, 13, 210, 211, 212, 0, 213, 0, 14, 0,
! 1465: 214, -240, 0, 215, 16, 17, 0, 0, 0, 216,
! 1466: 0, 0, 875, 310, 0, 0, 0, 0, 0, 0,
! 1467: 0, 217, 0, 0, 218, 0, 0, 0, 0, 0,
! 1468: 0, 0, 219, 220, 221, 0, 0, 0, 222, 223,
! 1469: 0, 0, 0, 0, 0, 0, 224, 0, 876, 0,
! 1470: 0, 877, 0, 0, 878, 879, 880, 0, 881, 0,
! 1471: 0, 0, 0, 0, 0, 0, 0, 0, 882, 0,
! 1472: 225, 226, 1192, 0, 863, 129, 6, 7, 8, 361,
! 1473: 207, 208, 0, 209, 10, 864, 0, 865, 866, 867,
! 1474: 868, 869, 870, 871, 872, 873, 874, 11, 12, 13,
! 1475: 210, 211, 212, 0, 213, 0, 14, 0, 214, -240,
! 1476: 0, 215, 16, 17, 0, 0, 0, 216, 0, 0,
! 1477: 875, 310, 0, 0, 0, 0, 0, 72, 6, 217,
! 1478: 8, 73, 218, 0, 0, 0, 10, 0, 0, 0,
! 1479: 219, 220, 221, 0, 0, 0, 222, 223, 0, 0,
! 1480: 0, 13, 0, 0, 224, 0, 876, 0, 14, 877,
! 1481: 0, 0, 878, 879, 880, 17, 881, 0, 0, 0,
! 1482: 0, 0, 1067, 0, 0, 0, 882, 0, 225, 226,
! 1483: 360, 0, 205, 129, 6, 7, 8, 361, 207, 208,
! 1484: 245, 209, 10, 421, 422, 423, 424, 425, 426, 427,
! 1485: 428, 429, 430, 431, 432, 433, 1068, 13, 210, 211,
! 1486: 212, 0, 213, 0, 14, 0, 214, -240, 23, 215,
! 1487: 16, 17, 0, 0, 0, 216, 0, 0, 0, 0,
! 1488: 0, 0, 72, 6, 161, 8, 162, 217, 0, 0,
! 1489: 218, 10, 0, 0, 0, 0, 4, 118, 219, 220,
! 1490: 221, 0, 0, 0, 222, 223, 13, 0, 0, 0,
! 1491: 0, 0, 224, 14, 0, 0, 0, 0, 0, 0,
! 1492: 17, 0, 0, 246, 23, 0, 0, 0, 0, 0,
! 1493: 0, 0, 0, -624, 16, 0, 225, 226, 552, 19,
! 1494: 205, 129, 6, 7, 8, 361, 207, 208, 245, 209,
! 1495: 10, 0, 0, 0, 321, 0, 0, 0, 0, 0,
! 1496: 0, 0, 0, 0, 322, 13, 210, 211, 212, 0,
! 1497: 213, 323, 14, 23, 214, -240, 324, 215, 16, 17,
! 1498: 0, 0, 0, 216, 0, 0, 0, 0, 23, 0,
! 1499: 72, 6, 7, 8, 9, 217, 0, 0, 218, 10,
! 1500: 27, 0, 0, 0, 4, 118, 219, 220, 221, 0,
! 1501: 0, 0, 222, 223, 13, 0, 0, 0, 0, 0,
! 1502: 224, 14, 0, 0, 0, 0, 0, 0, 17, 0,
! 1503: 0, 246, 23, 0, 0, 0, 0, 0, 0, 0,
! 1504: 0, -624, 16, 0, 225, 226, 739, 19, 205, 129,
! 1505: 6, 7, 8, 361, 207, 208, 245, 209, 10, 0,
! 1506: 0, 0, 542, 0, 0, 0, 0, 0, 0, 0,
! 1507: 0, 0, 543, 13, 210, 211, 212, 0, 213, 323,
! 1508: 14, 23, 214, -240, 324, 215, 16, 17, 0, 0,
! 1509: 0, 216, 0, 0, 0, 0, 23, 0, 0, 0,
! 1510: 0, 0, 0, 217, 0, 0, 218, 0, 27, 0,
! 1511: 0, 0, 4, 381, 219, 220, 221, 0, 0, 0,
! 1512: 222, 223, 0, 0, 0, 0, 0, 0, 224, 0,
! 1513: 0, 0, 0, 0, 0, 0, 0, 0, 0, 246,
! 1514: 23, 0, 0, 0, 0, 0, 0, 0, 0, -624,
! 1515: 16, 0, 225, 226, 792, 19, 205, 129, 6, 7,
! 1516: 8, 361, 207, 208, 245, 209, 10, 0, 0, 0,
! 1517: 557, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 1518: 558, 13, 210, 211, 212, 0, 213, 0, 14, 0,
! 1519: 214, -240, 22, 215, 16, 17, 0, 0, 0, 216,
! 1520: 0, 0, 0, 0, 382, 0, 0, 0, 0, 0,
! 1521: 0, 217, 0, 0, 218, 0, 27, 0, 0, 0,
! 1522: 0, 0, 219, 220, 221, 0, 0, 0, 222, 223,
! 1523: 0, 0, 0, 0, 0, 0, 224, 0, 0, 0,
! 1524: 0, 0, 0, 0, 0, 0, 0, 246, 23, 0,
! 1525: 0, 0, 0, 0, 0, 0, 0, -624, 0, 0,
! 1526: 225, 226, 796, 0, 205, 129, 6, 7, 8, 361,
! 1527: 207, 208, 245, 209, 10, 420, 421, 422, 423, 424,
! 1528: 425, 426, 427, 428, 429, 430, 431, 432, 433, 13,
! 1529: 210, 211, 212, 0, 213, 0, 14, 0, 214, -240,
! 1530: 0, 215, 16, 17, 0, 0, 0, 216, 0, 0,
! 1531: 0, 0, 0, 0, 0, 0, 0, 0, 0, 217,
! 1532: 0, 0, 218, 0, 0, 0, 0, 0, 0, 0,
! 1533: 219, 220, 221, 0, 0, 0, 222, 223, 0, 0,
! 1534: 0, 0, 0, 0, 224, 0, 0, 0, 0, 0,
! 1535: 0, 0, 0, 0, 0, 246, 23, 0, 0, 0,
! 1536: 0, 0, 0, 0, 0, -624, 0, 0, 225, 226,
! 1537: 526, 0, 719, 720, 6, 0, 8, 388, 207, 208,
! 1538: 0, 209, 10, 422, 423, 424, 425, 426, 427, 428,
! 1539: 429, 430, 431, 432, 433, 0, 0, 13, 210, 211,
! 1540: 212, 0, 213, 0, 14, 0, 214, -240, 0, 215,
! 1541: 16, 17, 0, 0, 0, 216, 0, 0, 0, 527,
! 1542: 0, 0, 0, 0, 0, 0, 0, 217, 0, 0,
! 1543: 218, 0, 0, 0, 0, 0, 0, 0, 219, 220,
! 1544: 221, 0, 0, 0, 222, 223, 0, 0, 0, 0,
! 1545: 0, 0, 224, 721, 526, 0, 719, 720, 6, 0,
! 1546: 8, 388, 207, 208, 183, 209, 10, 0, 0, 0,
! 1547: 0, 0, 0, 973, 0, 722, 225, 226, 0, 0,
! 1548: 0, 13, 210, 211, 212, 0, 213, 0, 14, 0,
! 1549: 214, -240, 0, 215, 16, 17, 0, 0, 0, 216,
! 1550: 0, 0, 0, 527, 0, 0, 0, 0, 0, 0,
! 1551: 0, 217, 0, 0, 218, 0, 0, 0, 0, 0,
! 1552: 0, 0, 219, 220, 221, 0, 0, 0, 222, 223,
! 1553: 0, 0, 0, 0, 0, 1087, 224, 205, 129, 6,
! 1554: 7, 8, 361, 207, 208, 0, 209, 10, 183, 0,
! 1555: 0, 0, 0, 0, 0, 0, 0, 0, 0, 974,
! 1556: 225, 226, 13, 210, 211, 212, 0, 213, 0, 14,
! 1557: 0, 214, -240, 0, 215, 16, 17, 0, 0, 0,
! 1558: 216, 0, 0, 0, 1088, 0, 0, 0, 0, 0,
! 1559: 0, 0, 217, 0, 0, 218, 0, 0, 0, 0,
! 1560: 0, 0, 0, 219, 220, 221, 0, 0, 0, 222,
! 1561: 223, 0, 0, 0, 0, 0, 526, 224, 719, 720,
! 1562: 6, 0, 8, 388, 207, 208, 0, 209, 10, 23,
! 1563: 0, 0, 0, 0, 0, 973, 0, 0, 0, 1089,
! 1564: 0, 225, 226, 13, 210, 211, 212, 0, 213, 0,
! 1565: 14, 0, 214, -240, 0, 215, 16, 17, 0, 0,
! 1566: 0, 216, 0, 0, 0, 527, 0, 0, 0, 0,
! 1567: 0, 0, 0, 217, 0, 0, 218, 0, 0, 0,
! 1568: 0, 0, 0, 0, 219, 220, 221, 0, 0, 0,
! 1569: 222, 223, 0, 0, 0, 0, 0, 526, 224, 719,
! 1570: 720, 6, 0, 8, 388, 207, 208, 0, 209, 10,
! 1571: 183, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 1572: 0, -333, 225, 226, 13, 210, 211, 212, 0, 213,
! 1573: 0, 14, 0, 214, -240, 0, 215, 16, 17, 0,
! 1574: 0, 0, 216, 0, 0, 0, 527, 0, 0, 0,
! 1575: 0, 0, 0, 0, 217, 0, 0, 218, 0, 0,
! 1576: 0, 0, 0, 0, 0, 219, 220, 221, 0, 0,
! 1577: 0, 222, 223, 0, 0, 0, 0, 0, 0, 224,
! 1578: 721, 406, 0, 205, 129, 6, 0, 8, 206, 207,
! 1579: 208, 183, 209, 10, 0, 0, 0, 0, 0, 0,
! 1580: 0, 0, 0, 225, 226, 0, 0, 0, 13, 210,
! 1581: 211, 212, 0, 213, 0, 14, 0, 214, -240, 0,
! 1582: 215, 16, 17, 0, 0, 0, 216, 0, 0, 0,
! 1583: -211, 0, 0, 0, 0, 0, 0, 0, 217, 0,
! 1584: 0, 218, 0, 0, 0, 0, 0, 0, 0, 219,
! 1585: 220, 221, 0, 0, 0, 222, 223, 0, 0, 0,
! 1586: 0, 0, 526, 224, 205, 129, 6, 0, 8, 388,
! 1587: 207, 208, 0, 209, 10, 23, 0, 0, 0, 0,
! 1588: 0, 0, 0, 0, 0, 0, 0, 225, 226, 13,
! 1589: 210, 211, 212, 0, 213, 0, 14, 0, 214, -240,
! 1590: 0, 215, 16, 17, 0, 0, 0, 216, 0, 0,
! 1591: 0, 527, 0, 0, 0, 0, 0, 0, 0, 217,
! 1592: 0, 0, 218, 0, 0, 0, 0, 0, 0, 0,
! 1593: 219, 220, 221, 0, 0, 0, 222, 223, 0, 0,
! 1594: 0, 0, 0, 626, 224, 205, 129, 6, 0, 8,
! 1595: 388, 207, 208, 0, 209, 10, 23, 0, 0, 0,
! 1596: 0, 0, 0, 0, 0, 0, 0, 0, 225, 226,
! 1597: 13, 210, 211, 212, 0, 213, 0, 14, 0, 214,
! 1598: -240, 0, 215, 16, 17, 0, 0, 0, 216, 0,
! 1599: 0, 0, 0, 0, 0, 0, 0, -614, 0, 0,
! 1600: 217, 0, 0, 218, 0, 0, 0, 0, 0, 0,
! 1601: 0, 219, 220, 221, 0, 0, 0, 222, 223, 0,
! 1602: 0, 0, 0, 0, 626, 224, 205, 129, 6, 0,
! 1603: 8, 388, 207, 208, 0, 209, 10, 23, 0, 0,
! 1604: 0, 0, 0, 0, 0, 0, 0, 0, 0, 225,
! 1605: 226, 13, 210, 211, 212, 0, 213, 0, 14, 0,
! 1606: 214, -240, 0, 215, 16, 17, 0, 0, 0, 216,
1.1.1.3 root 1607: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1.1.1.5 ! root 1608: 0, 217, 0, 0, 218, 0, 0, 0, 0, 0,
! 1609: 0, 0, 219, 220, 221, 0, 0, 0, 222, 223,
! 1610: 0, 0, 0, 0, 0, 626, 224, 205, 129, 6,
! 1611: 0, 8, 388, 207, 208, 0, 209, 10, 23, 0,
! 1612: 0, 0, 0, 0, 0, 0, 0, 0, -614, 0,
! 1613: 225, 226, 13, 210, 211, 212, 0, 213, 0, 14,
! 1614: 0, 214, -240, 0, 215, 16, 17, 0, 0, 0,
! 1615: 216, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 1616: 0, 0, 217, 0, 0, 218, 0, 0, 0, 0,
! 1617: 0, 0, 0, 219, 220, 221, 0, 0, 0, 222,
! 1618: 223, 0, 0, 0, 0, 0, 682, 224, 205, 129,
! 1619: 6, 0, 8, 388, 207, 208, 0, 209, 10, 23,
! 1620: 0, 0, 0, 0, 0, 0, 0, 0, -614, 0,
! 1621: 0, 225, 226, 13, 210, 211, 212, 0, 213, 0,
! 1622: 14, 0, 214, -240, 0, 215, 16, 17, 0, 0,
! 1623: 0, 216, 0, 0, 0, 0, 0, 0, 0, 0,
! 1624: 0, 0, 0, 217, 0, 0, 218, 0, 0, 0,
! 1625: 0, 0, 0, 0, 219, 220, 221, 0, 0, 0,
! 1626: 222, 223, 0, 0, 0, 0, 0, 0, 224, 205,
! 1627: 129, 6, 0, 8, 388, 207, 208, 0, 209, 10,
! 1628: 23, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 1629: 0, 0, 225, 226, 13, 210, 211, 212, 0, 213,
! 1630: 0, 14, 0, 214, 0, 0, 215, 16, 17, 0,
! 1631: 0, 350, 216, 4, 129, 6, 7, 8, 9, 0,
! 1632: 0, 0, 0, 10, 217, 0, 0, 218, 0, 0,
! 1633: 0, 0, 0, 0, 0, 219, 220, 221, 13, 0,
! 1634: 0, 222, 223, 0, 0, 14, -373, 0, 0, 224,
! 1635: 0, 16, 17, 0, 0, 0, 19, 0, 0, 0,
! 1636: 0, 23, 0, 0, 0, 351, 0, 0, 0, 0,
! 1637: 0, 20, 0, 225, 226, 655, 0, 0, 0, 0,
! 1638: 350, 21, 4, 129, 6, 7, 8, 9, 0, 0,
! 1639: 0, 0, 10, 22, 0, 0, 3, 0, 4, 5,
! 1640: 6, 7, 8, 9, 0, 23, 0, 13, 10, 0,
! 1641: 0, 0, 0, 0, 14, -376, -373, 27, 0, 0,
! 1642: 16, 17, 0, 13, 0, 19, 0, 0, 0, 0,
! 1643: 14, 0, 0, 0, 351, 0, 16, 17, 0, 0,
! 1644: 20, 19, 0, 0, 0, 0, 0, 0, 0, 0,
! 1645: 21, 0, 0, 0, 0, 0, 20, 0, 0, 0,
! 1646: 0, 0, 22, 0, 0, 0, 21, 0, 0, 0,
! 1647: 0, 0, 0, 0, 23, 0, 0, 0, 22, 0,
! 1648: 0, 0, 0, 0, 0, -376, 27, 0, 0, 0,
! 1649: 23, 24, 0, 0, 0, 0, 0, 0, 0, 0,
! 1650: 26, 0, 27, 863, 129, 6, 7, 8, 361, 207,
! 1651: 208, 0, 209, 10, 864, 0, 865, 866, 867, 868,
! 1652: 869, 870, 871, 872, 873, 874, 11, 12, 13, 210,
! 1653: 211, 212, 0, 213, 0, 14, 0, 214, 0, 0,
! 1654: 215, 16, 17, 0, 0, 0, 216, 0, 0, 875,
! 1655: 310, 0, 0, 0, 0, 0, 0, 0, 217, 0,
! 1656: 0, 218, 0, 0, 0, 0, 0, 0, 0, 219,
! 1657: 220, 221, 0, 0, 0, 222, 223, 0, 0, 0,
! 1658: 0, 0, 0, 224, 0, 876, 0, 0, 877, 0,
! 1659: 0, 878, 879, 880, 0, 881, 0, 0, 0, 0,
! 1660: 0, 0, 0, 0, 0, 882, 1023, 225, 226, 863,
! 1661: 129, 6, 7, 8, 361, 207, 208, 0, 209, 10,
! 1662: 864, 0, 865, 866, 867, 868, 869, 870, 871, 872,
! 1663: 873, 874, 11, 12, 13, 210, 211, 212, 0, 213,
! 1664: 0, 14, 0, 214, 0, 0, 215, 16, 17, 0,
! 1665: 0, 0, 216, 0, 0, 875, 310, 0, 0, 0,
! 1666: 0, 0, 0, 0, 217, 0, 0, 218, 0, 0,
! 1667: 0, 0, 0, 0, 0, 219, 220, 221, 0, 0,
! 1668: 0, 222, 223, 0, 0, 0, 0, 0, 0, 224,
! 1669: 0, 876, 0, 0, 877, 0, 0, 878, 879, 880,
! 1670: 0, 881, 0, 0, 0, 0, 0, 0, 0, 0,
! 1671: 0, 882, 0, 225, 226, 863, 129, 6, 7, 8,
! 1672: 361, 207, 208, 0, 209, 10, 864, 0, 865, 866,
! 1673: 867, 868, 869, 870, 871, 872, 873, 874, 11, 12,
! 1674: 13, 210, 211, 212, 0, 213, 0, 14, 0, 214,
! 1675: 0, 0, 215, 16, 17, 0, 0, 0, 216, 0,
! 1676: 0, 875, 0, 0, 0, 0, 0, 0, 0, 0,
! 1677: 217, 0, 0, 218, 0, 0, 0, 0, 0, 0,
! 1678: 0, 219, 220, 221, 0, 0, 0, 222, 223, 0,
! 1679: 0, 0, 0, 0, 0, 224, 0, 876, 0, 0,
! 1680: 877, 0, 0, 878, 879, 880, 0, 881, 0, 0,
! 1681: 0, 0, 0, 0, 0, 0, 0, 882, 0, 225,
! 1682: 226, 205, 129, 6, 0, 8, 388, 207, 208, 0,
! 1683: 209, 10, 72, 6, 7, 8, 9, 0, 0, 245,
! 1684: 0, 10, 0, 0, 0, 0, 13, 210, 211, 212,
! 1685: 0, 213, 0, 14, 0, 214, 13, 0, 215, 16,
! 1686: 17, 0, 0, 14, 216, 398, 72, 6, 0, 8,
! 1687: 17, 0, 0, 0, 0, 10, 217, 0, 0, 218,
! 1688: 0, 0, 0, 0, 0, 0, 0, 219, 220, 221,
! 1689: 13, 0, 0, 222, 223, 0, 0, 14, 0, 214,
! 1690: 0, 224, 445, 16, 17, 205, 129, 6, 399, 8,
! 1691: 388, 207, 208, 23, 209, 10, 0, 0, 0, 0,
! 1692: 0, 0, 246, 23, 0, 225, 226, 0, 0, 0,
! 1693: 13, 210, 211, 212, 0, 213, 0, 14, 0, 214,
! 1694: 0, 0, 215, 16, 17, 0, 0, 0, 216, 0,
! 1695: 0, 0, 808, 0, 0, 0, 0, 23, 0, 0,
! 1696: 217, 0, 0, 218, 0, 0, 0, 0, 0, 0,
! 1697: 0, 219, 220, 221, 0, 0, 0, 222, 223, 0,
! 1698: 0, 0, 0, 0, 0, 224, 205, 129, 6, 0,
! 1699: 8, 388, 207, 208, 0, 209, 10, 23, 0, 0,
! 1700: 0, 0, 0, 0, 0, 0, 0, 0, 0, 225,
! 1701: 226, 13, 210, 211, 212, 0, 213, 0, 14, 0,
! 1702: 214, 0, 0, 215, 16, 17, 0, 0, 0, 216,
1.1.1.2 root 1703: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1.1.1.5 ! root 1704: 0, 217, 0, 0, 218, 0, 0, 0, 0, 0,
! 1705: 0, 0, 219, 220, 221, 0, 0, 0, 222, 223,
! 1706: 0, 0, 0, 0, 0, 0, 224, 205, 129, 6,
! 1707: 0, 8, 388, 207, 208, 0, 209, 10, 23, 0,
! 1708: 0, 0, 0, 0, 0, 0, 0, 0, 991, 0,
! 1709: 225, 226, 13, 210, 211, 212, 0, 213, 0, 14,
! 1710: 0, 214, 0, 0, 215, 16, 17, 0, 0, 0,
! 1711: 216, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 1712: 0, 0, 217, 0, 0, 218, 0, 0, 0, 0,
! 1713: 0, 0, 0, 219, 220, 221, 0, 0, 0, 222,
! 1714: 223, 0, 0, 0, 0, 0, 0, 224, 205, 129,
! 1715: 6, 0, 8, 206, 207, 208, 0, 209, 10, 23,
! 1716: 0, 0, 0, 0, 0, 0, 0, 0, 0, 1002,
! 1717: 0, 225, 226, 13, 210, 211, 212, 0, 213, 0,
! 1718: 14, 0, 214, 0, 0, 215, 16, 17, 0, 0,
! 1719: 0, 216, 0, 0, 0, 0, 0, 0, 0, 0,
! 1720: 0, 0, 0, 217, 0, 0, 218, 0, 0, 0,
! 1721: 0, 0, 0, 0, 219, 220, 221, 0, 0, 0,
! 1722: 222, 223, 0, 0, 0, 0, 0, 0, 224, 205,
! 1723: 129, 6, 0, 8, 388, 207, 208, 0, 209, 10,
! 1724: 23, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 1725: 0, 0, 225, 226, 13, 210, 211, 212, 0, 213,
! 1726: 0, 14, 0, 214, 0, 0, 215, 16, 17, 0,
1.1.1.4 root 1727: 0, 0, 216, 0, 0, 0, 0, 0, 0, 0,
1.1.1.5 ! root 1728: 0, 0, 0, 0, 217, 0, 0, 218, 0, 0,
! 1729: 0, 0, 0, 0, 0, 219, 220, 221, 0, 0,
! 1730: 0, 222, 223, 0, 0, 0, 0, 0, 0, 224,
! 1731: 205, 614, 6, 0, 8, 388, 207, 208, 0, 209,
! 1732: 10, 23, 0, 0, 0, 0, 0, 0, 0, 0,
! 1733: 0, 0, 0, 225, 226, 13, 210, 211, 212, 0,
! 1734: 213, 0, 14, 0, 214, 0, 0, 215, 16, 17,
! 1735: 0, 0, 0, 216, 205, 129, 6, 0, 8, 388,
! 1736: 207, 208, 0, 209, 10, 217, 0, 0, 218, 0,
! 1737: 0, 0, 0, 0, 0, 0, 219, 220, 221, 13,
! 1738: 210, 0, 222, 223, 213, 0, 14, 0, 214, 0,
! 1739: 224, 215, 16, 17, 0, 0, 0, 216, 0, 0,
! 1740: 0, 0, 23, 0, 0, 0, 0, 0, 0, 217,
! 1741: 0, 0, 218, 0, 225, 226, 0, 0, 0, 0,
! 1742: 219, 220, 221, 0, 0, 0, 222, 223, 0, 0,
! 1743: 0, 205, 129, 6, 389, 8, 388, 207, 208, 0,
! 1744: 209, 10, 0, 0, 0, 0, 23, 0, 0, 0,
! 1745: 0, 0, 0, 0, 0, 0, 13, 210, 225, 226,
! 1746: 0, 213, 0, 14, 0, 214, 0, 0, 215, 16,
! 1747: 17, 0, 0, 0, 216, 572, 160, 6, 161, 8,
! 1748: 162, 0, 0, 0, 0, 10, 217, 0, 0, 218,
! 1749: 0, 0, 0, 0, 0, 0, 0, 219, 220, 221,
! 1750: 13, 0, 0, 222, 223, 0, 0, 14, 0, 0,
! 1751: 0, 393, 0, 16, 17, 0, 580, 0, 19, 147,
! 1752: 0, 574, 0, 23, 0, 0, 0, 575, 0, 0,
! 1753: 0, 0, 0, 148, 0, 225, 226, 4, 129, 6,
! 1754: 7, 8, 9, 149, 0, 673, 0, 10, 0, 0,
! 1755: 150, 0, 0, 0, 0, 581, 0, 0, 0, 0,
! 1756: 0, 0, 13, 0, 0, 0, 0, 23, 0, 14,
! 1757: 0, 0, 0, 0, 0, 16, 17, 0, 264, 27,
! 1758: 19, 664, 4, 129, 6, 7, 8, 9, 0, 0,
! 1759: 245, 0, 10, 0, 0, 665, 0, 0, 0, 0,
! 1760: 0, 0, 0, 0, 0, 666, 0, 13, 0, 0,
! 1761: 0, 0, 268, 0, 14, 0, 0, 667, 270, 0,
! 1762: 16, 17, 0, 264, 0, 19, 0, 0, 0, 23,
1.1 root 1763: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1.1.1.5 ! root 1764: 665, 27, 0, 0, 4, 129, 6, 7, 8, 9,
! 1765: 666, 0, 245, 0, 10, 0, 0, 268, 0, 0,
! 1766: 0, 0, 667, 270, 0, 0, 0, 0, 0, 13,
! 1767: 0, 0, 0, 246, 23, 0, 14, 0, 0, 0,
! 1768: 0, 0, 16, 17, 0, 0, 27, 19, 4, 160,
! 1769: 6, 161, 8, 162, 0, 0, 0, 0, 10, 0,
! 1770: 0, 0, 321, 0, 0, 0, 0, 0, 0, 0,
! 1771: 0, 0, 322, 13, 129, 6, 7, 8, 9, 323,
! 1772: 14, 245, 0, 10, 324, 0, 16, 17, 0, 0,
! 1773: 0, 19, 147, 0, 0, 246, 23, 0, 13, 0,
! 1774: 0, 0, 0, 0, 0, 14, 148, 0, 27, 0,
! 1775: 0, 0, 17, 0, 264, 0, 149, 0, 72, 6,
! 1776: 0, 8, 275, 150, 0, 0, 0, 10, 151, 0,
! 1777: 0, 266, 0, 0, 0, 0, 0, 0, 0, 0,
! 1778: 23, 267, 13, 0, 0, 0, 0, 0, 268, 14,
! 1779: 1011, 0, 27, 269, 270, 0, 17, 0, 264, 0,
! 1780: 0, 265, 0, 0, 246, 23, 0, 0, 0, 0,
! 1781: 0, 0, 0, 0, 0, 266, 0, 0, 0, 0,
! 1782: 0, 0, 0, 0, 0, 267, 0, 0, 0, 0,
! 1783: 0, 0, 268, 0, 0, 0, 0, 269, 270, 0,
! 1784: 0, 0, 0, 0, 0, 414, 415, 416, 0, 23,
! 1785: 417, 418, 419, 420, 421, 422, 423, 424, 425, 426,
! 1786: 427, 428, 429, 430, 431, 432, 433, 414, 415, 416,
! 1787: 0, 0, 417, 418, 419, 420, 421, 422, 423, 424,
! 1788: 425, 426, 427, 428, 429, 430, 431, 432, 433, 0,
! 1789: 0, 0, 0, 0, 0, 0, 0, 602, 0, 0,
! 1790: 0, 0, 971, 0, 0, 0, 0, 0, 0, 0,
! 1791: 0, 0, 0, 0, 0, 0, 0, 414, 415, 416,
! 1792: 759, 760, 417, 418, 419, 420, 421, 422, 423, 424,
! 1793: 425, 426, 427, 428, 429, 430, 431, 432, 433, -142,
! 1794: 414, 415, 416, 0, 0, 417, 418, 419, 420, 421,
! 1795: 422, 423, 424, 425, 426, 427, 428, 429, 430, 431,
! 1796: 432, 433, 414, 415, 416, 1145, 0, 417, 418, 419,
! 1797: 420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
! 1798: 430, 431, 432, 433, 414, 415, 416, 0, 0, 417,
1.1.1.4 root 1799: 418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
1.1.1.5 ! root 1800: 428, 429, 430, 431, 432, 433, 414, 415, 416, 0,
! 1801: 0, 417, 418, 419, 420, 421, 422, 423, 424, 425,
! 1802: 0, 427, 428, 429, 430, 431, 432, 433, 416, 0,
! 1803: 0, 417, 418, 419, 420, 421, 422, 423, 424, 425,
! 1804: 426, 427, 428, 429, 430, 431, 432, 433, 418, 419,
! 1805: 420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
! 1806: 430, 431, 432, 433, 419, 420, 421, 422, 423, 424,
! 1807: 425, 426, 427, 428, 429, 430, 431, 432, 433
1.1 root 1808: };
1809:
1.1.1.5 ! root 1810: static const short yycheck[] = { 10,
! 1811: 16, 68, 270, 1, 2, 107, 300, 139, 140, 16,
! 1812: 40, 597, 112, 45, 41, 356, 278, 151, 16, 1,
! 1813: 2, 140, 243, 888, 62, 125, 310, 983, 1, 2,
! 1814: 278, 41, 196, 31, 45, 329, 1032, 1033, 216, 209,
! 1815: 210, 896, 40, 898, 138, 708, 947, 516, 218, 51,
! 1816: 191, 221, 19, 1, 2, 225, 10, 10, 31, 229,
! 1817: 888, 1, 2, 61, 62, 235, 334, 895, 147, 46,
! 1818: 68, 568, 218, 10, 10, 221, 10, 36, 46, 225,
! 1819: 549, 108, 44, 229, 0, 24, 3, 4, 65, 235,
! 1820: 37, 31, 44, 24, 39, 40, 46, 65, 83, 46,
! 1821: 1114, 55, 68, 105, 106, 3, 4, 5, 35, 50,
! 1822: 61, 109, 5, 265, 55, 65, 55, 269, 3, 50,
! 1823: 71, 83, 53, 121, 55, 3, 4, 464, 105, 127,
! 1824: 467, 83, 84, 131, 1148, 1149, 104, 239, 165, 51,
! 1825: 242, 305, 51, 304, 171, 127, 65, 106, 46, 51,
! 1826: 104, 104, 104, 46, 127, 165, 83, 224, 196, 36,
! 1827: 134, 171, 1027, 1064, 105, 203, 1031, 104, 104, 333,
! 1828: 104, 1, 2, 314, 105, 307, 308, 309, 95, 153,
! 1829: 1194, 3, 4, 5, 847, 130, 131, 127, 307, 308,
! 1830: 324, 158, 22, 167, 106, 193, 105, 95, 196, 1027,
! 1831: 98, 31, 699, 1031, 106, 203, 217, 1203, 1204, 39,
! 1832: 40, 505, 306, 240, 55, 65, 198, 95, 216, 467,
! 1833: 193, 399, 44, 387, 492, 51, 224, 397, 51, 106,
! 1834: 204, 50, 453, 44, 703, 1191, 55, 1251, 1252, 51,
! 1835: 319, 320, 253, 50, 242, 51, 273, 8, 55, 276,
! 1836: 248, 397, 200, 193, 3, 4, 105, 106, 224, 83,
! 1837: 66, 83, 51, 273, 105, 559, 51, 1095, 3, 4,
! 1838: 302, 269, 83, 95, 3, 4, 408, 441, 104, 547,
! 1839: 278, 104, 751, 3, 4, 115, 116, 117, 51, 287,
! 1840: 876, 302, 878, 105, 458, 333, 765, 127, 105, 1154,
! 1841: 130, 131, 3, 4, 5, 287, 41, 106, 51, 470,
! 1842: 337, 378, 41, 11, 287, 347, 105, 147, 292, 104,
! 1843: 302, 151, 389, 3, 4, 86, 393, 337, 1193, 1157,
! 1844: 482, 483, 93, 51, 50, 333, 51, 364, 55, 287,
! 1845: 3, 4, 105, 6, 174, 46, 95, 287, 65, 846,
! 1846: 50, 71, 300, 51, 364, 519, 354, 55, 356, 50,
! 1847: 95, 44, 105, 193, 51, 1193, 95, 51, 198, 343,
! 1848: 50, 201, 107, 36, 51, 95, 65, 444, 107, 55,
! 1849: 378, 329, 546, 356, 358, 3, 4, 105, 6, 1217,
! 1850: 105, 389, 340, 5, 95, 393, 94, 98, 44, 531,
! 1851: 83, 84, 368, 51, 51, 44, 51, 237, 353, 354,
! 1852: 384, 1, 531, 411, 55, 95, 356, 104, 36, 66,
! 1853: 104, 104, 51, 389, 109, 51, 86, 393, 105, 395,
! 1854: 396, 44, 95, 93, 55, 697, 10, 83, 84, 269,
! 1855: 451, 605, 576, 607, 83, 84, 444, 581, 1, 697,
! 1856: 416, 920, 44, 491, 618, 924, 104, 287, 104, 104,
! 1857: 50, 540, 541, 104, 475, 104, 498, 494, 51, 467,
! 1858: 83, 84, 302, 86, 768, 104, 442, 95, 104, 445,
! 1859: 93, 51, 776, 104, 494, 655, 650, 498, 652, 319,
! 1860: 320, 83, 105, 491, 324, 659, 51, 50, 51, 663,
! 1861: 330, 601, 3, 4, 3, 335, 42, 8, 546, 655,
! 1862: 9, 66, 664, 524, 50, 667, 527, 8, 51, 26,
! 1863: 27, 104, 50, 353, 354, 32, 356, 55, 51, 3,
! 1864: 4, 5, 51, 66, 104, 44, 568, 51, 576, 51,
! 1865: 41, 105, 106, 581, 51, 46, 53, 21, 546, 713,
! 1866: 16, 715, 7, 8, 718, 106, 22, 505, 13, 1,
! 1867: 61, 3, 4, 5, 6, 7, 8, 605, 46, 607,
! 1868: 71, 13, 46, 39, 83, 84, 3, 1046, 576, 44,
! 1869: 35, 104, 83, 581, 44, 104, 28, 42, 53, 44,
! 1870: 104, 932, 104, 35, 95, 104, 62, 50, 105, 41,
! 1871: 42, 99, 55, 577, 46, 51, 107, 605, 582, 607,
! 1872: 51, 559, 105, 51, 109, 597, 26, 27, 83, 61,
! 1873: 55, 95, 83, 83, 98, 83, 653, 51, 83, 71,
! 1874: 51, 51, 106, 463, 464, 44, 652, 467, 51, 1225,
! 1875: 51, 83, 38, 109, 83, 652, 3, 4, 51, 115,
! 1876: 116, 117, 822, 95, 652, 819, 735, 736, 104, 820,
! 1877: 1129, 825, 1131, 104, 130, 107, 104, 699, 679, 667,
! 1878: 749, 750, 833, 834, 83, 84, 822, 829, 830, 711,
! 1879: 104, 147, 83, 104, 104, 151, 51, 839, 840, 44,
! 1880: 854, 104, 10, 104, 44, 104, 857, 858, 672, 697,
! 1881: 711, 104, 51, 51, 3, 4, 105, 106, 174, 104,
! 1882: 540, 541, 53, 813, 816, 817, 106, 728, 44, 786,
! 1883: 44, 753, 44, 105, 106, 3, 4, 44, 83, 711,
! 1884: 104, 729, 198, 83, 84, 201, 86, 203, 44, 104,
! 1885: 104, 44, 41, 93, 3, 44, 576, 46, 47, 109,
! 1886: 216, 581, 44, 50, 1048, 104, 729, 83, 84, 83,
! 1887: 84, 83, 61, 41, 44, 109, 83, 597, 46, 47,
! 1888: 44, 237, 71, 105, 106, 936, 242, 83, 84, 78,
! 1889: 83, 779, 248, 61, 83, 84, 106, 44, 786, 729,
! 1890: 764, 83, 44, 71, 46, 104, 95, 808, 109, 773,
! 1891: 78, 105, 106, 83, 1088, 83, 779, 3, 107, 83,
! 1892: 971, 104, 278, 65, 846, 1109, 86, 95, 1102, 817,
! 1893: 768, 1105, 51, 93, 769, 799, 83, 105, 776, 107,
! 1894: 83, 83, 26, 27, 664, 105, 302, 667, 104, 779,
! 1895: 32, 3, 4, 5, 6, 7, 8, 858, 104, 44,
! 1896: 104, 13, 984, 319, 320, 50, 50, 887, 324, 46,
! 1897: 55, 55, 104, 874, 330, 876, 28, 86, 55, 335,
! 1898: 71, 72, 73, 35, 93, 1143, 1144, 1038, 65, 41,
! 1899: 42, 711, 53, 950, 46, 47, 105, 353, 83, 887,
! 1900: 888, 105, 106, 51, 876, 104, 878, 895, 896, 61,
! 1901: 898, 1062, 104, 869, 902, 735, 736, 873, 35, 71,
! 1902: 55, 56, 378, 34, 880, 888, 78, 1078, 109, 749,
! 1903: 750, 83, 895, 896, 109, 898, 105, 106, 105, 902,
! 1904: 44, 105, 106, 95, 932, 105, 106, 1101, 105, 769,
! 1905: 1104, 886, 887, 105, 105, 107, 105, 61, 888, 779,
! 1906: 105, 106, 950, 105, 928, 895, 896, 71, 898, 932,
! 1907: 209, 210, 902, 109, 78, 1126, 977, 1128, 61, 83,
! 1908: 84, 104, 6, 7, 8, 104, 51, 1141, 444, 13,
! 1909: 5, 1142, 1114, 109, 1145, 55, 55, 985, 83, 26,
! 1910: 27, 53, 932, 104, 104, 104, 104, 463, 464, 829,
! 1911: 830, 35, 6, 7, 8, 104, 55, 1107, 42, 13,
! 1912: 44, 1022, 985, 50, 53, 109, 1148, 1149, 55, 985,
! 1913: 986, 109, 83, 53, 53, 491, 106, 993, 121, 1027,
! 1914: 104, 35, 109, 1031, 55, 1009, 1138, 1139, 42, 1021,
! 1915: 1014, 95, 1069, 55, 1205, 985, 876, 55, 878, 83,
! 1916: 109, 1062, 1068, 104, 1027, 53, 886, 887, 1031, 104,
! 1917: 104, 1068, 1194, 104, 83, 55, 1032, 1033, 104, 1043,
! 1918: 1068, 104, 902, 104, 540, 541, 104, 1051, 83, 106,
! 1919: 3, 4, 83, 6, 7, 8, 1084, 1027, 55, 105,
! 1920: 105, 1031, 50, 50, 8, 7, 8, 1095, 105, 15,
! 1921: 1048, 13, 932, 196, 3, 4, 53, 6, 7, 8,
! 1922: 55, 1084, 35, 3, 51, 1081, 1248, 1249, 104, 1251,
! 1923: 1252, 104, 1095, 35, 3, 4, 49, 50, 1094, 55,
! 1924: 42, 597, 44, 105, 105, 105, 35, 105, 1270, 105,
! 1925: 83, 1139, 3, 4, 1084, 238, 105, 53, 83, 105,
! 1926: 49, 50, 106, 53, 84, 1095, 1154, 84, 16, 1157,
! 1927: 106, 1109, 41, 105, 105, 1113, 104, 46, 47, 105,
! 1928: 49, 83, 95, 1240, 105, 50, 55, 100, 101, 102,
! 1929: 41, 1154, 61, 105, 1157, 46, 69, 70, 71, 72,
! 1930: 73, 1021, 71, 55, 105, 1193, 95, 105, 664, 78,
! 1931: 61, 100, 101, 102, 83, 53, 104, 104, 51, 104,
! 1932: 71, 304, 305, 104, 1154, 104, 95, 1157, 105, 1217,
! 1933: 1193, 109, 83, 109, 105, 10, 90, 105, 107, 9,
! 1934: 83, 697, 105, 51, 95, 104, 83, 1203, 1204, 1250,
! 1935: 333, 104, 1240, 1225, 1217, 711, 107, 44, 51, 105,
! 1936: 47, 4, 5, 1193, 7, 8, 10, 9, 351, 104,
! 1937: 13, 105, 104, 104, 61, 1, 10, 1233, 105, 735,
! 1938: 736, 126, 1, 2, 71, 28, 0, 1217, 0, 289,
! 1939: 697, 78, 35, 749, 750, 2, 83, 84, 24, 42,
! 1940: 26, 27, 127, 22, 387, 127, 32, 711, 138, 498,
! 1941: 121, 752, 31, 769, 411, 8, 1064, 985, 165, 886,
! 1942: 330, 40, 276, 1134, 50, 51, 808, 53, 411, 55,
! 1943: 786, 414, 415, 681, 417, 418, 419, 420, 421, 422,
! 1944: 423, 424, 425, 426, 427, 428, 429, 430, 431, 432,
! 1945: 433, 44, 95, 31, 31, 753, 568, 440, 441, 732,
! 1946: 86, 817, 902, 779, 354, 475, 679, 93, 61, 324,
! 1947: 730, 1, 2, 829, 830, 458, 1028, 1234, 71, 105,
! 1948: 4, 5, 1084, 7, 8, 78, 1236, 470, 248, 13,
! 1949: 83, 84, 22, 1021, 477, -1, 115, 116, 117, 786,
! 1950: -1, 31, 44, -1, 28, 1225, -1, -1, 127, 39,
! 1951: 40, 35, -1, -1, -1, -1, -1, -1, 42, -1,
! 1952: 876, -1, 878, 7, 8, 49, -1, -1, 147, 13,
! 1953: 886, -1, 151, 75, 76, -1, 519, 79, 80, 81,
! 1954: 82, 83, 84, -1, 527, 3, 4, 5, 6, 7,
! 1955: 8, 35, -1, -1, -1, 13, -1, -1, 42, 83,
! 1956: 44, -1, -1, 546, -1, -1, -1, -1, -1, -1,
! 1957: 28, 95, -1, -1, 193, -1, -1, 35, -1, -1,
! 1958: -1, -1, 201, 41, 42, 115, 116, 117, 46, 47,
! 1959: -1, 574, 575, -1, 950, -1, -1, 127, -1, 83,
! 1960: 130, 131, 1, 61, 3, 4, 5, 6, 7, 8,
! 1961: 7, 8, -1, 71, 13, -1, 13, 147, -1, -1,
! 1962: 78, 151, 605, -1, 607, 83, -1, 26, 27, 28,
! 1963: -1, -1, -1, -1, -1, 618, 35, 95, 35, 622,
! 1964: 39, -1, 41, 42, 174, 42, 45, 46, -1, 107,
! 1965: -1, 3, 4, -1, -1, -1, 8, -1, -1, -1,
! 1966: -1, -1, 61, 193, -1, 1021, -1, 650, 287, 652,
! 1967: -1, 201, 71, -1, -1, -1, 659, -1, -1, -1,
! 1968: 663, -1, -1, 44, 83, -1, 216, -1, -1, 41,
! 1969: -1, -1, -1, -1, 46, 678, 95, 96, 97, -1,
! 1970: 319, 320, -1, 20, 21, 324, 105, 237, 107, 61,
! 1971: -1, -1, 1068, 243, 75, 76, 335, -1, 79, 71,
! 1972: 81, -1, 83, 84, -1, 1, 78, -1, -1, -1,
! 1973: 713, 83, 715, -1, -1, 718, -1, 356, 721, -1,
! 1974: -1, -1, 59, 95, -1, -1, -1, -1, 24, -1,
! 1975: 26, 27, -1, -1, -1, 107, 32, 287, 1, 76,
! 1976: 3, 4, 5, 6, 7, 8, -1, -1, 44, -1,
! 1977: 13, -1, -1, -1, 50, 51, -1, 53, 761, 55,
! 1978: 6, 7, 8, 1139, -1, 28, -1, 13, -1, 319,
! 1979: 320, -1, 35, 36, 324, -1, -1, -1, 41, 42,
! 1980: 330, -1, -1, 46, -1, 335, -1, 83, 84, 35,
! 1981: 86, -1, 55, -1, -1, -1, 42, 93, 61, -1,
! 1982: -1, -1, -1, 353, 354, 808, 356, 810, 71, 105,
! 1983: -1, 148, 149, -1, -1, -1, 819, 820, -1, -1,
! 1984: 83, -1, 825, -1, 463, 464, -1, -1, 467, -1,
! 1985: 833, 834, 95, -1, -1, -1, 1, -1, -1, -1,
! 1986: -1, -1, 105, 106, 107, -1, -1, -1, -1, 1225,
! 1987: -1, 854, -1, -1, 857, 858, -1, -1, 195, 24,
! 1988: -1, 26, 27, -1, 1240, 202, -1, 32, -1, -1,
! 1989: 0, 1, -1, 3, 4, 5, 6, 7, 8, 44,
! 1990: -1, -1, -1, 13, -1, 50, 51, -1, 53, -1,
! 1991: 55, -1, -1, -1, -1, -1, 26, 27, 28, -1,
! 1992: -1, 540, 541, 453, -1, 35, -1, -1, -1, 39,
! 1993: -1, 41, 42, 463, 464, 45, 46, 467, 83, 84,
! 1994: -1, 86, -1, 926, 927, -1, -1, 264, 93, 266,
! 1995: 267, 61, -1, 936, -1, -1, -1, 576, -1, -1,
! 1996: 105, 71, 581, 64, 65, 66, 67, 68, 69, 70,
! 1997: 71, 72, 73, 83, 63, 64, 65, 66, 67, 68,
! 1998: 69, 70, 71, 72, 73, 95, 96, 97, 971, -1,
! 1999: 973, -1, -1, -1, -1, 105, 1, 107, 3, 4,
! 2000: 5, 6, 7, 8, 321, 322, 3, 4, 13, -1,
! 2001: 540, 541, -1, -1, -1, 332, -1, -1, -1, -1,
! 2002: -1, 26, 27, 28, -1, -1, -1, -1, -1, -1,
! 2003: 35, -1, -1, -1, 39, -1, 41, 42, -1, -1,
! 2004: 45, 46, -1, -1, 41, 664, 576, 44, 667, 46,
! 2005: 47, 581, 49, -1, -1, 1038, 61, -1, 55, -1,
! 2006: -1, -1, 1045, -1, 61, -1, 71, 67, 68, 69,
! 2007: 70, 71, 72, 73, 71, -1, -1, -1, 83, 1062,
! 2008: -1, 78, -1, -1, -1, -1, 83, -1, -1, -1,
! 2009: 95, 96, 97, -1, -1, 1078, -1, -1, 95, -1,
! 2010: 105, 106, 107, -1, -1, -1, -1, -1, -1, -1,
! 2011: 107, -1, -1, -1, -1, -1, 735, 736, 1101, -1,
! 2012: -1, 1104, -1, -1, -1, -1, -1, -1, -1, 1,
! 2013: 749, 750, 4, 5, 664, 7, 8, 667, -1, -1,
! 2014: -1, 13, -1, 1126, -1, 1128, -1, -1, 465, -1,
! 2015: -1, -1, -1, -1, -1, -1, 28, -1, 1141, 1142,
! 2016: 779, -1, 1145, 35, -1, 37, 38, -1, -1, -1,
! 2017: 42, 43, 44, 490, -1, 3, 4, -1, -1, 51,
! 2018: 52, 53, 54, -1, -1, 57, 58, 59, 60, 61,
! 2019: 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
! 2020: 72, 73, -1, 75, 76, 735, 736, 79, 80, -1,
! 2021: 829, 830, 84, 41, -1, -1, -1, -1, 46, 749,
! 2022: 750, -1, 1205, 95, -1, 542, 543, -1, 545, -1,
! 2023: -1, -1, -1, 61, -1, 107, 108, -1, -1, 769,
! 2024: 557, 558, -1, 71, -1, -1, -1, -1, -1, 779,
! 2025: 78, -1, -1, -1, -1, 83, 573, -1, -1, -1,
! 2026: -1, -1, 24, 580, 26, 27, -1, 95, 887, -1,
! 2027: 32, -1, 589, 590, 591, -1, -1, -1, -1, 107,
! 2028: -1, -1, -1, 902, 46, -1, -1, 604, 50, 606,
! 2029: -1, 53, 609, -1, -1, -1, -1, -1, -1, 829,
! 2030: 830, -1, -1, 65, -1, 1, -1, 3, 4, 5,
! 2031: 6, 7, 8, 932, -1, -1, -1, 13, -1, -1,
! 2032: 3, 4, 84, -1, 86, 8, -1, -1, -1, -1,
! 2033: -1, 93, 28, -1, -1, -1, -1, -1, -1, 35,
! 2034: 36, -1, -1, -1, 106, 41, 42, -1, 665, 666,
! 2035: 46, -1, -1, -1, -1, -1, 886, 887, 41, 55,
! 2036: -1, 44, -1, 46, -1, 61, -1, -1, -1, 686,
! 2037: 687, -1, 902, 690, -1, 71, -1, -1, 61, -1,
! 2038: -1, -1, -1, -1, -1, -1, -1, 83, 71, -1,
! 2039: -1, -1, -1, -1, -1, 78, -1, -1, -1, 95,
! 2040: 83, 84, 932, -1, -1, -1, -1, -1, -1, 105,
! 2041: 106, 107, 95, -1, -1, -1, -1, -1, -1, -1,
! 2042: -1, -1, -1, -1, 107, -1, -1, -1, 745, 746,
! 2043: 747, -1, 1, -1, 3, 4, 5, 6, 7, 8,
! 2044: 9, 10, -1, 12, 13, 14, 15, 16, 17, 18,
1.1.1.2 root 2045: 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
1.1.1.5 ! root 2046: 29, 30, 31, -1, 33, -1, 35, -1, 37, 38,
! 2047: -1, 40, 41, 42, 3, 4, -1, 46, -1, -1,
! 2048: 49, 50, -1, -1, -1, -1, -1, -1, -1, 58,
! 2049: 3, 4, 61, -1, -1, -1, -1, -1, -1, -1,
! 2050: 69, 70, 71, 3, 4, -1, 75, 76, -1, 3,
! 2051: 4, -1, 41, -1, 83, 44, 85, 46, 87, 88,
! 2052: 89, -1, 91, 92, 93, 842, 95, -1, 41, -1,
! 2053: -1, -1, 61, 46, 47, -1, 105, 106, 107, 108,
! 2054: -1, 41, 71, -1, -1, -1, 46, 41, 61, 78,
! 2055: -1, -1, 46, 47, 83, 84, -1, -1, 71, -1,
! 2056: -1, 61, -1, -1, -1, 78, 95, 61, -1, -1,
! 2057: 83, 71, -1, -1, -1, -1, -1, 71, 107, -1,
! 2058: -1, -1, 95, 83, 78, -1, -1, -1, -1, 83,
! 2059: 907, 908, 909, -1, 107, 95, -1, -1, -1, -1,
! 2060: -1, 95, -1, -1, -1, -1, 923, 107, -1, -1,
! 2061: -1, 105, -1, 107, 931, -1, -1, -1, -1, -1,
! 2062: 937, 938, 939, 940, 941, 942, 1, -1, 3, 4,
1.1.1.3 root 2063: 5, 6, 7, 8, 9, 10, -1, 12, 13, 14,
2064: -1, 16, 17, 18, 19, 20, 21, 22, 23, 24,
1.1.1.5 ! root 2065: 25, 26, 27, 28, 29, 30, 31, -1, 33, -1,
! 2066: 35, -1, 37, 38, -1, 40, 41, 42, -1, -1,
! 2067: -1, 46, -1, -1, 49, 50, -1, -1, -1, -1,
! 2068: -1, 4, 5, 58, 7, 8, 61, -1, -1, -1,
! 2069: 13, -1, -1, -1, 69, 70, 71, -1, -1, -1,
! 2070: 75, 76, -1, -1, -1, 28, -1, -1, 83, -1,
! 2071: 85, -1, 35, 88, -1, -1, 91, 92, 93, 42,
! 2072: 95, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! 2073: 105, 106, 107, 108, 1, -1, 3, 4, 5, 6,
! 2074: 7, 8, 9, 10, -1, 12, 13, 14, -1, 16,
! 2075: 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
! 2076: 27, 28, 29, 30, 31, -1, 33, -1, 35, -1,
! 2077: 37, 38, 95, 40, 41, 42, -1, -1, -1, 46,
! 2078: -1, -1, 49, 50, -1, -1, -1, -1, -1, -1,
! 2079: -1, 58, -1, -1, 61, -1, -1, -1, -1, -1,
! 2080: -1, -1, 69, 70, 71, -1, -1, -1, 75, 76,
! 2081: -1, -1, -1, -1, -1, -1, 83, -1, 85, -1,
! 2082: -1, 88, -1, -1, 91, 92, 93, -1, 95, -1,
! 2083: -1, -1, -1, -1, -1, -1, -1, -1, 105, 106,
! 2084: 107, 108, 1, -1, 3, 4, 5, 6, 7, 8,
! 2085: 9, 10, -1, 12, 13, 14, -1, 16, 17, 18,
! 2086: 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
! 2087: 29, 30, 31, -1, 33, -1, 35, -1, 37, 38,
! 2088: -1, 40, 41, 42, -1, -1, -1, 46, -1, -1,
! 2089: 49, 50, -1, -1, -1, -1, -1, -1, -1, 58,
! 2090: -1, -1, 61, -1, -1, -1, -1, -1, -1, -1,
! 2091: 69, 70, 71, -1, -1, -1, 75, 76, -1, -1,
! 2092: -1, -1, -1, -1, 83, -1, 85, -1, -1, 88,
! 2093: -1, -1, 91, 92, 93, -1, 95, -1, -1, -1,
! 2094: -1, -1, -1, -1, -1, -1, 105, 106, 107, 108,
1.1.1.2 root 2095: 1, -1, 3, 4, 5, 6, 7, 8, 9, 10,
1.1.1.3 root 2096: -1, 12, 13, 14, -1, 16, 17, 18, 19, 20,
2097: 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
1.1.1.5 ! root 2098: 31, -1, 33, -1, 35, -1, 37, 38, -1, 40,
! 2099: 41, 42, -1, -1, -1, 46, -1, -1, 49, 50,
! 2100: -1, -1, -1, -1, -1, -1, -1, 58, -1, -1,
! 2101: 61, -1, -1, -1, -1, -1, -1, -1, 69, 70,
! 2102: 71, -1, -1, -1, 75, 76, -1, -1, -1, -1,
! 2103: -1, -1, 83, -1, 85, -1, -1, 88, -1, -1,
! 2104: 91, 92, 93, -1, 95, -1, -1, -1, -1, -1,
! 2105: -1, -1, -1, -1, 105, 106, 107, 108, 1, -1,
! 2106: 3, 4, 5, 6, 7, 8, 9, 10, -1, 12,
! 2107: 13, 14, -1, 16, 17, 18, 19, 20, 21, 22,
! 2108: 23, 24, 25, 26, 27, 28, 29, 30, 31, -1,
! 2109: 33, -1, 35, -1, 37, 38, -1, 40, 41, 42,
! 2110: -1, -1, -1, 46, -1, -1, 49, 50, -1, -1,
! 2111: -1, -1, -1, -1, -1, 58, -1, -1, 61, -1,
! 2112: -1, -1, -1, -1, -1, -1, 69, 70, 71, -1,
! 2113: -1, -1, 75, 76, -1, -1, -1, -1, -1, -1,
! 2114: 83, -1, 85, -1, -1, 88, -1, -1, 91, 92,
! 2115: 93, -1, 95, -1, -1, -1, -1, -1, -1, -1,
! 2116: -1, -1, 105, 106, 107, 108, 1, -1, 3, 4,
! 2117: 5, 6, 7, 8, 9, 10, -1, 12, 13, 14,
! 2118: -1, 16, 17, 18, 19, 20, 21, 22, 23, 24,
! 2119: 25, 26, 27, 28, 29, 30, 31, -1, 33, -1,
! 2120: 35, -1, 37, 38, -1, 40, 41, 42, -1, -1,
! 2121: -1, 46, -1, -1, 49, 50, -1, -1, -1, -1,
! 2122: -1, -1, -1, 58, -1, -1, 61, -1, -1, -1,
! 2123: -1, -1, -1, -1, 69, 70, 71, -1, -1, -1,
! 2124: 75, 76, -1, -1, -1, -1, -1, -1, 83, -1,
! 2125: 85, -1, -1, 88, -1, -1, 91, 92, 93, -1,
! 2126: 95, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! 2127: 105, 106, 107, 108, 1, -1, 3, 4, 5, 6,
! 2128: 7, 8, 9, 10, -1, 12, 13, 14, -1, 16,
! 2129: 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
! 2130: 27, 28, 29, 30, 31, -1, 33, -1, 35, -1,
! 2131: 37, 38, -1, 40, 41, 42, -1, -1, -1, 46,
! 2132: -1, -1, 49, 50, -1, -1, -1, -1, -1, -1,
! 2133: -1, 58, -1, -1, 61, -1, -1, -1, -1, -1,
! 2134: -1, -1, 69, 70, 71, -1, -1, -1, 75, 76,
! 2135: -1, -1, -1, -1, -1, -1, 83, -1, 85, -1,
! 2136: -1, 88, -1, -1, 91, 92, 93, -1, 95, -1,
! 2137: -1, -1, -1, -1, -1, -1, -1, -1, 105, -1,
! 2138: 107, 108, 1, -1, 3, 4, 5, 6, 7, 8,
! 2139: 9, 10, -1, 12, 13, 14, -1, 16, 17, 18,
! 2140: 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
! 2141: 29, 30, 31, -1, 33, -1, 35, -1, 37, 38,
! 2142: -1, 40, 41, 42, -1, -1, -1, 46, -1, -1,
! 2143: 49, 50, -1, -1, -1, -1, -1, 4, 5, 58,
! 2144: 7, 8, 61, -1, -1, -1, 13, -1, -1, -1,
! 2145: 69, 70, 71, -1, -1, -1, 75, 76, -1, -1,
! 2146: -1, 28, -1, -1, 83, -1, 85, -1, 35, 88,
! 2147: -1, -1, 91, 92, 93, 42, 95, -1, -1, -1,
! 2148: -1, -1, 49, -1, -1, -1, 105, -1, 107, 108,
! 2149: 1, -1, 3, 4, 5, 6, 7, 8, 9, 10,
! 2150: 11, 12, 13, 61, 62, 63, 64, 65, 66, 67,
! 2151: 68, 69, 70, 71, 72, 73, 83, 28, 29, 30,
! 2152: 31, -1, 33, -1, 35, -1, 37, 38, 95, 40,
! 2153: 41, 42, -1, -1, -1, 46, -1, -1, -1, -1,
! 2154: -1, -1, 4, 5, 6, 7, 8, 58, -1, -1,
! 2155: 61, 13, -1, -1, -1, -1, 3, 4, 69, 70,
! 2156: 71, -1, -1, -1, 75, 76, 28, -1, -1, -1,
! 2157: -1, -1, 83, 35, -1, -1, -1, -1, -1, -1,
! 2158: 42, -1, -1, 94, 95, -1, -1, -1, -1, -1,
! 2159: -1, -1, -1, 104, 41, -1, 107, 108, 1, 46,
1.1.1.3 root 2160: 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
1.1.1.5 ! root 2161: 13, -1, -1, -1, 61, -1, -1, -1, -1, -1,
! 2162: -1, -1, -1, -1, 71, 28, 29, 30, 31, -1,
! 2163: 33, 78, 35, 95, 37, 38, 83, 40, 41, 42,
! 2164: -1, -1, -1, 46, -1, -1, -1, -1, 95, -1,
! 2165: 4, 5, 6, 7, 8, 58, -1, -1, 61, 13,
! 2166: 107, -1, -1, -1, 3, 4, 69, 70, 71, -1,
! 2167: -1, -1, 75, 76, 28, -1, -1, -1, -1, -1,
! 2168: 83, 35, -1, -1, -1, -1, -1, -1, 42, -1,
! 2169: -1, 94, 95, -1, -1, -1, -1, -1, -1, -1,
! 2170: -1, 104, 41, -1, 107, 108, 1, 46, 3, 4,
! 2171: 5, 6, 7, 8, 9, 10, 11, 12, 13, -1,
! 2172: -1, -1, 61, -1, -1, -1, -1, -1, -1, -1,
! 2173: -1, -1, 71, 28, 29, 30, 31, -1, 33, 78,
! 2174: 35, 95, 37, 38, 83, 40, 41, 42, -1, -1,
! 2175: -1, 46, -1, -1, -1, -1, 95, -1, -1, -1,
! 2176: -1, -1, -1, 58, -1, -1, 61, -1, 107, -1,
! 2177: -1, -1, 3, 4, 69, 70, 71, -1, -1, -1,
! 2178: 75, 76, -1, -1, -1, -1, -1, -1, 83, -1,
! 2179: -1, -1, -1, -1, -1, -1, -1, -1, -1, 94,
! 2180: 95, -1, -1, -1, -1, -1, -1, -1, -1, 104,
! 2181: 41, -1, 107, 108, 1, 46, 3, 4, 5, 6,
! 2182: 7, 8, 9, 10, 11, 12, 13, -1, -1, -1,
! 2183: 61, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! 2184: 71, 28, 29, 30, 31, -1, 33, -1, 35, -1,
! 2185: 37, 38, 83, 40, 41, 42, -1, -1, -1, 46,
! 2186: -1, -1, -1, -1, 95, -1, -1, -1, -1, -1,
! 2187: -1, 58, -1, -1, 61, -1, 107, -1, -1, -1,
! 2188: -1, -1, 69, 70, 71, -1, -1, -1, 75, 76,
! 2189: -1, -1, -1, -1, -1, -1, 83, -1, -1, -1,
! 2190: -1, -1, -1, -1, -1, -1, -1, 94, 95, -1,
! 2191: -1, -1, -1, -1, -1, -1, -1, 104, -1, -1,
! 2192: 107, 108, 1, -1, 3, 4, 5, 6, 7, 8,
! 2193: 9, 10, 11, 12, 13, 60, 61, 62, 63, 64,
! 2194: 65, 66, 67, 68, 69, 70, 71, 72, 73, 28,
! 2195: 29, 30, 31, -1, 33, -1, 35, -1, 37, 38,
! 2196: -1, 40, 41, 42, -1, -1, -1, 46, -1, -1,
! 2197: -1, -1, -1, -1, -1, -1, -1, -1, -1, 58,
! 2198: -1, -1, 61, -1, -1, -1, -1, -1, -1, -1,
! 2199: 69, 70, 71, -1, -1, -1, 75, 76, -1, -1,
! 2200: -1, -1, -1, -1, 83, -1, -1, -1, -1, -1,
! 2201: -1, -1, -1, -1, -1, 94, 95, -1, -1, -1,
! 2202: -1, -1, -1, -1, -1, 104, -1, -1, 107, 108,
1.1.1.2 root 2203: 1, -1, 3, 4, 5, -1, 7, 8, 9, 10,
1.1.1.5 ! root 2204: -1, 12, 13, 62, 63, 64, 65, 66, 67, 68,
! 2205: 69, 70, 71, 72, 73, -1, -1, 28, 29, 30,
! 2206: 31, -1, 33, -1, 35, -1, 37, 38, -1, 40,
! 2207: 41, 42, -1, -1, -1, 46, -1, -1, -1, 50,
! 2208: -1, -1, -1, -1, -1, -1, -1, 58, -1, -1,
! 2209: 61, -1, -1, -1, -1, -1, -1, -1, 69, 70,
! 2210: 71, -1, -1, -1, 75, 76, -1, -1, -1, -1,
! 2211: -1, -1, 83, 84, 1, -1, 3, 4, 5, -1,
! 2212: 7, 8, 9, 10, 95, 12, 13, -1, -1, -1,
! 2213: -1, -1, -1, 20, -1, 106, 107, 108, -1, -1,
! 2214: -1, 28, 29, 30, 31, -1, 33, -1, 35, -1,
! 2215: 37, 38, -1, 40, 41, 42, -1, -1, -1, 46,
! 2216: -1, -1, -1, 50, -1, -1, -1, -1, -1, -1,
! 2217: -1, 58, -1, -1, 61, -1, -1, -1, -1, -1,
! 2218: -1, -1, 69, 70, 71, -1, -1, -1, 75, 76,
! 2219: -1, -1, -1, -1, -1, 1, 83, 3, 4, 5,
! 2220: 6, 7, 8, 9, 10, -1, 12, 13, 95, -1,
! 2221: -1, -1, -1, -1, -1, -1, -1, -1, -1, 106,
! 2222: 107, 108, 28, 29, 30, 31, -1, 33, -1, 35,
! 2223: -1, 37, 38, -1, 40, 41, 42, -1, -1, -1,
! 2224: 46, -1, -1, -1, 50, -1, -1, -1, -1, -1,
! 2225: -1, -1, 58, -1, -1, 61, -1, -1, -1, -1,
! 2226: -1, -1, -1, 69, 70, 71, -1, -1, -1, 75,
! 2227: 76, -1, -1, -1, -1, -1, 1, 83, 3, 4,
! 2228: 5, -1, 7, 8, 9, 10, -1, 12, 13, 95,
! 2229: -1, -1, -1, -1, -1, 20, -1, -1, -1, 105,
! 2230: -1, 107, 108, 28, 29, 30, 31, -1, 33, -1,
! 2231: 35, -1, 37, 38, -1, 40, 41, 42, -1, -1,
! 2232: -1, 46, -1, -1, -1, 50, -1, -1, -1, -1,
! 2233: -1, -1, -1, 58, -1, -1, 61, -1, -1, -1,
! 2234: -1, -1, -1, -1, 69, 70, 71, -1, -1, -1,
! 2235: 75, 76, -1, -1, -1, -1, -1, 1, 83, 3,
! 2236: 4, 5, -1, 7, 8, 9, 10, -1, 12, 13,
! 2237: 95, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! 2238: -1, 106, 107, 108, 28, 29, 30, 31, -1, 33,
! 2239: -1, 35, -1, 37, 38, -1, 40, 41, 42, -1,
! 2240: -1, -1, 46, -1, -1, -1, 50, -1, -1, -1,
! 2241: -1, -1, -1, -1, 58, -1, -1, 61, -1, -1,
! 2242: -1, -1, -1, -1, -1, 69, 70, 71, -1, -1,
! 2243: -1, 75, 76, -1, -1, -1, -1, -1, -1, 83,
! 2244: 84, 1, -1, 3, 4, 5, -1, 7, 8, 9,
! 2245: 10, 95, 12, 13, -1, -1, -1, -1, -1, -1,
! 2246: -1, -1, -1, 107, 108, -1, -1, -1, 28, 29,
! 2247: 30, 31, -1, 33, -1, 35, -1, 37, 38, -1,
! 2248: 40, 41, 42, -1, -1, -1, 46, -1, -1, -1,
! 2249: 50, -1, -1, -1, -1, -1, -1, -1, 58, -1,
! 2250: -1, 61, -1, -1, -1, -1, -1, -1, -1, 69,
! 2251: 70, 71, -1, -1, -1, 75, 76, -1, -1, -1,
! 2252: -1, -1, 1, 83, 3, 4, 5, -1, 7, 8,
! 2253: 9, 10, -1, 12, 13, 95, -1, -1, -1, -1,
! 2254: -1, -1, -1, -1, -1, -1, -1, 107, 108, 28,
! 2255: 29, 30, 31, -1, 33, -1, 35, -1, 37, 38,
! 2256: -1, 40, 41, 42, -1, -1, -1, 46, -1, -1,
! 2257: -1, 50, -1, -1, -1, -1, -1, -1, -1, 58,
! 2258: -1, -1, 61, -1, -1, -1, -1, -1, -1, -1,
! 2259: 69, 70, 71, -1, -1, -1, 75, 76, -1, -1,
! 2260: -1, -1, -1, 1, 83, 3, 4, 5, -1, 7,
! 2261: 8, 9, 10, -1, 12, 13, 95, -1, -1, -1,
! 2262: -1, -1, -1, -1, -1, -1, -1, -1, 107, 108,
! 2263: 28, 29, 30, 31, -1, 33, -1, 35, -1, 37,
! 2264: 38, -1, 40, 41, 42, -1, -1, -1, 46, -1,
! 2265: -1, -1, -1, -1, -1, -1, -1, 55, -1, -1,
! 2266: 58, -1, -1, 61, -1, -1, -1, -1, -1, -1,
! 2267: -1, 69, 70, 71, -1, -1, -1, 75, 76, -1,
! 2268: -1, -1, -1, -1, 1, 83, 3, 4, 5, -1,
! 2269: 7, 8, 9, 10, -1, 12, 13, 95, -1, -1,
! 2270: -1, -1, -1, -1, -1, -1, -1, -1, -1, 107,
! 2271: 108, 28, 29, 30, 31, -1, 33, -1, 35, -1,
! 2272: 37, 38, -1, 40, 41, 42, -1, -1, -1, 46,
1.1.1.4 root 2273: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1.1.1.5 ! root 2274: -1, 58, -1, -1, 61, -1, -1, -1, -1, -1,
! 2275: -1, -1, 69, 70, 71, -1, -1, -1, 75, 76,
! 2276: -1, -1, -1, -1, -1, 1, 83, 3, 4, 5,
! 2277: -1, 7, 8, 9, 10, -1, 12, 13, 95, -1,
! 2278: -1, -1, -1, -1, -1, -1, -1, -1, 105, -1,
! 2279: 107, 108, 28, 29, 30, 31, -1, 33, -1, 35,
! 2280: -1, 37, 38, -1, 40, 41, 42, -1, -1, -1,
! 2281: 46, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! 2282: -1, -1, 58, -1, -1, 61, -1, -1, -1, -1,
! 2283: -1, -1, -1, 69, 70, 71, -1, -1, -1, 75,
! 2284: 76, -1, -1, -1, -1, -1, 1, 83, 3, 4,
! 2285: 5, -1, 7, 8, 9, 10, -1, 12, 13, 95,
! 2286: -1, -1, -1, -1, -1, -1, -1, -1, 104, -1,
! 2287: -1, 107, 108, 28, 29, 30, 31, -1, 33, -1,
! 2288: 35, -1, 37, 38, -1, 40, 41, 42, -1, -1,
! 2289: -1, 46, -1, -1, -1, -1, -1, -1, -1, -1,
! 2290: -1, -1, -1, 58, -1, -1, 61, -1, -1, -1,
! 2291: -1, -1, -1, -1, 69, 70, 71, -1, -1, -1,
! 2292: 75, 76, -1, -1, -1, -1, -1, -1, 83, 3,
! 2293: 4, 5, -1, 7, 8, 9, 10, -1, 12, 13,
! 2294: 95, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! 2295: -1, -1, 107, 108, 28, 29, 30, 31, -1, 33,
! 2296: -1, 35, -1, 37, -1, -1, 40, 41, 42, -1,
! 2297: -1, 1, 46, 3, 4, 5, 6, 7, 8, -1,
! 2298: -1, -1, -1, 13, 58, -1, -1, 61, -1, -1,
! 2299: -1, -1, -1, -1, -1, 69, 70, 71, 28, -1,
! 2300: -1, 75, 76, -1, -1, 35, 36, -1, -1, 83,
! 2301: -1, 41, 42, -1, -1, -1, 46, -1, -1, -1,
! 2302: -1, 95, -1, -1, -1, 55, -1, -1, -1, -1,
! 2303: -1, 61, -1, 107, 108, 109, -1, -1, -1, -1,
! 2304: 1, 71, 3, 4, 5, 6, 7, 8, -1, -1,
! 2305: -1, -1, 13, 83, -1, -1, 1, -1, 3, 4,
! 2306: 5, 6, 7, 8, -1, 95, -1, 28, 13, -1,
! 2307: -1, -1, -1, -1, 35, 36, 106, 107, -1, -1,
! 2308: 41, 42, -1, 28, -1, 46, -1, -1, -1, -1,
! 2309: 35, -1, -1, -1, 55, -1, 41, 42, -1, -1,
! 2310: 61, 46, -1, -1, -1, -1, -1, -1, -1, -1,
! 2311: 71, -1, -1, -1, -1, -1, 61, -1, -1, -1,
! 2312: -1, -1, 83, -1, -1, -1, 71, -1, -1, -1,
! 2313: -1, -1, -1, -1, 95, -1, -1, -1, 83, -1,
! 2314: -1, -1, -1, -1, -1, 106, 107, -1, -1, -1,
! 2315: 95, 96, -1, -1, -1, -1, -1, -1, -1, -1,
! 2316: 105, -1, 107, 3, 4, 5, 6, 7, 8, 9,
! 2317: 10, -1, 12, 13, 14, -1, 16, 17, 18, 19,
! 2318: 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
! 2319: 30, 31, -1, 33, -1, 35, -1, 37, -1, -1,
! 2320: 40, 41, 42, -1, -1, -1, 46, -1, -1, 49,
! 2321: 50, -1, -1, -1, -1, -1, -1, -1, 58, -1,
! 2322: -1, 61, -1, -1, -1, -1, -1, -1, -1, 69,
! 2323: 70, 71, -1, -1, -1, 75, 76, -1, -1, -1,
! 2324: -1, -1, -1, 83, -1, 85, -1, -1, 88, -1,
! 2325: -1, 91, 92, 93, -1, 95, -1, -1, -1, -1,
! 2326: -1, -1, -1, -1, -1, 105, 106, 107, 108, 3,
! 2327: 4, 5, 6, 7, 8, 9, 10, -1, 12, 13,
! 2328: 14, -1, 16, 17, 18, 19, 20, 21, 22, 23,
! 2329: 24, 25, 26, 27, 28, 29, 30, 31, -1, 33,
! 2330: -1, 35, -1, 37, -1, -1, 40, 41, 42, -1,
! 2331: -1, -1, 46, -1, -1, 49, 50, -1, -1, -1,
! 2332: -1, -1, -1, -1, 58, -1, -1, 61, -1, -1,
! 2333: -1, -1, -1, -1, -1, 69, 70, 71, -1, -1,
! 2334: -1, 75, 76, -1, -1, -1, -1, -1, -1, 83,
! 2335: -1, 85, -1, -1, 88, -1, -1, 91, 92, 93,
! 2336: -1, 95, -1, -1, -1, -1, -1, -1, -1, -1,
! 2337: -1, 105, -1, 107, 108, 3, 4, 5, 6, 7,
! 2338: 8, 9, 10, -1, 12, 13, 14, -1, 16, 17,
! 2339: 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
! 2340: 28, 29, 30, 31, -1, 33, -1, 35, -1, 37,
! 2341: -1, -1, 40, 41, 42, -1, -1, -1, 46, -1,
! 2342: -1, 49, -1, -1, -1, -1, -1, -1, -1, -1,
! 2343: 58, -1, -1, 61, -1, -1, -1, -1, -1, -1,
! 2344: -1, 69, 70, 71, -1, -1, -1, 75, 76, -1,
! 2345: -1, -1, -1, -1, -1, 83, -1, 85, -1, -1,
! 2346: 88, -1, -1, 91, 92, 93, -1, 95, -1, -1,
! 2347: -1, -1, -1, -1, -1, -1, -1, 105, -1, 107,
! 2348: 108, 3, 4, 5, -1, 7, 8, 9, 10, -1,
! 2349: 12, 13, 4, 5, 6, 7, 8, -1, -1, 11,
! 2350: -1, 13, -1, -1, -1, -1, 28, 29, 30, 31,
! 2351: -1, 33, -1, 35, -1, 37, 28, -1, 40, 41,
! 2352: 42, -1, -1, 35, 46, 3, 4, 5, -1, 7,
! 2353: 42, -1, -1, -1, -1, 13, 58, -1, -1, 61,
! 2354: -1, -1, -1, -1, -1, -1, -1, 69, 70, 71,
! 2355: 28, -1, -1, 75, 76, -1, -1, 35, -1, 37,
! 2356: -1, 83, 84, 41, 42, 3, 4, 5, 46, 7,
! 2357: 8, 9, 10, 95, 12, 13, -1, -1, -1, -1,
! 2358: -1, -1, 94, 95, -1, 107, 108, -1, -1, -1,
! 2359: 28, 29, 30, 31, -1, 33, -1, 35, -1, 37,
! 2360: -1, -1, 40, 41, 42, -1, -1, -1, 46, -1,
! 2361: -1, -1, 50, -1, -1, -1, -1, 95, -1, -1,
! 2362: 58, -1, -1, 61, -1, -1, -1, -1, -1, -1,
! 2363: -1, 69, 70, 71, -1, -1, -1, 75, 76, -1,
! 2364: -1, -1, -1, -1, -1, 83, 3, 4, 5, -1,
! 2365: 7, 8, 9, 10, -1, 12, 13, 95, -1, -1,
! 2366: -1, -1, -1, -1, -1, -1, -1, -1, -1, 107,
! 2367: 108, 28, 29, 30, 31, -1, 33, -1, 35, -1,
! 2368: 37, -1, -1, 40, 41, 42, -1, -1, -1, 46,
1.1.1.4 root 2369: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1.1.1.5 ! root 2370: -1, 58, -1, -1, 61, -1, -1, -1, -1, -1,
! 2371: -1, -1, 69, 70, 71, -1, -1, -1, 75, 76,
! 2372: -1, -1, -1, -1, -1, -1, 83, 3, 4, 5,
! 2373: -1, 7, 8, 9, 10, -1, 12, 13, 95, -1,
! 2374: -1, -1, -1, -1, -1, -1, -1, -1, 105, -1,
! 2375: 107, 108, 28, 29, 30, 31, -1, 33, -1, 35,
! 2376: -1, 37, -1, -1, 40, 41, 42, -1, -1, -1,
! 2377: 46, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! 2378: -1, -1, 58, -1, -1, 61, -1, -1, -1, -1,
! 2379: -1, -1, -1, 69, 70, 71, -1, -1, -1, 75,
! 2380: 76, -1, -1, -1, -1, -1, -1, 83, 3, 4,
! 2381: 5, -1, 7, 8, 9, 10, -1, 12, 13, 95,
! 2382: -1, -1, -1, -1, -1, -1, -1, -1, -1, 105,
! 2383: -1, 107, 108, 28, 29, 30, 31, -1, 33, -1,
! 2384: 35, -1, 37, -1, -1, 40, 41, 42, -1, -1,
! 2385: -1, 46, -1, -1, -1, -1, -1, -1, -1, -1,
! 2386: -1, -1, -1, 58, -1, -1, 61, -1, -1, -1,
! 2387: -1, -1, -1, -1, 69, 70, 71, -1, -1, -1,
! 2388: 75, 76, -1, -1, -1, -1, -1, -1, 83, 3,
! 2389: 4, 5, -1, 7, 8, 9, 10, -1, 12, 13,
! 2390: 95, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! 2391: -1, -1, 107, 108, 28, 29, 30, 31, -1, 33,
! 2392: -1, 35, -1, 37, -1, -1, 40, 41, 42, -1,
! 2393: -1, -1, 46, -1, -1, -1, -1, -1, -1, -1,
! 2394: -1, -1, -1, -1, 58, -1, -1, 61, -1, -1,
! 2395: -1, -1, -1, -1, -1, 69, 70, 71, -1, -1,
! 2396: -1, 75, 76, -1, -1, -1, -1, -1, -1, 83,
! 2397: 3, 4, 5, -1, 7, 8, 9, 10, -1, 12,
! 2398: 13, 95, -1, -1, -1, -1, -1, -1, -1, -1,
! 2399: -1, -1, -1, 107, 108, 28, 29, 30, 31, -1,
! 2400: 33, -1, 35, -1, 37, -1, -1, 40, 41, 42,
! 2401: -1, -1, -1, 46, 3, 4, 5, -1, 7, 8,
! 2402: 9, 10, -1, 12, 13, 58, -1, -1, 61, -1,
! 2403: -1, -1, -1, -1, -1, -1, 69, 70, 71, 28,
! 2404: 29, -1, 75, 76, 33, -1, 35, -1, 37, -1,
! 2405: 83, 40, 41, 42, -1, -1, -1, 46, -1, -1,
! 2406: -1, -1, 95, -1, -1, -1, -1, -1, -1, 58,
! 2407: -1, -1, 61, -1, 107, 108, -1, -1, -1, -1,
! 2408: 69, 70, 71, -1, -1, -1, 75, 76, -1, -1,
! 2409: -1, 3, 4, 5, 83, 7, 8, 9, 10, -1,
! 2410: 12, 13, -1, -1, -1, -1, 95, -1, -1, -1,
! 2411: -1, -1, -1, -1, -1, -1, 28, 29, 107, 108,
! 2412: -1, 33, -1, 35, -1, 37, -1, -1, 40, 41,
! 2413: 42, -1, -1, -1, 46, 3, 4, 5, 6, 7,
! 2414: 8, -1, -1, -1, -1, 13, 58, -1, -1, 61,
! 2415: -1, -1, -1, -1, -1, -1, -1, 69, 70, 71,
! 2416: 28, -1, -1, 75, 76, -1, -1, 35, -1, -1,
! 2417: -1, 83, -1, 41, 42, -1, 44, -1, 46, 47,
! 2418: -1, 49, -1, 95, -1, -1, -1, 55, -1, -1,
! 2419: -1, -1, -1, 61, -1, 107, 108, 3, 4, 5,
! 2420: 6, 7, 8, 71, -1, 11, -1, 13, -1, -1,
! 2421: 78, -1, -1, -1, -1, 83, -1, -1, -1, -1,
! 2422: -1, -1, 28, -1, -1, -1, -1, 95, -1, 35,
! 2423: -1, -1, -1, -1, -1, 41, 42, -1, 44, 107,
! 2424: 46, 47, 3, 4, 5, 6, 7, 8, -1, -1,
! 2425: 11, -1, 13, -1, -1, 61, -1, -1, -1, -1,
! 2426: -1, -1, -1, -1, -1, 71, -1, 28, -1, -1,
! 2427: -1, -1, 78, -1, 35, -1, -1, 83, 84, -1,
! 2428: 41, 42, -1, 44, -1, 46, -1, -1, -1, 95,
1.1.1.4 root 2429: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1.1.1.5 ! root 2430: 61, 107, -1, -1, 3, 4, 5, 6, 7, 8,
! 2431: 71, -1, 11, -1, 13, -1, -1, 78, -1, -1,
! 2432: -1, -1, 83, 84, -1, -1, -1, -1, -1, 28,
! 2433: -1, -1, -1, 94, 95, -1, 35, -1, -1, -1,
! 2434: -1, -1, 41, 42, -1, -1, 107, 46, 3, 4,
! 2435: 5, 6, 7, 8, -1, -1, -1, -1, 13, -1,
! 2436: -1, -1, 61, -1, -1, -1, -1, -1, -1, -1,
! 2437: -1, -1, 71, 28, 4, 5, 6, 7, 8, 78,
! 2438: 35, 11, -1, 13, 83, -1, 41, 42, -1, -1,
! 2439: -1, 46, 47, -1, -1, 94, 95, -1, 28, -1,
! 2440: -1, -1, -1, -1, -1, 35, 61, -1, 107, -1,
! 2441: -1, -1, 42, -1, 44, -1, 71, -1, 4, 5,
! 2442: -1, 7, 8, 78, -1, -1, -1, 13, 83, -1,
! 2443: -1, 61, -1, -1, -1, -1, -1, -1, -1, -1,
! 2444: 95, 71, 28, -1, -1, -1, -1, -1, 78, 35,
! 2445: 105, -1, 107, 83, 84, -1, 42, -1, 44, -1,
! 2446: -1, 47, -1, -1, 94, 95, -1, -1, -1, -1,
! 2447: -1, -1, -1, -1, -1, 61, -1, -1, -1, -1,
! 2448: -1, -1, -1, -1, -1, 71, -1, -1, -1, -1,
! 2449: -1, -1, 78, -1, -1, -1, -1, 83, 84, -1,
! 2450: -1, -1, -1, -1, -1, 52, 53, 54, -1, 95,
1.1.1.2 root 2451: 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
1.1.1.5 ! root 2452: 67, 68, 69, 70, 71, 72, 73, 52, 53, 54,
! 2453: -1, -1, 57, 58, 59, 60, 61, 62, 63, 64,
! 2454: 65, 66, 67, 68, 69, 70, 71, 72, 73, -1,
! 2455: -1, -1, -1, -1, -1, -1, -1, 32, -1, -1,
! 2456: -1, -1, 109, -1, -1, -1, -1, -1, -1, -1,
! 2457: -1, -1, -1, -1, -1, -1, -1, 52, 53, 54,
! 2458: 105, 106, 57, 58, 59, 60, 61, 62, 63, 64,
! 2459: 65, 66, 67, 68, 69, 70, 71, 72, 73, 51,
! 2460: 52, 53, 54, -1, -1, 57, 58, 59, 60, 61,
1.1.1.4 root 2461: 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
1.1.1.5 ! root 2462: 72, 73, 52, 53, 54, 55, -1, 57, 58, 59,
1.1.1.4 root 2463: 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
1.1.1.5 ! root 2464: 70, 71, 72, 73, 52, 53, 54, -1, -1, 57,
! 2465: 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
! 2466: 68, 69, 70, 71, 72, 73, 52, 53, 54, -1,
! 2467: -1, 57, 58, 59, 60, 61, 62, 63, 64, 65,
! 2468: -1, 67, 68, 69, 70, 71, 72, 73, 54, -1,
! 2469: -1, 57, 58, 59, 60, 61, 62, 63, 64, 65,
! 2470: 66, 67, 68, 69, 70, 71, 72, 73, 58, 59,
1.1.1.4 root 2471: 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
1.1.1.5 ! root 2472: 70, 71, 72, 73, 59, 60, 61, 62, 63, 64,
! 2473: 65, 66, 67, 68, 69, 70, 71, 72, 73
1.1 root 2474: };
2475: /* -*-C-*- Note some compilers choke on comments on `#line' lines. */
2476: #line 3 "bison.simple"
2477:
2478: /* Skeleton output parser for bison,
2479: Copyright (C) 1984, 1989, 1990 Bob Corbett and Richard Stallman
2480:
2481: This program is free software; you can redistribute it and/or modify
2482: it under the terms of the GNU General Public License as published by
2483: the Free Software Foundation; either version 1, or (at your option)
2484: any later version.
2485:
2486: This program is distributed in the hope that it will be useful,
2487: but WITHOUT ANY WARRANTY; without even the implied warranty of
2488: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2489: GNU General Public License for more details.
2490:
2491: You should have received a copy of the GNU General Public License
2492: along with this program; if not, write to the Free Software
2493: Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
2494:
2495:
2496: #ifndef alloca
2497: #ifdef __GNUC__
2498: #define alloca __builtin_alloca
2499: #else /* not GNU C. */
2500: #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__)
2501: #include <alloca.h>
2502: #else /* not sparc */
2503: #if defined (MSDOS) && !defined (__TURBOC__)
2504: #include <malloc.h>
2505: #else /* not MSDOS, or __TURBOC__ */
2506: #if defined(_AIX)
2507: #include <malloc.h>
1.1.1.3 root 2508: #pragma alloca
1.1 root 2509: #endif /* not _AIX */
2510: #endif /* not MSDOS, or __TURBOC__ */
2511: #endif /* not sparc. */
2512: #endif /* not GNU C. */
2513: #endif /* alloca not defined. */
2514:
2515: /* This is the parser code that is written into each bison parser
2516: when the %semantic_parser declaration is not specified in the grammar.
2517: It was written by Richard Stallman by simplifying the hairy parser
2518: used when %semantic_parser is specified. */
2519:
2520: /* Note: there must be only one dollar sign in this file.
2521: It is replaced by the list of actions, each action
2522: as one case of the switch. */
2523:
2524: #define yyerrok (yyerrstatus = 0)
2525: #define yyclearin (yychar = YYEMPTY)
2526: #define YYEMPTY -2
2527: #define YYEOF 0
2528: #define YYACCEPT return(0)
2529: #define YYABORT return(1)
2530: #define YYERROR goto yyerrlab1
2531: /* Like YYERROR except do call yyerror.
2532: This remains here temporarily to ease the
2533: transition to the new meaning of YYERROR, for GCC.
2534: Once GCC version 2 has supplanted version 1, this can go. */
2535: #define YYFAIL goto yyerrlab
2536: #define YYRECOVERING() (!!yyerrstatus)
2537: #define YYBACKUP(token, value) \
2538: do \
2539: if (yychar == YYEMPTY && yylen == 1) \
2540: { yychar = (token), yylval = (value); \
2541: yychar1 = YYTRANSLATE (yychar); \
2542: YYPOPSTACK; \
2543: goto yybackup; \
2544: } \
2545: else \
2546: { yyerror ("syntax error: cannot back up"); YYERROR; } \
2547: while (0)
2548:
2549: #define YYTERROR 1
2550: #define YYERRCODE 256
2551:
2552: #ifndef YYPURE
2553: #define YYLEX yylex()
2554: #endif
2555:
2556: #ifdef YYPURE
2557: #ifdef YYLSP_NEEDED
2558: #define YYLEX yylex(&yylval, &yylloc)
2559: #else
2560: #define YYLEX yylex(&yylval)
2561: #endif
2562: #endif
2563:
2564: /* If nonreentrant, generate the variables here */
2565:
2566: #ifndef YYPURE
2567:
2568: int yychar; /* the lookahead symbol */
2569: YYSTYPE yylval; /* the semantic value of the */
2570: /* lookahead symbol */
2571:
2572: #ifdef YYLSP_NEEDED
2573: YYLTYPE yylloc; /* location data for the lookahead */
2574: /* symbol */
2575: #endif
2576:
2577: int yynerrs; /* number of parse errors so far */
2578: #endif /* not YYPURE */
2579:
2580: #if YYDEBUG != 0
2581: int yydebug; /* nonzero means print parse trace */
2582: /* Since this is uninitialized, it does not stop multiple parsers
2583: from coexisting. */
2584: #endif
2585:
2586: /* YYINITDEPTH indicates the initial size of the parser's stacks */
2587:
2588: #ifndef YYINITDEPTH
2589: #define YYINITDEPTH 200
2590: #endif
2591:
2592: /* YYMAXDEPTH is the maximum size the stacks can grow to
2593: (effective only if the built-in stack extension method is used). */
2594:
2595: #if YYMAXDEPTH == 0
2596: #undef YYMAXDEPTH
2597: #endif
2598:
2599: #ifndef YYMAXDEPTH
2600: #define YYMAXDEPTH 10000
2601: #endif
2602:
2603: #if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
2604: #define __yy_bcopy(FROM,TO,COUNT) __builtin_memcpy(TO,FROM,COUNT)
2605: #else /* not GNU C or C++ */
2606: #ifndef __cplusplus
2607:
2608: /* This is the most reliable way to avoid incompatibilities
2609: in available built-in functions on various systems. */
2610: static void
2611: __yy_bcopy (from, to, count)
2612: char *from;
2613: char *to;
2614: int count;
2615: {
2616: register char *f = from;
2617: register char *t = to;
2618: register int i = count;
2619:
2620: while (i-- > 0)
2621: *t++ = *f++;
2622: }
2623:
2624: #else /* __cplusplus */
2625:
2626: /* This is the most reliable way to avoid incompatibilities
2627: in available built-in functions on various systems. */
2628: static void
2629: __yy_bcopy (char *from, char *to, int count)
2630: {
2631: register char *f = from;
2632: register char *t = to;
2633: register int i = count;
2634:
2635: while (i-- > 0)
2636: *t++ = *f++;
2637: }
2638:
2639: #endif
2640: #endif
2641:
2642: #line 169 "bison.simple"
2643: int
2644: yyparse()
2645: {
2646: register int yystate;
2647: register int yyn;
2648: register short *yyssp;
2649: register YYSTYPE *yyvsp;
2650: int yyerrstatus; /* number of tokens to shift before error messages enabled */
2651: int yychar1; /* lookahead token as an internal (translated) token number */
2652:
2653: short yyssa[YYINITDEPTH]; /* the state stack */
2654: YYSTYPE yyvsa[YYINITDEPTH]; /* the semantic value stack */
2655:
2656: short *yyss = yyssa; /* refer to the stacks thru separate pointers */
2657: YYSTYPE *yyvs = yyvsa; /* to allow yyoverflow to reallocate them elsewhere */
2658:
2659: #ifdef YYLSP_NEEDED
2660: YYLTYPE yylsa[YYINITDEPTH]; /* the location stack */
2661: YYLTYPE *yyls = yylsa;
2662: YYLTYPE *yylsp;
2663:
1.1.1.3 root 2664: #define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
1.1 root 2665: #else
1.1.1.3 root 2666: #define YYPOPSTACK (yyvsp--, yyssp--)
1.1 root 2667: #endif
2668:
2669: int yystacksize = YYINITDEPTH;
2670:
2671: #ifdef YYPURE
2672: int yychar;
2673: YYSTYPE yylval;
2674: int yynerrs;
2675: #ifdef YYLSP_NEEDED
2676: YYLTYPE yylloc;
2677: #endif
2678: #endif
2679:
2680: YYSTYPE yyval; /* the variable used to return */
2681: /* semantic values from the action */
2682: /* routines */
2683:
2684: int yylen;
2685:
2686: #if YYDEBUG != 0
2687: if (yydebug)
2688: fprintf(stderr, "Starting parse\n");
2689: #endif
2690:
2691: yystate = 0;
2692: yyerrstatus = 0;
2693: yynerrs = 0;
2694: yychar = YYEMPTY; /* Cause a token to be read. */
2695:
2696: /* Initialize stack pointers.
2697: Waste one element of value and location stack
2698: so that they stay on the same level as the state stack. */
2699:
2700: yyssp = yyss - 1;
2701: yyvsp = yyvs;
2702: #ifdef YYLSP_NEEDED
2703: yylsp = yyls;
2704: #endif
2705:
2706: /* Push a new state, which is found in yystate . */
2707: /* In all cases, when you get here, the value and location stacks
2708: have just been pushed. so pushing a state here evens the stacks. */
2709: yynewstate:
2710:
2711: *++yyssp = yystate;
2712:
2713: if (yyssp >= yyss + yystacksize - 1)
2714: {
2715: /* Give user a chance to reallocate the stack */
2716: /* Use copies of these so that the &'s don't force the real ones into memory. */
2717: YYSTYPE *yyvs1 = yyvs;
2718: short *yyss1 = yyss;
2719: #ifdef YYLSP_NEEDED
2720: YYLTYPE *yyls1 = yyls;
2721: #endif
2722:
2723: /* Get the current used size of the three stacks, in elements. */
2724: int size = yyssp - yyss + 1;
2725:
2726: #ifdef yyoverflow
2727: /* Each stack pointer address is followed by the size of
2728: the data in use in that stack, in bytes. */
2729: yyoverflow("parser stack overflow",
2730: &yyss1, size * sizeof (*yyssp),
2731: &yyvs1, size * sizeof (*yyvsp),
2732: #ifdef YYLSP_NEEDED
2733: &yyls1, size * sizeof (*yylsp),
2734: #endif
2735: &yystacksize);
2736:
2737: yyss = yyss1; yyvs = yyvs1;
2738: #ifdef YYLSP_NEEDED
2739: yyls = yyls1;
2740: #endif
2741: #else /* no yyoverflow */
2742: /* Extend the stack our own way. */
2743: if (yystacksize >= YYMAXDEPTH)
2744: {
2745: yyerror("parser stack overflow");
2746: return 2;
2747: }
2748: yystacksize *= 2;
2749: if (yystacksize > YYMAXDEPTH)
2750: yystacksize = YYMAXDEPTH;
2751: yyss = (short *) alloca (yystacksize * sizeof (*yyssp));
2752: __yy_bcopy ((char *)yyss1, (char *)yyss, size * sizeof (*yyssp));
2753: yyvs = (YYSTYPE *) alloca (yystacksize * sizeof (*yyvsp));
2754: __yy_bcopy ((char *)yyvs1, (char *)yyvs, size * sizeof (*yyvsp));
2755: #ifdef YYLSP_NEEDED
2756: yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp));
2757: __yy_bcopy ((char *)yyls1, (char *)yyls, size * sizeof (*yylsp));
2758: #endif
2759: #endif /* no yyoverflow */
2760:
2761: yyssp = yyss + size - 1;
2762: yyvsp = yyvs + size - 1;
2763: #ifdef YYLSP_NEEDED
2764: yylsp = yyls + size - 1;
2765: #endif
2766:
2767: #if YYDEBUG != 0
2768: if (yydebug)
2769: fprintf(stderr, "Stack size increased to %d\n", yystacksize);
2770: #endif
2771:
2772: if (yyssp >= yyss + yystacksize - 1)
2773: YYABORT;
2774: }
2775:
2776: #if YYDEBUG != 0
2777: if (yydebug)
2778: fprintf(stderr, "Entering state %d\n", yystate);
2779: #endif
2780:
2781: yybackup:
2782:
2783: /* Do appropriate processing given the current state. */
2784: /* Read a lookahead token if we need one and don't already have one. */
2785: /* yyresume: */
2786:
2787: /* First try to decide what to do without reference to lookahead token. */
2788:
2789: yyn = yypact[yystate];
2790: if (yyn == YYFLAG)
2791: goto yydefault;
2792:
2793: /* Not known => get a lookahead token if don't already have one. */
2794:
2795: /* yychar is either YYEMPTY or YYEOF
2796: or a valid token in external form. */
2797:
2798: if (yychar == YYEMPTY)
2799: {
2800: #if YYDEBUG != 0
2801: if (yydebug)
2802: fprintf(stderr, "Reading a token: ");
2803: #endif
2804: yychar = YYLEX;
2805: }
2806:
2807: /* Convert token to internal form (in yychar1) for indexing tables with */
2808:
2809: if (yychar <= 0) /* This means end of input. */
2810: {
2811: yychar1 = 0;
2812: yychar = YYEOF; /* Don't call YYLEX any more */
2813:
2814: #if YYDEBUG != 0
2815: if (yydebug)
2816: fprintf(stderr, "Now at end of input.\n");
2817: #endif
2818: }
2819: else
2820: {
2821: yychar1 = YYTRANSLATE(yychar);
2822:
2823: #if YYDEBUG != 0
2824: if (yydebug)
2825: {
2826: fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
2827: /* Give the individual parser a way to print the precise meaning
2828: of a token, for further debugging info. */
2829: #ifdef YYPRINT
2830: YYPRINT (stderr, yychar, yylval);
2831: #endif
2832: fprintf (stderr, ")\n");
2833: }
2834: #endif
2835: }
2836:
2837: yyn += yychar1;
2838: if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
2839: goto yydefault;
2840:
2841: yyn = yytable[yyn];
2842:
2843: /* yyn is what to do for this token type in this state.
2844: Negative => reduce, -yyn is rule number.
2845: Positive => shift, yyn is new state.
2846: New state is final state => don't bother to shift,
2847: just return success.
2848: 0, or most negative number => error. */
2849:
2850: if (yyn < 0)
2851: {
2852: if (yyn == YYFLAG)
2853: goto yyerrlab;
2854: yyn = -yyn;
2855: goto yyreduce;
2856: }
2857: else if (yyn == 0)
2858: goto yyerrlab;
2859:
2860: if (yyn == YYFINAL)
2861: YYACCEPT;
2862:
2863: /* Shift the lookahead token. */
2864:
2865: #if YYDEBUG != 0
2866: if (yydebug)
2867: fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
2868: #endif
2869:
2870: /* Discard the token being shifted unless it is eof. */
2871: if (yychar != YYEOF)
2872: yychar = YYEMPTY;
2873:
2874: *++yyvsp = yylval;
2875: #ifdef YYLSP_NEEDED
2876: *++yylsp = yylloc;
2877: #endif
2878:
2879: /* count tokens shifted since error; after three, turn off error status. */
2880: if (yyerrstatus) yyerrstatus--;
2881:
2882: yystate = yyn;
2883: goto yynewstate;
2884:
2885: /* Do the default action for the current state. */
2886: yydefault:
2887:
2888: yyn = yydefact[yystate];
2889: if (yyn == 0)
2890: goto yyerrlab;
2891:
2892: /* Do a reduction. yyn is the number of a rule to reduce with. */
2893: yyreduce:
2894: yylen = yyr2[yyn];
2895: yyval = yyvsp[1-yylen]; /* implement default value of the action */
2896:
2897: #if YYDEBUG != 0
2898: if (yydebug)
2899: {
2900: int i;
2901:
2902: fprintf (stderr, "Reducing via rule %d (line %d), ",
2903: yyn, yyrline[yyn]);
2904:
2905: /* Print the symboles being reduced, and their result. */
2906: for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
2907: fprintf (stderr, "%s ", yytname[yyrhs[i]]);
2908: fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
2909: }
2910: #endif
2911:
2912:
2913: switch (yyn) {
2914:
2915: case 2:
1.1.1.5 ! root 2916: #line 285 "cp-parse.y"
1.1 root 2917: { finish_file (); ;
2918: break;}
2919: case 3:
1.1.1.5 ! root 2920: #line 293 "cp-parse.y"
1.1 root 2921: { yyval.ttype = NULL_TREE; ;
2922: break;}
2923: case 4:
1.1.1.5 ! root 2924: #line 294 "cp-parse.y"
1.1 root 2925: {yyval.ttype = NULL_TREE; ;
2926: break;}
2927: case 5:
1.1.1.5 ! root 2928: #line 296 "cp-parse.y"
1.1 root 2929: {yyval.ttype = NULL_TREE; ;
2930: break;}
2931: case 6:
1.1.1.5 ! root 2932: #line 300 "cp-parse.y"
1.1.1.2 root 2933: { have_extern_spec = 1;
1.1.1.4 root 2934: used_extern_spec = 0;
1.1.1.2 root 2935: yyval.ttype = NULL_TREE; ;
1.1 root 2936: break;}
2937: case 7:
1.1.1.5 ! root 2938: #line 305 "cp-parse.y"
1.1 root 2939: { have_extern_spec = 0; ;
2940: break;}
2941: case 8:
1.1.1.5 ! root 2942: #line 309 "cp-parse.y"
! 2943: { if (pedantic)
! 2944: pedwarn ("ANSI C++ forbids use of `asm' keyword"); ;
1.1 root 2945: break;}
1.1.1.5 ! root 2946: case 10:
! 2947: #line 316 "cp-parse.y"
1.1 root 2948: { if (pending_inlines) do_pending_inlines (); ;
2949: break;}
1.1.1.5 ! root 2950: case 11:
! 2951: #line 318 "cp-parse.y"
1.1 root 2952: { if (pending_inlines) do_pending_inlines (); ;
2953: break;}
2954: case 12:
1.1.1.5 ! root 2955: #line 320 "cp-parse.y"
! 2956: { if (pending_inlines) do_pending_inlines (); ;
! 2957: break;}
! 2958: case 14:
! 2959: #line 323 "cp-parse.y"
! 2960: { if (TREE_CHAIN (yyvsp[-2].ttype)) yyvsp[-2].ttype = combine_strings (yyvsp[-2].ttype);
1.1 root 2961: assemble_asm (yyvsp[-2].ttype); ;
2962: break;}
1.1.1.5 ! root 2963: case 15:
! 2964: #line 326 "cp-parse.y"
1.1 root 2965: { pop_lang_context (); ;
2966: break;}
1.1.1.5 ! root 2967: case 16:
! 2968: #line 328 "cp-parse.y"
1.1 root 2969: { pop_lang_context (); ;
2970: break;}
1.1.1.5 ! root 2971: case 17:
! 2972: #line 330 "cp-parse.y"
1.1 root 2973: { if (pending_inlines) do_pending_inlines ();
2974: pop_lang_context (); ;
2975: break;}
1.1.1.5 ! root 2976: case 18:
! 2977: #line 333 "cp-parse.y"
1.1 root 2978: { if (pending_inlines) do_pending_inlines ();
2979: pop_lang_context (); ;
2980: break;}
1.1.1.5 ! root 2981: case 19:
! 2982: #line 339 "cp-parse.y"
1.1 root 2983: { push_lang_context (yyvsp[0].ttype); ;
2984: break;}
1.1.1.5 ! root 2985: case 20:
! 2986: #line 344 "cp-parse.y"
1.1 root 2987: { begin_template_parm_list (); ;
2988: break;}
1.1.1.5 ! root 2989: case 21:
! 2990: #line 346 "cp-parse.y"
1.1 root 2991: { yyval.ttype = end_template_parm_list (yyvsp[-1].ttype); ;
2992: break;}
1.1.1.5 ! root 2993: case 22:
! 2994: #line 351 "cp-parse.y"
! 2995: { yyval.ttype = process_template_parm (NULL_TREE, yyvsp[0].ttype); ;
1.1 root 2996: break;}
1.1.1.5 ! root 2997: case 23:
! 2998: #line 353 "cp-parse.y"
1.1 root 2999: { yyval.ttype = process_template_parm (yyvsp[-2].ttype, yyvsp[0].ttype); ;
3000: break;}
1.1.1.5 ! root 3001: case 24:
! 3002: #line 364 "cp-parse.y"
1.1 root 3003: {
1.1.1.2 root 3004: if (yyvsp[-1].ttype != class_type_node)
1.1 root 3005: error ("template type parameter must use keyword `class'");
3006: yyval.ttype = build_tree_list (yyvsp[0].ttype, NULL_TREE);
3007: ;
3008: break;}
1.1.1.5 ! root 3009: case 25:
! 3010: #line 370 "cp-parse.y"
1.1 root 3011: {
1.1.1.2 root 3012: if (yyvsp[-3].ttype != class_type_node)
1.1 root 3013: error ("template type parameter must use keyword `class'");
3014: warning ("restricted template type parameters not yet implemented");
3015: yyval.ttype = build_tree_list (yyvsp[-2].ttype, yyvsp[0].ttype);
3016: ;
3017: break;}
1.1.1.5 ! root 3018: case 26:
! 3019: #line 377 "cp-parse.y"
1.1 root 3020: {
1.1.1.2 root 3021: if (yyvsp[-2].ttype != class_type_node)
1.1 root 3022: error ("template type parameter must use keyword `class'");
3023: warning ("restricted template type parameters not yet implemented");
3024: yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype);
3025: ;
3026: break;}
3027: case 28:
1.1.1.5 ! root 3028: #line 388 "cp-parse.y"
! 3029: { warning ("use of `overload' is an anachronism"); ;
1.1 root 3030: break;}
3031: case 29:
1.1.1.5 ! root 3032: #line 392 "cp-parse.y"
! 3033: { declare_overloaded (yyvsp[0].ttype); ;
! 3034: break;}
! 3035: case 30:
! 3036: #line 394 "cp-parse.y"
! 3037: { declare_overloaded (yyvsp[0].ttype); ;
1.1 root 3038: break;}
3039: case 31:
1.1.1.5 ! root 3040: #line 401 "cp-parse.y"
1.1 root 3041: { yychar = '{'; goto template1; ;
3042: break;}
3043: case 33:
1.1.1.5 ! root 3044: #line 404 "cp-parse.y"
! 3045: { yychar = '{'; goto template1; ;
1.1 root 3046: break;}
3047: case 35:
1.1.1.5 ! root 3048: #line 407 "cp-parse.y"
! 3049: { yychar = ':'; goto template1; ;
! 3050: break;}
! 3051: case 37:
! 3052: #line 410 "cp-parse.y"
1.1 root 3053: {
3054: yychar = ':';
3055: template1:
3056: if (current_aggr == exception_type_node)
3057: error ("template type must define an aggregate or union");
3058: /* Maybe pedantic warning for union?
3059: How about an enum? :-) */
3060: end_template_decl (yyvsp[-2].ttype, yyvsp[-1].ttype, current_aggr);
3061: reinit_parse_for_template (yychar, yyvsp[-2].ttype, yyvsp[-1].ttype);
3062: yychar = YYEMPTY;
3063: ;
3064: break;}
1.1.1.5 ! root 3065: case 39:
! 3066: #line 423 "cp-parse.y"
1.1 root 3067: {
3068: end_template_decl (yyvsp[-2].ttype, yyvsp[-1].ttype, current_aggr);
3069: /* declare $2 as template name with $1 parm list */
3070: ;
3071: break;}
1.1.1.5 ! root 3072: case 40:
! 3073: #line 428 "cp-parse.y"
1.1 root 3074: {
3075: end_template_decl (yyvsp[-2].ttype, yyvsp[-1].ttype, current_aggr);
3076: /* declare $2 as template name with $1 parm list */
3077: ;
3078: break;}
1.1.1.5 ! root 3079: case 41:
! 3080: #line 435 "cp-parse.y"
1.1 root 3081: {
3082: tree d;
3083: int momentary;
3084: momentary = suspend_momentary ();
1.1.1.5 ! root 3085: d = start_decl (yyvsp[-4].ttype, /*current_declspecs*/NULL_TREE, 0, yyvsp[-3].ttype);
1.1.1.4 root 3086: cplus_decl_attributes (d, yyvsp[-1].ttype);
1.1.1.3 root 3087: finish_decl (d, NULL_TREE, yyvsp[-2].ttype, 0);
1.1 root 3088: end_template_decl (yyvsp[-5].ttype, d, 0);
3089: if (yyvsp[0].itype != ';')
1.1.1.5 ! root 3090: reinit_parse_for_template ((int) yyvsp[0].itype, yyvsp[-5].ttype, d);
1.1 root 3091: resume_momentary (momentary);
3092: ;
3093: break;}
1.1.1.5 ! root 3094: case 42:
! 3095: #line 450 "cp-parse.y"
1.1 root 3096: {
3097: tree d;
3098: int momentary;
3099:
3100: current_declspecs = yyvsp[-5].ttype;
3101: momentary = suspend_momentary ();
1.1.1.5 ! root 3102: d = start_decl (yyvsp[-4].ttype, current_declspecs,
! 3103: 0, yyvsp[-3].ttype);
1.1.1.4 root 3104: cplus_decl_attributes (d, yyvsp[-1].ttype);
1.1.1.3 root 3105: finish_decl (d, NULL_TREE, yyvsp[-2].ttype, 0);
1.1 root 3106: end_exception_decls ();
3107: end_template_decl (yyvsp[-6].ttype, d, 0);
3108: if (yyvsp[0].itype != ';')
3109: {
1.1.1.5 ! root 3110: reinit_parse_for_template ((int) yyvsp[0].itype, yyvsp[-6].ttype, d);
1.1 root 3111: yychar = YYEMPTY;
3112: }
3113: note_list_got_semicolon (yyvsp[-5].ttype);
3114: resume_momentary (momentary);
3115: ;
3116: break;}
1.1.1.5 ! root 3117: case 43:
! 3118: #line 471 "cp-parse.y"
1.1 root 3119: {
3120: tree d = start_decl (yyvsp[-1].ttype, yyvsp[-2].ttype, 0, NULL_TREE);
1.1.1.3 root 3121: finish_decl (d, NULL_TREE, NULL_TREE, 0);
1.1 root 3122: end_template_decl (yyvsp[-3].ttype, d, 0);
3123: if (yyvsp[0].itype != ';')
1.1.1.5 ! root 3124: reinit_parse_for_template ((int) yyvsp[0].itype, yyvsp[-3].ttype, d);
1.1 root 3125: ;
3126: break;}
1.1.1.5 ! root 3127: case 44:
! 3128: #line 479 "cp-parse.y"
1.1.1.2 root 3129: { end_template_decl (yyvsp[-2].ttype, 0, 0); ;
1.1 root 3130: break;}
1.1.1.5 ! root 3131: case 45:
! 3132: #line 480 "cp-parse.y"
1.1.1.2 root 3133: { end_template_decl (yyvsp[-2].ttype, 0, 0); ;
1.1 root 3134: break;}
1.1.1.5 ! root 3135: case 46:
! 3136: #line 483 "cp-parse.y"
1.1.1.2 root 3137: { yyval.itype = '{'; ;
1.1 root 3138: break;}
1.1.1.5 ! root 3139: case 47:
! 3140: #line 484 "cp-parse.y"
1.1.1.2 root 3141: { yyval.itype = ':'; ;
1.1 root 3142: break;}
1.1.1.5 ! root 3143: case 48:
! 3144: #line 485 "cp-parse.y"
1.1.1.2 root 3145: { yyval.itype = ';'; ;
1.1 root 3146: break;}
1.1.1.5 ! root 3147: case 49:
! 3148: #line 486 "cp-parse.y"
1.1.1.2 root 3149: { yyval.itype = '='; ;
3150: break;}
1.1.1.5 ! root 3151: case 50:
! 3152: #line 487 "cp-parse.y"
1.1.1.2 root 3153: { yyval.itype = RETURN; ;
3154: break;}
1.1.1.5 ! root 3155: case 51:
! 3156: #line 492 "cp-parse.y"
1.1 root 3157: { if (pedantic)
1.1.1.4 root 3158: pedwarn ("ANSI C++ forbids data definition with no type or storage class");
1.1 root 3159: else if (! flag_traditional && ! have_extern_spec)
3160: warning ("data definition has no type or storage class"); ;
3161: break;}
1.1.1.5 ! root 3162: case 52:
! 3163: #line 497 "cp-parse.y"
1.1 root 3164: {;
3165: break;}
1.1.1.5 ! root 3166: case 53:
! 3167: #line 500 "cp-parse.y"
1.1 root 3168: { tree d;
3169: d = start_decl (yyvsp[-1].ttype, yyval.ttype, 0, NULL_TREE);
1.1.1.3 root 3170: finish_decl (d, NULL_TREE, NULL_TREE, 0);
1.1 root 3171: ;
3172: break;}
1.1.1.5 ! root 3173: case 54:
! 3174: #line 505 "cp-parse.y"
1.1 root 3175: {
3176: end_exception_decls ();
3177: note_list_got_semicolon (yyval.ttype);
3178: ;
3179: break;}
1.1.1.5 ! root 3180: case 55:
! 3181: #line 511 "cp-parse.y"
1.1 root 3182: { tree d;
3183: d = start_decl (yyvsp[-1].ttype, yyval.ttype, 0, NULL_TREE);
1.1.1.3 root 3184: finish_decl (d, NULL_TREE, NULL_TREE, 0);
1.1 root 3185: end_exception_decls ();
3186: note_list_got_semicolon (yyval.ttype);
3187: ;
3188: break;}
1.1.1.5 ! root 3189: case 56:
! 3190: #line 518 "cp-parse.y"
1.1.1.4 root 3191: { pedwarn ("empty declaration"); ;
1.1 root 3192: break;}
1.1.1.5 ! root 3193: case 57:
! 3194: #line 520 "cp-parse.y"
1.1 root 3195: {
3196: tree t = yyval.ttype;
3197: shadow_tag (t);
3198: if (TREE_CODE (t) == TREE_LIST
3199: && TREE_PURPOSE (t) == NULL_TREE)
3200: {
3201: t = TREE_VALUE (t);
3202: if (TREE_CODE (t) == RECORD_TYPE)
3203: {
3204: if (CLASSTYPE_USE_TEMPLATE (t) == 0)
3205: CLASSTYPE_USE_TEMPLATE (t) = 2;
3206: else if (CLASSTYPE_USE_TEMPLATE (t) == 1)
3207: error ("override declaration for already-expanded template");
3208: }
3209: }
3210: note_list_got_semicolon (yyval.ttype);
3211: ;
3212: break;}
1.1.1.5 ! root 3213: case 61:
! 3214: #line 544 "cp-parse.y"
1.1 root 3215: {
3216: finish_function (lineno, 1);
3217: /* finish_function performs these three statements:
3218:
3219: expand_end_bindings (getdecls (), 1, 0);
3220: poplevel (1, 1, 0);
3221:
3222: expand_end_bindings (0, 0, 0);
3223: poplevel (0, 0, 1);
3224: */
3225: if (yyval.ttype) process_next_inline (yyval.ttype);
3226: ;
3227: break;}
1.1.1.5 ! root 3228: case 62:
! 3229: #line 557 "cp-parse.y"
1.1 root 3230: {
3231: finish_function (lineno, 1);
3232: /* finish_function performs these three statements:
3233:
3234: expand_end_bindings (getdecls (), 1, 0);
3235: poplevel (1, 1, 0);
3236:
3237: expand_end_bindings (0, 0, 0);
3238: poplevel (0, 0, 1);
3239: */
3240: if (yyval.ttype) process_next_inline (yyval.ttype);
3241: ;
3242: break;}
1.1.1.5 ! root 3243: case 63:
! 3244: #line 570 "cp-parse.y"
1.1 root 3245: { finish_function (lineno, 0);
3246: if (yyval.ttype) process_next_inline (yyval.ttype); ;
3247: break;}
1.1.1.5 ! root 3248: case 64:
! 3249: #line 573 "cp-parse.y"
1.1 root 3250: { finish_function (lineno, 0);
3251: if (yyval.ttype) process_next_inline (yyval.ttype); ;
3252: break;}
1.1.1.5 ! root 3253: case 65:
! 3254: #line 576 "cp-parse.y"
1.1 root 3255: { finish_function (lineno, 0);
3256: if (yyval.ttype) process_next_inline (yyval.ttype); ;
3257: break;}
1.1.1.5 ! root 3258: case 66:
! 3259: #line 579 "cp-parse.y"
1.1 root 3260: {;
3261: break;}
1.1.1.5 ! root 3262: case 67:
! 3263: #line 581 "cp-parse.y"
1.1 root 3264: {;
3265: break;}
1.1.1.5 ! root 3266: case 68:
! 3267: #line 583 "cp-parse.y"
1.1 root 3268: {;
3269: break;}
1.1.1.5 ! root 3270: case 69:
! 3271: #line 588 "cp-parse.y"
1.1 root 3272: { if (! start_function (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype, 0))
3273: YYERROR1;
3274: reinit_parse_for_function ();
3275: yyval.ttype = NULL_TREE; ;
3276: break;}
1.1.1.5 ! root 3277: case 70:
! 3278: #line 593 "cp-parse.y"
1.1 root 3279: { if (! start_function (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype, 0))
3280: YYERROR1;
3281: reinit_parse_for_function ();
3282: yyval.ttype = NULL_TREE; ;
3283: break;}
1.1.1.5 ! root 3284: case 71:
! 3285: #line 598 "cp-parse.y"
1.1 root 3286: { if (! start_function (NULL_TREE, yyval.ttype, yyvsp[0].ttype, 0))
3287: YYERROR1;
3288: reinit_parse_for_function ();
3289: yyval.ttype = NULL_TREE; ;
3290: break;}
1.1.1.5 ! root 3291: case 72:
! 3292: #line 603 "cp-parse.y"
1.1 root 3293: { if (! start_function (NULL_TREE, build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype), yyvsp[0].ttype, 0))
3294: YYERROR1;
3295: reinit_parse_for_function ();
3296: yyval.ttype = NULL_TREE; ;
3297: break;}
1.1.1.5 ! root 3298: case 73:
! 3299: #line 608 "cp-parse.y"
1.1 root 3300: { if (! start_function (NULL_TREE, build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype), yyvsp[0].ttype, 0))
3301: YYERROR1;
3302: reinit_parse_for_function ();
3303: yyval.ttype = NULL_TREE; ;
3304: break;}
1.1.1.5 ! root 3305: case 74:
! 3306: #line 613 "cp-parse.y"
1.1 root 3307: { if (! start_function (NULL_TREE, build_parse_node (CALL_EXPR, yyval.ttype, empty_parms (), yyvsp[-1].ttype), yyvsp[0].ttype, 0))
3308: YYERROR1;
3309: reinit_parse_for_function ();
3310: yyval.ttype = NULL_TREE; ;
3311: break;}
1.1.1.5 ! root 3312: case 75:
! 3313: #line 618 "cp-parse.y"
1.1 root 3314: { if (! start_function (NULL_TREE, build_parse_node (CALL_EXPR, yyval.ttype, empty_parms (), yyvsp[-1].ttype), yyvsp[0].ttype, 0))
3315: YYERROR1;
3316: reinit_parse_for_function ();
3317: yyval.ttype = NULL_TREE; ;
3318: break;}
1.1.1.5 ! root 3319: case 76:
! 3320: #line 623 "cp-parse.y"
1.1 root 3321: { start_function (NULL_TREE, TREE_VALUE (yyval.ttype), NULL_TREE, 1);
3322: reinit_parse_for_function (); ;
3323: break;}
1.1.1.5 ! root 3324: case 77:
! 3325: #line 630 "cp-parse.y"
1.1 root 3326: {
3327: tree decl = build_parse_node (CALL_EXPR, TREE_VALUE (yyval.ttype), yyvsp[-3].ttype, yyvsp[-1].ttype);
3328: yyval.ttype = start_method (TREE_CHAIN (yyval.ttype), decl, yyvsp[0].ttype);
3329: if (! yyval.ttype)
3330: YYERROR1;
3331: if (yychar == YYEMPTY)
3332: yychar = YYLEX;
3333: reinit_parse_for_method (yychar, yyval.ttype); ;
3334: break;}
1.1.1.5 ! root 3335: case 78:
! 3336: #line 639 "cp-parse.y"
1.1 root 3337: {
3338: tree decl = build_parse_node (CALL_EXPR, TREE_VALUE (yyval.ttype), empty_parms (), yyvsp[-1].ttype);
3339: yyval.ttype = start_method (TREE_CHAIN (yyval.ttype), decl, yyvsp[0].ttype);
3340: if (! yyval.ttype)
3341: YYERROR1;
3342: if (yychar == YYEMPTY)
3343: yychar = YYLEX;
3344: reinit_parse_for_method (yychar, yyval.ttype); ;
3345: break;}
1.1.1.5 ! root 3346: case 79:
! 3347: #line 648 "cp-parse.y"
1.1 root 3348: { yyval.ttype = start_method (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
3349: if (! yyval.ttype)
3350: YYERROR1;
3351: if (yychar == YYEMPTY)
3352: yychar = YYLEX;
3353: reinit_parse_for_method (yychar, yyval.ttype); ;
3354: break;}
1.1.1.5 ! root 3355: case 80:
! 3356: #line 655 "cp-parse.y"
1.1 root 3357: {
3358: tree decl = build_parse_node (CALL_EXPR, TREE_VALUE (yyval.ttype), yyvsp[-3].ttype, yyvsp[-1].ttype);
3359: yyval.ttype = start_method (TREE_CHAIN (yyval.ttype), decl, yyvsp[0].ttype);
3360: if (! yyval.ttype)
3361: YYERROR1;
3362: if (yychar == YYEMPTY)
3363: yychar = YYLEX;
3364: reinit_parse_for_method (yychar, yyval.ttype); ;
3365: break;}
1.1.1.5 ! root 3366: case 81:
! 3367: #line 664 "cp-parse.y"
1.1 root 3368: {
3369: tree decl = build_parse_node (CALL_EXPR, TREE_VALUE (yyval.ttype), empty_parms (), yyvsp[-1].ttype);
3370: yyval.ttype = start_method (TREE_CHAIN (yyval.ttype), decl, yyvsp[0].ttype);
3371: if (! yyval.ttype)
3372: YYERROR1;
3373: if (yychar == YYEMPTY)
3374: yychar = YYLEX;
3375: reinit_parse_for_method (yychar, yyval.ttype); ;
3376: break;}
1.1.1.5 ! root 3377: case 82:
! 3378: #line 673 "cp-parse.y"
1.1 root 3379: { yyval.ttype = start_method (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
3380: if (! yyval.ttype)
3381: YYERROR1;
3382: if (yychar == YYEMPTY)
3383: yychar = YYLEX;
3384: reinit_parse_for_method (yychar, yyval.ttype); ;
3385: break;}
1.1.1.5 ! root 3386: case 83:
! 3387: #line 680 "cp-parse.y"
1.1 root 3388: { yyval.ttype = start_method (NULL_TREE, yyval.ttype, yyvsp[0].ttype);
3389: if (! yyval.ttype)
3390: YYERROR1;
3391: if (yychar == YYEMPTY)
3392: yychar = YYLEX;
3393: reinit_parse_for_method (yychar, yyval.ttype); ;
3394: break;}
1.1.1.5 ! root 3395: case 84:
! 3396: #line 689 "cp-parse.y"
1.1 root 3397: {
3398: if (! current_function_parms_stored)
3399: store_parm_decls ();
3400: yyval.ttype = yyvsp[0].ttype;
3401: ;
3402: break;}
1.1.1.5 ! root 3403: case 85:
! 3404: #line 697 "cp-parse.y"
1.1 root 3405: { store_return_init (yyval.ttype, NULL_TREE); ;
3406: break;}
1.1.1.5 ! root 3407: case 86:
! 3408: #line 699 "cp-parse.y"
1.1.1.4 root 3409: { store_return_init (yyval.ttype, yyvsp[0].ttype); ;
1.1 root 3410: break;}
1.1.1.5 ! root 3411: case 87:
! 3412: #line 701 "cp-parse.y"
1.1 root 3413: { store_return_init (yyval.ttype, yyvsp[-1].ttype); ;
3414: break;}
1.1.1.5 ! root 3415: case 88:
! 3416: #line 703 "cp-parse.y"
1.1 root 3417: { store_return_init (yyval.ttype, NULL_TREE); ;
3418: break;}
1.1.1.5 ! root 3419: case 89:
! 3420: #line 708 "cp-parse.y"
1.1 root 3421: {
3422: if (yyvsp[0].itype == 0)
3423: error ("no base initializers given following ':'");
3424: setup_vtbl_ptr ();
3425: ;
3426: break;}
1.1.1.5 ! root 3427: case 90:
! 3428: #line 717 "cp-parse.y"
1.1 root 3429: {
3430: if (! current_function_parms_stored)
3431: store_parm_decls ();
3432:
3433: /* Flag that we are processing base and member initializers. */
3434: current_vtable_decl = error_mark_node;
3435:
3436: if (DECL_CONSTRUCTOR_P (current_function_decl))
3437: {
3438: /* Make a contour for the initializer list. */
3439: pushlevel (0);
3440: clear_last_expr ();
3441: expand_start_bindings (0);
3442: }
3443: else if (current_class_type == NULL_TREE)
3444: error ("base initializers not allowed for non-member functions");
3445: else if (! DECL_CONSTRUCTOR_P (current_function_decl))
3446: error ("only constructors take base initializers");
3447: ;
3448: break;}
1.1.1.5 ! root 3449: case 91:
! 3450: #line 740 "cp-parse.y"
1.1 root 3451: { yyval.itype = 0; ;
3452: break;}
1.1.1.5 ! root 3453: case 92:
! 3454: #line 742 "cp-parse.y"
1.1 root 3455: { yyval.itype = 1; ;
3456: break;}
1.1.1.5 ! root 3457: case 95:
! 3458: #line 748 "cp-parse.y"
1.1 root 3459: {
1.1.1.4 root 3460: if (current_class_name && !flag_traditional)
3461: pedwarn ("ANSI C++ forbids old style base class initialization",
1.1 root 3462: IDENTIFIER_POINTER (current_class_name));
3463: expand_member_init (C_C_D, NULL_TREE, yyvsp[-1].ttype);
3464: ;
3465: break;}
1.1.1.5 ! root 3466: case 96:
! 3467: #line 755 "cp-parse.y"
1.1 root 3468: {
1.1.1.4 root 3469: if (current_class_name && !flag_traditional)
3470: pedwarn ("ANSI C++ forbids old style base class initialization",
1.1 root 3471: IDENTIFIER_POINTER (current_class_name));
3472: expand_member_init (C_C_D, NULL_TREE, void_type_node);
3473: ;
3474: break;}
1.1.1.5 ! root 3475: case 97:
! 3476: #line 762 "cp-parse.y"
1.1 root 3477: {
3478: expand_member_init (C_C_D, yyval.ttype, yyvsp[-1].ttype);
3479: ;
3480: break;}
1.1.1.2 root 3481: case 98:
1.1.1.5 ! root 3482: #line 766 "cp-parse.y"
1.1.1.2 root 3483: { expand_member_init (C_C_D, yyval.ttype, void_type_node); ;
3484: break;}
3485: case 99:
1.1.1.5 ! root 3486: #line 768 "cp-parse.y"
1.1.1.4 root 3487: { expand_member_init (C_C_D, yyval.ttype, yyvsp[-1].ttype); ;
3488: break;}
3489: case 100:
1.1.1.5 ! root 3490: #line 770 "cp-parse.y"
1.1.1.4 root 3491: { expand_member_init (C_C_D, yyval.ttype, void_type_node); ;
3492: break;}
3493: case 101:
1.1.1.5 ! root 3494: #line 772 "cp-parse.y"
! 3495: { expand_member_init (C_C_D, yyval.ttype, yyvsp[-1].ttype); ;
! 3496: break;}
! 3497: case 102:
! 3498: #line 774 "cp-parse.y"
! 3499: { expand_member_init (C_C_D, yyval.ttype, void_type_node); ;
! 3500: break;}
! 3501: case 103:
! 3502: #line 776 "cp-parse.y"
1.1 root 3503: {
3504: do_member_init (yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype);
3505: ;
3506: break;}
1.1.1.5 ! root 3507: case 104:
! 3508: #line 780 "cp-parse.y"
1.1 root 3509: {
3510: do_member_init (yyval.ttype, yyvsp[-1].ttype, void_type_node);
3511: ;
3512: break;}
1.1.1.5 ! root 3513: case 114:
! 3514: #line 804 "cp-parse.y"
1.1.1.4 root 3515: { yyval.ttype = build_parse_node (BIT_NOT_EXPR,yyvsp[0].ttype);;
1.1 root 3516: break;}
1.1.1.5 ! root 3517: case 116:
! 3518: #line 810 "cp-parse.y"
1.1 root 3519: {
1.1.1.4 root 3520: extern tree template_type_seen_before_scope;
3521:
1.1 root 3522: if (yyvsp[0].ttype)
3523: yyval.ttype = yyvsp[0].ttype;
3524: else if (yyval.ttype != error_mark_node)
3525: yyval.ttype = IDENTIFIER_TYPE_VALUE (yyval.ttype);
1.1.1.4 root 3526: /* This is a kludge: In order to detect nested types inside
3527: * template classes, we have to tell the lexer that it should
3528: * try to replace a following SCOPE token with the correct
3529: * SCOPED_TYPENAME for the nested type. This SCOPED_TYPENAME
3530: * token will be handled in the rule "scoped_typename".
3531: * - [email protected] */
1.1.1.5 ! root 3532: if (yychar == SCOPE)
! 3533: {
! 3534: /* We set template_type_seen_before_scope to be
! 3535: an error_mark_node so we can avoid meaningless
! 3536: and unhelpful syntax errors later. */
! 3537: if (yyval.ttype != error_mark_node)
! 3538: template_type_seen_before_scope = TYPE_IDENTIFIER (yyval.ttype);
! 3539: else
! 3540: template_type_seen_before_scope = error_mark_node;
! 3541: yychar = YYLEX;
! 3542: }
1.1 root 3543: ;
3544: break;}
1.1.1.5 ! root 3545: case 117:
! 3546: #line 839 "cp-parse.y"
! 3547: { yyval.ttype = lookup_template_class (yyval.ttype, yyvsp[-1].ttype, NULL_TREE); ;
1.1 root 3548: break;}
1.1.1.5 ! root 3549: case 118:
! 3550: #line 841 "cp-parse.y"
! 3551: { yyval.ttype = lookup_template_class (yyval.ttype, yyvsp[-1].ttype, NULL_TREE); ;
1.1.1.4 root 3552: break;}
1.1.1.5 ! root 3553: case 119:
! 3554: #line 847 "cp-parse.y"
1.1 root 3555: { yyungetc ('{', 1); yyval.ttype = 0; ;
3556: break;}
1.1.1.5 ! root 3557: case 120:
! 3558: #line 848 "cp-parse.y"
1.1 root 3559: { yyungetc (':', 1); yyval.ttype = 0; ;
3560: break;}
1.1.1.5 ! root 3561: case 121:
! 3562: #line 850 "cp-parse.y"
1.1 root 3563: { yyval.ttype = instantiate_class_template (yyvsp[0].ttype, 1); ;
3564: break;}
1.1.1.5 ! root 3565: case 122:
! 3566: #line 855 "cp-parse.y"
1.1 root 3567: { yyval.ttype = instantiate_class_template (yyvsp[0].ttype, 1); ;
3568: break;}
1.1.1.5 ! root 3569: case 123:
! 3570: #line 860 "cp-parse.y"
1.1 root 3571: { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
3572: break;}
1.1.1.5 ! root 3573: case 124:
! 3574: #line 862 "cp-parse.y"
1.1 root 3575: { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
3576: break;}
1.1.1.5 ! root 3577: case 125:
! 3578: #line 867 "cp-parse.y"
1.1 root 3579: { yyval.ttype = groktypename (yyval.ttype); ;
3580: break;}
1.1.1.5 ! root 3581: case 127:
! 3582: #line 873 "cp-parse.y"
1.1 root 3583: {
3584: tree t, decl, id, tmpl;
3585:
3586: id = TREE_VALUE (yyvsp[-1].ttype);
3587: tmpl = TREE_PURPOSE (IDENTIFIER_TEMPLATE (id));
3588: t = xref_tag (DECL_TEMPLATE_INFO (tmpl)->aggr, id, yyvsp[0].ttype);
3589: set_current_level_tags_transparency (1);
1.1.1.4 root 3590: my_friendly_assert (TREE_CODE (t) == RECORD_TYPE, 257);
1.1 root 3591: yyval.ttype = t;
3592:
3593: /* Now, put a copy of the decl in global scope, to avoid
3594: recursive expansion. */
3595: decl = IDENTIFIER_LOCAL_VALUE (id);
3596: if (!decl)
3597: decl = IDENTIFIER_CLASS_VALUE (id);
3598: /* Now, put a copy of the decl in global scope, to avoid
3599: recursive expansion. */
3600: if (decl)
3601: {
3602: /* Need to copy it to clear the chain pointer,
3603: and need to get it into permanent storage. */
1.1.1.4 root 3604: my_friendly_assert (TREE_CODE (decl) == TYPE_DECL, 258);
1.1 root 3605: push_obstacks (&permanent_obstack, &permanent_obstack);
3606: decl = copy_node (decl);
3607: if (DECL_LANG_SPECIFIC (decl))
3608: copy_lang_decl (decl);
3609: pop_obstacks ();
3610: pushdecl_top_level (decl);
3611: }
3612: ;
3613: break;}
1.1.1.5 ! root 3614: case 128:
! 3615: #line 904 "cp-parse.y"
1.1 root 3616: {
1.1.1.4 root 3617: int old_interface = interface_unknown;
1.1 root 3618:
1.1.1.4 root 3619: interface_unknown = 1;
1.1.1.5 ! root 3620: yyval.ttype = finish_struct (yyvsp[-3].ttype, yyvsp[-1].ttype, 0);
1.1 root 3621:
3622: pop_obstacks ();
3623: end_template_instantiation (yyvsp[-5].ttype, yyvsp[-3].ttype);
3624:
3625: /* Now go after the methods & class data. */
1.1.1.4 root 3626: old_interface = interface_unknown;
3627: interface_unknown = 1;
1.1 root 3628: instantiate_member_templates (yyvsp[-5].ttype);
1.1.1.4 root 3629: interface_unknown = old_interface;
3630: CLASSTYPE_GOT_SEMICOLON (yyval.ttype) = 1;
1.1 root 3631: ;
3632: break;}
1.1.1.5 ! root 3633: case 129:
! 3634: #line 924 "cp-parse.y"
1.1 root 3635: { yyval.ttype = NULL_TREE; ;
3636: break;}
1.1.1.5 ! root 3637: case 130:
! 3638: #line 926 "cp-parse.y"
1.1 root 3639: { yyval.ttype = yyvsp[0].ttype; ;
3640: break;}
1.1.1.5 ! root 3641: case 131:
! 3642: #line 931 "cp-parse.y"
1.1 root 3643: { yyval.ttype = NULL_TREE; /* never used from here... */;
3644: break;}
1.1.1.5 ! root 3645: case 132:
! 3646: #line 933 "cp-parse.y"
1.1 root 3647: { yyval.ttype = yyvsp[-1].ttype; /*???*/ ;
3648: break;}
1.1.1.5 ! root 3649: case 133:
! 3650: #line 937 "cp-parse.y"
1.1 root 3651: { yyval.code = NEGATE_EXPR; ;
3652: break;}
1.1.1.5 ! root 3653: case 134:
! 3654: #line 939 "cp-parse.y"
1.1 root 3655: { yyval.code = CONVERT_EXPR; ;
3656: break;}
1.1.1.5 ! root 3657: case 135:
! 3658: #line 941 "cp-parse.y"
1.1 root 3659: { yyval.code = PREINCREMENT_EXPR; ;
3660: break;}
1.1.1.5 ! root 3661: case 136:
! 3662: #line 943 "cp-parse.y"
1.1 root 3663: { yyval.code = PREDECREMENT_EXPR; ;
3664: break;}
1.1.1.5 ! root 3665: case 137:
! 3666: #line 945 "cp-parse.y"
1.1 root 3667: { yyval.code = TRUTH_NOT_EXPR; ;
3668: break;}
1.1.1.5 ! root 3669: case 138:
! 3670: #line 949 "cp-parse.y"
1.1 root 3671: { yyval.ttype = build_x_compound_expr (yyval.ttype); ;
3672: break;}
1.1.1.5 ! root 3673: case 140:
! 3674: #line 956 "cp-parse.y"
! 3675: { error ("ANSI C++ forbids an empty condition for `%s'",
! 3676: cond_stmt_keyword);
! 3677: yyval.ttype = integer_zero_node; ;
! 3678: break;}
! 3679: case 141:
! 3680: #line 960 "cp-parse.y"
! 3681: { yyval.ttype = yyvsp[-1].ttype; ;
! 3682: break;}
! 3683: case 142:
! 3684: #line 965 "cp-parse.y"
1.1 root 3685: { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
3686: break;}
1.1.1.5 ! root 3687: case 143:
! 3688: #line 967 "cp-parse.y"
1.1 root 3689: { chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
3690: break;}
1.1.1.5 ! root 3691: case 144:
! 3692: #line 969 "cp-parse.y"
1.1 root 3693: { chainon (yyval.ttype, build_tree_list (NULL_TREE, error_mark_node)); ;
3694: break;}
1.1.1.5 ! root 3695: case 145:
! 3696: #line 974 "cp-parse.y"
1.1 root 3697: {
3698: if (TREE_CODE (yyval.ttype) == TYPE_EXPR)
3699: yyval.ttype = build_component_type_expr (C_C_D, yyval.ttype, NULL_TREE, 1);
3700: ;
3701: break;}
1.1.1.5 ! root 3702: case 146:
! 3703: #line 980 "cp-parse.y"
1.1.1.2 root 3704: { yyvsp[0].itype = pedantic;
3705: pedantic = 0; ;
3706: break;}
1.1.1.5 ! root 3707: case 147:
! 3708: #line 983 "cp-parse.y"
1.1.1.2 root 3709: { yyval.ttype = yyvsp[0].ttype;
3710: pedantic = yyvsp[-2].itype; ;
3711: break;}
1.1.1.5 ! root 3712: case 148:
! 3713: #line 986 "cp-parse.y"
1.1 root 3714: { yyval.ttype = build_x_indirect_ref (yyvsp[0].ttype, "unary *"); ;
3715: break;}
1.1.1.5 ! root 3716: case 149:
! 3717: #line 988 "cp-parse.y"
1.1 root 3718: { yyval.ttype = build_x_unary_op (ADDR_EXPR, yyvsp[0].ttype); ;
3719: break;}
1.1.1.5 ! root 3720: case 150:
! 3721: #line 990 "cp-parse.y"
1.1 root 3722: { yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, yyvsp[0].ttype); ;
3723: break;}
1.1.1.5 ! root 3724: case 151:
! 3725: #line 992 "cp-parse.y"
! 3726: { yyval.ttype = build_x_unary_op ((enum tree_code) yyval.ttype, yyvsp[0].ttype);
1.1 root 3727: if (yyvsp[-1].code == NEGATE_EXPR && TREE_CODE (yyvsp[0].ttype) == INTEGER_CST)
3728: TREE_NEGATED_INT (yyval.ttype) = 1;
3729: ;
3730: break;}
1.1.1.5 ! root 3731: case 152:
! 3732: #line 998 "cp-parse.y"
1.1.1.4 root 3733: { tree label = lookup_label (yyvsp[0].ttype);
3734: TREE_USED (label) = 1;
3735: yyval.ttype = build1 (ADDR_EXPR, ptr_type_node, label);
3736: TREE_CONSTANT (yyval.ttype) = 1; ;
3737: break;}
1.1.1.5 ! root 3738: case 153:
! 3739: #line 1003 "cp-parse.y"
1.1 root 3740: { if (TREE_CODE (yyvsp[0].ttype) == COMPONENT_REF
3741: && DECL_BIT_FIELD (TREE_OPERAND (yyvsp[0].ttype, 1)))
3742: error ("sizeof applied to a bit-field");
3743: /* ANSI says arrays and functions are converted inside comma.
3744: But we can't really convert them in build_compound_expr
3745: because that would break commas in lvalues.
3746: So do the conversion here if operand was a comma. */
3747: if (TREE_CODE (yyvsp[0].ttype) == COMPOUND_EXPR
3748: && (TREE_CODE (TREE_TYPE (yyvsp[0].ttype)) == ARRAY_TYPE
3749: || TREE_CODE (TREE_TYPE (yyvsp[0].ttype)) == FUNCTION_TYPE))
3750: yyvsp[0].ttype = default_conversion (yyvsp[0].ttype);
1.1.1.5 ! root 3751: else if (TREE_CODE (yyvsp[0].ttype) == TREE_LIST)
! 3752: {
! 3753: tree t = TREE_VALUE (yyvsp[0].ttype);
! 3754: if (t != NULL_TREE
! 3755: && TREE_CODE (TREE_TYPE (t)) == FUNCTION_TYPE)
! 3756: pedwarn ("ANSI C++ forbids using sizeof() on a function");
! 3757: }
1.1 root 3758: yyval.ttype = c_sizeof (TREE_TYPE (yyvsp[0].ttype)); ;
3759: break;}
1.1.1.5 ! root 3760: case 154:
! 3761: #line 1023 "cp-parse.y"
1.1 root 3762: { yyval.ttype = c_sizeof (groktypename (yyvsp[-1].ttype)); ;
3763: break;}
1.1.1.5 ! root 3764: case 155:
! 3765: #line 1025 "cp-parse.y"
1.1 root 3766: { if (TREE_CODE (yyvsp[0].ttype) == COMPONENT_REF
3767: && DECL_BIT_FIELD (TREE_OPERAND (yyvsp[0].ttype, 1)))
3768: error ("`__alignof' applied to a bit-field");
3769: if (TREE_CODE (yyvsp[0].ttype) == INDIRECT_REF)
3770: {
3771: tree t = TREE_OPERAND (yyvsp[0].ttype, 0);
3772: tree best = t;
3773: int bestalign = TYPE_ALIGN (TREE_TYPE (TREE_TYPE (t)));
3774: while (TREE_CODE (t) == NOP_EXPR
3775: && TREE_CODE (TREE_TYPE (TREE_OPERAND (t, 0))) == POINTER_TYPE)
3776: {
3777: int thisalign;
3778: t = TREE_OPERAND (t, 0);
3779: thisalign = TYPE_ALIGN (TREE_TYPE (TREE_TYPE (t)));
3780: if (thisalign > bestalign)
3781: best = t, bestalign = thisalign;
3782: }
3783: yyval.ttype = c_alignof (TREE_TYPE (TREE_TYPE (best)));
3784: }
3785: else
3786: {
3787: /* ANSI says arrays and fns are converted inside comma.
3788: But we can't convert them in build_compound_expr
3789: because that would break commas in lvalues.
3790: So do the conversion here if operand was a comma. */
3791: if (TREE_CODE (yyvsp[0].ttype) == COMPOUND_EXPR
3792: && (TREE_CODE (TREE_TYPE (yyvsp[0].ttype)) == ARRAY_TYPE
3793: || TREE_CODE (TREE_TYPE (yyvsp[0].ttype)) == FUNCTION_TYPE))
3794: yyvsp[0].ttype = default_conversion (yyvsp[0].ttype);
3795: yyval.ttype = c_alignof (TREE_TYPE (yyvsp[0].ttype));
3796: }
3797: ;
3798: break;}
1.1.1.4 root 3799: case 156:
1.1.1.5 ! root 3800: #line 1058 "cp-parse.y"
! 3801: { yyval.ttype = c_alignof (groktypename (yyvsp[-1].ttype)); ;
1.1.1.4 root 3802: break;}
3803: case 157:
1.1.1.5 ! root 3804: #line 1061 "cp-parse.y"
! 3805: { yyval.ttype = build_new (yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE, yyval.ttype != NULL_TREE); ;
1.1 root 3806: break;}
1.1.1.4 root 3807: case 158:
1.1.1.5 ! root 3808: #line 1063 "cp-parse.y"
! 3809: { yyval.ttype = build_new (yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE, yyval.ttype != NULL_TREE); ;
1.1.1.4 root 3810: break;}
3811: case 159:
1.1.1.5 ! root 3812: #line 1065 "cp-parse.y"
! 3813: { yyval.ttype = build_new (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyval.ttype != NULL_TREE); ;
1.1 root 3814: break;}
1.1.1.4 root 3815: case 160:
1.1.1.5 ! root 3816: #line 1067 "cp-parse.y"
! 3817: { yyval.ttype = build_new (yyvsp[-5].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyval.ttype != NULL_TREE); ;
1.1.1.4 root 3818: break;}
1.1.1.2 root 3819: case 161:
1.1.1.5 ! root 3820: #line 1069 "cp-parse.y"
! 3821: { yyval.ttype = build_new (yyvsp[-2].ttype, yyvsp[-1].ttype, NULL_TREE, yyval.ttype != NULL_TREE); ;
! 3822: break;}
! 3823: case 162:
! 3824: #line 1071 "cp-parse.y"
! 3825: { yyval.ttype = build_new (yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE, yyval.ttype != NULL_TREE); ;
! 3826: break;}
! 3827: case 163:
! 3828: #line 1073 "cp-parse.y"
! 3829: { yyval.ttype = build_new (yyvsp[-3].ttype, yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype != NULL_TREE); ;
! 3830: break;}
! 3831: case 164:
! 3832: #line 1075 "cp-parse.y"
! 3833: { yyval.ttype = build_new (yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype != NULL_TREE); ;
! 3834: break;}
! 3835: case 165:
! 3836: #line 1083 "cp-parse.y"
1.1 root 3837: {
3838: tree absdcl, typename;
3839:
3840: illegal_new_array:
3841: absdcl = build_parse_node (ARRAY_REF, yyvsp[-4].ttype, yyvsp[-1].ttype);
3842: typename = build_decl_list (yyvsp[-5].ttype, absdcl);
1.1.1.4 root 3843: pedwarn ("ANSI C++ forbids array dimensions with parenthesized type");
1.1.1.5 ! root 3844: yyval.ttype = build_new (yyvsp[-7].ttype, typename, NULL_TREE, yyval.ttype != NULL_TREE);
1.1 root 3845: ;
3846: break;}
1.1.1.5 ! root 3847: case 166:
! 3848: #line 1093 "cp-parse.y"
1.1 root 3849: { goto illegal_new_array; ;
3850: break;}
1.1.1.5 ! root 3851: case 167:
! 3852: #line 1096 "cp-parse.y"
! 3853: { yyval.ttype = build_new (yyvsp[-4].ttype, build_decl_list (yyvsp[-2].ttype, yyvsp[-1].ttype), NULL_TREE, yyval.ttype != NULL_TREE); ;
1.1 root 3854: break;}
1.1.1.5 ! root 3855: case 168:
! 3856: #line 1098 "cp-parse.y"
! 3857: { yyval.ttype = build_new (yyvsp[-5].ttype, build_decl_list (yyvsp[-2].ttype, yyvsp[-1].ttype), NULL_TREE, yyval.ttype != NULL_TREE); ;
1.1 root 3858: break;}
1.1.1.5 ! root 3859: case 169:
! 3860: #line 1100 "cp-parse.y"
! 3861: { yyval.ttype = build_new (yyvsp[-4].ttype, build_decl_list (yyvsp[-2].ttype, yyvsp[-1].ttype), NULL_TREE, yyval.ttype != NULL_TREE); ;
1.1 root 3862: break;}
1.1.1.5 ! root 3863: case 170:
! 3864: #line 1102 "cp-parse.y"
! 3865: { yyval.ttype = build_new (yyvsp[-5].ttype, build_decl_list (yyvsp[-2].ttype, yyvsp[-1].ttype), NULL_TREE, yyval.ttype != NULL_TREE); ;
1.1.1.4 root 3866: break;}
1.1.1.5 ! root 3867: case 171:
! 3868: #line 1105 "cp-parse.y"
! 3869: { yyungetc (':', 1); yyval.ttype = build_new (yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE, yyval.ttype != NULL_TREE); ;
1.1.1.4 root 3870: break;}
1.1.1.5 ! root 3871: case 172:
! 3872: #line 1107 "cp-parse.y"
! 3873: { yyungetc (':', 1); yyval.ttype = build_new (yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE, yyval.ttype != NULL_TREE); ;
1.1.1.4 root 3874: break;}
1.1.1.5 ! root 3875: case 173:
! 3876: #line 1110 "cp-parse.y"
1.1 root 3877: { tree expr = stabilize_reference (convert_from_reference (yyvsp[0].ttype));
3878: tree type = TREE_TYPE (expr);
3879:
1.1.1.4 root 3880: if (TREE_CODE (type) != POINTER_TYPE)
1.1 root 3881: {
3882: error ("non-pointer type to `delete'");
3883: yyval.ttype = error_mark_node;
3884: break;
3885: }
1.1.1.4 root 3886: else if (integer_zerop (expr))
3887: {
3888: /* ANSI C++ June 5 1992 WP 5.3.4. Deleting a pointer
3889: with the value zero is legal and has no effect. */
3890: yyval.ttype = build1 (NOP_EXPR, void_type_node, expr);
3891: break;
3892: }
3893: else if (TREE_READONLY (TREE_TYPE (type)))
3894: {
3895: error ("`const *' cannot be deleted");
3896: yyval.ttype = error_mark_node;
3897: break;
3898: }
1.1 root 3899: yyval.ttype = build_delete (type, expr, integer_three_node,
3900: LOOKUP_NORMAL|LOOKUP_HAS_IN_CHARGE,
1.1.1.4 root 3901: TYPE_HAS_DESTRUCTOR (TREE_TYPE (type)),
3902: 0);
1.1 root 3903: ;
3904: break;}
1.1.1.5 ! root 3905: case 174:
! 3906: #line 1138 "cp-parse.y"
1.1 root 3907: {
3908: tree exp = stabilize_reference (convert_from_reference (yyvsp[0].ttype));
1.1.1.4 root 3909: tree type = TREE_TYPE (exp);
3910: tree elt_size = c_sizeof (type);
1.1 root 3911:
3912: if (yychar == YYEMPTY)
3913: yychar = YYLEX;
3914:
1.1.1.4 root 3915: if (TREE_CODE (type) == POINTER_TYPE
3916: && TREE_READONLY (TREE_TYPE (type)))
3917: {
3918: error ("`const *' cannot be deleted");
3919: yyval.ttype = error_mark_node;
3920: break;
3921: }
1.1 root 3922: yyval.ttype = build_vec_delete (exp, NULL_TREE, elt_size, NULL_TREE,
3923: integer_one_node, integer_two_node);
3924: ;
3925: break;}
1.1.1.5 ! root 3926: case 175:
! 3927: #line 1157 "cp-parse.y"
1.1 root 3928: {
3929: tree maxindex = build_binary_op (MINUS_EXPR, yyvsp[-2].ttype,
1.1.1.5 ! root 3930: integer_one_node, 1);
1.1 root 3931: tree exp = stabilize_reference (convert_from_reference (yyvsp[0].ttype));
1.1.1.4 root 3932: tree type = TREE_TYPE (exp);
3933: tree elt_size = c_sizeof (type);
1.1 root 3934:
3935: if (yychar == YYEMPTY)
3936: yychar = YYLEX;
3937:
1.1.1.4 root 3938: if (! flag_traditional)
3939: pedwarn ("ANSI C++ forbids array size in vector delete");
3940: if (TREE_CODE (type) == POINTER_TYPE
3941: && TREE_READONLY (TREE_TYPE (type)))
3942: {
3943: error ("`const *' cannot be deleted");
3944: yyval.ttype = error_mark_node;
3945: break;
3946: }
1.1 root 3947: yyval.ttype = build_vec_delete (exp, maxindex, elt_size, NULL_TREE,
3948: integer_one_node, integer_two_node);
3949: ;
3950: break;}
1.1.1.5 ! root 3951: case 177:
! 3952: #line 1184 "cp-parse.y"
1.1 root 3953: { tree type = groktypename (yyvsp[-2].ttype);
3954: yyval.ttype = build_c_cast (type, yyvsp[0].ttype); ;
3955: break;}
1.1.1.5 ! root 3956: case 178:
! 3957: #line 1187 "cp-parse.y"
1.1 root 3958: { tree type = groktypename (yyvsp[-5].ttype);
3959: tree init = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-2].ttype));
3960: if (pedantic)
1.1.1.4 root 3961: pedwarn ("ANSI C++ forbids constructor-expressions");
1.1 root 3962: /* Indicate that this was a GNU C constructor expression. */
3963: TREE_HAS_CONSTRUCTOR (init) = 1;
1.1.1.5 ! root 3964: yyval.ttype = digest_init (type, init, (tree *) 0);
1.1 root 3965: if (TREE_CODE (type) == ARRAY_TYPE && TYPE_SIZE (type) == 0)
3966: {
3967: int failure = complete_array_type (type, yyval.ttype, 1);
3968: if (failure)
1.1.1.3 root 3969: my_friendly_abort (78);
1.1 root 3970: }
3971: ;
3972: break;}
1.1.1.5 ! root 3973: case 179:
! 3974: #line 1202 "cp-parse.y"
1.1 root 3975: { yyval.ttype = build_headof (yyvsp[-1].ttype); ;
3976: break;}
1.1.1.5 ! root 3977: case 180:
! 3978: #line 1204 "cp-parse.y"
1.1 root 3979: { yyval.ttype = build_classof (yyvsp[-1].ttype); ;
3980: break;}
1.1.1.5 ! root 3981: case 181:
! 3982: #line 1206 "cp-parse.y"
1.1 root 3983: { if (is_aggr_typedef (yyvsp[-1].ttype, 1))
3984: {
3985: tree type = IDENTIFIER_TYPE_VALUE (yyvsp[-1].ttype);
3986: yyval.ttype = CLASSTYPE_DOSSIER (type);
3987: }
3988: else
3989: yyval.ttype = error_mark_node;
3990: ;
3991: break;}
1.1.1.2 root 3992: case 183:
1.1.1.5 ! root 3993: #line 1219 "cp-parse.y"
1.1 root 3994: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
3995: break;}
1.1.1.2 root 3996: case 184:
1.1.1.5 ! root 3997: #line 1221 "cp-parse.y"
1.1.1.4 root 3998: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
1.1 root 3999: break;}
1.1.1.2 root 4000: case 185:
1.1.1.5 ! root 4001: #line 1223 "cp-parse.y"
1.1.1.4 root 4002: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
1.1 root 4003: break;}
1.1.1.2 root 4004: case 186:
1.1.1.5 ! root 4005: #line 1225 "cp-parse.y"
1.1 root 4006: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4007: break;}
1.1.1.2 root 4008: case 187:
1.1.1.5 ! root 4009: #line 1227 "cp-parse.y"
! 4010: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
1.1 root 4011: break;}
1.1.1.2 root 4012: case 188:
1.1.1.5 ! root 4013: #line 1229 "cp-parse.y"
! 4014: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
1.1 root 4015: break;}
1.1.1.2 root 4016: case 189:
1.1.1.5 ! root 4017: #line 1231 "cp-parse.y"
1.1 root 4018: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4019: break;}
1.1.1.2 root 4020: case 190:
1.1.1.5 ! root 4021: #line 1233 "cp-parse.y"
1.1 root 4022: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4023: break;}
1.1.1.2 root 4024: case 191:
1.1.1.5 ! root 4025: #line 1235 "cp-parse.y"
! 4026: { yyval.ttype = build_x_binary_op (LT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
1.1 root 4027: break;}
1.1.1.2 root 4028: case 192:
1.1.1.5 ! root 4029: #line 1237 "cp-parse.y"
! 4030: { yyval.ttype = build_x_binary_op (GT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
1.1 root 4031: break;}
1.1.1.2 root 4032: case 193:
1.1.1.5 ! root 4033: #line 1239 "cp-parse.y"
1.1.1.4 root 4034: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
1.1 root 4035: break;}
1.1.1.2 root 4036: case 194:
1.1.1.5 ! root 4037: #line 1241 "cp-parse.y"
! 4038: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
1.1 root 4039: break;}
1.1.1.2 root 4040: case 195:
1.1.1.5 ! root 4041: #line 1243 "cp-parse.y"
! 4042: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
1.1.1.4 root 4043: break;}
4044: case 196:
1.1.1.5 ! root 4045: #line 1245 "cp-parse.y"
! 4046: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
1.1.1.4 root 4047: break;}
4048: case 197:
1.1.1.5 ! root 4049: #line 1247 "cp-parse.y"
! 4050: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
1.1.1.4 root 4051: break;}
4052: case 198:
1.1.1.5 ! root 4053: #line 1249 "cp-parse.y"
! 4054: { yyval.ttype = build_x_binary_op (TRUTH_ANDIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
! 4055: break;}
! 4056: case 199:
! 4057: #line 1251 "cp-parse.y"
! 4058: { yyval.ttype = build_x_binary_op (TRUTH_ORIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
! 4059: break;}
! 4060: case 200:
! 4061: #line 1253 "cp-parse.y"
! 4062: { yyval.ttype = build_x_conditional_expr (yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
! 4063: break;}
! 4064: case 201:
! 4065: #line 1255 "cp-parse.y"
! 4066: { yyval.ttype = build_modify_expr (yyval.ttype, NOP_EXPR, yyvsp[0].ttype); ;
! 4067: break;}
! 4068: case 202:
! 4069: #line 1257 "cp-parse.y"
1.1 root 4070: { register tree rval;
1.1.1.4 root 4071: if (rval = build_opfncall (MODIFY_EXPR, LOOKUP_NORMAL, yyval.ttype, yyvsp[0].ttype,
1.1.1.5 ! root 4072: make_node (yyvsp[-1].code)))
1.1 root 4073: yyval.ttype = rval;
4074: else
4075: yyval.ttype = build_modify_expr (yyval.ttype, yyvsp[-1].code, yyvsp[0].ttype); ;
4076: break;}
1.1.1.5 ! root 4077: case 203:
! 4078: #line 1264 "cp-parse.y"
1.1 root 4079: { yyval.ttype = build_m_component_ref (yyval.ttype, build_indirect_ref (yyvsp[0].ttype, 0)); ;
4080: break;}
1.1.1.5 ! root 4081: case 204:
! 4082: #line 1267 "cp-parse.y"
1.1 root 4083: { yyval.ttype = build_x_binary_op (MEMBER_REF, yyval.ttype, yyvsp[0].ttype); ;
4084: break;}
1.1.1.5 ! root 4085: case 205:
! 4086: #line 1283 "cp-parse.y"
1.1 root 4087: { yyval.ttype = do_identifier (yyval.ttype); ;
4088: break;}
1.1.1.5 ! root 4089: case 206:
! 4090: #line 1285 "cp-parse.y"
1.1 root 4091: {
4092: tree op = yyval.ttype;
4093: if (TREE_CODE (op) != IDENTIFIER_NODE)
4094: yyval.ttype = op;
4095: else
4096: {
1.1.1.4 root 4097: yyval.ttype = lookup_name (op, 0);
1.1 root 4098: if (yyval.ttype == NULL_TREE)
4099: {
4100: error ("operator %s not defined", operator_name_string (op));
4101: yyval.ttype = error_mark_node;
4102: }
4103: }
4104: ;
4105: break;}
1.1.1.5 ! root 4106: case 208:
! 4107: #line 1301 "cp-parse.y"
1.1 root 4108: { yyval.ttype = combine_strings (yyval.ttype); ;
4109: break;}
1.1.1.5 ! root 4110: case 209:
! 4111: #line 1303 "cp-parse.y"
1.1 root 4112: { yyval.ttype = yyvsp[-1].ttype; ;
4113: break;}
1.1.1.5 ! root 4114: case 210:
! 4115: #line 1305 "cp-parse.y"
1.1 root 4116: { yyval.ttype = error_mark_node; ;
4117: break;}
1.1.1.5 ! root 4118: case 211:
! 4119: #line 1307 "cp-parse.y"
1.1 root 4120: { if (current_function_decl == 0)
4121: {
4122: error ("braced-group within expression allowed only inside a function");
4123: YYERROR;
4124: }
4125: keep_next_level ();
4126: yyval.ttype = expand_start_stmt_expr (); ;
4127: break;}
1.1.1.5 ! root 4128: case 212:
! 4129: #line 1315 "cp-parse.y"
1.1 root 4130: { tree rtl_exp;
4131: if (pedantic)
1.1.1.4 root 4132: pedwarn ("ANSI C++ forbids braced-groups within expressions");
1.1 root 4133: rtl_exp = expand_end_stmt_expr (yyvsp[-2].ttype);
4134: /* The statements have side effects, so the group does. */
4135: TREE_SIDE_EFFECTS (rtl_exp) = 1;
4136: /* Make a BIND_EXPR for the BLOCK already made. */
4137: yyval.ttype = build (BIND_EXPR, TREE_TYPE (rtl_exp),
4138: NULL_TREE, rtl_exp, yyvsp[-1].ttype);
1.1.1.4 root 4139: /* Remove the block from the tree at this point.
4140: It gets put back at the proper place
4141: when the BIND_EXPR is expanded. */
4142: delete_block (yyvsp[-1].ttype);
1.1 root 4143: ;
4144: break;}
1.1.1.5 ! root 4145: case 213:
! 4146: #line 1330 "cp-parse.y"
1.1 root 4147: { /* [eichin:19911016.1902EST] */
4148: yyval.ttype = build_x_function_call (yyvsp[-3].ttype, yyvsp[-1].ttype, current_class_decl);
4149: /* here we instantiate_class_template as needed... */
1.1.1.4 root 4150: do_pending_templates ();
1.1 root 4151: ;
4152: break;}
1.1.1.5 ! root 4153: case 214:
! 4154: #line 1334 "cp-parse.y"
1.1 root 4155: {
4156: if (TREE_CODE (yyvsp[-1].ttype) == CALL_EXPR
4157: && TREE_TYPE (yyvsp[-1].ttype) != void_type_node)
4158: yyval.ttype = require_complete_type (yyvsp[-1].ttype);
4159: else
4160: yyval.ttype = yyvsp[-1].ttype;
4161: ;
4162: break;}
1.1.1.5 ! root 4163: case 215:
! 4164: #line 1342 "cp-parse.y"
! 4165: {
! 4166: if (yyval.ttype != error_mark_node)
! 4167: {
! 4168: yyval.ttype = build_x_function_call (yyval.ttype, NULL_TREE, current_class_decl);
! 4169: if (TREE_CODE (yyval.ttype) == CALL_EXPR
! 4170: && TREE_TYPE (yyval.ttype) != void_type_node)
! 4171: yyval.ttype = require_complete_type (yyval.ttype);
! 4172: }
1.1 root 4173: ;
4174: break;}
1.1.1.5 ! root 4175: case 216:
! 4176: #line 1352 "cp-parse.y"
1.1 root 4177: {
4178: do_array:
4179: {
4180: tree array_expr = yyval.ttype;
4181: tree index_exp = yyvsp[-1].ttype;
4182: tree type = TREE_TYPE (array_expr);
4183: if (type == error_mark_node || index_exp == error_mark_node)
4184: yyval.ttype = error_mark_node;
4185: else if (type == NULL_TREE)
4186: {
4187: /* Something has gone very wrong. Assume we
4188: are mistakenly reducing an expression
4189: instead of a declaration. */
4190: error ("parser may be lost: is there a '{' missing somewhere?");
4191: yyval.ttype = NULL_TREE;
4192: }
4193: else
4194: {
4195: if (TREE_CODE (type) == OFFSET_TYPE)
4196: type = TREE_TYPE (type);
4197: if (TREE_CODE (type) == REFERENCE_TYPE)
4198: type = TREE_TYPE (type);
4199:
4200: if (TYPE_LANG_SPECIFIC (type)
4201: && TYPE_OVERLOADS_ARRAY_REF (type))
1.1.1.5 ! root 4202: yyval.ttype = build_opfncall (ARRAY_REF, LOOKUP_NORMAL, array_expr, index_exp, NULL_TREE);
1.1 root 4203: else if (TREE_CODE (type) == POINTER_TYPE
4204: || TREE_CODE (type) == ARRAY_TYPE)
4205: yyval.ttype = build_array_ref (array_expr, index_exp);
4206: else
4207: {
4208: type = TREE_TYPE (index_exp);
4209: if (TREE_CODE (type) == OFFSET_TYPE)
4210: type = TREE_TYPE (type);
4211: if (TREE_CODE (type) == REFERENCE_TYPE)
4212: type = TREE_TYPE (type);
4213:
4214: if (TYPE_LANG_SPECIFIC (type)
4215: && TYPE_OVERLOADS_ARRAY_REF (type))
4216: error ("array expression backwards");
4217: else if (TREE_CODE (type) == POINTER_TYPE
4218: || TREE_CODE (type) == ARRAY_TYPE)
4219: yyval.ttype = build_array_ref (index_exp, array_expr);
4220: else
4221: error("[] applied to non-pointer type");
4222: }
4223: }
4224: }
4225: ;
4226: break;}
1.1.1.5 ! root 4227: case 217:
! 4228: #line 1402 "cp-parse.y"
1.1 root 4229: { yyval.ttype = build_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1); ;
4230: break;}
1.1.1.5 ! root 4231: case 218:
! 4232: #line 1404 "cp-parse.y"
1.1 root 4233: {
4234: tree basetype = yyvsp[-1].ttype;
4235: if (is_aggr_typedef (basetype, 1))
4236: {
4237: basetype = IDENTIFIER_TYPE_VALUE (basetype);
4238:
4239: if (yyval.ttype == error_mark_node)
4240: ;
4241: else if (binfo_or_else (basetype, TREE_TYPE (yyval.ttype)))
4242: yyval.ttype = build_component_ref (build_scoped_ref (yyval.ttype, yyvsp[-1].ttype), yyvsp[0].ttype, NULL_TREE, 1);
4243: else
4244: yyval.ttype = error_mark_node;
4245: }
4246: else yyval.ttype = error_mark_node;
4247: ;
4248: break;}
1.1.1.5 ! root 4249: case 219:
! 4250: #line 1420 "cp-parse.y"
1.1 root 4251: { yyval.ttype = build_x_unary_op (POSTINCREMENT_EXPR, yyval.ttype); ;
4252: break;}
1.1.1.5 ! root 4253: case 220:
! 4254: #line 1422 "cp-parse.y"
1.1 root 4255: { yyval.ttype = build_x_unary_op (POSTDECREMENT_EXPR, yyval.ttype); ;
4256: break;}
1.1.1.5 ! root 4257: case 221:
! 4258: #line 1426 "cp-parse.y"
1.1 root 4259: { if (current_class_decl)
4260: {
4261: #ifdef WARNING_ABOUT_CCD
4262: TREE_USED (current_class_decl) = 1;
4263: #endif
4264: yyval.ttype = current_class_decl;
4265: }
4266: else if (current_function_decl
4267: && DECL_STATIC_FUNCTION_P (current_function_decl))
4268: {
4269: error ("`this' is unavailable for static member functions");
4270: yyval.ttype = error_mark_node;
4271: }
4272: else
4273: {
4274: if (current_function_decl)
4275: error ("invalid use of `this' in non-member function");
4276: else
4277: error ("invalid use of `this' at top level");
4278: yyval.ttype = error_mark_node;
4279: }
4280: ;
4281: break;}
1.1.1.5 ! root 4282: case 222:
! 4283: #line 1449 "cp-parse.y"
1.1 root 4284: {
4285: tree type;
4286: tree id = yyval.ttype;
4287:
4288: /* This is a C cast in C++'s `functional' notation. */
4289: if (yyvsp[-1].ttype == error_mark_node)
4290: {
4291: yyval.ttype = error_mark_node;
4292: break;
4293: }
4294: #if 0
4295: if (yyvsp[-1].ttype == NULL_TREE)
4296: {
4297: error ("cannot cast null list to type `%s'",
4298: IDENTIFIER_POINTER (TYPE_NAME (id)));
4299: yyval.ttype = error_mark_node;
4300: break;
4301: }
4302: #endif
1.1.1.4 root 4303: #if 0
4304: /* type is not set! (mrs) */
1.1 root 4305: if (type == error_mark_node)
4306: yyval.ttype = error_mark_node;
4307: else
1.1.1.4 root 4308: #endif
1.1 root 4309: {
4310: if (id == ridpointers[(int) RID_CONST])
4311: type = build_type_variant (integer_type_node, 1, 0);
4312: else if (id == ridpointers[(int) RID_VOLATILE])
4313: type = build_type_variant (integer_type_node, 0, 1);
1.1.1.4 root 4314: #if 0
4315: /* should not be able to get here (mrs) */
1.1 root 4316: else if (id == ridpointers[(int) RID_FRIEND])
4317: {
4318: error ("cannot cast expression to `friend' type");
4319: yyval.ttype = error_mark_node;
4320: break;
4321: }
1.1.1.4 root 4322: #endif
1.1.1.3 root 4323: else my_friendly_abort (79);
1.1 root 4324: yyval.ttype = build_c_cast (type, build_compound_expr (yyvsp[-1].ttype));
4325: }
4326: ;
4327: break;}
1.1.1.5 ! root 4328: case 223:
! 4329: #line 1493 "cp-parse.y"
1.1 root 4330: { yyval.ttype = build_functional_cast (yyval.ttype, yyvsp[-1].ttype); ;
4331: break;}
1.1.1.5 ! root 4332: case 224:
! 4333: #line 1495 "cp-parse.y"
1.1 root 4334: { yyval.ttype = build_functional_cast (yyval.ttype, NULL_TREE); ;
4335: break;}
1.1.1.5 ! root 4336: case 225:
! 4337: #line 1497 "cp-parse.y"
1.1.1.4 root 4338: { yyval.ttype = build_functional_cast (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
4339: break;}
1.1.1.5 ! root 4340: case 226:
! 4341: #line 1499 "cp-parse.y"
1.1.1.4 root 4342: { yyval.ttype = build_functional_cast (yyvsp[-1].ttype, NULL_TREE); ;
4343: break;}
1.1.1.5 ! root 4344: case 227:
! 4345: #line 1501 "cp-parse.y"
1.1 root 4346: {
4347: do_scoped_id:
4348: yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype);
4349: if (yychar == YYEMPTY)
4350: yychar = YYLEX;
4351: if (! yyval.ttype)
4352: {
4353: if (yychar == '(' || yychar == LEFT_RIGHT)
4354: yyval.ttype = implicitly_declare (yyvsp[0].ttype);
4355: else
4356: {
4357: if (IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype) != error_mark_node)
4358: error ("undeclared variable `%s' (first use here)",
4359: IDENTIFIER_POINTER (yyvsp[0].ttype));
4360: yyval.ttype = error_mark_node;
4361: /* Prevent repeated error messages. */
4362: IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype) = error_mark_node;
4363: }
4364: }
4365: else
4366: {
1.1.1.5 ! root 4367: if (TREE_CODE (yyval.ttype) == ADDR_EXPR)
! 4368: assemble_external (TREE_OPERAND (yyval.ttype, 0));
! 4369: else
! 4370: assemble_external (yyval.ttype);
1.1 root 4371: TREE_USED (yyval.ttype) = 1;
4372: }
4373: if (TREE_CODE (yyval.ttype) == CONST_DECL)
1.1.1.4 root 4374: {
4375: /* XXX CHS - should we set TREE_USED of the constant? */
4376: yyval.ttype = DECL_INITIAL (yyval.ttype);
4377: /* This is to prevent an enum whose value is 0
4378: from being considered a null pointer constant. */
4379: yyval.ttype = build1 (NOP_EXPR, TREE_TYPE (yyval.ttype), yyval.ttype);
4380: TREE_CONSTANT (yyval.ttype) = 1;
4381: }
4382:
1.1 root 4383: ;
4384: break;}
1.1.1.5 ! root 4385: case 228:
! 4386: #line 1540 "cp-parse.y"
1.1 root 4387: {
4388: if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
4389: goto do_scoped_id;
4390: do_scoped_operator:
4391: yyval.ttype = yyvsp[0].ttype;
4392: ;
4393: break;}
1.1.1.5 ! root 4394: case 229:
! 4395: #line 1547 "cp-parse.y"
1.1 root 4396: { yyval.ttype = build_offset_ref (yyval.ttype, yyvsp[0].ttype); ;
4397: break;}
1.1.1.5 ! root 4398: case 230:
! 4399: #line 1549 "cp-parse.y"
1.1 root 4400: { yyval.ttype = build_member_call (yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
4401: break;}
1.1.1.5 ! root 4402: case 231:
! 4403: #line 1551 "cp-parse.y"
1.1 root 4404: { yyval.ttype = build_member_call (yyval.ttype, yyvsp[-1].ttype, NULL_TREE); ;
4405: break;}
1.1.1.5 ! root 4406: case 232:
! 4407: #line 1553 "cp-parse.y"
1.1 root 4408: { yyval.ttype = build_method_call (yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE,
4409: (LOOKUP_NORMAL|LOOKUP_AGGR)); ;
4410: break;}
1.1.1.5 ! root 4411: case 233:
! 4412: #line 1556 "cp-parse.y"
1.1 root 4413: { yyval.ttype = build_method_call (yyval.ttype, yyvsp[-1].ttype, NULL_TREE, NULL_TREE,
4414: (LOOKUP_NORMAL|LOOKUP_AGGR)); ;
4415: break;}
1.1.1.5 ! root 4416: case 234:
! 4417: #line 1559 "cp-parse.y"
1.1 root 4418: { yyval.ttype = build_scoped_method_call (yyval.ttype, yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
4419: break;}
1.1.1.5 ! root 4420: case 235:
! 4421: #line 1561 "cp-parse.y"
1.1 root 4422: { yyval.ttype = build_scoped_method_call (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, NULL_TREE); ;
4423: break;}
1.1.1.5 ! root 4424: case 236:
! 4425: #line 1603 "cp-parse.y"
1.1 root 4426: { yyval.ttype = NULL_TREE; ;
4427: break;}
1.1.1.5 ! root 4428: case 237:
! 4429: #line 1605 "cp-parse.y"
1.1.1.4 root 4430: {
4431: yyval.ttype = yyvsp[-1].ttype;
4432: pedwarn ("old style placement syntax, use () instead");
4433: ;
1.1 root 4434: break;}
1.1.1.5 ! root 4435: case 238:
! 4436: #line 1610 "cp-parse.y"
1.1 root 4437: { yyval.ttype = void_type_node; ;
4438: break;}
1.1.1.5 ! root 4439: case 239:
! 4440: #line 1612 "cp-parse.y"
1.1 root 4441: { yyval.ttype = combine_strings (yyvsp[-1].ttype); ;
4442: break;}
1.1.1.5 ! root 4443: case 240:
! 4444: #line 1617 "cp-parse.y"
1.1 root 4445: { yyval.itype = 0; ;
4446: break;}
1.1.1.5 ! root 4447: case 241:
! 4448: #line 1619 "cp-parse.y"
1.1 root 4449: { yyval.itype = 1; ;
4450: break;}
1.1.1.5 ! root 4451: case 242:
! 4452: #line 1623 "cp-parse.y"
1.1 root 4453: { yyval.ttype = NULL_TREE; ;
4454: break;}
1.1.1.5 ! root 4455: case 243:
! 4456: #line 1625 "cp-parse.y"
1.1 root 4457: { if (yyvsp[0].ttype)
4458: error ("extra `::' before `delete' ignored");
4459: yyval.ttype = error_mark_node;
4460: ;
4461: break;}
1.1.1.5 ! root 4462: case 245:
! 4463: #line 1635 "cp-parse.y"
1.1 root 4464: { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
4465: break;}
1.1.1.5 ! root 4466: case 246:
! 4467: #line 1640 "cp-parse.y"
1.1 root 4468: {
4469: if (! current_function_parms_stored)
4470: store_parm_decls ();
4471: setup_vtbl_ptr ();
4472: ;
4473: break;}
1.1.1.5 ! root 4474: case 247:
! 4475: #line 1648 "cp-parse.y"
1.1 root 4476: {
4477: if (yyval.ttype == error_mark_node)
4478: ;
4479: else
4480: {
4481: tree type = TREE_TYPE (yyval.ttype);
4482:
4483: if (! PROMOTES_TO_AGGR_TYPE (type, REFERENCE_TYPE))
4484: {
4485: error ("object in '.' expression is not of aggregate type");
4486: yyval.ttype = error_mark_node;
4487: }
4488: }
4489: ;
4490: break;}
1.1.1.5 ! root 4491: case 248:
! 4492: #line 1663 "cp-parse.y"
1.1 root 4493: {
1.1.1.4 root 4494: yyval.ttype = build_x_arrow (yyval.ttype);
1.1 root 4495: ;
4496: break;}
1.1.1.5 ! root 4497: case 250:
! 4498: #line 1673 "cp-parse.y"
1.1 root 4499: {
4500: resume_momentary (yyvsp[-1].itype);
4501: note_list_got_semicolon (yyval.ttype);
4502: ;
4503: break;}
1.1.1.5 ! root 4504: case 251:
! 4505: #line 1679 "cp-parse.y"
1.1 root 4506: { tree d;
4507: int yes = suspend_momentary ();
4508: d = start_decl (yyvsp[-1].ttype, yyval.ttype, 0, NULL_TREE);
1.1.1.3 root 4509: finish_decl (d, NULL_TREE, NULL_TREE, 0);
1.1 root 4510: resume_momentary (yes);
4511: note_list_got_semicolon (yyval.ttype);
4512: ;
4513: break;}
1.1.1.5 ! root 4514: case 252:
! 4515: #line 1687 "cp-parse.y"
! 4516: { resume_momentary ((int) yyvsp[-1].itype); ;
1.1 root 4517: break;}
1.1.1.5 ! root 4518: case 253:
! 4519: #line 1690 "cp-parse.y"
1.1 root 4520: { tree d;
4521: int yes = suspend_momentary ();
4522: d = start_decl (yyvsp[-1].ttype, yyval.ttype, 0, NULL_TREE);
1.1.1.3 root 4523: finish_decl (d, NULL_TREE, NULL_TREE, 0);
1.1 root 4524: resume_momentary (yes);
4525: ;
4526: break;}
1.1.1.5 ! root 4527: case 254:
! 4528: #line 1697 "cp-parse.y"
1.1 root 4529: {
4530: shadow_tag (yyval.ttype);
4531: note_list_got_semicolon (yyval.ttype);
4532: ;
4533: break;}
1.1.1.5 ! root 4534: case 255:
! 4535: #line 1702 "cp-parse.y"
1.1 root 4536: { warning ("empty declaration"); ;
4537: break;}
1.1.1.5 ! root 4538: case 258:
! 4539: #line 1712 "cp-parse.y"
1.1 root 4540: { yyval.ttype = yyvsp[0].ttype; ;
4541: break;}
1.1.1.5 ! root 4542: case 259:
! 4543: #line 1714 "cp-parse.y"
1.1 root 4544: { yyval.ttype = yyvsp[0].ttype; ;
4545: break;}
1.1.1.5 ! root 4546: case 260:
! 4547: #line 1723 "cp-parse.y"
1.1 root 4548: { yyval.ttype = list_hash_lookup_or_cons (yyval.ttype); ;
4549: break;}
1.1.1.5 ! root 4550: case 261:
! 4551: #line 1725 "cp-parse.y"
1.1 root 4552: { yyval.ttype = hash_tree_chain (yyvsp[0].ttype, yyval.ttype); ;
4553: break;}
1.1.1.5 ! root 4554: case 262:
! 4555: #line 1727 "cp-parse.y"
1.1 root 4556: { yyval.ttype = hash_tree_chain (yyval.ttype, yyvsp[0].ttype); ;
4557: break;}
1.1.1.5 ! root 4558: case 263:
! 4559: #line 1729 "cp-parse.y"
1.1 root 4560: { yyval.ttype = hash_tree_chain (yyvsp[-1].ttype, hash_chainon (yyvsp[0].ttype, yyval.ttype)); ;
4561: break;}
1.1.1.5 ! root 4562: case 264:
! 4563: #line 1735 "cp-parse.y"
1.1 root 4564: { yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
4565: break;}
1.1.1.5 ! root 4566: case 265:
! 4567: #line 1737 "cp-parse.y"
1.1.1.4 root 4568: { if (extra_warnings)
4569: warning ("`%s' is not at beginning of declaration",
4570: IDENTIFIER_POINTER (yyval.ttype));
4571: yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
1.1 root 4572: break;}
1.1.1.5 ! root 4573: case 266:
! 4574: #line 1742 "cp-parse.y"
1.1 root 4575: { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
4576: break;}
1.1.1.5 ! root 4577: case 267:
! 4578: #line 1744 "cp-parse.y"
1.1.1.4 root 4579: { if (extra_warnings)
4580: warning ("`%s' is not at beginning of declaration",
4581: IDENTIFIER_POINTER (yyvsp[0].ttype));
4582: yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
1.1 root 4583: break;}
1.1.1.5 ! root 4584: case 268:
! 4585: #line 1756 "cp-parse.y"
1.1.1.4 root 4586: { yyval.ttype = IDENTIFIER_AS_LIST (yyval.ttype);
4587: TREE_STATIC (yyval.ttype) = 1; ;
1.1 root 4588: break;}
1.1.1.5 ! root 4589: case 269:
! 4590: #line 1759 "cp-parse.y"
1.1 root 4591: { yyval.ttype = IDENTIFIER_AS_LIST (yyval.ttype); ;
4592: break;}
1.1.1.5 ! root 4593: case 270:
! 4594: #line 1761 "cp-parse.y"
1.1.1.4 root 4595: { yyval.ttype = hash_tree_chain (yyvsp[0].ttype, yyval.ttype);
4596: TREE_STATIC (yyval.ttype) = 1; ;
1.1 root 4597: break;}
1.1.1.5 ! root 4598: case 271:
! 4599: #line 1764 "cp-parse.y"
1.1.1.4 root 4600: { if (extra_warnings && TREE_STATIC (yyval.ttype))
4601: warning ("`%s' is not at beginning of declaration",
4602: IDENTIFIER_POINTER (yyvsp[0].ttype));
4603: yyval.ttype = hash_tree_chain (yyvsp[0].ttype, yyval.ttype);
4604: TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
1.1 root 4605: break;}
1.1.1.5 ! root 4606: case 272:
! 4607: #line 1780 "cp-parse.y"
1.1 root 4608: { yyval.ttype = get_decl_list (yyval.ttype); ;
4609: break;}
1.1.1.5 ! root 4610: case 273:
! 4611: #line 1782 "cp-parse.y"
1.1 root 4612: { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
4613: break;}
1.1.1.5 ! root 4614: case 274:
! 4615: #line 1784 "cp-parse.y"
1.1 root 4616: { yyval.ttype = decl_tree_cons (NULL_TREE, yyval.ttype, yyvsp[0].ttype); ;
4617: break;}
1.1.1.5 ! root 4618: case 275:
! 4619: #line 1786 "cp-parse.y"
1.1 root 4620: { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[-1].ttype, hash_chainon (yyvsp[0].ttype, yyval.ttype)); ;
4621: break;}
1.1.1.5 ! root 4622: case 276:
! 4623: #line 1791 "cp-parse.y"
1.1 root 4624: { yyval.ttype = get_decl_list (yyval.ttype); ;
4625: break;}
1.1.1.5 ! root 4626: case 277:
! 4627: #line 1793 "cp-parse.y"
1.1 root 4628: { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
4629: break;}
1.1.1.5 ! root 4630: case 282:
! 4631: #line 1805 "cp-parse.y"
1.1 root 4632: { yyval.ttype = TREE_TYPE (yyvsp[-1].ttype);
4633: if (pedantic)
1.1.1.4 root 4634: pedwarn ("ANSI C++ forbids `typeof'"); ;
1.1 root 4635: break;}
1.1.1.5 ! root 4636: case 283:
! 4637: #line 1809 "cp-parse.y"
1.1 root 4638: { yyval.ttype = groktypename (yyvsp[-1].ttype);
4639: if (pedantic)
1.1.1.4 root 4640: pedwarn ("ANSI C++ forbids `typeof'"); ;
1.1 root 4641: break;}
1.1.1.5 ! root 4642: case 292:
! 4643: #line 1834 "cp-parse.y"
1.1 root 4644: { yyval.ttype = NULL_TREE; ;
4645: break;}
1.1.1.5 ! root 4646: case 293:
! 4647: #line 1836 "cp-parse.y"
! 4648: { if (TREE_CHAIN (yyvsp[-1].ttype)) yyvsp[-1].ttype = combine_strings (yyvsp[-1].ttype); yyval.ttype = yyvsp[-1].ttype; ;
1.1 root 4649: break;}
1.1.1.5 ! root 4650: case 294:
! 4651: #line 1841 "cp-parse.y"
1.1 root 4652: { current_declspecs = yyvsp[-5].ttype;
4653: yyvsp[0].itype = suspend_momentary ();
1.1.1.3 root 4654: yyval.ttype = start_decl (yyvsp[-4].ttype, current_declspecs, 1, yyvsp[-3].ttype);
1.1.1.4 root 4655: cplus_decl_attributes (yyval.ttype, yyvsp[-1].ttype); ;
1.1 root 4656: break;}
1.1.1.5 ! root 4657: case 295:
! 4658: #line 1847 "cp-parse.y"
1.1.1.3 root 4659: { finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 0);
1.1 root 4660: yyval.itype = yyvsp[-2].itype; ;
4661: break;}
1.1.1.5 ! root 4662: case 296:
! 4663: #line 1850 "cp-parse.y"
1.1 root 4664: { tree d;
4665: current_declspecs = yyvsp[-4].ttype;
4666: yyval.itype = suspend_momentary ();
4667: d = start_decl (yyvsp[-3].ttype, current_declspecs, 0, yyvsp[-2].ttype);
1.1.1.4 root 4668: cplus_decl_attributes (d, yyvsp[0].ttype);
1.1.1.3 root 4669: finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 0); ;
1.1 root 4670: break;}
1.1.1.5 ! root 4671: case 297:
! 4672: #line 1860 "cp-parse.y"
1.1.1.3 root 4673: { yyval.ttype = start_decl (yyvsp[-4].ttype, current_declspecs, 1, yyvsp[-3].ttype);
1.1.1.4 root 4674: cplus_decl_attributes (yyval.ttype, yyvsp[-1].ttype); ;
1.1 root 4675: break;}
1.1.1.5 ! root 4676: case 298:
! 4677: #line 1864 "cp-parse.y"
1.1.1.3 root 4678: { finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 0); ;
1.1 root 4679: break;}
1.1.1.5 ! root 4680: case 299:
! 4681: #line 1866 "cp-parse.y"
! 4682: { tree d = start_decl (yyvsp[-3].ttype, current_declspecs, 0, yyvsp[-2].ttype);
1.1.1.4 root 4683: cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype);
1.1.1.3 root 4684: finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 0); ;
1.1 root 4685: break;}
1.1.1.5 ! root 4686: case 300:
! 4687: #line 1873 "cp-parse.y"
1.1 root 4688: { current_declspecs = yyvsp[-5].ttype;
4689: yyvsp[0].itype = suspend_momentary ();
1.1.1.3 root 4690: yyval.ttype = start_decl (yyvsp[-4].ttype, current_declspecs, 1, yyvsp[-3].ttype);
1.1.1.4 root 4691: cplus_decl_attributes (yyval.ttype, yyvsp[-1].ttype); ;
1.1 root 4692: break;}
1.1.1.5 ! root 4693: case 301:
! 4694: #line 1879 "cp-parse.y"
1.1.1.3 root 4695: { finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 0);
1.1 root 4696: yyval.itype = yyvsp[-2].itype; ;
4697: break;}
1.1.1.5 ! root 4698: case 302:
! 4699: #line 1882 "cp-parse.y"
1.1 root 4700: { tree d;
4701: current_declspecs = yyvsp[-4].ttype;
4702: yyval.itype = suspend_momentary ();
4703: d = start_decl (yyvsp[-3].ttype, current_declspecs, 0, yyvsp[-2].ttype);
1.1.1.4 root 4704: cplus_decl_attributes (d, yyvsp[0].ttype);
1.1.1.3 root 4705: finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 0); ;
1.1 root 4706: break;}
1.1.1.5 ! root 4707: case 303:
! 4708: #line 1894 "cp-parse.y"
1.1 root 4709: { yyval.ttype = NULL_TREE; ;
4710: break;}
1.1.1.5 ! root 4711: case 304:
! 4712: #line 1896 "cp-parse.y"
1.1 root 4713: { yyval.ttype = yyvsp[-2].ttype; ;
4714: break;}
1.1.1.5 ! root 4715: case 305:
! 4716: #line 1901 "cp-parse.y"
1.1.1.3 root 4717: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
4718: break;}
1.1.1.5 ! root 4719: case 306:
! 4720: #line 1903 "cp-parse.y"
1.1.1.3 root 4721: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype); ;
4722: break;}
1.1.1.5 ! root 4723: case 307:
! 4724: #line 1908 "cp-parse.y"
1.1.1.3 root 4725: { if (strcmp (IDENTIFIER_POINTER (yyvsp[0].ttype), "packed"))
4726: warning ("`%s' attribute directive ignored",
4727: IDENTIFIER_POINTER (yyvsp[0].ttype));
4728: yyval.ttype = yyvsp[0].ttype; ;
1.1 root 4729: break;}
1.1.1.5 ! root 4730: case 308:
! 4731: #line 1913 "cp-parse.y"
1.1.1.3 root 4732: { /* if not "aligned(n)", then issue warning */
4733: if (strcmp (IDENTIFIER_POINTER (yyvsp[-3].ttype), "aligned") != 0
4734: || TREE_CODE (yyvsp[-1].ttype) != INTEGER_CST)
4735: {
4736: warning ("`%s' attribute directive ignored",
4737: IDENTIFIER_POINTER (yyvsp[-3].ttype));
4738: yyval.ttype = yyvsp[-3].ttype;
4739: }
4740: else
1.1.1.4 root 4741: yyval.ttype = tree_cons (yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE); ;
1.1 root 4742: break;}
1.1.1.5 ! root 4743: case 309:
! 4744: #line 1924 "cp-parse.y"
1.1.1.3 root 4745: { /* if not "format(...)", then issue warning */
4746: if (strcmp (IDENTIFIER_POINTER (yyvsp[-7].ttype), "format") != 0
4747: || TREE_CODE (yyvsp[-3].ttype) != INTEGER_CST
4748: || TREE_CODE (yyvsp[-1].ttype) != INTEGER_CST)
4749: {
4750: warning ("`%s' attribute directive ignored",
4751: IDENTIFIER_POINTER (yyvsp[-7].ttype));
4752: yyval.ttype = yyvsp[-7].ttype;
4753: }
4754: else
1.1.1.4 root 4755: yyval.ttype = tree_cons (yyvsp[-7].ttype, tree_cons (yyvsp[-5].ttype, tree_cons (yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE), NULL_TREE), NULL_TREE); ;
1.1 root 4756: break;}
1.1.1.5 ! root 4757: case 310:
! 4758: #line 1940 "cp-parse.y"
1.1.1.2 root 4759: { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
4760: break;}
1.1.1.5 ! root 4761: case 311:
! 4762: #line 1942 "cp-parse.y"
1.1.1.2 root 4763: { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
4764: break;}
1.1.1.5 ! root 4765: case 313:
! 4766: #line 1948 "cp-parse.y"
1.1 root 4767: { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, NULL_TREE);
4768: TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1;
4769: if (pedantic)
1.1.1.4 root 4770: pedwarn ("ANSI C++ forbids empty initializer braces"); ;
1.1 root 4771: break;}
1.1.1.5 ! root 4772: case 314:
! 4773: #line 1953 "cp-parse.y"
1.1 root 4774: { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-1].ttype));
4775: TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
4776: break;}
1.1.1.5 ! root 4777: case 315:
! 4778: #line 1956 "cp-parse.y"
1.1 root 4779: { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-2].ttype));
4780: TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
4781: break;}
1.1.1.5 ! root 4782: case 316:
! 4783: #line 1959 "cp-parse.y"
1.1 root 4784: { yyval.ttype = NULL_TREE; ;
4785: break;}
1.1.1.5 ! root 4786: case 317:
! 4787: #line 1966 "cp-parse.y"
1.1 root 4788: { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
4789: break;}
1.1.1.5 ! root 4790: case 318:
! 4791: #line 1968 "cp-parse.y"
1.1 root 4792: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
4793: break;}
1.1.1.5 ! root 4794: case 319:
! 4795: #line 1971 "cp-parse.y"
1.1 root 4796: { yyval.ttype = build_tree_list (yyvsp[-2].ttype, yyvsp[0].ttype); ;
4797: break;}
1.1.1.5 ! root 4798: case 320:
! 4799: #line 1973 "cp-parse.y"
1.1 root 4800: { yyval.ttype = tree_cons (yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype); ;
4801: break;}
1.1.1.5 ! root 4802: case 321:
! 4803: #line 1975 "cp-parse.y"
1.1 root 4804: { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[0].ttype); ;
4805: break;}
1.1.1.5 ! root 4806: case 322:
! 4807: #line 1977 "cp-parse.y"
1.1 root 4808: { yyval.ttype = tree_cons (yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype); ;
4809: break;}
1.1.1.5 ! root 4810: case 323:
! 4811: #line 1982 "cp-parse.y"
1.1 root 4812: { yyvsp[0].itype = suspend_momentary ();
4813: yyval.ttype = start_enum (yyvsp[-1].ttype); ;
4814: break;}
1.1.1.5 ! root 4815: case 324:
! 4816: #line 1985 "cp-parse.y"
1.1 root 4817: { yyval.ttype = finish_enum (yyvsp[-3].ttype, yyvsp[-2].ttype);
1.1.1.5 ! root 4818: resume_momentary ((int) yyvsp[-4].itype);
1.1 root 4819: check_for_missing_semicolon (yyvsp[-3].ttype); ;
4820: break;}
1.1.1.5 ! root 4821: case 325:
! 4822: #line 1989 "cp-parse.y"
1.1 root 4823: { yyval.ttype = finish_enum (start_enum (yyvsp[-2].ttype), NULL_TREE);
4824: check_for_missing_semicolon (yyval.ttype); ;
4825: break;}
1.1.1.5 ! root 4826: case 326:
! 4827: #line 1992 "cp-parse.y"
1.1 root 4828: { yyvsp[0].itype = suspend_momentary ();
4829: yyval.ttype = start_enum (make_anon_name ()); ;
4830: break;}
1.1.1.5 ! root 4831: case 327:
! 4832: #line 1995 "cp-parse.y"
1.1 root 4833: { yyval.ttype = finish_enum (yyvsp[-3].ttype, yyvsp[-2].ttype);
1.1.1.5 ! root 4834: resume_momentary ((int) yyvsp[-5].itype);
1.1 root 4835: check_for_missing_semicolon (yyvsp[-3].ttype); ;
4836: break;}
1.1.1.5 ! root 4837: case 328:
! 4838: #line 1999 "cp-parse.y"
1.1 root 4839: { yyval.ttype = finish_enum (start_enum (make_anon_name()), NULL_TREE);
4840: check_for_missing_semicolon (yyval.ttype); ;
4841: break;}
1.1.1.5 ! root 4842: case 329:
! 4843: #line 2002 "cp-parse.y"
1.1 root 4844: { yyval.ttype = xref_tag (enum_type_node, yyvsp[0].ttype, NULL_TREE); ;
4845: break;}
1.1.1.5 ! root 4846: case 330:
! 4847: #line 2006 "cp-parse.y"
1.1 root 4848: {
4849: int semi;
1.1.1.4 root 4850: tree id;
4851:
1.1 root 4852: #if 0
4853: /* Need to rework class nesting in the
4854: presence of nested classes, etc. */
4855: shadow_tag (CLASSTYPE_AS_LIST (yyval.ttype)); */
4856: #endif
1.1.1.4 root 4857: if (yychar == YYEMPTY)
4858: yychar = YYLEX;
1.1 root 4859: semi = yychar == ';';
1.1.1.4 root 4860: /* finish_struct nukes this anyway; if
4861: finish_exception does too, then it can go. */
1.1 root 4862: if (semi)
4863: note_got_semicolon (yyval.ttype);
1.1.1.4 root 4864:
1.1 root 4865: if (TREE_CODE (yyval.ttype) == ENUMERAL_TYPE)
4866: /* $$ = $1 from default rule. */;
4867: else if (CLASSTYPE_DECLARED_EXCEPTION (yyval.ttype))
4868: {
4869: if (! semi)
4870: yyval.ttype = finish_exception (yyval.ttype, yyvsp[-1].ttype);
4871: else
4872: warning ("empty exception declaration\n");
4873: }
4874: else
1.1.1.4 root 4875: {
1.1.1.5 ! root 4876: yyval.ttype = finish_struct (yyval.ttype, yyvsp[-1].ttype, semi);
1.1.1.4 root 4877: if (semi) note_got_semicolon (yyval.ttype);
4878: }
1.1 root 4879:
4880: pop_obstacks ();
1.1.1.4 root 4881:
4882: id = TYPE_IDENTIFIER (yyval.ttype);
4883: if (IDENTIFIER_TEMPLATE (id))
4884: {
4885: tree decl;
4886:
4887: /* I don't know if the copying of this TYPE_DECL is
4888: * really needed. However, it's such a small per-
4889: * formance penalty that the extra safety is a bargain.
4890: * - [email protected]
4891: */
4892: push_obstacks (&permanent_obstack, &permanent_obstack);
1.1.1.5 ! root 4893: decl = copy_node (lookup_name (id, 0));
1.1.1.4 root 4894: if (DECL_LANG_SPECIFIC (decl))
4895: copy_lang_decl (decl);
4896: pop_obstacks ();
4897: undo_template_name_overload (id, 0);
4898: pushdecl_top_level (decl);
4899: }
1.1 root 4900: if (! semi)
4901: check_for_missing_semicolon (yyval.ttype); ;
4902: break;}
1.1.1.5 ! root 4903: case 331:
! 4904: #line 2061 "cp-parse.y"
1.1 root 4905: {
4906: #if 0
4907: /* It's no longer clear what the following error is supposed to
4908: accomplish. If it turns out to be needed, add a comment why. */
4909: if (TYPE_BINFO_BASETYPES (yyval.ttype) && !TYPE_SIZE (yyval.ttype))
4910: {
4911: error ("incomplete definition of type `%s'",
4912: TYPE_NAME_STRING (yyval.ttype));
4913: yyval.ttype = error_mark_node;
4914: }
4915: #endif
4916: ;
4917: break;}
1.1.1.5 ! root 4918: case 335:
! 4919: #line 2083 "cp-parse.y"
1.1.1.4 root 4920: { if (pedantic)
4921: pedwarn ("ANSI C++ forbids comma at end of enumerator list"); ;
1.1 root 4922: break;}
1.1.1.5 ! root 4923: case 337:
! 4924: #line 2089 "cp-parse.y"
1.1 root 4925: { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
4926: break;}
1.1.1.5 ! root 4927: case 338:
! 4928: #line 2091 "cp-parse.y"
1.1 root 4929: { yyval.ttype = build_tree_list (yyvsp[-2].ttype, yyvsp[0].ttype); ;
4930: break;}
1.1.1.5 ! root 4931: case 339:
! 4932: #line 2093 "cp-parse.y"
1.1 root 4933: { error ("storage class specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype));
4934: ;
4935: break;}
1.1.1.5 ! root 4936: case 340:
! 4937: #line 2096 "cp-parse.y"
1.1 root 4938: { error ("type specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype));
4939: ;
4940: break;}
1.1.1.5 ! root 4941: case 341:
! 4942: #line 2099 "cp-parse.y"
1.1 root 4943: { error ("type qualifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype));
4944: ;
4945: break;}
1.1.1.5 ! root 4946: case 342:
! 4947: #line 2102 "cp-parse.y"
1.1 root 4948: { error ("no body nor ';' separates two class, struct or union declarations");
4949: ;
4950: break;}
1.1.1.5 ! root 4951: case 343:
! 4952: #line 2108 "cp-parse.y"
1.1 root 4953: { aggr1: current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
4954: break;}
1.1.1.5 ! root 4955: case 344:
! 4956: #line 2110 "cp-parse.y"
1.1 root 4957: { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
4958: break;}
1.1.1.5 ! root 4959: case 345:
! 4960: #line 2112 "cp-parse.y"
1.1 root 4961: { yyungetc (':', 1); goto aggr1; ;
4962: break;}
1.1.1.5 ! root 4963: case 346:
! 4964: #line 2114 "cp-parse.y"
1.1 root 4965: { yyungetc ('{', 1);
4966: aggr2:
4967: current_aggr = yyval.ttype;
1.1.1.4 root 4968: yyval.ttype = yyvsp[-1].ttype;
4969: overload_template_name (yyval.ttype, 0); ;
1.1 root 4970: break;}
1.1.1.5 ! root 4971: case 347:
! 4972: #line 2120 "cp-parse.y"
1.1 root 4973: { yyungetc (':', 1); goto aggr2; ;
4974: break;}
1.1.1.5 ! root 4975: case 348:
! 4976: #line 2125 "cp-parse.y"
1.1 root 4977: { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
4978: break;}
1.1.1.5 ! root 4979: case 349:
! 4980: #line 2130 "cp-parse.y"
1.1 root 4981: {
4982: yyval.ttype = xref_tag (current_aggr, yyvsp[0].ttype, NULL_TREE);
4983: ;
4984: break;}
1.1.1.5 ! root 4985: case 350:
! 4986: #line 2134 "cp-parse.y"
1.1 root 4987: {
4988: if (yyvsp[0].ttype)
4989: yyval.ttype = xref_tag (current_aggr, yyvsp[-2].ttype, yyvsp[0].ttype);
4990: else
4991: yyval.ttype = yyvsp[-1].ttype;
4992: ;
4993: break;}
1.1.1.5 ! root 4994: case 351:
! 4995: #line 2142 "cp-parse.y"
1.1 root 4996: {
4997: yyval.ttype = xref_defn_tag (current_aggr, yyvsp[0].ttype, NULL_TREE);
4998: ;
4999: break;}
1.1.1.5 ! root 5000: case 352:
! 5001: #line 2146 "cp-parse.y"
1.1 root 5002: {
5003: if (yyvsp[0].ttype)
5004: yyval.ttype = xref_defn_tag (current_aggr, yyvsp[-2].ttype, yyvsp[0].ttype);
5005: else
5006: yyval.ttype = yyvsp[-1].ttype;
5007: ;
5008: break;}
1.1.1.5 ! root 5009: case 353:
! 5010: #line 2155 "cp-parse.y"
1.1 root 5011: { yyval.ttype = xref_tag (yyval.ttype, make_anon_name (), NULL_TREE);
5012: yyungetc ('{', 1); ;
5013: break;}
1.1.1.5 ! root 5014: case 356:
! 5015: #line 2163 "cp-parse.y"
1.1 root 5016: { yyval.ttype = NULL_TREE; ;
5017: break;}
1.1.1.5 ! root 5018: case 357:
! 5019: #line 2165 "cp-parse.y"
1.1 root 5020: { yyungetc(':', 1); yyval.ttype = NULL_TREE; ;
5021: break;}
1.1.1.5 ! root 5022: case 358:
! 5023: #line 2167 "cp-parse.y"
1.1 root 5024: { yyval.ttype = yyvsp[0].ttype; ;
5025: break;}
1.1.1.5 ! root 5026: case 360:
! 5027: #line 2173 "cp-parse.y"
1.1 root 5028: { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
5029: break;}
1.1.1.5 ! root 5030: case 361:
! 5031: #line 2178 "cp-parse.y"
1.1 root 5032: { if (! is_aggr_typedef (yyval.ttype, 1))
5033: yyval.ttype = NULL_TREE;
5034: else yyval.ttype = build_tree_list ((tree)visibility_default, yyval.ttype); ;
5035: break;}
1.1.1.5 ! root 5036: case 362:
! 5037: #line 2182 "cp-parse.y"
1.1.1.4 root 5038: { if (! is_aggr_typedef (yyval.ttype, 1))
5039: yyval.ttype = NULL_TREE;
5040: else yyval.ttype = build_tree_list ((tree)visibility_default, yyval.ttype); ;
5041: break;}
1.1.1.5 ! root 5042: case 363:
! 5043: #line 2186 "cp-parse.y"
1.1 root 5044: { if (! is_aggr_typedef (yyvsp[0].ttype, 1))
5045: yyval.ttype = NULL_TREE;
5046: else yyval.ttype = build_tree_list ((tree) yyval.ttype, yyvsp[0].ttype); ;
5047: break;}
1.1.1.5 ! root 5048: case 364:
! 5049: #line 2190 "cp-parse.y"
1.1.1.4 root 5050: { if (! is_aggr_typedef (yyvsp[0].ttype, 1))
5051: yyval.ttype = NULL_TREE;
5052: else yyval.ttype = build_tree_list ((tree) yyval.ttype, yyvsp[0].ttype); ;
5053: break;}
1.1.1.5 ! root 5054: case 365:
! 5055: #line 2197 "cp-parse.y"
1.1 root 5056: {
1.1.1.4 root 5057: /* Kludge!!! See rule "template_type" and the code
5058: * dealing with "template_type_seen_before_scope" in
5059: * yylex(). */
5060: yyval.ttype = yyvsp[0].ttype;
1.1 root 5061: ;
5062: break;}
1.1.1.5 ! root 5063: case 366:
! 5064: #line 2206 "cp-parse.y"
1.1.1.4 root 5065: {
5066: extern tree template_type_seen_before_scope;
5067: tree id = yyvsp[0].ttype ? TYPE_IDENTIFIER (yyvsp[0].ttype) : yyvsp[-2].ttype;
5068:
5069: /* Check the rule template_type to get this... */
5070: if (yychar == YYEMPTY)
5071: yychar = YYLEX;
5072: if (yychar == SCOPE) {
5073: template_type_seen_before_scope = id;
5074: yychar = YYLEX;
5075: }
5076: ;
5077: break;}
1.1.1.5 ! root 5078: case 369:
! 5079: #line 2224 "cp-parse.y"
1.1 root 5080: { if (yyval.ttype != ridpointers[(int)RID_VIRTUAL])
5081: sorry ("non-virtual visibility");
5082: yyval.itype = visibility_default_virtual; ;
5083: break;}
1.1.1.5 ! root 5084: case 370:
! 5085: #line 2228 "cp-parse.y"
1.1 root 5086: { int err = 0;
5087: if (yyvsp[0].itype == visibility_protected)
5088: {
5089: warning ("`protected' visibility not implemented");
5090: yyvsp[0].itype = visibility_public;
5091: err++;
5092: }
5093: else if (yyvsp[0].itype == visibility_public)
5094: {
5095: if (yyvsp[-1].itype == visibility_private)
5096: {
5097: mixed:
5098: error ("base class cannot be public and private");
5099: }
5100: else if (yyvsp[-1].itype == visibility_default_virtual)
5101: yyval.itype = visibility_public_virtual;
5102: }
1.1.1.2 root 5103: else /* $2 == visibility_private */
1.1 root 5104: {
5105: if (yyvsp[-1].itype == visibility_public)
5106: goto mixed;
5107: else if (yyvsp[-1].itype == visibility_default_virtual)
5108: yyval.itype = visibility_private_virtual;
5109: }
5110: ;
5111: break;}
1.1.1.5 ! root 5112: case 371:
! 5113: #line 2254 "cp-parse.y"
1.1 root 5114: { if (yyvsp[0].ttype != ridpointers[(int)RID_VIRTUAL])
5115: sorry ("non-virtual visibility");
5116: if (yyval.itype == visibility_public)
5117: yyval.itype = visibility_public_virtual;
5118: else if (yyval.itype == visibility_private)
5119: yyval.itype = visibility_private_virtual; ;
5120: break;}
1.1.1.5 ! root 5121: case 372:
! 5122: #line 2263 "cp-parse.y"
1.1 root 5123: { tree t;
5124: push_obstacks_nochange ();
5125: end_temporary_allocation ();
5126:
5127: if (! IS_AGGR_TYPE (yyvsp[-1].ttype))
5128: {
5129: yyvsp[-1].ttype = make_lang_type (RECORD_TYPE);
5130: TYPE_NAME (yyvsp[-1].ttype) = get_identifier ("erroneous type");
5131: }
5132: if (TYPE_SIZE (yyvsp[-1].ttype))
5133: duplicate_tag_error (yyvsp[-1].ttype);
5134: if (TYPE_SIZE (yyvsp[-1].ttype) || TYPE_BEING_DEFINED (yyvsp[-1].ttype))
5135: {
5136: t = make_lang_type (TREE_CODE (yyvsp[-1].ttype));
1.1.1.3 root 5137: pushtag (TYPE_IDENTIFIER (yyvsp[-1].ttype), t);
1.1 root 5138: yyvsp[-1].ttype = t;
5139: }
5140: pushclass (yyvsp[-1].ttype, 0);
5141: TYPE_BEING_DEFINED (yyvsp[-1].ttype) = 1;
1.1.1.3 root 5142: t = TYPE_IDENTIFIER (yyvsp[-1].ttype);
1.1 root 5143: if (IDENTIFIER_TEMPLATE (t))
5144: overload_template_name (t, 1);
5145: ;
5146: break;}
1.1.1.5 ! root 5147: case 373:
! 5148: #line 2290 "cp-parse.y"
1.1 root 5149: { yyval.ttype = NULL_TREE; ;
5150: break;}
1.1.1.5 ! root 5151: case 374:
! 5152: #line 2292 "cp-parse.y"
1.1 root 5153: { yyval.ttype = build_tree_list ((tree)visibility_default, yyval.ttype); ;
5154: break;}
1.1.1.5 ! root 5155: case 375:
! 5156: #line 2294 "cp-parse.y"
1.1 root 5157: { yyval.ttype = chainon (yyval.ttype, build_tree_list ((tree) yyvsp[-2].itype, yyvsp[0].ttype)); ;
5158: break;}
1.1.1.5 ! root 5159: case 377:
! 5160: #line 2300 "cp-parse.y"
1.1 root 5161: { if (yyval.ttype == void_type_node) yyval.ttype = NULL_TREE; ;
5162: break;}
1.1.1.5 ! root 5163: case 378:
! 5164: #line 2302 "cp-parse.y"
1.1 root 5165: { if (yyvsp[0].ttype != NULL_TREE && yyvsp[0].ttype != void_type_node)
5166: yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
5167: break;}
1.1.1.5 ! root 5168: case 379:
! 5169: #line 2305 "cp-parse.y"
1.1 root 5170: { if (pedantic)
1.1.1.4 root 5171: pedwarn ("ANSI C++ forbids extra semicolons here"); ;
1.1 root 5172: break;}
1.1.1.5 ! root 5173: case 380:
! 5174: #line 2311 "cp-parse.y"
1.1 root 5175: {
5176: do_components:
5177: if (yyvsp[-1].ttype == void_type_node)
5178: /* We just got some friends.
5179: They have been recorded elsewhere. */
5180: yyval.ttype = NULL_TREE;
5181: else if (yyvsp[-1].ttype == NULL_TREE)
5182: {
5183: tree t = groktypename (build_decl_list (yyval.ttype, NULL_TREE));
5184: if (t == NULL_TREE)
5185: {
5186: error ("error in component specification");
5187: yyval.ttype = NULL_TREE;
5188: }
5189: else if (TREE_CODE (t) == UNION_TYPE)
5190: {
5191: /* handle anonymous unions */
1.1.1.4 root 5192: if (ANON_AGGRNAME_P (TYPE_IDENTIFIER (t)))
5193: yyval.ttype = build_lang_field_decl (FIELD_DECL,
5194: NULL_TREE, t);
5195: else
5196: {
5197: /* This is a local union decl with a name, but
5198: no components, I think this is the right thing
5199: to do. (mrs) */
5200: #if 0
5201: /* I copied this from below, it is probably
5202: needed, but I cannot prove that to myself
5203: right now, but if you find it is needed
5204: please turn it on. (mrs) */
5205: if (TYPE_LANG_SPECIFIC (t)
5206: && CLASSTYPE_DECLARED_EXCEPTION (t))
5207: shadow_tag (yyval.ttype);
5208: #endif
5209: yyval.ttype = NULL_TREE;
5210: }
1.1 root 5211: }
5212: else if (TREE_CODE (t) == ENUMERAL_TYPE)
5213: yyval.ttype = grok_enum_decls (t, NULL_TREE);
5214: else if (TREE_CODE (t) == RECORD_TYPE)
5215: {
5216: if (TYPE_LANG_SPECIFIC (t)
5217: && CLASSTYPE_DECLARED_EXCEPTION (t))
5218: shadow_tag (yyval.ttype);
5219: yyval.ttype = NULL_TREE;
5220: }
5221: else if (t != void_type_node)
5222: {
5223: error ("empty component declaration");
5224: yyval.ttype = NULL_TREE;
5225: }
5226: else yyval.ttype = NULL_TREE;
5227: }
5228: else
5229: {
5230: tree t = TREE_TYPE (yyvsp[-1].ttype);
5231: if (TREE_CODE (t) == ENUMERAL_TYPE && TREE_NONLOCAL_FLAG (t))
5232: yyval.ttype = grok_enum_decls (t, yyvsp[-1].ttype);
5233: else
5234: yyval.ttype = yyvsp[-1].ttype;
5235: }
5236: end_exception_decls ();
5237: ;
5238: break;}
1.1.1.5 ! root 5239: case 381:
! 5240: #line 2375 "cp-parse.y"
1.1 root 5241: { yyval.ttype = groktypefield (yyval.ttype, yyvsp[-2].ttype); ;
5242: break;}
1.1.1.5 ! root 5243: case 382:
! 5244: #line 2377 "cp-parse.y"
1.1 root 5245: { error ("missing ';' before right brace");
5246: yyungetc ('}', 0);
5247: yyval.ttype = groktypefield (yyval.ttype, yyvsp[-2].ttype); ;
5248: break;}
1.1.1.5 ! root 5249: case 383:
! 5250: #line 2381 "cp-parse.y"
1.1 root 5251: { yyval.ttype = groktypefield (yyval.ttype, empty_parms ()); ;
5252: break;}
1.1.1.5 ! root 5253: case 384:
! 5254: #line 2383 "cp-parse.y"
1.1 root 5255: { error ("missing ';' before right brace");
5256: yyungetc ('}', 0);
5257: yyval.ttype = groktypefield (yyval.ttype, empty_parms ()); ;
5258: break;}
1.1.1.5 ! root 5259: case 385:
! 5260: #line 2387 "cp-parse.y"
1.1 root 5261: { goto do_components; ;
5262: break;}
1.1.1.5 ! root 5263: case 386:
! 5264: #line 2390 "cp-parse.y"
! 5265: { yyval.ttype = grokfield (yyvsp[-1].ttype, yyval.ttype,
! 5266: NULL_TREE, NULL_TREE, NULL_TREE); ;
1.1 root 5267: break;}
1.1.1.5 ! root 5268: case 387:
! 5269: #line 2393 "cp-parse.y"
1.1 root 5270: { error ("missing ';' before right brace");
5271: yyungetc ('}', 0);
5272: goto do_components; ;
5273: break;}
1.1.1.5 ! root 5274: case 388:
! 5275: #line 2397 "cp-parse.y"
1.1 root 5276: { yyval.ttype = groktypefield (yyval.ttype, yyvsp[-2].ttype); ;
5277: break;}
1.1.1.5 ! root 5278: case 389:
! 5279: #line 2399 "cp-parse.y"
1.1 root 5280: { error ("missing ';' before right brace");
5281: yyungetc ('}', 0);
5282: yyval.ttype = groktypefield (yyval.ttype, yyvsp[-2].ttype); ;
5283: break;}
1.1.1.5 ! root 5284: case 390:
! 5285: #line 2403 "cp-parse.y"
1.1 root 5286: { yyval.ttype = groktypefield (yyval.ttype, empty_parms ()); ;
5287: break;}
1.1.1.5 ! root 5288: case 391:
! 5289: #line 2405 "cp-parse.y"
1.1 root 5290: { error ("missing ';' before right brace");
5291: yyungetc ('}', 0);
5292: yyval.ttype = groktypefield (yyval.ttype, empty_parms ()); ;
5293: break;}
1.1.1.5 ! root 5294: case 392:
! 5295: #line 2409 "cp-parse.y"
1.1 root 5296: { yyval.ttype = grokbitfield (NULL_TREE, NULL_TREE, yyvsp[-1].ttype); ;
5297: break;}
1.1.1.5 ! root 5298: case 393:
! 5299: #line 2411 "cp-parse.y"
1.1 root 5300: { error ("missing ';' before right brace");
5301: yyungetc ('}', 0);
5302: yyval.ttype = grokbitfield (NULL_TREE, NULL_TREE, yyvsp[-1].ttype); ;
5303: break;}
1.1.1.5 ! root 5304: case 394:
! 5305: #line 2415 "cp-parse.y"
1.1 root 5306: { yyval.ttype = NULL_TREE; ;
5307: break;}
1.1.1.5 ! root 5308: case 395:
! 5309: #line 2420 "cp-parse.y"
1.1 root 5310: { yyval.ttype = finish_method (yyval.ttype); ;
5311: break;}
1.1.1.5 ! root 5312: case 396:
! 5313: #line 2422 "cp-parse.y"
1.1 root 5314: { yyval.ttype = finish_method (yyval.ttype); ;
5315: break;}
1.1.1.5 ! root 5316: case 397:
! 5317: #line 2424 "cp-parse.y"
1.1 root 5318: { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[-1].ttype, NULL_TREE, NULL_TREE); ;
5319: break;}
1.1.1.5 ! root 5320: case 398:
! 5321: #line 2426 "cp-parse.y"
1.1 root 5322: { error ("missing ';' before right brace");
5323: yyungetc ('}', 0);
5324: yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[-1].ttype, NULL_TREE, NULL_TREE); ;
5325: break;}
1.1.1.5 ! root 5326: case 399:
! 5327: #line 2433 "cp-parse.y"
1.1 root 5328: { yyval.ttype = NULL_TREE; ;
5329: break;}
1.1.1.5 ! root 5330: case 401:
! 5331: #line 2436 "cp-parse.y"
1.1 root 5332: {
5333: /* In this context, void_type_node encodes
5334: friends. They have been recorded elsewhere. */
5335: if (yyval.ttype == void_type_node)
5336: yyval.ttype = yyvsp[0].ttype;
5337: else
5338: yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype);
5339: ;
5340: break;}
1.1.1.5 ! root 5341: case 402:
! 5342: #line 2448 "cp-parse.y"
1.1.1.3 root 5343: { current_declspecs = yyvsp[-4].ttype;
5344: yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[-2].ttype, NULL_TREE, yyvsp[-1].ttype);
1.1.1.4 root 5345: cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
1.1.1.3 root 5346: break;}
1.1.1.5 ! root 5347: case 403:
! 5348: #line 2452 "cp-parse.y"
1.1.1.3 root 5349: { current_declspecs = yyvsp[-6].ttype;
5350: yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[-4].ttype, yyvsp[0].ttype, yyvsp[-3].ttype);
1.1.1.4 root 5351: cplus_decl_attributes (yyval.ttype, yyvsp[-2].ttype); ;
1.1.1.3 root 5352: break;}
1.1.1.5 ! root 5353: case 404:
! 5354: #line 2456 "cp-parse.y"
1.1.1.3 root 5355: { current_declspecs = yyvsp[-4].ttype;
5356: yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
1.1.1.4 root 5357: cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
1.1 root 5358: break;}
1.1.1.5 ! root 5359: case 405:
! 5360: #line 2460 "cp-parse.y"
1.1.1.3 root 5361: { current_declspecs = yyvsp[-3].ttype;
5362: yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
1.1.1.4 root 5363: cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
1.1 root 5364: break;}
1.1.1.5 ! root 5365: case 406:
! 5366: #line 2464 "cp-parse.y"
1.1.1.3 root 5367: { current_declspecs = yyvsp[-2].ttype;
5368: yyval.ttype = grokbitfield (NULL_TREE, NULL_TREE, yyvsp[0].ttype); ;
1.1 root 5369: break;}
1.1.1.5 ! root 5370: case 407:
! 5371: #line 2470 "cp-parse.y"
1.1.1.3 root 5372: { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[-2].ttype, NULL_TREE, yyvsp[-1].ttype);
1.1.1.4 root 5373: cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
1.1 root 5374: break;}
1.1.1.5 ! root 5375: case 408:
! 5376: #line 2473 "cp-parse.y"
1.1.1.3 root 5377: { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[-4].ttype, yyvsp[0].ttype, yyvsp[-3].ttype);
1.1.1.4 root 5378: cplus_decl_attributes (yyval.ttype, yyvsp[-2].ttype); ;
1.1 root 5379: break;}
1.1.1.5 ! root 5380: case 409:
! 5381: #line 2476 "cp-parse.y"
1.1.1.3 root 5382: { yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
1.1.1.4 root 5383: cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
1.1 root 5384: break;}
1.1.1.5 ! root 5385: case 410:
! 5386: #line 2479 "cp-parse.y"
1.1.1.3 root 5387: { yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
1.1.1.4 root 5388: cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
1.1 root 5389: break;}
1.1.1.5 ! root 5390: case 411:
! 5391: #line 2482 "cp-parse.y"
1.1 root 5392: { yyval.ttype = grokbitfield (NULL_TREE, NULL_TREE, yyvsp[0].ttype); ;
5393: break;}
1.1.1.5 ! root 5394: case 413:
! 5395: #line 2492 "cp-parse.y"
1.1 root 5396: { TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
5397: break;}
1.1.1.5 ! root 5398: case 414:
! 5399: #line 2497 "cp-parse.y"
1.1 root 5400: { yyval.ttype = build_enumerator (yyval.ttype, NULL_TREE); ;
5401: break;}
1.1.1.5 ! root 5402: case 415:
! 5403: #line 2499 "cp-parse.y"
1.1 root 5404: { yyval.ttype = build_enumerator (yyval.ttype, yyvsp[0].ttype); ;
5405: break;}
1.1.1.5 ! root 5406: case 416:
! 5407: #line 2504 "cp-parse.y"
1.1 root 5408: { yyval.ttype = build_decl_list (yyval.ttype, yyvsp[0].ttype); ;
5409: break;}
1.1.1.5 ! root 5410: case 417:
! 5411: #line 2506 "cp-parse.y"
1.1 root 5412: { yyval.ttype = build_decl_list (yyval.ttype, yyvsp[0].ttype); ;
5413: break;}
1.1.1.5 ! root 5414: case 418:
! 5415: #line 2511 "cp-parse.y"
1.1 root 5416: { yyval.ttype = NULL_TREE; ;
5417: break;}
1.1.1.5 ! root 5418: case 420:
! 5419: #line 2514 "cp-parse.y"
1.1 root 5420: { yyval.ttype = yyvsp[0].ttype; ;
5421: break;}
1.1.1.5 ! root 5422: case 421:
! 5423: #line 2519 "cp-parse.y"
1.1 root 5424: { yyval.ttype = IDENTIFIER_AS_LIST (yyval.ttype); ;
5425: break;}
1.1.1.5 ! root 5426: case 422:
! 5427: #line 2521 "cp-parse.y"
1.1 root 5428: { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
5429: break;}
1.1.1.5 ! root 5430: case 423:
! 5431: #line 2526 "cp-parse.y"
1.1 root 5432: { yyval.ttype = NULL_TREE; ;
5433: break;}
1.1.1.5 ! root 5434: case 424:
! 5435: #line 2528 "cp-parse.y"
1.1 root 5436: { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
5437: break;}
1.1.1.5 ! root 5438: case 425:
! 5439: #line 2536 "cp-parse.y"
1.1 root 5440: { yyval.itype = suspend_momentary (); ;
5441: break;}
1.1.1.5 ! root 5442: case 426:
! 5443: #line 2537 "cp-parse.y"
! 5444: { resume_momentary ((int) yyvsp[-1].itype); yyval.ttype = yyvsp[0].ttype; ;
1.1 root 5445: break;}
1.1.1.5 ! root 5446: case 427:
! 5447: #line 2543 "cp-parse.y"
1.1 root 5448: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
5449: break;}
1.1.1.5 ! root 5450: case 428:
! 5451: #line 2545 "cp-parse.y"
1.1 root 5452: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
5453: break;}
1.1.1.5 ! root 5454: case 429:
! 5455: #line 2547 "cp-parse.y"
1.1 root 5456: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, empty_parms (), yyvsp[0].ttype); ;
5457: break;}
1.1.1.5 ! root 5458: case 430:
! 5459: #line 2549 "cp-parse.y"
1.1 root 5460: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, NULL_TREE, NULL_TREE); ;
5461: break;}
1.1.1.5 ! root 5462: case 431:
! 5463: #line 2551 "cp-parse.y"
1.1 root 5464: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
5465: break;}
1.1.1.5 ! root 5466: case 432:
! 5467: #line 2553 "cp-parse.y"
1.1 root 5468: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
5469: break;}
1.1.1.5 ! root 5470: case 433:
! 5471: #line 2555 "cp-parse.y"
1.1 root 5472: { yyval.ttype = yyvsp[-1].ttype; ;
5473: break;}
1.1.1.5 ! root 5474: case 434:
! 5475: #line 2557 "cp-parse.y"
1.1 root 5476: { yyval.ttype = make_pointer_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
5477: break;}
1.1.1.5 ! root 5478: case 435:
! 5479: #line 2559 "cp-parse.y"
1.1 root 5480: { see_typename (); ;
5481: break;}
1.1.1.5 ! root 5482: case 437:
! 5483: #line 2562 "cp-parse.y"
1.1 root 5484: { yyval.ttype = make_reference_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
5485: break;}
1.1.1.5 ! root 5486: case 438:
! 5487: #line 2564 "cp-parse.y"
1.1 root 5488: { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
5489: break;}
1.1.1.5 ! root 5490: case 439:
! 5491: #line 2566 "cp-parse.y"
1.1 root 5492: { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
5493: break;}
1.1.1.5 ! root 5494: case 441:
! 5495: #line 2572 "cp-parse.y"
1.1 root 5496: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
5497: break;}
1.1.1.5 ! root 5498: case 442:
! 5499: #line 2574 "cp-parse.y"
1.1 root 5500: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
5501: break;}
1.1.1.5 ! root 5502: case 443:
! 5503: #line 2576 "cp-parse.y"
1.1 root 5504: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, empty_parms (), yyvsp[0].ttype); ;
5505: break;}
1.1.1.5 ! root 5506: case 444:
! 5507: #line 2578 "cp-parse.y"
1.1 root 5508: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, NULL_TREE, NULL_TREE); ;
5509: break;}
1.1.1.5 ! root 5510: case 445:
! 5511: #line 2580 "cp-parse.y"
1.1 root 5512: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
5513: break;}
1.1.1.5 ! root 5514: case 446:
! 5515: #line 2582 "cp-parse.y"
1.1 root 5516: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
5517: break;}
1.1.1.5 ! root 5518: case 447:
! 5519: #line 2584 "cp-parse.y"
1.1 root 5520: { yyval.ttype = yyvsp[-1].ttype; ;
5521: break;}
1.1.1.5 ! root 5522: case 448:
! 5523: #line 2586 "cp-parse.y"
1.1 root 5524: { see_typename (); ;
5525: break;}
1.1.1.5 ! root 5526: case 450:
! 5527: #line 2589 "cp-parse.y"
1.1 root 5528: { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
5529: break;}
1.1.1.5 ! root 5530: case 451:
! 5531: #line 2591 "cp-parse.y"
1.1 root 5532: { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
5533: break;}
1.1.1.5 ! root 5534: case 452:
! 5535: #line 2599 "cp-parse.y"
1.1 root 5536: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
5537: break;}
1.1.1.5 ! root 5538: case 453:
! 5539: #line 2601 "cp-parse.y"
1.1 root 5540: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
5541: break;}
1.1.1.5 ! root 5542: case 454:
! 5543: #line 2603 "cp-parse.y"
1.1 root 5544: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, empty_parms (), yyvsp[0].ttype); ;
5545: break;}
1.1.1.5 ! root 5546: case 455:
! 5547: #line 2605 "cp-parse.y"
1.1 root 5548: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, NULL_TREE, NULL_TREE); ;
5549: break;}
1.1.1.5 ! root 5550: case 456:
! 5551: #line 2607 "cp-parse.y"
1.1 root 5552: { yyval.ttype = yyvsp[-1].ttype; ;
5553: break;}
1.1.1.5 ! root 5554: case 457:
! 5555: #line 2609 "cp-parse.y"
1.1 root 5556: { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
5557: break;}
1.1.1.5 ! root 5558: case 458:
! 5559: #line 2611 "cp-parse.y"
1.1 root 5560: { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
5561: break;}
1.1.1.5 ! root 5562: case 459:
! 5563: #line 2613 "cp-parse.y"
1.1 root 5564: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
5565: break;}
1.1.1.5 ! root 5566: case 460:
! 5567: #line 2615 "cp-parse.y"
1.1 root 5568: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
5569: break;}
1.1.1.5 ! root 5570: case 461:
! 5571: #line 2617 "cp-parse.y"
1.1 root 5572: { see_typename (); ;
5573: break;}
1.1.1.5 ! root 5574: case 462:
! 5575: #line 2621 "cp-parse.y"
1.1 root 5576: { see_typename (); ;
5577: break;}
1.1.1.5 ! root 5578: case 463:
! 5579: #line 2624 "cp-parse.y"
1.1 root 5580: {
1.1.1.4 root 5581: destructor_name:
1.1 root 5582: see_typename ();
1.1.1.4 root 5583: yyval.ttype = build_parse_node (BIT_NOT_EXPR, yyvsp[0].ttype);
1.1 root 5584: ;
5585: break;}
1.1.1.5 ! root 5586: case 464:
! 5587: #line 2630 "cp-parse.y"
1.1.1.4 root 5588: { goto destructor_name; ;
1.1 root 5589: break;}
1.1.1.5 ! root 5590: case 465:
! 5591: #line 2632 "cp-parse.y"
1.1.1.4 root 5592: { goto destructor_name; ;
5593: break;}
1.1.1.5 ! root 5594: case 466:
! 5595: #line 2634 "cp-parse.y"
1.1 root 5596: { see_typename ();
5597: if (TREE_CODE (yyval.ttype) != SCOPE_REF)
5598: yyval.ttype = build_push_scope (yyval.ttype, yyvsp[0].ttype);
5599: else if (TREE_OPERAND (yyval.ttype, 1) == NULL_TREE)
5600: TREE_OPERAND (yyval.ttype, 1) = yyvsp[0].ttype;
5601: else
5602: yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype);
5603: ;
5604: break;}
1.1.1.5 ! root 5605: case 467:
! 5606: #line 2643 "cp-parse.y"
1.1 root 5607: { yyval.ttype = build_push_scope (yyval.ttype, yyvsp[0].ttype); ;
5608: break;}
1.1.1.5 ! root 5609: case 468:
! 5610: #line 2645 "cp-parse.y"
1.1 root 5611: { yyval.ttype = build_push_scope (yyval.ttype, build_parse_node (CALL_EXPR, yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[0].ttype)); ;
5612: break;}
1.1.1.5 ! root 5613: case 469:
! 5614: #line 2647 "cp-parse.y"
1.1 root 5615: { yyval.ttype = build_push_scope (yyval.ttype, build_parse_node (CALL_EXPR, yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[0].ttype)); ;
5616: break;}
1.1.1.5 ! root 5617: case 470:
! 5618: #line 2649 "cp-parse.y"
1.1 root 5619: { yyval.ttype = build_push_scope (yyval.ttype, build_parse_node (CALL_EXPR, yyvsp[-2].ttype, empty_parms (), yyvsp[0].ttype)); ;
5620: break;}
1.1.1.5 ! root 5621: case 471:
! 5622: #line 2651 "cp-parse.y"
1.1 root 5623: { yyval.ttype = build_push_scope (yyval.ttype, build_parse_node (CALL_EXPR, yyvsp[-4].ttype, NULL_TREE, NULL_TREE)); ;
5624: break;}
1.1.1.5 ! root 5625: case 472:
! 5626: #line 2654 "cp-parse.y"
1.1 root 5627: { yyval.ttype = build_push_scope (yyval.ttype, yyvsp[0].ttype); ;
5628: break;}
1.1.1.5 ! root 5629: case 473:
! 5630: #line 2656 "cp-parse.y"
1.1 root 5631: { yyval.ttype = build_push_scope (yyval.ttype, build_parse_node (CALL_EXPR, yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[0].ttype)); ;
5632: break;}
1.1.1.5 ! root 5633: case 474:
! 5634: #line 2658 "cp-parse.y"
1.1 root 5635: { yyval.ttype = build_push_scope (yyval.ttype, build_parse_node (CALL_EXPR, yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[0].ttype)); ;
5636: break;}
1.1.1.5 ! root 5637: case 475:
! 5638: #line 2660 "cp-parse.y"
1.1 root 5639: { yyval.ttype = build_push_scope (yyval.ttype, build_parse_node (CALL_EXPR, yyvsp[-2].ttype, empty_parms (), yyvsp[0].ttype)); ;
5640: break;}
1.1.1.5 ! root 5641: case 476:
! 5642: #line 2662 "cp-parse.y"
1.1 root 5643: { yyval.ttype = build_push_scope (yyval.ttype, build_parse_node (CALL_EXPR, yyvsp[-4].ttype, NULL_TREE, NULL_TREE)); ;
5644: break;}
1.1.1.5 ! root 5645: case 477:
! 5646: #line 2664 "cp-parse.y"
1.1 root 5647: { yyval.ttype = build_parse_node (SCOPE_REF, NULL_TREE, yyvsp[0].ttype); ;
5648: break;}
1.1.1.5 ! root 5649: case 478:
! 5650: #line 2668 "cp-parse.y"
1.1.1.2 root 5651: { yyval.ttype = resolve_scope_to_name (NULL_TREE, yyval.ttype);
5652: if (yyval.ttype == NULL_TREE)
5653: {
5654: error ("undefined explicitly scoped type");
5655: yyval.ttype = error_mark_node;
5656: }
5657: ;
1.1 root 5658: break;}
1.1.1.5 ! root 5659: case 479:
! 5660: #line 2676 "cp-parse.y"
1.1 root 5661: {
5662: if (yyval.ttype == error_mark_node)
5663: /* leave it alone */;
5664: else
5665: {
5666: yyval.ttype = resolve_scope_to_name (NULL_TREE, TYPE_IDENTIFIER (yyval.ttype));
1.1.1.2 root 5667: if (yyval.ttype == NULL_TREE)
5668: {
5669: error ("undefined explicitly scoped type");
5670: yyval.ttype = error_mark_node;
5671: }
1.1 root 5672: }
1.1.1.4 root 5673: /* if ($3) popclass (1); */
1.1 root 5674: ;
5675: break;}
1.1.1.5 ! root 5676: case 482:
! 5677: #line 2697 "cp-parse.y"
1.1.1.4 root 5678: {
5679: /* Kludge!!! See rule "template_type" and the code
5680: * dealing with "template_type_seen_before_scope" in
5681: * yylex(). */
5682: yyval.ttype = yyvsp[0].ttype;
5683: ;
5684: break;}
1.1.1.5 ! root 5685: case 483:
! 5686: #line 2719 "cp-parse.y"
1.1 root 5687: { see_typename ();
5688: yyval.ttype = yyvsp[-1].ttype; ;
5689: break;}
1.1.1.5 ! root 5690: case 484:
! 5691: #line 2723 "cp-parse.y"
1.1 root 5692: { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
5693: break;}
1.1.1.5 ! root 5694: case 485:
! 5695: #line 2725 "cp-parse.y"
1.1 root 5696: { yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ;
5697: break;}
1.1.1.5 ! root 5698: case 486:
! 5699: #line 2727 "cp-parse.y"
1.1 root 5700: { see_typename (); ;
5701: break;}
1.1.1.5 ! root 5702: case 487:
! 5703: #line 2729 "cp-parse.y"
1.1 root 5704: { yyval.ttype = yyvsp[-1].ttype; ;
5705: break;}
1.1.1.5 ! root 5706: case 488:
! 5707: #line 2731 "cp-parse.y"
1.1 root 5708: { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
5709: break;}
1.1.1.5 ! root 5710: case 489:
! 5711: #line 2733 "cp-parse.y"
1.1 root 5712: { yyval.ttype = make_reference_declarator (yyvsp[0].ttype, NULL_TREE); ;
5713: break;}
1.1.1.5 ! root 5714: case 490:
! 5715: #line 2735 "cp-parse.y"
1.1 root 5716: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
5717: break;}
1.1.1.5 ! root 5718: case 491:
! 5719: #line 2737 "cp-parse.y"
1.1 root 5720: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, empty_parms (), yyvsp[0].ttype); ;
5721: break;}
1.1.1.5 ! root 5722: case 492:
! 5723: #line 2739 "cp-parse.y"
1.1 root 5724: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
5725: break;}
1.1.1.5 ! root 5726: case 493:
! 5727: #line 2741 "cp-parse.y"
1.1 root 5728: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
5729: break;}
1.1.1.5 ! root 5730: case 494:
! 5731: #line 2743 "cp-parse.y"
1.1 root 5732: { yyval.ttype = build_parse_node (CALL_EXPR, NULL_TREE, yyvsp[-2].ttype, yyvsp[0].ttype); ;
5733: break;}
1.1.1.5 ! root 5734: case 495:
! 5735: #line 2745 "cp-parse.y"
1.1 root 5736: { yyval.ttype = build_parse_node (CALL_EXPR, NULL_TREE, empty_parms (), yyvsp[0].ttype); ;
5737: break;}
1.1.1.5 ! root 5738: case 496:
! 5739: #line 2747 "cp-parse.y"
1.1 root 5740: { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
5741: break;}
1.1.1.5 ! root 5742: case 497:
! 5743: #line 2749 "cp-parse.y"
1.1 root 5744: { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, NULL_TREE); ;
5745: break;}
1.1.1.5 ! root 5746: case 498:
! 5747: #line 2754 "cp-parse.y"
1.1 root 5748: { tree t;
5749: t = yyval.ttype;
5750: while (TREE_OPERAND (t, 1))
5751: t = TREE_OPERAND (t, 1);
5752: TREE_OPERAND (t, 1) = build_parse_node (INDIRECT_REF, 0);
5753: ;
5754: break;}
1.1.1.5 ! root 5755: case 499:
! 5756: #line 2761 "cp-parse.y"
1.1 root 5757: { tree t;
5758: t = yyval.ttype;
5759: while (TREE_OPERAND (t, 1))
5760: t = TREE_OPERAND (t, 1);
5761: TREE_OPERAND (t, 1) = build_parse_node (INDIRECT_REF, yyvsp[0].ttype);
5762: ;
5763: break;}
1.1.1.5 ! root 5764: case 500:
! 5765: #line 2768 "cp-parse.y"
1.1 root 5766: { tree t;
5767: t = yyval.ttype;
5768: while (TREE_OPERAND (t, 1))
5769: t = TREE_OPERAND (t, 1);
5770: TREE_OPERAND (t, 1) = build_parse_node (ADDR_EXPR, 0);
5771: ;
5772: break;}
1.1.1.5 ! root 5773: case 501:
! 5774: #line 2775 "cp-parse.y"
1.1 root 5775: { tree t;
5776: t = yyval.ttype;
5777: while (TREE_OPERAND (t, 1))
5778: t = TREE_OPERAND (t, 1);
5779: TREE_OPERAND (t, 1) = build_parse_node (ADDR_EXPR, yyvsp[0].ttype);
5780: ;
5781: break;}
1.1.1.5 ! root 5782: case 502:
! 5783: #line 2785 "cp-parse.y"
1.1 root 5784: { tree t;
5785: t = yyval.ttype;
5786: while (TREE_OPERAND (t, 1))
5787: t = TREE_OPERAND (t, 1);
5788: TREE_OPERAND (t, 1) = build_parse_node (INDIRECT_REF, yyvsp[0].ttype);
5789: ;
5790: break;}
1.1.1.5 ! root 5791: case 503:
! 5792: #line 2792 "cp-parse.y"
1.1 root 5793: { tree t;
5794: t = yyval.ttype;
5795: while (TREE_OPERAND (t, 1))
5796: t = TREE_OPERAND (t, 1);
5797: TREE_OPERAND (t, 1) = build_parse_node (ADDR_EXPR, yyvsp[0].ttype);
5798: ;
5799: break;}
1.1.1.5 ! root 5800: case 509:
! 5801: #line 2819 "cp-parse.y"
1.1.1.2 root 5802: { emit_line_note (input_filename, lineno);
1.1 root 5803: pushlevel (0);
5804: clear_last_expr ();
5805: push_momentary ();
1.1.1.5 ! root 5806: expand_start_bindings (0); ;
1.1.1.2 root 5807: break;}
1.1.1.5 ! root 5808: case 511:
! 5809: #line 2831 "cp-parse.y"
1.1.1.2 root 5810: { if (pedantic)
1.1.1.4 root 5811: pedwarn ("ANSI C++ forbids label declarations"); ;
1.1.1.2 root 5812: break;}
1.1.1.5 ! root 5813: case 514:
! 5814: #line 2842 "cp-parse.y"
1.1.1.2 root 5815: { tree link;
5816: for (link = yyvsp[-1].ttype; link; link = TREE_CHAIN (link))
5817: {
5818: tree label = shadow_label (TREE_VALUE (link));
5819: C_DECLARED_LABEL_FLAG (label) = 1;
5820: declare_nonlocal_label (label);
5821: }
1.1 root 5822: ;
5823: break;}
1.1.1.5 ! root 5824: case 515:
! 5825: #line 2856 "cp-parse.y"
1.1 root 5826: {;
5827: break;}
1.1.1.5 ! root 5828: case 517:
! 5829: #line 2861 "cp-parse.y"
1.1 root 5830: { yyval.ttype = convert (void_type_node, integer_zero_node); ;
5831: break;}
1.1.1.5 ! root 5832: case 518:
! 5833: #line 2863 "cp-parse.y"
1.1 root 5834: { pop_implicit_try_blocks (NULL_TREE);
5835: expand_end_bindings (getdecls (), kept_level_p (), 1);
5836: yyval.ttype = poplevel (kept_level_p (), 1, 0);
5837: pop_momentary (); ;
5838: break;}
1.1.1.5 ! root 5839: case 519:
! 5840: #line 2868 "cp-parse.y"
1.1 root 5841: { pop_implicit_try_blocks (NULL_TREE);
5842: expand_end_bindings (getdecls (), kept_level_p (), 1);
5843: yyval.ttype = poplevel (kept_level_p (), 0, 0);
5844: pop_momentary (); ;
5845: break;}
1.1.1.5 ! root 5846: case 520:
! 5847: #line 2876 "cp-parse.y"
! 5848: { cond_stmt_keyword = "if"; ;
! 5849: break;}
! 5850: case 521:
! 5851: #line 2878 "cp-parse.y"
1.1 root 5852: { emit_line_note (input_filename, lineno);
1.1.1.5 ! root 5853: expand_start_cond (truthvalue_conversion (yyvsp[0].ttype), 0); ;
1.1 root 5854: break;}
1.1.1.5 ! root 5855: case 523:
! 5856: #line 2885 "cp-parse.y"
! 5857: { finish_stmt (); ;
1.1 root 5858: break;}
1.1.1.5 ! root 5859: case 524:
! 5860: #line 2887 "cp-parse.y"
! 5861: { pop_implicit_try_blocks (NULL_TREE);
! 5862: expand_end_bindings (getdecls (), kept_level_p (), 1);
! 5863: yyval.ttype = poplevel (kept_level_p (), 1, 0);
! 5864: pop_momentary (); ;
! 5865: break;}
! 5866: case 525:
! 5867: #line 2895 "cp-parse.y"
1.1 root 5868: { finish_stmt (); ;
5869: break;}
1.1.1.5 ! root 5870: case 527:
! 5871: #line 2901 "cp-parse.y"
! 5872: { finish_stmt (); ;
1.1 root 5873: break;}
1.1.1.5 ! root 5874: case 528:
! 5875: #line 2903 "cp-parse.y"
1.1 root 5876: {
5877: tree expr = yyvsp[-1].ttype;
5878: emit_line_note (input_filename, lineno);
5879: /* Do default conversion if safe and possibly important,
5880: in case within ({...}). */
5881: if ((TREE_CODE (TREE_TYPE (expr)) == ARRAY_TYPE
5882: && lvalue_p (expr))
5883: || TREE_CODE (TREE_TYPE (expr)) == FUNCTION_TYPE)
5884: expr = default_conversion (expr);
5885: cplus_expand_expr_stmt (expr);
5886: clear_momentary ();
5887: finish_stmt (); ;
5888: break;}
1.1.1.5 ! root 5889: case 529:
! 5890: #line 2916 "cp-parse.y"
! 5891: { expand_start_else (); ;
1.1 root 5892: break;}
1.1.1.5 ! root 5893: case 530:
! 5894: #line 2918 "cp-parse.y"
1.1 root 5895: { expand_end_cond ();
5896: finish_stmt (); ;
5897: break;}
1.1.1.5 ! root 5898: case 531:
! 5899: #line 2921 "cp-parse.y"
1.1 root 5900: { expand_end_cond ();
5901: finish_stmt (); ;
5902: break;}
1.1.1.5 ! root 5903: case 532:
! 5904: #line 2924 "cp-parse.y"
1.1 root 5905: { emit_nop ();
5906: emit_line_note (input_filename, lineno);
1.1.1.5 ! root 5907: expand_start_loop (1);
! 5908: cond_stmt_keyword = "while"; ;
1.1 root 5909: break;}
1.1.1.5 ! root 5910: case 533:
! 5911: #line 2929 "cp-parse.y"
! 5912: { expand_exit_loop_if_false (0, truthvalue_conversion (yyvsp[0].ttype)); ;
! 5913: break;}
! 5914: case 534:
! 5915: #line 2931 "cp-parse.y"
! 5916: { expand_end_loop ();
1.1 root 5917: finish_stmt (); ;
5918: break;}
1.1.1.5 ! root 5919: case 535:
! 5920: #line 2934 "cp-parse.y"
1.1 root 5921: { emit_nop ();
5922: emit_line_note (input_filename, lineno);
1.1.1.5 ! root 5923: expand_start_loop_continue_elsewhere (1); ;
1.1 root 5924: break;}
1.1.1.5 ! root 5925: case 536:
! 5926: #line 2938 "cp-parse.y"
! 5927: { expand_loop_continue_here ();
! 5928: cond_stmt_keyword = "do"; ;
1.1 root 5929: break;}
1.1.1.5 ! root 5930: case 537:
! 5931: #line 2941 "cp-parse.y"
1.1 root 5932: { emit_line_note (input_filename, lineno);
1.1.1.5 ! root 5933: expand_exit_loop_if_false (0, truthvalue_conversion (yyvsp[-1].ttype));
1.1 root 5934: expand_end_loop ();
5935: clear_momentary ();
5936: finish_stmt (); ;
5937: break;}
1.1.1.5 ! root 5938: case 538:
! 5939: #line 2947 "cp-parse.y"
1.1 root 5940: { emit_nop ();
5941: emit_line_note (input_filename, lineno);
5942: if (yyvsp[0].ttype) cplus_expand_expr_stmt (yyvsp[0].ttype);
5943: expand_start_loop_continue_elsewhere (1); ;
5944: break;}
1.1.1.5 ! root 5945: case 539:
! 5946: #line 2952 "cp-parse.y"
1.1 root 5947: { emit_line_note (input_filename, lineno);
5948: if (yyvsp[-1].ttype) expand_exit_loop_if_false (0, truthvalue_conversion (yyvsp[-1].ttype)); ;
5949: break;}
1.1.1.5 ! root 5950: case 540:
! 5951: #line 2957 "cp-parse.y"
! 5952: { push_momentary (); ;
1.1 root 5953: break;}
1.1.1.5 ! root 5954: case 541:
! 5955: #line 2959 "cp-parse.y"
1.1 root 5956: { emit_line_note (input_filename, lineno);
5957: expand_loop_continue_here ();
5958: if (yyvsp[-3].ttype) cplus_expand_expr_stmt (yyvsp[-3].ttype);
5959: pop_momentary ();
5960: expand_end_loop ();
5961: finish_stmt (); ;
5962: break;}
1.1.1.5 ! root 5963: case 542:
! 5964: #line 2966 "cp-parse.y"
1.1 root 5965: { emit_nop ();
5966: emit_line_note (input_filename, lineno);
5967: expand_start_loop_continue_elsewhere (1); ;
5968: break;}
1.1.1.5 ! root 5969: case 543:
! 5970: #line 2970 "cp-parse.y"
1.1 root 5971: { emit_line_note (input_filename, lineno);
5972: if (yyvsp[-1].ttype) expand_exit_loop_if_false (0, truthvalue_conversion (yyvsp[-1].ttype)); ;
5973: break;}
1.1.1.5 ! root 5974: case 544:
! 5975: #line 2975 "cp-parse.y"
1.1 root 5976: { push_momentary ();
5977: yyvsp[0].itype = lineno; ;
5978: break;}
1.1.1.5 ! root 5979: case 545:
! 5980: #line 2978 "cp-parse.y"
! 5981: { emit_line_note (input_filename, (int) yyvsp[-2].itype);
1.1 root 5982: expand_loop_continue_here ();
5983: if (yyvsp[-3].ttype) cplus_expand_expr_stmt (yyvsp[-3].ttype);
5984: pop_momentary ();
5985: expand_end_loop ();
5986: pop_implicit_try_blocks (NULL_TREE);
5987: if (yyvsp[-8].itype)
5988: {
1.1.1.4 root 5989: register int keep = yyvsp[-8].itype > 0;
1.1 root 5990: if (keep) expand_end_bindings (0, keep, 1);
5991: poplevel (keep, 1, 0);
5992: pop_momentary ();
5993: }
5994: finish_stmt ();
5995: ;
5996: break;}
1.1.1.5 ! root 5997: case 546:
! 5998: #line 2994 "cp-parse.y"
1.1 root 5999: { emit_line_note (input_filename, lineno);
6000: c_expand_start_case (yyvsp[-1].ttype);
6001: /* Don't let the tree nodes for $3 be discarded by
6002: clear_momentary during the parsing of the next stmt. */
1.1.1.5 ! root 6003: push_momentary (); ;
1.1 root 6004: break;}
1.1.1.5 ! root 6005: case 547:
! 6006: #line 3000 "cp-parse.y"
1.1 root 6007: { expand_end_case (yyvsp[-3].ttype);
6008: pop_momentary ();
6009: finish_stmt (); ;
6010: break;}
1.1.1.5 ! root 6011: case 548:
! 6012: #line 3004 "cp-parse.y"
1.1 root 6013: { register tree value = yyvsp[-1].ttype;
6014: register tree label
6015: = build_decl (LABEL_DECL, NULL_TREE, NULL_TREE);
6016:
6017: /* build_c_cast puts on a NOP_EXPR to make a non-lvalue.
6018: Strip such NOP_EXPRs. */
6019: if (TREE_CODE (value) == NOP_EXPR
6020: && TREE_TYPE (value) == TREE_TYPE (TREE_OPERAND (value, 0)))
6021: value = TREE_OPERAND (value, 0);
6022:
6023: if (TREE_READONLY_DECL_P (value))
6024: {
6025: value = decl_constant_value (value);
6026: /* build_c_cast puts on a NOP_EXPR to make a non-lvalue.
6027: Strip such NOP_EXPRs. */
6028: if (TREE_CODE (value) == NOP_EXPR
6029: && TREE_TYPE (value) == TREE_TYPE (TREE_OPERAND (value, 0)))
6030: value = TREE_OPERAND (value, 0);
6031: }
6032: value = fold (value);
6033:
6034: if (TREE_CODE (value) != INTEGER_CST
6035: && value != error_mark_node)
6036: {
6037: error ("case label does not reduce to an integer constant");
6038: value = error_mark_node;
6039: }
6040: else
6041: /* Promote char or short to int. */
6042: value = default_conversion (value);
6043: if (value != error_mark_node)
6044: {
6045: tree duplicate;
6046: int success = pushcase (value, label, &duplicate);
6047: if (success == 1)
6048: error ("case label not within a switch statement");
6049: else if (success == 2)
6050: {
6051: error ("duplicate case value");
6052: error_with_decl (duplicate, "this is the first entry for that value");
6053: }
6054: else if (success == 3)
6055: warning ("case value out of range");
6056: else if (success == 5)
6057: error ("case label within scope of cleanup or variable array");
6058: }
6059: define_case_label (label);
6060: ;
6061: break;}
1.1.1.5 ! root 6062: case 550:
! 6063: #line 3054 "cp-parse.y"
1.1 root 6064: { register tree value1 = yyvsp[-3].ttype;
6065: register tree value2 = yyvsp[-1].ttype;
6066: register tree label
6067: = build_decl (LABEL_DECL, NULL_TREE, NULL_TREE);
6068:
6069: if (pedantic)
1.1.1.4 root 6070: pedwarn ("ANSI C++ forbids range expressions in switch statement");
6071:
1.1 root 6072: /* build_c_cast puts on a NOP_EXPR to make a non-lvalue.
6073: Strip such NOP_EXPRs. */
6074: if (TREE_CODE (value1) == NOP_EXPR
6075: && TREE_TYPE (value1) == TREE_TYPE (TREE_OPERAND (value1, 0)))
6076: value1 = TREE_OPERAND (value1, 0);
6077:
6078: if (TREE_READONLY_DECL_P (value1))
6079: {
6080: value1 = decl_constant_value (value1);
6081: /* build_c_cast puts on a NOP_EXPR to make a non-lvalue.
6082: Strip such NOP_EXPRs. */
6083: if (TREE_CODE (value1) == NOP_EXPR
6084: && TREE_TYPE (value1) == TREE_TYPE (TREE_OPERAND (value1, 0)))
6085: value1 = TREE_OPERAND (value1, 0);
6086: }
6087: value1 = fold (value1);
6088:
6089: /* build_c_cast puts on a NOP_EXPR to make a non-lvalue.
6090: Strip such NOP_EXPRs. */
6091: if (TREE_CODE (value2) == NOP_EXPR
6092: && TREE_TYPE (value2) == TREE_TYPE (TREE_OPERAND (value2, 0)))
6093: value2 = TREE_OPERAND (value2, 0);
6094:
6095: if (TREE_READONLY_DECL_P (value2))
6096: {
6097: value2 = decl_constant_value (value2);
6098: /* build_c_cast puts on a NOP_EXPR to make a non-lvalue.
6099: Strip such NOP_EXPRs. */
6100: if (TREE_CODE (value2) == NOP_EXPR
6101: && TREE_TYPE (value2) == TREE_TYPE (TREE_OPERAND (value2, 0)))
6102: value2 = TREE_OPERAND (value2, 0);
6103: }
6104: value2 = fold (value2);
6105:
6106:
6107: if (TREE_CODE (value1) != INTEGER_CST
6108: && value1 != error_mark_node)
6109: {
6110: error ("case label does not reduce to an integer constant");
6111: value1 = error_mark_node;
6112: }
6113: if (TREE_CODE (value2) != INTEGER_CST
6114: && value2 != error_mark_node)
6115: {
6116: error ("case label does not reduce to an integer constant");
6117: value2 = error_mark_node;
6118: }
6119: if (value1 != error_mark_node
6120: && value2 != error_mark_node)
6121: {
6122: tree duplicate;
1.1.1.2 root 6123: int success = pushcase_range (value1, value2, label,
6124: &duplicate);
1.1 root 6125: if (success == 1)
6126: error ("case label not within a switch statement");
6127: else if (success == 2)
6128: {
6129: error ("duplicate (or overlapping) case value");
6130: error_with_decl (duplicate, "this is the first entry overlapping that value");
6131: }
6132: else if (success == 3)
6133: warning ("case value out of range");
6134: else if (success == 4)
6135: warning ("empty range specified");
6136: else if (success == 5)
6137: error ("case label within scope of cleanup or variable array");
6138: }
6139: define_case_label (label);
6140: ;
6141: break;}
1.1.1.5 ! root 6142: case 552:
! 6143: #line 3133 "cp-parse.y"
1.1 root 6144: {
6145: tree duplicate;
6146: register tree label
6147: = build_decl (LABEL_DECL, NULL_TREE, NULL_TREE);
6148: int success = pushcase (NULL_TREE, label, &duplicate);
6149: if (success == 1)
6150: error ("default label not within a switch statement");
6151: else if (success == 2)
6152: {
6153: error ("multiple default labels in one switch");
6154: error_with_decl (duplicate, "this is the first default label");
6155: }
6156: define_case_label (NULL_TREE);
6157: ;
6158: break;}
1.1.1.5 ! root 6159: case 554:
! 6160: #line 3149 "cp-parse.y"
1.1 root 6161: { emit_line_note (input_filename, lineno);
6162: if ( ! expand_exit_something ())
6163: error ("break statement not within loop or switch"); ;
6164: break;}
1.1.1.5 ! root 6165: case 555:
! 6166: #line 3153 "cp-parse.y"
1.1 root 6167: { emit_line_note (input_filename, lineno);
6168: if (! expand_continue_loop (0))
6169: error ("continue statement not within a loop"); ;
6170: break;}
1.1.1.5 ! root 6171: case 556:
! 6172: #line 3157 "cp-parse.y"
1.1 root 6173: { emit_line_note (input_filename, lineno);
6174: c_expand_return (NULL_TREE); ;
6175: break;}
1.1.1.5 ! root 6176: case 557:
! 6177: #line 3160 "cp-parse.y"
1.1 root 6178: { emit_line_note (input_filename, lineno);
6179: c_expand_return (yyvsp[-1].ttype);
6180: finish_stmt ();
6181: ;
6182: break;}
1.1.1.5 ! root 6183: case 558:
! 6184: #line 3165 "cp-parse.y"
1.1 root 6185: { if (TREE_CHAIN (yyvsp[-2].ttype)) yyvsp[-2].ttype = combine_strings (yyvsp[-2].ttype);
6186: emit_line_note (input_filename, lineno);
6187: expand_asm (yyvsp[-2].ttype);
6188: finish_stmt ();
6189: ;
6190: break;}
1.1.1.5 ! root 6191: case 559:
! 6192: #line 3172 "cp-parse.y"
1.1 root 6193: { if (TREE_CHAIN (yyvsp[-4].ttype)) yyvsp[-4].ttype = combine_strings (yyvsp[-4].ttype);
6194: emit_line_note (input_filename, lineno);
6195: c_expand_asm_operands (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE,
6196: yyvsp[-6].ttype == ridpointers[(int)RID_VOLATILE],
6197: input_filename, lineno);
6198: finish_stmt ();
6199: ;
6200: break;}
1.1.1.5 ! root 6201: case 560:
! 6202: #line 3181 "cp-parse.y"
1.1 root 6203: { if (TREE_CHAIN (yyvsp[-6].ttype)) yyvsp[-6].ttype = combine_strings (yyvsp[-6].ttype);
6204: emit_line_note (input_filename, lineno);
6205: c_expand_asm_operands (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE,
6206: yyvsp[-8].ttype == ridpointers[(int)RID_VOLATILE],
6207: input_filename, lineno);
6208: finish_stmt ();
6209: ;
6210: break;}
1.1.1.5 ! root 6211: case 561:
! 6212: #line 3191 "cp-parse.y"
1.1 root 6213: { if (TREE_CHAIN (yyvsp[-8].ttype)) yyvsp[-8].ttype = combine_strings (yyvsp[-8].ttype);
6214: emit_line_note (input_filename, lineno);
6215: c_expand_asm_operands (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype,
6216: yyvsp[-10].ttype == ridpointers[(int)RID_VOLATILE],
6217: input_filename, lineno);
6218: finish_stmt ();
6219: ;
6220: break;}
1.1.1.5 ! root 6221: case 562:
! 6222: #line 3199 "cp-parse.y"
1.1.1.4 root 6223: { emit_line_note (input_filename, lineno);
6224: expand_computed_goto (yyvsp[-1].ttype); ;
6225: break;}
1.1.1.5 ! root 6226: case 563:
! 6227: #line 3202 "cp-parse.y"
1.1 root 6228: { tree decl;
6229: emit_line_note (input_filename, lineno);
6230: decl = lookup_label (yyvsp[-1].ttype);
6231: TREE_USED (decl) = 1;
6232: expand_goto (decl); ;
6233: break;}
1.1.1.5 ! root 6234: case 564:
! 6235: #line 3208 "cp-parse.y"
1.1 root 6236: { finish_stmt (); ;
6237: break;}
1.1.1.5 ! root 6238: case 565:
! 6239: #line 3210 "cp-parse.y"
1.1 root 6240: { error ("label must be followed by statement");
6241: yyungetc ('}', 0);
6242: finish_stmt (); ;
6243: break;}
1.1.1.5 ! root 6244: case 566:
! 6245: #line 3214 "cp-parse.y"
1.1 root 6246: { finish_stmt (); ;
6247: break;}
1.1.1.5 ! root 6248: case 567:
! 6249: #line 3217 "cp-parse.y"
1.1 root 6250: { cplus_expand_throw (NULL_TREE); ;
6251: break;}
1.1.1.5 ! root 6252: case 568:
! 6253: #line 3218 "cp-parse.y"
1.1 root 6254: { cplus_expand_throw (yyvsp[-1].ttype); ;
6255: break;}
1.1.1.5 ! root 6256: case 569:
! 6257: #line 3220 "cp-parse.y"
1.1 root 6258: { cplus_expand_raise (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, 0);
6259: finish_stmt (); ;
6260: break;}
1.1.1.5 ! root 6261: case 570:
! 6262: #line 3223 "cp-parse.y"
1.1 root 6263: { cplus_expand_raise (yyvsp[-2].ttype, NULL_TREE, NULL_TREE, 0);
6264: finish_stmt (); ;
6265: break;}
1.1.1.5 ! root 6266: case 571:
! 6267: #line 3226 "cp-parse.y"
1.1 root 6268: { cplus_expand_raise (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, 0);
6269: finish_stmt (); ;
6270: break;}
1.1.1.5 ! root 6271: case 572:
! 6272: #line 3229 "cp-parse.y"
1.1 root 6273: { cplus_expand_raise (yyvsp[-2].ttype, NULL_TREE, NULL_TREE, 0);
6274: finish_stmt (); ;
6275: break;}
1.1.1.5 ! root 6276: case 573:
! 6277: #line 3232 "cp-parse.y"
1.1 root 6278: { cplus_expand_reraise (yyvsp[-1].ttype);
6279: finish_stmt (); ;
6280: break;}
1.1.1.5 ! root 6281: case 574:
! 6282: #line 3235 "cp-parse.y"
1.1 root 6283: {
6284: tree decl = cplus_expand_end_try (yyvsp[-3].itype);
6285: yyvsp[-2].ttype = current_exception_type;
6286: yyvsp[0].ttype = current_exception_decl;
6287: yyval.ttype = current_exception_object;
6288: cplus_expand_start_except (yyvsp[-1].ttype, decl);
6289: pushlevel (0);
6290: clear_last_expr ();
6291: push_momentary ();
6292: expand_start_bindings (0);
6293: ;
6294: break;}
1.1.1.5 ! root 6295: case 575:
! 6296: #line 3247 "cp-parse.y"
1.1 root 6297: {
6298: tree decls = getdecls ();
6299: /* If there is a default exception to handle,
6300: handle it here. */
6301: if (yyvsp[-1].ttype)
6302: {
6303: tree decl = build_decl (CPLUS_CATCH_DECL, NULL_TREE, 0);
6304: tree block;
6305:
6306: pushlevel (1);
6307: expand_start_bindings (0);
6308: expand_expr (yyvsp[-1].ttype, 0, 0, 0);
6309: expand_end_bindings (0, 1, 0);
6310: block = poplevel (1, 0, 0);
6311:
6312: /* This is a catch block. */
6313: TREE_LANG_FLAG_2 (block) = 1;
6314: BLOCK_VARS (block) = decl;
6315: }
6316:
6317: expand_end_bindings (decls, decls != 0, 1);
6318: poplevel (decls != 0, 1, 0);
6319: pop_momentary ();
6320: current_exception_type = yyvsp[-5].ttype;
6321: current_exception_decl = yyvsp[-3].ttype;
6322: current_exception_object = yyvsp[-2].ttype;
6323: cplus_expand_end_except (yyvsp[-1].ttype);
6324: ;
6325: break;}
1.1.1.5 ! root 6326: case 576:
! 6327: #line 3276 "cp-parse.y"
1.1 root 6328: {
6329: cplus_expand_end_try (yyvsp[-1].itype);
6330: /* These are the important actions of
6331: `cplus_expand_end_except' which we must emulate. */
6332: if (expand_escape_except ())
6333: expand_end_except ();
6334: expand_end_bindings (0, 0, 1);
6335: poplevel (0, 0, 0);
6336: ;
6337: break;}
1.1.1.5 ! root 6338: case 577:
! 6339: #line 3286 "cp-parse.y"
1.1 root 6340: {
6341: tree decl = cplus_expand_end_try (yyvsp[-2].itype);
6342: yyvsp[-1].ttype = current_exception_type;
6343: yyvsp[0].ttype = current_exception_decl;
6344: yyval.ttype = current_exception_object;
6345: cplus_expand_start_except (NULL, decl);
6346: pushlevel (0);
6347: clear_last_expr ();
6348: push_momentary ();
6349: expand_start_bindings (0);
6350: ;
6351: break;}
1.1.1.5 ! root 6352: case 578:
! 6353: #line 3298 "cp-parse.y"
1.1 root 6354: {
6355: tree decls = getdecls ();
6356: /* If there is a default exception to handle,
6357: handle it here. */
6358: if (yyvsp[0].ttype)
6359: {
6360: tree decl = build_decl (CPLUS_CATCH_DECL, NULL_TREE, 0);
6361: tree block;
6362:
6363: pushlevel (1);
6364: expand_start_bindings (0);
6365: expand_expr (yyvsp[0].ttype, 0, 0, 0);
6366: expand_end_bindings (0, 1, 0);
6367: block = poplevel (1, 0, 0);
6368:
6369: /* This is a catch block. */
6370: TREE_LANG_FLAG_2 (block) = 1;
6371: BLOCK_VARS (block) = decl;
6372: }
6373:
6374: expand_end_bindings (decls, decls != 0, 1);
6375: poplevel (decls != 0, 1, 0);
6376: pop_momentary ();
6377: current_exception_type = yyvsp[-3].ttype;
6378: current_exception_decl = yyvsp[-2].ttype;
6379: current_exception_object = yyvsp[-1].ttype;
6380: cplus_expand_end_except (yyvsp[0].ttype);
6381: ;
6382: break;}
1.1.1.5 ! root 6383: case 579:
! 6384: #line 3327 "cp-parse.y"
1.1 root 6385: { tree name = get_identifier ("(compiler error)");
6386: tree orig_ex_type = current_exception_type;
6387: tree orig_ex_decl = current_exception_decl;
6388: tree orig_ex_obj = current_exception_object;
6389: tree decl = cplus_expand_end_try (yyvsp[-2].itype), decls;
6390:
6391: /* Start hidden EXCEPT. */
6392: cplus_expand_start_except (name, decl);
6393: pushlevel (0);
6394: clear_last_expr ();
6395: push_momentary ();
6396: expand_start_bindings (0);
6397:
6398: /* This sets up the reraise. */
6399: cplus_expand_reraise (yyvsp[0].ttype);
6400:
6401: decls = getdecls ();
6402: expand_end_bindings (decls, decls != 0, 1);
6403: poplevel (decls != 0, 1, 0);
6404: pop_momentary ();
6405: current_exception_type = orig_ex_type;
6406: current_exception_decl = orig_ex_decl;
6407: current_exception_object = orig_ex_obj;
6408: /* This will reraise for us. */
6409: cplus_expand_end_except (error_mark_node);
6410: if (yychar == YYEMPTY)
6411: yychar = YYLEX;
6412: if (yychar != ';')
6413: error ("missing ';' after reraise statement");
6414: ;
6415: break;}
1.1.1.5 ! root 6416: case 580:
! 6417: #line 3358 "cp-parse.y"
1.1 root 6418: { yyerror ("`except' missing after `try' statement");
6419: /* Terminate the binding contour started by special
6420: code in `.pushlevel'. Automagically pops off
6421: the conditional we started for `try' stmt. */
6422: cplus_expand_end_try (yyvsp[0].itype);
6423: expand_end_bindings (0, 0, 1);
6424: poplevel (0, 0, 0);
6425: pop_momentary ();
6426: YYERROR; ;
6427: break;}
1.1.1.5 ! root 6428: case 581:
! 6429: #line 3373 "cp-parse.y"
1.1 root 6430: {
6431: yyval.itype = 1;
6432: pop_implicit_try_blocks (NULL_TREE);
6433: ;
6434: break;}
1.1.1.5 ! root 6435: case 582:
! 6436: #line 3378 "cp-parse.y"
1.1 root 6437: {
6438: yyval.itype = 1;
6439: pop_implicit_try_blocks (NULL_TREE);
6440: ;
6441: break;}
1.1.1.5 ! root 6442: case 583:
! 6443: #line 3383 "cp-parse.y"
1.1 root 6444: {
6445: yyval.itype = 0;
6446: pop_implicit_try_blocks (NULL_TREE);
6447: ;
6448: break;}
1.1.1.5 ! root 6449: case 584:
! 6450: #line 3391 "cp-parse.y"
1.1 root 6451: { tree label;
6452: do_label:
6453: label = define_label (input_filename, lineno, yyvsp[-1].ttype);
6454: if (label)
6455: expand_label (label);
6456: ;
6457: break;}
1.1.1.5 ! root 6458: case 585:
! 6459: #line 3398 "cp-parse.y"
1.1 root 6460: { goto do_label; ;
6461: break;}
1.1.1.5 ! root 6462: case 586:
! 6463: #line 3400 "cp-parse.y"
1.1 root 6464: { tree label = define_label (input_filename, lineno, yyvsp[0].ttype);
6465: if (label)
6466: expand_label (label);
6467: ;
6468: break;}
1.1.1.5 ! root 6469: case 587:
! 6470: #line 3406 "cp-parse.y"
1.1 root 6471: { cplus_expand_start_try (0); ;
6472: break;}
1.1.1.5 ! root 6473: case 589:
! 6474: #line 3412 "cp-parse.y"
1.1 root 6475: {
6476: yyval.itype = 1;
6477: pop_implicit_try_blocks (NULL_TREE);
6478: ;
6479: break;}
1.1.1.5 ! root 6480: case 590:
! 6481: #line 3417 "cp-parse.y"
1.1 root 6482: {
6483: yyval.itype = 1;
6484: pop_implicit_try_blocks (NULL_TREE);
6485: ;
6486: break;}
1.1.1.5 ! root 6487: case 591:
! 6488: #line 3422 "cp-parse.y"
1.1 root 6489: {
6490: yyval.itype = 0;
6491: pop_implicit_try_blocks (NULL_TREE);
6492: ;
6493: break;}
1.1.1.5 ! root 6494: case 593:
! 6495: #line 3429 "cp-parse.y"
1.1 root 6496: { cplus_expand_start_try (0); ;
6497: break;}
1.1.1.5 ! root 6498: case 595:
! 6499: #line 3433 "cp-parse.y"
1.1 root 6500: { yyval.ttype = NULL_TREE; ;
6501: break;}
1.1.1.5 ! root 6502: case 596:
! 6503: #line 3435 "cp-parse.y"
1.1 root 6504: {
6505: tree type = lookup_exception_type (current_class_type, current_class_name, yyvsp[0].ttype);
6506: if (type == NULL_TREE)
6507: {
6508: error ("`%s' is not an exception type",
6509: IDENTIFIER_POINTER (TREE_VALUE (yyvsp[0].ttype)));
6510: current_exception_type = NULL_TREE;
6511: TREE_TYPE (current_exception_object) = error_mark_node;
6512: }
6513: else
6514: {
6515: current_exception_type = type;
6516: /* In-place union. */
6517: TREE_TYPE (current_exception_object) = type;
6518: }
6519: yyvsp[0].ttype = cplus_expand_start_catch (yyvsp[0].ttype);
6520: pushlevel (1);
6521: expand_start_bindings (0);
6522: ;
6523: break;}
1.1.1.5 ! root 6524: case 597:
! 6525: #line 3455 "cp-parse.y"
1.1 root 6526: {
6527: expand_end_bindings (0, 1, 0);
6528: yyvsp[0].ttype = poplevel (1, 0, 0);
6529:
6530: cplus_expand_end_catch (0);
6531:
6532: /* Mark this as a catch block. */
6533: TREE_LANG_FLAG_2 (yyvsp[0].ttype) = 1;
6534: if (yyvsp[-2].ttype != error_mark_node)
6535: {
6536: tree decl = build_decl (CPLUS_CATCH_DECL, DECL_NAME (yyvsp[-2].ttype), 0);
6537: DECL_RTL (decl) = DECL_RTL (yyvsp[-2].ttype);
6538: TREE_CHAIN (decl) = BLOCK_VARS (yyvsp[0].ttype);
6539: BLOCK_VARS (yyvsp[0].ttype) = decl;
6540: }
6541: ;
6542: break;}
1.1.1.5 ! root 6543: case 598:
! 6544: #line 3472 "cp-parse.y"
1.1 root 6545: {
6546: if (yyvsp[-1].ttype)
6547: error ("duplicate default in exception handler");
6548: current_exception_type = NULL_TREE;
6549: /* Takes it right out of scope. */
6550: TREE_TYPE (current_exception_object) = error_mark_node;
6551:
6552: if (! expand_catch_default ())
6553: compiler_error ("default catch botch");
6554:
6555: /* The default exception is handled as the
6556: last in the chain of exceptions handled. */
6557: do_pending_stack_adjust ();
6558: start_sequence ();
6559: yyvsp[-1].ttype = make_node (RTL_EXPR);
6560: TREE_TYPE (yyvsp[-1].ttype) = void_type_node;
6561: ;
6562: break;}
1.1.1.5 ! root 6563: case 599:
! 6564: #line 3490 "cp-parse.y"
1.1 root 6565: {
1.1.1.4 root 6566: extern struct rtx_def *get_insns ();
1.1 root 6567: do_pending_stack_adjust ();
6568: if (! expand_catch (NULL_TREE))
6569: compiler_error ("except nesting botch");
6570: if (! expand_end_catch ())
6571: compiler_error ("except nesting botch");
1.1.1.4 root 6572: RTL_EXPR_SEQUENCE (yyvsp[-3].ttype) = get_insns ();
1.1 root 6573: if (yyvsp[0].ttype)
6574: {
6575: /* Mark this block as the default catch block. */
6576: TREE_LANG_FLAG_1 (yyvsp[0].ttype) = 1;
6577: TREE_LANG_FLAG_2 (yyvsp[0].ttype) = 1;
6578: }
6579: end_sequence ();
6580: ;
6581: break;}
1.1.1.5 ! root 6582: case 600:
! 6583: #line 3510 "cp-parse.y"
1.1 root 6584: { yyval.ttype = NULL_TREE; ;
6585: break;}
1.1.1.5 ! root 6586: case 602:
! 6587: #line 3515 "cp-parse.y"
1.1 root 6588: { yyval.ttype = NULL_TREE; ;
6589: break;}
1.1.1.5 ! root 6590: case 603:
! 6591: #line 3517 "cp-parse.y"
1.1 root 6592: {
6593: tree type = groktypename (yyvsp[-2].ttype);
6594: current_exception_type = type;
6595: /* In-place union. */
6596: if (yyvsp[-1].ttype)
6597: {
6598: tree tmp;
6599: tmp = pushdecl (build_decl (VAR_DECL, yyvsp[-1].ttype, type));
6600: current_exception_object =
6601: build1 (INDIRECT_REF, type, tmp);
6602: }
6603: yyvsp[-2].ttype = ansi_expand_start_catch(type);
6604: pushlevel (1);
6605: expand_start_bindings (0);
6606: ;
6607: break;}
1.1.1.5 ! root 6608: case 604:
! 6609: #line 3533 "cp-parse.y"
1.1 root 6610: {
6611: expand_end_bindings (0, 1, 0);
6612: yyvsp[0].ttype = poplevel (1, 0, 0);
6613:
6614: cplus_expand_end_catch (0);
6615:
6616: /* Mark this as a catch block. */
6617: TREE_LANG_FLAG_2 (yyvsp[0].ttype) = 1;
6618: if (yyvsp[-4].ttype != error_mark_node)
6619: {
6620: tree decl = build_decl (CPLUS_CATCH_DECL, DECL_NAME (yyvsp[-4].ttype), 0);
6621: DECL_RTL (decl) = DECL_RTL (yyvsp[-4].ttype);
6622: TREE_CHAIN (decl) = BLOCK_VARS (yyvsp[0].ttype);
6623: BLOCK_VARS (yyvsp[0].ttype) = decl;
6624: }
6625: ;
6626: break;}
1.1.1.5 ! root 6627: case 605:
! 6628: #line 3553 "cp-parse.y"
1.1 root 6629: { yyval.ttype = NULL_TREE; ;
6630: break;}
1.1.1.5 ! root 6631: case 606:
! 6632: #line 3555 "cp-parse.y"
1.1 root 6633: { yyval.ttype = yyvsp[-1].ttype; ;
6634: break;}
1.1.1.5 ! root 6635: case 607:
! 6636: #line 3557 "cp-parse.y"
1.1 root 6637: { yyval.ttype = NULL_TREE; ;
6638: break;}
1.1.1.5 ! root 6639: case 608:
! 6640: #line 3562 "cp-parse.y"
1.1 root 6641: { yyval.itype = 0; ;
6642: break;}
1.1.1.5 ! root 6643: case 609:
! 6644: #line 3564 "cp-parse.y"
1.1 root 6645: { yyval.itype = 0; ;
6646: break;}
1.1.1.5 ! root 6647: case 610:
! 6648: #line 3566 "cp-parse.y"
1.1 root 6649: { yyval.itype = 1; ;
6650: break;}
1.1.1.5 ! root 6651: case 611:
! 6652: #line 3568 "cp-parse.y"
1.1 root 6653: { yyval.itype = -1; ;
6654: break;}
1.1.1.5 ! root 6655: case 612:
! 6656: #line 3575 "cp-parse.y"
! 6657: { emit_line_note (input_filename, lineno); ;
1.1 root 6658: break;}
1.1.1.5 ! root 6659: case 613:
! 6660: #line 3577 "cp-parse.y"
! 6661: { emit_line_note (input_filename, lineno); ;
1.1 root 6662: break;}
1.1.1.5 ! root 6663: case 614:
! 6664: #line 3582 "cp-parse.y"
1.1 root 6665: { yyval.ttype = NULL_TREE; ;
6666: break;}
1.1.1.5 ! root 6667: case 616:
! 6668: #line 3585 "cp-parse.y"
1.1 root 6669: { yyval.ttype = NULL_TREE; ;
6670: break;}
1.1.1.5 ! root 6671: case 617:
! 6672: #line 3591 "cp-parse.y"
1.1 root 6673: { yyval.ttype = NULL_TREE; ;
6674: break;}
1.1.1.5 ! root 6675: case 620:
! 6676: #line 3598 "cp-parse.y"
1.1 root 6677: { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
6678: break;}
1.1.1.5 ! root 6679: case 621:
! 6680: #line 3603 "cp-parse.y"
1.1 root 6681: { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[-1].ttype); ;
6682: break;}
1.1.1.5 ! root 6683: case 622:
! 6684: #line 3608 "cp-parse.y"
1.1 root 6685: { yyval.ttype = tree_cons (NULL_TREE, yyval.ttype, NULL_TREE); ;
6686: break;}
1.1.1.5 ! root 6687: case 623:
! 6688: #line 3610 "cp-parse.y"
1.1 root 6689: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
6690: break;}
1.1.1.5 ! root 6691: case 624:
! 6692: #line 3619 "cp-parse.y"
1.1 root 6693: {
6694: if (strict_prototype)
6695: yyval.ttype = void_list_node;
6696: else
6697: yyval.ttype = NULL_TREE;
6698: ;
6699: break;}
1.1.1.5 ! root 6700: case 625:
! 6701: #line 3626 "cp-parse.y"
1.1 root 6702: {
6703: yyval.ttype = chainon (yyval.ttype, void_list_node);
6704: TREE_PARMLIST (yyval.ttype) = 1;
6705: ;
6706: break;}
1.1.1.5 ! root 6707: case 626:
! 6708: #line 3631 "cp-parse.y"
1.1 root 6709: {
6710: TREE_PARMLIST (yyval.ttype) = 1;
6711: ;
6712: break;}
1.1.1.5 ! root 6713: case 627:
! 6714: #line 3636 "cp-parse.y"
1.1 root 6715: {
6716: TREE_PARMLIST (yyval.ttype) = 1;
6717: ;
6718: break;}
1.1.1.5 ! root 6719: case 628:
! 6720: #line 3640 "cp-parse.y"
1.1 root 6721: {
1.1.1.4 root 6722: /* ARM $8.2.5 has this as a boxed-off comment. */
6723: if (pedantic)
6724: warning ("use of `...' without a first argument is non-portable");
1.1 root 6725: yyval.ttype = NULL_TREE;
6726: ;
6727: break;}
1.1.1.5 ! root 6728: case 629:
! 6729: #line 3647 "cp-parse.y"
1.1 root 6730: {
6731: TREE_PARMLIST (yyval.ttype) = 1;
6732: ;
6733: break;}
1.1.1.5 ! root 6734: case 630:
! 6735: #line 3651 "cp-parse.y"
1.1 root 6736: {
6737: TREE_PARMLIST (yyval.ttype) = 1;
6738: ;
6739: break;}
1.1.1.5 ! root 6740: case 631:
! 6741: #line 3655 "cp-parse.y"
1.1 root 6742: {
6743: /* This helps us recover from really nasty
6744: parse errors, for example, a missing right
6745: parenthesis. */
6746: yyerror ("possibly missing ')'");
6747: yyval.ttype = chainon (yyval.ttype, void_list_node);
6748: TREE_PARMLIST (yyval.ttype) = 1;
6749: yyungetc (':', 0);
6750: yychar = ')';
6751: ;
6752: break;}
1.1.1.5 ! root 6753: case 632:
! 6754: #line 3670 "cp-parse.y"
1.1 root 6755: { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
6756: break;}
1.1.1.5 ! root 6757: case 633:
! 6758: #line 3672 "cp-parse.y"
1.1 root 6759: { yyval.ttype = build_tree_list (yyvsp[0].ttype, yyval.ttype); ;
6760: break;}
1.1.1.5 ! root 6761: case 634:
! 6762: #line 3674 "cp-parse.y"
1.1 root 6763: { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
6764: break;}
1.1.1.5 ! root 6765: case 635:
! 6766: #line 3676 "cp-parse.y"
1.1 root 6767: { yyval.ttype = chainon (yyval.ttype, build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype)); ;
6768: break;}
1.1.1.5 ! root 6769: case 636:
! 6770: #line 3678 "cp-parse.y"
1.1 root 6771: { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
6772: break;}
1.1.1.5 ! root 6773: case 637:
! 6774: #line 3680 "cp-parse.y"
1.1 root 6775: { yyval.ttype = chainon (yyval.ttype, build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype)); ;
6776: break;}
1.1.1.5 ! root 6777: case 638:
! 6778: #line 3701 "cp-parse.y"
1.1 root 6779: { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[0].ttype);
6780: see_typename (); ;
6781: break;}
1.1.1.5 ! root 6782: case 639:
! 6783: #line 3704 "cp-parse.y"
1.1 root 6784: { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[0].ttype);
6785: see_typename (); ;
6786: break;}
1.1.1.5 ! root 6787: case 642:
! 6788: #line 3711 "cp-parse.y"
1.1 root 6789: { yyval.ttype = yyvsp[0].ttype; ;
6790: break;}
1.1.1.5 ! root 6791: case 643:
! 6792: #line 3715 "cp-parse.y"
1.1 root 6793: { see_typename (); ;
6794: break;}
1.1.1.5 ! root 6795: case 644:
! 6796: #line 3719 "cp-parse.y"
1.1 root 6797: { dont_see_typename (); ;
6798: break;}
1.1.1.5 ! root 6799: case 645:
! 6800: #line 3738 "cp-parse.y"
1.1 root 6801: {
6802: warning ("type specifier omitted for parameter");
6803: yyval.ttype = build_tree_list (TREE_PURPOSE (TREE_VALUE (yyvsp[-2].ttype)), yyval.ttype);
6804: ;
6805: break;}
1.1.1.5 ! root 6806: case 646:
! 6807: #line 3746 "cp-parse.y"
1.1 root 6808: { yyval.ttype = NULL_TREE; ;
6809: break;}
1.1.1.5 ! root 6810: case 647:
! 6811: #line 3748 "cp-parse.y"
1.1 root 6812: { yyval.ttype = yyvsp[0].ttype; ;
6813: break;}
1.1.1.5 ! root 6814: case 648:
! 6815: #line 3750 "cp-parse.y"
1.1 root 6816: { yyval.ttype = yyvsp[-1].ttype; ;
6817: break;}
1.1.1.5 ! root 6818: case 649:
! 6819: #line 3755 "cp-parse.y"
1.1 root 6820: { yyval.ttype = void_list_node; ;
6821: break;}
1.1.1.5 ! root 6822: case 650:
! 6823: #line 3757 "cp-parse.y"
1.1 root 6824: { yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
6825: break;}
1.1.1.5 ! root 6826: case 651:
! 6827: #line 3759 "cp-parse.y"
1.1 root 6828: { yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
6829: break;}
1.1.1.5 ! root 6830: case 652:
! 6831: #line 3761 "cp-parse.y"
1.1 root 6832: { yyval.ttype = build_decl_list (void_type_node, yyvsp[0].ttype); ;
6833: break;}
1.1.1.5 ! root 6834: case 653:
! 6835: #line 3763 "cp-parse.y"
1.1 root 6836: { yyval.ttype = build_decl_list (void_type_node, yyvsp[0].ttype); ;
6837: break;}
1.1.1.5 ! root 6838: case 654:
! 6839: #line 3765 "cp-parse.y"
1.1 root 6840: { yyval.ttype = build_decl_list (yyval.ttype, yyvsp[0].ttype); ;
6841: break;}
1.1.1.5 ! root 6842: case 656:
! 6843: #line 3771 "cp-parse.y"
1.1 root 6844: { yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
6845: break;}
1.1.1.5 ! root 6846: case 658:
! 6847: #line 3777 "cp-parse.y"
1.1 root 6848: {
6849: TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype;
6850: yyval.ttype = yyvsp[0].ttype;
6851: ;
6852: break;}
1.1.1.5 ! root 6853: case 660:
! 6854: #line 3786 "cp-parse.y"
1.1 root 6855: {
6856: TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype;
6857: yyval.ttype = yyvsp[0].ttype;
6858: ;
6859: break;}
1.1.1.5 ! root 6860: case 661:
! 6861: #line 3794 "cp-parse.y"
1.1 root 6862: { yyval.ttype = ansi_opname[MULT_EXPR]; ;
6863: break;}
1.1.1.5 ! root 6864: case 662:
! 6865: #line 3796 "cp-parse.y"
1.1 root 6866: { yyval.ttype = ansi_opname[TRUNC_DIV_EXPR]; ;
6867: break;}
1.1.1.5 ! root 6868: case 663:
! 6869: #line 3798 "cp-parse.y"
1.1 root 6870: { yyval.ttype = ansi_opname[TRUNC_MOD_EXPR]; ;
6871: break;}
1.1.1.5 ! root 6872: case 664:
! 6873: #line 3800 "cp-parse.y"
1.1 root 6874: { yyval.ttype = ansi_opname[PLUS_EXPR]; ;
6875: break;}
1.1.1.5 ! root 6876: case 665:
! 6877: #line 3802 "cp-parse.y"
1.1 root 6878: { yyval.ttype = ansi_opname[MINUS_EXPR]; ;
6879: break;}
1.1.1.5 ! root 6880: case 666:
! 6881: #line 3804 "cp-parse.y"
1.1 root 6882: { yyval.ttype = ansi_opname[BIT_AND_EXPR]; ;
6883: break;}
1.1.1.5 ! root 6884: case 667:
! 6885: #line 3806 "cp-parse.y"
1.1 root 6886: { yyval.ttype = ansi_opname[BIT_IOR_EXPR]; ;
6887: break;}
1.1.1.5 ! root 6888: case 668:
! 6889: #line 3808 "cp-parse.y"
1.1 root 6890: { yyval.ttype = ansi_opname[BIT_XOR_EXPR]; ;
6891: break;}
1.1.1.5 ! root 6892: case 669:
! 6893: #line 3810 "cp-parse.y"
1.1 root 6894: { yyval.ttype = ansi_opname[BIT_NOT_EXPR]; ;
6895: break;}
1.1.1.5 ! root 6896: case 670:
! 6897: #line 3812 "cp-parse.y"
1.1 root 6898: { yyval.ttype = ansi_opname[COMPOUND_EXPR]; ;
6899: break;}
1.1.1.5 ! root 6900: case 671:
! 6901: #line 3814 "cp-parse.y"
1.1 root 6902: { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
6903: break;}
1.1.1.5 ! root 6904: case 672:
! 6905: #line 3816 "cp-parse.y"
1.1 root 6906: { yyval.ttype = ansi_opname[LT_EXPR]; ;
6907: break;}
1.1.1.5 ! root 6908: case 673:
! 6909: #line 3818 "cp-parse.y"
1.1 root 6910: { yyval.ttype = ansi_opname[GT_EXPR]; ;
6911: break;}
1.1.1.5 ! root 6912: case 674:
! 6913: #line 3820 "cp-parse.y"
1.1 root 6914: { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
6915: break;}
1.1.1.5 ! root 6916: case 675:
! 6917: #line 3822 "cp-parse.y"
1.1 root 6918: { yyval.ttype = ansi_assopname[yyvsp[0].code]; ;
6919: break;}
1.1.1.5 ! root 6920: case 676:
! 6921: #line 3824 "cp-parse.y"
1.1 root 6922: {
6923: yyval.ttype = ansi_opname [MODIFY_EXPR];
6924: if (current_class_type)
6925: {
6926: TYPE_HAS_ASSIGNMENT (current_class_type) = 1;
6927: TYPE_GETS_ASSIGNMENT (current_class_type) = 1;
6928: }
6929: ;
6930: break;}
1.1.1.5 ! root 6931: case 677:
! 6932: #line 3833 "cp-parse.y"
1.1 root 6933: { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
6934: break;}
1.1.1.5 ! root 6935: case 678:
! 6936: #line 3835 "cp-parse.y"
1.1 root 6937: { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
6938: break;}
1.1.1.5 ! root 6939: case 679:
! 6940: #line 3837 "cp-parse.y"
1.1 root 6941: { yyval.ttype = ansi_opname[POSTINCREMENT_EXPR]; ;
6942: break;}
1.1.1.5 ! root 6943: case 680:
! 6944: #line 3839 "cp-parse.y"
1.1 root 6945: { yyval.ttype = ansi_opname[PREDECREMENT_EXPR]; ;
6946: break;}
1.1.1.5 ! root 6947: case 681:
! 6948: #line 3841 "cp-parse.y"
1.1 root 6949: { yyval.ttype = ansi_opname[TRUTH_ANDIF_EXPR]; ;
6950: break;}
1.1.1.5 ! root 6951: case 682:
! 6952: #line 3843 "cp-parse.y"
1.1 root 6953: { yyval.ttype = ansi_opname[TRUTH_ORIF_EXPR]; ;
6954: break;}
1.1.1.5 ! root 6955: case 683:
! 6956: #line 3845 "cp-parse.y"
1.1 root 6957: { yyval.ttype = ansi_opname[TRUTH_NOT_EXPR]; ;
6958: break;}
1.1.1.5 ! root 6959: case 684:
! 6960: #line 3847 "cp-parse.y"
1.1 root 6961: { yyval.ttype = ansi_opname[COND_EXPR]; ;
6962: break;}
1.1.1.5 ! root 6963: case 685:
! 6964: #line 3849 "cp-parse.y"
1.1 root 6965: { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
6966: break;}
1.1.1.5 ! root 6967: case 686:
! 6968: #line 3851 "cp-parse.y"
1.1 root 6969: { yyval.ttype = ansi_opname[COMPONENT_REF];
6970: if (current_class_type)
6971: {
6972: tree t = current_class_type;
6973: while (t)
6974: {
6975: TYPE_OVERLOADS_ARROW (t) = 1;
6976: t = TYPE_NEXT_VARIANT (t);
6977: }
6978: }
6979: ;
6980: break;}
1.1.1.5 ! root 6981: case 687:
! 6982: #line 3863 "cp-parse.y"
1.1 root 6983: { yyval.ttype = ansi_opname[MEMBER_REF];
6984: if (current_class_type)
6985: {
6986: tree t = current_class_type;
6987: while (t)
6988: {
6989: TYPE_OVERLOADS_ARROW (t) = 1;
6990: t = TYPE_NEXT_VARIANT (t);
6991: }
6992: }
6993: ;
6994: break;}
1.1.1.5 ! root 6995: case 688:
! 6996: #line 3875 "cp-parse.y"
1.1 root 6997: {
6998: if (yychar == YYEMPTY)
6999: yychar = YYLEX;
7000: if (yychar == '(' || yychar == LEFT_RIGHT)
7001: {
7002: yyval.ttype = ansi_opname[METHOD_CALL_EXPR];
7003: if (current_class_type)
7004: {
7005: tree t = current_class_type;
7006: while (t)
7007: {
7008: TYPE_OVERLOADS_METHOD_CALL_EXPR (t) = 1;
7009: t = TYPE_NEXT_VARIANT (t);
7010: }
7011: }
7012: }
7013: else
7014: {
7015: yyval.ttype = build_parse_node (CALL_EXPR, ansi_opname[COMPONENT_REF], void_list_node, yyvsp[0].ttype);
7016: if (current_class_type)
7017: {
7018: tree t = current_class_type;
7019: while (t)
7020: {
7021: TYPE_OVERLOADS_ARROW (t) = 1;
7022: t = TYPE_NEXT_VARIANT (t);
7023: }
7024: }
7025: }
7026: ;
7027: break;}
1.1.1.5 ! root 7028: case 689:
! 7029: #line 3906 "cp-parse.y"
1.1 root 7030: { yyval.ttype = ansi_opname[CALL_EXPR];
7031: if (current_class_type)
7032: {
7033: tree t = current_class_type;
7034: while (t)
7035: {
7036: TYPE_OVERLOADS_CALL_EXPR (t) = 1;
7037: t = TYPE_NEXT_VARIANT (t);
7038: }
7039: }
7040: ;
7041: break;}
1.1.1.5 ! root 7042: case 690:
! 7043: #line 3918 "cp-parse.y"
1.1 root 7044: { yyval.ttype = ansi_opname[ARRAY_REF];
7045: if (current_class_type)
7046: {
7047: tree t = current_class_type;
7048: while (t)
7049: {
7050: TYPE_OVERLOADS_ARRAY_REF (t) = 1;
7051: t = TYPE_NEXT_VARIANT (t);
7052: }
7053: }
7054: ;
7055: break;}
1.1.1.5 ! root 7056: case 691:
! 7057: #line 3930 "cp-parse.y"
1.1 root 7058: {
7059: yyval.ttype = ansi_opname[NEW_EXPR];
7060: if (current_class_type)
7061: {
7062: tree t = current_class_type;
7063: while (t)
7064: {
7065: TREE_GETS_NEW (t) = 1;
7066: t = TYPE_NEXT_VARIANT (t);
7067: }
7068: }
7069: ;
7070: break;}
1.1.1.5 ! root 7071: case 692:
! 7072: #line 3943 "cp-parse.y"
1.1 root 7073: {
7074: yyval.ttype = ansi_opname[DELETE_EXPR];
7075: if (current_class_type)
7076: {
7077: tree t = current_class_type;
7078: while (t)
7079: {
7080: TREE_GETS_DELETE (t) = 1;
7081: t = TYPE_NEXT_VARIANT (t);
7082: }
7083: }
7084: ;
7085: break;}
1.1.1.5 ! root 7086: case 693:
! 7087: #line 3959 "cp-parse.y"
1.1.1.4 root 7088: { yyval.ttype = build1 (TYPE_EXPR, yyvsp[-1].ttype, yyvsp[0].ttype); ;
1.1 root 7089: break;}
1.1.1.5 ! root 7090: case 694:
! 7091: #line 3961 "cp-parse.y"
1.1 root 7092: { yyval.ttype = ansi_opname[ERROR_MARK]; ;
7093: break;}
7094: }
7095: /* the action file gets copied in in place of this dollarsign */
7096: #line 440 "bison.simple"
7097:
7098: yyvsp -= yylen;
7099: yyssp -= yylen;
7100: #ifdef YYLSP_NEEDED
7101: yylsp -= yylen;
7102: #endif
7103:
7104: #if YYDEBUG != 0
7105: if (yydebug)
7106: {
7107: short *ssp1 = yyss - 1;
7108: fprintf (stderr, "state stack now");
7109: while (ssp1 != yyssp)
7110: fprintf (stderr, " %d", *++ssp1);
7111: fprintf (stderr, "\n");
7112: }
7113: #endif
7114:
7115: *++yyvsp = yyval;
7116:
7117: #ifdef YYLSP_NEEDED
7118: yylsp++;
7119: if (yylen == 0)
7120: {
7121: yylsp->first_line = yylloc.first_line;
7122: yylsp->first_column = yylloc.first_column;
7123: yylsp->last_line = (yylsp-1)->last_line;
7124: yylsp->last_column = (yylsp-1)->last_column;
7125: yylsp->text = 0;
7126: }
7127: else
7128: {
7129: yylsp->last_line = (yylsp+yylen-1)->last_line;
7130: yylsp->last_column = (yylsp+yylen-1)->last_column;
7131: }
7132: #endif
7133:
7134: /* Now "shift" the result of the reduction.
7135: Determine what state that goes to,
7136: based on the state we popped back to
7137: and the rule number reduced by. */
7138:
7139: yyn = yyr1[yyn];
7140:
7141: yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
7142: if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
7143: yystate = yytable[yystate];
7144: else
7145: yystate = yydefgoto[yyn - YYNTBASE];
7146:
7147: goto yynewstate;
7148:
7149: yyerrlab: /* here on detecting error */
7150:
7151: if (! yyerrstatus)
7152: /* If not already recovering from an error, report this error. */
7153: {
7154: ++yynerrs;
7155:
7156: #ifdef YYERROR_VERBOSE
7157: yyn = yypact[yystate];
7158:
7159: if (yyn > YYFLAG && yyn < YYLAST)
7160: {
7161: int size = 0;
7162: char *msg;
7163: int x, count;
7164:
7165: count = 0;
7166: for (x = 0; x < (sizeof(yytname) / sizeof(char *)); x++)
7167: if (yycheck[x + yyn] == x)
7168: size += strlen(yytname[x]) + 15, count++;
1.1.1.3 root 7169: msg = (char *) malloc(size + 15);
7170: if (msg != 0)
1.1.1.2 root 7171: {
1.1.1.3 root 7172: strcpy(msg, "parse error");
7173:
7174: if (count < 5)
7175: {
7176: count = 0;
7177: for (x = 0; x < (sizeof(yytname) / sizeof(char *)); x++)
7178: if (yycheck[x + yyn] == x)
7179: {
7180: strcat(msg, count == 0 ? ", expecting `" : " or `");
7181: strcat(msg, yytname[x]);
7182: strcat(msg, "'");
7183: count++;
7184: }
7185: }
7186: yyerror(msg);
7187: free(msg);
1.1 root 7188: }
1.1.1.3 root 7189: else
7190: yyerror ("parse error; also virtual memory exceeded");
1.1 root 7191: }
7192: else
7193: #endif /* YYERROR_VERBOSE */
7194: yyerror("parse error");
7195: }
7196:
7197: yyerrlab1: /* here on error raised explicitly by an action */
7198:
7199: if (yyerrstatus == 3)
7200: {
7201: /* if just tried and failed to reuse lookahead token after an error, discard it. */
7202:
7203: /* return failure if at end of input */
7204: if (yychar == YYEOF)
7205: YYABORT;
7206:
7207: #if YYDEBUG != 0
7208: if (yydebug)
7209: fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
7210: #endif
7211:
7212: yychar = YYEMPTY;
7213: }
7214:
7215: /* Else will try to reuse lookahead token
7216: after shifting the error token. */
7217:
7218: yyerrstatus = 3; /* Each real token shifted decrements this */
7219:
7220: goto yyerrhandle;
7221:
7222: yyerrdefault: /* current state does not do anything special for the error token. */
7223:
7224: #if 0
7225: /* This is wrong; only states that explicitly want error tokens
7226: should shift them. */
7227: yyn = yydefact[yystate]; /* If its default is to accept any token, ok. Otherwise pop it.*/
7228: if (yyn) goto yydefault;
7229: #endif
7230:
7231: yyerrpop: /* pop the current state because it cannot handle the error token */
7232:
7233: if (yyssp == yyss) YYABORT;
7234: yyvsp--;
7235: yystate = *--yyssp;
7236: #ifdef YYLSP_NEEDED
7237: yylsp--;
7238: #endif
7239:
7240: #if YYDEBUG != 0
7241: if (yydebug)
7242: {
7243: short *ssp1 = yyss - 1;
7244: fprintf (stderr, "Error: state stack now");
7245: while (ssp1 != yyssp)
7246: fprintf (stderr, " %d", *++ssp1);
7247: fprintf (stderr, "\n");
7248: }
7249: #endif
7250:
7251: yyerrhandle:
7252:
7253: yyn = yypact[yystate];
7254: if (yyn == YYFLAG)
7255: goto yyerrdefault;
7256:
7257: yyn += YYTERROR;
7258: if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
7259: goto yyerrdefault;
7260:
7261: yyn = yytable[yyn];
7262: if (yyn < 0)
7263: {
7264: if (yyn == YYFLAG)
7265: goto yyerrpop;
7266: yyn = -yyn;
7267: goto yyreduce;
7268: }
7269: else if (yyn == 0)
7270: goto yyerrpop;
7271:
7272: if (yyn == YYFINAL)
7273: YYACCEPT;
7274:
7275: #if YYDEBUG != 0
7276: if (yydebug)
7277: fprintf(stderr, "Shifting error token, ");
7278: #endif
7279:
7280: *++yyvsp = yylval;
7281: #ifdef YYLSP_NEEDED
7282: *++yylsp = yylloc;
7283: #endif
7284:
7285: yystate = yyn;
7286: goto yynewstate;
7287: }
1.1.1.5 ! root 7288: #line 3964 "cp-parse.y"
1.1.1.2 root 7289:
1.1 root 7290:
1.1.1.2 root 7291: tree
7292: get_current_declspecs ()
7293: {
7294: return current_declspecs;
7295: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.