Import gcc-2.8.1.tar.bz2
[official-gcc.git] / gcc / cp / parse.c
blob7ca0c2de6531d3f5b24061d8b0ea766f21ebb2df
2 /* A Bison parser, made from parse.y
3 by Bison version A2.5 (Andrew Consortium)
4 */
6 #define YYBISON 1 /* Identify Bison output. */
8 #define IDENTIFIER 258
9 #define TYPENAME 259
10 #define SELFNAME 260
11 #define PFUNCNAME 261
12 #define SCSPEC 262
13 #define TYPESPEC 263
14 #define CV_QUALIFIER 264
15 #define CONSTANT 265
16 #define STRING 266
17 #define ELLIPSIS 267
18 #define SIZEOF 268
19 #define ENUM 269
20 #define IF 270
21 #define ELSE 271
22 #define WHILE 272
23 #define DO 273
24 #define FOR 274
25 #define SWITCH 275
26 #define CASE 276
27 #define DEFAULT 277
28 #define BREAK 278
29 #define CONTINUE 279
30 #define RETURN 280
31 #define GOTO 281
32 #define ASM_KEYWORD 282
33 #define GCC_ASM_KEYWORD 283
34 #define TYPEOF 284
35 #define ALIGNOF 285
36 #define SIGOF 286
37 #define ATTRIBUTE 287
38 #define EXTENSION 288
39 #define LABEL 289
40 #define REALPART 290
41 #define IMAGPART 291
42 #define AGGR 292
43 #define VISSPEC 293
44 #define DELETE 294
45 #define NEW 295
46 #define THIS 296
47 #define OPERATOR 297
48 #define CXX_TRUE 298
49 #define CXX_FALSE 299
50 #define NAMESPACE 300
51 #define TYPENAME_KEYWORD 301
52 #define USING 302
53 #define LEFT_RIGHT 303
54 #define TEMPLATE 304
55 #define TYPEID 305
56 #define DYNAMIC_CAST 306
57 #define STATIC_CAST 307
58 #define REINTERPRET_CAST 308
59 #define CONST_CAST 309
60 #define SCOPE 310
61 #define EMPTY 311
62 #define PTYPENAME 312
63 #define NSNAME 313
64 #define THROW 314
65 #define ASSIGN 315
66 #define OROR 316
67 #define ANDAND 317
68 #define MIN_MAX 318
69 #define EQCOMPARE 319
70 #define ARITHCOMPARE 320
71 #define LSHIFT 321
72 #define RSHIFT 322
73 #define POINTSAT_STAR 323
74 #define DOT_STAR 324
75 #define UNARY 325
76 #define PLUSPLUS 326
77 #define MINUSMINUS 327
78 #define HYPERUNARY 328
79 #define PAREN_STAR_PAREN 329
80 #define POINTSAT 330
81 #define TRY 331
82 #define CATCH 332
83 #define TYPENAME_ELLIPSIS 333
84 #define PRE_PARSED_FUNCTION_DECL 334
85 #define EXTERN_LANG_STRING 335
86 #define ALL 336
87 #define PRE_PARSED_CLASS_DECL 337
88 #define DEFARG 338
89 #define DEFARG_MARKER 339
90 #define TYPENAME_DEFN 340
91 #define IDENTIFIER_DEFN 341
92 #define PTYPENAME_DEFN 342
93 #define END_OF_LINE 343
94 #define END_OF_SAVED_INPUT 344
96 #line 29 "parse.y"
98 /* Cause the `yydebug' variable to be defined. */
99 #define YYDEBUG 1
101 #include "config.h"
103 #include <stdio.h>
104 #include <errno.h>
106 #include "tree.h"
107 #include "input.h"
108 #include "flags.h"
109 #include "lex.h"
110 #include "cp-tree.h"
111 #include "output.h"
112 #include "except.h"
114 /* Since parsers are distinct for each language, put the language string
115 definition here. (fnf) */
116 char *language_string = "GNU C++";
118 extern tree void_list_node;
119 extern struct obstack permanent_obstack;
121 #ifndef errno
122 extern int errno;
123 #endif
125 extern int end_of_file;
126 extern int current_class_depth;
127 extern tree last_tree;
129 /* FSF LOCAL dje prefix attributes */
130 extern tree strip_attrs PROTO((tree));
131 /* END FSF LOCAL */
133 /* Like YYERROR but do call yyerror. */
134 #define YYERROR1 { yyerror ("syntax error"); YYERROR; }
136 #define OP0(NODE) (TREE_OPERAND (NODE, 0))
137 #define OP1(NODE) (TREE_OPERAND (NODE, 1))
139 /* Contains the statement keyword (if/while/do) to include in an
140 error message if the user supplies an empty conditional expression. */
141 static char *cond_stmt_keyword;
143 static tree empty_parms PROTO((void));
145 /* Nonzero if we have an `extern "C"' acting as an extern specifier. */
146 int have_extern_spec;
147 int used_extern_spec;
149 /* Cons up an empty parameter list. */
150 #ifdef __GNUC__
151 __inline
152 #endif
153 static tree
154 empty_parms ()
156 tree parms;
158 if (strict_prototype
159 || current_class_type != NULL)
160 parms = void_list_node;
161 else
162 parms = NULL_TREE;
163 return parms;
166 #line 101 "parse.y"
167 typedef union {long itype; tree ttype; char *strtype; enum tree_code code; flagged_type_tree ftype; } YYSTYPE;
168 #line 289 "parse.y"
170 /* List of types and structure classes of the current declaration. */
171 static tree current_declspecs = NULL_TREE;
172 /* List of prefix attributes in effect.
173 Prefix attributes are parsed by the reserved_declspecs and declmods
174 rules. They create a list that contains *both* declspecs and attrs. */
175 /* ??? It is not clear yet that all cases where an attribute can now appear in
176 a declspec list have been updated. */
177 static tree prefix_attributes = NULL_TREE;
179 /* When defining an aggregate, this is the most recent one being defined. */
180 static tree current_aggr;
182 /* Tell yyparse how to print a token's value, if yydebug is set. */
184 #define YYPRINT(FILE,YYCHAR,YYLVAL) yyprint(FILE,YYCHAR,YYLVAL)
185 extern void yyprint PROTO((FILE *, int, YYSTYPE));
186 extern tree combine_strings PROTO((tree));
187 #include <stdio.h>
189 #ifndef __cplusplus
190 #ifndef __STDC__
191 #define const
192 #endif
193 #endif
197 #define YYFINAL 1529
198 #define YYFLAG -32768
199 #define YYNTBASE 114
201 #define YYTRANSLATE(x) ((unsigned)(x) <= 344 ? yytranslate[x] : 376)
203 static const char yytranslate[] = { 0,
204 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
205 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
206 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
207 2, 2, 112, 2, 2, 2, 83, 71, 2, 94,
208 110, 81, 79, 60, 80, 93, 82, 2, 2, 2,
209 2, 2, 2, 2, 2, 2, 2, 63, 61, 75,
210 65, 76, 66, 2, 2, 2, 2, 2, 2, 2,
211 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
212 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
213 95, 2, 113, 70, 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, 59, 69, 111, 89, 2, 2, 2, 2,
217 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
218 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
219 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
220 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
221 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
222 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
223 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
224 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
225 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
226 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
227 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
228 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
229 2, 2, 2, 2, 2, 1, 2, 3, 4, 5,
230 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
231 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
232 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
233 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
234 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
235 56, 57, 58, 62, 64, 67, 68, 72, 73, 74,
236 77, 78, 84, 85, 86, 87, 88, 90, 91, 92,
237 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
238 106, 107, 108, 109
241 #if YYDEBUG != 0
242 static const short yyprhs[] = { 0,
243 0, 1, 3, 4, 7, 10, 12, 13, 14, 15,
244 17, 19, 21, 22, 25, 28, 30, 32, 38, 43,
245 49, 54, 55, 62, 63, 69, 75, 78, 83, 86,
246 89, 93, 97, 99, 101, 104, 107, 109, 112, 113,
247 119, 123, 125, 129, 131, 134, 136, 139, 141, 145,
248 147, 151, 154, 157, 160, 164, 168, 171, 174, 177,
249 180, 183, 185, 187, 189, 190, 192, 195, 196, 198,
250 203, 207, 211, 212, 221, 227, 228, 238, 245, 246,
251 255, 261, 262, 272, 279, 282, 285, 287, 290, 292,
252 299, 304, 311, 316, 319, 321, 324, 327, 329, 332,
253 334, 337, 340, 343, 348, 351, 355, 356, 357, 359,
254 363, 366, 370, 372, 377, 380, 385, 388, 393, 396,
255 398, 400, 402, 404, 406, 408, 410, 412, 414, 416,
256 418, 422, 426, 429, 432, 437, 442, 446, 450, 455,
257 459, 464, 468, 470, 475, 479, 481, 483, 485, 489,
258 491, 493, 495, 497, 499, 501, 503, 505, 507, 509,
259 513, 515, 519, 520, 522, 524, 525, 533, 535, 537,
260 541, 546, 550, 551, 555, 557, 561, 565, 569, 573,
261 575, 577, 579, 582, 585, 588, 591, 594, 597, 600,
262 605, 608, 613, 616, 620, 624, 629, 634, 640, 646,
263 653, 656, 661, 667, 670, 673, 677, 681, 685, 687,
264 691, 694, 698, 703, 705, 708, 714, 716, 720, 724,
265 728, 732, 736, 740, 744, 748, 752, 756, 760, 764,
266 768, 772, 776, 780, 784, 788, 792, 798, 802, 806,
267 808, 811, 815, 817, 819, 821, 823, 825, 830, 834,
268 839, 843, 849, 855, 861, 863, 865, 867, 869, 872,
269 875, 879, 884, 889, 891, 893, 895, 899, 901, 903,
270 905, 907, 911, 915, 919, 920, 925, 930, 933, 938,
271 941, 944, 946, 951, 953, 961, 969, 977, 985, 990,
272 995, 998, 1001, 1003, 1008, 1011, 1014, 1020, 1024, 1027,
273 1030, 1036, 1040, 1046, 1050, 1055, 1062, 1065, 1067, 1070,
274 1072, 1075, 1077, 1079, 1081, 1084, 1085, 1088, 1091, 1095,
275 1099, 1103, 1106, 1109, 1112, 1114, 1116, 1118, 1121, 1124,
276 1127, 1130, 1132, 1134, 1136, 1138, 1141, 1144, 1148, 1152,
277 1156, 1161, 1163, 1166, 1169, 1172, 1174, 1176, 1178, 1181,
278 1184, 1187, 1189, 1191, 1194, 1197, 1201, 1203, 1206, 1208,
279 1210, 1212, 1217, 1222, 1227, 1232, 1234, 1236, 1238, 1240,
280 1244, 1246, 1250, 1252, 1256, 1257, 1262, 1263, 1270, 1274,
281 1275, 1282, 1286, 1287, 1294, 1298, 1299, 1306, 1310, 1311,
282 1313, 1315, 1318, 1325, 1327, 1331, 1332, 1334, 1339, 1346,
283 1351, 1353, 1355, 1357, 1359, 1361, 1365, 1366, 1369, 1371,
284 1374, 1378, 1383, 1385, 1387, 1391, 1396, 1403, 1407, 1413,
285 1415, 1420, 1424, 1428, 1429, 1433, 1437, 1441, 1442, 1445,
286 1448, 1449, 1457, 1462, 1463, 1470, 1474, 1477, 1480, 1483,
287 1484, 1485, 1486, 1497, 1499, 1500, 1502, 1503, 1505, 1507,
288 1510, 1513, 1516, 1519, 1522, 1525, 1529, 1534, 1538, 1541,
289 1545, 1546, 1548, 1552, 1555, 1558, 1560, 1562, 1563, 1566,
290 1570, 1572, 1577, 1579, 1583, 1585, 1587, 1592, 1597, 1600,
291 1603, 1607, 1611, 1613, 1614, 1616, 1619, 1624, 1628, 1630,
292 1633, 1636, 1639, 1642, 1645, 1648, 1651, 1653, 1656, 1659,
293 1662, 1667, 1672, 1675, 1677, 1683, 1688, 1690, 1693, 1694,
294 1696, 1700, 1701, 1703, 1707, 1709, 1711, 1713, 1715, 1720,
295 1725, 1730, 1735, 1740, 1744, 1749, 1754, 1759, 1764, 1768,
296 1770, 1774, 1776, 1780, 1783, 1785, 1792, 1793, 1796, 1798,
297 1801, 1802, 1805, 1810, 1815, 1818, 1823, 1827, 1831, 1834,
298 1837, 1841, 1843, 1845, 1848, 1850, 1852, 1855, 1858, 1863,
299 1868, 1872, 1876, 1879, 1881, 1885, 1889, 1892, 1895, 1899,
300 1901, 1905, 1909, 1912, 1915, 1919, 1921, 1926, 1930, 1935,
301 1939, 1941, 1944, 1947, 1950, 1953, 1956, 1958, 1961, 1966,
302 1971, 1974, 1976, 1978, 1980, 1982, 1985, 1988, 1991, 1994,
303 1997, 1999, 2002, 2005, 2007, 2010, 2013, 2016, 2019, 2022,
304 2025, 2028, 2031, 2033, 2036, 2039, 2043, 2045, 2049, 2052,
305 2056, 2059, 2062, 2066, 2068, 2072, 2077, 2081, 2084, 2087,
306 2089, 2093, 2096, 2099, 2101, 2104, 2108, 2110, 2114, 2116,
307 2123, 2128, 2133, 2137, 2143, 2147, 2151, 2155, 2158, 2160,
308 2162, 2165, 2168, 2171, 2172, 2173, 2174, 2176, 2178, 2181,
309 2185, 2187, 2190, 2191, 2197, 2198, 2199, 2206, 2208, 2209,
310 2214, 2216, 2218, 2220, 2223, 2224, 2225, 2232, 2234, 2235,
311 2236, 2244, 2245, 2246, 2254, 2255, 2256, 2257, 2258, 2273,
312 2274, 2275, 2285, 2286, 2292, 2293, 2301, 2302, 2307, 2310,
313 2313, 2316, 2320, 2327, 2336, 2347, 2360, 2365, 2369, 2372,
314 2375, 2377, 2379, 2380, 2381, 2388, 2389, 2390, 2396, 2398,
315 2401, 2402, 2403, 2404, 2413, 2415, 2417, 2421, 2425, 2428,
316 2431, 2434, 2437, 2440, 2442, 2445, 2446, 2448, 2449, 2451,
317 2453, 2454, 2456, 2458, 2462, 2467, 2469, 2473, 2474, 2476,
318 2478, 2480, 2483, 2486, 2489, 2491, 2493, 2496, 2499, 2502,
319 2505, 2506, 2510, 2512, 2514, 2516, 2519, 2522, 2525, 2530,
320 2533, 2536, 2539, 2542, 2545, 2548, 2550, 2553, 2555, 2558,
321 2560, 2562, 2563, 2564, 2566, 2567, 2572, 2575, 2577, 2579,
322 2583, 2584, 2588, 2592, 2596, 2598, 2601, 2604, 2607, 2610,
323 2613, 2616, 2619, 2622, 2625, 2628, 2631, 2634, 2637, 2640,
324 2643, 2646, 2649, 2652, 2655, 2658, 2661, 2664, 2667, 2671,
325 2674, 2677, 2680, 2683, 2687, 2690, 2693, 2698, 2703, 2707
328 static const short yyrhs[] = { -1,
329 115, 0, 0, 116, 122, 0, 115, 122, 0, 115,
330 0, 0, 0, 0, 33, 0, 27, 0, 28, 0,
331 0, 123, 124, 0, 140, 139, 0, 136, 0, 135,
332 0, 121, 94, 194, 110, 61, 0, 129, 59, 117,
333 111, 0, 129, 118, 140, 119, 139, 0, 129, 118,
334 136, 119, 0, 0, 45, 155, 59, 125, 117, 111,
335 0, 0, 45, 59, 126, 117, 111, 0, 45, 155,
336 65, 128, 61, 0, 127, 61, 0, 47, 45, 128,
337 61, 0, 120, 124, 0, 47, 287, 0, 47, 300,
338 287, 0, 47, 300, 185, 0, 185, 0, 287, 0,
339 300, 287, 0, 300, 185, 0, 100, 0, 129, 100,
340 0, 0, 49, 75, 131, 132, 76, 0, 49, 75,
341 76, 0, 134, 0, 132, 60, 134, 0, 244, 0,
342 244, 155, 0, 46, 0, 46, 155, 0, 133, 0,
343 133, 65, 200, 0, 367, 0, 367, 65, 181, 0,
344 130, 124, 0, 130, 1, 0, 211, 61, 0, 204,
345 210, 61, 0, 201, 209, 61, 0, 204, 61, 0,
346 158, 61, 0, 201, 61, 0, 1, 61, 0, 1,
347 111, 0, 61, 0, 195, 0, 151, 0, 0, 150,
348 0, 150, 61, 0, 0, 109, 0, 146, 138, 137,
349 312, 0, 146, 138, 337, 0, 146, 138, 1, 0,
350 0, 292, 5, 94, 142, 358, 110, 274, 370, 0,
351 292, 5, 48, 274, 370, 0, 0, 300, 292, 5,
352 94, 143, 358, 110, 274, 370, 0, 300, 292, 5,
353 48, 274, 370, 0, 0, 292, 160, 94, 144, 358,
354 110, 274, 370, 0, 292, 160, 48, 274, 370, 0,
355 0, 300, 292, 160, 94, 145, 358, 110, 274, 370,
356 0, 300, 292, 160, 48, 274, 370, 0, 201, 198,
357 0, 204, 284, 0, 284, 0, 204, 141, 0, 141,
358 0, 5, 94, 358, 110, 274, 370, 0, 5, 48,
359 274, 370, 0, 160, 94, 358, 110, 274, 370, 0,
360 160, 48, 274, 370, 0, 204, 147, 0, 147, 0,
361 201, 198, 0, 204, 284, 0, 284, 0, 204, 141,
362 0, 141, 0, 130, 148, 0, 25, 3, 0, 149,
363 228, 0, 149, 94, 175, 110, 0, 149, 48, 0,
364 63, 152, 153, 0, 0, 0, 154, 0, 153, 60,
365 154, 0, 153, 1, 0, 94, 175, 110, 0, 48,
366 0, 156, 94, 175, 110, 0, 156, 48, 0, 280,
367 94, 175, 110, 0, 280, 48, 0, 294, 94, 175,
368 110, 0, 294, 48, 0, 3, 0, 4, 0, 5,
369 0, 57, 0, 58, 0, 3, 0, 57, 0, 58,
370 0, 106, 0, 105, 0, 107, 0, 49, 207, 61,
371 0, 49, 201, 198, 0, 49, 284, 0, 49, 141,
372 0, 7, 49, 207, 61, 0, 7, 49, 201, 198,
373 0, 7, 49, 284, 0, 7, 49, 141, 0, 57,
374 75, 162, 161, 0, 57, 75, 161, 0, 4, 75,
375 162, 161, 0, 4, 75, 161, 0, 160, 0, 5,
376 75, 162, 161, 0, 5, 75, 161, 0, 76, 0,
377 78, 0, 163, 0, 162, 60, 163, 0, 200, 0,
378 181, 0, 80, 0, 79, 0, 87, 0, 88, 0,
379 112, 0, 174, 0, 181, 0, 48, 0, 94, 165,
380 110, 0, 48, 0, 94, 169, 110, 0, 0, 169,
381 0, 1, 0, 0, 348, 198, 212, 221, 65, 170,
382 229, 0, 165, 0, 111, 0, 309, 305, 111, 0,
383 309, 305, 1, 111, 0, 309, 1, 111, 0, 0,
384 59, 173, 171, 0, 321, 0, 181, 60, 181, 0,
385 181, 60, 1, 0, 174, 60, 181, 0, 174, 60,
386 1, 0, 181, 0, 174, 0, 189, 0, 120, 180,
387 0, 81, 180, 0, 71, 180, 0, 89, 180, 0,
388 164, 180, 0, 68, 155, 0, 13, 176, 0, 13,
389 94, 200, 110, 0, 30, 176, 0, 30, 94, 200,
390 110, 0, 191, 273, 0, 191, 273, 178, 0, 191,
391 177, 273, 0, 191, 177, 273, 178, 0, 191, 94,
392 200, 110, 0, 191, 94, 200, 110, 178, 0, 191,
393 177, 94, 200, 110, 0, 191, 177, 94, 200, 110,
394 178, 0, 192, 180, 0, 192, 95, 113, 180, 0,
395 192, 95, 165, 113, 180, 0, 35, 180, 0, 36,
396 180, 0, 94, 175, 110, 0, 59, 175, 111, 0,
397 94, 175, 110, 0, 48, 0, 94, 207, 110, 0,
398 65, 229, 0, 94, 200, 110, 0, 179, 94, 200,
399 110, 0, 176, 0, 179, 176, 0, 179, 59, 230,
400 242, 111, 0, 180, 0, 181, 84, 181, 0, 181,
401 85, 181, 0, 181, 79, 181, 0, 181, 80, 181,
402 0, 181, 81, 181, 0, 181, 82, 181, 0, 181,
403 83, 181, 0, 181, 77, 181, 0, 181, 78, 181,
404 0, 181, 74, 181, 0, 181, 75, 181, 0, 181,
405 76, 181, 0, 181, 73, 181, 0, 181, 72, 181,
406 0, 181, 71, 181, 0, 181, 69, 181, 0, 181,
407 70, 181, 0, 181, 68, 181, 0, 181, 67, 181,
408 0, 181, 66, 353, 63, 181, 0, 181, 65, 181,
409 0, 181, 64, 181, 0, 62, 0, 62, 181, 0,
410 89, 368, 155, 0, 183, 0, 375, 0, 3, 0,
411 57, 0, 58, 0, 6, 75, 162, 161, 0, 6,
412 75, 161, 0, 375, 75, 162, 161, 0, 375, 75,
413 161, 0, 49, 155, 75, 162, 161, 0, 49, 6,
414 75, 162, 161, 0, 49, 375, 75, 162, 161, 0,
415 182, 0, 4, 0, 5, 0, 182, 0, 81, 186,
416 0, 71, 186, 0, 94, 186, 110, 0, 3, 75,
417 162, 161, 0, 58, 75, 162, 161, 0, 286, 0,
418 182, 0, 187, 0, 94, 186, 110, 0, 182, 0,
419 10, 0, 193, 0, 194, 0, 94, 165, 110, 0,
420 94, 186, 110, 0, 94, 1, 110, 0, 0, 94,
421 190, 313, 110, 0, 189, 94, 175, 110, 0, 189,
422 48, 0, 189, 95, 165, 113, 0, 189, 87, 0,
423 189, 88, 0, 41, 0, 9, 94, 175, 110, 0,
424 290, 0, 51, 75, 200, 76, 94, 165, 110, 0,
425 52, 75, 200, 76, 94, 165, 110, 0, 53, 75,
426 200, 76, 94, 165, 110, 0, 54, 75, 200, 76,
427 94, 165, 110, 0, 50, 94, 165, 110, 0, 50,
428 94, 200, 110, 0, 300, 3, 0, 300, 375, 0,
429 289, 0, 289, 94, 175, 110, 0, 289, 48, 0,
430 196, 184, 0, 196, 184, 94, 175, 110, 0, 196,
431 184, 48, 0, 196, 185, 0, 196, 289, 0, 196,
432 185, 94, 175, 110, 0, 196, 185, 48, 0, 196,
433 289, 94, 175, 110, 0, 196, 289, 48, 0, 196,
434 89, 8, 48, 0, 196, 8, 55, 89, 8, 48,
435 0, 196, 1, 0, 40, 0, 300, 40, 0, 39,
436 0, 300, 192, 0, 43, 0, 44, 0, 11, 0,
437 194, 11, 0, 0, 189, 93, 0, 189, 92, 0,
438 207, 209, 61, 0, 201, 209, 61, 0, 204, 210,
439 61, 0, 201, 61, 0, 204, 61, 0, 120, 197,
440 0, 279, 0, 284, 0, 48, 0, 199, 48, 0,
441 205, 303, 0, 275, 303, 0, 207, 303, 0, 205,
442 0, 275, 0, 205, 0, 202, 0, 204, 207, 0,
443 207, 203, 0, 207, 206, 203, 0, 204, 207, 203,
444 0, 204, 207, 206, 0, 204, 207, 206, 203, 0,
445 7, 0, 203, 208, 0, 203, 7, 0, 203, 222,
446 0, 222, 0, 275, 0, 7, 0, 204, 9, 0,
447 204, 7, 0, 204, 222, 0, 222, 0, 207, 0,
448 275, 207, 0, 207, 206, 0, 275, 207, 206, 0,
449 208, 0, 206, 208, 0, 236, 0, 8, 0, 281,
450 0, 29, 94, 165, 110, 0, 29, 94, 200, 110,
451 0, 31, 94, 165, 110, 0, 31, 94, 200, 110,
452 0, 8, 0, 9, 0, 236, 0, 213, 0, 209,
453 60, 215, 0, 217, 0, 210, 60, 215, 0, 219,
454 0, 211, 60, 215, 0, 0, 121, 94, 194, 110,
455 0, 0, 198, 212, 221, 65, 214, 229, 0, 198,
456 212, 221, 0, 0, 198, 212, 221, 65, 216, 229,
457 0, 198, 212, 221, 0, 0, 284, 212, 221, 65,
458 218, 229, 0, 284, 212, 221, 0, 0, 284, 212,
459 221, 65, 220, 229, 0, 284, 212, 221, 0, 0,
460 222, 0, 223, 0, 222, 223, 0, 32, 94, 94,
461 224, 110, 110, 0, 225, 0, 224, 60, 225, 0,
462 0, 226, 0, 226, 94, 3, 110, 0, 226, 94,
463 3, 60, 175, 110, 0, 226, 94, 175, 110, 0,
464 155, 0, 7, 0, 8, 0, 9, 0, 155, 0,
465 227, 60, 155, 0, 0, 65, 229, 0, 181, 0,
466 59, 111, 0, 59, 230, 111, 0, 59, 230, 60,
467 111, 0, 1, 0, 229, 0, 230, 60, 229, 0,
468 95, 181, 113, 229, 0, 230, 60, 21, 181, 63,
469 229, 0, 155, 63, 229, 0, 230, 60, 155, 63,
470 229, 0, 99, 0, 231, 138, 137, 312, 0, 231,
471 138, 337, 0, 231, 138, 1, 0, 0, 233, 232,
472 139, 0, 104, 181, 109, 0, 104, 1, 109, 0,
473 0, 235, 234, 0, 235, 1, 0, 0, 14, 155,
474 59, 237, 271, 243, 111, 0, 14, 155, 59, 111,
475 0, 0, 14, 59, 238, 271, 243, 111, 0, 14,
476 59, 111, 0, 14, 155, 0, 14, 298, 0, 46,
477 294, 0, 0, 0, 0, 251, 257, 239, 259, 111,
478 221, 240, 235, 241, 233, 0, 251, 0, 0, 60,
479 0, 0, 60, 0, 37, 0, 244, 7, 0, 244,
480 8, 0, 244, 9, 0, 244, 37, 0, 244, 155,
481 0, 244, 157, 0, 244, 292, 155, 0, 244, 300,
482 292, 155, 0, 244, 300, 155, 0, 244, 159, 0,
483 244, 292, 159, 0, 0, 245, 0, 246, 248, 252,
484 0, 247, 252, 0, 244, 59, 0, 250, 0, 249,
485 0, 0, 63, 368, 0, 63, 368, 253, 0, 254,
486 0, 253, 60, 368, 254, 0, 255, 0, 256, 368,
487 255, 0, 294, 0, 280, 0, 31, 94, 165, 110,
488 0, 31, 94, 200, 110, 0, 38, 368, 0, 7,
489 368, 0, 256, 38, 368, 0, 256, 7, 368, 0,
490 59, 0, 0, 258, 0, 258, 260, 0, 259, 38,
491 63, 260, 0, 259, 38, 63, 0, 261, 0, 260,
492 261, 0, 262, 61, 0, 262, 111, 0, 148, 63,
493 0, 148, 96, 0, 148, 25, 0, 148, 59, 0,
494 61, 0, 120, 261, 0, 201, 263, 0, 204, 264,
495 0, 284, 212, 221, 228, 0, 141, 212, 221, 228,
496 0, 63, 181, 0, 1, 0, 204, 147, 212, 221,
497 228, 0, 147, 212, 221, 228, 0, 127, 0, 130,
498 262, 0, 0, 265, 0, 263, 60, 266, 0, 0,
499 268, 0, 264, 60, 270, 0, 267, 0, 268, 0,
500 269, 0, 270, 0, 279, 212, 221, 228, 0, 4,
501 63, 181, 221, 0, 284, 212, 221, 228, 0, 141,
502 212, 221, 228, 0, 3, 63, 181, 221, 0, 63,
503 181, 221, 0, 279, 212, 221, 228, 0, 4, 63,
504 181, 221, 0, 284, 212, 221, 228, 0, 3, 63,
505 181, 221, 0, 63, 181, 221, 0, 272, 0, 271,
506 60, 272, 0, 155, 0, 155, 65, 181, 0, 348,
507 301, 0, 348, 0, 94, 200, 110, 95, 165, 113,
508 0, 0, 274, 9, 0, 9, 0, 275, 9, 0,
509 0, 276, 165, 0, 276, 94, 175, 110, 0, 276,
510 94, 358, 110, 0, 276, 48, 0, 276, 94, 1,
511 110, 0, 81, 275, 279, 0, 71, 275, 279, 0,
512 81, 279, 0, 71, 279, 0, 299, 274, 279, 0,
513 283, 0, 291, 0, 300, 291, 0, 280, 0, 282,
514 0, 300, 282, 0, 292, 291, 0, 283, 278, 274,
515 370, 0, 283, 95, 277, 113, 0, 283, 95, 113,
516 0, 94, 279, 110, 0, 292, 291, 0, 291, 0,
517 81, 275, 284, 0, 71, 275, 284, 0, 81, 284,
518 0, 71, 284, 0, 299, 274, 284, 0, 188, 0,
519 81, 275, 284, 0, 71, 275, 284, 0, 81, 285,
520 0, 71, 285, 0, 299, 274, 284, 0, 286, 0,
521 188, 278, 274, 370, 0, 94, 285, 110, 0, 188,
522 95, 277, 113, 0, 188, 95, 113, 0, 288, 0,
523 292, 187, 0, 292, 185, 0, 292, 184, 0, 292,
524 182, 0, 292, 184, 0, 288, 0, 300, 288, 0,
525 207, 94, 175, 110, 0, 207, 94, 186, 110, 0,
526 207, 199, 0, 4, 0, 5, 0, 159, 0, 293,
527 0, 292, 293, 0, 4, 55, 0, 5, 55, 0,
528 58, 55, 0, 159, 55, 0, 295, 0, 300, 295,
529 0, 296, 155, 0, 297, 0, 296, 297, 0, 4,
530 55, 0, 5, 55, 0, 159, 55, 0, 57, 55,
531 0, 3, 55, 0, 58, 55, 0, 300, 291, 0,
532 282, 0, 300, 282, 0, 292, 81, 0, 300, 292,
533 81, 0, 55, 0, 81, 274, 301, 0, 81, 274,
534 0, 71, 274, 301, 0, 71, 274, 0, 299, 274,
535 0, 299, 274, 301, 0, 302, 0, 95, 165, 113,
536 0, 302, 95, 277, 113, 0, 81, 275, 303, 0,
537 81, 303, 0, 81, 275, 0, 81, 0, 71, 275,
538 303, 0, 71, 303, 0, 71, 275, 0, 71, 0,
539 299, 274, 0, 299, 274, 303, 0, 304, 0, 94,
540 303, 110, 0, 91, 0, 304, 94, 358, 110, 274,
541 370, 0, 304, 48, 274, 370, 0, 304, 95, 277,
542 113, 0, 304, 95, 113, 0, 94, 359, 110, 274,
543 370, 0, 179, 274, 370, 0, 199, 274, 370, 0,
544 95, 277, 113, 0, 95, 113, 0, 320, 0, 306,
545 0, 305, 320, 0, 305, 306, 0, 1, 61, 0,
546 0, 0, 0, 310, 0, 311, 0, 310, 311, 0,
547 34, 227, 61, 0, 313, 0, 1, 313, 0, 0,
548 59, 314, 307, 171, 308, 0, 0, 0, 15, 316,
549 307, 167, 317, 318, 0, 313, 0, 0, 307, 319,
550 321, 308, 0, 313, 0, 321, 0, 197, 0, 165,
551 61, 0, 0, 0, 315, 16, 322, 318, 323, 308,
552 0, 315, 0, 0, 0, 17, 324, 307, 167, 325,
553 172, 308, 0, 0, 0, 18, 326, 318, 17, 327,
554 166, 61, 0, 0, 0, 0, 0, 19, 328, 94,
555 351, 329, 307, 168, 61, 330, 353, 110, 331, 172,
556 308, 0, 0, 0, 20, 307, 94, 169, 110, 332,
557 318, 333, 308, 0, 0, 21, 181, 63, 334, 320,
558 0, 0, 21, 181, 12, 181, 63, 335, 320, 0,
559 0, 22, 63, 336, 320, 0, 23, 61, 0, 24,
560 61, 0, 25, 61, 0, 25, 165, 61, 0, 121,
561 352, 94, 194, 110, 61, 0, 121, 352, 94, 194,
562 63, 354, 110, 61, 0, 121, 352, 94, 194, 63,
563 354, 63, 354, 110, 61, 0, 121, 352, 94, 194,
564 63, 354, 63, 354, 63, 357, 110, 61, 0, 26,
565 81, 165, 61, 0, 26, 155, 61, 0, 350, 320,
566 0, 350, 111, 0, 61, 0, 340, 0, 0, 0,
567 96, 338, 137, 313, 339, 343, 0, 0, 0, 96,
568 341, 313, 342, 343, 0, 344, 0, 343, 344, 0,
569 0, 0, 0, 97, 345, 307, 349, 346, 313, 347,
570 308, 0, 205, 0, 275, 0, 94, 12, 110, 0,
571 94, 367, 110, 0, 3, 63, 0, 57, 63, 0,
572 4, 63, 0, 5, 63, 0, 353, 61, 0, 197,
573 0, 59, 171, 0, 0, 9, 0, 0, 165, 0,
574 1, 0, 0, 355, 0, 356, 0, 355, 60, 356,
575 0, 11, 94, 165, 110, 0, 11, 0, 357, 60,
576 11, 0, 0, 359, 0, 200, 0, 363, 0, 364,
577 12, 0, 363, 12, 0, 200, 12, 0, 12, 0,
578 98, 0, 363, 98, 0, 200, 98, 0, 363, 63,
579 0, 200, 63, 0, 0, 65, 361, 362, 0, 103,
580 0, 229, 0, 365, 0, 367, 360, 0, 364, 366,
581 0, 364, 369, 0, 364, 369, 65, 229, 0, 363,
582 60, 0, 200, 60, 0, 202, 198, 0, 205, 198,
583 0, 207, 198, 0, 202, 303, 0, 202, 0, 204,
584 284, 0, 367, 0, 367, 360, 0, 365, 0, 200,
585 0, 0, 0, 284, 0, 0, 62, 94, 372, 110,
586 0, 62, 48, 0, 200, 0, 371, 0, 372, 60,
587 371, 0, 0, 81, 274, 373, 0, 71, 274, 373,
588 0, 299, 274, 373, 0, 42, 0, 374, 81, 0,
589 374, 82, 0, 374, 83, 0, 374, 79, 0, 374,
590 80, 0, 374, 71, 0, 374, 69, 0, 374, 70,
591 0, 374, 89, 0, 374, 60, 0, 374, 74, 0,
592 374, 75, 0, 374, 76, 0, 374, 73, 0, 374,
593 64, 0, 374, 65, 0, 374, 77, 0, 374, 78,
594 0, 374, 87, 0, 374, 88, 0, 374, 68, 0,
595 374, 67, 0, 374, 112, 0, 374, 66, 63, 0,
596 374, 72, 0, 374, 92, 0, 374, 84, 0, 374,
597 48, 0, 374, 95, 113, 0, 374, 40, 0, 374,
598 39, 0, 374, 40, 95, 113, 0, 374, 39, 95,
599 113, 0, 374, 348, 373, 0, 374, 1, 0
602 #endif
604 #if YYDEBUG != 0
605 static const short yyrline[] = { 0,
606 310, 312, 326, 329, 330, 334, 336, 339, 344, 348,
607 354, 356, 359, 362, 366, 369, 371, 373, 376, 378,
608 381, 384, 386, 388, 390, 392, 394, 396, 402, 406,
609 409, 411, 415, 417, 418, 420, 424, 427, 433, 436,
610 438, 443, 446, 450, 463, 465, 467, 471, 481, 483,
611 485, 489, 498, 508, 511, 513, 517, 519, 520, 527,
612 528, 529, 532, 535, 539, 541, 542, 545, 547, 550,
613 553, 555, 559, 569, 571, 581, 590, 592, 602, 611,
614 613, 623, 632, 634, 646, 654, 661, 666, 673, 680,
615 683, 685, 687, 693, 703, 705, 708, 711, 713, 716,
616 718, 741, 750, 753, 755, 759, 772, 792, 795, 797,
617 798, 801, 808, 814, 816, 818, 820, 822, 825, 830,
618 832, 833, 834, 835, 838, 840, 841, 844, 846, 847,
619 850, 854, 857, 859, 861, 864, 867, 869, 877, 884,
620 890, 896, 902, 905, 912, 920, 922, 930, 933, 937,
621 940, 943, 946, 948, 950, 952, 956, 959, 962, 967,
622 971, 976, 980, 983, 985, 989, 1009, 1016, 1019, 1021,
623 1022, 1023, 1026, 1037, 1046, 1050, 1054, 1057, 1059, 1063,
624 1066, 1069, 1073, 1076, 1078, 1080, 1082, 1089, 1102, 1104,
625 1106, 1108, 1114, 1117, 1120, 1123, 1126, 1130, 1133, 1136,
626 1140, 1142, 1146, 1150, 1152, 1156, 1159, 1166, 1169, 1171,
627 1179, 1188, 1194, 1201, 1203, 1205, 1218, 1221, 1223, 1225,
628 1227, 1229, 1231, 1233, 1235, 1237, 1239, 1241, 1243, 1245,
629 1247, 1249, 1251, 1253, 1255, 1257, 1259, 1261, 1265, 1267,
630 1269, 1286, 1289, 1290, 1291, 1292, 1293, 1296, 1299, 1301,
631 1304, 1309, 1312, 1314, 1318, 1320, 1321, 1324, 1326, 1328,
632 1330, 1334, 1337, 1341, 1343, 1344, 1345, 1349, 1357, 1358,
633 1359, 1367, 1375, 1383, 1385, 1393, 1414, 1421, 1428, 1430,
634 1439, 1444, 1467, 1511, 1512, 1516, 1520, 1524, 1528, 1530,
635 1534, 1536, 1544, 1546, 1551, 1557, 1561, 1566, 1571, 1573,
636 1578, 1593, 1608, 1619, 1631, 1639, 1648, 1692, 1695, 1699,
637 1702, 1706, 1709, 1714, 1716, 1720, 1733, 1736, 1743, 1750,
638 1755, 1757, 1762, 1764, 1771, 1773, 1777, 1781, 1787, 1791,
639 1794, 1797, 1800, 1810, 1812, 1815, 1819, 1822, 1825, 1828,
640 1831, 1837, 1843, 1845, 1850, 1852, 1861, 1864, 1866, 1869,
641 1875, 1877, 1887, 1891, 1894, 1897, 1902, 1905, 1913, 1915,
642 1917, 1919, 1922, 1925, 1940, 1959, 1962, 1964, 1967, 1969,
643 1972, 1974, 1977, 1979, 1982, 1985, 1989, 2008, 2010, 2030,
644 2036, 2037, 2043, 2052, 2054, 2064, 2073, 2075, 2087, 2090,
645 2094, 2097, 2101, 2106, 2109, 2113, 2116, 2118, 2120, 2122,
646 2129, 2131, 2132, 2133, 2137, 2140, 2144, 2147, 2153, 2155,
647 2158, 2161, 2164, 2170, 2173, 2176, 2178, 2180, 2182, 2186,
648 2192, 2200, 2202, 2206, 2208, 2213, 2216, 2219, 2221, 2223,
649 2227, 2231, 2236, 2240, 2243, 2248, 2252, 2255, 2258, 2262,
650 2264, 2299, 2305, 2311, 2323, 2325, 2328, 2330, 2335, 2337,
651 2339, 2341, 2343, 2347, 2352, 2357, 2363, 2368, 2373, 2375,
652 2379, 2384, 2387, 2394, 2422, 2428, 2430, 2433, 2436, 2438,
653 2442, 2444, 2448, 2474, 2503, 2506, 2507, 2528, 2551, 2553,
654 2557, 2583, 2592, 2675, 2682, 2685, 2693, 2704, 2713, 2717,
655 2732, 2735, 2740, 2742, 2744, 2746, 2748, 2750, 2755, 2761,
656 2763, 2766, 2769, 2771, 2782, 2787, 2790, 2792, 2816, 2819,
657 2820, 2831, 2834, 2835, 2846, 2848, 2851, 2853, 2856, 2863,
658 2871, 2878, 2884, 2890, 2898, 2902, 2907, 2911, 2914, 2923,
659 2925, 2929, 2932, 2937, 2941, 2946, 2956, 2959, 2963, 2967,
660 2975, 2980, 2986, 2989, 2991, 2993, 2999, 3002, 3004, 3006,
661 3008, 3012, 3015, 3033, 3043, 3045, 3046, 3050, 3055, 3058,
662 3060, 3062, 3064, 3068, 3074, 3077, 3079, 3081, 3083, 3087,
663 3090, 3093, 3095, 3097, 3099, 3103, 3106, 3109, 3111, 3113,
664 3115, 3122, 3133, 3137, 3142, 3146, 3151, 3153, 3157, 3160,
665 3162, 3166, 3168, 3169, 3172, 3174, 3180, 3195, 3201, 3207,
666 3221, 3223, 3227, 3239, 3245, 3256, 3263, 3269, 3271, 3272,
667 3273, 3281, 3290, 3291, 3295, 3298, 3304, 3310, 3313, 3315,
668 3317, 3319, 3323, 3327, 3331, 3334, 3339, 3342, 3344, 3346,
669 3348, 3350, 3352, 3354, 3356, 3360, 3364, 3368, 3372, 3373,
670 3375, 3377, 3379, 3381, 3383, 3385, 3387, 3389, 3397, 3399,
671 3400, 3401, 3404, 3412, 3417, 3424, 3426, 3431, 3433, 3436,
672 3450, 3453, 3456, 3465, 3477, 3488, 3508, 3518, 3521, 3529,
673 3541, 3544, 3547, 3550, 3566, 3569, 3580, 3581, 3585, 3600,
674 3619, 3631, 3645, 3659, 3672, 3691, 3709, 3728, 3736, 3757,
675 3775, 3788, 3789, 3792, 3792, 3795, 3795, 3798, 3798, 3804,
676 3810, 3813, 3818, 3825, 3834, 3843, 3852, 3860, 3873, 3875,
677 3879, 3881, 3884, 3891, 3894, 3902, 3918, 3929, 3941, 3943,
678 3946, 3956, 3966, 3977, 3979, 3981, 3984, 4001, 4007, 4015,
679 4017, 4019, 4023, 4026, 4027, 4035, 4039, 4043, 4046, 4047,
680 4053, 4056, 4059, 4061, 4065, 4070, 4073, 4083, 4088, 4089,
681 4097, 4103, 4108, 4112, 4117, 4121, 4125, 4129, 4134, 4145,
682 4159, 4163, 4166, 4168, 4172, 4176, 4179, 4182, 4184, 4188,
683 4190, 4197, 4204, 4207, 4210, 4214, 4218, 4224, 4228, 4233,
684 4235, 4238, 4243, 4249, 4259, 4262, 4264, 4268, 4273, 4275,
685 4282, 4285, 4287, 4289, 4295, 4300, 4303, 4305, 4307, 4309,
686 4311, 4313, 4315, 4317, 4319, 4321, 4323, 4325, 4327, 4329,
687 4331, 4333, 4335, 4337, 4339, 4341, 4343, 4345, 4347, 4349,
688 4351, 4353, 4355, 4357, 4359, 4361, 4363, 4365, 4368, 4370
690 #endif
693 #if YYDEBUG != 0
695 static const char * const yytname[] = { "$","error","$undefined.","IDENTIFIER",
696 "TYPENAME","SELFNAME","PFUNCNAME","SCSPEC","TYPESPEC","CV_QUALIFIER","CONSTANT",
697 "STRING","ELLIPSIS","SIZEOF","ENUM","IF","ELSE","WHILE","DO","FOR","SWITCH",
698 "CASE","DEFAULT","BREAK","CONTINUE","RETURN","GOTO","ASM_KEYWORD","GCC_ASM_KEYWORD",
699 "TYPEOF","ALIGNOF","SIGOF","ATTRIBUTE","EXTENSION","LABEL","REALPART","IMAGPART",
700 "AGGR","VISSPEC","DELETE","NEW","THIS","OPERATOR","CXX_TRUE","CXX_FALSE","NAMESPACE",
701 "TYPENAME_KEYWORD","USING","LEFT_RIGHT","TEMPLATE","TYPEID","DYNAMIC_CAST","STATIC_CAST",
702 "REINTERPRET_CAST","CONST_CAST","SCOPE","EMPTY","PTYPENAME","NSNAME","'{'","','",
703 "';'","THROW","':'","ASSIGN","'='","'?'","OROR","ANDAND","'|'","'^'","'&'","MIN_MAX",
704 "EQCOMPARE","ARITHCOMPARE","'<'","'>'","LSHIFT","RSHIFT","'+'","'-'","'*'","'/'",
705 "'%'","POINTSAT_STAR","DOT_STAR","UNARY","PLUSPLUS","MINUSMINUS","'~'","HYPERUNARY",
706 "PAREN_STAR_PAREN","POINTSAT","'.'","'('","'['","TRY","CATCH","TYPENAME_ELLIPSIS",
707 "PRE_PARSED_FUNCTION_DECL","EXTERN_LANG_STRING","ALL","PRE_PARSED_CLASS_DECL",
708 "DEFARG","DEFARG_MARKER","TYPENAME_DEFN","IDENTIFIER_DEFN","PTYPENAME_DEFN",
709 "END_OF_LINE","END_OF_SAVED_INPUT","')'","'}'","'!'","']'","program","extdefs",
710 "@1","extdefs_opt",".hush_warning",".warning_ok","extension","asm_keyword","lang_extdef",
711 "@2","extdef","@3","@4","using_decl","any_id","extern_lang_string","template_header",
712 "@5","template_parm_list","template_type_parm","template_parm","template_def",
713 "datadef","ctor_initializer_opt","maybe_return_init","eat_saved_input","fndef",
714 "constructor_declarator","@6","@7","@8","@9","fn.def1","component_constructor_declarator",
715 "fn.def2","return_id","return_init","base_init",".set_base_init","member_init_list",
716 "member_init","identifier","notype_identifier","identifier_defn","explicit_instantiation",
717 "template_type","self_template_type","template_close_bracket","template_arg_list",
718 "template_arg","unop","expr","paren_expr_or_null","paren_cond_or_null","xcond",
719 "condition","@10","compstmtend","already_scoped_stmt","@11","nontrivial_exprlist",
720 "nonnull_exprlist","unary_expr","new_placement","new_initializer","regcast_or_absdcl",
721 "cast_expr","expr_no_commas","notype_unqualified_id","template_id","object_template_id",
722 "unqualified_id","expr_or_declarator","notype_template_declarator","direct_notype_declarator",
723 "primary","@12","new","delete","boolean.literal","string","nodecls","object",
724 "decl","declarator","fcast_or_absdcl","type_id","typed_declspecs","typed_declspecs1",
725 "reserved_declspecs","declmods","typed_typespecs","reserved_typespecquals","typespec",
726 "typespecqual_reserved","initdecls","notype_initdecls","nomods_initdecls","maybeasm",
727 "initdcl0","@13","initdcl","@14","notype_initdcl0","@15","nomods_initdcl0","@16",
728 "maybe_attribute","attributes","attribute","attribute_list","attrib","any_word",
729 "identifiers_or_typenames","maybe_init","init","initlist","fn.defpen","pending_inline",
730 "pending_inlines","defarg_again","pending_defargs","structsp","@17","@18","@19",
731 "@20","@21","maybecomma","maybecomma_warn","aggr","named_class_head_sans_basetype",
732 "named_class_head_sans_basetype_defn","named_complex_class_head_sans_basetype",
733 "do_xref_defn","named_class_head","unnamed_class_head","class_head","maybe_base_class_list",
734 "base_class_list","base_class","base_class.1","base_class_access_list","left_curly",
735 "self_reference","opt.component_decl_list","component_decl_list","component_decl",
736 "component_decl_1","components","notype_components","component_declarator0",
737 "component_declarator","after_type_component_declarator0","notype_component_declarator0",
738 "after_type_component_declarator","notype_component_declarator","enumlist","enumerator",
739 "new_type_id","cv_qualifiers","nonempty_cv_qualifiers","suspend_mom","nonmomentary_expr",
740 "maybe_parmlist","after_type_declarator","nonnested_type","complete_type_name",
741 "nested_type","direct_after_type_declarator","notype_declarator","complex_notype_declarator",
742 "complex_direct_notype_declarator","qualified_id","notype_qualified_id","overqualified_id",
743 "functional_cast","type_name","nested_name_specifier","nested_name_specifier_1",
744 "typename_sub","typename_sub0","typename_sub1","typename_sub2","complex_type_name",
745 "ptr_to_mem","global_scope","new_declarator","direct_new_declarator","absdcl",
746 "direct_abstract_declarator","stmts","errstmt",".pushlevel",".poplevel","maybe_label_decls",
747 "label_decls","label_decl","compstmt_or_error","compstmt","@22","simple_if",
748 "@23","@24","implicitly_scoped_stmt","@25","stmt","simple_stmt","@26","@27",
749 "@28","@29","@30","@31","@32","@33","@34","@35","@36","@37","@38","@39","@40",
750 "function_try_block","@41","@42","try_block","@43","@44","handler_seq","handler",
751 "@45","@46","@47","type_specifier_seq","handler_args","label_colon","for.init.statement",
752 "maybe_cv_qualifier","xexpr","asm_operands","nonnull_asm_operands","asm_operand",
753 "asm_clobbers","parmlist","complex_parmlist","defarg","@48","defarg1","parms",
754 "parms_comma","named_parm","full_parm","parm","see_typename","bad_parm","exception_specification_opt",
755 "ansi_raise_identifier","ansi_raise_identifiers","conversion_declarator","operator",
756 "operator_name", NULL
758 #endif
760 static const short yyr1[] = { 0,
761 114, 114, 116, 115, 115, 117, 117, 118, 119, 120,
762 121, 121, 123, 122, 124, 124, 124, 124, 124, 124,
763 124, 125, 124, 126, 124, 124, 124, 124, 124, 127,
764 127, 127, 128, 128, 128, 128, 129, 129, 131, 130,
765 130, 132, 132, 133, 133, 133, 133, 134, 134, 134,
766 134, 135, 135, 136, 136, 136, 136, 136, 136, 136,
767 136, 136, 137, 137, 138, 138, 138, 139, 139, 140,
768 140, 140, 142, 141, 141, 143, 141, 141, 144, 141,
769 141, 145, 141, 141, 146, 146, 146, 146, 146, 147,
770 147, 147, 147, 148, 148, 148, 148, 148, 148, 148,
771 148, 149, 150, 150, 150, 151, 152, 153, 153, 153,
772 153, 154, 154, 154, 154, 154, 154, 154, 154, 155,
773 155, 155, 155, 155, 156, 156, 156, 157, 157, 157,
774 158, 158, 158, 158, 158, 158, 158, 158, 159, 159,
775 159, 159, 159, 160, 160, 161, 161, 162, 162, 163,
776 163, 164, 164, 164, 164, 164, 165, 165, 166, 166,
777 167, 167, 168, 168, 168, 170, 169, 169, 171, 171,
778 171, 171, 173, 172, 172, 174, 174, 174, 174, 175,
779 175, 176, 176, 176, 176, 176, 176, 176, 176, 176,
780 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
781 176, 176, 176, 176, 176, 177, 177, 178, 178, 178,
782 178, 179, 179, 180, 180, 180, 181, 181, 181, 181,
783 181, 181, 181, 181, 181, 181, 181, 181, 181, 181,
784 181, 181, 181, 181, 181, 181, 181, 181, 181, 181,
785 181, 182, 182, 182, 182, 182, 182, 183, 183, 183,
786 183, 184, 184, 184, 185, 185, 185, 186, 186, 186,
787 186, 187, 187, 188, 188, 188, 188, 189, 189, 189,
788 189, 189, 189, 189, 190, 189, 189, 189, 189, 189,
789 189, 189, 189, 189, 189, 189, 189, 189, 189, 189,
790 189, 189, 189, 189, 189, 189, 189, 189, 189, 189,
791 189, 189, 189, 189, 189, 189, 189, 191, 191, 192,
792 192, 193, 193, 194, 194, 195, 196, 196, 197, 197,
793 197, 197, 197, 197, 198, 198, 199, 199, 200, 200,
794 200, 200, 200, 201, 201, 202, 202, 202, 202, 202,
795 202, 203, 203, 203, 203, 203, 204, 204, 204, 204,
796 204, 204, 205, 205, 205, 205, 206, 206, 207, 207,
797 207, 207, 207, 207, 207, 208, 208, 208, 209, 209,
798 210, 210, 211, 211, 212, 212, 214, 213, 213, 216,
799 215, 215, 218, 217, 217, 220, 219, 219, 221, 221,
800 222, 222, 223, 224, 224, 225, 225, 225, 225, 225,
801 226, 226, 226, 226, 227, 227, 228, 228, 229, 229,
802 229, 229, 229, 230, 230, 230, 230, 230, 230, 231,
803 232, 232, 232, 233, 233, 234, 234, 235, 235, 235,
804 237, 236, 236, 238, 236, 236, 236, 236, 236, 239,
805 240, 241, 236, 236, 242, 242, 243, 243, 244, 244,
806 244, 244, 244, 245, 246, 247, 247, 247, 247, 247,
807 248, 249, 249, 249, 250, 251, 251, 252, 252, 252,
808 253, 253, 254, 254, 255, 255, 255, 255, 256, 256,
809 256, 256, 257, 258, 259, 259, 259, 259, 260, 260,
810 261, 261, 261, 261, 261, 261, 261, 261, 262, 262,
811 262, 262, 262, 262, 262, 262, 262, 262, 263, 263,
812 263, 264, 264, 264, 265, 265, 266, 266, 267, 267,
813 268, 268, 268, 268, 269, 269, 270, 270, 270, 271,
814 271, 272, 272, 273, 273, 273, 274, 274, 275, 275,
815 276, 277, 278, 278, 278, 278, 279, 279, 279, 279,
816 279, 279, 280, 280, 281, 281, 281, 282, 283, 283,
817 283, 283, 283, 283, 284, 284, 284, 284, 284, 284,
818 285, 285, 285, 285, 285, 285, 286, 286, 286, 286,
819 286, 286, 287, 287, 288, 288, 289, 289, 290, 290,
820 290, 291, 291, 291, 292, 292, 293, 293, 293, 293,
821 294, 294, 295, 296, 296, 297, 297, 297, 297, 297,
822 297, 298, 298, 298, 299, 299, 300, 301, 301, 301,
823 301, 301, 301, 301, 302, 302, 303, 303, 303, 303,
824 303, 303, 303, 303, 303, 303, 303, 304, 304, 304,
825 304, 304, 304, 304, 304, 304, 304, 304, 305, 305,
826 305, 305, 306, 307, 308, 309, 309, 310, 310, 311,
827 312, 312, 314, 313, 316, 317, 315, 318, 319, 318,
828 320, 320, 321, 321, 322, 323, 321, 321, 324, 325,
829 321, 326, 327, 321, 328, 329, 330, 331, 321, 332,
830 333, 321, 334, 321, 335, 321, 336, 321, 321, 321,
831 321, 321, 321, 321, 321, 321, 321, 321, 321, 321,
832 321, 321, 338, 339, 337, 341, 342, 340, 343, 343,
833 345, 346, 347, 344, 348, 348, 349, 349, 350, 350,
834 350, 350, 351, 351, 351, 352, 352, 353, 353, 353,
835 354, 354, 355, 355, 356, 357, 357, 358, 358, 358,
836 359, 359, 359, 359, 359, 359, 359, 359, 359, 359,
837 361, 360, 362, 362, 363, 363, 363, 363, 363, 364,
838 364, 365, 365, 365, 365, 365, 365, 366, 366, 367,
839 367, 368, 369, 369, 370, 370, 370, 371, 372, 372,
840 373, 373, 373, 373, 374, 375, 375, 375, 375, 375,
841 375, 375, 375, 375, 375, 375, 375, 375, 375, 375,
842 375, 375, 375, 375, 375, 375, 375, 375, 375, 375,
843 375, 375, 375, 375, 375, 375, 375, 375, 375, 375
846 static const short yyr2[] = { 0,
847 0, 1, 0, 2, 2, 1, 0, 0, 0, 1,
848 1, 1, 0, 2, 2, 1, 1, 5, 4, 5,
849 4, 0, 6, 0, 5, 5, 2, 4, 2, 2,
850 3, 3, 1, 1, 2, 2, 1, 2, 0, 5,
851 3, 1, 3, 1, 2, 1, 2, 1, 3, 1,
852 3, 2, 2, 2, 3, 3, 2, 2, 2, 2,
853 2, 1, 1, 1, 0, 1, 2, 0, 1, 4,
854 3, 3, 0, 8, 5, 0, 9, 6, 0, 8,
855 5, 0, 9, 6, 2, 2, 1, 2, 1, 6,
856 4, 6, 4, 2, 1, 2, 2, 1, 2, 1,
857 2, 2, 2, 4, 2, 3, 0, 0, 1, 3,
858 2, 3, 1, 4, 2, 4, 2, 4, 2, 1,
859 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
860 3, 3, 2, 2, 4, 4, 3, 3, 4, 3,
861 4, 3, 1, 4, 3, 1, 1, 1, 3, 1,
862 1, 1, 1, 1, 1, 1, 1, 1, 1, 3,
863 1, 3, 0, 1, 1, 0, 7, 1, 1, 3,
864 4, 3, 0, 3, 1, 3, 3, 3, 3, 1,
865 1, 1, 2, 2, 2, 2, 2, 2, 2, 4,
866 2, 4, 2, 3, 3, 4, 4, 5, 5, 6,
867 2, 4, 5, 2, 2, 3, 3, 3, 1, 3,
868 2, 3, 4, 1, 2, 5, 1, 3, 3, 3,
869 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
870 3, 3, 3, 3, 3, 3, 5, 3, 3, 1,
871 2, 3, 1, 1, 1, 1, 1, 4, 3, 4,
872 3, 5, 5, 5, 1, 1, 1, 1, 2, 2,
873 3, 4, 4, 1, 1, 1, 3, 1, 1, 1,
874 1, 3, 3, 3, 0, 4, 4, 2, 4, 2,
875 2, 1, 4, 1, 7, 7, 7, 7, 4, 4,
876 2, 2, 1, 4, 2, 2, 5, 3, 2, 2,
877 5, 3, 5, 3, 4, 6, 2, 1, 2, 1,
878 2, 1, 1, 1, 2, 0, 2, 2, 3, 3,
879 3, 2, 2, 2, 1, 1, 1, 2, 2, 2,
880 2, 1, 1, 1, 1, 2, 2, 3, 3, 3,
881 4, 1, 2, 2, 2, 1, 1, 1, 2, 2,
882 2, 1, 1, 2, 2, 3, 1, 2, 1, 1,
883 1, 4, 4, 4, 4, 1, 1, 1, 1, 3,
884 1, 3, 1, 3, 0, 4, 0, 6, 3, 0,
885 6, 3, 0, 6, 3, 0, 6, 3, 0, 1,
886 1, 2, 6, 1, 3, 0, 1, 4, 6, 4,
887 1, 1, 1, 1, 1, 3, 0, 2, 1, 2,
888 3, 4, 1, 1, 3, 4, 6, 3, 5, 1,
889 4, 3, 3, 0, 3, 3, 3, 0, 2, 2,
890 0, 7, 4, 0, 6, 3, 2, 2, 2, 0,
891 0, 0, 10, 1, 0, 1, 0, 1, 1, 2,
892 2, 2, 2, 2, 2, 3, 4, 3, 2, 3,
893 0, 1, 3, 2, 2, 1, 1, 0, 2, 3,
894 1, 4, 1, 3, 1, 1, 4, 4, 2, 2,
895 3, 3, 1, 0, 1, 2, 4, 3, 1, 2,
896 2, 2, 2, 2, 2, 2, 1, 2, 2, 2,
897 4, 4, 2, 1, 5, 4, 1, 2, 0, 1,
898 3, 0, 1, 3, 1, 1, 1, 1, 4, 4,
899 4, 4, 4, 3, 4, 4, 4, 4, 3, 1,
900 3, 1, 3, 2, 1, 6, 0, 2, 1, 2,
901 0, 2, 4, 4, 2, 4, 3, 3, 2, 2,
902 3, 1, 1, 2, 1, 1, 2, 2, 4, 4,
903 3, 3, 2, 1, 3, 3, 2, 2, 3, 1,
904 3, 3, 2, 2, 3, 1, 4, 3, 4, 3,
905 1, 2, 2, 2, 2, 2, 1, 2, 4, 4,
906 2, 1, 1, 1, 1, 2, 2, 2, 2, 2,
907 1, 2, 2, 1, 2, 2, 2, 2, 2, 2,
908 2, 2, 1, 2, 2, 3, 1, 3, 2, 3,
909 2, 2, 3, 1, 3, 4, 3, 2, 2, 1,
910 3, 2, 2, 1, 2, 3, 1, 3, 1, 6,
911 4, 4, 3, 5, 3, 3, 3, 2, 1, 1,
912 2, 2, 2, 0, 0, 0, 1, 1, 2, 3,
913 1, 2, 0, 5, 0, 0, 6, 1, 0, 4,
914 1, 1, 1, 2, 0, 0, 6, 1, 0, 0,
915 7, 0, 0, 7, 0, 0, 0, 0, 14, 0,
916 0, 9, 0, 5, 0, 7, 0, 4, 2, 2,
917 2, 3, 6, 8, 10, 12, 4, 3, 2, 2,
918 1, 1, 0, 0, 6, 0, 0, 5, 1, 2,
919 0, 0, 0, 8, 1, 1, 3, 3, 2, 2,
920 2, 2, 2, 1, 2, 0, 1, 0, 1, 1,
921 0, 1, 1, 3, 4, 1, 3, 0, 1, 1,
922 1, 2, 2, 2, 1, 1, 2, 2, 2, 2,
923 0, 3, 1, 1, 1, 2, 2, 2, 4, 2,
924 2, 2, 2, 2, 2, 1, 2, 1, 2, 1,
925 1, 0, 0, 1, 0, 4, 2, 1, 1, 3,
926 0, 3, 3, 3, 1, 2, 2, 2, 2, 2,
927 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
928 2, 2, 2, 2, 2, 2, 2, 2, 3, 2,
929 2, 2, 2, 3, 2, 2, 4, 4, 3, 2
932 static const short yydefact[] = { 3,
933 13, 13, 5, 0, 4, 0, 245, 592, 593, 0,
934 348, 360, 539, 0, 11, 12, 0, 0, 0, 10,
935 449, 795, 0, 0, 0, 0, 617, 246, 247, 62,
936 0, 0, 782, 0, 37, 0, 0, 14, 0, 8,
937 0, 17, 16, 68, 89, 65, 0, 594, 143, 265,
938 243, 266, 570, 0, 335, 0, 334, 353, 0, 373,
939 352, 391, 359, 0, 462, 461, 468, 467, 466, 444,
940 347, 555, 361, 556, 87, 264, 581, 553, 0, 595,
941 537, 0, 0, 244, 60, 61, 0, 597, 0, 598,
942 0, 0, 0, 120, 121, 122, 123, 124, 434, 437,
943 0, 613, 0, 438, 0, 0, 0, 0, 121, 122,
944 123, 124, 24, 0, 0, 0, 0, 0, 0, 0,
945 439, 601, 0, 604, 0, 0, 0, 0, 0, 0,
946 30, 0, 0, 348, 39, 134, 0, 0, 353, 133,
947 0, 599, 0, 0, 568, 0, 0, 0, 567, 0,
948 0, 0, 0, 265, 0, 541, 0, 264, 537, 29,
949 0, 27, 3, 38, 0, 53, 52, 69, 15, 0,
950 0, 407, 66, 58, 600, 541, 0, 537, 59, 0,
951 0, 0, 85, 0, 369, 325, 552, 326, 564, 0,
952 537, 350, 349, 57, 88, 336, 0, 371, 351, 86,
953 342, 366, 367, 337, 355, 357, 346, 368, 0, 54,
954 392, 450, 451, 452, 453, 465, 129, 128, 130, 454,
955 455, 459, 0, 0, 468, 782, 464, 483, 440, 540,
956 354, 0, 0, 389, 593, 0, 615, 143, 585, 586,
957 582, 558, 596, 0, 557, 554, 0, 830, 826, 825,
958 823, 805, 810, 811, 0, 817, 816, 802, 803, 801,
959 820, 809, 806, 807, 808, 812, 813, 799, 800, 796,
960 797, 798, 822, 814, 815, 804, 821, 0, 818, 725,
961 353, 726, 791, 0, 245, 539, 269, 314, 0, 0,
962 0, 0, 310, 308, 282, 312, 313, 0, 0, 0,
963 0, 0, 247, 240, 0, 0, 153, 152, 0, 154,
964 155, 0, 0, 156, 0, 0, 148, 0, 214, 0,
965 217, 151, 268, 182, 0, 0, 270, 271, 0, 150,
966 332, 353, 333, 587, 293, 284, 0, 0, 146, 147,
967 142, 0, 145, 0, 249, 0, 138, 0, 353, 137,
968 436, 0, 431, 614, 612, 0, 157, 158, 0, 0,
969 0, 396, 3, 22, 0, 610, 606, 607, 609, 611,
970 608, 120, 121, 122, 123, 124, 603, 605, 602, 256,
971 257, 0, 255, 33, 34, 0, 584, 583, 32, 31,
972 41, 0, 132, 131, 140, 0, 0, 566, 0, 565,
973 242, 260, 0, 574, 259, 0, 573, 0, 267, 578,
974 0, 0, 13, 0, 0, 9, 9, 102, 72, 107,
975 713, 0, 64, 63, 71, 105, 0, 0, 103, 67,
976 580, 0, 0, 545, 0, 785, 0, 550, 0, 549,
977 0, 0, 0, 0, 537, 389, 0, 56, 541, 537,
978 563, 0, 339, 340, 0, 55, 389, 344, 343, 345,
979 338, 358, 375, 374, 456, 460, 458, 0, 463, 469,
980 484, 356, 0, 388, 390, 537, 73, 0, 0, 0,
981 537, 79, 538, 569, 593, 616, 143, 0, 0, 819,
982 824, 355, 537, 537, 0, 537, 829, 251, 0, 0,
983 0, 0, 189, 0, 0, 191, 204, 205, 0, 0,
984 0, 0, 0, 241, 188, 185, 184, 186, 0, 0,
985 0, 0, 0, 268, 0, 0, 0, 183, 0, 262,
986 187, 0, 0, 215, 0, 0, 0, 0, 0, 0,
987 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
988 0, 0, 0, 0, 0, 0, 278, 280, 281, 318,
989 317, 0, 0, 0, 0, 0, 193, 535, 0, 201,
990 315, 307, 0, 782, 296, 299, 300, 0, 0, 327,
991 634, 630, 639, 0, 541, 537, 537, 537, 329, 637,
992 0, 591, 331, 0, 0, 330, 295, 0, 291, 309,
993 311, 588, 0, 292, 141, 144, 248, 136, 135, 532,
994 447, 530, 433, 0, 362, 0, 0, 363, 364, 365,
995 402, 403, 404, 401, 0, 394, 397, 0, 3, 0,
996 28, 36, 35, 46, 0, 48, 42, 781, 776, 0,
997 332, 353, 44, 333, 780, 50, 139, 263, 572, 571,
998 267, 575, 0, 19, 21, 68, 108, 316, 0, 663,
999 70, 661, 413, 0, 409, 408, 181, 0, 180, 542,
1000 579, 0, 755, 756, 0, 750, 353, 0, 749, 751,
1001 783, 765, 0, 0, 577, 548, 547, 0, 0, 562,
1002 0, 379, 370, 561, 0, 785, 551, 341, 372, 385,
1003 389, 457, 592, 593, 782, 0, 782, 594, 470, 471,
1004 473, 782, 476, 475, 0, 0, 0, 0, 386, 785,
1005 748, 0, 0, 0, 785, 748, 537, 76, 537, 82,
1006 828, 827, 791, 791, 791, 250, 0, 0, 0, 591,
1007 0, 0, 0, 0, 353, 0, 0, 0, 274, 0,
1008 272, 273, 0, 212, 149, 245, 592, 593, 246, 247,
1009 0, 0, 414, 445, 0, 239, 238, 740, 739, 0,
1010 236, 235, 233, 234, 232, 231, 230, 227, 228, 229,
1011 225, 226, 220, 221, 222, 223, 224, 218, 219, 0,
1012 0, 0, 0, 0, 0, 195, 209, 0, 0, 194,
1013 537, 537, 0, 537, 534, 624, 0, 0, 0, 0,
1014 298, 0, 302, 0, 304, 0, 633, 632, 629, 628,
1015 781, 0, 0, 648, 0, 0, 785, 328, 785, 635,
1016 537, 748, 541, 634, 630, 0, 0, 537, 0, 0,
1017 0, 0, 0, 0, 448, 0, 447, 179, 178, 177,
1018 176, 396, 0, 0, 25, 0, 26, 47, 0, 40,
1019 0, 634, 630, 0, 772, 537, 775, 777, 0, 773,
1020 774, 454, 0, 18, 20, 125, 113, 126, 127, 0,
1021 106, 109, 0, 0, 0, 0, 662, 654, 410, 0,
1022 104, 546, 543, 754, 771, 760, 758, 0, 544, 753,
1023 770, 759, 757, 752, 784, 767, 778, 768, 761, 766,
1024 787, 0, 377, 560, 559, 383, 382, 480, 0, 479,
1025 782, 782, 782, 0, 504, 593, 0, 0, 497, 0,
1026 0, 507, 0, 100, 95, 0, 143, 509, 512, 0,
1027 489, 0, 98, 0, 389, 376, 0, 75, 0, 0,
1028 0, 0, 81, 0, 785, 748, 785, 748, 793, 792,
1029 794, 283, 190, 192, 289, 290, 0, 0, 0, 0,
1030 273, 276, 0, 0, 0, 0, 213, 0, 277, 279,
1031 207, 206, 197, 0, 196, 211, 0, 0, 621, 619,
1032 0, 622, 541, 202, 0, 0, 305, 0, 0, 0,
1033 631, 627, 638, 537, 647, 645, 646, 636, 785, 0,
1034 643, 0, 589, 590, 0, 294, 533, 531, 435, 0,
1035 395, 393, 245, 0, 23, 43, 49, 633, 629, 634,
1036 630, 0, 553, 0, 537, 635, 51, 0, 111, 0,
1037 115, 0, 117, 0, 119, 0, 714, 656, 0, 411,
1038 634, 630, 0, 268, 0, 587, 779, 0, 0, 788,
1039 789, 0, 0, 0, 380, 0, 0, 0, 482, 481,
1040 474, 537, 748, 503, 498, 101, 508, 389, 389, 495,
1041 496, 493, 494, 537, 748, 245, 592, 0, 375, 96,
1042 499, 510, 515, 516, 375, 375, 0, 0, 375, 94,
1043 500, 513, 375, 490, 491, 492, 389, 0, 441, 387,
1044 537, 253, 252, 254, 537, 78, 0, 84, 0, 0,
1045 0, 0, 0, 0, 418, 0, 0, 415, 216, 237,
1046 0, 198, 199, 208, 210, 620, 618, 625, 623, 0,
1047 203, 0, 297, 301, 303, 785, 641, 537, 642, 432,
1048 0, 398, 400, 633, 629, 558, 635, 112, 110, 0,
1049 0, 0, 0, 0, 169, 655, 0, 657, 658, 412,
1050 0, 590, 769, 763, 764, 762, 0, 786, 378, 384,
1051 0, 477, 478, 472, 785, 0, 407, 407, 785, 0,
1052 0, 0, 389, 389, 0, 389, 389, 0, 389, 0,
1053 407, 0, 428, 785, 785, 537, 537, 0, 0, 0,
1054 0, 416, 0, 0, 0, 200, 626, 306, 644, 785,
1055 0, 114, 116, 118, 721, 715, 719, 405, 0, 664,
1056 0, 245, 592, 593, 665, 679, 682, 685, 654, 0,
1057 0, 0, 0, 0, 0, 246, 711, 716, 0, 736,
1058 0, 673, 0, 0, 353, 0, 650, 671, 678, 649,
1059 672, 712, 0, 659, 273, 790, 381, 91, 537, 502,
1060 506, 93, 537, 389, 389, 524, 407, 245, 592, 0,
1061 511, 517, 518, 375, 375, 407, 407, 0, 407, 514,
1062 501, 0, 74, 80, 785, 785, 285, 286, 287, 288,
1063 0, 419, 536, 640, 399, 654, 720, 0, 660, 653,
1064 172, 729, 731, 732, 654, 654, 654, 0, 0, 0,
1065 697, 699, 700, 701, 0, 0, 0, 730, 0, 324,
1066 737, 0, 674, 322, 375, 0, 323, 0, 375, 0,
1067 0, 0, 170, 652, 651, 675, 710, 709, 785, 785,
1068 523, 520, 522, 0, 0, 389, 389, 389, 519, 521,
1069 505, 430, 0, 429, 424, 77, 83, 417, 0, 406,
1070 0, 0, 669, 668, 0, 0, 0, 0, 693, 0,
1071 702, 0, 708, 717, 0, 320, 321, 0, 0, 0,
1072 319, 171, 654, 90, 92, 389, 389, 529, 407, 407,
1073 0, 0, 443, 0, 722, 161, 0, 666, 680, 0,
1074 683, 656, 734, 686, 0, 168, 0, 353, 0, 0,
1075 0, 698, 707, 0, 0, 676, 528, 526, 525, 527,
1076 427, 426, 420, 65, 68, 0, 0, 0, 0, 654,
1077 0, 655, 0, 735, 654, 733, 690, 375, 695, 694,
1078 718, 741, 0, 655, 0, 425, 727, 728, 723, 162,
1079 667, 173, 655, 175, 670, 159, 0, 0, 0, 654,
1080 389, 0, 0, 0, 742, 743, 703, 677, 423, 0,
1081 422, 655, 656, 681, 0, 684, 165, 0, 164, 691,
1082 0, 696, 0, 741, 0, 0, 421, 724, 174, 160,
1083 687, 655, 166, 0, 0, 704, 744, 0, 692, 0,
1084 745, 0, 0, 0, 167, 746, 0, 705, 688, 0,
1085 0, 0, 747, 706, 655, 689, 0, 0, 0
1088 static const short yydefgoto[] = { 1527,
1089 413, 2, 414, 165, 655, 315, 233, 3, 4, 38,
1090 629, 363, 932, 382, 40, 933, 392, 635, 636, 637,
1091 42, 43, 422, 171, 169, 44, 934, 721, 956, 726,
1092 958, 46, 935, 936, 172, 173, 423, 657, 881, 882,
1093 610, 883, 221, 47, 48, 49, 341, 316, 317, 318,
1094 1251, 1468, 1408, 1488, 1417, 1510, 1166, 1463, 1483, 357,
1095 837, 319, 566, 800, 320, 321, 358, 323, 51, 240,
1096 384, 402, 52, 53, 324, 526, 325, 326, 327, 328,
1097 424, 329, 1252, 463, 587, 330, 1253, 55, 204, 640,
1098 331, 205, 504, 206, 184, 197, 59, 446, 185, 1063,
1099 464, 1181, 198, 1064, 60, 947, 474, 61, 62, 625,
1100 626, 627, 1229, 429, 763, 764, 1434, 1435, 1403, 1364,
1101 1292, 63, 614, 352, 471, 1203, 1365, 976, 846, 64,
1102 65, 66, 67, 225, 68, 69, 70, 227, 709, 710,
1103 711, 712, 229, 716, 717, 940, 941, 942, 1091, 1101,
1104 1092, 1281, 1093, 1094, 1282, 1283, 611, 612, 567, 827,
1105 333, 432, 433, 178, 186, 72, 73, 74, 187, 188,
1106 157, 76, 131, 334, 335, 336, 78, 337, 80, 714,
1107 122, 123, 124, 104, 81, 338, 805, 806, 822, 590,
1108 1256, 1257, 1373, 1230, 1167, 1168, 1169, 661, 1258, 888,
1109 1259, 1315, 1440, 1375, 1410, 1260, 1261, 1393, 1454, 1316,
1110 1441, 1317, 1443, 1318, 1445, 1508, 1522, 1470, 1502, 1421,
1111 1472, 1380, 425, 658, 1163, 1262, 1329, 1424, 1226, 1227,
1112 1306, 1438, 1482, 1419, 1405, 1263, 1414, 1332, 770, 1474,
1113 1475, 1476, 1517, 678, 679, 910, 1059, 1176, 680, 681,
1114 682, 906, 683, 150, 908, 685, 1061, 1062, 497, 83,
1118 static const short yypact[] = { 114,
1119 129,-32768,-32768, 10013,-32768, 40, 57, 45, 73, 68,
1120 155,-32768,-32768, 1229,-32768,-32768, 202, 239, 260,-32768,
1121 -32768,-32768, 1097, 1036, 915, 10243,-32768, 264, 168,-32768,
1122 2214, 2214,-32768, 2014,-32768, 10013, 323,-32768, 317, 182,
1123 10072,-32768,-32768, 311,-32768, 398, 366, 389,-32768,-32768,
1124 -32768,-32768, 246, 3367,-32768, 4571,-32768, 975, 284,-32768,
1125 414,-32768,-32768, 1604,-32768,-32768, 415,-32768,-32768, 438,
1126 10673,-32768,-32768,-32768, 1694,-32768,-32768,-32768, 2132,-32768,
1127 -32768, 609, 7413, 377,-32768,-32768, 8981,-32768, 8529,-32768,
1128 8529, 8529, 10450,-32768, 45, 73, 264, 447, 408, 467,
1129 389,-32768, 609,-32768, 609, 8981, 8981, 450,-32768,-32768,
1130 -32768,-32768,-32768, 207, 528, 419, 503, 556, 537, 578,
1131 -32768,-32768, 814,-32768, 1121, 45, 73, 508, 264, 447,
1132 -32768, 1164, 1000,-32768, 495,-32768, 5263, 5847, 1894,-32768,
1133 8529,-32768, 8981, 4134,-32768, 2240, 649, 4134,-32768, 1259,
1134 4258, 4258, 2014, 531, 552, 570, 559, 562,-32768,-32768,
1135 670,-32768, 573,-32768, 5005, 40,-32768,-32768,-32768, 694,
1136 130, 370, 642,-32768,-32768, 610, 212,-32768,-32768, 4314,
1137 4314, 5429, 1694, 399,-32768,-32768, 256,-32768,-32768, 2528,
1138 -32768,-32768,-32768,-32768,-32768, 975, 492,-32768, 414, 1694,
1139 -32768,-32768,-32768, 1501, 975,-32768, 414,-32768, 5263,-32768,
1140 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1141 -32768, 389, 1289, 1289, 415,-32768,-32768,-32768,-32768,-32768,
1142 767, 609, 627, 414, 441, 1133,-32768, 338,-32768,-32768,
1143 -32768,-32768,-32768, 4666,-32768,-32768, 231,-32768, 632, 645,
1144 -32768,-32768,-32768,-32768, 674,-32768,-32768,-32768,-32768,-32768,
1145 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1146 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 620,-32768,-32768,
1147 767, 10673, 820, 8529,-32768, 668,-32768,-32768, 9596, 9683,
1148 9770, 9770,-32768,-32768,-32768,-32768,-32768, 679, 704, 708,
1149 714, 719, 447, 9068, 1259, 9770,-32768,-32768, 9770,-32768,
1150 -32768, 9770, 6885,-32768, 9770, 270,-32768, 9770,-32768, 9155,
1151 -32768, 10546,-32768, 1405, 3136, 9242,-32768, 786, 1307,-32768,
1152 752, 3651, 3496,-32768, 360,-32768, 1295, 2118,-32768,-32768,
1153 -32768, 270,-32768, 270,-32768, 270,-32768, 5263, 1999,-32768,
1154 -32768, 1259, 697,-32768,-32768, 693, 745, 10765, 705, 716,
1155 724, 1784, 573,-32768, 508,-32768,-32768,-32768,-32768,-32768,
1156 -32768, 528, 419, 503, 556, 537,-32768,-32768,-32768, 45,
1157 73, 784,-32768,-32768,-32768, 1000,-32768,-32768,-32768,-32768,
1158 -32768, 10666,-32768,-32768,-32768, 270, 270,-32768, 536,-32768,
1159 -32768,-32768, 4134,-32768,-32768, 4134,-32768, 732,-32768,-32768,
1160 4666, 36, 741, 748, 10450,-32768,-32768,-32768,-32768,-32768,
1161 -32768, 124,-32768,-32768,-32768,-32768, 6977, 9068,-32768,-32768,
1162 -32768, 9068, 750,-32768, 6213, 103, 4770,-32768, 4770,-32768,
1163 4797, 4797, 5429, 757,-32768, 414, 5263,-32768, 761,-32768,
1164 -32768, 5108, 1501, 975, 5263,-32768, 414,-32768,-32768, 414,
1165 1501,-32768, 673,-32768,-32768, 389,-32768, 1289,-32768, 1596,
1166 -32768, 767, 670, 762, 414,-32768,-32768, 801, 807, 809,
1167 -32768,-32768,-32768,-32768, 580,-32768, 374, 772, 775,-32768,
1168 -32768, 767,-32768,-32768, 551,-32768,-32768,-32768, 270, 9068,
1169 668, 6885,-32768, 451, 6885,-32768,-32768,-32768, 8981, 10680,
1170 10680, 10680, 10680, 10833,-32768,-32768,-32768,-32768, 782, 9857,
1171 9857, 6885, 785, 531, 789, 841, 795,-32768, 8981,-32768,
1172 -32768, 6694, 6885,-32768, 9068, 9068, 7069, 9068, 9068, 9068,
1173 9068, 9068, 9068, 9068, 9068, 9068, 9068, 9068, 9068, 9068,
1174 9068, 9068, 9068, 9068, 9068, 9068,-32768,-32768,-32768,-32768,
1175 -32768, 9068, 9068, 9068, 8981, 4897, 439, 876, 7777,-32768,
1176 -32768,-32768, 859, 914, 491, 516, 525, 1537, 649,-32768,
1177 1863, 1863,-32768, 2957, 813, 834, 882,-32768,-32768, 269,
1178 8337, 648,-32768, 730, 609,-32768,-32768, 9068,-32768,-32768,
1179 -32768,-32768, 200,-32768,-32768,-32768,-32768,-32768,-32768, 872,
1180 881,-32768,-32768, 1259,-32768, 7506, 7598,-32768,-32768,-32768,
1181 -32768,-32768,-32768,-32768, 78,-32768, 849, 835, 573, 884,
1182 -32768,-32768,-32768, 1058, 187, 885,-32768,-32768, 3026, 10506,
1183 3026, 10131, 1604, 5167,-32768, 886,-32768,-32768,-32768,-32768,
1184 848,-32768, 898,-32768,-32768, 311, 322, 903, 841,-32768,
1185 -32768,-32768,-32768, 6415, 10833,-32768, 745, 866, 10765,-32768,
1186 -32768, 867,-32768,-32768, 869, 188, 10187, 870,-32768, 245,
1187 10299, 922, 923, 526,-32768,-32768,-32768, 4770, 4770,-32768,
1188 5108, 926,-32768,-32768, 883, 103,-32768, 1501,-32768, 933,
1189 414,-32768, 419, 503,-32768, 906,-32768, 578, 942,-32768,
1190 -32768, 220,-32768,-32768, 1330, 3254, 58, 66,-32768, 103,
1191 1767, 8981, 8981, 8981, 103, 1767,-32768,-32768,-32768,-32768,
1192 -32768,-32768, 618, 618, 618,-32768, 899, 904, 9335, 882,
1193 905, 913, 917, 948, 4231, 955, 958, 961,-32768, 934,
1194 -32768,-32768, 941,-32768,-32768, 980, 684, 717, 286, 201,
1195 9068, 990,-32768, 994, 945, 10833, 10833,-32768,-32768, 993,
1196 3688, 4340, 3916, 4445, 4416, 2273, 2982, 2009, 2009, 2009,
1197 1064, 1064, 1243, 1243, 664, 664, 664,-32768,-32768, 950,
1198 957, 962, 966, 967, 10680, 439,-32768, 6977, 9068,-32768,
1199 -32768,-32768, 9068,-32768,-32768, 977, 9770, 971, 1010, 1031,
1200 -32768, 9068,-32768, 9068,-32768, 9068, 3128,-32768, 3128,-32768,
1201 205, 995, 999,-32768, 1007, 10680, 103,-32768, 103, 3833,
1202 -32768, 1767, 1008, 8616, 8616, 6002, 1013, 9155, 1017, 3489,
1203 2118, 773, 1018, 9068, 1259, 992, 881,-32768, 10833,-32768,
1204 10833, 1784, 1021, 9422,-32768, 1029,-32768,-32768, 10666,-32768,
1205 10680, 2070, 2070, 3775,-32768,-32768,-32768,-32768, 2528,-32768,
1206 -32768, 59, 9068,-32768,-32768, 528,-32768, 556, 537, 9068,
1207 1069,-32768, 553, 591, 611, 841,-32768,-32768,-32768, 31,
1208 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 8433,-32768,-32768,
1209 -32768,-32768,-32768,-32768,-32768,-32768, 923, 1076,-32768,-32768,
1210 -32768, 10680,-32768,-32768,-32768,-32768, 1085,-32768, 8981,-32768,
1211 -32768,-32768,-32768, 1404,-32768, 608, 1191, 1082,-32768, 9068,
1212 5357,-32768, 3428, 291, 291, 365, 622, 1689, 10344, 5508,
1213 -32768, 110, 291, 1095, 414,-32768, 6977,-32768, 1049, 270,
1214 270, 270,-32768, 1051, 103, 1767, 103, 1767,-32768,-32768,
1215 -32768,-32768,-32768,-32768,-32768,-32768, 1070, 1072, 1077, 1078,
1216 848,-32768, 10697, 6977, 6510, 1073,-32768, 9068,-32768,-32768,
1217 -32768,-32768, 388, 1071,-32768,-32768, 1083, 42, 633, 633,
1218 1074, 633,-32768,-32768, 9770, 1175,-32768, 1087, 1089, 1093,
1219 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 103, 1099,
1220 -32768, 1092,-32768,-32768, 3635,-32768, 10833,-32768,-32768, 1096,
1221 -32768,-32768, 142, 1100,-32768,-32768,-32768, 2358, 2358, 2480,
1222 2480, 3775,-32768, 2528,-32768, 2623, 10546, 1102,-32768, 322,
1223 -32768, 9068,-32768, 9068,-32768, 9068,-32768, 64, 6602,-32768,
1224 8709, 8709, 6098, 305, 1106, 356,-32768, 6977, 6789,-32768,
1225 -32768, 151, 6977, 6977,-32768, 1108, 1109, 1596,-32768,-32768,
1226 -32768,-32768, 1767, 10833,-32768,-32768,-32768, 414, 414,-32768,
1227 -32768,-32768,-32768,-32768, 1767, 297, 727, 9068, 673,-32768,
1228 1160,-32768,-32768,-32768, 181, 879, 2132, 649, 936, 291,
1229 1163,-32768, 1055,-32768,-32768,-32768, 414, 5635,-32768,-32768,
1230 -32768,-32768,-32768,-32768,-32768,-32768, 1115,-32768, 1119, 9068,
1231 9068, 9068, 9068, 6977,-32768, 9068, 1168,-32768,-32768, 10833,
1232 9068,-32768, 388,-32768,-32768,-32768,-32768,-32768,-32768, 1122,
1233 -32768, 1189,-32768,-32768,-32768, 103,-32768,-32768,-32768,-32768,
1234 9068,-32768,-32768, 2358, 2358,-32768, 2623,-32768,-32768, 1129,
1235 1130, 1132, 1147, 1259,-32768,-32768, 5908, 1217,-32768,-32768,
1236 1144, 1610,-32768,-32768,-32768,-32768, 10680,-32768,-32768,-32768,
1237 6977,-32768,-32768,-32768, 103, 1145, 1192, 1192, 103, 1146,
1238 9068, 9068, 10675, 414, 3067, 414, 414, 780, 414, 4911,
1239 1192, 7846,-32768, 103, 103,-32768,-32768, 1157, 1166, 1167,
1240 1170,-32768, 10788, 6977, 1161,-32768,-32768,-32768,-32768, 103,
1241 1171,-32768,-32768,-32768,-32768, 1147,-32768,-32768, 692,-32768,
1242 158, 1207, 766, 781,-32768,-32768,-32768,-32768,-32768, 9068,
1243 1226, 1234, 1235, 8802, 518, 428,-32768,-32768, 8894, 1296,
1244 1245,-32768, 5246, 10405, 10551, 5754,-32768,-32768, 1288,-32768,
1245 -32768,-32768, 7941,-32768, 436,-32768,-32768,-32768,-32768,-32768,
1246 -32768,-32768,-32768, 10675, 10675,-32768, 1192, 605, 893, 9068,
1247 -32768,-32768,-32768, 673, 673, 1192, 1192, 580, 1192,-32768,
1248 -32768, 4001,-32768,-32768, 103, 103,-32768,-32768,-32768,-32768,
1249 6977,-32768,-32768,-32768,-32768,-32768,-32768, 1259,-32768,-32768,
1250 -32768,-32768,-32768,-32768,-32768,-32768, 841, 1213, 1215, 10584,
1251 -32768,-32768,-32768,-32768, 1253, 9068, 1261,-32768, 841,-32768,
1252 -32768, 1236,-32768,-32768, 673, 707,-32768, 779, 673, 9509,
1253 788, 164,-32768,-32768,-32768,-32768,-32768,-32768, 103, 103,
1254 -32768,-32768,-32768, 9068, 9068, 10675, 414, 414,-32768,-32768,
1255 -32768,-32768, 7690,-32768,-32768,-32768,-32768,-32768, 1237,-32768,
1256 638, 638,-32768,-32768, 1321, 6323, 8981, 9068,-32768, 8051,
1257 -32768, 1281,-32768,-32768, 670,-32768,-32768, 9944, 9944, 7161,
1258 -32768,-32768, 841,-32768,-32768, 10675, 10675,-32768, 1192, 1192,
1259 1239, 10719, 1246, 5696,-32768,-32768, 8981,-32768,-32768, 8243,
1260 -32768, 64,-32768,-32768, 1290,-32768, 1240, 373, 5263, 10811,
1261 8051,-32768,-32768, 1147, 44,-32768,-32768,-32768,-32768,-32768,
1262 -32768,-32768,-32768, 398, 311, 1244, 1247, 841, 1251, 841,
1263 8147,-32768, 647,-32768,-32768,-32768,-32768, 673,-32768,-32768,
1264 1147, 1352, 1305,-32768, 132,-32768,-32768,-32768,-32768,-32768,
1265 -32768,-32768,-32768,-32768,-32768,-32768, 9068, 1306, 7253, 841,
1266 414, 8051, 1275, 257, 1310,-32768,-32768,-32768,-32768, 124,
1267 -32768,-32768, 64,-32768, 1264,-32768,-32768, 1314,-32768,-32768,
1268 1312,-32768, 9068, 1352, 1332, 1352,-32768,-32768,-32768,-32768,
1269 -32768,-32768,-32768, 1272, 274,-32768,-32768, 7345,-32768, 6977,
1270 -32768, 1380, 1333, 1285,-32768,-32768, 171,-32768,-32768, 1386,
1271 1340, 8147,-32768,-32768,-32768,-32768, 1412, 1413,-32768
1274 static const short yypgoto[] = {-32768,
1275 1415,-32768, -329,-32768, 1001, 9, 10, 1414,-32768, 69,
1276 -32768,-32768, 226, 1056,-32768, 393,-32768,-32768,-32768, 565,
1277 -32768, 1260, -657, -8, -649, 1262, 136,-32768,-32768,-32768,
1278 -32768,-32768, 489, 496,-32768,-32768,-32768,-32768,-32768, 394,
1279 219,-32768,-32768,-32768, 5249, 77, 146, -30, 907,-32768,
1280 1490,-32768, 61,-32768, -1303,-32768, -1330, -83,-32768, 1186,
1281 -230, -249,-32768, -767, 3615, 83, 1019, 3530,-32768, -97,
1282 -79, 15, -49, 288,-32768,-32768,-32768, -313,-32768, -157,
1283 -32768,-32768, -1173, -51, -330, 1866, 119, 808, -163, 22,
1284 80, -188, -4, -96, -917, 186,-32768, -70,-32768,-32768,
1285 -176,-32768,-32768,-32768,-32768,-32768, 845, 540, 11,-32768,
1286 590,-32768,-32768, -1107, -415, 794,-32768,-32768,-32768,-32768,
1287 -32768, -47,-32768,-32768,-32768,-32768,-32768,-32768, 598, -374,
1288 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 1223,-32768, 381,
1289 542,-32768,-32768,-32768,-32768, 344, -904, 534,-32768,-32768,
1290 -32768,-32768,-32768, 530,-32768, 273, 856, 629, 910, 2154,
1291 34, 3, -421, 1291, 1443, -461,-32768, 17,-32768, 2697,
1292 -128, 328, -55, 4100, 1148,-32768, 4430, 1823, 2703, -5,
1293 -110,-32768, 1357,-32768, 4154, 2763, -422,-32768, 4073,-32768,
1294 -32768, 227, -868, -1069,-32768,-32768, 318, 8, -348,-32768,
1295 -32768,-32768,-32768, -1246,-32768, -1199, -1315,-32768,-32768,-32768,
1296 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1297 -32768,-32768, 41,-32768,-32768,-32768,-32768,-32768, 67, -1205,
1298 -32768,-32768,-32768, -66,-32768,-32768,-32768,-32768, -1307, 1,
1299 -32768, 6,-32768, -682, -371, 597,-32768,-32768,-32768,-32768,
1300 -386,-32768, -382, -158,-32768, 978, 330,-32768, 176,-32768,
1301 -220
1305 #define YYLAST 10918
1308 static const short yytable[] = { 58,
1309 886, 592, 183, 412, 234, 645, 875, 454, 713, 646,
1310 208, 666, 36, 37, 379, 480, 283, 643, 121, 1048,
1311 1307, 139, 404, 407, 601, 56, 1075, 695, 985, 241,
1312 102, 58, 453, 628, 387, 1104, 58, 71, 949, 503,
1313 506, 461, 472, 954, 36, 37, 571, 138, 155, 36,
1314 37, 196, 388, 389, 571, 177, 1345, 56, 342, 71,
1315 344, 346, 56, 1348, 144, 148, 231, 470, 1415, 71,
1316 534, 211, 385, 662, 71, 1330, 571, 390, 281, 1270,
1317 1271, 1444, 332, 57, 332, 393, 332, 332, 349, 580,
1318 1049, 208, 492, 1291, 1442, 944, 241, 1164, 245, 88,
1319 85, 332, 332, 1439, 160, 57, 1452, 459, 462, 167,
1320 396, 483, 397, -1, 138, 57, 282, 604, -45, 89,
1321 57, 354, 54, -45, 659, 1464, 71, 90, -2, 457,
1322 419, 87, 1479, 196, -45, 739, 332, 852, 332, 45,
1323 241, 1050, 92, 492, 137, 653, 1426, 91, 208, 1010,
1324 86, 1135, 1499, 1453, 54, 238, 208, 208, 177, 54,
1325 58, 136, 280, 825, 684, 1489, 405, 408, 945, 1353,
1326 1105, 45, 57, 740, 1165, 946, 45, 753, 1359, 1360,
1327 1422, 1361, 660, 208, 403, 406, 56, 853, -316, 177,
1328 -316, 195, 420, 1461, 420, 884, 155, 668, 71, 894,
1329 1514, 1151, 1413, 93, 675, -325, 1464, 15, 16, 211,
1330 1177, 348, 823, 437, 439, 1132, 894, 211, 1310, 823,
1331 1106, 1450, 142, 1490, 1310, 421, 922, 421, 347, 39,
1332 1520, 575, 100, 208, 8, 485, 343, 345, 293, -325,
1333 163, 114, 143, -325, 57, 1307, 859, 895, 245, 576,
1334 896, 1152, -781, 499, 27, 142, 900, 923, 568, 434,
1335 1178, 39, 860, -124, 895, 364, 39, 896, 1311, 737,
1336 693, 365, 1492, 1117, 1392, 1119, -325, 231, 699, 332,
1337 1521, 164, 220, 54, 208, 897, 395, 129, 130, 601,
1338 698, 1429, 1430, -541, 645, 106, 608, 1104, 907, 856,
1339 45, 208, 897, -541, 901, 435, 632, 902, 332, 385,
1340 887, 486, 404, 407, 754, 718, 831, 15, 16, 1494,
1341 281, 156, -375, 487, 876, 703, 704, 525, 231, 529,
1342 633, 790, 107, 792, 793, 1336, 1512, 1341, 141, -541,
1343 176, 377, 903, 209, 210, 339, 592, 340, -123, -541,
1344 449, -375, -265, 108, 245, -375, 459, 462, 282, 1191,
1345 141, 158, 832, 833, 459, 1216, 1495, 843, 401, 877,
1346 1319, 87, 1465, 507, 508, 462, 27, 162, 878, 879,
1347 202, 203, 986, 1513, 1478, 481, 14, 642, 516, 1080,
1348 1186, 517, 701, 1484, 518, 462, 41, 528, -265, -265,
1349 531, -375, 1190, -581, 280, 208, 208, 597, 570, 21,
1350 139, 1012, 1498, 208, -258, 880, 161, 426, 24, 168,
1351 580, 729, 170, 1081, 208, 644, 174, 1082, 41, 498,
1352 677, 482, 1509, 41, 427, 797, 138, 1369, 156, 156,
1353 156, 465, 467, 175, 208, 19, 1371, 1372, 71, -581,
1354 -581, 284, 798, 598, 479, 1526, 405, 408, 447, 448,
1355 1083, 530, 713, 428, 823, -581, 739, 730, 644, 156,
1356 211, 641, 645, 367, 688, 689, 646, 226, 158, 158,
1357 158, 799, 1131, -267, 643, 211, 797, 605, 476, 606,
1358 1328, 607, 823, 89, 57, 90, 228, 332, 580, 568,
1359 332, 142, 141, 798, 332, 745, 745, 745, 745, 158,
1360 285, 380, 381, 10, 641, 91, 525, 332, 351, 525,
1361 94, 109, 110, 515, 332, 353, 823, 601, 332, -267,
1362 -267, 1110, 799, 137, 477, 405, 750, 1047, 811, 126,
1363 127, 647, 648, 362, 739, -261, 918, 525, 920, 22,
1364 136, 455, 456, 924, 126, 127, 492, 368, 1125, 1128,
1365 332, 281, 27, 813, 28, 303, 1136, 1137, 987, 1139,
1366 391, 1140, 815, 911, 111, 112, 1469, 91, 884, 642,
1367 624, 998, 366, 999, 812, 1000, 677, 865, 534, 870,
1368 871, 370, 129, 130, 208, 199, 33, 207, 1326, 282,
1369 1041, 459, 516, 517, 379, 839, 713, 129, 130, 814,
1370 369, 245, 8, 9, 817, 819, 486, 644, 816, 912,
1371 604, 126, 127, 1024, 644, 871, 483, 727, 121, 208,
1372 141, 237, 371, 1128, 90, 196, 126, 127, 1043, 231,
1373 -258, 483, 1173, 1175, 736, 280, 1042, 1179, 1180, 1038,
1374 208, 885, 126, 127, 91, 1072, -537, 740, 1045, -537,
1375 823, 409, 90, 641, 176, 129, 130, 1354, 410, 1084,
1376 641, -576, 27, 728, 129, 130, 642, 199, 207, 87,
1377 288, 823, 91, -7, 1044, 1406, 702, 27, 493, 129,
1378 130, 950, 951, 952, 1466, 828, 418, 208, 494, 15,
1379 16, 1073, 430, 801, 1046, 129, 130, -537, 1212, -537,
1380 -537, 58, -537, 802, 644, 1085, 642, 332, 332, 332,
1381 473, 642, 431, -537, 931, -537, 488, 803, 156, 156,
1382 156, 1407, 491, 8, 9, 207, 490, 939, 88, 489,
1383 1467, -537, -537, 460, 207, -537, -121, 555, 556, 71,
1384 762, 1308, 1309, 839, 644, 126, 127, -537, 89, 644,
1385 641, 500, 1068, 1069, 1070, 1267, 447, 1386, 158, 158,
1386 158, 90, 509, 475, 202, 203, 8, 9, 510, -122,
1387 14, 88, 511, 126, 1288, 1456, 129, 130, 512, 1192,
1388 745, 91, 937, 513, 988, 57, 571, 1480, 1302, 580,
1389 641, 89, 615, 21, 616, 641, 27, 613, 129, 130,
1390 237, 1160, 24, 1161, 618, 1162, 372, 373, 374, 241,
1391 88, 745, 581, 126, 127, 619, 719, 642, 1313, 129,
1392 130, 677, 582, 620, 938, 90, 129, 130, 455, 1387,
1393 89, 651, 583, 1314, 631, 584, 585, 447, 1391, 405,
1394 750, -6, 858, 486, 642, 91, 745, 245, 654, 642,
1395 486, 872, 671, 1078, 1079, 644, 690, 817, 819, 644,
1396 375, 376, 1107, 694, 27, 722, 129, 130, 155, 126,
1397 127, 723, 762, 724, 731, 1368, 1090, 732, 207, 994,
1398 493, 749, 644, 677, 751, 1028, 1029, 644, 752, 660,
1399 494, 404, 407, -326, 754, 15, 16, 745, 959, 960,
1400 961, 641, 1055, 809, 332, 641, 516, 517, 126, 127,
1401 1221, 810, 404, 407, 740, 824, 58, 826, 58, 828,
1402 27, 644, 129, 130, 196, 58, 844, -326, 641, 931,
1403 845, -326, 854, 641, 857, 855, 801, 88, 931, 861,
1404 873, 642, 939, 642, 939, 1355, 802, -261, 874, 128,
1405 -99, 939, 15, 16, 71, 420, 71, 89, 1374, 27,
1406 803, 129, 130, 71, -326, 891, 892, 641, 893, 899,
1407 1384, 201, 202, 203, 241, 475, -780, 909, 14, 644,
1408 913, 644, 460, 207, -99, 914, 475, 916, -99, 919,
1409 460, 921, 285, 380, 381, 10, 19, 937, 962, 937,
1410 57, 21, 57, 963, 964, 937, 937, 645, 1194, 57,
1411 24, 1437, 965, 967, 1196, 1197, 966, 642, 1194, 1199,
1412 968, -99, 1197, 969, 885, 641, 970, 641, 115, 116,
1413 117, 22, -120, 971, 1374, 405, 408, 241, 677, 938,
1414 972, 938, 974, 975, 977, 978, 28, 303, 938, 979,
1415 372, 373, 374, 1154, 1155, 644, 405, 1171, 642, 980,
1416 624, 993, 981, 1089, 1099, 982, 983, 1141, 997, -97,
1417 642, 15, 16, 995, 1154, 1155, 644, 740, 33, 1459,
1418 27, 1374, 118, 119, 1515, 1112, 1113, 1114, 996, 94,
1419 109, 110, 1019, 58, 1003, 322, 644, 322, 1004, 322,
1420 322, 641, 27, -97, 375, 376, 931, -97, 644, 1005,
1421 1011, 1374, 1013, 115, 116, 117, 1014, 1016, 1040, 939,
1422 1022, 662, 641, 516, 517, 94, 109, 110, 478, 1025,
1423 1058, 71, 550, 551, 552, 553, 554, 555, 556, 1065,
1424 -97, 156, 641, 111, 112, 113, 135, 1108, 1111, 322,
1425 1115, 322, 1255, 1120, 641, 1121, 285, 380, 381, 10,
1426 1122, 1123, 745, 238, 22, 1249, 1250, 118, 119, 199,
1427 1133, 207, 1142, 1129, 937, 156, 1138, 57, 1254, 111,
1428 112, 158, 1134, 1127, 126, 127, 1143, 58, 1144, 639,
1429 71, 1335, 1145, 1335, 1149, 22, 1150, 208, 1148, 1153,
1430 931, 1158, 236, 1357, 1358, 1172, 207, 1182, 1183, 1195,
1431 28, 303, 1200, 939, 1206, 158, 938, 1425, 1207, 492,
1432 1214, 94, 95, 96, 1217, 71, 1218, 460, 1222, 1223,
1433 475, 1224, 639, 1225, 1255, 27, 57, 129, 130, 196,
1434 1164, 1255, 33, 1265, 1269, 1273, 427, 1249, 1255, 404,
1435 407, 94, 109, 110, 1249, 1250, 1297, 1127, 457, 1312,
1436 1254, 1249, 1250, 1303, 487, 1298, 1299, 1254, 937, 1300,
1437 1305, 57, 71, 27, 1254, 97, 98, 99, 1321, 71,
1438 692, 94, 95, 96, 1322, 1323, 71, 285, 8, 9,
1439 10, 700, 322, 1346, 1331, 1333, 1376, 572, 1377, 285,
1440 380, 381, 10, 1381, 573, 111, 112, 156, 156, 156,
1441 938, 1383, 514, 552, 553, 554, 555, 556, 57, 1385,
1442 1404, 528, 115, 703, 704, 57, 22, 1411, 156, 156,
1443 156, 1423, 57, 236, 1433, 97, 98, 1431, 22, 1447,
1444 1446, 28, 303, 1457, 1055, 236, 1458, 158, 158, 158,
1445 1460, 27, 1473, 28, 303, 1477, 1486, 1448, 1493, 1496,
1446 208, 1255, 1418, 1500, 1501, 1255, 1503, 1471, 158, 158,
1447 158, 1511, 1228, 33, 1249, 332, 118, 119, 1249, 1250,
1448 1516, 639, 1506, 1518, 1519, 574, 1523, 1254, 639, 642,
1449 1524, 1254, 1418, 405, 1171, 1255, 115, 703, 704, 71,
1450 282, 1528, 1529, 71, 1, 5, 1255, 656, 1249, 1250,
1451 630, 688, 689, 1026, 416, 1455, 417, 1100, 1076, 1249,
1452 1250, 1254, 1409, 1159, 706, 755, 1255, 644, 1525, 1338,
1453 282, 1021, 1254, 71, 1020, 665, 669, 469, 1184, 1249,
1454 1250, 1202, 557, 669, 71, 57, 280, 890, 27, 57,
1455 118, 119, 1254, 1327, 1418, 1071, 1077, 1255, 1102, 847,
1456 516, 517, 1290, 1018, 71, 796, 577, 450, 199, 378,
1457 1249, 1250, 1344, 641, 475, 1264, 280, 1497, 639, 57,
1458 1451, 558, 559, 1254, 1505, 1481, 560, 561, 562, 563,
1459 57, 1507, 282, 1057, 0, 71, 1266, 458, 202, 203,
1460 0, 0, 0, 0, 14, 0, 0, 1255, 669, 0,
1461 57, 0, 0, 0, 0, 0, 1370, 0, 639, 0,
1462 1249, 1250, 19, 639, 0, 0, 0, 21, 0, 285,
1463 126, 127, 10, 1254, 0, 917, 24, 322, 280, 0,
1464 665, 57, 0, 766, 767, 71, 771, 772, 773, 774,
1465 775, 776, 777, 778, 779, 780, 781, 782, 783, 784,
1466 785, 786, 787, 788, 789, 0, 0, 0, 22, 0,
1467 669, 0, 669, 669, 0, 236, 0, 0, 0, 0,
1468 0, 0, 0, 28, 303, 356, 360, 0, 115, 703,
1469 704, 57, 705, 0, 0, 0, 94, 95, 96, 669,
1470 212, 213, 214, 667, 0, 0, 669, 475, 475, 0,
1471 667, -267, 438, 440, 444, 33, 706, 156, 0, 0,
1472 0, 0, 0, 707, 849, 851, -267, -267, 0, 639,
1473 215, -267, 0, 639, 0, 0, 475, 0, 0, 0,
1474 27, 0, 118, 119, 0, 0, 0, -267, 27, 0,
1475 97, 98, 216, 0, 0, 0, 639, 158, 0, -267,
1476 -267, 639, -267, 915, -267, 156, 156, 156, 0, 0,
1477 0, 0, 665, 0, 0, 667, 0, 0, 0, 0,
1478 0, 1086, 1087, 9, 10, 0, 0, 948, 0, 0,
1479 0, 0, 953, -267, -267, 639, 0, -267, 217, 218,
1480 219, 0, 0, 0, 0, 158, 158, 158, 0, -267,
1481 15, 16, 0, 0, 0, -375, 0, 0, 0, 0,
1482 22, 0, 475, 475, 0, 475, 475, 0, 475, 0,
1483 322, 322, 322, 27, 0, 28, 29, 667, 0, 667,
1484 667, 1088, 0, -375, -375, 0, 0, 669, -375, 180,
1485 0, 0, 0, 639, 0, 639, 0, 0, 0, 181,
1486 8, 9, 0, 134, 12, 13, 667, 33, 673, 973,
1487 14, 0, 182, 667, 0, 0, 94, 109, 110, 1109,
1488 621, 622, 623, 199, 207, 17, 0, 18, 19, 0,
1489 0, 0, 523, 21, 1006, 0, 1007, 0, 0, 0,
1490 0, 0, 24, 475, 475, 0, 665, 669, 0, 0,
1491 0, 27, 0, 129, 130, 0, 79, 0, 0, 0,
1492 669, 0, 669, 0, 669, 0, 103, 0, 0, 639,
1493 111, 112, 0, 0, 0, 0, 0, 132, 79, 0,
1494 0, 0, 0, 146, 146, 0, 146, 0, 79, 0,
1495 639, 0, 1017, 79, 674, 0, 126, 127, 0, 0,
1496 0, 13, 669, 0, 0, 0, 190, 0, 79, 686,
1497 639, 687, 0, 438, 440, 444, 223, 0, 0, 0,
1498 0, 1037, 639, 103, 697, 475, 475, 475, 669, 0,
1499 201, 202, 203, 0, 247, 103, 0, 14, 0, 0,
1500 580, 0, 0, 0, 0, 79, 669, 27, 0, 129,
1501 130, 670, 1187, 1188, 667, 19, 0, 103, 0, 0,
1502 21, 0, 1116, 581, 1118, 475, 475, 0, 0, 24,
1503 0, 0, 0, 582, 0, 0, 0, 0, 1074, 0,
1504 132, 1201, 0, 583, 394, 132, 584, 585, 0, 190,
1505 103, 0, 0, 0, 0, 665, 146, 0, 0, 399,
1506 146, 359, 361, 146, 146, 146, 0, 0, 0, 0,
1507 0, 0, 0, 0, 667, 0, 1147, 79, 0, 0,
1508 0, 523, 665, 665, 523, 0, 1130, 667, 742, 667,
1509 0, 667, 190, 190, 190, 201, 202, 203, 0, 0,
1510 475, 523, 14, 0, 0, 0, 7, 126, 127, 10,
1511 0, 0, 523, 0, 0, 0, 769, 0, 0, 0,
1512 19, 190, 0, 0, 0, 21, 0, 1276, 1277, 667,
1513 1286, 1287, 0, 1289, 24, 0, 468, 0, 0, 0,
1514 0, 0, 791, 0, 103, 22, 0, 0, 808, 609,
1515 669, 0, 669, 0, 669, 667, 146, 665, 27, 0,
1516 28, 29, 7, 8, 9, 10, 665, 665, 13, 0,
1517 0, 665, 665, 667, 151, 548, 549, 550, 551, 552,
1518 553, 554, 555, 556, 152, 0, 0, 0, 0, 0,
1519 0, 0, 33, 0, 103, 495, 1193, 153, 0, 0,
1520 0, 22, 0, 0, 0, 0, 0, 580, 1351, 1352,
1521 599, 8, 9, 1219, 27, 0, 28, 29, 0, 0,
1522 686, 687, 0, 697, 7, 8, 235, 10, 0, 0,
1523 862, 0, 665, 0, 1213, 0, 0, 103, 0, 0,
1524 863, 578, 0, 495, 495, 594, 293, 600, 33, 22,
1525 583, 0, 1268, 864, 585, 0, 1272, 0, 0, 669,
1526 190, 0, 27, 22, 129, 130, 0, 0, 527, 0,
1527 236, 1293, 1294, 0, 0, 0, 0, 132, 28, 29,
1528 0, 0, 0, 0, 0, 0, 0, 1304, 0, 665,
1529 1398, 1399, 1400, 0, 0, 0, 0, 0, 132, 1274,
1530 1275, 639, 237, 0, 103, 0, 7, 126, 127, 10,
1531 33, 0, 13, 0, 0, 146, 0, 667, 146, 667,
1532 0, 667, 665, 146, 244, 0, 0, 79, 0, 0,
1533 1427, 1428, 7, 126, 127, 10, 0, 0, 0, 0,
1534 0, 0, 0, 0, 0, 22, 0, 638, 1320, 190,
1535 0, 190, 0, 190, 190, 190, 0, 0, 27, 190,
1536 28, 29, 1366, 1367, 190, 0, 0, 190, 0, 0,
1537 0, 22, 0, 0, 31, 0, 0, 0, 236, 0,
1538 0, 0, 991, 0, 32, 0, 28, 29, 1356, 0,
1539 676, 0, 33, 0, 438, 440, 444, 34, 0, 0,
1540 0, 0, 411, 0, 0, 1491, 0, 0, 0, 665,
1541 237, 0, 0, 0, 0, 523, 1394, 1395, 33, 0,
1542 0, 436, 103, 103, 103, 103, 667, 0, 0, 0,
1543 444, 0, 0, 0, 452, 544, 545, 546, 547, 548,
1544 549, 550, 551, 552, 553, 554, 555, 556, 669, 0,
1545 7, 8, 9, 10, 0, 0, 230, 738, 0, 0,
1546 741, 0, 1396, 1397, 743, 744, 746, 747, 748, 0,
1547 1095, 1402, 0, 0, 0, 0, 0, 527, 103, 0,
1548 495, 0, 0, 0, 0, 0, 1420, 0, 765, 22,
1549 0, 578, 0, 495, 495, 580, 594, 0, 1066, 0,
1550 0, 0, 27, 840, 28, 29, 0, 842, 0, 0,
1551 0, 0, 0, 0, 0, 0, 0, 0, 862, 0,
1552 794, 0, 0, 0, 0, 0, 0, 0, 863, 0,
1553 0, 0, 0, 0, 0, 0, 33, 0, 583, 821,
1554 0, 864, 585, 0, 0, 0, 821, 0, 0, 0,
1555 0, 190, 869, 190, 190, 223, 594, 0, 0, 0,
1556 686, 687, 438, 440, 444, 0, 0, 0, 697, 0,
1557 0, 0, 7, 8, 9, 10, 0, 0, 13, 0,
1558 0, 0, 0, 438, 440, 444, 0, 0, 0, 190,
1559 0, 0, 0, 869, 0, 0, 0, 0, 0, 0,
1560 190, 190, 0, 190, 0, 0, 0, 0, 0, 0,
1561 0, 22, 0, 0, 0, 667, 0, 580, 665, 0,
1562 7, 8, 9, 10, 27, 0, 28, 29, 79, 0,
1563 0, 0, 523, 103, 0, 0, 638, 0, 103, 0,
1564 1030, 0, 0, 0, 0, 495, 495, 495, 0, 0,
1565 1031, 0, 0, 0, 0, 0, 0, 495, 33, 22,
1566 583, 0, 0, 1032, 585, 0, 236, 0, 0, 0,
1567 0, 0, 0, 0, 28, 29, 676, 0, 0, 0,
1568 0, 676, 0, 0, 0, 0, 686, 687, 691, 697,
1569 0, 0, 0, 696, 0, 0, 0, 0, 237, 1208,
1570 1209, 1210, 1211, 0, 0, 0, 33, 103, 0, 0,
1571 1215, 0, 0, 0, 0, 7, 8, 9, 10, 720,
1572 0, 483, 0, 0, 725, 0, 0, 1284, 0, 495,
1573 0, 495, 0, 0, 0, 0, 733, 734, 103, 735,
1574 0, 0, 495, 0, 103, 0, 840, 840, 840, 0,
1575 984, 0, 0, 1015, 22, 0, 0, 0, 0, 0,
1576 580, 0, 0, 0, 0, 0, 0, 27, 0, 28,
1577 29, 103, 0, 103, 190, 190, 1034, 0, 0, 0,
1578 0, 765, 0, 862, 0, 0, 0, 676, 0, 0,
1579 75, 821, 0, 863, 0, 0, 0, 0, 0, 0,
1580 0, 33, 0, 583, 0, 0, 864, 585, 0, 0,
1581 1034, 0, 140, 0, 638, 0, 1027, 145, 149, 821,
1582 0, 0, 75, 1325, 103, 0, 0, 75, 0, 0,
1583 829, 830, 0, 0, 0, 829, 0, 0, 0, 132,
1584 0, 0, 200, 79, 0, 79, 0, 0, 0, 0,
1585 1097, 79, 79, 821, 0, 0, 82, 0, 0, 0,
1586 0, 0, 0, 0, 0, 0, 105, 1060, 103, 0,
1587 103, 243, 444, 0, 1067, 0, 125, 133, 82, 350,
1588 0, 0, 0, 147, 147, 0, 147, 0, 82, 0,
1589 0, 0, 0, 82, 0, 243, 0, 0, 0, 0,
1590 0, 495, 495, 0, 495, 1382, 147, 0, 82, 0,
1591 0, 676, 0, 676, 0, 0, 224, 0, 0, 0,
1592 438, 440, 444, 232, 243, 0, 0, 0, 0, 0,
1593 398, 0, 0, 0, 400, 232, 0, 0, 243, 0,
1594 190, 190, 190, 190, 1034, 82, 0, 0, 190, 0,
1595 0, 75, 0, 0, 0, 769, 1416, 0, 0, 0,
1596 0, 0, 0, 1034, 1034, 1034, 145, 149, 0, 523,
1597 955, 0, 957, 0, 0, 0, 0, 0, 0, 0,
1598 386, 0, 243, 0, 0, 103, 1416, 821, 0, 147,
1599 232, 0, 0, 0, 0, 0, 147, 103, 0, 0,
1600 147, 0, 0, 147, 147, 147, 0, 0, 821, 0,
1601 1198, 0, 0, 0, 0, 243, 0, 82, 0, 0,
1602 79, 0, 0, 0, 0, 0, 0, 0, 676, 0,
1603 484, 0, 147, 147, 147, 0, 0, 0, 0, 243,
1604 676, 0, 0, 0, 989, 990, 1485, 992, 1416, 0,
1605 8, 9, 0, 134, 12, 13, 0, 0, 673, 0,
1606 14, 147, 0, 0, 0, 0, 190, 190, 0, 190,
1607 0, 0, 1504, 0, 1009, 17, 0, 18, 19, 0,
1608 0, 0, 0, 21, 0, 0, 0, 769, 0, 103,
1609 0, 0, 24, 0, 580, 0, 147, 0, 0, 0,
1610 0, 27, 0, 129, 130, 0, 0, 190, 0, 1036,
1611 0, 0, 146, 0, 79, 0, 0, 581, 7, 8,
1612 9, 10, 0, 0, 0, 0, 0, 582, 0, 243,
1613 0, 0, 1060, 0, 232, 147, 0, 583, 0, 0,
1614 584, 585, 0, 0, 674, 545, 546, 547, 548, 549,
1615 550, 551, 552, 553, 554, 555, 556, 22, 0, 1278,
1616 1279, 9, 10, 580, 0, 190, 869, 190, 0, 0,
1617 27, 0, 28, 29, 0, 0, 0, 232, 0, 0,
1618 0, 579, 0, 147, 147, 595, 862, 0, 0, 649,
1619 603, 243, 650, 0, 0, 0, 863, 652, 22, 0,
1620 147, 140, 0, 0, 33, 0, 583, 0, 0, 864,
1621 585, 27, 0, 28, 29, 0, 0, 386, 0, 1280,
1622 0, 126, 127, 398, 0, 400, 230, 180, 0, 8,
1623 9, 0, 0, 12, 13, 0, 0, 181, 484, 14,
1624 0, 0, 0, 0, 232, 33, 0, 1146, 0, 0,
1625 182, 0, 1034, 0, 17, 147, 18, 0, 147, 0,
1626 243, 0, 21, 147, 0, 580, 0, 82, 0, 0,
1627 0, 24, 27, 0, 129, 130, 0, 0, 1157, 0,
1628 27, 0, 129, 130, 564, 0, 0, 243, 581, 147,
1629 0, 147, 0, 147, 147, 147, 0, 0, 582, 147,
1630 1034, 1034, 1034, 0, 147, 0, 0, 147, 583, 0,
1631 0, 584, 585, 0, 0, 1185, 103, 0, 0, 565,
1632 0, 0, 715, 0, 0, 0, 0, 1189, 0, 0,
1633 0, 190, 0, 0, 0, 0, 0, 0, 0, 0,
1634 0, 0, 0, 0, 925, 527, 7, 8, 926, 10,
1635 134, 12, 13, 0, 1204, 0, 0, 14, 1205, 638,
1636 0, 0, 232, 232, 232, 232, 0, 0, 0, 0,
1637 243, 0, 17, 0, 18, 19, 20, 0, 0, 0,
1638 21, -485, 0, 0, 0, 22, 243, 0, 0, 24,
1639 927, 1220, 928, 0, 0, 0, 0, 0, 27, 0,
1640 28, 29, 0, 0, 929, 0, 930, 0, 0, 0,
1641 0, 0, 0, 0, 31, 0, 0, 0, 232, 0,
1642 147, 0, 0, 0, 32, 0, 868, 0, 0, 0,
1643 0, 0, 33, 147, 147, 0, 595, 34, 0, 0,
1644 0, 0, 0, 841, 0, 0, 0, 0, 0, 1295,
1645 1296, 0, 0, 0, -485, 603, 0, 0, 0, 7,
1646 8, 9, 10, 0, 0, 0, 0, 905, 0, 0,
1647 0, 0, 0, 0, 649, 650, 0, 652, 0, 0,
1648 0, 0, 0, 0, 0, 0, 125, 0, 0, 0,
1649 0, 147, 595, 147, 147, 224, 595, 0, 22, 0,
1650 0, 0, 943, 0, 0, 0, 0, 0, 0, 715,
1651 0, 27, 1349, 28, 29, 0, 1350, 179, 925, 0,
1652 7, 8, 926, 10, 134, 12, 13, 180, 0, 147,
1653 0, 14, 0, 595, 0, 0, 0, 181, 0, 0,
1654 147, 147, 0, 147, 0, 33, 17, 0, 18, 19,
1655 182, 0, 0, 0, 21, 0, 0, 0, 0, 22,
1656 0, 0, 0, 24, 927, 0, 928, 0, 82, 0,
1657 0, 0, 27, 232, 28, 29, 0, 0, 232, 0,
1658 930, 285, 8, 9, 10, 147, 147, 147, 31, 8,
1659 9, 0, 0, 12, 230, 0, 0, 147, 32, 14,
1660 0, 0, 0, 0, 0, 0, 33, 0, 0, 0,
1661 0, 34, 0, 0, 17, 0, 18, 0, 0, 0,
1662 22, 0, 21, 50, 0, 0, 0, 236, 0, 0,
1663 0, 24, 243, 580, 243, 28, 303, 0, 0, 0,
1664 27, 0, 129, 130, 0, 50, 0, 232, 145, 149,
1665 50, 50, 0, 154, 0, 50, 581, 0, 0, 237,
1666 50, 243, 0, 0, 0, 0, 582, 33, 0, 147,
1667 0, 147, 0, 50, 0, 50, 583, 0, 232, 584,
1668 585, 0, 147, 0, 232, 0, 841, 841, 841, 0,
1669 0, 0, 0, 603, 0, 0, 0, 0, 239, 0,
1670 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1671 0, 232, 50, 232, 147, 147, 595, 943, 0, 943,
1672 0, 0, 0, 0, 1096, 1103, 943, 285, 8, 9,
1673 10, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1674 0, 0, 0, 0, 126, 127, 0, 383, 202, 203,
1675 841, 383, 383, 0, 14, 0, 50, 0, 0, 0,
1676 0, 0, 0, 50, 232, 239, 22, 50, 0, 0,
1677 154, 154, 154, 236, 0, 0, 715, 21, 0, 133,
1678 0, 28, 303, 82, 50, 82, 24, 0, 580, 0,
1679 1098, 82, 82, 0, 0, 27, 0, 129, 130, 50,
1680 50, 154, 0, 0, 0, 486, 0, 243, 232, 239,
1681 232, 581, 0, 33, 398, 400, 0, 0, 0, 0,
1682 0, 582, 484, 0, 0, 0, 243, 0, 50, 0,
1683 0, 583, 0, 0, 591, 585, 0, 0, 0, 0,
1684 0, 147, 147, 0, 147, 539, 540, 541, 542, 543,
1685 544, 545, 546, 547, 548, 549, 550, 551, 552, 553,
1686 554, 555, 556, 50, 0, 0, 0, 7, 8, 9,
1687 10, 134, 12, 13, 0, 0, 673, 0, 14, 0,
1688 147, 147, 147, 147, 595, 0, 0, 0, 147, 243,
1689 0, 0, 715, 17, 943, 18, 19, 0, 0, 0,
1690 0, 21, 0, 841, 841, 841, 22, 0, 0, 0,
1691 24, 0, 580, 0, 0, 0, 0, 0, 0, 27,
1692 715, 28, 29, 0, 0, 232, 126, 127, 0, 0,
1693 0, 483, 524, 0, 0, 1030, 0, 232, 0, 0,
1694 649, 650, 0, 652, 0, 1031, 0, 0, 383, 0,
1695 0, 0, 0, 33, 0, 583, 239, 0, 1032, 585,
1696 82, 0, 674, 0, 0, 0, 0, 50, 0, 0,
1697 580, 0, 0, 0, 0, 0, 0, 27, 0, 129,
1698 130, 1285, 0, 0, 383, 0, 1285, 0, 943, 0,
1699 243, 0, 0, 581, 0, 0, 0, 0, 0, 0,
1700 0, 0, 0, 582, 0, 383, 147, 147, 0, 147,
1701 0, 0, 0, 583, 0, 0, 584, 585, 0, 0,
1702 0, 0, 50, 0, 0, 50, 0, 0, 0, 232,
1703 50, 0, 0, 0, 50, 586, 586, 586, 0, 0,
1704 1339, 0, 0, 0, 0, 0, 0, 147, 0, 0,
1705 0, 0, 147, 0, 82, 0, 50, 0, 50, 0,
1706 154, 154, 154, 0, 0, 0, 50, 0, 0, 0,
1707 0, 50, 0, 0, 50, 541, 542, 543, 544, 545,
1708 546, 547, 548, 549, 550, 551, 552, 553, 554, 555,
1709 556, 1362, 0, -442, -442, -442, -442, -442, -442, -442,
1710 0, 0, -442, 0, -442, 147, 595, 147, 0, 0,
1711 0, 0, 0, 0, 0, -442, 0, -442, -442, 0,
1712 0, 524, -442, 0, 524, 0, 0, -442, 0, 0,
1713 0, 0, -442, 0, 0, 0, -442, 0, -442, 524,
1714 524, 524, 0, 0, 0, -442, 0, -442, -442, -442,
1715 -442, -442, 524, -442, -442, -442, -442, -442, -442, -442,
1716 -442, -442, -442, -442, -442, -442, -442, -442, -442, -442,
1717 -442, -442, -442, -442, -442, -442, 0, -442, -442, -442,
1718 0, -442, -442, -442, -442, -442, -442, 0, -442, -442,
1719 0, 0, 841, 77, 1363, 0, 0, 239, 0, -442,
1720 -442, -442, 0, -442, 0, 0, 0, 0, 0, 0,
1721 524, 0, 0, 0, 0, 77, 0, 0, 0, 0,
1722 77, 77, 0, 77, 0, 77, 7, 126, 127, 10,
1723 77, 0, 230, 0, 0, 0, 0, 0, 0, 0,
1724 841, 841, 841, 77, 0, 77, 0, 0, 0, 0,
1725 0, 0, 0, 0, 0, 0, 232, 0, 50, 50,
1726 50, 50, 0, 0, 0, 22, 0, 0, 0, 0,
1727 0, 147, 0, 0, 0, 0, 0, 159, 27, 0,
1728 28, 29, 77, 0, 0, 586, 586, 0, 586, 0,
1729 0, 0, 0, 0, 31, 838, 50, 191, 0, 0,
1730 50, 0, 0, 0, 32, 0, 0, 50, 50, 0,
1731 50, 0, 33, 0, 0, 0, 0, 34, 0, 0,
1732 0, 0, 0, 0, 126, 127, 77, 0, 202, 203,
1733 0, 0, 0, 77, 14, 50, 0, 77, 0, 0,
1734 77, 77, 77, 586, 0, 586, 586, 0, 586, 0,
1735 7, 126, 127, 10, 77, 0, 13, 21, 524, 0,
1736 0, 0, 0, 0, 0, 0, 24, 0, 580, 77,
1737 77, 77, 0, 0, 0, 27, 0, 129, 130, 0,
1738 191, 586, 0, 0, 0, 0, 0, 0, 0, 22,
1739 0, 581, 0, 0, 159, 159, 159, 0, 77, 0,
1740 0, 582, 27, 0, 28, 29, 7, 8, 9, 10,
1741 0, 583, 13, 0, 584, 585, 0, 0, 151, 0,
1742 0, 0, 0, 191, 191, 445, 0, 0, 152, 0,
1743 0, 0, 0, 77, 0, 0, 33, 0, 0, 0,
1744 0, 153, 0, 0, 0, 22, 0, 0, 0, 586,
1745 0, 0, 191, 524, 524, 524, 0, 0, 27, 239,
1746 28, 29, 0, 0, 0, 0, 0, 0, 0, 0,
1747 0, 0, 0, 0, 180, 0, 0, 0, 0, 0,
1748 0, 50, 50, 154, 181, 0, 0, 0, 239, 0,
1749 0, 0, 33, 589, 593, 596, 0, 182, 540, 541,
1750 542, 543, 544, 545, 546, 547, 548, 549, 550, 551,
1751 552, 553, 554, 555, 556, 0, 0, 1054, 0, 0,
1752 0, 586, 0, 586, 0, 0, 496, 602, 0, 0,
1753 0, 0, 0, 0, 586, 0, 0, 77, 838, 838,
1754 838, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1755 50, 0, 50, 0, 0, 0, 0, 50, 50, 50,
1756 0, 0, 0, 0, 0, 0, 586, 586, 586, 0,
1757 0, 0, 0, 189, 588, 588, 588, 543, 544, 545,
1758 546, 547, 548, 549, 550, 551, 552, 553, 554, 555,
1759 556, 191, 77, 0, 0, 77, 0, 0, 242, 0,
1760 77, 246, 838, 0, 77, 542, 543, 544, 545, 546,
1761 547, 548, 549, 550, 551, 552, 553, 554, 555, 556,
1762 0, 0, 242, 0, 355, 0, 77, 0, 77, 0,
1763 77, 77, 77, 0, 239, 0, 77, 0, 0, 0,
1764 0, 77, 0, 0, 77, 0, 0, 50, 50, 154,
1765 154, 154, 0, 239, 0, 50, 189, 0, 0, 0,
1766 0, 0, 0, 7, 8, 9, 10, 192, 12, 193,
1767 1054, 1054, 1054, 0, 14, 0, 0, 0, 0, 0,
1768 191, 0, 191, 0, 445, 445, 445, 0, 0, 17,
1769 191, 18, 19, 0, 0, 191, 0, 21, 191, 189,
1770 189, 189, 22, 0, 0, 0, 24, 0, 0, 451,
1771 0, 0, 0, 0, 0, 27, 239, 28, 29, 0,
1772 0, 194, 0, 0, 0, 0, 0, 50, 189, 0,
1773 0, 31, 586, 586, 586, 586, 586, 0, 0, 0,
1774 586, 32, 0, 818, 820, 0, 0, 0, 0, 33,
1775 0, 246, 0, 0, 34, 838, 838, 838, 7, 126,
1776 127, 10, 0, 0, 483, 0, 242, 0, 602, 0,
1777 0, 0, 0, 50, 50, 0, 50, 0, 0, 0,
1778 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1779 0, 0, 0, 0, 0, 0, 0, 22, 0, 0,
1780 0, 867, 0, 589, 593, 0, 596, 0, 0, 0,
1781 27, 804, 28, 29, 50, 0, 0, 0, 0, 50,
1782 0, 50, 0, 0, 588, 588, 31, 588, 77, 77,
1783 77, 77, 0, 0, 588, 0, 32, 0, 0, 593,
1784 0, 0, 0, 0, 33, 0, 0, 0, 0, 34,
1785 0, 0, 0, 0, 0, 0, 242, 246, 586, 586,
1786 0, 586, 7, 8, 9, 10, 77, 189, 230, 0,
1787 77, 0, 50, 50, 50, 0, 0, 77, 77, 0,
1788 77, 0, 866, 0, 866, 866, 0, 588, 0, 7,
1789 8, 9, 10, 0, 0, 13, 0, 0, 0, 0,
1790 0, 22, 0, 0, 0, 77, 0, 593, 0, 0,
1791 0, 0, 0, 0, 27, 0, 28, 29, 0, 0,
1792 866, 0, 0, 0, 0, 0, 0, 0, 22, 0,
1793 180, 191, 191, 0, 191, 0, 0, 0, 0, 0,
1794 181, 27, 0, 28, 29, 0, 0, 0, 33, 0,
1795 0, 0, 0, 182, 0, 0, 189, 441, 189, 1054,
1796 189, 189, 189, 0, 0, 0, 189, 442, 0, 0,
1797 0, 189, 0, 0, 189, 33, 496, 496, 496, 1001,
1798 443, 1002, 0, 0, 0, 0, 0, 0, 588, 0,
1799 8, 9, 1008, 0, 12, 13, 818, 820, 0, 0,
1800 14, 0, 0, 1278, 126, 127, 10, 1054, 1054, 1054,
1801 0, 0, 0, 0, 0, 17, 0, 18, 0, 0,
1802 0, 0, 0, 21, 818, 820, 0, 0, 0, 0,
1803 602, 0, 24, 0, 0, 0, 0, 0, 50, 0,
1804 0, 27, 22, 129, 130, 0, 0, 0, 0, 0,
1805 0, 77, 77, 77, 0, 27, 0, 28, 29, 0,
1806 588, 0, 588, 1280, 0, 0, 0, 0, 0, 0,
1807 0, 31, 0, 588, 0, 0, 0, 588, 588, 588,
1808 795, 32, 0, 0, 0, 0, 0, 1056, 0, 33,
1809 0, 0, 0, 0, 34, 6, 0, 7, 8, 9,
1810 10, 11, 12, 13, 0, 866, 866, 1035, 14, 0,
1811 0, 0, 0, 242, 246, 0, 0, 0, 0, 0,
1812 77, 0, 77, 17, 0, 18, 19, 77, 77, 77,
1813 0, 21, 0, 0, 0, 0, 22, 0, 0, 0,
1814 24, 1035, 0, 415, 0, 0, 0, 0, 0, 27,
1815 0, 28, 29, 0, 0, 30, 0, 0, 189, 0,
1816 189, 189, 0, 0, 0, 31, 0, 0, 0, 0,
1817 0, 0, 0, 0, 0, 32, 0, 0, 0, 0,
1818 0, 191, 0, 33, 0, 0, 0, 0, 34, 0,
1819 1001, 1002, 818, 820, 0, 0, 189, 0, 1008, 0,
1820 7, 8, 9, 10, 0, 0, 483, 189, 189, 0,
1821 189, 0, 0, 818, 820, 0, 0, 77, 77, 77,
1822 77, 77, 0, 0, 0, 77, 0, 0, 0, 0,
1823 0, 0, 804, 804, 246, 804, 0, 0, 0, 22,
1824 1056, 1056, 1056, 0, 0, 0, 0, 0, 0, 0,
1825 0, 0, 27, 0, 28, 29, 0, 0, 0, -347,
1826 8, 9, -347, -347, 12, 230, 0, 0, 180, 0,
1827 14, 866, 866, 1035, 1035, 1035, 0, 0, 181, 866,
1828 0, 0, 0, 0, 0, 17, 33, 18, -347, 0,
1829 0, 182, 0, 21, 1035, 1035, 1035, 77, -347, 0,
1830 0, 0, 24, 0, 580, 0, 0, 0, 0, 0,
1831 0, 27, 0, 129, 130, 0, 1001, 1002, 0, 1008,
1832 0, 0, 0, 0, 0, 0, 0, 581, 0, 0,
1833 0, 0, 0, 0, 0, 0, 0, 582, 7, 8,
1834 9, 10, 0, 77, 77, -347, 77, 583, 0, 0,
1835 584, 585, 101, 0, 0, 7, 8, 9, 10, 242,
1836 246, 242, 120, 101, 0, 0, 0, 0, 0, 101,
1837 101, 0, 101, 0, 0, 0, 0, 22, 0, 0,
1838 0, 189, 189, 1033, 77, 0, 0, 0, 242, 77,
1839 27, 77, 28, 29, 22, 0, 1334, 866, 866, 0,
1840 866, 0, 222, 0, 0, 0, 180, 27, 0, 28,
1841 29, 0, 0, 0, 0, 0, 181, 1033, 0, 0,
1842 0, 0, 0, 180, 33, 0, 0, 0, 0, 182,
1843 0, 0, 0, 181, 0, 0, 0, 0, 191, 0,
1844 0, 33, 77, 77, 77, 0, 182, 925, 0, 7,
1845 8, 926, 10, 134, 12, 13, 0, 189, 0, 0,
1846 14, 120, 0, 120, 0, 0, 101, 0, 0, 0,
1847 101, 101, 0, 0, 0, 17, 0, 18, 19, 20,
1848 0, 0, 101, 21, 101, 101, 101, 0, 22, 101,
1849 101, 101, 24, 927, 0, 928, 191, 0, 191, 0,
1850 0, 27, 0, 28, 29, 0, 0, 929, 0, 930,
1851 0, 0, 0, 0, 0, 0, 0, 31, 0, 0,
1852 0, 7, 8, 9, 10, 0, 0, 32, 0, 1056,
1853 0, 0, 0, 0, 242, 33, 0, 0, 0, 0,
1854 34, 0, 0, 0, 0, 0, 0, 189, 189, 189,
1855 189, 1033, 0, 1156, 0, 189, 0, 0, 0, 0,
1856 22, 466, 101, 0, 0, 0, 0, 0, 0, 0,
1857 1033, 1033, 1033, 27, 0, 28, 29, 1056, 1056, 1056,
1858 0, 0, 101, 445, 0, 0, 0, 0, 0, 441,
1859 0, 0, 0, 0, 0, 0, 0, 0, 925, 442,
1860 7, 8, 926, 10, 134, 12, 13, 33, 77, 0,
1861 0, 14, 443, 0, 0, 0, 451, 0, 0, 0,
1862 0, 101, 0, 0, 0, 0, 17, 0, 18, 19,
1863 20, 445, 445, 445, 21, -486, 0, 0, 0, 22,
1864 0, 0, 0, 24, 927, 0, 928, 0, 0, 0,
1865 0, 0, 27, 0, 28, 29, 0, 0, 929, 0,
1866 930, 0, 191, 0, 0, 0, 0, 101, 31, 101,
1867 101, 0, 0, 189, 189, 0, 189, 0, 32, 0,
1868 0, 0, 0, 0, 0, 0, 33, 0, 0, 0,
1869 0, 34, 0, 0, 0, 0, 0, 0, 0, 0,
1870 0, 0, 0, 101, 0, 0, 0, 0, -486, 0,
1871 0, 0, 0, 0, 189, 0, 0, 0, 0, 0,
1872 0, 0, 0, 0, 101, 925, 0, 7, 8, 926,
1873 10, 134, 12, 13, 0, 0, 0, 101, 14, 0,
1874 0, 101, 0, 0, 101, 0, 0, 0, 0, 101,
1875 0, 0, 0, 17, 0, 18, 19, 20, 0, 0,
1876 0, 21, -488, 0, 0, 0, 22, 0, 0, 0,
1877 24, 927, 189, 928, 189, 0, 0, 0, 0, 27,
1878 0, 28, 29, 0, 0, 929, 0, 930, 0, 8,
1879 9, 0, 134, 12, 13, 31, 0, 1436, 0, 14,
1880 0, 0, 0, 0, 0, 32, 101, 0, 708, 0,
1881 0, 0, 0, 33, 17, 0, 18, 19, 34, 0,
1882 0, 0, 21, 0, 0, 0, 0, 0, 0, 0,
1883 0, 24, 0, 101, 0, -488, 0, 0, 0, 0,
1884 27, 0, 129, 130, 1342, 0, 1232, 1233, 1234, 10,
1885 134, 12, 286, 287, 288, 0, 289, 14, 1235, 1033,
1886 1236, 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245,
1887 15, 16, 17, 290, 18, 19, 20, 0, 291, 292,
1888 21, 0, 293, 294, 295, 22, 296, 297, 0, 24,
1889 0, 0, 0, 298, 299, 300, 301, 302, 27, 0,
1890 1246, 303, 660, 0, 1247, 304, 101, 1033, 1033, 1033,
1891 0, 305, 0, 0, 306, 0, 101, 101, 0, 101,
1892 101, 0, 307, 308, 309, 0, 0, 0, 0, 0,
1893 310, 311, 312, 0, 0, 0, 0, 313, 189, 1248,
1894 8, 9, 0, 192, 12, 193, 0, 0, 0, 0,
1895 14, 0, 0, 0, 1343, 314, 0, 0, 0, 0,
1896 0, 0, 0, 0, 0, 17, 0, 18, 19, 0,
1897 0, 0, 120, 21, 0, 0, 0, 0, 0, 0,
1898 0, 222, 24, 0, 0, 0, 0, 0, 0, 0,
1899 0, 27, 0, 129, 130, 708, 0, 0, 1231, 0,
1900 1232, 1233, 1234, 10, 134, 12, 286, 287, 288, 0,
1901 289, 14, 1235, 0, 1236, 1237, 1238, 1239, 1240, 1241,
1902 1242, 1243, 1244, 1245, 15, 16, 17, 290, 18, 19,
1903 20, 0, 291, 292, 21, 0, 293, 294, 295, 22,
1904 296, 297, 0, 24, 0, 0, 0, 298, 299, 300,
1905 301, 302, 27, 708, 1246, 303, 660, 0, 1247, 304,
1906 0, 0, 0, 0, 0, 305, 0, 0, 306, 0,
1907 0, 101, 101, 101, 0, 0, 307, 308, 309, 0,
1908 0, 0, 0, 101, 310, 311, 312, 0, 0, 0,
1909 0, 313, 519, 1248, 285, 8, 9, 10, 134, 12,
1910 286, 287, 288, 673, 289, 14, 0, 0, 0, 314,
1911 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1912 17, 290, 18, 19, 20, 0, 291, 292, 21, 0,
1913 293, 294, 295, 22, 296, 297, 0, 24, 0, 580,
1914 0, 298, 299, 300, 301, 302, 27, 0, 28, 303,
1915 -275, 0, 0, 304, 0, 101, 0, 101, 0, 305,
1916 0, 0, 834, 0, 0, 0, 0, 0, 101, 0,
1917 307, 308, 835, 0, 0, 0, 0, 0, 310, 311,
1918 312, 0, 583, 0, 0, 836, 585, 0, 519, 674,
1919 7, 8, 9, 10, 134, 12, 286, 287, 288, 673,
1920 289, 14, 0, 314, 0, 0, 0, 0, 0, 0,
1921 0, 0, 0, 0, 0, 0, 17, 290, 18, 19,
1922 20, 0, 291, 292, 21, 0, 293, 294, 295, 22,
1923 296, 297, 0, 24, 0, 580, 0, 298, 299, 300,
1924 301, 302, 27, 0, 28, 29, -275, 0, 0, 304,
1925 0, 0, 0, 0, 0, 305, 0, 0, 1051, 0,
1926 0, 0, 708, 0, 0, 101, 307, 308, 1052, 0,
1927 0, 0, 0, 0, 310, 311, 312, 0, 583, 0,
1928 0, 1053, 585, 0, 0, 674, 0, 0, 0, 0,
1929 0, 0, 0, 0, 0, 0, 0, 0, 0, 314,
1930 0, 0, 0, 672, 0, 285, 8, 9, 10, 134,
1931 12, 286, 287, 288, 673, 289, 14, 0, 0, 0,
1932 0, 0, 0, 0, 0, 0, 0, 101, 101, 0,
1933 101, 17, 290, 18, 19, 20, 0, 291, 292, 21,
1934 0, 293, 294, 295, 22, 296, 297, 0, 24, 0,
1935 0, 0, 298, 299, 300, 301, 302, 27, 0, 28,
1936 303, 0, 0, 0, 304, 0, 0, 0, 0, 0,
1937 305, 0, 0, 306, 0, 0, 0, 0, 708, 0,
1938 0, 307, 308, 309, 0, 0, 0, 0, 0, 310,
1939 311, 312, 0, 0, 0, 0, 313, 0, 0, 0,
1940 674, 0, 0, 0, 0, 0, 708, 0, 0, 0,
1941 0, 0, -748, 768, 314, 285, 8, 9, 10, 134,
1942 12, 286, 287, 288, 0, 289, 14, 0, 0, 0,
1943 0, 0, 0, 0, 0, 0, 101, 0, 0, 0,
1944 0, 17, 290, 18, 19, 20, 0, 291, 292, 21,
1945 0, 293, 294, 295, 22, 296, 297, 0, 24, 0,
1946 0, 0, 298, 299, 300, 301, 302, 27, 0, 28,
1947 303, 1412, 0, -738, 304, 0, 0, 0, 0, 0,
1948 305, 0, 0, 306, 0, 0, 0, 0, 0, 0,
1949 0, 307, 308, 309, 0, 0, 0, 0, 0, 310,
1950 311, 312, 0, 0, 0, 663, 313, 756, 757, 758,
1951 10, 0, 12, 501, 287, 288, 0, 289, 14, 0,
1952 0, 0, 0, 0, 314, 0, 0, 0, 0, 0,
1953 0, 0, 0, 17, 290, 18, 101, 20, 101, 291,
1954 292, 21, 0, 293, 294, 295, 22, 296, 297, 0,
1955 24, 0, 0, 0, 298, 299, 300, 301, 302, 27,
1956 0, 759, 760, 664, 0, 0, 304, 0, 0, 0,
1957 0, 0, 305, 0, 0, 306, 0, 0, 0, 0,
1958 0, 0, 0, 307, 308, 309, 0, 0, 0, 0,
1959 0, 310, 311, 312, 0, 0, 0, 0, 313, 761,
1960 663, 0, 756, 757, 758, 10, 0, 12, 501, 287,
1961 288, 0, 289, 14, 0, 889, 314, 0, 0, 0,
1962 1126, 0, 0, 0, 0, 0, 0, 0, 17, 290,
1963 18, 0, 20, 0, 291, 292, 21, 0, 293, 294,
1964 295, 22, 296, 297, 0, 24, 0, 0, 0, 298,
1965 299, 300, 301, 302, 27, 0, 759, 760, 664, 0,
1966 0, 304, 0, 0, 0, 0, 0, 305, 0, 0,
1967 306, 0, 0, 0, 0, 0, 0, 0, 307, 308,
1968 309, 0, 0, 0, 0, 0, 310, 311, 312, 0,
1969 0, 0, 663, 313, 756, 757, 758, 10, 0, 12,
1970 501, 287, 288, 0, 289, 14, 0, 0, 0, 0,
1971 -446, 314, 1126, 0, 0, 0, 0, 0, 0, 0,
1972 17, 290, 18, 0, 20, 0, 291, 292, 21, 0,
1973 293, 294, 295, 22, 296, 297, 0, 24, 0, 0,
1974 0, 298, 299, 300, 301, 302, 27, 0, 759, 760,
1975 664, 0, 0, 304, 0, 0, 0, 0, 0, 305,
1976 0, 0, 306, 0, 0, 0, 0, 0, 0, 0,
1977 307, 308, 309, 0, 0, 0, 0, 0, 310, 311,
1978 312, 0, 0, 0, 663, 313, 756, 757, 758, 10,
1979 0, 12, 501, 287, 288, 0, 289, 14, 0, 0,
1980 0, 0, 1170, 314, 0, 0, 0, 0, 0, 0,
1981 0, 0, 17, 290, 18, 0, 20, 0, 291, 292,
1982 21, 0, 293, 294, 295, 22, 296, 297, 0, 24,
1983 0, 0, 0, 298, 299, 300, 301, 302, 27, 0,
1984 759, 760, 664, 0, 0, 304, 0, 0, 0, 0,
1985 0, 305, 0, 0, 306, 0, 0, 0, 0, 0,
1986 0, 0, 307, 308, 309, 0, 0, 0, 0, 0,
1987 310, 311, 312, 0, 0, 0, 0, 313, 761, 663,
1988 0, 285, 8, 9, 10, 0, 12, 501, 287, 288,
1989 0, 289, 14, 0, 0, 314, 0, 0, 0, 0,
1990 0, 0, 0, 0, 0, 0, 0, 17, 290, 18,
1991 0, 20, 0, 291, 292, 21, 0, 293, 294, 295,
1992 22, 296, 297, 0, 24, 0, 0, 0, 298, 299,
1993 300, 301, 302, 27, 0, 28, 303, 664, 0, 0,
1994 304, 0, 0, 0, 0, 0, 305, 0, 0, 306,
1995 0, 0, 0, 0, 0, 0, 0, 307, 308, 309,
1996 0, 0, 0, 0, 0, 310, 311, 312, 0, 0,
1997 0, 0, 313, 0, 0, 519, 0, 285, 8, 9,
1998 10, 1174, 12, 286, 287, 288, 0, 289, 14, 0,
1999 314, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2000 0, 0, 0, 17, 290, 18, 0, 20, 0, 291,
2001 292, 21, 0, 293, 294, 295, 22, 296, 297, 0,
2002 24, 0, 0, 0, 298, 299, 300, 301, 302, 27,
2003 0, 28, 303, -275, 0, 0, 304, 0, 0, 0,
2004 0, 0, 305, 0, 0, 520, 0, 0, 0, 0,
2005 0, 0, 0, 307, 308, 521, 0, 0, 0, 0,
2006 0, 310, 311, 312, 0, 0, 0, 663, 522, 285,
2007 8, 9, 10, 0, 12, 501, 287, 288, 0, 289,
2008 14, 0, 0, 0, 0, 0, 314, 0, 0, 0,
2009 0, 0, 0, 0, 0, 17, 290, 18, 0, 20,
2010 0, 291, 292, 21, 0, 293, 294, 295, 22, 296,
2011 297, 0, 24, 0, 0, 0, 298, 299, 300, 301,
2012 302, 27, 0, 28, 303, 664, 0, 0, 304, 0,
2013 0, 0, 0, 0, 305, 0, 0, 306, 0, 0,
2014 0, 0, 0, 0, 0, 307, 308, 309, 0, 0,
2015 0, 0, 0, 310, 311, 312, 0, 0, 0, 768,
2016 313, 285, 8, 9, 10, 0, 12, 501, 287, 288,
2017 0, 289, 14, 0, 0, 0, 0, 0, 314, 0,
2018 0, 0, 0, 0, 0, 0, 0, 17, 290, 18,
2019 0, 20, 0, 291, 292, 21, 0, 293, 294, 295,
2020 22, 296, 297, 0, 24, 0, 0, 0, 298, 299,
2021 300, 301, 302, 27, 0, 28, 303, 0, 0, 0,
2022 304, -738, 0, 0, 0, 0, 305, 0, 0, 306,
2023 0, 0, 0, 0, 0, 0, 0, 307, 308, 309,
2024 0, 0, 0, 0, 0, 310, 311, 312, 0, 0,
2025 0, 519, 313, 7, 8, 9, 10, 0, 12, 286,
2026 287, 288, 0, 289, 14, 0, 0, 0, 0, 0,
2027 314, 0, 0, 0, 0, 0, 0, 0, 0, 17,
2028 290, 18, 0, 20, 0, 291, 292, 21, 0, 293,
2029 294, 295, 22, 296, 297, 0, 24, 0, 0, 0,
2030 298, 299, 300, 301, 302, 27, 0, 28, 29, -275,
2031 0, 0, 304, 0, 0, 0, 0, 0, 305, 0,
2032 0, 1388, 0, 0, 0, 0, 0, 0, 0, 307,
2033 308, 1389, 0, 0, 0, 0, 0, 310, 311, 312,
2034 0, 0, 0, 1487, 1390, 285, 8, 9, 10, 0,
2035 12, 286, 287, 288, 0, 289, 14, 0, 0, 0,
2036 0, 0, 314, 0, 0, 0, 0, 0, 0, 0,
2037 0, 17, 290, 18, 0, 20, 0, 291, 292, 21,
2038 0, 293, 294, 295, 22, 296, 297, 0, 24, 0,
2039 0, 0, 298, 299, 300, 301, 302, 27, 0, 28,
2040 303, 0, 0, -163, 304, 0, 0, 0, 0, 0,
2041 305, 0, 0, 306, 0, 0, 0, 0, 0, 0,
2042 0, 307, 308, 309, 0, 0, 0, 0, 0, 310,
2043 311, 312, 0, 0, 0, 768, 313, 285, 8, 9,
2044 10, 0, 12, 501, 287, 288, 0, 289, 14, 0,
2045 0, 0, 0, 0, 314, 0, 0, 0, 0, 0,
2046 0, 0, 0, 17, 290, 18, 0, 20, 0, 291,
2047 292, 21, 0, 293, 294, 295, 22, 296, 297, 0,
2048 24, 0, 0, 0, 298, 299, 300, 301, 302, 27,
2049 0, 28, 303, 0, 0, 0, 304, 0, 0, 0,
2050 0, 0, 305, 248, 0, 306, 8, 9, 0, 0,
2051 12, 13, 0, 307, 308, 309, 14, 0, 0, 0,
2052 0, 310, 311, 312, 0, 0, 0, 0, 313, 0,
2053 0, 17, 0, 18, 0, 0, 0, 0, 0, 21,
2054 0, 249, 250, 0, -738, 0, 314, 0, 24, 0,
2055 251, 0, 0, 0, 0, 0, 0, 27, 0, 129,
2056 130, 0, 252, 0, 0, 0, 253, 254, 255, 256,
2057 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
2058 267, 268, 269, 270, 271, 272, 273, 0, 0, 274,
2059 275, 276, 0, 0, 277, 0, 848, 278, 285, 8,
2060 9, 10, 0, 12, 501, 287, 288, 0, 289, 14,
2061 0, 0, 0, 0, 279, 0, 0, 0, 0, 0,
2062 0, 0, 0, 0, 17, 290, 18, 0, 20, 0,
2063 291, 292, 21, 0, 293, 294, 295, 22, 296, 297,
2064 0, 24, 0, 0, 0, 298, 299, 300, 301, 302,
2065 27, 0, 28, 303, 0, 0, 0, 304, 0, 0,
2066 0, 0, 0, 305, 0, 0, 306, 0, 0, 0,
2067 0, 0, 0, 0, 307, 308, 309, 0, 0, 0,
2068 0, 0, 310, 311, 312, 0, 0, 0, 850, 313,
2069 285, 8, 9, 10, 0, 12, 501, 287, 288, 0,
2070 289, 14, 0, 0, 0, 0, 0, 314, 0, 0,
2071 0, 0, 0, 0, 0, 0, 17, 290, 18, 0,
2072 20, 0, 291, 292, 21, 0, 293, 294, 295, 22,
2073 296, 297, 0, 24, 0, 0, 0, 298, 299, 300,
2074 301, 302, 27, 0, 28, 303, 0, 0, 0, 304,
2075 0, 0, 0, 0, 0, 305, 0, 0, 306, 0,
2076 0, 0, 0, 0, 0, 0, 307, 308, 309, 0,
2077 0, 0, 0, 0, 310, 311, 312, 0, 0, 0,
2078 1401, 313, 285, 8, 9, 10, 0, 12, 501, 287,
2079 288, 0, 289, 14, 0, 0, 0, 0, 0, 314,
2080 0, 0, 0, 0, 0, 0, 0, 0, 17, 290,
2081 18, 0, 20, 0, 291, 292, 21, 0, 293, 294,
2082 295, 22, 296, 297, 0, 24, 0, 0, 0, 298,
2083 299, 300, 301, 302, 27, 0, 28, 303, 0, 0,
2084 0, 304, 0, 0, 0, 0, 0, 305, 0, 0,
2085 306, 0, 0, 0, 0, 0, 0, 0, 307, 308,
2086 309, 0, 0, 0, 0, 0, 310, 311, 312, 285,
2087 8, 9, 10, 313, 12, 501, 287, 288, 0, 289,
2088 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2089 0, 314, 0, 0, 0, 17, 290, 18, 0, 20,
2090 0, 291, 292, 21, 0, 293, 294, 295, 22, 296,
2091 297, 0, 24, 0, 0, 0, 298, 299, 300, 301,
2092 302, 27, 0, 28, 303, 0, 0, 0, 304, 0,
2093 0, 0, 0, 0, 305, 0, 925, 306, 7, 8,
2094 926, 10, 134, 12, 13, 307, 308, 309, 0, 14,
2095 0, 0, 0, 310, 311, 312, 0, 0, 0, 0,
2096 313, 0, 0, 0, 17, 0, 18, 19, 20, 0,
2097 0, 0, 21, -487, 0, 0, 0, 22, 314, 807,
2098 0, 24, 927, 0, 928, 0, 0, 0, 0, 0,
2099 27, 0, 28, 29, 0, 0, 929, 0, 930, 0,
2100 0, 0, 0, 0, 0, 0, 31, 0, 0, 0,
2101 0, 0, 0, 0, 0, 0, 32, 0, 0, 0,
2102 0, 0, 0, 0, 33, 0, 0, 0, 0, 34,
2103 0, 0, 0, 1232, 1233, 1234, 10, 134, 12, 286,
2104 287, 288, 0, 289, 14, 1235, -487, 1236, 1237, 1238,
2105 1239, 1240, 1241, 1242, 1243, 1244, 1245, 15, 16, 17,
2106 290, 18, 19, 20, 0, 291, 292, 21, 0, 293,
2107 294, 295, 22, 296, 297, 0, 24, 0, 0, 0,
2108 298, 299, 300, 301, 302, 27, 0, 1246, 303, 660,
2109 0, 1247, 304, 0, 0, 0, 0, 0, 305, 0,
2110 0, 306, 0, 0, 0, 0, 0, 0, 0, 307,
2111 308, 309, 0, 0, 0, 0, 0, 310, 311, 312,
2112 0, 0, 0, 0, 313, 0, 1248, 0, 0, 0,
2113 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2114 0, 1347, 314, 1232, 1233, 1234, 10, 134, 12, 286,
2115 287, 288, 0, 289, 14, 1235, 0, 1236, 1237, 1238,
2116 1239, 1240, 1241, 1242, 1243, 1244, 1245, 15, 16, 17,
2117 290, 18, 19, 20, 0, 291, 292, 21, 0, 293,
2118 294, 295, 22, 296, 297, 0, 24, 0, 0, 0,
2119 298, 299, 300, 301, 302, 27, 0, 1246, 303, 660,
2120 0, 1247, 304, 0, 0, 0, 0, 0, 305, 0,
2121 0, 306, 0, 0, 0, 0, 0, 0, 0, 307,
2122 308, 309, 0, 0, 0, 0, 0, 310, 311, 312,
2123 0, 0, 0, 0, 313, 0, 1248, 0, 0, 1232,
2124 1233, 1234, 10, 134, 12, 286, 287, 288, 0, 289,
2125 14, 1235, 314, 1236, 1237, 1238, 1239, 1240, 1241, 1242,
2126 1243, 1244, 1245, 15, 16, 17, 290, 18, 19, 20,
2127 0, 291, 292, 21, 0, 293, 294, 295, 22, 296,
2128 297, 0, 24, 0, 0, 0, 298, 299, 300, 301,
2129 302, 27, 0, 1246, 303, 1462, 0, 1247, 304, 0,
2130 0, 0, 0, 0, 305, 0, 0, 306, 0, 0,
2131 0, 0, 0, 0, 0, 307, 308, 309, 0, 0,
2132 0, 0, 0, 310, 311, 312, 0, 0, 0, 0,
2133 313, 0, 1248, 0, 0, 1232, 1233, 1234, 10, 134,
2134 12, 286, 287, 288, 0, 289, 14, 1235, 314, 1236,
2135 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 15,
2136 16, 17, 290, 18, 19, 20, 0, 291, 292, 21,
2137 0, 293, 294, 295, 22, 296, 297, 0, 24, 0,
2138 0, 0, 298, 299, 300, 301, 302, 27, 0, 1246,
2139 303, 0, 0, 1247, 304, 0, 0, 0, 0, 0,
2140 305, 0, 0, 306, 0, 0, 0, 0, 0, 0,
2141 0, 307, 308, 309, 0, 0, 0, 0, 0, 310,
2142 311, 312, 0, 0, 0, 0, 313, 0, 1248, 285,
2143 8, 9, 10, 134, 12, 286, 287, 288, 673, 289,
2144 14, 0, 0, 0, 314, 0, 0, 0, 0, 0,
2145 0, 0, 0, 0, 0, 17, 290, 18, 19, 20,
2146 0, 291, 292, 21, 0, 293, 294, 295, 22, 296,
2147 297, 0, 24, 0, 580, 0, 298, 299, 300, 301,
2148 302, 27, 0, 28, 303, 0, 0, 0, 304, 0,
2149 0, 0, 0, 0, 305, 0, 0, 834, 0, 0,
2150 0, 0, 0, 0, 0, 307, 308, 835, 0, 0,
2151 0, 0, 0, 310, 311, 312, 0, 583, 0, 0,
2152 836, 585, 0, 0, 674, 7, 8, 9, 10, 134,
2153 12, 286, 287, 288, 673, 289, 14, 0, 314, 0,
2154 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2155 0, 17, 290, 18, 19, 20, 0, 291, 292, 21,
2156 0, 293, 294, 295, 22, 296, 297, 0, 24, 0,
2157 580, 0, 298, 299, 300, 301, 302, 27, 0, 28,
2158 29, 0, 0, 0, 304, 0, 0, 0, 0, 0,
2159 305, 0, 0, 1051, 0, 0, 0, 0, 0, 0,
2160 0, 307, 308, 1052, 0, 0, 0, 0, 0, 310,
2161 311, 312, 0, 583, 0, 0, 1053, 585, 0, 0,
2162 674, 285, 8, 9, 10, 0, 12, 286, 287, 288,
2163 0, 289, 14, 0, 314, 0, 0, 0, 0, 0,
2164 0, 0, 0, 0, 0, 0, 0, 17, 290, 18,
2165 0, 20, 0, 291, 292, 21, 0, 293, 294, 295,
2166 22, 296, 297, 0, 24, 0, 0, 0, 298, 299,
2167 300, 301, 302, 27, 0, 28, 303, 0, 0, 0,
2168 304, 0, 0, 0, 0, 0, 305, 0, 0, 306,
2169 0, 0, 0, 0, 339, 0, 340, 307, 308, 309,
2170 0, 0, 0, 0, 0, 310, 311, 312, 285, 8,
2171 9, 10, 313, 12, 286, 287, 288, 0, 289, 14,
2172 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2173 314, 0, 0, 0, 17, 290, 18, 0, 20, 0,
2174 291, 292, 21, 0, 293, 294, 295, 22, 296, 297,
2175 0, 24, 0, 580, 0, 298, 299, 300, 301, 302,
2176 27, 0, 28, 303, 0, 0, 0, 0, 0, 0,
2177 0, 0, 0, 305, 0, 0, 834, 0, 0, 0,
2178 0, 0, 0, 0, 307, 308, 835, 0, 0, 0,
2179 0, 0, 310, 311, 312, 0, 583, 0, 0, 836,
2180 585, 7, 8, 9, 10, 0, 12, 286, 287, 288,
2181 0, 289, 14, 0, 0, 0, 0, 314, 0, 0,
2182 0, 0, 0, 0, 0, 0, 0, 17, 290, 18,
2183 0, 20, 0, 291, 292, 21, 0, 293, 294, 295,
2184 22, 296, 297, 0, 24, 0, 580, 0, 298, 299,
2185 300, 301, 302, 27, 0, 28, 29, 0, 0, 0,
2186 0, 0, 0, 0, 0, 0, 305, 0, 0, 1051,
2187 0, 0, 0, 0, 0, 0, 0, 307, 308, 1052,
2188 0, 0, 0, 0, 0, 310, 311, 312, 0, 583,
2189 0, 0, 1053, 585, 285, 8, 9, 10, 0, 12,
2190 501, 287, 288, 0, 289, 14, 0, 0, 0, 0,
2191 314, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2192 17, 290, 18, 0, 20, 0, 291, 292, 21, 0,
2193 293, 294, 295, 22, 296, 297, 0, 24, 0, 0,
2194 0, 298, 299, 300, 301, 302, 27, 0, 28, 303,
2195 0, 0, 1324, 304, 0, 0, 0, 0, 0, 305,
2196 0, 0, 306, 0, 0, 0, 0, 0, 0, 0,
2197 307, 308, 309, 0, 0, 0, 0, 0, 310, 311,
2198 312, 0, 0, 0, 0, 313, 285, 8, 9, 10,
2199 134, 12, 286, 287, 288, 0, 289, 14, 0, 0,
2200 0, 0, 0, 314, 0, 0, 0, 0, 0, 0,
2201 0, 0, 17, 290, 18, 19, 20, 0, 291, 292,
2202 21, 0, 293, 294, 295, 22, 296, 297, 0, 24,
2203 0, 0, 0, 298, 299, 300, 301, 302, 27, 0,
2204 28, 303, 0, 0, 0, 0, 0, 0, 0, 0,
2205 0, 305, 0, 0, 306, 0, 0, 0, 0, 0,
2206 0, 0, 307, 308, 309, 0, 0, 0, 0, 0,
2207 310, 311, 312, 285, 8, 9, 10, 313, 12, 286,
2208 287, 288, 0, 289, 14, 0, 0, 0, 0, 0,
2209 0, 0, 0, 0, 0, 314, 0, 0, 0, 17,
2210 290, 18, 0, 20, 0, 291, 292, 21, 0, 293,
2211 294, 295, 22, 296, 297, 0, 24, 0, 0, 0,
2212 298, 299, 300, 301, 302, 27, 0, 28, 303, 0,
2213 0, 0, 304, 0, 0, 0, 0, 0, 305, 0,
2214 0, 306, 0, 0, 0, 0, 0, 0, 0, 307,
2215 308, 309, 0, 0, 0, 0, 0, 310, 311, 312,
2216 285, 8, 9, 10, 313, 12, 501, 287, 288, 0,
2217 289, 14, 0, 0, 0, 0, 0, 0, 0, 0,
2218 0, 0, 314, 0, 0, 0, 17, 290, 18, 0,
2219 20, 0, 291, 292, 21, 0, 293, 294, 295, 22,
2220 296, 297, 0, 24, 0, 0, 0, 298, 299, 300,
2221 301, 302, 27, 0, 28, 303, 0, 0, 0, 304,
2222 0, 0, 0, 0, 0, 305, 0, 0, 306, 0,
2223 0, 0, 0, 0, 0, 0, 307, 308, 309, 0,
2224 0, 0, 0, 0, 310, 311, 312, 285, 8, 9,
2225 10, 313, 12, 501, 287, 288, 0, 289, 14, 0,
2226 0, 0, 0, 0, 0, 0, 0, 0, 0, 314,
2227 0, 0, 0, 17, 290, 18, 0, 20, 0, 291,
2228 292, 21, 0, 293, 294, 295, 22, 296, 297, 0,
2229 24, 0, 0, 0, 298, 299, 300, 301, 302, 27,
2230 0, 28, 303, 532, 0, 0, 0, 0, 0, 0,
2231 0, 0, 305, 0, 0, 306, 0, 0, 0, 0,
2232 0, 0, 0, 307, 308, 309, 0, 0, 0, 0,
2233 0, 310, 311, 312, 285, 8, 9, 10, 533, 12,
2234 501, 287, 288, 0, 289, 14, 0, 0, 0, 0,
2235 0, 0, 0, 0, 0, 0, 314, 0, 0, 0,
2236 17, 290, 18, 0, 20, 0, 291, 292, 21, 0,
2237 293, 294, 295, 22, 296, 297, 0, 24, 0, 0,
2238 0, 298, 299, 300, 301, 302, 27, 0, 28, 303,
2239 0, 0, 0, 0, 0, 0, 0, 0, 0, 305,
2240 0, 0, 306, 0, 0, 0, 0, 0, 0, 0,
2241 307, 308, 309, 0, 0, 0, 0, 0, 310, 311,
2242 312, 0, 0, 0, 0, 313, 569, 285, 8, 9,
2243 10, 0, 12, 501, 287, 288, 0, 289, 14, 0,
2244 0, 0, 0, 314, 0, 0, 0, 0, 0, 0,
2245 0, 0, 0, 17, 290, 18, 0, 20, 0, 291,
2246 292, 21, 0, 293, 294, 295, 22, 296, 297, 0,
2247 24, 0, 0, 0, 298, 299, 300, 301, 302, 27,
2248 0, 28, 303, 0, 0, 0, 304, 0, 0, 0,
2249 0, 0, 305, 0, 0, 520, 0, 0, 0, 0,
2250 0, 0, 0, 307, 308, 521, 0, 0, 0, 0,
2251 0, 310, 311, 312, 1023, 8, 9, 10, 522, 12,
2252 501, 287, 288, 0, 289, 14, 0, 0, 0, 0,
2253 0, 0, 0, 0, 0, 0, 314, 0, 0, 0,
2254 17, 290, 18, 0, 20, 0, 291, 292, 21, 0,
2255 293, 294, 295, 22, 296, 297, 0, 24, 0, 0,
2256 0, 298, 299, 300, 301, 302, 27, 0, 28, 303,
2257 0, 0, 0, 304, 0, 0, 0, 0, 0, 305,
2258 0, 0, 306, 0, 0, 0, 0, 0, 0, 0,
2259 307, 308, 309, 0, 0, 0, 0, 0, 310, 311,
2260 312, 7, 8, 9, 10, 313, 12, 501, 287, 288,
2261 0, 289, 14, 0, 0, 0, 0, 0, 0, 0,
2262 0, 0, 0, 314, 0, 0, 0, 17, 290, 18,
2263 0, 20, 0, 291, 292, 21, 0, 293, 294, 295,
2264 22, 296, 297, 0, 24, 0, 0, 0, 298, 299,
2265 300, 301, 302, 27, 0, 28, 29, 0, 0, 0,
2266 304, 0, 0, 0, 0, 0, 305, 0, 0, 1388,
2267 0, 0, 0, 0, 0, 0, 0, 307, 308, 1389,
2268 0, 0, 0, 0, 0, 310, 311, 312, 285, 8,
2269 9, 10, 1390, 12, 501, 287, 288, 0, 289, 14,
2270 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2271 314, 0, 0, 0, 17, 290, 18, 0, 20, 0,
2272 291, 292, 21, 0, 293, 294, 295, 22, 296, 297,
2273 0, 24, 0, 0, 0, 298, 299, 300, 301, 302,
2274 27, 0, 28, 303, 0, 0, 0, 0, 0, 0,
2275 0, 0, 0, 305, 0, 0, 306, 0, 0, 0,
2276 0, 0, 0, 0, 307, 308, 309, 0, 0, 0,
2277 0, 0, 310, 311, 312, 285, 8, 9, 10, 502,
2278 12, 501, 287, 288, 0, 289, 14, 0, 0, 0,
2279 0, 0, 0, 0, 0, 0, 0, 314, 0, 0,
2280 0, 17, 290, 18, 0, 20, 0, 291, 292, 21,
2281 0, 293, 294, 295, 22, 296, 297, 0, 24, 0,
2282 0, 0, 298, 299, 300, 301, 302, 27, 0, 28,
2283 303, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2284 305, 0, 0, 306, 0, 0, 0, 0, 0, 0,
2285 0, 307, 308, 309, 0, 0, 0, 0, 0, 310,
2286 311, 312, 285, 8, 9, 10, 505, 12, 501, 287,
2287 288, 0, 289, 14, 0, 0, 0, 0, 0, 0,
2288 0, 0, 0, 0, 314, 0, 0, 0, 17, 290,
2289 18, 0, 20, 0, 291, 292, 21, 0, 293, 294,
2290 295, 22, 296, 297, 0, 24, 0, 0, 0, 298,
2291 299, 300, 301, 302, 27, 0, 28, 303, 0, 0,
2292 0, 0, 0, 0, 0, 0, 0, 305, 0, 0,
2293 306, 0, 0, 0, 0, 0, 0, 0, 307, 308,
2294 309, 0, 0, 0, 0, 0, 310, 311, 312, 285,
2295 8, 9, 10, 313, 12, 501, 287, 288, 0, 289,
2296 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2297 0, 314, 0, 0, 0, 17, 290, 18, 0, 20,
2298 0, 291, 292, 21, 0, 293, 294, 295, 22, 296,
2299 297, 0, 24, 0, 0, 0, 298, 299, 300, 301,
2300 302, 27, 0, 28, 303, 0, 0, 0, 0, 0,
2301 0, 0, 0, 0, 305, 0, 0, 520, 0, 0,
2302 0, 0, 0, 0, 0, 307, 308, 521, 0, 0,
2303 0, 0, 0, 310, 311, 312, 7, 8, 9, 10,
2304 522, 12, 286, 287, 288, 0, 289, 14, 0, 0,
2305 0, 0, 0, 0, 0, 0, 0, 0, 314, 0,
2306 0, 0, 17, 290, 18, 0, 20, 0, 291, 292,
2307 21, 0, 293, 294, 295, 22, 296, 297, 0, 24,
2308 0, 0, 0, 298, 299, 300, 301, 302, 27, 0,
2309 28, 29, 0, 0, 0, 0, 0, 0, 0, 0,
2310 0, 305, 0, 6, 1388, 7, 8, 9, 10, 11,
2311 12, 13, 307, 308, 1389, 0, 14, 0, 0, 0,
2312 310, 311, 312, 0, 0, 0, 0, 1390, 0, 15,
2313 16, 17, 0, 18, 19, 20, 0, 0, 0, 21,
2314 0, 0, 0, 0, 22, 314, 0, 23, 24, 25,
2315 0, 26, 0, 0, 0, 0, 0, 27, 0, 28,
2316 29, 0, 166, 30, 7, 8, 9, 10, 11, 12,
2317 13, 0, 0, 31, 0, 14, 0, 0, 0, 0,
2318 0, 0, 0, 32, 0, 0, 0, 0, 15, 16,
2319 17, 33, 18, 19, 20, 0, 34, 0, 21, 0,
2320 0, 0, 35, 22, 0, 0, 23, 24, 25, 0,
2321 26, 0, 0, 0, 0, 0, 27, 0, 28, 29,
2322 0, 0, 30, 7, 8, 9, 10, 201, 202, 203,
2323 0, 0, 31, 0, 14, 0, 0, 0, 0, 0,
2324 0, 0, 32, 0, 0, 0, 0, 0, 0, 0,
2325 33, 0, 19, 0, 0, 34, 0, 21, 0, 0,
2326 0, 35, 22, 0, 0, 0, 24, 0, 580, 0,
2327 0, 0, 0, 0, 0, 27, 0, 28, 29, 7,
2328 8, 9, 10, 201, 202, 203, 0, 0, 0, 0,
2329 14, 862, 0, 0, 0, 0, 0, 0, 0, 0,
2330 0, 863, 0, 0, 0, 0, 0, 0, 19, 33,
2331 0, 583, 0, 21, 864, 585, 0, 0, 22, 0,
2332 0, 0, 24, 0, 580, 0, 0, 0, 0, 0,
2333 0, 27, 0, 28, 29, 7, 8, 9, 10, 134,
2334 12, 13, 0, 0, 0, 0, 14, 862, 0, 0,
2335 0, 0, 0, 0, 0, 0, 0, 863, 0, 0,
2336 0, 17, 0, 18, 19, 33, 0, 583, 0, 21,
2337 898, 585, 0, 0, 22, 0, 0, 0, 24, 0,
2338 0, 0, 0, 0, 0, 0, 0, 27, 0, 28,
2339 29, 7, 8, 9, 10, 134, 12, 13, 0, 0,
2340 904, 0, 14, 31, 0, 0, 0, 135, 0, 0,
2341 0, 0, 0, 32, 0, 0, 0, 17, 0, 18,
2342 19, 33, 0, 0, 0, 21, 34, 0, 0, 0,
2343 22, 0, 0, 0, 24, 0, 1086, 8, 926, 10,
2344 192, 12, 193, 27, 0, 28, 29, 14, 0, 0,
2345 0, 0, 0, 0, 0, 0, 0, 0, 0, 31,
2346 0, 0, 17, 0, 18, 19, 0, 0, 0, 32,
2347 21, 0, 0, 0, 0, 22, 0, 33, 0, 24,
2348 0, 0, 34, 0, 0, 0, 0, 0, 27, 0,
2349 28, 29, 0, 0, 0, 0, 1088, 7, 8, 9,
2350 10, 192, 12, 193, 31, 0, 0, 0, 14, 0,
2351 0, 0, 0, 0, 32, 0, 0, 0, 0, 0,
2352 0, 0, 33, 17, 0, 18, 19, 34, 0, 0,
2353 0, 21, 0, 0, 0, 0, 22, 0, 0, 0,
2354 24, 0, 7, 8, 9, 10, 134, 12, 13, 27,
2355 0, 28, 29, 14, 0, 1337, 0, 0, 0, 0,
2356 0, 0, 0, 0, 0, 31, 0, 0, 17, 0,
2357 18, 19, 0, 0, 0, 32, 21, 0, 0, 0,
2358 0, 22, 0, 33, 0, 24, 0, 0, 34, 0,
2359 0, 0, 0, 0, 27, 0, 28, 29, 7, 8,
2360 9, 10, 192, 12, 193, 0, 0, 0, 0, 14,
2361 31, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2362 32, 0, 0, 0, 17, 0, 18, 19, 33, 0,
2363 0, 0, 21, 34, 0, 0, 0, 22, 0, 0,
2364 0, 24, 0, 7, 8, 9, 10, 201, 202, 203,
2365 27, 0, 28, 29, 14, 0, 0, 0, 0, 0,
2366 0, 0, 0, 0, 0, 0, 31, 0, 0, 0,
2367 0, 0, 19, 0, 0, 0, 32, 21, 0, 0,
2368 0, 0, 22, 0, 33, 1378, 24, 0, 580, 34,
2369 0, 0, 0, 0, 0, 27, 0, 28, 29, 535,
2370 536, 537, 538, 539, 540, 541, 542, 543, 544, 545,
2371 546, 180, 548, 549, 550, 551, 552, 553, 554, 555,
2372 556, 181, 0, 0, 0, 0, 0, 0, 0, 33,
2373 0, 0, 0, 0, 1340, 0, 1379, 535, 536, 537,
2374 538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
2375 548, 549, 550, 551, 552, 553, 554, 555, 556, 8,
2376 9, 0, 134, 12, 13, 0, 8, 9, 0, 14,
2377 12, 230, 0, 8, 9, 0, 14, 12, 13, 0,
2378 0, 0, 0, 14, 17, 0, 18, 19, 0, 0,
2379 0, 17, 21, 18, 0, 0, 19, 0, 17, 21,
2380 18, 634, 0, 0, 0, 0, 21, 0, 24, 0,
2381 27, 0, 129, 130, 0, 24, 0, 27, 0, 129,
2382 130, 0, 0, 0, 27, 0, 129, 130, 535, 536,
2383 537, 538, 539, 540, 541, 542, 543, 544, 545, 546,
2384 547, 548, 549, 550, 551, 552, 553, 554, 555, 556,
2385 535, 536, 537, 538, 539, 540, 541, 542, 543, 544,
2386 545, 546, 547, 548, 549, 550, 551, 552, 553, 554,
2387 555, 556, 535, 536, 537, 538, 539, 540, 541, 542,
2388 543, 544, 545, 546, 547, 548, 549, 550, 551, 552,
2389 553, 554, 555, 556, 0, 0, 0, 0, 0, 1124,
2390 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2391 0, 0, 0, 0, 617, 0, 0, 1432, 535, 536,
2392 537, 538, 539, 540, 541, 542, 543, 544, 545, 546,
2393 547, 548, 549, 550, 551, 552, 553, 554, 555, 556,
2394 1301, 535, 536, 537, 538, 539, 540, 541, 542, 543,
2395 544, 545, 546, 547, 548, 549, 550, 551, 552, 553,
2396 554, 555, 556, 1449, 535, 536, 537, 538, 539, 540,
2397 541, 542, 543, 544, 545, 546, 547, 548, 549, 550,
2398 551, 552, 553, 554, 555, 556, 535, 536, 537, 538,
2399 539, 540, 541, 542, 543, 544, 545, 546, 547, 548,
2400 549, 550, 551, 552, 553, 554, 555, 556
2403 static const short yycheck[] = { 4,
2404 658, 332, 54, 161, 75, 392, 656, 196, 470, 392,
2405 58, 427, 4, 4, 125, 236, 83, 392, 24, 888,
2406 1226, 26, 151, 152, 338, 4, 931, 449, 796, 79,
2407 14, 36, 196, 363, 132, 940, 41, 4, 721, 289,
2408 290, 205, 231, 726, 36, 36, 11, 26, 34, 41,
2409 41, 56, 132, 133, 11, 53, 1256, 36, 89, 26,
2410 91, 92, 41, 1263, 31, 32, 71, 226, 1376, 36,
2411 320, 61, 128, 422, 41, 1249, 11, 133, 83, 1187,
2412 1188, 1412, 87, 4, 89, 137, 91, 92, 93, 48,
2413 60, 139, 281, 1201, 1410, 38, 146, 34, 82, 55,
2414 61, 106, 107, 1407, 36, 26, 63, 204, 205, 41,
2415 141, 9, 143, 0, 93, 36, 83, 338, 60, 75,
2416 41, 105, 4, 65, 1, 1441, 93, 55, 0, 200,
2417 1, 75, 1, 138, 76, 94, 141, 60, 143, 4,
2418 190, 111, 75, 332, 26, 110, 1393, 75, 196, 832,
2419 111, 110, 1483, 110, 36, 79, 204, 205, 156, 41,
2420 165, 26, 83, 585, 62, 1469, 152, 153, 111, 1277,
2421 61, 36, 93, 504, 111, 110, 41, 526, 1286, 1287,
2422 1380, 1289, 59, 231, 151, 152, 165, 110, 59, 187,
2423 59, 56, 63, 1440, 63, 657, 182, 428, 165, 12,
2424 1508, 60, 1376, 49, 435, 25, 1522, 27, 28, 199,
2425 60, 93, 584, 180, 181, 983, 12, 207, 61, 591,
2426 111, 1421, 55, 1470, 61, 96, 7, 96, 93, 4,
2427 60, 329, 14, 281, 4, 5, 91, 92, 39, 59,
2428 59, 23, 75, 63, 165, 1451, 60, 60, 232, 329,
2429 63, 110, 65, 284, 55, 55, 12, 38, 325, 48,
2430 110, 36, 76, 63, 60, 59, 41, 63, 111, 500,
2431 447, 65, 1472, 956, 111, 958, 96, 282, 455, 284,
2432 110, 100, 64, 165, 332, 98, 141, 57, 58, 603,
2433 454, 1399, 1400, 48, 681, 94, 348, 1202, 681, 629,
2434 165, 349, 98, 48, 60, 94, 386, 63, 313, 365,
2435 659, 81, 441, 442, 110, 473, 48, 27, 28, 63,
2436 325, 34, 32, 247, 3, 4, 5, 313, 333, 60,
2437 386, 562, 94, 564, 565, 1253, 63, 1255, 75, 94,
2438 95, 123, 98, 60, 61, 76, 677, 78, 63, 94,
2439 95, 61, 48, 94, 338, 65, 453, 454, 325, 63,
2440 75, 34, 94, 95, 461, 1133, 110, 598, 150, 48,
2441 1239, 75, 1442, 291, 292, 472, 55, 61, 57, 58,
2442 8, 9, 798, 110, 1454, 48, 14, 392, 306, 25,
2443 1073, 309, 463, 1463, 312, 492, 4, 315, 94, 95,
2444 318, 111, 1085, 48, 325, 453, 454, 48, 326, 37,
2445 415, 833, 1482, 461, 110, 94, 94, 48, 46, 109,
2446 48, 48, 25, 59, 472, 392, 61, 63, 36, 284,
2447 435, 94, 1502, 41, 65, 48, 415, 1306, 151, 152,
2448 153, 223, 224, 55, 492, 32, 1315, 1316, 415, 94,
2449 95, 75, 65, 94, 236, 1525, 442, 443, 60, 61,
2450 96, 316, 924, 94, 836, 110, 94, 94, 435, 182,
2451 460, 392, 859, 55, 441, 442, 859, 63, 151, 152,
2452 153, 94, 95, 48, 859, 475, 48, 342, 48, 344,
2453 63, 346, 864, 75, 415, 55, 59, 502, 48, 566,
2454 505, 55, 75, 65, 509, 510, 511, 512, 513, 182,
2455 3, 4, 5, 6, 435, 75, 502, 522, 111, 505,
2456 3, 4, 5, 305, 529, 59, 898, 841, 533, 94,
2457 95, 947, 94, 415, 94, 521, 522, 886, 48, 4,
2458 5, 396, 397, 94, 94, 110, 705, 533, 707, 42,
2459 415, 60, 61, 712, 4, 5, 745, 55, 974, 975,
2460 565, 566, 55, 48, 57, 58, 989, 990, 799, 992,
2461 76, 993, 48, 48, 57, 58, 1445, 75, 1040, 584,
2462 362, 812, 55, 814, 94, 816, 591, 639, 838, 641,
2463 642, 55, 57, 58, 642, 56, 89, 58, 81, 566,
2464 48, 698, 520, 521, 715, 591, 1068, 57, 58, 94,
2465 55, 595, 4, 5, 581, 582, 81, 584, 94, 94,
2466 841, 4, 5, 854, 591, 677, 9, 48, 634, 677,
2467 75, 81, 55, 1049, 55, 640, 4, 5, 48, 644,
2468 110, 9, 1058, 1059, 499, 566, 94, 1063, 1064, 880,
2469 698, 657, 4, 5, 75, 48, 9, 988, 48, 12,
2470 1032, 110, 55, 584, 95, 57, 58, 63, 110, 48,
2471 591, 110, 55, 94, 57, 58, 681, 138, 139, 75,
2472 11, 1053, 75, 111, 94, 48, 468, 55, 71, 57,
2473 58, 722, 723, 724, 48, 48, 3, 745, 81, 27,
2474 28, 94, 61, 71, 94, 57, 58, 60, 1124, 62,
2475 63, 716, 65, 81, 681, 94, 721, 722, 723, 724,
2476 94, 726, 113, 76, 716, 78, 95, 95, 441, 442,
2477 443, 94, 113, 4, 5, 196, 63, 716, 55, 95,
2478 94, 94, 95, 204, 205, 98, 63, 84, 85, 716,
2479 532, 60, 61, 739, 721, 4, 5, 110, 75, 726,
2480 681, 94, 921, 922, 923, 1181, 60, 61, 441, 442,
2481 443, 55, 94, 234, 8, 9, 4, 5, 75, 63,
2482 14, 55, 75, 4, 5, 1435, 57, 58, 75, 63,
2483 795, 75, 716, 75, 799, 716, 11, 1455, 1214, 48,
2484 721, 75, 110, 37, 60, 726, 55, 111, 57, 58,
2485 81, 1042, 46, 1044, 110, 1046, 3, 4, 5, 869,
2486 55, 826, 71, 4, 5, 110, 65, 832, 63, 57,
2487 58, 836, 81, 110, 716, 55, 57, 58, 60, 61,
2488 75, 110, 91, 63, 61, 94, 95, 60, 61, 835,
2489 836, 111, 634, 81, 859, 75, 861, 841, 111, 864,
2490 81, 643, 113, 934, 935, 832, 110, 834, 835, 836,
2491 57, 58, 943, 113, 55, 75, 57, 58, 864, 4,
2492 5, 75, 664, 75, 113, 1301, 938, 113, 349, 807,
2493 71, 110, 859, 898, 110, 862, 863, 864, 110, 59,
2494 81, 1030, 1031, 25, 110, 27, 28, 912, 733, 734,
2495 735, 832, 898, 55, 919, 836, 834, 835, 4, 5,
2496 1151, 8, 1051, 1052, 1255, 113, 931, 94, 933, 48,
2497 55, 898, 57, 58, 939, 940, 65, 59, 859, 931,
2498 60, 63, 94, 864, 61, 111, 71, 55, 940, 65,
2499 65, 956, 931, 958, 933, 63, 81, 110, 61, 45,
2500 25, 940, 27, 28, 931, 63, 933, 75, 1317, 55,
2501 95, 57, 58, 940, 96, 110, 110, 898, 110, 110,
2502 1329, 7, 8, 9, 1034, 446, 65, 65, 14, 956,
2503 65, 958, 453, 454, 59, 113, 457, 65, 63, 94,
2504 461, 60, 3, 4, 5, 6, 32, 931, 110, 933,
2505 931, 37, 933, 110, 110, 939, 940, 1404, 1089, 940,
2506 46, 1404, 110, 76, 1095, 1096, 110, 1032, 1099, 1100,
2507 76, 96, 1103, 76, 1040, 956, 76, 958, 3, 4,
2508 5, 42, 63, 110, 1393, 1031, 1032, 1097, 1053, 931,
2509 110, 933, 63, 60, 110, 63, 57, 58, 940, 110,
2510 3, 4, 5, 1030, 1031, 1032, 1052, 1053, 1073, 113,
2511 852, 95, 111, 938, 939, 110, 110, 995, 48, 25,
2512 1085, 27, 28, 113, 1051, 1052, 1053, 1418, 89, 1438,
2513 55, 1440, 57, 58, 1510, 950, 951, 952, 89, 3,
2514 4, 5, 111, 1108, 110, 87, 1073, 89, 110, 91,
2515 92, 1032, 55, 59, 57, 58, 1108, 63, 1085, 113,
2516 113, 1470, 110, 3, 4, 5, 110, 110, 60, 1108,
2517 110, 1480, 1053, 1051, 1052, 3, 4, 5, 6, 111,
2518 65, 1108, 79, 80, 81, 82, 83, 84, 85, 65,
2519 96, 864, 1073, 57, 58, 59, 75, 63, 110, 141,
2520 110, 143, 1167, 94, 1085, 94, 3, 4, 5, 6,
2521 94, 94, 1177, 1097, 42, 1167, 1167, 57, 58, 640,
2522 110, 642, 8, 111, 1108, 898, 113, 1108, 1167, 57,
2523 58, 864, 110, 975, 4, 5, 110, 1202, 110, 392,
2524 1167, 1253, 110, 1255, 113, 42, 111, 1255, 110, 110,
2525 1202, 110, 49, 1284, 1285, 110, 677, 110, 110, 60,
2526 57, 58, 60, 1202, 110, 898, 1108, 1385, 110, 1418,
2527 63, 3, 4, 5, 113, 1202, 48, 698, 110, 110,
2528 701, 110, 435, 97, 1249, 55, 1167, 57, 58, 1254,
2529 34, 1256, 89, 110, 110, 110, 65, 1249, 1263, 1388,
2530 1389, 3, 4, 5, 1256, 1256, 110, 1049, 1339, 63,
2531 1249, 1263, 1263, 113, 1198, 110, 110, 1256, 1202, 110,
2532 110, 1202, 1249, 55, 1263, 57, 58, 59, 63, 1256,
2533 446, 3, 4, 5, 61, 61, 1263, 3, 4, 5,
2534 6, 457, 284, 16, 9, 61, 94, 1, 94, 3,
2535 4, 5, 6, 61, 8, 57, 58, 1030, 1031, 1032,
2536 1202, 61, 304, 81, 82, 83, 84, 85, 1249, 94,
2537 94, 1249, 3, 4, 5, 1256, 42, 17, 1051, 1052,
2538 1053, 61, 1263, 49, 99, 57, 58, 109, 42, 110,
2539 61, 57, 58, 110, 1340, 49, 110, 1030, 1031, 1032,
2540 110, 55, 11, 57, 58, 61, 61, 1419, 94, 60,
2541 1418, 1376, 1377, 110, 61, 1380, 65, 1448, 1051, 1052,
2542 1053, 110, 1164, 89, 1376, 1390, 57, 58, 1380, 1380,
2543 11, 584, 61, 61, 110, 89, 11, 1376, 591, 1404,
2544 61, 1380, 1407, 1389, 1390, 1410, 3, 4, 5, 1376,
2545 1377, 0, 0, 1380, 0, 2, 1421, 417, 1410, 1410,
2546 365, 1388, 1389, 859, 165, 1434, 165, 939, 933, 1421,
2547 1421, 1410, 1372, 1040, 31, 529, 1441, 1404, 1522, 1254,
2548 1407, 852, 1421, 1410, 847, 427, 428, 225, 1068, 1441,
2549 1441, 1108, 48, 435, 1421, 1376, 1377, 664, 55, 1380,
2550 57, 58, 1441, 1245, 1469, 924, 933, 1472, 939, 614,
2551 1388, 1389, 1200, 845, 1441, 566, 329, 187, 939, 123,
2552 1472, 1472, 1256, 1404, 945, 1168, 1407, 1480, 681, 1410,
2553 1424, 87, 88, 1472, 1494, 1455, 92, 93, 94, 95,
2554 1421, 1496, 1469, 907, -1, 1472, 1177, 7, 8, 9,
2555 -1, -1, -1, -1, 14, -1, -1, 1522, 500, -1,
2556 1441, -1, -1, -1, -1, -1, 1308, -1, 721, -1,
2557 1522, 1522, 32, 726, -1, -1, -1, 37, -1, 3,
2558 4, 5, 6, 1522, -1, 701, 46, 529, 1469, -1,
2559 532, 1472, -1, 535, 536, 1522, 538, 539, 540, 541,
2560 542, 543, 544, 545, 546, 547, 548, 549, 550, 551,
2561 552, 553, 554, 555, 556, -1, -1, -1, 42, -1,
2562 562, -1, 564, 565, -1, 49, -1, -1, -1, -1,
2563 -1, -1, -1, 57, 58, 106, 107, -1, 3, 4,
2564 5, 1522, 7, -1, -1, -1, 3, 4, 5, 591,
2565 7, 8, 9, 428, -1, -1, 598, 1078, 1079, -1,
2566 435, 12, 180, 181, 182, 89, 31, 1340, -1, -1,
2567 -1, -1, -1, 38, 616, 617, 27, 28, -1, 832,
2568 37, 32, -1, 836, -1, -1, 1107, -1, -1, -1,
2569 55, -1, 57, 58, -1, -1, -1, 48, 55, -1,
2570 57, 58, 59, -1, -1, -1, 859, 1340, -1, 60,
2571 61, 864, 63, 696, 65, 1388, 1389, 1390, -1, -1,
2572 -1, -1, 664, -1, -1, 500, -1, -1, -1, -1,
2573 -1, 3, 4, 5, 6, -1, -1, 720, -1, -1,
2574 -1, -1, 725, 94, 95, 898, -1, 98, 105, 106,
2575 107, -1, -1, -1, -1, 1388, 1389, 1390, -1, 110,
2576 27, 28, -1, -1, -1, 32, -1, -1, -1, -1,
2577 42, -1, 1193, 1194, -1, 1196, 1197, -1, 1199, -1,
2578 722, 723, 724, 55, -1, 57, 58, 562, -1, 564,
2579 565, 63, -1, 60, 61, -1, -1, 739, 65, 71,
2580 -1, -1, -1, 956, -1, 958, -1, -1, -1, 81,
2581 4, 5, -1, 7, 8, 9, 591, 89, 12, 761,
2582 14, -1, 94, 598, -1, -1, 3, 4, 5, 945,
2583 7, 8, 9, 1254, 1255, 29, -1, 31, 32, -1,
2584 -1, -1, 313, 37, 827, -1, 829, -1, -1, -1,
2585 -1, -1, 46, 1274, 1275, -1, 798, 799, -1, -1,
2586 -1, 55, -1, 57, 58, -1, 4, -1, -1, -1,
2587 812, -1, 814, -1, 816, -1, 14, -1, -1, 1032,
2588 57, 58, -1, -1, -1, -1, -1, 25, 26, -1,
2589 -1, -1, -1, 31, 32, -1, 34, -1, 36, -1,
2590 1053, -1, 844, 41, 98, -1, 4, 5, -1, -1,
2591 -1, 9, 854, -1, -1, -1, 54, -1, 56, 437,
2592 1073, 439, -1, 441, 442, 443, 64, -1, -1, -1,
2593 -1, 873, 1085, 71, 452, 1356, 1357, 1358, 880, -1,
2594 7, 8, 9, -1, 82, 83, -1, 14, -1, -1,
2595 48, -1, -1, -1, -1, 93, 898, 55, -1, 57,
2596 58, 432, 1078, 1079, 739, 32, -1, 105, -1, -1,
2597 37, -1, 955, 71, 957, 1396, 1397, -1, -1, 46,
2598 -1, -1, -1, 81, -1, -1, -1, -1, 930, -1,
2599 128, 1107, -1, 91, 61, 133, 94, 95, -1, 137,
2600 138, -1, -1, -1, -1, 947, 144, -1, -1, 147,
2601 148, 106, 107, 151, 152, 153, -1, -1, -1, -1,
2602 -1, -1, -1, -1, 799, -1, 1009, 165, -1, -1,
2603 -1, 502, 974, 975, 505, -1, 978, 812, 509, 814,
2604 -1, 816, 180, 181, 182, 7, 8, 9, -1, -1,
2605 1471, 522, 14, -1, -1, -1, 3, 4, 5, 6,
2606 -1, -1, 533, -1, -1, -1, 537, -1, -1, -1,
2607 32, 209, -1, -1, -1, 37, -1, 1193, 1194, 854,
2608 1196, 1197, -1, 1199, 46, -1, 224, -1, -1, -1,
2609 -1, -1, 563, -1, 232, 42, -1, -1, 569, 61,
2610 1042, -1, 1044, -1, 1046, 880, 244, 1049, 55, -1,
2611 57, 58, 3, 4, 5, 6, 1058, 1059, 9, -1,
2612 -1, 1063, 1064, 898, 71, 77, 78, 79, 80, 81,
2613 82, 83, 84, 85, 81, -1, -1, -1, -1, -1,
2614 -1, -1, 89, -1, 282, 283, 1088, 94, -1, -1,
2615 -1, 42, -1, -1, -1, -1, -1, 48, 1274, 1275,
2616 3, 4, 5, 1146, 55, -1, 57, 58, -1, -1,
2617 688, 689, -1, 691, 3, 4, 5, 6, -1, -1,
2618 71, -1, 1124, -1, 1126, -1, -1, 325, -1, -1,
2619 81, 329, -1, 331, 332, 333, 39, 40, 89, 42,
2620 91, -1, 1185, 94, 95, -1, 1189, -1, -1, 1151,
2621 348, -1, 55, 42, 57, 58, -1, -1, 313, -1,
2622 49, 1204, 1205, -1, -1, -1, -1, 365, 57, 58,
2623 -1, -1, -1, -1, -1, -1, -1, 1220, -1, 1181,
2624 1356, 1357, 1358, -1, -1, -1, -1, -1, 386, 1191,
2625 1192, 1404, 81, -1, 392, -1, 3, 4, 5, 6,
2626 89, -1, 9, -1, -1, 403, -1, 1042, 406, 1044,
2627 -1, 1046, 1214, 411, 81, -1, -1, 415, -1, -1,
2628 1396, 1397, 3, 4, 5, 6, -1, -1, -1, -1,
2629 -1, -1, -1, -1, -1, 42, -1, 392, 1240, 437,
2630 -1, 439, -1, 441, 442, 443, -1, -1, 55, 447,
2631 57, 58, 1295, 1296, 452, -1, -1, 455, -1, -1,
2632 -1, 42, -1, -1, 71, -1, -1, -1, 49, -1,
2633 -1, -1, 803, -1, 81, -1, 57, 58, 1280, -1,
2634 435, -1, 89, -1, 862, 863, 864, 94, -1, -1,
2635 -1, -1, 159, -1, -1, 1471, -1, -1, -1, 1301,
2636 81, -1, -1, -1, -1, 836, 1349, 1350, 89, -1,
2637 -1, 178, 510, 511, 512, 513, 1151, -1, -1, -1,
2638 898, -1, -1, -1, 191, 73, 74, 75, 76, 77,
2639 78, 79, 80, 81, 82, 83, 84, 85, 1340, -1,
2640 3, 4, 5, 6, -1, -1, 9, 502, -1, -1,
2641 505, -1, 1354, 1355, 509, 510, 511, 512, 513, -1,
2642 938, 1363, -1, -1, -1, -1, -1, 522, 566, -1,
2643 568, -1, -1, -1, -1, -1, 1378, -1, 533, 42,
2644 -1, 579, -1, 581, 582, 48, 584, -1, 919, -1,
2645 -1, -1, 55, 591, 57, 58, -1, 595, -1, -1,
2646 -1, -1, -1, -1, -1, -1, -1, -1, 71, -1,
2647 565, -1, -1, -1, -1, -1, -1, -1, 81, -1,
2648 -1, -1, -1, -1, -1, -1, 89, -1, 91, 584,
2649 -1, 94, 95, -1, -1, -1, 591, -1, -1, -1,
2650 -1, 639, 640, 641, 642, 643, 644, -1, -1, -1,
2651 1028, 1029, 1030, 1031, 1032, -1, -1, -1, 1036, -1,
2652 -1, -1, 3, 4, 5, 6, -1, -1, 9, -1,
2653 -1, -1, -1, 1051, 1052, 1053, -1, -1, -1, 677,
2654 -1, -1, -1, 681, -1, -1, -1, -1, -1, -1,
2655 688, 689, -1, 691, -1, -1, -1, -1, -1, -1,
2656 -1, 42, -1, -1, -1, 1340, -1, 48, 1510, -1,
2657 3, 4, 5, 6, 55, -1, 57, 58, 716, -1,
2658 -1, -1, 1053, 721, -1, -1, 681, -1, 726, -1,
2659 71, -1, -1, -1, -1, 733, 734, 735, -1, -1,
2660 81, -1, -1, -1, -1, -1, -1, 745, 89, 42,
2661 91, -1, -1, 94, 95, -1, 49, -1, -1, -1,
2662 -1, -1, -1, -1, 57, 58, 721, -1, -1, -1,
2663 -1, 726, -1, -1, -1, -1, 1154, 1155, 445, 1157,
2664 -1, -1, -1, 450, -1, -1, -1, -1, 81, 1120,
2665 1121, 1122, 1123, -1, -1, -1, 89, 795, -1, -1,
2666 1131, -1, -1, -1, -1, 3, 4, 5, 6, 476,
2667 -1, 9, -1, -1, 481, -1, -1, 1195, -1, 817,
2668 -1, 819, -1, -1, -1, -1, 493, 494, 826, 496,
2669 -1, -1, 830, -1, 832, -1, 834, 835, 836, -1,
2670 795, -1, -1, 841, 42, -1, -1, -1, -1, -1,
2671 48, -1, -1, -1, -1, -1, -1, 55, -1, 57,
2672 58, 859, -1, 861, 862, 863, 864, -1, -1, -1,
2673 -1, 826, -1, 71, -1, -1, -1, 832, -1, -1,
2674 4, 836, -1, 81, -1, -1, -1, -1, -1, -1,
2675 -1, 89, -1, 91, -1, -1, 94, 95, -1, -1,
2676 898, -1, 26, -1, 859, -1, 861, 31, 32, 864,
2677 -1, -1, 36, 1244, 912, -1, -1, 41, -1, -1,
2678 587, 588, -1, -1, -1, 592, -1, -1, -1, 927,
2679 -1, -1, 56, 931, -1, 933, -1, -1, -1, -1,
2680 938, 939, 940, 898, -1, -1, 4, -1, -1, -1,
2681 -1, -1, -1, -1, -1, -1, 14, 912, 956, -1,
2682 958, 79, 1340, -1, 919, -1, 24, 25, 26, 93,
2683 -1, -1, -1, 31, 32, -1, 34, -1, 36, -1,
2684 -1, -1, -1, 41, -1, 103, -1, -1, -1, -1,
2685 -1, 989, 990, -1, 992, 1326, 54, -1, 56, -1,
2686 -1, 956, -1, 958, -1, -1, 64, -1, -1, -1,
2687 1388, 1389, 1390, 71, 132, -1, -1, -1, -1, -1,
2688 144, -1, -1, -1, 148, 83, -1, -1, 146, -1,
2689 1028, 1029, 1030, 1031, 1032, 93, -1, -1, 1036, -1,
2690 -1, 165, -1, -1, -1, 1376, 1377, -1, -1, -1,
2691 -1, -1, -1, 1051, 1052, 1053, 180, 181, -1, 1390,
2692 727, -1, 729, -1, -1, -1, -1, -1, -1, -1,
2693 128, -1, 190, -1, -1, 1073, 1407, 1032, -1, 137,
2694 138, -1, -1, -1, -1, -1, 144, 1085, -1, -1,
2695 148, -1, -1, 151, 152, 153, -1, -1, 1053, -1,
2696 1098, -1, -1, -1, -1, 223, -1, 165, -1, -1,
2697 1108, -1, -1, -1, -1, -1, -1, -1, 1073, -1,
2698 244, -1, 180, 181, 182, -1, -1, -1, -1, 247,
2699 1085, -1, -1, -1, 801, 802, 1467, 804, 1469, -1,
2700 4, 5, -1, 7, 8, 9, -1, -1, 12, -1,
2701 14, 209, -1, -1, -1, -1, 1154, 1155, -1, 1157,
2702 -1, -1, 1493, -1, 831, 29, -1, 31, 32, -1,
2703 -1, -1, -1, 37, -1, -1, -1, 1508, -1, 1177,
2704 -1, -1, 46, -1, 48, -1, 244, -1, -1, -1,
2705 -1, 55, -1, 57, 58, -1, -1, 1195, -1, 866,
2706 -1, -1, 1200, -1, 1202, -1, -1, 71, 3, 4,
2707 5, 6, -1, -1, -1, -1, -1, 81, -1, 337,
2708 -1, -1, 1177, -1, 282, 283, -1, 91, -1, -1,
2709 94, 95, -1, -1, 98, 74, 75, 76, 77, 78,
2710 79, 80, 81, 82, 83, 84, 85, 42, -1, 3,
2711 4, 5, 6, 48, -1, 1253, 1254, 1255, -1, -1,
2712 55, -1, 57, 58, -1, -1, -1, 325, -1, -1,
2713 -1, 329, -1, 331, 332, 333, 71, -1, -1, 403,
2714 338, 399, 406, -1, -1, -1, 81, 411, 42, -1,
2715 348, 415, -1, -1, 89, -1, 91, -1, -1, 94,
2716 95, 55, -1, 57, 58, -1, -1, 365, -1, 63,
2717 -1, 4, 5, 437, -1, 439, 9, 71, -1, 4,
2718 5, -1, -1, 8, 9, -1, -1, 81, 452, 14,
2719 -1, -1, -1, -1, 392, 89, -1, 1004, -1, -1,
2720 94, -1, 1340, -1, 29, 403, 31, -1, 406, -1,
2721 468, -1, 37, 411, -1, 48, -1, 415, -1, -1,
2722 -1, 46, 55, -1, 57, 58, -1, -1, 1035, -1,
2723 55, -1, 57, 58, 59, -1, -1, 495, 71, 437,
2724 -1, 439, -1, 441, 442, 443, -1, -1, 81, 447,
2725 1388, 1389, 1390, -1, 452, -1, -1, 455, 91, -1,
2726 -1, 94, 95, -1, -1, 1072, 1404, -1, -1, 94,
2727 -1, -1, 470, -1, -1, -1, -1, 1084, -1, -1,
2728 -1, 1419, -1, -1, -1, -1, -1, -1, -1, -1,
2729 -1, -1, -1, -1, 1, 1390, 3, 4, 5, 6,
2730 7, 8, 9, -1, 1111, -1, -1, 14, 1115, 1404,
2731 -1, -1, 510, 511, 512, 513, -1, -1, -1, -1,
2732 578, -1, 29, -1, 31, 32, 33, -1, -1, -1,
2733 37, 38, -1, -1, -1, 42, 594, -1, -1, 46,
2734 47, 1148, 49, -1, -1, -1, -1, -1, 55, -1,
2735 57, 58, -1, -1, 61, -1, 63, -1, -1, -1,
2736 -1, -1, -1, -1, 71, -1, -1, -1, 566, -1,
2737 568, -1, -1, -1, 81, -1, 640, -1, -1, -1,
2738 -1, -1, 89, 581, 582, -1, 584, 94, -1, -1,
2739 -1, -1, -1, 591, -1, -1, -1, -1, -1, 1206,
2740 1207, -1, -1, -1, 111, 603, -1, -1, -1, 3,
2741 4, 5, 6, -1, -1, -1, -1, 681, -1, -1,
2742 -1, -1, -1, -1, 688, 689, -1, 691, -1, -1,
2743 -1, -1, -1, -1, -1, -1, 634, -1, -1, -1,
2744 -1, 639, 640, 641, 642, 643, 644, -1, 42, -1,
2745 -1, -1, 716, -1, -1, -1, -1, -1, -1, 657,
2746 -1, 55, 1269, 57, 58, -1, 1273, 61, 1, -1,
2747 3, 4, 5, 6, 7, 8, 9, 71, -1, 677,
2748 -1, 14, -1, 681, -1, -1, -1, 81, -1, -1,
2749 688, 689, -1, 691, -1, 89, 29, -1, 31, 32,
2750 94, -1, -1, -1, 37, -1, -1, -1, -1, 42,
2751 -1, -1, -1, 46, 47, -1, 49, -1, 716, -1,
2752 -1, -1, 55, 721, 57, 58, -1, -1, 726, -1,
2753 63, 3, 4, 5, 6, 733, 734, 735, 71, 4,
2754 5, -1, -1, 8, 9, -1, -1, 745, 81, 14,
2755 -1, -1, -1, -1, -1, -1, 89, -1, -1, -1,
2756 -1, 94, -1, -1, 29, -1, 31, -1, -1, -1,
2757 42, -1, 37, 4, -1, -1, -1, 49, -1, -1,
2758 -1, 46, 840, 48, 842, 57, 58, -1, -1, -1,
2759 55, -1, 57, 58, -1, 26, -1, 795, 862, 863,
2760 31, 32, -1, 34, -1, 36, 71, -1, -1, 81,
2761 41, 869, -1, -1, -1, -1, 81, 89, -1, 817,
2762 -1, 819, -1, 54, -1, 56, 91, -1, 826, 94,
2763 95, -1, 830, -1, 832, -1, 834, 835, 836, -1,
2764 -1, -1, -1, 841, -1, -1, -1, -1, 79, -1,
2765 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2766 -1, 859, 93, 861, 862, 863, 864, 931, -1, 933,
2767 -1, -1, -1, -1, 938, 939, 940, 3, 4, 5,
2768 6, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2769 -1, -1, -1, -1, 4, 5, -1, 128, 8, 9,
2770 898, 132, 133, -1, 14, -1, 137, -1, -1, -1,
2771 -1, -1, -1, 144, 912, 146, 42, 148, -1, -1,
2772 151, 152, 153, 49, -1, -1, 924, 37, -1, 927,
2773 -1, 57, 58, 931, 165, 933, 46, -1, 48, -1,
2774 938, 939, 940, -1, -1, 55, -1, 57, 58, 180,
2775 181, 182, -1, -1, -1, 81, -1, 1015, 956, 190,
2776 958, 71, -1, 89, 1028, 1029, -1, -1, -1, -1,
2777 -1, 81, 1036, -1, -1, -1, 1034, -1, 209, -1,
2778 -1, 91, -1, -1, 94, 95, -1, -1, -1, -1,
2779 -1, 989, 990, -1, 992, 68, 69, 70, 71, 72,
2780 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
2781 83, 84, 85, 244, -1, -1, -1, 3, 4, 5,
2782 6, 7, 8, 9, -1, -1, 12, -1, 14, -1,
2783 1028, 1029, 1030, 1031, 1032, -1, -1, -1, 1036, 1097,
2784 -1, -1, 1040, 29, 1108, 31, 32, -1, -1, -1,
2785 -1, 37, -1, 1051, 1052, 1053, 42, -1, -1, -1,
2786 46, -1, 48, -1, -1, -1, -1, -1, -1, 55,
2787 1068, 57, 58, -1, -1, 1073, 4, 5, -1, -1,
2788 -1, 9, 313, -1, -1, 71, -1, 1085, -1, -1,
2789 1154, 1155, -1, 1157, -1, 81, -1, -1, 329, -1,
2790 -1, -1, -1, 89, -1, 91, 337, -1, 94, 95,
2791 1108, -1, 98, -1, -1, -1, -1, 348, -1, -1,
2792 48, -1, -1, -1, -1, -1, -1, 55, -1, 57,
2793 58, 1195, -1, -1, 365, -1, 1200, -1, 1202, -1,
2794 1198, -1, -1, 71, -1, -1, -1, -1, -1, -1,
2795 -1, -1, -1, 81, -1, 386, 1154, 1155, -1, 1157,
2796 -1, -1, -1, 91, -1, -1, 94, 95, -1, -1,
2797 -1, -1, 403, -1, -1, 406, -1, -1, -1, 1177,
2798 411, -1, -1, -1, 415, 331, 332, 333, -1, -1,
2799 1254, -1, -1, -1, -1, -1, -1, 1195, -1, -1,
2800 -1, -1, 1200, -1, 1202, -1, 437, -1, 439, -1,
2801 441, 442, 443, -1, -1, -1, 447, -1, -1, -1,
2802 -1, 452, -1, -1, 455, 70, 71, 72, 73, 74,
2803 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
2804 85, 1, -1, 3, 4, 5, 6, 7, 8, 9,
2805 -1, -1, 12, -1, 14, 1253, 1254, 1255, -1, -1,
2806 -1, -1, -1, -1, -1, 25, -1, 27, 28, -1,
2807 -1, 502, 32, -1, 505, -1, -1, 37, -1, -1,
2808 -1, -1, 42, -1, -1, -1, 46, -1, 48, 520,
2809 521, 522, -1, -1, -1, 55, -1, 57, 58, 59,
2810 60, 61, 533, 63, 64, 65, 66, 67, 68, 69,
2811 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
2812 80, 81, 82, 83, 84, 85, -1, 87, 88, 89,
2813 -1, 91, 92, 93, 94, 95, 96, -1, 98, 99,
2814 -1, -1, 1340, 4, 104, -1, -1, 578, -1, 109,
2815 110, 111, -1, 113, -1, -1, -1, -1, -1, -1,
2816 591, -1, -1, -1, -1, 26, -1, -1, -1, -1,
2817 31, 32, -1, 34, -1, 36, 3, 4, 5, 6,
2818 41, -1, 9, -1, -1, -1, -1, -1, -1, -1,
2819 1388, 1389, 1390, 54, -1, 56, -1, -1, -1, -1,
2820 -1, -1, -1, -1, -1, -1, 1404, -1, 639, 640,
2821 641, 642, -1, -1, -1, 42, -1, -1, -1, -1,
2822 -1, 1419, -1, -1, -1, -1, -1, 34, 55, -1,
2823 57, 58, 93, -1, -1, 581, 582, -1, 584, -1,
2824 -1, -1, -1, -1, 71, 591, 677, 54, -1, -1,
2825 681, -1, -1, -1, 81, -1, -1, 688, 689, -1,
2826 691, -1, 89, -1, -1, -1, -1, 94, -1, -1,
2827 -1, -1, -1, -1, 4, 5, 137, -1, 8, 9,
2828 -1, -1, -1, 144, 14, 716, -1, 148, -1, -1,
2829 151, 152, 153, 639, -1, 641, 642, -1, 644, -1,
2830 3, 4, 5, 6, 165, -1, 9, 37, 739, -1,
2831 -1, -1, -1, -1, -1, -1, 46, -1, 48, 180,
2832 181, 182, -1, -1, -1, 55, -1, 57, 58, -1,
2833 137, 677, -1, -1, -1, -1, -1, -1, -1, 42,
2834 -1, 71, -1, -1, 151, 152, 153, -1, 209, -1,
2835 -1, 81, 55, -1, 57, 58, 3, 4, 5, 6,
2836 -1, 91, 9, -1, 94, 95, -1, -1, 71, -1,
2837 -1, -1, -1, 180, 181, 182, -1, -1, 81, -1,
2838 -1, -1, -1, 244, -1, -1, 89, -1, -1, -1,
2839 -1, 94, -1, -1, -1, 42, -1, -1, -1, 745,
2840 -1, -1, 209, 834, 835, 836, -1, -1, 55, 840,
2841 57, 58, -1, -1, -1, -1, -1, -1, -1, -1,
2842 -1, -1, -1, -1, 71, -1, -1, -1, -1, -1,
2843 -1, 862, 863, 864, 81, -1, -1, -1, 869, -1,
2844 -1, -1, 89, 331, 332, 333, -1, 94, 69, 70,
2845 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
2846 81, 82, 83, 84, 85, -1, -1, 898, -1, -1,
2847 -1, 817, -1, 819, -1, -1, 283, 338, -1, -1,
2848 -1, -1, -1, -1, 830, -1, -1, 348, 834, 835,
2849 836, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2850 931, -1, 933, -1, -1, -1, -1, 938, 939, 940,
2851 -1, -1, -1, -1, -1, -1, 862, 863, 864, -1,
2852 -1, -1, -1, 54, 331, 332, 333, 72, 73, 74,
2853 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
2854 85, 348, 403, -1, -1, 406, -1, -1, 79, -1,
2855 411, 82, 898, -1, 415, 71, 72, 73, 74, 75,
2856 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
2857 -1, -1, 103, -1, 105, -1, 437, -1, 439, -1,
2858 441, 442, 443, -1, 1015, -1, 447, -1, -1, -1,
2859 -1, 452, -1, -1, 455, -1, -1, 1028, 1029, 1030,
2860 1031, 1032, -1, 1034, -1, 1036, 137, -1, -1, -1,
2861 -1, -1, -1, 3, 4, 5, 6, 7, 8, 9,
2862 1051, 1052, 1053, -1, 14, -1, -1, -1, -1, -1,
2863 437, -1, 439, -1, 441, 442, 443, -1, -1, 29,
2864 447, 31, 32, -1, -1, 452, -1, 37, 455, 180,
2865 181, 182, 42, -1, -1, -1, 46, -1, -1, 190,
2866 -1, -1, -1, -1, -1, 55, 1097, 57, 58, -1,
2867 -1, 61, -1, -1, -1, -1, -1, 1108, 209, -1,
2868 -1, 71, 1028, 1029, 1030, 1031, 1032, -1, -1, -1,
2869 1036, 81, -1, 581, 582, -1, -1, -1, -1, 89,
2870 -1, 232, -1, -1, 94, 1051, 1052, 1053, 3, 4,
2871 5, 6, -1, -1, 9, -1, 247, -1, 579, -1,
2872 -1, -1, -1, 1154, 1155, -1, 1157, -1, -1, -1,
2873 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2874 -1, -1, -1, -1, -1, -1, -1, 42, -1, -1,
2875 -1, 639, -1, 641, 642, -1, 644, -1, -1, -1,
2876 55, 568, 57, 58, 1195, -1, -1, -1, -1, 1200,
2877 -1, 1202, -1, -1, 581, 582, 71, 584, 639, 640,
2878 641, 642, -1, -1, 591, -1, 81, -1, -1, 677,
2879 -1, -1, -1, -1, 89, -1, -1, -1, -1, 94,
2880 -1, -1, -1, -1, -1, -1, 337, 338, 1154, 1155,
2881 -1, 1157, 3, 4, 5, 6, 677, 348, 9, -1,
2882 681, -1, 1253, 1254, 1255, -1, -1, 688, 689, -1,
2883 691, -1, 639, -1, 641, 642, -1, 644, -1, 3,
2884 4, 5, 6, -1, -1, 9, -1, -1, -1, -1,
2885 -1, 42, -1, -1, -1, 716, -1, 745, -1, -1,
2886 -1, -1, -1, -1, 55, -1, 57, 58, -1, -1,
2887 677, -1, -1, -1, -1, -1, -1, -1, 42, -1,
2888 71, 688, 689, -1, 691, -1, -1, -1, -1, -1,
2889 81, 55, -1, 57, 58, -1, -1, -1, 89, -1,
2890 -1, -1, -1, 94, -1, -1, 437, 71, 439, 1340,
2891 441, 442, 443, -1, -1, -1, 447, 81, -1, -1,
2892 -1, 452, -1, -1, 455, 89, 733, 734, 735, 817,
2893 94, 819, -1, -1, -1, -1, -1, -1, 745, -1,
2894 4, 5, 830, -1, 8, 9, 834, 835, -1, -1,
2895 14, -1, -1, 3, 4, 5, 6, 1388, 1389, 1390,
2896 -1, -1, -1, -1, -1, 29, -1, 31, -1, -1,
2897 -1, -1, -1, 37, 862, 863, -1, -1, -1, -1,
2898 841, -1, 46, -1, -1, -1, -1, -1, 1419, -1,
2899 -1, 55, 42, 57, 58, -1, -1, -1, -1, -1,
2900 -1, 862, 863, 864, -1, 55, -1, 57, 58, -1,
2901 817, -1, 819, 63, -1, -1, -1, -1, -1, -1,
2902 -1, 71, -1, 830, -1, -1, -1, 834, 835, 836,
2903 94, 81, -1, -1, -1, -1, -1, 898, -1, 89,
2904 -1, -1, -1, -1, 94, 1, -1, 3, 4, 5,
2905 6, 7, 8, 9, -1, 862, 863, 864, 14, -1,
2906 -1, -1, -1, 594, 595, -1, -1, -1, -1, -1,
2907 931, -1, 933, 29, -1, 31, 32, 938, 939, 940,
2908 -1, 37, -1, -1, -1, -1, 42, -1, -1, -1,
2909 46, 898, -1, 49, -1, -1, -1, -1, -1, 55,
2910 -1, 57, 58, -1, -1, 61, -1, -1, 639, -1,
2911 641, 642, -1, -1, -1, 71, -1, -1, -1, -1,
2912 -1, -1, -1, -1, -1, 81, -1, -1, -1, -1,
2913 -1, 938, -1, 89, -1, -1, -1, -1, 94, -1,
2914 1028, 1029, 1030, 1031, -1, -1, 677, -1, 1036, -1,
2915 3, 4, 5, 6, -1, -1, 9, 688, 689, -1,
2916 691, -1, -1, 1051, 1052, -1, -1, 1028, 1029, 1030,
2917 1031, 1032, -1, -1, -1, 1036, -1, -1, -1, -1,
2918 -1, -1, 989, 990, 715, 992, -1, -1, -1, 42,
2919 1051, 1052, 1053, -1, -1, -1, -1, -1, -1, -1,
2920 -1, -1, 55, -1, 57, 58, -1, -1, -1, 3,
2921 4, 5, 6, 7, 8, 9, -1, -1, 71, -1,
2922 14, 1028, 1029, 1030, 1031, 1032, -1, -1, 81, 1036,
2923 -1, -1, -1, -1, -1, 29, 89, 31, 32, -1,
2924 -1, 94, -1, 37, 1051, 1052, 1053, 1108, 42, -1,
2925 -1, -1, 46, -1, 48, -1, -1, -1, -1, -1,
2926 -1, 55, -1, 57, 58, -1, 1154, 1155, -1, 1157,
2927 -1, -1, -1, -1, -1, -1, -1, 71, -1, -1,
2928 -1, -1, -1, -1, -1, -1, -1, 81, 3, 4,
2929 5, 6, -1, 1154, 1155, 89, 1157, 91, -1, -1,
2930 94, 95, 14, -1, -1, 3, 4, 5, 6, 840,
2931 841, 842, 24, 25, -1, -1, -1, -1, -1, 31,
2932 32, -1, 34, -1, -1, -1, -1, 42, -1, -1,
2933 -1, 862, 863, 864, 1195, -1, -1, -1, 869, 1200,
2934 55, 1202, 57, 58, 42, -1, 61, 1154, 1155, -1,
2935 1157, -1, 64, -1, -1, -1, 71, 55, -1, 57,
2936 58, -1, -1, -1, -1, -1, 81, 898, -1, -1,
2937 -1, -1, -1, 71, 89, -1, -1, -1, -1, 94,
2938 -1, -1, -1, 81, -1, -1, -1, -1, 1195, -1,
2939 -1, 89, 1253, 1254, 1255, -1, 94, 1, -1, 3,
2940 4, 5, 6, 7, 8, 9, -1, 938, -1, -1,
2941 14, 123, -1, 125, -1, -1, 128, -1, -1, -1,
2942 132, 133, -1, -1, -1, 29, -1, 31, 32, 33,
2943 -1, -1, 144, 37, 146, 147, 148, -1, 42, 151,
2944 152, 153, 46, 47, -1, 49, 1253, -1, 1255, -1,
2945 -1, 55, -1, 57, 58, -1, -1, 61, -1, 63,
2946 -1, -1, -1, -1, -1, -1, -1, 71, -1, -1,
2947 -1, 3, 4, 5, 6, -1, -1, 81, -1, 1340,
2948 -1, -1, -1, -1, 1015, 89, -1, -1, -1, -1,
2949 94, -1, -1, -1, -1, -1, -1, 1028, 1029, 1030,
2950 1031, 1032, -1, 1034, -1, 1036, -1, -1, -1, -1,
2951 42, 223, 224, -1, -1, -1, -1, -1, -1, -1,
2952 1051, 1052, 1053, 55, -1, 57, 58, 1388, 1389, 1390,
2953 -1, -1, 244, 1340, -1, -1, -1, -1, -1, 71,
2954 -1, -1, -1, -1, -1, -1, -1, -1, 1, 81,
2955 3, 4, 5, 6, 7, 8, 9, 89, 1419, -1,
2956 -1, 14, 94, -1, -1, -1, 1097, -1, -1, -1,
2957 -1, 283, -1, -1, -1, -1, 29, -1, 31, 32,
2958 33, 1388, 1389, 1390, 37, 38, -1, -1, -1, 42,
2959 -1, -1, -1, 46, 47, -1, 49, -1, -1, -1,
2960 -1, -1, 55, -1, 57, 58, -1, -1, 61, -1,
2961 63, -1, 1419, -1, -1, -1, -1, 329, 71, 331,
2962 332, -1, -1, 1154, 1155, -1, 1157, -1, 81, -1,
2963 -1, -1, -1, -1, -1, -1, 89, -1, -1, -1,
2964 -1, 94, -1, -1, -1, -1, -1, -1, -1, -1,
2965 -1, -1, -1, 365, -1, -1, -1, -1, 111, -1,
2966 -1, -1, -1, -1, 1195, -1, -1, -1, -1, -1,
2967 -1, -1, -1, -1, 386, 1, -1, 3, 4, 5,
2968 6, 7, 8, 9, -1, -1, -1, 399, 14, -1,
2969 -1, 403, -1, -1, 406, -1, -1, -1, -1, 411,
2970 -1, -1, -1, 29, -1, 31, 32, 33, -1, -1,
2971 -1, 37, 38, -1, -1, -1, 42, -1, -1, -1,
2972 46, 47, 1253, 49, 1255, -1, -1, -1, -1, 55,
2973 -1, 57, 58, -1, -1, 61, -1, 63, -1, 4,
2974 5, -1, 7, 8, 9, 71, -1, 12, -1, 14,
2975 -1, -1, -1, -1, -1, 81, 468, -1, 470, -1,
2976 -1, -1, -1, 89, 29, -1, 31, 32, 94, -1,
2977 -1, -1, 37, -1, -1, -1, -1, -1, -1, -1,
2978 -1, 46, -1, 495, -1, 111, -1, -1, -1, -1,
2979 55, -1, 57, 58, 1, -1, 3, 4, 5, 6,
2980 7, 8, 9, 10, 11, -1, 13, 14, 15, 1340,
2981 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
2982 27, 28, 29, 30, 31, 32, 33, -1, 35, 36,
2983 37, -1, 39, 40, 41, 42, 43, 44, -1, 46,
2984 -1, -1, -1, 50, 51, 52, 53, 54, 55, -1,
2985 57, 58, 59, -1, 61, 62, 568, 1388, 1389, 1390,
2986 -1, 68, -1, -1, 71, -1, 578, 579, -1, 581,
2987 582, -1, 79, 80, 81, -1, -1, -1, -1, -1,
2988 87, 88, 89, -1, -1, -1, -1, 94, 1419, 96,
2989 4, 5, -1, 7, 8, 9, -1, -1, -1, -1,
2990 14, -1, -1, -1, 111, 112, -1, -1, -1, -1,
2991 -1, -1, -1, -1, -1, 29, -1, 31, 32, -1,
2992 -1, -1, 634, 37, -1, -1, -1, -1, -1, -1,
2993 -1, 643, 46, -1, -1, -1, -1, -1, -1, -1,
2994 -1, 55, -1, 57, 58, 657, -1, -1, 1, -1,
2995 3, 4, 5, 6, 7, 8, 9, 10, 11, -1,
2996 13, 14, 15, -1, 17, 18, 19, 20, 21, 22,
2997 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
2998 33, -1, 35, 36, 37, -1, 39, 40, 41, 42,
2999 43, 44, -1, 46, -1, -1, -1, 50, 51, 52,
3000 53, 54, 55, 715, 57, 58, 59, -1, 61, 62,
3001 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3002 -1, 733, 734, 735, -1, -1, 79, 80, 81, -1,
3003 -1, -1, -1, 745, 87, 88, 89, -1, -1, -1,
3004 -1, 94, 1, 96, 3, 4, 5, 6, 7, 8,
3005 9, 10, 11, 12, 13, 14, -1, -1, -1, 112,
3006 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3007 29, 30, 31, 32, 33, -1, 35, 36, 37, -1,
3008 39, 40, 41, 42, 43, 44, -1, 46, -1, 48,
3009 -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
3010 59, -1, -1, 62, -1, 817, -1, 819, -1, 68,
3011 -1, -1, 71, -1, -1, -1, -1, -1, 830, -1,
3012 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
3013 89, -1, 91, -1, -1, 94, 95, -1, 1, 98,
3014 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
3015 13, 14, -1, 112, -1, -1, -1, -1, -1, -1,
3016 -1, -1, -1, -1, -1, -1, 29, 30, 31, 32,
3017 33, -1, 35, 36, 37, -1, 39, 40, 41, 42,
3018 43, 44, -1, 46, -1, 48, -1, 50, 51, 52,
3019 53, 54, 55, -1, 57, 58, 59, -1, -1, 62,
3020 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3021 -1, -1, 924, -1, -1, 927, 79, 80, 81, -1,
3022 -1, -1, -1, -1, 87, 88, 89, -1, 91, -1,
3023 -1, 94, 95, -1, -1, 98, -1, -1, -1, -1,
3024 -1, -1, -1, -1, -1, -1, -1, -1, -1, 112,
3025 -1, -1, -1, 1, -1, 3, 4, 5, 6, 7,
3026 8, 9, 10, 11, 12, 13, 14, -1, -1, -1,
3027 -1, -1, -1, -1, -1, -1, -1, 989, 990, -1,
3028 992, 29, 30, 31, 32, 33, -1, 35, 36, 37,
3029 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3030 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3031 58, -1, -1, -1, 62, -1, -1, -1, -1, -1,
3032 68, -1, -1, 71, -1, -1, -1, -1, 1040, -1,
3033 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3034 88, 89, -1, -1, -1, -1, 94, -1, -1, -1,
3035 98, -1, -1, -1, -1, -1, 1068, -1, -1, -1,
3036 -1, -1, 110, 1, 112, 3, 4, 5, 6, 7,
3037 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3038 -1, -1, -1, -1, -1, -1, 1098, -1, -1, -1,
3039 -1, 29, 30, 31, 32, 33, -1, 35, 36, 37,
3040 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3041 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3042 58, 59, -1, 61, 62, -1, -1, -1, -1, -1,
3043 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3044 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3045 88, 89, -1, -1, -1, 1, 94, 3, 4, 5,
3046 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3047 -1, -1, -1, -1, 112, -1, -1, -1, -1, -1,
3048 -1, -1, -1, 29, 30, 31, 1198, 33, 1200, 35,
3049 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3050 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3051 -1, 57, 58, 59, -1, -1, 62, -1, -1, -1,
3052 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3053 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3054 -1, 87, 88, 89, -1, -1, -1, -1, 94, 95,
3055 1, -1, 3, 4, 5, 6, -1, 8, 9, 10,
3056 11, -1, 13, 14, -1, 111, 112, -1, -1, -1,
3057 21, -1, -1, -1, -1, -1, -1, -1, 29, 30,
3058 31, -1, 33, -1, 35, 36, 37, -1, 39, 40,
3059 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
3060 51, 52, 53, 54, 55, -1, 57, 58, 59, -1,
3061 -1, 62, -1, -1, -1, -1, -1, 68, -1, -1,
3062 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3063 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
3064 -1, -1, 1, 94, 3, 4, 5, 6, -1, 8,
3065 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3066 111, 112, 21, -1, -1, -1, -1, -1, -1, -1,
3067 29, 30, 31, -1, 33, -1, 35, 36, 37, -1,
3068 39, 40, 41, 42, 43, 44, -1, 46, -1, -1,
3069 -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
3070 59, -1, -1, 62, -1, -1, -1, -1, -1, 68,
3071 -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
3072 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
3073 89, -1, -1, -1, 1, 94, 3, 4, 5, 6,
3074 -1, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3075 -1, -1, 111, 112, -1, -1, -1, -1, -1, -1,
3076 -1, -1, 29, 30, 31, -1, 33, -1, 35, 36,
3077 37, -1, 39, 40, 41, 42, 43, 44, -1, 46,
3078 -1, -1, -1, 50, 51, 52, 53, 54, 55, -1,
3079 57, 58, 59, -1, -1, 62, -1, -1, -1, -1,
3080 -1, 68, -1, -1, 71, -1, -1, -1, -1, -1,
3081 -1, -1, 79, 80, 81, -1, -1, -1, -1, -1,
3082 87, 88, 89, -1, -1, -1, -1, 94, 95, 1,
3083 -1, 3, 4, 5, 6, -1, 8, 9, 10, 11,
3084 -1, 13, 14, -1, -1, 112, -1, -1, -1, -1,
3085 -1, -1, -1, -1, -1, -1, -1, 29, 30, 31,
3086 -1, 33, -1, 35, 36, 37, -1, 39, 40, 41,
3087 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3088 52, 53, 54, 55, -1, 57, 58, 59, -1, -1,
3089 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3090 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3091 -1, -1, -1, -1, -1, 87, 88, 89, -1, -1,
3092 -1, -1, 94, -1, -1, 1, -1, 3, 4, 5,
3093 6, 103, 8, 9, 10, 11, -1, 13, 14, -1,
3094 112, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3095 -1, -1, -1, 29, 30, 31, -1, 33, -1, 35,
3096 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3097 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3098 -1, 57, 58, 59, -1, -1, 62, -1, -1, -1,
3099 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3100 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3101 -1, 87, 88, 89, -1, -1, -1, 1, 94, 3,
3102 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3103 14, -1, -1, -1, -1, -1, 112, -1, -1, -1,
3104 -1, -1, -1, -1, -1, 29, 30, 31, -1, 33,
3105 -1, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3106 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
3107 54, 55, -1, 57, 58, 59, -1, -1, 62, -1,
3108 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3109 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3110 -1, -1, -1, 87, 88, 89, -1, -1, -1, 1,
3111 94, 3, 4, 5, 6, -1, 8, 9, 10, 11,
3112 -1, 13, 14, -1, -1, -1, -1, -1, 112, -1,
3113 -1, -1, -1, -1, -1, -1, -1, 29, 30, 31,
3114 -1, 33, -1, 35, 36, 37, -1, 39, 40, 41,
3115 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3116 52, 53, 54, 55, -1, 57, 58, -1, -1, -1,
3117 62, 63, -1, -1, -1, -1, 68, -1, -1, 71,
3118 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3119 -1, -1, -1, -1, -1, 87, 88, 89, -1, -1,
3120 -1, 1, 94, 3, 4, 5, 6, -1, 8, 9,
3121 10, 11, -1, 13, 14, -1, -1, -1, -1, -1,
3122 112, -1, -1, -1, -1, -1, -1, -1, -1, 29,
3123 30, 31, -1, 33, -1, 35, 36, 37, -1, 39,
3124 40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
3125 50, 51, 52, 53, 54, 55, -1, 57, 58, 59,
3126 -1, -1, 62, -1, -1, -1, -1, -1, 68, -1,
3127 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3128 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3129 -1, -1, -1, 1, 94, 3, 4, 5, 6, -1,
3130 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3131 -1, -1, 112, -1, -1, -1, -1, -1, -1, -1,
3132 -1, 29, 30, 31, -1, 33, -1, 35, 36, 37,
3133 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3134 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3135 58, -1, -1, 61, 62, -1, -1, -1, -1, -1,
3136 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3137 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3138 88, 89, -1, -1, -1, 1, 94, 3, 4, 5,
3139 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3140 -1, -1, -1, -1, 112, -1, -1, -1, -1, -1,
3141 -1, -1, -1, 29, 30, 31, -1, 33, -1, 35,
3142 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3143 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3144 -1, 57, 58, -1, -1, -1, 62, -1, -1, -1,
3145 -1, -1, 68, 1, -1, 71, 4, 5, -1, -1,
3146 8, 9, -1, 79, 80, 81, 14, -1, -1, -1,
3147 -1, 87, 88, 89, -1, -1, -1, -1, 94, -1,
3148 -1, 29, -1, 31, -1, -1, -1, -1, -1, 37,
3149 -1, 39, 40, -1, 110, -1, 112, -1, 46, -1,
3150 48, -1, -1, -1, -1, -1, -1, 55, -1, 57,
3151 58, -1, 60, -1, -1, -1, 64, 65, 66, 67,
3152 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
3153 78, 79, 80, 81, 82, 83, 84, -1, -1, 87,
3154 88, 89, -1, -1, 92, -1, 1, 95, 3, 4,
3155 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3156 -1, -1, -1, -1, 112, -1, -1, -1, -1, -1,
3157 -1, -1, -1, -1, 29, 30, 31, -1, 33, -1,
3158 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3159 -1, 46, -1, -1, -1, 50, 51, 52, 53, 54,
3160 55, -1, 57, 58, -1, -1, -1, 62, -1, -1,
3161 -1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
3162 -1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
3163 -1, -1, 87, 88, 89, -1, -1, -1, 1, 94,
3164 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3165 13, 14, -1, -1, -1, -1, -1, 112, -1, -1,
3166 -1, -1, -1, -1, -1, -1, 29, 30, 31, -1,
3167 33, -1, 35, 36, 37, -1, 39, 40, 41, 42,
3168 43, 44, -1, 46, -1, -1, -1, 50, 51, 52,
3169 53, 54, 55, -1, 57, 58, -1, -1, -1, 62,
3170 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3171 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3172 -1, -1, -1, -1, 87, 88, 89, -1, -1, -1,
3173 1, 94, 3, 4, 5, 6, -1, 8, 9, 10,
3174 11, -1, 13, 14, -1, -1, -1, -1, -1, 112,
3175 -1, -1, -1, -1, -1, -1, -1, -1, 29, 30,
3176 31, -1, 33, -1, 35, 36, 37, -1, 39, 40,
3177 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
3178 51, 52, 53, 54, 55, -1, 57, 58, -1, -1,
3179 -1, 62, -1, -1, -1, -1, -1, 68, -1, -1,
3180 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3181 81, -1, -1, -1, -1, -1, 87, 88, 89, 3,
3182 4, 5, 6, 94, 8, 9, 10, 11, -1, 13,
3183 14, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3184 -1, 112, -1, -1, -1, 29, 30, 31, -1, 33,
3185 -1, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3186 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
3187 54, 55, -1, 57, 58, -1, -1, -1, 62, -1,
3188 -1, -1, -1, -1, 68, -1, 1, 71, 3, 4,
3189 5, 6, 7, 8, 9, 79, 80, 81, -1, 14,
3190 -1, -1, -1, 87, 88, 89, -1, -1, -1, -1,
3191 94, -1, -1, -1, 29, -1, 31, 32, 33, -1,
3192 -1, -1, 37, 38, -1, -1, -1, 42, 112, 113,
3193 -1, 46, 47, -1, 49, -1, -1, -1, -1, -1,
3194 55, -1, 57, 58, -1, -1, 61, -1, 63, -1,
3195 -1, -1, -1, -1, -1, -1, 71, -1, -1, -1,
3196 -1, -1, -1, -1, -1, -1, 81, -1, -1, -1,
3197 -1, -1, -1, -1, 89, -1, -1, -1, -1, 94,
3198 -1, -1, -1, 3, 4, 5, 6, 7, 8, 9,
3199 10, 11, -1, 13, 14, 15, 111, 17, 18, 19,
3200 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
3201 30, 31, 32, 33, -1, 35, 36, 37, -1, 39,
3202 40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
3203 50, 51, 52, 53, 54, 55, -1, 57, 58, 59,
3204 -1, 61, 62, -1, -1, -1, -1, -1, 68, -1,
3205 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3206 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3207 -1, -1, -1, -1, 94, -1, 96, -1, -1, -1,
3208 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3209 -1, 111, 112, 3, 4, 5, 6, 7, 8, 9,
3210 10, 11, -1, 13, 14, 15, -1, 17, 18, 19,
3211 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
3212 30, 31, 32, 33, -1, 35, 36, 37, -1, 39,
3213 40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
3214 50, 51, 52, 53, 54, 55, -1, 57, 58, 59,
3215 -1, 61, 62, -1, -1, -1, -1, -1, 68, -1,
3216 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3217 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3218 -1, -1, -1, -1, 94, -1, 96, -1, -1, 3,
3219 4, 5, 6, 7, 8, 9, 10, 11, -1, 13,
3220 14, 15, 112, 17, 18, 19, 20, 21, 22, 23,
3221 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
3222 -1, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3223 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
3224 54, 55, -1, 57, 58, 59, -1, 61, 62, -1,
3225 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3226 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3227 -1, -1, -1, 87, 88, 89, -1, -1, -1, -1,
3228 94, -1, 96, -1, -1, 3, 4, 5, 6, 7,
3229 8, 9, 10, 11, -1, 13, 14, 15, 112, 17,
3230 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
3231 28, 29, 30, 31, 32, 33, -1, 35, 36, 37,
3232 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3233 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3234 58, -1, -1, 61, 62, -1, -1, -1, -1, -1,
3235 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3236 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3237 88, 89, -1, -1, -1, -1, 94, -1, 96, 3,
3238 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
3239 14, -1, -1, -1, 112, -1, -1, -1, -1, -1,
3240 -1, -1, -1, -1, -1, 29, 30, 31, 32, 33,
3241 -1, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3242 44, -1, 46, -1, 48, -1, 50, 51, 52, 53,
3243 54, 55, -1, 57, 58, -1, -1, -1, 62, -1,
3244 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3245 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3246 -1, -1, -1, 87, 88, 89, -1, 91, -1, -1,
3247 94, 95, -1, -1, 98, 3, 4, 5, 6, 7,
3248 8, 9, 10, 11, 12, 13, 14, -1, 112, -1,
3249 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3250 -1, 29, 30, 31, 32, 33, -1, 35, 36, 37,
3251 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3252 48, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3253 58, -1, -1, -1, 62, -1, -1, -1, -1, -1,
3254 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3255 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3256 88, 89, -1, 91, -1, -1, 94, 95, -1, -1,
3257 98, 3, 4, 5, 6, -1, 8, 9, 10, 11,
3258 -1, 13, 14, -1, 112, -1, -1, -1, -1, -1,
3259 -1, -1, -1, -1, -1, -1, -1, 29, 30, 31,
3260 -1, 33, -1, 35, 36, 37, -1, 39, 40, 41,
3261 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3262 52, 53, 54, 55, -1, 57, 58, -1, -1, -1,
3263 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3264 -1, -1, -1, -1, 76, -1, 78, 79, 80, 81,
3265 -1, -1, -1, -1, -1, 87, 88, 89, 3, 4,
3266 5, 6, 94, 8, 9, 10, 11, -1, 13, 14,
3267 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3268 112, -1, -1, -1, 29, 30, 31, -1, 33, -1,
3269 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3270 -1, 46, -1, 48, -1, 50, 51, 52, 53, 54,
3271 55, -1, 57, 58, -1, -1, -1, -1, -1, -1,
3272 -1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
3273 -1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
3274 -1, -1, 87, 88, 89, -1, 91, -1, -1, 94,
3275 95, 3, 4, 5, 6, -1, 8, 9, 10, 11,
3276 -1, 13, 14, -1, -1, -1, -1, 112, -1, -1,
3277 -1, -1, -1, -1, -1, -1, -1, 29, 30, 31,
3278 -1, 33, -1, 35, 36, 37, -1, 39, 40, 41,
3279 42, 43, 44, -1, 46, -1, 48, -1, 50, 51,
3280 52, 53, 54, 55, -1, 57, 58, -1, -1, -1,
3281 -1, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3282 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3283 -1, -1, -1, -1, -1, 87, 88, 89, -1, 91,
3284 -1, -1, 94, 95, 3, 4, 5, 6, -1, 8,
3285 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3286 112, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3287 29, 30, 31, -1, 33, -1, 35, 36, 37, -1,
3288 39, 40, 41, 42, 43, 44, -1, 46, -1, -1,
3289 -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
3290 -1, -1, 61, 62, -1, -1, -1, -1, -1, 68,
3291 -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
3292 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
3293 89, -1, -1, -1, -1, 94, 3, 4, 5, 6,
3294 7, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3295 -1, -1, -1, 112, -1, -1, -1, -1, -1, -1,
3296 -1, -1, 29, 30, 31, 32, 33, -1, 35, 36,
3297 37, -1, 39, 40, 41, 42, 43, 44, -1, 46,
3298 -1, -1, -1, 50, 51, 52, 53, 54, 55, -1,
3299 57, 58, -1, -1, -1, -1, -1, -1, -1, -1,
3300 -1, 68, -1, -1, 71, -1, -1, -1, -1, -1,
3301 -1, -1, 79, 80, 81, -1, -1, -1, -1, -1,
3302 87, 88, 89, 3, 4, 5, 6, 94, 8, 9,
3303 10, 11, -1, 13, 14, -1, -1, -1, -1, -1,
3304 -1, -1, -1, -1, -1, 112, -1, -1, -1, 29,
3305 30, 31, -1, 33, -1, 35, 36, 37, -1, 39,
3306 40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
3307 50, 51, 52, 53, 54, 55, -1, 57, 58, -1,
3308 -1, -1, 62, -1, -1, -1, -1, -1, 68, -1,
3309 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3310 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3311 3, 4, 5, 6, 94, 8, 9, 10, 11, -1,
3312 13, 14, -1, -1, -1, -1, -1, -1, -1, -1,
3313 -1, -1, 112, -1, -1, -1, 29, 30, 31, -1,
3314 33, -1, 35, 36, 37, -1, 39, 40, 41, 42,
3315 43, 44, -1, 46, -1, -1, -1, 50, 51, 52,
3316 53, 54, 55, -1, 57, 58, -1, -1, -1, 62,
3317 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3318 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3319 -1, -1, -1, -1, 87, 88, 89, 3, 4, 5,
3320 6, 94, 8, 9, 10, 11, -1, 13, 14, -1,
3321 -1, -1, -1, -1, -1, -1, -1, -1, -1, 112,
3322 -1, -1, -1, 29, 30, 31, -1, 33, -1, 35,
3323 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3324 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3325 -1, 57, 58, 59, -1, -1, -1, -1, -1, -1,
3326 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3327 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3328 -1, 87, 88, 89, 3, 4, 5, 6, 94, 8,
3329 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3330 -1, -1, -1, -1, -1, -1, 112, -1, -1, -1,
3331 29, 30, 31, -1, 33, -1, 35, 36, 37, -1,
3332 39, 40, 41, 42, 43, 44, -1, 46, -1, -1,
3333 -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
3334 -1, -1, -1, -1, -1, -1, -1, -1, -1, 68,
3335 -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
3336 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
3337 89, -1, -1, -1, -1, 94, 95, 3, 4, 5,
3338 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3339 -1, -1, -1, 112, -1, -1, -1, -1, -1, -1,
3340 -1, -1, -1, 29, 30, 31, -1, 33, -1, 35,
3341 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3342 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3343 -1, 57, 58, -1, -1, -1, 62, -1, -1, -1,
3344 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3345 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3346 -1, 87, 88, 89, 3, 4, 5, 6, 94, 8,
3347 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3348 -1, -1, -1, -1, -1, -1, 112, -1, -1, -1,
3349 29, 30, 31, -1, 33, -1, 35, 36, 37, -1,
3350 39, 40, 41, 42, 43, 44, -1, 46, -1, -1,
3351 -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
3352 -1, -1, -1, 62, -1, -1, -1, -1, -1, 68,
3353 -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
3354 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
3355 89, 3, 4, 5, 6, 94, 8, 9, 10, 11,
3356 -1, 13, 14, -1, -1, -1, -1, -1, -1, -1,
3357 -1, -1, -1, 112, -1, -1, -1, 29, 30, 31,
3358 -1, 33, -1, 35, 36, 37, -1, 39, 40, 41,
3359 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3360 52, 53, 54, 55, -1, 57, 58, -1, -1, -1,
3361 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3362 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3363 -1, -1, -1, -1, -1, 87, 88, 89, 3, 4,
3364 5, 6, 94, 8, 9, 10, 11, -1, 13, 14,
3365 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3366 112, -1, -1, -1, 29, 30, 31, -1, 33, -1,
3367 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3368 -1, 46, -1, -1, -1, 50, 51, 52, 53, 54,
3369 55, -1, 57, 58, -1, -1, -1, -1, -1, -1,
3370 -1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
3371 -1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
3372 -1, -1, 87, 88, 89, 3, 4, 5, 6, 94,
3373 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3374 -1, -1, -1, -1, -1, -1, -1, 112, -1, -1,
3375 -1, 29, 30, 31, -1, 33, -1, 35, 36, 37,
3376 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3377 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3378 58, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3379 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3380 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3381 88, 89, 3, 4, 5, 6, 94, 8, 9, 10,
3382 11, -1, 13, 14, -1, -1, -1, -1, -1, -1,
3383 -1, -1, -1, -1, 112, -1, -1, -1, 29, 30,
3384 31, -1, 33, -1, 35, 36, 37, -1, 39, 40,
3385 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
3386 51, 52, 53, 54, 55, -1, 57, 58, -1, -1,
3387 -1, -1, -1, -1, -1, -1, -1, 68, -1, -1,
3388 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3389 81, -1, -1, -1, -1, -1, 87, 88, 89, 3,
3390 4, 5, 6, 94, 8, 9, 10, 11, -1, 13,
3391 14, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3392 -1, 112, -1, -1, -1, 29, 30, 31, -1, 33,
3393 -1, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3394 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
3395 54, 55, -1, 57, 58, -1, -1, -1, -1, -1,
3396 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3397 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3398 -1, -1, -1, 87, 88, 89, 3, 4, 5, 6,
3399 94, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3400 -1, -1, -1, -1, -1, -1, -1, -1, 112, -1,
3401 -1, -1, 29, 30, 31, -1, 33, -1, 35, 36,
3402 37, -1, 39, 40, 41, 42, 43, 44, -1, 46,
3403 -1, -1, -1, 50, 51, 52, 53, 54, 55, -1,
3404 57, 58, -1, -1, -1, -1, -1, -1, -1, -1,
3405 -1, 68, -1, 1, 71, 3, 4, 5, 6, 7,
3406 8, 9, 79, 80, 81, -1, 14, -1, -1, -1,
3407 87, 88, 89, -1, -1, -1, -1, 94, -1, 27,
3408 28, 29, -1, 31, 32, 33, -1, -1, -1, 37,
3409 -1, -1, -1, -1, 42, 112, -1, 45, 46, 47,
3410 -1, 49, -1, -1, -1, -1, -1, 55, -1, 57,
3411 58, -1, 1, 61, 3, 4, 5, 6, 7, 8,
3412 9, -1, -1, 71, -1, 14, -1, -1, -1, -1,
3413 -1, -1, -1, 81, -1, -1, -1, -1, 27, 28,
3414 29, 89, 31, 32, 33, -1, 94, -1, 37, -1,
3415 -1, -1, 100, 42, -1, -1, 45, 46, 47, -1,
3416 49, -1, -1, -1, -1, -1, 55, -1, 57, 58,
3417 -1, -1, 61, 3, 4, 5, 6, 7, 8, 9,
3418 -1, -1, 71, -1, 14, -1, -1, -1, -1, -1,
3419 -1, -1, 81, -1, -1, -1, -1, -1, -1, -1,
3420 89, -1, 32, -1, -1, 94, -1, 37, -1, -1,
3421 -1, 100, 42, -1, -1, -1, 46, -1, 48, -1,
3422 -1, -1, -1, -1, -1, 55, -1, 57, 58, 3,
3423 4, 5, 6, 7, 8, 9, -1, -1, -1, -1,
3424 14, 71, -1, -1, -1, -1, -1, -1, -1, -1,
3425 -1, 81, -1, -1, -1, -1, -1, -1, 32, 89,
3426 -1, 91, -1, 37, 94, 95, -1, -1, 42, -1,
3427 -1, -1, 46, -1, 48, -1, -1, -1, -1, -1,
3428 -1, 55, -1, 57, 58, 3, 4, 5, 6, 7,
3429 8, 9, -1, -1, -1, -1, 14, 71, -1, -1,
3430 -1, -1, -1, -1, -1, -1, -1, 81, -1, -1,
3431 -1, 29, -1, 31, 32, 89, -1, 91, -1, 37,
3432 94, 95, -1, -1, 42, -1, -1, -1, 46, -1,
3433 -1, -1, -1, -1, -1, -1, -1, 55, -1, 57,
3434 58, 3, 4, 5, 6, 7, 8, 9, -1, -1,
3435 12, -1, 14, 71, -1, -1, -1, 75, -1, -1,
3436 -1, -1, -1, 81, -1, -1, -1, 29, -1, 31,
3437 32, 89, -1, -1, -1, 37, 94, -1, -1, -1,
3438 42, -1, -1, -1, 46, -1, 3, 4, 5, 6,
3439 7, 8, 9, 55, -1, 57, 58, 14, -1, -1,
3440 -1, -1, -1, -1, -1, -1, -1, -1, -1, 71,
3441 -1, -1, 29, -1, 31, 32, -1, -1, -1, 81,
3442 37, -1, -1, -1, -1, 42, -1, 89, -1, 46,
3443 -1, -1, 94, -1, -1, -1, -1, -1, 55, -1,
3444 57, 58, -1, -1, -1, -1, 63, 3, 4, 5,
3445 6, 7, 8, 9, 71, -1, -1, -1, 14, -1,
3446 -1, -1, -1, -1, 81, -1, -1, -1, -1, -1,
3447 -1, -1, 89, 29, -1, 31, 32, 94, -1, -1,
3448 -1, 37, -1, -1, -1, -1, 42, -1, -1, -1,
3449 46, -1, 3, 4, 5, 6, 7, 8, 9, 55,
3450 -1, 57, 58, 14, -1, 61, -1, -1, -1, -1,
3451 -1, -1, -1, -1, -1, 71, -1, -1, 29, -1,
3452 31, 32, -1, -1, -1, 81, 37, -1, -1, -1,
3453 -1, 42, -1, 89, -1, 46, -1, -1, 94, -1,
3454 -1, -1, -1, -1, 55, -1, 57, 58, 3, 4,
3455 5, 6, 7, 8, 9, -1, -1, -1, -1, 14,
3456 71, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3457 81, -1, -1, -1, 29, -1, 31, 32, 89, -1,
3458 -1, -1, 37, 94, -1, -1, -1, 42, -1, -1,
3459 -1, 46, -1, 3, 4, 5, 6, 7, 8, 9,
3460 55, -1, 57, 58, 14, -1, -1, -1, -1, -1,
3461 -1, -1, -1, -1, -1, -1, 71, -1, -1, -1,
3462 -1, -1, 32, -1, -1, -1, 81, 37, -1, -1,
3463 -1, -1, 42, -1, 89, 12, 46, -1, 48, 94,
3464 -1, -1, -1, -1, -1, 55, -1, 57, 58, 64,
3465 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
3466 75, 71, 77, 78, 79, 80, 81, 82, 83, 84,
3467 85, 81, -1, -1, -1, -1, -1, -1, -1, 89,
3468 -1, -1, -1, -1, 94, -1, 63, 64, 65, 66,
3469 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
3470 77, 78, 79, 80, 81, 82, 83, 84, 85, 4,
3471 5, -1, 7, 8, 9, -1, 4, 5, -1, 14,
3472 8, 9, -1, 4, 5, -1, 14, 8, 9, -1,
3473 -1, -1, -1, 14, 29, -1, 31, 32, -1, -1,
3474 -1, 29, 37, 31, -1, -1, 32, -1, 29, 37,
3475 31, 46, -1, -1, -1, -1, 37, -1, 46, -1,
3476 55, -1, 57, 58, -1, 46, -1, 55, -1, 57,
3477 58, -1, -1, -1, 55, -1, 57, 58, 64, 65,
3478 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
3479 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
3480 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
3481 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
3482 84, 85, 64, 65, 66, 67, 68, 69, 70, 71,
3483 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
3484 82, 83, 84, 85, -1, -1, -1, -1, -1, 113,
3485 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3486 -1, -1, -1, -1, 60, -1, -1, 109, 64, 65,
3487 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
3488 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
3489 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
3490 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
3491 83, 84, 85, 63, 64, 65, 66, 67, 68, 69,
3492 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
3493 80, 81, 82, 83, 84, 85, 64, 65, 66, 67,
3494 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
3495 78, 79, 80, 81, 82, 83, 84, 85
3497 /* -*-C-*- Note some compilers choke on comments on `#line' lines. */
3498 #line 3 "/usr/share/bison.simple"
3500 /* Skeleton output parser for bison,
3501 Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
3503 This program is free software; you can redistribute it and/or modify
3504 it under the terms of the GNU General Public License as published by
3505 the Free Software Foundation; either version 2, or (at your option)
3506 any later version.
3508 This program is distributed in the hope that it will be useful,
3509 but WITHOUT ANY WARRANTY; without even the implied warranty of
3510 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3511 GNU General Public License for more details.
3513 You should have received a copy of the GNU General Public License
3514 along with this program; if not, write to the Free Software
3515 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
3517 /* As a special exception, when this file is copied by Bison into a
3518 Bison output file, you may use that output file without restriction.
3519 This special exception was added by the Free Software Foundation
3520 in version 1.24 of Bison. */
3522 #ifndef alloca
3523 #ifdef __GNUC__
3524 #define alloca __builtin_alloca
3525 #else /* not GNU C. */
3526 #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi)
3527 #include <alloca.h>
3528 #else /* not sparc */
3529 #if defined (MSDOS) && !defined (__TURBOC__)
3530 #include <malloc.h>
3531 #else /* not MSDOS, or __TURBOC__ */
3532 #if defined(_AIX)
3533 #include <malloc.h>
3534 #pragma alloca
3535 #else /* not MSDOS, __TURBOC__, or _AIX */
3536 #ifdef __hpux
3537 #ifdef __cplusplus
3538 extern "C" {
3539 void *alloca (unsigned int);
3541 #else /* not __cplusplus */
3542 void *alloca ();
3543 #endif /* not __cplusplus */
3544 #endif /* __hpux */
3545 #endif /* not _AIX */
3546 #endif /* not MSDOS, or __TURBOC__ */
3547 #endif /* not sparc. */
3548 #endif /* not GNU C. */
3549 #endif /* alloca not defined. */
3551 /* This is the parser code that is written into each bison parser
3552 when the %semantic_parser declaration is not specified in the grammar.
3553 It was written by Richard Stallman by simplifying the hairy parser
3554 used when %semantic_parser is specified. */
3556 /* Note: there must be only one dollar sign in this file.
3557 It is replaced by the list of actions, each action
3558 as one case of the switch. */
3560 #define yyerrok (yyerrstatus = 0)
3561 #define yyclearin (yychar = YYEMPTY)
3562 #define YYEMPTY -2
3563 #define YYEOF 0
3564 #define YYACCEPT return(0)
3565 #define YYABORT return(1)
3566 #define YYERROR goto yyerrlab1
3567 /* Like YYERROR except do call yyerror.
3568 This remains here temporarily to ease the
3569 transition to the new meaning of YYERROR, for GCC.
3570 Once GCC version 2 has supplanted version 1, this can go. */
3571 #define YYFAIL goto yyerrlab
3572 #define YYRECOVERING() (!!yyerrstatus)
3573 #define YYBACKUP(token, value) \
3574 do \
3575 if (yychar == YYEMPTY && yylen == 1) \
3576 { yychar = (token), yylval = (value); \
3577 yychar1 = YYTRANSLATE (yychar); \
3578 YYPOPSTACK; \
3579 goto yybackup; \
3581 else \
3582 { yyerror ("syntax error: cannot back up"); YYERROR; } \
3583 while (0)
3585 #define YYTERROR 1
3586 #define YYERRCODE 256
3588 #ifndef YYPURE
3589 #define YYLEX yylex()
3590 #endif
3592 #ifdef YYPURE
3593 #ifdef YYLSP_NEEDED
3594 #ifdef YYLEX_PARAM
3595 #define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM)
3596 #else
3597 #define YYLEX yylex(&yylval, &yylloc)
3598 #endif
3599 #else /* not YYLSP_NEEDED */
3600 #ifdef YYLEX_PARAM
3601 #define YYLEX yylex(&yylval, YYLEX_PARAM)
3602 #else
3603 #define YYLEX yylex(&yylval)
3604 #endif
3605 #endif /* not YYLSP_NEEDED */
3606 #endif
3608 /* If nonreentrant, generate the variables here */
3610 #ifndef YYPURE
3612 int yychar; /* the lookahead symbol */
3613 YYSTYPE yylval; /* the semantic value of the */
3614 /* lookahead symbol */
3616 #ifdef YYLSP_NEEDED
3617 YYLTYPE yylloc; /* location data for the lookahead */
3618 /* symbol */
3619 #endif
3621 int yynerrs; /* number of parse errors so far */
3622 #endif /* not YYPURE */
3624 #if YYDEBUG != 0
3625 int yydebug; /* nonzero means print parse trace */
3626 /* Since this is uninitialized, it does not stop multiple parsers
3627 from coexisting. */
3628 #endif
3630 /* YYINITDEPTH indicates the initial size of the parser's stacks */
3632 #ifndef YYINITDEPTH
3633 #define YYINITDEPTH 200
3634 #endif
3636 /* YYMAXDEPTH is the maximum size the stacks can grow to
3637 (effective only if the built-in stack extension method is used). */
3639 #if YYMAXDEPTH == 0
3640 #undef YYMAXDEPTH
3641 #endif
3643 #ifndef YYMAXDEPTH
3644 #define YYMAXDEPTH 10000
3645 #endif
3647 /* Prevent warning if -Wstrict-prototypes. */
3648 #ifdef __GNUC__
3649 int yyparse (void);
3650 #endif
3652 #if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
3653 #define __yy_memcpy(FROM,TO,COUNT) __builtin_memcpy(TO,FROM,COUNT)
3654 #else /* not GNU C or C++ */
3655 #ifndef __cplusplus
3657 /* This is the most reliable way to avoid incompatibilities
3658 in available built-in functions on various systems. */
3659 static void
3660 __yy_memcpy (from, to, count)
3661 char *from;
3662 char *to;
3663 int count;
3665 register char *f = from;
3666 register char *t = to;
3667 register int i = count;
3669 while (i-- > 0)
3670 *t++ = *f++;
3673 #else /* __cplusplus */
3675 /* This is the most reliable way to avoid incompatibilities
3676 in available built-in functions on various systems. */
3677 static void
3678 __yy_memcpy (char *from, char *to, int count)
3680 register char *f = from;
3681 register char *t = to;
3682 register int i = count;
3684 while (i-- > 0)
3685 *t++ = *f++;
3688 #endif
3689 #endif
3691 #line 192 "/usr/share/bison.simple"
3693 /* The user can define YYPARSE_PARAM as the name of an argument to be passed
3694 into yyparse. The argument should have type void *.
3695 It should actually point to an object.
3696 Grammar actions can access the variable by casting it
3697 to the proper pointer type. */
3699 #ifdef YYPARSE_PARAM
3700 #define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
3701 #else
3702 #define YYPARSE_PARAM
3703 #define YYPARSE_PARAM_DECL
3704 #endif
3707 yyparse(YYPARSE_PARAM)
3708 YYPARSE_PARAM_DECL
3710 register int yystate;
3711 register int yyn;
3712 register short *yyssp;
3713 register YYSTYPE *yyvsp;
3714 int yyerrstatus; /* number of tokens to shift before error messages enabled */
3715 int yychar1 = 0; /* lookahead token as an internal (translated) token number */
3717 short yyssa[YYINITDEPTH]; /* the state stack */
3718 YYSTYPE yyvsa[YYINITDEPTH]; /* the semantic value stack */
3720 short *yyss = yyssa; /* refer to the stacks thru separate pointers */
3721 YYSTYPE *yyvs = yyvsa; /* to allow yyoverflow to reallocate them elsewhere */
3723 #ifdef YYLSP_NEEDED
3724 YYLTYPE yylsa[YYINITDEPTH]; /* the location stack */
3725 YYLTYPE *yyls = yylsa;
3726 YYLTYPE *yylsp;
3728 #define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
3729 #else
3730 #define YYPOPSTACK (yyvsp--, yyssp--)
3731 #endif
3733 int yystacksize = YYINITDEPTH;
3735 #ifdef YYPURE
3736 int yychar;
3737 YYSTYPE yylval;
3738 int yynerrs;
3739 #ifdef YYLSP_NEEDED
3740 YYLTYPE yylloc;
3741 #endif
3742 #endif
3744 YYSTYPE yyval; /* the variable used to return */
3745 /* semantic values from the action */
3746 /* routines */
3748 int yylen;
3750 #if YYDEBUG != 0
3751 if (yydebug)
3752 fprintf(stderr, "Starting parse\n");
3753 #endif
3755 yystate = 0;
3756 yyerrstatus = 0;
3757 yynerrs = 0;
3758 yychar = YYEMPTY; /* Cause a token to be read. */
3760 /* Initialize stack pointers.
3761 Waste one element of value and location stack
3762 so that they stay on the same level as the state stack.
3763 The wasted elements are never initialized. */
3765 yyssp = yyss - 1;
3766 yyvsp = yyvs;
3767 #ifdef YYLSP_NEEDED
3768 yylsp = yyls;
3769 #endif
3771 /* Push a new state, which is found in yystate . */
3772 /* In all cases, when you get here, the value and location stacks
3773 have just been pushed. so pushing a state here evens the stacks. */
3774 yynewstate:
3776 *++yyssp = yystate;
3778 if (yyssp >= yyss + yystacksize - 1)
3780 /* Give user a chance to reallocate the stack */
3781 /* Use copies of these so that the &'s don't force the real ones into memory. */
3782 YYSTYPE *yyvs1 = yyvs;
3783 short *yyss1 = yyss;
3784 #ifdef YYLSP_NEEDED
3785 YYLTYPE *yyls1 = yyls;
3786 #endif
3788 /* Get the current used size of the three stacks, in elements. */
3789 int size = yyssp - yyss + 1;
3791 #ifdef yyoverflow
3792 /* Each stack pointer address is followed by the size of
3793 the data in use in that stack, in bytes. */
3794 #ifdef YYLSP_NEEDED
3795 /* This used to be a conditional around just the two extra args,
3796 but that might be undefined if yyoverflow is a macro. */
3797 yyoverflow("parser stack overflow",
3798 &yyss1, size * sizeof (*yyssp),
3799 &yyvs1, size * sizeof (*yyvsp),
3800 &yyls1, size * sizeof (*yylsp),
3801 &yystacksize);
3802 #else
3803 yyoverflow("parser stack overflow",
3804 &yyss1, size * sizeof (*yyssp),
3805 &yyvs1, size * sizeof (*yyvsp),
3806 &yystacksize);
3807 #endif
3809 yyss = yyss1; yyvs = yyvs1;
3810 #ifdef YYLSP_NEEDED
3811 yyls = yyls1;
3812 #endif
3813 #else /* no yyoverflow */
3814 /* Extend the stack our own way. */
3815 if (yystacksize >= YYMAXDEPTH)
3817 yyerror("parser stack overflow");
3818 return 2;
3820 yystacksize *= 2;
3821 if (yystacksize > YYMAXDEPTH)
3822 yystacksize = YYMAXDEPTH;
3823 yyss = (short *) alloca (yystacksize * sizeof (*yyssp));
3824 __yy_memcpy ((char *)yyss1, (char *)yyss, size * sizeof (*yyssp));
3825 yyvs = (YYSTYPE *) alloca (yystacksize * sizeof (*yyvsp));
3826 __yy_memcpy ((char *)yyvs1, (char *)yyvs, size * sizeof (*yyvsp));
3827 #ifdef YYLSP_NEEDED
3828 yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp));
3829 __yy_memcpy ((char *)yyls1, (char *)yyls, size * sizeof (*yylsp));
3830 #endif
3831 #endif /* no yyoverflow */
3833 yyssp = yyss + size - 1;
3834 yyvsp = yyvs + size - 1;
3835 #ifdef YYLSP_NEEDED
3836 yylsp = yyls + size - 1;
3837 #endif
3839 #if YYDEBUG != 0
3840 if (yydebug)
3841 fprintf(stderr, "Stack size increased to %d\n", yystacksize);
3842 #endif
3844 if (yyssp >= yyss + yystacksize - 1)
3845 YYABORT;
3848 #if YYDEBUG != 0
3849 if (yydebug)
3850 fprintf(stderr, "Entering state %d\n", yystate);
3851 #endif
3853 goto yybackup;
3854 yybackup:
3856 /* Do appropriate processing given the current state. */
3857 /* Read a lookahead token if we need one and don't already have one. */
3858 /* yyresume: */
3860 /* First try to decide what to do without reference to lookahead token. */
3862 yyn = yypact[yystate];
3863 if (yyn == YYFLAG)
3864 goto yydefault;
3866 /* Not known => get a lookahead token if don't already have one. */
3868 /* yychar is either YYEMPTY or YYEOF
3869 or a valid token in external form. */
3871 if (yychar == YYEMPTY)
3873 #if YYDEBUG != 0
3874 if (yydebug)
3875 fprintf(stderr, "Reading a token: ");
3876 #endif
3877 yychar = YYLEX;
3880 /* Convert token to internal form (in yychar1) for indexing tables with */
3882 if (yychar <= 0) /* This means end of input. */
3884 yychar1 = 0;
3885 yychar = YYEOF; /* Don't call YYLEX any more */
3887 #if YYDEBUG != 0
3888 if (yydebug)
3889 fprintf(stderr, "Now at end of input.\n");
3890 #endif
3892 else
3894 yychar1 = YYTRANSLATE(yychar);
3896 #if YYDEBUG != 0
3897 if (yydebug)
3899 fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
3900 /* Give the individual parser a way to print the precise meaning
3901 of a token, for further debugging info. */
3902 #ifdef YYPRINT
3903 YYPRINT (stderr, yychar, yylval);
3904 #endif
3905 fprintf (stderr, ")\n");
3907 #endif
3910 yyn += yychar1;
3911 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
3912 goto yydefault;
3914 yyn = yytable[yyn];
3916 /* yyn is what to do for this token type in this state.
3917 Negative => reduce, -yyn is rule number.
3918 Positive => shift, yyn is new state.
3919 New state is final state => don't bother to shift,
3920 just return success.
3921 0, or most negative number => error. */
3923 if (yyn < 0)
3925 if (yyn == YYFLAG)
3926 goto yyerrlab;
3927 yyn = -yyn;
3928 goto yyreduce;
3930 else if (yyn == 0)
3931 goto yyerrlab;
3933 if (yyn == YYFINAL)
3934 YYACCEPT;
3936 /* Shift the lookahead token. */
3938 #if YYDEBUG != 0
3939 if (yydebug)
3940 fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
3941 #endif
3943 /* Discard the token being shifted unless it is eof. */
3944 if (yychar != YYEOF)
3945 yychar = YYEMPTY;
3947 *++yyvsp = yylval;
3948 #ifdef YYLSP_NEEDED
3949 *++yylsp = yylloc;
3950 #endif
3952 /* count tokens shifted since error; after three, turn off error status. */
3953 if (yyerrstatus) yyerrstatus--;
3955 yystate = yyn;
3956 goto yynewstate;
3958 /* Do the default action for the current state. */
3959 yydefault:
3961 yyn = yydefact[yystate];
3962 if (yyn == 0)
3963 goto yyerrlab;
3965 /* Do a reduction. yyn is the number of a rule to reduce with. */
3966 yyreduce:
3967 yylen = yyr2[yyn];
3968 if (yylen > 0)
3969 yyval = yyvsp[1-yylen]; /* implement default value of the action */
3971 #if YYDEBUG != 0
3972 if (yydebug)
3974 int i;
3976 fprintf (stderr, "Reducing via rule %d (line %d), ",
3977 yyn, yyrline[yyn]);
3979 /* Print the symbols being reduced, and their result. */
3980 for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
3981 fprintf (stderr, "%s ", yytname[yyrhs[i]]);
3982 fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
3984 #endif
3987 switch (yyn) {
3989 case 2:
3990 #line 313 "parse.y"
3992 /* In case there were missing closebraces,
3993 get us back to the global binding level. */
3994 while (! global_bindings_p ())
3995 poplevel (0, 0, 0);
3996 finish_file ();
3998 break;}
3999 case 3:
4000 #line 327 "parse.y"
4001 { yyval.ttype = NULL_TREE; ;
4002 break;}
4003 case 4:
4004 #line 329 "parse.y"
4005 { yyval.ttype = NULL_TREE; ;
4006 break;}
4007 case 5:
4008 #line 331 "parse.y"
4009 { yyval.ttype = NULL_TREE; ;
4010 break;}
4011 case 8:
4012 #line 340 "parse.y"
4013 { have_extern_spec = 1;
4014 used_extern_spec = 0;
4015 yyval.ttype = NULL_TREE; ;
4016 break;}
4017 case 9:
4018 #line 345 "parse.y"
4019 { have_extern_spec = 0; ;
4020 break;}
4021 case 10:
4022 #line 350 "parse.y"
4023 { yyval.itype = pedantic;
4024 pedantic = 0; ;
4025 break;}
4026 case 13:
4027 #line 360 "parse.y"
4028 { if (pending_lang_change) do_pending_lang_change(); ;
4029 break;}
4030 case 14:
4031 #line 362 "parse.y"
4032 { if (! toplevel_bindings_p () && ! pseudo_global_level_p())
4033 pop_everything (); ;
4034 break;}
4035 case 15:
4036 #line 368 "parse.y"
4037 { if (pending_inlines) do_pending_inlines (); ;
4038 break;}
4039 case 16:
4040 #line 370 "parse.y"
4041 { if (pending_inlines) do_pending_inlines (); ;
4042 break;}
4043 case 17:
4044 #line 372 "parse.y"
4045 { if (pending_inlines) do_pending_inlines (); ;
4046 break;}
4047 case 18:
4048 #line 374 "parse.y"
4049 { if (TREE_CHAIN (yyvsp[-2].ttype)) yyvsp[-2].ttype = combine_strings (yyvsp[-2].ttype);
4050 assemble_asm (yyvsp[-2].ttype); ;
4051 break;}
4052 case 19:
4053 #line 377 "parse.y"
4054 { pop_lang_context (); ;
4055 break;}
4056 case 20:
4057 #line 379 "parse.y"
4058 { if (pending_inlines) do_pending_inlines ();
4059 pop_lang_context (); ;
4060 break;}
4061 case 21:
4062 #line 382 "parse.y"
4063 { if (pending_inlines) do_pending_inlines ();
4064 pop_lang_context (); ;
4065 break;}
4066 case 22:
4067 #line 385 "parse.y"
4068 { push_namespace (yyvsp[-1].ttype); ;
4069 break;}
4070 case 23:
4071 #line 387 "parse.y"
4072 { pop_namespace (); ;
4073 break;}
4074 case 24:
4075 #line 389 "parse.y"
4076 { push_namespace (NULL_TREE); ;
4077 break;}
4078 case 25:
4079 #line 391 "parse.y"
4080 { pop_namespace (); ;
4081 break;}
4082 case 26:
4083 #line 393 "parse.y"
4084 { do_namespace_alias (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
4085 break;}
4086 case 27:
4087 #line 395 "parse.y"
4088 { do_toplevel_using_decl (yyvsp[-1].ttype); ;
4089 break;}
4090 case 28:
4091 #line 397 "parse.y"
4093 if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE)
4094 yyvsp[-1].ttype = lastiddecl;
4095 do_using_directive (yyvsp[-1].ttype);
4097 break;}
4098 case 29:
4099 #line 403 "parse.y"
4100 { pedantic = yyvsp[-1].itype; ;
4101 break;}
4102 case 30:
4103 #line 408 "parse.y"
4104 { yyval.ttype = yyvsp[0].ttype; ;
4105 break;}
4106 case 31:
4107 #line 410 "parse.y"
4108 { yyval.ttype = yyvsp[0].ttype; ;
4109 break;}
4110 case 32:
4111 #line 412 "parse.y"
4112 { yyval.ttype = yyvsp[0].ttype; ;
4113 break;}
4114 case 35:
4115 #line 419 "parse.y"
4116 { yyval.ttype = yyvsp[0].ttype; ;
4117 break;}
4118 case 36:
4119 #line 421 "parse.y"
4120 { yyval.ttype = yyvsp[0].ttype; ;
4121 break;}
4122 case 37:
4123 #line 426 "parse.y"
4124 { push_lang_context (yyvsp[0].ttype); ;
4125 break;}
4126 case 38:
4127 #line 428 "parse.y"
4128 { if (current_lang_name != yyvsp[0].ttype)
4129 cp_error ("use of linkage spec `%D' is different from previous spec `%D'", yyvsp[0].ttype, current_lang_name);
4130 pop_lang_context (); push_lang_context (yyvsp[0].ttype); ;
4131 break;}
4132 case 39:
4133 #line 435 "parse.y"
4134 { begin_template_parm_list (); ;
4135 break;}
4136 case 40:
4137 #line 437 "parse.y"
4138 { yyval.ttype = end_template_parm_list (yyvsp[-1].ttype); ;
4139 break;}
4140 case 41:
4141 #line 439 "parse.y"
4142 { begin_specialization();
4143 yyval.ttype = NULL_TREE; ;
4144 break;}
4145 case 42:
4146 #line 445 "parse.y"
4147 { yyval.ttype = process_template_parm (NULL_TREE, yyvsp[0].ttype); ;
4148 break;}
4149 case 43:
4150 #line 447 "parse.y"
4151 { yyval.ttype = process_template_parm (yyvsp[-2].ttype, yyvsp[0].ttype); ;
4152 break;}
4153 case 44:
4154 #line 452 "parse.y"
4156 yyval.ttype = build_tree_list (yyvsp[0].ttype, NULL_TREE);
4157 ttpa:
4158 if (TREE_PURPOSE (yyval.ttype) == signature_type_node)
4159 sorry ("signature as template type parameter");
4160 else if (TREE_PURPOSE (yyval.ttype) != class_type_node)
4162 pedwarn ("template type parameters must use the keyword `class'");
4163 TREE_PURPOSE (yyval.ttype) = class_type_node;
4166 break;}
4167 case 45:
4168 #line 464 "parse.y"
4169 { yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype); goto ttpa; ;
4170 break;}
4171 case 46:
4172 #line 466 "parse.y"
4173 { yyval.ttype = build_tree_list (class_type_node, NULL_TREE); ;
4174 break;}
4175 case 47:
4176 #line 468 "parse.y"
4177 { yyval.ttype = build_tree_list (class_type_node, yyvsp[0].ttype); ;
4178 break;}
4179 case 48:
4180 #line 480 "parse.y"
4181 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
4182 break;}
4183 case 49:
4184 #line 482 "parse.y"
4185 { yyval.ttype = build_tree_list (groktypename (yyvsp[0].ftype.t), yyvsp[-2].ttype); ;
4186 break;}
4187 case 50:
4188 #line 484 "parse.y"
4189 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ftype.t); ;
4190 break;}
4191 case 51:
4192 #line 486 "parse.y"
4193 { yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-2].ftype.t); ;
4194 break;}
4195 case 52:
4196 #line 492 "parse.y"
4198 if (yyvsp[-1].ttype)
4199 end_template_decl ();
4200 else
4201 end_specialization ();
4203 break;}
4204 case 53:
4205 #line 500 "parse.y"
4207 if (yyvsp[-1].ttype)
4208 end_template_decl ();
4209 else
4210 end_specialization ();
4212 break;}
4213 case 54:
4214 #line 510 "parse.y"
4216 break;}
4217 case 55:
4218 #line 512 "parse.y"
4220 break;}
4221 case 56:
4222 #line 514 "parse.y"
4224 note_list_got_semicolon (yyvsp[-2].ftype.t);
4226 break;}
4227 case 57:
4228 #line 518 "parse.y"
4229 { pedwarn ("empty declaration"); ;
4230 break;}
4231 case 59:
4232 #line 521 "parse.y"
4234 tree t, attrs;
4235 split_specs_attrs (yyvsp[-1].ftype.t, &t, &attrs);
4236 shadow_tag (t);
4237 note_list_got_semicolon (yyvsp[-1].ftype.t);
4239 break;}
4240 case 63:
4241 #line 534 "parse.y"
4242 { yyval.itype = 0; ;
4243 break;}
4244 case 64:
4245 #line 536 "parse.y"
4246 { yyval.itype = 1; ;
4247 break;}
4248 case 70:
4249 #line 552 "parse.y"
4250 { finish_function (lineno, (int)yyvsp[-1].itype, 0); ;
4251 break;}
4252 case 71:
4253 #line 554 "parse.y"
4255 break;}
4256 case 72:
4257 #line 556 "parse.y"
4259 break;}
4260 case 73:
4261 #line 561 "parse.y"
4263 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, yyvsp[-1].ttype);
4264 if (yyvsp[-2].ttype != current_class_type)
4266 push_nested_class (yyvsp[-2].ttype, 3);
4267 TREE_COMPLEXITY (yyval.ttype) = current_class_depth;
4270 break;}
4271 case 74:
4272 #line 570 "parse.y"
4273 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4274 break;}
4275 case 75:
4276 #line 572 "parse.y"
4278 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-4].ttype, yyvsp[-3].ttype);
4279 if (yyvsp[-4].ttype != current_class_type)
4281 push_nested_class (yyvsp[-4].ttype, 3);
4282 TREE_COMPLEXITY (yyval.ttype) = current_class_depth;
4284 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4286 break;}
4287 case 76:
4288 #line 582 "parse.y"
4290 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, yyvsp[-1].ttype);
4291 if (yyvsp[-2].ttype != current_class_type)
4293 push_nested_class (yyvsp[-2].ttype, 3);
4294 TREE_COMPLEXITY (yyval.ttype) = current_class_depth;
4297 break;}
4298 case 77:
4299 #line 591 "parse.y"
4300 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4301 break;}
4302 case 78:
4303 #line 593 "parse.y"
4305 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-4].ttype, yyvsp[-3].ttype);
4306 if (yyvsp[-4].ttype != current_class_type)
4308 push_nested_class (yyvsp[-4].ttype, 3);
4309 TREE_COMPLEXITY (yyval.ttype) = current_class_depth;
4311 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4313 break;}
4314 case 79:
4315 #line 603 "parse.y"
4317 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, yyvsp[-1].ttype);
4318 if (yyvsp[-2].ttype != current_class_type)
4320 push_nested_class (yyvsp[-2].ttype, 3);
4321 TREE_COMPLEXITY (yyval.ttype) = current_class_depth;
4324 break;}
4325 case 80:
4326 #line 612 "parse.y"
4327 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4328 break;}
4329 case 81:
4330 #line 614 "parse.y"
4332 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-4].ttype, yyvsp[-3].ttype);
4333 if (yyvsp[-4].ttype != current_class_type)
4335 push_nested_class (yyvsp[-4].ttype, 3);
4336 TREE_COMPLEXITY (yyval.ttype) = current_class_depth;
4338 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4340 break;}
4341 case 82:
4342 #line 624 "parse.y"
4344 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, yyvsp[-1].ttype);
4345 if (yyvsp[-2].ttype != current_class_type)
4347 push_nested_class (yyvsp[-2].ttype, 3);
4348 TREE_COMPLEXITY (yyval.ttype) = current_class_depth;
4351 break;}
4352 case 83:
4353 #line 633 "parse.y"
4354 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4355 break;}
4356 case 84:
4357 #line 635 "parse.y"
4359 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-4].ttype, yyvsp[-3].ttype);
4360 if (yyvsp[-4].ttype != current_class_type)
4362 push_nested_class (yyvsp[-4].ttype, 3);
4363 TREE_COMPLEXITY (yyval.ttype) = current_class_depth;
4365 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4367 break;}
4368 case 85:
4369 #line 648 "parse.y"
4370 { tree specs, attrs;
4371 split_specs_attrs (yyvsp[-1].ftype.t, &specs, &attrs);
4372 if (! start_function (specs, yyvsp[0].ttype, attrs, 0))
4373 YYERROR1;
4374 reinit_parse_for_function ();
4375 yyval.ttype = NULL_TREE; ;
4376 break;}
4377 case 86:
4378 #line 655 "parse.y"
4379 { tree specs, attrs;
4380 split_specs_attrs (yyvsp[-1].ttype, &specs, &attrs);
4381 if (! start_function (specs, yyvsp[0].ttype, attrs, 0))
4382 YYERROR1;
4383 reinit_parse_for_function ();
4384 yyval.ttype = NULL_TREE; ;
4385 break;}
4386 case 87:
4387 #line 662 "parse.y"
4388 { if (! start_function (NULL_TREE, yyval.ttype, NULL_TREE, 0))
4389 YYERROR1;
4390 reinit_parse_for_function ();
4391 yyval.ttype = NULL_TREE; ;
4392 break;}
4393 case 88:
4394 #line 667 "parse.y"
4395 { tree specs, attrs;
4396 split_specs_attrs (yyvsp[-1].ttype, &specs, &attrs);
4397 if (! start_function (specs, yyvsp[0].ttype, attrs, 0))
4398 YYERROR1;
4399 reinit_parse_for_function ();
4400 yyval.ttype = NULL_TREE; ;
4401 break;}
4402 case 89:
4403 #line 674 "parse.y"
4404 { if (! start_function (NULL_TREE, yyval.ttype, NULL_TREE, 0))
4405 YYERROR1;
4406 reinit_parse_for_function ();
4407 yyval.ttype = NULL_TREE; ;
4408 break;}
4409 case 90:
4410 #line 682 "parse.y"
4411 { yyval.ttype = make_call_declarator (yyvsp[-5].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4412 break;}
4413 case 91:
4414 #line 684 "parse.y"
4415 { yyval.ttype = make_call_declarator (yyvsp[-3].ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
4416 break;}
4417 case 92:
4418 #line 686 "parse.y"
4419 { yyval.ttype = make_call_declarator (yyvsp[-5].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4420 break;}
4421 case 93:
4422 #line 688 "parse.y"
4423 { yyval.ttype = make_call_declarator (yyvsp[-3].ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
4424 break;}
4425 case 94:
4426 #line 695 "parse.y"
4427 { tree specs = strip_attrs (yyvsp[-1].ttype);
4428 yyval.ttype = start_method (specs, yyvsp[0].ttype);
4429 rest_of_mdef:
4430 if (! yyval.ttype)
4431 YYERROR1;
4432 if (yychar == YYEMPTY)
4433 yychar = YYLEX;
4434 reinit_parse_for_method (yychar, yyval.ttype); ;
4435 break;}
4436 case 95:
4437 #line 704 "parse.y"
4438 { yyval.ttype = start_method (NULL_TREE, yyvsp[0].ttype); goto rest_of_mdef; ;
4439 break;}
4440 case 96:
4441 #line 706 "parse.y"
4442 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
4443 yyval.ttype = start_method (specs, yyvsp[0].ttype); goto rest_of_mdef; ;
4444 break;}
4445 case 97:
4446 #line 709 "parse.y"
4447 { tree specs = strip_attrs (yyvsp[-1].ttype);
4448 yyval.ttype = start_method (specs, yyvsp[0].ttype); goto rest_of_mdef; ;
4449 break;}
4450 case 98:
4451 #line 712 "parse.y"
4452 { yyval.ttype = start_method (NULL_TREE, yyval.ttype); goto rest_of_mdef; ;
4453 break;}
4454 case 99:
4455 #line 714 "parse.y"
4456 { tree specs = strip_attrs (yyvsp[-1].ttype);
4457 yyval.ttype = start_method (specs, yyvsp[0].ttype); goto rest_of_mdef; ;
4458 break;}
4459 case 100:
4460 #line 717 "parse.y"
4461 { yyval.ttype = start_method (NULL_TREE, yyval.ttype); goto rest_of_mdef; ;
4462 break;}
4463 case 101:
4464 #line 719 "parse.y"
4466 if (yyvsp[-1].ttype)
4467 end_template_decl ();
4468 else
4469 end_specialization ();
4471 if (yyvsp[0].ttype && DECL_TEMPLATE_INFO (yyvsp[0].ttype)
4472 && !DECL_TEMPLATE_SPECIALIZATION (yyvsp[0].ttype))
4474 yyval.ttype = DECL_TI_TEMPLATE (yyvsp[0].ttype);
4475 check_member_template (yyval.ttype);
4477 else if (yyvsp[0].ttype)
4478 yyval.ttype = yyvsp[0].ttype;
4479 else
4481 cp_error("invalid member template declaration");
4482 yyval.ttype = NULL_TREE;
4485 break;}
4486 case 102:
4487 #line 743 "parse.y"
4489 if (! current_function_parms_stored)
4490 store_parm_decls ();
4491 yyval.ttype = yyvsp[0].ttype;
4493 break;}
4494 case 103:
4495 #line 752 "parse.y"
4496 { store_return_init (yyval.ttype, yyvsp[0].ttype); ;
4497 break;}
4498 case 104:
4499 #line 754 "parse.y"
4500 { store_return_init (yyval.ttype, yyvsp[-1].ttype); ;
4501 break;}
4502 case 105:
4503 #line 756 "parse.y"
4504 { store_return_init (yyval.ttype, NULL_TREE); ;
4505 break;}
4506 case 106:
4507 #line 761 "parse.y"
4509 if (yyvsp[0].itype == 0)
4510 error ("no base initializers given following ':'");
4511 setup_vtbl_ptr ();
4512 /* Always keep the BLOCK node associated with the outermost
4513 pair of curly braces of a function. These are needed
4514 for correct operation of dwarfout.c. */
4515 keep_next_level ();
4517 break;}
4518 case 107:
4519 #line 774 "parse.y"
4521 if (! current_function_parms_stored)
4522 store_parm_decls ();
4524 if (DECL_CONSTRUCTOR_P (current_function_decl))
4526 /* Make a contour for the initializer list. */
4527 pushlevel (0);
4528 clear_last_expr ();
4529 expand_start_bindings (0);
4531 else if (current_class_type == NULL_TREE)
4532 error ("base initializers not allowed for non-member functions");
4533 else if (! DECL_CONSTRUCTOR_P (current_function_decl))
4534 error ("only constructors take base initializers");
4536 break;}
4537 case 108:
4538 #line 794 "parse.y"
4539 { yyval.itype = 0; ;
4540 break;}
4541 case 109:
4542 #line 796 "parse.y"
4543 { yyval.itype = 1; ;
4544 break;}
4545 case 112:
4546 #line 803 "parse.y"
4548 if (current_class_name)
4549 pedwarn ("anachronistic old style base class initializer");
4550 expand_member_init (current_class_ref, NULL_TREE, yyvsp[-1].ttype);
4552 break;}
4553 case 113:
4554 #line 809 "parse.y"
4556 if (current_class_name)
4557 pedwarn ("anachronistic old style base class initializer");
4558 expand_member_init (current_class_ref, NULL_TREE, void_type_node);
4560 break;}
4561 case 114:
4562 #line 815 "parse.y"
4563 { expand_member_init (current_class_ref, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
4564 break;}
4565 case 115:
4566 #line 817 "parse.y"
4567 { expand_member_init (current_class_ref, yyvsp[-1].ttype, void_type_node); ;
4568 break;}
4569 case 116:
4570 #line 819 "parse.y"
4571 { expand_member_init (current_class_ref, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
4572 break;}
4573 case 117:
4574 #line 821 "parse.y"
4575 { expand_member_init (current_class_ref, yyvsp[-1].ttype, void_type_node); ;
4576 break;}
4577 case 118:
4578 #line 823 "parse.y"
4579 { expand_member_init (current_class_ref, TYPE_MAIN_DECL (yyvsp[-3].ttype),
4580 yyvsp[-1].ttype); ;
4581 break;}
4582 case 119:
4583 #line 826 "parse.y"
4584 { expand_member_init (current_class_ref, TYPE_MAIN_DECL (yyvsp[-1].ttype),
4585 void_type_node); ;
4586 break;}
4587 case 131:
4588 #line 852 "parse.y"
4589 { do_type_instantiation (yyvsp[-1].ftype.t, NULL_TREE);
4590 yyungetc (';', 1); ;
4591 break;}
4592 case 132:
4593 #line 855 "parse.y"
4594 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
4595 do_decl_instantiation (specs, yyvsp[0].ttype, NULL_TREE); ;
4596 break;}
4597 case 133:
4598 #line 858 "parse.y"
4599 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
4600 break;}
4601 case 134:
4602 #line 860 "parse.y"
4603 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
4604 break;}
4605 case 135:
4606 #line 862 "parse.y"
4607 { do_type_instantiation (yyvsp[-1].ftype.t, yyvsp[-3].ttype);
4608 yyungetc (';', 1); ;
4609 break;}
4610 case 136:
4611 #line 865 "parse.y"
4612 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
4613 do_decl_instantiation (specs, yyvsp[0].ttype, yyvsp[-3].ttype); ;
4614 break;}
4615 case 137:
4616 #line 868 "parse.y"
4617 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype); ;
4618 break;}
4619 case 138:
4620 #line 870 "parse.y"
4621 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype); ;
4622 break;}
4623 case 139:
4624 #line 879 "parse.y"
4626 yyval.ttype = lookup_template_class (yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE);
4627 if (yyval.ttype != error_mark_node)
4628 yyval.ttype = TYPE_STUB_DECL (yyval.ttype);
4630 break;}
4631 case 140:
4632 #line 885 "parse.y"
4634 yyval.ttype = lookup_template_class (yyvsp[-2].ttype, NULL_TREE, NULL_TREE);
4635 if (yyval.ttype != error_mark_node)
4636 yyval.ttype = TYPE_STUB_DECL (yyval.ttype);
4638 break;}
4639 case 141:
4640 #line 891 "parse.y"
4642 yyval.ttype = lookup_template_class (yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE);
4643 if (yyval.ttype != error_mark_node)
4644 yyval.ttype = TYPE_STUB_DECL (yyval.ttype);
4646 break;}
4647 case 142:
4648 #line 897 "parse.y"
4650 yyval.ttype = lookup_template_class (yyvsp[-2].ttype, NULL_TREE, NULL_TREE);
4651 if (yyval.ttype != error_mark_node)
4652 yyval.ttype = TYPE_STUB_DECL (yyval.ttype);
4654 break;}
4655 case 144:
4656 #line 907 "parse.y"
4658 yyval.ttype = lookup_template_class (yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE);
4659 if (yyval.ttype != error_mark_node)
4660 yyval.ttype = TYPE_STUB_DECL (yyval.ttype);
4662 break;}
4663 case 145:
4664 #line 913 "parse.y"
4666 yyval.ttype = lookup_template_class (yyvsp[-2].ttype, NULL_TREE, NULL_TREE);
4667 if (yyval.ttype != error_mark_node)
4668 yyval.ttype = TYPE_STUB_DECL (yyval.ttype);
4670 break;}
4671 case 147:
4672 #line 923 "parse.y"
4674 /* Handle `Class<Class<Type>>' without space in the `>>' */
4675 pedwarn ("`>>' should be `> >' in template class name");
4676 yyungetc ('>', 1);
4678 break;}
4679 case 148:
4680 #line 932 "parse.y"
4681 { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
4682 break;}
4683 case 149:
4684 #line 934 "parse.y"
4685 { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
4686 break;}
4687 case 150:
4688 #line 939 "parse.y"
4689 { yyval.ttype = groktypename (yyvsp[0].ftype.t); ;
4690 break;}
4691 case 152:
4692 #line 945 "parse.y"
4693 { yyval.code = NEGATE_EXPR; ;
4694 break;}
4695 case 153:
4696 #line 947 "parse.y"
4697 { yyval.code = CONVERT_EXPR; ;
4698 break;}
4699 case 154:
4700 #line 949 "parse.y"
4701 { yyval.code = PREINCREMENT_EXPR; ;
4702 break;}
4703 case 155:
4704 #line 951 "parse.y"
4705 { yyval.code = PREDECREMENT_EXPR; ;
4706 break;}
4707 case 156:
4708 #line 953 "parse.y"
4709 { yyval.code = TRUTH_NOT_EXPR; ;
4710 break;}
4711 case 157:
4712 #line 958 "parse.y"
4713 { yyval.ttype = build_x_compound_expr (yyval.ttype); ;
4714 break;}
4715 case 159:
4716 #line 964 "parse.y"
4717 { error ("ANSI C++ forbids an empty condition for `%s'",
4718 cond_stmt_keyword);
4719 yyval.ttype = integer_zero_node; ;
4720 break;}
4721 case 160:
4722 #line 968 "parse.y"
4723 { yyval.ttype = condition_conversion (yyvsp[-1].ttype); ;
4724 break;}
4725 case 161:
4726 #line 973 "parse.y"
4727 { error ("ANSI C++ forbids an empty condition for `%s'",
4728 cond_stmt_keyword);
4729 yyval.ttype = integer_zero_node; ;
4730 break;}
4731 case 162:
4732 #line 977 "parse.y"
4733 { yyval.ttype = condition_conversion (yyvsp[-1].ttype); ;
4734 break;}
4735 case 163:
4736 #line 982 "parse.y"
4737 { yyval.ttype = NULL_TREE; ;
4738 break;}
4739 case 164:
4740 #line 984 "parse.y"
4741 { yyval.ttype = condition_conversion (yyval.ttype); ;
4742 break;}
4743 case 165:
4744 #line 986 "parse.y"
4745 { yyval.ttype = NULL_TREE; ;
4746 break;}
4747 case 166:
4748 #line 991 "parse.y"
4750 tree d;
4751 for (d = getdecls (); d; d = TREE_CHAIN (d))
4752 if (TREE_CODE (d) == TYPE_DECL) {
4753 tree s = TREE_TYPE (d);
4754 if (TREE_CODE (s) == RECORD_TYPE)
4755 cp_error ("definition of class `%T' in condition", s);
4756 else if (TREE_CODE (s) == ENUMERAL_TYPE)
4757 cp_error ("definition of enum `%T' in condition", s);
4760 current_declspecs = yyvsp[-4].ftype.t;
4761 yyvsp[0].itype = suspend_momentary ();
4762 yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1);
4763 cplus_decl_attributes (yyval.ttype, yyvsp[-1].ttype,
4764 /*prefix_attributes*/ NULL_TREE);
4766 break;}
4767 case 167:
4768 #line 1009 "parse.y"
4770 cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-3].ttype, 1, LOOKUP_ONLYCONVERTING);
4771 resume_momentary (yyvsp[-2].itype);
4772 yyval.ttype = yyvsp[-1].ttype;
4773 if (TREE_CODE (TREE_TYPE (yyval.ttype)) == ARRAY_TYPE)
4774 cp_error ("definition of array `%#D' in condition", yyval.ttype);
4776 break;}
4777 case 173:
4778 #line 1028 "parse.y"
4780 if (processing_template_decl)
4782 yyval.ttype = build_min_nt (COMPOUND_STMT, NULL_TREE);
4783 COMPOUND_STMT_NO_SCOPE (yyval.ttype) = 1;
4784 add_tree (yyval.ttype);
4787 break;}
4788 case 174:
4789 #line 1037 "parse.y"
4791 if (processing_template_decl)
4793 TREE_OPERAND (yyvsp[-1].ttype, 0) = TREE_CHAIN (yyvsp[-1].ttype);
4794 TREE_CHAIN (yyvsp[-1].ttype) = NULL_TREE;
4795 last_tree = yyvsp[-1].ttype;
4797 finish_stmt ();
4799 break;}
4800 case 176:
4801 #line 1052 "parse.y"
4802 { yyval.ttype = expr_tree_cons (NULL_TREE, yyval.ttype,
4803 build_expr_list (NULL_TREE, yyvsp[0].ttype)); ;
4804 break;}
4805 case 177:
4806 #line 1055 "parse.y"
4807 { yyval.ttype = expr_tree_cons (NULL_TREE, yyval.ttype,
4808 build_expr_list (NULL_TREE, error_mark_node)); ;
4809 break;}
4810 case 178:
4811 #line 1058 "parse.y"
4812 { chainon (yyval.ttype, build_expr_list (NULL_TREE, yyvsp[0].ttype)); ;
4813 break;}
4814 case 179:
4815 #line 1060 "parse.y"
4816 { chainon (yyval.ttype, build_expr_list (NULL_TREE, error_mark_node)); ;
4817 break;}
4818 case 180:
4819 #line 1065 "parse.y"
4820 { yyval.ttype = build_expr_list (NULL_TREE, yyval.ttype); ;
4821 break;}
4822 case 182:
4823 #line 1071 "parse.y"
4824 { yyval.ttype = yyvsp[0].ttype; ;
4825 break;}
4826 case 183:
4827 #line 1074 "parse.y"
4828 { yyval.ttype = yyvsp[0].ttype;
4829 pedantic = yyvsp[-1].itype; ;
4830 break;}
4831 case 184:
4832 #line 1077 "parse.y"
4833 { yyval.ttype = build_x_indirect_ref (yyvsp[0].ttype, "unary *"); ;
4834 break;}
4835 case 185:
4836 #line 1079 "parse.y"
4837 { yyval.ttype = build_x_unary_op (ADDR_EXPR, yyvsp[0].ttype); ;
4838 break;}
4839 case 186:
4840 #line 1081 "parse.y"
4841 { yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, yyvsp[0].ttype); ;
4842 break;}
4843 case 187:
4844 #line 1083 "parse.y"
4845 { yyval.ttype = build_x_unary_op (yyvsp[-1].code, yyvsp[0].ttype);
4846 if (yyvsp[-1].code == NEGATE_EXPR && TREE_CODE (yyvsp[0].ttype) == INTEGER_CST)
4847 TREE_NEGATED_INT (yyval.ttype) = 1;
4848 overflow_warning (yyval.ttype);
4850 break;}
4851 case 188:
4852 #line 1090 "parse.y"
4853 { tree label = lookup_label (yyvsp[0].ttype);
4854 if (pedantic)
4855 pedwarn ("ANSI C++ forbids `&&'");
4856 if (label == NULL_TREE)
4857 yyval.ttype = null_pointer_node;
4858 else
4860 TREE_USED (label) = 1;
4861 yyval.ttype = build1 (ADDR_EXPR, ptr_type_node, label);
4862 TREE_CONSTANT (yyval.ttype) = 1;
4865 break;}
4866 case 189:
4867 #line 1103 "parse.y"
4868 { yyval.ttype = expr_sizeof (yyvsp[0].ttype); ;
4869 break;}
4870 case 190:
4871 #line 1105 "parse.y"
4872 { yyval.ttype = c_sizeof (groktypename (yyvsp[-1].ftype.t)); ;
4873 break;}
4874 case 191:
4875 #line 1107 "parse.y"
4876 { yyval.ttype = grok_alignof (yyvsp[0].ttype); ;
4877 break;}
4878 case 192:
4879 #line 1109 "parse.y"
4880 { yyval.ttype = c_alignof (groktypename (yyvsp[-1].ftype.t));
4881 check_for_new_type ("alignof", yyvsp[-1].ftype); ;
4882 break;}
4883 case 193:
4884 #line 1115 "parse.y"
4885 { yyval.ttype = build_new (NULL_TREE, yyvsp[0].ftype.t, NULL_TREE, yyvsp[-1].itype);
4886 check_for_new_type ("new", yyvsp[0].ftype); ;
4887 break;}
4888 case 194:
4889 #line 1118 "parse.y"
4890 { yyval.ttype = build_new (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype, yyvsp[-2].itype);
4891 check_for_new_type ("new", yyvsp[-1].ftype); ;
4892 break;}
4893 case 195:
4894 #line 1121 "parse.y"
4895 { yyval.ttype = build_new (yyvsp[-1].ttype, yyvsp[0].ftype.t, NULL_TREE, yyvsp[-2].itype);
4896 check_for_new_type ("new", yyvsp[0].ftype); ;
4897 break;}
4898 case 196:
4899 #line 1124 "parse.y"
4900 { yyval.ttype = build_new (yyvsp[-2].ttype, yyvsp[-1].ftype.t, yyvsp[0].ttype, yyvsp[-3].itype);
4901 check_for_new_type ("new", yyvsp[-1].ftype); ;
4902 break;}
4903 case 197:
4904 #line 1127 "parse.y"
4905 { yyval.ttype = build_new (NULL_TREE, groktypename(yyvsp[-1].ftype.t),
4906 NULL_TREE, yyvsp[-3].itype);
4907 check_for_new_type ("new", yyvsp[-1].ftype); ;
4908 break;}
4909 case 198:
4910 #line 1131 "parse.y"
4911 { yyval.ttype = build_new (NULL_TREE, groktypename(yyvsp[-2].ftype.t), yyvsp[0].ttype, yyvsp[-4].itype);
4912 check_for_new_type ("new", yyvsp[-2].ftype); ;
4913 break;}
4914 case 199:
4915 #line 1134 "parse.y"
4916 { yyval.ttype = build_new (yyvsp[-3].ttype, groktypename(yyvsp[-1].ftype.t), NULL_TREE, yyvsp[-4].itype);
4917 check_for_new_type ("new", yyvsp[-1].ftype); ;
4918 break;}
4919 case 200:
4920 #line 1137 "parse.y"
4921 { yyval.ttype = build_new (yyvsp[-4].ttype, groktypename(yyvsp[-2].ftype.t), yyvsp[0].ttype, yyvsp[-5].itype);
4922 check_for_new_type ("new", yyvsp[-2].ftype); ;
4923 break;}
4924 case 201:
4925 #line 1141 "parse.y"
4926 { yyval.ttype = delete_sanity (yyvsp[0].ttype, NULL_TREE, 0, yyvsp[-1].itype); ;
4927 break;}
4928 case 202:
4929 #line 1143 "parse.y"
4930 { yyval.ttype = delete_sanity (yyvsp[0].ttype, NULL_TREE, 1, yyvsp[-3].itype);
4931 if (yychar == YYEMPTY)
4932 yychar = YYLEX; ;
4933 break;}
4934 case 203:
4935 #line 1147 "parse.y"
4936 { yyval.ttype = delete_sanity (yyvsp[0].ttype, yyvsp[-2].ttype, 2, yyvsp[-4].itype);
4937 if (yychar == YYEMPTY)
4938 yychar = YYLEX; ;
4939 break;}
4940 case 204:
4941 #line 1151 "parse.y"
4942 { yyval.ttype = build_x_unary_op (REALPART_EXPR, yyvsp[0].ttype); ;
4943 break;}
4944 case 205:
4945 #line 1153 "parse.y"
4946 { yyval.ttype = build_x_unary_op (IMAGPART_EXPR, yyvsp[0].ttype); ;
4947 break;}
4948 case 206:
4949 #line 1158 "parse.y"
4950 { yyval.ttype = yyvsp[-1].ttype; ;
4951 break;}
4952 case 207:
4953 #line 1160 "parse.y"
4955 yyval.ttype = yyvsp[-1].ttype;
4956 pedwarn ("old style placement syntax, use () instead");
4958 break;}
4959 case 208:
4960 #line 1168 "parse.y"
4961 { yyval.ttype = yyvsp[-1].ttype; ;
4962 break;}
4963 case 209:
4964 #line 1170 "parse.y"
4965 { yyval.ttype = NULL_TREE; ;
4966 break;}
4967 case 210:
4968 #line 1172 "parse.y"
4970 cp_error ("`%T' is not a valid expression", yyvsp[-1].ftype.t);
4971 yyval.ttype = error_mark_node;
4973 break;}
4974 case 211:
4975 #line 1180 "parse.y"
4977 if (pedantic)
4978 pedwarn ("ANSI C++ forbids initialization of new expression with `='");
4979 yyval.ttype = yyvsp[0].ttype;
4981 break;}
4982 case 212:
4983 #line 1190 "parse.y"
4984 { yyvsp[-1].ftype.t = tree_cons (NULL_TREE, yyvsp[-1].ftype.t, void_list_node);
4985 TREE_PARMLIST (yyvsp[-1].ftype.t) = 1;
4986 yyval.ttype = make_call_declarator (NULL_TREE, yyvsp[-1].ftype.t, NULL_TREE, NULL_TREE);
4987 check_for_new_type ("cast", yyvsp[-1].ftype); ;
4988 break;}
4989 case 213:
4990 #line 1195 "parse.y"
4991 { yyvsp[-1].ftype.t = tree_cons (NULL_TREE, yyvsp[-1].ftype.t, void_list_node);
4992 TREE_PARMLIST (yyvsp[-1].ftype.t) = 1;
4993 yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-1].ftype.t, NULL_TREE, NULL_TREE);
4994 check_for_new_type ("cast", yyvsp[-1].ftype); ;
4995 break;}
4996 case 215:
4997 #line 1204 "parse.y"
4998 { yyval.ttype = reparse_absdcl_as_casts (yyval.ttype, yyvsp[0].ttype); ;
4999 break;}
5000 case 216:
5001 #line 1206 "parse.y"
5003 tree init = build_nt (CONSTRUCTOR, NULL_TREE,
5004 nreverse (yyvsp[-2].ttype));
5005 if (pedantic)
5006 pedwarn ("ANSI C++ forbids constructor-expressions");
5007 /* Indicate that this was a GNU C constructor expression. */
5008 TREE_HAS_CONSTRUCTOR (init) = 1;
5010 yyval.ttype = reparse_absdcl_as_casts (yyval.ttype, init);
5012 break;}
5013 case 218:
5014 #line 1222 "parse.y"
5015 { yyval.ttype = build_x_binary_op (MEMBER_REF, yyval.ttype, yyvsp[0].ttype); ;
5016 break;}
5017 case 219:
5018 #line 1224 "parse.y"
5019 { yyval.ttype = build_m_component_ref (yyval.ttype, yyvsp[0].ttype); ;
5020 break;}
5021 case 220:
5022 #line 1226 "parse.y"
5023 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5024 break;}
5025 case 221:
5026 #line 1228 "parse.y"
5027 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5028 break;}
5029 case 222:
5030 #line 1230 "parse.y"
5031 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5032 break;}
5033 case 223:
5034 #line 1232 "parse.y"
5035 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5036 break;}
5037 case 224:
5038 #line 1234 "parse.y"
5039 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5040 break;}
5041 case 225:
5042 #line 1236 "parse.y"
5043 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5044 break;}
5045 case 226:
5046 #line 1238 "parse.y"
5047 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5048 break;}
5049 case 227:
5050 #line 1240 "parse.y"
5051 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5052 break;}
5053 case 228:
5054 #line 1242 "parse.y"
5055 { yyval.ttype = build_x_binary_op (LT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
5056 break;}
5057 case 229:
5058 #line 1244 "parse.y"
5059 { yyval.ttype = build_x_binary_op (GT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
5060 break;}
5061 case 230:
5062 #line 1246 "parse.y"
5063 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5064 break;}
5065 case 231:
5066 #line 1248 "parse.y"
5067 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5068 break;}
5069 case 232:
5070 #line 1250 "parse.y"
5071 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5072 break;}
5073 case 233:
5074 #line 1252 "parse.y"
5075 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5076 break;}
5077 case 234:
5078 #line 1254 "parse.y"
5079 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5080 break;}
5081 case 235:
5082 #line 1256 "parse.y"
5083 { yyval.ttype = build_x_binary_op (TRUTH_ANDIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
5084 break;}
5085 case 236:
5086 #line 1258 "parse.y"
5087 { yyval.ttype = build_x_binary_op (TRUTH_ORIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
5088 break;}
5089 case 237:
5090 #line 1260 "parse.y"
5091 { yyval.ttype = build_x_conditional_expr (yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
5092 break;}
5093 case 238:
5094 #line 1262 "parse.y"
5095 { yyval.ttype = build_x_modify_expr (yyval.ttype, NOP_EXPR, yyvsp[0].ttype);
5096 if (yyval.ttype != error_mark_node)
5097 C_SET_EXP_ORIGINAL_CODE (yyval.ttype, MODIFY_EXPR); ;
5098 break;}
5099 case 239:
5100 #line 1266 "parse.y"
5101 { yyval.ttype = build_x_modify_expr (yyval.ttype, yyvsp[-1].code, yyvsp[0].ttype); ;
5102 break;}
5103 case 240:
5104 #line 1268 "parse.y"
5105 { yyval.ttype = build_throw (NULL_TREE); ;
5106 break;}
5107 case 241:
5108 #line 1270 "parse.y"
5109 { yyval.ttype = build_throw (yyvsp[0].ttype); ;
5110 break;}
5111 case 242:
5112 #line 1288 "parse.y"
5113 { yyval.ttype = build_parse_node (BIT_NOT_EXPR, yyvsp[0].ttype); ;
5114 break;}
5115 case 248:
5116 #line 1298 "parse.y"
5117 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5118 break;}
5119 case 249:
5120 #line 1300 "parse.y"
5121 { yyval.ttype = lookup_template_function (yyvsp[-2].ttype, NULL_TREE); ;
5122 break;}
5123 case 250:
5124 #line 1302 "parse.y"
5125 { yyval.ttype = lookup_template_function
5126 (do_identifier (yyvsp[-3].ttype, 1), yyvsp[-1].ttype); ;
5127 break;}
5128 case 251:
5129 #line 1305 "parse.y"
5130 { yyval.ttype = lookup_template_function
5131 (do_identifier (yyvsp[-2].ttype, 1), NULL_TREE); ;
5132 break;}
5133 case 252:
5134 #line 1311 "parse.y"
5135 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5136 break;}
5137 case 253:
5138 #line 1313 "parse.y"
5139 { yyval.ttype = lookup_template_function (DECL_NAME (yyvsp[-3].ttype), yyvsp[-1].ttype); ;
5140 break;}
5141 case 254:
5142 #line 1315 "parse.y"
5143 { yyval.ttype = lookup_template_function (DECL_NAME (yyvsp[-3].ttype), yyvsp[-1].ttype); ;
5144 break;}
5145 case 259:
5146 #line 1327 "parse.y"
5147 { yyval.ttype = build_parse_node (INDIRECT_REF, yyvsp[0].ttype); ;
5148 break;}
5149 case 260:
5150 #line 1329 "parse.y"
5151 { yyval.ttype = build_parse_node (ADDR_EXPR, yyvsp[0].ttype); ;
5152 break;}
5153 case 261:
5154 #line 1331 "parse.y"
5155 { yyval.ttype = yyvsp[-1].ttype; ;
5156 break;}
5157 case 262:
5158 #line 1336 "parse.y"
5159 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5160 break;}
5161 case 263:
5162 #line 1338 "parse.y"
5163 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5164 break;}
5165 case 267:
5166 #line 1346 "parse.y"
5167 { yyval.ttype = finish_decl_parsing (yyvsp[-1].ttype); ;
5168 break;}
5169 case 268:
5170 #line 1351 "parse.y"
5172 if (TREE_CODE (yyval.ttype) == BIT_NOT_EXPR)
5173 yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, TREE_OPERAND (yyval.ttype, 0));
5174 else if (TREE_CODE (yyval.ttype) != TEMPLATE_ID_EXPR)
5175 yyval.ttype = do_identifier (yyval.ttype, 1);
5177 break;}
5178 case 271:
5179 #line 1360 "parse.y"
5181 if (processing_template_decl)
5182 push_obstacks (&permanent_obstack, &permanent_obstack);
5183 yyval.ttype = combine_strings (yyval.ttype);
5184 if (processing_template_decl)
5185 pop_obstacks ();
5187 break;}
5188 case 272:
5189 #line 1368 "parse.y"
5190 { char class;
5191 yyval.ttype = yyvsp[-1].ttype;
5192 class = TREE_CODE_CLASS (TREE_CODE (yyval.ttype));
5193 if (class == 'e' || class == '1'
5194 || class == '2' || class == '<')
5195 /* This inhibits warnings in truthvalue_conversion. */
5196 C_SET_EXP_ORIGINAL_CODE (yyval.ttype, ERROR_MARK); ;
5197 break;}
5198 case 273:
5199 #line 1376 "parse.y"
5200 { char class;
5201 yyval.ttype = reparse_decl_as_expr (NULL_TREE, yyvsp[-1].ttype);
5202 class = TREE_CODE_CLASS (TREE_CODE (yyval.ttype));
5203 if (class == 'e' || class == '1'
5204 || class == '2' || class == '<')
5205 /* This inhibits warnings in truthvalue_conversion. */
5206 C_SET_EXP_ORIGINAL_CODE (yyval.ttype, ERROR_MARK); ;
5207 break;}
5208 case 274:
5209 #line 1384 "parse.y"
5210 { yyval.ttype = error_mark_node; ;
5211 break;}
5212 case 275:
5213 #line 1386 "parse.y"
5214 { if (current_function_decl == 0)
5216 error ("braced-group within expression allowed only inside a function");
5217 YYERROR;
5219 keep_next_level ();
5220 yyval.ttype = expand_start_stmt_expr (); ;
5221 break;}
5222 case 276:
5223 #line 1394 "parse.y"
5224 { tree rtl_exp;
5225 if (pedantic)
5226 pedwarn ("ANSI C++ forbids braced-groups within expressions");
5227 rtl_exp = expand_end_stmt_expr (yyvsp[-2].ttype);
5228 /* The statements have side effects, so the group does. */
5229 TREE_SIDE_EFFECTS (rtl_exp) = 1;
5231 if (TREE_CODE (yyvsp[-1].ttype) == BLOCK)
5233 /* Make a BIND_EXPR for the BLOCK already made. */
5234 yyval.ttype = build (BIND_EXPR, TREE_TYPE (rtl_exp),
5235 NULL_TREE, rtl_exp, yyvsp[-1].ttype);
5236 /* Remove the block from the tree at this point.
5237 It gets put back at the proper place
5238 when the BIND_EXPR is expanded. */
5239 delete_block (yyvsp[-1].ttype);
5241 else
5242 yyval.ttype = yyvsp[-1].ttype;
5244 break;}
5245 case 277:
5246 #line 1415 "parse.y"
5248 yyval.ttype = build_x_function_call (yyvsp[-3].ttype, yyvsp[-1].ttype, current_class_ref);
5249 if (TREE_CODE (yyval.ttype) == CALL_EXPR
5250 && TREE_TYPE (yyval.ttype) != void_type_node)
5251 yyval.ttype = require_complete_type (yyval.ttype);
5253 break;}
5254 case 278:
5255 #line 1422 "parse.y"
5257 yyval.ttype = build_x_function_call (yyval.ttype, NULL_TREE, current_class_ref);
5258 if (TREE_CODE (yyval.ttype) == CALL_EXPR
5259 && TREE_TYPE (yyval.ttype) != void_type_node)
5260 yyval.ttype = require_complete_type (yyval.ttype);
5262 break;}
5263 case 279:
5264 #line 1429 "parse.y"
5265 { yyval.ttype = grok_array_decl (yyval.ttype, yyvsp[-1].ttype); ;
5266 break;}
5267 case 280:
5268 #line 1431 "parse.y"
5269 { /* If we get an OFFSET_REF, turn it into what it really
5270 means (e.g., a COMPONENT_REF). This way if we've got,
5271 say, a reference to a static member that's being operated
5272 on, we don't end up trying to find a member operator for
5273 the class it's in. */
5274 if (TREE_CODE (yyval.ttype) == OFFSET_REF)
5275 yyval.ttype = resolve_offset_ref (yyval.ttype);
5276 yyval.ttype = build_x_unary_op (POSTINCREMENT_EXPR, yyval.ttype); ;
5277 break;}
5278 case 281:
5279 #line 1440 "parse.y"
5280 { if (TREE_CODE (yyval.ttype) == OFFSET_REF)
5281 yyval.ttype = resolve_offset_ref (yyval.ttype);
5282 yyval.ttype = build_x_unary_op (POSTDECREMENT_EXPR, yyval.ttype); ;
5283 break;}
5284 case 282:
5285 #line 1445 "parse.y"
5286 { if (current_class_ptr)
5288 #ifdef WARNING_ABOUT_CCD
5289 TREE_USED (current_class_ptr) = 1;
5290 #endif
5291 yyval.ttype = current_class_ptr;
5293 else if (current_function_decl
5294 && DECL_STATIC_FUNCTION_P (current_function_decl))
5296 error ("`this' is unavailable for static member functions");
5297 yyval.ttype = error_mark_node;
5299 else
5301 if (current_function_decl)
5302 error ("invalid use of `this' in non-member function");
5303 else
5304 error ("invalid use of `this' at top level");
5305 yyval.ttype = error_mark_node;
5308 break;}
5309 case 283:
5310 #line 1468 "parse.y"
5312 tree type;
5313 tree id = yyval.ttype;
5315 /* This is a C cast in C++'s `functional' notation. */
5316 if (yyvsp[-1].ttype == error_mark_node)
5318 yyval.ttype = error_mark_node;
5319 break;
5321 #if 0
5322 if (yyvsp[-1].ttype == NULL_TREE)
5324 error ("cannot cast null list to type `%s'",
5325 IDENTIFIER_POINTER (TYPE_NAME (id)));
5326 yyval.ttype = error_mark_node;
5327 break;
5329 #endif
5330 #if 0
5331 /* type is not set! (mrs) */
5332 if (type == error_mark_node)
5333 yyval.ttype = error_mark_node;
5334 else
5335 #endif
5337 if (id == ridpointers[(int) RID_CONST])
5338 type = build_type_variant (integer_type_node, 1, 0);
5339 else if (id == ridpointers[(int) RID_VOLATILE])
5340 type = build_type_variant (integer_type_node, 0, 1);
5341 #if 0
5342 /* should not be able to get here (mrs) */
5343 else if (id == ridpointers[(int) RID_FRIEND])
5345 error ("cannot cast expression to `friend' type");
5346 yyval.ttype = error_mark_node;
5347 break;
5349 #endif
5350 else my_friendly_abort (79);
5351 yyval.ttype = build_c_cast (type, build_compound_expr (yyvsp[-1].ttype));
5354 break;}
5355 case 285:
5356 #line 1513 "parse.y"
5357 { tree type = groktypename (yyvsp[-4].ftype.t);
5358 check_for_new_type ("dynamic_cast", yyvsp[-4].ftype);
5359 yyval.ttype = build_dynamic_cast (type, yyvsp[-1].ttype); ;
5360 break;}
5361 case 286:
5362 #line 1517 "parse.y"
5363 { tree type = groktypename (yyvsp[-4].ftype.t);
5364 check_for_new_type ("static_cast", yyvsp[-4].ftype);
5365 yyval.ttype = build_static_cast (type, yyvsp[-1].ttype); ;
5366 break;}
5367 case 287:
5368 #line 1521 "parse.y"
5369 { tree type = groktypename (yyvsp[-4].ftype.t);
5370 check_for_new_type ("reinterpret_cast", yyvsp[-4].ftype);
5371 yyval.ttype = build_reinterpret_cast (type, yyvsp[-1].ttype); ;
5372 break;}
5373 case 288:
5374 #line 1525 "parse.y"
5375 { tree type = groktypename (yyvsp[-4].ftype.t);
5376 check_for_new_type ("const_cast", yyvsp[-4].ftype);
5377 yyval.ttype = build_const_cast (type, yyvsp[-1].ttype); ;
5378 break;}
5379 case 289:
5380 #line 1529 "parse.y"
5381 { yyval.ttype = build_x_typeid (yyvsp[-1].ttype); ;
5382 break;}
5383 case 290:
5384 #line 1531 "parse.y"
5385 { tree type = groktypename (yyvsp[-1].ftype.t);
5386 check_for_new_type ("typeid", yyvsp[-1].ftype);
5387 yyval.ttype = get_typeid (TYPE_MAIN_VARIANT (type)); ;
5388 break;}
5389 case 291:
5390 #line 1535 "parse.y"
5391 { yyval.ttype = do_scoped_id (yyvsp[0].ttype, 1); ;
5392 break;}
5393 case 292:
5394 #line 1537 "parse.y"
5396 got_scope = NULL_TREE;
5397 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
5398 yyval.ttype = do_scoped_id (yyvsp[0].ttype, 1);
5399 else
5400 yyval.ttype = yyvsp[0].ttype;
5402 break;}
5403 case 293:
5404 #line 1545 "parse.y"
5405 { yyval.ttype = build_offset_ref (OP0 (yyval.ttype), OP1 (yyval.ttype)); ;
5406 break;}
5407 case 294:
5408 #line 1547 "parse.y"
5409 { if (processing_template_decl)
5410 yyval.ttype = build_min_nt (CALL_EXPR, copy_to_permanent (yyvsp[-3].ttype), yyvsp[-1].ttype, NULL_TREE);
5411 else
5412 yyval.ttype = build_member_call (OP0 (yyval.ttype), OP1 (yyval.ttype), yyvsp[-1].ttype); ;
5413 break;}
5414 case 295:
5415 #line 1552 "parse.y"
5416 { if (processing_template_decl)
5417 yyval.ttype = build_min_nt (CALL_EXPR, copy_to_permanent (yyvsp[-1].ttype),
5418 NULL_TREE, NULL_TREE);
5419 else
5420 yyval.ttype = build_member_call (OP0 (yyval.ttype), OP1 (yyval.ttype), NULL_TREE); ;
5421 break;}
5422 case 296:
5423 #line 1558 "parse.y"
5425 yyval.ttype = build_x_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1);
5427 break;}
5428 case 297:
5429 #line 1562 "parse.y"
5431 yyval.ttype = build_method_call (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype,
5432 NULL_TREE, LOOKUP_NORMAL);
5434 break;}
5435 case 298:
5436 #line 1567 "parse.y"
5438 yyval.ttype = build_method_call (yyvsp[-2].ttype, yyvsp[-1].ttype, NULL_TREE,
5439 NULL_TREE, LOOKUP_NORMAL);
5441 break;}
5442 case 299:
5443 #line 1572 "parse.y"
5444 { yyval.ttype = build_x_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1); ;
5445 break;}
5446 case 300:
5447 #line 1574 "parse.y"
5448 { if (processing_template_decl)
5449 yyval.ttype = build_min_nt (COMPONENT_REF, yyvsp[-1].ttype, copy_to_permanent (yyvsp[0].ttype));
5450 else
5451 yyval.ttype = build_object_ref (yyval.ttype, OP0 (yyvsp[0].ttype), OP1 (yyvsp[0].ttype)); ;
5452 break;}
5453 case 301:
5454 #line 1579 "parse.y"
5456 #if 0
5457 /* This is a future direction of this code, but because
5458 build_x_function_call cannot always undo what is done
5459 in build_component_ref entirely yet, we cannot do this. */
5460 yyval.ttype = build_x_function_call (build_component_ref (yyval.ttype, yyvsp[-3].ttype, NULL_TREE, 1), yyvsp[-1].ttype, current_class_ref);
5461 if (TREE_CODE (yyval.ttype) == CALL_EXPR
5462 && TREE_TYPE (yyval.ttype) != void_type_node)
5463 yyval.ttype = require_complete_type (yyval.ttype);
5464 #else
5465 yyval.ttype = build_method_call (yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE,
5466 LOOKUP_NORMAL);
5467 #endif
5469 break;}
5470 case 302:
5471 #line 1594 "parse.y"
5473 #if 0
5474 /* This is a future direction of this code, but because
5475 build_x_function_call cannot always undo what is done
5476 in build_component_ref entirely yet, we cannot do this. */
5477 yyval.ttype = build_x_function_call (build_component_ref (yyval.ttype, yyvsp[-1].ttype, NULL_TREE, 1), NULL_TREE, current_class_ref);
5478 if (TREE_CODE (yyval.ttype) == CALL_EXPR
5479 && TREE_TYPE (yyval.ttype) != void_type_node)
5480 yyval.ttype = require_complete_type (yyval.ttype);
5481 #else
5482 yyval.ttype = build_method_call (yyval.ttype, yyvsp[-1].ttype, NULL_TREE, NULL_TREE,
5483 LOOKUP_NORMAL);
5484 #endif
5486 break;}
5487 case 303:
5488 #line 1609 "parse.y"
5490 if (IS_SIGNATURE (OP0 (yyvsp[-3].ttype)))
5492 warning ("signature name in scope resolution ignored");
5493 yyval.ttype = build_method_call (yyval.ttype, OP1 (yyvsp[-3].ttype), yyvsp[-1].ttype, NULL_TREE,
5494 LOOKUP_NORMAL);
5496 else
5497 yyval.ttype = build_scoped_method_call (yyval.ttype, OP0 (yyvsp[-3].ttype), OP1 (yyvsp[-3].ttype), yyvsp[-1].ttype);
5499 break;}
5500 case 304:
5501 #line 1620 "parse.y"
5503 if (IS_SIGNATURE (OP0 (yyvsp[-1].ttype)))
5505 warning ("signature name in scope resolution ignored");
5506 yyval.ttype = build_method_call (yyval.ttype, OP1 (yyvsp[-1].ttype), NULL_TREE, NULL_TREE,
5507 LOOKUP_NORMAL);
5509 else
5510 yyval.ttype = build_scoped_method_call (yyval.ttype, OP0 (yyvsp[-1].ttype), OP1 (yyvsp[-1].ttype), NULL_TREE);
5512 break;}
5513 case 305:
5514 #line 1632 "parse.y"
5516 if (IDENTIFIER_GLOBAL_VALUE (yyvsp[-1].ttype)
5517 && (TREE_CODE (TREE_TYPE (yyvsp[-3].ttype))
5518 != TREE_CODE (TREE_TYPE (IDENTIFIER_GLOBAL_VALUE (yyvsp[-1].ttype)))))
5519 cp_error ("`%E' is not of type `%T'", yyvsp[-3].ttype, yyvsp[-1].ttype);
5520 yyval.ttype = cp_convert (void_type_node, yyvsp[-3].ttype);
5522 break;}
5523 case 306:
5524 #line 1640 "parse.y"
5526 if (yyvsp[-4].ttype != yyvsp[-1].ttype)
5527 cp_error ("destructor specifier `%T::~%T()' must have matching names", yyvsp[-4].ttype, yyvsp[-1].ttype);
5528 if (TREE_CODE (TREE_TYPE (yyvsp[-5].ttype))
5529 != TREE_CODE (TREE_TYPE (IDENTIFIER_GLOBAL_VALUE (yyvsp[-4].ttype))))
5530 cp_error ("`%E' is not of type `%T'", yyvsp[-5].ttype, yyvsp[-4].ttype);
5531 yyval.ttype = cp_convert (void_type_node, yyvsp[-5].ttype);
5533 break;}
5534 case 307:
5535 #line 1649 "parse.y"
5537 yyval.ttype = error_mark_node;
5539 break;}
5540 case 308:
5541 #line 1694 "parse.y"
5542 { yyval.itype = 0; ;
5543 break;}
5544 case 309:
5545 #line 1696 "parse.y"
5546 { got_scope = NULL_TREE; yyval.itype = 1; ;
5547 break;}
5548 case 310:
5549 #line 1701 "parse.y"
5550 { yyval.itype = 0; ;
5551 break;}
5552 case 311:
5553 #line 1703 "parse.y"
5554 { got_scope = NULL_TREE; yyval.itype = 1; ;
5555 break;}
5556 case 312:
5557 #line 1708 "parse.y"
5558 { yyval.ttype = boolean_true_node; ;
5559 break;}
5560 case 313:
5561 #line 1710 "parse.y"
5562 { yyval.ttype = boolean_false_node; ;
5563 break;}
5564 case 315:
5565 #line 1717 "parse.y"
5566 { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
5567 break;}
5568 case 316:
5569 #line 1722 "parse.y"
5571 if (! current_function_parms_stored)
5572 store_parm_decls ();
5573 setup_vtbl_ptr ();
5574 /* Always keep the BLOCK node associated with the outermost
5575 pair of curly braces of a function. These are needed
5576 for correct operation of dwarfout.c. */
5577 keep_next_level ();
5579 break;}
5580 case 317:
5581 #line 1735 "parse.y"
5582 { got_object = TREE_TYPE (yyval.ttype); ;
5583 break;}
5584 case 318:
5585 #line 1737 "parse.y"
5587 yyval.ttype = build_x_arrow (yyval.ttype);
5588 got_object = TREE_TYPE (yyval.ttype);
5590 break;}
5591 case 319:
5592 #line 1745 "parse.y"
5594 resume_momentary (yyvsp[-1].itype);
5595 if (yyvsp[-2].ftype.t && IS_AGGR_TYPE_CODE (TREE_CODE (yyvsp[-2].ftype.t)))
5596 note_got_semicolon (yyvsp[-2].ftype.t);
5598 break;}
5599 case 320:
5600 #line 1751 "parse.y"
5602 resume_momentary (yyvsp[-1].itype);
5603 note_list_got_semicolon (yyvsp[-2].ftype.t);
5605 break;}
5606 case 321:
5607 #line 1756 "parse.y"
5608 { resume_momentary (yyvsp[-1].itype); ;
5609 break;}
5610 case 322:
5611 #line 1758 "parse.y"
5613 shadow_tag (yyvsp[-1].ftype.t);
5614 note_list_got_semicolon (yyvsp[-1].ftype.t);
5616 break;}
5617 case 323:
5618 #line 1763 "parse.y"
5619 { warning ("empty declaration"); ;
5620 break;}
5621 case 324:
5622 #line 1765 "parse.y"
5623 { pedantic = yyvsp[-1].itype; ;
5624 break;}
5625 case 327:
5626 #line 1779 "parse.y"
5627 { yyval.ttype = make_call_declarator (NULL_TREE, empty_parms (),
5628 NULL_TREE, NULL_TREE); ;
5629 break;}
5630 case 328:
5631 #line 1782 "parse.y"
5632 { yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), NULL_TREE,
5633 NULL_TREE); ;
5634 break;}
5635 case 329:
5636 #line 1789 "parse.y"
5637 { yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
5638 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5639 break;}
5640 case 330:
5641 #line 1792 "parse.y"
5642 { yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
5643 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5644 break;}
5645 case 331:
5646 #line 1795 "parse.y"
5647 { yyval.ftype.t = build_decl_list (get_decl_list (yyvsp[-1].ftype.t), yyvsp[0].ttype);
5648 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5649 break;}
5650 case 332:
5651 #line 1798 "parse.y"
5652 { yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE);
5653 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5654 break;}
5655 case 333:
5656 #line 1801 "parse.y"
5657 { yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE);
5658 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5659 break;}
5660 case 336:
5661 #line 1817 "parse.y"
5662 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ttype);
5663 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5664 break;}
5665 case 337:
5666 #line 1820 "parse.y"
5667 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype);
5668 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5669 break;}
5670 case 338:
5671 #line 1823 "parse.y"
5672 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-2].ftype.t, chainon (yyvsp[-1].ttype, yyvsp[0].ttype));
5673 yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ;
5674 break;}
5675 case 339:
5676 #line 1826 "parse.y"
5677 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ttype));
5678 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5679 break;}
5680 case 340:
5681 #line 1829 "parse.y"
5682 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ttype));
5683 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5684 break;}
5685 case 341:
5686 #line 1832 "parse.y"
5687 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-2].ftype.t,
5688 chainon (yyvsp[-1].ttype, chainon (yyvsp[0].ttype, yyvsp[-3].ttype)));
5689 yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ;
5690 break;}
5691 case 342:
5692 #line 1839 "parse.y"
5693 { if (extra_warnings)
5694 warning ("`%s' is not at beginning of declaration",
5695 IDENTIFIER_POINTER (yyval.ttype));
5696 yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
5697 break;}
5698 case 343:
5699 #line 1844 "parse.y"
5700 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyval.ttype); ;
5701 break;}
5702 case 344:
5703 #line 1846 "parse.y"
5704 { if (extra_warnings)
5705 warning ("`%s' is not at beginning of declaration",
5706 IDENTIFIER_POINTER (yyvsp[0].ttype));
5707 yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
5708 break;}
5709 case 345:
5710 #line 1851 "parse.y"
5711 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
5712 break;}
5713 case 346:
5714 #line 1853 "parse.y"
5715 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ;
5716 break;}
5717 case 347:
5718 #line 1863 "parse.y"
5719 { yyval.ttype = yyvsp[0].ftype.t; TREE_STATIC (yyval.ttype) = 1; ;
5720 break;}
5721 case 348:
5722 #line 1865 "parse.y"
5723 { yyval.ttype = IDENTIFIER_AS_LIST (yyval.ttype); ;
5724 break;}
5725 case 349:
5726 #line 1867 "parse.y"
5727 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype);
5728 TREE_STATIC (yyval.ttype) = 1; ;
5729 break;}
5730 case 350:
5731 #line 1870 "parse.y"
5732 { if (extra_warnings && TREE_STATIC (yyval.ttype))
5733 warning ("`%s' is not at beginning of declaration",
5734 IDENTIFIER_POINTER (yyvsp[0].ttype));
5735 yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype);
5736 TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
5737 break;}
5738 case 351:
5739 #line 1876 "parse.y"
5740 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
5741 break;}
5742 case 352:
5743 #line 1878 "parse.y"
5744 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ;
5745 break;}
5746 case 353:
5747 #line 1889 "parse.y"
5748 { yyval.ftype.t = get_decl_list (yyvsp[0].ftype.t);
5749 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5750 break;}
5751 case 354:
5752 #line 1892 "parse.y"
5753 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ftype.t);
5754 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5755 break;}
5756 case 355:
5757 #line 1895 "parse.y"
5758 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype);
5759 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5760 break;}
5761 case 356:
5762 #line 1898 "parse.y"
5763 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ftype.t));
5764 yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ;
5765 break;}
5766 case 357:
5767 #line 1904 "parse.y"
5768 { yyval.ttype = build_decl_list (NULL_TREE, yyvsp[0].ftype.t); ;
5769 break;}
5770 case 358:
5771 #line 1906 "parse.y"
5772 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ttype); ;
5773 break;}
5774 case 360:
5775 #line 1916 "parse.y"
5776 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5777 break;}
5778 case 361:
5779 #line 1918 "parse.y"
5780 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5781 break;}
5782 case 362:
5783 #line 1920 "parse.y"
5784 { yyval.ftype.t = TREE_TYPE (yyvsp[-1].ttype);
5785 yyval.ftype.new_type_flag = 0; ;
5786 break;}
5787 case 363:
5788 #line 1923 "parse.y"
5789 { yyval.ftype.t = groktypename (yyvsp[-1].ftype.t);
5790 yyval.ftype.new_type_flag = 0; ;
5791 break;}
5792 case 364:
5793 #line 1926 "parse.y"
5794 { tree type = TREE_TYPE (yyvsp[-1].ttype);
5796 yyval.ftype.new_type_flag = 0;
5797 if (IS_AGGR_TYPE (type))
5799 sorry ("sigof type specifier");
5800 yyval.ftype.t = type;
5802 else
5804 error ("`sigof' applied to non-aggregate expression");
5805 yyval.ftype.t = error_mark_node;
5808 break;}
5809 case 365:
5810 #line 1941 "parse.y"
5811 { tree type = groktypename (yyvsp[-1].ftype.t);
5813 yyval.ftype.new_type_flag = 0;
5814 if (IS_AGGR_TYPE (type))
5816 sorry ("sigof type specifier");
5817 yyval.ftype.t = type;
5819 else
5821 error("`sigof' applied to non-aggregate type");
5822 yyval.ftype.t = error_mark_node;
5825 break;}
5826 case 366:
5827 #line 1961 "parse.y"
5828 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5829 break;}
5830 case 367:
5831 #line 1963 "parse.y"
5832 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5833 break;}
5834 case 375:
5835 #line 1984 "parse.y"
5836 { yyval.ttype = NULL_TREE; ;
5837 break;}
5838 case 376:
5839 #line 1986 "parse.y"
5840 { if (TREE_CHAIN (yyvsp[-1].ttype)) yyvsp[-1].ttype = combine_strings (yyvsp[-1].ttype); yyval.ttype = yyvsp[-1].ttype; ;
5841 break;}
5842 case 377:
5843 #line 1991 "parse.y"
5844 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
5845 &prefix_attributes);
5846 if (current_declspecs
5847 && TREE_CODE (current_declspecs) != TREE_LIST)
5848 current_declspecs = get_decl_list (current_declspecs);
5849 if (have_extern_spec && !used_extern_spec)
5851 current_declspecs = decl_tree_cons
5852 (NULL_TREE, get_identifier ("extern"),
5853 current_declspecs);
5854 used_extern_spec = 1;
5856 yyvsp[0].itype = suspend_momentary ();
5857 yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1);
5858 cplus_decl_attributes (yyval.ttype, yyvsp[-1].ttype, prefix_attributes); ;
5859 break;}
5860 case 378:
5861 #line 2008 "parse.y"
5862 { cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 1, LOOKUP_ONLYCONVERTING);
5863 yyval.itype = yyvsp[-2].itype; ;
5864 break;}
5865 case 379:
5866 #line 2011 "parse.y"
5867 { tree d;
5868 split_specs_attrs (yyvsp[-3].ttype, &current_declspecs,
5869 &prefix_attributes);
5870 if (current_declspecs
5871 && TREE_CODE (current_declspecs) != TREE_LIST)
5872 current_declspecs = get_decl_list (current_declspecs);
5873 if (have_extern_spec && !used_extern_spec)
5875 current_declspecs = decl_tree_cons
5876 (NULL_TREE, get_identifier ("extern"),
5877 current_declspecs);
5878 used_extern_spec = 1;
5880 yyval.itype = suspend_momentary ();
5881 d = start_decl (yyvsp[-2].ttype, current_declspecs, 0);
5882 cplus_decl_attributes (d, yyvsp[0].ttype, prefix_attributes);
5883 cp_finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 1, 0); ;
5884 break;}
5885 case 380:
5886 #line 2032 "parse.y"
5887 { yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1);
5888 cplus_decl_attributes (yyval.ttype, yyvsp[-1].ttype, prefix_attributes); ;
5889 break;}
5890 case 381:
5891 #line 2036 "parse.y"
5892 { cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 1, LOOKUP_ONLYCONVERTING); ;
5893 break;}
5894 case 382:
5895 #line 2038 "parse.y"
5896 { yyval.ttype = start_decl (yyvsp[-2].ttype, current_declspecs, 0);
5897 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes);
5898 cp_finish_decl (yyval.ttype, NULL_TREE, yyvsp[-1].ttype, 1, 0); ;
5899 break;}
5900 case 383:
5901 #line 2045 "parse.y"
5902 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
5903 &prefix_attributes);
5904 yyvsp[0].itype = suspend_momentary ();
5905 yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1);
5906 cplus_decl_attributes (yyval.ttype, yyvsp[-1].ttype, prefix_attributes); ;
5907 break;}
5908 case 384:
5909 #line 2052 "parse.y"
5910 { cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 1, LOOKUP_ONLYCONVERTING);
5911 yyval.itype = yyvsp[-2].itype; ;
5912 break;}
5913 case 385:
5914 #line 2055 "parse.y"
5915 { tree d;
5916 split_specs_attrs (yyvsp[-3].ttype, &current_declspecs,
5917 &prefix_attributes);
5918 yyval.itype = suspend_momentary ();
5919 d = start_decl (yyvsp[-2].ttype, current_declspecs, 0);
5920 cplus_decl_attributes (d, yyvsp[0].ttype, prefix_attributes);
5921 cp_finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 1, 0); ;
5922 break;}
5923 case 386:
5924 #line 2066 "parse.y"
5925 { current_declspecs = NULL_TREE;
5926 prefix_attributes = NULL_TREE;
5927 yyvsp[0].itype = suspend_momentary ();
5928 yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1);
5929 cplus_decl_attributes (yyval.ttype, yyvsp[-1].ttype, prefix_attributes); ;
5930 break;}
5931 case 387:
5932 #line 2073 "parse.y"
5933 { cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 1, LOOKUP_ONLYCONVERTING);
5934 yyval.itype = yyvsp[-2].itype; ;
5935 break;}
5936 case 388:
5937 #line 2076 "parse.y"
5938 { tree d;
5939 current_declspecs = NULL_TREE;
5940 prefix_attributes = NULL_TREE;
5941 yyval.itype = suspend_momentary ();
5942 d = start_decl (yyvsp[-2].ttype, current_declspecs, 0);
5943 cplus_decl_attributes (d, yyvsp[0].ttype, prefix_attributes);
5944 cp_finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 1, 0); ;
5945 break;}
5946 case 389:
5947 #line 2089 "parse.y"
5948 { yyval.ttype = NULL_TREE; ;
5949 break;}
5950 case 390:
5951 #line 2091 "parse.y"
5952 { yyval.ttype = yyvsp[0].ttype; ;
5953 break;}
5954 case 391:
5955 #line 2096 "parse.y"
5956 { yyval.ttype = yyvsp[0].ttype; ;
5957 break;}
5958 case 392:
5959 #line 2098 "parse.y"
5960 { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ;
5961 break;}
5962 case 393:
5963 #line 2103 "parse.y"
5964 { yyval.ttype = yyvsp[-2].ttype; ;
5965 break;}
5966 case 394:
5967 #line 2108 "parse.y"
5968 { yyval.ttype = yyvsp[0].ttype; ;
5969 break;}
5970 case 395:
5971 #line 2110 "parse.y"
5972 { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
5973 break;}
5974 case 396:
5975 #line 2115 "parse.y"
5976 { yyval.ttype = NULL_TREE; ;
5977 break;}
5978 case 397:
5979 #line 2117 "parse.y"
5980 { yyval.ttype = build_tree_list (yyvsp[0].ttype, NULL_TREE); ;
5981 break;}
5982 case 398:
5983 #line 2119 "parse.y"
5984 { yyval.ttype = build_tree_list (yyvsp[-3].ttype, build_tree_list (NULL_TREE, yyvsp[-1].ttype)); ;
5985 break;}
5986 case 399:
5987 #line 2121 "parse.y"
5988 { yyval.ttype = build_tree_list (yyvsp[-5].ttype, tree_cons (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype)); ;
5989 break;}
5990 case 400:
5991 #line 2123 "parse.y"
5992 { yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5993 break;}
5994 case 405:
5995 #line 2139 "parse.y"
5996 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
5997 break;}
5998 case 406:
5999 #line 2141 "parse.y"
6000 { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
6001 break;}
6002 case 407:
6003 #line 2146 "parse.y"
6004 { yyval.ttype = NULL_TREE; ;
6005 break;}
6006 case 408:
6007 #line 2148 "parse.y"
6008 { yyval.ttype = yyvsp[0].ttype; ;
6009 break;}
6010 case 410:
6011 #line 2156 "parse.y"
6012 { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, NULL_TREE);
6013 TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
6014 break;}
6015 case 411:
6016 #line 2159 "parse.y"
6017 { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-1].ttype));
6018 TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
6019 break;}
6020 case 412:
6021 #line 2162 "parse.y"
6022 { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-2].ttype));
6023 TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
6024 break;}
6025 case 413:
6026 #line 2165 "parse.y"
6027 { yyval.ttype = NULL_TREE; ;
6028 break;}
6029 case 414:
6030 #line 2172 "parse.y"
6031 { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
6032 break;}
6033 case 415:
6034 #line 2174 "parse.y"
6035 { yyval.ttype = expr_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
6036 break;}
6037 case 416:
6038 #line 2177 "parse.y"
6039 { yyval.ttype = build_expr_list (yyvsp[-2].ttype, yyvsp[0].ttype); ;
6040 break;}
6041 case 417:
6042 #line 2179 "parse.y"
6043 { yyval.ttype = expr_tree_cons (yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype); ;
6044 break;}
6045 case 418:
6046 #line 2181 "parse.y"
6047 { yyval.ttype = build_expr_list (yyval.ttype, yyvsp[0].ttype); ;
6048 break;}
6049 case 419:
6050 #line 2183 "parse.y"
6051 { yyval.ttype = expr_tree_cons (yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype); ;
6052 break;}
6053 case 420:
6054 #line 2188 "parse.y"
6055 { start_function (NULL_TREE, TREE_VALUE (yyvsp[0].ttype),
6056 NULL_TREE, 1);
6057 reinit_parse_for_function (); ;
6058 break;}
6059 case 421:
6060 #line 2194 "parse.y"
6062 int nested = (hack_decl_function_context
6063 (current_function_decl) != NULL_TREE);
6064 finish_function (lineno, (int)yyvsp[-1].itype, nested);
6065 process_next_inline (yyvsp[-3].ttype);
6067 break;}
6068 case 422:
6069 #line 2201 "parse.y"
6070 { process_next_inline (yyvsp[-2].ttype); ;
6071 break;}
6072 case 423:
6073 #line 2203 "parse.y"
6074 { process_next_inline (yyvsp[-2].ttype); ;
6075 break;}
6076 case 426:
6077 #line 2215 "parse.y"
6078 { replace_defarg (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
6079 break;}
6080 case 427:
6081 #line 2217 "parse.y"
6082 { replace_defarg (yyvsp[-2].ttype, error_mark_node); ;
6083 break;}
6084 case 429:
6085 #line 2222 "parse.y"
6086 { do_pending_defargs (); ;
6087 break;}
6088 case 430:
6089 #line 2224 "parse.y"
6090 { do_pending_defargs (); ;
6091 break;}
6092 case 431:
6093 #line 2229 "parse.y"
6094 { yyvsp[0].itype = suspend_momentary ();
6095 yyval.ttype = start_enum (yyvsp[-1].ttype); ;
6096 break;}
6097 case 432:
6098 #line 2232 "parse.y"
6099 { yyval.ftype.t = finish_enum (yyvsp[-3].ttype, yyvsp[-2].ttype);
6100 yyval.ftype.new_type_flag = 1;
6101 resume_momentary ((int) yyvsp[-4].itype);
6102 check_for_missing_semicolon (yyvsp[-3].ttype); ;
6103 break;}
6104 case 433:
6105 #line 2237 "parse.y"
6106 { yyval.ftype.t = finish_enum (start_enum (yyvsp[-2].ttype), NULL_TREE);
6107 yyval.ftype.new_type_flag = 1;
6108 check_for_missing_semicolon (yyval.ftype.t); ;
6109 break;}
6110 case 434:
6111 #line 2241 "parse.y"
6112 { yyvsp[0].itype = suspend_momentary ();
6113 yyval.ttype = start_enum (make_anon_name ()); ;
6114 break;}
6115 case 435:
6116 #line 2244 "parse.y"
6117 { yyval.ftype.t = finish_enum (yyvsp[-3].ttype, yyvsp[-2].ttype);
6118 resume_momentary ((int) yyvsp[-5].itype);
6119 check_for_missing_semicolon (yyvsp[-3].ttype);
6120 yyval.ftype.new_type_flag = 1; ;
6121 break;}
6122 case 436:
6123 #line 2249 "parse.y"
6124 { yyval.ftype.t = finish_enum (start_enum (make_anon_name()), NULL_TREE);
6125 yyval.ftype.new_type_flag = 1;
6126 check_for_missing_semicolon (yyval.ftype.t); ;
6127 break;}
6128 case 437:
6129 #line 2253 "parse.y"
6130 { yyval.ftype.t = xref_tag (enum_type_node, yyvsp[0].ttype, NULL_TREE, 1);
6131 yyval.ftype.new_type_flag = 0; ;
6132 break;}
6133 case 438:
6134 #line 2256 "parse.y"
6135 { yyval.ftype.t = xref_tag (enum_type_node, yyvsp[0].ttype, NULL_TREE, 1);
6136 yyval.ftype.new_type_flag = 0; ;
6137 break;}
6138 case 439:
6139 #line 2259 "parse.y"
6140 { yyval.ftype.t = yyvsp[0].ttype;
6141 yyval.ftype.new_type_flag = 0; ;
6142 break;}
6143 case 440:
6144 #line 2263 "parse.y"
6145 { reset_specialization(); ;
6146 break;}
6147 case 441:
6148 #line 2265 "parse.y"
6150 int semi;
6151 tree id;
6153 yyval.ttype = yyvsp[-5].ttype;
6154 #if 0
6155 /* Need to rework class nesting in the
6156 presence of nested classes, etc. */
6157 shadow_tag (CLASSTYPE_AS_LIST (yyvsp[-5].ttype)); */
6158 #endif
6159 if (yychar == YYEMPTY)
6160 yychar = YYLEX;
6161 semi = yychar == ';';
6162 /* finish_struct nukes this anyway; if
6163 finish_exception does too, then it can go. */
6164 if (semi)
6165 note_got_semicolon (yyvsp[-5].ttype);
6167 if (TREE_CODE (yyvsp[-5].ttype) == ENUMERAL_TYPE)
6169 else
6171 yyval.ttype = finish_struct (yyvsp[-5].ttype, yyvsp[-2].ttype, yyvsp[0].ttype, semi);
6172 if (semi) note_got_semicolon (yyval.ttype);
6175 pop_obstacks ();
6177 if (! semi)
6178 check_for_missing_semicolon (yyvsp[-5].ttype);
6179 if (current_scope () == current_function_decl)
6180 do_pending_defargs ();
6182 break;}
6183 case 442:
6184 #line 2299 "parse.y"
6186 if (pending_inlines
6187 && current_scope () == current_function_decl)
6188 do_pending_inlines ();
6190 break;}
6191 case 443:
6192 #line 2305 "parse.y"
6194 yyval.ftype.t = yyvsp[-3].ttype;
6195 yyval.ftype.new_type_flag = 1;
6196 if (current_class_type == NULL_TREE)
6197 clear_inline_text_obstack ();
6199 break;}
6200 case 444:
6201 #line 2312 "parse.y"
6203 yyval.ftype.t = yyvsp[0].ttype;
6204 yyval.ftype.new_type_flag = 0;
6205 /* struct B: public A; is not accepted by the WP grammar. */
6206 if (TYPE_BINFO_BASETYPES (yyval.ftype.t) && !TYPE_SIZE (yyval.ftype.t)
6207 && ! TYPE_BEING_DEFINED (yyval.ftype.t))
6208 cp_error ("base clause without member specification for `%#T'",
6209 yyval.ftype.t);
6211 break;}
6212 case 448:
6213 #line 2331 "parse.y"
6214 { if (pedantic && !in_system_header)
6215 pedwarn ("comma at end of enumerator list"); ;
6216 break;}
6217 case 450:
6218 #line 2338 "parse.y"
6219 { error ("storage class specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
6220 break;}
6221 case 451:
6222 #line 2340 "parse.y"
6223 { error ("type specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
6224 break;}
6225 case 452:
6226 #line 2342 "parse.y"
6227 { error ("type qualifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
6228 break;}
6229 case 453:
6230 #line 2344 "parse.y"
6231 { error ("no body nor ';' separates two class, struct or union declarations"); ;
6232 break;}
6233 case 454:
6234 #line 2349 "parse.y"
6235 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
6236 break;}
6237 case 455:
6238 #line 2354 "parse.y"
6239 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
6240 break;}
6241 case 456:
6242 #line 2359 "parse.y"
6244 current_aggr = yyvsp[-2].ttype;
6245 yyval.ttype = handle_class_head (yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
6247 break;}
6248 case 457:
6249 #line 2364 "parse.y"
6251 current_aggr = yyvsp[-3].ttype;
6252 yyval.ttype = handle_class_head (yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
6254 break;}
6255 case 458:
6256 #line 2369 "parse.y"
6258 current_aggr = yyvsp[-2].ttype;
6259 yyval.ttype = handle_class_head (yyvsp[-2].ttype, NULL_TREE, yyvsp[0].ttype);
6261 break;}
6262 case 459:
6263 #line 2374 "parse.y"
6264 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
6265 break;}
6266 case 460:
6267 #line 2376 "parse.y"
6268 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
6269 break;}
6270 case 461:
6271 #line 2381 "parse.y"
6272 { yyval.ttype = xref_tag (current_aggr, yyvsp[0].ttype, NULL_TREE, 0); ;
6273 break;}
6274 case 462:
6275 #line 2386 "parse.y"
6276 { yyval.ttype = xref_tag (current_aggr, yyvsp[0].ttype, NULL_TREE, 1); ;
6277 break;}
6278 case 463:
6279 #line 2389 "parse.y"
6281 yyval.ttype = yyvsp[-1].ttype;
6282 if (yyvsp[0].ttype)
6283 xref_basetypes (current_aggr, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
6285 break;}
6286 case 464:
6287 #line 2395 "parse.y"
6289 yyval.ttype = TREE_TYPE (yyvsp[-1].ttype);
6290 if (TREE_INT_CST_LOW (current_aggr) == union_type
6291 && TREE_CODE (yyval.ttype) != UNION_TYPE)
6292 cp_pedwarn ("`union' tag used in declaring `%#T'", yyval.ttype);
6293 else if (TREE_CODE (yyval.ttype) == UNION_TYPE
6294 && TREE_INT_CST_LOW (current_aggr) != union_type)
6295 cp_pedwarn ("non-`union' tag used in declaring `%#T'", yyval.ttype);
6296 if (yyvsp[0].ttype)
6298 if (IS_AGGR_TYPE (yyval.ttype) && CLASSTYPE_USE_TEMPLATE (yyval.ttype))
6300 if (CLASSTYPE_IMPLICIT_INSTANTIATION (yyval.ttype)
6301 && TYPE_SIZE (yyval.ttype) == NULL_TREE)
6303 SET_CLASSTYPE_TEMPLATE_SPECIALIZATION (yyval.ttype);
6304 if (processing_template_decl)
6305 push_template_decl (TYPE_MAIN_DECL (yyval.ttype));
6307 else if (CLASSTYPE_TEMPLATE_INSTANTIATION (yyval.ttype))
6308 cp_error ("specialization after instantiation of `%T'", yyval.ttype);
6310 xref_basetypes (current_aggr, yyvsp[-1].ttype, yyval.ttype, yyvsp[0].ttype);
6313 break;}
6314 case 465:
6315 #line 2424 "parse.y"
6316 { yyval.ttype = xref_tag (yyval.ttype, make_anon_name (), NULL_TREE, 0);
6317 yyungetc ('{', 1); ;
6318 break;}
6319 case 468:
6320 #line 2435 "parse.y"
6321 { yyval.ttype = NULL_TREE; ;
6322 break;}
6323 case 469:
6324 #line 2437 "parse.y"
6325 { yyungetc(':', 1); yyval.ttype = NULL_TREE; ;
6326 break;}
6327 case 470:
6328 #line 2439 "parse.y"
6329 { yyval.ttype = yyvsp[0].ttype; ;
6330 break;}
6331 case 472:
6332 #line 2445 "parse.y"
6333 { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
6334 break;}
6335 case 473:
6336 #line 2450 "parse.y"
6338 tree type = TREE_TYPE (yyvsp[0].ttype);
6339 if (! is_aggr_type (type, 1))
6340 yyval.ttype = NULL_TREE;
6341 else if (current_aggr == signature_type_node
6342 && (! type) && (! IS_SIGNATURE (type)))
6344 error ("class name not allowed as base signature");
6345 yyval.ttype = NULL_TREE;
6347 else if (current_aggr == signature_type_node)
6349 sorry ("signature inheritance, base type `%s' ignored",
6350 IDENTIFIER_POINTER (yyval.ttype));
6351 yyval.ttype = build_tree_list (access_public_node, type);
6353 else if (type && IS_SIGNATURE (type))
6355 error ("signature name not allowed as base class");
6356 yyval.ttype = NULL_TREE;
6358 else
6359 yyval.ttype = build_tree_list (access_default_node, type);
6361 break;}
6362 case 474:
6363 #line 2475 "parse.y"
6365 tree type = TREE_TYPE (yyvsp[0].ttype);
6366 if (current_aggr == signature_type_node)
6367 error ("access and source specifiers not allowed in signature");
6368 if (! IS_AGGR_TYPE (type))
6369 yyval.ttype = NULL_TREE;
6370 else if (current_aggr == signature_type_node
6371 && (! type) && (! IS_SIGNATURE (type)))
6373 error ("class name not allowed as base signature");
6374 yyval.ttype = NULL_TREE;
6376 else if (current_aggr == signature_type_node)
6378 sorry ("signature inheritance, base type `%s' ignored",
6379 IDENTIFIER_POINTER (yyval.ttype));
6380 yyval.ttype = build_tree_list (access_public_node, type);
6382 else if (type && IS_SIGNATURE (type))
6384 error ("signature name not allowed as base class");
6385 yyval.ttype = NULL_TREE;
6387 else
6388 yyval.ttype = build_tree_list (yyval.ttype, type);
6390 break;}
6391 case 475:
6392 #line 2505 "parse.y"
6393 { yyval.ttype = TYPE_MAIN_DECL (yyvsp[0].ttype); ;
6394 break;}
6395 case 477:
6396 #line 2508 "parse.y"
6398 if (current_aggr == signature_type_node)
6400 if (IS_AGGR_TYPE (TREE_TYPE (yyvsp[-1].ttype)))
6402 sorry ("`sigof' as base signature specifier");
6403 yyval.ttype = TREE_TYPE (yyvsp[-1].ttype);
6405 else
6407 error ("`sigof' applied to non-aggregate expression");
6408 yyval.ttype = error_mark_node;
6411 else
6413 error ("`sigof' in struct or class declaration");
6414 yyval.ttype = error_mark_node;
6417 break;}
6418 case 478:
6419 #line 2529 "parse.y"
6421 if (current_aggr == signature_type_node)
6423 if (IS_AGGR_TYPE (groktypename (yyvsp[-1].ftype.t)))
6425 sorry ("`sigof' as base signature specifier");
6426 yyval.ttype = groktypename (yyvsp[-1].ftype.t);
6428 else
6430 error ("`sigof' applied to non-aggregate expression");
6431 yyval.ttype = error_mark_node;
6434 else
6436 error ("`sigof' in struct or class declaration");
6437 yyval.ttype = error_mark_node;
6440 break;}
6441 case 480:
6442 #line 2554 "parse.y"
6443 { if (yyval.ttype != ridpointers[(int)RID_VIRTUAL])
6444 sorry ("non-virtual access");
6445 yyval.ttype = access_default_virtual_node; ;
6446 break;}
6447 case 481:
6448 #line 2558 "parse.y"
6449 { int err = 0;
6450 if (yyvsp[-1].ttype == access_protected_node)
6452 warning ("`protected' access not implemented");
6453 yyvsp[-1].ttype = access_public_node;
6454 err++;
6456 else if (yyvsp[-1].ttype == access_public_node)
6458 if (yyvsp[-2].ttype == access_private_node)
6460 mixed:
6461 error ("base class cannot be public and private");
6463 else if (yyvsp[-2].ttype == access_default_virtual_node)
6464 yyval.ttype = access_public_virtual_node;
6466 else /* $2 == access_private_node */
6468 if (yyvsp[-2].ttype == access_public_node)
6469 goto mixed;
6470 else if (yyvsp[-2].ttype == access_default_virtual_node)
6471 yyval.ttype = access_private_virtual_node;
6474 break;}
6475 case 482:
6476 #line 2584 "parse.y"
6477 { if (yyvsp[-1].ttype != ridpointers[(int)RID_VIRTUAL])
6478 sorry ("non-virtual access");
6479 if (yyval.ttype == access_public_node)
6480 yyval.ttype = access_public_virtual_node;
6481 else if (yyval.ttype == access_private_node)
6482 yyval.ttype = access_private_virtual_node; ;
6483 break;}
6484 case 483:
6485 #line 2594 "parse.y"
6486 { tree t = yyvsp[-1].ttype;
6487 push_obstacks_nochange ();
6488 end_temporary_allocation ();
6490 if (t == error_mark_node
6491 || ! IS_AGGR_TYPE (t))
6493 t = yyvsp[-1].ttype = make_lang_type (RECORD_TYPE);
6494 pushtag (make_anon_name (), t, 0);
6496 if (TYPE_SIZE (t))
6497 duplicate_tag_error (t);
6498 if (TYPE_SIZE (t) || TYPE_BEING_DEFINED (t))
6500 t = make_lang_type (TREE_CODE (t));
6501 pushtag (TYPE_IDENTIFIER (yyvsp[-1].ttype), t, 0);
6502 yyvsp[-1].ttype = t;
6504 if (processing_template_decl && TYPE_CONTEXT (t)
6505 && ! current_class_type)
6506 push_template_decl (TYPE_STUB_DECL (t));
6507 pushclass (t, 0);
6508 TYPE_BEING_DEFINED (t) = 1;
6509 if (IS_AGGR_TYPE (t) && CLASSTYPE_USE_TEMPLATE (t))
6511 if (CLASSTYPE_IMPLICIT_INSTANTIATION (t)
6512 && TYPE_SIZE (t) == NULL_TREE)
6514 SET_CLASSTYPE_TEMPLATE_SPECIALIZATION (t);
6515 if (processing_template_decl)
6516 push_template_decl (TYPE_MAIN_DECL (t));
6518 else if (CLASSTYPE_TEMPLATE_INSTANTIATION (t))
6519 cp_error ("specialization after instantiation of `%T'", t);
6521 /* Reset the interface data, at the earliest possible
6522 moment, as it might have been set via a class foo;
6523 before. */
6524 /* Don't change signatures. */
6525 if (! IS_SIGNATURE (t))
6527 extern tree pending_vtables;
6528 int needs_writing;
6529 tree name = TYPE_IDENTIFIER (t);
6531 if (! ANON_AGGRNAME_P (name))
6533 CLASSTYPE_INTERFACE_ONLY (t) = interface_only;
6534 SET_CLASSTYPE_INTERFACE_UNKNOWN_X
6535 (t, interface_unknown);
6538 /* Record how to set the access of this class's
6539 virtual functions. If write_virtuals == 2 or 3, then
6540 inline virtuals are ``extern inline''. */
6541 switch (write_virtuals)
6543 case 0:
6544 case 1:
6545 needs_writing = 1;
6546 break;
6547 case 2:
6548 needs_writing = !! value_member (name, pending_vtables);
6549 break;
6550 case 3:
6551 needs_writing = ! CLASSTYPE_INTERFACE_ONLY (t)
6552 && CLASSTYPE_INTERFACE_KNOWN (t);
6553 break;
6554 default:
6555 needs_writing = 0;
6557 CLASSTYPE_VTABLE_NEEDS_WRITING (t) = needs_writing;
6559 #if 0
6560 t = TYPE_IDENTIFIER (yyvsp[-1].ttype);
6561 if (t && IDENTIFIER_TEMPLATE (t))
6562 overload_template_name (t, 1);
6563 #endif
6565 break;}
6566 case 484:
6567 #line 2677 "parse.y"
6569 yyval.ttype = build_self_reference ();
6571 break;}
6572 case 485:
6573 #line 2684 "parse.y"
6574 { if (yyval.ttype) yyval.ttype = build_tree_list (access_public_node, yyval.ttype); ;
6575 break;}
6576 case 486:
6577 #line 2686 "parse.y"
6579 if (current_aggr == signature_type_node)
6580 yyval.ttype = build_tree_list (access_public_node, yyvsp[0].ttype);
6581 else
6582 yyval.ttype = build_tree_list (access_default_node, yyvsp[0].ttype);
6583 if (yyvsp[-1].ttype) yyval.ttype = tree_cons (access_public_node, yyvsp[-1].ttype, yyval.ttype);
6585 break;}
6586 case 487:
6587 #line 2694 "parse.y"
6589 tree visspec = yyvsp[-2].ttype;
6591 if (current_aggr == signature_type_node)
6593 error ("access specifier not allowed in signature");
6594 visspec = access_public_node;
6596 yyval.ttype = chainon (yyval.ttype, build_tree_list (visspec, yyvsp[0].ttype));
6598 break;}
6599 case 488:
6600 #line 2705 "parse.y"
6602 if (current_aggr == signature_type_node)
6603 error ("access specifier not allowed in signature");
6605 break;}
6606 case 489:
6607 #line 2715 "parse.y"
6608 { if (yyval.ttype == void_type_node) yyval.ttype = NULL_TREE;
6610 break;}
6611 case 490:
6612 #line 2718 "parse.y"
6613 { /* In pushdecl, we created a reverse list of names
6614 in this binding level. Make sure that the chain
6615 of what we're trying to add isn't the item itself
6616 (which can happen with what pushdecl's doing). */
6617 if (yyvsp[0].ttype != NULL_TREE && yyvsp[0].ttype != void_type_node)
6619 if (TREE_CHAIN (yyvsp[0].ttype) != yyval.ttype)
6620 yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype);
6621 else
6622 yyval.ttype = yyvsp[0].ttype;
6625 break;}
6626 case 491:
6627 #line 2734 "parse.y"
6629 break;}
6630 case 492:
6631 #line 2736 "parse.y"
6632 { error ("missing ';' before right brace");
6633 yyungetc ('}', 0); ;
6634 break;}
6635 case 493:
6636 #line 2741 "parse.y"
6637 { yyval.ttype = finish_method (yyval.ttype); ;
6638 break;}
6639 case 494:
6640 #line 2743 "parse.y"
6641 { yyval.ttype = finish_method (yyval.ttype); ;
6642 break;}
6643 case 495:
6644 #line 2745 "parse.y"
6645 { yyval.ttype = finish_method (yyval.ttype); ;
6646 break;}
6647 case 496:
6648 #line 2747 "parse.y"
6649 { yyval.ttype = finish_method (yyval.ttype); ;
6650 break;}
6651 case 497:
6652 #line 2749 "parse.y"
6653 { yyval.ttype = NULL_TREE; ;
6654 break;}
6655 case 498:
6656 #line 2751 "parse.y"
6657 { yyval.ttype = yyvsp[0].ttype;
6658 pedantic = yyvsp[-1].itype; ;
6659 break;}
6660 case 499:
6661 #line 2760 "parse.y"
6662 { yyval.ttype = grok_x_components (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6663 break;}
6664 case 500:
6665 #line 2762 "parse.y"
6666 { yyval.ttype = grok_x_components (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6667 break;}
6668 case 501:
6669 #line 2764 "parse.y"
6670 { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
6671 build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
6672 break;}
6673 case 502:
6674 #line 2767 "parse.y"
6675 { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
6676 build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
6677 break;}
6678 case 503:
6679 #line 2770 "parse.y"
6680 { yyval.ttype = grokbitfield (NULL_TREE, NULL_TREE, yyvsp[0].ttype); ;
6681 break;}
6682 case 504:
6683 #line 2772 "parse.y"
6684 { yyval.ttype = NULL_TREE; ;
6685 break;}
6686 case 505:
6687 #line 2783 "parse.y"
6688 { tree specs, attrs;
6689 split_specs_attrs (yyvsp[-4].ttype, &specs, &attrs);
6690 yyval.ttype = grokfield (yyvsp[-3].ttype, specs, yyvsp[0].ttype, yyvsp[-2].ttype,
6691 build_tree_list (yyvsp[-1].ttype, attrs)); ;
6692 break;}
6693 case 506:
6694 #line 2788 "parse.y"
6695 { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
6696 build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
6697 break;}
6698 case 507:
6699 #line 2791 "parse.y"
6700 { yyval.ttype = do_class_using_decl (yyvsp[0].ttype); ;
6701 break;}
6702 case 508:
6703 #line 2793 "parse.y"
6705 if (yyvsp[-1].ttype)
6706 end_template_decl ();
6707 else
6708 end_specialization ();
6710 if (yyvsp[0].ttype && DECL_TEMPLATE_INFO (yyvsp[0].ttype)
6711 && !DECL_TEMPLATE_SPECIALIZATION (yyvsp[0].ttype))
6713 yyval.ttype = DECL_TI_TEMPLATE (yyvsp[0].ttype);
6714 check_member_template (yyval.ttype);
6716 else if (yyvsp[0].ttype)
6717 yyval.ttype = yyvsp[0].ttype;
6718 else
6720 cp_error("invalid member template declaration");
6721 yyval.ttype = NULL_TREE;
6724 break;}
6725 case 509:
6726 #line 2818 "parse.y"
6727 { yyval.ttype = NULL_TREE; ;
6728 break;}
6729 case 511:
6730 #line 2821 "parse.y"
6732 /* In this context, void_type_node encodes
6733 friends. They have been recorded elsewhere. */
6734 if (yyval.ttype == void_type_node)
6735 yyval.ttype = yyvsp[0].ttype;
6736 else
6737 yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype);
6739 break;}
6740 case 512:
6741 #line 2833 "parse.y"
6742 { yyval.ttype = NULL_TREE; ;
6743 break;}
6744 case 514:
6745 #line 2836 "parse.y"
6747 /* In this context, void_type_node encodes
6748 friends. They have been recorded elsewhere. */
6749 if (yyval.ttype == void_type_node)
6750 yyval.ttype = yyvsp[0].ttype;
6751 else
6752 yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype);
6754 break;}
6755 case 519:
6756 #line 2858 "parse.y"
6757 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6758 &prefix_attributes);
6759 yyvsp[-4].ttype = current_declspecs;
6760 yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6761 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6762 break;}
6763 case 520:
6764 #line 2864 "parse.y"
6765 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6766 &prefix_attributes);
6767 yyvsp[-4].ttype = current_declspecs;
6768 yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6769 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6770 break;}
6771 case 521:
6772 #line 2873 "parse.y"
6773 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6774 &prefix_attributes);
6775 yyvsp[-4].ttype = current_declspecs;
6776 yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6777 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6778 break;}
6779 case 522:
6780 #line 2879 "parse.y"
6781 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6782 &prefix_attributes);
6783 yyvsp[-4].ttype = current_declspecs;
6784 yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6785 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6786 break;}
6787 case 523:
6788 #line 2885 "parse.y"
6789 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6790 &prefix_attributes);
6791 yyvsp[-4].ttype = current_declspecs;
6792 yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6793 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6794 break;}
6795 case 524:
6796 #line 2891 "parse.y"
6797 { split_specs_attrs (yyvsp[-3].ttype, &current_declspecs,
6798 &prefix_attributes);
6799 yyvsp[-3].ttype = current_declspecs;
6800 yyval.ttype = grokbitfield (NULL_TREE, current_declspecs, yyvsp[-1].ttype);
6801 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6802 break;}
6803 case 525:
6804 #line 2900 "parse.y"
6805 { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6806 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6807 break;}
6808 case 526:
6809 #line 2903 "parse.y"
6810 { yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6811 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6812 break;}
6813 case 527:
6814 #line 2909 "parse.y"
6815 { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6816 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6817 break;}
6818 case 528:
6819 #line 2912 "parse.y"
6820 { yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6821 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6822 break;}
6823 case 529:
6824 #line 2915 "parse.y"
6825 { yyval.ttype = grokbitfield (NULL_TREE, current_declspecs, yyvsp[-1].ttype);
6826 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6827 break;}
6828 case 531:
6829 #line 2926 "parse.y"
6830 { TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
6831 break;}
6832 case 532:
6833 #line 2931 "parse.y"
6834 { yyval.ttype = build_enumerator (yyval.ttype, NULL_TREE); ;
6835 break;}
6836 case 533:
6837 #line 2933 "parse.y"
6838 { yyval.ttype = build_enumerator (yyval.ttype, yyvsp[0].ttype); ;
6839 break;}
6840 case 534:
6841 #line 2939 "parse.y"
6842 { yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
6843 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
6844 break;}
6845 case 535:
6846 #line 2942 "parse.y"
6847 { yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE);
6848 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
6849 break;}
6850 case 536:
6851 #line 2947 "parse.y"
6853 if (pedantic)
6854 pedwarn ("ANSI C++ forbids array dimensions with parenthesized type in new");
6855 yyval.ftype.t = build_parse_node (ARRAY_REF, TREE_VALUE (yyvsp[-4].ftype.t), yyvsp[-1].ttype);
6856 yyval.ftype.t = build_decl_list (TREE_PURPOSE (yyvsp[-4].ftype.t), yyval.ftype.t);
6857 yyval.ftype.new_type_flag = yyvsp[-4].ftype.new_type_flag;
6859 break;}
6860 case 537:
6861 #line 2958 "parse.y"
6862 { yyval.ttype = NULL_TREE; ;
6863 break;}
6864 case 538:
6865 #line 2960 "parse.y"
6866 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
6867 break;}
6868 case 539:
6869 #line 2965 "parse.y"
6870 { yyval.ftype.t = IDENTIFIER_AS_LIST (yyvsp[0].ttype);
6871 yyval.ftype.new_type_flag = 0; ;
6872 break;}
6873 case 540:
6874 #line 2968 "parse.y"
6875 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ftype.t);
6876 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
6877 break;}
6878 case 541:
6879 #line 2977 "parse.y"
6880 { yyval.itype = suspend_momentary (); ;
6881 break;}
6882 case 542:
6883 #line 2982 "parse.y"
6884 { resume_momentary ((int) yyvsp[-1].itype); yyval.ttype = yyvsp[0].ttype; ;
6885 break;}
6886 case 543:
6887 #line 2988 "parse.y"
6888 { resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = yyvsp[-1].ttype; ;
6889 break;}
6890 case 544:
6891 #line 2990 "parse.y"
6892 { resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = yyvsp[-1].ttype; ;
6893 break;}
6894 case 545:
6895 #line 2992 "parse.y"
6896 { resume_momentary ((int) yyvsp[-1].itype); yyval.ttype = empty_parms (); ;
6897 break;}
6898 case 546:
6899 #line 2994 "parse.y"
6900 { resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = NULL_TREE; ;
6901 break;}
6902 case 547:
6903 #line 3001 "parse.y"
6904 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6905 break;}
6906 case 548:
6907 #line 3003 "parse.y"
6908 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6909 break;}
6910 case 549:
6911 #line 3005 "parse.y"
6912 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
6913 break;}
6914 case 550:
6915 #line 3007 "parse.y"
6916 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
6917 break;}
6918 case 551:
6919 #line 3009 "parse.y"
6920 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
6921 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
6923 break;}
6924 case 553:
6925 #line 3017 "parse.y"
6927 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6929 yyval.ttype = lookup_name (yyvsp[0].ttype, 1);
6930 if (current_class_type
6931 && TYPE_BEING_DEFINED (current_class_type)
6932 && ! IDENTIFIER_CLASS_VALUE (yyvsp[0].ttype))
6934 /* Remember that this name has been used in the class
6935 definition, as per [class.scope0] */
6936 pushdecl_class_level (yyval.ttype);
6939 else
6940 yyval.ttype = yyvsp[0].ttype;
6942 break;}
6943 case 554:
6944 #line 3034 "parse.y"
6946 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6947 yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype);
6948 else
6949 yyval.ttype = yyvsp[0].ttype;
6950 got_scope = NULL_TREE;
6952 break;}
6953 case 557:
6954 #line 3047 "parse.y"
6955 { yyval.ttype = yyvsp[0].ttype; ;
6956 break;}
6957 case 558:
6958 #line 3052 "parse.y"
6959 { yyval.ttype = get_type_decl (yyvsp[0].ttype); ;
6960 break;}
6961 case 559:
6962 #line 3057 "parse.y"
6963 { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6964 break;}
6965 case 560:
6966 #line 3059 "parse.y"
6967 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
6968 break;}
6969 case 561:
6970 #line 3061 "parse.y"
6971 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
6972 break;}
6973 case 562:
6974 #line 3063 "parse.y"
6975 { yyval.ttype = yyvsp[-1].ttype; ;
6976 break;}
6977 case 563:
6978 #line 3065 "parse.y"
6979 { push_nested_class (yyvsp[-1].ttype, 3);
6980 yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype);
6981 TREE_COMPLEXITY (yyval.ttype) = current_class_depth; ;
6982 break;}
6983 case 565:
6984 #line 3076 "parse.y"
6985 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6986 break;}
6987 case 566:
6988 #line 3078 "parse.y"
6989 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6990 break;}
6991 case 567:
6992 #line 3080 "parse.y"
6993 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
6994 break;}
6995 case 568:
6996 #line 3082 "parse.y"
6997 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
6998 break;}
6999 case 569:
7000 #line 3084 "parse.y"
7001 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
7002 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
7004 break;}
7005 case 571:
7006 #line 3092 "parse.y"
7007 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7008 break;}
7009 case 572:
7010 #line 3094 "parse.y"
7011 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7012 break;}
7013 case 573:
7014 #line 3096 "parse.y"
7015 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
7016 break;}
7017 case 574:
7018 #line 3098 "parse.y"
7019 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
7020 break;}
7021 case 575:
7022 #line 3100 "parse.y"
7023 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
7024 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
7026 break;}
7027 case 577:
7028 #line 3108 "parse.y"
7029 { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7030 break;}
7031 case 578:
7032 #line 3110 "parse.y"
7033 { yyval.ttype = yyvsp[-1].ttype; ;
7034 break;}
7035 case 579:
7036 #line 3112 "parse.y"
7037 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
7038 break;}
7039 case 580:
7040 #line 3114 "parse.y"
7041 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
7042 break;}
7043 case 581:
7044 #line 3116 "parse.y"
7045 { if (OP0 (yyval.ttype) != current_class_type)
7047 push_nested_class (OP0 (yyval.ttype), 3);
7048 TREE_COMPLEXITY (yyval.ttype) = current_class_depth;
7051 break;}
7052 case 582:
7053 #line 3123 "parse.y"
7054 { got_scope = NULL_TREE;
7055 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype);
7056 if (yyvsp[-1].ttype != current_class_type)
7058 push_nested_class (yyvsp[-1].ttype, 3);
7059 TREE_COMPLEXITY (yyval.ttype) = current_class_depth;
7062 break;}
7063 case 583:
7064 #line 3135 "parse.y"
7065 { got_scope = NULL_TREE;
7066 yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ;
7067 break;}
7068 case 584:
7069 #line 3138 "parse.y"
7070 { got_scope = NULL_TREE;
7071 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7072 break;}
7073 case 585:
7074 #line 3144 "parse.y"
7075 { got_scope = NULL_TREE;
7076 yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ;
7077 break;}
7078 case 586:
7079 #line 3147 "parse.y"
7080 { got_scope = NULL_TREE;
7081 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7082 break;}
7083 case 588:
7084 #line 3154 "parse.y"
7085 { yyval.ttype = yyvsp[0].ttype; ;
7086 break;}
7087 case 589:
7088 #line 3159 "parse.y"
7089 { yyval.ttype = build_functional_cast (yyvsp[-3].ftype.t, yyvsp[-1].ttype); ;
7090 break;}
7091 case 590:
7092 #line 3161 "parse.y"
7093 { yyval.ttype = reparse_decl_as_expr (yyvsp[-3].ftype.t, yyvsp[-1].ttype); ;
7094 break;}
7095 case 591:
7096 #line 3163 "parse.y"
7097 { yyval.ttype = reparse_absdcl_as_expr (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7098 break;}
7099 case 596:
7100 #line 3175 "parse.y"
7101 { yyval.ttype = yyvsp[0].ttype; ;
7102 break;}
7103 case 597:
7104 #line 3182 "parse.y"
7106 if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE)
7108 yyval.ttype = lastiddecl;
7109 /* Remember that this name has been used in the class
7110 definition, as per [class.scope0] */
7111 if (current_class_type
7112 && TYPE_BEING_DEFINED (current_class_type)
7113 && ! IDENTIFIER_CLASS_VALUE (yyvsp[-1].ttype))
7114 pushdecl_class_level (yyval.ttype);
7116 got_scope = yyval.ttype = TREE_TYPE (yyval.ttype);
7118 break;}
7119 case 598:
7120 #line 3196 "parse.y"
7122 if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE)
7123 yyval.ttype = lastiddecl;
7124 got_scope = yyval.ttype = TREE_TYPE (yyval.ttype);
7126 break;}
7127 case 599:
7128 #line 3202 "parse.y"
7130 if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
7131 yyval.ttype = lastiddecl;
7132 got_scope = yyval.ttype;
7134 break;}
7135 case 600:
7136 #line 3208 "parse.y"
7137 { got_scope = yyval.ttype = complete_type (TREE_TYPE (yyvsp[-1].ttype)); ;
7138 break;}
7139 case 602:
7140 #line 3224 "parse.y"
7141 { yyval.ttype = yyvsp[0].ttype; ;
7142 break;}
7143 case 603:
7144 #line 3229 "parse.y"
7146 if (TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype)) == 't')
7147 yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype);
7148 else if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
7149 cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
7150 else
7151 yyval.ttype = yyvsp[0].ttype;
7153 break;}
7154 case 604:
7155 #line 3241 "parse.y"
7157 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
7158 cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
7160 break;}
7161 case 605:
7162 #line 3246 "parse.y"
7164 if (TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype)) == 't')
7165 yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype);
7166 else if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
7167 cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
7168 else
7169 yyval.ttype = yyvsp[0].ttype;
7171 break;}
7172 case 606:
7173 #line 3258 "parse.y"
7175 if (TREE_CODE (yyvsp[-1].ttype) != IDENTIFIER_NODE)
7176 yyval.ttype = lastiddecl;
7177 got_scope = yyval.ttype = complete_type (TREE_TYPE (yyval.ttype));
7179 break;}
7180 case 607:
7181 #line 3264 "parse.y"
7183 if (TREE_CODE (yyvsp[-1].ttype) != IDENTIFIER_NODE)
7184 yyval.ttype = lastiddecl;
7185 got_scope = yyval.ttype = complete_type (TREE_TYPE (yyval.ttype));
7187 break;}
7188 case 608:
7189 #line 3270 "parse.y"
7190 { got_scope = yyval.ttype = complete_type (TREE_TYPE (yyval.ttype)); ;
7191 break;}
7192 case 611:
7193 #line 3274 "parse.y"
7195 if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
7196 yyval.ttype = lastiddecl;
7197 got_scope = yyval.ttype;
7199 break;}
7200 case 612:
7201 #line 3283 "parse.y"
7203 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
7204 yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype);
7205 else
7206 yyval.ttype = yyvsp[0].ttype;
7207 got_scope = NULL_TREE;
7209 break;}
7210 case 614:
7211 #line 3292 "parse.y"
7212 { yyval.ttype = yyvsp[0].ttype; ;
7213 break;}
7214 case 615:
7215 #line 3297 "parse.y"
7216 { got_scope = NULL_TREE; ;
7217 break;}
7218 case 616:
7219 #line 3299 "parse.y"
7220 { yyval.ttype = yyvsp[-1].ttype; got_scope = NULL_TREE; ;
7221 break;}
7222 case 617:
7223 #line 3306 "parse.y"
7224 { got_scope = void_type_node; ;
7225 break;}
7226 case 618:
7227 #line 3312 "parse.y"
7228 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
7229 break;}
7230 case 619:
7231 #line 3314 "parse.y"
7232 { yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ;
7233 break;}
7234 case 620:
7235 #line 3316 "parse.y"
7236 { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
7237 break;}
7238 case 621:
7239 #line 3318 "parse.y"
7240 { yyval.ttype = make_reference_declarator (yyvsp[0].ttype, NULL_TREE); ;
7241 break;}
7242 case 622:
7243 #line 3320 "parse.y"
7244 { tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE);
7245 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, arg);
7247 break;}
7248 case 623:
7249 #line 3324 "parse.y"
7250 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
7251 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
7253 break;}
7254 case 625:
7255 #line 3333 "parse.y"
7256 { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
7257 break;}
7258 case 626:
7259 #line 3335 "parse.y"
7260 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
7261 break;}
7262 case 627:
7263 #line 3341 "parse.y"
7264 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7265 break;}
7266 case 628:
7267 #line 3343 "parse.y"
7268 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
7269 break;}
7270 case 629:
7271 #line 3345 "parse.y"
7272 { yyval.ttype = make_pointer_declarator (yyvsp[0].ftype.t, NULL_TREE); ;
7273 break;}
7274 case 630:
7275 #line 3347 "parse.y"
7276 { yyval.ttype = make_pointer_declarator (NULL_TREE, NULL_TREE); ;
7277 break;}
7278 case 631:
7279 #line 3349 "parse.y"
7280 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7281 break;}
7282 case 632:
7283 #line 3351 "parse.y"
7284 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
7285 break;}
7286 case 633:
7287 #line 3353 "parse.y"
7288 { yyval.ttype = make_reference_declarator (yyvsp[0].ftype.t, NULL_TREE); ;
7289 break;}
7290 case 634:
7291 #line 3355 "parse.y"
7292 { yyval.ttype = make_reference_declarator (NULL_TREE, NULL_TREE); ;
7293 break;}
7294 case 635:
7295 #line 3357 "parse.y"
7296 { tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE);
7297 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, arg);
7299 break;}
7300 case 636:
7301 #line 3361 "parse.y"
7302 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
7303 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
7305 break;}
7306 case 638:
7307 #line 3370 "parse.y"
7308 { yyval.ttype = yyvsp[-1].ttype; ;
7309 break;}
7310 case 640:
7311 #line 3374 "parse.y"
7312 { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7313 break;}
7314 case 641:
7315 #line 3376 "parse.y"
7316 { yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
7317 break;}
7318 case 642:
7319 #line 3378 "parse.y"
7320 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
7321 break;}
7322 case 643:
7323 #line 3380 "parse.y"
7324 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
7325 break;}
7326 case 644:
7327 #line 3382 "parse.y"
7328 { yyval.ttype = make_call_declarator (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7329 break;}
7330 case 645:
7331 #line 3384 "parse.y"
7332 { set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7333 break;}
7334 case 646:
7335 #line 3386 "parse.y"
7336 { set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7337 break;}
7338 case 647:
7339 #line 3388 "parse.y"
7340 { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
7341 break;}
7342 case 648:
7343 #line 3390 "parse.y"
7344 { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, NULL_TREE); ;
7345 break;}
7346 case 654:
7347 #line 3414 "parse.y"
7348 { do_pushlevel (); ;
7349 break;}
7350 case 655:
7351 #line 3419 "parse.y"
7352 { yyval.ttype = do_poplevel (); ;
7353 break;}
7354 case 657:
7355 #line 3427 "parse.y"
7356 { if (pedantic)
7357 pedwarn ("ANSI C++ forbids label declarations"); ;
7358 break;}
7359 case 660:
7360 #line 3438 "parse.y"
7361 { tree link;
7362 for (link = yyvsp[-1].ttype; link; link = TREE_CHAIN (link))
7364 tree label = shadow_label (TREE_VALUE (link));
7365 C_DECLARED_LABEL_FLAG (label) = 1;
7366 declare_nonlocal_label (label);
7369 break;}
7370 case 661:
7371 #line 3452 "parse.y"
7373 break;}
7374 case 663:
7375 #line 3458 "parse.y"
7377 if (processing_template_decl)
7379 yyval.ttype = build_min_nt (COMPOUND_STMT, NULL_TREE);
7380 add_tree (yyval.ttype);
7383 break;}
7384 case 664:
7385 #line 3466 "parse.y"
7387 if (processing_template_decl)
7389 TREE_OPERAND (yyvsp[-3].ttype, 0) = TREE_CHAIN (yyvsp[-3].ttype);
7390 TREE_CHAIN (yyvsp[-3].ttype) = NULL_TREE;
7391 last_tree = yyvsp[-3].ttype;
7393 yyval.ttype = yyvsp[0].ttype;
7395 break;}
7396 case 665:
7397 #line 3479 "parse.y"
7399 if (processing_template_decl)
7401 yyval.ttype = build_min_nt (IF_STMT, NULL_TREE, NULL_TREE,
7402 NULL_TREE);
7403 add_tree (yyval.ttype);
7405 cond_stmt_keyword = "if";
7407 break;}
7408 case 666:
7409 #line 3489 "parse.y"
7411 if (processing_template_decl)
7413 if (last_tree != yyvsp[-2].ttype)
7415 TREE_OPERAND (yyvsp[-2].ttype, 0) = last_tree;
7416 TREE_CHAIN (yyvsp[-2].ttype) = NULL_TREE;
7417 last_tree = yyvsp[-2].ttype;
7419 else
7420 TREE_OPERAND (yyvsp[-2].ttype, 0) = yyvsp[0].ttype;
7422 else
7424 emit_line_note (input_filename, lineno);
7425 expand_start_cond (yyvsp[0].ttype, 0);
7428 break;}
7429 case 667:
7430 #line 3508 "parse.y"
7432 if (processing_template_decl)
7434 TREE_OPERAND (yyvsp[-4].ttype, 1) = TREE_CHAIN (yyvsp[-4].ttype);
7435 TREE_CHAIN (yyvsp[-4].ttype) = NULL_TREE;
7436 yyval.ttype = last_tree = yyvsp[-4].ttype;
7439 break;}
7440 case 668:
7441 #line 3520 "parse.y"
7442 { finish_stmt (); ;
7443 break;}
7444 case 669:
7445 #line 3522 "parse.y"
7447 if (processing_template_decl)
7449 yyval.ttype = build_min_nt (COMPOUND_STMT, NULL_TREE);
7450 add_tree (yyval.ttype);
7453 break;}
7454 case 670:
7455 #line 3530 "parse.y"
7457 if (processing_template_decl)
7459 TREE_OPERAND (yyvsp[-2].ttype, 0) = TREE_CHAIN (yyvsp[-2].ttype);
7460 TREE_CHAIN (yyvsp[-2].ttype) = NULL_TREE;
7461 last_tree = yyvsp[-2].ttype;
7463 yyval.ttype = yyvsp[0].ttype;
7465 break;}
7466 case 671:
7467 #line 3543 "parse.y"
7468 { finish_stmt (); ;
7469 break;}
7470 case 673:
7471 #line 3549 "parse.y"
7472 { finish_stmt (); ;
7473 break;}
7474 case 674:
7475 #line 3551 "parse.y"
7477 tree expr = yyvsp[-1].ttype;
7478 if (! processing_template_decl)
7480 emit_line_note (input_filename, lineno);
7481 /* Do default conversion if safe and possibly important,
7482 in case within ({...}). */
7483 if ((TREE_CODE (TREE_TYPE (expr)) == ARRAY_TYPE
7484 && lvalue_p (expr))
7485 || TREE_CODE (TREE_TYPE (expr)) == FUNCTION_TYPE)
7486 expr = default_conversion (expr);
7488 cplus_expand_expr_stmt (expr);
7489 clear_momentary ();
7490 finish_stmt (); ;
7491 break;}
7492 case 675:
7493 #line 3567 "parse.y"
7494 { if (! processing_template_decl) expand_start_else (); ;
7495 break;}
7496 case 676:
7497 #line 3569 "parse.y"
7499 if (processing_template_decl)
7501 TREE_OPERAND (yyvsp[-3].ttype, 2) = TREE_CHAIN (yyvsp[-3].ttype);
7502 TREE_CHAIN (yyvsp[-3].ttype) = NULL_TREE;
7503 last_tree = yyvsp[-3].ttype;
7505 else
7506 expand_end_cond ();
7508 break;}
7509 case 677:
7510 #line 3580 "parse.y"
7511 { finish_stmt (); ;
7512 break;}
7513 case 678:
7514 #line 3582 "parse.y"
7515 { if (! processing_template_decl) expand_end_cond ();
7516 do_poplevel ();
7517 finish_stmt (); ;
7518 break;}
7519 case 679:
7520 #line 3586 "parse.y"
7522 if (processing_template_decl)
7524 yyval.ttype = build_min_nt (WHILE_STMT, NULL_TREE, NULL_TREE);
7525 add_tree (yyval.ttype);
7527 else
7529 emit_nop ();
7530 emit_line_note (input_filename, lineno);
7531 expand_start_loop (1);
7533 cond_stmt_keyword = "while";
7535 break;}
7536 case 680:
7537 #line 3601 "parse.y"
7539 if (processing_template_decl)
7541 if (last_tree != yyvsp[-2].ttype)
7543 TREE_OPERAND (yyvsp[-2].ttype, 0) = last_tree;
7544 TREE_CHAIN (yyvsp[-2].ttype) = NULL_TREE;
7545 last_tree = yyvsp[-2].ttype;
7547 else
7548 TREE_OPERAND (yyvsp[-2].ttype, 0) = yyvsp[0].ttype;
7550 else
7552 emit_line_note (input_filename, lineno);
7553 expand_exit_loop_if_false (0, yyvsp[0].ttype);
7556 break;}
7557 case 681:
7558 #line 3620 "parse.y"
7560 if (processing_template_decl)
7562 TREE_OPERAND (yyvsp[-5].ttype, 1) = TREE_CHAIN (yyvsp[-5].ttype);
7563 TREE_CHAIN (yyvsp[-5].ttype) = NULL_TREE;
7564 last_tree = yyvsp[-5].ttype;
7566 else
7567 expand_end_loop ();
7568 finish_stmt ();
7570 break;}
7571 case 682:
7572 #line 3632 "parse.y"
7574 if (processing_template_decl)
7576 yyval.ttype = build_min_nt (DO_STMT, NULL_TREE, NULL_TREE);
7577 add_tree (yyval.ttype);
7579 else
7581 emit_nop ();
7582 emit_line_note (input_filename, lineno);
7583 expand_start_loop_continue_elsewhere (1);
7586 break;}
7587 case 683:
7588 #line 3646 "parse.y"
7590 if (processing_template_decl)
7592 TREE_OPERAND (yyvsp[-2].ttype, 0) = TREE_CHAIN (yyvsp[-2].ttype);
7593 TREE_CHAIN (yyvsp[-2].ttype) = NULL_TREE;
7594 last_tree = yyvsp[-2].ttype;
7596 else
7598 expand_loop_continue_here ();
7599 cond_stmt_keyword = "do";
7602 break;}
7603 case 684:
7604 #line 3660 "parse.y"
7606 if (processing_template_decl)
7607 TREE_OPERAND (yyvsp[-5].ttype, 1) = yyvsp[-1].ttype;
7608 else
7610 emit_line_note (input_filename, lineno);
7611 expand_exit_loop_if_false (0, yyvsp[-1].ttype);
7612 expand_end_loop ();
7614 clear_momentary ();
7615 finish_stmt ();
7617 break;}
7618 case 685:
7619 #line 3673 "parse.y"
7620 { if (processing_template_decl)
7622 yyval.ttype = build_min_nt (FOR_STMT, NULL_TREE, NULL_TREE,
7623 NULL_TREE, NULL_TREE);
7624 add_tree (yyval.ttype);
7626 else
7627 emit_line_note (input_filename, lineno);
7628 if (flag_new_for_scope > 0)
7630 /* Conditionalize .pushlevel */
7631 pushlevel (0);
7632 note_level_for_for ();
7633 clear_last_expr ();
7634 push_momentary ();
7635 expand_start_bindings (0);
7638 break;}
7639 case 686:
7640 #line 3692 "parse.y"
7642 if (processing_template_decl)
7644 if (last_tree != yyvsp[-2].ttype)
7646 TREE_OPERAND (yyvsp[-2].ttype, 0) = TREE_CHAIN (yyvsp[-2].ttype);
7647 TREE_CHAIN (yyvsp[-2].ttype) = NULL_TREE;
7648 last_tree = yyvsp[-2].ttype;
7651 else
7653 emit_nop ();
7654 emit_line_note (input_filename, lineno);
7655 expand_start_loop_continue_elsewhere (1);
7658 break;}
7659 case 687:
7660 #line 3710 "parse.y"
7662 if (processing_template_decl)
7664 if (last_tree != yyvsp[-6].ttype)
7666 TREE_OPERAND (yyvsp[-6].ttype, 1) = last_tree;
7667 TREE_CHAIN (yyvsp[-6].ttype) = NULL_TREE;
7668 last_tree = yyvsp[-6].ttype;
7670 else
7671 TREE_OPERAND (yyvsp[-6].ttype, 1) = yyvsp[-1].ttype;
7673 else
7675 emit_line_note (input_filename, lineno);
7676 if (yyvsp[-1].ttype) expand_exit_loop_if_false (0, yyvsp[-1].ttype);
7679 break;}
7680 case 688:
7681 #line 3731 "parse.y"
7683 if (processing_template_decl)
7684 TREE_OPERAND (yyvsp[-9].ttype, 2) = yyvsp[-1].ttype;
7685 push_momentary ();
7687 break;}
7688 case 689:
7689 #line 3737 "parse.y"
7691 if (processing_template_decl)
7693 TREE_OPERAND (yyvsp[-12].ttype, 3) = TREE_CHAIN (yyvsp[-12].ttype);
7694 TREE_CHAIN (yyvsp[-12].ttype) = NULL_TREE;
7695 last_tree = yyvsp[-12].ttype;
7697 else
7699 emit_line_note (input_filename, lineno);
7700 expand_loop_continue_here ();
7701 if (yyvsp[-4].ttype) cplus_expand_expr_stmt (yyvsp[-4].ttype);
7702 expand_end_loop ();
7704 pop_momentary ();
7705 if (flag_new_for_scope > 0)
7707 do_poplevel ();
7709 finish_stmt (); ;
7710 break;}
7711 case 690:
7712 #line 3758 "parse.y"
7714 if (processing_template_decl)
7716 yyval.ttype = build_min_nt (SWITCH_STMT, yyvsp[-1].ttype, NULL_TREE);
7717 add_tree (yyval.ttype);
7719 else
7721 emit_line_note (input_filename, lineno);
7722 c_expand_start_case (yyvsp[-1].ttype);
7724 push_switch ();
7725 /* Don't let the tree nodes for $4 be discarded by
7726 clear_momentary during the parsing of the next stmt. */
7727 push_momentary ();
7729 break;}
7730 case 691:
7731 #line 3775 "parse.y"
7733 if (processing_template_decl)
7735 TREE_OPERAND (yyvsp[-1].ttype, 1) = TREE_CHAIN (yyvsp[-1].ttype);
7736 TREE_CHAIN (yyvsp[-1].ttype) = NULL_TREE;
7737 last_tree = yyvsp[-1].ttype;
7739 else
7740 expand_end_case (yyvsp[-3].ttype);
7741 pop_momentary ();
7742 pop_switch ();
7744 break;}
7745 case 692:
7746 #line 3788 "parse.y"
7747 { finish_stmt (); ;
7748 break;}
7749 case 693:
7750 #line 3790 "parse.y"
7751 { do_case (yyvsp[-1].ttype, NULL_TREE); ;
7752 break;}
7753 case 695:
7754 #line 3793 "parse.y"
7755 { do_case (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
7756 break;}
7757 case 697:
7758 #line 3796 "parse.y"
7759 { do_case (NULL_TREE, NULL_TREE); ;
7760 break;}
7761 case 699:
7762 #line 3799 "parse.y"
7763 { emit_line_note (input_filename, lineno);
7764 if (processing_template_decl)
7765 add_tree (build_min_nt (BREAK_STMT));
7766 else if ( ! expand_exit_something ())
7767 error ("break statement not within loop or switch"); ;
7768 break;}
7769 case 700:
7770 #line 3805 "parse.y"
7771 { emit_line_note (input_filename, lineno);
7772 if (processing_template_decl)
7773 add_tree (build_min_nt (CONTINUE_STMT));
7774 else if (! expand_continue_loop (0))
7775 error ("continue statement not within a loop"); ;
7776 break;}
7777 case 701:
7778 #line 3811 "parse.y"
7779 { emit_line_note (input_filename, lineno);
7780 c_expand_return (NULL_TREE); ;
7781 break;}
7782 case 702:
7783 #line 3814 "parse.y"
7784 { emit_line_note (input_filename, lineno);
7785 c_expand_return (yyvsp[-1].ttype);
7786 finish_stmt ();
7788 break;}
7789 case 703:
7790 #line 3819 "parse.y"
7791 { if (TREE_CHAIN (yyvsp[-2].ttype)) yyvsp[-2].ttype = combine_strings (yyvsp[-2].ttype);
7792 emit_line_note (input_filename, lineno);
7793 expand_asm (yyvsp[-2].ttype);
7794 finish_stmt ();
7796 break;}
7797 case 704:
7798 #line 3826 "parse.y"
7799 { if (TREE_CHAIN (yyvsp[-4].ttype)) yyvsp[-4].ttype = combine_strings (yyvsp[-4].ttype);
7800 emit_line_note (input_filename, lineno);
7801 c_expand_asm_operands (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE,
7802 yyvsp[-6].ttype == ridpointers[(int)RID_VOLATILE],
7803 input_filename, lineno);
7804 finish_stmt ();
7806 break;}
7807 case 705:
7808 #line 3835 "parse.y"
7809 { if (TREE_CHAIN (yyvsp[-6].ttype)) yyvsp[-6].ttype = combine_strings (yyvsp[-6].ttype);
7810 emit_line_note (input_filename, lineno);
7811 c_expand_asm_operands (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE,
7812 yyvsp[-8].ttype == ridpointers[(int)RID_VOLATILE],
7813 input_filename, lineno);
7814 finish_stmt ();
7816 break;}
7817 case 706:
7818 #line 3845 "parse.y"
7819 { if (TREE_CHAIN (yyvsp[-8].ttype)) yyvsp[-8].ttype = combine_strings (yyvsp[-8].ttype);
7820 emit_line_note (input_filename, lineno);
7821 c_expand_asm_operands (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype,
7822 yyvsp[-10].ttype == ridpointers[(int)RID_VOLATILE],
7823 input_filename, lineno);
7824 finish_stmt ();
7826 break;}
7827 case 707:
7828 #line 3853 "parse.y"
7830 if (processing_template_decl)
7831 add_tree (build_min_nt (GOTO_STMT, yyvsp[-1].ttype));
7832 else
7833 { emit_line_note (input_filename, lineno);
7834 expand_computed_goto (yyvsp[-1].ttype); }
7836 break;}
7837 case 708:
7838 #line 3861 "parse.y"
7840 if (processing_template_decl)
7841 add_tree (build_min_nt (GOTO_STMT, yyvsp[-1].ttype));
7842 else
7844 tree decl;
7845 emit_line_note (input_filename, lineno);
7846 decl = lookup_label (yyvsp[-1].ttype);
7847 TREE_USED (decl) = 1;
7848 expand_goto (decl);
7851 break;}
7852 case 709:
7853 #line 3874 "parse.y"
7854 { finish_stmt (); ;
7855 break;}
7856 case 710:
7857 #line 3876 "parse.y"
7858 { error ("label must be followed by statement");
7859 yyungetc ('}', 0);
7860 finish_stmt (); ;
7861 break;}
7862 case 711:
7863 #line 3880 "parse.y"
7864 { finish_stmt (); ;
7865 break;}
7866 case 713:
7867 #line 3886 "parse.y"
7869 if (! current_function_parms_stored)
7870 store_parm_decls ();
7871 expand_start_early_try_stmts ();
7873 break;}
7874 case 714:
7875 #line 3892 "parse.y"
7876 { expand_start_all_catch (); ;
7877 break;}
7878 case 715:
7879 #line 3894 "parse.y"
7881 int nested = (hack_decl_function_context
7882 (current_function_decl) != NULL_TREE);
7883 expand_end_all_catch ();
7884 finish_function (lineno, (int)yyvsp[-3].itype, nested);
7886 break;}
7887 case 716:
7888 #line 3904 "parse.y"
7890 if (processing_template_decl)
7892 yyval.ttype = build_min_nt (TRY_BLOCK, NULL_TREE,
7893 NULL_TREE);
7894 add_tree (yyval.ttype);
7896 else
7898 emit_line_note (input_filename, lineno);
7899 expand_start_try_stmts ();
7902 break;}
7903 case 717:
7904 #line 3918 "parse.y"
7906 if (processing_template_decl)
7908 TREE_OPERAND (yyvsp[-1].ttype, 0) = TREE_CHAIN (yyvsp[-1].ttype);
7909 TREE_CHAIN (yyvsp[-1].ttype) = NULL_TREE;
7910 last_tree = yyvsp[-1].ttype;
7912 else
7913 expand_start_all_catch ();
7915 break;}
7916 case 718:
7917 #line 3929 "parse.y"
7919 if (processing_template_decl)
7921 TREE_OPERAND (yyvsp[-3].ttype, 1) = TREE_CHAIN (yyvsp[-3].ttype);
7922 TREE_CHAIN (yyvsp[-3].ttype) = NULL_TREE;
7923 last_tree = yyvsp[-3].ttype;
7925 else
7926 expand_end_all_catch ();
7928 break;}
7929 case 721:
7930 #line 3948 "parse.y"
7932 if (processing_template_decl)
7934 yyval.ttype = build_min_nt (HANDLER, NULL_TREE,
7935 NULL_TREE);
7936 add_tree (yyval.ttype);
7939 break;}
7940 case 722:
7941 #line 3957 "parse.y"
7943 if (processing_template_decl)
7945 TREE_OPERAND (yyvsp[-2].ttype, 0) = TREE_CHAIN (yyvsp[-2].ttype);
7946 TREE_CHAIN (yyvsp[-2].ttype) = NULL_TREE;
7947 last_tree = yyvsp[-2].ttype;
7950 break;}
7951 case 723:
7952 #line 3966 "parse.y"
7954 if (processing_template_decl)
7956 TREE_OPERAND (yyvsp[-4].ttype, 1) = TREE_CHAIN (yyvsp[-4].ttype);
7957 TREE_CHAIN (yyvsp[-4].ttype) = NULL_TREE;
7958 last_tree = yyvsp[-4].ttype;
7960 else
7961 expand_end_catch_block ();
7963 break;}
7964 case 727:
7965 #line 3986 "parse.y"
7966 { expand_start_catch_block (NULL_TREE, NULL_TREE); ;
7967 break;}
7968 case 728:
7969 #line 4002 "parse.y"
7970 { check_for_new_type ("inside exception declarations", yyvsp[-1].ftype);
7971 expand_start_catch_block (TREE_PURPOSE (yyvsp[-1].ftype.t),
7972 TREE_VALUE (yyvsp[-1].ftype.t)); ;
7973 break;}
7974 case 729:
7975 #line 4009 "parse.y"
7976 { tree label;
7977 do_label:
7978 label = define_label (input_filename, lineno, yyvsp[-1].ttype);
7979 if (label && ! minimal_parse_mode)
7980 expand_label (label);
7982 break;}
7983 case 730:
7984 #line 4016 "parse.y"
7985 { goto do_label; ;
7986 break;}
7987 case 731:
7988 #line 4018 "parse.y"
7989 { goto do_label; ;
7990 break;}
7991 case 732:
7992 #line 4020 "parse.y"
7993 { goto do_label; ;
7994 break;}
7995 case 733:
7996 #line 4025 "parse.y"
7997 { if (yyvsp[-1].ttype) cplus_expand_expr_stmt (yyvsp[-1].ttype); ;
7998 break;}
7999 case 735:
8000 #line 4028 "parse.y"
8001 { if (pedantic)
8002 pedwarn ("ANSI C++ forbids compound statements inside for initializations");
8004 break;}
8005 case 736:
8006 #line 4037 "parse.y"
8007 { emit_line_note (input_filename, lineno);
8008 yyval.ttype = NULL_TREE; ;
8009 break;}
8010 case 737:
8011 #line 4040 "parse.y"
8012 { emit_line_note (input_filename, lineno); ;
8013 break;}
8014 case 738:
8015 #line 4045 "parse.y"
8016 { yyval.ttype = NULL_TREE; ;
8017 break;}
8018 case 740:
8019 #line 4048 "parse.y"
8020 { yyval.ttype = NULL_TREE; ;
8021 break;}
8022 case 741:
8023 #line 4055 "parse.y"
8024 { yyval.ttype = NULL_TREE; ;
8025 break;}
8026 case 744:
8027 #line 4062 "parse.y"
8028 { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
8029 break;}
8030 case 745:
8031 #line 4067 "parse.y"
8032 { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[-1].ttype); ;
8033 break;}
8034 case 746:
8035 #line 4072 "parse.y"
8036 { yyval.ttype = tree_cons (NULL_TREE, yyval.ttype, NULL_TREE); ;
8037 break;}
8038 case 747:
8039 #line 4074 "parse.y"
8040 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
8041 break;}
8042 case 748:
8043 #line 4085 "parse.y"
8045 yyval.ttype = empty_parms();
8047 break;}
8048 case 750:
8049 #line 4090 "parse.y"
8050 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ftype.t, void_list_node);
8051 TREE_PARMLIST (yyval.ttype) = 1;
8052 check_for_new_type ("inside parameter list", yyvsp[0].ftype); ;
8053 break;}
8054 case 751:
8055 #line 4099 "parse.y"
8057 yyval.ttype = chainon (yyval.ttype, void_list_node);
8058 TREE_PARMLIST (yyval.ttype) = 1;
8060 break;}
8061 case 752:
8062 #line 4104 "parse.y"
8064 TREE_PARMLIST (yyval.ttype) = 1;
8066 break;}
8067 case 753:
8068 #line 4109 "parse.y"
8070 TREE_PARMLIST (yyval.ttype) = 1;
8072 break;}
8073 case 754:
8074 #line 4113 "parse.y"
8076 yyval.ttype = build_tree_list (NULL_TREE, yyvsp[-1].ftype.t);
8077 TREE_PARMLIST (yyval.ttype) = 1;
8079 break;}
8080 case 755:
8081 #line 4118 "parse.y"
8083 yyval.ttype = NULL_TREE;
8085 break;}
8086 case 756:
8087 #line 4122 "parse.y"
8089 TREE_PARMLIST (yyval.ttype) = 1;
8091 break;}
8092 case 757:
8093 #line 4126 "parse.y"
8095 TREE_PARMLIST (yyval.ttype) = 1;
8097 break;}
8098 case 758:
8099 #line 4130 "parse.y"
8101 yyval.ttype = build_tree_list (NULL_TREE, yyvsp[-1].ftype.t);
8102 TREE_PARMLIST (yyval.ttype) = 1;
8104 break;}
8105 case 759:
8106 #line 4135 "parse.y"
8108 /* This helps us recover from really nasty
8109 parse errors, for example, a missing right
8110 parenthesis. */
8111 yyerror ("possibly missing ')'");
8112 yyval.ttype = chainon (yyval.ttype, void_list_node);
8113 TREE_PARMLIST (yyval.ttype) = 1;
8114 yyungetc (':', 0);
8115 yychar = ')';
8117 break;}
8118 case 760:
8119 #line 4146 "parse.y"
8121 /* This helps us recover from really nasty
8122 parse errors, for example, a missing right
8123 parenthesis. */
8124 yyerror ("possibly missing ')'");
8125 yyval.ttype = tree_cons (NULL_TREE, yyvsp[-1].ftype.t, void_list_node);
8126 TREE_PARMLIST (yyval.ttype) = 1;
8127 yyungetc (':', 0);
8128 yychar = ')';
8130 break;}
8131 case 761:
8132 #line 4161 "parse.y"
8133 { maybe_snarf_defarg (); ;
8134 break;}
8135 case 762:
8136 #line 4163 "parse.y"
8137 { yyval.ttype = yyvsp[0].ttype; ;
8138 break;}
8139 case 765:
8140 #line 4174 "parse.y"
8141 { check_for_new_type ("in a parameter list", yyvsp[0].ftype);
8142 yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ftype.t); ;
8143 break;}
8144 case 766:
8145 #line 4177 "parse.y"
8146 { check_for_new_type ("in a parameter list", yyvsp[-1].ftype);
8147 yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-1].ftype.t); ;
8148 break;}
8149 case 767:
8150 #line 4180 "parse.y"
8151 { check_for_new_type ("in a parameter list", yyvsp[0].ftype);
8152 yyval.ttype = chainon (yyval.ttype, yyvsp[0].ftype.t); ;
8153 break;}
8154 case 768:
8155 #line 4183 "parse.y"
8156 { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
8157 break;}
8158 case 769:
8159 #line 4185 "parse.y"
8160 { yyval.ttype = chainon (yyval.ttype, build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype)); ;
8161 break;}
8162 case 771:
8163 #line 4191 "parse.y"
8164 { check_for_new_type ("in a parameter list", yyvsp[-1].ftype);
8165 yyval.ttype = build_tree_list (NULL_TREE, yyvsp[-1].ftype.t); ;
8166 break;}
8167 case 772:
8168 #line 4201 "parse.y"
8169 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
8170 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag;
8171 yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype); ;
8172 break;}
8173 case 773:
8174 #line 4205 "parse.y"
8175 { yyval.ftype.t = build_tree_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
8176 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
8177 break;}
8178 case 774:
8179 #line 4208 "parse.y"
8180 { yyval.ftype.t = build_tree_list (get_decl_list (yyvsp[-1].ftype.t), yyvsp[0].ttype);
8181 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
8182 break;}
8183 case 775:
8184 #line 4211 "parse.y"
8185 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
8186 yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype);
8187 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
8188 break;}
8189 case 776:
8190 #line 4215 "parse.y"
8191 { tree specs = strip_attrs (yyvsp[0].ftype.t);
8192 yyval.ftype.t = build_tree_list (specs, NULL_TREE);
8193 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
8194 break;}
8195 case 777:
8196 #line 4219 "parse.y"
8197 { tree specs = strip_attrs (yyvsp[-1].ttype);
8198 yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype);
8199 yyval.ftype.new_type_flag = 0; ;
8200 break;}
8201 case 778:
8202 #line 4226 "parse.y"
8203 { yyval.ftype.t = build_tree_list (NULL_TREE, yyvsp[0].ftype.t);
8204 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
8205 break;}
8206 case 779:
8207 #line 4229 "parse.y"
8208 { yyval.ftype.t = build_tree_list (yyvsp[0].ttype, yyvsp[-1].ftype.t);
8209 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
8210 break;}
8211 case 782:
8212 #line 4240 "parse.y"
8213 { see_typename (); ;
8214 break;}
8215 case 783:
8216 #line 4245 "parse.y"
8218 error ("type specifier omitted for parameter");
8219 yyval.ttype = build_tree_list (integer_type_node, NULL_TREE);
8221 break;}
8222 case 784:
8223 #line 4250 "parse.y"
8225 error ("type specifier omitted for parameter");
8226 if (TREE_CODE (yyval.ttype) == SCOPE_REF
8227 && TREE_CODE (TREE_OPERAND (yyval.ttype, 0)) == TEMPLATE_TYPE_PARM)
8228 cp_error (" perhaps you want `typename %E' to make it a type", yyval.ttype);
8229 yyval.ttype = build_tree_list (integer_type_node, yyval.ttype);
8231 break;}
8232 case 785:
8233 #line 4261 "parse.y"
8234 { yyval.ttype = NULL_TREE; ;
8235 break;}
8236 case 786:
8237 #line 4263 "parse.y"
8238 { yyval.ttype = yyvsp[-1].ttype; ;
8239 break;}
8240 case 787:
8241 #line 4265 "parse.y"
8242 { yyval.ttype = build_decl_list (NULL_TREE, NULL_TREE); ;
8243 break;}
8244 case 788:
8245 #line 4270 "parse.y"
8246 { yyval.ttype = build_decl_list (NULL_TREE, groktypename(yyvsp[0].ftype.t)); ;
8247 break;}
8248 case 790:
8249 #line 4276 "parse.y"
8251 TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype;
8252 yyval.ttype = yyvsp[0].ttype;
8254 break;}
8255 case 791:
8256 #line 4284 "parse.y"
8257 { yyval.ttype = NULL_TREE; ;
8258 break;}
8259 case 792:
8260 #line 4286 "parse.y"
8261 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
8262 break;}
8263 case 793:
8264 #line 4288 "parse.y"
8265 { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
8266 break;}
8267 case 794:
8268 #line 4290 "parse.y"
8269 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
8270 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
8272 break;}
8273 case 795:
8274 #line 4297 "parse.y"
8275 { got_scope = NULL_TREE; ;
8276 break;}
8277 case 796:
8278 #line 4302 "parse.y"
8279 { yyval.ttype = ansi_opname[MULT_EXPR]; ;
8280 break;}
8281 case 797:
8282 #line 4304 "parse.y"
8283 { yyval.ttype = ansi_opname[TRUNC_DIV_EXPR]; ;
8284 break;}
8285 case 798:
8286 #line 4306 "parse.y"
8287 { yyval.ttype = ansi_opname[TRUNC_MOD_EXPR]; ;
8288 break;}
8289 case 799:
8290 #line 4308 "parse.y"
8291 { yyval.ttype = ansi_opname[PLUS_EXPR]; ;
8292 break;}
8293 case 800:
8294 #line 4310 "parse.y"
8295 { yyval.ttype = ansi_opname[MINUS_EXPR]; ;
8296 break;}
8297 case 801:
8298 #line 4312 "parse.y"
8299 { yyval.ttype = ansi_opname[BIT_AND_EXPR]; ;
8300 break;}
8301 case 802:
8302 #line 4314 "parse.y"
8303 { yyval.ttype = ansi_opname[BIT_IOR_EXPR]; ;
8304 break;}
8305 case 803:
8306 #line 4316 "parse.y"
8307 { yyval.ttype = ansi_opname[BIT_XOR_EXPR]; ;
8308 break;}
8309 case 804:
8310 #line 4318 "parse.y"
8311 { yyval.ttype = ansi_opname[BIT_NOT_EXPR]; ;
8312 break;}
8313 case 805:
8314 #line 4320 "parse.y"
8315 { yyval.ttype = ansi_opname[COMPOUND_EXPR]; ;
8316 break;}
8317 case 806:
8318 #line 4322 "parse.y"
8319 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
8320 break;}
8321 case 807:
8322 #line 4324 "parse.y"
8323 { yyval.ttype = ansi_opname[LT_EXPR]; ;
8324 break;}
8325 case 808:
8326 #line 4326 "parse.y"
8327 { yyval.ttype = ansi_opname[GT_EXPR]; ;
8328 break;}
8329 case 809:
8330 #line 4328 "parse.y"
8331 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
8332 break;}
8333 case 810:
8334 #line 4330 "parse.y"
8335 { yyval.ttype = ansi_assopname[yyvsp[0].code]; ;
8336 break;}
8337 case 811:
8338 #line 4332 "parse.y"
8339 { yyval.ttype = ansi_opname [MODIFY_EXPR]; ;
8340 break;}
8341 case 812:
8342 #line 4334 "parse.y"
8343 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
8344 break;}
8345 case 813:
8346 #line 4336 "parse.y"
8347 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
8348 break;}
8349 case 814:
8350 #line 4338 "parse.y"
8351 { yyval.ttype = ansi_opname[POSTINCREMENT_EXPR]; ;
8352 break;}
8353 case 815:
8354 #line 4340 "parse.y"
8355 { yyval.ttype = ansi_opname[PREDECREMENT_EXPR]; ;
8356 break;}
8357 case 816:
8358 #line 4342 "parse.y"
8359 { yyval.ttype = ansi_opname[TRUTH_ANDIF_EXPR]; ;
8360 break;}
8361 case 817:
8362 #line 4344 "parse.y"
8363 { yyval.ttype = ansi_opname[TRUTH_ORIF_EXPR]; ;
8364 break;}
8365 case 818:
8366 #line 4346 "parse.y"
8367 { yyval.ttype = ansi_opname[TRUTH_NOT_EXPR]; ;
8368 break;}
8369 case 819:
8370 #line 4348 "parse.y"
8371 { yyval.ttype = ansi_opname[COND_EXPR]; ;
8372 break;}
8373 case 820:
8374 #line 4350 "parse.y"
8375 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
8376 break;}
8377 case 821:
8378 #line 4352 "parse.y"
8379 { yyval.ttype = ansi_opname[COMPONENT_REF]; ;
8380 break;}
8381 case 822:
8382 #line 4354 "parse.y"
8383 { yyval.ttype = ansi_opname[MEMBER_REF]; ;
8384 break;}
8385 case 823:
8386 #line 4356 "parse.y"
8387 { yyval.ttype = ansi_opname[CALL_EXPR]; ;
8388 break;}
8389 case 824:
8390 #line 4358 "parse.y"
8391 { yyval.ttype = ansi_opname[ARRAY_REF]; ;
8392 break;}
8393 case 825:
8394 #line 4360 "parse.y"
8395 { yyval.ttype = ansi_opname[NEW_EXPR]; ;
8396 break;}
8397 case 826:
8398 #line 4362 "parse.y"
8399 { yyval.ttype = ansi_opname[DELETE_EXPR]; ;
8400 break;}
8401 case 827:
8402 #line 4364 "parse.y"
8403 { yyval.ttype = ansi_opname[VEC_NEW_EXPR]; ;
8404 break;}
8405 case 828:
8406 #line 4366 "parse.y"
8407 { yyval.ttype = ansi_opname[VEC_DELETE_EXPR]; ;
8408 break;}
8409 case 829:
8410 #line 4369 "parse.y"
8411 { yyval.ttype = grokoptypename (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
8412 break;}
8413 case 830:
8414 #line 4371 "parse.y"
8415 { yyval.ttype = ansi_opname[ERROR_MARK]; ;
8416 break;}
8418 /* the action file gets copied in in place of this dollarsign */
8419 #line 487 "/usr/share/bison.simple"
8421 yyvsp -= yylen;
8422 yyssp -= yylen;
8423 #ifdef YYLSP_NEEDED
8424 yylsp -= yylen;
8425 #endif
8427 #if YYDEBUG != 0
8428 if (yydebug)
8430 short *ssp1 = yyss - 1;
8431 fprintf (stderr, "state stack now");
8432 while (ssp1 != yyssp)
8433 fprintf (stderr, " %d", *++ssp1);
8434 fprintf (stderr, "\n");
8436 #endif
8438 *++yyvsp = yyval;
8440 #ifdef YYLSP_NEEDED
8441 yylsp++;
8442 if (yylen == 0)
8444 yylsp->first_line = yylloc.first_line;
8445 yylsp->first_column = yylloc.first_column;
8446 yylsp->last_line = (yylsp-1)->last_line;
8447 yylsp->last_column = (yylsp-1)->last_column;
8448 yylsp->text = 0;
8450 else
8452 yylsp->last_line = (yylsp+yylen-1)->last_line;
8453 yylsp->last_column = (yylsp+yylen-1)->last_column;
8455 #endif
8457 /* Now "shift" the result of the reduction.
8458 Determine what state that goes to,
8459 based on the state we popped back to
8460 and the rule number reduced by. */
8462 yyn = yyr1[yyn];
8464 yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
8465 if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
8466 yystate = yytable[yystate];
8467 else
8468 yystate = yydefgoto[yyn - YYNTBASE];
8470 goto yynewstate;
8472 yyerrlab: /* here on detecting error */
8474 if (! yyerrstatus)
8475 /* If not already recovering from an error, report this error. */
8477 ++yynerrs;
8479 #ifdef YYERROR_VERBOSE
8480 yyn = yypact[yystate];
8482 if (yyn > YYFLAG && yyn < YYLAST)
8484 int size = 0;
8485 char *msg;
8486 int x, count;
8488 count = 0;
8489 /* Start X at -yyn if nec to avoid negative indexes in yycheck. */
8490 for (x = (yyn < 0 ? -yyn : 0);
8491 x < (sizeof(yytname) / sizeof(char *)); x++)
8492 if (yycheck[x + yyn] == x)
8493 size += strlen(yytname[x]) + 15, count++;
8494 msg = (char *) malloc(size + 15);
8495 if (msg != 0)
8497 strcpy(msg, "parse error");
8499 if (count < 5)
8501 count = 0;
8502 for (x = (yyn < 0 ? -yyn : 0);
8503 x < (sizeof(yytname) / sizeof(char *)); x++)
8504 if (yycheck[x + yyn] == x)
8506 strcat(msg, count == 0 ? ", expecting `" : " or `");
8507 strcat(msg, yytname[x]);
8508 strcat(msg, "'");
8509 count++;
8512 yyerror(msg);
8513 free(msg);
8515 else
8516 yyerror ("parse error; also virtual memory exceeded");
8518 else
8519 #endif /* YYERROR_VERBOSE */
8520 yyerror("parse error");
8523 goto yyerrlab1;
8524 yyerrlab1: /* here on error raised explicitly by an action */
8526 if (yyerrstatus == 3)
8528 /* if just tried and failed to reuse lookahead token after an error, discard it. */
8530 /* return failure if at end of input */
8531 if (yychar == YYEOF)
8532 YYABORT;
8534 #if YYDEBUG != 0
8535 if (yydebug)
8536 fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
8537 #endif
8539 yychar = YYEMPTY;
8542 /* Else will try to reuse lookahead token
8543 after shifting the error token. */
8545 yyerrstatus = 3; /* Each real token shifted decrements this */
8547 goto yyerrhandle;
8549 yyerrdefault: /* current state does not do anything special for the error token. */
8551 #if 0
8552 /* This is wrong; only states that explicitly want error tokens
8553 should shift them. */
8554 yyn = yydefact[yystate]; /* If its default is to accept any token, ok. Otherwise pop it.*/
8555 if (yyn) goto yydefault;
8556 #endif
8558 yyerrpop: /* pop the current state because it cannot handle the error token */
8560 if (yyssp == yyss) YYABORT;
8561 yyvsp--;
8562 yystate = *--yyssp;
8563 #ifdef YYLSP_NEEDED
8564 yylsp--;
8565 #endif
8567 #if YYDEBUG != 0
8568 if (yydebug)
8570 short *ssp1 = yyss - 1;
8571 fprintf (stderr, "Error: state stack now");
8572 while (ssp1 != yyssp)
8573 fprintf (stderr, " %d", *++ssp1);
8574 fprintf (stderr, "\n");
8576 #endif
8578 yyerrhandle:
8580 yyn = yypact[yystate];
8581 if (yyn == YYFLAG)
8582 goto yyerrdefault;
8584 yyn += YYTERROR;
8585 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
8586 goto yyerrdefault;
8588 yyn = yytable[yyn];
8589 if (yyn < 0)
8591 if (yyn == YYFLAG)
8592 goto yyerrpop;
8593 yyn = -yyn;
8594 goto yyreduce;
8596 else if (yyn == 0)
8597 goto yyerrpop;
8599 if (yyn == YYFINAL)
8600 YYACCEPT;
8602 #if YYDEBUG != 0
8603 if (yydebug)
8604 fprintf(stderr, "Shifting error token, ");
8605 #endif
8607 *++yyvsp = yylval;
8608 #ifdef YYLSP_NEEDED
8609 *++yylsp = yylloc;
8610 #endif
8612 yystate = yyn;
8613 goto yynewstate;
8615 #line 4374 "parse.y"
8618 #ifdef SPEW_DEBUG
8619 const char *
8620 debug_yytranslate (value)
8621 int value;
8623 return yytname[YYTRANSLATE (value)];
8626 #endif