Rebuild after recent parse.y change.
[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 "system.h"
104
105 #include "tree.h"
106 #include "input.h"
107 #include "flags.h"
108 #include "lex.h"
109 #include "cp-tree.h"
110 #include "output.h"
111 #include "except.h"
112
113 /* Since parsers are distinct for each language, put the language string
114 definition here. (fnf) */
115 char *language_string = "GNU C++";
116
117 extern tree void_list_node;
118 extern struct obstack permanent_obstack;
119
120 extern int end_of_file;
121
122 /* Like YYERROR but do call yyerror. */
123 #define YYERROR1 { yyerror ("syntax error"); YYERROR; }
124
125 #define OP0(NODE) (TREE_OPERAND (NODE, 0))
126 #define OP1(NODE) (TREE_OPERAND (NODE, 1))
127
128 /* Contains the statement keyword (if/while/do) to include in an
129 error message if the user supplies an empty conditional expression. */
130 static char *cond_stmt_keyword;
131
132 static tree empty_parms PROTO((void));
133
134 /* Nonzero if we have an `extern "C"' acting as an extern specifier. */
135 int have_extern_spec;
136 int used_extern_spec;
137
138 /* Cons up an empty parameter list. */
139 #ifdef __GNUC__
140 __inline
141 #endif
142 static tree
143 empty_parms ()
144 {
145 tree parms;
146
147 if (strict_prototype
148 || current_class_type != NULL)
149 parms = void_list_node;
150 else
151 parms = NULL_TREE;
152 return parms;
153 }
154
155
156 #line 91 "parse.y"
157 typedef union {long itype; tree ttype; char *strtype; enum tree_code code; flagged_type_tree ftype; } YYSTYPE;
158 #line 280 "parse.y"
159
160 /* List of types and structure classes of the current declaration. */
161 static tree current_declspecs = NULL_TREE;
162 /* List of prefix attributes in effect.
163 Prefix attributes are parsed by the reserved_declspecs and declmods
164 rules. They create a list that contains *both* declspecs and attrs. */
165 /* ??? It is not clear yet that all cases where an attribute can now appear in
166 a declspec list have been updated. */
167 static tree prefix_attributes = NULL_TREE;
168
169 /* When defining an aggregate, this is the most recent one being defined. */
170 static tree current_aggr;
171
172 /* Tell yyparse how to print a token's value, if yydebug is set. */
173
174 #define YYPRINT(FILE,YYCHAR,YYLVAL) yyprint(FILE,YYCHAR,YYLVAL)
175 extern void yyprint PROTO((FILE *, int, YYSTYPE));
176 extern tree combine_strings PROTO((tree));
177
178 static int
179 parse_decl(declarator, specs_attrs, attributes, initialized, decl)
180 tree declarator;
181 tree specs_attrs;
182 tree attributes;
183 int initialized;
184 tree* decl;
185 {
186 int sm;
187
188 split_specs_attrs (specs_attrs, &current_declspecs, &prefix_attributes);
189 if (current_declspecs
190 && TREE_CODE (current_declspecs) != TREE_LIST)
191 current_declspecs = get_decl_list (current_declspecs);
192 if (have_extern_spec && !used_extern_spec)
193 {
194 current_declspecs = decl_tree_cons (NULL_TREE,
195 get_identifier ("extern"),
196 current_declspecs);
197 used_extern_spec = 1;
198 }
199 sm = suspend_momentary ();
200 *decl = start_decl (declarator, current_declspecs, initialized,
201 attributes, prefix_attributes);
202 return sm;
203 }
204 #include <stdio.h>
205
206 #ifndef __cplusplus
207 #ifndef __STDC__
208 #define const
209 #endif
210 #endif
211
212
213
214 #define YYFINAL 1549
215 #define YYFLAG -32768
216 #define YYNTBASE 114
217
218 #define YYTRANSLATE(x) ((unsigned)(x) <= 344 ? yytranslate[x] : 386)
219
220 static const char yytranslate[] = { 0,
221 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
222 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
223 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
224 2, 2, 112, 2, 2, 2, 83, 71, 2, 94,
225 110, 81, 79, 60, 80, 93, 82, 2, 2, 2,
226 2, 2, 2, 2, 2, 2, 2, 63, 61, 75,
227 65, 76, 66, 2, 2, 2, 2, 2, 2, 2,
228 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
229 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
230 95, 2, 113, 70, 2, 2, 2, 2, 2, 2,
231 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
232 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
233 2, 2, 59, 69, 111, 89, 2, 2, 2, 2,
234 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
235 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
236 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
237 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
238 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
239 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
240 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
241 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
242 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
243 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
244 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
245 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
246 2, 2, 2, 2, 2, 1, 2, 3, 4, 5,
247 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
248 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
249 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
250 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
251 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
252 56, 57, 58, 62, 64, 67, 68, 72, 73, 74,
253 77, 78, 84, 85, 86, 87, 88, 90, 91, 92,
254 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
255 106, 107, 108, 109
256 };
257
258 #if YYDEBUG != 0
259 static const short yyprhs[] = { 0,
260 0, 1, 3, 4, 7, 10, 12, 13, 14, 15,
261 17, 19, 21, 22, 25, 28, 30, 32, 38, 43,
262 49, 54, 55, 62, 63, 69, 75, 78, 83, 86,
263 89, 93, 97, 99, 101, 104, 107, 109, 112, 113,
264 119, 123, 125, 129, 131, 132, 135, 138, 142, 144,
265 148, 150, 154, 156, 160, 163, 166, 169, 173, 177,
266 180, 183, 186, 189, 192, 194, 196, 198, 199, 201,
267 204, 205, 207, 212, 216, 220, 221, 230, 236, 237,
268 247, 254, 255, 264, 270, 271, 281, 288, 291, 294,
269 296, 299, 301, 308, 313, 320, 325, 328, 330, 333,
270 336, 338, 341, 343, 346, 349, 354, 357, 361, 362,
271 363, 365, 369, 372, 376, 378, 383, 386, 391, 394,
272 399, 402, 404, 406, 408, 410, 412, 414, 416, 418,
273 420, 422, 424, 425, 432, 433, 440, 441, 447, 448,
274 454, 455, 463, 464, 472, 473, 480, 481, 488, 489,
275 490, 495, 500, 502, 507, 509, 511, 512, 514, 516,
276 520, 522, 524, 526, 528, 530, 532, 534, 536, 538,
277 540, 544, 546, 550, 551, 553, 555, 556, 564, 566,
278 568, 572, 577, 581, 582, 586, 588, 592, 596, 600,
279 604, 606, 608, 610, 613, 616, 619, 622, 625, 628,
280 631, 636, 639, 644, 647, 651, 655, 660, 665, 671,
281 677, 684, 687, 692, 698, 701, 704, 708, 712, 716,
282 718, 722, 725, 729, 734, 736, 739, 745, 747, 751,
283 755, 759, 763, 767, 771, 775, 779, 783, 787, 791,
284 795, 799, 803, 807, 811, 815, 819, 823, 829, 833,
285 837, 839, 842, 846, 848, 850, 852, 854, 856, 857,
286 863, 869, 875, 881, 887, 889, 891, 893, 895, 898,
287 901, 905, 910, 915, 917, 919, 921, 925, 927, 929,
288 931, 933, 937, 941, 945, 946, 951, 956, 959, 964,
289 967, 970, 972, 977, 979, 987, 995, 1003, 1011, 1016,
290 1021, 1024, 1027, 1029, 1034, 1037, 1040, 1046, 1050, 1053,
291 1056, 1062, 1066, 1072, 1076, 1081, 1088, 1091, 1093, 1096,
292 1098, 1101, 1103, 1105, 1107, 1110, 1111, 1114, 1117, 1121,
293 1125, 1129, 1132, 1135, 1138, 1140, 1142, 1144, 1147, 1150,
294 1153, 1156, 1158, 1160, 1162, 1164, 1167, 1170, 1174, 1178,
295 1182, 1187, 1189, 1192, 1195, 1198, 1200, 1202, 1204, 1207,
296 1210, 1213, 1215, 1217, 1220, 1223, 1227, 1229, 1232, 1234,
297 1236, 1238, 1243, 1248, 1253, 1258, 1260, 1262, 1264, 1266,
298 1270, 1272, 1276, 1278, 1282, 1283, 1288, 1289, 1296, 1300,
299 1301, 1306, 1308, 1312, 1316, 1317, 1322, 1326, 1327, 1329,
300 1331, 1334, 1341, 1343, 1347, 1348, 1350, 1355, 1362, 1367,
301 1369, 1371, 1373, 1375, 1377, 1381, 1382, 1385, 1387, 1390,
302 1394, 1399, 1401, 1403, 1407, 1412, 1416, 1422, 1424, 1429,
303 1433, 1437, 1438, 1442, 1446, 1450, 1451, 1454, 1457, 1458,
304 1466, 1471, 1472, 1479, 1483, 1486, 1489, 1492, 1493, 1494,
305 1504, 1506, 1507, 1509, 1510, 1512, 1514, 1517, 1520, 1523,
306 1526, 1529, 1532, 1536, 1541, 1545, 1548, 1552, 1553, 1555,
307 1559, 1562, 1565, 1567, 1569, 1570, 1573, 1577, 1579, 1584,
308 1586, 1590, 1592, 1594, 1599, 1604, 1607, 1610, 1614, 1618,
309 1620, 1621, 1623, 1626, 1631, 1635, 1637, 1640, 1643, 1646,
310 1649, 1652, 1655, 1658, 1660, 1663, 1666, 1670, 1673, 1676,
311 1681, 1686, 1689, 1691, 1697, 1702, 1704, 1705, 1707, 1711,
312 1712, 1714, 1718, 1720, 1722, 1724, 1726, 1731, 1736, 1741,
313 1746, 1751, 1755, 1760, 1765, 1770, 1775, 1779, 1781, 1785,
314 1787, 1791, 1794, 1796, 1803, 1804, 1807, 1809, 1812, 1813,
315 1816, 1821, 1826, 1829, 1834, 1838, 1842, 1845, 1848, 1852,
316 1854, 1856, 1859, 1861, 1863, 1866, 1869, 1874, 1879, 1883,
317 1887, 1890, 1892, 1896, 1900, 1903, 1906, 1910, 1912, 1916,
318 1920, 1923, 1926, 1930, 1932, 1937, 1941, 1946, 1950, 1952,
319 1955, 1958, 1961, 1964, 1967, 1969, 1972, 1977, 1982, 1985,
320 1987, 1989, 1991, 1993, 1996, 2001, 2004, 2007, 2010, 2013,
321 2015, 2018, 2021, 2024, 2027, 2031, 2033, 2036, 2040, 2045,
322 2048, 2051, 2054, 2057, 2060, 2063, 2068, 2071, 2073, 2076,
323 2079, 2083, 2085, 2089, 2092, 2096, 2099, 2102, 2106, 2108,
324 2112, 2117, 2121, 2124, 2127, 2129, 2133, 2136, 2139, 2141,
325 2144, 2148, 2150, 2154, 2156, 2163, 2168, 2173, 2177, 2183,
326 2187, 2191, 2195, 2198, 2200, 2202, 2205, 2208, 2211, 2212,
327 2214, 2216, 2219, 2223, 2225, 2228, 2229, 2233, 2234, 2235,
328 2241, 2243, 2244, 2247, 2249, 2251, 2253, 2256, 2257, 2262,
329 2264, 2265, 2266, 2272, 2273, 2274, 2282, 2283, 2284, 2285,
330 2286, 2299, 2300, 2301, 2309, 2310, 2316, 2317, 2325, 2326,
331 2331, 2334, 2337, 2340, 2344, 2351, 2360, 2371, 2384, 2389,
332 2393, 2396, 2399, 2401, 2403, 2404, 2405, 2412, 2413, 2414,
333 2420, 2422, 2425, 2426, 2427, 2433, 2435, 2437, 2441, 2445,
334 2448, 2451, 2454, 2457, 2460, 2462, 2465, 2466, 2468, 2469,
335 2471, 2473, 2474, 2476, 2478, 2482, 2487, 2489, 2493, 2494,
336 2496, 2498, 2500, 2503, 2506, 2509, 2511, 2513, 2516, 2519,
337 2522, 2525, 2526, 2530, 2532, 2534, 2536, 2539, 2542, 2545,
338 2550, 2553, 2556, 2559, 2562, 2565, 2568, 2570, 2573, 2575,
339 2578, 2580, 2582, 2583, 2584, 2586, 2587, 2592, 2595, 2597,
340 2599, 2603, 2604, 2608, 2612, 2616, 2618, 2621, 2624, 2627,
341 2630, 2633, 2636, 2639, 2642, 2645, 2648, 2651, 2654, 2657,
342 2660, 2663, 2666, 2669, 2672, 2675, 2678, 2681, 2684, 2687,
343 2691, 2694, 2697, 2700, 2703, 2707, 2710, 2713, 2718, 2723,
344 2727
345 };
346
347 static const short yyrhs[] = { -1,
348 115, 0, 0, 116, 122, 0, 115, 122, 0, 115,
349 0, 0, 0, 0, 33, 0, 27, 0, 28, 0,
350 0, 123, 124, 0, 142, 141, 0, 138, 0, 137,
351 0, 121, 94, 208, 110, 61, 0, 129, 59, 117,
352 111, 0, 129, 118, 142, 119, 141, 0, 129, 118,
353 138, 119, 0, 0, 45, 157, 59, 125, 117, 111,
354 0, 0, 45, 59, 126, 117, 111, 0, 45, 157,
355 65, 128, 61, 0, 127, 61, 0, 47, 45, 128,
356 61, 0, 120, 124, 0, 47, 300, 0, 47, 314,
357 300, 0, 47, 314, 199, 0, 199, 0, 300, 0,
358 314, 300, 0, 314, 199, 0, 100, 0, 129, 100,
359 0, 0, 49, 75, 131, 132, 76, 0, 49, 75,
360 76, 0, 136, 0, 132, 60, 136, 0, 157, 0,
361 0, 257, 133, 0, 46, 133, 0, 130, 257, 133,
362 0, 134, 0, 134, 65, 214, 0, 377, 0, 377,
363 65, 194, 0, 135, 0, 135, 65, 176, 0, 130,
364 124, 0, 130, 1, 0, 225, 61, 0, 218, 224,
365 61, 0, 215, 223, 61, 0, 218, 61, 0, 160,
366 61, 0, 215, 61, 0, 1, 61, 0, 1, 111,
367 0, 61, 0, 209, 0, 153, 0, 0, 152, 0,
368 152, 61, 0, 0, 109, 0, 148, 140, 139, 324,
369 0, 148, 140, 348, 0, 148, 140, 1, 0, 0,
370 305, 5, 94, 144, 368, 110, 287, 380, 0, 305,
371 5, 48, 287, 380, 0, 0, 314, 305, 5, 94,
372 145, 368, 110, 287, 380, 0, 314, 305, 5, 48,
373 287, 380, 0, 0, 305, 172, 94, 146, 368, 110,
374 287, 380, 0, 305, 172, 48, 287, 380, 0, 0,
375 314, 305, 172, 94, 147, 368, 110, 287, 380, 0,
376 314, 305, 172, 48, 287, 380, 0, 215, 212, 0,
377 218, 297, 0, 297, 0, 218, 143, 0, 143, 0,
378 5, 94, 368, 110, 287, 380, 0, 5, 48, 287,
379 380, 0, 172, 94, 368, 110, 287, 380, 0, 172,
380 48, 287, 380, 0, 218, 149, 0, 149, 0, 215,
381 212, 0, 218, 297, 0, 297, 0, 218, 143, 0,
382 143, 0, 25, 3, 0, 151, 242, 0, 151, 94,
383 188, 110, 0, 151, 48, 0, 63, 154, 155, 0,
384 0, 0, 156, 0, 155, 60, 156, 0, 155, 1,
385 0, 94, 188, 110, 0, 48, 0, 158, 94, 188,
386 110, 0, 158, 48, 0, 293, 94, 188, 110, 0,
387 293, 48, 0, 307, 94, 188, 110, 0, 307, 48,
388 0, 3, 0, 4, 0, 5, 0, 57, 0, 58,
389 0, 3, 0, 57, 0, 58, 0, 106, 0, 105,
390 0, 107, 0, 0, 49, 169, 221, 61, 161, 170,
391 0, 0, 49, 169, 215, 212, 162, 170, 0, 0,
392 49, 169, 297, 163, 170, 0, 0, 49, 169, 143,
393 164, 170, 0, 0, 7, 49, 169, 221, 61, 165,
394 170, 0, 0, 7, 49, 169, 215, 212, 166, 170,
395 0, 0, 7, 49, 169, 297, 167, 170, 0, 0,
396 7, 49, 169, 143, 168, 170, 0, 0, 0, 57,
397 75, 174, 173, 0, 4, 75, 174, 173, 0, 172,
398 0, 5, 75, 174, 173, 0, 76, 0, 78, 0,
399 0, 175, 0, 176, 0, 175, 60, 176, 0, 214,
400 0, 194, 0, 80, 0, 79, 0, 87, 0, 88,
401 0, 112, 0, 187, 0, 194, 0, 48, 0, 94,
402 178, 110, 0, 48, 0, 94, 182, 110, 0, 0,
403 182, 0, 1, 0, 0, 358, 212, 226, 235, 65,
404 183, 243, 0, 178, 0, 111, 0, 321, 319, 111,
405 0, 321, 319, 1, 111, 0, 321, 1, 111, 0,
406 0, 59, 186, 184, 0, 333, 0, 194, 60, 194,
407 0, 194, 60, 1, 0, 187, 60, 194, 0, 187,
408 60, 1, 0, 194, 0, 187, 0, 203, 0, 120,
409 193, 0, 81, 193, 0, 71, 193, 0, 89, 193,
410 0, 177, 193, 0, 68, 157, 0, 13, 189, 0,
411 13, 94, 214, 110, 0, 30, 189, 0, 30, 94,
412 214, 110, 0, 205, 286, 0, 205, 286, 191, 0,
413 205, 190, 286, 0, 205, 190, 286, 191, 0, 205,
414 94, 214, 110, 0, 205, 94, 214, 110, 191, 0,
415 205, 190, 94, 214, 110, 0, 205, 190, 94, 214,
416 110, 191, 0, 206, 193, 0, 206, 95, 113, 193,
417 0, 206, 95, 178, 113, 193, 0, 35, 193, 0,
418 36, 193, 0, 94, 188, 110, 0, 59, 188, 111,
419 0, 94, 188, 110, 0, 48, 0, 94, 221, 110,
420 0, 65, 243, 0, 94, 214, 110, 0, 192, 94,
421 214, 110, 0, 189, 0, 192, 189, 0, 192, 59,
422 244, 255, 111, 0, 193, 0, 194, 84, 194, 0,
423 194, 85, 194, 0, 194, 79, 194, 0, 194, 80,
424 194, 0, 194, 81, 194, 0, 194, 82, 194, 0,
425 194, 83, 194, 0, 194, 77, 194, 0, 194, 78,
426 194, 0, 194, 74, 194, 0, 194, 75, 194, 0,
427 194, 76, 194, 0, 194, 73, 194, 0, 194, 72,
428 194, 0, 194, 71, 194, 0, 194, 69, 194, 0,
429 194, 70, 194, 0, 194, 68, 194, 0, 194, 67,
430 194, 0, 194, 66, 363, 63, 194, 0, 194, 65,
431 194, 0, 194, 64, 194, 0, 62, 0, 62, 194,
432 0, 89, 378, 157, 0, 197, 0, 385, 0, 3,
433 0, 57, 0, 58, 0, 0, 6, 75, 196, 174,
434 173, 0, 385, 75, 196, 174, 173, 0, 49, 157,
435 75, 174, 173, 0, 49, 6, 75, 174, 173, 0,
436 49, 385, 75, 174, 173, 0, 195, 0, 4, 0,
437 5, 0, 195, 0, 81, 200, 0, 71, 200, 0,
438 94, 200, 110, 0, 3, 75, 174, 173, 0, 58,
439 75, 175, 173, 0, 299, 0, 195, 0, 201, 0,
440 94, 200, 110, 0, 195, 0, 10, 0, 207, 0,
441 208, 0, 94, 178, 110, 0, 94, 200, 110, 0,
442 94, 1, 110, 0, 0, 94, 204, 325, 110, 0,
443 203, 94, 188, 110, 0, 203, 48, 0, 203, 95,
444 178, 113, 0, 203, 87, 0, 203, 88, 0, 41,
445 0, 9, 94, 188, 110, 0, 303, 0, 51, 75,
446 214, 76, 94, 178, 110, 0, 52, 75, 214, 76,
447 94, 178, 110, 0, 53, 75, 214, 76, 94, 178,
448 110, 0, 54, 75, 214, 76, 94, 178, 110, 0,
449 50, 94, 178, 110, 0, 50, 94, 214, 110, 0,
450 314, 3, 0, 314, 385, 0, 302, 0, 302, 94,
451 188, 110, 0, 302, 48, 0, 210, 198, 0, 210,
452 198, 94, 188, 110, 0, 210, 198, 48, 0, 210,
453 199, 0, 210, 302, 0, 210, 199, 94, 188, 110,
454 0, 210, 199, 48, 0, 210, 302, 94, 188, 110,
455 0, 210, 302, 48, 0, 210, 89, 8, 48, 0,
456 210, 8, 55, 89, 8, 48, 0, 210, 1, 0,
457 40, 0, 314, 40, 0, 39, 0, 314, 206, 0,
458 43, 0, 44, 0, 11, 0, 208, 11, 0, 0,
459 203, 93, 0, 203, 92, 0, 221, 223, 61, 0,
460 215, 223, 61, 0, 218, 224, 61, 0, 215, 61,
461 0, 218, 61, 0, 120, 211, 0, 292, 0, 297,
462 0, 48, 0, 213, 48, 0, 219, 317, 0, 288,
463 317, 0, 221, 317, 0, 219, 0, 288, 0, 219,
464 0, 216, 0, 218, 221, 0, 221, 217, 0, 221,
465 220, 217, 0, 218, 221, 217, 0, 218, 221, 220,
466 0, 218, 221, 220, 217, 0, 7, 0, 217, 222,
467 0, 217, 7, 0, 217, 236, 0, 236, 0, 288,
468 0, 7, 0, 218, 9, 0, 218, 7, 0, 218,
469 236, 0, 236, 0, 221, 0, 288, 221, 0, 221,
470 220, 0, 288, 221, 220, 0, 222, 0, 220, 222,
471 0, 250, 0, 8, 0, 294, 0, 29, 94, 178,
472 110, 0, 29, 94, 214, 110, 0, 31, 94, 178,
473 110, 0, 31, 94, 214, 110, 0, 8, 0, 9,
474 0, 250, 0, 231, 0, 223, 60, 227, 0, 232,
475 0, 224, 60, 227, 0, 233, 0, 225, 60, 227,
476 0, 0, 121, 94, 208, 110, 0, 0, 212, 226,
477 235, 65, 228, 243, 0, 212, 226, 235, 0, 0,
478 235, 65, 230, 243, 0, 235, 0, 212, 226, 229,
479 0, 297, 226, 229, 0, 0, 297, 226, 234, 229,
480 0, 143, 226, 235, 0, 0, 236, 0, 237, 0,
481 236, 237, 0, 32, 94, 94, 238, 110, 110, 0,
482 239, 0, 238, 60, 239, 0, 0, 240, 0, 240,
483 94, 3, 110, 0, 240, 94, 3, 60, 188, 110,
484 0, 240, 94, 188, 110, 0, 157, 0, 7, 0,
485 8, 0, 9, 0, 157, 0, 241, 60, 157, 0,
486 0, 65, 243, 0, 194, 0, 59, 111, 0, 59,
487 244, 111, 0, 59, 244, 60, 111, 0, 1, 0,
488 243, 0, 244, 60, 243, 0, 95, 194, 113, 243,
489 0, 157, 63, 243, 0, 244, 60, 157, 63, 243,
490 0, 99, 0, 245, 140, 139, 324, 0, 245, 140,
491 348, 0, 245, 140, 1, 0, 0, 247, 246, 141,
492 0, 104, 194, 109, 0, 104, 1, 109, 0, 0,
493 249, 248, 0, 249, 1, 0, 0, 14, 157, 59,
494 251, 284, 256, 111, 0, 14, 157, 59, 111, 0,
495 0, 14, 59, 252, 284, 256, 111, 0, 14, 59,
496 111, 0, 14, 157, 0, 14, 312, 0, 46, 307,
497 0, 0, 0, 264, 270, 272, 111, 235, 253, 249,
498 254, 247, 0, 264, 0, 0, 60, 0, 0, 60,
499 0, 37, 0, 257, 7, 0, 257, 8, 0, 257,
500 9, 0, 257, 37, 0, 257, 157, 0, 257, 159,
501 0, 257, 305, 157, 0, 257, 314, 305, 157, 0,
502 257, 314, 157, 0, 257, 171, 0, 257, 305, 171,
503 0, 0, 258, 0, 259, 261, 265, 0, 260, 265,
504 0, 257, 59, 0, 263, 0, 262, 0, 0, 63,
505 378, 0, 63, 378, 266, 0, 267, 0, 266, 60,
506 378, 267, 0, 268, 0, 269, 378, 268, 0, 307,
507 0, 293, 0, 31, 94, 178, 110, 0, 31, 94,
508 214, 110, 0, 38, 378, 0, 7, 378, 0, 269,
509 38, 378, 0, 269, 7, 378, 0, 59, 0, 0,
510 271, 0, 271, 273, 0, 272, 38, 63, 273, 0,
511 272, 38, 63, 0, 274, 0, 273, 274, 0, 275,
512 61, 0, 275, 111, 0, 150, 63, 0, 150, 96,
513 0, 150, 25, 0, 150, 59, 0, 61, 0, 120,
514 274, 0, 130, 274, 0, 130, 215, 61, 0, 215,
515 276, 0, 218, 277, 0, 297, 226, 235, 242, 0,
516 143, 226, 235, 242, 0, 63, 194, 0, 1, 0,
517 218, 149, 226, 235, 242, 0, 149, 226, 235, 242,
518 0, 127, 0, 0, 278, 0, 276, 60, 279, 0,
519 0, 281, 0, 277, 60, 283, 0, 280, 0, 281,
520 0, 282, 0, 283, 0, 292, 226, 235, 242, 0,
521 4, 63, 194, 235, 0, 297, 226, 235, 242, 0,
522 143, 226, 235, 242, 0, 3, 63, 194, 235, 0,
523 63, 194, 235, 0, 292, 226, 235, 242, 0, 4,
524 63, 194, 235, 0, 297, 226, 235, 242, 0, 3,
525 63, 194, 235, 0, 63, 194, 235, 0, 285, 0,
526 284, 60, 285, 0, 157, 0, 157, 65, 194, 0,
527 358, 315, 0, 358, 0, 94, 214, 110, 95, 178,
528 113, 0, 0, 287, 9, 0, 9, 0, 288, 9,
529 0, 0, 289, 178, 0, 289, 94, 188, 110, 0,
530 289, 94, 368, 110, 0, 289, 48, 0, 289, 94,
531 1, 110, 0, 81, 288, 292, 0, 71, 288, 292,
532 0, 81, 292, 0, 71, 292, 0, 313, 287, 292,
533 0, 296, 0, 304, 0, 314, 304, 0, 293, 0,
534 295, 0, 314, 295, 0, 305, 304, 0, 296, 291,
535 287, 380, 0, 296, 95, 290, 113, 0, 296, 95,
536 113, 0, 94, 292, 110, 0, 305, 304, 0, 304,
537 0, 81, 288, 297, 0, 71, 288, 297, 0, 81,
538 297, 0, 71, 297, 0, 313, 287, 297, 0, 202,
539 0, 81, 288, 297, 0, 71, 288, 297, 0, 81,
540 298, 0, 71, 298, 0, 313, 287, 297, 0, 299,
541 0, 202, 291, 287, 380, 0, 94, 298, 110, 0,
542 202, 95, 290, 113, 0, 202, 95, 113, 0, 301,
543 0, 305, 201, 0, 305, 199, 0, 305, 198, 0,
544 305, 195, 0, 305, 198, 0, 301, 0, 314, 301,
545 0, 221, 94, 188, 110, 0, 221, 94, 200, 110,
546 0, 221, 213, 0, 4, 0, 5, 0, 171, 0,
547 306, 0, 305, 306, 0, 305, 49, 311, 55, 0,
548 4, 55, 0, 5, 55, 0, 58, 55, 0, 171,
549 55, 0, 308, 0, 314, 308, 0, 309, 157, 0,
550 309, 171, 0, 309, 311, 0, 309, 49, 311, 0,
551 310, 0, 309, 310, 0, 309, 311, 55, 0, 309,
552 49, 311, 55, 0, 4, 55, 0, 5, 55, 0,
553 171, 55, 0, 57, 55, 0, 3, 55, 0, 58,
554 55, 0, 157, 75, 174, 173, 0, 314, 304, 0,
555 295, 0, 314, 295, 0, 305, 81, 0, 314, 305,
556 81, 0, 55, 0, 81, 287, 315, 0, 81, 287,
557 0, 71, 287, 315, 0, 71, 287, 0, 313, 287,
558 0, 313, 287, 315, 0, 316, 0, 95, 178, 113,
559 0, 316, 95, 290, 113, 0, 81, 288, 317, 0,
560 81, 317, 0, 81, 288, 0, 81, 0, 71, 288,
561 317, 0, 71, 317, 0, 71, 288, 0, 71, 0,
562 313, 287, 0, 313, 287, 317, 0, 318, 0, 94,
563 317, 110, 0, 91, 0, 318, 94, 368, 110, 287,
564 380, 0, 318, 48, 287, 380, 0, 318, 95, 290,
565 113, 0, 318, 95, 113, 0, 94, 369, 110, 287,
566 380, 0, 192, 287, 380, 0, 213, 287, 380, 0,
567 95, 290, 113, 0, 95, 113, 0, 332, 0, 320,
568 0, 319, 332, 0, 319, 320, 0, 1, 61, 0,
569 0, 322, 0, 323, 0, 322, 323, 0, 34, 241,
570 61, 0, 325, 0, 1, 325, 0, 0, 59, 326,
571 184, 0, 0, 0, 15, 328, 180, 329, 330, 0,
572 325, 0, 0, 331, 333, 0, 325, 0, 333, 0,
573 211, 0, 178, 61, 0, 0, 327, 16, 334, 330,
574 0, 327, 0, 0, 0, 17, 335, 180, 336, 185,
575 0, 0, 0, 18, 337, 330, 17, 338, 179, 61,
576 0, 0, 0, 0, 0, 19, 339, 94, 361, 340,
577 181, 61, 341, 363, 110, 342, 185, 0, 0, 0,
578 20, 343, 94, 182, 110, 344, 330, 0, 0, 21,
579 194, 63, 345, 332, 0, 0, 21, 194, 12, 194,
580 63, 346, 332, 0, 0, 22, 63, 347, 332, 0,
581 23, 61, 0, 24, 61, 0, 25, 61, 0, 25,
582 178, 61, 0, 121, 362, 94, 208, 110, 61, 0,
583 121, 362, 94, 208, 63, 364, 110, 61, 0, 121,
584 362, 94, 208, 63, 364, 63, 364, 110, 61, 0,
585 121, 362, 94, 208, 63, 364, 63, 364, 63, 367,
586 110, 61, 0, 26, 81, 178, 61, 0, 26, 157,
587 61, 0, 360, 332, 0, 360, 111, 0, 61, 0,
588 351, 0, 0, 0, 96, 349, 139, 325, 350, 354,
589 0, 0, 0, 96, 352, 325, 353, 354, 0, 355,
590 0, 354, 355, 0, 0, 0, 97, 356, 359, 357,
591 325, 0, 219, 0, 288, 0, 94, 12, 110, 0,
592 94, 377, 110, 0, 3, 63, 0, 57, 63, 0,
593 4, 63, 0, 5, 63, 0, 363, 61, 0, 211,
594 0, 59, 184, 0, 0, 9, 0, 0, 178, 0,
595 1, 0, 0, 365, 0, 366, 0, 365, 60, 366,
596 0, 11, 94, 178, 110, 0, 11, 0, 367, 60,
597 11, 0, 0, 369, 0, 214, 0, 373, 0, 374,
598 12, 0, 373, 12, 0, 214, 12, 0, 12, 0,
599 98, 0, 373, 98, 0, 214, 98, 0, 373, 63,
600 0, 214, 63, 0, 0, 65, 371, 372, 0, 103,
601 0, 243, 0, 375, 0, 377, 370, 0, 374, 376,
602 0, 374, 379, 0, 374, 379, 65, 243, 0, 373,
603 60, 0, 214, 60, 0, 216, 212, 0, 219, 212,
604 0, 221, 212, 0, 216, 317, 0, 216, 0, 218,
605 297, 0, 377, 0, 377, 370, 0, 375, 0, 214,
606 0, 0, 0, 297, 0, 0, 62, 94, 382, 110,
607 0, 62, 48, 0, 214, 0, 381, 0, 382, 60,
608 381, 0, 0, 81, 287, 383, 0, 71, 287, 383,
609 0, 313, 287, 383, 0, 42, 0, 384, 81, 0,
610 384, 82, 0, 384, 83, 0, 384, 79, 0, 384,
611 80, 0, 384, 71, 0, 384, 69, 0, 384, 70,
612 0, 384, 89, 0, 384, 60, 0, 384, 74, 0,
613 384, 75, 0, 384, 76, 0, 384, 73, 0, 384,
614 64, 0, 384, 65, 0, 384, 77, 0, 384, 78,
615 0, 384, 87, 0, 384, 88, 0, 384, 68, 0,
616 384, 67, 0, 384, 112, 0, 384, 66, 63, 0,
617 384, 72, 0, 384, 92, 0, 384, 84, 0, 384,
618 48, 0, 384, 95, 113, 0, 384, 40, 0, 384,
619 39, 0, 384, 40, 95, 113, 0, 384, 39, 95,
620 113, 0, 384, 358, 383, 0, 384, 1, 0
621 };
622
623 #endif
624
625 #if YYDEBUG != 0
626 static const short yyrline[] = { 0,
627 328, 330, 344, 347, 348, 352, 354, 357, 362, 366,
628 372, 374, 377, 380, 384, 387, 389, 391, 394, 396,
629 399, 402, 404, 406, 408, 410, 412, 414, 420, 424,
630 427, 429, 433, 435, 436, 438, 442, 445, 451, 454,
631 456, 461, 464, 468, 471, 474, 477, 481, 486, 496,
632 498, 500, 502, 504, 517, 526, 536, 538, 540, 544,
633 546, 547, 554, 555, 556, 559, 562, 566, 568, 569,
634 572, 574, 577, 580, 582, 586, 589, 591, 595, 597,
635 599, 603, 605, 607, 611, 613, 615, 621, 625, 628,
636 631, 634, 639, 642, 644, 646, 652, 662, 664, 667,
637 670, 672, 675, 679, 688, 691, 693, 697, 710, 730,
638 733, 735, 736, 739, 746, 752, 754, 756, 758, 760,
639 763, 768, 770, 771, 772, 773, 776, 778, 779, 782,
640 784, 785, 788, 793, 793, 797, 797, 800, 800, 803,
641 803, 807, 807, 812, 812, 815, 815, 818, 820, 823,
642 830, 837, 843, 846, 855, 857, 865, 868, 871, 874,
643 878, 881, 884, 887, 889, 891, 893, 897, 900, 903,
644 908, 912, 917, 921, 924, 926, 930, 949, 956, 959,
645 961, 962, 963, 966, 970, 971, 975, 979, 982, 984,
646 988, 991, 994, 998, 1001, 1003, 1005, 1007, 1014, 1018,
647 1020, 1022, 1024, 1030, 1033, 1036, 1039, 1042, 1046, 1049,
648 1052, 1056, 1058, 1062, 1066, 1068, 1072, 1075, 1082, 1085,
649 1087, 1095, 1108, 1114, 1121, 1123, 1125, 1138, 1141, 1143,
650 1145, 1147, 1149, 1151, 1153, 1155, 1157, 1159, 1161, 1163,
651 1165, 1167, 1169, 1171, 1173, 1175, 1177, 1179, 1181, 1185,
652 1187, 1189, 1206, 1209, 1210, 1211, 1212, 1213, 1216, 1219,
653 1222, 1226, 1229, 1231, 1236, 1238, 1239, 1242, 1244, 1246,
654 1248, 1252, 1255, 1259, 1261, 1262, 1263, 1267, 1275, 1276,
655 1277, 1285, 1287, 1290, 1292, 1302, 1304, 1306, 1308, 1310,
656 1312, 1315, 1317, 1361, 1362, 1366, 1370, 1374, 1378, 1380,
657 1384, 1386, 1394, 1396, 1398, 1400, 1404, 1406, 1408, 1410,
658 1415, 1417, 1419, 1421, 1424, 1426, 1428, 1472, 1475, 1479,
659 1482, 1486, 1489, 1494, 1496, 1500, 1513, 1516, 1523, 1530,
660 1535, 1537, 1542, 1544, 1551, 1553, 1557, 1561, 1567, 1571,
661 1574, 1577, 1580, 1590, 1592, 1595, 1599, 1602, 1605, 1608,
662 1611, 1617, 1623, 1625, 1630, 1632, 1641, 1644, 1646, 1649,
663 1655, 1657, 1667, 1671, 1674, 1677, 1682, 1685, 1693, 1695,
664 1697, 1699, 1702, 1705, 1720, 1739, 1742, 1744, 1747, 1749,
665 1752, 1754, 1757, 1759, 1762, 1765, 1769, 1775, 1776, 1788,
666 1795, 1798, 1804, 1808, 1813, 1819, 1820, 1828, 1831, 1835,
667 1838, 1842, 1847, 1850, 1854, 1857, 1859, 1861, 1863, 1870,
668 1872, 1873, 1874, 1878, 1881, 1885, 1888, 1894, 1896, 1899,
669 1902, 1905, 1911, 1914, 1917, 1919, 1921, 1925, 1931, 1939,
670 1941, 1945, 1947, 1952, 1955, 1958, 1960, 1962, 1966, 1970,
671 1975, 1979, 1982, 1987, 1991, 1994, 1997, 2001, 2036, 2042,
672 2051, 2071, 2073, 2076, 2078, 2083, 2085, 2087, 2089, 2091,
673 2095, 2100, 2105, 2111, 2116, 2121, 2123, 2127, 2132, 2135,
674 2142, 2170, 2176, 2178, 2181, 2184, 2186, 2190, 2192, 2196,
675 2222, 2251, 2254, 2255, 2276, 2299, 2301, 2305, 2316, 2330,
676 2419, 2426, 2429, 2437, 2448, 2457, 2461, 2476, 2479, 2484,
677 2486, 2488, 2490, 2492, 2494, 2497, 2499, 2507, 2513, 2515,
678 2518, 2521, 2523, 2534, 2539, 2542, 2547, 2550, 2551, 2562,
679 2565, 2566, 2577, 2579, 2582, 2584, 2587, 2594, 2602, 2609,
680 2615, 2621, 2629, 2633, 2638, 2642, 2645, 2654, 2656, 2660,
681 2663, 2668, 2672, 2677, 2687, 2690, 2694, 2698, 2706, 2711,
682 2717, 2720, 2722, 2724, 2730, 2733, 2735, 2737, 2739, 2743,
683 2746, 2764, 2774, 2776, 2777, 2781, 2786, 2789, 2791, 2793,
684 2795, 2799, 2805, 2808, 2810, 2812, 2814, 2818, 2821, 2824,
685 2826, 2828, 2830, 2834, 2837, 2840, 2842, 2844, 2846, 2853,
686 2864, 2868, 2873, 2877, 2882, 2884, 2888, 2891, 2893, 2897,
687 2899, 2900, 2903, 2905, 2907, 2913, 2928, 2934, 2940, 2954,
688 2956, 2960, 2974, 2976, 2978, 2982, 2988, 3001, 3003, 3007,
689 3018, 3024, 3026, 3027, 3028, 3036, 3041, 3050, 3051, 3055,
690 3058, 3064, 3070, 3073, 3075, 3077, 3079, 3083, 3087, 3091,
691 3094, 3099, 3102, 3104, 3106, 3108, 3110, 3112, 3114, 3116,
692 3120, 3124, 3128, 3132, 3133, 3135, 3137, 3139, 3141, 3143,
693 3145, 3147, 3149, 3157, 3159, 3160, 3161, 3164, 3170, 3172,
694 3177, 3179, 3182, 3196, 3199, 3202, 3206, 3209, 3216, 3218,
695 3221, 3223, 3225, 3228, 3231, 3234, 3237, 3239, 3242, 3246,
696 3248, 3254, 3256, 3257, 3259, 3264, 3266, 3268, 3270, 3272,
697 3275, 3276, 3278, 3281, 3282, 3285, 3285, 3288, 3288, 3291,
698 3291, 3293, 3295, 3297, 3299, 3305, 3311, 3314, 3317, 3323,
699 3325, 3327, 3331, 3333, 3336, 3343, 3346, 3354, 3358, 3360,
700 3363, 3365, 3368, 3372, 3374, 3377, 3379, 3382, 3399, 3405,
701 3413, 3415, 3417, 3421, 3424, 3425, 3433, 3437, 3441, 3444,
702 3445, 3451, 3454, 3457, 3459, 3463, 3468, 3471, 3481, 3486,
703 3487, 3495, 3501, 3506, 3510, 3515, 3519, 3523, 3527, 3532,
704 3543, 3557, 3561, 3564, 3566, 3570, 3574, 3577, 3580, 3582,
705 3586, 3588, 3595, 3602, 3605, 3608, 3612, 3616, 3622, 3626,
706 3631, 3633, 3636, 3641, 3647, 3658, 3661, 3663, 3667, 3672,
707 3674, 3681, 3684, 3686, 3688, 3694, 3699, 3702, 3704, 3706,
708 3708, 3710, 3712, 3714, 3716, 3718, 3720, 3722, 3724, 3726,
709 3728, 3730, 3732, 3734, 3736, 3738, 3740, 3742, 3744, 3746,
710 3748, 3750, 3752, 3754, 3756, 3758, 3760, 3762, 3764, 3767,
711 3769
712 };
713 #endif
714
715
716 #if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
717
718 static const char * const yytname[] = { "$","error","$undefined.","IDENTIFIER",
719 "TYPENAME","SELFNAME","PFUNCNAME","SCSPEC","TYPESPEC","CV_QUALIFIER","CONSTANT",
720 "STRING","ELLIPSIS","SIZEOF","ENUM","IF","ELSE","WHILE","DO","FOR","SWITCH",
721 "CASE","DEFAULT","BREAK","CONTINUE","RETURN","GOTO","ASM_KEYWORD","GCC_ASM_KEYWORD",
722 "TYPEOF","ALIGNOF","SIGOF","ATTRIBUTE","EXTENSION","LABEL","REALPART","IMAGPART",
723 "AGGR","VISSPEC","DELETE","NEW","THIS","OPERATOR","CXX_TRUE","CXX_FALSE","NAMESPACE",
724 "TYPENAME_KEYWORD","USING","LEFT_RIGHT","TEMPLATE","TYPEID","DYNAMIC_CAST","STATIC_CAST",
725 "REINTERPRET_CAST","CONST_CAST","SCOPE","EMPTY","PTYPENAME","NSNAME","'{'","','",
726 "';'","THROW","':'","ASSIGN","'='","'?'","OROR","ANDAND","'|'","'^'","'&'","MIN_MAX",
727 "EQCOMPARE","ARITHCOMPARE","'<'","'>'","LSHIFT","RSHIFT","'+'","'-'","'*'","'/'",
728 "'%'","POINTSAT_STAR","DOT_STAR","UNARY","PLUSPLUS","MINUSMINUS","'~'","HYPERUNARY",
729 "PAREN_STAR_PAREN","POINTSAT","'.'","'('","'['","TRY","CATCH","TYPENAME_ELLIPSIS",
730 "PRE_PARSED_FUNCTION_DECL","EXTERN_LANG_STRING","ALL","PRE_PARSED_CLASS_DECL",
731 "DEFARG","DEFARG_MARKER","TYPENAME_DEFN","IDENTIFIER_DEFN","PTYPENAME_DEFN",
732 "END_OF_LINE","END_OF_SAVED_INPUT","')'","'}'","'!'","']'","program","extdefs",
733 "@1","extdefs_opt",".hush_warning",".warning_ok","extension","asm_keyword","lang_extdef",
734 "@2","extdef","@3","@4","using_decl","any_id","extern_lang_string","template_header",
735 "@5","template_parm_list","maybe_identifier","template_type_parm","template_template_parm",
736 "template_parm","template_def","datadef","ctor_initializer_opt","maybe_return_init",
737 "eat_saved_input","fndef","constructor_declarator","@6","@7","@8","@9","fn.def1",
738 "component_constructor_declarator","fn.def2","return_id","return_init","base_init",
739 ".set_base_init","member_init_list","member_init","identifier","notype_identifier",
740 "identifier_defn","explicit_instantiation","@10","@11","@12","@13","@14","@15",
741 "@16","@17","begin_explicit_instantiation","end_explicit_instantiation","template_type",
742 "self_template_type","template_close_bracket","template_arg_list_opt","template_arg_list",
743 "template_arg","unop","expr","paren_expr_or_null","paren_cond_or_null","xcond",
744 "condition","@18","compstmtend","already_scoped_stmt","@19","nontrivial_exprlist",
745 "nonnull_exprlist","unary_expr","new_placement","new_initializer","regcast_or_absdcl",
746 "cast_expr","expr_no_commas","notype_unqualified_id","do_id","template_id","object_template_id",
747 "unqualified_id","expr_or_declarator","notype_template_declarator","direct_notype_declarator",
748 "primary","@20","new","delete","boolean.literal","string","nodecls","object",
749 "decl","declarator","fcast_or_absdcl","type_id","typed_declspecs","typed_declspecs1",
750 "reserved_declspecs","declmods","typed_typespecs","reserved_typespecquals","typespec",
751 "typespecqual_reserved","initdecls","notype_initdecls","nomods_initdecls","maybeasm",
752 "initdcl","@21","initdcl0_innards","@22","initdcl0","notype_initdcl0","nomods_initdcl0",
753 "@23","maybe_attribute","attributes","attribute","attribute_list","attrib","any_word",
754 "identifiers_or_typenames","maybe_init","init","initlist","fn.defpen","pending_inline",
755 "pending_inlines","defarg_again","pending_defargs","structsp","@24","@25","@26",
756 "@27","maybecomma","maybecomma_warn","aggr","named_class_head_sans_basetype",
757 "named_class_head_sans_basetype_defn","named_complex_class_head_sans_basetype",
758 "do_xref_defn","named_class_head","unnamed_class_head","class_head","maybe_base_class_list",
759 "base_class_list","base_class","base_class.1","base_class_access_list","left_curly",
760 "self_reference","opt.component_decl_list","component_decl_list","component_decl",
761 "component_decl_1","components","notype_components","component_declarator0",
762 "component_declarator","after_type_component_declarator0","notype_component_declarator0",
763 "after_type_component_declarator","notype_component_declarator","enumlist","enumerator",
764 "new_type_id","cv_qualifiers","nonempty_cv_qualifiers","suspend_mom","nonmomentary_expr",
765 "maybe_parmlist","after_type_declarator","nonnested_type","complete_type_name",
766 "nested_type","direct_after_type_declarator","notype_declarator","complex_notype_declarator",
767 "complex_direct_notype_declarator","qualified_id","notype_qualified_id","overqualified_id",
768 "functional_cast","type_name","nested_name_specifier","nested_name_specifier_1",
769 "typename_sub","typename_sub0","typename_sub1","typename_sub2","explicit_template_type",
770 "complex_type_name","ptr_to_mem","global_scope","new_declarator","direct_new_declarator",
771 "absdcl","direct_abstract_declarator","stmts","errstmt","maybe_label_decls",
772 "label_decls","label_decl","compstmt_or_error","compstmt","@28","simple_if",
773 "@29","@30","implicitly_scoped_stmt","@31","stmt","simple_stmt","@32","@33",
774 "@34","@35","@36","@37","@38","@39","@40","@41","@42","@43","@44","@45","function_try_block",
775 "@46","@47","try_block","@48","@49","handler_seq","handler","@50","@51","type_specifier_seq",
776 "handler_args","label_colon","for.init.statement","maybe_cv_qualifier","xexpr",
777 "asm_operands","nonnull_asm_operands","asm_operand","asm_clobbers","parmlist",
778 "complex_parmlist","defarg","@52","defarg1","parms","parms_comma","named_parm",
779 "full_parm","parm","see_typename","bad_parm","exception_specification_opt","ansi_raise_identifier",
780 "ansi_raise_identifiers","conversion_declarator","operator","operator_name", NULL
781 };
782 #endif
783
784 static const short yyr1[] = { 0,
785 114, 114, 116, 115, 115, 117, 117, 118, 119, 120,
786 121, 121, 123, 122, 124, 124, 124, 124, 124, 124,
787 124, 125, 124, 126, 124, 124, 124, 124, 124, 127,
788 127, 127, 128, 128, 128, 128, 129, 129, 131, 130,
789 130, 132, 132, 133, 133, 134, 134, 135, 136, 136,
790 136, 136, 136, 136, 137, 137, 138, 138, 138, 138,
791 138, 138, 138, 138, 138, 139, 139, 140, 140, 140,
792 141, 141, 142, 142, 142, 144, 143, 143, 145, 143,
793 143, 146, 143, 143, 147, 143, 143, 148, 148, 148,
794 148, 148, 149, 149, 149, 149, 150, 150, 150, 150,
795 150, 150, 150, 151, 152, 152, 152, 153, 154, 155,
796 155, 155, 155, 156, 156, 156, 156, 156, 156, 156,
797 156, 157, 157, 157, 157, 157, 158, 158, 158, 159,
798 159, 159, 161, 160, 162, 160, 163, 160, 164, 160,
799 165, 160, 166, 160, 167, 160, 168, 160, 169, 170,
800 171, 171, 171, 172, 173, 173, 174, 174, 175, 175,
801 176, 176, 177, 177, 177, 177, 177, 178, 178, 179,
802 179, 180, 180, 181, 181, 181, 183, 182, 182, 184,
803 184, 184, 184, 186, 185, 185, 187, 187, 187, 187,
804 188, 188, 189, 189, 189, 189, 189, 189, 189, 189,
805 189, 189, 189, 189, 189, 189, 189, 189, 189, 189,
806 189, 189, 189, 189, 189, 189, 190, 190, 191, 191,
807 191, 191, 192, 192, 193, 193, 193, 194, 194, 194,
808 194, 194, 194, 194, 194, 194, 194, 194, 194, 194,
809 194, 194, 194, 194, 194, 194, 194, 194, 194, 194,
810 194, 194, 195, 195, 195, 195, 195, 195, 196, 197,
811 197, 198, 198, 198, 199, 199, 199, 200, 200, 200,
812 200, 201, 201, 202, 202, 202, 202, 203, 203, 203,
813 203, 203, 203, 203, 204, 203, 203, 203, 203, 203,
814 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
815 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
816 203, 203, 203, 203, 203, 203, 203, 205, 205, 206,
817 206, 207, 207, 208, 208, 209, 210, 210, 211, 211,
818 211, 211, 211, 211, 212, 212, 213, 213, 214, 214,
819 214, 214, 214, 215, 215, 216, 216, 216, 216, 216,
820 216, 217, 217, 217, 217, 217, 218, 218, 218, 218,
821 218, 218, 219, 219, 219, 219, 220, 220, 221, 221,
822 221, 221, 221, 221, 221, 222, 222, 222, 223, 223,
823 224, 224, 225, 225, 226, 226, 228, 227, 227, 230,
824 229, 229, 231, 232, 234, 233, 233, 235, 235, 236,
825 236, 237, 238, 238, 239, 239, 239, 239, 239, 240,
826 240, 240, 240, 241, 241, 242, 242, 243, 243, 243,
827 243, 243, 244, 244, 244, 244, 244, 245, 246, 246,
828 246, 247, 247, 248, 248, 249, 249, 249, 251, 250,
829 250, 252, 250, 250, 250, 250, 250, 253, 254, 250,
830 250, 255, 255, 256, 256, 257, 257, 257, 257, 257,
831 258, 259, 260, 260, 260, 260, 260, 261, 262, 262,
832 262, 263, 264, 264, 265, 265, 265, 266, 266, 267,
833 267, 268, 268, 268, 268, 269, 269, 269, 269, 270,
834 271, 272, 272, 272, 272, 273, 273, 274, 274, 274,
835 274, 274, 274, 274, 274, 274, 274, 275, 275, 275,
836 275, 275, 275, 275, 275, 275, 276, 276, 276, 277,
837 277, 277, 278, 278, 279, 279, 280, 280, 281, 281,
838 281, 281, 282, 282, 283, 283, 283, 284, 284, 285,
839 285, 286, 286, 286, 287, 287, 288, 288, 289, 290,
840 291, 291, 291, 291, 292, 292, 292, 292, 292, 292,
841 293, 293, 294, 294, 294, 295, 296, 296, 296, 296,
842 296, 296, 297, 297, 297, 297, 297, 297, 298, 298,
843 298, 298, 298, 298, 299, 299, 299, 299, 299, 299,
844 300, 300, 301, 301, 302, 302, 303, 303, 303, 304,
845 304, 304, 305, 305, 305, 306, 306, 306, 306, 307,
846 307, 308, 308, 308, 308, 309, 309, 309, 309, 310,
847 310, 310, 310, 310, 310, 311, 312, 312, 312, 313,
848 313, 314, 315, 315, 315, 315, 315, 315, 315, 316,
849 316, 317, 317, 317, 317, 317, 317, 317, 317, 317,
850 317, 317, 318, 318, 318, 318, 318, 318, 318, 318,
851 318, 318, 318, 319, 319, 319, 319, 320, 321, 321,
852 322, 322, 323, 324, 324, 326, 325, 328, 329, 327,
853 330, 331, 330, 332, 332, 333, 333, 334, 333, 333,
854 335, 336, 333, 337, 338, 333, 339, 340, 341, 342,
855 333, 343, 344, 333, 345, 333, 346, 333, 347, 333,
856 333, 333, 333, 333, 333, 333, 333, 333, 333, 333,
857 333, 333, 333, 333, 349, 350, 348, 352, 353, 351,
858 354, 354, 356, 357, 355, 358, 358, 359, 359, 360,
859 360, 360, 360, 361, 361, 361, 362, 362, 363, 363,
860 363, 364, 364, 365, 365, 366, 367, 367, 368, 368,
861 368, 369, 369, 369, 369, 369, 369, 369, 369, 369,
862 369, 371, 370, 372, 372, 373, 373, 373, 373, 373,
863 374, 374, 375, 375, 375, 375, 375, 375, 376, 376,
864 377, 377, 378, 379, 379, 380, 380, 380, 381, 382,
865 382, 383, 383, 383, 383, 384, 385, 385, 385, 385,
866 385, 385, 385, 385, 385, 385, 385, 385, 385, 385,
867 385, 385, 385, 385, 385, 385, 385, 385, 385, 385,
868 385, 385, 385, 385, 385, 385, 385, 385, 385, 385,
869 385
870 };
871
872 static const short yyr2[] = { 0,
873 0, 1, 0, 2, 2, 1, 0, 0, 0, 1,
874 1, 1, 0, 2, 2, 1, 1, 5, 4, 5,
875 4, 0, 6, 0, 5, 5, 2, 4, 2, 2,
876 3, 3, 1, 1, 2, 2, 1, 2, 0, 5,
877 3, 1, 3, 1, 0, 2, 2, 3, 1, 3,
878 1, 3, 1, 3, 2, 2, 2, 3, 3, 2,
879 2, 2, 2, 2, 1, 1, 1, 0, 1, 2,
880 0, 1, 4, 3, 3, 0, 8, 5, 0, 9,
881 6, 0, 8, 5, 0, 9, 6, 2, 2, 1,
882 2, 1, 6, 4, 6, 4, 2, 1, 2, 2,
883 1, 2, 1, 2, 2, 4, 2, 3, 0, 0,
884 1, 3, 2, 3, 1, 4, 2, 4, 2, 4,
885 2, 1, 1, 1, 1, 1, 1, 1, 1, 1,
886 1, 1, 0, 6, 0, 6, 0, 5, 0, 5,
887 0, 7, 0, 7, 0, 6, 0, 6, 0, 0,
888 4, 4, 1, 4, 1, 1, 0, 1, 1, 3,
889 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
890 3, 1, 3, 0, 1, 1, 0, 7, 1, 1,
891 3, 4, 3, 0, 3, 1, 3, 3, 3, 3,
892 1, 1, 1, 2, 2, 2, 2, 2, 2, 2,
893 4, 2, 4, 2, 3, 3, 4, 4, 5, 5,
894 6, 2, 4, 5, 2, 2, 3, 3, 3, 1,
895 3, 2, 3, 4, 1, 2, 5, 1, 3, 3,
896 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
897 3, 3, 3, 3, 3, 3, 3, 5, 3, 3,
898 1, 2, 3, 1, 1, 1, 1, 1, 0, 5,
899 5, 5, 5, 5, 1, 1, 1, 1, 2, 2,
900 3, 4, 4, 1, 1, 1, 3, 1, 1, 1,
901 1, 3, 3, 3, 0, 4, 4, 2, 4, 2,
902 2, 1, 4, 1, 7, 7, 7, 7, 4, 4,
903 2, 2, 1, 4, 2, 2, 5, 3, 2, 2,
904 5, 3, 5, 3, 4, 6, 2, 1, 2, 1,
905 2, 1, 1, 1, 2, 0, 2, 2, 3, 3,
906 3, 2, 2, 2, 1, 1, 1, 2, 2, 2,
907 2, 1, 1, 1, 1, 2, 2, 3, 3, 3,
908 4, 1, 2, 2, 2, 1, 1, 1, 2, 2,
909 2, 1, 1, 2, 2, 3, 1, 2, 1, 1,
910 1, 4, 4, 4, 4, 1, 1, 1, 1, 3,
911 1, 3, 1, 3, 0, 4, 0, 6, 3, 0,
912 4, 1, 3, 3, 0, 4, 3, 0, 1, 1,
913 2, 6, 1, 3, 0, 1, 4, 6, 4, 1,
914 1, 1, 1, 1, 3, 0, 2, 1, 2, 3,
915 4, 1, 1, 3, 4, 3, 5, 1, 4, 3,
916 3, 0, 3, 3, 3, 0, 2, 2, 0, 7,
917 4, 0, 6, 3, 2, 2, 2, 0, 0, 9,
918 1, 0, 1, 0, 1, 1, 2, 2, 2, 2,
919 2, 2, 3, 4, 3, 2, 3, 0, 1, 3,
920 2, 2, 1, 1, 0, 2, 3, 1, 4, 1,
921 3, 1, 1, 4, 4, 2, 2, 3, 3, 1,
922 0, 1, 2, 4, 3, 1, 2, 2, 2, 2,
923 2, 2, 2, 1, 2, 2, 3, 2, 2, 4,
924 4, 2, 1, 5, 4, 1, 0, 1, 3, 0,
925 1, 3, 1, 1, 1, 1, 4, 4, 4, 4,
926 4, 3, 4, 4, 4, 4, 3, 1, 3, 1,
927 3, 2, 1, 6, 0, 2, 1, 2, 0, 2,
928 4, 4, 2, 4, 3, 3, 2, 2, 3, 1,
929 1, 2, 1, 1, 2, 2, 4, 4, 3, 3,
930 2, 1, 3, 3, 2, 2, 3, 1, 3, 3,
931 2, 2, 3, 1, 4, 3, 4, 3, 1, 2,
932 2, 2, 2, 2, 1, 2, 4, 4, 2, 1,
933 1, 1, 1, 2, 4, 2, 2, 2, 2, 1,
934 2, 2, 2, 2, 3, 1, 2, 3, 4, 2,
935 2, 2, 2, 2, 2, 4, 2, 1, 2, 2,
936 3, 1, 3, 2, 3, 2, 2, 3, 1, 3,
937 4, 3, 2, 2, 1, 3, 2, 2, 1, 2,
938 3, 1, 3, 1, 6, 4, 4, 3, 5, 3,
939 3, 3, 2, 1, 1, 2, 2, 2, 0, 1,
940 1, 2, 3, 1, 2, 0, 3, 0, 0, 5,
941 1, 0, 2, 1, 1, 1, 2, 0, 4, 1,
942 0, 0, 5, 0, 0, 7, 0, 0, 0, 0,
943 12, 0, 0, 7, 0, 5, 0, 7, 0, 4,
944 2, 2, 2, 3, 6, 8, 10, 12, 4, 3,
945 2, 2, 1, 1, 0, 0, 6, 0, 0, 5,
946 1, 2, 0, 0, 5, 1, 1, 3, 3, 2,
947 2, 2, 2, 2, 1, 2, 0, 1, 0, 1,
948 1, 0, 1, 1, 3, 4, 1, 3, 0, 1,
949 1, 1, 2, 2, 2, 1, 1, 2, 2, 2,
950 2, 0, 3, 1, 1, 1, 2, 2, 2, 4,
951 2, 2, 2, 2, 2, 2, 1, 2, 1, 2,
952 1, 1, 0, 0, 1, 0, 4, 2, 1, 1,
953 3, 0, 3, 3, 3, 1, 2, 2, 2, 2,
954 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
955 2, 2, 2, 2, 2, 2, 2, 2, 2, 3,
956 2, 2, 2, 2, 3, 2, 2, 4, 4, 3,
957 2
958 };
959
960 static const short yydefact[] = { 3,
961 13, 13, 5, 0, 4, 0, 256, 600, 601, 0,
962 358, 370, 547, 0, 11, 12, 0, 0, 0, 10,
963 456, 806, 0, 0, 0, 149, 632, 257, 258, 65,
964 0, 0, 793, 0, 37, 0, 0, 14, 0, 8,
965 0, 17, 16, 71, 92, 68, 0, 602, 153, 275,
966 254, 276, 578, 0, 345, 0, 344, 363, 0, 383,
967 362, 400, 369, 0, 469, 468, 475, 474, 473, 451,
968 357, 563, 371, 564, 90, 274, 589, 561, 0, 603,
969 545, 0, 0, 255, 63, 64, 157, 606, 157, 607,
970 157, 259, 149, 122, 123, 124, 125, 126, 442, 445,
971 0, 628, 0, 446, 0, 0, 0, 0, 123, 124,
972 125, 126, 24, 0, 0, 0, 0, 0, 0, 0,
973 447, 610, 0, 616, 0, 0, 0, 0, 0, 0,
974 30, 0, 0, 39, 0, 157, 608, 0, 0, 576,
975 0, 0, 0, 575, 0, 0, 0, 0, 275, 0,
976 549, 0, 274, 545, 29, 0, 27, 3, 38, 0,
977 56, 55, 72, 15, 0, 398, 0, 0, 416, 69,
978 61, 609, 549, 0, 545, 62, 0, 0, 0, 88,
979 0, 379, 335, 560, 336, 572, 0, 545, 360, 359,
980 60, 91, 346, 0, 381, 361, 89, 352, 376, 377,
981 347, 365, 367, 356, 378, 0, 57, 401, 457, 458,
982 459, 460, 472, 131, 130, 132, 461, 462, 466, 0,
983 0, 475, 793, 471, 490, 491, 548, 364, 0, 395,
984 601, 0, 630, 153, 593, 594, 590, 566, 604, 0,
985 565, 562, 0, 841, 837, 836, 834, 816, 821, 822,
986 0, 828, 827, 813, 814, 812, 831, 820, 817, 818,
987 819, 823, 824, 810, 811, 807, 808, 809, 833, 825,
988 826, 815, 832, 0, 829, 736, 363, 737, 802, 259,
989 256, 547, 279, 324, 0, 0, 0, 0, 320, 318,
990 292, 322, 323, 0, 0, 0, 0, 0, 258, 251,
991 0, 0, 164, 163, 0, 165, 166, 0, 0, 167,
992 0, 0, 158, 159, 0, 225, 0, 228, 162, 278,
993 193, 0, 0, 280, 281, 0, 161, 342, 363, 343,
994 595, 303, 294, 0, 0, 0, 0, 157, 0, 444,
995 0, 439, 0, 629, 627, 0, 168, 169, 0, 0,
996 0, 405, 3, 22, 0, 624, 620, 621, 623, 625,
997 622, 122, 123, 124, 0, 125, 126, 612, 613, 617,
998 614, 611, 266, 267, 0, 265, 33, 34, 0, 592,
999 591, 32, 31, 41, 0, 358, 139, 0, 0, 363,
1000 137, 0, 0, 574, 0, 573, 253, 270, 0, 582,
1001 269, 0, 581, 0, 277, 586, 0, 0, 13, 0,
1002 149, 9, 9, 0, 397, 399, 104, 75, 109, 725,
1003 0, 67, 66, 74, 107, 0, 0, 105, 70, 588,
1004 0, 0, 553, 0, 796, 0, 558, 0, 557, 0,
1005 0, 0, 0, 545, 398, 0, 59, 549, 545, 571,
1006 0, 349, 350, 0, 58, 398, 354, 353, 355, 348,
1007 368, 385, 384, 463, 467, 465, 0, 470, 476, 0,
1008 0, 366, 398, 545, 76, 0, 0, 0, 0, 545,
1009 82, 546, 577, 601, 631, 153, 0, 0, 830, 835,
1010 365, 545, 545, 0, 545, 840, 157, 0, 0, 0,
1011 200, 0, 0, 202, 215, 216, 0, 0, 0, 0,
1012 0, 252, 199, 196, 195, 197, 0, 0, 0, 0,
1013 0, 278, 0, 0, 0, 194, 155, 156, 272, 0,
1014 198, 0, 0, 226, 0, 0, 0, 0, 0, 0,
1015 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1016 0, 0, 0, 0, 0, 0, 288, 290, 291, 328,
1017 327, 0, 0, 0, 0, 0, 204, 543, 0, 212,
1018 325, 317, 0, 0, 793, 306, 309, 310, 0, 0,
1019 337, 649, 645, 654, 0, 549, 545, 545, 545, 339,
1020 652, 0, 599, 341, 0, 0, 340, 305, 0, 301,
1021 319, 321, 596, 0, 302, 152, 154, 0, 147, 0,
1022 363, 145, 540, 454, 538, 441, 0, 0, 372, 0,
1023 0, 373, 374, 375, 411, 412, 413, 410, 0, 403,
1024 406, 0, 3, 0, 615, 157, 618, 28, 36, 35,
1025 45, 0, 0, 0, 49, 53, 42, 792, 787, 0,
1026 342, 363, 45, 343, 791, 51, 150, 135, 133, 150,
1027 151, 273, 580, 579, 277, 583, 0, 19, 21, 71,
1028 0, 110, 326, 0, 676, 73, 674, 422, 0, 418,
1029 417, 192, 0, 191, 550, 587, 0, 766, 767, 0,
1030 761, 363, 0, 760, 762, 794, 776, 0, 0, 585,
1031 556, 555, 0, 0, 570, 0, 393, 392, 380, 569,
1032 0, 796, 559, 351, 382, 394, 398, 464, 600, 601,
1033 793, 0, 793, 602, 477, 478, 480, 793, 483, 482,
1034 0, 513, 601, 0, 504, 0, 0, 516, 0, 103,
1035 98, 0, 153, 517, 520, 0, 496, 0, 101, 0,
1036 398, 396, 796, 759, 157, 157, 605, 157, 796, 759,
1037 545, 79, 545, 85, 839, 838, 802, 802, 802, 0,
1038 0, 0, 0, 599, 0, 0, 0, 0, 363, 0,
1039 0, 0, 284, 0, 282, 283, 0, 223, 160, 256,
1040 600, 601, 257, 258, 0, 0, 423, 452, 0, 250,
1041 249, 751, 750, 0, 247, 246, 244, 245, 243, 242,
1042 241, 238, 239, 240, 236, 237, 231, 232, 233, 234,
1043 235, 229, 230, 0, 0, 0, 0, 0, 0, 206,
1044 220, 0, 0, 205, 545, 545, 0, 545, 542, 639,
1045 0, 0, 0, 0, 0, 308, 0, 312, 0, 314,
1046 0, 648, 647, 644, 643, 792, 0, 0, 663, 0,
1047 0, 796, 338, 796, 650, 545, 759, 549, 649, 645,
1048 0, 0, 545, 0, 0, 0, 0, 0, 260, 150,
1049 143, 141, 150, 0, 455, 0, 454, 190, 189, 188,
1050 187, 405, 0, 0, 25, 0, 26, 619, 0, 47,
1051 44, 45, 0, 40, 0, 0, 649, 645, 0, 783,
1052 545, 786, 788, 0, 784, 785, 46, 461, 0, 140,
1053 150, 150, 138, 18, 20, 386, 127, 115, 128, 129,
1054 0, 108, 111, 0, 0, 0, 0, 675, 669, 419,
1055 0, 106, 554, 551, 765, 782, 771, 769, 0, 552,
1056 764, 781, 770, 768, 763, 795, 778, 789, 779, 772,
1057 777, 798, 0, 390, 568, 567, 389, 487, 0, 486,
1058 793, 793, 793, 0, 545, 759, 512, 505, 517, 506,
1059 398, 398, 502, 503, 500, 501, 545, 759, 256, 600,
1060 0, 385, 99, 508, 518, 523, 524, 385, 385, 0,
1061 0, 385, 97, 509, 521, 385, 497, 498, 499, 398,
1062 0, 448, 78, 0, 0, 0, 0, 84, 0, 796,
1063 759, 796, 759, 804, 803, 805, 261, 293, 201, 203,
1064 299, 300, 0, 0, 0, 0, 283, 286, 0, 0,
1065 0, 0, 224, 0, 287, 289, 218, 217, 208, 0,
1066 207, 222, 0, 0, 636, 634, 0, 637, 549, 213,
1067 0, 0, 157, 315, 0, 0, 0, 646, 642, 653,
1068 545, 662, 660, 661, 651, 796, 0, 658, 0, 597,
1069 598, 0, 304, 148, 150, 150, 146, 541, 539, 443,
1070 0, 404, 402, 256, 0, 23, 626, 48, 43, 50,
1071 54, 648, 644, 649, 645, 0, 561, 0, 545, 650,
1072 52, 136, 134, 0, 113, 0, 117, 0, 119, 0,
1073 121, 0, 726, 0, 180, 677, 0, 670, 671, 0,
1074 420, 649, 645, 0, 278, 0, 595, 790, 0, 0,
1075 799, 800, 0, 0, 387, 0, 0, 0, 489, 488,
1076 481, 796, 0, 507, 416, 416, 796, 0, 0, 0,
1077 398, 398, 0, 398, 398, 0, 398, 0, 416, 0,
1078 436, 545, 263, 262, 264, 545, 81, 0, 87, 0,
1079 0, 0, 0, 0, 0, 426, 0, 424, 227, 248,
1080 0, 209, 210, 219, 221, 635, 633, 640, 638, 0,
1081 214, 0, 0, 307, 311, 313, 796, 656, 545, 657,
1082 144, 142, 440, 0, 407, 409, 648, 644, 566, 650,
1083 114, 112, 0, 0, 0, 0, 414, 0, 0, 256,
1084 600, 601, 678, 691, 694, 697, 702, 0, 0, 0,
1085 0, 0, 0, 257, 723, 728, 0, 747, 0, 686,
1086 0, 0, 363, 0, 665, 684, 690, 664, 685, 724,
1087 0, 672, 421, 0, 598, 780, 774, 775, 773, 0,
1088 797, 391, 0, 484, 485, 479, 94, 545, 511, 515,
1089 96, 545, 398, 398, 532, 416, 256, 600, 0, 519,
1090 525, 526, 385, 385, 416, 416, 0, 416, 522, 510,
1091 0, 796, 796, 545, 545, 0, 0, 0, 0, 425,
1092 0, 0, 211, 641, 316, 262, 659, 796, 0, 116,
1093 118, 120, 733, 727, 731, 0, 673, 668, 183, 740,
1094 742, 743, 0, 0, 682, 0, 0, 0, 709, 711,
1095 712, 713, 0, 0, 0, 741, 0, 334, 748, 0,
1096 687, 332, 385, 0, 333, 0, 385, 0, 0, 0,
1097 181, 667, 666, 688, 722, 721, 283, 801, 388, 796,
1098 796, 531, 528, 530, 0, 0, 398, 398, 398, 527,
1099 529, 514, 438, 0, 437, 432, 77, 83, 796, 796,
1100 295, 296, 297, 298, 427, 544, 655, 408, 0, 732,
1101 415, 172, 0, 679, 692, 681, 0, 0, 0, 0,
1102 0, 705, 0, 714, 0, 720, 729, 0, 330, 331,
1103 0, 0, 0, 329, 182, 682, 93, 95, 398, 398,
1104 537, 416, 416, 0, 0, 450, 80, 86, 0, 734,
1105 179, 0, 363, 0, 682, 0, 695, 683, 669, 745,
1106 698, 0, 0, 0, 0, 710, 719, 0, 0, 689,
1107 536, 534, 533, 535, 435, 434, 428, 68, 71, 0,
1108 0, 0, 173, 385, 680, 184, 693, 186, 0, 746,
1109 0, 744, 703, 707, 706, 730, 752, 0, 0, 433,
1110 738, 739, 735, 398, 669, 170, 0, 0, 176, 0,
1111 175, 682, 0, 0, 0, 753, 754, 715, 431, 0,
1112 430, 0, 185, 0, 696, 699, 704, 708, 0, 752,
1113 0, 0, 429, 177, 171, 0, 0, 0, 716, 755,
1114 0, 0, 756, 0, 0, 178, 700, 757, 0, 717,
1115 0, 0, 0, 701, 758, 718, 0, 0, 0
1116 };
1117
1118 static const short yydefgoto[] = { 1547,
1119 409, 2, 410, 160, 669, 311, 165, 3, 4, 38,
1120 633, 353, 738, 375, 40, 739, 385, 644, 900, 645,
1121 646, 647, 42, 43, 421, 168, 164, 44, 740, 754,
1122 1021, 760, 1023, 46, 741, 742, 169, 170, 422, 672,
1123 932, 933, 613, 934, 218, 47, 922, 921, 660, 657,
1124 1086, 1085, 883, 880, 135, 920, 48, 49, 529, 312,
1125 313, 314, 315, 1249, 1498, 1404, 1500, 1442, 1531, 1126,
1126 1477, 1495, 347, 872, 316, 566, 834, 317, 318, 348,
1127 320, 338, 51, 236, 377, 398, 52, 53, 321, 524,
1128 322, 323, 324, 325, 423, 326, 1250, 462, 588, 327,
1129 1251, 55, 201, 650, 328, 202, 502, 203, 181, 194,
1130 59, 445, 463, 1273, 707, 1144, 182, 195, 60, 473,
1131 708, 61, 62, 629, 630, 631, 1228, 428, 797, 798,
1132 1468, 1469, 1436, 1385, 1301, 63, 617, 341, 1171, 1386,
1133 1042, 886, 64, 65, 66, 67, 222, 68, 69, 70,
1134 224, 725, 726, 727, 728, 226, 470, 471, 746, 747,
1135 748, 994, 1004, 995, 1290, 996, 997, 1291, 1292, 614,
1136 615, 567, 862, 330, 431, 432, 175, 183, 72, 73,
1137 74, 184, 185, 152, 76, 131, 331, 332, 333, 78,
1138 334, 80, 730, 122, 123, 124, 478, 104, 81, 335,
1139 839, 840, 857, 591, 1254, 1255, 1127, 1128, 1129, 676,
1140 1256, 939, 1257, 1333, 1445, 1407, 1408, 1258, 1259, 1426,
1141 1334, 1446, 1335, 1479, 1336, 1481, 1526, 1541, 1337, 1502,
1142 1455, 1503, 1413, 424, 673, 1226, 1260, 1347, 1458, 1324,
1143 1325, 1399, 1472, 1444, 1440, 1261, 1451, 1350, 804, 1505,
1144 1506, 1507, 1539, 693, 694, 961, 1140, 1269, 695, 696,
1145 697, 957, 698, 145, 959, 700, 1142, 1143, 496, 83,
1146 84
1147 };
1148
1149 static const short yypact[] = { 125,
1150 130,-32768,-32768, 3240,-32768, 195, 72, 188, 284, 151,
1151 102,-32768,-32768, 1117,-32768,-32768, 136, 176, 198,-32768,
1152 -32768,-32768, 1085, 1187, 1489, 256,-32768, 304, 367,-32768,
1153 2407, 2407,-32768, 4859,-32768, 3240, 294,-32768, 352, 91,
1154 5970,-32768,-32768, 208, 1265, 379, 356, 372,-32768,-32768,
1155 -32768,-32768, 330, 2553,-32768, 10199,-32768, 1350, 498,-32768,
1156 423,-32768,-32768, 1046,-32768,-32768, 399,-32768,-32768, 417,
1157 4154,-32768,-32768,-32768, 784,-32768,-32768,-32768, 849,-32768,
1158 -32768, 508, 5609, 408,-32768,-32768, 9052,-32768, 9052,-32768,
1159 9052,-32768,-32768,-32768, 188, 284, 304, 445, 453, 492,
1160 372,-32768, 1409,-32768, 508, 9052, 9052, 480,-32768,-32768,
1161 -32768,-32768,-32768, 64, 528, 368, 383, 478, 538, 553,
1162 -32768,-32768, 564,-32768, 572, 188, 284, 1112, 304, 445,
1163 -32768, 855, 467, 509, 10350, 9052,-32768, 9052, 2926,-32768,
1164 1285, 543, 2926,-32768, 1090, 3033, 3033, 4859, 524, 547,
1165 517, 552, 555,-32768,-32768, 627,-32768, 556,-32768, 10084,
1166 195,-32768,-32768,-32768, 582, 423, 691, 145, 179, 624,
1167 -32768,-32768, 592, 250,-32768,-32768, 3416, 3416, 4989, 784,
1168 591,-32768,-32768, 387,-32768,-32768, 2806,-32768,-32768,-32768,
1169 -32768,-32768, 1350, 641,-32768, 423, 784,-32768,-32768,-32768,
1170 1578, 1350,-32768, 423,-32768, 5186,-32768,-32768,-32768,-32768,
1171 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 372, 988,
1172 1434, 399,-32768,-32768,-32768,-32768,-32768, 682, 508,-32768,
1173 497, 963,-32768, 271,-32768,-32768,-32768,-32768,-32768, 3988,
1174 -32768,-32768, 590,-32768, 617, 620,-32768,-32768,-32768,-32768,
1175 658,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1176 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1177 -32768,-32768,-32768, 616,-32768,-32768, 682, 4154, 1158,-32768,
1178 -32768, 646,-32768,-32768, 9667, 9754, 9841, 9841,-32768,-32768,
1179 -32768,-32768,-32768, 668, 701, 711, 721, 732, 445, 9139,
1180 1090, 9841,-32768,-32768, 9841,-32768,-32768, 9841, 7165,-32768,
1181 9841, 223, 683,-32768, 9841,-32768, 9226,-32768, 10446,-32768,
1182 1514, 1785, 9313,-32768, 799, 2426,-32768, 953, 3686, 4007,
1183 -32768, 307,-32768, 1524, 1858, 223, 223, 9052, 10350,-32768,
1184 1090, 703, 1090,-32768,-32768, 708, 768, 10596, 724, 733,
1185 738, 945, 556,-32768, 1112,-32768,-32768,-32768,-32768,-32768,
1186 -32768, 528, 368, 383, 1090, 478, 538, 793, 553,-32768,
1187 776,-32768, 188, 284, 814,-32768,-32768,-32768, 467,-32768,
1188 -32768,-32768,-32768,-32768, 4967,-32768,-32768, 5186, 5373, 1679,
1189 -32768, 223, 809,-32768, 775,-32768,-32768,-32768, 2926,-32768,
1190 -32768, 2926,-32768, 760,-32768,-32768, 3988, 87, 761, 777,
1191 -32768,-32768,-32768, 627,-32768, 423,-32768,-32768,-32768,-32768,
1192 148,-32768,-32768,-32768,-32768, 7257, 9139,-32768,-32768,-32768,
1193 9139, 779,-32768, 6493, 100, 4306,-32768, 4306,-32768, 4584,
1194 4584, 4989, 790,-32768, 423, 5186,-32768, 783,-32768,-32768,
1195 4619, 1578, 1350, 5186,-32768, 423,-32768,-32768, 423, 1578,
1196 -32768, 811,-32768,-32768, 372,-32768, 988,-32768, 1220, 1675,
1197 57, 682, 423,-32768,-32768, 836, 852, 876, 858,-32768,
1198 -32768,-32768,-32768, 532,-32768, 338, 821, 826,-32768,-32768,
1199 682,-32768,-32768, 822,-32768,-32768, 9052, 9139, 646, 7165,
1200 -32768, 437, 7165,-32768,-32768,-32768, 9052, 5977, 5977, 5977,
1201 5977, 10641,-32768,-32768,-32768,-32768, 832, 9928, 9928, 7165,
1202 851, 524, 863, 887, 867,-32768,-32768,-32768,-32768, 9052,
1203 -32768, 6790, 7165,-32768, 9139, 9139, 7349, 9139, 9139, 9139,
1204 9139, 9139, 9139, 9139, 9139, 9139, 9139, 9139, 9139, 9139,
1205 9139, 9139, 9139, 9139, 9139, 9139,-32768,-32768,-32768,-32768,
1206 -32768, 9139, 9139, 9139, 9052, 2857, 366, 440, 7988,-32768,
1207 -32768,-32768, 880, 963, 972, 444, 523, 530, 2780, 543,
1208 -32768, 1687, 1687,-32768, 4837, 868, 877, 948,-32768,-32768,
1209 502, 8495, 725,-32768, 860, 508,-32768,-32768, 9139,-32768,
1210 -32768,-32768,-32768, 249,-32768,-32768,-32768, 223,-32768, 5186,
1211 1998,-32768, 933, 939,-32768,-32768, 1090, 793,-32768, 7717,
1212 7809,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 79,-32768,
1213 906, 895, 556, 951, 961, 9052,-32768,-32768,-32768,-32768,
1214 1386, 256, 990, 206, 970, 971,-32768,-32768, 2152, 10406,
1215 2152, 4432, 1046, 10143,-32768, 973,-32768,-32768,-32768,-32768,
1216 -32768,-32768,-32768,-32768, 929,-32768, 979,-32768,-32768, 208,
1217 89, 460, 993, 887,-32768,-32768,-32768,-32768, 6695, 10641,
1218 -32768, 768, 947, 10596,-32768,-32768, 952,-32768,-32768, 967,
1219 160, 5318, 969,-32768, 169, 5796, 996, 1015, 561,-32768,
1220 -32768,-32768, 4306, 4306,-32768, 4619,-32768, 1016,-32768,-32768,
1221 995, 100,-32768, 1578,-32768,-32768, 423,-32768, 368, 383,
1222 -32768, 964,-32768, 553, 1022,-32768,-32768, 120,-32768,-32768,
1223 1492,-32768, 589, 669,-32768, 9139, 5517,-32768, 5517, 335,
1224 335, 217, 585, 2595, 10244, 2284,-32768, 225, 335, 1043,
1225 423,-32768, 100, 2575, 9052, 9052,-32768, 9052, 100, 2575,
1226 -32768,-32768,-32768,-32768,-32768,-32768, 649, 649, 649, 223,
1227 975, 1000, 9406, 948, 1004, 1014, 1019, 1059, 4066, 1060,
1228 1074, 1079,-32768, 1058,-32768,-32768, 1068,-32768,-32768, 1118,
1229 787, 900, 65, 431, 9139, 1120,-32768, 1124, 1070, 10641,
1230 10641,-32768,-32768, 1123, 5412, 5667, 3513, 5693, 4244, 3542,
1231 3712, 1983, 1983, 1983, 1691, 1691, 1237, 1237, 756, 756,
1232 756,-32768,-32768, 1084, 1082, 1086, 1095, 1097, 5977, 366,
1233 -32768, 7257, 9139,-32768,-32768,-32768, 9139,-32768,-32768, 1105,
1234 9841, 1099, 1119, 1136, 1166,-32768, 9139,-32768, 9139,-32768,
1235 9139, 2683,-32768, 2683,-32768, 140, 1109, 1110,-32768, 1113,
1236 5977, 100,-32768, 100, 4679,-32768, 2575, 1125, 8687, 8687,
1237 6301, 1121, 9226, 1122, 3050, 1858, 984, 1130,-32768,-32768,
1238 -32768,-32768,-32768, 9139, 1090, 1138, 939,-32768, 10641,-32768,
1239 10641, 945, 1137, 9493,-32768, 1141,-32768,-32768, 223,-32768,
1240 -32768, 1364, 4967,-32768, 5977, 9052, 2037, 2037, 3864,-32768,
1241 -32768,-32768,-32768, 2806,-32768,-32768,-32768, 61, 9139,-32768,
1242 -32768,-32768,-32768,-32768,-32768,-32768, 528,-32768, 478, 538,
1243 9139, 1170,-32768, 587, 601, 622, 887,-32768, 71,-32768,
1244 55,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 8591,-32768,
1245 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 1015, 1168,-32768,
1246 -32768,-32768, 5977,-32768,-32768,-32768, 1190,-32768, 9052,-32768,
1247 -32768,-32768,-32768, 1345,-32768, 2575, 10641,-32768, 1904,-32768,
1248 423, 423,-32768,-32768,-32768,-32768,-32768, 2575, 232, 915,
1249 9139, 811,-32768, 1196,-32768,-32768,-32768, 343, 391, 849,
1250 543, 686, 335, 1199,-32768, 901,-32768,-32768,-32768, 423,
1251 4219,-32768,-32768, 1154, 223, 223, 223,-32768, 1157, 100,
1252 2575, 100, 2575,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1253 -32768,-32768, 1175, 1176, 1177, 1179, 929,-32768, 10528, 7257,
1254 6885, 1163,-32768, 9139,-32768,-32768,-32768,-32768, 825, 1172,
1255 -32768,-32768, 1173, 66, 285, 285, 1167, 285,-32768,-32768,
1256 9841, 1268, 9052,-32768, 1185, 1186, 1188,-32768,-32768,-32768,
1257 -32768,-32768,-32768,-32768,-32768, 100, 1191,-32768, 1192,-32768,
1258 -32768, 3120,-32768,-32768,-32768,-32768,-32768, 10641,-32768,-32768,
1259 1189,-32768,-32768, 227, 1197,-32768,-32768,-32768,-32768,-32768,
1260 -32768, 2938, 2938, 3140, 3140, 3864,-32768, 2806,-32768, 3487,
1261 10446,-32768,-32768, 1200,-32768, 460,-32768, 9139,-32768, 9139,
1262 -32768, 9139,-32768, 1090,-32768,-32768, 6207, 1275,-32768, 6977,
1263 -32768, 8780, 8780, 6397, 183, 1205, 254,-32768, 7257, 7069,
1264 -32768,-32768, 240, 7257,-32768, 1214, 1218, 1220,-32768,-32768,
1265 -32768, 100, 1219,-32768, 1266, 1266, 100, 1222, 9139, 9139,
1266 10506, 423, 3309, 423, 423, 1160, 423, 4478, 1266, 5125,
1267 -32768,-32768,-32768, 1278,-32768,-32768,-32768, 1225,-32768, 1226,
1268 9139, 9139, 9139, 9139, 7257,-32768, 1276,-32768,-32768, 10641,
1269 9139,-32768, 825,-32768,-32768,-32768,-32768,-32768,-32768, 1228,
1270 -32768, 1290, 223,-32768,-32768,-32768, 100,-32768,-32768,-32768,
1271 -32768,-32768,-32768, 9139,-32768,-32768, 2938, 2938,-32768, 3487,
1272 -32768,-32768, 1234, 1236, 1244, 1250,-32768, 786, 242, 1297,
1273 1021, 1023,-32768,-32768,-32768,-32768,-32768, 9139, 1300, 1304,
1274 1309, 8873, 257, 415,-32768,-32768, 8965, 1366, 1316,-32768,
1275 4706, 10305, 10451, 6095,-32768,-32768, 1362,-32768,-32768,-32768,
1276 8099,-32768,-32768, 1273, 1916,-32768,-32768,-32768,-32768, 5977,
1277 -32768,-32768, 7257,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1278 -32768,-32768, 10506, 10506,-32768, 1266, 695, 1083, 9139,-32768,
1279 -32768,-32768, 811, 811, 1266, 1266, 532, 1266,-32768,-32768,
1280 5854, 100, 100,-32768,-32768, 1282, 1284, 1298, 1308,-32768,
1281 7257, 1310,-32768,-32768,-32768,-32768,-32768, 100, 1314,-32768,
1282 -32768,-32768,-32768, 1250,-32768, 1090,-32768,-32768,-32768,-32768,
1283 -32768,-32768, 629, 629, 887, 1292, 1294, 10484,-32768,-32768,
1284 -32768,-32768, 1334, 9139, 1369,-32768, 887,-32768,-32768, 1338,
1285 -32768,-32768, 811, 823,-32768, 861, 811, 9580, 864, 266,
1286 -32768,-32768,-32768,-32768,-32768,-32768, 339,-32768,-32768, 100,
1287 100,-32768,-32768,-32768, 9139, 9139, 10506, 423, 423,-32768,
1288 -32768,-32768,-32768, 7901,-32768,-32768,-32768,-32768, 100, 100,
1289 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1339,-32768,
1290 -32768,-32768, 9052,-32768,-32768,-32768, 1435, 8401, 6603, 9052,
1291 9139,-32768, 8209,-32768, 1394,-32768,-32768, 627,-32768,-32768,
1292 10015, 10015, 7441,-32768,-32768, 887,-32768,-32768, 10506, 10506,
1293 -32768, 1266, 1266, 1347, 10550, 1358,-32768,-32768, 5257,-32768,
1294 -32768, 1349, 443, 5186, 887, 8305,-32768,-32768, 71,-32768,
1295 -32768, 1402, 1359, 10619, 8209,-32768,-32768, 1250, 78,-32768,
1296 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 379, 208, 1360,
1297 1361, 887,-32768, 811,-32768,-32768,-32768,-32768, 638,-32768,
1298 7533,-32768,-32768,-32768,-32768, 1250, 1457, 1411, 156,-32768,
1299 -32768,-32768,-32768, 423, 71,-32768, 9139, 1413,-32768, 1414,
1300 -32768, 887, 8209, 1382, 53, 1418,-32768,-32768,-32768, 148,
1301 -32768, 1415,-32768, 1371,-32768,-32768,-32768,-32768, 9139, 1457,
1302 1421, 1457,-32768,-32768,-32768, 7625, 1373, 158,-32768,-32768,
1303 7257, 1377,-32768, 1479, 1439,-32768,-32768,-32768, 301,-32768,
1304 8305, 1490, 1442,-32768,-32768,-32768, 1508, 1509,-32768
1305 };
1306
1307 static const short yypgoto[] = {-32768,
1308 1511,-32768, -303,-32768, 1101, 18, -1, 1515,-32768, 192,
1309 -32768,-32768, 519, 1161,-32768, 5,-32768,-32768, -623,-32768,
1310 -32768, 615,-32768, 1363, -668, 83, -664, 1392, 30,-32768,
1311 -32768,-32768,-32768,-32768, 774,-32768,-32768,-32768,-32768,-32768,
1312 -32768, 404, 661,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1313 -32768,-32768,-32768,-32768, 1440, -611, 5315, 32, -317, 44,
1314 1416, -503,-32768, 103,-32768, 222,-32768, -1302,-32768, -756,
1315 17,-32768, 1320, 1586, -262,-32768, -794, 1774, -110, 1098,
1316 3500, 1281,-32768, -87, -55, 1580, -77, 27,-32768,-32768,
1317 -32768, -319,-32768, -155,-32768,-32768, -1156, -47, -316, 2413,
1318 58, -240, -120, 52, 76, -181, -4, -144, -610, 312,
1319 -32768, 68, 73,-32768, -337,-32768,-32768,-32768,-32768,-32768,
1320 374, 1115, 20,-32768, 673,-32768,-32768, -1049, -422, 890,
1321 -32768,-32768,-32768,-32768,-32768, -32,-32768,-32768,-32768,-32768,
1322 -32768, 685, -360,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1323 1348,-32768, 426, 602,-32768,-32768,-32768,-32768, 566, -686,
1324 -32768,-32768,-32768,-32768,-32768,-32768, 833,-32768, 412, 966,
1325 704, 1024, 3968, 7, 51, -431, 1407, 3322, -438,-32768,
1326 19,-32768, 3079, -118, 247, -59, 3948, 1271,-32768, 4653,
1327 1794, 1660, -16, -115,-32768, 1471, -81,-32768, 4369, 2696,
1328 -290,-32768, 2504,-32768,-32768, 344,-32768,-32768, 471, 93,
1329 -353,-32768,-32768,-32768,-32768, -1262,-32768, -1191, -1324,-32768,
1330 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1331 -32768,-32768,-32768, 115,-32768,-32768,-32768,-32768,-32768, 153,
1332 -1232,-32768,-32768, -65,-32768,-32768,-32768,-32768, -1312, 92,
1333 -32768, 94,-32768, -616, -520, 660,-32768,-32768,-32768,-32768,
1334 -371,-32768, -364, -179,-32768, 681, 349,-32768, -394,-32768,
1335 -217
1336 };
1337
1338
1339 #define YYLAST 10726
1340
1341
1342 static const short yytable[] = { 58,
1343 408, 237, 37, 681, 937, 925, 180, 121, 41, 372,
1344 71, 453, 593, 655, 479, 602, 711, 279, 606, 607,
1345 656, 36, 501, 504, 653, 205, 789, 400, 403, 917,
1346 729, 58, 102, 45, 37, 1051, 58, 139, 143, 37,
1347 41, 371, 71, 469, 380, 41, 472, 71, 923, 632,
1348 978, 193, 980, 36, 534, 56, 458, 461, 36, 1007,
1349 151, 54, 1363, 237, 858, 45, 228, 677, 378, 1366,
1350 45, 858, 452, 383, 661, 662, 381, 382, 277, 57,
1351 208, 460, 329, 1448, 329, 192, 329, 56, 571, 278,
1352 1348, 1400, 56, 54, 750, 491, 1452, 571, 54, 571,
1353 241, 329, 329, 174, 1124, 1279, 1280, 1453, 482, 237,
1354 234, 57, 166, 581, 1130, 1520, 57, 605, 716, 1300,
1355 -44, 1478, 354, 344, -1, -44, 972, -125, 355, -2,
1356 390, 329, 336, 329, 337, 752, -44, 1014, 892, 136,
1357 1487, 71, 230, 1019, 649, 418, 87, 491, 674, 158,
1358 93, 945, 399, 402, 860, 58, 1509, 973, 276, 773,
1359 205, 699, 1521, 1460, 387, 1131, 71, 751, 205, 205,
1360 787, 945, 151, 151, 151, 1195, 505, 506, 1501, 392,
1361 951, 1125, 1475, 436, 438, 774, 389, 1488, 893, 45,
1362 159, 514, 388, 649, 515, 205, 667, 516, 926, 946,
1363 526, 174, 947, -326, 531, 151, 675, 419, 346, 350,
1364 57, 56, 570, 1532, -326, 208, 1478, 54, 419, 946,
1365 1534, 1456, 947, 208, -792, 92, 425, 155, 952, 106,
1366 -275, 953, 162, 935, 174, 57, 1374, 948, 576, 1517,
1367 420, 983, 88, 426, 205, 1380, 1381, 241, 1382, 788,
1368 1077, 420, 1450, 1400, 1192, 85, 568, 948, 671, 94,
1369 109, 110, 89, 1485, 456, 903, 954, 1535, 1084, 107,
1370 577, 1087, 427, 228, 486, 984, -275, -275, 1098, 985,
1371 153, 904, 902, 635, 602, 1008, 1214, 289, 126, 127,
1372 879, 108, -268, 482, 1159, 378, 205, 433, 527, 1270,
1373 528, -589, 1328, 27, 329, 86, 87, 458, 461, 1112,
1374 1113, 1518, 986, 111, 112, 458, 163, 277, 480, 640,
1375 938, 400, 403, 639, 655, 228, 1328, 461, 278, 896,
1376 134, 958, 714, 329, 611, 1009, 1215, 1344, 90, 27,
1377 658, 129, 130, 434, 649, 71, 461, -589, -589, 1271,
1378 858, 649, 1329, 241, 598, 835, 479, 205, 91, 1153,
1379 1542, 15, 16, -589, 481, 836, -385, -335, 609, 15,
1380 16, 1158, 1024, 1025, 1026, 593, 1425, -549, 136, 837,
1381 652, 608, 1463, 1464, 193, 763, -277, 156, 858, 643,
1382 389, 654, 153, 153, 153, -385, 610, 276, 1313, -385,
1383 599, -335, 1101, 167, 1178, -335, 1180, 514, 515, 1052,
1384 1543, 521, 157, 831, 57, -336, 171, 15, 16, 205,
1385 205, 137, 357, -549, 173, 153, 172, 205, 858, 692,
1386 832, 764, -277, -277, -549, 208, 1079, 358, -335, 205,
1387 654, 138, 89, 126, 127, -385, 703, 704, -271, -336,
1388 199, 200, 1027, -336, 19, 649, 14, 91, 205, 833,
1389 651, 223, 927, 719, 720, 58, 151, 151, 151, 281,
1390 373, 374, 10, 1211, 1212, 225, 71, 1346, 208, 21,
1391 -549, 448, 280, 1007, 581, 137, -336, 737, 24, 136,
1392 581, 846, 329, -126, 27, 329, 129, 130, 329, 137,
1393 568, 743, 329, 779, 779, 779, 779, 928, 22, 651,
1394 835, 8, 9, 649, 27, 329, 929, 930, 709, 649,
1395 836, 745, 39, 28, 299, 329, 715, 744, 329, 717,
1396 773, 655, 359, 685, 837, 729, 773, 847, 656, 415,
1397 770, 968, 653, 970, 474, 57, 126, 127, 974, 866,
1398 342, 90, 136, 931, 39, 33, 602, 206, 207, 39,
1399 329, 277, 881, 340, 129, 130, 362, 363, 364, 458,
1400 848, 91, 278, 352, 115, 116, 117, 850, 205, 761,
1401 652, 1097, 356, 1123, 384, 858, 90, 692, 852, 854,
1402 475, 654, 360, 8, 484, 867, 868, 491, 654, 129,
1403 130, 910, 521, 915, 916, 521, 91, 361, 962, 776,
1404 534, 173, 365, 858, 241, 372, 849, 1186, 1188, 205,
1405 366, 367, 521, 851, 121, 762, 649, 1200, 118, 119,
1406 649, 329, 987, -268, 1117, 521, 975, 284, 343, 803,
1407 1354, 276, 1359, 90, 916, 193, 129, 130, 1119, 228,
1408 446, 447, 126, 127, 963, 936, 405, 482, 605, 205,
1409 651, 406, 649, 91, -584, 825, -7, 651, 649, 1121,
1410 485, 842, 126, 127, 100, 414, 1402, 935, 988, 899,
1411 1118, 205, 976, 114, 429, 1496, 153, 153, 153, 199,
1412 200, 652, 1480, 417, 1120, 14, 993, 1173, 1174, 1175,
1413 454, 455, 654, 27, 430, 129, 130, 1188, 649, 729,
1414 -102, 487, 15, 16, 488, 1122, 1266, 1268, 21, 492,
1415 489, 1272, 1403, 27, 217, 129, 130, 24, 490, 493,
1416 1060, 1497, 58, -545, 58, 649, -545, 774, 1513, 498,
1417 193, 58, 530, 71, -102, 71, 205, 649, -102, 652,
1418 329, 329, 71, 329, 737, 652, 737, 1375, 514, 515,
1419 654, 507, 1310, 737, 1196, 1197, 654, 1199, 743, 87,
1420 743, 651, 863, 992, 1002, 508, 743, 743, 126, 127,
1421 649, -102, 649, 368, -545, 509, -545, -545, 745, -545,
1422 745, 1148, 1149, 1150, 744, 510, 979, 745, 1015, 1016,
1423 -545, 1017, -545, 744, 1490, 397, 511, 981, 982, 571,
1424 15, 16, 57, 616, 57, -385, 1010, 619, -545, -545,
1425 1510, 57, -545, 343, 779, 126, 127, 620, 1054, 651,
1426 637, 129, 130, 622, -545, 651, 237, 15, 16, 555,
1427 556, 88, 623, -385, -385, 1326, 1327, 624, -385, -123,
1428 1369, 7, 8, 231, 10, 485, 779, 281, 373, 374,
1429 10, 89, 652, 8, 9, 649, 692, 636, 530, 665,
1430 343, -6, 831, 654, 638, 852, 854, 654, 129, 130,
1431 464, 466, 446, 1419, 527, 1316, 528, 668, 1395, 832,
1432 22, 686, 477, 649, 241, 710, 22, 232, 652, 705,
1433 779, 329, 233, 232, 652, 28, 29, 643, 343, 654,
1434 755, 28, 299, 1102, 1103, 654, 129, 130, 833, 1191,
1435 454, 1420, 237, 446, 1424, -100, 756, 15, 16, 233,
1436 757, 993, 758, 765, 843, 151, 774, 33, 766, 1057,
1437 233, 783, 651, 33, 692, 675, 651, 94, 109, 110,
1438 1201, 625, 626, 627, 90, 654, 126, 127, 779, -100,
1439 785, 513, -124, -100, 329, 94, 109, 110, 476, 88,
1440 861, 652, 786, 521, 91, 151, 788, 1160, 651, 845,
1441 859, 1406, 654, 652, 651, 400, 403, 8, 9, 89,
1442 94, 95, 96, 1417, 654, 863, -100, 884, 885, 894,
1443 581, 111, 112, 618, 22, 895, 58, 27, 992, 129,
1444 130, 897, 628, 400, 403, 898, 652, 71, 652, 111,
1445 112, 514, 515, 582, 651, 618, 21, 654, 737, 654,
1446 237, 234, 343, 583, 905, 906, 343, 919, -271, 924,
1447 129, 130, 743, 584, 97, 98, 585, 586, 94, 95,
1448 96, 651, 209, 210, 211, 419, 942, 969, 329, 1162,
1449 -791, 943, 745, 651, 485, 1164, 1165, 655, 744, 1162,
1450 1167, 1146, 1406, 1165, 1471, 88, 944, 90, 950, 960,
1451 964, 971, 212, 1331, 1028, 1332, 57, 94, 109, 110,
1452 967, 1406, 94, 109, 110, 89, 651, 91, 651, 936,
1453 27, 652, 97, 98, 213, 1011, 1203, 965, 1536, 1029,
1454 1217, 1218, 654, 1030, 281, 373, 374, 10, 1493, 94,
1455 95, 96, 1253, 1031, 1012, 1248, 774, 718, 1032, 692,
1456 151, 151, 151, 71, 1033, 1034, 526, 88, 1217, 1218,
1457 654, 111, 112, 113, 1247, 1376, 111, 112, 1406, 1035,
1458 214, 215, 216, 22, 1036, 153, 677, 89, 151, 151,
1459 151, 126, 127, 126, 1297, 58, 27, 1037, 28, 299,
1460 196, 27, 204, 97, 98, 99, 71, 1038, 1252, 1043,
1461 -122, 651, 1040, 1041, 319, 1044, 319, 737, 319, 115,
1462 116, 117, 796, 1045, 1046, 153, 1047, 486, 649, 1059,
1463 33, 743, 57, 1353, 1048, 1353, 1049, 1062, 343, 651,
1464 1063, 1061, 27, 1064, 129, 130, 129, 130, 1070, 1071,
1465 205, 745, 115, 719, 720, 1072, 721, 744, 492, 1116,
1466 1080, 1081, 1139, 319, 844, 319, 521, 1078, 493, 1083,
1467 485, 27, 1253, 118, 119, 57, 1093, 193, 1090, 1253,
1468 722, 1096, 1248, 71, 1145, 1163, 1253, 723, 1168, 1248,
1469 71, 491, 1459, 1172, 1247, 779, 1176, 71, 1181, 1182,
1470 1183, 1247, 1184, 1189, 27, 1202, 118, 119, 1247, 1198,
1471 416, 1193, 1194, 1306, 1307, 1308, 1309, 7, 126, 127,
1472 10, 15, 16, 1312, 1204, 1205, -385, 1206, 1252, 1213,
1473 1209, 901, 400, 403, 1210, 1252, 1216, 204, 1124, 1221,
1474 514, 515, 1252, 918, 1265, 459, 204, 552, 553, 554,
1475 555, 556, 57, 1274, -385, -385, 22, 1275, 1278, 57,
1476 426, 1282, -626, 232, 1304, 1305, 57, 1315, 1311, 796,
1477 1314, 28, 29, 1320, 1343, 1321, 1323, 115, 719, 720,
1478 153, 153, 153, 1322, 1155, 1156, 198, 199, 200, 1330,
1479 1378, 1379, 1339, 14, 1340, 233, 94, 109, 110, 1341,
1480 209, 210, 211, 33, 1349, 722, 1351, 1364, 153, 153,
1481 153, 19, 1367, 1169, 151, 1409, 21, 1410, 362, 363,
1482 364, 1391, 966, 1392, 1414, 24, 1474, 512, 1443, 27,
1483 212, 118, 119, 1253, 1253, 1443, 1248, 1393, 1253, 278,
1484 205, 1248, 8, 9, 71, 71, 278, 1394, 329, 71,
1485 111, 112, 1396, 1398, 456, 1247, 1247, 703, 704, 1416,
1486 1247, 1418, 1439, 1013, 652, 319, 94, 95, 96, 1018,
1487 27, 1253, 366, 367, 1248, 654, 1415, 151, 151, 151,
1488 1253, 1447, 71, 1248, 1457, 1465, 1467, 343, 1473, 1252,
1489 1252, 71, 1482, 1247, 1252, 129, 130, 1504, 1483, 1491,
1490 1492, 1508, 1247, 1515, 1516, 1519, 1443, 1522, 276, 1524,
1491 1525, 1529, 1533, 57, 57, 276, 1537, 278, 57, 1538,
1492 97, 98, 126, 127, 115, 719, 720, 1252, 1253, 1540,
1493 1545, 1248, 1546, 196, 204, 1441, 1252, 1548, 1549, 71,
1494 1, 803, 1441, 670, 651, 634, 5, 1099, 1003, 1222,
1495 1247, 57, 412, 680, 684, 521, 281, 8, 9, 10,
1496 57, 684, 339, 128, 1285, 1286, 1253, 1295, 1296, 1248,
1497 1298, 1494, 1073, 27, 1074, 129, 130, 71, 118, 119,
1498 1489, 413, 628, 393, 1252, 1405, 276, 1544, 1247, 416,
1499 497, 557, 901, 1356, 1092, 22, 459, 204, 941, 468,
1500 416, 1091, 232, 1276, 459, 1151, 1170, 1005, 57, 1299,
1501 28, 299, 887, 1441, 457, 199, 200, 416, 1089, 830,
1502 449, 14, 1252, 370, 319, 684, 578, 1362, 1262, 1514,
1503 558, 559, 1523, 1511, 153, 560, 561, 562, 563, 19,
1504 1486, 1528, 33, 150, 21, 1530, 57, 1138, 1368, 0,
1505 0, 1527, 0, 24, 0, 0, 0, 319, 803, 680,
1506 0, 0, 800, 801, 0, 805, 806, 807, 808, 809,
1507 810, 811, 812, 813, 814, 815, 816, 817, 818, 819,
1508 820, 821, 822, 823, 0, 0, 1372, 1373, 0, 684,
1509 0, 684, 684, 0, 0, 0, 0, 153, 153, 153,
1510 0, 0, 0, 0, 0, 732, 0, 7, 8, 733,
1511 10, 386, 12, 13, 0, 198, 199, 200, 14, 684,
1512 126, 127, 14, 0, 0, 13, 684, 0, 0, 0,
1513 1177, 1187, 1179, 17, 0, 18, 19, 20, 0, 0,
1514 19, 21, -492, 0, 0, 21, 22, 889, 891, 0,
1515 24, 734, 0, 642, 24, 204, 401, 404, 0, 27,
1516 0, 28, 29, 319, 581, 735, 0, 736, 239, 659,
1517 0, 27, 0, 129, 130, 31, 682, 0, 0, 0,
1518 1431, 1432, 1433, 682, 0, 32, 1208, 582, 150, 0,
1519 0, 0, 239, 33, 196, 0, 204, 583, 34, 550,
1520 551, 552, 553, 554, 555, 556, 680, 584, 0, 0,
1521 585, 586, 0, 0, 1227, -492, 0, 0, 8, 9,
1522 1187, 239, 12, 13, 0, 0, 0, 79, 14, 0,
1523 239, 0, 1461, 1462, 0, 0, 204, 103, 0, 0,
1524 0, 0, 0, 17, 0, 18, 0, 682, 132, 0,
1525 0, 21, 0, 0, 141, 141, 0, 141, 459, 79,
1526 24, 416, 1277, 977, 79, 0, 0, 1281, 0, 27,
1527 0, 129, 130, 564, 0, 0, 239, 187, 0, 79,
1528 0, 0, 319, 319, 0, 319, 0, 220, 0, 196,
1529 600, 8, 9, 0, 103, 416, 0, 1512, 0, 0,
1530 684, 0, 0, 0, 0, 243, 103, 0, 565, 239,
1531 0, 682, 0, 682, 682, 0, 0, 1317, 523, 0,
1532 0, 0, 1039, 0, 0, 0, 289, 601, 103, 22,
1533 0, 0, 239, 1345, 0, 0, 989, 990, 9, 10,
1534 0, 682, 27, 0, 129, 130, 0, 0, 682, 0,
1535 0, 132, 0, 0, 0, 0, 132, -277, 79, 680,
1536 684, 0, 141, 0, 0, 395, 141, 0, 0, 141,
1537 141, 141, -277, -277, 684, 22, 684, -277, 684, 0,
1538 0, 0, 0, 79, 0, 0, 0, 0, 27, 0,
1539 28, 29, 0, -277, 1154, 0, 991, 0, 0, 0,
1540 187, 187, 187, 0, 177, -277, -277, 0, -277, 0,
1541 -277, 1088, 1387, 1388, 178, 0, 1401, 0, 0, 0,
1542 0, 684, 33, 239, 0, 0, 0, 179, 1397, 187,
1543 0, 0, 0, 319, 198, 199, 200, 0, 0, -277,
1544 -277, 14, 683, -277, 467, 0, 1111, 0, 0, 690,
1545 401, 404, 103, 0, 0, -277, 0, 0, 684, 19,
1546 0, 0, 0, 141, 21, 0, 0, 0, 0, 7,
1547 8, 9, 10, 24, 0, 13, 684, 0, 0, 0,
1548 1427, 1428, 0, 0, 239, 0, 0, 0, 882, 548,
1549 549, 550, 551, 552, 553, 554, 555, 556, 0, 1437,
1550 1438, 103, 494, 0, 0, 0, 0, 0, 22, 523,
1551 0, 0, 523, 771, 581, 0, 0, 0, 1161, 0,
1552 0, 27, 682, 28, 29, 416, 416, 0, 401, 784,
1553 0, 587, 587, 587, 0, 0, 0, 907, 0, 0,
1554 0, 0, 523, 0, 0, 103, 0, 908, 0, 579,
1555 0, 494, 494, 595, 416, 33, 239, 584, 0, 0,
1556 909, 586, 79, 0, 0, 0, 0, 680, 680, 0,
1557 0, 1190, 0, 0, 0, 0, 0, 824, 132, 826,
1558 827, 0, 682, 239, 7, 8, 9, 10, 0, 0,
1559 319, 0, 0, 0, 0, 0, 682, 0, 682, 0,
1560 682, 874, 132, 0, 0, 0, 0, 0, 103, 0,
1561 0, 187, 103, 0, 878, 0, 0, 0, 0, 0,
1562 0, 0, 141, 22, 0, 141, 0, 0, 0, 581,
1563 141, 0, 0, 0, 0, 0, 27, 0, 28, 29,
1564 0, 0, 0, 682, 0, 684, 0, 684, 0, 684,
1565 0, 0, 907, 0, 0, 0, 0, 680, 0, 187,
1566 0, 187, 908, 187, 187, 187, 680, 680, 239, 187,
1567 33, 680, 584, 0, 187, 909, 586, 187, 0, 0,
1568 682, 0, 0, 0, 239, 0, 1283, 1284, 0, 0,
1569 0, 0, 0, 79, 0, 0, 0, 0, 682, 0,
1570 0, 0, 0, 0, 0, 416, 416, 0, 416, 416,
1571 0, 416, 680, 0, 732, 0, 7, 8, 733, 10,
1572 386, 12, 13, 0, 0, 0, 0, 14, 0, 0,
1573 0, 103, 103, 103, 103, 0, 0, 0, 0, 0,
1574 0, 684, 17, 0, 18, 19, 20, 0, 0, 0,
1575 21, -493, 0, 0, 0, 22, 0, 0, 0, 24,
1576 734, 0, 642, 0, 0, 1338, 0, 0, 27, 0,
1577 28, 29, 0, 0, 735, 0, 736, 0, 0, 0,
1578 0, 0, 874, 0, 31, 587, 587, 0, 587, 103,
1579 0, 494, 0, 0, 32, 873, 196, 204, 0, 0,
1580 680, 0, 33, 579, 0, 494, 494, 34, 595, 0,
1581 0, 0, 0, 0, 0, 875, 1377, 0, 0, 877,
1582 0, 0, 0, 0, -493, 0, 0, 416, 416, 0,
1583 0, 0, 0, 187, 0, 0, 0, 0, 680, 7,
1584 126, 127, 10, 0, 0, 13, 0, 0, 1053, 0,
1585 0, 0, 587, 0, 587, 587, 572, 587, 281, 373,
1586 374, 10, 1065, 573, 1066, 0, 1067, 682, 0, 682,
1587 0, 682, 187, 914, 187, 187, 220, 595, 22, 401,
1588 784, 0, 0, 0, 0, 684, 0, 0, 0, 0,
1589 0, 27, 0, 28, 29, 587, 0, 22, 0, 0,
1590 0, 0, 1429, 1430, 574, 0, 0, 31, 0, 1095,
1591 27, 1435, 28, 299, 0, 187, 0, 32, 150, 914,
1592 0, 416, 416, 416, 0, 33, 187, 187, 0, 187,
1593 34, 0, 0, 0, 0, 0, 0, 0, 1454, 0,
1594 0, 0, 0, 0, 575, 0, 1114, 0, 349, 351,
1595 0, 0, 0, 0, 0, 0, 0, 132, 1136, 0,
1596 79, 0, 79, 682, 239, 0, 239, 1000, 79, 79,
1597 0, 0, 0, 416, 416, 0, 0, 103, 0, 0,
1598 0, 0, 587, 103, 0, 7, 8, 9, 10, 0,
1599 494, 494, 494, 0, 0, 0, 0, 0, 0, 0,
1600 0, 0, 494, 239, 0, 0, 0, 0, 8, 9,
1601 0, 386, 12, 13, 0, 0, 688, 0, 14, 0,
1602 0, 0, 0, 0, 22, 0, 0, 989, 990, 9,
1603 10, 0, 0, 17, 0, 18, 19, 27, 416, 28,
1604 29, 21, 0, 176, 0, 0, 0, 0, 0, 0,
1605 24, 0, 103, 177, 0, 587, 0, 587, 680, 27,
1606 0, 129, 130, 178, 0, 0, 22, 0, 587, 0,
1607 0, 33, 873, 873, 873, 494, 179, 494, 0, 27,
1608 0, 28, 29, 0, 103, 0, 0, 991, 494, 239,
1609 103, 0, 875, 875, 875, 177, 0, 0, 0, 1082,
1610 0, 0, 689, 0, 0, 178, 0, 682, 0, 0,
1611 587, 587, 587, 33, 401, 404, 126, 127, 179, 0,
1612 0, 227, 0, 0, 0, 0, 103, 0, 103, 82,
1613 187, 187, 1108, 1223, 0, 1224, 0, 1225, 0, 105,
1614 0, 0, 401, 1264, 0, 0, 0, 0, 0, 125,
1615 133, 525, 873, 0, 0, 0, 142, 142, 0, 142,
1616 581, 82, 0, 0, 0, 0, 82, 27, 0, 129,
1617 130, 239, 1108, 0, 0, 0, 0, 0, 0, 142,
1618 0, 82, 0, 582, 0, 0, 103, 0, 0, 221,
1619 0, 0, 0, 583, 0, 0, 229, 239, 0, 103,
1620 0, 0, 1000, 584, 0, 0, 585, 586, 229, 0,
1621 0, 103, 281, 126, 127, 10, 0, 0, 0, 0,
1622 0, 0, 0, 0, 1166, 0, 0, 648, 0, 1319,
1623 0, 0, 0, 0, 79, 0, 0, 0, 7, 8,
1624 9, 10, 0, 0, 103, 0, 103, 0, 0, 0,
1625 0, 22, 0, 379, 0, 239, 0, 0, 232, 0,
1626 82, 590, 594, 597, 142, 0, 28, 299, 142, 0,
1627 0, 142, 142, 142, 0, 0, 691, 22, 494, 494,
1628 0, 494, 0, 0, 232, 82, 0, 0, 0, 0,
1629 8, 9, 28, 29, 12, 13, 0, 0, 33, 0,
1630 14, 0, 142, 142, 142, 587, 587, 587, 587, 587,
1631 0, 0, 0, 587, 0, 17, 233, 18, 0, 0,
1632 0, 0, 0, 21, 33, 187, 187, 187, 187, 1108,
1633 0, 142, 24, 187, 0, 873, 873, 873, 0, 0,
1634 0, 27, 772, 129, 130, 775, 0, 0, 0, 777,
1635 778, 780, 781, 782, 0, 1108, 1108, 1108, 7, 126,
1636 127, 10, 525, 0, 227, 142, 0, 1136, 0, 0,
1637 7, 8, 9, 10, 0, 799, 227, 0, 0, 0,
1638 829, 0, 0, 0, 0, 0, 187, 0, 0, 0,
1639 0, 141, 0, 79, 0, 0, 0, 22, 0, 0,
1640 0, 0, 0, 229, 142, 0, 0, 828, 0, 22,
1641 27, 0, 28, 29, 0, 581, 0, 0, 0, 0,
1642 587, 587, 27, 587, 28, 29, 31, 856, 0, 0,
1643 0, 401, 1264, 0, 856, 0, 32, 0, 907, 0,
1644 187, 187, 0, 187, 33, 0, 0, 229, 908, 34,
1645 0, 580, 0, 142, 142, 596, 33, 0, 584, 0,
1646 604, 909, 586, 0, 82, 7, 126, 127, 10, 0,
1647 0, 13, 0, 0, 187, 914, 187, 0, 0, 0,
1648 379, 0, 281, 8, 9, 10, 0, 0, 0, 0,
1649 0, 0, 0, 103, 0, 0, 0, 0, 0, 0,
1650 0, 0, 0, 0, 22, 0, 0, 0, 0, 0,
1651 229, 0, 75, 142, 229, 853, 855, 27, 0, 28,
1652 29, 22, 0, 0, 142, 0, 0, 142, 232, 0,
1653 0, 0, 142, 146, 0, 0, 28, 299, 648, 140,
1654 144, 0, 0, 147, 75, 0, 0, 0, 0, 75,
1655 0, 33, 281, 8, 9, 10, 148, 0, 0, 0,
1656 233, 142, 0, 142, 197, 142, 142, 142, 33, 0,
1657 0, 142, 7, 8, 9, 10, 142, 0, 13, 142,
1658 0, 1108, 912, 0, 590, 594, 0, 597, 0, 0,
1659 0, 22, 0, 0, 731, 82, 691, 0, 232, 0,
1660 0, 0, 691, 0, 0, 0, 28, 299, 0, 0,
1661 0, 22, 0, 0, 0, 0, 0, 581, 0, 0,
1662 0, 0, 0, 0, 27, 594, 28, 29, 0, 0,
1663 485, 0, 0, 229, 229, 229, 229, 0, 33, 0,
1664 1104, 0, 0, 391, 1108, 1108, 1108, 394, 0, 0,
1665 1105, 396, 0, 0, 0, 0, 0, 0, 33, 0,
1666 584, 0, 103, 1106, 586, 0, 0, 187, 75, 0,
1667 6, 1050, 7, 8, 9, 10, 11, 12, 13, 0,
1668 0, 0, 0, 14, 0, 140, 144, 0, 0, 0,
1669 0, 229, 0, 142, 0, 0, 15, 16, 17, 0,
1670 18, 19, 20, 799, 0, 0, 21, 142, 142, 691,
1671 596, 22, 594, 856, 23, 24, 25, 876, 26, 0,
1672 0, 0, 0, 0, 27, 0, 28, 29, 0, 604,
1673 30, 0, 0, 0, 0, 142, 0, 0, 0, 0,
1674 31, 1287, 1288, 9, 10, 648, 0, 1100, 483, 0,
1675 32, 856, 0, 0, 0, 0, 0, 0, 33, 0,
1676 0, 0, 0, 34, 0, 0, 125, 0, 0, 35,
1677 0, 0, 0, 0, 142, 596, 142, 142, 221, 596,
1678 22, 0, 0, 0, 0, 1068, 0, 1069, 0, 0,
1679 0, 856, 0, 27, 0, 28, 29, 731, 1075, 0,
1680 0, 1289, 853, 855, 0, 1141, 0, 0, 0, 177,
1681 0, 1147, 0, 0, 0, 0, 0, 142, 691, 178,
1682 0, 596, 0, 0, 0, 0, 0, 33, 142, 142,
1683 691, 142, 179, 0, 0, 0, 0, 0, 0, 0,
1684 853, 855, 0, 0, 0, 0, 0, 612, 7, 8,
1685 9, 10, 0, 0, 13, 0, 0, 0, 0, 133,
1686 0, 0, 82, 691, 82, 691, 0, 0, 0, 1001,
1687 82, 82, 0, 0, 0, 0, 0, 0, 0, 229,
1688 0, 0, 0, 0, 0, 229, 0, 22, 0, 0,
1689 0, 0, 142, 142, 142, 0, 0, 0, 0, 0,
1690 27, 0, 28, 29, 142, 0, 0, 663, 0, 0,
1691 664, 0, 0, 0, 0, 666, 177, 0, 0, 7,
1692 8, 9, 10, 0, 0, 482, 178, 0, 437, 439,
1693 443, 0, 0, 50, 33, 0, 0, 0, 0, 179,
1694 0, 0, 0, 0, 394, 0, 396, 0, 856, 0,
1695 0, 0, 0, 0, 229, 0, 0, 0, 22, 483,
1696 50, 50, 0, 149, 581, 50, 0, 0, 0, 0,
1697 50, 27, 0, 28, 29, 0, 856, 142, 749, 142,
1698 0, 0, 0, 50, 0, 50, 229, 907, 0, 0,
1699 142, 0, 229, 0, 876, 876, 876, 908, 0, 0,
1700 0, 604, 0, 0, 0, 33, 0, 584, 235, 0,
1701 909, 586, 541, 542, 543, 544, 545, 546, 547, 548,
1702 549, 550, 551, 552, 553, 554, 555, 556, 229, 0,
1703 229, 0, 142, 142, 596, 1068, 1069, 853, 855, 0,
1704 0, 0, 0, 1075, 544, 545, 546, 547, 548, 549,
1705 550, 551, 552, 553, 554, 555, 556, 376, 0, 0,
1706 0, 376, 376, 0, 50, 853, 855, 0, 50, 0,
1707 235, 0, 50, 0, 876, 149, 149, 149, 0, 0,
1708 0, 0, 0, 0, 0, 0, 0, 0, 229, 50,
1709 0, 0, 0, 0, 0, 0, 0, 0, 0, 731,
1710 0, 229, 0, 0, 1001, 0, 50, 50, 149, 0,
1711 0, 0, 1141, 229, 0, 0, 235, 0, 0, 126,
1712 127, 0, 0, 199, 200, 0, 0, 0, 0, 14,
1713 0, 0, 0, 0, 0, 50, 82, 0, 0, 0,
1714 0, 0, 0, 0, 0, 0, 229, 0, 229, 0,
1715 1068, 1069, 21, 1075, 0, 0, 0, 0, 913, 0,
1716 0, 24, 0, 581, 0, 0, 0, 0, 0, 50,
1717 27, 0, 129, 130, 0, 0, 0, 0, 0, 0,
1718 142, 142, 0, 142, 0, 0, 582, 701, 0, 702,
1719 0, 437, 439, 443, 0, 0, 583, 0, 0, 0,
1720 0, 0, 713, 0, 956, 0, 584, 0, 0, 592,
1721 586, 663, 664, 0, 666, 545, 546, 547, 548, 549,
1722 550, 551, 552, 553, 554, 555, 556, 142, 142, 142,
1723 142, 596, 0, 0, 0, 142, 0, 0, 522, 0,
1724 0, 731, 0, 0, 0, 749, 0, 749, 0, 0,
1725 0, 0, 999, 1006, 749, 376, 0, 876, 876, 876,
1726 0, 0, 0, 235, 0, 525, 0, 0, 50, 0,
1727 0, 0, 0, 731, 0, 0, 0, 0, 0, 0,
1728 0, 648, 0, 0, 376, 0, 0, 0, 142, 0,
1729 0, 0, 0, 142, 0, 82, 7, 8, 9, 10,
1730 386, 12, 13, 0, 0, 688, 0, 14, 376, 0,
1731 0, 0, 0, 0, 0, 0, 0, 50, 0, 0,
1732 0, 0, 17, 0, 18, 19, 0, 0, 50, 0,
1733 21, 50, 0, 0, 0, 22, 50, 0, 0, 24,
1734 0, 581, 142, 142, 0, 142, 0, 0, 27, 0,
1735 28, 29, 0, 0, 0, 0, 0, 0, 0, 0,
1736 0, 0, 0, 0, 1104, 50, 0, 50, 0, 149,
1737 149, 149, 0, 0, 1105, 50, 142, 596, 142, 0,
1738 50, 77, 33, 50, 584, 0, 0, 1106, 586, 0,
1739 0, 689, 0, 0, 0, 229, 0, 0, 0, 50,
1740 0, 0, 0, 0, 0, 0, 0, 0, 77, 77,
1741 0, 77, 0, 77, 0, 140, 144, 0, 77, 0,
1742 7, 126, 127, 10, 0, 0, 482, 0, 0, 522,
1743 0, 77, 522, 77, 0, 0, 0, 0, 0, 0,
1744 8, 9, 0, 0, 12, 227, 0, 522, 522, 522,
1745 14, 0, 0, 0, 701, 702, 0, 713, 0, 22,
1746 0, 0, 522, 0, 0, 17, 0, 18, 0, 0,
1747 0, 0, 27, 21, 28, 29, 0, 0, 240, 0,
1748 0, 0, 24, 876, 581, 0, 0, 999, 31, 0,
1749 0, 27, 0, 129, 130, 998, 0, 0, 32, 126,
1750 127, 0, 0, 199, 200, 0, 33, 582, 235, 14,
1751 0, 34, 77, 0, 0, 0, 77, 583, 0, 749,
1752 77, 522, 0, 77, 77, 77, 0, 584, 0, 0,
1753 585, 586, 21, 0, 0, 0, 0, 77, 0, 50,
1754 0, 24, 0, 581, 0, 0, 876, 876, 876, 0,
1755 27, 407, 129, 130, 77, 77, 77, 0, 0, 0,
1756 0, 0, 0, 0, 229, 0, 582, 0, 0, 142,
1757 0, 0, 435, 0, 0, 0, 583, 0, 50, 50,
1758 50, 50, 0, 77, 0, 451, 584, 8, 9, 585,
1759 586, 12, 227, 0, 0, 0, 0, 14, 0, 0,
1760 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1761 394, 396, 17, 0, 18, 0, 0, 77, 483, 0,
1762 21, 50, 0, 0, 0, 50, 0, 0, 0, 24,
1763 0, 0, 50, 50, 0, 50, 0, 0, 27, 0,
1764 129, 130, 0, 0, 0, 0, 0, 0, 0, 732,
1765 0, 7, 8, 733, 10, 386, 12, 13, 437, 439,
1766 443, 0, 14, 0, 0, 0, 50, 0, 50, 0,
1767 0, 1294, 0, 50, 50, 50, 1294, 17, 749, 18,
1768 19, 20, 0, 0, 0, 21, -495, 0, 0, 0,
1769 22, 0, 0, 0, 24, 734, 0, 642, 0, 0,
1770 443, 0, 522, 27, 0, 28, 29, 0, 0, 735,
1771 0, 736, 603, 0, 0, 0, 77, 0, 0, 31,
1772 0, 0, 0, 0, 0, 663, 664, 0, 666, 32,
1773 998, 0, 0, 0, 0, 0, 0, 33, 7, 8,
1774 9, 10, 34, 0, 227, 543, 544, 545, 546, 547,
1775 548, 549, 550, 551, 552, 553, 554, 555, 556, -495,
1776 1357, 0, 0, 0, 0, 77, 0, 0, 0, 0,
1777 0, 0, 0, 0, 0, 0, 77, 22, 0, 77,
1778 0, 0, 0, 0, 77, 0, 0, 0, 0, 0,
1779 27, 0, 28, 29, 0, 0, 0, 0, 522, 522,
1780 522, 0, 0, 0, 235, 0, 177, 0, 0, 0,
1781 0, 0, 0, 77, 0, 77, 178, 77, 77, 77,
1782 0, 0, 0, 77, 33, 0, 0, 0, 77, 179,
1783 0, 77, 154, 0, 0, 0, 50, 50, 149, 0,
1784 0, 706, 0, 235, 0, 0, 712, 77, 0, 0,
1785 0, 0, 188, 701, 702, 437, 439, 443, 0, 0,
1786 0, 713, 0, 0, 7, 8, 9, 10, 198, 199,
1787 200, 753, 0, 0, 0, 14, 0, 759, 1135, 0,
1788 0, 0, 0, 437, 439, 443, 0, 0, 0, 767,
1789 768, 0, 769, 19, 0, 0, 0, 0, 21, 0,
1790 0, 0, 0, 22, 0, 0, 0, 24, 50, 581,
1791 1287, 126, 127, 10, 1293, 0, 27, 0, 28, 29,
1792 0, 0, 0, 0, 0, 0, 0, 0, 0, 235,
1793 0, 0, 907, 0, 0, 0, 0, 0, 0, 0,
1794 50, 0, 908, 0, 154, 154, 154, 0, 0, 22,
1795 33, 0, 584, 0, 0, 909, 586, 603, 0, 0,
1796 0, 0, 27, 0, 28, 29, 0, 0, 701, 702,
1797 1289, 713, 0, 0, 0, 188, 188, 444, 31, 0,
1798 0, 0, 0, 0, 0, 864, 865, 77, 32, 0,
1799 864, 0, 0, 0, 0, 0, 33, 0, 0, 0,
1800 0, 34, 0, 0, 188, 0, 0, 0, 0, 0,
1801 0, 235, 0, 0, 0, 0, 7, 8, 9, 10,
1802 0, 0, 13, 0, 0, 0, 77, 77, 77, 77,
1803 0, 50, 50, 149, 149, 149, 0, 235, 0, 50,
1804 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1805 0, 7, 8, 9, 10, 22, 0, 482, 0, 0,
1806 0, 1135, 1135, 1135, 0, 0, 0, 0, 27, 77,
1807 28, 29, 0, 77, 0, 0, 0, 495, 0, 0,
1808 77, 77, 0, 77, 440, 0, 0, 0, 0, 0,
1809 22, 0, 50, 0, 441, 0, 0, 50, 0, 50,
1810 0, 0, 33, 27, 0, 28, 29, 442, 0, 443,
1811 0, 0, 126, 127, 77, 0, 77, 482, 0, 177,
1812 0, 77, 77, 77, 0, 0, 589, 589, 589, 178,
1813 0, 0, 0, 0, 0, 0, 186, 33, 7, 8,
1814 9, 10, 179, 0, 0, 0, 50, 50, 0, 50,
1815 0, 0, 0, 0, 0, 0, 581, 0, 1020, 0,
1816 1022, 238, 0, 27, 242, 129, 130, 0, 0, 0,
1817 0, 0, 437, 439, 443, 0, 0, 22, 0, 582,
1818 50, 50, 50, 0, 0, 238, 188, 345, 0, 583,
1819 27, 0, 28, 29, 0, 0, 1352, 0, 0, 584,
1820 0, 0, 585, 586, 0, 0, 177, 0, 0, 0,
1821 0, 0, 0, 0, 0, 0, 178, 0, 0, 0,
1822 0, 0, 0, 0, 33, 0, 0, 0, 0, 179,
1823 0, 0, 1055, 1056, 188, 1058, 188, 0, 444, 444,
1824 444, 0, 0, 0, 188, 0, 0, 0, 0, 188,
1825 0, 0, 188, 603, 0, 0, 0, 0, 0, 186,
1826 186, 186, 0, 1076, 0, 0, 0, 0, 0, 450,
1827 8, 9, 0, 386, 12, 13, 0, 0, 688, 0,
1828 14, 0, 0, 0, 77, 77, 77, 1135, 186, 0,
1829 0, 7, 126, 127, 10, 17, 0, 18, 19, 0,
1830 0, 0, 0, 21, 0, 0, 0, 0, 1110, 0,
1831 0, 242, 24, 0, 581, 0, 0, 0, 0, 0,
1832 0, 27, 0, 129, 130, 238, 1137, 0, 0, 0,
1833 22, 0, 0, 0, 0, 0, 0, 582, 0, 0,
1834 0, 0, 0, 27, 0, 28, 29, 583, 0, 0,
1835 1135, 1135, 1135, 0, 0, 0, 77, 584, 0, 146,
1836 585, 586, 0, 0, 689, 0, 838, 0, 0, 147,
1837 0, 0, 1152, 50, 0, 0, 0, 33, 0, 0,
1838 589, 589, 148, 589, 1157, 0, 0, 0, 77, 0,
1839 589, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1840 8, 9, 0, 386, 12, 13, 0, 0, 188, 0,
1841 14, 0, 0, 0, 0, 0, 238, 242, 0, 0,
1842 0, 7, 8, 9, 10, 17, 0, 18, 19, 0,
1843 0, 0, 0, 21, 0, 0, 0, 0, 0, 0,
1844 0, 0, 641, 0, 0, 642, 0, 911, 0, 911,
1845 911, 27, 589, 129, 130, 0, 0, 0, 0, 0,
1846 22, 0, 0, 0, 0, 0, 0, 0, 1207, 0,
1847 186, 0, 0, 27, 0, 28, 29, 0, 0, 77,
1848 77, 77, 77, 77, 0, 0, 0, 77, 0, 440,
1849 911, 0, 0, 0, 0, 0, 0, 0, 0, 441,
1850 0, 188, 188, 0, 188, 0, 1220, 33, 0, 1137,
1851 1137, 1137, 442, 0, 0, 0, 0, 0, 186, 0,
1852 186, 0, 186, 186, 186, 0, 0, 0, 186, 0,
1853 0, 0, 0, 186, 0, 0, 186, 0, 0, 0,
1854 77, 0, 188, 0, 0, 77, 0, 77, 0, 0,
1855 0, 0, 0, 0, 0, 732, 0, 7, 8, 733,
1856 10, 386, 12, 13, 0, 495, 495, 495, 14, 1302,
1857 0, 0, 0, 1303, 0, 0, 0, 589, 0, 0,
1858 0, 0, 0, 17, 0, 18, 19, 20, 0, 0,
1859 0, 21, -494, 0, 77, 77, 22, 77, 0, 0,
1860 24, 734, 0, 642, 0, 0, 1318, 0, 0, 27,
1861 0, 28, 29, 0, 0, 735, 0, 736, 7, 8,
1862 9, 10, 0, 0, 0, 31, 0, 0, 77, 77,
1863 77, 0, 0, 0, 0, 32, 0, 0, 0, 0,
1864 0, 0, 0, 33, 0, 0, 0, 0, 34, 0,
1865 589, 0, 589, 0, 0, 0, 0, 22, 0, 0,
1866 0, 0, 0, 589, 0, -494, 0, 589, 589, 589,
1867 27, 0, 28, 29, 0, 1370, 0, 238, 242, 1371,
1868 0, 0, 0, 0, 0, 0, 177, 0, 0, 0,
1869 8, 9, 186, 386, 12, 13, 178, 0, 1470, 0,
1870 14, 1389, 1390, 0, 33, 911, 911, 1109, 0, 179,
1871 0, 0, 0, 0, 0, 17, 0, 18, 19, 0,
1872 0, 0, 0, 21, 0, 0, 0, 0, 0, 0,
1873 0, 186, 24, 186, 186, 1137, 0, 0, 0, 0,
1874 0, 27, 0, 129, 130, 0, 0, 1109, 0, 0,
1875 7, 8, 9, 10, 198, 199, 200, 0, 101, 0,
1876 0, 14, 0, 0, 0, 0, 0, 0, 120, 101,
1877 0, 0, 0, 0, 186, 101, 101, 188, 101, 19,
1878 0, 0, 0, 0, 21, 186, 186, 0, 186, 22,
1879 0, 0, 0, 24, 0, 581, 0, 0, 1137, 1137,
1880 1137, 0, 27, 0, 28, 29, 8, 9, 219, 189,
1881 12, 190, 0, 242, 0, 0, 14, 0, 907, 0,
1882 0, 77, 0, 0, 0, 0, 186, 0, 908, 0,
1883 0, 17, 0, 18, 19, 0, 33, 0, 584, 21,
1884 0, 949, 586, 0, 0, 0, 0, 0, 24, 0,
1885 0, 0, 0, 838, 838, 0, 838, 27, 0, 129,
1886 130, 0, 0, 0, 0, 0, 0, 369, 0, 120,
1887 0, 0, 101, 0, 0, 0, 101, 101, 0, 0,
1888 0, 0, 0, 101, 0, 101, 101, 101, 0, 0,
1889 101, 101, 101, 0, 0, 0, 0, 0, 0, 0,
1890 911, 911, 1109, 1109, 1109, 0, 0, 0, 911, 539,
1891 540, 541, 542, 543, 544, 545, 546, 547, 548, 549,
1892 550, 551, 552, 553, 554, 555, 556, 0, 0, 0,
1893 1109, 1109, 1109, 0, 0, 0, 0, 0, 0, 0,
1894 0, 0, 0, 0, 0, 0, 0, 732, 0, 7,
1895 8, 733, 10, 386, 12, 13, 0, 238, 242, 238,
1896 14, 188, 0, 0, 465, 101, 0, 0, 0, 0,
1897 0, 0, 0, 0, 0, 17, 0, 18, 19, 20,
1898 0, 0, 0, 21, 101, 0, 0, 0, 22, 186,
1899 186, 1107, 24, 734, 0, 642, 238, 0, 0, 0,
1900 0, 27, 0, 28, 29, 0, 0, 735, 0, 736,
1901 0, 0, 0, 0, 0, 911, 911, 31, 911, 0,
1902 0, 0, 0, 101, 0, 0, 0, 32, 0, 0,
1903 0, 1107, 0, 0, 0, 33, 0, 0, 0, 244,
1904 34, 0, 8, 9, 0, 0, 12, 13, 0, 188,
1905 0, 188, 14, 0, 0, 0, 0, 0, 0, 0,
1906 0, 186, 0, 0, 0, 0, 0, 17, 0, 18,
1907 101, 0, 101, 101, 0, 21, 0, 245, 246, 0,
1908 0, 0, 450, 0, 24, 0, 247, 0, 0, 0,
1909 0, 0, 0, 27, 0, 129, 130, 0, 248, 101,
1910 0, 0, 249, 250, 251, 252, 253, 254, 255, 256,
1911 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
1912 267, 268, 269, 101, 0, 270, 271, 272, 0, 0,
1913 273, 0, 0, 274, 0, 0, 0, 0, 0, 101,
1914 0, 0, 0, 101, 0, 0, 101, 0, 0, 0,
1915 275, 101, 0, 0, 0, 0, 444, 0, 0, 0,
1916 0, 0, 0, 0, 238, 540, 541, 542, 543, 544,
1917 545, 546, 547, 548, 549, 550, 551, 552, 553, 554,
1918 555, 556, 0, 0, 186, 186, 186, 186, 1107, 0,
1919 1219, 0, 186, 542, 543, 544, 545, 546, 547, 548,
1920 549, 550, 551, 552, 553, 554, 555, 556, 0, 0,
1921 0, 101, 0, 724, 1107, 1107, 1107, 0, 0, 444,
1922 444, 444, 0, 0, 0, 0, 0, 0, 7, 8,
1923 9, 10, 386, 12, 13, 0, 0, 955, 101, 14,
1924 0, 0, 188, 0, 0, 186, 0, 0, 0, 0,
1925 0, 0, 0, 0, 17, 0, 18, 19, 0, 0,
1926 0, 0, 21, 0, 0, 0, 0, 22, 0, 0,
1927 0, 24, 0, 0, 0, 0, 0, 0, 0, 0,
1928 27, 0, 28, 29, 1383, 0, -449, -449, -449, -449,
1929 -449, -449, -449, 0, 0, -449, 31, -449, 0, 186,
1930 186, 0, 186, 0, 0, 0, 32, 0, -449, 0,
1931 -449, -449, 101, 0, 33, -449, 0, 0, 0, 34,
1932 -449, 0, 0, 101, 101, -449, 101, 101, 0, -449,
1933 0, -449, 0, 186, 0, 186, 0, 0, -449, 0,
1934 -449, -449, -449, -449, -449, 0, -449, -449, -449, -449,
1935 -449, -449, -449, -449, -449, -449, -449, -449, -449, -449,
1936 -449, -449, -449, -449, -449, -449, -449, -449, -449, 0,
1937 -449, -449, -449, 0, -449, -449, -449, -449, -449, -449,
1938 0, -449, -449, 0, 0, 120, 0, 1384, 0, 0,
1939 0, 0, -449, -449, -449, 0, -449, 219, 0, 0,
1940 161, 0, 7, 8, 9, 10, 11, 12, 13, 0,
1941 8, 9, 0, 14, 12, 13, 724, 0, 0, 0,
1942 14, 0, 0, 0, 0, 0, 15, 16, 17, 0,
1943 18, 19, 20, 0, 0, 17, 21, 18, 0, 0,
1944 1107, 22, 0, 21, 23, 24, 25, 0, 26, 0,
1945 0, 0, 24, 0, 27, 0, 28, 29, 0, 0,
1946 30, 27, 0, 129, 130, 0, 0, 0, 0, 0,
1947 31, 0, 0, 0, 0, 724, 0, 0, 101, 0,
1948 32, 0, 0, 0, 0, 0, 0, 0, 33, 0,
1949 0, 0, 0, 34, 0, 0, 0, 0, 0, 35,
1950 0, 0, 0, 1107, 1107, 1107, 0, 0, 0, 0,
1951 0, 101, 101, 101, 0, 0, 0, 0, 0, 0,
1952 0, 0, 0, 101, 0, 1360, 186, 1230, 1231, 1232,
1953 10, 386, 12, 282, 283, 284, 0, 285, 14, 1233,
1954 0, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 1242,
1955 1243, 15, 16, 17, 286, 18, 19, 20, 0, 287,
1956 288, 21, 0, 289, 290, 291, 22, 292, 293, 0,
1957 24, 0, 0, 0, 294, 295, 296, 297, 298, 27,
1958 0, 1244, 299, 675, 0, 1245, 300, 0, 0, 0,
1959 0, 0, 301, 0, 0, 302, 101, 0, 101, 0,
1960 0, 0, 0, 303, 304, 305, 0, 0, 0, 101,
1961 0, 306, 307, 308, 0, 0, 0, 0, 309, 0,
1962 1246, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1963 0, 0, 0, 0, 0, 1361, 310, 1229, 0, 1230,
1964 1231, 1232, 10, 386, 12, 282, 283, 284, 0, 285,
1965 14, 1233, 0, 1234, 1235, 1236, 1237, 1238, 1239, 1240,
1966 1241, 1242, 1243, 15, 16, 17, 286, 18, 19, 20,
1967 0, 287, 288, 21, 0, 289, 290, 291, 22, 292,
1968 293, 0, 24, 0, 0, 0, 294, 295, 296, 297,
1969 298, 27, 0, 1244, 299, 675, 0, 1245, 300, 0,
1970 0, 0, 0, 0, 301, 0, 0, 302, 0, 0,
1971 0, 0, 0, 0, 0, 303, 304, 305, 724, 0,
1972 0, 0, 0, 306, 307, 308, 0, 0, 0, 0,
1973 309, 517, 1246, 281, 8, 9, 10, 386, 12, 282,
1974 283, 284, 688, 285, 14, 101, 0, 0, 310, 0,
1975 0, 0, 0, 0, 0, 0, 0, 0, 0, 17,
1976 286, 18, 19, 20, 0, 287, 288, 21, 0, 289,
1977 290, 291, 22, 292, 293, 0, 24, 0, 581, 0,
1978 294, 295, 296, 297, 298, 27, 0, 28, 299, -285,
1979 0, 0, 300, 0, 0, 0, 0, 0, 301, 101,
1980 101, 869, 101, 0, 0, 0, 0, 0, 0, 303,
1981 304, 870, 0, 0, 0, 0, 0, 306, 307, 308,
1982 0, 584, 0, 0, 871, 586, 0, 517, 689, 7,
1983 8, 9, 10, 386, 12, 282, 283, 284, 688, 285,
1984 14, 0, 310, 0, 0, 0, 0, 0, 0, 0,
1985 0, 0, 0, 0, 0, 17, 286, 18, 19, 20,
1986 724, 287, 288, 21, 0, 289, 290, 291, 22, 292,
1987 293, 0, 24, 0, 581, 0, 294, 295, 296, 297,
1988 298, 27, 0, 28, 29, -285, 0, 0, 300, 0,
1989 0, 0, 724, 0, 301, 0, 0, 1132, 0, 0,
1990 0, 0, 0, 0, 0, 303, 304, 1133, 0, 0,
1991 101, 0, 101, 306, 307, 308, 0, 584, 0, 0,
1992 1134, 586, 0, 687, 689, 281, 8, 9, 10, 386,
1993 12, 282, 283, 284, 688, 285, 14, 0, 310, 0,
1994 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1995 0, 17, 286, 18, 19, 20, 0, 287, 288, 21,
1996 0, 289, 290, 291, 22, 292, 293, 0, 24, 0,
1997 0, 0, 294, 295, 296, 297, 298, 27, 0, 28,
1998 299, 0, 0, 0, 300, 0, 0, 0, 0, 0,
1999 301, 0, 0, 302, 0, 0, 0, 0, 0, 0,
2000 0, 303, 304, 305, 0, 0, 0, 0, 0, 306,
2001 307, 308, 0, 0, 0, 0, 309, 0, 0, 0,
2002 689, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2003 0, 0, -759, 802, 310, 281, 8, 9, 10, 386,
2004 12, 282, 283, 284, 0, 285, 14, 0, 0, 0,
2005 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2006 0, 17, 286, 18, 19, 20, 0, 287, 288, 21,
2007 0, 289, 290, 291, 22, 292, 293, 0, 24, 0,
2008 0, 0, 294, 295, 296, 297, 298, 27, 0, 28,
2009 299, 1449, 0, -749, 300, 0, 0, 0, 0, 0,
2010 301, 0, 0, 302, 0, 0, 0, 0, 0, 0,
2011 0, 303, 304, 305, 0, 0, 0, 0, 0, 306,
2012 307, 308, 0, 0, 0, 678, 309, 790, 791, 792,
2013 10, 0, 12, 499, 283, 284, 0, 285, 14, 0,
2014 0, 0, 0, 0, 310, 0, 0, 0, 0, 0,
2015 0, 0, 0, 17, 286, 18, 0, 20, 0, 287,
2016 288, 21, 0, 289, 290, 291, 22, 292, 293, 0,
2017 24, 0, 0, 0, 294, 295, 296, 297, 298, 27,
2018 0, 793, 794, 679, 0, 0, 300, 0, 0, 0,
2019 0, 0, 301, 0, 0, 302, 0, 0, 0, 0,
2020 0, 0, 0, 303, 304, 305, 0, 0, 0, 0,
2021 0, 306, 307, 308, 0, 0, 0, 0, 309, 795,
2022 678, 0, 790, 791, 792, 10, 0, 12, 499, 283,
2023 284, 0, 285, 14, 0, 940, 310, 0, 0, 0,
2024 0, 0, 0, 0, 0, 0, 0, 0, 17, 286,
2025 18, 0, 20, 0, 287, 288, 21, 0, 289, 290,
2026 291, 22, 292, 293, 0, 24, 0, 0, 0, 294,
2027 295, 296, 297, 298, 27, 0, 793, 794, 679, 0,
2028 0, 300, 0, 0, 0, 0, 0, 301, 0, 0,
2029 302, 0, 0, 0, 0, 0, 0, 0, 303, 304,
2030 305, 0, 0, 0, 0, 0, 306, 307, 308, 0,
2031 0, 0, 0, 309, 795, 678, 0, 790, 791, 792,
2032 10, 0, 12, 499, 283, 284, 0, 285, 14, 0,
2033 0, 310, 0, 0, 0, 0, 0, 0, 0, 0,
2034 0, 0, 0, 17, 286, 18, 0, 20, 0, 287,
2035 288, 21, 0, 289, 290, 291, 22, 292, 293, 0,
2036 24, 0, 0, 0, 294, 295, 296, 297, 298, 27,
2037 0, 793, 794, 679, 0, 0, 300, 0, 0, 0,
2038 0, 0, 301, 0, 0, 302, 0, 0, 0, 0,
2039 0, 0, 0, 303, 304, 305, 0, 0, 0, 0,
2040 0, 306, 307, 308, 0, 0, 0, 678, 309, 790,
2041 791, 792, 10, 0, 12, 499, 283, 284, 0, 285,
2042 14, 0, 0, 0, 0, -453, 310, 0, 0, 0,
2043 0, 0, 0, 0, 0, 17, 286, 18, 0, 20,
2044 0, 287, 288, 21, 0, 289, 290, 291, 22, 292,
2045 293, 0, 24, 0, 0, 0, 294, 295, 296, 297,
2046 298, 27, 0, 793, 794, 679, 0, 0, 300, 0,
2047 0, 0, 0, 0, 301, 0, 0, 302, 0, 0,
2048 0, 0, 0, 0, 0, 303, 304, 305, 0, 0,
2049 0, 0, 0, 306, 307, 308, 0, 0, 0, 678,
2050 309, 281, 8, 9, 10, 0, 12, 499, 283, 284,
2051 0, 285, 14, 0, 0, 0, 0, 1263, 310, 0,
2052 0, 0, 0, 0, 0, 0, 0, 17, 286, 18,
2053 0, 20, 0, 287, 288, 21, 0, 289, 290, 291,
2054 22, 292, 293, 0, 24, 0, 0, 0, 294, 295,
2055 296, 297, 298, 27, 0, 28, 299, 679, 0, 0,
2056 300, 0, 0, 0, 0, 0, 301, 0, 0, 302,
2057 0, 0, 0, 0, 0, 0, 0, 303, 304, 305,
2058 0, 0, 0, 0, 0, 306, 307, 308, 0, 0,
2059 0, 0, 309, 0, 0, 517, 0, 281, 8, 9,
2060 10, 1267, 12, 282, 283, 284, 0, 285, 14, 0,
2061 310, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2062 0, 0, 0, 17, 286, 18, 0, 20, 0, 287,
2063 288, 21, 0, 289, 290, 291, 22, 292, 293, 0,
2064 24, 0, 0, 0, 294, 295, 296, 297, 298, 27,
2065 0, 28, 299, -285, 0, 0, 300, 0, 0, 0,
2066 0, 0, 301, 0, 0, 518, 0, 0, 0, 0,
2067 0, 0, 0, 303, 304, 519, 0, 0, 0, 0,
2068 0, 306, 307, 308, 0, 0, 0, 678, 520, 281,
2069 8, 9, 10, 0, 12, 499, 283, 284, 0, 285,
2070 14, 0, 0, 0, 0, 0, 310, 0, 0, 0,
2071 0, 0, 0, 0, 0, 17, 286, 18, 0, 20,
2072 0, 287, 288, 21, 0, 289, 290, 291, 22, 292,
2073 293, 0, 24, 0, 0, 0, 294, 295, 296, 297,
2074 298, 27, 0, 28, 299, 679, 0, 0, 300, 0,
2075 0, 0, 0, 0, 301, 0, 0, 302, 0, 0,
2076 0, 0, 0, 0, 0, 303, 304, 305, 0, 0,
2077 0, 0, 0, 306, 307, 308, 0, 0, 0, 802,
2078 309, 281, 8, 9, 10, 0, 12, 499, 283, 284,
2079 0, 285, 14, 0, 0, 0, 0, 0, 310, 0,
2080 0, 0, 0, 0, 0, 0, 0, 17, 286, 18,
2081 0, 20, 0, 287, 288, 21, 0, 289, 290, 291,
2082 22, 292, 293, 0, 24, 0, 0, 0, 294, 295,
2083 296, 297, 298, 27, 0, 28, 299, 0, 0, 0,
2084 300, -749, 0, 0, 0, 0, 301, 0, 0, 302,
2085 0, 0, 0, 0, 0, 0, 0, 303, 304, 305,
2086 0, 0, 0, 0, 0, 306, 307, 308, 0, 0,
2087 0, 517, 309, 7, 8, 9, 10, 0, 12, 282,
2088 283, 284, 0, 285, 14, 0, 0, 0, 0, 0,
2089 310, 0, 0, 0, 0, 0, 0, 0, 0, 17,
2090 286, 18, 0, 20, 0, 287, 288, 21, 0, 289,
2091 290, 291, 22, 292, 293, 0, 24, 0, 0, 0,
2092 294, 295, 296, 297, 298, 27, 0, 28, 29, -285,
2093 0, 0, 300, 0, 0, 0, 0, 0, 301, 0,
2094 0, 1421, 0, 0, 0, 0, 0, 0, 0, 303,
2095 304, 1422, 0, 0, 0, 0, 0, 306, 307, 308,
2096 0, 0, 0, 1499, 1423, 281, 8, 9, 10, 0,
2097 12, 282, 283, 284, 0, 285, 14, 0, 0, 0,
2098 0, 0, 310, 0, 0, 0, 0, 0, 0, 0,
2099 0, 17, 286, 18, 0, 20, 0, 287, 288, 21,
2100 0, 289, 290, 291, 22, 292, 293, 0, 24, 0,
2101 0, 0, 294, 295, 296, 297, 298, 27, 0, 28,
2102 299, 0, 0, -174, 300, 0, 0, 0, 0, 0,
2103 301, 0, 0, 302, 0, 0, 0, 0, 0, 0,
2104 0, 303, 304, 305, 0, 0, 0, 0, 0, 306,
2105 307, 308, 0, 0, 0, 802, 309, 281, 8, 9,
2106 10, 0, 12, 499, 283, 284, 0, 285, 14, 0,
2107 0, 0, 0, 0, 310, 0, 0, 0, 0, 0,
2108 0, 0, 0, 17, 286, 18, 0, 20, 0, 287,
2109 288, 21, 0, 289, 290, 291, 22, 292, 293, 0,
2110 24, 0, 0, 0, 294, 295, 296, 297, 298, 27,
2111 0, 28, 299, 0, 0, 0, 300, 0, 0, 0,
2112 0, 0, 301, 0, 0, 302, 0, 0, 0, 0,
2113 0, 0, 0, 303, 304, 305, 0, 0, 0, 0,
2114 0, 306, 307, 308, 0, 0, 0, 888, 309, 281,
2115 8, 9, 10, 0, 12, 499, 283, 284, 0, 285,
2116 14, 0, 0, 0, -749, 0, 310, 0, 0, 0,
2117 0, 0, 0, 0, 0, 17, 286, 18, 0, 20,
2118 0, 287, 288, 21, 0, 289, 290, 291, 22, 292,
2119 293, 0, 24, 0, 0, 0, 294, 295, 296, 297,
2120 298, 27, 0, 28, 299, 0, 0, 0, 300, 0,
2121 0, 0, 0, 0, 301, 0, 0, 302, 0, 0,
2122 0, 0, 0, 0, 0, 303, 304, 305, 0, 0,
2123 0, 0, 0, 306, 307, 308, 0, 0, 0, 890,
2124 309, 281, 8, 9, 10, 0, 12, 499, 283, 284,
2125 0, 285, 14, 0, 0, 0, 0, 0, 310, 0,
2126 0, 0, 0, 0, 0, 0, 0, 17, 286, 18,
2127 0, 20, 0, 287, 288, 21, 0, 289, 290, 291,
2128 22, 292, 293, 0, 24, 0, 0, 0, 294, 295,
2129 296, 297, 298, 27, 0, 28, 299, 0, 0, 0,
2130 300, 0, 0, 0, 0, 0, 301, 0, 0, 302,
2131 0, 0, 0, 0, 0, 0, 0, 303, 304, 305,
2132 0, 0, 0, 0, 0, 306, 307, 308, 0, 0,
2133 0, 1434, 309, 281, 8, 9, 10, 0, 12, 499,
2134 283, 284, 0, 285, 14, 0, 0, 0, 0, 0,
2135 310, 0, 0, 0, 0, 0, 0, 0, 0, 17,
2136 286, 18, 0, 20, 0, 287, 288, 21, 0, 289,
2137 290, 291, 22, 292, 293, 0, 24, 0, 0, 0,
2138 294, 295, 296, 297, 298, 27, 0, 28, 299, 0,
2139 0, 0, 300, 0, 0, 0, 0, 0, 301, 0,
2140 0, 302, 0, 0, 0, 0, 0, 0, 0, 303,
2141 304, 305, 0, 0, 0, 0, 0, 306, 307, 308,
2142 281, 8, 9, 10, 309, 12, 499, 283, 284, 0,
2143 285, 14, 0, 0, 0, 0, 0, 0, 0, 0,
2144 0, 0, 310, 0, 0, 0, 17, 286, 18, 0,
2145 20, 0, 287, 288, 21, 0, 289, 290, 291, 22,
2146 292, 293, 0, 24, 0, 0, 0, 294, 295, 296,
2147 297, 298, 27, 0, 28, 299, 0, 0, 0, 300,
2148 0, 0, 0, 0, 0, 301, 0, 0, 302, 0,
2149 0, 0, 0, 0, 0, 0, 303, 304, 305, 0,
2150 0, 0, 0, 0, 306, 307, 308, 0, 0, 0,
2151 0, 309, 0, 0, 0, 0, 0, 0, 0, 0,
2152 0, 0, 0, 0, 0, 0, 0, 0, 0, 310,
2153 841, 1230, 1231, 1232, 10, 386, 12, 282, 283, 284,
2154 0, 285, 14, 1233, 0, 1234, 1235, 1236, 1237, 1238,
2155 1239, 1240, 1241, 1242, 1243, 15, 16, 17, 286, 18,
2156 19, 20, 0, 287, 288, 21, 0, 289, 290, 291,
2157 22, 292, 293, 0, 24, 0, 0, 0, 294, 295,
2158 296, 297, 298, 27, 0, 1244, 299, 675, 0, 1245,
2159 300, 0, 0, 0, 0, 0, 301, 0, 0, 302,
2160 0, 0, 0, 0, 0, 0, 0, 303, 304, 305,
2161 0, 0, 0, 0, 0, 306, 307, 308, 0, 0,
2162 0, 0, 309, 0, 1246, 0, 0, 0, 0, 0,
2163 0, 0, 0, 0, 0, 0, 0, 0, 0, 1365,
2164 310, 1230, 1231, 1232, 10, 386, 12, 282, 283, 284,
2165 0, 285, 14, 1233, 0, 1234, 1235, 1236, 1237, 1238,
2166 1239, 1240, 1241, 1242, 1243, 15, 16, 17, 286, 18,
2167 19, 20, 0, 287, 288, 21, 0, 289, 290, 291,
2168 22, 292, 293, 0, 24, 0, 0, 0, 294, 295,
2169 296, 297, 298, 27, 0, 1244, 299, 675, 0, 1245,
2170 300, 0, 0, 0, 0, 0, 301, 0, 0, 302,
2171 0, 0, 0, 0, 0, 0, 0, 303, 304, 305,
2172 0, 0, 0, 0, 0, 306, 307, 308, 0, 0,
2173 0, 0, 309, 0, 1246, 0, 0, 1230, 1231, 1232,
2174 10, 386, 12, 282, 283, 284, 0, 285, 14, 1233,
2175 310, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 1242,
2176 1243, 15, 16, 17, 286, 18, 19, 20, 0, 287,
2177 288, 21, 0, 289, 290, 291, 22, 292, 293, 0,
2178 24, 0, 0, 0, 294, 295, 296, 297, 298, 27,
2179 0, 1244, 299, 1476, 0, 1245, 300, 0, 0, 0,
2180 0, 0, 301, 0, 0, 302, 0, 0, 0, 0,
2181 0, 0, 0, 303, 304, 305, 0, 0, 0, 0,
2182 0, 306, 307, 308, 0, 0, 0, 0, 309, 0,
2183 1246, 0, 0, 1230, 1231, 1232, 10, 386, 12, 282,
2184 283, 284, 0, 285, 14, 1233, 310, 1234, 1235, 1236,
2185 1237, 1238, 1239, 1240, 1241, 1242, 1243, 15, 16, 17,
2186 286, 18, 19, 20, 0, 287, 288, 21, 0, 289,
2187 290, 291, 22, 292, 293, 0, 24, 0, 0, 0,
2188 294, 295, 296, 297, 298, 27, 0, 1244, 299, 0,
2189 0, 1245, 300, 0, 0, 0, 0, 0, 301, 0,
2190 0, 302, 0, 0, 0, 0, 0, 0, 0, 303,
2191 304, 305, 0, 0, 0, 0, 0, 306, 307, 308,
2192 0, 0, 0, 0, 309, 0, 1246, 281, 8, 9,
2193 10, 386, 12, 282, 283, 284, 688, 285, 14, 0,
2194 0, 0, 310, 0, 0, 0, 0, 0, 0, 0,
2195 0, 0, 0, 17, 286, 18, 19, 20, 0, 287,
2196 288, 21, 0, 289, 290, 291, 22, 292, 293, 0,
2197 24, 0, 581, 0, 294, 295, 296, 297, 298, 27,
2198 0, 28, 299, 0, 0, 0, 300, 0, 0, 0,
2199 0, 0, 301, 0, 0, 869, 0, 0, 0, 0,
2200 0, 0, 0, 303, 304, 870, 0, 0, 0, 0,
2201 0, 306, 307, 308, 0, 584, 0, 0, 871, 586,
2202 0, 0, 689, 7, 8, 9, 10, 386, 12, 282,
2203 283, 284, 688, 285, 14, 0, 310, 0, 0, 0,
2204 0, 0, 0, 0, 0, 0, 0, 0, 0, 17,
2205 286, 18, 19, 20, 0, 287, 288, 21, 0, 289,
2206 290, 291, 22, 292, 293, 0, 24, 0, 581, 0,
2207 294, 295, 296, 297, 298, 27, 0, 28, 29, 0,
2208 0, 0, 300, 0, 0, 0, 0, 0, 301, 0,
2209 0, 1132, 0, 0, 0, 0, 0, 0, 0, 303,
2210 304, 1133, 0, 0, 0, 0, 0, 306, 307, 308,
2211 0, 584, 0, 0, 1134, 586, 0, 0, 689, 281,
2212 8, 9, 10, 0, 12, 282, 283, 284, 0, 285,
2213 14, 0, 310, 0, 0, 0, 0, 0, 0, 0,
2214 0, 0, 0, 0, 0, 17, 286, 18, 0, 20,
2215 0, 287, 288, 21, 0, 289, 290, 291, 22, 292,
2216 293, 0, 24, 0, 581, 0, 294, 295, 296, 297,
2217 298, 27, 0, 28, 299, 0, 0, 0, 0, 0,
2218 0, 0, 0, 0, 301, 0, 0, 869, 0, 0,
2219 0, 0, 0, 0, 0, 303, 304, 870, 0, 0,
2220 0, 0, 0, 306, 307, 308, 0, 584, 0, 0,
2221 871, 586, 7, 8, 9, 10, 0, 12, 282, 283,
2222 284, 0, 285, 14, 0, 0, 0, 0, 310, 0,
2223 0, 0, 0, 0, 0, 0, 0, 0, 17, 286,
2224 18, 0, 20, 0, 287, 288, 21, 0, 289, 290,
2225 291, 22, 292, 293, 0, 24, 0, 581, 0, 294,
2226 295, 296, 297, 298, 27, 0, 28, 29, 0, 0,
2227 0, 0, 0, 0, 0, 0, 0, 301, 0, 0,
2228 1132, 0, 0, 0, 0, 0, 0, 0, 303, 304,
2229 1133, 0, 0, 0, 0, 0, 306, 307, 308, 0,
2230 584, 0, 0, 1134, 586, 281, 8, 9, 10, 0,
2231 12, 499, 283, 284, 0, 285, 14, 0, 0, 0,
2232 0, 310, 0, 0, 0, 0, 0, 0, 0, 0,
2233 0, 17, 286, 18, 0, 20, 0, 287, 288, 21,
2234 0, 289, 290, 291, 22, 292, 293, 0, 24, 0,
2235 0, 0, 294, 295, 296, 297, 298, 27, 0, 28,
2236 299, 0, 0, 1342, 300, 0, 0, 0, 0, 0,
2237 301, 0, 0, 302, 0, 0, 0, 0, 0, 0,
2238 0, 303, 304, 305, 0, 0, 0, 0, 0, 306,
2239 307, 308, 0, 0, 0, 0, 309, 281, 8, 9,
2240 10, 386, 12, 282, 283, 284, 0, 285, 14, 0,
2241 0, 0, 0, 0, 310, 0, 0, 0, 0, 0,
2242 0, 0, 0, 17, 286, 18, 19, 20, 0, 287,
2243 288, 21, 0, 289, 290, 291, 22, 292, 293, 0,
2244 24, 0, 0, 0, 294, 295, 296, 297, 298, 27,
2245 0, 28, 299, 0, 0, 0, 0, 0, 0, 0,
2246 0, 0, 301, 0, 0, 302, 0, 0, 0, 0,
2247 0, 0, 0, 303, 304, 305, 0, 0, 0, 0,
2248 0, 306, 307, 308, 281, 8, 9, 10, 309, 12,
2249 282, 283, 284, 0, 285, 14, 0, 0, 0, 0,
2250 0, 0, 0, 0, 0, 0, 310, 0, 0, 0,
2251 17, 286, 18, 0, 20, 0, 287, 288, 21, 0,
2252 289, 290, 291, 22, 292, 293, 0, 24, 0, 0,
2253 0, 294, 295, 296, 297, 298, 27, 0, 28, 299,
2254 0, 0, 0, 300, 0, 0, 0, 0, 0, 301,
2255 0, 0, 302, 0, 0, 0, 0, 0, 0, 0,
2256 303, 304, 305, 0, 0, 0, 0, 0, 306, 307,
2257 308, 281, 8, 9, 10, 309, 12, 499, 283, 284,
2258 0, 285, 14, 0, 0, 0, 0, 0, 0, 0,
2259 0, 0, 0, 310, 0, 0, 0, 17, 286, 18,
2260 0, 20, 0, 287, 288, 21, 0, 289, 290, 291,
2261 22, 292, 293, 0, 24, 0, 0, 0, 294, 295,
2262 296, 297, 298, 27, 0, 28, 299, 0, 0, 0,
2263 300, 0, 0, 0, 0, 0, 301, 0, 0, 302,
2264 0, 0, 0, 0, 0, 0, 0, 303, 304, 305,
2265 0, 0, 0, 0, 0, 306, 307, 308, 281, 8,
2266 9, 10, 309, 12, 499, 283, 284, 0, 285, 14,
2267 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2268 310, 0, 0, 0, 17, 286, 18, 0, 20, 0,
2269 287, 288, 21, 0, 289, 290, 291, 22, 292, 293,
2270 0, 24, 0, 0, 0, 294, 295, 296, 297, 298,
2271 27, 0, 28, 299, 532, 0, 0, 0, 0, 0,
2272 0, 0, 0, 301, 0, 0, 302, 0, 0, 0,
2273 0, 0, 0, 0, 303, 304, 305, 0, 0, 0,
2274 0, 0, 306, 307, 308, 281, 8, 9, 10, 533,
2275 12, 499, 283, 284, 0, 285, 14, 0, 0, 0,
2276 0, 0, 0, 0, 0, 0, 0, 310, 0, 0,
2277 0, 17, 286, 18, 0, 20, 0, 287, 288, 21,
2278 0, 289, 290, 291, 22, 292, 293, 0, 24, 0,
2279 0, 0, 294, 295, 296, 297, 298, 27, 0, 28,
2280 299, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2281 301, 0, 0, 302, 0, 0, 0, 0, 0, 0,
2282 0, 303, 304, 305, 0, 0, 0, 0, 0, 306,
2283 307, 308, 0, 0, 0, 0, 309, 569, 281, 8,
2284 9, 10, 0, 12, 499, 283, 284, 0, 285, 14,
2285 0, 0, 0, 0, 310, 0, 0, 0, 0, 0,
2286 0, 0, 0, 0, 17, 286, 18, 0, 20, 0,
2287 287, 288, 21, 0, 289, 290, 291, 22, 292, 293,
2288 0, 24, 0, 0, 0, 294, 295, 296, 297, 298,
2289 27, 0, 28, 299, 0, 0, 0, 300, 0, 0,
2290 0, 0, 0, 301, 0, 0, 518, 0, 0, 0,
2291 0, 0, 0, 0, 303, 304, 519, 0, 0, 0,
2292 0, 0, 306, 307, 308, 1094, 8, 9, 10, 520,
2293 12, 499, 283, 284, 0, 285, 14, 0, 0, 0,
2294 0, 0, 0, 0, 0, 0, 0, 310, 0, 0,
2295 0, 17, 286, 18, 0, 20, 0, 287, 288, 21,
2296 0, 289, 290, 291, 22, 292, 293, 0, 24, 0,
2297 0, 0, 294, 295, 296, 297, 298, 27, 0, 28,
2298 299, 0, 0, 0, 300, 0, 0, 0, 0, 0,
2299 301, 0, 0, 302, 0, 0, 0, 0, 0, 0,
2300 0, 303, 304, 305, 0, 0, 0, 0, 0, 306,
2301 307, 308, 7, 8, 9, 10, 309, 12, 499, 283,
2302 284, 0, 285, 14, 0, 0, 0, 0, 0, 0,
2303 0, 0, 0, 0, 310, 0, 0, 0, 17, 286,
2304 18, 0, 20, 0, 287, 288, 21, 0, 289, 290,
2305 291, 22, 292, 293, 0, 24, 0, 0, 0, 294,
2306 295, 296, 297, 298, 27, 0, 28, 29, 0, 0,
2307 0, 300, 0, 0, 0, 0, 0, 301, 0, 0,
2308 1421, 0, 0, 0, 0, 0, 0, 0, 303, 304,
2309 1422, 0, 0, 0, 0, 0, 306, 307, 308, 281,
2310 8, 9, 10, 1423, 12, 499, 283, 284, 0, 285,
2311 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2312 0, 310, 0, 0, 0, 17, 286, 18, 0, 20,
2313 0, 287, 288, 21, 0, 289, 290, 291, 22, 292,
2314 293, 0, 24, 0, 0, 0, 294, 295, 296, 297,
2315 298, 27, 0, 28, 299, 0, 0, 0, 0, 0,
2316 0, 0, 0, 0, 301, 0, 0, 302, 0, 0,
2317 0, 0, 0, 0, 0, 303, 304, 305, 0, 0,
2318 0, 0, 0, 306, 307, 308, 281, 8, 9, 10,
2319 500, 12, 499, 283, 284, 0, 285, 14, 0, 0,
2320 0, 0, 0, 0, 0, 0, 0, 0, 310, 0,
2321 0, 0, 17, 286, 18, 0, 20, 0, 287, 288,
2322 21, 0, 289, 290, 291, 22, 292, 293, 0, 24,
2323 0, 0, 0, 294, 295, 296, 297, 298, 27, 0,
2324 28, 299, 0, 0, 0, 0, 0, 0, 0, 0,
2325 0, 301, 0, 0, 302, 0, 0, 0, 0, 0,
2326 0, 0, 303, 304, 305, 0, 0, 0, 0, 0,
2327 306, 307, 308, 281, 8, 9, 10, 503, 12, 499,
2328 283, 284, 0, 285, 14, 0, 0, 0, 0, 0,
2329 0, 0, 0, 0, 0, 310, 0, 0, 0, 17,
2330 286, 18, 0, 20, 0, 287, 288, 21, 0, 289,
2331 290, 291, 22, 292, 293, 0, 24, 0, 0, 0,
2332 294, 295, 296, 297, 298, 27, 0, 28, 299, 0,
2333 0, 0, 0, 0, 0, 0, 0, 0, 301, 0,
2334 0, 302, 0, 0, 0, 0, 0, 0, 0, 303,
2335 304, 305, 0, 0, 0, 0, 0, 306, 307, 308,
2336 281, 8, 9, 10, 309, 12, 499, 283, 284, 0,
2337 285, 14, 0, 0, 0, 0, 0, 0, 0, 0,
2338 0, 0, 310, 0, 0, 0, 17, 286, 18, 0,
2339 20, 0, 287, 288, 21, 0, 289, 290, 291, 22,
2340 292, 293, 0, 24, 0, 0, 0, 294, 295, 296,
2341 297, 298, 27, 0, 28, 299, 0, 0, 0, 0,
2342 0, 0, 0, 0, 0, 301, 0, 0, 518, 0,
2343 0, 0, 0, 0, 0, 0, 303, 304, 519, 0,
2344 0, 0, 0, 0, 306, 307, 308, 7, 8, 9,
2345 10, 520, 12, 282, 283, 284, 0, 285, 14, 0,
2346 0, 0, 0, 0, 0, 0, 0, 0, 0, 310,
2347 0, 0, 0, 17, 286, 18, 0, 20, 0, 287,
2348 288, 21, 0, 289, 290, 291, 22, 292, 293, 0,
2349 24, 0, 0, 0, 294, 295, 296, 297, 298, 27,
2350 0, 28, 29, 0, 0, 0, 0, 0, 0, 0,
2351 0, 0, 301, 0, 6, 1421, 7, 8, 9, 10,
2352 11, 12, 13, 303, 304, 1422, 0, 14, 0, 0,
2353 0, 306, 307, 308, 0, 0, 0, 0, 1423, 0,
2354 0, 0, 17, 0, 18, 19, 0, 0, 0, 0,
2355 21, 0, 0, 0, 0, 22, 310, 0, 0, 24,
2356 0, 0, 411, 0, 0, 0, 0, 0, 27, 0,
2357 28, 29, 0, 0, 30, -357, 8, 9, -357, -357,
2358 12, 227, 0, 0, 31, 0, 14, 0, 0, 0,
2359 0, 0, 0, 0, 32, 0, 0, 0, 0, 0,
2360 0, 17, 33, 18, -357, 0, 0, 34, 0, 21,
2361 0, 0, 0, 0, -357, 0, 0, 0, 24, 0,
2362 581, 0, 0, 0, 0, 0, 0, 27, 0, 129,
2363 130, 7, 8, 9, 10, 189, 12, 190, 0, 0,
2364 0, 0, 14, 582, 0, 0, 0, 0, 0, 0,
2365 0, 0, 0, 583, 0, 0, 0, 17, 0, 18,
2366 19, -357, 0, 584, 0, 21, 585, 586, 0, 0,
2367 22, 0, 0, 0, 24, 0, 989, 8, 733, 10,
2368 189, 12, 190, 27, 0, 28, 29, 14, 0, 191,
2369 0, 0, 0, 0, 0, 0, 0, 0, 0, 31,
2370 0, 0, 17, 0, 18, 19, 0, 0, 0, 32,
2371 21, 0, 0, 0, 0, 22, 0, 33, 0, 24,
2372 0, 0, 34, 0, 0, 0, 0, 0, 27, 0,
2373 28, 29, 0, 0, 0, 0, 991, 7, 8, 9,
2374 10, 189, 12, 190, 31, 0, 0, 0, 14, 0,
2375 0, 0, 0, 0, 32, 0, 0, 0, 0, 0,
2376 0, 0, 33, 17, 0, 18, 19, 34, 0, 0,
2377 0, 21, 0, 0, 0, 0, 22, 0, 0, 0,
2378 24, 0, 7, 8, 9, 10, 386, 12, 13, 27,
2379 0, 28, 29, 14, 0, 1355, 0, 0, 0, 0,
2380 0, 0, 0, 0, 0, 31, 0, 0, 17, 0,
2381 18, 19, 0, 0, 0, 32, 21, 0, 0, 0,
2382 0, 22, 0, 33, 0, 24, 0, 0, 34, 0,
2383 0, 0, 0, 0, 27, 0, 28, 29, 7, 8,
2384 9, 10, 189, 12, 190, 0, 0, 0, 0, 14,
2385 31, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2386 32, 0, 0, 0, 17, 0, 18, 19, 33, 0,
2387 0, 0, 21, 34, 0, 0, 0, 22, 0, 0,
2388 0, 24, 0, 7, 8, 9, 10, 198, 199, 200,
2389 27, 0, 28, 29, 14, 0, 0, 0, 0, 0,
2390 0, 0, 0, 0, 0, 0, 31, 0, 0, 0,
2391 0, 0, 19, 0, 0, 0, 32, 21, 0, 0,
2392 0, 0, 22, 0, 33, 1411, 24, 0, 581, 34,
2393 0, 0, 0, 0, 0, 27, 0, 28, 29, 535,
2394 536, 537, 538, 539, 540, 541, 542, 543, 544, 545,
2395 546, 177, 548, 549, 550, 551, 552, 553, 554, 555,
2396 556, 178, 0, 0, 0, 0, 0, 19, 0, 33,
2397 0, 0, 0, 0, 1358, 0, 1412, 535, 536, 537,
2398 538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
2399 548, 549, 550, 551, 552, 553, 554, 555, 556, 535,
2400 536, 537, 538, 539, 540, 541, 542, 543, 544, 545,
2401 546, 547, 548, 549, 550, 551, 552, 553, 554, 555,
2402 556, 535, 536, 537, 538, 539, 540, 541, 542, 543,
2403 544, 545, 546, 547, 548, 549, 550, 551, 552, 553,
2404 554, 555, 556, 535, 536, 537, 538, 539, 540, 541,
2405 542, 543, 544, 545, 546, 547, 548, 549, 550, 551,
2406 552, 553, 554, 555, 556, 0, 0, 0, 0, 0,
2407 1185, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2408 0, 0, 0, 0, 0, 621, 0, 0, 1466, 535,
2409 536, 537, 538, 539, 540, 541, 542, 543, 544, 545,
2410 546, 547, 548, 549, 550, 551, 552, 553, 554, 555,
2411 556, 1484, 535, 536, 537, 538, 539, 540, 541, 542,
2412 543, 544, 545, 546, 547, 548, 549, 550, 551, 552,
2413 553, 554, 555, 556, 535, 536, 537, 538, 539, 540,
2414 541, 542, 543, 544, 545, 546, 547, 548, 549, 550,
2415 551, 552, 553, 554, 555, 556
2416 };
2417
2418 static const short yycheck[] = { 4,
2419 156, 79, 4, 426, 673, 670, 54, 24, 4, 125,
2420 4, 193, 329, 385, 232, 335, 448, 83, 336, 337,
2421 385, 4, 285, 286, 385, 58, 530, 146, 147, 653,
2422 469, 36, 14, 4, 36, 830, 41, 31, 32, 41,
2423 36, 123, 36, 223, 132, 41, 228, 41, 660, 353,
2424 737, 56, 739, 36, 317, 4, 201, 202, 41, 746,
2425 34, 4, 1254, 141, 585, 36, 71, 421, 128, 1261,
2426 41, 592, 193, 133, 392, 393, 132, 133, 83, 4,
2427 61, 202, 87, 1408, 89, 56, 91, 36, 11, 83,
2428 1247, 1324, 41, 36, 38, 277, 1409, 11, 41, 11,
2429 82, 106, 107, 53, 34, 1155, 1156, 1410, 9, 187,
2430 79, 36, 45, 48, 60, 63, 41, 335, 456, 1169,
2431 60, 1446, 59, 105, 0, 65, 7, 63, 65, 0,
2432 135, 136, 89, 138, 91, 473, 76, 754, 60, 75,
2433 63, 135, 75, 760, 385, 1, 75, 329, 1, 59,
2434 49, 12, 146, 147, 586, 160, 1, 38, 83, 94,
2435 193, 62, 110, 1426, 135, 111, 160, 111, 201, 202,
2436 524, 12, 146, 147, 148, 110, 287, 288, 1481, 136,
2437 12, 111, 1445, 177, 178, 502, 135, 110, 110, 160,
2438 100, 302, 135, 434, 305, 228, 110, 308, 110, 60,
2439 311, 151, 63, 59, 315, 179, 59, 63, 106, 107,
2440 135, 160, 323, 1526, 59, 196, 1541, 160, 63, 60,
2441 63, 1413, 63, 204, 65, 75, 48, 36, 60, 94,
2442 48, 63, 41, 672, 184, 160, 1286, 98, 326, 1502,
2443 96, 25, 55, 65, 277, 1295, 1296, 229, 1298, 110,
2444 867, 96, 1409, 1486, 1049, 61, 322, 98, 414, 3,
2445 4, 5, 75, 1455, 197, 60, 98, 110, 880, 94,
2446 326, 883, 94, 278, 243, 59, 94, 95, 902, 63,
2447 34, 76, 643, 365, 604, 61, 60, 39, 4, 5,
2448 608, 94, 110, 9, 63, 355, 329, 48, 76, 60,
2449 78, 48, 61, 55, 309, 111, 75, 452, 453, 921,
2450 922, 1503, 96, 57, 58, 460, 109, 322, 48, 379,
2451 674, 440, 441, 379, 696, 330, 61, 472, 322, 633,
2452 75, 696, 453, 338, 339, 111, 110, 81, 55, 55,
2453 388, 57, 58, 94, 585, 339, 491, 94, 95, 110,
2454 871, 592, 111, 335, 48, 71, 574, 390, 75, 976,
2455 60, 27, 28, 110, 94, 81, 32, 25, 339, 27,
2456 28, 988, 767, 768, 769, 692, 111, 48, 75, 95,
2457 385, 338, 1432, 1433, 389, 48, 48, 94, 909, 385,
2458 339, 385, 146, 147, 148, 61, 339, 322, 1193, 65,
2459 94, 59, 906, 25, 1021, 63, 1023, 518, 519, 832,
2460 110, 309, 61, 48, 339, 25, 61, 27, 28, 452,
2461 453, 55, 55, 94, 95, 179, 55, 460, 949, 434,
2462 65, 94, 94, 95, 48, 416, 868, 55, 96, 472,
2463 434, 75, 75, 4, 5, 111, 440, 441, 110, 59,
2464 8, 9, 770, 63, 32, 696, 14, 75, 491, 94,
2465 385, 63, 3, 4, 5, 470, 440, 441, 442, 3,
2466 4, 5, 6, 1085, 1086, 59, 470, 63, 459, 37,
2467 94, 95, 75, 1170, 48, 55, 96, 470, 46, 75,
2468 48, 48, 497, 63, 55, 500, 57, 58, 503, 55,
2469 566, 470, 507, 508, 509, 510, 511, 48, 42, 434,
2470 71, 4, 5, 754, 55, 520, 57, 58, 446, 760,
2471 81, 470, 4, 57, 58, 530, 454, 470, 533, 462,
2472 94, 903, 55, 431, 95, 974, 94, 94, 903, 166,
2473 497, 721, 903, 723, 48, 470, 4, 5, 728, 48,
2474 59, 55, 75, 94, 36, 89, 876, 60, 61, 41,
2475 565, 566, 610, 111, 57, 58, 3, 4, 5, 714,
2476 48, 75, 566, 94, 3, 4, 5, 48, 611, 48,
2477 585, 899, 55, 937, 76, 1106, 55, 592, 582, 583,
2478 94, 585, 55, 4, 5, 94, 95, 779, 592, 57,
2479 58, 649, 500, 651, 652, 503, 75, 55, 48, 507,
2480 873, 95, 49, 1134, 596, 731, 94, 1040, 1041, 652,
2481 57, 58, 520, 94, 641, 94, 867, 1059, 57, 58,
2482 871, 636, 48, 110, 48, 533, 48, 11, 49, 537,
2483 1251, 566, 1253, 55, 692, 650, 57, 58, 48, 654,
2484 60, 61, 4, 5, 94, 672, 110, 9, 876, 692,
2485 585, 110, 903, 75, 110, 563, 111, 592, 909, 48,
2486 81, 569, 4, 5, 14, 94, 48, 1116, 94, 636,
2487 94, 714, 94, 23, 61, 48, 440, 441, 442, 8,
2488 9, 696, 1449, 3, 94, 14, 744, 1015, 1016, 1017,
2489 60, 61, 696, 55, 113, 57, 58, 1130, 949, 1148,
2490 25, 95, 27, 28, 95, 94, 1139, 1140, 37, 71,
2491 63, 1144, 94, 55, 64, 57, 58, 46, 113, 81,
2492 841, 94, 737, 9, 739, 976, 12, 1054, 1495, 94,
2493 745, 746, 60, 737, 59, 739, 779, 988, 63, 754,
2494 755, 756, 746, 758, 737, 760, 739, 63, 869, 870,
2495 754, 94, 1185, 746, 1055, 1056, 760, 1058, 737, 75,
2496 739, 696, 48, 744, 745, 75, 745, 746, 4, 5,
2497 1021, 96, 1023, 123, 60, 75, 62, 63, 737, 65,
2498 739, 971, 972, 973, 737, 75, 739, 746, 755, 756,
2499 76, 758, 78, 746, 1469, 145, 75, 740, 741, 11,
2500 27, 28, 737, 111, 739, 32, 749, 110, 94, 95,
2501 1489, 746, 98, 49, 829, 4, 5, 60, 833, 754,
2502 55, 57, 58, 110, 110, 760, 914, 27, 28, 84,
2503 85, 55, 110, 60, 61, 60, 61, 110, 65, 63,
2504 1273, 3, 4, 5, 6, 81, 861, 3, 4, 5,
2505 6, 75, 867, 4, 5, 1106, 871, 75, 60, 110,
2506 49, 111, 48, 867, 61, 869, 870, 871, 57, 58,
2507 220, 221, 60, 61, 76, 1203, 78, 111, 1311, 65,
2508 42, 113, 232, 1134, 876, 113, 42, 49, 903, 110,
2509 905, 906, 81, 49, 909, 57, 58, 903, 49, 903,
2510 75, 57, 58, 907, 908, 909, 57, 58, 94, 95,
2511 60, 61, 1000, 60, 61, 25, 75, 27, 28, 81,
2512 55, 979, 75, 113, 55, 909, 1253, 89, 113, 837,
2513 81, 110, 867, 89, 949, 59, 871, 3, 4, 5,
2514 1061, 7, 8, 9, 55, 949, 4, 5, 963, 59,
2515 110, 301, 63, 63, 969, 3, 4, 5, 6, 55,
2516 94, 976, 110, 871, 75, 949, 110, 63, 903, 8,
2517 113, 1335, 976, 988, 909, 1104, 1105, 4, 5, 75,
2518 3, 4, 5, 1347, 988, 48, 96, 65, 60, 94,
2519 48, 57, 58, 343, 42, 111, 1011, 55, 979, 57,
2520 58, 61, 352, 1132, 1133, 55, 1021, 1011, 1023, 57,
2521 58, 1132, 1133, 71, 949, 365, 37, 1021, 1011, 1023,
2522 1108, 1000, 49, 81, 65, 65, 49, 65, 110, 61,
2523 57, 58, 1011, 91, 57, 58, 94, 95, 3, 4,
2524 5, 976, 7, 8, 9, 63, 110, 94, 1063, 992,
2525 65, 110, 1011, 988, 81, 998, 999, 1439, 1011, 1002,
2526 1003, 969, 1426, 1006, 1439, 55, 110, 55, 110, 65,
2527 65, 60, 37, 63, 110, 63, 1011, 3, 4, 5,
2528 717, 1445, 3, 4, 5, 75, 1021, 75, 1023, 1116,
2529 55, 1106, 57, 58, 59, 63, 1063, 113, 1531, 110,
2530 1104, 1105, 1106, 110, 3, 4, 5, 6, 1472, 3,
2531 4, 5, 1127, 110, 751, 1127, 1443, 467, 110, 1134,
2532 1104, 1105, 1106, 1127, 76, 76, 1247, 55, 1132, 1133,
2533 1134, 57, 58, 59, 1127, 63, 57, 58, 1502, 76,
2534 105, 106, 107, 42, 76, 909, 1510, 75, 1132, 1133,
2535 1134, 4, 5, 4, 5, 1170, 55, 110, 57, 58,
2536 56, 55, 58, 57, 58, 59, 1170, 110, 1127, 110,
2537 63, 1106, 63, 60, 87, 63, 89, 1170, 91, 3,
2538 4, 5, 532, 110, 113, 949, 111, 1166, 1439, 95,
2539 89, 1170, 1127, 1251, 110, 1253, 110, 89, 49, 1134,
2540 75, 113, 55, 48, 57, 58, 57, 58, 110, 110,
2541 1253, 1170, 3, 4, 5, 113, 7, 1170, 71, 60,
2542 110, 110, 65, 136, 574, 138, 1134, 113, 81, 110,
2543 81, 55, 1247, 57, 58, 1170, 110, 1252, 111, 1254,
2544 31, 111, 1254, 1247, 65, 60, 1261, 38, 60, 1261,
2545 1254, 1443, 1418, 110, 1247, 1270, 110, 1261, 94, 94,
2546 94, 1254, 94, 111, 55, 8, 57, 58, 1261, 113,
2547 166, 110, 110, 1181, 1182, 1183, 1184, 3, 4, 5,
2548 6, 27, 28, 1191, 110, 110, 32, 110, 1247, 111,
2549 110, 641, 1421, 1422, 113, 1254, 110, 193, 34, 110,
2550 1421, 1422, 1261, 653, 110, 201, 202, 81, 82, 83,
2551 84, 85, 1247, 110, 60, 61, 42, 110, 110, 1254,
2552 65, 110, 55, 49, 110, 110, 1261, 48, 63, 679,
2553 113, 57, 58, 110, 1242, 110, 97, 3, 4, 5,
2554 1104, 1105, 1106, 110, 981, 982, 7, 8, 9, 63,
2555 1293, 1294, 63, 14, 61, 81, 3, 4, 5, 61,
2556 7, 8, 9, 89, 9, 31, 61, 16, 1132, 1133,
2557 1134, 32, 110, 1010, 1358, 94, 37, 94, 3, 4,
2558 5, 110, 712, 110, 61, 46, 1444, 300, 1403, 55,
2559 37, 57, 58, 1408, 1409, 1410, 1408, 110, 1413, 1403,
2560 1443, 1413, 4, 5, 1408, 1409, 1410, 110, 1423, 1413,
2561 57, 58, 113, 110, 1357, 1408, 1409, 1421, 1422, 61,
2562 1413, 94, 94, 753, 1439, 338, 3, 4, 5, 759,
2563 55, 1446, 57, 58, 1446, 1439, 1344, 1421, 1422, 1423,
2564 1455, 17, 1446, 1455, 61, 109, 99, 49, 110, 1408,
2565 1409, 1455, 61, 1446, 1413, 57, 58, 11, 110, 110,
2566 110, 61, 1455, 61, 61, 94, 1481, 60, 1403, 65,
2567 110, 61, 110, 1408, 1409, 1410, 110, 1481, 1413, 11,
2568 57, 58, 4, 5, 3, 4, 5, 1446, 1503, 61,
2569 11, 1503, 61, 389, 390, 1403, 1455, 0, 0, 1503,
2570 0, 1409, 1410, 413, 1439, 355, 2, 903, 745, 1116,
2571 1503, 1446, 160, 426, 427, 1423, 3, 4, 5, 6,
2572 1455, 434, 93, 45, 1161, 1162, 1541, 1164, 1165, 1541,
2573 1167, 1474, 862, 55, 864, 57, 58, 1541, 57, 58,
2574 1468, 160, 892, 138, 1503, 1334, 1481, 1541, 1541, 445,
2575 280, 48, 902, 1252, 892, 42, 452, 453, 679, 222,
2576 456, 887, 49, 1148, 460, 974, 1011, 745, 1503, 1168,
2577 57, 58, 617, 1481, 7, 8, 9, 473, 885, 566,
2578 184, 14, 1541, 123, 497, 498, 326, 1254, 1128, 1497,
2579 87, 88, 1510, 1489, 1358, 92, 93, 94, 95, 32,
2580 1458, 1520, 89, 34, 37, 1522, 1541, 958, 1270, -1,
2581 -1, 1519, -1, 46, -1, -1, -1, 530, 1526, 532,
2582 -1, -1, 535, 536, -1, 538, 539, 540, 541, 542,
2583 543, 544, 545, 546, 547, 548, 549, 550, 551, 552,
2584 553, 554, 555, 556, -1, -1, 1283, 1284, -1, 562,
2585 -1, 564, 565, -1, -1, -1, -1, 1421, 1422, 1423,
2586 -1, -1, -1, -1, -1, 1, -1, 3, 4, 5,
2587 6, 7, 8, 9, -1, 7, 8, 9, 14, 592,
2588 4, 5, 14, -1, -1, 9, 599, -1, -1, -1,
2589 1020, 1041, 1022, 29, -1, 31, 32, 33, -1, -1,
2590 32, 37, 38, -1, -1, 37, 42, 620, 621, -1,
2591 46, 47, -1, 49, 46, 611, 147, 148, -1, 55,
2592 -1, 57, 58, 636, 48, 61, -1, 63, 79, 61,
2593 -1, 55, -1, 57, 58, 71, 427, -1, -1, -1,
2594 1377, 1378, 1379, 434, -1, 81, 1076, 71, 179, -1,
2595 -1, -1, 103, 89, 650, -1, 652, 81, 94, 79,
2596 80, 81, 82, 83, 84, 85, 679, 91, -1, -1,
2597 94, 95, -1, -1, 1124, 111, -1, -1, 4, 5,
2598 1130, 132, 8, 9, -1, -1, -1, 4, 14, -1,
2599 141, -1, 1429, 1430, -1, -1, 692, 14, -1, -1,
2600 -1, -1, -1, 29, -1, 31, -1, 498, 25, -1,
2601 -1, 37, -1, -1, 31, 32, -1, 34, 714, 36,
2602 46, 717, 1152, 736, 41, -1, -1, 1157, -1, 55,
2603 -1, 57, 58, 59, -1, -1, 187, 54, -1, 56,
2604 -1, -1, 755, 756, -1, 758, -1, 64, -1, 745,
2605 3, 4, 5, -1, 71, 751, -1, 1494, -1, -1,
2606 773, -1, -1, -1, -1, 82, 83, -1, 94, 220,
2607 -1, 562, -1, 564, 565, -1, -1, 1207, 309, -1,
2608 -1, -1, 795, -1, -1, -1, 39, 40, 105, 42,
2609 -1, -1, 243, 1243, -1, -1, 3, 4, 5, 6,
2610 -1, 592, 55, -1, 57, 58, -1, -1, 599, -1,
2611 -1, 128, -1, -1, -1, -1, 133, 12, 135, 832,
2612 833, -1, 139, -1, -1, 142, 143, -1, -1, 146,
2613 147, 148, 27, 28, 847, 42, 849, 32, 851, -1,
2614 -1, -1, -1, 160, -1, -1, -1, -1, 55, -1,
2615 57, 58, -1, 48, 61, -1, 63, -1, -1, -1,
2616 177, 178, 179, -1, 71, 60, 61, -1, 63, -1,
2617 65, 884, 1302, 1303, 81, -1, 1326, -1, -1, -1,
2618 -1, 894, 89, 334, -1, -1, -1, 94, 1318, 206,
2619 -1, -1, -1, 906, 7, 8, 9, -1, -1, 94,
2620 95, 14, 427, 98, 221, -1, 919, -1, -1, 434,
2621 441, 442, 229, -1, -1, 110, -1, -1, 931, 32,
2622 -1, -1, -1, 240, 37, -1, -1, -1, -1, 3,
2623 4, 5, 6, 46, -1, 9, 949, -1, -1, -1,
2624 1370, 1371, -1, -1, 395, -1, -1, -1, 61, 77,
2625 78, 79, 80, 81, 82, 83, 84, 85, -1, 1389,
2626 1390, 278, 279, -1, -1, -1, -1, -1, 42, 500,
2627 -1, -1, 503, 498, 48, -1, -1, -1, 991, -1,
2628 -1, 55, 773, 57, 58, 981, 982, -1, 519, 520,
2629 -1, 328, 329, 330, -1, -1, -1, 71, -1, -1,
2630 -1, -1, 533, -1, -1, 322, -1, 81, -1, 326,
2631 -1, 328, 329, 330, 1010, 89, 467, 91, -1, -1,
2632 94, 95, 339, -1, -1, -1, -1, 1040, 1041, -1,
2633 -1, 1044, -1, -1, -1, -1, -1, 562, 355, 564,
2634 565, -1, 833, 494, 3, 4, 5, 6, -1, -1,
2635 1063, -1, -1, -1, -1, -1, 847, -1, 849, -1,
2636 851, 592, 379, -1, -1, -1, -1, -1, 385, -1,
2637 -1, 388, 389, -1, 599, -1, -1, -1, -1, -1,
2638 -1, -1, 399, 42, -1, 402, -1, -1, -1, 48,
2639 407, -1, -1, -1, -1, -1, 55, -1, 57, 58,
2640 -1, -1, -1, 894, -1, 1118, -1, 1120, -1, 1122,
2641 -1, -1, 71, -1, -1, -1, -1, 1130, -1, 436,
2642 -1, 438, 81, 440, 441, 442, 1139, 1140, 579, 446,
2643 89, 1144, 91, -1, 451, 94, 95, 454, -1, -1,
2644 931, -1, -1, -1, 595, -1, 1159, 1160, -1, -1,
2645 -1, -1, -1, 470, -1, -1, -1, -1, 949, -1,
2646 -1, -1, -1, -1, -1, 1161, 1162, -1, 1164, 1165,
2647 -1, 1167, 1185, -1, 1, -1, 3, 4, 5, 6,
2648 7, 8, 9, -1, -1, -1, -1, 14, -1, -1,
2649 -1, 508, 509, 510, 511, -1, -1, -1, -1, -1,
2650 -1, 1214, 29, -1, 31, 32, 33, -1, -1, -1,
2651 37, 38, -1, -1, -1, 42, -1, -1, -1, 46,
2652 47, -1, 49, -1, -1, 1238, -1, -1, 55, -1,
2653 57, 58, -1, -1, 61, -1, 63, -1, -1, -1,
2654 -1, -1, 773, -1, 71, 582, 583, -1, 585, 566,
2655 -1, 568, -1, -1, 81, 592, 1252, 1253, -1, -1,
2656 1273, -1, 89, 580, -1, 582, 583, 94, 585, -1,
2657 -1, -1, -1, -1, -1, 592, 1289, -1, -1, 596,
2658 -1, -1, -1, -1, 111, -1, -1, 1283, 1284, -1,
2659 -1, -1, -1, 610, -1, -1, -1, -1, 1311, 3,
2660 4, 5, 6, -1, -1, 9, -1, -1, 833, -1,
2661 -1, -1, 649, -1, 651, 652, 1, 654, 3, 4,
2662 5, 6, 847, 8, 849, -1, 851, 1118, -1, 1120,
2663 -1, 1122, 649, 650, 651, 652, 653, 654, 42, 870,
2664 871, -1, -1, -1, -1, 1358, -1, -1, -1, -1,
2665 -1, 55, -1, 57, 58, 692, -1, 42, -1, -1,
2666 -1, -1, 1375, 1376, 49, -1, -1, 71, -1, 894,
2667 55, 1384, 57, 58, -1, 692, -1, 81, 909, 696,
2668 -1, 1377, 1378, 1379, -1, 89, 703, 704, -1, 706,
2669 94, -1, -1, -1, -1, -1, -1, -1, 1411, -1,
2670 -1, -1, -1, -1, 89, -1, 931, -1, 106, 107,
2671 -1, -1, -1, -1, -1, -1, -1, 734, 949, -1,
2672 737, -1, 739, 1214, 875, -1, 877, 744, 745, 746,
2673 -1, -1, -1, 1429, 1430, -1, -1, 754, -1, -1,
2674 -1, -1, 779, 760, -1, 3, 4, 5, 6, -1,
2675 767, 768, 769, -1, -1, -1, -1, -1, -1, -1,
2676 -1, -1, 779, 914, -1, -1, -1, -1, 4, 5,
2677 -1, 7, 8, 9, -1, -1, 12, -1, 14, -1,
2678 -1, -1, -1, -1, 42, -1, -1, 3, 4, 5,
2679 6, -1, -1, 29, -1, 31, 32, 55, 1494, 57,
2680 58, 37, -1, 61, -1, -1, -1, -1, -1, -1,
2681 46, -1, 829, 71, -1, 852, -1, 854, 1531, 55,
2682 -1, 57, 58, 81, -1, -1, 42, -1, 865, -1,
2683 -1, 89, 869, 870, 871, 852, 94, 854, -1, 55,
2684 -1, 57, 58, -1, 861, -1, -1, 63, 865, 1000,
2685 867, -1, 869, 870, 871, 71, -1, -1, -1, 876,
2686 -1, -1, 98, -1, -1, 81, -1, 1358, -1, -1,
2687 907, 908, 909, 89, 1105, 1106, 4, 5, 94, -1,
2688 -1, 9, -1, -1, -1, -1, 903, -1, 905, 4,
2689 907, 908, 909, 1118, -1, 1120, -1, 1122, -1, 14,
2690 -1, -1, 1133, 1134, -1, -1, -1, -1, -1, 24,
2691 25, 309, 949, -1, -1, -1, 31, 32, -1, 34,
2692 48, 36, -1, -1, -1, -1, 41, 55, -1, 57,
2693 58, 1082, 949, -1, -1, -1, -1, -1, -1, 54,
2694 -1, 56, -1, 71, -1, -1, 963, -1, -1, 64,
2695 -1, -1, -1, 81, -1, -1, 71, 1108, -1, 976,
2696 -1, -1, 979, 91, -1, -1, 94, 95, 83, -1,
2697 -1, 988, 3, 4, 5, 6, -1, -1, -1, -1,
2698 -1, -1, -1, -1, 1001, -1, -1, 385, -1, 1214,
2699 -1, -1, -1, -1, 1011, -1, -1, -1, 3, 4,
2700 5, 6, -1, -1, 1021, -1, 1023, -1, -1, -1,
2701 -1, 42, -1, 128, -1, 1166, -1, -1, 49, -1,
2702 135, 328, 329, 330, 139, -1, 57, 58, 143, -1,
2703 -1, 146, 147, 148, -1, -1, 434, 42, 1055, 1056,
2704 -1, 1058, -1, -1, 49, 160, -1, -1, -1, -1,
2705 4, 5, 57, 58, 8, 9, -1, -1, 89, -1,
2706 14, -1, 177, 178, 179, 1102, 1103, 1104, 1105, 1106,
2707 -1, -1, -1, 1110, -1, 29, 81, 31, -1, -1,
2708 -1, -1, -1, 37, 89, 1102, 1103, 1104, 1105, 1106,
2709 -1, 206, 46, 1110, -1, 1132, 1133, 1134, -1, -1,
2710 -1, 55, 500, 57, 58, 503, -1, -1, -1, 507,
2711 508, 509, 510, 511, -1, 1132, 1133, 1134, 3, 4,
2712 5, 6, 520, -1, 9, 240, -1, 1358, -1, -1,
2713 3, 4, 5, 6, -1, 533, 9, -1, -1, -1,
2714 94, -1, -1, -1, -1, -1, 1163, -1, -1, -1,
2715 -1, 1168, -1, 1170, -1, -1, -1, 42, -1, -1,
2716 -1, -1, -1, 278, 279, -1, -1, 565, -1, 42,
2717 55, -1, 57, 58, -1, 48, -1, -1, -1, -1,
2718 1217, 1218, 55, 1220, 57, 58, 71, 585, -1, -1,
2719 -1, 1422, 1423, -1, 592, -1, 81, -1, 71, -1,
2720 1217, 1218, -1, 1220, 89, -1, -1, 322, 81, 94,
2721 -1, 326, -1, 328, 329, 330, 89, -1, 91, -1,
2722 335, 94, 95, -1, 339, 3, 4, 5, 6, -1,
2723 -1, 9, -1, -1, 1251, 1252, 1253, -1, -1, -1,
2724 355, -1, 3, 4, 5, 6, -1, -1, -1, -1,
2725 -1, -1, -1, 1270, -1, -1, -1, -1, -1, -1,
2726 -1, -1, -1, -1, 42, -1, -1, -1, -1, -1,
2727 385, -1, 4, 388, 389, 582, 583, 55, -1, 57,
2728 58, 42, -1, -1, 399, -1, -1, 402, 49, -1,
2729 -1, -1, 407, 71, -1, -1, 57, 58, 696, 31,
2730 32, -1, -1, 81, 36, -1, -1, -1, -1, 41,
2731 -1, 89, 3, 4, 5, 6, 94, -1, -1, -1,
2732 81, 436, -1, 438, 56, 440, 441, 442, 89, -1,
2733 -1, 446, 3, 4, 5, 6, 451, -1, 9, 454,
2734 -1, 1358, 649, -1, 651, 652, -1, 654, -1, -1,
2735 -1, 42, -1, -1, 469, 470, 754, -1, 49, -1,
2736 -1, -1, 760, -1, -1, -1, 57, 58, -1, -1,
2737 -1, 42, -1, -1, -1, -1, -1, 48, -1, -1,
2738 -1, -1, -1, -1, 55, 692, 57, 58, -1, -1,
2739 81, -1, -1, 508, 509, 510, 511, -1, 89, -1,
2740 71, -1, -1, 135, 1421, 1422, 1423, 139, -1, -1,
2741 81, 143, -1, -1, -1, -1, -1, -1, 89, -1,
2742 91, -1, 1439, 94, 95, -1, -1, 1444, 160, -1,
2743 1, 829, 3, 4, 5, 6, 7, 8, 9, -1,
2744 -1, -1, -1, 14, -1, 177, 178, -1, -1, -1,
2745 -1, 566, -1, 568, -1, -1, 27, 28, 29, -1,
2746 31, 32, 33, 861, -1, -1, 37, 582, 583, 867,
2747 585, 42, 779, 871, 45, 46, 47, 592, 49, -1,
2748 -1, -1, -1, -1, 55, -1, 57, 58, -1, 604,
2749 61, -1, -1, -1, -1, 610, -1, -1, -1, -1,
2750 71, 3, 4, 5, 6, 903, -1, 905, 240, -1,
2751 81, 909, -1, -1, -1, -1, -1, -1, 89, -1,
2752 -1, -1, -1, 94, -1, -1, 641, -1, -1, 100,
2753 -1, -1, -1, -1, 649, 650, 651, 652, 653, 654,
2754 42, -1, -1, -1, -1, 852, -1, 854, -1, -1,
2755 -1, 949, -1, 55, -1, 57, 58, 672, 865, -1,
2756 -1, 63, 869, 870, -1, 963, -1, -1, -1, 71,
2757 -1, 969, -1, -1, -1, -1, -1, 692, 976, 81,
2758 -1, 696, -1, -1, -1, -1, -1, 89, 703, 704,
2759 988, 706, 94, -1, -1, -1, -1, -1, -1, -1,
2760 907, 908, -1, -1, -1, -1, -1, 339, 3, 4,
2761 5, 6, -1, -1, 9, -1, -1, -1, -1, 734,
2762 -1, -1, 737, 1021, 739, 1023, -1, -1, -1, 744,
2763 745, 746, -1, -1, -1, -1, -1, -1, -1, 754,
2764 -1, -1, -1, -1, -1, 760, -1, 42, -1, -1,
2765 -1, -1, 767, 768, 769, -1, -1, -1, -1, -1,
2766 55, -1, 57, 58, 779, -1, -1, 399, -1, -1,
2767 402, -1, -1, -1, -1, 407, 71, -1, -1, 3,
2768 4, 5, 6, -1, -1, 9, 81, -1, 177, 178,
2769 179, -1, -1, 4, 89, -1, -1, -1, -1, 94,
2770 -1, -1, -1, -1, 436, -1, 438, -1, 1106, -1,
2771 -1, -1, -1, -1, 829, -1, -1, -1, 42, 451,
2772 31, 32, -1, 34, 48, 36, -1, -1, -1, -1,
2773 41, 55, -1, 57, 58, -1, 1134, 852, 470, 854,
2774 -1, -1, -1, 54, -1, 56, 861, 71, -1, -1,
2775 865, -1, 867, -1, 869, 870, 871, 81, -1, -1,
2776 -1, 876, -1, -1, -1, 89, -1, 91, 79, -1,
2777 94, 95, 70, 71, 72, 73, 74, 75, 76, 77,
2778 78, 79, 80, 81, 82, 83, 84, 85, 903, -1,
2779 905, -1, 907, 908, 909, 1102, 1103, 1104, 1105, -1,
2780 -1, -1, -1, 1110, 73, 74, 75, 76, 77, 78,
2781 79, 80, 81, 82, 83, 84, 85, 128, -1, -1,
2782 -1, 132, 133, -1, 135, 1132, 1133, -1, 139, -1,
2783 141, -1, 143, -1, 949, 146, 147, 148, -1, -1,
2784 -1, -1, -1, -1, -1, -1, -1, -1, 963, 160,
2785 -1, -1, -1, -1, -1, -1, -1, -1, -1, 974,
2786 -1, 976, -1, -1, 979, -1, 177, 178, 179, -1,
2787 -1, -1, 1270, 988, -1, -1, 187, -1, -1, 4,
2788 5, -1, -1, 8, 9, -1, -1, -1, -1, 14,
2789 -1, -1, -1, -1, -1, 206, 1011, -1, -1, -1,
2790 -1, -1, -1, -1, -1, -1, 1021, -1, 1023, -1,
2791 1217, 1218, 37, 1220, -1, -1, -1, -1, 650, -1,
2792 -1, 46, -1, 48, -1, -1, -1, -1, -1, 240,
2793 55, -1, 57, 58, -1, -1, -1, -1, -1, -1,
2794 1055, 1056, -1, 1058, -1, -1, 71, 436, -1, 438,
2795 -1, 440, 441, 442, -1, -1, 81, -1, -1, -1,
2796 -1, -1, 451, -1, 696, -1, 91, -1, -1, 94,
2797 95, 703, 704, -1, 706, 74, 75, 76, 77, 78,
2798 79, 80, 81, 82, 83, 84, 85, 1102, 1103, 1104,
2799 1105, 1106, -1, -1, -1, 1110, -1, -1, 309, -1,
2800 -1, 1116, -1, -1, -1, 737, -1, 739, -1, -1,
2801 -1, -1, 744, 745, 746, 326, -1, 1132, 1133, 1134,
2802 -1, -1, -1, 334, -1, 1423, -1, -1, 339, -1,
2803 -1, -1, -1, 1148, -1, -1, -1, -1, -1, -1,
2804 -1, 1439, -1, -1, 355, -1, -1, -1, 1163, -1,
2805 -1, -1, -1, 1168, -1, 1170, 3, 4, 5, 6,
2806 7, 8, 9, -1, -1, 12, -1, 14, 379, -1,
2807 -1, -1, -1, -1, -1, -1, -1, 388, -1, -1,
2808 -1, -1, 29, -1, 31, 32, -1, -1, 399, -1,
2809 37, 402, -1, -1, -1, 42, 407, -1, -1, 46,
2810 -1, 48, 1217, 1218, -1, 1220, -1, -1, 55, -1,
2811 57, 58, -1, -1, -1, -1, -1, -1, -1, -1,
2812 -1, -1, -1, -1, 71, 436, -1, 438, -1, 440,
2813 441, 442, -1, -1, 81, 446, 1251, 1252, 1253, -1,
2814 451, 4, 89, 454, 91, -1, -1, 94, 95, -1,
2815 -1, 98, -1, -1, -1, 1270, -1, -1, -1, 470,
2816 -1, -1, -1, -1, -1, -1, -1, -1, 31, 32,
2817 -1, 34, -1, 36, -1, 907, 908, -1, 41, -1,
2818 3, 4, 5, 6, -1, -1, 9, -1, -1, 500,
2819 -1, 54, 503, 56, -1, -1, -1, -1, -1, -1,
2820 4, 5, -1, -1, 8, 9, -1, 518, 519, 520,
2821 14, -1, -1, -1, 703, 704, -1, 706, -1, 42,
2822 -1, -1, 533, -1, -1, 29, -1, 31, -1, -1,
2823 -1, -1, 55, 37, 57, 58, -1, -1, 81, -1,
2824 -1, -1, 46, 1358, 48, -1, -1, 979, 71, -1,
2825 -1, 55, -1, 57, 58, 744, -1, -1, 81, 4,
2826 5, -1, -1, 8, 9, -1, 89, 71, 579, 14,
2827 -1, 94, 135, -1, -1, -1, 139, 81, -1, 1011,
2828 143, 592, -1, 146, 147, 148, -1, 91, -1, -1,
2829 94, 95, 37, -1, -1, -1, -1, 160, -1, 610,
2830 -1, 46, -1, 48, -1, -1, 1421, 1422, 1423, -1,
2831 55, 154, 57, 58, 177, 178, 179, -1, -1, -1,
2832 -1, -1, -1, -1, 1439, -1, 71, -1, -1, 1444,
2833 -1, -1, 175, -1, -1, -1, 81, -1, 649, 650,
2834 651, 652, -1, 206, -1, 188, 91, 4, 5, 94,
2835 95, 8, 9, -1, -1, -1, -1, 14, -1, -1,
2836 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2837 1102, 1103, 29, -1, 31, -1, -1, 240, 1110, -1,
2838 37, 692, -1, -1, -1, 696, -1, -1, -1, 46,
2839 -1, -1, 703, 704, -1, 706, -1, -1, 55, -1,
2840 57, 58, -1, -1, -1, -1, -1, -1, -1, 1,
2841 -1, 3, 4, 5, 6, 7, 8, 9, 907, 908,
2842 909, -1, 14, -1, -1, -1, 737, -1, 739, -1,
2843 -1, 1163, -1, 744, 745, 746, 1168, 29, 1170, 31,
2844 32, 33, -1, -1, -1, 37, 38, -1, -1, -1,
2845 42, -1, -1, -1, 46, 47, -1, 49, -1, -1,
2846 949, -1, 773, 55, -1, 57, 58, -1, -1, 61,
2847 -1, 63, 335, -1, -1, -1, 339, -1, -1, 71,
2848 -1, -1, -1, -1, -1, 1217, 1218, -1, 1220, 81,
2849 979, -1, -1, -1, -1, -1, -1, 89, 3, 4,
2850 5, 6, 94, -1, 9, 72, 73, 74, 75, 76,
2851 77, 78, 79, 80, 81, 82, 83, 84, 85, 111,
2852 1252, -1, -1, -1, -1, 388, -1, -1, -1, -1,
2853 -1, -1, -1, -1, -1, -1, 399, 42, -1, 402,
2854 -1, -1, -1, -1, 407, -1, -1, -1, -1, -1,
2855 55, -1, 57, 58, -1, -1, -1, -1, 869, 870,
2856 871, -1, -1, -1, 875, -1, 71, -1, -1, -1,
2857 -1, -1, -1, 436, -1, 438, 81, 440, 441, 442,
2858 -1, -1, -1, 446, 89, -1, -1, -1, 451, 94,
2859 -1, 454, 34, -1, -1, -1, 907, 908, 909, -1,
2860 -1, 444, -1, 914, -1, -1, 449, 470, -1, -1,
2861 -1, -1, 54, 1102, 1103, 1104, 1105, 1106, -1, -1,
2862 -1, 1110, -1, -1, 3, 4, 5, 6, 7, 8,
2863 9, 474, -1, -1, -1, 14, -1, 480, 949, -1,
2864 -1, -1, -1, 1132, 1133, 1134, -1, -1, -1, 492,
2865 493, -1, 495, 32, -1, -1, -1, -1, 37, -1,
2866 -1, -1, -1, 42, -1, -1, -1, 46, 979, 48,
2867 3, 4, 5, 6, 1163, -1, 55, -1, 57, 58,
2868 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1000,
2869 -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
2870 1011, -1, 81, -1, 146, 147, 148, -1, -1, 42,
2871 89, -1, 91, -1, -1, 94, 95, 580, -1, -1,
2872 -1, -1, 55, -1, 57, 58, -1, -1, 1217, 1218,
2873 63, 1220, -1, -1, -1, 177, 178, 179, 71, -1,
2874 -1, -1, -1, -1, -1, 588, 589, 610, 81, -1,
2875 593, -1, -1, -1, -1, -1, 89, -1, -1, -1,
2876 -1, 94, -1, -1, 206, -1, -1, -1, -1, -1,
2877 -1, 1082, -1, -1, -1, -1, 3, 4, 5, 6,
2878 -1, -1, 9, -1, -1, -1, 649, 650, 651, 652,
2879 -1, 1102, 1103, 1104, 1105, 1106, -1, 1108, -1, 1110,
2880 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2881 -1, 3, 4, 5, 6, 42, -1, 9, -1, -1,
2882 -1, 1132, 1133, 1134, -1, -1, -1, -1, 55, 692,
2883 57, 58, -1, 696, -1, -1, -1, 279, -1, -1,
2884 703, 704, -1, 706, 71, -1, -1, -1, -1, -1,
2885 42, -1, 1163, -1, 81, -1, -1, 1168, -1, 1170,
2886 -1, -1, 89, 55, -1, 57, 58, 94, -1, 1358,
2887 -1, -1, 4, 5, 737, -1, 739, 9, -1, 71,
2888 -1, 744, 745, 746, -1, -1, 328, 329, 330, 81,
2889 -1, -1, -1, -1, -1, -1, 54, 89, 3, 4,
2890 5, 6, 94, -1, -1, -1, 1217, 1218, -1, 1220,
2891 -1, -1, -1, -1, -1, -1, 48, -1, 761, -1,
2892 763, 79, -1, 55, 82, 57, 58, -1, -1, -1,
2893 -1, -1, 1421, 1422, 1423, -1, -1, 42, -1, 71,
2894 1251, 1252, 1253, -1, -1, 103, 388, 105, -1, 81,
2895 55, -1, 57, 58, -1, -1, 61, -1, -1, 91,
2896 -1, -1, 94, 95, -1, -1, 71, -1, -1, -1,
2897 -1, -1, -1, -1, -1, -1, 81, -1, -1, -1,
2898 -1, -1, -1, -1, 89, -1, -1, -1, -1, 94,
2899 -1, -1, 835, 836, 436, 838, 438, -1, 440, 441,
2900 442, -1, -1, -1, 446, -1, -1, -1, -1, 451,
2901 -1, -1, 454, 876, -1, -1, -1, -1, -1, 177,
2902 178, 179, -1, 866, -1, -1, -1, -1, -1, 187,
2903 4, 5, -1, 7, 8, 9, -1, -1, 12, -1,
2904 14, -1, -1, -1, 907, 908, 909, 1358, 206, -1,
2905 -1, 3, 4, 5, 6, 29, -1, 31, 32, -1,
2906 -1, -1, -1, 37, -1, -1, -1, -1, 911, -1,
2907 -1, 229, 46, -1, 48, -1, -1, -1, -1, -1,
2908 -1, 55, -1, 57, 58, 243, 949, -1, -1, -1,
2909 42, -1, -1, -1, -1, -1, -1, 71, -1, -1,
2910 -1, -1, -1, 55, -1, 57, 58, 81, -1, -1,
2911 1421, 1422, 1423, -1, -1, -1, 979, 91, -1, 71,
2912 94, 95, -1, -1, 98, -1, 568, -1, -1, 81,
2913 -1, -1, 975, 1444, -1, -1, -1, 89, -1, -1,
2914 582, 583, 94, 585, 987, -1, -1, -1, 1011, -1,
2915 592, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2916 4, 5, -1, 7, 8, 9, -1, -1, 610, -1,
2917 14, -1, -1, -1, -1, -1, 334, 335, -1, -1,
2918 -1, 3, 4, 5, 6, 29, -1, 31, 32, -1,
2919 -1, -1, -1, 37, -1, -1, -1, -1, -1, -1,
2920 -1, -1, 46, -1, -1, 49, -1, 649, -1, 651,
2921 652, 55, 654, 57, 58, -1, -1, -1, -1, -1,
2922 42, -1, -1, -1, -1, -1, -1, -1, 1071, -1,
2923 388, -1, -1, 55, -1, 57, 58, -1, -1, 1102,
2924 1103, 1104, 1105, 1106, -1, -1, -1, 1110, -1, 71,
2925 692, -1, -1, -1, -1, -1, -1, -1, -1, 81,
2926 -1, 703, 704, -1, 706, -1, 1109, 89, -1, 1132,
2927 1133, 1134, 94, -1, -1, -1, -1, -1, 436, -1,
2928 438, -1, 440, 441, 442, -1, -1, -1, 446, -1,
2929 -1, -1, -1, 451, -1, -1, 454, -1, -1, -1,
2930 1163, -1, 744, -1, -1, 1168, -1, 1170, -1, -1,
2931 -1, -1, -1, -1, -1, 1, -1, 3, 4, 5,
2932 6, 7, 8, 9, -1, 767, 768, 769, 14, 1172,
2933 -1, -1, -1, 1176, -1, -1, -1, 779, -1, -1,
2934 -1, -1, -1, 29, -1, 31, 32, 33, -1, -1,
2935 -1, 37, 38, -1, 1217, 1218, 42, 1220, -1, -1,
2936 46, 47, -1, 49, -1, -1, 1209, -1, -1, 55,
2937 -1, 57, 58, -1, -1, 61, -1, 63, 3, 4,
2938 5, 6, -1, -1, -1, 71, -1, -1, 1251, 1252,
2939 1253, -1, -1, -1, -1, 81, -1, -1, -1, -1,
2940 -1, -1, -1, 89, -1, -1, -1, -1, 94, -1,
2941 852, -1, 854, -1, -1, -1, -1, 42, -1, -1,
2942 -1, -1, -1, 865, -1, 111, -1, 869, 870, 871,
2943 55, -1, 57, 58, -1, 1278, -1, 595, 596, 1282,
2944 -1, -1, -1, -1, -1, -1, 71, -1, -1, -1,
2945 4, 5, 610, 7, 8, 9, 81, -1, 12, -1,
2946 14, 1304, 1305, -1, 89, 907, 908, 909, -1, 94,
2947 -1, -1, -1, -1, -1, 29, -1, 31, 32, -1,
2948 -1, -1, -1, 37, -1, -1, -1, -1, -1, -1,
2949 -1, 649, 46, 651, 652, 1358, -1, -1, -1, -1,
2950 -1, 55, -1, 57, 58, -1, -1, 949, -1, -1,
2951 3, 4, 5, 6, 7, 8, 9, -1, 14, -1,
2952 -1, 14, -1, -1, -1, -1, -1, -1, 24, 25,
2953 -1, -1, -1, -1, 692, 31, 32, 979, 34, 32,
2954 -1, -1, -1, -1, 37, 703, 704, -1, 706, 42,
2955 -1, -1, -1, 46, -1, 48, -1, -1, 1421, 1422,
2956 1423, -1, 55, -1, 57, 58, 4, 5, 64, 7,
2957 8, 9, -1, 731, -1, -1, 14, -1, 71, -1,
2958 -1, 1444, -1, -1, -1, -1, 744, -1, 81, -1,
2959 -1, 29, -1, 31, 32, -1, 89, -1, 91, 37,
2960 -1, 94, 95, -1, -1, -1, -1, -1, 46, -1,
2961 -1, -1, -1, 1055, 1056, -1, 1058, 55, -1, 57,
2962 58, -1, -1, -1, -1, -1, -1, 123, -1, 125,
2963 -1, -1, 128, -1, -1, -1, 132, 133, -1, -1,
2964 -1, -1, -1, 139, -1, 141, 142, 143, -1, -1,
2965 146, 147, 148, -1, -1, -1, -1, -1, -1, -1,
2966 1102, 1103, 1104, 1105, 1106, -1, -1, -1, 1110, 68,
2967 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
2968 79, 80, 81, 82, 83, 84, 85, -1, -1, -1,
2969 1132, 1133, 1134, -1, -1, -1, -1, -1, -1, -1,
2970 -1, -1, -1, -1, -1, -1, -1, 1, -1, 3,
2971 4, 5, 6, 7, 8, 9, -1, 875, 876, 877,
2972 14, 1163, -1, -1, 220, 221, -1, -1, -1, -1,
2973 -1, -1, -1, -1, -1, 29, -1, 31, 32, 33,
2974 -1, -1, -1, 37, 240, -1, -1, -1, 42, 907,
2975 908, 909, 46, 47, -1, 49, 914, -1, -1, -1,
2976 -1, 55, -1, 57, 58, -1, -1, 61, -1, 63,
2977 -1, -1, -1, -1, -1, 1217, 1218, 71, 1220, -1,
2978 -1, -1, -1, 279, -1, -1, -1, 81, -1, -1,
2979 -1, 949, -1, -1, -1, 89, -1, -1, -1, 1,
2980 94, -1, 4, 5, -1, -1, 8, 9, -1, 1251,
2981 -1, 1253, 14, -1, -1, -1, -1, -1, -1, -1,
2982 -1, 979, -1, -1, -1, -1, -1, 29, -1, 31,
2983 326, -1, 328, 329, -1, 37, -1, 39, 40, -1,
2984 -1, -1, 1000, -1, 46, -1, 48, -1, -1, -1,
2985 -1, -1, -1, 55, -1, 57, 58, -1, 60, 355,
2986 -1, -1, 64, 65, 66, 67, 68, 69, 70, 71,
2987 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
2988 82, 83, 84, 379, -1, 87, 88, 89, -1, -1,
2989 92, -1, -1, 95, -1, -1, -1, -1, -1, 395,
2990 -1, -1, -1, 399, -1, -1, 402, -1, -1, -1,
2991 112, 407, -1, -1, -1, -1, 1358, -1, -1, -1,
2992 -1, -1, -1, -1, 1082, 69, 70, 71, 72, 73,
2993 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
2994 84, 85, -1, -1, 1102, 1103, 1104, 1105, 1106, -1,
2995 1108, -1, 1110, 71, 72, 73, 74, 75, 76, 77,
2996 78, 79, 80, 81, 82, 83, 84, 85, -1, -1,
2997 -1, 467, -1, 469, 1132, 1133, 1134, -1, -1, 1421,
2998 1422, 1423, -1, -1, -1, -1, -1, -1, 3, 4,
2999 5, 6, 7, 8, 9, -1, -1, 12, 494, 14,
3000 -1, -1, 1444, -1, -1, 1163, -1, -1, -1, -1,
3001 -1, -1, -1, -1, 29, -1, 31, 32, -1, -1,
3002 -1, -1, 37, -1, -1, -1, -1, 42, -1, -1,
3003 -1, 46, -1, -1, -1, -1, -1, -1, -1, -1,
3004 55, -1, 57, 58, 1, -1, 3, 4, 5, 6,
3005 7, 8, 9, -1, -1, 12, 71, 14, -1, 1217,
3006 1218, -1, 1220, -1, -1, -1, 81, -1, 25, -1,
3007 27, 28, 568, -1, 89, 32, -1, -1, -1, 94,
3008 37, -1, -1, 579, 580, 42, 582, 583, -1, 46,
3009 -1, 48, -1, 1251, -1, 1253, -1, -1, 55, -1,
3010 57, 58, 59, 60, 61, -1, 63, 64, 65, 66,
3011 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
3012 77, 78, 79, 80, 81, 82, 83, 84, 85, -1,
3013 87, 88, 89, -1, 91, 92, 93, 94, 95, 96,
3014 -1, 98, 99, -1, -1, 641, -1, 104, -1, -1,
3015 -1, -1, 109, 110, 111, -1, 113, 653, -1, -1,
3016 1, -1, 3, 4, 5, 6, 7, 8, 9, -1,
3017 4, 5, -1, 14, 8, 9, 672, -1, -1, -1,
3018 14, -1, -1, -1, -1, -1, 27, 28, 29, -1,
3019 31, 32, 33, -1, -1, 29, 37, 31, -1, -1,
3020 1358, 42, -1, 37, 45, 46, 47, -1, 49, -1,
3021 -1, -1, 46, -1, 55, -1, 57, 58, -1, -1,
3022 61, 55, -1, 57, 58, -1, -1, -1, -1, -1,
3023 71, -1, -1, -1, -1, 731, -1, -1, 734, -1,
3024 81, -1, -1, -1, -1, -1, -1, -1, 89, -1,
3025 -1, -1, -1, 94, -1, -1, -1, -1, -1, 100,
3026 -1, -1, -1, 1421, 1422, 1423, -1, -1, -1, -1,
3027 -1, 767, 768, 769, -1, -1, -1, -1, -1, -1,
3028 -1, -1, -1, 779, -1, 1, 1444, 3, 4, 5,
3029 6, 7, 8, 9, 10, 11, -1, 13, 14, 15,
3030 -1, 17, 18, 19, 20, 21, 22, 23, 24, 25,
3031 26, 27, 28, 29, 30, 31, 32, 33, -1, 35,
3032 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3033 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3034 -1, 57, 58, 59, -1, 61, 62, -1, -1, -1,
3035 -1, -1, 68, -1, -1, 71, 852, -1, 854, -1,
3036 -1, -1, -1, 79, 80, 81, -1, -1, -1, 865,
3037 -1, 87, 88, 89, -1, -1, -1, -1, 94, -1,
3038 96, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3039 -1, -1, -1, -1, -1, 111, 112, 1, -1, 3,
3040 4, 5, 6, 7, 8, 9, 10, 11, -1, 13,
3041 14, 15, -1, 17, 18, 19, 20, 21, 22, 23,
3042 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
3043 -1, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3044 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
3045 54, 55, -1, 57, 58, 59, -1, 61, 62, -1,
3046 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3047 -1, -1, -1, -1, -1, 79, 80, 81, 974, -1,
3048 -1, -1, -1, 87, 88, 89, -1, -1, -1, -1,
3049 94, 1, 96, 3, 4, 5, 6, 7, 8, 9,
3050 10, 11, 12, 13, 14, 1001, -1, -1, 112, -1,
3051 -1, -1, -1, -1, -1, -1, -1, -1, -1, 29,
3052 30, 31, 32, 33, -1, 35, 36, 37, -1, 39,
3053 40, 41, 42, 43, 44, -1, 46, -1, 48, -1,
3054 50, 51, 52, 53, 54, 55, -1, 57, 58, 59,
3055 -1, -1, 62, -1, -1, -1, -1, -1, 68, 1055,
3056 1056, 71, 1058, -1, -1, -1, -1, -1, -1, 79,
3057 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3058 -1, 91, -1, -1, 94, 95, -1, 1, 98, 3,
3059 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
3060 14, -1, 112, -1, -1, -1, -1, -1, -1, -1,
3061 -1, -1, -1, -1, -1, 29, 30, 31, 32, 33,
3062 1116, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3063 44, -1, 46, -1, 48, -1, 50, 51, 52, 53,
3064 54, 55, -1, 57, 58, 59, -1, -1, 62, -1,
3065 -1, -1, 1148, -1, 68, -1, -1, 71, -1, -1,
3066 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3067 1166, -1, 1168, 87, 88, 89, -1, 91, -1, -1,
3068 94, 95, -1, 1, 98, 3, 4, 5, 6, 7,
3069 8, 9, 10, 11, 12, 13, 14, -1, 112, -1,
3070 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3071 -1, 29, 30, 31, 32, 33, -1, 35, 36, 37,
3072 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3073 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3074 58, -1, -1, -1, 62, -1, -1, -1, -1, -1,
3075 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3076 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3077 88, 89, -1, -1, -1, -1, 94, -1, -1, -1,
3078 98, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3079 -1, -1, 110, 1, 112, 3, 4, 5, 6, 7,
3080 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3081 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3082 -1, 29, 30, 31, 32, 33, -1, 35, 36, 37,
3083 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3084 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3085 58, 59, -1, 61, 62, -1, -1, -1, -1, -1,
3086 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3087 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3088 88, 89, -1, -1, -1, 1, 94, 3, 4, 5,
3089 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3090 -1, -1, -1, -1, 112, -1, -1, -1, -1, -1,
3091 -1, -1, -1, 29, 30, 31, -1, 33, -1, 35,
3092 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3093 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3094 -1, 57, 58, 59, -1, -1, 62, -1, -1, -1,
3095 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3096 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3097 -1, 87, 88, 89, -1, -1, -1, -1, 94, 95,
3098 1, -1, 3, 4, 5, 6, -1, 8, 9, 10,
3099 11, -1, 13, 14, -1, 111, 112, -1, -1, -1,
3100 -1, -1, -1, -1, -1, -1, -1, -1, 29, 30,
3101 31, -1, 33, -1, 35, 36, 37, -1, 39, 40,
3102 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
3103 51, 52, 53, 54, 55, -1, 57, 58, 59, -1,
3104 -1, 62, -1, -1, -1, -1, -1, 68, -1, -1,
3105 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3106 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
3107 -1, -1, -1, 94, 95, 1, -1, 3, 4, 5,
3108 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3109 -1, 112, -1, -1, -1, -1, -1, -1, -1, -1,
3110 -1, -1, -1, 29, 30, 31, -1, 33, -1, 35,
3111 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3112 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3113 -1, 57, 58, 59, -1, -1, 62, -1, -1, -1,
3114 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3115 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3116 -1, 87, 88, 89, -1, -1, -1, 1, 94, 3,
3117 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3118 14, -1, -1, -1, -1, 111, 112, -1, -1, -1,
3119 -1, -1, -1, -1, -1, 29, 30, 31, -1, 33,
3120 -1, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3121 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
3122 54, 55, -1, 57, 58, 59, -1, -1, 62, -1,
3123 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3124 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3125 -1, -1, -1, 87, 88, 89, -1, -1, -1, 1,
3126 94, 3, 4, 5, 6, -1, 8, 9, 10, 11,
3127 -1, 13, 14, -1, -1, -1, -1, 111, 112, -1,
3128 -1, -1, -1, -1, -1, -1, -1, 29, 30, 31,
3129 -1, 33, -1, 35, 36, 37, -1, 39, 40, 41,
3130 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3131 52, 53, 54, 55, -1, 57, 58, 59, -1, -1,
3132 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3133 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3134 -1, -1, -1, -1, -1, 87, 88, 89, -1, -1,
3135 -1, -1, 94, -1, -1, 1, -1, 3, 4, 5,
3136 6, 103, 8, 9, 10, 11, -1, 13, 14, -1,
3137 112, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3138 -1, -1, -1, 29, 30, 31, -1, 33, -1, 35,
3139 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3140 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3141 -1, 57, 58, 59, -1, -1, 62, -1, -1, -1,
3142 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3143 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3144 -1, 87, 88, 89, -1, -1, -1, 1, 94, 3,
3145 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3146 14, -1, -1, -1, -1, -1, 112, -1, -1, -1,
3147 -1, -1, -1, -1, -1, 29, 30, 31, -1, 33,
3148 -1, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3149 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
3150 54, 55, -1, 57, 58, 59, -1, -1, 62, -1,
3151 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3152 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3153 -1, -1, -1, 87, 88, 89, -1, -1, -1, 1,
3154 94, 3, 4, 5, 6, -1, 8, 9, 10, 11,
3155 -1, 13, 14, -1, -1, -1, -1, -1, 112, -1,
3156 -1, -1, -1, -1, -1, -1, -1, 29, 30, 31,
3157 -1, 33, -1, 35, 36, 37, -1, 39, 40, 41,
3158 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3159 52, 53, 54, 55, -1, 57, 58, -1, -1, -1,
3160 62, 63, -1, -1, -1, -1, 68, -1, -1, 71,
3161 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3162 -1, -1, -1, -1, -1, 87, 88, 89, -1, -1,
3163 -1, 1, 94, 3, 4, 5, 6, -1, 8, 9,
3164 10, 11, -1, 13, 14, -1, -1, -1, -1, -1,
3165 112, -1, -1, -1, -1, -1, -1, -1, -1, 29,
3166 30, 31, -1, 33, -1, 35, 36, 37, -1, 39,
3167 40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
3168 50, 51, 52, 53, 54, 55, -1, 57, 58, 59,
3169 -1, -1, 62, -1, -1, -1, -1, -1, 68, -1,
3170 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3171 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3172 -1, -1, -1, 1, 94, 3, 4, 5, 6, -1,
3173 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3174 -1, -1, 112, -1, -1, -1, -1, -1, -1, -1,
3175 -1, 29, 30, 31, -1, 33, -1, 35, 36, 37,
3176 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3177 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3178 58, -1, -1, 61, 62, -1, -1, -1, -1, -1,
3179 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3180 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3181 88, 89, -1, -1, -1, 1, 94, 3, 4, 5,
3182 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3183 -1, -1, -1, -1, 112, -1, -1, -1, -1, -1,
3184 -1, -1, -1, 29, 30, 31, -1, 33, -1, 35,
3185 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3186 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3187 -1, 57, 58, -1, -1, -1, 62, -1, -1, -1,
3188 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3189 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3190 -1, 87, 88, 89, -1, -1, -1, 1, 94, 3,
3191 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3192 14, -1, -1, -1, 110, -1, 112, -1, -1, -1,
3193 -1, -1, -1, -1, -1, 29, 30, 31, -1, 33,
3194 -1, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3195 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
3196 54, 55, -1, 57, 58, -1, -1, -1, 62, -1,
3197 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3198 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3199 -1, -1, -1, 87, 88, 89, -1, -1, -1, 1,
3200 94, 3, 4, 5, 6, -1, 8, 9, 10, 11,
3201 -1, 13, 14, -1, -1, -1, -1, -1, 112, -1,
3202 -1, -1, -1, -1, -1, -1, -1, 29, 30, 31,
3203 -1, 33, -1, 35, 36, 37, -1, 39, 40, 41,
3204 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3205 52, 53, 54, 55, -1, 57, 58, -1, -1, -1,
3206 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3207 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3208 -1, -1, -1, -1, -1, 87, 88, 89, -1, -1,
3209 -1, 1, 94, 3, 4, 5, 6, -1, 8, 9,
3210 10, 11, -1, 13, 14, -1, -1, -1, -1, -1,
3211 112, -1, -1, -1, -1, -1, -1, -1, -1, 29,
3212 30, 31, -1, 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, -1,
3215 -1, -1, 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 3, 4, 5, 6, 94, 8, 9, 10, 11, -1,
3219 13, 14, -1, -1, -1, -1, -1, -1, -1, -1,
3220 -1, -1, 112, -1, -1, -1, 29, 30, 31, -1,
3221 33, -1, 35, 36, 37, -1, 39, 40, 41, 42,
3222 43, 44, -1, 46, -1, -1, -1, 50, 51, 52,
3223 53, 54, 55, -1, 57, 58, -1, -1, -1, 62,
3224 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3225 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3226 -1, -1, -1, -1, 87, 88, 89, -1, -1, -1,
3227 -1, 94, -1, -1, -1, -1, -1, -1, -1, -1,
3228 -1, -1, -1, -1, -1, -1, -1, -1, -1, 112,
3229 113, 3, 4, 5, 6, 7, 8, 9, 10, 11,
3230 -1, 13, 14, 15, -1, 17, 18, 19, 20, 21,
3231 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
3232 32, 33, -1, 35, 36, 37, -1, 39, 40, 41,
3233 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3234 52, 53, 54, 55, -1, 57, 58, 59, -1, 61,
3235 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3236 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3237 -1, -1, -1, -1, -1, 87, 88, 89, -1, -1,
3238 -1, -1, 94, -1, 96, -1, -1, -1, -1, -1,
3239 -1, -1, -1, -1, -1, -1, -1, -1, -1, 111,
3240 112, 3, 4, 5, 6, 7, 8, 9, 10, 11,
3241 -1, 13, 14, 15, -1, 17, 18, 19, 20, 21,
3242 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
3243 32, 33, -1, 35, 36, 37, -1, 39, 40, 41,
3244 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3245 52, 53, 54, 55, -1, 57, 58, 59, -1, 61,
3246 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3247 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3248 -1, -1, -1, -1, -1, 87, 88, 89, -1, -1,
3249 -1, -1, 94, -1, 96, -1, -1, 3, 4, 5,
3250 6, 7, 8, 9, 10, 11, -1, 13, 14, 15,
3251 112, 17, 18, 19, 20, 21, 22, 23, 24, 25,
3252 26, 27, 28, 29, 30, 31, 32, 33, -1, 35,
3253 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3254 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3255 -1, 57, 58, 59, -1, 61, 62, -1, -1, -1,
3256 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3257 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3258 -1, 87, 88, 89, -1, -1, -1, -1, 94, -1,
3259 96, -1, -1, 3, 4, 5, 6, 7, 8, 9,
3260 10, 11, -1, 13, 14, 15, 112, 17, 18, 19,
3261 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
3262 30, 31, 32, 33, -1, 35, 36, 37, -1, 39,
3263 40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
3264 50, 51, 52, 53, 54, 55, -1, 57, 58, -1,
3265 -1, 61, 62, -1, -1, -1, -1, -1, 68, -1,
3266 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3267 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3268 -1, -1, -1, -1, 94, -1, 96, 3, 4, 5,
3269 6, 7, 8, 9, 10, 11, 12, 13, 14, -1,
3270 -1, -1, 112, -1, -1, -1, -1, -1, -1, -1,
3271 -1, -1, -1, 29, 30, 31, 32, 33, -1, 35,
3272 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3273 46, -1, 48, -1, 50, 51, 52, 53, 54, 55,
3274 -1, 57, 58, -1, -1, -1, 62, -1, -1, -1,
3275 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3276 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3277 -1, 87, 88, 89, -1, 91, -1, -1, 94, 95,
3278 -1, -1, 98, 3, 4, 5, 6, 7, 8, 9,
3279 10, 11, 12, 13, 14, -1, 112, -1, -1, -1,
3280 -1, -1, -1, -1, -1, -1, -1, -1, -1, 29,
3281 30, 31, 32, 33, -1, 35, 36, 37, -1, 39,
3282 40, 41, 42, 43, 44, -1, 46, -1, 48, -1,
3283 50, 51, 52, 53, 54, 55, -1, 57, 58, -1,
3284 -1, -1, 62, -1, -1, -1, -1, -1, 68, -1,
3285 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3286 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3287 -1, 91, -1, -1, 94, 95, -1, -1, 98, 3,
3288 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3289 14, -1, 112, -1, -1, -1, -1, -1, -1, -1,
3290 -1, -1, -1, -1, -1, 29, 30, 31, -1, 33,
3291 -1, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3292 44, -1, 46, -1, 48, -1, 50, 51, 52, 53,
3293 54, 55, -1, 57, 58, -1, -1, -1, -1, -1,
3294 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3295 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3296 -1, -1, -1, 87, 88, 89, -1, 91, -1, -1,
3297 94, 95, 3, 4, 5, 6, -1, 8, 9, 10,
3298 11, -1, 13, 14, -1, -1, -1, -1, 112, -1,
3299 -1, -1, -1, -1, -1, -1, -1, -1, 29, 30,
3300 31, -1, 33, -1, 35, 36, 37, -1, 39, 40,
3301 41, 42, 43, 44, -1, 46, -1, 48, -1, 50,
3302 51, 52, 53, 54, 55, -1, 57, 58, -1, -1,
3303 -1, -1, -1, -1, -1, -1, -1, 68, -1, -1,
3304 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3305 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
3306 91, -1, -1, 94, 95, 3, 4, 5, 6, -1,
3307 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3308 -1, 112, -1, -1, -1, -1, -1, -1, -1, -1,
3309 -1, 29, 30, 31, -1, 33, -1, 35, 36, 37,
3310 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3311 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3312 58, -1, -1, 61, 62, -1, -1, -1, -1, -1,
3313 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3314 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3315 88, 89, -1, -1, -1, -1, 94, 3, 4, 5,
3316 6, 7, 8, 9, 10, 11, -1, 13, 14, -1,
3317 -1, -1, -1, -1, 112, -1, -1, -1, -1, -1,
3318 -1, -1, -1, 29, 30, 31, 32, 33, -1, 35,
3319 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3320 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3321 -1, 57, 58, -1, -1, -1, -1, -1, -1, -1,
3322 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3323 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3324 -1, 87, 88, 89, 3, 4, 5, 6, 94, 8,
3325 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3326 -1, -1, -1, -1, -1, -1, 112, -1, -1, -1,
3327 29, 30, 31, -1, 33, -1, 35, 36, 37, -1,
3328 39, 40, 41, 42, 43, 44, -1, 46, -1, -1,
3329 -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
3330 -1, -1, -1, 62, -1, -1, -1, -1, -1, 68,
3331 -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
3332 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
3333 89, 3, 4, 5, 6, 94, 8, 9, 10, 11,
3334 -1, 13, 14, -1, -1, -1, -1, -1, -1, -1,
3335 -1, -1, -1, 112, -1, -1, -1, 29, 30, 31,
3336 -1, 33, -1, 35, 36, 37, -1, 39, 40, 41,
3337 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3338 52, 53, 54, 55, -1, 57, 58, -1, -1, -1,
3339 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3340 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3341 -1, -1, -1, -1, -1, 87, 88, 89, 3, 4,
3342 5, 6, 94, 8, 9, 10, 11, -1, 13, 14,
3343 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3344 112, -1, -1, -1, 29, 30, 31, -1, 33, -1,
3345 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3346 -1, 46, -1, -1, -1, 50, 51, 52, 53, 54,
3347 55, -1, 57, 58, 59, -1, -1, -1, -1, -1,
3348 -1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
3349 -1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
3350 -1, -1, 87, 88, 89, 3, 4, 5, 6, 94,
3351 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3352 -1, -1, -1, -1, -1, -1, -1, 112, -1, -1,
3353 -1, 29, 30, 31, -1, 33, -1, 35, 36, 37,
3354 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3355 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3356 58, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3357 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3358 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3359 88, 89, -1, -1, -1, -1, 94, 95, 3, 4,
3360 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3361 -1, -1, -1, -1, 112, -1, -1, -1, -1, -1,
3362 -1, -1, -1, -1, 29, 30, 31, -1, 33, -1,
3363 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3364 -1, 46, -1, -1, -1, 50, 51, 52, 53, 54,
3365 55, -1, 57, 58, -1, -1, -1, 62, -1, -1,
3366 -1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
3367 -1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
3368 -1, -1, 87, 88, 89, 3, 4, 5, 6, 94,
3369 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3370 -1, -1, -1, -1, -1, -1, -1, 112, -1, -1,
3371 -1, 29, 30, 31, -1, 33, -1, 35, 36, 37,
3372 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3373 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3374 58, -1, -1, -1, 62, -1, -1, -1, -1, -1,
3375 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3376 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3377 88, 89, 3, 4, 5, 6, 94, 8, 9, 10,
3378 11, -1, 13, 14, -1, -1, -1, -1, -1, -1,
3379 -1, -1, -1, -1, 112, -1, -1, -1, 29, 30,
3380 31, -1, 33, -1, 35, 36, 37, -1, 39, 40,
3381 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
3382 51, 52, 53, 54, 55, -1, 57, 58, -1, -1,
3383 -1, 62, -1, -1, -1, -1, -1, 68, -1, -1,
3384 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3385 81, -1, -1, -1, -1, -1, 87, 88, 89, 3,
3386 4, 5, 6, 94, 8, 9, 10, 11, -1, 13,
3387 14, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3388 -1, 112, -1, -1, -1, 29, 30, 31, -1, 33,
3389 -1, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3390 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
3391 54, 55, -1, 57, 58, -1, -1, -1, -1, -1,
3392 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3393 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3394 -1, -1, -1, 87, 88, 89, 3, 4, 5, 6,
3395 94, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3396 -1, -1, -1, -1, -1, -1, -1, -1, 112, -1,
3397 -1, -1, 29, 30, 31, -1, 33, -1, 35, 36,
3398 37, -1, 39, 40, 41, 42, 43, 44, -1, 46,
3399 -1, -1, -1, 50, 51, 52, 53, 54, 55, -1,
3400 57, 58, -1, -1, -1, -1, -1, -1, -1, -1,
3401 -1, 68, -1, -1, 71, -1, -1, -1, -1, -1,
3402 -1, -1, 79, 80, 81, -1, -1, -1, -1, -1,
3403 87, 88, 89, 3, 4, 5, 6, 94, 8, 9,
3404 10, 11, -1, 13, 14, -1, -1, -1, -1, -1,
3405 -1, -1, -1, -1, -1, 112, -1, -1, -1, 29,
3406 30, 31, -1, 33, -1, 35, 36, 37, -1, 39,
3407 40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
3408 50, 51, 52, 53, 54, 55, -1, 57, 58, -1,
3409 -1, -1, -1, -1, -1, -1, -1, -1, 68, -1,
3410 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3411 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3412 3, 4, 5, 6, 94, 8, 9, 10, 11, -1,
3413 13, 14, -1, -1, -1, -1, -1, -1, -1, -1,
3414 -1, -1, 112, -1, -1, -1, 29, 30, 31, -1,
3415 33, -1, 35, 36, 37, -1, 39, 40, 41, 42,
3416 43, 44, -1, 46, -1, -1, -1, 50, 51, 52,
3417 53, 54, 55, -1, 57, 58, -1, -1, -1, -1,
3418 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3419 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3420 -1, -1, -1, -1, 87, 88, 89, 3, 4, 5,
3421 6, 94, 8, 9, 10, 11, -1, 13, 14, -1,
3422 -1, -1, -1, -1, -1, -1, -1, -1, -1, 112,
3423 -1, -1, -1, 29, 30, 31, -1, 33, -1, 35,
3424 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3425 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3426 -1, 57, 58, -1, -1, -1, -1, -1, -1, -1,
3427 -1, -1, 68, -1, 1, 71, 3, 4, 5, 6,
3428 7, 8, 9, 79, 80, 81, -1, 14, -1, -1,
3429 -1, 87, 88, 89, -1, -1, -1, -1, 94, -1,
3430 -1, -1, 29, -1, 31, 32, -1, -1, -1, -1,
3431 37, -1, -1, -1, -1, 42, 112, -1, -1, 46,
3432 -1, -1, 49, -1, -1, -1, -1, -1, 55, -1,
3433 57, 58, -1, -1, 61, 3, 4, 5, 6, 7,
3434 8, 9, -1, -1, 71, -1, 14, -1, -1, -1,
3435 -1, -1, -1, -1, 81, -1, -1, -1, -1, -1,
3436 -1, 29, 89, 31, 32, -1, -1, 94, -1, 37,
3437 -1, -1, -1, -1, 42, -1, -1, -1, 46, -1,
3438 48, -1, -1, -1, -1, -1, -1, 55, -1, 57,
3439 58, 3, 4, 5, 6, 7, 8, 9, -1, -1,
3440 -1, -1, 14, 71, -1, -1, -1, -1, -1, -1,
3441 -1, -1, -1, 81, -1, -1, -1, 29, -1, 31,
3442 32, 89, -1, 91, -1, 37, 94, 95, -1, -1,
3443 42, -1, -1, -1, 46, -1, 3, 4, 5, 6,
3444 7, 8, 9, 55, -1, 57, 58, 14, -1, 61,
3445 -1, -1, -1, -1, -1, -1, -1, -1, -1, 71,
3446 -1, -1, 29, -1, 31, 32, -1, -1, -1, 81,
3447 37, -1, -1, -1, -1, 42, -1, 89, -1, 46,
3448 -1, -1, 94, -1, -1, -1, -1, -1, 55, -1,
3449 57, 58, -1, -1, -1, -1, 63, 3, 4, 5,
3450 6, 7, 8, 9, 71, -1, -1, -1, 14, -1,
3451 -1, -1, -1, -1, 81, -1, -1, -1, -1, -1,
3452 -1, -1, 89, 29, -1, 31, 32, 94, -1, -1,
3453 -1, 37, -1, -1, -1, -1, 42, -1, -1, -1,
3454 46, -1, 3, 4, 5, 6, 7, 8, 9, 55,
3455 -1, 57, 58, 14, -1, 61, -1, -1, -1, -1,
3456 -1, -1, -1, -1, -1, 71, -1, -1, 29, -1,
3457 31, 32, -1, -1, -1, 81, 37, -1, -1, -1,
3458 -1, 42, -1, 89, -1, 46, -1, -1, 94, -1,
3459 -1, -1, -1, -1, 55, -1, 57, 58, 3, 4,
3460 5, 6, 7, 8, 9, -1, -1, -1, -1, 14,
3461 71, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3462 81, -1, -1, -1, 29, -1, 31, 32, 89, -1,
3463 -1, -1, 37, 94, -1, -1, -1, 42, -1, -1,
3464 -1, 46, -1, 3, 4, 5, 6, 7, 8, 9,
3465 55, -1, 57, 58, 14, -1, -1, -1, -1, -1,
3466 -1, -1, -1, -1, -1, -1, 71, -1, -1, -1,
3467 -1, -1, 32, -1, -1, -1, 81, 37, -1, -1,
3468 -1, -1, 42, -1, 89, 12, 46, -1, 48, 94,
3469 -1, -1, -1, -1, -1, 55, -1, 57, 58, 64,
3470 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
3471 75, 71, 77, 78, 79, 80, 81, 82, 83, 84,
3472 85, 81, -1, -1, -1, -1, -1, 32, -1, 89,
3473 -1, -1, -1, -1, 94, -1, 63, 64, 65, 66,
3474 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
3475 77, 78, 79, 80, 81, 82, 83, 84, 85, 64,
3476 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
3477 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
3478 85, 64, 65, 66, 67, 68, 69, 70, 71, 72,
3479 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
3480 83, 84, 85, 64, 65, 66, 67, 68, 69, 70,
3481 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
3482 81, 82, 83, 84, 85, -1, -1, -1, -1, -1,
3483 113, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3484 -1, -1, -1, -1, -1, 60, -1, -1, 109, 64,
3485 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
3486 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
3487 85, 63, 64, 65, 66, 67, 68, 69, 70, 71,
3488 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
3489 82, 83, 84, 85, 64, 65, 66, 67, 68, 69,
3490 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
3491 80, 81, 82, 83, 84, 85
3492 };
3493 /* -*-C-*- Note some compilers choke on comments on `#line' lines. */
3494 #line 3 "/usr/cygnus/latest-940103/share/bison.simple"
3495
3496 /* Skeleton output parser for bison,
3497 Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
3498
3499 This program is free software; you can redistribute it and/or modify
3500 it under the terms of the GNU General Public License as published by
3501 the Free Software Foundation; either version 2, or (at your option)
3502 any later version.
3503
3504 This program is distributed in the hope that it will be useful,
3505 but WITHOUT ANY WARRANTY; without even the implied warranty of
3506 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3507 GNU General Public License for more details.
3508
3509 You should have received a copy of the GNU General Public License
3510 along with this program; if not, write to the Free Software
3511 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
3512
3513 /* As a special exception, when this file is copied by Bison into a
3514 Bison output file, you may use that output file without restriction.
3515 This special exception was added by the Free Software Foundation
3516 in version 1.24 of Bison. */
3517
3518 #ifndef alloca
3519 #ifdef __GNUC__
3520 #define alloca __builtin_alloca
3521 #else /* not GNU C. */
3522 #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi)
3523 #include <alloca.h>
3524 #else /* not sparc */
3525 #if defined (MSDOS) && !defined (__TURBOC__)
3526 #include <malloc.h>
3527 #else /* not MSDOS, or __TURBOC__ */
3528 #if defined(_AIX)
3529 #include <malloc.h>
3530 #pragma alloca
3531 #else /* not MSDOS, __TURBOC__, or _AIX */
3532 #ifdef __hpux
3533 #ifdef __cplusplus
3534 extern "C" {
3535 void *alloca (unsigned int);
3536 };
3537 #else /* not __cplusplus */
3538 void *alloca ();
3539 #endif /* not __cplusplus */
3540 #endif /* __hpux */
3541 #endif /* not _AIX */
3542 #endif /* not MSDOS, or __TURBOC__ */
3543 #endif /* not sparc. */
3544 #endif /* not GNU C. */
3545 #endif /* alloca not defined. */
3546
3547 /* This is the parser code that is written into each bison parser
3548 when the %semantic_parser declaration is not specified in the grammar.
3549 It was written by Richard Stallman by simplifying the hairy parser
3550 used when %semantic_parser is specified. */
3551
3552 /* Note: there must be only one dollar sign in this file.
3553 It is replaced by the list of actions, each action
3554 as one case of the switch. */
3555
3556 #define yyerrok (yyerrstatus = 0)
3557 #define yyclearin (yychar = YYEMPTY)
3558 #define YYEMPTY -2
3559 #define YYEOF 0
3560 #define YYACCEPT return(0)
3561 #define YYABORT return(1)
3562 #define YYERROR goto yyerrlab1
3563 /* Like YYERROR except do call yyerror.
3564 This remains here temporarily to ease the
3565 transition to the new meaning of YYERROR, for GCC.
3566 Once GCC version 2 has supplanted version 1, this can go. */
3567 #define YYFAIL goto yyerrlab
3568 #define YYRECOVERING() (!!yyerrstatus)
3569 #define YYBACKUP(token, value) \
3570 do \
3571 if (yychar == YYEMPTY && yylen == 1) \
3572 { yychar = (token), yylval = (value); \
3573 yychar1 = YYTRANSLATE (yychar); \
3574 YYPOPSTACK; \
3575 goto yybackup; \
3576 } \
3577 else \
3578 { yyerror ("syntax error: cannot back up"); YYERROR; } \
3579 while (0)
3580
3581 #define YYTERROR 1
3582 #define YYERRCODE 256
3583
3584 #ifndef YYPURE
3585 #define YYLEX yylex()
3586 #endif
3587
3588 #ifdef YYPURE
3589 #ifdef YYLSP_NEEDED
3590 #ifdef YYLEX_PARAM
3591 #define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM)
3592 #else
3593 #define YYLEX yylex(&yylval, &yylloc)
3594 #endif
3595 #else /* not YYLSP_NEEDED */
3596 #ifdef YYLEX_PARAM
3597 #define YYLEX yylex(&yylval, YYLEX_PARAM)
3598 #else
3599 #define YYLEX yylex(&yylval)
3600 #endif
3601 #endif /* not YYLSP_NEEDED */
3602 #endif
3603
3604 /* If nonreentrant, generate the variables here */
3605
3606 #ifndef YYPURE
3607
3608 int yychar; /* the lookahead symbol */
3609 YYSTYPE yylval; /* the semantic value of the */
3610 /* lookahead symbol */
3611
3612 #ifdef YYLSP_NEEDED
3613 YYLTYPE yylloc; /* location data for the lookahead */
3614 /* symbol */
3615 #endif
3616
3617 int yynerrs; /* number of parse errors so far */
3618 #endif /* not YYPURE */
3619
3620 #if YYDEBUG != 0
3621 int yydebug; /* nonzero means print parse trace */
3622 /* Since this is uninitialized, it does not stop multiple parsers
3623 from coexisting. */
3624 #endif
3625
3626 /* YYINITDEPTH indicates the initial size of the parser's stacks */
3627
3628 #ifndef YYINITDEPTH
3629 #define YYINITDEPTH 200
3630 #endif
3631
3632 /* YYMAXDEPTH is the maximum size the stacks can grow to
3633 (effective only if the built-in stack extension method is used). */
3634
3635 #if YYMAXDEPTH == 0
3636 #undef YYMAXDEPTH
3637 #endif
3638
3639 #ifndef YYMAXDEPTH
3640 #define YYMAXDEPTH 10000
3641 #endif
3642
3643 /* Prevent warning if -Wstrict-prototypes. */
3644 #ifdef __GNUC__
3645 int yyparse (void);
3646 #endif
3647 \f
3648 #if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
3649 #define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT)
3650 #else /* not GNU C or C++ */
3651 #ifndef __cplusplus
3652
3653 /* This is the most reliable way to avoid incompatibilities
3654 in available built-in functions on various systems. */
3655 static void
3656 __yy_memcpy (to, from, count)
3657 char *to;
3658 char *from;
3659 int count;
3660 {
3661 register char *f = from;
3662 register char *t = to;
3663 register int i = count;
3664
3665 while (i-- > 0)
3666 *t++ = *f++;
3667 }
3668
3669 #else /* __cplusplus */
3670
3671 /* This is the most reliable way to avoid incompatibilities
3672 in available built-in functions on various systems. */
3673 static void
3674 __yy_memcpy (char *to, char *from, int count)
3675 {
3676 register char *f = from;
3677 register char *t = to;
3678 register int i = count;
3679
3680 while (i-- > 0)
3681 *t++ = *f++;
3682 }
3683
3684 #endif
3685 #endif
3686 \f
3687 #line 196 "/usr/cygnus/latest-940103/share/bison.simple"
3688
3689 /* The user can define YYPARSE_PARAM as the name of an argument to be passed
3690 into yyparse. The argument should have type void *.
3691 It should actually point to an object.
3692 Grammar actions can access the variable by casting it
3693 to the proper pointer type. */
3694
3695 #ifdef YYPARSE_PARAM
3696 #ifdef __cplusplus
3697 #define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
3698 #define YYPARSE_PARAM_DECL
3699 #else /* not __cplusplus */
3700 #define YYPARSE_PARAM_ARG YYPARSE_PARAM
3701 #define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
3702 #endif /* not __cplusplus */
3703 #else /* not YYPARSE_PARAM */
3704 #define YYPARSE_PARAM_ARG
3705 #define YYPARSE_PARAM_DECL
3706 #endif /* not YYPARSE_PARAM */
3707
3708 int
3709 yyparse(YYPARSE_PARAM_ARG)
3710 YYPARSE_PARAM_DECL
3711 {
3712 register int yystate;
3713 register int yyn;
3714 register short *yyssp;
3715 register YYSTYPE *yyvsp;
3716 int yyerrstatus; /* number of tokens to shift before error messages enabled */
3717 int yychar1 = 0; /* lookahead token as an internal (translated) token number */
3718
3719 short yyssa[YYINITDEPTH]; /* the state stack */
3720 YYSTYPE yyvsa[YYINITDEPTH]; /* the semantic value stack */
3721
3722 short *yyss = yyssa; /* refer to the stacks thru separate pointers */
3723 YYSTYPE *yyvs = yyvsa; /* to allow yyoverflow to reallocate them elsewhere */
3724
3725 #ifdef YYLSP_NEEDED
3726 YYLTYPE yylsa[YYINITDEPTH]; /* the location stack */
3727 YYLTYPE *yyls = yylsa;
3728 YYLTYPE *yylsp;
3729
3730 #define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
3731 #else
3732 #define YYPOPSTACK (yyvsp--, yyssp--)
3733 #endif
3734
3735 int yystacksize = YYINITDEPTH;
3736
3737 #ifdef YYPURE
3738 int yychar;
3739 YYSTYPE yylval;
3740 int yynerrs;
3741 #ifdef YYLSP_NEEDED
3742 YYLTYPE yylloc;
3743 #endif
3744 #endif
3745
3746 YYSTYPE yyval; /* the variable used to return */
3747 /* semantic values from the action */
3748 /* routines */
3749
3750 int yylen;
3751
3752 #if YYDEBUG != 0
3753 if (yydebug)
3754 fprintf(stderr, "Starting parse\n");
3755 #endif
3756
3757 yystate = 0;
3758 yyerrstatus = 0;
3759 yynerrs = 0;
3760 yychar = YYEMPTY; /* Cause a token to be read. */
3761
3762 /* Initialize stack pointers.
3763 Waste one element of value and location stack
3764 so that they stay on the same level as the state stack.
3765 The wasted elements are never initialized. */
3766
3767 yyssp = yyss - 1;
3768 yyvsp = yyvs;
3769 #ifdef YYLSP_NEEDED
3770 yylsp = yyls;
3771 #endif
3772
3773 /* Push a new state, which is found in yystate . */
3774 /* In all cases, when you get here, the value and location stacks
3775 have just been pushed. so pushing a state here evens the stacks. */
3776 yynewstate:
3777
3778 *++yyssp = yystate;
3779
3780 if (yyssp >= yyss + yystacksize - 1)
3781 {
3782 /* Give user a chance to reallocate the stack */
3783 /* Use copies of these so that the &'s don't force the real ones into memory. */
3784 YYSTYPE *yyvs1 = yyvs;
3785 short *yyss1 = yyss;
3786 #ifdef YYLSP_NEEDED
3787 YYLTYPE *yyls1 = yyls;
3788 #endif
3789
3790 /* Get the current used size of the three stacks, in elements. */
3791 int size = yyssp - yyss + 1;
3792
3793 #ifdef yyoverflow
3794 /* Each stack pointer address is followed by the size of
3795 the data in use in that stack, in bytes. */
3796 #ifdef YYLSP_NEEDED
3797 /* This used to be a conditional around just the two extra args,
3798 but that might be undefined if yyoverflow is a macro. */
3799 yyoverflow("parser stack overflow",
3800 &yyss1, size * sizeof (*yyssp),
3801 &yyvs1, size * sizeof (*yyvsp),
3802 &yyls1, size * sizeof (*yylsp),
3803 &yystacksize);
3804 #else
3805 yyoverflow("parser stack overflow",
3806 &yyss1, size * sizeof (*yyssp),
3807 &yyvs1, size * sizeof (*yyvsp),
3808 &yystacksize);
3809 #endif
3810
3811 yyss = yyss1; yyvs = yyvs1;
3812 #ifdef YYLSP_NEEDED
3813 yyls = yyls1;
3814 #endif
3815 #else /* no yyoverflow */
3816 /* Extend the stack our own way. */
3817 if (yystacksize >= YYMAXDEPTH)
3818 {
3819 yyerror("parser stack overflow");
3820 return 2;
3821 }
3822 yystacksize *= 2;
3823 if (yystacksize > YYMAXDEPTH)
3824 yystacksize = YYMAXDEPTH;
3825 yyss = (short *) alloca (yystacksize * sizeof (*yyssp));
3826 __yy_memcpy ((char *)yyss, (char *)yyss1, size * sizeof (*yyssp));
3827 yyvs = (YYSTYPE *) alloca (yystacksize * sizeof (*yyvsp));
3828 __yy_memcpy ((char *)yyvs, (char *)yyvs1, size * sizeof (*yyvsp));
3829 #ifdef YYLSP_NEEDED
3830 yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp));
3831 __yy_memcpy ((char *)yyls, (char *)yyls1, size * sizeof (*yylsp));
3832 #endif
3833 #endif /* no yyoverflow */
3834
3835 yyssp = yyss + size - 1;
3836 yyvsp = yyvs + size - 1;
3837 #ifdef YYLSP_NEEDED
3838 yylsp = yyls + size - 1;
3839 #endif
3840
3841 #if YYDEBUG != 0
3842 if (yydebug)
3843 fprintf(stderr, "Stack size increased to %d\n", yystacksize);
3844 #endif
3845
3846 if (yyssp >= yyss + yystacksize - 1)
3847 YYABORT;
3848 }
3849
3850 #if YYDEBUG != 0
3851 if (yydebug)
3852 fprintf(stderr, "Entering state %d\n", yystate);
3853 #endif
3854
3855 goto yybackup;
3856 yybackup:
3857
3858 /* Do appropriate processing given the current state. */
3859 /* Read a lookahead token if we need one and don't already have one. */
3860 /* yyresume: */
3861
3862 /* First try to decide what to do without reference to lookahead token. */
3863
3864 yyn = yypact[yystate];
3865 if (yyn == YYFLAG)
3866 goto yydefault;
3867
3868 /* Not known => get a lookahead token if don't already have one. */
3869
3870 /* yychar is either YYEMPTY or YYEOF
3871 or a valid token in external form. */
3872
3873 if (yychar == YYEMPTY)
3874 {
3875 #if YYDEBUG != 0
3876 if (yydebug)
3877 fprintf(stderr, "Reading a token: ");
3878 #endif
3879 yychar = YYLEX;
3880 }
3881
3882 /* Convert token to internal form (in yychar1) for indexing tables with */
3883
3884 if (yychar <= 0) /* This means end of input. */
3885 {
3886 yychar1 = 0;
3887 yychar = YYEOF; /* Don't call YYLEX any more */
3888
3889 #if YYDEBUG != 0
3890 if (yydebug)
3891 fprintf(stderr, "Now at end of input.\n");
3892 #endif
3893 }
3894 else
3895 {
3896 yychar1 = YYTRANSLATE(yychar);
3897
3898 #if YYDEBUG != 0
3899 if (yydebug)
3900 {
3901 fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
3902 /* Give the individual parser a way to print the precise meaning
3903 of a token, for further debugging info. */
3904 #ifdef YYPRINT
3905 YYPRINT (stderr, yychar, yylval);
3906 #endif
3907 fprintf (stderr, ")\n");
3908 }
3909 #endif
3910 }
3911
3912 yyn += yychar1;
3913 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
3914 goto yydefault;
3915
3916 yyn = yytable[yyn];
3917
3918 /* yyn is what to do for this token type in this state.
3919 Negative => reduce, -yyn is rule number.
3920 Positive => shift, yyn is new state.
3921 New state is final state => don't bother to shift,
3922 just return success.
3923 0, or most negative number => error. */
3924
3925 if (yyn < 0)
3926 {
3927 if (yyn == YYFLAG)
3928 goto yyerrlab;
3929 yyn = -yyn;
3930 goto yyreduce;
3931 }
3932 else if (yyn == 0)
3933 goto yyerrlab;
3934
3935 if (yyn == YYFINAL)
3936 YYACCEPT;
3937
3938 /* Shift the lookahead token. */
3939
3940 #if YYDEBUG != 0
3941 if (yydebug)
3942 fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
3943 #endif
3944
3945 /* Discard the token being shifted unless it is eof. */
3946 if (yychar != YYEOF)
3947 yychar = YYEMPTY;
3948
3949 *++yyvsp = yylval;
3950 #ifdef YYLSP_NEEDED
3951 *++yylsp = yylloc;
3952 #endif
3953
3954 /* count tokens shifted since error; after three, turn off error status. */
3955 if (yyerrstatus) yyerrstatus--;
3956
3957 yystate = yyn;
3958 goto yynewstate;
3959
3960 /* Do the default action for the current state. */
3961 yydefault:
3962
3963 yyn = yydefact[yystate];
3964 if (yyn == 0)
3965 goto yyerrlab;
3966
3967 /* Do a reduction. yyn is the number of a rule to reduce with. */
3968 yyreduce:
3969 yylen = yyr2[yyn];
3970 if (yylen > 0)
3971 yyval = yyvsp[1-yylen]; /* implement default value of the action */
3972
3973 #if YYDEBUG != 0
3974 if (yydebug)
3975 {
3976 int i;
3977
3978 fprintf (stderr, "Reducing via rule %d (line %d), ",
3979 yyn, yyrline[yyn]);
3980
3981 /* Print the symbols being reduced, and their result. */
3982 for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
3983 fprintf (stderr, "%s ", yytname[yyrhs[i]]);
3984 fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
3985 }
3986 #endif
3987
3988
3989 switch (yyn) {
3990
3991 case 2:
3992 #line 331 "parse.y"
3993 {
3994 /* In case there were missing closebraces,
3995 get us back to the global binding level. */
3996 while (! global_bindings_p ())
3997 poplevel (0, 0, 0);
3998 finish_file ();
3999 ;
4000 break;}
4001 case 3:
4002 #line 345 "parse.y"
4003 { yyval.ttype = NULL_TREE; ;
4004 break;}
4005 case 4:
4006 #line 347 "parse.y"
4007 { yyval.ttype = NULL_TREE; ;
4008 break;}
4009 case 5:
4010 #line 349 "parse.y"
4011 { yyval.ttype = NULL_TREE; ;
4012 break;}
4013 case 8:
4014 #line 358 "parse.y"
4015 { have_extern_spec = 1;
4016 used_extern_spec = 0;
4017 yyval.ttype = NULL_TREE; ;
4018 break;}
4019 case 9:
4020 #line 363 "parse.y"
4021 { have_extern_spec = 0; ;
4022 break;}
4023 case 10:
4024 #line 368 "parse.y"
4025 { yyval.itype = pedantic;
4026 pedantic = 0; ;
4027 break;}
4028 case 13:
4029 #line 378 "parse.y"
4030 { if (pending_lang_change) do_pending_lang_change(); ;
4031 break;}
4032 case 14:
4033 #line 380 "parse.y"
4034 { if (! toplevel_bindings_p () && ! pseudo_global_level_p())
4035 pop_everything (); ;
4036 break;}
4037 case 15:
4038 #line 386 "parse.y"
4039 { if (pending_inlines) do_pending_inlines (); ;
4040 break;}
4041 case 16:
4042 #line 388 "parse.y"
4043 { if (pending_inlines) do_pending_inlines (); ;
4044 break;}
4045 case 17:
4046 #line 390 "parse.y"
4047 { if (pending_inlines) do_pending_inlines (); ;
4048 break;}
4049 case 18:
4050 #line 392 "parse.y"
4051 { if (TREE_CHAIN (yyvsp[-2].ttype)) yyvsp[-2].ttype = combine_strings (yyvsp[-2].ttype);
4052 assemble_asm (yyvsp[-2].ttype); ;
4053 break;}
4054 case 19:
4055 #line 395 "parse.y"
4056 { pop_lang_context (); ;
4057 break;}
4058 case 20:
4059 #line 397 "parse.y"
4060 { if (pending_inlines) do_pending_inlines ();
4061 pop_lang_context (); ;
4062 break;}
4063 case 21:
4064 #line 400 "parse.y"
4065 { if (pending_inlines) do_pending_inlines ();
4066 pop_lang_context (); ;
4067 break;}
4068 case 22:
4069 #line 403 "parse.y"
4070 { push_namespace (yyvsp[-1].ttype); ;
4071 break;}
4072 case 23:
4073 #line 405 "parse.y"
4074 { pop_namespace (); ;
4075 break;}
4076 case 24:
4077 #line 407 "parse.y"
4078 { push_namespace (NULL_TREE); ;
4079 break;}
4080 case 25:
4081 #line 409 "parse.y"
4082 { pop_namespace (); ;
4083 break;}
4084 case 26:
4085 #line 411 "parse.y"
4086 { do_namespace_alias (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
4087 break;}
4088 case 27:
4089 #line 413 "parse.y"
4090 { do_toplevel_using_decl (yyvsp[-1].ttype); ;
4091 break;}
4092 case 28:
4093 #line 415 "parse.y"
4094 {
4095 if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE)
4096 yyvsp[-1].ttype = lastiddecl;
4097 do_using_directive (yyvsp[-1].ttype);
4098 ;
4099 break;}
4100 case 29:
4101 #line 421 "parse.y"
4102 { pedantic = yyvsp[-1].itype; ;
4103 break;}
4104 case 30:
4105 #line 426 "parse.y"
4106 { yyval.ttype = yyvsp[0].ttype; ;
4107 break;}
4108 case 31:
4109 #line 428 "parse.y"
4110 { yyval.ttype = yyvsp[0].ttype; ;
4111 break;}
4112 case 32:
4113 #line 430 "parse.y"
4114 { yyval.ttype = yyvsp[0].ttype; ;
4115 break;}
4116 case 35:
4117 #line 437 "parse.y"
4118 { yyval.ttype = yyvsp[0].ttype; ;
4119 break;}
4120 case 36:
4121 #line 439 "parse.y"
4122 { yyval.ttype = yyvsp[0].ttype; ;
4123 break;}
4124 case 37:
4125 #line 444 "parse.y"
4126 { push_lang_context (yyvsp[0].ttype); ;
4127 break;}
4128 case 38:
4129 #line 446 "parse.y"
4130 { if (current_lang_name != yyvsp[0].ttype)
4131 cp_error ("use of linkage spec `%D' is different from previous spec `%D'", yyvsp[0].ttype, current_lang_name);
4132 pop_lang_context (); push_lang_context (yyvsp[0].ttype); ;
4133 break;}
4134 case 39:
4135 #line 453 "parse.y"
4136 { begin_template_parm_list (); ;
4137 break;}
4138 case 40:
4139 #line 455 "parse.y"
4140 { yyval.ttype = end_template_parm_list (yyvsp[-1].ttype); ;
4141 break;}
4142 case 41:
4143 #line 457 "parse.y"
4144 { begin_specialization();
4145 yyval.ttype = NULL_TREE; ;
4146 break;}
4147 case 42:
4148 #line 463 "parse.y"
4149 { yyval.ttype = process_template_parm (NULL_TREE, yyvsp[0].ttype); ;
4150 break;}
4151 case 43:
4152 #line 465 "parse.y"
4153 { yyval.ttype = process_template_parm (yyvsp[-2].ttype, yyvsp[0].ttype); ;
4154 break;}
4155 case 44:
4156 #line 470 "parse.y"
4157 { yyval.ttype = yyvsp[0].ttype; ;
4158 break;}
4159 case 45:
4160 #line 472 "parse.y"
4161 { yyval.ttype = NULL_TREE; ;
4162 break;}
4163 case 46:
4164 #line 476 "parse.y"
4165 { yyval.ttype = finish_template_type_parm (yyvsp[-1].ttype, yyvsp[0].ttype); ;
4166 break;}
4167 case 47:
4168 #line 478 "parse.y"
4169 { yyval.ttype = finish_template_type_parm (class_type_node, yyvsp[0].ttype); ;
4170 break;}
4171 case 48:
4172 #line 483 "parse.y"
4173 { yyval.ttype = finish_template_template_parm (yyvsp[-1].ttype, yyvsp[0].ttype); ;
4174 break;}
4175 case 49:
4176 #line 495 "parse.y"
4177 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
4178 break;}
4179 case 50:
4180 #line 497 "parse.y"
4181 { yyval.ttype = build_tree_list (groktypename (yyvsp[0].ftype.t), yyvsp[-2].ttype); ;
4182 break;}
4183 case 51:
4184 #line 499 "parse.y"
4185 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ftype.t); ;
4186 break;}
4187 case 52:
4188 #line 501 "parse.y"
4189 { yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-2].ftype.t); ;
4190 break;}
4191 case 53:
4192 #line 503 "parse.y"
4193 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
4194 break;}
4195 case 54:
4196 #line 505 "parse.y"
4197 {
4198 if (TREE_CODE (yyvsp[0].ttype) != TEMPLATE_DECL
4199 && TREE_CODE (yyvsp[0].ttype) != TEMPLATE_TEMPLATE_PARM
4200 && TREE_CODE (yyvsp[0].ttype) != TYPE_DECL)
4201 {
4202 error ("invalid default template argument");
4203 yyvsp[0].ttype = error_mark_node;
4204 }
4205 yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype);
4206 ;
4207 break;}
4208 case 55:
4209 #line 520 "parse.y"
4210 {
4211 if (yyvsp[-1].ttype)
4212 end_template_decl ();
4213 else
4214 end_specialization ();
4215 ;
4216 break;}
4217 case 56:
4218 #line 528 "parse.y"
4219 {
4220 if (yyvsp[-1].ttype)
4221 end_template_decl ();
4222 else
4223 end_specialization ();
4224 ;
4225 break;}
4226 case 58:
4227 #line 539 "parse.y"
4228 {;
4229 break;}
4230 case 59:
4231 #line 541 "parse.y"
4232 {
4233 note_list_got_semicolon (yyvsp[-2].ftype.t);
4234 ;
4235 break;}
4236 case 60:
4237 #line 545 "parse.y"
4238 { pedwarn ("empty declaration"); ;
4239 break;}
4240 case 62:
4241 #line 548 "parse.y"
4242 {
4243 tree t, attrs;
4244 split_specs_attrs (yyvsp[-1].ftype.t, &t, &attrs);
4245 shadow_tag (t);
4246 note_list_got_semicolon (yyvsp[-1].ftype.t);
4247 ;
4248 break;}
4249 case 66:
4250 #line 561 "parse.y"
4251 { yyval.itype = 0; ;
4252 break;}
4253 case 67:
4254 #line 563 "parse.y"
4255 { yyval.itype = 1; ;
4256 break;}
4257 case 73:
4258 #line 579 "parse.y"
4259 { finish_function (lineno, (int)yyvsp[-1].itype, 0); ;
4260 break;}
4261 case 74:
4262 #line 581 "parse.y"
4263 { ;
4264 break;}
4265 case 75:
4266 #line 583 "parse.y"
4267 { ;
4268 break;}
4269 case 76:
4270 #line 588 "parse.y"
4271 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4272 break;}
4273 case 77:
4274 #line 590 "parse.y"
4275 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4276 break;}
4277 case 78:
4278 #line 592 "parse.y"
4279 { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype);
4280 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4281 ;
4282 break;}
4283 case 79:
4284 #line 596 "parse.y"
4285 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4286 break;}
4287 case 80:
4288 #line 598 "parse.y"
4289 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4290 break;}
4291 case 81:
4292 #line 600 "parse.y"
4293 { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype);
4294 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4295 ;
4296 break;}
4297 case 82:
4298 #line 604 "parse.y"
4299 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4300 break;}
4301 case 83:
4302 #line 606 "parse.y"
4303 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4304 break;}
4305 case 84:
4306 #line 608 "parse.y"
4307 { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype);
4308 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4309 ;
4310 break;}
4311 case 85:
4312 #line 612 "parse.y"
4313 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4314 break;}
4315 case 86:
4316 #line 614 "parse.y"
4317 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4318 break;}
4319 case 87:
4320 #line 616 "parse.y"
4321 { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype);
4322 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4323 ;
4324 break;}
4325 case 88:
4326 #line 623 "parse.y"
4327 { if (!begin_function_definition (yyvsp[-1].ftype.t, yyvsp[0].ttype))
4328 YYERROR1; ;
4329 break;}
4330 case 89:
4331 #line 626 "parse.y"
4332 { if (!begin_function_definition (yyvsp[-1].ttype, yyvsp[0].ttype))
4333 YYERROR1; ;
4334 break;}
4335 case 90:
4336 #line 629 "parse.y"
4337 { if (!begin_function_definition (NULL_TREE, yyvsp[0].ttype))
4338 YYERROR1; ;
4339 break;}
4340 case 91:
4341 #line 632 "parse.y"
4342 { if (!begin_function_definition (yyvsp[-1].ttype, yyvsp[0].ttype))
4343 YYERROR1; ;
4344 break;}
4345 case 92:
4346 #line 635 "parse.y"
4347 { if (!begin_function_definition (NULL_TREE, yyvsp[0].ttype))
4348 YYERROR1; ;
4349 break;}
4350 case 93:
4351 #line 641 "parse.y"
4352 { yyval.ttype = make_call_declarator (yyvsp[-5].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4353 break;}
4354 case 94:
4355 #line 643 "parse.y"
4356 { yyval.ttype = make_call_declarator (yyvsp[-3].ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
4357 break;}
4358 case 95:
4359 #line 645 "parse.y"
4360 { yyval.ttype = make_call_declarator (yyvsp[-5].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4361 break;}
4362 case 96:
4363 #line 647 "parse.y"
4364 { yyval.ttype = make_call_declarator (yyvsp[-3].ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
4365 break;}
4366 case 97:
4367 #line 654 "parse.y"
4368 { tree specs = strip_attrs (yyvsp[-1].ttype);
4369 yyval.ttype = start_method (specs, yyvsp[0].ttype);
4370 rest_of_mdef:
4371 if (! yyval.ttype)
4372 YYERROR1;
4373 if (yychar == YYEMPTY)
4374 yychar = YYLEX;
4375 reinit_parse_for_method (yychar, yyval.ttype); ;
4376 break;}
4377 case 98:
4378 #line 663 "parse.y"
4379 { yyval.ttype = start_method (NULL_TREE, yyvsp[0].ttype); goto rest_of_mdef; ;
4380 break;}
4381 case 99:
4382 #line 665 "parse.y"
4383 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
4384 yyval.ttype = start_method (specs, yyvsp[0].ttype); goto rest_of_mdef; ;
4385 break;}
4386 case 100:
4387 #line 668 "parse.y"
4388 { tree specs = strip_attrs (yyvsp[-1].ttype);
4389 yyval.ttype = start_method (specs, yyvsp[0].ttype); goto rest_of_mdef; ;
4390 break;}
4391 case 101:
4392 #line 671 "parse.y"
4393 { yyval.ttype = start_method (NULL_TREE, yyval.ttype); goto rest_of_mdef; ;
4394 break;}
4395 case 102:
4396 #line 673 "parse.y"
4397 { tree specs = strip_attrs (yyvsp[-1].ttype);
4398 yyval.ttype = start_method (specs, yyvsp[0].ttype); goto rest_of_mdef; ;
4399 break;}
4400 case 103:
4401 #line 676 "parse.y"
4402 { yyval.ttype = start_method (NULL_TREE, yyval.ttype); goto rest_of_mdef; ;
4403 break;}
4404 case 104:
4405 #line 681 "parse.y"
4406 {
4407 if (! current_function_parms_stored)
4408 store_parm_decls ();
4409 yyval.ttype = yyvsp[0].ttype;
4410 ;
4411 break;}
4412 case 105:
4413 #line 690 "parse.y"
4414 { store_return_init (yyval.ttype, yyvsp[0].ttype); ;
4415 break;}
4416 case 106:
4417 #line 692 "parse.y"
4418 { store_return_init (yyval.ttype, yyvsp[-1].ttype); ;
4419 break;}
4420 case 107:
4421 #line 694 "parse.y"
4422 { store_return_init (yyval.ttype, NULL_TREE); ;
4423 break;}
4424 case 108:
4425 #line 699 "parse.y"
4426 {
4427 if (yyvsp[0].itype == 0)
4428 error ("no base initializers given following ':'");
4429 setup_vtbl_ptr ();
4430 /* Always keep the BLOCK node associated with the outermost
4431 pair of curley braces of a function. These are needed
4432 for correct operation of dwarfout.c. */
4433 keep_next_level ();
4434 ;
4435 break;}
4436 case 109:
4437 #line 712 "parse.y"
4438 {
4439 if (! current_function_parms_stored)
4440 store_parm_decls ();
4441
4442 if (DECL_CONSTRUCTOR_P (current_function_decl))
4443 {
4444 /* Make a contour for the initializer list. */
4445 pushlevel (0);
4446 clear_last_expr ();
4447 expand_start_bindings (0);
4448 }
4449 else if (current_class_type == NULL_TREE)
4450 error ("base initializers not allowed for non-member functions");
4451 else if (! DECL_CONSTRUCTOR_P (current_function_decl))
4452 error ("only constructors take base initializers");
4453 ;
4454 break;}
4455 case 110:
4456 #line 732 "parse.y"
4457 { yyval.itype = 0; ;
4458 break;}
4459 case 111:
4460 #line 734 "parse.y"
4461 { yyval.itype = 1; ;
4462 break;}
4463 case 114:
4464 #line 741 "parse.y"
4465 {
4466 if (current_class_name)
4467 pedwarn ("anachronistic old style base class initializer");
4468 expand_member_init (current_class_ref, NULL_TREE, yyvsp[-1].ttype);
4469 ;
4470 break;}
4471 case 115:
4472 #line 747 "parse.y"
4473 {
4474 if (current_class_name)
4475 pedwarn ("anachronistic old style base class initializer");
4476 expand_member_init (current_class_ref, NULL_TREE, void_type_node);
4477 ;
4478 break;}
4479 case 116:
4480 #line 753 "parse.y"
4481 { expand_member_init (current_class_ref, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
4482 break;}
4483 case 117:
4484 #line 755 "parse.y"
4485 { expand_member_init (current_class_ref, yyvsp[-1].ttype, void_type_node); ;
4486 break;}
4487 case 118:
4488 #line 757 "parse.y"
4489 { expand_member_init (current_class_ref, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
4490 break;}
4491 case 119:
4492 #line 759 "parse.y"
4493 { expand_member_init (current_class_ref, yyvsp[-1].ttype, void_type_node); ;
4494 break;}
4495 case 120:
4496 #line 761 "parse.y"
4497 { expand_member_init (current_class_ref, TYPE_MAIN_DECL (yyvsp[-3].ttype),
4498 yyvsp[-1].ttype); ;
4499 break;}
4500 case 121:
4501 #line 764 "parse.y"
4502 { expand_member_init (current_class_ref, TYPE_MAIN_DECL (yyvsp[-1].ttype),
4503 void_type_node); ;
4504 break;}
4505 case 133:
4506 #line 790 "parse.y"
4507 { do_type_instantiation (yyvsp[-1].ftype.t, NULL_TREE);
4508 yyungetc (';', 1); ;
4509 break;}
4510 case 135:
4511 #line 794 "parse.y"
4512 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
4513 do_decl_instantiation (specs, yyvsp[0].ttype, NULL_TREE); ;
4514 break;}
4515 case 137:
4516 #line 798 "parse.y"
4517 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
4518 break;}
4519 case 139:
4520 #line 801 "parse.y"
4521 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
4522 break;}
4523 case 141:
4524 #line 804 "parse.y"
4525 { do_type_instantiation (yyvsp[-1].ftype.t, yyvsp[-4].ttype);
4526 yyungetc (';', 1); ;
4527 break;}
4528 case 143:
4529 #line 809 "parse.y"
4530 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
4531 do_decl_instantiation (specs, yyvsp[0].ttype, yyvsp[-4].ttype); ;
4532 break;}
4533 case 145:
4534 #line 813 "parse.y"
4535 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, yyvsp[-3].ttype); ;
4536 break;}
4537 case 147:
4538 #line 816 "parse.y"
4539 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, yyvsp[-3].ttype); ;
4540 break;}
4541 case 149:
4542 #line 821 "parse.y"
4543 { begin_explicit_instantiation(); ;
4544 break;}
4545 case 150:
4546 #line 824 "parse.y"
4547 { end_explicit_instantiation(); ;
4548 break;}
4549 case 151:
4550 #line 832 "parse.y"
4551 {
4552 yyval.ttype = lookup_template_class (yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE, NULL_TREE);
4553 if (yyval.ttype != error_mark_node)
4554 yyval.ttype = TYPE_STUB_DECL (yyval.ttype);
4555 ;
4556 break;}
4557 case 152:
4558 #line 838 "parse.y"
4559 {
4560 yyval.ttype = lookup_template_class (yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE, NULL_TREE);
4561 if (yyval.ttype != error_mark_node)
4562 yyval.ttype = TYPE_STUB_DECL (yyval.ttype);
4563 ;
4564 break;}
4565 case 154:
4566 #line 848 "parse.y"
4567 {
4568 yyval.ttype = lookup_template_class (yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE, NULL_TREE);
4569 if (yyval.ttype != error_mark_node)
4570 yyval.ttype = TYPE_STUB_DECL (yyval.ttype);
4571 ;
4572 break;}
4573 case 156:
4574 #line 858 "parse.y"
4575 {
4576 /* Handle `Class<Class<Type>>' without space in the `>>' */
4577 pedwarn ("`>>' should be `> >' in template class name");
4578 yyungetc ('>', 1);
4579 ;
4580 break;}
4581 case 157:
4582 #line 867 "parse.y"
4583 { yyval.ttype = NULL_TREE; ;
4584 break;}
4585 case 159:
4586 #line 873 "parse.y"
4587 { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
4588 break;}
4589 case 160:
4590 #line 875 "parse.y"
4591 { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
4592 break;}
4593 case 161:
4594 #line 880 "parse.y"
4595 { yyval.ttype = groktypename (yyvsp[0].ftype.t); ;
4596 break;}
4597 case 163:
4598 #line 886 "parse.y"
4599 { yyval.code = NEGATE_EXPR; ;
4600 break;}
4601 case 164:
4602 #line 888 "parse.y"
4603 { yyval.code = CONVERT_EXPR; ;
4604 break;}
4605 case 165:
4606 #line 890 "parse.y"
4607 { yyval.code = PREINCREMENT_EXPR; ;
4608 break;}
4609 case 166:
4610 #line 892 "parse.y"
4611 { yyval.code = PREDECREMENT_EXPR; ;
4612 break;}
4613 case 167:
4614 #line 894 "parse.y"
4615 { yyval.code = TRUTH_NOT_EXPR; ;
4616 break;}
4617 case 168:
4618 #line 899 "parse.y"
4619 { yyval.ttype = build_x_compound_expr (yyval.ttype); ;
4620 break;}
4621 case 170:
4622 #line 905 "parse.y"
4623 { error ("ANSI C++ forbids an empty condition for `%s'",
4624 cond_stmt_keyword);
4625 yyval.ttype = integer_zero_node; ;
4626 break;}
4627 case 171:
4628 #line 909 "parse.y"
4629 { yyval.ttype = yyvsp[-1].ttype; ;
4630 break;}
4631 case 172:
4632 #line 914 "parse.y"
4633 { error ("ANSI C++ forbids an empty condition for `%s'",
4634 cond_stmt_keyword);
4635 yyval.ttype = integer_zero_node; ;
4636 break;}
4637 case 173:
4638 #line 918 "parse.y"
4639 { yyval.ttype = yyvsp[-1].ttype; ;
4640 break;}
4641 case 174:
4642 #line 923 "parse.y"
4643 { yyval.ttype = NULL_TREE; ;
4644 break;}
4645 case 175:
4646 #line 925 "parse.y"
4647 { yyval.ttype = condition_conversion (yyval.ttype); ;
4648 break;}
4649 case 176:
4650 #line 927 "parse.y"
4651 { yyval.ttype = NULL_TREE; ;
4652 break;}
4653 case 177:
4654 #line 932 "parse.y"
4655 { {
4656 tree d;
4657 for (d = getdecls (); d; d = TREE_CHAIN (d))
4658 if (TREE_CODE (d) == TYPE_DECL) {
4659 tree s = TREE_TYPE (d);
4660 if (TREE_CODE (s) == RECORD_TYPE)
4661 cp_error ("definition of class `%T' in condition", s);
4662 else if (TREE_CODE (s) == ENUMERAL_TYPE)
4663 cp_error ("definition of enum `%T' in condition", s);
4664 }
4665 }
4666 current_declspecs = yyvsp[-4].ftype.t;
4667 yyvsp[0].itype = suspend_momentary ();
4668 yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1,
4669 yyvsp[-1].ttype, /*prefix_attributes*/ NULL_TREE);
4670 ;
4671 break;}
4672 case 178:
4673 #line 949 "parse.y"
4674 {
4675 cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-3].ttype, 1, LOOKUP_ONLYCONVERTING);
4676 resume_momentary (yyvsp[-2].itype);
4677 yyval.ttype = yyvsp[-1].ttype;
4678 if (TREE_CODE (TREE_TYPE (yyval.ttype)) == ARRAY_TYPE)
4679 cp_error ("definition of array `%#D' in condition", yyval.ttype);
4680 ;
4681 break;}
4682 case 184:
4683 #line 968 "parse.y"
4684 { yyval.ttype = begin_compound_stmt (1); ;
4685 break;}
4686 case 185:
4687 #line 970 "parse.y"
4688 { finish_compound_stmt (1, yyvsp[-1].ttype); ;
4689 break;}
4690 case 187:
4691 #line 977 "parse.y"
4692 { yyval.ttype = expr_tree_cons (NULL_TREE, yyval.ttype,
4693 build_expr_list (NULL_TREE, yyvsp[0].ttype)); ;
4694 break;}
4695 case 188:
4696 #line 980 "parse.y"
4697 { yyval.ttype = expr_tree_cons (NULL_TREE, yyval.ttype,
4698 build_expr_list (NULL_TREE, error_mark_node)); ;
4699 break;}
4700 case 189:
4701 #line 983 "parse.y"
4702 { chainon (yyval.ttype, build_expr_list (NULL_TREE, yyvsp[0].ttype)); ;
4703 break;}
4704 case 190:
4705 #line 985 "parse.y"
4706 { chainon (yyval.ttype, build_expr_list (NULL_TREE, error_mark_node)); ;
4707 break;}
4708 case 191:
4709 #line 990 "parse.y"
4710 { yyval.ttype = build_expr_list (NULL_TREE, yyval.ttype); ;
4711 break;}
4712 case 193:
4713 #line 996 "parse.y"
4714 { yyval.ttype = yyvsp[0].ttype; ;
4715 break;}
4716 case 194:
4717 #line 999 "parse.y"
4718 { yyval.ttype = yyvsp[0].ttype;
4719 pedantic = yyvsp[-1].itype; ;
4720 break;}
4721 case 195:
4722 #line 1002 "parse.y"
4723 { yyval.ttype = build_x_indirect_ref (yyvsp[0].ttype, "unary *"); ;
4724 break;}
4725 case 196:
4726 #line 1004 "parse.y"
4727 { yyval.ttype = build_x_unary_op (ADDR_EXPR, yyvsp[0].ttype); ;
4728 break;}
4729 case 197:
4730 #line 1006 "parse.y"
4731 { yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, yyvsp[0].ttype); ;
4732 break;}
4733 case 198:
4734 #line 1008 "parse.y"
4735 { yyval.ttype = build_x_unary_op (yyvsp[-1].code, yyvsp[0].ttype);
4736 if (yyvsp[-1].code == NEGATE_EXPR && TREE_CODE (yyvsp[0].ttype) == INTEGER_CST)
4737 TREE_NEGATED_INT (yyval.ttype) = 1;
4738 overflow_warning (yyval.ttype);
4739 ;
4740 break;}
4741 case 199:
4742 #line 1015 "parse.y"
4743 { if (pedantic)
4744 pedwarn ("ANSI C++ forbids `&&'");
4745 yyval.ttype = finish_label_address_expr (yyvsp[0].ttype); ;
4746 break;}
4747 case 200:
4748 #line 1019 "parse.y"
4749 { yyval.ttype = expr_sizeof (yyvsp[0].ttype); ;
4750 break;}
4751 case 201:
4752 #line 1021 "parse.y"
4753 { yyval.ttype = c_sizeof (groktypename (yyvsp[-1].ftype.t)); ;
4754 break;}
4755 case 202:
4756 #line 1023 "parse.y"
4757 { yyval.ttype = grok_alignof (yyvsp[0].ttype); ;
4758 break;}
4759 case 203:
4760 #line 1025 "parse.y"
4761 { yyval.ttype = c_alignof (groktypename (yyvsp[-1].ftype.t));
4762 check_for_new_type ("alignof", yyvsp[-1].ftype); ;
4763 break;}
4764 case 204:
4765 #line 1031 "parse.y"
4766 { yyval.ttype = build_new (NULL_TREE, yyvsp[0].ftype.t, NULL_TREE, yyvsp[-1].itype);
4767 check_for_new_type ("new", yyvsp[0].ftype); ;
4768 break;}
4769 case 205:
4770 #line 1034 "parse.y"
4771 { yyval.ttype = build_new (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype, yyvsp[-2].itype);
4772 check_for_new_type ("new", yyvsp[-1].ftype); ;
4773 break;}
4774 case 206:
4775 #line 1037 "parse.y"
4776 { yyval.ttype = build_new (yyvsp[-1].ttype, yyvsp[0].ftype.t, NULL_TREE, yyvsp[-2].itype);
4777 check_for_new_type ("new", yyvsp[0].ftype); ;
4778 break;}
4779 case 207:
4780 #line 1040 "parse.y"
4781 { yyval.ttype = build_new (yyvsp[-2].ttype, yyvsp[-1].ftype.t, yyvsp[0].ttype, yyvsp[-3].itype);
4782 check_for_new_type ("new", yyvsp[-1].ftype); ;
4783 break;}
4784 case 208:
4785 #line 1043 "parse.y"
4786 { yyval.ttype = build_new (NULL_TREE, groktypename(yyvsp[-1].ftype.t),
4787 NULL_TREE, yyvsp[-3].itype);
4788 check_for_new_type ("new", yyvsp[-1].ftype); ;
4789 break;}
4790 case 209:
4791 #line 1047 "parse.y"
4792 { yyval.ttype = build_new (NULL_TREE, groktypename(yyvsp[-2].ftype.t), yyvsp[0].ttype, yyvsp[-4].itype);
4793 check_for_new_type ("new", yyvsp[-2].ftype); ;
4794 break;}
4795 case 210:
4796 #line 1050 "parse.y"
4797 { yyval.ttype = build_new (yyvsp[-3].ttype, groktypename(yyvsp[-1].ftype.t), NULL_TREE, yyvsp[-4].itype);
4798 check_for_new_type ("new", yyvsp[-1].ftype); ;
4799 break;}
4800 case 211:
4801 #line 1053 "parse.y"
4802 { yyval.ttype = build_new (yyvsp[-4].ttype, groktypename(yyvsp[-2].ftype.t), yyvsp[0].ttype, yyvsp[-5].itype);
4803 check_for_new_type ("new", yyvsp[-2].ftype); ;
4804 break;}
4805 case 212:
4806 #line 1057 "parse.y"
4807 { yyval.ttype = delete_sanity (yyvsp[0].ttype, NULL_TREE, 0, yyvsp[-1].itype); ;
4808 break;}
4809 case 213:
4810 #line 1059 "parse.y"
4811 { yyval.ttype = delete_sanity (yyvsp[0].ttype, NULL_TREE, 1, yyvsp[-3].itype);
4812 if (yychar == YYEMPTY)
4813 yychar = YYLEX; ;
4814 break;}
4815 case 214:
4816 #line 1063 "parse.y"
4817 { yyval.ttype = delete_sanity (yyvsp[0].ttype, yyvsp[-2].ttype, 2, yyvsp[-4].itype);
4818 if (yychar == YYEMPTY)
4819 yychar = YYLEX; ;
4820 break;}
4821 case 215:
4822 #line 1067 "parse.y"
4823 { yyval.ttype = build_x_unary_op (REALPART_EXPR, yyvsp[0].ttype); ;
4824 break;}
4825 case 216:
4826 #line 1069 "parse.y"
4827 { yyval.ttype = build_x_unary_op (IMAGPART_EXPR, yyvsp[0].ttype); ;
4828 break;}
4829 case 217:
4830 #line 1074 "parse.y"
4831 { yyval.ttype = yyvsp[-1].ttype; ;
4832 break;}
4833 case 218:
4834 #line 1076 "parse.y"
4835 {
4836 yyval.ttype = yyvsp[-1].ttype;
4837 pedwarn ("old style placement syntax, use () instead");
4838 ;
4839 break;}
4840 case 219:
4841 #line 1084 "parse.y"
4842 { yyval.ttype = yyvsp[-1].ttype; ;
4843 break;}
4844 case 220:
4845 #line 1086 "parse.y"
4846 { yyval.ttype = NULL_TREE; ;
4847 break;}
4848 case 221:
4849 #line 1088 "parse.y"
4850 {
4851 cp_error ("`%T' is not a valid expression", yyvsp[-1].ftype.t);
4852 yyval.ttype = error_mark_node;
4853 ;
4854 break;}
4855 case 222:
4856 #line 1096 "parse.y"
4857 {
4858 if (pedantic)
4859 pedwarn ("ANSI C++ forbids initialization of new expression with `='");
4860 if (TREE_CODE (yyvsp[0].ttype) != TREE_LIST
4861 && TREE_CODE (yyvsp[0].ttype) != CONSTRUCTOR)
4862 yyval.ttype = build_expr_list (NULL_TREE, yyvsp[0].ttype);
4863 else
4864 yyval.ttype = yyvsp[0].ttype;
4865 ;
4866 break;}
4867 case 223:
4868 #line 1110 "parse.y"
4869 { yyvsp[-1].ftype.t = tree_cons (NULL_TREE, yyvsp[-1].ftype.t, void_list_node);
4870 TREE_PARMLIST (yyvsp[-1].ftype.t) = 1;
4871 yyval.ttype = make_call_declarator (NULL_TREE, yyvsp[-1].ftype.t, NULL_TREE, NULL_TREE);
4872 check_for_new_type ("cast", yyvsp[-1].ftype); ;
4873 break;}
4874 case 224:
4875 #line 1115 "parse.y"
4876 { yyvsp[-1].ftype.t = tree_cons (NULL_TREE, yyvsp[-1].ftype.t, void_list_node);
4877 TREE_PARMLIST (yyvsp[-1].ftype.t) = 1;
4878 yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-1].ftype.t, NULL_TREE, NULL_TREE);
4879 check_for_new_type ("cast", yyvsp[-1].ftype); ;
4880 break;}
4881 case 226:
4882 #line 1124 "parse.y"
4883 { yyval.ttype = reparse_absdcl_as_casts (yyval.ttype, yyvsp[0].ttype); ;
4884 break;}
4885 case 227:
4886 #line 1126 "parse.y"
4887 {
4888 tree init = build_nt (CONSTRUCTOR, NULL_TREE,
4889 nreverse (yyvsp[-2].ttype));
4890 if (pedantic)
4891 pedwarn ("ANSI C++ forbids constructor-expressions");
4892 /* Indicate that this was a GNU C constructor expression. */
4893 TREE_HAS_CONSTRUCTOR (init) = 1;
4894
4895 yyval.ttype = reparse_absdcl_as_casts (yyval.ttype, init);
4896 ;
4897 break;}
4898 case 229:
4899 #line 1142 "parse.y"
4900 { yyval.ttype = build_x_binary_op (MEMBER_REF, yyval.ttype, yyvsp[0].ttype); ;
4901 break;}
4902 case 230:
4903 #line 1144 "parse.y"
4904 { yyval.ttype = build_m_component_ref (yyval.ttype, yyvsp[0].ttype); ;
4905 break;}
4906 case 231:
4907 #line 1146 "parse.y"
4908 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4909 break;}
4910 case 232:
4911 #line 1148 "parse.y"
4912 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4913 break;}
4914 case 233:
4915 #line 1150 "parse.y"
4916 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4917 break;}
4918 case 234:
4919 #line 1152 "parse.y"
4920 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4921 break;}
4922 case 235:
4923 #line 1154 "parse.y"
4924 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4925 break;}
4926 case 236:
4927 #line 1156 "parse.y"
4928 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4929 break;}
4930 case 237:
4931 #line 1158 "parse.y"
4932 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4933 break;}
4934 case 238:
4935 #line 1160 "parse.y"
4936 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4937 break;}
4938 case 239:
4939 #line 1162 "parse.y"
4940 { yyval.ttype = build_x_binary_op (LT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
4941 break;}
4942 case 240:
4943 #line 1164 "parse.y"
4944 { yyval.ttype = build_x_binary_op (GT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
4945 break;}
4946 case 241:
4947 #line 1166 "parse.y"
4948 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4949 break;}
4950 case 242:
4951 #line 1168 "parse.y"
4952 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4953 break;}
4954 case 243:
4955 #line 1170 "parse.y"
4956 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4957 break;}
4958 case 244:
4959 #line 1172 "parse.y"
4960 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4961 break;}
4962 case 245:
4963 #line 1174 "parse.y"
4964 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4965 break;}
4966 case 246:
4967 #line 1176 "parse.y"
4968 { yyval.ttype = build_x_binary_op (TRUTH_ANDIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
4969 break;}
4970 case 247:
4971 #line 1178 "parse.y"
4972 { yyval.ttype = build_x_binary_op (TRUTH_ORIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
4973 break;}
4974 case 248:
4975 #line 1180 "parse.y"
4976 { yyval.ttype = build_x_conditional_expr (yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
4977 break;}
4978 case 249:
4979 #line 1182 "parse.y"
4980 { yyval.ttype = build_x_modify_expr (yyval.ttype, NOP_EXPR, yyvsp[0].ttype);
4981 if (yyval.ttype != error_mark_node)
4982 C_SET_EXP_ORIGINAL_CODE (yyval.ttype, MODIFY_EXPR); ;
4983 break;}
4984 case 250:
4985 #line 1186 "parse.y"
4986 { yyval.ttype = build_x_modify_expr (yyval.ttype, yyvsp[-1].code, yyvsp[0].ttype); ;
4987 break;}
4988 case 251:
4989 #line 1188 "parse.y"
4990 { yyval.ttype = build_throw (NULL_TREE); ;
4991 break;}
4992 case 252:
4993 #line 1190 "parse.y"
4994 { yyval.ttype = build_throw (yyvsp[0].ttype); ;
4995 break;}
4996 case 253:
4997 #line 1208 "parse.y"
4998 { yyval.ttype = build_parse_node (BIT_NOT_EXPR, yyvsp[0].ttype); ;
4999 break;}
5000 case 259:
5001 #line 1217 "parse.y"
5002 { yyval.ttype = do_identifier (yyvsp[-1].ttype, 1); ;
5003 break;}
5004 case 260:
5005 #line 1221 "parse.y"
5006 { yyval.ttype = lookup_template_function (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
5007 break;}
5008 case 261:
5009 #line 1223 "parse.y"
5010 { yyval.ttype = lookup_template_function (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
5011 break;}
5012 case 262:
5013 #line 1228 "parse.y"
5014 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5015 break;}
5016 case 263:
5017 #line 1230 "parse.y"
5018 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5019 break;}
5020 case 264:
5021 #line 1233 "parse.y"
5022 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5023 break;}
5024 case 269:
5025 #line 1245 "parse.y"
5026 { yyval.ttype = build_parse_node (INDIRECT_REF, yyvsp[0].ttype); ;
5027 break;}
5028 case 270:
5029 #line 1247 "parse.y"
5030 { yyval.ttype = build_parse_node (ADDR_EXPR, yyvsp[0].ttype); ;
5031 break;}
5032 case 271:
5033 #line 1249 "parse.y"
5034 { yyval.ttype = yyvsp[-1].ttype; ;
5035 break;}
5036 case 272:
5037 #line 1254 "parse.y"
5038 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5039 break;}
5040 case 273:
5041 #line 1256 "parse.y"
5042 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5043 break;}
5044 case 277:
5045 #line 1264 "parse.y"
5046 { yyval.ttype = finish_decl_parsing (yyvsp[-1].ttype); ;
5047 break;}
5048 case 278:
5049 #line 1269 "parse.y"
5050 {
5051 if (TREE_CODE (yyval.ttype) == BIT_NOT_EXPR)
5052 yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, TREE_OPERAND (yyval.ttype, 0));
5053 else if (TREE_CODE (yyval.ttype) != TEMPLATE_ID_EXPR)
5054 yyval.ttype = do_identifier (yyval.ttype, 1);
5055 ;
5056 break;}
5057 case 281:
5058 #line 1278 "parse.y"
5059 {
5060 if (processing_template_decl)
5061 push_obstacks (&permanent_obstack, &permanent_obstack);
5062 yyval.ttype = combine_strings (yyval.ttype);
5063 if (processing_template_decl)
5064 pop_obstacks ();
5065 ;
5066 break;}
5067 case 282:
5068 #line 1286 "parse.y"
5069 { yyval.ttype = finish_parenthesized_expr (yyvsp[-1].ttype); ;
5070 break;}
5071 case 283:
5072 #line 1288 "parse.y"
5073 { yyvsp[-1].ttype = reparse_decl_as_expr (NULL_TREE, yyvsp[-1].ttype);
5074 yyval.ttype = finish_parenthesized_expr (yyvsp[-1].ttype); ;
5075 break;}
5076 case 284:
5077 #line 1291 "parse.y"
5078 { yyval.ttype = error_mark_node; ;
5079 break;}
5080 case 285:
5081 #line 1293 "parse.y"
5082 { if (current_function_decl == 0)
5083 {
5084 error ("braced-group within expression allowed only inside a function");
5085 YYERROR;
5086 }
5087 if (pedantic)
5088 pedwarn ("ANSI C++ forbids braced-groups within expressions");
5089 yyval.ttype = begin_stmt_expr ();
5090 ;
5091 break;}
5092 case 286:
5093 #line 1303 "parse.y"
5094 { yyval.ttype = finish_stmt_expr (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
5095 break;}
5096 case 287:
5097 #line 1305 "parse.y"
5098 { yyval.ttype = finish_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5099 break;}
5100 case 288:
5101 #line 1307 "parse.y"
5102 { yyval.ttype = finish_call_expr (yyvsp[-1].ttype, NULL_TREE); ;
5103 break;}
5104 case 289:
5105 #line 1309 "parse.y"
5106 { yyval.ttype = grok_array_decl (yyval.ttype, yyvsp[-1].ttype); ;
5107 break;}
5108 case 290:
5109 #line 1311 "parse.y"
5110 { yyval.ttype = finish_increment_expr (yyvsp[-1].ttype, POSTINCREMENT_EXPR); ;
5111 break;}
5112 case 291:
5113 #line 1313 "parse.y"
5114 { yyval.ttype = finish_increment_expr (yyvsp[-1].ttype, POSTDECREMENT_EXPR); ;
5115 break;}
5116 case 292:
5117 #line 1316 "parse.y"
5118 { yyval.ttype = finish_this_expr (); ;
5119 break;}
5120 case 293:
5121 #line 1318 "parse.y"
5122 {
5123 tree type = NULL_TREE;
5124 tree id = yyval.ttype;
5125
5126 /* This is a C cast in C++'s `functional' notation. */
5127 if (yyvsp[-1].ttype == error_mark_node)
5128 {
5129 yyval.ttype = error_mark_node;
5130 break;
5131 }
5132 #if 0
5133 if (yyvsp[-1].ttype == NULL_TREE)
5134 {
5135 error ("cannot cast null list to type `%s'",
5136 IDENTIFIER_POINTER (TYPE_NAME (id)));
5137 yyval.ttype = error_mark_node;
5138 break;
5139 }
5140 #endif
5141 #if 0
5142 /* type is not set! (mrs) */
5143 if (type == error_mark_node)
5144 yyval.ttype = error_mark_node;
5145 else
5146 #endif
5147 {
5148 if (id == ridpointers[(int) RID_CONST])
5149 type = build_type_variant (integer_type_node, 1, 0);
5150 else if (id == ridpointers[(int) RID_VOLATILE])
5151 type = build_type_variant (integer_type_node, 0, 1);
5152 #if 0
5153 /* should not be able to get here (mrs) */
5154 else if (id == ridpointers[(int) RID_FRIEND])
5155 {
5156 error ("cannot cast expression to `friend' type");
5157 yyval.ttype = error_mark_node;
5158 break;
5159 }
5160 #endif
5161 else my_friendly_abort (79);
5162 yyval.ttype = build_c_cast (type, build_compound_expr (yyvsp[-1].ttype));
5163 }
5164 ;
5165 break;}
5166 case 295:
5167 #line 1363 "parse.y"
5168 { tree type = groktypename (yyvsp[-4].ftype.t);
5169 check_for_new_type ("dynamic_cast", yyvsp[-4].ftype);
5170 yyval.ttype = build_dynamic_cast (type, yyvsp[-1].ttype); ;
5171 break;}
5172 case 296:
5173 #line 1367 "parse.y"
5174 { tree type = groktypename (yyvsp[-4].ftype.t);
5175 check_for_new_type ("static_cast", yyvsp[-4].ftype);
5176 yyval.ttype = build_static_cast (type, yyvsp[-1].ttype); ;
5177 break;}
5178 case 297:
5179 #line 1371 "parse.y"
5180 { tree type = groktypename (yyvsp[-4].ftype.t);
5181 check_for_new_type ("reinterpret_cast", yyvsp[-4].ftype);
5182 yyval.ttype = build_reinterpret_cast (type, yyvsp[-1].ttype); ;
5183 break;}
5184 case 298:
5185 #line 1375 "parse.y"
5186 { tree type = groktypename (yyvsp[-4].ftype.t);
5187 check_for_new_type ("const_cast", yyvsp[-4].ftype);
5188 yyval.ttype = build_const_cast (type, yyvsp[-1].ttype); ;
5189 break;}
5190 case 299:
5191 #line 1379 "parse.y"
5192 { yyval.ttype = build_x_typeid (yyvsp[-1].ttype); ;
5193 break;}
5194 case 300:
5195 #line 1381 "parse.y"
5196 { tree type = groktypename (yyvsp[-1].ftype.t);
5197 check_for_new_type ("typeid", yyvsp[-1].ftype);
5198 yyval.ttype = get_typeid (TYPE_MAIN_VARIANT (type)); ;
5199 break;}
5200 case 301:
5201 #line 1385 "parse.y"
5202 { yyval.ttype = do_scoped_id (yyvsp[0].ttype, 1); ;
5203 break;}
5204 case 302:
5205 #line 1387 "parse.y"
5206 {
5207 got_scope = NULL_TREE;
5208 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
5209 yyval.ttype = do_scoped_id (yyvsp[0].ttype, 1);
5210 else
5211 yyval.ttype = yyvsp[0].ttype;
5212 ;
5213 break;}
5214 case 303:
5215 #line 1395 "parse.y"
5216 { yyval.ttype = build_offset_ref (OP0 (yyval.ttype), OP1 (yyval.ttype)); ;
5217 break;}
5218 case 304:
5219 #line 1397 "parse.y"
5220 { yyval.ttype = finish_globally_qualified_member_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5221 break;}
5222 case 305:
5223 #line 1399 "parse.y"
5224 { yyval.ttype = finish_globally_qualified_member_call_expr (yyvsp[-1].ttype, NULL_TREE); ;
5225 break;}
5226 case 306:
5227 #line 1401 "parse.y"
5228 {
5229 yyval.ttype = build_x_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1);
5230 ;
5231 break;}
5232 case 307:
5233 #line 1405 "parse.y"
5234 { yyval.ttype = finish_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
5235 break;}
5236 case 308:
5237 #line 1407 "parse.y"
5238 { yyval.ttype = finish_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ;
5239 break;}
5240 case 309:
5241 #line 1409 "parse.y"
5242 { yyval.ttype = build_x_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1); ;
5243 break;}
5244 case 310:
5245 #line 1411 "parse.y"
5246 { if (processing_template_decl)
5247 yyval.ttype = build_min_nt (COMPONENT_REF, yyvsp[-1].ttype, copy_to_permanent (yyvsp[0].ttype));
5248 else
5249 yyval.ttype = build_object_ref (yyval.ttype, OP0 (yyvsp[0].ttype), OP1 (yyvsp[0].ttype)); ;
5250 break;}
5251 case 311:
5252 #line 1416 "parse.y"
5253 { yyval.ttype = finish_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
5254 break;}
5255 case 312:
5256 #line 1418 "parse.y"
5257 { yyval.ttype = finish_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ;
5258 break;}
5259 case 313:
5260 #line 1420 "parse.y"
5261 { yyval.ttype = finish_qualified_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
5262 break;}
5263 case 314:
5264 #line 1422 "parse.y"
5265 { yyval.ttype = finish_qualified_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ;
5266 break;}
5267 case 315:
5268 #line 1425 "parse.y"
5269 { yyval.ttype = finish_pseudo_destructor_call_expr (yyvsp[-3].ttype, NULL_TREE, yyvsp[-1].ttype); ;
5270 break;}
5271 case 316:
5272 #line 1427 "parse.y"
5273 { yyval.ttype = finish_pseudo_destructor_call_expr (yyvsp[-5].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
5274 break;}
5275 case 317:
5276 #line 1429 "parse.y"
5277 {
5278 yyval.ttype = error_mark_node;
5279 ;
5280 break;}
5281 case 318:
5282 #line 1474 "parse.y"
5283 { yyval.itype = 0; ;
5284 break;}
5285 case 319:
5286 #line 1476 "parse.y"
5287 { got_scope = NULL_TREE; yyval.itype = 1; ;
5288 break;}
5289 case 320:
5290 #line 1481 "parse.y"
5291 { yyval.itype = 0; ;
5292 break;}
5293 case 321:
5294 #line 1483 "parse.y"
5295 { got_scope = NULL_TREE; yyval.itype = 1; ;
5296 break;}
5297 case 322:
5298 #line 1488 "parse.y"
5299 { yyval.ttype = boolean_true_node; ;
5300 break;}
5301 case 323:
5302 #line 1490 "parse.y"
5303 { yyval.ttype = boolean_false_node; ;
5304 break;}
5305 case 325:
5306 #line 1497 "parse.y"
5307 { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
5308 break;}
5309 case 326:
5310 #line 1502 "parse.y"
5311 {
5312 if (! current_function_parms_stored)
5313 store_parm_decls ();
5314 setup_vtbl_ptr ();
5315 /* Always keep the BLOCK node associated with the outermost
5316 pair of curley braces of a function. These are needed
5317 for correct operation of dwarfout.c. */
5318 keep_next_level ();
5319 ;
5320 break;}
5321 case 327:
5322 #line 1515 "parse.y"
5323 { got_object = TREE_TYPE (yyval.ttype); ;
5324 break;}
5325 case 328:
5326 #line 1517 "parse.y"
5327 {
5328 yyval.ttype = build_x_arrow (yyval.ttype);
5329 got_object = TREE_TYPE (yyval.ttype);
5330 ;
5331 break;}
5332 case 329:
5333 #line 1525 "parse.y"
5334 {
5335 resume_momentary (yyvsp[-1].itype);
5336 if (yyvsp[-2].ftype.t && IS_AGGR_TYPE_CODE (TREE_CODE (yyvsp[-2].ftype.t)))
5337 note_got_semicolon (yyvsp[-2].ftype.t);
5338 ;
5339 break;}
5340 case 330:
5341 #line 1531 "parse.y"
5342 {
5343 resume_momentary (yyvsp[-1].itype);
5344 note_list_got_semicolon (yyvsp[-2].ftype.t);
5345 ;
5346 break;}
5347 case 331:
5348 #line 1536 "parse.y"
5349 { resume_momentary (yyvsp[-1].itype); ;
5350 break;}
5351 case 332:
5352 #line 1538 "parse.y"
5353 {
5354 shadow_tag (yyvsp[-1].ftype.t);
5355 note_list_got_semicolon (yyvsp[-1].ftype.t);
5356 ;
5357 break;}
5358 case 333:
5359 #line 1543 "parse.y"
5360 { warning ("empty declaration"); ;
5361 break;}
5362 case 334:
5363 #line 1545 "parse.y"
5364 { pedantic = yyvsp[-1].itype; ;
5365 break;}
5366 case 337:
5367 #line 1559 "parse.y"
5368 { yyval.ttype = make_call_declarator (NULL_TREE, empty_parms (),
5369 NULL_TREE, NULL_TREE); ;
5370 break;}
5371 case 338:
5372 #line 1562 "parse.y"
5373 { yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), NULL_TREE,
5374 NULL_TREE); ;
5375 break;}
5376 case 339:
5377 #line 1569 "parse.y"
5378 { yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
5379 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5380 break;}
5381 case 340:
5382 #line 1572 "parse.y"
5383 { yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
5384 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5385 break;}
5386 case 341:
5387 #line 1575 "parse.y"
5388 { yyval.ftype.t = build_decl_list (get_decl_list (yyvsp[-1].ftype.t), yyvsp[0].ttype);
5389 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5390 break;}
5391 case 342:
5392 #line 1578 "parse.y"
5393 { yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE);
5394 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5395 break;}
5396 case 343:
5397 #line 1581 "parse.y"
5398 { yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE);
5399 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5400 break;}
5401 case 346:
5402 #line 1597 "parse.y"
5403 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ttype);
5404 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5405 break;}
5406 case 347:
5407 #line 1600 "parse.y"
5408 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype);
5409 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5410 break;}
5411 case 348:
5412 #line 1603 "parse.y"
5413 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-2].ftype.t, chainon (yyvsp[-1].ttype, yyvsp[0].ttype));
5414 yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ;
5415 break;}
5416 case 349:
5417 #line 1606 "parse.y"
5418 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ttype));
5419 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5420 break;}
5421 case 350:
5422 #line 1609 "parse.y"
5423 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ttype));
5424 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5425 break;}
5426 case 351:
5427 #line 1612 "parse.y"
5428 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-2].ftype.t,
5429 chainon (yyvsp[-1].ttype, chainon (yyvsp[0].ttype, yyvsp[-3].ttype)));
5430 yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ;
5431 break;}
5432 case 352:
5433 #line 1619 "parse.y"
5434 { if (extra_warnings)
5435 warning ("`%s' is not at beginning of declaration",
5436 IDENTIFIER_POINTER (yyval.ttype));
5437 yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
5438 break;}
5439 case 353:
5440 #line 1624 "parse.y"
5441 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyval.ttype); ;
5442 break;}
5443 case 354:
5444 #line 1626 "parse.y"
5445 { if (extra_warnings)
5446 warning ("`%s' is not at beginning of declaration",
5447 IDENTIFIER_POINTER (yyvsp[0].ttype));
5448 yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
5449 break;}
5450 case 355:
5451 #line 1631 "parse.y"
5452 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
5453 break;}
5454 case 356:
5455 #line 1633 "parse.y"
5456 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ;
5457 break;}
5458 case 357:
5459 #line 1643 "parse.y"
5460 { yyval.ttype = yyvsp[0].ftype.t; TREE_STATIC (yyval.ttype) = 1; ;
5461 break;}
5462 case 358:
5463 #line 1645 "parse.y"
5464 { yyval.ttype = IDENTIFIER_AS_LIST (yyval.ttype); ;
5465 break;}
5466 case 359:
5467 #line 1647 "parse.y"
5468 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype);
5469 TREE_STATIC (yyval.ttype) = 1; ;
5470 break;}
5471 case 360:
5472 #line 1650 "parse.y"
5473 { if (extra_warnings && TREE_STATIC (yyval.ttype))
5474 warning ("`%s' is not at beginning of declaration",
5475 IDENTIFIER_POINTER (yyvsp[0].ttype));
5476 yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype);
5477 TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
5478 break;}
5479 case 361:
5480 #line 1656 "parse.y"
5481 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
5482 break;}
5483 case 362:
5484 #line 1658 "parse.y"
5485 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ;
5486 break;}
5487 case 363:
5488 #line 1669 "parse.y"
5489 { yyval.ftype.t = get_decl_list (yyvsp[0].ftype.t);
5490 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5491 break;}
5492 case 364:
5493 #line 1672 "parse.y"
5494 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ftype.t);
5495 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5496 break;}
5497 case 365:
5498 #line 1675 "parse.y"
5499 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype);
5500 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5501 break;}
5502 case 366:
5503 #line 1678 "parse.y"
5504 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ftype.t));
5505 yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ;
5506 break;}
5507 case 367:
5508 #line 1684 "parse.y"
5509 { yyval.ttype = build_decl_list (NULL_TREE, yyvsp[0].ftype.t); ;
5510 break;}
5511 case 368:
5512 #line 1686 "parse.y"
5513 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ttype); ;
5514 break;}
5515 case 370:
5516 #line 1696 "parse.y"
5517 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5518 break;}
5519 case 371:
5520 #line 1698 "parse.y"
5521 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5522 break;}
5523 case 372:
5524 #line 1700 "parse.y"
5525 { yyval.ftype.t = TREE_TYPE (yyvsp[-1].ttype);
5526 yyval.ftype.new_type_flag = 0; ;
5527 break;}
5528 case 373:
5529 #line 1703 "parse.y"
5530 { yyval.ftype.t = groktypename (yyvsp[-1].ftype.t);
5531 yyval.ftype.new_type_flag = 0; ;
5532 break;}
5533 case 374:
5534 #line 1706 "parse.y"
5535 { tree type = TREE_TYPE (yyvsp[-1].ttype);
5536
5537 yyval.ftype.new_type_flag = 0;
5538 if (IS_AGGR_TYPE (type))
5539 {
5540 sorry ("sigof type specifier");
5541 yyval.ftype.t = type;
5542 }
5543 else
5544 {
5545 error ("`sigof' applied to non-aggregate expression");
5546 yyval.ftype.t = error_mark_node;
5547 }
5548 ;
5549 break;}
5550 case 375:
5551 #line 1721 "parse.y"
5552 { tree type = groktypename (yyvsp[-1].ftype.t);
5553
5554 yyval.ftype.new_type_flag = 0;
5555 if (IS_AGGR_TYPE (type))
5556 {
5557 sorry ("sigof type specifier");
5558 yyval.ftype.t = type;
5559 }
5560 else
5561 {
5562 error("`sigof' applied to non-aggregate type");
5563 yyval.ftype.t = error_mark_node;
5564 }
5565 ;
5566 break;}
5567 case 376:
5568 #line 1741 "parse.y"
5569 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5570 break;}
5571 case 377:
5572 #line 1743 "parse.y"
5573 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5574 break;}
5575 case 385:
5576 #line 1764 "parse.y"
5577 { yyval.ttype = NULL_TREE; ;
5578 break;}
5579 case 386:
5580 #line 1766 "parse.y"
5581 { if (TREE_CHAIN (yyvsp[-1].ttype)) yyvsp[-1].ttype = combine_strings (yyvsp[-1].ttype); yyval.ttype = yyvsp[-1].ttype; ;
5582 break;}
5583 case 387:
5584 #line 1771 "parse.y"
5585 { yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1,
5586 yyvsp[-1].ttype, prefix_attributes); ;
5587 break;}
5588 case 388:
5589 #line 1775 "parse.y"
5590 { cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 1, LOOKUP_ONLYCONVERTING); ;
5591 break;}
5592 case 389:
5593 #line 1777 "parse.y"
5594 { yyval.ttype = start_decl (yyvsp[-2].ttype, current_declspecs, 0,
5595 yyvsp[0].ttype, prefix_attributes);
5596 cp_finish_decl (yyval.ttype, NULL_TREE, yyvsp[-1].ttype, 1, 0); ;
5597 break;}
5598 case 390:
5599 #line 1790 "parse.y"
5600 { yyvsp[0].itype = parse_decl (yyvsp[-3].ttype, yyvsp[-4].ttype,
5601 yyvsp[-1].ttype, 1, &yyval.ttype); ;
5602 break;}
5603 case 391:
5604 #line 1795 "parse.y"
5605 { cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 1,
5606 LOOKUP_ONLYCONVERTING);
5607 yyval.itype = yyvsp[-2].itype; ;
5608 break;}
5609 case 392:
5610 #line 1799 "parse.y"
5611 { tree d;
5612 yyval.itype = parse_decl (yyvsp[-2].ttype, yyvsp[-3].ttype, yyvsp[0].ttype, 0, &d);
5613 cp_finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 1, 0); ;
5614 break;}
5615 case 393:
5616 #line 1806 "parse.y"
5617 { yyval.itype = yyvsp[0].itype; ;
5618 break;}
5619 case 394:
5620 #line 1810 "parse.y"
5621 { yyval.itype = yyvsp[0].itype; ;
5622 break;}
5623 case 395:
5624 #line 1815 "parse.y"
5625 { /* Set things up as initdcl0_innards expects. */
5626 yyval.ttype = yyvsp[-1].ttype;
5627 yyvsp[-1].ttype = NULL_TREE; ;
5628 break;}
5629 case 396:
5630 #line 1819 "parse.y"
5631 {;
5632 break;}
5633 case 397:
5634 #line 1821 "parse.y"
5635 { tree d;
5636 parse_decl(yyvsp[-2].ttype, NULL_TREE, yyvsp[0].ttype, 0, &d);
5637 cp_finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 1, 0); ;
5638 break;}
5639 case 398:
5640 #line 1830 "parse.y"
5641 { yyval.ttype = NULL_TREE; ;
5642 break;}
5643 case 399:
5644 #line 1832 "parse.y"
5645 { yyval.ttype = yyvsp[0].ttype; ;
5646 break;}
5647 case 400:
5648 #line 1837 "parse.y"
5649 { yyval.ttype = yyvsp[0].ttype; ;
5650 break;}
5651 case 401:
5652 #line 1839 "parse.y"
5653 { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ;
5654 break;}
5655 case 402:
5656 #line 1844 "parse.y"
5657 { yyval.ttype = yyvsp[-2].ttype; ;
5658 break;}
5659 case 403:
5660 #line 1849 "parse.y"
5661 { yyval.ttype = yyvsp[0].ttype; ;
5662 break;}
5663 case 404:
5664 #line 1851 "parse.y"
5665 { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
5666 break;}
5667 case 405:
5668 #line 1856 "parse.y"
5669 { yyval.ttype = NULL_TREE; ;
5670 break;}
5671 case 406:
5672 #line 1858 "parse.y"
5673 { yyval.ttype = build_tree_list (yyvsp[0].ttype, NULL_TREE); ;
5674 break;}
5675 case 407:
5676 #line 1860 "parse.y"
5677 { yyval.ttype = build_tree_list (yyvsp[-3].ttype, build_tree_list (NULL_TREE, yyvsp[-1].ttype)); ;
5678 break;}
5679 case 408:
5680 #line 1862 "parse.y"
5681 { yyval.ttype = build_tree_list (yyvsp[-5].ttype, tree_cons (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype)); ;
5682 break;}
5683 case 409:
5684 #line 1864 "parse.y"
5685 { yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5686 break;}
5687 case 414:
5688 #line 1880 "parse.y"
5689 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
5690 break;}
5691 case 415:
5692 #line 1882 "parse.y"
5693 { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
5694 break;}
5695 case 416:
5696 #line 1887 "parse.y"
5697 { yyval.ttype = NULL_TREE; ;
5698 break;}
5699 case 417:
5700 #line 1889 "parse.y"
5701 { yyval.ttype = yyvsp[0].ttype; ;
5702 break;}
5703 case 419:
5704 #line 1897 "parse.y"
5705 { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, NULL_TREE);
5706 TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
5707 break;}
5708 case 420:
5709 #line 1900 "parse.y"
5710 { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-1].ttype));
5711 TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
5712 break;}
5713 case 421:
5714 #line 1903 "parse.y"
5715 { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-2].ttype));
5716 TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
5717 break;}
5718 case 422:
5719 #line 1906 "parse.y"
5720 { yyval.ttype = NULL_TREE; ;
5721 break;}
5722 case 423:
5723 #line 1913 "parse.y"
5724 { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
5725 break;}
5726 case 424:
5727 #line 1915 "parse.y"
5728 { yyval.ttype = expr_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
5729 break;}
5730 case 425:
5731 #line 1918 "parse.y"
5732 { yyval.ttype = build_expr_list (yyvsp[-2].ttype, yyvsp[0].ttype); ;
5733 break;}
5734 case 426:
5735 #line 1920 "parse.y"
5736 { yyval.ttype = build_expr_list (yyval.ttype, yyvsp[0].ttype); ;
5737 break;}
5738 case 427:
5739 #line 1922 "parse.y"
5740 { yyval.ttype = expr_tree_cons (yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype); ;
5741 break;}
5742 case 428:
5743 #line 1927 "parse.y"
5744 { start_function (NULL_TREE, TREE_VALUE (yyvsp[0].ttype),
5745 NULL_TREE, 1);
5746 reinit_parse_for_function (); ;
5747 break;}
5748 case 429:
5749 #line 1933 "parse.y"
5750 {
5751 int nested = (hack_decl_function_context
5752 (current_function_decl) != NULL_TREE);
5753 finish_function (lineno, (int)yyvsp[-1].itype, nested);
5754 process_next_inline (yyvsp[-3].ttype);
5755 ;
5756 break;}
5757 case 430:
5758 #line 1940 "parse.y"
5759 { process_next_inline (yyvsp[-2].ttype); ;
5760 break;}
5761 case 431:
5762 #line 1942 "parse.y"
5763 { process_next_inline (yyvsp[-2].ttype); ;
5764 break;}
5765 case 434:
5766 #line 1954 "parse.y"
5767 { replace_defarg (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
5768 break;}
5769 case 435:
5770 #line 1956 "parse.y"
5771 { replace_defarg (yyvsp[-2].ttype, error_mark_node); ;
5772 break;}
5773 case 437:
5774 #line 1961 "parse.y"
5775 { do_pending_defargs (); ;
5776 break;}
5777 case 438:
5778 #line 1963 "parse.y"
5779 { do_pending_defargs (); ;
5780 break;}
5781 case 439:
5782 #line 1968 "parse.y"
5783 { yyvsp[0].itype = suspend_momentary ();
5784 yyval.ttype = start_enum (yyvsp[-1].ttype); ;
5785 break;}
5786 case 440:
5787 #line 1971 "parse.y"
5788 { yyval.ftype.t = finish_enum (yyvsp[-3].ttype, yyvsp[-2].ttype);
5789 yyval.ftype.new_type_flag = 1;
5790 resume_momentary ((int) yyvsp[-4].itype);
5791 check_for_missing_semicolon (yyvsp[-3].ttype); ;
5792 break;}
5793 case 441:
5794 #line 1976 "parse.y"
5795 { yyval.ftype.t = finish_enum (start_enum (yyvsp[-2].ttype), NULL_TREE);
5796 yyval.ftype.new_type_flag = 1;
5797 check_for_missing_semicolon (yyval.ftype.t); ;
5798 break;}
5799 case 442:
5800 #line 1980 "parse.y"
5801 { yyvsp[0].itype = suspend_momentary ();
5802 yyval.ttype = start_enum (make_anon_name ()); ;
5803 break;}
5804 case 443:
5805 #line 1983 "parse.y"
5806 { yyval.ftype.t = finish_enum (yyvsp[-3].ttype, yyvsp[-2].ttype);
5807 resume_momentary ((int) yyvsp[-5].itype);
5808 check_for_missing_semicolon (yyvsp[-3].ttype);
5809 yyval.ftype.new_type_flag = 1; ;
5810 break;}
5811 case 444:
5812 #line 1988 "parse.y"
5813 { yyval.ftype.t = finish_enum (start_enum (make_anon_name()), NULL_TREE);
5814 yyval.ftype.new_type_flag = 1;
5815 check_for_missing_semicolon (yyval.ftype.t); ;
5816 break;}
5817 case 445:
5818 #line 1992 "parse.y"
5819 { yyval.ftype.t = xref_tag (enum_type_node, yyvsp[0].ttype, NULL_TREE, 1);
5820 yyval.ftype.new_type_flag = 0; ;
5821 break;}
5822 case 446:
5823 #line 1995 "parse.y"
5824 { yyval.ftype.t = xref_tag (enum_type_node, yyvsp[0].ttype, NULL_TREE, 1);
5825 yyval.ftype.new_type_flag = 0; ;
5826 break;}
5827 case 447:
5828 #line 1998 "parse.y"
5829 { yyval.ftype.t = yyvsp[0].ttype;
5830 yyval.ftype.new_type_flag = 0; ;
5831 break;}
5832 case 448:
5833 #line 2003 "parse.y"
5834 {
5835 int semi;
5836
5837 yyval.ttype = yyvsp[-4].ttype;
5838 #if 0
5839 /* Need to rework class nesting in the
5840 presence of nested classes, etc. */
5841 shadow_tag (CLASSTYPE_AS_LIST (yyvsp[-4].ttype)); */
5842 #endif
5843 if (yychar == YYEMPTY)
5844 yychar = YYLEX;
5845 semi = yychar == ';';
5846 /* finish_struct nukes this anyway; if
5847 finish_exception does too, then it can go. */
5848 if (semi)
5849 note_got_semicolon (yyvsp[-4].ttype);
5850
5851 if (TREE_CODE (yyvsp[-4].ttype) == ENUMERAL_TYPE)
5852 ;
5853 else
5854 {
5855 yyval.ttype = finish_struct (yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[0].ttype, semi);
5856 if (semi) note_got_semicolon (yyval.ttype);
5857 }
5858
5859 pop_obstacks ();
5860
5861 if (! semi)
5862 check_for_missing_semicolon (yyvsp[-4].ttype);
5863 if (current_scope () == current_function_decl)
5864 do_pending_defargs ();
5865 ;
5866 break;}
5867 case 449:
5868 #line 2036 "parse.y"
5869 {
5870 if (pending_inlines
5871 && current_scope () == current_function_decl)
5872 do_pending_inlines ();
5873 ;
5874 break;}
5875 case 450:
5876 #line 2042 "parse.y"
5877 {
5878 yyval.ftype.t = yyvsp[-3].ttype;
5879 yyval.ftype.new_type_flag = 1;
5880 if (current_class_type == NULL_TREE)
5881 clear_inline_text_obstack ();
5882
5883 /* Undo the begin_tree in left_curly. */
5884 end_tree ();
5885 ;
5886 break;}
5887 case 451:
5888 #line 2052 "parse.y"
5889 {
5890 yyval.ftype.new_type_flag = 0;
5891 if (TYPE_BINFO (yyvsp[0].ttype) == NULL_TREE)
5892 {
5893 cp_error ("%T is not a class type", yyvsp[0].ttype);
5894 yyval.ftype.t = error_mark_node;
5895 }
5896 else
5897 {
5898 yyval.ftype.t = yyvsp[0].ttype;
5899 /* struct B: public A; is not accepted by the WP grammar. */
5900 if (TYPE_BINFO_BASETYPES (yyval.ftype.t) && !TYPE_SIZE (yyval.ftype.t)
5901 && ! TYPE_BEING_DEFINED (yyval.ftype.t))
5902 cp_error ("base clause without member specification for `%#T'",
5903 yyval.ftype.t);
5904 }
5905 ;
5906 break;}
5907 case 455:
5908 #line 2079 "parse.y"
5909 { if (pedantic && !in_system_header)
5910 pedwarn ("comma at end of enumerator list"); ;
5911 break;}
5912 case 457:
5913 #line 2086 "parse.y"
5914 { error ("storage class specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
5915 break;}
5916 case 458:
5917 #line 2088 "parse.y"
5918 { error ("type specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
5919 break;}
5920 case 459:
5921 #line 2090 "parse.y"
5922 { error ("type qualifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
5923 break;}
5924 case 460:
5925 #line 2092 "parse.y"
5926 { error ("no body nor ';' separates two class, struct or union declarations"); ;
5927 break;}
5928 case 461:
5929 #line 2097 "parse.y"
5930 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
5931 break;}
5932 case 462:
5933 #line 2102 "parse.y"
5934 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
5935 break;}
5936 case 463:
5937 #line 2107 "parse.y"
5938 {
5939 current_aggr = yyvsp[-2].ttype;
5940 yyval.ttype = handle_class_head (yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
5941 ;
5942 break;}
5943 case 464:
5944 #line 2112 "parse.y"
5945 {
5946 current_aggr = yyvsp[-3].ttype;
5947 yyval.ttype = handle_class_head (yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
5948 ;
5949 break;}
5950 case 465:
5951 #line 2117 "parse.y"
5952 {
5953 current_aggr = yyvsp[-2].ttype;
5954 yyval.ttype = handle_class_head (yyvsp[-2].ttype, NULL_TREE, yyvsp[0].ttype);
5955 ;
5956 break;}
5957 case 466:
5958 #line 2122 "parse.y"
5959 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
5960 break;}
5961 case 467:
5962 #line 2124 "parse.y"
5963 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
5964 break;}
5965 case 468:
5966 #line 2129 "parse.y"
5967 { yyval.ttype = xref_tag (current_aggr, yyvsp[0].ttype, NULL_TREE, 0); ;
5968 break;}
5969 case 469:
5970 #line 2134 "parse.y"
5971 { yyval.ttype = xref_tag (current_aggr, yyvsp[0].ttype, NULL_TREE, 1); ;
5972 break;}
5973 case 470:
5974 #line 2137 "parse.y"
5975 {
5976 yyval.ttype = yyvsp[-1].ttype;
5977 if (yyvsp[0].ttype)
5978 xref_basetypes (current_aggr, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
5979 ;
5980 break;}
5981 case 471:
5982 #line 2143 "parse.y"
5983 {
5984 yyval.ttype = TREE_TYPE (yyvsp[-1].ttype);
5985 if (TREE_INT_CST_LOW (current_aggr) == union_type
5986 && TREE_CODE (yyval.ttype) != UNION_TYPE)
5987 cp_pedwarn ("`union' tag used in declaring `%#T'", yyval.ttype);
5988 else if (TREE_CODE (yyval.ttype) == UNION_TYPE
5989 && TREE_INT_CST_LOW (current_aggr) != union_type)
5990 cp_pedwarn ("non-`union' tag used in declaring `%#T'", yyval.ttype);
5991 if (yyvsp[0].ttype)
5992 {
5993 if (IS_AGGR_TYPE (yyval.ttype) && CLASSTYPE_USE_TEMPLATE (yyval.ttype))
5994 {
5995 if (CLASSTYPE_IMPLICIT_INSTANTIATION (yyval.ttype)
5996 && TYPE_SIZE (yyval.ttype) == NULL_TREE)
5997 {
5998 SET_CLASSTYPE_TEMPLATE_SPECIALIZATION (yyval.ttype);
5999 if (processing_template_decl)
6000 push_template_decl (TYPE_MAIN_DECL (yyval.ttype));
6001 }
6002 else if (CLASSTYPE_TEMPLATE_INSTANTIATION (yyval.ttype))
6003 cp_error ("specialization after instantiation of `%T'", yyval.ttype);
6004 }
6005 xref_basetypes (current_aggr, yyvsp[-1].ttype, yyval.ttype, yyvsp[0].ttype);
6006 }
6007 ;
6008 break;}
6009 case 472:
6010 #line 2172 "parse.y"
6011 { yyval.ttype = xref_tag (yyval.ttype, make_anon_name (), NULL_TREE, 0);
6012 yyungetc ('{', 1); ;
6013 break;}
6014 case 475:
6015 #line 2183 "parse.y"
6016 { yyval.ttype = NULL_TREE; ;
6017 break;}
6018 case 476:
6019 #line 2185 "parse.y"
6020 { yyungetc(':', 1); yyval.ttype = NULL_TREE; ;
6021 break;}
6022 case 477:
6023 #line 2187 "parse.y"
6024 { yyval.ttype = yyvsp[0].ttype; ;
6025 break;}
6026 case 479:
6027 #line 2193 "parse.y"
6028 { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
6029 break;}
6030 case 480:
6031 #line 2198 "parse.y"
6032 {
6033 tree type = TREE_TYPE (yyvsp[0].ttype);
6034 if (! is_aggr_type (type, 1))
6035 yyval.ttype = NULL_TREE;
6036 else if (current_aggr == signature_type_node
6037 && (! type) && (! IS_SIGNATURE (type)))
6038 {
6039 error ("class name not allowed as base signature");
6040 yyval.ttype = NULL_TREE;
6041 }
6042 else if (current_aggr == signature_type_node)
6043 {
6044 sorry ("signature inheritance, base type `%s' ignored",
6045 IDENTIFIER_POINTER (yyval.ttype));
6046 yyval.ttype = build_tree_list (access_public_node, type);
6047 }
6048 else if (type && IS_SIGNATURE (type))
6049 {
6050 error ("signature name not allowed as base class");
6051 yyval.ttype = NULL_TREE;
6052 }
6053 else
6054 yyval.ttype = build_tree_list (access_default_node, type);
6055 ;
6056 break;}
6057 case 481:
6058 #line 2223 "parse.y"
6059 {
6060 tree type = TREE_TYPE (yyvsp[0].ttype);
6061 if (current_aggr == signature_type_node)
6062 error ("access and source specifiers not allowed in signature");
6063 if (! IS_AGGR_TYPE (type))
6064 yyval.ttype = NULL_TREE;
6065 else if (current_aggr == signature_type_node
6066 && (! type) && (! IS_SIGNATURE (type)))
6067 {
6068 error ("class name not allowed as base signature");
6069 yyval.ttype = NULL_TREE;
6070 }
6071 else if (current_aggr == signature_type_node)
6072 {
6073 sorry ("signature inheritance, base type `%s' ignored",
6074 IDENTIFIER_POINTER (yyval.ttype));
6075 yyval.ttype = build_tree_list (access_public_node, type);
6076 }
6077 else if (type && IS_SIGNATURE (type))
6078 {
6079 error ("signature name not allowed as base class");
6080 yyval.ttype = NULL_TREE;
6081 }
6082 else
6083 yyval.ttype = build_tree_list (yyval.ttype, type);
6084 ;
6085 break;}
6086 case 482:
6087 #line 2253 "parse.y"
6088 { yyval.ttype = TYPE_MAIN_DECL (yyvsp[0].ttype); ;
6089 break;}
6090 case 484:
6091 #line 2256 "parse.y"
6092 {
6093 if (current_aggr == signature_type_node)
6094 {
6095 if (IS_AGGR_TYPE (TREE_TYPE (yyvsp[-1].ttype)))
6096 {
6097 sorry ("`sigof' as base signature specifier");
6098 yyval.ttype = TREE_TYPE (yyvsp[-1].ttype);
6099 }
6100 else
6101 {
6102 error ("`sigof' applied to non-aggregate expression");
6103 yyval.ttype = error_mark_node;
6104 }
6105 }
6106 else
6107 {
6108 error ("`sigof' in struct or class declaration");
6109 yyval.ttype = error_mark_node;
6110 }
6111 ;
6112 break;}
6113 case 485:
6114 #line 2277 "parse.y"
6115 {
6116 if (current_aggr == signature_type_node)
6117 {
6118 if (IS_AGGR_TYPE (groktypename (yyvsp[-1].ftype.t)))
6119 {
6120 sorry ("`sigof' as base signature specifier");
6121 yyval.ttype = groktypename (yyvsp[-1].ftype.t);
6122 }
6123 else
6124 {
6125 error ("`sigof' applied to non-aggregate expression");
6126 yyval.ttype = error_mark_node;
6127 }
6128 }
6129 else
6130 {
6131 error ("`sigof' in struct or class declaration");
6132 yyval.ttype = error_mark_node;
6133 }
6134 ;
6135 break;}
6136 case 487:
6137 #line 2302 "parse.y"
6138 { if (yyvsp[-1].ttype != ridpointers[(int)RID_VIRTUAL])
6139 cp_error ("`%D' access", yyvsp[-1].ttype);
6140 yyval.ttype = access_default_virtual_node; ;
6141 break;}
6142 case 488:
6143 #line 2306 "parse.y"
6144 {
6145 if (yyvsp[-2].ttype != access_default_virtual_node)
6146 error ("multiple access specifiers");
6147 else if (yyvsp[-1].ttype == access_public_node)
6148 yyval.ttype = access_public_virtual_node;
6149 else if (yyvsp[-1].ttype == access_protected_node)
6150 yyval.ttype = access_protected_virtual_node;
6151 else /* $2 == access_private_node */
6152 yyval.ttype = access_private_virtual_node;
6153 ;
6154 break;}
6155 case 489:
6156 #line 2317 "parse.y"
6157 { if (yyvsp[-1].ttype != ridpointers[(int)RID_VIRTUAL])
6158 cp_error ("`%D' access", yyvsp[-1].ttype);
6159 else if (yyval.ttype == access_public_node)
6160 yyval.ttype = access_public_virtual_node;
6161 else if (yyval.ttype == access_protected_node)
6162 yyval.ttype = access_protected_virtual_node;
6163 else if (yyval.ttype == access_private_node)
6164 yyval.ttype = access_private_virtual_node;
6165 else
6166 error ("multiple `virtual' specifiers");
6167 ;
6168 break;}
6169 case 490:
6170 #line 2332 "parse.y"
6171 { tree t = yyvsp[-1].ttype;
6172 push_obstacks_nochange ();
6173 end_temporary_allocation ();
6174
6175 if (t == error_mark_node
6176 || ! IS_AGGR_TYPE (t))
6177 {
6178 t = yyvsp[-1].ttype = make_lang_type (RECORD_TYPE);
6179 pushtag (make_anon_name (), t, 0);
6180 }
6181 if (TYPE_SIZE (t))
6182 duplicate_tag_error (t);
6183 if (TYPE_SIZE (t) || TYPE_BEING_DEFINED (t))
6184 {
6185 t = make_lang_type (TREE_CODE (t));
6186 pushtag (TYPE_IDENTIFIER (yyvsp[-1].ttype), t, 0);
6187 yyvsp[-1].ttype = t;
6188 }
6189 if (processing_template_decl && TYPE_CONTEXT (t)
6190 && ! current_class_type)
6191 push_template_decl (TYPE_STUB_DECL (t));
6192 pushclass (t, 0);
6193 TYPE_BEING_DEFINED (t) = 1;
6194 if (IS_AGGR_TYPE (t) && CLASSTYPE_USE_TEMPLATE (t))
6195 {
6196 if (CLASSTYPE_IMPLICIT_INSTANTIATION (t)
6197 && TYPE_SIZE (t) == NULL_TREE)
6198 {
6199 SET_CLASSTYPE_TEMPLATE_SPECIALIZATION (t);
6200 if (processing_template_decl)
6201 push_template_decl (TYPE_MAIN_DECL (t));
6202 }
6203 else if (CLASSTYPE_TEMPLATE_INSTANTIATION (t))
6204 cp_error ("specialization after instantiation of `%T'", t);
6205 }
6206 /* Reset the interface data, at the earliest possible
6207 moment, as it might have been set via a class foo;
6208 before. */
6209 /* Don't change signatures. */
6210 if (! IS_SIGNATURE (t))
6211 {
6212 extern tree pending_vtables;
6213 int needs_writing;
6214 tree name = TYPE_IDENTIFIER (t);
6215
6216 if (! ANON_AGGRNAME_P (name))
6217 {
6218 CLASSTYPE_INTERFACE_ONLY (t) = interface_only;
6219 SET_CLASSTYPE_INTERFACE_UNKNOWN_X
6220 (t, interface_unknown);
6221 }
6222
6223 /* Record how to set the access of this class's
6224 virtual functions. If write_virtuals == 2 or 3, then
6225 inline virtuals are ``extern inline''. */
6226 switch (write_virtuals)
6227 {
6228 case 0:
6229 case 1:
6230 needs_writing = 1;
6231 break;
6232 case 2:
6233 needs_writing = !! value_member (name, pending_vtables);
6234 break;
6235 case 3:
6236 needs_writing = ! CLASSTYPE_INTERFACE_ONLY (t)
6237 && CLASSTYPE_INTERFACE_KNOWN (t);
6238 break;
6239 default:
6240 needs_writing = 0;
6241 }
6242 CLASSTYPE_VTABLE_NEEDS_WRITING (t) = needs_writing;
6243 }
6244 #if 0
6245 t = TYPE_IDENTIFIER (yyvsp[-1].ttype);
6246 if (t && IDENTIFIER_TEMPLATE (t))
6247 overload_template_name (t, 1);
6248 #endif
6249 reset_specialization();
6250
6251 /* In case this is a local class within a template
6252 function, we save the current tree structure so
6253 that we can get it back later. */
6254 begin_tree ();
6255 ;
6256 break;}
6257 case 491:
6258 #line 2421 "parse.y"
6259 {
6260 yyval.ttype = build_self_reference ();
6261 ;
6262 break;}
6263 case 492:
6264 #line 2428 "parse.y"
6265 { if (yyval.ttype) yyval.ttype = build_tree_list (access_public_node, yyval.ttype); ;
6266 break;}
6267 case 493:
6268 #line 2430 "parse.y"
6269 {
6270 if (current_aggr == signature_type_node)
6271 yyval.ttype = build_tree_list (access_public_node, yyvsp[0].ttype);
6272 else
6273 yyval.ttype = build_tree_list (access_default_node, yyvsp[0].ttype);
6274 if (yyvsp[-1].ttype) yyval.ttype = tree_cons (access_public_node, yyvsp[-1].ttype, yyval.ttype);
6275 ;
6276 break;}
6277 case 494:
6278 #line 2438 "parse.y"
6279 {
6280 tree visspec = yyvsp[-2].ttype;
6281
6282 if (current_aggr == signature_type_node)
6283 {
6284 error ("access specifier not allowed in signature");
6285 visspec = access_public_node;
6286 }
6287 yyval.ttype = chainon (yyval.ttype, build_tree_list (visspec, yyvsp[0].ttype));
6288 ;
6289 break;}
6290 case 495:
6291 #line 2449 "parse.y"
6292 {
6293 if (current_aggr == signature_type_node)
6294 error ("access specifier not allowed in signature");
6295 ;
6296 break;}
6297 case 496:
6298 #line 2459 "parse.y"
6299 { if (yyval.ttype == void_type_node) yyval.ttype = NULL_TREE;
6300 ;
6301 break;}
6302 case 497:
6303 #line 2462 "parse.y"
6304 { /* In pushdecl, we created a reverse list of names
6305 in this binding level. Make sure that the chain
6306 of what we're trying to add isn't the item itself
6307 (which can happen with what pushdecl's doing). */
6308 if (yyvsp[0].ttype != NULL_TREE && yyvsp[0].ttype != void_type_node)
6309 {
6310 if (TREE_CHAIN (yyvsp[0].ttype) != yyval.ttype)
6311 yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype);
6312 else
6313 yyval.ttype = yyvsp[0].ttype;
6314 }
6315 ;
6316 break;}
6317 case 498:
6318 #line 2478 "parse.y"
6319 { ;
6320 break;}
6321 case 499:
6322 #line 2480 "parse.y"
6323 { error ("missing ';' before right brace");
6324 yyungetc ('}', 0); ;
6325 break;}
6326 case 500:
6327 #line 2485 "parse.y"
6328 { yyval.ttype = finish_method (yyval.ttype); ;
6329 break;}
6330 case 501:
6331 #line 2487 "parse.y"
6332 { yyval.ttype = finish_method (yyval.ttype); ;
6333 break;}
6334 case 502:
6335 #line 2489 "parse.y"
6336 { yyval.ttype = finish_method (yyval.ttype); ;
6337 break;}
6338 case 503:
6339 #line 2491 "parse.y"
6340 { yyval.ttype = finish_method (yyval.ttype); ;
6341 break;}
6342 case 504:
6343 #line 2493 "parse.y"
6344 { yyval.ttype = NULL_TREE; ;
6345 break;}
6346 case 505:
6347 #line 2495 "parse.y"
6348 { yyval.ttype = yyvsp[0].ttype;
6349 pedantic = yyvsp[-1].itype; ;
6350 break;}
6351 case 506:
6352 #line 2498 "parse.y"
6353 { yyval.ttype = finish_member_template_decl (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6354 break;}
6355 case 507:
6356 #line 2500 "parse.y"
6357 {
6358 shadow_tag (yyvsp[-1].ftype.t);
6359 note_list_got_semicolon (yyvsp[-1].ftype.t);
6360 yyval.ttype = finish_member_template_decl (yyvsp[-2].ttype, yyvsp[-1].ftype.t);
6361 ;
6362 break;}
6363 case 508:
6364 #line 2512 "parse.y"
6365 { yyval.ttype = grok_x_components (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6366 break;}
6367 case 509:
6368 #line 2514 "parse.y"
6369 { yyval.ttype = grok_x_components (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6370 break;}
6371 case 510:
6372 #line 2516 "parse.y"
6373 { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
6374 build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
6375 break;}
6376 case 511:
6377 #line 2519 "parse.y"
6378 { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
6379 build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
6380 break;}
6381 case 512:
6382 #line 2522 "parse.y"
6383 { yyval.ttype = grokbitfield (NULL_TREE, NULL_TREE, yyvsp[0].ttype); ;
6384 break;}
6385 case 513:
6386 #line 2524 "parse.y"
6387 { yyval.ttype = NULL_TREE; ;
6388 break;}
6389 case 514:
6390 #line 2535 "parse.y"
6391 { tree specs, attrs;
6392 split_specs_attrs (yyvsp[-4].ttype, &specs, &attrs);
6393 yyval.ttype = grokfield (yyvsp[-3].ttype, specs, yyvsp[0].ttype, yyvsp[-2].ttype,
6394 build_tree_list (yyvsp[-1].ttype, attrs)); ;
6395 break;}
6396 case 515:
6397 #line 2540 "parse.y"
6398 { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
6399 build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
6400 break;}
6401 case 516:
6402 #line 2543 "parse.y"
6403 { yyval.ttype = do_class_using_decl (yyvsp[0].ttype); ;
6404 break;}
6405 case 517:
6406 #line 2549 "parse.y"
6407 { yyval.ttype = NULL_TREE; ;
6408 break;}
6409 case 519:
6410 #line 2552 "parse.y"
6411 {
6412 /* In this context, void_type_node encodes
6413 friends. They have been recorded elsewhere. */
6414 if (yyval.ttype == void_type_node)
6415 yyval.ttype = yyvsp[0].ttype;
6416 else
6417 yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype);
6418 ;
6419 break;}
6420 case 520:
6421 #line 2564 "parse.y"
6422 { yyval.ttype = NULL_TREE; ;
6423 break;}
6424 case 522:
6425 #line 2567 "parse.y"
6426 {
6427 /* In this context, void_type_node encodes
6428 friends. They have been recorded elsewhere. */
6429 if (yyval.ttype == void_type_node)
6430 yyval.ttype = yyvsp[0].ttype;
6431 else
6432 yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype);
6433 ;
6434 break;}
6435 case 527:
6436 #line 2589 "parse.y"
6437 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6438 &prefix_attributes);
6439 yyvsp[-4].ttype = current_declspecs;
6440 yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6441 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6442 break;}
6443 case 528:
6444 #line 2595 "parse.y"
6445 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6446 &prefix_attributes);
6447 yyvsp[-4].ttype = current_declspecs;
6448 yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6449 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6450 break;}
6451 case 529:
6452 #line 2604 "parse.y"
6453 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6454 &prefix_attributes);
6455 yyvsp[-4].ttype = current_declspecs;
6456 yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6457 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6458 break;}
6459 case 530:
6460 #line 2610 "parse.y"
6461 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6462 &prefix_attributes);
6463 yyvsp[-4].ttype = current_declspecs;
6464 yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6465 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6466 break;}
6467 case 531:
6468 #line 2616 "parse.y"
6469 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6470 &prefix_attributes);
6471 yyvsp[-4].ttype = current_declspecs;
6472 yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6473 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6474 break;}
6475 case 532:
6476 #line 2622 "parse.y"
6477 { split_specs_attrs (yyvsp[-3].ttype, &current_declspecs,
6478 &prefix_attributes);
6479 yyvsp[-3].ttype = current_declspecs;
6480 yyval.ttype = grokbitfield (NULL_TREE, current_declspecs, yyvsp[-1].ttype);
6481 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6482 break;}
6483 case 533:
6484 #line 2631 "parse.y"
6485 { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6486 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6487 break;}
6488 case 534:
6489 #line 2634 "parse.y"
6490 { yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6491 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6492 break;}
6493 case 535:
6494 #line 2640 "parse.y"
6495 { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6496 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6497 break;}
6498 case 536:
6499 #line 2643 "parse.y"
6500 { yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6501 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6502 break;}
6503 case 537:
6504 #line 2646 "parse.y"
6505 { yyval.ttype = grokbitfield (NULL_TREE, current_declspecs, yyvsp[-1].ttype);
6506 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6507 break;}
6508 case 539:
6509 #line 2657 "parse.y"
6510 { TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
6511 break;}
6512 case 540:
6513 #line 2662 "parse.y"
6514 { yyval.ttype = build_enumerator (yyval.ttype, NULL_TREE); ;
6515 break;}
6516 case 541:
6517 #line 2664 "parse.y"
6518 { yyval.ttype = build_enumerator (yyval.ttype, yyvsp[0].ttype); ;
6519 break;}
6520 case 542:
6521 #line 2670 "parse.y"
6522 { yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
6523 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
6524 break;}
6525 case 543:
6526 #line 2673 "parse.y"
6527 { yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE);
6528 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
6529 break;}
6530 case 544:
6531 #line 2678 "parse.y"
6532 {
6533 if (pedantic)
6534 pedwarn ("ANSI C++ forbids array dimensions with parenthesized type in new");
6535 yyval.ftype.t = build_parse_node (ARRAY_REF, TREE_VALUE (yyvsp[-4].ftype.t), yyvsp[-1].ttype);
6536 yyval.ftype.t = build_decl_list (TREE_PURPOSE (yyvsp[-4].ftype.t), yyval.ftype.t);
6537 yyval.ftype.new_type_flag = yyvsp[-4].ftype.new_type_flag;
6538 ;
6539 break;}
6540 case 545:
6541 #line 2689 "parse.y"
6542 { yyval.ttype = NULL_TREE; ;
6543 break;}
6544 case 546:
6545 #line 2691 "parse.y"
6546 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
6547 break;}
6548 case 547:
6549 #line 2696 "parse.y"
6550 { yyval.ftype.t = IDENTIFIER_AS_LIST (yyvsp[0].ttype);
6551 yyval.ftype.new_type_flag = 0; ;
6552 break;}
6553 case 548:
6554 #line 2699 "parse.y"
6555 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ftype.t);
6556 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
6557 break;}
6558 case 549:
6559 #line 2708 "parse.y"
6560 { yyval.itype = suspend_momentary (); ;
6561 break;}
6562 case 550:
6563 #line 2713 "parse.y"
6564 { resume_momentary ((int) yyvsp[-1].itype); yyval.ttype = yyvsp[0].ttype; ;
6565 break;}
6566 case 551:
6567 #line 2719 "parse.y"
6568 { resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = yyvsp[-1].ttype; ;
6569 break;}
6570 case 552:
6571 #line 2721 "parse.y"
6572 { resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = yyvsp[-1].ttype; ;
6573 break;}
6574 case 553:
6575 #line 2723 "parse.y"
6576 { resume_momentary ((int) yyvsp[-1].itype); yyval.ttype = empty_parms (); ;
6577 break;}
6578 case 554:
6579 #line 2725 "parse.y"
6580 { resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = NULL_TREE; ;
6581 break;}
6582 case 555:
6583 #line 2732 "parse.y"
6584 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6585 break;}
6586 case 556:
6587 #line 2734 "parse.y"
6588 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6589 break;}
6590 case 557:
6591 #line 2736 "parse.y"
6592 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
6593 break;}
6594 case 558:
6595 #line 2738 "parse.y"
6596 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
6597 break;}
6598 case 559:
6599 #line 2740 "parse.y"
6600 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
6601 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
6602 ;
6603 break;}
6604 case 561:
6605 #line 2748 "parse.y"
6606 {
6607 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6608 {
6609 yyval.ttype = lookup_name (yyvsp[0].ttype, 1);
6610 if (current_class_type
6611 && TYPE_BEING_DEFINED (current_class_type)
6612 && ! IDENTIFIER_CLASS_VALUE (yyvsp[0].ttype))
6613 {
6614 /* Remember that this name has been used in the class
6615 definition, as per [class.scope0] */
6616 pushdecl_class_level (yyval.ttype);
6617 }
6618 }
6619 else
6620 yyval.ttype = yyvsp[0].ttype;
6621 ;
6622 break;}
6623 case 562:
6624 #line 2765 "parse.y"
6625 {
6626 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6627 yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype);
6628 else
6629 yyval.ttype = yyvsp[0].ttype;
6630 got_scope = NULL_TREE;
6631 ;
6632 break;}
6633 case 565:
6634 #line 2778 "parse.y"
6635 { yyval.ttype = yyvsp[0].ttype; ;
6636 break;}
6637 case 566:
6638 #line 2783 "parse.y"
6639 { yyval.ttype = get_type_decl (yyvsp[0].ttype); ;
6640 break;}
6641 case 567:
6642 #line 2788 "parse.y"
6643 { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6644 break;}
6645 case 568:
6646 #line 2790 "parse.y"
6647 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
6648 break;}
6649 case 569:
6650 #line 2792 "parse.y"
6651 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
6652 break;}
6653 case 570:
6654 #line 2794 "parse.y"
6655 { yyval.ttype = yyvsp[-1].ttype; ;
6656 break;}
6657 case 571:
6658 #line 2796 "parse.y"
6659 { push_nested_class (yyvsp[-1].ttype, 3);
6660 yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype);
6661 TREE_COMPLEXITY (yyval.ttype) = current_class_depth; ;
6662 break;}
6663 case 573:
6664 #line 2807 "parse.y"
6665 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6666 break;}
6667 case 574:
6668 #line 2809 "parse.y"
6669 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6670 break;}
6671 case 575:
6672 #line 2811 "parse.y"
6673 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
6674 break;}
6675 case 576:
6676 #line 2813 "parse.y"
6677 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
6678 break;}
6679 case 577:
6680 #line 2815 "parse.y"
6681 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
6682 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
6683 ;
6684 break;}
6685 case 579:
6686 #line 2823 "parse.y"
6687 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6688 break;}
6689 case 580:
6690 #line 2825 "parse.y"
6691 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6692 break;}
6693 case 581:
6694 #line 2827 "parse.y"
6695 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
6696 break;}
6697 case 582:
6698 #line 2829 "parse.y"
6699 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
6700 break;}
6701 case 583:
6702 #line 2831 "parse.y"
6703 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
6704 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
6705 ;
6706 break;}
6707 case 585:
6708 #line 2839 "parse.y"
6709 { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6710 break;}
6711 case 586:
6712 #line 2841 "parse.y"
6713 { yyval.ttype = yyvsp[-1].ttype; ;
6714 break;}
6715 case 587:
6716 #line 2843 "parse.y"
6717 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
6718 break;}
6719 case 588:
6720 #line 2845 "parse.y"
6721 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
6722 break;}
6723 case 589:
6724 #line 2847 "parse.y"
6725 { if (OP0 (yyval.ttype) != current_class_type)
6726 {
6727 push_nested_class (OP0 (yyval.ttype), 3);
6728 TREE_COMPLEXITY (yyval.ttype) = current_class_depth;
6729 }
6730 ;
6731 break;}
6732 case 590:
6733 #line 2854 "parse.y"
6734 { got_scope = NULL_TREE;
6735 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype);
6736 if (yyvsp[-1].ttype != current_class_type)
6737 {
6738 push_nested_class (yyvsp[-1].ttype, 3);
6739 TREE_COMPLEXITY (yyval.ttype) = current_class_depth;
6740 }
6741 ;
6742 break;}
6743 case 591:
6744 #line 2866 "parse.y"
6745 { got_scope = NULL_TREE;
6746 yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ;
6747 break;}
6748 case 592:
6749 #line 2869 "parse.y"
6750 { got_scope = NULL_TREE;
6751 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6752 break;}
6753 case 593:
6754 #line 2875 "parse.y"
6755 { got_scope = NULL_TREE;
6756 yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ;
6757 break;}
6758 case 594:
6759 #line 2878 "parse.y"
6760 { got_scope = NULL_TREE;
6761 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6762 break;}
6763 case 596:
6764 #line 2885 "parse.y"
6765 { yyval.ttype = yyvsp[0].ttype; ;
6766 break;}
6767 case 597:
6768 #line 2890 "parse.y"
6769 { yyval.ttype = build_functional_cast (yyvsp[-3].ftype.t, yyvsp[-1].ttype); ;
6770 break;}
6771 case 598:
6772 #line 2892 "parse.y"
6773 { yyval.ttype = reparse_decl_as_expr (yyvsp[-3].ftype.t, yyvsp[-1].ttype); ;
6774 break;}
6775 case 599:
6776 #line 2894 "parse.y"
6777 { yyval.ttype = reparse_absdcl_as_expr (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6778 break;}
6779 case 604:
6780 #line 2906 "parse.y"
6781 { yyval.ttype = yyvsp[0].ttype; ;
6782 break;}
6783 case 605:
6784 #line 2908 "parse.y"
6785 { got_scope = yyval.ttype = make_typename_type (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
6786 break;}
6787 case 606:
6788 #line 2915 "parse.y"
6789 {
6790 if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE)
6791 {
6792 yyval.ttype = lastiddecl;
6793 /* Remember that this name has been used in the class
6794 definition, as per [class.scope0] */
6795 if (current_class_type
6796 && TYPE_BEING_DEFINED (current_class_type)
6797 && ! IDENTIFIER_CLASS_VALUE (yyvsp[-1].ttype))
6798 pushdecl_class_level (yyval.ttype);
6799 }
6800 got_scope = yyval.ttype = TREE_TYPE (yyval.ttype);
6801 ;
6802 break;}
6803 case 607:
6804 #line 2929 "parse.y"
6805 {
6806 if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE)
6807 yyval.ttype = lastiddecl;
6808 got_scope = yyval.ttype = TREE_TYPE (yyval.ttype);
6809 ;
6810 break;}
6811 case 608:
6812 #line 2935 "parse.y"
6813 {
6814 if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
6815 yyval.ttype = lastiddecl;
6816 got_scope = yyval.ttype;
6817 ;
6818 break;}
6819 case 609:
6820 #line 2941 "parse.y"
6821 { got_scope = yyval.ttype = complete_type (TREE_TYPE (yyvsp[-1].ttype)); ;
6822 break;}
6823 case 611:
6824 #line 2957 "parse.y"
6825 { yyval.ttype = yyvsp[0].ttype; ;
6826 break;}
6827 case 612:
6828 #line 2962 "parse.y"
6829 {
6830 if (TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype)) == 't')
6831 yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype);
6832 else if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6833 cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
6834 else
6835 {
6836 yyval.ttype = yyvsp[0].ttype;
6837 if (TREE_CODE (yyval.ttype) == TYPE_DECL)
6838 yyval.ttype = TREE_TYPE (yyval.ttype);
6839 }
6840 ;
6841 break;}
6842 case 613:
6843 #line 2975 "parse.y"
6844 { yyval.ttype = TREE_TYPE (yyvsp[0].ttype); ;
6845 break;}
6846 case 614:
6847 #line 2977 "parse.y"
6848 { yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6849 break;}
6850 case 615:
6851 #line 2979 "parse.y"
6852 { yyval.ttype = make_typename_type (yyvsp[-2].ttype, yyvsp[0].ttype); ;
6853 break;}
6854 case 616:
6855 #line 2984 "parse.y"
6856 {
6857 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6858 cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
6859 ;
6860 break;}
6861 case 617:
6862 #line 2989 "parse.y"
6863 {
6864 if (TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype)) == 't')
6865 yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype);
6866 else if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6867 cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
6868 else
6869 {
6870 yyval.ttype = yyvsp[0].ttype;
6871 if (TREE_CODE (yyval.ttype) == TYPE_DECL)
6872 yyval.ttype = TREE_TYPE (yyval.ttype);
6873 }
6874 ;
6875 break;}
6876 case 618:
6877 #line 3002 "parse.y"
6878 { got_scope = yyval.ttype = make_typename_type (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
6879 break;}
6880 case 619:
6881 #line 3004 "parse.y"
6882 { got_scope = yyval.ttype = make_typename_type (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
6883 break;}
6884 case 620:
6885 #line 3009 "parse.y"
6886 {
6887 if (TREE_CODE (yyvsp[-1].ttype) != IDENTIFIER_NODE)
6888 yyvsp[-1].ttype = lastiddecl;
6889
6890 got_scope = yyval.ttype = complete_type (TREE_TYPE (yyvsp[-1].ttype));
6891
6892 if (yyval.ttype == error_mark_node)
6893 cp_error ("`%T' is not a class or namespace", yyvsp[-1].ttype);
6894 ;
6895 break;}
6896 case 621:
6897 #line 3019 "parse.y"
6898 {
6899 if (TREE_CODE (yyvsp[-1].ttype) != IDENTIFIER_NODE)
6900 yyval.ttype = lastiddecl;
6901 got_scope = yyval.ttype = complete_type (TREE_TYPE (yyval.ttype));
6902 ;
6903 break;}
6904 case 622:
6905 #line 3025 "parse.y"
6906 { got_scope = yyval.ttype = complete_type (TREE_TYPE (yyval.ttype)); ;
6907 break;}
6908 case 625:
6909 #line 3029 "parse.y"
6910 {
6911 if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
6912 yyval.ttype = lastiddecl;
6913 got_scope = yyval.ttype;
6914 ;
6915 break;}
6916 case 626:
6917 #line 3038 "parse.y"
6918 { yyval.ttype = build_min_nt (TEMPLATE_ID_EXPR, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
6919 break;}
6920 case 627:
6921 #line 3043 "parse.y"
6922 {
6923 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6924 yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype);
6925 else
6926 yyval.ttype = yyvsp[0].ttype;
6927 got_scope = NULL_TREE;
6928 ;
6929 break;}
6930 case 629:
6931 #line 3052 "parse.y"
6932 { yyval.ttype = yyvsp[0].ttype; ;
6933 break;}
6934 case 630:
6935 #line 3057 "parse.y"
6936 { got_scope = NULL_TREE; ;
6937 break;}
6938 case 631:
6939 #line 3059 "parse.y"
6940 { yyval.ttype = yyvsp[-1].ttype; got_scope = NULL_TREE; ;
6941 break;}
6942 case 632:
6943 #line 3066 "parse.y"
6944 { got_scope = void_type_node; ;
6945 break;}
6946 case 633:
6947 #line 3072 "parse.y"
6948 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6949 break;}
6950 case 634:
6951 #line 3074 "parse.y"
6952 { yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ;
6953 break;}
6954 case 635:
6955 #line 3076 "parse.y"
6956 { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6957 break;}
6958 case 636:
6959 #line 3078 "parse.y"
6960 { yyval.ttype = make_reference_declarator (yyvsp[0].ttype, NULL_TREE); ;
6961 break;}
6962 case 637:
6963 #line 3080 "parse.y"
6964 { tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE);
6965 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, arg);
6966 ;
6967 break;}
6968 case 638:
6969 #line 3084 "parse.y"
6970 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
6971 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
6972 ;
6973 break;}
6974 case 640:
6975 #line 3093 "parse.y"
6976 { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
6977 break;}
6978 case 641:
6979 #line 3095 "parse.y"
6980 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
6981 break;}
6982 case 642:
6983 #line 3101 "parse.y"
6984 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6985 break;}
6986 case 643:
6987 #line 3103 "parse.y"
6988 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
6989 break;}
6990 case 644:
6991 #line 3105 "parse.y"
6992 { yyval.ttype = make_pointer_declarator (yyvsp[0].ftype.t, NULL_TREE); ;
6993 break;}
6994 case 645:
6995 #line 3107 "parse.y"
6996 { yyval.ttype = make_pointer_declarator (NULL_TREE, NULL_TREE); ;
6997 break;}
6998 case 646:
6999 #line 3109 "parse.y"
7000 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7001 break;}
7002 case 647:
7003 #line 3111 "parse.y"
7004 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
7005 break;}
7006 case 648:
7007 #line 3113 "parse.y"
7008 { yyval.ttype = make_reference_declarator (yyvsp[0].ftype.t, NULL_TREE); ;
7009 break;}
7010 case 649:
7011 #line 3115 "parse.y"
7012 { yyval.ttype = make_reference_declarator (NULL_TREE, NULL_TREE); ;
7013 break;}
7014 case 650:
7015 #line 3117 "parse.y"
7016 { tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE);
7017 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, arg);
7018 ;
7019 break;}
7020 case 651:
7021 #line 3121 "parse.y"
7022 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
7023 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
7024 ;
7025 break;}
7026 case 653:
7027 #line 3130 "parse.y"
7028 { yyval.ttype = yyvsp[-1].ttype; ;
7029 break;}
7030 case 655:
7031 #line 3134 "parse.y"
7032 { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7033 break;}
7034 case 656:
7035 #line 3136 "parse.y"
7036 { yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
7037 break;}
7038 case 657:
7039 #line 3138 "parse.y"
7040 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
7041 break;}
7042 case 658:
7043 #line 3140 "parse.y"
7044 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
7045 break;}
7046 case 659:
7047 #line 3142 "parse.y"
7048 { yyval.ttype = make_call_declarator (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7049 break;}
7050 case 660:
7051 #line 3144 "parse.y"
7052 { set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7053 break;}
7054 case 661:
7055 #line 3146 "parse.y"
7056 { set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7057 break;}
7058 case 662:
7059 #line 3148 "parse.y"
7060 { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
7061 break;}
7062 case 663:
7063 #line 3150 "parse.y"
7064 { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, NULL_TREE); ;
7065 break;}
7066 case 670:
7067 #line 3173 "parse.y"
7068 { if (pedantic)
7069 pedwarn ("ANSI C++ forbids label declarations"); ;
7070 break;}
7071 case 673:
7072 #line 3184 "parse.y"
7073 { tree link;
7074 for (link = yyvsp[-1].ttype; link; link = TREE_CHAIN (link))
7075 {
7076 tree label = shadow_label (TREE_VALUE (link));
7077 C_DECLARED_LABEL_FLAG (label) = 1;
7078 declare_nonlocal_label (label);
7079 }
7080 ;
7081 break;}
7082 case 674:
7083 #line 3198 "parse.y"
7084 {;
7085 break;}
7086 case 676:
7087 #line 3204 "parse.y"
7088 { yyval.ttype = begin_compound_stmt (0); ;
7089 break;}
7090 case 677:
7091 #line 3206 "parse.y"
7092 { yyval.ttype = finish_compound_stmt (0, yyvsp[-1].ttype); ;
7093 break;}
7094 case 678:
7095 #line 3211 "parse.y"
7096 {
7097 yyval.ttype = begin_if_stmt ();
7098 cond_stmt_keyword = "if";
7099 ;
7100 break;}
7101 case 679:
7102 #line 3216 "parse.y"
7103 { finish_if_stmt_cond (yyvsp[0].ttype, yyvsp[-1].ttype); ;
7104 break;}
7105 case 680:
7106 #line 3218 "parse.y"
7107 { yyval.ttype = finish_then_clause (yyvsp[-3].ttype); ;
7108 break;}
7109 case 682:
7110 #line 3223 "parse.y"
7111 { yyval.ttype = begin_compound_stmt (0); ;
7112 break;}
7113 case 683:
7114 #line 3225 "parse.y"
7115 { yyval.ttype = finish_compound_stmt (0, yyvsp[-1].ttype); ;
7116 break;}
7117 case 684:
7118 #line 3230 "parse.y"
7119 {;
7120 break;}
7121 case 686:
7122 #line 3236 "parse.y"
7123 { finish_stmt (); ;
7124 break;}
7125 case 687:
7126 #line 3238 "parse.y"
7127 { finish_expr_stmt (yyvsp[-1].ttype); ;
7128 break;}
7129 case 688:
7130 #line 3240 "parse.y"
7131 { begin_else_clause (); ;
7132 break;}
7133 case 689:
7134 #line 3242 "parse.y"
7135 {
7136 finish_else_clause (yyvsp[-3].ttype);
7137 finish_if_stmt ();
7138 ;
7139 break;}
7140 case 690:
7141 #line 3247 "parse.y"
7142 { finish_if_stmt (); ;
7143 break;}
7144 case 691:
7145 #line 3249 "parse.y"
7146 {
7147 yyval.ttype = begin_while_stmt ();
7148 cond_stmt_keyword = "while";
7149 ;
7150 break;}
7151 case 692:
7152 #line 3254 "parse.y"
7153 { finish_while_stmt_cond (yyvsp[0].ttype, yyvsp[-1].ttype); ;
7154 break;}
7155 case 693:
7156 #line 3256 "parse.y"
7157 { finish_while_stmt (yyvsp[-3].ttype); ;
7158 break;}
7159 case 694:
7160 #line 3258 "parse.y"
7161 { yyval.ttype = begin_do_stmt (); ;
7162 break;}
7163 case 695:
7164 #line 3260 "parse.y"
7165 {
7166 finish_do_body (yyvsp[-2].ttype);
7167 cond_stmt_keyword = "do";
7168 ;
7169 break;}
7170 case 696:
7171 #line 3265 "parse.y"
7172 { finish_do_stmt (yyvsp[-1].ttype, yyvsp[-5].ttype); ;
7173 break;}
7174 case 697:
7175 #line 3267 "parse.y"
7176 { yyval.ttype = begin_for_stmt (); ;
7177 break;}
7178 case 698:
7179 #line 3269 "parse.y"
7180 { finish_for_init_stmt (yyvsp[-2].ttype); ;
7181 break;}
7182 case 699:
7183 #line 3271 "parse.y"
7184 { finish_for_cond (yyvsp[-1].ttype, yyvsp[-5].ttype); ;
7185 break;}
7186 case 700:
7187 #line 3273 "parse.y"
7188 { finish_for_expr (yyvsp[-1].ttype, yyvsp[-8].ttype); ;
7189 break;}
7190 case 701:
7191 #line 3275 "parse.y"
7192 { finish_for_stmt (yyvsp[-3].ttype, yyvsp[-10].ttype); ;
7193 break;}
7194 case 702:
7195 #line 3277 "parse.y"
7196 { begin_switch_stmt (); ;
7197 break;}
7198 case 703:
7199 #line 3279 "parse.y"
7200 { yyval.ttype = finish_switch_cond (yyvsp[-1].ttype); ;
7201 break;}
7202 case 704:
7203 #line 3281 "parse.y"
7204 { finish_switch_stmt (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
7205 break;}
7206 case 705:
7207 #line 3283 "parse.y"
7208 { finish_case_label (yyvsp[-1].ttype, NULL_TREE); ;
7209 break;}
7210 case 707:
7211 #line 3286 "parse.y"
7212 { finish_case_label (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
7213 break;}
7214 case 709:
7215 #line 3289 "parse.y"
7216 { finish_case_label (NULL_TREE, NULL_TREE); ;
7217 break;}
7218 case 711:
7219 #line 3292 "parse.y"
7220 { finish_break_stmt (); ;
7221 break;}
7222 case 712:
7223 #line 3294 "parse.y"
7224 { finish_continue_stmt (); ;
7225 break;}
7226 case 713:
7227 #line 3296 "parse.y"
7228 { finish_return_stmt (NULL_TREE); ;
7229 break;}
7230 case 714:
7231 #line 3298 "parse.y"
7232 { finish_return_stmt (yyvsp[-1].ttype); ;
7233 break;}
7234 case 715:
7235 #line 3300 "parse.y"
7236 {
7237 finish_asm_stmt (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE,
7238 NULL_TREE);
7239 ;
7240 break;}
7241 case 716:
7242 #line 3306 "parse.y"
7243 {
7244 finish_asm_stmt (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE,
7245 NULL_TREE);
7246 ;
7247 break;}
7248 case 717:
7249 #line 3312 "parse.y"
7250 { finish_asm_stmt (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE); ;
7251 break;}
7252 case 718:
7253 #line 3316 "parse.y"
7254 { finish_asm_stmt (yyvsp[-10].ttype, yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype); ;
7255 break;}
7256 case 719:
7257 #line 3318 "parse.y"
7258 {
7259 if (pedantic)
7260 pedwarn ("ANSI C++ forbids computed gotos");
7261 finish_goto_stmt (yyvsp[-1].ttype);
7262 ;
7263 break;}
7264 case 720:
7265 #line 3324 "parse.y"
7266 { finish_goto_stmt (yyvsp[-1].ttype); ;
7267 break;}
7268 case 721:
7269 #line 3326 "parse.y"
7270 { finish_stmt (); ;
7271 break;}
7272 case 722:
7273 #line 3328 "parse.y"
7274 { error ("label must be followed by statement");
7275 yyungetc ('}', 0);
7276 finish_stmt (); ;
7277 break;}
7278 case 723:
7279 #line 3332 "parse.y"
7280 { finish_stmt (); ;
7281 break;}
7282 case 725:
7283 #line 3338 "parse.y"
7284 {
7285 if (! current_function_parms_stored)
7286 store_parm_decls ();
7287 expand_start_early_try_stmts ();
7288 ;
7289 break;}
7290 case 726:
7291 #line 3344 "parse.y"
7292 { expand_start_all_catch (); ;
7293 break;}
7294 case 727:
7295 #line 3346 "parse.y"
7296 {
7297 int nested = (hack_decl_function_context
7298 (current_function_decl) != NULL_TREE);
7299 expand_end_all_catch ();
7300 finish_function (lineno, (int)yyvsp[-3].itype, nested);
7301 ;
7302 break;}
7303 case 728:
7304 #line 3356 "parse.y"
7305 { yyval.ttype = begin_try_block (); ;
7306 break;}
7307 case 729:
7308 #line 3358 "parse.y"
7309 { finish_try_block (yyvsp[-1].ttype); ;
7310 break;}
7311 case 730:
7312 #line 3360 "parse.y"
7313 { finish_handler_sequence (yyvsp[-3].ttype); ;
7314 break;}
7315 case 733:
7316 #line 3370 "parse.y"
7317 { yyval.ttype = begin_handler(); ;
7318 break;}
7319 case 734:
7320 #line 3372 "parse.y"
7321 { finish_handler_parms (yyvsp[-1].ttype); ;
7322 break;}
7323 case 735:
7324 #line 3374 "parse.y"
7325 { finish_handler (yyvsp[-3].ttype); ;
7326 break;}
7327 case 738:
7328 #line 3384 "parse.y"
7329 { expand_start_catch_block (NULL_TREE, NULL_TREE); ;
7330 break;}
7331 case 739:
7332 #line 3400 "parse.y"
7333 { check_for_new_type ("inside exception declarations", yyvsp[-1].ftype);
7334 expand_start_catch_block (TREE_PURPOSE (yyvsp[-1].ftype.t),
7335 TREE_VALUE (yyvsp[-1].ftype.t)); ;
7336 break;}
7337 case 740:
7338 #line 3407 "parse.y"
7339 { tree label;
7340 do_label:
7341 label = define_label (input_filename, lineno, yyvsp[-1].ttype);
7342 if (label && ! minimal_parse_mode)
7343 expand_label (label);
7344 ;
7345 break;}
7346 case 741:
7347 #line 3414 "parse.y"
7348 { goto do_label; ;
7349 break;}
7350 case 742:
7351 #line 3416 "parse.y"
7352 { goto do_label; ;
7353 break;}
7354 case 743:
7355 #line 3418 "parse.y"
7356 { goto do_label; ;
7357 break;}
7358 case 744:
7359 #line 3423 "parse.y"
7360 { if (yyvsp[-1].ttype) cplus_expand_expr_stmt (yyvsp[-1].ttype); ;
7361 break;}
7362 case 746:
7363 #line 3426 "parse.y"
7364 { if (pedantic)
7365 pedwarn ("ANSI C++ forbids compound statements inside for initializations");
7366 ;
7367 break;}
7368 case 747:
7369 #line 3435 "parse.y"
7370 { emit_line_note (input_filename, lineno);
7371 yyval.ttype = NULL_TREE; ;
7372 break;}
7373 case 748:
7374 #line 3438 "parse.y"
7375 { emit_line_note (input_filename, lineno); ;
7376 break;}
7377 case 749:
7378 #line 3443 "parse.y"
7379 { yyval.ttype = NULL_TREE; ;
7380 break;}
7381 case 751:
7382 #line 3446 "parse.y"
7383 { yyval.ttype = NULL_TREE; ;
7384 break;}
7385 case 752:
7386 #line 3453 "parse.y"
7387 { yyval.ttype = NULL_TREE; ;
7388 break;}
7389 case 755:
7390 #line 3460 "parse.y"
7391 { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
7392 break;}
7393 case 756:
7394 #line 3465 "parse.y"
7395 { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[-1].ttype); ;
7396 break;}
7397 case 757:
7398 #line 3470 "parse.y"
7399 { yyval.ttype = tree_cons (NULL_TREE, yyval.ttype, NULL_TREE); ;
7400 break;}
7401 case 758:
7402 #line 3472 "parse.y"
7403 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
7404 break;}
7405 case 759:
7406 #line 3483 "parse.y"
7407 {
7408 yyval.ttype = empty_parms();
7409 ;
7410 break;}
7411 case 761:
7412 #line 3488 "parse.y"
7413 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ftype.t, void_list_node);
7414 TREE_PARMLIST (yyval.ttype) = 1;
7415 check_for_new_type ("inside parameter list", yyvsp[0].ftype); ;
7416 break;}
7417 case 762:
7418 #line 3497 "parse.y"
7419 {
7420 yyval.ttype = chainon (yyval.ttype, void_list_node);
7421 TREE_PARMLIST (yyval.ttype) = 1;
7422 ;
7423 break;}
7424 case 763:
7425 #line 3502 "parse.y"
7426 {
7427 TREE_PARMLIST (yyval.ttype) = 1;
7428 ;
7429 break;}
7430 case 764:
7431 #line 3507 "parse.y"
7432 {
7433 TREE_PARMLIST (yyval.ttype) = 1;
7434 ;
7435 break;}
7436 case 765:
7437 #line 3511 "parse.y"
7438 {
7439 yyval.ttype = build_tree_list (NULL_TREE, yyvsp[-1].ftype.t);
7440 TREE_PARMLIST (yyval.ttype) = 1;
7441 ;
7442 break;}
7443 case 766:
7444 #line 3516 "parse.y"
7445 {
7446 yyval.ttype = NULL_TREE;
7447 ;
7448 break;}
7449 case 767:
7450 #line 3520 "parse.y"
7451 {
7452 TREE_PARMLIST (yyval.ttype) = 1;
7453 ;
7454 break;}
7455 case 768:
7456 #line 3524 "parse.y"
7457 {
7458 TREE_PARMLIST (yyval.ttype) = 1;
7459 ;
7460 break;}
7461 case 769:
7462 #line 3528 "parse.y"
7463 {
7464 yyval.ttype = build_tree_list (NULL_TREE, yyvsp[-1].ftype.t);
7465 TREE_PARMLIST (yyval.ttype) = 1;
7466 ;
7467 break;}
7468 case 770:
7469 #line 3533 "parse.y"
7470 {
7471 /* This helps us recover from really nasty
7472 parse errors, for example, a missing right
7473 parenthesis. */
7474 yyerror ("possibly missing ')'");
7475 yyval.ttype = chainon (yyval.ttype, void_list_node);
7476 TREE_PARMLIST (yyval.ttype) = 1;
7477 yyungetc (':', 0);
7478 yychar = ')';
7479 ;
7480 break;}
7481 case 771:
7482 #line 3544 "parse.y"
7483 {
7484 /* This helps us recover from really nasty
7485 parse errors, for example, a missing right
7486 parenthesis. */
7487 yyerror ("possibly missing ')'");
7488 yyval.ttype = tree_cons (NULL_TREE, yyvsp[-1].ftype.t, void_list_node);
7489 TREE_PARMLIST (yyval.ttype) = 1;
7490 yyungetc (':', 0);
7491 yychar = ')';
7492 ;
7493 break;}
7494 case 772:
7495 #line 3559 "parse.y"
7496 { maybe_snarf_defarg (); ;
7497 break;}
7498 case 773:
7499 #line 3561 "parse.y"
7500 { yyval.ttype = yyvsp[0].ttype; ;
7501 break;}
7502 case 776:
7503 #line 3572 "parse.y"
7504 { check_for_new_type ("in a parameter list", yyvsp[0].ftype);
7505 yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ftype.t); ;
7506 break;}
7507 case 777:
7508 #line 3575 "parse.y"
7509 { check_for_new_type ("in a parameter list", yyvsp[-1].ftype);
7510 yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-1].ftype.t); ;
7511 break;}
7512 case 778:
7513 #line 3578 "parse.y"
7514 { check_for_new_type ("in a parameter list", yyvsp[0].ftype);
7515 yyval.ttype = chainon (yyval.ttype, yyvsp[0].ftype.t); ;
7516 break;}
7517 case 779:
7518 #line 3581 "parse.y"
7519 { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
7520 break;}
7521 case 780:
7522 #line 3583 "parse.y"
7523 { yyval.ttype = chainon (yyval.ttype, build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype)); ;
7524 break;}
7525 case 782:
7526 #line 3589 "parse.y"
7527 { check_for_new_type ("in a parameter list", yyvsp[-1].ftype);
7528 yyval.ttype = build_tree_list (NULL_TREE, yyvsp[-1].ftype.t); ;
7529 break;}
7530 case 783:
7531 #line 3599 "parse.y"
7532 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
7533 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag;
7534 yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype); ;
7535 break;}
7536 case 784:
7537 #line 3603 "parse.y"
7538 { yyval.ftype.t = build_tree_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
7539 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
7540 break;}
7541 case 785:
7542 #line 3606 "parse.y"
7543 { yyval.ftype.t = build_tree_list (get_decl_list (yyvsp[-1].ftype.t), yyvsp[0].ttype);
7544 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
7545 break;}
7546 case 786:
7547 #line 3609 "parse.y"
7548 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
7549 yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype);
7550 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
7551 break;}
7552 case 787:
7553 #line 3613 "parse.y"
7554 { tree specs = strip_attrs (yyvsp[0].ftype.t);
7555 yyval.ftype.t = build_tree_list (specs, NULL_TREE);
7556 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
7557 break;}
7558 case 788:
7559 #line 3617 "parse.y"
7560 { tree specs = strip_attrs (yyvsp[-1].ttype);
7561 yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype);
7562 yyval.ftype.new_type_flag = 0; ;
7563 break;}
7564 case 789:
7565 #line 3624 "parse.y"
7566 { yyval.ftype.t = build_tree_list (NULL_TREE, yyvsp[0].ftype.t);
7567 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
7568 break;}
7569 case 790:
7570 #line 3627 "parse.y"
7571 { yyval.ftype.t = build_tree_list (yyvsp[0].ttype, yyvsp[-1].ftype.t);
7572 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
7573 break;}
7574 case 793:
7575 #line 3638 "parse.y"
7576 { see_typename (); ;
7577 break;}
7578 case 794:
7579 #line 3643 "parse.y"
7580 {
7581 error ("type specifier omitted for parameter");
7582 yyval.ttype = build_tree_list (integer_type_node, NULL_TREE);
7583 ;
7584 break;}
7585 case 795:
7586 #line 3648 "parse.y"
7587 {
7588 error ("type specifier omitted for parameter");
7589 if (TREE_CODE (yyval.ttype) == SCOPE_REF
7590 && (TREE_CODE (TREE_OPERAND (yyval.ttype, 0)) == TEMPLATE_TYPE_PARM
7591 || TREE_CODE (TREE_OPERAND (yyval.ttype, 0)) == TEMPLATE_TEMPLATE_PARM))
7592 cp_error (" perhaps you want `typename %E' to make it a type", yyval.ttype);
7593 yyval.ttype = build_tree_list (integer_type_node, yyval.ttype);
7594 ;
7595 break;}
7596 case 796:
7597 #line 3660 "parse.y"
7598 { yyval.ttype = NULL_TREE; ;
7599 break;}
7600 case 797:
7601 #line 3662 "parse.y"
7602 { yyval.ttype = yyvsp[-1].ttype; ;
7603 break;}
7604 case 798:
7605 #line 3664 "parse.y"
7606 { yyval.ttype = build_decl_list (NULL_TREE, NULL_TREE); ;
7607 break;}
7608 case 799:
7609 #line 3669 "parse.y"
7610 { yyval.ttype = build_decl_list (NULL_TREE, groktypename(yyvsp[0].ftype.t)); ;
7611 break;}
7612 case 801:
7613 #line 3675 "parse.y"
7614 {
7615 TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype;
7616 yyval.ttype = yyvsp[0].ttype;
7617 ;
7618 break;}
7619 case 802:
7620 #line 3683 "parse.y"
7621 { yyval.ttype = NULL_TREE; ;
7622 break;}
7623 case 803:
7624 #line 3685 "parse.y"
7625 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
7626 break;}
7627 case 804:
7628 #line 3687 "parse.y"
7629 { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
7630 break;}
7631 case 805:
7632 #line 3689 "parse.y"
7633 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
7634 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
7635 ;
7636 break;}
7637 case 806:
7638 #line 3696 "parse.y"
7639 { got_scope = NULL_TREE; ;
7640 break;}
7641 case 807:
7642 #line 3701 "parse.y"
7643 { yyval.ttype = ansi_opname[MULT_EXPR]; ;
7644 break;}
7645 case 808:
7646 #line 3703 "parse.y"
7647 { yyval.ttype = ansi_opname[TRUNC_DIV_EXPR]; ;
7648 break;}
7649 case 809:
7650 #line 3705 "parse.y"
7651 { yyval.ttype = ansi_opname[TRUNC_MOD_EXPR]; ;
7652 break;}
7653 case 810:
7654 #line 3707 "parse.y"
7655 { yyval.ttype = ansi_opname[PLUS_EXPR]; ;
7656 break;}
7657 case 811:
7658 #line 3709 "parse.y"
7659 { yyval.ttype = ansi_opname[MINUS_EXPR]; ;
7660 break;}
7661 case 812:
7662 #line 3711 "parse.y"
7663 { yyval.ttype = ansi_opname[BIT_AND_EXPR]; ;
7664 break;}
7665 case 813:
7666 #line 3713 "parse.y"
7667 { yyval.ttype = ansi_opname[BIT_IOR_EXPR]; ;
7668 break;}
7669 case 814:
7670 #line 3715 "parse.y"
7671 { yyval.ttype = ansi_opname[BIT_XOR_EXPR]; ;
7672 break;}
7673 case 815:
7674 #line 3717 "parse.y"
7675 { yyval.ttype = ansi_opname[BIT_NOT_EXPR]; ;
7676 break;}
7677 case 816:
7678 #line 3719 "parse.y"
7679 { yyval.ttype = ansi_opname[COMPOUND_EXPR]; ;
7680 break;}
7681 case 817:
7682 #line 3721 "parse.y"
7683 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7684 break;}
7685 case 818:
7686 #line 3723 "parse.y"
7687 { yyval.ttype = ansi_opname[LT_EXPR]; ;
7688 break;}
7689 case 819:
7690 #line 3725 "parse.y"
7691 { yyval.ttype = ansi_opname[GT_EXPR]; ;
7692 break;}
7693 case 820:
7694 #line 3727 "parse.y"
7695 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7696 break;}
7697 case 821:
7698 #line 3729 "parse.y"
7699 { yyval.ttype = ansi_assopname[yyvsp[0].code]; ;
7700 break;}
7701 case 822:
7702 #line 3731 "parse.y"
7703 { yyval.ttype = ansi_opname [MODIFY_EXPR]; ;
7704 break;}
7705 case 823:
7706 #line 3733 "parse.y"
7707 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7708 break;}
7709 case 824:
7710 #line 3735 "parse.y"
7711 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7712 break;}
7713 case 825:
7714 #line 3737 "parse.y"
7715 { yyval.ttype = ansi_opname[POSTINCREMENT_EXPR]; ;
7716 break;}
7717 case 826:
7718 #line 3739 "parse.y"
7719 { yyval.ttype = ansi_opname[PREDECREMENT_EXPR]; ;
7720 break;}
7721 case 827:
7722 #line 3741 "parse.y"
7723 { yyval.ttype = ansi_opname[TRUTH_ANDIF_EXPR]; ;
7724 break;}
7725 case 828:
7726 #line 3743 "parse.y"
7727 { yyval.ttype = ansi_opname[TRUTH_ORIF_EXPR]; ;
7728 break;}
7729 case 829:
7730 #line 3745 "parse.y"
7731 { yyval.ttype = ansi_opname[TRUTH_NOT_EXPR]; ;
7732 break;}
7733 case 830:
7734 #line 3747 "parse.y"
7735 { yyval.ttype = ansi_opname[COND_EXPR]; ;
7736 break;}
7737 case 831:
7738 #line 3749 "parse.y"
7739 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7740 break;}
7741 case 832:
7742 #line 3751 "parse.y"
7743 { yyval.ttype = ansi_opname[COMPONENT_REF]; ;
7744 break;}
7745 case 833:
7746 #line 3753 "parse.y"
7747 { yyval.ttype = ansi_opname[MEMBER_REF]; ;
7748 break;}
7749 case 834:
7750 #line 3755 "parse.y"
7751 { yyval.ttype = ansi_opname[CALL_EXPR]; ;
7752 break;}
7753 case 835:
7754 #line 3757 "parse.y"
7755 { yyval.ttype = ansi_opname[ARRAY_REF]; ;
7756 break;}
7757 case 836:
7758 #line 3759 "parse.y"
7759 { yyval.ttype = ansi_opname[NEW_EXPR]; ;
7760 break;}
7761 case 837:
7762 #line 3761 "parse.y"
7763 { yyval.ttype = ansi_opname[DELETE_EXPR]; ;
7764 break;}
7765 case 838:
7766 #line 3763 "parse.y"
7767 { yyval.ttype = ansi_opname[VEC_NEW_EXPR]; ;
7768 break;}
7769 case 839:
7770 #line 3765 "parse.y"
7771 { yyval.ttype = ansi_opname[VEC_DELETE_EXPR]; ;
7772 break;}
7773 case 840:
7774 #line 3768 "parse.y"
7775 { yyval.ttype = grokoptypename (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7776 break;}
7777 case 841:
7778 #line 3770 "parse.y"
7779 { yyval.ttype = ansi_opname[ERROR_MARK]; ;
7780 break;}
7781 }
7782 /* the action file gets copied in in place of this dollarsign */
7783 #line 498 "/usr/cygnus/latest-940103/share/bison.simple"
7784 \f
7785 yyvsp -= yylen;
7786 yyssp -= yylen;
7787 #ifdef YYLSP_NEEDED
7788 yylsp -= yylen;
7789 #endif
7790
7791 #if YYDEBUG != 0
7792 if (yydebug)
7793 {
7794 short *ssp1 = yyss - 1;
7795 fprintf (stderr, "state stack now");
7796 while (ssp1 != yyssp)
7797 fprintf (stderr, " %d", *++ssp1);
7798 fprintf (stderr, "\n");
7799 }
7800 #endif
7801
7802 *++yyvsp = yyval;
7803
7804 #ifdef YYLSP_NEEDED
7805 yylsp++;
7806 if (yylen == 0)
7807 {
7808 yylsp->first_line = yylloc.first_line;
7809 yylsp->first_column = yylloc.first_column;
7810 yylsp->last_line = (yylsp-1)->last_line;
7811 yylsp->last_column = (yylsp-1)->last_column;
7812 yylsp->text = 0;
7813 }
7814 else
7815 {
7816 yylsp->last_line = (yylsp+yylen-1)->last_line;
7817 yylsp->last_column = (yylsp+yylen-1)->last_column;
7818 }
7819 #endif
7820
7821 /* Now "shift" the result of the reduction.
7822 Determine what state that goes to,
7823 based on the state we popped back to
7824 and the rule number reduced by. */
7825
7826 yyn = yyr1[yyn];
7827
7828 yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
7829 if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
7830 yystate = yytable[yystate];
7831 else
7832 yystate = yydefgoto[yyn - YYNTBASE];
7833
7834 goto yynewstate;
7835
7836 yyerrlab: /* here on detecting error */
7837
7838 if (! yyerrstatus)
7839 /* If not already recovering from an error, report this error. */
7840 {
7841 ++yynerrs;
7842
7843 #ifdef YYERROR_VERBOSE
7844 yyn = yypact[yystate];
7845
7846 if (yyn > YYFLAG && yyn < YYLAST)
7847 {
7848 int size = 0;
7849 char *msg;
7850 int x, count;
7851
7852 count = 0;
7853 /* Start X at -yyn if nec to avoid negative indexes in yycheck. */
7854 for (x = (yyn < 0 ? -yyn : 0);
7855 x < (sizeof(yytname) / sizeof(char *)); x++)
7856 if (yycheck[x + yyn] == x)
7857 size += strlen(yytname[x]) + 15, count++;
7858 msg = (char *) malloc(size + 15);
7859 if (msg != 0)
7860 {
7861 strcpy(msg, "parse error");
7862
7863 if (count < 5)
7864 {
7865 count = 0;
7866 for (x = (yyn < 0 ? -yyn : 0);
7867 x < (sizeof(yytname) / sizeof(char *)); x++)
7868 if (yycheck[x + yyn] == x)
7869 {
7870 strcat(msg, count == 0 ? ", expecting `" : " or `");
7871 strcat(msg, yytname[x]);
7872 strcat(msg, "'");
7873 count++;
7874 }
7875 }
7876 yyerror(msg);
7877 free(msg);
7878 }
7879 else
7880 yyerror ("parse error; also virtual memory exceeded");
7881 }
7882 else
7883 #endif /* YYERROR_VERBOSE */
7884 yyerror("parse error");
7885 }
7886
7887 goto yyerrlab1;
7888 yyerrlab1: /* here on error raised explicitly by an action */
7889
7890 if (yyerrstatus == 3)
7891 {
7892 /* if just tried and failed to reuse lookahead token after an error, discard it. */
7893
7894 /* return failure if at end of input */
7895 if (yychar == YYEOF)
7896 YYABORT;
7897
7898 #if YYDEBUG != 0
7899 if (yydebug)
7900 fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
7901 #endif
7902
7903 yychar = YYEMPTY;
7904 }
7905
7906 /* Else will try to reuse lookahead token
7907 after shifting the error token. */
7908
7909 yyerrstatus = 3; /* Each real token shifted decrements this */
7910
7911 goto yyerrhandle;
7912
7913 yyerrdefault: /* current state does not do anything special for the error token. */
7914
7915 #if 0
7916 /* This is wrong; only states that explicitly want error tokens
7917 should shift them. */
7918 yyn = yydefact[yystate]; /* If its default is to accept any token, ok. Otherwise pop it.*/
7919 if (yyn) goto yydefault;
7920 #endif
7921
7922 yyerrpop: /* pop the current state because it cannot handle the error token */
7923
7924 if (yyssp == yyss) YYABORT;
7925 yyvsp--;
7926 yystate = *--yyssp;
7927 #ifdef YYLSP_NEEDED
7928 yylsp--;
7929 #endif
7930
7931 #if YYDEBUG != 0
7932 if (yydebug)
7933 {
7934 short *ssp1 = yyss - 1;
7935 fprintf (stderr, "Error: state stack now");
7936 while (ssp1 != yyssp)
7937 fprintf (stderr, " %d", *++ssp1);
7938 fprintf (stderr, "\n");
7939 }
7940 #endif
7941
7942 yyerrhandle:
7943
7944 yyn = yypact[yystate];
7945 if (yyn == YYFLAG)
7946 goto yyerrdefault;
7947
7948 yyn += YYTERROR;
7949 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
7950 goto yyerrdefault;
7951
7952 yyn = yytable[yyn];
7953 if (yyn < 0)
7954 {
7955 if (yyn == YYFLAG)
7956 goto yyerrpop;
7957 yyn = -yyn;
7958 goto yyreduce;
7959 }
7960 else if (yyn == 0)
7961 goto yyerrpop;
7962
7963 if (yyn == YYFINAL)
7964 YYACCEPT;
7965
7966 #if YYDEBUG != 0
7967 if (yydebug)
7968 fprintf(stderr, "Shifting error token, ");
7969 #endif
7970
7971 *++yyvsp = yylval;
7972 #ifdef YYLSP_NEEDED
7973 *++yylsp = yylloc;
7974 #endif
7975
7976 yystate = yyn;
7977 goto yynewstate;
7978 }
7979 #line 3773 "parse.y"
7980
7981
7982 #ifdef SPEW_DEBUG
7983 const char *
7984 debug_yytranslate (value)
7985 int value;
7986 {
7987 return yytname[YYTRANSLATE (value)];
7988 }
7989
7990 #endif