rebuild
[gcc.git] / gcc / cp / parse.c
1
2 /* A Bison parser, made from parse.y
3 by GNU Bison version 1.25
4 */
5
6 #define YYBISON 1 /* Identify Bison output. */
7
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
95
96 #line 29 "parse.y"
97
98 /* Cause the `yydebug' variable to be defined. */
99 #define YYDEBUG 1
100
101 #include "config.h"
102
103 #include <stdio.h>
104 #include <errno.h>
105
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"
113
114 /* Since parsers are distinct for each language, put the language string
115 definition here. (fnf) */
116 char *language_string = "GNU C++";
117
118 extern tree void_list_node;
119 extern struct obstack permanent_obstack;
120
121 #ifndef errno
122 extern int errno;
123 #endif
124
125 extern int end_of_file;
126 extern int current_class_depth;
127 extern tree last_tree;
128
129 /* FSF LOCAL dje prefix attributes */
130 extern tree strip_attrs PROTO((tree));
131 /* END FSF LOCAL */
132
133 /* Like YYERROR but do call yyerror. */
134 #define YYERROR1 { yyerror ("syntax error"); YYERROR; }
135
136 #define OP0(NODE) (TREE_OPERAND (NODE, 0))
137 #define OP1(NODE) (TREE_OPERAND (NODE, 1))
138
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;
142
143 static tree empty_parms PROTO((void));
144
145 /* Nonzero if we have an `extern "C"' acting as an extern specifier. */
146 int have_extern_spec;
147 int used_extern_spec;
148
149 /* Cons up an empty parameter list. */
150 #ifdef __GNUC__
151 __inline
152 #endif
153 static tree
154 empty_parms ()
155 {
156 tree parms;
157
158 if (strict_prototype
159 || current_class_type != NULL)
160 parms = void_list_node;
161 else
162 parms = NULL_TREE;
163 return parms;
164 }
165
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"
169
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;
178
179 /* When defining an aggregate, this is the most recent one being defined. */
180 static tree current_aggr;
181
182 /* Tell yyparse how to print a token's value, if yydebug is set. */
183
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>
188
189 #ifndef __cplusplus
190 #ifndef __STDC__
191 #define const
192 #endif
193 #endif
194
195
196
197 #define YYFINAL 1529
198 #define YYFLAG -32768
199 #define YYNTBASE 114
200
201 #define YYTRANSLATE(x) ((unsigned)(x) <= 344 ? yytranslate[x] : 376)
202
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
239 };
240
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
326 };
327
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
600 };
601
602 #endif
603
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, 3036, 3046, 3048, 3049, 3053, 3058, 3061,
662 3063, 3065, 3067, 3071, 3077, 3080, 3082, 3084, 3086, 3090,
663 3093, 3096, 3098, 3100, 3102, 3106, 3109, 3112, 3114, 3116,
664 3118, 3125, 3136, 3140, 3145, 3149, 3154, 3156, 3160, 3163,
665 3165, 3169, 3171, 3172, 3175, 3177, 3183, 3198, 3204, 3210,
666 3224, 3226, 3230, 3242, 3248, 3259, 3266, 3272, 3274, 3275,
667 3276, 3284, 3293, 3294, 3298, 3301, 3307, 3313, 3316, 3318,
668 3320, 3322, 3326, 3330, 3334, 3337, 3342, 3345, 3347, 3349,
669 3351, 3353, 3355, 3357, 3359, 3363, 3367, 3371, 3375, 3376,
670 3378, 3380, 3382, 3384, 3386, 3388, 3390, 3392, 3400, 3402,
671 3403, 3404, 3407, 3415, 3420, 3427, 3429, 3434, 3436, 3439,
672 3453, 3456, 3459, 3468, 3480, 3491, 3511, 3521, 3524, 3532,
673 3544, 3547, 3550, 3553, 3569, 3572, 3583, 3584, 3588, 3603,
674 3622, 3634, 3648, 3662, 3675, 3694, 3712, 3731, 3739, 3760,
675 3778, 3791, 3792, 3795, 3795, 3798, 3798, 3801, 3801, 3807,
676 3813, 3816, 3821, 3828, 3837, 3846, 3855, 3863, 3876, 3878,
677 3882, 3884, 3887, 3894, 3897, 3905, 3921, 3932, 3944, 3946,
678 3949, 3959, 3969, 3980, 3982, 3984, 3987, 4004, 4010, 4018,
679 4020, 4022, 4026, 4029, 4030, 4038, 4042, 4046, 4049, 4050,
680 4056, 4059, 4062, 4064, 4068, 4073, 4076, 4086, 4091, 4092,
681 4100, 4106, 4111, 4115, 4120, 4124, 4128, 4132, 4137, 4148,
682 4162, 4166, 4169, 4171, 4175, 4179, 4182, 4185, 4187, 4191,
683 4193, 4200, 4207, 4210, 4213, 4217, 4221, 4227, 4231, 4236,
684 4238, 4241, 4246, 4252, 4262, 4265, 4267, 4271, 4276, 4278,
685 4285, 4288, 4290, 4292, 4298, 4303, 4306, 4308, 4310, 4312,
686 4314, 4316, 4318, 4320, 4322, 4324, 4326, 4328, 4330, 4332,
687 4334, 4336, 4338, 4340, 4342, 4344, 4346, 4348, 4350, 4352,
688 4354, 4356, 4358, 4360, 4362, 4364, 4366, 4368, 4371, 4373
689 };
690 #endif
691
692
693 #if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
694
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
757 };
758 #endif
759
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
844 };
845
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
930 };
931
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
1086 };
1087
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,
1115 84
1116 };
1117
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
1272 };
1273
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
1302 };
1303
1304
1305 #define YYLAST 10918
1306
1307
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
2401 };
2402
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
3496 };
3497 /* -*-C-*- Note some compilers choke on comments on `#line' lines. */
3498 #line 3 "/usr/lib/bison.simple"
3499
3500 /* Skeleton output parser for bison,
3501 Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
3502
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.
3507
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.
3512
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. */
3516
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. */
3521
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);
3540 };
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. */
3550
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. */
3555
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. */
3559
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; \
3580 } \
3581 else \
3582 { yyerror ("syntax error: cannot back up"); YYERROR; } \
3583 while (0)
3584
3585 #define YYTERROR 1
3586 #define YYERRCODE 256
3587
3588 #ifndef YYPURE
3589 #define YYLEX yylex()
3590 #endif
3591
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
3607
3608 /* If nonreentrant, generate the variables here */
3609
3610 #ifndef YYPURE
3611
3612 int yychar; /* the lookahead symbol */
3613 YYSTYPE yylval; /* the semantic value of the */
3614 /* lookahead symbol */
3615
3616 #ifdef YYLSP_NEEDED
3617 YYLTYPE yylloc; /* location data for the lookahead */
3618 /* symbol */
3619 #endif
3620
3621 int yynerrs; /* number of parse errors so far */
3622 #endif /* not YYPURE */
3623
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
3629
3630 /* YYINITDEPTH indicates the initial size of the parser's stacks */
3631
3632 #ifndef YYINITDEPTH
3633 #define YYINITDEPTH 200
3634 #endif
3635
3636 /* YYMAXDEPTH is the maximum size the stacks can grow to
3637 (effective only if the built-in stack extension method is used). */
3638
3639 #if YYMAXDEPTH == 0
3640 #undef YYMAXDEPTH
3641 #endif
3642
3643 #ifndef YYMAXDEPTH
3644 #define YYMAXDEPTH 10000
3645 #endif
3646
3647 /* Prevent warning if -Wstrict-prototypes. */
3648 #ifdef __GNUC__
3649 int yyparse (void);
3650 #endif
3651 \f
3652 #if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
3653 #define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT)
3654 #else /* not GNU C or C++ */
3655 #ifndef __cplusplus
3656
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 (to, from, count)
3661 char *to;
3662 char *from;
3663 int count;
3664 {
3665 register char *f = from;
3666 register char *t = to;
3667 register int i = count;
3668
3669 while (i-- > 0)
3670 *t++ = *f++;
3671 }
3672
3673 #else /* __cplusplus */
3674
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 *to, char *from, int count)
3679 {
3680 register char *f = from;
3681 register char *t = to;
3682 register int i = count;
3683
3684 while (i-- > 0)
3685 *t++ = *f++;
3686 }
3687
3688 #endif
3689 #endif
3690 \f
3691 #line 196 "/usr/lib/bison.simple"
3692
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. */
3698
3699 #ifdef YYPARSE_PARAM
3700 #ifdef __cplusplus
3701 #define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
3702 #define YYPARSE_PARAM_DECL
3703 #else /* not __cplusplus */
3704 #define YYPARSE_PARAM_ARG YYPARSE_PARAM
3705 #define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
3706 #endif /* not __cplusplus */
3707 #else /* not YYPARSE_PARAM */
3708 #define YYPARSE_PARAM_ARG
3709 #define YYPARSE_PARAM_DECL
3710 #endif /* not YYPARSE_PARAM */
3711
3712 int
3713 yyparse(YYPARSE_PARAM_ARG)
3714 YYPARSE_PARAM_DECL
3715 {
3716 register int yystate;
3717 register int yyn;
3718 register short *yyssp;
3719 register YYSTYPE *yyvsp;
3720 int yyerrstatus; /* number of tokens to shift before error messages enabled */
3721 int yychar1 = 0; /* lookahead token as an internal (translated) token number */
3722
3723 short yyssa[YYINITDEPTH]; /* the state stack */
3724 YYSTYPE yyvsa[YYINITDEPTH]; /* the semantic value stack */
3725
3726 short *yyss = yyssa; /* refer to the stacks thru separate pointers */
3727 YYSTYPE *yyvs = yyvsa; /* to allow yyoverflow to reallocate them elsewhere */
3728
3729 #ifdef YYLSP_NEEDED
3730 YYLTYPE yylsa[YYINITDEPTH]; /* the location stack */
3731 YYLTYPE *yyls = yylsa;
3732 YYLTYPE *yylsp;
3733
3734 #define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
3735 #else
3736 #define YYPOPSTACK (yyvsp--, yyssp--)
3737 #endif
3738
3739 int yystacksize = YYINITDEPTH;
3740
3741 #ifdef YYPURE
3742 int yychar;
3743 YYSTYPE yylval;
3744 int yynerrs;
3745 #ifdef YYLSP_NEEDED
3746 YYLTYPE yylloc;
3747 #endif
3748 #endif
3749
3750 YYSTYPE yyval; /* the variable used to return */
3751 /* semantic values from the action */
3752 /* routines */
3753
3754 int yylen;
3755
3756 #if YYDEBUG != 0
3757 if (yydebug)
3758 fprintf(stderr, "Starting parse\n");
3759 #endif
3760
3761 yystate = 0;
3762 yyerrstatus = 0;
3763 yynerrs = 0;
3764 yychar = YYEMPTY; /* Cause a token to be read. */
3765
3766 /* Initialize stack pointers.
3767 Waste one element of value and location stack
3768 so that they stay on the same level as the state stack.
3769 The wasted elements are never initialized. */
3770
3771 yyssp = yyss - 1;
3772 yyvsp = yyvs;
3773 #ifdef YYLSP_NEEDED
3774 yylsp = yyls;
3775 #endif
3776
3777 /* Push a new state, which is found in yystate . */
3778 /* In all cases, when you get here, the value and location stacks
3779 have just been pushed. so pushing a state here evens the stacks. */
3780 yynewstate:
3781
3782 *++yyssp = yystate;
3783
3784 if (yyssp >= yyss + yystacksize - 1)
3785 {
3786 /* Give user a chance to reallocate the stack */
3787 /* Use copies of these so that the &'s don't force the real ones into memory. */
3788 YYSTYPE *yyvs1 = yyvs;
3789 short *yyss1 = yyss;
3790 #ifdef YYLSP_NEEDED
3791 YYLTYPE *yyls1 = yyls;
3792 #endif
3793
3794 /* Get the current used size of the three stacks, in elements. */
3795 int size = yyssp - yyss + 1;
3796
3797 #ifdef yyoverflow
3798 /* Each stack pointer address is followed by the size of
3799 the data in use in that stack, in bytes. */
3800 #ifdef YYLSP_NEEDED
3801 /* This used to be a conditional around just the two extra args,
3802 but that might be undefined if yyoverflow is a macro. */
3803 yyoverflow("parser stack overflow",
3804 &yyss1, size * sizeof (*yyssp),
3805 &yyvs1, size * sizeof (*yyvsp),
3806 &yyls1, size * sizeof (*yylsp),
3807 &yystacksize);
3808 #else
3809 yyoverflow("parser stack overflow",
3810 &yyss1, size * sizeof (*yyssp),
3811 &yyvs1, size * sizeof (*yyvsp),
3812 &yystacksize);
3813 #endif
3814
3815 yyss = yyss1; yyvs = yyvs1;
3816 #ifdef YYLSP_NEEDED
3817 yyls = yyls1;
3818 #endif
3819 #else /* no yyoverflow */
3820 /* Extend the stack our own way. */
3821 if (yystacksize >= YYMAXDEPTH)
3822 {
3823 yyerror("parser stack overflow");
3824 return 2;
3825 }
3826 yystacksize *= 2;
3827 if (yystacksize > YYMAXDEPTH)
3828 yystacksize = YYMAXDEPTH;
3829 yyss = (short *) alloca (yystacksize * sizeof (*yyssp));
3830 __yy_memcpy ((char *)yyss, (char *)yyss1, size * sizeof (*yyssp));
3831 yyvs = (YYSTYPE *) alloca (yystacksize * sizeof (*yyvsp));
3832 __yy_memcpy ((char *)yyvs, (char *)yyvs1, size * sizeof (*yyvsp));
3833 #ifdef YYLSP_NEEDED
3834 yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp));
3835 __yy_memcpy ((char *)yyls, (char *)yyls1, size * sizeof (*yylsp));
3836 #endif
3837 #endif /* no yyoverflow */
3838
3839 yyssp = yyss + size - 1;
3840 yyvsp = yyvs + size - 1;
3841 #ifdef YYLSP_NEEDED
3842 yylsp = yyls + size - 1;
3843 #endif
3844
3845 #if YYDEBUG != 0
3846 if (yydebug)
3847 fprintf(stderr, "Stack size increased to %d\n", yystacksize);
3848 #endif
3849
3850 if (yyssp >= yyss + yystacksize - 1)
3851 YYABORT;
3852 }
3853
3854 #if YYDEBUG != 0
3855 if (yydebug)
3856 fprintf(stderr, "Entering state %d\n", yystate);
3857 #endif
3858
3859 goto yybackup;
3860 yybackup:
3861
3862 /* Do appropriate processing given the current state. */
3863 /* Read a lookahead token if we need one and don't already have one. */
3864 /* yyresume: */
3865
3866 /* First try to decide what to do without reference to lookahead token. */
3867
3868 yyn = yypact[yystate];
3869 if (yyn == YYFLAG)
3870 goto yydefault;
3871
3872 /* Not known => get a lookahead token if don't already have one. */
3873
3874 /* yychar is either YYEMPTY or YYEOF
3875 or a valid token in external form. */
3876
3877 if (yychar == YYEMPTY)
3878 {
3879 #if YYDEBUG != 0
3880 if (yydebug)
3881 fprintf(stderr, "Reading a token: ");
3882 #endif
3883 yychar = YYLEX;
3884 }
3885
3886 /* Convert token to internal form (in yychar1) for indexing tables with */
3887
3888 if (yychar <= 0) /* This means end of input. */
3889 {
3890 yychar1 = 0;
3891 yychar = YYEOF; /* Don't call YYLEX any more */
3892
3893 #if YYDEBUG != 0
3894 if (yydebug)
3895 fprintf(stderr, "Now at end of input.\n");
3896 #endif
3897 }
3898 else
3899 {
3900 yychar1 = YYTRANSLATE(yychar);
3901
3902 #if YYDEBUG != 0
3903 if (yydebug)
3904 {
3905 fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
3906 /* Give the individual parser a way to print the precise meaning
3907 of a token, for further debugging info. */
3908 #ifdef YYPRINT
3909 YYPRINT (stderr, yychar, yylval);
3910 #endif
3911 fprintf (stderr, ")\n");
3912 }
3913 #endif
3914 }
3915
3916 yyn += yychar1;
3917 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
3918 goto yydefault;
3919
3920 yyn = yytable[yyn];
3921
3922 /* yyn is what to do for this token type in this state.
3923 Negative => reduce, -yyn is rule number.
3924 Positive => shift, yyn is new state.
3925 New state is final state => don't bother to shift,
3926 just return success.
3927 0, or most negative number => error. */
3928
3929 if (yyn < 0)
3930 {
3931 if (yyn == YYFLAG)
3932 goto yyerrlab;
3933 yyn = -yyn;
3934 goto yyreduce;
3935 }
3936 else if (yyn == 0)
3937 goto yyerrlab;
3938
3939 if (yyn == YYFINAL)
3940 YYACCEPT;
3941
3942 /* Shift the lookahead token. */
3943
3944 #if YYDEBUG != 0
3945 if (yydebug)
3946 fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
3947 #endif
3948
3949 /* Discard the token being shifted unless it is eof. */
3950 if (yychar != YYEOF)
3951 yychar = YYEMPTY;
3952
3953 *++yyvsp = yylval;
3954 #ifdef YYLSP_NEEDED
3955 *++yylsp = yylloc;
3956 #endif
3957
3958 /* count tokens shifted since error; after three, turn off error status. */
3959 if (yyerrstatus) yyerrstatus--;
3960
3961 yystate = yyn;
3962 goto yynewstate;
3963
3964 /* Do the default action for the current state. */
3965 yydefault:
3966
3967 yyn = yydefact[yystate];
3968 if (yyn == 0)
3969 goto yyerrlab;
3970
3971 /* Do a reduction. yyn is the number of a rule to reduce with. */
3972 yyreduce:
3973 yylen = yyr2[yyn];
3974 if (yylen > 0)
3975 yyval = yyvsp[1-yylen]; /* implement default value of the action */
3976
3977 #if YYDEBUG != 0
3978 if (yydebug)
3979 {
3980 int i;
3981
3982 fprintf (stderr, "Reducing via rule %d (line %d), ",
3983 yyn, yyrline[yyn]);
3984
3985 /* Print the symbols being reduced, and their result. */
3986 for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
3987 fprintf (stderr, "%s ", yytname[yyrhs[i]]);
3988 fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
3989 }
3990 #endif
3991
3992
3993 switch (yyn) {
3994
3995 case 2:
3996 #line 313 "parse.y"
3997 {
3998 /* In case there were missing closebraces,
3999 get us back to the global binding level. */
4000 while (! global_bindings_p ())
4001 poplevel (0, 0, 0);
4002 finish_file ();
4003 ;
4004 break;}
4005 case 3:
4006 #line 327 "parse.y"
4007 { yyval.ttype = NULL_TREE; ;
4008 break;}
4009 case 4:
4010 #line 329 "parse.y"
4011 { yyval.ttype = NULL_TREE; ;
4012 break;}
4013 case 5:
4014 #line 331 "parse.y"
4015 { yyval.ttype = NULL_TREE; ;
4016 break;}
4017 case 8:
4018 #line 340 "parse.y"
4019 { have_extern_spec = 1;
4020 used_extern_spec = 0;
4021 yyval.ttype = NULL_TREE; ;
4022 break;}
4023 case 9:
4024 #line 345 "parse.y"
4025 { have_extern_spec = 0; ;
4026 break;}
4027 case 10:
4028 #line 350 "parse.y"
4029 { yyval.itype = pedantic;
4030 pedantic = 0; ;
4031 break;}
4032 case 13:
4033 #line 360 "parse.y"
4034 { if (pending_lang_change) do_pending_lang_change(); ;
4035 break;}
4036 case 14:
4037 #line 362 "parse.y"
4038 { if (! toplevel_bindings_p () && ! pseudo_global_level_p())
4039 pop_everything (); ;
4040 break;}
4041 case 15:
4042 #line 368 "parse.y"
4043 { if (pending_inlines) do_pending_inlines (); ;
4044 break;}
4045 case 16:
4046 #line 370 "parse.y"
4047 { if (pending_inlines) do_pending_inlines (); ;
4048 break;}
4049 case 17:
4050 #line 372 "parse.y"
4051 { if (pending_inlines) do_pending_inlines (); ;
4052 break;}
4053 case 18:
4054 #line 374 "parse.y"
4055 { if (TREE_CHAIN (yyvsp[-2].ttype)) yyvsp[-2].ttype = combine_strings (yyvsp[-2].ttype);
4056 assemble_asm (yyvsp[-2].ttype); ;
4057 break;}
4058 case 19:
4059 #line 377 "parse.y"
4060 { pop_lang_context (); ;
4061 break;}
4062 case 20:
4063 #line 379 "parse.y"
4064 { if (pending_inlines) do_pending_inlines ();
4065 pop_lang_context (); ;
4066 break;}
4067 case 21:
4068 #line 382 "parse.y"
4069 { if (pending_inlines) do_pending_inlines ();
4070 pop_lang_context (); ;
4071 break;}
4072 case 22:
4073 #line 385 "parse.y"
4074 { push_namespace (yyvsp[-1].ttype); ;
4075 break;}
4076 case 23:
4077 #line 387 "parse.y"
4078 { pop_namespace (); ;
4079 break;}
4080 case 24:
4081 #line 389 "parse.y"
4082 { push_namespace (NULL_TREE); ;
4083 break;}
4084 case 25:
4085 #line 391 "parse.y"
4086 { pop_namespace (); ;
4087 break;}
4088 case 26:
4089 #line 393 "parse.y"
4090 { do_namespace_alias (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
4091 break;}
4092 case 27:
4093 #line 395 "parse.y"
4094 { do_toplevel_using_decl (yyvsp[-1].ttype); ;
4095 break;}
4096 case 28:
4097 #line 397 "parse.y"
4098 {
4099 if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE)
4100 yyvsp[-1].ttype = lastiddecl;
4101 do_using_directive (yyvsp[-1].ttype);
4102 ;
4103 break;}
4104 case 29:
4105 #line 403 "parse.y"
4106 { pedantic = yyvsp[-1].itype; ;
4107 break;}
4108 case 30:
4109 #line 408 "parse.y"
4110 { yyval.ttype = yyvsp[0].ttype; ;
4111 break;}
4112 case 31:
4113 #line 410 "parse.y"
4114 { yyval.ttype = yyvsp[0].ttype; ;
4115 break;}
4116 case 32:
4117 #line 412 "parse.y"
4118 { yyval.ttype = yyvsp[0].ttype; ;
4119 break;}
4120 case 35:
4121 #line 419 "parse.y"
4122 { yyval.ttype = yyvsp[0].ttype; ;
4123 break;}
4124 case 36:
4125 #line 421 "parse.y"
4126 { yyval.ttype = yyvsp[0].ttype; ;
4127 break;}
4128 case 37:
4129 #line 426 "parse.y"
4130 { push_lang_context (yyvsp[0].ttype); ;
4131 break;}
4132 case 38:
4133 #line 428 "parse.y"
4134 { if (current_lang_name != yyvsp[0].ttype)
4135 cp_error ("use of linkage spec `%D' is different from previous spec `%D'", yyvsp[0].ttype, current_lang_name);
4136 pop_lang_context (); push_lang_context (yyvsp[0].ttype); ;
4137 break;}
4138 case 39:
4139 #line 435 "parse.y"
4140 { begin_template_parm_list (); ;
4141 break;}
4142 case 40:
4143 #line 437 "parse.y"
4144 { yyval.ttype = end_template_parm_list (yyvsp[-1].ttype); ;
4145 break;}
4146 case 41:
4147 #line 439 "parse.y"
4148 { begin_specialization();
4149 yyval.ttype = NULL_TREE; ;
4150 break;}
4151 case 42:
4152 #line 445 "parse.y"
4153 { yyval.ttype = process_template_parm (NULL_TREE, yyvsp[0].ttype); ;
4154 break;}
4155 case 43:
4156 #line 447 "parse.y"
4157 { yyval.ttype = process_template_parm (yyvsp[-2].ttype, yyvsp[0].ttype); ;
4158 break;}
4159 case 44:
4160 #line 452 "parse.y"
4161 {
4162 yyval.ttype = build_tree_list (yyvsp[0].ttype, NULL_TREE);
4163 ttpa:
4164 if (TREE_PURPOSE (yyval.ttype) == signature_type_node)
4165 sorry ("signature as template type parameter");
4166 else if (TREE_PURPOSE (yyval.ttype) != class_type_node)
4167 {
4168 pedwarn ("template type parameters must use the keyword `class'");
4169 TREE_PURPOSE (yyval.ttype) = class_type_node;
4170 }
4171 ;
4172 break;}
4173 case 45:
4174 #line 464 "parse.y"
4175 { yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype); goto ttpa; ;
4176 break;}
4177 case 46:
4178 #line 466 "parse.y"
4179 { yyval.ttype = build_tree_list (class_type_node, NULL_TREE); ;
4180 break;}
4181 case 47:
4182 #line 468 "parse.y"
4183 { yyval.ttype = build_tree_list (class_type_node, yyvsp[0].ttype); ;
4184 break;}
4185 case 48:
4186 #line 480 "parse.y"
4187 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
4188 break;}
4189 case 49:
4190 #line 482 "parse.y"
4191 { yyval.ttype = build_tree_list (groktypename (yyvsp[0].ftype.t), yyvsp[-2].ttype); ;
4192 break;}
4193 case 50:
4194 #line 484 "parse.y"
4195 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ftype.t); ;
4196 break;}
4197 case 51:
4198 #line 486 "parse.y"
4199 { yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-2].ftype.t); ;
4200 break;}
4201 case 52:
4202 #line 492 "parse.y"
4203 {
4204 if (yyvsp[-1].ttype)
4205 end_template_decl ();
4206 else
4207 end_specialization ();
4208 ;
4209 break;}
4210 case 53:
4211 #line 500 "parse.y"
4212 {
4213 if (yyvsp[-1].ttype)
4214 end_template_decl ();
4215 else
4216 end_specialization ();
4217 ;
4218 break;}
4219 case 54:
4220 #line 510 "parse.y"
4221 {;
4222 break;}
4223 case 55:
4224 #line 512 "parse.y"
4225 {;
4226 break;}
4227 case 56:
4228 #line 514 "parse.y"
4229 {
4230 note_list_got_semicolon (yyvsp[-2].ftype.t);
4231 ;
4232 break;}
4233 case 57:
4234 #line 518 "parse.y"
4235 { pedwarn ("empty declaration"); ;
4236 break;}
4237 case 59:
4238 #line 521 "parse.y"
4239 {
4240 tree t, attrs;
4241 split_specs_attrs (yyvsp[-1].ftype.t, &t, &attrs);
4242 shadow_tag (t);
4243 note_list_got_semicolon (yyvsp[-1].ftype.t);
4244 ;
4245 break;}
4246 case 63:
4247 #line 534 "parse.y"
4248 { yyval.itype = 0; ;
4249 break;}
4250 case 64:
4251 #line 536 "parse.y"
4252 { yyval.itype = 1; ;
4253 break;}
4254 case 70:
4255 #line 552 "parse.y"
4256 { finish_function (lineno, (int)yyvsp[-1].itype, 0); ;
4257 break;}
4258 case 71:
4259 #line 554 "parse.y"
4260 { ;
4261 break;}
4262 case 72:
4263 #line 556 "parse.y"
4264 { ;
4265 break;}
4266 case 73:
4267 #line 561 "parse.y"
4268 {
4269 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, yyvsp[-1].ttype);
4270 if (yyvsp[-2].ttype != current_class_type)
4271 {
4272 push_nested_class (yyvsp[-2].ttype, 3);
4273 TREE_COMPLEXITY (yyval.ttype) = current_class_depth;
4274 }
4275 ;
4276 break;}
4277 case 74:
4278 #line 570 "parse.y"
4279 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4280 break;}
4281 case 75:
4282 #line 572 "parse.y"
4283 {
4284 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-4].ttype, yyvsp[-3].ttype);
4285 if (yyvsp[-4].ttype != current_class_type)
4286 {
4287 push_nested_class (yyvsp[-4].ttype, 3);
4288 TREE_COMPLEXITY (yyval.ttype) = current_class_depth;
4289 }
4290 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4291 ;
4292 break;}
4293 case 76:
4294 #line 582 "parse.y"
4295 {
4296 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, yyvsp[-1].ttype);
4297 if (yyvsp[-2].ttype != current_class_type)
4298 {
4299 push_nested_class (yyvsp[-2].ttype, 3);
4300 TREE_COMPLEXITY (yyval.ttype) = current_class_depth;
4301 }
4302 ;
4303 break;}
4304 case 77:
4305 #line 591 "parse.y"
4306 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4307 break;}
4308 case 78:
4309 #line 593 "parse.y"
4310 {
4311 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-4].ttype, yyvsp[-3].ttype);
4312 if (yyvsp[-4].ttype != current_class_type)
4313 {
4314 push_nested_class (yyvsp[-4].ttype, 3);
4315 TREE_COMPLEXITY (yyval.ttype) = current_class_depth;
4316 }
4317 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4318 ;
4319 break;}
4320 case 79:
4321 #line 603 "parse.y"
4322 {
4323 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, yyvsp[-1].ttype);
4324 if (yyvsp[-2].ttype != current_class_type)
4325 {
4326 push_nested_class (yyvsp[-2].ttype, 3);
4327 TREE_COMPLEXITY (yyval.ttype) = current_class_depth;
4328 }
4329 ;
4330 break;}
4331 case 80:
4332 #line 612 "parse.y"
4333 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4334 break;}
4335 case 81:
4336 #line 614 "parse.y"
4337 {
4338 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-4].ttype, yyvsp[-3].ttype);
4339 if (yyvsp[-4].ttype != current_class_type)
4340 {
4341 push_nested_class (yyvsp[-4].ttype, 3);
4342 TREE_COMPLEXITY (yyval.ttype) = current_class_depth;
4343 }
4344 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4345 ;
4346 break;}
4347 case 82:
4348 #line 624 "parse.y"
4349 {
4350 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, yyvsp[-1].ttype);
4351 if (yyvsp[-2].ttype != current_class_type)
4352 {
4353 push_nested_class (yyvsp[-2].ttype, 3);
4354 TREE_COMPLEXITY (yyval.ttype) = current_class_depth;
4355 }
4356 ;
4357 break;}
4358 case 83:
4359 #line 633 "parse.y"
4360 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4361 break;}
4362 case 84:
4363 #line 635 "parse.y"
4364 {
4365 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-4].ttype, yyvsp[-3].ttype);
4366 if (yyvsp[-4].ttype != current_class_type)
4367 {
4368 push_nested_class (yyvsp[-4].ttype, 3);
4369 TREE_COMPLEXITY (yyval.ttype) = current_class_depth;
4370 }
4371 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4372 ;
4373 break;}
4374 case 85:
4375 #line 648 "parse.y"
4376 { tree specs, attrs;
4377 split_specs_attrs (yyvsp[-1].ftype.t, &specs, &attrs);
4378 if (! start_function (specs, yyvsp[0].ttype, attrs, 0))
4379 YYERROR1;
4380 reinit_parse_for_function ();
4381 yyval.ttype = NULL_TREE; ;
4382 break;}
4383 case 86:
4384 #line 655 "parse.y"
4385 { tree specs, attrs;
4386 split_specs_attrs (yyvsp[-1].ttype, &specs, &attrs);
4387 if (! start_function (specs, yyvsp[0].ttype, attrs, 0))
4388 YYERROR1;
4389 reinit_parse_for_function ();
4390 yyval.ttype = NULL_TREE; ;
4391 break;}
4392 case 87:
4393 #line 662 "parse.y"
4394 { if (! start_function (NULL_TREE, yyval.ttype, NULL_TREE, 0))
4395 YYERROR1;
4396 reinit_parse_for_function ();
4397 yyval.ttype = NULL_TREE; ;
4398 break;}
4399 case 88:
4400 #line 667 "parse.y"
4401 { tree specs, attrs;
4402 split_specs_attrs (yyvsp[-1].ttype, &specs, &attrs);
4403 if (! start_function (specs, yyvsp[0].ttype, attrs, 0))
4404 YYERROR1;
4405 reinit_parse_for_function ();
4406 yyval.ttype = NULL_TREE; ;
4407 break;}
4408 case 89:
4409 #line 674 "parse.y"
4410 { if (! start_function (NULL_TREE, yyval.ttype, NULL_TREE, 0))
4411 YYERROR1;
4412 reinit_parse_for_function ();
4413 yyval.ttype = NULL_TREE; ;
4414 break;}
4415 case 90:
4416 #line 682 "parse.y"
4417 { yyval.ttype = make_call_declarator (yyvsp[-5].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4418 break;}
4419 case 91:
4420 #line 684 "parse.y"
4421 { yyval.ttype = make_call_declarator (yyvsp[-3].ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
4422 break;}
4423 case 92:
4424 #line 686 "parse.y"
4425 { yyval.ttype = make_call_declarator (yyvsp[-5].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4426 break;}
4427 case 93:
4428 #line 688 "parse.y"
4429 { yyval.ttype = make_call_declarator (yyvsp[-3].ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
4430 break;}
4431 case 94:
4432 #line 695 "parse.y"
4433 { tree specs = strip_attrs (yyvsp[-1].ttype);
4434 yyval.ttype = start_method (specs, yyvsp[0].ttype);
4435 rest_of_mdef:
4436 if (! yyval.ttype)
4437 YYERROR1;
4438 if (yychar == YYEMPTY)
4439 yychar = YYLEX;
4440 reinit_parse_for_method (yychar, yyval.ttype); ;
4441 break;}
4442 case 95:
4443 #line 704 "parse.y"
4444 { yyval.ttype = start_method (NULL_TREE, yyvsp[0].ttype); goto rest_of_mdef; ;
4445 break;}
4446 case 96:
4447 #line 706 "parse.y"
4448 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
4449 yyval.ttype = start_method (specs, yyvsp[0].ttype); goto rest_of_mdef; ;
4450 break;}
4451 case 97:
4452 #line 709 "parse.y"
4453 { tree specs = strip_attrs (yyvsp[-1].ttype);
4454 yyval.ttype = start_method (specs, yyvsp[0].ttype); goto rest_of_mdef; ;
4455 break;}
4456 case 98:
4457 #line 712 "parse.y"
4458 { yyval.ttype = start_method (NULL_TREE, yyval.ttype); goto rest_of_mdef; ;
4459 break;}
4460 case 99:
4461 #line 714 "parse.y"
4462 { tree specs = strip_attrs (yyvsp[-1].ttype);
4463 yyval.ttype = start_method (specs, yyvsp[0].ttype); goto rest_of_mdef; ;
4464 break;}
4465 case 100:
4466 #line 717 "parse.y"
4467 { yyval.ttype = start_method (NULL_TREE, yyval.ttype); goto rest_of_mdef; ;
4468 break;}
4469 case 101:
4470 #line 719 "parse.y"
4471 {
4472 if (yyvsp[-1].ttype)
4473 end_template_decl ();
4474 else
4475 end_specialization ();
4476
4477 if (yyvsp[0].ttype && DECL_TEMPLATE_INFO (yyvsp[0].ttype)
4478 && !DECL_TEMPLATE_SPECIALIZATION (yyvsp[0].ttype))
4479 {
4480 yyval.ttype = DECL_TI_TEMPLATE (yyvsp[0].ttype);
4481 check_member_template (yyval.ttype);
4482 }
4483 else if (yyvsp[0].ttype)
4484 yyval.ttype = yyvsp[0].ttype;
4485 else
4486 {
4487 cp_error("invalid member template declaration");
4488 yyval.ttype = NULL_TREE;
4489 }
4490 ;
4491 break;}
4492 case 102:
4493 #line 743 "parse.y"
4494 {
4495 if (! current_function_parms_stored)
4496 store_parm_decls ();
4497 yyval.ttype = yyvsp[0].ttype;
4498 ;
4499 break;}
4500 case 103:
4501 #line 752 "parse.y"
4502 { store_return_init (yyval.ttype, yyvsp[0].ttype); ;
4503 break;}
4504 case 104:
4505 #line 754 "parse.y"
4506 { store_return_init (yyval.ttype, yyvsp[-1].ttype); ;
4507 break;}
4508 case 105:
4509 #line 756 "parse.y"
4510 { store_return_init (yyval.ttype, NULL_TREE); ;
4511 break;}
4512 case 106:
4513 #line 761 "parse.y"
4514 {
4515 if (yyvsp[0].itype == 0)
4516 error ("no base initializers given following ':'");
4517 setup_vtbl_ptr ();
4518 /* Always keep the BLOCK node associated with the outermost
4519 pair of curley braces of a function. These are needed
4520 for correct operation of dwarfout.c. */
4521 keep_next_level ();
4522 ;
4523 break;}
4524 case 107:
4525 #line 774 "parse.y"
4526 {
4527 if (! current_function_parms_stored)
4528 store_parm_decls ();
4529
4530 if (DECL_CONSTRUCTOR_P (current_function_decl))
4531 {
4532 /* Make a contour for the initializer list. */
4533 pushlevel (0);
4534 clear_last_expr ();
4535 expand_start_bindings (0);
4536 }
4537 else if (current_class_type == NULL_TREE)
4538 error ("base initializers not allowed for non-member functions");
4539 else if (! DECL_CONSTRUCTOR_P (current_function_decl))
4540 error ("only constructors take base initializers");
4541 ;
4542 break;}
4543 case 108:
4544 #line 794 "parse.y"
4545 { yyval.itype = 0; ;
4546 break;}
4547 case 109:
4548 #line 796 "parse.y"
4549 { yyval.itype = 1; ;
4550 break;}
4551 case 112:
4552 #line 803 "parse.y"
4553 {
4554 if (current_class_name)
4555 pedwarn ("anachronistic old style base class initializer");
4556 expand_member_init (current_class_ref, NULL_TREE, yyvsp[-1].ttype);
4557 ;
4558 break;}
4559 case 113:
4560 #line 809 "parse.y"
4561 {
4562 if (current_class_name)
4563 pedwarn ("anachronistic old style base class initializer");
4564 expand_member_init (current_class_ref, NULL_TREE, void_type_node);
4565 ;
4566 break;}
4567 case 114:
4568 #line 815 "parse.y"
4569 { expand_member_init (current_class_ref, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
4570 break;}
4571 case 115:
4572 #line 817 "parse.y"
4573 { expand_member_init (current_class_ref, yyvsp[-1].ttype, void_type_node); ;
4574 break;}
4575 case 116:
4576 #line 819 "parse.y"
4577 { expand_member_init (current_class_ref, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
4578 break;}
4579 case 117:
4580 #line 821 "parse.y"
4581 { expand_member_init (current_class_ref, yyvsp[-1].ttype, void_type_node); ;
4582 break;}
4583 case 118:
4584 #line 823 "parse.y"
4585 { expand_member_init (current_class_ref, TYPE_MAIN_DECL (yyvsp[-3].ttype),
4586 yyvsp[-1].ttype); ;
4587 break;}
4588 case 119:
4589 #line 826 "parse.y"
4590 { expand_member_init (current_class_ref, TYPE_MAIN_DECL (yyvsp[-1].ttype),
4591 void_type_node); ;
4592 break;}
4593 case 131:
4594 #line 852 "parse.y"
4595 { do_type_instantiation (yyvsp[-1].ftype.t, NULL_TREE);
4596 yyungetc (';', 1); ;
4597 break;}
4598 case 132:
4599 #line 855 "parse.y"
4600 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
4601 do_decl_instantiation (specs, yyvsp[0].ttype, NULL_TREE); ;
4602 break;}
4603 case 133:
4604 #line 858 "parse.y"
4605 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
4606 break;}
4607 case 134:
4608 #line 860 "parse.y"
4609 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
4610 break;}
4611 case 135:
4612 #line 862 "parse.y"
4613 { do_type_instantiation (yyvsp[-1].ftype.t, yyvsp[-3].ttype);
4614 yyungetc (';', 1); ;
4615 break;}
4616 case 136:
4617 #line 865 "parse.y"
4618 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
4619 do_decl_instantiation (specs, yyvsp[0].ttype, yyvsp[-3].ttype); ;
4620 break;}
4621 case 137:
4622 #line 868 "parse.y"
4623 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype); ;
4624 break;}
4625 case 138:
4626 #line 870 "parse.y"
4627 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype); ;
4628 break;}
4629 case 139:
4630 #line 879 "parse.y"
4631 {
4632 yyval.ttype = lookup_template_class (yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE);
4633 if (yyval.ttype != error_mark_node)
4634 yyval.ttype = TYPE_STUB_DECL (yyval.ttype);
4635 ;
4636 break;}
4637 case 140:
4638 #line 885 "parse.y"
4639 {
4640 yyval.ttype = lookup_template_class (yyvsp[-2].ttype, NULL_TREE, NULL_TREE);
4641 if (yyval.ttype != error_mark_node)
4642 yyval.ttype = TYPE_STUB_DECL (yyval.ttype);
4643 ;
4644 break;}
4645 case 141:
4646 #line 891 "parse.y"
4647 {
4648 yyval.ttype = lookup_template_class (yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE);
4649 if (yyval.ttype != error_mark_node)
4650 yyval.ttype = TYPE_STUB_DECL (yyval.ttype);
4651 ;
4652 break;}
4653 case 142:
4654 #line 897 "parse.y"
4655 {
4656 yyval.ttype = lookup_template_class (yyvsp[-2].ttype, NULL_TREE, NULL_TREE);
4657 if (yyval.ttype != error_mark_node)
4658 yyval.ttype = TYPE_STUB_DECL (yyval.ttype);
4659 ;
4660 break;}
4661 case 144:
4662 #line 907 "parse.y"
4663 {
4664 yyval.ttype = lookup_template_class (yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE);
4665 if (yyval.ttype != error_mark_node)
4666 yyval.ttype = TYPE_STUB_DECL (yyval.ttype);
4667 ;
4668 break;}
4669 case 145:
4670 #line 913 "parse.y"
4671 {
4672 yyval.ttype = lookup_template_class (yyvsp[-2].ttype, NULL_TREE, NULL_TREE);
4673 if (yyval.ttype != error_mark_node)
4674 yyval.ttype = TYPE_STUB_DECL (yyval.ttype);
4675 ;
4676 break;}
4677 case 147:
4678 #line 923 "parse.y"
4679 {
4680 /* Handle `Class<Class<Type>>' without space in the `>>' */
4681 pedwarn ("`>>' should be `> >' in template class name");
4682 yyungetc ('>', 1);
4683 ;
4684 break;}
4685 case 148:
4686 #line 932 "parse.y"
4687 { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
4688 break;}
4689 case 149:
4690 #line 934 "parse.y"
4691 { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
4692 break;}
4693 case 150:
4694 #line 939 "parse.y"
4695 { yyval.ttype = groktypename (yyvsp[0].ftype.t); ;
4696 break;}
4697 case 152:
4698 #line 945 "parse.y"
4699 { yyval.code = NEGATE_EXPR; ;
4700 break;}
4701 case 153:
4702 #line 947 "parse.y"
4703 { yyval.code = CONVERT_EXPR; ;
4704 break;}
4705 case 154:
4706 #line 949 "parse.y"
4707 { yyval.code = PREINCREMENT_EXPR; ;
4708 break;}
4709 case 155:
4710 #line 951 "parse.y"
4711 { yyval.code = PREDECREMENT_EXPR; ;
4712 break;}
4713 case 156:
4714 #line 953 "parse.y"
4715 { yyval.code = TRUTH_NOT_EXPR; ;
4716 break;}
4717 case 157:
4718 #line 958 "parse.y"
4719 { yyval.ttype = build_x_compound_expr (yyval.ttype); ;
4720 break;}
4721 case 159:
4722 #line 964 "parse.y"
4723 { error ("ANSI C++ forbids an empty condition for `%s'",
4724 cond_stmt_keyword);
4725 yyval.ttype = integer_zero_node; ;
4726 break;}
4727 case 160:
4728 #line 968 "parse.y"
4729 { yyval.ttype = condition_conversion (yyvsp[-1].ttype); ;
4730 break;}
4731 case 161:
4732 #line 973 "parse.y"
4733 { error ("ANSI C++ forbids an empty condition for `%s'",
4734 cond_stmt_keyword);
4735 yyval.ttype = integer_zero_node; ;
4736 break;}
4737 case 162:
4738 #line 977 "parse.y"
4739 { yyval.ttype = condition_conversion (yyvsp[-1].ttype); ;
4740 break;}
4741 case 163:
4742 #line 982 "parse.y"
4743 { yyval.ttype = NULL_TREE; ;
4744 break;}
4745 case 164:
4746 #line 984 "parse.y"
4747 { yyval.ttype = condition_conversion (yyval.ttype); ;
4748 break;}
4749 case 165:
4750 #line 986 "parse.y"
4751 { yyval.ttype = NULL_TREE; ;
4752 break;}
4753 case 166:
4754 #line 991 "parse.y"
4755 { {
4756 tree d;
4757 for (d = getdecls (); d; d = TREE_CHAIN (d))
4758 if (TREE_CODE (d) == TYPE_DECL) {
4759 tree s = TREE_TYPE (d);
4760 if (TREE_CODE (s) == RECORD_TYPE)
4761 cp_error ("definition of class `%T' in condition", s);
4762 else if (TREE_CODE (s) == ENUMERAL_TYPE)
4763 cp_error ("definition of enum `%T' in condition", s);
4764 }
4765 }
4766 current_declspecs = yyvsp[-4].ftype.t;
4767 yyvsp[0].itype = suspend_momentary ();
4768 yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1);
4769 cplus_decl_attributes (yyval.ttype, yyvsp[-1].ttype,
4770 /*prefix_attributes*/ NULL_TREE);
4771 ;
4772 break;}
4773 case 167:
4774 #line 1009 "parse.y"
4775 {
4776 cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-3].ttype, 1, LOOKUP_ONLYCONVERTING);
4777 resume_momentary (yyvsp[-2].itype);
4778 yyval.ttype = yyvsp[-1].ttype;
4779 if (TREE_CODE (TREE_TYPE (yyval.ttype)) == ARRAY_TYPE)
4780 cp_error ("definition of array `%#D' in condition", yyval.ttype);
4781 ;
4782 break;}
4783 case 173:
4784 #line 1028 "parse.y"
4785 {
4786 if (processing_template_decl)
4787 {
4788 yyval.ttype = build_min_nt (COMPOUND_STMT, NULL_TREE);
4789 COMPOUND_STMT_NO_SCOPE (yyval.ttype) = 1;
4790 add_tree (yyval.ttype);
4791 }
4792 ;
4793 break;}
4794 case 174:
4795 #line 1037 "parse.y"
4796 {
4797 if (processing_template_decl)
4798 {
4799 TREE_OPERAND (yyvsp[-1].ttype, 0) = TREE_CHAIN (yyvsp[-1].ttype);
4800 TREE_CHAIN (yyvsp[-1].ttype) = NULL_TREE;
4801 last_tree = yyvsp[-1].ttype;
4802 }
4803 finish_stmt ();
4804 ;
4805 break;}
4806 case 176:
4807 #line 1052 "parse.y"
4808 { yyval.ttype = expr_tree_cons (NULL_TREE, yyval.ttype,
4809 build_expr_list (NULL_TREE, yyvsp[0].ttype)); ;
4810 break;}
4811 case 177:
4812 #line 1055 "parse.y"
4813 { yyval.ttype = expr_tree_cons (NULL_TREE, yyval.ttype,
4814 build_expr_list (NULL_TREE, error_mark_node)); ;
4815 break;}
4816 case 178:
4817 #line 1058 "parse.y"
4818 { chainon (yyval.ttype, build_expr_list (NULL_TREE, yyvsp[0].ttype)); ;
4819 break;}
4820 case 179:
4821 #line 1060 "parse.y"
4822 { chainon (yyval.ttype, build_expr_list (NULL_TREE, error_mark_node)); ;
4823 break;}
4824 case 180:
4825 #line 1065 "parse.y"
4826 { yyval.ttype = build_expr_list (NULL_TREE, yyval.ttype); ;
4827 break;}
4828 case 182:
4829 #line 1071 "parse.y"
4830 { yyval.ttype = yyvsp[0].ttype; ;
4831 break;}
4832 case 183:
4833 #line 1074 "parse.y"
4834 { yyval.ttype = yyvsp[0].ttype;
4835 pedantic = yyvsp[-1].itype; ;
4836 break;}
4837 case 184:
4838 #line 1077 "parse.y"
4839 { yyval.ttype = build_x_indirect_ref (yyvsp[0].ttype, "unary *"); ;
4840 break;}
4841 case 185:
4842 #line 1079 "parse.y"
4843 { yyval.ttype = build_x_unary_op (ADDR_EXPR, yyvsp[0].ttype); ;
4844 break;}
4845 case 186:
4846 #line 1081 "parse.y"
4847 { yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, yyvsp[0].ttype); ;
4848 break;}
4849 case 187:
4850 #line 1083 "parse.y"
4851 { yyval.ttype = build_x_unary_op (yyvsp[-1].code, yyvsp[0].ttype);
4852 if (yyvsp[-1].code == NEGATE_EXPR && TREE_CODE (yyvsp[0].ttype) == INTEGER_CST)
4853 TREE_NEGATED_INT (yyval.ttype) = 1;
4854 overflow_warning (yyval.ttype);
4855 ;
4856 break;}
4857 case 188:
4858 #line 1090 "parse.y"
4859 { tree label = lookup_label (yyvsp[0].ttype);
4860 if (pedantic)
4861 pedwarn ("ANSI C++ forbids `&&'");
4862 if (label == NULL_TREE)
4863 yyval.ttype = null_pointer_node;
4864 else
4865 {
4866 TREE_USED (label) = 1;
4867 yyval.ttype = build1 (ADDR_EXPR, ptr_type_node, label);
4868 TREE_CONSTANT (yyval.ttype) = 1;
4869 }
4870 ;
4871 break;}
4872 case 189:
4873 #line 1103 "parse.y"
4874 { yyval.ttype = expr_sizeof (yyvsp[0].ttype); ;
4875 break;}
4876 case 190:
4877 #line 1105 "parse.y"
4878 { yyval.ttype = c_sizeof (groktypename (yyvsp[-1].ftype.t)); ;
4879 break;}
4880 case 191:
4881 #line 1107 "parse.y"
4882 { yyval.ttype = grok_alignof (yyvsp[0].ttype); ;
4883 break;}
4884 case 192:
4885 #line 1109 "parse.y"
4886 { yyval.ttype = c_alignof (groktypename (yyvsp[-1].ftype.t));
4887 check_for_new_type ("alignof", yyvsp[-1].ftype); ;
4888 break;}
4889 case 193:
4890 #line 1115 "parse.y"
4891 { yyval.ttype = build_new (NULL_TREE, yyvsp[0].ftype.t, NULL_TREE, yyvsp[-1].itype);
4892 check_for_new_type ("new", yyvsp[0].ftype); ;
4893 break;}
4894 case 194:
4895 #line 1118 "parse.y"
4896 { yyval.ttype = build_new (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype, yyvsp[-2].itype);
4897 check_for_new_type ("new", yyvsp[-1].ftype); ;
4898 break;}
4899 case 195:
4900 #line 1121 "parse.y"
4901 { yyval.ttype = build_new (yyvsp[-1].ttype, yyvsp[0].ftype.t, NULL_TREE, yyvsp[-2].itype);
4902 check_for_new_type ("new", yyvsp[0].ftype); ;
4903 break;}
4904 case 196:
4905 #line 1124 "parse.y"
4906 { yyval.ttype = build_new (yyvsp[-2].ttype, yyvsp[-1].ftype.t, yyvsp[0].ttype, yyvsp[-3].itype);
4907 check_for_new_type ("new", yyvsp[-1].ftype); ;
4908 break;}
4909 case 197:
4910 #line 1127 "parse.y"
4911 { yyval.ttype = build_new (NULL_TREE, groktypename(yyvsp[-1].ftype.t),
4912 NULL_TREE, yyvsp[-3].itype);
4913 check_for_new_type ("new", yyvsp[-1].ftype); ;
4914 break;}
4915 case 198:
4916 #line 1131 "parse.y"
4917 { yyval.ttype = build_new (NULL_TREE, groktypename(yyvsp[-2].ftype.t), yyvsp[0].ttype, yyvsp[-4].itype);
4918 check_for_new_type ("new", yyvsp[-2].ftype); ;
4919 break;}
4920 case 199:
4921 #line 1134 "parse.y"
4922 { yyval.ttype = build_new (yyvsp[-3].ttype, groktypename(yyvsp[-1].ftype.t), NULL_TREE, yyvsp[-4].itype);
4923 check_for_new_type ("new", yyvsp[-1].ftype); ;
4924 break;}
4925 case 200:
4926 #line 1137 "parse.y"
4927 { yyval.ttype = build_new (yyvsp[-4].ttype, groktypename(yyvsp[-2].ftype.t), yyvsp[0].ttype, yyvsp[-5].itype);
4928 check_for_new_type ("new", yyvsp[-2].ftype); ;
4929 break;}
4930 case 201:
4931 #line 1141 "parse.y"
4932 { yyval.ttype = delete_sanity (yyvsp[0].ttype, NULL_TREE, 0, yyvsp[-1].itype); ;
4933 break;}
4934 case 202:
4935 #line 1143 "parse.y"
4936 { yyval.ttype = delete_sanity (yyvsp[0].ttype, NULL_TREE, 1, yyvsp[-3].itype);
4937 if (yychar == YYEMPTY)
4938 yychar = YYLEX; ;
4939 break;}
4940 case 203:
4941 #line 1147 "parse.y"
4942 { yyval.ttype = delete_sanity (yyvsp[0].ttype, yyvsp[-2].ttype, 2, yyvsp[-4].itype);
4943 if (yychar == YYEMPTY)
4944 yychar = YYLEX; ;
4945 break;}
4946 case 204:
4947 #line 1151 "parse.y"
4948 { yyval.ttype = build_x_unary_op (REALPART_EXPR, yyvsp[0].ttype); ;
4949 break;}
4950 case 205:
4951 #line 1153 "parse.y"
4952 { yyval.ttype = build_x_unary_op (IMAGPART_EXPR, yyvsp[0].ttype); ;
4953 break;}
4954 case 206:
4955 #line 1158 "parse.y"
4956 { yyval.ttype = yyvsp[-1].ttype; ;
4957 break;}
4958 case 207:
4959 #line 1160 "parse.y"
4960 {
4961 yyval.ttype = yyvsp[-1].ttype;
4962 pedwarn ("old style placement syntax, use () instead");
4963 ;
4964 break;}
4965 case 208:
4966 #line 1168 "parse.y"
4967 { yyval.ttype = yyvsp[-1].ttype; ;
4968 break;}
4969 case 209:
4970 #line 1170 "parse.y"
4971 { yyval.ttype = NULL_TREE; ;
4972 break;}
4973 case 210:
4974 #line 1172 "parse.y"
4975 {
4976 cp_error ("`%T' is not a valid expression", yyvsp[-1].ftype.t);
4977 yyval.ttype = error_mark_node;
4978 ;
4979 break;}
4980 case 211:
4981 #line 1180 "parse.y"
4982 {
4983 if (pedantic)
4984 pedwarn ("ANSI C++ forbids initialization of new expression with `='");
4985 yyval.ttype = yyvsp[0].ttype;
4986 ;
4987 break;}
4988 case 212:
4989 #line 1190 "parse.y"
4990 { yyvsp[-1].ftype.t = tree_cons (NULL_TREE, yyvsp[-1].ftype.t, void_list_node);
4991 TREE_PARMLIST (yyvsp[-1].ftype.t) = 1;
4992 yyval.ttype = make_call_declarator (NULL_TREE, yyvsp[-1].ftype.t, NULL_TREE, NULL_TREE);
4993 check_for_new_type ("cast", yyvsp[-1].ftype); ;
4994 break;}
4995 case 213:
4996 #line 1195 "parse.y"
4997 { yyvsp[-1].ftype.t = tree_cons (NULL_TREE, yyvsp[-1].ftype.t, void_list_node);
4998 TREE_PARMLIST (yyvsp[-1].ftype.t) = 1;
4999 yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-1].ftype.t, NULL_TREE, NULL_TREE);
5000 check_for_new_type ("cast", yyvsp[-1].ftype); ;
5001 break;}
5002 case 215:
5003 #line 1204 "parse.y"
5004 { yyval.ttype = reparse_absdcl_as_casts (yyval.ttype, yyvsp[0].ttype); ;
5005 break;}
5006 case 216:
5007 #line 1206 "parse.y"
5008 {
5009 tree init = build_nt (CONSTRUCTOR, NULL_TREE,
5010 nreverse (yyvsp[-2].ttype));
5011 if (pedantic)
5012 pedwarn ("ANSI C++ forbids constructor-expressions");
5013 /* Indicate that this was a GNU C constructor expression. */
5014 TREE_HAS_CONSTRUCTOR (init) = 1;
5015
5016 yyval.ttype = reparse_absdcl_as_casts (yyval.ttype, init);
5017 ;
5018 break;}
5019 case 218:
5020 #line 1222 "parse.y"
5021 { yyval.ttype = build_x_binary_op (MEMBER_REF, yyval.ttype, yyvsp[0].ttype); ;
5022 break;}
5023 case 219:
5024 #line 1224 "parse.y"
5025 { yyval.ttype = build_m_component_ref (yyval.ttype, yyvsp[0].ttype); ;
5026 break;}
5027 case 220:
5028 #line 1226 "parse.y"
5029 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5030 break;}
5031 case 221:
5032 #line 1228 "parse.y"
5033 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5034 break;}
5035 case 222:
5036 #line 1230 "parse.y"
5037 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5038 break;}
5039 case 223:
5040 #line 1232 "parse.y"
5041 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5042 break;}
5043 case 224:
5044 #line 1234 "parse.y"
5045 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5046 break;}
5047 case 225:
5048 #line 1236 "parse.y"
5049 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5050 break;}
5051 case 226:
5052 #line 1238 "parse.y"
5053 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5054 break;}
5055 case 227:
5056 #line 1240 "parse.y"
5057 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5058 break;}
5059 case 228:
5060 #line 1242 "parse.y"
5061 { yyval.ttype = build_x_binary_op (LT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
5062 break;}
5063 case 229:
5064 #line 1244 "parse.y"
5065 { yyval.ttype = build_x_binary_op (GT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
5066 break;}
5067 case 230:
5068 #line 1246 "parse.y"
5069 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5070 break;}
5071 case 231:
5072 #line 1248 "parse.y"
5073 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5074 break;}
5075 case 232:
5076 #line 1250 "parse.y"
5077 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5078 break;}
5079 case 233:
5080 #line 1252 "parse.y"
5081 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5082 break;}
5083 case 234:
5084 #line 1254 "parse.y"
5085 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5086 break;}
5087 case 235:
5088 #line 1256 "parse.y"
5089 { yyval.ttype = build_x_binary_op (TRUTH_ANDIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
5090 break;}
5091 case 236:
5092 #line 1258 "parse.y"
5093 { yyval.ttype = build_x_binary_op (TRUTH_ORIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
5094 break;}
5095 case 237:
5096 #line 1260 "parse.y"
5097 { yyval.ttype = build_x_conditional_expr (yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
5098 break;}
5099 case 238:
5100 #line 1262 "parse.y"
5101 { yyval.ttype = build_x_modify_expr (yyval.ttype, NOP_EXPR, yyvsp[0].ttype);
5102 if (yyval.ttype != error_mark_node)
5103 C_SET_EXP_ORIGINAL_CODE (yyval.ttype, MODIFY_EXPR); ;
5104 break;}
5105 case 239:
5106 #line 1266 "parse.y"
5107 { yyval.ttype = build_x_modify_expr (yyval.ttype, yyvsp[-1].code, yyvsp[0].ttype); ;
5108 break;}
5109 case 240:
5110 #line 1268 "parse.y"
5111 { yyval.ttype = build_throw (NULL_TREE); ;
5112 break;}
5113 case 241:
5114 #line 1270 "parse.y"
5115 { yyval.ttype = build_throw (yyvsp[0].ttype); ;
5116 break;}
5117 case 242:
5118 #line 1288 "parse.y"
5119 { yyval.ttype = build_parse_node (BIT_NOT_EXPR, yyvsp[0].ttype); ;
5120 break;}
5121 case 248:
5122 #line 1298 "parse.y"
5123 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5124 break;}
5125 case 249:
5126 #line 1300 "parse.y"
5127 { yyval.ttype = lookup_template_function (yyvsp[-2].ttype, NULL_TREE); ;
5128 break;}
5129 case 250:
5130 #line 1302 "parse.y"
5131 { yyval.ttype = lookup_template_function
5132 (do_identifier (yyvsp[-3].ttype, 1), yyvsp[-1].ttype); ;
5133 break;}
5134 case 251:
5135 #line 1305 "parse.y"
5136 { yyval.ttype = lookup_template_function
5137 (do_identifier (yyvsp[-2].ttype, 1), NULL_TREE); ;
5138 break;}
5139 case 252:
5140 #line 1311 "parse.y"
5141 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5142 break;}
5143 case 253:
5144 #line 1313 "parse.y"
5145 { yyval.ttype = lookup_template_function (DECL_NAME (yyvsp[-3].ttype), yyvsp[-1].ttype); ;
5146 break;}
5147 case 254:
5148 #line 1315 "parse.y"
5149 { yyval.ttype = lookup_template_function (DECL_NAME (yyvsp[-3].ttype), yyvsp[-1].ttype); ;
5150 break;}
5151 case 259:
5152 #line 1327 "parse.y"
5153 { yyval.ttype = build_parse_node (INDIRECT_REF, yyvsp[0].ttype); ;
5154 break;}
5155 case 260:
5156 #line 1329 "parse.y"
5157 { yyval.ttype = build_parse_node (ADDR_EXPR, yyvsp[0].ttype); ;
5158 break;}
5159 case 261:
5160 #line 1331 "parse.y"
5161 { yyval.ttype = yyvsp[-1].ttype; ;
5162 break;}
5163 case 262:
5164 #line 1336 "parse.y"
5165 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5166 break;}
5167 case 263:
5168 #line 1338 "parse.y"
5169 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5170 break;}
5171 case 267:
5172 #line 1346 "parse.y"
5173 { yyval.ttype = finish_decl_parsing (yyvsp[-1].ttype); ;
5174 break;}
5175 case 268:
5176 #line 1351 "parse.y"
5177 {
5178 if (TREE_CODE (yyval.ttype) == BIT_NOT_EXPR)
5179 yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, TREE_OPERAND (yyval.ttype, 0));
5180 else if (TREE_CODE (yyval.ttype) != TEMPLATE_ID_EXPR)
5181 yyval.ttype = do_identifier (yyval.ttype, 1);
5182 ;
5183 break;}
5184 case 271:
5185 #line 1360 "parse.y"
5186 {
5187 if (processing_template_decl)
5188 push_obstacks (&permanent_obstack, &permanent_obstack);
5189 yyval.ttype = combine_strings (yyval.ttype);
5190 if (processing_template_decl)
5191 pop_obstacks ();
5192 ;
5193 break;}
5194 case 272:
5195 #line 1368 "parse.y"
5196 { char class;
5197 yyval.ttype = yyvsp[-1].ttype;
5198 class = TREE_CODE_CLASS (TREE_CODE (yyval.ttype));
5199 if (class == 'e' || class == '1'
5200 || class == '2' || class == '<')
5201 /* This inhibits warnings in truthvalue_conversion. */
5202 C_SET_EXP_ORIGINAL_CODE (yyval.ttype, ERROR_MARK); ;
5203 break;}
5204 case 273:
5205 #line 1376 "parse.y"
5206 { char class;
5207 yyval.ttype = reparse_decl_as_expr (NULL_TREE, yyvsp[-1].ttype);
5208 class = TREE_CODE_CLASS (TREE_CODE (yyval.ttype));
5209 if (class == 'e' || class == '1'
5210 || class == '2' || class == '<')
5211 /* This inhibits warnings in truthvalue_conversion. */
5212 C_SET_EXP_ORIGINAL_CODE (yyval.ttype, ERROR_MARK); ;
5213 break;}
5214 case 274:
5215 #line 1384 "parse.y"
5216 { yyval.ttype = error_mark_node; ;
5217 break;}
5218 case 275:
5219 #line 1386 "parse.y"
5220 { if (current_function_decl == 0)
5221 {
5222 error ("braced-group within expression allowed only inside a function");
5223 YYERROR;
5224 }
5225 keep_next_level ();
5226 yyval.ttype = expand_start_stmt_expr (); ;
5227 break;}
5228 case 276:
5229 #line 1394 "parse.y"
5230 { tree rtl_exp;
5231 if (pedantic)
5232 pedwarn ("ANSI C++ forbids braced-groups within expressions");
5233 rtl_exp = expand_end_stmt_expr (yyvsp[-2].ttype);
5234 /* The statements have side effects, so the group does. */
5235 TREE_SIDE_EFFECTS (rtl_exp) = 1;
5236
5237 if (TREE_CODE (yyvsp[-1].ttype) == BLOCK)
5238 {
5239 /* Make a BIND_EXPR for the BLOCK already made. */
5240 yyval.ttype = build (BIND_EXPR, TREE_TYPE (rtl_exp),
5241 NULL_TREE, rtl_exp, yyvsp[-1].ttype);
5242 /* Remove the block from the tree at this point.
5243 It gets put back at the proper place
5244 when the BIND_EXPR is expanded. */
5245 delete_block (yyvsp[-1].ttype);
5246 }
5247 else
5248 yyval.ttype = yyvsp[-1].ttype;
5249 ;
5250 break;}
5251 case 277:
5252 #line 1415 "parse.y"
5253 {
5254 yyval.ttype = build_x_function_call (yyvsp[-3].ttype, yyvsp[-1].ttype, current_class_ref);
5255 if (TREE_CODE (yyval.ttype) == CALL_EXPR
5256 && TREE_TYPE (yyval.ttype) != void_type_node)
5257 yyval.ttype = require_complete_type (yyval.ttype);
5258 ;
5259 break;}
5260 case 278:
5261 #line 1422 "parse.y"
5262 {
5263 yyval.ttype = build_x_function_call (yyval.ttype, NULL_TREE, current_class_ref);
5264 if (TREE_CODE (yyval.ttype) == CALL_EXPR
5265 && TREE_TYPE (yyval.ttype) != void_type_node)
5266 yyval.ttype = require_complete_type (yyval.ttype);
5267 ;
5268 break;}
5269 case 279:
5270 #line 1429 "parse.y"
5271 { yyval.ttype = grok_array_decl (yyval.ttype, yyvsp[-1].ttype); ;
5272 break;}
5273 case 280:
5274 #line 1431 "parse.y"
5275 { /* If we get an OFFSET_REF, turn it into what it really
5276 means (e.g., a COMPONENT_REF). This way if we've got,
5277 say, a reference to a static member that's being operated
5278 on, we don't end up trying to find a member operator for
5279 the class it's in. */
5280 if (TREE_CODE (yyval.ttype) == OFFSET_REF)
5281 yyval.ttype = resolve_offset_ref (yyval.ttype);
5282 yyval.ttype = build_x_unary_op (POSTINCREMENT_EXPR, yyval.ttype); ;
5283 break;}
5284 case 281:
5285 #line 1440 "parse.y"
5286 { if (TREE_CODE (yyval.ttype) == OFFSET_REF)
5287 yyval.ttype = resolve_offset_ref (yyval.ttype);
5288 yyval.ttype = build_x_unary_op (POSTDECREMENT_EXPR, yyval.ttype); ;
5289 break;}
5290 case 282:
5291 #line 1445 "parse.y"
5292 { if (current_class_ptr)
5293 {
5294 #ifdef WARNING_ABOUT_CCD
5295 TREE_USED (current_class_ptr) = 1;
5296 #endif
5297 yyval.ttype = current_class_ptr;
5298 }
5299 else if (current_function_decl
5300 && DECL_STATIC_FUNCTION_P (current_function_decl))
5301 {
5302 error ("`this' is unavailable for static member functions");
5303 yyval.ttype = error_mark_node;
5304 }
5305 else
5306 {
5307 if (current_function_decl)
5308 error ("invalid use of `this' in non-member function");
5309 else
5310 error ("invalid use of `this' at top level");
5311 yyval.ttype = error_mark_node;
5312 }
5313 ;
5314 break;}
5315 case 283:
5316 #line 1468 "parse.y"
5317 {
5318 tree type;
5319 tree id = yyval.ttype;
5320
5321 /* This is a C cast in C++'s `functional' notation. */
5322 if (yyvsp[-1].ttype == error_mark_node)
5323 {
5324 yyval.ttype = error_mark_node;
5325 break;
5326 }
5327 #if 0
5328 if (yyvsp[-1].ttype == NULL_TREE)
5329 {
5330 error ("cannot cast null list to type `%s'",
5331 IDENTIFIER_POINTER (TYPE_NAME (id)));
5332 yyval.ttype = error_mark_node;
5333 break;
5334 }
5335 #endif
5336 #if 0
5337 /* type is not set! (mrs) */
5338 if (type == error_mark_node)
5339 yyval.ttype = error_mark_node;
5340 else
5341 #endif
5342 {
5343 if (id == ridpointers[(int) RID_CONST])
5344 type = build_type_variant (integer_type_node, 1, 0);
5345 else if (id == ridpointers[(int) RID_VOLATILE])
5346 type = build_type_variant (integer_type_node, 0, 1);
5347 #if 0
5348 /* should not be able to get here (mrs) */
5349 else if (id == ridpointers[(int) RID_FRIEND])
5350 {
5351 error ("cannot cast expression to `friend' type");
5352 yyval.ttype = error_mark_node;
5353 break;
5354 }
5355 #endif
5356 else my_friendly_abort (79);
5357 yyval.ttype = build_c_cast (type, build_compound_expr (yyvsp[-1].ttype));
5358 }
5359 ;
5360 break;}
5361 case 285:
5362 #line 1513 "parse.y"
5363 { tree type = groktypename (yyvsp[-4].ftype.t);
5364 check_for_new_type ("dynamic_cast", yyvsp[-4].ftype);
5365 yyval.ttype = build_dynamic_cast (type, yyvsp[-1].ttype); ;
5366 break;}
5367 case 286:
5368 #line 1517 "parse.y"
5369 { tree type = groktypename (yyvsp[-4].ftype.t);
5370 check_for_new_type ("static_cast", yyvsp[-4].ftype);
5371 yyval.ttype = build_static_cast (type, yyvsp[-1].ttype); ;
5372 break;}
5373 case 287:
5374 #line 1521 "parse.y"
5375 { tree type = groktypename (yyvsp[-4].ftype.t);
5376 check_for_new_type ("reinterpret_cast", yyvsp[-4].ftype);
5377 yyval.ttype = build_reinterpret_cast (type, yyvsp[-1].ttype); ;
5378 break;}
5379 case 288:
5380 #line 1525 "parse.y"
5381 { tree type = groktypename (yyvsp[-4].ftype.t);
5382 check_for_new_type ("const_cast", yyvsp[-4].ftype);
5383 yyval.ttype = build_const_cast (type, yyvsp[-1].ttype); ;
5384 break;}
5385 case 289:
5386 #line 1529 "parse.y"
5387 { yyval.ttype = build_x_typeid (yyvsp[-1].ttype); ;
5388 break;}
5389 case 290:
5390 #line 1531 "parse.y"
5391 { tree type = groktypename (yyvsp[-1].ftype.t);
5392 check_for_new_type ("typeid", yyvsp[-1].ftype);
5393 yyval.ttype = get_typeid (TYPE_MAIN_VARIANT (type)); ;
5394 break;}
5395 case 291:
5396 #line 1535 "parse.y"
5397 { yyval.ttype = do_scoped_id (yyvsp[0].ttype, 1); ;
5398 break;}
5399 case 292:
5400 #line 1537 "parse.y"
5401 {
5402 got_scope = NULL_TREE;
5403 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
5404 yyval.ttype = do_scoped_id (yyvsp[0].ttype, 1);
5405 else
5406 yyval.ttype = yyvsp[0].ttype;
5407 ;
5408 break;}
5409 case 293:
5410 #line 1545 "parse.y"
5411 { yyval.ttype = build_offset_ref (OP0 (yyval.ttype), OP1 (yyval.ttype)); ;
5412 break;}
5413 case 294:
5414 #line 1547 "parse.y"
5415 { if (processing_template_decl)
5416 yyval.ttype = build_min_nt (CALL_EXPR, copy_to_permanent (yyvsp[-3].ttype), yyvsp[-1].ttype, NULL_TREE);
5417 else
5418 yyval.ttype = build_member_call (OP0 (yyval.ttype), OP1 (yyval.ttype), yyvsp[-1].ttype); ;
5419 break;}
5420 case 295:
5421 #line 1552 "parse.y"
5422 { if (processing_template_decl)
5423 yyval.ttype = build_min_nt (CALL_EXPR, copy_to_permanent (yyvsp[-1].ttype),
5424 NULL_TREE, NULL_TREE);
5425 else
5426 yyval.ttype = build_member_call (OP0 (yyval.ttype), OP1 (yyval.ttype), NULL_TREE); ;
5427 break;}
5428 case 296:
5429 #line 1558 "parse.y"
5430 {
5431 yyval.ttype = build_x_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1);
5432 ;
5433 break;}
5434 case 297:
5435 #line 1562 "parse.y"
5436 {
5437 yyval.ttype = build_method_call (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype,
5438 NULL_TREE, LOOKUP_NORMAL);
5439 ;
5440 break;}
5441 case 298:
5442 #line 1567 "parse.y"
5443 {
5444 yyval.ttype = build_method_call (yyvsp[-2].ttype, yyvsp[-1].ttype, NULL_TREE,
5445 NULL_TREE, LOOKUP_NORMAL);
5446 ;
5447 break;}
5448 case 299:
5449 #line 1572 "parse.y"
5450 { yyval.ttype = build_x_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1); ;
5451 break;}
5452 case 300:
5453 #line 1574 "parse.y"
5454 { if (processing_template_decl)
5455 yyval.ttype = build_min_nt (COMPONENT_REF, yyvsp[-1].ttype, copy_to_permanent (yyvsp[0].ttype));
5456 else
5457 yyval.ttype = build_object_ref (yyval.ttype, OP0 (yyvsp[0].ttype), OP1 (yyvsp[0].ttype)); ;
5458 break;}
5459 case 301:
5460 #line 1579 "parse.y"
5461 {
5462 #if 0
5463 /* This is a future direction of this code, but because
5464 build_x_function_call cannot always undo what is done
5465 in build_component_ref entirely yet, we cannot do this. */
5466 yyval.ttype = build_x_function_call (build_component_ref (yyval.ttype, yyvsp[-3].ttype, NULL_TREE, 1), yyvsp[-1].ttype, current_class_ref);
5467 if (TREE_CODE (yyval.ttype) == CALL_EXPR
5468 && TREE_TYPE (yyval.ttype) != void_type_node)
5469 yyval.ttype = require_complete_type (yyval.ttype);
5470 #else
5471 yyval.ttype = build_method_call (yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE,
5472 LOOKUP_NORMAL);
5473 #endif
5474 ;
5475 break;}
5476 case 302:
5477 #line 1594 "parse.y"
5478 {
5479 #if 0
5480 /* This is a future direction of this code, but because
5481 build_x_function_call cannot always undo what is done
5482 in build_component_ref entirely yet, we cannot do this. */
5483 yyval.ttype = build_x_function_call (build_component_ref (yyval.ttype, yyvsp[-1].ttype, NULL_TREE, 1), NULL_TREE, current_class_ref);
5484 if (TREE_CODE (yyval.ttype) == CALL_EXPR
5485 && TREE_TYPE (yyval.ttype) != void_type_node)
5486 yyval.ttype = require_complete_type (yyval.ttype);
5487 #else
5488 yyval.ttype = build_method_call (yyval.ttype, yyvsp[-1].ttype, NULL_TREE, NULL_TREE,
5489 LOOKUP_NORMAL);
5490 #endif
5491 ;
5492 break;}
5493 case 303:
5494 #line 1609 "parse.y"
5495 {
5496 if (IS_SIGNATURE (OP0 (yyvsp[-3].ttype)))
5497 {
5498 warning ("signature name in scope resolution ignored");
5499 yyval.ttype = build_method_call (yyval.ttype, OP1 (yyvsp[-3].ttype), yyvsp[-1].ttype, NULL_TREE,
5500 LOOKUP_NORMAL);
5501 }
5502 else
5503 yyval.ttype = build_scoped_method_call (yyval.ttype, OP0 (yyvsp[-3].ttype), OP1 (yyvsp[-3].ttype), yyvsp[-1].ttype);
5504 ;
5505 break;}
5506 case 304:
5507 #line 1620 "parse.y"
5508 {
5509 if (IS_SIGNATURE (OP0 (yyvsp[-1].ttype)))
5510 {
5511 warning ("signature name in scope resolution ignored");
5512 yyval.ttype = build_method_call (yyval.ttype, OP1 (yyvsp[-1].ttype), NULL_TREE, NULL_TREE,
5513 LOOKUP_NORMAL);
5514 }
5515 else
5516 yyval.ttype = build_scoped_method_call (yyval.ttype, OP0 (yyvsp[-1].ttype), OP1 (yyvsp[-1].ttype), NULL_TREE);
5517 ;
5518 break;}
5519 case 305:
5520 #line 1632 "parse.y"
5521 {
5522 if (IDENTIFIER_GLOBAL_VALUE (yyvsp[-1].ttype)
5523 && (TREE_CODE (TREE_TYPE (yyvsp[-3].ttype))
5524 != TREE_CODE (TREE_TYPE (IDENTIFIER_GLOBAL_VALUE (yyvsp[-1].ttype)))))
5525 cp_error ("`%E' is not of type `%T'", yyvsp[-3].ttype, yyvsp[-1].ttype);
5526 yyval.ttype = cp_convert (void_type_node, yyvsp[-3].ttype);
5527 ;
5528 break;}
5529 case 306:
5530 #line 1640 "parse.y"
5531 {
5532 if (yyvsp[-4].ttype != yyvsp[-1].ttype)
5533 cp_error ("destructor specifier `%T::~%T()' must have matching names", yyvsp[-4].ttype, yyvsp[-1].ttype);
5534 if (TREE_CODE (TREE_TYPE (yyvsp[-5].ttype))
5535 != TREE_CODE (TREE_TYPE (IDENTIFIER_GLOBAL_VALUE (yyvsp[-4].ttype))))
5536 cp_error ("`%E' is not of type `%T'", yyvsp[-5].ttype, yyvsp[-4].ttype);
5537 yyval.ttype = cp_convert (void_type_node, yyvsp[-5].ttype);
5538 ;
5539 break;}
5540 case 307:
5541 #line 1649 "parse.y"
5542 {
5543 yyval.ttype = error_mark_node;
5544 ;
5545 break;}
5546 case 308:
5547 #line 1694 "parse.y"
5548 { yyval.itype = 0; ;
5549 break;}
5550 case 309:
5551 #line 1696 "parse.y"
5552 { got_scope = NULL_TREE; yyval.itype = 1; ;
5553 break;}
5554 case 310:
5555 #line 1701 "parse.y"
5556 { yyval.itype = 0; ;
5557 break;}
5558 case 311:
5559 #line 1703 "parse.y"
5560 { got_scope = NULL_TREE; yyval.itype = 1; ;
5561 break;}
5562 case 312:
5563 #line 1708 "parse.y"
5564 { yyval.ttype = boolean_true_node; ;
5565 break;}
5566 case 313:
5567 #line 1710 "parse.y"
5568 { yyval.ttype = boolean_false_node; ;
5569 break;}
5570 case 315:
5571 #line 1717 "parse.y"
5572 { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
5573 break;}
5574 case 316:
5575 #line 1722 "parse.y"
5576 {
5577 if (! current_function_parms_stored)
5578 store_parm_decls ();
5579 setup_vtbl_ptr ();
5580 /* Always keep the BLOCK node associated with the outermost
5581 pair of curley braces of a function. These are needed
5582 for correct operation of dwarfout.c. */
5583 keep_next_level ();
5584 ;
5585 break;}
5586 case 317:
5587 #line 1735 "parse.y"
5588 { got_object = TREE_TYPE (yyval.ttype); ;
5589 break;}
5590 case 318:
5591 #line 1737 "parse.y"
5592 {
5593 yyval.ttype = build_x_arrow (yyval.ttype);
5594 got_object = TREE_TYPE (yyval.ttype);
5595 ;
5596 break;}
5597 case 319:
5598 #line 1745 "parse.y"
5599 {
5600 resume_momentary (yyvsp[-1].itype);
5601 if (yyvsp[-2].ftype.t && IS_AGGR_TYPE_CODE (TREE_CODE (yyvsp[-2].ftype.t)))
5602 note_got_semicolon (yyvsp[-2].ftype.t);
5603 ;
5604 break;}
5605 case 320:
5606 #line 1751 "parse.y"
5607 {
5608 resume_momentary (yyvsp[-1].itype);
5609 note_list_got_semicolon (yyvsp[-2].ftype.t);
5610 ;
5611 break;}
5612 case 321:
5613 #line 1756 "parse.y"
5614 { resume_momentary (yyvsp[-1].itype); ;
5615 break;}
5616 case 322:
5617 #line 1758 "parse.y"
5618 {
5619 shadow_tag (yyvsp[-1].ftype.t);
5620 note_list_got_semicolon (yyvsp[-1].ftype.t);
5621 ;
5622 break;}
5623 case 323:
5624 #line 1763 "parse.y"
5625 { warning ("empty declaration"); ;
5626 break;}
5627 case 324:
5628 #line 1765 "parse.y"
5629 { pedantic = yyvsp[-1].itype; ;
5630 break;}
5631 case 327:
5632 #line 1779 "parse.y"
5633 { yyval.ttype = make_call_declarator (NULL_TREE, empty_parms (),
5634 NULL_TREE, NULL_TREE); ;
5635 break;}
5636 case 328:
5637 #line 1782 "parse.y"
5638 { yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), NULL_TREE,
5639 NULL_TREE); ;
5640 break;}
5641 case 329:
5642 #line 1789 "parse.y"
5643 { yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
5644 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5645 break;}
5646 case 330:
5647 #line 1792 "parse.y"
5648 { yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
5649 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5650 break;}
5651 case 331:
5652 #line 1795 "parse.y"
5653 { yyval.ftype.t = build_decl_list (get_decl_list (yyvsp[-1].ftype.t), yyvsp[0].ttype);
5654 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5655 break;}
5656 case 332:
5657 #line 1798 "parse.y"
5658 { yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE);
5659 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5660 break;}
5661 case 333:
5662 #line 1801 "parse.y"
5663 { yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE);
5664 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5665 break;}
5666 case 336:
5667 #line 1817 "parse.y"
5668 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ttype);
5669 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5670 break;}
5671 case 337:
5672 #line 1820 "parse.y"
5673 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype);
5674 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5675 break;}
5676 case 338:
5677 #line 1823 "parse.y"
5678 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-2].ftype.t, chainon (yyvsp[-1].ttype, yyvsp[0].ttype));
5679 yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ;
5680 break;}
5681 case 339:
5682 #line 1826 "parse.y"
5683 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ttype));
5684 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5685 break;}
5686 case 340:
5687 #line 1829 "parse.y"
5688 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ttype));
5689 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5690 break;}
5691 case 341:
5692 #line 1832 "parse.y"
5693 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-2].ftype.t,
5694 chainon (yyvsp[-1].ttype, chainon (yyvsp[0].ttype, yyvsp[-3].ttype)));
5695 yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ;
5696 break;}
5697 case 342:
5698 #line 1839 "parse.y"
5699 { if (extra_warnings)
5700 warning ("`%s' is not at beginning of declaration",
5701 IDENTIFIER_POINTER (yyval.ttype));
5702 yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
5703 break;}
5704 case 343:
5705 #line 1844 "parse.y"
5706 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyval.ttype); ;
5707 break;}
5708 case 344:
5709 #line 1846 "parse.y"
5710 { if (extra_warnings)
5711 warning ("`%s' is not at beginning of declaration",
5712 IDENTIFIER_POINTER (yyvsp[0].ttype));
5713 yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
5714 break;}
5715 case 345:
5716 #line 1851 "parse.y"
5717 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
5718 break;}
5719 case 346:
5720 #line 1853 "parse.y"
5721 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ;
5722 break;}
5723 case 347:
5724 #line 1863 "parse.y"
5725 { yyval.ttype = yyvsp[0].ftype.t; TREE_STATIC (yyval.ttype) = 1; ;
5726 break;}
5727 case 348:
5728 #line 1865 "parse.y"
5729 { yyval.ttype = IDENTIFIER_AS_LIST (yyval.ttype); ;
5730 break;}
5731 case 349:
5732 #line 1867 "parse.y"
5733 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype);
5734 TREE_STATIC (yyval.ttype) = 1; ;
5735 break;}
5736 case 350:
5737 #line 1870 "parse.y"
5738 { if (extra_warnings && TREE_STATIC (yyval.ttype))
5739 warning ("`%s' is not at beginning of declaration",
5740 IDENTIFIER_POINTER (yyvsp[0].ttype));
5741 yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype);
5742 TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
5743 break;}
5744 case 351:
5745 #line 1876 "parse.y"
5746 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
5747 break;}
5748 case 352:
5749 #line 1878 "parse.y"
5750 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ;
5751 break;}
5752 case 353:
5753 #line 1889 "parse.y"
5754 { yyval.ftype.t = get_decl_list (yyvsp[0].ftype.t);
5755 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5756 break;}
5757 case 354:
5758 #line 1892 "parse.y"
5759 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ftype.t);
5760 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5761 break;}
5762 case 355:
5763 #line 1895 "parse.y"
5764 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype);
5765 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5766 break;}
5767 case 356:
5768 #line 1898 "parse.y"
5769 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ftype.t));
5770 yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ;
5771 break;}
5772 case 357:
5773 #line 1904 "parse.y"
5774 { yyval.ttype = build_decl_list (NULL_TREE, yyvsp[0].ftype.t); ;
5775 break;}
5776 case 358:
5777 #line 1906 "parse.y"
5778 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ttype); ;
5779 break;}
5780 case 360:
5781 #line 1916 "parse.y"
5782 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5783 break;}
5784 case 361:
5785 #line 1918 "parse.y"
5786 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5787 break;}
5788 case 362:
5789 #line 1920 "parse.y"
5790 { yyval.ftype.t = TREE_TYPE (yyvsp[-1].ttype);
5791 yyval.ftype.new_type_flag = 0; ;
5792 break;}
5793 case 363:
5794 #line 1923 "parse.y"
5795 { yyval.ftype.t = groktypename (yyvsp[-1].ftype.t);
5796 yyval.ftype.new_type_flag = 0; ;
5797 break;}
5798 case 364:
5799 #line 1926 "parse.y"
5800 { tree type = TREE_TYPE (yyvsp[-1].ttype);
5801
5802 yyval.ftype.new_type_flag = 0;
5803 if (IS_AGGR_TYPE (type))
5804 {
5805 sorry ("sigof type specifier");
5806 yyval.ftype.t = type;
5807 }
5808 else
5809 {
5810 error ("`sigof' applied to non-aggregate expression");
5811 yyval.ftype.t = error_mark_node;
5812 }
5813 ;
5814 break;}
5815 case 365:
5816 #line 1941 "parse.y"
5817 { tree type = groktypename (yyvsp[-1].ftype.t);
5818
5819 yyval.ftype.new_type_flag = 0;
5820 if (IS_AGGR_TYPE (type))
5821 {
5822 sorry ("sigof type specifier");
5823 yyval.ftype.t = type;
5824 }
5825 else
5826 {
5827 error("`sigof' applied to non-aggregate type");
5828 yyval.ftype.t = error_mark_node;
5829 }
5830 ;
5831 break;}
5832 case 366:
5833 #line 1961 "parse.y"
5834 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5835 break;}
5836 case 367:
5837 #line 1963 "parse.y"
5838 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5839 break;}
5840 case 375:
5841 #line 1984 "parse.y"
5842 { yyval.ttype = NULL_TREE; ;
5843 break;}
5844 case 376:
5845 #line 1986 "parse.y"
5846 { if (TREE_CHAIN (yyvsp[-1].ttype)) yyvsp[-1].ttype = combine_strings (yyvsp[-1].ttype); yyval.ttype = yyvsp[-1].ttype; ;
5847 break;}
5848 case 377:
5849 #line 1991 "parse.y"
5850 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
5851 &prefix_attributes);
5852 if (current_declspecs
5853 && TREE_CODE (current_declspecs) != TREE_LIST)
5854 current_declspecs = get_decl_list (current_declspecs);
5855 if (have_extern_spec && !used_extern_spec)
5856 {
5857 current_declspecs = decl_tree_cons
5858 (NULL_TREE, get_identifier ("extern"),
5859 current_declspecs);
5860 used_extern_spec = 1;
5861 }
5862 yyvsp[0].itype = suspend_momentary ();
5863 yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1);
5864 cplus_decl_attributes (yyval.ttype, yyvsp[-1].ttype, prefix_attributes); ;
5865 break;}
5866 case 378:
5867 #line 2008 "parse.y"
5868 { cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 1, LOOKUP_ONLYCONVERTING);
5869 yyval.itype = yyvsp[-2].itype; ;
5870 break;}
5871 case 379:
5872 #line 2011 "parse.y"
5873 { tree d;
5874 split_specs_attrs (yyvsp[-3].ttype, &current_declspecs,
5875 &prefix_attributes);
5876 if (current_declspecs
5877 && TREE_CODE (current_declspecs) != TREE_LIST)
5878 current_declspecs = get_decl_list (current_declspecs);
5879 if (have_extern_spec && !used_extern_spec)
5880 {
5881 current_declspecs = decl_tree_cons
5882 (NULL_TREE, get_identifier ("extern"),
5883 current_declspecs);
5884 used_extern_spec = 1;
5885 }
5886 yyval.itype = suspend_momentary ();
5887 d = start_decl (yyvsp[-2].ttype, current_declspecs, 0);
5888 cplus_decl_attributes (d, yyvsp[0].ttype, prefix_attributes);
5889 cp_finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 1, 0); ;
5890 break;}
5891 case 380:
5892 #line 2032 "parse.y"
5893 { yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1);
5894 cplus_decl_attributes (yyval.ttype, yyvsp[-1].ttype, prefix_attributes); ;
5895 break;}
5896 case 381:
5897 #line 2036 "parse.y"
5898 { cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 1, LOOKUP_ONLYCONVERTING); ;
5899 break;}
5900 case 382:
5901 #line 2038 "parse.y"
5902 { yyval.ttype = start_decl (yyvsp[-2].ttype, current_declspecs, 0);
5903 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes);
5904 cp_finish_decl (yyval.ttype, NULL_TREE, yyvsp[-1].ttype, 1, 0); ;
5905 break;}
5906 case 383:
5907 #line 2045 "parse.y"
5908 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
5909 &prefix_attributes);
5910 yyvsp[0].itype = suspend_momentary ();
5911 yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1);
5912 cplus_decl_attributes (yyval.ttype, yyvsp[-1].ttype, prefix_attributes); ;
5913 break;}
5914 case 384:
5915 #line 2052 "parse.y"
5916 { cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 1, LOOKUP_ONLYCONVERTING);
5917 yyval.itype = yyvsp[-2].itype; ;
5918 break;}
5919 case 385:
5920 #line 2055 "parse.y"
5921 { tree d;
5922 split_specs_attrs (yyvsp[-3].ttype, &current_declspecs,
5923 &prefix_attributes);
5924 yyval.itype = suspend_momentary ();
5925 d = start_decl (yyvsp[-2].ttype, current_declspecs, 0);
5926 cplus_decl_attributes (d, yyvsp[0].ttype, prefix_attributes);
5927 cp_finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 1, 0); ;
5928 break;}
5929 case 386:
5930 #line 2066 "parse.y"
5931 { current_declspecs = NULL_TREE;
5932 prefix_attributes = NULL_TREE;
5933 yyvsp[0].itype = suspend_momentary ();
5934 yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1);
5935 cplus_decl_attributes (yyval.ttype, yyvsp[-1].ttype, prefix_attributes); ;
5936 break;}
5937 case 387:
5938 #line 2073 "parse.y"
5939 { cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 1, LOOKUP_ONLYCONVERTING);
5940 yyval.itype = yyvsp[-2].itype; ;
5941 break;}
5942 case 388:
5943 #line 2076 "parse.y"
5944 { tree d;
5945 current_declspecs = NULL_TREE;
5946 prefix_attributes = NULL_TREE;
5947 yyval.itype = suspend_momentary ();
5948 d = start_decl (yyvsp[-2].ttype, current_declspecs, 0);
5949 cplus_decl_attributes (d, yyvsp[0].ttype, prefix_attributes);
5950 cp_finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 1, 0); ;
5951 break;}
5952 case 389:
5953 #line 2089 "parse.y"
5954 { yyval.ttype = NULL_TREE; ;
5955 break;}
5956 case 390:
5957 #line 2091 "parse.y"
5958 { yyval.ttype = yyvsp[0].ttype; ;
5959 break;}
5960 case 391:
5961 #line 2096 "parse.y"
5962 { yyval.ttype = yyvsp[0].ttype; ;
5963 break;}
5964 case 392:
5965 #line 2098 "parse.y"
5966 { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ;
5967 break;}
5968 case 393:
5969 #line 2103 "parse.y"
5970 { yyval.ttype = yyvsp[-2].ttype; ;
5971 break;}
5972 case 394:
5973 #line 2108 "parse.y"
5974 { yyval.ttype = yyvsp[0].ttype; ;
5975 break;}
5976 case 395:
5977 #line 2110 "parse.y"
5978 { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
5979 break;}
5980 case 396:
5981 #line 2115 "parse.y"
5982 { yyval.ttype = NULL_TREE; ;
5983 break;}
5984 case 397:
5985 #line 2117 "parse.y"
5986 { yyval.ttype = build_tree_list (yyvsp[0].ttype, NULL_TREE); ;
5987 break;}
5988 case 398:
5989 #line 2119 "parse.y"
5990 { yyval.ttype = build_tree_list (yyvsp[-3].ttype, build_tree_list (NULL_TREE, yyvsp[-1].ttype)); ;
5991 break;}
5992 case 399:
5993 #line 2121 "parse.y"
5994 { yyval.ttype = build_tree_list (yyvsp[-5].ttype, tree_cons (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype)); ;
5995 break;}
5996 case 400:
5997 #line 2123 "parse.y"
5998 { yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5999 break;}
6000 case 405:
6001 #line 2139 "parse.y"
6002 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
6003 break;}
6004 case 406:
6005 #line 2141 "parse.y"
6006 { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
6007 break;}
6008 case 407:
6009 #line 2146 "parse.y"
6010 { yyval.ttype = NULL_TREE; ;
6011 break;}
6012 case 408:
6013 #line 2148 "parse.y"
6014 { yyval.ttype = yyvsp[0].ttype; ;
6015 break;}
6016 case 410:
6017 #line 2156 "parse.y"
6018 { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, NULL_TREE);
6019 TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
6020 break;}
6021 case 411:
6022 #line 2159 "parse.y"
6023 { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-1].ttype));
6024 TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
6025 break;}
6026 case 412:
6027 #line 2162 "parse.y"
6028 { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-2].ttype));
6029 TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
6030 break;}
6031 case 413:
6032 #line 2165 "parse.y"
6033 { yyval.ttype = NULL_TREE; ;
6034 break;}
6035 case 414:
6036 #line 2172 "parse.y"
6037 { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
6038 break;}
6039 case 415:
6040 #line 2174 "parse.y"
6041 { yyval.ttype = expr_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
6042 break;}
6043 case 416:
6044 #line 2177 "parse.y"
6045 { yyval.ttype = build_expr_list (yyvsp[-2].ttype, yyvsp[0].ttype); ;
6046 break;}
6047 case 417:
6048 #line 2179 "parse.y"
6049 { yyval.ttype = expr_tree_cons (yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype); ;
6050 break;}
6051 case 418:
6052 #line 2181 "parse.y"
6053 { yyval.ttype = build_expr_list (yyval.ttype, yyvsp[0].ttype); ;
6054 break;}
6055 case 419:
6056 #line 2183 "parse.y"
6057 { yyval.ttype = expr_tree_cons (yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype); ;
6058 break;}
6059 case 420:
6060 #line 2188 "parse.y"
6061 { start_function (NULL_TREE, TREE_VALUE (yyvsp[0].ttype),
6062 NULL_TREE, 1);
6063 reinit_parse_for_function (); ;
6064 break;}
6065 case 421:
6066 #line 2194 "parse.y"
6067 {
6068 int nested = (hack_decl_function_context
6069 (current_function_decl) != NULL_TREE);
6070 finish_function (lineno, (int)yyvsp[-1].itype, nested);
6071 process_next_inline (yyvsp[-3].ttype);
6072 ;
6073 break;}
6074 case 422:
6075 #line 2201 "parse.y"
6076 { process_next_inline (yyvsp[-2].ttype); ;
6077 break;}
6078 case 423:
6079 #line 2203 "parse.y"
6080 { process_next_inline (yyvsp[-2].ttype); ;
6081 break;}
6082 case 426:
6083 #line 2215 "parse.y"
6084 { replace_defarg (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
6085 break;}
6086 case 427:
6087 #line 2217 "parse.y"
6088 { replace_defarg (yyvsp[-2].ttype, error_mark_node); ;
6089 break;}
6090 case 429:
6091 #line 2222 "parse.y"
6092 { do_pending_defargs (); ;
6093 break;}
6094 case 430:
6095 #line 2224 "parse.y"
6096 { do_pending_defargs (); ;
6097 break;}
6098 case 431:
6099 #line 2229 "parse.y"
6100 { yyvsp[0].itype = suspend_momentary ();
6101 yyval.ttype = start_enum (yyvsp[-1].ttype); ;
6102 break;}
6103 case 432:
6104 #line 2232 "parse.y"
6105 { yyval.ftype.t = finish_enum (yyvsp[-3].ttype, yyvsp[-2].ttype);
6106 yyval.ftype.new_type_flag = 1;
6107 resume_momentary ((int) yyvsp[-4].itype);
6108 check_for_missing_semicolon (yyvsp[-3].ttype); ;
6109 break;}
6110 case 433:
6111 #line 2237 "parse.y"
6112 { yyval.ftype.t = finish_enum (start_enum (yyvsp[-2].ttype), NULL_TREE);
6113 yyval.ftype.new_type_flag = 1;
6114 check_for_missing_semicolon (yyval.ftype.t); ;
6115 break;}
6116 case 434:
6117 #line 2241 "parse.y"
6118 { yyvsp[0].itype = suspend_momentary ();
6119 yyval.ttype = start_enum (make_anon_name ()); ;
6120 break;}
6121 case 435:
6122 #line 2244 "parse.y"
6123 { yyval.ftype.t = finish_enum (yyvsp[-3].ttype, yyvsp[-2].ttype);
6124 resume_momentary ((int) yyvsp[-5].itype);
6125 check_for_missing_semicolon (yyvsp[-3].ttype);
6126 yyval.ftype.new_type_flag = 1; ;
6127 break;}
6128 case 436:
6129 #line 2249 "parse.y"
6130 { yyval.ftype.t = finish_enum (start_enum (make_anon_name()), NULL_TREE);
6131 yyval.ftype.new_type_flag = 1;
6132 check_for_missing_semicolon (yyval.ftype.t); ;
6133 break;}
6134 case 437:
6135 #line 2253 "parse.y"
6136 { yyval.ftype.t = xref_tag (enum_type_node, yyvsp[0].ttype, NULL_TREE, 1);
6137 yyval.ftype.new_type_flag = 0; ;
6138 break;}
6139 case 438:
6140 #line 2256 "parse.y"
6141 { yyval.ftype.t = xref_tag (enum_type_node, yyvsp[0].ttype, NULL_TREE, 1);
6142 yyval.ftype.new_type_flag = 0; ;
6143 break;}
6144 case 439:
6145 #line 2259 "parse.y"
6146 { yyval.ftype.t = yyvsp[0].ttype;
6147 yyval.ftype.new_type_flag = 0; ;
6148 break;}
6149 case 440:
6150 #line 2263 "parse.y"
6151 { reset_specialization(); ;
6152 break;}
6153 case 441:
6154 #line 2265 "parse.y"
6155 {
6156 int semi;
6157 tree id;
6158
6159 yyval.ttype = yyvsp[-5].ttype;
6160 #if 0
6161 /* Need to rework class nesting in the
6162 presence of nested classes, etc. */
6163 shadow_tag (CLASSTYPE_AS_LIST (yyvsp[-5].ttype)); */
6164 #endif
6165 if (yychar == YYEMPTY)
6166 yychar = YYLEX;
6167 semi = yychar == ';';
6168 /* finish_struct nukes this anyway; if
6169 finish_exception does too, then it can go. */
6170 if (semi)
6171 note_got_semicolon (yyvsp[-5].ttype);
6172
6173 if (TREE_CODE (yyvsp[-5].ttype) == ENUMERAL_TYPE)
6174 ;
6175 else
6176 {
6177 yyval.ttype = finish_struct (yyvsp[-5].ttype, yyvsp[-2].ttype, yyvsp[0].ttype, semi);
6178 if (semi) note_got_semicolon (yyval.ttype);
6179 }
6180
6181 pop_obstacks ();
6182
6183 if (! semi)
6184 check_for_missing_semicolon (yyvsp[-5].ttype);
6185 if (current_scope () == current_function_decl)
6186 do_pending_defargs ();
6187 ;
6188 break;}
6189 case 442:
6190 #line 2299 "parse.y"
6191 {
6192 if (pending_inlines
6193 && current_scope () == current_function_decl)
6194 do_pending_inlines ();
6195 ;
6196 break;}
6197 case 443:
6198 #line 2305 "parse.y"
6199 {
6200 yyval.ftype.t = yyvsp[-3].ttype;
6201 yyval.ftype.new_type_flag = 1;
6202 if (current_class_type == NULL_TREE)
6203 clear_inline_text_obstack ();
6204 ;
6205 break;}
6206 case 444:
6207 #line 2312 "parse.y"
6208 {
6209 yyval.ftype.t = yyvsp[0].ttype;
6210 yyval.ftype.new_type_flag = 0;
6211 /* struct B: public A; is not accepted by the WP grammar. */
6212 if (TYPE_BINFO_BASETYPES (yyval.ftype.t) && !TYPE_SIZE (yyval.ftype.t)
6213 && ! TYPE_BEING_DEFINED (yyval.ftype.t))
6214 cp_error ("base clause without member specification for `%#T'",
6215 yyval.ftype.t);
6216 ;
6217 break;}
6218 case 448:
6219 #line 2331 "parse.y"
6220 { if (pedantic && !in_system_header)
6221 pedwarn ("comma at end of enumerator list"); ;
6222 break;}
6223 case 450:
6224 #line 2338 "parse.y"
6225 { error ("storage class specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
6226 break;}
6227 case 451:
6228 #line 2340 "parse.y"
6229 { error ("type specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
6230 break;}
6231 case 452:
6232 #line 2342 "parse.y"
6233 { error ("type qualifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
6234 break;}
6235 case 453:
6236 #line 2344 "parse.y"
6237 { error ("no body nor ';' separates two class, struct or union declarations"); ;
6238 break;}
6239 case 454:
6240 #line 2349 "parse.y"
6241 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
6242 break;}
6243 case 455:
6244 #line 2354 "parse.y"
6245 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
6246 break;}
6247 case 456:
6248 #line 2359 "parse.y"
6249 {
6250 current_aggr = yyvsp[-2].ttype;
6251 yyval.ttype = handle_class_head (yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
6252 ;
6253 break;}
6254 case 457:
6255 #line 2364 "parse.y"
6256 {
6257 current_aggr = yyvsp[-3].ttype;
6258 yyval.ttype = handle_class_head (yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
6259 ;
6260 break;}
6261 case 458:
6262 #line 2369 "parse.y"
6263 {
6264 current_aggr = yyvsp[-2].ttype;
6265 yyval.ttype = handle_class_head (yyvsp[-2].ttype, NULL_TREE, yyvsp[0].ttype);
6266 ;
6267 break;}
6268 case 459:
6269 #line 2374 "parse.y"
6270 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
6271 break;}
6272 case 460:
6273 #line 2376 "parse.y"
6274 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
6275 break;}
6276 case 461:
6277 #line 2381 "parse.y"
6278 { yyval.ttype = xref_tag (current_aggr, yyvsp[0].ttype, NULL_TREE, 0); ;
6279 break;}
6280 case 462:
6281 #line 2386 "parse.y"
6282 { yyval.ttype = xref_tag (current_aggr, yyvsp[0].ttype, NULL_TREE, 1); ;
6283 break;}
6284 case 463:
6285 #line 2389 "parse.y"
6286 {
6287 yyval.ttype = yyvsp[-1].ttype;
6288 if (yyvsp[0].ttype)
6289 xref_basetypes (current_aggr, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
6290 ;
6291 break;}
6292 case 464:
6293 #line 2395 "parse.y"
6294 {
6295 yyval.ttype = TREE_TYPE (yyvsp[-1].ttype);
6296 if (TREE_INT_CST_LOW (current_aggr) == union_type
6297 && TREE_CODE (yyval.ttype) != UNION_TYPE)
6298 cp_pedwarn ("`union' tag used in declaring `%#T'", yyval.ttype);
6299 else if (TREE_CODE (yyval.ttype) == UNION_TYPE
6300 && TREE_INT_CST_LOW (current_aggr) != union_type)
6301 cp_pedwarn ("non-`union' tag used in declaring `%#T'", yyval.ttype);
6302 if (yyvsp[0].ttype)
6303 {
6304 if (IS_AGGR_TYPE (yyval.ttype) && CLASSTYPE_USE_TEMPLATE (yyval.ttype))
6305 {
6306 if (CLASSTYPE_IMPLICIT_INSTANTIATION (yyval.ttype)
6307 && TYPE_SIZE (yyval.ttype) == NULL_TREE)
6308 {
6309 SET_CLASSTYPE_TEMPLATE_SPECIALIZATION (yyval.ttype);
6310 if (processing_template_decl)
6311 push_template_decl (TYPE_MAIN_DECL (yyval.ttype));
6312 }
6313 else if (CLASSTYPE_TEMPLATE_INSTANTIATION (yyval.ttype))
6314 cp_error ("specialization after instantiation of `%T'", yyval.ttype);
6315 }
6316 xref_basetypes (current_aggr, yyvsp[-1].ttype, yyval.ttype, yyvsp[0].ttype);
6317 }
6318 ;
6319 break;}
6320 case 465:
6321 #line 2424 "parse.y"
6322 { yyval.ttype = xref_tag (yyval.ttype, make_anon_name (), NULL_TREE, 0);
6323 yyungetc ('{', 1); ;
6324 break;}
6325 case 468:
6326 #line 2435 "parse.y"
6327 { yyval.ttype = NULL_TREE; ;
6328 break;}
6329 case 469:
6330 #line 2437 "parse.y"
6331 { yyungetc(':', 1); yyval.ttype = NULL_TREE; ;
6332 break;}
6333 case 470:
6334 #line 2439 "parse.y"
6335 { yyval.ttype = yyvsp[0].ttype; ;
6336 break;}
6337 case 472:
6338 #line 2445 "parse.y"
6339 { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
6340 break;}
6341 case 473:
6342 #line 2450 "parse.y"
6343 {
6344 tree type = TREE_TYPE (yyvsp[0].ttype);
6345 if (! is_aggr_type (type, 1))
6346 yyval.ttype = NULL_TREE;
6347 else if (current_aggr == signature_type_node
6348 && (! type) && (! IS_SIGNATURE (type)))
6349 {
6350 error ("class name not allowed as base signature");
6351 yyval.ttype = NULL_TREE;
6352 }
6353 else if (current_aggr == signature_type_node)
6354 {
6355 sorry ("signature inheritance, base type `%s' ignored",
6356 IDENTIFIER_POINTER (yyval.ttype));
6357 yyval.ttype = build_tree_list (access_public_node, type);
6358 }
6359 else if (type && IS_SIGNATURE (type))
6360 {
6361 error ("signature name not allowed as base class");
6362 yyval.ttype = NULL_TREE;
6363 }
6364 else
6365 yyval.ttype = build_tree_list (access_default_node, type);
6366 ;
6367 break;}
6368 case 474:
6369 #line 2475 "parse.y"
6370 {
6371 tree type = TREE_TYPE (yyvsp[0].ttype);
6372 if (current_aggr == signature_type_node)
6373 error ("access and source specifiers not allowed in signature");
6374 if (! IS_AGGR_TYPE (type))
6375 yyval.ttype = NULL_TREE;
6376 else if (current_aggr == signature_type_node
6377 && (! type) && (! IS_SIGNATURE (type)))
6378 {
6379 error ("class name not allowed as base signature");
6380 yyval.ttype = NULL_TREE;
6381 }
6382 else if (current_aggr == signature_type_node)
6383 {
6384 sorry ("signature inheritance, base type `%s' ignored",
6385 IDENTIFIER_POINTER (yyval.ttype));
6386 yyval.ttype = build_tree_list (access_public_node, type);
6387 }
6388 else if (type && IS_SIGNATURE (type))
6389 {
6390 error ("signature name not allowed as base class");
6391 yyval.ttype = NULL_TREE;
6392 }
6393 else
6394 yyval.ttype = build_tree_list (yyval.ttype, type);
6395 ;
6396 break;}
6397 case 475:
6398 #line 2505 "parse.y"
6399 { yyval.ttype = TYPE_MAIN_DECL (yyvsp[0].ttype); ;
6400 break;}
6401 case 477:
6402 #line 2508 "parse.y"
6403 {
6404 if (current_aggr == signature_type_node)
6405 {
6406 if (IS_AGGR_TYPE (TREE_TYPE (yyvsp[-1].ttype)))
6407 {
6408 sorry ("`sigof' as base signature specifier");
6409 yyval.ttype = TREE_TYPE (yyvsp[-1].ttype);
6410 }
6411 else
6412 {
6413 error ("`sigof' applied to non-aggregate expression");
6414 yyval.ttype = error_mark_node;
6415 }
6416 }
6417 else
6418 {
6419 error ("`sigof' in struct or class declaration");
6420 yyval.ttype = error_mark_node;
6421 }
6422 ;
6423 break;}
6424 case 478:
6425 #line 2529 "parse.y"
6426 {
6427 if (current_aggr == signature_type_node)
6428 {
6429 if (IS_AGGR_TYPE (groktypename (yyvsp[-1].ftype.t)))
6430 {
6431 sorry ("`sigof' as base signature specifier");
6432 yyval.ttype = groktypename (yyvsp[-1].ftype.t);
6433 }
6434 else
6435 {
6436 error ("`sigof' applied to non-aggregate expression");
6437 yyval.ttype = error_mark_node;
6438 }
6439 }
6440 else
6441 {
6442 error ("`sigof' in struct or class declaration");
6443 yyval.ttype = error_mark_node;
6444 }
6445 ;
6446 break;}
6447 case 480:
6448 #line 2554 "parse.y"
6449 { if (yyval.ttype != ridpointers[(int)RID_VIRTUAL])
6450 sorry ("non-virtual access");
6451 yyval.ttype = access_default_virtual_node; ;
6452 break;}
6453 case 481:
6454 #line 2558 "parse.y"
6455 { int err = 0;
6456 if (yyvsp[-1].ttype == access_protected_node)
6457 {
6458 warning ("`protected' access not implemented");
6459 yyvsp[-1].ttype = access_public_node;
6460 err++;
6461 }
6462 else if (yyvsp[-1].ttype == access_public_node)
6463 {
6464 if (yyvsp[-2].ttype == access_private_node)
6465 {
6466 mixed:
6467 error ("base class cannot be public and private");
6468 }
6469 else if (yyvsp[-2].ttype == access_default_virtual_node)
6470 yyval.ttype = access_public_virtual_node;
6471 }
6472 else /* $2 == access_private_node */
6473 {
6474 if (yyvsp[-2].ttype == access_public_node)
6475 goto mixed;
6476 else if (yyvsp[-2].ttype == access_default_virtual_node)
6477 yyval.ttype = access_private_virtual_node;
6478 }
6479 ;
6480 break;}
6481 case 482:
6482 #line 2584 "parse.y"
6483 { if (yyvsp[-1].ttype != ridpointers[(int)RID_VIRTUAL])
6484 sorry ("non-virtual access");
6485 if (yyval.ttype == access_public_node)
6486 yyval.ttype = access_public_virtual_node;
6487 else if (yyval.ttype == access_private_node)
6488 yyval.ttype = access_private_virtual_node; ;
6489 break;}
6490 case 483:
6491 #line 2594 "parse.y"
6492 { tree t = yyvsp[-1].ttype;
6493 push_obstacks_nochange ();
6494 end_temporary_allocation ();
6495
6496 if (t == error_mark_node
6497 || ! IS_AGGR_TYPE (t))
6498 {
6499 t = yyvsp[-1].ttype = make_lang_type (RECORD_TYPE);
6500 pushtag (make_anon_name (), t, 0);
6501 }
6502 if (TYPE_SIZE (t))
6503 duplicate_tag_error (t);
6504 if (TYPE_SIZE (t) || TYPE_BEING_DEFINED (t))
6505 {
6506 t = make_lang_type (TREE_CODE (t));
6507 pushtag (TYPE_IDENTIFIER (yyvsp[-1].ttype), t, 0);
6508 yyvsp[-1].ttype = t;
6509 }
6510 if (processing_template_decl && TYPE_CONTEXT (t)
6511 && ! current_class_type)
6512 push_template_decl (TYPE_STUB_DECL (t));
6513 pushclass (t, 0);
6514 TYPE_BEING_DEFINED (t) = 1;
6515 if (IS_AGGR_TYPE (t) && CLASSTYPE_USE_TEMPLATE (t))
6516 {
6517 if (CLASSTYPE_IMPLICIT_INSTANTIATION (t)
6518 && TYPE_SIZE (t) == NULL_TREE)
6519 {
6520 SET_CLASSTYPE_TEMPLATE_SPECIALIZATION (t);
6521 if (processing_template_decl)
6522 push_template_decl (TYPE_MAIN_DECL (t));
6523 }
6524 else if (CLASSTYPE_TEMPLATE_INSTANTIATION (t))
6525 cp_error ("specialization after instantiation of `%T'", t);
6526 }
6527 /* Reset the interface data, at the earliest possible
6528 moment, as it might have been set via a class foo;
6529 before. */
6530 /* Don't change signatures. */
6531 if (! IS_SIGNATURE (t))
6532 {
6533 extern tree pending_vtables;
6534 int needs_writing;
6535 tree name = TYPE_IDENTIFIER (t);
6536
6537 if (! ANON_AGGRNAME_P (name))
6538 {
6539 CLASSTYPE_INTERFACE_ONLY (t) = interface_only;
6540 SET_CLASSTYPE_INTERFACE_UNKNOWN_X
6541 (t, interface_unknown);
6542 }
6543
6544 /* Record how to set the access of this class's
6545 virtual functions. If write_virtuals == 2 or 3, then
6546 inline virtuals are ``extern inline''. */
6547 switch (write_virtuals)
6548 {
6549 case 0:
6550 case 1:
6551 needs_writing = 1;
6552 break;
6553 case 2:
6554 needs_writing = !! value_member (name, pending_vtables);
6555 break;
6556 case 3:
6557 needs_writing = ! CLASSTYPE_INTERFACE_ONLY (t)
6558 && CLASSTYPE_INTERFACE_KNOWN (t);
6559 break;
6560 default:
6561 needs_writing = 0;
6562 }
6563 CLASSTYPE_VTABLE_NEEDS_WRITING (t) = needs_writing;
6564 }
6565 #if 0
6566 t = TYPE_IDENTIFIER (yyvsp[-1].ttype);
6567 if (t && IDENTIFIER_TEMPLATE (t))
6568 overload_template_name (t, 1);
6569 #endif
6570 ;
6571 break;}
6572 case 484:
6573 #line 2677 "parse.y"
6574 {
6575 yyval.ttype = build_self_reference ();
6576 ;
6577 break;}
6578 case 485:
6579 #line 2684 "parse.y"
6580 { if (yyval.ttype) yyval.ttype = build_tree_list (access_public_node, yyval.ttype); ;
6581 break;}
6582 case 486:
6583 #line 2686 "parse.y"
6584 {
6585 if (current_aggr == signature_type_node)
6586 yyval.ttype = build_tree_list (access_public_node, yyvsp[0].ttype);
6587 else
6588 yyval.ttype = build_tree_list (access_default_node, yyvsp[0].ttype);
6589 if (yyvsp[-1].ttype) yyval.ttype = tree_cons (access_public_node, yyvsp[-1].ttype, yyval.ttype);
6590 ;
6591 break;}
6592 case 487:
6593 #line 2694 "parse.y"
6594 {
6595 tree visspec = yyvsp[-2].ttype;
6596
6597 if (current_aggr == signature_type_node)
6598 {
6599 error ("access specifier not allowed in signature");
6600 visspec = access_public_node;
6601 }
6602 yyval.ttype = chainon (yyval.ttype, build_tree_list (visspec, yyvsp[0].ttype));
6603 ;
6604 break;}
6605 case 488:
6606 #line 2705 "parse.y"
6607 {
6608 if (current_aggr == signature_type_node)
6609 error ("access specifier not allowed in signature");
6610 ;
6611 break;}
6612 case 489:
6613 #line 2715 "parse.y"
6614 { if (yyval.ttype == void_type_node) yyval.ttype = NULL_TREE;
6615 ;
6616 break;}
6617 case 490:
6618 #line 2718 "parse.y"
6619 { /* In pushdecl, we created a reverse list of names
6620 in this binding level. Make sure that the chain
6621 of what we're trying to add isn't the item itself
6622 (which can happen with what pushdecl's doing). */
6623 if (yyvsp[0].ttype != NULL_TREE && yyvsp[0].ttype != void_type_node)
6624 {
6625 if (TREE_CHAIN (yyvsp[0].ttype) != yyval.ttype)
6626 yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype);
6627 else
6628 yyval.ttype = yyvsp[0].ttype;
6629 }
6630 ;
6631 break;}
6632 case 491:
6633 #line 2734 "parse.y"
6634 { ;
6635 break;}
6636 case 492:
6637 #line 2736 "parse.y"
6638 { error ("missing ';' before right brace");
6639 yyungetc ('}', 0); ;
6640 break;}
6641 case 493:
6642 #line 2741 "parse.y"
6643 { yyval.ttype = finish_method (yyval.ttype); ;
6644 break;}
6645 case 494:
6646 #line 2743 "parse.y"
6647 { yyval.ttype = finish_method (yyval.ttype); ;
6648 break;}
6649 case 495:
6650 #line 2745 "parse.y"
6651 { yyval.ttype = finish_method (yyval.ttype); ;
6652 break;}
6653 case 496:
6654 #line 2747 "parse.y"
6655 { yyval.ttype = finish_method (yyval.ttype); ;
6656 break;}
6657 case 497:
6658 #line 2749 "parse.y"
6659 { yyval.ttype = NULL_TREE; ;
6660 break;}
6661 case 498:
6662 #line 2751 "parse.y"
6663 { yyval.ttype = yyvsp[0].ttype;
6664 pedantic = yyvsp[-1].itype; ;
6665 break;}
6666 case 499:
6667 #line 2760 "parse.y"
6668 { yyval.ttype = grok_x_components (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6669 break;}
6670 case 500:
6671 #line 2762 "parse.y"
6672 { yyval.ttype = grok_x_components (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6673 break;}
6674 case 501:
6675 #line 2764 "parse.y"
6676 { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
6677 build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
6678 break;}
6679 case 502:
6680 #line 2767 "parse.y"
6681 { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
6682 build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
6683 break;}
6684 case 503:
6685 #line 2770 "parse.y"
6686 { yyval.ttype = grokbitfield (NULL_TREE, NULL_TREE, yyvsp[0].ttype); ;
6687 break;}
6688 case 504:
6689 #line 2772 "parse.y"
6690 { yyval.ttype = NULL_TREE; ;
6691 break;}
6692 case 505:
6693 #line 2783 "parse.y"
6694 { tree specs, attrs;
6695 split_specs_attrs (yyvsp[-4].ttype, &specs, &attrs);
6696 yyval.ttype = grokfield (yyvsp[-3].ttype, specs, yyvsp[0].ttype, yyvsp[-2].ttype,
6697 build_tree_list (yyvsp[-1].ttype, attrs)); ;
6698 break;}
6699 case 506:
6700 #line 2788 "parse.y"
6701 { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
6702 build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
6703 break;}
6704 case 507:
6705 #line 2791 "parse.y"
6706 { yyval.ttype = do_class_using_decl (yyvsp[0].ttype); ;
6707 break;}
6708 case 508:
6709 #line 2793 "parse.y"
6710 {
6711 if (yyvsp[-1].ttype)
6712 end_template_decl ();
6713 else
6714 end_specialization ();
6715
6716 if (yyvsp[0].ttype && DECL_TEMPLATE_INFO (yyvsp[0].ttype)
6717 && !DECL_TEMPLATE_SPECIALIZATION (yyvsp[0].ttype))
6718 {
6719 yyval.ttype = DECL_TI_TEMPLATE (yyvsp[0].ttype);
6720 check_member_template (yyval.ttype);
6721 }
6722 else if (yyvsp[0].ttype)
6723 yyval.ttype = yyvsp[0].ttype;
6724 else
6725 {
6726 cp_error("invalid member template declaration");
6727 yyval.ttype = NULL_TREE;
6728 }
6729 ;
6730 break;}
6731 case 509:
6732 #line 2818 "parse.y"
6733 { yyval.ttype = NULL_TREE; ;
6734 break;}
6735 case 511:
6736 #line 2821 "parse.y"
6737 {
6738 /* In this context, void_type_node encodes
6739 friends. They have been recorded elsewhere. */
6740 if (yyval.ttype == void_type_node)
6741 yyval.ttype = yyvsp[0].ttype;
6742 else
6743 yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype);
6744 ;
6745 break;}
6746 case 512:
6747 #line 2833 "parse.y"
6748 { yyval.ttype = NULL_TREE; ;
6749 break;}
6750 case 514:
6751 #line 2836 "parse.y"
6752 {
6753 /* In this context, void_type_node encodes
6754 friends. They have been recorded elsewhere. */
6755 if (yyval.ttype == void_type_node)
6756 yyval.ttype = yyvsp[0].ttype;
6757 else
6758 yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype);
6759 ;
6760 break;}
6761 case 519:
6762 #line 2858 "parse.y"
6763 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6764 &prefix_attributes);
6765 yyvsp[-4].ttype = current_declspecs;
6766 yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6767 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6768 break;}
6769 case 520:
6770 #line 2864 "parse.y"
6771 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6772 &prefix_attributes);
6773 yyvsp[-4].ttype = current_declspecs;
6774 yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6775 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6776 break;}
6777 case 521:
6778 #line 2873 "parse.y"
6779 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6780 &prefix_attributes);
6781 yyvsp[-4].ttype = current_declspecs;
6782 yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6783 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6784 break;}
6785 case 522:
6786 #line 2879 "parse.y"
6787 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6788 &prefix_attributes);
6789 yyvsp[-4].ttype = current_declspecs;
6790 yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6791 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6792 break;}
6793 case 523:
6794 #line 2885 "parse.y"
6795 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6796 &prefix_attributes);
6797 yyvsp[-4].ttype = current_declspecs;
6798 yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6799 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6800 break;}
6801 case 524:
6802 #line 2891 "parse.y"
6803 { split_specs_attrs (yyvsp[-3].ttype, &current_declspecs,
6804 &prefix_attributes);
6805 yyvsp[-3].ttype = current_declspecs;
6806 yyval.ttype = grokbitfield (NULL_TREE, current_declspecs, yyvsp[-1].ttype);
6807 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6808 break;}
6809 case 525:
6810 #line 2900 "parse.y"
6811 { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6812 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6813 break;}
6814 case 526:
6815 #line 2903 "parse.y"
6816 { yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6817 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6818 break;}
6819 case 527:
6820 #line 2909 "parse.y"
6821 { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6822 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6823 break;}
6824 case 528:
6825 #line 2912 "parse.y"
6826 { yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6827 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6828 break;}
6829 case 529:
6830 #line 2915 "parse.y"
6831 { yyval.ttype = grokbitfield (NULL_TREE, current_declspecs, yyvsp[-1].ttype);
6832 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6833 break;}
6834 case 531:
6835 #line 2926 "parse.y"
6836 { TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
6837 break;}
6838 case 532:
6839 #line 2931 "parse.y"
6840 { yyval.ttype = build_enumerator (yyval.ttype, NULL_TREE); ;
6841 break;}
6842 case 533:
6843 #line 2933 "parse.y"
6844 { yyval.ttype = build_enumerator (yyval.ttype, yyvsp[0].ttype); ;
6845 break;}
6846 case 534:
6847 #line 2939 "parse.y"
6848 { yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
6849 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
6850 break;}
6851 case 535:
6852 #line 2942 "parse.y"
6853 { yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE);
6854 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
6855 break;}
6856 case 536:
6857 #line 2947 "parse.y"
6858 {
6859 if (pedantic)
6860 pedwarn ("ANSI C++ forbids array dimensions with parenthesized type in new");
6861 yyval.ftype.t = build_parse_node (ARRAY_REF, TREE_VALUE (yyvsp[-4].ftype.t), yyvsp[-1].ttype);
6862 yyval.ftype.t = build_decl_list (TREE_PURPOSE (yyvsp[-4].ftype.t), yyval.ftype.t);
6863 yyval.ftype.new_type_flag = yyvsp[-4].ftype.new_type_flag;
6864 ;
6865 break;}
6866 case 537:
6867 #line 2958 "parse.y"
6868 { yyval.ttype = NULL_TREE; ;
6869 break;}
6870 case 538:
6871 #line 2960 "parse.y"
6872 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
6873 break;}
6874 case 539:
6875 #line 2965 "parse.y"
6876 { yyval.ftype.t = IDENTIFIER_AS_LIST (yyvsp[0].ttype);
6877 yyval.ftype.new_type_flag = 0; ;
6878 break;}
6879 case 540:
6880 #line 2968 "parse.y"
6881 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ftype.t);
6882 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
6883 break;}
6884 case 541:
6885 #line 2977 "parse.y"
6886 { yyval.itype = suspend_momentary (); ;
6887 break;}
6888 case 542:
6889 #line 2982 "parse.y"
6890 { resume_momentary ((int) yyvsp[-1].itype); yyval.ttype = yyvsp[0].ttype; ;
6891 break;}
6892 case 543:
6893 #line 2988 "parse.y"
6894 { resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = yyvsp[-1].ttype; ;
6895 break;}
6896 case 544:
6897 #line 2990 "parse.y"
6898 { resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = yyvsp[-1].ttype; ;
6899 break;}
6900 case 545:
6901 #line 2992 "parse.y"
6902 { resume_momentary ((int) yyvsp[-1].itype); yyval.ttype = empty_parms (); ;
6903 break;}
6904 case 546:
6905 #line 2994 "parse.y"
6906 { resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = NULL_TREE; ;
6907 break;}
6908 case 547:
6909 #line 3001 "parse.y"
6910 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6911 break;}
6912 case 548:
6913 #line 3003 "parse.y"
6914 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6915 break;}
6916 case 549:
6917 #line 3005 "parse.y"
6918 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
6919 break;}
6920 case 550:
6921 #line 3007 "parse.y"
6922 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
6923 break;}
6924 case 551:
6925 #line 3009 "parse.y"
6926 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
6927 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
6928 ;
6929 break;}
6930 case 553:
6931 #line 3017 "parse.y"
6932 {
6933 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6934 {
6935 if (current_class_type
6936 && TYPE_BEING_DEFINED (current_class_type)
6937 && ! IDENTIFIER_CLASS_VALUE (yyvsp[0].ttype))
6938 {
6939 /* Be sure to get an inherited typedef. */
6940 yyval.ttype = lookup_name (yyvsp[0].ttype, 1);
6941 /* Remember that this name has been used in the class
6942 definition, as per [class.scope0] */
6943 pushdecl_class_level (yyval.ttype);
6944 }
6945 else
6946 yyval.ttype = identifier_typedecl_value (yyvsp[0].ttype);
6947 }
6948 else
6949 yyval.ttype = yyvsp[0].ttype;
6950 ;
6951 break;}
6952 case 554:
6953 #line 3037 "parse.y"
6954 {
6955 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6956 yyval.ttype = identifier_typedecl_value (yyvsp[0].ttype);
6957 else
6958 yyval.ttype = yyvsp[0].ttype;
6959 got_scope = NULL_TREE;
6960 ;
6961 break;}
6962 case 557:
6963 #line 3050 "parse.y"
6964 { yyval.ttype = yyvsp[0].ttype; ;
6965 break;}
6966 case 558:
6967 #line 3055 "parse.y"
6968 { yyval.ttype = get_type_decl (yyvsp[0].ttype); ;
6969 break;}
6970 case 559:
6971 #line 3060 "parse.y"
6972 { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6973 break;}
6974 case 560:
6975 #line 3062 "parse.y"
6976 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
6977 break;}
6978 case 561:
6979 #line 3064 "parse.y"
6980 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
6981 break;}
6982 case 562:
6983 #line 3066 "parse.y"
6984 { yyval.ttype = yyvsp[-1].ttype; ;
6985 break;}
6986 case 563:
6987 #line 3068 "parse.y"
6988 { push_nested_class (yyvsp[-1].ttype, 3);
6989 yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype);
6990 TREE_COMPLEXITY (yyval.ttype) = current_class_depth; ;
6991 break;}
6992 case 565:
6993 #line 3079 "parse.y"
6994 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6995 break;}
6996 case 566:
6997 #line 3081 "parse.y"
6998 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6999 break;}
7000 case 567:
7001 #line 3083 "parse.y"
7002 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
7003 break;}
7004 case 568:
7005 #line 3085 "parse.y"
7006 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
7007 break;}
7008 case 569:
7009 #line 3087 "parse.y"
7010 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
7011 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
7012 ;
7013 break;}
7014 case 571:
7015 #line 3095 "parse.y"
7016 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7017 break;}
7018 case 572:
7019 #line 3097 "parse.y"
7020 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7021 break;}
7022 case 573:
7023 #line 3099 "parse.y"
7024 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
7025 break;}
7026 case 574:
7027 #line 3101 "parse.y"
7028 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
7029 break;}
7030 case 575:
7031 #line 3103 "parse.y"
7032 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
7033 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
7034 ;
7035 break;}
7036 case 577:
7037 #line 3111 "parse.y"
7038 { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7039 break;}
7040 case 578:
7041 #line 3113 "parse.y"
7042 { yyval.ttype = yyvsp[-1].ttype; ;
7043 break;}
7044 case 579:
7045 #line 3115 "parse.y"
7046 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
7047 break;}
7048 case 580:
7049 #line 3117 "parse.y"
7050 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
7051 break;}
7052 case 581:
7053 #line 3119 "parse.y"
7054 { if (OP0 (yyval.ttype) != current_class_type)
7055 {
7056 push_nested_class (OP0 (yyval.ttype), 3);
7057 TREE_COMPLEXITY (yyval.ttype) = current_class_depth;
7058 }
7059 ;
7060 break;}
7061 case 582:
7062 #line 3126 "parse.y"
7063 { got_scope = NULL_TREE;
7064 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype);
7065 if (yyvsp[-1].ttype != current_class_type)
7066 {
7067 push_nested_class (yyvsp[-1].ttype, 3);
7068 TREE_COMPLEXITY (yyval.ttype) = current_class_depth;
7069 }
7070 ;
7071 break;}
7072 case 583:
7073 #line 3138 "parse.y"
7074 { got_scope = NULL_TREE;
7075 yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ;
7076 break;}
7077 case 584:
7078 #line 3141 "parse.y"
7079 { got_scope = NULL_TREE;
7080 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7081 break;}
7082 case 585:
7083 #line 3147 "parse.y"
7084 { got_scope = NULL_TREE;
7085 yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ;
7086 break;}
7087 case 586:
7088 #line 3150 "parse.y"
7089 { got_scope = NULL_TREE;
7090 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7091 break;}
7092 case 588:
7093 #line 3157 "parse.y"
7094 { yyval.ttype = yyvsp[0].ttype; ;
7095 break;}
7096 case 589:
7097 #line 3162 "parse.y"
7098 { yyval.ttype = build_functional_cast (yyvsp[-3].ftype.t, yyvsp[-1].ttype); ;
7099 break;}
7100 case 590:
7101 #line 3164 "parse.y"
7102 { yyval.ttype = reparse_decl_as_expr (yyvsp[-3].ftype.t, yyvsp[-1].ttype); ;
7103 break;}
7104 case 591:
7105 #line 3166 "parse.y"
7106 { yyval.ttype = reparse_absdcl_as_expr (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7107 break;}
7108 case 596:
7109 #line 3178 "parse.y"
7110 { yyval.ttype = yyvsp[0].ttype; ;
7111 break;}
7112 case 597:
7113 #line 3185 "parse.y"
7114 {
7115 if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE)
7116 {
7117 yyval.ttype = lastiddecl;
7118 /* Remember that this name has been used in the class
7119 definition, as per [class.scope0] */
7120 if (current_class_type
7121 && TYPE_BEING_DEFINED (current_class_type)
7122 && ! IDENTIFIER_CLASS_VALUE (yyvsp[-1].ttype))
7123 pushdecl_class_level (yyval.ttype);
7124 }
7125 got_scope = yyval.ttype = TREE_TYPE (yyval.ttype);
7126 ;
7127 break;}
7128 case 598:
7129 #line 3199 "parse.y"
7130 {
7131 if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE)
7132 yyval.ttype = lastiddecl;
7133 got_scope = yyval.ttype = TREE_TYPE (yyval.ttype);
7134 ;
7135 break;}
7136 case 599:
7137 #line 3205 "parse.y"
7138 {
7139 if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
7140 yyval.ttype = lastiddecl;
7141 got_scope = yyval.ttype;
7142 ;
7143 break;}
7144 case 600:
7145 #line 3211 "parse.y"
7146 { got_scope = yyval.ttype = complete_type (TREE_TYPE (yyvsp[-1].ttype)); ;
7147 break;}
7148 case 602:
7149 #line 3227 "parse.y"
7150 { yyval.ttype = yyvsp[0].ttype; ;
7151 break;}
7152 case 603:
7153 #line 3232 "parse.y"
7154 {
7155 if (TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype)) == 't')
7156 yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype);
7157 else if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
7158 cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
7159 else
7160 yyval.ttype = yyvsp[0].ttype;
7161 ;
7162 break;}
7163 case 604:
7164 #line 3244 "parse.y"
7165 {
7166 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
7167 cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
7168 ;
7169 break;}
7170 case 605:
7171 #line 3249 "parse.y"
7172 {
7173 if (TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype)) == 't')
7174 yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype);
7175 else if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
7176 cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
7177 else
7178 yyval.ttype = yyvsp[0].ttype;
7179 ;
7180 break;}
7181 case 606:
7182 #line 3261 "parse.y"
7183 {
7184 if (TREE_CODE (yyvsp[-1].ttype) != IDENTIFIER_NODE)
7185 yyval.ttype = lastiddecl;
7186 got_scope = yyval.ttype = complete_type (TREE_TYPE (yyval.ttype));
7187 ;
7188 break;}
7189 case 607:
7190 #line 3267 "parse.y"
7191 {
7192 if (TREE_CODE (yyvsp[-1].ttype) != IDENTIFIER_NODE)
7193 yyval.ttype = lastiddecl;
7194 got_scope = yyval.ttype = complete_type (TREE_TYPE (yyval.ttype));
7195 ;
7196 break;}
7197 case 608:
7198 #line 3273 "parse.y"
7199 { got_scope = yyval.ttype = complete_type (TREE_TYPE (yyval.ttype)); ;
7200 break;}
7201 case 611:
7202 #line 3277 "parse.y"
7203 {
7204 if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
7205 yyval.ttype = lastiddecl;
7206 got_scope = yyval.ttype;
7207 ;
7208 break;}
7209 case 612:
7210 #line 3286 "parse.y"
7211 {
7212 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
7213 yyval.ttype = identifier_typedecl_value (yyvsp[0].ttype);
7214 else
7215 yyval.ttype = yyvsp[0].ttype;
7216 got_scope = NULL_TREE;
7217 ;
7218 break;}
7219 case 614:
7220 #line 3295 "parse.y"
7221 { yyval.ttype = yyvsp[0].ttype; ;
7222 break;}
7223 case 615:
7224 #line 3300 "parse.y"
7225 { got_scope = NULL_TREE; ;
7226 break;}
7227 case 616:
7228 #line 3302 "parse.y"
7229 { yyval.ttype = yyvsp[-1].ttype; got_scope = NULL_TREE; ;
7230 break;}
7231 case 617:
7232 #line 3309 "parse.y"
7233 { got_scope = void_type_node; ;
7234 break;}
7235 case 618:
7236 #line 3315 "parse.y"
7237 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
7238 break;}
7239 case 619:
7240 #line 3317 "parse.y"
7241 { yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ;
7242 break;}
7243 case 620:
7244 #line 3319 "parse.y"
7245 { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
7246 break;}
7247 case 621:
7248 #line 3321 "parse.y"
7249 { yyval.ttype = make_reference_declarator (yyvsp[0].ttype, NULL_TREE); ;
7250 break;}
7251 case 622:
7252 #line 3323 "parse.y"
7253 { tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE);
7254 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, arg);
7255 ;
7256 break;}
7257 case 623:
7258 #line 3327 "parse.y"
7259 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
7260 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
7261 ;
7262 break;}
7263 case 625:
7264 #line 3336 "parse.y"
7265 { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
7266 break;}
7267 case 626:
7268 #line 3338 "parse.y"
7269 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
7270 break;}
7271 case 627:
7272 #line 3344 "parse.y"
7273 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7274 break;}
7275 case 628:
7276 #line 3346 "parse.y"
7277 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
7278 break;}
7279 case 629:
7280 #line 3348 "parse.y"
7281 { yyval.ttype = make_pointer_declarator (yyvsp[0].ftype.t, NULL_TREE); ;
7282 break;}
7283 case 630:
7284 #line 3350 "parse.y"
7285 { yyval.ttype = make_pointer_declarator (NULL_TREE, NULL_TREE); ;
7286 break;}
7287 case 631:
7288 #line 3352 "parse.y"
7289 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7290 break;}
7291 case 632:
7292 #line 3354 "parse.y"
7293 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
7294 break;}
7295 case 633:
7296 #line 3356 "parse.y"
7297 { yyval.ttype = make_reference_declarator (yyvsp[0].ftype.t, NULL_TREE); ;
7298 break;}
7299 case 634:
7300 #line 3358 "parse.y"
7301 { yyval.ttype = make_reference_declarator (NULL_TREE, NULL_TREE); ;
7302 break;}
7303 case 635:
7304 #line 3360 "parse.y"
7305 { tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE);
7306 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, arg);
7307 ;
7308 break;}
7309 case 636:
7310 #line 3364 "parse.y"
7311 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
7312 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
7313 ;
7314 break;}
7315 case 638:
7316 #line 3373 "parse.y"
7317 { yyval.ttype = yyvsp[-1].ttype; ;
7318 break;}
7319 case 640:
7320 #line 3377 "parse.y"
7321 { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7322 break;}
7323 case 641:
7324 #line 3379 "parse.y"
7325 { yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
7326 break;}
7327 case 642:
7328 #line 3381 "parse.y"
7329 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
7330 break;}
7331 case 643:
7332 #line 3383 "parse.y"
7333 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
7334 break;}
7335 case 644:
7336 #line 3385 "parse.y"
7337 { yyval.ttype = make_call_declarator (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7338 break;}
7339 case 645:
7340 #line 3387 "parse.y"
7341 { set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7342 break;}
7343 case 646:
7344 #line 3389 "parse.y"
7345 { set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7346 break;}
7347 case 647:
7348 #line 3391 "parse.y"
7349 { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
7350 break;}
7351 case 648:
7352 #line 3393 "parse.y"
7353 { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, NULL_TREE); ;
7354 break;}
7355 case 654:
7356 #line 3417 "parse.y"
7357 { do_pushlevel (); ;
7358 break;}
7359 case 655:
7360 #line 3422 "parse.y"
7361 { yyval.ttype = do_poplevel (); ;
7362 break;}
7363 case 657:
7364 #line 3430 "parse.y"
7365 { if (pedantic)
7366 pedwarn ("ANSI C++ forbids label declarations"); ;
7367 break;}
7368 case 660:
7369 #line 3441 "parse.y"
7370 { tree link;
7371 for (link = yyvsp[-1].ttype; link; link = TREE_CHAIN (link))
7372 {
7373 tree label = shadow_label (TREE_VALUE (link));
7374 C_DECLARED_LABEL_FLAG (label) = 1;
7375 declare_nonlocal_label (label);
7376 }
7377 ;
7378 break;}
7379 case 661:
7380 #line 3455 "parse.y"
7381 {;
7382 break;}
7383 case 663:
7384 #line 3461 "parse.y"
7385 {
7386 if (processing_template_decl)
7387 {
7388 yyval.ttype = build_min_nt (COMPOUND_STMT, NULL_TREE);
7389 add_tree (yyval.ttype);
7390 }
7391 ;
7392 break;}
7393 case 664:
7394 #line 3469 "parse.y"
7395 {
7396 if (processing_template_decl)
7397 {
7398 TREE_OPERAND (yyvsp[-3].ttype, 0) = TREE_CHAIN (yyvsp[-3].ttype);
7399 TREE_CHAIN (yyvsp[-3].ttype) = NULL_TREE;
7400 last_tree = yyvsp[-3].ttype;
7401 }
7402 yyval.ttype = yyvsp[0].ttype;
7403 ;
7404 break;}
7405 case 665:
7406 #line 3482 "parse.y"
7407 {
7408 if (processing_template_decl)
7409 {
7410 yyval.ttype = build_min_nt (IF_STMT, NULL_TREE, NULL_TREE,
7411 NULL_TREE);
7412 add_tree (yyval.ttype);
7413 }
7414 cond_stmt_keyword = "if";
7415 ;
7416 break;}
7417 case 666:
7418 #line 3492 "parse.y"
7419 {
7420 if (processing_template_decl)
7421 {
7422 if (last_tree != yyvsp[-2].ttype)
7423 {
7424 TREE_OPERAND (yyvsp[-2].ttype, 0) = last_tree;
7425 TREE_CHAIN (yyvsp[-2].ttype) = NULL_TREE;
7426 last_tree = yyvsp[-2].ttype;
7427 }
7428 else
7429 TREE_OPERAND (yyvsp[-2].ttype, 0) = yyvsp[0].ttype;
7430 }
7431 else
7432 {
7433 emit_line_note (input_filename, lineno);
7434 expand_start_cond (yyvsp[0].ttype, 0);
7435 }
7436 ;
7437 break;}
7438 case 667:
7439 #line 3511 "parse.y"
7440 {
7441 if (processing_template_decl)
7442 {
7443 TREE_OPERAND (yyvsp[-4].ttype, 1) = TREE_CHAIN (yyvsp[-4].ttype);
7444 TREE_CHAIN (yyvsp[-4].ttype) = NULL_TREE;
7445 yyval.ttype = last_tree = yyvsp[-4].ttype;
7446 }
7447 ;
7448 break;}
7449 case 668:
7450 #line 3523 "parse.y"
7451 { finish_stmt (); ;
7452 break;}
7453 case 669:
7454 #line 3525 "parse.y"
7455 {
7456 if (processing_template_decl)
7457 {
7458 yyval.ttype = build_min_nt (COMPOUND_STMT, NULL_TREE);
7459 add_tree (yyval.ttype);
7460 }
7461 ;
7462 break;}
7463 case 670:
7464 #line 3533 "parse.y"
7465 {
7466 if (processing_template_decl)
7467 {
7468 TREE_OPERAND (yyvsp[-2].ttype, 0) = TREE_CHAIN (yyvsp[-2].ttype);
7469 TREE_CHAIN (yyvsp[-2].ttype) = NULL_TREE;
7470 last_tree = yyvsp[-2].ttype;
7471 }
7472 yyval.ttype = yyvsp[0].ttype;
7473 ;
7474 break;}
7475 case 671:
7476 #line 3546 "parse.y"
7477 { finish_stmt (); ;
7478 break;}
7479 case 673:
7480 #line 3552 "parse.y"
7481 { finish_stmt (); ;
7482 break;}
7483 case 674:
7484 #line 3554 "parse.y"
7485 {
7486 tree expr = yyvsp[-1].ttype;
7487 if (! processing_template_decl)
7488 {
7489 emit_line_note (input_filename, lineno);
7490 /* Do default conversion if safe and possibly important,
7491 in case within ({...}). */
7492 if ((TREE_CODE (TREE_TYPE (expr)) == ARRAY_TYPE
7493 && lvalue_p (expr))
7494 || TREE_CODE (TREE_TYPE (expr)) == FUNCTION_TYPE)
7495 expr = default_conversion (expr);
7496 }
7497 cplus_expand_expr_stmt (expr);
7498 clear_momentary ();
7499 finish_stmt (); ;
7500 break;}
7501 case 675:
7502 #line 3570 "parse.y"
7503 { if (! processing_template_decl) expand_start_else (); ;
7504 break;}
7505 case 676:
7506 #line 3572 "parse.y"
7507 {
7508 if (processing_template_decl)
7509 {
7510 TREE_OPERAND (yyvsp[-3].ttype, 2) = TREE_CHAIN (yyvsp[-3].ttype);
7511 TREE_CHAIN (yyvsp[-3].ttype) = NULL_TREE;
7512 last_tree = yyvsp[-3].ttype;
7513 }
7514 else
7515 expand_end_cond ();
7516 ;
7517 break;}
7518 case 677:
7519 #line 3583 "parse.y"
7520 { finish_stmt (); ;
7521 break;}
7522 case 678:
7523 #line 3585 "parse.y"
7524 { if (! processing_template_decl) expand_end_cond ();
7525 do_poplevel ();
7526 finish_stmt (); ;
7527 break;}
7528 case 679:
7529 #line 3589 "parse.y"
7530 {
7531 if (processing_template_decl)
7532 {
7533 yyval.ttype = build_min_nt (WHILE_STMT, NULL_TREE, NULL_TREE);
7534 add_tree (yyval.ttype);
7535 }
7536 else
7537 {
7538 emit_nop ();
7539 emit_line_note (input_filename, lineno);
7540 expand_start_loop (1);
7541 }
7542 cond_stmt_keyword = "while";
7543 ;
7544 break;}
7545 case 680:
7546 #line 3604 "parse.y"
7547 {
7548 if (processing_template_decl)
7549 {
7550 if (last_tree != yyvsp[-2].ttype)
7551 {
7552 TREE_OPERAND (yyvsp[-2].ttype, 0) = last_tree;
7553 TREE_CHAIN (yyvsp[-2].ttype) = NULL_TREE;
7554 last_tree = yyvsp[-2].ttype;
7555 }
7556 else
7557 TREE_OPERAND (yyvsp[-2].ttype, 0) = yyvsp[0].ttype;
7558 }
7559 else
7560 {
7561 emit_line_note (input_filename, lineno);
7562 expand_exit_loop_if_false (0, yyvsp[0].ttype);
7563 }
7564 ;
7565 break;}
7566 case 681:
7567 #line 3623 "parse.y"
7568 {
7569 if (processing_template_decl)
7570 {
7571 TREE_OPERAND (yyvsp[-5].ttype, 1) = TREE_CHAIN (yyvsp[-5].ttype);
7572 TREE_CHAIN (yyvsp[-5].ttype) = NULL_TREE;
7573 last_tree = yyvsp[-5].ttype;
7574 }
7575 else
7576 expand_end_loop ();
7577 finish_stmt ();
7578 ;
7579 break;}
7580 case 682:
7581 #line 3635 "parse.y"
7582 {
7583 if (processing_template_decl)
7584 {
7585 yyval.ttype = build_min_nt (DO_STMT, NULL_TREE, NULL_TREE);
7586 add_tree (yyval.ttype);
7587 }
7588 else
7589 {
7590 emit_nop ();
7591 emit_line_note (input_filename, lineno);
7592 expand_start_loop_continue_elsewhere (1);
7593 }
7594 ;
7595 break;}
7596 case 683:
7597 #line 3649 "parse.y"
7598 {
7599 if (processing_template_decl)
7600 {
7601 TREE_OPERAND (yyvsp[-2].ttype, 0) = TREE_CHAIN (yyvsp[-2].ttype);
7602 TREE_CHAIN (yyvsp[-2].ttype) = NULL_TREE;
7603 last_tree = yyvsp[-2].ttype;
7604 }
7605 else
7606 {
7607 expand_loop_continue_here ();
7608 cond_stmt_keyword = "do";
7609 }
7610 ;
7611 break;}
7612 case 684:
7613 #line 3663 "parse.y"
7614 {
7615 if (processing_template_decl)
7616 TREE_OPERAND (yyvsp[-5].ttype, 1) = yyvsp[-1].ttype;
7617 else
7618 {
7619 emit_line_note (input_filename, lineno);
7620 expand_exit_loop_if_false (0, yyvsp[-1].ttype);
7621 expand_end_loop ();
7622 }
7623 clear_momentary ();
7624 finish_stmt ();
7625 ;
7626 break;}
7627 case 685:
7628 #line 3676 "parse.y"
7629 { if (processing_template_decl)
7630 {
7631 yyval.ttype = build_min_nt (FOR_STMT, NULL_TREE, NULL_TREE,
7632 NULL_TREE, NULL_TREE);
7633 add_tree (yyval.ttype);
7634 }
7635 else
7636 emit_line_note (input_filename, lineno);
7637 if (flag_new_for_scope > 0)
7638 {
7639 /* Conditionalize .pushlevel */
7640 pushlevel (0);
7641 note_level_for_for ();
7642 clear_last_expr ();
7643 push_momentary ();
7644 expand_start_bindings (0);
7645 }
7646 ;
7647 break;}
7648 case 686:
7649 #line 3695 "parse.y"
7650 {
7651 if (processing_template_decl)
7652 {
7653 if (last_tree != yyvsp[-2].ttype)
7654 {
7655 TREE_OPERAND (yyvsp[-2].ttype, 0) = TREE_CHAIN (yyvsp[-2].ttype);
7656 TREE_CHAIN (yyvsp[-2].ttype) = NULL_TREE;
7657 last_tree = yyvsp[-2].ttype;
7658 }
7659 }
7660 else
7661 {
7662 emit_nop ();
7663 emit_line_note (input_filename, lineno);
7664 expand_start_loop_continue_elsewhere (1);
7665 }
7666 ;
7667 break;}
7668 case 687:
7669 #line 3713 "parse.y"
7670 {
7671 if (processing_template_decl)
7672 {
7673 if (last_tree != yyvsp[-6].ttype)
7674 {
7675 TREE_OPERAND (yyvsp[-6].ttype, 1) = last_tree;
7676 TREE_CHAIN (yyvsp[-6].ttype) = NULL_TREE;
7677 last_tree = yyvsp[-6].ttype;
7678 }
7679 else
7680 TREE_OPERAND (yyvsp[-6].ttype, 1) = yyvsp[-1].ttype;
7681 }
7682 else
7683 {
7684 emit_line_note (input_filename, lineno);
7685 if (yyvsp[-1].ttype) expand_exit_loop_if_false (0, yyvsp[-1].ttype);
7686 }
7687 ;
7688 break;}
7689 case 688:
7690 #line 3734 "parse.y"
7691 {
7692 if (processing_template_decl)
7693 TREE_OPERAND (yyvsp[-9].ttype, 2) = yyvsp[-1].ttype;
7694 push_momentary ();
7695 ;
7696 break;}
7697 case 689:
7698 #line 3740 "parse.y"
7699 {
7700 if (processing_template_decl)
7701 {
7702 TREE_OPERAND (yyvsp[-12].ttype, 3) = TREE_CHAIN (yyvsp[-12].ttype);
7703 TREE_CHAIN (yyvsp[-12].ttype) = NULL_TREE;
7704 last_tree = yyvsp[-12].ttype;
7705 }
7706 else
7707 {
7708 emit_line_note (input_filename, lineno);
7709 expand_loop_continue_here ();
7710 if (yyvsp[-4].ttype) cplus_expand_expr_stmt (yyvsp[-4].ttype);
7711 expand_end_loop ();
7712 }
7713 pop_momentary ();
7714 if (flag_new_for_scope > 0)
7715 {
7716 do_poplevel ();
7717 }
7718 finish_stmt (); ;
7719 break;}
7720 case 690:
7721 #line 3761 "parse.y"
7722 {
7723 if (processing_template_decl)
7724 {
7725 yyval.ttype = build_min_nt (SWITCH_STMT, yyvsp[-1].ttype, NULL_TREE);
7726 add_tree (yyval.ttype);
7727 }
7728 else
7729 {
7730 emit_line_note (input_filename, lineno);
7731 c_expand_start_case (yyvsp[-1].ttype);
7732 }
7733 push_switch ();
7734 /* Don't let the tree nodes for $4 be discarded by
7735 clear_momentary during the parsing of the next stmt. */
7736 push_momentary ();
7737 ;
7738 break;}
7739 case 691:
7740 #line 3778 "parse.y"
7741 {
7742 if (processing_template_decl)
7743 {
7744 TREE_OPERAND (yyvsp[-1].ttype, 1) = TREE_CHAIN (yyvsp[-1].ttype);
7745 TREE_CHAIN (yyvsp[-1].ttype) = NULL_TREE;
7746 last_tree = yyvsp[-1].ttype;
7747 }
7748 else
7749 expand_end_case (yyvsp[-3].ttype);
7750 pop_momentary ();
7751 pop_switch ();
7752 ;
7753 break;}
7754 case 692:
7755 #line 3791 "parse.y"
7756 { finish_stmt (); ;
7757 break;}
7758 case 693:
7759 #line 3793 "parse.y"
7760 { do_case (yyvsp[-1].ttype, NULL_TREE); ;
7761 break;}
7762 case 695:
7763 #line 3796 "parse.y"
7764 { do_case (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
7765 break;}
7766 case 697:
7767 #line 3799 "parse.y"
7768 { do_case (NULL_TREE, NULL_TREE); ;
7769 break;}
7770 case 699:
7771 #line 3802 "parse.y"
7772 { emit_line_note (input_filename, lineno);
7773 if (processing_template_decl)
7774 add_tree (build_min_nt (BREAK_STMT));
7775 else if ( ! expand_exit_something ())
7776 error ("break statement not within loop or switch"); ;
7777 break;}
7778 case 700:
7779 #line 3808 "parse.y"
7780 { emit_line_note (input_filename, lineno);
7781 if (processing_template_decl)
7782 add_tree (build_min_nt (CONTINUE_STMT));
7783 else if (! expand_continue_loop (0))
7784 error ("continue statement not within a loop"); ;
7785 break;}
7786 case 701:
7787 #line 3814 "parse.y"
7788 { emit_line_note (input_filename, lineno);
7789 c_expand_return (NULL_TREE); ;
7790 break;}
7791 case 702:
7792 #line 3817 "parse.y"
7793 { emit_line_note (input_filename, lineno);
7794 c_expand_return (yyvsp[-1].ttype);
7795 finish_stmt ();
7796 ;
7797 break;}
7798 case 703:
7799 #line 3822 "parse.y"
7800 { if (TREE_CHAIN (yyvsp[-2].ttype)) yyvsp[-2].ttype = combine_strings (yyvsp[-2].ttype);
7801 emit_line_note (input_filename, lineno);
7802 expand_asm (yyvsp[-2].ttype);
7803 finish_stmt ();
7804 ;
7805 break;}
7806 case 704:
7807 #line 3829 "parse.y"
7808 { if (TREE_CHAIN (yyvsp[-4].ttype)) yyvsp[-4].ttype = combine_strings (yyvsp[-4].ttype);
7809 emit_line_note (input_filename, lineno);
7810 c_expand_asm_operands (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE,
7811 yyvsp[-6].ttype == ridpointers[(int)RID_VOLATILE],
7812 input_filename, lineno);
7813 finish_stmt ();
7814 ;
7815 break;}
7816 case 705:
7817 #line 3838 "parse.y"
7818 { if (TREE_CHAIN (yyvsp[-6].ttype)) yyvsp[-6].ttype = combine_strings (yyvsp[-6].ttype);
7819 emit_line_note (input_filename, lineno);
7820 c_expand_asm_operands (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE,
7821 yyvsp[-8].ttype == ridpointers[(int)RID_VOLATILE],
7822 input_filename, lineno);
7823 finish_stmt ();
7824 ;
7825 break;}
7826 case 706:
7827 #line 3848 "parse.y"
7828 { if (TREE_CHAIN (yyvsp[-8].ttype)) yyvsp[-8].ttype = combine_strings (yyvsp[-8].ttype);
7829 emit_line_note (input_filename, lineno);
7830 c_expand_asm_operands (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype,
7831 yyvsp[-10].ttype == ridpointers[(int)RID_VOLATILE],
7832 input_filename, lineno);
7833 finish_stmt ();
7834 ;
7835 break;}
7836 case 707:
7837 #line 3856 "parse.y"
7838 {
7839 if (processing_template_decl)
7840 add_tree (build_min_nt (GOTO_STMT, yyvsp[-1].ttype));
7841 else
7842 { emit_line_note (input_filename, lineno);
7843 expand_computed_goto (yyvsp[-1].ttype); }
7844 ;
7845 break;}
7846 case 708:
7847 #line 3864 "parse.y"
7848 {
7849 if (processing_template_decl)
7850 add_tree (build_min_nt (GOTO_STMT, yyvsp[-1].ttype));
7851 else
7852 {
7853 tree decl;
7854 emit_line_note (input_filename, lineno);
7855 decl = lookup_label (yyvsp[-1].ttype);
7856 TREE_USED (decl) = 1;
7857 expand_goto (decl);
7858 }
7859 ;
7860 break;}
7861 case 709:
7862 #line 3877 "parse.y"
7863 { finish_stmt (); ;
7864 break;}
7865 case 710:
7866 #line 3879 "parse.y"
7867 { error ("label must be followed by statement");
7868 yyungetc ('}', 0);
7869 finish_stmt (); ;
7870 break;}
7871 case 711:
7872 #line 3883 "parse.y"
7873 { finish_stmt (); ;
7874 break;}
7875 case 713:
7876 #line 3889 "parse.y"
7877 {
7878 if (! current_function_parms_stored)
7879 store_parm_decls ();
7880 expand_start_early_try_stmts ();
7881 ;
7882 break;}
7883 case 714:
7884 #line 3895 "parse.y"
7885 { expand_start_all_catch (); ;
7886 break;}
7887 case 715:
7888 #line 3897 "parse.y"
7889 {
7890 int nested = (hack_decl_function_context
7891 (current_function_decl) != NULL_TREE);
7892 expand_end_all_catch ();
7893 finish_function (lineno, (int)yyvsp[-3].itype, nested);
7894 ;
7895 break;}
7896 case 716:
7897 #line 3907 "parse.y"
7898 {
7899 if (processing_template_decl)
7900 {
7901 yyval.ttype = build_min_nt (TRY_BLOCK, NULL_TREE,
7902 NULL_TREE);
7903 add_tree (yyval.ttype);
7904 }
7905 else
7906 {
7907 emit_line_note (input_filename, lineno);
7908 expand_start_try_stmts ();
7909 }
7910 ;
7911 break;}
7912 case 717:
7913 #line 3921 "parse.y"
7914 {
7915 if (processing_template_decl)
7916 {
7917 TREE_OPERAND (yyvsp[-1].ttype, 0) = TREE_CHAIN (yyvsp[-1].ttype);
7918 TREE_CHAIN (yyvsp[-1].ttype) = NULL_TREE;
7919 last_tree = yyvsp[-1].ttype;
7920 }
7921 else
7922 expand_start_all_catch ();
7923 ;
7924 break;}
7925 case 718:
7926 #line 3932 "parse.y"
7927 {
7928 if (processing_template_decl)
7929 {
7930 TREE_OPERAND (yyvsp[-3].ttype, 1) = TREE_CHAIN (yyvsp[-3].ttype);
7931 TREE_CHAIN (yyvsp[-3].ttype) = NULL_TREE;
7932 last_tree = yyvsp[-3].ttype;
7933 }
7934 else
7935 expand_end_all_catch ();
7936 ;
7937 break;}
7938 case 721:
7939 #line 3951 "parse.y"
7940 {
7941 if (processing_template_decl)
7942 {
7943 yyval.ttype = build_min_nt (HANDLER, NULL_TREE,
7944 NULL_TREE);
7945 add_tree (yyval.ttype);
7946 }
7947 ;
7948 break;}
7949 case 722:
7950 #line 3960 "parse.y"
7951 {
7952 if (processing_template_decl)
7953 {
7954 TREE_OPERAND (yyvsp[-2].ttype, 0) = TREE_CHAIN (yyvsp[-2].ttype);
7955 TREE_CHAIN (yyvsp[-2].ttype) = NULL_TREE;
7956 last_tree = yyvsp[-2].ttype;
7957 }
7958 ;
7959 break;}
7960 case 723:
7961 #line 3969 "parse.y"
7962 {
7963 if (processing_template_decl)
7964 {
7965 TREE_OPERAND (yyvsp[-4].ttype, 1) = TREE_CHAIN (yyvsp[-4].ttype);
7966 TREE_CHAIN (yyvsp[-4].ttype) = NULL_TREE;
7967 last_tree = yyvsp[-4].ttype;
7968 }
7969 else
7970 expand_end_catch_block ();
7971 ;
7972 break;}
7973 case 727:
7974 #line 3989 "parse.y"
7975 { expand_start_catch_block (NULL_TREE, NULL_TREE); ;
7976 break;}
7977 case 728:
7978 #line 4005 "parse.y"
7979 { check_for_new_type ("inside exception declarations", yyvsp[-1].ftype);
7980 expand_start_catch_block (TREE_PURPOSE (yyvsp[-1].ftype.t),
7981 TREE_VALUE (yyvsp[-1].ftype.t)); ;
7982 break;}
7983 case 729:
7984 #line 4012 "parse.y"
7985 { tree label;
7986 do_label:
7987 label = define_label (input_filename, lineno, yyvsp[-1].ttype);
7988 if (label && ! minimal_parse_mode)
7989 expand_label (label);
7990 ;
7991 break;}
7992 case 730:
7993 #line 4019 "parse.y"
7994 { goto do_label; ;
7995 break;}
7996 case 731:
7997 #line 4021 "parse.y"
7998 { goto do_label; ;
7999 break;}
8000 case 732:
8001 #line 4023 "parse.y"
8002 { goto do_label; ;
8003 break;}
8004 case 733:
8005 #line 4028 "parse.y"
8006 { if (yyvsp[-1].ttype) cplus_expand_expr_stmt (yyvsp[-1].ttype); ;
8007 break;}
8008 case 735:
8009 #line 4031 "parse.y"
8010 { if (pedantic)
8011 pedwarn ("ANSI C++ forbids compound statements inside for initializations");
8012 ;
8013 break;}
8014 case 736:
8015 #line 4040 "parse.y"
8016 { emit_line_note (input_filename, lineno);
8017 yyval.ttype = NULL_TREE; ;
8018 break;}
8019 case 737:
8020 #line 4043 "parse.y"
8021 { emit_line_note (input_filename, lineno); ;
8022 break;}
8023 case 738:
8024 #line 4048 "parse.y"
8025 { yyval.ttype = NULL_TREE; ;
8026 break;}
8027 case 740:
8028 #line 4051 "parse.y"
8029 { yyval.ttype = NULL_TREE; ;
8030 break;}
8031 case 741:
8032 #line 4058 "parse.y"
8033 { yyval.ttype = NULL_TREE; ;
8034 break;}
8035 case 744:
8036 #line 4065 "parse.y"
8037 { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
8038 break;}
8039 case 745:
8040 #line 4070 "parse.y"
8041 { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[-1].ttype); ;
8042 break;}
8043 case 746:
8044 #line 4075 "parse.y"
8045 { yyval.ttype = tree_cons (NULL_TREE, yyval.ttype, NULL_TREE); ;
8046 break;}
8047 case 747:
8048 #line 4077 "parse.y"
8049 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
8050 break;}
8051 case 748:
8052 #line 4088 "parse.y"
8053 {
8054 yyval.ttype = empty_parms();
8055 ;
8056 break;}
8057 case 750:
8058 #line 4093 "parse.y"
8059 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ftype.t, void_list_node);
8060 TREE_PARMLIST (yyval.ttype) = 1;
8061 check_for_new_type ("inside parameter list", yyvsp[0].ftype); ;
8062 break;}
8063 case 751:
8064 #line 4102 "parse.y"
8065 {
8066 yyval.ttype = chainon (yyval.ttype, void_list_node);
8067 TREE_PARMLIST (yyval.ttype) = 1;
8068 ;
8069 break;}
8070 case 752:
8071 #line 4107 "parse.y"
8072 {
8073 TREE_PARMLIST (yyval.ttype) = 1;
8074 ;
8075 break;}
8076 case 753:
8077 #line 4112 "parse.y"
8078 {
8079 TREE_PARMLIST (yyval.ttype) = 1;
8080 ;
8081 break;}
8082 case 754:
8083 #line 4116 "parse.y"
8084 {
8085 yyval.ttype = build_tree_list (NULL_TREE, yyvsp[-1].ftype.t);
8086 TREE_PARMLIST (yyval.ttype) = 1;
8087 ;
8088 break;}
8089 case 755:
8090 #line 4121 "parse.y"
8091 {
8092 yyval.ttype = NULL_TREE;
8093 ;
8094 break;}
8095 case 756:
8096 #line 4125 "parse.y"
8097 {
8098 TREE_PARMLIST (yyval.ttype) = 1;
8099 ;
8100 break;}
8101 case 757:
8102 #line 4129 "parse.y"
8103 {
8104 TREE_PARMLIST (yyval.ttype) = 1;
8105 ;
8106 break;}
8107 case 758:
8108 #line 4133 "parse.y"
8109 {
8110 yyval.ttype = build_tree_list (NULL_TREE, yyvsp[-1].ftype.t);
8111 TREE_PARMLIST (yyval.ttype) = 1;
8112 ;
8113 break;}
8114 case 759:
8115 #line 4138 "parse.y"
8116 {
8117 /* This helps us recover from really nasty
8118 parse errors, for example, a missing right
8119 parenthesis. */
8120 yyerror ("possibly missing ')'");
8121 yyval.ttype = chainon (yyval.ttype, void_list_node);
8122 TREE_PARMLIST (yyval.ttype) = 1;
8123 yyungetc (':', 0);
8124 yychar = ')';
8125 ;
8126 break;}
8127 case 760:
8128 #line 4149 "parse.y"
8129 {
8130 /* This helps us recover from really nasty
8131 parse errors, for example, a missing right
8132 parenthesis. */
8133 yyerror ("possibly missing ')'");
8134 yyval.ttype = tree_cons (NULL_TREE, yyvsp[-1].ftype.t, void_list_node);
8135 TREE_PARMLIST (yyval.ttype) = 1;
8136 yyungetc (':', 0);
8137 yychar = ')';
8138 ;
8139 break;}
8140 case 761:
8141 #line 4164 "parse.y"
8142 { maybe_snarf_defarg (); ;
8143 break;}
8144 case 762:
8145 #line 4166 "parse.y"
8146 { yyval.ttype = yyvsp[0].ttype; ;
8147 break;}
8148 case 765:
8149 #line 4177 "parse.y"
8150 { check_for_new_type ("in a parameter list", yyvsp[0].ftype);
8151 yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ftype.t); ;
8152 break;}
8153 case 766:
8154 #line 4180 "parse.y"
8155 { check_for_new_type ("in a parameter list", yyvsp[-1].ftype);
8156 yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-1].ftype.t); ;
8157 break;}
8158 case 767:
8159 #line 4183 "parse.y"
8160 { check_for_new_type ("in a parameter list", yyvsp[0].ftype);
8161 yyval.ttype = chainon (yyval.ttype, yyvsp[0].ftype.t); ;
8162 break;}
8163 case 768:
8164 #line 4186 "parse.y"
8165 { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
8166 break;}
8167 case 769:
8168 #line 4188 "parse.y"
8169 { yyval.ttype = chainon (yyval.ttype, build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype)); ;
8170 break;}
8171 case 771:
8172 #line 4194 "parse.y"
8173 { check_for_new_type ("in a parameter list", yyvsp[-1].ftype);
8174 yyval.ttype = build_tree_list (NULL_TREE, yyvsp[-1].ftype.t); ;
8175 break;}
8176 case 772:
8177 #line 4204 "parse.y"
8178 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
8179 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag;
8180 yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype); ;
8181 break;}
8182 case 773:
8183 #line 4208 "parse.y"
8184 { yyval.ftype.t = build_tree_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
8185 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
8186 break;}
8187 case 774:
8188 #line 4211 "parse.y"
8189 { yyval.ftype.t = build_tree_list (get_decl_list (yyvsp[-1].ftype.t), yyvsp[0].ttype);
8190 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
8191 break;}
8192 case 775:
8193 #line 4214 "parse.y"
8194 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
8195 yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype);
8196 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
8197 break;}
8198 case 776:
8199 #line 4218 "parse.y"
8200 { tree specs = strip_attrs (yyvsp[0].ftype.t);
8201 yyval.ftype.t = build_tree_list (specs, NULL_TREE);
8202 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
8203 break;}
8204 case 777:
8205 #line 4222 "parse.y"
8206 { tree specs = strip_attrs (yyvsp[-1].ttype);
8207 yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype);
8208 yyval.ftype.new_type_flag = 0; ;
8209 break;}
8210 case 778:
8211 #line 4229 "parse.y"
8212 { yyval.ftype.t = build_tree_list (NULL_TREE, yyvsp[0].ftype.t);
8213 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
8214 break;}
8215 case 779:
8216 #line 4232 "parse.y"
8217 { yyval.ftype.t = build_tree_list (yyvsp[0].ttype, yyvsp[-1].ftype.t);
8218 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
8219 break;}
8220 case 782:
8221 #line 4243 "parse.y"
8222 { see_typename (); ;
8223 break;}
8224 case 783:
8225 #line 4248 "parse.y"
8226 {
8227 error ("type specifier omitted for parameter");
8228 yyval.ttype = build_tree_list (integer_type_node, NULL_TREE);
8229 ;
8230 break;}
8231 case 784:
8232 #line 4253 "parse.y"
8233 {
8234 error ("type specifier omitted for parameter");
8235 if (TREE_CODE (yyval.ttype) == SCOPE_REF
8236 && TREE_CODE (TREE_OPERAND (yyval.ttype, 0)) == TEMPLATE_TYPE_PARM)
8237 cp_error (" perhaps you want `typename %E' to make it a type", yyval.ttype);
8238 yyval.ttype = build_tree_list (integer_type_node, yyval.ttype);
8239 ;
8240 break;}
8241 case 785:
8242 #line 4264 "parse.y"
8243 { yyval.ttype = NULL_TREE; ;
8244 break;}
8245 case 786:
8246 #line 4266 "parse.y"
8247 { yyval.ttype = yyvsp[-1].ttype; ;
8248 break;}
8249 case 787:
8250 #line 4268 "parse.y"
8251 { yyval.ttype = build_decl_list (NULL_TREE, NULL_TREE); ;
8252 break;}
8253 case 788:
8254 #line 4273 "parse.y"
8255 { yyval.ttype = build_decl_list (NULL_TREE, groktypename(yyvsp[0].ftype.t)); ;
8256 break;}
8257 case 790:
8258 #line 4279 "parse.y"
8259 {
8260 TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype;
8261 yyval.ttype = yyvsp[0].ttype;
8262 ;
8263 break;}
8264 case 791:
8265 #line 4287 "parse.y"
8266 { yyval.ttype = NULL_TREE; ;
8267 break;}
8268 case 792:
8269 #line 4289 "parse.y"
8270 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
8271 break;}
8272 case 793:
8273 #line 4291 "parse.y"
8274 { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
8275 break;}
8276 case 794:
8277 #line 4293 "parse.y"
8278 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
8279 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
8280 ;
8281 break;}
8282 case 795:
8283 #line 4300 "parse.y"
8284 { got_scope = NULL_TREE; ;
8285 break;}
8286 case 796:
8287 #line 4305 "parse.y"
8288 { yyval.ttype = ansi_opname[MULT_EXPR]; ;
8289 break;}
8290 case 797:
8291 #line 4307 "parse.y"
8292 { yyval.ttype = ansi_opname[TRUNC_DIV_EXPR]; ;
8293 break;}
8294 case 798:
8295 #line 4309 "parse.y"
8296 { yyval.ttype = ansi_opname[TRUNC_MOD_EXPR]; ;
8297 break;}
8298 case 799:
8299 #line 4311 "parse.y"
8300 { yyval.ttype = ansi_opname[PLUS_EXPR]; ;
8301 break;}
8302 case 800:
8303 #line 4313 "parse.y"
8304 { yyval.ttype = ansi_opname[MINUS_EXPR]; ;
8305 break;}
8306 case 801:
8307 #line 4315 "parse.y"
8308 { yyval.ttype = ansi_opname[BIT_AND_EXPR]; ;
8309 break;}
8310 case 802:
8311 #line 4317 "parse.y"
8312 { yyval.ttype = ansi_opname[BIT_IOR_EXPR]; ;
8313 break;}
8314 case 803:
8315 #line 4319 "parse.y"
8316 { yyval.ttype = ansi_opname[BIT_XOR_EXPR]; ;
8317 break;}
8318 case 804:
8319 #line 4321 "parse.y"
8320 { yyval.ttype = ansi_opname[BIT_NOT_EXPR]; ;
8321 break;}
8322 case 805:
8323 #line 4323 "parse.y"
8324 { yyval.ttype = ansi_opname[COMPOUND_EXPR]; ;
8325 break;}
8326 case 806:
8327 #line 4325 "parse.y"
8328 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
8329 break;}
8330 case 807:
8331 #line 4327 "parse.y"
8332 { yyval.ttype = ansi_opname[LT_EXPR]; ;
8333 break;}
8334 case 808:
8335 #line 4329 "parse.y"
8336 { yyval.ttype = ansi_opname[GT_EXPR]; ;
8337 break;}
8338 case 809:
8339 #line 4331 "parse.y"
8340 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
8341 break;}
8342 case 810:
8343 #line 4333 "parse.y"
8344 { yyval.ttype = ansi_assopname[yyvsp[0].code]; ;
8345 break;}
8346 case 811:
8347 #line 4335 "parse.y"
8348 { yyval.ttype = ansi_opname [MODIFY_EXPR]; ;
8349 break;}
8350 case 812:
8351 #line 4337 "parse.y"
8352 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
8353 break;}
8354 case 813:
8355 #line 4339 "parse.y"
8356 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
8357 break;}
8358 case 814:
8359 #line 4341 "parse.y"
8360 { yyval.ttype = ansi_opname[POSTINCREMENT_EXPR]; ;
8361 break;}
8362 case 815:
8363 #line 4343 "parse.y"
8364 { yyval.ttype = ansi_opname[PREDECREMENT_EXPR]; ;
8365 break;}
8366 case 816:
8367 #line 4345 "parse.y"
8368 { yyval.ttype = ansi_opname[TRUTH_ANDIF_EXPR]; ;
8369 break;}
8370 case 817:
8371 #line 4347 "parse.y"
8372 { yyval.ttype = ansi_opname[TRUTH_ORIF_EXPR]; ;
8373 break;}
8374 case 818:
8375 #line 4349 "parse.y"
8376 { yyval.ttype = ansi_opname[TRUTH_NOT_EXPR]; ;
8377 break;}
8378 case 819:
8379 #line 4351 "parse.y"
8380 { yyval.ttype = ansi_opname[COND_EXPR]; ;
8381 break;}
8382 case 820:
8383 #line 4353 "parse.y"
8384 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
8385 break;}
8386 case 821:
8387 #line 4355 "parse.y"
8388 { yyval.ttype = ansi_opname[COMPONENT_REF]; ;
8389 break;}
8390 case 822:
8391 #line 4357 "parse.y"
8392 { yyval.ttype = ansi_opname[MEMBER_REF]; ;
8393 break;}
8394 case 823:
8395 #line 4359 "parse.y"
8396 { yyval.ttype = ansi_opname[CALL_EXPR]; ;
8397 break;}
8398 case 824:
8399 #line 4361 "parse.y"
8400 { yyval.ttype = ansi_opname[ARRAY_REF]; ;
8401 break;}
8402 case 825:
8403 #line 4363 "parse.y"
8404 { yyval.ttype = ansi_opname[NEW_EXPR]; ;
8405 break;}
8406 case 826:
8407 #line 4365 "parse.y"
8408 { yyval.ttype = ansi_opname[DELETE_EXPR]; ;
8409 break;}
8410 case 827:
8411 #line 4367 "parse.y"
8412 { yyval.ttype = ansi_opname[VEC_NEW_EXPR]; ;
8413 break;}
8414 case 828:
8415 #line 4369 "parse.y"
8416 { yyval.ttype = ansi_opname[VEC_DELETE_EXPR]; ;
8417 break;}
8418 case 829:
8419 #line 4372 "parse.y"
8420 { yyval.ttype = grokoptypename (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
8421 break;}
8422 case 830:
8423 #line 4374 "parse.y"
8424 { yyval.ttype = ansi_opname[ERROR_MARK]; ;
8425 break;}
8426 }
8427 /* the action file gets copied in in place of this dollarsign */
8428 #line 498 "/usr/lib/bison.simple"
8429 \f
8430 yyvsp -= yylen;
8431 yyssp -= yylen;
8432 #ifdef YYLSP_NEEDED
8433 yylsp -= yylen;
8434 #endif
8435
8436 #if YYDEBUG != 0
8437 if (yydebug)
8438 {
8439 short *ssp1 = yyss - 1;
8440 fprintf (stderr, "state stack now");
8441 while (ssp1 != yyssp)
8442 fprintf (stderr, " %d", *++ssp1);
8443 fprintf (stderr, "\n");
8444 }
8445 #endif
8446
8447 *++yyvsp = yyval;
8448
8449 #ifdef YYLSP_NEEDED
8450 yylsp++;
8451 if (yylen == 0)
8452 {
8453 yylsp->first_line = yylloc.first_line;
8454 yylsp->first_column = yylloc.first_column;
8455 yylsp->last_line = (yylsp-1)->last_line;
8456 yylsp->last_column = (yylsp-1)->last_column;
8457 yylsp->text = 0;
8458 }
8459 else
8460 {
8461 yylsp->last_line = (yylsp+yylen-1)->last_line;
8462 yylsp->last_column = (yylsp+yylen-1)->last_column;
8463 }
8464 #endif
8465
8466 /* Now "shift" the result of the reduction.
8467 Determine what state that goes to,
8468 based on the state we popped back to
8469 and the rule number reduced by. */
8470
8471 yyn = yyr1[yyn];
8472
8473 yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
8474 if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
8475 yystate = yytable[yystate];
8476 else
8477 yystate = yydefgoto[yyn - YYNTBASE];
8478
8479 goto yynewstate;
8480
8481 yyerrlab: /* here on detecting error */
8482
8483 if (! yyerrstatus)
8484 /* If not already recovering from an error, report this error. */
8485 {
8486 ++yynerrs;
8487
8488 #ifdef YYERROR_VERBOSE
8489 yyn = yypact[yystate];
8490
8491 if (yyn > YYFLAG && yyn < YYLAST)
8492 {
8493 int size = 0;
8494 char *msg;
8495 int x, count;
8496
8497 count = 0;
8498 /* Start X at -yyn if nec to avoid negative indexes in yycheck. */
8499 for (x = (yyn < 0 ? -yyn : 0);
8500 x < (sizeof(yytname) / sizeof(char *)); x++)
8501 if (yycheck[x + yyn] == x)
8502 size += strlen(yytname[x]) + 15, count++;
8503 msg = (char *) malloc(size + 15);
8504 if (msg != 0)
8505 {
8506 strcpy(msg, "parse error");
8507
8508 if (count < 5)
8509 {
8510 count = 0;
8511 for (x = (yyn < 0 ? -yyn : 0);
8512 x < (sizeof(yytname) / sizeof(char *)); x++)
8513 if (yycheck[x + yyn] == x)
8514 {
8515 strcat(msg, count == 0 ? ", expecting `" : " or `");
8516 strcat(msg, yytname[x]);
8517 strcat(msg, "'");
8518 count++;
8519 }
8520 }
8521 yyerror(msg);
8522 free(msg);
8523 }
8524 else
8525 yyerror ("parse error; also virtual memory exceeded");
8526 }
8527 else
8528 #endif /* YYERROR_VERBOSE */
8529 yyerror("parse error");
8530 }
8531
8532 goto yyerrlab1;
8533 yyerrlab1: /* here on error raised explicitly by an action */
8534
8535 if (yyerrstatus == 3)
8536 {
8537 /* if just tried and failed to reuse lookahead token after an error, discard it. */
8538
8539 /* return failure if at end of input */
8540 if (yychar == YYEOF)
8541 YYABORT;
8542
8543 #if YYDEBUG != 0
8544 if (yydebug)
8545 fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
8546 #endif
8547
8548 yychar = YYEMPTY;
8549 }
8550
8551 /* Else will try to reuse lookahead token
8552 after shifting the error token. */
8553
8554 yyerrstatus = 3; /* Each real token shifted decrements this */
8555
8556 goto yyerrhandle;
8557
8558 yyerrdefault: /* current state does not do anything special for the error token. */
8559
8560 #if 0
8561 /* This is wrong; only states that explicitly want error tokens
8562 should shift them. */
8563 yyn = yydefact[yystate]; /* If its default is to accept any token, ok. Otherwise pop it.*/
8564 if (yyn) goto yydefault;
8565 #endif
8566
8567 yyerrpop: /* pop the current state because it cannot handle the error token */
8568
8569 if (yyssp == yyss) YYABORT;
8570 yyvsp--;
8571 yystate = *--yyssp;
8572 #ifdef YYLSP_NEEDED
8573 yylsp--;
8574 #endif
8575
8576 #if YYDEBUG != 0
8577 if (yydebug)
8578 {
8579 short *ssp1 = yyss - 1;
8580 fprintf (stderr, "Error: state stack now");
8581 while (ssp1 != yyssp)
8582 fprintf (stderr, " %d", *++ssp1);
8583 fprintf (stderr, "\n");
8584 }
8585 #endif
8586
8587 yyerrhandle:
8588
8589 yyn = yypact[yystate];
8590 if (yyn == YYFLAG)
8591 goto yyerrdefault;
8592
8593 yyn += YYTERROR;
8594 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
8595 goto yyerrdefault;
8596
8597 yyn = yytable[yyn];
8598 if (yyn < 0)
8599 {
8600 if (yyn == YYFLAG)
8601 goto yyerrpop;
8602 yyn = -yyn;
8603 goto yyreduce;
8604 }
8605 else if (yyn == 0)
8606 goto yyerrpop;
8607
8608 if (yyn == YYFINAL)
8609 YYACCEPT;
8610
8611 #if YYDEBUG != 0
8612 if (yydebug)
8613 fprintf(stderr, "Shifting error token, ");
8614 #endif
8615
8616 *++yyvsp = yylval;
8617 #ifdef YYLSP_NEEDED
8618 *++yylsp = yylloc;
8619 #endif
8620
8621 yystate = yyn;
8622 goto yynewstate;
8623 }
8624 #line 4377 "parse.y"
8625
8626
8627 #ifdef SPEW_DEBUG
8628 const char *
8629 debug_yytranslate (value)
8630 int value;
8631 {
8632 return yytname[YYTRANSLATE (value)];
8633 }
8634
8635 #endif