|
|
1.1 root 1:
2: /* A Bison parser, made from parse.y with Bison version GNU Bison version 1.22
3: */
4:
5: #define YYBISON 1 /* Identify Bison output. */
6:
7: #define IDENTIFIER 258
8: #define TYPENAME 259
9: #define SCSPEC 260
10: #define TYPESPEC 261
11: #define TYPE_QUAL 262
12: #define CONSTANT 263
13: #define STRING 264
14: #define ELLIPSIS 265
15: #define SIZEOF 266
16: #define ENUM 267
17: #define IF 268
18: #define ELSE 269
19: #define WHILE 270
20: #define DO 271
21: #define FOR 272
22: #define SWITCH 273
23: #define CASE 274
24: #define DEFAULT 275
25: #define BREAK 276
26: #define CONTINUE 277
27: #define RETURN 278
28: #define GOTO 279
29: #define ASM_KEYWORD 280
30: #define GCC_ASM_KEYWORD 281
31: #define TYPEOF 282
32: #define ALIGNOF 283
33: #define HEADOF 284
34: #define CLASSOF 285
35: #define SIGOF 286
36: #define ATTRIBUTE 287
37: #define EXTENSION 288
38: #define LABEL 289
39: #define AGGR 290
40: #define VISSPEC 291
41: #define DELETE 292
42: #define NEW 293
43: #define OVERLOAD 294
44: #define THIS 295
45: #define OPERATOR 296
46: #define CXX_TRUE 297
47: #define CXX_FALSE 298
48: #define LEFT_RIGHT 299
49: #define TEMPLATE 300
50: #define TYPEID 301
51: #define DYNAMIC_CAST 302
52: #define STATIC_CAST 303
53: #define REINTERPRET_CAST 304
54: #define CONST_CAST 305
55: #define SCOPE 306
56: #define EMPTY 307
57: #define PTYPENAME 308
58: #define ASSIGN 309
59: #define OROR 310
60: #define ANDAND 311
61: #define MIN_MAX 312
62: #define EQCOMPARE 313
63: #define ARITHCOMPARE 314
64: #define LSHIFT 315
65: #define RSHIFT 316
66: #define POINTSAT_STAR 317
67: #define DOT_STAR 318
68: #define UNARY 319
69: #define PLUSPLUS 320
70: #define MINUSMINUS 321
71: #define HYPERUNARY 322
72: #define PAREN_STAR_PAREN 323
73: #define POINTSAT 324
74: #define TRY 325
75: #define CATCH 326
76: #define THROW 327
77: #define TYPENAME_ELLIPSIS 328
78: #define PRE_PARSED_FUNCTION_DECL 329
79: #define EXTERN_LANG_STRING 330
80: #define ALL 331
81: #define PRE_PARSED_CLASS_DECL 332
82: #define TYPENAME_DEFN 333
83: #define IDENTIFIER_DEFN 334
84: #define PTYPENAME_DEFN 335
85: #define END_OF_SAVED_INPUT 336
86:
87: #line 42 "parse.y"
88:
89: /* Cause the `yydebug' variable to be defined. */
90: #define YYDEBUG 1
91:
92: #include "config.h"
93:
94: #include <stdio.h>
95: #include <errno.h>
96:
97: #include "tree.h"
98: #include "input.h"
99: #include "flags.h"
100: #include "lex.h"
101: #include "cp-tree.h"
102:
103: /* Since parsers are distinct for each language, put the language string
104: definition here. (fnf) */
105: char *language_string = "GNU C++";
106:
107: extern tree void_list_node;
108: extern struct obstack permanent_obstack;
109:
110: #ifndef errno
111: extern int errno;
112: #endif
113:
114: extern int end_of_file;
115: extern int current_class_depth;
116:
117: void yyerror ();
118:
119: /* Like YYERROR but do call yyerror. */
120: #define YYERROR1 { yyerror ("syntax error"); YYERROR; }
121:
122: #define OP0(NODE) (TREE_OPERAND (NODE, 0))
123: #define OP1(NODE) (TREE_OPERAND (NODE, 1))
124:
125: /* Contains the statement keyword (if/while/do) to include in an
126: error message if the user supplies an empty conditional expression. */
127: static char *cond_stmt_keyword;
128:
129: /* Nonzero if we have an `extern "C"' acting as an extern specifier. */
130: int have_extern_spec;
131: int used_extern_spec;
132:
133: void yyhook ();
134:
135: /* Cons up an empty parameter list. */
136: #ifdef __GNUC__
137: __inline
138: #endif
139: static tree
140: empty_parms ()
141: {
142: tree parms;
143:
144: if (strict_prototype)
145: parms = void_list_node;
146: else
147: parms = NULL_TREE;
148: return parms;
149: }
150:
151: #line 108 "parse.y"
152: typedef union {long itype; tree ttype; char *strtype; enum tree_code code; } YYSTYPE;
153: #line 277 "parse.y"
154:
155: /* List of types and structure classes of the current declaration. */
156: static tree current_declspecs;
157:
158: /* When defining an aggregate, this is the most recent one being defined. */
159: static tree current_aggr;
160:
161: /* Tell yyparse how to print a token's value, if yydebug is set. */
162:
163: #define YYPRINT(FILE,YYCHAR,YYLVAL) yyprint(FILE,YYCHAR,YYLVAL)
164: extern void yyprint ();
165: extern tree combine_strings PROTO((tree));
166:
167: #ifndef YYLTYPE
168: typedef
169: struct yyltype
170: {
171: int timestamp;
172: int first_line;
173: int first_column;
174: int last_line;
175: int last_column;
176: char *text;
177: }
178: yyltype;
179:
180: #define YYLTYPE yyltype
181: #endif
182:
183: #include <stdio.h>
184:
185: #ifndef __cplusplus
186: #ifndef __STDC__
187: #define const
188: #endif
189: #endif
190:
191:
192:
193: #define YYFINAL 1350
194: #define YYFLAG -32768
195: #define YYNTBASE 106
196:
197: #define YYTRANSLATE(x) ((unsigned)(x) <= 336 ? yytranslate[x] : 338)
198:
199: static const char yytranslate[] = { 0,
200: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
201: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
202: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
203: 2, 2, 104, 2, 2, 2, 77, 65, 2, 88,
204: 102, 75, 73, 55, 74, 87, 76, 2, 2, 2,
205: 2, 2, 2, 2, 2, 2, 2, 60, 56, 69,
206: 58, 70, 59, 2, 2, 2, 2, 2, 2, 2,
207: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
208: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
209: 89, 2, 105, 64, 2, 2, 2, 2, 2, 2,
210: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
211: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
212: 2, 2, 54, 63, 103, 83, 2, 2, 2, 2,
213: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
214: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
215: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
216: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
217: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
218: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
219: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
220: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
221: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
222: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
223: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
224: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
225: 2, 2, 2, 2, 2, 1, 2, 3, 4, 5,
226: 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
227: 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
228: 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
229: 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
230: 46, 47, 48, 49, 50, 51, 52, 53, 57, 61,
231: 62, 66, 67, 68, 71, 72, 78, 79, 80, 81,
232: 82, 84, 85, 86, 90, 91, 92, 93, 94, 95,
233: 96, 97, 98, 99, 100, 101
234: };
235:
236: #if YYDEBUG != 0
237: static const short yyprhs[] = { 0,
238: 0, 1, 3, 4, 7, 10, 11, 12, 14, 16,
239: 17, 20, 22, 24, 26, 28, 34, 39, 43, 48,
240: 53, 55, 56, 62, 64, 68, 70, 73, 75, 79,
241: 81, 85, 87, 91, 92, 98, 99, 105, 106, 112,
242: 113, 119, 123, 127, 134, 142, 147, 151, 155, 157,
243: 159, 161, 163, 165, 168, 172, 176, 180, 184, 187,
244: 190, 193, 196, 199, 201, 205, 210, 214, 220, 225,
245: 229, 233, 236, 240, 244, 247, 249, 256, 261, 265,
246: 269, 272, 275, 277, 281, 286, 289, 293, 294, 295,
247: 297, 301, 304, 308, 310, 315, 318, 323, 326, 331,
248: 334, 336, 338, 340, 342, 344, 346, 348, 350, 354,
249: 358, 363, 368, 372, 377, 381, 386, 387, 389, 393,
250: 395, 397, 398, 405, 406, 408, 409, 412, 414, 416,
251: 418, 420, 422, 424, 426, 428, 432, 434, 438, 439,
252: 441, 443, 444, 453, 455, 458, 463, 468, 470, 474,
253: 478, 482, 486, 488, 490, 492, 493, 497, 500, 503,
254: 506, 509, 512, 515, 520, 523, 528, 531, 535, 539,
255: 544, 549, 555, 561, 568, 571, 576, 582, 586, 590,
256: 594, 596, 600, 603, 607, 612, 614, 617, 623, 625,
257: 630, 635, 640, 642, 646, 650, 654, 658, 662, 666,
258: 670, 674, 678, 682, 686, 690, 694, 698, 702, 706,
259: 710, 714, 718, 724, 728, 732, 734, 737, 741, 743,
260: 745, 747, 749, 751, 753, 755, 758, 761, 763, 765,
261: 767, 769, 771, 773, 775, 779, 783, 784, 789, 790,
262: 797, 800, 805, 808, 811, 813, 818, 820, 828, 836,
263: 844, 852, 857, 862, 865, 868, 870, 875, 878, 881,
264: 884, 890, 894, 900, 904, 909, 916, 918, 921, 923,
265: 926, 928, 930, 932, 935, 936, 939, 942, 946, 950,
266: 954, 958, 962, 965, 968, 970, 972, 974, 977, 980,
267: 983, 986, 988, 990, 992, 994, 997, 1000, 1004, 1008,
268: 1013, 1015, 1018, 1021, 1023, 1025, 1028, 1031, 1033, 1036,
269: 1039, 1043, 1045, 1048, 1050, 1052, 1054, 1059, 1064, 1069,
270: 1074, 1076, 1078, 1080, 1082, 1086, 1088, 1092, 1094, 1098,
271: 1099, 1104, 1105, 1113, 1118, 1119, 1127, 1132, 1133, 1141,
272: 1146, 1147, 1155, 1160, 1161, 1163, 1165, 1168, 1175, 1177,
273: 1181, 1182, 1184, 1189, 1196, 1201, 1203, 1205, 1207, 1209,
274: 1211, 1215, 1217, 1220, 1224, 1229, 1231, 1233, 1237, 1242,
275: 1249, 1253, 1259, 1260, 1268, 1273, 1274, 1281, 1285, 1288,
276: 1291, 1296, 1298, 1299, 1301, 1302, 1304, 1306, 1309, 1312,
277: 1315, 1318, 1322, 1325, 1328, 1331, 1335, 1339, 1341, 1344,
278: 1345, 1346, 1350, 1354, 1357, 1359, 1361, 1362, 1364, 1367,
279: 1369, 1373, 1375, 1378, 1380, 1385, 1390, 1392, 1394, 1397,
280: 1400, 1402, 1403, 1405, 1410, 1414, 1416, 1419, 1422, 1425,
281: 1428, 1431, 1434, 1437, 1440, 1445, 1448, 1450, 1456, 1460,
282: 1461, 1463, 1467, 1468, 1470, 1474, 1476, 1478, 1480, 1482,
283: 1487, 1494, 1499, 1504, 1511, 1516, 1520, 1525, 1532, 1537,
284: 1542, 1549, 1554, 1558, 1560, 1564, 1566, 1570, 1573, 1575,
285: 1582, 1583, 1586, 1588, 1591, 1592, 1595, 1599, 1603, 1606,
286: 1609, 1613, 1615, 1617, 1619, 1622, 1628, 1634, 1638, 1644,
287: 1649, 1653, 1657, 1660, 1662, 1666, 1670, 1673, 1676, 1680,
288: 1682, 1686, 1690, 1693, 1696, 1700, 1702, 1708, 1714, 1718,
289: 1724, 1728, 1732, 1737, 1741, 1744, 1747, 1749, 1752, 1757,
290: 1762, 1765, 1767, 1769, 1771, 1774, 1777, 1780, 1782, 1785,
291: 1787, 1790, 1793, 1797, 1799, 1803, 1806, 1810, 1813, 1816,
292: 1820, 1822, 1826, 1831, 1835, 1838, 1841, 1843, 1847, 1850,
293: 1853, 1855, 1858, 1862, 1864, 1868, 1870, 1876, 1880, 1885,
294: 1889, 1894, 1897, 1900, 1904, 1907, 1909, 1911, 1914, 1917,
295: 1920, 1921, 1922, 1924, 1926, 1929, 1933, 1935, 1938, 1942,
296: 1948, 1955, 1961, 1962, 1963, 1970, 1972, 1975, 1977, 1979,
297: 1981, 1984, 1985, 1990, 1992, 1993, 1994, 2001, 2002, 2003,
298: 2011, 2012, 2013, 2014, 2025, 2026, 2027, 2028, 2039, 2040,
299: 2048, 2049, 2055, 2056, 2064, 2065, 2070, 2073, 2076, 2079,
300: 2083, 2090, 2099, 2110, 2123, 2128, 2132, 2135, 2138, 2140,
301: 2142, 2143, 2144, 2152, 2154, 2157, 2160, 2161, 2162, 2168,
302: 2170, 2172, 2176, 2180, 2183, 2186, 2189, 2193, 2198, 2203,
303: 2207, 2212, 2219, 2226, 2227, 2229, 2230, 2232, 2234, 2235,
304: 2237, 2239, 2243, 2248, 2250, 2254, 2255, 2257, 2259, 2261,
305: 2264, 2267, 2270, 2272, 2274, 2277, 2280, 2283, 2286, 2288,
306: 2292, 2295, 2298, 2303, 2306, 2309, 2312, 2315, 2318, 2321,
307: 2323, 2326, 2328, 2332, 2334, 2336, 2337, 2338, 2340, 2341,
308: 2346, 2348, 2350, 2354, 2355, 2359, 2363, 2367, 2369, 2372,
309: 2375, 2378, 2381, 2384, 2387, 2390, 2393, 2396, 2399, 2402,
310: 2405, 2408, 2411, 2414, 2417, 2420, 2423, 2426, 2429, 2432,
311: 2435, 2438, 2442, 2445, 2448, 2451, 2454, 2458, 2461, 2464,
312: 2469, 2474, 2478
313: };
314:
315: static const short yyrhs[] = { -1,
316: 107, 0, 0, 108, 112, 0, 107, 112, 0, 0,
317: 0, 25, 0, 26, 0, 0, 113, 114, 0, 130,
318: 0, 129, 0, 123, 0, 121, 0, 111, 88, 180,
319: 102, 56, 0, 115, 54, 107, 103, 0, 115, 54,
320: 103, 0, 115, 109, 130, 110, 0, 115, 109, 129,
321: 110, 0, 95, 0, 0, 45, 69, 117, 118, 70,
322: 0, 120, 0, 118, 55, 120, 0, 221, 0, 221,
323: 139, 0, 119, 0, 119, 58, 193, 0, 328, 0,
324: 39, 122, 56, 0, 3, 0, 122, 55, 3, 0,
325: 0, 116, 223, 54, 124, 56, 0, 0, 116, 224,
326: 54, 125, 56, 0, 0, 116, 223, 60, 126, 56,
327: 0, 0, 116, 224, 60, 127, 56, 0, 116, 223,
328: 56, 0, 116, 224, 56, 0, 116, 259, 332, 198,
329: 207, 128, 0, 116, 187, 184, 332, 198, 207, 128,
330: 0, 116, 190, 259, 128, 0, 116, 1, 103, 0,
331: 116, 1, 56, 0, 54, 0, 60, 0, 56, 0,
332: 58, 0, 23, 0, 197, 56, 0, 190, 196, 56,
333: 0, 190, 259, 56, 0, 187, 195, 56, 0, 187,
334: 184, 56, 0, 190, 56, 0, 142, 56, 0, 187,
335: 56, 0, 1, 56, 0, 1, 103, 0, 56, 0,
336: 131, 135, 283, 0, 131, 134, 135, 283, 0, 131,
337: 181, 283, 0, 131, 134, 56, 181, 283, 0, 131,
338: 134, 181, 283, 0, 187, 184, 1, 0, 190, 259,
339: 1, 0, 259, 1, 0, 187, 184, 332, 0, 190,
340: 259, 332, 0, 259, 332, 0, 94, 0, 187, 88,
341: 323, 102, 251, 332, 0, 187, 44, 251, 332, 0,
342: 187, 184, 332, 0, 190, 259, 332, 0, 259, 332,
343: 0, 23, 3, 0, 133, 0, 133, 58, 214, 0,
344: 133, 88, 161, 102, 0, 133, 44, 0, 60, 136,
345: 137, 0, 0, 0, 138, 0, 137, 55, 138, 0,
346: 137, 1, 0, 88, 161, 102, 0, 44, 0, 140,
347: 88, 161, 102, 0, 140, 44, 0, 269, 88, 161,
348: 102, 0, 269, 44, 0, 263, 88, 161, 102, 0,
349: 263, 44, 0, 3, 0, 4, 0, 53, 0, 3,
350: 0, 53, 0, 99, 0, 98, 0, 100, 0, 45,
351: 222, 150, 0, 45, 187, 184, 0, 5, 45, 222,
352: 150, 0, 5, 45, 187, 184, 0, 144, 145, 150,
353: 0, 53, 69, 146, 70, 0, 53, 69, 70, 0,
354: 4, 69, 146, 70, 0, 0, 147, 0, 146, 55,
355: 147, 0, 186, 0, 169, 0, 0, 97, 230, 149,
356: 235, 236, 103, 0, 0, 148, 0, 0, 148, 151,
357: 0, 74, 0, 73, 0, 81, 0, 82, 0, 104,
358: 0, 160, 0, 169, 0, 44, 0, 88, 153, 102,
359: 0, 44, 0, 88, 157, 102, 0, 0, 157, 0,
360: 1, 0, 0, 312, 184, 332, 198, 207, 58, 158,
361: 214, 0, 153, 0, 54, 103, 0, 54, 280, 277,
362: 103, 0, 54, 280, 1, 103, 0, 290, 0, 169,
363: 55, 169, 0, 169, 55, 1, 0, 160, 55, 169,
364: 0, 160, 55, 1, 0, 169, 0, 160, 0, 174,
365: 0, 0, 33, 163, 167, 0, 75, 167, 0, 65,
366: 167, 0, 83, 167, 0, 152, 167, 0, 62, 139,
367: 0, 11, 162, 0, 11, 88, 186, 102, 0, 28,
368: 162, 0, 28, 88, 186, 102, 0, 177, 250, 0,
369: 177, 250, 165, 0, 177, 164, 250, 0, 177, 164,
370: 250, 165, 0, 177, 88, 186, 102, 0, 177, 88,
371: 186, 102, 165, 0, 177, 164, 88, 186, 102, 0,
372: 177, 164, 88, 186, 102, 165, 0, 178, 167, 0,
373: 178, 89, 105, 167, 0, 178, 89, 153, 105, 167,
374: 0, 88, 161, 102, 0, 54, 161, 103, 0, 88,
375: 161, 102, 0, 44, 0, 88, 193, 102, 0, 58,
376: 214, 0, 88, 186, 102, 0, 166, 88, 186, 102,
377: 0, 168, 0, 166, 168, 0, 166, 54, 215, 219,
378: 103, 0, 162, 0, 29, 88, 153, 102, 0, 30,
379: 88, 153, 102, 0, 30, 88, 4, 102, 0, 167,
380: 0, 169, 78, 169, 0, 169, 79, 169, 0, 169,
381: 73, 169, 0, 169, 74, 169, 0, 169, 75, 169,
382: 0, 169, 76, 169, 0, 169, 77, 169, 0, 169,
383: 71, 169, 0, 169, 72, 169, 0, 169, 68, 169,
384: 0, 169, 69, 169, 0, 169, 70, 169, 0, 169,
385: 67, 169, 0, 169, 66, 169, 0, 169, 65, 169,
386: 0, 169, 63, 169, 0, 169, 64, 169, 0, 169,
387: 62, 169, 0, 169, 61, 169, 0, 169, 59, 318,
388: 60, 169, 0, 169, 58, 169, 0, 169, 57, 169,
389: 0, 92, 0, 92, 169, 0, 83, 330, 139, 0,
390: 337, 0, 3, 0, 53, 0, 170, 0, 4, 0,
391: 170, 0, 263, 0, 75, 172, 0, 65, 172, 0,
392: 261, 0, 170, 0, 263, 0, 170, 0, 8, 0,
393: 179, 0, 180, 0, 88, 153, 102, 0, 88, 1,
394: 102, 0, 0, 88, 175, 284, 102, 0, 0, 174,
395: 88, 161, 102, 176, 151, 0, 174, 44, 0, 174,
396: 89, 153, 105, 0, 174, 81, 0, 174, 82, 0,
397: 40, 0, 7, 88, 161, 102, 0, 265, 0, 47,
398: 69, 186, 70, 88, 153, 102, 0, 48, 69, 186,
399: 70, 88, 153, 102, 0, 49, 69, 186, 70, 88,
400: 153, 102, 0, 50, 69, 186, 70, 88, 153, 102,
401: 0, 46, 88, 153, 102, 0, 46, 88, 186, 102,
402: 0, 272, 3, 0, 272, 337, 0, 264, 0, 264,
403: 88, 161, 102, 0, 264, 44, 0, 182, 171, 0,
404: 182, 262, 0, 182, 171, 88, 161, 102, 0, 182,
405: 171, 44, 0, 182, 262, 88, 161, 102, 0, 182,
406: 262, 44, 0, 182, 83, 6, 44, 0, 182, 6,
407: 51, 83, 6, 44, 0, 38, 0, 272, 38, 0,
408: 37, 0, 272, 178, 0, 42, 0, 43, 0, 9,
409: 0, 180, 9, 0, 0, 174, 87, 0, 174, 86,
410: 0, 193, 184, 56, 0, 187, 184, 56, 0, 193,
411: 195, 56, 0, 187, 195, 56, 0, 190, 196, 56,
412: 0, 187, 56, 0, 190, 56, 0, 255, 0, 259,
413: 0, 44, 0, 185, 44, 0, 191, 275, 0, 252,
414: 275, 0, 193, 275, 0, 191, 0, 252, 0, 191,
415: 0, 188, 0, 190, 193, 0, 193, 189, 0, 190,
416: 193, 189, 0, 190, 193, 192, 0, 190, 193, 192,
417: 189, 0, 5, 0, 189, 194, 0, 189, 5, 0,
418: 252, 0, 5, 0, 190, 7, 0, 190, 5, 0,
419: 193, 0, 252, 193, 0, 193, 192, 0, 252, 193,
420: 192, 0, 194, 0, 192, 194, 0, 216, 0, 6,
421: 0, 269, 0, 27, 88, 153, 102, 0, 27, 88,
422: 186, 102, 0, 31, 88, 153, 102, 0, 31, 88,
423: 186, 102, 0, 6, 0, 7, 0, 216, 0, 199,
424: 0, 195, 55, 201, 0, 203, 0, 196, 55, 201,
425: 0, 205, 0, 197, 55, 201, 0, 0, 111, 88,
426: 180, 102, 0, 0, 184, 332, 198, 207, 58, 200,
427: 214, 0, 184, 332, 198, 207, 0, 0, 184, 332,
428: 198, 207, 58, 202, 214, 0, 184, 332, 198, 207,
429: 0, 0, 259, 332, 198, 207, 58, 204, 214, 0,
430: 259, 332, 198, 207, 0, 0, 259, 332, 198, 207,
431: 58, 206, 214, 0, 259, 332, 198, 207, 0, 0,
432: 208, 0, 209, 0, 208, 209, 0, 32, 88, 88,
433: 210, 102, 102, 0, 211, 0, 210, 55, 211, 0,
434: 0, 212, 0, 212, 88, 3, 102, 0, 212, 88,
435: 3, 55, 161, 102, 0, 212, 88, 161, 102, 0,
436: 139, 0, 5, 0, 6, 0, 7, 0, 139, 0,
437: 213, 55, 139, 0, 169, 0, 54, 103, 0, 54,
438: 215, 103, 0, 54, 215, 55, 103, 0, 1, 0,
439: 214, 0, 215, 55, 214, 0, 89, 169, 105, 214,
440: 0, 215, 55, 19, 169, 60, 214, 0, 139, 60,
441: 214, 0, 215, 55, 139, 60, 214, 0, 0, 12,
442: 139, 54, 217, 248, 220, 103, 0, 12, 139, 54,
443: 103, 0, 0, 12, 54, 218, 248, 220, 103, 0,
444: 12, 54, 103, 0, 12, 139, 0, 12, 270, 0,
445: 229, 235, 236, 103, 0, 229, 0, 0, 55, 0,
446: 0, 55, 0, 35, 0, 221, 5, 0, 221, 6,
447: 0, 221, 7, 0, 221, 35, 0, 221, 144, 56,
448: 0, 221, 139, 0, 221, 270, 0, 221, 143, 0,
449: 221, 144, 54, 0, 221, 144, 60, 0, 222, 0,
450: 221, 141, 0, 0, 0, 223, 225, 230, 0, 224,
451: 226, 230, 0, 221, 54, 0, 228, 0, 227, 0,
452: 0, 60, 0, 60, 231, 0, 232, 0, 231, 55,
453: 232, 0, 233, 0, 234, 233, 0, 269, 0, 31,
454: 88, 153, 102, 0, 31, 88, 186, 102, 0, 36,
455: 0, 5, 0, 234, 36, 0, 234, 5, 0, 54,
456: 0, 0, 237, 0, 236, 36, 60, 237, 0, 236,
457: 36, 60, 0, 238, 0, 237, 238, 0, 237, 56,
458: 0, 239, 56, 0, 239, 103, 0, 132, 60, 0,
459: 132, 54, 0, 187, 240, 0, 190, 241, 0, 259,
460: 332, 198, 207, 0, 60, 169, 0, 1, 0, 187,
461: 88, 323, 102, 251, 0, 187, 44, 251, 0, 0,
462: 242, 0, 240, 55, 243, 0, 0, 245, 0, 241,
463: 55, 247, 0, 244, 0, 245, 0, 246, 0, 247,
464: 0, 255, 332, 198, 207, 0, 255, 332, 198, 207,
465: 58, 214, 0, 4, 60, 169, 207, 0, 259, 332,
466: 198, 207, 0, 259, 332, 198, 207, 58, 214, 0,
467: 3, 60, 169, 207, 0, 60, 169, 207, 0, 255,
468: 332, 198, 207, 0, 255, 332, 198, 207, 58, 214,
469: 0, 4, 60, 169, 207, 0, 259, 332, 198, 207,
470: 0, 259, 332, 198, 207, 58, 214, 0, 3, 60,
471: 169, 207, 0, 60, 169, 207, 0, 249, 0, 248,
472: 55, 249, 0, 139, 0, 139, 58, 169, 0, 312,
473: 273, 0, 312, 0, 88, 186, 102, 89, 153, 105,
474: 0, 0, 251, 7, 0, 7, 0, 252, 7, 0,
475: 0, 254, 153, 0, 75, 252, 255, 0, 65, 252,
476: 255, 0, 75, 255, 0, 65, 255, 0, 271, 251,
477: 255, 0, 258, 0, 266, 0, 257, 0, 267, 266,
478: 0, 258, 88, 161, 102, 251, 0, 258, 88, 323,
479: 102, 251, 0, 258, 44, 251, 0, 258, 88, 1,
480: 102, 251, 0, 258, 89, 253, 105, 0, 258, 89,
481: 105, 0, 88, 255, 102, 0, 267, 266, 0, 266,
482: 0, 75, 252, 259, 0, 65, 252, 259, 0, 75,
483: 259, 0, 65, 259, 0, 271, 251, 259, 0, 173,
484: 0, 75, 252, 259, 0, 65, 252, 259, 0, 75,
485: 260, 0, 65, 260, 0, 271, 251, 259, 0, 261,
486: 0, 173, 88, 161, 102, 251, 0, 173, 88, 323,
487: 102, 251, 0, 173, 44, 251, 0, 173, 88, 1,
488: 102, 251, 0, 88, 172, 102, 0, 88, 260, 102,
489: 0, 173, 89, 253, 105, 0, 173, 89, 105, 0,
490: 267, 171, 0, 267, 170, 0, 263, 0, 272, 263,
491: 0, 193, 88, 161, 102, 0, 193, 88, 172, 102,
492: 0, 193, 185, 0, 4, 0, 143, 0, 268, 0,
493: 267, 268, 0, 4, 51, 0, 143, 51, 0, 256,
494: 0, 272, 256, 0, 257, 0, 272, 256, 0, 267,
495: 75, 0, 272, 267, 75, 0, 51, 0, 75, 251,
496: 273, 0, 75, 251, 0, 65, 251, 273, 0, 65,
497: 251, 0, 271, 251, 0, 271, 251, 273, 0, 274,
498: 0, 89, 153, 105, 0, 274, 89, 253, 105, 0,
499: 75, 252, 275, 0, 75, 275, 0, 75, 252, 0,
500: 75, 0, 65, 252, 275, 0, 65, 275, 0, 65,
501: 252, 0, 65, 0, 271, 251, 0, 271, 251, 275,
502: 0, 276, 0, 88, 275, 102, 0, 85, 0, 276,
503: 88, 323, 102, 251, 0, 276, 44, 251, 0, 276,
504: 89, 253, 105, 0, 276, 89, 105, 0, 88, 324,
505: 102, 251, 0, 166, 251, 0, 185, 251, 0, 89,
506: 253, 105, 0, 89, 105, 0, 289, 0, 278, 0,
507: 277, 289, 0, 277, 278, 0, 1, 56, 0, 0,
508: 0, 281, 0, 282, 0, 281, 282, 0, 34, 213,
509: 56, 0, 284, 0, 1, 284, 0, 54, 279, 103,
510: 0, 54, 279, 280, 277, 103, 0, 54, 279, 280,
511: 277, 1, 103, 0, 54, 279, 280, 1, 103, 0,
512: 0, 0, 13, 286, 279, 155, 287, 288, 0, 284,
513: 0, 279, 290, 0, 284, 0, 290, 0, 183, 0,
514: 153, 56, 0, 0, 285, 14, 291, 288, 0, 285,
515: 0, 0, 0, 15, 292, 279, 155, 293, 159, 0,
516: 0, 0, 16, 294, 288, 15, 295, 154, 56, 0,
517: 0, 0, 0, 315, 296, 279, 156, 56, 297, 318,
518: 102, 298, 159, 0, 0, 0, 0, 316, 299, 279,
519: 156, 56, 300, 318, 102, 301, 159, 0, 0, 18,
520: 279, 88, 157, 102, 302, 288, 0, 0, 19, 169,
521: 60, 303, 289, 0, 0, 19, 169, 10, 169, 60,
522: 304, 289, 0, 0, 20, 60, 305, 289, 0, 21,
523: 56, 0, 22, 56, 0, 23, 56, 0, 23, 153,
524: 56, 0, 111, 317, 88, 180, 102, 56, 0, 111,
525: 317, 88, 180, 60, 319, 102, 56, 0, 111, 317,
526: 88, 180, 60, 319, 60, 319, 102, 56, 0, 111,
527: 317, 88, 180, 60, 319, 60, 319, 60, 322, 102,
528: 56, 0, 24, 75, 153, 56, 0, 24, 139, 56,
529: 0, 314, 289, 0, 314, 103, 0, 56, 0, 306,
530: 0, 0, 0, 90, 54, 279, 307, 309, 308, 310,
531: 0, 103, 0, 277, 103, 0, 1, 103, 0, 0,
532: 0, 310, 91, 311, 313, 284, 0, 191, 0, 252,
533: 0, 88, 10, 102, 0, 88, 329, 102, 0, 3,
534: 60, 0, 53, 60, 0, 4, 60, 0, 17, 88,
535: 56, 0, 17, 88, 153, 56, 0, 17, 88, 54,
536: 103, 0, 17, 88, 183, 0, 17, 88, 1, 56,
537: 0, 17, 88, 54, 279, 277, 103, 0, 17, 88,
538: 54, 279, 1, 103, 0, 0, 7, 0, 0, 153,
539: 0, 1, 0, 0, 320, 0, 321, 0, 320, 55,
540: 321, 0, 9, 88, 153, 102, 0, 9, 0, 322,
541: 55, 9, 0, 0, 324, 0, 186, 0, 325, 0,
542: 326, 10, 0, 325, 10, 0, 186, 10, 0, 10,
543: 0, 93, 0, 325, 93, 0, 186, 93, 0, 325,
544: 60, 0, 186, 60, 0, 327, 0, 329, 58, 214,
545: 0, 326, 328, 0, 326, 331, 0, 326, 331, 58,
546: 214, 0, 325, 55, 0, 186, 55, 0, 188, 184,
547: 0, 191, 184, 0, 193, 184, 0, 188, 275, 0,
548: 188, 0, 190, 259, 0, 329, 0, 329, 58, 214,
549: 0, 327, 0, 186, 0, 0, 0, 259, 0, 0,
550: 92, 88, 334, 102, 0, 186, 0, 333, 0, 334,
551: 55, 333, 0, 0, 75, 251, 335, 0, 65, 251,
552: 335, 0, 271, 251, 335, 0, 41, 0, 336, 75,
553: 0, 336, 76, 0, 336, 77, 0, 336, 73, 0,
554: 336, 74, 0, 336, 65, 0, 336, 63, 0, 336,
555: 64, 0, 336, 83, 0, 336, 55, 0, 336, 68,
556: 0, 336, 69, 0, 336, 70, 0, 336, 67, 0,
557: 336, 57, 0, 336, 58, 0, 336, 71, 0, 336,
558: 72, 0, 336, 81, 0, 336, 82, 0, 336, 62,
559: 0, 336, 61, 0, 336, 104, 0, 336, 59, 60,
560: 0, 336, 66, 0, 336, 86, 0, 336, 78, 0,
561: 336, 44, 0, 336, 89, 105, 0, 336, 38, 0,
562: 336, 37, 0, 336, 38, 89, 105, 0, 336, 37,
563: 89, 105, 0, 336, 312, 335, 0, 336, 1, 0
564: };
565:
566: #endif
567:
568: #if YYDEBUG != 0
569: static const short yyrline[] = { 0,
570: 292, 293, 307, 309, 310, 314, 319, 323, 325, 328,
571: 331, 335, 338, 340, 342, 343, 346, 348, 350, 353,
572: 358, 363, 366, 370, 373, 377, 387, 391, 401, 403,
573: 406, 411, 413, 417, 423, 423, 426, 426, 429, 429,
574: 444, 444, 449, 454, 471, 494, 504, 505, 508, 509,
575: 510, 511, 512, 515, 518, 521, 526, 531, 537, 539,
576: 540, 559, 560, 561, 564, 578, 591, 594, 597, 600,
577: 602, 604, 608, 614, 619, 624, 631, 642, 649, 651,
578: 653, 657, 665, 667, 669, 671, 675, 688, 711, 714,
579: 716, 717, 720, 726, 732, 734, 736, 738, 741, 745,
580: 751, 753, 754, 757, 759, 762, 764, 765, 768, 771,
581: 773, 775, 779, 784, 787, 789, 793, 798, 801, 805,
582: 808, 811, 845, 861, 864, 868, 871, 875, 877, 879,
583: 881, 883, 887, 889, 892, 897, 902, 907, 912, 915,
584: 918, 922, 941, 948, 951, 954, 956, 958, 962, 966,
585: 969, 971, 975, 978, 981, 990, 993, 996, 998, 1000,
586: 1002, 1009, 1020, 1040, 1042, 1044, 1049, 1051, 1053, 1055,
587: 1057, 1060, 1062, 1064, 1067, 1069, 1073, 1079, 1082, 1089,
588: 1092, 1094, 1102, 1111, 1117, 1123, 1125, 1127, 1140, 1142,
589: 1144, 1146, 1163, 1166, 1168, 1170, 1172, 1174, 1176, 1178,
590: 1180, 1182, 1184, 1186, 1188, 1190, 1192, 1194, 1196, 1198,
591: 1200, 1202, 1204, 1206, 1208, 1215, 1217, 1234, 1237, 1238,
592: 1239, 1242, 1244, 1247, 1249, 1250, 1252, 1256, 1258, 1259,
593: 1264, 1284, 1285, 1286, 1288, 1290, 1292, 1300, 1321, 1326,
594: 1333, 1340, 1342, 1351, 1356, 1379, 1423, 1424, 1427, 1430,
595: 1433, 1436, 1438, 1441, 1480, 1487, 1489, 1491, 1493, 1495,
596: 1497, 1512, 1527, 1538, 1550, 1557, 1606, 1608, 1612, 1614,
597: 1618, 1621, 1626, 1628, 1632, 1645, 1646, 1652, 1663, 1671,
598: 1677, 1682, 1684, 1689, 1696, 1698, 1702, 1706, 1712, 1715,
599: 1717, 1719, 1721, 1729, 1731, 1733, 1736, 1738, 1740, 1742,
600: 1747, 1753, 1755, 1766, 1769, 1771, 1774, 1789, 1792, 1794,
601: 1796, 1800, 1803, 1811, 1812, 1813, 1814, 1818, 1822, 1836,
602: 1854, 1855, 1856, 1859, 1861, 1864, 1866, 1869, 1871, 1874,
603: 1877, 1881, 1898, 1900, 1918, 1924, 1925, 1931, 1939, 1941,
604: 1950, 1958, 1960, 1971, 1974, 1978, 1981, 1985, 1990, 1993,
605: 1997, 2000, 2002, 2004, 2006, 2013, 2015, 2016, 2017, 2021,
606: 2024, 2028, 2030, 2033, 2036, 2039, 2045, 2048, 2051, 2053,
607: 2055, 2057, 2061, 2065, 2069, 2072, 2075, 2079, 2082, 2084,
608: 2088, 2139, 2154, 2156, 2159, 2161, 2165, 2166, 2168, 2170,
609: 2172, 2176, 2185, 2188, 2190, 2192, 2198, 2200, 2203, 2208,
610: 2211, 2214, 2223, 2234, 2239, 2239, 2241, 2244, 2246, 2250,
611: 2252, 2256, 2284, 2315, 2317, 2339, 2363, 2365, 2369, 2395,
612: 2404, 2466, 2469, 2476, 2487, 2496, 2500, 2513, 2516, 2518,
613: 2523, 2525, 2529, 2537, 2541, 2544, 2546, 2557, 2562, 2570,
614: 2573, 2574, 2585, 2588, 2589, 2600, 2602, 2605, 2607, 2610,
615: 2615, 2619, 2625, 2630, 2634, 2638, 2644, 2648, 2651, 2656,
616: 2660, 2663, 2666, 2675, 2677, 2681, 2684, 2689, 2692, 2696,
617: 2705, 2708, 2712, 2715, 2723, 2725, 2730, 2733, 2735, 2737,
618: 2739, 2743, 2746, 2760, 2763, 2768, 2771, 2773, 2775, 2777,
619: 2779, 2781, 2783, 2787, 2793, 2796, 2798, 2800, 2802, 2806,
620: 2809, 2812, 2814, 2816, 2818, 2822, 2825, 2828, 2830, 2832,
621: 2834, 2836, 2838, 2840, 2844, 2850, 2856, 2858, 2862, 2865,
622: 2867, 2871, 2873, 2876, 2878, 2884, 2887, 2901, 2903, 2907,
623: 2909, 2913, 2916, 2922, 2928, 2931, 2933, 2935, 2937, 2941,
624: 2945, 2949, 2952, 2957, 2960, 2962, 2964, 2966, 2968, 2970,
625: 2972, 2974, 2978, 2982, 2986, 2990, 2991, 2993, 2995, 2997,
626: 2999, 3001, 3003, 3005, 3007, 3015, 3017, 3018, 3019, 3022,
627: 3029, 3039, 3041, 3046, 3048, 3051, 3065, 3068, 3071, 3075,
628: 3079, 3083, 3089, 3092, 3096, 3098, 3101, 3107, 3110, 3113,
629: 3116, 3129, 3132, 3137, 3143, 3148, 3151, 3156, 3160, 3163,
630: 3169, 3174, 3177, 3182, 3191, 3195, 3198, 3204, 3214, 3221,
631: 3227, 3252, 3252, 3284, 3284, 3300, 3300, 3304, 3308, 3311,
632: 3316, 3323, 3332, 3341, 3350, 3353, 3359, 3361, 3365, 3367,
633: 3370, 3374, 3377, 3380, 3388, 3392, 3398, 3400, 3402, 3406,
634: 3408, 3411, 3424, 3429, 3437, 3439, 3443, 3446, 3448, 3452,
635: 3455, 3457, 3459, 3465, 3469, 3473, 3476, 3477, 3483, 3485,
636: 3488, 3490, 3494, 3499, 3502, 3512, 3519, 3520, 3527, 3533,
637: 3538, 3542, 3547, 3554, 3558, 3562, 3567, 3578, 3592, 3595,
638: 3597, 3599, 3601, 3605, 3607, 3615, 3632, 3634, 3636, 3638,
639: 3640, 3644, 3647, 3651, 3653, 3656, 3678, 3684, 3691, 3694,
640: 3698, 3703, 3705, 3712, 3715, 3717, 3719, 3725, 3729, 3732,
641: 3734, 3736, 3738, 3740, 3742, 3744, 3746, 3748, 3750, 3752,
642: 3754, 3756, 3758, 3760, 3762, 3764, 3766, 3768, 3770, 3772,
643: 3774, 3776, 3778, 3780, 3782, 3784, 3786, 3788, 3790, 3792,
644: 3794, 3797, 3799
645: };
646:
647: static const char * const yytname[] = { "$","error","$illegal.","IDENTIFIER",
648: "TYPENAME","SCSPEC","TYPESPEC","TYPE_QUAL","CONSTANT","STRING","ELLIPSIS","SIZEOF",
649: "ENUM","IF","ELSE","WHILE","DO","FOR","SWITCH","CASE","DEFAULT","BREAK","CONTINUE",
650: "RETURN","GOTO","ASM_KEYWORD","GCC_ASM_KEYWORD","TYPEOF","ALIGNOF","HEADOF",
651: "CLASSOF","SIGOF","ATTRIBUTE","EXTENSION","LABEL","AGGR","VISSPEC","DELETE",
652: "NEW","OVERLOAD","THIS","OPERATOR","CXX_TRUE","CXX_FALSE","LEFT_RIGHT","TEMPLATE",
653: "TYPEID","DYNAMIC_CAST","STATIC_CAST","REINTERPRET_CAST","CONST_CAST","SCOPE",
654: "EMPTY","PTYPENAME","'{'","','","';'","ASSIGN","'='","'?'","':'","OROR","ANDAND",
655: "'|'","'^'","'&'","MIN_MAX","EQCOMPARE","ARITHCOMPARE","'<'","'>'","LSHIFT",
656: "RSHIFT","'+'","'-'","'*'","'/'","'%'","POINTSAT_STAR","DOT_STAR","UNARY","PLUSPLUS",
657: "MINUSMINUS","'~'","HYPERUNARY","PAREN_STAR_PAREN","POINTSAT","'.'","'('","'['",
658: "TRY","CATCH","THROW","TYPENAME_ELLIPSIS","PRE_PARSED_FUNCTION_DECL","EXTERN_LANG_STRING",
659: "ALL","PRE_PARSED_CLASS_DECL","TYPENAME_DEFN","IDENTIFIER_DEFN","PTYPENAME_DEFN",
660: "END_OF_SAVED_INPUT","')'","'}'","'!'","']'","program","extdefs","@1",".hush_warning",
661: ".warning_ok","asm_keyword","lang_extdef","@2","extdef","extern_lang_string",
662: "template_header","@3","template_parm_list","template_type_parm","template_parm",
663: "overloaddef","ov_identifiers","template_def","@4","@5","@6","@7","fn_tmpl_end",
664: "datadef","fndef","fn.def1","fn.def2","return_id","return_init","base_init",
665: ".set_base_init","member_init_list","member_init","identifier","notype_identifier",
666: "identifier_defn","explicit_instantiation","template_type","template_type_name",
667: "tmpl.2","template_arg_list","template_arg","template_instantiate_once","@8",
668: "template_instantiation","template_instantiate_some","unop","expr","paren_expr_or_null",
669: "paren_cond_or_null","xcond","condition","@9","already_scoped_stmt","nontrivial_exprlist",
670: "nonnull_exprlist","unary_expr","@10","new_placement","new_initializer","regcast_or_absdcl",
671: "cast_expr","sub_cast_expr","expr_no_commas","notype_unqualified_id","unqualified_id",
672: "expr_or_declarator","direct_notype_declarator","primary","@11","@12","new",
673: "delete","boolean.literal","string","nodecls","object","decl","declarator","fcast_or_absdcl",
674: "type_id","typed_declspecs","typed_declspecs1","reserved_declspecs","declmods",
675: "typed_typespecs","reserved_typespecquals","typespec","typespecqual_reserved",
676: "initdecls","notype_initdecls","nomods_initdecls","maybeasm","initdcl0","@13",
677: "initdcl","@14","notype_initdcl0","@15","nomods_initdcl0","@16","maybe_attribute",
678: "attributes","attribute","attribute_list","attrib","any_word","identifiers_or_typenames",
679: "init","initlist","structsp","@17","@18","maybecomma","maybecomma_warn","aggr",
680: "specialization","named_class_head_sans_basetype","named_class_head_sans_basetype_defn",
681: "do_xref","do_xref_defn","named_class_head","unnamed_class_head","class_head",
682: "maybe_base_class_list","base_class_list","base_class","base_class.1","base_class_access_list",
683: "left_curly","opt.component_decl_list","component_decl_list","component_decl",
684: "component_decl_1","components","notype_components","component_declarator0",
685: "component_declarator","after_type_component_declarator0","notype_component_declarator0",
686: "after_type_component_declarator","notype_component_declarator","enumlist","enumerator",
687: "new_type_id","type_quals","nonempty_type_quals","nonmomentary_expr","@19","after_type_declarator",
688: "qualified_type_name","nested_type","direct_after_type_declarator","notype_declarator",
689: "complex_notype_declarator","complex_direct_notype_declarator","qualified_id",
690: "notype_qualified_id","overqualified_id","functional_cast","type_name","nested_name_specifier",
691: "nested_name_specifier_1","complete_type_name","complex_type_name","ptr_to_mem",
692: "global_scope","new_declarator","direct_new_declarator","absdcl","direct_abstract_declarator",
693: "stmts","errstmt",".pushlevel","maybe_label_decls","label_decls","label_decl",
694: "compstmt_or_error","compstmt","simple_if","@20","@21","implicitly_scoped_stmt",
695: "stmt","simple_stmt","@22","@23","@24","@25","@26","@27","@28","@29","@30","@31",
696: "@32","@33","@34","@35","@36","try_block","@37","@38","ansi_try_stmts","handler_seq",
697: "@39","type_specifier_seq","handler_args","label_colon","forhead.1","forhead.2",
698: "maybe_type_qual","xexpr","asm_operands","nonnull_asm_operands","asm_operand",
699: "asm_clobbers","parmlist","complex_parmlist","parms","parms_comma","named_parm",
700: "full_parm","parm","see_typename","bad_parm","maybe_raises","ansi_raise_identifier",
701: "ansi_raise_identifiers","conversion_declarator","operator","operator_name",
702: ""
703: };
704: #endif
705:
706: static const short yyr1[] = { 0,
707: 106, 106, 108, 107, 107, 109, 110, 111, 111, 113,
708: 112, 114, 114, 114, 114, 114, 114, 114, 114, 114,
709: 115, 117, 116, 118, 118, 119, 119, 120, 120, 120,
710: 121, 122, 122, 124, 123, 125, 123, 126, 123, 127,
711: 123, 123, 123, 123, 123, 123, 123, 123, 128, 128,
712: 128, 128, 128, 129, 129, 129, 129, 129, 129, 129,
713: 129, 129, 129, 129, 130, 130, 130, 130, 130, 130,
714: 130, 130, 131, 131, 131, 131, 132, 132, 132, 132,
715: 132, 133, 134, 134, 134, 134, 135, 136, 137, 137,
716: 137, 137, 138, 138, 138, 138, 138, 138, 138, 138,
717: 139, 139, 139, 140, 140, 141, 141, 141, 142, 142,
718: 142, 142, 143, 144, 144, 144, 145, 146, 146, 147,
719: 147, 149, 148, 150, 150, 151, 151, 152, 152, 152,
720: 152, 152, 153, 153, 154, 154, 155, 155, 156, 156,
721: 156, 158, 157, 157, 159, 159, 159, 159, 160, 160,
722: 160, 160, 161, 161, 162, 163, 162, 162, 162, 162,
723: 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
724: 162, 162, 162, 162, 162, 162, 162, 164, 164, 165,
725: 165, 165, 165, 166, 166, 167, 167, 167, 168, 168,
726: 168, 168, 169, 169, 169, 169, 169, 169, 169, 169,
727: 169, 169, 169, 169, 169, 169, 169, 169, 169, 169,
728: 169, 169, 169, 169, 169, 169, 169, 170, 170, 170,
729: 170, 171, 171, 172, 172, 172, 172, 173, 173, 173,
730: 174, 174, 174, 174, 174, 174, 175, 174, 176, 174,
731: 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
732: 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
733: 174, 174, 174, 174, 174, 174, 177, 177, 178, 178,
734: 179, 179, 180, 180, 181, 182, 182, 183, 183, 183,
735: 183, 183, 183, 183, 184, 184, 185, 185, 186, 186,
736: 186, 186, 186, 187, 187, 188, 188, 188, 188, 188,
737: 189, 189, 189, 190, 190, 190, 190, 191, 191, 191,
738: 191, 192, 192, 193, 193, 193, 193, 193, 193, 193,
739: 194, 194, 194, 195, 195, 196, 196, 197, 197, 198,
740: 198, 200, 199, 199, 202, 201, 201, 204, 203, 203,
741: 206, 205, 205, 207, 207, 208, 208, 209, 210, 210,
742: 211, 211, 211, 211, 211, 212, 212, 212, 212, 213,
743: 213, 214, 214, 214, 214, 214, 215, 215, 215, 215,
744: 215, 215, 217, 216, 216, 218, 216, 216, 216, 216,
745: 216, 216, 219, 219, 220, 220, 221, 221, 221, 221,
746: 221, 222, 223, 223, 223, 223, 223, 223, 224, 225,
747: 226, 227, 227, 228, 229, 229, 230, 230, 230, 231,
748: 231, 232, 232, 233, 233, 233, 234, 234, 234, 234,
749: 235, 236, 236, 236, 236, 237, 237, 237, 238, 238,
750: 238, 238, 239, 239, 239, 239, 239, 239, 239, 240,
751: 240, 240, 241, 241, 241, 242, 242, 243, 243, 244,
752: 244, 244, 245, 245, 245, 245, 246, 246, 246, 247,
753: 247, 247, 247, 248, 248, 249, 249, 250, 250, 250,
754: 251, 251, 252, 252, 254, 253, 255, 255, 255, 255,
755: 255, 255, 256, 256, 257, 258, 258, 258, 258, 258,
756: 258, 258, 258, 258, 259, 259, 259, 259, 259, 259,
757: 260, 260, 260, 260, 260, 260, 261, 261, 261, 261,
758: 261, 261, 261, 261, 262, 263, 264, 264, 265, 265,
759: 265, 266, 266, 267, 267, 268, 268, 269, 269, 270,
760: 270, 271, 271, 272, 273, 273, 273, 273, 273, 273,
761: 273, 274, 274, 275, 275, 275, 275, 275, 275, 275,
762: 275, 275, 275, 275, 276, 276, 276, 276, 276, 276,
763: 276, 276, 276, 276, 276, 277, 277, 277, 277, 278,
764: 279, 280, 280, 281, 281, 282, 283, 283, 284, 284,
765: 284, 284, 286, 287, 285, 288, 288, 289, 289, 290,
766: 290, 291, 290, 290, 292, 293, 290, 294, 295, 290,
767: 296, 297, 298, 290, 299, 300, 301, 290, 302, 290,
768: 303, 290, 304, 290, 305, 290, 290, 290, 290, 290,
769: 290, 290, 290, 290, 290, 290, 290, 290, 290, 290,
770: 307, 308, 306, 309, 309, 309, 310, 311, 310, 312,
771: 312, 313, 313, 314, 314, 314, 315, 315, 315, 316,
772: 316, 316, 316, 317, 317, 318, 318, 318, 319, 319,
773: 320, 320, 321, 322, 322, 323, 323, 323, 324, 324,
774: 324, 324, 324, 324, 324, 324, 324, 324, 325, 325,
775: 325, 325, 325, 326, 326, 327, 327, 327, 327, 327,
776: 327, 328, 328, 329, 329, 330, 331, 331, 332, 332,
777: 333, 334, 334, 335, 335, 335, 335, 336, 337, 337,
778: 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
779: 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
780: 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
781: 337, 337, 337
782: };
783:
784: static const short yyr2[] = { 0,
785: 0, 1, 0, 2, 2, 0, 0, 1, 1, 0,
786: 2, 1, 1, 1, 1, 5, 4, 3, 4, 4,
787: 1, 0, 5, 1, 3, 1, 2, 1, 3, 1,
788: 3, 1, 3, 0, 5, 0, 5, 0, 5, 0,
789: 5, 3, 3, 6, 7, 4, 3, 3, 1, 1,
790: 1, 1, 1, 2, 3, 3, 3, 3, 2, 2,
791: 2, 2, 2, 1, 3, 4, 3, 5, 4, 3,
792: 3, 2, 3, 3, 2, 1, 6, 4, 3, 3,
793: 2, 2, 1, 3, 4, 2, 3, 0, 0, 1,
794: 3, 2, 3, 1, 4, 2, 4, 2, 4, 2,
795: 1, 1, 1, 1, 1, 1, 1, 1, 3, 3,
796: 4, 4, 3, 4, 3, 4, 0, 1, 3, 1,
797: 1, 0, 6, 0, 1, 0, 2, 1, 1, 1,
798: 1, 1, 1, 1, 1, 3, 1, 3, 0, 1,
799: 1, 0, 8, 1, 2, 4, 4, 1, 3, 3,
800: 3, 3, 1, 1, 1, 0, 3, 2, 2, 2,
801: 2, 2, 2, 4, 2, 4, 2, 3, 3, 4,
802: 4, 5, 5, 6, 2, 4, 5, 3, 3, 3,
803: 1, 3, 2, 3, 4, 1, 2, 5, 1, 4,
804: 4, 4, 1, 3, 3, 3, 3, 3, 3, 3,
805: 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
806: 3, 3, 5, 3, 3, 1, 2, 3, 1, 1,
807: 1, 1, 1, 1, 1, 2, 2, 1, 1, 1,
808: 1, 1, 1, 1, 3, 3, 0, 4, 0, 6,
809: 2, 4, 2, 2, 1, 4, 1, 7, 7, 7,
810: 7, 4, 4, 2, 2, 1, 4, 2, 2, 2,
811: 5, 3, 5, 3, 4, 6, 1, 2, 1, 2,
812: 1, 1, 1, 2, 0, 2, 2, 3, 3, 3,
813: 3, 3, 2, 2, 1, 1, 1, 2, 2, 2,
814: 2, 1, 1, 1, 1, 2, 2, 3, 3, 4,
815: 1, 2, 2, 1, 1, 2, 2, 1, 2, 2,
816: 3, 1, 2, 1, 1, 1, 4, 4, 4, 4,
817: 1, 1, 1, 1, 3, 1, 3, 1, 3, 0,
818: 4, 0, 7, 4, 0, 7, 4, 0, 7, 4,
819: 0, 7, 4, 0, 1, 1, 2, 6, 1, 3,
820: 0, 1, 4, 6, 4, 1, 1, 1, 1, 1,
821: 3, 1, 2, 3, 4, 1, 1, 3, 4, 6,
822: 3, 5, 0, 7, 4, 0, 6, 3, 2, 2,
823: 4, 1, 0, 1, 0, 1, 1, 2, 2, 2,
824: 2, 3, 2, 2, 2, 3, 3, 1, 2, 0,
825: 0, 3, 3, 2, 1, 1, 0, 1, 2, 1,
826: 3, 1, 2, 1, 4, 4, 1, 1, 2, 2,
827: 1, 0, 1, 4, 3, 1, 2, 2, 2, 2,
828: 2, 2, 2, 2, 4, 2, 1, 5, 3, 0,
829: 1, 3, 0, 1, 3, 1, 1, 1, 1, 4,
830: 6, 4, 4, 6, 4, 3, 4, 6, 4, 4,
831: 6, 4, 3, 1, 3, 1, 3, 2, 1, 6,
832: 0, 2, 1, 2, 0, 2, 3, 3, 2, 2,
833: 3, 1, 1, 1, 2, 5, 5, 3, 5, 4,
834: 3, 3, 2, 1, 3, 3, 2, 2, 3, 1,
835: 3, 3, 2, 2, 3, 1, 5, 5, 3, 5,
836: 3, 3, 4, 3, 2, 2, 1, 2, 4, 4,
837: 2, 1, 1, 1, 2, 2, 2, 1, 2, 1,
838: 2, 2, 3, 1, 3, 2, 3, 2, 2, 3,
839: 1, 3, 4, 3, 2, 2, 1, 3, 2, 2,
840: 1, 2, 3, 1, 3, 1, 5, 3, 4, 3,
841: 4, 2, 2, 3, 2, 1, 1, 2, 2, 2,
842: 0, 0, 1, 1, 2, 3, 1, 2, 3, 5,
843: 6, 5, 0, 0, 6, 1, 2, 1, 1, 1,
844: 2, 0, 4, 1, 0, 0, 6, 0, 0, 7,
845: 0, 0, 0, 10, 0, 0, 0, 10, 0, 7,
846: 0, 5, 0, 7, 0, 4, 2, 2, 2, 3,
847: 6, 8, 10, 12, 4, 3, 2, 2, 1, 1,
848: 0, 0, 7, 1, 2, 2, 0, 0, 5, 1,
849: 1, 3, 3, 2, 2, 2, 3, 4, 4, 3,
850: 4, 6, 6, 0, 1, 0, 1, 1, 0, 1,
851: 1, 3, 4, 1, 3, 0, 1, 1, 1, 2,
852: 2, 2, 1, 1, 2, 2, 2, 2, 1, 3,
853: 2, 2, 4, 2, 2, 2, 2, 2, 2, 1,
854: 2, 1, 3, 1, 1, 0, 0, 1, 0, 4,
855: 1, 1, 3, 0, 3, 3, 3, 1, 2, 2,
856: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
857: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
858: 2, 3, 2, 2, 2, 2, 3, 2, 2, 4,
859: 4, 3, 2
860: };
861:
862: static const short yydefact[] = { 3,
863: 10, 10, 5, 0, 4, 0, 220, 522, 305, 315,
864: 473, 0, 8, 9, 0, 0, 387, 0, 708, 0,
865: 534, 221, 64, 0, 0, 696, 0, 76, 21, 0,
866: 11, 6, 0, 15, 14, 13, 12, 275, 0, 523,
867: 117, 229, 500, 0, 295, 0, 294, 308, 0, 328,
868: 314, 0, 398, 400, 401, 406, 405, 382, 304, 528,
869: 484, 0, 228, 230, 483, 0, 524, 316, 471, 0,
870: 0, 219, 62, 63, 526, 0, 0, 101, 102, 103,
871: 376, 379, 0, 530, 0, 380, 0, 0, 0, 32,
872: 0, 305, 0, 22, 0, 0, 398, 0, 0, 0,
873: 0, 498, 0, 0, 0, 497, 0, 0, 0, 229,
874: 0, 0, 0, 228, 230, 471, 0, 3, 0, 0,
875: 0, 0, 400, 401, 699, 0, 88, 83, 275, 0,
876: 0, 60, 527, 124, 471, 0, 475, 61, 0, 0,
877: 0, 0, 0, 324, 285, 482, 286, 494, 0, 471,
878: 307, 306, 59, 296, 0, 326, 0, 301, 321, 322,
879: 297, 310, 312, 323, 0, 54, 388, 389, 390, 391,
880: 404, 107, 106, 108, 393, 399, 395, 117, 394, 407,
881: 407, 421, 0, 474, 309, 72, 0, 75, 532, 516,
882: 485, 525, 0, 529, 0, 743, 739, 738, 736, 718,
883: 723, 724, 0, 730, 729, 715, 716, 714, 733, 722,
884: 719, 720, 721, 725, 726, 712, 713, 709, 710, 711,
885: 735, 727, 728, 717, 734, 0, 731, 640, 308, 641,
886: 704, 473, 232, 273, 0, 0, 0, 0, 156, 269,
887: 267, 245, 271, 272, 0, 0, 0, 0, 0, 0,
888: 0, 129, 128, 0, 130, 131, 0, 0, 216, 132,
889: 0, 118, 0, 189, 0, 193, 186, 121, 231, 155,
890: 0, 0, 233, 234, 0, 120, 292, 308, 293, 517,
891: 256, 247, 0, 0, 0, 398, 378, 0, 373, 531,
892: 0, 133, 134, 0, 0, 0, 0, 31, 0, 110,
893: 407, 125, 109, 115, 0, 496, 0, 495, 102, 103,
894: 218, 227, 0, 504, 226, 0, 503, 511, 512, 0,
895: 0, 18, 10, 0, 7, 7, 48, 47, 699, 0,
896: 34, 42, 38, 36, 43, 40, 330, 82, 89, 86,
897: 0, 0, 275, 0, 0, 0, 571, 65, 577, 67,
898: 113, 509, 0, 673, 674, 154, 0, 153, 668, 690,
899: 0, 292, 308, 293, 0, 667, 669, 697, 679, 0,
900: 514, 0, 0, 0, 480, 0, 479, 0, 0, 0,
901: 471, 70, 58, 73, 0, 57, 471, 0, 475, 493,
902: 0, 298, 299, 0, 55, 71, 56, 74, 303, 302,
903: 313, 699, 329, 396, 392, 397, 408, 402, 403, 437,
904: 0, 0, 440, 443, 0, 0, 426, 0, 699, 311,
905: 0, 0, 344, 472, 499, 533, 0, 0, 732, 737,
906: 471, 471, 0, 471, 742, 0, 0, 0, 163, 0,
907: 0, 165, 0, 0, 0, 0, 0, 0, 0, 0,
908: 162, 159, 158, 160, 0, 0, 0, 0, 217, 0,
909: 116, 161, 0, 0, 187, 0, 0, 0, 0, 0,
910: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
911: 0, 0, 0, 0, 0, 0, 0, 241, 243, 244,
912: 277, 276, 0, 0, 0, 0, 0, 167, 469, 0,
913: 175, 274, 223, 0, 696, 222, 259, 260, 0, 287,
914: 551, 547, 556, 0, 475, 471, 471, 471, 289, 554,
915: 0, 521, 291, 0, 290, 258, 0, 254, 268, 270,
916: 518, 0, 255, 112, 111, 466, 385, 464, 375, 0,
917: 317, 0, 0, 318, 319, 320, 33, 0, 28, 24,
918: 695, 308, 26, 694, 30, 692, 122, 114, 502, 501,
919: 505, 0, 17, 20, 19, 330, 53, 49, 51, 52,
920: 50, 46, 0, 0, 0, 0, 344, 104, 94, 105,
921: 0, 87, 90, 0, 0, 0, 366, 0, 362, 84,
922: 0, 0, 66, 69, 578, 572, 471, 471, 672, 685,
923: 678, 676, 551, 547, 0, 686, 471, 689, 691, 687,
924: 0, 688, 471, 671, 684, 677, 675, 670, 698, 681,
925: 682, 0, 513, 476, 478, 477, 0, 0, 492, 0,
926: 344, 325, 488, 0, 0, 0, 491, 0, 481, 300,
927: 327, 344, 330, 418, 0, 417, 409, 410, 412, 0,
928: 414, 436, 432, 431, 220, 522, 471, 0, 666, 699,
929: 433, 441, 446, 447, 699, 699, 434, 444, 699, 0,
930: 381, 428, 427, 429, 430, 330, 701, 308, 702, 0,
931: 0, 0, 343, 345, 346, 741, 740, 704, 704, 704,
932: 0, 0, 0, 521, 0, 0, 522, 0, 157, 0,
933: 0, 0, 0, 0, 0, 236, 235, 0, 184, 119,
934: 220, 522, 221, 0, 0, 367, 383, 0, 215, 214,
935: 658, 657, 0, 212, 211, 209, 210, 208, 207, 206,
936: 203, 204, 205, 201, 202, 196, 197, 198, 199, 200,
937: 194, 195, 0, 0, 0, 0, 0, 0, 169, 181,
938: 0, 0, 168, 471, 471, 0, 471, 468, 541, 0,
939: 0, 0, 0, 262, 0, 264, 0, 515, 550, 549,
940: 546, 545, 695, 0, 0, 565, 0, 0, 562, 288,
941: 563, 552, 471, 666, 475, 551, 547, 0, 0, 471,
942: 231, 0, 517, 0, 0, 0, 386, 0, 385, 152,
943: 151, 150, 149, 0, 23, 0, 393, 0, 0, 16,
944: 344, 35, 39, 37, 41, 0, 0, 92, 0, 96,
945: 0, 100, 0, 98, 0, 363, 0, 85, 68, 0,
946: 579, 0, 573, 574, 510, 507, 550, 546, 551, 547,
947: 483, 0, 471, 552, 551, 547, 0, 231, 0, 517,
948: 508, 0, 680, 334, 471, 471, 471, 490, 340, 344,
949: 0, 0, 420, 419, 413, 0, 0, 439, 344, 0,
950: 79, 0, 330, 330, 0, 330, 0, 344, 0, 700,
951: 0, 0, 341, 347, 706, 705, 707, 246, 164, 0,
952: 0, 166, 190, 192, 191, 252, 253, 0, 0, 0,
953: 0, 238, 0, 0, 0, 0, 185, 0, 239, 242,
954: 179, 178, 171, 0, 170, 183, 0, 0, 538, 536,
955: 0, 539, 475, 176, 0, 0, 265, 0, 0, 548,
956: 544, 555, 471, 564, 553, 558, 0, 560, 0, 551,
957: 547, 519, 520, 0, 257, 467, 465, 377, 0, 25,
958: 29, 693, 0, 0, 44, 93, 91, 0, 0, 0,
959: 0, 364, 360, 0, 0, 220, 522, 583, 595, 598,
960: 0, 571, 0, 0, 0, 0, 0, 0, 221, 629,
961: 0, 654, 0, 590, 0, 0, 308, 0, 567, 588,
962: 594, 566, 589, 630, 0, 601, 605, 575, 550, 546,
963: 485, 552, 520, 683, 332, 489, 486, 487, 338, 337,
964: 0, 0, 411, 344, 344, 78, 456, 471, 220, 522,
965: 0, 442, 448, 449, 699, 699, 344, 344, 445, 0,
966: 435, 703, 331, 351, 0, 0, 0, 0, 0, 0,
967: 371, 0, 0, 368, 188, 213, 126, 0, 172, 173,
968: 180, 182, 537, 535, 542, 540, 0, 177, 0, 261,
969: 263, 561, 471, 559, 374, 0, 45, 95, 99, 97,
970: 365, 0, 576, 570, 582, 644, 646, 571, 571, 571,
971: 0, 0, 0, 615, 617, 618, 619, 0, 0, 0,
972: 645, 571, 655, 0, 591, 283, 699, 0, 284, 0,
973: 699, 0, 699, 0, 0, 580, 569, 568, 592, 628,
974: 627, 571, 571, 0, 0, 335, 415, 416, 455, 452,
975: 438, 0, 0, 344, 330, 330, 450, 453, 357, 358,
976: 359, 356, 0, 349, 352, 342, 0, 0, 0, 0,
977: 369, 0, 0, 126, 240, 0, 174, 543, 266, 557,
978: 123, 361, 0, 0, 0, 586, 0, 0, 571, 647,
979: 0, 650, 0, 0, 611, 0, 620, 0, 626, 631,
980: 0, 279, 330, 281, 282, 330, 0, 0, 0, 278,
981: 280, 581, 571, 0, 0, 333, 339, 0, 77, 344,
982: 344, 463, 344, 344, 0, 0, 351, 0, 0, 248,
983: 249, 250, 251, 0, 372, 127, 470, 137, 0, 584,
984: 596, 587, 599, 651, 649, 0, 648, 144, 0, 308,
985: 0, 0, 0, 616, 625, 0, 0, 593, 141, 0,
986: 140, 0, 336, 462, 459, 457, 460, 451, 454, 350,
987: 348, 220, 0, 370, 0, 571, 0, 0, 0, 0,
988: 609, 699, 613, 612, 0, 634, 0, 632, 659, 0,
989: 602, 606, 0, 0, 0, 353, 355, 138, 585, 572,
990: 597, 148, 135, 0, 0, 653, 0, 652, 571, 330,
991: 0, 636, 635, 637, 0, 0, 660, 661, 621, 0,
992: 0, 458, 461, 0, 145, 0, 0, 600, 610, 344,
993: 614, 633, 0, 659, 0, 0, 0, 0, 354, 0,
994: 0, 136, 0, 638, 0, 0, 622, 662, 603, 607,
995: 147, 146, 142, 0, 663, 0, 0, 0, 0, 0,
996: 0, 0, 664, 0, 623, 604, 608, 143, 0, 0,
997: 639, 0, 0, 642, 643, 665, 624, 0, 0, 0
998: };
999:
1000: static const short yydefgoto[] = { 1348,
1001: 1, 2, 119, 564, 982, 3, 4, 31, 32, 33,
1002: 299, 548, 549, 550, 34, 91, 35, 573, 575, 574,
1003: 576, 572, 36, 37, 38, 412, 128, 129, 130, 339,
1004: 582, 583, 536, 584, 176, 39, 40, 41, 134, 261,
1005: 262, 302, 809, 303, 1145, 263, 983, 1275, 1210, 1230,
1006: 1231, 1330, 1271, 292, 789, 264, 445, 497, 753, 265,
1007: 266, 267, 293, 269, 507, 312, 43, 270, 457, 1047,
1008: 271, 272, 273, 274, 131, 275, 984, 402, 517, 773,
1009: 985, 45, 161, 986, 47, 162, 440, 163, 143, 155,
1010: 49, 631, 144, 1114, 403, 1188, 156, 1115, 50, 1035,
1011: 683, 684, 685, 1133, 1134, 1135, 964, 716, 717, 51,
1012: 540, 288, 906, 798, 52, 53, 54, 55, 180, 181,
1013: 56, 57, 58, 408, 647, 648, 649, 650, 183, 415,
1014: 416, 417, 418, 661, 667, 662, 1022, 663, 664, 1023,
1015: 1024, 537, 538, 498, 779, 59, 372, 373, 145, 60,
1016: 61, 146, 147, 113, 63, 508, 280, 281, 282, 65,
1017: 283, 67, 68, 179, 69, 284, 758, 759, 770, 520,
1018: 988, 989, 1155, 832, 833, 834, 348, 990, 991, 1078,
1019: 1246, 1157, 992, 993, 1183, 1079, 1247, 1080, 1248, 1112,
1020: 1290, 1328, 1113, 1291, 1329, 1279, 1223, 1281, 1166, 994,
1021: 1226, 1284, 1258, 1302, 1324, 1221, 1332, 995, 996, 997,
1022: 1094, 723, 1286, 1287, 1288, 1334, 365, 775, 367, 368,
1023: 369, 555, 370, 107, 621, 1173, 679, 680, 435, 71,
1024: 72
1025: };
1026:
1027: static const short yypact[] = { 203,
1028: 236,-32768,-32768, 1874,-32768, 85,-32768, 55, 300,-32768,
1029: -32768, 590,-32768,-32768, -23, 252,-32768, 365,-32768, 1493,
1030: -32768, 355,-32768, 963, 963,-32768, 2214,-32768,-32768, 349,
1031: -32768, 429, 3939,-32768,-32768,-32768,-32768, 279, 435, 443,
1032: -32768,-32768, 396, 1052,-32768, 9215,-32768, 704, 30,-32768,
1033: -32768, 698,-32768,-32768,-32768,-32768,-32768, 488, 1610,-32768,
1034: -32768, 410,-32768,-32768,-32768, 397,-32768,-32768,-32768, 89,
1035: 6309,-32768,-32768,-32768,-32768, 8124, 2133,-32768, 55, 355,
1036: 461, 515, 443,-32768, 89,-32768, 89, 8124, 8124,-32768,
1037: 363,-32768, 355,-32768, 3239, 4205, 230, 89, 7950, 55,
1038: 2347,-32768, 484, 103, 2347,-32768, 92, 2356, 2356, 479,
1039: 501, 396, 514, 519, 540,-32768, 629, 555, 2912, 144,
1040: 3239, 9396, 593, 706, 572, 666,-32768, 149, 306, 57,
1041: 57,-32768,-32768, 575,-32768, 4662, 589,-32768, 3833, 3833,
1042: 3542, 1266, 393,-32768,-32768, 408,-32768,-32768, 397,-32768,
1043: -32768,-32768,-32768, 704, 536,-32768, 1285,-32768,-32768,-32768,
1044: 907, 654,-32768,-32768, 3239,-32768,-32768,-32768,-32768,-32768,
1045: -32768,-32768,-32768,-32768,-32768,-32768, 443, 719,-32768, 617,
1046: 617,-32768, 2447,-32768, 654,-32768, 608, 875,-32768,-32768,
1047: -32768,-32768, 4014,-32768, 56,-32768, 609, 647,-32768,-32768,
1048: -32768,-32768, 683,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1049: -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1050: -32768,-32768,-32768,-32768,-32768, 601,-32768,-32768, 654, 1610,
1051: 351, 657,-32768,-32768, 3117, 9065, 660, 662,-32768,-32768,
1052: -32768,-32768,-32768,-32768, 665, 690, 692, 699, 703, 92,
1053: 8816,-32768,-32768, 8816,-32768,-32768, 8816, 6393, 9148,-32768,
1054: 29,-32768, 8816,-32768, 8211,-32768,-32768, 9444,-32768, 1334,
1055: 2712, 8294,-32768, 767, 557,-32768, 160, 2819, 9439,-32768,
1056: 266,-32768, 579, 809, 3239, 230,-32768, 92, 685,-32768,
1057: 684, 738, 9497, 693, 697, 701, 808,-32768, 2133,-32768,
1058: 617,-32768,-32768,-32768, 154,-32768, 139,-32768,-32768,-32768,
1059: -32768,-32768, 2347,-32768,-32768, 2347,-32768,-32768,-32768, 4014,
1060: 50,-32768, 711, 2133,-32768,-32768,-32768,-32768, 572, 766,
1061: -32768,-32768,-32768,-32768,-32768,-32768, 656,-32768, 254,-32768,
1062: 6483, 8381,-32768, 57, 57, 765,-32768,-32768,-32768,-32768,
1063: -32768, 818, 730,-32768,-32768, 738, 735, 9497, 328, 1775,
1064: 9396, 1775, 4904, 4548, 737,-32768, 72, 9289, 763, 787,
1065: -32768, 746, 8381, 4250,-32768, 4250,-32768, 4314, 4314, 753,
1066: -32768,-32768,-32768, 875, 3239,-32768,-32768, 5854, 752,-32768,
1067: 4433, 907, 704, 3239,-32768,-32768,-32768, 875,-32768,-32768,
1068: -32768, 572,-32768,-32768,-32768,-32768, 1191,-32768,-32768,-32768,
1069: 8381, 156, 1389, 9306, 54, 2311,-32768, 167, 572, 654,
1070: 2569, 771, 831,-32768,-32768,-32768, 773, 777,-32768,-32768,
1071: -32768,-32768, 169,-32768,-32768, 8381, 657, 6393,-32768, 381,
1072: 6393,-32768, 8381, 8468, 8816, 8124, 2569, 2569, 2569, 2569,
1073: -32768,-32768,-32768,-32768, 782, 784, 765, 793,-32768, 8124,
1074: -32768,-32768, 3487, 6393,-32768, 8381, 8381, 3006, 8381, 8381,
1075: 8381, 8381, 8381, 8381, 8381, 8381, 8381, 8381, 8381, 8381,
1076: 8381, 8381, 8381, 8381, 8381, 8381, 8381,-32768,-32768,-32768,
1077: -32768,-32768, 8381, 8381, 8381, 8124, 3398, 497, 109, 7032,
1078: -32768,-32768, 55, 848, 896,-32768, 387, 415, 592,-32768,
1079: 388, 388,-32768, 3838, 798, 817, 864,-32768,-32768, 412,
1080: 7507, 1099,-32768, 251,-32768,-32768, 8381,-32768,-32768,-32768,
1081: -32768, 597,-32768,-32768,-32768, 851, 855,-32768,-32768, 92,
1082: -32768, 6855, 6945,-32768,-32768,-32768,-32768, 419, 859,-32768,
1083: -32768, 9200, 698,-32768,-32768, 862,-32768,-32768,-32768,-32768,
1084: -32768, 865,-32768,-32768,-32768, 656,-32768,-32768,-32768,-32768,
1085: -32768,-32768, 866, 868, 869, 870, 831,-32768,-32768, 355,
1086: 8381, 877,-32768, 434, 438, 462,-32768, 5956, 9590,-32768,
1087: 836, 57,-32768,-32768,-32768, 20,-32768,-32768,-32768,-32768,
1088: -32768,-32768, 1506, 1506, 3333,-32768,-32768,-32768,-32768,-32768,
1089: 7598,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1090: 887, 6483,-32768,-32768,-32768,-32768, 4250, 4250,-32768, 4433,
1091: 831,-32768, 818, 849, 856, 861,-32768, 863,-32768, 907,
1092: -32768, 831, 656,-32768, 881,-32768, 899,-32768,-32768, 1243,
1093: -32768, 9590,-32768,-32768, 912, 146,-32768, 8381, 2808, 572,
1094: 921,-32768,-32768,-32768, 368, 407, 922,-32768, 572, 920,
1095: -32768,-32768,-32768,-32768,-32768, 551,-32768, 4154,-32768, 187,
1096: 629, 897, 926, 831,-32768,-32768,-32768, 505, 505, 505,
1097: 885, 886, 8555, 864, 895, 900, 248, 901,-32768, 906,
1098: 909, 919, 942, 943, 945,-32768,-32768, 918,-32768,-32768,
1099: 962, 553, 136, 8381, 969,-32768, 968, 928, 9590, 9590,
1100: -32768,-32768, 973, 9629, 4583, 9645, 9660, 5903, 6801, 3406,
1101: 1324, 1324, 1324, 1664, 1664, 814, 814, 640, 640, 640,
1102: -32768,-32768, 932, 934, 940, 935, 946, 2569, 497,-32768,
1103: 6483, 8381,-32768,-32768,-32768, 8381,-32768,-32768, 955, 8816,
1104: 944, 964, 1008,-32768, 8381,-32768, 8381,-32768, 890,-32768,
1105: 890,-32768, 65, 951, 952,-32768, 953, 2569, 818,-32768,
1106: 818, 2046,-32768, 1065, 957, 7689, 7689, 4811, 966, 8211,
1107: 479, 972, 540, 809, 974, 8381, 92, 961, 855,-32768,
1108: 9590,-32768, 9590, 2133,-32768, 664, 520, 6483, 488,-32768,
1109: 831,-32768,-32768,-32768,-32768, 766, 978,-32768, 254,-32768,
1110: 8381,-32768, 8381,-32768, 8381,-32768, 9,-32768,-32768, 92,
1111: -32768, 5584, 1032,-32768, 818, 818, 2757, 2757, 3282, 3282,
1112: -32768, 397,-32768, 3954, 7776, 7776, 5016, 174, 979, 244,
1113: 818, 6483,-32768, 1030,-32768,-32768,-32768,-32768, 1037, 831,
1114: 8124, 1191,-32768,-32768,-32768, 8381, 8381, 74, 9521, 995,
1115: -32768, 2416, 656, 656, 3185, 603, 3228, 831, 2569,-32768,
1116: 52, 1011,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 8899,
1117: 8899,-32768,-32768,-32768,-32768,-32768,-32768, 1013, 1014, 1019,
1118: 1022,-32768, 9472, 6483, 6046, 1009,-32768, 8381,-32768,-32768,
1119: -32768,-32768, 143, 1012,-32768,-32768, 1017, 75, 278, 278,
1120: 1006, 278,-32768,-32768, 8816, 1107,-32768, 1018, 1020,-32768,
1121: -32768,-32768,-32768,-32768,-32768, 818, 1023,-32768, 1010, 7863,
1122: 7863,-32768,-32768, 584,-32768, 9590,-32768,-32768, 1021,-32768,
1123: -32768,-32768, 2447, 766,-32768,-32768,-32768, 1024, 1026, 1036,
1124: 6136,-32768,-32768, 668, 231, 1061, 567,-32768,-32768,-32768,
1125: 1046,-32768, 8381, 1079, 1085, 1088, 8037, 73, 476,-32768,
1126: 1093, 1139, 1094,-32768, 1971, 9379, 2582, 3725,-32768,-32768,
1127: 1135,-32768,-32768,-32768, 7135,-32768,-32768,-32768, 2757, 2757,
1128: -32768, 3954, 1989,-32768,-32768, 818, 818, 818,-32768, 1095,
1129: 1053, 1054,-32768, 9521, 9521,-32768,-32768,-32768, 1103, 661,
1130: 8381,-32768,-32768,-32768, 572, 572, 831, 831,-32768, 2607,
1131: -32768,-32768,-32768, 801, 6483, 8381, 8381, 8381, 8381, 6483,
1132: -32768, 8381, 1104,-32768,-32768, 9611, 575, 8381,-32768, 143,
1133: -32768,-32768,-32768,-32768,-32768,-32768, 1062,-32768, 1122,-32768,
1134: -32768, 818,-32768,-32768,-32768, 66,-32768,-32768,-32768,-32768,
1135: -32768, 92,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 765,
1136: 6226, 1082, 5075,-32768,-32768,-32768,-32768, 1115, 8381, 1121,
1137: -32768,-32768,-32768, 1090,-32768,-32768, 238, 672,-32768, 772,
1138: 572, 8642, 459, 774, 258,-32768,-32768,-32768,-32768,-32768,
1139: -32768,-32768,-32768, 6483, 6483,-32768,-32768,-32768,-32768,-32768,
1140: 74, 8381, 8381, 9521, 656, 656, 1124, 1126,-32768,-32768,
1141: -32768,-32768, 269,-32768, 1091,-32768, 1084, 1087, 1097, 1098,
1142: -32768, 9544, 6483, 575,-32768, 1089,-32768,-32768,-32768, 818,
1143: -32768,-32768, 509, 509, 7417,-32768, 1175, 1137, 1100,-32768,
1144: 1141,-32768, 8124, 8381,-32768, 7237,-32768, 1146,-32768,-32768,
1145: 629,-32768, 656,-32768,-32768, 656, 8982, 8982, 6573,-32768,
1146: -32768,-32768, 765, 6663, 6663,-32768,-32768, 6483,-32768, 9521,
1147: 9521,-32768, 831, 831, 6483, 6483, 801, 1102, 8729,-32768,
1148: -32768,-32768,-32768, 6483,-32768,-32768,-32768,-32768, 8124,-32768,
1149: -32768,-32768,-32768,-32768,-32768, 5674,-32768,-32768, 1109, 234,
1150: 3239, 9567, 7237,-32768,-32768, 5168, 48,-32768,-32768, 1149,
1151: -32768, 1150,-32768,-32768,-32768, 1160, 1163,-32768,-32768,-32768,
1152: -32768, 282, 1123,-32768, 1127, 765, 7327, 518, 295, 5272,
1153: -32768, 572,-32768,-32768, 296,-32768, 5376,-32768, 1214, 1168,
1154: -32768,-32768, 6483, 6483, 8381,-32768,-32768,-32768,-32768, 37,
1155: -32768,-32768,-32768, 8381, 1176,-32768, 1177,-32768, 765, 656,
1156: 7237,-32768,-32768,-32768, 1147, 201, 1181,-32768,-32768, 6753,
1157: 6753,-32768,-32768, 1143,-32768, 5764, 1148,-32768,-32768, 831,
1158: -32768, 1158, 8381, 1214, 1183, 1214, 1151, 1152,-32768, 317,
1159: 5480,-32768, 1198,-32768, 1156, 246,-32768,-32768,-32768,-32768,
1160: -32768,-32768,-32768, 1153,-32768, 1254, 1208, 7327, 7327, 6483,
1161: 1355, 765,-32768, 353,-32768,-32768,-32768,-32768, 1167, 1170,
1162: -32768, 1271, 1219,-32768,-32768,-32768,-32768, 1281, 1282,-32768
1163: };
1164:
1165: static const short yypgoto[] = {-32768,
1166: 1165,-32768,-32768, 958, 7, 1283,-32768,-32768,-32768,-32768,
1167: -32768,-32768,-32768, 486,-32768,-32768,-32768,-32768,-32768,-32768,
1168: -32768, -773, 1169, 1174,-32768,-32768,-32768,-32768, 1166,-32768,
1169: -32768, 478, 126,-32768,-32768,-32768, 4325, -30,-32768, 1204,
1170: 844, -998,-32768, -96, 162,-32768, 171,-32768, 153, 124,
1171: -980,-32768, -480, 242, 564, 630,-32768,-32768, -722, 3685,
1172: 1316, -262, 2309, 2833, 804, 159, 431,-32768,-32768,-32768,
1173: -32768, -278,-32768, -110, -90,-32768, 233, 34, -210, 83,
1174: 11, -91, -121, -3, 1446, -82, 1348, -127, -674, 329,
1175: -32768, -186,-32768,-32768, 180,-32768,-32768,-32768,-32768,-32768,
1176: 1092,-32768, 634,-32768, 122,-32768,-32768, 821, 742, 14,
1177: -32768,-32768,-32768, 526, -285, 12, 1299, 1300,-32768,-32768,
1178: -32768,-32768,-32768, -131,-32768, 473, 686,-32768, 533, 394,
1179: 469, -411,-32768,-32768,-32768,-32768,-32768,-32768, 939,-32768,
1180: 482, 829, 573, 857, 1683, 1544, -371,-32768, 1375, 0,
1181: 1,-32768, 4129, -99, 646,-32768, 3274,-32768,-32768, 3935,
1182: -4, 198, -327, 1336, 3574, 852, -188,-32768, 1912,-32768,
1183: -1147, -942, -321, 101,-32768, 539, -106, -94,-32768,-32768,
1184: -32768, -1132, -932, -1108,-32768,-32768,-32768,-32768,-32768,-32768,
1185: -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1186: -32768,-32768,-32768,-32768,-32768, -43,-32768,-32768,-32768,-32768,
1187: -32768, -421, 70,-32768, 69,-32768, -369, -132,-32768,-32768,
1188: -258, 1015, -247,-32768,-32768, 60, 500,-32768, 127,-32768,
1189: -260
1190: };
1191:
1192:
1193: #define YYLAST 9739
1194:
1195:
1196: static const short yytable[] = { 66,
1197: 46, 423, 465, 366, 673, 530, 321, 85, 314, 317,
1198: 30, 586, 84, 553, 44, 85, 96, 638, 636, 103,
1199: 103, 178, 103, 533, 350, 596, 915, 231, 66, 122,
1200: 95, 97, 392, 400, 401, 349, 349, 351, 345, 149,
1201: 554, 66, 955, 121, 360, 1107, 1212, 85, 1144, 409,
1202: 1228, 556, 84, 830, 85, 1108, 502, 346, 502, 8,
1203: 502, 164, 1111, 961, 88, 195, 85, 522, 1250, 194,
1204: 830, 393, 85, 96, 599, 78, 309, 142, 1257, 651,
1205: 424, 614, 85, 460, 165, 166, 290, 285, 286, 670,
1206: 149, 85, 8, 85, 78, 309, 103, 194, 461, 307,
1207: 103, 670, 420, 103, 103, 75, 100, 1259, 93, 554,
1208: 347, 962, 100, 1269, 66, 46, 149, 66, 510, 600,
1209: 556, 188, 831, 76, 601, 310, 615, -699, 300, 44,
1210: 426, 616, 361, -699, 149, 149, 149, 82, 1272, 1295,
1211: 73, 93, 100, 777, 310, 1144, 1299, 1089, 1311, 1260,
1212: 577, 562, 522, 1033, 329, 93, 671, 602, 276, 21,
1213: 149, 93, 693, 100, 617, 187, 709, 164, 1151, 557,
1214: 294, 296, 100, 754, 164, 164, 1052, 175, 66, 414,
1215: 1067, 276, 1219, 755, 337, 111, 750, 74, 103, 535,
1216: 1049, 93, 340, 413, 422, -103, 75, 756, 164, 327,
1217: 751, 384, -1, 510, 99, 867, 341, 360, 460, 653,
1218: 21, 642, 93, 426, 76, 654, 398, -229, 359, 1272,
1219: 1272, 93, 674, 558, 511, 85, 433, 499, 1245, 694,
1220: 752, 1048, 311, 1224, 512, -2, 342, 593, 594, 159,
1221: 160, 879, 164, 189, 513, 12, 328, 514, 515, 349,
1222: 349, 595, 592, 530, 8, 366, 578, 8, 291, 295,
1223: 1304, -229, -229, 192, 400, 401, 85, 315, 17, 675,
1224: 509, 640, 433, 433, 524, -224, 360, 510, 314, 317,
1225: 149, 100, 192, 194, 424, -124, 1074, -230, 880, 870,
1226: 1254, 164, 401, 1172, 85, 361, 360, 579, 75, 111,
1227: 192, 126, 1305, 93, 21, 1326, 580, 1107, 103, 526,
1228: 1098, 103, 1104, 1074, 1107, 103, 76, 1108, 534, 85,
1229: 96, 693, 651, 1197, 1108, 189, 301, 1147, 21, 187,
1230: 93, -230, -230, 1075, 95, 97, 1265, 599, 127, 89,
1231: 458, 581, 754, 422, 77, -225, 192, 1327, 1301, 894,
1232: 1074, 1074, 755, 527, 100, 149, 66, 149, 149, 524,
1233: 1182, 343, 708, 66, 361, 127, 756, 90, 1107, 149,
1234: 1198, 149, 1074, 149, 149, 451, 164, 356, 1108, 811,
1235: 149, 551, 600, 1266, 361, -695, 149, 601, 566, 149,
1236: 422, 100, 192, 606, 11, 610, 612, 1276, 1282, 7,
1237: 8, 21, 85, 93, 422, 164, 164, 1342, 149, 66,
1238: 186, 66, 414, 939, 937, 431, 85, 297, 298, 1321,
1239: 602, -285, 360, 99, 510, 432, 413, -285, 456, 360,
1240: 764, 510, -699, 164, -699, -699, 117, 19, 21, 135,
1241: 93, -699, 85, 85, 85, 85, 660, 385, 386, 22,
1242: 551, 387, 511, 499, 1343, 783, 860, 112, 766, 187,
1243: -286, 643, 512, -699, -699, -699, -286, -699, 693, -699,
1244: 359, 189, 513, 804, 765, 514, 515, 820, 676, 26,
1245: 192, 822, 118, 136, 137, 829, 7, 100, 805, 878,
1246: 132, 586, 85, 133, 433, 388, 389, 349, 187, 784,
1247: 785, 187, 767, 677, 192, 824, 433, 433, 100, 524,
1248: 361, 424, 400, 360, 1180, 530, 66, 361, 553, 360,
1249: 692, 821, 178, 695, 19, 823, 366, 465, 701, 702,
1250: 703, 704, 705, 533, 651, 1091, 22, 315, 112, 112,
1251: 750, 182, 276, 624, 99, 554, 718, 149, 85, 825,
1252: 187, 1057, 1208, 84, 751, 21, 556, 93, 189, 7,
1253: 503, 1273, 504, 287, 632, 164, 26, 360, 289, 431,
1254: 881, 112, 422, 641, -27, 13, 14, -27, 747, 432,
1255: -224, 7, 8, 356, 752, 612, 7, 8, 715, -27,
1256: 394, 395, 78, 79, 7, 503, 1209, 19, 149, 149,
1257: 842, 361, 318, 75, -81, 1274, 842, 361, 456, 22,
1258: -81, 456, -102, 696, 698, 319, 700, 75, 673, 19,
1259: -506, 76, 149, 149, 19, 149, 1077, 13, 14, 356,
1260: 192, 22, 19, 240, 456, 76, 22, 234, 722, 505,
1261: 21, -225, 80, 81, 22, 85, 331, 21, 332, 422,
1262: 1082, 366, 333, 164, 842, 361, -80, 322, 426, 159,
1263: 160, 26, -80, 187, 744, 12, 26, 8, 338, 10,
1264: 761, 301, 114, 433, 26, 12, 407, 356, 807, 792,
1265: 13, 14, 422, 433, 433, 433, 1027, 1028, 17, 1028,
1266: 15, 164, 360, 371, 16, 421, 360, 427, 17, 357,
1267: 78, 79, 167, 168, 169, 430, 192, 694, 158, 159,
1268: 160, 75, 360, 715, 21, 12, 93, 486, 487, 871,
1269: 1123, 192, 1072, 1073, 873, 874, 385, 1174, 876, 76,
1270: 1053, 1054, 170, 1056, 356, 428, 356, 356, 17, 314,
1271: 317, 359, 429, 85, 436, 314, 317, 443, 21, 444,
1272: 80, 171, 446, 114, 114, 360, 1153, 1154, 447, 334,
1273: 448, 335, 356, 111, 433, 336, 433, 449, 356, 849,
1274: 1170, 450, 404, 85, 405, 502, 694, 433, 406, 85,
1275: 361, 66, 66, 66, 361, 541, 114, 539, 567, 944,
1276: 1184, 1185, 542, 194, 544, 172, 173, 174, 545, 85,
1277: 361, 85, 546, 78, 309, 1129, 1130, 1131, 112, 112,
1278: 547, 528, 8, 563, 885, 886, 887, 111, 347, 568,
1279: -694, 569, 356, 570, 424, 571, 394, 1175, 385, 1181,
1280: 914, 597, 149, 149, 149, 149, 598, 1216, 613, 149,
1281: 842, 842, 842, 361, 622, 240, 529, 1336, 1337, 19,
1282: 623, 792, 356, 310, 629, 70, 637, 85, 681, 21,
1283: 718, 93, 682, 87, 439, 442, 359, 149, 1307, 1308,
1284: 103, 98, 66, 414, 85, 104, 104, 686, 104, 422,
1285: 422, 687, 422, 706, 70, 707, 551, 413, 483, 484,
1286: 485, 486, 487, 100, 709, 104, 184, 70, 762, 13,
1287: 14, 763, 776, 87, 778, 591, -330, 780, 796, 797,
1288: 98, 399, 159, 160, 433, 433, 806, 433, 12, 808,
1289: 810, 812, 98, 813, 814, 815, 921, 1016, 98, -330,
1290: -330, 819, -330, 510, 356, 66, 66, 828, 1193, 1194,
1291: 21, 17, 93, 1012, 852, 315, 104, 98, 66, 414,
1292: 855, 635, 104, 862, 511, 963, 104, 856, 456, 104,
1293: 104, 677, 857, 413, 512, 7, 100, 858, 861, 11,
1294: 70, 866, 104, 70, 513, 872, 875, 514, 515, 877,
1295: 149, 66, 149, 883, 882, 1156, 888, 889, 898, 642,
1296: 104, 104, 104, 356, 149, 149, 892, 149, 315, 691,
1297: 164, 893, 895, 19, 315, 111, 356, 896, 356, 694,
1298: 897, 899, 900, 21, 901, 22, 104, 456, 1097, 902,
1299: 1103, -101, 905, 114, 114, 66, 414, 24, 904, 907,
1300: 1043, 1011, 908, 909, 70, 112, 912, 25, 910, 192,
1301: 413, 112, 911, 923, 104, 26, 926, 913, 925, 315,
1302: 27, 927, 932, 933, 7, 8, 743, 934, 745, 746,
1303: 1227, 938, 356, 948, 356, 830, 356, 942, 8, 92,
1304: 10, 11, 554, 943, 354, 945, 12, 314, 317, 956,
1305: 1003, 98, 104, 1340, 1125, 1126, 1043, 1005, 1156, 112,
1306: 795, 15, 19, 1300, 1009, 16, 1018, 842, 1034, 17,
1307: 1036, 1037, 21, 1090, 22, -471, 1038, 138, -471, 1039,
1308: 1055, 1045, 1059, 1050, 1064, 21, 139, 93, 1051, 1060,
1309: 1076, 1061, 98, 1065, 1063, 1068, 140, 1069, 104, 104,
1310: 70, 422, 422, 1081, 26, 532, 104, 1070, 1084, 141,
1311: 1085, 192, 780, 1086, 817, 1093, 1092, 1088, 1109, 1095,
1312: 98, 1156, 1116, -471, 1117, 1118, -471, 355, -471, 1132,
1313: 1176, 590, 1122, 1143, 104, 1149, 1148, 104, -471, 1163,
1314: 1167, 104, 842, 842, 842, 98, 1169, 1171, 1199, 422,
1315: 1189, 1195, 422, 1196, 1156, 1200, -471, -471, 1201, 1213,
1316: 98, -471, 1214, 1207, 8, 644, 1217, 1152, 1202, 1203,
1317: -471, 1225, 1215, 1241, 1261, 1262, 1137, 1138, 1139, 1140,
1318: 1251, 104, 70, 104, 104, 70, 149, 1263, 1146, 70,
1319: 1264, 645, 1285, 1289, 1267, 104, 646, 104, 1268, 104,
1320: 104, 1298, 1074, 164, 1303, 1306, 104, 1341, 1317, 360,
1321: 1331, 21, 104, 93, 1309, 104, 8, 863, 1314, 1312,
1322: 114, 1161, 1319, 1320, 1252, 1323, 114, 1325, 98, 1168,
1323: 849, 458, 1333, 1335, 104, 70, 382, 70, 1344, 112,
1324: 112, 1345, 98, 645, 1347, 112, 112, 112, 864, 1346,
1325: 1349, 1350, 323, 565, 5, 396, 422, 325, -699, 950,
1326: -699, -699, 326, 21, 344, 93, 957, -699, 98, 98,
1327: 98, 98, 305, 710, 114, 1206, 1211, -699, 1232, -699,
1328: -699, 1280, 768, 1162, 1100, 917, -699, 884, 1240, -699,
1329: -699, 383, 1132, -699, 949, -699, 85, 361, 928, 827,
1330: 929, 123, 124, 1218, 1013, 865, 315, 111, -699, -699,
1331: 397, 953, -699, 356, -699, 1030, 1066, 86, 98, 456,
1332: 104, 48, 668, 749, 1218, 1218, 1029, 187, 8, 92,
1333: 10, 11, 104, 104, 1339, 70, 12, 48, 799, 947,
1334: 1296, 998, 794, 1316, 1318, 0, 187, 488, 1032, 1218,
1335: 48, 15, 620, 532, 958, 16, 959, 0, 960, 17,
1336: 0, 655, 656, 154, 479, 480, 481, 482, 483, 484,
1337: 485, 486, 487, 104, 87, 21, 185, 93, 0, 0,
1338: 0, 0, 0, 551, 489, 490, 0, 0, 229, 491,
1339: 492, 493, 494, 278, 48, 0, 0, 0, 0, 19,
1340: 0, 0, 657, 0, 0, 278, 278, 0, 0, 21,
1341: 356, 22, 853, 154, 1297, 0, 278, 0, 658, 0,
1342: 0, 0, 0, 139, 104, 104, 70, 0, 0, 0,
1343: 722, 722, 794, 140, 0, 0, 48, 0, 0, 154,
1344: 0, 26, 0, 1315, 0, 0, 659, 0, 104, 104,
1345: 0, 104, 0, 363, 114, 114, 0, 0, 0, 0,
1346: 114, 114, 114, 0, 0, 0, 8, 92, 10, 11,
1347: 0, 98, 0, 0, 12, 0, 356, 0, 7, 8,
1348: 70, 0, 11, 375, 377, 380, 228, 0, 0, 15,
1349: 0, 277, 0, 16, 0, 0, 0, 17, 0, 104,
1350: 48, 0, 112, 277, 277, 0, 0, 0, 0, 104,
1351: 104, 104, 0, 21, 277, 93, 19, 0, 0, 510,
1352: 0, 0, 0, 0, 0, 0, 21, 0, 22, 0,
1353: 0, 94, 0, 0, 0, 0, 452, 101, 105, 453,
1354: 603, 916, 454, 0, 0, 0, 0, 185, 462, 0,
1355: 604, 362, 0, 0, 0, 0, 0, 501, 26, 0,
1356: 513, 0, 0, 605, 515, 0, 0, 0, 0, 98,
1357: 0, 0, 0, 0, 0, 278, 0, 112, 112, 112,
1358: 0, 0, 0, 8, 230, 10, 184, 0, 229, 279,
1359: 104, 12, 104, 0, 0, 0, 185, 0, 952, 98,
1360: 0, 279, 279, 104, 0, 98, 15, 794, 794, 794,
1361: 16, 0, 279, 0, 17, 532, 552, 0, 0, 0,
1362: 0, 313, 316, 0, 0, 98, 0, 98, 0, 0,
1363: 21, 0, 93, 0, 0, 0, 0, 0, 816, 0,
1364: 98, 48, 1004, 0, 0, 0, 0, 0, 0, 364,
1365: 0, 0, 374, 376, 0, 0, 0, 0, 104, 104,
1366: 104, 104, 0, 0, 0, 104, 794, 794, 794, 0,
1367: 0, 0, 0, 277, 0, 0, 0, 0, 154, 0,
1368: 0, 185, 0, 98, 0, 552, 228, 0, 0, 0,
1369: 0, 0, 854, 104, 1041, 1044, 104, 0, 70, 0,
1370: 98, 0, 0, 859, 0, 363, 481, 482, 483, 484,
1371: 485, 486, 487, 0, 362, 0, 0, 114, 625, 0,
1372: 626, 193, 375, 377, 0, 0, 0, 0, 0, 0,
1373: 699, 154, 1243, 48, 0, 639, 0, 0, 678, 0,
1374: 104, 104, 0, 104, 0, 0, 0, 7, 8, 0,
1375: 0, 1044, 0, 0, 0, 278, 0, 665, 278, 0,
1376: 0, 794, 794, 278, 678, 678, 678, 678, 320, 0,
1377: 0, 279, 0, 0, 70, 0, 0, 278, 0, 0,
1378: 0, 278, 0, 362, 230, 19, 0, 352, 510, 0,
1379: 0, 0, 114, 114, 114, 21, 0, 22, 1294, 0,
1380: 0, 0, 391, 362, 0, 0, 104, 70, 104, 603,
1381: 0, 0, 364, 278, 229, 0, 0, 0, 0, 604,
1382: 104, 104, 0, 104, 0, 1136, 0, 26, 0, 513,
1383: 1141, 552, 605, 515, 0, 0, 277, 0, 363, 0,
1384: 0, 0, 0, 0, 6, 0, 7, 8, 9, 10,
1385: 11, 70, 0, 277, 0, 12, 277, 0, 0, 0,
1386: 0, 277, 277, 277, 277, 277, 0, 0, 13, 14,
1387: 15, 0, 954, 0, 16, 277, 0, 0, 17, 277,
1388: 0, 364, 18, 0, 19, 0, 0, 0, 20, 0,
1389: 0, 627, 628, 0, 21, 0, 22, 0, 0, 23,
1390: 0, 364, 0, 0, 1186, 1187, 0, 0, 24, 0,
1391: 0, 277, 228, 0, 0, 0, 0, 0, 25, 0,
1392: 0, 1010, 552, 794, 0, 0, 26, 0, 363, 362,
1393: 1017, 27, 0, 1205, 279, 0, 362, 28, 29, 1031,
1394: 0, 0, 0, 7, 8, 0, 0, 375, 377, 380,
1395: 0, 279, 0, 0, 279, 380, 0, 0, 0, 279,
1396: 279, 279, 279, 279, 0, 0, 0, 0, -511, 0,
1397: 0, 625, 626, 279, 639, 0, 552, 279, 1233, 0,
1398: 0, 19, 0, -511, -511, 1238, 1239, 0, 0, 0,
1399: -511, 21, 0, 22, 1244, 0, 1096, 0, 794, 794,
1400: 794, 0, -511, 380, 0, 139, 0, 0, 0, 279,
1401: 230, 0, 0, -511, -511, 140, -511, 0, -511, 100,
1402: 362, 0, 424, 26, 769, 771, 362, 364, 141, 0,
1403: 0, 0, 0, 630, 364, 0, 0, 0, 0, 633,
1404: 0, 0, 104, 0, 0, 924, -511, -511, 0, 0,
1405: -511, -511, 0, 1292, 1293, 0, 0, 0, 0, 510,
1406: -511, 0, 0, 0, 0, 678, 21, 0, 93, 918,
1407: 0, 452, 453, 0, 362, 1119, 1120, 0, 0, 0,
1408: 511, 0, 0, 688, 689, 0, 690, 0, 1127, 1128,
1409: 512, 0, 0, 0, 0, 678, 0, 0, 0, 0,
1410: 513, 552, 0, 514, 515, 363, 8, 92, 10, 11,
1411: 0, 0, 0, 0, 12, 0, 837, 838, 364, 0,
1412: 1338, 552, 0, 951, 364, 0, 0, 0, 0, 15,
1413: 452, 453, 0, 16, 0, 0, 0, 17, 0, 0,
1414: 0, 0, 0, 0, 0, 0, 0, 0, 0, 987,
1415: 0, 0, 98, 21, 0, 93, 0, 0, 519, 523,
1416: 525, 0, 0, 277, 363, 0, 0, 0, 0, 781,
1417: 782, 0, 364, 0, 781, 452, 453, 0, 278, 0,
1418: 0, 625, 626, 375, 377, 1192, 7, 100, 639, 375,
1419: 377, 380, 0, 277, 48, 0, 678, 0, 0, 362,
1420: 0, 0, 0, 362, 0, 0, 0, 0, 0, 0,
1421: 1058, 0, 0, 0, 0, 0, 1025, 0, 0, 362,
1422: 0, 0, 0, 0, 19, 452, 453, 0, 0, 0,
1423: 0, 0, 0, 0, 21, 0, 22, 0, 0, 0,
1424: 0, 608, 0, 519, 523, 525, 0, 0, 108, 835,
1425: 836, 1234, 1235, 0, 1236, 1237, 0, 0, 109, 844,
1426: 0, 279, 362, 0, 0, 851, 26, 0, 0, 0,
1427: 48, 27, 0, 0, 0, 0, 277, 0, 0, 0,
1428: 0, 410, 0, 7, 8, 92, 10, 11, 0, 0,
1429: 0, 279, 12, 0, 277, 0, 0, 364, 0, 769,
1430: 771, 364, 0, 154, 0, 987, 0, 15, 0, 868,
1431: 0, 16, 987, 0, 0, 17, -423, 364, 0, 7,
1432: 100, 19, 0, 184, 0, 0, 0, 0, 7, 100,
1433: 0, 21, 11, 22, 0, 0, 672, 0, 0, 0,
1434: 411, 0, 0, 625, 626, 24, 639, 48, 0, 0,
1435: 0, 0, 999, 1000, 268, 25, 0, 19, 999, 1000,
1436: 364, 1313, 0, 26, 0, 0, 19, 21, 27, 22,
1437: 0, 0, 0, 0, 279, 0, 21, 268, 22, 0,
1438: 0, 24, 0, -423, 0, 0, 0, 0, 1019, 1020,
1439: 108, 25, 279, 772, 0, 774, 0, 0, 987, 26,
1440: 109, 0, 774, 0, 27, 0, 919, 920, 26, 922,
1441: 0, 0, 0, 27, 358, 0, 0, 410, 0, 7,
1442: 8, 92, 10, 11, 0, 0, 19, 0, 12, 0,
1443: 0, 0, 0, 523, 0, 936, 21, 0, 22, 0,
1444: 0, 0, 0, 15, 0, 1021, 380, 16, 0, 0,
1445: 139, 17, -422, 769, 771, 0, 0, 19, 0, 0,
1446: 140, 0, 452, 453, 0, 0, 0, 21, 26, 22,
1447: 0, 0, 987, 141, 0, 0, 411, 0, 0, 0,
1448: 1220, 24, 0, 987, 0, 772, 774, 0, 0, 0,
1449: 0, 25, 774, 0, 0, 1002, 278, 0, 0, 26,
1450: 0, 1220, 1220, 0, 27, 0, 0, 1006, 1007, 1008,
1451: 0, 0, 0, 0, 0, 0, 0, 0, 0, -422,
1452: 0, 375, 377, 380, 0, 0, 1220, 0, 0, 0,
1453: 0, 0, 0, 987, 0, 0, 0, 459, 0, 0,
1454: 987, 0, 8, 987, 10, 11, 0, 0, 0, 0,
1455: 12, 0, 0, 0, 7, 8, 158, 159, 160, 523,
1456: 0, 0, 0, 12, 987, 15, 0, 987, 0, 16,
1457: 0, 0, 0, 17, 987, 0, 0, 410, 228, 7,
1458: 8, 92, 10, 11, 0, 1062, 17, 0, 12, 21,
1459: 0, 93, 19, 0, 277, 510, 0, 0, 987, 228,
1460: 228, 0, 21, 15, 22, 0, 0, 16, 0, 0,
1461: 0, 17, -424, 987, 0, 0, 139, 19, 0, 589,
1462: 358, 0, 0, 0, 228, 0, 140, 21, 987, 22,
1463: 0, 0, 672, 0, 26, 0, 411, 0, 0, 1102,
1464: 0, 24, 0, 0, 0, 987, 987, 0, 552, 0,
1465: 930, 25, 931, 0, 0, 0, 0, 0, 0, 26,
1466: 0, 0, 0, 935, 27, 0, 358, 0, 772, 774,
1467: 1121, 0, 0, 0, 0, 0, 230, 0, 0, -424,
1468: 0, 0, 0, 0, 0, 8, 0, 10, 11, 652,
1469: 627, 628, 279, 12, 0, 0, 0, 230, 230, 0,
1470: 0, 0, 0, 0, 0, 0, 0, 0, 15, 0,
1471: 0, 0, 16, 0, 358, 1150, 17, 0, 930, 931,
1472: 0, 772, 230, 0, 0, 935, 0, 772, 774, 7,
1473: 8, 0, 21, 184, 93, 495, 0, 0, 268, 0,
1474: 0, 589, 0, 0, 719, 720, 362, 724, 725, 726,
1475: 727, 728, 729, 730, 731, 732, 733, 734, 735, 736,
1476: 737, 738, 739, 740, 741, 742, 0, 19, 0, 496,
1477: 510, 358, 0, 358, 358, 0, 0, 21, 0, 22,
1478: 7, 8, 92, 10, 11, 0, 0, 354, 0, 12,
1479: 0, 603, 100, 0, 159, 160, 0, 0, 0, 358,
1480: 12, 604, 0, 0, 15, 358, 42, 0, 16, 26,
1481: 0, 513, 17, 0, 605, 515, 0, 0, 19, 0,
1482: 801, 803, 772, 17, 0, 0, 42, 42, 21, 110,
1483: 22, 0, 510, 0, 0, 42, 0, 0, 0, 21,
1484: 0, 93, 378, 0, 364, 0, 42, 0, 42, 0,
1485: 0, 0, 379, 511, 0, 0, 0, 0, 0, 358,
1486: 26, 0, 0, 512, 0, 141, 589, 0, 190, 0,
1487: 355, 0, 0, 513, 0, 0, 521, 515, 0, 0,
1488: 930, 931, 6, 935, 7, 8, 9, 10, 11, 358,
1489: 0, 0, 0, 12, 0, 0, 0, 42, 0, 0,
1490: 589, 0, 0, 42, 0, 190, 0, 42, 15, 0,
1491: 110, 110, 16, 0, 0, 0, 17, 0, 0, 0,
1492: 0, 42, 19, 42, 42, 0, 324, 0, 0, 0,
1493: 0, 0, 21, 0, 22, 0, 869, 23, 0, 0,
1494: 0, 42, 42, 110, 0, 0, 24, 0, 0, 0,
1495: 0, 190, 0, 0, 0, 0, 25, 0, 0, 0,
1496: 0, 0, 0, 0, 26, 0, 0, 42, 0, 27,
1497: 0, 358, 0, 0, 0, 28, 721, 0, 7, 8,
1498: 0, 10, 437, 233, 234, 42, 235, 12, 0, 0,
1499: 0, 0, 903, 0, 0, 42, 0, 0, 0, 0,
1500: 0, 0, 15, 236, 237, 238, 16, 0, 239, 0,
1501: 17, 0, 240, 241, 0, 242, 19, 243, 244, 0,
1502: 0, 245, 246, 247, 248, 249, 21, 0, 22, 589,
1503: 358, 0, 0, 0, 0, -656, 0, 250, 0, 0,
1504: 251, 0, 0, 358, 0, 358, 0, 0, 252, 253,
1505: 254, 0, 0, 0, 0, 0, 255, 256, 257, 0,
1506: 0, 0, 0, 258, 0, 0, 0, 259, 0, 0,
1507: 0, 0, 0, 0, 946, 0, 0, 506, 0, 260,
1508: 0, 0, 0, 0, 0, 190, 589, 42, 0, 7,
1509: 8, 0, 10, 437, 233, 234, 0, 235, 12, 358,
1510: 0, 358, 0, 358, 0, 0, 0, 0, 0, 0,
1511: 0, 0, 0, 15, 236, 42, 0, 16, 42, 239,
1512: 0, 17, 42, 240, 241, 0, 242, 19, 243, 244,
1513: 589, 0, 245, 246, 247, 248, 249, 21, 0, 22,
1514: 0, 0, 0, 0, 1014, 1015, 0, 0, 250, 0,
1515: 0, 251, 0, 0, 0, 0, 0, 1019, 100, 252,
1516: 253, 254, 42, 42, 42, 42, 0, 255, 256, 257,
1517: 42, 0, 0, 0, 438, 0, 42, 0, 42, 0,
1518: 110, 110, 589, 589, 0, 0, 1046, 42, 0, 0,
1519: 260, 0, 0, 42, 0, 19, 42, 0, 410, 0,
1520: 7, 8, 92, 10, 11, 21, 0, 22, 0, 12,
1521: 0, 7, 8, 0, 1021, 42, 42, 0, 42, 24,
1522: 0, 0, 0, 0, 15, 0, 0, 0, 16, 25,
1523: 0, 0, 17, -425, 0, 0, 0, 26, 19, 589,
1524: 0, 0, 27, 0, 0, 0, 0, 64, 21, 19,
1525: 22, 1083, 0, 0, 7, 8, 0, 411, 11, 21,
1526: 0, 22, 24, 0, 0, 0, 0, 64, 64, 0,
1527: 115, 0, 25, 139, 0, 0, 64, 0, 0, 0,
1528: 26, 0, 0, 140, 0, 27, 0, 64, 0, 64,
1529: 0, 26, 19, 0, 0, 510, 141, 0, 0, 1124,
1530: -425, 0, 21, 0, 22, 7, 8, 92, 10, 11,
1531: 0, 506, 354, 589, 12, 0, 839, 0, 589, 0,
1532: 1142, 0, 0, 791, 0, 0, 840, 0, 0, 15,
1533: 0, 0, 0, 16, 26, 0, 513, 17, 64, 605,
1534: 515, 0, 0, 19, 64, 0, 510, 0, 64, 0,
1535: 0, 115, 115, 21, 42, 22, 0, 0, 0, 0,
1536: 0, 0, 64, 0, 64, 64, 0, 839, 0, 0,
1537: 0, 8, 0, 10, 11, 0, 0, 840, 0, 12,
1538: 358, 0, 64, 64, 115, 26, 0, 513, 0, 0,
1539: 605, 515, 589, 589, 15, 355, 0, 0, 16, 0,
1540: 1190, 1191, 17, 0, 0, 42, 42, 110, 64, 0,
1541: 0, 0, 0, 848, 0, 0, 0, 0, 21, 0,
1542: 93, 589, 0, 0, 0, 0, 64, 0, 0, 42,
1543: 42, 0, 42, 0, 0, 0, 64, 0, 0, 0,
1544: 0, 0, 1222, 476, 477, 478, 479, 480, 481, 482,
1545: 483, 484, 485, 486, 487, 748, 0, 587, 0, 711,
1546: 712, 110, 10, 437, 233, 234, 589, 235, 12, 0,
1547: 0, 0, 0, 589, 589, 0, 0, 358, 0, 0,
1548: 0, 0, 589, 15, 236, 237, 238, 16, 0, 239,
1549: 0, 17, 0, 240, 241, 791, 242, 19, 243, 244,
1550: 0, 0, 245, 246, 247, 248, 249, 21, 0, 713,
1551: 588, 0, 0, 0, 7, 8, 0, 0, 250, 0,
1552: 0, 251, 0, 0, 0, 0, 0, 531, 64, 252,
1553: 253, 254, 0, 0, 0, 0, 0, 255, 256, 257,
1554: 0, 589, 589, 358, 258, 714, 0, 0, 259, 0,
1555: 0, 0, 19, 0, 0, 0, 64, 0, 0, 64,
1556: 260, 0, 21, 64, 22, 0, 0, 0, 0, 0,
1557: 116, 0, 0, 0, 0, 0, 378, 0, 0, 0,
1558: 0, 0, 585, 0, 0, 0, 379, 150, 791, 791,
1559: 0, 0, 0, 0, 26, 0, 0, 0, 0, 141,
1560: 0, 0, 0, 64, 64, 64, 64, 0, 589, 0,
1561: 0, 64, 0, 0, 0, 0, 0, 64, 0, 64,
1562: 0, 115, 115, 0, 0, 0, 0, 0, 64, 0,
1563: 0, 0, 0, 0, 64, 0, 0, 64, 150, 42,
1564: 42, 110, 110, 0, 190, 0, 42, 848, 848, 848,
1565: 0, 116, 116, 0, 0, 0, 64, 64, 0, 64,
1566: 0, 0, 0, 0, 150, 0, 0, 0, 0, 0,
1567: 0, 0, 0, 0, 42, 0, 0, 42, 0, 42,
1568: 0, 0, 150, 150, 381, 0, 0, 0, 0, 0,
1569: 0, 0, 791, 791, 0, 1105, 0, 966, 967, 92,
1570: 10, 232, 233, 234, 0, 235, 12, 968, 150, 969,
1571: 970, 971, 972, 973, 974, 975, 976, 977, 978, 13,
1572: 14, 15, 236, 237, 238, 16, 0, 239, 0, 17,
1573: 0, 240, 241, 0, 242, 19, 243, 244, 0, 0,
1574: 245, 246, 247, 248, 249, 21, 190, 979, 347, 0,
1575: 980, 0, 0, 0, 0, 42, 250, 0, 0, 251,
1576: 0, 0, 0, 0, 793, 0, 0, 252, 253, 254,
1577: 0, 0, 0, 0, 434, 255, 256, 257, 0, 0,
1578: 0, 0, 258, 0, 981, 0, 259, 42, 42, 42,
1579: 0, 0, 0, 0, 0, 64, 0, 1106, 260, 0,
1580: 0, 42, 42, 0, 42, 7, 8, 0, 0, 11,
1581: 0, 8, 92, 10, 11, 0, 0, 354, 0, 12,
1582: 518, 518, 518, 0, 0, 0, 0, 0, 150, 0,
1583: 0, 0, 42, 0, 15, 0, 0, 0, 16, 0,
1584: 0, 0, 17, 19, 0, 0, 64, 64, 115, 0,
1585: 0, 510, 0, 21, 850, 22, 0, 0, 21, 0,
1586: 93, 0, 0, 0, 0, 0, 0, 139, 0, 0,
1587: 64, 64, 511, 64, 0, 0, 0, 140, 0, 0,
1588: 0, 0, 512, 0, 0, 26, 0, 0, 0, 0,
1589: 141, 0, 513, 0, 0, 514, 515, 0, 0, 0,
1590: 355, 0, 115, 607, 848, 607, 607, 518, 0, 120,
1591: 0, 7, 8, 92, 10, 11, 0, 150, 0, 150,
1592: 12, 381, 381, 0, 0, 0, 7, 8, 150, 0,
1593: 424, 516, 516, 516, 150, 15, 793, 150, 0, 16,
1594: 0, 0, 0, 17, 0, 0, 0, 0, 148, 19,
1595: 0, 0, 0, 0, 0, 0, 150, 0, 0, 21,
1596: 0, 22, 0, 0, 19, 0, 0, 510, 0, 0,
1597: 191, 0, 0, 24, 21, 0, 22, 0, 0, 848,
1598: 848, 848, 0, 25, 0, 0, 7, 100, 603, 191,
1599: 424, 26, 0, 0, 0, 0, 27, 0, 604, 148,
1600: 0, 0, 0, 0, 0, 0, 26, 0, 513, 0,
1601: 0, 605, 515, 0, 516, 0, 516, 516, 516, 0,
1602: 0, 0, 0, 42, 19, 148, 0, 0, 0, 793,
1603: 793, 0, 0, 0, 21, 0, 22, 531, 0, 0,
1604: 0, 0, 757, 148, 148, 148, 0, 0, 24, 0,
1605: 0, 0, 0, 390, 518, 518, 0, 518, 25, 0,
1606: 0, 0, 585, 0, 518, 0, 26, 0, 0, 148,
1607: 0, 27, 0, 0, 0, 0, 0, 0, 0, 0,
1608: 64, 64, 115, 115, 0, 0, 0, 64, 850, 850,
1609: 850, 0, 0, 0, 0, 607, 0, 0, 0, 191,
1610: 0, 0, 62, 0, 0, 0, 0, 0, 0, 0,
1611: 0, 0, 0, 0, 0, 64, 0, 0, 64, 0,
1612: 64, 0, 102, 106, 0, 0, 0, 100, 0, 159,
1613: 160, 125, 0, 793, 793, 12, 0, 0, 0, 0,
1614: 0, 0, 0, 0, 157, 0, 607, 607, 843, 0,
1615: 0, 0, 0, 0, 843, 0, 0, 0, 17, 0,
1616: 0, 0, 0, 0, 0, 516, 516, 510, 516, 0,
1617: 150, 150, 0, 150, 21, 790, 93, 0, 8, 151,
1618: 10, 152, 0, 0, 0, 0, 12, 191, 511, 148,
1619: 0, 0, 0, 0, 0, 0, 64, 0, 512, 306,
1620: 0, 15, 381, 308, 0, 16, 516, 0, 513, 17,
1621: 0, 514, 515, 0, 0, 0, 0, 62, 0, 0,
1622: 330, 518, 7, 8, 0, 21, 184, 93, 64, 64,
1623: 64, 434, 434, 434, 0, 0, 0, 102, 106, 0,
1624: 0, 0, 64, 64, 0, 64, 0, 0, 0, 0,
1625: 0, 0, 0, 0, 0, 0, 0, 516, 516, 516,
1626: 19, 0, 0, 0, 148, 790, 148, 148, 0, 0,
1627: 21, 0, 22, 64, 0, 0, 0, 0, 148, 0,
1628: 148, 419, 148, 148, 139, 0, 7, 8, 0, 148,
1629: 11, 425, 0, 0, 140, 148, 0, 0, 148, 0,
1630: 0, 0, 26, 0, 0, 0, 83, 141, 0, 0,
1631: 0, 0, 518, 0, 518, 0, 0, 148, 83, 83,
1632: 0, 83, 0, 0, 19, 518, 0, 0, 0, 518,
1633: 518, 518, 516, 0, 21, 0, 22, 0, 0, 0,
1634: 0, 0, 0, 0, 0, 850, 177, 0, 378, 0,
1635: 0, 0, 0, 0, 0, 0, 0, 0, 379, 0,
1636: 0, 0, 0, 0, 0, 0, 26, 0, 0, 0,
1637: 0, 141, 0, 0, 0, 0, 0, 0, 0, 0,
1638: 607, 607, 843, 843, 0, 0, 0, 607, 843, 843,
1639: 843, 0, 0, 0, 0, 83, 0, 83, 83, 83,
1640: 0, 0, 83, 83, 0, 7, 8, 0, 0, 424,
1641: 0, 559, 0, 0, 560, 150, 0, 0, 561, 0,
1642: 850, 850, 850, 516, 0, 516, 0, 0, 191, 0,
1643: 0, 0, 0, 0, 0, 0, 516, 0, 0, 0,
1644: 790, 790, 790, 19, 0, 0, 0, 0, 0, 0,
1645: 0, 0, 0, 21, 0, 22, 148, 0, 0, 609,
1646: 0, 0, 757, 757, 64, 757, 619, 139, 0, 0,
1647: 0, 0, 306, 0, 308, 0, 0, 140, 0, 0,
1648: 0, 0, 0, 518, 518, 26, 0, 83, 0, 425,
1649: 141, 516, 516, 516, 516, 0, 0, 0, 516, 790,
1650: 790, 790, 0, 0, 0, 0, 0, 148, 148, 841,
1651: 0, 666, 669, 0, 419, 841, 0, 0, 0, 0,
1652: -304, 8, -304, 10, 184, 83, 0, 0, 150, 12,
1653: 150, 148, 148, 0, 148, 0, 0, 0, 0, 0,
1654: 0, 0, 607, 607, 15, 607, 0, 0, 16, 0,
1655: 0, 0, 17, 0, 0, 0, 0, 0, -304, 0,
1656: 0, 510, 0, 841, 0, 0, 0, 0, 21, 83,
1657: 93, 83, 83, 0, 0, 0, 0, 0, 0, 0,
1658: 0, 0, 511, 0, 0, 0, 0, 0, 0, 0,
1659: 0, 0, 512, 0, 790, 790, 0, 0, 0, 0,
1660: -304, 83, 513, 0, 0, 514, 515, 83, 0, 0,
1661: 83, 0, 0, 0, 83, 471, 472, 473, 474, 475,
1662: 476, 477, 478, 479, 480, 481, 482, 483, 484, 485,
1663: 486, 487, 353, 0, 7, 8, 92, 10, 232, 233,
1664: 234, 354, 235, 12, 0, 381, 0, 0, 0, 0,
1665: 0, 0, 0, 516, 516, 0, 516, 0, 15, 236,
1666: 237, 238, 16, 0, 239, 0, 17, 0, 240, 241,
1667: 0, 242, 19, 243, 244, 0, 0, 245, 246, 247,
1668: 248, 249, 21, 0, 22, 0, 0, 0, 0, 0,
1669: 0, 0, 0, 250, 0, 0, 251, 0, 0, 0,
1670: 0, 102, 106, 0, 252, 253, 254, 0, 0, 0,
1671: 0, 0, 255, 256, 257, 0, 0, 0, 0, 258,
1672: 381, 381, 381, 259, 355, 559, 560, 83, 561, 0,
1673: 0, 0, 0, -666, 0, 260, 0, 0, 0, 0,
1674: 0, 148, 148, 148, 148, 0, 1001, 0, 148, 841,
1675: 841, 841, 0, 0, 0, 0, 0, 0, 0, 0,
1676: 0, 0, 0, 0, 150, 0, 0, 0, 0, 0,
1677: 0, 0, 0, 0, 0, 0, 148, 0, 0, 0,
1678: 0, 455, 0, 7, 8, 92, 10, 232, 233, 234,
1679: 354, 235, 12, 83, 0, 0, 0, 0, 0, 0,
1680: 0, 0, 0, 83, 0, 83, 83, 15, 236, 237,
1681: 238, 16, 0, 239, 0, 17, 0, 240, 241, 0,
1682: 242, 19, 243, 244, 510, 0, 245, 246, 247, 248,
1683: 249, 21, 0, 22, -237, 0, 0, 0, 0, 0,
1684: 0, 0, 250, 0, 0, 940, 0, 177, 191, 0,
1685: 0, 0, 0, 252, 253, 941, 0, 0, 0, 0,
1686: 0, 255, 256, 257, 0, 513, 0, 0, 788, 515,
1687: 0, 0, 259, 355, 0, 0, 7, 8, 158, 159,
1688: 160, 0, 0, 0, 260, 12, 0, 0, 0, 148,
1689: 0, 148, 0, 0, 0, 0, 0, 0, 0, 0,
1690: 0, 0, 0, 148, 148, 0, 148, 0, 17, 0,
1691: 0, 0, 0, 0, 19, 0, 0, 510, 0, 0,
1692: 0, 0, 0, 0, 21, 0, 22, 0, 0, 0,
1693: 0, 0, 0, 0, 0, 306, 308, 0, 603, 0,
1694: 0, 0, 425, 0, 0, 0, 0, 0, 604, 0,
1695: 0, 0, 0, 0, 0, 0, 26, 0, 513, 0,
1696: 0, 611, 515, 0, 0, 0, 0, 0, 0, 0,
1697: 1026, 0, 83, 1026, 0, 419, 0, 0, 0, 0,
1698: 0, 0, 83, 83, 83, 0, 455, 0, 7, 8,
1699: 92, 10, 232, 233, 234, 354, 235, 12, 0, 0,
1700: 0, 0, 0, 0, 0, 0, 841, 0, 0, 0,
1701: 0, 0, 15, 236, 237, 238, 16, 0, 239, 0,
1702: 17, 0, 240, 241, 0, 242, 19, 243, 244, 510,
1703: 0, 245, 246, 247, 248, 249, 21, 0, 22, -237,
1704: 0, 0, 0, 0, 0, 0, 0, 250, 0, 0,
1705: 845, 419, 0, 0, 1164, 0, 0, 0, 252, 253,
1706: 846, 0, 0, 83, 0, 83, 255, 256, 257, 0,
1707: 513, 0, 0, 847, 515, 0, 83, 259, 355, 0,
1708: 0, 841, 841, 841, 1101, 0, 0, 0, 0, 260,
1709: 0, 0, 0, 0, 0, 0, 0, 559, 560, 0,
1710: 561, 466, 467, 468, 1165, 469, 470, 471, 472, 473,
1711: 474, 475, 476, 477, 478, 479, 480, 481, 482, 483,
1712: 484, 485, 486, 487, 0, 148, 0, 0, 419, 0,
1713: 0, 0, 0, 0, 0, 0, 0, 0, 1255, 0,
1714: 966, 967, 92, 10, 232, 233, 234, 0, 235, 12,
1715: 968, 0, 969, 970, 971, 972, 973, 974, 975, 976,
1716: 977, 978, 13, 14, 15, 236, 237, 238, 16, 83,
1717: 239, 0, 17, 0, 240, 241, 0, 242, 19, 243,
1718: 244, 0, 0, 245, 246, 247, 248, 249, 21, 0,
1719: 979, 347, 0, 980, 0, 0, 0, 0, 0, 250,
1720: 0, 0, 251, 0, 0, 0, 0, 0, 0, 0,
1721: 252, 253, 254, 83, 83, 0, 83, 0, 255, 256,
1722: 257, 0, 0, 0, 0, 258, 0, 981, 0, 259,
1723: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1724: 1256, 260, 1277, 0, 966, 967, 92, 10, 232, 233,
1725: 234, 0, 235, 12, 968, 0, 969, 970, 971, 972,
1726: 973, 974, 975, 976, 977, 978, 13, 14, 15, 236,
1727: 237, 238, 16, 0, 239, 0, 17, 0, 240, 241,
1728: 0, 242, 19, 243, 244, 0, 0, 245, 246, 247,
1729: 248, 249, 21, 0, 979, 347, 0, 980, 0, 0,
1730: 0, 0, 0, 250, 0, 0, 251, 0, 0, 0,
1731: 0, 0, 0, 0, 252, 253, 254, 0, 0, 0,
1732: 0, 0, 255, 256, 257, 0, 0, 0, 0, 258,
1733: 0, 981, 0, 259, 0, 0, 0, 0, 0, 0,
1734: 0, 0, 0, 0, 1278, 260, 1277, 0, 966, 967,
1735: 92, 10, 232, 233, 234, 0, 235, 12, 968, 0,
1736: 969, 970, 971, 972, 973, 974, 975, 976, 977, 978,
1737: 13, 14, 15, 236, 237, 238, 16, 0, 239, 0,
1738: 17, 0, 240, 241, 0, 242, 19, 243, 244, 0,
1739: 0, 245, 246, 247, 248, 249, 21, 0, 979, 347,
1740: 0, 980, 0, 0, 0, 0, 0, 250, 0, 0,
1741: 251, 0, 0, 0, 0, 0, 0, 0, 252, 253,
1742: 254, 0, 0, 0, 0, 0, 255, 256, 257, 0,
1743: 0, 0, 0, 258, 0, 981, 0, 259, 0, 0,
1744: 0, 0, 0, 0, 0, 0, 0, 0, 1283, 260,
1745: 1277, 0, 966, 967, 92, 10, 232, 233, 234, 0,
1746: 235, 12, 968, 0, 969, 970, 971, 972, 973, 974,
1747: 975, 976, 977, 978, 13, 14, 15, 236, 237, 238,
1748: 16, 0, 239, 0, 17, 0, 240, 241, 0, 242,
1749: 19, 243, 244, 0, 0, 245, 246, 247, 248, 249,
1750: 21, 0, 979, 347, 0, 980, 0, 0, 0, 0,
1751: 0, 250, 0, 0, 251, 0, 0, 0, 0, 0,
1752: 0, 0, 252, 253, 254, 0, 0, 0, 0, 0,
1753: 255, 256, 257, 0, 0, 0, 0, 258, 0, 981,
1754: 0, 259, 0, 0, 0, 0, 0, 0, 0, 0,
1755: 0, 0, 1322, 260, 965, 0, 966, 967, 92, 10,
1756: 232, 233, 234, 0, 235, 12, 968, 0, 969, 970,
1757: 971, 972, 973, 974, 975, 976, 977, 978, 13, 14,
1758: 15, 236, 237, 238, 16, 0, 239, 0, 17, 0,
1759: 240, 241, 0, 242, 19, 243, 244, 0, 0, 245,
1760: 246, 247, 248, 249, 21, 0, 979, 347, 0, 980,
1761: 0, 0, 0, 0, 0, 250, 0, 0, 251, 0,
1762: 0, 0, 0, 0, 0, 0, 252, 253, 254, 0,
1763: 0, 0, 0, 0, 255, 256, 257, 0, 0, 0,
1764: 0, 258, 0, 981, 1249, 259, 966, 967, 92, 10,
1765: 232, 233, 234, 0, 235, 12, 968, 260, 969, 970,
1766: 971, 972, 973, 974, 975, 976, 977, 978, 13, 14,
1767: 15, 236, 237, 238, 16, 0, 239, 0, 17, 0,
1768: 240, 241, 0, 242, 19, 243, 244, 0, 0, 245,
1769: 246, 247, 248, 249, 21, 0, 979, 347, 0, 980,
1770: 0, 0, 0, 0, 0, 250, 0, 0, 251, 0,
1771: 0, 0, 0, 0, 0, 0, 252, 253, 254, 0,
1772: 0, 0, 0, 0, 255, 256, 257, 0, 0, 0,
1773: 0, 258, 0, 981, 1310, 259, 966, 967, 92, 10,
1774: 232, 233, 234, 0, 235, 12, 968, 260, 969, 970,
1775: 971, 972, 973, 974, 975, 976, 977, 978, 13, 14,
1776: 15, 236, 237, 238, 16, 0, 239, 0, 17, 0,
1777: 240, 241, 0, 242, 19, 243, 244, 0, 0, 245,
1778: 246, 247, 248, 249, 21, 0, 979, 347, 0, 980,
1779: 0, 0, 0, 0, 0, 250, 0, 0, 251, 0,
1780: 0, 0, 0, 0, 0, 0, 252, 253, 254, 0,
1781: 0, 0, 0, 0, 255, 256, 257, 0, 0, 0,
1782: 0, 258, 0, 981, 634, 259, 7, 8, 92, 10,
1783: 232, 233, 234, 354, 235, 12, 0, 260, 0, 0,
1784: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1785: 15, 236, 237, 238, 16, 0, 239, 0, 17, 0,
1786: 240, 241, 0, 242, 19, 243, 244, 0, 0, 245,
1787: 246, 247, 248, 249, 21, 0, 22, 0, 0, 0,
1788: 0, 0, 0, 0, 0, 250, 0, 0, 251, 0,
1789: 0, 0, 0, 0, 0, 0, 252, 253, 254, 0,
1790: 0, 0, 0, 0, 255, 256, 257, 0, 0, 0,
1791: 0, 258, 0, 0, 0, 259, 355, 0, 0, 0,
1792: 0, 0, 0, 0, 0, -666, 587, 260, 711, 712,
1793: 0, 10, 437, 233, 234, 0, 235, 12, 474, 475,
1794: 476, 477, 478, 479, 480, 481, 482, 483, 484, 485,
1795: 486, 487, 15, 236, 237, 238, 16, 0, 239, 0,
1796: 17, 0, 240, 241, 0, 242, 19, 243, 244, 0,
1797: 0, 245, 246, 247, 248, 249, 21, 0, 713, 588,
1798: 0, 0, 0, 0, 0, 0, 0, 250, 0, 0,
1799: 251, 0, 0, 0, 0, 0, 0, 0, 252, 253,
1800: 254, 0, 0, 0, 0, 0, 255, 256, 257, 0,
1801: 0, 0, 0, 258, 714, 0, 587, 259, 711, 712,
1802: 0, 10, 437, 233, 234, 0, 235, 12, 826, 260,
1803: 0, 0, 0, 0, 1042, 0, 0, 0, 0, 0,
1804: 0, 0, 15, 236, 237, 238, 16, 0, 239, 0,
1805: 17, 0, 240, 241, 0, 242, 19, 243, 244, 0,
1806: 0, 245, 246, 247, 248, 249, 21, 0, 713, 588,
1807: 0, 0, 0, 0, 0, 0, 0, 250, 0, 0,
1808: 251, 0, 0, 0, 0, 0, 0, 0, 252, 253,
1809: 254, 0, 0, 0, 0, 0, 255, 256, 257, 0,
1810: 0, 0, 0, 258, 0, 0, 587, 259, 711, 712,
1811: 0, 10, 437, 233, 234, 0, 235, 12, -384, 260,
1812: 0, 0, 0, 0, 1042, 0, 0, 0, 0, 0,
1813: 0, 0, 15, 236, 237, 238, 16, 0, 239, 0,
1814: 17, 0, 240, 241, 0, 242, 19, 243, 244, 0,
1815: 0, 245, 246, 247, 248, 249, 21, 0, 713, 588,
1816: 0, 0, 0, 0, 0, 0, 0, 250, 0, 0,
1817: 251, 0, 0, 0, 0, 0, 0, 0, 252, 253,
1818: 254, 0, 0, 0, 0, 0, 255, 256, 257, 0,
1819: 0, 0, 0, 258, 0, 0, 1158, 259, 7, 8,
1820: 92, 10, 232, 233, 234, 0, 235, 12, 1071, 260,
1821: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1822: 0, 0, 15, 236, 237, 238, 16, 0, 239, 0,
1823: 17, 0, 240, 241, 0, 242, 19, 243, 244, 0,
1824: 0, 245, 246, 247, 248, 249, 21, 0, 22, 1159,
1825: 0, 1160, 0, 0, 0, 0, 0, 250, 0, 0,
1826: 251, 0, 0, 0, 0, 0, 0, 0, 252, 253,
1827: 254, 0, 0, 0, 0, 0, 255, 256, 257, 196,
1828: 0, 0, 8, 258, 10, 11, 0, 259, 0, 0,
1829: 12, 0, 0, 0, 0, 0, 0, 0, 0, 260,
1830: 0, 0, 0, 0, 0, 15, 0, 0, 0, 16,
1831: 0, 0, 0, 17, 0, 197, 198, 0, 0, 0,
1832: 0, 0, 199, 0, 0, 0, 0, 0, 0, 21,
1833: 0, 93, 0, 200, 0, 201, 202, 203, 0, 204,
1834: 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
1835: 215, 216, 217, 218, 219, 220, 221, 0, 0, 222,
1836: 223, 224, 0, 455, 225, 7, 8, 226, 10, 232,
1837: 233, 234, 0, 235, 12, 0, 0, 0, 0, 0,
1838: 0, 0, 227, 0, 0, 0, 0, 0, 0, 15,
1839: 236, 237, 238, 16, 0, 239, 0, 17, 0, 240,
1840: 241, 0, 242, 19, 243, 244, 0, 0, 245, 246,
1841: 247, 248, 249, 21, 0, 22, -237, 0, 0, 0,
1842: 0, 0, 0, 0, 250, 0, 0, 251, 0, 0,
1843: 0, 0, 0, 0, 0, 252, 253, 254, 0, 0,
1844: 0, 0, 0, 255, 256, 257, 0, 0, 0, 0,
1845: 258, 0, 0, 587, 259, 7, 8, 0, 10, 437,
1846: 233, 234, 0, 235, 12, 0, 260, 0, 0, 0,
1847: 0, 0, 0, 0, 0, 0, 0, 0, 0, 15,
1848: 236, 237, 238, 16, 0, 239, 0, 17, 0, 240,
1849: 241, 0, 242, 19, 243, 244, 0, 0, 245, 246,
1850: 247, 248, 249, 21, 0, 22, 588, 0, 0, 0,
1851: 0, 0, 0, 0, 250, 0, 0, 251, 0, 0,
1852: 0, 0, 0, 0, 0, 252, 253, 254, 0, 0,
1853: 0, 0, 0, 255, 256, 257, 0, 0, 0, 0,
1854: 258, 0, 0, 455, 259, 7, 8, 0, 10, 232,
1855: 233, 234, 0, 235, 12, 0, 260, 0, 0, 0,
1856: 0, 0, 0, 0, 0, 0, 0, 0, 0, 15,
1857: 236, 237, 238, 16, 0, 239, 0, 17, 0, 240,
1858: 241, 0, 242, 19, 243, 244, 0, 0, 245, 246,
1859: 247, 248, 249, 21, 0, 22, -237, 0, 0, 0,
1860: 0, 0, 0, 0, 250, 0, 0, 1177, 0, 0,
1861: 0, 0, 0, 0, 0, 252, 253, 1178, 0, 0,
1862: 0, 0, 0, 255, 256, 257, 0, 0, 0, 0,
1863: 1179, 0, 0, 1229, 259, 7, 8, 0, 10, 232,
1864: 233, 234, 0, 235, 12, 0, 260, 0, 0, 0,
1865: 0, 0, 0, 0, 0, 0, 0, 0, 0, 15,
1866: 236, 237, 238, 16, 0, 239, 0, 17, 0, 240,
1867: 241, 0, 242, 19, 243, 244, 0, 0, 245, 246,
1868: 247, 248, 249, 21, 0, 22, 0, 0, -139, 0,
1869: 0, 0, 0, 0, 250, 0, 0, 251, 0, 0,
1870: 0, 0, 0, 0, 0, 252, 253, 254, 0, 0,
1871: 0, 0, 0, 255, 256, 257, 0, 0, 0, 0,
1872: 258, 0, 0, 721, 259, 7, 8, 0, 10, 437,
1873: 233, 234, 0, 235, 12, 0, 260, 0, 0, 0,
1874: 0, 0, 0, 0, 0, 0, 0, 0, 0, 15,
1875: 236, 237, 238, 16, 0, 239, 0, 17, 0, 240,
1876: 241, 0, 242, 19, 243, 244, 0, 0, 245, 246,
1877: 247, 248, 249, 21, 0, 22, 0, 0, 0, 0,
1878: 0, 0, 0, 0, 250, 0, 0, 251, 0, 0,
1879: 0, 0, 0, 0, 0, 252, 253, 254, 0, 0,
1880: 0, 0, 0, 255, 256, 257, 0, 0, 0, 0,
1881: 258, 0, 0, 0, 259, 0, 0, 0, 0, 0,
1882: 0, 0, 0, 0, -656, 800, 260, 7, 8, 0,
1883: 10, 437, 233, 234, 0, 235, 12, 475, 476, 477,
1884: 478, 479, 480, 481, 482, 483, 484, 485, 486, 487,
1885: 0, 15, 236, 237, 238, 16, 0, 239, 0, 17,
1886: 0, 240, 241, 0, 242, 19, 243, 244, 0, 0,
1887: 245, 246, 247, 248, 249, 21, 0, 22, 0, 0,
1888: 0, 0, 0, 0, 0, 0, 250, 0, 0, 251,
1889: 0, 0, 0, 0, 0, 0, 0, 252, 253, 254,
1890: 0, 0, 0, 0, 0, 255, 256, 257, 0, 0,
1891: 0, 0, 258, 0, 0, 802, 259, 7, 8, 0,
1892: 10, 437, 233, 234, 0, 235, 12, 0, 260, 0,
1893: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1894: 0, 15, 236, 237, 238, 16, 0, 239, 0, 17,
1895: 0, 240, 241, 0, 242, 19, 243, 244, 0, 0,
1896: 245, 246, 247, 248, 249, 21, 0, 22, 0, 0,
1897: 0, 0, 0, 0, 0, 0, 250, 0, 0, 251,
1898: 0, 0, 0, 0, 0, 0, 0, 252, 253, 254,
1899: 0, 0, 0, 0, 0, 255, 256, 257, 0, 0,
1900: 0, 0, 258, 0, 7, 8, 259, 10, 437, 233,
1901: 234, 0, 235, 12, 0, 0, 0, 0, 260, 0,
1902: 0, 0, 0, 0, 0, 0, 0, 0, 15, 236,
1903: 237, 238, 16, 0, 239, 0, 17, 0, 240, 241,
1904: 0, 242, 19, 243, 244, 0, 0, 245, 246, 247,
1905: 248, 249, 21, 0, 22, 0, 0, 0, 0, 0,
1906: 0, 0, 0, 250, 0, 0, 251, 0, 0, 0,
1907: 0, 0, 0, 0, 252, 253, 254, 0, 0, 0,
1908: 0, 0, 255, 256, 257, 0, 0, 0, 0, 258,
1909: 0, 0, 0, 259, 0, 0, 0, 0, 0, 0,
1910: 0, 0, 0, 0, 0, 260, 760, 966, 967, 92,
1911: 10, 232, 233, 234, 0, 235, 12, 968, 0, 969,
1912: 970, 971, 972, 973, 974, 975, 976, 977, 978, 13,
1913: 14, 15, 236, 237, 238, 16, 0, 239, 0, 17,
1914: 0, 240, 241, 0, 242, 19, 243, 244, 0, 0,
1915: 245, 246, 247, 248, 249, 21, 0, 979, 347, 0,
1916: 980, 0, 0, 0, 0, 0, 250, 0, 0, 251,
1917: 0, 0, 0, 0, 0, 0, 0, 252, 253, 254,
1918: 0, 0, 0, 0, 0, 255, 256, 257, 0, 0,
1919: 0, 0, 258, 0, 981, 0, 259, 0, 0, 0,
1920: 0, 0, 0, 0, 0, 0, 0, 1110, 260, 966,
1921: 967, 92, 10, 232, 233, 234, 0, 235, 12, 968,
1922: 0, 969, 970, 971, 972, 973, 974, 975, 976, 977,
1923: 978, 13, 14, 15, 236, 237, 238, 16, 0, 239,
1924: 0, 17, 0, 240, 241, 0, 242, 19, 243, 244,
1925: 0, 0, 245, 246, 247, 248, 249, 21, 0, 979,
1926: 347, 0, 980, 0, 0, 0, 0, 0, 250, 0,
1927: 0, 251, 0, 0, 0, 0, 0, 0, 0, 252,
1928: 253, 254, 0, 0, 0, 0, 0, 255, 256, 257,
1929: 0, 0, 0, 0, 258, 0, 981, 0, 259, 966,
1930: 967, 92, 10, 232, 233, 234, 0, 235, 12, 968,
1931: 260, 969, 970, 971, 972, 973, 974, 975, 976, 977,
1932: 978, 13, 14, 15, 236, 237, 238, 16, 0, 239,
1933: 0, 17, 0, 240, 241, 0, 242, 19, 243, 244,
1934: 0, 0, 245, 246, 247, 248, 249, 21, 0, 979,
1935: 1270, 0, 980, 0, 0, 0, 0, 0, 250, 0,
1936: 0, 251, 0, 0, 0, 0, 0, 0, 0, 252,
1937: 253, 254, 0, 0, 0, 0, 0, 255, 256, 257,
1938: 0, 0, 0, 0, 258, 0, 981, 0, 259, 966,
1939: 967, 92, 10, 232, 233, 234, 0, 235, 12, 968,
1940: 260, 969, 970, 971, 972, 973, 974, 975, 976, 977,
1941: 978, 13, 14, 15, 236, 237, 238, 16, 0, 239,
1942: 0, 17, 0, 240, 241, 0, 242, 19, 243, 244,
1943: 0, 0, 245, 246, 247, 248, 249, 21, 0, 979,
1944: 0, 0, 980, 0, 0, 0, 0, 0, 250, 0,
1945: 0, 251, 0, 0, 0, 0, 0, 0, 0, 252,
1946: 253, 254, 0, 0, 0, 0, 0, 255, 256, 257,
1947: 0, 0, 0, 0, 258, 0, 981, 0, 259, 7,
1948: 8, 92, 10, 232, 233, 234, 354, 235, 12, 0,
1949: 260, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1950: 0, 0, 0, 15, 236, 237, 238, 16, 0, 239,
1951: 0, 17, 0, 240, 241, 0, 242, 19, 243, 244,
1952: 510, 0, 245, 246, 247, 248, 249, 21, 0, 22,
1953: 0, 0, 0, 0, 0, 0, 0, 0, 250, 0,
1954: 0, 786, 0, 0, 0, 0, 0, 0, 0, 252,
1955: 253, 787, 0, 0, 0, 0, 0, 255, 256, 257,
1956: 0, 513, 0, 0, 788, 515, 0, 0, 259, 355,
1957: 7, 8, 92, 10, 232, 233, 234, 354, 235, 12,
1958: 260, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1959: 0, 0, 0, 0, 15, 236, 237, 238, 16, 0,
1960: 239, 0, 17, 0, 240, 241, 0, 242, 19, 243,
1961: 244, 510, 0, 245, 246, 247, 248, 249, 21, 0,
1962: 22, 0, 0, 0, 0, 0, 0, 0, 0, 250,
1963: 0, 0, 845, 0, 0, 0, 0, 0, 0, 0,
1964: 252, 253, 846, 0, 0, 0, 0, 0, 255, 256,
1965: 257, 0, 513, 0, 0, 847, 515, 0, 0, 259,
1966: 355, 7, 8, 0, 10, 232, 233, 234, 0, 235,
1967: 12, 260, 0, 0, 0, 0, 0, 0, 0, 0,
1968: 0, 0, 0, 0, 0, 15, 236, 237, 238, 16,
1969: 0, 239, 0, 17, 0, 240, 241, 0, 242, 19,
1970: 243, 244, 510, 0, 245, 246, 247, 248, 249, 21,
1971: 0, 22, 0, 0, 0, 0, 0, 0, 0, 0,
1972: 250, 0, 0, 786, 0, 0, 0, 0, 0, 0,
1973: 0, 252, 253, 787, 0, 0, 0, 0, 0, 255,
1974: 256, 257, 0, 513, 0, 0, 788, 515, 7, 8,
1975: 0, 10, 232, 233, 234, 0, 235, 12, 0, 0,
1976: 0, 0, 260, 0, 0, 0, 0, 0, 0, 0,
1977: 0, 0, 15, 236, 237, 238, 16, 0, 239, 0,
1978: 17, 0, 240, 241, 0, 242, 19, 243, 244, 510,
1979: 0, 245, 246, 247, 248, 249, 21, 0, 22, 0,
1980: 0, 0, 0, 0, 0, 0, 0, 250, 0, 0,
1981: 845, 0, 0, 0, 0, 0, 0, 0, 252, 253,
1982: 846, 0, 0, 0, 0, 0, 255, 256, 257, 0,
1983: 513, 0, 0, 847, 515, 7, 8, 0, 10, 232,
1984: 233, 234, 0, 235, 12, 0, 0, 0, 0, 260,
1985: 0, 0, 0, 0, 0, 0, 0, 0, 0, 15,
1986: 236, 237, 238, 16, 0, 239, 0, 17, 0, 240,
1987: 241, 0, 242, 19, 243, 244, 510, 0, 245, 246,
1988: 247, 248, 249, 21, 0, 22, 0, 0, 0, 0,
1989: 0, 0, 0, 0, 250, 0, 0, 940, 0, 0,
1990: 0, 0, 0, 0, 0, 252, 253, 941, 0, 0,
1991: 0, 0, 0, 255, 256, 257, 0, 513, 0, 0,
1992: 788, 515, 7, 8, 0, 10, 232, 233, 234, 0,
1993: 235, 12, 0, 0, 0, 0, 260, 0, 0, 0,
1994: 0, 0, 0, 0, 0, 0, 15, 236, 237, 238,
1995: 16, 0, 239, 0, 17, 0, 240, 241, 0, 242,
1996: 19, 243, 244, 0, 0, 245, 246, 247, 248, 249,
1997: 21, 0, 22, 0, 0, 0, 0, 0, 0, 0,
1998: 0, 250, 0, 0, 251, 0, 0, 0, 0, 304,
1999: 0, 0, 252, 253, 254, 0, 0, 0, 0, 0,
2000: 255, 256, 257, 0, 0, 0, 0, 258, 0, 7,
2001: 8, 259, 10, 437, 233, 234, 0, 235, 12, 0,
2002: 0, 0, 0, 260, 0, 0, 0, 0, 0, 0,
2003: 0, 0, 0, 15, 236, 237, 238, 16, 0, 239,
2004: 0, 17, 0, 240, 241, 0, 242, 19, 243, 244,
2005: 0, 0, 245, 246, 247, 248, 249, 21, 0, 22,
2006: 0, 0, 1087, 0, 0, 0, 0, 0, 250, 0,
2007: 0, 251, 0, 0, 0, 0, 0, 0, 0, 252,
2008: 253, 254, 0, 0, 0, 0, 0, 255, 256, 257,
2009: 0, 0, 0, 0, 258, 0, 7, 8, 259, 10,
2010: 232, 233, 234, 0, 235, 12, 0, 0, 0, 0,
2011: 260, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2012: 15, 236, 237, 238, 16, 0, 239, 0, 17, 0,
2013: 240, 241, 0, 242, 19, 243, 244, 0, 0, 245,
2014: 246, 247, 248, 249, 21, 0, 22, 0, 0, 0,
2015: 0, 0, 0, 0, 0, 250, 0, 0, 251, 0,
2016: 0, 0, 0, 0, 0, 0, 252, 253, 254, 0,
2017: 0, 0, 0, 0, 255, 256, 257, 0, 0, 0,
2018: 0, 258, 0, 7, 8, 259, 10, 437, 233, 234,
2019: 0, 235, 12, 0, 0, 0, 0, 260, 0, 0,
2020: 0, 0, 0, 0, 0, 0, 0, 15, 236, 237,
2021: 238, 16, 0, 239, 0, 17, 0, 240, 241, 0,
2022: 242, 19, 243, 244, 0, 0, 245, 246, 247, 248,
2023: 249, 21, 0, 22, 463, 0, 0, 0, 0, 0,
2024: 0, 0, 250, 0, 0, 251, 0, 0, 0, 0,
2025: 0, 0, 0, 252, 253, 254, 0, 0, 0, 0,
2026: 0, 255, 256, 257, 0, 0, 7, 8, 464, 10,
2027: 437, 233, 234, 0, 235, 12, 0, 0, 0, 0,
2028: 0, 0, 0, 0, 260, 0, 0, 0, 0, 0,
2029: 15, 236, 237, 238, 16, 0, 239, 0, 17, 0,
2030: 240, 241, 0, 242, 19, 243, 244, 0, 0, 245,
2031: 246, 247, 248, 249, 21, 0, 22, 0, 0, 0,
2032: 0, 0, 0, 0, 0, 250, 0, 0, 251, 0,
2033: 0, 0, 0, 0, 0, 0, 252, 253, 254, 0,
2034: 0, 0, 0, 0, 255, 256, 257, 0, 0, 0,
2035: 0, 258, 500, 7, 8, 0, 10, 437, 233, 234,
2036: 0, 235, 12, 0, 0, 0, 0, 260, 0, 0,
2037: 0, 0, 0, 0, 0, 0, 0, 15, 236, 237,
2038: 238, 16, 0, 239, 0, 17, 0, 240, 241, 0,
2039: 242, 19, 243, 244, 0, 0, 245, 246, 247, 248,
2040: 249, 21, 0, 22, 0, 0, 0, 0, 0, 0,
2041: 0, 0, 250, 0, 0, 251, 0, 0, 0, 0,
2042: 0, 0, 0, 252, 253, 254, 0, 0, 0, 0,
2043: 0, 255, 256, 257, 0, 0, 0, 0, 258, 0,
2044: 7, 697, 259, 10, 437, 233, 234, 0, 235, 12,
2045: 0, 0, 0, 0, 260, 0, 0, 0, 0, 0,
2046: 0, 0, 0, 0, 15, 236, 237, 238, 16, 0,
2047: 239, 0, 17, 0, 240, 241, 0, 242, 19, 243,
2048: 244, 0, 0, 245, 246, 247, 248, 249, 21, 0,
2049: 22, 0, 0, 0, 0, 0, 0, 0, 0, 250,
2050: 0, 0, 251, 0, 0, 0, 0, 0, 0, 0,
2051: 252, 253, 254, 0, 0, 0, 0, 0, 255, 256,
2052: 257, 0, 0, 0, 0, 258, 0, 7, 8, 259,
2053: 10, 437, 233, 234, 0, 235, 12, 0, 0, 0,
2054: 0, 260, 0, 0, 0, 0, 0, 0, 0, 0,
2055: 0, 15, 236, 237, 238, 16, 0, 239, 0, 17,
2056: 0, 240, 241, 0, 242, 19, 243, 244, 0, 0,
2057: 245, 246, 247, 248, 249, 21, 0, 22, 0, 0,
2058: 0, 0, 0, 0, 0, 0, 250, 0, 0, 890,
2059: 0, 0, 0, 0, 0, 0, 0, 252, 253, 891,
2060: 0, 0, 0, 0, 0, 255, 256, 257, 0, 0,
2061: 0, 0, 258, 0, 7, 8, 259, 10, 437, 233,
2062: 234, 0, 235, 12, 0, 0, 0, 0, 260, 0,
2063: 0, 0, 0, 0, 0, 0, 0, 0, 15, 236,
2064: 237, 238, 16, 0, 239, 0, 17, 0, 240, 241,
2065: 0, 242, 19, 243, 244, 0, 0, 245, 246, 247,
2066: 248, 249, 21, 0, 22, 0, 0, 0, 0, 0,
2067: 0, 0, 0, 250, 0, 0, 1177, 0, 0, 0,
2068: 0, 0, 0, 0, 252, 253, 1178, 0, 0, 0,
2069: 0, 0, 255, 256, 257, 0, 0, 0, 0, 1179,
2070: 0, 1242, 8, 259, 10, 437, 233, 234, 0, 235,
2071: 12, 0, 0, 0, 0, 260, 0, 0, 0, 0,
2072: 0, 0, 0, 0, 0, 15, 236, 237, 238, 16,
2073: 0, 239, 0, 17, 0, 240, 241, 0, 242, 19,
2074: 243, 244, 0, 0, 245, 246, 247, 248, 249, 21,
2075: 0, 22, 0, 0, 0, 0, 0, 0, 0, 0,
2076: 250, 0, 0, 251, 0, 0, 0, 0, 0, 0,
2077: 0, 252, 253, 254, 0, 0, 0, 0, 0, 255,
2078: 256, 257, 0, 0, 0, 0, 258, 0, 7, 8,
2079: 259, 10, 437, 233, 234, 0, 235, 12, 0, 0,
2080: 0, 0, 260, 0, 0, 0, 0, 0, 0, 0,
2081: 0, 0, 15, 236, 237, 238, 16, 0, 239, 0,
2082: 17, 0, 240, 241, 0, 242, 19, 243, 244, 0,
2083: 0, 245, 246, 247, 248, 249, 21, 0, 22, 0,
2084: 0, 0, 0, 0, 0, 0, 0, 250, 0, 0,
2085: 251, 0, 0, 0, 0, 0, 0, 0, 252, 253,
2086: 254, 0, 0, 0, 0, 0, 255, 256, 257, 0,
2087: 0, 7, 8, 258, 10, 437, 233, 234, 0, 235,
2088: 12, 0, 0, 0, 0, 0, 0, 0, 0, 260,
2089: 0, 0, 0, 0, 0, 15, 236, 237, 238, 16,
2090: 0, 239, 0, 17, 0, 240, 241, 0, 242, 19,
2091: 243, 244, 0, 0, 245, 246, 247, 248, 249, 21,
2092: 0, 22, 0, 0, 0, 0, 0, 0, 0, 0,
2093: 250, 0, 0, 890, 0, 0, 0, 0, 0, 0,
2094: 0, 252, 253, 891, 0, 0, 0, 0, 0, 255,
2095: 256, 257, 0, 0, 7, 8, 258, 10, 232, 233,
2096: 234, 0, 235, 12, 0, 0, 0, 0, 0, 0,
2097: 0, 0, 260, 0, 0, 0, 0, 0, 15, 236,
2098: 237, 238, 16, 0, 239, 0, 17, 0, 240, 241,
2099: 0, 242, 19, 243, 244, 0, 0, 245, 246, 247,
2100: 248, 249, 21, 0, 22, 0, 0, 0, 0, 0,
2101: 0, 0, 0, 250, 0, 0, 1177, 0, 0, 0,
2102: 0, 0, 0, 0, 252, 253, 1178, 0, 0, 0,
2103: 0, 0, 255, 256, 257, 0, 0, 7, 8, 1179,
2104: 10, 437, 233, 234, 0, 235, 12, 0, 0, 0,
2105: 0, 0, 0, 0, 0, 260, 0, 0, 0, 0,
2106: 0, 15, 236, 0, 0, 16, 0, 239, 0, 17,
2107: 0, 240, 241, 0, 242, 19, 243, 244, 0, 0,
2108: 245, 246, 247, 248, 249, 21, 0, 22, 0, 0,
2109: 0, 0, 0, 0, 0, 0, 250, 0, 0, 251,
2110: 0, 0, 0, 0, 0, 0, 0, 252, 253, 254,
2111: 0, 0, 0, 0, 0, 255, 256, 257, 0, 0,
2112: 7, 8, 441, 10, 437, 233, 234, 0, 235, 12,
2113: 0, 0, 0, 0, 0, 0, 0, 0, 260, 0,
2114: 0, 0, 0, 0, 15, 236, 237, 238, 16, 0,
2115: 239, 0, 17, 0, 240, 241, 0, 242, 19, 243,
2116: 244, 0, 0, 245, 246, 247, 248, 249, 21, 0,
2117: 22, 0, 7, 8, 158, 159, 160, 0, 0, 0,
2118: 0, 12, 0, 0, 0, 0, 0, 7, 8, 151,
2119: 10, 152, 0, 0, 0, 0, 12, 0, 255, 256,
2120: 257, 0, 0, 0, 17, 258, 0, 0, 0, 259,
2121: 19, 15, 0, 510, 0, 16, 0, 0, 0, 17,
2122: 21, 260, 22, 0, 0, 19, 0, 0, 0, 0,
2123: 0, 0, 0, 0, 603, 21, 0, 22, 0, 0,
2124: 153, 0, 0, 0, 604, 0, 0, 0, 0, 24,
2125: 0, 0, 26, 0, 513, 0, 0, 605, 515, 25,
2126: 0, 7, 8, 92, 10, 11, 0, 26, 618, 0,
2127: 12, 0, 27, 0, 0, 0, 0, 0, 655, 8,
2128: 151, 10, 152, 0, 0, 15, 0, 12, 0, 16,
2129: 0, 0, 0, 17, 0, 0, 0, 0, 0, 19,
2130: 0, 0, 15, 0, 0, 0, 16, 0, 0, 21,
2131: 17, 22, 0, 0, 0, 0, 19, 0, 0, 0,
2132: 0, 0, 0, 24, 0, 0, 21, 0, 22, 0,
2133: 0, 0, 0, 25, 0, 658, 0, 0, 0, 0,
2134: 24, 26, 0, 0, 0, 0, 27, 0, 0, 0,
2135: 25, 7, 8, 151, 10, 152, 0, 0, 26, 0,
2136: 12, 0, 0, 27, 0, 0, 0, 0, 7, 8,
2137: 151, 10, 152, 0, 0, 15, 0, 12, 0, 16,
2138: 0, 0, 0, 17, 0, 0, 0, 0, 0, 19,
2139: 0, 0, 15, 0, 0, 0, 16, 0, 0, 21,
2140: 17, 22, 0, 0, 1099, 0, 19, 0, 0, 0,
2141: 0, 0, 8, 24, 10, 184, 21, 0, 22, 0,
2142: 12, 0, 0, 25, 0, 0, 0, 0, 0, 0,
2143: 24, 26, 0, 0, 0, 15, 27, 0, 0, 16,
2144: 25, 0, 0, 17, 0, 0, 0, 0, 26, 0,
2145: 0, 0, 510, 27, 0, 0, 0, 0, 0, 21,
2146: 0, 93, 0, 0, 0, 0, 0, 0, 0, 0,
2147: 466, 467, 468, 511, 469, 470, 471, 472, 473, 474,
2148: 475, 476, 477, 512, 479, 480, 481, 482, 483, 484,
2149: 485, 486, 487, 513, 0, 0, 514, 515, 466, 467,
2150: 468, 0, 469, 470, 471, 472, 473, 474, 475, 476,
2151: 477, 478, 479, 480, 481, 482, 483, 484, 485, 486,
2152: 487, 543, 682, 466, 467, 468, 0, 469, 470, 471,
2153: 472, 473, 474, 475, 476, 477, 478, 479, 480, 481,
2154: 482, 483, 484, 485, 486, 487, 1040, 466, 467, 468,
2155: 0, 469, 470, 471, 472, 473, 474, 475, 476, 477,
2156: 478, 479, 480, 481, 482, 483, 484, 485, 486, 487,
2157: 466, 467, 468, 1204, 469, 470, 471, 472, 473, 474,
2158: 475, 476, 477, 478, 479, 480, 481, 482, 483, 484,
2159: 485, 486, 487, 466, 467, 468, 1253, 469, 470, 471,
2160: 472, 473, 474, 475, 476, 477, 478, 479, 480, 481,
2161: 482, 483, 484, 485, 486, 487, 466, 467, 468, 0,
2162: 469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
2163: 479, 480, 481, 482, 483, 484, 485, 486, 487, 468,
2164: 0, 469, 470, 471, 472, 473, 474, 475, 476, 477,
2165: 478, 479, 480, 481, 482, 483, 484, 485, 486, 487,
2166: 470, 471, 472, 473, 474, 475, 476, 477, 478, 479,
2167: 480, 481, 482, 483, 484, 485, 486, 487, 472, 473,
2168: 474, 475, 476, 477, 478, 479, 480, 481, 482, 483,
2169: 484, 485, 486, 487, 473, 474, 475, 476, 477, 478,
2170: 479, 480, 481, 482, 483, 484, 485, 486, 487
2171: };
2172:
2173: static const short yycheck[] = { 4,
2174: 4, 188, 265, 136, 416, 284, 117, 12, 108, 109,
2175: 4, 339, 12, 299, 4, 20, 20, 389, 388, 24,
2176: 25, 52, 27, 284, 131, 347, 749, 71, 33, 33,
2177: 20, 20, 154, 161, 162, 130, 131, 134, 129, 44,
2178: 299, 46, 816, 33, 136, 988, 1155, 52, 1047, 181,
2179: 1183, 299, 52, 34, 59, 988, 9, 1, 9, 4,
2180: 9, 48, 995, 55, 88, 70, 71, 278, 1216, 70,
2181: 34, 154, 77, 77, 10, 3, 4, 44, 1226, 407,
2182: 7, 10, 87, 55, 55, 56, 87, 77, 77, 36,
2183: 95, 96, 4, 98, 3, 4, 101, 98, 70, 104,
2184: 105, 36, 185, 108, 109, 51, 4, 60, 53, 368,
2185: 54, 103, 4, 1246, 119, 119, 121, 122, 44, 55,
2186: 368, 62, 103, 69, 60, 53, 55, 54, 95, 119,
2187: 75, 60, 136, 60, 139, 140, 141, 12, 1247, 103,
2188: 56, 53, 4, 515, 53, 1144, 1279, 75, 1296, 102,
2189: 337, 102, 363, 102, 121, 53, 103, 93, 76, 51,
2190: 165, 53, 88, 4, 93, 92, 102, 154, 103, 301,
2191: 88, 89, 4, 65, 161, 162, 102, 52, 183, 183,
2192: 954, 99, 1163, 75, 125, 27, 44, 103, 193, 286,
2193: 913, 53, 44, 183, 188, 60, 51, 89, 185, 56,
2194: 58, 142, 0, 44, 69, 60, 58, 299, 55, 54,
2195: 51, 398, 53, 75, 69, 60, 157, 44, 136, 1328,
2196: 1329, 53, 56, 70, 65, 230, 231, 271, 1209, 440,
2197: 88, 89, 107, 1166, 75, 0, 88, 344, 345, 6,
2198: 7, 55, 229, 75, 85, 12, 103, 88, 89, 344,
2199: 345, 346, 343, 532, 4, 388, 3, 4, 88, 89,
2200: 60, 88, 89, 66, 392, 393, 271, 109, 35, 103,
2201: 275, 393, 277, 278, 279, 102, 368, 44, 378, 379,
2202: 285, 4, 85, 284, 7, 56, 56, 44, 102, 659,
2203: 1223, 278, 420, 56, 299, 299, 388, 44, 51, 141,
2204: 103, 23, 102, 53, 51, 60, 53, 1250, 313, 44,
2205: 985, 316, 987, 56, 1257, 320, 69, 1250, 285, 324,
2206: 324, 88, 650, 55, 1257, 75, 97, 1050, 51, 92,
2207: 53, 88, 89, 103, 324, 324, 55, 10, 60, 88,
2208: 258, 88, 65, 337, 45, 102, 149, 102, 1281, 102,
2209: 56, 56, 75, 88, 4, 360, 361, 362, 363, 364,
2210: 103, 56, 457, 368, 368, 60, 89, 3, 1311, 374,
2211: 102, 376, 56, 378, 379, 250, 363, 136, 1311, 566,
2212: 385, 299, 55, 102, 388, 58, 391, 60, 329, 394,
2213: 384, 4, 195, 360, 7, 362, 363, 103, 103, 3,
2214: 4, 51, 407, 53, 398, 392, 393, 55, 413, 414,
2215: 1, 416, 416, 785, 784, 65, 421, 55, 56, 103,
2216: 93, 54, 514, 69, 44, 75, 416, 60, 258, 521,
2217: 44, 44, 23, 420, 25, 26, 88, 41, 51, 44,
2218: 53, 32, 447, 448, 449, 450, 413, 55, 56, 53,
2219: 368, 44, 65, 497, 102, 44, 643, 27, 44, 92,
2220: 54, 402, 75, 54, 55, 56, 60, 58, 88, 60,
2221: 388, 75, 85, 55, 88, 88, 89, 44, 419, 83,
2222: 283, 44, 54, 88, 89, 592, 3, 4, 70, 676,
2223: 56, 819, 497, 51, 499, 88, 89, 592, 92, 88,
2224: 89, 92, 88, 421, 307, 44, 511, 512, 4, 514,
2225: 514, 7, 640, 605, 56, 794, 521, 521, 804, 611,
2226: 438, 88, 553, 441, 41, 88, 659, 790, 446, 447,
2227: 448, 449, 450, 794, 862, 60, 53, 379, 108, 109,
2228: 44, 54, 460, 373, 69, 804, 464, 552, 553, 88,
2229: 92, 923, 44, 553, 58, 51, 804, 53, 75, 3,
2230: 4, 44, 6, 103, 385, 552, 83, 659, 54, 65,
2231: 681, 141, 566, 394, 55, 25, 26, 58, 496, 75,
2232: 102, 3, 4, 342, 88, 552, 3, 4, 463, 70,
2233: 55, 56, 3, 4, 3, 4, 88, 41, 603, 604,
2234: 605, 605, 102, 51, 54, 88, 611, 611, 438, 53,
2235: 60, 441, 60, 443, 444, 102, 446, 51, 1030, 41,
2236: 102, 69, 627, 628, 41, 630, 60, 25, 26, 388,
2237: 433, 53, 41, 37, 464, 69, 53, 9, 468, 83,
2238: 51, 102, 53, 54, 53, 650, 54, 51, 56, 643,
2239: 972, 784, 60, 640, 659, 659, 54, 103, 75, 6,
2240: 7, 83, 60, 92, 494, 12, 83, 4, 3, 6,
2241: 500, 97, 27, 678, 83, 12, 60, 436, 553, 521,
2242: 25, 26, 676, 688, 689, 690, 873, 874, 35, 876,
2243: 27, 678, 784, 105, 31, 88, 788, 89, 35, 136,
2244: 3, 4, 5, 6, 7, 105, 509, 918, 5, 6,
2245: 7, 51, 804, 588, 51, 12, 53, 78, 79, 660,
2246: 60, 524, 55, 56, 665, 666, 55, 56, 669, 69,
2247: 919, 920, 35, 922, 493, 89, 495, 496, 35, 839,
2248: 840, 659, 60, 748, 88, 845, 846, 88, 51, 88,
2249: 53, 54, 88, 108, 109, 847, 1078, 1079, 69, 54,
2250: 69, 56, 521, 605, 769, 60, 771, 69, 527, 611,
2251: 1092, 69, 54, 778, 56, 9, 987, 782, 60, 784,
2252: 784, 786, 787, 788, 788, 102, 141, 103, 23, 794,
2253: 1112, 1113, 55, 794, 102, 98, 99, 100, 102, 804,
2254: 804, 806, 102, 3, 4, 5, 6, 7, 378, 379,
2255: 3, 3, 4, 103, 688, 689, 690, 659, 54, 54,
2256: 58, 56, 581, 58, 7, 60, 55, 56, 55, 56,
2257: 748, 102, 837, 838, 839, 840, 102, 1159, 102, 844,
2258: 845, 846, 847, 847, 58, 37, 38, 1328, 1329, 41,
2259: 105, 693, 611, 53, 102, 4, 105, 862, 88, 51,
2260: 778, 53, 32, 12, 235, 236, 784, 872, 1290, 1291,
2261: 875, 20, 877, 877, 879, 24, 25, 105, 27, 873,
2262: 874, 105, 876, 102, 33, 102, 804, 877, 75, 76,
2263: 77, 78, 79, 4, 102, 44, 7, 46, 51, 25,
2264: 26, 6, 105, 52, 88, 342, 32, 44, 58, 55,
2265: 59, 5, 6, 7, 919, 920, 58, 922, 12, 58,
2266: 56, 56, 71, 56, 56, 56, 756, 868, 77, 55,
2267: 56, 55, 58, 44, 693, 940, 941, 102, 1125, 1126,
2268: 51, 35, 53, 861, 58, 787, 95, 96, 953, 953,
2269: 102, 388, 101, 55, 65, 830, 105, 102, 788, 108,
2270: 109, 879, 102, 953, 75, 3, 4, 105, 88, 7,
2271: 119, 60, 121, 122, 85, 55, 55, 88, 89, 60,
2272: 985, 986, 987, 58, 88, 1080, 102, 102, 70, 1176,
2273: 139, 140, 141, 752, 999, 1000, 102, 1002, 840, 436,
2274: 987, 102, 102, 41, 846, 847, 765, 102, 767, 1220,
2275: 102, 70, 70, 51, 70, 53, 165, 847, 985, 102,
2276: 987, 60, 55, 378, 379, 1030, 1030, 65, 60, 102,
2277: 905, 861, 60, 102, 183, 605, 102, 75, 105, 842,
2278: 1030, 611, 103, 89, 193, 83, 83, 102, 105, 891,
2279: 88, 44, 102, 102, 3, 4, 493, 105, 495, 496,
2280: 1171, 105, 821, 103, 823, 34, 825, 102, 4, 5,
2281: 6, 7, 1331, 102, 10, 102, 12, 1177, 1178, 102,
2282: 102, 230, 231, 1331, 1025, 1026, 961, 58, 1183, 659,
2283: 527, 27, 41, 1280, 58, 31, 102, 1102, 88, 35,
2284: 88, 88, 51, 978, 53, 7, 88, 56, 10, 88,
2285: 105, 103, 6, 102, 105, 51, 65, 53, 102, 102,
2286: 60, 102, 271, 103, 102, 102, 75, 102, 277, 278,
2287: 279, 1125, 1126, 88, 83, 284, 285, 102, 60, 88,
2288: 56, 944, 44, 56, 581, 7, 54, 977, 14, 56,
2289: 299, 1246, 58, 55, 102, 102, 58, 93, 60, 1034,
2290: 1101, 341, 60, 60, 313, 44, 105, 316, 70, 88,
2291: 56, 320, 1177, 1178, 1179, 324, 56, 88, 88, 1173,
2292: 1121, 58, 1176, 58, 1279, 102, 88, 89, 102, 15,
2293: 339, 93, 56, 105, 4, 5, 56, 1072, 102, 102,
2294: 102, 56, 103, 102, 56, 56, 1036, 1037, 1038, 1039,
2295: 102, 360, 361, 362, 363, 364, 1221, 58, 1048, 368,
2296: 58, 31, 9, 56, 102, 374, 36, 376, 102, 378,
2297: 379, 56, 56, 1220, 88, 55, 385, 1332, 56, 1331,
2298: 88, 51, 391, 53, 102, 394, 4, 5, 91, 102,
2299: 605, 1081, 102, 102, 1221, 58, 611, 102, 407, 1089,
2300: 1102, 1179, 9, 56, 413, 414, 1, 416, 102, 839,
2301: 840, 102, 421, 31, 56, 845, 846, 847, 36, 9,
2302: 0, 0, 118, 326, 2, 1, 1280, 119, 23, 804,
2303: 25, 26, 119, 51, 129, 53, 819, 32, 447, 448,
2304: 449, 450, 99, 460, 659, 1144, 1154, 23, 1185, 25,
2305: 26, 1252, 509, 1081, 986, 752, 32, 684, 1197, 54,
2306: 55, 56, 1197, 58, 799, 60, 1331, 1331, 765, 588,
2307: 767, 33, 33, 1163, 862, 650, 1178, 1179, 54, 55,
2308: 56, 809, 58, 1102, 60, 877, 953, 12, 497, 1179,
2309: 499, 4, 414, 497, 1184, 1185, 875, 92, 4, 5,
2310: 6, 7, 511, 512, 10, 514, 12, 20, 540, 797,
2311: 1270, 833, 521, 1304, 1306, -1, 92, 44, 879, 1209,
2312: 33, 27, 368, 532, 821, 31, 823, -1, 825, 35,
2313: -1, 3, 4, 46, 71, 72, 73, 74, 75, 76,
2314: 77, 78, 79, 552, 553, 51, 59, 53, -1, -1,
2315: -1, -1, -1, 1331, 81, 82, -1, -1, 71, 86,
2316: 87, 88, 89, 76, 77, -1, -1, -1, -1, 41,
2317: -1, -1, 44, -1, -1, 88, 89, -1, -1, 51,
2318: 1199, 53, 622, 96, 1274, -1, 99, -1, 60, -1,
2319: -1, -1, -1, 65, 603, 604, 605, -1, -1, -1,
2320: 1290, 1291, 611, 75, -1, -1, 119, -1, -1, 122,
2321: -1, 83, -1, 1303, -1, -1, 88, -1, 627, 628,
2322: -1, 630, -1, 136, 839, 840, -1, -1, -1, -1,
2323: 845, 846, 847, -1, -1, -1, 4, 5, 6, 7,
2324: -1, 650, -1, -1, 12, -1, 1265, -1, 3, 4,
2325: 659, -1, 7, 139, 140, 141, 71, -1, -1, 27,
2326: -1, 76, -1, 31, -1, -1, -1, 35, -1, 678,
2327: 183, -1, 1102, 88, 89, -1, -1, -1, -1, 688,
2328: 689, 690, -1, 51, 99, 53, 41, -1, -1, 44,
2329: -1, -1, -1, -1, -1, -1, 51, -1, 53, -1,
2330: -1, 69, -1, -1, -1, -1, 251, 24, 25, 254,
2331: 65, 751, 257, -1, -1, -1, -1, 230, 263, -1,
2332: 75, 136, -1, -1, -1, -1, -1, 272, 83, -1,
2333: 85, -1, -1, 88, 89, -1, -1, -1, -1, 748,
2334: -1, -1, -1, -1, -1, 258, -1, 1177, 1178, 1179,
2335: -1, -1, -1, 4, 71, 6, 7, -1, 271, 76,
2336: 769, 12, 771, -1, -1, -1, 279, -1, 808, 778,
2337: -1, 88, 89, 782, -1, 784, 27, 786, 787, 788,
2338: 31, -1, 99, -1, 35, 794, 299, -1, -1, -1,
2339: -1, 108, 109, -1, -1, 804, -1, 806, -1, -1,
2340: 51, -1, 53, -1, -1, -1, -1, -1, 577, -1,
2341: 819, 324, 852, -1, -1, -1, -1, -1, -1, 136,
2342: -1, -1, 139, 140, -1, -1, -1, -1, 837, 838,
2343: 839, 840, -1, -1, -1, 844, 845, 846, 847, -1,
2344: -1, -1, -1, 258, -1, -1, -1, -1, 361, -1,
2345: -1, 364, -1, 862, -1, 368, 271, -1, -1, -1,
2346: -1, -1, 631, 872, 904, 905, 875, -1, 877, -1,
2347: 879, -1, -1, 642, -1, 388, 73, 74, 75, 76,
2348: 77, 78, 79, -1, 299, -1, -1, 1102, 374, -1,
2349: 376, 69, 378, 379, -1, -1, -1, -1, -1, -1,
2350: 445, 414, 1199, 416, -1, 391, -1, -1, 421, -1,
2351: 919, 920, -1, 922, -1, -1, -1, 3, 4, -1,
2352: -1, 961, -1, -1, -1, 438, -1, 413, 441, -1,
2353: -1, 940, 941, 446, 447, 448, 449, 450, 116, -1,
2354: -1, 258, -1, -1, 953, -1, -1, 460, -1, -1,
2355: -1, 464, -1, 368, 271, 41, -1, 135, 44, -1,
2356: -1, -1, 1177, 1178, 1179, 51, -1, 53, 1265, -1,
2357: -1, -1, 150, 388, -1, -1, 985, 986, 987, 65,
2358: -1, -1, 299, 496, 497, -1, -1, -1, -1, 75,
2359: 999, 1000, -1, 1002, -1, 1035, -1, 83, -1, 85,
2360: 1040, 514, 88, 89, -1, -1, 421, -1, 521, -1,
2361: -1, -1, -1, -1, 1, -1, 3, 4, 5, 6,
2362: 7, 1030, -1, 438, -1, 12, 441, -1, -1, -1,
2363: -1, 446, 447, 448, 449, 450, -1, -1, 25, 26,
2364: 27, -1, 811, -1, 31, 460, -1, -1, 35, 464,
2365: -1, 368, 39, -1, 41, -1, -1, -1, 45, -1,
2366: -1, 378, 379, -1, 51, -1, 53, -1, -1, 56,
2367: -1, 388, -1, -1, 1114, 1115, -1, -1, 65, -1,
2368: -1, 496, 497, -1, -1, -1, -1, -1, 75, -1,
2369: -1, 860, 605, 1102, -1, -1, 83, -1, 611, 514,
2370: 869, 88, -1, 1143, 421, -1, 521, 94, 95, 878,
2371: -1, -1, -1, 3, 4, -1, -1, 603, 604, 605,
2372: -1, 438, -1, -1, 441, 611, -1, -1, -1, 446,
2373: 447, 448, 449, 450, -1, -1, -1, -1, 10, -1,
2374: -1, 627, 628, 460, 630, -1, 659, 464, 1188, -1,
2375: -1, 41, -1, 25, 26, 1195, 1196, -1, -1, -1,
2376: 32, 51, -1, 53, 1204, -1, 56, -1, 1177, 1178,
2377: 1179, -1, 44, 659, -1, 65, -1, -1, -1, 496,
2378: 497, -1, -1, 55, 56, 75, 58, -1, 60, 4,
2379: 605, -1, 7, 83, 511, 512, 611, 514, 88, -1,
2380: -1, -1, -1, 381, 521, -1, -1, -1, -1, 387,
2381: -1, -1, 1221, -1, -1, 760, 88, 89, -1, -1,
2382: 92, 93, -1, 1263, 1264, -1, -1, -1, -1, 44,
2383: 102, -1, -1, -1, -1, 748, 51, -1, 53, 752,
2384: -1, 786, 787, -1, 659, 1014, 1015, -1, -1, -1,
2385: 65, -1, -1, 431, 432, -1, 434, -1, 1027, 1028,
2386: 75, -1, -1, -1, -1, 778, -1, -1, -1, -1,
2387: 85, 784, -1, 88, 89, 788, 4, 5, 6, 7,
2388: -1, -1, -1, -1, 12, -1, 603, 604, 605, -1,
2389: 1330, 804, -1, 806, 611, -1, -1, -1, -1, 27,
2390: 845, 846, -1, 31, -1, -1, -1, 35, -1, -1,
2391: -1, -1, -1, -1, -1, -1, -1, -1, -1, 832,
2392: -1, -1, 1331, 51, -1, 53, -1, -1, 277, 278,
2393: 279, -1, -1, 748, 847, -1, -1, -1, -1, 517,
2394: 518, -1, 659, -1, 522, 890, 891, -1, 861, -1,
2395: -1, 837, 838, 839, 840, 1124, 3, 4, 844, 845,
2396: 846, 847, -1, 778, 877, -1, 879, -1, -1, 784,
2397: -1, -1, -1, 788, -1, -1, -1, -1, -1, -1,
2398: 925, -1, -1, -1, -1, -1, 872, -1, -1, 804,
2399: -1, -1, -1, -1, 41, 940, 941, -1, -1, -1,
2400: -1, -1, -1, -1, 51, -1, 53, -1, -1, -1,
2401: -1, 360, -1, 362, 363, 364, -1, -1, 65, 597,
2402: 598, 1190, 1191, -1, 1193, 1194, -1, -1, 75, 607,
2403: -1, 748, 847, -1, -1, 613, 83, -1, -1, -1,
2404: 953, 88, -1, -1, -1, -1, 861, -1, -1, -1,
2405: -1, 1, -1, 3, 4, 5, 6, 7, -1, -1,
2406: -1, 778, 12, -1, 879, -1, -1, 784, -1, 786,
2407: 787, 788, -1, 986, -1, 988, -1, 27, -1, 657,
2408: -1, 31, 995, -1, -1, 35, 36, 804, -1, 3,
2409: 4, 41, -1, 7, -1, -1, -1, -1, 3, 4,
2410: -1, 51, 7, 53, -1, -1, 56, -1, -1, -1,
2411: 60, -1, -1, 999, 1000, 65, 1002, 1030, -1, -1,
2412: -1, -1, 839, 840, 76, 75, -1, 41, 845, 846,
2413: 847, 1300, -1, 83, -1, -1, 41, 51, 88, 53,
2414: -1, -1, -1, -1, 861, -1, 51, 99, 53, -1,
2415: -1, 65, -1, 103, -1, -1, -1, -1, 3, 4,
2416: 65, 75, 879, 512, -1, 514, -1, -1, 1081, 83,
2417: 75, -1, 521, -1, 88, -1, 754, 755, 83, 757,
2418: -1, -1, -1, 88, 136, -1, -1, 1, -1, 3,
2419: 4, 5, 6, 7, -1, -1, 41, -1, 12, -1,
2420: -1, -1, -1, 552, -1, 783, 51, -1, 53, -1,
2421: -1, -1, -1, 27, -1, 60, 1102, 31, -1, -1,
2422: 65, 35, 36, 940, 941, -1, -1, 41, -1, -1,
2423: 75, -1, 1177, 1178, -1, -1, -1, 51, 83, 53,
2424: -1, -1, 1155, 88, -1, -1, 60, -1, -1, -1,
2425: 1163, 65, -1, 1166, -1, 604, 605, -1, -1, -1,
2426: -1, 75, 611, -1, -1, 843, 1179, -1, -1, 83,
2427: -1, 1184, 1185, -1, 88, -1, -1, 855, 856, 857,
2428: -1, -1, -1, -1, -1, -1, -1, -1, -1, 103,
2429: -1, 1177, 1178, 1179, -1, -1, 1209, -1, -1, -1,
2430: -1, -1, -1, 1216, -1, -1, -1, 259, -1, -1,
2431: 1223, -1, 4, 1226, 6, 7, -1, -1, -1, -1,
2432: 12, -1, -1, -1, 3, 4, 5, 6, 7, 678,
2433: -1, -1, -1, 12, 1247, 27, -1, 1250, -1, 31,
2434: -1, -1, -1, 35, 1257, -1, -1, 1, 1163, 3,
2435: 4, 5, 6, 7, -1, 933, 35, -1, 12, 51,
2436: -1, 53, 41, -1, 1179, 44, -1, -1, 1281, 1184,
2437: 1185, -1, 51, 27, 53, -1, -1, 31, -1, -1,
2438: -1, 35, 36, 1296, -1, -1, 65, 41, -1, 341,
2439: 342, -1, -1, -1, 1209, -1, 75, 51, 1311, 53,
2440: -1, -1, 56, -1, 83, -1, 60, -1, -1, 88,
2441: -1, 65, -1, -1, -1, 1328, 1329, -1, 1331, -1,
2442: 769, 75, 771, -1, -1, -1, -1, -1, -1, 83,
2443: -1, -1, -1, 782, 88, -1, 388, -1, 787, 788,
2444: 1018, -1, -1, -1, -1, -1, 1163, -1, -1, 103,
2445: -1, -1, -1, -1, -1, 4, -1, 6, 7, 411,
2446: 1177, 1178, 1179, 12, -1, -1, -1, 1184, 1185, -1,
2447: -1, -1, -1, -1, -1, -1, -1, -1, 27, -1,
2448: -1, -1, 31, -1, 436, 1063, 35, -1, 837, 838,
2449: -1, 840, 1209, -1, -1, 844, -1, 846, 847, 3,
2450: 4, -1, 51, 7, 53, 54, -1, -1, 460, -1,
2451: -1, 463, -1, -1, 466, 467, 1331, 469, 470, 471,
2452: 472, 473, 474, 475, 476, 477, 478, 479, 480, 481,
2453: 482, 483, 484, 485, 486, 487, -1, 41, -1, 88,
2454: 44, 493, -1, 495, 496, -1, -1, 51, -1, 53,
2455: 3, 4, 5, 6, 7, -1, -1, 10, -1, 12,
2456: -1, 65, 4, -1, 6, 7, -1, -1, -1, 521,
2457: 12, 75, -1, -1, 27, 527, 4, -1, 31, 83,
2458: -1, 85, 35, -1, 88, 89, -1, -1, 41, -1,
2459: 542, 543, 941, 35, -1, -1, 24, 25, 51, 27,
2460: 53, -1, 44, -1, -1, 33, -1, -1, -1, 51,
2461: -1, 53, 65, -1, 1331, -1, 44, -1, 46, -1,
2462: -1, -1, 75, 65, -1, -1, -1, -1, -1, 581,
2463: 83, -1, -1, 75, -1, 88, 588, -1, 66, -1,
2464: 93, -1, -1, 85, -1, -1, 88, 89, -1, -1,
2465: 999, 1000, 1, 1002, 3, 4, 5, 6, 7, 611,
2466: -1, -1, -1, 12, -1, -1, -1, 95, -1, -1,
2467: 622, -1, -1, 101, -1, 103, -1, 105, 27, -1,
2468: 108, 109, 31, -1, -1, -1, 35, -1, -1, -1,
2469: -1, 119, 41, 121, 122, -1, 45, -1, -1, -1,
2470: -1, -1, 51, -1, 53, -1, 658, 56, -1, -1,
2471: -1, 139, 140, 141, -1, -1, 65, -1, -1, -1,
2472: -1, 149, -1, -1, -1, -1, 75, -1, -1, -1,
2473: -1, -1, -1, -1, 83, -1, -1, 165, -1, 88,
2474: -1, 693, -1, -1, -1, 94, 1, -1, 3, 4,
2475: -1, 6, 7, 8, 9, 183, 11, 12, -1, -1,
2476: -1, -1, 714, -1, -1, 193, -1, -1, -1, -1,
2477: -1, -1, 27, 28, 29, 30, 31, -1, 33, -1,
2478: 35, -1, 37, 38, -1, 40, 41, 42, 43, -1,
2479: -1, 46, 47, 48, 49, 50, 51, -1, 53, 751,
2480: 752, -1, -1, -1, -1, 60, -1, 62, -1, -1,
2481: 65, -1, -1, 765, -1, 767, -1, -1, 73, 74,
2482: 75, -1, -1, -1, -1, -1, 81, 82, 83, -1,
2483: -1, -1, -1, 88, -1, -1, -1, 92, -1, -1,
2484: -1, -1, -1, -1, 796, -1, -1, 275, -1, 104,
2485: -1, -1, -1, -1, -1, 283, 808, 285, -1, 3,
2486: 4, -1, 6, 7, 8, 9, -1, 11, 12, 821,
2487: -1, 823, -1, 825, -1, -1, -1, -1, -1, -1,
2488: -1, -1, -1, 27, 28, 313, -1, 31, 316, 33,
2489: -1, 35, 320, 37, 38, -1, 40, 41, 42, 43,
2490: 852, -1, 46, 47, 48, 49, 50, 51, -1, 53,
2491: -1, -1, -1, -1, 866, 867, -1, -1, 62, -1,
2492: -1, 65, -1, -1, -1, -1, -1, 3, 4, 73,
2493: 74, 75, 360, 361, 362, 363, -1, 81, 82, 83,
2494: 368, -1, -1, -1, 88, -1, 374, -1, 376, -1,
2495: 378, 379, 904, 905, -1, -1, 908, 385, -1, -1,
2496: 104, -1, -1, 391, -1, 41, 394, -1, 1, -1,
2497: 3, 4, 5, 6, 7, 51, -1, 53, -1, 12,
2498: -1, 3, 4, -1, 60, 413, 414, -1, 416, 65,
2499: -1, -1, -1, -1, 27, -1, -1, -1, 31, 75,
2500: -1, -1, 35, 36, -1, -1, -1, 83, 41, 961,
2501: -1, -1, 88, -1, -1, -1, -1, 4, 51, 41,
2502: 53, 973, -1, -1, 3, 4, -1, 60, 7, 51,
2503: -1, 53, 65, -1, -1, -1, -1, 24, 25, -1,
2504: 27, -1, 75, 65, -1, -1, 33, -1, -1, -1,
2505: 83, -1, -1, 75, -1, 88, -1, 44, -1, 46,
2506: -1, 83, 41, -1, -1, 44, 88, -1, -1, 1021,
2507: 103, -1, 51, -1, 53, 3, 4, 5, 6, 7,
2508: -1, 509, 10, 1035, 12, -1, 65, -1, 1040, -1,
2509: 1042, -1, -1, 521, -1, -1, 75, -1, -1, 27,
2510: -1, -1, -1, 31, 83, -1, 85, 35, 95, 88,
2511: 89, -1, -1, 41, 101, -1, 44, -1, 105, -1,
2512: -1, 108, 109, 51, 552, 53, -1, -1, -1, -1,
2513: -1, -1, 119, -1, 121, 122, -1, 65, -1, -1,
2514: -1, 4, -1, 6, 7, -1, -1, 75, -1, 12,
2515: 1102, -1, 139, 140, 141, 83, -1, 85, -1, -1,
2516: 88, 89, 1114, 1115, 27, 93, -1, -1, 31, -1,
2517: 1122, 1123, 35, -1, -1, 603, 604, 605, 165, -1,
2518: -1, -1, -1, 611, -1, -1, -1, -1, 51, -1,
2519: 53, 1143, -1, -1, -1, -1, 183, -1, -1, 627,
2520: 628, -1, 630, -1, -1, -1, 193, -1, -1, -1,
2521: -1, -1, 1164, 68, 69, 70, 71, 72, 73, 74,
2522: 75, 76, 77, 78, 79, 88, -1, 1, -1, 3,
2523: 4, 659, 6, 7, 8, 9, 1188, 11, 12, -1,
2524: -1, -1, -1, 1195, 1196, -1, -1, 1199, -1, -1,
2525: -1, -1, 1204, 27, 28, 29, 30, 31, -1, 33,
2526: -1, 35, -1, 37, 38, 693, 40, 41, 42, 43,
2527: -1, -1, 46, 47, 48, 49, 50, 51, -1, 53,
2528: 54, -1, -1, -1, 3, 4, -1, -1, 62, -1,
2529: -1, 65, -1, -1, -1, -1, -1, 284, 285, 73,
2530: 74, 75, -1, -1, -1, -1, -1, 81, 82, 83,
2531: -1, 1263, 1264, 1265, 88, 89, -1, -1, 92, -1,
2532: -1, -1, 41, -1, -1, -1, 313, -1, -1, 316,
2533: 104, -1, 51, 320, 53, -1, -1, -1, -1, -1,
2534: 27, -1, -1, -1, -1, -1, 65, -1, -1, -1,
2535: -1, -1, 339, -1, -1, -1, 75, 44, 786, 787,
2536: -1, -1, -1, -1, 83, -1, -1, -1, -1, 88,
2537: -1, -1, -1, 360, 361, 362, 363, -1, 1330, -1,
2538: -1, 368, -1, -1, -1, -1, -1, 374, -1, 376,
2539: -1, 378, 379, -1, -1, -1, -1, -1, 385, -1,
2540: -1, -1, -1, -1, 391, -1, -1, 394, 95, 837,
2541: 838, 839, 840, -1, 842, -1, 844, 845, 846, 847,
2542: -1, 108, 109, -1, -1, -1, 413, 414, -1, 416,
2543: -1, -1, -1, -1, 121, -1, -1, -1, -1, -1,
2544: -1, -1, -1, -1, 872, -1, -1, 875, -1, 877,
2545: -1, -1, 139, 140, 141, -1, -1, -1, -1, -1,
2546: -1, -1, 890, 891, -1, 1, -1, 3, 4, 5,
2547: 6, 7, 8, 9, -1, 11, 12, 13, 165, 15,
2548: 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
2549: 26, 27, 28, 29, 30, 31, -1, 33, -1, 35,
2550: -1, 37, 38, -1, 40, 41, 42, 43, -1, -1,
2551: 46, 47, 48, 49, 50, 51, 944, 53, 54, -1,
2552: 56, -1, -1, -1, -1, 953, 62, -1, -1, 65,
2553: -1, -1, -1, -1, 521, -1, -1, 73, 74, 75,
2554: -1, -1, -1, -1, 231, 81, 82, 83, -1, -1,
2555: -1, -1, 88, -1, 90, -1, 92, 985, 986, 987,
2556: -1, -1, -1, -1, -1, 552, -1, 103, 104, -1,
2557: -1, 999, 1000, -1, 1002, 3, 4, -1, -1, 7,
2558: -1, 4, 5, 6, 7, -1, -1, 10, -1, 12,
2559: 277, 278, 279, -1, -1, -1, -1, -1, 285, -1,
2560: -1, -1, 1030, -1, 27, -1, -1, -1, 31, -1,
2561: -1, -1, 35, 41, -1, -1, 603, 604, 605, -1,
2562: -1, 44, -1, 51, 611, 53, -1, -1, 51, -1,
2563: 53, -1, -1, -1, -1, -1, -1, 65, -1, -1,
2564: 627, 628, 65, 630, -1, -1, -1, 75, -1, -1,
2565: -1, -1, 75, -1, -1, 83, -1, -1, -1, -1,
2566: 88, -1, 85, -1, -1, 88, 89, -1, -1, -1,
2567: 93, -1, 659, 360, 1102, 362, 363, 364, -1, 1,
2568: -1, 3, 4, 5, 6, 7, -1, 374, -1, 376,
2569: 12, 378, 379, -1, -1, -1, 3, 4, 385, -1,
2570: 7, 277, 278, 279, 391, 27, 693, 394, -1, 31,
2571: -1, -1, -1, 35, -1, -1, -1, -1, 44, 41,
2572: -1, -1, -1, -1, -1, -1, 413, -1, -1, 51,
2573: -1, 53, -1, -1, 41, -1, -1, 44, -1, -1,
2574: 66, -1, -1, 65, 51, -1, 53, -1, -1, 1177,
2575: 1178, 1179, -1, 75, -1, -1, 3, 4, 65, 85,
2576: 7, 83, -1, -1, -1, -1, 88, -1, 75, 95,
2577: -1, -1, -1, -1, -1, -1, 83, -1, 85, -1,
2578: -1, 88, 89, -1, 360, -1, 362, 363, 364, -1,
2579: -1, -1, -1, 1221, 41, 121, -1, -1, -1, 786,
2580: 787, -1, -1, -1, 51, -1, 53, 794, -1, -1,
2581: -1, -1, 499, 139, 140, 141, -1, -1, 65, -1,
2582: -1, -1, -1, 149, 511, 512, -1, 514, 75, -1,
2583: -1, -1, 819, -1, 521, -1, 83, -1, -1, 165,
2584: -1, 88, -1, -1, -1, -1, -1, -1, -1, -1,
2585: 837, 838, 839, 840, -1, -1, -1, 844, 845, 846,
2586: 847, -1, -1, -1, -1, 552, -1, -1, -1, 195,
2587: -1, -1, 4, -1, -1, -1, -1, -1, -1, -1,
2588: -1, -1, -1, -1, -1, 872, -1, -1, 875, -1,
2589: 877, -1, 24, 25, -1, -1, -1, 4, -1, 6,
2590: 7, 33, -1, 890, 891, 12, -1, -1, -1, -1,
2591: -1, -1, -1, -1, 46, -1, 603, 604, 605, -1,
2592: -1, -1, -1, -1, 611, -1, -1, -1, 35, -1,
2593: -1, -1, -1, -1, -1, 511, 512, 44, 514, -1,
2594: 627, 628, -1, 630, 51, 521, 53, -1, 4, 5,
2595: 6, 7, -1, -1, -1, -1, 12, 283, 65, 285,
2596: -1, -1, -1, -1, -1, -1, 953, -1, 75, 101,
2597: -1, 27, 659, 105, -1, 31, 552, -1, 85, 35,
2598: -1, 88, 89, -1, -1, -1, -1, 119, -1, -1,
2599: 122, 678, 3, 4, -1, 51, 7, 53, 985, 986,
2600: 987, 688, 689, 690, -1, -1, -1, 139, 140, -1,
2601: -1, -1, 999, 1000, -1, 1002, -1, -1, -1, -1,
2602: -1, -1, -1, -1, -1, -1, -1, 603, 604, 605,
2603: 41, -1, -1, -1, 360, 611, 362, 363, -1, -1,
2604: 51, -1, 53, 1030, -1, -1, -1, -1, 374, -1,
2605: 376, 183, 378, 379, 65, -1, 3, 4, -1, 385,
2606: 7, 193, -1, -1, 75, 391, -1, -1, 394, -1,
2607: -1, -1, 83, -1, -1, -1, 12, 88, -1, -1,
2608: -1, -1, 769, -1, 771, -1, -1, 413, 24, 25,
2609: -1, 27, -1, -1, 41, 782, -1, -1, -1, 786,
2610: 787, 788, 678, -1, 51, -1, 53, -1, -1, -1,
2611: -1, -1, -1, -1, -1, 1102, 52, -1, 65, -1,
2612: -1, -1, -1, -1, -1, -1, -1, -1, 75, -1,
2613: -1, -1, -1, -1, -1, -1, 83, -1, -1, -1,
2614: -1, 88, -1, -1, -1, -1, -1, -1, -1, -1,
2615: 837, 838, 839, 840, -1, -1, -1, 844, 845, 846,
2616: 847, -1, -1, -1, -1, 101, -1, 103, 104, 105,
2617: -1, -1, 108, 109, -1, 3, 4, -1, -1, 7,
2618: -1, 313, -1, -1, 316, 872, -1, -1, 320, -1,
2619: 1177, 1178, 1179, 769, -1, 771, -1, -1, 524, -1,
2620: -1, -1, -1, -1, -1, -1, 782, -1, -1, -1,
2621: 786, 787, 788, 41, -1, -1, -1, -1, -1, -1,
2622: -1, -1, -1, 51, -1, 53, 552, -1, -1, 361,
2623: -1, -1, 919, 920, 1221, 922, 368, 65, -1, -1,
2624: -1, -1, 374, -1, 376, -1, -1, 75, -1, -1,
2625: -1, -1, -1, 940, 941, 83, -1, 193, -1, 391,
2626: 88, 837, 838, 839, 840, -1, -1, -1, 844, 845,
2627: 846, 847, -1, -1, -1, -1, -1, 603, 604, 605,
2628: -1, 413, 414, -1, 416, 611, -1, -1, -1, -1,
2629: 3, 4, 5, 6, 7, 231, -1, -1, 985, 12,
2630: 987, 627, 628, -1, 630, -1, -1, -1, -1, -1,
2631: -1, -1, 999, 1000, 27, 1002, -1, -1, 31, -1,
2632: -1, -1, 35, -1, -1, -1, -1, -1, 41, -1,
2633: -1, 44, -1, 659, -1, -1, -1, -1, 51, 275,
2634: 53, 277, 278, -1, -1, -1, -1, -1, -1, -1,
2635: -1, -1, 65, -1, -1, -1, -1, -1, -1, -1,
2636: -1, -1, 75, -1, 940, 941, -1, -1, -1, -1,
2637: 83, 307, 85, -1, -1, 88, 89, 313, -1, -1,
2638: 316, -1, -1, -1, 320, 63, 64, 65, 66, 67,
2639: 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
2640: 78, 79, 1, -1, 3, 4, 5, 6, 7, 8,
2641: 9, 10, 11, 12, -1, 1102, -1, -1, -1, -1,
2642: -1, -1, -1, 999, 1000, -1, 1002, -1, 27, 28,
2643: 29, 30, 31, -1, 33, -1, 35, -1, 37, 38,
2644: -1, 40, 41, 42, 43, -1, -1, 46, 47, 48,
2645: 49, 50, 51, -1, 53, -1, -1, -1, -1, -1,
2646: -1, -1, -1, 62, -1, -1, 65, -1, -1, -1,
2647: -1, 603, 604, -1, 73, 74, 75, -1, -1, -1,
2648: -1, -1, 81, 82, 83, -1, -1, -1, -1, 88,
2649: 1177, 1178, 1179, 92, 93, 627, 628, 433, 630, -1,
2650: -1, -1, -1, 102, -1, 104, -1, -1, -1, -1,
2651: -1, 837, 838, 839, 840, -1, 842, -1, 844, 845,
2652: 846, 847, -1, -1, -1, -1, -1, -1, -1, -1,
2653: -1, -1, -1, -1, 1221, -1, -1, -1, -1, -1,
2654: -1, -1, -1, -1, -1, -1, 872, -1, -1, -1,
2655: -1, 1, -1, 3, 4, 5, 6, 7, 8, 9,
2656: 10, 11, 12, 499, -1, -1, -1, -1, -1, -1,
2657: -1, -1, -1, 509, -1, 511, 512, 27, 28, 29,
2658: 30, 31, -1, 33, -1, 35, -1, 37, 38, -1,
2659: 40, 41, 42, 43, 44, -1, 46, 47, 48, 49,
2660: 50, 51, -1, 53, 54, -1, -1, -1, -1, -1,
2661: -1, -1, 62, -1, -1, 65, -1, 553, 944, -1,
2662: -1, -1, -1, 73, 74, 75, -1, -1, -1, -1,
2663: -1, 81, 82, 83, -1, 85, -1, -1, 88, 89,
2664: -1, -1, 92, 93, -1, -1, 3, 4, 5, 6,
2665: 7, -1, -1, -1, 104, 12, -1, -1, -1, 985,
2666: -1, 987, -1, -1, -1, -1, -1, -1, -1, -1,
2667: -1, -1, -1, 999, 1000, -1, 1002, -1, 35, -1,
2668: -1, -1, -1, -1, 41, -1, -1, 44, -1, -1,
2669: -1, -1, -1, -1, 51, -1, 53, -1, -1, -1,
2670: -1, -1, -1, -1, -1, 837, 838, -1, 65, -1,
2671: -1, -1, 844, -1, -1, -1, -1, -1, 75, -1,
2672: -1, -1, -1, -1, -1, -1, 83, -1, 85, -1,
2673: -1, 88, 89, -1, -1, -1, -1, -1, -1, -1,
2674: 872, -1, 678, 875, -1, 877, -1, -1, -1, -1,
2675: -1, -1, 688, 689, 690, -1, 1, -1, 3, 4,
2676: 5, 6, 7, 8, 9, 10, 11, 12, -1, -1,
2677: -1, -1, -1, -1, -1, -1, 1102, -1, -1, -1,
2678: -1, -1, 27, 28, 29, 30, 31, -1, 33, -1,
2679: 35, -1, 37, 38, -1, 40, 41, 42, 43, 44,
2680: -1, 46, 47, 48, 49, 50, 51, -1, 53, 54,
2681: -1, -1, -1, -1, -1, -1, -1, 62, -1, -1,
2682: 65, 953, -1, -1, 10, -1, -1, -1, 73, 74,
2683: 75, -1, -1, 769, -1, 771, 81, 82, 83, -1,
2684: 85, -1, -1, 88, 89, -1, 782, 92, 93, -1,
2685: -1, 1177, 1178, 1179, 986, -1, -1, -1, -1, 104,
2686: -1, -1, -1, -1, -1, -1, -1, 999, 1000, -1,
2687: 1002, 57, 58, 59, 60, 61, 62, 63, 64, 65,
2688: 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
2689: 76, 77, 78, 79, -1, 1221, -1, -1, 1030, -1,
2690: -1, -1, -1, -1, -1, -1, -1, -1, 1, -1,
2691: 3, 4, 5, 6, 7, 8, 9, -1, 11, 12,
2692: 13, -1, 15, 16, 17, 18, 19, 20, 21, 22,
2693: 23, 24, 25, 26, 27, 28, 29, 30, 31, 875,
2694: 33, -1, 35, -1, 37, 38, -1, 40, 41, 42,
2695: 43, -1, -1, 46, 47, 48, 49, 50, 51, -1,
2696: 53, 54, -1, 56, -1, -1, -1, -1, -1, 62,
2697: -1, -1, 65, -1, -1, -1, -1, -1, -1, -1,
2698: 73, 74, 75, 919, 920, -1, 922, -1, 81, 82,
2699: 83, -1, -1, -1, -1, 88, -1, 90, -1, 92,
2700: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2701: 103, 104, 1, -1, 3, 4, 5, 6, 7, 8,
2702: 9, -1, 11, 12, 13, -1, 15, 16, 17, 18,
2703: 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
2704: 29, 30, 31, -1, 33, -1, 35, -1, 37, 38,
2705: -1, 40, 41, 42, 43, -1, -1, 46, 47, 48,
2706: 49, 50, 51, -1, 53, 54, -1, 56, -1, -1,
2707: -1, -1, -1, 62, -1, -1, 65, -1, -1, -1,
2708: -1, -1, -1, -1, 73, 74, 75, -1, -1, -1,
2709: -1, -1, 81, 82, 83, -1, -1, -1, -1, 88,
2710: -1, 90, -1, 92, -1, -1, -1, -1, -1, -1,
2711: -1, -1, -1, -1, 103, 104, 1, -1, 3, 4,
2712: 5, 6, 7, 8, 9, -1, 11, 12, 13, -1,
2713: 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
2714: 25, 26, 27, 28, 29, 30, 31, -1, 33, -1,
2715: 35, -1, 37, 38, -1, 40, 41, 42, 43, -1,
2716: -1, 46, 47, 48, 49, 50, 51, -1, 53, 54,
2717: -1, 56, -1, -1, -1, -1, -1, 62, -1, -1,
2718: 65, -1, -1, -1, -1, -1, -1, -1, 73, 74,
2719: 75, -1, -1, -1, -1, -1, 81, 82, 83, -1,
2720: -1, -1, -1, 88, -1, 90, -1, 92, -1, -1,
2721: -1, -1, -1, -1, -1, -1, -1, -1, 103, 104,
2722: 1, -1, 3, 4, 5, 6, 7, 8, 9, -1,
2723: 11, 12, 13, -1, 15, 16, 17, 18, 19, 20,
2724: 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
2725: 31, -1, 33, -1, 35, -1, 37, 38, -1, 40,
2726: 41, 42, 43, -1, -1, 46, 47, 48, 49, 50,
2727: 51, -1, 53, 54, -1, 56, -1, -1, -1, -1,
2728: -1, 62, -1, -1, 65, -1, -1, -1, -1, -1,
2729: -1, -1, 73, 74, 75, -1, -1, -1, -1, -1,
2730: 81, 82, 83, -1, -1, -1, -1, 88, -1, 90,
2731: -1, 92, -1, -1, -1, -1, -1, -1, -1, -1,
2732: -1, -1, 103, 104, 1, -1, 3, 4, 5, 6,
2733: 7, 8, 9, -1, 11, 12, 13, -1, 15, 16,
2734: 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
2735: 27, 28, 29, 30, 31, -1, 33, -1, 35, -1,
2736: 37, 38, -1, 40, 41, 42, 43, -1, -1, 46,
2737: 47, 48, 49, 50, 51, -1, 53, 54, -1, 56,
2738: -1, -1, -1, -1, -1, 62, -1, -1, 65, -1,
2739: -1, -1, -1, -1, -1, -1, 73, 74, 75, -1,
2740: -1, -1, -1, -1, 81, 82, 83, -1, -1, -1,
2741: -1, 88, -1, 90, 1, 92, 3, 4, 5, 6,
2742: 7, 8, 9, -1, 11, 12, 13, 104, 15, 16,
2743: 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
2744: 27, 28, 29, 30, 31, -1, 33, -1, 35, -1,
2745: 37, 38, -1, 40, 41, 42, 43, -1, -1, 46,
2746: 47, 48, 49, 50, 51, -1, 53, 54, -1, 56,
2747: -1, -1, -1, -1, -1, 62, -1, -1, 65, -1,
2748: -1, -1, -1, -1, -1, -1, 73, 74, 75, -1,
2749: -1, -1, -1, -1, 81, 82, 83, -1, -1, -1,
2750: -1, 88, -1, 90, 1, 92, 3, 4, 5, 6,
2751: 7, 8, 9, -1, 11, 12, 13, 104, 15, 16,
2752: 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
2753: 27, 28, 29, 30, 31, -1, 33, -1, 35, -1,
2754: 37, 38, -1, 40, 41, 42, 43, -1, -1, 46,
2755: 47, 48, 49, 50, 51, -1, 53, 54, -1, 56,
2756: -1, -1, -1, -1, -1, 62, -1, -1, 65, -1,
2757: -1, -1, -1, -1, -1, -1, 73, 74, 75, -1,
2758: -1, -1, -1, -1, 81, 82, 83, -1, -1, -1,
2759: -1, 88, -1, 90, 1, 92, 3, 4, 5, 6,
2760: 7, 8, 9, 10, 11, 12, -1, 104, -1, -1,
2761: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2762: 27, 28, 29, 30, 31, -1, 33, -1, 35, -1,
2763: 37, 38, -1, 40, 41, 42, 43, -1, -1, 46,
2764: 47, 48, 49, 50, 51, -1, 53, -1, -1, -1,
2765: -1, -1, -1, -1, -1, 62, -1, -1, 65, -1,
2766: -1, -1, -1, -1, -1, -1, 73, 74, 75, -1,
2767: -1, -1, -1, -1, 81, 82, 83, -1, -1, -1,
2768: -1, 88, -1, -1, -1, 92, 93, -1, -1, -1,
2769: -1, -1, -1, -1, -1, 102, 1, 104, 3, 4,
2770: -1, 6, 7, 8, 9, -1, 11, 12, 66, 67,
2771: 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
2772: 78, 79, 27, 28, 29, 30, 31, -1, 33, -1,
2773: 35, -1, 37, 38, -1, 40, 41, 42, 43, -1,
2774: -1, 46, 47, 48, 49, 50, 51, -1, 53, 54,
2775: -1, -1, -1, -1, -1, -1, -1, 62, -1, -1,
2776: 65, -1, -1, -1, -1, -1, -1, -1, 73, 74,
2777: 75, -1, -1, -1, -1, -1, 81, 82, 83, -1,
2778: -1, -1, -1, 88, 89, -1, 1, 92, 3, 4,
2779: -1, 6, 7, 8, 9, -1, 11, 12, 103, 104,
2780: -1, -1, -1, -1, 19, -1, -1, -1, -1, -1,
2781: -1, -1, 27, 28, 29, 30, 31, -1, 33, -1,
2782: 35, -1, 37, 38, -1, 40, 41, 42, 43, -1,
2783: -1, 46, 47, 48, 49, 50, 51, -1, 53, 54,
2784: -1, -1, -1, -1, -1, -1, -1, 62, -1, -1,
2785: 65, -1, -1, -1, -1, -1, -1, -1, 73, 74,
2786: 75, -1, -1, -1, -1, -1, 81, 82, 83, -1,
2787: -1, -1, -1, 88, -1, -1, 1, 92, 3, 4,
2788: -1, 6, 7, 8, 9, -1, 11, 12, 103, 104,
2789: -1, -1, -1, -1, 19, -1, -1, -1, -1, -1,
2790: -1, -1, 27, 28, 29, 30, 31, -1, 33, -1,
2791: 35, -1, 37, 38, -1, 40, 41, 42, 43, -1,
2792: -1, 46, 47, 48, 49, 50, 51, -1, 53, 54,
2793: -1, -1, -1, -1, -1, -1, -1, 62, -1, -1,
2794: 65, -1, -1, -1, -1, -1, -1, -1, 73, 74,
2795: 75, -1, -1, -1, -1, -1, 81, 82, 83, -1,
2796: -1, -1, -1, 88, -1, -1, 1, 92, 3, 4,
2797: 5, 6, 7, 8, 9, -1, 11, 12, 103, 104,
2798: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2799: -1, -1, 27, 28, 29, 30, 31, -1, 33, -1,
2800: 35, -1, 37, 38, -1, 40, 41, 42, 43, -1,
2801: -1, 46, 47, 48, 49, 50, 51, -1, 53, 54,
2802: -1, 56, -1, -1, -1, -1, -1, 62, -1, -1,
2803: 65, -1, -1, -1, -1, -1, -1, -1, 73, 74,
2804: 75, -1, -1, -1, -1, -1, 81, 82, 83, 1,
2805: -1, -1, 4, 88, 6, 7, -1, 92, -1, -1,
2806: 12, -1, -1, -1, -1, -1, -1, -1, -1, 104,
2807: -1, -1, -1, -1, -1, 27, -1, -1, -1, 31,
2808: -1, -1, -1, 35, -1, 37, 38, -1, -1, -1,
2809: -1, -1, 44, -1, -1, -1, -1, -1, -1, 51,
2810: -1, 53, -1, 55, -1, 57, 58, 59, -1, 61,
2811: 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
2812: 72, 73, 74, 75, 76, 77, 78, -1, -1, 81,
2813: 82, 83, -1, 1, 86, 3, 4, 89, 6, 7,
2814: 8, 9, -1, 11, 12, -1, -1, -1, -1, -1,
2815: -1, -1, 104, -1, -1, -1, -1, -1, -1, 27,
2816: 28, 29, 30, 31, -1, 33, -1, 35, -1, 37,
2817: 38, -1, 40, 41, 42, 43, -1, -1, 46, 47,
2818: 48, 49, 50, 51, -1, 53, 54, -1, -1, -1,
2819: -1, -1, -1, -1, 62, -1, -1, 65, -1, -1,
2820: -1, -1, -1, -1, -1, 73, 74, 75, -1, -1,
2821: -1, -1, -1, 81, 82, 83, -1, -1, -1, -1,
2822: 88, -1, -1, 1, 92, 3, 4, -1, 6, 7,
2823: 8, 9, -1, 11, 12, -1, 104, -1, -1, -1,
2824: -1, -1, -1, -1, -1, -1, -1, -1, -1, 27,
2825: 28, 29, 30, 31, -1, 33, -1, 35, -1, 37,
2826: 38, -1, 40, 41, 42, 43, -1, -1, 46, 47,
2827: 48, 49, 50, 51, -1, 53, 54, -1, -1, -1,
2828: -1, -1, -1, -1, 62, -1, -1, 65, -1, -1,
2829: -1, -1, -1, -1, -1, 73, 74, 75, -1, -1,
2830: -1, -1, -1, 81, 82, 83, -1, -1, -1, -1,
2831: 88, -1, -1, 1, 92, 3, 4, -1, 6, 7,
2832: 8, 9, -1, 11, 12, -1, 104, -1, -1, -1,
2833: -1, -1, -1, -1, -1, -1, -1, -1, -1, 27,
2834: 28, 29, 30, 31, -1, 33, -1, 35, -1, 37,
2835: 38, -1, 40, 41, 42, 43, -1, -1, 46, 47,
2836: 48, 49, 50, 51, -1, 53, 54, -1, -1, -1,
2837: -1, -1, -1, -1, 62, -1, -1, 65, -1, -1,
2838: -1, -1, -1, -1, -1, 73, 74, 75, -1, -1,
2839: -1, -1, -1, 81, 82, 83, -1, -1, -1, -1,
2840: 88, -1, -1, 1, 92, 3, 4, -1, 6, 7,
2841: 8, 9, -1, 11, 12, -1, 104, -1, -1, -1,
2842: -1, -1, -1, -1, -1, -1, -1, -1, -1, 27,
2843: 28, 29, 30, 31, -1, 33, -1, 35, -1, 37,
2844: 38, -1, 40, 41, 42, 43, -1, -1, 46, 47,
2845: 48, 49, 50, 51, -1, 53, -1, -1, 56, -1,
2846: -1, -1, -1, -1, 62, -1, -1, 65, -1, -1,
2847: -1, -1, -1, -1, -1, 73, 74, 75, -1, -1,
2848: -1, -1, -1, 81, 82, 83, -1, -1, -1, -1,
2849: 88, -1, -1, 1, 92, 3, 4, -1, 6, 7,
2850: 8, 9, -1, 11, 12, -1, 104, -1, -1, -1,
2851: -1, -1, -1, -1, -1, -1, -1, -1, -1, 27,
2852: 28, 29, 30, 31, -1, 33, -1, 35, -1, 37,
2853: 38, -1, 40, 41, 42, 43, -1, -1, 46, 47,
2854: 48, 49, 50, 51, -1, 53, -1, -1, -1, -1,
2855: -1, -1, -1, -1, 62, -1, -1, 65, -1, -1,
2856: -1, -1, -1, -1, -1, 73, 74, 75, -1, -1,
2857: -1, -1, -1, 81, 82, 83, -1, -1, -1, -1,
2858: 88, -1, -1, -1, 92, -1, -1, -1, -1, -1,
2859: -1, -1, -1, -1, 102, 1, 104, 3, 4, -1,
2860: 6, 7, 8, 9, -1, 11, 12, 67, 68, 69,
2861: 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
2862: -1, 27, 28, 29, 30, 31, -1, 33, -1, 35,
2863: -1, 37, 38, -1, 40, 41, 42, 43, -1, -1,
2864: 46, 47, 48, 49, 50, 51, -1, 53, -1, -1,
2865: -1, -1, -1, -1, -1, -1, 62, -1, -1, 65,
2866: -1, -1, -1, -1, -1, -1, -1, 73, 74, 75,
2867: -1, -1, -1, -1, -1, 81, 82, 83, -1, -1,
2868: -1, -1, 88, -1, -1, 1, 92, 3, 4, -1,
2869: 6, 7, 8, 9, -1, 11, 12, -1, 104, -1,
2870: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2871: -1, 27, 28, 29, 30, 31, -1, 33, -1, 35,
2872: -1, 37, 38, -1, 40, 41, 42, 43, -1, -1,
2873: 46, 47, 48, 49, 50, 51, -1, 53, -1, -1,
2874: -1, -1, -1, -1, -1, -1, 62, -1, -1, 65,
2875: -1, -1, -1, -1, -1, -1, -1, 73, 74, 75,
2876: -1, -1, -1, -1, -1, 81, 82, 83, -1, -1,
2877: -1, -1, 88, -1, 3, 4, 92, 6, 7, 8,
2878: 9, -1, 11, 12, -1, -1, -1, -1, 104, -1,
2879: -1, -1, -1, -1, -1, -1, -1, -1, 27, 28,
2880: 29, 30, 31, -1, 33, -1, 35, -1, 37, 38,
2881: -1, 40, 41, 42, 43, -1, -1, 46, 47, 48,
2882: 49, 50, 51, -1, 53, -1, -1, -1, -1, -1,
2883: -1, -1, -1, 62, -1, -1, 65, -1, -1, -1,
2884: -1, -1, -1, -1, 73, 74, 75, -1, -1, -1,
2885: -1, -1, 81, 82, 83, -1, -1, -1, -1, 88,
2886: -1, -1, -1, 92, -1, -1, -1, -1, -1, -1,
2887: -1, -1, -1, -1, -1, 104, 105, 3, 4, 5,
2888: 6, 7, 8, 9, -1, 11, 12, 13, -1, 15,
2889: 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
2890: 26, 27, 28, 29, 30, 31, -1, 33, -1, 35,
2891: -1, 37, 38, -1, 40, 41, 42, 43, -1, -1,
2892: 46, 47, 48, 49, 50, 51, -1, 53, 54, -1,
2893: 56, -1, -1, -1, -1, -1, 62, -1, -1, 65,
2894: -1, -1, -1, -1, -1, -1, -1, 73, 74, 75,
2895: -1, -1, -1, -1, -1, 81, 82, 83, -1, -1,
2896: -1, -1, 88, -1, 90, -1, 92, -1, -1, -1,
2897: -1, -1, -1, -1, -1, -1, -1, 103, 104, 3,
2898: 4, 5, 6, 7, 8, 9, -1, 11, 12, 13,
2899: -1, 15, 16, 17, 18, 19, 20, 21, 22, 23,
2900: 24, 25, 26, 27, 28, 29, 30, 31, -1, 33,
2901: -1, 35, -1, 37, 38, -1, 40, 41, 42, 43,
2902: -1, -1, 46, 47, 48, 49, 50, 51, -1, 53,
2903: 54, -1, 56, -1, -1, -1, -1, -1, 62, -1,
2904: -1, 65, -1, -1, -1, -1, -1, -1, -1, 73,
2905: 74, 75, -1, -1, -1, -1, -1, 81, 82, 83,
2906: -1, -1, -1, -1, 88, -1, 90, -1, 92, 3,
2907: 4, 5, 6, 7, 8, 9, -1, 11, 12, 13,
2908: 104, 15, 16, 17, 18, 19, 20, 21, 22, 23,
2909: 24, 25, 26, 27, 28, 29, 30, 31, -1, 33,
2910: -1, 35, -1, 37, 38, -1, 40, 41, 42, 43,
2911: -1, -1, 46, 47, 48, 49, 50, 51, -1, 53,
2912: 54, -1, 56, -1, -1, -1, -1, -1, 62, -1,
2913: -1, 65, -1, -1, -1, -1, -1, -1, -1, 73,
2914: 74, 75, -1, -1, -1, -1, -1, 81, 82, 83,
2915: -1, -1, -1, -1, 88, -1, 90, -1, 92, 3,
2916: 4, 5, 6, 7, 8, 9, -1, 11, 12, 13,
2917: 104, 15, 16, 17, 18, 19, 20, 21, 22, 23,
2918: 24, 25, 26, 27, 28, 29, 30, 31, -1, 33,
2919: -1, 35, -1, 37, 38, -1, 40, 41, 42, 43,
2920: -1, -1, 46, 47, 48, 49, 50, 51, -1, 53,
2921: -1, -1, 56, -1, -1, -1, -1, -1, 62, -1,
2922: -1, 65, -1, -1, -1, -1, -1, -1, -1, 73,
2923: 74, 75, -1, -1, -1, -1, -1, 81, 82, 83,
2924: -1, -1, -1, -1, 88, -1, 90, -1, 92, 3,
2925: 4, 5, 6, 7, 8, 9, 10, 11, 12, -1,
2926: 104, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2927: -1, -1, -1, 27, 28, 29, 30, 31, -1, 33,
2928: -1, 35, -1, 37, 38, -1, 40, 41, 42, 43,
2929: 44, -1, 46, 47, 48, 49, 50, 51, -1, 53,
2930: -1, -1, -1, -1, -1, -1, -1, -1, 62, -1,
2931: -1, 65, -1, -1, -1, -1, -1, -1, -1, 73,
2932: 74, 75, -1, -1, -1, -1, -1, 81, 82, 83,
2933: -1, 85, -1, -1, 88, 89, -1, -1, 92, 93,
2934: 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
2935: 104, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2936: -1, -1, -1, -1, 27, 28, 29, 30, 31, -1,
2937: 33, -1, 35, -1, 37, 38, -1, 40, 41, 42,
2938: 43, 44, -1, 46, 47, 48, 49, 50, 51, -1,
2939: 53, -1, -1, -1, -1, -1, -1, -1, -1, 62,
2940: -1, -1, 65, -1, -1, -1, -1, -1, -1, -1,
2941: 73, 74, 75, -1, -1, -1, -1, -1, 81, 82,
2942: 83, -1, 85, -1, -1, 88, 89, -1, -1, 92,
2943: 93, 3, 4, -1, 6, 7, 8, 9, -1, 11,
2944: 12, 104, -1, -1, -1, -1, -1, -1, -1, -1,
2945: -1, -1, -1, -1, -1, 27, 28, 29, 30, 31,
2946: -1, 33, -1, 35, -1, 37, 38, -1, 40, 41,
2947: 42, 43, 44, -1, 46, 47, 48, 49, 50, 51,
2948: -1, 53, -1, -1, -1, -1, -1, -1, -1, -1,
2949: 62, -1, -1, 65, -1, -1, -1, -1, -1, -1,
2950: -1, 73, 74, 75, -1, -1, -1, -1, -1, 81,
2951: 82, 83, -1, 85, -1, -1, 88, 89, 3, 4,
2952: -1, 6, 7, 8, 9, -1, 11, 12, -1, -1,
2953: -1, -1, 104, -1, -1, -1, -1, -1, -1, -1,
2954: -1, -1, 27, 28, 29, 30, 31, -1, 33, -1,
2955: 35, -1, 37, 38, -1, 40, 41, 42, 43, 44,
2956: -1, 46, 47, 48, 49, 50, 51, -1, 53, -1,
2957: -1, -1, -1, -1, -1, -1, -1, 62, -1, -1,
2958: 65, -1, -1, -1, -1, -1, -1, -1, 73, 74,
2959: 75, -1, -1, -1, -1, -1, 81, 82, 83, -1,
2960: 85, -1, -1, 88, 89, 3, 4, -1, 6, 7,
2961: 8, 9, -1, 11, 12, -1, -1, -1, -1, 104,
2962: -1, -1, -1, -1, -1, -1, -1, -1, -1, 27,
2963: 28, 29, 30, 31, -1, 33, -1, 35, -1, 37,
2964: 38, -1, 40, 41, 42, 43, 44, -1, 46, 47,
2965: 48, 49, 50, 51, -1, 53, -1, -1, -1, -1,
2966: -1, -1, -1, -1, 62, -1, -1, 65, -1, -1,
2967: -1, -1, -1, -1, -1, 73, 74, 75, -1, -1,
2968: -1, -1, -1, 81, 82, 83, -1, 85, -1, -1,
2969: 88, 89, 3, 4, -1, 6, 7, 8, 9, -1,
2970: 11, 12, -1, -1, -1, -1, 104, -1, -1, -1,
2971: -1, -1, -1, -1, -1, -1, 27, 28, 29, 30,
2972: 31, -1, 33, -1, 35, -1, 37, 38, -1, 40,
2973: 41, 42, 43, -1, -1, 46, 47, 48, 49, 50,
2974: 51, -1, 53, -1, -1, -1, -1, -1, -1, -1,
2975: -1, 62, -1, -1, 65, -1, -1, -1, -1, 70,
2976: -1, -1, 73, 74, 75, -1, -1, -1, -1, -1,
2977: 81, 82, 83, -1, -1, -1, -1, 88, -1, 3,
2978: 4, 92, 6, 7, 8, 9, -1, 11, 12, -1,
2979: -1, -1, -1, 104, -1, -1, -1, -1, -1, -1,
2980: -1, -1, -1, 27, 28, 29, 30, 31, -1, 33,
2981: -1, 35, -1, 37, 38, -1, 40, 41, 42, 43,
2982: -1, -1, 46, 47, 48, 49, 50, 51, -1, 53,
2983: -1, -1, 56, -1, -1, -1, -1, -1, 62, -1,
2984: -1, 65, -1, -1, -1, -1, -1, -1, -1, 73,
2985: 74, 75, -1, -1, -1, -1, -1, 81, 82, 83,
2986: -1, -1, -1, -1, 88, -1, 3, 4, 92, 6,
2987: 7, 8, 9, -1, 11, 12, -1, -1, -1, -1,
2988: 104, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2989: 27, 28, 29, 30, 31, -1, 33, -1, 35, -1,
2990: 37, 38, -1, 40, 41, 42, 43, -1, -1, 46,
2991: 47, 48, 49, 50, 51, -1, 53, -1, -1, -1,
2992: -1, -1, -1, -1, -1, 62, -1, -1, 65, -1,
2993: -1, -1, -1, -1, -1, -1, 73, 74, 75, -1,
2994: -1, -1, -1, -1, 81, 82, 83, -1, -1, -1,
2995: -1, 88, -1, 3, 4, 92, 6, 7, 8, 9,
2996: -1, 11, 12, -1, -1, -1, -1, 104, -1, -1,
2997: -1, -1, -1, -1, -1, -1, -1, 27, 28, 29,
2998: 30, 31, -1, 33, -1, 35, -1, 37, 38, -1,
2999: 40, 41, 42, 43, -1, -1, 46, 47, 48, 49,
3000: 50, 51, -1, 53, 54, -1, -1, -1, -1, -1,
3001: -1, -1, 62, -1, -1, 65, -1, -1, -1, -1,
3002: -1, -1, -1, 73, 74, 75, -1, -1, -1, -1,
3003: -1, 81, 82, 83, -1, -1, 3, 4, 88, 6,
3004: 7, 8, 9, -1, 11, 12, -1, -1, -1, -1,
3005: -1, -1, -1, -1, 104, -1, -1, -1, -1, -1,
3006: 27, 28, 29, 30, 31, -1, 33, -1, 35, -1,
3007: 37, 38, -1, 40, 41, 42, 43, -1, -1, 46,
3008: 47, 48, 49, 50, 51, -1, 53, -1, -1, -1,
3009: -1, -1, -1, -1, -1, 62, -1, -1, 65, -1,
3010: -1, -1, -1, -1, -1, -1, 73, 74, 75, -1,
3011: -1, -1, -1, -1, 81, 82, 83, -1, -1, -1,
3012: -1, 88, 89, 3, 4, -1, 6, 7, 8, 9,
3013: -1, 11, 12, -1, -1, -1, -1, 104, -1, -1,
3014: -1, -1, -1, -1, -1, -1, -1, 27, 28, 29,
3015: 30, 31, -1, 33, -1, 35, -1, 37, 38, -1,
3016: 40, 41, 42, 43, -1, -1, 46, 47, 48, 49,
3017: 50, 51, -1, 53, -1, -1, -1, -1, -1, -1,
3018: -1, -1, 62, -1, -1, 65, -1, -1, -1, -1,
3019: -1, -1, -1, 73, 74, 75, -1, -1, -1, -1,
3020: -1, 81, 82, 83, -1, -1, -1, -1, 88, -1,
3021: 3, 4, 92, 6, 7, 8, 9, -1, 11, 12,
3022: -1, -1, -1, -1, 104, -1, -1, -1, -1, -1,
3023: -1, -1, -1, -1, 27, 28, 29, 30, 31, -1,
3024: 33, -1, 35, -1, 37, 38, -1, 40, 41, 42,
3025: 43, -1, -1, 46, 47, 48, 49, 50, 51, -1,
3026: 53, -1, -1, -1, -1, -1, -1, -1, -1, 62,
3027: -1, -1, 65, -1, -1, -1, -1, -1, -1, -1,
3028: 73, 74, 75, -1, -1, -1, -1, -1, 81, 82,
3029: 83, -1, -1, -1, -1, 88, -1, 3, 4, 92,
3030: 6, 7, 8, 9, -1, 11, 12, -1, -1, -1,
3031: -1, 104, -1, -1, -1, -1, -1, -1, -1, -1,
3032: -1, 27, 28, 29, 30, 31, -1, 33, -1, 35,
3033: -1, 37, 38, -1, 40, 41, 42, 43, -1, -1,
3034: 46, 47, 48, 49, 50, 51, -1, 53, -1, -1,
3035: -1, -1, -1, -1, -1, -1, 62, -1, -1, 65,
3036: -1, -1, -1, -1, -1, -1, -1, 73, 74, 75,
3037: -1, -1, -1, -1, -1, 81, 82, 83, -1, -1,
3038: -1, -1, 88, -1, 3, 4, 92, 6, 7, 8,
3039: 9, -1, 11, 12, -1, -1, -1, -1, 104, -1,
3040: -1, -1, -1, -1, -1, -1, -1, -1, 27, 28,
3041: 29, 30, 31, -1, 33, -1, 35, -1, 37, 38,
3042: -1, 40, 41, 42, 43, -1, -1, 46, 47, 48,
3043: 49, 50, 51, -1, 53, -1, -1, -1, -1, -1,
3044: -1, -1, -1, 62, -1, -1, 65, -1, -1, -1,
3045: -1, -1, -1, -1, 73, 74, 75, -1, -1, -1,
3046: -1, -1, 81, 82, 83, -1, -1, -1, -1, 88,
3047: -1, 3, 4, 92, 6, 7, 8, 9, -1, 11,
3048: 12, -1, -1, -1, -1, 104, -1, -1, -1, -1,
3049: -1, -1, -1, -1, -1, 27, 28, 29, 30, 31,
3050: -1, 33, -1, 35, -1, 37, 38, -1, 40, 41,
3051: 42, 43, -1, -1, 46, 47, 48, 49, 50, 51,
3052: -1, 53, -1, -1, -1, -1, -1, -1, -1, -1,
3053: 62, -1, -1, 65, -1, -1, -1, -1, -1, -1,
3054: -1, 73, 74, 75, -1, -1, -1, -1, -1, 81,
3055: 82, 83, -1, -1, -1, -1, 88, -1, 3, 4,
3056: 92, 6, 7, 8, 9, -1, 11, 12, -1, -1,
3057: -1, -1, 104, -1, -1, -1, -1, -1, -1, -1,
3058: -1, -1, 27, 28, 29, 30, 31, -1, 33, -1,
3059: 35, -1, 37, 38, -1, 40, 41, 42, 43, -1,
3060: -1, 46, 47, 48, 49, 50, 51, -1, 53, -1,
3061: -1, -1, -1, -1, -1, -1, -1, 62, -1, -1,
3062: 65, -1, -1, -1, -1, -1, -1, -1, 73, 74,
3063: 75, -1, -1, -1, -1, -1, 81, 82, 83, -1,
3064: -1, 3, 4, 88, 6, 7, 8, 9, -1, 11,
3065: 12, -1, -1, -1, -1, -1, -1, -1, -1, 104,
3066: -1, -1, -1, -1, -1, 27, 28, 29, 30, 31,
3067: -1, 33, -1, 35, -1, 37, 38, -1, 40, 41,
3068: 42, 43, -1, -1, 46, 47, 48, 49, 50, 51,
3069: -1, 53, -1, -1, -1, -1, -1, -1, -1, -1,
3070: 62, -1, -1, 65, -1, -1, -1, -1, -1, -1,
3071: -1, 73, 74, 75, -1, -1, -1, -1, -1, 81,
3072: 82, 83, -1, -1, 3, 4, 88, 6, 7, 8,
3073: 9, -1, 11, 12, -1, -1, -1, -1, -1, -1,
3074: -1, -1, 104, -1, -1, -1, -1, -1, 27, 28,
3075: 29, 30, 31, -1, 33, -1, 35, -1, 37, 38,
3076: -1, 40, 41, 42, 43, -1, -1, 46, 47, 48,
3077: 49, 50, 51, -1, 53, -1, -1, -1, -1, -1,
3078: -1, -1, -1, 62, -1, -1, 65, -1, -1, -1,
3079: -1, -1, -1, -1, 73, 74, 75, -1, -1, -1,
3080: -1, -1, 81, 82, 83, -1, -1, 3, 4, 88,
3081: 6, 7, 8, 9, -1, 11, 12, -1, -1, -1,
3082: -1, -1, -1, -1, -1, 104, -1, -1, -1, -1,
3083: -1, 27, 28, -1, -1, 31, -1, 33, -1, 35,
3084: -1, 37, 38, -1, 40, 41, 42, 43, -1, -1,
3085: 46, 47, 48, 49, 50, 51, -1, 53, -1, -1,
3086: -1, -1, -1, -1, -1, -1, 62, -1, -1, 65,
3087: -1, -1, -1, -1, -1, -1, -1, 73, 74, 75,
3088: -1, -1, -1, -1, -1, 81, 82, 83, -1, -1,
3089: 3, 4, 88, 6, 7, 8, 9, -1, 11, 12,
3090: -1, -1, -1, -1, -1, -1, -1, -1, 104, -1,
3091: -1, -1, -1, -1, 27, 28, 29, 30, 31, -1,
3092: 33, -1, 35, -1, 37, 38, -1, 40, 41, 42,
3093: 43, -1, -1, 46, 47, 48, 49, 50, 51, -1,
3094: 53, -1, 3, 4, 5, 6, 7, -1, -1, -1,
3095: -1, 12, -1, -1, -1, -1, -1, 3, 4, 5,
3096: 6, 7, -1, -1, -1, -1, 12, -1, 81, 82,
3097: 83, -1, -1, -1, 35, 88, -1, -1, -1, 92,
3098: 41, 27, -1, 44, -1, 31, -1, -1, -1, 35,
3099: 51, 104, 53, -1, -1, 41, -1, -1, -1, -1,
3100: -1, -1, -1, -1, 65, 51, -1, 53, -1, -1,
3101: 56, -1, -1, -1, 75, -1, -1, -1, -1, 65,
3102: -1, -1, 83, -1, 85, -1, -1, 88, 89, 75,
3103: -1, 3, 4, 5, 6, 7, -1, 83, 10, -1,
3104: 12, -1, 88, -1, -1, -1, -1, -1, 3, 4,
3105: 5, 6, 7, -1, -1, 27, -1, 12, -1, 31,
3106: -1, -1, -1, 35, -1, -1, -1, -1, -1, 41,
3107: -1, -1, 27, -1, -1, -1, 31, -1, -1, 51,
3108: 35, 53, -1, -1, -1, -1, 41, -1, -1, -1,
3109: -1, -1, -1, 65, -1, -1, 51, -1, 53, -1,
3110: -1, -1, -1, 75, -1, 60, -1, -1, -1, -1,
3111: 65, 83, -1, -1, -1, -1, 88, -1, -1, -1,
3112: 75, 3, 4, 5, 6, 7, -1, -1, 83, -1,
3113: 12, -1, -1, 88, -1, -1, -1, -1, 3, 4,
3114: 5, 6, 7, -1, -1, 27, -1, 12, -1, 31,
3115: -1, -1, -1, 35, -1, -1, -1, -1, -1, 41,
3116: -1, -1, 27, -1, -1, -1, 31, -1, -1, 51,
3117: 35, 53, -1, -1, 56, -1, 41, -1, -1, -1,
3118: -1, -1, 4, 65, 6, 7, 51, -1, 53, -1,
3119: 12, -1, -1, 75, -1, -1, -1, -1, -1, -1,
3120: 65, 83, -1, -1, -1, 27, 88, -1, -1, 31,
3121: 75, -1, -1, 35, -1, -1, -1, -1, 83, -1,
3122: -1, -1, 44, 88, -1, -1, -1, -1, -1, 51,
3123: -1, 53, -1, -1, -1, -1, -1, -1, -1, -1,
3124: 57, 58, 59, 65, 61, 62, 63, 64, 65, 66,
3125: 67, 68, 69, 75, 71, 72, 73, 74, 75, 76,
3126: 77, 78, 79, 85, -1, -1, 88, 89, 57, 58,
3127: 59, -1, 61, 62, 63, 64, 65, 66, 67, 68,
3128: 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
3129: 79, 55, 32, 57, 58, 59, -1, 61, 62, 63,
3130: 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
3131: 74, 75, 76, 77, 78, 79, 105, 57, 58, 59,
3132: -1, 61, 62, 63, 64, 65, 66, 67, 68, 69,
3133: 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
3134: 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
3135: 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
3136: 77, 78, 79, 57, 58, 59, 60, 61, 62, 63,
3137: 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
3138: 74, 75, 76, 77, 78, 79, 57, 58, 59, -1,
3139: 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
3140: 71, 72, 73, 74, 75, 76, 77, 78, 79, 59,
3141: -1, 61, 62, 63, 64, 65, 66, 67, 68, 69,
3142: 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
3143: 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
3144: 72, 73, 74, 75, 76, 77, 78, 79, 64, 65,
3145: 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
3146: 76, 77, 78, 79, 65, 66, 67, 68, 69, 70,
3147: 71, 72, 73, 74, 75, 76, 77, 78, 79
3148: };
3149: /* -*-C-*- Note some compilers choke on comments on `#line' lines. */
3150: #line 3 "/usr/unsupported/lib/bison.simple"
3151:
3152: /* Skeleton output parser for bison,
3153: Copyright (C) 1984, 1989, 1990 Bob Corbett and Richard Stallman
3154:
3155: This program is free software; you can redistribute it and/or modify
3156: it under the terms of the GNU General Public License as published by
3157: the Free Software Foundation; either version 1, or (at your option)
3158: any later version.
3159:
3160: This program is distributed in the hope that it will be useful,
3161: but WITHOUT ANY WARRANTY; without even the implied warranty of
3162: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3163: GNU General Public License for more details.
3164:
3165: You should have received a copy of the GNU General Public License
3166: along with this program; if not, write to the Free Software
3167: Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
3168:
3169:
3170: #ifndef alloca
3171: #ifdef __GNUC__
3172: #define alloca __builtin_alloca
3173: #else /* not GNU C. */
3174: #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi)
3175: #include <alloca.h>
3176: #else /* not sparc */
3177: #if defined (MSDOS) && !defined (__TURBOC__)
3178: #include <malloc.h>
3179: #else /* not MSDOS, or __TURBOC__ */
3180: #if defined(_AIX)
3181: #include <malloc.h>
3182: #pragma alloca
3183: #else /* not MSDOS, __TURBOC__, or _AIX */
3184: #ifdef __hpux
3185: #ifdef __cplusplus
3186: extern "C" {
3187: void *alloca (unsigned int);
3188: };
3189: #else /* not __cplusplus */
3190: void *alloca ();
3191: #endif /* not __cplusplus */
3192: #endif /* __hpux */
3193: #endif /* not _AIX */
3194: #endif /* not MSDOS, or __TURBOC__ */
3195: #endif /* not sparc. */
3196: #endif /* not GNU C. */
3197: #endif /* alloca not defined. */
3198:
3199: /* This is the parser code that is written into each bison parser
3200: when the %semantic_parser declaration is not specified in the grammar.
3201: It was written by Richard Stallman by simplifying the hairy parser
3202: used when %semantic_parser is specified. */
3203:
3204: /* Note: there must be only one dollar sign in this file.
3205: It is replaced by the list of actions, each action
3206: as one case of the switch. */
3207:
3208: #define yyerrok (yyerrstatus = 0)
3209: #define yyclearin (yychar = YYEMPTY)
3210: #define YYEMPTY -2
3211: #define YYEOF 0
3212: #define YYACCEPT return(0)
3213: #define YYABORT return(1)
3214: #define YYERROR goto yyerrlab1
3215: /* Like YYERROR except do call yyerror.
3216: This remains here temporarily to ease the
3217: transition to the new meaning of YYERROR, for GCC.
3218: Once GCC version 2 has supplanted version 1, this can go. */
3219: #define YYFAIL goto yyerrlab
3220: #define YYRECOVERING() (!!yyerrstatus)
3221: #define YYBACKUP(token, value) \
3222: do \
3223: if (yychar == YYEMPTY && yylen == 1) \
3224: { yychar = (token), yylval = (value); \
3225: yychar1 = YYTRANSLATE (yychar); \
3226: YYPOPSTACK; \
3227: goto yybackup; \
3228: } \
3229: else \
3230: { yyerror ("syntax error: cannot back up"); YYERROR; } \
3231: while (0)
3232:
3233: #define YYTERROR 1
3234: #define YYERRCODE 256
3235:
3236: #ifndef YYPURE
3237: #define YYLEX yylex()
3238: #endif
3239:
3240: #ifdef YYPURE
3241: #ifdef YYLSP_NEEDED
3242: #define YYLEX yylex(&yylval, &yylloc)
3243: #else
3244: #define YYLEX yylex(&yylval)
3245: #endif
3246: #endif
3247:
3248: /* If nonreentrant, generate the variables here */
3249:
3250: #ifndef YYPURE
3251:
3252: int yychar; /* the lookahead symbol */
3253: YYSTYPE yylval; /* the semantic value of the */
3254: /* lookahead symbol */
3255:
3256: #ifdef YYLSP_NEEDED
3257: YYLTYPE yylloc; /* location data for the lookahead */
3258: /* symbol */
3259: #endif
3260:
3261: int yynerrs; /* number of parse errors so far */
3262: #endif /* not YYPURE */
3263:
3264: #if YYDEBUG != 0
3265: int yydebug; /* nonzero means print parse trace */
3266: /* Since this is uninitialized, it does not stop multiple parsers
3267: from coexisting. */
3268: #endif
3269:
3270: /* YYINITDEPTH indicates the initial size of the parser's stacks */
3271:
3272: #ifndef YYINITDEPTH
3273: #define YYINITDEPTH 200
3274: #endif
3275:
3276: /* YYMAXDEPTH is the maximum size the stacks can grow to
3277: (effective only if the built-in stack extension method is used). */
3278:
3279: #if YYMAXDEPTH == 0
3280: #undef YYMAXDEPTH
3281: #endif
3282:
3283: #ifndef YYMAXDEPTH
3284: #define YYMAXDEPTH 10000
3285: #endif
3286:
3287: /* Prevent warning if -Wstrict-prototypes. */
3288: #ifdef __GNUC__
3289: int yyparse (void);
3290: #endif
3291:
3292: #if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
3293: #define __yy_bcopy(FROM,TO,COUNT) __builtin_memcpy(TO,FROM,COUNT)
3294: #else /* not GNU C or C++ */
3295: #ifndef __cplusplus
3296:
3297: /* This is the most reliable way to avoid incompatibilities
3298: in available built-in functions on various systems. */
3299: static void
3300: __yy_bcopy (from, to, count)
3301: char *from;
3302: char *to;
3303: int count;
3304: {
3305: register char *f = from;
3306: register char *t = to;
3307: register int i = count;
3308:
3309: while (i-- > 0)
3310: *t++ = *f++;
3311: }
3312:
3313: #else /* __cplusplus */
3314:
3315: /* This is the most reliable way to avoid incompatibilities
3316: in available built-in functions on various systems. */
3317: static void
3318: __yy_bcopy (char *from, char *to, int count)
3319: {
3320: register char *f = from;
3321: register char *t = to;
3322: register int i = count;
3323:
3324: while (i-- > 0)
3325: *t++ = *f++;
3326: }
3327:
3328: #endif
3329: #endif
3330:
3331: #line 184 "/usr/unsupported/lib/bison.simple"
3332: int
3333: yyparse()
3334: {
3335: register int yystate;
3336: register int yyn;
3337: register short *yyssp;
3338: register YYSTYPE *yyvsp;
3339: int yyerrstatus; /* number of tokens to shift before error messages enabled */
3340: int yychar1 = 0; /* lookahead token as an internal (translated) token number */
3341:
3342: short yyssa[YYINITDEPTH]; /* the state stack */
3343: YYSTYPE yyvsa[YYINITDEPTH]; /* the semantic value stack */
3344:
3345: short *yyss = yyssa; /* refer to the stacks thru separate pointers */
3346: YYSTYPE *yyvs = yyvsa; /* to allow yyoverflow to reallocate them elsewhere */
3347:
3348: #ifdef YYLSP_NEEDED
3349: YYLTYPE yylsa[YYINITDEPTH]; /* the location stack */
3350: YYLTYPE *yyls = yylsa;
3351: YYLTYPE *yylsp;
3352:
3353: #define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
3354: #else
3355: #define YYPOPSTACK (yyvsp--, yyssp--)
3356: #endif
3357:
3358: int yystacksize = YYINITDEPTH;
3359:
3360: #ifdef YYPURE
3361: int yychar;
3362: YYSTYPE yylval;
3363: int yynerrs;
3364: #ifdef YYLSP_NEEDED
3365: YYLTYPE yylloc;
3366: #endif
3367: #endif
3368:
3369: YYSTYPE yyval; /* the variable used to return */
3370: /* semantic values from the action */
3371: /* routines */
3372:
3373: int yylen;
3374:
3375: #if YYDEBUG != 0
3376: if (yydebug)
3377: fprintf(stderr, "Starting parse\n");
3378: #endif
3379:
3380: yystate = 0;
3381: yyerrstatus = 0;
3382: yynerrs = 0;
3383: yychar = YYEMPTY; /* Cause a token to be read. */
3384:
3385: /* Initialize stack pointers.
3386: Waste one element of value and location stack
3387: so that they stay on the same level as the state stack.
3388: The wasted elements are never initialized. */
3389:
3390: yyssp = yyss - 1;
3391: yyvsp = yyvs;
3392: #ifdef YYLSP_NEEDED
3393: yylsp = yyls;
3394: #endif
3395:
3396: /* Push a new state, which is found in yystate . */
3397: /* In all cases, when you get here, the value and location stacks
3398: have just been pushed. so pushing a state here evens the stacks. */
3399: yynewstate:
3400:
3401: *++yyssp = yystate;
3402:
3403: if (yyssp >= yyss + yystacksize - 1)
3404: {
3405: /* Give user a chance to reallocate the stack */
3406: /* Use copies of these so that the &'s don't force the real ones into memory. */
3407: YYSTYPE *yyvs1 = yyvs;
3408: short *yyss1 = yyss;
3409: #ifdef YYLSP_NEEDED
3410: YYLTYPE *yyls1 = yyls;
3411: #endif
3412:
3413: /* Get the current used size of the three stacks, in elements. */
3414: int size = yyssp - yyss + 1;
3415:
3416: #ifdef yyoverflow
3417: /* Each stack pointer address is followed by the size of
3418: the data in use in that stack, in bytes. */
3419: #ifdef YYLSP_NEEDED
3420: /* This used to be a conditional around just the two extra args,
3421: but that might be undefined if yyoverflow is a macro. */
3422: yyoverflow("parser stack overflow",
3423: &yyss1, size * sizeof (*yyssp),
3424: &yyvs1, size * sizeof (*yyvsp),
3425: &yyls1, size * sizeof (*yylsp),
3426: &yystacksize);
3427: #else
3428: yyoverflow("parser stack overflow",
3429: &yyss1, size * sizeof (*yyssp),
3430: &yyvs1, size * sizeof (*yyvsp),
3431: &yystacksize);
3432: #endif
3433:
3434: yyss = yyss1; yyvs = yyvs1;
3435: #ifdef YYLSP_NEEDED
3436: yyls = yyls1;
3437: #endif
3438: #else /* no yyoverflow */
3439: /* Extend the stack our own way. */
3440: if (yystacksize >= YYMAXDEPTH)
3441: {
3442: yyerror("parser stack overflow");
3443: return 2;
3444: }
3445: yystacksize *= 2;
3446: if (yystacksize > YYMAXDEPTH)
3447: yystacksize = YYMAXDEPTH;
3448: yyss = (short *) alloca (yystacksize * sizeof (*yyssp));
3449: __yy_bcopy ((char *)yyss1, (char *)yyss, size * sizeof (*yyssp));
3450: yyvs = (YYSTYPE *) alloca (yystacksize * sizeof (*yyvsp));
3451: __yy_bcopy ((char *)yyvs1, (char *)yyvs, size * sizeof (*yyvsp));
3452: #ifdef YYLSP_NEEDED
3453: yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp));
3454: __yy_bcopy ((char *)yyls1, (char *)yyls, size * sizeof (*yylsp));
3455: #endif
3456: #endif /* no yyoverflow */
3457:
3458: yyssp = yyss + size - 1;
3459: yyvsp = yyvs + size - 1;
3460: #ifdef YYLSP_NEEDED
3461: yylsp = yyls + size - 1;
3462: #endif
3463:
3464: #if YYDEBUG != 0
3465: if (yydebug)
3466: fprintf(stderr, "Stack size increased to %d\n", yystacksize);
3467: #endif
3468:
3469: if (yyssp >= yyss + yystacksize - 1)
3470: YYABORT;
3471: }
3472:
3473: #if YYDEBUG != 0
3474: if (yydebug)
3475: fprintf(stderr, "Entering state %d\n", yystate);
3476: #endif
3477:
3478: goto yybackup;
3479: yybackup:
3480:
3481: /* Do appropriate processing given the current state. */
3482: /* Read a lookahead token if we need one and don't already have one. */
3483: /* yyresume: */
3484:
3485: /* First try to decide what to do without reference to lookahead token. */
3486:
3487: yyn = yypact[yystate];
3488: if (yyn == YYFLAG)
3489: goto yydefault;
3490:
3491: /* Not known => get a lookahead token if don't already have one. */
3492:
3493: /* yychar is either YYEMPTY or YYEOF
3494: or a valid token in external form. */
3495:
3496: if (yychar == YYEMPTY)
3497: {
3498: #if YYDEBUG != 0
3499: if (yydebug)
3500: fprintf(stderr, "Reading a token: ");
3501: #endif
3502: yychar = YYLEX;
3503: }
3504:
3505: /* Convert token to internal form (in yychar1) for indexing tables with */
3506:
3507: if (yychar <= 0) /* This means end of input. */
3508: {
3509: yychar1 = 0;
3510: yychar = YYEOF; /* Don't call YYLEX any more */
3511:
3512: #if YYDEBUG != 0
3513: if (yydebug)
3514: fprintf(stderr, "Now at end of input.\n");
3515: #endif
3516: }
3517: else
3518: {
3519: yychar1 = YYTRANSLATE(yychar);
3520:
3521: #if YYDEBUG != 0
3522: if (yydebug)
3523: {
3524: fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
3525: /* Give the individual parser a way to print the precise meaning
3526: of a token, for further debugging info. */
3527: #ifdef YYPRINT
3528: YYPRINT (stderr, yychar, yylval);
3529: #endif
3530: fprintf (stderr, ")\n");
3531: }
3532: #endif
3533: }
3534:
3535: yyn += yychar1;
3536: if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
3537: goto yydefault;
3538:
3539: yyn = yytable[yyn];
3540:
3541: /* yyn is what to do for this token type in this state.
3542: Negative => reduce, -yyn is rule number.
3543: Positive => shift, yyn is new state.
3544: New state is final state => don't bother to shift,
3545: just return success.
3546: 0, or most negative number => error. */
3547:
3548: if (yyn < 0)
3549: {
3550: if (yyn == YYFLAG)
3551: goto yyerrlab;
3552: yyn = -yyn;
3553: goto yyreduce;
3554: }
3555: else if (yyn == 0)
3556: goto yyerrlab;
3557:
3558: if (yyn == YYFINAL)
3559: YYACCEPT;
3560:
3561: /* Shift the lookahead token. */
3562:
3563: #if YYDEBUG != 0
3564: if (yydebug)
3565: fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
3566: #endif
3567:
3568: /* Discard the token being shifted unless it is eof. */
3569: if (yychar != YYEOF)
3570: yychar = YYEMPTY;
3571:
3572: *++yyvsp = yylval;
3573: #ifdef YYLSP_NEEDED
3574: *++yylsp = yylloc;
3575: #endif
3576:
3577: /* count tokens shifted since error; after three, turn off error status. */
3578: if (yyerrstatus) yyerrstatus--;
3579:
3580: yystate = yyn;
3581: goto yynewstate;
3582:
3583: /* Do the default action for the current state. */
3584: yydefault:
3585:
3586: yyn = yydefact[yystate];
3587: if (yyn == 0)
3588: goto yyerrlab;
3589:
3590: /* Do a reduction. yyn is the number of a rule to reduce with. */
3591: yyreduce:
3592: yylen = yyr2[yyn];
3593: if (yylen > 0)
3594: yyval = yyvsp[1-yylen]; /* implement default value of the action */
3595:
3596: #if YYDEBUG != 0
3597: if (yydebug)
3598: {
3599: int i;
3600:
3601: fprintf (stderr, "Reducing via rule %d (line %d), ",
3602: yyn, yyrline[yyn]);
3603:
3604: /* Print the symbols being reduced, and their result. */
3605: for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
3606: fprintf (stderr, "%s ", yytname[yyrhs[i]]);
3607: fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
3608: }
3609: #endif
3610:
3611:
3612: switch (yyn) {
3613:
3614: case 2:
3615: #line 294 "parse.y"
3616: {
3617: /* In case there were missing closebraces,
3618: get us back to the global binding level. */
3619: while (! global_bindings_p ())
3620: poplevel (0, 0, 0);
3621: finish_file ();
3622: ;
3623: break;}
3624: case 3:
3625: #line 308 "parse.y"
3626: { yyval.ttype = NULL_TREE; ;
3627: break;}
3628: case 4:
3629: #line 309 "parse.y"
3630: { yyval.ttype = NULL_TREE; ;
3631: break;}
3632: case 5:
3633: #line 311 "parse.y"
3634: { yyval.ttype = NULL_TREE; ;
3635: break;}
3636: case 6:
3637: #line 315 "parse.y"
3638: { have_extern_spec = 1;
3639: used_extern_spec = 0;
3640: yyval.ttype = NULL_TREE; ;
3641: break;}
3642: case 7:
3643: #line 320 "parse.y"
3644: { have_extern_spec = 0; ;
3645: break;}
3646: case 10:
3647: #line 329 "parse.y"
3648: { if (pending_lang_change) do_pending_lang_change(); ;
3649: break;}
3650: case 11:
3651: #line 331 "parse.y"
3652: { if (! global_bindings_p () && ! pseudo_global_level_p())
3653: pop_everything (); ;
3654: break;}
3655: case 12:
3656: #line 337 "parse.y"
3657: { if (pending_inlines) do_pending_inlines (); ;
3658: break;}
3659: case 13:
3660: #line 339 "parse.y"
3661: { if (pending_inlines) do_pending_inlines (); ;
3662: break;}
3663: case 14:
3664: #line 341 "parse.y"
3665: { if (pending_inlines) do_pending_inlines (); ;
3666: break;}
3667: case 16:
3668: #line 344 "parse.y"
3669: { if (TREE_CHAIN (yyvsp[-2].ttype)) yyvsp[-2].ttype = combine_strings (yyvsp[-2].ttype);
3670: assemble_asm (yyvsp[-2].ttype); ;
3671: break;}
3672: case 17:
3673: #line 347 "parse.y"
3674: { pop_lang_context (); ;
3675: break;}
3676: case 18:
3677: #line 349 "parse.y"
3678: { pop_lang_context (); ;
3679: break;}
3680: case 19:
3681: #line 351 "parse.y"
3682: { if (pending_inlines) do_pending_inlines ();
3683: pop_lang_context (); ;
3684: break;}
3685: case 20:
3686: #line 354 "parse.y"
3687: { if (pending_inlines) do_pending_inlines ();
3688: pop_lang_context (); ;
3689: break;}
3690: case 21:
3691: #line 360 "parse.y"
3692: { push_lang_context (yyvsp[0].ttype); ;
3693: break;}
3694: case 22:
3695: #line 365 "parse.y"
3696: { begin_template_parm_list (); ;
3697: break;}
3698: case 23:
3699: #line 367 "parse.y"
3700: { yyval.ttype = end_template_parm_list (yyvsp[-1].ttype); ;
3701: break;}
3702: case 24:
3703: #line 372 "parse.y"
3704: { yyval.ttype = process_template_parm (NULL_TREE, yyvsp[0].ttype); ;
3705: break;}
3706: case 25:
3707: #line 374 "parse.y"
3708: { yyval.ttype = process_template_parm (yyvsp[-2].ttype, yyvsp[0].ttype); ;
3709: break;}
3710: case 26:
3711: #line 379 "parse.y"
3712: {
3713: yyval.ttype = build_tree_list (yyvsp[0].ttype, NULL_TREE);
3714: ttpa:
3715: if (TREE_PURPOSE (yyval.ttype) == signature_type_node)
3716: sorry ("signature as template type parameter");
3717: else if (TREE_PURPOSE (yyval.ttype) != class_type_node)
3718: pedwarn ("template type parameters must use the keyword `class'");
3719: ;
3720: break;}
3721: case 27:
3722: #line 388 "parse.y"
3723: { yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype); goto ttpa; ;
3724: break;}
3725: case 28:
3726: #line 400 "parse.y"
3727: { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
3728: break;}
3729: case 29:
3730: #line 402 "parse.y"
3731: { yyval.ttype = build_tree_list (yyvsp[0].ttype, yyval.ttype); ;
3732: break;}
3733: case 31:
3734: #line 408 "parse.y"
3735: { warning ("use of `overload' is an anachronism"); ;
3736: break;}
3737: case 32:
3738: #line 412 "parse.y"
3739: { declare_overloaded (yyvsp[0].ttype); ;
3740: break;}
3741: case 33:
3742: #line 414 "parse.y"
3743: { declare_overloaded (yyvsp[0].ttype); ;
3744: break;}
3745: case 34:
3746: #line 421 "parse.y"
3747: { yychar = '{'; goto template1; ;
3748: break;}
3749: case 36:
3750: #line 424 "parse.y"
3751: { yychar = '{'; goto template1; ;
3752: break;}
3753: case 38:
3754: #line 427 "parse.y"
3755: { yychar = ':'; goto template1; ;
3756: break;}
3757: case 40:
3758: #line 430 "parse.y"
3759: {
3760: yychar = ':';
3761: template1:
3762: if (current_aggr == exception_type_node)
3763: error ("template type must define an aggregate or union");
3764: else if (current_aggr == signature_type_node)
3765: sorry ("template type defining a signature");
3766: /* Maybe pedantic warning for union?
3767: How about an enum? :-) */
3768: end_template_decl (yyvsp[-2].ttype, yyvsp[-1].ttype, current_aggr, 1);
3769: reinit_parse_for_template (yychar, yyvsp[-2].ttype, yyvsp[-1].ttype);
3770: yychar = YYEMPTY;
3771: ;
3772: break;}
3773: case 42:
3774: #line 445 "parse.y"
3775: {
3776: end_template_decl (yyvsp[-2].ttype, yyvsp[-1].ttype, current_aggr, 0);
3777: /* declare $2 as template name with $1 parm list */
3778: ;
3779: break;}
3780: case 43:
3781: #line 450 "parse.y"
3782: {
3783: end_template_decl (yyvsp[-2].ttype, yyvsp[-1].ttype, current_aggr, 0);
3784: /* declare $2 as template name with $1 parm list */
3785: ;
3786: break;}
3787: case 44:
3788: #line 457 "parse.y"
3789: {
3790: tree d;
3791: int momentary;
3792: int def = (yyvsp[0].itype != ';');
3793: momentary = suspend_momentary ();
3794: d = start_decl (yyvsp[-4].ttype, /*current_declspecs*/NULL_TREE, 0,
3795: yyvsp[-3].ttype);
3796: cplus_decl_attributes (d, yyvsp[-1].ttype);
3797: finish_decl (d, NULL_TREE, yyvsp[-2].ttype, 0);
3798: end_template_decl (yyvsp[-5].ttype, d, 0, def);
3799: if (def)
3800: reinit_parse_for_template ((int) yyvsp[0].itype, yyvsp[-5].ttype, d);
3801: resume_momentary (momentary);
3802: ;
3803: break;}
3804: case 45:
3805: #line 474 "parse.y"
3806: {
3807: tree d;
3808: int momentary;
3809: int def = (yyvsp[0].itype != ';');
3810:
3811: current_declspecs = yyvsp[-5].ttype;
3812: momentary = suspend_momentary ();
3813: d = start_decl (yyvsp[-4].ttype, current_declspecs,
3814: 0, yyvsp[-3].ttype);
3815: cplus_decl_attributes (d, yyvsp[-1].ttype);
3816: finish_decl (d, NULL_TREE, yyvsp[-2].ttype, 0);
3817: end_template_decl (yyvsp[-6].ttype, d, 0, def);
3818: if (def)
3819: {
3820: reinit_parse_for_template ((int) yyvsp[0].itype, yyvsp[-6].ttype, d);
3821: yychar = YYEMPTY;
3822: }
3823: note_list_got_semicolon (yyvsp[-5].ttype);
3824: resume_momentary (momentary);
3825: ;
3826: break;}
3827: case 46:
3828: #line 495 "parse.y"
3829: {
3830: int def = (yyvsp[0].itype != ';');
3831: tree d = start_decl (yyvsp[-1].ttype, yyvsp[-2].ttype, 0, NULL_TREE);
3832: finish_decl (d, NULL_TREE, NULL_TREE, 0);
3833: end_template_decl (yyvsp[-3].ttype, d, 0, def);
3834: if (def)
3835: reinit_parse_for_template ((int) yyvsp[0].itype, yyvsp[-3].ttype, d);
3836: ;
3837: break;}
3838: case 47:
3839: #line 504 "parse.y"
3840: { end_template_decl (yyvsp[-2].ttype, 0, 0, 0); ;
3841: break;}
3842: case 48:
3843: #line 505 "parse.y"
3844: { end_template_decl (yyvsp[-2].ttype, 0, 0, 0); ;
3845: break;}
3846: case 49:
3847: #line 508 "parse.y"
3848: { yyval.itype = '{'; ;
3849: break;}
3850: case 50:
3851: #line 509 "parse.y"
3852: { yyval.itype = ':'; ;
3853: break;}
3854: case 51:
3855: #line 510 "parse.y"
3856: { yyval.itype = ';'; ;
3857: break;}
3858: case 52:
3859: #line 511 "parse.y"
3860: { yyval.itype = '='; ;
3861: break;}
3862: case 53:
3863: #line 512 "parse.y"
3864: { yyval.itype = RETURN; ;
3865: break;}
3866: case 54:
3867: #line 517 "parse.y"
3868: {;
3869: break;}
3870: case 55:
3871: #line 519 "parse.y"
3872: {;
3873: break;}
3874: case 56:
3875: #line 522 "parse.y"
3876: { tree d;
3877: d = start_decl (yyvsp[-1].ttype, yyval.ttype, 0, NULL_TREE);
3878: finish_decl (d, NULL_TREE, NULL_TREE, 0);
3879: ;
3880: break;}
3881: case 57:
3882: #line 527 "parse.y"
3883: {
3884: note_list_got_semicolon (yyval.ttype);
3885: ;
3886: break;}
3887: case 58:
3888: #line 532 "parse.y"
3889: { tree d;
3890: d = start_decl (yyvsp[-1].ttype, yyval.ttype, 0, NULL_TREE);
3891: finish_decl (d, NULL_TREE, NULL_TREE, 0);
3892: note_list_got_semicolon (yyval.ttype);
3893: ;
3894: break;}
3895: case 59:
3896: #line 538 "parse.y"
3897: { pedwarn ("empty declaration"); ;
3898: break;}
3899: case 61:
3900: #line 541 "parse.y"
3901: {
3902: tree t = yyval.ttype;
3903: shadow_tag (t);
3904: if (TREE_CODE (t) == TREE_LIST
3905: && TREE_PURPOSE (t) == NULL_TREE)
3906: {
3907: t = TREE_VALUE (t);
3908: if (IS_AGGR_TYPE (t)
3909: && IDENTIFIER_TEMPLATE (TYPE_IDENTIFIER (t)))
3910: {
3911: if (CLASSTYPE_USE_TEMPLATE (t) == 0)
3912: SET_CLASSTYPE_TEMPLATE_SPECIALIZATION (t);
3913: else if (CLASSTYPE_TEMPLATE_INSTANTIATION (t))
3914: error ("override declaration for already-expanded template");
3915: }
3916: }
3917: note_list_got_semicolon (yyval.ttype);
3918: ;
3919: break;}
3920: case 65:
3921: #line 566 "parse.y"
3922: {
3923: finish_function (lineno, 1);
3924: /* finish_function performs these three statements:
3925:
3926: expand_end_bindings (getdecls (), 1, 0);
3927: poplevel (1, 1, 0);
3928:
3929: expand_end_bindings (0, 0, 0);
3930: poplevel (0, 0, 1);
3931: */
3932: if (yyval.ttype) process_next_inline (yyval.ttype);
3933: ;
3934: break;}
3935: case 66:
3936: #line 579 "parse.y"
3937: {
3938: finish_function (lineno, 1);
3939: /* finish_function performs these three statements:
3940:
3941: expand_end_bindings (getdecls (), 1, 0);
3942: poplevel (1, 1, 0);
3943:
3944: expand_end_bindings (0, 0, 0);
3945: poplevel (0, 0, 1);
3946: */
3947: if (yyval.ttype) process_next_inline (yyval.ttype);
3948: ;
3949: break;}
3950: case 67:
3951: #line 592 "parse.y"
3952: { finish_function (lineno, 0);
3953: if (yyval.ttype) process_next_inline (yyval.ttype); ;
3954: break;}
3955: case 68:
3956: #line 595 "parse.y"
3957: { finish_function (lineno, 0);
3958: if (yyval.ttype) process_next_inline (yyval.ttype); ;
3959: break;}
3960: case 69:
3961: #line 598 "parse.y"
3962: { finish_function (lineno, 0);
3963: if (yyval.ttype) process_next_inline (yyval.ttype); ;
3964: break;}
3965: case 70:
3966: #line 601 "parse.y"
3967: {;
3968: break;}
3969: case 71:
3970: #line 603 "parse.y"
3971: {;
3972: break;}
3973: case 72:
3974: #line 605 "parse.y"
3975: {;
3976: break;}
3977: case 73:
3978: #line 610 "parse.y"
3979: { if (! start_function (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype, 0))
3980: YYERROR1;
3981: reinit_parse_for_function ();
3982: yyval.ttype = NULL_TREE; ;
3983: break;}
3984: case 74:
3985: #line 615 "parse.y"
3986: { if (! start_function (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype, 0))
3987: YYERROR1;
3988: reinit_parse_for_function ();
3989: yyval.ttype = NULL_TREE; ;
3990: break;}
3991: case 75:
3992: #line 620 "parse.y"
3993: { if (! start_function (NULL_TREE, yyval.ttype, yyvsp[0].ttype, 0))
3994: YYERROR1;
3995: reinit_parse_for_function ();
3996: yyval.ttype = NULL_TREE; ;
3997: break;}
3998: case 76:
3999: #line 625 "parse.y"
4000: { start_function (NULL_TREE, TREE_VALUE (yyval.ttype), NULL_TREE, 1);
4001: reinit_parse_for_function (); ;
4002: break;}
4003: case 77:
4004: #line 633 "parse.y"
4005: {
4006: yyval.ttype = build_parse_node (CALL_EXPR, TREE_VALUE (yyvsp[-5].ttype), yyvsp[-3].ttype, yyvsp[-1].ttype);
4007: yyval.ttype = start_method (TREE_CHAIN (yyvsp[-5].ttype), yyval.ttype, yyvsp[0].ttype);
4008: rest_of_mdef:
4009: if (! yyval.ttype)
4010: YYERROR1;
4011: if (yychar == YYEMPTY)
4012: yychar = YYLEX;
4013: reinit_parse_for_method (yychar, yyval.ttype); ;
4014: break;}
4015: case 78:
4016: #line 643 "parse.y"
4017: {
4018: yyval.ttype = build_parse_node (CALL_EXPR, TREE_VALUE (yyvsp[-3].ttype),
4019: empty_parms (), yyvsp[-1].ttype);
4020: yyval.ttype = start_method (TREE_CHAIN (yyvsp[-3].ttype), yyval.ttype, yyvsp[0].ttype);
4021: goto rest_of_mdef;
4022: ;
4023: break;}
4024: case 79:
4025: #line 650 "parse.y"
4026: { yyval.ttype = start_method (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); goto rest_of_mdef; ;
4027: break;}
4028: case 80:
4029: #line 652 "parse.y"
4030: { yyval.ttype = start_method (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); goto rest_of_mdef; ;
4031: break;}
4032: case 81:
4033: #line 654 "parse.y"
4034: { yyval.ttype = start_method (NULL_TREE, yyval.ttype, yyvsp[0].ttype); goto rest_of_mdef; ;
4035: break;}
4036: case 82:
4037: #line 658 "parse.y"
4038: {
4039: if (! current_function_parms_stored)
4040: store_parm_decls ();
4041: yyval.ttype = yyvsp[0].ttype;
4042: ;
4043: break;}
4044: case 83:
4045: #line 666 "parse.y"
4046: { store_return_init (yyval.ttype, NULL_TREE); ;
4047: break;}
4048: case 84:
4049: #line 668 "parse.y"
4050: { store_return_init (yyval.ttype, yyvsp[0].ttype); ;
4051: break;}
4052: case 85:
4053: #line 670 "parse.y"
4054: { store_return_init (yyval.ttype, yyvsp[-1].ttype); ;
4055: break;}
4056: case 86:
4057: #line 672 "parse.y"
4058: { store_return_init (yyval.ttype, NULL_TREE); ;
4059: break;}
4060: case 87:
4061: #line 677 "parse.y"
4062: {
4063: if (yyvsp[0].itype == 0)
4064: error ("no base initializers given following ':'");
4065: setup_vtbl_ptr ();
4066: /* Always keep the BLOCK node associated with the outermost
4067: pair of curley braces of a function. These are needed
4068: for correct operation of dwarfout.c. */
4069: keep_next_level ();
4070: ;
4071: break;}
4072: case 88:
4073: #line 690 "parse.y"
4074: {
4075: if (! current_function_parms_stored)
4076: store_parm_decls ();
4077:
4078: /* Flag that we are processing base and member initializers. */
4079: current_vtable_decl = error_mark_node;
4080:
4081: if (DECL_CONSTRUCTOR_P (current_function_decl))
4082: {
4083: /* Make a contour for the initializer list. */
4084: pushlevel (0);
4085: clear_last_expr ();
4086: expand_start_bindings (0);
4087: }
4088: else if (current_class_type == NULL_TREE)
4089: error ("base initializers not allowed for non-member functions");
4090: else if (! DECL_CONSTRUCTOR_P (current_function_decl))
4091: error ("only constructors take base initializers");
4092: ;
4093: break;}
4094: case 89:
4095: #line 713 "parse.y"
4096: { yyval.itype = 0; ;
4097: break;}
4098: case 90:
4099: #line 715 "parse.y"
4100: { yyval.itype = 1; ;
4101: break;}
4102: case 93:
4103: #line 721 "parse.y"
4104: {
4105: if (current_class_name && !flag_traditional)
4106: pedwarn ("anachronistic old style base class initializer");
4107: expand_member_init (C_C_D, NULL_TREE, yyvsp[-1].ttype);
4108: ;
4109: break;}
4110: case 94:
4111: #line 727 "parse.y"
4112: {
4113: if (current_class_name && !flag_traditional)
4114: pedwarn ("anachronistic old style base class initializer");
4115: expand_member_init (C_C_D, NULL_TREE, void_type_node);
4116: ;
4117: break;}
4118: case 95:
4119: #line 733 "parse.y"
4120: { expand_member_init (C_C_D, yyval.ttype, yyvsp[-1].ttype); ;
4121: break;}
4122: case 96:
4123: #line 735 "parse.y"
4124: { expand_member_init (C_C_D, yyval.ttype, void_type_node); ;
4125: break;}
4126: case 97:
4127: #line 737 "parse.y"
4128: { expand_member_init (C_C_D, yyval.ttype, yyvsp[-1].ttype); ;
4129: break;}
4130: case 98:
4131: #line 739 "parse.y"
4132: { expand_member_init (C_C_D, yyval.ttype, void_type_node); ;
4133: break;}
4134: case 99:
4135: #line 742 "parse.y"
4136: {
4137: do_member_init (OP0 (yyvsp[-3].ttype), OP1 (yyvsp[-3].ttype), yyvsp[-1].ttype);
4138: ;
4139: break;}
4140: case 100:
4141: #line 746 "parse.y"
4142: {
4143: do_member_init (OP0 (yyvsp[-1].ttype), OP1 (yyvsp[-1].ttype), void_type_node);
4144: ;
4145: break;}
4146: case 109:
4147: #line 770 "parse.y"
4148: { do_type_instantiation (yyvsp[0].ttype ? yyvsp[0].ttype : yyvsp[-1].ttype, NULL_TREE); ;
4149: break;}
4150: case 110:
4151: #line 772 "parse.y"
4152: { do_function_instantiation (yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE); ;
4153: break;}
4154: case 111:
4155: #line 774 "parse.y"
4156: { do_type_instantiation (yyvsp[0].ttype ? yyvsp[0].ttype : yyvsp[-1].ttype, yyvsp[-3].ttype); ;
4157: break;}
4158: case 112:
4159: #line 776 "parse.y"
4160: { do_function_instantiation (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-3].ttype); ;
4161: break;}
4162: case 113:
4163: #line 781 "parse.y"
4164: { if (yyvsp[0].ttype) yyval.ttype = yyvsp[0].ttype; ;
4165: break;}
4166: case 114:
4167: #line 786 "parse.y"
4168: { yyval.ttype = lookup_template_class (yyval.ttype, yyvsp[-1].ttype, NULL_TREE); ;
4169: break;}
4170: case 115:
4171: #line 788 "parse.y"
4172: { yyval.ttype = lookup_template_class (yyval.ttype, NULL_TREE, NULL_TREE); ;
4173: break;}
4174: case 116:
4175: #line 790 "parse.y"
4176: { yyval.ttype = lookup_template_class (yyval.ttype, yyvsp[-1].ttype, NULL_TREE); ;
4177: break;}
4178: case 117:
4179: #line 795 "parse.y"
4180: { yyval.ttype = instantiate_class_template (yyvsp[0].ttype, 1); ;
4181: break;}
4182: case 118:
4183: #line 800 "parse.y"
4184: { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
4185: break;}
4186: case 119:
4187: #line 802 "parse.y"
4188: { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
4189: break;}
4190: case 120:
4191: #line 807 "parse.y"
4192: { yyval.ttype = groktypename (yyval.ttype); ;
4193: break;}
4194: case 122:
4195: #line 813 "parse.y"
4196: {
4197: tree t, decl, tmpl;
4198:
4199: tmpl = TREE_PURPOSE (IDENTIFIER_TEMPLATE (yyvsp[-1].ttype));
4200: t = xref_tag (DECL_TEMPLATE_INFO (tmpl)->aggr, yyvsp[-1].ttype, yyvsp[0].ttype, 0);
4201: set_current_level_tags_transparency (1);
4202: my_friendly_assert (TREE_CODE (t) == RECORD_TYPE
4203: || TREE_CODE (t) == UNION_TYPE, 257);
4204: yyval.ttype = t;
4205:
4206: /* Now, put a copy of the decl in global scope, to avoid
4207: recursive expansion. */
4208: decl = IDENTIFIER_LOCAL_VALUE (yyvsp[-1].ttype);
4209: if (!decl)
4210: decl = IDENTIFIER_CLASS_VALUE (yyvsp[-1].ttype);
4211: /* Now, put a copy of the decl in global scope, to avoid
4212: recursive expansion. */
4213: if (decl)
4214: {
4215: /* Need to copy it to clear the chain pointer,
4216: and need to get it into permanent storage. */
4217: my_friendly_assert (TREE_CODE (decl) == TYPE_DECL, 258);
4218: push_obstacks (&permanent_obstack, &permanent_obstack);
4219: decl = copy_node (decl);
4220: if (DECL_LANG_SPECIFIC (decl))
4221: copy_lang_decl (decl);
4222: pop_obstacks ();
4223: pushdecl_top_level (decl);
4224: }
4225: /* Kludge; see instantiate_class_template. */
4226: TYPE_BEING_DEFINED (t) = 0;
4227: ;
4228: break;}
4229: case 123:
4230: #line 846 "parse.y"
4231: {
4232: tree t = finish_struct (yyvsp[-3].ttype, yyvsp[-1].ttype, 0);
4233:
4234: pop_obstacks ();
4235: end_template_instantiation (yyvsp[-5].ttype);
4236:
4237: /* Now go after the methods & class data. */
4238: instantiate_member_templates (yyvsp[-5].ttype);
4239:
4240: pop_tinst_level();
4241:
4242: CLASSTYPE_GOT_SEMICOLON (t) = 1;
4243: ;
4244: break;}
4245: case 124:
4246: #line 863 "parse.y"
4247: { yyval.ttype = NULL_TREE; ;
4248: break;}
4249: case 125:
4250: #line 865 "parse.y"
4251: { yyval.ttype = yyvsp[0].ttype; ;
4252: break;}
4253: case 126:
4254: #line 870 "parse.y"
4255: { yyval.ttype = NULL_TREE; /* never used from here... */;
4256: break;}
4257: case 127:
4258: #line 872 "parse.y"
4259: { yyval.ttype = yyvsp[-1].ttype; /*???*/ ;
4260: break;}
4261: case 128:
4262: #line 876 "parse.y"
4263: { yyval.code = NEGATE_EXPR; ;
4264: break;}
4265: case 129:
4266: #line 878 "parse.y"
4267: { yyval.code = CONVERT_EXPR; ;
4268: break;}
4269: case 130:
4270: #line 880 "parse.y"
4271: { yyval.code = PREINCREMENT_EXPR; ;
4272: break;}
4273: case 131:
4274: #line 882 "parse.y"
4275: { yyval.code = PREDECREMENT_EXPR; ;
4276: break;}
4277: case 132:
4278: #line 884 "parse.y"
4279: { yyval.code = TRUTH_NOT_EXPR; ;
4280: break;}
4281: case 133:
4282: #line 888 "parse.y"
4283: { yyval.ttype = build_x_compound_expr (yyval.ttype); ;
4284: break;}
4285: case 135:
4286: #line 894 "parse.y"
4287: { error ("ANSI C++ forbids an empty condition for `%s'",
4288: cond_stmt_keyword);
4289: yyval.ttype = integer_zero_node; ;
4290: break;}
4291: case 136:
4292: #line 898 "parse.y"
4293: { yyval.ttype = build1 (CLEANUP_POINT_EXPR, bool_type_node,
4294: bool_truthvalue_conversion (yyvsp[-1].ttype)); ;
4295: break;}
4296: case 137:
4297: #line 904 "parse.y"
4298: { error ("ANSI C++ forbids an empty condition for `%s'",
4299: cond_stmt_keyword);
4300: yyval.ttype = integer_zero_node; ;
4301: break;}
4302: case 138:
4303: #line 908 "parse.y"
4304: { yyval.ttype = build1 (CLEANUP_POINT_EXPR, bool_type_node,
4305: bool_truthvalue_conversion (yyvsp[-1].ttype)); ;
4306: break;}
4307: case 139:
4308: #line 914 "parse.y"
4309: { yyval.ttype = NULL_TREE; ;
4310: break;}
4311: case 140:
4312: #line 916 "parse.y"
4313: { yyval.ttype = build1 (CLEANUP_POINT_EXPR, bool_type_node,
4314: bool_truthvalue_conversion (yyval.ttype)); ;
4315: break;}
4316: case 141:
4317: #line 919 "parse.y"
4318: { yyval.ttype = NULL_TREE; ;
4319: break;}
4320: case 142:
4321: #line 924 "parse.y"
4322: { {
4323: tree d;
4324: for (d = getdecls (); d; d = TREE_CHAIN (d))
4325: if (TREE_CODE (d) == TYPE_DECL) {
4326: tree s = TREE_TYPE (d);
4327: if (TREE_CODE (s) == RECORD_TYPE)
4328: cp_error ("definition of class `%T' in condition", s);
4329: else if (TREE_CODE (s) == ENUMERAL_TYPE)
4330: cp_error ("definition of enum `%T' in condition", s);
4331: }
4332: }
4333: current_declspecs = yyvsp[-5].ttype;
4334: yyvsp[0].itype = suspend_momentary ();
4335: yyval.ttype = start_decl (yyvsp[-4].ttype, current_declspecs, 1, yyvsp[-3].ttype);
4336: cplus_decl_attributes (yyval.ttype, yyvsp[-1].ttype);
4337: ;
4338: break;}
4339: case 143:
4340: #line 941 "parse.y"
4341: {
4342: finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-3].ttype, 0);
4343: resume_momentary (yyvsp[-2].itype);
4344: yyval.ttype = yyvsp[-1].ttype;
4345: if (TREE_CODE (TREE_TYPE (yyval.ttype)) == ARRAY_TYPE)
4346: cp_error ("definition of array `%#D' in condition", yyval.ttype);
4347: ;
4348: break;}
4349: case 145:
4350: #line 953 "parse.y"
4351: { finish_stmt (); ;
4352: break;}
4353: case 146:
4354: #line 955 "parse.y"
4355: { finish_stmt (); ;
4356: break;}
4357: case 147:
4358: #line 957 "parse.y"
4359: { finish_stmt (); ;
4360: break;}
4361: case 149:
4362: #line 964 "parse.y"
4363: { yyval.ttype = tree_cons (NULL_TREE, yyval.ttype,
4364: build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
4365: break;}
4366: case 150:
4367: #line 967 "parse.y"
4368: { yyval.ttype = tree_cons (NULL_TREE, yyval.ttype,
4369: build_tree_list (NULL_TREE, error_mark_node)); ;
4370: break;}
4371: case 151:
4372: #line 970 "parse.y"
4373: { chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
4374: break;}
4375: case 152:
4376: #line 972 "parse.y"
4377: { chainon (yyval.ttype, build_tree_list (NULL_TREE, error_mark_node)); ;
4378: break;}
4379: case 153:
4380: #line 977 "parse.y"
4381: { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
4382: break;}
4383: case 155:
4384: #line 983 "parse.y"
4385: {
4386: #if 0
4387: if (TREE_CODE (yyval.ttype) == TYPE_EXPR)
4388: yyval.ttype = build_component_type_expr (C_C_D, yyval.ttype, NULL_TREE, 1);
4389: #endif
4390: ;
4391: break;}
4392: case 156:
4393: #line 991 "parse.y"
4394: { yyvsp[0].itype = pedantic;
4395: pedantic = 0; ;
4396: break;}
4397: case 157:
4398: #line 994 "parse.y"
4399: { yyval.ttype = yyvsp[0].ttype;
4400: pedantic = yyvsp[-2].itype; ;
4401: break;}
4402: case 158:
4403: #line 997 "parse.y"
4404: { yyval.ttype = build_x_indirect_ref (yyvsp[0].ttype, "unary *"); ;
4405: break;}
4406: case 159:
4407: #line 999 "parse.y"
4408: { yyval.ttype = build_x_unary_op (ADDR_EXPR, yyvsp[0].ttype); ;
4409: break;}
4410: case 160:
4411: #line 1001 "parse.y"
4412: { yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, yyvsp[0].ttype); ;
4413: break;}
4414: case 161:
4415: #line 1003 "parse.y"
4416: { yyval.ttype = build_x_unary_op (yyvsp[-1].code, yyvsp[0].ttype);
4417: if (yyvsp[-1].code == NEGATE_EXPR && TREE_CODE (yyvsp[0].ttype) == INTEGER_CST)
4418: TREE_NEGATED_INT (yyval.ttype) = 1;
4419: overflow_warning (yyval.ttype);
4420: ;
4421: break;}
4422: case 162:
4423: #line 1010 "parse.y"
4424: { tree label = lookup_label (yyvsp[0].ttype);
4425: if (label == NULL_TREE)
4426: yyval.ttype = null_pointer_node;
4427: else
4428: {
4429: TREE_USED (label) = 1;
4430: yyval.ttype = build1 (ADDR_EXPR, ptr_type_node, label);
4431: TREE_CONSTANT (yyval.ttype) = 1;
4432: }
4433: ;
4434: break;}
4435: case 163:
4436: #line 1021 "parse.y"
4437: { if (TREE_CODE (yyvsp[0].ttype) == COMPONENT_REF
4438: && DECL_BIT_FIELD (TREE_OPERAND (yyvsp[0].ttype, 1)))
4439: error ("sizeof applied to a bit-field");
4440: /* ANSI says arrays and functions are converted inside comma.
4441: But we can't really convert them in build_compound_expr
4442: because that would break commas in lvalues.
4443: So do the conversion here if operand was a comma. */
4444: if (TREE_CODE (yyvsp[0].ttype) == COMPOUND_EXPR
4445: && (TREE_CODE (TREE_TYPE (yyvsp[0].ttype)) == ARRAY_TYPE
4446: || TREE_CODE (TREE_TYPE (yyvsp[0].ttype)) == FUNCTION_TYPE))
4447: yyvsp[0].ttype = default_conversion (yyvsp[0].ttype);
4448: else if (TREE_CODE (yyvsp[0].ttype) == TREE_LIST)
4449: {
4450: tree t = TREE_VALUE (yyvsp[0].ttype);
4451: if (t != NULL_TREE
4452: && TREE_CODE (TREE_TYPE (t)) == FUNCTION_TYPE)
4453: pedwarn ("ANSI C++ forbids using sizeof() on a function");
4454: }
4455: yyval.ttype = c_sizeof (TREE_TYPE (yyvsp[0].ttype)); ;
4456: break;}
4457: case 164:
4458: #line 1041 "parse.y"
4459: { yyval.ttype = c_sizeof (groktypename (yyvsp[-1].ttype)); ;
4460: break;}
4461: case 165:
4462: #line 1043 "parse.y"
4463: { yyval.ttype = grok_alignof (yyvsp[0].ttype); ;
4464: break;}
4465: case 166:
4466: #line 1045 "parse.y"
4467: { yyval.ttype = c_alignof (groktypename (yyvsp[-1].ttype)); ;
4468: break;}
4469: case 167:
4470: #line 1050 "parse.y"
4471: { yyval.ttype = build_new (NULL_TREE, yyvsp[0].ttype, NULL_TREE, yyvsp[-1].itype); ;
4472: break;}
4473: case 168:
4474: #line 1052 "parse.y"
4475: { yyval.ttype = build_new (NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-2].itype); ;
4476: break;}
4477: case 169:
4478: #line 1054 "parse.y"
4479: { yyval.ttype = build_new (yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE, yyvsp[-2].itype); ;
4480: break;}
4481: case 170:
4482: #line 1056 "parse.y"
4483: { yyval.ttype = build_new (yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-3].itype); ;
4484: break;}
4485: case 171:
4486: #line 1058 "parse.y"
4487: { yyval.ttype = build_new (NULL_TREE, groktypename(yyvsp[-1].ttype),
4488: NULL_TREE, yyvsp[-3].itype); ;
4489: break;}
4490: case 172:
4491: #line 1061 "parse.y"
4492: { yyval.ttype = build_new (NULL_TREE, groktypename(yyvsp[-2].ttype), yyvsp[0].ttype, yyvsp[-4].itype); ;
4493: break;}
4494: case 173:
4495: #line 1063 "parse.y"
4496: { yyval.ttype = build_new (yyvsp[-3].ttype, groktypename(yyvsp[-1].ttype), NULL_TREE, yyvsp[-4].itype); ;
4497: break;}
4498: case 174:
4499: #line 1065 "parse.y"
4500: { yyval.ttype = build_new (yyvsp[-4].ttype, groktypename(yyvsp[-2].ttype), yyvsp[0].ttype, yyvsp[-5].itype); ;
4501: break;}
4502: case 175:
4503: #line 1068 "parse.y"
4504: { yyval.ttype = delete_sanity (yyvsp[0].ttype, NULL_TREE, 0, yyvsp[-1].itype); ;
4505: break;}
4506: case 176:
4507: #line 1070 "parse.y"
4508: { yyval.ttype = delete_sanity (yyvsp[0].ttype, NULL_TREE, 1, yyvsp[-3].itype);
4509: if (yychar == YYEMPTY)
4510: yychar = YYLEX; ;
4511: break;}
4512: case 177:
4513: #line 1074 "parse.y"
4514: { yyval.ttype = delete_sanity (yyvsp[0].ttype, yyvsp[-2].ttype, 2, yyvsp[-4].itype);
4515: if (yychar == YYEMPTY)
4516: yychar = YYLEX; ;
4517: break;}
4518: case 178:
4519: #line 1081 "parse.y"
4520: { yyval.ttype = yyvsp[-1].ttype; ;
4521: break;}
4522: case 179:
4523: #line 1083 "parse.y"
4524: {
4525: yyval.ttype = yyvsp[-1].ttype;
4526: pedwarn ("old style placement syntax, use () instead");
4527: ;
4528: break;}
4529: case 180:
4530: #line 1091 "parse.y"
4531: { yyval.ttype = yyvsp[-1].ttype; ;
4532: break;}
4533: case 181:
4534: #line 1093 "parse.y"
4535: { yyval.ttype = NULL_TREE; ;
4536: break;}
4537: case 182:
4538: #line 1095 "parse.y"
4539: {
4540: cp_error ("`%T' is not a valid expression", yyvsp[-1].ttype);
4541: yyval.ttype = error_mark_node;
4542: ;
4543: break;}
4544: case 183:
4545: #line 1103 "parse.y"
4546: {
4547: if (flag_ansi)
4548: pedwarn ("ANSI C++ forbids initialization of new expression with `='");
4549: yyval.ttype = yyvsp[0].ttype;
4550: ;
4551: break;}
4552: case 184:
4553: #line 1113 "parse.y"
4554: { yyvsp[-1].ttype = tree_cons (NULL_TREE, yyvsp[-1].ttype, void_list_node);
4555: TREE_PARMLIST (yyvsp[-1].ttype) = 1;
4556: yyval.ttype = build_parse_node (CALL_EXPR, NULL_TREE, yyvsp[-1].ttype,
4557: NULL_TREE); ;
4558: break;}
4559: case 185:
4560: #line 1118 "parse.y"
4561: { yyvsp[-1].ttype = tree_cons (NULL_TREE, yyvsp[-1].ttype, void_list_node);
4562: TREE_PARMLIST (yyvsp[-1].ttype) = 1;
4563: yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-1].ttype, NULL_TREE); ;
4564: break;}
4565: case 187:
4566: #line 1126 "parse.y"
4567: { yyval.ttype = reparse_absdcl_as_casts (yyval.ttype, yyvsp[0].ttype); ;
4568: break;}
4569: case 188:
4570: #line 1128 "parse.y"
4571: {
4572: tree init = build_nt (CONSTRUCTOR, NULL_TREE,
4573: nreverse (yyvsp[-2].ttype));
4574: if (flag_ansi)
4575: pedwarn ("ANSI C++ forbids constructor-expressions");
4576: /* Indicate that this was a GNU C constructor expression. */
4577: TREE_HAS_CONSTRUCTOR (init) = 1;
4578:
4579: yyval.ttype = reparse_absdcl_as_casts (yyval.ttype, init);
4580: ;
4581: break;}
4582: case 190:
4583: #line 1143 "parse.y"
4584: { yyval.ttype = build_headof (yyvsp[-1].ttype); ;
4585: break;}
4586: case 191:
4587: #line 1145 "parse.y"
4588: { yyval.ttype = build_classof (yyvsp[-1].ttype); ;
4589: break;}
4590: case 192:
4591: #line 1147 "parse.y"
4592: { if (is_aggr_typedef (yyvsp[-1].ttype, 1))
4593: {
4594: tree type = IDENTIFIER_TYPE_VALUE (yyvsp[-1].ttype);
4595: if (! IS_SIGNATURE(type))
4596: yyval.ttype = CLASSTYPE_DOSSIER (type);
4597: else
4598: {
4599: sorry ("signature name as argument of `classof'");
4600: yyval.ttype = error_mark_node;
4601: }
4602: }
4603: else
4604: yyval.ttype = error_mark_node;
4605: ;
4606: break;}
4607: case 194:
4608: #line 1167 "parse.y"
4609: { yyval.ttype = build_x_binary_op (MEMBER_REF, yyval.ttype, yyvsp[0].ttype); ;
4610: break;}
4611: case 195:
4612: #line 1169 "parse.y"
4613: { yyval.ttype = build_m_component_ref (yyval.ttype, yyvsp[0].ttype); ;
4614: break;}
4615: case 196:
4616: #line 1171 "parse.y"
4617: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4618: break;}
4619: case 197:
4620: #line 1173 "parse.y"
4621: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4622: break;}
4623: case 198:
4624: #line 1175 "parse.y"
4625: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4626: break;}
4627: case 199:
4628: #line 1177 "parse.y"
4629: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4630: break;}
4631: case 200:
4632: #line 1179 "parse.y"
4633: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4634: break;}
4635: case 201:
4636: #line 1181 "parse.y"
4637: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4638: break;}
4639: case 202:
4640: #line 1183 "parse.y"
4641: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4642: break;}
4643: case 203:
4644: #line 1185 "parse.y"
4645: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4646: break;}
4647: case 204:
4648: #line 1187 "parse.y"
4649: { yyval.ttype = build_x_binary_op (LT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
4650: break;}
4651: case 205:
4652: #line 1189 "parse.y"
4653: { yyval.ttype = build_x_binary_op (GT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
4654: break;}
4655: case 206:
4656: #line 1191 "parse.y"
4657: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4658: break;}
4659: case 207:
4660: #line 1193 "parse.y"
4661: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4662: break;}
4663: case 208:
4664: #line 1195 "parse.y"
4665: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4666: break;}
4667: case 209:
4668: #line 1197 "parse.y"
4669: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4670: break;}
4671: case 210:
4672: #line 1199 "parse.y"
4673: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4674: break;}
4675: case 211:
4676: #line 1201 "parse.y"
4677: { yyval.ttype = build_x_binary_op (TRUTH_ANDIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
4678: break;}
4679: case 212:
4680: #line 1203 "parse.y"
4681: { yyval.ttype = build_x_binary_op (TRUTH_ORIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
4682: break;}
4683: case 213:
4684: #line 1205 "parse.y"
4685: { yyval.ttype = build_x_conditional_expr (yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
4686: break;}
4687: case 214:
4688: #line 1207 "parse.y"
4689: { yyval.ttype = build_modify_expr (yyval.ttype, NOP_EXPR, yyvsp[0].ttype); ;
4690: break;}
4691: case 215:
4692: #line 1209 "parse.y"
4693: { register tree rval;
4694: if ((rval = build_opfncall (MODIFY_EXPR, LOOKUP_NORMAL, yyval.ttype, yyvsp[0].ttype,
4695: make_node (yyvsp[-1].code))))
4696: yyval.ttype = rval;
4697: else
4698: yyval.ttype = build_modify_expr (yyval.ttype, yyvsp[-1].code, yyvsp[0].ttype); ;
4699: break;}
4700: case 216:
4701: #line 1216 "parse.y"
4702: { yyval.ttype = build_throw (NULL_TREE); ;
4703: break;}
4704: case 217:
4705: #line 1218 "parse.y"
4706: { yyval.ttype = build_throw (yyvsp[0].ttype); ;
4707: break;}
4708: case 218:
4709: #line 1236 "parse.y"
4710: { yyval.ttype = build_parse_node (BIT_NOT_EXPR, yyvsp[0].ttype); ;
4711: break;}
4712: case 226:
4713: #line 1251 "parse.y"
4714: { yyval.ttype = build_parse_node (INDIRECT_REF, yyvsp[0].ttype); ;
4715: break;}
4716: case 227:
4717: #line 1253 "parse.y"
4718: { yyval.ttype = build_parse_node (ADDR_EXPR, yyvsp[0].ttype); ;
4719: break;}
4720: case 230:
4721: #line 1260 "parse.y"
4722: { push_nested_class (TREE_TYPE (OP0 (yyval.ttype)), 3);
4723: TREE_COMPLEXITY (yyval.ttype) = current_class_depth; ;
4724: break;}
4725: case 231:
4726: #line 1266 "parse.y"
4727: {
4728: if (TREE_CODE (yyval.ttype) == BIT_NOT_EXPR)
4729: yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, TREE_OPERAND (yyval.ttype, 0));
4730: else if (IDENTIFIER_OPNAME_P (yyval.ttype))
4731: {
4732: tree op = yyval.ttype;
4733: yyval.ttype = lookup_name (op, 0);
4734: if (yyval.ttype == NULL_TREE)
4735: {
4736: if (op != ansi_opname[ERROR_MARK])
4737: error ("operator %s not defined",
4738: operator_name_string (op));
4739: yyval.ttype = error_mark_node;
4740: }
4741: }
4742: else
4743: yyval.ttype = do_identifier (yyval.ttype);
4744: ;
4745: break;}
4746: case 234:
4747: #line 1287 "parse.y"
4748: { yyval.ttype = combine_strings (yyval.ttype); ;
4749: break;}
4750: case 235:
4751: #line 1289 "parse.y"
4752: { yyval.ttype = yyvsp[-1].ttype; ;
4753: break;}
4754: case 236:
4755: #line 1291 "parse.y"
4756: { yyval.ttype = error_mark_node; ;
4757: break;}
4758: case 237:
4759: #line 1293 "parse.y"
4760: { if (current_function_decl == 0)
4761: {
4762: error ("braced-group within expression allowed only inside a function");
4763: YYERROR;
4764: }
4765: keep_next_level ();
4766: yyval.ttype = expand_start_stmt_expr (); ;
4767: break;}
4768: case 238:
4769: #line 1301 "parse.y"
4770: { tree rtl_exp;
4771: if (flag_ansi)
4772: pedwarn ("ANSI C++ forbids braced-groups within expressions");
4773: rtl_exp = expand_end_stmt_expr (yyvsp[-2].ttype);
4774: /* The statements have side effects, so the group does. */
4775: TREE_SIDE_EFFECTS (rtl_exp) = 1;
4776:
4777: if (TREE_CODE (yyvsp[-1].ttype) == BLOCK)
4778: {
4779: /* Make a BIND_EXPR for the BLOCK already made. */
4780: yyval.ttype = build (BIND_EXPR, TREE_TYPE (rtl_exp),
4781: NULL_TREE, rtl_exp, yyvsp[-1].ttype);
4782: /* Remove the block from the tree at this point.
4783: It gets put back at the proper place
4784: when the BIND_EXPR is expanded. */
4785: delete_block (yyvsp[-1].ttype);
4786: }
4787: else
4788: yyval.ttype = yyvsp[-1].ttype;
4789: ;
4790: break;}
4791: case 239:
4792: #line 1322 "parse.y"
4793: { /* [eichin:19911016.1902EST] */
4794: yyval.ttype = build_x_function_call (yyvsp[-3].ttype, yyvsp[-1].ttype, current_class_decl);
4795: /* here we instantiate_class_template as needed... */
4796: do_pending_templates ();
4797: ;
4798: break;}
4799: case 240:
4800: #line 1326 "parse.y"
4801: {
4802: if (TREE_CODE (yyvsp[-1].ttype) == CALL_EXPR
4803: && TREE_TYPE (yyvsp[-1].ttype) != void_type_node)
4804: yyval.ttype = require_complete_type (yyvsp[-1].ttype);
4805: else
4806: yyval.ttype = yyvsp[-1].ttype;
4807: ;
4808: break;}
4809: case 241:
4810: #line 1334 "parse.y"
4811: {
4812: yyval.ttype = build_x_function_call (yyval.ttype, NULL_TREE, current_class_decl);
4813: if (TREE_CODE (yyval.ttype) == CALL_EXPR
4814: && TREE_TYPE (yyval.ttype) != void_type_node)
4815: yyval.ttype = require_complete_type (yyval.ttype);
4816: ;
4817: break;}
4818: case 242:
4819: #line 1341 "parse.y"
4820: { yyval.ttype = grok_array_decl (yyval.ttype, yyvsp[-1].ttype); ;
4821: break;}
4822: case 243:
4823: #line 1343 "parse.y"
4824: { /* If we get an OFFSET_REF, turn it into what it really
4825: means (e.g., a COMPONENT_REF). This way if we've got,
4826: say, a reference to a static member that's being operated
4827: on, we don't end up trying to find a member operator for
4828: the class it's in. */
4829: if (TREE_CODE (yyval.ttype) == OFFSET_REF)
4830: yyval.ttype = resolve_offset_ref (yyval.ttype);
4831: yyval.ttype = build_x_unary_op (POSTINCREMENT_EXPR, yyval.ttype); ;
4832: break;}
4833: case 244:
4834: #line 1352 "parse.y"
4835: { if (TREE_CODE (yyval.ttype) == OFFSET_REF)
4836: yyval.ttype = resolve_offset_ref (yyval.ttype);
4837: yyval.ttype = build_x_unary_op (POSTDECREMENT_EXPR, yyval.ttype); ;
4838: break;}
4839: case 245:
4840: #line 1357 "parse.y"
4841: { if (current_class_decl)
4842: {
4843: #ifdef WARNING_ABOUT_CCD
4844: TREE_USED (current_class_decl) = 1;
4845: #endif
4846: yyval.ttype = current_class_decl;
4847: }
4848: else if (current_function_decl
4849: && DECL_STATIC_FUNCTION_P (current_function_decl))
4850: {
4851: error ("`this' is unavailable for static member functions");
4852: yyval.ttype = error_mark_node;
4853: }
4854: else
4855: {
4856: if (current_function_decl)
4857: error ("invalid use of `this' in non-member function");
4858: else
4859: error ("invalid use of `this' at top level");
4860: yyval.ttype = error_mark_node;
4861: }
4862: ;
4863: break;}
4864: case 246:
4865: #line 1380 "parse.y"
4866: {
4867: tree type;
4868: tree id = yyval.ttype;
4869:
4870: /* This is a C cast in C++'s `functional' notation. */
4871: if (yyvsp[-1].ttype == error_mark_node)
4872: {
4873: yyval.ttype = error_mark_node;
4874: break;
4875: }
4876: #if 0
4877: if (yyvsp[-1].ttype == NULL_TREE)
4878: {
4879: error ("cannot cast null list to type `%s'",
4880: IDENTIFIER_POINTER (TYPE_NAME (id)));
4881: yyval.ttype = error_mark_node;
4882: break;
4883: }
4884: #endif
4885: #if 0
4886: /* type is not set! (mrs) */
4887: if (type == error_mark_node)
4888: yyval.ttype = error_mark_node;
4889: else
4890: #endif
4891: {
4892: if (id == ridpointers[(int) RID_CONST])
4893: type = build_type_variant (integer_type_node, 1, 0);
4894: else if (id == ridpointers[(int) RID_VOLATILE])
4895: type = build_type_variant (integer_type_node, 0, 1);
4896: #if 0
4897: /* should not be able to get here (mrs) */
4898: else if (id == ridpointers[(int) RID_FRIEND])
4899: {
4900: error ("cannot cast expression to `friend' type");
4901: yyval.ttype = error_mark_node;
4902: break;
4903: }
4904: #endif
4905: else my_friendly_abort (79);
4906: yyval.ttype = build_c_cast (type, build_compound_expr (yyvsp[-1].ttype));
4907: }
4908: ;
4909: break;}
4910: case 248:
4911: #line 1425 "parse.y"
4912: { tree type = groktypename (yyvsp[-4].ttype);
4913: yyval.ttype = build_dynamic_cast (type, yyvsp[-1].ttype); ;
4914: break;}
4915: case 249:
4916: #line 1428 "parse.y"
4917: { tree type = groktypename (yyvsp[-4].ttype);
4918: yyval.ttype = build_static_cast (type, yyvsp[-1].ttype); ;
4919: break;}
4920: case 250:
4921: #line 1431 "parse.y"
4922: { tree type = groktypename (yyvsp[-4].ttype);
4923: yyval.ttype = build_reinterpret_cast (type, yyvsp[-1].ttype); ;
4924: break;}
4925: case 251:
4926: #line 1434 "parse.y"
4927: { tree type = groktypename (yyvsp[-4].ttype);
4928: yyval.ttype = build_const_cast (type, yyvsp[-1].ttype); ;
4929: break;}
4930: case 252:
4931: #line 1437 "parse.y"
4932: { yyval.ttype = build_typeid (yyvsp[-1].ttype); ;
4933: break;}
4934: case 253:
4935: #line 1439 "parse.y"
4936: { tree type = groktypename (yyvsp[-1].ttype);
4937: yyval.ttype = get_typeid (type); ;
4938: break;}
4939: case 254:
4940: #line 1442 "parse.y"
4941: {
4942: do_scoped_id:
4943: yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype);
4944: if (yychar == YYEMPTY)
4945: yychar = YYLEX;
4946: if (! yyval.ttype)
4947: {
4948: if (yychar == '(' || yychar == LEFT_RIGHT)
4949: yyval.ttype = implicitly_declare (yyvsp[0].ttype);
4950: else
4951: {
4952: if (IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype) != error_mark_node)
4953: error ("undeclared variable `%s' (first use here)",
4954: IDENTIFIER_POINTER (yyvsp[0].ttype));
4955: yyval.ttype = error_mark_node;
4956: /* Prevent repeated error messages. */
4957: IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype) = error_mark_node;
4958: }
4959: }
4960: else
4961: {
4962: if (TREE_CODE (yyval.ttype) == ADDR_EXPR)
4963: assemble_external (TREE_OPERAND (yyval.ttype, 0));
4964: else
4965: assemble_external (yyval.ttype);
4966: TREE_USED (yyval.ttype) = 1;
4967: }
4968: if (TREE_CODE (yyval.ttype) == CONST_DECL)
4969: {
4970: /* XXX CHS - should we set TREE_USED of the constant? */
4971: yyval.ttype = DECL_INITIAL (yyval.ttype);
4972: /* This is to prevent an enum whose value is 0
4973: from being considered a null pointer constant. */
4974: yyval.ttype = build1 (NOP_EXPR, TREE_TYPE (yyval.ttype), yyval.ttype);
4975: TREE_CONSTANT (yyval.ttype) = 1;
4976: }
4977:
4978: ;
4979: break;}
4980: case 255:
4981: #line 1481 "parse.y"
4982: {
4983: got_scope = NULL_TREE;
4984: if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
4985: goto do_scoped_id;
4986: yyval.ttype = yyvsp[0].ttype;
4987: ;
4988: break;}
4989: case 256:
4990: #line 1488 "parse.y"
4991: { yyval.ttype = build_offset_ref (OP0 (yyval.ttype), OP1 (yyval.ttype)); ;
4992: break;}
4993: case 257:
4994: #line 1490 "parse.y"
4995: { yyval.ttype = build_member_call (OP0 (yyval.ttype), OP1 (yyval.ttype), yyvsp[-1].ttype); ;
4996: break;}
4997: case 258:
4998: #line 1492 "parse.y"
4999: { yyval.ttype = build_member_call (OP0 (yyval.ttype), OP1 (yyval.ttype), NULL_TREE); ;
5000: break;}
5001: case 259:
5002: #line 1494 "parse.y"
5003: { yyval.ttype = build_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1); ;
5004: break;}
5005: case 260:
5006: #line 1496 "parse.y"
5007: { yyval.ttype = build_object_ref (yyval.ttype, OP0 (yyvsp[0].ttype), OP1 (yyvsp[0].ttype)); ;
5008: break;}
5009: case 261:
5010: #line 1498 "parse.y"
5011: {
5012: #if 0
5013: /* This is a future direction of this code, but because
5014: build_x_function_call cannot always undo what is done
5015: in build_component_ref entirely yet, we cannot do this. */
5016: yyval.ttype = build_x_function_call (build_component_ref (yyval.ttype, yyvsp[-3].ttype, NULL_TREE, 1), yyvsp[-1].ttype, yyval.ttype);
5017: if (TREE_CODE (yyval.ttype) == CALL_EXPR
5018: && TREE_TYPE (yyval.ttype) != void_type_node)
5019: yyval.ttype = require_complete_type (yyval.ttype);
5020: #else
5021: yyval.ttype = build_method_call (yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE,
5022: (LOOKUP_NORMAL|LOOKUP_AGGR));
5023: #endif
5024: ;
5025: break;}
5026: case 262:
5027: #line 1513 "parse.y"
5028: {
5029: #if 0
5030: /* This is a future direction of this code, but because
5031: build_x_function_call cannot always undo what is done
5032: in build_component_ref entirely yet, we cannot do this. */
5033: yyval.ttype = build_x_function_call (build_component_ref (yyval.ttype, yyvsp[-1].ttype, NULL_TREE, 1), NULL_TREE, yyval.ttype);
5034: if (TREE_CODE (yyval.ttype) == CALL_EXPR
5035: && TREE_TYPE (yyval.ttype) != void_type_node)
5036: yyval.ttype = require_complete_type (yyval.ttype);
5037: #else
5038: yyval.ttype = build_method_call (yyval.ttype, yyvsp[-1].ttype, NULL_TREE, NULL_TREE,
5039: (LOOKUP_NORMAL|LOOKUP_AGGR));
5040: #endif
5041: ;
5042: break;}
5043: case 263:
5044: #line 1528 "parse.y"
5045: {
5046: if (IS_SIGNATURE (IDENTIFIER_TYPE_VALUE (OP0 (yyvsp[-3].ttype))))
5047: {
5048: warning ("signature name in scope resolution ignored");
5049: yyval.ttype = build_method_call (yyval.ttype, OP1 (yyvsp[-3].ttype), yyvsp[-1].ttype, NULL_TREE,
5050: (LOOKUP_NORMAL|LOOKUP_AGGR));
5051: }
5052: else
5053: yyval.ttype = build_scoped_method_call (yyval.ttype, OP0 (yyvsp[-3].ttype), OP1 (yyvsp[-3].ttype), yyvsp[-1].ttype);
5054: ;
5055: break;}
5056: case 264:
5057: #line 1539 "parse.y"
5058: {
5059: if (IS_SIGNATURE (IDENTIFIER_TYPE_VALUE (OP0 (yyvsp[-1].ttype))))
5060: {
5061: warning ("signature name in scope resolution ignored");
5062: yyval.ttype = build_method_call (yyval.ttype, OP1 (yyvsp[-1].ttype), NULL_TREE, NULL_TREE,
5063: (LOOKUP_NORMAL|LOOKUP_AGGR));
5064: }
5065: else
5066: yyval.ttype = build_scoped_method_call (yyval.ttype, OP0 (yyvsp[-1].ttype), OP1 (yyvsp[-1].ttype), NULL_TREE);
5067: ;
5068: break;}
5069: case 265:
5070: #line 1551 "parse.y"
5071: {
5072: if (TREE_CODE (TREE_TYPE (yyvsp[-3].ttype))
5073: != TREE_CODE (TREE_TYPE (IDENTIFIER_GLOBAL_VALUE (yyvsp[-1].ttype))))
5074: cp_error ("`%E' is not of type `%T'", yyvsp[-3].ttype, yyvsp[-1].ttype);
5075: yyval.ttype = convert (void_type_node, yyvsp[-3].ttype);
5076: ;
5077: break;}
5078: case 266:
5079: #line 1558 "parse.y"
5080: {
5081: if (yyvsp[-4].ttype != yyvsp[-1].ttype)
5082: cp_error ("destructor specifier `%T::~%T()' must have matching names", yyvsp[-4].ttype, yyvsp[-1].ttype);
5083: if (TREE_CODE (TREE_TYPE (yyvsp[-5].ttype))
5084: != TREE_CODE (TREE_TYPE (IDENTIFIER_GLOBAL_VALUE (yyvsp[-4].ttype))))
5085: cp_error ("`%E' is not of type `%T'", yyvsp[-5].ttype, yyvsp[-4].ttype);
5086: yyval.ttype = convert (void_type_node, yyvsp[-5].ttype);
5087: ;
5088: break;}
5089: case 267:
5090: #line 1607 "parse.y"
5091: { yyval.itype = 0; ;
5092: break;}
5093: case 268:
5094: #line 1609 "parse.y"
5095: { got_scope = NULL_TREE; yyval.itype = 1; ;
5096: break;}
5097: case 269:
5098: #line 1613 "parse.y"
5099: { yyval.itype = 0; ;
5100: break;}
5101: case 270:
5102: #line 1615 "parse.y"
5103: { got_scope = NULL_TREE; yyval.itype = 1; ;
5104: break;}
5105: case 271:
5106: #line 1620 "parse.y"
5107: { yyval.ttype = true_node; ;
5108: break;}
5109: case 272:
5110: #line 1622 "parse.y"
5111: { yyval.ttype = false_node; ;
5112: break;}
5113: case 274:
5114: #line 1629 "parse.y"
5115: { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
5116: break;}
5117: case 275:
5118: #line 1634 "parse.y"
5119: {
5120: if (! current_function_parms_stored)
5121: store_parm_decls ();
5122: setup_vtbl_ptr ();
5123: /* Always keep the BLOCK node associated with the outermost
5124: pair of curley braces of a function. These are needed
5125: for correct operation of dwarfout.c. */
5126: keep_next_level ();
5127: ;
5128: break;}
5129: case 277:
5130: #line 1647 "parse.y"
5131: {
5132: yyval.ttype = build_x_arrow (yyval.ttype);
5133: ;
5134: break;}
5135: case 278:
5136: #line 1655 "parse.y"
5137: { tree d = get_decl_list (yyvsp[-2].ttype);
5138: int yes = suspend_momentary ();
5139: d = start_decl (yyvsp[-1].ttype, d, 0, NULL_TREE);
5140: finish_decl (d, NULL_TREE, NULL_TREE, 0);
5141: resume_momentary (yes);
5142: if (IS_AGGR_TYPE_CODE (TREE_CODE (yyvsp[-2].ttype)))
5143: note_got_semicolon (yyvsp[-2].ttype);
5144: ;
5145: break;}
5146: case 279:
5147: #line 1664 "parse.y"
5148: { tree d = yyvsp[-2].ttype;
5149: int yes = suspend_momentary ();
5150: d = start_decl (yyvsp[-1].ttype, d, 0, NULL_TREE);
5151: finish_decl (d, NULL_TREE, NULL_TREE, 0);
5152: resume_momentary (yes);
5153: note_list_got_semicolon (yyvsp[-2].ttype);
5154: ;
5155: break;}
5156: case 280:
5157: #line 1672 "parse.y"
5158: {
5159: resume_momentary (yyvsp[-1].itype);
5160: if (IS_AGGR_TYPE_CODE (TREE_CODE (yyvsp[-2].ttype)))
5161: note_got_semicolon (yyvsp[-2].ttype);
5162: ;
5163: break;}
5164: case 281:
5165: #line 1678 "parse.y"
5166: {
5167: resume_momentary (yyvsp[-1].itype);
5168: note_list_got_semicolon (yyvsp[-2].ttype);
5169: ;
5170: break;}
5171: case 282:
5172: #line 1683 "parse.y"
5173: { resume_momentary (yyvsp[-1].itype); ;
5174: break;}
5175: case 283:
5176: #line 1685 "parse.y"
5177: {
5178: shadow_tag (yyvsp[-1].ttype);
5179: note_list_got_semicolon (yyvsp[-1].ttype);
5180: ;
5181: break;}
5182: case 284:
5183: #line 1690 "parse.y"
5184: { warning ("empty declaration"); ;
5185: break;}
5186: case 287:
5187: #line 1704 "parse.y"
5188: { yyval.ttype = build_parse_node (CALL_EXPR, NULL_TREE, empty_parms (),
5189: NULL_TREE); ;
5190: break;}
5191: case 288:
5192: #line 1707 "parse.y"
5193: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, empty_parms (),
5194: NULL_TREE); ;
5195: break;}
5196: case 289:
5197: #line 1714 "parse.y"
5198: { yyval.ttype = build_decl_list (yyval.ttype, yyvsp[0].ttype); ;
5199: break;}
5200: case 290:
5201: #line 1716 "parse.y"
5202: { yyval.ttype = build_decl_list (yyval.ttype, yyvsp[0].ttype); ;
5203: break;}
5204: case 291:
5205: #line 1718 "parse.y"
5206: { yyval.ttype = build_decl_list (get_decl_list (yyval.ttype), yyvsp[0].ttype); ;
5207: break;}
5208: case 292:
5209: #line 1720 "parse.y"
5210: { yyval.ttype = build_decl_list (yyval.ttype, NULL_TREE); ;
5211: break;}
5212: case 293:
5213: #line 1722 "parse.y"
5214: { yyval.ttype = build_decl_list (yyval.ttype, NULL_TREE); ;
5215: break;}
5216: case 296:
5217: #line 1735 "parse.y"
5218: { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
5219: break;}
5220: case 297:
5221: #line 1737 "parse.y"
5222: { yyval.ttype = decl_tree_cons (NULL_TREE, yyval.ttype, yyvsp[0].ttype); ;
5223: break;}
5224: case 298:
5225: #line 1739 "parse.y"
5226: { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[-1].ttype, chainon (yyvsp[0].ttype, yyval.ttype)); ;
5227: break;}
5228: case 299:
5229: #line 1741 "parse.y"
5230: { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[-1].ttype, chainon (yyvsp[0].ttype, yyval.ttype)); ;
5231: break;}
5232: case 300:
5233: #line 1743 "parse.y"
5234: { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[-2].ttype,
5235: chainon (yyvsp[-1].ttype, chainon (yyvsp[0].ttype, yyval.ttype))); ;
5236: break;}
5237: case 301:
5238: #line 1749 "parse.y"
5239: { if (extra_warnings)
5240: warning ("`%s' is not at beginning of declaration",
5241: IDENTIFIER_POINTER (yyval.ttype));
5242: yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
5243: break;}
5244: case 302:
5245: #line 1754 "parse.y"
5246: { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
5247: break;}
5248: case 303:
5249: #line 1756 "parse.y"
5250: { if (extra_warnings)
5251: warning ("`%s' is not at beginning of declaration",
5252: IDENTIFIER_POINTER (yyvsp[0].ttype));
5253: yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
5254: break;}
5255: case 304:
5256: #line 1768 "parse.y"
5257: { TREE_STATIC (yyval.ttype) = 1; ;
5258: break;}
5259: case 305:
5260: #line 1770 "parse.y"
5261: { yyval.ttype = IDENTIFIER_AS_LIST (yyval.ttype); ;
5262: break;}
5263: case 306:
5264: #line 1772 "parse.y"
5265: { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype);
5266: TREE_STATIC (yyval.ttype) = 1; ;
5267: break;}
5268: case 307:
5269: #line 1775 "parse.y"
5270: { if (extra_warnings && TREE_STATIC (yyval.ttype))
5271: warning ("`%s' is not at beginning of declaration",
5272: IDENTIFIER_POINTER (yyvsp[0].ttype));
5273: yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype);
5274: TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
5275: break;}
5276: case 308:
5277: #line 1791 "parse.y"
5278: { yyval.ttype = get_decl_list (yyval.ttype); ;
5279: break;}
5280: case 309:
5281: #line 1793 "parse.y"
5282: { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
5283: break;}
5284: case 310:
5285: #line 1795 "parse.y"
5286: { yyval.ttype = decl_tree_cons (NULL_TREE, yyval.ttype, yyvsp[0].ttype); ;
5287: break;}
5288: case 311:
5289: #line 1797 "parse.y"
5290: { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[-1].ttype, chainon (yyvsp[0].ttype, yyval.ttype)); ;
5291: break;}
5292: case 312:
5293: #line 1802 "parse.y"
5294: { yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
5295: break;}
5296: case 313:
5297: #line 1804 "parse.y"
5298: { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
5299: break;}
5300: case 317:
5301: #line 1815 "parse.y"
5302: { yyval.ttype = TREE_TYPE (yyvsp[-1].ttype);
5303: if (flag_ansi)
5304: pedwarn ("ANSI C++ forbids `typeof'"); ;
5305: break;}
5306: case 318:
5307: #line 1819 "parse.y"
5308: { yyval.ttype = groktypename (yyvsp[-1].ttype);
5309: if (flag_ansi)
5310: pedwarn ("ANSI C++ forbids `typeof'"); ;
5311: break;}
5312: case 319:
5313: #line 1823 "parse.y"
5314: { tree type = TREE_TYPE (yyvsp[-1].ttype);
5315:
5316: if (IS_AGGR_TYPE (type))
5317: {
5318: sorry ("sigof type specifier");
5319: yyval.ttype = type;
5320: }
5321: else
5322: {
5323: error ("`sigof' applied to non-aggregate expression");
5324: yyval.ttype = error_mark_node;
5325: }
5326: ;
5327: break;}
5328: case 320:
5329: #line 1837 "parse.y"
5330: { tree type = groktypename (yyvsp[-1].ttype);
5331:
5332: if (IS_AGGR_TYPE (type))
5333: {
5334: sorry ("sigof type specifier");
5335: yyval.ttype = type;
5336: }
5337: else
5338: {
5339: error("`sigof' applied to non-aggregate type");
5340: yyval.ttype = error_mark_node;
5341: }
5342: ;
5343: break;}
5344: case 330:
5345: #line 1876 "parse.y"
5346: { yyval.ttype = NULL_TREE; ;
5347: break;}
5348: case 331:
5349: #line 1878 "parse.y"
5350: { if (TREE_CHAIN (yyvsp[-1].ttype)) yyvsp[-1].ttype = combine_strings (yyvsp[-1].ttype); yyval.ttype = yyvsp[-1].ttype; ;
5351: break;}
5352: case 332:
5353: #line 1883 "parse.y"
5354: { current_declspecs = yyvsp[-5].ttype;
5355: if (TREE_CODE (current_declspecs) != TREE_LIST)
5356: current_declspecs = get_decl_list (current_declspecs);
5357: if (have_extern_spec && !used_extern_spec)
5358: {
5359: current_declspecs = decl_tree_cons
5360: (NULL_TREE, get_identifier ("extern"),
5361: current_declspecs);
5362: used_extern_spec = 1;
5363: }
5364: yyvsp[0].itype = suspend_momentary ();
5365: yyval.ttype = start_decl (yyvsp[-4].ttype, current_declspecs, 1, yyvsp[-3].ttype);
5366: cplus_decl_attributes (yyval.ttype, yyvsp[-1].ttype); ;
5367: break;}
5368: case 333:
5369: #line 1898 "parse.y"
5370: { finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 0);
5371: yyval.itype = yyvsp[-2].itype; ;
5372: break;}
5373: case 334:
5374: #line 1901 "parse.y"
5375: { tree d;
5376: current_declspecs = yyvsp[-4].ttype;
5377: if (TREE_CODE (current_declspecs) != TREE_LIST)
5378: current_declspecs = get_decl_list (current_declspecs);
5379: if (have_extern_spec && !used_extern_spec)
5380: {
5381: current_declspecs = decl_tree_cons
5382: (NULL_TREE, get_identifier ("extern"),
5383: current_declspecs);
5384: used_extern_spec = 1;
5385: }
5386: yyval.itype = suspend_momentary ();
5387: d = start_decl (yyvsp[-3].ttype, current_declspecs, 0, yyvsp[-2].ttype);
5388: cplus_decl_attributes (d, yyvsp[0].ttype);
5389: finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 0); ;
5390: break;}
5391: case 335:
5392: #line 1920 "parse.y"
5393: { yyval.ttype = start_decl (yyvsp[-4].ttype, current_declspecs, 1, yyvsp[-3].ttype);
5394: cplus_decl_attributes (yyval.ttype, yyvsp[-1].ttype); ;
5395: break;}
5396: case 336:
5397: #line 1924 "parse.y"
5398: { finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 0); ;
5399: break;}
5400: case 337:
5401: #line 1926 "parse.y"
5402: { yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 0, yyvsp[-2].ttype);
5403: cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype);
5404: finish_decl (yyval.ttype, NULL_TREE, yyvsp[-1].ttype, 0); ;
5405: break;}
5406: case 338:
5407: #line 1933 "parse.y"
5408: { current_declspecs = yyvsp[-5].ttype;
5409: yyvsp[0].itype = suspend_momentary ();
5410: yyval.ttype = start_decl (yyvsp[-4].ttype, current_declspecs, 1, yyvsp[-3].ttype);
5411: cplus_decl_attributes (yyval.ttype, yyvsp[-1].ttype); ;
5412: break;}
5413: case 339:
5414: #line 1939 "parse.y"
5415: { finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 0);
5416: yyval.itype = yyvsp[-2].itype; ;
5417: break;}
5418: case 340:
5419: #line 1942 "parse.y"
5420: { tree d;
5421: current_declspecs = yyvsp[-4].ttype;
5422: yyval.itype = suspend_momentary ();
5423: d = start_decl (yyvsp[-3].ttype, current_declspecs, 0, yyvsp[-2].ttype);
5424: cplus_decl_attributes (d, yyvsp[0].ttype);
5425: finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 0); ;
5426: break;}
5427: case 341:
5428: #line 1952 "parse.y"
5429: { current_declspecs = NULL_TREE;
5430: yyvsp[0].itype = suspend_momentary ();
5431: yyval.ttype = start_decl (yyvsp[-4].ttype, current_declspecs, 1, yyvsp[-3].ttype);
5432: cplus_decl_attributes (yyval.ttype, yyvsp[-1].ttype); ;
5433: break;}
5434: case 342:
5435: #line 1958 "parse.y"
5436: { finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 0);
5437: yyval.itype = yyvsp[-2].itype; ;
5438: break;}
5439: case 343:
5440: #line 1961 "parse.y"
5441: { tree d;
5442: current_declspecs = NULL_TREE;
5443: yyval.itype = suspend_momentary ();
5444: d = start_decl (yyvsp[-3].ttype, current_declspecs, 0, yyvsp[-2].ttype);
5445: cplus_decl_attributes (d, yyvsp[0].ttype);
5446: finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 0); ;
5447: break;}
5448: case 344:
5449: #line 1973 "parse.y"
5450: { yyval.ttype = NULL_TREE; ;
5451: break;}
5452: case 345:
5453: #line 1975 "parse.y"
5454: { yyval.ttype = yyvsp[0].ttype; ;
5455: break;}
5456: case 346:
5457: #line 1980 "parse.y"
5458: { yyval.ttype = yyvsp[0].ttype; ;
5459: break;}
5460: case 347:
5461: #line 1982 "parse.y"
5462: { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ;
5463: break;}
5464: case 348:
5465: #line 1987 "parse.y"
5466: { yyval.ttype = yyvsp[-2].ttype; ;
5467: break;}
5468: case 349:
5469: #line 1992 "parse.y"
5470: { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
5471: break;}
5472: case 350:
5473: #line 1994 "parse.y"
5474: { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
5475: break;}
5476: case 351:
5477: #line 1999 "parse.y"
5478: { yyval.ttype = NULL_TREE; ;
5479: break;}
5480: case 352:
5481: #line 2001 "parse.y"
5482: { yyval.ttype = yyvsp[0].ttype; ;
5483: break;}
5484: case 353:
5485: #line 2003 "parse.y"
5486: { yyval.ttype = tree_cons (yyvsp[-3].ttype, NULL_TREE, build_tree_list (NULL_TREE, yyvsp[-1].ttype)); ;
5487: break;}
5488: case 354:
5489: #line 2005 "parse.y"
5490: { yyval.ttype = tree_cons (yyvsp[-5].ttype, NULL_TREE, tree_cons (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype)); ;
5491: break;}
5492: case 355:
5493: #line 2007 "parse.y"
5494: { yyval.ttype = tree_cons (yyvsp[-3].ttype, NULL_TREE, yyvsp[-1].ttype); ;
5495: break;}
5496: case 360:
5497: #line 2023 "parse.y"
5498: { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
5499: break;}
5500: case 361:
5501: #line 2025 "parse.y"
5502: { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
5503: break;}
5504: case 363:
5505: #line 2031 "parse.y"
5506: { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, NULL_TREE);
5507: TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
5508: break;}
5509: case 364:
5510: #line 2034 "parse.y"
5511: { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-1].ttype));
5512: TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
5513: break;}
5514: case 365:
5515: #line 2037 "parse.y"
5516: { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-2].ttype));
5517: TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
5518: break;}
5519: case 366:
5520: #line 2040 "parse.y"
5521: { yyval.ttype = NULL_TREE; ;
5522: break;}
5523: case 367:
5524: #line 2047 "parse.y"
5525: { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
5526: break;}
5527: case 368:
5528: #line 2049 "parse.y"
5529: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
5530: break;}
5531: case 369:
5532: #line 2052 "parse.y"
5533: { yyval.ttype = build_tree_list (yyvsp[-2].ttype, yyvsp[0].ttype); ;
5534: break;}
5535: case 370:
5536: #line 2054 "parse.y"
5537: { yyval.ttype = tree_cons (yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype); ;
5538: break;}
5539: case 371:
5540: #line 2056 "parse.y"
5541: { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[0].ttype); ;
5542: break;}
5543: case 372:
5544: #line 2058 "parse.y"
5545: { yyval.ttype = tree_cons (yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype); ;
5546: break;}
5547: case 373:
5548: #line 2063 "parse.y"
5549: { yyvsp[0].itype = suspend_momentary ();
5550: yyval.ttype = start_enum (yyvsp[-1].ttype); ;
5551: break;}
5552: case 374:
5553: #line 2066 "parse.y"
5554: { yyval.ttype = finish_enum (yyvsp[-3].ttype, yyvsp[-2].ttype);
5555: resume_momentary ((int) yyvsp[-4].itype);
5556: check_for_missing_semicolon (yyvsp[-3].ttype); ;
5557: break;}
5558: case 375:
5559: #line 2070 "parse.y"
5560: { yyval.ttype = finish_enum (start_enum (yyvsp[-2].ttype), NULL_TREE);
5561: check_for_missing_semicolon (yyval.ttype); ;
5562: break;}
5563: case 376:
5564: #line 2073 "parse.y"
5565: { yyvsp[0].itype = suspend_momentary ();
5566: yyval.ttype = start_enum (make_anon_name ()); ;
5567: break;}
5568: case 377:
5569: #line 2076 "parse.y"
5570: { yyval.ttype = finish_enum (yyvsp[-3].ttype, yyvsp[-2].ttype);
5571: resume_momentary ((int) yyvsp[-5].itype);
5572: check_for_missing_semicolon (yyvsp[-3].ttype); ;
5573: break;}
5574: case 378:
5575: #line 2080 "parse.y"
5576: { yyval.ttype = finish_enum (start_enum (make_anon_name()), NULL_TREE);
5577: check_for_missing_semicolon (yyval.ttype); ;
5578: break;}
5579: case 379:
5580: #line 2083 "parse.y"
5581: { yyval.ttype = xref_tag (enum_type_node, yyvsp[0].ttype, NULL_TREE, 0); ;
5582: break;}
5583: case 380:
5584: #line 2085 "parse.y"
5585: { yyval.ttype = xref_tag (enum_type_node, yyvsp[0].ttype, NULL_TREE, 0); ;
5586: break;}
5587: case 381:
5588: #line 2089 "parse.y"
5589: {
5590: int semi;
5591: tree id;
5592:
5593: #if 0
5594: /* Need to rework class nesting in the
5595: presence of nested classes, etc. */
5596: shadow_tag (CLASSTYPE_AS_LIST (yyval.ttype)); */
5597: #endif
5598: if (yychar == YYEMPTY)
5599: yychar = YYLEX;
5600: semi = yychar == ';';
5601: /* finish_struct nukes this anyway; if
5602: finish_exception does too, then it can go. */
5603: if (semi)
5604: note_got_semicolon (yyval.ttype);
5605:
5606: if (TREE_CODE (yyval.ttype) == ENUMERAL_TYPE)
5607: /* $$ = $1 from default rule. */;
5608: else if (CLASSTYPE_DECLARED_EXCEPTION (yyval.ttype))
5609: {
5610: }
5611: else
5612: {
5613: yyval.ttype = finish_struct (yyval.ttype, yyvsp[-1].ttype, semi);
5614: if (semi) note_got_semicolon (yyval.ttype);
5615: }
5616:
5617: pop_obstacks ();
5618:
5619: id = TYPE_IDENTIFIER (yyval.ttype);
5620: if (id && IDENTIFIER_TEMPLATE (id))
5621: {
5622: tree decl;
5623:
5624: /* I don't know if the copying of this TYPE_DECL is
5625: * really needed. However, it's such a small per-
5626: * formance penalty that the extra safety is a bargain.
5627: * - [email protected]
5628: */
5629: push_obstacks (&permanent_obstack, &permanent_obstack);
5630: decl = copy_node (lookup_name (id, 0));
5631: if (DECL_LANG_SPECIFIC (decl))
5632: copy_lang_decl (decl);
5633: pop_obstacks ();
5634: undo_template_name_overload (id, 0);
5635: pushdecl_top_level (decl);
5636: }
5637: if (! semi)
5638: check_for_missing_semicolon (yyval.ttype); ;
5639: break;}
5640: case 382:
5641: #line 2140 "parse.y"
5642: {
5643: #if 0
5644: /* It's no longer clear what the following error is supposed to
5645: accomplish. If it turns out to be needed, add a comment why. */
5646: if (TYPE_BINFO_BASETYPES (yyval.ttype) && !TYPE_SIZE (yyval.ttype))
5647: {
5648: error ("incomplete definition of type `%s'",
5649: TYPE_NAME_STRING (yyval.ttype));
5650: yyval.ttype = error_mark_node;
5651: }
5652: #endif
5653: ;
5654: break;}
5655: case 386:
5656: #line 2162 "parse.y"
5657: { if (pedantic) pedwarn ("comma at end of enumerator list"); ;
5658: break;}
5659: case 388:
5660: #line 2167 "parse.y"
5661: { error ("storage class specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
5662: break;}
5663: case 389:
5664: #line 2169 "parse.y"
5665: { error ("type specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
5666: break;}
5667: case 390:
5668: #line 2171 "parse.y"
5669: { error ("type qualifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
5670: break;}
5671: case 391:
5672: #line 2173 "parse.y"
5673: { error ("no body nor ';' separates two class, struct or union declarations"); ;
5674: break;}
5675: case 392:
5676: #line 2178 "parse.y"
5677: {
5678: yyungetc (';', 1); current_aggr = yyval.ttype; yyval.ttype = yyvsp[-1].ttype;
5679: if (yyvsp[-3].ttype == ridpointers[(int) RID_TEMPLATE])
5680: instantiate_class_template (yyval.ttype, 2);
5681: ;
5682: break;}
5683: case 393:
5684: #line 2187 "parse.y"
5685: { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
5686: break;}
5687: case 394:
5688: #line 2189 "parse.y"
5689: { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
5690: break;}
5691: case 395:
5692: #line 2191 "parse.y"
5693: { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
5694: break;}
5695: case 396:
5696: #line 2193 "parse.y"
5697: { yyungetc ('{', 1);
5698: aggr2:
5699: current_aggr = yyval.ttype;
5700: yyval.ttype = yyvsp[-1].ttype;
5701: overload_template_name (yyval.ttype, 0); ;
5702: break;}
5703: case 397:
5704: #line 2199 "parse.y"
5705: { yyungetc (':', 1); goto aggr2; ;
5706: break;}
5707: case 399:
5708: #line 2205 "parse.y"
5709: { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
5710: break;}
5711: case 400:
5712: #line 2209 "parse.y"
5713: { yyval.ttype = xref_tag (current_aggr, yyvsp[0].ttype, NULL_TREE, 1); ;
5714: break;}
5715: case 401:
5716: #line 2212 "parse.y"
5717: { yyval.ttype = xref_defn_tag (current_aggr, yyvsp[0].ttype, NULL_TREE); ;
5718: break;}
5719: case 402:
5720: #line 2217 "parse.y"
5721: {
5722: if (yyvsp[0].ttype)
5723: yyval.ttype = xref_tag (current_aggr, yyvsp[-2].ttype, yyvsp[0].ttype, 1);
5724: else
5725: yyval.ttype = yyvsp[-1].ttype;
5726: ;
5727: break;}
5728: case 403:
5729: #line 2226 "parse.y"
5730: {
5731: if (yyvsp[0].ttype)
5732: yyval.ttype = xref_defn_tag (current_aggr, yyvsp[-2].ttype, yyvsp[0].ttype);
5733: else
5734: yyval.ttype = yyvsp[-1].ttype;
5735: ;
5736: break;}
5737: case 404:
5738: #line 2235 "parse.y"
5739: { yyval.ttype = xref_tag (yyval.ttype, make_anon_name (), NULL_TREE, 0);
5740: yyungetc ('{', 1); ;
5741: break;}
5742: case 407:
5743: #line 2243 "parse.y"
5744: { yyval.ttype = NULL_TREE; ;
5745: break;}
5746: case 408:
5747: #line 2245 "parse.y"
5748: { yyungetc(':', 1); yyval.ttype = NULL_TREE; ;
5749: break;}
5750: case 409:
5751: #line 2247 "parse.y"
5752: { yyval.ttype = yyvsp[0].ttype; ;
5753: break;}
5754: case 411:
5755: #line 2253 "parse.y"
5756: { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
5757: break;}
5758: case 412:
5759: #line 2258 "parse.y"
5760: {
5761: tree type;
5762: do_base_class1:
5763: type = IDENTIFIER_TYPE_VALUE (yyval.ttype);
5764: if (! is_aggr_typedef (yyval.ttype, 1))
5765: yyval.ttype = NULL_TREE;
5766: else if (current_aggr == signature_type_node
5767: && (! type) && (! IS_SIGNATURE (type)))
5768: {
5769: error ("class name not allowed as base signature");
5770: yyval.ttype = NULL_TREE;
5771: }
5772: else if (current_aggr == signature_type_node)
5773: {
5774: sorry ("signature inheritance, base type `%s' ignored",
5775: IDENTIFIER_POINTER (yyval.ttype));
5776: yyval.ttype = build_tree_list ((tree)access_public, yyval.ttype);
5777: }
5778: else if (type && IS_SIGNATURE (type))
5779: {
5780: error ("signature name not allowed as base class");
5781: yyval.ttype = NULL_TREE;
5782: }
5783: else
5784: yyval.ttype = build_tree_list ((tree)access_default, yyval.ttype);
5785: ;
5786: break;}
5787: case 413:
5788: #line 2285 "parse.y"
5789: {
5790: tree type;
5791: do_base_class2:
5792: type = IDENTIFIER_TYPE_VALUE (yyvsp[0].ttype);
5793: if (current_aggr == signature_type_node)
5794: error ("access and source specifiers not allowed in signature");
5795: if (! is_aggr_typedef (yyvsp[0].ttype, 1))
5796: yyval.ttype = NULL_TREE;
5797: else if (current_aggr == signature_type_node
5798: && (! type) && (! IS_SIGNATURE (type)))
5799: {
5800: error ("class name not allowed as base signature");
5801: yyval.ttype = NULL_TREE;
5802: }
5803: else if (current_aggr == signature_type_node)
5804: {
5805: sorry ("signature inheritance, base type `%s' ignored",
5806: IDENTIFIER_POINTER (yyval.ttype));
5807: yyval.ttype = build_tree_list ((tree)access_public, yyvsp[0].ttype);
5808: }
5809: else if (type && IS_SIGNATURE (type))
5810: {
5811: error ("signature name not allowed as base class");
5812: yyval.ttype = NULL_TREE;
5813: }
5814: else
5815: yyval.ttype = build_tree_list ((tree) yyval.ttype, yyvsp[0].ttype);
5816: ;
5817: break;}
5818: case 415:
5819: #line 2318 "parse.y"
5820: {
5821: if (current_aggr == signature_type_node)
5822: {
5823: if (IS_AGGR_TYPE (TREE_TYPE (yyvsp[-1].ttype)))
5824: {
5825: sorry ("`sigof' as base signature specifier");
5826: /* need to return some dummy signature identifier */
5827: yyval.ttype = yyvsp[-1].ttype;
5828: }
5829: else
5830: {
5831: error ("`sigof' applied to non-aggregate expression");
5832: yyval.ttype = error_mark_node;
5833: }
5834: }
5835: else
5836: {
5837: error ("`sigof' in struct or class declaration");
5838: yyval.ttype = error_mark_node;
5839: }
5840: ;
5841: break;}
5842: case 416:
5843: #line 2340 "parse.y"
5844: {
5845: if (current_aggr == signature_type_node)
5846: {
5847: if (IS_AGGR_TYPE (groktypename (yyvsp[-1].ttype)))
5848: {
5849: sorry ("`sigof' as base signature specifier");
5850: /* need to return some dummy signature identifier */
5851: yyval.ttype = yyvsp[-1].ttype;
5852: }
5853: else
5854: {
5855: error ("`sigof' applied to non-aggregate expression");
5856: yyval.ttype = error_mark_node;
5857: }
5858: }
5859: else
5860: {
5861: error ("`sigof' in struct or class declaration");
5862: yyval.ttype = error_mark_node;
5863: }
5864: ;
5865: break;}
5866: case 418:
5867: #line 2366 "parse.y"
5868: { if (yyval.ttype != ridpointers[(int)RID_VIRTUAL])
5869: sorry ("non-virtual access");
5870: yyval.itype = access_default_virtual; ;
5871: break;}
5872: case 419:
5873: #line 2370 "parse.y"
5874: { int err = 0;
5875: if (yyvsp[0].itype == access_protected)
5876: {
5877: warning ("`protected' access not implemented");
5878: yyvsp[0].itype = access_public;
5879: err++;
5880: }
5881: else if (yyvsp[0].itype == access_public)
5882: {
5883: if (yyvsp[-1].itype == access_private)
5884: {
5885: mixed:
5886: error ("base class cannot be public and private");
5887: }
5888: else if (yyvsp[-1].itype == access_default_virtual)
5889: yyval.itype = access_public_virtual;
5890: }
5891: else /* $2 == access_private */
5892: {
5893: if (yyvsp[-1].itype == access_public)
5894: goto mixed;
5895: else if (yyvsp[-1].itype == access_default_virtual)
5896: yyval.itype = access_private_virtual;
5897: }
5898: ;
5899: break;}
5900: case 420:
5901: #line 2396 "parse.y"
5902: { if (yyvsp[0].ttype != ridpointers[(int)RID_VIRTUAL])
5903: sorry ("non-virtual access");
5904: if (yyval.itype == access_public)
5905: yyval.itype = access_public_virtual;
5906: else if (yyval.itype == access_private)
5907: yyval.itype = access_private_virtual; ;
5908: break;}
5909: case 421:
5910: #line 2405 "parse.y"
5911: { tree t = yyvsp[-1].ttype;
5912: push_obstacks_nochange ();
5913: end_temporary_allocation ();
5914:
5915: if (! IS_AGGR_TYPE (t))
5916: {
5917: t = yyvsp[-1].ttype = make_lang_type (RECORD_TYPE);
5918: TYPE_NAME (t) = get_identifier ("erroneous type");
5919: }
5920: if (TYPE_SIZE (t))
5921: duplicate_tag_error (t);
5922: if (TYPE_SIZE (t) || TYPE_BEING_DEFINED (t))
5923: {
5924: t = make_lang_type (TREE_CODE (t));
5925: pushtag (TYPE_IDENTIFIER (yyvsp[-1].ttype), t, 0);
5926: yyvsp[-1].ttype = t;
5927: }
5928: pushclass (t, 0);
5929: TYPE_BEING_DEFINED (t) = 1;
5930: /* Reset the interface data, at the earliest possible
5931: moment, as it might have been set via a class foo;
5932: before. */
5933: /* Don't change signatures. */
5934: if (! IS_SIGNATURE (t))
5935: {
5936: extern tree pending_vtables;
5937: int needs_writing;
5938: tree name = TYPE_IDENTIFIER (t);
5939:
5940: CLASSTYPE_INTERFACE_ONLY (t) = interface_only;
5941: SET_CLASSTYPE_INTERFACE_UNKNOWN_X (t, interface_unknown);
5942:
5943: /* Record how to set the access of this class's
5944: virtual functions. If write_virtuals == 2 or 3, then
5945: inline virtuals are ``extern inline''. */
5946: switch (write_virtuals)
5947: {
5948: case 0:
5949: case 1:
5950: needs_writing = 1;
5951: break;
5952: case 2:
5953: needs_writing = !! value_member (name, pending_vtables);
5954: break;
5955: case 3:
5956: needs_writing = ! CLASSTYPE_INTERFACE_ONLY (t)
5957: && CLASSTYPE_INTERFACE_KNOWN (t);
5958: break;
5959: default:
5960: needs_writing = 0;
5961: }
5962: CLASSTYPE_VTABLE_NEEDS_WRITING (t) = needs_writing;
5963: }
5964: #if 0
5965: t = TYPE_IDENTIFIER (yyvsp[-1].ttype);
5966: if (t && IDENTIFIER_TEMPLATE (t))
5967: overload_template_name (t, 1);
5968: #endif
5969: ;
5970: break;}
5971: case 422:
5972: #line 2468 "parse.y"
5973: { yyval.ttype = NULL_TREE; ;
5974: break;}
5975: case 423:
5976: #line 2470 "parse.y"
5977: {
5978: if (current_aggr == signature_type_node)
5979: yyval.ttype = build_tree_list ((tree) access_public, yyval.ttype);
5980: else
5981: yyval.ttype = build_tree_list ((tree) access_default, yyval.ttype);
5982: ;
5983: break;}
5984: case 424:
5985: #line 2477 "parse.y"
5986: {
5987: tree visspec = (tree) yyvsp[-2].itype;
5988:
5989: if (current_aggr == signature_type_node)
5990: {
5991: error ("access specifier not allowed in signature");
5992: visspec = (tree) access_public;
5993: }
5994: yyval.ttype = chainon (yyval.ttype, build_tree_list (visspec, yyvsp[0].ttype));
5995: ;
5996: break;}
5997: case 425:
5998: #line 2488 "parse.y"
5999: {
6000: if (current_aggr == signature_type_node)
6001: error ("access specifier not allowed in signature");
6002: ;
6003: break;}
6004: case 426:
6005: #line 2498 "parse.y"
6006: { if (yyval.ttype == void_type_node) yyval.ttype = NULL_TREE;
6007: ;
6008: break;}
6009: case 427:
6010: #line 2501 "parse.y"
6011: { /* In pushdecl, we created a reverse list of names
6012: in this binding level. Make sure that the chain
6013: of what we're trying to add isn't the item itself
6014: (which can happen with what pushdecl's doing). */
6015: if (yyvsp[0].ttype != NULL_TREE && yyvsp[0].ttype != void_type_node)
6016: {
6017: if (TREE_CHAIN (yyvsp[0].ttype) != yyval.ttype)
6018: yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype);
6019: else
6020: yyval.ttype = yyvsp[0].ttype;
6021: }
6022: ;
6023: break;}
6024: case 430:
6025: #line 2519 "parse.y"
6026: { error ("missing ';' before right brace");
6027: yyungetc ('}', 0); ;
6028: break;}
6029: case 431:
6030: #line 2524 "parse.y"
6031: { yyval.ttype = finish_method (yyval.ttype); ;
6032: break;}
6033: case 432:
6034: #line 2526 "parse.y"
6035: { yyval.ttype = finish_method (yyval.ttype); ;
6036: break;}
6037: case 433:
6038: #line 2534 "parse.y"
6039: {
6040: yyval.ttype = grok_x_components (yyval.ttype, yyvsp[0].ttype);
6041: ;
6042: break;}
6043: case 434:
6044: #line 2538 "parse.y"
6045: {
6046: yyval.ttype = grok_x_components (yyval.ttype, yyvsp[0].ttype);
6047: ;
6048: break;}
6049: case 435:
6050: #line 2542 "parse.y"
6051: { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[-2].ttype, NULL_TREE, yyvsp[-1].ttype);
6052: cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
6053: break;}
6054: case 436:
6055: #line 2545 "parse.y"
6056: { yyval.ttype = grokbitfield (NULL_TREE, NULL_TREE, yyvsp[0].ttype); ;
6057: break;}
6058: case 437:
6059: #line 2547 "parse.y"
6060: { yyval.ttype = NULL_TREE; ;
6061: break;}
6062: case 438:
6063: #line 2558 "parse.y"
6064: { yyval.ttype = build_parse_node (CALL_EXPR, TREE_VALUE (yyvsp[-4].ttype),
6065: yyvsp[-2].ttype, yyvsp[0].ttype);
6066: yyval.ttype = grokfield (yyval.ttype, TREE_CHAIN (yyvsp[-4].ttype), NULL_TREE, NULL_TREE,
6067: NULL_TREE); ;
6068: break;}
6069: case 439:
6070: #line 2563 "parse.y"
6071: { yyval.ttype = build_parse_node (CALL_EXPR, TREE_VALUE (yyvsp[-2].ttype),
6072: empty_parms (), yyvsp[0].ttype);
6073: yyval.ttype = grokfield (yyval.ttype, TREE_CHAIN (yyvsp[-2].ttype), NULL_TREE, NULL_TREE,
6074: NULL_TREE); ;
6075: break;}
6076: case 440:
6077: #line 2572 "parse.y"
6078: { yyval.ttype = NULL_TREE; ;
6079: break;}
6080: case 442:
6081: #line 2575 "parse.y"
6082: {
6083: /* In this context, void_type_node encodes
6084: friends. They have been recorded elsewhere. */
6085: if (yyval.ttype == void_type_node)
6086: yyval.ttype = yyvsp[0].ttype;
6087: else
6088: yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype);
6089: ;
6090: break;}
6091: case 443:
6092: #line 2587 "parse.y"
6093: { yyval.ttype = NULL_TREE; ;
6094: break;}
6095: case 445:
6096: #line 2590 "parse.y"
6097: {
6098: /* In this context, void_type_node encodes
6099: friends. They have been recorded elsewhere. */
6100: if (yyval.ttype == void_type_node)
6101: yyval.ttype = yyvsp[0].ttype;
6102: else
6103: yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype);
6104: ;
6105: break;}
6106: case 450:
6107: #line 2612 "parse.y"
6108: { current_declspecs = yyvsp[-4].ttype;
6109: yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[-2].ttype, NULL_TREE, yyvsp[-1].ttype);
6110: cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
6111: break;}
6112: case 451:
6113: #line 2616 "parse.y"
6114: { current_declspecs = yyvsp[-6].ttype;
6115: yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[-4].ttype, yyvsp[0].ttype, yyvsp[-3].ttype);
6116: cplus_decl_attributes (yyval.ttype, yyvsp[-2].ttype); ;
6117: break;}
6118: case 452:
6119: #line 2620 "parse.y"
6120: { current_declspecs = yyvsp[-4].ttype;
6121: yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6122: cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
6123: break;}
6124: case 453:
6125: #line 2627 "parse.y"
6126: { current_declspecs = yyvsp[-4].ttype;
6127: yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[-2].ttype, NULL_TREE, yyvsp[-1].ttype);
6128: cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
6129: break;}
6130: case 454:
6131: #line 2631 "parse.y"
6132: { current_declspecs = yyvsp[-6].ttype;
6133: yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[-4].ttype, yyvsp[0].ttype, yyvsp[-3].ttype);
6134: cplus_decl_attributes (yyval.ttype, yyvsp[-2].ttype); ;
6135: break;}
6136: case 455:
6137: #line 2635 "parse.y"
6138: { current_declspecs = yyvsp[-4].ttype;
6139: yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6140: cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
6141: break;}
6142: case 456:
6143: #line 2639 "parse.y"
6144: { current_declspecs = yyvsp[-3].ttype;
6145: yyval.ttype = grokbitfield (NULL_TREE, current_declspecs, yyvsp[-1].ttype);
6146: cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
6147: break;}
6148: case 457:
6149: #line 2646 "parse.y"
6150: { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[-2].ttype, NULL_TREE, yyvsp[-1].ttype);
6151: cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
6152: break;}
6153: case 458:
6154: #line 2649 "parse.y"
6155: { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[-4].ttype, yyvsp[0].ttype, yyvsp[-3].ttype);
6156: cplus_decl_attributes (yyval.ttype, yyvsp[-2].ttype); ;
6157: break;}
6158: case 459:
6159: #line 2652 "parse.y"
6160: { yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6161: cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
6162: break;}
6163: case 460:
6164: #line 2658 "parse.y"
6165: { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[-2].ttype, NULL_TREE, yyvsp[-1].ttype);
6166: cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
6167: break;}
6168: case 461:
6169: #line 2661 "parse.y"
6170: { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[-4].ttype, yyvsp[0].ttype, yyvsp[-3].ttype);
6171: cplus_decl_attributes (yyval.ttype, yyvsp[-2].ttype); ;
6172: break;}
6173: case 462:
6174: #line 2664 "parse.y"
6175: { yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6176: cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
6177: break;}
6178: case 463:
6179: #line 2667 "parse.y"
6180: { yyval.ttype = grokbitfield (NULL_TREE, current_declspecs, yyvsp[-1].ttype);
6181: cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
6182: break;}
6183: case 465:
6184: #line 2678 "parse.y"
6185: { TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
6186: break;}
6187: case 466:
6188: #line 2683 "parse.y"
6189: { yyval.ttype = build_enumerator (yyval.ttype, NULL_TREE); ;
6190: break;}
6191: case 467:
6192: #line 2685 "parse.y"
6193: { yyval.ttype = build_enumerator (yyval.ttype, yyvsp[0].ttype); ;
6194: break;}
6195: case 468:
6196: #line 2691 "parse.y"
6197: { yyval.ttype = build_decl_list (yyval.ttype, yyvsp[0].ttype); ;
6198: break;}
6199: case 469:
6200: #line 2693 "parse.y"
6201: { yyval.ttype = build_decl_list (yyval.ttype, NULL_TREE); ;
6202: break;}
6203: case 470:
6204: #line 2697 "parse.y"
6205: {
6206: if (flag_ansi)
6207: pedwarn ("ANSI C++ forbids array dimensions with parenthesized type in new");
6208: yyval.ttype = build_parse_node (ARRAY_REF, TREE_VALUE (yyvsp[-4].ttype), yyvsp[-1].ttype);
6209: yyval.ttype = build_decl_list (TREE_PURPOSE (yyvsp[-4].ttype), yyval.ttype);
6210: ;
6211: break;}
6212: case 471:
6213: #line 2707 "parse.y"
6214: { yyval.ttype = NULL_TREE; ;
6215: break;}
6216: case 472:
6217: #line 2709 "parse.y"
6218: { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
6219: break;}
6220: case 473:
6221: #line 2714 "parse.y"
6222: { yyval.ttype = IDENTIFIER_AS_LIST (yyval.ttype); ;
6223: break;}
6224: case 474:
6225: #line 2716 "parse.y"
6226: { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
6227: break;}
6228: case 475:
6229: #line 2724 "parse.y"
6230: { yyval.itype = suspend_momentary (); ;
6231: break;}
6232: case 476:
6233: #line 2725 "parse.y"
6234: { resume_momentary ((int) yyvsp[-1].itype); yyval.ttype = yyvsp[0].ttype; ;
6235: break;}
6236: case 477:
6237: #line 2732 "parse.y"
6238: { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6239: break;}
6240: case 478:
6241: #line 2734 "parse.y"
6242: { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6243: break;}
6244: case 479:
6245: #line 2736 "parse.y"
6246: { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
6247: break;}
6248: case 480:
6249: #line 2738 "parse.y"
6250: { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
6251: break;}
6252: case 481:
6253: #line 2740 "parse.y"
6254: { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
6255: yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
6256: ;
6257: break;}
6258: case 483:
6259: #line 2748 "parse.y"
6260: {
6261: /* Remember that this name has been used in the class
6262: definition, as per [class.scope0] */
6263: if (current_class_type
6264: && TYPE_BEING_DEFINED (current_class_type)
6265: && ! IDENTIFIER_CLASS_VALUE (yyval.ttype))
6266: {
6267: tree t = lookup_name (yyval.ttype, -2);
6268: if (t)
6269: pushdecl_class_level (t);
6270: }
6271: ;
6272: break;}
6273: case 485:
6274: #line 2765 "parse.y"
6275: { yyval.ttype = yyvsp[0].ttype; ;
6276: break;}
6277: case 486:
6278: #line 2770 "parse.y"
6279: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
6280: break;}
6281: case 487:
6282: #line 2772 "parse.y"
6283: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
6284: break;}
6285: case 488:
6286: #line 2774 "parse.y"
6287: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, empty_parms (), yyvsp[0].ttype); ;
6288: break;}
6289: case 489:
6290: #line 2776 "parse.y"
6291: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, NULL_TREE, NULL_TREE); ;
6292: break;}
6293: case 490:
6294: #line 2778 "parse.y"
6295: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
6296: break;}
6297: case 491:
6298: #line 2780 "parse.y"
6299: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
6300: break;}
6301: case 492:
6302: #line 2782 "parse.y"
6303: { yyval.ttype = yyvsp[-1].ttype; ;
6304: break;}
6305: case 493:
6306: #line 2784 "parse.y"
6307: { push_nested_class (TREE_TYPE (yyval.ttype), 3);
6308: yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype);
6309: TREE_COMPLEXITY (yyval.ttype) = current_class_depth; ;
6310: break;}
6311: case 495:
6312: #line 2795 "parse.y"
6313: { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6314: break;}
6315: case 496:
6316: #line 2797 "parse.y"
6317: { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6318: break;}
6319: case 497:
6320: #line 2799 "parse.y"
6321: { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
6322: break;}
6323: case 498:
6324: #line 2801 "parse.y"
6325: { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
6326: break;}
6327: case 499:
6328: #line 2803 "parse.y"
6329: { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
6330: yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
6331: ;
6332: break;}
6333: case 501:
6334: #line 2811 "parse.y"
6335: { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6336: break;}
6337: case 502:
6338: #line 2813 "parse.y"
6339: { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6340: break;}
6341: case 503:
6342: #line 2815 "parse.y"
6343: { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
6344: break;}
6345: case 504:
6346: #line 2817 "parse.y"
6347: { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
6348: break;}
6349: case 505:
6350: #line 2819 "parse.y"
6351: { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
6352: yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
6353: ;
6354: break;}
6355: case 507:
6356: #line 2827 "parse.y"
6357: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
6358: break;}
6359: case 508:
6360: #line 2829 "parse.y"
6361: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
6362: break;}
6363: case 509:
6364: #line 2831 "parse.y"
6365: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, empty_parms (), yyvsp[0].ttype); ;
6366: break;}
6367: case 510:
6368: #line 2833 "parse.y"
6369: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, NULL_TREE, NULL_TREE); ;
6370: break;}
6371: case 511:
6372: #line 2835 "parse.y"
6373: { yyval.ttype = finish_decl_parsing (yyvsp[-1].ttype); ;
6374: break;}
6375: case 512:
6376: #line 2837 "parse.y"
6377: { yyval.ttype = yyvsp[-1].ttype; ;
6378: break;}
6379: case 513:
6380: #line 2839 "parse.y"
6381: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
6382: break;}
6383: case 514:
6384: #line 2841 "parse.y"
6385: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
6386: break;}
6387: case 515:
6388: #line 2846 "parse.y"
6389: { got_scope = NULL_TREE;
6390: yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ;
6391: break;}
6392: case 516:
6393: #line 2852 "parse.y"
6394: { got_scope = NULL_TREE;
6395: yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ;
6396: break;}
6397: case 518:
6398: #line 2859 "parse.y"
6399: { yyval.ttype = yyvsp[0].ttype; ;
6400: break;}
6401: case 519:
6402: #line 2864 "parse.y"
6403: { yyval.ttype = build_functional_cast (yyval.ttype, yyvsp[-1].ttype); ;
6404: break;}
6405: case 520:
6406: #line 2866 "parse.y"
6407: { yyval.ttype = reparse_decl_as_expr (yyval.ttype, yyvsp[-1].ttype); ;
6408: break;}
6409: case 521:
6410: #line 2868 "parse.y"
6411: { yyval.ttype = reparse_absdcl_as_expr (yyval.ttype, yyvsp[0].ttype); ;
6412: break;}
6413: case 525:
6414: #line 2879 "parse.y"
6415: { yyval.ttype = yyvsp[0].ttype; ;
6416: break;}
6417: case 526:
6418: #line 2886 "parse.y"
6419: { got_scope = TREE_TYPE (yyval.ttype); ;
6420: break;}
6421: case 527:
6422: #line 2888 "parse.y"
6423: { got_scope = TREE_TYPE (yyval.ttype); ;
6424: break;}
6425: case 529:
6426: #line 2904 "parse.y"
6427: { yyval.ttype = yyvsp[0].ttype; ;
6428: break;}
6429: case 531:
6430: #line 2910 "parse.y"
6431: { yyval.ttype = yyvsp[0].ttype; ;
6432: break;}
6433: case 532:
6434: #line 2915 "parse.y"
6435: { got_scope = NULL_TREE; ;
6436: break;}
6437: case 533:
6438: #line 2917 "parse.y"
6439: { yyval.ttype = yyvsp[-1].ttype; got_scope = NULL_TREE; ;
6440: break;}
6441: case 534:
6442: #line 2924 "parse.y"
6443: { got_scope = void_type_node; ;
6444: break;}
6445: case 535:
6446: #line 2930 "parse.y"
6447: { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6448: break;}
6449: case 536:
6450: #line 2932 "parse.y"
6451: { yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ;
6452: break;}
6453: case 537:
6454: #line 2934 "parse.y"
6455: { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6456: break;}
6457: case 538:
6458: #line 2936 "parse.y"
6459: { yyval.ttype = make_reference_declarator (yyvsp[0].ttype, NULL_TREE); ;
6460: break;}
6461: case 539:
6462: #line 2938 "parse.y"
6463: { tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE);
6464: yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, arg);
6465: ;
6466: break;}
6467: case 540:
6468: #line 2942 "parse.y"
6469: { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
6470: yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
6471: ;
6472: break;}
6473: case 542:
6474: #line 2951 "parse.y"
6475: { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
6476: break;}
6477: case 543:
6478: #line 2953 "parse.y"
6479: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
6480: break;}
6481: case 544:
6482: #line 2959 "parse.y"
6483: { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6484: break;}
6485: case 545:
6486: #line 2961 "parse.y"
6487: { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
6488: break;}
6489: case 546:
6490: #line 2963 "parse.y"
6491: { yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ;
6492: break;}
6493: case 547:
6494: #line 2965 "parse.y"
6495: { yyval.ttype = make_pointer_declarator (NULL_TREE, NULL_TREE); ;
6496: break;}
6497: case 548:
6498: #line 2967 "parse.y"
6499: { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6500: break;}
6501: case 549:
6502: #line 2969 "parse.y"
6503: { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
6504: break;}
6505: case 550:
6506: #line 2971 "parse.y"
6507: { yyval.ttype = make_reference_declarator (yyvsp[0].ttype, NULL_TREE); ;
6508: break;}
6509: case 551:
6510: #line 2973 "parse.y"
6511: { yyval.ttype = make_reference_declarator (NULL_TREE, NULL_TREE); ;
6512: break;}
6513: case 552:
6514: #line 2975 "parse.y"
6515: { tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE);
6516: yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, arg);
6517: ;
6518: break;}
6519: case 553:
6520: #line 2979 "parse.y"
6521: { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
6522: yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
6523: ;
6524: break;}
6525: case 555:
6526: #line 2988 "parse.y"
6527: { yyval.ttype = yyvsp[-1].ttype; ;
6528: break;}
6529: case 557:
6530: #line 2992 "parse.y"
6531: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
6532: break;}
6533: case 558:
6534: #line 2994 "parse.y"
6535: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, empty_parms (), yyvsp[0].ttype); ;
6536: break;}
6537: case 559:
6538: #line 2996 "parse.y"
6539: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
6540: break;}
6541: case 560:
6542: #line 2998 "parse.y"
6543: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
6544: break;}
6545: case 561:
6546: #line 3000 "parse.y"
6547: { yyval.ttype = build_parse_node (CALL_EXPR, NULL_TREE, yyvsp[-2].ttype, yyvsp[0].ttype); ;
6548: break;}
6549: case 562:
6550: #line 3002 "parse.y"
6551: { TREE_OPERAND (yyval.ttype, 2) = yyvsp[0].ttype; ;
6552: break;}
6553: case 563:
6554: #line 3004 "parse.y"
6555: { TREE_OPERAND (yyval.ttype, 2) = yyvsp[0].ttype; ;
6556: break;}
6557: case 564:
6558: #line 3006 "parse.y"
6559: { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
6560: break;}
6561: case 565:
6562: #line 3008 "parse.y"
6563: { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, NULL_TREE); ;
6564: break;}
6565: case 571:
6566: #line 3030 "parse.y"
6567: { emit_line_note (input_filename, lineno);
6568: pushlevel (0);
6569: clear_last_expr ();
6570: push_momentary ();
6571: expand_start_bindings (0); ;
6572: break;}
6573: case 573:
6574: #line 3042 "parse.y"
6575: { if (flag_ansi)
6576: pedwarn ("ANSI C++ forbids label declarations"); ;
6577: break;}
6578: case 576:
6579: #line 3053 "parse.y"
6580: { tree link;
6581: for (link = yyvsp[-1].ttype; link; link = TREE_CHAIN (link))
6582: {
6583: tree label = shadow_label (TREE_VALUE (link));
6584: C_DECLARED_LABEL_FLAG (label) = 1;
6585: declare_nonlocal_label (label);
6586: }
6587: ;
6588: break;}
6589: case 577:
6590: #line 3067 "parse.y"
6591: {;
6592: break;}
6593: case 579:
6594: #line 3072 "parse.y"
6595: { expand_end_bindings (getdecls (), kept_level_p(), 1);
6596: yyval.ttype = poplevel (kept_level_p (), 1, 0);
6597: pop_momentary (); ;
6598: break;}
6599: case 580:
6600: #line 3076 "parse.y"
6601: { expand_end_bindings (getdecls (), kept_level_p(), 1);
6602: yyval.ttype = poplevel (kept_level_p (), 1, 0);
6603: pop_momentary (); ;
6604: break;}
6605: case 581:
6606: #line 3080 "parse.y"
6607: { expand_end_bindings (getdecls (), kept_level_p(), 1);
6608: yyval.ttype = poplevel (kept_level_p (), 0, 0);
6609: pop_momentary (); ;
6610: break;}
6611: case 582:
6612: #line 3084 "parse.y"
6613: { expand_end_bindings (getdecls (), kept_level_p(), 1);
6614: yyval.ttype = poplevel (kept_level_p (), 0, 0);
6615: pop_momentary (); ;
6616: break;}
6617: case 583:
6618: #line 3091 "parse.y"
6619: { cond_stmt_keyword = "if"; ;
6620: break;}
6621: case 584:
6622: #line 3093 "parse.y"
6623: { emit_line_note (input_filename, lineno);
6624: expand_start_cond (yyvsp[0].ttype, 0); ;
6625: break;}
6626: case 586:
6627: #line 3100 "parse.y"
6628: { finish_stmt (); ;
6629: break;}
6630: case 587:
6631: #line 3102 "parse.y"
6632: { expand_end_bindings (getdecls (), kept_level_p (), 1);
6633: yyval.ttype = poplevel (kept_level_p (), 1, 0);
6634: pop_momentary (); ;
6635: break;}
6636: case 588:
6637: #line 3109 "parse.y"
6638: { finish_stmt (); ;
6639: break;}
6640: case 590:
6641: #line 3115 "parse.y"
6642: { finish_stmt (); ;
6643: break;}
6644: case 591:
6645: #line 3117 "parse.y"
6646: {
6647: tree expr = yyvsp[-1].ttype;
6648: emit_line_note (input_filename, lineno);
6649: /* Do default conversion if safe and possibly important,
6650: in case within ({...}). */
6651: if ((TREE_CODE (TREE_TYPE (expr)) == ARRAY_TYPE
6652: && lvalue_p (expr))
6653: || TREE_CODE (TREE_TYPE (expr)) == FUNCTION_TYPE)
6654: expr = default_conversion (expr);
6655: cplus_expand_expr_stmt (expr);
6656: clear_momentary ();
6657: finish_stmt (); ;
6658: break;}
6659: case 592:
6660: #line 3130 "parse.y"
6661: { expand_start_else (); ;
6662: break;}
6663: case 593:
6664: #line 3132 "parse.y"
6665: { expand_end_cond ();
6666: expand_end_bindings (getdecls (), kept_level_p (), 1);
6667: poplevel (kept_level_p (), 1, 0);
6668: pop_momentary ();
6669: finish_stmt (); ;
6670: break;}
6671: case 594:
6672: #line 3138 "parse.y"
6673: { expand_end_cond ();
6674: expand_end_bindings (getdecls (), kept_level_p (), 1);
6675: poplevel (kept_level_p (), 1, 0);
6676: pop_momentary ();
6677: finish_stmt (); ;
6678: break;}
6679: case 595:
6680: #line 3144 "parse.y"
6681: { emit_nop ();
6682: emit_line_note (input_filename, lineno);
6683: expand_start_loop (1);
6684: cond_stmt_keyword = "while"; ;
6685: break;}
6686: case 596:
6687: #line 3149 "parse.y"
6688: { expand_exit_loop_if_false (0, yyvsp[0].ttype); ;
6689: break;}
6690: case 597:
6691: #line 3151 "parse.y"
6692: { expand_end_bindings (getdecls (), kept_level_p (), 1);
6693: poplevel (kept_level_p (), 1, 0);
6694: pop_momentary ();
6695: expand_end_loop ();
6696: finish_stmt (); ;
6697: break;}
6698: case 598:
6699: #line 3157 "parse.y"
6700: { emit_nop ();
6701: emit_line_note (input_filename, lineno);
6702: expand_start_loop_continue_elsewhere (1); ;
6703: break;}
6704: case 599:
6705: #line 3161 "parse.y"
6706: { expand_loop_continue_here ();
6707: cond_stmt_keyword = "do"; ;
6708: break;}
6709: case 600:
6710: #line 3164 "parse.y"
6711: { emit_line_note (input_filename, lineno);
6712: expand_exit_loop_if_false (0, yyvsp[-1].ttype);
6713: expand_end_loop ();
6714: clear_momentary ();
6715: finish_stmt (); ;
6716: break;}
6717: case 601:
6718: #line 3170 "parse.y"
6719: { emit_nop ();
6720: emit_line_note (input_filename, lineno);
6721: if (yyvsp[0].ttype) cplus_expand_expr_stmt (yyvsp[0].ttype);
6722: expand_start_loop_continue_elsewhere (1); ;
6723: break;}
6724: case 602:
6725: #line 3175 "parse.y"
6726: { emit_line_note (input_filename, lineno);
6727: if (yyvsp[-1].ttype) expand_exit_loop_if_false (0, yyvsp[-1].ttype); ;
6728: break;}
6729: case 603:
6730: #line 3180 "parse.y"
6731: { push_momentary (); ;
6732: break;}
6733: case 604:
6734: #line 3182 "parse.y"
6735: { emit_line_note (input_filename, lineno);
6736: expand_end_bindings (getdecls (), kept_level_p (), 1);
6737: poplevel (kept_level_p (), 1, 0);
6738: pop_momentary ();
6739: expand_loop_continue_here ();
6740: if (yyvsp[-3].ttype) cplus_expand_expr_stmt (yyvsp[-3].ttype);
6741: pop_momentary ();
6742: expand_end_loop ();
6743: finish_stmt (); ;
6744: break;}
6745: case 605:
6746: #line 3192 "parse.y"
6747: { emit_nop ();
6748: emit_line_note (input_filename, lineno);
6749: expand_start_loop_continue_elsewhere (1); ;
6750: break;}
6751: case 606:
6752: #line 3196 "parse.y"
6753: { emit_line_note (input_filename, lineno);
6754: if (yyvsp[-1].ttype) expand_exit_loop_if_false (0, yyvsp[-1].ttype); ;
6755: break;}
6756: case 607:
6757: #line 3201 "parse.y"
6758: { push_momentary ();
6759: yyvsp[0].itype = lineno; ;
6760: break;}
6761: case 608:
6762: #line 3204 "parse.y"
6763: { emit_line_note (input_filename, (int) yyvsp[-2].itype);
6764: expand_end_bindings (getdecls (), kept_level_p (), 1);
6765: poplevel (kept_level_p (), 1, 0);
6766: pop_momentary ();
6767: expand_loop_continue_here ();
6768: if (yyvsp[-3].ttype) cplus_expand_expr_stmt (yyvsp[-3].ttype);
6769: pop_momentary ();
6770: expand_end_loop ();
6771: finish_stmt ();
6772: ;
6773: break;}
6774: case 609:
6775: #line 3215 "parse.y"
6776: { emit_line_note (input_filename, lineno);
6777: c_expand_start_case (yyvsp[-1].ttype);
6778: /* Don't let the tree nodes for $4 be discarded by
6779: clear_momentary during the parsing of the next stmt. */
6780: push_momentary (); ;
6781: break;}
6782: case 610:
6783: #line 3221 "parse.y"
6784: { expand_end_case (yyvsp[-3].ttype);
6785: pop_momentary ();
6786: expand_end_bindings (getdecls (), kept_level_p (), 1);
6787: poplevel (kept_level_p (), 1, 0);
6788: pop_momentary ();
6789: finish_stmt (); ;
6790: break;}
6791: case 611:
6792: #line 3228 "parse.y"
6793: { register tree value = check_cp_case_value (yyvsp[-1].ttype);
6794: register tree label
6795: = build_decl (LABEL_DECL, NULL_TREE, NULL_TREE);
6796:
6797: if (value != error_mark_node)
6798: {
6799: tree duplicate;
6800: int success = pushcase (value, convert_and_check,
6801: label, &duplicate);
6802: if (success == 1)
6803: cp_error ("case label `%E' not within a switch statement", yyvsp[-1].ttype);
6804: else if (success == 2)
6805: {
6806: cp_error ("duplicate case value `%E'", yyvsp[-1].ttype);
6807: cp_error_at ("`%E' previously used here", duplicate);
6808: }
6809: else if (success == 3)
6810: warning ("case value out of range");
6811: else if (success == 5)
6812: cp_error ("case label `%E' within scope of cleanup or variable array", yyvsp[-1].ttype);
6813: }
6814: define_case_label (label);
6815: ;
6816: break;}
6817: case 613:
6818: #line 3253 "parse.y"
6819: { register tree value1 = check_cp_case_value (yyvsp[-3].ttype);
6820: register tree value2 = check_cp_case_value (yyvsp[-1].ttype);
6821: register tree label
6822: = build_decl (LABEL_DECL, NULL_TREE, NULL_TREE);
6823:
6824: if (flag_ansi)
6825: pedwarn ("ANSI C++ forbids range expressions in switch statement");
6826: if (value1 != error_mark_node
6827: && value2 != error_mark_node)
6828: {
6829: tree duplicate;
6830: int success = pushcase_range (value1, value2,
6831: convert_and_check, label,
6832: &duplicate);
6833: if (success == 1)
6834: error ("case label not within a switch statement");
6835: else if (success == 2)
6836: {
6837: error ("duplicate (or overlapping) case value");
6838: error_with_decl (duplicate, "this is the first entry overlapping that value");
6839: }
6840: else if (success == 3)
6841: warning ("case value out of range");
6842: else if (success == 4)
6843: warning ("empty range specified");
6844: else if (success == 5)
6845: error ("case label within scope of cleanup or variable array");
6846: }
6847: define_case_label (label);
6848: ;
6849: break;}
6850: case 615:
6851: #line 3285 "parse.y"
6852: {
6853: tree duplicate;
6854: register tree label
6855: = build_decl (LABEL_DECL, NULL_TREE, NULL_TREE);
6856: int success = pushcase (NULL_TREE, 0, label, &duplicate);
6857: if (success == 1)
6858: error ("default label not within a switch statement");
6859: else if (success == 2)
6860: {
6861: error ("multiple default labels in one switch");
6862: error_with_decl (duplicate, "this is the first default label");
6863: }
6864: define_case_label (NULL_TREE);
6865: ;
6866: break;}
6867: case 617:
6868: #line 3301 "parse.y"
6869: { emit_line_note (input_filename, lineno);
6870: if ( ! expand_exit_something ())
6871: error ("break statement not within loop or switch"); ;
6872: break;}
6873: case 618:
6874: #line 3305 "parse.y"
6875: { emit_line_note (input_filename, lineno);
6876: if (! expand_continue_loop (0))
6877: error ("continue statement not within a loop"); ;
6878: break;}
6879: case 619:
6880: #line 3309 "parse.y"
6881: { emit_line_note (input_filename, lineno);
6882: c_expand_return (NULL_TREE); ;
6883: break;}
6884: case 620:
6885: #line 3312 "parse.y"
6886: { emit_line_note (input_filename, lineno);
6887: c_expand_return (yyvsp[-1].ttype);
6888: finish_stmt ();
6889: ;
6890: break;}
6891: case 621:
6892: #line 3317 "parse.y"
6893: { if (TREE_CHAIN (yyvsp[-2].ttype)) yyvsp[-2].ttype = combine_strings (yyvsp[-2].ttype);
6894: emit_line_note (input_filename, lineno);
6895: expand_asm (yyvsp[-2].ttype);
6896: finish_stmt ();
6897: ;
6898: break;}
6899: case 622:
6900: #line 3324 "parse.y"
6901: { if (TREE_CHAIN (yyvsp[-4].ttype)) yyvsp[-4].ttype = combine_strings (yyvsp[-4].ttype);
6902: emit_line_note (input_filename, lineno);
6903: c_expand_asm_operands (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE,
6904: yyvsp[-6].ttype == ridpointers[(int)RID_VOLATILE],
6905: input_filename, lineno);
6906: finish_stmt ();
6907: ;
6908: break;}
6909: case 623:
6910: #line 3333 "parse.y"
6911: { if (TREE_CHAIN (yyvsp[-6].ttype)) yyvsp[-6].ttype = combine_strings (yyvsp[-6].ttype);
6912: emit_line_note (input_filename, lineno);
6913: c_expand_asm_operands (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE,
6914: yyvsp[-8].ttype == ridpointers[(int)RID_VOLATILE],
6915: input_filename, lineno);
6916: finish_stmt ();
6917: ;
6918: break;}
6919: case 624:
6920: #line 3343 "parse.y"
6921: { if (TREE_CHAIN (yyvsp[-8].ttype)) yyvsp[-8].ttype = combine_strings (yyvsp[-8].ttype);
6922: emit_line_note (input_filename, lineno);
6923: c_expand_asm_operands (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype,
6924: yyvsp[-10].ttype == ridpointers[(int)RID_VOLATILE],
6925: input_filename, lineno);
6926: finish_stmt ();
6927: ;
6928: break;}
6929: case 625:
6930: #line 3351 "parse.y"
6931: { emit_line_note (input_filename, lineno);
6932: expand_computed_goto (yyvsp[-1].ttype); ;
6933: break;}
6934: case 626:
6935: #line 3354 "parse.y"
6936: { tree decl;
6937: emit_line_note (input_filename, lineno);
6938: decl = lookup_label (yyvsp[-1].ttype);
6939: TREE_USED (decl) = 1;
6940: expand_goto (decl); ;
6941: break;}
6942: case 627:
6943: #line 3360 "parse.y"
6944: { finish_stmt (); ;
6945: break;}
6946: case 628:
6947: #line 3362 "parse.y"
6948: { error ("label must be followed by statement");
6949: yyungetc ('}', 0);
6950: finish_stmt (); ;
6951: break;}
6952: case 629:
6953: #line 3366 "parse.y"
6954: { finish_stmt (); ;
6955: break;}
6956: case 631:
6957: #line 3372 "parse.y"
6958: { expand_start_try_stmts (); ;
6959: break;}
6960: case 632:
6961: #line 3374 "parse.y"
6962: { expand_end_try_stmts ();
6963: expand_start_all_catch (); ;
6964: break;}
6965: case 633:
6966: #line 3377 "parse.y"
6967: { expand_end_all_catch (); ;
6968: break;}
6969: case 634:
6970: #line 3385 "parse.y"
6971: { expand_end_bindings (0,1,1);
6972: poplevel (2,0,0);
6973: ;
6974: break;}
6975: case 635:
6976: #line 3389 "parse.y"
6977: { expand_end_bindings (0,1,1);
6978: poplevel (2,0,0);
6979: ;
6980: break;}
6981: case 636:
6982: #line 3393 "parse.y"
6983: { expand_end_bindings (0,1,1);
6984: poplevel (2,0,0);
6985: ;
6986: break;}
6987: case 638:
6988: #line 3401 "parse.y"
6989: { emit_line_note (input_filename, lineno); ;
6990: break;}
6991: case 639:
6992: #line 3403 "parse.y"
6993: { expand_end_catch_block (); ;
6994: break;}
6995: case 642:
6996: #line 3413 "parse.y"
6997: { expand_start_catch_block (NULL_TREE, NULL_TREE); ;
6998: break;}
6999: case 643:
7000: #line 3425 "parse.y"
7001: { expand_start_catch_block (TREE_PURPOSE (yyvsp[-1].ttype),
7002: TREE_VALUE (yyvsp[-1].ttype)); ;
7003: break;}
7004: case 644:
7005: #line 3431 "parse.y"
7006: { tree label;
7007: do_label:
7008: label = define_label (input_filename, lineno, yyvsp[-1].ttype);
7009: if (label)
7010: expand_label (label);
7011: ;
7012: break;}
7013: case 645:
7014: #line 3438 "parse.y"
7015: { goto do_label; ;
7016: break;}
7017: case 646:
7018: #line 3440 "parse.y"
7019: { goto do_label; ;
7020: break;}
7021: case 647:
7022: #line 3445 "parse.y"
7023: { yyval.ttype = NULL_TREE; ;
7024: break;}
7025: case 648:
7026: #line 3447 "parse.y"
7027: { yyval.ttype = yyvsp[-1].ttype; ;
7028: break;}
7029: case 649:
7030: #line 3449 "parse.y"
7031: { yyval.ttype = NULL_TREE; ;
7032: break;}
7033: case 650:
7034: #line 3454 "parse.y"
7035: { yyval.itype = 0; ;
7036: break;}
7037: case 651:
7038: #line 3456 "parse.y"
7039: { yyval.itype = 0; ;
7040: break;}
7041: case 652:
7042: #line 3458 "parse.y"
7043: { yyval.itype = 1; ;
7044: break;}
7045: case 653:
7046: #line 3460 "parse.y"
7047: { yyval.itype = -1; ;
7048: break;}
7049: case 654:
7050: #line 3467 "parse.y"
7051: { emit_line_note (input_filename, lineno);
7052: yyval.ttype = NULL_TREE; ;
7053: break;}
7054: case 655:
7055: #line 3470 "parse.y"
7056: { emit_line_note (input_filename, lineno); ;
7057: break;}
7058: case 656:
7059: #line 3475 "parse.y"
7060: { yyval.ttype = NULL_TREE; ;
7061: break;}
7062: case 658:
7063: #line 3478 "parse.y"
7064: { yyval.ttype = NULL_TREE; ;
7065: break;}
7066: case 659:
7067: #line 3484 "parse.y"
7068: { yyval.ttype = NULL_TREE; ;
7069: break;}
7070: case 662:
7071: #line 3491 "parse.y"
7072: { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
7073: break;}
7074: case 663:
7075: #line 3496 "parse.y"
7076: { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[-1].ttype); ;
7077: break;}
7078: case 664:
7079: #line 3501 "parse.y"
7080: { yyval.ttype = tree_cons (NULL_TREE, yyval.ttype, NULL_TREE); ;
7081: break;}
7082: case 665:
7083: #line 3503 "parse.y"
7084: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
7085: break;}
7086: case 666:
7087: #line 3513 "parse.y"
7088: {
7089: if (strict_prototype)
7090: yyval.ttype = void_list_node;
7091: else
7092: yyval.ttype = NULL_TREE;
7093: ;
7094: break;}
7095: case 668:
7096: #line 3521 "parse.y"
7097: { yyval.ttype = tree_cons (NULL_TREE, yyval.ttype, void_list_node);
7098: TREE_PARMLIST (yyval.ttype) = 1; ;
7099: break;}
7100: case 669:
7101: #line 3529 "parse.y"
7102: {
7103: yyval.ttype = chainon (yyval.ttype, void_list_node);
7104: TREE_PARMLIST (yyval.ttype) = 1;
7105: ;
7106: break;}
7107: case 670:
7108: #line 3534 "parse.y"
7109: {
7110: TREE_PARMLIST (yyval.ttype) = 1;
7111: ;
7112: break;}
7113: case 671:
7114: #line 3539 "parse.y"
7115: {
7116: TREE_PARMLIST (yyval.ttype) = 1;
7117: ;
7118: break;}
7119: case 672:
7120: #line 3543 "parse.y"
7121: {
7122: yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype);
7123: TREE_PARMLIST (yyval.ttype) = 1;
7124: ;
7125: break;}
7126: case 673:
7127: #line 3548 "parse.y"
7128: {
7129: /* ARM $8.2.5 has this as a boxed-off comment. */
7130: if (pedantic)
7131: warning ("use of `...' without a first argument is non-portable");
7132: yyval.ttype = NULL_TREE;
7133: ;
7134: break;}
7135: case 674:
7136: #line 3555 "parse.y"
7137: {
7138: TREE_PARMLIST (yyval.ttype) = 1;
7139: ;
7140: break;}
7141: case 675:
7142: #line 3559 "parse.y"
7143: {
7144: TREE_PARMLIST (yyval.ttype) = 1;
7145: ;
7146: break;}
7147: case 676:
7148: #line 3563 "parse.y"
7149: {
7150: yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype);
7151: TREE_PARMLIST (yyval.ttype) = 1;
7152: ;
7153: break;}
7154: case 677:
7155: #line 3568 "parse.y"
7156: {
7157: /* This helps us recover from really nasty
7158: parse errors, for example, a missing right
7159: parenthesis. */
7160: yyerror ("possibly missing ')'");
7161: yyval.ttype = chainon (yyval.ttype, void_list_node);
7162: TREE_PARMLIST (yyval.ttype) = 1;
7163: yyungetc (':', 0);
7164: yychar = ')';
7165: ;
7166: break;}
7167: case 678:
7168: #line 3579 "parse.y"
7169: {
7170: /* This helps us recover from really nasty
7171: parse errors, for example, a missing right
7172: parenthesis. */
7173: yyerror ("possibly missing ')'");
7174: yyval.ttype = tree_cons (NULL_TREE, yyval.ttype, void_list_node);
7175: TREE_PARMLIST (yyval.ttype) = 1;
7176: yyungetc (':', 0);
7177: yychar = ')';
7178: ;
7179: break;}
7180: case 679:
7181: #line 3594 "parse.y"
7182: { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
7183: break;}
7184: case 680:
7185: #line 3596 "parse.y"
7186: { yyval.ttype = build_tree_list (yyvsp[0].ttype, yyval.ttype); ;
7187: break;}
7188: case 681:
7189: #line 3598 "parse.y"
7190: { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
7191: break;}
7192: case 682:
7193: #line 3600 "parse.y"
7194: { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
7195: break;}
7196: case 683:
7197: #line 3602 "parse.y"
7198: { yyval.ttype = chainon (yyval.ttype, build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype)); ;
7199: break;}
7200: case 685:
7201: #line 3608 "parse.y"
7202: { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
7203: break;}
7204: case 686:
7205: #line 3631 "parse.y"
7206: { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[0].ttype); ;
7207: break;}
7208: case 687:
7209: #line 3633 "parse.y"
7210: { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[0].ttype); ;
7211: break;}
7212: case 688:
7213: #line 3635 "parse.y"
7214: { yyval.ttype = build_tree_list (get_decl_list (yyval.ttype), yyvsp[0].ttype); ;
7215: break;}
7216: case 689:
7217: #line 3637 "parse.y"
7218: { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[0].ttype); ;
7219: break;}
7220: case 690:
7221: #line 3639 "parse.y"
7222: { yyval.ttype = build_tree_list (yyval.ttype, NULL_TREE); ;
7223: break;}
7224: case 691:
7225: #line 3641 "parse.y"
7226: { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[0].ttype); ;
7227: break;}
7228: case 692:
7229: #line 3646 "parse.y"
7230: { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
7231: break;}
7232: case 693:
7233: #line 3648 "parse.y"
7234: { yyval.ttype = build_tree_list (yyvsp[0].ttype, yyval.ttype); ;
7235: break;}
7236: case 696:
7237: #line 3657 "parse.y"
7238: { see_typename (); ;
7239: break;}
7240: case 697:
7241: #line 3680 "parse.y"
7242: {
7243: warning ("type specifier omitted for parameter");
7244: yyval.ttype = build_tree_list (TREE_PURPOSE (TREE_VALUE (yyvsp[-1].ttype)), NULL_TREE);
7245: ;
7246: break;}
7247: case 698:
7248: #line 3685 "parse.y"
7249: {
7250: warning ("type specifier omitted for parameter");
7251: yyval.ttype = build_tree_list (TREE_PURPOSE (TREE_VALUE (yyvsp[-2].ttype)), yyval.ttype);
7252: ;
7253: break;}
7254: case 699:
7255: #line 3693 "parse.y"
7256: { yyval.ttype = NULL_TREE; ;
7257: break;}
7258: case 700:
7259: #line 3695 "parse.y"
7260: { yyval.ttype = yyvsp[-1].ttype; ;
7261: break;}
7262: case 701:
7263: #line 3700 "parse.y"
7264: { yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
7265: break;}
7266: case 703:
7267: #line 3706 "parse.y"
7268: {
7269: TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype;
7270: yyval.ttype = yyvsp[0].ttype;
7271: ;
7272: break;}
7273: case 704:
7274: #line 3714 "parse.y"
7275: { yyval.ttype = NULL_TREE; ;
7276: break;}
7277: case 705:
7278: #line 3716 "parse.y"
7279: { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
7280: break;}
7281: case 706:
7282: #line 3718 "parse.y"
7283: { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
7284: break;}
7285: case 707:
7286: #line 3720 "parse.y"
7287: { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
7288: yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
7289: ;
7290: break;}
7291: case 708:
7292: #line 3726 "parse.y"
7293: { got_scope = NULL_TREE; ;
7294: break;}
7295: case 709:
7296: #line 3731 "parse.y"
7297: { yyval.ttype = ansi_opname[MULT_EXPR]; ;
7298: break;}
7299: case 710:
7300: #line 3733 "parse.y"
7301: { yyval.ttype = ansi_opname[TRUNC_DIV_EXPR]; ;
7302: break;}
7303: case 711:
7304: #line 3735 "parse.y"
7305: { yyval.ttype = ansi_opname[TRUNC_MOD_EXPR]; ;
7306: break;}
7307: case 712:
7308: #line 3737 "parse.y"
7309: { yyval.ttype = ansi_opname[PLUS_EXPR]; ;
7310: break;}
7311: case 713:
7312: #line 3739 "parse.y"
7313: { yyval.ttype = ansi_opname[MINUS_EXPR]; ;
7314: break;}
7315: case 714:
7316: #line 3741 "parse.y"
7317: { yyval.ttype = ansi_opname[BIT_AND_EXPR]; ;
7318: break;}
7319: case 715:
7320: #line 3743 "parse.y"
7321: { yyval.ttype = ansi_opname[BIT_IOR_EXPR]; ;
7322: break;}
7323: case 716:
7324: #line 3745 "parse.y"
7325: { yyval.ttype = ansi_opname[BIT_XOR_EXPR]; ;
7326: break;}
7327: case 717:
7328: #line 3747 "parse.y"
7329: { yyval.ttype = ansi_opname[BIT_NOT_EXPR]; ;
7330: break;}
7331: case 718:
7332: #line 3749 "parse.y"
7333: { yyval.ttype = ansi_opname[COMPOUND_EXPR]; ;
7334: break;}
7335: case 719:
7336: #line 3751 "parse.y"
7337: { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7338: break;}
7339: case 720:
7340: #line 3753 "parse.y"
7341: { yyval.ttype = ansi_opname[LT_EXPR]; ;
7342: break;}
7343: case 721:
7344: #line 3755 "parse.y"
7345: { yyval.ttype = ansi_opname[GT_EXPR]; ;
7346: break;}
7347: case 722:
7348: #line 3757 "parse.y"
7349: { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7350: break;}
7351: case 723:
7352: #line 3759 "parse.y"
7353: { yyval.ttype = ansi_assopname[yyvsp[0].code]; ;
7354: break;}
7355: case 724:
7356: #line 3761 "parse.y"
7357: { yyval.ttype = ansi_opname [MODIFY_EXPR]; ;
7358: break;}
7359: case 725:
7360: #line 3763 "parse.y"
7361: { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7362: break;}
7363: case 726:
7364: #line 3765 "parse.y"
7365: { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7366: break;}
7367: case 727:
7368: #line 3767 "parse.y"
7369: { yyval.ttype = ansi_opname[POSTINCREMENT_EXPR]; ;
7370: break;}
7371: case 728:
7372: #line 3769 "parse.y"
7373: { yyval.ttype = ansi_opname[PREDECREMENT_EXPR]; ;
7374: break;}
7375: case 729:
7376: #line 3771 "parse.y"
7377: { yyval.ttype = ansi_opname[TRUTH_ANDIF_EXPR]; ;
7378: break;}
7379: case 730:
7380: #line 3773 "parse.y"
7381: { yyval.ttype = ansi_opname[TRUTH_ORIF_EXPR]; ;
7382: break;}
7383: case 731:
7384: #line 3775 "parse.y"
7385: { yyval.ttype = ansi_opname[TRUTH_NOT_EXPR]; ;
7386: break;}
7387: case 732:
7388: #line 3777 "parse.y"
7389: { yyval.ttype = ansi_opname[COND_EXPR]; ;
7390: break;}
7391: case 733:
7392: #line 3779 "parse.y"
7393: { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7394: break;}
7395: case 734:
7396: #line 3781 "parse.y"
7397: { yyval.ttype = ansi_opname[COMPONENT_REF]; ;
7398: break;}
7399: case 735:
7400: #line 3783 "parse.y"
7401: { yyval.ttype = ansi_opname[MEMBER_REF]; ;
7402: break;}
7403: case 736:
7404: #line 3785 "parse.y"
7405: { yyval.ttype = ansi_opname[CALL_EXPR]; ;
7406: break;}
7407: case 737:
7408: #line 3787 "parse.y"
7409: { yyval.ttype = ansi_opname[ARRAY_REF]; ;
7410: break;}
7411: case 738:
7412: #line 3789 "parse.y"
7413: { yyval.ttype = ansi_opname[NEW_EXPR]; ;
7414: break;}
7415: case 739:
7416: #line 3791 "parse.y"
7417: { yyval.ttype = ansi_opname[DELETE_EXPR]; ;
7418: break;}
7419: case 740:
7420: #line 3793 "parse.y"
7421: { yyval.ttype = ansi_opname[VEC_NEW_EXPR]; ;
7422: break;}
7423: case 741:
7424: #line 3795 "parse.y"
7425: { yyval.ttype = ansi_opname[VEC_DELETE_EXPR]; ;
7426: break;}
7427: case 742:
7428: #line 3798 "parse.y"
7429: { yyval.ttype = grokoptypename (yyvsp[-1].ttype, yyvsp[0].ttype); ;
7430: break;}
7431: case 743:
7432: #line 3800 "parse.y"
7433: { yyval.ttype = ansi_opname[ERROR_MARK]; ;
7434: break;}
7435: }
7436: /* the action file gets copied in in place of this dollarsign */
7437: #line 465 "/usr/unsupported/lib/bison.simple"
7438:
7439: yyvsp -= yylen;
7440: yyssp -= yylen;
7441: #ifdef YYLSP_NEEDED
7442: yylsp -= yylen;
7443: #endif
7444:
7445: #if YYDEBUG != 0
7446: if (yydebug)
7447: {
7448: short *ssp1 = yyss - 1;
7449: fprintf (stderr, "state stack now");
7450: while (ssp1 != yyssp)
7451: fprintf (stderr, " %d", *++ssp1);
7452: fprintf (stderr, "\n");
7453: }
7454: #endif
7455:
7456: *++yyvsp = yyval;
7457:
7458: #ifdef YYLSP_NEEDED
7459: yylsp++;
7460: if (yylen == 0)
7461: {
7462: yylsp->first_line = yylloc.first_line;
7463: yylsp->first_column = yylloc.first_column;
7464: yylsp->last_line = (yylsp-1)->last_line;
7465: yylsp->last_column = (yylsp-1)->last_column;
7466: yylsp->text = 0;
7467: }
7468: else
7469: {
7470: yylsp->last_line = (yylsp+yylen-1)->last_line;
7471: yylsp->last_column = (yylsp+yylen-1)->last_column;
7472: }
7473: #endif
7474:
7475: /* Now "shift" the result of the reduction.
7476: Determine what state that goes to,
7477: based on the state we popped back to
7478: and the rule number reduced by. */
7479:
7480: yyn = yyr1[yyn];
7481:
7482: yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
7483: if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
7484: yystate = yytable[yystate];
7485: else
7486: yystate = yydefgoto[yyn - YYNTBASE];
7487:
7488: goto yynewstate;
7489:
7490: yyerrlab: /* here on detecting error */
7491:
7492: if (! yyerrstatus)
7493: /* If not already recovering from an error, report this error. */
7494: {
7495: ++yynerrs;
7496:
7497: #ifdef YYERROR_VERBOSE
7498: yyn = yypact[yystate];
7499:
7500: if (yyn > YYFLAG && yyn < YYLAST)
7501: {
7502: int size = 0;
7503: char *msg;
7504: int x, count;
7505:
7506: count = 0;
7507: /* Start X at -yyn if nec to avoid negative indexes in yycheck. */
7508: for (x = (yyn < 0 ? -yyn : 0);
7509: x < (sizeof(yytname) / sizeof(char *)); x++)
7510: if (yycheck[x + yyn] == x)
7511: size += strlen(yytname[x]) + 15, count++;
7512: msg = (char *) malloc(size + 15);
7513: if (msg != 0)
7514: {
7515: strcpy(msg, "parse error");
7516:
7517: if (count < 5)
7518: {
7519: count = 0;
7520: for (x = (yyn < 0 ? -yyn : 0);
7521: x < (sizeof(yytname) / sizeof(char *)); x++)
7522: if (yycheck[x + yyn] == x)
7523: {
7524: strcat(msg, count == 0 ? ", expecting `" : " or `");
7525: strcat(msg, yytname[x]);
7526: strcat(msg, "'");
7527: count++;
7528: }
7529: }
7530: yyerror(msg);
7531: free(msg);
7532: }
7533: else
7534: yyerror ("parse error; also virtual memory exceeded");
7535: }
7536: else
7537: #endif /* YYERROR_VERBOSE */
7538: yyerror("parse error");
7539: }
7540:
7541: goto yyerrlab1;
7542: yyerrlab1: /* here on error raised explicitly by an action */
7543:
7544: if (yyerrstatus == 3)
7545: {
7546: /* if just tried and failed to reuse lookahead token after an error, discard it. */
7547:
7548: /* return failure if at end of input */
7549: if (yychar == YYEOF)
7550: YYABORT;
7551:
7552: #if YYDEBUG != 0
7553: if (yydebug)
7554: fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
7555: #endif
7556:
7557: yychar = YYEMPTY;
7558: }
7559:
7560: /* Else will try to reuse lookahead token
7561: after shifting the error token. */
7562:
7563: yyerrstatus = 3; /* Each real token shifted decrements this */
7564:
7565: goto yyerrhandle;
7566:
7567: yyerrdefault: /* current state does not do anything special for the error token. */
7568:
7569: #if 0
7570: /* This is wrong; only states that explicitly want error tokens
7571: should shift them. */
7572: yyn = yydefact[yystate]; /* If its default is to accept any token, ok. Otherwise pop it.*/
7573: if (yyn) goto yydefault;
7574: #endif
7575:
7576: yyerrpop: /* pop the current state because it cannot handle the error token */
7577:
7578: if (yyssp == yyss) YYABORT;
7579: yyvsp--;
7580: yystate = *--yyssp;
7581: #ifdef YYLSP_NEEDED
7582: yylsp--;
7583: #endif
7584:
7585: #if YYDEBUG != 0
7586: if (yydebug)
7587: {
7588: short *ssp1 = yyss - 1;
7589: fprintf (stderr, "Error: state stack now");
7590: while (ssp1 != yyssp)
7591: fprintf (stderr, " %d", *++ssp1);
7592: fprintf (stderr, "\n");
7593: }
7594: #endif
7595:
7596: yyerrhandle:
7597:
7598: yyn = yypact[yystate];
7599: if (yyn == YYFLAG)
7600: goto yyerrdefault;
7601:
7602: yyn += YYTERROR;
7603: if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
7604: goto yyerrdefault;
7605:
7606: yyn = yytable[yyn];
7607: if (yyn < 0)
7608: {
7609: if (yyn == YYFLAG)
7610: goto yyerrpop;
7611: yyn = -yyn;
7612: goto yyreduce;
7613: }
7614: else if (yyn == 0)
7615: goto yyerrpop;
7616:
7617: if (yyn == YYFINAL)
7618: YYACCEPT;
7619:
7620: #if YYDEBUG != 0
7621: if (yydebug)
7622: fprintf(stderr, "Shifting error token, ");
7623: #endif
7624:
7625: *++yyvsp = yylval;
7626: #ifdef YYLSP_NEEDED
7627: *++yylsp = yylloc;
7628: #endif
7629:
7630: yystate = yyn;
7631: goto yynewstate;
7632: }
7633: #line 3803 "parse.y"
7634:
7635:
7636: #ifdef SPEW_DEBUG
7637: const char *
7638: debug_yytranslate (value)
7639: int value;
7640: {
7641: return yytname[YYTRANSLATE (value)];
7642: }
7643:
7644: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.