cp-tree.h (CLASSTYPE_IS_TEMPLATE): New macro.
[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, 2511, 2517, 2519,
678 2522, 2525, 2527, 2538, 2543, 2546, 2551, 2554, 2555, 2566,
679 2569, 2570, 2581, 2583, 2586, 2588, 2591, 2598, 2606, 2613,
680 2619, 2625, 2633, 2637, 2642, 2646, 2649, 2658, 2660, 2664,
681 2667, 2672, 2676, 2681, 2691, 2694, 2698, 2702, 2710, 2715,
682 2721, 2724, 2726, 2728, 2734, 2737, 2739, 2741, 2743, 2747,
683 2750, 2768, 2778, 2780, 2781, 2785, 2790, 2793, 2795, 2797,
684 2799, 2803, 2809, 2812, 2814, 2816, 2818, 2822, 2825, 2828,
685 2830, 2832, 2834, 2838, 2841, 2844, 2846, 2848, 2850, 2857,
686 2868, 2872, 2877, 2881, 2886, 2888, 2892, 2895, 2897, 2901,
687 2903, 2904, 2907, 2909, 2911, 2917, 2932, 2938, 2944, 2958,
688 2960, 2964, 2978, 2980, 2982, 2986, 2992, 3005, 3007, 3011,
689 3022, 3028, 3030, 3031, 3032, 3040, 3045, 3054, 3055, 3059,
690 3062, 3068, 3074, 3077, 3079, 3081, 3083, 3087, 3091, 3095,
691 3098, 3103, 3106, 3108, 3110, 3112, 3114, 3116, 3118, 3120,
692 3124, 3128, 3132, 3136, 3137, 3139, 3141, 3143, 3145, 3147,
693 3149, 3151, 3153, 3161, 3163, 3164, 3165, 3168, 3174, 3176,
694 3181, 3183, 3186, 3200, 3203, 3206, 3210, 3213, 3220, 3222,
695 3225, 3227, 3229, 3232, 3235, 3238, 3241, 3243, 3246, 3250,
696 3252, 3258, 3260, 3261, 3263, 3268, 3270, 3272, 3274, 3276,
697 3279, 3280, 3282, 3285, 3286, 3289, 3289, 3292, 3292, 3295,
698 3295, 3297, 3299, 3301, 3303, 3309, 3315, 3318, 3321, 3327,
699 3329, 3331, 3335, 3337, 3340, 3347, 3350, 3358, 3362, 3364,
700 3367, 3369, 3372, 3376, 3378, 3381, 3383, 3386, 3403, 3409,
701 3417, 3419, 3421, 3425, 3428, 3429, 3437, 3441, 3445, 3448,
702 3449, 3455, 3458, 3461, 3463, 3467, 3472, 3475, 3485, 3490,
703 3491, 3499, 3505, 3510, 3514, 3519, 3523, 3527, 3531, 3536,
704 3547, 3561, 3565, 3568, 3570, 3574, 3578, 3581, 3584, 3586,
705 3590, 3592, 3599, 3606, 3609, 3612, 3616, 3620, 3626, 3630,
706 3635, 3637, 3640, 3645, 3651, 3662, 3665, 3667, 3671, 3676,
707 3678, 3685, 3688, 3690, 3692, 3698, 3703, 3706, 3708, 3710,
708 3712, 3714, 3716, 3718, 3720, 3722, 3724, 3726, 3728, 3730,
709 3732, 3734, 3736, 3738, 3740, 3742, 3744, 3746, 3748, 3750,
710 3752, 3754, 3756, 3758, 3760, 3762, 3764, 3766, 3768, 3771,
711 3773
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/lib/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/lib/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 note_list_got_semicolon (yyvsp[-1].ftype.t);
6359 grok_x_components (yyvsp[-1].ftype.t, NULL_TREE);
6360 if (TYPE_CONTEXT (TREE_VALUE (yyvsp[-1].ftype.t)) != current_class_type)
6361 /* The component was in fact a friend
6362 declaration. */
6363 yyvsp[-1].ftype.t = NULL_TREE;
6364 yyval.ttype = finish_member_template_decl (yyvsp[-2].ttype, yyvsp[-1].ftype.t);
6365 ;
6366 break;}
6367 case 508:
6368 #line 2516 "parse.y"
6369 { yyval.ttype = grok_x_components (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6370 break;}
6371 case 509:
6372 #line 2518 "parse.y"
6373 { yyval.ttype = grok_x_components (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6374 break;}
6375 case 510:
6376 #line 2520 "parse.y"
6377 { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
6378 build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
6379 break;}
6380 case 511:
6381 #line 2523 "parse.y"
6382 { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
6383 build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
6384 break;}
6385 case 512:
6386 #line 2526 "parse.y"
6387 { yyval.ttype = grokbitfield (NULL_TREE, NULL_TREE, yyvsp[0].ttype); ;
6388 break;}
6389 case 513:
6390 #line 2528 "parse.y"
6391 { yyval.ttype = NULL_TREE; ;
6392 break;}
6393 case 514:
6394 #line 2539 "parse.y"
6395 { tree specs, attrs;
6396 split_specs_attrs (yyvsp[-4].ttype, &specs, &attrs);
6397 yyval.ttype = grokfield (yyvsp[-3].ttype, specs, yyvsp[0].ttype, yyvsp[-2].ttype,
6398 build_tree_list (yyvsp[-1].ttype, attrs)); ;
6399 break;}
6400 case 515:
6401 #line 2544 "parse.y"
6402 { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
6403 build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
6404 break;}
6405 case 516:
6406 #line 2547 "parse.y"
6407 { yyval.ttype = do_class_using_decl (yyvsp[0].ttype); ;
6408 break;}
6409 case 517:
6410 #line 2553 "parse.y"
6411 { yyval.ttype = NULL_TREE; ;
6412 break;}
6413 case 519:
6414 #line 2556 "parse.y"
6415 {
6416 /* In this context, void_type_node encodes
6417 friends. They have been recorded elsewhere. */
6418 if (yyval.ttype == void_type_node)
6419 yyval.ttype = yyvsp[0].ttype;
6420 else
6421 yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype);
6422 ;
6423 break;}
6424 case 520:
6425 #line 2568 "parse.y"
6426 { yyval.ttype = NULL_TREE; ;
6427 break;}
6428 case 522:
6429 #line 2571 "parse.y"
6430 {
6431 /* In this context, void_type_node encodes
6432 friends. They have been recorded elsewhere. */
6433 if (yyval.ttype == void_type_node)
6434 yyval.ttype = yyvsp[0].ttype;
6435 else
6436 yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype);
6437 ;
6438 break;}
6439 case 527:
6440 #line 2593 "parse.y"
6441 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6442 &prefix_attributes);
6443 yyvsp[-4].ttype = current_declspecs;
6444 yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6445 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6446 break;}
6447 case 528:
6448 #line 2599 "parse.y"
6449 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6450 &prefix_attributes);
6451 yyvsp[-4].ttype = current_declspecs;
6452 yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6453 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6454 break;}
6455 case 529:
6456 #line 2608 "parse.y"
6457 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6458 &prefix_attributes);
6459 yyvsp[-4].ttype = current_declspecs;
6460 yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6461 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6462 break;}
6463 case 530:
6464 #line 2614 "parse.y"
6465 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6466 &prefix_attributes);
6467 yyvsp[-4].ttype = current_declspecs;
6468 yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6469 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6470 break;}
6471 case 531:
6472 #line 2620 "parse.y"
6473 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6474 &prefix_attributes);
6475 yyvsp[-4].ttype = current_declspecs;
6476 yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6477 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6478 break;}
6479 case 532:
6480 #line 2626 "parse.y"
6481 { split_specs_attrs (yyvsp[-3].ttype, &current_declspecs,
6482 &prefix_attributes);
6483 yyvsp[-3].ttype = current_declspecs;
6484 yyval.ttype = grokbitfield (NULL_TREE, current_declspecs, yyvsp[-1].ttype);
6485 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6486 break;}
6487 case 533:
6488 #line 2635 "parse.y"
6489 { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6490 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6491 break;}
6492 case 534:
6493 #line 2638 "parse.y"
6494 { yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6495 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6496 break;}
6497 case 535:
6498 #line 2644 "parse.y"
6499 { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6500 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6501 break;}
6502 case 536:
6503 #line 2647 "parse.y"
6504 { yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6505 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6506 break;}
6507 case 537:
6508 #line 2650 "parse.y"
6509 { yyval.ttype = grokbitfield (NULL_TREE, current_declspecs, yyvsp[-1].ttype);
6510 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6511 break;}
6512 case 539:
6513 #line 2661 "parse.y"
6514 { TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
6515 break;}
6516 case 540:
6517 #line 2666 "parse.y"
6518 { yyval.ttype = build_enumerator (yyval.ttype, NULL_TREE); ;
6519 break;}
6520 case 541:
6521 #line 2668 "parse.y"
6522 { yyval.ttype = build_enumerator (yyval.ttype, yyvsp[0].ttype); ;
6523 break;}
6524 case 542:
6525 #line 2674 "parse.y"
6526 { yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
6527 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
6528 break;}
6529 case 543:
6530 #line 2677 "parse.y"
6531 { yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE);
6532 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
6533 break;}
6534 case 544:
6535 #line 2682 "parse.y"
6536 {
6537 if (pedantic)
6538 pedwarn ("ANSI C++ forbids array dimensions with parenthesized type in new");
6539 yyval.ftype.t = build_parse_node (ARRAY_REF, TREE_VALUE (yyvsp[-4].ftype.t), yyvsp[-1].ttype);
6540 yyval.ftype.t = build_decl_list (TREE_PURPOSE (yyvsp[-4].ftype.t), yyval.ftype.t);
6541 yyval.ftype.new_type_flag = yyvsp[-4].ftype.new_type_flag;
6542 ;
6543 break;}
6544 case 545:
6545 #line 2693 "parse.y"
6546 { yyval.ttype = NULL_TREE; ;
6547 break;}
6548 case 546:
6549 #line 2695 "parse.y"
6550 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
6551 break;}
6552 case 547:
6553 #line 2700 "parse.y"
6554 { yyval.ftype.t = IDENTIFIER_AS_LIST (yyvsp[0].ttype);
6555 yyval.ftype.new_type_flag = 0; ;
6556 break;}
6557 case 548:
6558 #line 2703 "parse.y"
6559 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ftype.t);
6560 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
6561 break;}
6562 case 549:
6563 #line 2712 "parse.y"
6564 { yyval.itype = suspend_momentary (); ;
6565 break;}
6566 case 550:
6567 #line 2717 "parse.y"
6568 { resume_momentary ((int) yyvsp[-1].itype); yyval.ttype = yyvsp[0].ttype; ;
6569 break;}
6570 case 551:
6571 #line 2723 "parse.y"
6572 { resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = yyvsp[-1].ttype; ;
6573 break;}
6574 case 552:
6575 #line 2725 "parse.y"
6576 { resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = yyvsp[-1].ttype; ;
6577 break;}
6578 case 553:
6579 #line 2727 "parse.y"
6580 { resume_momentary ((int) yyvsp[-1].itype); yyval.ttype = empty_parms (); ;
6581 break;}
6582 case 554:
6583 #line 2729 "parse.y"
6584 { resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = NULL_TREE; ;
6585 break;}
6586 case 555:
6587 #line 2736 "parse.y"
6588 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6589 break;}
6590 case 556:
6591 #line 2738 "parse.y"
6592 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6593 break;}
6594 case 557:
6595 #line 2740 "parse.y"
6596 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
6597 break;}
6598 case 558:
6599 #line 2742 "parse.y"
6600 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
6601 break;}
6602 case 559:
6603 #line 2744 "parse.y"
6604 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
6605 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
6606 ;
6607 break;}
6608 case 561:
6609 #line 2752 "parse.y"
6610 {
6611 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6612 {
6613 yyval.ttype = lookup_name (yyvsp[0].ttype, 1);
6614 if (current_class_type
6615 && TYPE_BEING_DEFINED (current_class_type)
6616 && ! IDENTIFIER_CLASS_VALUE (yyvsp[0].ttype))
6617 {
6618 /* Remember that this name has been used in the class
6619 definition, as per [class.scope0] */
6620 pushdecl_class_level (yyval.ttype);
6621 }
6622 }
6623 else
6624 yyval.ttype = yyvsp[0].ttype;
6625 ;
6626 break;}
6627 case 562:
6628 #line 2769 "parse.y"
6629 {
6630 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6631 yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype);
6632 else
6633 yyval.ttype = yyvsp[0].ttype;
6634 got_scope = NULL_TREE;
6635 ;
6636 break;}
6637 case 565:
6638 #line 2782 "parse.y"
6639 { yyval.ttype = yyvsp[0].ttype; ;
6640 break;}
6641 case 566:
6642 #line 2787 "parse.y"
6643 { yyval.ttype = get_type_decl (yyvsp[0].ttype); ;
6644 break;}
6645 case 567:
6646 #line 2792 "parse.y"
6647 { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6648 break;}
6649 case 568:
6650 #line 2794 "parse.y"
6651 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
6652 break;}
6653 case 569:
6654 #line 2796 "parse.y"
6655 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
6656 break;}
6657 case 570:
6658 #line 2798 "parse.y"
6659 { yyval.ttype = yyvsp[-1].ttype; ;
6660 break;}
6661 case 571:
6662 #line 2800 "parse.y"
6663 { push_nested_class (yyvsp[-1].ttype, 3);
6664 yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype);
6665 TREE_COMPLEXITY (yyval.ttype) = current_class_depth; ;
6666 break;}
6667 case 573:
6668 #line 2811 "parse.y"
6669 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6670 break;}
6671 case 574:
6672 #line 2813 "parse.y"
6673 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6674 break;}
6675 case 575:
6676 #line 2815 "parse.y"
6677 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
6678 break;}
6679 case 576:
6680 #line 2817 "parse.y"
6681 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
6682 break;}
6683 case 577:
6684 #line 2819 "parse.y"
6685 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
6686 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
6687 ;
6688 break;}
6689 case 579:
6690 #line 2827 "parse.y"
6691 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6692 break;}
6693 case 580:
6694 #line 2829 "parse.y"
6695 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6696 break;}
6697 case 581:
6698 #line 2831 "parse.y"
6699 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
6700 break;}
6701 case 582:
6702 #line 2833 "parse.y"
6703 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
6704 break;}
6705 case 583:
6706 #line 2835 "parse.y"
6707 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
6708 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
6709 ;
6710 break;}
6711 case 585:
6712 #line 2843 "parse.y"
6713 { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6714 break;}
6715 case 586:
6716 #line 2845 "parse.y"
6717 { yyval.ttype = yyvsp[-1].ttype; ;
6718 break;}
6719 case 587:
6720 #line 2847 "parse.y"
6721 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
6722 break;}
6723 case 588:
6724 #line 2849 "parse.y"
6725 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
6726 break;}
6727 case 589:
6728 #line 2851 "parse.y"
6729 { if (OP0 (yyval.ttype) != current_class_type)
6730 {
6731 push_nested_class (OP0 (yyval.ttype), 3);
6732 TREE_COMPLEXITY (yyval.ttype) = current_class_depth;
6733 }
6734 ;
6735 break;}
6736 case 590:
6737 #line 2858 "parse.y"
6738 { got_scope = NULL_TREE;
6739 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype);
6740 if (yyvsp[-1].ttype != current_class_type)
6741 {
6742 push_nested_class (yyvsp[-1].ttype, 3);
6743 TREE_COMPLEXITY (yyval.ttype) = current_class_depth;
6744 }
6745 ;
6746 break;}
6747 case 591:
6748 #line 2870 "parse.y"
6749 { got_scope = NULL_TREE;
6750 yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ;
6751 break;}
6752 case 592:
6753 #line 2873 "parse.y"
6754 { got_scope = NULL_TREE;
6755 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6756 break;}
6757 case 593:
6758 #line 2879 "parse.y"
6759 { got_scope = NULL_TREE;
6760 yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ;
6761 break;}
6762 case 594:
6763 #line 2882 "parse.y"
6764 { got_scope = NULL_TREE;
6765 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6766 break;}
6767 case 596:
6768 #line 2889 "parse.y"
6769 { yyval.ttype = yyvsp[0].ttype; ;
6770 break;}
6771 case 597:
6772 #line 2894 "parse.y"
6773 { yyval.ttype = build_functional_cast (yyvsp[-3].ftype.t, yyvsp[-1].ttype); ;
6774 break;}
6775 case 598:
6776 #line 2896 "parse.y"
6777 { yyval.ttype = reparse_decl_as_expr (yyvsp[-3].ftype.t, yyvsp[-1].ttype); ;
6778 break;}
6779 case 599:
6780 #line 2898 "parse.y"
6781 { yyval.ttype = reparse_absdcl_as_expr (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6782 break;}
6783 case 604:
6784 #line 2910 "parse.y"
6785 { yyval.ttype = yyvsp[0].ttype; ;
6786 break;}
6787 case 605:
6788 #line 2912 "parse.y"
6789 { got_scope = yyval.ttype = make_typename_type (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
6790 break;}
6791 case 606:
6792 #line 2919 "parse.y"
6793 {
6794 if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE)
6795 {
6796 yyval.ttype = lastiddecl;
6797 /* Remember that this name has been used in the class
6798 definition, as per [class.scope0] */
6799 if (current_class_type
6800 && TYPE_BEING_DEFINED (current_class_type)
6801 && ! IDENTIFIER_CLASS_VALUE (yyvsp[-1].ttype))
6802 pushdecl_class_level (yyval.ttype);
6803 }
6804 got_scope = yyval.ttype = TREE_TYPE (yyval.ttype);
6805 ;
6806 break;}
6807 case 607:
6808 #line 2933 "parse.y"
6809 {
6810 if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE)
6811 yyval.ttype = lastiddecl;
6812 got_scope = yyval.ttype = TREE_TYPE (yyval.ttype);
6813 ;
6814 break;}
6815 case 608:
6816 #line 2939 "parse.y"
6817 {
6818 if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
6819 yyval.ttype = lastiddecl;
6820 got_scope = yyval.ttype;
6821 ;
6822 break;}
6823 case 609:
6824 #line 2945 "parse.y"
6825 { got_scope = yyval.ttype = complete_type (TREE_TYPE (yyvsp[-1].ttype)); ;
6826 break;}
6827 case 611:
6828 #line 2961 "parse.y"
6829 { yyval.ttype = yyvsp[0].ttype; ;
6830 break;}
6831 case 612:
6832 #line 2966 "parse.y"
6833 {
6834 if (TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype)) == 't')
6835 yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype);
6836 else if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6837 cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
6838 else
6839 {
6840 yyval.ttype = yyvsp[0].ttype;
6841 if (TREE_CODE (yyval.ttype) == TYPE_DECL)
6842 yyval.ttype = TREE_TYPE (yyval.ttype);
6843 }
6844 ;
6845 break;}
6846 case 613:
6847 #line 2979 "parse.y"
6848 { yyval.ttype = TREE_TYPE (yyvsp[0].ttype); ;
6849 break;}
6850 case 614:
6851 #line 2981 "parse.y"
6852 { yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6853 break;}
6854 case 615:
6855 #line 2983 "parse.y"
6856 { yyval.ttype = make_typename_type (yyvsp[-2].ttype, yyvsp[0].ttype); ;
6857 break;}
6858 case 616:
6859 #line 2988 "parse.y"
6860 {
6861 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6862 cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
6863 ;
6864 break;}
6865 case 617:
6866 #line 2993 "parse.y"
6867 {
6868 if (TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype)) == 't')
6869 yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype);
6870 else if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6871 cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
6872 else
6873 {
6874 yyval.ttype = yyvsp[0].ttype;
6875 if (TREE_CODE (yyval.ttype) == TYPE_DECL)
6876 yyval.ttype = TREE_TYPE (yyval.ttype);
6877 }
6878 ;
6879 break;}
6880 case 618:
6881 #line 3006 "parse.y"
6882 { got_scope = yyval.ttype = make_typename_type (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
6883 break;}
6884 case 619:
6885 #line 3008 "parse.y"
6886 { got_scope = yyval.ttype = make_typename_type (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
6887 break;}
6888 case 620:
6889 #line 3013 "parse.y"
6890 {
6891 if (TREE_CODE (yyvsp[-1].ttype) != IDENTIFIER_NODE)
6892 yyvsp[-1].ttype = lastiddecl;
6893
6894 got_scope = yyval.ttype = complete_type (TREE_TYPE (yyvsp[-1].ttype));
6895
6896 if (yyval.ttype == error_mark_node)
6897 cp_error ("`%T' is not a class or namespace", yyvsp[-1].ttype);
6898 ;
6899 break;}
6900 case 621:
6901 #line 3023 "parse.y"
6902 {
6903 if (TREE_CODE (yyvsp[-1].ttype) != IDENTIFIER_NODE)
6904 yyval.ttype = lastiddecl;
6905 got_scope = yyval.ttype = complete_type (TREE_TYPE (yyval.ttype));
6906 ;
6907 break;}
6908 case 622:
6909 #line 3029 "parse.y"
6910 { got_scope = yyval.ttype = complete_type (TREE_TYPE (yyval.ttype)); ;
6911 break;}
6912 case 625:
6913 #line 3033 "parse.y"
6914 {
6915 if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
6916 yyval.ttype = lastiddecl;
6917 got_scope = yyval.ttype;
6918 ;
6919 break;}
6920 case 626:
6921 #line 3042 "parse.y"
6922 { yyval.ttype = build_min_nt (TEMPLATE_ID_EXPR, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
6923 break;}
6924 case 627:
6925 #line 3047 "parse.y"
6926 {
6927 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6928 yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype);
6929 else
6930 yyval.ttype = yyvsp[0].ttype;
6931 got_scope = NULL_TREE;
6932 ;
6933 break;}
6934 case 629:
6935 #line 3056 "parse.y"
6936 { yyval.ttype = yyvsp[0].ttype; ;
6937 break;}
6938 case 630:
6939 #line 3061 "parse.y"
6940 { got_scope = NULL_TREE; ;
6941 break;}
6942 case 631:
6943 #line 3063 "parse.y"
6944 { yyval.ttype = yyvsp[-1].ttype; got_scope = NULL_TREE; ;
6945 break;}
6946 case 632:
6947 #line 3070 "parse.y"
6948 { got_scope = void_type_node; ;
6949 break;}
6950 case 633:
6951 #line 3076 "parse.y"
6952 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6953 break;}
6954 case 634:
6955 #line 3078 "parse.y"
6956 { yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ;
6957 break;}
6958 case 635:
6959 #line 3080 "parse.y"
6960 { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6961 break;}
6962 case 636:
6963 #line 3082 "parse.y"
6964 { yyval.ttype = make_reference_declarator (yyvsp[0].ttype, NULL_TREE); ;
6965 break;}
6966 case 637:
6967 #line 3084 "parse.y"
6968 { tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE);
6969 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, arg);
6970 ;
6971 break;}
6972 case 638:
6973 #line 3088 "parse.y"
6974 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
6975 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
6976 ;
6977 break;}
6978 case 640:
6979 #line 3097 "parse.y"
6980 { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
6981 break;}
6982 case 641:
6983 #line 3099 "parse.y"
6984 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
6985 break;}
6986 case 642:
6987 #line 3105 "parse.y"
6988 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6989 break;}
6990 case 643:
6991 #line 3107 "parse.y"
6992 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
6993 break;}
6994 case 644:
6995 #line 3109 "parse.y"
6996 { yyval.ttype = make_pointer_declarator (yyvsp[0].ftype.t, NULL_TREE); ;
6997 break;}
6998 case 645:
6999 #line 3111 "parse.y"
7000 { yyval.ttype = make_pointer_declarator (NULL_TREE, NULL_TREE); ;
7001 break;}
7002 case 646:
7003 #line 3113 "parse.y"
7004 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7005 break;}
7006 case 647:
7007 #line 3115 "parse.y"
7008 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
7009 break;}
7010 case 648:
7011 #line 3117 "parse.y"
7012 { yyval.ttype = make_reference_declarator (yyvsp[0].ftype.t, NULL_TREE); ;
7013 break;}
7014 case 649:
7015 #line 3119 "parse.y"
7016 { yyval.ttype = make_reference_declarator (NULL_TREE, NULL_TREE); ;
7017 break;}
7018 case 650:
7019 #line 3121 "parse.y"
7020 { tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE);
7021 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, arg);
7022 ;
7023 break;}
7024 case 651:
7025 #line 3125 "parse.y"
7026 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
7027 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
7028 ;
7029 break;}
7030 case 653:
7031 #line 3134 "parse.y"
7032 { yyval.ttype = yyvsp[-1].ttype; ;
7033 break;}
7034 case 655:
7035 #line 3138 "parse.y"
7036 { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7037 break;}
7038 case 656:
7039 #line 3140 "parse.y"
7040 { yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
7041 break;}
7042 case 657:
7043 #line 3142 "parse.y"
7044 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
7045 break;}
7046 case 658:
7047 #line 3144 "parse.y"
7048 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
7049 break;}
7050 case 659:
7051 #line 3146 "parse.y"
7052 { yyval.ttype = make_call_declarator (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7053 break;}
7054 case 660:
7055 #line 3148 "parse.y"
7056 { set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7057 break;}
7058 case 661:
7059 #line 3150 "parse.y"
7060 { set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7061 break;}
7062 case 662:
7063 #line 3152 "parse.y"
7064 { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
7065 break;}
7066 case 663:
7067 #line 3154 "parse.y"
7068 { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, NULL_TREE); ;
7069 break;}
7070 case 670:
7071 #line 3177 "parse.y"
7072 { if (pedantic)
7073 pedwarn ("ANSI C++ forbids label declarations"); ;
7074 break;}
7075 case 673:
7076 #line 3188 "parse.y"
7077 { tree link;
7078 for (link = yyvsp[-1].ttype; link; link = TREE_CHAIN (link))
7079 {
7080 tree label = shadow_label (TREE_VALUE (link));
7081 C_DECLARED_LABEL_FLAG (label) = 1;
7082 declare_nonlocal_label (label);
7083 }
7084 ;
7085 break;}
7086 case 674:
7087 #line 3202 "parse.y"
7088 {;
7089 break;}
7090 case 676:
7091 #line 3208 "parse.y"
7092 { yyval.ttype = begin_compound_stmt (0); ;
7093 break;}
7094 case 677:
7095 #line 3210 "parse.y"
7096 { yyval.ttype = finish_compound_stmt (0, yyvsp[-1].ttype); ;
7097 break;}
7098 case 678:
7099 #line 3215 "parse.y"
7100 {
7101 yyval.ttype = begin_if_stmt ();
7102 cond_stmt_keyword = "if";
7103 ;
7104 break;}
7105 case 679:
7106 #line 3220 "parse.y"
7107 { finish_if_stmt_cond (yyvsp[0].ttype, yyvsp[-1].ttype); ;
7108 break;}
7109 case 680:
7110 #line 3222 "parse.y"
7111 { yyval.ttype = finish_then_clause (yyvsp[-3].ttype); ;
7112 break;}
7113 case 682:
7114 #line 3227 "parse.y"
7115 { yyval.ttype = begin_compound_stmt (0); ;
7116 break;}
7117 case 683:
7118 #line 3229 "parse.y"
7119 { yyval.ttype = finish_compound_stmt (0, yyvsp[-1].ttype); ;
7120 break;}
7121 case 684:
7122 #line 3234 "parse.y"
7123 {;
7124 break;}
7125 case 686:
7126 #line 3240 "parse.y"
7127 { finish_stmt (); ;
7128 break;}
7129 case 687:
7130 #line 3242 "parse.y"
7131 { finish_expr_stmt (yyvsp[-1].ttype); ;
7132 break;}
7133 case 688:
7134 #line 3244 "parse.y"
7135 { begin_else_clause (); ;
7136 break;}
7137 case 689:
7138 #line 3246 "parse.y"
7139 {
7140 finish_else_clause (yyvsp[-3].ttype);
7141 finish_if_stmt ();
7142 ;
7143 break;}
7144 case 690:
7145 #line 3251 "parse.y"
7146 { finish_if_stmt (); ;
7147 break;}
7148 case 691:
7149 #line 3253 "parse.y"
7150 {
7151 yyval.ttype = begin_while_stmt ();
7152 cond_stmt_keyword = "while";
7153 ;
7154 break;}
7155 case 692:
7156 #line 3258 "parse.y"
7157 { finish_while_stmt_cond (yyvsp[0].ttype, yyvsp[-1].ttype); ;
7158 break;}
7159 case 693:
7160 #line 3260 "parse.y"
7161 { finish_while_stmt (yyvsp[-3].ttype); ;
7162 break;}
7163 case 694:
7164 #line 3262 "parse.y"
7165 { yyval.ttype = begin_do_stmt (); ;
7166 break;}
7167 case 695:
7168 #line 3264 "parse.y"
7169 {
7170 finish_do_body (yyvsp[-2].ttype);
7171 cond_stmt_keyword = "do";
7172 ;
7173 break;}
7174 case 696:
7175 #line 3269 "parse.y"
7176 { finish_do_stmt (yyvsp[-1].ttype, yyvsp[-5].ttype); ;
7177 break;}
7178 case 697:
7179 #line 3271 "parse.y"
7180 { yyval.ttype = begin_for_stmt (); ;
7181 break;}
7182 case 698:
7183 #line 3273 "parse.y"
7184 { finish_for_init_stmt (yyvsp[-2].ttype); ;
7185 break;}
7186 case 699:
7187 #line 3275 "parse.y"
7188 { finish_for_cond (yyvsp[-1].ttype, yyvsp[-5].ttype); ;
7189 break;}
7190 case 700:
7191 #line 3277 "parse.y"
7192 { finish_for_expr (yyvsp[-1].ttype, yyvsp[-8].ttype); ;
7193 break;}
7194 case 701:
7195 #line 3279 "parse.y"
7196 { finish_for_stmt (yyvsp[-3].ttype, yyvsp[-10].ttype); ;
7197 break;}
7198 case 702:
7199 #line 3281 "parse.y"
7200 { begin_switch_stmt (); ;
7201 break;}
7202 case 703:
7203 #line 3283 "parse.y"
7204 { yyval.ttype = finish_switch_cond (yyvsp[-1].ttype); ;
7205 break;}
7206 case 704:
7207 #line 3285 "parse.y"
7208 { finish_switch_stmt (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
7209 break;}
7210 case 705:
7211 #line 3287 "parse.y"
7212 { finish_case_label (yyvsp[-1].ttype, NULL_TREE); ;
7213 break;}
7214 case 707:
7215 #line 3290 "parse.y"
7216 { finish_case_label (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
7217 break;}
7218 case 709:
7219 #line 3293 "parse.y"
7220 { finish_case_label (NULL_TREE, NULL_TREE); ;
7221 break;}
7222 case 711:
7223 #line 3296 "parse.y"
7224 { finish_break_stmt (); ;
7225 break;}
7226 case 712:
7227 #line 3298 "parse.y"
7228 { finish_continue_stmt (); ;
7229 break;}
7230 case 713:
7231 #line 3300 "parse.y"
7232 { finish_return_stmt (NULL_TREE); ;
7233 break;}
7234 case 714:
7235 #line 3302 "parse.y"
7236 { finish_return_stmt (yyvsp[-1].ttype); ;
7237 break;}
7238 case 715:
7239 #line 3304 "parse.y"
7240 {
7241 finish_asm_stmt (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE,
7242 NULL_TREE);
7243 ;
7244 break;}
7245 case 716:
7246 #line 3310 "parse.y"
7247 {
7248 finish_asm_stmt (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE,
7249 NULL_TREE);
7250 ;
7251 break;}
7252 case 717:
7253 #line 3316 "parse.y"
7254 { finish_asm_stmt (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE); ;
7255 break;}
7256 case 718:
7257 #line 3320 "parse.y"
7258 { finish_asm_stmt (yyvsp[-10].ttype, yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype); ;
7259 break;}
7260 case 719:
7261 #line 3322 "parse.y"
7262 {
7263 if (pedantic)
7264 pedwarn ("ANSI C++ forbids computed gotos");
7265 finish_goto_stmt (yyvsp[-1].ttype);
7266 ;
7267 break;}
7268 case 720:
7269 #line 3328 "parse.y"
7270 { finish_goto_stmt (yyvsp[-1].ttype); ;
7271 break;}
7272 case 721:
7273 #line 3330 "parse.y"
7274 { finish_stmt (); ;
7275 break;}
7276 case 722:
7277 #line 3332 "parse.y"
7278 { error ("label must be followed by statement");
7279 yyungetc ('}', 0);
7280 finish_stmt (); ;
7281 break;}
7282 case 723:
7283 #line 3336 "parse.y"
7284 { finish_stmt (); ;
7285 break;}
7286 case 725:
7287 #line 3342 "parse.y"
7288 {
7289 if (! current_function_parms_stored)
7290 store_parm_decls ();
7291 expand_start_early_try_stmts ();
7292 ;
7293 break;}
7294 case 726:
7295 #line 3348 "parse.y"
7296 { expand_start_all_catch (); ;
7297 break;}
7298 case 727:
7299 #line 3350 "parse.y"
7300 {
7301 int nested = (hack_decl_function_context
7302 (current_function_decl) != NULL_TREE);
7303 expand_end_all_catch ();
7304 finish_function (lineno, (int)yyvsp[-3].itype, nested);
7305 ;
7306 break;}
7307 case 728:
7308 #line 3360 "parse.y"
7309 { yyval.ttype = begin_try_block (); ;
7310 break;}
7311 case 729:
7312 #line 3362 "parse.y"
7313 { finish_try_block (yyvsp[-1].ttype); ;
7314 break;}
7315 case 730:
7316 #line 3364 "parse.y"
7317 { finish_handler_sequence (yyvsp[-3].ttype); ;
7318 break;}
7319 case 733:
7320 #line 3374 "parse.y"
7321 { yyval.ttype = begin_handler(); ;
7322 break;}
7323 case 734:
7324 #line 3376 "parse.y"
7325 { finish_handler_parms (yyvsp[-1].ttype); ;
7326 break;}
7327 case 735:
7328 #line 3378 "parse.y"
7329 { finish_handler (yyvsp[-3].ttype); ;
7330 break;}
7331 case 738:
7332 #line 3388 "parse.y"
7333 { expand_start_catch_block (NULL_TREE, NULL_TREE); ;
7334 break;}
7335 case 739:
7336 #line 3404 "parse.y"
7337 { check_for_new_type ("inside exception declarations", yyvsp[-1].ftype);
7338 expand_start_catch_block (TREE_PURPOSE (yyvsp[-1].ftype.t),
7339 TREE_VALUE (yyvsp[-1].ftype.t)); ;
7340 break;}
7341 case 740:
7342 #line 3411 "parse.y"
7343 { tree label;
7344 do_label:
7345 label = define_label (input_filename, lineno, yyvsp[-1].ttype);
7346 if (label && ! minimal_parse_mode)
7347 expand_label (label);
7348 ;
7349 break;}
7350 case 741:
7351 #line 3418 "parse.y"
7352 { goto do_label; ;
7353 break;}
7354 case 742:
7355 #line 3420 "parse.y"
7356 { goto do_label; ;
7357 break;}
7358 case 743:
7359 #line 3422 "parse.y"
7360 { goto do_label; ;
7361 break;}
7362 case 744:
7363 #line 3427 "parse.y"
7364 { if (yyvsp[-1].ttype) cplus_expand_expr_stmt (yyvsp[-1].ttype); ;
7365 break;}
7366 case 746:
7367 #line 3430 "parse.y"
7368 { if (pedantic)
7369 pedwarn ("ANSI C++ forbids compound statements inside for initializations");
7370 ;
7371 break;}
7372 case 747:
7373 #line 3439 "parse.y"
7374 { emit_line_note (input_filename, lineno);
7375 yyval.ttype = NULL_TREE; ;
7376 break;}
7377 case 748:
7378 #line 3442 "parse.y"
7379 { emit_line_note (input_filename, lineno); ;
7380 break;}
7381 case 749:
7382 #line 3447 "parse.y"
7383 { yyval.ttype = NULL_TREE; ;
7384 break;}
7385 case 751:
7386 #line 3450 "parse.y"
7387 { yyval.ttype = NULL_TREE; ;
7388 break;}
7389 case 752:
7390 #line 3457 "parse.y"
7391 { yyval.ttype = NULL_TREE; ;
7392 break;}
7393 case 755:
7394 #line 3464 "parse.y"
7395 { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
7396 break;}
7397 case 756:
7398 #line 3469 "parse.y"
7399 { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[-1].ttype); ;
7400 break;}
7401 case 757:
7402 #line 3474 "parse.y"
7403 { yyval.ttype = tree_cons (NULL_TREE, yyval.ttype, NULL_TREE); ;
7404 break;}
7405 case 758:
7406 #line 3476 "parse.y"
7407 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
7408 break;}
7409 case 759:
7410 #line 3487 "parse.y"
7411 {
7412 yyval.ttype = empty_parms();
7413 ;
7414 break;}
7415 case 761:
7416 #line 3492 "parse.y"
7417 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ftype.t, void_list_node);
7418 TREE_PARMLIST (yyval.ttype) = 1;
7419 check_for_new_type ("inside parameter list", yyvsp[0].ftype); ;
7420 break;}
7421 case 762:
7422 #line 3501 "parse.y"
7423 {
7424 yyval.ttype = chainon (yyval.ttype, void_list_node);
7425 TREE_PARMLIST (yyval.ttype) = 1;
7426 ;
7427 break;}
7428 case 763:
7429 #line 3506 "parse.y"
7430 {
7431 TREE_PARMLIST (yyval.ttype) = 1;
7432 ;
7433 break;}
7434 case 764:
7435 #line 3511 "parse.y"
7436 {
7437 TREE_PARMLIST (yyval.ttype) = 1;
7438 ;
7439 break;}
7440 case 765:
7441 #line 3515 "parse.y"
7442 {
7443 yyval.ttype = build_tree_list (NULL_TREE, yyvsp[-1].ftype.t);
7444 TREE_PARMLIST (yyval.ttype) = 1;
7445 ;
7446 break;}
7447 case 766:
7448 #line 3520 "parse.y"
7449 {
7450 yyval.ttype = NULL_TREE;
7451 ;
7452 break;}
7453 case 767:
7454 #line 3524 "parse.y"
7455 {
7456 TREE_PARMLIST (yyval.ttype) = 1;
7457 ;
7458 break;}
7459 case 768:
7460 #line 3528 "parse.y"
7461 {
7462 TREE_PARMLIST (yyval.ttype) = 1;
7463 ;
7464 break;}
7465 case 769:
7466 #line 3532 "parse.y"
7467 {
7468 yyval.ttype = build_tree_list (NULL_TREE, yyvsp[-1].ftype.t);
7469 TREE_PARMLIST (yyval.ttype) = 1;
7470 ;
7471 break;}
7472 case 770:
7473 #line 3537 "parse.y"
7474 {
7475 /* This helps us recover from really nasty
7476 parse errors, for example, a missing right
7477 parenthesis. */
7478 yyerror ("possibly missing ')'");
7479 yyval.ttype = chainon (yyval.ttype, void_list_node);
7480 TREE_PARMLIST (yyval.ttype) = 1;
7481 yyungetc (':', 0);
7482 yychar = ')';
7483 ;
7484 break;}
7485 case 771:
7486 #line 3548 "parse.y"
7487 {
7488 /* This helps us recover from really nasty
7489 parse errors, for example, a missing right
7490 parenthesis. */
7491 yyerror ("possibly missing ')'");
7492 yyval.ttype = tree_cons (NULL_TREE, yyvsp[-1].ftype.t, void_list_node);
7493 TREE_PARMLIST (yyval.ttype) = 1;
7494 yyungetc (':', 0);
7495 yychar = ')';
7496 ;
7497 break;}
7498 case 772:
7499 #line 3563 "parse.y"
7500 { maybe_snarf_defarg (); ;
7501 break;}
7502 case 773:
7503 #line 3565 "parse.y"
7504 { yyval.ttype = yyvsp[0].ttype; ;
7505 break;}
7506 case 776:
7507 #line 3576 "parse.y"
7508 { check_for_new_type ("in a parameter list", yyvsp[0].ftype);
7509 yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ftype.t); ;
7510 break;}
7511 case 777:
7512 #line 3579 "parse.y"
7513 { check_for_new_type ("in a parameter list", yyvsp[-1].ftype);
7514 yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-1].ftype.t); ;
7515 break;}
7516 case 778:
7517 #line 3582 "parse.y"
7518 { check_for_new_type ("in a parameter list", yyvsp[0].ftype);
7519 yyval.ttype = chainon (yyval.ttype, yyvsp[0].ftype.t); ;
7520 break;}
7521 case 779:
7522 #line 3585 "parse.y"
7523 { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
7524 break;}
7525 case 780:
7526 #line 3587 "parse.y"
7527 { yyval.ttype = chainon (yyval.ttype, build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype)); ;
7528 break;}
7529 case 782:
7530 #line 3593 "parse.y"
7531 { check_for_new_type ("in a parameter list", yyvsp[-1].ftype);
7532 yyval.ttype = build_tree_list (NULL_TREE, yyvsp[-1].ftype.t); ;
7533 break;}
7534 case 783:
7535 #line 3603 "parse.y"
7536 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
7537 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag;
7538 yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype); ;
7539 break;}
7540 case 784:
7541 #line 3607 "parse.y"
7542 { yyval.ftype.t = build_tree_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
7543 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
7544 break;}
7545 case 785:
7546 #line 3610 "parse.y"
7547 { yyval.ftype.t = build_tree_list (get_decl_list (yyvsp[-1].ftype.t), yyvsp[0].ttype);
7548 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
7549 break;}
7550 case 786:
7551 #line 3613 "parse.y"
7552 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
7553 yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype);
7554 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
7555 break;}
7556 case 787:
7557 #line 3617 "parse.y"
7558 { tree specs = strip_attrs (yyvsp[0].ftype.t);
7559 yyval.ftype.t = build_tree_list (specs, NULL_TREE);
7560 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
7561 break;}
7562 case 788:
7563 #line 3621 "parse.y"
7564 { tree specs = strip_attrs (yyvsp[-1].ttype);
7565 yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype);
7566 yyval.ftype.new_type_flag = 0; ;
7567 break;}
7568 case 789:
7569 #line 3628 "parse.y"
7570 { yyval.ftype.t = build_tree_list (NULL_TREE, yyvsp[0].ftype.t);
7571 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
7572 break;}
7573 case 790:
7574 #line 3631 "parse.y"
7575 { yyval.ftype.t = build_tree_list (yyvsp[0].ttype, yyvsp[-1].ftype.t);
7576 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
7577 break;}
7578 case 793:
7579 #line 3642 "parse.y"
7580 { see_typename (); ;
7581 break;}
7582 case 794:
7583 #line 3647 "parse.y"
7584 {
7585 error ("type specifier omitted for parameter");
7586 yyval.ttype = build_tree_list (integer_type_node, NULL_TREE);
7587 ;
7588 break;}
7589 case 795:
7590 #line 3652 "parse.y"
7591 {
7592 error ("type specifier omitted for parameter");
7593 if (TREE_CODE (yyval.ttype) == SCOPE_REF
7594 && (TREE_CODE (TREE_OPERAND (yyval.ttype, 0)) == TEMPLATE_TYPE_PARM
7595 || TREE_CODE (TREE_OPERAND (yyval.ttype, 0)) == TEMPLATE_TEMPLATE_PARM))
7596 cp_error (" perhaps you want `typename %E' to make it a type", yyval.ttype);
7597 yyval.ttype = build_tree_list (integer_type_node, yyval.ttype);
7598 ;
7599 break;}
7600 case 796:
7601 #line 3664 "parse.y"
7602 { yyval.ttype = NULL_TREE; ;
7603 break;}
7604 case 797:
7605 #line 3666 "parse.y"
7606 { yyval.ttype = yyvsp[-1].ttype; ;
7607 break;}
7608 case 798:
7609 #line 3668 "parse.y"
7610 { yyval.ttype = build_decl_list (NULL_TREE, NULL_TREE); ;
7611 break;}
7612 case 799:
7613 #line 3673 "parse.y"
7614 { yyval.ttype = build_decl_list (NULL_TREE, groktypename(yyvsp[0].ftype.t)); ;
7615 break;}
7616 case 801:
7617 #line 3679 "parse.y"
7618 {
7619 TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype;
7620 yyval.ttype = yyvsp[0].ttype;
7621 ;
7622 break;}
7623 case 802:
7624 #line 3687 "parse.y"
7625 { yyval.ttype = NULL_TREE; ;
7626 break;}
7627 case 803:
7628 #line 3689 "parse.y"
7629 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
7630 break;}
7631 case 804:
7632 #line 3691 "parse.y"
7633 { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
7634 break;}
7635 case 805:
7636 #line 3693 "parse.y"
7637 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
7638 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
7639 ;
7640 break;}
7641 case 806:
7642 #line 3700 "parse.y"
7643 { got_scope = NULL_TREE; ;
7644 break;}
7645 case 807:
7646 #line 3705 "parse.y"
7647 { yyval.ttype = ansi_opname[MULT_EXPR]; ;
7648 break;}
7649 case 808:
7650 #line 3707 "parse.y"
7651 { yyval.ttype = ansi_opname[TRUNC_DIV_EXPR]; ;
7652 break;}
7653 case 809:
7654 #line 3709 "parse.y"
7655 { yyval.ttype = ansi_opname[TRUNC_MOD_EXPR]; ;
7656 break;}
7657 case 810:
7658 #line 3711 "parse.y"
7659 { yyval.ttype = ansi_opname[PLUS_EXPR]; ;
7660 break;}
7661 case 811:
7662 #line 3713 "parse.y"
7663 { yyval.ttype = ansi_opname[MINUS_EXPR]; ;
7664 break;}
7665 case 812:
7666 #line 3715 "parse.y"
7667 { yyval.ttype = ansi_opname[BIT_AND_EXPR]; ;
7668 break;}
7669 case 813:
7670 #line 3717 "parse.y"
7671 { yyval.ttype = ansi_opname[BIT_IOR_EXPR]; ;
7672 break;}
7673 case 814:
7674 #line 3719 "parse.y"
7675 { yyval.ttype = ansi_opname[BIT_XOR_EXPR]; ;
7676 break;}
7677 case 815:
7678 #line 3721 "parse.y"
7679 { yyval.ttype = ansi_opname[BIT_NOT_EXPR]; ;
7680 break;}
7681 case 816:
7682 #line 3723 "parse.y"
7683 { yyval.ttype = ansi_opname[COMPOUND_EXPR]; ;
7684 break;}
7685 case 817:
7686 #line 3725 "parse.y"
7687 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7688 break;}
7689 case 818:
7690 #line 3727 "parse.y"
7691 { yyval.ttype = ansi_opname[LT_EXPR]; ;
7692 break;}
7693 case 819:
7694 #line 3729 "parse.y"
7695 { yyval.ttype = ansi_opname[GT_EXPR]; ;
7696 break;}
7697 case 820:
7698 #line 3731 "parse.y"
7699 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7700 break;}
7701 case 821:
7702 #line 3733 "parse.y"
7703 { yyval.ttype = ansi_assopname[yyvsp[0].code]; ;
7704 break;}
7705 case 822:
7706 #line 3735 "parse.y"
7707 { yyval.ttype = ansi_opname [MODIFY_EXPR]; ;
7708 break;}
7709 case 823:
7710 #line 3737 "parse.y"
7711 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7712 break;}
7713 case 824:
7714 #line 3739 "parse.y"
7715 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7716 break;}
7717 case 825:
7718 #line 3741 "parse.y"
7719 { yyval.ttype = ansi_opname[POSTINCREMENT_EXPR]; ;
7720 break;}
7721 case 826:
7722 #line 3743 "parse.y"
7723 { yyval.ttype = ansi_opname[PREDECREMENT_EXPR]; ;
7724 break;}
7725 case 827:
7726 #line 3745 "parse.y"
7727 { yyval.ttype = ansi_opname[TRUTH_ANDIF_EXPR]; ;
7728 break;}
7729 case 828:
7730 #line 3747 "parse.y"
7731 { yyval.ttype = ansi_opname[TRUTH_ORIF_EXPR]; ;
7732 break;}
7733 case 829:
7734 #line 3749 "parse.y"
7735 { yyval.ttype = ansi_opname[TRUTH_NOT_EXPR]; ;
7736 break;}
7737 case 830:
7738 #line 3751 "parse.y"
7739 { yyval.ttype = ansi_opname[COND_EXPR]; ;
7740 break;}
7741 case 831:
7742 #line 3753 "parse.y"
7743 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7744 break;}
7745 case 832:
7746 #line 3755 "parse.y"
7747 { yyval.ttype = ansi_opname[COMPONENT_REF]; ;
7748 break;}
7749 case 833:
7750 #line 3757 "parse.y"
7751 { yyval.ttype = ansi_opname[MEMBER_REF]; ;
7752 break;}
7753 case 834:
7754 #line 3759 "parse.y"
7755 { yyval.ttype = ansi_opname[CALL_EXPR]; ;
7756 break;}
7757 case 835:
7758 #line 3761 "parse.y"
7759 { yyval.ttype = ansi_opname[ARRAY_REF]; ;
7760 break;}
7761 case 836:
7762 #line 3763 "parse.y"
7763 { yyval.ttype = ansi_opname[NEW_EXPR]; ;
7764 break;}
7765 case 837:
7766 #line 3765 "parse.y"
7767 { yyval.ttype = ansi_opname[DELETE_EXPR]; ;
7768 break;}
7769 case 838:
7770 #line 3767 "parse.y"
7771 { yyval.ttype = ansi_opname[VEC_NEW_EXPR]; ;
7772 break;}
7773 case 839:
7774 #line 3769 "parse.y"
7775 { yyval.ttype = ansi_opname[VEC_DELETE_EXPR]; ;
7776 break;}
7777 case 840:
7778 #line 3772 "parse.y"
7779 { yyval.ttype = grokoptypename (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7780 break;}
7781 case 841:
7782 #line 3774 "parse.y"
7783 { yyval.ttype = ansi_opname[ERROR_MARK]; ;
7784 break;}
7785 }
7786 /* the action file gets copied in in place of this dollarsign */
7787 #line 498 "/usr/lib/bison.simple"
7788 \f
7789 yyvsp -= yylen;
7790 yyssp -= yylen;
7791 #ifdef YYLSP_NEEDED
7792 yylsp -= yylen;
7793 #endif
7794
7795 #if YYDEBUG != 0
7796 if (yydebug)
7797 {
7798 short *ssp1 = yyss - 1;
7799 fprintf (stderr, "state stack now");
7800 while (ssp1 != yyssp)
7801 fprintf (stderr, " %d", *++ssp1);
7802 fprintf (stderr, "\n");
7803 }
7804 #endif
7805
7806 *++yyvsp = yyval;
7807
7808 #ifdef YYLSP_NEEDED
7809 yylsp++;
7810 if (yylen == 0)
7811 {
7812 yylsp->first_line = yylloc.first_line;
7813 yylsp->first_column = yylloc.first_column;
7814 yylsp->last_line = (yylsp-1)->last_line;
7815 yylsp->last_column = (yylsp-1)->last_column;
7816 yylsp->text = 0;
7817 }
7818 else
7819 {
7820 yylsp->last_line = (yylsp+yylen-1)->last_line;
7821 yylsp->last_column = (yylsp+yylen-1)->last_column;
7822 }
7823 #endif
7824
7825 /* Now "shift" the result of the reduction.
7826 Determine what state that goes to,
7827 based on the state we popped back to
7828 and the rule number reduced by. */
7829
7830 yyn = yyr1[yyn];
7831
7832 yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
7833 if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
7834 yystate = yytable[yystate];
7835 else
7836 yystate = yydefgoto[yyn - YYNTBASE];
7837
7838 goto yynewstate;
7839
7840 yyerrlab: /* here on detecting error */
7841
7842 if (! yyerrstatus)
7843 /* If not already recovering from an error, report this error. */
7844 {
7845 ++yynerrs;
7846
7847 #ifdef YYERROR_VERBOSE
7848 yyn = yypact[yystate];
7849
7850 if (yyn > YYFLAG && yyn < YYLAST)
7851 {
7852 int size = 0;
7853 char *msg;
7854 int x, count;
7855
7856 count = 0;
7857 /* Start X at -yyn if nec to avoid negative indexes in yycheck. */
7858 for (x = (yyn < 0 ? -yyn : 0);
7859 x < (sizeof(yytname) / sizeof(char *)); x++)
7860 if (yycheck[x + yyn] == x)
7861 size += strlen(yytname[x]) + 15, count++;
7862 msg = (char *) malloc(size + 15);
7863 if (msg != 0)
7864 {
7865 strcpy(msg, "parse error");
7866
7867 if (count < 5)
7868 {
7869 count = 0;
7870 for (x = (yyn < 0 ? -yyn : 0);
7871 x < (sizeof(yytname) / sizeof(char *)); x++)
7872 if (yycheck[x + yyn] == x)
7873 {
7874 strcat(msg, count == 0 ? ", expecting `" : " or `");
7875 strcat(msg, yytname[x]);
7876 strcat(msg, "'");
7877 count++;
7878 }
7879 }
7880 yyerror(msg);
7881 free(msg);
7882 }
7883 else
7884 yyerror ("parse error; also virtual memory exceeded");
7885 }
7886 else
7887 #endif /* YYERROR_VERBOSE */
7888 yyerror("parse error");
7889 }
7890
7891 goto yyerrlab1;
7892 yyerrlab1: /* here on error raised explicitly by an action */
7893
7894 if (yyerrstatus == 3)
7895 {
7896 /* if just tried and failed to reuse lookahead token after an error, discard it. */
7897
7898 /* return failure if at end of input */
7899 if (yychar == YYEOF)
7900 YYABORT;
7901
7902 #if YYDEBUG != 0
7903 if (yydebug)
7904 fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
7905 #endif
7906
7907 yychar = YYEMPTY;
7908 }
7909
7910 /* Else will try to reuse lookahead token
7911 after shifting the error token. */
7912
7913 yyerrstatus = 3; /* Each real token shifted decrements this */
7914
7915 goto yyerrhandle;
7916
7917 yyerrdefault: /* current state does not do anything special for the error token. */
7918
7919 #if 0
7920 /* This is wrong; only states that explicitly want error tokens
7921 should shift them. */
7922 yyn = yydefact[yystate]; /* If its default is to accept any token, ok. Otherwise pop it.*/
7923 if (yyn) goto yydefault;
7924 #endif
7925
7926 yyerrpop: /* pop the current state because it cannot handle the error token */
7927
7928 if (yyssp == yyss) YYABORT;
7929 yyvsp--;
7930 yystate = *--yyssp;
7931 #ifdef YYLSP_NEEDED
7932 yylsp--;
7933 #endif
7934
7935 #if YYDEBUG != 0
7936 if (yydebug)
7937 {
7938 short *ssp1 = yyss - 1;
7939 fprintf (stderr, "Error: state stack now");
7940 while (ssp1 != yyssp)
7941 fprintf (stderr, " %d", *++ssp1);
7942 fprintf (stderr, "\n");
7943 }
7944 #endif
7945
7946 yyerrhandle:
7947
7948 yyn = yypact[yystate];
7949 if (yyn == YYFLAG)
7950 goto yyerrdefault;
7951
7952 yyn += YYTERROR;
7953 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
7954 goto yyerrdefault;
7955
7956 yyn = yytable[yyn];
7957 if (yyn < 0)
7958 {
7959 if (yyn == YYFLAG)
7960 goto yyerrpop;
7961 yyn = -yyn;
7962 goto yyreduce;
7963 }
7964 else if (yyn == 0)
7965 goto yyerrpop;
7966
7967 if (yyn == YYFINAL)
7968 YYACCEPT;
7969
7970 #if YYDEBUG != 0
7971 if (yydebug)
7972 fprintf(stderr, "Shifting error token, ");
7973 #endif
7974
7975 *++yyvsp = yylval;
7976 #ifdef YYLSP_NEEDED
7977 *++yylsp = yylloc;
7978 #endif
7979
7980 yystate = yyn;
7981 goto yynewstate;
7982 }
7983 #line 3777 "parse.y"
7984
7985
7986 #ifdef SPEW_DEBUG
7987 const char *
7988 debug_yytranslate (value)
7989 int value;
7990 {
7991 return yytname[YYTRANSLATE (value)];
7992 }
7993
7994 #endif