|
|
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:
91: #ifdef GATHER_STATISTICS
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"
103: #include "cp-lex.h"
104: #include "cp-tree.h"
105: #include "assert.h"
106:
107: extern tree void_list_node;
108:
109: #ifndef errno
110: extern int errno;
111: #endif
112:
113: extern int end_of_file;
114:
115: void yyerror ();
116:
117: /* Like YYERROR but do call yyerror. */
118: #define YYERROR1 { yyerror ("syntax error"); YYERROR; }
119:
120: static void position_after_white_space ();
121:
122: /* The elements of `ridpointers' are identifier nodes
123: for the reserved type names and storage classes.
124: It is indexed by a RID_... value. */
125:
126: tree ridpointers[(int) RID_MAX];
127: #define NORID RID_UNUSED
128:
129: /* Contains error message to give if user tries to declare
130: a variable where one does not belong. */
131: static char *stmt_decl_msg = 0;
132:
133: /* Nonzero if we have an `extern "C"' acting as an extern specifier. */
134:
135: static int have_extern_spec;
136:
137: void yyhook ();
138:
139: /* Cons up an empty parameter list. */
140: #ifdef __GNUC__
141: __inline
142: #endif
143: static tree
144: empty_parms ()
145: {
146: tree parms;
147:
148: if (strict_prototype)
149: parms = void_list_node;
150: else
151: parms = NULL_TREE;
152: return parms;
153: }
154:
155: #line 110 "cp-parse.y"
1.1.1.2 root 156: typedef union {long itype; tree ttype; char *strtype; enum tree_code code; } YYSTYPE;
157: #line 266 "cp-parse.y"
1.1 root 158:
159: /* the declaration found for the last IDENTIFIER token read in.
160: yylex must look this up to detect typedefs, which get token type TYPENAME,
161: so it is left around in case the identifier is not a typedef but is
162: used in a context which makes it a reference to a variable. */
163: tree lastiddecl;
164:
165: /* Back-door communication channel to the lexer. */
166: extern int looking_for_typename;
167:
168: tree make_pointer_declarator (), make_reference_declarator ();
169:
170: void reinit_parse_for_function ();
171: void reinit_parse_for_method ();
172:
173: /* List of types and structure classes of the current declaration. */
174: tree current_declspecs;
175:
176: /* When defining an aggregate, this is the most recent one being defined. */
177: static tree current_aggr;
178:
179: int undeclared_variable_notice; /* 1 if we explained undeclared var errors. */
180:
181: int yylex ();
182:
1.1.1.2 root 183: static
184: #ifdef __GNUC__
185: __inline
186: #endif
187: void yyprint ();
1.1 root 188: #define YYPRINT(FILE,YYCHAR,YYLVAL) yyprint(FILE,YYCHAR,YYLVAL)
189:
190: #ifndef YYLTYPE
191: typedef
192: struct yyltype
193: {
194: int timestamp;
195: int first_line;
196: int first_column;
197: int last_line;
198: int last_column;
199: char *text;
200: }
201: yyltype;
202:
203: #define YYLTYPE yyltype
204: #endif
205:
206: #include <stdio.h>
207:
208: #ifndef __STDC__
209: #define const
210: #endif
211:
212:
213:
1.1.1.3 ! root 214: #define YYFINAL 1247
1.1 root 215: #define YYFLAG -32768
1.1.1.2 root 216: #define YYNTBASE 109
1.1 root 217:
1.1.1.3 ! root 218: #define YYTRANSLATE(x) ((unsigned)(x) <= 339 ? yytranslate[x] : 299)
1.1 root 219:
220: static const char yytranslate[] = { 0,
221: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
222: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
223: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1.1.1.2 root 224: 2, 2, 107, 2, 2, 2, 72, 60, 2, 82,
225: 103, 70, 68, 50, 69, 80, 71, 2, 2, 2,
226: 2, 2, 2, 2, 2, 2, 2, 54, 104, 64,
227: 52, 65, 53, 2, 2, 2, 2, 2, 2, 2,
1.1 root 228: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
229: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1.1.1.2 root 230: 83, 2, 108, 59, 2, 2, 2, 2, 2, 2,
1.1 root 231: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
232: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1.1.1.2 root 233: 2, 2, 49, 58, 105, 106, 2, 2, 2, 2,
1.1 root 234: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
235: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
236: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
237: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
238: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
239: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
240: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
241: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
242: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
243: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
244: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
245: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
246: 2, 2, 2, 2, 2, 1, 2, 3, 4, 5,
247: 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
248: 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
249: 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
250: 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
1.1.1.2 root 251: 46, 47, 48, 51, 55, 56, 57, 61, 62, 63,
252: 66, 67, 73, 74, 75, 76, 77, 78, 79, 81,
1.1 root 253: 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
1.1.1.2 root 254: 94, 95, 96, 97, 98, 99, 100, 101, 102
1.1 root 255: };
256:
257: static const short yyprhs[] = { 0,
258: 0, 1, 3, 4, 7, 10, 11, 12, 14, 16,
259: 18, 20, 26, 31, 35, 40, 45, 47, 48, 54,
260: 56, 60, 63, 68, 72, 74, 78, 80, 84, 85,
261: 91, 92, 98, 99, 105, 106, 112, 116, 120, 127,
1.1.1.2 root 262: 135, 140, 144, 148, 150, 152, 154, 156, 158, 161,
263: 165, 169, 173, 177, 180, 183, 186, 189, 191, 195,
264: 200, 204, 210, 215, 219, 223, 226, 230, 234, 237,
265: 244, 251, 256, 261, 263, 270, 275, 279, 286, 291,
266: 295, 298, 301, 303, 307, 312, 315, 319, 320, 321,
267: 323, 327, 330, 334, 336, 341, 344, 349, 352, 358,
268: 362, 364, 366, 368, 370, 372, 374, 376, 378, 380,
269: 383, 385, 388, 391, 394, 398, 402, 404, 407, 410,
270: 414, 419, 421, 423, 424, 425, 427, 431, 433, 435,
271: 436, 443, 444, 446, 447, 450, 452, 454, 456, 458,
272: 460, 462, 464, 466, 470, 474, 476, 477, 481, 484,
273: 487, 490, 493, 496, 501, 504, 509, 513, 520, 525,
274: 531, 541, 551, 558, 565, 569, 572, 577, 583, 585,
275: 590, 598, 603, 608, 613, 615, 619, 623, 627, 631,
276: 635, 639, 643, 647, 651, 655, 659, 663, 667, 671,
277: 675, 679, 683, 689, 693, 697, 701, 704, 706, 708,
278: 710, 712, 716, 720, 721, 726, 727, 734, 737, 742,
279: 745, 749, 752, 755, 757, 762, 767, 770, 773, 776,
280: 779, 785, 789, 795, 799, 806, 811, 813, 818, 821,
281: 827, 828, 830, 832, 835, 837, 840, 841, 844, 847,
282: 850, 854, 858, 862, 866, 869, 872, 874, 876, 879,
283: 882, 884, 887, 890, 894, 896, 898, 901, 904, 906,
284: 908, 911, 914, 916, 919, 922, 926, 928, 931, 933,
285: 935, 937, 939, 944, 949, 951, 953, 955, 957, 959,
286: 963, 965, 969, 970, 975, 976, 984, 989, 990, 998,
287: 1003, 1004, 1012, 1017, 1018, 1025, 1027, 1031, 1033, 1038,
1.1.1.3 ! root 288: 1047, 1049, 1053, 1055, 1058, 1062, 1067, 1069, 1071, 1075,
! 289: 1080, 1087, 1091, 1097, 1098, 1106, 1111, 1112, 1119, 1123,
! 290: 1126, 1131, 1133, 1134, 1136, 1137, 1139, 1141, 1144, 1150,
! 291: 1153, 1156, 1159, 1162, 1165, 1168, 1171, 1175, 1179, 1182,
! 292: 1183, 1187, 1188, 1192, 1195, 1197, 1199, 1200, 1202, 1205,
! 293: 1207, 1211, 1213, 1216, 1220, 1222, 1224, 1226, 1229, 1232,
! 294: 1234, 1235, 1237, 1242, 1246, 1248, 1251, 1254, 1258, 1264,
! 295: 1270, 1274, 1278, 1282, 1286, 1290, 1296, 1302, 1306, 1310,
! 296: 1314, 1318, 1320, 1323, 1326, 1330, 1334, 1335, 1337, 1341,
! 297: 1346, 1353, 1358, 1362, 1365, 1370, 1377, 1382, 1386, 1389,
! 298: 1391, 1395, 1397, 1401, 1404, 1407, 1408, 1410, 1413, 1415,
! 299: 1418, 1419, 1422, 1423, 1426, 1432, 1438, 1442, 1448, 1453,
! 300: 1457, 1461, 1467, 1469, 1471, 1477, 1481, 1485, 1487, 1493,
! 301: 1499, 1503, 1509, 1514, 1518, 1522, 1524, 1526, 1530, 1534,
! 302: 1540, 1546, 1550, 1556, 1560, 1564, 1568, 1573, 1577, 1579,
! 303: 1581, 1584, 1587, 1590, 1593, 1597, 1601, 1605, 1609, 1617,
! 304: 1625, 1631, 1639, 1643, 1651, 1659, 1665, 1673, 1677, 1679,
! 305: 1683, 1686, 1688, 1692, 1696, 1699, 1701, 1705, 1709, 1712,
! 306: 1718, 1722, 1727, 1731, 1736, 1739, 1743, 1746, 1750, 1755,
! 307: 1759, 1764, 1770, 1776, 1778, 1780, 1783, 1786, 1789, 1790,
! 308: 1791, 1793, 1795, 1798, 1802, 1804, 1807, 1810, 1816, 1822,
! 309: 1823, 1830, 1832, 1834, 1837, 1838, 1843, 1845, 1846, 1847,
! 310: 1855, 1856, 1857, 1867, 1868, 1869, 1870, 1880, 1881, 1882,
! 311: 1883, 1893, 1894, 1901, 1902, 1908, 1909, 1917, 1918, 1923,
! 312: 1926, 1929, 1932, 1936, 1943, 1952, 1963, 1976, 1980, 1983,
! 313: 1986, 1988, 1991, 1995, 2002, 2007, 2014, 2019, 2023, 2024,
! 314: 2032, 2035, 2036, 2042, 2046, 2048, 2051, 2055, 2059, 2062,
! 315: 2065, 2067, 2068, 2073, 2076, 2080, 2084, 2085, 2086, 2091,
! 316: 2092, 2093, 2098, 2099, 2104, 2105, 2107, 2108, 2109, 2118,
! 317: 2122, 2127, 2132, 2136, 2141, 2148, 2155, 2156, 2158, 2159,
! 318: 2161, 2163, 2164, 2166, 2168, 2172, 2177, 2179, 2183, 2184,
! 319: 2186, 2190, 2193, 2195, 2197, 2200, 2203, 2205, 2209, 2213,
! 320: 2219, 2223, 2229, 2233, 2237, 2239, 2241, 2244, 2246, 2247,
! 321: 2248, 2250, 2251, 2254, 2259, 2261, 2263, 2265, 2268, 2271,
! 322: 2274, 2276, 2278, 2280, 2284, 2286, 2290, 2293, 2296, 2299,
! 323: 2302, 2305, 2308, 2311, 2314, 2317, 2320, 2323, 2326, 2329,
! 324: 2332, 2335, 2338, 2341, 2344, 2347, 2350, 2353, 2356, 2359,
! 325: 2363, 2366, 2369, 2372, 2376, 2379, 2383, 2386, 2389, 2393
1.1 root 326: };
327:
328: static const short yyrhs[] = { -1,
1.1.1.2 root 329: 110, 0, 0, 111, 114, 0, 110, 114, 0, 0,
330: 0, 129, 0, 128, 0, 122, 0, 120, 0, 26,
331: 82, 165, 103, 104, 0, 115, 49, 110, 105, 0,
332: 115, 49, 105, 0, 115, 112, 129, 113, 0, 115,
333: 112, 128, 113, 0, 96, 0, 0, 44, 64, 117,
1.1.1.3 ! root 334: 118, 65, 0, 119, 0, 118, 50, 119, 0, 198,
! 335: 138, 0, 198, 139, 54, 209, 0, 198, 48, 209,
! 336: 0, 287, 0, 38, 121, 104, 0, 3, 0, 121,
! 337: 50, 3, 0, 0, 116, 199, 49, 123, 104, 0,
! 338: 0, 116, 200, 49, 124, 104, 0, 0, 116, 199,
! 339: 54, 125, 104, 0, 0, 116, 200, 54, 126, 104,
! 340: 0, 116, 199, 104, 0, 116, 200, 104, 0, 116,
! 341: 228, 293, 180, 187, 127, 0, 116, 171, 170, 293,
1.1.1.2 root 342: 180, 187, 127, 0, 116, 173, 170, 127, 0, 116,
343: 1, 105, 0, 116, 1, 104, 0, 49, 0, 54,
344: 0, 104, 0, 52, 0, 24, 0, 179, 104, 0,
345: 173, 179, 104, 0, 173, 170, 104, 0, 171, 178,
346: 104, 0, 171, 170, 104, 0, 173, 104, 0, 171,
347: 104, 0, 1, 104, 0, 1, 105, 0, 104, 0,
1.1.1.3 ! root 348: 130, 134, 241, 0, 130, 133, 134, 241, 0, 130,
! 349: 166, 241, 0, 130, 133, 104, 166, 241, 0, 130,
! 350: 133, 166, 241, 0, 171, 170, 1, 0, 173, 228,
! 351: 1, 0, 228, 1, 0, 171, 170, 293, 0, 173,
! 352: 228, 293, 0, 228, 293, 0, 4, 82, 285, 103,
! 353: 223, 293, 0, 231, 82, 285, 103, 223, 293, 0,
! 354: 4, 43, 223, 293, 0, 231, 43, 223, 293, 0,
! 355: 95, 0, 171, 82, 285, 103, 223, 293, 0, 171,
! 356: 43, 223, 293, 0, 171, 170, 293, 0, 173, 82,
! 357: 285, 103, 223, 293, 0, 173, 43, 223, 293, 0,
! 358: 173, 170, 293, 0, 228, 293, 0, 24, 3, 0,
! 359: 132, 0, 132, 52, 191, 0, 132, 82, 154, 103,
1.1.1.2 root 360: 0, 132, 43, 0, 54, 135, 136, 0, 0, 0,
361: 137, 0, 136, 50, 137, 0, 136, 1, 0, 82,
362: 154, 103, 0, 43, 0, 138, 82, 154, 103, 0,
363: 138, 43, 0, 143, 82, 154, 103, 0, 143, 43,
1.1.1.3 ! root 364: 0, 229, 138, 82, 154, 103, 0, 229, 138, 43,
1.1.1.2 root 365: 0, 3, 0, 4, 0, 94, 0, 100, 0, 99,
366: 0, 101, 0, 3, 0, 4, 0, 94, 0, 106,
1.1.1.3 ! root 367: 138, 0, 298, 0, 141, 3, 0, 141, 4, 0,
! 368: 141, 298, 0, 141, 229, 3, 0, 141, 229, 298,
1.1.1.2 root 369: 0, 43, 0, 106, 43, 0, 43, 53, 0, 143,
370: 144, 150, 0, 94, 64, 146, 65, 0, 49, 0,
371: 54, 0, 0, 0, 147, 0, 146, 50, 147, 0,
1.1.1.3 ! root 372: 220, 0, 158, 0, 0, 98, 206, 149, 211, 212,
1.1.1.2 root 373: 105, 0, 0, 148, 0, 0, 148, 151, 0, 69,
374: 0, 68, 0, 74, 0, 75, 0, 107, 0, 154,
375: 0, 158, 0, 158, 0, 154, 50, 158, 0, 154,
376: 50, 1, 0, 159, 0, 0, 32, 156, 157, 0,
377: 70, 157, 0, 60, 157, 0, 106, 157, 0, 152,
1.1.1.3 ! root 378: 157, 0, 12, 155, 0, 12, 82, 220, 103, 0,
! 379: 28, 155, 0, 28, 82, 220, 103, 0, 163, 162,
! 380: 220, 0, 163, 162, 176, 82, 154, 103, 0, 163,
! 381: 162, 176, 43, 0, 163, 162, 220, 52, 191, 0,
! 382: 163, 162, 82, 174, 221, 103, 83, 224, 108, 0,
! 383: 163, 162, 82, 222, 221, 103, 83, 224, 108, 0,
! 384: 163, 162, 82, 174, 221, 103, 0, 163, 162, 82,
! 385: 222, 221, 103, 0, 163, 162, 48, 0, 164, 157,
1.1.1.2 root 386: 0, 164, 83, 108, 157, 0, 164, 83, 153, 108,
1.1.1.3 ! root 387: 157, 0, 155, 0, 82, 220, 103, 158, 0, 82,
! 388: 220, 103, 49, 192, 196, 105, 0, 29, 82, 153,
1.1.1.2 root 389: 103, 0, 30, 82, 153, 103, 0, 30, 82, 4,
390: 103, 0, 157, 0, 158, 68, 158, 0, 158, 69,
391: 158, 0, 158, 70, 158, 0, 158, 71, 158, 0,
392: 158, 72, 158, 0, 158, 66, 158, 0, 158, 67,
393: 158, 0, 158, 63, 158, 0, 158, 64, 158, 0,
394: 158, 65, 158, 0, 158, 62, 158, 0, 158, 61,
395: 158, 0, 158, 60, 158, 0, 158, 58, 158, 0,
396: 158, 59, 158, 0, 158, 57, 158, 0, 158, 56,
1.1.1.3 ! root 397: 158, 0, 158, 53, 280, 54, 158, 0, 158, 52,
1.1.1.2 root 398: 158, 0, 158, 51, 158, 0, 159, 81, 158, 0,
1.1.1.3 ! root 399: 168, 158, 0, 3, 0, 298, 0, 9, 0, 165,
1.1.1.2 root 400: 0, 82, 153, 103, 0, 82, 1, 103, 0, 0,
1.1.1.3 ! root 401: 82, 160, 242, 103, 0, 0, 159, 82, 154, 103,
1.1.1.2 root 402: 161, 151, 0, 159, 43, 0, 159, 83, 153, 108,
1.1.1.3 ! root 403: 0, 167, 140, 0, 167, 229, 140, 0, 159, 74,
1.1.1.2 root 404: 0, 159, 75, 0, 39, 0, 8, 82, 154, 103,
405: 0, 176, 82, 154, 103, 0, 176, 43, 0, 45,
1.1.1.3 ! root 406: 3, 0, 45, 298, 0, 229, 140, 0, 229, 140,
! 407: 82, 154, 103, 0, 229, 140, 43, 0, 167, 140,
! 408: 82, 154, 103, 0, 167, 140, 43, 0, 167, 229,
! 409: 140, 82, 154, 103, 0, 167, 229, 140, 43, 0,
1.1.1.2 root 410: 37, 0, 37, 49, 154, 105, 0, 37, 41, 0,
411: 37, 41, 82, 165, 103, 0, 0, 45, 0, 36,
412: 0, 45, 164, 0, 10, 0, 165, 10, 0, 0,
413: 159, 80, 0, 159, 78, 0, 159, 79, 0, 171,
414: 178, 104, 0, 171, 170, 104, 0, 173, 179, 104,
415: 0, 173, 170, 104, 0, 171, 104, 0, 173, 104,
1.1.1.3 ! root 416: 0, 226, 0, 228, 0, 46, 226, 0, 46, 228,
1.1.1.2 root 417: 0, 176, 0, 173, 176, 0, 176, 172, 0, 173,
418: 176, 172, 0, 177, 0, 6, 0, 172, 177, 0,
419: 172, 6, 0, 8, 0, 6, 0, 173, 8, 0,
1.1.1.3 ! root 420: 173, 6, 0, 176, 0, 222, 176, 0, 176, 175,
! 421: 0, 222, 176, 175, 0, 177, 0, 175, 177, 0,
! 422: 193, 0, 7, 0, 4, 0, 231, 0, 27, 82,
! 423: 153, 103, 0, 27, 82, 220, 103, 0, 142, 0,
! 424: 7, 0, 8, 0, 193, 0, 181, 0, 178, 50,
1.1.1.2 root 425: 183, 0, 185, 0, 179, 50, 183, 0, 0, 26,
1.1.1.3 ! root 426: 82, 165, 103, 0, 0, 170, 293, 180, 187, 52,
! 427: 182, 191, 0, 170, 293, 180, 187, 0, 0, 170,
! 428: 293, 180, 187, 52, 184, 191, 0, 170, 293, 180,
! 429: 187, 0, 0, 228, 293, 180, 187, 52, 186, 191,
! 430: 0, 228, 293, 180, 187, 0, 0, 31, 82, 82,
1.1.1.2 root 431: 188, 103, 103, 0, 189, 0, 188, 50, 189, 0,
1.1.1.3 ! root 432: 3, 0, 3, 82, 9, 103, 0, 3, 82, 3,
! 433: 50, 9, 50, 9, 103, 0, 138, 0, 190, 50,
! 434: 138, 0, 158, 0, 49, 105, 0, 49, 192, 105,
! 435: 0, 49, 192, 50, 105, 0, 1, 0, 191, 0,
! 436: 192, 50, 191, 0, 83, 158, 108, 191, 0, 192,
! 437: 50, 20, 158, 54, 191, 0, 138, 54, 191, 0,
! 438: 192, 50, 138, 54, 191, 0, 0, 13, 138, 49,
! 439: 194, 218, 197, 105, 0, 13, 138, 49, 105, 0,
! 440: 0, 13, 49, 195, 218, 197, 105, 0, 13, 49,
! 441: 105, 0, 13, 138, 0, 205, 211, 212, 105, 0,
! 442: 205, 0, 0, 50, 0, 0, 50, 0, 34, 0,
! 443: 41, 34, 0, 41, 82, 165, 103, 34, 0, 198,
! 444: 6, 0, 198, 7, 0, 198, 8, 0, 198, 34,
! 445: 0, 198, 138, 0, 198, 143, 0, 198, 48, 0,
! 446: 198, 143, 49, 0, 198, 143, 54, 0, 198, 139,
! 447: 0, 0, 199, 202, 206, 0, 0, 200, 203, 206,
! 448: 0, 198, 49, 0, 204, 0, 201, 0, 0, 54,
! 449: 0, 54, 207, 0, 208, 0, 207, 50, 208, 0,
! 450: 209, 0, 210, 209, 0, 143, 145, 150, 0, 138,
! 451: 0, 35, 0, 6, 0, 210, 35, 0, 210, 6,
! 452: 0, 49, 0, 0, 213, 0, 212, 35, 54, 213,
! 453: 0, 212, 35, 54, 0, 214, 0, 213, 214, 0,
! 454: 213, 104, 0, 171, 215, 104, 0, 171, 82, 285,
! 455: 103, 104, 0, 171, 82, 285, 103, 105, 0, 171,
! 456: 43, 104, 0, 171, 43, 105, 0, 173, 215, 104,
! 457: 0, 173, 170, 104, 0, 173, 215, 105, 0, 173,
! 458: 82, 285, 103, 104, 0, 173, 82, 285, 103, 105,
! 459: 0, 173, 43, 104, 0, 173, 43, 105, 0, 54,
! 460: 158, 104, 0, 54, 158, 105, 0, 1, 0, 131,
! 461: 54, 0, 131, 49, 0, 228, 293, 104, 0, 228,
! 462: 293, 105, 0, 0, 216, 0, 215, 50, 217, 0,
! 463: 170, 293, 180, 187, 0, 170, 293, 180, 187, 52,
! 464: 191, 0, 3, 54, 158, 187, 0, 48, 158, 187,
! 465: 0, 54, 158, 0, 170, 293, 180, 187, 0, 170,
! 466: 293, 180, 187, 52, 191, 0, 3, 54, 158, 187,
! 467: 0, 48, 158, 187, 0, 54, 158, 0, 219, 0,
! 468: 218, 50, 219, 0, 138, 0, 138, 52, 158, 0,
! 469: 174, 221, 0, 222, 221, 0, 0, 232, 0, 46,
! 470: 232, 0, 8, 0, 222, 8, 0, 0, 223, 8,
! 471: 0, 0, 225, 153, 0, 226, 82, 154, 103, 223,
! 472: 0, 226, 82, 285, 103, 223, 0, 226, 43, 223,
! 473: 0, 226, 82, 1, 103, 223, 0, 226, 83, 224,
! 474: 108, 0, 226, 83, 108, 0, 82, 227, 103, 0,
! 475: 82, 70, 223, 226, 103, 0, 77, 0, 234, 0,
! 476: 82, 60, 223, 226, 103, 0, 70, 223, 226, 0,
! 477: 60, 223, 226, 0, 4, 0, 227, 82, 154, 103,
! 478: 223, 0, 227, 82, 285, 103, 223, 0, 227, 43,
! 479: 223, 0, 227, 82, 1, 103, 223, 0, 227, 83,
! 480: 224, 108, 0, 227, 83, 108, 0, 82, 227, 103,
! 481: 0, 77, 0, 234, 0, 70, 223, 226, 0, 60,
! 482: 223, 226, 0, 228, 82, 154, 103, 223, 0, 228,
! 483: 82, 285, 103, 223, 0, 228, 43, 223, 0, 228,
! 484: 82, 1, 103, 223, 0, 82, 228, 103, 0, 70,
! 485: 223, 228, 0, 60, 223, 228, 0, 228, 83, 224,
! 486: 108, 0, 228, 83, 108, 0, 3, 0, 298, 0,
! 487: 106, 4, 0, 106, 3, 0, 106, 94, 0, 43,
! 488: 138, 0, 43, 53, 138, 0, 106, 43, 138, 0,
! 489: 229, 289, 228, 0, 229, 289, 4, 0, 229, 289,
! 490: 4, 82, 154, 103, 223, 0, 229, 289, 4, 82,
! 491: 285, 103, 223, 0, 229, 289, 4, 43, 223, 0,
! 492: 229, 289, 4, 82, 1, 103, 223, 0, 229, 289,
! 493: 94, 0, 229, 289, 94, 82, 154, 103, 223, 0,
! 494: 229, 289, 94, 82, 285, 103, 223, 0, 229, 289,
! 495: 94, 43, 223, 0, 229, 289, 94, 82, 1, 103,
! 496: 223, 0, 45, 289, 228, 0, 230, 0, 142, 45,
! 497: 291, 0, 4, 45, 0, 5, 0, 82, 232, 103,
! 498: 0, 70, 223, 232, 0, 70, 223, 0, 77, 0,
! 499: 82, 233, 103, 0, 60, 223, 232, 0, 60, 223,
! 500: 0, 232, 82, 285, 103, 223, 0, 232, 43, 223,
! 501: 0, 232, 83, 224, 108, 0, 232, 83, 108, 0,
! 502: 82, 285, 103, 223, 0, 43, 223, 0, 83, 224,
! 503: 108, 0, 83, 108, 0, 229, 70, 223, 0, 229,
! 504: 70, 223, 232, 0, 229, 60, 223, 0, 229, 60,
! 505: 223, 232, 0, 229, 289, 70, 223, 226, 0, 229,
! 506: 289, 60, 223, 226, 0, 245, 0, 236, 0, 235,
! 507: 245, 0, 235, 236, 0, 1, 104, 0, 0, 0,
! 508: 239, 0, 240, 0, 239, 240, 0, 33, 190, 104,
! 509: 0, 242, 0, 1, 242, 0, 49, 105, 0, 49,
! 510: 237, 238, 235, 105, 0, 49, 237, 238, 1, 105,
! 511: 0, 0, 14, 82, 153, 103, 244, 245, 0, 242,
! 512: 0, 169, 0, 153, 104, 0, 0, 243, 15, 246,
! 513: 245, 0, 243, 0, 0, 0, 16, 247, 82, 153,
! 514: 103, 248, 245, 0, 0, 0, 17, 249, 245, 16,
! 515: 250, 82, 153, 103, 104, 0, 0, 0, 0, 277,
! 516: 251, 280, 104, 252, 280, 103, 253, 245, 0, 0,
! 517: 0, 0, 278, 254, 280, 104, 255, 280, 103, 256,
! 518: 245, 0, 0, 19, 82, 153, 103, 257, 245, 0,
! 519: 0, 20, 153, 54, 258, 245, 0, 0, 20, 153,
! 520: 55, 153, 54, 259, 245, 0, 0, 21, 54, 260,
! 521: 245, 0, 22, 104, 0, 23, 104, 0, 24, 104,
! 522: 0, 24, 153, 104, 0, 26, 279, 82, 165, 103,
! 523: 104, 0, 26, 279, 82, 165, 54, 281, 103, 104,
! 524: 0, 26, 279, 82, 165, 54, 281, 54, 281, 103,
! 525: 104, 0, 26, 279, 82, 165, 54, 281, 54, 281,
! 526: 54, 284, 103, 104, 0, 25, 138, 104, 0, 264,
! 527: 245, 0, 264, 105, 0, 104, 0, 92, 104, 0,
! 528: 92, 153, 104, 0, 90, 294, 82, 154, 103, 104,
! 529: 0, 90, 294, 43, 104, 0, 84, 294, 82, 154,
! 530: 103, 104, 0, 84, 294, 43, 104, 0, 84, 138,
! 531: 104, 0, 0, 263, 88, 138, 49, 261, 271, 105,
! 532: 0, 263, 1, 0, 0, 267, 268, 268, 262, 275,
! 533: 0, 263, 86, 296, 0, 263, 0, 265, 105, 0,
! 534: 265, 235, 105, 0, 265, 1, 105, 0, 3, 54,
! 535: 0, 94, 54, 0, 48, 0, 0, 87, 49, 266,
! 536: 237, 0, 269, 105, 0, 269, 235, 105, 0, 269,
! 537: 1, 105, 0, 0, 0, 91, 49, 270, 237, 0,
! 538: 0, 0, 271, 294, 272, 242, 0, 0, 271, 21,
! 539: 273, 242, 0, 0, 138, 0, 0, 0, 275, 89,
! 540: 82, 220, 274, 103, 276, 242, 0, 18, 82, 104,
! 541: 0, 18, 82, 153, 104, 0, 18, 82, 49, 105,
! 542: 0, 18, 82, 169, 0, 18, 82, 1, 104, 0,
! 543: 18, 82, 49, 237, 235, 105, 0, 18, 82, 49,
! 544: 237, 1, 105, 0, 0, 8, 0, 0, 153, 0,
! 545: 1, 0, 0, 282, 0, 283, 0, 282, 50, 283,
! 546: 0, 10, 82, 153, 103, 0, 10, 0, 284, 50,
! 547: 10, 0, 0, 286, 0, 286, 50, 11, 0, 286,
! 548: 11, 0, 11, 0, 93, 0, 286, 93, 0, 286,
! 549: 54, 0, 287, 0, 287, 52, 191, 0, 286, 50,
! 550: 287, 0, 286, 50, 287, 52, 191, 0, 286, 50,
! 551: 292, 0, 286, 50, 292, 52, 191, 0, 171, 290,
! 552: 288, 0, 173, 290, 288, 0, 221, 0, 228, 0,
! 553: 46, 228, 0, 223, 0, 0, 0, 288, 0, 0,
! 554: 85, 296, 0, 92, 82, 297, 103, 0, 97, 0,
! 555: 3, 0, 4, 0, 45, 3, 0, 45, 4, 0,
! 556: 229, 3, 0, 231, 0, 220, 0, 294, 0, 296,
! 557: 50, 294, 0, 295, 0, 297, 50, 295, 0, 40,
! 558: 70, 0, 40, 71, 0, 40, 72, 0, 40, 68,
! 559: 0, 40, 69, 0, 40, 60, 0, 40, 58, 0,
! 560: 40, 59, 0, 40, 106, 0, 40, 50, 0, 40,
! 561: 63, 0, 40, 64, 0, 40, 65, 0, 40, 62,
! 562: 0, 40, 51, 0, 40, 52, 0, 40, 66, 0,
! 563: 40, 67, 0, 40, 74, 0, 40, 75, 0, 40,
! 564: 57, 0, 40, 56, 0, 40, 107, 0, 40, 53,
! 565: 54, 0, 40, 61, 0, 40, 78, 0, 40, 79,
! 566: 0, 40, 42, 223, 0, 40, 43, 0, 40, 83,
! 567: 108, 0, 40, 37, 0, 40, 36, 0, 40, 174,
! 568: 221, 0, 40, 1, 0
1.1 root 569: };
570:
571: #if YYDEBUG != 0
572: static const short yyrline[] = { 0,
1.1.1.2 root 573: 300, 301, 309, 311, 312, 316, 320, 324, 327, 329,
574: 331, 332, 337, 339, 341, 344, 349, 354, 357, 361,
575: 364, 368, 381, 388, 395, 398, 401, 403, 407, 413,
1.1.1.3 ! root 576: 413, 416, 416, 419, 419, 432, 432, 437, 442, 465,
! 577: 487, 496, 497, 500, 501, 502, 503, 504, 507, 513,
! 578: 516, 521, 527, 534, 536, 554, 555, 556, 559, 573,
! 579: 586, 589, 592, 595, 597, 599, 603, 609, 614, 619,
! 580: 624, 629, 634, 639, 645, 655, 664, 671, 680, 689,
! 581: 696, 705, 713, 715, 717, 719, 723, 732, 755, 758,
! 582: 760, 761, 764, 771, 778, 782, 784, 786, 788, 792,
! 583: 798, 800, 801, 804, 806, 807, 810, 812, 813, 817,
! 584: 818, 819, 821, 823, 825, 827, 831, 833, 835, 839,
! 585: 849, 854, 858, 859, 863, 868, 871, 875, 878, 881,
! 586: 914, 929, 932, 936, 939, 943, 945, 947, 949, 951,
! 587: 955, 958, 961, 964, 966, 970, 977, 980, 983, 985,
! 588: 987, 989, 994, 1007, 1009, 1042, 1045, 1047, 1049, 1051,
! 589: 1057, 1074, 1077, 1081, 1084, 1088, 1104, 1115, 1131, 1133,
! 590: 1136, 1151, 1153, 1155, 1166, 1168, 1170, 1172, 1174, 1176,
! 591: 1178, 1180, 1182, 1184, 1186, 1188, 1190, 1192, 1194, 1196,
! 592: 1198, 1200, 1202, 1204, 1206, 1212, 1215, 1230, 1233, 1248,
! 593: 1249, 1251, 1253, 1255, 1263, 1275, 1281, 1288, 1295, 1345,
! 594: 1347, 1363, 1365, 1369, 1392, 1430, 1432, 1434, 1463, 1470,
! 595: 1472, 1474, 1476, 1479, 1482, 1484, 1526, 1528, 1530, 1532,
! 596: 1536, 1539, 1543, 1545, 1553, 1555, 1559, 1568, 1583, 1589,
! 597: 1592, 1599, 1607, 1610, 1617, 1622, 1629, 1631, 1632, 1634,
! 598: 1642, 1645, 1647, 1649, 1653, 1657, 1659, 1661, 1669, 1672,
! 599: 1674, 1676, 1687, 1690, 1692, 1694, 1698, 1701, 1709, 1710,
! 600: 1711, 1712, 1713, 1717, 1721, 1726, 1727, 1728, 1731, 1733,
! 601: 1736, 1738, 1741, 1744, 1752, 1760, 1762, 1771, 1777, 1778,
! 602: 1784, 1792, 1794, 1805, 1808, 1813, 1815, 1820, 1825, 1836,
! 603: 1851, 1854, 1858, 1860, 1865, 1868, 1871, 1877, 1880, 1883,
! 604: 1885, 1887, 1889, 1893, 1897, 1901, 1904, 1907, 1911, 1914,
! 605: 1918, 1944, 1959, 1961, 1964, 1966, 1970, 1971, 1973, 1975,
! 606: 1978, 1981, 1984, 1989, 1992, 1994, 1996, 2001, 2005, 2010,
! 607: 2015, 2022, 2027, 2036, 2041, 2041, 2043, 2046, 2048, 2052,
! 608: 2054, 2058, 2063, 2069, 2071, 2074, 2083, 2087, 2113, 2122,
! 609: 2148, 2151, 2153, 2155, 2158, 2161, 2164, 2169, 2218, 2220,
! 610: 2224, 2226, 2230, 2233, 2235, 2239, 2241, 2245, 2247, 2251,
! 611: 2253, 2257, 2262, 2264, 2266, 2268, 2274, 2277, 2278, 2289,
! 612: 2294, 2298, 2302, 2306, 2311, 2315, 2318, 2321, 2324, 2332,
! 613: 2334, 2338, 2341, 2345, 2348, 2352, 2355, 2356, 2360, 2363,
! 614: 2367, 2370, 2378, 2380, 2384, 2387, 2389, 2391, 2393, 2395,
! 615: 2397, 2399, 2401, 2403, 2404, 2406, 2408, 2410, 2413, 2416,
! 616: 2418, 2420, 2422, 2424, 2426, 2428, 2430, 2431, 2433, 2440,
! 617: 2443, 2445, 2447, 2449, 2451, 2453, 2455, 2457, 2459, 2463,
! 618: 2466, 2472, 2474, 2476, 2481, 2487, 2490, 2499, 2501, 2503,
! 619: 2505, 2507, 2510, 2512, 2514, 2516, 2518, 2520, 2524, 2532,
! 620: 2549, 2552, 2567, 2572, 2574, 2576, 2578, 2580, 2582, 2584,
! 621: 2586, 2588, 2590, 2592, 2594, 2596, 2598, 2602, 2610, 2617,
! 622: 2624, 2633, 2641, 2654, 2656, 2657, 2658, 2661, 2668, 2680,
! 623: 2682, 2687, 2689, 2692, 2706, 2709, 2712, 2714, 2720, 2728,
! 624: 2734, 2737, 2740, 2745, 2758, 2762, 2765, 2769, 2773, 2777,
! 625: 2781, 2786, 2789, 2795, 2800, 2803, 2809, 2816, 2820, 2823,
! 626: 2830, 2846, 2854, 2858, 2908, 2908, 2991, 2991, 3007, 3007,
! 627: 3011, 3015, 3018, 3023, 3030, 3039, 3048, 3057, 3063, 3065,
! 628: 3069, 3073, 3074, 3075, 3078, 3081, 3084, 3087, 3090, 3103,
! 629: 3132, 3142, 3156, 3184, 3216, 3228, 3236, 3241, 3248, 3256,
! 630: 3258, 3265, 3267, 3267, 3275, 3280, 3287, 3288, 3290, 3290,
! 631: 3293, 3314, 3330, 3349, 3366, 3369, 3371, 3374, 3393, 3411,
! 632: 3414, 3416, 3420, 3423, 3425, 3427, 3433, 3438, 3444, 3447,
! 633: 3448, 3454, 3456, 3459, 3461, 3465, 3470, 3473, 3482, 3489,
! 634: 3494, 3499, 3503, 3507, 3511, 3515, 3529, 3532, 3534, 3536,
! 635: 3538, 3540, 3548, 3564, 3569, 3570, 3571, 3575, 3579, 3583,
! 636: 3595, 3603, 3606, 3608, 3612, 3615, 3617, 3619, 3621, 3623,
! 637: 3625, 3628, 3633, 3635, 3642, 3644, 3651, 3654, 3656, 3658,
! 638: 3660, 3662, 3664, 3666, 3668, 3670, 3672, 3674, 3676, 3678,
! 639: 3680, 3682, 3691, 3693, 3695, 3697, 3699, 3701, 3703, 3705,
! 640: 3707, 3709, 3721, 3733, 3764, 3776, 3788, 3801, 3817, 3821
1.1 root 641: };
642:
643: static const char * const yytname[] = { "$","error","$illegal.","IDENTIFIER",
644: "TYPENAME","SCOPED_TYPENAME","SCSPEC","TYPESPEC","TYPE_QUAL","CONSTANT","STRING",
645: "ELLIPSIS","SIZEOF","ENUM","IF","ELSE","WHILE","DO","FOR","SWITCH","CASE","DEFAULT",
1.1.1.2 root 646: "BREAK","CONTINUE","RETURN","GOTO","ASM_KEYWORD","TYPEOF","ALIGNOF","HEADOF",
647: "CLASSOF","ATTRIBUTE","EXTENSION","LABEL","AGGR","VISSPEC","DELETE","NEW","OVERLOAD",
648: "THIS","OPERATOR","DYNAMIC","POINTSAT_LEFT_RIGHT","LEFT_RIGHT","TEMPLATE","SCOPE",
649: "START_DECLARATOR","EMPTY","TYPENAME_COLON","'{'","','","ASSIGN","'='","'?'",
650: "':'","RANGE","OROR","ANDAND","'|'","'^'","'&'","MIN_MAX","EQCOMPARE","ARITHCOMPARE",
651: "'<'","'>'","LSHIFT","RSHIFT","'+'","'-'","'*'","'/'","'%'","UNARY","PLUSPLUS",
652: "MINUSMINUS","HYPERUNARY","PAREN_STAR_PAREN","POINTSAT","POINTSAT_STAR","'.'",
653: "DOT_STAR","'('","'['","RAISE","RAISES","RERAISE","TRY","EXCEPT","CATCH","THROW",
654: "ANSI_TRY","ANSI_THROW","TYPENAME_ELLIPSIS","PTYPENAME","PRE_PARSED_FUNCTION_DECL",
655: "EXTERN_LANG_STRING","ALL","PRE_PARSED_CLASS_DECL","TYPENAME_DEFN","IDENTIFIER_DEFN",
656: "PTYPENAME_DEFN","END_OF_SAVED_INPUT","')'","';'","'}'","'~'","'!'","']'","program",
657: "extdefs","@1",".hush_warning",".warning_ok","extdef","extern_lang_string","template_header",
658: "@2","template_parm_list","template_parm","overloaddef","ov_identifiers","template_def",
659: "@3","@4","@5","@6","fn_tmpl_end","datadef","fndef","fn.def1","fn.def2","return_id",
660: "return_init","base_init",".set_base_init","member_init_list","member_init",
661: "identifier","identifier_defn","identifier_or_opname","wrapper","template_type",
662: "template_type_name","tmpl.1","tmpl.2","template_arg_list","template_arg","template_instantiate_once",
663: "@7","template_instantiation","template_instantiate_some","unop","expr","nonnull_exprlist",
664: "unary_expr","@8","cast_expr","expr_no_commas","primary","@9","@10","new",".scope",
1.1 root 665: "delete","string","nodecls","object","object_star","decl","declarator","typed_declspecs",
666: "reserved_declspecs","declmods","typed_typespecs","reserved_typespecquals","typespec",
667: "typespecqual_reserved","initdecls","notype_initdecls","maybeasm","initdcl0",
1.1.1.2 root 668: "@11","initdcl","@12","notype_initdcl0","@13","maybe_attribute","attribute_list",
1.1.1.3 ! root 669: "attrib","identifiers_or_typenames","init","initlist","structsp","@14","@15",
! 670: "maybecomma","maybecomma_warn","aggr","named_class_head_sans_basetype","named_class_head_sans_basetype_defn",
! 671: "named_class_head","@16","@17","unnamed_class_head","class_head","maybe_base_class_list",
! 672: "base_class_list","base_class","base_class.1","base_class_visibility_list","left_curly",
! 673: "opt.component_decl_list","component_decl_list","component_decl","components",
! 674: "component_declarator0","component_declarator","enumlist","enumerator","typename",
! 675: "absdcl","nonempty_type_quals","type_quals","nonmomentary_expr","@18","after_type_declarator",
! 676: "after_type_declarator_no_typename","notype_declarator","scoped_id","typename_scope",
! 677: "scoped_typename","absdcl1","abs_member_declarator","after_type_member_declarator",
! 678: "stmts","errstmt",".pushlevel","maybe_label_decls","label_decls","label_decl",
! 679: "compstmt_or_error","compstmt","simple_if","@19","stmt","@20","@21","@22","@23",
! 680: "@24","@25","@26","@27","@28","@29","@30","@31","@32","@33","@34","@35","@36",
! 681: "try","label_colon","try_head","@37","ansi_try","ansi_dummy","ansi_try_head",
! 682: "@38","except_stmts","@39","@40","optional_identifier","ansi_except_stmts","@41",
! 683: "forhead.1","forhead.2","maybe_type_qual","xexpr","asm_operands","nonnull_asm_operands",
! 684: "asm_operand","asm_clobbers","parmlist","parms","parm","abs_or_notype_decl",
! 685: "see_typename","dont_see_typename","try_for_typename","bad_parm","maybe_raises",
! 686: "raise_identifier","ansi_raise_identifier","raise_identifiers","ansi_raise_identifiers",
! 687: "operator_name",""
1.1 root 688: };
689: #endif
690:
691: static const short yyr1[] = { 0,
1.1.1.2 root 692: 109, 109, 111, 110, 110, 112, 113, 114, 114, 114,
693: 114, 114, 114, 114, 114, 114, 115, 117, 116, 118,
694: 118, 119, 119, 119, 119, 120, 121, 121, 123, 122,
695: 124, 122, 125, 122, 126, 122, 122, 122, 122, 122,
696: 122, 122, 122, 127, 127, 127, 127, 127, 128, 128,
697: 128, 128, 128, 128, 128, 128, 128, 128, 129, 129,
698: 129, 129, 129, 129, 129, 129, 130, 130, 130, 130,
699: 130, 130, 130, 130, 131, 131, 131, 131, 131, 131,
700: 131, 132, 133, 133, 133, 133, 134, 135, 136, 136,
701: 136, 136, 137, 137, 137, 137, 137, 137, 137, 137,
702: 138, 138, 138, 139, 139, 139, 140, 140, 140, 140,
703: 140, 140, 140, 140, 140, 140, 141, 141, 141, 142,
704: 143, 144, 144, 144, 145, 146, 146, 147, 147, 149,
705: 148, 150, 150, 151, 151, 152, 152, 152, 152, 152,
706: 153, 153, 154, 154, 154, 155, 156, 155, 155, 155,
1.1 root 707: 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
1.1.1.2 root 708: 155, 155, 155, 155, 155, 155, 155, 155, 157, 157,
709: 157, 157, 157, 157, 158, 158, 158, 158, 158, 158,
710: 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
711: 158, 158, 158, 158, 158, 158, 158, 159, 159, 159,
712: 159, 159, 159, 160, 159, 161, 159, 159, 159, 159,
713: 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
714: 159, 159, 159, 159, 159, 159, 162, 162, 162, 162,
715: 163, 163, 164, 164, 165, 165, 166, 167, 167, 168,
716: 169, 169, 169, 169, 169, 169, 170, 170, 170, 170,
717: 171, 171, 171, 171, 172, 172, 172, 172, 173, 173,
718: 173, 173, 174, 174, 174, 174, 175, 175, 176, 176,
719: 176, 176, 176, 176, 176, 177, 177, 177, 178, 178,
720: 179, 179, 180, 180, 182, 181, 181, 184, 183, 183,
721: 186, 185, 185, 187, 187, 188, 188, 189, 189, 189,
1.1.1.3 ! root 722: 190, 190, 191, 191, 191, 191, 191, 192, 192, 192,
! 723: 192, 192, 192, 194, 193, 193, 195, 193, 193, 193,
! 724: 193, 193, 196, 196, 197, 197, 198, 198, 198, 198,
! 725: 198, 198, 198, 199, 199, 199, 199, 199, 200, 202,
! 726: 201, 203, 201, 204, 205, 205, 206, 206, 206, 207,
! 727: 207, 208, 208, 209, 209, 210, 210, 210, 210, 211,
! 728: 212, 212, 212, 212, 213, 213, 213, 214, 214, 214,
! 729: 214, 214, 214, 214, 214, 214, 214, 214, 214, 214,
! 730: 214, 214, 214, 214, 214, 214, 215, 215, 215, 216,
! 731: 216, 216, 216, 216, 217, 217, 217, 217, 217, 218,
! 732: 218, 219, 219, 220, 220, 221, 221, 221, 222, 222,
! 733: 223, 223, 225, 224, 226, 226, 226, 226, 226, 226,
! 734: 226, 226, 226, 226, 226, 226, 226, 226, 227, 227,
! 735: 227, 227, 227, 227, 227, 227, 227, 227, 227, 228,
1.1.1.2 root 736: 228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
1.1.1.3 ! root 737: 228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
! 738: 228, 228, 228, 228, 228, 228, 228, 228, 229, 229,
! 739: 230, 231, 232, 232, 232, 232, 232, 232, 232, 232,
! 740: 232, 232, 232, 232, 232, 232, 232, 233, 233, 233,
! 741: 233, 234, 234, 235, 235, 235, 235, 236, 237, 238,
! 742: 238, 239, 239, 240, 241, 241, 242, 242, 242, 244,
! 743: 243, 245, 245, 245, 246, 245, 245, 247, 248, 245,
! 744: 249, 250, 245, 251, 252, 253, 245, 254, 255, 256,
! 745: 245, 257, 245, 258, 245, 259, 245, 260, 245, 245,
! 746: 245, 245, 245, 245, 245, 245, 245, 245, 245, 245,
! 747: 245, 245, 245, 245, 245, 245, 245, 245, 261, 245,
! 748: 245, 262, 245, 245, 245, 263, 263, 263, 264, 264,
! 749: 264, 266, 265, 267, 267, 267, 268, 270, 269, 271,
! 750: 272, 271, 273, 271, 274, 274, 275, 276, 275, 277,
! 751: 277, 277, 278, 278, 278, 278, 279, 279, 280, 280,
! 752: 280, 281, 281, 282, 282, 283, 284, 284, 285, 285,
! 753: 285, 285, 285, 285, 285, 285, 286, 286, 286, 286,
! 754: 286, 286, 287, 287, 288, 288, 288, 289, 290, 291,
! 755: 292, 293, 293, 293, 294, 294, 294, 294, 294, 294,
! 756: 294, 295, 296, 296, 297, 297, 298, 298, 298, 298,
! 757: 298, 298, 298, 298, 298, 298, 298, 298, 298, 298,
! 758: 298, 298, 298, 298, 298, 298, 298, 298, 298, 298,
! 759: 298, 298, 298, 298, 298, 298, 298, 298, 298, 298
1.1 root 760: };
761:
762: static const short yyr2[] = { 0,
763: 0, 1, 0, 2, 2, 0, 0, 1, 1, 1,
764: 1, 5, 4, 3, 4, 4, 1, 0, 5, 1,
765: 3, 2, 4, 3, 1, 3, 1, 3, 0, 5,
766: 0, 5, 0, 5, 0, 5, 3, 3, 6, 7,
1.1.1.2 root 767: 4, 3, 3, 1, 1, 1, 1, 1, 2, 3,
768: 3, 3, 3, 2, 2, 2, 2, 1, 3, 4,
769: 3, 5, 4, 3, 3, 2, 3, 3, 2, 6,
770: 6, 4, 4, 1, 6, 4, 3, 6, 4, 3,
771: 2, 2, 1, 3, 4, 2, 3, 0, 0, 1,
772: 3, 2, 3, 1, 4, 2, 4, 2, 5, 3,
773: 1, 1, 1, 1, 1, 1, 1, 1, 1, 2,
774: 1, 2, 2, 2, 3, 3, 1, 2, 2, 3,
775: 4, 1, 1, 0, 0, 1, 3, 1, 1, 0,
776: 6, 0, 1, 0, 2, 1, 1, 1, 1, 1,
777: 1, 1, 1, 3, 3, 1, 0, 3, 2, 2,
778: 2, 2, 2, 4, 2, 4, 3, 6, 4, 5,
779: 9, 9, 6, 6, 3, 2, 4, 5, 1, 4,
780: 7, 4, 4, 4, 1, 3, 3, 3, 3, 3,
1.1 root 781: 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1.1.1.2 root 782: 3, 3, 5, 3, 3, 3, 2, 1, 1, 1,
783: 1, 3, 3, 0, 4, 0, 6, 2, 4, 2,
784: 3, 2, 2, 1, 4, 4, 2, 2, 2, 2,
785: 5, 3, 5, 3, 6, 4, 1, 4, 2, 5,
786: 0, 1, 1, 2, 1, 2, 0, 2, 2, 2,
787: 3, 3, 3, 3, 2, 2, 1, 1, 2, 2,
788: 1, 2, 2, 3, 1, 1, 2, 2, 1, 1,
789: 2, 2, 1, 2, 2, 3, 1, 2, 1, 1,
790: 1, 1, 4, 4, 1, 1, 1, 1, 1, 3,
791: 1, 3, 0, 4, 0, 7, 4, 0, 7, 4,
1.1.1.3 ! root 792: 0, 7, 4, 0, 6, 1, 3, 1, 4, 8,
! 793: 1, 3, 1, 2, 3, 4, 1, 1, 3, 4,
! 794: 6, 3, 5, 0, 7, 4, 0, 6, 3, 2,
! 795: 4, 1, 0, 1, 0, 1, 1, 2, 5, 2,
! 796: 2, 2, 2, 2, 2, 2, 3, 3, 2, 0,
! 797: 3, 0, 3, 2, 1, 1, 0, 1, 2, 1,
! 798: 3, 1, 2, 3, 1, 1, 1, 2, 2, 1,
! 799: 0, 1, 4, 3, 1, 2, 2, 3, 5, 5,
! 800: 3, 3, 3, 3, 3, 5, 5, 3, 3, 3,
! 801: 3, 1, 2, 2, 3, 3, 0, 1, 3, 4,
! 802: 6, 4, 3, 2, 4, 6, 4, 3, 2, 1,
! 803: 3, 1, 3, 2, 2, 0, 1, 2, 1, 2,
! 804: 0, 2, 0, 2, 5, 5, 3, 5, 4, 3,
! 805: 3, 5, 1, 1, 5, 3, 3, 1, 5, 5,
! 806: 3, 5, 4, 3, 3, 1, 1, 3, 3, 5,
! 807: 5, 3, 5, 3, 3, 3, 4, 3, 1, 1,
! 808: 2, 2, 2, 2, 3, 3, 3, 3, 7, 7,
! 809: 5, 7, 3, 7, 7, 5, 7, 3, 1, 3,
! 810: 2, 1, 3, 3, 2, 1, 3, 3, 2, 5,
! 811: 3, 4, 3, 4, 2, 3, 2, 3, 4, 3,
! 812: 4, 5, 5, 1, 1, 2, 2, 2, 0, 0,
! 813: 1, 1, 2, 3, 1, 2, 2, 5, 5, 0,
! 814: 6, 1, 1, 2, 0, 4, 1, 0, 0, 7,
! 815: 0, 0, 9, 0, 0, 0, 9, 0, 0, 0,
! 816: 9, 0, 6, 0, 5, 0, 7, 0, 4, 2,
! 817: 2, 2, 3, 6, 8, 10, 12, 3, 2, 2,
! 818: 1, 2, 3, 6, 4, 6, 4, 3, 0, 7,
! 819: 2, 0, 5, 3, 1, 2, 3, 3, 2, 2,
! 820: 1, 0, 4, 2, 3, 3, 0, 0, 4, 0,
! 821: 0, 4, 0, 4, 0, 1, 0, 0, 8, 3,
! 822: 4, 4, 3, 4, 6, 6, 0, 1, 0, 1,
! 823: 1, 0, 1, 1, 3, 4, 1, 3, 0, 1,
! 824: 3, 2, 1, 1, 2, 2, 1, 3, 3, 5,
! 825: 3, 5, 3, 3, 1, 1, 2, 1, 0, 0,
! 826: 1, 0, 2, 4, 1, 1, 1, 2, 2, 2,
! 827: 1, 1, 1, 3, 1, 3, 2, 2, 2, 2,
1.1.1.2 root 828: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1.1.1.3 ! root 829: 2, 2, 2, 2, 2, 2, 2, 2, 2, 3,
! 830: 2, 2, 2, 3, 2, 3, 2, 2, 3, 2
1.1 root 831: };
832:
833: static const short yydefact[] = { 3,
1.1.1.3 ! root 834: 0, 0, 0, 449, 271, 472, 260, 270, 259, 0,
! 835: 0, 0, 327, 0, 0, 0, 0, 0, 411, 411,
! 836: 411, 0, 0, 74, 17, 58, 0, 5, 6, 0,
1.1.1.2 root 837: 11, 10, 9, 8, 237, 275, 124, 0, 0, 251,
1.1.1.3 ! root 838: 0, 281, 269, 0, 340, 342, 346, 345, 322, 0,
! 839: 411, 469, 272, 450, 4, 56, 57, 411, 471, 609,
! 840: 101, 102, 317, 103, 320, 0, 231, 27, 0, 680,
! 841: 271, 409, 678, 677, 411, 675, 656, 661, 662, 0,
! 842: 668, 667, 653, 654, 652, 671, 660, 657, 658, 659,
! 843: 663, 664, 650, 651, 647, 648, 649, 665, 666, 672,
! 844: 673, 0, 655, 669, 275, 406, 263, 0, 272, 328,
! 845: 0, 0, 454, 18, 628, 0, 0, 0, 0, 0,
! 846: 0, 231, 452, 451, 0, 453, 3, 0, 0, 271,
! 847: 0, 0, 340, 342, 632, 0, 88, 83, 237, 0,
! 848: 0, 630, 122, 123, 132, 428, 0, 411, 411, 423,
! 849: 0, 55, 0, 0, 279, 247, 248, 411, 424, 271,
1.1.1.2 root 850: 262, 261, 54, 0, 252, 0, 0, 256, 276, 277,
1.1.1.3 ! root 851: 253, 255, 278, 0, 49, 330, 331, 332, 333, 336,
! 852: 344, 103, 105, 104, 106, 334, 339, 335, 347, 347,
! 853: 360, 0, 66, 411, 0, 413, 0, 0, 69, 0,
! 854: 411, 609, 632, 613, 614, 629, 629, 0, 610, 617,
! 855: 319, 0, 314, 235, 0, 198, 409, 200, 231, 231,
1.1.1.2 root 856: 0, 0, 147, 233, 214, 232, 231, 137, 136, 231,
857: 138, 139, 0, 231, 140, 231, 0, 141, 169, 175,
1.1.1.3 ! root 858: 142, 146, 0, 231, 201, 0, 231, 406, 263, 0,
! 859: 406, 0, 199, 0, 26, 674, 670, 676, 411, 0,
! 860: 411, 411, 476, 609, 413, 679, 407, 265, 267, 410,
! 861: 264, 0, 455, 0, 412, 468, 446, 445, 444, 0,
! 862: 126, 129, 128, 456, 14, 0, 7, 7, 43, 42,
! 863: 632, 0, 29, 33, 37, 31, 35, 38, 283, 82,
! 864: 89, 86, 0, 231, 237, 0, 0, 0, 499, 59,
! 865: 505, 61, 470, 347, 133, 120, 249, 250, 0, 0,
! 866: 411, 411, 436, 0, 0, 437, 64, 53, 67, 0,
! 867: 52, 411, 0, 413, 0, 51, 254, 50, 65, 68,
! 868: 258, 257, 632, 282, 337, 338, 348, 341, 343, 382,
! 869: 231, 0, 387, 387, 0, 0, 365, 632, 442, 0,
! 870: 259, 0, 143, 251, 0, 448, 0, 231, 636, 637,
! 871: 0, 635, 0, 641, 643, 633, 0, 0, 294, 458,
! 872: 463, 457, 632, 0, 72, 406, 406, 411, 612, 406,
! 873: 616, 615, 0, 402, 325, 400, 316, 0, 236, 0,
1.1.1.2 root 874: 231, 0, 0, 153, 146, 0, 0, 155, 231, 231,
875: 231, 218, 0, 234, 219, 150, 149, 0, 0, 0,
876: 0, 151, 152, 273, 0, 231, 231, 0, 231, 231,
877: 231, 231, 231, 231, 231, 231, 231, 231, 231, 231,
878: 231, 231, 231, 231, 231, 208, 212, 213, 239, 240,
879: 238, 231, 231, 231, 227, 0, 231, 166, 107, 108,
1.1.1.3 ! root 880: 117, 109, 0, 210, 0, 0, 111, 197, 404, 217,
! 881: 231, 274, 405, 108, 109, 220, 28, 485, 408, 479,
! 882: 475, 0, 0, 0, 0, 487, 0, 411, 609, 413,
1.1.1.2 root 883: 268, 266, 0, 0, 20, 0, 25, 231, 121, 13,
884: 16, 15, 283, 48, 44, 47, 45, 46, 41, 0,
885: 0, 0, 0, 294, 102, 94, 231, 0, 90, 0,
1.1.1.3 ! root 886: 124, 0, 307, 0, 303, 84, 0, 0, 60, 63,
! 887: 506, 507, 500, 130, 427, 426, 0, 0, 411, 411,
! 888: 0, 411, 0, 413, 421, 294, 280, 417, 0, 0,
! 889: 0, 420, 0, 411, 411, 283, 357, 356, 355, 125,
! 890: 349, 350, 352, 0, 0, 384, 383, 449, 411, 231,
! 891: 231, 609, 632, 0, 388, 411, 609, 632, 0, 0,
! 892: 321, 367, 366, 81, 411, 411, 411, 447, 414, 638,
! 893: 639, 640, 0, 642, 645, 0, 0, 0, 293, 411,
! 894: 0, 411, 0, 73, 411, 411, 0, 411, 411, 609,
! 895: 625, 626, 623, 624, 632, 611, 619, 631, 621, 618,
! 896: 231, 326, 0, 325, 12, 0, 0, 0, 0, 271,
1.1.1.2 root 897: 0, 148, 203, 202, 0, 231, 145, 144, 195, 194,
1.1.1.3 ! root 898: 601, 600, 0, 192, 191, 189, 190, 188, 187, 186,
1.1.1.2 root 899: 183, 184, 185, 181, 182, 176, 177, 178, 179, 180,
900: 196, 0, 0, 229, 231, 165, 0, 263, 157, 231,
901: 0, 119, 118, 110, 224, 231, 112, 113, 0, 114,
1.1.1.3 ! root 902: 211, 0, 222, 231, 478, 474, 411, 411, 473, 477,
! 903: 411, 486, 481, 0, 483, 0, 329, 0, 19, 336,
! 904: 334, 339, 127, 294, 30, 34, 32, 36, 0, 0,
1.1.1.2 root 905: 92, 0, 96, 231, 98, 231, 0, 198, 271, 231,
1.1.1.3 ! root 906: 304, 0, 308, 0, 85, 62, 0, 0, 501, 502,
! 907: 0, 0, 0, 0, 0, 435, 431, 0, 0, 0,
! 908: 434, 0, 287, 411, 411, 411, 419, 0, 0, 294,
! 909: 132, 0, 359, 358, 353, 380, 381, 231, 371, 372,
! 910: 632, 294, 394, 0, 283, 0, 368, 378, 379, 632,
! 911: 0, 374, 283, 373, 375, 0, 385, 386, 443, 440,
! 912: 441, 644, 0, 634, 0, 0, 291, 461, 0, 0,
! 913: 0, 466, 0, 0, 0, 632, 627, 479, 475, 411,
! 914: 70, 0, 0, 403, 401, 318, 0, 215, 154, 156,
1.1.1.2 root 915: 172, 174, 173, 205, 0, 170, 231, 206, 209, 0,
1.1.1.3 ! root 916: 0, 406, 406, 159, 231, 0, 167, 231, 0, 115,
! 917: 116, 226, 231, 216, 0, 490, 488, 484, 411, 482,
1.1.1.2 root 918: 21, 24, 0, 0, 39, 93, 91, 0, 0, 100,
1.1.1.3 ! root 919: 231, 0, 0, 0, 305, 301, 0, 0, 198, 0,
! 920: 518, 521, 0, 0, 231, 0, 0, 0, 231, 0,
! 921: 597, 571, 0, 0, 0, 0, 231, 0, 551, 0,
! 922: 513, 0, 0, 0, 495, 512, 517, 494, 0, 231,
! 923: 0, 577, 0, 524, 528, 503, 0, 425, 422, 439,
! 924: 438, 411, 411, 411, 433, 285, 418, 415, 416, 493,
! 925: 492, 290, 354, 351, 294, 76, 393, 411, 294, 449,
! 926: 231, 231, 632, 389, 79, 411, 0, 646, 284, 0,
! 927: 0, 411, 411, 411, 411, 411, 411, 71, 620, 622,
! 928: 315, 323, 193, 134, 0, 228, 0, 0, 0, 160,
! 929: 168, 223, 0, 221, 491, 489, 480, 23, 40, 95,
! 930: 97, 0, 0, 312, 231, 306, 0, 309, 0, 504,
! 931: 498, 509, 569, 231, 0, 231, 0, 231, 0, 538,
! 932: 540, 541, 542, 0, 0, 598, 0, 636, 637, 0,
! 933: 0, 572, 0, 578, 552, 0, 570, 514, 245, 632,
! 934: 0, 246, 0, 0, 632, 0, 508, 497, 496, 515,
! 935: 561, 0, 0, 550, 549, 0, 566, 0, 577, 0,
! 936: 574, 0, 0, 0, 0, 432, 429, 430, 0, 288,
! 937: 392, 369, 370, 632, 390, 231, 294, 399, 283, 376,
! 938: 377, 632, 298, 0, 296, 292, 462, 459, 460, 467,
! 939: 464, 465, 0, 0, 134, 207, 230, 163, 164, 158,
! 940: 225, 99, 310, 0, 0, 302, 0, 231, 0, 0,
! 941: 499, 590, 0, 593, 0, 534, 231, 231, 543, 548,
! 942: 0, 558, 0, 231, 499, 0, 231, 499, 553, 242,
! 943: 283, 241, 244, 243, 283, 231, 564, 0, 568, 567,
! 944: 562, 576, 575, 0, 0, 131, 286, 0, 75, 0,
! 945: 294, 398, 294, 78, 0, 0, 0, 171, 135, 413,
! 946: 413, 0, 313, 510, 0, 522, 594, 592, 0, 591,
! 947: 532, 231, 0, 539, 0, 557, 0, 573, 555, 0,
! 948: 579, 516, 559, 587, 525, 529, 289, 391, 397, 395,
! 949: 0, 0, 297, 295, 0, 0, 311, 231, 519, 0,
! 950: 0, 0, 231, 535, 536, 602, 0, 0, 0, 580,
! 951: 563, 0, 0, 0, 0, 299, 161, 162, 511, 231,
! 952: 231, 596, 595, 533, 231, 0, 0, 603, 604, 544,
! 953: 556, 554, 0, 0, 0, 0, 396, 0, 520, 0,
! 954: 537, 231, 602, 0, 0, 583, 560, 581, 0, 526,
! 955: 530, 0, 0, 0, 0, 545, 605, 0, 0, 585,
! 956: 231, 231, 0, 523, 606, 0, 0, 584, 582, 586,
! 957: 0, 527, 531, 300, 607, 0, 546, 588, 0, 0,
! 958: 0, 608, 547, 589, 0, 0, 0
1.1 root 959: };
960:
1.1.1.3 ! root 961: static const short yydefgoto[] = { 1245,
1.1.1.2 root 962: 1, 2, 128, 501, 28, 29, 30, 274, 494, 495,
963: 31, 69, 32, 510, 512, 511, 513, 509, 33, 34,
964: 35, 352, 138, 139, 140, 301, 518, 519, 559, 187,
965: 464, 465, 36, 37, 145, 751, 280, 281, 315, 731,
1.1.1.3 ! root 966: 316, 1056, 236, 880, 238, 239, 411, 240, 241, 242,
! 967: 420, 944, 456, 243, 244, 245, 141, 246, 247, 881,
1.1.1.2 root 968: 343, 882, 171, 883, 248, 268, 406, 269, 154, 41,
1.1.1.3 ! root 969: 379, 155, 1029, 344, 1108, 42, 931, 599, 1044, 1045,
! 970: 857, 723, 724, 43, 398, 212, 1054, 623, 44, 45,
! 971: 46, 47, 189, 190, 48, 49, 348, 561, 562, 563,
! 972: 564, 192, 355, 356, 357, 574, 575, 924, 395, 396,
! 973: 283, 611, 251, 115, 367, 368, 156, 325, 157, 252,
! 974: 52, 109, 267, 484, 159, 884, 885, 533, 728, 729,
! 975: 730, 310, 886, 887, 1158, 888, 1096, 975, 1180, 976,
! 976: 1160, 1023, 1172, 1221, 1024, 1173, 1222, 1163, 1132, 1185,
! 977: 1078, 1170, 1144, 889, 890, 891, 1085, 892, 1019, 893,
! 978: 1088, 1193, 1219, 1218, 1231, 1171, 1241, 894, 895, 987,
! 979: 643, 1187, 1188, 1189, 1236, 485, 209, 210, 613, 200,
! 980: 386, 313, 619, 199, 375, 595, 376, 596, 253
1.1 root 981: };
982:
1.1.1.3 ! root 983: static const short yypact[] = { 83,
! 984: 4540, 4729, 148,-32768, 788,-32768,-32768,-32768,-32768, 237,
! 985: 37, 125,-32768, 276, 1837, 183, 304, 250,-32768,-32768,
! 986: -32768, 766, 259,-32768,-32768,-32768, 257,-32768, 290, 5016,
! 987: -32768,-32768,-32768,-32768, 62, 390, 521, 1422, 6163, 833,
! 988: 145,-32768,-32768, 1024,-32768,-32768,-32768,-32768, 413, 500,
! 989: -32768,-32768, 272,-32768,-32768,-32768,-32768,-32768,-32768, 4277,
! 990: -32768,-32768, 365,-32768, 429, 489, 5653,-32768, 170,-32768,
! 991: -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 474,
1.1.1.2 root 992: -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1.1 root 993: -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1.1.1.3 ! root 994: -32768, 424,-32768,-32768,-32768, 721, 923, 2179,-32768,-32768,
! 995: 489, 235,-32768,-32768, 529, 766, 1757, 1757, 501, 390,
! 996: 21, 5653,-32768,-32768, 235,-32768, 541, 4958, 550, 501,
! 997: 3564, 6347, 176, 213, 625, 558,-32768, 587, -3, 79,
! 998: 79,-32768,-32768,-32768, 505, 501, 1950,-32768,-32768,-32768,
! 999: 5381,-32768, 1343, 207,-32768, 602, 608,-32768,-32768, 1258,
! 1000: -32768,-32768,-32768, 577, 833, 226, 1037,-32768,-32768,-32768,
! 1001: 1230,-32768,-32768, 3564,-32768,-32768,-32768,-32768,-32768,-32768,
! 1002: -32768, 259,-32768,-32768,-32768,-32768,-32768, 613, 539, 539,
! 1003: -32768, 4842,-32768,-32768, 3117, 504, 323, 601, 477, 4850,
! 1004: -32768, 4277, 55,-32768,-32768,-32768, 1635, 622, 91, 678,
! 1005: -32768, 235, 599,-32768, 36,-32768, 669,-32768, 5863, 5907,
! 1006: 671, 677,-32768,-32768,-32768, 635, 5736,-32768,-32768, 5736,
! 1007: -32768,-32768, 4067, 5736,-32768, 5736, 668, 726,-32768,-32768,
! 1008: 6540, 1305, 746, 5321, 770, 122, 5736, 721, 466, 685,
! 1009: 6406, 215,-32768, 813,-32768, 529,-32768,-32768,-32768, 911,
! 1010: -32768,-32768,-32768, 6391, 716,-32768, 631, 923,-32768,-32768,
! 1011: 923, 46,-32768, 1707,-32768,-32768, 608, 608,-32768, 22,
! 1012: -32768, 3112,-32768,-32768,-32768, 4656,-32768,-32768,-32768,-32768,
! 1013: 4, 364,-32768,-32768,-32768,-32768,-32768,-32768, 808,-32768,
! 1014: 211,-32768, 4150, 5736,-32768, 79, 79, 789, 737,-32768,
! 1015: -32768,-32768,-32768, 539,-32768,-32768, 602, 608, 1482, 1482,
! 1016: -32768,-32768,-32768, 5464, 31,-32768,-32768,-32768, 477, 3564,
! 1017: -32768,-32768, 3224, 756, 5276,-32768, 1230,-32768,-32768, 477,
! 1018: -32768,-32768, 4,-32768,-32768,-32768, 355,-32768,-32768,-32768,
! 1019: 5736, 633, 1185, 5989, 10, 1593,-32768, 625, 529, 768,
! 1020: 669, 19, 6584, 588, 778,-32768, 787, 5736,-32768, 501,
! 1021: 742,-32768, 883,-32768,-32768, 838, 2318, 822, 882, 501,
! 1022: 259,-32768, 55, 814,-32768, 1685, 1685,-32768,-32768, 6047,
! 1023: -32768,-32768, 4150, 870, 891,-32768,-32768, 235,-32768, 841,
! 1024: 5736, 669, 4067,-32768, 864, 404, 4067,-32768, 5736, 5819,
! 1025: 5736,-32768, 40,-32768,-32768,-32768,-32768, 847, 848, 789,
! 1026: 849,-32768,-32768,-32768, 4482, 5736, 5736, 4233, 5736, 5736,
! 1027: 5736, 5736, 5736, 5736, 5736, 5736, 5736, 5736, 5736, 5736,
! 1028: 5736, 5736, 5736, 5736, 5736,-32768,-32768,-32768,-32768,-32768,
! 1029: -32768, 5736, 5736, 5736, 43, 1541, 4611,-32768,-32768, 501,
! 1030: 900, 259, 369, 498, 309, 215,-32768,-32768,-32768,-32768,
! 1031: 5736,-32768,-32768,-32768,-32768, 652,-32768, 529, 631, 496,
! 1032: 496, 163, 221, 853, 857,-32768, 855,-32768, 4277, 858,
! 1033: -32768, 923, 931, 269,-32768, 1045,-32768, 5653,-32768,-32768,
! 1034: -32768,-32768, 808,-32768,-32768,-32768,-32768,-32768,-32768, 865,
! 1035: 868, 875, 885, 882, 501,-32768, 5736, 623,-32768, 657,
! 1036: 774, 235,-32768, 3652, 6584,-32768, 61, 79,-32768,-32768,
! 1037: -32768,-32768, 954,-32768, 602, 602, 1482, 1482,-32768,-32768,
! 1038: 452,-32768, 3331, 888,-32768, 882,-32768, 529, 887, 179,
! 1039: 894,-32768, 896,-32768,-32768, 808,-32768,-32768,-32768,-32768,
! 1040: 949,-32768,-32768, 425, 6467,-32768,-32768, 947, 38, 5736,
! 1041: 5736, 6221, 4, 354,-32768, 105, 6221, 733, 329, 948,
! 1042: -32768,-32768,-32768, 715,-32768,-32768,-32768,-32768,-32768,-32768,
! 1043: -32768,-32768, 323,-32768,-32768, 198, 489, 926, 953,-32768,
! 1044: 3438,-32768, 3545,-32768,-32768, 304, 2096,-32768,-32768, 6105,
! 1045: -32768, 608,-32768,-32768, 55,-32768, 957,-32768, 961,-32768,
! 1046: 5736, 235, 913, 891,-32768, 239, 916, 917, 920, 20,
! 1047: 922,-32768,-32768,-32768, 930, 5404,-32768, 6584, 6584, 6584,
! 1048: -32768,-32768, 962, 6620, 6635, 3211, 3071, 3177, 1718, 1982,
! 1049: 1066, 1066, 1066, 914, 914, 743, 743,-32768,-32768,-32768,
! 1050: -32768, 297, 918, 952, 5736,-32768, 2318, 753, 977, 5736,
! 1051: 929,-32768,-32768,-32768,-32768, 5736,-32768, 501, 72,-32768,
! 1052: 666, 324,-32768, 5736, 631, 631,-32768,-32768,-32768,-32768,
! 1053: -32768,-32768, 529, 936,-32768, 933,-32768, 1707,-32768, 950,
! 1054: 361, 988,-32768, 882,-32768,-32768,-32768,-32768, 364, 409,
! 1055: -32768, 211,-32768, 5736,-32768, 5736, 672, 989, 34, 5736,
! 1056: -32768, 991,-32768, 32,-32768,-32768, 235, 2903, 954,-32768,
! 1057: 413, 531, 554, 1482, 1482,-32768, 529, 944, 427, 951,
! 1058: -32768, 942, 1003,-32768,-32768,-32768,-32768, 1482, 1482, 882,
! 1059: 505, 355,-32768,-32768,-32768,-32768,-32768, 5736,-32768,-32768,
! 1060: 55, 6517, 6584, 956, 44, 1312,-32768,-32768,-32768, 55,
! 1061: 959,-32768, 693,-32768,-32768, 4900,-32768,-32768, 529, 529,
! 1062: 529,-32768, 2318,-32768, 48, 978,-32768, 529, 964, 441,
! 1063: 966, 529, 968, 444, 971, 55, 608, 695, 695, 163,
! 1064: -32768, 4150, 4150, 6584,-32768,-32768, 960,-32768,-32768,-32768,
! 1065: -32768,-32768,-32768,-32768, 3984,-32768, 5736,-32768,-32768, 489,
! 1066: 186, 721, 6406,-32768, 5736, 4150,-32768, 5736, 456,-32768,
! 1067: -32768,-32768, 5736,-32768, 460, 496, 496, 529,-32768,-32768,
! 1068: -32768,-32768, 241, 364,-32768,-32768,-32768, 464, 483,-32768,
! 1069: 5736, 6445, 4150, 3735,-32768,-32768, 371, 772, 1021, 996,
! 1070: -32768,-32768, 999, 1002, 5736, 1031, 986, 992, 5487, 235,
! 1071: 1084,-32768, 419, 1048, 323, 1049, 5570, 331,-32768, 1000,
! 1072: -32768, 1878, 6279, 2223,-32768,-32768, 1085,-32768, 2056, 5111,
! 1073: 2368,-32768, 2475,-32768,-32768,-32768, 4842,-32768,-32768, 602,
! 1074: 602,-32768,-32768,-32768,-32768,-32768, 529, 529, 529, 602,
! 1075: 602, 1051,-32768,-32768, 6517,-32768,-32768, 775, 882, 1052,
! 1076: 5736, 5736, 4,-32768,-32768, 780, 4774,-32768,-32768, 1108,
! 1077: 4150,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
! 1078: -32768, 1063, 6604, 505, 84,-32768, 1011, 1012, 488,-32768,
! 1079: -32768,-32768, 495,-32768, 631, 631, 529,-32768,-32768,-32768,
! 1080: -32768, 507, 4150,-32768, 5736,-32768, 1062,-32768, 235,-32768,
! 1081: -32768,-32768,-32768, 5736, 1035, 5216, 3818, 5736, 846,-32768,
! 1082: -32768,-32768,-32768, 1017, 1022,-32768, 1065, 1023, 16, 1026,
! 1083: 675,-32768, 730,-32768,-32768, 1044,-32768,-32768,-32768, 783,
! 1084: 401,-32768, 1047, 417, 295, 1050,-32768,-32768,-32768,-32768,
! 1085: -32768, 323, 235,-32768,-32768, 811,-32768, 2582,-32768, 816,
! 1086: -32768, 2689, 4316, 4316, 25, 529, 529, 529, 4150,-32768,
! 1087: -32768,-32768,-32768, 55, 1097, 5736, 6517, 6584, 808,-32768,
! 1088: -32768, 55, 1070, 508,-32768,-32768, 529, 529, 529, 529,
! 1089: 529, 529, 3901, 1054, 505,-32768,-32768, 1072, 1073,-32768,
! 1090: -32768,-32768,-32768, 6562, 4150,-32768, 1057, 5736, 1147, 1060,
! 1091: 1061,-32768, 1068,-32768, 1064,-32768, 5736, 5216,-32768,-32768,
! 1092: 489,-32768, 1069, 5736,-32768, 1071, 5736,-32768,-32768,-32768,
! 1093: 808,-32768,-32768,-32768, 808, 5216, 838, 1116,-32768,-32768,
! 1094: -32768,-32768,-32768, 1074, 1076,-32768,-32768, 4150,-32768, 4150,
! 1095: 6517,-32768, 882,-32768, 357, 1108, 1067,-32768,-32768,-32768,
! 1096: -32768, 4150,-32768,-32768, 1080,-32768,-32768,-32768, 3010,-32768,
! 1097: -32768, 5216, 1115,-32768, 45,-32768, 518,-32768,-32768, 522,
! 1098: -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1122,
! 1099: 1126, 1082,-32768,-32768, 1083, 1086,-32768, 5216,-32768, 1110,
! 1100: 823, 2796, 5216,-32768,-32768, 1180, 1095, 1096, 1098,-32768,
! 1101: 1112, 4399, 4399, 4150, 1194,-32768,-32768,-32768,-32768, 5216,
! 1102: 5736,-32768,-32768,-32768, 5216, 1125, 415, 1154,-32768,-32768,
! 1103: -32768,-32768, 360, 1127, 1107, 1113,-32768, 1161,-32768, 1120,
! 1104: -32768, 5736, 1180, 1114, 1180,-32768,-32768,-32768, 2318,-32768,
! 1105: -32768, 1210, 1123, 1121, 422,-32768,-32768, 789, 789, 235,
! 1106: 5216, 5216, 1129,-32768,-32768, 1219, 1130,-32768,-32768,-32768,
! 1107: 1138,-32768,-32768,-32768,-32768, 537,-32768,-32768, 1232, 1142,
! 1108: 789,-32768,-32768,-32768, 1247, 1249,-32768
1.1 root 1109: };
1110:
1111: static const short yypgoto[] = {-32768,
1.1.1.3 ! root 1112: 1124,-32768,-32768, 969, 1248,-32768,-32768,-32768,-32768, 556,
! 1113: -32768,-32768,-32768,-32768,-32768,-32768,-32768, -659, 1128, 1131,
! 1114: -32768,-32768,-32768,-32768, 1119,-32768,-32768, 548, -7, 765,
! 1115: -235,-32768, 95, -11,-32768,-32768,-32768, 767, -909,-32768,
! 1116: 515, 214,-32768, 33, 189, 713,-32768, -187, 893, -44,
! 1117: -32768,-32768,-32768,-32768, -205, -57, -109,-32768,-32768, 291,
! 1118: 29, 76, 1109, 907, -8, 1001, -1, -21, 395, -28,
! 1119: -281,-32768,-32768, 955,-32768,-32768,-32768, -417,-32768, 162,
! 1120: -32768, -110, 465, -12,-32768,-32768,-32768, 659, -259, 1251,
! 1121: 1257,-32768,-32768,-32768,-32768,-32768, -151,-32768, 538, -544,
! 1122: -32768, 561, 396, 519, -350, 945,-32768,-32768, 898, 676,
! 1123: -59, -94, -2, 1431, -263,-32768, -85, 976, 51, 605,
! 1124: -32768, 24, -87,-32768, -127, -857, -840, -226,-32768,-32768,
! 1125: 572, -118, -136,-32768,-32768, 90,-32768,-32768,-32768,-32768,
1.1 root 1126: -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1.1.1.3 ! root 1127: -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 283,-32768,
1.1.1.2 root 1128: -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1.1.1.3 ! root 1129: -992, 102,-32768, 101,-32768, 75,-32768, -252, 218, 8,
! 1130: 1101,-32768,-32768, 153, -577, 526, 301,-32768, 1419
1.1 root 1131: };
1132:
1133:
1.1.1.3 ! root 1134: #define YYLAST 6707
1.1 root 1135:
1136:
1137: static const short yytable[] = { 40,
1.1.1.3 ! root 1138: 40, 487, 65, 311, 311, 583, 106, 250, 215, 113,
! 1139: 166, 266, 108, 107, 496, 782, 476, 514, 172, 755,
! 1140: 414, 497, 312, 326, 53, 53, 116, 173, 40, 307,
! 1141: 1104, 1105, 188, 1018, 1055, 1022, 186, 165, 349, 416,
! 1142: 61, 62, 417, 1008, 580, 399, 422, 546, 423, 845,
! 1143: 137, 50, 50, 272, 399, 399, 458, 399, 40, 580,
! 1144: 59, 317, 275, 194, 59, 249, 153, 164, 425, 378,
! 1145: 553, 498, 121, 542, 830, 224, 38, 38, 59, 308,
! 1146: 135, 854, -1, 664, 413, 136, 499, -102, 197, 167,
! 1147: 112, 665, -77, 399, 173, 198, 709, -77, 1166, 237,
! 1148: 305, 389, 195, 196, 273, 131, 271, 61, 62, 105,
! 1149: 425, 15, 543, 544, 581, 137, 120, 284, 66, -102,
! 1150: 249, 586, 812, 279, 459, 460, 40, 309, 743, 1106,
! 1151: 165, 64, 120, 545, 208, 206, 855, 617, 400, 197,
! 1152: 390, 759, 760, 172, 391, 1055, 198, 1167, 493, 342,
! 1153: 929, 53, 173, 469, 105, 842, 473, 112, 173, 291,
! 1154: 292, 15, 534, 725, 461, 335, 276, 277, 278, 311,
! 1155: 311, 531, 479, 421, 405, 405, 483, 1008, 50, 1195,
! 1156: 1196, 1008, 405, 392, 959, 405, 1057, 529, 530, 405,
! 1157: 40, 405, 526, 364, 174, 528, 326, 318, 64, 405,
! 1158: 40, 121, 105, 38, 394, 165, 67, 414, 768, 769,
! 1159: 120, 120, 120, 61, 515, 462, 110, 459, 474, 254,
! 1160: 374, 704, 687, 632, 293, 120, 696, 463, 425, 294,
! 1161: 681, 249, 688, 535, 536, 425, 173, 61, 62, 61,
! 1162: 62, 120, 358, 61, 62, 120, 491, 783, 175, 271,
! 1163: 382, 56, 57, 516, 15, 173, 330, 461, 173, 123,
! 1164: 124, 296, 40, 488, 111, 419, 297, 353, 120, 365,
! 1165: 206, 1162, 40, 255, 750, 174, 384, 206, 68, 295,
! 1166: 742, 745, 620, 635, 40, 63, 844, 299, 425, 521,
! 1167: 946, 120, 517, 520, 120, 991, 105, 993, 958, 125,
! 1168: 784, 105, 489, 490, 182, 329, 61, 62, 475, 53,
! 1169: 331, 677, 678, 114, 201, 342, 298, 594, 698, 340,
! 1170: 463, 1008, 122, 689, 173, 369, 370, 6, 64, 338,
! 1171: 64, 364, 912, 699, 182, 560, 50, 194, 127, 206,
! 1172: 120, 808, 172, 627, 917, 105, 425, 628, 15, 206,
! 1173: 126, 173, 165, 202, 40, 385, 112, 61, 62, 1151,
! 1174: 557, 38, 369, 370, 6, 1152, 405, 371, 105, 277,
! 1175: 278, 61, 62, 425, 121, 107, 195, 196, 766, 197,
! 1176: 1206, 573, 578, 362, 997, 382, 198, 504, 40, 558,
! 1177: 394, 311, 685, 686, 122, 120, 669, 64, -248, 818,
! 1178: 589, 249, 23, 766, 371, 249, 358, 551, 206, 726,
! 1179: -22, 673, 505, 120, 120, 506, 23, 507, 120, 372,
! 1180: 969, 988, 989, 6, 120, -22, 834, 61, 62, 120,
! 1181: 753, 353, 774, 775, 142, 419, 612, 612, 496, 419,
! 1182: 612, 629, 631, 503, 326, 497, 470, 120, 182, 326,
! 1183: 330, 732, 733, 23, 668, 674, 372, 767, 425, 754,
! 1184: 642, 191, 64, 371, 1207, 206, 174, 508, 1203, 211,
! 1185: 491, 105, 169, 170, 970, 1226, 425, 213, 10, 173,
! 1186: 120, 120, 827, 919, 188, 471, 663, 40, 701, 671,
! 1187: 425, 919, 527, 425, 542, 556, 249, 1031, 214, 13,
! 1188: 193, 1035, 378, 275, 1092, 425, 16, -283, 470, 425,
! 1189: 584, 846, 182, 425, 717, 372, 722, 1204, 182, 479,
! 1190: 1094, 550, 483, -632, 1227, -632, -283, 257, -283, 903,
! 1191: -632, 258, 425, 543, 544, 604, 275, 425, 259, 785,
! 1192: 675, 364, 194, 933, 425, 59, 936, 471, -632, -632,
! 1193: 105, -632, 560, -632, 736, 261, 425, 1116, 952, 120,
! 1194: 300, 113, 954, 694, 206, 262, 960, 425, 113, 143,
! 1195: 40, 425, 263, 332, 144, 40, 583, 264, 265, 676,
! 1196: -283, 195, 196, 105, 197, 961, 1239, 277, 278, 626,
! 1197: 1060, 198, 347, 168, 169, 170, 332, 1061, 113, 364,
! 1198: 10, 364, 314, -632, 614, 51, 51, 618, 40, 1062,
! 1199: 1117, 366, 333, 334, 394, 1208, 374, 740, 206, 1112,
! 1200: 1168, 13, 121, 711, 1169, 405, 51, 121, 16, 302,
! 1201: 470, 120, 120, 898, 51, 333, 334, 412, 303, 1240,
! 1202: 951, 662, 158, 158, 332, 285, 764, 206, 900, 901,
! 1203: 194, 771, 206, 289, 290, 173, 899, 797, 822, 682,
! 1204: 121, 345, 910, 911, 823, 107, 346, 194, 304, 471,
! 1205: 224, -87, 712, 488, 15, 791, 206, 795, 206, 413,
! 1206: 336, 566, 377, 333, 334, 206, 567, 120, 560, 195,
! 1207: 196, 939, 940, 1149, 683, 1150, 40, 4, 119, 713,
! 1208: 521, 120, 275, 397, 520, 710, 195, 196, 832, 197,
! 1209: 685, 686, 489, 490, 850, 950, 198, 1083, 378, 856,
! 1210: 51, 51, 51, 594, 388, 765, 364, 947, 948, 393,
! 1211: 773, 739, 51, 684, 15, 158, 158, 606, 714, 19,
! 1212: 560, -80, 964, 968, 590, 591, -80, 833, 955, 956,
! 1213: 401, 158, 409, 851, 608, 158, 1084, 1113, 410, 169,
! 1214: 170, 105, 945, 259, 609, 10, 260, 801, 4, 119,
! 1215: 424, 263, 1086, 206, 40, 425, 610, 265, 158, 399,
! 1216: 261, 107, 455, 405, 277, 278, 13, 472, 23, 790,
! 1217: 262, 794, 105, 16, 923, 824, 51, 263, 277, 278,
! 1218: 27, 373, 264, 265, 51, 15, 120, 722, 17, 546,
! 1219: 19, 1087, 443, 444, 445, 477, 715, 197, 777, 778,
! 1220: 1046, 271, 143, 486, 198, 20, 358, 144, 120, 120,
! 1221: 58, 560, 59, 378, 825, 21, 772, 309, 168, 169,
! 1222: 170, 532, 120, 120, 1129, 10, 967, 22, 277, 278,
! 1223: 466, 353, 1063, 821, 1004, 716, 1155, 1156, 1138, 23,
! 1224: 120, 1141, 985, 552, 829, 990, 13, 197, 482, 60,
! 1225: 585, 27, 835, 16, 198, 971, 972, 105, 1032, 1033,
! 1226: 587, 165, 364, 1040, 1041, 592, 1090, 593, 364, 364,
! 1227: 51, 364, 120, 120, 588, 40, 374, 979, 374, 1076,
! 1228: 1077, 984, 848, 597, 849, 522, 446, 39, 39, 996,
! 1229: 1000, 1003, 598, 916, 971, 1099, 605, 105, 1107, 971,
! 1230: 1102, 621, 925, 158, 158, 40, 971, 1182, 158, 169,
! 1231: 170, 404, 408, 1005, 158, 10, 132, 447, 448, 51,
! 1232: 622, 449, 968, 451, 625, 453, 454, 358, 938, 633,
! 1233: 634, 636, 672, 259, 1123, 690, 13, 158, 158, 691,
! 1234: 51, 1066, 692, 16, 697, 695, 207, 120, 705, 120,
! 1235: 261, 706, 353, 1009, 364, 364, 120, 358, 707, 1015,
! 1236: 262, 441, 442, 443, 444, 445, 727, 263, 708, 744,
! 1237: 51, 51, 264, 265, 51, 741, 746, 1147, 752, 1148,
! 1238: 758, 776, 353, 747, 787, 1098, 1067, 786, 802, 1073,
! 1239: 1075, 1157, 803, 949, 282, 817, 364, 806, 809, 810,
! 1240: 364, 953, 811, 1135, 813, 819, 61, 62, 826, 176,
! 1241: 177, 178, 814, 820, 39, 374, 828, 339, 839, 962,
! 1242: 840, 843, -101, 182, 853, 967, 902, 61, 62, 905,
! 1243: 176, 177, 178, 904, 906, 642, 642, 179, 918, 930,
! 1244: -632, 926, -632, 1197, 941, 1069, 932, -632, 934, 679,
! 1245: 935, 180, 181, 937, 973, 1039, 364, 974, 179, 194,
! 1246: 977, 1228, 1229, 978, 980, -632, -632, 363, -632, 981,
! 1247: -632, 986, 700, 181, 364, 982, 992, 994, 354, 1010,
! 1248: 1125, 207, 1030, 998, 1244, 1036, 120, 1009, 207, 1133,
! 1249: 1043, 1009, 1053, 1058, 1059, 1065, 1068, 182, 195, 196,
! 1250: 1079, 197, 183, 184, 185, 1080, -101, 364, 198, 1082,
! 1251: 364, 439, 440, 441, 442, 443, 444, 445, 182, 468,
! 1252: -248, 158, 158, 183, 184, 185, 1081, 1089, 1110, 1220,
! 1253: 1093, 1115, 1091, 971, 1120, 1121, 364, 1095, 1118, 1124,
! 1254: 364, 364, 1126, 1127, 1143, 1128, 1131, 1134, 1165, 1154,
! 1255: 207, 1130, 1136, 1174, 1139, 1175, 158, 1145, 364, 1146,
! 1256: 207, 158, 1159, 364, 1176, 1142, 1109, 568, 146, 1186,
! 1257: 1177, 1181, 39, 1178, 1114, 525, 363, 373, 1190, 1191,
! 1258: 1194, 1192, 1198, 1205, 642, 642, 1202, 107, 1209, 1210,
! 1259: 1212, 51, 1230, 1200, 800, 1211, 374, 1216, 1223, 364,
! 1260: 364, 1164, 1213, 1225, 15, 363, 1224, 569, 1235, 19,
! 1261: 147, 1234, 570, 1237, 1214, 341, 169, 170, 571, 207,
! 1262: 1238, 1242, 10, 565, 148, 1243, 1246, 1179, 1247, 55,
! 1263: 286, 1009, 1184, 841, 149, 287, 502, 306, 288, 847,
! 1264: 702, 150, 354, 13, 703, 913, 572, 1074, 1119, 1199,
! 1265: 16, 492, 1137, 337, 1201, 1140, 1001, 1153, 23, 942,
! 1266: 133, -428, 807, -428, 547, 525, 134, 120, -428, 914,
! 1267: 27, 897, 1025, 363, 927, 624, 207, 805, 579, 541,
! 1268: 896, 1101, 59, 105, 1215, 1217, -428, 387, 928, -428,
! 1269: 1232, 1233, 1097, 0, 920, 146, 522, 638, 639, 640,
! 1270: 0, 644, 645, 646, 647, 648, 649, 650, 651, 652,
! 1271: 653, 654, 655, 656, 657, 658, 659, 660, 158, 158,
! 1272: -428, 0, -428, 327, 661, 363, 0, 446, 0, -428,
! 1273: 0, 15, 158, 158, 17, 0, 19, 147, 0, 921,
! 1274: 0, 0, -428, 363, 0, 922, -632, 0, -632, 0,
! 1275: 158, 148, 0, -632, 0, 0, 0, 0, 447, 448,
! 1276: 51, 149, 449, 450, 451, 452, 453, 454, 150, 0,
! 1277: 282, -632, -632, 151, -632, 207, -632, 0, 0, 0,
! 1278: 0, 0, 51, 51, 0, 23, 0, 0, 0, 363,
! 1279: 0, 0, 0, 0, 0, 0, 525, 27, 0, 54,
! 1280: 54, 0, 0, 0, 4, 146, 0, 197, 0, 0,
! 1281: 0, 0, 0, 0, 198, 363, 0, 0, 0, 0,
! 1282: 54, 0, 0, 0, 0, 0, 328, 0, 54, 207,
! 1283: 117, 118, 0, 0, 0, 0, 54, 54, 0, 0,
! 1284: 0, 15, 762, 763, 17, 0, 19, 147, 0, 0,
! 1285: 0, 0, 0, 0, 0, 0, 0, 373, 207, 373,
! 1286: 0, 148, 0, 207, 4, 146, 158, 158, 203, 275,
! 1287: 0, 149, 0, 363, 0, 363, 0, 0, 150, 0,
! 1288: 0, 51, 0, 151, 0, 256, 0, 207, 0, 207,
! 1289: 0, 0, 0, 804, 0, 23, 207, 0, 0, 0,
! 1290: 0, 15, 0, 0, 17, 152, 19, 27, 816, 0,
! 1291: 0, 51, 0, 0, 54, 54, 54, 0, 0, 0,
! 1292: 0, 148, 0, 0, 71, 6, 54, 8, 72, 54,
! 1293: 54, 149, 0, 10, 0, 0, 0, 363, 150, 0,
! 1294: 0, 0, 0, 151, 0, 54, 0, 12, 363, 54,
! 1295: 0, 0, 0, 0, 13, 23, 363, 0, 319, 320,
! 1296: 0, 16, 0, 0, 0, 0, 0, 27, 666, 0,
! 1297: 0, 0, 54, 350, 0, 4, 130, 6, 7, 8,
! 1298: 9, 0, 0, 0, 207, 10, 363, 0, 363, 0,
! 1299: 54, 0, 852, 0, 0, 0, 373, 0, 54, 12,
! 1300: 0, 0, 667, 0, 359, 0, 13, -362, 0, 0,
! 1301: 0, 383, 15, 16, 23, 17, 0, 19, 71, 6,
! 1302: 161, 8, 162, 0, 415, 0, 351, 10, 0, 0,
! 1303: 915, 0, 20, 0, 0, 0, 0, 0, 0, 0,
! 1304: 0, 12, 21, 0, 467, 0, 0, 0, 13, 0,
! 1305: 467, 0, 0, 0, 22, 16, 0, 0, 0, 0,
! 1306: 0, 0, 354, 0, 0, 0, 23, 4, 119, 478,
! 1307: 0, 480, 481, 0, 525, 525, 582, -362, 27, 0,
! 1308: 0, 0, 0, 0, 54, 0, 0, 525, 0, 943,
! 1309: 71, 6, 7, 8, 9, 0, 0, 363, 525, 10,
! 1310: 0, 0, 0, 0, 15, 363, 0, 606, 23, 19,
! 1311: 607, 0, 0, 12, 0, 0, 0, 54, 54, 0,
! 1312: 13, 0, 54, 363, 608, 525, 525, 16, 54, 0,
! 1313: 0, 537, 538, 54, 609, 0, 0, 0, 0, 4,
! 1314: 119, 263, 548, 0, 275, 0, 610, 265, 0, 0,
! 1315: 0, 54, 54, 0, 54, 0, 0, 0, 23, 435,
1.1.1.2 root 1316: 436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
1.1.1.3 ! root 1317: 27, 0, 0, 0, 0, 0, 15, 373, 0, 17,
! 1318: 23, 19, 0, 354, 54, 54, 0, 0, 54, 0,
! 1319: 0, 0, 0, 1037, 1038, 0, 20, 0, 615, 0,
! 1320: 0, 0, 0, 525, 0, 0, 21, 0, 0, 0,
! 1321: 0, 0, 0, 354, 0, 0, 0, 70, 22, 0,
! 1322: 71, 6, 0, 8, 72, 0, 0, 0, 0, 10,
! 1323: 23, 0, 0, 0, 0, 525, 0, 1064, 0, 0,
! 1324: 0, 0, 27, 12, 0, 0, 0, 0, 0, 0,
! 1325: 13, 0, 73, 74, 0, 0, 0, 16, 75, 76,
! 1326: 4, 146, 0, 680, 467, 0, 77, 78, 79, 80,
! 1327: 0, 0, 81, 82, 83, 84, 85, 86, 87, 88,
! 1328: 89, 90, 91, 92, 93, 94, 95, 96, 97, 0,
! 1329: 98, 99, 0, 0, 100, 101, 0, 15, 693, 102,
! 1330: 17, 525, 19, 147, 0, 0, 0, 0, 1111, 0,
! 1331: 23, 0, 0, 0, 0, 0, 0, 148, 0, 0,
! 1332: 0, 0, 103, 104, 0, 525, 0, 149, 0, 0,
! 1333: 0, 0, 4, 146, 150, 54, 54, 525, 0, 151,
! 1334: 0, 0, 0, 0, 0, 0, 0, 0, 0, 734,
! 1335: 735, 23, 737, 0, 0, 0, 363, 0, 0, 363,
! 1336: 0, 999, 0, 27, 748, 749, 0, 0, 0, 15,
! 1337: 54, 0, 17, 0, 19, 54, 0, 0, 0, 761,
! 1338: 525, 0, 525, 0, 0, 0, 770, 0, 0, 148,
! 1339: 0, 0, 0, 0, 525, 779, 780, 781, 0, 149,
! 1340: 0, 0, 0, 0, 0, 54, 150, 0, 54, 0,
! 1341: 788, 151, 792, 0, 0, 796, 478, 0, 798, 799,
! 1342: 0, 0, 0, 23, 436, 437, 438, 439, 440, 441,
! 1343: 442, 443, 444, 445, 0, 27, 1011, 0, -565, -565,
! 1344: -565, -565, -565, -565, -565, -565, 525, -565, -565, -565,
! 1345: -565, -565, -565, -565, -565, -565, -565, -565, -565, -565,
! 1346: -565, -565, -565, -565, -565, -565, 0, -565, 0, -565,
! 1347: 0, -565, -565, 0, -565, -565, -565, 831, 4, 119,
! 1348: -565, 0, 0, -565, -565, 0, 0, 0, 0, 0,
! 1349: 0, 0, 0, 0, 0, -565, 0, 836, 837, 0,
! 1350: 0, 838, 0, -565, -565, -565, 0, 0, 0, -565,
! 1351: -565, 0, 0, 0, 0, 15, 0, -565, 606, -565,
! 1352: 19, 1012, -565, 1013, 0, -565, -565, -565, 0, -565,
! 1353: 0, 0, 54, 54, 0, 608, 0, 0, 0, -565,
! 1354: -565, -565, -565, 0, 0, 609, 54, 54, 0, 0,
! 1355: 0, 0, 263, 0, 907, 908, 909, 610, 265, 0,
! 1356: 0, 0, 71, 6, 54, 8, 270, 0, 0, 23,
! 1357: 0, 10, 0, 0, 54, 0, 0, 0, 0, 0,
! 1358: 0, 27, 0, 0, 0, 12, 0, 0, 0, 0,
! 1359: 0, 0, 13, 0, 0, 0, 54, 54, 0, 16,
! 1360: 0, 0, 0, 1006, 0, 859, 130, 6, 7, 8,
! 1361: 361, 218, 214, 0, 219, 10, 860, 0, 861, 862,
! 1362: 863, 864, 865, 866, 867, 868, 869, 870, 871, 12,
! 1363: 220, 221, 222, 0, 223, 0, 13, 0, 224, -231,
! 1364: 0, 225, 15, 16, 0, 0, 0, 226, 0, 957,
! 1365: 872, 309, 23, 0, 0, 0, 0, 0, 0, 0,
! 1366: 0, 0, 227, 0, 0, 0, 0, 0, 0, 0,
! 1367: 228, 229, 230, 0, 0, 0, 231, 232, 0, 0,
! 1368: 54, 54, 0, 0, 233, 0, 873, 0, 0, 874,
! 1369: 0, 0, 875, 876, 877, 54, 878, 0, 0, 0,
! 1370: 0, 71, 6, 0, 8, 72, 879, 1007, 234, 235,
! 1371: 10, 0, 1026, 1027, 1028, 0, 0, 0, 0, 0,
! 1372: 0, 0, 0, 0, 12, 54, 0, 0, 1034, 0,
! 1373: 0, 13, 0, 0, 0, 0, 1042, 0, 16, 0,
! 1374: 0, 0, 1047, 1048, 1049, 1050, 1051, 1052, 1016, 0,
1.1.1.2 root 1375: 859, 130, 6, 7, 8, 361, 218, 214, 0, 219,
1376: 10, 860, 0, 861, 862, 863, 864, 865, 866, 867,
1377: 868, 869, 870, 871, 12, 220, 221, 222, 0, 223,
1378: 0, 13, 0, 224, -231, 0, 225, 15, 16, 0,
1.1.1.3 ! root 1379: 0, 23, 226, 0, 0, 872, 309, 0, 0, 0,
1.1.1.2 root 1380: 0, 0, 0, 0, 0, 0, 0, 227, 0, 0,
1381: 0, 0, 0, 0, 0, 228, 229, 230, 0, 0,
1382: 0, 231, 232, 0, 0, 0, 0, 0, 0, 233,
1383: 0, 873, 0, 0, 874, 0, 0, 875, 876, 877,
1384: 0, 878, 0, 0, 0, 0, 0, 0, 0, 0,
1.1.1.3 ! root 1385: 0, 879, 1017, 234, 235, 1020, 0, 859, 130, 6,
1.1.1.2 root 1386: 7, 8, 361, 218, 214, 0, 219, 10, 860, 0,
1387: 861, 862, 863, 864, 865, 866, 867, 868, 869, 870,
1388: 871, 12, 220, 221, 222, 0, 223, 0, 13, 0,
1389: 224, -231, 0, 225, 15, 16, 0, 0, 0, 226,
1390: 0, 0, 872, 309, 0, 0, 0, 0, 0, 0,
1391: 0, 0, 0, 0, 227, 0, 0, 0, 0, 0,
1392: 0, 0, 228, 229, 230, 0, 0, 0, 231, 232,
1393: 0, 0, 0, 0, 0, 0, 233, 0, 873, 0,
1394: 0, 874, 0, 0, 875, 876, 877, 0, 878, 0,
1.1.1.3 ! root 1395: 0, 0, 0, 0, 0, 0, 0, 0, 879, 1021,
! 1396: 234, 235, 1006, 0, 859, 130, 6, 7, 8, 361,
1.1.1.2 root 1397: 218, 214, 0, 219, 10, 860, 0, 861, 862, 863,
1398: 864, 865, 866, 867, 868, 869, 870, 871, 12, 220,
1399: 221, 222, 0, 223, 0, 13, 0, 224, -231, 0,
1400: 225, 15, 16, 0, 0, 0, 226, 0, 0, 872,
1401: 309, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1402: 0, 227, 0, 0, 0, 0, 0, 0, 0, 228,
1403: 229, 230, 0, 0, 0, 231, 232, 0, 0, 0,
1404: 0, 0, 0, 233, 0, 873, 0, 0, 874, 0,
1405: 0, 875, 876, 877, 0, 878, 0, 0, 0, 0,
1.1.1.3 ! root 1406: 0, 0, 0, 0, 0, 879, 1100, 234, 235, 1006,
1.1.1.2 root 1407: 0, 859, 130, 6, 7, 8, 361, 218, 214, 0,
1408: 219, 10, 860, 0, 861, 862, 863, 864, 865, 866,
1409: 867, 868, 869, 870, 871, 12, 220, 221, 222, 0,
1410: 223, 0, 13, 0, 224, -231, 0, 225, 15, 16,
1411: 0, 0, 0, 226, 0, 0, 872, 309, 0, 0,
1412: 0, 0, 0, 0, 0, 0, 0, 0, 227, 0,
1413: 0, 0, 0, 0, 0, 0, 228, 229, 230, 0,
1414: 0, 0, 231, 232, 0, 0, 0, 0, 0, 0,
1415: 233, 0, 873, 0, 0, 874, 0, 0, 875, 876,
1.1.1.3 ! root 1416: 877, 0, 878, 0, 0, 0, 0, 0, 0, 0,
! 1417: 0, 0, 879, 1103, 234, 235, 1006, 0, 859, 130,
! 1418: 6, 7, 8, 361, 218, 214, 0, 219, 10, 860,
! 1419: 0, 861, 862, 863, 864, 865, 866, 867, 868, 869,
! 1420: 870, 871, 12, 220, 221, 222, 0, 223, 0, 13,
! 1421: 0, 224, -231, 0, 225, 15, 16, 0, 0, 0,
! 1422: 226, 0, 0, 872, 309, 0, 0, 0, 0, 0,
! 1423: 0, 0, 0, 0, 0, 227, 0, 0, 0, 0,
! 1424: 0, 0, 0, 228, 229, 230, 0, 0, 0, 231,
! 1425: 232, 0, 0, 0, 0, 0, 0, 233, 0, 873,
! 1426: 0, 0, 874, 0, 0, 875, 876, 877, 0, 878,
! 1427: 0, 0, 0, 0, 0, 0, 0, 0, 0, 879,
! 1428: 1183, 234, 235, 858, 0, 859, 130, 6, 7, 8,
! 1429: 361, 218, 214, 0, 219, 10, 860, 0, 861, 862,
! 1430: 863, 864, 865, 866, 867, 868, 869, 870, 871, 12,
1.1.1.2 root 1431: 220, 221, 222, 0, 223, 0, 13, 0, 224, -231,
1.1.1.3 ! root 1432: 0, 225, 15, 16, 0, 0, 0, 226, 0, 0,
! 1433: 872, 309, 0, 0, 0, 0, 0, 0, 0, 0,
! 1434: 0, 0, 227, 0, 0, 0, 0, 0, 0, 0,
1.1.1.2 root 1435: 228, 229, 230, 0, 0, 0, 231, 232, 0, 0,
1.1.1.3 ! root 1436: 0, 0, 0, 0, 233, 0, 873, 0, 0, 874,
! 1437: 0, 0, 875, 876, 877, 0, 878, 0, 0, 0,
! 1438: 0, 0, 0, 0, 0, 0, 879, 0, 234, 235,
! 1439: 1161, 0, 859, 130, 6, 7, 8, 361, 218, 214,
! 1440: 0, 219, 10, 860, 0, 861, 862, 863, 864, 865,
! 1441: 866, 867, 868, 869, 870, 871, 12, 220, 221, 222,
1.1.1.2 root 1442: 0, 223, 0, 13, 0, 224, -231, 0, 225, 15,
1.1.1.3 ! root 1443: 16, 0, 0, 0, 226, 0, 0, 872, 309, 0,
! 1444: 0, 0, 0, 0, 0, 0, 0, 0, 0, 227,
1.1.1.2 root 1445: 0, 0, 0, 0, 0, 0, 0, 228, 229, 230,
1446: 0, 0, 0, 231, 232, 0, 0, 0, 0, 0,
1.1.1.3 ! root 1447: 0, 233, 0, 873, 0, 0, 874, 0, 0, 875,
! 1448: 876, 877, 0, 878, 0, 0, 0, 0, 0, 0,
! 1449: 0, 0, 0, 879, 0, 234, 235, 360, 0, 216,
1.1.1.2 root 1450: 130, 6, 7, 8, 361, 218, 214, 204, 219, 10,
1.1.1.3 ! root 1451: 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
! 1452: 443, 444, 445, 12, 220, 221, 222, 0, 223, 0,
1.1.1.2 root 1453: 13, 0, 224, -231, 0, 225, 15, 16, 0, 0,
1.1.1.3 ! root 1454: 0, 226, 426, 427, 428, 0, 0, 429, 430, 431,
! 1455: 432, 433, 434, 435, 436, 437, 227, 439, 440, 441,
! 1456: 442, 443, 444, 445, 228, 229, 230, 0, 0, 0,
1.1.1.2 root 1457: 231, 232, 0, 0, 0, 0, 0, 0, 233, 0,
1458: 0, 0, 0, 0, 0, 0, 0, 0, 0, 205,
1.1.1.3 ! root 1459: 23, 0, 0, 0, 0, 0, 0, 0, 0, -609,
! 1460: 0, 0, 234, 235, 549, 0, 216, 130, 6, 7,
! 1461: 8, 361, 218, 214, 204, 219, 10, 434, 435, 436,
! 1462: 437, 438, 439, 440, 441, 442, 443, 444, 445, 0,
1.1.1.2 root 1463: 12, 220, 221, 222, 0, 223, 0, 13, 0, 224,
1.1.1.3 ! root 1464: -231, 0, 225, 15, 16, 0, 0, 0, 226, 432,
! 1465: 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
! 1466: 443, 444, 445, 227, 0, 0, 0, 0, 0, 0,
1.1.1.2 root 1467: 0, 228, 229, 230, 0, 0, 0, 231, 232, 0,
1468: 0, 0, 0, 0, 0, 233, 0, 0, 0, 0,
1469: 0, 0, 0, 0, 0, 0, 205, 23, 0, 0,
1.1.1.3 ! root 1470: 0, 0, 0, 0, 0, 0, -609, 0, 0, 234,
! 1471: 235, 738, 0, 216, 130, 6, 7, 8, 361, 218,
1.1.1.2 root 1472: 214, 204, 219, 10, 0, 0, 0, 0, 0, 0,
1.1.1.3 ! root 1473: 0, 0, 0, 0, 0, 0, 0, 12, 220, 221,
1.1.1.2 root 1474: 222, 0, 223, 0, 13, 0, 224, -231, 0, 225,
1475: 15, 16, 0, 0, 0, 226, 0, 0, 0, 0,
1.1.1.3 ! root 1476: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 1477: 227, 0, 0, 0, 0, 0, 0, 0, 228, 229,
! 1478: 230, 0, 0, 0, 231, 232, 0, 0, 0, 0,
! 1479: 0, 0, 233, 0, 0, 0, 0, 0, 0, 0,
! 1480: 0, 0, 0, 205, 23, 0, 0, 0, 0, 0,
! 1481: 0, 0, 0, -609, 0, 0, 234, 235, 789, 0,
! 1482: 216, 130, 6, 7, 8, 361, 218, 214, 204, 219,
! 1483: 10, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 1484: 0, 0, 0, 0, 12, 220, 221, 222, 0, 223,
! 1485: 0, 13, 0, 224, -231, 0, 225, 15, 16, 0,
! 1486: 0, 0, 226, 0, 0, 0, 0, 0, 0, 0,
! 1487: 0, 0, 0, 0, 0, 0, 0, 227, 0, 0,
! 1488: 0, 0, 0, 0, 0, 228, 229, 230, 0, 0,
! 1489: 0, 231, 232, 0, 0, 0, 0, 0, 0, 233,
! 1490: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 1491: 205, 23, 0, 0, 0, 0, 0, 0, 0, 0,
! 1492: -609, 0, 0, 234, 235, 793, 0, 216, 130, 6,
! 1493: 7, 8, 361, 218, 214, 204, 219, 10, 0, 0,
! 1494: 0, 0, 0, 0, 0, 0, 4, 146, 0, 0,
! 1495: 0, 12, 220, 221, 222, 0, 223, 0, 13, 0,
! 1496: 224, -231, 0, 225, 15, 16, 0, 0, 0, 226,
! 1497: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 1498: 0, 0, 0, 15, 227, 0, 17, 0, 19, 147,
! 1499: 0, 0, 228, 229, 230, 0, 0, 0, 231, 232,
! 1500: 0, 0, 0, 148, 0, 0, 233, 0, 0, 0,
! 1501: 0, 0, 0, 149, 0, 0, 0, 205, 23, 0,
! 1502: 150, 0, 0, 0, 0, 151, 0, -609, 0, 0,
! 1503: 234, 235, 523, 0, 718, 719, 6, 23, 8, 402,
! 1504: 218, 214, 0, 219, 10, 0, 0, 0, 0, 27,
! 1505: 0, 0, 0, 0, 0, 0, 0, 0, 12, 220,
! 1506: 221, 222, 0, 223, 0, 13, 0, 224, -231, 0,
! 1507: 225, 15, 16, 0, 0, 0, 226, 0, 0, 0,
! 1508: 524, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 1509: 0, 227, 0, 0, 0, 0, 0, 0, 0, 228,
! 1510: 229, 230, 0, 0, 0, 231, 232, 0, 0, 0,
! 1511: 0, 0, 0, 233, 720, 523, 0, 718, 719, 6,
! 1512: 0, 8, 402, 218, 214, 182, 219, 10, 0, 0,
! 1513: 0, 0, 0, 0, 965, 0, 721, 234, 235, 0,
! 1514: 0, 12, 220, 221, 222, 0, 223, 0, 13, 0,
! 1515: 224, -231, 0, 225, 15, 16, 0, 0, 0, 226,
! 1516: 0, 0, 0, 524, 0, 0, 0, 0, 0, 0,
! 1517: 0, 0, 0, 0, 227, 0, 0, 0, 0, 0,
! 1518: 0, 0, 228, 229, 230, 0, 0, 0, 231, 232,
! 1519: 0, 0, 0, 0, 0, 0, 233, 0, 1070, 0,
! 1520: 216, 130, 6, 7, 8, 361, 218, 214, 182, 219,
! 1521: 10, 0, 0, 0, 0, 0, 0, 0, 0, 966,
! 1522: 234, 235, 0, 0, 12, 220, 221, 222, 0, 223,
1.1.1.2 root 1523: 0, 13, 0, 224, -231, 0, 225, 15, 16, 0,
1.1.1.3 ! root 1524: 0, 0, 226, 0, 0, 0, 1071, 0, 0, 0,
1.1.1.2 root 1525: 0, 0, 0, 0, 0, 0, 0, 227, 0, 0,
1.1.1.3 ! root 1526: 0, 0, 0, 0, 0, 228, 229, 230, 0, 0,
! 1527: 0, 231, 232, 0, 0, 0, 0, 0, 0, 233,
! 1528: 0, 523, 0, 718, 719, 6, 0, 8, 402, 218,
! 1529: 214, 23, 219, 10, 0, 0, 0, 0, 0, 0,
! 1530: 965, 1072, 0, 234, 235, 0, 0, 12, 220, 221,
1.1.1.2 root 1531: 222, 0, 223, 0, 13, 0, 224, -231, 0, 225,
1532: 15, 16, 0, 0, 0, 226, 0, 0, 0, 524,
1533: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1534: 227, 0, 0, 0, 0, 0, 0, 0, 228, 229,
1535: 230, 0, 0, 0, 231, 232, 0, 0, 0, 0,
1.1.1.3 ! root 1536: 0, 0, 233, 0, 523, 0, 718, 719, 6, 0,
! 1537: 8, 402, 218, 214, 182, 219, 10, 0, 0, 0,
! 1538: 0, 0, 0, 0, 0, -324, 234, 235, 0, 0,
1.1.1.2 root 1539: 12, 220, 221, 222, 0, 223, 0, 13, 0, 224,
1540: -231, 0, 225, 15, 16, 0, 0, 0, 226, 0,
1.1.1.3 ! root 1541: 0, 0, 524, 0, 0, 0, 0, 0, 0, 0,
1.1.1.2 root 1542: 0, 0, 0, 227, 0, 0, 0, 0, 0, 0,
1543: 0, 228, 229, 230, 0, 0, 0, 231, 232, 0,
1.1.1.3 ! root 1544: 0, 0, 0, 0, 0, 233, 720, 418, 0, 216,
! 1545: 130, 6, 0, 8, 217, 218, 214, 182, 219, 10,
! 1546: 0, 0, 0, 0, 0, 0, 0, 0, 0, 234,
1.1.1.2 root 1547: 235, 0, 0, 12, 220, 221, 222, 0, 223, 0,
1548: 13, 0, 224, -231, 0, 225, 15, 16, 0, 0,
1.1.1.3 ! root 1549: 0, 226, 0, 0, 0, -204, 0, 0, 0, 0,
1.1.1.2 root 1550: 0, 0, 0, 0, 0, 0, 227, 0, 0, 0,
1551: 0, 0, 0, 0, 228, 229, 230, 0, 0, 0,
1552: 231, 232, 0, 0, 0, 0, 0, 0, 233, 0,
1.1.1.3 ! root 1553: 523, 0, 216, 130, 6, 0, 8, 402, 218, 214,
! 1554: 23, 219, 10, 0, 0, 0, 0, 0, 0, 0,
! 1555: 0, 0, 234, 235, 0, 0, 12, 220, 221, 222,
1.1.1.2 root 1556: 0, 223, 0, 13, 0, 224, -231, 0, 225, 15,
1557: 16, 0, 0, 0, 226, 0, 0, 0, 524, 0,
1558: 0, 0, 0, 0, 0, 0, 0, 0, 0, 227,
1559: 0, 0, 0, 0, 0, 0, 0, 228, 229, 230,
1560: 0, 0, 0, 231, 232, 0, 0, 0, 0, 0,
1.1.1.3 ! root 1561: 0, 233, 0, 641, 0, 216, 130, 6, 0, 8,
! 1562: 402, 218, 214, 23, 219, 10, 0, 0, 0, 0,
1.1.1.2 root 1563: 0, 0, 0, 0, 0, 234, 235, 0, 0, 12,
1564: 220, 221, 222, 0, 223, 0, 13, 0, 224, -231,
1565: 0, 225, 15, 16, 0, 0, 0, 226, 0, 0,
1.1.1.3 ! root 1566: 71, 6, 7, 8, 9, 0, -599, 204, 0, 10,
1.1.1.2 root 1567: 0, 0, 227, 0, 0, 0, 0, 0, 0, 0,
1.1.1.3 ! root 1568: 228, 229, 230, 12, 0, 0, 231, 232, 0, 0,
! 1569: 13, 0, 0, 0, 233, 0, 641, 16, 216, 130,
1.1.1.2 root 1570: 6, 0, 8, 402, 218, 214, 23, 219, 10, 0,
1571: 0, 0, 0, 0, 0, 0, 0, 0, 234, 235,
1572: 0, 0, 12, 220, 221, 222, 0, 223, 0, 13,
1573: 0, 224, -231, 0, 225, 15, 16, 0, 0, 0,
1.1.1.3 ! root 1574: 226, 0, 0, 0, 0, 0, 0, 0, 0, 205,
! 1575: 23, 0, 0, 0, 0, 227, 0, 0, 0, 0,
1.1.1.2 root 1576: 0, 0, 0, 228, 229, 230, 0, 0, 0, 231,
1577: 232, 0, 0, 0, 0, 0, 0, 233, 0, 641,
1578: 0, 216, 130, 6, 0, 8, 402, 218, 214, 23,
1.1.1.3 ! root 1579: 219, 10, 0, 0, 0, 0, 0, 0, 0, -599,
1.1.1.2 root 1580: 0, 234, 235, 0, 0, 12, 220, 221, 222, 0,
1581: 223, 0, 13, 0, 224, -231, 0, 225, 15, 16,
1582: 0, 0, 0, 226, 0, 0, 0, 0, 0, 0,
1.1.1.3 ! root 1583: 0, 0, 0, 0, 0, 0, 0, 0, 227, 0,
1.1.1.2 root 1584: 0, 0, 0, 0, 0, 0, 228, 229, 230, 0,
1585: 0, 0, 231, 232, 0, 0, 0, 0, 0, 0,
1.1.1.3 ! root 1586: 233, 0, 637, 0, 216, 130, 6, 0, 8, 402,
1.1.1.2 root 1587: 218, 214, 23, 219, 10, 0, 0, 0, 0, 0,
1.1.1.3 ! root 1588: 0, -599, 0, 0, 234, 235, 0, 0, 12, 220,
1.1.1.2 root 1589: 221, 222, 0, 223, 0, 13, 0, 224, -231, 0,
1590: 225, 15, 16, 0, 0, 0, 226, 0, 0, 0,
1.1.1.3 ! root 1591: 0, 0, 0, 0, 0, 0, 0, 0, 0, -2,
! 1592: 3, 227, 4, 5, 6, 7, 8, 9, 0, 228,
! 1593: 229, 230, 10, 0, 0, 231, 232, 0, 0, 0,
! 1594: 0, 0, 0, 233, 0, 11, 12, 0, 0, 0,
! 1595: 0, 0, 0, 13, 0, 23, 0, 14, 0, 15,
! 1596: 16, 0, 17, 18, 19, 0, 0, 234, 235, 0,
! 1597: 0, 0, 0, 0, 0, 0, 0, 0, 0, 20,
! 1598: 0, 0, 0, 0, 0, 0, 0, 0, 0, 21,
! 1599: 0, 0, 0, 216, 130, 6, 0, 8, 402, 218,
! 1600: 214, 22, 219, 10, 0, 0, 0, 0, 0, 0,
! 1601: 0, 0, 0, 23, 24, 25, 0, 12, 220, 221,
! 1602: 222, 0, 223, 26, 13, 27, 224, 0, 0, 225,
! 1603: 15, 16, 0, 0, 0, 226, 3, 0, 4, 5,
! 1604: 6, 7, 8, 9, 0, 0, 0, 0, 10, 0,
! 1605: 227, 0, 0, 0, 0, 0, 0, 0, 228, 229,
! 1606: 230, 11, 12, 0, 231, 232, 0, 0, 0, 13,
! 1607: 0, 0, 233, 14, 0, 15, 16, 0, 17, 18,
! 1608: 19, 0, 0, 0, 23, 0, 0, 0, 0, 0,
! 1609: 0, 0, 0, 0, 0, 20, 234, 235, 670, 0,
! 1610: 0, 0, 0, 0, 0, 21, 0, 0, 0, 3,
! 1611: 0, 4, 5, 6, 7, 8, 9, 22, 0, 0,
! 1612: 0, 10, 0, 0, 0, 0, 0, 0, 0, 23,
! 1613: 24, 25, 0, 0, 11, 12, 0, 0, 0, 26,
! 1614: 500, 27, 13, 0, 0, 0, 14, 0, 15, 16,
! 1615: 0, 17, 18, 19, 350, 0, 4, 130, 6, 7,
! 1616: 8, 9, 0, 0, 0, 0, 10, 0, 20, 0,
! 1617: 0, 0, 0, 0, 0, 0, 0, 0, 21, 0,
! 1618: 12, 0, 0, 0, 0, 0, 0, 13, -363, 0,
! 1619: 22, 0, 0, 15, 16, 0, 17, 0, 19, 0,
! 1620: 0, 0, 23, 24, 25, 0, 0, 351, 0, 0,
! 1621: 0, 0, 26, 20, 27, 0, 0, 0, 0, 0,
! 1622: 0, 0, 350, 21, 4, 130, 6, 7, 8, 9,
! 1623: 0, 0, 4, 380, 10, 22, 0, 0, 0, 0,
! 1624: 0, 0, 0, 0, 0, 0, 0, 23, 12, 0,
! 1625: 0, 0, 0, 0, 0, 13, -361, 582, -363, 27,
! 1626: 0, 15, 16, 0, 17, 0, 19, 0, 0, 15,
! 1627: 0, 0, 17, 0, 19, 351, 0, 0, 0, 0,
! 1628: 350, 20, 4, 130, 6, 7, 8, 9, 0, 20,
! 1629: 0, 21, 10, 0, 0, 0, 0, 0, 0, 21,
! 1630: 0, 0, 0, 22, 0, 0, 12, 0, 0, 0,
! 1631: 0, 22, 0, 13, -364, 23, 0, 0, 0, 15,
! 1632: 16, 0, 17, 381, 19, 0, -361, 27, 0, 0,
! 1633: 0, 0, 0, 351, 0, 27, 0, 0, 3, 20,
! 1634: 4, 5, 6, 7, 8, 9, 0, 0, 0, 21,
! 1635: 10, 0, 0, 0, 0, 0, 0, 0, 0, 0,
! 1636: 0, 22, 0, 0, 12, 0, 0, 0, 0, 0,
! 1637: 0, 13, 0, 23, 0, 0, 0, 15, 16, 0,
! 1638: 17, 0, 19, 0, -364, 27, 0, 0, 0, 0,
! 1639: 0, 0, 0, 0, 0, 0, 129, 20, 4, 130,
! 1640: 6, 7, 8, 9, 0, 0, 0, 21, 10, 0,
! 1641: 0, 0, 0, 0, 0, 0, 0, 0, 0, 22,
! 1642: 0, 0, 12, 0, 0, 0, 0, 0, 0, 13,
! 1643: 0, 23, 24, 0, 0, 15, 16, 0, 17, 0,
! 1644: 19, 26, 0, 27, 0, 0, 0, 0, 0, 0,
! 1645: 0, 0, 0, 0, 0, 20, 0, 0, 0, 0,
! 1646: 0, 0, 0, 0, 0, 21, 0, 0, 0, 0,
! 1647: 0, 0, 0, 0, 0, 0, 0, 22, 0, 0,
! 1648: 0, 0, 0, 0, 0, 0, 0, 0, 0, 23,
! 1649: 0, 0, 0, 859, 130, 6, 7, 8, 361, 218,
! 1650: 214, 27, 219, 10, 860, 0, 861, 862, 863, 864,
1.1.1.2 root 1651: 865, 866, 867, 868, 869, 870, 871, 12, 220, 221,
1652: 222, 0, 223, 0, 13, 0, 224, 0, 0, 225,
1653: 15, 16, 0, 0, 0, 226, 0, 0, 872, 309,
1.1 root 1654: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1.1.1.2 root 1655: 227, 0, 0, 0, 0, 0, 0, 0, 228, 229,
1656: 230, 0, 0, 0, 231, 232, 0, 0, 0, 0,
1657: 0, 0, 233, 0, 873, 0, 0, 874, 0, 0,
1658: 875, 876, 877, 0, 878, 0, 0, 0, 0, 0,
1.1.1.3 ! root 1659: 0, 0, 0, 0, 879, 1014, 234, 235, 859, 130,
1.1.1.2 root 1660: 6, 7, 8, 361, 218, 214, 0, 219, 10, 860,
1661: 0, 861, 862, 863, 864, 865, 866, 867, 868, 869,
1662: 870, 871, 12, 220, 221, 222, 0, 223, 0, 13,
1663: 0, 224, 0, 0, 225, 15, 16, 0, 0, 0,
1664: 226, 0, 0, 872, 309, 0, 0, 0, 0, 0,
1665: 0, 0, 0, 0, 0, 227, 0, 0, 4, 380,
1666: 0, 0, 0, 228, 229, 230, 0, 0, 0, 231,
1667: 232, 0, 0, 0, 0, 0, 0, 233, 0, 873,
1668: 0, 0, 874, 0, 0, 875, 876, 877, 0, 878,
1669: 0, 0, 0, 0, 0, 15, 0, 0, 17, 879,
1670: 19, 234, 235, 216, 130, 6, 0, 8, 402, 218,
1.1.1.3 ! root 1671: 214, 0, 219, 10, 0, 554, 0, 0, 0, 0,
! 1672: 0, 0, 0, 0, 0, 555, 0, 12, 220, 221,
1.1.1.2 root 1673: 222, 0, 223, 0, 13, 0, 224, 22, 0, 225,
1674: 15, 16, 0, 0, 0, 226, 0, 0, 0, 381,
1.1 root 1675: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1.1.1.2 root 1676: 227, 27, 0, 4, 119, 0, 0, 0, 228, 229,
1677: 230, 0, 0, 0, 231, 232, 0, 0, 0, 0,
1678: 0, 0, 233, 457, 0, 0, 216, 130, 6, 0,
1679: 8, 402, 218, 214, 23, 219, 10, 0, 0, 0,
1680: 15, 0, 0, 17, 0, 19, 234, 235, 0, 0,
1681: 12, 220, 221, 222, 0, 223, 0, 13, 0, 224,
1682: 321, 0, 225, 15, 16, 0, 0, 0, 226, 0,
1683: 322, 0, 815, 0, 0, 0, 0, 323, 0, 0,
1684: 0, 0, 324, 227, 0, 0, 4, 119, 0, 0,
1685: 0, 228, 229, 230, 23, 0, 0, 231, 232, 0,
1686: 0, 0, 0, 0, 0, 233, 27, 0, 0, 216,
1687: 130, 6, 0, 8, 402, 218, 214, 23, 219, 10,
1688: 0, 0, 0, 15, 0, 0, 17, 0, 19, 234,
1689: 235, 0, 0, 12, 220, 221, 222, 0, 223, 0,
1690: 13, 0, 224, 539, 0, 225, 15, 16, 0, 0,
1691: 0, 226, 0, 540, 0, 0, 0, 0, 0, 0,
1.1.1.3 ! root 1692: 323, 0, 0, 0, 0, 324, 227, 0, 0, 0,
! 1693: 0, 0, 0, 0, 228, 229, 230, 23, 0, 0,
1.1.1.2 root 1694: 231, 232, 0, 0, 0, 0, 0, 0, 233, 27,
1695: 0, 0, 216, 130, 6, 0, 8, 402, 218, 214,
1.1.1.3 ! root 1696: 23, 219, 10, 0, 0, 0, 0, 0, 0, 0,
! 1697: 983, 0, 234, 235, 0, 0, 12, 220, 221, 222,
! 1698: 0, 223, 0, 13, 0, 224, 0, 0, 225, 15,
! 1699: 16, 0, 0, 0, 226, 0, 0, 0, 0, 0,
! 1700: 0, 0, 0, 0, 0, 0, 0, 0, 0, 227,
1.1.1.2 root 1701: 0, 0, 0, 0, 0, 0, 0, 228, 229, 230,
1.1.1.3 ! root 1702: 0, 0, 0, 231, 232, 0, 0, 0, 0, 0,
! 1703: 0, 233, 0, 0, 0, 216, 130, 6, 0, 8,
1.1.1.2 root 1704: 217, 218, 214, 23, 219, 10, 0, 0, 0, 0,
1.1.1.3 ! root 1705: 0, 0, 0, 995, 0, 234, 235, 0, 0, 12,
1.1.1.2 root 1706: 220, 221, 222, 0, 223, 0, 13, 0, 224, 0,
1707: 0, 225, 15, 16, 0, 0, 0, 226, 0, 0,
1.1 root 1708: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1.1.1.2 root 1709: 0, 0, 227, 0, 0, 0, 0, 0, 0, 0,
1710: 228, 229, 230, 0, 0, 0, 231, 232, 0, 0,
1711: 0, 0, 0, 0, 233, 0, 0, 0, 216, 130,
1712: 6, 0, 8, 402, 218, 214, 23, 219, 10, 0,
1713: 0, 0, 0, 0, 0, 0, 0, 0, 234, 235,
1714: 0, 0, 12, 220, 221, 222, 0, 223, 0, 13,
1715: 0, 224, 0, 0, 225, 15, 16, 0, 0, 0,
1716: 226, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1717: 0, 0, 0, 0, 0, 227, 0, 0, 0, 0,
1718: 0, 0, 0, 228, 229, 230, 0, 0, 0, 231,
1719: 232, 0, 0, 0, 0, 0, 0, 233, 0, 0,
1720: 0, 216, 630, 6, 0, 8, 402, 218, 214, 23,
1721: 219, 10, 0, 0, 0, 0, 0, 0, 0, 0,
1722: 0, 234, 235, 0, 0, 12, 220, 221, 222, 0,
1723: 223, 0, 13, 0, 224, 0, 0, 225, 15, 16,
1724: 0, 0, 0, 226, 0, 216, 130, 6, 0, 8,
1725: 402, 218, 214, 0, 219, 10, 0, 0, 227, 0,
1726: 0, 0, 0, 0, 0, 0, 228, 229, 230, 12,
1727: 220, 0, 231, 232, 223, 0, 13, 0, 224, 0,
1728: 233, 225, 15, 16, 0, 0, 0, 226, 0, 216,
1729: 130, 6, 23, 8, 402, 218, 214, 0, 219, 10,
1730: 0, 0, 227, 0, 234, 235, 0, 0, 0, 0,
1731: 228, 229, 230, 12, 220, 0, 231, 232, 223, 0,
1732: 13, 0, 224, 0, 403, 225, 15, 16, 0, 0,
1733: 0, 226, 0, 0, 0, 0, 23, 0, 0, 0,
1734: 0, 0, 0, 0, 0, 0, 227, 0, 234, 235,
1735: 0, 0, 0, 0, 228, 229, 230, 0, 0, 0,
1736: 231, 232, 0, 0, 0, 0, 0, 0, 407, 0,
1737: 0, 568, 160, 6, 161, 8, 162, 0, 0, 0,
1.1 root 1738: 23, 10, 0, 0, 0, 0, 0, 0, 0, 0,
1.1.1.2 root 1739: 0, 0, 234, 235, 0, 12, 0, 0, 0, 0,
1740: 0, 0, 13, 0, 0, 0, 0, 0, 15, 16,
1741: 0, 576, 0, 19, 147, 0, 570, 0, 0, 0,
1742: 0, 0, 571, 0, 0, 0, 0, 0, 148, 4,
1743: 130, 6, 7, 8, 9, 0, 0, 616, 149, 10,
1744: 0, 0, 0, 0, 0, 150, 0, 0, 0, 0,
1745: 577, 0, 0, 12, 0, 0, 0, 0, 0, 0,
1746: 13, 0, 23, 0, 0, 0, 15, 16, 0, 606,
1747: 0, 19, 607, 0, 27, 0, 0, 0, 0, 0,
1748: 0, 0, 0, 0, 0, 0, 608, 4, 130, 6,
1749: 7, 8, 9, 0, 0, 204, 609, 10, 0, 0,
1750: 0, 0, 0, 263, 0, 0, 0, 0, 610, 265,
1751: 0, 12, 0, 0, 0, 0, 0, 0, 13, 0,
1752: 23, 0, 0, 0, 15, 16, 0, 606, 0, 19,
1753: 0, 0, 27, 0, 0, 0, 0, 0, 0, 0,
1754: 0, 0, 0, 0, 608, 4, 160, 6, 161, 8,
1755: 162, 0, 0, 0, 609, 10, 0, 0, 0, 0,
1756: 0, 263, 0, 0, 0, 0, 610, 265, 0, 12,
1757: 0, 0, 0, 0, 0, 0, 13, 205, 23, 0,
1758: 0, 0, 15, 16, 0, 17, 0, 19, 147, 0,
1759: 27, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1760: 0, 0, 148, 4, 130, 6, 7, 8, 9, 0,
1761: 0, 204, 149, 10, 0, 0, 0, 0, 0, 150,
1762: 0, 0, 0, 0, 151, 0, 0, 12, 0, 0,
1763: 0, 0, 0, 0, 13, 0, 23, 0, 0, 0,
1764: 15, 16, 0, 17, 0, 19, 163, 0, 27, 0,
1765: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1766: 321, 4, 160, 6, 161, 8, 162, 0, 0, 0,
1767: 322, 10, 0, 0, 0, 0, 0, 323, 0, 0,
1768: 0, 0, 324, 0, 0, 12, 0, 0, 0, 0,
1769: 0, 0, 13, 205, 23, 0, 0, 0, 15, 16,
1770: 0, 17, 0, 19, 147, 0, 27, 0, 0, 0,
1771: 0, 0, 0, 0, 0, 0, 0, 0, 148, 0,
1772: 0, 0, 0, 0, 0, 0, 0, 0, 149, 4,
1773: 160, 6, 161, 8, 162, 150, 0, 0, 0, 10,
1774: 151, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1775: 0, 0, 23, 12, 0, 0, 0, 0, 0, 0,
1.1.1.3 ! root 1776: 13, 0, 1002, 0, 27, 0, 15, 16, 0, 17,
1.1.1.2 root 1777: 0, 19, 147, 0, 130, 6, 7, 8, 9, 0,
1778: 0, 204, 0, 10, 0, 0, 148, 0, 0, 71,
1779: 6, 0, 8, 270, 0, 0, 149, 12, 10, 0,
1780: 0, 0, 0, 150, 13, 0, 0, 0, 151, 0,
1781: 0, 16, 12, 259, 0, 0, 0, 0, 0, 13,
1782: 23, 0, 0, 0, 0, 0, 16, 0, 259, 0,
1783: 261, 260, 27, 0, 0, 0, 0, 0, 0, 0,
1784: 262, 0, 0, 0, 0, 261, 0, 263, 0, 0,
1785: 0, 0, 264, 265, 0, 262, 0, 0, 0, 0,
1786: 0, 0, 263, 205, 23, 0, 0, 264, 265, 0,
1787: 0, 0, 0, 0, 0, 426, 427, 428, 0, 23,
1.1 root 1788: 429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
1.1.1.2 root 1789: 439, 440, 441, 442, 443, 444, 445, 426, 427, 428,
1790: 0, 0, 429, 430, 431, 432, 433, 434, 435, 436,
1791: 437, 438, 439, 440, 441, 442, 443, 444, 445, 0,
1.1.1.3 ! root 1792: 0, 0, 0, 0, 0, 0, 0, 598, 0, 0,
! 1793: 0, 0, 963, 0, 0, 0, 0, 0, 0, 0,
! 1794: 0, 0, 0, 0, 0, 0, 0, 426, 427, 428,
! 1795: 756, 757, 429, 430, 431, 432, 433, 434, 435, 436,
! 1796: 437, 438, 439, 440, 441, 442, 443, 444, 445, -143,
! 1797: 426, 427, 428, 0, 0, 429, 430, 431, 432, 433,
! 1798: 434, 435, 436, 437, 438, 439, 440, 441, 442, 443,
! 1799: 444, 445, 426, 427, 428, 1122, 0, 429, 430, 431,
1.1.1.2 root 1800: 432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
1801: 442, 443, 444, 445, 426, 427, 428, 0, 0, 429,
1802: 430, 431, 432, 433, 434, 435, 436, 437, 438, 439,
1803: 440, 441, 442, 443, 444, 445, 428, 0, 0, 429,
1804: 430, 431, 432, 433, 434, 435, 436, 437, 438, 439,
1805: 440, 441, 442, 443, 444, 445, 430, 431, 432, 433,
1806: 434, 435, 436, 437, 438, 439, 440, 441, 442, 443,
1807: 444, 445, 431, 432, 433, 434, 435, 436, 437, 438,
1808: 439, 440, 441, 442, 443, 444, 445
1.1 root 1809: };
1810:
1811: static const short yycheck[] = { 1,
1.1.1.3 ! root 1812: 2, 265, 10, 140, 141, 356, 15, 67, 66, 17,
! 1813: 39, 106, 15, 15, 274, 593, 252, 299, 40, 564,
! 1814: 226, 274, 141, 151, 1, 2, 19, 40, 30, 139,
! 1815: 1023, 1024, 44, 891, 944, 893, 44, 39, 190, 227,
! 1816: 3, 4, 230, 884, 35, 10, 234, 329, 236, 709,
! 1817: 54, 1, 2, 111, 10, 10, 244, 10, 60, 35,
! 1818: 45, 147, 8, 43, 45, 67, 38, 39, 50, 26,
! 1819: 334, 50, 22, 43, 3, 36, 1, 2, 45, 1,
! 1820: 30, 50, 0, 41, 45, 24, 65, 54, 85, 39,
! 1821: 53, 49, 49, 10, 107, 92, 514, 54, 54, 67,
! 1822: 104, 11, 82, 83, 112, 30, 108, 3, 4, 15,
! 1823: 50, 40, 82, 83, 105, 54, 22, 125, 82, 104,
! 1824: 122, 103, 103, 103, 3, 4, 128, 49, 546, 105,
! 1825: 132, 94, 38, 103, 60, 60, 105, 390, 103, 85,
! 1826: 50, 104, 105, 165, 54, 1055, 92, 103, 103, 171,
! 1827: 103, 128, 165, 248, 60, 700, 251, 53, 171, 131,
! 1828: 132, 40, 314, 103, 43, 158, 116, 117, 118, 306,
! 1829: 307, 308, 260, 233, 219, 220, 264, 1018, 128, 1172,
! 1830: 1173, 1022, 227, 93, 844, 230, 103, 306, 307, 234,
! 1831: 192, 236, 303, 195, 50, 305, 324, 147, 94, 244,
! 1832: 202, 151, 108, 128, 212, 207, 82, 413, 104, 105,
! 1833: 116, 117, 118, 3, 4, 94, 34, 3, 4, 50,
! 1834: 197, 503, 60, 411, 49, 131, 490, 106, 50, 54,
! 1835: 466, 233, 70, 319, 320, 50, 249, 3, 4, 3,
! 1836: 4, 147, 192, 3, 4, 151, 268, 50, 104, 251,
! 1837: 200, 104, 105, 43, 40, 268, 50, 43, 271, 3,
! 1838: 4, 49, 264, 43, 82, 233, 54, 192, 174, 195,
! 1839: 195, 1129, 274, 104, 556, 50, 202, 202, 3, 104,
! 1840: 544, 103, 393, 420, 286, 49, 704, 135, 50, 301,
! 1841: 105, 197, 82, 301, 200, 873, 202, 875, 843, 43,
! 1842: 103, 207, 82, 83, 94, 153, 3, 4, 94, 286,
! 1843: 104, 3, 4, 64, 43, 337, 104, 377, 50, 167,
! 1844: 106, 1162, 64, 103, 337, 3, 4, 5, 94, 104,
! 1845: 94, 333, 750, 65, 94, 347, 286, 43, 49, 264,
! 1846: 246, 103, 364, 403, 762, 251, 50, 407, 40, 274,
! 1847: 94, 364, 354, 82, 356, 203, 53, 3, 4, 3,
! 1848: 6, 286, 3, 4, 5, 9, 411, 45, 274, 319,
! 1849: 320, 3, 4, 50, 324, 377, 82, 83, 50, 85,
! 1850: 21, 353, 354, 195, 54, 335, 92, 24, 390, 35,
! 1851: 398, 528, 480, 481, 64, 301, 456, 94, 104, 103,
! 1852: 368, 403, 94, 50, 45, 407, 356, 333, 333, 528,
! 1853: 50, 43, 49, 319, 320, 52, 94, 54, 324, 97,
! 1854: 50, 3, 4, 5, 330, 65, 103, 3, 4, 335,
! 1855: 6, 356, 104, 105, 45, 403, 386, 387, 698, 407,
! 1856: 390, 409, 410, 291, 572, 698, 43, 353, 94, 577,
! 1857: 50, 537, 538, 94, 456, 463, 97, 104, 50, 35,
! 1858: 428, 49, 94, 45, 105, 390, 50, 104, 54, 105,
! 1859: 492, 377, 7, 8, 104, 54, 50, 49, 13, 492,
! 1860: 386, 387, 670, 765, 496, 82, 454, 489, 496, 457,
! 1861: 50, 773, 304, 50, 43, 343, 498, 915, 10, 34,
! 1862: 1, 919, 26, 8, 104, 50, 41, 31, 43, 50,
! 1863: 358, 103, 94, 50, 522, 97, 524, 103, 94, 607,
! 1864: 104, 333, 610, 24, 103, 26, 50, 54, 52, 103,
! 1865: 31, 108, 50, 82, 83, 383, 8, 50, 43, 597,
! 1866: 43, 543, 43, 103, 50, 45, 103, 82, 49, 50,
! 1867: 456, 52, 564, 54, 103, 60, 50, 50, 103, 465,
! 1868: 3, 569, 103, 489, 489, 70, 103, 50, 576, 49,
! 1869: 572, 50, 77, 43, 54, 577, 927, 82, 83, 82,
! 1870: 104, 82, 83, 489, 85, 103, 50, 537, 538, 401,
! 1871: 103, 92, 54, 6, 7, 8, 43, 103, 606, 601,
! 1872: 13, 603, 98, 104, 387, 1, 2, 390, 610, 103,
! 1873: 103, 108, 82, 83, 622, 1193, 593, 543, 543, 1037,
! 1874: 103, 34, 572, 1, 103, 670, 22, 577, 41, 43,
! 1875: 43, 537, 538, 103, 30, 82, 83, 3, 52, 103,
! 1876: 828, 453, 38, 39, 43, 105, 572, 572, 734, 735,
! 1877: 43, 577, 577, 104, 105, 668, 103, 607, 667, 471,
! 1878: 610, 49, 748, 749, 667, 667, 54, 43, 82, 82,
! 1879: 36, 49, 50, 43, 40, 601, 601, 603, 603, 45,
! 1880: 104, 49, 82, 82, 83, 610, 54, 593, 700, 82,
! 1881: 83, 802, 803, 1111, 43, 1113, 698, 3, 4, 43,
! 1882: 712, 607, 8, 105, 712, 517, 82, 83, 43, 85,
! 1883: 798, 799, 82, 83, 43, 826, 92, 43, 26, 727,
! 1884: 116, 117, 118, 783, 103, 573, 728, 822, 823, 52,
! 1885: 578, 543, 128, 82, 40, 131, 132, 43, 82, 45,
! 1886: 752, 49, 853, 854, 3, 4, 54, 82, 836, 837,
! 1887: 82, 147, 82, 82, 60, 151, 82, 1039, 82, 7,
! 1888: 8, 667, 820, 43, 70, 13, 46, 615, 3, 4,
! 1889: 103, 77, 43, 698, 776, 50, 82, 83, 174, 10,
! 1890: 60, 783, 37, 828, 734, 735, 34, 103, 94, 601,
! 1891: 70, 603, 698, 41, 766, 43, 192, 77, 748, 749,
! 1892: 106, 197, 82, 83, 200, 40, 712, 815, 43, 1091,
! 1893: 45, 82, 70, 71, 72, 3, 43, 85, 104, 105,
! 1894: 931, 823, 49, 108, 92, 60, 776, 54, 734, 735,
! 1895: 43, 843, 45, 26, 82, 70, 104, 49, 6, 7,
! 1896: 8, 105, 748, 749, 1071, 13, 854, 82, 798, 799,
! 1897: 246, 776, 963, 665, 883, 82, 1120, 1121, 1085, 94,
! 1898: 766, 1088, 870, 108, 676, 873, 34, 85, 264, 82,
! 1899: 103, 106, 684, 41, 92, 104, 105, 783, 104, 105,
! 1900: 103, 883, 884, 104, 105, 3, 104, 50, 890, 891,
! 1901: 286, 893, 798, 799, 108, 897, 873, 865, 875, 54,
! 1902: 55, 869, 714, 82, 716, 301, 43, 1, 2, 877,
! 1903: 882, 883, 31, 761, 104, 105, 103, 823, 1029, 104,
! 1904: 105, 52, 770, 319, 320, 927, 104, 105, 324, 7,
! 1905: 8, 219, 220, 883, 330, 13, 30, 74, 75, 335,
! 1906: 50, 78, 1053, 80, 104, 82, 83, 897, 796, 103,
! 1907: 103, 103, 53, 43, 1065, 103, 34, 353, 354, 103,
! 1908: 356, 969, 108, 41, 34, 108, 60, 873, 104, 875,
! 1909: 60, 104, 897, 884, 976, 977, 882, 927, 104, 890,
! 1910: 70, 68, 69, 70, 71, 72, 33, 77, 104, 103,
! 1911: 386, 387, 82, 83, 390, 108, 103, 1108, 50, 1110,
! 1912: 54, 54, 927, 108, 52, 1013, 974, 82, 52, 977,
! 1913: 978, 1122, 52, 825, 122, 54, 1018, 105, 103, 103,
! 1914: 1022, 833, 103, 1081, 103, 108, 3, 4, 52, 6,
! 1915: 7, 8, 103, 82, 128, 1012, 108, 1, 103, 851,
! 1916: 108, 54, 54, 94, 54, 1053, 103, 3, 4, 108,
! 1917: 6, 7, 8, 103, 52, 1023, 1024, 34, 103, 82,
! 1918: 24, 103, 26, 1174, 105, 976, 103, 31, 103, 465,
! 1919: 103, 48, 49, 103, 54, 923, 1078, 82, 34, 43,
! 1920: 82, 1218, 1219, 82, 54, 49, 50, 195, 52, 104,
! 1921: 54, 8, 48, 49, 1096, 104, 49, 49, 192, 15,
! 1922: 1068, 195, 52, 104, 1241, 54, 1012, 1018, 202, 1077,
! 1923: 3, 1022, 50, 103, 103, 54, 82, 94, 82, 83,
! 1924: 104, 85, 99, 100, 101, 104, 104, 1129, 92, 104,
! 1925: 1132, 66, 67, 68, 69, 70, 71, 72, 94, 247,
! 1926: 104, 537, 538, 99, 100, 101, 82, 104, 52, 1209,
! 1927: 104, 82, 1000, 104, 83, 83, 1158, 1005, 105, 103,
! 1928: 1162, 1163, 16, 104, 49, 105, 103, 1078, 54, 103,
! 1929: 264, 104, 104, 52, 104, 50, 572, 104, 1180, 104,
! 1930: 274, 577, 103, 1185, 103, 1096, 1034, 3, 4, 10,
! 1931: 108, 82, 286, 108, 1042, 303, 304, 593, 104, 104,
! 1932: 89, 104, 9, 50, 1172, 1173, 82, 1209, 82, 103,
! 1933: 50, 607, 1220, 1181, 610, 103, 1193, 104, 9, 1221,
! 1934: 1222, 1132, 103, 103, 40, 333, 104, 43, 10, 45,
! 1935: 46, 103, 48, 104, 1202, 6, 7, 8, 54, 333,
! 1936: 103, 10, 13, 351, 60, 104, 0, 1158, 0, 2,
! 1937: 127, 1162, 1163, 698, 70, 128, 288, 139, 128, 712,
! 1938: 496, 77, 356, 34, 498, 751, 82, 977, 1055, 1180,
! 1939: 41, 271, 1084, 165, 1185, 1087, 882, 1116, 94, 815,
! 1940: 30, 24, 624, 26, 330, 393, 30, 1193, 31, 752,
! 1941: 106, 731, 897, 401, 776, 398, 390, 622, 354, 324,
! 1942: 729, 1019, 45, 1209, 1203, 1205, 49, 207, 783, 52,
! 1943: 1221, 1222, 1012, -1, 3, 4, 712, 425, 426, 427,
! 1944: -1, 429, 430, 431, 432, 433, 434, 435, 436, 437,
! 1945: 438, 439, 440, 441, 442, 443, 444, 445, 734, 735,
! 1946: 83, -1, 85, 1, 452, 453, -1, 43, -1, 92,
! 1947: -1, 40, 748, 749, 43, -1, 45, 46, -1, 48,
! 1948: -1, -1, 105, 471, -1, 54, 24, -1, 26, -1,
! 1949: 766, 60, -1, 31, -1, -1, -1, -1, 74, 75,
! 1950: 776, 70, 78, 79, 80, 81, 82, 83, 77, -1,
! 1951: 498, 49, 50, 82, 52, 489, 54, -1, -1, -1,
! 1952: -1, -1, 798, 799, -1, 94, -1, -1, -1, 517,
! 1953: -1, -1, -1, -1, -1, -1, 524, 106, -1, 1,
! 1954: 2, -1, -1, -1, 3, 4, -1, 85, -1, -1,
! 1955: -1, -1, -1, -1, 92, 543, -1, -1, -1, -1,
! 1956: 22, -1, -1, -1, -1, -1, 104, -1, 30, 543,
! 1957: 20, 21, -1, -1, -1, -1, 38, 39, -1, -1,
! 1958: -1, 40, 570, 571, 43, -1, 45, 46, -1, -1,
! 1959: -1, -1, -1, -1, -1, -1, -1, 873, 572, 875,
! 1960: -1, 60, -1, 577, 3, 4, 882, 883, 58, 8,
! 1961: -1, 70, -1, 601, -1, 603, -1, -1, 77, -1,
! 1962: -1, 897, -1, 82, -1, 75, -1, 601, -1, 603,
! 1963: -1, -1, -1, 621, -1, 94, 610, -1, -1, -1,
! 1964: -1, 40, -1, -1, 43, 104, 45, 106, 636, -1,
! 1965: -1, 927, -1, -1, 116, 117, 118, -1, -1, -1,
! 1966: -1, 60, -1, -1, 4, 5, 128, 7, 8, 131,
! 1967: 132, 70, -1, 13, -1, -1, -1, 665, 77, -1,
! 1968: -1, -1, -1, 82, -1, 147, -1, 27, 676, 151,
! 1969: -1, -1, -1, -1, 34, 94, 684, -1, 148, 149,
! 1970: -1, 41, -1, -1, -1, -1, -1, 106, 48, -1,
! 1971: -1, -1, 174, 1, -1, 3, 4, 5, 6, 7,
! 1972: 8, -1, -1, -1, 698, 13, 714, -1, 716, -1,
! 1973: 192, -1, 720, -1, -1, -1, 1012, -1, 200, 27,
! 1974: -1, -1, 82, -1, 194, -1, 34, 35, -1, -1,
! 1975: -1, 201, 40, 41, 94, 43, -1, 45, 4, 5,
! 1976: 6, 7, 8, -1, 226, -1, 54, 13, -1, -1,
! 1977: 758, -1, 60, -1, -1, -1, -1, -1, -1, -1,
! 1978: -1, 27, 70, -1, 246, -1, -1, -1, 34, -1,
! 1979: 252, -1, -1, -1, 82, 41, -1, -1, -1, -1,
! 1980: -1, -1, 776, -1, -1, -1, 94, 3, 4, 259,
! 1981: -1, 261, 262, -1, 802, 803, 104, 105, 106, -1,
! 1982: -1, -1, -1, -1, 286, -1, -1, 815, -1, 817,
! 1983: 4, 5, 6, 7, 8, -1, -1, 825, 826, 13,
! 1984: -1, -1, -1, -1, 40, 833, -1, 43, 94, 45,
! 1985: 46, -1, -1, 27, -1, -1, -1, 319, 320, -1,
! 1986: 34, -1, 324, 851, 60, 853, 854, 41, 330, -1,
! 1987: -1, 321, 322, 335, 70, -1, -1, -1, -1, 3,
! 1988: 4, 77, 332, -1, 8, -1, 82, 83, -1, -1,
! 1989: -1, 353, 354, -1, 356, -1, -1, -1, 94, 62,
1.1.1.2 root 1990: 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
1.1.1.3 ! root 1991: 106, -1, -1, -1, -1, -1, 40, 1193, -1, 43,
! 1992: 94, 45, -1, 897, 386, 387, -1, -1, 390, -1,
! 1993: -1, -1, -1, 921, 922, -1, 60, -1, 388, -1,
! 1994: -1, -1, -1, 931, -1, -1, 70, -1, -1, -1,
! 1995: -1, -1, -1, 927, -1, -1, -1, 1, 82, -1,
! 1996: 4, 5, -1, 7, 8, -1, -1, -1, -1, 13,
! 1997: 94, -1, -1, -1, -1, 963, -1, 965, -1, -1,
! 1998: -1, -1, 106, 27, -1, -1, -1, -1, -1, -1,
! 1999: 34, -1, 36, 37, -1, -1, -1, 41, 42, 43,
! 2000: 3, 4, -1, 465, 466, -1, 50, 51, 52, 53,
! 2001: -1, -1, 56, 57, 58, 59, 60, 61, 62, 63,
! 2002: 64, 65, 66, 67, 68, 69, 70, 71, 72, -1,
! 2003: 74, 75, -1, -1, 78, 79, -1, 40, 488, 83,
! 2004: 43, 1029, 45, 46, -1, -1, -1, -1, 1036, -1,
! 2005: 94, -1, -1, -1, -1, -1, -1, 60, -1, -1,
! 2006: -1, -1, 106, 107, -1, 1053, -1, 70, -1, -1,
! 2007: -1, -1, 3, 4, 77, 537, 538, 1065, -1, 82,
! 2008: -1, -1, -1, -1, -1, -1, -1, -1, -1, 539,
! 2009: 540, 94, 542, -1, -1, -1, 1084, -1, -1, 1087,
! 2010: -1, 104, -1, 106, 554, 555, -1, -1, -1, 40,
! 2011: 572, -1, 43, -1, 45, 577, -1, -1, -1, 569,
! 2012: 1108, -1, 1110, -1, -1, -1, 576, -1, -1, 60,
! 2013: -1, -1, -1, -1, 1122, 585, 586, 587, -1, 70,
! 2014: -1, -1, -1, -1, -1, 607, 77, -1, 610, -1,
! 2015: 600, 82, 602, -1, -1, 605, 606, -1, 608, 609,
! 2016: -1, -1, -1, 94, 63, 64, 65, 66, 67, 68,
! 2017: 69, 70, 71, 72, -1, 106, 1, -1, 3, 4,
! 2018: 5, 6, 7, 8, 9, 10, 1174, 12, 13, 14,
! 2019: 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
1.1.1.2 root 2020: 25, 26, 27, 28, 29, 30, -1, 32, -1, 34,
1.1.1.3 ! root 2021: -1, 36, 37, -1, 39, 40, 41, 679, 3, 4,
1.1.1.2 root 2022: 45, -1, -1, 48, 49, -1, -1, -1, -1, -1,
1.1.1.3 ! root 2023: -1, -1, -1, -1, -1, 60, -1, 687, 688, -1,
! 2024: -1, 691, -1, 68, 69, 70, -1, -1, -1, 74,
! 2025: 75, -1, -1, -1, -1, 40, -1, 82, 43, 84,
! 2026: 45, 86, 87, 88, -1, 90, 91, 92, -1, 94,
! 2027: -1, -1, 734, 735, -1, 60, -1, -1, -1, 104,
! 2028: 105, 106, 107, -1, -1, 70, 748, 749, -1, -1,
! 2029: -1, -1, 77, -1, 744, 745, 746, 82, 83, -1,
! 2030: -1, -1, 4, 5, 766, 7, 8, -1, -1, 94,
! 2031: -1, 13, -1, -1, 776, -1, -1, -1, -1, -1,
! 2032: -1, 106, -1, -1, -1, 27, -1, -1, -1, -1,
! 2033: -1, -1, 34, -1, -1, -1, 798, 799, -1, 41,
! 2034: -1, -1, -1, 1, -1, 3, 4, 5, 6, 7,
! 2035: 8, 9, 10, -1, 12, 13, 14, -1, 16, 17,
! 2036: 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
! 2037: 28, 29, 30, -1, 32, -1, 34, -1, 36, 37,
! 2038: -1, 39, 40, 41, -1, -1, -1, 45, -1, 839,
! 2039: 48, 49, 94, -1, -1, -1, -1, -1, -1, -1,
! 2040: -1, -1, 60, -1, -1, -1, -1, -1, -1, -1,
! 2041: 68, 69, 70, -1, -1, -1, 74, 75, -1, -1,
! 2042: 882, 883, -1, -1, 82, -1, 84, -1, -1, 87,
! 2043: -1, -1, 90, 91, 92, 897, 94, -1, -1, -1,
! 2044: -1, 4, 5, -1, 7, 8, 104, 105, 106, 107,
! 2045: 13, -1, 902, 903, 904, -1, -1, -1, -1, -1,
! 2046: -1, -1, -1, -1, 27, 927, -1, -1, 918, -1,
! 2047: -1, 34, -1, -1, -1, -1, 926, -1, 41, -1,
! 2048: -1, -1, 932, 933, 934, 935, 936, 937, 1, -1,
1.1 root 2049: 3, 4, 5, 6, 7, 8, 9, 10, -1, 12,
2050: 13, 14, -1, 16, 17, 18, 19, 20, 21, 22,
2051: 23, 24, 25, 26, 27, 28, 29, 30, -1, 32,
1.1.1.2 root 2052: -1, 34, -1, 36, 37, -1, 39, 40, 41, -1,
1.1.1.3 ! root 2053: -1, 94, 45, -1, -1, 48, 49, -1, -1, -1,
1.1.1.2 root 2054: -1, -1, -1, -1, -1, -1, -1, 60, -1, -1,
2055: -1, -1, -1, -1, -1, 68, 69, 70, -1, -1,
2056: -1, 74, 75, -1, -1, -1, -1, -1, -1, 82,
2057: -1, 84, -1, -1, 87, -1, -1, 90, 91, 92,
2058: -1, 94, -1, -1, -1, -1, -1, -1, -1, -1,
2059: -1, 104, 105, 106, 107, 1, -1, 3, 4, 5,
2060: 6, 7, 8, 9, 10, -1, 12, 13, 14, -1,
2061: 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
2062: 26, 27, 28, 29, 30, -1, 32, -1, 34, -1,
2063: 36, 37, -1, 39, 40, 41, -1, -1, -1, 45,
2064: -1, -1, 48, 49, -1, -1, -1, -1, -1, -1,
2065: -1, -1, -1, -1, 60, -1, -1, -1, -1, -1,
2066: -1, -1, 68, 69, 70, -1, -1, -1, 74, 75,
2067: -1, -1, -1, -1, -1, -1, 82, -1, 84, -1,
2068: -1, 87, -1, -1, 90, 91, 92, -1, 94, -1,
2069: -1, -1, -1, -1, -1, -1, -1, -1, 104, 105,
2070: 106, 107, 1, -1, 3, 4, 5, 6, 7, 8,
2071: 9, 10, -1, 12, 13, 14, -1, 16, 17, 18,
2072: 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
2073: 29, 30, -1, 32, -1, 34, -1, 36, 37, -1,
2074: 39, 40, 41, -1, -1, -1, 45, -1, -1, 48,
2075: 49, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2076: -1, 60, -1, -1, -1, -1, -1, -1, -1, 68,
2077: 69, 70, -1, -1, -1, 74, 75, -1, -1, -1,
2078: -1, -1, -1, 82, -1, 84, -1, -1, 87, -1,
2079: -1, 90, 91, 92, -1, 94, -1, -1, -1, -1,
1.1.1.3 ! root 2080: -1, -1, -1, -1, -1, 104, 105, 106, 107, 1,
1.1.1.2 root 2081: -1, 3, 4, 5, 6, 7, 8, 9, 10, -1,
2082: 12, 13, 14, -1, 16, 17, 18, 19, 20, 21,
2083: 22, 23, 24, 25, 26, 27, 28, 29, 30, -1,
2084: 32, -1, 34, -1, 36, 37, -1, 39, 40, 41,
2085: -1, -1, -1, 45, -1, -1, 48, 49, -1, -1,
2086: -1, -1, -1, -1, -1, -1, -1, -1, 60, -1,
2087: -1, -1, -1, -1, -1, -1, 68, 69, 70, -1,
2088: -1, -1, 74, 75, -1, -1, -1, -1, -1, -1,
2089: 82, -1, 84, -1, -1, 87, -1, -1, 90, 91,
1.1.1.3 ! root 2090: 92, -1, 94, -1, -1, -1, -1, -1, -1, -1,
! 2091: -1, -1, 104, 105, 106, 107, 1, -1, 3, 4,
! 2092: 5, 6, 7, 8, 9, 10, -1, 12, 13, 14,
! 2093: -1, 16, 17, 18, 19, 20, 21, 22, 23, 24,
! 2094: 25, 26, 27, 28, 29, 30, -1, 32, -1, 34,
! 2095: -1, 36, 37, -1, 39, 40, 41, -1, -1, -1,
! 2096: 45, -1, -1, 48, 49, -1, -1, -1, -1, -1,
! 2097: -1, -1, -1, -1, -1, 60, -1, -1, -1, -1,
! 2098: -1, -1, -1, 68, 69, 70, -1, -1, -1, 74,
! 2099: 75, -1, -1, -1, -1, -1, -1, 82, -1, 84,
! 2100: -1, -1, 87, -1, -1, 90, 91, 92, -1, 94,
! 2101: -1, -1, -1, -1, -1, -1, -1, -1, -1, 104,
! 2102: 105, 106, 107, 1, -1, 3, 4, 5, 6, 7,
! 2103: 8, 9, 10, -1, 12, 13, 14, -1, 16, 17,
! 2104: 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
1.1.1.2 root 2105: 28, 29, 30, -1, 32, -1, 34, -1, 36, 37,
1.1.1.3 ! root 2106: -1, 39, 40, 41, -1, -1, -1, 45, -1, -1,
! 2107: 48, 49, -1, -1, -1, -1, -1, -1, -1, -1,
! 2108: -1, -1, 60, -1, -1, -1, -1, -1, -1, -1,
1.1.1.2 root 2109: 68, 69, 70, -1, -1, -1, 74, 75, -1, -1,
1.1.1.3 ! root 2110: -1, -1, -1, -1, 82, -1, 84, -1, -1, 87,
! 2111: -1, -1, 90, 91, 92, -1, 94, -1, -1, -1,
! 2112: -1, -1, -1, -1, -1, -1, 104, -1, 106, 107,
1.1.1.2 root 2113: 1, -1, 3, 4, 5, 6, 7, 8, 9, 10,
1.1.1.3 ! root 2114: -1, 12, 13, 14, -1, 16, 17, 18, 19, 20,
! 2115: 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
1.1.1.2 root 2116: -1, 32, -1, 34, -1, 36, 37, -1, 39, 40,
1.1.1.3 ! root 2117: 41, -1, -1, -1, 45, -1, -1, 48, 49, -1,
! 2118: -1, -1, -1, -1, -1, -1, -1, -1, -1, 60,
1.1.1.2 root 2119: -1, -1, -1, -1, -1, -1, -1, 68, 69, 70,
2120: -1, -1, -1, 74, 75, -1, -1, -1, -1, -1,
1.1.1.3 ! root 2121: -1, 82, -1, 84, -1, -1, 87, -1, -1, 90,
! 2122: 91, 92, -1, 94, -1, -1, -1, -1, -1, -1,
! 2123: -1, -1, -1, 104, -1, 106, 107, 1, -1, 3,
1.1.1.2 root 2124: 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
1.1.1.3 ! root 2125: 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
! 2126: 70, 71, 72, 27, 28, 29, 30, -1, 32, -1,
1.1.1.2 root 2127: 34, -1, 36, 37, -1, 39, 40, 41, -1, -1,
1.1.1.3 ! root 2128: -1, 45, 51, 52, 53, -1, -1, 56, 57, 58,
! 2129: 59, 60, 61, 62, 63, 64, 60, 66, 67, 68,
! 2130: 69, 70, 71, 72, 68, 69, 70, -1, -1, -1,
1.1.1.2 root 2131: 74, 75, -1, -1, -1, -1, -1, -1, 82, -1,
2132: -1, -1, -1, -1, -1, -1, -1, -1, -1, 93,
2133: 94, -1, -1, -1, -1, -1, -1, -1, -1, 103,
2134: -1, -1, 106, 107, 1, -1, 3, 4, 5, 6,
1.1.1.3 ! root 2135: 7, 8, 9, 10, 11, 12, 13, 61, 62, 63,
! 2136: 64, 65, 66, 67, 68, 69, 70, 71, 72, -1,
1.1.1.2 root 2137: 27, 28, 29, 30, -1, 32, -1, 34, -1, 36,
1.1.1.3 ! root 2138: 37, -1, 39, 40, 41, -1, -1, -1, 45, 59,
! 2139: 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
! 2140: 70, 71, 72, 60, -1, -1, -1, -1, -1, -1,
1.1.1.2 root 2141: -1, 68, 69, 70, -1, -1, -1, 74, 75, -1,
2142: -1, -1, -1, -1, -1, 82, -1, -1, -1, -1,
2143: -1, -1, -1, -1, -1, -1, 93, 94, -1, -1,
2144: -1, -1, -1, -1, -1, -1, 103, -1, -1, 106,
2145: 107, 1, -1, 3, 4, 5, 6, 7, 8, 9,
2146: 10, 11, 12, 13, -1, -1, -1, -1, -1, -1,
1.1.1.3 ! root 2147: -1, -1, -1, -1, -1, -1, -1, 27, 28, 29,
1.1.1.2 root 2148: 30, -1, 32, -1, 34, -1, 36, 37, -1, 39,
2149: 40, 41, -1, -1, -1, 45, -1, -1, -1, -1,
1.1.1.3 ! root 2150: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! 2151: 60, -1, -1, -1, -1, -1, -1, -1, 68, 69,
! 2152: 70, -1, -1, -1, 74, 75, -1, -1, -1, -1,
! 2153: -1, -1, 82, -1, -1, -1, -1, -1, -1, -1,
! 2154: -1, -1, -1, 93, 94, -1, -1, -1, -1, -1,
! 2155: -1, -1, -1, 103, -1, -1, 106, 107, 1, -1,
! 2156: 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
! 2157: 13, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! 2158: -1, -1, -1, -1, 27, 28, 29, 30, -1, 32,
! 2159: -1, 34, -1, 36, 37, -1, 39, 40, 41, -1,
! 2160: -1, -1, 45, -1, -1, -1, -1, -1, -1, -1,
! 2161: -1, -1, -1, -1, -1, -1, -1, 60, -1, -1,
! 2162: -1, -1, -1, -1, -1, 68, 69, 70, -1, -1,
! 2163: -1, 74, 75, -1, -1, -1, -1, -1, -1, 82,
! 2164: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! 2165: 93, 94, -1, -1, -1, -1, -1, -1, -1, -1,
! 2166: 103, -1, -1, 106, 107, 1, -1, 3, 4, 5,
! 2167: 6, 7, 8, 9, 10, 11, 12, 13, -1, -1,
! 2168: -1, -1, -1, -1, -1, -1, 3, 4, -1, -1,
! 2169: -1, 27, 28, 29, 30, -1, 32, -1, 34, -1,
! 2170: 36, 37, -1, 39, 40, 41, -1, -1, -1, 45,
! 2171: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! 2172: -1, -1, -1, 40, 60, -1, 43, -1, 45, 46,
! 2173: -1, -1, 68, 69, 70, -1, -1, -1, 74, 75,
! 2174: -1, -1, -1, 60, -1, -1, 82, -1, -1, -1,
! 2175: -1, -1, -1, 70, -1, -1, -1, 93, 94, -1,
! 2176: 77, -1, -1, -1, -1, 82, -1, 103, -1, -1,
! 2177: 106, 107, 1, -1, 3, 4, 5, 94, 7, 8,
! 2178: 9, 10, -1, 12, 13, -1, -1, -1, -1, 106,
! 2179: -1, -1, -1, -1, -1, -1, -1, -1, 27, 28,
! 2180: 29, 30, -1, 32, -1, 34, -1, 36, 37, -1,
! 2181: 39, 40, 41, -1, -1, -1, 45, -1, -1, -1,
! 2182: 49, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! 2183: -1, 60, -1, -1, -1, -1, -1, -1, -1, 68,
! 2184: 69, 70, -1, -1, -1, 74, 75, -1, -1, -1,
! 2185: -1, -1, -1, 82, 83, 1, -1, 3, 4, 5,
! 2186: -1, 7, 8, 9, 10, 94, 12, 13, -1, -1,
! 2187: -1, -1, -1, -1, 20, -1, 105, 106, 107, -1,
! 2188: -1, 27, 28, 29, 30, -1, 32, -1, 34, -1,
! 2189: 36, 37, -1, 39, 40, 41, -1, -1, -1, 45,
! 2190: -1, -1, -1, 49, -1, -1, -1, -1, -1, -1,
! 2191: -1, -1, -1, -1, 60, -1, -1, -1, -1, -1,
! 2192: -1, -1, 68, 69, 70, -1, -1, -1, 74, 75,
! 2193: -1, -1, -1, -1, -1, -1, 82, -1, 1, -1,
! 2194: 3, 4, 5, 6, 7, 8, 9, 10, 94, 12,
! 2195: 13, -1, -1, -1, -1, -1, -1, -1, -1, 105,
! 2196: 106, 107, -1, -1, 27, 28, 29, 30, -1, 32,
1.1.1.2 root 2197: -1, 34, -1, 36, 37, -1, 39, 40, 41, -1,
2198: -1, -1, 45, -1, -1, -1, 49, -1, -1, -1,
2199: -1, -1, -1, -1, -1, -1, -1, 60, -1, -1,
1.1.1.3 ! root 2200: -1, -1, -1, -1, -1, 68, 69, 70, -1, -1,
! 2201: -1, 74, 75, -1, -1, -1, -1, -1, -1, 82,
! 2202: -1, 1, -1, 3, 4, 5, -1, 7, 8, 9,
1.1.1.2 root 2203: 10, 94, 12, 13, -1, -1, -1, -1, -1, -1,
1.1.1.3 ! root 2204: 20, 104, -1, 106, 107, -1, -1, 27, 28, 29,
1.1.1.2 root 2205: 30, -1, 32, -1, 34, -1, 36, 37, -1, 39,
2206: 40, 41, -1, -1, -1, 45, -1, -1, -1, 49,
1.1 root 2207: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1.1.1.2 root 2208: 60, -1, -1, -1, -1, -1, -1, -1, 68, 69,
2209: 70, -1, -1, -1, 74, 75, -1, -1, -1, -1,
1.1.1.3 ! root 2210: -1, -1, 82, -1, 1, -1, 3, 4, 5, -1,
1.1.1.2 root 2211: 7, 8, 9, 10, 94, 12, 13, -1, -1, -1,
2212: -1, -1, -1, -1, -1, 105, 106, 107, -1, -1,
2213: 27, 28, 29, 30, -1, 32, -1, 34, -1, 36,
2214: 37, -1, 39, 40, 41, -1, -1, -1, 45, -1,
2215: -1, -1, 49, -1, -1, -1, -1, -1, -1, -1,
2216: -1, -1, -1, 60, -1, -1, -1, -1, -1, -1,
2217: -1, 68, 69, 70, -1, -1, -1, 74, 75, -1,
1.1.1.3 ! root 2218: -1, -1, -1, -1, -1, 82, 83, 1, -1, 3,
1.1.1.2 root 2219: 4, 5, -1, 7, 8, 9, 10, 94, 12, 13,
1.1.1.3 ! root 2220: -1, -1, -1, -1, -1, -1, -1, -1, -1, 106,
1.1.1.2 root 2221: 107, -1, -1, 27, 28, 29, 30, -1, 32, -1,
2222: 34, -1, 36, 37, -1, 39, 40, 41, -1, -1,
2223: -1, 45, -1, -1, -1, 49, -1, -1, -1, -1,
2224: -1, -1, -1, -1, -1, -1, 60, -1, -1, -1,
2225: -1, -1, -1, -1, 68, 69, 70, -1, -1, -1,
2226: 74, 75, -1, -1, -1, -1, -1, -1, 82, -1,
2227: 1, -1, 3, 4, 5, -1, 7, 8, 9, 10,
2228: 94, 12, 13, -1, -1, -1, -1, -1, -1, -1,
1.1.1.3 ! root 2229: -1, -1, 106, 107, -1, -1, 27, 28, 29, 30,
1.1.1.2 root 2230: -1, 32, -1, 34, -1, 36, 37, -1, 39, 40,
2231: 41, -1, -1, -1, 45, -1, -1, -1, 49, -1,
2232: -1, -1, -1, -1, -1, -1, -1, -1, -1, 60,
2233: -1, -1, -1, -1, -1, -1, -1, 68, 69, 70,
2234: -1, -1, -1, 74, 75, -1, -1, -1, -1, -1,
1.1.1.3 ! root 2235: -1, 82, -1, 1, -1, 3, 4, 5, -1, 7,
1.1.1.2 root 2236: 8, 9, 10, 94, 12, 13, -1, -1, -1, -1,
2237: -1, -1, -1, -1, -1, 106, 107, -1, -1, 27,
2238: 28, 29, 30, -1, 32, -1, 34, -1, 36, 37,
2239: -1, 39, 40, 41, -1, -1, -1, 45, -1, -1,
1.1.1.3 ! root 2240: 4, 5, 6, 7, 8, -1, 54, 11, -1, 13,
1.1.1.2 root 2241: -1, -1, 60, -1, -1, -1, -1, -1, -1, -1,
1.1.1.3 ! root 2242: 68, 69, 70, 27, -1, -1, 74, 75, -1, -1,
! 2243: 34, -1, -1, -1, 82, -1, 1, 41, 3, 4,
1.1.1.2 root 2244: 5, -1, 7, 8, 9, 10, 94, 12, 13, -1,
2245: -1, -1, -1, -1, -1, -1, -1, -1, 106, 107,
1.1 root 2246: -1, -1, 27, 28, 29, 30, -1, 32, -1, 34,
1.1.1.2 root 2247: -1, 36, 37, -1, 39, 40, 41, -1, -1, -1,
1.1.1.3 ! root 2248: 45, -1, -1, -1, -1, -1, -1, -1, -1, 93,
! 2249: 94, -1, -1, -1, -1, 60, -1, -1, -1, -1,
1.1.1.2 root 2250: -1, -1, -1, 68, 69, 70, -1, -1, -1, 74,
2251: 75, -1, -1, -1, -1, -1, -1, 82, -1, 1,
2252: -1, 3, 4, 5, -1, 7, 8, 9, 10, 94,
1.1.1.3 ! root 2253: 12, 13, -1, -1, -1, -1, -1, -1, -1, 104,
1.1.1.2 root 2254: -1, 106, 107, -1, -1, 27, 28, 29, 30, -1,
2255: 32, -1, 34, -1, 36, 37, -1, 39, 40, 41,
2256: -1, -1, -1, 45, -1, -1, -1, -1, -1, -1,
1.1.1.3 ! root 2257: -1, -1, -1, -1, -1, -1, -1, -1, 60, -1,
1.1.1.2 root 2258: -1, -1, -1, -1, -1, -1, 68, 69, 70, -1,
2259: -1, -1, 74, 75, -1, -1, -1, -1, -1, -1,
2260: 82, -1, 1, -1, 3, 4, 5, -1, 7, 8,
2261: 9, 10, 94, 12, 13, -1, -1, -1, -1, -1,
1.1.1.3 ! root 2262: -1, 103, -1, -1, 106, 107, -1, -1, 27, 28,
1.1.1.2 root 2263: 29, 30, -1, 32, -1, 34, -1, 36, 37, -1,
2264: 39, 40, 41, -1, -1, -1, 45, -1, -1, -1,
1.1.1.3 ! root 2265: -1, -1, -1, -1, -1, -1, -1, -1, -1, 0,
! 2266: 1, 60, 3, 4, 5, 6, 7, 8, -1, 68,
! 2267: 69, 70, 13, -1, -1, 74, 75, -1, -1, -1,
! 2268: -1, -1, -1, 82, -1, 26, 27, -1, -1, -1,
! 2269: -1, -1, -1, 34, -1, 94, -1, 38, -1, 40,
! 2270: 41, -1, 43, 44, 45, -1, -1, 106, 107, -1,
! 2271: -1, -1, -1, -1, -1, -1, -1, -1, -1, 60,
! 2272: -1, -1, -1, -1, -1, -1, -1, -1, -1, 70,
! 2273: -1, -1, -1, 3, 4, 5, -1, 7, 8, 9,
! 2274: 10, 82, 12, 13, -1, -1, -1, -1, -1, -1,
! 2275: -1, -1, -1, 94, 95, 96, -1, 27, 28, 29,
! 2276: 30, -1, 32, 104, 34, 106, 36, -1, -1, 39,
! 2277: 40, 41, -1, -1, -1, 45, 1, -1, 3, 4,
! 2278: 5, 6, 7, 8, -1, -1, -1, -1, 13, -1,
! 2279: 60, -1, -1, -1, -1, -1, -1, -1, 68, 69,
! 2280: 70, 26, 27, -1, 74, 75, -1, -1, -1, 34,
! 2281: -1, -1, 82, 38, -1, 40, 41, -1, 43, 44,
! 2282: 45, -1, -1, -1, 94, -1, -1, -1, -1, -1,
! 2283: -1, -1, -1, -1, -1, 60, 106, 107, 108, -1,
! 2284: -1, -1, -1, -1, -1, 70, -1, -1, -1, 1,
! 2285: -1, 3, 4, 5, 6, 7, 8, 82, -1, -1,
! 2286: -1, 13, -1, -1, -1, -1, -1, -1, -1, 94,
! 2287: 95, 96, -1, -1, 26, 27, -1, -1, -1, 104,
! 2288: 105, 106, 34, -1, -1, -1, 38, -1, 40, 41,
! 2289: -1, 43, 44, 45, 1, -1, 3, 4, 5, 6,
! 2290: 7, 8, -1, -1, -1, -1, 13, -1, 60, -1,
! 2291: -1, -1, -1, -1, -1, -1, -1, -1, 70, -1,
! 2292: 27, -1, -1, -1, -1, -1, -1, 34, 35, -1,
! 2293: 82, -1, -1, 40, 41, -1, 43, -1, 45, -1,
! 2294: -1, -1, 94, 95, 96, -1, -1, 54, -1, -1,
! 2295: -1, -1, 104, 60, 106, -1, -1, -1, -1, -1,
! 2296: -1, -1, 1, 70, 3, 4, 5, 6, 7, 8,
! 2297: -1, -1, 3, 4, 13, 82, -1, -1, -1, -1,
! 2298: -1, -1, -1, -1, -1, -1, -1, 94, 27, -1,
! 2299: -1, -1, -1, -1, -1, 34, 35, 104, 105, 106,
! 2300: -1, 40, 41, -1, 43, -1, 45, -1, -1, 40,
! 2301: -1, -1, 43, -1, 45, 54, -1, -1, -1, -1,
! 2302: 1, 60, 3, 4, 5, 6, 7, 8, -1, 60,
! 2303: -1, 70, 13, -1, -1, -1, -1, -1, -1, 70,
! 2304: -1, -1, -1, 82, -1, -1, 27, -1, -1, -1,
! 2305: -1, 82, -1, 34, 35, 94, -1, -1, -1, 40,
! 2306: 41, -1, 43, 94, 45, -1, 105, 106, -1, -1,
! 2307: -1, -1, -1, 54, -1, 106, -1, -1, 1, 60,
! 2308: 3, 4, 5, 6, 7, 8, -1, -1, -1, 70,
! 2309: 13, -1, -1, -1, -1, -1, -1, -1, -1, -1,
! 2310: -1, 82, -1, -1, 27, -1, -1, -1, -1, -1,
! 2311: -1, 34, -1, 94, -1, -1, -1, 40, 41, -1,
! 2312: 43, -1, 45, -1, 105, 106, -1, -1, -1, -1,
! 2313: -1, -1, -1, -1, -1, -1, 1, 60, 3, 4,
! 2314: 5, 6, 7, 8, -1, -1, -1, 70, 13, -1,
! 2315: -1, -1, -1, -1, -1, -1, -1, -1, -1, 82,
! 2316: -1, -1, 27, -1, -1, -1, -1, -1, -1, 34,
! 2317: -1, 94, 95, -1, -1, 40, 41, -1, 43, -1,
! 2318: 45, 104, -1, 106, -1, -1, -1, -1, -1, -1,
! 2319: -1, -1, -1, -1, -1, 60, -1, -1, -1, -1,
! 2320: -1, -1, -1, -1, -1, 70, -1, -1, -1, -1,
! 2321: -1, -1, -1, -1, -1, -1, -1, 82, -1, -1,
! 2322: -1, -1, -1, -1, -1, -1, -1, -1, -1, 94,
! 2323: -1, -1, -1, 3, 4, 5, 6, 7, 8, 9,
! 2324: 10, 106, 12, 13, 14, -1, 16, 17, 18, 19,
1.1.1.2 root 2325: 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
2326: 30, -1, 32, -1, 34, -1, 36, -1, -1, 39,
2327: 40, 41, -1, -1, -1, 45, -1, -1, 48, 49,
1.1 root 2328: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1.1.1.2 root 2329: 60, -1, -1, -1, -1, -1, -1, -1, 68, 69,
2330: 70, -1, -1, -1, 74, 75, -1, -1, -1, -1,
2331: -1, -1, 82, -1, 84, -1, -1, 87, -1, -1,
2332: 90, 91, 92, -1, 94, -1, -1, -1, -1, -1,
2333: -1, -1, -1, -1, 104, 105, 106, 107, 3, 4,
1.1 root 2334: 5, 6, 7, 8, 9, 10, -1, 12, 13, 14,
2335: -1, 16, 17, 18, 19, 20, 21, 22, 23, 24,
2336: 25, 26, 27, 28, 29, 30, -1, 32, -1, 34,
1.1.1.2 root 2337: -1, 36, -1, -1, 39, 40, 41, -1, -1, -1,
2338: 45, -1, -1, 48, 49, -1, -1, -1, -1, -1,
2339: -1, -1, -1, -1, -1, 60, -1, -1, 3, 4,
2340: -1, -1, -1, 68, 69, 70, -1, -1, -1, 74,
2341: 75, -1, -1, -1, -1, -1, -1, 82, -1, 84,
2342: -1, -1, 87, -1, -1, 90, 91, 92, -1, 94,
2343: -1, -1, -1, -1, -1, 40, -1, -1, 43, 104,
2344: 45, 106, 107, 3, 4, 5, -1, 7, 8, 9,
2345: 10, -1, 12, 13, -1, 60, -1, -1, -1, -1,
2346: -1, -1, -1, -1, -1, 70, -1, 27, 28, 29,
2347: 30, -1, 32, -1, 34, -1, 36, 82, -1, 39,
2348: 40, 41, -1, -1, -1, 45, -1, -1, -1, 94,
2349: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2350: 60, 106, -1, 3, 4, -1, -1, -1, 68, 69,
2351: 70, -1, -1, -1, 74, 75, -1, -1, -1, -1,
2352: -1, -1, 82, 83, -1, -1, 3, 4, 5, -1,
2353: 7, 8, 9, 10, 94, 12, 13, -1, -1, -1,
2354: 40, -1, -1, 43, -1, 45, 106, 107, -1, -1,
2355: 27, 28, 29, 30, -1, 32, -1, 34, -1, 36,
2356: 60, -1, 39, 40, 41, -1, -1, -1, 45, -1,
2357: 70, -1, 49, -1, -1, -1, -1, 77, -1, -1,
2358: -1, -1, 82, 60, -1, -1, 3, 4, -1, -1,
2359: -1, 68, 69, 70, 94, -1, -1, 74, 75, -1,
2360: -1, -1, -1, -1, -1, 82, 106, -1, -1, 3,
2361: 4, 5, -1, 7, 8, 9, 10, 94, 12, 13,
2362: -1, -1, -1, 40, -1, -1, 43, -1, 45, 106,
2363: 107, -1, -1, 27, 28, 29, 30, -1, 32, -1,
2364: 34, -1, 36, 60, -1, 39, 40, 41, -1, -1,
2365: -1, 45, -1, 70, -1, -1, -1, -1, -1, -1,
1.1.1.3 ! root 2366: 77, -1, -1, -1, -1, 82, 60, -1, -1, -1,
! 2367: -1, -1, -1, -1, 68, 69, 70, 94, -1, -1,
1.1.1.2 root 2368: 74, 75, -1, -1, -1, -1, -1, -1, 82, 106,
2369: -1, -1, 3, 4, 5, -1, 7, 8, 9, 10,
1.1.1.3 ! root 2370: 94, 12, 13, -1, -1, -1, -1, -1, -1, -1,
! 2371: 104, -1, 106, 107, -1, -1, 27, 28, 29, 30,
! 2372: -1, 32, -1, 34, -1, 36, -1, -1, 39, 40,
! 2373: 41, -1, -1, -1, 45, -1, -1, -1, -1, -1,
! 2374: -1, -1, -1, -1, -1, -1, -1, -1, -1, 60,
1.1.1.2 root 2375: -1, -1, -1, -1, -1, -1, -1, 68, 69, 70,
1.1.1.3 ! root 2376: -1, -1, -1, 74, 75, -1, -1, -1, -1, -1,
! 2377: -1, 82, -1, -1, -1, 3, 4, 5, -1, 7,
1.1.1.2 root 2378: 8, 9, 10, 94, 12, 13, -1, -1, -1, -1,
2379: -1, -1, -1, 104, -1, 106, 107, -1, -1, 27,
2380: 28, 29, 30, -1, 32, -1, 34, -1, 36, -1,
2381: -1, 39, 40, 41, -1, -1, -1, 45, -1, -1,
2382: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2383: -1, -1, 60, -1, -1, -1, -1, -1, -1, -1,
2384: 68, 69, 70, -1, -1, -1, 74, 75, -1, -1,
2385: -1, -1, -1, -1, 82, -1, -1, -1, 3, 4,
2386: 5, -1, 7, 8, 9, 10, 94, 12, 13, -1,
2387: -1, -1, -1, -1, -1, -1, -1, -1, 106, 107,
1.1 root 2388: -1, -1, 27, 28, 29, 30, -1, 32, -1, 34,
1.1.1.2 root 2389: -1, 36, -1, -1, 39, 40, 41, -1, -1, -1,
2390: 45, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2391: -1, -1, -1, -1, -1, 60, -1, -1, -1, -1,
2392: -1, -1, -1, 68, 69, 70, -1, -1, -1, 74,
2393: 75, -1, -1, -1, -1, -1, -1, 82, -1, -1,
2394: -1, 3, 4, 5, -1, 7, 8, 9, 10, 94,
2395: 12, 13, -1, -1, -1, -1, -1, -1, -1, -1,
2396: -1, 106, 107, -1, -1, 27, 28, 29, 30, -1,
2397: 32, -1, 34, -1, 36, -1, -1, 39, 40, 41,
2398: -1, -1, -1, 45, -1, 3, 4, 5, -1, 7,
2399: 8, 9, 10, -1, 12, 13, -1, -1, 60, -1,
2400: -1, -1, -1, -1, -1, -1, 68, 69, 70, 27,
2401: 28, -1, 74, 75, 32, -1, 34, -1, 36, -1,
2402: 82, 39, 40, 41, -1, -1, -1, 45, -1, 3,
2403: 4, 5, 94, 7, 8, 9, 10, -1, 12, 13,
2404: -1, -1, 60, -1, 106, 107, -1, -1, -1, -1,
2405: 68, 69, 70, 27, 28, -1, 74, 75, 32, -1,
2406: 34, -1, 36, -1, 82, 39, 40, 41, -1, -1,
2407: -1, 45, -1, -1, -1, -1, 94, -1, -1, -1,
2408: -1, -1, -1, -1, -1, -1, 60, -1, 106, 107,
2409: -1, -1, -1, -1, 68, 69, 70, -1, -1, -1,
2410: 74, 75, -1, -1, -1, -1, -1, -1, 82, -1,
2411: -1, 3, 4, 5, 6, 7, 8, -1, -1, -1,
2412: 94, 13, -1, -1, -1, -1, -1, -1, -1, -1,
2413: -1, -1, 106, 107, -1, 27, -1, -1, -1, -1,
2414: -1, -1, 34, -1, -1, -1, -1, -1, 40, 41,
2415: -1, 43, -1, 45, 46, -1, 48, -1, -1, -1,
2416: -1, -1, 54, -1, -1, -1, -1, -1, 60, 3,
2417: 4, 5, 6, 7, 8, -1, -1, 11, 70, 13,
2418: -1, -1, -1, -1, -1, 77, -1, -1, -1, -1,
2419: 82, -1, -1, 27, -1, -1, -1, -1, -1, -1,
2420: 34, -1, 94, -1, -1, -1, 40, 41, -1, 43,
2421: -1, 45, 46, -1, 106, -1, -1, -1, -1, -1,
2422: -1, -1, -1, -1, -1, -1, 60, 3, 4, 5,
2423: 6, 7, 8, -1, -1, 11, 70, 13, -1, -1,
2424: -1, -1, -1, 77, -1, -1, -1, -1, 82, 83,
2425: -1, 27, -1, -1, -1, -1, -1, -1, 34, -1,
2426: 94, -1, -1, -1, 40, 41, -1, 43, -1, 45,
2427: -1, -1, 106, -1, -1, -1, -1, -1, -1, -1,
2428: -1, -1, -1, -1, 60, 3, 4, 5, 6, 7,
2429: 8, -1, -1, -1, 70, 13, -1, -1, -1, -1,
2430: -1, 77, -1, -1, -1, -1, 82, 83, -1, 27,
2431: -1, -1, -1, -1, -1, -1, 34, 93, 94, -1,
2432: -1, -1, 40, 41, -1, 43, -1, 45, 46, -1,
2433: 106, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2434: -1, -1, 60, 3, 4, 5, 6, 7, 8, -1,
2435: -1, 11, 70, 13, -1, -1, -1, -1, -1, 77,
2436: -1, -1, -1, -1, 82, -1, -1, 27, -1, -1,
2437: -1, -1, -1, -1, 34, -1, 94, -1, -1, -1,
2438: 40, 41, -1, 43, -1, 45, 104, -1, 106, -1,
1.1 root 2439: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1.1.1.2 root 2440: 60, 3, 4, 5, 6, 7, 8, -1, -1, -1,
2441: 70, 13, -1, -1, -1, -1, -1, 77, -1, -1,
2442: -1, -1, 82, -1, -1, 27, -1, -1, -1, -1,
2443: -1, -1, 34, 93, 94, -1, -1, -1, 40, 41,
2444: -1, 43, -1, 45, 46, -1, 106, -1, -1, -1,
2445: -1, -1, -1, -1, -1, -1, -1, -1, 60, -1,
2446: -1, -1, -1, -1, -1, -1, -1, -1, 70, 3,
2447: 4, 5, 6, 7, 8, 77, -1, -1, -1, 13,
2448: 82, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2449: -1, -1, 94, 27, -1, -1, -1, -1, -1, -1,
2450: 34, -1, 104, -1, 106, -1, 40, 41, -1, 43,
2451: -1, 45, 46, -1, 4, 5, 6, 7, 8, -1,
2452: -1, 11, -1, 13, -1, -1, 60, -1, -1, 4,
2453: 5, -1, 7, 8, -1, -1, 70, 27, 13, -1,
2454: -1, -1, -1, 77, 34, -1, -1, -1, 82, -1,
2455: -1, 41, 27, 43, -1, -1, -1, -1, -1, 34,
2456: 94, -1, -1, -1, -1, -1, 41, -1, 43, -1,
2457: 60, 46, 106, -1, -1, -1, -1, -1, -1, -1,
2458: 70, -1, -1, -1, -1, 60, -1, 77, -1, -1,
2459: -1, -1, 82, 83, -1, 70, -1, -1, -1, -1,
2460: -1, -1, 77, 93, 94, -1, -1, 82, 83, -1,
2461: -1, -1, -1, -1, -1, 51, 52, 53, -1, 94,
1.1 root 2462: 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
1.1.1.2 root 2463: 66, 67, 68, 69, 70, 71, 72, 51, 52, 53,
2464: -1, -1, 56, 57, 58, 59, 60, 61, 62, 63,
2465: 64, 65, 66, 67, 68, 69, 70, 71, 72, -1,
1.1.1.3 ! root 2466: -1, -1, -1, -1, -1, -1, -1, 31, -1, -1,
! 2467: -1, -1, 108, -1, -1, -1, -1, -1, -1, -1,
! 2468: -1, -1, -1, -1, -1, -1, -1, 51, 52, 53,
! 2469: 104, 105, 56, 57, 58, 59, 60, 61, 62, 63,
! 2470: 64, 65, 66, 67, 68, 69, 70, 71, 72, 50,
! 2471: 51, 52, 53, -1, -1, 56, 57, 58, 59, 60,
! 2472: 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
! 2473: 71, 72, 51, 52, 53, 54, -1, 56, 57, 58,
1.1 root 2474: 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
1.1.1.2 root 2475: 69, 70, 71, 72, 51, 52, 53, -1, -1, 56,
2476: 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
2477: 67, 68, 69, 70, 71, 72, 53, -1, -1, 56,
2478: 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
2479: 67, 68, 69, 70, 71, 72, 57, 58, 59, 60,
2480: 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
2481: 71, 72, 58, 59, 60, 61, 62, 63, 64, 65,
2482: 66, 67, 68, 69, 70, 71, 72
1.1 root 2483: };
2484: /* -*-C-*- Note some compilers choke on comments on `#line' lines. */
2485: #line 3 "bison.simple"
2486:
2487: /* Skeleton output parser for bison,
2488: Copyright (C) 1984, 1989, 1990 Bob Corbett and Richard Stallman
2489:
2490: This program is free software; you can redistribute it and/or modify
2491: it under the terms of the GNU General Public License as published by
2492: the Free Software Foundation; either version 1, or (at your option)
2493: any later version.
2494:
2495: This program is distributed in the hope that it will be useful,
2496: but WITHOUT ANY WARRANTY; without even the implied warranty of
2497: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2498: GNU General Public License for more details.
2499:
2500: You should have received a copy of the GNU General Public License
2501: along with this program; if not, write to the Free Software
2502: Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
2503:
2504:
2505: #ifndef alloca
2506: #ifdef __GNUC__
2507: #define alloca __builtin_alloca
2508: #else /* not GNU C. */
2509: #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__)
2510: #include <alloca.h>
2511: #else /* not sparc */
2512: #if defined (MSDOS) && !defined (__TURBOC__)
2513: #include <malloc.h>
2514: #else /* not MSDOS, or __TURBOC__ */
2515: #if defined(_AIX)
2516: #include <malloc.h>
1.1.1.3 ! root 2517: #pragma alloca
1.1 root 2518: #endif /* not _AIX */
2519: #endif /* not MSDOS, or __TURBOC__ */
2520: #endif /* not sparc. */
2521: #endif /* not GNU C. */
2522: #endif /* alloca not defined. */
2523:
2524: /* This is the parser code that is written into each bison parser
2525: when the %semantic_parser declaration is not specified in the grammar.
2526: It was written by Richard Stallman by simplifying the hairy parser
2527: used when %semantic_parser is specified. */
2528:
2529: /* Note: there must be only one dollar sign in this file.
2530: It is replaced by the list of actions, each action
2531: as one case of the switch. */
2532:
2533: #define yyerrok (yyerrstatus = 0)
2534: #define yyclearin (yychar = YYEMPTY)
2535: #define YYEMPTY -2
2536: #define YYEOF 0
2537: #define YYACCEPT return(0)
2538: #define YYABORT return(1)
2539: #define YYERROR goto yyerrlab1
2540: /* Like YYERROR except do call yyerror.
2541: This remains here temporarily to ease the
2542: transition to the new meaning of YYERROR, for GCC.
2543: Once GCC version 2 has supplanted version 1, this can go. */
2544: #define YYFAIL goto yyerrlab
2545: #define YYRECOVERING() (!!yyerrstatus)
2546: #define YYBACKUP(token, value) \
2547: do \
2548: if (yychar == YYEMPTY && yylen == 1) \
2549: { yychar = (token), yylval = (value); \
2550: yychar1 = YYTRANSLATE (yychar); \
2551: YYPOPSTACK; \
2552: goto yybackup; \
2553: } \
2554: else \
2555: { yyerror ("syntax error: cannot back up"); YYERROR; } \
2556: while (0)
2557:
2558: #define YYTERROR 1
2559: #define YYERRCODE 256
2560:
2561: #ifndef YYPURE
2562: #define YYLEX yylex()
2563: #endif
2564:
2565: #ifdef YYPURE
2566: #ifdef YYLSP_NEEDED
2567: #define YYLEX yylex(&yylval, &yylloc)
2568: #else
2569: #define YYLEX yylex(&yylval)
2570: #endif
2571: #endif
2572:
2573: /* If nonreentrant, generate the variables here */
2574:
2575: #ifndef YYPURE
2576:
2577: int yychar; /* the lookahead symbol */
2578: YYSTYPE yylval; /* the semantic value of the */
2579: /* lookahead symbol */
2580:
2581: #ifdef YYLSP_NEEDED
2582: YYLTYPE yylloc; /* location data for the lookahead */
2583: /* symbol */
2584: #endif
2585:
2586: int yynerrs; /* number of parse errors so far */
2587: #endif /* not YYPURE */
2588:
2589: #if YYDEBUG != 0
2590: int yydebug; /* nonzero means print parse trace */
2591: /* Since this is uninitialized, it does not stop multiple parsers
2592: from coexisting. */
2593: #endif
2594:
2595: /* YYINITDEPTH indicates the initial size of the parser's stacks */
2596:
2597: #ifndef YYINITDEPTH
2598: #define YYINITDEPTH 200
2599: #endif
2600:
2601: /* YYMAXDEPTH is the maximum size the stacks can grow to
2602: (effective only if the built-in stack extension method is used). */
2603:
2604: #if YYMAXDEPTH == 0
2605: #undef YYMAXDEPTH
2606: #endif
2607:
2608: #ifndef YYMAXDEPTH
2609: #define YYMAXDEPTH 10000
2610: #endif
2611:
2612: #if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
2613: #define __yy_bcopy(FROM,TO,COUNT) __builtin_memcpy(TO,FROM,COUNT)
2614: #else /* not GNU C or C++ */
2615: #ifndef __cplusplus
2616:
2617: /* This is the most reliable way to avoid incompatibilities
2618: in available built-in functions on various systems. */
2619: static void
2620: __yy_bcopy (from, to, count)
2621: char *from;
2622: char *to;
2623: int count;
2624: {
2625: register char *f = from;
2626: register char *t = to;
2627: register int i = count;
2628:
2629: while (i-- > 0)
2630: *t++ = *f++;
2631: }
2632:
2633: #else /* __cplusplus */
2634:
2635: /* This is the most reliable way to avoid incompatibilities
2636: in available built-in functions on various systems. */
2637: static void
2638: __yy_bcopy (char *from, char *to, int count)
2639: {
2640: register char *f = from;
2641: register char *t = to;
2642: register int i = count;
2643:
2644: while (i-- > 0)
2645: *t++ = *f++;
2646: }
2647:
2648: #endif
2649: #endif
2650:
2651: #line 169 "bison.simple"
2652: int
2653: yyparse()
2654: {
2655: register int yystate;
2656: register int yyn;
2657: register short *yyssp;
2658: register YYSTYPE *yyvsp;
2659: int yyerrstatus; /* number of tokens to shift before error messages enabled */
2660: int yychar1; /* lookahead token as an internal (translated) token number */
2661:
2662: short yyssa[YYINITDEPTH]; /* the state stack */
2663: YYSTYPE yyvsa[YYINITDEPTH]; /* the semantic value stack */
2664:
2665: short *yyss = yyssa; /* refer to the stacks thru separate pointers */
2666: YYSTYPE *yyvs = yyvsa; /* to allow yyoverflow to reallocate them elsewhere */
2667:
2668: #ifdef YYLSP_NEEDED
2669: YYLTYPE yylsa[YYINITDEPTH]; /* the location stack */
2670: YYLTYPE *yyls = yylsa;
2671: YYLTYPE *yylsp;
2672:
1.1.1.3 ! root 2673: #define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
1.1 root 2674: #else
1.1.1.3 ! root 2675: #define YYPOPSTACK (yyvsp--, yyssp--)
1.1 root 2676: #endif
2677:
2678: int yystacksize = YYINITDEPTH;
2679:
2680: #ifdef YYPURE
2681: int yychar;
2682: YYSTYPE yylval;
2683: int yynerrs;
2684: #ifdef YYLSP_NEEDED
2685: YYLTYPE yylloc;
2686: #endif
2687: #endif
2688:
2689: YYSTYPE yyval; /* the variable used to return */
2690: /* semantic values from the action */
2691: /* routines */
2692:
2693: int yylen;
2694:
2695: #if YYDEBUG != 0
2696: if (yydebug)
2697: fprintf(stderr, "Starting parse\n");
2698: #endif
2699:
2700: yystate = 0;
2701: yyerrstatus = 0;
2702: yynerrs = 0;
2703: yychar = YYEMPTY; /* Cause a token to be read. */
2704:
2705: /* Initialize stack pointers.
2706: Waste one element of value and location stack
2707: so that they stay on the same level as the state stack. */
2708:
2709: yyssp = yyss - 1;
2710: yyvsp = yyvs;
2711: #ifdef YYLSP_NEEDED
2712: yylsp = yyls;
2713: #endif
2714:
2715: /* Push a new state, which is found in yystate . */
2716: /* In all cases, when you get here, the value and location stacks
2717: have just been pushed. so pushing a state here evens the stacks. */
2718: yynewstate:
2719:
2720: *++yyssp = yystate;
2721:
2722: if (yyssp >= yyss + yystacksize - 1)
2723: {
2724: /* Give user a chance to reallocate the stack */
2725: /* Use copies of these so that the &'s don't force the real ones into memory. */
2726: YYSTYPE *yyvs1 = yyvs;
2727: short *yyss1 = yyss;
2728: #ifdef YYLSP_NEEDED
2729: YYLTYPE *yyls1 = yyls;
2730: #endif
2731:
2732: /* Get the current used size of the three stacks, in elements. */
2733: int size = yyssp - yyss + 1;
2734:
2735: #ifdef yyoverflow
2736: /* Each stack pointer address is followed by the size of
2737: the data in use in that stack, in bytes. */
2738: yyoverflow("parser stack overflow",
2739: &yyss1, size * sizeof (*yyssp),
2740: &yyvs1, size * sizeof (*yyvsp),
2741: #ifdef YYLSP_NEEDED
2742: &yyls1, size * sizeof (*yylsp),
2743: #endif
2744: &yystacksize);
2745:
2746: yyss = yyss1; yyvs = yyvs1;
2747: #ifdef YYLSP_NEEDED
2748: yyls = yyls1;
2749: #endif
2750: #else /* no yyoverflow */
2751: /* Extend the stack our own way. */
2752: if (yystacksize >= YYMAXDEPTH)
2753: {
2754: yyerror("parser stack overflow");
2755: return 2;
2756: }
2757: yystacksize *= 2;
2758: if (yystacksize > YYMAXDEPTH)
2759: yystacksize = YYMAXDEPTH;
2760: yyss = (short *) alloca (yystacksize * sizeof (*yyssp));
2761: __yy_bcopy ((char *)yyss1, (char *)yyss, size * sizeof (*yyssp));
2762: yyvs = (YYSTYPE *) alloca (yystacksize * sizeof (*yyvsp));
2763: __yy_bcopy ((char *)yyvs1, (char *)yyvs, size * sizeof (*yyvsp));
2764: #ifdef YYLSP_NEEDED
2765: yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp));
2766: __yy_bcopy ((char *)yyls1, (char *)yyls, size * sizeof (*yylsp));
2767: #endif
2768: #endif /* no yyoverflow */
2769:
2770: yyssp = yyss + size - 1;
2771: yyvsp = yyvs + size - 1;
2772: #ifdef YYLSP_NEEDED
2773: yylsp = yyls + size - 1;
2774: #endif
2775:
2776: #if YYDEBUG != 0
2777: if (yydebug)
2778: fprintf(stderr, "Stack size increased to %d\n", yystacksize);
2779: #endif
2780:
2781: if (yyssp >= yyss + yystacksize - 1)
2782: YYABORT;
2783: }
2784:
2785: #if YYDEBUG != 0
2786: if (yydebug)
2787: fprintf(stderr, "Entering state %d\n", yystate);
2788: #endif
2789:
2790: yybackup:
2791:
2792: /* Do appropriate processing given the current state. */
2793: /* Read a lookahead token if we need one and don't already have one. */
2794: /* yyresume: */
2795:
2796: /* First try to decide what to do without reference to lookahead token. */
2797:
2798: yyn = yypact[yystate];
2799: if (yyn == YYFLAG)
2800: goto yydefault;
2801:
2802: /* Not known => get a lookahead token if don't already have one. */
2803:
2804: /* yychar is either YYEMPTY or YYEOF
2805: or a valid token in external form. */
2806:
2807: if (yychar == YYEMPTY)
2808: {
2809: #if YYDEBUG != 0
2810: if (yydebug)
2811: fprintf(stderr, "Reading a token: ");
2812: #endif
2813: yychar = YYLEX;
2814: }
2815:
2816: /* Convert token to internal form (in yychar1) for indexing tables with */
2817:
2818: if (yychar <= 0) /* This means end of input. */
2819: {
2820: yychar1 = 0;
2821: yychar = YYEOF; /* Don't call YYLEX any more */
2822:
2823: #if YYDEBUG != 0
2824: if (yydebug)
2825: fprintf(stderr, "Now at end of input.\n");
2826: #endif
2827: }
2828: else
2829: {
2830: yychar1 = YYTRANSLATE(yychar);
2831:
2832: #if YYDEBUG != 0
2833: if (yydebug)
2834: {
2835: fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
2836: /* Give the individual parser a way to print the precise meaning
2837: of a token, for further debugging info. */
2838: #ifdef YYPRINT
2839: YYPRINT (stderr, yychar, yylval);
2840: #endif
2841: fprintf (stderr, ")\n");
2842: }
2843: #endif
2844: }
2845:
2846: yyn += yychar1;
2847: if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
2848: goto yydefault;
2849:
2850: yyn = yytable[yyn];
2851:
2852: /* yyn is what to do for this token type in this state.
2853: Negative => reduce, -yyn is rule number.
2854: Positive => shift, yyn is new state.
2855: New state is final state => don't bother to shift,
2856: just return success.
2857: 0, or most negative number => error. */
2858:
2859: if (yyn < 0)
2860: {
2861: if (yyn == YYFLAG)
2862: goto yyerrlab;
2863: yyn = -yyn;
2864: goto yyreduce;
2865: }
2866: else if (yyn == 0)
2867: goto yyerrlab;
2868:
2869: if (yyn == YYFINAL)
2870: YYACCEPT;
2871:
2872: /* Shift the lookahead token. */
2873:
2874: #if YYDEBUG != 0
2875: if (yydebug)
2876: fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
2877: #endif
2878:
2879: /* Discard the token being shifted unless it is eof. */
2880: if (yychar != YYEOF)
2881: yychar = YYEMPTY;
2882:
2883: *++yyvsp = yylval;
2884: #ifdef YYLSP_NEEDED
2885: *++yylsp = yylloc;
2886: #endif
2887:
2888: /* count tokens shifted since error; after three, turn off error status. */
2889: if (yyerrstatus) yyerrstatus--;
2890:
2891: yystate = yyn;
2892: goto yynewstate;
2893:
2894: /* Do the default action for the current state. */
2895: yydefault:
2896:
2897: yyn = yydefact[yystate];
2898: if (yyn == 0)
2899: goto yyerrlab;
2900:
2901: /* Do a reduction. yyn is the number of a rule to reduce with. */
2902: yyreduce:
2903: yylen = yyr2[yyn];
2904: yyval = yyvsp[1-yylen]; /* implement default value of the action */
2905:
2906: #if YYDEBUG != 0
2907: if (yydebug)
2908: {
2909: int i;
2910:
2911: fprintf (stderr, "Reducing via rule %d (line %d), ",
2912: yyn, yyrline[yyn]);
2913:
2914: /* Print the symboles being reduced, and their result. */
2915: for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
2916: fprintf (stderr, "%s ", yytname[yyrhs[i]]);
2917: fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
2918: }
2919: #endif
2920:
2921:
2922: switch (yyn) {
2923:
2924: case 2:
1.1.1.2 root 2925: #line 302 "cp-parse.y"
1.1 root 2926: { finish_file (); ;
2927: break;}
2928: case 3:
1.1.1.2 root 2929: #line 310 "cp-parse.y"
1.1 root 2930: { yyval.ttype = NULL_TREE; ;
2931: break;}
2932: case 4:
1.1.1.2 root 2933: #line 311 "cp-parse.y"
1.1 root 2934: {yyval.ttype = NULL_TREE; ;
2935: break;}
2936: case 5:
1.1.1.2 root 2937: #line 313 "cp-parse.y"
1.1 root 2938: {yyval.ttype = NULL_TREE; ;
2939: break;}
2940: case 6:
1.1.1.2 root 2941: #line 317 "cp-parse.y"
2942: { have_extern_spec = 1;
2943: yyval.ttype = NULL_TREE; ;
1.1 root 2944: break;}
2945: case 7:
1.1.1.2 root 2946: #line 321 "cp-parse.y"
1.1 root 2947: { have_extern_spec = 0; ;
2948: break;}
2949: case 8:
1.1.1.2 root 2950: #line 326 "cp-parse.y"
1.1 root 2951: { if (pending_inlines) do_pending_inlines (); ;
2952: break;}
2953: case 9:
1.1.1.2 root 2954: #line 328 "cp-parse.y"
1.1 root 2955: { if (pending_inlines) do_pending_inlines (); ;
2956: break;}
2957: case 10:
1.1.1.2 root 2958: #line 330 "cp-parse.y"
1.1 root 2959: { if (pending_inlines) do_pending_inlines (); ;
2960: break;}
2961: case 12:
1.1.1.2 root 2962: #line 333 "cp-parse.y"
1.1 root 2963: { if (pedantic)
1.1.1.3 ! root 2964: pedwarn ("ANSI C forbids use of `asm' keyword");
1.1 root 2965: if (TREE_CHAIN (yyvsp[-2].ttype)) yyvsp[-2].ttype = combine_strings (yyvsp[-2].ttype);
2966: assemble_asm (yyvsp[-2].ttype); ;
2967: break;}
2968: case 13:
1.1.1.2 root 2969: #line 338 "cp-parse.y"
1.1 root 2970: { pop_lang_context (); ;
2971: break;}
2972: case 14:
1.1.1.2 root 2973: #line 340 "cp-parse.y"
1.1 root 2974: { pop_lang_context (); ;
2975: break;}
2976: case 15:
1.1.1.2 root 2977: #line 342 "cp-parse.y"
1.1 root 2978: { if (pending_inlines) do_pending_inlines ();
2979: pop_lang_context (); ;
2980: break;}
2981: case 16:
1.1.1.2 root 2982: #line 345 "cp-parse.y"
1.1 root 2983: { if (pending_inlines) do_pending_inlines ();
2984: pop_lang_context (); ;
2985: break;}
2986: case 17:
1.1.1.2 root 2987: #line 351 "cp-parse.y"
1.1 root 2988: { push_lang_context (yyvsp[0].ttype); ;
2989: break;}
2990: case 18:
1.1.1.2 root 2991: #line 356 "cp-parse.y"
1.1 root 2992: { begin_template_parm_list (); ;
2993: break;}
2994: case 19:
1.1.1.2 root 2995: #line 358 "cp-parse.y"
1.1 root 2996: { yyval.ttype = end_template_parm_list (yyvsp[-1].ttype); ;
2997: break;}
2998: case 20:
1.1.1.2 root 2999: #line 363 "cp-parse.y"
1.1 root 3000: { yyval.ttype = process_template_parm (0, yyvsp[0].ttype); ;
3001: break;}
3002: case 21:
1.1.1.2 root 3003: #line 365 "cp-parse.y"
1.1 root 3004: { yyval.ttype = process_template_parm (yyvsp[-2].ttype, yyvsp[0].ttype); ;
3005: break;}
3006: case 22:
1.1.1.2 root 3007: #line 376 "cp-parse.y"
1.1 root 3008: {
1.1.1.2 root 3009: if (yyvsp[-1].ttype != class_type_node)
1.1 root 3010: error ("template type parameter must use keyword `class'");
3011: yyval.ttype = build_tree_list (yyvsp[0].ttype, NULL_TREE);
3012: ;
3013: break;}
3014: case 23:
1.1.1.2 root 3015: #line 382 "cp-parse.y"
1.1 root 3016: {
1.1.1.2 root 3017: if (yyvsp[-3].ttype != class_type_node)
1.1 root 3018: error ("template type parameter must use keyword `class'");
3019: warning ("restricted template type parameters not yet implemented");
3020: yyval.ttype = build_tree_list (yyvsp[-2].ttype, yyvsp[0].ttype);
3021: ;
3022: break;}
3023: case 24:
1.1.1.2 root 3024: #line 389 "cp-parse.y"
1.1 root 3025: {
1.1.1.2 root 3026: if (yyvsp[-2].ttype != class_type_node)
1.1 root 3027: error ("template type parameter must use keyword `class'");
3028: warning ("restricted template type parameters not yet implemented");
3029: yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype);
3030: ;
3031: break;}
3032: case 27:
1.1.1.2 root 3033: #line 402 "cp-parse.y"
1.1 root 3034: { declare_overloaded (yyvsp[0].ttype); ;
3035: break;}
3036: case 28:
1.1.1.2 root 3037: #line 404 "cp-parse.y"
1.1 root 3038: { declare_overloaded (yyvsp[0].ttype); ;
3039: break;}
3040: case 29:
1.1.1.2 root 3041: #line 411 "cp-parse.y"
1.1 root 3042: { yychar = '{'; goto template1; ;
3043: break;}
3044: case 31:
1.1.1.2 root 3045: #line 414 "cp-parse.y"
1.1 root 3046: { yychar = '{'; goto template1; ;
3047: break;}
3048: case 33:
1.1.1.2 root 3049: #line 417 "cp-parse.y"
1.1 root 3050: { yychar = ':'; goto template1; ;
3051: break;}
3052: case 35:
1.1.1.2 root 3053: #line 420 "cp-parse.y"
1.1 root 3054: {
3055: yychar = ':';
3056: template1:
3057: if (current_aggr == exception_type_node)
3058: error ("template type must define an aggregate or union");
3059: /* Maybe pedantic warning for union?
3060: How about an enum? :-) */
3061: end_template_decl (yyvsp[-2].ttype, yyvsp[-1].ttype, current_aggr);
3062: reinit_parse_for_template (yychar, yyvsp[-2].ttype, yyvsp[-1].ttype);
3063: yychar = YYEMPTY;
3064: ;
3065: break;}
3066: case 37:
1.1.1.2 root 3067: #line 433 "cp-parse.y"
1.1 root 3068: {
3069: end_template_decl (yyvsp[-2].ttype, yyvsp[-1].ttype, current_aggr);
3070: /* declare $2 as template name with $1 parm list */
3071: ;
3072: break;}
3073: case 38:
1.1.1.2 root 3074: #line 438 "cp-parse.y"
1.1 root 3075: {
3076: end_template_decl (yyvsp[-2].ttype, yyvsp[-1].ttype, current_aggr);
3077: /* declare $2 as template name with $1 parm list */
3078: ;
3079: break;}
3080: case 39:
1.1.1.2 root 3081: #line 445 "cp-parse.y"
1.1 root 3082: {
3083: tree d;
3084: int momentary;
3085: momentary = suspend_momentary ();
3086: d = start_decl (yyvsp[-4].ttype, /*current_declspecs*/0, 0, yyvsp[-3].ttype);
1.1.1.3 ! root 3087: decl_attributes (d, yyvsp[-1].ttype);
! 3088: finish_decl (d, NULL_TREE, yyvsp[-2].ttype, 0);
1.1 root 3089:
3090: #if 0 /* Need to sort out destructor templates, and not give warnings
3091: for them. */
3092: if (pedantic)
3093: error ("ANSI C forbids data definition with no type or storage class");
3094: else if (! flag_traditional && ! have_extern_spec)
3095: warning ("data definition has no type or storage class");
3096: #endif
3097: end_template_decl (yyvsp[-5].ttype, d, 0);
3098: if (yyvsp[0].itype != ';')
3099: reinit_parse_for_template (yyvsp[0].itype, yyvsp[-5].ttype, d);
3100: resume_momentary (momentary);
3101: ;
3102: break;}
3103: case 40:
1.1.1.3 ! root 3104: #line 468 "cp-parse.y"
1.1 root 3105: {
3106: tree d;
3107: int momentary;
3108:
3109: current_declspecs = yyvsp[-5].ttype;
3110: momentary = suspend_momentary ();
3111: d = start_decl (yyvsp[-4].ttype, current_declspecs, 0, yyvsp[-3].ttype);
1.1.1.3 ! root 3112: decl_attributes (d, yyvsp[-1].ttype);
! 3113: finish_decl (d, NULL_TREE, yyvsp[-2].ttype, 0);
1.1 root 3114: end_exception_decls ();
3115: end_template_decl (yyvsp[-6].ttype, d, 0);
3116: if (yyvsp[0].itype != ';')
3117: {
3118: reinit_parse_for_template (yyvsp[0].itype, yyvsp[-6].ttype, d);
3119: yychar = YYEMPTY;
3120: }
3121: note_list_got_semicolon (yyvsp[-5].ttype);
3122: resume_momentary (momentary);
3123: ;
3124: break;}
3125: case 41:
1.1.1.3 ! root 3126: #line 488 "cp-parse.y"
1.1 root 3127: {
3128: tree d = start_decl (yyvsp[-1].ttype, yyvsp[-2].ttype, 0, NULL_TREE);
1.1.1.3 ! root 3129: finish_decl (d, NULL_TREE, NULL_TREE, 0);
1.1 root 3130: end_template_decl (yyvsp[-3].ttype, d, 0);
3131: if (yyvsp[0].itype != ';')
3132: reinit_parse_for_template (yyvsp[0].itype, yyvsp[-3].ttype, d);
3133: ;
3134: break;}
3135: case 42:
1.1.1.3 ! root 3136: #line 496 "cp-parse.y"
1.1.1.2 root 3137: { end_template_decl (yyvsp[-2].ttype, 0, 0); ;
1.1 root 3138: break;}
3139: case 43:
1.1.1.3 ! root 3140: #line 497 "cp-parse.y"
1.1.1.2 root 3141: { end_template_decl (yyvsp[-2].ttype, 0, 0); ;
1.1 root 3142: break;}
3143: case 44:
1.1.1.3 ! root 3144: #line 500 "cp-parse.y"
1.1.1.2 root 3145: { yyval.itype = '{'; ;
1.1 root 3146: break;}
3147: case 45:
1.1.1.3 ! root 3148: #line 501 "cp-parse.y"
1.1.1.2 root 3149: { yyval.itype = ':'; ;
1.1 root 3150: break;}
3151: case 46:
1.1.1.3 ! root 3152: #line 502 "cp-parse.y"
1.1.1.2 root 3153: { yyval.itype = ';'; ;
1.1 root 3154: break;}
3155: case 47:
1.1.1.3 ! root 3156: #line 503 "cp-parse.y"
1.1.1.2 root 3157: { yyval.itype = '='; ;
3158: break;}
3159: case 48:
1.1.1.3 ! root 3160: #line 504 "cp-parse.y"
1.1.1.2 root 3161: { yyval.itype = RETURN; ;
3162: break;}
3163: case 49:
1.1.1.3 ! root 3164: #line 509 "cp-parse.y"
1.1 root 3165: { if (pedantic)
3166: error ("ANSI C forbids data definition with no type or storage class");
3167: else if (! flag_traditional && ! have_extern_spec)
3168: warning ("data definition has no type or storage class"); ;
3169: break;}
1.1.1.2 root 3170: case 50:
1.1.1.3 ! root 3171: #line 514 "cp-parse.y"
1.1 root 3172: {;
3173: break;}
1.1.1.2 root 3174: case 51:
1.1.1.3 ! root 3175: #line 517 "cp-parse.y"
1.1 root 3176: { tree d;
3177: d = start_decl (yyvsp[-1].ttype, yyval.ttype, 0, NULL_TREE);
1.1.1.3 ! root 3178: finish_decl (d, NULL_TREE, NULL_TREE, 0);
1.1 root 3179: ;
3180: break;}
1.1.1.2 root 3181: case 52:
1.1.1.3 ! root 3182: #line 522 "cp-parse.y"
1.1 root 3183: {
3184: end_exception_decls ();
3185: note_list_got_semicolon (yyval.ttype);
3186: ;
3187: break;}
1.1.1.2 root 3188: case 53:
1.1.1.3 ! root 3189: #line 528 "cp-parse.y"
1.1 root 3190: { tree d;
3191: d = start_decl (yyvsp[-1].ttype, yyval.ttype, 0, NULL_TREE);
1.1.1.3 ! root 3192: finish_decl (d, NULL_TREE, NULL_TREE, 0);
1.1 root 3193: end_exception_decls ();
3194: note_list_got_semicolon (yyval.ttype);
3195: ;
3196: break;}
1.1.1.2 root 3197: case 54:
1.1.1.3 ! root 3198: #line 535 "cp-parse.y"
1.1 root 3199: { error ("empty declaration"); ;
3200: break;}
1.1.1.2 root 3201: case 55:
1.1.1.3 ! root 3202: #line 537 "cp-parse.y"
1.1 root 3203: {
3204: tree t = yyval.ttype;
3205: shadow_tag (t);
3206: if (TREE_CODE (t) == TREE_LIST
3207: && TREE_PURPOSE (t) == NULL_TREE)
3208: {
3209: t = TREE_VALUE (t);
3210: if (TREE_CODE (t) == RECORD_TYPE)
3211: {
3212: if (CLASSTYPE_USE_TEMPLATE (t) == 0)
3213: CLASSTYPE_USE_TEMPLATE (t) = 2;
3214: else if (CLASSTYPE_USE_TEMPLATE (t) == 1)
3215: error ("override declaration for already-expanded template");
3216: }
3217: }
3218: note_list_got_semicolon (yyval.ttype);
3219: ;
3220: break;}
1.1.1.2 root 3221: case 59:
1.1.1.3 ! root 3222: #line 561 "cp-parse.y"
1.1 root 3223: {
3224: finish_function (lineno, 1);
3225: /* finish_function performs these three statements:
3226:
3227: expand_end_bindings (getdecls (), 1, 0);
3228: poplevel (1, 1, 0);
3229:
3230: expand_end_bindings (0, 0, 0);
3231: poplevel (0, 0, 1);
3232: */
3233: if (yyval.ttype) process_next_inline (yyval.ttype);
3234: ;
3235: break;}
1.1.1.2 root 3236: case 60:
1.1.1.3 ! root 3237: #line 574 "cp-parse.y"
1.1 root 3238: {
3239: finish_function (lineno, 1);
3240: /* finish_function performs these three statements:
3241:
3242: expand_end_bindings (getdecls (), 1, 0);
3243: poplevel (1, 1, 0);
3244:
3245: expand_end_bindings (0, 0, 0);
3246: poplevel (0, 0, 1);
3247: */
3248: if (yyval.ttype) process_next_inline (yyval.ttype);
3249: ;
3250: break;}
1.1.1.2 root 3251: case 61:
1.1.1.3 ! root 3252: #line 587 "cp-parse.y"
1.1 root 3253: { finish_function (lineno, 0);
3254: if (yyval.ttype) process_next_inline (yyval.ttype); ;
3255: break;}
1.1.1.2 root 3256: case 62:
1.1.1.3 ! root 3257: #line 590 "cp-parse.y"
1.1 root 3258: { finish_function (lineno, 0);
3259: if (yyval.ttype) process_next_inline (yyval.ttype); ;
3260: break;}
1.1.1.2 root 3261: case 63:
1.1.1.3 ! root 3262: #line 593 "cp-parse.y"
1.1 root 3263: { finish_function (lineno, 0);
3264: if (yyval.ttype) process_next_inline (yyval.ttype); ;
3265: break;}
1.1.1.2 root 3266: case 64:
1.1.1.3 ! root 3267: #line 596 "cp-parse.y"
1.1 root 3268: {;
3269: break;}
1.1.1.2 root 3270: case 65:
1.1.1.3 ! root 3271: #line 598 "cp-parse.y"
1.1 root 3272: {;
3273: break;}
1.1.1.2 root 3274: case 66:
1.1.1.3 ! root 3275: #line 600 "cp-parse.y"
1.1 root 3276: {;
3277: break;}
1.1.1.2 root 3278: case 67:
1.1.1.3 ! root 3279: #line 605 "cp-parse.y"
1.1 root 3280: { if (! start_function (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype, 0))
3281: YYERROR1;
3282: reinit_parse_for_function ();
3283: yyval.ttype = NULL_TREE; ;
3284: break;}
1.1.1.2 root 3285: case 68:
1.1.1.3 ! root 3286: #line 610 "cp-parse.y"
1.1 root 3287: { if (! start_function (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype, 0))
3288: YYERROR1;
3289: reinit_parse_for_function ();
3290: yyval.ttype = NULL_TREE; ;
3291: break;}
1.1.1.2 root 3292: case 69:
1.1.1.3 ! root 3293: #line 615 "cp-parse.y"
1.1 root 3294: { if (! start_function (NULL_TREE, yyval.ttype, yyvsp[0].ttype, 0))
3295: YYERROR1;
3296: reinit_parse_for_function ();
3297: yyval.ttype = NULL_TREE; ;
3298: break;}
1.1.1.2 root 3299: case 70:
1.1.1.3 ! root 3300: #line 620 "cp-parse.y"
1.1 root 3301: { if (! start_function (NULL_TREE, build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype), yyvsp[0].ttype, 0))
3302: YYERROR1;
3303: reinit_parse_for_function ();
3304: yyval.ttype = NULL_TREE; ;
3305: break;}
1.1.1.2 root 3306: case 71:
1.1.1.3 ! root 3307: #line 625 "cp-parse.y"
1.1 root 3308: { if (! start_function (NULL_TREE, build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype), yyvsp[0].ttype, 0))
3309: YYERROR1;
3310: reinit_parse_for_function ();
3311: yyval.ttype = NULL_TREE; ;
3312: break;}
1.1.1.2 root 3313: case 72:
1.1.1.3 ! root 3314: #line 630 "cp-parse.y"
1.1 root 3315: { if (! start_function (NULL_TREE, build_parse_node (CALL_EXPR, yyval.ttype, empty_parms (), yyvsp[-1].ttype), yyvsp[0].ttype, 0))
3316: YYERROR1;
3317: reinit_parse_for_function ();
3318: yyval.ttype = NULL_TREE; ;
3319: break;}
1.1.1.2 root 3320: case 73:
1.1.1.3 ! root 3321: #line 635 "cp-parse.y"
1.1 root 3322: { if (! start_function (NULL_TREE, build_parse_node (CALL_EXPR, yyval.ttype, empty_parms (), yyvsp[-1].ttype), yyvsp[0].ttype, 0))
3323: YYERROR1;
3324: reinit_parse_for_function ();
3325: yyval.ttype = NULL_TREE; ;
3326: break;}
1.1.1.2 root 3327: case 74:
1.1.1.3 ! root 3328: #line 640 "cp-parse.y"
1.1 root 3329: { start_function (NULL_TREE, TREE_VALUE (yyval.ttype), NULL_TREE, 1);
3330: reinit_parse_for_function (); ;
3331: break;}
1.1.1.2 root 3332: case 75:
1.1.1.3 ! root 3333: #line 647 "cp-parse.y"
1.1 root 3334: {
3335: tree decl = build_parse_node (CALL_EXPR, TREE_VALUE (yyval.ttype), yyvsp[-3].ttype, yyvsp[-1].ttype);
3336: yyval.ttype = start_method (TREE_CHAIN (yyval.ttype), decl, yyvsp[0].ttype);
3337: if (! yyval.ttype)
3338: YYERROR1;
3339: if (yychar == YYEMPTY)
3340: yychar = YYLEX;
3341: reinit_parse_for_method (yychar, yyval.ttype); ;
3342: break;}
1.1.1.2 root 3343: case 76:
1.1.1.3 ! root 3344: #line 656 "cp-parse.y"
1.1 root 3345: {
3346: tree decl = build_parse_node (CALL_EXPR, TREE_VALUE (yyval.ttype), empty_parms (), yyvsp[-1].ttype);
3347: yyval.ttype = start_method (TREE_CHAIN (yyval.ttype), decl, yyvsp[0].ttype);
3348: if (! yyval.ttype)
3349: YYERROR1;
3350: if (yychar == YYEMPTY)
3351: yychar = YYLEX;
3352: reinit_parse_for_method (yychar, yyval.ttype); ;
3353: break;}
1.1.1.2 root 3354: case 77:
1.1.1.3 ! root 3355: #line 665 "cp-parse.y"
1.1 root 3356: { yyval.ttype = start_method (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
3357: if (! yyval.ttype)
3358: YYERROR1;
3359: if (yychar == YYEMPTY)
3360: yychar = YYLEX;
3361: reinit_parse_for_method (yychar, yyval.ttype); ;
3362: break;}
1.1.1.2 root 3363: case 78:
1.1.1.3 ! root 3364: #line 672 "cp-parse.y"
1.1 root 3365: {
3366: tree decl = build_parse_node (CALL_EXPR, TREE_VALUE (yyval.ttype), yyvsp[-3].ttype, yyvsp[-1].ttype);
3367: yyval.ttype = start_method (TREE_CHAIN (yyval.ttype), decl, yyvsp[0].ttype);
3368: if (! yyval.ttype)
3369: YYERROR1;
3370: if (yychar == YYEMPTY)
3371: yychar = YYLEX;
3372: reinit_parse_for_method (yychar, yyval.ttype); ;
3373: break;}
1.1.1.2 root 3374: case 79:
1.1.1.3 ! root 3375: #line 681 "cp-parse.y"
1.1 root 3376: {
3377: tree decl = build_parse_node (CALL_EXPR, TREE_VALUE (yyval.ttype), empty_parms (), yyvsp[-1].ttype);
3378: yyval.ttype = start_method (TREE_CHAIN (yyval.ttype), decl, yyvsp[0].ttype);
3379: if (! yyval.ttype)
3380: YYERROR1;
3381: if (yychar == YYEMPTY)
3382: yychar = YYLEX;
3383: reinit_parse_for_method (yychar, yyval.ttype); ;
3384: break;}
1.1.1.2 root 3385: case 80:
1.1.1.3 ! root 3386: #line 690 "cp-parse.y"
1.1 root 3387: { yyval.ttype = start_method (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
3388: if (! yyval.ttype)
3389: YYERROR1;
3390: if (yychar == YYEMPTY)
3391: yychar = YYLEX;
3392: reinit_parse_for_method (yychar, yyval.ttype); ;
3393: break;}
1.1.1.2 root 3394: case 81:
1.1.1.3 ! root 3395: #line 697 "cp-parse.y"
1.1 root 3396: { yyval.ttype = start_method (NULL_TREE, yyval.ttype, yyvsp[0].ttype);
3397: if (! yyval.ttype)
3398: YYERROR1;
3399: if (yychar == YYEMPTY)
3400: yychar = YYLEX;
3401: reinit_parse_for_method (yychar, yyval.ttype); ;
3402: break;}
1.1.1.2 root 3403: case 82:
1.1.1.3 ! root 3404: #line 706 "cp-parse.y"
1.1 root 3405: {
3406: if (! current_function_parms_stored)
3407: store_parm_decls ();
3408: yyval.ttype = yyvsp[0].ttype;
3409: ;
3410: break;}
1.1.1.2 root 3411: case 83:
1.1.1.3 ! root 3412: #line 714 "cp-parse.y"
1.1 root 3413: { store_return_init (yyval.ttype, NULL_TREE); ;
3414: break;}
1.1.1.2 root 3415: case 84:
1.1.1.3 ! root 3416: #line 716 "cp-parse.y"
1.1 root 3417: { store_return_init (yyval.ttype, yyvsp[-1].code); ;
3418: break;}
1.1.1.2 root 3419: case 85:
1.1.1.3 ! root 3420: #line 718 "cp-parse.y"
1.1 root 3421: { store_return_init (yyval.ttype, yyvsp[-1].ttype); ;
3422: break;}
1.1.1.2 root 3423: case 86:
1.1.1.3 ! root 3424: #line 720 "cp-parse.y"
1.1 root 3425: { store_return_init (yyval.ttype, NULL_TREE); ;
3426: break;}
1.1.1.2 root 3427: case 87:
1.1.1.3 ! root 3428: #line 725 "cp-parse.y"
1.1 root 3429: {
3430: if (yyvsp[0].itype == 0)
3431: error ("no base initializers given following ':'");
3432: setup_vtbl_ptr ();
3433: ;
3434: break;}
1.1.1.2 root 3435: case 88:
1.1.1.3 ! root 3436: #line 734 "cp-parse.y"
1.1 root 3437: {
3438: if (! current_function_parms_stored)
3439: store_parm_decls ();
3440:
3441: /* Flag that we are processing base and member initializers. */
3442: current_vtable_decl = error_mark_node;
3443:
3444: if (DECL_CONSTRUCTOR_P (current_function_decl))
3445: {
3446: /* Make a contour for the initializer list. */
3447: pushlevel (0);
3448: clear_last_expr ();
3449: expand_start_bindings (0);
3450: }
3451: else if (current_class_type == NULL_TREE)
3452: error ("base initializers not allowed for non-member functions");
3453: else if (! DECL_CONSTRUCTOR_P (current_function_decl))
3454: error ("only constructors take base initializers");
3455: ;
3456: break;}
1.1.1.2 root 3457: case 89:
1.1.1.3 ! root 3458: #line 757 "cp-parse.y"
1.1 root 3459: { yyval.itype = 0; ;
3460: break;}
1.1.1.2 root 3461: case 90:
1.1.1.3 ! root 3462: #line 759 "cp-parse.y"
1.1 root 3463: { yyval.itype = 1; ;
3464: break;}
1.1.1.2 root 3465: case 93:
1.1.1.3 ! root 3466: #line 765 "cp-parse.y"
1.1 root 3467: {
3468: if (current_class_name && pedantic)
1.1.1.3 ! root 3469: pedwarn ("old style base class initialization; use `%s (...)'",
1.1 root 3470: IDENTIFIER_POINTER (current_class_name));
3471: expand_member_init (C_C_D, NULL_TREE, yyvsp[-1].ttype);
3472: ;
3473: break;}
1.1.1.2 root 3474: case 94:
1.1.1.3 ! root 3475: #line 772 "cp-parse.y"
1.1 root 3476: {
3477: if (current_class_name && pedantic)
1.1.1.3 ! root 3478: pedwarn ("old style base class initialization; use `%s (...)'",
1.1 root 3479: IDENTIFIER_POINTER (current_class_name));
3480: expand_member_init (C_C_D, NULL_TREE, void_type_node);
3481: ;
3482: break;}
1.1.1.2 root 3483: case 95:
1.1.1.3 ! root 3484: #line 779 "cp-parse.y"
1.1 root 3485: {
3486: expand_member_init (C_C_D, yyval.ttype, yyvsp[-1].ttype);
3487: ;
3488: break;}
1.1.1.2 root 3489: case 96:
1.1.1.3 ! root 3490: #line 783 "cp-parse.y"
1.1 root 3491: { expand_member_init (C_C_D, yyval.ttype, void_type_node); ;
3492: break;}
1.1.1.2 root 3493: case 97:
1.1.1.3 ! root 3494: #line 785 "cp-parse.y"
1.1.1.2 root 3495: { expand_member_init (C_C_D, yyval.ttype, yyvsp[-1].ttype); ;
3496: break;}
3497: case 98:
1.1.1.3 ! root 3498: #line 787 "cp-parse.y"
1.1.1.2 root 3499: { expand_member_init (C_C_D, yyval.ttype, void_type_node); ;
3500: break;}
3501: case 99:
1.1.1.3 ! root 3502: #line 789 "cp-parse.y"
1.1 root 3503: {
3504: do_member_init (yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype);
3505: ;
3506: break;}
1.1.1.2 root 3507: case 100:
1.1.1.3 ! root 3508: #line 793 "cp-parse.y"
1.1 root 3509: {
3510: do_member_init (yyval.ttype, yyvsp[-1].ttype, void_type_node);
3511: ;
3512: break;}
1.1.1.2 root 3513: case 110:
1.1.1.3 ! root 3514: #line 817 "cp-parse.y"
1.1 root 3515: { yyval.ttype = build_parse_node (BIT_NOT_EXPR,yyvsp[0].ttype);;
3516: break;}
1.1.1.2 root 3517: case 112:
1.1.1.3 ! root 3518: #line 820 "cp-parse.y"
1.1 root 3519: { yyval.ttype = hack_wrapper (yyval.ttype, NULL_TREE, yyvsp[0].ttype); ;
3520: break;}
1.1.1.2 root 3521: case 113:
1.1.1.3 ! root 3522: #line 822 "cp-parse.y"
1.1 root 3523: { yyval.ttype = hack_wrapper (yyval.ttype, NULL_TREE, yyvsp[0].ttype); ;
3524: break;}
1.1.1.2 root 3525: case 114:
1.1.1.3 ! root 3526: #line 824 "cp-parse.y"
1.1 root 3527: { yyval.ttype = hack_wrapper (yyval.ttype, NULL_TREE, yyvsp[0].ttype); ;
3528: break;}
1.1.1.2 root 3529: case 115:
1.1.1.3 ! root 3530: #line 826 "cp-parse.y"
1.1 root 3531: { yyval.ttype = hack_wrapper (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
3532: break;}
1.1.1.2 root 3533: case 116:
1.1.1.3 ! root 3534: #line 828 "cp-parse.y"
1.1 root 3535: { yyval.ttype = hack_wrapper (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
3536: break;}
1.1.1.2 root 3537: case 117:
1.1.1.3 ! root 3538: #line 832 "cp-parse.y"
1.1 root 3539: { yyval.itype = 0; ;
3540: break;}
1.1.1.2 root 3541: case 118:
1.1.1.3 ! root 3542: #line 834 "cp-parse.y"
1.1 root 3543: { yyval.itype = 1; ;
3544: break;}
1.1.1.2 root 3545: case 119:
1.1.1.3 ! root 3546: #line 836 "cp-parse.y"
1.1 root 3547: { yyval.itype = 2; ;
3548: break;}
1.1.1.2 root 3549: case 120:
1.1.1.3 ! root 3550: #line 841 "cp-parse.y"
1.1 root 3551: {
3552: if (yyvsp[0].ttype)
3553: yyval.ttype = yyvsp[0].ttype;
3554: else if (yyval.ttype != error_mark_node)
3555: yyval.ttype = IDENTIFIER_TYPE_VALUE (yyval.ttype);
3556: ;
3557: break;}
1.1.1.2 root 3558: case 121:
1.1.1.3 ! root 3559: #line 851 "cp-parse.y"
1.1 root 3560: { yyval.ttype = lookup_template_class (yyval.ttype, yyvsp[-1].ttype); ;
3561: break;}
1.1.1.2 root 3562: case 122:
1.1.1.3 ! root 3563: #line 857 "cp-parse.y"
1.1 root 3564: { yyungetc ('{', 1); yyval.ttype = 0; ;
3565: break;}
1.1.1.2 root 3566: case 123:
1.1.1.3 ! root 3567: #line 858 "cp-parse.y"
1.1 root 3568: { yyungetc (':', 1); yyval.ttype = 0; ;
3569: break;}
1.1.1.2 root 3570: case 124:
1.1.1.3 ! root 3571: #line 860 "cp-parse.y"
1.1 root 3572: { yyval.ttype = instantiate_class_template (yyvsp[0].ttype, 1); ;
3573: break;}
1.1.1.2 root 3574: case 125:
1.1.1.3 ! root 3575: #line 865 "cp-parse.y"
1.1 root 3576: { yyval.ttype = instantiate_class_template (yyvsp[0].ttype, 1); ;
3577: break;}
1.1.1.2 root 3578: case 126:
1.1.1.3 ! root 3579: #line 870 "cp-parse.y"
1.1 root 3580: { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
3581: break;}
1.1.1.2 root 3582: case 127:
1.1.1.3 ! root 3583: #line 872 "cp-parse.y"
1.1 root 3584: { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
3585: break;}
1.1.1.2 root 3586: case 128:
1.1.1.3 ! root 3587: #line 877 "cp-parse.y"
1.1 root 3588: { yyval.ttype = groktypename (yyval.ttype); ;
3589: break;}
1.1.1.2 root 3590: case 130:
1.1.1.3 ! root 3591: #line 883 "cp-parse.y"
1.1 root 3592: {
3593: tree t, decl, id, tmpl;
3594:
3595: id = TREE_VALUE (yyvsp[-1].ttype);
3596: tmpl = TREE_PURPOSE (IDENTIFIER_TEMPLATE (id));
3597: t = xref_tag (DECL_TEMPLATE_INFO (tmpl)->aggr, id, yyvsp[0].ttype);
3598: set_current_level_tags_transparency (1);
3599: assert (TREE_CODE (t) == RECORD_TYPE);
3600: yyval.ttype = t;
3601:
3602: /* Now, put a copy of the decl in global scope, to avoid
3603: recursive expansion. */
3604: decl = IDENTIFIER_LOCAL_VALUE (id);
3605: if (!decl)
3606: decl = IDENTIFIER_CLASS_VALUE (id);
3607: /* Now, put a copy of the decl in global scope, to avoid
3608: recursive expansion. */
3609: if (decl)
3610: {
3611: /* Need to copy it to clear the chain pointer,
3612: and need to get it into permanent storage. */
3613: extern struct obstack permanent_obstack;
3614: assert (TREE_CODE (decl) == TYPE_DECL);
3615: push_obstacks (&permanent_obstack, &permanent_obstack);
3616: decl = copy_node (decl);
3617: if (DECL_LANG_SPECIFIC (decl))
3618: copy_lang_decl (decl);
3619: pop_obstacks ();
3620: pushdecl_top_level (decl);
3621: }
3622: ;
3623: break;}
1.1.1.2 root 3624: case 131:
1.1.1.3 ! root 3625: #line 915 "cp-parse.y"
1.1 root 3626: {
3627: extern void end_template_instantiation ();
3628: tree id, members;
3629:
3630: yyval.ttype = finish_struct (yyvsp[-3].ttype, yyvsp[-1].ttype, 0, 0);
3631:
3632: pop_obstacks ();
3633: end_template_instantiation (yyvsp[-5].ttype, yyvsp[-3].ttype);
3634:
3635: /* Now go after the methods & class data. */
3636: instantiate_member_templates (yyvsp[-5].ttype);
3637: ;
3638: break;}
1.1.1.2 root 3639: case 132:
1.1.1.3 ! root 3640: #line 931 "cp-parse.y"
1.1 root 3641: { yyval.ttype = NULL_TREE; ;
3642: break;}
1.1.1.2 root 3643: case 133:
1.1.1.3 ! root 3644: #line 933 "cp-parse.y"
1.1 root 3645: { yyval.ttype = yyvsp[0].ttype; ;
3646: break;}
1.1.1.2 root 3647: case 134:
1.1.1.3 ! root 3648: #line 938 "cp-parse.y"
1.1 root 3649: { yyval.ttype = NULL_TREE; /* never used from here... */;
3650: break;}
1.1.1.2 root 3651: case 135:
1.1.1.3 ! root 3652: #line 940 "cp-parse.y"
1.1 root 3653: { yyval.ttype = yyvsp[-1].ttype; /*???*/ ;
3654: break;}
1.1.1.2 root 3655: case 136:
1.1.1.3 ! root 3656: #line 944 "cp-parse.y"
1.1 root 3657: { yyval.code = NEGATE_EXPR; ;
3658: break;}
1.1.1.2 root 3659: case 137:
1.1.1.3 ! root 3660: #line 946 "cp-parse.y"
1.1 root 3661: { yyval.code = CONVERT_EXPR; ;
3662: break;}
1.1.1.2 root 3663: case 138:
1.1.1.3 ! root 3664: #line 948 "cp-parse.y"
1.1 root 3665: { yyval.code = PREINCREMENT_EXPR; ;
3666: break;}
1.1.1.2 root 3667: case 139:
1.1.1.3 ! root 3668: #line 950 "cp-parse.y"
1.1 root 3669: { yyval.code = PREDECREMENT_EXPR; ;
3670: break;}
1.1.1.2 root 3671: case 140:
1.1.1.3 ! root 3672: #line 952 "cp-parse.y"
1.1 root 3673: { yyval.code = TRUTH_NOT_EXPR; ;
3674: break;}
1.1.1.2 root 3675: case 141:
1.1.1.3 ! root 3676: #line 956 "cp-parse.y"
1.1 root 3677: { yyval.ttype = build_x_compound_expr (yyval.ttype); ;
3678: break;}
1.1.1.2 root 3679: case 143:
1.1.1.3 ! root 3680: #line 963 "cp-parse.y"
1.1 root 3681: { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
3682: break;}
1.1.1.2 root 3683: case 144:
1.1.1.3 ! root 3684: #line 965 "cp-parse.y"
1.1 root 3685: { chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
3686: break;}
1.1.1.2 root 3687: case 145:
1.1.1.3 ! root 3688: #line 967 "cp-parse.y"
1.1 root 3689: { chainon (yyval.ttype, build_tree_list (NULL_TREE, error_mark_node)); ;
3690: break;}
1.1.1.2 root 3691: case 146:
1.1.1.3 ! root 3692: #line 972 "cp-parse.y"
1.1 root 3693: {
3694: if (TREE_CODE (yyval.ttype) == TYPE_EXPR)
3695: yyval.ttype = build_component_type_expr (C_C_D, yyval.ttype, NULL_TREE, 1);
3696: ;
3697: break;}
1.1.1.2 root 3698: case 147:
1.1.1.3 ! root 3699: #line 978 "cp-parse.y"
1.1.1.2 root 3700: { yyvsp[0].itype = pedantic;
3701: pedantic = 0; ;
3702: break;}
3703: case 148:
1.1.1.3 ! root 3704: #line 981 "cp-parse.y"
1.1.1.2 root 3705: { yyval.ttype = yyvsp[0].ttype;
3706: pedantic = yyvsp[-2].itype; ;
3707: break;}
3708: case 149:
1.1.1.3 ! root 3709: #line 984 "cp-parse.y"
1.1 root 3710: { yyval.ttype = build_x_indirect_ref (yyvsp[0].ttype, "unary *"); ;
3711: break;}
1.1.1.2 root 3712: case 150:
1.1.1.3 ! root 3713: #line 986 "cp-parse.y"
1.1 root 3714: { yyval.ttype = build_x_unary_op (ADDR_EXPR, yyvsp[0].ttype); ;
3715: break;}
1.1.1.2 root 3716: case 151:
1.1.1.3 ! root 3717: #line 988 "cp-parse.y"
1.1 root 3718: { yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, yyvsp[0].ttype); ;
3719: break;}
1.1.1.2 root 3720: case 152:
1.1.1.3 ! root 3721: #line 990 "cp-parse.y"
1.1 root 3722: { yyval.ttype = build_x_unary_op (yyval.ttype, yyvsp[0].ttype);
3723: if (yyvsp[-1].code == NEGATE_EXPR && TREE_CODE (yyvsp[0].ttype) == INTEGER_CST)
3724: TREE_NEGATED_INT (yyval.ttype) = 1;
3725: ;
3726: break;}
1.1.1.2 root 3727: case 153:
1.1.1.3 ! root 3728: #line 995 "cp-parse.y"
1.1 root 3729: { if (TREE_CODE (yyvsp[0].ttype) == COMPONENT_REF
3730: && DECL_BIT_FIELD (TREE_OPERAND (yyvsp[0].ttype, 1)))
3731: error ("sizeof applied to a bit-field");
3732: /* ANSI says arrays and functions are converted inside comma.
3733: But we can't really convert them in build_compound_expr
3734: because that would break commas in lvalues.
3735: So do the conversion here if operand was a comma. */
3736: if (TREE_CODE (yyvsp[0].ttype) == COMPOUND_EXPR
3737: && (TREE_CODE (TREE_TYPE (yyvsp[0].ttype)) == ARRAY_TYPE
3738: || TREE_CODE (TREE_TYPE (yyvsp[0].ttype)) == FUNCTION_TYPE))
3739: yyvsp[0].ttype = default_conversion (yyvsp[0].ttype);
3740: yyval.ttype = c_sizeof (TREE_TYPE (yyvsp[0].ttype)); ;
3741: break;}
1.1.1.2 root 3742: case 154:
1.1.1.3 ! root 3743: #line 1008 "cp-parse.y"
1.1 root 3744: { yyval.ttype = c_sizeof (groktypename (yyvsp[-1].ttype)); ;
3745: break;}
1.1.1.2 root 3746: case 155:
1.1.1.3 ! root 3747: #line 1010 "cp-parse.y"
1.1 root 3748: { if (TREE_CODE (yyvsp[0].ttype) == COMPONENT_REF
3749: && DECL_BIT_FIELD (TREE_OPERAND (yyvsp[0].ttype, 1)))
3750: error ("`__alignof' applied to a bit-field");
3751: if (TREE_CODE (yyvsp[0].ttype) == INDIRECT_REF)
3752: {
3753: tree t = TREE_OPERAND (yyvsp[0].ttype, 0);
3754: tree best = t;
3755: int bestalign = TYPE_ALIGN (TREE_TYPE (TREE_TYPE (t)));
3756: while (TREE_CODE (t) == NOP_EXPR
3757: && TREE_CODE (TREE_TYPE (TREE_OPERAND (t, 0))) == POINTER_TYPE)
3758: {
3759: int thisalign;
3760: t = TREE_OPERAND (t, 0);
3761: thisalign = TYPE_ALIGN (TREE_TYPE (TREE_TYPE (t)));
3762: if (thisalign > bestalign)
3763: best = t, bestalign = thisalign;
3764: }
3765: yyval.ttype = c_alignof (TREE_TYPE (TREE_TYPE (best)));
3766: }
3767: else
3768: {
3769: /* ANSI says arrays and fns are converted inside comma.
3770: But we can't convert them in build_compound_expr
3771: because that would break commas in lvalues.
3772: So do the conversion here if operand was a comma. */
3773: if (TREE_CODE (yyvsp[0].ttype) == COMPOUND_EXPR
3774: && (TREE_CODE (TREE_TYPE (yyvsp[0].ttype)) == ARRAY_TYPE
3775: || TREE_CODE (TREE_TYPE (yyvsp[0].ttype)) == FUNCTION_TYPE))
3776: yyvsp[0].ttype = default_conversion (yyvsp[0].ttype);
3777: yyval.ttype = c_alignof (TREE_TYPE (yyvsp[0].ttype));
3778: }
3779: ;
3780: break;}
1.1.1.2 root 3781: case 156:
1.1.1.3 ! root 3782: #line 1043 "cp-parse.y"
1.1 root 3783: { yyval.ttype = c_alignof (groktypename (yyvsp[-1].ttype)); ;
3784: break;}
1.1.1.2 root 3785: case 157:
1.1.1.3 ! root 3786: #line 1046 "cp-parse.y"
1.1 root 3787: { yyval.ttype = build_new (yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE, yyval.ttype); ;
3788: break;}
1.1.1.2 root 3789: case 158:
1.1.1.3 ! root 3790: #line 1048 "cp-parse.y"
1.1 root 3791: { yyval.ttype = build_new (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyval.ttype); ;
3792: break;}
1.1.1.2 root 3793: case 159:
1.1.1.3 ! root 3794: #line 1050 "cp-parse.y"
1.1 root 3795: { yyval.ttype = build_new (yyvsp[-2].ttype, yyvsp[-1].ttype, NULL_TREE, yyval.ttype); ;
3796: break;}
1.1.1.2 root 3797: case 160:
1.1.1.3 ! root 3798: #line 1052 "cp-parse.y"
1.1 root 3799: { yyval.ttype = build_new (yyvsp[-3].ttype, yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype); ;
3800: break;}
1.1.1.2 root 3801: case 161:
1.1.1.3 ! root 3802: #line 1058 "cp-parse.y"
1.1 root 3803: {
3804: tree absdcl, typename;
3805: static int gave_warning = 0;
3806:
3807: illegal_new_array:
3808: absdcl = build_parse_node (ARRAY_REF, yyvsp[-4].ttype, yyvsp[-1].ttype);
3809: typename = build_decl_list (yyvsp[-5].ttype, absdcl);
1.1.1.3 ! root 3810: pedwarn ("array dimensions with parenthesized type is disallowed in standard C++");
1.1 root 3811: if (!gave_warning)
3812: {
3813: gave_warning++;
1.1.1.3 ! root 3814: pedwarn (" (per grammar in Ellis & Stroustrup [1990], chapter 17)");
! 3815: pedwarn (" try rewriting, perhaps with a typedef");
1.1 root 3816: }
3817: yyval.ttype = build_new (yyvsp[-7].ttype, typename, NULL_TREE, yyval.ttype);
3818: ;
3819: break;}
1.1.1.2 root 3820: case 162:
1.1.1.3 ! root 3821: #line 1075 "cp-parse.y"
1.1 root 3822: { goto illegal_new_array; ;
3823: break;}
1.1.1.2 root 3824: case 163:
1.1.1.3 ! root 3825: #line 1078 "cp-parse.y"
1.1 root 3826: {
3827: yyval.ttype = build_new (yyvsp[-4].ttype, build_decl_list (yyvsp[-2].ttype, yyvsp[-1].ttype), NULL_TREE, yyval.ttype);
3828: ;
3829: break;}
1.1.1.2 root 3830: case 164:
1.1.1.3 ! root 3831: #line 1082 "cp-parse.y"
1.1 root 3832: { yyval.ttype = build_new (yyvsp[-4].ttype, build_decl_list (yyvsp[-2].ttype, yyvsp[-1].ttype), NULL_TREE, yyval.ttype); ;
3833: break;}
1.1.1.2 root 3834: case 165:
1.1.1.3 ! root 3835: #line 1085 "cp-parse.y"
1.1 root 3836: { yyungetc (':', 1);
3837: yyval.ttype = build_new (yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE, yyval.ttype); ;
3838: break;}
1.1.1.2 root 3839: case 166:
1.1.1.3 ! root 3840: #line 1089 "cp-parse.y"
1.1 root 3841: { tree expr = stabilize_reference (convert_from_reference (yyvsp[0].ttype));
3842: tree type = TREE_TYPE (expr);
3843:
3844: if (integer_zerop (expr))
3845: yyval.ttype = build1 (NOP_EXPR, void_type_node, expr);
3846: else if (TREE_CODE (type) != POINTER_TYPE)
3847: {
3848: error ("non-pointer type to `delete'");
3849: yyval.ttype = error_mark_node;
3850: break;
3851: }
3852: yyval.ttype = build_delete (type, expr, integer_three_node,
3853: LOOKUP_NORMAL|LOOKUP_HAS_IN_CHARGE,
3854: TYPE_HAS_DESTRUCTOR (TREE_TYPE (type)) ? yyval.ttype : 0, 1);
3855: ;
3856: break;}
1.1.1.2 root 3857: case 167:
1.1.1.3 ! root 3858: #line 1105 "cp-parse.y"
1.1 root 3859: {
3860: tree exp = stabilize_reference (convert_from_reference (yyvsp[0].ttype));
3861: tree elt_size = c_sizeof (TREE_TYPE (exp));
3862:
3863: if (yychar == YYEMPTY)
3864: yychar = YYLEX;
3865:
3866: yyval.ttype = build_vec_delete (exp, NULL_TREE, elt_size, NULL_TREE,
3867: integer_one_node, integer_two_node);
3868: ;
3869: break;}
1.1.1.2 root 3870: case 168:
1.1.1.3 ! root 3871: #line 1116 "cp-parse.y"
1.1 root 3872: {
3873: tree maxindex = build_binary_op (MINUS_EXPR, yyvsp[-2].ttype,
3874: integer_one_node);
3875: tree exp = stabilize_reference (convert_from_reference (yyvsp[0].ttype));
3876: tree elt_size = c_sizeof (TREE_TYPE (exp));
3877:
3878: if (yychar == YYEMPTY)
3879: yychar = YYLEX;
3880:
1.1.1.3 ! root 3881: pedwarn ("use of array size with vector delete is anachronistic");
1.1 root 3882: yyval.ttype = build_vec_delete (exp, maxindex, elt_size, NULL_TREE,
3883: integer_one_node, integer_two_node);
3884: ;
3885: break;}
1.1.1.2 root 3886: case 170:
1.1.1.3 ! root 3887: #line 1134 "cp-parse.y"
1.1 root 3888: { tree type = groktypename (yyvsp[-2].ttype);
3889: yyval.ttype = build_c_cast (type, yyvsp[0].ttype); ;
3890: break;}
1.1.1.2 root 3891: case 171:
1.1.1.3 ! root 3892: #line 1137 "cp-parse.y"
1.1 root 3893: { tree type = groktypename (yyvsp[-5].ttype);
3894: tree init = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-2].ttype));
3895: if (pedantic)
1.1.1.3 ! root 3896: pedwarn ("ANSI C forbids constructor-expressions");
1.1 root 3897: /* Indicate that this was a GNU C constructor expression. */
3898: TREE_HAS_CONSTRUCTOR (init) = 1;
3899: yyval.ttype = digest_init (type, init, 0);
3900: if (TREE_CODE (type) == ARRAY_TYPE && TYPE_SIZE (type) == 0)
3901: {
3902: int failure = complete_array_type (type, yyval.ttype, 1);
3903: if (failure)
1.1.1.3 ! root 3904: my_friendly_abort (78);
1.1 root 3905: }
3906: ;
3907: break;}
1.1.1.2 root 3908: case 172:
1.1.1.3 ! root 3909: #line 1152 "cp-parse.y"
1.1 root 3910: { yyval.ttype = build_headof (yyvsp[-1].ttype); ;
3911: break;}
1.1.1.2 root 3912: case 173:
1.1.1.3 ! root 3913: #line 1154 "cp-parse.y"
1.1 root 3914: { yyval.ttype = build_classof (yyvsp[-1].ttype); ;
3915: break;}
1.1.1.2 root 3916: case 174:
1.1.1.3 ! root 3917: #line 1156 "cp-parse.y"
1.1 root 3918: { if (is_aggr_typedef (yyvsp[-1].ttype, 1))
3919: {
3920: tree type = IDENTIFIER_TYPE_VALUE (yyvsp[-1].ttype);
3921: yyval.ttype = CLASSTYPE_DOSSIER (type);
3922: }
3923: else
3924: yyval.ttype = error_mark_node;
3925: ;
3926: break;}
1.1.1.2 root 3927: case 176:
1.1.1.3 ! root 3928: #line 1169 "cp-parse.y"
1.1 root 3929: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
3930: break;}
1.1.1.2 root 3931: case 177:
1.1.1.3 ! root 3932: #line 1171 "cp-parse.y"
1.1 root 3933: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
3934: break;}
1.1.1.2 root 3935: case 178:
1.1.1.3 ! root 3936: #line 1173 "cp-parse.y"
1.1 root 3937: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
3938: break;}
1.1.1.2 root 3939: case 179:
1.1.1.3 ! root 3940: #line 1175 "cp-parse.y"
1.1 root 3941: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
3942: break;}
1.1.1.2 root 3943: case 180:
1.1.1.3 ! root 3944: #line 1177 "cp-parse.y"
1.1 root 3945: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
3946: break;}
1.1.1.2 root 3947: case 181:
1.1.1.3 ! root 3948: #line 1179 "cp-parse.y"
1.1 root 3949: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
3950: break;}
1.1.1.2 root 3951: case 182:
1.1.1.3 ! root 3952: #line 1181 "cp-parse.y"
1.1 root 3953: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
3954: break;}
1.1.1.2 root 3955: case 183:
1.1.1.3 ! root 3956: #line 1183 "cp-parse.y"
1.1 root 3957: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
3958: break;}
1.1.1.2 root 3959: case 184:
1.1.1.3 ! root 3960: #line 1185 "cp-parse.y"
1.1 root 3961: { yyval.ttype = build_x_binary_op (LT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
3962: break;}
1.1.1.2 root 3963: case 185:
1.1.1.3 ! root 3964: #line 1187 "cp-parse.y"
1.1 root 3965: { yyval.ttype = build_x_binary_op (GT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
3966: break;}
1.1.1.2 root 3967: case 186:
1.1.1.3 ! root 3968: #line 1189 "cp-parse.y"
1.1 root 3969: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
3970: break;}
1.1.1.2 root 3971: case 187:
1.1.1.3 ! root 3972: #line 1191 "cp-parse.y"
1.1 root 3973: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
3974: break;}
1.1.1.2 root 3975: case 188:
1.1.1.3 ! root 3976: #line 1193 "cp-parse.y"
1.1 root 3977: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
3978: break;}
1.1.1.2 root 3979: case 189:
1.1.1.3 ! root 3980: #line 1195 "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 190:
1.1.1.3 ! root 3984: #line 1197 "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 191:
1.1.1.3 ! root 3988: #line 1199 "cp-parse.y"
1.1 root 3989: { yyval.ttype = build_x_binary_op (TRUTH_ANDIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
3990: break;}
1.1.1.2 root 3991: case 192:
1.1.1.3 ! root 3992: #line 1201 "cp-parse.y"
1.1 root 3993: { yyval.ttype = build_x_binary_op (TRUTH_ORIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
3994: break;}
1.1.1.2 root 3995: case 193:
1.1.1.3 ! root 3996: #line 1203 "cp-parse.y"
1.1 root 3997: { yyval.ttype = build_x_conditional_expr (yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
3998: break;}
1.1.1.2 root 3999: case 194:
1.1.1.3 ! root 4000: #line 1205 "cp-parse.y"
1.1 root 4001: { yyval.ttype = build_modify_expr (yyval.ttype, NOP_EXPR, yyvsp[0].ttype); ;
4002: break;}
1.1.1.2 root 4003: case 195:
1.1.1.3 ! root 4004: #line 1207 "cp-parse.y"
1.1 root 4005: { register tree rval;
4006: if (rval = build_opfncall (MODIFY_EXPR, LOOKUP_NORMAL, yyval.ttype, yyvsp[0].ttype, yyvsp[-1].code))
4007: yyval.ttype = rval;
4008: else
4009: yyval.ttype = build_modify_expr (yyval.ttype, yyvsp[-1].code, yyvsp[0].ttype); ;
4010: break;}
1.1.1.2 root 4011: case 196:
1.1.1.3 ! root 4012: #line 1213 "cp-parse.y"
1.1 root 4013: { yyval.ttype = build_m_component_ref (yyval.ttype, build_indirect_ref (yyvsp[0].ttype, 0)); ;
4014: break;}
1.1.1.2 root 4015: case 197:
1.1.1.3 ! root 4016: #line 1216 "cp-parse.y"
1.1 root 4017: { yyval.ttype = build_x_binary_op (MEMBER_REF, yyval.ttype, yyvsp[0].ttype); ;
4018: break;}
1.1.1.2 root 4019: case 198:
1.1.1.3 ! root 4020: #line 1232 "cp-parse.y"
1.1 root 4021: { yyval.ttype = do_identifier (yyval.ttype); ;
4022: break;}
1.1.1.2 root 4023: case 199:
1.1.1.3 ! root 4024: #line 1234 "cp-parse.y"
1.1 root 4025: {
4026: tree op = yyval.ttype;
4027: if (TREE_CODE (op) != IDENTIFIER_NODE)
4028: yyval.ttype = op;
4029: else
4030: {
4031: yyval.ttype = lookup_name (op);
4032: if (yyval.ttype == NULL_TREE)
4033: {
4034: error ("operator %s not defined", operator_name_string (op));
4035: yyval.ttype = error_mark_node;
4036: }
4037: }
4038: ;
4039: break;}
1.1.1.2 root 4040: case 201:
1.1.1.3 ! root 4041: #line 1250 "cp-parse.y"
1.1 root 4042: { yyval.ttype = combine_strings (yyval.ttype); ;
4043: break;}
1.1.1.2 root 4044: case 202:
1.1.1.3 ! root 4045: #line 1252 "cp-parse.y"
1.1 root 4046: { yyval.ttype = yyvsp[-1].ttype; ;
4047: break;}
1.1.1.2 root 4048: case 203:
1.1.1.3 ! root 4049: #line 1254 "cp-parse.y"
1.1 root 4050: { yyval.ttype = error_mark_node; ;
4051: break;}
1.1.1.2 root 4052: case 204:
1.1.1.3 ! root 4053: #line 1256 "cp-parse.y"
1.1 root 4054: { if (current_function_decl == 0)
4055: {
4056: error ("braced-group within expression allowed only inside a function");
4057: YYERROR;
4058: }
4059: keep_next_level ();
4060: yyval.ttype = expand_start_stmt_expr (); ;
4061: break;}
1.1.1.2 root 4062: case 205:
1.1.1.3 ! root 4063: #line 1264 "cp-parse.y"
1.1 root 4064: { tree rtl_exp;
4065: if (pedantic)
1.1.1.3 ! root 4066: pedwarn ("ANSI C forbids braced-groups within expressions");
1.1 root 4067: rtl_exp = expand_end_stmt_expr (yyvsp[-2].ttype);
4068: /* The statements have side effects, so the group does. */
4069: TREE_SIDE_EFFECTS (rtl_exp) = 1;
4070:
4071: /* Make a BIND_EXPR for the BLOCK already made. */
4072: yyval.ttype = build (BIND_EXPR, TREE_TYPE (rtl_exp),
4073: NULL_TREE, rtl_exp, yyvsp[-1].ttype);
4074: ;
4075: break;}
1.1.1.2 root 4076: case 206:
1.1.1.3 ! root 4077: #line 1276 "cp-parse.y"
1.1 root 4078: { /* [eichin:19911016.1902EST] */
4079: extern struct pending_template* pending_templates;
4080: yyval.ttype = build_x_function_call (yyvsp[-3].ttype, yyvsp[-1].ttype, current_class_decl);
4081: /* here we instantiate_class_template as needed... */
4082: if (pending_templates) do_pending_templates ();
4083: ;
4084: break;}
1.1.1.2 root 4085: case 207:
1.1.1.3 ! root 4086: #line 1281 "cp-parse.y"
1.1 root 4087: {
4088: if (TREE_CODE (yyvsp[-1].ttype) == CALL_EXPR
4089: && TREE_TYPE (yyvsp[-1].ttype) != void_type_node)
4090: yyval.ttype = require_complete_type (yyvsp[-1].ttype);
4091: else
4092: yyval.ttype = yyvsp[-1].ttype;
4093: ;
4094: break;}
1.1.1.2 root 4095: case 208:
1.1.1.3 ! root 4096: #line 1289 "cp-parse.y"
1.1 root 4097: {
4098: yyval.ttype = build_x_function_call (yyval.ttype, NULL_TREE, current_class_decl);
4099: if (TREE_CODE (yyval.ttype) == CALL_EXPR
4100: && TREE_TYPE (yyval.ttype) != void_type_node)
4101: yyval.ttype = require_complete_type (yyval.ttype);
4102: ;
4103: break;}
1.1.1.2 root 4104: case 209:
1.1.1.3 ! root 4105: #line 1296 "cp-parse.y"
1.1 root 4106: {
4107: do_array:
4108: {
4109: tree array_expr = yyval.ttype;
4110: tree index_exp = yyvsp[-1].ttype;
4111: tree type = TREE_TYPE (array_expr);
4112: if (type == error_mark_node || index_exp == error_mark_node)
4113: yyval.ttype = error_mark_node;
4114: else if (type == NULL_TREE)
4115: {
4116: /* Something has gone very wrong. Assume we
4117: are mistakenly reducing an expression
4118: instead of a declaration. */
4119: error ("parser may be lost: is there a '{' missing somewhere?");
4120: yyval.ttype = NULL_TREE;
4121: }
4122: else
4123: {
4124: if (TREE_CODE (type) == OFFSET_TYPE)
4125: type = TREE_TYPE (type);
4126: if (TREE_CODE (type) == REFERENCE_TYPE)
4127: type = TREE_TYPE (type);
4128:
4129: if (TYPE_LANG_SPECIFIC (type)
4130: && TYPE_OVERLOADS_ARRAY_REF (type))
4131: yyval.ttype = build_opfncall (ARRAY_REF, LOOKUP_NORMAL, array_expr, index_exp);
4132: else if (TREE_CODE (type) == POINTER_TYPE
4133: || TREE_CODE (type) == ARRAY_TYPE)
4134: yyval.ttype = build_array_ref (array_expr, index_exp);
4135: else
4136: {
4137: type = TREE_TYPE (index_exp);
4138: if (TREE_CODE (type) == OFFSET_TYPE)
4139: type = TREE_TYPE (type);
4140: if (TREE_CODE (type) == REFERENCE_TYPE)
4141: type = TREE_TYPE (type);
4142:
4143: if (TYPE_LANG_SPECIFIC (type)
4144: && TYPE_OVERLOADS_ARRAY_REF (type))
4145: error ("array expression backwards");
4146: else if (TREE_CODE (type) == POINTER_TYPE
4147: || TREE_CODE (type) == ARRAY_TYPE)
4148: yyval.ttype = build_array_ref (index_exp, array_expr);
4149: else
4150: error("[] applied to non-pointer type");
4151: }
4152: }
4153: }
4154: ;
4155: break;}
1.1.1.2 root 4156: case 210:
1.1.1.3 ! root 4157: #line 1346 "cp-parse.y"
1.1 root 4158: { yyval.ttype = build_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1); ;
4159: break;}
1.1.1.2 root 4160: case 211:
1.1.1.3 ! root 4161: #line 1348 "cp-parse.y"
1.1 root 4162: {
4163: tree basetype = yyvsp[-1].ttype;
4164: if (is_aggr_typedef (basetype, 1))
4165: {
4166: basetype = IDENTIFIER_TYPE_VALUE (basetype);
4167:
4168: if (yyval.ttype == error_mark_node)
4169: ;
4170: else if (binfo_or_else (basetype, TREE_TYPE (yyval.ttype)))
4171: yyval.ttype = build_component_ref (build_scoped_ref (yyval.ttype, yyvsp[-1].ttype), yyvsp[0].ttype, NULL_TREE, 1);
4172: else
4173: yyval.ttype = error_mark_node;
4174: }
4175: else yyval.ttype = error_mark_node;
4176: ;
4177: break;}
1.1.1.2 root 4178: case 212:
1.1.1.3 ! root 4179: #line 1364 "cp-parse.y"
1.1 root 4180: { yyval.ttype = build_x_unary_op (POSTINCREMENT_EXPR, yyval.ttype); ;
4181: break;}
1.1.1.2 root 4182: case 213:
1.1.1.3 ! root 4183: #line 1366 "cp-parse.y"
1.1 root 4184: { yyval.ttype = build_x_unary_op (POSTDECREMENT_EXPR, yyval.ttype); ;
4185: break;}
1.1.1.2 root 4186: case 214:
1.1.1.3 ! root 4187: #line 1370 "cp-parse.y"
1.1 root 4188: { if (current_class_decl)
4189: {
4190: #ifdef WARNING_ABOUT_CCD
4191: TREE_USED (current_class_decl) = 1;
4192: #endif
4193: yyval.ttype = current_class_decl;
4194: }
4195: else if (current_function_decl
4196: && DECL_STATIC_FUNCTION_P (current_function_decl))
4197: {
4198: error ("`this' is unavailable for static member functions");
4199: yyval.ttype = error_mark_node;
4200: }
4201: else
4202: {
4203: if (current_function_decl)
4204: error ("invalid use of `this' in non-member function");
4205: else
4206: error ("invalid use of `this' at top level");
4207: yyval.ttype = error_mark_node;
4208: }
4209: ;
4210: break;}
1.1.1.2 root 4211: case 215:
1.1.1.3 ! root 4212: #line 1393 "cp-parse.y"
1.1 root 4213: {
4214: tree type;
4215: tree id = yyval.ttype;
4216:
4217: /* This is a C cast in C++'s `functional' notation. */
4218: if (yyvsp[-1].ttype == error_mark_node)
4219: {
4220: yyval.ttype = error_mark_node;
4221: break;
4222: }
4223: #if 0
4224: if (yyvsp[-1].ttype == NULL_TREE)
4225: {
4226: error ("cannot cast null list to type `%s'",
4227: IDENTIFIER_POINTER (TYPE_NAME (id)));
4228: yyval.ttype = error_mark_node;
4229: break;
4230: }
4231: #endif
4232: if (type == error_mark_node)
4233: yyval.ttype = error_mark_node;
4234: else
4235: {
4236: if (id == ridpointers[(int) RID_CONST])
4237: type = build_type_variant (integer_type_node, 1, 0);
4238: else if (id == ridpointers[(int) RID_VOLATILE])
4239: type = build_type_variant (integer_type_node, 0, 1);
4240: else if (id == ridpointers[(int) RID_FRIEND])
4241: {
4242: error ("cannot cast expression to `friend' type");
4243: yyval.ttype = error_mark_node;
4244: break;
4245: }
1.1.1.3 ! root 4246: else my_friendly_abort (79);
1.1 root 4247: yyval.ttype = build_c_cast (type, build_compound_expr (yyvsp[-1].ttype));
4248: }
4249: ;
4250: break;}
1.1.1.2 root 4251: case 216:
1.1.1.3 ! root 4252: #line 1431 "cp-parse.y"
1.1 root 4253: { yyval.ttype = build_functional_cast (yyval.ttype, yyvsp[-1].ttype); ;
4254: break;}
1.1.1.2 root 4255: case 217:
1.1.1.3 ! root 4256: #line 1433 "cp-parse.y"
1.1 root 4257: { yyval.ttype = build_functional_cast (yyval.ttype, NULL_TREE); ;
4258: break;}
1.1.1.2 root 4259: case 218:
1.1.1.3 ! root 4260: #line 1435 "cp-parse.y"
1.1 root 4261: {
4262: do_scoped_id:
4263: yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype);
4264: if (yychar == YYEMPTY)
4265: yychar = YYLEX;
4266: if (! yyval.ttype)
4267: {
4268: if (yychar == '(' || yychar == LEFT_RIGHT)
4269: yyval.ttype = implicitly_declare (yyvsp[0].ttype);
4270: else
4271: {
4272: if (IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype) != error_mark_node)
4273: error ("undeclared variable `%s' (first use here)",
4274: IDENTIFIER_POINTER (yyvsp[0].ttype));
4275: yyval.ttype = error_mark_node;
4276: /* Prevent repeated error messages. */
4277: IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype) = error_mark_node;
4278: }
4279: }
4280: else
4281: {
4282: assemble_external (yyval.ttype);
4283: TREE_USED (yyval.ttype) = 1;
4284: }
4285: if (TREE_CODE (yyval.ttype) == CONST_DECL)
4286: yyval.ttype = DECL_INITIAL (yyval.ttype);
4287: /* XXX CHS - should we set TREE_USED of the constant? */
4288: ;
4289: break;}
1.1.1.2 root 4290: case 219:
1.1.1.3 ! root 4291: #line 1464 "cp-parse.y"
1.1 root 4292: {
4293: if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
4294: goto do_scoped_id;
4295: do_scoped_operator:
4296: yyval.ttype = yyvsp[0].ttype;
4297: ;
4298: break;}
1.1.1.2 root 4299: case 220:
1.1.1.3 ! root 4300: #line 1471 "cp-parse.y"
1.1 root 4301: { yyval.ttype = build_offset_ref (yyval.ttype, yyvsp[0].ttype); ;
4302: break;}
1.1.1.2 root 4303: case 221:
1.1.1.3 ! root 4304: #line 1473 "cp-parse.y"
1.1 root 4305: { yyval.ttype = build_member_call (yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
4306: break;}
1.1.1.2 root 4307: case 222:
1.1.1.3 ! root 4308: #line 1475 "cp-parse.y"
1.1 root 4309: { yyval.ttype = build_member_call (yyval.ttype, yyvsp[-1].ttype, NULL_TREE); ;
4310: break;}
1.1.1.2 root 4311: case 223:
1.1.1.3 ! root 4312: #line 1477 "cp-parse.y"
1.1 root 4313: { yyval.ttype = build_method_call (yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE,
4314: (LOOKUP_NORMAL|LOOKUP_AGGR)); ;
4315: break;}
1.1.1.2 root 4316: case 224:
1.1.1.3 ! root 4317: #line 1480 "cp-parse.y"
1.1 root 4318: { yyval.ttype = build_method_call (yyval.ttype, yyvsp[-1].ttype, NULL_TREE, NULL_TREE,
4319: (LOOKUP_NORMAL|LOOKUP_AGGR)); ;
4320: break;}
1.1.1.2 root 4321: case 225:
1.1.1.3 ! root 4322: #line 1483 "cp-parse.y"
1.1 root 4323: { yyval.ttype = build_scoped_method_call (yyval.ttype, yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
4324: break;}
1.1.1.2 root 4325: case 226:
1.1.1.3 ! root 4326: #line 1485 "cp-parse.y"
1.1 root 4327: { yyval.ttype = build_scoped_method_call (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, NULL_TREE); ;
4328: break;}
1.1.1.2 root 4329: case 227:
1.1.1.3 ! root 4330: #line 1527 "cp-parse.y"
1.1 root 4331: { yyval.ttype = NULL_TREE; ;
4332: break;}
1.1.1.2 root 4333: case 228:
1.1.1.3 ! root 4334: #line 1529 "cp-parse.y"
1.1 root 4335: { yyval.ttype = yyvsp[-1].ttype; ;
4336: break;}
1.1.1.2 root 4337: case 229:
1.1.1.3 ! root 4338: #line 1531 "cp-parse.y"
1.1 root 4339: { yyval.ttype = void_type_node; ;
4340: break;}
1.1.1.2 root 4341: case 230:
1.1.1.3 ! root 4342: #line 1533 "cp-parse.y"
1.1 root 4343: { yyval.ttype = combine_strings (yyvsp[-1].ttype); ;
4344: break;}
1.1.1.2 root 4345: case 231:
1.1.1.3 ! root 4346: #line 1538 "cp-parse.y"
1.1 root 4347: { yyval.itype = 0; ;
4348: break;}
1.1.1.2 root 4349: case 232:
1.1.1.3 ! root 4350: #line 1540 "cp-parse.y"
1.1 root 4351: { yyval.itype = 1; ;
4352: break;}
1.1.1.2 root 4353: case 233:
1.1.1.3 ! root 4354: #line 1544 "cp-parse.y"
1.1 root 4355: { yyval.ttype = NULL_TREE; ;
4356: break;}
1.1.1.2 root 4357: case 234:
1.1.1.3 ! root 4358: #line 1546 "cp-parse.y"
1.1 root 4359: { if (yyvsp[0].ttype)
4360: error ("extra `::' before `delete' ignored");
4361: yyval.ttype = error_mark_node;
4362: ;
4363: break;}
1.1.1.2 root 4364: case 236:
1.1.1.3 ! root 4365: #line 1556 "cp-parse.y"
1.1 root 4366: { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
4367: break;}
1.1.1.2 root 4368: case 237:
1.1.1.3 ! root 4369: #line 1561 "cp-parse.y"
1.1 root 4370: {
4371: if (! current_function_parms_stored)
4372: store_parm_decls ();
4373: setup_vtbl_ptr ();
4374: ;
4375: break;}
1.1.1.2 root 4376: case 238:
1.1.1.3 ! root 4377: #line 1569 "cp-parse.y"
1.1 root 4378: {
4379: if (yyval.ttype == error_mark_node)
4380: ;
4381: else
4382: {
4383: tree type = TREE_TYPE (yyval.ttype);
4384:
4385: if (! PROMOTES_TO_AGGR_TYPE (type, REFERENCE_TYPE))
4386: {
4387: error ("object in '.' expression is not of aggregate type");
4388: yyval.ttype = error_mark_node;
4389: }
4390: }
4391: ;
4392: break;}
1.1.1.2 root 4393: case 239:
1.1.1.3 ! root 4394: #line 1584 "cp-parse.y"
1.1 root 4395: {
4396: yyval.ttype = build_x_arrow (yyval.ttype, 0);
4397: ;
4398: break;}
1.1.1.2 root 4399: case 241:
1.1.1.3 ! root 4400: #line 1594 "cp-parse.y"
1.1 root 4401: {
4402: resume_momentary (yyvsp[-1].itype);
4403: note_list_got_semicolon (yyval.ttype);
4404: ;
4405: break;}
1.1.1.2 root 4406: case 242:
1.1.1.3 ! root 4407: #line 1600 "cp-parse.y"
1.1 root 4408: { tree d;
4409: int yes = suspend_momentary ();
4410: d = start_decl (yyvsp[-1].ttype, yyval.ttype, 0, NULL_TREE);
1.1.1.3 ! root 4411: finish_decl (d, NULL_TREE, NULL_TREE, 0);
1.1 root 4412: resume_momentary (yes);
4413: note_list_got_semicolon (yyval.ttype);
4414: ;
4415: break;}
1.1.1.2 root 4416: case 243:
1.1.1.3 ! root 4417: #line 1608 "cp-parse.y"
1.1 root 4418: { resume_momentary (yyvsp[-1].itype); ;
4419: break;}
1.1.1.2 root 4420: case 244:
1.1.1.3 ! root 4421: #line 1611 "cp-parse.y"
1.1 root 4422: { tree d;
4423: int yes = suspend_momentary ();
4424: d = start_decl (yyvsp[-1].ttype, yyval.ttype, 0, NULL_TREE);
1.1.1.3 ! root 4425: finish_decl (d, NULL_TREE, NULL_TREE, 0);
1.1 root 4426: resume_momentary (yes);
4427: ;
4428: break;}
1.1.1.2 root 4429: case 245:
1.1.1.3 ! root 4430: #line 1618 "cp-parse.y"
1.1 root 4431: {
4432: shadow_tag (yyval.ttype);
4433: note_list_got_semicolon (yyval.ttype);
4434: ;
4435: break;}
1.1.1.2 root 4436: case 246:
1.1.1.3 ! root 4437: #line 1623 "cp-parse.y"
1.1 root 4438: { warning ("empty declaration"); ;
4439: break;}
1.1.1.2 root 4440: case 249:
1.1.1.3 ! root 4441: #line 1633 "cp-parse.y"
1.1 root 4442: { yyval.ttype = yyvsp[0].ttype; ;
4443: break;}
1.1.1.2 root 4444: case 250:
1.1.1.3 ! root 4445: #line 1635 "cp-parse.y"
1.1 root 4446: { yyval.ttype = yyvsp[0].ttype; ;
4447: break;}
1.1.1.2 root 4448: case 251:
1.1.1.3 ! root 4449: #line 1644 "cp-parse.y"
1.1 root 4450: { yyval.ttype = list_hash_lookup_or_cons (yyval.ttype); ;
4451: break;}
1.1.1.2 root 4452: case 252:
1.1.1.3 ! root 4453: #line 1646 "cp-parse.y"
1.1 root 4454: { yyval.ttype = hash_tree_chain (yyvsp[0].ttype, yyval.ttype); ;
4455: break;}
1.1.1.2 root 4456: case 253:
1.1.1.3 ! root 4457: #line 1648 "cp-parse.y"
1.1 root 4458: { yyval.ttype = hash_tree_chain (yyval.ttype, yyvsp[0].ttype); ;
4459: break;}
1.1.1.2 root 4460: case 254:
1.1.1.3 ! root 4461: #line 1650 "cp-parse.y"
1.1 root 4462: { yyval.ttype = hash_tree_chain (yyvsp[-1].ttype, hash_chainon (yyvsp[0].ttype, yyval.ttype)); ;
4463: break;}
1.1.1.2 root 4464: case 255:
1.1.1.3 ! root 4465: #line 1656 "cp-parse.y"
1.1 root 4466: { yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
4467: break;}
1.1.1.2 root 4468: case 256:
1.1.1.3 ! root 4469: #line 1658 "cp-parse.y"
1.1 root 4470: { yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
4471: break;}
1.1.1.2 root 4472: case 257:
1.1.1.3 ! root 4473: #line 1660 "cp-parse.y"
1.1 root 4474: { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
4475: break;}
1.1.1.2 root 4476: case 258:
1.1.1.3 ! root 4477: #line 1662 "cp-parse.y"
1.1 root 4478: { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
4479: break;}
1.1.1.2 root 4480: case 259:
1.1.1.3 ! root 4481: #line 1671 "cp-parse.y"
1.1 root 4482: { yyval.ttype = IDENTIFIER_AS_LIST (yyval.ttype); ;
4483: break;}
1.1.1.2 root 4484: case 260:
1.1.1.3 ! root 4485: #line 1673 "cp-parse.y"
1.1 root 4486: { yyval.ttype = IDENTIFIER_AS_LIST (yyval.ttype); ;
4487: break;}
1.1.1.2 root 4488: case 261:
1.1.1.3 ! root 4489: #line 1675 "cp-parse.y"
1.1 root 4490: { yyval.ttype = hash_tree_chain (yyvsp[0].ttype, yyval.ttype); ;
4491: break;}
1.1.1.2 root 4492: case 262:
1.1.1.3 ! root 4493: #line 1677 "cp-parse.y"
1.1 root 4494: { yyval.ttype = hash_tree_chain (yyvsp[0].ttype, yyval.ttype); ;
4495: break;}
1.1.1.2 root 4496: case 263:
1.1.1.3 ! root 4497: #line 1689 "cp-parse.y"
1.1 root 4498: { yyval.ttype = get_decl_list (yyval.ttype); ;
4499: break;}
1.1.1.2 root 4500: case 264:
1.1.1.3 ! root 4501: #line 1691 "cp-parse.y"
1.1 root 4502: { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
4503: break;}
1.1.1.2 root 4504: case 265:
1.1.1.3 ! root 4505: #line 1693 "cp-parse.y"
1.1 root 4506: { yyval.ttype = decl_tree_cons (NULL_TREE, yyval.ttype, yyvsp[0].ttype); ;
4507: break;}
1.1.1.2 root 4508: case 266:
1.1.1.3 ! root 4509: #line 1695 "cp-parse.y"
1.1 root 4510: { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[-1].ttype, hash_chainon (yyvsp[0].ttype, yyval.ttype)); ;
4511: break;}
1.1.1.2 root 4512: case 267:
1.1.1.3 ! root 4513: #line 1700 "cp-parse.y"
1.1 root 4514: { yyval.ttype = get_decl_list (yyval.ttype); ;
4515: break;}
1.1.1.2 root 4516: case 268:
1.1.1.3 ! root 4517: #line 1702 "cp-parse.y"
1.1 root 4518: { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
4519: break;}
1.1.1.2 root 4520: case 273:
1.1.1.3 ! root 4521: #line 1714 "cp-parse.y"
1.1 root 4522: { yyval.ttype = TREE_TYPE (yyvsp[-1].ttype);
4523: if (pedantic)
1.1.1.3 ! root 4524: pedwarn ("ANSI C forbids `typeof'"); ;
1.1 root 4525: break;}
1.1.1.2 root 4526: case 274:
1.1.1.3 ! root 4527: #line 1718 "cp-parse.y"
1.1 root 4528: { yyval.ttype = groktypename (yyvsp[-1].ttype);
4529: if (pedantic)
1.1.1.3 ! root 4530: pedwarn ("ANSI C forbids `typeof'"); ;
1.1 root 4531: break;}
1.1.1.2 root 4532: case 283:
1.1.1.3 ! root 4533: #line 1743 "cp-parse.y"
1.1 root 4534: { yyval.ttype = NULL_TREE; ;
4535: break;}
1.1.1.2 root 4536: case 284:
1.1.1.3 ! root 4537: #line 1745 "cp-parse.y"
1.1 root 4538: { if (TREE_CHAIN (yyvsp[-1].ttype)) yyvsp[-1].ttype = combine_strings (yyvsp[-1].ttype);
4539: yyval.ttype = yyvsp[-1].ttype;
4540: if (pedantic)
1.1.1.3 ! root 4541: pedwarn ("ANSI C forbids use of `asm' keyword");
1.1 root 4542: ;
4543: break;}
1.1.1.2 root 4544: case 285:
1.1.1.3 ! root 4545: #line 1754 "cp-parse.y"
1.1 root 4546: { current_declspecs = yyvsp[-5].ttype;
4547: yyvsp[0].itype = suspend_momentary ();
1.1.1.3 ! root 4548: yyval.ttype = start_decl (yyvsp[-4].ttype, current_declspecs, 1, yyvsp[-3].ttype);
! 4549: decl_attributes (yyval.ttype, yyvsp[-1].ttype); ;
1.1 root 4550: break;}
1.1.1.2 root 4551: case 286:
1.1.1.3 ! root 4552: #line 1760 "cp-parse.y"
! 4553: { finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 0);
1.1 root 4554: yyval.itype = yyvsp[-2].itype; ;
4555: break;}
1.1.1.2 root 4556: case 287:
1.1.1.3 ! root 4557: #line 1763 "cp-parse.y"
1.1 root 4558: { tree d;
4559: current_declspecs = yyvsp[-4].ttype;
4560: yyval.itype = suspend_momentary ();
4561: d = start_decl (yyvsp[-3].ttype, current_declspecs, 0, yyvsp[-2].ttype);
1.1.1.3 ! root 4562: decl_attributes (d, yyvsp[0].ttype);
! 4563: finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 0); ;
1.1 root 4564: break;}
1.1.1.2 root 4565: case 288:
1.1.1.3 ! root 4566: #line 1773 "cp-parse.y"
! 4567: { yyval.ttype = start_decl (yyvsp[-4].ttype, current_declspecs, 1, yyvsp[-3].ttype);
! 4568: decl_attributes (yyval.ttype, yyvsp[-1].ttype); ;
1.1 root 4569: break;}
1.1.1.2 root 4570: case 289:
1.1.1.3 ! root 4571: #line 1777 "cp-parse.y"
! 4572: { finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 0); ;
1.1 root 4573: break;}
1.1.1.2 root 4574: case 290:
1.1.1.3 ! root 4575: #line 1779 "cp-parse.y"
1.1 root 4576: { tree d = start_decl (yyval.itype, current_declspecs, 0, yyvsp[-2].ttype);
1.1.1.3 ! root 4577: decl_attributes (yyval.ttype, yyvsp[0].ttype);
! 4578: finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 0); ;
1.1 root 4579: break;}
1.1.1.2 root 4580: case 291:
1.1.1.3 ! root 4581: #line 1786 "cp-parse.y"
1.1 root 4582: { current_declspecs = yyvsp[-5].ttype;
4583: yyvsp[0].itype = suspend_momentary ();
1.1.1.3 ! root 4584: yyval.ttype = start_decl (yyvsp[-4].ttype, current_declspecs, 1, yyvsp[-3].ttype);
! 4585: decl_attributes (yyval.ttype, yyvsp[-1].ttype); ;
1.1 root 4586: break;}
1.1.1.2 root 4587: case 292:
1.1.1.3 ! root 4588: #line 1792 "cp-parse.y"
! 4589: { finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 0);
1.1 root 4590: yyval.itype = yyvsp[-2].itype; ;
4591: break;}
1.1.1.2 root 4592: case 293:
1.1.1.3 ! root 4593: #line 1795 "cp-parse.y"
1.1 root 4594: { tree d;
4595: current_declspecs = yyvsp[-4].ttype;
4596: yyval.itype = suspend_momentary ();
4597: d = start_decl (yyvsp[-3].ttype, current_declspecs, 0, yyvsp[-2].ttype);
1.1.1.3 ! root 4598: decl_attributes (d, yyvsp[0].ttype);
! 4599: finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 0); ;
1.1 root 4600: break;}
1.1.1.2 root 4601: case 294:
1.1.1.3 ! root 4602: #line 1807 "cp-parse.y"
1.1 root 4603: { yyval.ttype = NULL_TREE; ;
4604: break;}
1.1.1.2 root 4605: case 295:
1.1.1.3 ! root 4606: #line 1809 "cp-parse.y"
1.1 root 4607: { yyval.ttype = yyvsp[-2].ttype; ;
4608: break;}
1.1.1.3 ! root 4609: case 296:
! 4610: #line 1814 "cp-parse.y"
! 4611: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
! 4612: break;}
! 4613: case 297:
! 4614: #line 1816 "cp-parse.y"
! 4615: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype); ;
! 4616: break;}
1.1.1.2 root 4617: case 298:
1.1.1.3 ! root 4618: #line 1821 "cp-parse.y"
! 4619: { if (strcmp (IDENTIFIER_POINTER (yyvsp[0].ttype), "packed"))
! 4620: warning ("`%s' attribute directive ignored",
! 4621: IDENTIFIER_POINTER (yyvsp[0].ttype));
! 4622: yyval.ttype = yyvsp[0].ttype; ;
1.1 root 4623: break;}
1.1.1.2 root 4624: case 299:
1.1.1.3 ! root 4625: #line 1826 "cp-parse.y"
! 4626: { /* if not "aligned(n)", then issue warning */
! 4627: if (strcmp (IDENTIFIER_POINTER (yyvsp[-3].ttype), "aligned") != 0
! 4628: || TREE_CODE (yyvsp[-1].ttype) != INTEGER_CST)
! 4629: {
! 4630: warning ("`%s' attribute directive ignored",
! 4631: IDENTIFIER_POINTER (yyvsp[-3].ttype));
! 4632: yyval.ttype = yyvsp[-3].ttype;
! 4633: }
! 4634: else
! 4635: yyval.ttype = tree_cons (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
1.1 root 4636: break;}
1.1.1.2 root 4637: case 300:
1.1.1.3 ! root 4638: #line 1837 "cp-parse.y"
! 4639: { /* if not "format(...)", then issue warning */
! 4640: if (strcmp (IDENTIFIER_POINTER (yyvsp[-7].ttype), "format") != 0
! 4641: || TREE_CODE (yyvsp[-3].ttype) != INTEGER_CST
! 4642: || TREE_CODE (yyvsp[-1].ttype) != INTEGER_CST)
! 4643: {
! 4644: warning ("`%s' attribute directive ignored",
! 4645: IDENTIFIER_POINTER (yyvsp[-7].ttype));
! 4646: yyval.ttype = yyvsp[-7].ttype;
! 4647: }
! 4648: else
! 4649: yyval.ttype = tree_cons (yyvsp[-7].ttype, tree_cons (yyvsp[-5].ttype, tree_cons (yyvsp[-3].ttype, yyvsp[-1].ttype))); ;
1.1 root 4650: break;}
1.1.1.2 root 4651: case 301:
1.1.1.3 ! root 4652: #line 1853 "cp-parse.y"
1.1.1.2 root 4653: { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
4654: break;}
4655: case 302:
1.1.1.3 ! root 4656: #line 1855 "cp-parse.y"
1.1.1.2 root 4657: { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
4658: break;}
4659: case 304:
1.1.1.3 ! root 4660: #line 1861 "cp-parse.y"
1.1 root 4661: { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, NULL_TREE);
4662: TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1;
4663: if (pedantic)
1.1.1.3 ! root 4664: pedwarn ("ANSI C forbids empty initializer braces"); ;
1.1 root 4665: break;}
1.1.1.3 ! root 4666: case 305:
! 4667: #line 1866 "cp-parse.y"
1.1 root 4668: { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-1].ttype));
4669: TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
4670: break;}
1.1.1.3 ! root 4671: case 306:
! 4672: #line 1869 "cp-parse.y"
1.1 root 4673: { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-2].ttype));
4674: TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
4675: break;}
1.1.1.3 ! root 4676: case 307:
! 4677: #line 1872 "cp-parse.y"
1.1 root 4678: { yyval.ttype = NULL_TREE; ;
4679: break;}
1.1.1.3 ! root 4680: case 308:
! 4681: #line 1879 "cp-parse.y"
1.1 root 4682: { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
4683: break;}
1.1.1.3 ! root 4684: case 309:
! 4685: #line 1881 "cp-parse.y"
1.1 root 4686: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
4687: break;}
1.1.1.3 ! root 4688: case 310:
! 4689: #line 1884 "cp-parse.y"
1.1 root 4690: { yyval.ttype = build_tree_list (yyvsp[-2].ttype, yyvsp[0].ttype); ;
4691: break;}
1.1.1.3 ! root 4692: case 311:
! 4693: #line 1886 "cp-parse.y"
1.1 root 4694: { yyval.ttype = tree_cons (yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype); ;
4695: break;}
1.1.1.3 ! root 4696: case 312:
! 4697: #line 1888 "cp-parse.y"
1.1 root 4698: { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[0].ttype); ;
4699: break;}
1.1.1.3 ! root 4700: case 313:
! 4701: #line 1890 "cp-parse.y"
1.1 root 4702: { yyval.ttype = tree_cons (yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype); ;
4703: break;}
1.1.1.3 ! root 4704: case 314:
! 4705: #line 1895 "cp-parse.y"
1.1 root 4706: { yyvsp[0].itype = suspend_momentary ();
4707: yyval.ttype = start_enum (yyvsp[-1].ttype); ;
4708: break;}
1.1.1.3 ! root 4709: case 315:
! 4710: #line 1898 "cp-parse.y"
1.1 root 4711: { yyval.ttype = finish_enum (yyvsp[-3].ttype, yyvsp[-2].ttype);
4712: resume_momentary (yyvsp[-4].itype);
4713: check_for_missing_semicolon (yyvsp[-3].ttype); ;
4714: break;}
1.1.1.3 ! root 4715: case 316:
! 4716: #line 1902 "cp-parse.y"
1.1 root 4717: { yyval.ttype = finish_enum (start_enum (yyvsp[-2].ttype), NULL_TREE);
4718: check_for_missing_semicolon (yyval.ttype); ;
4719: break;}
1.1.1.3 ! root 4720: case 317:
! 4721: #line 1905 "cp-parse.y"
1.1 root 4722: { yyvsp[0].itype = suspend_momentary ();
4723: yyval.ttype = start_enum (make_anon_name ()); ;
4724: break;}
1.1.1.3 ! root 4725: case 318:
! 4726: #line 1908 "cp-parse.y"
1.1 root 4727: { yyval.ttype = finish_enum (yyvsp[-3].ttype, yyvsp[-2].ttype);
4728: resume_momentary (yyvsp[-5].itype);
4729: check_for_missing_semicolon (yyvsp[-3].ttype); ;
4730: break;}
1.1.1.3 ! root 4731: case 319:
! 4732: #line 1912 "cp-parse.y"
1.1 root 4733: { yyval.ttype = finish_enum (start_enum (make_anon_name()), NULL_TREE);
4734: check_for_missing_semicolon (yyval.ttype); ;
4735: break;}
1.1.1.3 ! root 4736: case 320:
! 4737: #line 1915 "cp-parse.y"
1.1 root 4738: { yyval.ttype = xref_tag (enum_type_node, yyvsp[0].ttype, NULL_TREE); ;
4739: break;}
1.1.1.3 ! root 4740: case 321:
! 4741: #line 1919 "cp-parse.y"
1.1 root 4742: {
4743: int semi;
4744: #if 0
4745: /* Need to rework class nesting in the
4746: presence of nested classes, etc. */
4747: shadow_tag (CLASSTYPE_AS_LIST (yyval.ttype)); */
4748: #endif
4749: semi = yychar == ';';
4750: if (semi)
4751: note_got_semicolon (yyval.ttype);
4752: if (TREE_CODE (yyval.ttype) == ENUMERAL_TYPE)
4753: /* $$ = $1 from default rule. */;
4754: else if (CLASSTYPE_DECLARED_EXCEPTION (yyval.ttype))
4755: {
4756: if (! semi)
4757: yyval.ttype = finish_exception (yyval.ttype, yyvsp[-1].ttype);
4758: else
4759: warning ("empty exception declaration\n");
4760: }
4761: else
4762: yyval.ttype = finish_struct (yyval.ttype, yyvsp[-1].ttype, semi, semi);
4763:
4764: pop_obstacks ();
4765: if (! semi)
4766: check_for_missing_semicolon (yyval.ttype); ;
4767: break;}
1.1.1.3 ! root 4768: case 322:
! 4769: #line 1945 "cp-parse.y"
1.1 root 4770: {
4771: #if 0
4772: /* It's no longer clear what the following error is supposed to
4773: accomplish. If it turns out to be needed, add a comment why. */
4774: if (TYPE_BINFO_BASETYPES (yyval.ttype) && !TYPE_SIZE (yyval.ttype))
4775: {
4776: error ("incomplete definition of type `%s'",
4777: TYPE_NAME_STRING (yyval.ttype));
4778: yyval.ttype = error_mark_node;
4779: }
4780: #endif
4781: ;
4782: break;}
1.1.1.3 ! root 4783: case 326:
! 4784: #line 1967 "cp-parse.y"
! 4785: { if (pedantic) pedwarn ("comma at end of enumerator list"); ;
1.1 root 4786: break;}
1.1.1.3 ! root 4787: case 328:
! 4788: #line 1972 "cp-parse.y"
1.1 root 4789: { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
4790: break;}
1.1.1.3 ! root 4791: case 329:
! 4792: #line 1974 "cp-parse.y"
1.1 root 4793: { yyval.ttype = build_tree_list (yyvsp[-2].ttype, yyvsp[0].ttype); ;
4794: break;}
1.1.1.3 ! root 4795: case 330:
! 4796: #line 1976 "cp-parse.y"
1.1 root 4797: { error ("storage class specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype));
4798: ;
4799: break;}
1.1.1.3 ! root 4800: case 331:
! 4801: #line 1979 "cp-parse.y"
1.1 root 4802: { error ("type specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype));
4803: ;
4804: break;}
1.1.1.3 ! root 4805: case 332:
! 4806: #line 1982 "cp-parse.y"
1.1 root 4807: { error ("type qualifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype));
4808: ;
4809: break;}
1.1.1.3 ! root 4810: case 333:
! 4811: #line 1985 "cp-parse.y"
1.1 root 4812: { error ("no body nor ';' separates two class, struct or union declarations");
4813: ;
4814: break;}
1.1.1.3 ! root 4815: case 334:
! 4816: #line 1991 "cp-parse.y"
1.1 root 4817: { aggr1: current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
4818: break;}
1.1.1.3 ! root 4819: case 335:
! 4820: #line 1993 "cp-parse.y"
1.1 root 4821: { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
4822: break;}
1.1.1.3 ! root 4823: case 336:
! 4824: #line 1995 "cp-parse.y"
1.1 root 4825: { yyungetc (':', 1); goto aggr1; ;
4826: break;}
1.1.1.3 ! root 4827: case 337:
! 4828: #line 1997 "cp-parse.y"
1.1 root 4829: { yyungetc ('{', 1);
4830: aggr2:
4831: current_aggr = yyval.ttype;
4832: yyval.ttype = yyvsp[-1].ttype; ;
4833: break;}
1.1.1.3 ! root 4834: case 338:
! 4835: #line 2002 "cp-parse.y"
1.1 root 4836: { yyungetc (':', 1); goto aggr2; ;
4837: break;}
1.1.1.3 ! root 4838: case 339:
! 4839: #line 2007 "cp-parse.y"
1.1 root 4840: { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
4841: break;}
1.1.1.3 ! root 4842: case 340:
! 4843: #line 2012 "cp-parse.y"
1.1 root 4844: {
4845: yyval.ttype = xref_tag (current_aggr, yyvsp[0].ttype, NULL_TREE);
4846: ;
4847: break;}
1.1.1.3 ! root 4848: case 341:
! 4849: #line 2016 "cp-parse.y"
1.1 root 4850: {
4851: if (yyvsp[0].ttype)
4852: yyval.ttype = xref_tag (current_aggr, yyvsp[-2].ttype, yyvsp[0].ttype);
4853: else
4854: yyval.ttype = yyvsp[-1].ttype;
4855: ;
4856: break;}
1.1.1.3 ! root 4857: case 342:
! 4858: #line 2024 "cp-parse.y"
1.1 root 4859: {
4860: yyval.ttype = xref_defn_tag (current_aggr, yyvsp[0].ttype, NULL_TREE);
4861: ;
4862: break;}
1.1.1.3 ! root 4863: case 343:
! 4864: #line 2028 "cp-parse.y"
1.1 root 4865: {
4866: if (yyvsp[0].ttype)
4867: yyval.ttype = xref_defn_tag (current_aggr, yyvsp[-2].ttype, yyvsp[0].ttype);
4868: else
4869: yyval.ttype = yyvsp[-1].ttype;
4870: ;
4871: break;}
1.1.1.3 ! root 4872: case 344:
! 4873: #line 2037 "cp-parse.y"
1.1 root 4874: { yyval.ttype = xref_tag (yyval.ttype, make_anon_name (), NULL_TREE);
4875: yyungetc ('{', 1); ;
4876: break;}
1.1.1.3 ! root 4877: case 347:
! 4878: #line 2045 "cp-parse.y"
1.1 root 4879: { yyval.ttype = NULL_TREE; ;
4880: break;}
1.1.1.3 ! root 4881: case 348:
! 4882: #line 2047 "cp-parse.y"
1.1 root 4883: { yyungetc(':', 1); yyval.ttype = NULL_TREE; ;
4884: break;}
1.1.1.3 ! root 4885: case 349:
! 4886: #line 2049 "cp-parse.y"
1.1 root 4887: { yyval.ttype = yyvsp[0].ttype; ;
4888: break;}
1.1.1.3 ! root 4889: case 351:
! 4890: #line 2055 "cp-parse.y"
1.1 root 4891: { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
4892: break;}
1.1.1.3 ! root 4893: case 352:
! 4894: #line 2060 "cp-parse.y"
1.1 root 4895: { if (! is_aggr_typedef (yyval.ttype, 1))
4896: yyval.ttype = NULL_TREE;
4897: else yyval.ttype = build_tree_list ((tree)visibility_default, yyval.ttype); ;
4898: break;}
1.1.1.3 ! root 4899: case 353:
! 4900: #line 2064 "cp-parse.y"
1.1 root 4901: { if (! is_aggr_typedef (yyvsp[0].ttype, 1))
4902: yyval.ttype = NULL_TREE;
4903: else yyval.ttype = build_tree_list ((tree) yyval.ttype, yyvsp[0].ttype); ;
4904: break;}
1.1.1.3 ! root 4905: case 356:
! 4906: #line 2076 "cp-parse.y"
1.1 root 4907: {
4908: if (yyval.itype == visibility_protected)
4909: {
4910: warning ("`protected' visibility not implemented");
4911: yyval.itype = visibility_public;
4912: }
4913: ;
4914: break;}
1.1.1.3 ! root 4915: case 357:
! 4916: #line 2084 "cp-parse.y"
1.1 root 4917: { if (yyval.ttype != ridpointers[(int)RID_VIRTUAL])
4918: sorry ("non-virtual visibility");
4919: yyval.itype = visibility_default_virtual; ;
4920: break;}
1.1.1.3 ! root 4921: case 358:
! 4922: #line 2088 "cp-parse.y"
1.1 root 4923: { int err = 0;
4924: if (yyvsp[0].itype == visibility_protected)
4925: {
4926: warning ("`protected' visibility not implemented");
4927: yyvsp[0].itype = visibility_public;
4928: err++;
4929: }
4930: else if (yyvsp[0].itype == visibility_public)
4931: {
4932: if (yyvsp[-1].itype == visibility_private)
4933: {
4934: mixed:
4935: error ("base class cannot be public and private");
4936: }
4937: else if (yyvsp[-1].itype == visibility_default_virtual)
4938: yyval.itype = visibility_public_virtual;
4939: }
1.1.1.2 root 4940: else /* $2 == visibility_private */
1.1 root 4941: {
4942: if (yyvsp[-1].itype == visibility_public)
4943: goto mixed;
4944: else if (yyvsp[-1].itype == visibility_default_virtual)
4945: yyval.itype = visibility_private_virtual;
4946: }
4947: ;
4948: break;}
1.1.1.3 ! root 4949: case 359:
! 4950: #line 2114 "cp-parse.y"
1.1 root 4951: { if (yyvsp[0].ttype != ridpointers[(int)RID_VIRTUAL])
4952: sorry ("non-virtual visibility");
4953: if (yyval.itype == visibility_public)
4954: yyval.itype = visibility_public_virtual;
4955: else if (yyval.itype == visibility_private)
4956: yyval.itype = visibility_private_virtual; ;
4957: break;}
1.1.1.3 ! root 4958: case 360:
! 4959: #line 2123 "cp-parse.y"
1.1 root 4960: { tree t;
4961: push_obstacks_nochange ();
4962: end_temporary_allocation ();
4963:
4964: if (! IS_AGGR_TYPE (yyvsp[-1].ttype))
4965: {
4966: yyvsp[-1].ttype = make_lang_type (RECORD_TYPE);
4967: TYPE_NAME (yyvsp[-1].ttype) = get_identifier ("erroneous type");
4968: }
4969: if (TYPE_SIZE (yyvsp[-1].ttype))
4970: duplicate_tag_error (yyvsp[-1].ttype);
4971: if (TYPE_SIZE (yyvsp[-1].ttype) || TYPE_BEING_DEFINED (yyvsp[-1].ttype))
4972: {
4973: t = make_lang_type (TREE_CODE (yyvsp[-1].ttype));
1.1.1.3 ! root 4974: pushtag (TYPE_IDENTIFIER (yyvsp[-1].ttype), t);
1.1 root 4975: yyvsp[-1].ttype = t;
4976: }
4977: pushclass (yyvsp[-1].ttype, 0);
4978: TYPE_BEING_DEFINED (yyvsp[-1].ttype) = 1;
1.1.1.3 ! root 4979: t = TYPE_IDENTIFIER (yyvsp[-1].ttype);
1.1 root 4980: if (IDENTIFIER_TEMPLATE (t))
4981: overload_template_name (t, 1);
4982: ;
4983: break;}
1.1.1.3 ! root 4984: case 361:
! 4985: #line 2150 "cp-parse.y"
1.1 root 4986: { yyval.ttype = NULL_TREE; ;
4987: break;}
1.1.1.3 ! root 4988: case 362:
! 4989: #line 2152 "cp-parse.y"
1.1 root 4990: { yyval.ttype = build_tree_list ((tree)visibility_default, yyval.ttype); ;
4991: break;}
1.1.1.3 ! root 4992: case 363:
! 4993: #line 2154 "cp-parse.y"
1.1 root 4994: { yyval.ttype = chainon (yyval.ttype, build_tree_list ((tree) yyvsp[-2].itype, yyvsp[0].ttype)); ;
4995: break;}
1.1.1.3 ! root 4996: case 365:
! 4997: #line 2160 "cp-parse.y"
1.1 root 4998: { if (yyval.ttype == void_type_node) yyval.ttype = NULL_TREE; ;
4999: break;}
1.1.1.3 ! root 5000: case 366:
! 5001: #line 2162 "cp-parse.y"
1.1 root 5002: { if (yyvsp[0].ttype != NULL_TREE && yyvsp[0].ttype != void_type_node)
5003: yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
5004: break;}
1.1.1.3 ! root 5005: case 367:
! 5006: #line 2165 "cp-parse.y"
1.1 root 5007: { if (pedantic)
1.1.1.3 ! root 5008: pedwarn ("extra semicolon in struct or union specified"); ;
1.1 root 5009: break;}
1.1.1.3 ! root 5010: case 368:
! 5011: #line 2171 "cp-parse.y"
1.1 root 5012: {
5013: do_components:
5014: if (yyvsp[-1].ttype == void_type_node)
5015: /* We just got some friends.
5016: They have been recorded elsewhere. */
5017: yyval.ttype = NULL_TREE;
5018: else if (yyvsp[-1].ttype == NULL_TREE)
5019: {
5020: tree t = groktypename (build_decl_list (yyval.ttype, NULL_TREE));
5021: if (t == NULL_TREE)
5022: {
5023: error ("error in component specification");
5024: yyval.ttype = NULL_TREE;
5025: }
5026: else if (TREE_CODE (t) == UNION_TYPE)
5027: {
5028: /* handle anonymous unions */
5029: if (CLASSTYPE_METHOD_VEC (t))
5030: sorry ("methods in anonymous unions");
5031: yyval.ttype = build_lang_field_decl (FIELD_DECL, NULL_TREE, t);
5032: }
5033: else if (TREE_CODE (t) == ENUMERAL_TYPE)
5034: yyval.ttype = grok_enum_decls (t, NULL_TREE);
5035: else if (TREE_CODE (t) == RECORD_TYPE)
5036: {
5037: if (TYPE_LANG_SPECIFIC (t)
5038: && CLASSTYPE_DECLARED_EXCEPTION (t))
5039: shadow_tag (yyval.ttype);
5040: yyval.ttype = NULL_TREE;
5041: }
5042: else if (t != void_type_node)
5043: {
5044: error ("empty component declaration");
5045: yyval.ttype = NULL_TREE;
5046: }
5047: else yyval.ttype = NULL_TREE;
5048: }
5049: else
5050: {
5051: tree t = TREE_TYPE (yyvsp[-1].ttype);
5052: if (TREE_CODE (t) == ENUMERAL_TYPE && TREE_NONLOCAL_FLAG (t))
5053: yyval.ttype = grok_enum_decls (t, yyvsp[-1].ttype);
5054: else
5055: yyval.ttype = yyvsp[-1].ttype;
5056: }
5057: end_exception_decls ();
5058: ;
5059: break;}
1.1.1.3 ! root 5060: case 369:
! 5061: #line 2219 "cp-parse.y"
1.1 root 5062: { yyval.ttype = groktypefield (yyval.ttype, yyvsp[-2].ttype); ;
5063: break;}
1.1.1.3 ! root 5064: case 370:
! 5065: #line 2221 "cp-parse.y"
1.1 root 5066: { error ("missing ';' before right brace");
5067: yyungetc ('}', 0);
5068: yyval.ttype = groktypefield (yyval.ttype, yyvsp[-2].ttype); ;
5069: break;}
1.1.1.3 ! root 5070: case 371:
! 5071: #line 2225 "cp-parse.y"
1.1 root 5072: { yyval.ttype = groktypefield (yyval.ttype, empty_parms ()); ;
5073: break;}
1.1.1.3 ! root 5074: case 372:
! 5075: #line 2227 "cp-parse.y"
1.1 root 5076: { error ("missing ';' before right brace");
5077: yyungetc ('}', 0);
5078: yyval.ttype = groktypefield (yyval.ttype, empty_parms ()); ;
5079: break;}
1.1.1.3 ! root 5080: case 373:
! 5081: #line 2231 "cp-parse.y"
1.1 root 5082: { goto do_components; ;
5083: break;}
1.1.1.3 ! root 5084: case 374:
! 5085: #line 2234 "cp-parse.y"
1.1 root 5086: { yyval.ttype = grokfield (yyvsp[-1].ttype, yyval.ttype, 0, 0, 0, 0); ;
5087: break;}
1.1.1.3 ! root 5088: case 375:
! 5089: #line 2236 "cp-parse.y"
1.1 root 5090: { error ("missing ';' before right brace");
5091: yyungetc ('}', 0);
5092: goto do_components; ;
5093: break;}
1.1.1.3 ! root 5094: case 376:
! 5095: #line 2240 "cp-parse.y"
1.1 root 5096: { yyval.ttype = groktypefield (yyval.ttype, yyvsp[-2].ttype); ;
5097: break;}
1.1.1.3 ! root 5098: case 377:
! 5099: #line 2242 "cp-parse.y"
1.1 root 5100: { error ("missing ';' before right brace");
5101: yyungetc ('}', 0);
5102: yyval.ttype = groktypefield (yyval.ttype, yyvsp[-2].ttype); ;
5103: break;}
1.1.1.3 ! root 5104: case 378:
! 5105: #line 2246 "cp-parse.y"
1.1 root 5106: { yyval.ttype = groktypefield (yyval.ttype, empty_parms ()); ;
5107: break;}
1.1.1.3 ! root 5108: case 379:
! 5109: #line 2248 "cp-parse.y"
1.1 root 5110: { error ("missing ';' before right brace");
5111: yyungetc ('}', 0);
5112: yyval.ttype = groktypefield (yyval.ttype, empty_parms ()); ;
5113: break;}
1.1.1.3 ! root 5114: case 380:
! 5115: #line 2252 "cp-parse.y"
1.1 root 5116: { yyval.ttype = grokbitfield (NULL_TREE, NULL_TREE, yyvsp[-1].ttype); ;
5117: break;}
1.1.1.3 ! root 5118: case 381:
! 5119: #line 2254 "cp-parse.y"
1.1 root 5120: { error ("missing ';' before right brace");
5121: yyungetc ('}', 0);
5122: yyval.ttype = grokbitfield (NULL_TREE, NULL_TREE, yyvsp[-1].ttype); ;
5123: break;}
1.1.1.3 ! root 5124: case 382:
! 5125: #line 2258 "cp-parse.y"
1.1 root 5126: { yyval.ttype = NULL_TREE; ;
5127: break;}
1.1.1.3 ! root 5128: case 383:
! 5129: #line 2263 "cp-parse.y"
1.1 root 5130: { yyval.ttype = finish_method (yyval.ttype); ;
5131: break;}
1.1.1.3 ! root 5132: case 384:
! 5133: #line 2265 "cp-parse.y"
1.1 root 5134: { yyval.ttype = finish_method (yyval.ttype); ;
5135: break;}
1.1.1.3 ! root 5136: case 385:
! 5137: #line 2267 "cp-parse.y"
1.1 root 5138: { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[-1].ttype, NULL_TREE, NULL_TREE); ;
5139: break;}
1.1.1.3 ! root 5140: case 386:
! 5141: #line 2269 "cp-parse.y"
1.1 root 5142: { error ("missing ';' before right brace");
5143: yyungetc ('}', 0);
5144: yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[-1].ttype, NULL_TREE, NULL_TREE); ;
5145: break;}
1.1.1.3 ! root 5146: case 387:
! 5147: #line 2276 "cp-parse.y"
1.1 root 5148: { yyval.ttype = NULL_TREE; ;
5149: break;}
1.1.1.3 ! root 5150: case 389:
! 5151: #line 2279 "cp-parse.y"
1.1 root 5152: {
5153: /* In this context, void_type_node encodes
5154: friends. They have been recorded elsewhere. */
5155: if (yyval.ttype == void_type_node)
5156: yyval.ttype = yyvsp[0].ttype;
5157: else
5158: yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype);
5159: ;
5160: break;}
1.1.1.3 ! root 5161: case 390:
! 5162: #line 2291 "cp-parse.y"
! 5163: { current_declspecs = yyvsp[-4].ttype;
! 5164: yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[-2].ttype, NULL_TREE, yyvsp[-1].ttype);
! 5165: decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
! 5166: break;}
! 5167: case 391:
! 5168: #line 2295 "cp-parse.y"
! 5169: { current_declspecs = yyvsp[-6].ttype;
! 5170: yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[-4].ttype, yyvsp[0].ttype, yyvsp[-3].ttype);
! 5171: decl_attributes (yyval.ttype, yyvsp[-2].ttype); ;
! 5172: break;}
1.1.1.2 root 5173: case 392:
1.1.1.3 ! root 5174: #line 2299 "cp-parse.y"
! 5175: { current_declspecs = yyvsp[-4].ttype;
! 5176: yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
! 5177: decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
1.1 root 5178: break;}
1.1.1.2 root 5179: case 393:
1.1.1.3 ! root 5180: #line 2303 "cp-parse.y"
! 5181: { current_declspecs = yyvsp[-3].ttype;
! 5182: yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
! 5183: decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
1.1 root 5184: break;}
1.1.1.2 root 5185: case 394:
1.1.1.3 ! root 5186: #line 2307 "cp-parse.y"
! 5187: { current_declspecs = yyvsp[-2].ttype;
! 5188: yyval.ttype = grokbitfield (NULL_TREE, NULL_TREE, yyvsp[0].ttype); ;
1.1 root 5189: break;}
1.1.1.2 root 5190: case 395:
1.1.1.3 ! root 5191: #line 2313 "cp-parse.y"
! 5192: { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[-2].ttype, NULL_TREE, yyvsp[-1].ttype);
! 5193: decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
1.1 root 5194: break;}
1.1.1.2 root 5195: case 396:
1.1.1.3 ! root 5196: #line 2316 "cp-parse.y"
! 5197: { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[-4].ttype, yyvsp[0].ttype, yyvsp[-3].ttype);
! 5198: decl_attributes (yyval.ttype, yyvsp[-2].ttype); ;
1.1 root 5199: break;}
1.1.1.2 root 5200: case 397:
1.1.1.3 ! root 5201: #line 2319 "cp-parse.y"
! 5202: { yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
! 5203: decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
1.1 root 5204: break;}
1.1.1.2 root 5205: case 398:
1.1.1.3 ! root 5206: #line 2322 "cp-parse.y"
! 5207: { yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
! 5208: decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
1.1 root 5209: break;}
1.1.1.2 root 5210: case 399:
1.1.1.3 ! root 5211: #line 2325 "cp-parse.y"
1.1 root 5212: { yyval.ttype = grokbitfield (NULL_TREE, NULL_TREE, yyvsp[0].ttype); ;
5213: break;}
1.1.1.3 ! root 5214: case 401:
! 5215: #line 2335 "cp-parse.y"
1.1 root 5216: { TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
5217: break;}
1.1.1.3 ! root 5218: case 402:
! 5219: #line 2340 "cp-parse.y"
1.1 root 5220: { yyval.ttype = build_enumerator (yyval.ttype, NULL_TREE); ;
5221: break;}
1.1.1.3 ! root 5222: case 403:
! 5223: #line 2342 "cp-parse.y"
1.1 root 5224: { yyval.ttype = build_enumerator (yyval.ttype, yyvsp[0].ttype); ;
5225: break;}
1.1.1.3 ! root 5226: case 404:
! 5227: #line 2347 "cp-parse.y"
1.1 root 5228: { yyval.ttype = build_decl_list (yyval.ttype, yyvsp[0].ttype); ;
5229: break;}
1.1.1.3 ! root 5230: case 405:
! 5231: #line 2349 "cp-parse.y"
1.1 root 5232: { yyval.ttype = build_decl_list (yyval.ttype, yyvsp[0].ttype); ;
5233: break;}
1.1.1.3 ! root 5234: case 406:
! 5235: #line 2354 "cp-parse.y"
1.1 root 5236: { yyval.ttype = NULL_TREE; ;
5237: break;}
1.1.1.3 ! root 5238: case 408:
! 5239: #line 2357 "cp-parse.y"
1.1 root 5240: { yyval.ttype = yyvsp[0].ttype; ;
5241: break;}
1.1.1.3 ! root 5242: case 409:
! 5243: #line 2362 "cp-parse.y"
1.1 root 5244: { yyval.ttype = IDENTIFIER_AS_LIST (yyval.ttype); ;
5245: break;}
1.1.1.3 ! root 5246: case 410:
! 5247: #line 2364 "cp-parse.y"
1.1 root 5248: { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
5249: break;}
1.1.1.3 ! root 5250: case 411:
! 5251: #line 2369 "cp-parse.y"
1.1 root 5252: { yyval.ttype = NULL_TREE; ;
5253: break;}
1.1.1.3 ! root 5254: case 412:
! 5255: #line 2371 "cp-parse.y"
1.1 root 5256: { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
5257: break;}
1.1.1.3 ! root 5258: case 413:
! 5259: #line 2379 "cp-parse.y"
1.1 root 5260: { yyval.itype = suspend_momentary (); ;
5261: break;}
1.1.1.3 ! root 5262: case 414:
! 5263: #line 2380 "cp-parse.y"
1.1 root 5264: { resume_momentary (yyvsp[-1].itype); yyval.ttype = yyvsp[0].ttype; ;
5265: break;}
1.1.1.3 ! root 5266: case 415:
! 5267: #line 2386 "cp-parse.y"
1.1 root 5268: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
5269: break;}
1.1.1.3 ! root 5270: case 416:
! 5271: #line 2388 "cp-parse.y"
1.1 root 5272: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
5273: break;}
1.1.1.3 ! root 5274: case 417:
! 5275: #line 2390 "cp-parse.y"
1.1 root 5276: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, empty_parms (), yyvsp[0].ttype); ;
5277: break;}
1.1.1.3 ! root 5278: case 418:
! 5279: #line 2392 "cp-parse.y"
1.1 root 5280: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, NULL_TREE, NULL_TREE); ;
5281: break;}
1.1.1.3 ! root 5282: case 419:
! 5283: #line 2394 "cp-parse.y"
1.1 root 5284: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
5285: break;}
1.1.1.3 ! root 5286: case 420:
! 5287: #line 2396 "cp-parse.y"
1.1 root 5288: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
5289: break;}
1.1.1.3 ! root 5290: case 421:
! 5291: #line 2398 "cp-parse.y"
1.1 root 5292: { yyval.ttype = yyvsp[-1].ttype; ;
5293: break;}
1.1.1.3 ! root 5294: case 422:
! 5295: #line 2400 "cp-parse.y"
1.1 root 5296: { yyval.ttype = make_pointer_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
5297: break;}
1.1.1.3 ! root 5298: case 423:
! 5299: #line 2402 "cp-parse.y"
1.1 root 5300: { see_typename (); ;
5301: break;}
1.1.1.3 ! root 5302: case 425:
! 5303: #line 2405 "cp-parse.y"
1.1 root 5304: { yyval.ttype = make_reference_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
5305: break;}
1.1.1.3 ! root 5306: case 426:
! 5307: #line 2407 "cp-parse.y"
1.1 root 5308: { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
5309: break;}
1.1.1.3 ! root 5310: case 427:
! 5311: #line 2409 "cp-parse.y"
1.1 root 5312: { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
5313: break;}
1.1.1.3 ! root 5314: case 429:
! 5315: #line 2415 "cp-parse.y"
1.1 root 5316: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
5317: break;}
1.1.1.3 ! root 5318: case 430:
! 5319: #line 2417 "cp-parse.y"
1.1 root 5320: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
5321: break;}
1.1.1.3 ! root 5322: case 431:
! 5323: #line 2419 "cp-parse.y"
1.1 root 5324: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, empty_parms (), yyvsp[0].ttype); ;
5325: break;}
1.1.1.3 ! root 5326: case 432:
! 5327: #line 2421 "cp-parse.y"
1.1 root 5328: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, NULL_TREE, NULL_TREE); ;
5329: break;}
1.1.1.3 ! root 5330: case 433:
! 5331: #line 2423 "cp-parse.y"
1.1 root 5332: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
5333: break;}
1.1.1.3 ! root 5334: case 434:
! 5335: #line 2425 "cp-parse.y"
1.1 root 5336: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
5337: break;}
1.1.1.3 ! root 5338: case 435:
! 5339: #line 2427 "cp-parse.y"
1.1 root 5340: { yyval.ttype = yyvsp[-1].ttype; ;
5341: break;}
1.1.1.3 ! root 5342: case 436:
! 5343: #line 2429 "cp-parse.y"
1.1 root 5344: { see_typename (); ;
5345: break;}
1.1.1.3 ! root 5346: case 438:
! 5347: #line 2432 "cp-parse.y"
1.1 root 5348: { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
5349: break;}
1.1.1.3 ! root 5350: case 439:
! 5351: #line 2434 "cp-parse.y"
1.1 root 5352: { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
5353: break;}
1.1.1.3 ! root 5354: case 440:
! 5355: #line 2442 "cp-parse.y"
1.1 root 5356: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
5357: break;}
1.1.1.3 ! root 5358: case 441:
! 5359: #line 2444 "cp-parse.y"
1.1 root 5360: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
5361: break;}
1.1.1.3 ! root 5362: case 442:
! 5363: #line 2446 "cp-parse.y"
1.1 root 5364: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, empty_parms (), yyvsp[0].ttype); ;
5365: break;}
1.1.1.3 ! root 5366: case 443:
! 5367: #line 2448 "cp-parse.y"
1.1 root 5368: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, NULL_TREE, NULL_TREE); ;
5369: break;}
1.1.1.3 ! root 5370: case 444:
! 5371: #line 2450 "cp-parse.y"
1.1 root 5372: { yyval.ttype = yyvsp[-1].ttype; ;
5373: break;}
1.1.1.3 ! root 5374: case 445:
! 5375: #line 2452 "cp-parse.y"
1.1 root 5376: { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
5377: break;}
1.1.1.3 ! root 5378: case 446:
! 5379: #line 2454 "cp-parse.y"
1.1 root 5380: { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
5381: break;}
1.1.1.3 ! root 5382: case 447:
! 5383: #line 2456 "cp-parse.y"
1.1 root 5384: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
5385: break;}
1.1.1.3 ! root 5386: case 448:
! 5387: #line 2458 "cp-parse.y"
1.1 root 5388: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
5389: break;}
1.1.1.3 ! root 5390: case 449:
! 5391: #line 2460 "cp-parse.y"
1.1 root 5392: { see_typename (); ;
5393: break;}
1.1.1.3 ! root 5394: case 450:
! 5395: #line 2464 "cp-parse.y"
1.1 root 5396: { see_typename (); ;
5397: break;}
1.1.1.3 ! root 5398: case 451:
! 5399: #line 2467 "cp-parse.y"
1.1 root 5400: {
5401: destructor_name:
5402: see_typename ();
5403: yyval.ttype = build_parse_node (BIT_NOT_EXPR, yyvsp[0].ttype);
5404: ;
5405: break;}
1.1.1.3 ! root 5406: case 452:
! 5407: #line 2473 "cp-parse.y"
1.1 root 5408: { goto destructor_name; ;
5409: break;}
1.1.1.3 ! root 5410: case 453:
! 5411: #line 2475 "cp-parse.y"
1.1 root 5412: { goto destructor_name; ;
5413: break;}
1.1.1.3 ! root 5414: case 454:
! 5415: #line 2477 "cp-parse.y"
1.1 root 5416: {
5417: see_typename ();
5418: yyval.ttype = build_parse_node (WRAPPER_EXPR, yyvsp[0].ttype);
5419: ;
5420: break;}
1.1.1.3 ! root 5421: case 455:
! 5422: #line 2482 "cp-parse.y"
1.1 root 5423: {
5424: see_typename ();
5425: yyval.ttype = build_parse_node (WRAPPER_EXPR,
5426: build_parse_node (COND_EXPR, yyvsp[0].ttype, NULL_TREE, NULL_TREE));
5427: ;
5428: break;}
1.1.1.3 ! root 5429: case 456:
! 5430: #line 2488 "cp-parse.y"
1.1 root 5431: { see_typename ();
5432: yyval.ttype = build_parse_node (ANTI_WRAPPER_EXPR, yyvsp[0].ttype); ;
5433: break;}
1.1.1.3 ! root 5434: case 457:
! 5435: #line 2491 "cp-parse.y"
1.1 root 5436: { see_typename ();
5437: if (TREE_CODE (yyval.ttype) != SCOPE_REF)
5438: yyval.ttype = build_push_scope (yyval.ttype, yyvsp[0].ttype);
5439: else if (TREE_OPERAND (yyval.ttype, 1) == NULL_TREE)
5440: TREE_OPERAND (yyval.ttype, 1) = yyvsp[0].ttype;
5441: else
5442: yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype);
5443: ;
5444: break;}
1.1.1.3 ! root 5445: case 458:
! 5446: #line 2500 "cp-parse.y"
1.1 root 5447: { yyval.ttype = build_push_scope (yyval.ttype, yyvsp[0].ttype); ;
5448: break;}
1.1.1.3 ! root 5449: case 459:
! 5450: #line 2502 "cp-parse.y"
1.1 root 5451: { yyval.ttype = build_push_scope (yyval.ttype, build_parse_node (CALL_EXPR, yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[0].ttype)); ;
5452: break;}
1.1.1.3 ! root 5453: case 460:
! 5454: #line 2504 "cp-parse.y"
1.1 root 5455: { yyval.ttype = build_push_scope (yyval.ttype, build_parse_node (CALL_EXPR, yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[0].ttype)); ;
5456: break;}
1.1.1.3 ! root 5457: case 461:
! 5458: #line 2506 "cp-parse.y"
1.1 root 5459: { yyval.ttype = build_push_scope (yyval.ttype, build_parse_node (CALL_EXPR, yyvsp[-2].ttype, empty_parms (), yyvsp[0].ttype)); ;
5460: break;}
1.1.1.3 ! root 5461: case 462:
! 5462: #line 2508 "cp-parse.y"
1.1 root 5463: { yyval.ttype = build_push_scope (yyval.ttype, build_parse_node (CALL_EXPR, yyvsp[-4].ttype, NULL_TREE, NULL_TREE)); ;
5464: break;}
1.1.1.3 ! root 5465: case 463:
! 5466: #line 2511 "cp-parse.y"
1.1 root 5467: { yyval.ttype = build_push_scope (yyval.ttype, yyvsp[0].ttype); ;
5468: break;}
1.1.1.3 ! root 5469: case 464:
! 5470: #line 2513 "cp-parse.y"
1.1 root 5471: { yyval.ttype = build_push_scope (yyval.ttype, build_parse_node (CALL_EXPR, yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[0].ttype)); ;
5472: break;}
1.1.1.3 ! root 5473: case 465:
! 5474: #line 2515 "cp-parse.y"
1.1 root 5475: { yyval.ttype = build_push_scope (yyval.ttype, build_parse_node (CALL_EXPR, yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[0].ttype)); ;
5476: break;}
1.1.1.3 ! root 5477: case 466:
! 5478: #line 2517 "cp-parse.y"
1.1 root 5479: { yyval.ttype = build_push_scope (yyval.ttype, build_parse_node (CALL_EXPR, yyvsp[-2].ttype, empty_parms (), yyvsp[0].ttype)); ;
5480: break;}
1.1.1.3 ! root 5481: case 467:
! 5482: #line 2519 "cp-parse.y"
1.1 root 5483: { yyval.ttype = build_push_scope (yyval.ttype, build_parse_node (CALL_EXPR, yyvsp[-4].ttype, NULL_TREE, NULL_TREE)); ;
5484: break;}
1.1.1.3 ! root 5485: case 468:
! 5486: #line 2521 "cp-parse.y"
1.1 root 5487: { yyval.ttype = build_parse_node (SCOPE_REF, NULL_TREE, yyvsp[0].ttype); ;
5488: break;}
1.1.1.3 ! root 5489: case 469:
! 5490: #line 2525 "cp-parse.y"
1.1.1.2 root 5491: { yyval.ttype = resolve_scope_to_name (NULL_TREE, yyval.ttype);
5492: if (yyval.ttype == NULL_TREE)
5493: {
5494: error ("undefined explicitly scoped type");
5495: yyval.ttype = error_mark_node;
5496: }
5497: ;
1.1 root 5498: break;}
1.1.1.3 ! root 5499: case 470:
! 5500: #line 2533 "cp-parse.y"
1.1 root 5501: {
5502: if (yyval.ttype == error_mark_node)
5503: /* leave it alone */;
5504: else
5505: {
5506: yyval.ttype = resolve_scope_to_name (NULL_TREE, TYPE_IDENTIFIER (yyval.ttype));
1.1.1.2 root 5507: if (yyval.ttype == NULL_TREE)
5508: {
5509: error ("undefined explicitly scoped type");
5510: yyval.ttype = error_mark_node;
5511: }
1.1 root 5512: }
5513: if (yyvsp[0].itype) popclass (1);
5514: ;
5515: break;}
1.1.1.3 ! root 5516: case 473:
! 5517: #line 2569 "cp-parse.y"
1.1 root 5518: { see_typename ();
5519: yyval.ttype = yyvsp[-1].ttype; ;
5520: break;}
1.1.1.3 ! root 5521: case 474:
! 5522: #line 2573 "cp-parse.y"
1.1 root 5523: { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
5524: break;}
1.1.1.3 ! root 5525: case 475:
! 5526: #line 2575 "cp-parse.y"
1.1 root 5527: { yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ;
5528: break;}
1.1.1.3 ! root 5529: case 476:
! 5530: #line 2577 "cp-parse.y"
1.1 root 5531: { see_typename (); ;
5532: break;}
1.1.1.3 ! root 5533: case 477:
! 5534: #line 2579 "cp-parse.y"
1.1 root 5535: { yyval.ttype = yyvsp[-1].ttype; ;
5536: break;}
1.1.1.3 ! root 5537: case 478:
! 5538: #line 2581 "cp-parse.y"
1.1 root 5539: { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
5540: break;}
1.1.1.3 ! root 5541: case 479:
! 5542: #line 2583 "cp-parse.y"
1.1 root 5543: { yyval.ttype = make_reference_declarator (yyvsp[0].ttype, NULL_TREE); ;
5544: break;}
1.1.1.3 ! root 5545: case 480:
! 5546: #line 2585 "cp-parse.y"
1.1 root 5547: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
5548: break;}
1.1.1.3 ! root 5549: case 481:
! 5550: #line 2587 "cp-parse.y"
1.1 root 5551: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, empty_parms (), yyvsp[0].ttype); ;
5552: break;}
1.1.1.3 ! root 5553: case 482:
! 5554: #line 2589 "cp-parse.y"
1.1 root 5555: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
5556: break;}
1.1.1.3 ! root 5557: case 483:
! 5558: #line 2591 "cp-parse.y"
1.1 root 5559: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
5560: break;}
1.1.1.3 ! root 5561: case 484:
! 5562: #line 2593 "cp-parse.y"
1.1 root 5563: { yyval.ttype = build_parse_node (CALL_EXPR, NULL_TREE, yyvsp[-2].ttype, yyvsp[0].ttype); ;
5564: break;}
1.1.1.3 ! root 5565: case 485:
! 5566: #line 2595 "cp-parse.y"
1.1 root 5567: { yyval.ttype = build_parse_node (CALL_EXPR, NULL_TREE, empty_parms (), yyvsp[0].ttype); ;
5568: break;}
1.1.1.3 ! root 5569: case 486:
! 5570: #line 2597 "cp-parse.y"
1.1 root 5571: { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
5572: break;}
1.1.1.3 ! root 5573: case 487:
! 5574: #line 2599 "cp-parse.y"
1.1 root 5575: { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, NULL_TREE); ;
5576: break;}
1.1.1.3 ! root 5577: case 488:
! 5578: #line 2604 "cp-parse.y"
1.1 root 5579: { tree t;
5580: t = yyval.ttype;
5581: while (TREE_OPERAND (t, 1))
5582: t = TREE_OPERAND (t, 1);
5583: TREE_OPERAND (t, 1) = build_parse_node (INDIRECT_REF, 0);
5584: ;
5585: break;}
1.1.1.3 ! root 5586: case 489:
! 5587: #line 2611 "cp-parse.y"
1.1 root 5588: { tree t;
5589: t = yyval.ttype;
5590: while (TREE_OPERAND (t, 1))
5591: t = TREE_OPERAND (t, 1);
5592: TREE_OPERAND (t, 1) = build_parse_node (INDIRECT_REF, yyvsp[0].ttype);
5593: ;
5594: break;}
1.1.1.3 ! root 5595: case 490:
! 5596: #line 2618 "cp-parse.y"
1.1 root 5597: { tree t;
5598: t = yyval.ttype;
5599: while (TREE_OPERAND (t, 1))
5600: t = TREE_OPERAND (t, 1);
5601: TREE_OPERAND (t, 1) = build_parse_node (ADDR_EXPR, 0);
5602: ;
5603: break;}
1.1.1.3 ! root 5604: case 491:
! 5605: #line 2625 "cp-parse.y"
1.1 root 5606: { tree t;
5607: t = yyval.ttype;
5608: while (TREE_OPERAND (t, 1))
5609: t = TREE_OPERAND (t, 1);
5610: TREE_OPERAND (t, 1) = build_parse_node (ADDR_EXPR, yyvsp[0].ttype);
5611: ;
5612: break;}
1.1.1.3 ! root 5613: case 492:
! 5614: #line 2635 "cp-parse.y"
1.1 root 5615: { tree t;
5616: t = yyval.ttype;
5617: while (TREE_OPERAND (t, 1))
5618: t = TREE_OPERAND (t, 1);
5619: TREE_OPERAND (t, 1) = build_parse_node (INDIRECT_REF, yyvsp[0].ttype);
5620: ;
5621: break;}
1.1.1.3 ! root 5622: case 493:
! 5623: #line 2642 "cp-parse.y"
1.1 root 5624: { tree t;
5625: t = yyval.ttype;
5626: while (TREE_OPERAND (t, 1))
5627: t = TREE_OPERAND (t, 1);
5628: TREE_OPERAND (t, 1) = build_parse_node (ADDR_EXPR, yyvsp[0].ttype);
5629: ;
5630: break;}
1.1.1.3 ! root 5631: case 499:
! 5632: #line 2669 "cp-parse.y"
1.1.1.2 root 5633: { emit_line_note (input_filename, lineno);
1.1 root 5634: pushlevel (0);
5635: clear_last_expr ();
5636: push_momentary ();
5637: expand_start_bindings (0);
1.1.1.2 root 5638: yyval.strtype = stmt_decl_msg;
5639: stmt_decl_msg = 0; ;
5640: break;}
1.1.1.3 ! root 5641: case 501:
! 5642: #line 2683 "cp-parse.y"
1.1.1.2 root 5643: { if (pedantic)
5644: pedwarn ("ANSI C forbids label declarations"); ;
5645: break;}
1.1.1.3 ! root 5646: case 504:
! 5647: #line 2694 "cp-parse.y"
1.1.1.2 root 5648: { tree link;
5649: for (link = yyvsp[-1].ttype; link; link = TREE_CHAIN (link))
5650: {
5651: tree label = shadow_label (TREE_VALUE (link));
5652: C_DECLARED_LABEL_FLAG (label) = 1;
5653: declare_nonlocal_label (label);
5654: }
1.1 root 5655: ;
5656: break;}
1.1.1.3 ! root 5657: case 505:
! 5658: #line 2708 "cp-parse.y"
1.1 root 5659: {;
5660: break;}
1.1.1.3 ! root 5661: case 507:
! 5662: #line 2713 "cp-parse.y"
1.1 root 5663: { yyval.ttype = convert (void_type_node, integer_zero_node); ;
5664: break;}
1.1.1.3 ! root 5665: case 508:
! 5666: #line 2715 "cp-parse.y"
1.1 root 5667: { pop_implicit_try_blocks (NULL_TREE);
1.1.1.2 root 5668: stmt_decl_msg = yyvsp[-3].strtype;
1.1 root 5669: expand_end_bindings (getdecls (), kept_level_p (), 1);
5670: yyval.ttype = poplevel (kept_level_p (), 1, 0);
5671: pop_momentary (); ;
5672: break;}
1.1.1.3 ! root 5673: case 509:
! 5674: #line 2721 "cp-parse.y"
1.1 root 5675: { pop_implicit_try_blocks (NULL_TREE);
1.1.1.2 root 5676: stmt_decl_msg = yyvsp[-3].strtype;
1.1 root 5677: expand_end_bindings (getdecls (), kept_level_p (), 1);
5678: yyval.ttype = poplevel (kept_level_p (), 0, 0);
5679: pop_momentary (); ;
5680: break;}
1.1.1.3 ! root 5681: case 510:
! 5682: #line 2730 "cp-parse.y"
1.1 root 5683: { emit_line_note (input_filename, lineno);
5684: expand_start_cond (truthvalue_conversion (yyvsp[-1].ttype), 0);
5685: stmt_decl_msg = "if"; ;
5686: break;}
1.1.1.3 ! root 5687: case 511:
! 5688: #line 2734 "cp-parse.y"
1.1 root 5689: { stmt_decl_msg = 0; ;
5690: break;}
1.1.1.3 ! root 5691: case 512:
! 5692: #line 2739 "cp-parse.y"
1.1 root 5693: { finish_stmt (); ;
5694: break;}
1.1.1.3 ! root 5695: case 513:
! 5696: #line 2741 "cp-parse.y"
1.1 root 5697: { if (stmt_decl_msg)
5698: error ("declaration after %s invalid", stmt_decl_msg);
5699: stmt_decl_msg = 0;
5700: finish_stmt (); ;
5701: break;}
1.1.1.3 ! root 5702: case 514:
! 5703: #line 2746 "cp-parse.y"
1.1 root 5704: {
5705: tree expr = yyvsp[-1].ttype;
5706: emit_line_note (input_filename, lineno);
5707: /* Do default conversion if safe and possibly important,
5708: in case within ({...}). */
5709: if ((TREE_CODE (TREE_TYPE (expr)) == ARRAY_TYPE
5710: && lvalue_p (expr))
5711: || TREE_CODE (TREE_TYPE (expr)) == FUNCTION_TYPE)
5712: expr = default_conversion (expr);
5713: cplus_expand_expr_stmt (expr);
5714: clear_momentary ();
5715: finish_stmt (); ;
5716: break;}
1.1.1.3 ! root 5717: case 515:
! 5718: #line 2759 "cp-parse.y"
1.1 root 5719: { expand_start_else ();
5720: stmt_decl_msg = "else"; ;
5721: break;}
1.1.1.3 ! root 5722: case 516:
! 5723: #line 2762 "cp-parse.y"
1.1 root 5724: { expand_end_cond ();
5725: stmt_decl_msg = 0;
5726: finish_stmt (); ;
5727: break;}
1.1.1.3 ! root 5728: case 517:
! 5729: #line 2766 "cp-parse.y"
1.1 root 5730: { expand_end_cond ();
5731: stmt_decl_msg = 0;
5732: finish_stmt (); ;
5733: break;}
1.1.1.3 ! root 5734: case 518:
! 5735: #line 2770 "cp-parse.y"
1.1 root 5736: { emit_nop ();
5737: emit_line_note (input_filename, lineno);
5738: expand_start_loop (1); ;
5739: break;}
1.1.1.3 ! root 5740: case 519:
! 5741: #line 2774 "cp-parse.y"
1.1 root 5742: { expand_exit_loop_if_false (0, truthvalue_conversion (yyvsp[-1].ttype));
5743: stmt_decl_msg = "while"; ;
5744: break;}
1.1.1.3 ! root 5745: case 520:
! 5746: #line 2777 "cp-parse.y"
1.1 root 5747: {
5748: expand_end_loop ();
5749: stmt_decl_msg = 0;
5750: finish_stmt (); ;
5751: break;}
1.1.1.3 ! root 5752: case 521:
! 5753: #line 2782 "cp-parse.y"
1.1 root 5754: { emit_nop ();
5755: emit_line_note (input_filename, lineno);
5756: expand_start_loop_continue_elsewhere (1);
5757: stmt_decl_msg = "do"; ;
5758: break;}
1.1.1.3 ! root 5759: case 522:
! 5760: #line 2787 "cp-parse.y"
1.1 root 5761: { stmt_decl_msg = 0;
5762: expand_loop_continue_here (); ;
5763: break;}
1.1.1.3 ! root 5764: case 523:
! 5765: #line 2790 "cp-parse.y"
1.1 root 5766: { emit_line_note (input_filename, lineno);
5767: expand_exit_loop_if_false (0, truthvalue_conversion (yyvsp[-2].ttype));
5768: expand_end_loop ();
5769: clear_momentary ();
5770: finish_stmt (); ;
5771: break;}
1.1.1.3 ! root 5772: case 524:
! 5773: #line 2796 "cp-parse.y"
1.1 root 5774: { emit_nop ();
5775: emit_line_note (input_filename, lineno);
5776: if (yyvsp[0].ttype) cplus_expand_expr_stmt (yyvsp[0].ttype);
5777: expand_start_loop_continue_elsewhere (1); ;
5778: break;}
1.1.1.3 ! root 5779: case 525:
! 5780: #line 2801 "cp-parse.y"
1.1 root 5781: { emit_line_note (input_filename, lineno);
5782: if (yyvsp[-1].ttype) expand_exit_loop_if_false (0, truthvalue_conversion (yyvsp[-1].ttype)); ;
5783: break;}
1.1.1.3 ! root 5784: case 526:
! 5785: #line 2806 "cp-parse.y"
1.1 root 5786: { push_momentary ();
5787: stmt_decl_msg = "for"; ;
5788: break;}
1.1.1.3 ! root 5789: case 527:
! 5790: #line 2809 "cp-parse.y"
1.1 root 5791: { emit_line_note (input_filename, lineno);
5792: expand_loop_continue_here ();
5793: if (yyvsp[-3].ttype) cplus_expand_expr_stmt (yyvsp[-3].ttype);
5794: pop_momentary ();
5795: expand_end_loop ();
5796: stmt_decl_msg = 0;
5797: finish_stmt (); ;
5798: break;}
1.1.1.3 ! root 5799: case 528:
! 5800: #line 2817 "cp-parse.y"
1.1 root 5801: { emit_nop ();
5802: emit_line_note (input_filename, lineno);
5803: expand_start_loop_continue_elsewhere (1); ;
5804: break;}
1.1.1.3 ! root 5805: case 529:
! 5806: #line 2821 "cp-parse.y"
1.1 root 5807: { emit_line_note (input_filename, lineno);
5808: if (yyvsp[-1].ttype) expand_exit_loop_if_false (0, truthvalue_conversion (yyvsp[-1].ttype)); ;
5809: break;}
1.1.1.3 ! root 5810: case 530:
! 5811: #line 2826 "cp-parse.y"
1.1 root 5812: { push_momentary ();
5813: stmt_decl_msg = "for";
5814: yyvsp[0].itype = lineno; ;
5815: break;}
1.1.1.3 ! root 5816: case 531:
! 5817: #line 2830 "cp-parse.y"
1.1 root 5818: { emit_line_note (input_filename, yyvsp[-2].itype);
5819: expand_loop_continue_here ();
5820: if (yyvsp[-3].ttype) cplus_expand_expr_stmt (yyvsp[-3].ttype);
5821: pop_momentary ();
5822: expand_end_loop ();
5823: pop_implicit_try_blocks (NULL_TREE);
5824: if (yyvsp[-8].itype)
5825: {
5826: register keep = yyvsp[-8].itype > 0;
5827: if (keep) expand_end_bindings (0, keep, 1);
5828: poplevel (keep, 1, 0);
5829: pop_momentary ();
5830: }
5831: stmt_decl_msg = 0;
5832: finish_stmt ();
5833: ;
5834: break;}
1.1.1.3 ! root 5835: case 532:
! 5836: #line 2847 "cp-parse.y"
1.1 root 5837: { emit_line_note (input_filename, lineno);
5838: c_expand_start_case (yyvsp[-1].ttype);
5839: /* Don't let the tree nodes for $3 be discarded by
5840: clear_momentary during the parsing of the next stmt. */
5841: push_momentary ();
5842: stmt_decl_msg = "switch"; ;
5843: break;}
1.1.1.3 ! root 5844: case 533:
! 5845: #line 2854 "cp-parse.y"
1.1 root 5846: { expand_end_case (yyvsp[-3].ttype);
5847: pop_momentary ();
5848: stmt_decl_msg = 0;
5849: finish_stmt (); ;
5850: break;}
1.1.1.3 ! root 5851: case 534:
! 5852: #line 2859 "cp-parse.y"
1.1 root 5853: { register tree value = yyvsp[-1].ttype;
5854: register tree label
5855: = build_decl (LABEL_DECL, NULL_TREE, NULL_TREE);
5856:
5857: /* build_c_cast puts on a NOP_EXPR to make a non-lvalue.
5858: Strip such NOP_EXPRs. */
5859: if (TREE_CODE (value) == NOP_EXPR
5860: && TREE_TYPE (value) == TREE_TYPE (TREE_OPERAND (value, 0)))
5861: value = TREE_OPERAND (value, 0);
5862:
5863: if (TREE_READONLY_DECL_P (value))
5864: {
5865: value = decl_constant_value (value);
5866: /* build_c_cast puts on a NOP_EXPR to make a non-lvalue.
5867: Strip such NOP_EXPRs. */
5868: if (TREE_CODE (value) == NOP_EXPR
5869: && TREE_TYPE (value) == TREE_TYPE (TREE_OPERAND (value, 0)))
5870: value = TREE_OPERAND (value, 0);
5871: }
5872: value = fold (value);
5873:
5874: if (TREE_CODE (value) != INTEGER_CST
5875: && value != error_mark_node)
5876: {
5877: error ("case label does not reduce to an integer constant");
5878: value = error_mark_node;
5879: }
5880: else
5881: /* Promote char or short to int. */
5882: value = default_conversion (value);
5883: if (value != error_mark_node)
5884: {
5885: tree duplicate;
5886: int success = pushcase (value, label, &duplicate);
5887: if (success == 1)
5888: error ("case label not within a switch statement");
5889: else if (success == 2)
5890: {
5891: error ("duplicate case value");
5892: error_with_decl (duplicate, "this is the first entry for that value");
5893: }
5894: else if (success == 3)
5895: warning ("case value out of range");
5896: else if (success == 5)
5897: error ("case label within scope of cleanup or variable array");
5898: }
5899: define_case_label (label);
5900: ;
5901: break;}
1.1.1.3 ! root 5902: case 536:
! 5903: #line 2909 "cp-parse.y"
1.1 root 5904: { register tree value1 = yyvsp[-3].ttype;
5905: register tree value2 = yyvsp[-1].ttype;
5906: register tree label
5907: = build_decl (LABEL_DECL, NULL_TREE, NULL_TREE);
5908:
5909: if (pedantic)
5910: {
5911: error ("ANSI C does not allow range expressions in switch statement");
5912: value1 = error_mark_node;
5913: value2 = error_mark_node;
5914: break;
5915: }
5916: /* build_c_cast puts on a NOP_EXPR to make a non-lvalue.
5917: Strip such NOP_EXPRs. */
5918: if (TREE_CODE (value1) == NOP_EXPR
5919: && TREE_TYPE (value1) == TREE_TYPE (TREE_OPERAND (value1, 0)))
5920: value1 = TREE_OPERAND (value1, 0);
5921:
5922: if (TREE_READONLY_DECL_P (value1))
5923: {
5924: value1 = decl_constant_value (value1);
5925: /* build_c_cast puts on a NOP_EXPR to make a non-lvalue.
5926: Strip such NOP_EXPRs. */
5927: if (TREE_CODE (value1) == NOP_EXPR
5928: && TREE_TYPE (value1) == TREE_TYPE (TREE_OPERAND (value1, 0)))
5929: value1 = TREE_OPERAND (value1, 0);
5930: }
5931: value1 = fold (value1);
5932:
5933: /* build_c_cast puts on a NOP_EXPR to make a non-lvalue.
5934: Strip such NOP_EXPRs. */
5935: if (TREE_CODE (value2) == NOP_EXPR
5936: && TREE_TYPE (value2) == TREE_TYPE (TREE_OPERAND (value2, 0)))
5937: value2 = TREE_OPERAND (value2, 0);
5938:
5939: if (TREE_READONLY_DECL_P (value2))
5940: {
5941: value2 = decl_constant_value (value2);
5942: /* build_c_cast puts on a NOP_EXPR to make a non-lvalue.
5943: Strip such NOP_EXPRs. */
5944: if (TREE_CODE (value2) == NOP_EXPR
5945: && TREE_TYPE (value2) == TREE_TYPE (TREE_OPERAND (value2, 0)))
5946: value2 = TREE_OPERAND (value2, 0);
5947: }
5948: value2 = fold (value2);
5949:
5950:
5951: if (TREE_CODE (value1) != INTEGER_CST
5952: && value1 != error_mark_node)
5953: {
5954: error ("case label does not reduce to an integer constant");
5955: value1 = error_mark_node;
5956: }
5957: if (TREE_CODE (value2) != INTEGER_CST
5958: && value2 != error_mark_node)
5959: {
5960: error ("case label does not reduce to an integer constant");
5961: value2 = error_mark_node;
5962: }
5963: if (value1 != error_mark_node
5964: && value2 != error_mark_node)
5965: {
5966: tree duplicate;
1.1.1.2 root 5967: int success = pushcase_range (value1, value2, label,
5968: &duplicate);
1.1 root 5969: if (success == 1)
5970: error ("case label not within a switch statement");
5971: else if (success == 2)
5972: {
5973: error ("duplicate (or overlapping) case value");
5974: error_with_decl (duplicate, "this is the first entry overlapping that value");
5975: }
5976: else if (success == 3)
5977: warning ("case value out of range");
5978: else if (success == 4)
5979: warning ("empty range specified");
5980: else if (success == 5)
5981: error ("case label within scope of cleanup or variable array");
5982: }
5983: define_case_label (label);
5984: ;
5985: break;}
1.1.1.3 ! root 5986: case 538:
! 5987: #line 2992 "cp-parse.y"
1.1 root 5988: {
5989: tree duplicate;
5990: register tree label
5991: = build_decl (LABEL_DECL, NULL_TREE, NULL_TREE);
5992: int success = pushcase (NULL_TREE, label, &duplicate);
5993: if (success == 1)
5994: error ("default label not within a switch statement");
5995: else if (success == 2)
5996: {
5997: error ("multiple default labels in one switch");
5998: error_with_decl (duplicate, "this is the first default label");
5999: }
6000: define_case_label (NULL_TREE);
6001: ;
6002: break;}
1.1.1.3 ! root 6003: case 540:
! 6004: #line 3008 "cp-parse.y"
1.1 root 6005: { emit_line_note (input_filename, lineno);
6006: if ( ! expand_exit_something ())
6007: error ("break statement not within loop or switch"); ;
6008: break;}
1.1.1.3 ! root 6009: case 541:
! 6010: #line 3012 "cp-parse.y"
1.1 root 6011: { emit_line_note (input_filename, lineno);
6012: if (! expand_continue_loop (0))
6013: error ("continue statement not within a loop"); ;
6014: break;}
1.1.1.3 ! root 6015: case 542:
! 6016: #line 3016 "cp-parse.y"
1.1 root 6017: { emit_line_note (input_filename, lineno);
6018: c_expand_return (NULL_TREE); ;
6019: break;}
1.1.1.3 ! root 6020: case 543:
! 6021: #line 3019 "cp-parse.y"
1.1 root 6022: { emit_line_note (input_filename, lineno);
6023: c_expand_return (yyvsp[-1].ttype);
6024: finish_stmt ();
6025: ;
6026: break;}
1.1.1.3 ! root 6027: case 544:
! 6028: #line 3024 "cp-parse.y"
1.1 root 6029: { if (TREE_CHAIN (yyvsp[-2].ttype)) yyvsp[-2].ttype = combine_strings (yyvsp[-2].ttype);
6030: emit_line_note (input_filename, lineno);
6031: expand_asm (yyvsp[-2].ttype);
6032: finish_stmt ();
6033: ;
6034: break;}
1.1.1.3 ! root 6035: case 545:
! 6036: #line 3031 "cp-parse.y"
1.1 root 6037: { if (TREE_CHAIN (yyvsp[-4].ttype)) yyvsp[-4].ttype = combine_strings (yyvsp[-4].ttype);
6038: emit_line_note (input_filename, lineno);
6039: c_expand_asm_operands (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE,
6040: yyvsp[-6].ttype == ridpointers[(int)RID_VOLATILE],
6041: input_filename, lineno);
6042: finish_stmt ();
6043: ;
6044: break;}
1.1.1.3 ! root 6045: case 546:
! 6046: #line 3040 "cp-parse.y"
1.1 root 6047: { if (TREE_CHAIN (yyvsp[-6].ttype)) yyvsp[-6].ttype = combine_strings (yyvsp[-6].ttype);
6048: emit_line_note (input_filename, lineno);
6049: c_expand_asm_operands (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE,
6050: yyvsp[-8].ttype == ridpointers[(int)RID_VOLATILE],
6051: input_filename, lineno);
6052: finish_stmt ();
6053: ;
6054: break;}
1.1.1.3 ! root 6055: case 547:
! 6056: #line 3050 "cp-parse.y"
1.1 root 6057: { if (TREE_CHAIN (yyvsp[-8].ttype)) yyvsp[-8].ttype = combine_strings (yyvsp[-8].ttype);
6058: emit_line_note (input_filename, lineno);
6059: c_expand_asm_operands (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype,
6060: yyvsp[-10].ttype == ridpointers[(int)RID_VOLATILE],
6061: input_filename, lineno);
6062: finish_stmt ();
6063: ;
6064: break;}
1.1.1.3 ! root 6065: case 548:
! 6066: #line 3058 "cp-parse.y"
1.1 root 6067: { tree decl;
6068: emit_line_note (input_filename, lineno);
6069: decl = lookup_label (yyvsp[-1].ttype);
6070: TREE_USED (decl) = 1;
6071: expand_goto (decl); ;
6072: break;}
1.1.1.3 ! root 6073: case 549:
! 6074: #line 3064 "cp-parse.y"
1.1 root 6075: { finish_stmt (); ;
6076: break;}
1.1.1.3 ! root 6077: case 550:
! 6078: #line 3066 "cp-parse.y"
1.1 root 6079: { error ("label must be followed by statement");
6080: yyungetc ('}', 0);
6081: finish_stmt (); ;
6082: break;}
1.1.1.3 ! root 6083: case 551:
! 6084: #line 3070 "cp-parse.y"
1.1 root 6085: { finish_stmt (); ;
6086: break;}
1.1.1.3 ! root 6087: case 552:
! 6088: #line 3073 "cp-parse.y"
1.1 root 6089: { cplus_expand_throw (NULL_TREE); ;
6090: break;}
1.1.1.3 ! root 6091: case 553:
! 6092: #line 3074 "cp-parse.y"
1.1 root 6093: { cplus_expand_throw (yyvsp[-1].ttype); ;
6094: break;}
1.1.1.3 ! root 6095: case 554:
! 6096: #line 3076 "cp-parse.y"
1.1 root 6097: { cplus_expand_raise (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, 0);
6098: finish_stmt (); ;
6099: break;}
1.1.1.3 ! root 6100: case 555:
! 6101: #line 3079 "cp-parse.y"
1.1 root 6102: { cplus_expand_raise (yyvsp[-2].ttype, NULL_TREE, NULL_TREE, 0);
6103: finish_stmt (); ;
6104: break;}
1.1.1.3 ! root 6105: case 556:
! 6106: #line 3082 "cp-parse.y"
1.1 root 6107: { cplus_expand_raise (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, 0);
6108: finish_stmt (); ;
6109: break;}
1.1.1.3 ! root 6110: case 557:
! 6111: #line 3085 "cp-parse.y"
1.1 root 6112: { cplus_expand_raise (yyvsp[-2].ttype, NULL_TREE, NULL_TREE, 0);
6113: finish_stmt (); ;
6114: break;}
1.1.1.3 ! root 6115: case 558:
! 6116: #line 3088 "cp-parse.y"
1.1 root 6117: { cplus_expand_reraise (yyvsp[-1].ttype);
6118: finish_stmt (); ;
6119: break;}
1.1.1.3 ! root 6120: case 559:
! 6121: #line 3091 "cp-parse.y"
1.1 root 6122: {
6123: tree decl = cplus_expand_end_try (yyvsp[-3].itype);
6124: yyvsp[-2].ttype = current_exception_type;
6125: yyvsp[0].ttype = current_exception_decl;
6126: yyval.ttype = current_exception_object;
6127: cplus_expand_start_except (yyvsp[-1].ttype, decl);
6128: pushlevel (0);
6129: clear_last_expr ();
6130: push_momentary ();
6131: expand_start_bindings (0);
6132: stmt_decl_msg = 0;
6133: ;
6134: break;}
1.1.1.3 ! root 6135: case 560:
! 6136: #line 3104 "cp-parse.y"
1.1 root 6137: {
6138: tree decls = getdecls ();
6139: /* If there is a default exception to handle,
6140: handle it here. */
6141: if (yyvsp[-1].ttype)
6142: {
6143: tree decl = build_decl (CPLUS_CATCH_DECL, NULL_TREE, 0);
6144: tree block;
6145:
6146: pushlevel (1);
6147: expand_start_bindings (0);
6148: expand_expr (yyvsp[-1].ttype, 0, 0, 0);
6149: expand_end_bindings (0, 1, 0);
6150: block = poplevel (1, 0, 0);
6151:
6152: /* This is a catch block. */
6153: TREE_LANG_FLAG_2 (block) = 1;
6154: BLOCK_VARS (block) = decl;
6155: }
6156:
6157: expand_end_bindings (decls, decls != 0, 1);
6158: poplevel (decls != 0, 1, 0);
6159: pop_momentary ();
6160: current_exception_type = yyvsp[-5].ttype;
6161: current_exception_decl = yyvsp[-3].ttype;
6162: current_exception_object = yyvsp[-2].ttype;
6163: cplus_expand_end_except (yyvsp[-1].ttype);
6164: ;
6165: break;}
1.1.1.3 ! root 6166: case 561:
! 6167: #line 3133 "cp-parse.y"
1.1 root 6168: {
6169: cplus_expand_end_try (yyvsp[-1].itype);
6170: /* These are the important actions of
6171: `cplus_expand_end_except' which we must emulate. */
6172: if (expand_escape_except ())
6173: expand_end_except ();
6174: expand_end_bindings (0, 0, 1);
6175: poplevel (0, 0, 0);
6176: ;
6177: break;}
1.1.1.3 ! root 6178: case 562:
! 6179: #line 3143 "cp-parse.y"
1.1 root 6180: {
6181: tree decl = cplus_expand_end_try (yyvsp[-2].itype);
6182: yyvsp[-1].ttype = current_exception_type;
6183: yyvsp[0].ttype = current_exception_decl;
6184: yyval.ttype = current_exception_object;
6185: cplus_expand_start_except (NULL, decl);
6186: pushlevel (0);
6187: clear_last_expr ();
6188: push_momentary ();
6189: expand_start_bindings (0);
6190: stmt_decl_msg = 0;
6191: ;
6192: break;}
1.1.1.3 ! root 6193: case 563:
! 6194: #line 3156 "cp-parse.y"
1.1 root 6195: {
6196: tree decls = getdecls ();
6197: /* If there is a default exception to handle,
6198: handle it here. */
6199: if (yyvsp[0].ttype)
6200: {
6201: tree decl = build_decl (CPLUS_CATCH_DECL, NULL_TREE, 0);
6202: tree block;
6203:
6204: pushlevel (1);
6205: expand_start_bindings (0);
6206: expand_expr (yyvsp[0].ttype, 0, 0, 0);
6207: expand_end_bindings (0, 1, 0);
6208: block = poplevel (1, 0, 0);
6209:
6210: /* This is a catch block. */
6211: TREE_LANG_FLAG_2 (block) = 1;
6212: BLOCK_VARS (block) = decl;
6213: }
6214:
6215: expand_end_bindings (decls, decls != 0, 1);
6216: poplevel (decls != 0, 1, 0);
6217: pop_momentary ();
6218: current_exception_type = yyvsp[-3].ttype;
6219: current_exception_decl = yyvsp[-2].ttype;
6220: current_exception_object = yyvsp[-1].ttype;
6221: cplus_expand_end_except (yyvsp[0].ttype);
6222: ;
6223: break;}
1.1.1.3 ! root 6224: case 564:
! 6225: #line 3185 "cp-parse.y"
1.1 root 6226: { tree name = get_identifier ("(compiler error)");
6227: tree orig_ex_type = current_exception_type;
6228: tree orig_ex_decl = current_exception_decl;
6229: tree orig_ex_obj = current_exception_object;
6230: tree decl = cplus_expand_end_try (yyvsp[-2].itype), decls;
6231:
6232: /* Start hidden EXCEPT. */
6233: cplus_expand_start_except (name, decl);
6234: pushlevel (0);
6235: clear_last_expr ();
6236: push_momentary ();
6237: expand_start_bindings (0);
6238: stmt_decl_msg = 0;
6239:
6240: /* This sets up the reraise. */
6241: cplus_expand_reraise (yyvsp[0].ttype);
6242:
6243: decls = getdecls ();
6244: expand_end_bindings (decls, decls != 0, 1);
6245: poplevel (decls != 0, 1, 0);
6246: pop_momentary ();
6247: current_exception_type = orig_ex_type;
6248: current_exception_decl = orig_ex_decl;
6249: current_exception_object = orig_ex_obj;
6250: /* This will reraise for us. */
6251: cplus_expand_end_except (error_mark_node);
6252: if (yychar == YYEMPTY)
6253: yychar = YYLEX;
6254: if (yychar != ';')
6255: error ("missing ';' after reraise statement");
6256: ;
6257: break;}
1.1.1.3 ! root 6258: case 565:
! 6259: #line 3217 "cp-parse.y"
1.1 root 6260: { yyerror ("`except' missing after `try' statement");
6261: /* Terminate the binding contour started by special
6262: code in `.pushlevel'. Automagically pops off
6263: the conditional we started for `try' stmt. */
6264: cplus_expand_end_try (yyvsp[0].itype);
6265: expand_end_bindings (0, 0, 1);
6266: poplevel (0, 0, 0);
6267: pop_momentary ();
6268: YYERROR; ;
6269: break;}
1.1.1.3 ! root 6270: case 566:
! 6271: #line 3232 "cp-parse.y"
1.1 root 6272: {
6273: yyval.itype = 1;
6274: pop_implicit_try_blocks (NULL_TREE);
6275: ;
6276: break;}
1.1.1.3 ! root 6277: case 567:
! 6278: #line 3237 "cp-parse.y"
1.1 root 6279: {
6280: yyval.itype = 1;
6281: pop_implicit_try_blocks (NULL_TREE);
6282: ;
6283: break;}
1.1.1.3 ! root 6284: case 568:
! 6285: #line 3242 "cp-parse.y"
1.1 root 6286: {
6287: yyval.itype = 0;
6288: pop_implicit_try_blocks (NULL_TREE);
6289: ;
6290: break;}
1.1.1.3 ! root 6291: case 569:
! 6292: #line 3250 "cp-parse.y"
1.1 root 6293: { tree label;
6294: do_label:
6295: label = define_label (input_filename, lineno, yyvsp[-1].ttype);
6296: if (label)
6297: expand_label (label);
6298: ;
6299: break;}
1.1.1.3 ! root 6300: case 570:
! 6301: #line 3257 "cp-parse.y"
1.1 root 6302: { goto do_label; ;
6303: break;}
1.1.1.3 ! root 6304: case 571:
! 6305: #line 3259 "cp-parse.y"
1.1 root 6306: { tree label = define_label (input_filename, lineno, yyvsp[0].ttype);
6307: if (label)
6308: expand_label (label);
6309: ;
6310: break;}
1.1.1.3 ! root 6311: case 572:
! 6312: #line 3265 "cp-parse.y"
1.1 root 6313: { cplus_expand_start_try (0); ;
6314: break;}
1.1.1.3 ! root 6315: case 574:
! 6316: #line 3271 "cp-parse.y"
1.1 root 6317: {
6318: yyval.itype = 1;
6319: pop_implicit_try_blocks (NULL_TREE);
6320: ;
6321: break;}
1.1.1.3 ! root 6322: case 575:
! 6323: #line 3276 "cp-parse.y"
1.1 root 6324: {
6325: yyval.itype = 1;
6326: pop_implicit_try_blocks (NULL_TREE);
6327: ;
6328: break;}
1.1.1.3 ! root 6329: case 576:
! 6330: #line 3281 "cp-parse.y"
1.1 root 6331: {
6332: yyval.itype = 0;
6333: pop_implicit_try_blocks (NULL_TREE);
6334: ;
6335: break;}
1.1.1.3 ! root 6336: case 578:
! 6337: #line 3288 "cp-parse.y"
1.1 root 6338: { cplus_expand_start_try (0); ;
6339: break;}
1.1.1.3 ! root 6340: case 580:
! 6341: #line 3292 "cp-parse.y"
1.1 root 6342: { yyval.ttype = NULL_TREE; ;
6343: break;}
1.1.1.3 ! root 6344: case 581:
! 6345: #line 3294 "cp-parse.y"
1.1 root 6346: {
6347: tree type = lookup_exception_type (current_class_type, current_class_name, yyvsp[0].ttype);
6348: if (type == NULL_TREE)
6349: {
6350: error ("`%s' is not an exception type",
6351: IDENTIFIER_POINTER (TREE_VALUE (yyvsp[0].ttype)));
6352: current_exception_type = NULL_TREE;
6353: TREE_TYPE (current_exception_object) = error_mark_node;
6354: }
6355: else
6356: {
6357: current_exception_type = type;
6358: /* In-place union. */
6359: TREE_TYPE (current_exception_object) = type;
6360: }
6361: yyvsp[0].ttype = cplus_expand_start_catch (yyvsp[0].ttype);
6362: pushlevel (1);
6363: expand_start_bindings (0);
6364: ;
6365: break;}
1.1.1.3 ! root 6366: case 582:
! 6367: #line 3314 "cp-parse.y"
1.1 root 6368: {
6369: expand_end_bindings (0, 1, 0);
6370: yyvsp[0].ttype = poplevel (1, 0, 0);
6371:
6372: cplus_expand_end_catch (0);
6373:
6374: /* Mark this as a catch block. */
6375: TREE_LANG_FLAG_2 (yyvsp[0].ttype) = 1;
6376: if (yyvsp[-2].ttype != error_mark_node)
6377: {
6378: tree decl = build_decl (CPLUS_CATCH_DECL, DECL_NAME (yyvsp[-2].ttype), 0);
6379: DECL_RTL (decl) = DECL_RTL (yyvsp[-2].ttype);
6380: TREE_CHAIN (decl) = BLOCK_VARS (yyvsp[0].ttype);
6381: BLOCK_VARS (yyvsp[0].ttype) = decl;
6382: }
6383: ;
6384: break;}
1.1.1.3 ! root 6385: case 583:
! 6386: #line 3331 "cp-parse.y"
1.1 root 6387: {
6388: if (yyvsp[-1].ttype)
6389: error ("duplicate default in exception handler");
6390: current_exception_type = NULL_TREE;
6391: /* Takes it right out of scope. */
6392: TREE_TYPE (current_exception_object) = error_mark_node;
6393:
6394: if (! expand_catch_default ())
6395: compiler_error ("default catch botch");
6396:
6397: /* The default exception is handled as the
6398: last in the chain of exceptions handled. */
6399: do_pending_stack_adjust ();
6400: start_sequence ();
6401: yyvsp[-1].ttype = make_node (RTL_EXPR);
6402: TREE_TYPE (yyvsp[-1].ttype) = void_type_node;
6403: ;
6404: break;}
1.1.1.3 ! root 6405: case 584:
! 6406: #line 3349 "cp-parse.y"
1.1 root 6407: {
6408: do_pending_stack_adjust ();
6409: if (! expand_catch (NULL_TREE))
6410: compiler_error ("except nesting botch");
6411: if (! expand_end_catch ())
6412: compiler_error ("except nesting botch");
6413: RTL_EXPR_SEQUENCE (yyvsp[-3].ttype) = (struct rtx_def *)get_insns ();
6414: if (yyvsp[0].ttype)
6415: {
6416: /* Mark this block as the default catch block. */
6417: TREE_LANG_FLAG_1 (yyvsp[0].ttype) = 1;
6418: TREE_LANG_FLAG_2 (yyvsp[0].ttype) = 1;
6419: }
6420: end_sequence ();
6421: ;
6422: break;}
1.1.1.3 ! root 6423: case 585:
! 6424: #line 3368 "cp-parse.y"
1.1 root 6425: { yyval.ttype = NULL_TREE; ;
6426: break;}
1.1.1.3 ! root 6427: case 587:
! 6428: #line 3373 "cp-parse.y"
1.1 root 6429: { yyval.ttype = NULL_TREE; ;
6430: break;}
1.1.1.3 ! root 6431: case 588:
! 6432: #line 3375 "cp-parse.y"
1.1 root 6433: {
6434: extern tree ansi_expand_start_catch ();
6435: extern tree cplus_exception_name ();
6436: tree type = groktypename (yyvsp[-2].ttype);
6437: current_exception_type = type;
6438: /* In-place union. */
6439: if (yyvsp[-1].ttype)
6440: {
6441: tree tmp;
6442: tmp = pushdecl (build_decl (VAR_DECL, yyvsp[-1].ttype, type));
6443: current_exception_object =
6444: build1 (INDIRECT_REF, type, tmp);
6445: }
6446: yyvsp[-2].ttype = ansi_expand_start_catch(type);
6447: pushlevel (1);
6448: expand_start_bindings (0);
6449: ;
6450: break;}
1.1.1.3 ! root 6451: case 589:
! 6452: #line 3393 "cp-parse.y"
1.1 root 6453: {
6454: expand_end_bindings (0, 1, 0);
6455: yyvsp[0].ttype = poplevel (1, 0, 0);
6456:
6457: cplus_expand_end_catch (0);
6458:
6459: /* Mark this as a catch block. */
6460: TREE_LANG_FLAG_2 (yyvsp[0].ttype) = 1;
6461: if (yyvsp[-4].ttype != error_mark_node)
6462: {
6463: tree decl = build_decl (CPLUS_CATCH_DECL, DECL_NAME (yyvsp[-4].ttype), 0);
6464: DECL_RTL (decl) = DECL_RTL (yyvsp[-4].ttype);
6465: TREE_CHAIN (decl) = BLOCK_VARS (yyvsp[0].ttype);
6466: BLOCK_VARS (yyvsp[0].ttype) = decl;
6467: }
6468: ;
6469: break;}
1.1.1.3 ! root 6470: case 590:
! 6471: #line 3413 "cp-parse.y"
1.1 root 6472: { yyval.ttype = NULL_TREE; ;
6473: break;}
1.1.1.3 ! root 6474: case 591:
! 6475: #line 3415 "cp-parse.y"
1.1 root 6476: { yyval.ttype = yyvsp[-1].ttype; ;
6477: break;}
1.1.1.3 ! root 6478: case 592:
! 6479: #line 3417 "cp-parse.y"
1.1 root 6480: { yyval.ttype = NULL_TREE; ;
6481: break;}
1.1.1.3 ! root 6482: case 593:
! 6483: #line 3422 "cp-parse.y"
1.1 root 6484: { yyval.itype = 0; ;
6485: break;}
1.1.1.3 ! root 6486: case 594:
! 6487: #line 3424 "cp-parse.y"
1.1 root 6488: { yyval.itype = 0; ;
6489: break;}
1.1.1.3 ! root 6490: case 595:
! 6491: #line 3426 "cp-parse.y"
1.1 root 6492: { yyval.itype = 1; ;
6493: break;}
1.1.1.3 ! root 6494: case 596:
! 6495: #line 3428 "cp-parse.y"
1.1 root 6496: { yyval.itype = -1; ;
6497: break;}
1.1.1.3 ! root 6498: case 597:
! 6499: #line 3435 "cp-parse.y"
1.1 root 6500: { if (pedantic)
1.1.1.3 ! root 6501: pedwarn ("ANSI C forbids use of `asm' keyword");
1.1 root 6502: emit_line_note (input_filename, lineno); ;
6503: break;}
1.1.1.3 ! root 6504: case 598:
! 6505: #line 3439 "cp-parse.y"
1.1 root 6506: { if (pedantic)
1.1.1.3 ! root 6507: pedwarn ("ANSI C forbids use of `asm' keyword");
1.1 root 6508: emit_line_note (input_filename, lineno); ;
6509: break;}
1.1.1.3 ! root 6510: case 599:
! 6511: #line 3446 "cp-parse.y"
1.1 root 6512: { yyval.ttype = NULL_TREE; ;
6513: break;}
1.1.1.3 ! root 6514: case 601:
! 6515: #line 3449 "cp-parse.y"
1.1 root 6516: { yyval.ttype = NULL_TREE; ;
6517: break;}
1.1.1.3 ! root 6518: case 602:
! 6519: #line 3455 "cp-parse.y"
1.1 root 6520: { yyval.ttype = NULL_TREE; ;
6521: break;}
1.1.1.3 ! root 6522: case 605:
! 6523: #line 3462 "cp-parse.y"
1.1 root 6524: { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
6525: break;}
1.1.1.3 ! root 6526: case 606:
! 6527: #line 3467 "cp-parse.y"
1.1 root 6528: { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[-1].ttype); ;
6529: break;}
1.1.1.3 ! root 6530: case 607:
! 6531: #line 3472 "cp-parse.y"
1.1 root 6532: { yyval.ttype = tree_cons (NULL_TREE, yyval.ttype, NULL_TREE); ;
6533: break;}
1.1.1.3 ! root 6534: case 608:
! 6535: #line 3474 "cp-parse.y"
1.1 root 6536: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
6537: break;}
1.1.1.3 ! root 6538: case 609:
! 6539: #line 3483 "cp-parse.y"
1.1 root 6540: {
6541: if (strict_prototype)
6542: yyval.ttype = void_list_node;
6543: else
6544: yyval.ttype = NULL_TREE;
6545: ;
6546: break;}
1.1.1.3 ! root 6547: case 610:
! 6548: #line 3490 "cp-parse.y"
1.1 root 6549: {
6550: yyval.ttype = chainon (yyval.ttype, void_list_node);
6551: TREE_PARMLIST (yyval.ttype) = 1;
6552: ;
6553: break;}
1.1.1.3 ! root 6554: case 611:
! 6555: #line 3495 "cp-parse.y"
1.1 root 6556: {
6557: TREE_PARMLIST (yyval.ttype) = 1;
6558: ;
6559: break;}
1.1.1.3 ! root 6560: case 612:
! 6561: #line 3500 "cp-parse.y"
1.1 root 6562: {
6563: TREE_PARMLIST (yyval.ttype) = 1;
6564: ;
6565: break;}
1.1.1.3 ! root 6566: case 613:
! 6567: #line 3504 "cp-parse.y"
1.1 root 6568: {
6569: yyval.ttype = NULL_TREE;
6570: ;
6571: break;}
1.1.1.3 ! root 6572: case 614:
! 6573: #line 3508 "cp-parse.y"
1.1 root 6574: {
6575: TREE_PARMLIST (yyval.ttype) = 1;
6576: ;
6577: break;}
1.1.1.3 ! root 6578: case 615:
! 6579: #line 3512 "cp-parse.y"
1.1 root 6580: {
6581: TREE_PARMLIST (yyval.ttype) = 1;
6582: ;
6583: break;}
1.1.1.3 ! root 6584: case 616:
! 6585: #line 3516 "cp-parse.y"
1.1 root 6586: {
6587: /* This helps us recover from really nasty
6588: parse errors, for example, a missing right
6589: parenthesis. */
6590: yyerror ("possibly missing ')'");
6591: yyval.ttype = chainon (yyval.ttype, void_list_node);
6592: TREE_PARMLIST (yyval.ttype) = 1;
6593: yyungetc (':', 0);
6594: yychar = ')';
6595: ;
6596: break;}
1.1.1.3 ! root 6597: case 617:
! 6598: #line 3531 "cp-parse.y"
1.1 root 6599: { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
6600: break;}
1.1.1.3 ! root 6601: case 618:
! 6602: #line 3533 "cp-parse.y"
1.1 root 6603: { yyval.ttype = build_tree_list (yyvsp[0].ttype, yyval.ttype); ;
6604: break;}
1.1.1.3 ! root 6605: case 619:
! 6606: #line 3535 "cp-parse.y"
1.1 root 6607: { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
6608: break;}
1.1.1.3 ! root 6609: case 620:
! 6610: #line 3537 "cp-parse.y"
1.1 root 6611: { yyval.ttype = chainon (yyval.ttype, build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype)); ;
6612: break;}
1.1.1.3 ! root 6613: case 621:
! 6614: #line 3539 "cp-parse.y"
1.1 root 6615: { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
6616: break;}
1.1.1.3 ! root 6617: case 622:
! 6618: #line 3541 "cp-parse.y"
1.1 root 6619: { yyval.ttype = chainon (yyval.ttype, build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype)); ;
6620: break;}
1.1.1.3 ! root 6621: case 623:
! 6622: #line 3562 "cp-parse.y"
1.1 root 6623: { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[0].ttype);
6624: see_typename (); ;
6625: break;}
1.1.1.3 ! root 6626: case 624:
! 6627: #line 3565 "cp-parse.y"
1.1 root 6628: { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[0].ttype);
6629: see_typename (); ;
6630: break;}
1.1.1.3 ! root 6631: case 627:
! 6632: #line 3572 "cp-parse.y"
1.1 root 6633: { yyval.ttype = yyvsp[0].ttype; ;
6634: break;}
1.1.1.3 ! root 6635: case 628:
! 6636: #line 3576 "cp-parse.y"
1.1 root 6637: { see_typename (); ;
6638: break;}
1.1.1.3 ! root 6639: case 629:
! 6640: #line 3580 "cp-parse.y"
1.1 root 6641: { dont_see_typename (); ;
6642: break;}
1.1.1.3 ! root 6643: case 630:
! 6644: #line 3584 "cp-parse.y"
1.1 root 6645: {
6646: if (yyvsp[-1].ttype == error_mark_node)
6647: yyval.itype = 0;
6648: else
6649: {
6650: yyval.itype = 1;
6651: pushclass (yyvsp[-1].ttype, 1);
6652: }
6653: ;
6654: break;}
1.1.1.3 ! root 6655: case 631:
! 6656: #line 3597 "cp-parse.y"
1.1 root 6657: {
6658: warning ("type specifier omitted for parameter");
6659: yyval.ttype = build_tree_list (TREE_PURPOSE (TREE_VALUE (yyvsp[-2].ttype)), yyval.ttype);
6660: ;
6661: break;}
1.1.1.3 ! root 6662: case 632:
! 6663: #line 3605 "cp-parse.y"
1.1 root 6664: { yyval.ttype = NULL_TREE; ;
6665: break;}
1.1.1.3 ! root 6666: case 633:
! 6667: #line 3607 "cp-parse.y"
1.1 root 6668: { yyval.ttype = yyvsp[0].ttype; ;
6669: break;}
1.1.1.3 ! root 6670: case 634:
! 6671: #line 3609 "cp-parse.y"
1.1 root 6672: { yyval.ttype = yyvsp[-1].ttype; ;
6673: break;}
1.1.1.3 ! root 6674: case 635:
! 6675: #line 3614 "cp-parse.y"
1.1 root 6676: { yyval.ttype = void_list_node; ;
6677: break;}
1.1.1.3 ! root 6678: case 636:
! 6679: #line 3616 "cp-parse.y"
1.1 root 6680: { yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
6681: break;}
1.1.1.3 ! root 6682: case 637:
! 6683: #line 3618 "cp-parse.y"
1.1 root 6684: { yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
6685: break;}
1.1.1.3 ! root 6686: case 638:
! 6687: #line 3620 "cp-parse.y"
1.1 root 6688: { yyval.ttype = build_decl_list (void_type_node, yyvsp[0].ttype); ;
6689: break;}
1.1.1.3 ! root 6690: case 639:
! 6691: #line 3622 "cp-parse.y"
1.1 root 6692: { yyval.ttype = build_decl_list (void_type_node, yyvsp[0].ttype); ;
6693: break;}
1.1.1.3 ! root 6694: case 640:
! 6695: #line 3624 "cp-parse.y"
1.1 root 6696: { yyval.ttype = build_decl_list (yyval.ttype, yyvsp[0].ttype); ;
6697: break;}
1.1.1.3 ! root 6698: case 642:
! 6699: #line 3630 "cp-parse.y"
1.1 root 6700: { yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
6701: break;}
1.1.1.3 ! root 6702: case 644:
! 6703: #line 3636 "cp-parse.y"
1.1 root 6704: {
6705: TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype;
6706: yyval.ttype = yyvsp[0].ttype;
6707: ;
6708: break;}
1.1.1.3 ! root 6709: case 646:
! 6710: #line 3645 "cp-parse.y"
1.1 root 6711: {
6712: TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype;
6713: yyval.ttype = yyvsp[0].ttype;
6714: ;
6715: break;}
1.1.1.3 ! root 6716: case 647:
! 6717: #line 3653 "cp-parse.y"
1.1 root 6718: { yyval.ttype = ansi_opname[MULT_EXPR]; ;
6719: break;}
1.1.1.3 ! root 6720: case 648:
! 6721: #line 3655 "cp-parse.y"
1.1 root 6722: { yyval.ttype = ansi_opname[TRUNC_DIV_EXPR]; ;
6723: break;}
1.1.1.3 ! root 6724: case 649:
! 6725: #line 3657 "cp-parse.y"
1.1 root 6726: { yyval.ttype = ansi_opname[TRUNC_MOD_EXPR]; ;
6727: break;}
1.1.1.3 ! root 6728: case 650:
! 6729: #line 3659 "cp-parse.y"
1.1 root 6730: { yyval.ttype = ansi_opname[PLUS_EXPR]; ;
6731: break;}
1.1.1.3 ! root 6732: case 651:
! 6733: #line 3661 "cp-parse.y"
1.1 root 6734: { yyval.ttype = ansi_opname[MINUS_EXPR]; ;
6735: break;}
1.1.1.3 ! root 6736: case 652:
! 6737: #line 3663 "cp-parse.y"
1.1 root 6738: { yyval.ttype = ansi_opname[BIT_AND_EXPR]; ;
6739: break;}
1.1.1.3 ! root 6740: case 653:
! 6741: #line 3665 "cp-parse.y"
1.1 root 6742: { yyval.ttype = ansi_opname[BIT_IOR_EXPR]; ;
6743: break;}
1.1.1.3 ! root 6744: case 654:
! 6745: #line 3667 "cp-parse.y"
1.1 root 6746: { yyval.ttype = ansi_opname[BIT_XOR_EXPR]; ;
6747: break;}
1.1.1.3 ! root 6748: case 655:
! 6749: #line 3669 "cp-parse.y"
1.1 root 6750: { yyval.ttype = ansi_opname[BIT_NOT_EXPR]; ;
6751: break;}
1.1.1.3 ! root 6752: case 656:
! 6753: #line 3671 "cp-parse.y"
1.1 root 6754: { yyval.ttype = ansi_opname[COMPOUND_EXPR]; ;
6755: break;}
1.1.1.3 ! root 6756: case 657:
! 6757: #line 3673 "cp-parse.y"
1.1 root 6758: { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
6759: break;}
1.1.1.3 ! root 6760: case 658:
! 6761: #line 3675 "cp-parse.y"
1.1 root 6762: { yyval.ttype = ansi_opname[LT_EXPR]; ;
6763: break;}
1.1.1.3 ! root 6764: case 659:
! 6765: #line 3677 "cp-parse.y"
1.1 root 6766: { yyval.ttype = ansi_opname[GT_EXPR]; ;
6767: break;}
1.1.1.3 ! root 6768: case 660:
! 6769: #line 3679 "cp-parse.y"
1.1 root 6770: { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
6771: break;}
1.1.1.3 ! root 6772: case 661:
! 6773: #line 3681 "cp-parse.y"
1.1 root 6774: { yyval.ttype = ansi_assopname[yyvsp[0].code]; ;
6775: break;}
1.1.1.3 ! root 6776: case 662:
! 6777: #line 3683 "cp-parse.y"
1.1 root 6778: {
6779: yyval.ttype = ansi_opname [MODIFY_EXPR];
6780: if (current_class_type)
6781: {
6782: TYPE_HAS_ASSIGNMENT (current_class_type) = 1;
6783: TYPE_GETS_ASSIGNMENT (current_class_type) = 1;
6784: }
6785: ;
6786: break;}
1.1.1.3 ! root 6787: case 663:
! 6788: #line 3692 "cp-parse.y"
1.1 root 6789: { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
6790: break;}
1.1.1.3 ! root 6791: case 664:
! 6792: #line 3694 "cp-parse.y"
1.1 root 6793: { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
6794: break;}
1.1.1.3 ! root 6795: case 665:
! 6796: #line 3696 "cp-parse.y"
1.1 root 6797: { yyval.ttype = ansi_opname[POSTINCREMENT_EXPR]; ;
6798: break;}
1.1.1.3 ! root 6799: case 666:
! 6800: #line 3698 "cp-parse.y"
1.1 root 6801: { yyval.ttype = ansi_opname[PREDECREMENT_EXPR]; ;
6802: break;}
1.1.1.3 ! root 6803: case 667:
! 6804: #line 3700 "cp-parse.y"
1.1 root 6805: { yyval.ttype = ansi_opname[TRUTH_ANDIF_EXPR]; ;
6806: break;}
1.1.1.3 ! root 6807: case 668:
! 6808: #line 3702 "cp-parse.y"
1.1 root 6809: { yyval.ttype = ansi_opname[TRUTH_ORIF_EXPR]; ;
6810: break;}
1.1.1.3 ! root 6811: case 669:
! 6812: #line 3704 "cp-parse.y"
1.1 root 6813: { yyval.ttype = ansi_opname[TRUTH_NOT_EXPR]; ;
6814: break;}
1.1.1.3 ! root 6815: case 670:
! 6816: #line 3706 "cp-parse.y"
1.1 root 6817: { yyval.ttype = ansi_opname[COND_EXPR]; ;
6818: break;}
1.1.1.3 ! root 6819: case 671:
! 6820: #line 3708 "cp-parse.y"
1.1 root 6821: { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
6822: break;}
1.1.1.3 ! root 6823: case 672:
! 6824: #line 3710 "cp-parse.y"
1.1 root 6825: { yyval.ttype = ansi_opname[COMPONENT_REF];
6826: if (current_class_type)
6827: {
6828: tree t = current_class_type;
6829: while (t)
6830: {
6831: TYPE_OVERLOADS_ARROW (t) = 1;
6832: t = TYPE_NEXT_VARIANT (t);
6833: }
6834: }
6835: ;
6836: break;}
1.1.1.3 ! root 6837: case 673:
! 6838: #line 3722 "cp-parse.y"
1.1 root 6839: { yyval.ttype = ansi_opname[MEMBER_REF];
6840: if (current_class_type)
6841: {
6842: tree t = current_class_type;
6843: while (t)
6844: {
6845: TYPE_OVERLOADS_ARROW (t) = 1;
6846: t = TYPE_NEXT_VARIANT (t);
6847: }
6848: }
6849: ;
6850: break;}
1.1.1.3 ! root 6851: case 674:
! 6852: #line 3734 "cp-parse.y"
1.1 root 6853: {
6854: if (yychar == YYEMPTY)
6855: yychar = YYLEX;
6856: if (yychar == '(' || yychar == LEFT_RIGHT)
6857: {
6858: yyval.ttype = ansi_opname[METHOD_CALL_EXPR];
6859: if (current_class_type)
6860: {
6861: tree t = current_class_type;
6862: while (t)
6863: {
6864: TYPE_OVERLOADS_METHOD_CALL_EXPR (t) = 1;
6865: t = TYPE_NEXT_VARIANT (t);
6866: }
6867: }
6868: }
6869: else
6870: {
6871: yyval.ttype = build_parse_node (CALL_EXPR, ansi_opname[COMPONENT_REF], void_list_node, yyvsp[0].ttype);
6872: if (current_class_type)
6873: {
6874: tree t = current_class_type;
6875: while (t)
6876: {
6877: TYPE_OVERLOADS_ARROW (t) = 1;
6878: t = TYPE_NEXT_VARIANT (t);
6879: }
6880: }
6881: }
6882: ;
6883: break;}
1.1.1.3 ! root 6884: case 675:
! 6885: #line 3765 "cp-parse.y"
1.1 root 6886: { yyval.ttype = ansi_opname[CALL_EXPR];
6887: if (current_class_type)
6888: {
6889: tree t = current_class_type;
6890: while (t)
6891: {
6892: TYPE_OVERLOADS_CALL_EXPR (t) = 1;
6893: t = TYPE_NEXT_VARIANT (t);
6894: }
6895: }
6896: ;
6897: break;}
1.1.1.3 ! root 6898: case 676:
! 6899: #line 3777 "cp-parse.y"
1.1 root 6900: { yyval.ttype = ansi_opname[ARRAY_REF];
6901: if (current_class_type)
6902: {
6903: tree t = current_class_type;
6904: while (t)
6905: {
6906: TYPE_OVERLOADS_ARRAY_REF (t) = 1;
6907: t = TYPE_NEXT_VARIANT (t);
6908: }
6909: }
6910: ;
6911: break;}
1.1.1.3 ! root 6912: case 677:
! 6913: #line 3789 "cp-parse.y"
1.1 root 6914: {
6915: yyval.ttype = ansi_opname[NEW_EXPR];
6916: if (current_class_type)
6917: {
6918: tree t = current_class_type;
6919: while (t)
6920: {
6921: TREE_GETS_NEW (t) = 1;
6922: t = TYPE_NEXT_VARIANT (t);
6923: }
6924: }
6925: ;
6926: break;}
1.1.1.3 ! root 6927: case 678:
! 6928: #line 3802 "cp-parse.y"
1.1 root 6929: {
6930: yyval.ttype = ansi_opname[DELETE_EXPR];
6931: if (current_class_type)
6932: {
6933: tree t = current_class_type;
6934: while (t)
6935: {
6936: TREE_GETS_DELETE (t) = 1;
6937: t = TYPE_NEXT_VARIANT (t);
6938: }
6939: }
6940: ;
6941: break;}
1.1.1.3 ! root 6942: case 679:
! 6943: #line 3818 "cp-parse.y"
1.1 root 6944: {
6945: yyval.ttype = build1 (TYPE_EXPR, yyvsp[-1].ttype, yyvsp[0].ttype);
6946: ;
6947: break;}
1.1.1.3 ! root 6948: case 680:
! 6949: #line 3822 "cp-parse.y"
1.1 root 6950: { yyval.ttype = ansi_opname[ERROR_MARK]; ;
6951: break;}
6952: }
6953: /* the action file gets copied in in place of this dollarsign */
6954: #line 440 "bison.simple"
6955:
6956: yyvsp -= yylen;
6957: yyssp -= yylen;
6958: #ifdef YYLSP_NEEDED
6959: yylsp -= yylen;
6960: #endif
6961:
6962: #if YYDEBUG != 0
6963: if (yydebug)
6964: {
6965: short *ssp1 = yyss - 1;
6966: fprintf (stderr, "state stack now");
6967: while (ssp1 != yyssp)
6968: fprintf (stderr, " %d", *++ssp1);
6969: fprintf (stderr, "\n");
6970: }
6971: #endif
6972:
6973: *++yyvsp = yyval;
6974:
6975: #ifdef YYLSP_NEEDED
6976: yylsp++;
6977: if (yylen == 0)
6978: {
6979: yylsp->first_line = yylloc.first_line;
6980: yylsp->first_column = yylloc.first_column;
6981: yylsp->last_line = (yylsp-1)->last_line;
6982: yylsp->last_column = (yylsp-1)->last_column;
6983: yylsp->text = 0;
6984: }
6985: else
6986: {
6987: yylsp->last_line = (yylsp+yylen-1)->last_line;
6988: yylsp->last_column = (yylsp+yylen-1)->last_column;
6989: }
6990: #endif
6991:
6992: /* Now "shift" the result of the reduction.
6993: Determine what state that goes to,
6994: based on the state we popped back to
6995: and the rule number reduced by. */
6996:
6997: yyn = yyr1[yyn];
6998:
6999: yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
7000: if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
7001: yystate = yytable[yystate];
7002: else
7003: yystate = yydefgoto[yyn - YYNTBASE];
7004:
7005: goto yynewstate;
7006:
7007: yyerrlab: /* here on detecting error */
7008:
7009: if (! yyerrstatus)
7010: /* If not already recovering from an error, report this error. */
7011: {
7012: ++yynerrs;
7013:
7014: #ifdef YYERROR_VERBOSE
7015: yyn = yypact[yystate];
7016:
7017: if (yyn > YYFLAG && yyn < YYLAST)
7018: {
7019: int size = 0;
7020: char *msg;
7021: int x, count;
7022:
7023: count = 0;
7024: for (x = 0; x < (sizeof(yytname) / sizeof(char *)); x++)
7025: if (yycheck[x + yyn] == x)
7026: size += strlen(yytname[x]) + 15, count++;
1.1.1.3 ! root 7027: msg = (char *) malloc(size + 15);
! 7028: if (msg != 0)
1.1.1.2 root 7029: {
1.1.1.3 ! root 7030: strcpy(msg, "parse error");
! 7031:
! 7032: if (count < 5)
! 7033: {
! 7034: count = 0;
! 7035: for (x = 0; x < (sizeof(yytname) / sizeof(char *)); x++)
! 7036: if (yycheck[x + yyn] == x)
! 7037: {
! 7038: strcat(msg, count == 0 ? ", expecting `" : " or `");
! 7039: strcat(msg, yytname[x]);
! 7040: strcat(msg, "'");
! 7041: count++;
! 7042: }
! 7043: }
! 7044: yyerror(msg);
! 7045: free(msg);
1.1 root 7046: }
1.1.1.3 ! root 7047: else
! 7048: yyerror ("parse error; also virtual memory exceeded");
1.1 root 7049: }
7050: else
7051: #endif /* YYERROR_VERBOSE */
7052: yyerror("parse error");
7053: }
7054:
7055: yyerrlab1: /* here on error raised explicitly by an action */
7056:
7057: if (yyerrstatus == 3)
7058: {
7059: /* if just tried and failed to reuse lookahead token after an error, discard it. */
7060:
7061: /* return failure if at end of input */
7062: if (yychar == YYEOF)
7063: YYABORT;
7064:
7065: #if YYDEBUG != 0
7066: if (yydebug)
7067: fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
7068: #endif
7069:
7070: yychar = YYEMPTY;
7071: }
7072:
7073: /* Else will try to reuse lookahead token
7074: after shifting the error token. */
7075:
7076: yyerrstatus = 3; /* Each real token shifted decrements this */
7077:
7078: goto yyerrhandle;
7079:
7080: yyerrdefault: /* current state does not do anything special for the error token. */
7081:
7082: #if 0
7083: /* This is wrong; only states that explicitly want error tokens
7084: should shift them. */
7085: yyn = yydefact[yystate]; /* If its default is to accept any token, ok. Otherwise pop it.*/
7086: if (yyn) goto yydefault;
7087: #endif
7088:
7089: yyerrpop: /* pop the current state because it cannot handle the error token */
7090:
7091: if (yyssp == yyss) YYABORT;
7092: yyvsp--;
7093: yystate = *--yyssp;
7094: #ifdef YYLSP_NEEDED
7095: yylsp--;
7096: #endif
7097:
7098: #if YYDEBUG != 0
7099: if (yydebug)
7100: {
7101: short *ssp1 = yyss - 1;
7102: fprintf (stderr, "Error: state stack now");
7103: while (ssp1 != yyssp)
7104: fprintf (stderr, " %d", *++ssp1);
7105: fprintf (stderr, "\n");
7106: }
7107: #endif
7108:
7109: yyerrhandle:
7110:
7111: yyn = yypact[yystate];
7112: if (yyn == YYFLAG)
7113: goto yyerrdefault;
7114:
7115: yyn += YYTERROR;
7116: if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
7117: goto yyerrdefault;
7118:
7119: yyn = yytable[yyn];
7120: if (yyn < 0)
7121: {
7122: if (yyn == YYFLAG)
7123: goto yyerrpop;
7124: yyn = -yyn;
7125: goto yyreduce;
7126: }
7127: else if (yyn == 0)
7128: goto yyerrpop;
7129:
7130: if (yyn == YYFINAL)
7131: YYACCEPT;
7132:
7133: #if YYDEBUG != 0
7134: if (yydebug)
7135: fprintf(stderr, "Shifting error token, ");
7136: #endif
7137:
7138: *++yyvsp = yylval;
7139: #ifdef YYLSP_NEEDED
7140: *++yylsp = yylloc;
7141: #endif
7142:
7143: yystate = yyn;
7144: goto yynewstate;
7145: }
1.1.1.3 ! root 7146: #line 3825 "cp-parse.y"
1.1.1.2 root 7147:
1.1 root 7148:
1.1.1.2 root 7149: tree
7150: get_current_declspecs ()
7151: {
7152: return current_declspecs;
7153: }
1.1 root 7154:
7155: #if YYDEBUG != 0
7156: db_yyerror (s, yyps, yychar)
7157: char *s;
7158: short *yyps;
7159: int yychar;
7160: {
7161: FILE *yyout;
7162: char buf[1024];
7163: int st;
7164:
7165: yyerror (s);
7166: printf ("State is %d, input token number is %d.\n", *yyps, yychar);
7167:
7168: #ifdef PARSE_OUTPUT
7169: if (*yyps < 1) fatal ("Cannot start from here");
7170: else if ((yyout = fopen (PARSE_OUTPUT, "r")) == NULL)
7171: error ("cannot open file %s", PARSE_OUTPUT);
7172: else
7173: {
7174: printf ("That is to say,\n\n");
7175: while (fgets(buf, sizeof (buf)-1, yyout))
7176: {
7177: if (buf[0] != 's') continue;
7178: st = atoi (buf+6);
7179: if (st != *yyps) continue;
7180: printf ("%s", buf);
7181: while (fgets (buf, sizeof (buf)-1, yyout))
7182: {
7183: if (buf[0] == 's') break;
7184: printf ("%s", buf);
7185: }
7186: break;
7187: }
7188: printf ("With the token %s\n", yytname[YYTRANSLATE (yychar)]);
7189: fclose (yyout);
7190: }
7191: #endif
7192: }
7193: #endif
7194:
7195: void
7196: yyerror (string)
7197: char *string;
7198: {
7199: extern int end_of_file;
7200: extern char *token_buffer;
7201: extern int input_redirected ();
7202: char buf[200];
7203:
7204: strcpy (buf, string);
7205:
7206: /* We can't print string and character constants well
7207: because the token_buffer contains the result of processing escapes. */
7208: if (end_of_file)
7209: strcat (buf, input_redirected ()
7210: ? " at end of saved text"
7211: : " at end of input");
7212: else if (token_buffer[0] == 0)
7213: strcat (buf, " at null character");
7214: else if (token_buffer[0] == '"')
7215: strcat (buf, " before string constant");
7216: else if (token_buffer[0] == '\'')
7217: strcat (buf, " before character constant");
7218: else if (token_buffer[0] < 040 || (unsigned char) token_buffer[0] >= 0177)
7219: sprintf (buf + strlen (buf), " before character 0%o",
7220: (unsigned char) token_buffer[0]);
7221: else
7222: strcat (buf, " before `%s'");
7223:
7224: error (buf, token_buffer);
7225: }
7226:
7227: static
7228: #ifdef __GNUC__
7229: __inline
7230: #endif
7231: void
7232: yyprint (file, yychar, yylval)
7233: FILE *file;
7234: int yychar;
7235: YYSTYPE yylval;
7236: {
7237: tree t;
7238: switch (yychar)
7239: {
7240: case IDENTIFIER:
7241: case TYPENAME:
7242: case TYPESPEC:
7243: case PTYPENAME:
7244: case IDENTIFIER_DEFN:
7245: case TYPENAME_DEFN:
7246: case PTYPENAME_DEFN:
7247: case TYPENAME_COLON:
7248: case TYPENAME_ELLIPSIS:
7249: case SCOPED_TYPENAME:
7250: case SCSPEC:
7251: t = yylval.ttype;
7252: print_id:
7253: assert (TREE_CODE (t) == IDENTIFIER_NODE);
7254: if (IDENTIFIER_POINTER (t))
7255: fprintf (file, " `%s'", IDENTIFIER_POINTER (t));
7256: break;
7257: case AGGR:
7258: if (yylval.ttype == class_type_node)
7259: fprintf (file, " `class'");
7260: else if (yylval.ttype == record_type_node)
7261: fprintf (file, " `struct'");
7262: else if (yylval.ttype == union_type_node)
7263: fprintf (file, " `union'");
7264: else if (yylval.ttype == enum_type_node)
7265: fprintf (file, " `enum'");
7266: else
1.1.1.3 ! root 7267: my_friendly_abort (80);
1.1 root 7268: break;
7269: case PRE_PARSED_CLASS_DECL:
7270: t = yylval.ttype;
7271: assert (TREE_CODE (t) == TREE_LIST);
7272: t = TREE_VALUE (t);
7273: goto print_id;
7274: }
7275: }
7276:
7277: static int *reduce_count;
7278: int *token_count;
7279:
7280: #define REDUCE_LENGTH (sizeof (yyr2) / sizeof (yyr2[0]))
7281: #define TOKEN_LENGTH (256 + sizeof (yytname) / sizeof (yytname[0]))
7282:
7283: int *
7284: init_parse ()
7285: {
7286: #ifdef GATHER_STATISTICS
7287: reduce_count = (int *)malloc (sizeof (int) * (REDUCE_LENGTH + 1));
7288: bzero (reduce_count, sizeof (int) * (REDUCE_LENGTH + 1));
7289: reduce_count += 1;
7290: token_count = (int *)malloc (sizeof (int) * (TOKEN_LENGTH + 1));
7291: bzero (token_count, sizeof (int) * (TOKEN_LENGTH + 1));
7292: token_count += 1;
7293: #endif
7294: return token_count;
7295: }
7296:
7297: #ifdef GATHER_STATISTICS
7298: void
7299: yyhook (yyn)
7300: int yyn;
7301: {
7302: reduce_count[yyn] += 1;
7303: }
7304: #endif
7305:
7306: static int
7307: reduce_cmp (p, q)
7308: int *p, *q;
7309: {
7310: return reduce_count[*q] - reduce_count[*p];
7311: }
7312:
7313: static int
7314: token_cmp (p, q)
7315: int *p, *q;
7316: {
7317: return token_count[*q] - token_count[*p];
7318: }
7319:
7320: void
7321: print_parse_statistics ()
7322: {
7323: #if YYDEBUG != 0
7324: int i;
7325: int maxlen = REDUCE_LENGTH;
7326: unsigned *sorted;
7327:
7328: if (reduce_count[-1] == 0)
7329: return;
7330:
7331: if (TOKEN_LENGTH > REDUCE_LENGTH)
7332: maxlen = TOKEN_LENGTH;
7333: sorted = (unsigned *) alloca (sizeof (int) * maxlen);
7334:
7335: for (i = 0; i < TOKEN_LENGTH; i++)
7336: sorted[i] = i;
7337: qsort (sorted, TOKEN_LENGTH, sizeof (int), token_cmp);
7338: for (i = 0; i < TOKEN_LENGTH; i++)
7339: {
7340: int index = sorted[i];
7341: if (token_count[index] == 0)
7342: break;
7343: if (token_count[index] < token_count[-1])
7344: break;
7345: fprintf (stderr, "token %d, `%s', count = %d\n",
7346: index, yytname[YYTRANSLATE (index)], token_count[index]);
7347: }
7348: fprintf (stderr, "\n");
7349: for (i = 0; i < REDUCE_LENGTH; i++)
7350: sorted[i] = i;
7351: qsort (sorted, REDUCE_LENGTH, sizeof (int), reduce_cmp);
7352: for (i = 0; i < REDUCE_LENGTH; i++)
7353: {
7354: int index = sorted[i];
7355: if (reduce_count[index] == 0)
7356: break;
7357: if (reduce_count[index] < reduce_count[-1])
7358: break;
7359: fprintf (stderr, "rule %d, line %d, count = %d\n",
7360: index, yyrline[index], reduce_count[index]);
7361: }
7362: fprintf (stderr, "\n");
7363: #endif
7364: }
7365:
7366:
1.1.1.2 root 7367: /* Sets the value of the 'yydebug' variable to VALUE.
1.1 root 7368: This is a function so we don't have to have YYDEBUG defined
7369: in order to build the compiler. */
7370: void
7371: set_yydebug (value)
7372: int value;
7373: {
7374: #if YYDEBUG != 0
7375: yydebug = value;
7376: #else
7377: warning ("YYDEBUG not defined.");
7378: #endif
7379: }
7380:
7381: #ifdef SPEW_DEBUG
7382: const char *
7383: debug_yytranslate (value)
7384: int value;
7385: {
7386: #if YYDEBUG != 0
7387: return yytname[YYTRANSLATE (value)];
7388: #else
7389: return "YYDEBUG not defined.";
7390: #endif
7391: }
7392:
7393: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.