|
|
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 root 30: #define TYPEOF 282
31: #define ALIGNOF 283
32: #define HEADOF 284
33: #define CLASSOF 285
34: #define ATTRIBUTE 286
1.1.1.2 root 35: #define EXTENSION 287
36: #define LABEL 288
37: #define AGGR 289
38: #define VISSPEC 290
39: #define DELETE 291
40: #define NEW 292
41: #define OVERLOAD 293
42: #define THIS 294
43: #define OPERATOR 295
44: #define DYNAMIC 296
45: #define POINTSAT_LEFT_RIGHT 297
46: #define LEFT_RIGHT 298
47: #define TEMPLATE 299
48: #define SCOPE 300
49: #define START_DECLARATOR 301
50: #define EMPTY 302
51: #define TYPENAME_COLON 303
52: #define ASSIGN 304
53: #define RANGE 305
54: #define OROR 306
55: #define ANDAND 307
56: #define MIN_MAX 308
57: #define EQCOMPARE 309
58: #define ARITHCOMPARE 310
59: #define LSHIFT 311
60: #define RSHIFT 312
61: #define UNARY 313
62: #define PLUSPLUS 314
63: #define MINUSMINUS 315
64: #define HYPERUNARY 316
65: #define PAREN_STAR_PAREN 317
66: #define POINTSAT 318
67: #define POINTSAT_STAR 319
68: #define DOT_STAR 320
69: #define RAISE 321
70: #define RAISES 322
71: #define RERAISE 323
72: #define TRY 324
73: #define EXCEPT 325
74: #define CATCH 326
75: #define THROW 327
76: #define ANSI_TRY 328
77: #define ANSI_THROW 329
78: #define TYPENAME_ELLIPSIS 330
79: #define PTYPENAME 331
80: #define PRE_PARSED_FUNCTION_DECL 332
81: #define EXTERN_LANG_STRING 333
82: #define ALL 334
83: #define PRE_PARSED_CLASS_DECL 335
84: #define TYPENAME_DEFN 336
85: #define IDENTIFIER_DEFN 337
86: #define PTYPENAME_DEFN 338
87: #define END_OF_SAVED_INPUT 339
1.1 root 88:
89: #line 42 "cp-parse.y"
90:
1.1.1.4 ! root 91: #if defined(GATHER_STATISTICS) || defined(SPEW_DEBUG)
1.1 root 92: #undef YYDEBUG
93: #define YYDEBUG 1
94: #endif
95:
96: #include "config.h"
97:
98: #include <stdio.h>
99: #include <errno.h>
100:
101: #include "tree.h"
102: #include "input.h"
1.1.1.4 ! root 103: #include "flags.h"
1.1 root 104: #include "cp-lex.h"
105: #include "cp-tree.h"
106:
107: extern tree void_list_node;
1.1.1.4 ! root 108: extern struct obstack permanent_obstack;
1.1 root 109:
110: #ifndef errno
111: extern int errno;
112: #endif
113:
114: extern int end_of_file;
115:
116: void yyerror ();
117:
118: /* Like YYERROR but do call yyerror. */
119: #define YYERROR1 { yyerror ("syntax error"); YYERROR; }
120:
121: static void position_after_white_space ();
122:
123: /* Contains error message to give if user tries to declare
124: a variable where one does not belong. */
125: static char *stmt_decl_msg = 0;
126:
127: /* Nonzero if we have an `extern "C"' acting as an extern specifier. */
1.1.1.4 ! root 128: int have_extern_spec;
! 129: int used_extern_spec;
1.1 root 130:
131: void yyhook ();
132:
133: /* Cons up an empty parameter list. */
134: #ifdef __GNUC__
135: __inline
136: #endif
137: static tree
138: empty_parms ()
139: {
140: tree parms;
141:
142: if (strict_prototype)
143: parms = void_list_node;
144: else
145: parms = NULL_TREE;
146: return parms;
147: }
148:
1.1.1.4 ! root 149: #line 104 "cp-parse.y"
1.1.1.2 root 150: typedef union {long itype; tree ttype; char *strtype; enum tree_code code; } YYSTYPE;
1.1.1.4 ! root 151: #line 261 "cp-parse.y"
1.1 root 152:
153: /* List of types and structure classes of the current declaration. */
1.1.1.4 ! root 154: static tree current_declspecs;
1.1 root 155:
156: /* When defining an aggregate, this is the most recent one being defined. */
157: static tree current_aggr;
158:
1.1.1.4 ! root 159: /* 1 if we explained undeclared var errors. */
! 160: int undeclared_variable_notice;
1.1 root 161:
1.1.1.4 ! root 162: /* Tell yyparse how to print a token's value, if yydebug is set. */
1.1 root 163:
164: #define YYPRINT(FILE,YYCHAR,YYLVAL) yyprint(FILE,YYCHAR,YYLVAL)
1.1.1.4 ! root 165: extern void yyprint ();
1.1 root 166:
167: #ifndef YYLTYPE
168: typedef
169: struct yyltype
170: {
171: int timestamp;
172: int first_line;
173: int first_column;
174: int last_line;
175: int last_column;
176: char *text;
177: }
178: yyltype;
179:
180: #define YYLTYPE yyltype
181: #endif
182:
183: #include <stdio.h>
184:
185: #ifndef __STDC__
186: #define const
187: #endif
188:
189:
190:
1.1.1.4 ! root 191: #define YYFINAL 1271
1.1 root 192: #define YYFLAG -32768
1.1.1.2 root 193: #define YYNTBASE 109
1.1 root 194:
1.1.1.4 ! root 195: #define YYTRANSLATE(x) ((unsigned)(x) <= 339 ? yytranslate[x] : 298)
1.1 root 196:
197: static const char yytranslate[] = { 0,
198: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
199: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
200: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1.1.1.2 root 201: 2, 2, 107, 2, 2, 2, 72, 60, 2, 82,
202: 103, 70, 68, 50, 69, 80, 71, 2, 2, 2,
203: 2, 2, 2, 2, 2, 2, 2, 54, 104, 64,
204: 52, 65, 53, 2, 2, 2, 2, 2, 2, 2,
1.1 root 205: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
206: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1.1.1.2 root 207: 83, 2, 108, 59, 2, 2, 2, 2, 2, 2,
1.1 root 208: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
209: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1.1.1.2 root 210: 2, 2, 49, 58, 105, 106, 2, 2, 2, 2,
1.1 root 211: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
212: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
213: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
214: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
215: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
216: 2, 2, 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, 1, 2, 3, 4, 5,
224: 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
225: 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
226: 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
227: 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
1.1.1.2 root 228: 46, 47, 48, 51, 55, 56, 57, 61, 62, 63,
229: 66, 67, 73, 74, 75, 76, 77, 78, 79, 81,
1.1 root 230: 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
1.1.1.2 root 231: 94, 95, 96, 97, 98, 99, 100, 101, 102
1.1 root 232: };
233:
234: static const short yyprhs[] = { 0,
235: 0, 1, 3, 4, 7, 10, 11, 12, 14, 16,
236: 18, 20, 26, 31, 35, 40, 45, 47, 48, 54,
237: 56, 60, 63, 68, 72, 74, 78, 80, 84, 85,
238: 91, 92, 98, 99, 105, 106, 112, 116, 120, 127,
1.1.1.2 root 239: 135, 140, 144, 148, 150, 152, 154, 156, 158, 161,
240: 165, 169, 173, 177, 180, 183, 186, 189, 191, 195,
241: 200, 204, 210, 215, 219, 223, 226, 230, 234, 237,
242: 244, 251, 256, 261, 263, 270, 275, 279, 286, 291,
243: 295, 298, 301, 303, 307, 312, 315, 319, 320, 321,
1.1.1.4 ! root 244: 323, 327, 330, 334, 336, 341, 344, 349, 352, 357,
! 245: 360, 366, 370, 372, 374, 376, 378, 380, 382, 384,
! 246: 386, 388, 391, 393, 397, 402, 407, 409, 411, 412,
! 247: 413, 415, 419, 421, 423, 424, 431, 432, 434, 435,
! 248: 438, 440, 442, 444, 446, 448, 450, 452, 454, 458,
! 249: 462, 464, 465, 469, 472, 475, 478, 481, 484, 487,
! 250: 492, 495, 500, 504, 511, 518, 528, 533, 541, 547,
! 251: 556, 566, 576, 583, 593, 600, 610, 614, 621, 624,
! 252: 629, 635, 637, 642, 650, 655, 660, 665, 667, 671,
! 253: 675, 679, 683, 687, 691, 695, 699, 703, 707, 711,
! 254: 715, 719, 723, 727, 731, 735, 741, 745, 749, 753,
! 255: 756, 758, 760, 762, 764, 768, 772, 773, 778, 779,
! 256: 786, 789, 794, 797, 801, 804, 807, 809, 814, 819,
! 257: 822, 828, 832, 835, 838, 841, 847, 851, 857, 861,
! 258: 868, 873, 875, 880, 883, 889, 890, 892, 894, 897,
! 259: 899, 902, 903, 906, 909, 912, 916, 920, 924, 928,
! 260: 931, 934, 936, 938, 941, 944, 946, 949, 952, 956,
! 261: 958, 960, 963, 966, 968, 970, 973, 976, 978, 981,
! 262: 984, 988, 990, 993, 995, 997, 999, 1001, 1006, 1011,
! 263: 1013, 1015, 1017, 1019, 1021, 1025, 1027, 1031, 1032, 1037,
! 264: 1038, 1046, 1051, 1052, 1060, 1065, 1066, 1074, 1079, 1080,
! 265: 1087, 1089, 1093, 1095, 1100, 1109, 1111, 1115, 1117, 1120,
! 266: 1124, 1129, 1131, 1133, 1137, 1142, 1149, 1153, 1159, 1160,
! 267: 1168, 1173, 1174, 1181, 1185, 1188, 1193, 1195, 1196, 1198,
! 268: 1199, 1201, 1203, 1206, 1212, 1215, 1218, 1221, 1224, 1227,
! 269: 1230, 1233, 1237, 1241, 1244, 1245, 1249, 1250, 1254, 1257,
! 270: 1259, 1261, 1262, 1264, 1267, 1269, 1273, 1275, 1277, 1280,
! 271: 1283, 1286, 1290, 1292, 1294, 1296, 1299, 1302, 1304, 1305,
! 272: 1307, 1312, 1316, 1318, 1321, 1324, 1328, 1334, 1340, 1344,
! 273: 1348, 1352, 1356, 1360, 1366, 1372, 1376, 1380, 1384, 1388,
! 274: 1390, 1393, 1396, 1400, 1404, 1405, 1407, 1411, 1416, 1423,
! 275: 1428, 1432, 1435, 1440, 1447, 1452, 1456, 1459, 1461, 1465,
! 276: 1467, 1471, 1474, 1477, 1478, 1480, 1483, 1485, 1488, 1489,
! 277: 1492, 1493, 1496, 1502, 1508, 1512, 1518, 1523, 1527, 1531,
! 278: 1537, 1539, 1541, 1547, 1551, 1555, 1557, 1563, 1569, 1573,
! 279: 1579, 1584, 1588, 1592, 1594, 1596, 1600, 1604, 1610, 1616,
! 280: 1620, 1626, 1630, 1634, 1638, 1643, 1647, 1649, 1651, 1654,
! 281: 1657, 1660, 1664, 1668, 1676, 1684, 1690, 1698, 1702, 1710,
! 282: 1718, 1724, 1732, 1736, 1738, 1741, 1744, 1746, 1749, 1753,
! 283: 1757, 1760, 1762, 1766, 1770, 1773, 1779, 1783, 1788, 1792,
! 284: 1797, 1800, 1804, 1807, 1811, 1816, 1820, 1825, 1831, 1837,
! 285: 1839, 1841, 1844, 1847, 1850, 1851, 1852, 1854, 1856, 1859,
! 286: 1863, 1865, 1868, 1871, 1877, 1883, 1884, 1891, 1893, 1895,
! 287: 1898, 1899, 1904, 1906, 1907, 1908, 1916, 1917, 1918, 1928,
! 288: 1929, 1930, 1931, 1941, 1942, 1943, 1944, 1954, 1955, 1962,
! 289: 1963, 1969, 1970, 1978, 1979, 1984, 1987, 1990, 1993, 1997,
! 290: 2004, 2013, 2024, 2037, 2042, 2046, 2049, 2052, 2054, 2057,
! 291: 2061, 2068, 2073, 2080, 2085, 2089, 2090, 2098, 2101, 2102,
! 292: 2108, 2112, 2114, 2117, 2121, 2125, 2128, 2131, 2133, 2134,
! 293: 2139, 2142, 2146, 2150, 2151, 2152, 2157, 2158, 2159, 2164,
! 294: 2165, 2170, 2171, 2173, 2174, 2175, 2184, 2188, 2193, 2198,
! 295: 2202, 2207, 2214, 2221, 2222, 2224, 2225, 2227, 2229, 2230,
! 296: 2232, 2234, 2238, 2243, 2245, 2249, 2250, 2252, 2256, 2259,
! 297: 2261, 2263, 2266, 2269, 2271, 2275, 2279, 2285, 2289, 2295,
! 298: 2299, 2303, 2305, 2307, 2310, 2312, 2313, 2315, 2316, 2319,
! 299: 2324, 2326, 2328, 2330, 2333, 2336, 2339, 2341, 2343, 2345,
! 300: 2349, 2351, 2355, 2358, 2361, 2364, 2367, 2370, 2373, 2376,
! 301: 2379, 2382, 2385, 2388, 2391, 2394, 2397, 2400, 2403, 2406,
! 302: 2409, 2412, 2415, 2418, 2421, 2424, 2428, 2431, 2434, 2437,
! 303: 2441, 2444, 2448, 2451, 2454, 2458
1.1 root 304: };
305:
306: static const short yyrhs[] = { -1,
1.1.1.2 root 307: 110, 0, 0, 111, 114, 0, 110, 114, 0, 0,
308: 0, 129, 0, 128, 0, 122, 0, 120, 0, 26,
1.1.1.4 ! root 309: 82, 164, 103, 104, 0, 115, 49, 110, 105, 0,
1.1.1.2 root 310: 115, 49, 105, 0, 115, 112, 129, 113, 0, 115,
311: 112, 128, 113, 0, 96, 0, 0, 44, 64, 117,
1.1.1.4 ! root 312: 118, 65, 0, 119, 0, 118, 50, 119, 0, 197,
! 313: 138, 0, 197, 139, 54, 209, 0, 197, 48, 209,
1.1.1.3 root 314: 0, 287, 0, 38, 121, 104, 0, 3, 0, 121,
1.1.1.4 ! root 315: 50, 3, 0, 0, 116, 198, 49, 123, 104, 0,
! 316: 0, 116, 199, 49, 124, 104, 0, 0, 116, 198,
! 317: 54, 125, 104, 0, 0, 116, 199, 54, 126, 104,
! 318: 0, 116, 198, 104, 0, 116, 199, 104, 0, 116,
! 319: 228, 292, 179, 186, 127, 0, 116, 170, 169, 292,
! 320: 179, 186, 127, 0, 116, 172, 169, 127, 0, 116,
1.1.1.2 root 321: 1, 105, 0, 116, 1, 104, 0, 49, 0, 54,
1.1.1.4 ! root 322: 0, 104, 0, 52, 0, 24, 0, 178, 104, 0,
! 323: 172, 178, 104, 0, 172, 169, 104, 0, 170, 177,
! 324: 104, 0, 170, 169, 104, 0, 172, 104, 0, 170,
1.1.1.2 root 325: 104, 0, 1, 104, 0, 1, 105, 0, 104, 0,
1.1.1.3 root 326: 130, 134, 241, 0, 130, 133, 134, 241, 0, 130,
1.1.1.4 ! root 327: 165, 241, 0, 130, 133, 104, 165, 241, 0, 130,
! 328: 133, 165, 241, 0, 170, 169, 1, 0, 172, 228,
! 329: 1, 0, 228, 1, 0, 170, 169, 292, 0, 172,
! 330: 228, 292, 0, 228, 292, 0, 4, 82, 285, 103,
! 331: 223, 292, 0, 231, 82, 285, 103, 223, 292, 0,
! 332: 4, 43, 223, 292, 0, 231, 43, 223, 292, 0,
! 333: 95, 0, 170, 82, 285, 103, 223, 292, 0, 170,
! 334: 43, 223, 292, 0, 170, 169, 292, 0, 172, 82,
! 335: 285, 103, 223, 292, 0, 172, 43, 223, 292, 0,
! 336: 172, 169, 292, 0, 228, 292, 0, 24, 3, 0,
! 337: 132, 0, 132, 52, 190, 0, 132, 82, 153, 103,
1.1.1.2 root 338: 0, 132, 43, 0, 54, 135, 136, 0, 0, 0,
339: 137, 0, 136, 50, 137, 0, 136, 1, 0, 82,
1.1.1.4 ! root 340: 153, 103, 0, 43, 0, 138, 82, 153, 103, 0,
! 341: 138, 43, 0, 142, 82, 153, 103, 0, 142, 43,
! 342: 0, 231, 82, 153, 103, 0, 231, 43, 0, 229,
! 343: 138, 82, 153, 103, 0, 229, 138, 43, 0, 3,
! 344: 0, 4, 0, 94, 0, 100, 0, 99, 0, 101,
! 345: 0, 3, 0, 4, 0, 94, 0, 106, 138, 0,
! 346: 297, 0, 142, 143, 149, 0, 94, 64, 145, 65,
! 347: 0, 4, 64, 145, 65, 0, 49, 0, 54, 0,
! 348: 0, 0, 146, 0, 145, 50, 146, 0, 220, 0,
! 349: 157, 0, 0, 98, 205, 148, 211, 212, 105, 0,
! 350: 0, 147, 0, 0, 147, 150, 0, 69, 0, 68,
! 351: 0, 74, 0, 75, 0, 107, 0, 153, 0, 157,
! 352: 0, 157, 0, 153, 50, 157, 0, 153, 50, 1,
! 353: 0, 158, 0, 0, 32, 155, 156, 0, 70, 156,
! 354: 0, 60, 156, 0, 106, 156, 0, 151, 156, 0,
! 355: 57, 138, 0, 12, 154, 0, 12, 82, 220, 103,
! 356: 0, 28, 154, 0, 28, 82, 220, 103, 0, 162,
! 357: 161, 220, 0, 162, 161, 82, 153, 103, 220, 0,
! 358: 162, 161, 175, 82, 153, 103, 0, 162, 161, 82,
! 359: 153, 103, 175, 82, 153, 103, 0, 162, 161, 175,
! 360: 43, 0, 162, 161, 82, 153, 103, 175, 43, 0,
! 361: 162, 161, 220, 52, 190, 0, 162, 161, 82, 153,
! 362: 103, 220, 52, 190, 0, 162, 161, 82, 173, 221,
! 363: 103, 83, 224, 108, 0, 162, 161, 82, 222, 221,
! 364: 103, 83, 224, 108, 0, 162, 161, 82, 173, 221,
! 365: 103, 0, 162, 161, 82, 153, 103, 82, 173, 221,
! 366: 103, 0, 162, 161, 82, 222, 221, 103, 0, 162,
! 367: 161, 82, 153, 103, 82, 222, 221, 103, 0, 162,
! 368: 161, 48, 0, 162, 161, 82, 153, 103, 48, 0,
! 369: 163, 156, 0, 163, 83, 108, 156, 0, 163, 83,
! 370: 152, 108, 156, 0, 154, 0, 82, 220, 103, 157,
! 371: 0, 82, 220, 103, 49, 191, 195, 105, 0, 29,
! 372: 82, 152, 103, 0, 30, 82, 152, 103, 0, 30,
! 373: 82, 4, 103, 0, 156, 0, 157, 68, 157, 0,
! 374: 157, 69, 157, 0, 157, 70, 157, 0, 157, 71,
! 375: 157, 0, 157, 72, 157, 0, 157, 66, 157, 0,
! 376: 157, 67, 157, 0, 157, 63, 157, 0, 157, 64,
! 377: 157, 0, 157, 65, 157, 0, 157, 62, 157, 0,
! 378: 157, 61, 157, 0, 157, 60, 157, 0, 157, 58,
! 379: 157, 0, 157, 59, 157, 0, 157, 57, 157, 0,
! 380: 157, 56, 157, 0, 157, 53, 280, 54, 157, 0,
! 381: 157, 52, 157, 0, 157, 51, 157, 0, 158, 81,
! 382: 157, 0, 167, 157, 0, 3, 0, 297, 0, 9,
! 383: 0, 164, 0, 82, 152, 103, 0, 82, 1, 103,
! 384: 0, 0, 82, 159, 242, 103, 0, 0, 158, 82,
! 385: 153, 103, 160, 150, 0, 158, 43, 0, 158, 83,
! 386: 152, 108, 0, 166, 140, 0, 166, 229, 140, 0,
! 387: 158, 74, 0, 158, 75, 0, 39, 0, 8, 82,
! 388: 153, 103, 0, 175, 82, 153, 103, 0, 175, 43,
! 389: 0, 45, 175, 82, 153, 103, 0, 45, 175, 43,
! 390: 0, 45, 3, 0, 45, 297, 0, 229, 140, 0,
! 391: 229, 140, 82, 153, 103, 0, 229, 140, 43, 0,
! 392: 166, 140, 82, 153, 103, 0, 166, 140, 43, 0,
! 393: 166, 229, 140, 82, 153, 103, 0, 166, 229, 140,
! 394: 43, 0, 37, 0, 37, 49, 153, 105, 0, 37,
! 395: 41, 0, 37, 41, 82, 164, 103, 0, 0, 45,
! 396: 0, 36, 0, 45, 163, 0, 10, 0, 164, 10,
! 397: 0, 0, 158, 80, 0, 158, 78, 0, 158, 79,
! 398: 0, 170, 177, 104, 0, 170, 169, 104, 0, 172,
! 399: 178, 104, 0, 172, 169, 104, 0, 170, 104, 0,
! 400: 172, 104, 0, 226, 0, 228, 0, 46, 226, 0,
! 401: 46, 228, 0, 175, 0, 172, 175, 0, 175, 171,
! 402: 0, 172, 175, 171, 0, 176, 0, 6, 0, 171,
! 403: 176, 0, 171, 6, 0, 8, 0, 6, 0, 172,
! 404: 8, 0, 172, 6, 0, 175, 0, 222, 175, 0,
! 405: 175, 174, 0, 222, 175, 174, 0, 176, 0, 174,
! 406: 176, 0, 192, 0, 7, 0, 4, 0, 231, 0,
! 407: 27, 82, 152, 103, 0, 27, 82, 220, 103, 0,
! 408: 141, 0, 7, 0, 8, 0, 192, 0, 180, 0,
! 409: 177, 50, 182, 0, 184, 0, 178, 50, 182, 0,
! 410: 0, 26, 82, 164, 103, 0, 0, 169, 292, 179,
! 411: 186, 52, 181, 190, 0, 169, 292, 179, 186, 0,
! 412: 0, 169, 292, 179, 186, 52, 183, 190, 0, 169,
! 413: 292, 179, 186, 0, 0, 228, 292, 179, 186, 52,
! 414: 185, 190, 0, 228, 292, 179, 186, 0, 0, 31,
! 415: 82, 82, 187, 103, 103, 0, 188, 0, 187, 50,
! 416: 188, 0, 3, 0, 3, 82, 9, 103, 0, 3,
! 417: 82, 3, 50, 9, 50, 9, 103, 0, 138, 0,
! 418: 189, 50, 138, 0, 157, 0, 49, 105, 0, 49,
! 419: 191, 105, 0, 49, 191, 50, 105, 0, 1, 0,
! 420: 190, 0, 191, 50, 190, 0, 83, 157, 108, 190,
! 421: 0, 191, 50, 20, 157, 54, 190, 0, 138, 54,
! 422: 190, 0, 191, 50, 138, 54, 190, 0, 0, 13,
! 423: 138, 49, 193, 218, 196, 105, 0, 13, 138, 49,
! 424: 105, 0, 0, 13, 49, 194, 218, 196, 105, 0,
! 425: 13, 49, 105, 0, 13, 138, 0, 204, 211, 212,
! 426: 105, 0, 204, 0, 0, 50, 0, 0, 50, 0,
! 427: 34, 0, 41, 34, 0, 41, 82, 164, 103, 34,
! 428: 0, 197, 6, 0, 197, 7, 0, 197, 8, 0,
! 429: 197, 34, 0, 197, 138, 0, 197, 142, 0, 197,
! 430: 48, 0, 197, 142, 49, 0, 197, 142, 54, 0,
! 431: 197, 139, 0, 0, 198, 201, 205, 0, 0, 199,
! 432: 202, 205, 0, 197, 49, 0, 203, 0, 200, 0,
! 433: 0, 54, 0, 54, 206, 0, 207, 0, 206, 50,
! 434: 207, 0, 209, 0, 208, 0, 210, 209, 0, 210,
! 435: 208, 0, 209, 5, 0, 142, 144, 149, 0, 138,
1.1.1.3 root 436: 0, 35, 0, 6, 0, 210, 35, 0, 210, 6,
437: 0, 49, 0, 0, 213, 0, 212, 35, 54, 213,
438: 0, 212, 35, 54, 0, 214, 0, 213, 214, 0,
1.1.1.4 ! root 439: 213, 104, 0, 170, 215, 104, 0, 170, 82, 285,
! 440: 103, 104, 0, 170, 82, 285, 103, 105, 0, 170,
! 441: 43, 104, 0, 170, 43, 105, 0, 172, 215, 104,
! 442: 0, 172, 169, 104, 0, 172, 215, 105, 0, 172,
! 443: 82, 285, 103, 104, 0, 172, 82, 285, 103, 105,
! 444: 0, 172, 43, 104, 0, 172, 43, 105, 0, 54,
! 445: 157, 104, 0, 54, 157, 105, 0, 1, 0, 131,
! 446: 54, 0, 131, 49, 0, 228, 292, 104, 0, 228,
! 447: 292, 105, 0, 0, 216, 0, 215, 50, 217, 0,
! 448: 169, 292, 179, 186, 0, 169, 292, 179, 186, 52,
! 449: 190, 0, 3, 54, 157, 186, 0, 48, 157, 186,
! 450: 0, 54, 157, 0, 169, 292, 179, 186, 0, 169,
! 451: 292, 179, 186, 52, 190, 0, 3, 54, 157, 186,
! 452: 0, 48, 157, 186, 0, 54, 157, 0, 219, 0,
! 453: 218, 50, 219, 0, 138, 0, 138, 52, 157, 0,
! 454: 173, 221, 0, 222, 221, 0, 0, 232, 0, 46,
1.1.1.3 root 455: 232, 0, 8, 0, 222, 8, 0, 0, 223, 8,
1.1.1.4 ! root 456: 0, 0, 225, 152, 0, 226, 82, 153, 103, 223,
1.1.1.3 root 457: 0, 226, 82, 285, 103, 223, 0, 226, 43, 223,
458: 0, 226, 82, 1, 103, 223, 0, 226, 83, 224,
459: 108, 0, 226, 83, 108, 0, 82, 227, 103, 0,
460: 82, 70, 223, 226, 103, 0, 77, 0, 234, 0,
461: 82, 60, 223, 226, 103, 0, 70, 223, 226, 0,
1.1.1.4 ! root 462: 60, 223, 226, 0, 4, 0, 227, 82, 153, 103,
1.1.1.3 root 463: 223, 0, 227, 82, 285, 103, 223, 0, 227, 43,
464: 223, 0, 227, 82, 1, 103, 223, 0, 227, 83,
465: 224, 108, 0, 227, 83, 108, 0, 82, 227, 103,
466: 0, 77, 0, 234, 0, 70, 223, 226, 0, 60,
1.1.1.4 ! root 467: 223, 226, 0, 228, 82, 153, 103, 223, 0, 228,
1.1.1.3 root 468: 82, 285, 103, 223, 0, 228, 43, 223, 0, 228,
469: 82, 1, 103, 223, 0, 82, 228, 103, 0, 70,
470: 223, 228, 0, 60, 223, 228, 0, 228, 83, 224,
1.1.1.4 ! root 471: 108, 0, 228, 83, 108, 0, 3, 0, 297, 0,
! 472: 106, 4, 0, 106, 3, 0, 106, 94, 0, 229,
! 473: 289, 228, 0, 229, 289, 4, 0, 229, 289, 4,
! 474: 82, 153, 103, 223, 0, 229, 289, 4, 82, 285,
! 475: 103, 223, 0, 229, 289, 4, 43, 223, 0, 229,
! 476: 289, 4, 82, 1, 103, 223, 0, 229, 289, 94,
! 477: 0, 229, 289, 94, 82, 153, 103, 223, 0, 229,
! 478: 289, 94, 82, 285, 103, 223, 0, 229, 289, 94,
! 479: 43, 223, 0, 229, 289, 94, 82, 1, 103, 223,
! 480: 0, 45, 289, 228, 0, 230, 0, 141, 45, 0,
! 481: 4, 45, 0, 5, 0, 141, 5, 0, 82, 232,
! 482: 103, 0, 70, 223, 232, 0, 70, 223, 0, 77,
! 483: 0, 82, 233, 103, 0, 60, 223, 232, 0, 60,
! 484: 223, 0, 232, 82, 285, 103, 223, 0, 232, 43,
! 485: 223, 0, 232, 83, 224, 108, 0, 232, 83, 108,
! 486: 0, 82, 285, 103, 223, 0, 43, 223, 0, 83,
! 487: 224, 108, 0, 83, 108, 0, 229, 70, 223, 0,
! 488: 229, 70, 223, 232, 0, 229, 60, 223, 0, 229,
! 489: 60, 223, 232, 0, 229, 289, 70, 223, 226, 0,
! 490: 229, 289, 60, 223, 226, 0, 245, 0, 236, 0,
! 491: 235, 245, 0, 235, 236, 0, 1, 104, 0, 0,
! 492: 0, 239, 0, 240, 0, 239, 240, 0, 33, 189,
! 493: 104, 0, 242, 0, 1, 242, 0, 49, 105, 0,
! 494: 49, 237, 238, 235, 105, 0, 49, 237, 238, 1,
! 495: 105, 0, 0, 14, 82, 152, 103, 244, 245, 0,
! 496: 242, 0, 168, 0, 152, 104, 0, 0, 243, 15,
! 497: 246, 245, 0, 243, 0, 0, 0, 16, 247, 82,
! 498: 152, 103, 248, 245, 0, 0, 0, 17, 249, 245,
! 499: 16, 250, 82, 152, 103, 104, 0, 0, 0, 0,
! 500: 277, 251, 280, 104, 252, 280, 103, 253, 245, 0,
! 501: 0, 0, 0, 278, 254, 280, 104, 255, 280, 103,
! 502: 256, 245, 0, 0, 19, 82, 152, 103, 257, 245,
! 503: 0, 0, 20, 152, 54, 258, 245, 0, 0, 20,
! 504: 152, 55, 152, 54, 259, 245, 0, 0, 21, 54,
! 505: 260, 245, 0, 22, 104, 0, 23, 104, 0, 24,
! 506: 104, 0, 24, 152, 104, 0, 26, 279, 82, 164,
! 507: 103, 104, 0, 26, 279, 82, 164, 54, 281, 103,
! 508: 104, 0, 26, 279, 82, 164, 54, 281, 54, 281,
! 509: 103, 104, 0, 26, 279, 82, 164, 54, 281, 54,
! 510: 281, 54, 284, 103, 104, 0, 25, 70, 152, 104,
! 511: 0, 25, 138, 104, 0, 264, 245, 0, 264, 105,
! 512: 0, 104, 0, 92, 104, 0, 92, 152, 104, 0,
! 513: 90, 293, 82, 153, 103, 104, 0, 90, 293, 43,
! 514: 104, 0, 84, 293, 82, 153, 103, 104, 0, 84,
! 515: 293, 43, 104, 0, 84, 138, 104, 0, 0, 263,
! 516: 88, 138, 49, 261, 271, 105, 0, 263, 1, 0,
! 517: 0, 267, 268, 268, 262, 275, 0, 263, 86, 295,
! 518: 0, 263, 0, 265, 105, 0, 265, 235, 105, 0,
! 519: 265, 1, 105, 0, 3, 54, 0, 94, 54, 0,
! 520: 48, 0, 0, 87, 49, 266, 237, 0, 269, 105,
! 521: 0, 269, 235, 105, 0, 269, 1, 105, 0, 0,
! 522: 0, 91, 49, 270, 237, 0, 0, 0, 271, 293,
! 523: 272, 242, 0, 0, 271, 21, 273, 242, 0, 0,
! 524: 138, 0, 0, 0, 275, 89, 82, 220, 274, 103,
! 525: 276, 242, 0, 18, 82, 104, 0, 18, 82, 152,
! 526: 104, 0, 18, 82, 49, 105, 0, 18, 82, 168,
! 527: 0, 18, 82, 1, 104, 0, 18, 82, 49, 237,
! 528: 235, 105, 0, 18, 82, 49, 237, 1, 105, 0,
! 529: 0, 8, 0, 0, 152, 0, 1, 0, 0, 282,
! 530: 0, 283, 0, 282, 50, 283, 0, 10, 82, 152,
! 531: 103, 0, 10, 0, 284, 50, 10, 0, 0, 286,
! 532: 0, 286, 50, 11, 0, 286, 11, 0, 11, 0,
! 533: 93, 0, 286, 93, 0, 286, 54, 0, 287, 0,
! 534: 287, 52, 190, 0, 286, 50, 287, 0, 286, 50,
! 535: 287, 52, 190, 0, 286, 50, 291, 0, 286, 50,
! 536: 291, 52, 190, 0, 170, 290, 288, 0, 172, 290,
! 537: 288, 0, 221, 0, 228, 0, 46, 228, 0, 223,
! 538: 0, 0, 288, 0, 0, 85, 295, 0, 92, 82,
! 539: 296, 103, 0, 97, 0, 3, 0, 4, 0, 45,
! 540: 3, 0, 45, 4, 0, 229, 3, 0, 231, 0,
! 541: 220, 0, 293, 0, 295, 50, 293, 0, 294, 0,
! 542: 296, 50, 294, 0, 40, 70, 0, 40, 71, 0,
! 543: 40, 72, 0, 40, 68, 0, 40, 69, 0, 40,
! 544: 60, 0, 40, 58, 0, 40, 59, 0, 40, 106,
! 545: 0, 40, 50, 0, 40, 63, 0, 40, 64, 0,
! 546: 40, 65, 0, 40, 62, 0, 40, 51, 0, 40,
! 547: 52, 0, 40, 66, 0, 40, 67, 0, 40, 74,
! 548: 0, 40, 75, 0, 40, 57, 0, 40, 56, 0,
! 549: 40, 107, 0, 40, 53, 54, 0, 40, 61, 0,
! 550: 40, 78, 0, 40, 79, 0, 40, 42, 223, 0,
! 551: 40, 43, 0, 40, 83, 108, 0, 40, 37, 0,
! 552: 40, 36, 0, 40, 173, 221, 0, 40, 1, 0
1.1 root 553: };
554:
555: #if YYDEBUG != 0
556: static const short yyrline[] = { 0,
1.1.1.4 ! root 557: 278, 279, 287, 289, 290, 294, 299, 303, 306, 308,
! 558: 310, 311, 316, 318, 320, 323, 328, 333, 336, 340,
! 559: 343, 347, 360, 367, 374, 377, 380, 382, 386, 392,
! 560: 392, 395, 395, 398, 398, 411, 411, 416, 421, 436,
! 561: 458, 467, 468, 471, 472, 473, 474, 475, 478, 484,
! 562: 487, 492, 498, 505, 507, 525, 526, 527, 530, 544,
! 563: 557, 560, 563, 566, 568, 570, 574, 580, 585, 590,
! 564: 595, 600, 605, 610, 616, 626, 635, 642, 651, 660,
! 565: 667, 676, 684, 686, 688, 690, 694, 703, 726, 729,
! 566: 731, 732, 735, 742, 749, 753, 755, 757, 759, 761,
! 567: 763, 767, 773, 775, 776, 779, 781, 782, 785, 787,
! 568: 788, 792, 793, 796, 818, 821, 825, 829, 830, 834,
! 569: 839, 842, 846, 849, 852, 884, 904, 907, 911, 914,
! 570: 918, 920, 922, 924, 926, 930, 933, 936, 939, 941,
! 571: 945, 952, 955, 958, 960, 962, 964, 970, 975, 988,
! 572: 990, 1023, 1026, 1028, 1030, 1032, 1034, 1036, 1038, 1040,
! 573: 1048, 1058, 1061, 1063, 1065, 1067, 1070, 1072, 1075, 1103,
! 574: 1122, 1147, 1149, 1152, 1167, 1169, 1171, 1182, 1184, 1186,
! 575: 1188, 1190, 1192, 1194, 1196, 1198, 1200, 1202, 1204, 1206,
! 576: 1208, 1210, 1212, 1214, 1216, 1218, 1220, 1222, 1229, 1232,
! 577: 1247, 1250, 1265, 1266, 1268, 1270, 1272, 1280, 1295, 1300,
! 578: 1307, 1318, 1368, 1370, 1386, 1388, 1392, 1415, 1459, 1461,
! 579: 1463, 1465, 1467, 1503, 1510, 1512, 1514, 1516, 1519, 1522,
! 580: 1524, 1566, 1568, 1573, 1575, 1579, 1582, 1586, 1588, 1596,
! 581: 1598, 1602, 1611, 1626, 1632, 1635, 1642, 1650, 1653, 1660,
! 582: 1665, 1672, 1674, 1675, 1677, 1685, 1688, 1690, 1692, 1696,
! 583: 1700, 1705, 1707, 1718, 1722, 1724, 1727, 1742, 1745, 1747,
! 584: 1749, 1753, 1756, 1764, 1765, 1766, 1767, 1768, 1772, 1776,
! 585: 1781, 1782, 1783, 1786, 1788, 1791, 1793, 1796, 1799, 1807,
! 586: 1815, 1817, 1826, 1832, 1833, 1839, 1847, 1849, 1860, 1863,
! 587: 1868, 1870, 1875, 1880, 1891, 1906, 1909, 1913, 1915, 1920,
! 588: 1923, 1926, 1932, 1935, 1938, 1940, 1942, 1944, 1948, 1952,
! 589: 1956, 1959, 1962, 1966, 1969, 1973, 2028, 2043, 2045, 2048,
! 590: 2050, 2055, 2056, 2058, 2060, 2063, 2066, 2069, 2074, 2077,
! 591: 2079, 2081, 2087, 2091, 2096, 2101, 2108, 2113, 2122, 2127,
! 592: 2127, 2129, 2132, 2134, 2138, 2140, 2144, 2149, 2153, 2157,
! 593: 2163, 2172, 2186, 2189, 2191, 2195, 2221, 2230, 2256, 2259,
! 594: 2261, 2263, 2266, 2269, 2272, 2277, 2342, 2344, 2348, 2350,
! 595: 2354, 2357, 2359, 2363, 2365, 2369, 2371, 2375, 2377, 2381,
! 596: 2386, 2388, 2390, 2392, 2398, 2401, 2402, 2413, 2418, 2422,
! 597: 2426, 2430, 2435, 2439, 2442, 2445, 2448, 2456, 2458, 2462,
! 598: 2465, 2469, 2472, 2476, 2479, 2480, 2484, 2487, 2491, 2494,
! 599: 2502, 2504, 2508, 2511, 2513, 2515, 2517, 2519, 2521, 2523,
! 600: 2525, 2527, 2528, 2530, 2532, 2534, 2537, 2540, 2542, 2544,
! 601: 2546, 2548, 2550, 2552, 2554, 2555, 2557, 2564, 2567, 2569,
! 602: 2571, 2573, 2575, 2577, 2579, 2581, 2583, 2587, 2590, 2596,
! 603: 2598, 2600, 2609, 2611, 2613, 2615, 2617, 2620, 2622, 2624,
! 604: 2626, 2628, 2630, 2634, 2642, 2659, 2662, 2663, 2684, 2689,
! 605: 2691, 2693, 2695, 2697, 2699, 2701, 2703, 2705, 2707, 2709,
! 606: 2711, 2713, 2715, 2719, 2727, 2734, 2741, 2750, 2758, 2771,
! 607: 2773, 2774, 2775, 2778, 2785, 2797, 2799, 2804, 2806, 2809,
! 608: 2823, 2826, 2829, 2831, 2837, 2845, 2851, 2854, 2857, 2862,
! 609: 2875, 2879, 2882, 2886, 2890, 2894, 2898, 2903, 2906, 2912,
! 610: 2917, 2920, 2926, 2933, 2937, 2940, 2947, 2963, 2971, 2975,
! 611: 3025, 3025, 3104, 3104, 3120, 3120, 3124, 3128, 3131, 3136,
! 612: 3143, 3152, 3161, 3170, 3173, 3179, 3181, 3185, 3189, 3190,
! 613: 3191, 3194, 3197, 3200, 3203, 3206, 3219, 3248, 3258, 3272,
! 614: 3300, 3332, 3344, 3352, 3357, 3364, 3372, 3374, 3381, 3383,
! 615: 3383, 3391, 3396, 3403, 3404, 3406, 3406, 3409, 3430, 3446,
! 616: 3465, 3483, 3486, 3488, 3491, 3510, 3528, 3531, 3533, 3537,
! 617: 3540, 3542, 3544, 3550, 3555, 3561, 3564, 3565, 3571, 3573,
! 618: 3576, 3578, 3582, 3587, 3590, 3599, 3606, 3611, 3616, 3620,
! 619: 3627, 3631, 3635, 3649, 3652, 3654, 3656, 3658, 3660, 3668,
! 620: 3684, 3689, 3690, 3691, 3695, 3699, 3717, 3725, 3728, 3730,
! 621: 3734, 3737, 3739, 3741, 3743, 3745, 3747, 3750, 3755, 3757,
! 622: 3764, 3766, 3773, 3776, 3778, 3780, 3782, 3784, 3786, 3788,
! 623: 3790, 3792, 3794, 3796, 3798, 3800, 3802, 3804, 3813, 3815,
! 624: 3817, 3819, 3821, 3823, 3825, 3827, 3829, 3831, 3843, 3855,
! 625: 3886, 3898, 3910, 3923, 3939, 3941
1.1 root 626: };
627:
628: static const char * const yytname[] = { "$","error","$illegal.","IDENTIFIER",
629: "TYPENAME","SCOPED_TYPENAME","SCSPEC","TYPESPEC","TYPE_QUAL","CONSTANT","STRING",
630: "ELLIPSIS","SIZEOF","ENUM","IF","ELSE","WHILE","DO","FOR","SWITCH","CASE","DEFAULT",
1.1.1.2 root 631: "BREAK","CONTINUE","RETURN","GOTO","ASM_KEYWORD","TYPEOF","ALIGNOF","HEADOF",
632: "CLASSOF","ATTRIBUTE","EXTENSION","LABEL","AGGR","VISSPEC","DELETE","NEW","OVERLOAD",
633: "THIS","OPERATOR","DYNAMIC","POINTSAT_LEFT_RIGHT","LEFT_RIGHT","TEMPLATE","SCOPE",
634: "START_DECLARATOR","EMPTY","TYPENAME_COLON","'{'","','","ASSIGN","'='","'?'",
635: "':'","RANGE","OROR","ANDAND","'|'","'^'","'&'","MIN_MAX","EQCOMPARE","ARITHCOMPARE",
636: "'<'","'>'","LSHIFT","RSHIFT","'+'","'-'","'*'","'/'","'%'","UNARY","PLUSPLUS",
637: "MINUSMINUS","HYPERUNARY","PAREN_STAR_PAREN","POINTSAT","POINTSAT_STAR","'.'",
638: "DOT_STAR","'('","'['","RAISE","RAISES","RERAISE","TRY","EXCEPT","CATCH","THROW",
639: "ANSI_TRY","ANSI_THROW","TYPENAME_ELLIPSIS","PTYPENAME","PRE_PARSED_FUNCTION_DECL",
640: "EXTERN_LANG_STRING","ALL","PRE_PARSED_CLASS_DECL","TYPENAME_DEFN","IDENTIFIER_DEFN",
641: "PTYPENAME_DEFN","END_OF_SAVED_INPUT","')'","';'","'}'","'~'","'!'","']'","program",
642: "extdefs","@1",".hush_warning",".warning_ok","extdef","extern_lang_string","template_header",
643: "@2","template_parm_list","template_parm","overloaddef","ov_identifiers","template_def",
644: "@3","@4","@5","@6","fn_tmpl_end","datadef","fndef","fn.def1","fn.def2","return_id",
645: "return_init","base_init",".set_base_init","member_init_list","member_init",
1.1.1.4 ! root 646: "identifier","identifier_defn","identifier_or_opname","template_type","template_type_name",
! 647: "tmpl.1","tmpl.2","template_arg_list","template_arg","template_instantiate_once",
1.1.1.2 root 648: "@7","template_instantiation","template_instantiate_some","unop","expr","nonnull_exprlist",
649: "unary_expr","@8","cast_expr","expr_no_commas","primary","@9","@10","new",".scope",
1.1 root 650: "delete","string","nodecls","object","object_star","decl","declarator","typed_declspecs",
651: "reserved_declspecs","declmods","typed_typespecs","reserved_typespecquals","typespec",
652: "typespecqual_reserved","initdecls","notype_initdecls","maybeasm","initdcl0",
1.1.1.2 root 653: "@11","initdcl","@12","notype_initdcl0","@13","maybe_attribute","attribute_list",
1.1.1.3 root 654: "attrib","identifiers_or_typenames","init","initlist","structsp","@14","@15",
655: "maybecomma","maybecomma_warn","aggr","named_class_head_sans_basetype","named_class_head_sans_basetype_defn",
656: "named_class_head","@16","@17","unnamed_class_head","class_head","maybe_base_class_list",
1.1.1.4 ! root 657: "base_class_list","base_class","scoped_base_class","base_class.1","base_class_visibility_list",
! 658: "left_curly","opt.component_decl_list","component_decl_list","component_decl",
! 659: "components","component_declarator0","component_declarator","enumlist","enumerator",
! 660: "typename","absdcl","nonempty_type_quals","type_quals","nonmomentary_expr","@18",
! 661: "after_type_declarator","after_type_declarator_no_typename","notype_declarator",
! 662: "scoped_id","typename_scope","scoped_typename","absdcl1","abs_member_declarator",
! 663: "after_type_member_declarator","stmts","errstmt",".pushlevel","maybe_label_decls",
! 664: "label_decls","label_decl","compstmt_or_error","compstmt","simple_if","@19",
! 665: "stmt","@20","@21","@22","@23","@24","@25","@26","@27","@28","@29","@30","@31",
! 666: "@32","@33","@34","@35","@36","try","label_colon","try_head","@37","ansi_try",
! 667: "ansi_dummy","ansi_try_head","@38","except_stmts","@39","@40","optional_identifier",
! 668: "ansi_except_stmts","@41","forhead.1","forhead.2","maybe_type_qual","xexpr",
! 669: "asm_operands","nonnull_asm_operands","asm_operand","asm_clobbers","parmlist",
! 670: "parms","parm","abs_or_notype_decl","see_typename","dont_see_typename","bad_parm",
! 671: "maybe_raises","raise_identifier","ansi_raise_identifier","raise_identifiers",
! 672: "ansi_raise_identifiers","operator_name",""
1.1 root 673: };
674: #endif
675:
676: static const short yyr1[] = { 0,
1.1.1.2 root 677: 109, 109, 111, 110, 110, 112, 113, 114, 114, 114,
678: 114, 114, 114, 114, 114, 114, 115, 117, 116, 118,
679: 118, 119, 119, 119, 119, 120, 121, 121, 123, 122,
680: 124, 122, 125, 122, 126, 122, 122, 122, 122, 122,
681: 122, 122, 122, 127, 127, 127, 127, 127, 128, 128,
682: 128, 128, 128, 128, 128, 128, 128, 128, 129, 129,
683: 129, 129, 129, 129, 129, 129, 130, 130, 130, 130,
684: 130, 130, 130, 130, 131, 131, 131, 131, 131, 131,
685: 131, 132, 133, 133, 133, 133, 134, 135, 136, 136,
686: 136, 136, 137, 137, 137, 137, 137, 137, 137, 137,
1.1.1.4 ! root 687: 137, 137, 138, 138, 138, 139, 139, 139, 140, 140,
! 688: 140, 140, 140, 141, 142, 142, 143, 143, 143, 144,
! 689: 145, 145, 146, 146, 148, 147, 149, 149, 150, 150,
! 690: 151, 151, 151, 151, 151, 152, 152, 153, 153, 153,
! 691: 154, 155, 154, 154, 154, 154, 154, 154, 154, 154,
! 692: 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
! 693: 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
! 694: 154, 156, 156, 156, 156, 156, 156, 157, 157, 157,
! 695: 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
! 696: 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
! 697: 158, 158, 158, 158, 158, 158, 159, 158, 160, 158,
1.1.1.2 root 698: 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
1.1.1.4 ! root 699: 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
! 700: 158, 161, 161, 161, 161, 162, 162, 163, 163, 164,
! 701: 164, 165, 166, 166, 167, 168, 168, 168, 168, 168,
! 702: 168, 169, 169, 169, 169, 170, 170, 170, 170, 171,
! 703: 171, 171, 171, 172, 172, 172, 172, 173, 173, 173,
! 704: 173, 174, 174, 175, 175, 175, 175, 175, 175, 175,
! 705: 176, 176, 176, 177, 177, 178, 178, 179, 179, 181,
! 706: 180, 180, 183, 182, 182, 185, 184, 184, 186, 186,
! 707: 187, 187, 188, 188, 188, 189, 189, 190, 190, 190,
! 708: 190, 190, 191, 191, 191, 191, 191, 191, 193, 192,
! 709: 192, 194, 192, 192, 192, 192, 192, 195, 195, 196,
! 710: 196, 197, 197, 197, 197, 197, 197, 197, 198, 198,
! 711: 198, 198, 198, 199, 201, 200, 202, 200, 203, 204,
! 712: 204, 205, 205, 205, 206, 206, 207, 207, 207, 207,
! 713: 208, 209, 209, 210, 210, 210, 210, 211, 212, 212,
! 714: 212, 212, 213, 213, 213, 214, 214, 214, 214, 214,
1.1.1.3 root 715: 214, 214, 214, 214, 214, 214, 214, 214, 214, 214,
1.1.1.4 ! root 716: 214, 214, 214, 214, 215, 215, 215, 216, 216, 216,
! 717: 216, 216, 217, 217, 217, 217, 217, 218, 218, 219,
! 718: 219, 220, 220, 221, 221, 221, 222, 222, 223, 223,
! 719: 225, 224, 226, 226, 226, 226, 226, 226, 226, 226,
! 720: 226, 226, 226, 226, 226, 226, 227, 227, 227, 227,
! 721: 227, 227, 227, 227, 227, 227, 227, 228, 228, 228,
1.1.1.2 root 722: 228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
1.1.1.3 root 723: 228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
1.1.1.4 ! root 724: 228, 228, 228, 229, 229, 230, 231, 231, 232, 232,
! 725: 232, 232, 232, 232, 232, 232, 232, 232, 232, 232,
! 726: 232, 232, 232, 233, 233, 233, 233, 234, 234, 235,
! 727: 235, 235, 235, 236, 237, 238, 238, 239, 239, 240,
! 728: 241, 241, 242, 242, 242, 244, 243, 245, 245, 245,
! 729: 246, 245, 245, 247, 248, 245, 249, 250, 245, 251,
! 730: 252, 253, 245, 254, 255, 256, 245, 257, 245, 258,
! 731: 245, 259, 245, 260, 245, 245, 245, 245, 245, 245,
1.1.1.3 root 732: 245, 245, 245, 245, 245, 245, 245, 245, 245, 245,
1.1.1.4 ! root 733: 245, 245, 245, 245, 245, 261, 245, 245, 262, 245,
! 734: 245, 245, 263, 263, 263, 264, 264, 264, 266, 265,
! 735: 267, 267, 267, 268, 270, 269, 271, 272, 271, 273,
! 736: 271, 274, 274, 275, 276, 275, 277, 277, 277, 278,
! 737: 278, 278, 278, 279, 279, 280, 280, 280, 281, 281,
! 738: 282, 282, 283, 284, 284, 285, 285, 285, 285, 285,
! 739: 285, 285, 285, 286, 286, 286, 286, 286, 286, 287,
! 740: 287, 288, 288, 288, 289, 290, 291, 292, 292, 292,
! 741: 293, 293, 293, 293, 293, 293, 293, 294, 295, 295,
! 742: 296, 296, 297, 297, 297, 297, 297, 297, 297, 297,
! 743: 297, 297, 297, 297, 297, 297, 297, 297, 297, 297,
! 744: 297, 297, 297, 297, 297, 297, 297, 297, 297, 297,
! 745: 297, 297, 297, 297, 297, 297
1.1 root 746: };
747:
748: static const short yyr2[] = { 0,
749: 0, 1, 0, 2, 2, 0, 0, 1, 1, 1,
750: 1, 5, 4, 3, 4, 4, 1, 0, 5, 1,
751: 3, 2, 4, 3, 1, 3, 1, 3, 0, 5,
752: 0, 5, 0, 5, 0, 5, 3, 3, 6, 7,
1.1.1.2 root 753: 4, 3, 3, 1, 1, 1, 1, 1, 2, 3,
754: 3, 3, 3, 2, 2, 2, 2, 1, 3, 4,
755: 3, 5, 4, 3, 3, 2, 3, 3, 2, 6,
756: 6, 4, 4, 1, 6, 4, 3, 6, 4, 3,
757: 2, 2, 1, 3, 4, 2, 3, 0, 0, 1,
1.1.1.4 ! root 758: 3, 2, 3, 1, 4, 2, 4, 2, 4, 2,
! 759: 5, 3, 1, 1, 1, 1, 1, 1, 1, 1,
! 760: 1, 2, 1, 3, 4, 4, 1, 1, 0, 0,
! 761: 1, 3, 1, 1, 0, 6, 0, 1, 0, 2,
! 762: 1, 1, 1, 1, 1, 1, 1, 1, 3, 3,
! 763: 1, 0, 3, 2, 2, 2, 2, 2, 2, 4,
! 764: 2, 4, 3, 6, 6, 9, 4, 7, 5, 8,
! 765: 9, 9, 6, 9, 6, 9, 3, 6, 2, 4,
! 766: 5, 1, 4, 7, 4, 4, 4, 1, 3, 3,
1.1 root 767: 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1.1.1.4 ! root 768: 3, 3, 3, 3, 3, 5, 3, 3, 3, 2,
! 769: 1, 1, 1, 1, 3, 3, 0, 4, 0, 6,
! 770: 2, 4, 2, 3, 2, 2, 1, 4, 4, 2,
! 771: 5, 3, 2, 2, 2, 5, 3, 5, 3, 6,
! 772: 4, 1, 4, 2, 5, 0, 1, 1, 2, 1,
! 773: 2, 0, 2, 2, 2, 3, 3, 3, 3, 2,
! 774: 2, 1, 1, 2, 2, 1, 2, 2, 3, 1,
! 775: 1, 2, 2, 1, 1, 2, 2, 1, 2, 2,
! 776: 3, 1, 2, 1, 1, 1, 1, 4, 4, 1,
! 777: 1, 1, 1, 1, 3, 1, 3, 0, 4, 0,
! 778: 7, 4, 0, 7, 4, 0, 7, 4, 0, 6,
! 779: 1, 3, 1, 4, 8, 1, 3, 1, 2, 3,
! 780: 4, 1, 1, 3, 4, 6, 3, 5, 0, 7,
! 781: 4, 0, 6, 3, 2, 4, 1, 0, 1, 0,
! 782: 1, 1, 2, 5, 2, 2, 2, 2, 2, 2,
! 783: 2, 3, 3, 2, 0, 3, 0, 3, 2, 1,
! 784: 1, 0, 1, 2, 1, 3, 1, 1, 2, 2,
! 785: 2, 3, 1, 1, 1, 2, 2, 1, 0, 1,
! 786: 4, 3, 1, 2, 2, 3, 5, 5, 3, 3,
! 787: 3, 3, 3, 5, 5, 3, 3, 3, 3, 1,
! 788: 2, 2, 3, 3, 0, 1, 3, 4, 6, 4,
! 789: 3, 2, 4, 6, 4, 3, 2, 1, 3, 1,
! 790: 3, 2, 2, 0, 1, 2, 1, 2, 0, 2,
! 791: 0, 2, 5, 5, 3, 5, 4, 3, 3, 5,
! 792: 1, 1, 5, 3, 3, 1, 5, 5, 3, 5,
! 793: 4, 3, 3, 1, 1, 3, 3, 5, 5, 3,
! 794: 5, 3, 3, 3, 4, 3, 1, 1, 2, 2,
! 795: 2, 3, 3, 7, 7, 5, 7, 3, 7, 7,
! 796: 5, 7, 3, 1, 2, 2, 1, 2, 3, 3,
! 797: 2, 1, 3, 3, 2, 5, 3, 4, 3, 4,
! 798: 2, 3, 2, 3, 4, 3, 4, 5, 5, 1,
! 799: 1, 2, 2, 2, 0, 0, 1, 1, 2, 3,
! 800: 1, 2, 2, 5, 5, 0, 6, 1, 1, 2,
! 801: 0, 4, 1, 0, 0, 7, 0, 0, 9, 0,
! 802: 0, 0, 9, 0, 0, 0, 9, 0, 6, 0,
! 803: 5, 0, 7, 0, 4, 2, 2, 2, 3, 6,
! 804: 8, 10, 12, 4, 3, 2, 2, 1, 2, 3,
! 805: 6, 4, 6, 4, 3, 0, 7, 2, 0, 5,
! 806: 3, 1, 2, 3, 3, 2, 2, 1, 0, 4,
! 807: 2, 3, 3, 0, 0, 4, 0, 0, 4, 0,
! 808: 4, 0, 1, 0, 0, 8, 3, 4, 4, 3,
! 809: 4, 6, 6, 0, 1, 0, 1, 1, 0, 1,
! 810: 1, 3, 4, 1, 3, 0, 1, 3, 2, 1,
! 811: 1, 2, 2, 1, 3, 3, 5, 3, 5, 3,
! 812: 3, 1, 1, 2, 1, 0, 1, 0, 2, 4,
! 813: 1, 1, 1, 2, 2, 2, 1, 1, 1, 3,
! 814: 1, 3, 2, 2, 2, 2, 2, 2, 2, 2,
1.1.1.2 root 815: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1.1.1.4 ! root 816: 2, 2, 2, 2, 2, 3, 2, 2, 2, 3,
! 817: 2, 3, 2, 2, 3, 2
1.1 root 818: };
819:
820: static const short yydefact[] = { 3,
1.1.1.4 ! root 821: 0, 0, 0, 457, 276, 477, 265, 275, 264, 0,
! 822: 0, 0, 332, 0, 0, 0, 0, 419, 419, 419,
! 823: 0, 0, 74, 17, 58, 0, 5, 6, 0, 11,
! 824: 10, 9, 8, 242, 280, 119, 0, 0, 256, 0,
! 825: 286, 274, 0, 345, 347, 351, 350, 327, 0, 419,
! 826: 474, 277, 458, 4, 56, 57, 419, 476, 236, 616,
! 827: 103, 104, 322, 105, 325, 0, 236, 27, 0, 686,
! 828: 276, 417, 684, 683, 419, 681, 662, 667, 668, 0,
! 829: 674, 673, 659, 660, 658, 677, 666, 663, 664, 665,
! 830: 669, 670, 656, 657, 653, 654, 655, 671, 672, 678,
! 831: 679, 0, 661, 675, 280, 414, 268, 0, 277, 333,
! 832: 0, 18, 635, 0, 0, 0, 0, 0, 0, 236,
! 833: 460, 459, 461, 3, 0, 0, 276, 0, 0, 345,
! 834: 347, 638, 0, 88, 83, 242, 0, 0, 478, 475,
! 835: 117, 118, 127, 436, 0, 419, 419, 431, 0, 55,
! 836: 0, 0, 284, 252, 253, 419, 432, 276, 267, 266,
! 837: 54, 0, 257, 0, 0, 261, 281, 282, 258, 260,
! 838: 283, 0, 49, 104, 335, 336, 337, 338, 341, 349,
! 839: 105, 107, 106, 108, 339, 344, 340, 352, 352, 368,
! 840: 0, 66, 419, 0, 421, 0, 0, 69, 0, 419,
! 841: 616, 638, 201, 417, 203, 240, 236, 236, 0, 0,
! 842: 142, 238, 217, 237, 0, 236, 132, 131, 236, 133,
! 843: 134, 0, 236, 135, 0, 121, 236, 172, 178, 124,
! 844: 141, 0, 236, 204, 0, 236, 414, 268, 123, 414,
! 845: 0, 202, 620, 621, 636, 636, 0, 617, 624, 324,
! 846: 0, 319, 0, 0, 136, 137, 0, 0, 26, 680,
! 847: 676, 682, 419, 0, 419, 419, 482, 616, 421, 685,
! 848: 415, 270, 272, 418, 269, 0, 0, 420, 473, 454,
! 849: 453, 452, 0, 14, 0, 7, 7, 43, 42, 638,
! 850: 0, 29, 33, 37, 31, 35, 38, 288, 82, 89,
! 851: 86, 0, 236, 242, 0, 0, 0, 505, 59, 511,
! 852: 61, 352, 128, 114, 254, 255, 0, 0, 419, 419,
! 853: 444, 0, 0, 445, 64, 53, 67, 0, 52, 419,
! 854: 0, 421, 0, 51, 259, 50, 65, 68, 263, 262,
! 855: 638, 287, 342, 343, 353, 346, 348, 390, 236, 0,
! 856: 395, 395, 0, 0, 373, 638, 450, 0, 264, 0,
! 857: 138, 256, 0, 456, 0, 236, 642, 643, 0, 641,
! 858: 0, 0, 647, 649, 639, 0, 0, 299, 463, 468,
! 859: 462, 638, 0, 72, 236, 0, 0, 149, 141, 0,
! 860: 0, 151, 236, 236, 236, 223, 0, 239, 0, 224,
! 861: 148, 145, 144, 0, 0, 0, 0, 146, 236, 116,
! 862: 147, 236, 236, 0, 236, 236, 236, 236, 236, 236,
! 863: 236, 236, 236, 236, 236, 236, 236, 236, 236, 236,
! 864: 236, 211, 215, 216, 244, 245, 243, 236, 236, 236,
! 865: 232, 0, 236, 169, 241, 109, 110, 111, 0, 213,
! 866: 0, 113, 200, 412, 220, 236, 413, 110, 111, 225,
! 867: 414, 414, 419, 619, 414, 623, 622, 0, 410, 330,
! 868: 408, 321, 0, 0, 278, 0, 279, 28, 491, 416,
! 869: 485, 481, 0, 0, 0, 0, 493, 0, 419, 616,
! 870: 421, 273, 271, 0, 0, 20, 0, 25, 115, 13,
! 871: 16, 15, 288, 48, 44, 47, 45, 46, 41, 0,
! 872: 0, 0, 0, 299, 104, 94, 236, 0, 90, 0,
! 873: 119, 0, 0, 312, 0, 308, 84, 0, 0, 60,
! 874: 63, 512, 513, 506, 125, 435, 434, 0, 0, 419,
! 875: 419, 0, 419, 0, 421, 429, 299, 285, 425, 0,
! 876: 0, 0, 428, 0, 419, 419, 288, 365, 364, 363,
! 877: 120, 354, 355, 358, 357, 0, 0, 392, 391, 457,
! 878: 419, 236, 236, 616, 638, 0, 396, 419, 616, 638,
! 879: 0, 0, 326, 375, 374, 81, 419, 419, 419, 455,
! 880: 422, 644, 645, 646, 0, 648, 651, 0, 0, 0,
! 881: 298, 419, 0, 419, 0, 73, 419, 0, 0, 0,
! 882: 0, 276, 0, 143, 222, 236, 206, 205, 0, 236,
! 883: 122, 198, 197, 608, 607, 0, 195, 194, 192, 193,
! 884: 191, 190, 189, 186, 187, 188, 184, 185, 179, 180,
! 885: 181, 182, 183, 199, 0, 0, 234, 236, 167, 236,
! 886: 268, 153, 236, 0, 112, 229, 236, 214, 0, 227,
! 887: 236, 0, 419, 419, 616, 632, 633, 630, 631, 638,
! 888: 618, 626, 637, 628, 625, 236, 331, 0, 330, 12,
! 889: 140, 139, 484, 480, 419, 419, 479, 483, 419, 492,
! 890: 487, 0, 489, 0, 334, 0, 19, 341, 339, 344,
! 891: 299, 30, 34, 32, 36, 0, 0, 92, 0, 96,
! 892: 236, 98, 236, 0, 100, 236, 201, 276, 236, 309,
! 893: 0, 313, 0, 85, 62, 0, 0, 507, 508, 0,
! 894: 0, 0, 0, 0, 443, 439, 0, 0, 0, 442,
! 895: 0, 292, 419, 419, 419, 427, 0, 0, 299, 127,
! 896: 0, 361, 367, 366, 360, 359, 388, 389, 236, 379,
! 897: 380, 638, 299, 402, 0, 288, 0, 376, 386, 387,
! 898: 638, 0, 382, 288, 381, 383, 0, 393, 394, 451,
! 899: 448, 449, 650, 0, 640, 0, 0, 296, 466, 0,
! 900: 0, 0, 471, 0, 0, 0, 638, 218, 150, 152,
! 901: 175, 177, 176, 0, 208, 0, 173, 236, 209, 212,
! 902: 0, 0, 0, 414, 414, 157, 236, 0, 170, 236,
! 903: 0, 231, 236, 219, 0, 634, 485, 481, 419, 70,
! 904: 0, 0, 411, 409, 323, 0, 496, 494, 490, 419,
! 905: 488, 21, 24, 0, 0, 39, 93, 91, 0, 0,
! 906: 102, 236, 0, 0, 0, 0, 310, 306, 0, 0,
! 907: 201, 0, 524, 527, 0, 0, 236, 0, 0, 0,
! 908: 236, 0, 604, 578, 0, 0, 0, 0, 236, 0,
! 909: 558, 0, 519, 0, 0, 0, 501, 518, 523, 500,
! 910: 0, 236, 0, 584, 0, 530, 534, 509, 0, 433,
! 911: 430, 447, 446, 419, 419, 419, 441, 290, 426, 423,
! 912: 424, 499, 498, 295, 362, 356, 299, 76, 401, 419,
! 913: 299, 457, 236, 236, 638, 397, 79, 419, 0, 652,
! 914: 289, 0, 0, 419, 419, 419, 419, 419, 419, 71,
! 915: 221, 328, 196, 129, 0, 233, 0, 0, 0, 0,
! 916: 159, 171, 228, 0, 226, 627, 629, 320, 497, 495,
! 917: 486, 23, 40, 95, 97, 0, 99, 0, 317, 236,
! 918: 311, 0, 314, 0, 510, 504, 515, 576, 236, 0,
! 919: 236, 0, 236, 0, 544, 546, 547, 548, 0, 236,
! 920: 0, 605, 0, 642, 643, 0, 0, 579, 0, 585,
! 921: 559, 0, 577, 520, 250, 638, 0, 251, 0, 0,
! 922: 638, 0, 514, 503, 502, 521, 568, 0, 0, 557,
! 923: 556, 0, 573, 0, 584, 0, 581, 0, 0, 0,
! 924: 0, 440, 437, 438, 0, 293, 400, 377, 378, 638,
! 925: 398, 236, 299, 407, 288, 384, 385, 638, 303, 0,
! 926: 301, 297, 467, 464, 465, 472, 469, 470, 0, 0,
! 927: 129, 210, 235, 168, 0, 268, 154, 163, 165, 155,
! 928: 230, 101, 315, 0, 0, 307, 0, 236, 0, 0,
! 929: 505, 597, 0, 600, 0, 540, 236, 236, 549, 0,
! 930: 555, 0, 565, 0, 236, 505, 0, 236, 505, 560,
! 931: 247, 288, 246, 249, 248, 288, 236, 571, 0, 575,
! 932: 574, 569, 583, 582, 0, 0, 126, 291, 0, 75,
! 933: 0, 299, 406, 299, 78, 0, 0, 0, 174, 130,
! 934: 414, 414, 158, 236, 0, 421, 421, 0, 318, 516,
! 935: 0, 528, 601, 599, 0, 598, 538, 236, 0, 545,
! 936: 554, 0, 564, 0, 580, 562, 0, 586, 522, 566,
! 937: 594, 531, 535, 294, 399, 405, 403, 0, 0, 302,
! 938: 300, 0, 0, 0, 160, 0, 0, 316, 236, 525,
! 939: 0, 0, 0, 236, 541, 542, 609, 0, 0, 0,
! 940: 587, 570, 0, 0, 0, 0, 304, 164, 166, 156,
! 941: 161, 162, 517, 236, 236, 603, 602, 539, 236, 0,
! 942: 0, 610, 611, 550, 563, 561, 0, 0, 0, 0,
! 943: 404, 0, 526, 0, 543, 236, 609, 0, 0, 590,
! 944: 567, 588, 0, 532, 536, 0, 0, 0, 0, 551,
! 945: 612, 0, 0, 592, 236, 236, 0, 529, 613, 0,
! 946: 0, 591, 589, 593, 0, 533, 537, 305, 614, 0,
! 947: 552, 595, 0, 0, 0, 615, 553, 596, 0, 0,
! 948: 0
1.1 root 949: };
950:
1.1.1.4 ! root 951: static const short yydefgoto[] = { 1269,
! 952: 1, 2, 125, 501, 27, 28, 29, 277, 495, 496,
! 953: 30, 69, 31, 510, 512, 511, 513, 509, 32, 33,
! 954: 34, 350, 135, 136, 137, 300, 518, 519, 560, 186,
! 955: 450, 35, 36, 143, 750, 225, 226, 313, 730, 314,
! 956: 1062, 227, 882, 255, 228, 395, 229, 256, 231, 406,
! 957: 944, 442, 232, 233, 234, 138, 235, 236, 883, 341,
! 958: 884, 169, 885, 237, 272, 390, 273, 152, 40, 378,
! 959: 153, 1035, 342, 1119, 41, 933, 601, 1050, 1051, 859,
! 960: 722, 723, 42, 473, 251, 1060, 678, 43, 44, 45,
! 961: 46, 188, 189, 47, 48, 346, 562, 563, 564, 565,
! 962: 566, 191, 353, 354, 355, 576, 577, 926, 470, 471,
! 963: 239, 666, 240, 113, 365, 366, 154, 323, 155, 241,
! 964: 51, 109, 271, 485, 157, 886, 887, 534, 727, 728,
! 965: 729, 309, 888, 889, 1179, 890, 1107, 980, 1204, 981,
! 966: 1181, 1029, 1193, 1245, 1030, 1194, 1246, 1184, 1148, 1209,
! 967: 1088, 1191, 1161, 891, 892, 893, 1096, 894, 1025, 895,
! 968: 1099, 1217, 1243, 1242, 1255, 1192, 1265, 896, 897, 993,
! 969: 626, 1211, 1212, 1213, 1260, 486, 248, 249, 668, 199,
! 970: 461, 674, 198, 374, 597, 375, 598, 242
1.1 root 971: };
972:
1.1.1.4 ! root 973: static const short yypact[] = { 198,
! 974: 1834, 4824, 391,-32768, 583,-32768,-32768,-32768,-32768, 286,
! 975: 133, 135,-32768, 261, 3239, 203, 169,-32768,-32768,-32768,
! 976: 380, 272,-32768,-32768,-32768, 144,-32768, 293, 5180,-32768,
! 977: -32768,-32768,-32768, 195, 309, 325, 850, 6231, 970, 32,
! 978: -32768,-32768, 1232,-32768,-32768,-32768,-32768, 329, 1576,-32768,
! 979: -32768, 315,-32768,-32768,-32768,-32768,-32768,-32768, 5817, 2205,
! 980: -32768,-32768, 370,-32768, 365, 441, 5817,-32768, 72,-32768,
! 981: 418,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 437,
1.1.1.2 root 982: -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1.1 root 983: -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1.1.1.4 ! root 984: -32768, 399,-32768,-32768, 524, 774, 1155, 1384,-32768,-32768,
! 985: 441,-32768, 551, 380, 1094, 1094, 30, 505, 312, 5817,
! 986: -32768,-32768,-32768, 467, 5129, 527, 30, 710, 6360, 52,
! 987: 201, 653, 619,-32768, 679, 31, 340, 340,-32768,-32768,
! 988: -32768,-32768, 507, 30, 1379,-32768,-32768,-32768, 1904,-32768,
! 989: 103, 101,-32768, 577, 610,-32768,-32768, 881,-32768,-32768,
! 990: -32768, 558, 970, 161, 6391,-32768,-32768,-32768, 1087,-32768,
! 991: -32768, 710,-32768, 418,-32768,-32768,-32768,-32768,-32768,-32768,
! 992: 272,-32768,-32768,-32768,-32768,-32768, 602, 649, 649,-32768,
! 993: 5013,-32768,-32768, 3331, 591, 109, 634, 216, 947,-32768,
! 994: 2205, 100,-32768, 641,-32768,-32768, 6059, 6135, 700, 702,
! 995: -32768,-32768,-32768, 1809, 146, 5900,-32768,-32768, 5900,-32768,
! 996: -32768, 4281, 5900,-32768, 434,-32768, 5900,-32768,-32768, 5185,
! 997: 1784, 749, 5485, 793, 77, 5900, 774, 1241,-32768, 6483,
! 998: 93,-32768,-32768,-32768,-32768, 426, 716, 39, 753,-32768,
! 999: 146, 724, 57, 718, 788, 6617, 729, 859,-32768, 551,
! 1000: -32768,-32768,-32768, 624,-32768,-32768,-32768, 6451, 756,-32768,
! 1001: 628, 1155,-32768,-32768, 1155, 60, 761,-32768,-32768, 610,
! 1002: 610,-32768, 448,-32768, 2019,-32768,-32768,-32768,-32768, 496,
! 1003: 307,-32768,-32768,-32768,-32768,-32768,-32768, 841,-32768, 95,
! 1004: -32768, 4364, 5900,-32768, 340, 340, 820, 766,-32768,-32768,
! 1005: -32768, 649,-32768,-32768, 577, 610, 497, 497,-32768,-32768,
! 1006: -32768, 1998, 320,-32768,-32768,-32768, 216, 710,-32768,-32768,
! 1007: 3438, 770, 1584,-32768, 1087,-32768,-32768, 216,-32768,-32768,
! 1008: 496,-32768,-32768,-32768, 275,-32768,-32768,-32768, 5900, 633,
! 1009: 1502, 2144, 36, 4897,-32768, 653, 551, 779, 641, 23,
! 1010: 6661, 1083, 798,-32768, 795, 5900,-32768, 30, 75,-32768,
! 1011: 309, 870,-32768,-32768, 856, 1698, 832, 894, 30, 272,
! 1012: -32768, 100, 828,-32768, 5900, 641, 4281,-32768, 765, 511,
! 1013: 4281,-32768, 5900, 5983, 5900,-32768, 390,-32768, 528,-32768,
! 1014: -32768,-32768,-32768, 840, 844, 820, 846,-32768, 5817,-32768,
! 1015: -32768, 5900, 5900, 4447, 5900, 5900, 5900, 5900, 5900, 5900,
! 1016: 5900, 5900, 5900, 5900, 5900, 5900, 5900, 5900, 5900, 5900,
! 1017: 5900,-32768,-32768,-32768,-32768,-32768,-32768, 5900, 5900, 5900,
! 1018: 748, 548, 4779,-32768,-32768,-32768, 30, 272, 146, 596,
! 1019: 93,-32768,-32768,-32768,-32768, 5900,-32768,-32768,-32768, 645,
! 1020: 322, 322,-32768,-32768, 1711,-32768,-32768, 4364, 877, 903,
! 1021: -32768,-32768, 146, 861,-32768, 4696,-32768,-32768, 551, 628,
! 1022: 517, 517, 471, 420, 860, 865,-32768, 867,-32768, 2205,
! 1023: 871,-32768, 1155, 954, 698,-32768, 1512,-32768,-32768,-32768,
! 1024: -32768,-32768, 841,-32768,-32768,-32768,-32768,-32768,-32768, 887,
! 1025: 893, 899, 901, 894, 30,-32768, 5900, 472,-32768, 655,
! 1026: 742, 146, 689,-32768, 3866, 6661,-32768, 55, 340,-32768,
! 1027: -32768,-32768,-32768, 977,-32768, 577, 577, 497, 497,-32768,
! 1028: -32768, 445,-32768, 3545, 906,-32768, 894,-32768, 551, 913,
! 1029: 244, 922,-32768, 918,-32768,-32768, 841,-32768,-32768,-32768,
! 1030: -32768, 986,-32768,-32768, 1035, 403, 6544,-32768,-32768, 991,
! 1031: 782, 5900, 5900, 6276, 496, 179,-32768, 813, 6276, 721,
! 1032: 211, 992,-32768,-32768,-32768, 817,-32768,-32768,-32768,-32768,
! 1033: -32768,-32768,-32768,-32768, 109,-32768,-32768, 249, 441, 967,
! 1034: 998,-32768, 3652,-32768, 3759,-32768,-32768, 282, 948, 951,
! 1035: 955, 189, 958,-32768,-32768, 5900,-32768,-32768, 965, 5568,
! 1036: -32768, 6661, 6661,-32768,-32768, 1011, 6697, 6712, 6572, 2413,
! 1037: 3391, 2064, 2095, 2250, 2250, 2250, 962, 962, 20, 20,
! 1038: -32768,-32768,-32768,-32768, 310, 961, 988, 5900,-32768, 5817,
! 1039: 1372, 1021, 5900, 966,-32768,-32768, 5900, 690, 314,-32768,
! 1040: 5900, 912,-32768,-32768, 6180,-32768, 610,-32768,-32768, 100,
! 1041: -32768, 1023,-32768, 1027,-32768, 5900, 146, 976, 903,-32768,
! 1042: -32768, 6661, 628, 628,-32768,-32768,-32768,-32768,-32768,-32768,
! 1043: 551, 979,-32768, 978,-32768, 761,-32768, 1009, 699, 1031,
! 1044: 894,-32768,-32768,-32768,-32768, 307, 326,-32768, 95,-32768,
! 1045: 5900,-32768, 5900, 691,-32768, 5900, 1038, 855, 5900,-32768,
! 1046: 1053,-32768, 172,-32768,-32768, 146, 3040, 977,-32768, 329,
! 1047: 481, 483, 497, 497,-32768, 551, 1005, 341, 1008,-32768,
! 1048: 1004, 1061,-32768,-32768,-32768,-32768, 497, 497, 894, 507,
! 1049: 275,-32768,-32768,-32768,-32768, 1035,-32768,-32768, 5900,-32768,
! 1050: -32768, 100, 6594, 6661, 1013, 826, 1902,-32768,-32768,-32768,
! 1051: 100, 1016,-32768, 848,-32768,-32768, 5071,-32768,-32768, 551,
! 1052: 551, 551,-32768, 1698,-32768, 67, 1040,-32768, 551, 1017,
! 1053: 362, 1020, 551, 1022, 374, 1026, 100,-32768,-32768,-32768,
! 1054: -32768,-32768,-32768, 409,-32768, 4198,-32768, 5900,-32768,-32768,
! 1055: 441, 196, 411, 774, 6483,-32768, 5900, 4364,-32768, 5900,
! 1056: 433,-32768, 5900,-32768, 442, 610, 603, 603, 471,-32768,
! 1057: 4364, 4364, 6661,-32768,-32768, 1028, 517, 517, 551,-32768,
! 1058: -32768,-32768,-32768, 254, 307,-32768,-32768,-32768, 466, 482,
! 1059: -32768, 5900, 526, 6522, 4364, 3949,-32768,-32768, 225, 831,
! 1060: 1081, 1055,-32768,-32768, 1056, 1058, 5900, 1088, 1037, 1041,
! 1061: 5651, 158, 1138,-32768, 304, 1100, 109, 1101, 5734, 346,
! 1062: -32768, 1047,-32768, 1395, 6344, 2362,-32768,-32768, 1137,-32768,
! 1063: 2255, 5275, 2505,-32768, 2612,-32768,-32768,-32768, 5013,-32768,
! 1064: -32768, 577, 577,-32768,-32768,-32768,-32768,-32768, 551, 551,
! 1065: 551, 577, 577, 1103,-32768,-32768, 6594,-32768,-32768, 834,
! 1066: 894, 1105, 5900, 5900, 496,-32768,-32768, 836, 4955,-32768,
! 1067: -32768, 1157, 4364,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
! 1068: -32768, 1111, 6681, 507, 78,-32768, 1987, 1063, 1066, 530,
! 1069: -32768,-32768,-32768, 533,-32768,-32768,-32768,-32768, 628, 628,
! 1070: 551,-32768,-32768,-32768,-32768, 542,-32768, 4364,-32768, 5900,
! 1071: -32768, 1116,-32768, 146,-32768,-32768,-32768,-32768, 5900, 1104,
! 1072: 5380, 4032, 5900, 905,-32768,-32768,-32768,-32768, 1086, 5900,
! 1073: 1089,-32768, 1110, 1090, 167, 1091, 708,-32768, 711,-32768,
! 1074: -32768, 1093,-32768,-32768,-32768, 819, 230,-32768, 1095, 277,
! 1075: 33, 1098,-32768,-32768,-32768,-32768,-32768, 109, 146,-32768,
! 1076: -32768, 880,-32768, 2719,-32768, 897,-32768, 2826, 4530, 4530,
! 1077: 37, 551, 551, 551, 4364,-32768,-32768,-32768,-32768, 100,
! 1078: 1146, 5900, 6594, 6661, 841,-32768,-32768, 100, 1122, 547,
! 1079: -32768,-32768, 551, 551, 551, 551, 551, 551, 4115, 1102,
! 1080: 507,-32768,-32768,-32768, 1698, 1686, 1154, 1127, 1128,-32768,
! 1081: -32768,-32768,-32768, 6639, 4364,-32768, 1112, 5900, 1197, 1113,
! 1082: 1109,-32768, 1115,-32768, 1117,-32768, 5900, 5380,-32768, 1118,
! 1083: -32768, 441,-32768, 1120, 5900,-32768, 1121, 5900,-32768,-32768,
! 1084: -32768, 841,-32768,-32768,-32768, 841, 5380, 856, 1167,-32768,
! 1085: -32768,-32768,-32768,-32768, 1125, 1126,-32768,-32768, 4364,-32768,
! 1086: 4364, 6594,-32768, 894,-32768, 743, 1157, 1123,-32768,-32768,
! 1087: 774, 6483,-32768, 5900, 4364,-32768,-32768, 4364,-32768,-32768,
! 1088: 1131,-32768,-32768,-32768, 3147,-32768,-32768, 5380, 1177,-32768,
! 1089: -32768, 76,-32768, 563,-32768,-32768, 565,-32768,-32768,-32768,
! 1090: -32768,-32768,-32768,-32768,-32768,-32768, 1169, 1196, 1144,-32768,
! 1091: -32768, 1147, 1148, 566,-32768, 1145, 1150,-32768, 5380,-32768,
! 1092: 1170, 915, 2933, 5380,-32768,-32768, 1245, 1156, 1158, 1161,
! 1093: -32768, 1172, 4613, 4613, 4364, 1250,-32768,-32768,-32768,-32768,
! 1094: -32768,-32768,-32768, 5380, 5900,-32768,-32768,-32768, 5380, 1186,
! 1095: 333, 1219,-32768,-32768,-32768,-32768, 736, 1189, 1171, 1176,
! 1096: -32768, 1223,-32768, 1180,-32768, 5900, 1245, 1181, 1245,-32768,
! 1097: -32768,-32768, 1698,-32768,-32768, 1279, 1188, 1207, 367,-32768,
! 1098: -32768, 820, 820, 146, 5380, 5380, 1208,-32768,-32768, 1302,
! 1099: 1209,-32768,-32768,-32768, 1211,-32768,-32768,-32768,-32768, 571,
! 1100: -32768,-32768, 1305, 1214, 820,-32768,-32768,-32768, 1321, 1322,
! 1101: -32768
1.1 root 1102: };
1103:
1104: static const short yypgoto[] = {-32768,
1.1.1.4 ! root 1105: 1200,-32768,-32768, 1043, 1323,-32768,-32768,-32768,-32768, 632,
! 1106: -32768,-32768,-32768,-32768,-32768,-32768,-32768, -665, 1204, 1210,
! 1107: -32768,-32768,-32768,-32768, 1202,-32768,-32768, 631, -7, 845,
! 1108: -197, -5, -26,-32768,-32768, 1221, 936, -879,-32768, 598,
! 1109: 288,-32768, -21, -99, 814,-32768, -159, 878, -185,-32768,
! 1110: -32768,-32768,-32768, -179, -64, -84,-32768,-32768, 368, -8,
! 1111: 799, 1194, 1076, -9, 1077, -1, 15, 474, -19, -287,
! 1112: -32768,-32768, 1034,-32768,-32768,-32768, -445,-32768, 224,-32768,
! 1113: -20, 557, -24,-32768,-32768,-32768, 686, -244, 1337, 1339,
! 1114: -32768,-32768,-32768,-32768,-32768, -126,-32768, 618, 804, -523,
! 1115: -32768, 642, 475, 594, -334, 1024,-32768,-32768, 904, 704,
! 1116: -54, -94, -6, 1566, -248,-32768, -58, 1065, 1042, 509,
! 1117: -32768, 6, -219,-32768, -125, -842, -859, -321,-32768,-32768,
! 1118: 662, -82, -133,-32768,-32768, 386,-32768,-32768,-32768,-32768,
1.1 root 1119: -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1.1.1.4 ! root 1120: -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 375,-32768,
1.1.1.2 root 1121: -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1.1.1.4 ! root 1122: -968, 174,-32768, 176,-32768, -35,-32768, -238, 190, 8,
! 1123: 1163,-32768, 137, -577, 636, 394,-32768, 1318
1.1 root 1124: };
1125:
1126:
1.1.1.4 ! root 1127: #define YYLAST 6784
1.1 root 1128:
1129:
1.1.1.4 ! root 1130: static const short yytable[] = { 39,
! 1131: 39, 253, 65, 310, 310, 106, 52, 52, 108, 105,
! 1132: 514, 270, 257, 107, 171, 118, 187, 783, 164, 585,
! 1133: 488, 389, 389, 324, 247, 114, 1014, 39, 151, 162,
! 1134: 389, 118, 497, 389, 398, 185, 163, 389, 498, 547,
! 1135: 846, 389, 756, 460, 480, 254, 276, 389, 484, 464,
! 1136: 1024, 306, 1028, 170, 105, 311, 402, 238, 39, 403,
! 1137: 1115, 1116, 347, 408, 1061, 238, 445, 411, 706, 445,
! 1138: 582, 582, 476, 444, 58, 193, 445, 592, 593, 446,
! 1139: 447, 172, 171, 554, 134, 445, 315, 445, 465, 429,
! 1140: 430, 431, 466, 59, 360, 446, 458, 61, 515, 6,
! 1141: 292, 742, 105, 325, 476, 293, 275, 278, 118, 118,
! 1142: 118, 367, 368, 6, 194, 195, 15, 196, 238, 290,
! 1143: 291, 258, 118, 39, 197, 588, -638, 163, -638, 1187,
! 1144: 52, 467, 15, -638, 304, 173, -253, 516, 171, 118,
! 1145: 583, 1117, 454, 118, 171, 457, 121, 122, 61, 62,
! 1146: 328, -638, -638, 369, -638, 294, -638, 724, 363, 474,
! 1147: 61, 62, 494, 333, 1014, 383, 118, 407, 1014, 931,
! 1148: 448, 310, 310, 532, 843, 259, 517, 170, 1188, 963,
! 1149: 1063, 1061, 449, 340, 196, 535, 459, 196, 181, 39,
! 1150: 371, 197, 362, 118, 197, 105, 324, -1, 449, 39,
! 1151: 405, 373, 22, 528, 329, 370, 326, 401, 105, 389,
! 1152: 172, 58, 399, 171, 66, 701, 67, 398, 133, 529,
! 1153: 238, 856, 530, 531, 1219, 1220, 672, 990, 767, 118,
! 1154: 59, 551, 112, 58, 105, 614, 110, 123, 275, 64,
! 1155: 105, 377, 694, 469, 163, 476, -288, 171, 134, 295,
! 1156: 171, 64, 59, 658, 296, 845, 61, 174, 536, 537,
! 1157: 767, 683, 684, 68, 336, -288, 39, -288, 298, 749,
! 1158: -104, 105, 619, 521, 974, 39, 857, 61, 174, 328,
! 1159: 558, 527, 768, 39, 111, 608, 492, 327, 61, 62,
! 1160: 52, 802, 520, 476, 371, 552, 741, 997, 784, 999,
! 1161: 946, 338, 1183, 914, 297, 523, 994, 995, 6, 559,
! 1162: 171, 118, 118, 139, 775, 776, 118, 919, 561, -288,
! 1163: 962, 596, 118, 1014, 4, 117, 172, 118, 975, 362,
! 1164: 504, 476, 609, 1103, 63, 120, 610, 171, 384, 645,
! 1165: 307, 124, 575, 580, 591, 118, 744, 181, 369, 340,
! 1166: 163, 785, 39, 140, 193, 505, 659, 200, 506, 476,
! 1167: 507, 15, 543, 476, 263, 405, 18, 662, 181, 405,
! 1168: 105, 611, 613, 141, 107, 476, 170, 190, 142, 64,
! 1169: 1105, 663, 4, 117, 798, 238, 1227, 652, 308, 238,
! 1170: 476, 664, 625, 194, 195, 310, 201, 181, 267, 1003,
! 1171: 370, 544, 545, 665, 269, 61, 174, 238, 753, 120,
! 1172: 508, 476, 809, 252, 282, 22, 824, 707, 646, 15,
! 1173: 1250, 654, 546, 476, 18, 212, 503, 26, 847, 71,
! 1174: 6, 159, 8, 160, 397, 1228, 105, 754, 10, 19,
! 1175: 651, 655, 480, 905, 738, 484, 725, 675, 324, 20,
! 1176: 206, 497, 12, 324, 692, 118, 118, 498, 476, 13,
! 1177: 476, 21, 489, 39, 935, 469, 16, 389, 171, 1251,
! 1178: 187, 1037, 708, 22, 250, 1041, 938, 557, 921, 731,
! 1179: 732, 59, 476, 409, 105, 26, 921, 543, 39, 699,
! 1180: 261, 476, 586, 819, 55, 56, 181, 409, 410, 4,
! 1181: 144, 490, 491, 791, 278, 795, 262, 492, 739, 50,
! 1182: 50, 941, 499, 947, 714, 476, 804, 721, 606, 22,
! 1183: -87, 709, 687, 330, 278, 330, 544, 545, 139, 50,
! 1184: 685, 476, 118, 118, 786, 953, 15, 50, 765, 561,
! 1185: 686, 18, 362, 772, 955, 156, 156, 735, 812, 140,
! 1186: 813, 71, 6, 455, 8, 72, 146, 821, 278, 263,
! 1187: 10, 825, 331, 332, 331, 332, 147, 792, 964, 796,
! 1188: 615, 284, 39, 148, 12, 476, 265, 39, 149, 476,
! 1189: 196, 13, 476, 900, 965, 901, 266, 197, 16, 371,
! 1190: 22, 476, 456, 267, 585, 649, 1127, 1123, 268, 269,
! 1191: 373, 362, 26, 362, 312, 4, 117, 683, 684, 616,
! 1192: 278, 849, 476, 850, 476, 476, 853, 959, 960, 330,
! 1193: 1263, 299, 50, 50, 50, 57, 171, 58, 967, 650,
! 1194: 288, 289, 1070, 50, 389, 1071, 156, 156, 656, 1232,
! 1195: 814, 22, 15, 815, 1072, 263, 59, 18, 238, 1128,
! 1196: 343, 669, 193, 156, 673, 344, 118, 156, 331, 332,
! 1197: 952, 334, 663, 39, 60, 1189, 263, 1190, 1200, 469,
! 1198: 489, 561, 664, 1264, 902, 903, 1166, 657, 1167, 267,
! 1199: 156, 568, 521, 265, 665, 269, 569, 660, 912, 913,
! 1200: 105, 194, 195, 266, 39, 193, 22, 710, 364, 50,
! 1201: 267, 520, 345, 371, 372, 268, 269, 50, 26, 490,
! 1202: 491, 766, 4, 144, 523, 376, 774, 950, 858, 948,
! 1203: 949, 301, 385, 954, 561, 362, 661, 118, 118, 596,
! 1204: 302, 715, 822, 851, 194, 195, 711, 196, 367, 368,
! 1205: 6, 118, 118, 451, 197, 1168, 945, 696, -22, 15,
! 1206: 1094, 1169, 966, 1097, 18, 145, 1230, 1124, 925, 1145,
! 1207: 303, 118, 697, -22, 71, 6, 7, 8, 9, 146,
! 1208: 716, 823, 852, 10, 1155, 39, 483, 1158, 105, 147,
! 1209: 369, 393, 107, 394, 712, 441, 148, 12, 647, 1095,
! 1210: 141, 149, 1098, 50, 13, 142, 648, 951, 721, 37,
! 1211: 37, 16, 445, 22, 468, 196, 830, 432, 522, 105,
! 1212: 956, 957, 197, 275, 547, 26, 263, 561, 463, 264,
! 1213: 475, 118, 118, 713, 773, 156, 156, 128, 472, 22,
! 1214: 156, 477, 370, 265, 969, 973, 156, 476, 433, 434,
! 1215: 1231, 50, 435, 266, 437, 984, 439, 440, 972, 989,
! 1216: 267, 377, 4, 144, 22, 268, 269, 1002, 245, 156,
! 1217: 156, 478, 50, 487, 991, 1010, 377, 996, 308, 371,
! 1218: 533, 371, 594, 377, -77, 1006, 1009, 553, 118, -77,
! 1219: 373, 587, 373, 163, 362, 760, 761, 1176, 1177, 15,
! 1220: 362, 362, 1067, 362, 18, 145, -80, 39, 918, 58,
! 1221: 589, -80, 590, 196, -436, 595, -436, 927, -104, 146,
! 1222: 197, -436, 1052, 599, 4, 117, 769, 770, 59, 147,
! 1223: 778, 779, 1101, 37, 600, 58, 148, 39, 676, -436,
! 1224: 607, 149, -436, 940, 976, 977, 230, 1038, 1039, 1046,
! 1225: 1047, 105, 617, 22, 59, 1066, 618, 1073, 620, 4,
! 1226: 379, 15, 677, 150, 263, 26, 18, 1077, 1086, 1087,
! 1227: 1083, 1085, 688, -436, 680, -436, 1076, 689, 1090, 50,
! 1228: 50, 663, -436, 50, 690, 166, 167, 168, 693, 362,
! 1229: 362, 664, 10, 976, 1110, -436, 15, 695, 267, 351,
! 1230: 702, 18, 245, 665, 269, 1154, 703, 230, 1157, 245,
! 1231: 976, 1113, 704, 13, 705, 22, 19, 625, 625, 726,
! 1232: 16, 1109, 371, 740, 1118, 743, 20, 26, 976, 1206,
! 1233: 388, 392, 362, 373, 745, 746, 362, 1152, 21, 427,
! 1234: 428, 429, 430, 431, 1174, 751, 1172, 1173, 973, 752,
! 1235: 380, 171, 49, 49, 759, 777, 156, 156, 787, 788,
! 1236: 799, 972, 26, 800, 1139, 1131, 1141, 801, 1132, 105,
! 1237: 803, 1045, 119, 107, 808, 1149, 245, 805, 810, 811,
! 1238: 132, 361, 818, 820, 831, 245, 38, 38, 832, 165,
! 1239: 835, 840, 156, 37, 844, 841, 362, 156, 166, 167,
! 1240: 168, -103, 339, 167, 168, 10, 4, 117, 1164, 10,
! 1241: 1165, 278, 181, 372, 129, 362, 855, 904, 1252, 1253,
! 1242: 906, 907, 908, 453, 1175, 920, 13, 1178, 928, 934,
! 1243: 13, 932, 936, 16, 937, 455, 105, 16, 939, 245,
! 1244: 275, 1268, 958, 15, 978, 246, 979, 982, 18, 983,
! 1245: 986, 985, 1102, 362, 987, 992, 362, 1106, 998, 1000,
! 1246: 1004, 1016, 351, 19, 1036, 279, 280, 281, 1042, 1049,
! 1247: 1059, 167, 168, 20, 456, 1068, 49, 10, 1069, 1075,
! 1248: 50, 625, 625, 829, 1221, 21, 1120, 362, 1244, 526,
! 1249: 361, 362, 362, 1224, 1125, 1078, 316, 22, 13, 1089,
! 1250: 119, 1092, 1091, -103, 1093, 16, 1100, 1121, 1104, 26,
! 1251: 38, 976, 362, 1126, 1238, 1135, 1129, 362, 361, 1136,
! 1252: 1137, 371, 1142, 1144, 1140, 1160, 1143, 522, 1146, 1147,
! 1253: 1195, 1151, 373, 1153, 1156, 1171, 567, 105, 1162, 1163,
! 1254: 1186, 107, 356, 1180, 61, 174, 1254, 175, 176, 177,
! 1255: 381, 156, 156, 362, 362, 1196, 1197, 167, 168, 1198,
! 1256: 1199, 1205, 1201, 10, 1210, 156, 156, 1202, 1222, 1214,
! 1257: 1218, 1215, 361, 245, 1216, 178, 352, 1226, 1229, 246,
! 1258: 1233, 1015, 1236, 1234, 13, 156, 246, 1021, 1235, 179,
! 1259: 180, 16, 1237, 455, 1240, 50, 230, 1247, 245, 622,
! 1260: 623, 1248, 627, 628, 629, 630, 631, 632, 633, 634,
! 1261: 635, 636, 637, 638, 639, 640, 641, 642, 643, 1249,
! 1262: 1258, 1259, 1261, 1262, 1266, 644, 361, 1267, 53, 53,
! 1263: 1270, 1271, 456, 285, 54, 181, 49, 842, 286, 502,
! 1264: 182, 183, 184, 361, 287, 50, 50, 305, 53, 848,
! 1265: 283, 700, 245, 246, 621, 526, 53, 915, 1130, 1084,
! 1266: 1170, 493, 246, 682, 53, 53, 335, 1007, 280, 281,
! 1267: 38, 548, 942, 119, 836, 130, 1079, 131, 916, 755,
! 1268: 929, 899, 245, 1031, 381, 581, 679, 245, 167, 168,
! 1269: 834, 4, 144, 372, 10, 372, 542, 71, 6, 898,
! 1270: 8, 274, 156, 156, 361, 356, 10, 4, 144, 1112,
! 1271: 1239, 245, 526, 245, 1241, 13, 246, 50, 462, 1015,
! 1272: 12, 1108, 16, 1015, 816, 0, 0, 13, 15, 930,
! 1273: 0, 361, 0, 18, 16, 0, 0, 0, 0, 352,
! 1274: 0, 53, 53, 53, 15, 0, 0, 50, 146, 18,
! 1275: 145, 0, 53, 0, 0, 53, 53, 0, 147, 763,
! 1276: 764, 0, 0, 817, 146, 148, 0, 0, 0, 0,
! 1277: 149, 0, 53, 245, 147, 0, 53, 0, 0, 0,
! 1278: 0, 148, 22, 1150, 0, 0, 149, 22, 0, 0,
! 1279: 361, 0, 361, 0, 26, 0, 0, 0, 22, 53,
! 1280: 0, 0, 1159, 361, 245, 0, 0, 807, 1005, 0,
! 1281: 26, 0, 667, 667, 570, 144, 667, 0, 53, 0,
! 1282: 0, 0, 0, 0, 61, 174, 53, 175, 176, 177,
! 1283: 0, 0, 0, 0, 0, 361, 372, 361, 0, 0,
! 1284: 0, 400, 0, 1185, 361, 0, 0, 0, 361, 0,
! 1285: 246, 15, 0, 0, 571, 178, 18, 145, 0, 572,
! 1286: 0, 0, 452, 833, 0, 573, 0, 0, 452, 698,
! 1287: 180, 146, 0, 0, 1203, 246, 0, 0, 1015, 1208,
! 1288: 0, 147, 0, 0, 0, 351, 192, 0, 148, 280,
! 1289: 281, 0, 0, 574, 115, 116, 4, 379, 361, 1223,
! 1290: 361, 0, 0, 361, 1225, 22, 854, 0, 0, -638,
! 1291: 0, -638, 53, 0, 0, 181, -638, 26, 0, 0,
! 1292: 182, 183, 184, 0, 0, 119, 0, 0, 193, 246,
! 1293: 119, 0, 202, 15, -638, -638, 0, -638, 18, -638,
! 1294: 1256, 1257, 0, 0, 53, 53, 917, 0, 0, 53,
! 1295: 260, 0, 0, 555, 0, 53, 0, 0, 0, 246,
! 1296: 53, 0, 0, 556, 246, 0, 0, 194, 195, 0,
! 1297: 196, 0, 0, 0, 0, 21, 0, 197, 53, 53,
! 1298: 0, 53, 0, 0, 0, 0, 0, 380, 246, -638,
! 1299: 246, 0, 0, 526, 0, 943, 0, 0, 0, 26,
! 1300: 0, 0, 167, 168, 361, 526, 0, 351, 10, 0,
! 1301: 361, 71, 6, 826, 8, 72, 119, 0, 526, 526,
! 1302: 10, 317, 318, 4, 127, 6, 7, 8, 9, 13,
! 1303: 0, 671, 0, 10, 12, 372, 16, 351, 1133, 361,
! 1304: 0, 13, 526, 526, 0, 0, 0, 12, 16, 0,
! 1305: 246, 0, 0, 0, 13, 0, 0, 0, 0, 0,
! 1306: 15, 16, 0, 263, 0, 18, 662, 0, 357, 0,
! 1307: 0, 0, 0, 0, 0, 382, 0, 1134, 452, 0,
! 1308: 663, 246, 0, 0, 280, 281, 0, 0, 53, 53,
! 1309: 664, 0, 53, 0, 0, 0, 0, 267, 280, 281,
! 1310: 0, 22, 665, 269, 0, 0, 0, 0, 0, 0,
! 1311: 1043, 1044, 0, 0, 22, 0, 0, 0, 0, 0,
! 1312: 526, 396, 71, 6, 0, 8, 26, 0, 356, 0,
! 1313: 0, 10, 0, 0, 0, 0, 432, 0, 479, 0,
! 1314: 481, 482, 0, -2, 3, 12, 4, 5, 6, 7,
! 1315: 8, 9, 13, 0, 212, 526, 10, 1074, 15, 16,
! 1316: 0, 0, 352, 397, 0, 53, 53, 433, 434, 11,
! 1317: 12, 435, 436, 437, 438, 439, 440, 13, 280, 281,
! 1318: 0, 14, 0, 15, 16, 0, 0, 17, 18, 0,
! 1319: 0, 0, 0, 0, 538, 539, 0, 0, 0, 0,
! 1320: 0, 53, 0, 19, 0, 549, 53, 0, 0, 0,
! 1321: 0, 0, 22, 20, 922, 144, 4, 117, 0, 0,
! 1322: 0, 0, 526, 0, 0, 21, 0, 0, 0, 1122,
! 1323: 0, 0, 0, 0, 0, 0, 1011, 22, 23, 24,
! 1324: 0, 0, 0, 0, 0, 0, 526, 25, 0, 26,
! 1325: 356, 15, 0, 15, 0, 0, 18, 145, 18, 923,
! 1326: 0, 0, 526, 0, 0, 924, 0, 0, 0, 0,
! 1327: 0, 146, 0, 319, 0, 0, 0, 0, 0, 0,
! 1328: 356, 147, 361, 320, 352, 361, 0, 0, 148, 53,
! 1329: 321, 0, 53, 149, 0, 322, 0, 0, 0, 0,
! 1330: 71, 6, 0, 8, 72, 22, 526, 22, 526, 10,
! 1331: 4, 117, 0, 0, 352, 0, 0, 26, 0, 26,
! 1332: 0, 361, 526, 12, 0, 526, 0, 0, 0, 3,
! 1333: 13, 4, 5, 6, 7, 8, 9, 16, 670, 0,
! 1334: 0, 10, 0, 0, 1064, 0, 0, 15, 0, 0,
! 1335: 0, 0, 18, 0, 11, 12, 0, 0, 0, 0,
! 1336: 53, 53, 13, 0, 691, 0, 14, 540, 15, 16,
! 1337: 0, 0, 17, 18, 53, 53, 0, 541, 1065, 0,
! 1338: 0, 0, 526, 0, 321, 0, 0, 0, 19, 322,
! 1339: 22, 0, 0, 0, 53, 0, 0, 0, 20, 0,
! 1340: 0, 22, 0, 0, 53, 0, 0, 0, 0, 0,
! 1341: 21, 0, 0, 26, 0, 733, 734, 0, 736, 0,
! 1342: 0, 0, 22, 23, 24, 0, 0, 0, 0, 0,
! 1343: 747, 748, 25, 500, 26, 421, 422, 423, 424, 425,
! 1344: 426, 427, 428, 429, 430, 431, 762, 0, 0, 0,
! 1345: 0, 0, 0, 771, 53, 53, 570, 158, 6, 159,
! 1346: 8, 160, 780, 781, 782, 0, 10, 422, 423, 424,
! 1347: 425, 426, 427, 428, 429, 430, 431, 789, 0, 793,
! 1348: 12, 0, 797, 0, 0, 0, 0, 13, 0, 0,
! 1349: 0, 0, 0, 15, 16, 0, 578, 0, 18, 145,
! 1350: 0, 572, 0, 0, 0, 0, 0, 573, 0, 0,
! 1351: 0, 53, 53, 146, 0, 0, 0, 0, 71, 6,
! 1352: 7, 8, 9, 147, 0, 243, 53, 10, 0, 0,
! 1353: 148, 0, 0, 0, 0, 579, 0, 0, 827, 828,
! 1354: 0, 12, 0, 0, 0, 0, 0, 22, 13, 0,
! 1355: 0, 0, 0, 0, 0, 16, 53, 0, 0, 26,
! 1356: 837, 838, 0, 0, 839, 1017, 0, -572, -572, -572,
! 1357: -572, -572, -572, -572, -572, 0, -572, -572, -572, -572,
! 1358: -572, -572, -572, -572, -572, -572, -572, -572, -572, -572,
! 1359: -572, -572, -572, -572, -572, 0, -572, 0, -572, 0,
! 1360: -572, -572, 0, -572, -572, -572, 0, 244, 22, -572,
! 1361: 0, 0, -572, -572, 0, 0, 0, 0, 909, 910,
! 1362: 911, -572, 0, 0, -572, 425, 426, 427, 428, 429,
! 1363: 430, 431, -572, -572, -572, 0, 0, 0, -572, -572,
! 1364: 0, 0, 0, 0, 0, 0, -572, 0, -572, 0,
! 1365: 1018, -572, 1019, 0, -572, -572, -572, 0, -572, 0,
! 1366: 0, 0, 0, 0, 0, 0, 0, 0, -572, -572,
! 1367: -572, -572, 1012, 0, 861, 127, 6, 7, 8, 359,
! 1368: 205, 206, 0, 207, 10, 862, 0, 863, 864, 865,
! 1369: 866, 867, 868, 869, 870, 871, 872, 873, 12, 208,
! 1370: 209, 210, 0, 211, 0, 13, 0, 212, -236, 0,
! 1371: 213, 15, 16, 0, 0, 961, 214, 0, 0, 874,
! 1372: 308, 0, 0, 0, 0, 0, 0, 0, 215, 0,
! 1373: 0, 216, 0, 0, 0, 0, 0, 0, 0, 217,
! 1374: 218, 219, 0, 0, 0, 220, 221, 0, 0, 0,
! 1375: 0, 0, 0, 222, 0, 875, 0, 0, 876, 0,
! 1376: 0, 877, 878, 879, 0, 880, 0, 0, 0, 0,
! 1377: 0, 0, 0, 0, 0, 881, 1013, 223, 224, 1032,
! 1378: 1033, 1034, 419, 420, 421, 422, 423, 424, 425, 426,
! 1379: 427, 428, 429, 430, 431, 1040, 0, 0, 0, 0,
! 1380: 0, 0, 0, 1048, 0, 0, 0, 0, 0, 1053,
! 1381: 1054, 1055, 1056, 1057, 1058, 1022, 0, 861, 127, 6,
! 1382: 7, 8, 359, 205, 206, 0, 207, 10, 862, 0,
! 1383: 863, 864, 865, 866, 867, 868, 869, 870, 871, 872,
! 1384: 873, 12, 208, 209, 210, 0, 211, 0, 13, 0,
! 1385: 212, -236, 0, 213, 15, 16, 0, 0, 0, 214,
! 1386: 0, 0, 874, 308, 0, 0, 0, 0, 0, 0,
! 1387: 0, 215, 0, 0, 216, 0, 0, 0, 0, 0,
! 1388: 0, 0, 217, 218, 219, 0, 0, 0, 220, 221,
! 1389: 0, 0, 0, 0, 0, 0, 222, 0, 875, 0,
! 1390: 0, 876, 0, 0, 877, 878, 879, 0, 880, 0,
! 1391: 0, 0, 0, 0, 0, 0, 0, 0, 881, 1023,
! 1392: 223, 224, 1026, 0, 861, 127, 6, 7, 8, 359,
! 1393: 205, 206, 0, 207, 10, 862, 0, 863, 864, 865,
! 1394: 866, 867, 868, 869, 870, 871, 872, 873, 12, 208,
! 1395: 209, 210, 0, 211, 0, 13, 0, 212, -236, 0,
! 1396: 213, 15, 16, 0, 0, 0, 214, 0, 0, 874,
! 1397: 308, 0, 0, 0, 0, 0, 0, 0, 215, 0,
! 1398: 0, 216, 0, 0, 0, 0, 0, 0, 0, 217,
! 1399: 218, 219, 0, 0, 0, 220, 221, 0, 0, 0,
! 1400: 0, 0, 0, 222, 0, 875, 0, 0, 876, 0,
! 1401: 0, 877, 878, 879, 0, 880, 0, 0, 0, 0,
! 1402: 0, 0, 0, 0, 0, 881, 1027, 223, 224, 1012,
! 1403: 0, 861, 127, 6, 7, 8, 359, 205, 206, 0,
! 1404: 207, 10, 862, 0, 863, 864, 865, 866, 867, 868,
! 1405: 869, 870, 871, 872, 873, 12, 208, 209, 210, 0,
! 1406: 211, 0, 13, 0, 212, -236, 0, 213, 15, 16,
! 1407: 0, 0, 0, 214, 0, 0, 874, 308, 0, 0,
! 1408: 0, 0, 0, 0, 0, 215, 0, 0, 216, 0,
! 1409: 0, 0, 0, 0, 0, 0, 217, 218, 219, 0,
! 1410: 0, 0, 220, 221, 0, 0, 0, 0, 0, 0,
! 1411: 222, 0, 875, 0, 0, 876, 0, 0, 877, 878,
! 1412: 879, 0, 880, 0, 0, 0, 0, 0, 0, 0,
! 1413: 0, 0, 881, 1111, 223, 224, 1012, 0, 861, 127,
! 1414: 6, 7, 8, 359, 205, 206, 0, 207, 10, 862,
! 1415: 0, 863, 864, 865, 866, 867, 868, 869, 870, 871,
! 1416: 872, 873, 12, 208, 209, 210, 0, 211, 0, 13,
! 1417: 0, 212, -236, 0, 213, 15, 16, 0, 0, 0,
! 1418: 214, 0, 0, 874, 308, 0, 0, 0, 0, 0,
! 1419: 0, 0, 215, 0, 0, 216, 0, 0, 0, 0,
! 1420: 0, 0, 0, 217, 218, 219, 0, 0, 0, 220,
! 1421: 221, 0, 0, 0, 0, 0, 0, 222, 0, 875,
! 1422: 0, 0, 876, 0, 0, 877, 878, 879, 0, 880,
! 1423: 0, 0, 0, 0, 0, 0, 0, 0, 0, 881,
! 1424: 1114, 223, 224, 1012, 0, 861, 127, 6, 7, 8,
! 1425: 359, 205, 206, 0, 207, 10, 862, 0, 863, 864,
! 1426: 865, 866, 867, 868, 869, 870, 871, 872, 873, 12,
! 1427: 208, 209, 210, 0, 211, 0, 13, 0, 212, -236,
! 1428: 0, 213, 15, 16, 0, 0, 0, 214, 0, 0,
! 1429: 874, 308, 0, 0, 0, 0, 0, 0, 0, 215,
! 1430: 0, 0, 216, 0, 0, 0, 0, 0, 0, 0,
! 1431: 217, 218, 219, 0, 0, 0, 220, 221, 0, 0,
! 1432: 0, 0, 0, 0, 222, 0, 875, 0, 0, 876,
! 1433: 0, 0, 877, 878, 879, 0, 880, 0, 0, 0,
! 1434: 0, 0, 0, 0, 0, 0, 881, 1207, 223, 224,
! 1435: 860, 0, 861, 127, 6, 7, 8, 359, 205, 206,
! 1436: 0, 207, 10, 862, 0, 863, 864, 865, 866, 867,
! 1437: 868, 869, 870, 871, 872, 873, 12, 208, 209, 210,
! 1438: 0, 211, 0, 13, 0, 212, -236, 0, 213, 15,
! 1439: 16, 0, 0, 0, 214, 0, 0, 874, 308, 0,
! 1440: 0, 0, 0, 0, 0, 0, 215, 0, 0, 216,
! 1441: 0, 0, 0, 0, 0, 0, 0, 217, 218, 219,
! 1442: 0, 0, 0, 220, 221, 0, 0, 0, 0, 0,
! 1443: 0, 222, 0, 875, 0, 0, 876, 0, 0, 877,
! 1444: 878, 879, 0, 880, 0, 0, 0, 0, 0, 0,
! 1445: 0, 0, 0, 881, 0, 223, 224, 1182, 0, 861,
! 1446: 127, 6, 7, 8, 359, 205, 206, 0, 207, 10,
! 1447: 862, 0, 863, 864, 865, 866, 867, 868, 869, 870,
! 1448: 871, 872, 873, 12, 208, 209, 210, 0, 211, 0,
! 1449: 13, 0, 212, -236, 0, 213, 15, 16, 0, 0,
! 1450: 0, 214, 0, 0, 874, 308, 0, 0, 0, 0,
! 1451: 0, 0, 0, 215, 0, 0, 216, 0, 0, 0,
! 1452: 0, 0, 0, 0, 217, 218, 219, 0, 0, 0,
! 1453: 220, 221, 0, 0, 0, 0, 0, 0, 222, 0,
! 1454: 875, 0, 0, 876, 0, 0, 877, 878, 879, 70,
! 1455: 880, 0, 71, 6, 0, 8, 72, 0, 0, 0,
! 1456: 881, 10, 223, 224, 0, 0, 0, 0, 0, 0,
! 1457: 0, 0, 0, 0, 0, 12, 0, 0, 0, 0,
! 1458: 0, 0, 13, 0, 73, 74, 0, 0, 0, 16,
! 1459: 75, 76, 0, 0, 0, 0, 0, 0, 77, 78,
! 1460: 79, 80, 0, 0, 81, 82, 83, 84, 85, 86,
! 1461: 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
! 1462: 97, 0, 98, 99, 0, 0, 100, 101, 0, 0,
! 1463: 0, 102, 0, 0, 0, 0, 0, 0, 0, 0,
! 1464: 0, 358, 22, 203, 127, 6, 7, 8, 359, 205,
! 1465: 206, 243, 207, 10, 103, 104, 0, 0, 0, 0,
! 1466: 0, 0, 0, 0, 0, 0, 0, 12, 208, 209,
! 1467: 210, 0, 211, 0, 13, 0, 212, -236, 0, 213,
! 1468: 15, 16, 0, 0, 0, 214, 0, 0, 0, 0,
! 1469: 0, 0, 0, 0, 0, 0, 0, 215, 0, 0,
! 1470: 216, 0, 0, 0, 0, 0, 0, 0, 217, 218,
! 1471: 219, 0, 0, 0, 220, 221, 0, 0, 0, 0,
! 1472: 0, 0, 222, 0, 0, 0, 0, 0, 0, 0,
! 1473: 0, 0, 0, 244, 22, 0, 0, 0, 0, 0,
! 1474: 0, 0, 0, -616, 0, 0, 223, 224, 550, 0,
! 1475: 203, 127, 6, 7, 8, 359, 205, 206, 243, 207,
! 1476: 10, 420, 421, 422, 423, 424, 425, 426, 427, 428,
! 1477: 429, 430, 431, 0, 12, 208, 209, 210, 0, 211,
! 1478: 0, 13, 0, 212, -236, 0, 213, 15, 16, 0,
! 1479: 0, 0, 214, 0, 0, 0, 0, 0, 0, 0,
! 1480: 0, 0, 0, 0, 215, 0, 0, 216, 0, 0,
! 1481: 0, 0, 0, 0, 0, 217, 218, 219, 0, 0,
! 1482: 0, 220, 221, 0, 0, 0, 0, 0, 0, 222,
1.1.1.3 root 1483: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1.1.1.4 ! root 1484: 244, 22, 0, 0, 0, 0, 0, 0, 0, 0,
! 1485: -616, 0, 0, 223, 224, 737, 0, 203, 127, 6,
! 1486: 7, 8, 359, 205, 206, 243, 207, 10, 0, 0,
1.1.1.3 root 1487: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1.1.1.4 ! root 1488: 0, 12, 208, 209, 210, 0, 211, 0, 13, 0,
! 1489: 212, -236, 0, 213, 15, 16, 0, 0, 0, 214,
1.1.1.3 root 1490: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1.1.1.4 ! root 1491: 0, 215, 0, 0, 216, 0, 0, 0, 0, 0,
! 1492: 0, 0, 217, 218, 219, 0, 0, 0, 220, 221,
! 1493: 0, 0, 0, 0, 0, 0, 222, 0, 0, 0,
! 1494: 0, 0, 0, 0, 0, 0, 0, 244, 22, 0,
! 1495: 0, 0, 0, 0, 0, 0, 0, -616, 0, 0,
! 1496: 223, 224, 790, 0, 203, 127, 6, 7, 8, 359,
! 1497: 205, 206, 243, 207, 10, 0, 0, 0, 0, 0,
! 1498: 0, 0, 0, 0, 0, 0, 0, 0, 12, 208,
! 1499: 209, 210, 0, 211, 0, 13, 0, 212, -236, 0,
! 1500: 213, 15, 16, 0, 0, 0, 214, 0, 0, 0,
! 1501: 0, 0, 0, 0, 0, 0, 0, 0, 215, 0,
! 1502: 0, 216, 0, 0, 0, 0, 0, 0, 0, 217,
! 1503: 218, 219, 0, 0, 0, 220, 221, 0, 0, 0,
! 1504: 0, 0, 0, 222, 0, 0, 0, 0, 0, 0,
! 1505: 0, 0, 0, 0, 244, 22, 0, 0, 0, 0,
! 1506: 0, 0, 0, 0, -616, 0, 0, 223, 224, 794,
! 1507: 0, 203, 127, 6, 7, 8, 359, 205, 206, 243,
! 1508: 207, 10, 0, 0, 0, 0, 0, 0, 0, 0,
! 1509: 0, 0, 0, 0, 0, 12, 208, 209, 210, 0,
! 1510: 211, 0, 13, 0, 212, -236, 0, 213, 15, 16,
! 1511: 0, 0, 0, 214, 0, 0, 0, 0, 0, 0,
! 1512: 0, 0, 0, 0, 0, 215, 0, 0, 216, 0,
! 1513: 0, 0, 0, 0, 0, 0, 217, 218, 219, 0,
! 1514: 0, 0, 220, 221, 0, 0, 0, 0, 0, 0,
! 1515: 222, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 1516: 0, 244, 22, 0, 0, 0, 0, 0, 0, 0,
! 1517: 0, -616, 0, 0, 223, 224, 524, 0, 717, 718,
! 1518: 6, 0, 8, 386, 205, 206, 0, 207, 10, 0,
1.1.1.2 root 1519: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1.1.1.4 ! root 1520: 0, 0, 12, 208, 209, 210, 0, 211, 0, 13,
! 1521: 0, 212, -236, 0, 213, 15, 16, 0, 0, 0,
! 1522: 214, 0, 0, 0, 525, 0, 0, 0, 0, 0,
! 1523: 0, 0, 215, 0, 0, 216, 0, 0, 0, 0,
! 1524: 0, 0, 0, 217, 218, 219, 0, 0, 0, 220,
! 1525: 221, 0, 0, 0, 0, 0, 0, 222, 719, 524,
! 1526: 0, 717, 718, 6, 0, 8, 386, 205, 206, 181,
! 1527: 207, 10, 0, 0, 0, 0, 0, 0, 970, 0,
! 1528: 720, 223, 224, 0, 0, 12, 208, 209, 210, 0,
! 1529: 211, 0, 13, 0, 212, -236, 0, 213, 15, 16,
! 1530: 0, 0, 0, 214, 0, 0, 0, 525, 0, 0,
! 1531: 0, 0, 0, 0, 0, 215, 0, 0, 216, 0,
! 1532: 0, 0, 0, 0, 0, 0, 217, 218, 219, 0,
! 1533: 0, 0, 220, 221, 0, 0, 0, 0, 0, 0,
! 1534: 222, 0, 1080, 0, 203, 127, 6, 7, 8, 359,
! 1535: 205, 206, 181, 207, 10, 0, 0, 0, 0, 0,
! 1536: 0, 0, 0, 971, 223, 224, 0, 0, 12, 208,
! 1537: 209, 210, 0, 211, 0, 13, 0, 212, -236, 0,
! 1538: 213, 15, 16, 0, 0, 0, 214, 0, 0, 0,
! 1539: 1081, 0, 0, 0, 0, 0, 0, 0, 215, 0,
! 1540: 0, 216, 0, 0, 0, 0, 0, 0, 0, 217,
! 1541: 218, 219, 0, 0, 0, 220, 221, 0, 0, 0,
! 1542: 0, 0, 0, 222, 0, 524, 0, 717, 718, 6,
! 1543: 0, 8, 386, 205, 206, 22, 207, 10, 0, 0,
! 1544: 0, 0, 0, 0, 970, 1082, 0, 223, 224, 0,
! 1545: 0, 12, 208, 209, 210, 0, 211, 0, 13, 0,
! 1546: 212, -236, 0, 213, 15, 16, 0, 0, 0, 214,
! 1547: 0, 0, 0, 525, 0, 0, 0, 0, 0, 0,
! 1548: 0, 215, 0, 0, 216, 0, 0, 0, 0, 0,
! 1549: 0, 0, 217, 218, 219, 0, 0, 0, 220, 221,
! 1550: 0, 0, 0, 0, 0, 0, 222, 0, 524, 0,
! 1551: 717, 718, 6, 0, 8, 386, 205, 206, 181, 207,
! 1552: 10, 0, 0, 0, 0, 0, 0, 0, 0, -329,
! 1553: 223, 224, 0, 0, 12, 208, 209, 210, 0, 211,
! 1554: 0, 13, 0, 212, -236, 0, 213, 15, 16, 0,
! 1555: 0, 0, 214, 0, 0, 0, 525, 0, 0, 0,
! 1556: 0, 0, 0, 0, 215, 0, 0, 216, 0, 0,
! 1557: 0, 0, 0, 0, 0, 217, 218, 219, 0, 0,
! 1558: 0, 220, 221, 0, 0, 0, 0, 0, 0, 222,
! 1559: 719, 404, 0, 203, 127, 6, 0, 8, 204, 205,
! 1560: 206, 181, 207, 10, 0, 0, 0, 0, 0, 0,
! 1561: 0, 0, 0, 223, 224, 0, 0, 12, 208, 209,
! 1562: 210, 0, 211, 0, 13, 0, 212, -236, 0, 213,
! 1563: 15, 16, 0, 0, 0, 214, 0, 0, 0, -207,
! 1564: 0, 0, 0, 0, 0, 0, 0, 215, 0, 0,
! 1565: 216, 0, 0, 0, 0, 0, 0, 0, 217, 218,
! 1566: 219, 0, 0, 0, 220, 221, 0, 0, 0, 0,
! 1567: 0, 0, 222, 0, 524, 0, 203, 127, 6, 0,
! 1568: 8, 386, 205, 206, 22, 207, 10, 0, 0, 0,
! 1569: 0, 0, 0, 0, 0, 0, 223, 224, 0, 0,
! 1570: 12, 208, 209, 210, 0, 211, 0, 13, 0, 212,
! 1571: -236, 0, 213, 15, 16, 0, 0, 0, 214, 0,
! 1572: 0, 0, 525, 0, 0, 0, 0, 0, 0, 0,
! 1573: 215, 0, 0, 216, 0, 0, 0, 0, 0, 0,
! 1574: 0, 217, 218, 219, 0, 0, 0, 220, 221, 0,
! 1575: 0, 0, 0, 0, 0, 222, 0, 624, 0, 203,
! 1576: 127, 6, 0, 8, 386, 205, 206, 22, 207, 10,
! 1577: 0, 0, 0, 0, 0, 0, 0, 0, 0, 223,
! 1578: 224, 0, 0, 12, 208, 209, 210, 0, 211, 0,
! 1579: 13, 0, 212, -236, 0, 213, 15, 16, 0, 0,
! 1580: 0, 214, 0, 0, 0, 0, 0, 0, 0, 0,
! 1581: -606, 0, 0, 215, 0, 0, 216, 0, 0, 0,
! 1582: 0, 0, 0, 0, 217, 218, 219, 0, 0, 0,
! 1583: 220, 221, 0, 0, 0, 0, 0, 0, 222, 0,
! 1584: 624, 0, 203, 127, 6, 0, 8, 386, 205, 206,
! 1585: 22, 207, 10, 0, 0, 0, 0, 0, 0, 0,
! 1586: 0, 0, 223, 224, 0, 0, 12, 208, 209, 210,
! 1587: 0, 211, 0, 13, 0, 212, -236, 0, 213, 15,
! 1588: 16, 0, 0, 0, 214, 0, 0, 0, 0, 0,
! 1589: 0, 0, 0, 0, 0, 0, 215, 0, 0, 216,
! 1590: 0, 0, 0, 0, 0, 0, 0, 217, 218, 219,
! 1591: 0, 0, 0, 220, 221, 0, 0, 0, 0, 0,
! 1592: 0, 222, 0, 624, 0, 203, 127, 6, 0, 8,
! 1593: 386, 205, 206, 22, 207, 10, 0, 0, 0, 0,
! 1594: 0, 0, 0, -606, 0, 223, 224, 0, 0, 12,
! 1595: 208, 209, 210, 0, 211, 0, 13, 0, 212, -236,
! 1596: 0, 213, 15, 16, 0, 0, 0, 214, 0, 0,
! 1597: 0, 0, 0, 0, 0, 0, 0, 0, 0, 215,
! 1598: 0, 0, 216, 0, 0, 0, 0, 0, 0, 0,
! 1599: 217, 218, 219, 0, 0, 0, 220, 221, 0, 0,
! 1600: 0, 0, 0, 0, 222, 0, 681, 0, 203, 127,
! 1601: 6, 0, 8, 386, 205, 206, 22, 207, 10, 0,
! 1602: 0, 0, 0, 0, 0, -606, 0, 0, 223, 224,
! 1603: 0, 0, 12, 208, 209, 210, 0, 211, 0, 13,
! 1604: 0, 212, -236, 0, 213, 15, 16, 0, 0, 0,
! 1605: 214, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 1606: 0, 0, 215, 0, 0, 216, 0, 0, 0, 0,
! 1607: 0, 0, 0, 217, 218, 219, 0, 0, 0, 220,
! 1608: 221, 0, 0, 0, 0, 0, 0, 222, 0, 0,
! 1609: 0, 203, 127, 6, 0, 8, 386, 205, 206, 22,
! 1610: 207, 10, 0, 0, 0, 0, 0, 0, 0, 0,
! 1611: 0, 223, 224, 0, 0, 12, 208, 209, 210, 0,
! 1612: 211, 0, 13, 0, 212, 0, 0, 213, 15, 16,
! 1613: 0, 0, 0, 214, 3, 0, 4, 5, 6, 7,
! 1614: 8, 9, 0, 0, 0, 215, 10, 0, 216, 0,
! 1615: 0, 0, 0, 0, 0, 0, 217, 218, 219, 11,
! 1616: 12, 0, 220, 221, 0, 0, 0, 13, 0, 0,
! 1617: 222, 14, 0, 15, 16, 0, 0, 17, 18, 0,
! 1618: 0, 0, 22, 0, 0, 0, 0, 0, 0, 0,
! 1619: 0, 0, 0, 19, 223, 224, 653, 0, 0, 0,
! 1620: 0, 0, 0, 20, 0, 0, 0, 348, 0, 4,
! 1621: 127, 6, 7, 8, 9, 21, 0, 0, 0, 10,
! 1622: 0, 0, 0, 0, 0, 0, 0, 22, 23, 24,
! 1623: 0, 0, 0, 12, 0, 0, 0, 25, 0, 26,
! 1624: 13, -370, 0, 0, 0, 0, 15, 16, 0, 0,
! 1625: 0, 18, 0, 0, 0, 0, 0, 0, 0, 0,
! 1626: 349, 0, 0, 0, 0, 348, 19, 4, 127, 6,
! 1627: 7, 8, 9, 0, 0, 0, 20, 10, 0, 0,
1.1.1.3 root 1628: 0, 0, 0, 0, 0, 0, 0, 0, 21, 0,
1.1.1.4 ! root 1629: 0, 12, 0, 0, 0, 0, 0, 0, 13, -371,
! 1630: 22, 0, 0, 0, 15, 16, 0, 0, 0, 18,
! 1631: 584, -370, 26, 0, 0, 0, 0, 0, 349, 0,
! 1632: 0, 0, 0, 348, 19, 4, 127, 6, 7, 8,
! 1633: 9, 0, 0, 0, 20, 10, 0, 0, 0, 0,
! 1634: 0, 0, 0, 0, 0, 0, 21, 0, 0, 12,
! 1635: 0, 0, 0, 0, 0, 0, 13, -369, 22, 0,
! 1636: 0, 0, 15, 16, 0, 0, 0, 18, 584, -371,
! 1637: 26, 0, 0, 0, 0, 0, 349, 0, 0, 0,
! 1638: 0, 348, 19, 4, 127, 6, 7, 8, 9, 0,
! 1639: 0, 0, 20, 10, 0, 0, 0, 0, 0, 0,
! 1640: 0, 0, 0, 0, 21, 0, 0, 12, 0, 0,
! 1641: 0, 0, 0, 0, 13, -372, 22, 0, 0, 0,
! 1642: 15, 16, 0, 0, 0, 18, 0, -369, 26, 0,
! 1643: 0, 0, 0, 0, 349, 0, 0, 0, 0, 3,
! 1644: 19, 4, 5, 6, 7, 8, 9, 0, 0, 0,
! 1645: 20, 10, 0, 0, 0, 0, 0, 0, 0, 0,
! 1646: 0, 0, 21, 0, 0, 12, 0, 0, 0, 0,
! 1647: 0, 0, 13, 0, 22, 0, 0, 0, 15, 16,
! 1648: 0, 0, 0, 18, 0, -372, 26, 0, 0, 0,
! 1649: 126, 0, 4, 127, 6, 7, 8, 9, 19, 0,
! 1650: 0, 0, 10, 0, 0, 0, 0, 0, 20, 0,
! 1651: 0, 0, 0, 0, 0, 0, 12, 0, 0, 0,
! 1652: 21, 0, 0, 13, 0, 0, 0, 0, 0, 15,
! 1653: 16, 0, 22, 23, 18, 0, 0, 0, 0, 0,
! 1654: 0, 0, 25, 0, 26, 412, 413, 414, 0, 19,
! 1655: 415, 416, 417, 418, 419, 420, 421, 422, 423, 20,
! 1656: 425, 426, 427, 428, 429, 430, 431, 0, 0, 0,
! 1657: 0, 21, 0, 0, 0, 0, 0, 0, 0, 0,
! 1658: 0, 0, 0, 22, 0, 0, 0, 861, 127, 6,
! 1659: 7, 8, 359, 205, 206, 26, 207, 10, 862, 0,
! 1660: 863, 864, 865, 866, 867, 868, 869, 870, 871, 872,
! 1661: 873, 12, 208, 209, 210, 0, 211, 0, 13, 0,
! 1662: 212, 0, 0, 213, 15, 16, 0, 0, 0, 214,
! 1663: 0, 0, 874, 308, 0, 0, 0, 0, 0, 0,
! 1664: 0, 215, 0, 0, 216, 0, 0, 0, 0, 0,
! 1665: 0, 0, 217, 218, 219, 0, 0, 0, 220, 221,
! 1666: 0, 0, 0, 0, 0, 0, 222, 0, 875, 0,
! 1667: 0, 876, 0, 0, 877, 878, 879, 0, 880, 0,
! 1668: 0, 0, 0, 0, 0, 0, 0, 0, 881, 1020,
! 1669: 223, 224, 861, 127, 6, 7, 8, 359, 205, 206,
! 1670: 0, 207, 10, 862, 0, 863, 864, 865, 866, 867,
! 1671: 868, 869, 870, 871, 872, 873, 12, 208, 209, 210,
! 1672: 0, 211, 0, 13, 0, 212, 0, 0, 213, 15,
! 1673: 16, 0, 0, 0, 214, 0, 0, 874, 308, 0,
! 1674: 0, 0, 0, 0, 0, 0, 215, 0, 0, 216,
! 1675: 0, 0, 0, 0, 0, 0, 0, 217, 218, 219,
! 1676: 0, 0, 0, 220, 221, 0, 0, 0, 0, 0,
! 1677: 0, 222, 0, 875, 0, 0, 876, 0, 0, 877,
! 1678: 878, 879, 0, 880, 0, 0, 0, 0, 0, 0,
! 1679: 0, 0, 0, 881, 0, 223, 224, 203, 127, 6,
! 1680: 0, 8, 386, 205, 206, 0, 207, 10, 0, 0,
1.1 root 1681: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1.1.1.4 ! root 1682: 0, 12, 208, 209, 210, 0, 211, 0, 13, 0,
! 1683: 212, 0, 0, 213, 15, 16, 0, 0, 0, 214,
1.1 root 1684: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1.1.1.4 ! root 1685: 0, 215, 0, 0, 216, 0, 0, 0, 0, 0,
! 1686: 0, 0, 217, 218, 219, 0, 0, 0, 220, 221,
! 1687: 0, 0, 0, 0, 0, 0, 222, 443, 0, 0,
! 1688: 203, 127, 6, 0, 8, 386, 205, 206, 22, 207,
! 1689: 10, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 1690: 223, 224, 0, 0, 12, 208, 209, 210, 0, 211,
! 1691: 0, 13, 0, 212, 0, 0, 213, 15, 16, 0,
! 1692: 0, 0, 214, 0, 0, 0, 806, 0, 0, 0,
! 1693: 0, 0, 0, 0, 215, 0, 0, 216, 0, 0,
! 1694: 0, 0, 0, 0, 0, 217, 218, 219, 0, 0,
! 1695: 0, 220, 221, 0, 0, 0, 0, 0, 0, 222,
! 1696: 0, 0, 0, 203, 127, 6, 0, 8, 386, 205,
! 1697: 206, 22, 207, 10, 0, 0, 0, 0, 0, 0,
! 1698: 0, 0, 0, 223, 224, 0, 0, 12, 208, 209,
! 1699: 210, 0, 211, 0, 13, 0, 212, 0, 0, 213,
! 1700: 15, 16, 0, 0, 0, 214, 0, 0, 0, 0,
! 1701: 0, 0, 0, 0, 0, 0, 0, 215, 0, 0,
! 1702: 216, 0, 0, 0, 0, 0, 0, 0, 217, 218,
! 1703: 219, 0, 0, 0, 220, 221, 0, 0, 0, 0,
! 1704: 0, 0, 222, 0, 0, 0, 203, 127, 6, 0,
! 1705: 8, 386, 205, 206, 22, 207, 10, 0, 0, 0,
! 1706: 0, 0, 0, 0, 988, 0, 223, 224, 0, 0,
! 1707: 12, 208, 209, 210, 0, 211, 0, 13, 0, 212,
! 1708: 0, 0, 213, 15, 16, 0, 0, 0, 214, 0,
1.1.1.2 root 1709: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1.1.1.4 ! root 1710: 215, 0, 0, 216, 0, 0, 0, 0, 0, 0,
! 1711: 0, 217, 218, 219, 0, 0, 0, 220, 221, 0,
! 1712: 0, 0, 0, 0, 0, 222, 0, 0, 0, 203,
! 1713: 127, 6, 0, 8, 204, 205, 206, 22, 207, 10,
! 1714: 0, 0, 0, 0, 0, 0, 0, 1001, 0, 223,
! 1715: 224, 0, 0, 12, 208, 209, 210, 0, 211, 0,
! 1716: 13, 0, 212, 0, 0, 213, 15, 16, 0, 0,
! 1717: 0, 214, 0, 0, 0, 0, 0, 0, 0, 0,
! 1718: 0, 0, 0, 215, 0, 0, 216, 0, 0, 0,
! 1719: 0, 0, 0, 0, 217, 218, 219, 0, 0, 0,
! 1720: 220, 221, 0, 0, 0, 0, 0, 0, 222, 0,
! 1721: 0, 0, 203, 127, 6, 0, 8, 386, 205, 206,
! 1722: 22, 207, 10, 0, 0, 0, 0, 0, 0, 0,
! 1723: 0, 0, 223, 224, 0, 0, 12, 208, 209, 210,
! 1724: 0, 211, 0, 13, 0, 212, 0, 0, 213, 15,
! 1725: 16, 0, 0, 0, 214, 0, 0, 0, 0, 0,
! 1726: 0, 0, 0, 0, 0, 0, 215, 0, 0, 216,
! 1727: 0, 0, 0, 0, 0, 0, 0, 217, 218, 219,
! 1728: 0, 0, 0, 220, 221, 0, 0, 0, 0, 0,
! 1729: 0, 222, 0, 0, 0, 203, 612, 6, 0, 8,
! 1730: 386, 205, 206, 22, 207, 10, 0, 0, 0, 0,
! 1731: 0, 0, 0, 0, 0, 223, 224, 0, 0, 12,
! 1732: 208, 209, 210, 0, 211, 0, 13, 0, 212, 0,
! 1733: 0, 213, 15, 16, 0, 0, 0, 214, 0, 0,
! 1734: 0, 0, 0, 0, 0, 0, 0, 0, 0, 215,
! 1735: 0, 0, 216, 0, 0, 0, 0, 0, 0, 0,
! 1736: 217, 218, 219, 0, 0, 0, 220, 221, 0, 0,
! 1737: 0, 203, 127, 6, 222, 8, 386, 205, 206, 0,
! 1738: 207, 10, 0, 0, 0, 0, 22, 0, 0, 0,
! 1739: 0, 0, 0, 0, 0, 12, 208, 0, 223, 224,
! 1740: 211, 0, 13, 0, 212, 0, 0, 213, 15, 16,
! 1741: 0, 0, 0, 214, 0, 0, 0, 0, 0, 0,
! 1742: 0, 0, 0, 0, 0, 215, 0, 0, 216, 0,
! 1743: 0, 0, 0, 0, 0, 0, 217, 218, 219, 0,
! 1744: 0, 0, 220, 221, 0, 0, 0, 203, 127, 6,
! 1745: 387, 8, 386, 205, 206, 0, 207, 10, 0, 0,
! 1746: 0, 0, 22, 0, 0, 0, 0, 0, 0, 0,
! 1747: 0, 12, 208, 0, 223, 224, 211, 0, 13, 0,
! 1748: 212, 0, 0, 213, 15, 16, 0, 0, 0, 214,
! 1749: 0, 0, 4, 127, 6, 7, 8, 9, 0, 0,
! 1750: 243, 215, 10, 0, 216, 0, 0, 0, 0, 0,
! 1751: 0, 0, 217, 218, 219, 0, 12, 0, 220, 221,
! 1752: 0, 0, 0, 13, 0, 0, 391, 0, 0, 15,
! 1753: 16, 0, 263, 0, 18, 0, 0, 0, 22, 0,
! 1754: 0, 0, 0, 4, 158, 6, 159, 8, 160, 663,
! 1755: 223, 224, 0, 10, 0, 0, 0, 0, 0, 664,
! 1756: 0, 0, 0, 0, 0, 0, 267, 12, 0, 0,
! 1757: 0, 665, 269, 0, 13, 0, 0, 0, 0, 0,
! 1758: 15, 16, 244, 22, 0, 18, 145, 0, 4, 127,
! 1759: 6, 7, 8, 9, 0, 26, 243, 0, 10, 0,
! 1760: 146, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 1761: 147, 0, 12, 0, 0, 0, 0, 148, 0, 13,
! 1762: 0, 0, 149, 0, 0, 15, 16, 0, 0, 0,
! 1763: 18, 0, 0, 0, 22, 0, 0, 0, 0, 0,
! 1764: 0, 0, 0, 0, 161, 319, 26, 0, 0, 0,
! 1765: 0, 0, 0, 0, 0, 320, 4, 158, 6, 159,
! 1766: 8, 160, 321, 0, 0, 0, 10, 322, 0, 0,
! 1767: 0, 0, 4, 158, 6, 159, 8, 160, 244, 22,
! 1768: 12, 0, 10, 0, 0, 0, 0, 13, 0, 0,
! 1769: 0, 26, 0, 15, 16, 0, 12, 0, 18, 145,
! 1770: 0, 337, 0, 13, 0, 0, 0, 0, 0, 15,
! 1771: 16, 0, 0, 146, 18, 145, 0, 0, 0, 0,
! 1772: 0, 0, 0, 147, -638, 0, -638, 0, 0, 146,
! 1773: 148, -638, 0, 0, 0, 149, 0, 0, 0, 147,
! 1774: 0, 0, 0, 193, 0, 0, 148, 22, 0, -638,
! 1775: -638, 149, -638, 0, -638, 0, 0, 1008, 0, 26,
! 1776: 0, 0, 0, 22, 127, 6, 7, 8, 9, 0,
! 1777: 0, 243, 0, 10, 0, 26, 0, 0, 0, 0,
! 1778: 0, 0, 194, 195, 0, 196, 0, 12, 0, 0,
! 1779: 0, 0, 197, 0, 13, 0, 71, 6, 0, 8,
! 1780: 274, 16, 0, 263, -253, 10, 0, 0, 0, 0,
! 1781: 0, 0, 0, 0, 0, 0, 0, 0, 0, 12,
! 1782: 265, 0, 0, 0, 0, 0, 13, 0, 0, 0,
! 1783: 266, 0, 0, 16, 0, 263, 0, 267, 264, 0,
! 1784: 0, 0, 268, 269, 0, 0, 0, 0, 0, 0,
! 1785: 0, 0, 265, 244, 22, 0, 0, 0, 0, 0,
! 1786: 0, 0, 266, 0, 0, 0, 0, 0, 0, 267,
! 1787: 0, 0, 0, 0, 268, 269, 0, 0, 0, 0,
! 1788: 0, 0, 412, 413, 414, 0, 22, 415, 416, 417,
! 1789: 418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
! 1790: 428, 429, 430, 431, 412, 413, 414, 0, 0, 415,
! 1791: 416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
! 1792: 426, 427, 428, 429, 430, 431, 0, 0, 0, 0,
! 1793: 0, 0, 0, 0, 600, 0, 0, 0, 0, 968,
! 1794: 418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
! 1795: 428, 429, 430, 431, 412, 413, 414, 757, 758, 415,
! 1796: 416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
! 1797: 426, 427, 428, 429, 430, 431, -138, 412, 413, 414,
! 1798: 0, 0, 415, 416, 417, 418, 419, 420, 421, 422,
! 1799: 423, 424, 425, 426, 427, 428, 429, 430, 431, 412,
! 1800: 413, 414, 1138, 0, 415, 416, 417, 418, 419, 420,
! 1801: 421, 422, 423, 424, 425, 426, 427, 428, 429, 430,
! 1802: 431, 412, 413, 414, 0, 0, 415, 416, 417, 418,
! 1803: 419, 420, 421, 422, 423, 424, 425, 426, 427, 428,
! 1804: 429, 430, 431, 414, 0, 0, 415, 416, 417, 418,
! 1805: 419, 420, 421, 422, 423, 424, 425, 426, 427, 428,
! 1806: 429, 430, 431, 416, 417, 418, 419, 420, 421, 422,
! 1807: 423, 424, 425, 426, 427, 428, 429, 430, 431, 417,
! 1808: 418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
! 1809: 428, 429, 430, 431
1.1 root 1810: };
1811:
1812: static const short yycheck[] = { 1,
1.1.1.4 ! root 1813: 2, 66, 10, 137, 138, 15, 1, 2, 15, 15,
! 1814: 298, 106, 67, 15, 39, 21, 43, 595, 38, 354,
! 1815: 269, 207, 208, 149, 60, 18, 886, 29, 37, 38,
! 1816: 216, 37, 277, 219, 214, 43, 38, 223, 277, 327,
! 1817: 706, 227, 566, 241, 264, 67, 111, 233, 268, 11,
! 1818: 893, 136, 895, 39, 60, 138, 216, 59, 60, 219,
! 1819: 1029, 1030, 189, 223, 944, 67, 10, 227, 514, 10,
! 1820: 35, 35, 50, 233, 45, 43, 10, 3, 4, 3,
! 1821: 4, 50, 107, 332, 54, 10, 145, 10, 50, 70,
! 1822: 71, 72, 54, 64, 194, 3, 4, 3, 4, 5,
! 1823: 49, 547, 108, 1, 50, 54, 108, 8, 114, 115,
! 1824: 116, 3, 4, 5, 82, 83, 40, 85, 120, 128,
! 1825: 129, 50, 128, 125, 92, 103, 24, 129, 26, 54,
! 1826: 125, 93, 40, 31, 104, 104, 104, 43, 163, 145,
! 1827: 105, 105, 237, 149, 169, 240, 3, 4, 3, 4,
! 1828: 50, 49, 50, 45, 52, 104, 54, 103, 194, 103,
! 1829: 3, 4, 103, 156, 1024, 201, 172, 222, 1028, 103,
! 1830: 94, 305, 306, 307, 698, 104, 82, 163, 103, 845,
! 1831: 103, 1061, 106, 169, 85, 312, 94, 85, 94, 191,
! 1832: 196, 92, 194, 199, 92, 201, 322, 0, 106, 201,
! 1833: 222, 196, 94, 303, 104, 97, 104, 215, 214, 395,
! 1834: 50, 45, 214, 238, 82, 503, 82, 397, 24, 304,
! 1835: 222, 50, 305, 306, 1193, 1194, 465, 70, 50, 235,
! 1836: 64, 331, 64, 45, 240, 395, 34, 94, 240, 94,
! 1837: 246, 26, 491, 251, 246, 50, 31, 272, 54, 49,
! 1838: 275, 94, 64, 451, 54, 701, 3, 4, 317, 318,
! 1839: 50, 481, 482, 3, 104, 50, 268, 52, 132, 557,
! 1840: 104, 277, 406, 300, 50, 277, 105, 3, 4, 50,
! 1841: 6, 302, 104, 285, 82, 385, 272, 151, 3, 4,
! 1842: 285, 103, 300, 50, 300, 331, 545, 875, 50, 877,
! 1843: 105, 165, 1145, 749, 104, 300, 3, 4, 5, 35,
! 1844: 335, 317, 318, 5, 104, 105, 322, 763, 345, 104,
! 1845: 844, 376, 328, 1183, 3, 4, 50, 333, 104, 331,
! 1846: 24, 50, 387, 104, 49, 64, 391, 362, 202, 439,
! 1847: 1, 49, 351, 352, 366, 351, 103, 94, 45, 335,
! 1848: 352, 103, 354, 45, 43, 49, 456, 43, 52, 50,
! 1849: 54, 40, 43, 50, 43, 387, 45, 46, 94, 391,
! 1850: 376, 393, 394, 49, 376, 50, 362, 49, 54, 94,
! 1851: 104, 60, 3, 4, 103, 387, 54, 442, 49, 391,
! 1852: 50, 70, 414, 82, 83, 529, 82, 94, 77, 54,
! 1853: 97, 82, 83, 82, 83, 3, 4, 409, 6, 64,
! 1854: 104, 50, 103, 49, 103, 94, 103, 517, 440, 40,
! 1855: 54, 443, 103, 50, 45, 36, 290, 106, 103, 4,
! 1856: 5, 6, 7, 8, 45, 103, 442, 35, 13, 60,
! 1857: 442, 449, 662, 103, 544, 665, 529, 468, 574, 70,
! 1858: 10, 696, 27, 579, 490, 461, 462, 696, 50, 34,
! 1859: 50, 82, 43, 465, 103, 473, 41, 653, 493, 103,
! 1860: 497, 917, 1, 94, 105, 921, 103, 341, 766, 538,
! 1861: 539, 64, 50, 50, 490, 106, 774, 43, 490, 497,
! 1862: 54, 50, 356, 653, 104, 105, 94, 50, 65, 3,
! 1863: 4, 82, 83, 603, 8, 605, 108, 493, 544, 1,
! 1864: 2, 103, 65, 103, 522, 50, 616, 525, 382, 94,
! 1865: 49, 50, 103, 43, 8, 43, 82, 83, 5, 21,
! 1866: 60, 50, 538, 539, 599, 103, 40, 29, 574, 566,
! 1867: 70, 45, 544, 579, 103, 37, 38, 103, 648, 45,
! 1868: 650, 4, 5, 43, 7, 8, 60, 657, 8, 43,
! 1869: 13, 661, 82, 83, 82, 83, 70, 603, 103, 605,
! 1870: 43, 105, 574, 77, 27, 50, 60, 579, 82, 50,
! 1871: 85, 34, 50, 103, 103, 103, 70, 92, 41, 595,
! 1872: 94, 50, 82, 77, 929, 48, 50, 1043, 82, 83,
! 1873: 595, 603, 106, 605, 98, 3, 4, 827, 828, 82,
! 1874: 8, 711, 50, 713, 50, 50, 716, 837, 838, 43,
! 1875: 50, 3, 114, 115, 116, 43, 651, 45, 103, 82,
! 1876: 104, 105, 103, 125, 820, 103, 128, 129, 43, 1217,
! 1877: 650, 94, 40, 650, 103, 43, 64, 45, 650, 103,
! 1878: 49, 462, 43, 145, 465, 54, 662, 149, 82, 83,
! 1879: 820, 104, 60, 665, 82, 103, 43, 103, 103, 677,
! 1880: 43, 698, 70, 103, 733, 734, 1122, 82, 1124, 77,
! 1881: 172, 49, 709, 60, 82, 83, 54, 43, 747, 748,
! 1882: 696, 82, 83, 70, 696, 43, 94, 43, 108, 191,
! 1883: 77, 709, 54, 709, 196, 82, 83, 199, 106, 82,
! 1884: 83, 575, 3, 4, 709, 82, 580, 817, 726, 814,
! 1885: 815, 43, 82, 823, 751, 727, 82, 733, 734, 784,
! 1886: 52, 43, 43, 43, 82, 83, 82, 85, 3, 4,
! 1887: 5, 747, 748, 235, 92, 3, 811, 50, 50, 40,
! 1888: 43, 9, 852, 43, 45, 46, 21, 1045, 767, 1081,
! 1889: 82, 767, 65, 65, 4, 5, 6, 7, 8, 60,
! 1890: 82, 82, 82, 13, 1096, 777, 268, 1099, 784, 70,
! 1891: 45, 82, 784, 82, 43, 37, 77, 27, 41, 82,
! 1892: 49, 82, 82, 285, 34, 54, 49, 818, 806, 1,
! 1893: 2, 41, 10, 94, 52, 85, 670, 43, 300, 815,
! 1894: 831, 832, 92, 815, 1102, 106, 43, 844, 103, 46,
! 1895: 103, 827, 828, 82, 104, 317, 318, 29, 105, 94,
! 1896: 322, 103, 97, 60, 855, 856, 328, 50, 74, 75,
! 1897: 105, 333, 78, 70, 80, 867, 82, 83, 856, 871,
! 1898: 77, 26, 3, 4, 94, 82, 83, 879, 60, 351,
! 1899: 352, 3, 354, 108, 872, 885, 26, 875, 49, 875,
! 1900: 105, 877, 3, 26, 49, 884, 885, 108, 884, 54,
! 1901: 875, 103, 877, 885, 886, 104, 105, 1136, 1137, 40,
! 1902: 892, 893, 947, 895, 45, 46, 49, 899, 762, 45,
! 1903: 103, 54, 108, 85, 24, 50, 26, 771, 54, 60,
! 1904: 92, 31, 933, 82, 3, 4, 104, 105, 64, 70,
! 1905: 104, 105, 104, 125, 31, 45, 77, 929, 52, 49,
! 1906: 103, 82, 52, 797, 104, 105, 59, 104, 105, 104,
! 1907: 105, 947, 103, 94, 64, 947, 103, 968, 103, 3,
! 1908: 4, 40, 50, 104, 43, 106, 45, 979, 54, 55,
! 1909: 982, 983, 103, 83, 104, 85, 974, 103, 990, 461,
! 1910: 462, 60, 92, 465, 108, 6, 7, 8, 108, 981,
! 1911: 982, 70, 13, 104, 105, 105, 40, 34, 77, 191,
! 1912: 104, 45, 194, 82, 83, 1095, 104, 120, 1098, 201,
! 1913: 104, 105, 104, 34, 104, 94, 60, 1029, 1030, 33,
! 1914: 41, 1019, 1018, 108, 1035, 103, 70, 106, 104, 105,
! 1915: 207, 208, 1024, 1018, 103, 108, 1028, 1092, 82, 68,
! 1916: 69, 70, 71, 72, 1134, 50, 1131, 1132, 1059, 5,
! 1917: 94, 1066, 1, 2, 54, 54, 538, 539, 82, 52,
! 1918: 103, 1059, 106, 103, 1075, 1065, 1078, 103, 1065, 1065,
! 1919: 103, 925, 21, 1065, 54, 1087, 268, 103, 108, 82,
! 1920: 29, 194, 52, 108, 52, 277, 1, 2, 52, 38,
! 1921: 105, 103, 574, 285, 54, 108, 1088, 579, 6, 7,
! 1922: 8, 54, 6, 7, 8, 13, 3, 4, 1119, 13,
! 1923: 1121, 8, 94, 595, 29, 1107, 54, 103, 1242, 1243,
! 1924: 103, 108, 52, 236, 1135, 103, 34, 1138, 103, 103,
! 1925: 34, 82, 103, 41, 103, 43, 1132, 41, 103, 331,
! 1926: 1132, 1265, 105, 40, 54, 60, 82, 82, 45, 82,
! 1927: 104, 54, 1006, 1145, 104, 8, 1148, 1011, 49, 49,
! 1928: 104, 15, 354, 60, 52, 114, 115, 116, 54, 3,
! 1929: 50, 7, 8, 70, 82, 103, 125, 13, 103, 54,
! 1930: 662, 1193, 1194, 665, 1195, 82, 1040, 1179, 1233, 302,
! 1931: 303, 1183, 1184, 1205, 1048, 82, 145, 94, 34, 104,
! 1932: 149, 82, 104, 104, 104, 41, 104, 52, 104, 106,
! 1933: 125, 104, 1204, 82, 1226, 52, 105, 1209, 331, 83,
! 1934: 83, 1217, 16, 105, 103, 49, 104, 709, 104, 103,
! 1935: 52, 104, 1217, 104, 104, 103, 349, 1233, 104, 104,
! 1936: 54, 1233, 191, 103, 3, 4, 1244, 6, 7, 8,
! 1937: 199, 733, 734, 1245, 1246, 50, 103, 7, 8, 103,
! 1938: 103, 82, 108, 13, 10, 747, 748, 108, 9, 104,
! 1939: 89, 104, 385, 465, 104, 34, 191, 82, 50, 194,
! 1940: 82, 886, 50, 103, 34, 767, 201, 892, 103, 48,
! 1941: 49, 41, 103, 43, 104, 777, 409, 9, 490, 412,
! 1942: 413, 104, 415, 416, 417, 418, 419, 420, 421, 422,
! 1943: 423, 424, 425, 426, 427, 428, 429, 430, 431, 103,
! 1944: 103, 10, 104, 103, 10, 438, 439, 104, 1, 2,
! 1945: 0, 0, 82, 124, 2, 94, 285, 696, 125, 287,
! 1946: 99, 100, 101, 456, 125, 827, 828, 136, 21, 709,
! 1947: 120, 497, 544, 268, 409, 468, 29, 750, 1061, 982,
! 1948: 1127, 275, 277, 476, 37, 38, 163, 884, 317, 318,
! 1949: 285, 328, 806, 322, 679, 29, 981, 29, 751, 566,
! 1950: 777, 730, 574, 899, 333, 352, 473, 579, 7, 8,
! 1951: 677, 3, 4, 875, 13, 877, 322, 4, 5, 728,
! 1952: 7, 8, 884, 885, 517, 354, 13, 3, 4, 1025,
! 1953: 1227, 603, 525, 605, 1229, 34, 331, 899, 246, 1024,
! 1954: 27, 1018, 41, 1028, 43, -1, -1, 34, 40, 784,
! 1955: -1, 544, -1, 45, 41, -1, -1, -1, -1, 354,
! 1956: -1, 114, 115, 116, 40, -1, -1, 929, 60, 45,
! 1957: 46, -1, 125, -1, -1, 128, 129, -1, 70, 572,
! 1958: 573, -1, -1, 82, 60, 77, -1, -1, -1, -1,
! 1959: 82, -1, 145, 665, 70, -1, 149, -1, -1, -1,
! 1960: -1, 77, 94, 1088, -1, -1, 82, 94, -1, -1,
! 1961: 603, -1, 605, -1, 106, -1, -1, -1, 94, 172,
! 1962: -1, -1, 1107, 616, 696, -1, -1, 620, 104, -1,
! 1963: 106, -1, 461, 462, 3, 4, 465, -1, 191, -1,
! 1964: -1, -1, -1, -1, 3, 4, 199, 6, 7, 8,
! 1965: -1, -1, -1, -1, -1, 648, 1018, 650, -1, -1,
! 1966: -1, 214, -1, 1148, 657, -1, -1, -1, 661, -1,
! 1967: 465, 40, -1, -1, 43, 34, 45, 46, -1, 48,
! 1968: -1, -1, 235, 676, -1, 54, -1, -1, 241, 48,
! 1969: 49, 60, -1, -1, 1179, 490, -1, -1, 1183, 1184,
! 1970: -1, 70, -1, -1, -1, 777, 1, -1, 77, 538,
! 1971: 539, -1, -1, 82, 19, 20, 3, 4, 711, 1204,
! 1972: 713, -1, -1, 716, 1209, 94, 719, -1, -1, 24,
! 1973: -1, 26, 285, -1, -1, 94, 31, 106, -1, -1,
! 1974: 99, 100, 101, -1, -1, 574, -1, -1, 43, 544,
! 1975: 579, -1, 57, 40, 49, 50, -1, 52, 45, 54,
! 1976: 1245, 1246, -1, -1, 317, 318, 759, -1, -1, 322,
! 1977: 75, -1, -1, 60, -1, 328, -1, -1, -1, 574,
! 1978: 333, -1, -1, 70, 579, -1, -1, 82, 83, -1,
! 1979: 85, -1, -1, -1, -1, 82, -1, 92, 351, 352,
! 1980: -1, 354, -1, -1, -1, -1, -1, 94, 603, 104,
! 1981: 605, -1, -1, 806, -1, 808, -1, -1, -1, 106,
! 1982: -1, -1, 7, 8, 817, 818, -1, 899, 13, -1,
! 1983: 823, 4, 5, 662, 7, 8, 665, -1, 831, 832,
! 1984: 13, 146, 147, 3, 4, 5, 6, 7, 8, 34,
! 1985: -1, 11, -1, 13, 27, 1217, 41, 929, 43, 852,
! 1986: -1, 34, 855, 856, -1, -1, -1, 27, 41, -1,
! 1987: 665, -1, -1, -1, 34, -1, -1, -1, -1, -1,
! 1988: 40, 41, -1, 43, -1, 45, 46, -1, 193, -1,
! 1989: -1, -1, -1, -1, -1, 200, -1, 82, 451, -1,
! 1990: 60, 696, -1, -1, 733, 734, -1, -1, 461, 462,
! 1991: 70, -1, 465, -1, -1, -1, -1, 77, 747, 748,
! 1992: -1, 94, 82, 83, -1, -1, -1, -1, -1, -1,
! 1993: 923, 924, -1, -1, 94, -1, -1, -1, -1, -1,
! 1994: 933, 3, 4, 5, -1, 7, 106, -1, 777, -1,
! 1995: -1, 13, -1, -1, -1, -1, 43, -1, 263, -1,
! 1996: 265, 266, -1, 0, 1, 27, 3, 4, 5, 6,
! 1997: 7, 8, 34, -1, 36, 968, 13, 970, 40, 41,
! 1998: -1, -1, 777, 45, -1, 538, 539, 74, 75, 26,
! 1999: 27, 78, 79, 80, 81, 82, 83, 34, 827, 828,
! 2000: -1, 38, -1, 40, 41, -1, -1, 44, 45, -1,
! 2001: -1, -1, -1, -1, 319, 320, -1, -1, -1, -1,
! 2002: -1, 574, -1, 60, -1, 330, 579, -1, -1, -1,
! 2003: -1, -1, 94, 70, 3, 4, 3, 4, -1, -1,
! 2004: -1, -1, 1035, -1, -1, 82, -1, -1, -1, 1042,
! 2005: -1, -1, -1, -1, -1, -1, 885, 94, 95, 96,
! 2006: -1, -1, -1, -1, -1, -1, 1059, 104, -1, 106,
! 2007: 899, 40, -1, 40, -1, -1, 45, 46, 45, 48,
! 2008: -1, -1, 1075, -1, -1, 54, -1, -1, -1, -1,
! 2009: -1, 60, -1, 60, -1, -1, -1, -1, -1, -1,
! 2010: 929, 70, 1095, 70, 899, 1098, -1, -1, 77, 662,
! 2011: 77, -1, 665, 82, -1, 82, -1, -1, -1, -1,
! 2012: 4, 5, -1, 7, 8, 94, 1119, 94, 1121, 13,
! 2013: 3, 4, -1, -1, 929, -1, -1, 106, -1, 106,
! 2014: -1, 1134, 1135, 27, -1, 1138, -1, -1, -1, 1,
! 2015: 34, 3, 4, 5, 6, 7, 8, 41, 463, -1,
! 2016: -1, 13, -1, -1, 48, -1, -1, 40, -1, -1,
! 2017: -1, -1, 45, -1, 26, 27, -1, -1, -1, -1,
! 2018: 733, 734, 34, -1, 489, -1, 38, 60, 40, 41,
! 2019: -1, -1, 44, 45, 747, 748, -1, 70, 82, -1,
! 2020: -1, -1, 1195, -1, 77, -1, -1, -1, 60, 82,
! 2021: 94, -1, -1, -1, 767, -1, -1, -1, 70, -1,
! 2022: -1, 94, -1, -1, 777, -1, -1, -1, -1, -1,
! 2023: 82, -1, -1, 106, -1, 540, 541, -1, 543, -1,
! 2024: -1, -1, 94, 95, 96, -1, -1, -1, -1, -1,
! 2025: 555, 556, 104, 105, 106, 62, 63, 64, 65, 66,
! 2026: 67, 68, 69, 70, 71, 72, 571, -1, -1, -1,
! 2027: -1, -1, -1, 578, 827, 828, 3, 4, 5, 6,
! 2028: 7, 8, 587, 588, 589, -1, 13, 63, 64, 65,
! 2029: 66, 67, 68, 69, 70, 71, 72, 602, -1, 604,
! 2030: 27, -1, 607, -1, -1, -1, -1, 34, -1, -1,
! 2031: -1, -1, -1, 40, 41, -1, 43, -1, 45, 46,
! 2032: -1, 48, -1, -1, -1, -1, -1, 54, -1, -1,
! 2033: -1, 884, 885, 60, -1, -1, -1, -1, 4, 5,
! 2034: 6, 7, 8, 70, -1, 11, 899, 13, -1, -1,
! 2035: 77, -1, -1, -1, -1, 82, -1, -1, 663, 664,
! 2036: -1, 27, -1, -1, -1, -1, -1, 94, 34, -1,
! 2037: -1, -1, -1, -1, -1, 41, 929, -1, -1, 106,
! 2038: 685, 686, -1, -1, 689, 1, -1, 3, 4, 5,
! 2039: 6, 7, 8, 9, 10, -1, 12, 13, 14, 15,
! 2040: 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
! 2041: 26, 27, 28, 29, 30, -1, 32, -1, 34, -1,
! 2042: 36, 37, -1, 39, 40, 41, -1, 93, 94, 45,
! 2043: -1, -1, 48, 49, -1, -1, -1, -1, 743, 744,
! 2044: 745, 57, -1, -1, 60, 66, 67, 68, 69, 70,
! 2045: 71, 72, 68, 69, 70, -1, -1, -1, 74, 75,
! 2046: -1, -1, -1, -1, -1, -1, 82, -1, 84, -1,
! 2047: 86, 87, 88, -1, 90, 91, 92, -1, 94, -1,
! 2048: -1, -1, -1, -1, -1, -1, -1, -1, 104, 105,
! 2049: 106, 107, 1, -1, 3, 4, 5, 6, 7, 8,
! 2050: 9, 10, -1, 12, 13, 14, -1, 16, 17, 18,
! 2051: 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
! 2052: 29, 30, -1, 32, -1, 34, -1, 36, 37, -1,
! 2053: 39, 40, 41, -1, -1, 840, 45, -1, -1, 48,
! 2054: 49, -1, -1, -1, -1, -1, -1, -1, 57, -1,
! 2055: -1, 60, -1, -1, -1, -1, -1, -1, -1, 68,
! 2056: 69, 70, -1, -1, -1, 74, 75, -1, -1, -1,
! 2057: -1, -1, -1, 82, -1, 84, -1, -1, 87, -1,
! 2058: -1, 90, 91, 92, -1, 94, -1, -1, -1, -1,
! 2059: -1, -1, -1, -1, -1, 104, 105, 106, 107, 904,
! 2060: 905, 906, 60, 61, 62, 63, 64, 65, 66, 67,
! 2061: 68, 69, 70, 71, 72, 920, -1, -1, -1, -1,
! 2062: -1, -1, -1, 928, -1, -1, -1, -1, -1, 934,
! 2063: 935, 936, 937, 938, 939, 1, -1, 3, 4, 5,
1.1.1.2 root 2064: 6, 7, 8, 9, 10, -1, 12, 13, 14, -1,
2065: 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
2066: 26, 27, 28, 29, 30, -1, 32, -1, 34, -1,
2067: 36, 37, -1, 39, 40, 41, -1, -1, -1, 45,
2068: -1, -1, 48, 49, -1, -1, -1, -1, -1, -1,
1.1.1.4 ! root 2069: -1, 57, -1, -1, 60, -1, -1, -1, -1, -1,
1.1.1.2 root 2070: -1, -1, 68, 69, 70, -1, -1, -1, 74, 75,
2071: -1, -1, -1, -1, -1, -1, 82, -1, 84, -1,
2072: -1, 87, -1, -1, 90, 91, 92, -1, 94, -1,
2073: -1, -1, -1, -1, -1, -1, -1, -1, 104, 105,
2074: 106, 107, 1, -1, 3, 4, 5, 6, 7, 8,
2075: 9, 10, -1, 12, 13, 14, -1, 16, 17, 18,
2076: 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
2077: 29, 30, -1, 32, -1, 34, -1, 36, 37, -1,
2078: 39, 40, 41, -1, -1, -1, 45, -1, -1, 48,
1.1.1.4 ! root 2079: 49, -1, -1, -1, -1, -1, -1, -1, 57, -1,
1.1.1.2 root 2080: -1, 60, -1, -1, -1, -1, -1, -1, -1, 68,
2081: 69, 70, -1, -1, -1, 74, 75, -1, -1, -1,
2082: -1, -1, -1, 82, -1, 84, -1, -1, 87, -1,
2083: -1, 90, 91, 92, -1, 94, -1, -1, -1, -1,
1.1.1.3 root 2084: -1, -1, -1, -1, -1, 104, 105, 106, 107, 1,
1.1.1.2 root 2085: -1, 3, 4, 5, 6, 7, 8, 9, 10, -1,
2086: 12, 13, 14, -1, 16, 17, 18, 19, 20, 21,
2087: 22, 23, 24, 25, 26, 27, 28, 29, 30, -1,
2088: 32, -1, 34, -1, 36, 37, -1, 39, 40, 41,
2089: -1, -1, -1, 45, -1, -1, 48, 49, -1, -1,
1.1.1.4 ! root 2090: -1, -1, -1, -1, -1, 57, -1, -1, 60, -1,
1.1.1.2 root 2091: -1, -1, -1, -1, -1, -1, 68, 69, 70, -1,
2092: -1, -1, 74, 75, -1, -1, -1, -1, -1, -1,
2093: 82, -1, 84, -1, -1, 87, -1, -1, 90, 91,
1.1.1.3 root 2094: 92, -1, 94, -1, -1, -1, -1, -1, -1, -1,
2095: -1, -1, 104, 105, 106, 107, 1, -1, 3, 4,
2096: 5, 6, 7, 8, 9, 10, -1, 12, 13, 14,
2097: -1, 16, 17, 18, 19, 20, 21, 22, 23, 24,
2098: 25, 26, 27, 28, 29, 30, -1, 32, -1, 34,
2099: -1, 36, 37, -1, 39, 40, 41, -1, -1, -1,
2100: 45, -1, -1, 48, 49, -1, -1, -1, -1, -1,
1.1.1.4 ! root 2101: -1, -1, 57, -1, -1, 60, -1, -1, -1, -1,
1.1.1.3 root 2102: -1, -1, -1, 68, 69, 70, -1, -1, -1, 74,
2103: 75, -1, -1, -1, -1, -1, -1, 82, -1, 84,
2104: -1, -1, 87, -1, -1, 90, 91, 92, -1, 94,
2105: -1, -1, -1, -1, -1, -1, -1, -1, -1, 104,
2106: 105, 106, 107, 1, -1, 3, 4, 5, 6, 7,
2107: 8, 9, 10, -1, 12, 13, 14, -1, 16, 17,
2108: 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
1.1.1.2 root 2109: 28, 29, 30, -1, 32, -1, 34, -1, 36, 37,
1.1.1.3 root 2110: -1, 39, 40, 41, -1, -1, -1, 45, -1, -1,
1.1.1.4 ! root 2111: 48, 49, -1, -1, -1, -1, -1, -1, -1, 57,
1.1.1.3 root 2112: -1, -1, 60, -1, -1, -1, -1, -1, -1, -1,
1.1.1.2 root 2113: 68, 69, 70, -1, -1, -1, 74, 75, -1, -1,
1.1.1.3 root 2114: -1, -1, -1, -1, 82, -1, 84, -1, -1, 87,
2115: -1, -1, 90, 91, 92, -1, 94, -1, -1, -1,
1.1.1.4 ! root 2116: -1, -1, -1, -1, -1, -1, 104, 105, 106, 107,
1.1.1.2 root 2117: 1, -1, 3, 4, 5, 6, 7, 8, 9, 10,
1.1.1.3 root 2118: -1, 12, 13, 14, -1, 16, 17, 18, 19, 20,
2119: 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
1.1.1.2 root 2120: -1, 32, -1, 34, -1, 36, 37, -1, 39, 40,
1.1.1.3 root 2121: 41, -1, -1, -1, 45, -1, -1, 48, 49, -1,
1.1.1.4 ! root 2122: -1, -1, -1, -1, -1, -1, 57, -1, -1, 60,
1.1.1.2 root 2123: -1, -1, -1, -1, -1, -1, -1, 68, 69, 70,
2124: -1, -1, -1, 74, 75, -1, -1, -1, -1, -1,
1.1.1.3 root 2125: -1, 82, -1, 84, -1, -1, 87, -1, -1, 90,
2126: 91, 92, -1, 94, -1, -1, -1, -1, -1, -1,
2127: -1, -1, -1, 104, -1, 106, 107, 1, -1, 3,
1.1.1.4 ! root 2128: 4, 5, 6, 7, 8, 9, 10, -1, 12, 13,
! 2129: 14, -1, 16, 17, 18, 19, 20, 21, 22, 23,
! 2130: 24, 25, 26, 27, 28, 29, 30, -1, 32, -1,
1.1.1.2 root 2131: 34, -1, 36, 37, -1, 39, 40, 41, -1, -1,
1.1.1.4 ! root 2132: -1, 45, -1, -1, 48, 49, -1, -1, -1, -1,
! 2133: -1, -1, -1, 57, -1, -1, 60, -1, -1, -1,
! 2134: -1, -1, -1, -1, 68, 69, 70, -1, -1, -1,
1.1.1.2 root 2135: 74, 75, -1, -1, -1, -1, -1, -1, 82, -1,
1.1.1.4 ! root 2136: 84, -1, -1, 87, -1, -1, 90, 91, 92, 1,
! 2137: 94, -1, 4, 5, -1, 7, 8, -1, -1, -1,
! 2138: 104, 13, 106, 107, -1, -1, -1, -1, -1, -1,
! 2139: -1, -1, -1, -1, -1, 27, -1, -1, -1, -1,
! 2140: -1, -1, 34, -1, 36, 37, -1, -1, -1, 41,
! 2141: 42, 43, -1, -1, -1, -1, -1, -1, 50, 51,
! 2142: 52, 53, -1, -1, 56, 57, 58, 59, 60, 61,
! 2143: 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
! 2144: 72, -1, 74, 75, -1, -1, 78, 79, -1, -1,
! 2145: -1, 83, -1, -1, -1, -1, -1, -1, -1, -1,
! 2146: -1, 1, 94, 3, 4, 5, 6, 7, 8, 9,
! 2147: 10, 11, 12, 13, 106, 107, -1, -1, -1, -1,
1.1.1.3 root 2148: -1, -1, -1, -1, -1, -1, -1, 27, 28, 29,
1.1.1.2 root 2149: 30, -1, 32, -1, 34, -1, 36, 37, -1, 39,
2150: 40, 41, -1, -1, -1, 45, -1, -1, -1, -1,
1.1.1.4 ! root 2151: -1, -1, -1, -1, -1, -1, -1, 57, -1, -1,
1.1.1.3 root 2152: 60, -1, -1, -1, -1, -1, -1, -1, 68, 69,
2153: 70, -1, -1, -1, 74, 75, -1, -1, -1, -1,
2154: -1, -1, 82, -1, -1, -1, -1, -1, -1, -1,
2155: -1, -1, -1, 93, 94, -1, -1, -1, -1, -1,
2156: -1, -1, -1, 103, -1, -1, 106, 107, 1, -1,
2157: 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
1.1.1.4 ! root 2158: 13, 61, 62, 63, 64, 65, 66, 67, 68, 69,
! 2159: 70, 71, 72, -1, 27, 28, 29, 30, -1, 32,
1.1.1.3 root 2160: -1, 34, -1, 36, 37, -1, 39, 40, 41, -1,
2161: -1, -1, 45, -1, -1, -1, -1, -1, -1, -1,
1.1.1.4 ! root 2162: -1, -1, -1, -1, 57, -1, -1, 60, -1, -1,
1.1.1.3 root 2163: -1, -1, -1, -1, -1, 68, 69, 70, -1, -1,
2164: -1, 74, 75, -1, -1, -1, -1, -1, -1, 82,
2165: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2166: 93, 94, -1, -1, -1, -1, -1, -1, -1, -1,
2167: 103, -1, -1, 106, 107, 1, -1, 3, 4, 5,
2168: 6, 7, 8, 9, 10, 11, 12, 13, -1, -1,
1.1.1.4 ! root 2169: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1.1.1.3 root 2170: -1, 27, 28, 29, 30, -1, 32, -1, 34, -1,
2171: 36, 37, -1, 39, 40, 41, -1, -1, -1, 45,
2172: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1.1.1.4 ! root 2173: -1, 57, -1, -1, 60, -1, -1, -1, -1, -1,
1.1.1.3 root 2174: -1, -1, 68, 69, 70, -1, -1, -1, 74, 75,
1.1.1.4 ! root 2175: -1, -1, -1, -1, -1, -1, 82, -1, -1, -1,
! 2176: -1, -1, -1, -1, -1, -1, -1, 93, 94, -1,
! 2177: -1, -1, -1, -1, -1, -1, -1, 103, -1, -1,
! 2178: 106, 107, 1, -1, 3, 4, 5, 6, 7, 8,
! 2179: 9, 10, 11, 12, 13, -1, -1, -1, -1, -1,
1.1.1.3 root 2180: -1, -1, -1, -1, -1, -1, -1, -1, 27, 28,
2181: 29, 30, -1, 32, -1, 34, -1, 36, 37, -1,
2182: 39, 40, 41, -1, -1, -1, 45, -1, -1, -1,
1.1.1.4 ! root 2183: -1, -1, -1, -1, -1, -1, -1, -1, 57, -1,
! 2184: -1, 60, -1, -1, -1, -1, -1, -1, -1, 68,
! 2185: 69, 70, -1, -1, -1, 74, 75, -1, -1, -1,
! 2186: -1, -1, -1, 82, -1, -1, -1, -1, -1, -1,
! 2187: -1, -1, -1, -1, 93, 94, -1, -1, -1, -1,
! 2188: -1, -1, -1, -1, 103, -1, -1, 106, 107, 1,
! 2189: -1, 3, 4, 5, 6, 7, 8, 9, 10, 11,
! 2190: 12, 13, -1, -1, -1, -1, -1, -1, -1, -1,
! 2191: -1, -1, -1, -1, -1, 27, 28, 29, 30, -1,
! 2192: 32, -1, 34, -1, 36, 37, -1, 39, 40, 41,
! 2193: -1, -1, -1, 45, -1, -1, -1, -1, -1, -1,
! 2194: -1, -1, -1, -1, -1, 57, -1, -1, 60, -1,
! 2195: -1, -1, -1, -1, -1, -1, 68, 69, 70, -1,
! 2196: -1, -1, 74, 75, -1, -1, -1, -1, -1, -1,
! 2197: 82, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! 2198: -1, 93, 94, -1, -1, -1, -1, -1, -1, -1,
! 2199: -1, 103, -1, -1, 106, 107, 1, -1, 3, 4,
! 2200: 5, -1, 7, 8, 9, 10, -1, 12, 13, -1,
! 2201: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! 2202: -1, -1, 27, 28, 29, 30, -1, 32, -1, 34,
! 2203: -1, 36, 37, -1, 39, 40, 41, -1, -1, -1,
! 2204: 45, -1, -1, -1, 49, -1, -1, -1, -1, -1,
! 2205: -1, -1, 57, -1, -1, 60, -1, -1, -1, -1,
! 2206: -1, -1, -1, 68, 69, 70, -1, -1, -1, 74,
! 2207: 75, -1, -1, -1, -1, -1, -1, 82, 83, 1,
! 2208: -1, 3, 4, 5, -1, 7, 8, 9, 10, 94,
! 2209: 12, 13, -1, -1, -1, -1, -1, -1, 20, -1,
! 2210: 105, 106, 107, -1, -1, 27, 28, 29, 30, -1,
! 2211: 32, -1, 34, -1, 36, 37, -1, 39, 40, 41,
! 2212: -1, -1, -1, 45, -1, -1, -1, 49, -1, -1,
! 2213: -1, -1, -1, -1, -1, 57, -1, -1, 60, -1,
! 2214: -1, -1, -1, -1, -1, -1, 68, 69, 70, -1,
! 2215: -1, -1, 74, 75, -1, -1, -1, -1, -1, -1,
! 2216: 82, -1, 1, -1, 3, 4, 5, 6, 7, 8,
! 2217: 9, 10, 94, 12, 13, -1, -1, -1, -1, -1,
! 2218: -1, -1, -1, 105, 106, 107, -1, -1, 27, 28,
! 2219: 29, 30, -1, 32, -1, 34, -1, 36, 37, -1,
! 2220: 39, 40, 41, -1, -1, -1, 45, -1, -1, -1,
! 2221: 49, -1, -1, -1, -1, -1, -1, -1, 57, -1,
1.1.1.3 root 2222: -1, 60, -1, -1, -1, -1, -1, -1, -1, 68,
2223: 69, 70, -1, -1, -1, 74, 75, -1, -1, -1,
1.1.1.4 ! root 2224: -1, -1, -1, 82, -1, 1, -1, 3, 4, 5,
1.1.1.3 root 2225: -1, 7, 8, 9, 10, 94, 12, 13, -1, -1,
1.1.1.4 ! root 2226: -1, -1, -1, -1, 20, 104, -1, 106, 107, -1,
1.1.1.3 root 2227: -1, 27, 28, 29, 30, -1, 32, -1, 34, -1,
2228: 36, 37, -1, 39, 40, 41, -1, -1, -1, 45,
2229: -1, -1, -1, 49, -1, -1, -1, -1, -1, -1,
1.1.1.4 ! root 2230: -1, 57, -1, -1, 60, -1, -1, -1, -1, -1,
1.1.1.3 root 2231: -1, -1, 68, 69, 70, -1, -1, -1, 74, 75,
2232: -1, -1, -1, -1, -1, -1, 82, -1, 1, -1,
1.1.1.4 ! root 2233: 3, 4, 5, -1, 7, 8, 9, 10, 94, 12,
1.1.1.3 root 2234: 13, -1, -1, -1, -1, -1, -1, -1, -1, 105,
2235: 106, 107, -1, -1, 27, 28, 29, 30, -1, 32,
1.1.1.2 root 2236: -1, 34, -1, 36, 37, -1, 39, 40, 41, -1,
2237: -1, -1, 45, -1, -1, -1, 49, -1, -1, -1,
1.1.1.4 ! root 2238: -1, -1, -1, -1, 57, -1, -1, 60, -1, -1,
1.1.1.3 root 2239: -1, -1, -1, -1, -1, 68, 69, 70, -1, -1,
2240: -1, 74, 75, -1, -1, -1, -1, -1, -1, 82,
1.1.1.4 ! root 2241: 83, 1, -1, 3, 4, 5, -1, 7, 8, 9,
1.1.1.2 root 2242: 10, 94, 12, 13, -1, -1, -1, -1, -1, -1,
1.1.1.4 ! root 2243: -1, -1, -1, 106, 107, -1, -1, 27, 28, 29,
1.1.1.2 root 2244: 30, -1, 32, -1, 34, -1, 36, 37, -1, 39,
2245: 40, 41, -1, -1, -1, 45, -1, -1, -1, 49,
1.1.1.4 ! root 2246: -1, -1, -1, -1, -1, -1, -1, 57, -1, -1,
1.1.1.2 root 2247: 60, -1, -1, -1, -1, -1, -1, -1, 68, 69,
2248: 70, -1, -1, -1, 74, 75, -1, -1, -1, -1,
1.1.1.3 root 2249: -1, -1, 82, -1, 1, -1, 3, 4, 5, -1,
1.1.1.2 root 2250: 7, 8, 9, 10, 94, 12, 13, -1, -1, -1,
1.1.1.4 ! root 2251: -1, -1, -1, -1, -1, -1, 106, 107, -1, -1,
1.1.1.2 root 2252: 27, 28, 29, 30, -1, 32, -1, 34, -1, 36,
2253: 37, -1, 39, 40, 41, -1, -1, -1, 45, -1,
2254: -1, -1, 49, -1, -1, -1, -1, -1, -1, -1,
1.1.1.4 ! root 2255: 57, -1, -1, 60, -1, -1, -1, -1, -1, -1,
1.1.1.2 root 2256: -1, 68, 69, 70, -1, -1, -1, 74, 75, -1,
1.1.1.4 ! root 2257: -1, -1, -1, -1, -1, 82, -1, 1, -1, 3,
1.1.1.2 root 2258: 4, 5, -1, 7, 8, 9, 10, 94, 12, 13,
1.1.1.3 root 2259: -1, -1, -1, -1, -1, -1, -1, -1, -1, 106,
1.1.1.2 root 2260: 107, -1, -1, 27, 28, 29, 30, -1, 32, -1,
2261: 34, -1, 36, 37, -1, 39, 40, 41, -1, -1,
1.1.1.4 ! root 2262: -1, 45, -1, -1, -1, -1, -1, -1, -1, -1,
! 2263: 54, -1, -1, 57, -1, -1, 60, -1, -1, -1,
1.1.1.2 root 2264: -1, -1, -1, -1, 68, 69, 70, -1, -1, -1,
2265: 74, 75, -1, -1, -1, -1, -1, -1, 82, -1,
2266: 1, -1, 3, 4, 5, -1, 7, 8, 9, 10,
2267: 94, 12, 13, -1, -1, -1, -1, -1, -1, -1,
1.1.1.3 root 2268: -1, -1, 106, 107, -1, -1, 27, 28, 29, 30,
1.1.1.2 root 2269: -1, 32, -1, 34, -1, 36, 37, -1, 39, 40,
1.1.1.4 ! root 2270: 41, -1, -1, -1, 45, -1, -1, -1, -1, -1,
! 2271: -1, -1, -1, -1, -1, -1, 57, -1, -1, 60,
1.1.1.2 root 2272: -1, -1, -1, -1, -1, -1, -1, 68, 69, 70,
2273: -1, -1, -1, 74, 75, -1, -1, -1, -1, -1,
1.1.1.3 root 2274: -1, 82, -1, 1, -1, 3, 4, 5, -1, 7,
1.1.1.2 root 2275: 8, 9, 10, 94, 12, 13, -1, -1, -1, -1,
1.1.1.4 ! root 2276: -1, -1, -1, 104, -1, 106, 107, -1, -1, 27,
1.1.1.2 root 2277: 28, 29, 30, -1, 32, -1, 34, -1, 36, 37,
2278: -1, 39, 40, 41, -1, -1, -1, 45, -1, -1,
1.1.1.4 ! root 2279: -1, -1, -1, -1, -1, -1, -1, -1, -1, 57,
1.1.1.2 root 2280: -1, -1, 60, -1, -1, -1, -1, -1, -1, -1,
1.1.1.4 ! root 2281: 68, 69, 70, -1, -1, -1, 74, 75, -1, -1,
! 2282: -1, -1, -1, -1, 82, -1, 1, -1, 3, 4,
1.1.1.2 root 2283: 5, -1, 7, 8, 9, 10, 94, 12, 13, -1,
1.1.1.4 ! root 2284: -1, -1, -1, -1, -1, 103, -1, -1, 106, 107,
1.1 root 2285: -1, -1, 27, 28, 29, 30, -1, 32, -1, 34,
1.1.1.2 root 2286: -1, 36, 37, -1, 39, 40, 41, -1, -1, -1,
1.1.1.4 ! root 2287: 45, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! 2288: -1, -1, 57, -1, -1, 60, -1, -1, -1, -1,
1.1.1.2 root 2289: -1, -1, -1, 68, 69, 70, -1, -1, -1, 74,
1.1.1.4 ! root 2290: 75, -1, -1, -1, -1, -1, -1, 82, -1, -1,
1.1.1.2 root 2291: -1, 3, 4, 5, -1, 7, 8, 9, 10, 94,
1.1.1.4 ! root 2292: 12, 13, -1, -1, -1, -1, -1, -1, -1, -1,
1.1.1.2 root 2293: -1, 106, 107, -1, -1, 27, 28, 29, 30, -1,
1.1.1.4 ! root 2294: 32, -1, 34, -1, 36, -1, -1, 39, 40, 41,
! 2295: -1, -1, -1, 45, 1, -1, 3, 4, 5, 6,
! 2296: 7, 8, -1, -1, -1, 57, 13, -1, 60, -1,
! 2297: -1, -1, -1, -1, -1, -1, 68, 69, 70, 26,
! 2298: 27, -1, 74, 75, -1, -1, -1, 34, -1, -1,
! 2299: 82, 38, -1, 40, 41, -1, -1, 44, 45, -1,
! 2300: -1, -1, 94, -1, -1, -1, -1, -1, -1, -1,
! 2301: -1, -1, -1, 60, 106, 107, 108, -1, -1, -1,
! 2302: -1, -1, -1, 70, -1, -1, -1, 1, -1, 3,
! 2303: 4, 5, 6, 7, 8, 82, -1, -1, -1, 13,
! 2304: -1, -1, -1, -1, -1, -1, -1, 94, 95, 96,
! 2305: -1, -1, -1, 27, -1, -1, -1, 104, -1, 106,
! 2306: 34, 35, -1, -1, -1, -1, 40, 41, -1, -1,
! 2307: -1, 45, -1, -1, -1, -1, -1, -1, -1, -1,
! 2308: 54, -1, -1, -1, -1, 1, 60, 3, 4, 5,
! 2309: 6, 7, 8, -1, -1, -1, 70, 13, -1, -1,
! 2310: -1, -1, -1, -1, -1, -1, -1, -1, 82, -1,
! 2311: -1, 27, -1, -1, -1, -1, -1, -1, 34, 35,
! 2312: 94, -1, -1, -1, 40, 41, -1, -1, -1, 45,
! 2313: 104, 105, 106, -1, -1, -1, -1, -1, 54, -1,
! 2314: -1, -1, -1, 1, 60, 3, 4, 5, 6, 7,
! 2315: 8, -1, -1, -1, 70, 13, -1, -1, -1, -1,
! 2316: -1, -1, -1, -1, -1, -1, 82, -1, -1, 27,
! 2317: -1, -1, -1, -1, -1, -1, 34, 35, 94, -1,
! 2318: -1, -1, 40, 41, -1, -1, -1, 45, 104, 105,
! 2319: 106, -1, -1, -1, -1, -1, 54, -1, -1, -1,
! 2320: -1, 1, 60, 3, 4, 5, 6, 7, 8, -1,
! 2321: -1, -1, 70, 13, -1, -1, -1, -1, -1, -1,
! 2322: -1, -1, -1, -1, 82, -1, -1, 27, -1, -1,
! 2323: -1, -1, -1, -1, 34, 35, 94, -1, -1, -1,
! 2324: 40, 41, -1, -1, -1, 45, -1, 105, 106, -1,
! 2325: -1, -1, -1, -1, 54, -1, -1, -1, -1, 1,
! 2326: 60, 3, 4, 5, 6, 7, 8, -1, -1, -1,
! 2327: 70, 13, -1, -1, -1, -1, -1, -1, -1, -1,
! 2328: -1, -1, 82, -1, -1, 27, -1, -1, -1, -1,
! 2329: -1, -1, 34, -1, 94, -1, -1, -1, 40, 41,
! 2330: -1, -1, -1, 45, -1, 105, 106, -1, -1, -1,
! 2331: 1, -1, 3, 4, 5, 6, 7, 8, 60, -1,
! 2332: -1, -1, 13, -1, -1, -1, -1, -1, 70, -1,
! 2333: -1, -1, -1, -1, -1, -1, 27, -1, -1, -1,
! 2334: 82, -1, -1, 34, -1, -1, -1, -1, -1, 40,
! 2335: 41, -1, 94, 95, 45, -1, -1, -1, -1, -1,
! 2336: -1, -1, 104, -1, 106, 51, 52, 53, -1, 60,
! 2337: 56, 57, 58, 59, 60, 61, 62, 63, 64, 70,
! 2338: 66, 67, 68, 69, 70, 71, 72, -1, -1, -1,
! 2339: -1, 82, -1, -1, -1, -1, -1, -1, -1, -1,
! 2340: -1, -1, -1, 94, -1, -1, -1, 3, 4, 5,
! 2341: 6, 7, 8, 9, 10, 106, 12, 13, 14, -1,
! 2342: 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
! 2343: 26, 27, 28, 29, 30, -1, 32, -1, 34, -1,
! 2344: 36, -1, -1, 39, 40, 41, -1, -1, -1, 45,
! 2345: -1, -1, 48, 49, -1, -1, -1, -1, -1, -1,
! 2346: -1, 57, -1, -1, 60, -1, -1, -1, -1, -1,
! 2347: -1, -1, 68, 69, 70, -1, -1, -1, 74, 75,
! 2348: -1, -1, -1, -1, -1, -1, 82, -1, 84, -1,
! 2349: -1, 87, -1, -1, 90, 91, 92, -1, 94, -1,
! 2350: -1, -1, -1, -1, -1, -1, -1, -1, 104, 105,
! 2351: 106, 107, 3, 4, 5, 6, 7, 8, 9, 10,
! 2352: -1, 12, 13, 14, -1, 16, 17, 18, 19, 20,
! 2353: 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
! 2354: -1, 32, -1, 34, -1, 36, -1, -1, 39, 40,
! 2355: 41, -1, -1, -1, 45, -1, -1, 48, 49, -1,
! 2356: -1, -1, -1, -1, -1, -1, 57, -1, -1, 60,
! 2357: -1, -1, -1, -1, -1, -1, -1, 68, 69, 70,
! 2358: -1, -1, -1, 74, 75, -1, -1, -1, -1, -1,
! 2359: -1, 82, -1, 84, -1, -1, 87, -1, -1, 90,
! 2360: 91, 92, -1, 94, -1, -1, -1, -1, -1, -1,
! 2361: -1, -1, -1, 104, -1, 106, 107, 3, 4, 5,
! 2362: -1, 7, 8, 9, 10, -1, 12, 13, -1, -1,
! 2363: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! 2364: -1, 27, 28, 29, 30, -1, 32, -1, 34, -1,
! 2365: 36, -1, -1, 39, 40, 41, -1, -1, -1, 45,
! 2366: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! 2367: -1, 57, -1, -1, 60, -1, -1, -1, -1, -1,
! 2368: -1, -1, 68, 69, 70, -1, -1, -1, 74, 75,
! 2369: -1, -1, -1, -1, -1, -1, 82, 83, -1, -1,
! 2370: 3, 4, 5, -1, 7, 8, 9, 10, 94, 12,
1.1.1.3 root 2371: 13, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1.1.1.4 ! root 2372: 106, 107, -1, -1, 27, 28, 29, 30, -1, 32,
! 2373: -1, 34, -1, 36, -1, -1, 39, 40, 41, -1,
! 2374: -1, -1, 45, -1, -1, -1, 49, -1, -1, -1,
! 2375: -1, -1, -1, -1, 57, -1, -1, 60, -1, -1,
! 2376: -1, -1, -1, -1, -1, 68, 69, 70, -1, -1,
! 2377: -1, 74, 75, -1, -1, -1, -1, -1, -1, 82,
! 2378: -1, -1, -1, 3, 4, 5, -1, 7, 8, 9,
! 2379: 10, 94, 12, 13, -1, -1, -1, -1, -1, -1,
! 2380: -1, -1, -1, 106, 107, -1, -1, 27, 28, 29,
1.1.1.2 root 2381: 30, -1, 32, -1, 34, -1, 36, -1, -1, 39,
1.1.1.4 ! root 2382: 40, 41, -1, -1, -1, 45, -1, -1, -1, -1,
! 2383: -1, -1, -1, -1, -1, -1, -1, 57, -1, -1,
1.1.1.2 root 2384: 60, -1, -1, -1, -1, -1, -1, -1, 68, 69,
2385: 70, -1, -1, -1, 74, 75, -1, -1, -1, -1,
1.1.1.4 ! root 2386: -1, -1, 82, -1, -1, -1, 3, 4, 5, -1,
1.1.1.2 root 2387: 7, 8, 9, 10, 94, 12, 13, -1, -1, -1,
1.1.1.4 ! root 2388: -1, -1, -1, -1, 104, -1, 106, 107, -1, -1,
1.1.1.2 root 2389: 27, 28, 29, 30, -1, 32, -1, 34, -1, 36,
1.1.1.4 ! root 2390: -1, -1, 39, 40, 41, -1, -1, -1, 45, -1,
! 2391: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! 2392: 57, -1, -1, 60, -1, -1, -1, -1, -1, -1,
! 2393: -1, 68, 69, 70, -1, -1, -1, 74, 75, -1,
! 2394: -1, -1, -1, -1, -1, 82, -1, -1, -1, 3,
1.1.1.2 root 2395: 4, 5, -1, 7, 8, 9, 10, 94, 12, 13,
1.1.1.4 ! root 2396: -1, -1, -1, -1, -1, -1, -1, 104, -1, 106,
1.1.1.2 root 2397: 107, -1, -1, 27, 28, 29, 30, -1, 32, -1,
1.1.1.4 ! root 2398: 34, -1, 36, -1, -1, 39, 40, 41, -1, -1,
! 2399: -1, 45, -1, -1, -1, -1, -1, -1, -1, -1,
! 2400: -1, -1, -1, 57, -1, -1, 60, -1, -1, -1,
! 2401: -1, -1, -1, -1, 68, 69, 70, -1, -1, -1,
! 2402: 74, 75, -1, -1, -1, -1, -1, -1, 82, -1,
1.1.1.2 root 2403: -1, -1, 3, 4, 5, -1, 7, 8, 9, 10,
1.1.1.3 root 2404: 94, 12, 13, -1, -1, -1, -1, -1, -1, -1,
1.1.1.4 ! root 2405: -1, -1, 106, 107, -1, -1, 27, 28, 29, 30,
1.1.1.3 root 2406: -1, 32, -1, 34, -1, 36, -1, -1, 39, 40,
2407: 41, -1, -1, -1, 45, -1, -1, -1, -1, -1,
1.1.1.4 ! root 2408: -1, -1, -1, -1, -1, -1, 57, -1, -1, 60,
1.1.1.2 root 2409: -1, -1, -1, -1, -1, -1, -1, 68, 69, 70,
1.1.1.3 root 2410: -1, -1, -1, 74, 75, -1, -1, -1, -1, -1,
2411: -1, 82, -1, -1, -1, 3, 4, 5, -1, 7,
1.1.1.2 root 2412: 8, 9, 10, 94, 12, 13, -1, -1, -1, -1,
1.1.1.4 ! root 2413: -1, -1, -1, -1, -1, 106, 107, -1, -1, 27,
1.1.1.2 root 2414: 28, 29, 30, -1, 32, -1, 34, -1, 36, -1,
2415: -1, 39, 40, 41, -1, -1, -1, 45, -1, -1,
1.1.1.4 ! root 2416: -1, -1, -1, -1, -1, -1, -1, -1, -1, 57,
1.1.1.2 root 2417: -1, -1, 60, -1, -1, -1, -1, -1, -1, -1,
2418: 68, 69, 70, -1, -1, -1, 74, 75, -1, -1,
1.1.1.4 ! root 2419: -1, 3, 4, 5, 82, 7, 8, 9, 10, -1,
! 2420: 12, 13, -1, -1, -1, -1, 94, -1, -1, -1,
! 2421: -1, -1, -1, -1, -1, 27, 28, -1, 106, 107,
1.1.1.2 root 2422: 32, -1, 34, -1, 36, -1, -1, 39, 40, 41,
1.1.1.4 ! root 2423: -1, -1, -1, 45, -1, -1, -1, -1, -1, -1,
! 2424: -1, -1, -1, -1, -1, 57, -1, -1, 60, -1,
! 2425: -1, -1, -1, -1, -1, -1, 68, 69, 70, -1,
! 2426: -1, -1, 74, 75, -1, -1, -1, 3, 4, 5,
! 2427: 82, 7, 8, 9, 10, -1, 12, 13, -1, -1,
! 2428: -1, -1, 94, -1, -1, -1, -1, -1, -1, -1,
! 2429: -1, 27, 28, -1, 106, 107, 32, -1, 34, -1,
! 2430: 36, -1, -1, 39, 40, 41, -1, -1, -1, 45,
! 2431: -1, -1, 3, 4, 5, 6, 7, 8, -1, -1,
! 2432: 11, 57, 13, -1, 60, -1, -1, -1, -1, -1,
! 2433: -1, -1, 68, 69, 70, -1, 27, -1, 74, 75,
! 2434: -1, -1, -1, 34, -1, -1, 82, -1, -1, 40,
! 2435: 41, -1, 43, -1, 45, -1, -1, -1, 94, -1,
! 2436: -1, -1, -1, 3, 4, 5, 6, 7, 8, 60,
! 2437: 106, 107, -1, 13, -1, -1, -1, -1, -1, 70,
! 2438: -1, -1, -1, -1, -1, -1, 77, 27, -1, -1,
! 2439: -1, 82, 83, -1, 34, -1, -1, -1, -1, -1,
! 2440: 40, 41, 93, 94, -1, 45, 46, -1, 3, 4,
! 2441: 5, 6, 7, 8, -1, 106, 11, -1, 13, -1,
! 2442: 60, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! 2443: 70, -1, 27, -1, -1, -1, -1, 77, -1, 34,
! 2444: -1, -1, 82, -1, -1, 40, 41, -1, -1, -1,
! 2445: 45, -1, -1, -1, 94, -1, -1, -1, -1, -1,
! 2446: -1, -1, -1, -1, 104, 60, 106, -1, -1, -1,
! 2447: -1, -1, -1, -1, -1, 70, 3, 4, 5, 6,
! 2448: 7, 8, 77, -1, -1, -1, 13, 82, -1, -1,
! 2449: -1, -1, 3, 4, 5, 6, 7, 8, 93, 94,
! 2450: 27, -1, 13, -1, -1, -1, -1, 34, -1, -1,
! 2451: -1, 106, -1, 40, 41, -1, 27, -1, 45, 46,
! 2452: -1, 1, -1, 34, -1, -1, -1, -1, -1, 40,
! 2453: 41, -1, -1, 60, 45, 46, -1, -1, -1, -1,
! 2454: -1, -1, -1, 70, 24, -1, 26, -1, -1, 60,
! 2455: 77, 31, -1, -1, -1, 82, -1, -1, -1, 70,
! 2456: -1, -1, -1, 43, -1, -1, 77, 94, -1, 49,
! 2457: 50, 82, 52, -1, 54, -1, -1, 104, -1, 106,
! 2458: -1, -1, -1, 94, 4, 5, 6, 7, 8, -1,
! 2459: -1, 11, -1, 13, -1, 106, -1, -1, -1, -1,
! 2460: -1, -1, 82, 83, -1, 85, -1, 27, -1, -1,
! 2461: -1, -1, 92, -1, 34, -1, 4, 5, -1, 7,
! 2462: 8, 41, -1, 43, 104, 13, -1, -1, -1, -1,
! 2463: -1, -1, -1, -1, -1, -1, -1, -1, -1, 27,
! 2464: 60, -1, -1, -1, -1, -1, 34, -1, -1, -1,
! 2465: 70, -1, -1, 41, -1, 43, -1, 77, 46, -1,
! 2466: -1, -1, 82, 83, -1, -1, -1, -1, -1, -1,
! 2467: -1, -1, 60, 93, 94, -1, -1, -1, -1, -1,
! 2468: -1, -1, 70, -1, -1, -1, -1, -1, -1, 77,
! 2469: -1, -1, -1, -1, 82, 83, -1, -1, -1, -1,
! 2470: -1, -1, 51, 52, 53, -1, 94, 56, 57, 58,
1.1 root 2471: 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
1.1.1.2 root 2472: 69, 70, 71, 72, 51, 52, 53, -1, -1, 56,
2473: 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
1.1.1.4 ! root 2474: 67, 68, 69, 70, 71, 72, -1, -1, -1, -1,
! 2475: -1, -1, -1, -1, 31, -1, -1, -1, -1, 108,
! 2476: 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
! 2477: 69, 70, 71, 72, 51, 52, 53, 104, 105, 56,
1.1.1.2 root 2478: 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
1.1.1.4 ! root 2479: 67, 68, 69, 70, 71, 72, 50, 51, 52, 53,
! 2480: -1, -1, 56, 57, 58, 59, 60, 61, 62, 63,
! 2481: 64, 65, 66, 67, 68, 69, 70, 71, 72, 51,
! 2482: 52, 53, 54, -1, 56, 57, 58, 59, 60, 61,
! 2483: 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
! 2484: 72, 51, 52, 53, -1, -1, 56, 57, 58, 59,
! 2485: 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
! 2486: 70, 71, 72, 53, -1, -1, 56, 57, 58, 59,
! 2487: 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
! 2488: 70, 71, 72, 57, 58, 59, 60, 61, 62, 63,
! 2489: 64, 65, 66, 67, 68, 69, 70, 71, 72, 58,
! 2490: 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
! 2491: 69, 70, 71, 72
1.1 root 2492: };
2493: /* -*-C-*- Note some compilers choke on comments on `#line' lines. */
2494: #line 3 "bison.simple"
2495:
2496: /* Skeleton output parser for bison,
2497: Copyright (C) 1984, 1989, 1990 Bob Corbett and Richard Stallman
2498:
2499: This program is free software; you can redistribute it and/or modify
2500: it under the terms of the GNU General Public License as published by
2501: the Free Software Foundation; either version 1, or (at your option)
2502: any later version.
2503:
2504: This program is distributed in the hope that it will be useful,
2505: but WITHOUT ANY WARRANTY; without even the implied warranty of
2506: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2507: GNU General Public License for more details.
2508:
2509: You should have received a copy of the GNU General Public License
2510: along with this program; if not, write to the Free Software
2511: Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
2512:
2513:
2514: #ifndef alloca
2515: #ifdef __GNUC__
2516: #define alloca __builtin_alloca
2517: #else /* not GNU C. */
2518: #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__)
2519: #include <alloca.h>
2520: #else /* not sparc */
2521: #if defined (MSDOS) && !defined (__TURBOC__)
2522: #include <malloc.h>
2523: #else /* not MSDOS, or __TURBOC__ */
2524: #if defined(_AIX)
2525: #include <malloc.h>
1.1.1.3 root 2526: #pragma alloca
1.1 root 2527: #endif /* not _AIX */
2528: #endif /* not MSDOS, or __TURBOC__ */
2529: #endif /* not sparc. */
2530: #endif /* not GNU C. */
2531: #endif /* alloca not defined. */
2532:
2533: /* This is the parser code that is written into each bison parser
2534: when the %semantic_parser declaration is not specified in the grammar.
2535: It was written by Richard Stallman by simplifying the hairy parser
2536: used when %semantic_parser is specified. */
2537:
2538: /* Note: there must be only one dollar sign in this file.
2539: It is replaced by the list of actions, each action
2540: as one case of the switch. */
2541:
2542: #define yyerrok (yyerrstatus = 0)
2543: #define yyclearin (yychar = YYEMPTY)
2544: #define YYEMPTY -2
2545: #define YYEOF 0
2546: #define YYACCEPT return(0)
2547: #define YYABORT return(1)
2548: #define YYERROR goto yyerrlab1
2549: /* Like YYERROR except do call yyerror.
2550: This remains here temporarily to ease the
2551: transition to the new meaning of YYERROR, for GCC.
2552: Once GCC version 2 has supplanted version 1, this can go. */
2553: #define YYFAIL goto yyerrlab
2554: #define YYRECOVERING() (!!yyerrstatus)
2555: #define YYBACKUP(token, value) \
2556: do \
2557: if (yychar == YYEMPTY && yylen == 1) \
2558: { yychar = (token), yylval = (value); \
2559: yychar1 = YYTRANSLATE (yychar); \
2560: YYPOPSTACK; \
2561: goto yybackup; \
2562: } \
2563: else \
2564: { yyerror ("syntax error: cannot back up"); YYERROR; } \
2565: while (0)
2566:
2567: #define YYTERROR 1
2568: #define YYERRCODE 256
2569:
2570: #ifndef YYPURE
2571: #define YYLEX yylex()
2572: #endif
2573:
2574: #ifdef YYPURE
2575: #ifdef YYLSP_NEEDED
2576: #define YYLEX yylex(&yylval, &yylloc)
2577: #else
2578: #define YYLEX yylex(&yylval)
2579: #endif
2580: #endif
2581:
2582: /* If nonreentrant, generate the variables here */
2583:
2584: #ifndef YYPURE
2585:
2586: int yychar; /* the lookahead symbol */
2587: YYSTYPE yylval; /* the semantic value of the */
2588: /* lookahead symbol */
2589:
2590: #ifdef YYLSP_NEEDED
2591: YYLTYPE yylloc; /* location data for the lookahead */
2592: /* symbol */
2593: #endif
2594:
2595: int yynerrs; /* number of parse errors so far */
2596: #endif /* not YYPURE */
2597:
2598: #if YYDEBUG != 0
2599: int yydebug; /* nonzero means print parse trace */
2600: /* Since this is uninitialized, it does not stop multiple parsers
2601: from coexisting. */
2602: #endif
2603:
2604: /* YYINITDEPTH indicates the initial size of the parser's stacks */
2605:
2606: #ifndef YYINITDEPTH
2607: #define YYINITDEPTH 200
2608: #endif
2609:
2610: /* YYMAXDEPTH is the maximum size the stacks can grow to
2611: (effective only if the built-in stack extension method is used). */
2612:
2613: #if YYMAXDEPTH == 0
2614: #undef YYMAXDEPTH
2615: #endif
2616:
2617: #ifndef YYMAXDEPTH
2618: #define YYMAXDEPTH 10000
2619: #endif
2620:
2621: #if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
2622: #define __yy_bcopy(FROM,TO,COUNT) __builtin_memcpy(TO,FROM,COUNT)
2623: #else /* not GNU C or C++ */
2624: #ifndef __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 (from, to, count)
2630: char *from;
2631: char *to;
2632: int count;
2633: {
2634: register char *f = from;
2635: register char *t = to;
2636: register int i = count;
2637:
2638: while (i-- > 0)
2639: *t++ = *f++;
2640: }
2641:
2642: #else /* __cplusplus */
2643:
2644: /* This is the most reliable way to avoid incompatibilities
2645: in available built-in functions on various systems. */
2646: static void
2647: __yy_bcopy (char *from, char *to, int count)
2648: {
2649: register char *f = from;
2650: register char *t = to;
2651: register int i = count;
2652:
2653: while (i-- > 0)
2654: *t++ = *f++;
2655: }
2656:
2657: #endif
2658: #endif
2659:
2660: #line 169 "bison.simple"
2661: int
2662: yyparse()
2663: {
2664: register int yystate;
2665: register int yyn;
2666: register short *yyssp;
2667: register YYSTYPE *yyvsp;
2668: int yyerrstatus; /* number of tokens to shift before error messages enabled */
2669: int yychar1; /* lookahead token as an internal (translated) token number */
2670:
2671: short yyssa[YYINITDEPTH]; /* the state stack */
2672: YYSTYPE yyvsa[YYINITDEPTH]; /* the semantic value stack */
2673:
2674: short *yyss = yyssa; /* refer to the stacks thru separate pointers */
2675: YYSTYPE *yyvs = yyvsa; /* to allow yyoverflow to reallocate them elsewhere */
2676:
2677: #ifdef YYLSP_NEEDED
2678: YYLTYPE yylsa[YYINITDEPTH]; /* the location stack */
2679: YYLTYPE *yyls = yylsa;
2680: YYLTYPE *yylsp;
2681:
1.1.1.3 root 2682: #define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
1.1 root 2683: #else
1.1.1.3 root 2684: #define YYPOPSTACK (yyvsp--, yyssp--)
1.1 root 2685: #endif
2686:
2687: int yystacksize = YYINITDEPTH;
2688:
2689: #ifdef YYPURE
2690: int yychar;
2691: YYSTYPE yylval;
2692: int yynerrs;
2693: #ifdef YYLSP_NEEDED
2694: YYLTYPE yylloc;
2695: #endif
2696: #endif
2697:
2698: YYSTYPE yyval; /* the variable used to return */
2699: /* semantic values from the action */
2700: /* routines */
2701:
2702: int yylen;
2703:
2704: #if YYDEBUG != 0
2705: if (yydebug)
2706: fprintf(stderr, "Starting parse\n");
2707: #endif
2708:
2709: yystate = 0;
2710: yyerrstatus = 0;
2711: yynerrs = 0;
2712: yychar = YYEMPTY; /* Cause a token to be read. */
2713:
2714: /* Initialize stack pointers.
2715: Waste one element of value and location stack
2716: so that they stay on the same level as the state stack. */
2717:
2718: yyssp = yyss - 1;
2719: yyvsp = yyvs;
2720: #ifdef YYLSP_NEEDED
2721: yylsp = yyls;
2722: #endif
2723:
2724: /* Push a new state, which is found in yystate . */
2725: /* In all cases, when you get here, the value and location stacks
2726: have just been pushed. so pushing a state here evens the stacks. */
2727: yynewstate:
2728:
2729: *++yyssp = yystate;
2730:
2731: if (yyssp >= yyss + yystacksize - 1)
2732: {
2733: /* Give user a chance to reallocate the stack */
2734: /* Use copies of these so that the &'s don't force the real ones into memory. */
2735: YYSTYPE *yyvs1 = yyvs;
2736: short *yyss1 = yyss;
2737: #ifdef YYLSP_NEEDED
2738: YYLTYPE *yyls1 = yyls;
2739: #endif
2740:
2741: /* Get the current used size of the three stacks, in elements. */
2742: int size = yyssp - yyss + 1;
2743:
2744: #ifdef yyoverflow
2745: /* Each stack pointer address is followed by the size of
2746: the data in use in that stack, in bytes. */
2747: yyoverflow("parser stack overflow",
2748: &yyss1, size * sizeof (*yyssp),
2749: &yyvs1, size * sizeof (*yyvsp),
2750: #ifdef YYLSP_NEEDED
2751: &yyls1, size * sizeof (*yylsp),
2752: #endif
2753: &yystacksize);
2754:
2755: yyss = yyss1; yyvs = yyvs1;
2756: #ifdef YYLSP_NEEDED
2757: yyls = yyls1;
2758: #endif
2759: #else /* no yyoverflow */
2760: /* Extend the stack our own way. */
2761: if (yystacksize >= YYMAXDEPTH)
2762: {
2763: yyerror("parser stack overflow");
2764: return 2;
2765: }
2766: yystacksize *= 2;
2767: if (yystacksize > YYMAXDEPTH)
2768: yystacksize = YYMAXDEPTH;
2769: yyss = (short *) alloca (yystacksize * sizeof (*yyssp));
2770: __yy_bcopy ((char *)yyss1, (char *)yyss, size * sizeof (*yyssp));
2771: yyvs = (YYSTYPE *) alloca (yystacksize * sizeof (*yyvsp));
2772: __yy_bcopy ((char *)yyvs1, (char *)yyvs, size * sizeof (*yyvsp));
2773: #ifdef YYLSP_NEEDED
2774: yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp));
2775: __yy_bcopy ((char *)yyls1, (char *)yyls, size * sizeof (*yylsp));
2776: #endif
2777: #endif /* no yyoverflow */
2778:
2779: yyssp = yyss + size - 1;
2780: yyvsp = yyvs + size - 1;
2781: #ifdef YYLSP_NEEDED
2782: yylsp = yyls + size - 1;
2783: #endif
2784:
2785: #if YYDEBUG != 0
2786: if (yydebug)
2787: fprintf(stderr, "Stack size increased to %d\n", yystacksize);
2788: #endif
2789:
2790: if (yyssp >= yyss + yystacksize - 1)
2791: YYABORT;
2792: }
2793:
2794: #if YYDEBUG != 0
2795: if (yydebug)
2796: fprintf(stderr, "Entering state %d\n", yystate);
2797: #endif
2798:
2799: yybackup:
2800:
2801: /* Do appropriate processing given the current state. */
2802: /* Read a lookahead token if we need one and don't already have one. */
2803: /* yyresume: */
2804:
2805: /* First try to decide what to do without reference to lookahead token. */
2806:
2807: yyn = yypact[yystate];
2808: if (yyn == YYFLAG)
2809: goto yydefault;
2810:
2811: /* Not known => get a lookahead token if don't already have one. */
2812:
2813: /* yychar is either YYEMPTY or YYEOF
2814: or a valid token in external form. */
2815:
2816: if (yychar == YYEMPTY)
2817: {
2818: #if YYDEBUG != 0
2819: if (yydebug)
2820: fprintf(stderr, "Reading a token: ");
2821: #endif
2822: yychar = YYLEX;
2823: }
2824:
2825: /* Convert token to internal form (in yychar1) for indexing tables with */
2826:
2827: if (yychar <= 0) /* This means end of input. */
2828: {
2829: yychar1 = 0;
2830: yychar = YYEOF; /* Don't call YYLEX any more */
2831:
2832: #if YYDEBUG != 0
2833: if (yydebug)
2834: fprintf(stderr, "Now at end of input.\n");
2835: #endif
2836: }
2837: else
2838: {
2839: yychar1 = YYTRANSLATE(yychar);
2840:
2841: #if YYDEBUG != 0
2842: if (yydebug)
2843: {
2844: fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
2845: /* Give the individual parser a way to print the precise meaning
2846: of a token, for further debugging info. */
2847: #ifdef YYPRINT
2848: YYPRINT (stderr, yychar, yylval);
2849: #endif
2850: fprintf (stderr, ")\n");
2851: }
2852: #endif
2853: }
2854:
2855: yyn += yychar1;
2856: if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
2857: goto yydefault;
2858:
2859: yyn = yytable[yyn];
2860:
2861: /* yyn is what to do for this token type in this state.
2862: Negative => reduce, -yyn is rule number.
2863: Positive => shift, yyn is new state.
2864: New state is final state => don't bother to shift,
2865: just return success.
2866: 0, or most negative number => error. */
2867:
2868: if (yyn < 0)
2869: {
2870: if (yyn == YYFLAG)
2871: goto yyerrlab;
2872: yyn = -yyn;
2873: goto yyreduce;
2874: }
2875: else if (yyn == 0)
2876: goto yyerrlab;
2877:
2878: if (yyn == YYFINAL)
2879: YYACCEPT;
2880:
2881: /* Shift the lookahead token. */
2882:
2883: #if YYDEBUG != 0
2884: if (yydebug)
2885: fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
2886: #endif
2887:
2888: /* Discard the token being shifted unless it is eof. */
2889: if (yychar != YYEOF)
2890: yychar = YYEMPTY;
2891:
2892: *++yyvsp = yylval;
2893: #ifdef YYLSP_NEEDED
2894: *++yylsp = yylloc;
2895: #endif
2896:
2897: /* count tokens shifted since error; after three, turn off error status. */
2898: if (yyerrstatus) yyerrstatus--;
2899:
2900: yystate = yyn;
2901: goto yynewstate;
2902:
2903: /* Do the default action for the current state. */
2904: yydefault:
2905:
2906: yyn = yydefact[yystate];
2907: if (yyn == 0)
2908: goto yyerrlab;
2909:
2910: /* Do a reduction. yyn is the number of a rule to reduce with. */
2911: yyreduce:
2912: yylen = yyr2[yyn];
2913: yyval = yyvsp[1-yylen]; /* implement default value of the action */
2914:
2915: #if YYDEBUG != 0
2916: if (yydebug)
2917: {
2918: int i;
2919:
2920: fprintf (stderr, "Reducing via rule %d (line %d), ",
2921: yyn, yyrline[yyn]);
2922:
2923: /* Print the symboles being reduced, and their result. */
2924: for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
2925: fprintf (stderr, "%s ", yytname[yyrhs[i]]);
2926: fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
2927: }
2928: #endif
2929:
2930:
2931: switch (yyn) {
2932:
2933: case 2:
1.1.1.4 ! root 2934: #line 280 "cp-parse.y"
1.1 root 2935: { finish_file (); ;
2936: break;}
2937: case 3:
1.1.1.4 ! root 2938: #line 288 "cp-parse.y"
1.1 root 2939: { yyval.ttype = NULL_TREE; ;
2940: break;}
2941: case 4:
1.1.1.4 ! root 2942: #line 289 "cp-parse.y"
1.1 root 2943: {yyval.ttype = NULL_TREE; ;
2944: break;}
2945: case 5:
1.1.1.4 ! root 2946: #line 291 "cp-parse.y"
1.1 root 2947: {yyval.ttype = NULL_TREE; ;
2948: break;}
2949: case 6:
1.1.1.4 ! root 2950: #line 295 "cp-parse.y"
1.1.1.2 root 2951: { have_extern_spec = 1;
1.1.1.4 ! root 2952: used_extern_spec = 0;
1.1.1.2 root 2953: yyval.ttype = NULL_TREE; ;
1.1 root 2954: break;}
2955: case 7:
1.1.1.4 ! root 2956: #line 300 "cp-parse.y"
1.1 root 2957: { have_extern_spec = 0; ;
2958: break;}
2959: case 8:
1.1.1.4 ! root 2960: #line 305 "cp-parse.y"
1.1 root 2961: { if (pending_inlines) do_pending_inlines (); ;
2962: break;}
2963: case 9:
1.1.1.4 ! root 2964: #line 307 "cp-parse.y"
1.1 root 2965: { if (pending_inlines) do_pending_inlines (); ;
2966: break;}
2967: case 10:
1.1.1.4 ! root 2968: #line 309 "cp-parse.y"
1.1 root 2969: { if (pending_inlines) do_pending_inlines (); ;
2970: break;}
2971: case 12:
1.1.1.4 ! root 2972: #line 312 "cp-parse.y"
1.1 root 2973: { if (pedantic)
1.1.1.4 ! root 2974: pedwarn ("ANSI C++ forbids use of `asm' keyword");
1.1 root 2975: if (TREE_CHAIN (yyvsp[-2].ttype)) yyvsp[-2].ttype = combine_strings (yyvsp[-2].ttype);
2976: assemble_asm (yyvsp[-2].ttype); ;
2977: break;}
2978: case 13:
1.1.1.4 ! root 2979: #line 317 "cp-parse.y"
1.1 root 2980: { pop_lang_context (); ;
2981: break;}
2982: case 14:
1.1.1.4 ! root 2983: #line 319 "cp-parse.y"
1.1 root 2984: { pop_lang_context (); ;
2985: break;}
2986: case 15:
1.1.1.4 ! root 2987: #line 321 "cp-parse.y"
1.1 root 2988: { if (pending_inlines) do_pending_inlines ();
2989: pop_lang_context (); ;
2990: break;}
2991: case 16:
1.1.1.4 ! root 2992: #line 324 "cp-parse.y"
1.1 root 2993: { if (pending_inlines) do_pending_inlines ();
2994: pop_lang_context (); ;
2995: break;}
2996: case 17:
1.1.1.4 ! root 2997: #line 330 "cp-parse.y"
1.1 root 2998: { push_lang_context (yyvsp[0].ttype); ;
2999: break;}
3000: case 18:
1.1.1.4 ! root 3001: #line 335 "cp-parse.y"
1.1 root 3002: { begin_template_parm_list (); ;
3003: break;}
3004: case 19:
1.1.1.4 ! root 3005: #line 337 "cp-parse.y"
1.1 root 3006: { yyval.ttype = end_template_parm_list (yyvsp[-1].ttype); ;
3007: break;}
3008: case 20:
1.1.1.4 ! root 3009: #line 342 "cp-parse.y"
1.1 root 3010: { yyval.ttype = process_template_parm (0, yyvsp[0].ttype); ;
3011: break;}
3012: case 21:
1.1.1.4 ! root 3013: #line 344 "cp-parse.y"
1.1 root 3014: { yyval.ttype = process_template_parm (yyvsp[-2].ttype, yyvsp[0].ttype); ;
3015: break;}
3016: case 22:
1.1.1.4 ! root 3017: #line 355 "cp-parse.y"
1.1 root 3018: {
1.1.1.2 root 3019: if (yyvsp[-1].ttype != class_type_node)
1.1 root 3020: error ("template type parameter must use keyword `class'");
3021: yyval.ttype = build_tree_list (yyvsp[0].ttype, NULL_TREE);
3022: ;
3023: break;}
3024: case 23:
1.1.1.4 ! root 3025: #line 361 "cp-parse.y"
1.1 root 3026: {
1.1.1.2 root 3027: if (yyvsp[-3].ttype != class_type_node)
1.1 root 3028: error ("template type parameter must use keyword `class'");
3029: warning ("restricted template type parameters not yet implemented");
3030: yyval.ttype = build_tree_list (yyvsp[-2].ttype, yyvsp[0].ttype);
3031: ;
3032: break;}
3033: case 24:
1.1.1.4 ! root 3034: #line 368 "cp-parse.y"
1.1 root 3035: {
1.1.1.2 root 3036: if (yyvsp[-2].ttype != class_type_node)
1.1 root 3037: error ("template type parameter must use keyword `class'");
3038: warning ("restricted template type parameters not yet implemented");
3039: yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype);
3040: ;
3041: break;}
3042: case 27:
1.1.1.4 ! root 3043: #line 381 "cp-parse.y"
1.1 root 3044: { declare_overloaded (yyvsp[0].ttype); ;
3045: break;}
3046: case 28:
1.1.1.4 ! root 3047: #line 383 "cp-parse.y"
1.1 root 3048: { declare_overloaded (yyvsp[0].ttype); ;
3049: break;}
3050: case 29:
1.1.1.4 ! root 3051: #line 390 "cp-parse.y"
1.1 root 3052: { yychar = '{'; goto template1; ;
3053: break;}
3054: case 31:
1.1.1.4 ! root 3055: #line 393 "cp-parse.y"
1.1 root 3056: { yychar = '{'; goto template1; ;
3057: break;}
3058: case 33:
1.1.1.4 ! root 3059: #line 396 "cp-parse.y"
1.1 root 3060: { yychar = ':'; goto template1; ;
3061: break;}
3062: case 35:
1.1.1.4 ! root 3063: #line 399 "cp-parse.y"
1.1 root 3064: {
3065: yychar = ':';
3066: template1:
3067: if (current_aggr == exception_type_node)
3068: error ("template type must define an aggregate or union");
3069: /* Maybe pedantic warning for union?
3070: How about an enum? :-) */
3071: end_template_decl (yyvsp[-2].ttype, yyvsp[-1].ttype, current_aggr);
3072: reinit_parse_for_template (yychar, yyvsp[-2].ttype, yyvsp[-1].ttype);
3073: yychar = YYEMPTY;
3074: ;
3075: break;}
3076: case 37:
1.1.1.4 ! root 3077: #line 412 "cp-parse.y"
1.1 root 3078: {
3079: end_template_decl (yyvsp[-2].ttype, yyvsp[-1].ttype, current_aggr);
3080: /* declare $2 as template name with $1 parm list */
3081: ;
3082: break;}
3083: case 38:
1.1.1.4 ! root 3084: #line 417 "cp-parse.y"
1.1 root 3085: {
3086: end_template_decl (yyvsp[-2].ttype, yyvsp[-1].ttype, current_aggr);
3087: /* declare $2 as template name with $1 parm list */
3088: ;
3089: break;}
3090: case 39:
1.1.1.4 ! root 3091: #line 424 "cp-parse.y"
1.1 root 3092: {
3093: tree d;
3094: int momentary;
3095: momentary = suspend_momentary ();
3096: d = start_decl (yyvsp[-4].ttype, /*current_declspecs*/0, 0, yyvsp[-3].ttype);
1.1.1.4 ! root 3097: cplus_decl_attributes (d, yyvsp[-1].ttype);
1.1.1.3 root 3098: finish_decl (d, NULL_TREE, yyvsp[-2].ttype, 0);
1.1 root 3099: end_template_decl (yyvsp[-5].ttype, d, 0);
3100: if (yyvsp[0].itype != ';')
3101: reinit_parse_for_template (yyvsp[0].itype, yyvsp[-5].ttype, d);
3102: resume_momentary (momentary);
3103: ;
3104: break;}
3105: case 40:
1.1.1.4 ! root 3106: #line 439 "cp-parse.y"
1.1 root 3107: {
3108: tree d;
3109: int momentary;
3110:
3111: current_declspecs = yyvsp[-5].ttype;
3112: momentary = suspend_momentary ();
3113: d = start_decl (yyvsp[-4].ttype, current_declspecs, 0, yyvsp[-3].ttype);
1.1.1.4 ! root 3114: cplus_decl_attributes (d, yyvsp[-1].ttype);
1.1.1.3 root 3115: finish_decl (d, NULL_TREE, yyvsp[-2].ttype, 0);
1.1 root 3116: end_exception_decls ();
3117: end_template_decl (yyvsp[-6].ttype, d, 0);
3118: if (yyvsp[0].itype != ';')
3119: {
3120: reinit_parse_for_template (yyvsp[0].itype, yyvsp[-6].ttype, d);
3121: yychar = YYEMPTY;
3122: }
3123: note_list_got_semicolon (yyvsp[-5].ttype);
3124: resume_momentary (momentary);
3125: ;
3126: break;}
3127: case 41:
1.1.1.4 ! root 3128: #line 459 "cp-parse.y"
1.1 root 3129: {
3130: tree d = start_decl (yyvsp[-1].ttype, yyvsp[-2].ttype, 0, NULL_TREE);
1.1.1.3 root 3131: finish_decl (d, NULL_TREE, NULL_TREE, 0);
1.1 root 3132: end_template_decl (yyvsp[-3].ttype, d, 0);
3133: if (yyvsp[0].itype != ';')
3134: reinit_parse_for_template (yyvsp[0].itype, yyvsp[-3].ttype, d);
3135: ;
3136: break;}
3137: case 42:
1.1.1.4 ! root 3138: #line 467 "cp-parse.y"
1.1.1.2 root 3139: { end_template_decl (yyvsp[-2].ttype, 0, 0); ;
1.1 root 3140: break;}
3141: case 43:
1.1.1.4 ! root 3142: #line 468 "cp-parse.y"
1.1.1.2 root 3143: { end_template_decl (yyvsp[-2].ttype, 0, 0); ;
1.1 root 3144: break;}
3145: case 44:
1.1.1.4 ! root 3146: #line 471 "cp-parse.y"
1.1.1.2 root 3147: { yyval.itype = '{'; ;
1.1 root 3148: break;}
3149: case 45:
1.1.1.4 ! root 3150: #line 472 "cp-parse.y"
1.1.1.2 root 3151: { yyval.itype = ':'; ;
1.1 root 3152: break;}
3153: case 46:
1.1.1.4 ! root 3154: #line 473 "cp-parse.y"
1.1.1.2 root 3155: { yyval.itype = ';'; ;
1.1 root 3156: break;}
3157: case 47:
1.1.1.4 ! root 3158: #line 474 "cp-parse.y"
1.1.1.2 root 3159: { yyval.itype = '='; ;
3160: break;}
3161: case 48:
1.1.1.4 ! root 3162: #line 475 "cp-parse.y"
1.1.1.2 root 3163: { yyval.itype = RETURN; ;
3164: break;}
3165: case 49:
1.1.1.4 ! root 3166: #line 480 "cp-parse.y"
1.1 root 3167: { if (pedantic)
1.1.1.4 ! root 3168: pedwarn ("ANSI C++ forbids data definition with no type or storage class");
1.1 root 3169: else if (! flag_traditional && ! have_extern_spec)
3170: warning ("data definition has no type or storage class"); ;
3171: break;}
1.1.1.2 root 3172: case 50:
1.1.1.4 ! root 3173: #line 485 "cp-parse.y"
1.1 root 3174: {;
3175: break;}
1.1.1.2 root 3176: case 51:
1.1.1.4 ! root 3177: #line 488 "cp-parse.y"
1.1 root 3178: { tree d;
3179: d = start_decl (yyvsp[-1].ttype, yyval.ttype, 0, NULL_TREE);
1.1.1.3 root 3180: finish_decl (d, NULL_TREE, NULL_TREE, 0);
1.1 root 3181: ;
3182: break;}
1.1.1.2 root 3183: case 52:
1.1.1.4 ! root 3184: #line 493 "cp-parse.y"
1.1 root 3185: {
3186: end_exception_decls ();
3187: note_list_got_semicolon (yyval.ttype);
3188: ;
3189: break;}
1.1.1.2 root 3190: case 53:
1.1.1.4 ! root 3191: #line 499 "cp-parse.y"
1.1 root 3192: { tree d;
3193: d = start_decl (yyvsp[-1].ttype, yyval.ttype, 0, NULL_TREE);
1.1.1.3 root 3194: finish_decl (d, NULL_TREE, NULL_TREE, 0);
1.1 root 3195: end_exception_decls ();
3196: note_list_got_semicolon (yyval.ttype);
3197: ;
3198: break;}
1.1.1.2 root 3199: case 54:
1.1.1.4 ! root 3200: #line 506 "cp-parse.y"
! 3201: { pedwarn ("empty declaration"); ;
1.1 root 3202: break;}
1.1.1.2 root 3203: case 55:
1.1.1.4 ! root 3204: #line 508 "cp-parse.y"
1.1 root 3205: {
3206: tree t = yyval.ttype;
3207: shadow_tag (t);
3208: if (TREE_CODE (t) == TREE_LIST
3209: && TREE_PURPOSE (t) == NULL_TREE)
3210: {
3211: t = TREE_VALUE (t);
3212: if (TREE_CODE (t) == RECORD_TYPE)
3213: {
3214: if (CLASSTYPE_USE_TEMPLATE (t) == 0)
3215: CLASSTYPE_USE_TEMPLATE (t) = 2;
3216: else if (CLASSTYPE_USE_TEMPLATE (t) == 1)
3217: error ("override declaration for already-expanded template");
3218: }
3219: }
3220: note_list_got_semicolon (yyval.ttype);
3221: ;
3222: break;}
1.1.1.2 root 3223: case 59:
1.1.1.4 ! root 3224: #line 532 "cp-parse.y"
1.1 root 3225: {
3226: finish_function (lineno, 1);
3227: /* finish_function performs these three statements:
3228:
3229: expand_end_bindings (getdecls (), 1, 0);
3230: poplevel (1, 1, 0);
3231:
3232: expand_end_bindings (0, 0, 0);
3233: poplevel (0, 0, 1);
3234: */
3235: if (yyval.ttype) process_next_inline (yyval.ttype);
3236: ;
3237: break;}
1.1.1.2 root 3238: case 60:
1.1.1.4 ! root 3239: #line 545 "cp-parse.y"
1.1 root 3240: {
3241: finish_function (lineno, 1);
3242: /* finish_function performs these three statements:
3243:
3244: expand_end_bindings (getdecls (), 1, 0);
3245: poplevel (1, 1, 0);
3246:
3247: expand_end_bindings (0, 0, 0);
3248: poplevel (0, 0, 1);
3249: */
3250: if (yyval.ttype) process_next_inline (yyval.ttype);
3251: ;
3252: break;}
1.1.1.2 root 3253: case 61:
1.1.1.4 ! root 3254: #line 558 "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.2 root 3258: case 62:
1.1.1.4 ! root 3259: #line 561 "cp-parse.y"
1.1 root 3260: { finish_function (lineno, 0);
3261: if (yyval.ttype) process_next_inline (yyval.ttype); ;
3262: break;}
1.1.1.2 root 3263: case 63:
1.1.1.4 ! root 3264: #line 564 "cp-parse.y"
1.1 root 3265: { finish_function (lineno, 0);
3266: if (yyval.ttype) process_next_inline (yyval.ttype); ;
3267: break;}
1.1.1.2 root 3268: case 64:
1.1.1.4 ! root 3269: #line 567 "cp-parse.y"
1.1 root 3270: {;
3271: break;}
1.1.1.2 root 3272: case 65:
1.1.1.4 ! root 3273: #line 569 "cp-parse.y"
1.1 root 3274: {;
3275: break;}
1.1.1.2 root 3276: case 66:
1.1.1.4 ! root 3277: #line 571 "cp-parse.y"
1.1 root 3278: {;
3279: break;}
1.1.1.2 root 3280: case 67:
1.1.1.4 ! root 3281: #line 576 "cp-parse.y"
1.1 root 3282: { if (! start_function (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype, 0))
3283: YYERROR1;
3284: reinit_parse_for_function ();
3285: yyval.ttype = NULL_TREE; ;
3286: break;}
1.1.1.2 root 3287: case 68:
1.1.1.4 ! root 3288: #line 581 "cp-parse.y"
1.1 root 3289: { if (! start_function (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype, 0))
3290: YYERROR1;
3291: reinit_parse_for_function ();
3292: yyval.ttype = NULL_TREE; ;
3293: break;}
1.1.1.2 root 3294: case 69:
1.1.1.4 ! root 3295: #line 586 "cp-parse.y"
1.1 root 3296: { if (! start_function (NULL_TREE, yyval.ttype, yyvsp[0].ttype, 0))
3297: YYERROR1;
3298: reinit_parse_for_function ();
3299: yyval.ttype = NULL_TREE; ;
3300: break;}
1.1.1.2 root 3301: case 70:
1.1.1.4 ! root 3302: #line 591 "cp-parse.y"
1.1 root 3303: { if (! start_function (NULL_TREE, build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype), yyvsp[0].ttype, 0))
3304: YYERROR1;
3305: reinit_parse_for_function ();
3306: yyval.ttype = NULL_TREE; ;
3307: break;}
1.1.1.2 root 3308: case 71:
1.1.1.4 ! root 3309: #line 596 "cp-parse.y"
1.1 root 3310: { if (! start_function (NULL_TREE, build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype), yyvsp[0].ttype, 0))
3311: YYERROR1;
3312: reinit_parse_for_function ();
3313: yyval.ttype = NULL_TREE; ;
3314: break;}
1.1.1.2 root 3315: case 72:
1.1.1.4 ! root 3316: #line 601 "cp-parse.y"
1.1 root 3317: { if (! start_function (NULL_TREE, build_parse_node (CALL_EXPR, yyval.ttype, empty_parms (), yyvsp[-1].ttype), yyvsp[0].ttype, 0))
3318: YYERROR1;
3319: reinit_parse_for_function ();
3320: yyval.ttype = NULL_TREE; ;
3321: break;}
1.1.1.2 root 3322: case 73:
1.1.1.4 ! root 3323: #line 606 "cp-parse.y"
1.1 root 3324: { if (! start_function (NULL_TREE, build_parse_node (CALL_EXPR, yyval.ttype, empty_parms (), yyvsp[-1].ttype), yyvsp[0].ttype, 0))
3325: YYERROR1;
3326: reinit_parse_for_function ();
3327: yyval.ttype = NULL_TREE; ;
3328: break;}
1.1.1.2 root 3329: case 74:
1.1.1.4 ! root 3330: #line 611 "cp-parse.y"
1.1 root 3331: { start_function (NULL_TREE, TREE_VALUE (yyval.ttype), NULL_TREE, 1);
3332: reinit_parse_for_function (); ;
3333: break;}
1.1.1.2 root 3334: case 75:
1.1.1.4 ! root 3335: #line 618 "cp-parse.y"
1.1 root 3336: {
3337: tree decl = build_parse_node (CALL_EXPR, TREE_VALUE (yyval.ttype), yyvsp[-3].ttype, yyvsp[-1].ttype);
3338: yyval.ttype = start_method (TREE_CHAIN (yyval.ttype), decl, yyvsp[0].ttype);
3339: if (! yyval.ttype)
3340: YYERROR1;
3341: if (yychar == YYEMPTY)
3342: yychar = YYLEX;
3343: reinit_parse_for_method (yychar, yyval.ttype); ;
3344: break;}
1.1.1.2 root 3345: case 76:
1.1.1.4 ! root 3346: #line 627 "cp-parse.y"
1.1 root 3347: {
3348: tree decl = build_parse_node (CALL_EXPR, TREE_VALUE (yyval.ttype), empty_parms (), yyvsp[-1].ttype);
3349: yyval.ttype = start_method (TREE_CHAIN (yyval.ttype), decl, yyvsp[0].ttype);
3350: if (! yyval.ttype)
3351: YYERROR1;
3352: if (yychar == YYEMPTY)
3353: yychar = YYLEX;
3354: reinit_parse_for_method (yychar, yyval.ttype); ;
3355: break;}
1.1.1.2 root 3356: case 77:
1.1.1.4 ! root 3357: #line 636 "cp-parse.y"
1.1 root 3358: { yyval.ttype = start_method (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
3359: if (! yyval.ttype)
3360: YYERROR1;
3361: if (yychar == YYEMPTY)
3362: yychar = YYLEX;
3363: reinit_parse_for_method (yychar, yyval.ttype); ;
3364: break;}
1.1.1.2 root 3365: case 78:
1.1.1.4 ! root 3366: #line 643 "cp-parse.y"
1.1 root 3367: {
3368: tree decl = build_parse_node (CALL_EXPR, TREE_VALUE (yyval.ttype), yyvsp[-3].ttype, yyvsp[-1].ttype);
3369: yyval.ttype = start_method (TREE_CHAIN (yyval.ttype), decl, yyvsp[0].ttype);
3370: if (! yyval.ttype)
3371: YYERROR1;
3372: if (yychar == YYEMPTY)
3373: yychar = YYLEX;
3374: reinit_parse_for_method (yychar, yyval.ttype); ;
3375: break;}
1.1.1.2 root 3376: case 79:
1.1.1.4 ! root 3377: #line 652 "cp-parse.y"
1.1 root 3378: {
3379: tree decl = build_parse_node (CALL_EXPR, TREE_VALUE (yyval.ttype), empty_parms (), yyvsp[-1].ttype);
3380: yyval.ttype = start_method (TREE_CHAIN (yyval.ttype), decl, yyvsp[0].ttype);
3381: if (! yyval.ttype)
3382: YYERROR1;
3383: if (yychar == YYEMPTY)
3384: yychar = YYLEX;
3385: reinit_parse_for_method (yychar, yyval.ttype); ;
3386: break;}
1.1.1.2 root 3387: case 80:
1.1.1.4 ! root 3388: #line 661 "cp-parse.y"
1.1 root 3389: { yyval.ttype = start_method (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
3390: if (! yyval.ttype)
3391: YYERROR1;
3392: if (yychar == YYEMPTY)
3393: yychar = YYLEX;
3394: reinit_parse_for_method (yychar, yyval.ttype); ;
3395: break;}
1.1.1.2 root 3396: case 81:
1.1.1.4 ! root 3397: #line 668 "cp-parse.y"
1.1 root 3398: { yyval.ttype = start_method (NULL_TREE, yyval.ttype, yyvsp[0].ttype);
3399: if (! yyval.ttype)
3400: YYERROR1;
3401: if (yychar == YYEMPTY)
3402: yychar = YYLEX;
3403: reinit_parse_for_method (yychar, yyval.ttype); ;
3404: break;}
1.1.1.2 root 3405: case 82:
1.1.1.4 ! root 3406: #line 677 "cp-parse.y"
1.1 root 3407: {
3408: if (! current_function_parms_stored)
3409: store_parm_decls ();
3410: yyval.ttype = yyvsp[0].ttype;
3411: ;
3412: break;}
1.1.1.2 root 3413: case 83:
1.1.1.4 ! root 3414: #line 685 "cp-parse.y"
1.1 root 3415: { store_return_init (yyval.ttype, NULL_TREE); ;
3416: break;}
1.1.1.2 root 3417: case 84:
1.1.1.4 ! root 3418: #line 687 "cp-parse.y"
! 3419: { store_return_init (yyval.ttype, yyvsp[0].ttype); ;
1.1 root 3420: break;}
1.1.1.2 root 3421: case 85:
1.1.1.4 ! root 3422: #line 689 "cp-parse.y"
1.1 root 3423: { store_return_init (yyval.ttype, yyvsp[-1].ttype); ;
3424: break;}
1.1.1.2 root 3425: case 86:
1.1.1.4 ! root 3426: #line 691 "cp-parse.y"
1.1 root 3427: { store_return_init (yyval.ttype, NULL_TREE); ;
3428: break;}
1.1.1.2 root 3429: case 87:
1.1.1.4 ! root 3430: #line 696 "cp-parse.y"
1.1 root 3431: {
3432: if (yyvsp[0].itype == 0)
3433: error ("no base initializers given following ':'");
3434: setup_vtbl_ptr ();
3435: ;
3436: break;}
1.1.1.2 root 3437: case 88:
1.1.1.4 ! root 3438: #line 705 "cp-parse.y"
1.1 root 3439: {
3440: if (! current_function_parms_stored)
3441: store_parm_decls ();
3442:
3443: /* Flag that we are processing base and member initializers. */
3444: current_vtable_decl = error_mark_node;
3445:
3446: if (DECL_CONSTRUCTOR_P (current_function_decl))
3447: {
3448: /* Make a contour for the initializer list. */
3449: pushlevel (0);
3450: clear_last_expr ();
3451: expand_start_bindings (0);
3452: }
3453: else if (current_class_type == NULL_TREE)
3454: error ("base initializers not allowed for non-member functions");
3455: else if (! DECL_CONSTRUCTOR_P (current_function_decl))
3456: error ("only constructors take base initializers");
3457: ;
3458: break;}
1.1.1.2 root 3459: case 89:
1.1.1.4 ! root 3460: #line 728 "cp-parse.y"
1.1 root 3461: { yyval.itype = 0; ;
3462: break;}
1.1.1.2 root 3463: case 90:
1.1.1.4 ! root 3464: #line 730 "cp-parse.y"
1.1 root 3465: { yyval.itype = 1; ;
3466: break;}
1.1.1.2 root 3467: case 93:
1.1.1.4 ! root 3468: #line 736 "cp-parse.y"
1.1 root 3469: {
1.1.1.4 ! root 3470: if (current_class_name && !flag_traditional)
! 3471: pedwarn ("ANSI C++ forbids old style base class initialization",
1.1 root 3472: IDENTIFIER_POINTER (current_class_name));
3473: expand_member_init (C_C_D, NULL_TREE, yyvsp[-1].ttype);
3474: ;
3475: break;}
1.1.1.2 root 3476: case 94:
1.1.1.4 ! root 3477: #line 743 "cp-parse.y"
1.1 root 3478: {
1.1.1.4 ! root 3479: if (current_class_name && !flag_traditional)
! 3480: pedwarn ("ANSI C++ forbids old style base class initialization",
1.1 root 3481: IDENTIFIER_POINTER (current_class_name));
3482: expand_member_init (C_C_D, NULL_TREE, void_type_node);
3483: ;
3484: break;}
1.1.1.2 root 3485: case 95:
1.1.1.4 ! root 3486: #line 750 "cp-parse.y"
1.1 root 3487: {
3488: expand_member_init (C_C_D, yyval.ttype, yyvsp[-1].ttype);
3489: ;
3490: break;}
1.1.1.2 root 3491: case 96:
1.1.1.4 ! root 3492: #line 754 "cp-parse.y"
1.1 root 3493: { expand_member_init (C_C_D, yyval.ttype, void_type_node); ;
3494: break;}
1.1.1.2 root 3495: case 97:
1.1.1.4 ! root 3496: #line 756 "cp-parse.y"
1.1.1.2 root 3497: { expand_member_init (C_C_D, yyval.ttype, yyvsp[-1].ttype); ;
3498: break;}
3499: case 98:
1.1.1.4 ! root 3500: #line 758 "cp-parse.y"
1.1.1.2 root 3501: { expand_member_init (C_C_D, yyval.ttype, void_type_node); ;
3502: break;}
3503: case 99:
1.1.1.4 ! root 3504: #line 760 "cp-parse.y"
! 3505: { expand_member_init (C_C_D, yyval.ttype, yyvsp[-1].ttype); ;
! 3506: break;}
! 3507: case 100:
! 3508: #line 762 "cp-parse.y"
! 3509: { expand_member_init (C_C_D, yyval.ttype, void_type_node); ;
! 3510: break;}
! 3511: case 101:
! 3512: #line 764 "cp-parse.y"
1.1 root 3513: {
3514: do_member_init (yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype);
3515: ;
3516: break;}
1.1.1.4 ! root 3517: case 102:
! 3518: #line 768 "cp-parse.y"
1.1 root 3519: {
3520: do_member_init (yyval.ttype, yyvsp[-1].ttype, void_type_node);
3521: ;
3522: break;}
1.1.1.2 root 3523: case 112:
1.1.1.4 ! root 3524: #line 792 "cp-parse.y"
! 3525: { yyval.ttype = build_parse_node (BIT_NOT_EXPR,yyvsp[0].ttype);;
1.1 root 3526: break;}
1.1.1.2 root 3527: case 114:
1.1.1.4 ! root 3528: #line 798 "cp-parse.y"
1.1 root 3529: {
1.1.1.4 ! root 3530: extern tree template_type_seen_before_scope;
! 3531:
1.1 root 3532: if (yyvsp[0].ttype)
3533: yyval.ttype = yyvsp[0].ttype;
3534: else if (yyval.ttype != error_mark_node)
3535: yyval.ttype = IDENTIFIER_TYPE_VALUE (yyval.ttype);
1.1.1.4 ! root 3536: /* This is a kludge: In order to detect nested types inside
! 3537: * template classes, we have to tell the lexer that it should
! 3538: * try to replace a following SCOPE token with the correct
! 3539: * SCOPED_TYPENAME for the nested type. This SCOPED_TYPENAME
! 3540: * token will be handled in the rule "scoped_typename".
! 3541: * - [email protected] */
! 3542: if (yychar == SCOPE) {
! 3543: template_type_seen_before_scope = TYPE_IDENTIFIER (yyval.ttype);
! 3544: yychar = YYLEX;
! 3545: }
1.1 root 3546: ;
3547: break;}
1.1.1.4 ! root 3548: case 115:
! 3549: #line 820 "cp-parse.y"
1.1 root 3550: { yyval.ttype = lookup_template_class (yyval.ttype, yyvsp[-1].ttype); ;
3551: break;}
1.1.1.4 ! root 3552: case 116:
! 3553: #line 822 "cp-parse.y"
! 3554: { yyval.ttype = lookup_template_class (yyval.ttype, yyvsp[-1].ttype); ;
! 3555: break;}
! 3556: case 117:
! 3557: #line 828 "cp-parse.y"
1.1 root 3558: { yyungetc ('{', 1); yyval.ttype = 0; ;
3559: break;}
1.1.1.4 ! root 3560: case 118:
! 3561: #line 829 "cp-parse.y"
1.1 root 3562: { yyungetc (':', 1); yyval.ttype = 0; ;
3563: break;}
1.1.1.4 ! root 3564: case 119:
! 3565: #line 831 "cp-parse.y"
1.1 root 3566: { yyval.ttype = instantiate_class_template (yyvsp[0].ttype, 1); ;
3567: break;}
1.1.1.4 ! root 3568: case 120:
! 3569: #line 836 "cp-parse.y"
1.1 root 3570: { yyval.ttype = instantiate_class_template (yyvsp[0].ttype, 1); ;
3571: break;}
1.1.1.4 ! root 3572: case 121:
! 3573: #line 841 "cp-parse.y"
1.1 root 3574: { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
3575: break;}
1.1.1.4 ! root 3576: case 122:
! 3577: #line 843 "cp-parse.y"
1.1 root 3578: { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
3579: break;}
1.1.1.4 ! root 3580: case 123:
! 3581: #line 848 "cp-parse.y"
1.1 root 3582: { yyval.ttype = groktypename (yyval.ttype); ;
3583: break;}
1.1.1.4 ! root 3584: case 125:
! 3585: #line 854 "cp-parse.y"
1.1 root 3586: {
3587: tree t, decl, id, tmpl;
3588:
3589: id = TREE_VALUE (yyvsp[-1].ttype);
3590: tmpl = TREE_PURPOSE (IDENTIFIER_TEMPLATE (id));
3591: t = xref_tag (DECL_TEMPLATE_INFO (tmpl)->aggr, id, yyvsp[0].ttype);
3592: set_current_level_tags_transparency (1);
1.1.1.4 ! root 3593: my_friendly_assert (TREE_CODE (t) == RECORD_TYPE, 257);
1.1 root 3594: yyval.ttype = t;
3595:
3596: /* Now, put a copy of the decl in global scope, to avoid
3597: recursive expansion. */
3598: decl = IDENTIFIER_LOCAL_VALUE (id);
3599: if (!decl)
3600: decl = IDENTIFIER_CLASS_VALUE (id);
3601: /* Now, put a copy of the decl in global scope, to avoid
3602: recursive expansion. */
3603: if (decl)
3604: {
3605: /* Need to copy it to clear the chain pointer,
3606: and need to get it into permanent storage. */
1.1.1.4 ! root 3607: my_friendly_assert (TREE_CODE (decl) == TYPE_DECL, 258);
1.1 root 3608: push_obstacks (&permanent_obstack, &permanent_obstack);
3609: decl = copy_node (decl);
3610: if (DECL_LANG_SPECIFIC (decl))
3611: copy_lang_decl (decl);
3612: pop_obstacks ();
3613: pushdecl_top_level (decl);
3614: }
3615: ;
3616: break;}
1.1.1.4 ! root 3617: case 126:
! 3618: #line 885 "cp-parse.y"
1.1 root 3619: {
3620: extern void end_template_instantiation ();
1.1.1.4 ! root 3621: int old_interface = interface_unknown;
1.1 root 3622:
1.1.1.4 ! root 3623: interface_unknown = 1;
1.1 root 3624: yyval.ttype = finish_struct (yyvsp[-3].ttype, yyvsp[-1].ttype, 0, 0);
3625:
3626: pop_obstacks ();
3627: end_template_instantiation (yyvsp[-5].ttype, yyvsp[-3].ttype);
3628:
3629: /* Now go after the methods & class data. */
1.1.1.4 ! root 3630: old_interface = interface_unknown;
! 3631: interface_unknown = 1;
1.1 root 3632: instantiate_member_templates (yyvsp[-5].ttype);
1.1.1.4 ! root 3633: interface_unknown = old_interface;
! 3634: CLASSTYPE_GOT_SEMICOLON (yyval.ttype) = 1;
1.1 root 3635: ;
3636: break;}
1.1.1.4 ! root 3637: case 127:
! 3638: #line 906 "cp-parse.y"
1.1 root 3639: { yyval.ttype = NULL_TREE; ;
3640: break;}
1.1.1.4 ! root 3641: case 128:
! 3642: #line 908 "cp-parse.y"
1.1 root 3643: { yyval.ttype = yyvsp[0].ttype; ;
3644: break;}
1.1.1.4 ! root 3645: case 129:
! 3646: #line 913 "cp-parse.y"
1.1 root 3647: { yyval.ttype = NULL_TREE; /* never used from here... */;
3648: break;}
1.1.1.4 ! root 3649: case 130:
! 3650: #line 915 "cp-parse.y"
1.1 root 3651: { yyval.ttype = yyvsp[-1].ttype; /*???*/ ;
3652: break;}
1.1.1.4 ! root 3653: case 131:
! 3654: #line 919 "cp-parse.y"
1.1 root 3655: { yyval.code = NEGATE_EXPR; ;
3656: break;}
1.1.1.4 ! root 3657: case 132:
! 3658: #line 921 "cp-parse.y"
1.1 root 3659: { yyval.code = CONVERT_EXPR; ;
3660: break;}
1.1.1.4 ! root 3661: case 133:
! 3662: #line 923 "cp-parse.y"
1.1 root 3663: { yyval.code = PREINCREMENT_EXPR; ;
3664: break;}
1.1.1.4 ! root 3665: case 134:
! 3666: #line 925 "cp-parse.y"
1.1 root 3667: { yyval.code = PREDECREMENT_EXPR; ;
3668: break;}
1.1.1.4 ! root 3669: case 135:
! 3670: #line 927 "cp-parse.y"
1.1 root 3671: { yyval.code = TRUTH_NOT_EXPR; ;
3672: break;}
1.1.1.4 ! root 3673: case 136:
! 3674: #line 931 "cp-parse.y"
1.1 root 3675: { yyval.ttype = build_x_compound_expr (yyval.ttype); ;
3676: break;}
1.1.1.4 ! root 3677: case 138:
! 3678: #line 938 "cp-parse.y"
1.1 root 3679: { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
3680: break;}
1.1.1.4 ! root 3681: case 139:
! 3682: #line 940 "cp-parse.y"
1.1 root 3683: { chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
3684: break;}
1.1.1.4 ! root 3685: case 140:
! 3686: #line 942 "cp-parse.y"
1.1 root 3687: { chainon (yyval.ttype, build_tree_list (NULL_TREE, error_mark_node)); ;
3688: break;}
1.1.1.4 ! root 3689: case 141:
! 3690: #line 947 "cp-parse.y"
1.1 root 3691: {
3692: if (TREE_CODE (yyval.ttype) == TYPE_EXPR)
3693: yyval.ttype = build_component_type_expr (C_C_D, yyval.ttype, NULL_TREE, 1);
3694: ;
3695: break;}
1.1.1.4 ! root 3696: case 142:
! 3697: #line 953 "cp-parse.y"
1.1.1.2 root 3698: { yyvsp[0].itype = pedantic;
3699: pedantic = 0; ;
3700: break;}
1.1.1.4 ! root 3701: case 143:
! 3702: #line 956 "cp-parse.y"
1.1.1.2 root 3703: { yyval.ttype = yyvsp[0].ttype;
3704: pedantic = yyvsp[-2].itype; ;
3705: break;}
1.1.1.4 ! root 3706: case 144:
! 3707: #line 959 "cp-parse.y"
1.1 root 3708: { yyval.ttype = build_x_indirect_ref (yyvsp[0].ttype, "unary *"); ;
3709: break;}
1.1.1.4 ! root 3710: case 145:
! 3711: #line 961 "cp-parse.y"
1.1 root 3712: { yyval.ttype = build_x_unary_op (ADDR_EXPR, yyvsp[0].ttype); ;
3713: break;}
1.1.1.4 ! root 3714: case 146:
! 3715: #line 963 "cp-parse.y"
1.1 root 3716: { yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, yyvsp[0].ttype); ;
3717: break;}
1.1.1.4 ! root 3718: case 147:
! 3719: #line 965 "cp-parse.y"
1.1 root 3720: { yyval.ttype = build_x_unary_op (yyval.ttype, yyvsp[0].ttype);
3721: if (yyvsp[-1].code == NEGATE_EXPR && TREE_CODE (yyvsp[0].ttype) == INTEGER_CST)
3722: TREE_NEGATED_INT (yyval.ttype) = 1;
3723: ;
3724: break;}
1.1.1.4 ! root 3725: case 148:
! 3726: #line 971 "cp-parse.y"
! 3727: { tree label = lookup_label (yyvsp[0].ttype);
! 3728: TREE_USED (label) = 1;
! 3729: yyval.ttype = build1 (ADDR_EXPR, ptr_type_node, label);
! 3730: TREE_CONSTANT (yyval.ttype) = 1; ;
! 3731: break;}
! 3732: case 149:
! 3733: #line 976 "cp-parse.y"
1.1 root 3734: { if (TREE_CODE (yyvsp[0].ttype) == COMPONENT_REF
3735: && DECL_BIT_FIELD (TREE_OPERAND (yyvsp[0].ttype, 1)))
3736: error ("sizeof applied to a bit-field");
3737: /* ANSI says arrays and functions are converted inside comma.
3738: But we can't really convert them in build_compound_expr
3739: because that would break commas in lvalues.
3740: So do the conversion here if operand was a comma. */
3741: if (TREE_CODE (yyvsp[0].ttype) == COMPOUND_EXPR
3742: && (TREE_CODE (TREE_TYPE (yyvsp[0].ttype)) == ARRAY_TYPE
3743: || TREE_CODE (TREE_TYPE (yyvsp[0].ttype)) == FUNCTION_TYPE))
3744: yyvsp[0].ttype = default_conversion (yyvsp[0].ttype);
3745: yyval.ttype = c_sizeof (TREE_TYPE (yyvsp[0].ttype)); ;
3746: break;}
1.1.1.4 ! root 3747: case 150:
! 3748: #line 989 "cp-parse.y"
1.1 root 3749: { yyval.ttype = c_sizeof (groktypename (yyvsp[-1].ttype)); ;
3750: break;}
1.1.1.4 ! root 3751: case 151:
! 3752: #line 991 "cp-parse.y"
1.1 root 3753: { if (TREE_CODE (yyvsp[0].ttype) == COMPONENT_REF
3754: && DECL_BIT_FIELD (TREE_OPERAND (yyvsp[0].ttype, 1)))
3755: error ("`__alignof' applied to a bit-field");
3756: if (TREE_CODE (yyvsp[0].ttype) == INDIRECT_REF)
3757: {
3758: tree t = TREE_OPERAND (yyvsp[0].ttype, 0);
3759: tree best = t;
3760: int bestalign = TYPE_ALIGN (TREE_TYPE (TREE_TYPE (t)));
3761: while (TREE_CODE (t) == NOP_EXPR
3762: && TREE_CODE (TREE_TYPE (TREE_OPERAND (t, 0))) == POINTER_TYPE)
3763: {
3764: int thisalign;
3765: t = TREE_OPERAND (t, 0);
3766: thisalign = TYPE_ALIGN (TREE_TYPE (TREE_TYPE (t)));
3767: if (thisalign > bestalign)
3768: best = t, bestalign = thisalign;
3769: }
3770: yyval.ttype = c_alignof (TREE_TYPE (TREE_TYPE (best)));
3771: }
3772: else
3773: {
3774: /* ANSI says arrays and fns are converted inside comma.
3775: But we can't convert them in build_compound_expr
3776: because that would break commas in lvalues.
3777: So do the conversion here if operand was a comma. */
3778: if (TREE_CODE (yyvsp[0].ttype) == COMPOUND_EXPR
3779: && (TREE_CODE (TREE_TYPE (yyvsp[0].ttype)) == ARRAY_TYPE
3780: || TREE_CODE (TREE_TYPE (yyvsp[0].ttype)) == FUNCTION_TYPE))
3781: yyvsp[0].ttype = default_conversion (yyvsp[0].ttype);
3782: yyval.ttype = c_alignof (TREE_TYPE (yyvsp[0].ttype));
3783: }
3784: ;
3785: break;}
1.1.1.4 ! root 3786: case 152:
! 3787: #line 1024 "cp-parse.y"
1.1 root 3788: { yyval.ttype = c_alignof (groktypename (yyvsp[-1].ttype)); ;
3789: break;}
1.1.1.4 ! root 3790: case 153:
! 3791: #line 1027 "cp-parse.y"
1.1 root 3792: { yyval.ttype = build_new (yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE, yyval.ttype); ;
3793: break;}
1.1.1.4 ! root 3794: case 154:
! 3795: #line 1029 "cp-parse.y"
! 3796: { yyval.ttype = build_new (yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE, yyval.ttype); ;
! 3797: break;}
! 3798: case 155:
! 3799: #line 1031 "cp-parse.y"
1.1 root 3800: { yyval.ttype = build_new (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyval.ttype); ;
3801: break;}
1.1.1.4 ! root 3802: case 156:
! 3803: #line 1033 "cp-parse.y"
! 3804: { yyval.ttype = build_new (yyvsp[-5].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyval.ttype); ;
! 3805: break;}
! 3806: case 157:
! 3807: #line 1035 "cp-parse.y"
1.1 root 3808: { yyval.ttype = build_new (yyvsp[-2].ttype, yyvsp[-1].ttype, NULL_TREE, yyval.ttype); ;
3809: break;}
1.1.1.4 ! root 3810: case 158:
! 3811: #line 1037 "cp-parse.y"
! 3812: { yyval.ttype = build_new (yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE, yyval.ttype); ;
! 3813: break;}
! 3814: case 159:
! 3815: #line 1039 "cp-parse.y"
1.1 root 3816: { yyval.ttype = build_new (yyvsp[-3].ttype, yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype); ;
3817: break;}
1.1.1.4 ! root 3818: case 160:
! 3819: #line 1041 "cp-parse.y"
! 3820: { yyval.ttype = build_new (yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype); ;
! 3821: break;}
1.1.1.2 root 3822: case 161:
1.1.1.4 ! root 3823: #line 1049 "cp-parse.y"
1.1 root 3824: {
3825: tree absdcl, typename;
3826:
3827: illegal_new_array:
3828: absdcl = build_parse_node (ARRAY_REF, yyvsp[-4].ttype, yyvsp[-1].ttype);
3829: typename = build_decl_list (yyvsp[-5].ttype, absdcl);
1.1.1.4 ! root 3830: pedwarn ("ANSI C++ forbids array dimensions with parenthesized type");
1.1 root 3831: yyval.ttype = build_new (yyvsp[-7].ttype, typename, NULL_TREE, yyval.ttype);
3832: ;
3833: break;}
1.1.1.2 root 3834: case 162:
1.1.1.4 ! root 3835: #line 1059 "cp-parse.y"
1.1 root 3836: { goto illegal_new_array; ;
3837: break;}
1.1.1.2 root 3838: case 163:
1.1.1.4 ! root 3839: #line 1062 "cp-parse.y"
! 3840: { yyval.ttype = build_new (yyvsp[-4].ttype, build_decl_list (yyvsp[-2].ttype, yyvsp[-1].ttype), NULL_TREE, yyval.ttype); ;
1.1 root 3841: break;}
1.1.1.2 root 3842: case 164:
1.1.1.4 ! root 3843: #line 1064 "cp-parse.y"
! 3844: { yyval.ttype = build_new (yyvsp[-5].ttype, build_decl_list (yyvsp[-2].ttype, yyvsp[-1].ttype), NULL_TREE, yyval.ttype); ;
1.1 root 3845: break;}
1.1.1.2 root 3846: case 165:
1.1.1.4 ! root 3847: #line 1066 "cp-parse.y"
! 3848: { yyval.ttype = build_new (yyvsp[-4].ttype, build_decl_list (yyvsp[-2].ttype, yyvsp[-1].ttype), NULL_TREE, yyval.ttype); ;
1.1 root 3849: break;}
1.1.1.2 root 3850: case 166:
1.1.1.4 ! root 3851: #line 1068 "cp-parse.y"
! 3852: { yyval.ttype = build_new (yyvsp[-5].ttype, build_decl_list (yyvsp[-2].ttype, yyvsp[-1].ttype), NULL_TREE, yyval.ttype); ;
! 3853: break;}
! 3854: case 167:
! 3855: #line 1071 "cp-parse.y"
! 3856: { yyungetc (':', 1); yyval.ttype = build_new (yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE, yyval.ttype); ;
! 3857: break;}
! 3858: case 168:
! 3859: #line 1073 "cp-parse.y"
! 3860: { yyungetc (':', 1); yyval.ttype = build_new (yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE, yyval.ttype); ;
! 3861: break;}
! 3862: case 169:
! 3863: #line 1076 "cp-parse.y"
1.1 root 3864: { tree expr = stabilize_reference (convert_from_reference (yyvsp[0].ttype));
3865: tree type = TREE_TYPE (expr);
3866:
1.1.1.4 ! root 3867: if (TREE_CODE (type) != POINTER_TYPE)
1.1 root 3868: {
3869: error ("non-pointer type to `delete'");
3870: yyval.ttype = error_mark_node;
3871: break;
3872: }
1.1.1.4 ! root 3873: else if (integer_zerop (expr))
! 3874: {
! 3875: /* ANSI C++ June 5 1992 WP 5.3.4. Deleting a pointer
! 3876: with the value zero is legal and has no effect. */
! 3877: yyval.ttype = build1 (NOP_EXPR, void_type_node, expr);
! 3878: break;
! 3879: }
! 3880: else if (TREE_READONLY (TREE_TYPE (type)))
! 3881: {
! 3882: error ("`const *' cannot be deleted");
! 3883: yyval.ttype = error_mark_node;
! 3884: break;
! 3885: }
1.1 root 3886: yyval.ttype = build_delete (type, expr, integer_three_node,
3887: LOOKUP_NORMAL|LOOKUP_HAS_IN_CHARGE,
1.1.1.4 ! root 3888: TYPE_HAS_DESTRUCTOR (TREE_TYPE (type)),
! 3889: 0);
1.1 root 3890: ;
3891: break;}
1.1.1.4 ! root 3892: case 170:
! 3893: #line 1104 "cp-parse.y"
1.1 root 3894: {
3895: tree exp = stabilize_reference (convert_from_reference (yyvsp[0].ttype));
1.1.1.4 ! root 3896: tree type = TREE_TYPE (exp);
! 3897: tree elt_size = c_sizeof (type);
1.1 root 3898:
3899: if (yychar == YYEMPTY)
3900: yychar = YYLEX;
3901:
1.1.1.4 ! root 3902: if (TREE_CODE (type) == POINTER_TYPE
! 3903: && TREE_READONLY (TREE_TYPE (type)))
! 3904: {
! 3905: error ("`const *' cannot be deleted");
! 3906: yyval.ttype = error_mark_node;
! 3907: break;
! 3908: }
1.1 root 3909: yyval.ttype = build_vec_delete (exp, NULL_TREE, elt_size, NULL_TREE,
3910: integer_one_node, integer_two_node);
3911: ;
3912: break;}
1.1.1.4 ! root 3913: case 171:
! 3914: #line 1123 "cp-parse.y"
1.1 root 3915: {
3916: tree maxindex = build_binary_op (MINUS_EXPR, yyvsp[-2].ttype,
3917: integer_one_node);
3918: tree exp = stabilize_reference (convert_from_reference (yyvsp[0].ttype));
1.1.1.4 ! root 3919: tree type = TREE_TYPE (exp);
! 3920: tree elt_size = c_sizeof (type);
1.1 root 3921:
3922: if (yychar == YYEMPTY)
3923: yychar = YYLEX;
3924:
1.1.1.4 ! root 3925: if (! flag_traditional)
! 3926: pedwarn ("ANSI C++ forbids array size in vector delete");
! 3927: if (TREE_CODE (type) == POINTER_TYPE
! 3928: && TREE_READONLY (TREE_TYPE (type)))
! 3929: {
! 3930: error ("`const *' cannot be deleted");
! 3931: yyval.ttype = error_mark_node;
! 3932: break;
! 3933: }
1.1 root 3934: yyval.ttype = build_vec_delete (exp, maxindex, elt_size, NULL_TREE,
3935: integer_one_node, integer_two_node);
3936: ;
3937: break;}
1.1.1.4 ! root 3938: case 173:
! 3939: #line 1150 "cp-parse.y"
1.1 root 3940: { tree type = groktypename (yyvsp[-2].ttype);
3941: yyval.ttype = build_c_cast (type, yyvsp[0].ttype); ;
3942: break;}
1.1.1.4 ! root 3943: case 174:
! 3944: #line 1153 "cp-parse.y"
1.1 root 3945: { tree type = groktypename (yyvsp[-5].ttype);
3946: tree init = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-2].ttype));
3947: if (pedantic)
1.1.1.4 ! root 3948: pedwarn ("ANSI C++ forbids constructor-expressions");
1.1 root 3949: /* Indicate that this was a GNU C constructor expression. */
3950: TREE_HAS_CONSTRUCTOR (init) = 1;
3951: yyval.ttype = digest_init (type, init, 0);
3952: if (TREE_CODE (type) == ARRAY_TYPE && TYPE_SIZE (type) == 0)
3953: {
3954: int failure = complete_array_type (type, yyval.ttype, 1);
3955: if (failure)
1.1.1.3 root 3956: my_friendly_abort (78);
1.1 root 3957: }
3958: ;
3959: break;}
1.1.1.4 ! root 3960: case 175:
! 3961: #line 1168 "cp-parse.y"
1.1 root 3962: { yyval.ttype = build_headof (yyvsp[-1].ttype); ;
3963: break;}
1.1.1.4 ! root 3964: case 176:
! 3965: #line 1170 "cp-parse.y"
1.1 root 3966: { yyval.ttype = build_classof (yyvsp[-1].ttype); ;
3967: break;}
1.1.1.4 ! root 3968: case 177:
! 3969: #line 1172 "cp-parse.y"
1.1 root 3970: { if (is_aggr_typedef (yyvsp[-1].ttype, 1))
3971: {
3972: tree type = IDENTIFIER_TYPE_VALUE (yyvsp[-1].ttype);
3973: yyval.ttype = CLASSTYPE_DOSSIER (type);
3974: }
3975: else
3976: yyval.ttype = error_mark_node;
3977: ;
3978: break;}
1.1.1.2 root 3979: case 179:
1.1.1.4 ! root 3980: #line 1185 "cp-parse.y"
1.1 root 3981: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
3982: break;}
1.1.1.2 root 3983: case 180:
1.1.1.4 ! root 3984: #line 1187 "cp-parse.y"
1.1 root 3985: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
3986: break;}
1.1.1.2 root 3987: case 181:
1.1.1.4 ! root 3988: #line 1189 "cp-parse.y"
1.1 root 3989: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
3990: break;}
1.1.1.2 root 3991: case 182:
1.1.1.4 ! root 3992: #line 1191 "cp-parse.y"
1.1 root 3993: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
3994: break;}
1.1.1.2 root 3995: case 183:
1.1.1.4 ! root 3996: #line 1193 "cp-parse.y"
1.1 root 3997: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
3998: break;}
1.1.1.2 root 3999: case 184:
1.1.1.4 ! root 4000: #line 1195 "cp-parse.y"
! 4001: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
1.1 root 4002: break;}
1.1.1.2 root 4003: case 185:
1.1.1.4 ! root 4004: #line 1197 "cp-parse.y"
! 4005: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
1.1 root 4006: break;}
1.1.1.2 root 4007: case 186:
1.1.1.4 ! root 4008: #line 1199 "cp-parse.y"
1.1 root 4009: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4010: break;}
1.1.1.2 root 4011: case 187:
1.1.1.4 ! root 4012: #line 1201 "cp-parse.y"
! 4013: { yyval.ttype = build_x_binary_op (LT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
1.1 root 4014: break;}
1.1.1.2 root 4015: case 188:
1.1.1.4 ! root 4016: #line 1203 "cp-parse.y"
! 4017: { yyval.ttype = build_x_binary_op (GT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
1.1 root 4018: break;}
1.1.1.2 root 4019: case 189:
1.1.1.4 ! root 4020: #line 1205 "cp-parse.y"
1.1 root 4021: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4022: break;}
1.1.1.2 root 4023: case 190:
1.1.1.4 ! root 4024: #line 1207 "cp-parse.y"
1.1 root 4025: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4026: break;}
1.1.1.2 root 4027: case 191:
1.1.1.4 ! root 4028: #line 1209 "cp-parse.y"
! 4029: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
1.1 root 4030: break;}
1.1.1.2 root 4031: case 192:
1.1.1.4 ! root 4032: #line 1211 "cp-parse.y"
! 4033: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
1.1 root 4034: break;}
1.1.1.2 root 4035: case 193:
1.1.1.4 ! root 4036: #line 1213 "cp-parse.y"
! 4037: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
1.1 root 4038: break;}
1.1.1.2 root 4039: case 194:
1.1.1.4 ! root 4040: #line 1215 "cp-parse.y"
! 4041: { yyval.ttype = build_x_binary_op (TRUTH_ANDIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
1.1 root 4042: break;}
1.1.1.2 root 4043: case 195:
1.1.1.4 ! root 4044: #line 1217 "cp-parse.y"
! 4045: { yyval.ttype = build_x_binary_op (TRUTH_ORIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
! 4046: break;}
! 4047: case 196:
! 4048: #line 1219 "cp-parse.y"
! 4049: { yyval.ttype = build_x_conditional_expr (yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
! 4050: break;}
! 4051: case 197:
! 4052: #line 1221 "cp-parse.y"
! 4053: { yyval.ttype = build_modify_expr (yyval.ttype, NOP_EXPR, yyvsp[0].ttype); ;
! 4054: break;}
! 4055: case 198:
! 4056: #line 1223 "cp-parse.y"
1.1 root 4057: { register tree rval;
1.1.1.4 ! root 4058: if (rval = build_opfncall (MODIFY_EXPR, LOOKUP_NORMAL, yyval.ttype, yyvsp[0].ttype,
! 4059: make_node (yyvsp[-1].code)))
1.1 root 4060: yyval.ttype = rval;
4061: else
4062: yyval.ttype = build_modify_expr (yyval.ttype, yyvsp[-1].code, yyvsp[0].ttype); ;
4063: break;}
1.1.1.4 ! root 4064: case 199:
! 4065: #line 1230 "cp-parse.y"
1.1 root 4066: { yyval.ttype = build_m_component_ref (yyval.ttype, build_indirect_ref (yyvsp[0].ttype, 0)); ;
4067: break;}
1.1.1.4 ! root 4068: case 200:
! 4069: #line 1233 "cp-parse.y"
1.1 root 4070: { yyval.ttype = build_x_binary_op (MEMBER_REF, yyval.ttype, yyvsp[0].ttype); ;
4071: break;}
1.1.1.4 ! root 4072: case 201:
! 4073: #line 1249 "cp-parse.y"
1.1 root 4074: { yyval.ttype = do_identifier (yyval.ttype); ;
4075: break;}
1.1.1.4 ! root 4076: case 202:
! 4077: #line 1251 "cp-parse.y"
1.1 root 4078: {
4079: tree op = yyval.ttype;
4080: if (TREE_CODE (op) != IDENTIFIER_NODE)
4081: yyval.ttype = op;
4082: else
4083: {
1.1.1.4 ! root 4084: yyval.ttype = lookup_name (op, 0);
1.1 root 4085: if (yyval.ttype == NULL_TREE)
4086: {
4087: error ("operator %s not defined", operator_name_string (op));
4088: yyval.ttype = error_mark_node;
4089: }
4090: }
4091: ;
4092: break;}
1.1.1.4 ! root 4093: case 204:
! 4094: #line 1267 "cp-parse.y"
1.1 root 4095: { yyval.ttype = combine_strings (yyval.ttype); ;
4096: break;}
1.1.1.4 ! root 4097: case 205:
! 4098: #line 1269 "cp-parse.y"
1.1 root 4099: { yyval.ttype = yyvsp[-1].ttype; ;
4100: break;}
1.1.1.4 ! root 4101: case 206:
! 4102: #line 1271 "cp-parse.y"
1.1 root 4103: { yyval.ttype = error_mark_node; ;
4104: break;}
1.1.1.4 ! root 4105: case 207:
! 4106: #line 1273 "cp-parse.y"
1.1 root 4107: { if (current_function_decl == 0)
4108: {
4109: error ("braced-group within expression allowed only inside a function");
4110: YYERROR;
4111: }
4112: keep_next_level ();
4113: yyval.ttype = expand_start_stmt_expr (); ;
4114: break;}
1.1.1.4 ! root 4115: case 208:
! 4116: #line 1281 "cp-parse.y"
1.1 root 4117: { tree rtl_exp;
4118: if (pedantic)
1.1.1.4 ! root 4119: pedwarn ("ANSI C++ forbids braced-groups within expressions");
1.1 root 4120: rtl_exp = expand_end_stmt_expr (yyvsp[-2].ttype);
4121: /* The statements have side effects, so the group does. */
4122: TREE_SIDE_EFFECTS (rtl_exp) = 1;
4123: /* Make a BIND_EXPR for the BLOCK already made. */
4124: yyval.ttype = build (BIND_EXPR, TREE_TYPE (rtl_exp),
4125: NULL_TREE, rtl_exp, yyvsp[-1].ttype);
1.1.1.4 ! root 4126: /* Remove the block from the tree at this point.
! 4127: It gets put back at the proper place
! 4128: when the BIND_EXPR is expanded. */
! 4129: delete_block (yyvsp[-1].ttype);
1.1 root 4130: ;
4131: break;}
1.1.1.4 ! root 4132: case 209:
! 4133: #line 1296 "cp-parse.y"
1.1 root 4134: { /* [eichin:19911016.1902EST] */
4135: yyval.ttype = build_x_function_call (yyvsp[-3].ttype, yyvsp[-1].ttype, current_class_decl);
4136: /* here we instantiate_class_template as needed... */
1.1.1.4 ! root 4137: do_pending_templates ();
1.1 root 4138: ;
4139: break;}
1.1.1.4 ! root 4140: case 210:
! 4141: #line 1300 "cp-parse.y"
1.1 root 4142: {
4143: if (TREE_CODE (yyvsp[-1].ttype) == CALL_EXPR
4144: && TREE_TYPE (yyvsp[-1].ttype) != void_type_node)
4145: yyval.ttype = require_complete_type (yyvsp[-1].ttype);
4146: else
4147: yyval.ttype = yyvsp[-1].ttype;
4148: ;
4149: break;}
1.1.1.4 ! root 4150: case 211:
! 4151: #line 1308 "cp-parse.y"
1.1 root 4152: {
1.1.1.4 ! root 4153: if (yyval.ttype != error_mark_node)
! 4154: {
! 4155: yyval.ttype = build_x_function_call (yyval.ttype, NULL_TREE,
! 4156: current_class_decl);
! 4157: if (TREE_CODE (yyval.ttype) == CALL_EXPR
! 4158: && TREE_TYPE (yyval.ttype) != void_type_node)
! 4159: yyval.ttype = require_complete_type (yyval.ttype);
! 4160: }
1.1 root 4161: ;
4162: break;}
1.1.1.4 ! root 4163: case 212:
! 4164: #line 1319 "cp-parse.y"
1.1 root 4165: {
4166: do_array:
4167: {
4168: tree array_expr = yyval.ttype;
4169: tree index_exp = yyvsp[-1].ttype;
4170: tree type = TREE_TYPE (array_expr);
4171: if (type == error_mark_node || index_exp == error_mark_node)
4172: yyval.ttype = error_mark_node;
4173: else if (type == NULL_TREE)
4174: {
4175: /* Something has gone very wrong. Assume we
4176: are mistakenly reducing an expression
4177: instead of a declaration. */
4178: error ("parser may be lost: is there a '{' missing somewhere?");
4179: yyval.ttype = NULL_TREE;
4180: }
4181: else
4182: {
4183: if (TREE_CODE (type) == OFFSET_TYPE)
4184: type = TREE_TYPE (type);
4185: if (TREE_CODE (type) == REFERENCE_TYPE)
4186: type = TREE_TYPE (type);
4187:
4188: if (TYPE_LANG_SPECIFIC (type)
4189: && TYPE_OVERLOADS_ARRAY_REF (type))
4190: yyval.ttype = build_opfncall (ARRAY_REF, LOOKUP_NORMAL, array_expr, index_exp);
4191: else if (TREE_CODE (type) == POINTER_TYPE
4192: || TREE_CODE (type) == ARRAY_TYPE)
4193: yyval.ttype = build_array_ref (array_expr, index_exp);
4194: else
4195: {
4196: type = TREE_TYPE (index_exp);
4197: if (TREE_CODE (type) == OFFSET_TYPE)
4198: type = TREE_TYPE (type);
4199: if (TREE_CODE (type) == REFERENCE_TYPE)
4200: type = TREE_TYPE (type);
4201:
4202: if (TYPE_LANG_SPECIFIC (type)
4203: && TYPE_OVERLOADS_ARRAY_REF (type))
4204: error ("array expression backwards");
4205: else if (TREE_CODE (type) == POINTER_TYPE
4206: || TREE_CODE (type) == ARRAY_TYPE)
4207: yyval.ttype = build_array_ref (index_exp, array_expr);
4208: else
4209: error("[] applied to non-pointer type");
4210: }
4211: }
4212: }
4213: ;
4214: break;}
1.1.1.4 ! root 4215: case 213:
! 4216: #line 1369 "cp-parse.y"
1.1 root 4217: { yyval.ttype = build_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1); ;
4218: break;}
1.1.1.4 ! root 4219: case 214:
! 4220: #line 1371 "cp-parse.y"
1.1 root 4221: {
4222: tree basetype = yyvsp[-1].ttype;
4223: if (is_aggr_typedef (basetype, 1))
4224: {
4225: basetype = IDENTIFIER_TYPE_VALUE (basetype);
4226:
4227: if (yyval.ttype == error_mark_node)
4228: ;
4229: else if (binfo_or_else (basetype, TREE_TYPE (yyval.ttype)))
4230: yyval.ttype = build_component_ref (build_scoped_ref (yyval.ttype, yyvsp[-1].ttype), yyvsp[0].ttype, NULL_TREE, 1);
4231: else
4232: yyval.ttype = error_mark_node;
4233: }
4234: else yyval.ttype = error_mark_node;
4235: ;
4236: break;}
1.1.1.4 ! root 4237: case 215:
! 4238: #line 1387 "cp-parse.y"
1.1 root 4239: { yyval.ttype = build_x_unary_op (POSTINCREMENT_EXPR, yyval.ttype); ;
4240: break;}
1.1.1.4 ! root 4241: case 216:
! 4242: #line 1389 "cp-parse.y"
1.1 root 4243: { yyval.ttype = build_x_unary_op (POSTDECREMENT_EXPR, yyval.ttype); ;
4244: break;}
1.1.1.4 ! root 4245: case 217:
! 4246: #line 1393 "cp-parse.y"
1.1 root 4247: { if (current_class_decl)
4248: {
4249: #ifdef WARNING_ABOUT_CCD
4250: TREE_USED (current_class_decl) = 1;
4251: #endif
4252: yyval.ttype = current_class_decl;
4253: }
4254: else if (current_function_decl
4255: && DECL_STATIC_FUNCTION_P (current_function_decl))
4256: {
4257: error ("`this' is unavailable for static member functions");
4258: yyval.ttype = error_mark_node;
4259: }
4260: else
4261: {
4262: if (current_function_decl)
4263: error ("invalid use of `this' in non-member function");
4264: else
4265: error ("invalid use of `this' at top level");
4266: yyval.ttype = error_mark_node;
4267: }
4268: ;
4269: break;}
1.1.1.4 ! root 4270: case 218:
! 4271: #line 1416 "cp-parse.y"
1.1 root 4272: {
4273: tree type;
4274: tree id = yyval.ttype;
4275:
4276: /* This is a C cast in C++'s `functional' notation. */
4277: if (yyvsp[-1].ttype == error_mark_node)
4278: {
4279: yyval.ttype = error_mark_node;
4280: break;
4281: }
4282: #if 0
4283: if (yyvsp[-1].ttype == NULL_TREE)
4284: {
4285: error ("cannot cast null list to type `%s'",
4286: IDENTIFIER_POINTER (TYPE_NAME (id)));
4287: yyval.ttype = error_mark_node;
4288: break;
4289: }
4290: #endif
1.1.1.4 ! root 4291: #if 0
! 4292: /* type is not set! (mrs) */
1.1 root 4293: if (type == error_mark_node)
4294: yyval.ttype = error_mark_node;
4295: else
1.1.1.4 ! root 4296: #endif
1.1 root 4297: {
4298: if (id == ridpointers[(int) RID_CONST])
4299: type = build_type_variant (integer_type_node, 1, 0);
4300: else if (id == ridpointers[(int) RID_VOLATILE])
4301: type = build_type_variant (integer_type_node, 0, 1);
1.1.1.4 ! root 4302: #if 0
! 4303: /* should not be able to get here (mrs) */
1.1 root 4304: else if (id == ridpointers[(int) RID_FRIEND])
4305: {
4306: error ("cannot cast expression to `friend' type");
4307: yyval.ttype = error_mark_node;
4308: break;
4309: }
1.1.1.4 ! root 4310: #endif
1.1.1.3 root 4311: else my_friendly_abort (79);
1.1 root 4312: yyval.ttype = build_c_cast (type, build_compound_expr (yyvsp[-1].ttype));
4313: }
4314: ;
4315: break;}
1.1.1.4 ! root 4316: case 219:
! 4317: #line 1460 "cp-parse.y"
1.1 root 4318: { yyval.ttype = build_functional_cast (yyval.ttype, yyvsp[-1].ttype); ;
4319: break;}
1.1.1.4 ! root 4320: case 220:
! 4321: #line 1462 "cp-parse.y"
1.1 root 4322: { yyval.ttype = build_functional_cast (yyval.ttype, NULL_TREE); ;
4323: break;}
1.1.1.4 ! root 4324: case 221:
! 4325: #line 1464 "cp-parse.y"
! 4326: { yyval.ttype = build_functional_cast (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
! 4327: break;}
! 4328: case 222:
! 4329: #line 1466 "cp-parse.y"
! 4330: { yyval.ttype = build_functional_cast (yyvsp[-1].ttype, NULL_TREE); ;
! 4331: break;}
! 4332: case 223:
! 4333: #line 1468 "cp-parse.y"
1.1 root 4334: {
4335: do_scoped_id:
4336: yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype);
4337: if (yychar == YYEMPTY)
4338: yychar = YYLEX;
4339: if (! yyval.ttype)
4340: {
4341: if (yychar == '(' || yychar == LEFT_RIGHT)
4342: yyval.ttype = implicitly_declare (yyvsp[0].ttype);
4343: else
4344: {
4345: if (IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype) != error_mark_node)
4346: error ("undeclared variable `%s' (first use here)",
4347: IDENTIFIER_POINTER (yyvsp[0].ttype));
4348: yyval.ttype = error_mark_node;
4349: /* Prevent repeated error messages. */
4350: IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype) = error_mark_node;
4351: }
4352: }
4353: else
4354: {
4355: assemble_external (yyval.ttype);
4356: TREE_USED (yyval.ttype) = 1;
4357: }
4358: if (TREE_CODE (yyval.ttype) == CONST_DECL)
1.1.1.4 ! root 4359: {
! 4360: /* XXX CHS - should we set TREE_USED of the constant? */
! 4361: yyval.ttype = DECL_INITIAL (yyval.ttype);
! 4362: /* This is to prevent an enum whose value is 0
! 4363: from being considered a null pointer constant. */
! 4364: yyval.ttype = build1 (NOP_EXPR, TREE_TYPE (yyval.ttype), yyval.ttype);
! 4365: TREE_CONSTANT (yyval.ttype) = 1;
! 4366: }
! 4367:
1.1 root 4368: ;
4369: break;}
1.1.1.4 ! root 4370: case 224:
! 4371: #line 1504 "cp-parse.y"
1.1 root 4372: {
4373: if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
4374: goto do_scoped_id;
4375: do_scoped_operator:
4376: yyval.ttype = yyvsp[0].ttype;
4377: ;
4378: break;}
1.1.1.4 ! root 4379: case 225:
! 4380: #line 1511 "cp-parse.y"
1.1 root 4381: { yyval.ttype = build_offset_ref (yyval.ttype, yyvsp[0].ttype); ;
4382: break;}
1.1.1.4 ! root 4383: case 226:
! 4384: #line 1513 "cp-parse.y"
1.1 root 4385: { yyval.ttype = build_member_call (yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
4386: break;}
1.1.1.4 ! root 4387: case 227:
! 4388: #line 1515 "cp-parse.y"
1.1 root 4389: { yyval.ttype = build_member_call (yyval.ttype, yyvsp[-1].ttype, NULL_TREE); ;
4390: break;}
1.1.1.4 ! root 4391: case 228:
! 4392: #line 1517 "cp-parse.y"
1.1 root 4393: { yyval.ttype = build_method_call (yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE,
4394: (LOOKUP_NORMAL|LOOKUP_AGGR)); ;
4395: break;}
1.1.1.4 ! root 4396: case 229:
! 4397: #line 1520 "cp-parse.y"
1.1 root 4398: { yyval.ttype = build_method_call (yyval.ttype, yyvsp[-1].ttype, NULL_TREE, NULL_TREE,
4399: (LOOKUP_NORMAL|LOOKUP_AGGR)); ;
4400: break;}
1.1.1.4 ! root 4401: case 230:
! 4402: #line 1523 "cp-parse.y"
1.1 root 4403: { yyval.ttype = build_scoped_method_call (yyval.ttype, yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
4404: break;}
1.1.1.4 ! root 4405: case 231:
! 4406: #line 1525 "cp-parse.y"
1.1 root 4407: { yyval.ttype = build_scoped_method_call (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, NULL_TREE); ;
4408: break;}
1.1.1.4 ! root 4409: case 232:
! 4410: #line 1567 "cp-parse.y"
1.1 root 4411: { yyval.ttype = NULL_TREE; ;
4412: break;}
1.1.1.4 ! root 4413: case 233:
! 4414: #line 1569 "cp-parse.y"
! 4415: {
! 4416: yyval.ttype = yyvsp[-1].ttype;
! 4417: pedwarn ("old style placement syntax, use () instead");
! 4418: ;
1.1 root 4419: break;}
1.1.1.4 ! root 4420: case 234:
! 4421: #line 1574 "cp-parse.y"
1.1 root 4422: { yyval.ttype = void_type_node; ;
4423: break;}
1.1.1.4 ! root 4424: case 235:
! 4425: #line 1576 "cp-parse.y"
1.1 root 4426: { yyval.ttype = combine_strings (yyvsp[-1].ttype); ;
4427: break;}
1.1.1.4 ! root 4428: case 236:
! 4429: #line 1581 "cp-parse.y"
1.1 root 4430: { yyval.itype = 0; ;
4431: break;}
1.1.1.4 ! root 4432: case 237:
! 4433: #line 1583 "cp-parse.y"
1.1 root 4434: { yyval.itype = 1; ;
4435: break;}
1.1.1.4 ! root 4436: case 238:
! 4437: #line 1587 "cp-parse.y"
1.1 root 4438: { yyval.ttype = NULL_TREE; ;
4439: break;}
1.1.1.4 ! root 4440: case 239:
! 4441: #line 1589 "cp-parse.y"
1.1 root 4442: { if (yyvsp[0].ttype)
4443: error ("extra `::' before `delete' ignored");
4444: yyval.ttype = error_mark_node;
4445: ;
4446: break;}
1.1.1.4 ! root 4447: case 241:
! 4448: #line 1599 "cp-parse.y"
1.1 root 4449: { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
4450: break;}
1.1.1.4 ! root 4451: case 242:
! 4452: #line 1604 "cp-parse.y"
1.1 root 4453: {
4454: if (! current_function_parms_stored)
4455: store_parm_decls ();
4456: setup_vtbl_ptr ();
4457: ;
4458: break;}
1.1.1.4 ! root 4459: case 243:
! 4460: #line 1612 "cp-parse.y"
1.1 root 4461: {
4462: if (yyval.ttype == error_mark_node)
4463: ;
4464: else
4465: {
4466: tree type = TREE_TYPE (yyval.ttype);
4467:
4468: if (! PROMOTES_TO_AGGR_TYPE (type, REFERENCE_TYPE))
4469: {
4470: error ("object in '.' expression is not of aggregate type");
4471: yyval.ttype = error_mark_node;
4472: }
4473: }
4474: ;
4475: break;}
1.1.1.4 ! root 4476: case 244:
! 4477: #line 1627 "cp-parse.y"
1.1 root 4478: {
1.1.1.4 ! root 4479: yyval.ttype = build_x_arrow (yyval.ttype);
1.1 root 4480: ;
4481: break;}
1.1.1.4 ! root 4482: case 246:
! 4483: #line 1637 "cp-parse.y"
1.1 root 4484: {
4485: resume_momentary (yyvsp[-1].itype);
4486: note_list_got_semicolon (yyval.ttype);
4487: ;
4488: break;}
1.1.1.4 ! root 4489: case 247:
! 4490: #line 1643 "cp-parse.y"
1.1 root 4491: { tree d;
4492: int yes = suspend_momentary ();
4493: d = start_decl (yyvsp[-1].ttype, yyval.ttype, 0, NULL_TREE);
1.1.1.3 root 4494: finish_decl (d, NULL_TREE, NULL_TREE, 0);
1.1 root 4495: resume_momentary (yes);
4496: note_list_got_semicolon (yyval.ttype);
4497: ;
4498: break;}
1.1.1.4 ! root 4499: case 248:
! 4500: #line 1651 "cp-parse.y"
1.1 root 4501: { resume_momentary (yyvsp[-1].itype); ;
4502: break;}
1.1.1.4 ! root 4503: case 249:
! 4504: #line 1654 "cp-parse.y"
1.1 root 4505: { tree d;
4506: int yes = suspend_momentary ();
4507: d = start_decl (yyvsp[-1].ttype, yyval.ttype, 0, NULL_TREE);
1.1.1.3 root 4508: finish_decl (d, NULL_TREE, NULL_TREE, 0);
1.1 root 4509: resume_momentary (yes);
4510: ;
4511: break;}
1.1.1.4 ! root 4512: case 250:
! 4513: #line 1661 "cp-parse.y"
1.1 root 4514: {
4515: shadow_tag (yyval.ttype);
4516: note_list_got_semicolon (yyval.ttype);
4517: ;
4518: break;}
1.1.1.4 ! root 4519: case 251:
! 4520: #line 1666 "cp-parse.y"
1.1 root 4521: { warning ("empty declaration"); ;
4522: break;}
1.1.1.4 ! root 4523: case 254:
! 4524: #line 1676 "cp-parse.y"
1.1 root 4525: { yyval.ttype = yyvsp[0].ttype; ;
4526: break;}
1.1.1.4 ! root 4527: case 255:
! 4528: #line 1678 "cp-parse.y"
1.1 root 4529: { yyval.ttype = yyvsp[0].ttype; ;
4530: break;}
1.1.1.4 ! root 4531: case 256:
! 4532: #line 1687 "cp-parse.y"
1.1 root 4533: { yyval.ttype = list_hash_lookup_or_cons (yyval.ttype); ;
4534: break;}
1.1.1.4 ! root 4535: case 257:
! 4536: #line 1689 "cp-parse.y"
1.1 root 4537: { yyval.ttype = hash_tree_chain (yyvsp[0].ttype, yyval.ttype); ;
4538: break;}
1.1.1.4 ! root 4539: case 258:
! 4540: #line 1691 "cp-parse.y"
1.1 root 4541: { yyval.ttype = hash_tree_chain (yyval.ttype, yyvsp[0].ttype); ;
4542: break;}
1.1.1.4 ! root 4543: case 259:
! 4544: #line 1693 "cp-parse.y"
1.1 root 4545: { yyval.ttype = hash_tree_chain (yyvsp[-1].ttype, hash_chainon (yyvsp[0].ttype, yyval.ttype)); ;
4546: break;}
1.1.1.4 ! root 4547: case 260:
! 4548: #line 1699 "cp-parse.y"
1.1 root 4549: { yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
4550: break;}
1.1.1.4 ! root 4551: case 261:
! 4552: #line 1701 "cp-parse.y"
! 4553: { if (extra_warnings)
! 4554: warning ("`%s' is not at beginning of declaration",
! 4555: IDENTIFIER_POINTER (yyval.ttype));
! 4556: yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
1.1 root 4557: break;}
1.1.1.4 ! root 4558: case 262:
! 4559: #line 1706 "cp-parse.y"
1.1 root 4560: { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
4561: break;}
1.1.1.4 ! root 4562: case 263:
! 4563: #line 1708 "cp-parse.y"
! 4564: { if (extra_warnings)
! 4565: warning ("`%s' is not at beginning of declaration",
! 4566: IDENTIFIER_POINTER (yyvsp[0].ttype));
! 4567: yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
1.1 root 4568: break;}
1.1.1.4 ! root 4569: case 264:
! 4570: #line 1720 "cp-parse.y"
! 4571: { yyval.ttype = IDENTIFIER_AS_LIST (yyval.ttype);
! 4572: TREE_STATIC (yyval.ttype) = 1; ;
1.1 root 4573: break;}
1.1.1.4 ! root 4574: case 265:
! 4575: #line 1723 "cp-parse.y"
1.1 root 4576: { yyval.ttype = IDENTIFIER_AS_LIST (yyval.ttype); ;
4577: break;}
1.1.1.4 ! root 4578: case 266:
! 4579: #line 1725 "cp-parse.y"
! 4580: { yyval.ttype = hash_tree_chain (yyvsp[0].ttype, yyval.ttype);
! 4581: TREE_STATIC (yyval.ttype) = 1; ;
1.1 root 4582: break;}
1.1.1.4 ! root 4583: case 267:
! 4584: #line 1728 "cp-parse.y"
! 4585: { if (extra_warnings && TREE_STATIC (yyval.ttype))
! 4586: warning ("`%s' is not at beginning of declaration",
! 4587: IDENTIFIER_POINTER (yyvsp[0].ttype));
! 4588: yyval.ttype = hash_tree_chain (yyvsp[0].ttype, yyval.ttype);
! 4589: TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
1.1 root 4590: break;}
1.1.1.4 ! root 4591: case 268:
! 4592: #line 1744 "cp-parse.y"
1.1 root 4593: { yyval.ttype = get_decl_list (yyval.ttype); ;
4594: break;}
1.1.1.4 ! root 4595: case 269:
! 4596: #line 1746 "cp-parse.y"
1.1 root 4597: { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
4598: break;}
1.1.1.4 ! root 4599: case 270:
! 4600: #line 1748 "cp-parse.y"
1.1 root 4601: { yyval.ttype = decl_tree_cons (NULL_TREE, yyval.ttype, yyvsp[0].ttype); ;
4602: break;}
1.1.1.4 ! root 4603: case 271:
! 4604: #line 1750 "cp-parse.y"
1.1 root 4605: { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[-1].ttype, hash_chainon (yyvsp[0].ttype, yyval.ttype)); ;
4606: break;}
1.1.1.4 ! root 4607: case 272:
! 4608: #line 1755 "cp-parse.y"
1.1 root 4609: { yyval.ttype = get_decl_list (yyval.ttype); ;
4610: break;}
1.1.1.4 ! root 4611: case 273:
! 4612: #line 1757 "cp-parse.y"
1.1 root 4613: { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
4614: break;}
1.1.1.4 ! root 4615: case 278:
! 4616: #line 1769 "cp-parse.y"
1.1 root 4617: { yyval.ttype = TREE_TYPE (yyvsp[-1].ttype);
4618: if (pedantic)
1.1.1.4 ! root 4619: pedwarn ("ANSI C++ forbids `typeof'"); ;
1.1 root 4620: break;}
1.1.1.4 ! root 4621: case 279:
! 4622: #line 1773 "cp-parse.y"
1.1 root 4623: { yyval.ttype = groktypename (yyvsp[-1].ttype);
4624: if (pedantic)
1.1.1.4 ! root 4625: pedwarn ("ANSI C++ forbids `typeof'"); ;
1.1 root 4626: break;}
1.1.1.4 ! root 4627: case 288:
! 4628: #line 1798 "cp-parse.y"
1.1 root 4629: { yyval.ttype = NULL_TREE; ;
4630: break;}
1.1.1.4 ! root 4631: case 289:
! 4632: #line 1800 "cp-parse.y"
1.1 root 4633: { if (TREE_CHAIN (yyvsp[-1].ttype)) yyvsp[-1].ttype = combine_strings (yyvsp[-1].ttype);
4634: yyval.ttype = yyvsp[-1].ttype;
4635: if (pedantic)
1.1.1.4 ! root 4636: pedwarn ("ANSI C++ forbids use of `asm' keyword");
1.1 root 4637: ;
4638: break;}
1.1.1.4 ! root 4639: case 290:
! 4640: #line 1809 "cp-parse.y"
1.1 root 4641: { current_declspecs = yyvsp[-5].ttype;
4642: yyvsp[0].itype = suspend_momentary ();
1.1.1.3 root 4643: yyval.ttype = start_decl (yyvsp[-4].ttype, current_declspecs, 1, yyvsp[-3].ttype);
1.1.1.4 ! root 4644: cplus_decl_attributes (yyval.ttype, yyvsp[-1].ttype); ;
1.1 root 4645: break;}
1.1.1.4 ! root 4646: case 291:
! 4647: #line 1815 "cp-parse.y"
1.1.1.3 root 4648: { finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 0);
1.1 root 4649: yyval.itype = yyvsp[-2].itype; ;
4650: break;}
1.1.1.4 ! root 4651: case 292:
! 4652: #line 1818 "cp-parse.y"
1.1 root 4653: { tree d;
4654: current_declspecs = yyvsp[-4].ttype;
4655: yyval.itype = suspend_momentary ();
4656: d = start_decl (yyvsp[-3].ttype, current_declspecs, 0, yyvsp[-2].ttype);
1.1.1.4 ! root 4657: cplus_decl_attributes (d, yyvsp[0].ttype);
1.1.1.3 root 4658: finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 0); ;
1.1 root 4659: break;}
1.1.1.4 ! root 4660: case 293:
! 4661: #line 1828 "cp-parse.y"
1.1.1.3 root 4662: { yyval.ttype = start_decl (yyvsp[-4].ttype, current_declspecs, 1, yyvsp[-3].ttype);
1.1.1.4 ! root 4663: cplus_decl_attributes (yyval.ttype, yyvsp[-1].ttype); ;
1.1 root 4664: break;}
1.1.1.4 ! root 4665: case 294:
! 4666: #line 1832 "cp-parse.y"
1.1.1.3 root 4667: { finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 0); ;
1.1 root 4668: break;}
1.1.1.4 ! root 4669: case 295:
! 4670: #line 1834 "cp-parse.y"
1.1 root 4671: { tree d = start_decl (yyval.itype, current_declspecs, 0, yyvsp[-2].ttype);
1.1.1.4 ! root 4672: cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype);
1.1.1.3 root 4673: finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 0); ;
1.1 root 4674: break;}
1.1.1.4 ! root 4675: case 296:
! 4676: #line 1841 "cp-parse.y"
1.1 root 4677: { current_declspecs = yyvsp[-5].ttype;
4678: yyvsp[0].itype = suspend_momentary ();
1.1.1.3 root 4679: yyval.ttype = start_decl (yyvsp[-4].ttype, current_declspecs, 1, yyvsp[-3].ttype);
1.1.1.4 ! root 4680: cplus_decl_attributes (yyval.ttype, yyvsp[-1].ttype); ;
1.1 root 4681: break;}
1.1.1.4 ! root 4682: case 297:
! 4683: #line 1847 "cp-parse.y"
1.1.1.3 root 4684: { finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 0);
1.1 root 4685: yyval.itype = yyvsp[-2].itype; ;
4686: break;}
1.1.1.4 ! root 4687: case 298:
! 4688: #line 1850 "cp-parse.y"
1.1 root 4689: { tree d;
4690: current_declspecs = yyvsp[-4].ttype;
4691: yyval.itype = suspend_momentary ();
4692: d = start_decl (yyvsp[-3].ttype, current_declspecs, 0, yyvsp[-2].ttype);
1.1.1.4 ! root 4693: cplus_decl_attributes (d, yyvsp[0].ttype);
1.1.1.3 root 4694: finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 0); ;
1.1 root 4695: break;}
1.1.1.4 ! root 4696: case 299:
! 4697: #line 1862 "cp-parse.y"
1.1 root 4698: { yyval.ttype = NULL_TREE; ;
4699: break;}
1.1.1.4 ! root 4700: case 300:
! 4701: #line 1864 "cp-parse.y"
1.1 root 4702: { yyval.ttype = yyvsp[-2].ttype; ;
4703: break;}
1.1.1.4 ! root 4704: case 301:
! 4705: #line 1869 "cp-parse.y"
1.1.1.3 root 4706: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
4707: break;}
1.1.1.4 ! root 4708: case 302:
! 4709: #line 1871 "cp-parse.y"
1.1.1.3 root 4710: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype); ;
4711: break;}
1.1.1.4 ! root 4712: case 303:
! 4713: #line 1876 "cp-parse.y"
1.1.1.3 root 4714: { if (strcmp (IDENTIFIER_POINTER (yyvsp[0].ttype), "packed"))
4715: warning ("`%s' attribute directive ignored",
4716: IDENTIFIER_POINTER (yyvsp[0].ttype));
4717: yyval.ttype = yyvsp[0].ttype; ;
1.1 root 4718: break;}
1.1.1.4 ! root 4719: case 304:
! 4720: #line 1881 "cp-parse.y"
1.1.1.3 root 4721: { /* if not "aligned(n)", then issue warning */
4722: if (strcmp (IDENTIFIER_POINTER (yyvsp[-3].ttype), "aligned") != 0
4723: || TREE_CODE (yyvsp[-1].ttype) != INTEGER_CST)
4724: {
4725: warning ("`%s' attribute directive ignored",
4726: IDENTIFIER_POINTER (yyvsp[-3].ttype));
4727: yyval.ttype = yyvsp[-3].ttype;
4728: }
4729: else
1.1.1.4 ! root 4730: yyval.ttype = tree_cons (yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE); ;
1.1 root 4731: break;}
1.1.1.4 ! root 4732: case 305:
! 4733: #line 1892 "cp-parse.y"
1.1.1.3 root 4734: { /* if not "format(...)", then issue warning */
4735: if (strcmp (IDENTIFIER_POINTER (yyvsp[-7].ttype), "format") != 0
4736: || TREE_CODE (yyvsp[-3].ttype) != INTEGER_CST
4737: || TREE_CODE (yyvsp[-1].ttype) != INTEGER_CST)
4738: {
4739: warning ("`%s' attribute directive ignored",
4740: IDENTIFIER_POINTER (yyvsp[-7].ttype));
4741: yyval.ttype = yyvsp[-7].ttype;
4742: }
4743: else
1.1.1.4 ! root 4744: 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 4745: break;}
1.1.1.4 ! root 4746: case 306:
! 4747: #line 1908 "cp-parse.y"
1.1.1.2 root 4748: { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
4749: break;}
1.1.1.4 ! root 4750: case 307:
! 4751: #line 1910 "cp-parse.y"
1.1.1.2 root 4752: { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
4753: break;}
1.1.1.4 ! root 4754: case 309:
! 4755: #line 1916 "cp-parse.y"
1.1 root 4756: { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, NULL_TREE);
4757: TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1;
4758: if (pedantic)
1.1.1.4 ! root 4759: pedwarn ("ANSI C++ forbids empty initializer braces"); ;
1.1 root 4760: break;}
1.1.1.4 ! root 4761: case 310:
! 4762: #line 1921 "cp-parse.y"
1.1 root 4763: { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-1].ttype));
4764: TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
4765: break;}
1.1.1.4 ! root 4766: case 311:
! 4767: #line 1924 "cp-parse.y"
1.1 root 4768: { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-2].ttype));
4769: TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
4770: break;}
1.1.1.4 ! root 4771: case 312:
! 4772: #line 1927 "cp-parse.y"
1.1 root 4773: { yyval.ttype = NULL_TREE; ;
4774: break;}
1.1.1.4 ! root 4775: case 313:
! 4776: #line 1934 "cp-parse.y"
1.1 root 4777: { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
4778: break;}
1.1.1.4 ! root 4779: case 314:
! 4780: #line 1936 "cp-parse.y"
1.1 root 4781: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
4782: break;}
1.1.1.4 ! root 4783: case 315:
! 4784: #line 1939 "cp-parse.y"
1.1 root 4785: { yyval.ttype = build_tree_list (yyvsp[-2].ttype, yyvsp[0].ttype); ;
4786: break;}
1.1.1.4 ! root 4787: case 316:
! 4788: #line 1941 "cp-parse.y"
1.1 root 4789: { yyval.ttype = tree_cons (yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype); ;
4790: break;}
1.1.1.4 ! root 4791: case 317:
! 4792: #line 1943 "cp-parse.y"
1.1 root 4793: { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[0].ttype); ;
4794: break;}
1.1.1.4 ! root 4795: case 318:
! 4796: #line 1945 "cp-parse.y"
1.1 root 4797: { yyval.ttype = tree_cons (yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype); ;
4798: break;}
1.1.1.4 ! root 4799: case 319:
! 4800: #line 1950 "cp-parse.y"
1.1 root 4801: { yyvsp[0].itype = suspend_momentary ();
4802: yyval.ttype = start_enum (yyvsp[-1].ttype); ;
4803: break;}
1.1.1.4 ! root 4804: case 320:
! 4805: #line 1953 "cp-parse.y"
1.1 root 4806: { yyval.ttype = finish_enum (yyvsp[-3].ttype, yyvsp[-2].ttype);
4807: resume_momentary (yyvsp[-4].itype);
4808: check_for_missing_semicolon (yyvsp[-3].ttype); ;
4809: break;}
1.1.1.4 ! root 4810: case 321:
! 4811: #line 1957 "cp-parse.y"
1.1 root 4812: { yyval.ttype = finish_enum (start_enum (yyvsp[-2].ttype), NULL_TREE);
4813: check_for_missing_semicolon (yyval.ttype); ;
4814: break;}
1.1.1.4 ! root 4815: case 322:
! 4816: #line 1960 "cp-parse.y"
1.1 root 4817: { yyvsp[0].itype = suspend_momentary ();
4818: yyval.ttype = start_enum (make_anon_name ()); ;
4819: break;}
1.1.1.4 ! root 4820: case 323:
! 4821: #line 1963 "cp-parse.y"
1.1 root 4822: { yyval.ttype = finish_enum (yyvsp[-3].ttype, yyvsp[-2].ttype);
4823: resume_momentary (yyvsp[-5].itype);
4824: check_for_missing_semicolon (yyvsp[-3].ttype); ;
4825: break;}
1.1.1.4 ! root 4826: case 324:
! 4827: #line 1967 "cp-parse.y"
1.1 root 4828: { yyval.ttype = finish_enum (start_enum (make_anon_name()), NULL_TREE);
4829: check_for_missing_semicolon (yyval.ttype); ;
4830: break;}
1.1.1.4 ! root 4831: case 325:
! 4832: #line 1970 "cp-parse.y"
1.1 root 4833: { yyval.ttype = xref_tag (enum_type_node, yyvsp[0].ttype, NULL_TREE); ;
4834: break;}
1.1.1.4 ! root 4835: case 326:
! 4836: #line 1974 "cp-parse.y"
1.1 root 4837: {
4838: int semi;
1.1.1.4 ! root 4839: tree id;
! 4840:
1.1 root 4841: #if 0
4842: /* Need to rework class nesting in the
4843: presence of nested classes, etc. */
4844: shadow_tag (CLASSTYPE_AS_LIST (yyval.ttype)); */
4845: #endif
1.1.1.4 ! root 4846: if (yychar == YYEMPTY)
! 4847: yychar = YYLEX;
1.1 root 4848: semi = yychar == ';';
1.1.1.4 ! root 4849: /* finish_struct nukes this anyway; if
! 4850: finish_exception does too, then it can go. */
1.1 root 4851: if (semi)
4852: note_got_semicolon (yyval.ttype);
1.1.1.4 ! root 4853:
1.1 root 4854: if (TREE_CODE (yyval.ttype) == ENUMERAL_TYPE)
4855: /* $$ = $1 from default rule. */;
4856: else if (CLASSTYPE_DECLARED_EXCEPTION (yyval.ttype))
4857: {
4858: if (! semi)
4859: yyval.ttype = finish_exception (yyval.ttype, yyvsp[-1].ttype);
4860: else
4861: warning ("empty exception declaration\n");
4862: }
4863: else
1.1.1.4 ! root 4864: {
! 4865: yyval.ttype = finish_struct (yyval.ttype, yyvsp[-1].ttype, semi, semi);
! 4866: if (semi) note_got_semicolon (yyval.ttype);
! 4867: }
1.1 root 4868:
4869: pop_obstacks ();
1.1.1.4 ! root 4870:
! 4871: id = TYPE_IDENTIFIER (yyval.ttype);
! 4872: if (IDENTIFIER_TEMPLATE (id))
! 4873: {
! 4874: tree decl;
! 4875:
! 4876: /* I don't know if the copying of this TYPE_DECL is
! 4877: * really needed. However, it's such a small per-
! 4878: * formance penalty that the extra safety is a bargain.
! 4879: * - [email protected]
! 4880: */
! 4881: push_obstacks (&permanent_obstack, &permanent_obstack);
! 4882: decl = copy_node (lookup_name (id));
! 4883: if (DECL_LANG_SPECIFIC (decl))
! 4884: copy_lang_decl (decl);
! 4885: pop_obstacks ();
! 4886: undo_template_name_overload (id, 0);
! 4887: pushdecl_top_level (decl);
! 4888: }
1.1 root 4889: if (! semi)
4890: check_for_missing_semicolon (yyval.ttype); ;
4891: break;}
1.1.1.4 ! root 4892: case 327:
! 4893: #line 2029 "cp-parse.y"
1.1 root 4894: {
4895: #if 0
4896: /* It's no longer clear what the following error is supposed to
4897: accomplish. If it turns out to be needed, add a comment why. */
4898: if (TYPE_BINFO_BASETYPES (yyval.ttype) && !TYPE_SIZE (yyval.ttype))
4899: {
4900: error ("incomplete definition of type `%s'",
4901: TYPE_NAME_STRING (yyval.ttype));
4902: yyval.ttype = error_mark_node;
4903: }
4904: #endif
4905: ;
4906: break;}
1.1.1.4 ! root 4907: case 331:
! 4908: #line 2051 "cp-parse.y"
! 4909: { if (pedantic)
! 4910: pedwarn ("ANSI C++ forbids comma at end of enumerator list"); ;
1.1 root 4911: break;}
1.1.1.4 ! root 4912: case 333:
! 4913: #line 2057 "cp-parse.y"
1.1 root 4914: { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
4915: break;}
1.1.1.4 ! root 4916: case 334:
! 4917: #line 2059 "cp-parse.y"
1.1 root 4918: { yyval.ttype = build_tree_list (yyvsp[-2].ttype, yyvsp[0].ttype); ;
4919: break;}
1.1.1.4 ! root 4920: case 335:
! 4921: #line 2061 "cp-parse.y"
1.1 root 4922: { error ("storage class specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype));
4923: ;
4924: break;}
1.1.1.4 ! root 4925: case 336:
! 4926: #line 2064 "cp-parse.y"
1.1 root 4927: { error ("type specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype));
4928: ;
4929: break;}
1.1.1.4 ! root 4930: case 337:
! 4931: #line 2067 "cp-parse.y"
1.1 root 4932: { error ("type qualifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype));
4933: ;
4934: break;}
1.1.1.4 ! root 4935: case 338:
! 4936: #line 2070 "cp-parse.y"
1.1 root 4937: { error ("no body nor ';' separates two class, struct or union declarations");
4938: ;
4939: break;}
1.1.1.4 ! root 4940: case 339:
! 4941: #line 2076 "cp-parse.y"
1.1 root 4942: { aggr1: current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
4943: break;}
1.1.1.4 ! root 4944: case 340:
! 4945: #line 2078 "cp-parse.y"
1.1 root 4946: { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
4947: break;}
1.1.1.4 ! root 4948: case 341:
! 4949: #line 2080 "cp-parse.y"
1.1 root 4950: { yyungetc (':', 1); goto aggr1; ;
4951: break;}
1.1.1.4 ! root 4952: case 342:
! 4953: #line 2082 "cp-parse.y"
1.1 root 4954: { yyungetc ('{', 1);
4955: aggr2:
4956: current_aggr = yyval.ttype;
1.1.1.4 ! root 4957: yyval.ttype = yyvsp[-1].ttype;
! 4958: overload_template_name (yyval.ttype, 0); ;
1.1 root 4959: break;}
1.1.1.4 ! root 4960: case 343:
! 4961: #line 2088 "cp-parse.y"
1.1 root 4962: { yyungetc (':', 1); goto aggr2; ;
4963: break;}
1.1.1.4 ! root 4964: case 344:
! 4965: #line 2093 "cp-parse.y"
1.1 root 4966: { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
4967: break;}
1.1.1.4 ! root 4968: case 345:
! 4969: #line 2098 "cp-parse.y"
1.1 root 4970: {
4971: yyval.ttype = xref_tag (current_aggr, yyvsp[0].ttype, NULL_TREE);
4972: ;
4973: break;}
1.1.1.4 ! root 4974: case 346:
! 4975: #line 2102 "cp-parse.y"
1.1 root 4976: {
4977: if (yyvsp[0].ttype)
4978: yyval.ttype = xref_tag (current_aggr, yyvsp[-2].ttype, yyvsp[0].ttype);
4979: else
4980: yyval.ttype = yyvsp[-1].ttype;
4981: ;
4982: break;}
1.1.1.4 ! root 4983: case 347:
! 4984: #line 2110 "cp-parse.y"
1.1 root 4985: {
4986: yyval.ttype = xref_defn_tag (current_aggr, yyvsp[0].ttype, NULL_TREE);
4987: ;
4988: break;}
1.1.1.4 ! root 4989: case 348:
! 4990: #line 2114 "cp-parse.y"
1.1 root 4991: {
4992: if (yyvsp[0].ttype)
4993: yyval.ttype = xref_defn_tag (current_aggr, yyvsp[-2].ttype, yyvsp[0].ttype);
4994: else
4995: yyval.ttype = yyvsp[-1].ttype;
4996: ;
4997: break;}
1.1.1.4 ! root 4998: case 349:
! 4999: #line 2123 "cp-parse.y"
1.1 root 5000: { yyval.ttype = xref_tag (yyval.ttype, make_anon_name (), NULL_TREE);
5001: yyungetc ('{', 1); ;
5002: break;}
1.1.1.4 ! root 5003: case 352:
! 5004: #line 2131 "cp-parse.y"
1.1 root 5005: { yyval.ttype = NULL_TREE; ;
5006: break;}
1.1.1.4 ! root 5007: case 353:
! 5008: #line 2133 "cp-parse.y"
1.1 root 5009: { yyungetc(':', 1); yyval.ttype = NULL_TREE; ;
5010: break;}
1.1.1.4 ! root 5011: case 354:
! 5012: #line 2135 "cp-parse.y"
1.1 root 5013: { yyval.ttype = yyvsp[0].ttype; ;
5014: break;}
1.1.1.4 ! root 5015: case 356:
! 5016: #line 2141 "cp-parse.y"
1.1 root 5017: { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
5018: break;}
1.1.1.4 ! root 5019: case 357:
! 5020: #line 2146 "cp-parse.y"
1.1 root 5021: { if (! is_aggr_typedef (yyval.ttype, 1))
5022: yyval.ttype = NULL_TREE;
5023: else yyval.ttype = build_tree_list ((tree)visibility_default, yyval.ttype); ;
5024: break;}
1.1.1.4 ! root 5025: case 358:
! 5026: #line 2150 "cp-parse.y"
! 5027: { if (! is_aggr_typedef (yyval.ttype, 1))
! 5028: yyval.ttype = NULL_TREE;
! 5029: else yyval.ttype = build_tree_list ((tree)visibility_default, yyval.ttype); ;
! 5030: break;}
! 5031: case 359:
! 5032: #line 2154 "cp-parse.y"
1.1 root 5033: { if (! is_aggr_typedef (yyvsp[0].ttype, 1))
5034: yyval.ttype = NULL_TREE;
5035: else yyval.ttype = build_tree_list ((tree) yyval.ttype, yyvsp[0].ttype); ;
5036: break;}
1.1.1.4 ! root 5037: case 360:
! 5038: #line 2158 "cp-parse.y"
! 5039: { if (! is_aggr_typedef (yyvsp[0].ttype, 1))
! 5040: yyval.ttype = NULL_TREE;
! 5041: else yyval.ttype = build_tree_list ((tree) yyval.ttype, yyvsp[0].ttype); ;
! 5042: break;}
! 5043: case 361:
! 5044: #line 2165 "cp-parse.y"
1.1 root 5045: {
1.1.1.4 ! root 5046: /* Kludge!!! See rule "template_type" and the code
! 5047: * dealing with "template_type_seen_before_scope" in
! 5048: * yylex(). */
! 5049: yyval.ttype = yyvsp[0].ttype;
1.1 root 5050: ;
5051: break;}
1.1.1.4 ! root 5052: case 362:
! 5053: #line 2174 "cp-parse.y"
! 5054: {
! 5055: extern tree template_type_seen_before_scope;
! 5056: tree id = yyvsp[0].ttype ? TYPE_IDENTIFIER (yyvsp[0].ttype) : yyvsp[-2].ttype;
! 5057:
! 5058: /* Check the rule template_type to get this... */
! 5059: if (yychar == YYEMPTY)
! 5060: yychar = YYLEX;
! 5061: if (yychar == SCOPE) {
! 5062: template_type_seen_before_scope = id;
! 5063: yychar = YYLEX;
! 5064: }
! 5065: ;
! 5066: break;}
! 5067: case 365:
! 5068: #line 2192 "cp-parse.y"
1.1 root 5069: { if (yyval.ttype != ridpointers[(int)RID_VIRTUAL])
5070: sorry ("non-virtual visibility");
5071: yyval.itype = visibility_default_virtual; ;
5072: break;}
1.1.1.4 ! root 5073: case 366:
! 5074: #line 2196 "cp-parse.y"
1.1 root 5075: { int err = 0;
5076: if (yyvsp[0].itype == visibility_protected)
5077: {
5078: warning ("`protected' visibility not implemented");
5079: yyvsp[0].itype = visibility_public;
5080: err++;
5081: }
5082: else if (yyvsp[0].itype == visibility_public)
5083: {
5084: if (yyvsp[-1].itype == visibility_private)
5085: {
5086: mixed:
5087: error ("base class cannot be public and private");
5088: }
5089: else if (yyvsp[-1].itype == visibility_default_virtual)
5090: yyval.itype = visibility_public_virtual;
5091: }
1.1.1.2 root 5092: else /* $2 == visibility_private */
1.1 root 5093: {
5094: if (yyvsp[-1].itype == visibility_public)
5095: goto mixed;
5096: else if (yyvsp[-1].itype == visibility_default_virtual)
5097: yyval.itype = visibility_private_virtual;
5098: }
5099: ;
5100: break;}
1.1.1.4 ! root 5101: case 367:
! 5102: #line 2222 "cp-parse.y"
1.1 root 5103: { if (yyvsp[0].ttype != ridpointers[(int)RID_VIRTUAL])
5104: sorry ("non-virtual visibility");
5105: if (yyval.itype == visibility_public)
5106: yyval.itype = visibility_public_virtual;
5107: else if (yyval.itype == visibility_private)
5108: yyval.itype = visibility_private_virtual; ;
5109: break;}
1.1.1.4 ! root 5110: case 368:
! 5111: #line 2231 "cp-parse.y"
1.1 root 5112: { tree t;
5113: push_obstacks_nochange ();
5114: end_temporary_allocation ();
5115:
5116: if (! IS_AGGR_TYPE (yyvsp[-1].ttype))
5117: {
5118: yyvsp[-1].ttype = make_lang_type (RECORD_TYPE);
5119: TYPE_NAME (yyvsp[-1].ttype) = get_identifier ("erroneous type");
5120: }
5121: if (TYPE_SIZE (yyvsp[-1].ttype))
5122: duplicate_tag_error (yyvsp[-1].ttype);
5123: if (TYPE_SIZE (yyvsp[-1].ttype) || TYPE_BEING_DEFINED (yyvsp[-1].ttype))
5124: {
5125: t = make_lang_type (TREE_CODE (yyvsp[-1].ttype));
1.1.1.3 root 5126: pushtag (TYPE_IDENTIFIER (yyvsp[-1].ttype), t);
1.1 root 5127: yyvsp[-1].ttype = t;
5128: }
5129: pushclass (yyvsp[-1].ttype, 0);
5130: TYPE_BEING_DEFINED (yyvsp[-1].ttype) = 1;
1.1.1.3 root 5131: t = TYPE_IDENTIFIER (yyvsp[-1].ttype);
1.1 root 5132: if (IDENTIFIER_TEMPLATE (t))
5133: overload_template_name (t, 1);
5134: ;
5135: break;}
1.1.1.4 ! root 5136: case 369:
! 5137: #line 2258 "cp-parse.y"
1.1 root 5138: { yyval.ttype = NULL_TREE; ;
5139: break;}
1.1.1.4 ! root 5140: case 370:
! 5141: #line 2260 "cp-parse.y"
1.1 root 5142: { yyval.ttype = build_tree_list ((tree)visibility_default, yyval.ttype); ;
5143: break;}
1.1.1.4 ! root 5144: case 371:
! 5145: #line 2262 "cp-parse.y"
1.1 root 5146: { yyval.ttype = chainon (yyval.ttype, build_tree_list ((tree) yyvsp[-2].itype, yyvsp[0].ttype)); ;
5147: break;}
1.1.1.4 ! root 5148: case 373:
! 5149: #line 2268 "cp-parse.y"
1.1 root 5150: { if (yyval.ttype == void_type_node) yyval.ttype = NULL_TREE; ;
5151: break;}
1.1.1.4 ! root 5152: case 374:
! 5153: #line 2270 "cp-parse.y"
1.1 root 5154: { if (yyvsp[0].ttype != NULL_TREE && yyvsp[0].ttype != void_type_node)
5155: yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
5156: break;}
1.1.1.4 ! root 5157: case 375:
! 5158: #line 2273 "cp-parse.y"
1.1 root 5159: { if (pedantic)
1.1.1.4 ! root 5160: pedwarn ("ANSI C++ forbids extra semicolons here"); ;
1.1 root 5161: break;}
1.1.1.4 ! root 5162: case 376:
! 5163: #line 2279 "cp-parse.y"
1.1 root 5164: {
5165: do_components:
5166: if (yyvsp[-1].ttype == void_type_node)
5167: /* We just got some friends.
5168: They have been recorded elsewhere. */
5169: yyval.ttype = NULL_TREE;
5170: else if (yyvsp[-1].ttype == NULL_TREE)
5171: {
5172: tree t = groktypename (build_decl_list (yyval.ttype, NULL_TREE));
5173: if (t == NULL_TREE)
5174: {
5175: error ("error in component specification");
5176: yyval.ttype = NULL_TREE;
5177: }
5178: else if (TREE_CODE (t) == UNION_TYPE)
5179: {
5180: /* handle anonymous unions */
1.1.1.4 ! root 5181: if (ANON_AGGRNAME_P (TYPE_IDENTIFIER (t)))
! 5182: yyval.ttype = build_lang_field_decl (FIELD_DECL,
! 5183: NULL_TREE, t);
! 5184: else
! 5185: {
! 5186: /* This is a local union decl with a name, but
! 5187: no components, I think this is the right thing
! 5188: to do. (mrs) */
! 5189: #if 0
! 5190: /* I copied this from below, it is probably
! 5191: needed, but I cannot prove that to myself
! 5192: right now, but if you find it is needed
! 5193: please turn it on. (mrs) */
! 5194: if (TYPE_LANG_SPECIFIC (t)
! 5195: && CLASSTYPE_DECLARED_EXCEPTION (t))
! 5196: shadow_tag (yyval.ttype);
! 5197: #endif
! 5198: yyval.ttype = NULL_TREE;
! 5199: }
1.1 root 5200: }
5201: else if (TREE_CODE (t) == ENUMERAL_TYPE)
5202: yyval.ttype = grok_enum_decls (t, NULL_TREE);
5203: else if (TREE_CODE (t) == RECORD_TYPE)
5204: {
5205: if (TYPE_LANG_SPECIFIC (t)
5206: && CLASSTYPE_DECLARED_EXCEPTION (t))
5207: shadow_tag (yyval.ttype);
5208: yyval.ttype = NULL_TREE;
5209: }
5210: else if (t != void_type_node)
5211: {
5212: error ("empty component declaration");
5213: yyval.ttype = NULL_TREE;
5214: }
5215: else yyval.ttype = NULL_TREE;
5216: }
5217: else
5218: {
5219: tree t = TREE_TYPE (yyvsp[-1].ttype);
5220: if (TREE_CODE (t) == ENUMERAL_TYPE && TREE_NONLOCAL_FLAG (t))
5221: yyval.ttype = grok_enum_decls (t, yyvsp[-1].ttype);
5222: else
5223: yyval.ttype = yyvsp[-1].ttype;
5224: }
5225: end_exception_decls ();
5226: ;
5227: break;}
1.1.1.4 ! root 5228: case 377:
! 5229: #line 2343 "cp-parse.y"
1.1 root 5230: { yyval.ttype = groktypefield (yyval.ttype, yyvsp[-2].ttype); ;
5231: break;}
1.1.1.4 ! root 5232: case 378:
! 5233: #line 2345 "cp-parse.y"
1.1 root 5234: { error ("missing ';' before right brace");
5235: yyungetc ('}', 0);
5236: yyval.ttype = groktypefield (yyval.ttype, yyvsp[-2].ttype); ;
5237: break;}
1.1.1.4 ! root 5238: case 379:
! 5239: #line 2349 "cp-parse.y"
1.1 root 5240: { yyval.ttype = groktypefield (yyval.ttype, empty_parms ()); ;
5241: break;}
1.1.1.4 ! root 5242: case 380:
! 5243: #line 2351 "cp-parse.y"
1.1 root 5244: { error ("missing ';' before right brace");
5245: yyungetc ('}', 0);
5246: yyval.ttype = groktypefield (yyval.ttype, empty_parms ()); ;
5247: break;}
1.1.1.4 ! root 5248: case 381:
! 5249: #line 2355 "cp-parse.y"
1.1 root 5250: { goto do_components; ;
5251: break;}
1.1.1.4 ! root 5252: case 382:
! 5253: #line 2358 "cp-parse.y"
1.1 root 5254: { yyval.ttype = grokfield (yyvsp[-1].ttype, yyval.ttype, 0, 0, 0, 0); ;
5255: break;}
1.1.1.4 ! root 5256: case 383:
! 5257: #line 2360 "cp-parse.y"
1.1 root 5258: { error ("missing ';' before right brace");
5259: yyungetc ('}', 0);
5260: goto do_components; ;
5261: break;}
1.1.1.4 ! root 5262: case 384:
! 5263: #line 2364 "cp-parse.y"
1.1 root 5264: { yyval.ttype = groktypefield (yyval.ttype, yyvsp[-2].ttype); ;
5265: break;}
1.1.1.4 ! root 5266: case 385:
! 5267: #line 2366 "cp-parse.y"
1.1 root 5268: { error ("missing ';' before right brace");
5269: yyungetc ('}', 0);
5270: yyval.ttype = groktypefield (yyval.ttype, yyvsp[-2].ttype); ;
5271: break;}
1.1.1.4 ! root 5272: case 386:
! 5273: #line 2370 "cp-parse.y"
1.1 root 5274: { yyval.ttype = groktypefield (yyval.ttype, empty_parms ()); ;
5275: break;}
1.1.1.4 ! root 5276: case 387:
! 5277: #line 2372 "cp-parse.y"
1.1 root 5278: { error ("missing ';' before right brace");
5279: yyungetc ('}', 0);
5280: yyval.ttype = groktypefield (yyval.ttype, empty_parms ()); ;
5281: break;}
1.1.1.4 ! root 5282: case 388:
! 5283: #line 2376 "cp-parse.y"
1.1 root 5284: { yyval.ttype = grokbitfield (NULL_TREE, NULL_TREE, yyvsp[-1].ttype); ;
5285: break;}
1.1.1.4 ! root 5286: case 389:
! 5287: #line 2378 "cp-parse.y"
1.1 root 5288: { error ("missing ';' before right brace");
5289: yyungetc ('}', 0);
5290: yyval.ttype = grokbitfield (NULL_TREE, NULL_TREE, yyvsp[-1].ttype); ;
5291: break;}
1.1.1.4 ! root 5292: case 390:
! 5293: #line 2382 "cp-parse.y"
1.1 root 5294: { yyval.ttype = NULL_TREE; ;
5295: break;}
1.1.1.4 ! root 5296: case 391:
! 5297: #line 2387 "cp-parse.y"
1.1 root 5298: { yyval.ttype = finish_method (yyval.ttype); ;
5299: break;}
1.1.1.4 ! root 5300: case 392:
! 5301: #line 2389 "cp-parse.y"
1.1 root 5302: { yyval.ttype = finish_method (yyval.ttype); ;
5303: break;}
1.1.1.4 ! root 5304: case 393:
! 5305: #line 2391 "cp-parse.y"
1.1 root 5306: { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[-1].ttype, NULL_TREE, NULL_TREE); ;
5307: break;}
1.1.1.4 ! root 5308: case 394:
! 5309: #line 2393 "cp-parse.y"
1.1 root 5310: { error ("missing ';' before right brace");
5311: yyungetc ('}', 0);
5312: yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[-1].ttype, NULL_TREE, NULL_TREE); ;
5313: break;}
1.1.1.4 ! root 5314: case 395:
! 5315: #line 2400 "cp-parse.y"
1.1 root 5316: { yyval.ttype = NULL_TREE; ;
5317: break;}
1.1.1.4 ! root 5318: case 397:
! 5319: #line 2403 "cp-parse.y"
1.1 root 5320: {
5321: /* In this context, void_type_node encodes
5322: friends. They have been recorded elsewhere. */
5323: if (yyval.ttype == void_type_node)
5324: yyval.ttype = yyvsp[0].ttype;
5325: else
5326: yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype);
5327: ;
5328: break;}
1.1.1.4 ! root 5329: case 398:
! 5330: #line 2415 "cp-parse.y"
1.1.1.3 root 5331: { current_declspecs = yyvsp[-4].ttype;
5332: yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[-2].ttype, NULL_TREE, yyvsp[-1].ttype);
1.1.1.4 ! root 5333: cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
1.1.1.3 root 5334: break;}
1.1.1.4 ! root 5335: case 399:
! 5336: #line 2419 "cp-parse.y"
1.1.1.3 root 5337: { current_declspecs = yyvsp[-6].ttype;
5338: yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[-4].ttype, yyvsp[0].ttype, yyvsp[-3].ttype);
1.1.1.4 ! root 5339: cplus_decl_attributes (yyval.ttype, yyvsp[-2].ttype); ;
1.1.1.3 root 5340: break;}
1.1.1.4 ! root 5341: case 400:
! 5342: #line 2423 "cp-parse.y"
1.1.1.3 root 5343: { current_declspecs = yyvsp[-4].ttype;
5344: yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
1.1.1.4 ! root 5345: cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
1.1 root 5346: break;}
1.1.1.4 ! root 5347: case 401:
! 5348: #line 2427 "cp-parse.y"
1.1.1.3 root 5349: { current_declspecs = yyvsp[-3].ttype;
5350: yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
1.1.1.4 ! root 5351: cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
1.1 root 5352: break;}
1.1.1.4 ! root 5353: case 402:
! 5354: #line 2431 "cp-parse.y"
1.1.1.3 root 5355: { current_declspecs = yyvsp[-2].ttype;
5356: yyval.ttype = grokbitfield (NULL_TREE, NULL_TREE, yyvsp[0].ttype); ;
1.1 root 5357: break;}
1.1.1.4 ! root 5358: case 403:
! 5359: #line 2437 "cp-parse.y"
1.1.1.3 root 5360: { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[-2].ttype, NULL_TREE, yyvsp[-1].ttype);
1.1.1.4 ! root 5361: cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
1.1 root 5362: break;}
1.1.1.4 ! root 5363: case 404:
! 5364: #line 2440 "cp-parse.y"
1.1.1.3 root 5365: { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[-4].ttype, yyvsp[0].ttype, yyvsp[-3].ttype);
1.1.1.4 ! root 5366: cplus_decl_attributes (yyval.ttype, yyvsp[-2].ttype); ;
1.1 root 5367: break;}
1.1.1.4 ! root 5368: case 405:
! 5369: #line 2443 "cp-parse.y"
1.1.1.3 root 5370: { yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
1.1.1.4 ! root 5371: cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
1.1 root 5372: break;}
1.1.1.4 ! root 5373: case 406:
! 5374: #line 2446 "cp-parse.y"
1.1.1.3 root 5375: { yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
1.1.1.4 ! root 5376: cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
1.1 root 5377: break;}
1.1.1.4 ! root 5378: case 407:
! 5379: #line 2449 "cp-parse.y"
1.1 root 5380: { yyval.ttype = grokbitfield (NULL_TREE, NULL_TREE, yyvsp[0].ttype); ;
5381: break;}
1.1.1.4 ! root 5382: case 409:
! 5383: #line 2459 "cp-parse.y"
1.1 root 5384: { TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
5385: break;}
1.1.1.4 ! root 5386: case 410:
! 5387: #line 2464 "cp-parse.y"
1.1 root 5388: { yyval.ttype = build_enumerator (yyval.ttype, NULL_TREE); ;
5389: break;}
1.1.1.4 ! root 5390: case 411:
! 5391: #line 2466 "cp-parse.y"
1.1 root 5392: { yyval.ttype = build_enumerator (yyval.ttype, yyvsp[0].ttype); ;
5393: break;}
1.1.1.4 ! root 5394: case 412:
! 5395: #line 2471 "cp-parse.y"
1.1 root 5396: { yyval.ttype = build_decl_list (yyval.ttype, yyvsp[0].ttype); ;
5397: break;}
1.1.1.4 ! root 5398: case 413:
! 5399: #line 2473 "cp-parse.y"
1.1 root 5400: { yyval.ttype = build_decl_list (yyval.ttype, yyvsp[0].ttype); ;
5401: break;}
1.1.1.4 ! root 5402: case 414:
! 5403: #line 2478 "cp-parse.y"
1.1 root 5404: { yyval.ttype = NULL_TREE; ;
5405: break;}
1.1.1.4 ! root 5406: case 416:
! 5407: #line 2481 "cp-parse.y"
1.1 root 5408: { yyval.ttype = yyvsp[0].ttype; ;
5409: break;}
1.1.1.4 ! root 5410: case 417:
! 5411: #line 2486 "cp-parse.y"
1.1 root 5412: { yyval.ttype = IDENTIFIER_AS_LIST (yyval.ttype); ;
5413: break;}
1.1.1.4 ! root 5414: case 418:
! 5415: #line 2488 "cp-parse.y"
1.1 root 5416: { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
5417: break;}
1.1.1.4 ! root 5418: case 419:
! 5419: #line 2493 "cp-parse.y"
1.1 root 5420: { yyval.ttype = NULL_TREE; ;
5421: break;}
1.1.1.4 ! root 5422: case 420:
! 5423: #line 2495 "cp-parse.y"
1.1 root 5424: { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
5425: break;}
1.1.1.4 ! root 5426: case 421:
! 5427: #line 2503 "cp-parse.y"
1.1 root 5428: { yyval.itype = suspend_momentary (); ;
5429: break;}
1.1.1.4 ! root 5430: case 422:
! 5431: #line 2504 "cp-parse.y"
1.1 root 5432: { resume_momentary (yyvsp[-1].itype); yyval.ttype = yyvsp[0].ttype; ;
5433: break;}
1.1.1.4 ! root 5434: case 423:
! 5435: #line 2510 "cp-parse.y"
1.1 root 5436: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
5437: break;}
1.1.1.4 ! root 5438: case 424:
! 5439: #line 2512 "cp-parse.y"
1.1 root 5440: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
5441: break;}
1.1.1.4 ! root 5442: case 425:
! 5443: #line 2514 "cp-parse.y"
1.1 root 5444: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, empty_parms (), yyvsp[0].ttype); ;
5445: break;}
1.1.1.4 ! root 5446: case 426:
! 5447: #line 2516 "cp-parse.y"
1.1 root 5448: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, NULL_TREE, NULL_TREE); ;
5449: break;}
1.1.1.4 ! root 5450: case 427:
! 5451: #line 2518 "cp-parse.y"
1.1 root 5452: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
5453: break;}
1.1.1.4 ! root 5454: case 428:
! 5455: #line 2520 "cp-parse.y"
1.1 root 5456: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
5457: break;}
1.1.1.4 ! root 5458: case 429:
! 5459: #line 2522 "cp-parse.y"
1.1 root 5460: { yyval.ttype = yyvsp[-1].ttype; ;
5461: break;}
1.1.1.4 ! root 5462: case 430:
! 5463: #line 2524 "cp-parse.y"
1.1 root 5464: { yyval.ttype = make_pointer_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
5465: break;}
1.1.1.4 ! root 5466: case 431:
! 5467: #line 2526 "cp-parse.y"
1.1 root 5468: { see_typename (); ;
5469: break;}
1.1.1.4 ! root 5470: case 433:
! 5471: #line 2529 "cp-parse.y"
1.1 root 5472: { yyval.ttype = make_reference_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
5473: break;}
1.1.1.4 ! root 5474: case 434:
! 5475: #line 2531 "cp-parse.y"
1.1 root 5476: { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
5477: break;}
1.1.1.4 ! root 5478: case 435:
! 5479: #line 2533 "cp-parse.y"
1.1 root 5480: { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
5481: break;}
1.1.1.4 ! root 5482: case 437:
! 5483: #line 2539 "cp-parse.y"
1.1 root 5484: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
5485: break;}
1.1.1.4 ! root 5486: case 438:
! 5487: #line 2541 "cp-parse.y"
1.1 root 5488: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
5489: break;}
1.1.1.4 ! root 5490: case 439:
! 5491: #line 2543 "cp-parse.y"
1.1 root 5492: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, empty_parms (), yyvsp[0].ttype); ;
5493: break;}
1.1.1.4 ! root 5494: case 440:
! 5495: #line 2545 "cp-parse.y"
1.1 root 5496: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, NULL_TREE, NULL_TREE); ;
5497: break;}
1.1.1.4 ! root 5498: case 441:
! 5499: #line 2547 "cp-parse.y"
1.1 root 5500: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
5501: break;}
1.1.1.4 ! root 5502: case 442:
! 5503: #line 2549 "cp-parse.y"
1.1 root 5504: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
5505: break;}
1.1.1.4 ! root 5506: case 443:
! 5507: #line 2551 "cp-parse.y"
1.1 root 5508: { yyval.ttype = yyvsp[-1].ttype; ;
5509: break;}
1.1.1.4 ! root 5510: case 444:
! 5511: #line 2553 "cp-parse.y"
1.1 root 5512: { see_typename (); ;
5513: break;}
1.1.1.4 ! root 5514: case 446:
! 5515: #line 2556 "cp-parse.y"
1.1 root 5516: { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
5517: break;}
1.1.1.4 ! root 5518: case 447:
! 5519: #line 2558 "cp-parse.y"
1.1 root 5520: { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
5521: break;}
1.1.1.4 ! root 5522: case 448:
! 5523: #line 2566 "cp-parse.y"
1.1 root 5524: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
5525: break;}
1.1.1.4 ! root 5526: case 449:
! 5527: #line 2568 "cp-parse.y"
1.1 root 5528: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
5529: break;}
1.1.1.4 ! root 5530: case 450:
! 5531: #line 2570 "cp-parse.y"
1.1 root 5532: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, empty_parms (), yyvsp[0].ttype); ;
5533: break;}
1.1.1.4 ! root 5534: case 451:
! 5535: #line 2572 "cp-parse.y"
1.1 root 5536: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, NULL_TREE, NULL_TREE); ;
5537: break;}
1.1.1.4 ! root 5538: case 452:
! 5539: #line 2574 "cp-parse.y"
1.1 root 5540: { yyval.ttype = yyvsp[-1].ttype; ;
5541: break;}
1.1.1.4 ! root 5542: case 453:
! 5543: #line 2576 "cp-parse.y"
1.1 root 5544: { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
5545: break;}
1.1.1.4 ! root 5546: case 454:
! 5547: #line 2578 "cp-parse.y"
1.1 root 5548: { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
5549: break;}
1.1.1.4 ! root 5550: case 455:
! 5551: #line 2580 "cp-parse.y"
1.1 root 5552: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
5553: break;}
1.1.1.4 ! root 5554: case 456:
! 5555: #line 2582 "cp-parse.y"
1.1 root 5556: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
5557: break;}
1.1.1.4 ! root 5558: case 457:
! 5559: #line 2584 "cp-parse.y"
1.1 root 5560: { see_typename (); ;
5561: break;}
1.1.1.4 ! root 5562: case 458:
! 5563: #line 2588 "cp-parse.y"
1.1 root 5564: { see_typename (); ;
5565: break;}
1.1.1.4 ! root 5566: case 459:
! 5567: #line 2591 "cp-parse.y"
1.1 root 5568: {
1.1.1.4 ! root 5569: destructor_name:
1.1 root 5570: see_typename ();
1.1.1.4 ! root 5571: yyval.ttype = build_parse_node (BIT_NOT_EXPR, yyvsp[0].ttype);
1.1 root 5572: ;
5573: break;}
1.1.1.4 ! root 5574: case 460:
! 5575: #line 2597 "cp-parse.y"
! 5576: { goto destructor_name; ;
1.1 root 5577: break;}
1.1.1.4 ! root 5578: case 461:
! 5579: #line 2599 "cp-parse.y"
! 5580: { goto destructor_name; ;
! 5581: break;}
! 5582: case 462:
! 5583: #line 2601 "cp-parse.y"
1.1 root 5584: { see_typename ();
5585: if (TREE_CODE (yyval.ttype) != SCOPE_REF)
5586: yyval.ttype = build_push_scope (yyval.ttype, yyvsp[0].ttype);
5587: else if (TREE_OPERAND (yyval.ttype, 1) == NULL_TREE)
5588: TREE_OPERAND (yyval.ttype, 1) = yyvsp[0].ttype;
5589: else
5590: yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype);
5591: ;
5592: break;}
1.1.1.4 ! root 5593: case 463:
! 5594: #line 2610 "cp-parse.y"
1.1 root 5595: { yyval.ttype = build_push_scope (yyval.ttype, yyvsp[0].ttype); ;
5596: break;}
1.1.1.4 ! root 5597: case 464:
! 5598: #line 2612 "cp-parse.y"
1.1 root 5599: { yyval.ttype = build_push_scope (yyval.ttype, build_parse_node (CALL_EXPR, yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[0].ttype)); ;
5600: break;}
1.1.1.4 ! root 5601: case 465:
! 5602: #line 2614 "cp-parse.y"
1.1 root 5603: { yyval.ttype = build_push_scope (yyval.ttype, build_parse_node (CALL_EXPR, yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[0].ttype)); ;
5604: break;}
1.1.1.4 ! root 5605: case 466:
! 5606: #line 2616 "cp-parse.y"
1.1 root 5607: { yyval.ttype = build_push_scope (yyval.ttype, build_parse_node (CALL_EXPR, yyvsp[-2].ttype, empty_parms (), yyvsp[0].ttype)); ;
5608: break;}
1.1.1.4 ! root 5609: case 467:
! 5610: #line 2618 "cp-parse.y"
1.1 root 5611: { yyval.ttype = build_push_scope (yyval.ttype, build_parse_node (CALL_EXPR, yyvsp[-4].ttype, NULL_TREE, NULL_TREE)); ;
5612: break;}
1.1.1.4 ! root 5613: case 468:
! 5614: #line 2621 "cp-parse.y"
1.1 root 5615: { yyval.ttype = build_push_scope (yyval.ttype, yyvsp[0].ttype); ;
5616: break;}
1.1.1.4 ! root 5617: case 469:
! 5618: #line 2623 "cp-parse.y"
1.1 root 5619: { yyval.ttype = build_push_scope (yyval.ttype, build_parse_node (CALL_EXPR, yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[0].ttype)); ;
5620: break;}
1.1.1.4 ! root 5621: case 470:
! 5622: #line 2625 "cp-parse.y"
1.1 root 5623: { yyval.ttype = build_push_scope (yyval.ttype, build_parse_node (CALL_EXPR, yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[0].ttype)); ;
5624: break;}
1.1.1.4 ! root 5625: case 471:
! 5626: #line 2627 "cp-parse.y"
1.1 root 5627: { yyval.ttype = build_push_scope (yyval.ttype, build_parse_node (CALL_EXPR, yyvsp[-2].ttype, empty_parms (), yyvsp[0].ttype)); ;
5628: break;}
1.1.1.4 ! root 5629: case 472:
! 5630: #line 2629 "cp-parse.y"
1.1 root 5631: { yyval.ttype = build_push_scope (yyval.ttype, build_parse_node (CALL_EXPR, yyvsp[-4].ttype, NULL_TREE, NULL_TREE)); ;
5632: break;}
1.1.1.4 ! root 5633: case 473:
! 5634: #line 2631 "cp-parse.y"
1.1 root 5635: { yyval.ttype = build_parse_node (SCOPE_REF, NULL_TREE, yyvsp[0].ttype); ;
5636: break;}
1.1.1.4 ! root 5637: case 474:
! 5638: #line 2635 "cp-parse.y"
1.1.1.2 root 5639: { yyval.ttype = resolve_scope_to_name (NULL_TREE, yyval.ttype);
5640: if (yyval.ttype == NULL_TREE)
5641: {
5642: error ("undefined explicitly scoped type");
5643: yyval.ttype = error_mark_node;
5644: }
5645: ;
1.1 root 5646: break;}
1.1.1.4 ! root 5647: case 475:
! 5648: #line 2643 "cp-parse.y"
1.1 root 5649: {
5650: if (yyval.ttype == error_mark_node)
5651: /* leave it alone */;
5652: else
5653: {
5654: yyval.ttype = resolve_scope_to_name (NULL_TREE, TYPE_IDENTIFIER (yyval.ttype));
1.1.1.2 root 5655: if (yyval.ttype == NULL_TREE)
5656: {
5657: error ("undefined explicitly scoped type");
5658: yyval.ttype = error_mark_node;
5659: }
1.1 root 5660: }
1.1.1.4 ! root 5661: /* if ($3) popclass (1); */
1.1 root 5662: ;
5663: break;}
1.1.1.4 ! root 5664: case 478:
! 5665: #line 2664 "cp-parse.y"
! 5666: {
! 5667: /* Kludge!!! See rule "template_type" and the code
! 5668: * dealing with "template_type_seen_before_scope" in
! 5669: * yylex(). */
! 5670: yyval.ttype = yyvsp[0].ttype;
! 5671: ;
! 5672: break;}
! 5673: case 479:
! 5674: #line 2686 "cp-parse.y"
1.1 root 5675: { see_typename ();
5676: yyval.ttype = yyvsp[-1].ttype; ;
5677: break;}
1.1.1.4 ! root 5678: case 480:
! 5679: #line 2690 "cp-parse.y"
1.1 root 5680: { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
5681: break;}
1.1.1.4 ! root 5682: case 481:
! 5683: #line 2692 "cp-parse.y"
1.1 root 5684: { yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ;
5685: break;}
1.1.1.4 ! root 5686: case 482:
! 5687: #line 2694 "cp-parse.y"
1.1 root 5688: { see_typename (); ;
5689: break;}
1.1.1.4 ! root 5690: case 483:
! 5691: #line 2696 "cp-parse.y"
1.1 root 5692: { yyval.ttype = yyvsp[-1].ttype; ;
5693: break;}
1.1.1.4 ! root 5694: case 484:
! 5695: #line 2698 "cp-parse.y"
1.1 root 5696: { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
5697: break;}
1.1.1.4 ! root 5698: case 485:
! 5699: #line 2700 "cp-parse.y"
1.1 root 5700: { yyval.ttype = make_reference_declarator (yyvsp[0].ttype, NULL_TREE); ;
5701: break;}
1.1.1.4 ! root 5702: case 486:
! 5703: #line 2702 "cp-parse.y"
1.1 root 5704: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
5705: break;}
1.1.1.4 ! root 5706: case 487:
! 5707: #line 2704 "cp-parse.y"
1.1 root 5708: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, empty_parms (), yyvsp[0].ttype); ;
5709: break;}
1.1.1.4 ! root 5710: case 488:
! 5711: #line 2706 "cp-parse.y"
1.1 root 5712: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
5713: break;}
1.1.1.4 ! root 5714: case 489:
! 5715: #line 2708 "cp-parse.y"
1.1 root 5716: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
5717: break;}
1.1.1.4 ! root 5718: case 490:
! 5719: #line 2710 "cp-parse.y"
1.1 root 5720: { yyval.ttype = build_parse_node (CALL_EXPR, NULL_TREE, yyvsp[-2].ttype, yyvsp[0].ttype); ;
5721: break;}
1.1.1.4 ! root 5722: case 491:
! 5723: #line 2712 "cp-parse.y"
1.1 root 5724: { yyval.ttype = build_parse_node (CALL_EXPR, NULL_TREE, empty_parms (), yyvsp[0].ttype); ;
5725: break;}
1.1.1.4 ! root 5726: case 492:
! 5727: #line 2714 "cp-parse.y"
1.1 root 5728: { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
5729: break;}
1.1.1.4 ! root 5730: case 493:
! 5731: #line 2716 "cp-parse.y"
1.1 root 5732: { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, NULL_TREE); ;
5733: break;}
1.1.1.4 ! root 5734: case 494:
! 5735: #line 2721 "cp-parse.y"
1.1 root 5736: { tree t;
5737: t = yyval.ttype;
5738: while (TREE_OPERAND (t, 1))
5739: t = TREE_OPERAND (t, 1);
5740: TREE_OPERAND (t, 1) = build_parse_node (INDIRECT_REF, 0);
5741: ;
5742: break;}
1.1.1.4 ! root 5743: case 495:
! 5744: #line 2728 "cp-parse.y"
1.1 root 5745: { tree t;
5746: t = yyval.ttype;
5747: while (TREE_OPERAND (t, 1))
5748: t = TREE_OPERAND (t, 1);
5749: TREE_OPERAND (t, 1) = build_parse_node (INDIRECT_REF, yyvsp[0].ttype);
5750: ;
5751: break;}
1.1.1.4 ! root 5752: case 496:
! 5753: #line 2735 "cp-parse.y"
1.1 root 5754: { tree t;
5755: t = yyval.ttype;
5756: while (TREE_OPERAND (t, 1))
5757: t = TREE_OPERAND (t, 1);
5758: TREE_OPERAND (t, 1) = build_parse_node (ADDR_EXPR, 0);
5759: ;
5760: break;}
1.1.1.4 ! root 5761: case 497:
! 5762: #line 2742 "cp-parse.y"
1.1 root 5763: { tree t;
5764: t = yyval.ttype;
5765: while (TREE_OPERAND (t, 1))
5766: t = TREE_OPERAND (t, 1);
5767: TREE_OPERAND (t, 1) = build_parse_node (ADDR_EXPR, yyvsp[0].ttype);
5768: ;
5769: break;}
1.1.1.4 ! root 5770: case 498:
! 5771: #line 2752 "cp-parse.y"
1.1 root 5772: { tree t;
5773: t = yyval.ttype;
5774: while (TREE_OPERAND (t, 1))
5775: t = TREE_OPERAND (t, 1);
5776: TREE_OPERAND (t, 1) = build_parse_node (INDIRECT_REF, yyvsp[0].ttype);
5777: ;
5778: break;}
1.1.1.4 ! root 5779: case 499:
! 5780: #line 2759 "cp-parse.y"
1.1 root 5781: { tree t;
5782: t = yyval.ttype;
5783: while (TREE_OPERAND (t, 1))
5784: t = TREE_OPERAND (t, 1);
5785: TREE_OPERAND (t, 1) = build_parse_node (ADDR_EXPR, yyvsp[0].ttype);
5786: ;
5787: break;}
1.1.1.4 ! root 5788: case 505:
! 5789: #line 2786 "cp-parse.y"
1.1.1.2 root 5790: { emit_line_note (input_filename, lineno);
1.1 root 5791: pushlevel (0);
5792: clear_last_expr ();
5793: push_momentary ();
5794: expand_start_bindings (0);
1.1.1.2 root 5795: yyval.strtype = stmt_decl_msg;
5796: stmt_decl_msg = 0; ;
5797: break;}
1.1.1.4 ! root 5798: case 507:
! 5799: #line 2800 "cp-parse.y"
1.1.1.2 root 5800: { if (pedantic)
1.1.1.4 ! root 5801: pedwarn ("ANSI C++ forbids label declarations"); ;
1.1.1.2 root 5802: break;}
1.1.1.4 ! root 5803: case 510:
! 5804: #line 2811 "cp-parse.y"
1.1.1.2 root 5805: { tree link;
5806: for (link = yyvsp[-1].ttype; link; link = TREE_CHAIN (link))
5807: {
5808: tree label = shadow_label (TREE_VALUE (link));
5809: C_DECLARED_LABEL_FLAG (label) = 1;
5810: declare_nonlocal_label (label);
5811: }
1.1 root 5812: ;
5813: break;}
1.1.1.4 ! root 5814: case 511:
! 5815: #line 2825 "cp-parse.y"
1.1 root 5816: {;
5817: break;}
1.1.1.4 ! root 5818: case 513:
! 5819: #line 2830 "cp-parse.y"
1.1 root 5820: { yyval.ttype = convert (void_type_node, integer_zero_node); ;
5821: break;}
1.1.1.4 ! root 5822: case 514:
! 5823: #line 2832 "cp-parse.y"
1.1 root 5824: { pop_implicit_try_blocks (NULL_TREE);
1.1.1.2 root 5825: stmt_decl_msg = yyvsp[-3].strtype;
1.1 root 5826: expand_end_bindings (getdecls (), kept_level_p (), 1);
5827: yyval.ttype = poplevel (kept_level_p (), 1, 0);
5828: pop_momentary (); ;
5829: break;}
1.1.1.4 ! root 5830: case 515:
! 5831: #line 2838 "cp-parse.y"
1.1 root 5832: { pop_implicit_try_blocks (NULL_TREE);
1.1.1.2 root 5833: stmt_decl_msg = yyvsp[-3].strtype;
1.1 root 5834: expand_end_bindings (getdecls (), kept_level_p (), 1);
5835: yyval.ttype = poplevel (kept_level_p (), 0, 0);
5836: pop_momentary (); ;
5837: break;}
1.1.1.4 ! root 5838: case 516:
! 5839: #line 2847 "cp-parse.y"
1.1 root 5840: { emit_line_note (input_filename, lineno);
5841: expand_start_cond (truthvalue_conversion (yyvsp[-1].ttype), 0);
5842: stmt_decl_msg = "if"; ;
5843: break;}
1.1.1.4 ! root 5844: case 517:
! 5845: #line 2851 "cp-parse.y"
1.1 root 5846: { stmt_decl_msg = 0; ;
5847: break;}
1.1.1.4 ! root 5848: case 518:
! 5849: #line 2856 "cp-parse.y"
1.1 root 5850: { finish_stmt (); ;
5851: break;}
1.1.1.4 ! root 5852: case 519:
! 5853: #line 2858 "cp-parse.y"
1.1 root 5854: { if (stmt_decl_msg)
5855: error ("declaration after %s invalid", stmt_decl_msg);
5856: stmt_decl_msg = 0;
5857: finish_stmt (); ;
5858: break;}
1.1.1.4 ! root 5859: case 520:
! 5860: #line 2863 "cp-parse.y"
1.1 root 5861: {
5862: tree expr = yyvsp[-1].ttype;
5863: emit_line_note (input_filename, lineno);
5864: /* Do default conversion if safe and possibly important,
5865: in case within ({...}). */
5866: if ((TREE_CODE (TREE_TYPE (expr)) == ARRAY_TYPE
5867: && lvalue_p (expr))
5868: || TREE_CODE (TREE_TYPE (expr)) == FUNCTION_TYPE)
5869: expr = default_conversion (expr);
5870: cplus_expand_expr_stmt (expr);
5871: clear_momentary ();
5872: finish_stmt (); ;
5873: break;}
1.1.1.4 ! root 5874: case 521:
! 5875: #line 2876 "cp-parse.y"
1.1 root 5876: { expand_start_else ();
5877: stmt_decl_msg = "else"; ;
5878: break;}
1.1.1.4 ! root 5879: case 522:
! 5880: #line 2879 "cp-parse.y"
1.1 root 5881: { expand_end_cond ();
5882: stmt_decl_msg = 0;
5883: finish_stmt (); ;
5884: break;}
1.1.1.4 ! root 5885: case 523:
! 5886: #line 2883 "cp-parse.y"
1.1 root 5887: { expand_end_cond ();
5888: stmt_decl_msg = 0;
5889: finish_stmt (); ;
5890: break;}
1.1.1.4 ! root 5891: case 524:
! 5892: #line 2887 "cp-parse.y"
1.1 root 5893: { emit_nop ();
5894: emit_line_note (input_filename, lineno);
5895: expand_start_loop (1); ;
5896: break;}
1.1.1.4 ! root 5897: case 525:
! 5898: #line 2891 "cp-parse.y"
1.1 root 5899: { expand_exit_loop_if_false (0, truthvalue_conversion (yyvsp[-1].ttype));
5900: stmt_decl_msg = "while"; ;
5901: break;}
1.1.1.4 ! root 5902: case 526:
! 5903: #line 2894 "cp-parse.y"
1.1 root 5904: {
5905: expand_end_loop ();
5906: stmt_decl_msg = 0;
5907: finish_stmt (); ;
5908: break;}
1.1.1.4 ! root 5909: case 527:
! 5910: #line 2899 "cp-parse.y"
1.1 root 5911: { emit_nop ();
5912: emit_line_note (input_filename, lineno);
5913: expand_start_loop_continue_elsewhere (1);
5914: stmt_decl_msg = "do"; ;
5915: break;}
1.1.1.4 ! root 5916: case 528:
! 5917: #line 2904 "cp-parse.y"
1.1 root 5918: { stmt_decl_msg = 0;
5919: expand_loop_continue_here (); ;
5920: break;}
1.1.1.4 ! root 5921: case 529:
! 5922: #line 2907 "cp-parse.y"
1.1 root 5923: { emit_line_note (input_filename, lineno);
5924: expand_exit_loop_if_false (0, truthvalue_conversion (yyvsp[-2].ttype));
5925: expand_end_loop ();
5926: clear_momentary ();
5927: finish_stmt (); ;
5928: break;}
1.1.1.4 ! root 5929: case 530:
! 5930: #line 2913 "cp-parse.y"
1.1 root 5931: { emit_nop ();
5932: emit_line_note (input_filename, lineno);
5933: if (yyvsp[0].ttype) cplus_expand_expr_stmt (yyvsp[0].ttype);
5934: expand_start_loop_continue_elsewhere (1); ;
5935: break;}
1.1.1.4 ! root 5936: case 531:
! 5937: #line 2918 "cp-parse.y"
1.1 root 5938: { emit_line_note (input_filename, lineno);
5939: if (yyvsp[-1].ttype) expand_exit_loop_if_false (0, truthvalue_conversion (yyvsp[-1].ttype)); ;
5940: break;}
1.1.1.4 ! root 5941: case 532:
! 5942: #line 2923 "cp-parse.y"
1.1 root 5943: { push_momentary ();
5944: stmt_decl_msg = "for"; ;
5945: break;}
1.1.1.4 ! root 5946: case 533:
! 5947: #line 2926 "cp-parse.y"
1.1 root 5948: { emit_line_note (input_filename, lineno);
5949: expand_loop_continue_here ();
5950: if (yyvsp[-3].ttype) cplus_expand_expr_stmt (yyvsp[-3].ttype);
5951: pop_momentary ();
5952: expand_end_loop ();
5953: stmt_decl_msg = 0;
5954: finish_stmt (); ;
5955: break;}
1.1.1.4 ! root 5956: case 534:
! 5957: #line 2934 "cp-parse.y"
1.1 root 5958: { emit_nop ();
5959: emit_line_note (input_filename, lineno);
5960: expand_start_loop_continue_elsewhere (1); ;
5961: break;}
1.1.1.4 ! root 5962: case 535:
! 5963: #line 2938 "cp-parse.y"
1.1 root 5964: { emit_line_note (input_filename, lineno);
5965: if (yyvsp[-1].ttype) expand_exit_loop_if_false (0, truthvalue_conversion (yyvsp[-1].ttype)); ;
5966: break;}
1.1.1.4 ! root 5967: case 536:
! 5968: #line 2943 "cp-parse.y"
1.1 root 5969: { push_momentary ();
5970: stmt_decl_msg = "for";
5971: yyvsp[0].itype = lineno; ;
5972: break;}
1.1.1.4 ! root 5973: case 537:
! 5974: #line 2947 "cp-parse.y"
1.1 root 5975: { emit_line_note (input_filename, yyvsp[-2].itype);
5976: expand_loop_continue_here ();
5977: if (yyvsp[-3].ttype) cplus_expand_expr_stmt (yyvsp[-3].ttype);
5978: pop_momentary ();
5979: expand_end_loop ();
5980: pop_implicit_try_blocks (NULL_TREE);
5981: if (yyvsp[-8].itype)
5982: {
1.1.1.4 ! root 5983: register int keep = yyvsp[-8].itype > 0;
1.1 root 5984: if (keep) expand_end_bindings (0, keep, 1);
5985: poplevel (keep, 1, 0);
5986: pop_momentary ();
5987: }
5988: stmt_decl_msg = 0;
5989: finish_stmt ();
5990: ;
5991: break;}
1.1.1.4 ! root 5992: case 538:
! 5993: #line 2964 "cp-parse.y"
1.1 root 5994: { emit_line_note (input_filename, lineno);
5995: c_expand_start_case (yyvsp[-1].ttype);
5996: /* Don't let the tree nodes for $3 be discarded by
5997: clear_momentary during the parsing of the next stmt. */
5998: push_momentary ();
5999: stmt_decl_msg = "switch"; ;
6000: break;}
1.1.1.4 ! root 6001: case 539:
! 6002: #line 2971 "cp-parse.y"
1.1 root 6003: { expand_end_case (yyvsp[-3].ttype);
6004: pop_momentary ();
6005: stmt_decl_msg = 0;
6006: finish_stmt (); ;
6007: break;}
1.1.1.4 ! root 6008: case 540:
! 6009: #line 2976 "cp-parse.y"
1.1 root 6010: { register tree value = yyvsp[-1].ttype;
6011: register tree label
6012: = build_decl (LABEL_DECL, NULL_TREE, NULL_TREE);
6013:
6014: /* build_c_cast puts on a NOP_EXPR to make a non-lvalue.
6015: Strip such NOP_EXPRs. */
6016: if (TREE_CODE (value) == NOP_EXPR
6017: && TREE_TYPE (value) == TREE_TYPE (TREE_OPERAND (value, 0)))
6018: value = TREE_OPERAND (value, 0);
6019:
6020: if (TREE_READONLY_DECL_P (value))
6021: {
6022: value = decl_constant_value (value);
6023: /* build_c_cast puts on a NOP_EXPR to make a non-lvalue.
6024: Strip such NOP_EXPRs. */
6025: if (TREE_CODE (value) == NOP_EXPR
6026: && TREE_TYPE (value) == TREE_TYPE (TREE_OPERAND (value, 0)))
6027: value = TREE_OPERAND (value, 0);
6028: }
6029: value = fold (value);
6030:
6031: if (TREE_CODE (value) != INTEGER_CST
6032: && value != error_mark_node)
6033: {
6034: error ("case label does not reduce to an integer constant");
6035: value = error_mark_node;
6036: }
6037: else
6038: /* Promote char or short to int. */
6039: value = default_conversion (value);
6040: if (value != error_mark_node)
6041: {
6042: tree duplicate;
6043: int success = pushcase (value, label, &duplicate);
6044: if (success == 1)
6045: error ("case label not within a switch statement");
6046: else if (success == 2)
6047: {
6048: error ("duplicate case value");
6049: error_with_decl (duplicate, "this is the first entry for that value");
6050: }
6051: else if (success == 3)
6052: warning ("case value out of range");
6053: else if (success == 5)
6054: error ("case label within scope of cleanup or variable array");
6055: }
6056: define_case_label (label);
6057: ;
6058: break;}
1.1.1.4 ! root 6059: case 542:
! 6060: #line 3026 "cp-parse.y"
1.1 root 6061: { register tree value1 = yyvsp[-3].ttype;
6062: register tree value2 = yyvsp[-1].ttype;
6063: register tree label
6064: = build_decl (LABEL_DECL, NULL_TREE, NULL_TREE);
6065:
6066: if (pedantic)
1.1.1.4 ! root 6067: pedwarn ("ANSI C++ forbids range expressions in switch statement");
! 6068:
1.1 root 6069: /* build_c_cast puts on a NOP_EXPR to make a non-lvalue.
6070: Strip such NOP_EXPRs. */
6071: if (TREE_CODE (value1) == NOP_EXPR
6072: && TREE_TYPE (value1) == TREE_TYPE (TREE_OPERAND (value1, 0)))
6073: value1 = TREE_OPERAND (value1, 0);
6074:
6075: if (TREE_READONLY_DECL_P (value1))
6076: {
6077: value1 = decl_constant_value (value1);
6078: /* build_c_cast puts on a NOP_EXPR to make a non-lvalue.
6079: Strip such NOP_EXPRs. */
6080: if (TREE_CODE (value1) == NOP_EXPR
6081: && TREE_TYPE (value1) == TREE_TYPE (TREE_OPERAND (value1, 0)))
6082: value1 = TREE_OPERAND (value1, 0);
6083: }
6084: value1 = fold (value1);
6085:
6086: /* build_c_cast puts on a NOP_EXPR to make a non-lvalue.
6087: Strip such NOP_EXPRs. */
6088: if (TREE_CODE (value2) == NOP_EXPR
6089: && TREE_TYPE (value2) == TREE_TYPE (TREE_OPERAND (value2, 0)))
6090: value2 = TREE_OPERAND (value2, 0);
6091:
6092: if (TREE_READONLY_DECL_P (value2))
6093: {
6094: value2 = decl_constant_value (value2);
6095: /* build_c_cast puts on a NOP_EXPR to make a non-lvalue.
6096: Strip such NOP_EXPRs. */
6097: if (TREE_CODE (value2) == NOP_EXPR
6098: && TREE_TYPE (value2) == TREE_TYPE (TREE_OPERAND (value2, 0)))
6099: value2 = TREE_OPERAND (value2, 0);
6100: }
6101: value2 = fold (value2);
6102:
6103:
6104: if (TREE_CODE (value1) != INTEGER_CST
6105: && value1 != error_mark_node)
6106: {
6107: error ("case label does not reduce to an integer constant");
6108: value1 = error_mark_node;
6109: }
6110: if (TREE_CODE (value2) != INTEGER_CST
6111: && value2 != error_mark_node)
6112: {
6113: error ("case label does not reduce to an integer constant");
6114: value2 = error_mark_node;
6115: }
6116: if (value1 != error_mark_node
6117: && value2 != error_mark_node)
6118: {
6119: tree duplicate;
1.1.1.2 root 6120: int success = pushcase_range (value1, value2, label,
6121: &duplicate);
1.1 root 6122: if (success == 1)
6123: error ("case label not within a switch statement");
6124: else if (success == 2)
6125: {
6126: error ("duplicate (or overlapping) case value");
6127: error_with_decl (duplicate, "this is the first entry overlapping that value");
6128: }
6129: else if (success == 3)
6130: warning ("case value out of range");
6131: else if (success == 4)
6132: warning ("empty range specified");
6133: else if (success == 5)
6134: error ("case label within scope of cleanup or variable array");
6135: }
6136: define_case_label (label);
6137: ;
6138: break;}
1.1.1.4 ! root 6139: case 544:
! 6140: #line 3105 "cp-parse.y"
1.1 root 6141: {
6142: tree duplicate;
6143: register tree label
6144: = build_decl (LABEL_DECL, NULL_TREE, NULL_TREE);
6145: int success = pushcase (NULL_TREE, label, &duplicate);
6146: if (success == 1)
6147: error ("default label not within a switch statement");
6148: else if (success == 2)
6149: {
6150: error ("multiple default labels in one switch");
6151: error_with_decl (duplicate, "this is the first default label");
6152: }
6153: define_case_label (NULL_TREE);
6154: ;
6155: break;}
1.1.1.4 ! root 6156: case 546:
! 6157: #line 3121 "cp-parse.y"
1.1 root 6158: { emit_line_note (input_filename, lineno);
6159: if ( ! expand_exit_something ())
6160: error ("break statement not within loop or switch"); ;
6161: break;}
1.1.1.4 ! root 6162: case 547:
! 6163: #line 3125 "cp-parse.y"
1.1 root 6164: { emit_line_note (input_filename, lineno);
6165: if (! expand_continue_loop (0))
6166: error ("continue statement not within a loop"); ;
6167: break;}
1.1.1.4 ! root 6168: case 548:
! 6169: #line 3129 "cp-parse.y"
1.1 root 6170: { emit_line_note (input_filename, lineno);
6171: c_expand_return (NULL_TREE); ;
6172: break;}
1.1.1.4 ! root 6173: case 549:
! 6174: #line 3132 "cp-parse.y"
1.1 root 6175: { emit_line_note (input_filename, lineno);
6176: c_expand_return (yyvsp[-1].ttype);
6177: finish_stmt ();
6178: ;
6179: break;}
1.1.1.4 ! root 6180: case 550:
! 6181: #line 3137 "cp-parse.y"
1.1 root 6182: { if (TREE_CHAIN (yyvsp[-2].ttype)) yyvsp[-2].ttype = combine_strings (yyvsp[-2].ttype);
6183: emit_line_note (input_filename, lineno);
6184: expand_asm (yyvsp[-2].ttype);
6185: finish_stmt ();
6186: ;
6187: break;}
1.1.1.4 ! root 6188: case 551:
! 6189: #line 3144 "cp-parse.y"
1.1 root 6190: { if (TREE_CHAIN (yyvsp[-4].ttype)) yyvsp[-4].ttype = combine_strings (yyvsp[-4].ttype);
6191: emit_line_note (input_filename, lineno);
6192: c_expand_asm_operands (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE,
6193: yyvsp[-6].ttype == ridpointers[(int)RID_VOLATILE],
6194: input_filename, lineno);
6195: finish_stmt ();
6196: ;
6197: break;}
1.1.1.4 ! root 6198: case 552:
! 6199: #line 3153 "cp-parse.y"
1.1 root 6200: { if (TREE_CHAIN (yyvsp[-6].ttype)) yyvsp[-6].ttype = combine_strings (yyvsp[-6].ttype);
6201: emit_line_note (input_filename, lineno);
6202: c_expand_asm_operands (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE,
6203: yyvsp[-8].ttype == ridpointers[(int)RID_VOLATILE],
6204: input_filename, lineno);
6205: finish_stmt ();
6206: ;
6207: break;}
1.1.1.4 ! root 6208: case 553:
! 6209: #line 3163 "cp-parse.y"
1.1 root 6210: { if (TREE_CHAIN (yyvsp[-8].ttype)) yyvsp[-8].ttype = combine_strings (yyvsp[-8].ttype);
6211: emit_line_note (input_filename, lineno);
6212: c_expand_asm_operands (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype,
6213: yyvsp[-10].ttype == ridpointers[(int)RID_VOLATILE],
6214: input_filename, lineno);
6215: finish_stmt ();
6216: ;
6217: break;}
1.1.1.4 ! root 6218: case 554:
! 6219: #line 3171 "cp-parse.y"
! 6220: { emit_line_note (input_filename, lineno);
! 6221: expand_computed_goto (yyvsp[-1].ttype); ;
! 6222: break;}
! 6223: case 555:
! 6224: #line 3174 "cp-parse.y"
1.1 root 6225: { tree decl;
6226: emit_line_note (input_filename, lineno);
6227: decl = lookup_label (yyvsp[-1].ttype);
6228: TREE_USED (decl) = 1;
6229: expand_goto (decl); ;
6230: break;}
1.1.1.4 ! root 6231: case 556:
! 6232: #line 3180 "cp-parse.y"
1.1 root 6233: { finish_stmt (); ;
6234: break;}
1.1.1.4 ! root 6235: case 557:
! 6236: #line 3182 "cp-parse.y"
1.1 root 6237: { error ("label must be followed by statement");
6238: yyungetc ('}', 0);
6239: finish_stmt (); ;
6240: break;}
1.1.1.4 ! root 6241: case 558:
! 6242: #line 3186 "cp-parse.y"
1.1 root 6243: { finish_stmt (); ;
6244: break;}
1.1.1.4 ! root 6245: case 559:
! 6246: #line 3189 "cp-parse.y"
1.1 root 6247: { cplus_expand_throw (NULL_TREE); ;
6248: break;}
1.1.1.4 ! root 6249: case 560:
! 6250: #line 3190 "cp-parse.y"
1.1 root 6251: { cplus_expand_throw (yyvsp[-1].ttype); ;
6252: break;}
1.1.1.4 ! root 6253: case 561:
! 6254: #line 3192 "cp-parse.y"
1.1 root 6255: { cplus_expand_raise (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, 0);
6256: finish_stmt (); ;
6257: break;}
1.1.1.4 ! root 6258: case 562:
! 6259: #line 3195 "cp-parse.y"
1.1 root 6260: { cplus_expand_raise (yyvsp[-2].ttype, NULL_TREE, NULL_TREE, 0);
6261: finish_stmt (); ;
6262: break;}
1.1.1.4 ! root 6263: case 563:
! 6264: #line 3198 "cp-parse.y"
1.1 root 6265: { cplus_expand_raise (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, 0);
6266: finish_stmt (); ;
6267: break;}
1.1.1.4 ! root 6268: case 564:
! 6269: #line 3201 "cp-parse.y"
1.1 root 6270: { cplus_expand_raise (yyvsp[-2].ttype, NULL_TREE, NULL_TREE, 0);
6271: finish_stmt (); ;
6272: break;}
1.1.1.4 ! root 6273: case 565:
! 6274: #line 3204 "cp-parse.y"
1.1 root 6275: { cplus_expand_reraise (yyvsp[-1].ttype);
6276: finish_stmt (); ;
6277: break;}
1.1.1.4 ! root 6278: case 566:
! 6279: #line 3207 "cp-parse.y"
1.1 root 6280: {
6281: tree decl = cplus_expand_end_try (yyvsp[-3].itype);
6282: yyvsp[-2].ttype = current_exception_type;
6283: yyvsp[0].ttype = current_exception_decl;
6284: yyval.ttype = current_exception_object;
6285: cplus_expand_start_except (yyvsp[-1].ttype, decl);
6286: pushlevel (0);
6287: clear_last_expr ();
6288: push_momentary ();
6289: expand_start_bindings (0);
6290: stmt_decl_msg = 0;
6291: ;
6292: break;}
1.1.1.4 ! root 6293: case 567:
! 6294: #line 3220 "cp-parse.y"
1.1 root 6295: {
6296: tree decls = getdecls ();
6297: /* If there is a default exception to handle,
6298: handle it here. */
6299: if (yyvsp[-1].ttype)
6300: {
6301: tree decl = build_decl (CPLUS_CATCH_DECL, NULL_TREE, 0);
6302: tree block;
6303:
6304: pushlevel (1);
6305: expand_start_bindings (0);
6306: expand_expr (yyvsp[-1].ttype, 0, 0, 0);
6307: expand_end_bindings (0, 1, 0);
6308: block = poplevel (1, 0, 0);
6309:
6310: /* This is a catch block. */
6311: TREE_LANG_FLAG_2 (block) = 1;
6312: BLOCK_VARS (block) = decl;
6313: }
6314:
6315: expand_end_bindings (decls, decls != 0, 1);
6316: poplevel (decls != 0, 1, 0);
6317: pop_momentary ();
6318: current_exception_type = yyvsp[-5].ttype;
6319: current_exception_decl = yyvsp[-3].ttype;
6320: current_exception_object = yyvsp[-2].ttype;
6321: cplus_expand_end_except (yyvsp[-1].ttype);
6322: ;
6323: break;}
1.1.1.4 ! root 6324: case 568:
! 6325: #line 3249 "cp-parse.y"
1.1 root 6326: {
6327: cplus_expand_end_try (yyvsp[-1].itype);
6328: /* These are the important actions of
6329: `cplus_expand_end_except' which we must emulate. */
6330: if (expand_escape_except ())
6331: expand_end_except ();
6332: expand_end_bindings (0, 0, 1);
6333: poplevel (0, 0, 0);
6334: ;
6335: break;}
1.1.1.4 ! root 6336: case 569:
! 6337: #line 3259 "cp-parse.y"
1.1 root 6338: {
6339: tree decl = cplus_expand_end_try (yyvsp[-2].itype);
6340: yyvsp[-1].ttype = current_exception_type;
6341: yyvsp[0].ttype = current_exception_decl;
6342: yyval.ttype = current_exception_object;
6343: cplus_expand_start_except (NULL, decl);
6344: pushlevel (0);
6345: clear_last_expr ();
6346: push_momentary ();
6347: expand_start_bindings (0);
6348: stmt_decl_msg = 0;
6349: ;
6350: break;}
1.1.1.4 ! root 6351: case 570:
! 6352: #line 3272 "cp-parse.y"
1.1 root 6353: {
6354: tree decls = getdecls ();
6355: /* If there is a default exception to handle,
6356: handle it here. */
6357: if (yyvsp[0].ttype)
6358: {
6359: tree decl = build_decl (CPLUS_CATCH_DECL, NULL_TREE, 0);
6360: tree block;
6361:
6362: pushlevel (1);
6363: expand_start_bindings (0);
6364: expand_expr (yyvsp[0].ttype, 0, 0, 0);
6365: expand_end_bindings (0, 1, 0);
6366: block = poplevel (1, 0, 0);
6367:
6368: /* This is a catch block. */
6369: TREE_LANG_FLAG_2 (block) = 1;
6370: BLOCK_VARS (block) = decl;
6371: }
6372:
6373: expand_end_bindings (decls, decls != 0, 1);
6374: poplevel (decls != 0, 1, 0);
6375: pop_momentary ();
6376: current_exception_type = yyvsp[-3].ttype;
6377: current_exception_decl = yyvsp[-2].ttype;
6378: current_exception_object = yyvsp[-1].ttype;
6379: cplus_expand_end_except (yyvsp[0].ttype);
6380: ;
6381: break;}
1.1.1.4 ! root 6382: case 571:
! 6383: #line 3301 "cp-parse.y"
1.1 root 6384: { tree name = get_identifier ("(compiler error)");
6385: tree orig_ex_type = current_exception_type;
6386: tree orig_ex_decl = current_exception_decl;
6387: tree orig_ex_obj = current_exception_object;
6388: tree decl = cplus_expand_end_try (yyvsp[-2].itype), decls;
6389:
6390: /* Start hidden EXCEPT. */
6391: cplus_expand_start_except (name, decl);
6392: pushlevel (0);
6393: clear_last_expr ();
6394: push_momentary ();
6395: expand_start_bindings (0);
6396: stmt_decl_msg = 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.4 ! root 6416: case 572:
! 6417: #line 3333 "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.4 ! root 6428: case 573:
! 6429: #line 3348 "cp-parse.y"
1.1 root 6430: {
6431: yyval.itype = 1;
6432: pop_implicit_try_blocks (NULL_TREE);
6433: ;
6434: break;}
1.1.1.4 ! root 6435: case 574:
! 6436: #line 3353 "cp-parse.y"
1.1 root 6437: {
6438: yyval.itype = 1;
6439: pop_implicit_try_blocks (NULL_TREE);
6440: ;
6441: break;}
1.1.1.4 ! root 6442: case 575:
! 6443: #line 3358 "cp-parse.y"
1.1 root 6444: {
6445: yyval.itype = 0;
6446: pop_implicit_try_blocks (NULL_TREE);
6447: ;
6448: break;}
1.1.1.4 ! root 6449: case 576:
! 6450: #line 3366 "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.4 ! root 6458: case 577:
! 6459: #line 3373 "cp-parse.y"
1.1 root 6460: { goto do_label; ;
6461: break;}
1.1.1.4 ! root 6462: case 578:
! 6463: #line 3375 "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.4 ! root 6469: case 579:
! 6470: #line 3381 "cp-parse.y"
1.1 root 6471: { cplus_expand_start_try (0); ;
6472: break;}
1.1.1.4 ! root 6473: case 581:
! 6474: #line 3387 "cp-parse.y"
1.1 root 6475: {
6476: yyval.itype = 1;
6477: pop_implicit_try_blocks (NULL_TREE);
6478: ;
6479: break;}
1.1.1.4 ! root 6480: case 582:
! 6481: #line 3392 "cp-parse.y"
1.1 root 6482: {
6483: yyval.itype = 1;
6484: pop_implicit_try_blocks (NULL_TREE);
6485: ;
6486: break;}
1.1.1.4 ! root 6487: case 583:
! 6488: #line 3397 "cp-parse.y"
1.1 root 6489: {
6490: yyval.itype = 0;
6491: pop_implicit_try_blocks (NULL_TREE);
6492: ;
6493: break;}
1.1.1.4 ! root 6494: case 585:
! 6495: #line 3404 "cp-parse.y"
1.1 root 6496: { cplus_expand_start_try (0); ;
6497: break;}
1.1.1.4 ! root 6498: case 587:
! 6499: #line 3408 "cp-parse.y"
1.1 root 6500: { yyval.ttype = NULL_TREE; ;
6501: break;}
1.1.1.4 ! root 6502: case 588:
! 6503: #line 3410 "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.4 ! root 6524: case 589:
! 6525: #line 3430 "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.4 ! root 6543: case 590:
! 6544: #line 3447 "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.4 ! root 6563: case 591:
! 6564: #line 3465 "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.4 ! root 6582: case 592:
! 6583: #line 3485 "cp-parse.y"
1.1 root 6584: { yyval.ttype = NULL_TREE; ;
6585: break;}
1.1.1.4 ! root 6586: case 594:
! 6587: #line 3490 "cp-parse.y"
1.1 root 6588: { yyval.ttype = NULL_TREE; ;
6589: break;}
1.1.1.4 ! root 6590: case 595:
! 6591: #line 3492 "cp-parse.y"
1.1 root 6592: {
6593: extern tree ansi_expand_start_catch ();
6594: extern tree cplus_exception_name ();
6595: tree type = groktypename (yyvsp[-2].ttype);
6596: current_exception_type = type;
6597: /* In-place union. */
6598: if (yyvsp[-1].ttype)
6599: {
6600: tree tmp;
6601: tmp = pushdecl (build_decl (VAR_DECL, yyvsp[-1].ttype, type));
6602: current_exception_object =
6603: build1 (INDIRECT_REF, type, tmp);
6604: }
6605: yyvsp[-2].ttype = ansi_expand_start_catch(type);
6606: pushlevel (1);
6607: expand_start_bindings (0);
6608: ;
6609: break;}
1.1.1.4 ! root 6610: case 596:
! 6611: #line 3510 "cp-parse.y"
1.1 root 6612: {
6613: expand_end_bindings (0, 1, 0);
6614: yyvsp[0].ttype = poplevel (1, 0, 0);
6615:
6616: cplus_expand_end_catch (0);
6617:
6618: /* Mark this as a catch block. */
6619: TREE_LANG_FLAG_2 (yyvsp[0].ttype) = 1;
6620: if (yyvsp[-4].ttype != error_mark_node)
6621: {
6622: tree decl = build_decl (CPLUS_CATCH_DECL, DECL_NAME (yyvsp[-4].ttype), 0);
6623: DECL_RTL (decl) = DECL_RTL (yyvsp[-4].ttype);
6624: TREE_CHAIN (decl) = BLOCK_VARS (yyvsp[0].ttype);
6625: BLOCK_VARS (yyvsp[0].ttype) = decl;
6626: }
6627: ;
6628: break;}
1.1.1.4 ! root 6629: case 597:
! 6630: #line 3530 "cp-parse.y"
1.1 root 6631: { yyval.ttype = NULL_TREE; ;
6632: break;}
1.1.1.4 ! root 6633: case 598:
! 6634: #line 3532 "cp-parse.y"
1.1 root 6635: { yyval.ttype = yyvsp[-1].ttype; ;
6636: break;}
1.1.1.4 ! root 6637: case 599:
! 6638: #line 3534 "cp-parse.y"
1.1 root 6639: { yyval.ttype = NULL_TREE; ;
6640: break;}
1.1.1.4 ! root 6641: case 600:
! 6642: #line 3539 "cp-parse.y"
1.1 root 6643: { yyval.itype = 0; ;
6644: break;}
1.1.1.4 ! root 6645: case 601:
! 6646: #line 3541 "cp-parse.y"
1.1 root 6647: { yyval.itype = 0; ;
6648: break;}
1.1.1.4 ! root 6649: case 602:
! 6650: #line 3543 "cp-parse.y"
1.1 root 6651: { yyval.itype = 1; ;
6652: break;}
1.1.1.4 ! root 6653: case 603:
! 6654: #line 3545 "cp-parse.y"
1.1 root 6655: { yyval.itype = -1; ;
6656: break;}
1.1.1.4 ! root 6657: case 604:
! 6658: #line 3552 "cp-parse.y"
1.1 root 6659: { if (pedantic)
1.1.1.4 ! root 6660: pedwarn ("ANSI C++ forbids use of `asm' keyword");
1.1 root 6661: emit_line_note (input_filename, lineno); ;
6662: break;}
1.1.1.4 ! root 6663: case 605:
! 6664: #line 3556 "cp-parse.y"
1.1 root 6665: { if (pedantic)
1.1.1.4 ! root 6666: pedwarn ("ANSI C++ forbids use of `asm' keyword");
1.1 root 6667: emit_line_note (input_filename, lineno); ;
6668: break;}
1.1.1.4 ! root 6669: case 606:
! 6670: #line 3563 "cp-parse.y"
1.1 root 6671: { yyval.ttype = NULL_TREE; ;
6672: break;}
1.1.1.4 ! root 6673: case 608:
! 6674: #line 3566 "cp-parse.y"
1.1 root 6675: { yyval.ttype = NULL_TREE; ;
6676: break;}
1.1.1.4 ! root 6677: case 609:
! 6678: #line 3572 "cp-parse.y"
1.1 root 6679: { yyval.ttype = NULL_TREE; ;
6680: break;}
1.1.1.4 ! root 6681: case 612:
! 6682: #line 3579 "cp-parse.y"
1.1 root 6683: { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
6684: break;}
1.1.1.4 ! root 6685: case 613:
! 6686: #line 3584 "cp-parse.y"
1.1 root 6687: { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[-1].ttype); ;
6688: break;}
1.1.1.4 ! root 6689: case 614:
! 6690: #line 3589 "cp-parse.y"
1.1 root 6691: { yyval.ttype = tree_cons (NULL_TREE, yyval.ttype, NULL_TREE); ;
6692: break;}
1.1.1.4 ! root 6693: case 615:
! 6694: #line 3591 "cp-parse.y"
1.1 root 6695: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
6696: break;}
1.1.1.4 ! root 6697: case 616:
! 6698: #line 3600 "cp-parse.y"
1.1 root 6699: {
6700: if (strict_prototype)
6701: yyval.ttype = void_list_node;
6702: else
6703: yyval.ttype = NULL_TREE;
6704: ;
6705: break;}
1.1.1.4 ! root 6706: case 617:
! 6707: #line 3607 "cp-parse.y"
1.1 root 6708: {
6709: yyval.ttype = chainon (yyval.ttype, void_list_node);
6710: TREE_PARMLIST (yyval.ttype) = 1;
6711: ;
6712: break;}
1.1.1.4 ! root 6713: case 618:
! 6714: #line 3612 "cp-parse.y"
1.1 root 6715: {
6716: TREE_PARMLIST (yyval.ttype) = 1;
6717: ;
6718: break;}
1.1.1.4 ! root 6719: case 619:
! 6720: #line 3617 "cp-parse.y"
1.1 root 6721: {
6722: TREE_PARMLIST (yyval.ttype) = 1;
6723: ;
6724: break;}
1.1.1.4 ! root 6725: case 620:
! 6726: #line 3621 "cp-parse.y"
1.1 root 6727: {
1.1.1.4 ! root 6728: /* ARM $8.2.5 has this as a boxed-off comment. */
! 6729: if (pedantic)
! 6730: warning ("use of `...' without a first argument is non-portable");
1.1 root 6731: yyval.ttype = NULL_TREE;
6732: ;
6733: break;}
1.1.1.4 ! root 6734: case 621:
! 6735: #line 3628 "cp-parse.y"
1.1 root 6736: {
6737: TREE_PARMLIST (yyval.ttype) = 1;
6738: ;
6739: break;}
1.1.1.4 ! root 6740: case 622:
! 6741: #line 3632 "cp-parse.y"
1.1 root 6742: {
6743: TREE_PARMLIST (yyval.ttype) = 1;
6744: ;
6745: break;}
1.1.1.4 ! root 6746: case 623:
! 6747: #line 3636 "cp-parse.y"
1.1 root 6748: {
6749: /* This helps us recover from really nasty
6750: parse errors, for example, a missing right
6751: parenthesis. */
6752: yyerror ("possibly missing ')'");
6753: yyval.ttype = chainon (yyval.ttype, void_list_node);
6754: TREE_PARMLIST (yyval.ttype) = 1;
6755: yyungetc (':', 0);
6756: yychar = ')';
6757: ;
6758: break;}
1.1.1.4 ! root 6759: case 624:
! 6760: #line 3651 "cp-parse.y"
1.1 root 6761: { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
6762: break;}
1.1.1.4 ! root 6763: case 625:
! 6764: #line 3653 "cp-parse.y"
1.1 root 6765: { yyval.ttype = build_tree_list (yyvsp[0].ttype, yyval.ttype); ;
6766: break;}
1.1.1.4 ! root 6767: case 626:
! 6768: #line 3655 "cp-parse.y"
1.1 root 6769: { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
6770: break;}
1.1.1.4 ! root 6771: case 627:
! 6772: #line 3657 "cp-parse.y"
1.1 root 6773: { yyval.ttype = chainon (yyval.ttype, build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype)); ;
6774: break;}
1.1.1.4 ! root 6775: case 628:
! 6776: #line 3659 "cp-parse.y"
1.1 root 6777: { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
6778: break;}
1.1.1.4 ! root 6779: case 629:
! 6780: #line 3661 "cp-parse.y"
1.1 root 6781: { yyval.ttype = chainon (yyval.ttype, build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype)); ;
6782: break;}
1.1.1.4 ! root 6783: case 630:
! 6784: #line 3682 "cp-parse.y"
1.1 root 6785: { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[0].ttype);
6786: see_typename (); ;
6787: break;}
1.1.1.4 ! root 6788: case 631:
! 6789: #line 3685 "cp-parse.y"
1.1 root 6790: { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[0].ttype);
6791: see_typename (); ;
6792: break;}
1.1.1.4 ! root 6793: case 634:
! 6794: #line 3692 "cp-parse.y"
1.1 root 6795: { yyval.ttype = yyvsp[0].ttype; ;
6796: break;}
1.1.1.4 ! root 6797: case 635:
! 6798: #line 3696 "cp-parse.y"
1.1 root 6799: { see_typename (); ;
6800: break;}
1.1.1.4 ! root 6801: case 636:
! 6802: #line 3700 "cp-parse.y"
1.1 root 6803: { dont_see_typename (); ;
6804: break;}
1.1.1.4 ! root 6805: case 637:
! 6806: #line 3719 "cp-parse.y"
1.1 root 6807: {
6808: warning ("type specifier omitted for parameter");
6809: yyval.ttype = build_tree_list (TREE_PURPOSE (TREE_VALUE (yyvsp[-2].ttype)), yyval.ttype);
6810: ;
6811: break;}
1.1.1.4 ! root 6812: case 638:
! 6813: #line 3727 "cp-parse.y"
1.1 root 6814: { yyval.ttype = NULL_TREE; ;
6815: break;}
1.1.1.4 ! root 6816: case 639:
! 6817: #line 3729 "cp-parse.y"
1.1 root 6818: { yyval.ttype = yyvsp[0].ttype; ;
6819: break;}
1.1.1.4 ! root 6820: case 640:
! 6821: #line 3731 "cp-parse.y"
1.1 root 6822: { yyval.ttype = yyvsp[-1].ttype; ;
6823: break;}
1.1.1.4 ! root 6824: case 641:
! 6825: #line 3736 "cp-parse.y"
1.1 root 6826: { yyval.ttype = void_list_node; ;
6827: break;}
1.1.1.4 ! root 6828: case 642:
! 6829: #line 3738 "cp-parse.y"
1.1 root 6830: { yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
6831: break;}
1.1.1.4 ! root 6832: case 643:
! 6833: #line 3740 "cp-parse.y"
1.1 root 6834: { yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
6835: break;}
1.1.1.4 ! root 6836: case 644:
! 6837: #line 3742 "cp-parse.y"
1.1 root 6838: { yyval.ttype = build_decl_list (void_type_node, yyvsp[0].ttype); ;
6839: break;}
1.1.1.4 ! root 6840: case 645:
! 6841: #line 3744 "cp-parse.y"
1.1 root 6842: { yyval.ttype = build_decl_list (void_type_node, yyvsp[0].ttype); ;
6843: break;}
1.1.1.4 ! root 6844: case 646:
! 6845: #line 3746 "cp-parse.y"
1.1 root 6846: { yyval.ttype = build_decl_list (yyval.ttype, yyvsp[0].ttype); ;
6847: break;}
1.1.1.4 ! root 6848: case 648:
! 6849: #line 3752 "cp-parse.y"
1.1 root 6850: { yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
6851: break;}
1.1.1.4 ! root 6852: case 650:
! 6853: #line 3758 "cp-parse.y"
1.1 root 6854: {
6855: TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype;
6856: yyval.ttype = yyvsp[0].ttype;
6857: ;
6858: break;}
1.1.1.4 ! root 6859: case 652:
! 6860: #line 3767 "cp-parse.y"
1.1 root 6861: {
6862: TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype;
6863: yyval.ttype = yyvsp[0].ttype;
6864: ;
6865: break;}
1.1.1.4 ! root 6866: case 653:
! 6867: #line 3775 "cp-parse.y"
1.1 root 6868: { yyval.ttype = ansi_opname[MULT_EXPR]; ;
6869: break;}
1.1.1.4 ! root 6870: case 654:
! 6871: #line 3777 "cp-parse.y"
1.1 root 6872: { yyval.ttype = ansi_opname[TRUNC_DIV_EXPR]; ;
6873: break;}
1.1.1.4 ! root 6874: case 655:
! 6875: #line 3779 "cp-parse.y"
1.1 root 6876: { yyval.ttype = ansi_opname[TRUNC_MOD_EXPR]; ;
6877: break;}
1.1.1.4 ! root 6878: case 656:
! 6879: #line 3781 "cp-parse.y"
1.1 root 6880: { yyval.ttype = ansi_opname[PLUS_EXPR]; ;
6881: break;}
1.1.1.4 ! root 6882: case 657:
! 6883: #line 3783 "cp-parse.y"
1.1 root 6884: { yyval.ttype = ansi_opname[MINUS_EXPR]; ;
6885: break;}
1.1.1.4 ! root 6886: case 658:
! 6887: #line 3785 "cp-parse.y"
1.1 root 6888: { yyval.ttype = ansi_opname[BIT_AND_EXPR]; ;
6889: break;}
1.1.1.4 ! root 6890: case 659:
! 6891: #line 3787 "cp-parse.y"
1.1 root 6892: { yyval.ttype = ansi_opname[BIT_IOR_EXPR]; ;
6893: break;}
1.1.1.4 ! root 6894: case 660:
! 6895: #line 3789 "cp-parse.y"
1.1 root 6896: { yyval.ttype = ansi_opname[BIT_XOR_EXPR]; ;
6897: break;}
1.1.1.4 ! root 6898: case 661:
! 6899: #line 3791 "cp-parse.y"
1.1 root 6900: { yyval.ttype = ansi_opname[BIT_NOT_EXPR]; ;
6901: break;}
1.1.1.4 ! root 6902: case 662:
! 6903: #line 3793 "cp-parse.y"
1.1 root 6904: { yyval.ttype = ansi_opname[COMPOUND_EXPR]; ;
6905: break;}
1.1.1.4 ! root 6906: case 663:
! 6907: #line 3795 "cp-parse.y"
1.1 root 6908: { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
6909: break;}
1.1.1.4 ! root 6910: case 664:
! 6911: #line 3797 "cp-parse.y"
1.1 root 6912: { yyval.ttype = ansi_opname[LT_EXPR]; ;
6913: break;}
1.1.1.4 ! root 6914: case 665:
! 6915: #line 3799 "cp-parse.y"
1.1 root 6916: { yyval.ttype = ansi_opname[GT_EXPR]; ;
6917: break;}
1.1.1.4 ! root 6918: case 666:
! 6919: #line 3801 "cp-parse.y"
1.1 root 6920: { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
6921: break;}
1.1.1.4 ! root 6922: case 667:
! 6923: #line 3803 "cp-parse.y"
1.1 root 6924: { yyval.ttype = ansi_assopname[yyvsp[0].code]; ;
6925: break;}
1.1.1.4 ! root 6926: case 668:
! 6927: #line 3805 "cp-parse.y"
1.1 root 6928: {
6929: yyval.ttype = ansi_opname [MODIFY_EXPR];
6930: if (current_class_type)
6931: {
6932: TYPE_HAS_ASSIGNMENT (current_class_type) = 1;
6933: TYPE_GETS_ASSIGNMENT (current_class_type) = 1;
6934: }
6935: ;
6936: break;}
1.1.1.4 ! root 6937: case 669:
! 6938: #line 3814 "cp-parse.y"
1.1 root 6939: { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
6940: break;}
1.1.1.4 ! root 6941: case 670:
! 6942: #line 3816 "cp-parse.y"
1.1 root 6943: { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
6944: break;}
1.1.1.4 ! root 6945: case 671:
! 6946: #line 3818 "cp-parse.y"
1.1 root 6947: { yyval.ttype = ansi_opname[POSTINCREMENT_EXPR]; ;
6948: break;}
1.1.1.4 ! root 6949: case 672:
! 6950: #line 3820 "cp-parse.y"
1.1 root 6951: { yyval.ttype = ansi_opname[PREDECREMENT_EXPR]; ;
6952: break;}
1.1.1.4 ! root 6953: case 673:
! 6954: #line 3822 "cp-parse.y"
1.1 root 6955: { yyval.ttype = ansi_opname[TRUTH_ANDIF_EXPR]; ;
6956: break;}
1.1.1.4 ! root 6957: case 674:
! 6958: #line 3824 "cp-parse.y"
1.1 root 6959: { yyval.ttype = ansi_opname[TRUTH_ORIF_EXPR]; ;
6960: break;}
1.1.1.4 ! root 6961: case 675:
! 6962: #line 3826 "cp-parse.y"
1.1 root 6963: { yyval.ttype = ansi_opname[TRUTH_NOT_EXPR]; ;
6964: break;}
1.1.1.4 ! root 6965: case 676:
! 6966: #line 3828 "cp-parse.y"
1.1 root 6967: { yyval.ttype = ansi_opname[COND_EXPR]; ;
6968: break;}
1.1.1.4 ! root 6969: case 677:
! 6970: #line 3830 "cp-parse.y"
1.1 root 6971: { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
6972: break;}
1.1.1.4 ! root 6973: case 678:
! 6974: #line 3832 "cp-parse.y"
1.1 root 6975: { yyval.ttype = ansi_opname[COMPONENT_REF];
6976: if (current_class_type)
6977: {
6978: tree t = current_class_type;
6979: while (t)
6980: {
6981: TYPE_OVERLOADS_ARROW (t) = 1;
6982: t = TYPE_NEXT_VARIANT (t);
6983: }
6984: }
6985: ;
6986: break;}
1.1.1.4 ! root 6987: case 679:
! 6988: #line 3844 "cp-parse.y"
1.1 root 6989: { yyval.ttype = ansi_opname[MEMBER_REF];
6990: if (current_class_type)
6991: {
6992: tree t = current_class_type;
6993: while (t)
6994: {
6995: TYPE_OVERLOADS_ARROW (t) = 1;
6996: t = TYPE_NEXT_VARIANT (t);
6997: }
6998: }
6999: ;
7000: break;}
1.1.1.4 ! root 7001: case 680:
! 7002: #line 3856 "cp-parse.y"
1.1 root 7003: {
7004: if (yychar == YYEMPTY)
7005: yychar = YYLEX;
7006: if (yychar == '(' || yychar == LEFT_RIGHT)
7007: {
7008: yyval.ttype = ansi_opname[METHOD_CALL_EXPR];
7009: if (current_class_type)
7010: {
7011: tree t = current_class_type;
7012: while (t)
7013: {
7014: TYPE_OVERLOADS_METHOD_CALL_EXPR (t) = 1;
7015: t = TYPE_NEXT_VARIANT (t);
7016: }
7017: }
7018: }
7019: else
7020: {
7021: yyval.ttype = build_parse_node (CALL_EXPR, ansi_opname[COMPONENT_REF], void_list_node, yyvsp[0].ttype);
7022: if (current_class_type)
7023: {
7024: tree t = current_class_type;
7025: while (t)
7026: {
7027: TYPE_OVERLOADS_ARROW (t) = 1;
7028: t = TYPE_NEXT_VARIANT (t);
7029: }
7030: }
7031: }
7032: ;
7033: break;}
1.1.1.4 ! root 7034: case 681:
! 7035: #line 3887 "cp-parse.y"
1.1 root 7036: { yyval.ttype = ansi_opname[CALL_EXPR];
7037: if (current_class_type)
7038: {
7039: tree t = current_class_type;
7040: while (t)
7041: {
7042: TYPE_OVERLOADS_CALL_EXPR (t) = 1;
7043: t = TYPE_NEXT_VARIANT (t);
7044: }
7045: }
7046: ;
7047: break;}
1.1.1.4 ! root 7048: case 682:
! 7049: #line 3899 "cp-parse.y"
1.1 root 7050: { yyval.ttype = ansi_opname[ARRAY_REF];
7051: if (current_class_type)
7052: {
7053: tree t = current_class_type;
7054: while (t)
7055: {
7056: TYPE_OVERLOADS_ARRAY_REF (t) = 1;
7057: t = TYPE_NEXT_VARIANT (t);
7058: }
7059: }
7060: ;
7061: break;}
1.1.1.4 ! root 7062: case 683:
! 7063: #line 3911 "cp-parse.y"
1.1 root 7064: {
7065: yyval.ttype = ansi_opname[NEW_EXPR];
7066: if (current_class_type)
7067: {
7068: tree t = current_class_type;
7069: while (t)
7070: {
7071: TREE_GETS_NEW (t) = 1;
7072: t = TYPE_NEXT_VARIANT (t);
7073: }
7074: }
7075: ;
7076: break;}
1.1.1.4 ! root 7077: case 684:
! 7078: #line 3924 "cp-parse.y"
1.1 root 7079: {
7080: yyval.ttype = ansi_opname[DELETE_EXPR];
7081: if (current_class_type)
7082: {
7083: tree t = current_class_type;
7084: while (t)
7085: {
7086: TREE_GETS_DELETE (t) = 1;
7087: t = TYPE_NEXT_VARIANT (t);
7088: }
7089: }
7090: ;
7091: break;}
1.1.1.4 ! root 7092: case 685:
! 7093: #line 3940 "cp-parse.y"
! 7094: { yyval.ttype = build1 (TYPE_EXPR, yyvsp[-1].ttype, yyvsp[0].ttype); ;
1.1 root 7095: break;}
1.1.1.4 ! root 7096: case 686:
! 7097: #line 3942 "cp-parse.y"
1.1 root 7098: { yyval.ttype = ansi_opname[ERROR_MARK]; ;
7099: break;}
7100: }
7101: /* the action file gets copied in in place of this dollarsign */
7102: #line 440 "bison.simple"
7103:
7104: yyvsp -= yylen;
7105: yyssp -= yylen;
7106: #ifdef YYLSP_NEEDED
7107: yylsp -= yylen;
7108: #endif
7109:
7110: #if YYDEBUG != 0
7111: if (yydebug)
7112: {
7113: short *ssp1 = yyss - 1;
7114: fprintf (stderr, "state stack now");
7115: while (ssp1 != yyssp)
7116: fprintf (stderr, " %d", *++ssp1);
7117: fprintf (stderr, "\n");
7118: }
7119: #endif
7120:
7121: *++yyvsp = yyval;
7122:
7123: #ifdef YYLSP_NEEDED
7124: yylsp++;
7125: if (yylen == 0)
7126: {
7127: yylsp->first_line = yylloc.first_line;
7128: yylsp->first_column = yylloc.first_column;
7129: yylsp->last_line = (yylsp-1)->last_line;
7130: yylsp->last_column = (yylsp-1)->last_column;
7131: yylsp->text = 0;
7132: }
7133: else
7134: {
7135: yylsp->last_line = (yylsp+yylen-1)->last_line;
7136: yylsp->last_column = (yylsp+yylen-1)->last_column;
7137: }
7138: #endif
7139:
7140: /* Now "shift" the result of the reduction.
7141: Determine what state that goes to,
7142: based on the state we popped back to
7143: and the rule number reduced by. */
7144:
7145: yyn = yyr1[yyn];
7146:
7147: yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
7148: if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
7149: yystate = yytable[yystate];
7150: else
7151: yystate = yydefgoto[yyn - YYNTBASE];
7152:
7153: goto yynewstate;
7154:
7155: yyerrlab: /* here on detecting error */
7156:
7157: if (! yyerrstatus)
7158: /* If not already recovering from an error, report this error. */
7159: {
7160: ++yynerrs;
7161:
7162: #ifdef YYERROR_VERBOSE
7163: yyn = yypact[yystate];
7164:
7165: if (yyn > YYFLAG && yyn < YYLAST)
7166: {
7167: int size = 0;
7168: char *msg;
7169: int x, count;
7170:
7171: count = 0;
7172: for (x = 0; x < (sizeof(yytname) / sizeof(char *)); x++)
7173: if (yycheck[x + yyn] == x)
7174: size += strlen(yytname[x]) + 15, count++;
1.1.1.3 root 7175: msg = (char *) malloc(size + 15);
7176: if (msg != 0)
1.1.1.2 root 7177: {
1.1.1.3 root 7178: strcpy(msg, "parse error");
7179:
7180: if (count < 5)
7181: {
7182: count = 0;
7183: for (x = 0; x < (sizeof(yytname) / sizeof(char *)); x++)
7184: if (yycheck[x + yyn] == x)
7185: {
7186: strcat(msg, count == 0 ? ", expecting `" : " or `");
7187: strcat(msg, yytname[x]);
7188: strcat(msg, "'");
7189: count++;
7190: }
7191: }
7192: yyerror(msg);
7193: free(msg);
1.1 root 7194: }
1.1.1.3 root 7195: else
7196: yyerror ("parse error; also virtual memory exceeded");
1.1 root 7197: }
7198: else
7199: #endif /* YYERROR_VERBOSE */
7200: yyerror("parse error");
7201: }
7202:
7203: yyerrlab1: /* here on error raised explicitly by an action */
7204:
7205: if (yyerrstatus == 3)
7206: {
7207: /* if just tried and failed to reuse lookahead token after an error, discard it. */
7208:
7209: /* return failure if at end of input */
7210: if (yychar == YYEOF)
7211: YYABORT;
7212:
7213: #if YYDEBUG != 0
7214: if (yydebug)
7215: fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
7216: #endif
7217:
7218: yychar = YYEMPTY;
7219: }
7220:
7221: /* Else will try to reuse lookahead token
7222: after shifting the error token. */
7223:
7224: yyerrstatus = 3; /* Each real token shifted decrements this */
7225:
7226: goto yyerrhandle;
7227:
7228: yyerrdefault: /* current state does not do anything special for the error token. */
7229:
7230: #if 0
7231: /* This is wrong; only states that explicitly want error tokens
7232: should shift them. */
7233: yyn = yydefact[yystate]; /* If its default is to accept any token, ok. Otherwise pop it.*/
7234: if (yyn) goto yydefault;
7235: #endif
7236:
7237: yyerrpop: /* pop the current state because it cannot handle the error token */
7238:
7239: if (yyssp == yyss) YYABORT;
7240: yyvsp--;
7241: yystate = *--yyssp;
7242: #ifdef YYLSP_NEEDED
7243: yylsp--;
7244: #endif
7245:
7246: #if YYDEBUG != 0
7247: if (yydebug)
7248: {
7249: short *ssp1 = yyss - 1;
7250: fprintf (stderr, "Error: state stack now");
7251: while (ssp1 != yyssp)
7252: fprintf (stderr, " %d", *++ssp1);
7253: fprintf (stderr, "\n");
7254: }
7255: #endif
7256:
7257: yyerrhandle:
7258:
7259: yyn = yypact[yystate];
7260: if (yyn == YYFLAG)
7261: goto yyerrdefault;
7262:
7263: yyn += YYTERROR;
7264: if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
7265: goto yyerrdefault;
7266:
7267: yyn = yytable[yyn];
7268: if (yyn < 0)
7269: {
7270: if (yyn == YYFLAG)
7271: goto yyerrpop;
7272: yyn = -yyn;
7273: goto yyreduce;
7274: }
7275: else if (yyn == 0)
7276: goto yyerrpop;
7277:
7278: if (yyn == YYFINAL)
7279: YYACCEPT;
7280:
7281: #if YYDEBUG != 0
7282: if (yydebug)
7283: fprintf(stderr, "Shifting error token, ");
7284: #endif
7285:
7286: *++yyvsp = yylval;
7287: #ifdef YYLSP_NEEDED
7288: *++yylsp = yylloc;
7289: #endif
7290:
7291: yystate = yyn;
7292: goto yynewstate;
7293: }
1.1.1.4 ! root 7294: #line 3945 "cp-parse.y"
1.1.1.2 root 7295:
1.1 root 7296:
1.1.1.2 root 7297: tree
7298: get_current_declspecs ()
7299: {
7300: return current_declspecs;
7301: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.