Warning fixes:
[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 TYPEOF 283
34 #define ALIGNOF 284
35 #define SIGOF 285
36 #define ATTRIBUTE 286
37 #define EXTENSION 287
38 #define LABEL 288
39 #define REALPART 289
40 #define IMAGPART 290
41 #define AGGR 291
42 #define VISSPEC 292
43 #define DELETE 293
44 #define NEW 294
45 #define THIS 295
46 #define OPERATOR 296
47 #define CXX_TRUE 297
48 #define CXX_FALSE 298
49 #define NAMESPACE 299
50 #define TYPENAME_KEYWORD 300
51 #define USING 301
52 #define LEFT_RIGHT 302
53 #define TEMPLATE 303
54 #define TYPEID 304
55 #define DYNAMIC_CAST 305
56 #define STATIC_CAST 306
57 #define REINTERPRET_CAST 307
58 #define CONST_CAST 308
59 #define SCOPE 309
60 #define EMPTY 310
61 #define PTYPENAME 311
62 #define NSNAME 312
63 #define THROW 313
64 #define ASSIGN 314
65 #define OROR 315
66 #define ANDAND 316
67 #define MIN_MAX 317
68 #define EQCOMPARE 318
69 #define ARITHCOMPARE 319
70 #define LSHIFT 320
71 #define RSHIFT 321
72 #define POINTSAT_STAR 322
73 #define DOT_STAR 323
74 #define UNARY 324
75 #define PLUSPLUS 325
76 #define MINUSMINUS 326
77 #define HYPERUNARY 327
78 #define PAREN_STAR_PAREN 328
79 #define POINTSAT 329
80 #define TRY 330
81 #define CATCH 331
82 #define PRE_PARSED_FUNCTION_DECL 332
83 #define EXTERN_LANG_STRING 333
84 #define ALL 334
85 #define PRE_PARSED_CLASS_DECL 335
86 #define DEFARG 336
87 #define DEFARG_MARKER 337
88 #define TYPENAME_DEFN 338
89 #define IDENTIFIER_DEFN 339
90 #define PTYPENAME_DEFN 340
91 #define END_OF_LINE 341
92 #define END_OF_SAVED_INPUT 342
93
94 #line 29 "parse.y"
95
96 /* Cause the `yydebug' variable to be defined. */
97 #define YYDEBUG 1
98
99 #include "config.h"
100
101 #include "system.h"
102
103 #include "tree.h"
104 #include "input.h"
105 #include "flags.h"
106 #include "lex.h"
107 #include "cp-tree.h"
108 #include "output.h"
109 #include "except.h"
110 #include "toplev.h"
111
112 /* Since parsers are distinct for each language, put the language string
113 definition here. (fnf) */
114 char *language_string = "GNU C++";
115
116 extern tree void_list_node;
117 extern struct obstack permanent_obstack;
118
119 extern int end_of_file;
120
121 /* Like YYERROR but do call yyerror. */
122 #define YYERROR1 { yyerror ("syntax error"); YYERROR; }
123
124 #define OP0(NODE) (TREE_OPERAND (NODE, 0))
125 #define OP1(NODE) (TREE_OPERAND (NODE, 1))
126
127 /* Contains the statement keyword (if/while/do) to include in an
128 error message if the user supplies an empty conditional expression. */
129 static char *cond_stmt_keyword;
130
131 static tree empty_parms PROTO((void));
132
133 /* Nonzero if we have an `extern "C"' acting as an extern specifier. */
134 int have_extern_spec;
135 int used_extern_spec;
136
137 /* Cons up an empty parameter list. */
138 #ifdef __GNUC__
139 __inline
140 #endif
141 static tree
142 empty_parms ()
143 {
144 tree parms;
145
146 if (strict_prototype
147 || current_class_type != NULL)
148 parms = void_list_node;
149 else
150 parms = NULL_TREE;
151 return parms;
152 }
153
154
155 #line 91 "parse.y"
156 typedef union {long itype; tree ttype; char *strtype; enum tree_code code; flagged_type_tree ftype; } YYSTYPE;
157 #line 280 "parse.y"
158
159 /* List of types and structure classes of the current declaration. */
160 static tree current_declspecs = NULL_TREE;
161 /* List of prefix attributes in effect.
162 Prefix attributes are parsed by the reserved_declspecs and declmods
163 rules. They create a list that contains *both* declspecs and attrs. */
164 /* ??? It is not clear yet that all cases where an attribute can now appear in
165 a declspec list have been updated. */
166 static tree prefix_attributes = NULL_TREE;
167
168 /* When defining an aggregate, this is the most recent one being defined. */
169 static tree current_aggr;
170
171 /* Tell yyparse how to print a token's value, if yydebug is set. */
172
173 #define YYPRINT(FILE,YYCHAR,YYLVAL) yyprint(FILE,YYCHAR,YYLVAL)
174 extern void yyprint PROTO((FILE *, int, YYSTYPE));
175 extern tree combine_strings PROTO((tree));
176
177 static int
178 parse_decl(declarator, specs_attrs, attributes, initialized, decl)
179 tree declarator;
180 tree specs_attrs;
181 tree attributes;
182 int initialized;
183 tree* decl;
184 {
185 int sm;
186
187 split_specs_attrs (specs_attrs, &current_declspecs, &prefix_attributes);
188 if (current_declspecs
189 && TREE_CODE (current_declspecs) != TREE_LIST)
190 current_declspecs = get_decl_list (current_declspecs);
191 if (have_extern_spec && !used_extern_spec)
192 {
193 current_declspecs = decl_tree_cons (NULL_TREE,
194 get_identifier ("extern"),
195 current_declspecs);
196 used_extern_spec = 1;
197 }
198 sm = suspend_momentary ();
199 *decl = start_decl (declarator, current_declspecs, initialized,
200 attributes, prefix_attributes);
201 return sm;
202 }
203 #include <stdio.h>
204
205 #ifndef __cplusplus
206 #ifndef __STDC__
207 #define const
208 #endif
209 #endif
210
211
212
213 #define YYFINAL 1550
214 #define YYFLAG -32768
215 #define YYNTBASE 112
216
217 #define YYTRANSLATE(x) ((unsigned)(x) <= 342 ? yytranslate[x] : 386)
218
219 static const char yytranslate[] = { 0,
220 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
221 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
222 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
223 2, 2, 110, 2, 2, 2, 82, 70, 2, 93,
224 108, 80, 78, 59, 79, 92, 81, 2, 2, 2,
225 2, 2, 2, 2, 2, 2, 2, 62, 60, 74,
226 64, 75, 65, 2, 2, 2, 2, 2, 2, 2,
227 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
228 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
229 94, 2, 111, 69, 2, 2, 2, 2, 2, 2,
230 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
231 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
232 2, 2, 58, 68, 109, 88, 2, 2, 2, 2,
233 2, 2, 2, 2, 2, 2, 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, 1, 2, 3, 4, 5,
246 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
247 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
248 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
249 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
250 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
251 56, 57, 61, 63, 66, 67, 71, 72, 73, 76,
252 77, 83, 84, 85, 86, 87, 89, 90, 91, 95,
253 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
254 106, 107
255 };
256
257 #if YYDEBUG != 0
258 static const short yyprhs[] = { 0,
259 0, 1, 3, 4, 7, 10, 12, 13, 14, 15,
260 17, 19, 20, 23, 26, 28, 30, 36, 41, 47,
261 52, 53, 60, 61, 67, 73, 76, 81, 84, 87,
262 91, 95, 97, 99, 102, 105, 107, 110, 111, 117,
263 121, 123, 127, 129, 130, 133, 136, 140, 142, 146,
264 148, 152, 154, 158, 161, 164, 167, 171, 175, 178,
265 181, 184, 187, 190, 192, 194, 196, 197, 199, 202,
266 203, 205, 210, 214, 218, 219, 228, 234, 235, 245,
267 252, 253, 262, 268, 269, 279, 286, 289, 292, 294,
268 297, 299, 306, 311, 318, 323, 326, 328, 331, 334,
269 336, 339, 341, 344, 347, 352, 355, 359, 360, 361,
270 363, 367, 370, 374, 376, 381, 384, 389, 392, 397,
271 400, 402, 404, 406, 408, 410, 412, 414, 416, 418,
272 420, 422, 423, 430, 431, 438, 439, 445, 446, 452,
273 453, 461, 462, 470, 471, 478, 479, 486, 487, 488,
274 493, 498, 500, 505, 507, 509, 510, 512, 514, 518,
275 520, 522, 524, 526, 528, 530, 532, 534, 536, 538,
276 542, 544, 548, 549, 551, 553, 554, 562, 564, 566,
277 570, 575, 579, 580, 584, 586, 590, 594, 598, 602,
278 604, 606, 608, 611, 614, 617, 620, 623, 626, 629,
279 634, 637, 642, 645, 649, 653, 658, 664, 671, 678,
280 686, 689, 694, 700, 703, 706, 708, 709, 714, 719,
281 723, 725, 729, 732, 736, 741, 743, 746, 752, 754,
282 758, 762, 766, 770, 774, 778, 782, 786, 790, 794,
283 798, 802, 806, 810, 814, 818, 822, 826, 830, 836,
284 840, 844, 846, 849, 853, 855, 857, 859, 861, 863,
285 864, 870, 876, 882, 888, 894, 896, 898, 900, 902,
286 905, 908, 912, 917, 922, 924, 926, 928, 932, 934,
287 936, 938, 940, 944, 948, 952, 953, 958, 963, 966,
288 971, 974, 977, 979, 984, 986, 994, 1002, 1010, 1018,
289 1023, 1028, 1031, 1034, 1037, 1039, 1044, 1047, 1050, 1056,
290 1060, 1063, 1066, 1072, 1076, 1082, 1086, 1091, 1098, 1101,
291 1103, 1106, 1108, 1111, 1113, 1115, 1117, 1120, 1121, 1124,
292 1127, 1131, 1135, 1139, 1142, 1145, 1148, 1150, 1152, 1154,
293 1157, 1160, 1163, 1166, 1168, 1170, 1172, 1174, 1177, 1180,
294 1184, 1188, 1192, 1197, 1199, 1202, 1205, 1208, 1210, 1212,
295 1214, 1217, 1220, 1223, 1225, 1227, 1230, 1233, 1237, 1239,
296 1242, 1244, 1246, 1248, 1253, 1258, 1263, 1268, 1270, 1272,
297 1274, 1276, 1280, 1282, 1286, 1288, 1292, 1293, 1298, 1299,
298 1306, 1310, 1311, 1316, 1318, 1322, 1326, 1327, 1332, 1336,
299 1337, 1339, 1341, 1344, 1351, 1353, 1357, 1358, 1360, 1365,
300 1372, 1377, 1379, 1381, 1383, 1385, 1387, 1391, 1392, 1395,
301 1397, 1400, 1404, 1409, 1411, 1413, 1417, 1422, 1426, 1432,
302 1434, 1439, 1443, 1447, 1448, 1452, 1456, 1460, 1461, 1464,
303 1467, 1468, 1476, 1481, 1482, 1489, 1493, 1496, 1499, 1502,
304 1503, 1504, 1514, 1516, 1517, 1519, 1520, 1522, 1524, 1527,
305 1530, 1533, 1536, 1539, 1542, 1546, 1551, 1555, 1558, 1562,
306 1563, 1565, 1569, 1572, 1575, 1577, 1579, 1580, 1583, 1587,
307 1589, 1594, 1596, 1600, 1602, 1604, 1609, 1614, 1617, 1620,
308 1624, 1628, 1630, 1631, 1633, 1636, 1641, 1645, 1647, 1650,
309 1653, 1656, 1659, 1662, 1665, 1668, 1670, 1673, 1676, 1680,
310 1683, 1686, 1691, 1696, 1699, 1701, 1707, 1712, 1714, 1715,
311 1717, 1721, 1722, 1724, 1728, 1730, 1732, 1734, 1736, 1741,
312 1746, 1751, 1756, 1761, 1765, 1770, 1775, 1780, 1785, 1789,
313 1791, 1795, 1797, 1801, 1804, 1806, 1814, 1815, 1818, 1820,
314 1823, 1824, 1827, 1832, 1837, 1840, 1845, 1849, 1853, 1856,
315 1859, 1863, 1865, 1867, 1870, 1872, 1874, 1877, 1880, 1885,
316 1890, 1894, 1898, 1901, 1903, 1907, 1911, 1914, 1917, 1921,
317 1923, 1927, 1931, 1934, 1937, 1941, 1943, 1948, 1952, 1957,
318 1961, 1963, 1966, 1969, 1972, 1975, 1978, 1980, 1983, 1988,
319 1993, 1996, 1998, 2000, 2002, 2004, 2007, 2012, 2015, 2018,
320 2021, 2024, 2026, 2029, 2032, 2035, 2038, 2042, 2044, 2047,
321 2051, 2056, 2059, 2062, 2065, 2068, 2071, 2074, 2079, 2082,
322 2084, 2087, 2090, 2094, 2096, 2100, 2103, 2107, 2110, 2113,
323 2117, 2119, 2123, 2128, 2132, 2135, 2138, 2140, 2144, 2147,
324 2150, 2152, 2155, 2159, 2161, 2165, 2167, 2174, 2179, 2184,
325 2188, 2194, 2198, 2202, 2206, 2209, 2211, 2213, 2216, 2219,
326 2222, 2223, 2225, 2227, 2230, 2234, 2236, 2239, 2240, 2244,
327 2245, 2246, 2252, 2254, 2255, 2258, 2260, 2262, 2264, 2267,
328 2268, 2273, 2275, 2276, 2277, 2283, 2284, 2285, 2293, 2294,
329 2295, 2296, 2297, 2310, 2311, 2312, 2320, 2321, 2327, 2328,
330 2336, 2337, 2342, 2345, 2348, 2351, 2355, 2362, 2371, 2382,
331 2395, 2400, 2404, 2407, 2410, 2412, 2414, 2415, 2416, 2423,
332 2424, 2425, 2431, 2433, 2436, 2437, 2438, 2444, 2446, 2448,
333 2452, 2456, 2459, 2462, 2465, 2468, 2471, 2473, 2476, 2477,
334 2479, 2480, 2482, 2484, 2485, 2487, 2489, 2493, 2498, 2500,
335 2504, 2505, 2507, 2509, 2511, 2514, 2517, 2520, 2522, 2525,
336 2528, 2529, 2533, 2535, 2537, 2539, 2542, 2545, 2548, 2553,
337 2556, 2559, 2562, 2565, 2568, 2571, 2573, 2576, 2578, 2581,
338 2583, 2585, 2586, 2587, 2589, 2590, 2595, 2598, 2600, 2602,
339 2606, 2607, 2611, 2615, 2619, 2621, 2624, 2627, 2630, 2633,
340 2636, 2639, 2642, 2645, 2648, 2651, 2654, 2657, 2660, 2663,
341 2666, 2669, 2672, 2675, 2678, 2681, 2684, 2687, 2690, 2694,
342 2697, 2700, 2703, 2706, 2710, 2713, 2716, 2721, 2726, 2730
343 };
344
345 static const short yyrhs[] = { -1,
346 113, 0, 0, 114, 120, 0, 113, 120, 0, 113,
347 0, 0, 0, 0, 32, 0, 27, 0, 0, 121,
348 122, 0, 140, 139, 0, 136, 0, 135, 0, 119,
349 93, 208, 108, 60, 0, 127, 58, 115, 109, 0,
350 127, 116, 140, 117, 139, 0, 127, 116, 136, 117,
351 0, 0, 44, 155, 58, 123, 115, 109, 0, 0,
352 44, 58, 124, 115, 109, 0, 44, 155, 64, 126,
353 60, 0, 125, 60, 0, 46, 44, 126, 60, 0,
354 118, 122, 0, 46, 300, 0, 46, 314, 300, 0,
355 46, 314, 199, 0, 199, 0, 300, 0, 314, 300,
356 0, 314, 199, 0, 98, 0, 127, 98, 0, 0,
357 48, 74, 129, 130, 75, 0, 48, 74, 75, 0,
358 134, 0, 130, 59, 134, 0, 155, 0, 0, 257,
359 131, 0, 45, 131, 0, 128, 257, 131, 0, 132,
360 0, 132, 64, 214, 0, 377, 0, 377, 64, 194,
361 0, 133, 0, 133, 64, 174, 0, 128, 122, 0,
362 128, 1, 0, 225, 60, 0, 218, 224, 60, 0,
363 215, 223, 60, 0, 218, 60, 0, 158, 60, 0,
364 215, 60, 0, 1, 60, 0, 1, 109, 0, 60,
365 0, 209, 0, 151, 0, 0, 150, 0, 150, 60,
366 0, 0, 107, 0, 146, 138, 137, 324, 0, 146,
367 138, 348, 0, 146, 138, 1, 0, 0, 305, 5,
368 93, 142, 368, 108, 287, 380, 0, 305, 5, 47,
369 287, 380, 0, 0, 314, 305, 5, 93, 143, 368,
370 108, 287, 380, 0, 314, 305, 5, 47, 287, 380,
371 0, 0, 305, 170, 93, 144, 368, 108, 287, 380,
372 0, 305, 170, 47, 287, 380, 0, 0, 314, 305,
373 170, 93, 145, 368, 108, 287, 380, 0, 314, 305,
374 170, 47, 287, 380, 0, 215, 212, 0, 218, 297,
375 0, 297, 0, 218, 141, 0, 141, 0, 5, 93,
376 368, 108, 287, 380, 0, 5, 47, 287, 380, 0,
377 170, 93, 368, 108, 287, 380, 0, 170, 47, 287,
378 380, 0, 218, 147, 0, 147, 0, 215, 212, 0,
379 218, 297, 0, 297, 0, 218, 141, 0, 141, 0,
380 25, 3, 0, 149, 242, 0, 149, 93, 186, 108,
381 0, 149, 47, 0, 62, 152, 153, 0, 0, 0,
382 154, 0, 153, 59, 154, 0, 153, 1, 0, 93,
383 186, 108, 0, 47, 0, 156, 93, 186, 108, 0,
384 156, 47, 0, 293, 93, 186, 108, 0, 293, 47,
385 0, 307, 93, 186, 108, 0, 307, 47, 0, 3,
386 0, 4, 0, 5, 0, 56, 0, 57, 0, 3,
387 0, 56, 0, 57, 0, 104, 0, 103, 0, 105,
388 0, 0, 48, 167, 221, 60, 159, 168, 0, 0,
389 48, 167, 215, 212, 160, 168, 0, 0, 48, 167,
390 297, 161, 168, 0, 0, 48, 167, 141, 162, 168,
391 0, 0, 7, 48, 167, 221, 60, 163, 168, 0,
392 0, 7, 48, 167, 215, 212, 164, 168, 0, 0,
393 7, 48, 167, 297, 165, 168, 0, 0, 7, 48,
394 167, 141, 166, 168, 0, 0, 0, 56, 74, 172,
395 171, 0, 4, 74, 172, 171, 0, 170, 0, 5,
396 74, 172, 171, 0, 75, 0, 77, 0, 0, 173,
397 0, 174, 0, 173, 59, 174, 0, 214, 0, 194,
398 0, 79, 0, 78, 0, 86, 0, 87, 0, 110,
399 0, 185, 0, 194, 0, 47, 0, 93, 176, 108,
400 0, 47, 0, 93, 180, 108, 0, 0, 180, 0,
401 1, 0, 0, 358, 212, 226, 235, 64, 181, 243,
402 0, 176, 0, 109, 0, 321, 319, 109, 0, 321,
403 319, 1, 109, 0, 321, 1, 109, 0, 0, 58,
404 184, 182, 0, 333, 0, 194, 59, 194, 0, 194,
405 59, 1, 0, 185, 59, 194, 0, 185, 59, 1,
406 0, 194, 0, 185, 0, 203, 0, 118, 193, 0,
407 80, 193, 0, 70, 193, 0, 88, 193, 0, 175,
408 193, 0, 67, 155, 0, 13, 187, 0, 13, 93,
409 214, 108, 0, 29, 187, 0, 29, 93, 214, 108,
410 0, 205, 286, 0, 205, 286, 191, 0, 205, 190,
411 286, 0, 205, 190, 286, 191, 0, 205, 93, 189,
412 214, 188, 0, 205, 93, 189, 214, 188, 191, 0,
413 205, 190, 93, 189, 214, 188, 0, 205, 190, 93,
414 189, 214, 188, 191, 0, 206, 193, 0, 206, 94,
415 111, 193, 0, 206, 94, 176, 111, 193, 0, 34,
416 193, 0, 35, 193, 0, 108, 0, 0, 93, 189,
417 186, 108, 0, 58, 189, 186, 109, 0, 93, 186,
418 108, 0, 47, 0, 93, 221, 108, 0, 64, 243,
419 0, 93, 214, 108, 0, 192, 93, 214, 108, 0,
420 187, 0, 192, 187, 0, 192, 58, 244, 255, 109,
421 0, 193, 0, 194, 83, 194, 0, 194, 84, 194,
422 0, 194, 78, 194, 0, 194, 79, 194, 0, 194,
423 80, 194, 0, 194, 81, 194, 0, 194, 82, 194,
424 0, 194, 76, 194, 0, 194, 77, 194, 0, 194,
425 73, 194, 0, 194, 74, 194, 0, 194, 75, 194,
426 0, 194, 72, 194, 0, 194, 71, 194, 0, 194,
427 70, 194, 0, 194, 68, 194, 0, 194, 69, 194,
428 0, 194, 67, 194, 0, 194, 66, 194, 0, 194,
429 65, 363, 62, 194, 0, 194, 64, 194, 0, 194,
430 63, 194, 0, 61, 0, 61, 194, 0, 88, 378,
431 155, 0, 197, 0, 385, 0, 3, 0, 56, 0,
432 57, 0, 0, 6, 74, 196, 172, 171, 0, 385,
433 74, 196, 172, 171, 0, 48, 155, 74, 172, 171,
434 0, 48, 6, 74, 172, 171, 0, 48, 385, 74,
435 172, 171, 0, 195, 0, 4, 0, 5, 0, 195,
436 0, 80, 200, 0, 70, 200, 0, 93, 200, 108,
437 0, 3, 74, 172, 171, 0, 57, 74, 173, 171,
438 0, 299, 0, 195, 0, 201, 0, 93, 200, 108,
439 0, 195, 0, 10, 0, 207, 0, 208, 0, 93,
440 176, 108, 0, 93, 200, 108, 0, 93, 1, 108,
441 0, 0, 93, 204, 325, 108, 0, 203, 93, 186,
442 108, 0, 203, 47, 0, 203, 94, 176, 111, 0,
443 203, 86, 0, 203, 87, 0, 40, 0, 9, 93,
444 186, 108, 0, 303, 0, 50, 74, 214, 75, 93,
445 176, 108, 0, 51, 74, 214, 75, 93, 176, 108,
446 0, 52, 74, 214, 75, 93, 176, 108, 0, 53,
447 74, 214, 75, 93, 176, 108, 0, 49, 93, 176,
448 108, 0, 49, 93, 214, 108, 0, 314, 3, 0,
449 314, 197, 0, 314, 385, 0, 302, 0, 302, 93,
450 186, 108, 0, 302, 47, 0, 210, 198, 0, 210,
451 198, 93, 186, 108, 0, 210, 198, 47, 0, 210,
452 199, 0, 210, 302, 0, 210, 199, 93, 186, 108,
453 0, 210, 199, 47, 0, 210, 302, 93, 186, 108,
454 0, 210, 302, 47, 0, 210, 88, 8, 47, 0,
455 210, 8, 54, 88, 8, 47, 0, 210, 1, 0,
456 39, 0, 314, 39, 0, 38, 0, 314, 206, 0,
457 42, 0, 43, 0, 11, 0, 208, 11, 0, 0,
458 203, 92, 0, 203, 91, 0, 221, 223, 60, 0,
459 215, 223, 60, 0, 218, 224, 60, 0, 215, 60,
460 0, 218, 60, 0, 118, 211, 0, 292, 0, 297,
461 0, 47, 0, 213, 47, 0, 219, 317, 0, 288,
462 317, 0, 221, 317, 0, 219, 0, 288, 0, 219,
463 0, 216, 0, 218, 221, 0, 221, 217, 0, 221,
464 220, 217, 0, 218, 221, 217, 0, 218, 221, 220,
465 0, 218, 221, 220, 217, 0, 7, 0, 217, 222,
466 0, 217, 7, 0, 217, 236, 0, 236, 0, 288,
467 0, 7, 0, 218, 9, 0, 218, 7, 0, 218,
468 236, 0, 236, 0, 221, 0, 288, 221, 0, 221,
469 220, 0, 288, 221, 220, 0, 222, 0, 220, 222,
470 0, 250, 0, 8, 0, 294, 0, 28, 93, 176,
471 108, 0, 28, 93, 214, 108, 0, 30, 93, 176,
472 108, 0, 30, 93, 214, 108, 0, 8, 0, 9,
473 0, 250, 0, 231, 0, 223, 59, 227, 0, 232,
474 0, 224, 59, 227, 0, 233, 0, 225, 59, 227,
475 0, 0, 119, 93, 208, 108, 0, 0, 212, 226,
476 235, 64, 228, 243, 0, 212, 226, 235, 0, 0,
477 235, 64, 230, 243, 0, 235, 0, 212, 226, 229,
478 0, 297, 226, 229, 0, 0, 297, 226, 234, 229,
479 0, 141, 226, 235, 0, 0, 236, 0, 237, 0,
480 236, 237, 0, 31, 93, 93, 238, 108, 108, 0,
481 239, 0, 238, 59, 239, 0, 0, 240, 0, 240,
482 93, 3, 108, 0, 240, 93, 3, 59, 186, 108,
483 0, 240, 93, 186, 108, 0, 155, 0, 7, 0,
484 8, 0, 9, 0, 155, 0, 241, 59, 155, 0,
485 0, 64, 243, 0, 194, 0, 58, 109, 0, 58,
486 244, 109, 0, 58, 244, 59, 109, 0, 1, 0,
487 243, 0, 244, 59, 243, 0, 94, 194, 111, 243,
488 0, 155, 62, 243, 0, 244, 59, 155, 62, 243,
489 0, 97, 0, 245, 138, 137, 324, 0, 245, 138,
490 348, 0, 245, 138, 1, 0, 0, 247, 246, 139,
491 0, 102, 194, 107, 0, 102, 1, 107, 0, 0,
492 249, 248, 0, 249, 1, 0, 0, 14, 155, 58,
493 251, 284, 256, 109, 0, 14, 155, 58, 109, 0,
494 0, 14, 58, 252, 284, 256, 109, 0, 14, 58,
495 109, 0, 14, 155, 0, 14, 312, 0, 45, 307,
496 0, 0, 0, 264, 270, 272, 109, 235, 253, 249,
497 254, 247, 0, 264, 0, 0, 59, 0, 0, 59,
498 0, 36, 0, 257, 7, 0, 257, 8, 0, 257,
499 9, 0, 257, 36, 0, 257, 155, 0, 257, 157,
500 0, 257, 305, 155, 0, 257, 314, 305, 155, 0,
501 257, 314, 155, 0, 257, 169, 0, 257, 305, 169,
502 0, 0, 258, 0, 259, 261, 265, 0, 260, 265,
503 0, 257, 58, 0, 263, 0, 262, 0, 0, 62,
504 378, 0, 62, 378, 266, 0, 267, 0, 266, 59,
505 378, 267, 0, 268, 0, 269, 378, 268, 0, 307,
506 0, 293, 0, 30, 93, 176, 108, 0, 30, 93,
507 214, 108, 0, 37, 378, 0, 7, 378, 0, 269,
508 37, 378, 0, 269, 7, 378, 0, 58, 0, 0,
509 271, 0, 271, 273, 0, 272, 37, 62, 273, 0,
510 272, 37, 62, 0, 274, 0, 273, 274, 0, 275,
511 60, 0, 275, 109, 0, 148, 62, 0, 148, 95,
512 0, 148, 25, 0, 148, 58, 0, 60, 0, 118,
513 274, 0, 128, 274, 0, 128, 215, 60, 0, 215,
514 276, 0, 218, 277, 0, 297, 226, 235, 242, 0,
515 141, 226, 235, 242, 0, 62, 194, 0, 1, 0,
516 218, 147, 226, 235, 242, 0, 147, 226, 235, 242,
517 0, 125, 0, 0, 278, 0, 276, 59, 279, 0,
518 0, 281, 0, 277, 59, 283, 0, 280, 0, 281,
519 0, 282, 0, 283, 0, 292, 226, 235, 242, 0,
520 4, 62, 194, 235, 0, 297, 226, 235, 242, 0,
521 141, 226, 235, 242, 0, 3, 62, 194, 235, 0,
522 62, 194, 235, 0, 292, 226, 235, 242, 0, 4,
523 62, 194, 235, 0, 297, 226, 235, 242, 0, 3,
524 62, 194, 235, 0, 62, 194, 235, 0, 285, 0,
525 284, 59, 285, 0, 155, 0, 155, 64, 194, 0,
526 358, 315, 0, 358, 0, 93, 189, 214, 188, 94,
527 176, 111, 0, 0, 287, 9, 0, 9, 0, 288,
528 9, 0, 0, 289, 176, 0, 289, 93, 186, 108,
529 0, 289, 93, 368, 108, 0, 289, 47, 0, 289,
530 93, 1, 108, 0, 80, 288, 292, 0, 70, 288,
531 292, 0, 80, 292, 0, 70, 292, 0, 313, 287,
532 292, 0, 296, 0, 304, 0, 314, 304, 0, 293,
533 0, 295, 0, 314, 295, 0, 305, 304, 0, 296,
534 291, 287, 380, 0, 296, 94, 290, 111, 0, 296,
535 94, 111, 0, 93, 292, 108, 0, 305, 304, 0,
536 304, 0, 80, 288, 297, 0, 70, 288, 297, 0,
537 80, 297, 0, 70, 297, 0, 313, 287, 297, 0,
538 202, 0, 80, 288, 297, 0, 70, 288, 297, 0,
539 80, 298, 0, 70, 298, 0, 313, 287, 297, 0,
540 299, 0, 202, 291, 287, 380, 0, 93, 298, 108,
541 0, 202, 94, 290, 111, 0, 202, 94, 111, 0,
542 301, 0, 305, 201, 0, 305, 199, 0, 305, 198,
543 0, 305, 195, 0, 305, 198, 0, 301, 0, 314,
544 301, 0, 221, 93, 186, 108, 0, 221, 93, 200,
545 108, 0, 221, 213, 0, 4, 0, 5, 0, 169,
546 0, 306, 0, 305, 306, 0, 305, 48, 311, 54,
547 0, 4, 54, 0, 5, 54, 0, 57, 54, 0,
548 169, 54, 0, 308, 0, 314, 308, 0, 309, 155,
549 0, 309, 169, 0, 309, 311, 0, 309, 48, 311,
550 0, 310, 0, 309, 310, 0, 309, 311, 54, 0,
551 309, 48, 311, 54, 0, 4, 54, 0, 5, 54,
552 0, 169, 54, 0, 56, 54, 0, 3, 54, 0,
553 57, 54, 0, 155, 74, 172, 171, 0, 314, 304,
554 0, 295, 0, 314, 295, 0, 305, 80, 0, 314,
555 305, 80, 0, 54, 0, 80, 287, 315, 0, 80,
556 287, 0, 70, 287, 315, 0, 70, 287, 0, 313,
557 287, 0, 313, 287, 315, 0, 316, 0, 94, 176,
558 111, 0, 316, 94, 290, 111, 0, 80, 288, 317,
559 0, 80, 317, 0, 80, 288, 0, 80, 0, 70,
560 288, 317, 0, 70, 317, 0, 70, 288, 0, 70,
561 0, 313, 287, 0, 313, 287, 317, 0, 318, 0,
562 93, 317, 108, 0, 90, 0, 318, 93, 368, 108,
563 287, 380, 0, 318, 47, 287, 380, 0, 318, 94,
564 290, 111, 0, 318, 94, 111, 0, 93, 369, 108,
565 287, 380, 0, 192, 287, 380, 0, 213, 287, 380,
566 0, 94, 290, 111, 0, 94, 111, 0, 332, 0,
567 320, 0, 319, 332, 0, 319, 320, 0, 1, 60,
568 0, 0, 322, 0, 323, 0, 322, 323, 0, 33,
569 241, 60, 0, 325, 0, 1, 325, 0, 0, 58,
570 326, 182, 0, 0, 0, 15, 328, 178, 329, 330,
571 0, 325, 0, 0, 331, 333, 0, 325, 0, 333,
572 0, 211, 0, 176, 60, 0, 0, 327, 16, 334,
573 330, 0, 327, 0, 0, 0, 17, 335, 178, 336,
574 183, 0, 0, 0, 18, 337, 330, 17, 338, 177,
575 60, 0, 0, 0, 0, 0, 19, 339, 93, 361,
576 340, 179, 60, 341, 363, 108, 342, 183, 0, 0,
577 0, 20, 343, 93, 180, 108, 344, 330, 0, 0,
578 21, 194, 62, 345, 332, 0, 0, 21, 194, 12,
579 194, 62, 346, 332, 0, 0, 22, 62, 347, 332,
580 0, 23, 60, 0, 24, 60, 0, 25, 60, 0,
581 25, 176, 60, 0, 119, 362, 93, 208, 108, 60,
582 0, 119, 362, 93, 208, 62, 364, 108, 60, 0,
583 119, 362, 93, 208, 62, 364, 62, 364, 108, 60,
584 0, 119, 362, 93, 208, 62, 364, 62, 364, 62,
585 367, 108, 60, 0, 26, 80, 176, 60, 0, 26,
586 155, 60, 0, 360, 332, 0, 360, 109, 0, 60,
587 0, 351, 0, 0, 0, 95, 349, 137, 325, 350,
588 354, 0, 0, 0, 95, 352, 325, 353, 354, 0,
589 355, 0, 354, 355, 0, 0, 0, 96, 356, 359,
590 357, 325, 0, 219, 0, 288, 0, 93, 12, 108,
591 0, 93, 377, 108, 0, 3, 62, 0, 56, 62,
592 0, 4, 62, 0, 5, 62, 0, 363, 60, 0,
593 211, 0, 58, 182, 0, 0, 9, 0, 0, 176,
594 0, 1, 0, 0, 365, 0, 366, 0, 365, 59,
595 366, 0, 11, 93, 176, 108, 0, 11, 0, 367,
596 59, 11, 0, 0, 369, 0, 214, 0, 373, 0,
597 374, 12, 0, 373, 12, 0, 214, 12, 0, 12,
598 0, 373, 62, 0, 214, 62, 0, 0, 64, 371,
599 372, 0, 101, 0, 243, 0, 375, 0, 377, 370,
600 0, 374, 376, 0, 374, 379, 0, 374, 379, 64,
601 243, 0, 373, 59, 0, 214, 59, 0, 216, 212,
602 0, 219, 212, 0, 221, 212, 0, 216, 317, 0,
603 216, 0, 218, 297, 0, 377, 0, 377, 370, 0,
604 375, 0, 214, 0, 0, 0, 297, 0, 0, 61,
605 93, 382, 108, 0, 61, 47, 0, 214, 0, 381,
606 0, 382, 59, 381, 0, 0, 80, 287, 383, 0,
607 70, 287, 383, 0, 313, 287, 383, 0, 41, 0,
608 384, 80, 0, 384, 81, 0, 384, 82, 0, 384,
609 78, 0, 384, 79, 0, 384, 70, 0, 384, 68,
610 0, 384, 69, 0, 384, 88, 0, 384, 59, 0,
611 384, 73, 0, 384, 74, 0, 384, 75, 0, 384,
612 72, 0, 384, 63, 0, 384, 64, 0, 384, 76,
613 0, 384, 77, 0, 384, 86, 0, 384, 87, 0,
614 384, 67, 0, 384, 66, 0, 384, 110, 0, 384,
615 65, 62, 0, 384, 71, 0, 384, 91, 0, 384,
616 83, 0, 384, 47, 0, 384, 94, 111, 0, 384,
617 39, 0, 384, 38, 0, 384, 39, 94, 111, 0,
618 384, 38, 94, 111, 0, 384, 358, 383, 0, 384,
619 1, 0
620 };
621
622 #endif
623
624 #if YYDEBUG != 0
625 static const short yyrline[] = { 0,
626 328, 330, 338, 341, 342, 346, 348, 351, 356, 360,
627 366, 370, 373, 377, 380, 382, 384, 387, 389, 392,
628 395, 397, 399, 401, 403, 405, 407, 416, 420, 423,
629 425, 429, 431, 432, 434, 438, 441, 447, 450, 452,
630 457, 460, 464, 467, 470, 473, 477, 482, 492, 494,
631 496, 498, 500, 513, 522, 532, 534, 536, 540, 542,
632 543, 550, 551, 552, 555, 558, 562, 564, 565, 568,
633 570, 573, 576, 578, 582, 585, 587, 591, 593, 595,
634 599, 601, 603, 607, 609, 611, 617, 621, 624, 627,
635 630, 635, 638, 640, 642, 648, 658, 660, 663, 666,
636 668, 671, 675, 684, 687, 689, 693, 706, 726, 729,
637 731, 732, 735, 742, 748, 750, 752, 754, 756, 759,
638 764, 766, 767, 768, 769, 772, 774, 775, 778, 780,
639 781, 784, 789, 789, 793, 793, 796, 796, 799, 799,
640 803, 803, 808, 808, 811, 811, 814, 816, 819, 826,
641 833, 839, 842, 851, 853, 861, 864, 867, 870, 874,
642 877, 880, 883, 885, 887, 889, 893, 896, 899, 904,
643 908, 913, 917, 920, 922, 926, 945, 952, 955, 957,
644 958, 959, 962, 966, 967, 971, 975, 978, 980, 984,
645 987, 990, 994, 997, 999, 1001, 1003, 1006, 1010, 1012,
646 1014, 1016, 1022, 1025, 1028, 1031, 1043, 1048, 1052, 1056,
647 1061, 1063, 1067, 1071, 1073, 1082, 1086, 1089, 1092, 1097,
648 1100, 1102, 1110, 1123, 1128, 1134, 1136, 1138, 1151, 1154,
649 1156, 1158, 1160, 1162, 1164, 1166, 1168, 1170, 1172, 1174,
650 1176, 1178, 1180, 1182, 1184, 1186, 1188, 1190, 1192, 1194,
651 1198, 1200, 1202, 1219, 1222, 1223, 1224, 1225, 1226, 1229,
652 1232, 1235, 1239, 1242, 1244, 1249, 1251, 1252, 1255, 1257,
653 1259, 1261, 1265, 1268, 1272, 1274, 1275, 1276, 1280, 1288,
654 1289, 1290, 1298, 1300, 1303, 1305, 1315, 1317, 1319, 1321,
655 1323, 1325, 1328, 1330, 1374, 1375, 1379, 1383, 1387, 1391,
656 1393, 1397, 1399, 1401, 1409, 1411, 1413, 1415, 1419, 1421,
657 1423, 1425, 1430, 1432, 1434, 1436, 1439, 1441, 1443, 1487,
658 1490, 1494, 1497, 1501, 1504, 1509, 1511, 1515, 1528, 1531,
659 1538, 1545, 1550, 1552, 1557, 1559, 1566, 1568, 1572, 1576,
660 1582, 1586, 1589, 1592, 1595, 1605, 1607, 1610, 1614, 1617,
661 1620, 1623, 1626, 1632, 1638, 1640, 1645, 1647, 1656, 1659,
662 1661, 1664, 1670, 1672, 1682, 1686, 1689, 1692, 1697, 1700,
663 1708, 1710, 1712, 1714, 1717, 1720, 1735, 1754, 1757, 1759,
664 1762, 1764, 1767, 1769, 1772, 1774, 1777, 1780, 1784, 1790,
665 1791, 1803, 1810, 1813, 1819, 1823, 1828, 1834, 1835, 1843,
666 1846, 1850, 1853, 1857, 1862, 1865, 1869, 1872, 1874, 1876,
667 1878, 1885, 1887, 1888, 1889, 1893, 1896, 1900, 1903, 1909,
668 1911, 1914, 1917, 1920, 1926, 1929, 1932, 1934, 1936, 1940,
669 1946, 1954, 1956, 1960, 1962, 1967, 1970, 1973, 1975, 1977,
670 1981, 1985, 1990, 1994, 1997, 2002, 2006, 2009, 2012, 2016,
671 2028, 2030, 2033, 2053, 2055, 2058, 2060, 2065, 2067, 2069,
672 2071, 2073, 2077, 2082, 2087, 2093, 2098, 2103, 2105, 2109,
673 2114, 2117, 2124, 2152, 2158, 2160, 2163, 2166, 2168, 2172,
674 2174, 2178, 2204, 2233, 2236, 2237, 2258, 2281, 2283, 2287,
675 2298, 2312, 2317, 2324, 2327, 2335, 2346, 2355, 2359, 2374,
676 2377, 2382, 2384, 2386, 2388, 2390, 2392, 2395, 2397, 2409,
677 2415, 2417, 2420, 2423, 2425, 2436, 2441, 2444, 2449, 2452,
678 2453, 2464, 2467, 2468, 2479, 2481, 2484, 2486, 2489, 2496,
679 2504, 2511, 2517, 2523, 2531, 2535, 2540, 2544, 2547, 2556,
680 2558, 2562, 2565, 2570, 2574, 2580, 2591, 2594, 2598, 2602,
681 2610, 2615, 2621, 2624, 2626, 2628, 2634, 2637, 2639, 2641,
682 2643, 2647, 2650, 2668, 2678, 2680, 2681, 2685, 2690, 2693,
683 2695, 2697, 2699, 2703, 2709, 2712, 2714, 2716, 2718, 2722,
684 2725, 2728, 2730, 2732, 2734, 2738, 2741, 2744, 2746, 2748,
685 2750, 2757, 2768, 2772, 2777, 2781, 2786, 2788, 2792, 2795,
686 2797, 2801, 2803, 2804, 2807, 2809, 2811, 2817, 2832, 2838,
687 2844, 2858, 2860, 2864, 2878, 2880, 2882, 2886, 2892, 2905,
688 2907, 2911, 2924, 2930, 2932, 2933, 2934, 2942, 2947, 2956,
689 2957, 2961, 2964, 2970, 2976, 2979, 2981, 2983, 2985, 2989,
690 2993, 2997, 3000, 3005, 3008, 3010, 3012, 3014, 3016, 3018,
691 3020, 3022, 3026, 3030, 3034, 3038, 3039, 3041, 3043, 3045,
692 3047, 3049, 3051, 3053, 3055, 3063, 3065, 3066, 3067, 3070,
693 3076, 3078, 3083, 3085, 3088, 3102, 3105, 3108, 3112, 3115,
694 3122, 3124, 3127, 3129, 3131, 3134, 3137, 3140, 3143, 3145,
695 3148, 3152, 3154, 3160, 3162, 3163, 3165, 3170, 3172, 3174,
696 3176, 3178, 3181, 3182, 3184, 3187, 3188, 3191, 3191, 3194,
697 3194, 3197, 3197, 3199, 3201, 3203, 3205, 3211, 3217, 3220,
698 3223, 3229, 3231, 3233, 3237, 3239, 3242, 3249, 3255, 3264,
699 3268, 3270, 3273, 3275, 3278, 3282, 3284, 3287, 3289, 3292,
700 3309, 3315, 3323, 3325, 3327, 3331, 3334, 3335, 3343, 3347,
701 3351, 3354, 3355, 3361, 3364, 3367, 3369, 3373, 3378, 3381,
702 3391, 3396, 3397, 3404, 3407, 3410, 3412, 3415, 3417, 3427,
703 3441, 3445, 3448, 3450, 3454, 3458, 3461, 3464, 3466, 3470,
704 3472, 3479, 3486, 3489, 3492, 3496, 3500, 3506, 3510, 3515,
705 3517, 3520, 3525, 3531, 3542, 3545, 3547, 3551, 3556, 3558,
706 3565, 3568, 3570, 3572, 3578, 3583, 3586, 3588, 3590, 3592,
707 3594, 3596, 3598, 3600, 3602, 3604, 3606, 3608, 3610, 3612,
708 3614, 3616, 3618, 3620, 3622, 3624, 3626, 3628, 3630, 3632,
709 3634, 3636, 3638, 3640, 3642, 3644, 3646, 3648, 3651, 3653
710 };
711 #endif
712
713
714 #if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
715
716 static const char * const yytname[] = { "$","error","$undefined.","IDENTIFIER",
717 "TYPENAME","SELFNAME","PFUNCNAME","SCSPEC","TYPESPEC","CV_QUALIFIER","CONSTANT",
718 "STRING","ELLIPSIS","SIZEOF","ENUM","IF","ELSE","WHILE","DO","FOR","SWITCH",
719 "CASE","DEFAULT","BREAK","CONTINUE","RETURN","GOTO","ASM_KEYWORD","TYPEOF","ALIGNOF",
720 "SIGOF","ATTRIBUTE","EXTENSION","LABEL","REALPART","IMAGPART","AGGR","VISSPEC",
721 "DELETE","NEW","THIS","OPERATOR","CXX_TRUE","CXX_FALSE","NAMESPACE","TYPENAME_KEYWORD",
722 "USING","LEFT_RIGHT","TEMPLATE","TYPEID","DYNAMIC_CAST","STATIC_CAST","REINTERPRET_CAST",
723 "CONST_CAST","SCOPE","EMPTY","PTYPENAME","NSNAME","'{'","','","';'","THROW",
724 "':'","ASSIGN","'='","'?'","OROR","ANDAND","'|'","'^'","'&'","MIN_MAX","EQCOMPARE",
725 "ARITHCOMPARE","'<'","'>'","LSHIFT","RSHIFT","'+'","'-'","'*'","'/'","'%'","POINTSAT_STAR",
726 "DOT_STAR","UNARY","PLUSPLUS","MINUSMINUS","'~'","HYPERUNARY","PAREN_STAR_PAREN",
727 "POINTSAT","'.'","'('","'['","TRY","CATCH","PRE_PARSED_FUNCTION_DECL","EXTERN_LANG_STRING",
728 "ALL","PRE_PARSED_CLASS_DECL","DEFARG","DEFARG_MARKER","TYPENAME_DEFN","IDENTIFIER_DEFN",
729 "PTYPENAME_DEFN","END_OF_LINE","END_OF_SAVED_INPUT","')'","'}'","'!'","']'",
730 "program","extdefs","@1","extdefs_opt",".hush_warning",".warning_ok","extension",
731 "asm_keyword","lang_extdef","@2","extdef","@3","@4","using_decl","any_id","extern_lang_string",
732 "template_header","@5","template_parm_list","maybe_identifier","template_type_parm",
733 "template_template_parm","template_parm","template_def","datadef","ctor_initializer_opt",
734 "maybe_return_init","eat_saved_input","fndef","constructor_declarator","@6",
735 "@7","@8","@9","fn.def1","component_constructor_declarator","fn.def2","return_id",
736 "return_init","base_init",".set_base_init","member_init_list","member_init",
737 "identifier","notype_identifier","identifier_defn","explicit_instantiation",
738 "@10","@11","@12","@13","@14","@15","@16","@17","begin_explicit_instantiation",
739 "end_explicit_instantiation","template_type","self_template_type","template_close_bracket",
740 "template_arg_list_opt","template_arg_list","template_arg","unop","expr","paren_expr_or_null",
741 "paren_cond_or_null","xcond","condition","@18","compstmtend","already_scoped_stmt",
742 "@19","nontrivial_exprlist","nonnull_exprlist","unary_expr",".finish_new_placement",
743 ".begin_new_placement","new_placement","new_initializer","regcast_or_absdcl",
744 "cast_expr","expr_no_commas","notype_unqualified_id","do_id","template_id","object_template_id",
745 "unqualified_id","expr_or_declarator","notype_template_declarator","direct_notype_declarator",
746 "primary","@20","new","delete","boolean.literal","string","nodecls","object",
747 "decl","declarator","fcast_or_absdcl","type_id","typed_declspecs","typed_declspecs1",
748 "reserved_declspecs","declmods","typed_typespecs","reserved_typespecquals","typespec",
749 "typespecqual_reserved","initdecls","notype_initdecls","nomods_initdecls","maybeasm",
750 "initdcl","@21","initdcl0_innards","@22","initdcl0","notype_initdcl0","nomods_initdcl0",
751 "@23","maybe_attribute","attributes","attribute","attribute_list","attrib","any_word",
752 "identifiers_or_typenames","maybe_init","init","initlist","fn.defpen","pending_inline",
753 "pending_inlines","defarg_again","pending_defargs","structsp","@24","@25","@26",
754 "@27","maybecomma","maybecomma_warn","aggr","named_class_head_sans_basetype",
755 "named_class_head_sans_basetype_defn","named_complex_class_head_sans_basetype",
756 "do_xref_defn","named_class_head","unnamed_class_head","class_head","maybe_base_class_list",
757 "base_class_list","base_class","base_class.1","base_class_access_list","left_curly",
758 "self_reference","opt.component_decl_list","component_decl_list","component_decl",
759 "component_decl_1","components","notype_components","component_declarator0",
760 "component_declarator","after_type_component_declarator0","notype_component_declarator0",
761 "after_type_component_declarator","notype_component_declarator","enumlist","enumerator",
762 "new_type_id","cv_qualifiers","nonempty_cv_qualifiers","suspend_mom","nonmomentary_expr",
763 "maybe_parmlist","after_type_declarator","nonnested_type","complete_type_name",
764 "nested_type","direct_after_type_declarator","notype_declarator","complex_notype_declarator",
765 "complex_direct_notype_declarator","qualified_id","notype_qualified_id","overqualified_id",
766 "functional_cast","type_name","nested_name_specifier","nested_name_specifier_1",
767 "typename_sub","typename_sub0","typename_sub1","typename_sub2","explicit_template_type",
768 "complex_type_name","ptr_to_mem","global_scope","new_declarator","direct_new_declarator",
769 "absdcl","direct_abstract_declarator","stmts","errstmt","maybe_label_decls",
770 "label_decls","label_decl","compstmt_or_error","compstmt","@28","simple_if",
771 "@29","@30","implicitly_scoped_stmt","@31","stmt","simple_stmt","@32","@33",
772 "@34","@35","@36","@37","@38","@39","@40","@41","@42","@43","@44","@45","function_try_block",
773 "@46","@47","try_block","@48","@49","handler_seq","handler","@50","@51","type_specifier_seq",
774 "handler_args","label_colon","for.init.statement","maybe_cv_qualifier","xexpr",
775 "asm_operands","nonnull_asm_operands","asm_operand","asm_clobbers","parmlist",
776 "complex_parmlist","defarg","@52","defarg1","parms","parms_comma","named_parm",
777 "full_parm","parm","see_typename","bad_parm","exception_specification_opt","ansi_raise_identifier",
778 "ansi_raise_identifiers","conversion_declarator","operator","operator_name", NULL
779 };
780 #endif
781
782 static const short yyr1[] = { 0,
783 112, 112, 114, 113, 113, 115, 115, 116, 117, 118,
784 119, 121, 120, 122, 122, 122, 122, 122, 122, 122,
785 123, 122, 124, 122, 122, 122, 122, 122, 125, 125,
786 125, 126, 126, 126, 126, 127, 127, 129, 128, 128,
787 130, 130, 131, 131, 132, 132, 133, 134, 134, 134,
788 134, 134, 134, 135, 135, 136, 136, 136, 136, 136,
789 136, 136, 136, 136, 137, 137, 138, 138, 138, 139,
790 139, 140, 140, 140, 142, 141, 141, 143, 141, 141,
791 144, 141, 141, 145, 141, 141, 146, 146, 146, 146,
792 146, 147, 147, 147, 147, 148, 148, 148, 148, 148,
793 148, 148, 149, 150, 150, 150, 151, 152, 153, 153,
794 153, 153, 154, 154, 154, 154, 154, 154, 154, 154,
795 155, 155, 155, 155, 155, 156, 156, 156, 157, 157,
796 157, 159, 158, 160, 158, 161, 158, 162, 158, 163,
797 158, 164, 158, 165, 158, 166, 158, 167, 168, 169,
798 169, 169, 170, 171, 171, 172, 172, 173, 173, 174,
799 174, 175, 175, 175, 175, 175, 176, 176, 177, 177,
800 178, 178, 179, 179, 179, 181, 180, 180, 182, 182,
801 182, 182, 184, 183, 183, 185, 185, 185, 185, 186,
802 186, 187, 187, 187, 187, 187, 187, 187, 187, 187,
803 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
804 187, 187, 187, 187, 187, 188, 189, 190, 190, 191,
805 191, 191, 191, 192, 192, 193, 193, 193, 194, 194,
806 194, 194, 194, 194, 194, 194, 194, 194, 194, 194,
807 194, 194, 194, 194, 194, 194, 194, 194, 194, 194,
808 194, 194, 194, 195, 195, 195, 195, 195, 195, 196,
809 197, 197, 198, 198, 198, 199, 199, 199, 200, 200,
810 200, 200, 201, 201, 202, 202, 202, 202, 203, 203,
811 203, 203, 203, 203, 203, 204, 203, 203, 203, 203,
812 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
813 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
814 203, 203, 203, 203, 203, 203, 203, 203, 203, 205,
815 205, 206, 206, 207, 207, 208, 208, 209, 210, 210,
816 211, 211, 211, 211, 211, 211, 212, 212, 213, 213,
817 214, 214, 214, 214, 214, 215, 215, 216, 216, 216,
818 216, 216, 216, 217, 217, 217, 217, 217, 218, 218,
819 218, 218, 218, 218, 219, 219, 219, 219, 220, 220,
820 221, 221, 221, 221, 221, 221, 221, 222, 222, 222,
821 223, 223, 224, 224, 225, 225, 226, 226, 228, 227,
822 227, 230, 229, 229, 231, 232, 234, 233, 233, 235,
823 235, 236, 236, 237, 238, 238, 239, 239, 239, 239,
824 239, 240, 240, 240, 240, 241, 241, 242, 242, 243,
825 243, 243, 243, 243, 244, 244, 244, 244, 244, 245,
826 246, 246, 246, 247, 247, 248, 248, 249, 249, 249,
827 251, 250, 250, 252, 250, 250, 250, 250, 250, 253,
828 254, 250, 250, 255, 255, 256, 256, 257, 257, 257,
829 257, 257, 258, 259, 260, 260, 260, 260, 260, 261,
830 262, 262, 262, 263, 264, 264, 265, 265, 265, 266,
831 266, 267, 267, 268, 268, 268, 268, 269, 269, 269,
832 269, 270, 271, 272, 272, 272, 272, 273, 273, 274,
833 274, 274, 274, 274, 274, 274, 274, 274, 274, 275,
834 275, 275, 275, 275, 275, 275, 275, 275, 276, 276,
835 276, 277, 277, 277, 278, 278, 279, 279, 280, 280,
836 281, 281, 281, 281, 282, 282, 283, 283, 283, 284,
837 284, 285, 285, 286, 286, 286, 287, 287, 288, 288,
838 289, 290, 291, 291, 291, 291, 292, 292, 292, 292,
839 292, 292, 293, 293, 294, 294, 294, 295, 296, 296,
840 296, 296, 296, 296, 297, 297, 297, 297, 297, 297,
841 298, 298, 298, 298, 298, 298, 299, 299, 299, 299,
842 299, 299, 300, 300, 301, 301, 302, 302, 303, 303,
843 303, 304, 304, 304, 305, 305, 305, 306, 306, 306,
844 306, 307, 307, 308, 308, 308, 308, 309, 309, 309,
845 309, 310, 310, 310, 310, 310, 310, 311, 312, 312,
846 312, 313, 313, 314, 315, 315, 315, 315, 315, 315,
847 315, 316, 316, 317, 317, 317, 317, 317, 317, 317,
848 317, 317, 317, 317, 318, 318, 318, 318, 318, 318,
849 318, 318, 318, 318, 318, 319, 319, 319, 319, 320,
850 321, 321, 322, 322, 323, 324, 324, 326, 325, 328,
851 329, 327, 330, 331, 330, 332, 332, 333, 333, 334,
852 333, 333, 335, 336, 333, 337, 338, 333, 339, 340,
853 341, 342, 333, 343, 344, 333, 345, 333, 346, 333,
854 347, 333, 333, 333, 333, 333, 333, 333, 333, 333,
855 333, 333, 333, 333, 333, 333, 349, 350, 348, 352,
856 353, 351, 354, 354, 356, 357, 355, 358, 358, 359,
857 359, 360, 360, 360, 360, 361, 361, 361, 362, 362,
858 363, 363, 363, 364, 364, 365, 365, 366, 367, 367,
859 368, 368, 368, 369, 369, 369, 369, 369, 369, 369,
860 371, 370, 372, 372, 373, 373, 373, 373, 373, 374,
861 374, 375, 375, 375, 375, 375, 375, 376, 376, 377,
862 377, 378, 379, 379, 380, 380, 380, 381, 382, 382,
863 383, 383, 383, 383, 384, 385, 385, 385, 385, 385,
864 385, 385, 385, 385, 385, 385, 385, 385, 385, 385,
865 385, 385, 385, 385, 385, 385, 385, 385, 385, 385,
866 385, 385, 385, 385, 385, 385, 385, 385, 385, 385
867 };
868
869 static const short yyr2[] = { 0,
870 0, 1, 0, 2, 2, 1, 0, 0, 0, 1,
871 1, 0, 2, 2, 1, 1, 5, 4, 5, 4,
872 0, 6, 0, 5, 5, 2, 4, 2, 2, 3,
873 3, 1, 1, 2, 2, 1, 2, 0, 5, 3,
874 1, 3, 1, 0, 2, 2, 3, 1, 3, 1,
875 3, 1, 3, 2, 2, 2, 3, 3, 2, 2,
876 2, 2, 2, 1, 1, 1, 0, 1, 2, 0,
877 1, 4, 3, 3, 0, 8, 5, 0, 9, 6,
878 0, 8, 5, 0, 9, 6, 2, 2, 1, 2,
879 1, 6, 4, 6, 4, 2, 1, 2, 2, 1,
880 2, 1, 2, 2, 4, 2, 3, 0, 0, 1,
881 3, 2, 3, 1, 4, 2, 4, 2, 4, 2,
882 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
883 1, 0, 6, 0, 6, 0, 5, 0, 5, 0,
884 7, 0, 7, 0, 6, 0, 6, 0, 0, 4,
885 4, 1, 4, 1, 1, 0, 1, 1, 3, 1,
886 1, 1, 1, 1, 1, 1, 1, 1, 1, 3,
887 1, 3, 0, 1, 1, 0, 7, 1, 1, 3,
888 4, 3, 0, 3, 1, 3, 3, 3, 3, 1,
889 1, 1, 2, 2, 2, 2, 2, 2, 2, 4,
890 2, 4, 2, 3, 3, 4, 5, 6, 6, 7,
891 2, 4, 5, 2, 2, 1, 0, 4, 4, 3,
892 1, 3, 2, 3, 4, 1, 2, 5, 1, 3,
893 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
894 3, 3, 3, 3, 3, 3, 3, 3, 5, 3,
895 3, 1, 2, 3, 1, 1, 1, 1, 1, 0,
896 5, 5, 5, 5, 5, 1, 1, 1, 1, 2,
897 2, 3, 4, 4, 1, 1, 1, 3, 1, 1,
898 1, 1, 3, 3, 3, 0, 4, 4, 2, 4,
899 2, 2, 1, 4, 1, 7, 7, 7, 7, 4,
900 4, 2, 2, 2, 1, 4, 2, 2, 5, 3,
901 2, 2, 5, 3, 5, 3, 4, 6, 2, 1,
902 2, 1, 2, 1, 1, 1, 2, 0, 2, 2,
903 3, 3, 3, 2, 2, 2, 1, 1, 1, 2,
904 2, 2, 2, 1, 1, 1, 1, 2, 2, 3,
905 3, 3, 4, 1, 2, 2, 2, 1, 1, 1,
906 2, 2, 2, 1, 1, 2, 2, 3, 1, 2,
907 1, 1, 1, 4, 4, 4, 4, 1, 1, 1,
908 1, 3, 1, 3, 1, 3, 0, 4, 0, 6,
909 3, 0, 4, 1, 3, 3, 0, 4, 3, 0,
910 1, 1, 2, 6, 1, 3, 0, 1, 4, 6,
911 4, 1, 1, 1, 1, 1, 3, 0, 2, 1,
912 2, 3, 4, 1, 1, 3, 4, 3, 5, 1,
913 4, 3, 3, 0, 3, 3, 3, 0, 2, 2,
914 0, 7, 4, 0, 6, 3, 2, 2, 2, 0,
915 0, 9, 1, 0, 1, 0, 1, 1, 2, 2,
916 2, 2, 2, 2, 3, 4, 3, 2, 3, 0,
917 1, 3, 2, 2, 1, 1, 0, 2, 3, 1,
918 4, 1, 3, 1, 1, 4, 4, 2, 2, 3,
919 3, 1, 0, 1, 2, 4, 3, 1, 2, 2,
920 2, 2, 2, 2, 2, 1, 2, 2, 3, 2,
921 2, 4, 4, 2, 1, 5, 4, 1, 0, 1,
922 3, 0, 1, 3, 1, 1, 1, 1, 4, 4,
923 4, 4, 4, 3, 4, 4, 4, 4, 3, 1,
924 3, 1, 3, 2, 1, 7, 0, 2, 1, 2,
925 0, 2, 4, 4, 2, 4, 3, 3, 2, 2,
926 3, 1, 1, 2, 1, 1, 2, 2, 4, 4,
927 3, 3, 2, 1, 3, 3, 2, 2, 3, 1,
928 3, 3, 2, 2, 3, 1, 4, 3, 4, 3,
929 1, 2, 2, 2, 2, 2, 1, 2, 4, 4,
930 2, 1, 1, 1, 1, 2, 4, 2, 2, 2,
931 2, 1, 2, 2, 2, 2, 3, 1, 2, 3,
932 4, 2, 2, 2, 2, 2, 2, 4, 2, 1,
933 2, 2, 3, 1, 3, 2, 3, 2, 2, 3,
934 1, 3, 4, 3, 2, 2, 1, 3, 2, 2,
935 1, 2, 3, 1, 3, 1, 6, 4, 4, 3,
936 5, 3, 3, 3, 2, 1, 1, 2, 2, 2,
937 0, 1, 1, 2, 3, 1, 2, 0, 3, 0,
938 0, 5, 1, 0, 2, 1, 1, 1, 2, 0,
939 4, 1, 0, 0, 5, 0, 0, 7, 0, 0,
940 0, 0, 12, 0, 0, 7, 0, 5, 0, 7,
941 0, 4, 2, 2, 2, 3, 6, 8, 10, 12,
942 4, 3, 2, 2, 1, 1, 0, 0, 6, 0,
943 0, 5, 1, 2, 0, 0, 5, 1, 1, 3,
944 3, 2, 2, 2, 2, 2, 1, 2, 0, 1,
945 0, 1, 1, 0, 1, 1, 3, 4, 1, 3,
946 0, 1, 1, 1, 2, 2, 2, 1, 2, 2,
947 0, 3, 1, 1, 1, 2, 2, 2, 4, 2,
948 2, 2, 2, 2, 2, 1, 2, 1, 2, 1,
949 1, 0, 0, 1, 0, 4, 2, 1, 1, 3,
950 0, 3, 3, 3, 1, 2, 2, 2, 2, 2,
951 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
952 2, 2, 2, 2, 2, 2, 2, 2, 3, 2,
953 2, 2, 2, 3, 2, 2, 4, 4, 3, 2
954 };
955
956 static const short yydefact[] = { 3,
957 12, 12, 5, 0, 4, 0, 257, 602, 603, 0,
958 360, 372, 549, 0, 11, 0, 0, 0, 10, 458,
959 805, 0, 0, 0, 148, 634, 258, 259, 64, 0,
960 0, 792, 0, 36, 0, 0, 13, 0, 8, 0,
961 16, 15, 70, 91, 67, 0, 604, 152, 276, 255,
962 277, 580, 0, 347, 0, 346, 365, 0, 385, 364,
963 402, 371, 0, 471, 470, 477, 476, 475, 453, 359,
964 565, 373, 566, 89, 275, 591, 563, 0, 605, 547,
965 0, 0, 256, 62, 63, 156, 608, 156, 609, 156,
966 260, 148, 121, 122, 123, 124, 125, 444, 447, 0,
967 630, 0, 448, 0, 0, 0, 0, 122, 123, 124,
968 125, 23, 0, 0, 0, 0, 0, 0, 0, 449,
969 612, 0, 618, 0, 0, 0, 0, 0, 0, 29,
970 0, 0, 38, 0, 156, 610, 0, 0, 578, 0,
971 0, 0, 577, 0, 0, 0, 0, 276, 0, 551,
972 0, 275, 547, 28, 0, 26, 3, 37, 0, 55,
973 54, 71, 14, 0, 400, 0, 0, 418, 68, 60,
974 611, 551, 0, 547, 61, 0, 0, 0, 87, 0,
975 381, 337, 562, 338, 574, 0, 547, 362, 361, 59,
976 90, 348, 0, 383, 363, 88, 354, 378, 379, 349,
977 367, 369, 358, 380, 0, 56, 403, 459, 460, 461,
978 462, 474, 130, 129, 131, 463, 464, 468, 0, 0,
979 477, 792, 473, 492, 493, 550, 366, 0, 397, 603,
980 0, 632, 152, 595, 596, 592, 568, 606, 0, 567,
981 564, 0, 840, 836, 835, 833, 815, 820, 821, 0,
982 827, 826, 812, 813, 811, 830, 819, 816, 817, 818,
983 822, 823, 809, 810, 806, 807, 808, 832, 824, 825,
984 814, 831, 0, 828, 738, 365, 739, 801, 260, 257,
985 549, 280, 326, 0, 0, 0, 0, 322, 320, 293,
986 324, 325, 0, 0, 0, 0, 0, 259, 252, 0,
987 0, 163, 162, 0, 164, 165, 0, 0, 166, 0,
988 0, 157, 158, 0, 226, 0, 229, 161, 279, 192,
989 0, 0, 281, 282, 0, 160, 344, 365, 345, 597,
990 305, 295, 0, 0, 0, 0, 156, 0, 446, 0,
991 441, 0, 631, 629, 0, 167, 168, 0, 0, 0,
992 407, 3, 21, 0, 626, 622, 623, 625, 627, 624,
993 121, 122, 123, 0, 124, 125, 614, 615, 619, 616,
994 613, 267, 268, 0, 266, 32, 33, 0, 594, 593,
995 31, 30, 40, 0, 360, 138, 0, 0, 365, 136,
996 0, 0, 576, 0, 575, 254, 271, 0, 584, 270,
997 0, 583, 0, 278, 588, 0, 0, 12, 0, 148,
998 9, 9, 0, 399, 401, 103, 74, 108, 727, 0,
999 66, 65, 73, 106, 0, 0, 104, 69, 590, 0,
1000 0, 555, 0, 795, 0, 560, 0, 559, 0, 0,
1001 0, 0, 547, 400, 0, 58, 551, 547, 573, 0,
1002 351, 352, 0, 57, 400, 356, 355, 357, 350, 370,
1003 387, 386, 465, 469, 467, 0, 472, 478, 0, 0,
1004 368, 400, 547, 75, 0, 0, 0, 0, 547, 81,
1005 548, 579, 603, 633, 152, 0, 0, 829, 834, 367,
1006 547, 547, 0, 547, 839, 156, 0, 0, 0, 199,
1007 0, 0, 201, 214, 215, 0, 0, 0, 0, 0,
1008 253, 198, 195, 194, 196, 0, 0, 0, 0, 0,
1009 279, 0, 0, 0, 193, 154, 155, 273, 0, 197,
1010 0, 0, 227, 0, 0, 0, 0, 0, 0, 0,
1011 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1012 0, 0, 0, 0, 0, 289, 291, 292, 330, 329,
1013 0, 0, 217, 217, 0, 203, 545, 0, 211, 327,
1014 319, 0, 0, 792, 308, 311, 312, 0, 0, 339,
1015 651, 647, 656, 0, 551, 547, 547, 547, 341, 654,
1016 0, 601, 343, 0, 0, 342, 307, 0, 302, 321,
1017 303, 323, 598, 0, 304, 151, 153, 0, 146, 0,
1018 365, 144, 542, 456, 540, 443, 0, 0, 374, 0,
1019 0, 375, 376, 377, 413, 414, 415, 412, 0, 405,
1020 408, 0, 3, 0, 617, 156, 620, 27, 35, 34,
1021 44, 0, 0, 0, 48, 52, 41, 791, 786, 0,
1022 344, 365, 44, 345, 790, 50, 149, 134, 132, 149,
1023 150, 274, 582, 581, 278, 585, 0, 18, 20, 70,
1024 0, 109, 328, 0, 678, 72, 676, 424, 0, 420,
1025 419, 191, 0, 190, 552, 589, 0, 768, 0, 763,
1026 365, 0, 762, 764, 793, 775, 0, 0, 587, 558,
1027 557, 0, 0, 572, 0, 395, 394, 382, 571, 0,
1028 795, 561, 353, 384, 396, 400, 466, 602, 603, 792,
1029 0, 792, 604, 479, 480, 482, 792, 485, 484, 0,
1030 515, 603, 0, 506, 0, 0, 518, 0, 102, 97,
1031 0, 152, 519, 522, 0, 498, 0, 100, 0, 400,
1032 398, 795, 761, 156, 156, 607, 156, 795, 761, 547,
1033 78, 547, 84, 838, 837, 801, 801, 801, 0, 0,
1034 0, 0, 601, 0, 0, 0, 0, 365, 0, 0,
1035 0, 285, 0, 283, 284, 0, 224, 159, 257, 602,
1036 603, 258, 259, 0, 0, 425, 454, 0, 251, 250,
1037 753, 752, 0, 248, 247, 245, 246, 244, 243, 242,
1038 239, 240, 241, 237, 238, 232, 233, 234, 235, 236,
1039 230, 231, 0, 0, 0, 0, 217, 205, 221, 0,
1040 0, 204, 547, 547, 0, 547, 544, 641, 0, 0,
1041 0, 0, 0, 310, 0, 314, 0, 316, 0, 650,
1042 649, 646, 645, 791, 0, 0, 665, 0, 0, 795,
1043 340, 795, 652, 547, 761, 551, 651, 647, 0, 0,
1044 547, 0, 0, 0, 0, 0, 261, 149, 142, 140,
1045 149, 0, 457, 0, 456, 189, 188, 187, 186, 407,
1046 0, 0, 24, 0, 25, 621, 0, 46, 43, 44,
1047 0, 39, 0, 0, 651, 647, 0, 782, 547, 785,
1048 787, 0, 783, 784, 45, 463, 0, 139, 149, 149,
1049 137, 17, 19, 388, 126, 114, 127, 128, 0, 107,
1050 110, 0, 0, 0, 0, 677, 671, 421, 0, 105,
1051 556, 553, 767, 781, 770, 0, 554, 766, 780, 769,
1052 765, 794, 777, 788, 778, 771, 776, 797, 0, 392,
1053 570, 569, 391, 489, 0, 488, 792, 792, 792, 0,
1054 547, 761, 514, 507, 519, 508, 400, 400, 504, 505,
1055 502, 503, 547, 761, 257, 602, 0, 387, 98, 510,
1056 520, 525, 526, 387, 387, 0, 0, 387, 96, 511,
1057 523, 387, 499, 500, 501, 400, 0, 450, 77, 0,
1058 0, 0, 0, 83, 0, 795, 761, 795, 761, 803,
1059 802, 804, 262, 294, 200, 202, 300, 301, 0, 0,
1060 0, 0, 284, 287, 0, 0, 0, 0, 225, 0,
1061 288, 290, 0, 0, 0, 0, 206, 223, 0, 0,
1062 638, 636, 0, 639, 551, 212, 0, 0, 156, 317,
1063 0, 0, 0, 648, 644, 655, 547, 664, 662, 663,
1064 653, 795, 0, 660, 0, 599, 600, 0, 306, 147,
1065 149, 149, 145, 543, 541, 445, 0, 406, 404, 257,
1066 0, 22, 628, 47, 42, 49, 53, 650, 646, 651,
1067 647, 0, 563, 0, 547, 652, 51, 135, 133, 0,
1068 112, 0, 116, 0, 118, 0, 120, 0, 728, 0,
1069 179, 679, 0, 672, 673, 0, 422, 651, 647, 0,
1070 279, 0, 597, 789, 0, 0, 798, 799, 0, 0,
1071 389, 0, 0, 0, 491, 490, 483, 795, 0, 509,
1072 418, 418, 795, 0, 0, 0, 400, 400, 0, 400,
1073 400, 0, 400, 0, 418, 0, 438, 547, 264, 263,
1074 265, 547, 80, 0, 86, 0, 0, 0, 0, 0,
1075 0, 428, 0, 426, 228, 249, 219, 218, 216, 207,
1076 0, 220, 222, 637, 635, 642, 640, 0, 213, 0,
1077 0, 309, 313, 315, 795, 658, 547, 659, 143, 141,
1078 442, 0, 409, 411, 650, 646, 568, 652, 113, 111,
1079 0, 0, 0, 0, 416, 0, 0, 257, 602, 603,
1080 680, 693, 696, 699, 704, 0, 0, 0, 0, 0,
1081 0, 258, 725, 730, 0, 749, 0, 688, 0, 0,
1082 365, 0, 667, 686, 692, 666, 687, 726, 0, 674,
1083 423, 0, 600, 779, 773, 774, 772, 0, 796, 393,
1084 0, 486, 487, 481, 93, 547, 513, 517, 95, 547,
1085 400, 400, 534, 418, 257, 602, 0, 521, 527, 528,
1086 387, 387, 418, 418, 0, 418, 524, 512, 0, 795,
1087 795, 547, 547, 0, 0, 0, 0, 427, 0, 0,
1088 208, 209, 643, 318, 263, 661, 795, 0, 115, 117,
1089 119, 735, 729, 733, 0, 675, 670, 182, 742, 744,
1090 745, 0, 0, 684, 0, 0, 0, 711, 713, 714,
1091 715, 0, 0, 0, 743, 0, 336, 750, 0, 689,
1092 334, 387, 0, 335, 0, 387, 0, 0, 0, 180,
1093 669, 668, 690, 724, 723, 284, 800, 390, 795, 795,
1094 533, 530, 532, 0, 0, 400, 400, 400, 529, 531,
1095 516, 440, 0, 439, 434, 76, 82, 795, 795, 296,
1096 297, 298, 299, 429, 0, 210, 657, 410, 0, 734,
1097 417, 171, 0, 681, 694, 683, 0, 0, 0, 0,
1098 0, 707, 0, 716, 0, 722, 731, 0, 332, 333,
1099 0, 0, 0, 331, 181, 684, 92, 94, 400, 400,
1100 539, 418, 418, 0, 0, 452, 79, 85, 546, 0,
1101 736, 178, 0, 365, 0, 684, 0, 697, 685, 671,
1102 747, 700, 0, 0, 0, 0, 712, 721, 0, 0,
1103 691, 538, 536, 535, 537, 437, 436, 430, 67, 70,
1104 0, 0, 0, 172, 387, 682, 183, 695, 185, 0,
1105 748, 0, 746, 705, 709, 708, 732, 754, 0, 0,
1106 435, 740, 741, 737, 400, 671, 169, 0, 0, 175,
1107 0, 174, 684, 0, 0, 0, 755, 756, 717, 433,
1108 0, 432, 0, 184, 0, 698, 701, 706, 710, 0,
1109 754, 0, 0, 431, 176, 170, 0, 0, 0, 718,
1110 757, 0, 0, 758, 0, 0, 177, 702, 759, 0,
1111 719, 0, 0, 0, 703, 760, 720, 0, 0, 0
1112 };
1113
1114 static const short yydefgoto[] = { 1548,
1115 408, 2, 409, 159, 669, 310, 164, 3, 4, 37,
1116 633, 352, 737, 374, 39, 738, 384, 644, 898, 645,
1117 646, 647, 41, 42, 420, 167, 163, 43, 739, 753,
1118 1017, 759, 1019, 45, 740, 741, 168, 169, 421, 672,
1119 930, 931, 613, 932, 217, 46, 920, 919, 660, 657,
1120 1082, 1081, 881, 878, 134, 918, 47, 48, 528, 311,
1121 312, 313, 314, 1247, 1499, 1404, 1501, 1443, 1532, 1122,
1122 1478, 1496, 346, 870, 315, 1190, 825, 565, 832, 316,
1123 317, 347, 319, 337, 50, 235, 376, 397, 51, 52,
1124 320, 523, 321, 322, 323, 324, 422, 325, 1248, 461,
1125 587, 326, 1249, 54, 200, 650, 327, 201, 501, 202,
1126 180, 193, 58, 444, 462, 1271, 706, 1140, 181, 194,
1127 59, 472, 707, 60, 61, 629, 630, 631, 1226, 427,
1128 796, 797, 1469, 1470, 1436, 1384, 1299, 62, 617, 340,
1129 1167, 1385, 1038, 884, 63, 64, 65, 66, 221, 67,
1130 68, 69, 223, 724, 725, 726, 727, 225, 469, 470,
1131 745, 746, 747, 990, 1000, 991, 1288, 992, 993, 1289,
1132 1290, 614, 615, 566, 860, 329, 430, 431, 174, 182,
1133 71, 72, 73, 183, 184, 151, 75, 130, 330, 331,
1134 332, 77, 333, 79, 729, 121, 122, 123, 477, 103,
1135 80, 334, 837, 838, 855, 590, 1252, 1253, 1123, 1124,
1136 1125, 676, 1254, 937, 1255, 1332, 1446, 1407, 1408, 1256,
1137 1257, 1426, 1333, 1447, 1334, 1480, 1335, 1482, 1527, 1542,
1138 1336, 1503, 1456, 1504, 1413, 423, 673, 1224, 1258, 1346,
1139 1459, 1323, 1324, 1399, 1473, 1445, 1441, 1259, 1452, 1349,
1140 803, 1506, 1507, 1508, 1540, 692, 693, 957, 1136, 1267,
1141 694, 695, 696, 953, 697, 144, 955, 699, 1138, 1139,
1142 495, 82, 83
1143 };
1144
1145 static const short yypact[] = { 96,
1146 195,-32768,-32768, 5576,-32768, 23, 47, 205, 282, 116,
1147 166,-32768,-32768, 1516,-32768, 189, 215, 233,-32768,-32768,
1148 -32768, 624, 1171, 994, 174,-32768, 184, 329,-32768, 1291,
1149 1291,-32768, 4184,-32768, 5576, 248,-32768, 328, 81, 5836,
1150 -32768,-32768, 272, 1031, 371, 352, 368,-32768,-32768,-32768,
1151 -32768, 300, 1751,-32768, 4327,-32768, 1925, 606,-32768, 417,
1152 -32768,-32768, 779,-32768,-32768, 392,-32768,-32768, 409, 4293,
1153 -32768,-32768,-32768, 923,-32768,-32768,-32768, 1163,-32768,-32768,
1154 319, 7614, 387,-32768,-32768, 9017,-32768, 9017,-32768, 9017,
1155 -32768,-32768,-32768, 205, 282, 184, 421, 405, 428, 368,
1156 -32768, 795,-32768, 319, 9017, 9017, 424,-32768,-32768,-32768,
1157 -32768,-32768, 197, 492, 381, 403, 539, 500, 516,-32768,
1158 -32768, 1124,-32768, 476, 205, 282, 1429, 184, 421,-32768,
1159 357, 1634, 474, 10242, 9017,-32768, 9017, 3516,-32768, 1310,
1160 360, 3516,-32768, 845, 3693, 3693, 4184, 468, 471, 491,
1161 532, 549,-32768,-32768, 651,-32768, 560,-32768, 3960, 23,
1162 -32768,-32768,-32768, 603, 417, 680, 111, 404, 659,-32768,
1163 -32768, 611, 175,-32768,-32768, 4084, 4084, 4711, 923, 644,
1164 -32768,-32768, 359,-32768,-32768, 2254,-32768,-32768,-32768,-32768,
1165 -32768, 1925, 710,-32768, 417, 923,-32768,-32768,-32768, 2089,
1166 1925,-32768, 417,-32768, 4739,-32768,-32768,-32768,-32768,-32768,
1167 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 368, 1227, 1082,
1168 392,-32768,-32768,-32768,-32768,-32768, 1351, 319,-32768, 563,
1169 1527,-32768, 251,-32768,-32768,-32768,-32768,-32768, 4212,-32768,
1170 -32768, 416,-32768, 643, 648,-32768,-32768,-32768,-32768, 684,
1171 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1172 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1173 -32768,-32768, 646,-32768,-32768, 1351, 4293, 890,-32768,-32768,
1174 674,-32768,-32768, 9625, 9711, 9797, 9797,-32768,-32768,-32768,
1175 -32768,-32768, 687, 703, 723, 735, 747, 421, 9103, 845,
1176 9797,-32768,-32768, 9797,-32768,-32768, 9797, 7092,-32768, 9797,
1177 79, 765,-32768, 9797,-32768, 9189,-32768, 10651,-32768, 1587,
1178 1298, 9275,-32768, 820, 2141,-32768, 1861, 2029, 10335,-32768,
1179 259,-32768, 1768, 2209, 79, 79, 9017, 10242,-32768, 845,
1180 697, 845,-32768,-32768, 720, 775, 10584, 730, 751, 769,
1181 1873, 560,-32768, 1429,-32768,-32768,-32768,-32768,-32768,-32768,
1182 492, 381, 403, 845, 539, 500, 799, 516,-32768, 827,
1183 -32768, 205, 282, 830,-32768,-32768,-32768, 1634,-32768,-32768,
1184 -32768,-32768,-32768, 5089,-32768,-32768, 4739, 10544, 2149,-32768,
1185 79, 650,-32768, 495,-32768,-32768,-32768, 3516,-32768,-32768,
1186 3516,-32768, 788,-32768,-32768, 4212, 54, 802, 814,-32768,
1187 -32768,-32768, 651,-32768, 417,-32768,-32768,-32768,-32768, 136,
1188 -32768,-32768,-32768,-32768, 7183, 9103,-32768,-32768,-32768, 9103,
1189 793,-32768, 6540, 100, 4453,-32768, 4453,-32768, 4546, 4546,
1190 4711, 813,-32768, 417, 4739,-32768, 823,-32768,-32768, 4648,
1191 2089, 1925, 4739,-32768, 417,-32768,-32768, 417, 2089,-32768,
1192 909,-32768,-32768, 368,-32768, 1227,-32768, 2351, 1705, 56,
1193 1351, 417,-32768,-32768, 869, 871, 902, 891,-32768,-32768,
1194 -32768,-32768, 989,-32768, 264, 853, 856,-32768,-32768, 1351,
1195 -32768,-32768, 682,-32768,-32768, 9017, 9103, 674, 7092,-32768,
1196 444, 7092,-32768,-32768,-32768, 9017, 4911, 4911, 4911, 4911,
1197 10629,-32768,-32768,-32768,-32768, 861, 9883, 9883, 7092, 863,
1198 468, 864, 915, 867,-32768,-32768,-32768,-32768, 9017,-32768,
1199 6722, 7092,-32768, 9103, 9103, 7274, 9103, 9103, 9103, 9103,
1200 9103, 9103, 9103, 9103, 9103, 9103, 9103, 9103, 9103, 9103,
1201 9103, 9103, 9103, 9103, 9103,-32768,-32768,-32768,-32768,-32768,
1202 9103, 9103,-32768,-32768, 3090, 489, 551, 7974,-32768,-32768,
1203 -32768, 927, 1527, 970, 469, 475, 493, 1785, 360,-32768,
1204 454, 454,-32768, 5298, 878, 901, 962,-32768,-32768, 427,
1205 8472, 858,-32768, 812, 319,-32768,-32768, 9103,-32768,-32768,
1206 -32768,-32768,-32768, 89, 387,-32768,-32768, 79,-32768, 4739,
1207 2405,-32768, 948, 961,-32768,-32768, 845, 799,-32768, 7706,
1208 7797,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 113,-32768,
1209 929, 921, 560, 973, 983, 9017,-32768,-32768,-32768,-32768,
1210 1188, 174, 1009, 152, 988, 990,-32768,-32768, 2783, 10297,
1211 2783, 2555, 779, 5228,-32768, 995,-32768,-32768,-32768,-32768,
1212 -32768,-32768,-32768,-32768, 952,-32768, 1001,-32768,-32768, 272,
1213 80, 200, 1003, 915,-32768,-32768,-32768,-32768, 5722, 10629,
1214 -32768, 775, 969, 10584,-32768,-32768, 971,-32768, 972, 369,
1215 3338, 975,-32768, 190, 10060, 1017, 1020, 503,-32768,-32768,
1216 -32768, 4453, 4453,-32768, 4648,-32768, 1033,-32768,-32768, 992,
1217 100,-32768, 2089,-32768,-32768, 417,-32768, 381, 403,-32768,
1218 1006,-32768, 516, 1041,-32768,-32768, 121,-32768,-32768, 1284,
1219 -32768, 999, 485,-32768, 9103, 3453,-32768, 3453, 278, 278,
1220 135, 511, 3359, 10115, 4809,-32768, 126, 278, 1043, 417,
1221 -32768, 100, 10487, 9017, 9017,-32768, 9017, 100, 10487,-32768,
1222 -32768,-32768,-32768,-32768,-32768, 920, 920, 920, 79, 1002,
1223 1004, 9367, 962, 1008, 1010, 1012, 1042, 3242, 1046, 1047,
1224 1049,-32768, 1024,-32768,-32768, 1026,-32768,-32768, 1078, 356,
1225 749, 170, 63, 9103, 1080,-32768, 1084, 1037, 10629, 10629,
1226 -32768,-32768, 1086, 3084, 5372, 4500, 4604, 1948, 3842, 4235,
1227 2445, 2445, 2445, 1239, 1239, 1443, 1443, 707, 707, 707,
1228 -32768,-32768, 1048, 1038, 9103, 9017,-32768, 489,-32768, 7183,
1229 9103,-32768,-32768,-32768, 9103,-32768,-32768, 1063, 9797, 1053,
1230 1071, 1103, 1132,-32768, 9103,-32768, 9103,-32768, 9103, 2727,
1231 -32768, 2727,-32768, 88, 1074, 1077,-32768, 1075, 4911, 100,
1232 -32768, 100, 4056,-32768, 10487, 1076, 8656, 8656, 6032, 1087,
1233 9189, 1089, 2282, 2209, 859, 1093,-32768,-32768,-32768,-32768,
1234 -32768, 9103, 845, 1085, 961,-32768, 10629,-32768, 10629, 1873,
1235 1095, 9453,-32768, 1096,-32768,-32768, 79,-32768,-32768, 1641,
1236 5089,-32768, 4911, 9017, 2001, 2001, 6141,-32768,-32768,-32768,
1237 -32768, 2254,-32768,-32768,-32768, 255, 9103,-32768,-32768,-32768,
1238 -32768,-32768,-32768,-32768, 492,-32768, 539, 500, 9103, 1139,
1239 -32768, 531, 537, 595, 915,-32768, 48,-32768, 35,-32768,
1240 -32768,-32768,-32768,-32768,-32768, 8564,-32768,-32768,-32768,-32768,
1241 -32768,-32768,-32768, 1020, 1144,-32768,-32768,-32768, 4911,-32768,
1242 -32768,-32768, 1145,-32768, 9017,-32768,-32768,-32768,-32768, 1014,
1243 -32768, 10487, 10629,-32768, 1090,-32768, 417, 417,-32768,-32768,
1244 -32768,-32768,-32768, 10487, 507, 792, 9103, 909,-32768, 1151,
1245 -32768,-32768,-32768, 398, 652, 1163, 360, 706, 278, 1154,
1246 -32768, 767,-32768,-32768,-32768, 417, 4992,-32768,-32768, 1107,
1247 79, 79, 79,-32768, 1108, 100, 10487, 100, 10487,-32768,
1248 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1128, 1141,
1249 1146, 1147, 952,-32768, 5946, 7183, 6816, 1138,-32768, 9103,
1250 -32768,-32768, 1140, 1142, 1148, 4911,-32768,-32768, 1149, 199,
1251 614, 614, 1143, 614,-32768,-32768, 9797, 1253, 9017,-32768,
1252 1157, 1160, 1164,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1253 -32768, 100, 1165,-32768, 1169,-32768,-32768, 2491,-32768,-32768,
1254 -32768,-32768,-32768, 10629,-32768,-32768, 1162,-32768,-32768, 128,
1255 1166,-32768,-32768,-32768,-32768,-32768,-32768, 2390, 2390, 2463,
1256 2463, 6141,-32768, 2254,-32768, 3175, 10651,-32768,-32768, 1168,
1257 -32768, 200,-32768, 9103,-32768, 9103,-32768, 9103,-32768, 845,
1258 -32768,-32768, 6353, 1257,-32768, 6907,-32768, 8748, 8748, 6446,
1259 77, 1178, 238,-32768, 7183, 6998,-32768,-32768, 142, 7183,
1260 -32768, 1193, 1196, 2351,-32768,-32768,-32768, 100, 1197,-32768,
1261 1247, 1247, 100, 1219, 9103, 9103, 10406, 417, 3714, 417,
1262 417, 936, 417, 3813, 1247, 5460,-32768,-32768,-32768, 1275,
1263 -32768,-32768,-32768, 1223,-32768, 1225, 9103, 9103, 9103, 9103,
1264 7183,-32768, 1273,-32768,-32768, 10629,-32768,-32768,-32768, 419,
1265 1148,-32768,-32768,-32768,-32768,-32768,-32768, 1233,-32768, 1302,
1266 79,-32768,-32768,-32768, 100,-32768,-32768,-32768,-32768,-32768,
1267 -32768, 9103,-32768,-32768, 2390, 2390,-32768, 3175,-32768,-32768,
1268 1242, 1249, 1254, 1267,-32768, 759, 155, 1312, 817, 844,
1269 -32768,-32768,-32768,-32768,-32768, 9103, 1314, 1317, 1318, 8840,
1270 214, 509,-32768,-32768, 8931, 1371, 1321,-32768, 4420, 10183,
1271 10352, 6243,-32768,-32768, 1366,-32768,-32768,-32768, 8083,-32768,
1272 -32768, 1277, 377,-32768,-32768,-32768,-32768, 4911,-32768,-32768,
1273 7183,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1274 10406, 10406,-32768, 1247, 593, 934, 9103,-32768,-32768,-32768,
1275 909, 909, 1247, 1247, 989, 1247,-32768,-32768, 5896, 100,
1276 100,-32768,-32768, 1278, 1280, 1285, 1286,-32768, 7183, 9103,
1277 -32768, 419,-32768,-32768,-32768,-32768, 100, 1287,-32768,-32768,
1278 -32768,-32768, 1267,-32768, 845,-32768,-32768,-32768,-32768,-32768,
1279 -32768, 597, 597, 915, 1290, 1304, 10384,-32768,-32768,-32768,
1280 -32768, 1340, 9103, 1343,-32768, 915,-32768,-32768, 1319,-32768,
1281 -32768, 909, 781,-32768, 785, 909, 9539, 829, 165,-32768,
1282 -32768,-32768,-32768,-32768,-32768, 274,-32768,-32768, 100, 100,
1283 -32768,-32768,-32768, 9103, 9103, 10406, 417, 417,-32768,-32768,
1284 -32768,-32768, 7888,-32768,-32768,-32768,-32768, 100, 100,-32768,
1285 -32768,-32768,-32768,-32768, 1296,-32768,-32768,-32768, 1320,-32768,
1286 -32768,-32768, 9017,-32768,-32768,-32768, 1394, 8379, 6631, 9017,
1287 9103,-32768, 8191,-32768, 1354,-32768,-32768, 651,-32768,-32768,
1288 9969, 9969, 7365,-32768,-32768, 915,-32768,-32768, 10406, 10406,
1289 -32768, 1247, 1247, 1315, 10539, 1324,-32768,-32768,-32768, 10500,
1290 -32768,-32768, 1316, 627, 4739, 915, 8285,-32768,-32768, 48,
1291 -32768,-32768, 1365, 1322, 10607, 8191,-32768,-32768, 1267, 74,
1292 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 371, 272,
1293 1329, 1332, 915,-32768, 909,-32768,-32768,-32768,-32768, 604,
1294 -32768, 7456,-32768,-32768,-32768,-32768, 1267, 1430, 1382, 150,
1295 -32768,-32768,-32768,-32768, 417, 48,-32768, 9103, 1384,-32768,
1296 1385,-32768, 915, 8191, 1353, 590, 1391,-32768,-32768,-32768,
1297 136,-32768, 1387,-32768, 1347,-32768,-32768,-32768,-32768, 9103,
1298 1430, 1396, 1430,-32768,-32768,-32768, 7547, 1350, 591,-32768,
1299 -32768, 7183, 1352,-32768, 1448, 1402,-32768,-32768,-32768, 178,
1300 -32768, 8285, 1453, 1409,-32768,-32768,-32768, 1472, 1475,-32768
1301 };
1302
1303 static const short yypgoto[] = {-32768,
1304 1476,-32768, -313,-32768, 1067, 18, 10, 1478,-32768, 350,
1305 -32768,-32768, 562, 1130,-32768, 8,-32768,-32768, -601,-32768,
1306 -32768, 581,-32768, 1333, -664, 19, -660, 1336, 64,-32768,
1307 -32768,-32768,-32768,-32768, 755,-32768,-32768,-32768,-32768,-32768,
1308 -32768, 389, 1718,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1309 -32768,-32768,-32768,-32768, 1413, -639, 5081, 60, -126, -62,
1310 1369, -495,-32768, 58,-32768, 176,-32768, -1305,-32768, -761,
1311 -32,-32768, 1361, 732, -213, 322, -509,-32768, -793, 3493,
1312 414, 1065, 3507, 1236, -307, -74, -9, 570, -70, 208,
1313 -32768,-32768,-32768, -309,-32768, -151,-32768,-32768, -1171, -37,
1314 -321, 1870, 57, 1134, -152, 40, 94, -186, -4, -168,
1315 -900, 279,-32768, 33, -110,-32768, -229,-32768,-32768,-32768,
1316 -32768,-32768, 212, 2459, -14,-32768, 638,-32768,-32768, -1006,
1317 -361, 857,-32768,-32768,-32768,-32768,-32768, -52,-32768,-32768,
1318 -32768,-32768,-32768, 654, -371,-32768,-32768,-32768,-32768,-32768,
1319 -32768,-32768, 1325,-32768, 391, 567,-32768,-32768,-32768,-32768,
1320 538, -682,-32768,-32768,-32768,-32768,-32768,-32768, 803,-32768,
1321 384, 937, 668, 1015, 3222, 7, 17, -417, 1370, 1885,
1322 -439,-32768, 6,-32768, 4950, -143, 566, -65, 3794, 1230,
1323 -32768, 4464, 1839, 129, -8, -105,-32768, 1437, -63,-32768,
1324 4081, 2623, -293,-32768, 2343,-32768,-32768, 312,-32768,-32768,
1325 442, 75, -397,-32768,-32768,-32768,-32768, -1311,-32768, -1146,
1326 -1329,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1327 -32768,-32768,-32768,-32768,-32768, 85,-32768,-32768,-32768,-32768,
1328 -32768, 110, -1247,-32768,-32768, -58,-32768,-32768,-32768,-32768,
1329 -1349, 50,-32768, 68,-32768, -645, -496, 633,-32768,-32768,
1330 -32768,-32768, -383,-32768, -366, -111,-32768, 924, 324,-32768,
1331 46,-32768, -214
1332 };
1333
1334
1335 #define YYLAST 10735
1336
1337
1338 static const short yytable[] = { 57,
1339 655, 399, 402, 407, 204, 452, 592, 236, 935, 923,
1340 70, 40, 653, 36, 120, 179, 478, 656, 371, 101,
1341 921, 35, 677, 278, 602, 335, 601, 336, 728, 710,
1342 57, 457, 460, 788, 1047, 57, 138, 142, 632, 451,
1343 471, 70, 40, 55, 36, 207, 70, 40, 459, 36,
1344 192, 915, 35, 974, 826, 976, 379, 35, 370, 1453,
1345 53, 377, 1003, 681, 570, 227, 382, 44, 173, 236,
1346 500, 503, 391, 1347, 55, 1400, 165, 276, 1449, 55,
1347 1120, 328, 84, 328, 570, 328, 240, 856, 277, 490,
1348 570, 53, 749, 1126, 856, -1, 53, 56, 44, 943,
1349 328, 328, 533, 44, 1454, 1362, 229, 1010, 481, 343,
1350 468, 417, 1365, 1015, 1461, 236, 136, 1479, 191, 605,
1351 86, 380, 381, -276, -125, 786, 288, 968, 56, 389,
1352 328, 85, 328, 56, 1476, 1488, 674, 233, 157, 204,
1353 70, 490, 26, 1127, 1277, 1278, 944, 204, 204, 945,
1354 1510, 398, 401, 526, 57, 527, 1121, 969, 1298, 979,
1355 698, 667, 345, 349, 750, 70, 173, 858, -328, -276,
1356 -276, 890, 418, 388, 204, 275, 1502, 1533, 158, 773,
1357 207, 1489, 435, 437, -269, 1004, 1212, 924, 207, 91,
1358 387, 1518, 980, 675, -2, 787, 981, 386, 55, 173,
1359 1268, 948, 925, 718, 719, 419, 238, -328, 606, 607,
1360 901, 418, 1479, 92, 1327, 53, 93, 108, 109, 1073,
1361 891, 432, 44, 204, 1327, 715, 902, 56, 455, 982,
1362 238, -124, 933, 240, 1005, 1213, 1543, 1451, 1080, 1400,
1363 150, 1083, 751, 135, 419, 580, 926, 133, 949, 1269,
1364 575, 950, 56, 26, 353, 927, 928, 135, 87, 238,
1365 354, 671, 567, 1328, 661, 662, 1457, 433, 238, 110,
1366 111, 900, 227, 1425, 608, 204, 936, 1373, 88, 1108,
1367 1109, 105, 457, 460, -591, 1544, 1379, 1380, 377, 1381,
1368 457, 772, 929, 1343, 602, 399, 402, 479, 1094, 713,
1369 635, 485, 460, 328, 15, 597, 1193, 106, -387, 1486,
1370 762, 655, 640, -43, 238, 576, 276, 1046, -43, 894,
1371 -278, 460, 8, 9, 227, 107, 1149, 277, 954, -43,
1372 -591, -591, 328, 611, 708, 89, 204, -387, 1154, 240,
1373 155, -387, 714, 480, 70, -591, -551, 238, 1353, 658,
1374 1358, 598, 150, 150, 150, 90, 763, 1519, 478, 280,
1375 372, 373, 10, 125, 126, 520, -278, -278, 639, 592,
1376 238, 1174, 856, 1176, 128, 129, 414, 388, 162, 652,
1377 943, -272, 136, 192, 154, 150, -387, 156, -278, 161,
1378 654, 643, -551, 172, 610, 166, 1311, 21, 204, 204,
1379 207, 609, 137, -278, 231, -551, 204, -278, 1097, 87,
1380 856, 170, 27, 298, 275, 128, 129, -122, 204, 8,
1381 483, 171, -337, -278, 15, 1464, 1465, 944, 691, 88,
1382 945, 56, -791, 769, 356, -278, -278, 204, -278, 654,
1383 -278, 1209, 1210, 207, 32, 702, 703, 18, 1075, 856,
1384 424, -551, 447, 222, 88, -337, 357, 125, 126, -337,
1385 279, 238, 13, 342, 57, 829, 224, 425, 1048, -278,
1386 -278, 128, 129, 864, 136, 70, 90, 651, 114, 115,
1387 116, 877, 830, 1003, -278, 341, 736, 685, 125, 126,
1388 580, 328, -337, 716, 328, 484, 426, 328, 125, 126,
1389 580, 328, 778, 778, 778, 778, 567, 26, 744, 128,
1390 129, 831, 1310, 339, 328, 844, 351, 655, 1396, 865,
1391 866, 846, 238, 581, 328, 743, 651, 328, 742, 653,
1392 728, 117, 118, 582, 656, 829, 772, 1119, 26, 848,
1393 128, 129, 342, 583, 457, 355, 584, 585, 383, 958,
1394 128, 129, 830, 359, 125, 126, 520, 983, 204, 520,
1395 276, 845, 56, 775, 602, 38, 601, 847, 1155, 360,
1396 1345, 277, 879, 897, 484, -269, 520, 1113, 404, 652,
1397 86, 831, 135, 1115, 172, 849, 691, 850, 852, 520,
1398 654, 490, 358, 802, 238, 959, 38, 654, 152, 204,
1399 240, 38, 149, 984, 26, 856, 128, 129, 964, 473,
1400 966, 908, 135, 913, 914, 970, 89, 125, 126, 824,
1401 833, 238, 481, 1114, 371, 840, 93, 108, 109, 1116,
1402 834, 328, 120, 856, 198, 199, 90, 1198, 204, 405,
1403 14, 1117, 1023, 1402, 835, 192, 150, 150, 150, 227,
1404 1497, 1521, 1535, 914, 1374, 474, -586, 533, 275, 605,
1405 204, 283, 20, 934, 205, 206, 86, 26, -7, 128,
1406 129, 23, 933, 580, 1182, 1184, -338, 651, 15, 110,
1407 111, 112, 416, 833, 651, 125, 126, 1118, 1481, 1403,
1408 652, 1011, 1012, 834, 1013, 413, 1498, 1522, 1536, 504,
1409 505, 654, 445, 446, 728, 989, 238, 835, 529, -338,
1410 152, 152, 152, -338, 513, 400, 403, 514, 428, 772,
1411 515, 429, 238, 525, 526, 204, 527, 530, 773, 342,
1412 -101, 57, 15, 57, 1514, 569, 486, 128, 129, 192,
1413 57, 487, 70, 152, 70, 488, -338, 149, 652, 328,
1414 328, 70, 328, 736, 652, 736, 489, 1194, 1195, 654,
1415 1197, 232, 736, -101, 1184, 654, 497, -101, 453, 454,
1416 1093, 977, 978, 1264, 1266, 744, 507, 744, 1270, 506,
1417 1006, 93, 94, 95, 744, 208, 209, 210, 651, 554,
1418 555, -99, 743, 15, 975, 742, 508, 742, 8, 9,
1419 -101, 743, 89, 742, 742, 616, 988, 998, 509, 1491,
1420 -123, 1020, 1021, 1022, 211, 8, 9, 1325, 1326, 1308,
1421 510, 328, 90, 529, -99, 1511, 1050, 619, -99, 56,
1422 570, 56, 26, 620, 96, 97, 212, 622, 56, 445,
1423 1419, 236, 342, 453, 1420, 87, 651, 93, 108, 109,
1424 128, 129, 651, 1156, 778, 1144, 1145, 1146, 623, 342,
1425 652, -99, 8, 9, 691, 88, -547, 128, 129, -547,
1426 87, 654, 636, 850, 852, 654, 624, 522, 1330, 240,
1427 637, 213, 214, 215, 1169, 1170, 1171, 445, 1424, 638,
1428 88, 232, 1053, 125, 126, 665, 652, 89, 778, 328,
1429 110, 111, 652, 686, 861, 1331, 342, 654, 643, 1368,
1430 -6, 1098, 1099, 654, 128, 129, -547, 90, -547, -547,
1431 704, -547, 668, 125, 126, 236, 520, 963, 481, 773,
1432 513, 514, -547, 709, -547, 15, 1406, 989, 484, 125,
1433 1295, 691, 754, 26, 755, 128, 129, 1394, 1417, 15,
1434 -547, -547, 654, -387, 778, 756, 399, 402, 651, 491,
1435 328, 1008, 651, 764, 757, -547, 765, 652, 782, 492,
1436 784, 785, 675, 26, 787, 128, 129, 843, 654, 652,
1437 841, -387, -387, 342, 399, 402, -387, 87, 857, 491,
1438 654, 128, 129, 859, 651, 1375, 1201, 125, 126, 492,
1439 651, 238, 57, 238, 152, 152, 152, 88, 861, 400,
1440 403, 882, 652, 70, 652, 484, 114, 718, 719, 883,
1441 1158, 892, 1142, 654, 736, 654, 1160, 1161, 1406, 893,
1442 1158, 1163, 895, 236, 1161, 760, 896, 127, 988, 651,
1443 238, 778, 89, 721, 20, 971, 744, 26, 1406, 128,
1444 129, 903, 89, 904, 328, 233, 655, 15, 917, -272,
1445 922, -387, 90, 743, 418, 651, 742, 26, 522, 117,
1446 118, 522, 90, 1472, 1315, 1494, 940, 651, 941, 942,
1447 -790, 761, 947, 956, 93, 94, 95, 400, 783, -387,
1448 -387, 972, 985, 986, 9, 10, 960, 652, 965, 967,
1449 56, 522, 961, 934, 1007, 1406, 1215, 1216, 654, 1024,
1450 651, 1025, 651, 677, 150, 1026, 1029, 1027, 1251, 1028,
1451 1030, 1031, 773, 1032, 238, 691, 361, 362, 363, 70,
1452 21, 1033, 1246, 1034, 1215, 1216, 654, 96, 97, -121,
1453 1245, 1036, 1037, 26, 1039, 27, 28, 1040, 1042, 1150,
1454 318, 987, 318, 150, 318, 1041, 1055, 683, 1058, 176,
1455 872, 57, 1250, 1057, 689, 7, 8, 230, 10, 177,
1456 1537, 364, 70, 114, 115, 116, 1059, 32, 1060, 365,
1457 366, 1066, 178, 736, 1067, 1068, 1074, 520, 1151, 1152,
1458 361, 362, 363, 1086, 1076, 651, 1077, 1112, 204, 318,
1459 1079, 318, 1089, 21, 1092, 744, 238, 1135, 1141, 1159,
1460 231, 1352, 1164, 1352, 1168, 1172, 56, 1165, 27, 28,
1461 1177, 485, 743, 651, 26, 742, 117, 118, 770, 93,
1462 94, 95, 238, 1178, 1304, 1305, 1306, 1307, 1179, 1180,
1463 1251, 26, 232, 365, 366, 192, 1185, 1251, 1187, 1188,
1464 32, 70, 1056, 1196, 1251, 1189, 1192, 490, 70, 56,
1465 1200, 1246, 1245, 778, 1202, 70, 1460, 1203, 1246, 1245,
1466 1211, 1204, 1207, 1214, 342, 1219, 1245, 399, 402, 1208,
1467 513, 514, 96, 97, 1250, 1263, 114, 718, 719, 1120,
1468 238, 1250, 823, 7, 125, 126, 10, 1342, 1250, 13,
1469 1272, 8, 9, 1273, 1276, 12, 13, 150, 150, 150,
1470 425, 14, 7, 125, 126, 10, 549, 550, 551, 552,
1471 553, 554, 555, 1377, 1378, 16, 1280, 17, -628, 876,
1472 1302, 21, 1303, 20, 1309, 150, 150, 150, 56, 117,
1473 118, 872, 23, 1313, 26, 56, 27, 28, 1314, 1319,
1474 21, 26, 56, 128, 129, 563, 1320, 231, 198, 199,
1475 30, 1321, 1322, 511, 14, 27, 28, 1395, 1283, 1284,
1476 31, 1293, 1294, 1329, 1296, 1338, 1339, 1340, 32, 1348,
1477 1350, 1363, 1409, 33, 1366, 1390, 20, 1391, 455, 232,
1478 564, 204, 1392, 1393, 1398, 23, 1410, 32, 1444, 1414,
1479 1415, 318, 1416, 1251, 1251, 1444, 1439, 1475, 1251, 277,
1480 1448, 1418, 1440, 1458, 70, 70, 277, 1246, 328, 70,
1481 1468, 1466, 1246, 1474, 1483, 1245, 1245, 702, 703, 1484,
1482 1245, 280, 372, 373, 10, 652, 1492, 400, 783, 1493,
1483 1505, 1509, 1251, 1516, 1517, 1520, 654, 1250, 1250, 1523,
1484 1525, 1251, 1250, 70, 1526, 1530, 1246, 1534, 1539, 1538,
1485 1442, 1541, 70, 1546, 1245, 1246, 802, 1442, 1547, 21,
1486 1199, 1549, 152, 1245, 1550, 1, 149, 1444, 670, 5,
1487 520, 1095, 26, 634, 27, 298, 1250, 1490, 277, 680,
1488 684, 411, 1371, 1372, 412, 1250, 275, 684, 999, 1251,
1489 1220, 56, 56, 275, 338, 392, 56, 1495, 1405, 1545,
1490 70, 152, 1312, 1246, 496, 1132, 32, 649, 93, 94,
1491 95, 1245, 551, 552, 553, 554, 555, 1088, 1355, 93,
1492 108, 109, 475, 651, 1274, 939, 1147, 1251, 1087, 1442,
1493 56, 513, 514, 1250, 1166, 467, 1001, 1297, 70, 56,
1494 1085, 1246, 448, 885, 577, 1515, 1043, 1044, 369, 1245,
1495 318, 684, 1049, 1361, 150, 1260, 649, 21, 1487, 26,
1496 1529, 96, 97, 98, 1512, 275, 1061, 1528, 1062, 828,
1497 1063, 1250, 110, 111, 802, 1524, 1134, 1431, 1432, 1433,
1498 1531, 1367, 0, 318, 0, 680, 0, 56, 799, 800,
1499 0, 804, 805, 806, 807, 808, 809, 810, 811, 812,
1500 813, 814, 815, 816, 817, 818, 819, 820, 821, 822,
1501 0, 0, 0, 1091, 0, 684, 0, 0, 150, 150,
1502 150, 0, 0, 556, 962, 56, 280, 372, 373, 10,
1503 1462, 1463, 0, 93, 108, 109, 0, 208, 209, 210,
1504 0, 0, 0, 0, 0, 684, 0, 0, 525, 0,
1505 1110, 0, 684, 0, 0, 152, 152, 152, 0, 0,
1506 400, 403, 557, 558, 21, 1009, 211, 559, 560, 561,
1507 562, 1014, 0, 0, 887, 889, 0, 0, 0, 27,
1508 298, 0, 0, 152, 152, 152, 110, 111, 400, 1262,
1509 318, 0, 0, 0, 0, 731, 1513, 7, 8, 732,
1510 10, 385, 12, 13, 0, 0, 0, 649, 14, 0,
1511 0, 32, 0, 0, 649, 0, 0, 0, 0, 0,
1512 0, 99, 16, 0, 17, 18, 19, 0, 0, 113,
1513 20, -494, 0, 680, 0, 21, 0, 0, 0, 23,
1514 733, 0, 642, 7, 8, 9, 10, 0, 26, 0,
1515 27, 28, 0, 0, 734, 0, 735, 0, 0, 0,
1516 280, 8, 9, 10, 30, 0, 0, 0, 0, 0,
1517 216, 0, 0, 1069, 31, 1070, 682, 280, 125, 126,
1518 10, 21, 32, 682, 0, 0, 0, 33, 0, 973,
1519 0, 0, 0, 0, 26, 0, 27, 28, 21, 0,
1520 175, 0, 0, -494, 0, 231, 0, 0, 318, 318,
1521 176, 318, 0, 27, 298, 21, 0, 0, 649, 0,
1522 177, 0, 231, 0, 513, 514, 684, 0, 32, 367,
1523 27, 298, 78, 178, 0, 1221, 0, 1222, 0, 1223,
1524 0, 0, 102, 0, 0, 32, 0, 682, 1035, 0,
1525 0, 396, 131, 0, 125, 126, 0, 0, 140, 140,
1526 0, 140, 32, 78, 0, 93, 108, 109, 78, 625,
1527 626, 627, 0, 0, 0, 0, 649, 0, 0, 684,
1528 684, 186, 649, 78, 680, 684, 0, 0, 0, 0,
1529 0, 219, 0, 0, 0, 0, 0, 580, 102, 684,
1530 0, 684, 0, 684, 26, 0, 128, 129, 0, 242,
1531 102, 682, 152, 0, 0, 0, 1132, 0, 110, 111,
1532 581, 197, 198, 199, 0, 0, 463, 465, 14, 1173,
1533 582, 1175, 102, 1318, 0, 0, 1084, 0, 476, 0,
1534 583, 682, 0, 584, 585, 18, 684, 0, 682, 0,
1535 20, 0, 0, 0, 0, 131, 0, 0, 318, 23,
1536 131, 0, 78, 0, 348, 350, 140, 0, 0, 394,
1537 140, 1107, 0, 140, 140, 140, 152, 152, 152, 0,
1538 0, 400, 1262, 684, 0, 1206, 0, 78, 649, 0,
1539 0, 0, 649, 7, 8, 9, 10, 0, 0, 13,
1540 684, 0, 0, 0, 186, 186, 186, 512, 542, 543,
1541 544, 545, 546, 547, 548, 549, 550, 551, 552, 553,
1542 554, 555, 125, 126, 649, 0, 198, 199, 0, 0,
1543 649, 21, 14, 186, 0, 0, 0, 580, 0, 0,
1544 0, 1157, 0, 0, 26, 0, 27, 28, 466, 618,
1545 436, 438, 442, 0, 20, 0, 102, 0, 628, 0,
1546 905, 1275, 0, 23, 0, 580, 1279, 140, 0, 649,
1547 906, 618, 26, 0, 128, 129, 0, 0, 32, 0,
1548 583, 0, 0, 907, 585, 456, 198, 199, 581, 0,
1549 680, 680, 14, 0, 1186, 649, 0, 0, 582, 0,
1550 0, 0, 0, 0, 0, 102, 493, 649, 583, 18,
1551 0, 591, 585, 318, 20, 0, 0, 0, 1316, 0,
1552 0, 0, 682, 23, 0, 0, 0, 0, 0, 0,
1553 0, 571, 0, 280, 372, 373, 10, 0, 572, 0,
1554 649, 0, 649, 0, 0, 197, 198, 199, 0, 102,
1555 0, 0, 14, 578, 0, 493, 493, 594, 0, 0,
1556 0, 0, 0, 0, 0, 0, 78, 524, 684, 18,
1557 684, 21, 684, 717, 20, 682, 682, 0, 573, 0,
1558 680, 682, 131, 23, 26, 0, 27, 298, 0, 680,
1559 680, 0, 0, 0, 680, 682, 0, 682, 659, 682,
1560 0, 599, 8, 9, 10, 0, 131, 0, 0, 1281,
1561 1282, 0, 102, 1386, 1387, 186, 102, 0, 574, 0,
1562 0, 0, 0, 0, 0, 649, 140, 0, 0, 140,
1563 1397, 0, 0, 0, 140, 680, 288, 600, 795, 21,
1564 0, 0, 682, 648, 0, 0, 7, 8, 9, 10,
1565 0, 0, 26, 649, 128, 129, 0, 0, 0, 0,
1566 0, 0, 0, 186, 0, 186, 684, 186, 186, 186,
1567 0, 0, 0, 186, 280, 8, 9, 10, 186, 682,
1568 842, 186, 1427, 1428, 21, 0, 0, 0, 0, 0,
1569 1337, 231, 690, 0, 0, 0, 682, 78, 0, 27,
1570 28, 1437, 1438, 0, 0, 0, 0, 0, 0, 700,
1571 0, 701, 21, 436, 438, 442, 0, 0, 0, 231,
1572 0, 0, 0, 232, 712, 680, 0, 27, 298, 0,
1573 0, 32, 0, 0, 0, 102, 102, 102, 102, 0,
1574 0, 1376, 0, 114, 718, 719, 0, 720, 899, 0,
1575 0, 232, 0, 0, 0, 0, 0, 0, 771, 32,
1576 916, 774, 0, 680, 0, 776, 777, 779, 780, 781,
1577 721, 0, 0, 0, 0, 0, 0, 722, 524, 0,
1578 0, 0, 7, 8, 9, 10, 795, 0, 226, 0,
1579 0, 798, 0, 102, 26, 493, 117, 118, 0, 0,
1580 0, 197, 198, 199, 0, 0, 0, 578, 14, 493,
1581 493, 684, 594, 0, 0, 0, 0, 0, 0, 873,
1582 21, 0, 0, 875, 0, 18, 580, 0, 1429, 1430,
1583 20, 0, 0, 26, 0, 27, 28, 1435, 186, 23,
1584 0, 0, 0, 854, 0, 0, 0, 0, 0, 905,
1585 854, 0, 0, 0, 880, 7, 8, 9, 10, 906,
1586 0, 13, 0, 0, 682, 1455, 682, 32, 682, 583,
1587 0, 0, 907, 585, 0, 0, 0, 186, 912, 186,
1588 186, 219, 594, 280, 8, 9, 10, 0, 0, 0,
1589 0, 0, 0, 21, 0, 0, 0, 0, 0, 580,
1590 0, 0, 0, 195, 0, 203, 26, 0, 27, 28,
1591 547, 548, 549, 550, 551, 552, 553, 554, 555, 186,
1592 0, 21, 1100, 912, 0, 0, 0, 0, 231, 0,
1593 186, 186, 1101, 186, 0, 0, 27, 298, 0, 0,
1594 32, 0, 583, 0, 0, 1102, 585, 7, 8, 9,
1595 10, 197, 198, 199, 648, 0, 0, 0, 14, 0,
1596 484, 131, 682, 649, 78, 0, 78, 0, 32, 0,
1597 0, 996, 78, 78, 0, 18, 700, 701, 0, 712,
1598 20, 102, 0, 0, 0, 21, 680, 102, 0, 23,
1599 0, 580, 0, 0, 493, 493, 493, 628, 26, 0,
1600 27, 28, 0, 0, 0, 0, 493, 899, 0, 0,
1601 0, 0, 690, 415, 905, 0, 81, 994, 690, 0,
1602 0, 0, 0, 0, 906, 0, 104, 0, 0, 0,
1603 0, 0, 32, 0, 583, 124, 132, 907, 585, 0,
1604 203, 0, 141, 141, 0, 141, 0, 81, 458, 203,
1605 0, 0, 81, 0, 0, 0, 0, 0, 0, 589,
1606 593, 596, 0, 0, 0, 141, 0, 81, 0, 0,
1607 0, 0, 0, 0, 0, 220, 0, 0, 493, 0,
1608 493, 0, 228, 0, 0, 1045, 0, 102, 0, 0,
1609 0, 493, 0, 102, 228, 873, 873, 873, 0, 0,
1610 0, 0, 1078, 0, 0, 0, 0, 682, 0, 0,
1611 0, 0, 0, 0, 0, 0, 0, 0, 798, 0,
1612 125, 126, 0, 0, 690, 226, 0, 0, 854, 102,
1613 0, 102, 0, 186, 186, 1104, 0, 0, 0, 378,
1614 0, 0, 0, 0, 1183, 0, 81, 0, 0, 0,
1615 141, 0, 0, 0, 141, 0, 0, 141, 141, 141,
1616 648, 0, 1096, 580, 0, 0, 854, 0, 0, 0,
1617 26, 81, 128, 129, 1104, 7, 8, 9, 10, 436,
1618 438, 442, 0, 0, 0, 0, 581, 102, 141, 141,
1619 141, 0, 0, 0, 0, 0, 582, 0, 0, 0,
1620 102, 0, 0, 996, 0, 854, 583, 0, 0, 584,
1621 585, 0, 102, 21, 0, 0, 0, 141, 1137, 580,
1622 442, 0, 0, 0, 1143, 1162, 26, 1225, 27, 28,
1623 0, 690, 0, 1183, 0, 78, 195, 203, 0, 0,
1624 0, 0, 905, 690, 0, 102, 0, 102, 0, 994,
1625 0, 141, 906, 0, 0, 0, 0, 0, 0, 0,
1626 32, 0, 583, 0, 0, 907, 585, 0, 0, 0,
1627 0, 0, 0, 0, 102, 0, 690, 0, 690, 493,
1628 493, 0, 493, 0, 0, 0, 0, 0, 0, 228,
1629 141, 0, 415, 0, 0, 0, 0, 0, 0, 458,
1630 203, 0, 0, 415, 0, 1191, 0, 458, 0, 0,
1631 0, 0, 0, 851, 853, 0, 0, 0, 0, 0,
1632 415, 0, 0, 0, 0, 0, 186, 186, 186, 186,
1633 1104, 0, 0, 228, 186, 0, 0, 579, 0, 141,
1634 141, 595, 0, 0, 0, 0, 604, 0, 1344, 0,
1635 81, 0, 0, 0, 0, 0, 1104, 1104, 1104, 0,
1636 0, 854, 0, 0, 0, 0, 378, 0, 0, 0,
1637 0, 0, 700, 701, 436, 438, 442, 0, 0, 0,
1638 712, 910, 0, 589, 593, 0, 596, 186, 0, 854,
1639 0, 0, 140, 0, 78, 0, 228, 0, 0, 141,
1640 228, 0, 436, 438, 442, 0, 0, 0, 0, 0,
1641 141, 0, 0, 141, 0, 0, 0, 0, 141, 0,
1642 0, 0, 0, 593, 0, 0, 0, 0, 0, 0,
1643 0, 0, 1401, 1291, 0, 0, 0, 0, 0, 0,
1644 0, 0, 0, 186, 186, 0, 186, 141, 0, 141,
1645 0, 141, 141, 141, 0, 0, 0, 141, 0, 203,
1646 0, 0, 141, 0, 0, 141, 0, 0, 0, 0,
1647 0, 0, 0, 0, 0, 0, 0, 186, 912, 186,
1648 730, 81, 0, 8, 9, 0, 0, 12, 13, 700,
1649 701, 0, 712, 14, 0, 0, 102, 0, 195, 0,
1650 203, 0, 0, 0, 0, 0, 0, 16, 0, 17,
1651 593, 0, 0, 0, 0, 20, 0, 0, 0, 228,
1652 228, 228, 228, 0, 23, 0, 0, 1137, 0, 0,
1653 0, 0, 0, 26, 0, 128, 129, 0, 0, 203,
1654 538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
1655 548, 549, 550, 551, 552, 553, 554, 555, 0, 0,
1656 0, 458, 0, 0, 415, 0, 0, 7, 8, 9,
1657 10, 0, 827, 481, 0, 0, 0, 228, 0, 141,
1658 0, 0, 1064, 0, 1065, 1104, 0, 0, 0, 0,
1659 0, 0, 195, 141, 141, 1071, 595, 0, 415, 851,
1660 853, 0, 0, 874, 0, 21, 0, 0, 0, 0,
1661 0, 580, 0, 0, 0, 0, 604, 0, 26, 0,
1662 27, 28, 141, 0, 0, 0, 0, 0, 0, 0,
1663 0, 442, 0, 0, 905, 125, 126, 851, 853, 198,
1664 199, 0, 0, 0, 906, 14, 0, 0, 0, 1104,
1665 1104, 1104, 32, 124, 583, 0, 0, 907, 585, 0,
1666 0, 141, 595, 141, 141, 220, 595, 20, 102, 0,
1667 0, 0, 0, 186, 0, 0, 23, 0, 580, 0,
1668 0, 0, 524, 0, 730, 26, 0, 128, 129, 0,
1669 0, 239, 0, 0, 0, 436, 438, 442, 0, 648,
1670 0, 581, 0, 141, 0, 0, 0, 595, 0, 0,
1671 0, 582, 0, 0, 141, 141, 0, 141, 0, 0,
1672 0, 583, 0, 0, 584, 585, 0, 0, 0, 0,
1673 7, 8, 9, 10, 197, 198, 199, 0, 0, 0,
1674 0, 14, 0, 0, 0, 132, 0, 0, 81, 0,
1675 81, 985, 986, 9, 10, 997, 81, 81, 18, 0,
1676 0, 0, 0, 20, 406, 228, 0, 0, 21, 0,
1677 0, 228, 23, 0, 580, 0, 0, 0, 141, 141,
1678 141, 26, 0, 27, 28, 434, 0, 0, 0, 21,
1679 141, 0, 0, 0, 0, 0, 0, 905, 450, 0,
1680 0, 0, 26, 0, 27, 28, 0, 906, 0, 0,
1681 987, 0, 0, 0, 0, 32, 0, 583, 176, 0,
1682 946, 585, 0, 0, 0, 415, 415, 0, 177, 0,
1683 1064, 1065, 851, 853, 0, 0, 32, 0, 1071, 0,
1684 0, 178, 0, 731, 0, 7, 8, 732, 10, 385,
1685 12, 13, 0, 0, 415, 0, 14, 0, 0, 0,
1686 851, 853, 141, 0, 141, 0, 0, 0, 0, 0,
1687 16, 228, 17, 18, 19, 141, 0, 228, 20, 874,
1688 874, 874, 0, 21, 0, 0, 604, 23, 733, 0,
1689 642, 0, 0, 0, 0, 0, 26, 0, 27, 28,
1690 49, 0, 734, 0, 735, 0, 0, 0, 7, 125,
1691 126, 10, 30, 228, 226, 228, 0, 141, 141, 595,
1692 0, 0, 31, 0, 0, 0, 49, 49, 0, 148,
1693 32, 49, 0, 0, 0, 33, 49, 0, 0, 0,
1694 0, 0, 0, 0, 0, 0, 21, 1064, 1065, 49,
1695 1071, 49, 0, 0, 0, 0, 0, 0, 874, 26,
1696 0, 27, 28, 0, 0, 0, 0, 0, 0, 0,
1697 0, 228, 0, 0, 234, 30, 0, 0, 0, 0,
1698 0, 0, 730, 0, 228, 31, 0, 997, 0, 0,
1699 0, 0, 0, 32, 0, 0, 228, 0, 33, 0,
1700 0, 0, 0, 0, 0, 415, 415, 0, 415, 415,
1701 0, 415, 0, 0, 0, 0, 0, 0, 0, 81,
1702 0, 0, 0, 375, 0, 0, 0, 375, 375, 228,
1703 49, 228, 0, 0, 49, 0, 234, 0, 49, 0,
1704 0, 148, 148, 148, 0, 0, 0, 0, 0, 0,
1705 0, 0, 0, 0, 705, 49, 0, 0, 228, 711,
1706 0, 0, 0, 141, 141, 0, 141, 0, 0, 0,
1707 0, 0, 49, 49, 148, 0, 0, 0, 0, 0,
1708 0, 0, 234, 0, 752, 7, 125, 126, 10, 0,
1709 758, 13, 0, 0, 0, 0, 0, 0, 195, 203,
1710 0, 49, 766, 767, 0, 768, 1285, 1286, 9, 10,
1711 141, 141, 141, 141, 595, 0, 0, 0, 141, 0,
1712 0, 0, 0, 21, 730, 0, 0, 0, 0, 415,
1713 415, 0, 0, 0, 0, 49, 26, 0, 27, 28,
1714 874, 874, 874, 0, 21, 0, 0, 0, 0, 0,
1715 0, 0, 145, 0, 0, 0, 730, 26, 0, 27,
1716 28, 0, 146, 0, 0, 1287, 0, 0, 0, 0,
1717 32, 141, 0, 176, 0, 147, 141, 0, 81, 0,
1718 0, 0, 0, 177, 0, 0, 0, 76, 0, 0,
1719 0, 32, 0, 0, 0, 0, 178, 0, 862, 863,
1720 0, 0, 0, 862, 521, 1285, 125, 126, 10, 586,
1721 586, 586, 0, 76, 76, 0, 76, 0, 76, 0,
1722 0, 375, 0, 76, 415, 415, 415, 141, 141, 234,
1723 141, 0, 0, 0, 49, 0, 76, 0, 76, 0,
1724 0, 0, 0, 21, 0, 0, 0, 0, 0, 0,
1725 375, 0, 0, 0, 0, 0, 26, 0, 27, 28,
1726 0, 141, 595, 141, 1287, 0, 0, 0, 0, 0,
1727 0, 0, 30, 0, 375, 0, 0, 415, 415, 0,
1728 228, 0, 31, 49, 0, 0, 0, 0, 0, 0,
1729 32, 0, 0, 0, 49, 33, 0, 49, 0, 0,
1730 0, 0, 49, 543, 544, 545, 546, 547, 548, 549,
1731 550, 551, 552, 553, 554, 555, 0, 76, 0, 0,
1732 0, 76, 0, 0, 0, 76, 0, 0, 76, 76,
1733 76, 49, 0, 49, 0, 148, 148, 148, 0, 0,
1734 0, 49, 76, 415, 0, 0, 49, 0, 0, 49,
1735 6, 0, 7, 8, 9, 10, 11, 12, 13, 76,
1736 76, 76, 0, 14, 0, 49, 0, 0, 0, 874,
1737 0, 1016, 0, 1018, 0, 0, 0, 16, 0, 17,
1738 18, 0, 0, 0, 0, 20, 0, 0, 76, 0,
1739 21, 0, 0, 0, 23, 521, 0, 410, 521, 0,
1740 0, 0, 0, 26, 0, 27, 28, 0, 0, 29,
1741 0, 0, 0, 521, 521, 521, 0, 0, 0, 30,
1742 0, 0, 76, 0, 0, 0, 0, 0, 521, 31,
1743 0, 0, 0, 874, 874, 874, 0, 32, 0, 0,
1744 0, 0, 33, 0, 1051, 1052, 0, 1054, 0, 125,
1745 126, 0, 228, 0, 481, 0, 0, 141, 0, 0,
1746 0, 0, 0, 586, 586, 0, 586, 0, 0, 0,
1747 0, 0, 0, 871, 234, 1072, 7, 8, 9, 10,
1748 0, 0, 13, 0, 0, 0, 0, 521, 0, 0,
1749 0, 0, 580, 0, 0, 0, 0, 0, 0, 26,
1750 0, 128, 129, 153, 0, 0, 49, 0, 0, 0,
1751 0, 0, 0, 0, 21, 581, 0, 603, 0, 0,
1752 1106, 76, 0, 187, 0, 582, 0, 26, 0, 27,
1753 28, 586, 0, 586, 586, 583, 586, 0, 584, 585,
1754 0, 0, 0, 176, 0, 49, 49, 49, 49, 0,
1755 0, 0, 0, 177, 0, 0, 0, 0, 0, 0,
1756 0, 32, 0, 0, 0, 0, 178, 0, 0, 0,
1757 76, 0, 0, 586, 0, 0, 7, 125, 126, 10,
1758 0, 76, 1148, 0, 76, 0, 0, 49, 0, 76,
1759 0, 49, 0, 0, 1153, 0, 0, 0, 49, 49,
1760 0, 49, 0, 0, 7, 125, 126, 10, 0, 0,
1761 481, 0, 0, 0, 21, 153, 153, 153, 76, 0,
1762 76, 0, 76, 76, 76, 0, 0, 26, 76, 27,
1763 28, 0, 49, 76, 49, 0, 76, 0, 0, 49,
1764 49, 49, 21, 145, 0, 0, 187, 187, 443, 0,
1765 0, 0, 76, 146, 0, 26, 0, 27, 28, 0,
1766 586, 32, 0, 0, 0, 0, 147, 0, 521, 0,
1767 0, 30, 0, 0, 0, 187, 0, 0, 1205, 0,
1768 0, 31, 0, 0, 0, 0, 8, 9, 0, 32,
1769 12, 226, 0, 0, 33, 0, 14, 544, 545, 546,
1770 547, 548, 549, 550, 551, 552, 553, 554, 555, 0,
1771 16, 0, 17, 0, 0, 0, 1218, 0, 20, 7,
1772 8, 9, 10, 188, 12, 189, 0, 23, 0, 0,
1773 14, 0, 586, 0, 586, 0, 26, 0, 128, 129,
1774 0, 0, 0, 0, 16, 586, 17, 18, 494, 871,
1775 871, 871, 20, 0, 0, 0, 0, 21, 0, 0,
1776 0, 23, 603, 521, 521, 521, 0, 0, 0, 234,
1777 26, 0, 27, 28, 0, 0, 190, 0, 0, 1300,
1778 0, 0, 0, 1301, 0, 0, 30, 586, 586, 586,
1779 0, 0, 0, 76, 0, 0, 31, 588, 588, 588,
1780 0, 49, 49, 148, 32, 0, 0, 0, 234, 33,
1781 0, 0, 7, 8, 9, 10, 0, 0, 1317, 0,
1782 0, 0, 0, 0, 0, 0, 0, 0, 871, 0,
1783 0, 0, 76, 76, 76, 76, 0, 0, 0, 0,
1784 0, 0, 1131, 0, 0, 7, 8, 9, 10, 0,
1785 21, 226, 0, 0, 0, 0, 0, 187, 0, 0,
1786 0, 0, 0, 26, 0, 27, 28, 0, 0, 1351,
1787 0, 49, 0, 0, 76, 0, 0, 0, 76, 176,
1788 0, 0, 0, 21, 0, 76, 76, 1369, 76, 177,
1789 0, 1370, 234, 0, 0, 0, 26, 32, 27, 28,
1790 0, 0, 178, 49, 0, 187, 185, 187, 0, 443,
1791 443, 443, 176, 1388, 1389, 187, 0, 0, 0, 76,
1792 187, 76, 177, 187, 0, 0, 76, 76, 76, 0,
1793 32, 237, 0, 0, 241, 178, 0, 0, 7, 8,
1794 9, 10, 0, 0, 13, 0, 0, 0, 0, 0,
1795 0, 0, 0, 0, 0, 237, 0, 344, 540, 541,
1796 542, 543, 544, 545, 546, 547, 548, 549, 550, 551,
1797 552, 553, 554, 555, 234, 0, 21, 0, 0, 0,
1798 586, 586, 586, 586, 586, 0, 0, 0, 586, 26,
1799 0, 27, 28, 0, 49, 49, 148, 148, 148, 0,
1800 234, 0, 49, 0, 0, 439, 0, 0, 0, 0,
1801 871, 871, 871, 0, 0, 440, 0, 0, 0, 0,
1802 0, 0, 0, 32, 1131, 1131, 1131, 0, 441, 185,
1803 185, 185, 0, 0, 0, 0, 0, 836, 0, 449,
1804 7, 8, 9, 10, 0, 0, 481, 0, 0, 0,
1805 0, 588, 588, 0, 588, 49, 0, 603, 185, 0,
1806 49, 588, 49, 541, 542, 543, 544, 545, 546, 547,
1807 548, 549, 550, 551, 552, 553, 554, 555, 21, 0,
1808 187, 241, 0, 0, 0, 0, 0, 0, 76, 76,
1809 76, 26, 0, 27, 28, 237, 0, 586, 586, 0,
1810 586, 0, 0, 7, 8, 9, 10, 176, 0, 0,
1811 0, 49, 49, 0, 49, 0, 0, 177, 0, 909,
1812 0, 909, 909, 0, 588, 32, 0, 0, 0, 1133,
1813 178, 7, 8, 9, 10, 0, 0, 0, 0, 0,
1814 0, 21, 0, 0, 0, 49, 49, 49, 0, 0,
1815 0, 0, 0, 0, 26, 0, 27, 28, 76, 0,
1816 0, 909, 0, 0, 0, 0, 0, 0, 0, 21,
1817 439, 0, 187, 187, 0, 187, 0, 0, 0, 0,
1818 440, 0, 26, 0, 27, 28, 237, 241, 32, 0,
1819 76, 0, 0, 441, 0, 0, 0, 0, 176, 731,
1820 0, 7, 8, 732, 10, 385, 12, 13, 177, 0,
1821 0, 0, 14, 187, 0, 0, 32, 0, 0, 0,
1822 0, 178, 0, 0, 0, 0, 16, 0, 17, 18,
1823 19, 0, 0, 0, 20, -495, 494, 494, 494, 21,
1824 185, 0, 0, 23, 733, 0, 642, 0, 588, 0,
1825 0, 0, 26, 1131, 27, 28, 0, 0, 734, 0,
1826 735, 0, 0, 0, 0, 0, 0, 0, 30, 0,
1827 0, 0, 0, 0, 0, 0, 0, 0, 31, 0,
1828 0, 76, 76, 76, 76, 76, 32, 0, 185, 76,
1829 185, 33, 185, 185, 185, 0, 0, 0, 185, 0,
1830 0, 0, 0, 185, 8, 9, 185, -495, 12, 13,
1831 0, 1133, 1133, 1133, 14, 0, 0, 1131, 1131, 1131,
1832 588, 0, 588, 0, 0, 0, 0, 0, 16, 0,
1833 17, 0, 0, 588, 0, 0, 20, 588, 588, 588,
1834 0, 49, 76, 74, 0, 23, 0, 76, 0, 76,
1835 0, 0, 0, 0, 26, 0, 128, 129, 0, 0,
1836 0, 0, 0, 0, 0, 0, 0, 0, 0, 139,
1837 143, 0, 0, 0, 74, 909, 909, 1105, 0, 74,
1838 0, 0, 731, 0, 7, 8, 732, 10, 385, 12,
1839 13, 0, 0, 0, 196, 14, 0, 0, 76, 76,
1840 0, 76, 0, 0, 0, 0, 0, 0, 0, 16,
1841 0, 17, 18, 19, 0, 0, 1105, 20, -497, 0,
1842 0, 0, 21, 0, 0, 0, 23, 733, 0, 642,
1843 0, 0, 76, 76, 76, 26, 0, 27, 28, 0,
1844 0, 734, 0, 735, 0, 187, 0, 237, 241, 0,
1845 0, 30, 0, 0, 0, 0, 0, 0, 0, 0,
1846 0, 31, 0, 185, 0, 0, 0, 0, 0, 32,
1847 0, 0, 0, 390, 33, 0, 0, 393, 0, 0,
1848 0, 395, 8, 9, 100, 385, 12, 13, 0, 0,
1849 -497, 0, 14, 119, 100, 0, 0, 0, 74, 0,
1850 100, 100, 185, 100, 185, 185, 16, 0, 17, 18,
1851 0, 0, 0, 0, 20, 139, 143, 0, 0, 0,
1852 0, 836, 836, 641, 836, 0, 642, 0, 0, 0,
1853 0, 0, 26, 218, 128, 129, 0, 0, 0, 0,
1854 1133, 0, 0, 0, 185, 0, 0, 0, 0, 0,
1855 0, 0, 0, 0, 0, 185, 185, 0, 185, 0,
1856 0, 0, 0, 0, 0, 0, 0, 0, 909, 909,
1857 1105, 1105, 1105, 0, 0, 0, 909, 0, 482, 0,
1858 0, 0, 0, 241, 0, 0, 0, 0, 0, 0,
1859 0, 0, 368, 0, 119, 0, 185, 100, 1105, 1105,
1860 1105, 100, 100, 0, 1133, 1133, 1133, 0, 100, 0,
1861 100, 100, 100, 0, 0, 100, 100, 100, 0, 0,
1862 -359, 8, 9, -359, -359, 12, 226, 0, 76, 187,
1863 0, 14, 0, 0, 0, 0, 0, 0, 0, 0,
1864 0, 0, 0, 0, 0, 16, 0, 17, -359, 0,
1865 0, 0, 0, 20, 0, 0, 0, 0, -359, 0,
1866 0, 0, 23, 0, 580, 0, 0, 0, 0, 0,
1867 0, 26, 0, 128, 129, 0, 0, 612, 0, 0,
1868 0, 0, 0, 0, 0, 909, 909, 581, 909, 464,
1869 100, 8, 9, 0, 385, 12, 13, 582, 0, 688,
1870 0, 14, 0, 0, 0, -359, 0, 583, 0, 100,
1871 584, 585, 0, 0, 0, 16, 0, 17, 18, 187,
1872 0, 187, 0, 20, 0, 0, 237, 241, 237, 0,
1873 0, 0, 23, 0, 580, 0, 0, 663, 0, 0,
1874 664, 26, 0, 128, 129, 666, 0, 0, 100, 0,
1875 0, 0, 0, 0, 0, 0, 0, 581, 185, 185,
1876 1103, 0, 0, 0, 0, 237, 0, 582, 0, 0,
1877 0, 0, 0, 0, 393, 0, 395, 583, 0, 0,
1878 584, 585, 0, 0, 0, 0, 0, 0, 0, 482,
1879 0, 0, 0, 0, 0, 100, 0, 100, 100, 1103,
1880 0, 0, 0, 0, 0, 0, 0, 0, 748, 0,
1881 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1882 0, 0, 0, 0, 100, 0, 0, 443, 185, 539,
1883 540, 541, 542, 543, 544, 545, 546, 547, 548, 549,
1884 550, 551, 552, 553, 554, 555, 0, 0, 100, 449,
1885 731, 0, 7, 8, 732, 10, 385, 12, 13, 0,
1886 0, 0, 0, 14, 100, 0, 0, 0, 100, 0,
1887 0, 100, 0, 0, 0, 0, 100, 16, 0, 17,
1888 18, 19, 0, 0, 0, 20, -496, 0, 0, 0,
1889 21, 443, 443, 443, 23, 733, 0, 642, 0, 0,
1890 0, 0, 0, 26, 0, 27, 28, 0, 0, 734,
1891 0, 735, 0, 0, 0, 187, 0, 0, 0, 30,
1892 0, 0, 0, 0, 0, 0, 0, 0, 0, 31,
1893 0, 237, 0, 0, 0, 0, 100, 32, 723, 0,
1894 0, 0, 33, 0, 0, 0, 0, 0, 0, 0,
1895 0, 185, 185, 185, 185, 1103, 0, 1217, -496, 185,
1896 0, 0, 0, 100, 0, 0, 6, 0, 7, 8,
1897 9, 10, 11, 12, 13, 0, 0, 0, 0, 14,
1898 0, 1103, 1103, 1103, 0, 0, 0, 0, 0, 911,
1899 0, 0, 15, 16, 0, 17, 18, 19, 0, 0,
1900 0, 20, 0, 0, 0, 0, 21, 0, 0, 22,
1901 23, 24, 185, 25, 0, 0, 0, 0, 0, 26,
1902 0, 27, 28, 0, 0, 29, 0, 0, 0, 0,
1903 0, 0, 0, 0, 952, 30, 0, 100, 0, 0,
1904 0, 663, 664, 0, 666, 31, 0, 0, 100, 100,
1905 0, 100, 100, 32, 0, 0, 0, 0, 33, 0,
1906 0, 0, 0, 34, 0, 0, 0, 0, 185, 185,
1907 0, 185, 0, 0, 0, 748, 0, 748, 0, 0,
1908 0, 0, 995, 1002, 748, 0, 0, 0, 0, 0,
1909 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1910 0, 0, 185, 0, 185, 0, 0, 0, 0, 0,
1911 0, 119, 678, 0, 789, 790, 791, 10, 0, 12,
1912 498, 282, 283, 218, 284, 14, 0, 0, 0, 0,
1913 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
1914 285, 17, 723, 19, 0, 286, 287, 20, 0, 288,
1915 289, 290, 21, 291, 292, 0, 23, 0, 0, 0,
1916 293, 294, 295, 296, 297, 26, 0, 792, 793, 679,
1917 0, 0, 299, 0, 0, 0, 0, 0, 300, 0,
1918 0, 301, 0, 0, 0, 0, 0, 0, 0, 302,
1919 303, 304, 0, 0, 0, 0, 0, 305, 306, 307,
1920 723, 0, 0, 100, 308, 794, 0, 0, 0, 0,
1921 1103, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1922 938, 309, 0, 0, 0, 0, 160, 0, 7, 8,
1923 9, 10, 11, 12, 13, 0, 100, 100, 100, 14,
1924 0, 0, 0, 0, 139, 143, 0, 0, 100, 0,
1925 0, 0, 15, 16, 0, 17, 18, 19, 0, 0,
1926 0, 20, 0, 0, 0, 0, 21, 0, 0, 22,
1927 23, 24, 0, 25, 1103, 1103, 1103, 0, 0, 26,
1928 0, 27, 28, 0, 0, 29, 1382, 0, -451, -451,
1929 -451, -451, -451, -451, -451, 30, 0, -451, 185, -451,
1930 0, 0, 0, 0, 0, 31, 0, 0, 0, 0,
1931 -451, 0, -451, 32, 995, 0, -451, 0, 33, 0,
1932 100, -451, 100, 34, 0, 0, -451, 0, 0, 0,
1933 -451, 0, -451, 100, 0, 0, 0, 0, 0, -451,
1934 0, -451, -451, -451, -451, -451, 748, -451, -451, -451,
1935 -451, -451, -451, -451, -451, -451, -451, -451, -451, -451,
1936 -451, -451, -451, -451, -451, -451, -451, -451, -451, -451,
1937 0, -451, -451, -451, 0, -451, -451, -451, -451, -451,
1938 -451, 0, -451, 0, 0, 0, 0, 1383, 0, 0,
1939 0, 0, -451, -451, -451, 0, -451, 0, 534, 535,
1940 536, 537, 538, 539, 540, 541, 542, 543, 544, 545,
1941 546, 547, 548, 549, 550, 551, 552, 553, 554, 555,
1942 0, 0, 516, 0, 280, 8, 9, 10, 385, 12,
1943 281, 282, 283, 688, 284, 14, 0, 393, 395, 0,
1944 723, 0, 0, 0, 0, 482, 1181, 0, 0, 16,
1945 285, 17, 18, 19, 0, 286, 287, 20, 0, 288,
1946 289, 290, 21, 291, 292, 0, 23, 100, 580, 0,
1947 293, 294, 295, 296, 297, 26, 0, 27, 298, -286,
1948 0, 0, 299, 0, 0, 0, 0, 0, 300, 0,
1949 0, 867, 0, 0, 0, 0, 0, 0, 1292, 302,
1950 303, 868, 0, 1292, 0, 748, 0, 305, 306, 307,
1951 0, 583, 0, 0, 869, 585, 0, 0, 0, 0,
1952 0, 100, 100, 0, 100, 0, 0, 0, 0, 0,
1953 0, 309, 0, 7, 8, 9, 10, 385, 12, 13,
1954 0, 0, 688, 0, 14, 0, 0, 0, 0, 0,
1955 0, 0, 0, 0, 663, 664, 0, 666, 16, 0,
1956 17, 18, 0, 0, 0, 0, 20, 0, 0, 0,
1957 0, 21, 0, 0, 0, 23, 0, 580, 0, 0,
1958 0, 0, 723, 0, 26, 0, 27, 28, 0, 1356,
1959 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1960 1100, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1961 1101, 0, 0, 0, 723, 0, 0, 0, 32, 0,
1962 583, 0, 0, 1102, 585, 0, 0, 0, 0, 0,
1963 0, 0, 100, 1359, 100, 1228, 1229, 1230, 10, 385,
1964 12, 281, 282, 283, 0, 284, 14, 1231, 0, 1232,
1965 1233, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 15,
1966 16, 285, 17, 18, 19, 0, 286, 287, 20, 0,
1967 288, 289, 290, 21, 291, 292, 0, 23, 0, 0,
1968 0, 293, 294, 295, 296, 297, 26, 0, 1242, 298,
1969 675, 0, 1243, 299, 0, 0, 0, 0, 0, 300,
1970 0, 0, 301, 0, 0, 0, 0, 0, 0, 0,
1971 302, 303, 304, 0, 0, 0, 0, 0, 305, 306,
1972 307, 0, 0, 0, 0, 308, 0, 1244, 0, 0,
1973 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1974 0, 1360, 309, 1227, 0, 1228, 1229, 1230, 10, 385,
1975 12, 281, 282, 283, 0, 284, 14, 1231, 0, 1232,
1976 1233, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 15,
1977 16, 285, 17, 18, 19, 0, 286, 287, 20, 0,
1978 288, 289, 290, 21, 291, 292, 0, 23, 0, 0,
1979 0, 293, 294, 295, 296, 297, 26, 0, 1242, 298,
1980 675, 0, 1243, 299, 0, 0, 0, 0, 0, 300,
1981 0, 0, 301, 0, 0, 0, 0, 0, 0, 0,
1982 302, 303, 304, 0, 0, 0, 0, 0, 305, 306,
1983 307, 0, 0, 0, 0, 308, 516, 1244, 7, 8,
1984 9, 10, 385, 12, 281, 282, 283, 688, 284, 14,
1985 0, 0, 309, 0, 0, 0, 0, 0, 0, 0,
1986 0, 0, 0, 16, 285, 17, 18, 19, 0, 286,
1987 287, 20, 0, 288, 289, 290, 21, 291, 292, 0,
1988 23, 0, 580, 0, 293, 294, 295, 296, 297, 26,
1989 0, 27, 28, -286, 0, 0, 299, 0, 0, 0,
1990 0, 0, 300, 0, 0, 1128, 0, 0, 0, 0,
1991 0, 0, 0, 302, 303, 1129, 0, 0, 0, 0,
1992 0, 305, 306, 307, 0, 583, 0, 0, 1130, 585,
1993 687, 0, 280, 8, 9, 10, 385, 12, 281, 282,
1994 283, 688, 284, 14, 0, 309, 0, 0, 0, 0,
1995 0, 0, 0, 0, 0, 0, 0, 16, 285, 17,
1996 18, 19, 0, 286, 287, 20, 0, 288, 289, 290,
1997 21, 291, 292, 0, 23, 0, 0, 0, 293, 294,
1998 295, 296, 297, 26, 0, 27, 298, 0, 0, 0,
1999 299, 0, 0, 0, 0, 0, 300, 0, 0, 301,
2000 0, 0, 0, 0, 0, 0, 0, 302, 303, 304,
2001 0, 0, 0, 0, 0, 305, 306, 307, 0, 0,
2002 0, 801, 308, 280, 8, 9, 10, 385, 12, 281,
2003 282, 283, 0, 284, 14, 0, 0, -761, 0, 309,
2004 0, 0, 0, 0, 0, 0, 0, 0, 16, 285,
2005 17, 18, 19, 0, 286, 287, 20, 0, 288, 289,
2006 290, 21, 291, 292, 0, 23, 0, 0, 0, 293,
2007 294, 295, 296, 297, 26, 0, 27, 298, 1450, 0,
2008 -751, 299, 0, 0, 0, 0, 0, 300, 0, 0,
2009 301, 0, 0, 0, 0, 0, 0, 0, 302, 303,
2010 304, 0, 0, 0, 0, 0, 305, 306, 307, 0,
2011 0, 0, 678, 308, 789, 790, 791, 10, 0, 12,
2012 498, 282, 283, 0, 284, 14, 0, 0, 0, 0,
2013 309, 0, 0, 0, 0, 0, 0, 0, 0, 16,
2014 285, 17, 0, 19, 0, 286, 287, 20, 0, 288,
2015 289, 290, 21, 291, 292, 0, 23, 0, 0, 0,
2016 293, 294, 295, 296, 297, 26, 0, 792, 793, 679,
2017 0, 0, 299, 0, 0, 0, 0, 0, 300, 0,
2018 0, 301, 0, 0, 0, 0, 0, 0, 0, 302,
2019 303, 304, 0, 0, 0, 0, 0, 305, 306, 307,
2020 0, 0, 0, 0, 308, 794, 678, 0, 789, 790,
2021 791, 10, 0, 12, 498, 282, 283, 0, 284, 14,
2022 0, 309, 0, 0, 0, 0, 0, 0, 0, 0,
2023 0, 0, 0, 16, 285, 17, 0, 19, 0, 286,
2024 287, 20, 0, 288, 289, 290, 21, 291, 292, 0,
2025 23, 0, 0, 0, 293, 294, 295, 296, 297, 26,
2026 0, 792, 793, 679, 0, 0, 299, 0, 0, 0,
2027 0, 0, 300, 0, 0, 301, 0, 0, 0, 0,
2028 0, 0, 0, 302, 303, 304, 0, 0, 0, 0,
2029 0, 305, 306, 307, 0, 0, 0, 678, 308, 789,
2030 790, 791, 10, 0, 12, 498, 282, 283, 0, 284,
2031 14, 0, 0, 0, -455, 309, 0, 0, 0, 0,
2032 0, 0, 0, 0, 16, 285, 17, 0, 19, 0,
2033 286, 287, 20, 0, 288, 289, 290, 21, 291, 292,
2034 0, 23, 0, 0, 0, 293, 294, 295, 296, 297,
2035 26, 0, 792, 793, 679, 0, 0, 299, 0, 0,
2036 0, 0, 0, 300, 0, 0, 301, 0, 0, 0,
2037 0, 0, 0, 0, 302, 303, 304, 0, 0, 0,
2038 0, 0, 305, 306, 307, 0, 0, 0, 678, 308,
2039 280, 8, 9, 10, 0, 12, 498, 282, 283, 0,
2040 284, 14, 0, 0, 0, 1261, 309, 0, 0, 0,
2041 0, 0, 0, 0, 0, 16, 285, 17, 0, 19,
2042 0, 286, 287, 20, 0, 288, 289, 290, 21, 291,
2043 292, 0, 23, 0, 0, 0, 293, 294, 295, 296,
2044 297, 26, 0, 27, 298, 679, 0, 0, 299, 0,
2045 0, 0, 0, 0, 300, 0, 0, 301, 0, 0,
2046 0, 0, 0, 0, 0, 302, 303, 304, 0, 0,
2047 0, 0, 0, 305, 306, 307, 0, 0, 0, 0,
2048 308, 0, 516, 0, 280, 8, 9, 10, 1265, 12,
2049 281, 282, 283, 0, 284, 14, 0, 309, 0, 0,
2050 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
2051 285, 17, 0, 19, 0, 286, 287, 20, 0, 288,
2052 289, 290, 21, 291, 292, 0, 23, 0, 0, 0,
2053 293, 294, 295, 296, 297, 26, 0, 27, 298, -286,
2054 0, 0, 299, 0, 0, 0, 0, 0, 300, 0,
2055 0, 517, 0, 0, 0, 0, 0, 0, 0, 302,
2056 303, 518, 0, 0, 0, 0, 0, 305, 306, 307,
2057 0, 0, 0, 678, 519, 280, 8, 9, 10, 0,
2058 12, 498, 282, 283, 0, 284, 14, 0, 0, 0,
2059 0, 309, 0, 0, 0, 0, 0, 0, 0, 0,
2060 16, 285, 17, 0, 19, 0, 286, 287, 20, 0,
2061 288, 289, 290, 21, 291, 292, 0, 23, 0, 0,
2062 0, 293, 294, 295, 296, 297, 26, 0, 27, 298,
2063 679, 0, 0, 299, 0, 0, 0, 0, 0, 300,
2064 0, 0, 301, 0, 0, 0, 0, 0, 0, 0,
2065 302, 303, 304, 0, 0, 0, 0, 0, 305, 306,
2066 307, 0, 0, 0, 801, 308, 280, 8, 9, 10,
2067 0, 12, 498, 282, 283, 0, 284, 14, 0, 0,
2068 0, 0, 309, 0, 0, 0, 0, 0, 0, 0,
2069 0, 16, 285, 17, 0, 19, 0, 286, 287, 20,
2070 0, 288, 289, 290, 21, 291, 292, 0, 23, 0,
2071 0, 0, 293, 294, 295, 296, 297, 26, 0, 27,
2072 298, 0, 0, 0, 299, -751, 0, 0, 0, 0,
2073 300, 0, 0, 301, 0, 0, 0, 0, 0, 0,
2074 0, 302, 303, 304, 0, 0, 0, 0, 0, 305,
2075 306, 307, 0, 0, 0, 516, 308, 7, 8, 9,
2076 10, 0, 12, 281, 282, 283, 0, 284, 14, 0,
2077 0, 0, 0, 309, 0, 0, 0, 0, 0, 0,
2078 0, 0, 16, 285, 17, 0, 19, 0, 286, 287,
2079 20, 0, 288, 289, 290, 21, 291, 292, 0, 23,
2080 0, 0, 0, 293, 294, 295, 296, 297, 26, 0,
2081 27, 28, -286, 0, 0, 299, 0, 0, 0, 0,
2082 0, 300, 0, 0, 1421, 0, 0, 0, 0, 0,
2083 0, 0, 302, 303, 1422, 0, 0, 0, 0, 0,
2084 305, 306, 307, 0, 0, 0, 1500, 1423, 280, 8,
2085 9, 10, 0, 12, 281, 282, 283, 0, 284, 14,
2086 0, 0, 0, 0, 309, 0, 0, 0, 0, 0,
2087 0, 0, 0, 16, 285, 17, 0, 19, 0, 286,
2088 287, 20, 0, 288, 289, 290, 21, 291, 292, 0,
2089 23, 0, 0, 0, 293, 294, 295, 296, 297, 26,
2090 0, 27, 298, 0, 0, -173, 299, 0, 0, 0,
2091 0, 0, 300, 0, 0, 301, 0, 0, 0, 0,
2092 0, 0, 0, 302, 303, 304, 0, 0, 0, 0,
2093 0, 305, 306, 307, 0, 0, 0, 801, 308, 280,
2094 8, 9, 10, 0, 12, 498, 282, 283, 0, 284,
2095 14, 0, 0, 0, 0, 309, 0, 0, 0, 0,
2096 0, 0, 0, 0, 16, 285, 17, 0, 19, 0,
2097 286, 287, 20, 0, 288, 289, 290, 21, 291, 292,
2098 0, 23, 0, 0, 0, 293, 294, 295, 296, 297,
2099 26, 0, 27, 298, 0, 0, 0, 299, 0, 0,
2100 0, 0, 0, 300, 243, 0, 301, 8, 9, 0,
2101 0, 12, 13, 0, 302, 303, 304, 14, 0, 0,
2102 0, 0, 305, 306, 307, 0, 0, 0, 0, 308,
2103 0, 16, 0, 17, 0, 0, 0, 0, 0, 20,
2104 0, 244, 245, 0, -751, 0, 309, 0, 23, 0,
2105 246, 0, 0, 0, 0, 0, 0, 26, 0, 128,
2106 129, 0, 247, 0, 0, 0, 248, 249, 250, 251,
2107 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
2108 262, 263, 264, 265, 266, 267, 268, 0, 0, 269,
2109 270, 271, 0, 0, 272, 0, 886, 273, 280, 8,
2110 9, 10, 0, 12, 498, 282, 283, 0, 284, 14,
2111 0, 0, 0, 274, 0, 0, 0, 0, 0, 0,
2112 0, 0, 0, 16, 285, 17, 0, 19, 0, 286,
2113 287, 20, 0, 288, 289, 290, 21, 291, 292, 0,
2114 23, 0, 0, 0, 293, 294, 295, 296, 297, 26,
2115 0, 27, 298, 0, 0, 0, 299, 0, 0, 0,
2116 0, 0, 300, 0, 0, 301, 0, 0, 0, 0,
2117 0, 0, 0, 302, 303, 304, 0, 0, 0, 0,
2118 0, 305, 306, 307, 0, 0, 0, 888, 308, 280,
2119 8, 9, 10, 0, 12, 498, 282, 283, 0, 284,
2120 14, 0, 0, 0, 0, 309, 0, 0, 0, 0,
2121 0, 0, 0, 0, 16, 285, 17, 0, 19, 0,
2122 286, 287, 20, 0, 288, 289, 290, 21, 291, 292,
2123 0, 23, 0, 0, 0, 293, 294, 295, 296, 297,
2124 26, 0, 27, 298, 0, 0, 0, 299, 0, 0,
2125 0, 0, 0, 300, 0, 0, 301, 0, 0, 0,
2126 0, 0, 0, 0, 302, 303, 304, 0, 0, 0,
2127 0, 0, 305, 306, 307, 0, 0, 0, 1434, 308,
2128 280, 8, 9, 10, 0, 12, 498, 282, 283, 0,
2129 284, 14, 0, 0, 0, 0, 309, 0, 0, 0,
2130 0, 0, 0, 0, 0, 16, 285, 17, 0, 19,
2131 0, 286, 287, 20, 0, 288, 289, 290, 21, 291,
2132 292, 0, 23, 0, 0, 0, 293, 294, 295, 296,
2133 297, 26, 0, 27, 298, 0, 0, 0, 299, 0,
2134 0, 0, 0, 0, 300, 0, 0, 301, 0, 0,
2135 0, 0, 0, 0, 0, 302, 303, 304, 0, 0,
2136 0, 0, 0, 305, 306, 307, 280, 8, 9, 10,
2137 308, 12, 498, 282, 283, 0, 284, 14, 0, 0,
2138 0, 0, 0, 0, 0, 0, 0, 309, 0, 0,
2139 0, 16, 285, 17, 0, 19, 0, 286, 287, 20,
2140 0, 288, 289, 290, 21, 291, 292, 0, 23, 0,
2141 0, 0, 293, 294, 295, 296, 297, 26, 0, 27,
2142 298, 0, 0, 0, 299, 0, 0, 0, 0, 0,
2143 300, 0, 0, 301, 0, 0, 0, 0, 0, 0,
2144 0, 302, 303, 304, 0, 0, 0, 0, 0, 305,
2145 306, 307, 0, 0, 0, 0, 308, 0, 0, 0,
2146 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2147 0, 0, 0, 309, 839, 1228, 1229, 1230, 10, 385,
2148 12, 281, 282, 283, 0, 284, 14, 1231, 0, 1232,
2149 1233, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 15,
2150 16, 285, 17, 18, 19, 0, 286, 287, 20, 0,
2151 288, 289, 290, 21, 291, 292, 0, 23, 0, 0,
2152 0, 293, 294, 295, 296, 297, 26, 0, 1242, 298,
2153 675, 0, 1243, 299, 0, 0, 0, 0, 0, 300,
2154 0, 0, 301, 0, 0, 0, 0, 0, 0, 0,
2155 302, 303, 304, 0, 0, 0, 0, 0, 305, 306,
2156 307, 0, 0, 0, 0, 308, 0, 1244, 0, 0,
2157 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2158 0, 1364, 309, 1228, 1229, 1230, 10, 385, 12, 281,
2159 282, 283, 0, 284, 14, 1231, 0, 1232, 1233, 1234,
2160 1235, 1236, 1237, 1238, 1239, 1240, 1241, 15, 16, 285,
2161 17, 18, 19, 0, 286, 287, 20, 0, 288, 289,
2162 290, 21, 291, 292, 0, 23, 0, 0, 0, 293,
2163 294, 295, 296, 297, 26, 0, 1242, 298, 675, 0,
2164 1243, 299, 0, 0, 0, 0, 0, 300, 0, 0,
2165 301, 0, 0, 0, 0, 0, 0, 0, 302, 303,
2166 304, 0, 0, 0, 0, 0, 305, 306, 307, 0,
2167 0, 0, 0, 308, 0, 1244, 0, 1228, 1229, 1230,
2168 10, 385, 12, 281, 282, 283, 0, 284, 14, 1231,
2169 309, 1232, 1233, 1234, 1235, 1236, 1237, 1238, 1239, 1240,
2170 1241, 15, 16, 285, 17, 18, 19, 0, 286, 287,
2171 20, 0, 288, 289, 290, 21, 291, 292, 0, 23,
2172 0, 0, 0, 293, 294, 295, 296, 297, 26, 0,
2173 1242, 298, 1477, 0, 1243, 299, 0, 0, 0, 0,
2174 0, 300, 0, 0, 301, 0, 0, 0, 0, 0,
2175 0, 0, 302, 303, 304, 0, 0, 0, 0, 0,
2176 305, 306, 307, 0, 0, 0, 0, 308, 0, 1244,
2177 0, 1228, 1229, 1230, 10, 385, 12, 281, 282, 283,
2178 0, 284, 14, 1231, 309, 1232, 1233, 1234, 1235, 1236,
2179 1237, 1238, 1239, 1240, 1241, 15, 16, 285, 17, 18,
2180 19, 0, 286, 287, 20, 0, 288, 289, 290, 21,
2181 291, 292, 0, 23, 0, 0, 0, 293, 294, 295,
2182 296, 297, 26, 0, 1242, 298, 0, 0, 1243, 299,
2183 0, 0, 0, 0, 0, 300, 0, 0, 301, 0,
2184 0, 0, 0, 0, 0, 0, 302, 303, 304, 0,
2185 0, 0, 0, 0, 305, 306, 307, 0, 0, 0,
2186 0, 308, 0, 1244, 280, 8, 9, 10, 385, 12,
2187 281, 282, 283, 688, 284, 14, 0, 0, 309, 0,
2188 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
2189 285, 17, 18, 19, 0, 286, 287, 20, 0, 288,
2190 289, 290, 21, 291, 292, 0, 23, 0, 580, 0,
2191 293, 294, 295, 296, 297, 26, 0, 27, 298, 0,
2192 0, 0, 299, 0, 0, 0, 0, 0, 300, 0,
2193 0, 867, 0, 0, 0, 0, 0, 0, 0, 302,
2194 303, 868, 0, 0, 0, 0, 0, 305, 306, 307,
2195 0, 583, 0, 0, 869, 585, 7, 8, 9, 10,
2196 385, 12, 281, 282, 283, 688, 284, 14, 0, 0,
2197 0, 309, 0, 0, 0, 0, 0, 0, 0, 0,
2198 0, 16, 285, 17, 18, 19, 0, 286, 287, 20,
2199 0, 288, 289, 290, 21, 291, 292, 0, 23, 0,
2200 580, 0, 293, 294, 295, 296, 297, 26, 0, 27,
2201 28, 0, 0, 0, 299, 0, 0, 0, 0, 0,
2202 300, 0, 0, 1128, 0, 0, 0, 0, 0, 0,
2203 0, 302, 303, 1129, 0, 0, 0, 0, 0, 305,
2204 306, 307, 0, 583, 0, 0, 1130, 585, 280, 8,
2205 9, 10, 0, 12, 281, 282, 283, 0, 284, 14,
2206 0, 0, 0, 309, 0, 0, 0, 0, 0, 0,
2207 0, 0, 0, 16, 285, 17, 0, 19, 0, 286,
2208 287, 20, 0, 288, 289, 290, 21, 291, 292, 0,
2209 23, 0, 580, 0, 293, 294, 295, 296, 297, 26,
2210 0, 27, 298, 0, 0, 0, 0, 0, 0, 0,
2211 0, 0, 300, 0, 0, 867, 0, 0, 0, 0,
2212 0, 0, 0, 302, 303, 868, 0, 0, 0, 0,
2213 0, 305, 306, 307, 0, 583, 0, 0, 869, 585,
2214 7, 8, 9, 10, 0, 12, 281, 282, 283, 0,
2215 284, 14, 0, 0, 0, 309, 0, 0, 0, 0,
2216 0, 0, 0, 0, 0, 16, 285, 17, 0, 19,
2217 0, 286, 287, 20, 0, 288, 289, 290, 21, 291,
2218 292, 0, 23, 0, 580, 0, 293, 294, 295, 296,
2219 297, 26, 0, 27, 28, 0, 0, 0, 0, 0,
2220 0, 0, 0, 0, 300, 0, 0, 1128, 0, 0,
2221 0, 0, 0, 0, 0, 302, 303, 1129, 0, 0,
2222 0, 0, 0, 305, 306, 307, 0, 583, 0, 0,
2223 1130, 585, 280, 8, 9, 10, 0, 12, 498, 282,
2224 283, 0, 284, 14, 0, 0, 0, 309, 0, 0,
2225 0, 0, 0, 0, 0, 0, 0, 16, 285, 17,
2226 0, 19, 0, 286, 287, 20, 0, 288, 289, 290,
2227 21, 291, 292, 0, 23, 0, 0, 0, 293, 294,
2228 295, 296, 297, 26, 0, 27, 298, 0, 0, 1341,
2229 299, 0, 0, 0, 0, 0, 300, 0, 0, 301,
2230 0, 0, 0, 0, 0, 0, 0, 302, 303, 304,
2231 0, 0, 0, 0, 0, 305, 306, 307, 0, 0,
2232 0, 0, 308, 280, 8, 9, 10, 385, 12, 281,
2233 282, 283, 0, 284, 14, 0, 0, 0, 0, 309,
2234 0, 0, 0, 0, 0, 0, 0, 0, 16, 285,
2235 17, 18, 19, 0, 286, 287, 20, 0, 288, 289,
2236 290, 21, 291, 292, 0, 23, 0, 0, 0, 293,
2237 294, 295, 296, 297, 26, 0, 27, 298, 0, 0,
2238 0, 0, 0, 0, 0, 0, 0, 300, 0, 0,
2239 301, 0, 0, 0, 0, 0, 0, 0, 302, 303,
2240 304, 0, 0, 0, 0, 0, 305, 306, 307, 280,
2241 8, 9, 10, 308, 12, 281, 282, 283, 0, 284,
2242 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2243 309, 0, 0, 0, 16, 285, 17, 0, 19, 0,
2244 286, 287, 20, 0, 288, 289, 290, 21, 291, 292,
2245 0, 23, 0, 0, 0, 293, 294, 295, 296, 297,
2246 26, 0, 27, 298, 0, 0, 0, 299, 0, 0,
2247 0, 0, 0, 300, 0, 0, 301, 0, 0, 0,
2248 0, 0, 0, 0, 302, 303, 304, 0, 0, 0,
2249 0, 0, 305, 306, 307, 280, 8, 9, 10, 308,
2250 12, 498, 282, 283, 0, 284, 14, 0, 0, 0,
2251 0, 0, 0, 0, 0, 0, 309, 0, 0, 0,
2252 16, 285, 17, 0, 19, 0, 286, 287, 20, 0,
2253 288, 289, 290, 21, 291, 292, 0, 23, 0, 0,
2254 0, 293, 294, 295, 296, 297, 26, 0, 27, 298,
2255 0, 0, 0, 299, 0, 0, 0, 0, 0, 300,
2256 0, 0, 301, 0, 0, 0, 0, 0, 0, 0,
2257 302, 303, 304, 0, 0, 0, 0, 0, 305, 306,
2258 307, 280, 8, 9, 10, 308, 12, 498, 282, 283,
2259 0, 284, 14, 0, 0, 0, 0, 0, 0, 0,
2260 0, 0, 309, 0, 0, 0, 16, 285, 17, 0,
2261 19, 0, 286, 287, 20, 0, 288, 289, 290, 21,
2262 291, 292, 0, 23, 0, 0, 0, 293, 294, 295,
2263 296, 297, 26, 0, 27, 298, 531, 0, 0, 0,
2264 0, 0, 0, 0, 0, 300, 0, 0, 301, 0,
2265 0, 0, 0, 0, 0, 0, 302, 303, 304, 0,
2266 0, 0, 0, 0, 305, 306, 307, 280, 8, 9,
2267 10, 532, 12, 498, 282, 283, 0, 284, 14, 0,
2268 0, 0, 0, 0, 0, 0, 0, 0, 309, 0,
2269 0, 0, 16, 285, 17, 0, 19, 0, 286, 287,
2270 20, 0, 288, 289, 290, 21, 291, 292, 0, 23,
2271 0, 0, 0, 293, 294, 295, 296, 297, 26, 0,
2272 27, 298, 0, 0, 0, 0, 0, 0, 0, 0,
2273 0, 300, 0, 0, 301, 0, 0, 0, 0, 0,
2274 0, 0, 302, 303, 304, 0, 0, 0, 0, 0,
2275 305, 306, 307, 0, 0, 0, 0, 308, 568, 280,
2276 8, 9, 10, 0, 12, 498, 282, 283, 0, 284,
2277 14, 0, 0, 0, 309, 0, 0, 0, 0, 0,
2278 0, 0, 0, 0, 16, 285, 17, 0, 19, 0,
2279 286, 287, 20, 0, 288, 289, 290, 21, 291, 292,
2280 0, 23, 0, 0, 0, 293, 294, 295, 296, 297,
2281 26, 0, 27, 298, 0, 0, 0, 299, 0, 0,
2282 0, 0, 0, 300, 0, 0, 517, 0, 0, 0,
2283 0, 0, 0, 0, 302, 303, 518, 0, 0, 0,
2284 0, 0, 305, 306, 307, 1090, 8, 9, 10, 519,
2285 12, 498, 282, 283, 0, 284, 14, 0, 0, 0,
2286 0, 0, 0, 0, 0, 0, 309, 0, 0, 0,
2287 16, 285, 17, 0, 19, 0, 286, 287, 20, 0,
2288 288, 289, 290, 21, 291, 292, 0, 23, 0, 0,
2289 0, 293, 294, 295, 296, 297, 26, 0, 27, 298,
2290 0, 0, 0, 299, 0, 0, 0, 0, 0, 300,
2291 0, 0, 301, 0, 0, 0, 0, 0, 0, 0,
2292 302, 303, 304, 0, 0, 0, 0, 0, 305, 306,
2293 307, 7, 8, 9, 10, 308, 12, 498, 282, 283,
2294 0, 284, 14, 0, 0, 0, 0, 0, 0, 0,
2295 0, 0, 309, 0, 0, 0, 16, 285, 17, 0,
2296 19, 0, 286, 287, 20, 0, 288, 289, 290, 21,
2297 291, 292, 0, 23, 0, 0, 0, 293, 294, 295,
2298 296, 297, 26, 0, 27, 28, 0, 0, 0, 299,
2299 0, 0, 0, 0, 0, 300, 0, 0, 1421, 0,
2300 0, 0, 0, 0, 0, 0, 302, 303, 1422, 0,
2301 0, 0, 0, 0, 305, 306, 307, 280, 8, 9,
2302 10, 1423, 12, 498, 282, 283, 0, 284, 14, 0,
2303 0, 0, 0, 0, 0, 0, 0, 0, 309, 0,
2304 0, 0, 16, 285, 17, 0, 19, 0, 286, 287,
2305 20, 0, 288, 289, 290, 21, 291, 292, 0, 23,
2306 0, 0, 0, 293, 294, 295, 296, 297, 26, 0,
2307 27, 298, 0, 0, 0, 0, 0, 0, 0, 0,
2308 0, 300, 0, 0, 301, 0, 0, 0, 0, 0,
2309 0, 0, 302, 303, 304, 0, 0, 0, 0, 0,
2310 305, 306, 307, 280, 8, 9, 10, 499, 12, 498,
2311 282, 283, 0, 284, 14, 0, 0, 0, 0, 0,
2312 0, 0, 0, 0, 309, 0, 0, 0, 16, 285,
2313 17, 0, 19, 0, 286, 287, 20, 0, 288, 289,
2314 290, 21, 291, 292, 0, 23, 0, 0, 0, 293,
2315 294, 295, 296, 297, 26, 0, 27, 298, 0, 0,
2316 0, 0, 0, 0, 0, 0, 0, 300, 0, 0,
2317 301, 0, 0, 0, 0, 0, 0, 0, 302, 303,
2318 304, 0, 0, 0, 0, 0, 305, 306, 307, 280,
2319 8, 9, 10, 502, 12, 498, 282, 283, 0, 284,
2320 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2321 309, 0, 0, 0, 16, 285, 17, 0, 19, 0,
2322 286, 287, 20, 0, 288, 289, 290, 21, 291, 292,
2323 0, 23, 0, 0, 0, 293, 294, 295, 296, 297,
2324 26, 0, 27, 298, 0, 0, 0, 0, 0, 0,
2325 0, 0, 0, 300, 0, 0, 301, 0, 0, 0,
2326 0, 0, 0, 0, 302, 303, 304, 0, 0, 0,
2327 0, 0, 305, 306, 307, 280, 8, 9, 10, 308,
2328 12, 498, 282, 283, 0, 284, 14, 0, 0, 0,
2329 0, 0, 0, 0, 0, 0, 309, 0, 0, 0,
2330 16, 285, 17, 0, 19, 0, 286, 287, 20, 0,
2331 288, 289, 290, 21, 291, 292, 0, 23, 0, 0,
2332 0, 293, 294, 295, 296, 297, 26, 0, 27, 298,
2333 0, 0, 0, 0, 0, 0, 0, 0, 0, 300,
2334 0, 0, 517, 0, 0, 0, 0, 0, 0, 0,
2335 302, 303, 518, 0, 0, 0, 0, 0, 305, 306,
2336 307, 7, 8, 9, 10, 519, 12, 281, 282, 283,
2337 0, 284, 14, 0, 0, 0, 0, 0, 0, 0,
2338 0, 0, 309, 0, 0, 0, 16, 285, 17, 0,
2339 19, 0, 286, 287, 20, 0, 288, 289, 290, 21,
2340 291, 292, 0, 23, 0, 0, 0, 293, 294, 295,
2341 296, 297, 26, 0, 27, 28, 0, 0, 0, 0,
2342 0, 0, 0, 0, 0, 300, 0, 0, 1421, 0,
2343 0, 0, 0, 0, 0, 0, 302, 303, 1422, 0,
2344 0, 0, 0, 0, 305, 306, 307, 0, 0, 0,
2345 0, 1423, 7, 8, 9, 10, 385, 12, 13, 0,
2346 0, 951, 0, 14, 0, 0, 0, 0, 309, 0,
2347 0, 0, 0, 0, 0, 0, 0, 16, 0, 17,
2348 18, 0, 0, 0, 0, 20, 0, 0, 0, 0,
2349 21, 0, 0, 0, 23, 0, 0, 0, 0, 0,
2350 0, 0, 0, 26, 0, 27, 28, 985, 8, 732,
2351 10, 188, 12, 189, 0, 0, 0, 0, 14, 30,
2352 0, 0, 0, 0, 0, 0, 0, 0, 0, 31,
2353 0, 0, 16, 0, 17, 18, 0, 32, 0, 0,
2354 20, 0, 33, 0, 0, 21, 0, 0, 0, 23,
2355 0, 0, 0, 0, 0, 0, 0, 0, 26, 0,
2356 27, 28, 0, 0, 0, 0, 987, 0, 0, 0,
2357 0, 0, 0, 0, 30, 7, 8, 9, 10, 188,
2358 12, 189, 0, 0, 31, 0, 14, 0, 0, 0,
2359 0, 0, 32, 0, 0, 0, 0, 33, 0, 0,
2360 16, 0, 17, 18, 0, 0, 0, 0, 20, 0,
2361 0, 0, 0, 21, 0, 0, 0, 23, 0, 0,
2362 0, 0, 0, 0, 0, 0, 26, 0, 27, 28,
2363 0, 0, 1354, 0, 7, 8, 9, 10, 385, 12,
2364 13, 0, 30, 0, 0, 14, 0, 0, 0, 0,
2365 0, 0, 31, 0, 0, 0, 0, 0, 0, 16,
2366 32, 17, 18, 0, 0, 33, 0, 20, 0, 0,
2367 0, 0, 21, 0, 0, 0, 23, 0, 0, 0,
2368 0, 0, 0, 0, 0, 26, 0, 27, 28, 7,
2369 8, 9, 10, 188, 12, 189, 0, 0, 0, 0,
2370 14, 30, 0, 0, 0, 0, 0, 0, 0, 0,
2371 0, 31, 0, 0, 16, 0, 17, 18, 0, 32,
2372 0, 0, 20, 0, 33, 0, 0, 21, 8, 9,
2373 0, 23, 12, 226, 0, 0, 0, 0, 14, 0,
2374 26, 0, 27, 28, 7, 8, 9, 10, 197, 198,
2375 199, 0, 16, 0, 17, 14, 30, 0, 0, 0,
2376 20, 0, 0, 0, 0, 0, 31, 0, 0, 23,
2377 0, 580, 18, 0, 32, 0, 0, 20, 26, 33,
2378 128, 129, 21, 0, 0, 1411, 23, 0, 580, 0,
2379 0, 0, 0, 0, 581, 26, 0, 27, 28, 0,
2380 0, 0, 0, 0, 582, 0, 0, 0, 0, 0,
2381 0, 176, 0, 0, 583, 0, 0, 584, 585, 0,
2382 0, 177, 0, 0, 0, 0, 18, 0, 0, 32,
2383 0, 0, 0, 0, 1357, 1412, 534, 535, 536, 537,
2384 538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
2385 548, 549, 550, 551, 552, 553, 554, 555, 534, 535,
2386 536, 537, 538, 539, 540, 541, 542, 543, 544, 545,
2387 546, 547, 548, 549, 550, 551, 552, 553, 554, 555,
2388 8, 9, 0, 385, 12, 13, 0, 0, 688, 0,
2389 14, 0, 0, 8, 9, 0, 385, 12, 13, 0,
2390 0, 1471, 0, 14, 16, 0, 17, 18, 0, 0,
2391 0, 0, 20, 0, 0, 0, 0, 16, 0, 17,
2392 18, 23, 0, 0, 0, 20, 0, 0, 0, 0,
2393 26, 0, 128, 129, 23, 0, 0, 8, 9, 0,
2394 188, 12, 189, 26, 0, 128, 129, 14, 0, 0,
2395 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2396 0, 16, 0, 17, 18, 0, 0, 0, 0, 20,
2397 0, 0, 0, 0, 0, 0, 0, 0, 23, 0,
2398 0, 0, 0, 0, 0, 0, 0, 26, 0, 128,
2399 129, 534, 535, 536, 537, 538, 539, 540, 541, 542,
2400 543, 544, 545, 546, 547, 548, 549, 550, 551, 552,
2401 553, 554, 555, 0, 0, 0, 0, 0, 0, 0,
2402 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2403 0, 0, 621, 0, 0, 1467, 534, 535, 536, 537,
2404 538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
2405 548, 549, 550, 551, 552, 553, 554, 555, 1485, 534,
2406 535, 536, 537, 538, 539, 540, 541, 542, 543, 544,
2407 545, 546, 547, 548, 549, 550, 551, 552, 553, 554,
2408 555, 534, 535, 536, 537, 538, 539, 540, 541, 542,
2409 543, 544, 545, 546, 547, 548, 549, 550, 551, 552,
2410 553, 554, 555, 534, 535, 536, 537, 538, 539, 540,
2411 541, 542, 543, 544, 545, 0, 547, 548, 549, 550,
2412 551, 552, 553, 554, 555
2413 };
2414
2415 static const short yycheck[] = { 4,
2416 384, 145, 146, 155, 57, 192, 328, 78, 673, 670,
2417 4, 4, 384, 4, 23, 53, 231, 384, 124, 14,
2418 660, 4, 420, 82, 334, 88, 334, 90, 468, 447,
2419 35, 200, 201, 529, 828, 40, 30, 31, 352, 192,
2420 227, 35, 35, 4, 35, 60, 40, 40, 201, 40,
2421 55, 653, 35, 736, 564, 738, 131, 40, 122, 1409,
2422 4, 127, 745, 425, 11, 70, 132, 4, 52, 140,
2423 284, 285, 135, 1245, 35, 1323, 44, 82, 1408, 40,
2424 33, 86, 60, 88, 11, 90, 81, 584, 82, 276,
2425 11, 35, 37, 59, 591, 0, 40, 4, 35, 12,
2426 105, 106, 316, 40, 1410, 1252, 74, 753, 9, 104,
2427 222, 1, 1259, 759, 1426, 186, 54, 1447, 55, 334,
2428 74, 131, 132, 47, 62, 523, 38, 7, 35, 134,
2429 135, 109, 137, 40, 1446, 62, 1, 78, 58, 192,
2430 134, 328, 54, 109, 1151, 1152, 59, 200, 201, 62,
2431 1, 145, 146, 75, 159, 77, 109, 37, 1165, 25,
2432 61, 108, 105, 106, 109, 159, 150, 585, 58, 93,
2433 94, 59, 62, 134, 227, 82, 1482, 1527, 98, 501,
2434 195, 108, 176, 177, 108, 60, 59, 108, 203, 74,
2435 134, 1503, 58, 58, 0, 108, 62, 134, 159, 183,
2436 59, 12, 3, 4, 5, 95, 78, 58, 335, 336,
2437 59, 62, 1542, 48, 60, 159, 3, 4, 5, 865,
2438 108, 47, 159, 276, 60, 455, 75, 134, 196, 95,
2439 102, 62, 672, 228, 109, 108, 59, 1409, 878, 1487,
2440 33, 881, 472, 74, 95, 47, 47, 74, 59, 108,
2441 325, 62, 159, 54, 58, 56, 57, 74, 54, 131,
2442 64, 413, 321, 109, 391, 392, 1413, 93, 140, 56,
2443 57, 643, 277, 109, 337, 328, 674, 1284, 74, 919,
2444 920, 93, 451, 452, 47, 108, 1293, 1294, 354, 1296,
2445 459, 93, 93, 80, 604, 439, 440, 47, 900, 452,
2446 364, 242, 471, 308, 27, 47, 108, 93, 31, 1456,
2447 47, 695, 378, 59, 186, 325, 321, 827, 64, 633,
2448 47, 490, 4, 5, 329, 93, 972, 321, 695, 75,
2449 93, 94, 337, 338, 445, 54, 389, 60, 984, 334,
2450 93, 64, 453, 93, 338, 108, 47, 219, 1249, 387,
2451 1251, 93, 145, 146, 147, 74, 93, 1504, 573, 3,
2452 4, 5, 6, 4, 5, 308, 93, 94, 378, 691,
2453 242, 1017, 869, 1019, 56, 57, 165, 338, 107, 384,
2454 12, 108, 54, 388, 35, 178, 109, 60, 12, 40,
2455 384, 384, 93, 94, 338, 25, 1190, 41, 451, 452,
2456 415, 338, 74, 27, 48, 47, 459, 31, 904, 54,
2457 907, 60, 56, 57, 321, 56, 57, 62, 471, 4,
2458 5, 54, 25, 47, 27, 1432, 1433, 59, 433, 74,
2459 62, 338, 64, 496, 54, 59, 60, 490, 62, 433,
2460 64, 1081, 1082, 458, 88, 439, 440, 31, 866, 946,
2461 47, 93, 94, 62, 74, 58, 54, 4, 5, 62,
2462 74, 333, 9, 48, 469, 47, 58, 64, 830, 93,
2463 94, 56, 57, 47, 54, 469, 74, 384, 3, 4,
2464 5, 608, 64, 1166, 108, 58, 469, 430, 4, 5,
2465 47, 496, 95, 461, 499, 80, 93, 502, 4, 5,
2466 47, 506, 507, 508, 509, 510, 565, 54, 469, 56,
2467 57, 93, 94, 109, 519, 47, 93, 901, 1312, 93,
2468 94, 47, 394, 70, 529, 469, 433, 532, 469, 901,
2469 970, 56, 57, 80, 901, 47, 93, 935, 54, 47,
2470 56, 57, 48, 90, 713, 54, 93, 94, 75, 47,
2471 56, 57, 64, 54, 4, 5, 499, 47, 611, 502,
2472 565, 93, 469, 506, 874, 4, 874, 93, 62, 54,
2473 62, 565, 610, 636, 80, 108, 519, 47, 108, 584,
2474 74, 93, 74, 47, 94, 93, 591, 581, 582, 532,
2475 584, 778, 54, 536, 466, 93, 35, 591, 33, 652,
2476 595, 40, 33, 93, 54, 1102, 56, 57, 720, 47,
2477 722, 649, 74, 651, 652, 727, 54, 4, 5, 562,
2478 70, 493, 9, 93, 730, 568, 3, 4, 5, 93,
2479 80, 636, 641, 1130, 8, 9, 74, 1055, 691, 108,
2480 14, 47, 769, 47, 94, 650, 439, 440, 441, 654,
2481 47, 62, 62, 691, 62, 93, 108, 871, 565, 874,
2482 713, 11, 36, 672, 59, 60, 74, 54, 109, 56,
2483 57, 45, 1112, 47, 1036, 1037, 25, 584, 27, 56,
2484 57, 58, 3, 70, 591, 4, 5, 93, 1450, 93,
2485 695, 754, 755, 80, 757, 93, 93, 108, 108, 286,
2486 287, 695, 59, 60, 1144, 743, 578, 94, 59, 58,
2487 145, 146, 147, 62, 301, 146, 147, 304, 60, 93,
2488 307, 111, 594, 310, 75, 778, 77, 314, 1050, 48,
2489 25, 736, 27, 738, 1496, 322, 94, 56, 57, 744,
2490 745, 94, 736, 178, 738, 62, 95, 178, 753, 754,
2491 755, 745, 757, 736, 759, 738, 111, 1051, 1052, 753,
2492 1054, 80, 745, 58, 1126, 759, 93, 62, 59, 60,
2493 897, 739, 740, 1135, 1136, 736, 74, 738, 1140, 93,
2494 748, 3, 4, 5, 745, 7, 8, 9, 695, 83,
2495 84, 25, 736, 27, 738, 736, 74, 738, 4, 5,
2496 95, 745, 54, 744, 745, 109, 743, 744, 74, 1470,
2497 62, 766, 767, 768, 36, 4, 5, 59, 60, 1181,
2498 74, 826, 74, 59, 58, 1490, 831, 108, 62, 736,
2499 11, 738, 54, 59, 56, 57, 58, 108, 745, 59,
2500 60, 912, 48, 59, 60, 54, 753, 3, 4, 5,
2501 56, 57, 759, 62, 859, 967, 968, 969, 108, 48,
2502 865, 95, 4, 5, 869, 74, 9, 56, 57, 12,
2503 54, 865, 74, 867, 868, 869, 108, 308, 62, 874,
2504 54, 103, 104, 105, 1011, 1012, 1013, 59, 60, 60,
2505 74, 80, 835, 4, 5, 108, 901, 54, 903, 904,
2506 56, 57, 907, 111, 47, 62, 48, 901, 901, 1271,
2507 109, 905, 906, 907, 56, 57, 59, 74, 61, 62,
2508 108, 64, 109, 4, 5, 996, 869, 716, 9, 1251,
2509 517, 518, 75, 111, 77, 27, 1334, 975, 80, 4,
2510 5, 946, 74, 54, 74, 56, 57, 1309, 1346, 27,
2511 93, 94, 946, 31, 959, 54, 1100, 1101, 865, 70,
2512 965, 750, 869, 111, 74, 108, 111, 972, 108, 80,
2513 108, 108, 58, 54, 108, 56, 57, 8, 972, 984,
2514 54, 59, 60, 48, 1128, 1129, 64, 54, 111, 70,
2515 984, 56, 57, 93, 901, 62, 1059, 4, 5, 80,
2516 907, 873, 1007, 875, 439, 440, 441, 74, 47, 440,
2517 441, 64, 1017, 1007, 1019, 80, 3, 4, 5, 59,
2518 988, 93, 965, 1017, 1007, 1019, 994, 995, 1426, 109,
2519 998, 999, 60, 1104, 1002, 47, 54, 44, 975, 946,
2520 912, 1046, 54, 30, 36, 47, 1007, 54, 1446, 56,
2521 57, 64, 54, 64, 1059, 996, 1440, 27, 64, 108,
2522 60, 31, 74, 1007, 62, 972, 1007, 54, 499, 56,
2523 57, 502, 74, 1440, 1201, 1473, 108, 984, 108, 108,
2524 64, 93, 108, 64, 3, 4, 5, 518, 519, 59,
2525 60, 93, 3, 4, 5, 6, 64, 1102, 93, 59,
2526 1007, 532, 111, 1112, 62, 1503, 1100, 1101, 1102, 108,
2527 1017, 108, 1019, 1511, 907, 108, 75, 108, 1123, 108,
2528 75, 75, 1444, 75, 996, 1130, 3, 4, 5, 1123,
2529 41, 108, 1123, 108, 1128, 1129, 1130, 56, 57, 62,
2530 1123, 62, 59, 54, 108, 56, 57, 62, 111, 60,
2531 86, 62, 88, 946, 90, 108, 94, 426, 88, 70,
2532 591, 1166, 1123, 111, 433, 3, 4, 5, 6, 80,
2533 1532, 48, 1166, 3, 4, 5, 74, 88, 47, 56,
2534 57, 108, 93, 1166, 108, 111, 111, 1130, 977, 978,
2535 3, 4, 5, 109, 108, 1102, 108, 59, 1251, 135,
2536 108, 137, 108, 41, 109, 1166, 1078, 64, 64, 59,
2537 48, 1249, 59, 1251, 108, 108, 1123, 1006, 56, 57,
2538 93, 1162, 1166, 1130, 54, 1166, 56, 57, 497, 3,
2539 4, 5, 1104, 93, 1177, 1178, 1179, 1180, 93, 93,
2540 1245, 54, 80, 56, 57, 1250, 109, 1252, 109, 108,
2541 88, 1245, 839, 111, 1259, 108, 108, 1444, 1252, 1166,
2542 8, 1252, 1245, 1268, 108, 1259, 1418, 108, 1259, 1252,
2543 109, 108, 108, 108, 48, 108, 1259, 1421, 1422, 111,
2544 867, 868, 56, 57, 1245, 108, 3, 4, 5, 33,
2545 1162, 1252, 561, 3, 4, 5, 6, 1240, 1259, 9,
2546 108, 4, 5, 108, 108, 8, 9, 1100, 1101, 1102,
2547 64, 14, 3, 4, 5, 6, 78, 79, 80, 81,
2548 82, 83, 84, 1291, 1292, 28, 108, 30, 54, 598,
2549 108, 41, 108, 36, 62, 1128, 1129, 1130, 1245, 56,
2550 57, 772, 45, 111, 54, 1252, 56, 57, 47, 108,
2551 41, 54, 1259, 56, 57, 58, 108, 48, 8, 9,
2552 70, 108, 96, 299, 14, 56, 57, 1310, 1157, 1158,
2553 80, 1160, 1161, 62, 1163, 62, 60, 60, 88, 9,
2554 60, 16, 93, 93, 108, 108, 36, 108, 1356, 80,
2555 93, 1444, 108, 108, 108, 45, 93, 88, 1403, 60,
2556 1343, 337, 60, 1408, 1409, 1410, 111, 1445, 1413, 1403,
2557 17, 93, 93, 60, 1408, 1409, 1410, 1408, 1423, 1413,
2558 97, 107, 1413, 108, 60, 1408, 1409, 1421, 1422, 108,
2559 1413, 3, 4, 5, 6, 1440, 108, 868, 869, 108,
2560 11, 60, 1447, 60, 60, 93, 1440, 1408, 1409, 59,
2561 64, 1456, 1413, 1447, 108, 60, 1447, 108, 11, 108,
2562 1403, 60, 1456, 11, 1447, 1456, 1409, 1410, 60, 41,
2563 1057, 0, 907, 1456, 0, 0, 907, 1482, 412, 2,
2564 1423, 901, 54, 354, 56, 57, 1447, 1469, 1482, 425,
2565 426, 159, 1281, 1282, 159, 1456, 1403, 433, 744, 1504,
2566 1112, 1408, 1409, 1410, 92, 137, 1413, 1475, 1333, 1542,
2567 1504, 946, 1191, 1504, 279, 946, 88, 384, 3, 4,
2568 5, 1504, 80, 81, 82, 83, 84, 890, 1250, 3,
2569 4, 5, 6, 1440, 1144, 679, 970, 1542, 885, 1482,
2570 1447, 1128, 1129, 1504, 1007, 221, 744, 1164, 1542, 1456,
2571 883, 1542, 183, 617, 325, 1498, 825, 826, 122, 1542,
2572 496, 497, 831, 1252, 1357, 1124, 433, 41, 1459, 54,
2573 1521, 56, 57, 58, 1490, 1482, 845, 1520, 847, 565,
2574 849, 1542, 56, 57, 1527, 1511, 954, 1376, 1377, 1378,
2575 1523, 1268, -1, 529, -1, 531, -1, 1504, 534, 535,
2576 -1, 537, 538, 539, 540, 541, 542, 543, 544, 545,
2577 546, 547, 548, 549, 550, 551, 552, 553, 554, 555,
2578 -1, -1, -1, 892, -1, 561, -1, -1, 1421, 1422,
2579 1423, -1, -1, 47, 711, 1542, 3, 4, 5, 6,
2580 1429, 1430, -1, 3, 4, 5, -1, 7, 8, 9,
2581 -1, -1, -1, -1, -1, 591, -1, -1, 1245, -1,
2582 929, -1, 598, -1, -1, 1100, 1101, 1102, -1, -1,
2583 1101, 1102, 86, 87, 41, 752, 36, 91, 92, 93,
2584 94, 758, -1, -1, 620, 621, -1, -1, -1, 56,
2585 57, -1, -1, 1128, 1129, 1130, 56, 57, 1129, 1130,
2586 636, -1, -1, -1, -1, 1, 1495, 3, 4, 5,
2587 6, 7, 8, 9, -1, -1, -1, 584, 14, -1,
2588 -1, 88, -1, -1, 591, -1, -1, -1, -1, -1,
2589 -1, 14, 28, -1, 30, 31, 32, -1, -1, 22,
2590 36, 37, -1, 679, -1, 41, -1, -1, -1, 45,
2591 46, -1, 48, 3, 4, 5, 6, -1, 54, -1,
2592 56, 57, -1, -1, 60, -1, 62, -1, -1, -1,
2593 3, 4, 5, 6, 70, -1, -1, -1, -1, -1,
2594 63, -1, -1, 860, 80, 862, 426, 3, 4, 5,
2595 6, 41, 88, 433, -1, -1, -1, 93, -1, 735,
2596 -1, -1, -1, -1, 54, -1, 56, 57, 41, -1,
2597 60, -1, -1, 109, -1, 48, -1, -1, 754, 755,
2598 70, 757, -1, 56, 57, 41, -1, -1, 695, -1,
2599 80, -1, 48, -1, 1421, 1422, 772, -1, 88, 122,
2600 56, 57, 4, 93, -1, 1114, -1, 1116, -1, 1118,
2601 -1, -1, 14, -1, -1, 88, -1, 497, 794, -1,
2602 -1, 144, 24, -1, 4, 5, -1, -1, 30, 31,
2603 -1, 33, 88, 35, -1, 3, 4, 5, 40, 7,
2604 8, 9, -1, -1, -1, -1, 753, -1, -1, 825,
2605 826, 53, 759, 55, 830, 831, -1, -1, -1, -1,
2606 -1, 63, -1, -1, -1, -1, -1, 47, 70, 845,
2607 -1, 847, -1, 849, 54, -1, 56, 57, -1, 81,
2608 82, 561, 1357, -1, -1, -1, 1357, -1, 56, 57,
2609 70, 7, 8, 9, -1, -1, 219, 220, 14, 1016,
2610 80, 1018, 104, 1212, -1, -1, 882, -1, 231, -1,
2611 90, 591, -1, 93, 94, 31, 892, -1, 598, -1,
2612 36, -1, -1, -1, -1, 127, -1, -1, 904, 45,
2613 132, -1, 134, -1, 105, 106, 138, -1, -1, 141,
2614 142, 917, -1, 145, 146, 147, 1421, 1422, 1423, -1,
2615 -1, 1422, 1423, 929, -1, 1072, -1, 159, 865, -1,
2616 -1, -1, 869, 3, 4, 5, 6, -1, -1, 9,
2617 946, -1, -1, -1, 176, 177, 178, 300, 71, 72,
2618 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
2619 83, 84, 4, 5, 901, -1, 8, 9, -1, -1,
2620 907, 41, 14, 205, -1, -1, -1, 47, -1, -1,
2621 -1, 987, -1, -1, 54, -1, 56, 57, 220, 342,
2622 176, 177, 178, -1, 36, -1, 228, -1, 351, -1,
2623 70, 1148, -1, 45, -1, 47, 1153, 239, -1, 946,
2624 80, 364, 54, -1, 56, 57, -1, -1, 88, -1,
2625 90, -1, -1, 93, 94, 7, 8, 9, 70, -1,
2626 1036, 1037, 14, -1, 1040, 972, -1, -1, 80, -1,
2627 -1, -1, -1, -1, -1, 277, 278, 984, 90, 31,
2628 -1, 93, 94, 1059, 36, -1, -1, -1, 1205, -1,
2629 -1, -1, 772, 45, -1, -1, -1, -1, -1, -1,
2630 -1, 1, -1, 3, 4, 5, 6, -1, 8, -1,
2631 1017, -1, 1019, -1, -1, 7, 8, 9, -1, 321,
2632 -1, -1, 14, 325, -1, 327, 328, 329, -1, -1,
2633 -1, -1, -1, -1, -1, -1, 338, 308, 1114, 31,
2634 1116, 41, 1118, 466, 36, 825, 826, -1, 48, -1,
2635 1126, 831, 354, 45, 54, -1, 56, 57, -1, 1135,
2636 1136, -1, -1, -1, 1140, 845, -1, 847, 60, 849,
2637 -1, 3, 4, 5, 6, -1, 378, -1, -1, 1155,
2638 1156, -1, 384, 1300, 1301, 387, 388, -1, 88, -1,
2639 -1, -1, -1, -1, -1, 1102, 398, -1, -1, 401,
2640 1317, -1, -1, -1, 406, 1181, 38, 39, 531, 41,
2641 -1, -1, 892, 384, -1, -1, 3, 4, 5, 6,
2642 -1, -1, 54, 1130, 56, 57, -1, -1, -1, -1,
2643 -1, -1, -1, 435, -1, 437, 1212, 439, 440, 441,
2644 -1, -1, -1, 445, 3, 4, 5, 6, 450, 929,
2645 573, 453, 1369, 1370, 41, -1, -1, -1, -1, -1,
2646 1236, 48, 433, -1, -1, -1, 946, 469, -1, 56,
2647 57, 1388, 1389, -1, -1, -1, -1, -1, -1, 435,
2648 -1, 437, 41, 439, 440, 441, -1, -1, -1, 48,
2649 -1, -1, -1, 80, 450, 1271, -1, 56, 57, -1,
2650 -1, 88, -1, -1, -1, 507, 508, 509, 510, -1,
2651 -1, 1287, -1, 3, 4, 5, -1, 7, 641, -1,
2652 -1, 80, -1, -1, -1, -1, -1, -1, 499, 88,
2653 653, 502, -1, 1309, -1, 506, 507, 508, 509, 510,
2654 30, -1, -1, -1, -1, -1, -1, 37, 519, -1,
2655 -1, -1, 3, 4, 5, 6, 679, -1, 9, -1,
2656 -1, 532, -1, 565, 54, 567, 56, 57, -1, -1,
2657 -1, 7, 8, 9, -1, -1, -1, 579, 14, 581,
2658 582, 1357, 584, -1, -1, -1, -1, -1, -1, 591,
2659 41, -1, -1, 595, -1, 31, 47, -1, 1374, 1375,
2660 36, -1, -1, 54, -1, 56, 57, 1383, 610, 45,
2661 -1, -1, -1, 584, -1, -1, -1, -1, -1, 70,
2662 591, -1, -1, -1, 60, 3, 4, 5, 6, 80,
2663 -1, 9, -1, -1, 1114, 1411, 1116, 88, 1118, 90,
2664 -1, -1, 93, 94, -1, -1, -1, 649, 650, 651,
2665 652, 653, 654, 3, 4, 5, 6, -1, -1, -1,
2666 -1, -1, -1, 41, -1, -1, -1, -1, -1, 47,
2667 -1, -1, -1, 55, -1, 57, 54, -1, 56, 57,
2668 76, 77, 78, 79, 80, 81, 82, 83, 84, 691,
2669 -1, 41, 70, 695, -1, -1, -1, -1, 48, -1,
2670 702, 703, 80, 705, -1, -1, 56, 57, -1, -1,
2671 88, -1, 90, -1, -1, 93, 94, 3, 4, 5,
2672 6, 7, 8, 9, 695, -1, -1, -1, 14, -1,
2673 80, 733, 1212, 1440, 736, -1, 738, -1, 88, -1,
2674 -1, 743, 744, 745, -1, 31, 702, 703, -1, 705,
2675 36, 753, -1, -1, -1, 41, 1532, 759, -1, 45,
2676 -1, 47, -1, -1, 766, 767, 768, 890, 54, -1,
2677 56, 57, -1, -1, -1, -1, 778, 900, -1, -1,
2678 -1, -1, 753, 165, 70, -1, 4, 743, 759, -1,
2679 -1, -1, -1, -1, 80, -1, 14, -1, -1, -1,
2680 -1, -1, 88, -1, 90, 23, 24, 93, 94, -1,
2681 192, -1, 30, 31, -1, 33, -1, 35, 200, 201,
2682 -1, -1, 40, -1, -1, -1, -1, -1, -1, 327,
2683 328, 329, -1, -1, -1, 53, -1, 55, -1, -1,
2684 -1, -1, -1, -1, -1, 63, -1, -1, 850, -1,
2685 852, -1, 70, -1, -1, 826, -1, 859, -1, -1,
2686 -1, 863, -1, 865, 82, 867, 868, 869, -1, -1,
2687 -1, -1, 874, -1, -1, -1, -1, 1357, -1, -1,
2688 -1, -1, -1, -1, -1, -1, -1, -1, 859, -1,
2689 4, 5, -1, -1, 865, 9, -1, -1, 869, 901,
2690 -1, 903, -1, 905, 906, 907, -1, -1, -1, 127,
2691 -1, -1, -1, -1, 1037, -1, 134, -1, -1, -1,
2692 138, -1, -1, -1, 142, -1, -1, 145, 146, 147,
2693 901, -1, 903, 47, -1, -1, 907, -1, -1, -1,
2694 54, 159, 56, 57, 946, 3, 4, 5, 6, 905,
2695 906, 907, -1, -1, -1, -1, 70, 959, 176, 177,
2696 178, -1, -1, -1, -1, -1, 80, -1, -1, -1,
2697 972, -1, -1, 975, -1, 946, 90, -1, -1, 93,
2698 94, -1, 984, 41, -1, -1, -1, 205, 959, 47,
2699 946, -1, -1, -1, 965, 997, 54, 1120, 56, 57,
2700 -1, 972, -1, 1126, -1, 1007, 388, 389, -1, -1,
2701 -1, -1, 70, 984, -1, 1017, -1, 1019, -1, 975,
2702 -1, 239, 80, -1, -1, -1, -1, -1, -1, -1,
2703 88, -1, 90, -1, -1, 93, 94, -1, -1, -1,
2704 -1, -1, -1, -1, 1046, -1, 1017, -1, 1019, 1051,
2705 1052, -1, 1054, -1, -1, -1, -1, -1, -1, 277,
2706 278, -1, 444, -1, -1, -1, -1, -1, -1, 451,
2707 452, -1, -1, 455, -1, 1046, -1, 459, -1, -1,
2708 -1, -1, -1, 581, 582, -1, -1, -1, -1, -1,
2709 472, -1, -1, -1, -1, -1, 1098, 1099, 1100, 1101,
2710 1102, -1, -1, 321, 1106, -1, -1, 325, -1, 327,
2711 328, 329, -1, -1, -1, -1, 334, -1, 1241, -1,
2712 338, -1, -1, -1, -1, -1, 1128, 1129, 1130, -1,
2713 -1, 1102, -1, -1, -1, -1, 354, -1, -1, -1,
2714 -1, -1, 1098, 1099, 1100, 1101, 1102, -1, -1, -1,
2715 1106, 649, -1, 651, 652, -1, 654, 1159, -1, 1130,
2716 -1, -1, 1164, -1, 1166, -1, 384, -1, -1, 387,
2717 388, -1, 1128, 1129, 1130, -1, -1, -1, -1, -1,
2718 398, -1, -1, 401, -1, -1, -1, -1, 406, -1,
2719 -1, -1, -1, 691, -1, -1, -1, -1, -1, -1,
2720 -1, -1, 1325, 1159, -1, -1, -1, -1, -1, -1,
2721 -1, -1, -1, 1215, 1216, -1, 1218, 435, -1, 437,
2722 -1, 439, 440, 441, -1, -1, -1, 445, -1, 611,
2723 -1, -1, 450, -1, -1, 453, -1, -1, -1, -1,
2724 -1, -1, -1, -1, -1, -1, -1, 1249, 1250, 1251,
2725 468, 469, -1, 4, 5, -1, -1, 8, 9, 1215,
2726 1216, -1, 1218, 14, -1, -1, 1268, -1, 650, -1,
2727 652, -1, -1, -1, -1, -1, -1, 28, -1, 30,
2728 778, -1, -1, -1, -1, 36, -1, -1, -1, 507,
2729 508, 509, 510, -1, 45, -1, -1, 1268, -1, -1,
2730 -1, -1, -1, 54, -1, 56, 57, -1, -1, 691,
2731 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
2732 77, 78, 79, 80, 81, 82, 83, 84, -1, -1,
2733 -1, 713, -1, -1, 716, -1, -1, 3, 4, 5,
2734 6, -1, 93, 9, -1, -1, -1, 565, -1, 567,
2735 -1, -1, 850, -1, 852, 1357, -1, -1, -1, -1,
2736 -1, -1, 744, 581, 582, 863, 584, -1, 750, 867,
2737 868, -1, -1, 591, -1, 41, -1, -1, -1, -1,
2738 -1, 47, -1, -1, -1, -1, 604, -1, 54, -1,
2739 56, 57, 610, -1, -1, -1, -1, -1, -1, -1,
2740 -1, 1357, -1, -1, 70, 4, 5, 905, 906, 8,
2741 9, -1, -1, -1, 80, 14, -1, -1, -1, 1421,
2742 1422, 1423, 88, 641, 90, -1, -1, 93, 94, -1,
2743 -1, 649, 650, 651, 652, 653, 654, 36, 1440, -1,
2744 -1, -1, -1, 1445, -1, -1, 45, -1, 47, -1,
2745 -1, -1, 1423, -1, 672, 54, -1, 56, 57, -1,
2746 -1, 80, -1, -1, -1, 1421, 1422, 1423, -1, 1440,
2747 -1, 70, -1, 691, -1, -1, -1, 695, -1, -1,
2748 -1, 80, -1, -1, 702, 703, -1, 705, -1, -1,
2749 -1, 90, -1, -1, 93, 94, -1, -1, -1, -1,
2750 3, 4, 5, 6, 7, 8, 9, -1, -1, -1,
2751 -1, 14, -1, -1, -1, 733, -1, -1, 736, -1,
2752 738, 3, 4, 5, 6, 743, 744, 745, 31, -1,
2753 -1, -1, -1, 36, 153, 753, -1, -1, 41, -1,
2754 -1, 759, 45, -1, 47, -1, -1, -1, 766, 767,
2755 768, 54, -1, 56, 57, 174, -1, -1, -1, 41,
2756 778, -1, -1, -1, -1, -1, -1, 70, 187, -1,
2757 -1, -1, 54, -1, 56, 57, -1, 80, -1, -1,
2758 62, -1, -1, -1, -1, 88, -1, 90, 70, -1,
2759 93, 94, -1, -1, -1, 977, 978, -1, 80, -1,
2760 1098, 1099, 1100, 1101, -1, -1, 88, -1, 1106, -1,
2761 -1, 93, -1, 1, -1, 3, 4, 5, 6, 7,
2762 8, 9, -1, -1, 1006, -1, 14, -1, -1, -1,
2763 1128, 1129, 850, -1, 852, -1, -1, -1, -1, -1,
2764 28, 859, 30, 31, 32, 863, -1, 865, 36, 867,
2765 868, 869, -1, 41, -1, -1, 874, 45, 46, -1,
2766 48, -1, -1, -1, -1, -1, 54, -1, 56, 57,
2767 4, -1, 60, -1, 62, -1, -1, -1, 3, 4,
2768 5, 6, 70, 901, 9, 903, -1, 905, 906, 907,
2769 -1, -1, 80, -1, -1, -1, 30, 31, -1, 33,
2770 88, 35, -1, -1, -1, 93, 40, -1, -1, -1,
2771 -1, -1, -1, -1, -1, -1, 41, 1215, 1216, 53,
2772 1218, 55, -1, -1, -1, -1, -1, -1, 946, 54,
2773 -1, 56, 57, -1, -1, -1, -1, -1, -1, -1,
2774 -1, 959, -1, -1, 78, 70, -1, -1, -1, -1,
2775 -1, -1, 970, -1, 972, 80, -1, 975, -1, -1,
2776 -1, -1, -1, 88, -1, -1, 984, -1, 93, -1,
2777 -1, -1, -1, -1, -1, 1157, 1158, -1, 1160, 1161,
2778 -1, 1163, -1, -1, -1, -1, -1, -1, -1, 1007,
2779 -1, -1, -1, 127, -1, -1, -1, 131, 132, 1017,
2780 134, 1019, -1, -1, 138, -1, 140, -1, 142, -1,
2781 -1, 145, 146, 147, -1, -1, -1, -1, -1, -1,
2782 -1, -1, -1, -1, 443, 159, -1, -1, 1046, 448,
2783 -1, -1, -1, 1051, 1052, -1, 1054, -1, -1, -1,
2784 -1, -1, 176, 177, 178, -1, -1, -1, -1, -1,
2785 -1, -1, 186, -1, 473, 3, 4, 5, 6, -1,
2786 479, 9, -1, -1, -1, -1, -1, -1, 1250, 1251,
2787 -1, 205, 491, 492, -1, 494, 3, 4, 5, 6,
2788 1098, 1099, 1100, 1101, 1102, -1, -1, -1, 1106, -1,
2789 -1, -1, -1, 41, 1112, -1, -1, -1, -1, 1281,
2790 1282, -1, -1, -1, -1, 239, 54, -1, 56, 57,
2791 1128, 1129, 1130, -1, 41, -1, -1, -1, -1, -1,
2792 -1, -1, 70, -1, -1, -1, 1144, 54, -1, 56,
2793 57, -1, 80, -1, -1, 62, -1, -1, -1, -1,
2794 88, 1159, -1, 70, -1, 93, 1164, -1, 1166, -1,
2795 -1, -1, -1, 80, -1, -1, -1, 4, -1, -1,
2796 -1, 88, -1, -1, -1, -1, 93, -1, 587, 588,
2797 -1, -1, -1, 592, 308, 3, 4, 5, 6, 327,
2798 328, 329, -1, 30, 31, -1, 33, -1, 35, -1,
2799 -1, 325, -1, 40, 1376, 1377, 1378, 1215, 1216, 333,
2800 1218, -1, -1, -1, 338, -1, 53, -1, 55, -1,
2801 -1, -1, -1, 41, -1, -1, -1, -1, -1, -1,
2802 354, -1, -1, -1, -1, -1, 54, -1, 56, 57,
2803 -1, 1249, 1250, 1251, 62, -1, -1, -1, -1, -1,
2804 -1, -1, 70, -1, 378, -1, -1, 1429, 1430, -1,
2805 1268, -1, 80, 387, -1, -1, -1, -1, -1, -1,
2806 88, -1, -1, -1, 398, 93, -1, 401, -1, -1,
2807 -1, -1, 406, 72, 73, 74, 75, 76, 77, 78,
2808 79, 80, 81, 82, 83, 84, -1, 134, -1, -1,
2809 -1, 138, -1, -1, -1, 142, -1, -1, 145, 146,
2810 147, 435, -1, 437, -1, 439, 440, 441, -1, -1,
2811 -1, 445, 159, 1495, -1, -1, 450, -1, -1, 453,
2812 1, -1, 3, 4, 5, 6, 7, 8, 9, 176,
2813 177, 178, -1, 14, -1, 469, -1, -1, -1, 1357,
2814 -1, 760, -1, 762, -1, -1, -1, 28, -1, 30,
2815 31, -1, -1, -1, -1, 36, -1, -1, 205, -1,
2816 41, -1, -1, -1, 45, 499, -1, 48, 502, -1,
2817 -1, -1, -1, 54, -1, 56, 57, -1, -1, 60,
2818 -1, -1, -1, 517, 518, 519, -1, -1, -1, 70,
2819 -1, -1, 239, -1, -1, -1, -1, -1, 532, 80,
2820 -1, -1, -1, 1421, 1422, 1423, -1, 88, -1, -1,
2821 -1, -1, 93, -1, 833, 834, -1, 836, -1, 4,
2822 5, -1, 1440, -1, 9, -1, -1, 1445, -1, -1,
2823 -1, -1, -1, 581, 582, -1, 584, -1, -1, -1,
2824 -1, -1, -1, 591, 578, 864, 3, 4, 5, 6,
2825 -1, -1, 9, -1, -1, -1, -1, 591, -1, -1,
2826 -1, -1, 47, -1, -1, -1, -1, -1, -1, 54,
2827 -1, 56, 57, 33, -1, -1, 610, -1, -1, -1,
2828 -1, -1, -1, -1, 41, 70, -1, 334, -1, -1,
2829 909, 338, -1, 53, -1, 80, -1, 54, -1, 56,
2830 57, 649, -1, 651, 652, 90, 654, -1, 93, 94,
2831 -1, -1, -1, 70, -1, 649, 650, 651, 652, -1,
2832 -1, -1, -1, 80, -1, -1, -1, -1, -1, -1,
2833 -1, 88, -1, -1, -1, -1, 93, -1, -1, -1,
2834 387, -1, -1, 691, -1, -1, 3, 4, 5, 6,
2835 -1, 398, 971, -1, 401, -1, -1, 691, -1, 406,
2836 -1, 695, -1, -1, 983, -1, -1, -1, 702, 703,
2837 -1, 705, -1, -1, 3, 4, 5, 6, -1, -1,
2838 9, -1, -1, -1, 41, 145, 146, 147, 435, -1,
2839 437, -1, 439, 440, 441, -1, -1, 54, 445, 56,
2840 57, -1, 736, 450, 738, -1, 453, -1, -1, 743,
2841 744, 745, 41, 70, -1, -1, 176, 177, 178, -1,
2842 -1, -1, 469, 80, -1, 54, -1, 56, 57, -1,
2843 778, 88, -1, -1, -1, -1, 93, -1, 772, -1,
2844 -1, 70, -1, -1, -1, 205, -1, -1, 1067, -1,
2845 -1, 80, -1, -1, -1, -1, 4, 5, -1, 88,
2846 8, 9, -1, -1, 93, -1, 14, 73, 74, 75,
2847 76, 77, 78, 79, 80, 81, 82, 83, 84, -1,
2848 28, -1, 30, -1, -1, -1, 1105, -1, 36, 3,
2849 4, 5, 6, 7, 8, 9, -1, 45, -1, -1,
2850 14, -1, 850, -1, 852, -1, 54, -1, 56, 57,
2851 -1, -1, -1, -1, 28, 863, 30, 31, 278, 867,
2852 868, 869, 36, -1, -1, -1, -1, 41, -1, -1,
2853 -1, 45, 579, 867, 868, 869, -1, -1, -1, 873,
2854 54, -1, 56, 57, -1, -1, 60, -1, -1, 1168,
2855 -1, -1, -1, 1172, -1, -1, 70, 905, 906, 907,
2856 -1, -1, -1, 610, -1, -1, 80, 327, 328, 329,
2857 -1, 905, 906, 907, 88, -1, -1, -1, 912, 93,
2858 -1, -1, 3, 4, 5, 6, -1, -1, 1207, -1,
2859 -1, -1, -1, -1, -1, -1, -1, -1, 946, -1,
2860 -1, -1, 649, 650, 651, 652, -1, -1, -1, -1,
2861 -1, -1, 946, -1, -1, 3, 4, 5, 6, -1,
2862 41, 9, -1, -1, -1, -1, -1, 387, -1, -1,
2863 -1, -1, -1, 54, -1, 56, 57, -1, -1, 60,
2864 -1, 975, -1, -1, 691, -1, -1, -1, 695, 70,
2865 -1, -1, -1, 41, -1, 702, 703, 1276, 705, 80,
2866 -1, 1280, 996, -1, -1, -1, 54, 88, 56, 57,
2867 -1, -1, 93, 1007, -1, 435, 53, 437, -1, 439,
2868 440, 441, 70, 1302, 1303, 445, -1, -1, -1, 736,
2869 450, 738, 80, 453, -1, -1, 743, 744, 745, -1,
2870 88, 78, -1, -1, 81, 93, -1, -1, 3, 4,
2871 5, 6, -1, -1, 9, -1, -1, -1, -1, -1,
2872 -1, -1, -1, -1, -1, 102, -1, 104, 69, 70,
2873 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
2874 81, 82, 83, 84, 1078, -1, 41, -1, -1, -1,
2875 1098, 1099, 1100, 1101, 1102, -1, -1, -1, 1106, 54,
2876 -1, 56, 57, -1, 1098, 1099, 1100, 1101, 1102, -1,
2877 1104, -1, 1106, -1, -1, 70, -1, -1, -1, -1,
2878 1128, 1129, 1130, -1, -1, 80, -1, -1, -1, -1,
2879 -1, -1, -1, 88, 1128, 1129, 1130, -1, 93, 176,
2880 177, 178, -1, -1, -1, -1, -1, 567, -1, 186,
2881 3, 4, 5, 6, -1, -1, 9, -1, -1, -1,
2882 -1, 581, 582, -1, 584, 1159, -1, 874, 205, -1,
2883 1164, 591, 1166, 70, 71, 72, 73, 74, 75, 76,
2884 77, 78, 79, 80, 81, 82, 83, 84, 41, -1,
2885 610, 228, -1, -1, -1, -1, -1, -1, 905, 906,
2886 907, 54, -1, 56, 57, 242, -1, 1215, 1216, -1,
2887 1218, -1, -1, 3, 4, 5, 6, 70, -1, -1,
2888 -1, 1215, 1216, -1, 1218, -1, -1, 80, -1, 649,
2889 -1, 651, 652, -1, 654, 88, -1, -1, -1, 946,
2890 93, 3, 4, 5, 6, -1, -1, -1, -1, -1,
2891 -1, 41, -1, -1, -1, 1249, 1250, 1251, -1, -1,
2892 -1, -1, -1, -1, 54, -1, 56, 57, 975, -1,
2893 -1, 691, -1, -1, -1, -1, -1, -1, -1, 41,
2894 70, -1, 702, 703, -1, 705, -1, -1, -1, -1,
2895 80, -1, 54, -1, 56, 57, 333, 334, 88, -1,
2896 1007, -1, -1, 93, -1, -1, -1, -1, 70, 1,
2897 -1, 3, 4, 5, 6, 7, 8, 9, 80, -1,
2898 -1, -1, 14, 743, -1, -1, 88, -1, -1, -1,
2899 -1, 93, -1, -1, -1, -1, 28, -1, 30, 31,
2900 32, -1, -1, -1, 36, 37, 766, 767, 768, 41,
2901 387, -1, -1, 45, 46, -1, 48, -1, 778, -1,
2902 -1, -1, 54, 1357, 56, 57, -1, -1, 60, -1,
2903 62, -1, -1, -1, -1, -1, -1, -1, 70, -1,
2904 -1, -1, -1, -1, -1, -1, -1, -1, 80, -1,
2905 -1, 1098, 1099, 1100, 1101, 1102, 88, -1, 435, 1106,
2906 437, 93, 439, 440, 441, -1, -1, -1, 445, -1,
2907 -1, -1, -1, 450, 4, 5, 453, 109, 8, 9,
2908 -1, 1128, 1129, 1130, 14, -1, -1, 1421, 1422, 1423,
2909 850, -1, 852, -1, -1, -1, -1, -1, 28, -1,
2910 30, -1, -1, 863, -1, -1, 36, 867, 868, 869,
2911 -1, 1445, 1159, 4, -1, 45, -1, 1164, -1, 1166,
2912 -1, -1, -1, -1, 54, -1, 56, 57, -1, -1,
2913 -1, -1, -1, -1, -1, -1, -1, -1, -1, 30,
2914 31, -1, -1, -1, 35, 905, 906, 907, -1, 40,
2915 -1, -1, 1, -1, 3, 4, 5, 6, 7, 8,
2916 9, -1, -1, -1, 55, 14, -1, -1, 1215, 1216,
2917 -1, 1218, -1, -1, -1, -1, -1, -1, -1, 28,
2918 -1, 30, 31, 32, -1, -1, 946, 36, 37, -1,
2919 -1, -1, 41, -1, -1, -1, 45, 46, -1, 48,
2920 -1, -1, 1249, 1250, 1251, 54, -1, 56, 57, -1,
2921 -1, 60, -1, 62, -1, 975, -1, 594, 595, -1,
2922 -1, 70, -1, -1, -1, -1, -1, -1, -1, -1,
2923 -1, 80, -1, 610, -1, -1, -1, -1, -1, 88,
2924 -1, -1, -1, 134, 93, -1, -1, 138, -1, -1,
2925 -1, 142, 4, 5, 14, 7, 8, 9, -1, -1,
2926 109, -1, 14, 23, 24, -1, -1, -1, 159, -1,
2927 30, 31, 649, 33, 651, 652, 28, -1, 30, 31,
2928 -1, -1, -1, -1, 36, 176, 177, -1, -1, -1,
2929 -1, 1051, 1052, 45, 1054, -1, 48, -1, -1, -1,
2930 -1, -1, 54, 63, 56, 57, -1, -1, -1, -1,
2931 1357, -1, -1, -1, 691, -1, -1, -1, -1, -1,
2932 -1, -1, -1, -1, -1, 702, 703, -1, 705, -1,
2933 -1, -1, -1, -1, -1, -1, -1, -1, 1098, 1099,
2934 1100, 1101, 1102, -1, -1, -1, 1106, -1, 239, -1,
2935 -1, -1, -1, 730, -1, -1, -1, -1, -1, -1,
2936 -1, -1, 122, -1, 124, -1, 743, 127, 1128, 1129,
2937 1130, 131, 132, -1, 1421, 1422, 1423, -1, 138, -1,
2938 140, 141, 142, -1, -1, 145, 146, 147, -1, -1,
2939 3, 4, 5, 6, 7, 8, 9, -1, 1445, 1159,
2940 -1, 14, -1, -1, -1, -1, -1, -1, -1, -1,
2941 -1, -1, -1, -1, -1, 28, -1, 30, 31, -1,
2942 -1, -1, -1, 36, -1, -1, -1, -1, 41, -1,
2943 -1, -1, 45, -1, 47, -1, -1, -1, -1, -1,
2944 -1, 54, -1, 56, 57, -1, -1, 338, -1, -1,
2945 -1, -1, -1, -1, -1, 1215, 1216, 70, 1218, 219,
2946 220, 4, 5, -1, 7, 8, 9, 80, -1, 12,
2947 -1, 14, -1, -1, -1, 88, -1, 90, -1, 239,
2948 93, 94, -1, -1, -1, 28, -1, 30, 31, 1249,
2949 -1, 1251, -1, 36, -1, -1, 873, 874, 875, -1,
2950 -1, -1, 45, -1, 47, -1, -1, 398, -1, -1,
2951 401, 54, -1, 56, 57, 406, -1, -1, 278, -1,
2952 -1, -1, -1, -1, -1, -1, -1, 70, 905, 906,
2953 907, -1, -1, -1, -1, 912, -1, 80, -1, -1,
2954 -1, -1, -1, -1, 435, -1, 437, 90, -1, -1,
2955 93, 94, -1, -1, -1, -1, -1, -1, -1, 450,
2956 -1, -1, -1, -1, -1, 325, -1, 327, 328, 946,
2957 -1, -1, -1, -1, -1, -1, -1, -1, 469, -1,
2958 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2959 -1, -1, -1, -1, 354, -1, -1, 1357, 975, 68,
2960 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
2961 79, 80, 81, 82, 83, 84, -1, -1, 378, 996,
2962 1, -1, 3, 4, 5, 6, 7, 8, 9, -1,
2963 -1, -1, -1, 14, 394, -1, -1, -1, 398, -1,
2964 -1, 401, -1, -1, -1, -1, 406, 28, -1, 30,
2965 31, 32, -1, -1, -1, 36, 37, -1, -1, -1,
2966 41, 1421, 1422, 1423, 45, 46, -1, 48, -1, -1,
2967 -1, -1, -1, 54, -1, 56, 57, -1, -1, 60,
2968 -1, 62, -1, -1, -1, 1445, -1, -1, -1, 70,
2969 -1, -1, -1, -1, -1, -1, -1, -1, -1, 80,
2970 -1, 1078, -1, -1, -1, -1, 466, 88, 468, -1,
2971 -1, -1, 93, -1, -1, -1, -1, -1, -1, -1,
2972 -1, 1098, 1099, 1100, 1101, 1102, -1, 1104, 109, 1106,
2973 -1, -1, -1, 493, -1, -1, 1, -1, 3, 4,
2974 5, 6, 7, 8, 9, -1, -1, -1, -1, 14,
2975 -1, 1128, 1129, 1130, -1, -1, -1, -1, -1, 650,
2976 -1, -1, 27, 28, -1, 30, 31, 32, -1, -1,
2977 -1, 36, -1, -1, -1, -1, 41, -1, -1, 44,
2978 45, 46, 1159, 48, -1, -1, -1, -1, -1, 54,
2979 -1, 56, 57, -1, -1, 60, -1, -1, -1, -1,
2980 -1, -1, -1, -1, 695, 70, -1, 567, -1, -1,
2981 -1, 702, 703, -1, 705, 80, -1, -1, 578, 579,
2982 -1, 581, 582, 88, -1, -1, -1, -1, 93, -1,
2983 -1, -1, -1, 98, -1, -1, -1, -1, 1215, 1216,
2984 -1, 1218, -1, -1, -1, 736, -1, 738, -1, -1,
2985 -1, -1, 743, 744, 745, -1, -1, -1, -1, -1,
2986 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2987 -1, -1, 1249, -1, 1251, -1, -1, -1, -1, -1,
2988 -1, 641, 1, -1, 3, 4, 5, 6, -1, 8,
2989 9, 10, 11, 653, 13, 14, -1, -1, -1, -1,
2990 -1, -1, -1, -1, -1, -1, -1, -1, -1, 28,
2991 29, 30, 672, 32, -1, 34, 35, 36, -1, 38,
2992 39, 40, 41, 42, 43, -1, 45, -1, -1, -1,
2993 49, 50, 51, 52, 53, 54, -1, 56, 57, 58,
2994 -1, -1, 61, -1, -1, -1, -1, -1, 67, -1,
2995 -1, 70, -1, -1, -1, -1, -1, -1, -1, 78,
2996 79, 80, -1, -1, -1, -1, -1, 86, 87, 88,
2997 730, -1, -1, 733, 93, 94, -1, -1, -1, -1,
2998 1357, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2999 109, 110, -1, -1, -1, -1, 1, -1, 3, 4,
3000 5, 6, 7, 8, 9, -1, 766, 767, 768, 14,
3001 -1, -1, -1, -1, 905, 906, -1, -1, 778, -1,
3002 -1, -1, 27, 28, -1, 30, 31, 32, -1, -1,
3003 -1, 36, -1, -1, -1, -1, 41, -1, -1, 44,
3004 45, 46, -1, 48, 1421, 1422, 1423, -1, -1, 54,
3005 -1, 56, 57, -1, -1, 60, 1, -1, 3, 4,
3006 5, 6, 7, 8, 9, 70, -1, 12, 1445, 14,
3007 -1, -1, -1, -1, -1, 80, -1, -1, -1, -1,
3008 25, -1, 27, 88, 975, -1, 31, -1, 93, -1,
3009 850, 36, 852, 98, -1, -1, 41, -1, -1, -1,
3010 45, -1, 47, 863, -1, -1, -1, -1, -1, 54,
3011 -1, 56, 57, 58, 59, 60, 1007, 62, 63, 64,
3012 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
3013 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
3014 -1, 86, 87, 88, -1, 90, 91, 92, 93, 94,
3015 95, -1, 97, -1, -1, -1, -1, 102, -1, -1,
3016 -1, -1, 107, 108, 109, -1, 111, -1, 63, 64,
3017 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
3018 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
3019 -1, -1, 1, -1, 3, 4, 5, 6, 7, 8,
3020 9, 10, 11, 12, 13, 14, -1, 1098, 1099, -1,
3021 970, -1, -1, -1, -1, 1106, 111, -1, -1, 28,
3022 29, 30, 31, 32, -1, 34, 35, 36, -1, 38,
3023 39, 40, 41, 42, 43, -1, 45, 997, 47, -1,
3024 49, 50, 51, 52, 53, 54, -1, 56, 57, 58,
3025 -1, -1, 61, -1, -1, -1, -1, -1, 67, -1,
3026 -1, 70, -1, -1, -1, -1, -1, -1, 1159, 78,
3027 79, 80, -1, 1164, -1, 1166, -1, 86, 87, 88,
3028 -1, 90, -1, -1, 93, 94, -1, -1, -1, -1,
3029 -1, 1051, 1052, -1, 1054, -1, -1, -1, -1, -1,
3030 -1, 110, -1, 3, 4, 5, 6, 7, 8, 9,
3031 -1, -1, 12, -1, 14, -1, -1, -1, -1, -1,
3032 -1, -1, -1, -1, 1215, 1216, -1, 1218, 28, -1,
3033 30, 31, -1, -1, -1, -1, 36, -1, -1, -1,
3034 -1, 41, -1, -1, -1, 45, -1, 47, -1, -1,
3035 -1, -1, 1112, -1, 54, -1, 56, 57, -1, 1250,
3036 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3037 70, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3038 80, -1, -1, -1, 1144, -1, -1, -1, 88, -1,
3039 90, -1, -1, 93, 94, -1, -1, -1, -1, -1,
3040 -1, -1, 1162, 1, 1164, 3, 4, 5, 6, 7,
3041 8, 9, 10, 11, -1, 13, 14, 15, -1, 17,
3042 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
3043 28, 29, 30, 31, 32, -1, 34, 35, 36, -1,
3044 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3045 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3046 58, -1, 60, 61, -1, -1, -1, -1, -1, 67,
3047 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3048 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3049 88, -1, -1, -1, -1, 93, -1, 95, -1, -1,
3050 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3051 -1, 109, 110, 1, -1, 3, 4, 5, 6, 7,
3052 8, 9, 10, 11, -1, 13, 14, 15, -1, 17,
3053 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
3054 28, 29, 30, 31, 32, -1, 34, 35, 36, -1,
3055 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3056 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3057 58, -1, 60, 61, -1, -1, -1, -1, -1, 67,
3058 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3059 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3060 88, -1, -1, -1, -1, 93, 1, 95, 3, 4,
3061 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
3062 -1, -1, 110, -1, -1, -1, -1, -1, -1, -1,
3063 -1, -1, -1, 28, 29, 30, 31, 32, -1, 34,
3064 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3065 45, -1, 47, -1, 49, 50, 51, 52, 53, 54,
3066 -1, 56, 57, 58, -1, -1, 61, -1, -1, -1,
3067 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3068 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3069 -1, 86, 87, 88, -1, 90, -1, -1, 93, 94,
3070 1, -1, 3, 4, 5, 6, 7, 8, 9, 10,
3071 11, 12, 13, 14, -1, 110, -1, -1, -1, -1,
3072 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3073 31, 32, -1, 34, 35, 36, -1, 38, 39, 40,
3074 41, 42, 43, -1, 45, -1, -1, -1, 49, 50,
3075 51, 52, 53, 54, -1, 56, 57, -1, -1, -1,
3076 61, -1, -1, -1, -1, -1, 67, -1, -1, 70,
3077 -1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
3078 -1, -1, -1, -1, -1, 86, 87, 88, -1, -1,
3079 -1, 1, 93, 3, 4, 5, 6, 7, 8, 9,
3080 10, 11, -1, 13, 14, -1, -1, 108, -1, 110,
3081 -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
3082 30, 31, 32, -1, 34, 35, 36, -1, 38, 39,
3083 40, 41, 42, 43, -1, 45, -1, -1, -1, 49,
3084 50, 51, 52, 53, 54, -1, 56, 57, 58, -1,
3085 60, 61, -1, -1, -1, -1, -1, 67, -1, -1,
3086 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3087 80, -1, -1, -1, -1, -1, 86, 87, 88, -1,
3088 -1, -1, 1, 93, 3, 4, 5, 6, -1, 8,
3089 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3090 110, -1, -1, -1, -1, -1, -1, -1, -1, 28,
3091 29, 30, -1, 32, -1, 34, 35, 36, -1, 38,
3092 39, 40, 41, 42, 43, -1, 45, -1, -1, -1,
3093 49, 50, 51, 52, 53, 54, -1, 56, 57, 58,
3094 -1, -1, 61, -1, -1, -1, -1, -1, 67, -1,
3095 -1, 70, -1, -1, -1, -1, -1, -1, -1, 78,
3096 79, 80, -1, -1, -1, -1, -1, 86, 87, 88,
3097 -1, -1, -1, -1, 93, 94, 1, -1, 3, 4,
3098 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3099 -1, 110, -1, -1, -1, -1, -1, -1, -1, -1,
3100 -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
3101 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3102 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
3103 -1, 56, 57, 58, -1, -1, 61, -1, -1, -1,
3104 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3105 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3106 -1, 86, 87, 88, -1, -1, -1, 1, 93, 3,
3107 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3108 14, -1, -1, -1, 109, 110, -1, -1, -1, -1,
3109 -1, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3110 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3111 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3112 54, -1, 56, 57, 58, -1, -1, 61, -1, -1,
3113 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3114 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3115 -1, -1, 86, 87, 88, -1, -1, -1, 1, 93,
3116 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3117 13, 14, -1, -1, -1, 109, 110, -1, -1, -1,
3118 -1, -1, -1, -1, -1, 28, 29, 30, -1, 32,
3119 -1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
3120 43, -1, 45, -1, -1, -1, 49, 50, 51, 52,
3121 53, 54, -1, 56, 57, 58, -1, -1, 61, -1,
3122 -1, -1, -1, -1, 67, -1, -1, 70, -1, -1,
3123 -1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
3124 -1, -1, -1, 86, 87, 88, -1, -1, -1, -1,
3125 93, -1, 1, -1, 3, 4, 5, 6, 101, 8,
3126 9, 10, 11, -1, 13, 14, -1, 110, -1, -1,
3127 -1, -1, -1, -1, -1, -1, -1, -1, -1, 28,
3128 29, 30, -1, 32, -1, 34, 35, 36, -1, 38,
3129 39, 40, 41, 42, 43, -1, 45, -1, -1, -1,
3130 49, 50, 51, 52, 53, 54, -1, 56, 57, 58,
3131 -1, -1, 61, -1, -1, -1, -1, -1, 67, -1,
3132 -1, 70, -1, -1, -1, -1, -1, -1, -1, 78,
3133 79, 80, -1, -1, -1, -1, -1, 86, 87, 88,
3134 -1, -1, -1, 1, 93, 3, 4, 5, 6, -1,
3135 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3136 -1, 110, -1, -1, -1, -1, -1, -1, -1, -1,
3137 28, 29, 30, -1, 32, -1, 34, 35, 36, -1,
3138 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3139 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3140 58, -1, -1, 61, -1, -1, -1, -1, -1, 67,
3141 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3142 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3143 88, -1, -1, -1, 1, 93, 3, 4, 5, 6,
3144 -1, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3145 -1, -1, 110, -1, -1, -1, -1, -1, -1, -1,
3146 -1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
3147 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3148 -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3149 57, -1, -1, -1, 61, 62, -1, -1, -1, -1,
3150 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3151 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3152 87, 88, -1, -1, -1, 1, 93, 3, 4, 5,
3153 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3154 -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
3155 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
3156 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3157 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3158 56, 57, 58, -1, -1, 61, -1, -1, -1, -1,
3159 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3160 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3161 86, 87, 88, -1, -1, -1, 1, 93, 3, 4,
3162 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3163 -1, -1, -1, -1, 110, -1, -1, -1, -1, -1,
3164 -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
3165 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3166 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
3167 -1, 56, 57, -1, -1, 60, 61, -1, -1, -1,
3168 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3169 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3170 -1, 86, 87, 88, -1, -1, -1, 1, 93, 3,
3171 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3172 14, -1, -1, -1, -1, 110, -1, -1, -1, -1,
3173 -1, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3174 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3175 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3176 54, -1, 56, 57, -1, -1, -1, 61, -1, -1,
3177 -1, -1, -1, 67, 1, -1, 70, 4, 5, -1,
3178 -1, 8, 9, -1, 78, 79, 80, 14, -1, -1,
3179 -1, -1, 86, 87, 88, -1, -1, -1, -1, 93,
3180 -1, 28, -1, 30, -1, -1, -1, -1, -1, 36,
3181 -1, 38, 39, -1, 108, -1, 110, -1, 45, -1,
3182 47, -1, -1, -1, -1, -1, -1, 54, -1, 56,
3183 57, -1, 59, -1, -1, -1, 63, 64, 65, 66,
3184 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
3185 77, 78, 79, 80, 81, 82, 83, -1, -1, 86,
3186 87, 88, -1, -1, 91, -1, 1, 94, 3, 4,
3187 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3188 -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
3189 -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
3190 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3191 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
3192 -1, 56, 57, -1, -1, -1, 61, -1, -1, -1,
3193 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3194 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3195 -1, 86, 87, 88, -1, -1, -1, 1, 93, 3,
3196 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3197 14, -1, -1, -1, -1, 110, -1, -1, -1, -1,
3198 -1, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3199 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3200 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3201 54, -1, 56, 57, -1, -1, -1, 61, -1, -1,
3202 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3203 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3204 -1, -1, 86, 87, 88, -1, -1, -1, 1, 93,
3205 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3206 13, 14, -1, -1, -1, -1, 110, -1, -1, -1,
3207 -1, -1, -1, -1, -1, 28, 29, 30, -1, 32,
3208 -1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
3209 43, -1, 45, -1, -1, -1, 49, 50, 51, 52,
3210 53, 54, -1, 56, 57, -1, -1, -1, 61, -1,
3211 -1, -1, -1, -1, 67, -1, -1, 70, -1, -1,
3212 -1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
3213 -1, -1, -1, 86, 87, 88, 3, 4, 5, 6,
3214 93, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3215 -1, -1, -1, -1, -1, -1, -1, 110, -1, -1,
3216 -1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
3217 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3218 -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3219 57, -1, -1, -1, 61, -1, -1, -1, -1, -1,
3220 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3221 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3222 87, 88, -1, -1, -1, -1, 93, -1, -1, -1,
3223 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3224 -1, -1, -1, 110, 111, 3, 4, 5, 6, 7,
3225 8, 9, 10, 11, -1, 13, 14, 15, -1, 17,
3226 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
3227 28, 29, 30, 31, 32, -1, 34, 35, 36, -1,
3228 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3229 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3230 58, -1, 60, 61, -1, -1, -1, -1, -1, 67,
3231 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3232 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3233 88, -1, -1, -1, -1, 93, -1, 95, -1, -1,
3234 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3235 -1, 109, 110, 3, 4, 5, 6, 7, 8, 9,
3236 10, 11, -1, 13, 14, 15, -1, 17, 18, 19,
3237 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
3238 30, 31, 32, -1, 34, 35, 36, -1, 38, 39,
3239 40, 41, 42, 43, -1, 45, -1, -1, -1, 49,
3240 50, 51, 52, 53, 54, -1, 56, 57, 58, -1,
3241 60, 61, -1, -1, -1, -1, -1, 67, -1, -1,
3242 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3243 80, -1, -1, -1, -1, -1, 86, 87, 88, -1,
3244 -1, -1, -1, 93, -1, 95, -1, 3, 4, 5,
3245 6, 7, 8, 9, 10, 11, -1, 13, 14, 15,
3246 110, 17, 18, 19, 20, 21, 22, 23, 24, 25,
3247 26, 27, 28, 29, 30, 31, 32, -1, 34, 35,
3248 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3249 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3250 56, 57, 58, -1, 60, 61, -1, -1, -1, -1,
3251 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3252 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3253 86, 87, 88, -1, -1, -1, -1, 93, -1, 95,
3254 -1, 3, 4, 5, 6, 7, 8, 9, 10, 11,
3255 -1, 13, 14, 15, 110, 17, 18, 19, 20, 21,
3256 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
3257 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3258 42, 43, -1, 45, -1, -1, -1, 49, 50, 51,
3259 52, 53, 54, -1, 56, 57, -1, -1, 60, 61,
3260 -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
3261 -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
3262 -1, -1, -1, -1, 86, 87, 88, -1, -1, -1,
3263 -1, 93, -1, 95, 3, 4, 5, 6, 7, 8,
3264 9, 10, 11, 12, 13, 14, -1, -1, 110, -1,
3265 -1, -1, -1, -1, -1, -1, -1, -1, -1, 28,
3266 29, 30, 31, 32, -1, 34, 35, 36, -1, 38,
3267 39, 40, 41, 42, 43, -1, 45, -1, 47, -1,
3268 49, 50, 51, 52, 53, 54, -1, 56, 57, -1,
3269 -1, -1, 61, -1, -1, -1, -1, -1, 67, -1,
3270 -1, 70, -1, -1, -1, -1, -1, -1, -1, 78,
3271 79, 80, -1, -1, -1, -1, -1, 86, 87, 88,
3272 -1, 90, -1, -1, 93, 94, 3, 4, 5, 6,
3273 7, 8, 9, 10, 11, 12, 13, 14, -1, -1,
3274 -1, 110, -1, -1, -1, -1, -1, -1, -1, -1,
3275 -1, 28, 29, 30, 31, 32, -1, 34, 35, 36,
3276 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3277 47, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3278 57, -1, -1, -1, 61, -1, -1, -1, -1, -1,
3279 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3280 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3281 87, 88, -1, 90, -1, -1, 93, 94, 3, 4,
3282 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3283 -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
3284 -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
3285 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3286 45, -1, 47, -1, 49, 50, 51, 52, 53, 54,
3287 -1, 56, 57, -1, -1, -1, -1, -1, -1, -1,
3288 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3289 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3290 -1, 86, 87, 88, -1, 90, -1, -1, 93, 94,
3291 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3292 13, 14, -1, -1, -1, 110, -1, -1, -1, -1,
3293 -1, -1, -1, -1, -1, 28, 29, 30, -1, 32,
3294 -1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
3295 43, -1, 45, -1, 47, -1, 49, 50, 51, 52,
3296 53, 54, -1, 56, 57, -1, -1, -1, -1, -1,
3297 -1, -1, -1, -1, 67, -1, -1, 70, -1, -1,
3298 -1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
3299 -1, -1, -1, 86, 87, 88, -1, 90, -1, -1,
3300 93, 94, 3, 4, 5, 6, -1, 8, 9, 10,
3301 11, -1, 13, 14, -1, -1, -1, 110, -1, -1,
3302 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3303 -1, 32, -1, 34, 35, 36, -1, 38, 39, 40,
3304 41, 42, 43, -1, 45, -1, -1, -1, 49, 50,
3305 51, 52, 53, 54, -1, 56, 57, -1, -1, 60,
3306 61, -1, -1, -1, -1, -1, 67, -1, -1, 70,
3307 -1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
3308 -1, -1, -1, -1, -1, 86, 87, 88, -1, -1,
3309 -1, -1, 93, 3, 4, 5, 6, 7, 8, 9,
3310 10, 11, -1, 13, 14, -1, -1, -1, -1, 110,
3311 -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
3312 30, 31, 32, -1, 34, 35, 36, -1, 38, 39,
3313 40, 41, 42, 43, -1, 45, -1, -1, -1, 49,
3314 50, 51, 52, 53, 54, -1, 56, 57, -1, -1,
3315 -1, -1, -1, -1, -1, -1, -1, 67, -1, -1,
3316 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3317 80, -1, -1, -1, -1, -1, 86, 87, 88, 3,
3318 4, 5, 6, 93, 8, 9, 10, 11, -1, 13,
3319 14, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3320 110, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3321 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3322 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3323 54, -1, 56, 57, -1, -1, -1, 61, -1, -1,
3324 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3325 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3326 -1, -1, 86, 87, 88, 3, 4, 5, 6, 93,
3327 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3328 -1, -1, -1, -1, -1, -1, 110, -1, -1, -1,
3329 28, 29, 30, -1, 32, -1, 34, 35, 36, -1,
3330 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3331 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3332 -1, -1, -1, 61, -1, -1, -1, -1, -1, 67,
3333 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3334 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3335 88, 3, 4, 5, 6, 93, 8, 9, 10, 11,
3336 -1, 13, 14, -1, -1, -1, -1, -1, -1, -1,
3337 -1, -1, 110, -1, -1, -1, 28, 29, 30, -1,
3338 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3339 42, 43, -1, 45, -1, -1, -1, 49, 50, 51,
3340 52, 53, 54, -1, 56, 57, 58, -1, -1, -1,
3341 -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
3342 -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
3343 -1, -1, -1, -1, 86, 87, 88, 3, 4, 5,
3344 6, 93, 8, 9, 10, 11, -1, 13, 14, -1,
3345 -1, -1, -1, -1, -1, -1, -1, -1, 110, -1,
3346 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
3347 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3348 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3349 56, 57, -1, -1, -1, -1, -1, -1, -1, -1,
3350 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3351 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3352 86, 87, 88, -1, -1, -1, -1, 93, 94, 3,
3353 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3354 14, -1, -1, -1, 110, -1, -1, -1, -1, -1,
3355 -1, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3356 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3357 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3358 54, -1, 56, 57, -1, -1, -1, 61, -1, -1,
3359 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3360 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3361 -1, -1, 86, 87, 88, 3, 4, 5, 6, 93,
3362 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3363 -1, -1, -1, -1, -1, -1, 110, -1, -1, -1,
3364 28, 29, 30, -1, 32, -1, 34, 35, 36, -1,
3365 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3366 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3367 -1, -1, -1, 61, -1, -1, -1, -1, -1, 67,
3368 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3369 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3370 88, 3, 4, 5, 6, 93, 8, 9, 10, 11,
3371 -1, 13, 14, -1, -1, -1, -1, -1, -1, -1,
3372 -1, -1, 110, -1, -1, -1, 28, 29, 30, -1,
3373 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3374 42, 43, -1, 45, -1, -1, -1, 49, 50, 51,
3375 52, 53, 54, -1, 56, 57, -1, -1, -1, 61,
3376 -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
3377 -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
3378 -1, -1, -1, -1, 86, 87, 88, 3, 4, 5,
3379 6, 93, 8, 9, 10, 11, -1, 13, 14, -1,
3380 -1, -1, -1, -1, -1, -1, -1, -1, 110, -1,
3381 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
3382 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3383 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3384 56, 57, -1, -1, -1, -1, -1, -1, -1, -1,
3385 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3386 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3387 86, 87, 88, 3, 4, 5, 6, 93, 8, 9,
3388 10, 11, -1, 13, 14, -1, -1, -1, -1, -1,
3389 -1, -1, -1, -1, 110, -1, -1, -1, 28, 29,
3390 30, -1, 32, -1, 34, 35, 36, -1, 38, 39,
3391 40, 41, 42, 43, -1, 45, -1, -1, -1, 49,
3392 50, 51, 52, 53, 54, -1, 56, 57, -1, -1,
3393 -1, -1, -1, -1, -1, -1, -1, 67, -1, -1,
3394 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3395 80, -1, -1, -1, -1, -1, 86, 87, 88, 3,
3396 4, 5, 6, 93, 8, 9, 10, 11, -1, 13,
3397 14, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3398 110, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3399 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3400 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3401 54, -1, 56, 57, -1, -1, -1, -1, -1, -1,
3402 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3403 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3404 -1, -1, 86, 87, 88, 3, 4, 5, 6, 93,
3405 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3406 -1, -1, -1, -1, -1, -1, 110, -1, -1, -1,
3407 28, 29, 30, -1, 32, -1, 34, 35, 36, -1,
3408 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3409 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3410 -1, -1, -1, -1, -1, -1, -1, -1, -1, 67,
3411 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3412 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3413 88, 3, 4, 5, 6, 93, 8, 9, 10, 11,
3414 -1, 13, 14, -1, -1, -1, -1, -1, -1, -1,
3415 -1, -1, 110, -1, -1, -1, 28, 29, 30, -1,
3416 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3417 42, 43, -1, 45, -1, -1, -1, 49, 50, 51,
3418 52, 53, 54, -1, 56, 57, -1, -1, -1, -1,
3419 -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
3420 -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
3421 -1, -1, -1, -1, 86, 87, 88, -1, -1, -1,
3422 -1, 93, 3, 4, 5, 6, 7, 8, 9, -1,
3423 -1, 12, -1, 14, -1, -1, -1, -1, 110, -1,
3424 -1, -1, -1, -1, -1, -1, -1, 28, -1, 30,
3425 31, -1, -1, -1, -1, 36, -1, -1, -1, -1,
3426 41, -1, -1, -1, 45, -1, -1, -1, -1, -1,
3427 -1, -1, -1, 54, -1, 56, 57, 3, 4, 5,
3428 6, 7, 8, 9, -1, -1, -1, -1, 14, 70,
3429 -1, -1, -1, -1, -1, -1, -1, -1, -1, 80,
3430 -1, -1, 28, -1, 30, 31, -1, 88, -1, -1,
3431 36, -1, 93, -1, -1, 41, -1, -1, -1, 45,
3432 -1, -1, -1, -1, -1, -1, -1, -1, 54, -1,
3433 56, 57, -1, -1, -1, -1, 62, -1, -1, -1,
3434 -1, -1, -1, -1, 70, 3, 4, 5, 6, 7,
3435 8, 9, -1, -1, 80, -1, 14, -1, -1, -1,
3436 -1, -1, 88, -1, -1, -1, -1, 93, -1, -1,
3437 28, -1, 30, 31, -1, -1, -1, -1, 36, -1,
3438 -1, -1, -1, 41, -1, -1, -1, 45, -1, -1,
3439 -1, -1, -1, -1, -1, -1, 54, -1, 56, 57,
3440 -1, -1, 60, -1, 3, 4, 5, 6, 7, 8,
3441 9, -1, 70, -1, -1, 14, -1, -1, -1, -1,
3442 -1, -1, 80, -1, -1, -1, -1, -1, -1, 28,
3443 88, 30, 31, -1, -1, 93, -1, 36, -1, -1,
3444 -1, -1, 41, -1, -1, -1, 45, -1, -1, -1,
3445 -1, -1, -1, -1, -1, 54, -1, 56, 57, 3,
3446 4, 5, 6, 7, 8, 9, -1, -1, -1, -1,
3447 14, 70, -1, -1, -1, -1, -1, -1, -1, -1,
3448 -1, 80, -1, -1, 28, -1, 30, 31, -1, 88,
3449 -1, -1, 36, -1, 93, -1, -1, 41, 4, 5,
3450 -1, 45, 8, 9, -1, -1, -1, -1, 14, -1,
3451 54, -1, 56, 57, 3, 4, 5, 6, 7, 8,
3452 9, -1, 28, -1, 30, 14, 70, -1, -1, -1,
3453 36, -1, -1, -1, -1, -1, 80, -1, -1, 45,
3454 -1, 47, 31, -1, 88, -1, -1, 36, 54, 93,
3455 56, 57, 41, -1, -1, 12, 45, -1, 47, -1,
3456 -1, -1, -1, -1, 70, 54, -1, 56, 57, -1,
3457 -1, -1, -1, -1, 80, -1, -1, -1, -1, -1,
3458 -1, 70, -1, -1, 90, -1, -1, 93, 94, -1,
3459 -1, 80, -1, -1, -1, -1, 31, -1, -1, 88,
3460 -1, -1, -1, -1, 93, 62, 63, 64, 65, 66,
3461 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
3462 77, 78, 79, 80, 81, 82, 83, 84, 63, 64,
3463 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
3464 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
3465 4, 5, -1, 7, 8, 9, -1, -1, 12, -1,
3466 14, -1, -1, 4, 5, -1, 7, 8, 9, -1,
3467 -1, 12, -1, 14, 28, -1, 30, 31, -1, -1,
3468 -1, -1, 36, -1, -1, -1, -1, 28, -1, 30,
3469 31, 45, -1, -1, -1, 36, -1, -1, -1, -1,
3470 54, -1, 56, 57, 45, -1, -1, 4, 5, -1,
3471 7, 8, 9, 54, -1, 56, 57, 14, -1, -1,
3472 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3473 -1, 28, -1, 30, 31, -1, -1, -1, -1, 36,
3474 -1, -1, -1, -1, -1, -1, -1, -1, 45, -1,
3475 -1, -1, -1, -1, -1, -1, -1, 54, -1, 56,
3476 57, 63, 64, 65, 66, 67, 68, 69, 70, 71,
3477 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
3478 82, 83, 84, -1, -1, -1, -1, -1, -1, -1,
3479 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3480 -1, -1, 59, -1, -1, 107, 63, 64, 65, 66,
3481 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
3482 77, 78, 79, 80, 81, 82, 83, 84, 62, 63,
3483 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
3484 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
3485 84, 63, 64, 65, 66, 67, 68, 69, 70, 71,
3486 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
3487 82, 83, 84, 63, 64, 65, 66, 67, 68, 69,
3488 70, 71, 72, 73, 74, -1, 76, 77, 78, 79,
3489 80, 81, 82, 83, 84
3490 };
3491 /* -*-C-*- Note some compilers choke on comments on `#line' lines. */
3492 #line 3 "/usr/lib/bison.simple"
3493
3494 /* Skeleton output parser for bison,
3495 Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
3496
3497 This program is free software; you can redistribute it and/or modify
3498 it under the terms of the GNU General Public License as published by
3499 the Free Software Foundation; either version 2, or (at your option)
3500 any later version.
3501
3502 This program is distributed in the hope that it will be useful,
3503 but WITHOUT ANY WARRANTY; without even the implied warranty of
3504 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3505 GNU General Public License for more details.
3506
3507 You should have received a copy of the GNU General Public License
3508 along with this program; if not, write to the Free Software
3509 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
3510
3511 /* As a special exception, when this file is copied by Bison into a
3512 Bison output file, you may use that output file without restriction.
3513 This special exception was added by the Free Software Foundation
3514 in version 1.24 of Bison. */
3515
3516 #ifndef alloca
3517 #ifdef __GNUC__
3518 #define alloca __builtin_alloca
3519 #else /* not GNU C. */
3520 #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi)
3521 #include <alloca.h>
3522 #else /* not sparc */
3523 #if defined (MSDOS) && !defined (__TURBOC__)
3524 #include <malloc.h>
3525 #else /* not MSDOS, or __TURBOC__ */
3526 #if defined(_AIX)
3527 #include <malloc.h>
3528 #pragma alloca
3529 #else /* not MSDOS, __TURBOC__, or _AIX */
3530 #ifdef __hpux
3531 #ifdef __cplusplus
3532 extern "C" {
3533 void *alloca (unsigned int);
3534 };
3535 #else /* not __cplusplus */
3536 void *alloca ();
3537 #endif /* not __cplusplus */
3538 #endif /* __hpux */
3539 #endif /* not _AIX */
3540 #endif /* not MSDOS, or __TURBOC__ */
3541 #endif /* not sparc. */
3542 #endif /* not GNU C. */
3543 #endif /* alloca not defined. */
3544
3545 /* This is the parser code that is written into each bison parser
3546 when the %semantic_parser declaration is not specified in the grammar.
3547 It was written by Richard Stallman by simplifying the hairy parser
3548 used when %semantic_parser is specified. */
3549
3550 /* Note: there must be only one dollar sign in this file.
3551 It is replaced by the list of actions, each action
3552 as one case of the switch. */
3553
3554 #define yyerrok (yyerrstatus = 0)
3555 #define yyclearin (yychar = YYEMPTY)
3556 #define YYEMPTY -2
3557 #define YYEOF 0
3558 #define YYACCEPT return(0)
3559 #define YYABORT return(1)
3560 #define YYERROR goto yyerrlab1
3561 /* Like YYERROR except do call yyerror.
3562 This remains here temporarily to ease the
3563 transition to the new meaning of YYERROR, for GCC.
3564 Once GCC version 2 has supplanted version 1, this can go. */
3565 #define YYFAIL goto yyerrlab
3566 #define YYRECOVERING() (!!yyerrstatus)
3567 #define YYBACKUP(token, value) \
3568 do \
3569 if (yychar == YYEMPTY && yylen == 1) \
3570 { yychar = (token), yylval = (value); \
3571 yychar1 = YYTRANSLATE (yychar); \
3572 YYPOPSTACK; \
3573 goto yybackup; \
3574 } \
3575 else \
3576 { yyerror ("syntax error: cannot back up"); YYERROR; } \
3577 while (0)
3578
3579 #define YYTERROR 1
3580 #define YYERRCODE 256
3581
3582 #ifndef YYPURE
3583 #define YYLEX yylex()
3584 #endif
3585
3586 #ifdef YYPURE
3587 #ifdef YYLSP_NEEDED
3588 #ifdef YYLEX_PARAM
3589 #define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM)
3590 #else
3591 #define YYLEX yylex(&yylval, &yylloc)
3592 #endif
3593 #else /* not YYLSP_NEEDED */
3594 #ifdef YYLEX_PARAM
3595 #define YYLEX yylex(&yylval, YYLEX_PARAM)
3596 #else
3597 #define YYLEX yylex(&yylval)
3598 #endif
3599 #endif /* not YYLSP_NEEDED */
3600 #endif
3601
3602 /* If nonreentrant, generate the variables here */
3603
3604 #ifndef YYPURE
3605
3606 int yychar; /* the lookahead symbol */
3607 YYSTYPE yylval; /* the semantic value of the */
3608 /* lookahead symbol */
3609
3610 #ifdef YYLSP_NEEDED
3611 YYLTYPE yylloc; /* location data for the lookahead */
3612 /* symbol */
3613 #endif
3614
3615 int yynerrs; /* number of parse errors so far */
3616 #endif /* not YYPURE */
3617
3618 #if YYDEBUG != 0
3619 int yydebug; /* nonzero means print parse trace */
3620 /* Since this is uninitialized, it does not stop multiple parsers
3621 from coexisting. */
3622 #endif
3623
3624 /* YYINITDEPTH indicates the initial size of the parser's stacks */
3625
3626 #ifndef YYINITDEPTH
3627 #define YYINITDEPTH 200
3628 #endif
3629
3630 /* YYMAXDEPTH is the maximum size the stacks can grow to
3631 (effective only if the built-in stack extension method is used). */
3632
3633 #if YYMAXDEPTH == 0
3634 #undef YYMAXDEPTH
3635 #endif
3636
3637 #ifndef YYMAXDEPTH
3638 #define YYMAXDEPTH 10000
3639 #endif
3640
3641 /* Prevent warning if -Wstrict-prototypes. */
3642 #ifdef __GNUC__
3643 int yyparse (void);
3644 #endif
3645 \f
3646 #if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
3647 #define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT)
3648 #else /* not GNU C or C++ */
3649 #ifndef __cplusplus
3650
3651 /* This is the most reliable way to avoid incompatibilities
3652 in available built-in functions on various systems. */
3653 static void
3654 __yy_memcpy (to, from, count)
3655 char *to;
3656 char *from;
3657 int count;
3658 {
3659 register char *f = from;
3660 register char *t = to;
3661 register int i = count;
3662
3663 while (i-- > 0)
3664 *t++ = *f++;
3665 }
3666
3667 #else /* __cplusplus */
3668
3669 /* This is the most reliable way to avoid incompatibilities
3670 in available built-in functions on various systems. */
3671 static void
3672 __yy_memcpy (char *to, char *from, int count)
3673 {
3674 register char *f = from;
3675 register char *t = to;
3676 register int i = count;
3677
3678 while (i-- > 0)
3679 *t++ = *f++;
3680 }
3681
3682 #endif
3683 #endif
3684 \f
3685 #line 196 "/usr/lib/bison.simple"
3686
3687 /* The user can define YYPARSE_PARAM as the name of an argument to be passed
3688 into yyparse. The argument should have type void *.
3689 It should actually point to an object.
3690 Grammar actions can access the variable by casting it
3691 to the proper pointer type. */
3692
3693 #ifdef YYPARSE_PARAM
3694 #ifdef __cplusplus
3695 #define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
3696 #define YYPARSE_PARAM_DECL
3697 #else /* not __cplusplus */
3698 #define YYPARSE_PARAM_ARG YYPARSE_PARAM
3699 #define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
3700 #endif /* not __cplusplus */
3701 #else /* not YYPARSE_PARAM */
3702 #define YYPARSE_PARAM_ARG
3703 #define YYPARSE_PARAM_DECL
3704 #endif /* not YYPARSE_PARAM */
3705
3706 int
3707 yyparse(YYPARSE_PARAM_ARG)
3708 YYPARSE_PARAM_DECL
3709 {
3710 register int yystate;
3711 register int yyn;
3712 register short *yyssp;
3713 register YYSTYPE *yyvsp;
3714 int yyerrstatus; /* number of tokens to shift before error messages enabled */
3715 int yychar1 = 0; /* lookahead token as an internal (translated) token number */
3716
3717 short yyssa[YYINITDEPTH]; /* the state stack */
3718 YYSTYPE yyvsa[YYINITDEPTH]; /* the semantic value stack */
3719
3720 short *yyss = yyssa; /* refer to the stacks thru separate pointers */
3721 YYSTYPE *yyvs = yyvsa; /* to allow yyoverflow to reallocate them elsewhere */
3722
3723 #ifdef YYLSP_NEEDED
3724 YYLTYPE yylsa[YYINITDEPTH]; /* the location stack */
3725 YYLTYPE *yyls = yylsa;
3726 YYLTYPE *yylsp;
3727
3728 #define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
3729 #else
3730 #define YYPOPSTACK (yyvsp--, yyssp--)
3731 #endif
3732
3733 int yystacksize = YYINITDEPTH;
3734
3735 #ifdef YYPURE
3736 int yychar;
3737 YYSTYPE yylval;
3738 int yynerrs;
3739 #ifdef YYLSP_NEEDED
3740 YYLTYPE yylloc;
3741 #endif
3742 #endif
3743
3744 YYSTYPE yyval; /* the variable used to return */
3745 /* semantic values from the action */
3746 /* routines */
3747
3748 int yylen;
3749
3750 #if YYDEBUG != 0
3751 if (yydebug)
3752 fprintf(stderr, "Starting parse\n");
3753 #endif
3754
3755 yystate = 0;
3756 yyerrstatus = 0;
3757 yynerrs = 0;
3758 yychar = YYEMPTY; /* Cause a token to be read. */
3759
3760 /* Initialize stack pointers.
3761 Waste one element of value and location stack
3762 so that they stay on the same level as the state stack.
3763 The wasted elements are never initialized. */
3764
3765 yyssp = yyss - 1;
3766 yyvsp = yyvs;
3767 #ifdef YYLSP_NEEDED
3768 yylsp = yyls;
3769 #endif
3770
3771 /* Push a new state, which is found in yystate . */
3772 /* In all cases, when you get here, the value and location stacks
3773 have just been pushed. so pushing a state here evens the stacks. */
3774 yynewstate:
3775
3776 *++yyssp = yystate;
3777
3778 if (yyssp >= yyss + yystacksize - 1)
3779 {
3780 /* Give user a chance to reallocate the stack */
3781 /* Use copies of these so that the &'s don't force the real ones into memory. */
3782 YYSTYPE *yyvs1 = yyvs;
3783 short *yyss1 = yyss;
3784 #ifdef YYLSP_NEEDED
3785 YYLTYPE *yyls1 = yyls;
3786 #endif
3787
3788 /* Get the current used size of the three stacks, in elements. */
3789 int size = yyssp - yyss + 1;
3790
3791 #ifdef yyoverflow
3792 /* Each stack pointer address is followed by the size of
3793 the data in use in that stack, in bytes. */
3794 #ifdef YYLSP_NEEDED
3795 /* This used to be a conditional around just the two extra args,
3796 but that might be undefined if yyoverflow is a macro. */
3797 yyoverflow("parser stack overflow",
3798 &yyss1, size * sizeof (*yyssp),
3799 &yyvs1, size * sizeof (*yyvsp),
3800 &yyls1, size * sizeof (*yylsp),
3801 &yystacksize);
3802 #else
3803 yyoverflow("parser stack overflow",
3804 &yyss1, size * sizeof (*yyssp),
3805 &yyvs1, size * sizeof (*yyvsp),
3806 &yystacksize);
3807 #endif
3808
3809 yyss = yyss1; yyvs = yyvs1;
3810 #ifdef YYLSP_NEEDED
3811 yyls = yyls1;
3812 #endif
3813 #else /* no yyoverflow */
3814 /* Extend the stack our own way. */
3815 if (yystacksize >= YYMAXDEPTH)
3816 {
3817 yyerror("parser stack overflow");
3818 return 2;
3819 }
3820 yystacksize *= 2;
3821 if (yystacksize > YYMAXDEPTH)
3822 yystacksize = YYMAXDEPTH;
3823 yyss = (short *) alloca (yystacksize * sizeof (*yyssp));
3824 __yy_memcpy ((char *)yyss, (char *)yyss1, size * sizeof (*yyssp));
3825 yyvs = (YYSTYPE *) alloca (yystacksize * sizeof (*yyvsp));
3826 __yy_memcpy ((char *)yyvs, (char *)yyvs1, size * sizeof (*yyvsp));
3827 #ifdef YYLSP_NEEDED
3828 yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp));
3829 __yy_memcpy ((char *)yyls, (char *)yyls1, size * sizeof (*yylsp));
3830 #endif
3831 #endif /* no yyoverflow */
3832
3833 yyssp = yyss + size - 1;
3834 yyvsp = yyvs + size - 1;
3835 #ifdef YYLSP_NEEDED
3836 yylsp = yyls + size - 1;
3837 #endif
3838
3839 #if YYDEBUG != 0
3840 if (yydebug)
3841 fprintf(stderr, "Stack size increased to %d\n", yystacksize);
3842 #endif
3843
3844 if (yyssp >= yyss + yystacksize - 1)
3845 YYABORT;
3846 }
3847
3848 #if YYDEBUG != 0
3849 if (yydebug)
3850 fprintf(stderr, "Entering state %d\n", yystate);
3851 #endif
3852
3853 goto yybackup;
3854 yybackup:
3855
3856 /* Do appropriate processing given the current state. */
3857 /* Read a lookahead token if we need one and don't already have one. */
3858 /* yyresume: */
3859
3860 /* First try to decide what to do without reference to lookahead token. */
3861
3862 yyn = yypact[yystate];
3863 if (yyn == YYFLAG)
3864 goto yydefault;
3865
3866 /* Not known => get a lookahead token if don't already have one. */
3867
3868 /* yychar is either YYEMPTY or YYEOF
3869 or a valid token in external form. */
3870
3871 if (yychar == YYEMPTY)
3872 {
3873 #if YYDEBUG != 0
3874 if (yydebug)
3875 fprintf(stderr, "Reading a token: ");
3876 #endif
3877 yychar = YYLEX;
3878 }
3879
3880 /* Convert token to internal form (in yychar1) for indexing tables with */
3881
3882 if (yychar <= 0) /* This means end of input. */
3883 {
3884 yychar1 = 0;
3885 yychar = YYEOF; /* Don't call YYLEX any more */
3886
3887 #if YYDEBUG != 0
3888 if (yydebug)
3889 fprintf(stderr, "Now at end of input.\n");
3890 #endif
3891 }
3892 else
3893 {
3894 yychar1 = YYTRANSLATE(yychar);
3895
3896 #if YYDEBUG != 0
3897 if (yydebug)
3898 {
3899 fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
3900 /* Give the individual parser a way to print the precise meaning
3901 of a token, for further debugging info. */
3902 #ifdef YYPRINT
3903 YYPRINT (stderr, yychar, yylval);
3904 #endif
3905 fprintf (stderr, ")\n");
3906 }
3907 #endif
3908 }
3909
3910 yyn += yychar1;
3911 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
3912 goto yydefault;
3913
3914 yyn = yytable[yyn];
3915
3916 /* yyn is what to do for this token type in this state.
3917 Negative => reduce, -yyn is rule number.
3918 Positive => shift, yyn is new state.
3919 New state is final state => don't bother to shift,
3920 just return success.
3921 0, or most negative number => error. */
3922
3923 if (yyn < 0)
3924 {
3925 if (yyn == YYFLAG)
3926 goto yyerrlab;
3927 yyn = -yyn;
3928 goto yyreduce;
3929 }
3930 else if (yyn == 0)
3931 goto yyerrlab;
3932
3933 if (yyn == YYFINAL)
3934 YYACCEPT;
3935
3936 /* Shift the lookahead token. */
3937
3938 #if YYDEBUG != 0
3939 if (yydebug)
3940 fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
3941 #endif
3942
3943 /* Discard the token being shifted unless it is eof. */
3944 if (yychar != YYEOF)
3945 yychar = YYEMPTY;
3946
3947 *++yyvsp = yylval;
3948 #ifdef YYLSP_NEEDED
3949 *++yylsp = yylloc;
3950 #endif
3951
3952 /* count tokens shifted since error; after three, turn off error status. */
3953 if (yyerrstatus) yyerrstatus--;
3954
3955 yystate = yyn;
3956 goto yynewstate;
3957
3958 /* Do the default action for the current state. */
3959 yydefault:
3960
3961 yyn = yydefact[yystate];
3962 if (yyn == 0)
3963 goto yyerrlab;
3964
3965 /* Do a reduction. yyn is the number of a rule to reduce with. */
3966 yyreduce:
3967 yylen = yyr2[yyn];
3968 if (yylen > 0)
3969 yyval = yyvsp[1-yylen]; /* implement default value of the action */
3970
3971 #if YYDEBUG != 0
3972 if (yydebug)
3973 {
3974 int i;
3975
3976 fprintf (stderr, "Reducing via rule %d (line %d), ",
3977 yyn, yyrline[yyn]);
3978
3979 /* Print the symbols being reduced, and their result. */
3980 for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
3981 fprintf (stderr, "%s ", yytname[yyrhs[i]]);
3982 fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
3983 }
3984 #endif
3985
3986
3987 switch (yyn) {
3988
3989 case 2:
3990 #line 331 "parse.y"
3991 { finish_translation_unit (); ;
3992 break;}
3993 case 3:
3994 #line 339 "parse.y"
3995 { yyval.ttype = NULL_TREE; ;
3996 break;}
3997 case 4:
3998 #line 341 "parse.y"
3999 { yyval.ttype = NULL_TREE; ;
4000 break;}
4001 case 5:
4002 #line 343 "parse.y"
4003 { yyval.ttype = NULL_TREE; ;
4004 break;}
4005 case 8:
4006 #line 352 "parse.y"
4007 { have_extern_spec = 1;
4008 used_extern_spec = 0;
4009 yyval.ttype = NULL_TREE; ;
4010 break;}
4011 case 9:
4012 #line 357 "parse.y"
4013 { have_extern_spec = 0; ;
4014 break;}
4015 case 10:
4016 #line 362 "parse.y"
4017 { yyval.itype = pedantic;
4018 pedantic = 0; ;
4019 break;}
4020 case 12:
4021 #line 371 "parse.y"
4022 { if (pending_lang_change) do_pending_lang_change(); ;
4023 break;}
4024 case 13:
4025 #line 373 "parse.y"
4026 { if (! toplevel_bindings_p () && ! pseudo_global_level_p())
4027 pop_everything (); ;
4028 break;}
4029 case 14:
4030 #line 379 "parse.y"
4031 { if (pending_inlines) do_pending_inlines (); ;
4032 break;}
4033 case 15:
4034 #line 381 "parse.y"
4035 { if (pending_inlines) do_pending_inlines (); ;
4036 break;}
4037 case 16:
4038 #line 383 "parse.y"
4039 { if (pending_inlines) do_pending_inlines (); ;
4040 break;}
4041 case 17:
4042 #line 385 "parse.y"
4043 { if (TREE_CHAIN (yyvsp[-2].ttype)) yyvsp[-2].ttype = combine_strings (yyvsp[-2].ttype);
4044 assemble_asm (yyvsp[-2].ttype); ;
4045 break;}
4046 case 18:
4047 #line 388 "parse.y"
4048 { pop_lang_context (); ;
4049 break;}
4050 case 19:
4051 #line 390 "parse.y"
4052 { if (pending_inlines) do_pending_inlines ();
4053 pop_lang_context (); ;
4054 break;}
4055 case 20:
4056 #line 393 "parse.y"
4057 { if (pending_inlines) do_pending_inlines ();
4058 pop_lang_context (); ;
4059 break;}
4060 case 21:
4061 #line 396 "parse.y"
4062 { push_namespace (yyvsp[-1].ttype); ;
4063 break;}
4064 case 22:
4065 #line 398 "parse.y"
4066 { pop_namespace (); ;
4067 break;}
4068 case 23:
4069 #line 400 "parse.y"
4070 { push_namespace (NULL_TREE); ;
4071 break;}
4072 case 24:
4073 #line 402 "parse.y"
4074 { pop_namespace (); ;
4075 break;}
4076 case 25:
4077 #line 404 "parse.y"
4078 { do_namespace_alias (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
4079 break;}
4080 case 26:
4081 #line 406 "parse.y"
4082 { do_toplevel_using_decl (yyvsp[-1].ttype); ;
4083 break;}
4084 case 27:
4085 #line 408 "parse.y"
4086 {
4087 /* If no declaration was found, the using-directive is
4088 invalid. Since that was not reported, we need the
4089 identifier for the error message. */
4090 if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE && lastiddecl)
4091 yyvsp[-1].ttype = lastiddecl;
4092 do_using_directive (yyvsp[-1].ttype);
4093 ;
4094 break;}
4095 case 28:
4096 #line 417 "parse.y"
4097 { pedantic = yyvsp[-1].itype; ;
4098 break;}
4099 case 29:
4100 #line 422 "parse.y"
4101 { yyval.ttype = yyvsp[0].ttype; ;
4102 break;}
4103 case 30:
4104 #line 424 "parse.y"
4105 { yyval.ttype = yyvsp[0].ttype; ;
4106 break;}
4107 case 31:
4108 #line 426 "parse.y"
4109 { yyval.ttype = yyvsp[0].ttype; ;
4110 break;}
4111 case 34:
4112 #line 433 "parse.y"
4113 { yyval.ttype = yyvsp[0].ttype; ;
4114 break;}
4115 case 35:
4116 #line 435 "parse.y"
4117 { yyval.ttype = yyvsp[0].ttype; ;
4118 break;}
4119 case 36:
4120 #line 440 "parse.y"
4121 { push_lang_context (yyvsp[0].ttype); ;
4122 break;}
4123 case 37:
4124 #line 442 "parse.y"
4125 { if (current_lang_name != yyvsp[0].ttype)
4126 cp_error ("use of linkage spec `%D' is different from previous spec `%D'", yyvsp[0].ttype, current_lang_name);
4127 pop_lang_context (); push_lang_context (yyvsp[0].ttype); ;
4128 break;}
4129 case 38:
4130 #line 449 "parse.y"
4131 { begin_template_parm_list (); ;
4132 break;}
4133 case 39:
4134 #line 451 "parse.y"
4135 { yyval.ttype = end_template_parm_list (yyvsp[-1].ttype); ;
4136 break;}
4137 case 40:
4138 #line 453 "parse.y"
4139 { begin_specialization();
4140 yyval.ttype = NULL_TREE; ;
4141 break;}
4142 case 41:
4143 #line 459 "parse.y"
4144 { yyval.ttype = process_template_parm (NULL_TREE, yyvsp[0].ttype); ;
4145 break;}
4146 case 42:
4147 #line 461 "parse.y"
4148 { yyval.ttype = process_template_parm (yyvsp[-2].ttype, yyvsp[0].ttype); ;
4149 break;}
4150 case 43:
4151 #line 466 "parse.y"
4152 { yyval.ttype = yyvsp[0].ttype; ;
4153 break;}
4154 case 44:
4155 #line 468 "parse.y"
4156 { yyval.ttype = NULL_TREE; ;
4157 break;}
4158 case 45:
4159 #line 472 "parse.y"
4160 { yyval.ttype = finish_template_type_parm (yyvsp[-1].ttype, yyvsp[0].ttype); ;
4161 break;}
4162 case 46:
4163 #line 474 "parse.y"
4164 { yyval.ttype = finish_template_type_parm (class_type_node, yyvsp[0].ttype); ;
4165 break;}
4166 case 47:
4167 #line 479 "parse.y"
4168 { yyval.ttype = finish_template_template_parm (yyvsp[-1].ttype, yyvsp[0].ttype); ;
4169 break;}
4170 case 48:
4171 #line 491 "parse.y"
4172 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
4173 break;}
4174 case 49:
4175 #line 493 "parse.y"
4176 { yyval.ttype = build_tree_list (groktypename (yyvsp[0].ftype.t), yyvsp[-2].ttype); ;
4177 break;}
4178 case 50:
4179 #line 495 "parse.y"
4180 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ftype.t); ;
4181 break;}
4182 case 51:
4183 #line 497 "parse.y"
4184 { yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-2].ftype.t); ;
4185 break;}
4186 case 52:
4187 #line 499 "parse.y"
4188 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
4189 break;}
4190 case 53:
4191 #line 501 "parse.y"
4192 {
4193 if (TREE_CODE (yyvsp[0].ttype) != TEMPLATE_DECL
4194 && TREE_CODE (yyvsp[0].ttype) != TEMPLATE_TEMPLATE_PARM
4195 && TREE_CODE (yyvsp[0].ttype) != TYPE_DECL)
4196 {
4197 error ("invalid default template argument");
4198 yyvsp[0].ttype = error_mark_node;
4199 }
4200 yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype);
4201 ;
4202 break;}
4203 case 54:
4204 #line 516 "parse.y"
4205 {
4206 if (yyvsp[-1].ttype)
4207 end_template_decl ();
4208 else
4209 end_specialization ();
4210 ;
4211 break;}
4212 case 55:
4213 #line 524 "parse.y"
4214 {
4215 if (yyvsp[-1].ttype)
4216 end_template_decl ();
4217 else
4218 end_specialization ();
4219 ;
4220 break;}
4221 case 57:
4222 #line 535 "parse.y"
4223 {;
4224 break;}
4225 case 58:
4226 #line 537 "parse.y"
4227 {
4228 note_list_got_semicolon (yyvsp[-2].ftype.t);
4229 ;
4230 break;}
4231 case 59:
4232 #line 541 "parse.y"
4233 { pedwarn ("empty declaration"); ;
4234 break;}
4235 case 61:
4236 #line 544 "parse.y"
4237 {
4238 tree t, attrs;
4239 split_specs_attrs (yyvsp[-1].ftype.t, &t, &attrs);
4240 shadow_tag (t);
4241 note_list_got_semicolon (yyvsp[-1].ftype.t);
4242 ;
4243 break;}
4244 case 65:
4245 #line 557 "parse.y"
4246 { yyval.itype = 0; ;
4247 break;}
4248 case 66:
4249 #line 559 "parse.y"
4250 { yyval.itype = 1; ;
4251 break;}
4252 case 72:
4253 #line 575 "parse.y"
4254 { finish_function (lineno, (int)yyvsp[-1].itype, 0); ;
4255 break;}
4256 case 73:
4257 #line 577 "parse.y"
4258 { ;
4259 break;}
4260 case 74:
4261 #line 579 "parse.y"
4262 { ;
4263 break;}
4264 case 75:
4265 #line 584 "parse.y"
4266 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4267 break;}
4268 case 76:
4269 #line 586 "parse.y"
4270 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4271 break;}
4272 case 77:
4273 #line 588 "parse.y"
4274 { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype);
4275 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4276 ;
4277 break;}
4278 case 78:
4279 #line 592 "parse.y"
4280 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4281 break;}
4282 case 79:
4283 #line 594 "parse.y"
4284 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4285 break;}
4286 case 80:
4287 #line 596 "parse.y"
4288 { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype);
4289 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4290 ;
4291 break;}
4292 case 81:
4293 #line 600 "parse.y"
4294 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4295 break;}
4296 case 82:
4297 #line 602 "parse.y"
4298 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4299 break;}
4300 case 83:
4301 #line 604 "parse.y"
4302 { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype);
4303 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4304 ;
4305 break;}
4306 case 84:
4307 #line 608 "parse.y"
4308 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4309 break;}
4310 case 85:
4311 #line 610 "parse.y"
4312 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4313 break;}
4314 case 86:
4315 #line 612 "parse.y"
4316 { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype);
4317 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4318 ;
4319 break;}
4320 case 87:
4321 #line 619 "parse.y"
4322 { if (!begin_function_definition (yyvsp[-1].ftype.t, yyvsp[0].ttype))
4323 YYERROR1; ;
4324 break;}
4325 case 88:
4326 #line 622 "parse.y"
4327 { if (!begin_function_definition (yyvsp[-1].ttype, yyvsp[0].ttype))
4328 YYERROR1; ;
4329 break;}
4330 case 89:
4331 #line 625 "parse.y"
4332 { if (!begin_function_definition (NULL_TREE, yyvsp[0].ttype))
4333 YYERROR1; ;
4334 break;}
4335 case 90:
4336 #line 628 "parse.y"
4337 { if (!begin_function_definition (yyvsp[-1].ttype, yyvsp[0].ttype))
4338 YYERROR1; ;
4339 break;}
4340 case 91:
4341 #line 631 "parse.y"
4342 { if (!begin_function_definition (NULL_TREE, yyvsp[0].ttype))
4343 YYERROR1; ;
4344 break;}
4345 case 92:
4346 #line 637 "parse.y"
4347 { yyval.ttype = make_call_declarator (yyvsp[-5].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4348 break;}
4349 case 93:
4350 #line 639 "parse.y"
4351 { yyval.ttype = make_call_declarator (yyvsp[-3].ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
4352 break;}
4353 case 94:
4354 #line 641 "parse.y"
4355 { yyval.ttype = make_call_declarator (yyvsp[-5].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4356 break;}
4357 case 95:
4358 #line 643 "parse.y"
4359 { yyval.ttype = make_call_declarator (yyvsp[-3].ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
4360 break;}
4361 case 96:
4362 #line 650 "parse.y"
4363 { tree specs = strip_attrs (yyvsp[-1].ttype);
4364 yyval.ttype = start_method (specs, yyvsp[0].ttype);
4365 rest_of_mdef:
4366 if (! yyval.ttype)
4367 YYERROR1;
4368 if (yychar == YYEMPTY)
4369 yychar = YYLEX;
4370 reinit_parse_for_method (yychar, yyval.ttype); ;
4371 break;}
4372 case 97:
4373 #line 659 "parse.y"
4374 { yyval.ttype = start_method (NULL_TREE, yyvsp[0].ttype); goto rest_of_mdef; ;
4375 break;}
4376 case 98:
4377 #line 661 "parse.y"
4378 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
4379 yyval.ttype = start_method (specs, yyvsp[0].ttype); goto rest_of_mdef; ;
4380 break;}
4381 case 99:
4382 #line 664 "parse.y"
4383 { tree specs = strip_attrs (yyvsp[-1].ttype);
4384 yyval.ttype = start_method (specs, yyvsp[0].ttype); goto rest_of_mdef; ;
4385 break;}
4386 case 100:
4387 #line 667 "parse.y"
4388 { yyval.ttype = start_method (NULL_TREE, yyval.ttype); goto rest_of_mdef; ;
4389 break;}
4390 case 101:
4391 #line 669 "parse.y"
4392 { tree specs = strip_attrs (yyvsp[-1].ttype);
4393 yyval.ttype = start_method (specs, yyvsp[0].ttype); goto rest_of_mdef; ;
4394 break;}
4395 case 102:
4396 #line 672 "parse.y"
4397 { yyval.ttype = start_method (NULL_TREE, yyval.ttype); goto rest_of_mdef; ;
4398 break;}
4399 case 103:
4400 #line 677 "parse.y"
4401 {
4402 if (! current_function_parms_stored)
4403 store_parm_decls ();
4404 yyval.ttype = yyvsp[0].ttype;
4405 ;
4406 break;}
4407 case 104:
4408 #line 686 "parse.y"
4409 { store_return_init (yyval.ttype, yyvsp[0].ttype); ;
4410 break;}
4411 case 105:
4412 #line 688 "parse.y"
4413 { store_return_init (yyval.ttype, yyvsp[-1].ttype); ;
4414 break;}
4415 case 106:
4416 #line 690 "parse.y"
4417 { store_return_init (yyval.ttype, NULL_TREE); ;
4418 break;}
4419 case 107:
4420 #line 695 "parse.y"
4421 {
4422 if (yyvsp[0].itype == 0)
4423 error ("no base initializers given following ':'");
4424 setup_vtbl_ptr ();
4425 /* Always keep the BLOCK node associated with the outermost
4426 pair of curley braces of a function. These are needed
4427 for correct operation of dwarfout.c. */
4428 keep_next_level ();
4429 ;
4430 break;}
4431 case 108:
4432 #line 708 "parse.y"
4433 {
4434 if (! current_function_parms_stored)
4435 store_parm_decls ();
4436
4437 if (DECL_CONSTRUCTOR_P (current_function_decl))
4438 {
4439 /* Make a contour for the initializer list. */
4440 pushlevel (0);
4441 clear_last_expr ();
4442 expand_start_bindings (0);
4443 }
4444 else if (current_class_type == NULL_TREE)
4445 error ("base initializers not allowed for non-member functions");
4446 else if (! DECL_CONSTRUCTOR_P (current_function_decl))
4447 error ("only constructors take base initializers");
4448 ;
4449 break;}
4450 case 109:
4451 #line 728 "parse.y"
4452 { yyval.itype = 0; ;
4453 break;}
4454 case 110:
4455 #line 730 "parse.y"
4456 { yyval.itype = 1; ;
4457 break;}
4458 case 113:
4459 #line 737 "parse.y"
4460 {
4461 if (current_class_name)
4462 pedwarn ("anachronistic old style base class initializer");
4463 expand_member_init (current_class_ref, NULL_TREE, yyvsp[-1].ttype);
4464 ;
4465 break;}
4466 case 114:
4467 #line 743 "parse.y"
4468 {
4469 if (current_class_name)
4470 pedwarn ("anachronistic old style base class initializer");
4471 expand_member_init (current_class_ref, NULL_TREE, void_type_node);
4472 ;
4473 break;}
4474 case 115:
4475 #line 749 "parse.y"
4476 { expand_member_init (current_class_ref, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
4477 break;}
4478 case 116:
4479 #line 751 "parse.y"
4480 { expand_member_init (current_class_ref, yyvsp[-1].ttype, void_type_node); ;
4481 break;}
4482 case 117:
4483 #line 753 "parse.y"
4484 { expand_member_init (current_class_ref, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
4485 break;}
4486 case 118:
4487 #line 755 "parse.y"
4488 { expand_member_init (current_class_ref, yyvsp[-1].ttype, void_type_node); ;
4489 break;}
4490 case 119:
4491 #line 757 "parse.y"
4492 { expand_member_init (current_class_ref, TYPE_MAIN_DECL (yyvsp[-3].ttype),
4493 yyvsp[-1].ttype); ;
4494 break;}
4495 case 120:
4496 #line 760 "parse.y"
4497 { expand_member_init (current_class_ref, TYPE_MAIN_DECL (yyvsp[-1].ttype),
4498 void_type_node); ;
4499 break;}
4500 case 132:
4501 #line 786 "parse.y"
4502 { do_type_instantiation (yyvsp[-1].ftype.t, NULL_TREE);
4503 yyungetc (';', 1); ;
4504 break;}
4505 case 134:
4506 #line 790 "parse.y"
4507 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
4508 do_decl_instantiation (specs, yyvsp[0].ttype, NULL_TREE); ;
4509 break;}
4510 case 136:
4511 #line 794 "parse.y"
4512 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
4513 break;}
4514 case 138:
4515 #line 797 "parse.y"
4516 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
4517 break;}
4518 case 140:
4519 #line 800 "parse.y"
4520 { do_type_instantiation (yyvsp[-1].ftype.t, yyvsp[-4].ttype);
4521 yyungetc (';', 1); ;
4522 break;}
4523 case 142:
4524 #line 805 "parse.y"
4525 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
4526 do_decl_instantiation (specs, yyvsp[0].ttype, yyvsp[-4].ttype); ;
4527 break;}
4528 case 144:
4529 #line 809 "parse.y"
4530 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, yyvsp[-3].ttype); ;
4531 break;}
4532 case 146:
4533 #line 812 "parse.y"
4534 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, yyvsp[-3].ttype); ;
4535 break;}
4536 case 148:
4537 #line 817 "parse.y"
4538 { begin_explicit_instantiation(); ;
4539 break;}
4540 case 149:
4541 #line 820 "parse.y"
4542 { end_explicit_instantiation(); ;
4543 break;}
4544 case 150:
4545 #line 828 "parse.y"
4546 {
4547 yyval.ttype = lookup_template_class (yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE, NULL_TREE);
4548 if (yyval.ttype != error_mark_node)
4549 yyval.ttype = TYPE_STUB_DECL (yyval.ttype);
4550 ;
4551 break;}
4552 case 151:
4553 #line 834 "parse.y"
4554 {
4555 yyval.ttype = lookup_template_class (yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE, NULL_TREE);
4556 if (yyval.ttype != error_mark_node)
4557 yyval.ttype = TYPE_STUB_DECL (yyval.ttype);
4558 ;
4559 break;}
4560 case 153:
4561 #line 844 "parse.y"
4562 {
4563 yyval.ttype = lookup_template_class (yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE, NULL_TREE);
4564 if (yyval.ttype != error_mark_node)
4565 yyval.ttype = TYPE_STUB_DECL (yyval.ttype);
4566 ;
4567 break;}
4568 case 155:
4569 #line 854 "parse.y"
4570 {
4571 /* Handle `Class<Class<Type>>' without space in the `>>' */
4572 pedwarn ("`>>' should be `> >' in template class name");
4573 yyungetc ('>', 1);
4574 ;
4575 break;}
4576 case 156:
4577 #line 863 "parse.y"
4578 { yyval.ttype = NULL_TREE; ;
4579 break;}
4580 case 158:
4581 #line 869 "parse.y"
4582 { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
4583 break;}
4584 case 159:
4585 #line 871 "parse.y"
4586 { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
4587 break;}
4588 case 160:
4589 #line 876 "parse.y"
4590 { yyval.ttype = groktypename (yyvsp[0].ftype.t); ;
4591 break;}
4592 case 162:
4593 #line 882 "parse.y"
4594 { yyval.code = NEGATE_EXPR; ;
4595 break;}
4596 case 163:
4597 #line 884 "parse.y"
4598 { yyval.code = CONVERT_EXPR; ;
4599 break;}
4600 case 164:
4601 #line 886 "parse.y"
4602 { yyval.code = PREINCREMENT_EXPR; ;
4603 break;}
4604 case 165:
4605 #line 888 "parse.y"
4606 { yyval.code = PREDECREMENT_EXPR; ;
4607 break;}
4608 case 166:
4609 #line 890 "parse.y"
4610 { yyval.code = TRUTH_NOT_EXPR; ;
4611 break;}
4612 case 167:
4613 #line 895 "parse.y"
4614 { yyval.ttype = build_x_compound_expr (yyval.ttype); ;
4615 break;}
4616 case 169:
4617 #line 901 "parse.y"
4618 { error ("ANSI C++ forbids an empty condition for `%s'",
4619 cond_stmt_keyword);
4620 yyval.ttype = integer_zero_node; ;
4621 break;}
4622 case 170:
4623 #line 905 "parse.y"
4624 { yyval.ttype = yyvsp[-1].ttype; ;
4625 break;}
4626 case 171:
4627 #line 910 "parse.y"
4628 { error ("ANSI C++ forbids an empty condition for `%s'",
4629 cond_stmt_keyword);
4630 yyval.ttype = integer_zero_node; ;
4631 break;}
4632 case 172:
4633 #line 914 "parse.y"
4634 { yyval.ttype = yyvsp[-1].ttype; ;
4635 break;}
4636 case 173:
4637 #line 919 "parse.y"
4638 { yyval.ttype = NULL_TREE; ;
4639 break;}
4640 case 174:
4641 #line 921 "parse.y"
4642 { yyval.ttype = condition_conversion (yyval.ttype); ;
4643 break;}
4644 case 175:
4645 #line 923 "parse.y"
4646 { yyval.ttype = NULL_TREE; ;
4647 break;}
4648 case 176:
4649 #line 928 "parse.y"
4650 { {
4651 tree d;
4652 for (d = getdecls (); d; d = TREE_CHAIN (d))
4653 if (TREE_CODE (d) == TYPE_DECL) {
4654 tree s = TREE_TYPE (d);
4655 if (TREE_CODE (s) == RECORD_TYPE)
4656 cp_error ("definition of class `%T' in condition", s);
4657 else if (TREE_CODE (s) == ENUMERAL_TYPE)
4658 cp_error ("definition of enum `%T' in condition", s);
4659 }
4660 }
4661 current_declspecs = yyvsp[-4].ftype.t;
4662 yyvsp[0].itype = suspend_momentary ();
4663 yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1,
4664 yyvsp[-1].ttype, /*prefix_attributes*/ NULL_TREE);
4665 ;
4666 break;}
4667 case 177:
4668 #line 945 "parse.y"
4669 {
4670 cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-3].ttype, 1, LOOKUP_ONLYCONVERTING);
4671 resume_momentary (yyvsp[-2].itype);
4672 yyval.ttype = yyvsp[-1].ttype;
4673 if (TREE_CODE (TREE_TYPE (yyval.ttype)) == ARRAY_TYPE)
4674 cp_error ("definition of array `%#D' in condition", yyval.ttype);
4675 ;
4676 break;}
4677 case 183:
4678 #line 964 "parse.y"
4679 { yyval.ttype = begin_compound_stmt (1); ;
4680 break;}
4681 case 184:
4682 #line 966 "parse.y"
4683 { finish_compound_stmt (1, yyvsp[-1].ttype); ;
4684 break;}
4685 case 186:
4686 #line 973 "parse.y"
4687 { yyval.ttype = expr_tree_cons (NULL_TREE, yyval.ttype,
4688 build_expr_list (NULL_TREE, yyvsp[0].ttype)); ;
4689 break;}
4690 case 187:
4691 #line 976 "parse.y"
4692 { yyval.ttype = expr_tree_cons (NULL_TREE, yyval.ttype,
4693 build_expr_list (NULL_TREE, error_mark_node)); ;
4694 break;}
4695 case 188:
4696 #line 979 "parse.y"
4697 { chainon (yyval.ttype, build_expr_list (NULL_TREE, yyvsp[0].ttype)); ;
4698 break;}
4699 case 189:
4700 #line 981 "parse.y"
4701 { chainon (yyval.ttype, build_expr_list (NULL_TREE, error_mark_node)); ;
4702 break;}
4703 case 190:
4704 #line 986 "parse.y"
4705 { yyval.ttype = build_expr_list (NULL_TREE, yyval.ttype); ;
4706 break;}
4707 case 192:
4708 #line 992 "parse.y"
4709 { yyval.ttype = yyvsp[0].ttype; ;
4710 break;}
4711 case 193:
4712 #line 995 "parse.y"
4713 { yyval.ttype = yyvsp[0].ttype;
4714 pedantic = yyvsp[-1].itype; ;
4715 break;}
4716 case 194:
4717 #line 998 "parse.y"
4718 { yyval.ttype = build_x_indirect_ref (yyvsp[0].ttype, "unary *"); ;
4719 break;}
4720 case 195:
4721 #line 1000 "parse.y"
4722 { yyval.ttype = build_x_unary_op (ADDR_EXPR, yyvsp[0].ttype); ;
4723 break;}
4724 case 196:
4725 #line 1002 "parse.y"
4726 { yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, yyvsp[0].ttype); ;
4727 break;}
4728 case 197:
4729 #line 1004 "parse.y"
4730 { yyval.ttype = finish_unary_op_expr (yyvsp[-1].code, yyvsp[0].ttype); ;
4731 break;}
4732 case 198:
4733 #line 1007 "parse.y"
4734 { if (pedantic)
4735 pedwarn ("ANSI C++ forbids `&&'");
4736 yyval.ttype = finish_label_address_expr (yyvsp[0].ttype); ;
4737 break;}
4738 case 199:
4739 #line 1011 "parse.y"
4740 { yyval.ttype = expr_sizeof (yyvsp[0].ttype); ;
4741 break;}
4742 case 200:
4743 #line 1013 "parse.y"
4744 { yyval.ttype = c_sizeof (groktypename (yyvsp[-1].ftype.t)); ;
4745 break;}
4746 case 201:
4747 #line 1015 "parse.y"
4748 { yyval.ttype = grok_alignof (yyvsp[0].ttype); ;
4749 break;}
4750 case 202:
4751 #line 1017 "parse.y"
4752 { yyval.ttype = c_alignof (groktypename (yyvsp[-1].ftype.t));
4753 check_for_new_type ("alignof", yyvsp[-1].ftype); ;
4754 break;}
4755 case 203:
4756 #line 1023 "parse.y"
4757 { yyval.ttype = build_new (NULL_TREE, yyvsp[0].ftype.t, NULL_TREE, yyvsp[-1].itype);
4758 check_for_new_type ("new", yyvsp[0].ftype); ;
4759 break;}
4760 case 204:
4761 #line 1026 "parse.y"
4762 { yyval.ttype = build_new (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype, yyvsp[-2].itype);
4763 check_for_new_type ("new", yyvsp[-1].ftype); ;
4764 break;}
4765 case 205:
4766 #line 1029 "parse.y"
4767 { yyval.ttype = build_new (yyvsp[-1].ttype, yyvsp[0].ftype.t, NULL_TREE, yyvsp[-2].itype);
4768 check_for_new_type ("new", yyvsp[0].ftype); ;
4769 break;}
4770 case 206:
4771 #line 1032 "parse.y"
4772 { yyval.ttype = build_new (yyvsp[-2].ttype, yyvsp[-1].ftype.t, yyvsp[0].ttype, yyvsp[-3].itype);
4773 check_for_new_type ("new", yyvsp[-1].ftype); ;
4774 break;}
4775 case 207:
4776 #line 1045 "parse.y"
4777 { yyval.ttype = build_new (NULL_TREE, groktypename(yyvsp[-1].ftype.t),
4778 NULL_TREE, yyvsp[-4].itype);
4779 check_for_new_type ("new", yyvsp[-1].ftype); ;
4780 break;}
4781 case 208:
4782 #line 1050 "parse.y"
4783 { yyval.ttype = build_new (NULL_TREE, groktypename(yyvsp[-2].ftype.t), yyvsp[0].ttype, yyvsp[-5].itype);
4784 check_for_new_type ("new", yyvsp[-2].ftype); ;
4785 break;}
4786 case 209:
4787 #line 1054 "parse.y"
4788 { yyval.ttype = build_new (yyvsp[-4].ttype, groktypename(yyvsp[-1].ftype.t), NULL_TREE, yyvsp[-5].itype);
4789 check_for_new_type ("new", yyvsp[-1].ftype); ;
4790 break;}
4791 case 210:
4792 #line 1058 "parse.y"
4793 { yyval.ttype = build_new (yyvsp[-5].ttype, groktypename(yyvsp[-2].ftype.t), yyvsp[0].ttype, yyvsp[-6].itype);
4794 check_for_new_type ("new", yyvsp[-2].ftype); ;
4795 break;}
4796 case 211:
4797 #line 1062 "parse.y"
4798 { yyval.ttype = delete_sanity (yyvsp[0].ttype, NULL_TREE, 0, yyvsp[-1].itype); ;
4799 break;}
4800 case 212:
4801 #line 1064 "parse.y"
4802 { yyval.ttype = delete_sanity (yyvsp[0].ttype, NULL_TREE, 1, yyvsp[-3].itype);
4803 if (yychar == YYEMPTY)
4804 yychar = YYLEX; ;
4805 break;}
4806 case 213:
4807 #line 1068 "parse.y"
4808 { yyval.ttype = delete_sanity (yyvsp[0].ttype, yyvsp[-2].ttype, 2, yyvsp[-4].itype);
4809 if (yychar == YYEMPTY)
4810 yychar = YYLEX; ;
4811 break;}
4812 case 214:
4813 #line 1072 "parse.y"
4814 { yyval.ttype = build_x_unary_op (REALPART_EXPR, yyvsp[0].ttype); ;
4815 break;}
4816 case 215:
4817 #line 1074 "parse.y"
4818 { yyval.ttype = build_x_unary_op (IMAGPART_EXPR, yyvsp[0].ttype); ;
4819 break;}
4820 case 216:
4821 #line 1084 "parse.y"
4822 { finish_new_placement (NULL_TREE, yyvsp[-2].itype); ;
4823 break;}
4824 case 217:
4825 #line 1087 "parse.y"
4826 { yyval.itype = begin_new_placement (); ;
4827 break;}
4828 case 218:
4829 #line 1091 "parse.y"
4830 { yyval.ttype = finish_new_placement (yyvsp[-1].ttype, yyvsp[-2].itype); ;
4831 break;}
4832 case 219:
4833 #line 1093 "parse.y"
4834 { cp_pedwarn ("old style placement syntax, use () instead");
4835 yyval.ttype = finish_new_placement (yyvsp[-1].ttype, yyvsp[-2].itype); ;
4836 break;}
4837 case 220:
4838 #line 1099 "parse.y"
4839 { yyval.ttype = yyvsp[-1].ttype; ;
4840 break;}
4841 case 221:
4842 #line 1101 "parse.y"
4843 { yyval.ttype = NULL_TREE; ;
4844 break;}
4845 case 222:
4846 #line 1103 "parse.y"
4847 {
4848 cp_error ("`%T' is not a valid expression", yyvsp[-1].ftype.t);
4849 yyval.ttype = error_mark_node;
4850 ;
4851 break;}
4852 case 223:
4853 #line 1111 "parse.y"
4854 {
4855 if (pedantic)
4856 pedwarn ("ANSI C++ forbids initialization of new expression with `='");
4857 if (TREE_CODE (yyvsp[0].ttype) != TREE_LIST
4858 && TREE_CODE (yyvsp[0].ttype) != CONSTRUCTOR)
4859 yyval.ttype = build_expr_list (NULL_TREE, yyvsp[0].ttype);
4860 else
4861 yyval.ttype = yyvsp[0].ttype;
4862 ;
4863 break;}
4864 case 224:
4865 #line 1125 "parse.y"
4866 { yyvsp[-1].ftype.t = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[-1].ftype.t), 0);
4867 yyval.ttype = make_call_declarator (NULL_TREE, yyvsp[-1].ftype.t, NULL_TREE, NULL_TREE);
4868 check_for_new_type ("cast", yyvsp[-1].ftype); ;
4869 break;}
4870 case 225:
4871 #line 1129 "parse.y"
4872 { yyvsp[-1].ftype.t = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[-1].ftype.t), 0);
4873 yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-1].ftype.t, NULL_TREE, NULL_TREE);
4874 check_for_new_type ("cast", yyvsp[-1].ftype); ;
4875 break;}
4876 case 227:
4877 #line 1137 "parse.y"
4878 { yyval.ttype = reparse_absdcl_as_casts (yyval.ttype, yyvsp[0].ttype); ;
4879 break;}
4880 case 228:
4881 #line 1139 "parse.y"
4882 {
4883 tree init = build_nt (CONSTRUCTOR, NULL_TREE,
4884 nreverse (yyvsp[-2].ttype));
4885 if (pedantic)
4886 pedwarn ("ANSI C++ forbids constructor-expressions");
4887 /* Indicate that this was a GNU C constructor expression. */
4888 TREE_HAS_CONSTRUCTOR (init) = 1;
4889
4890 yyval.ttype = reparse_absdcl_as_casts (yyval.ttype, init);
4891 ;
4892 break;}
4893 case 230:
4894 #line 1155 "parse.y"
4895 { yyval.ttype = build_x_binary_op (MEMBER_REF, yyval.ttype, yyvsp[0].ttype); ;
4896 break;}
4897 case 231:
4898 #line 1157 "parse.y"
4899 { yyval.ttype = build_m_component_ref (yyval.ttype, yyvsp[0].ttype); ;
4900 break;}
4901 case 232:
4902 #line 1159 "parse.y"
4903 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4904 break;}
4905 case 233:
4906 #line 1161 "parse.y"
4907 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4908 break;}
4909 case 234:
4910 #line 1163 "parse.y"
4911 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4912 break;}
4913 case 235:
4914 #line 1165 "parse.y"
4915 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4916 break;}
4917 case 236:
4918 #line 1167 "parse.y"
4919 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4920 break;}
4921 case 237:
4922 #line 1169 "parse.y"
4923 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4924 break;}
4925 case 238:
4926 #line 1171 "parse.y"
4927 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4928 break;}
4929 case 239:
4930 #line 1173 "parse.y"
4931 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4932 break;}
4933 case 240:
4934 #line 1175 "parse.y"
4935 { yyval.ttype = build_x_binary_op (LT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
4936 break;}
4937 case 241:
4938 #line 1177 "parse.y"
4939 { yyval.ttype = build_x_binary_op (GT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
4940 break;}
4941 case 242:
4942 #line 1179 "parse.y"
4943 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4944 break;}
4945 case 243:
4946 #line 1181 "parse.y"
4947 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4948 break;}
4949 case 244:
4950 #line 1183 "parse.y"
4951 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4952 break;}
4953 case 245:
4954 #line 1185 "parse.y"
4955 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4956 break;}
4957 case 246:
4958 #line 1187 "parse.y"
4959 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4960 break;}
4961 case 247:
4962 #line 1189 "parse.y"
4963 { yyval.ttype = build_x_binary_op (TRUTH_ANDIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
4964 break;}
4965 case 248:
4966 #line 1191 "parse.y"
4967 { yyval.ttype = build_x_binary_op (TRUTH_ORIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
4968 break;}
4969 case 249:
4970 #line 1193 "parse.y"
4971 { yyval.ttype = build_x_conditional_expr (yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
4972 break;}
4973 case 250:
4974 #line 1195 "parse.y"
4975 { yyval.ttype = build_x_modify_expr (yyval.ttype, NOP_EXPR, yyvsp[0].ttype);
4976 if (yyval.ttype != error_mark_node)
4977 C_SET_EXP_ORIGINAL_CODE (yyval.ttype, MODIFY_EXPR); ;
4978 break;}
4979 case 251:
4980 #line 1199 "parse.y"
4981 { yyval.ttype = build_x_modify_expr (yyval.ttype, yyvsp[-1].code, yyvsp[0].ttype); ;
4982 break;}
4983 case 252:
4984 #line 1201 "parse.y"
4985 { yyval.ttype = build_throw (NULL_TREE); ;
4986 break;}
4987 case 253:
4988 #line 1203 "parse.y"
4989 { yyval.ttype = build_throw (yyvsp[0].ttype); ;
4990 break;}
4991 case 254:
4992 #line 1221 "parse.y"
4993 { yyval.ttype = build_parse_node (BIT_NOT_EXPR, yyvsp[0].ttype); ;
4994 break;}
4995 case 260:
4996 #line 1230 "parse.y"
4997 { yyval.ttype = do_identifier (yyvsp[-1].ttype, 1); ;
4998 break;}
4999 case 261:
5000 #line 1234 "parse.y"
5001 { yyval.ttype = lookup_template_function (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
5002 break;}
5003 case 262:
5004 #line 1236 "parse.y"
5005 { yyval.ttype = lookup_template_function (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
5006 break;}
5007 case 263:
5008 #line 1241 "parse.y"
5009 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5010 break;}
5011 case 264:
5012 #line 1243 "parse.y"
5013 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5014 break;}
5015 case 265:
5016 #line 1246 "parse.y"
5017 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5018 break;}
5019 case 270:
5020 #line 1258 "parse.y"
5021 { yyval.ttype = build_parse_node (INDIRECT_REF, yyvsp[0].ttype); ;
5022 break;}
5023 case 271:
5024 #line 1260 "parse.y"
5025 { yyval.ttype = build_parse_node (ADDR_EXPR, yyvsp[0].ttype); ;
5026 break;}
5027 case 272:
5028 #line 1262 "parse.y"
5029 { yyval.ttype = yyvsp[-1].ttype; ;
5030 break;}
5031 case 273:
5032 #line 1267 "parse.y"
5033 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5034 break;}
5035 case 274:
5036 #line 1269 "parse.y"
5037 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5038 break;}
5039 case 278:
5040 #line 1277 "parse.y"
5041 { yyval.ttype = finish_decl_parsing (yyvsp[-1].ttype); ;
5042 break;}
5043 case 279:
5044 #line 1282 "parse.y"
5045 {
5046 if (TREE_CODE (yyvsp[0].ttype) == BIT_NOT_EXPR)
5047 yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, TREE_OPERAND (yyvsp[0].ttype, 0));
5048 else
5049 yyval.ttype = finish_id_expr (yyvsp[0].ttype);
5050 ;
5051 break;}
5052 case 282:
5053 #line 1291 "parse.y"
5054 {
5055 if (processing_template_decl)
5056 push_obstacks (&permanent_obstack, &permanent_obstack);
5057 yyval.ttype = combine_strings (yyval.ttype);
5058 if (processing_template_decl)
5059 pop_obstacks ();
5060 ;
5061 break;}
5062 case 283:
5063 #line 1299 "parse.y"
5064 { yyval.ttype = finish_parenthesized_expr (yyvsp[-1].ttype); ;
5065 break;}
5066 case 284:
5067 #line 1301 "parse.y"
5068 { yyvsp[-1].ttype = reparse_decl_as_expr (NULL_TREE, yyvsp[-1].ttype);
5069 yyval.ttype = finish_parenthesized_expr (yyvsp[-1].ttype); ;
5070 break;}
5071 case 285:
5072 #line 1304 "parse.y"
5073 { yyval.ttype = error_mark_node; ;
5074 break;}
5075 case 286:
5076 #line 1306 "parse.y"
5077 { if (current_function_decl == 0)
5078 {
5079 error ("braced-group within expression allowed only inside a function");
5080 YYERROR;
5081 }
5082 if (pedantic)
5083 pedwarn ("ANSI C++ forbids braced-groups within expressions");
5084 yyval.ttype = begin_stmt_expr ();
5085 ;
5086 break;}
5087 case 287:
5088 #line 1316 "parse.y"
5089 { yyval.ttype = finish_stmt_expr (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
5090 break;}
5091 case 288:
5092 #line 1318 "parse.y"
5093 { yyval.ttype = finish_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5094 break;}
5095 case 289:
5096 #line 1320 "parse.y"
5097 { yyval.ttype = finish_call_expr (yyvsp[-1].ttype, NULL_TREE); ;
5098 break;}
5099 case 290:
5100 #line 1322 "parse.y"
5101 { yyval.ttype = grok_array_decl (yyval.ttype, yyvsp[-1].ttype); ;
5102 break;}
5103 case 291:
5104 #line 1324 "parse.y"
5105 { yyval.ttype = finish_increment_expr (yyvsp[-1].ttype, POSTINCREMENT_EXPR); ;
5106 break;}
5107 case 292:
5108 #line 1326 "parse.y"
5109 { yyval.ttype = finish_increment_expr (yyvsp[-1].ttype, POSTDECREMENT_EXPR); ;
5110 break;}
5111 case 293:
5112 #line 1329 "parse.y"
5113 { yyval.ttype = finish_this_expr (); ;
5114 break;}
5115 case 294:
5116 #line 1331 "parse.y"
5117 {
5118 tree type = NULL_TREE;
5119 tree id = yyval.ttype;
5120
5121 /* This is a C cast in C++'s `functional' notation. */
5122 if (yyvsp[-1].ttype == error_mark_node)
5123 {
5124 yyval.ttype = error_mark_node;
5125 break;
5126 }
5127 #if 0
5128 if (yyvsp[-1].ttype == NULL_TREE)
5129 {
5130 error ("cannot cast null list to type `%s'",
5131 IDENTIFIER_POINTER (TYPE_NAME (id)));
5132 yyval.ttype = error_mark_node;
5133 break;
5134 }
5135 #endif
5136 #if 0
5137 /* type is not set! (mrs) */
5138 if (type == error_mark_node)
5139 yyval.ttype = error_mark_node;
5140 else
5141 #endif
5142 {
5143 if (id == ridpointers[(int) RID_CONST])
5144 type = build_type_variant (integer_type_node, 1, 0);
5145 else if (id == ridpointers[(int) RID_VOLATILE])
5146 type = build_type_variant (integer_type_node, 0, 1);
5147 #if 0
5148 /* should not be able to get here (mrs) */
5149 else if (id == ridpointers[(int) RID_FRIEND])
5150 {
5151 error ("cannot cast expression to `friend' type");
5152 yyval.ttype = error_mark_node;
5153 break;
5154 }
5155 #endif
5156 else my_friendly_abort (79);
5157 yyval.ttype = build_c_cast (type, build_compound_expr (yyvsp[-1].ttype));
5158 }
5159 ;
5160 break;}
5161 case 296:
5162 #line 1376 "parse.y"
5163 { tree type = groktypename (yyvsp[-4].ftype.t);
5164 check_for_new_type ("dynamic_cast", yyvsp[-4].ftype);
5165 yyval.ttype = build_dynamic_cast (type, yyvsp[-1].ttype); ;
5166 break;}
5167 case 297:
5168 #line 1380 "parse.y"
5169 { tree type = groktypename (yyvsp[-4].ftype.t);
5170 check_for_new_type ("static_cast", yyvsp[-4].ftype);
5171 yyval.ttype = build_static_cast (type, yyvsp[-1].ttype); ;
5172 break;}
5173 case 298:
5174 #line 1384 "parse.y"
5175 { tree type = groktypename (yyvsp[-4].ftype.t);
5176 check_for_new_type ("reinterpret_cast", yyvsp[-4].ftype);
5177 yyval.ttype = build_reinterpret_cast (type, yyvsp[-1].ttype); ;
5178 break;}
5179 case 299:
5180 #line 1388 "parse.y"
5181 { tree type = groktypename (yyvsp[-4].ftype.t);
5182 check_for_new_type ("const_cast", yyvsp[-4].ftype);
5183 yyval.ttype = build_const_cast (type, yyvsp[-1].ttype); ;
5184 break;}
5185 case 300:
5186 #line 1392 "parse.y"
5187 { yyval.ttype = build_x_typeid (yyvsp[-1].ttype); ;
5188 break;}
5189 case 301:
5190 #line 1394 "parse.y"
5191 { tree type = groktypename (yyvsp[-1].ftype.t);
5192 check_for_new_type ("typeid", yyvsp[-1].ftype);
5193 yyval.ttype = get_typeid (TYPE_MAIN_VARIANT (type)); ;
5194 break;}
5195 case 302:
5196 #line 1398 "parse.y"
5197 { yyval.ttype = do_scoped_id (yyvsp[0].ttype, 1); ;
5198 break;}
5199 case 303:
5200 #line 1400 "parse.y"
5201 { yyval.ttype = yyvsp[0].ttype; ;
5202 break;}
5203 case 304:
5204 #line 1402 "parse.y"
5205 {
5206 got_scope = NULL_TREE;
5207 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
5208 yyval.ttype = do_scoped_id (yyvsp[0].ttype, 1);
5209 else
5210 yyval.ttype = yyvsp[0].ttype;
5211 ;
5212 break;}
5213 case 305:
5214 #line 1410 "parse.y"
5215 { yyval.ttype = build_offset_ref (OP0 (yyval.ttype), OP1 (yyval.ttype)); ;
5216 break;}
5217 case 306:
5218 #line 1412 "parse.y"
5219 { yyval.ttype = finish_globally_qualified_member_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5220 break;}
5221 case 307:
5222 #line 1414 "parse.y"
5223 { yyval.ttype = finish_globally_qualified_member_call_expr (yyvsp[-1].ttype, NULL_TREE); ;
5224 break;}
5225 case 308:
5226 #line 1416 "parse.y"
5227 {
5228 yyval.ttype = build_x_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1);
5229 ;
5230 break;}
5231 case 309:
5232 #line 1420 "parse.y"
5233 { yyval.ttype = finish_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
5234 break;}
5235 case 310:
5236 #line 1422 "parse.y"
5237 { yyval.ttype = finish_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ;
5238 break;}
5239 case 311:
5240 #line 1424 "parse.y"
5241 { yyval.ttype = build_x_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1); ;
5242 break;}
5243 case 312:
5244 #line 1426 "parse.y"
5245 { if (processing_template_decl)
5246 yyval.ttype = build_min_nt (COMPONENT_REF, yyvsp[-1].ttype, copy_to_permanent (yyvsp[0].ttype));
5247 else
5248 yyval.ttype = build_object_ref (yyval.ttype, OP0 (yyvsp[0].ttype), OP1 (yyvsp[0].ttype)); ;
5249 break;}
5250 case 313:
5251 #line 1431 "parse.y"
5252 { yyval.ttype = finish_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
5253 break;}
5254 case 314:
5255 #line 1433 "parse.y"
5256 { yyval.ttype = finish_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ;
5257 break;}
5258 case 315:
5259 #line 1435 "parse.y"
5260 { yyval.ttype = finish_qualified_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
5261 break;}
5262 case 316:
5263 #line 1437 "parse.y"
5264 { yyval.ttype = finish_qualified_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ;
5265 break;}
5266 case 317:
5267 #line 1440 "parse.y"
5268 { yyval.ttype = finish_pseudo_destructor_call_expr (yyvsp[-3].ttype, NULL_TREE, yyvsp[-1].ttype); ;
5269 break;}
5270 case 318:
5271 #line 1442 "parse.y"
5272 { yyval.ttype = finish_pseudo_destructor_call_expr (yyvsp[-5].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
5273 break;}
5274 case 319:
5275 #line 1444 "parse.y"
5276 {
5277 yyval.ttype = error_mark_node;
5278 ;
5279 break;}
5280 case 320:
5281 #line 1489 "parse.y"
5282 { yyval.itype = 0; ;
5283 break;}
5284 case 321:
5285 #line 1491 "parse.y"
5286 { got_scope = NULL_TREE; yyval.itype = 1; ;
5287 break;}
5288 case 322:
5289 #line 1496 "parse.y"
5290 { yyval.itype = 0; ;
5291 break;}
5292 case 323:
5293 #line 1498 "parse.y"
5294 { got_scope = NULL_TREE; yyval.itype = 1; ;
5295 break;}
5296 case 324:
5297 #line 1503 "parse.y"
5298 { yyval.ttype = boolean_true_node; ;
5299 break;}
5300 case 325:
5301 #line 1505 "parse.y"
5302 { yyval.ttype = boolean_false_node; ;
5303 break;}
5304 case 327:
5305 #line 1512 "parse.y"
5306 { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
5307 break;}
5308 case 328:
5309 #line 1517 "parse.y"
5310 {
5311 if (! current_function_parms_stored)
5312 store_parm_decls ();
5313 setup_vtbl_ptr ();
5314 /* Always keep the BLOCK node associated with the outermost
5315 pair of curley braces of a function. These are needed
5316 for correct operation of dwarfout.c. */
5317 keep_next_level ();
5318 ;
5319 break;}
5320 case 329:
5321 #line 1530 "parse.y"
5322 { got_object = TREE_TYPE (yyval.ttype); ;
5323 break;}
5324 case 330:
5325 #line 1532 "parse.y"
5326 {
5327 yyval.ttype = build_x_arrow (yyval.ttype);
5328 got_object = TREE_TYPE (yyval.ttype);
5329 ;
5330 break;}
5331 case 331:
5332 #line 1540 "parse.y"
5333 {
5334 resume_momentary (yyvsp[-1].itype);
5335 if (yyvsp[-2].ftype.t && IS_AGGR_TYPE_CODE (TREE_CODE (yyvsp[-2].ftype.t)))
5336 note_got_semicolon (yyvsp[-2].ftype.t);
5337 ;
5338 break;}
5339 case 332:
5340 #line 1546 "parse.y"
5341 {
5342 resume_momentary (yyvsp[-1].itype);
5343 note_list_got_semicolon (yyvsp[-2].ftype.t);
5344 ;
5345 break;}
5346 case 333:
5347 #line 1551 "parse.y"
5348 { resume_momentary (yyvsp[-1].itype); ;
5349 break;}
5350 case 334:
5351 #line 1553 "parse.y"
5352 {
5353 shadow_tag (yyvsp[-1].ftype.t);
5354 note_list_got_semicolon (yyvsp[-1].ftype.t);
5355 ;
5356 break;}
5357 case 335:
5358 #line 1558 "parse.y"
5359 { warning ("empty declaration"); ;
5360 break;}
5361 case 336:
5362 #line 1560 "parse.y"
5363 { pedantic = yyvsp[-1].itype; ;
5364 break;}
5365 case 339:
5366 #line 1574 "parse.y"
5367 { yyval.ttype = make_call_declarator (NULL_TREE, empty_parms (),
5368 NULL_TREE, NULL_TREE); ;
5369 break;}
5370 case 340:
5371 #line 1577 "parse.y"
5372 { yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), NULL_TREE,
5373 NULL_TREE); ;
5374 break;}
5375 case 341:
5376 #line 1584 "parse.y"
5377 { yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
5378 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5379 break;}
5380 case 342:
5381 #line 1587 "parse.y"
5382 { yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
5383 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5384 break;}
5385 case 343:
5386 #line 1590 "parse.y"
5387 { yyval.ftype.t = build_decl_list (get_decl_list (yyvsp[-1].ftype.t), yyvsp[0].ttype);
5388 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5389 break;}
5390 case 344:
5391 #line 1593 "parse.y"
5392 { yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE);
5393 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5394 break;}
5395 case 345:
5396 #line 1596 "parse.y"
5397 { yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE);
5398 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5399 break;}
5400 case 348:
5401 #line 1612 "parse.y"
5402 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ttype);
5403 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5404 break;}
5405 case 349:
5406 #line 1615 "parse.y"
5407 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype);
5408 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5409 break;}
5410 case 350:
5411 #line 1618 "parse.y"
5412 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-2].ftype.t, chainon (yyvsp[-1].ttype, yyvsp[0].ttype));
5413 yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ;
5414 break;}
5415 case 351:
5416 #line 1621 "parse.y"
5417 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ttype));
5418 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5419 break;}
5420 case 352:
5421 #line 1624 "parse.y"
5422 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ttype));
5423 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5424 break;}
5425 case 353:
5426 #line 1627 "parse.y"
5427 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-2].ftype.t,
5428 chainon (yyvsp[-1].ttype, chainon (yyvsp[0].ttype, yyvsp[-3].ttype)));
5429 yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ;
5430 break;}
5431 case 354:
5432 #line 1634 "parse.y"
5433 { if (extra_warnings)
5434 warning ("`%s' is not at beginning of declaration",
5435 IDENTIFIER_POINTER (yyval.ttype));
5436 yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
5437 break;}
5438 case 355:
5439 #line 1639 "parse.y"
5440 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyval.ttype); ;
5441 break;}
5442 case 356:
5443 #line 1641 "parse.y"
5444 { if (extra_warnings)
5445 warning ("`%s' is not at beginning of declaration",
5446 IDENTIFIER_POINTER (yyvsp[0].ttype));
5447 yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
5448 break;}
5449 case 357:
5450 #line 1646 "parse.y"
5451 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
5452 break;}
5453 case 358:
5454 #line 1648 "parse.y"
5455 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ;
5456 break;}
5457 case 359:
5458 #line 1658 "parse.y"
5459 { yyval.ttype = yyvsp[0].ftype.t; TREE_STATIC (yyval.ttype) = 1; ;
5460 break;}
5461 case 360:
5462 #line 1660 "parse.y"
5463 { yyval.ttype = IDENTIFIER_AS_LIST (yyval.ttype); ;
5464 break;}
5465 case 361:
5466 #line 1662 "parse.y"
5467 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype);
5468 TREE_STATIC (yyval.ttype) = 1; ;
5469 break;}
5470 case 362:
5471 #line 1665 "parse.y"
5472 { if (extra_warnings && TREE_STATIC (yyval.ttype))
5473 warning ("`%s' is not at beginning of declaration",
5474 IDENTIFIER_POINTER (yyvsp[0].ttype));
5475 yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype);
5476 TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
5477 break;}
5478 case 363:
5479 #line 1671 "parse.y"
5480 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
5481 break;}
5482 case 364:
5483 #line 1673 "parse.y"
5484 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ;
5485 break;}
5486 case 365:
5487 #line 1684 "parse.y"
5488 { yyval.ftype.t = get_decl_list (yyvsp[0].ftype.t);
5489 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5490 break;}
5491 case 366:
5492 #line 1687 "parse.y"
5493 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ftype.t);
5494 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5495 break;}
5496 case 367:
5497 #line 1690 "parse.y"
5498 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype);
5499 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5500 break;}
5501 case 368:
5502 #line 1693 "parse.y"
5503 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ftype.t));
5504 yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ;
5505 break;}
5506 case 369:
5507 #line 1699 "parse.y"
5508 { yyval.ttype = build_decl_list (NULL_TREE, yyvsp[0].ftype.t); ;
5509 break;}
5510 case 370:
5511 #line 1701 "parse.y"
5512 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ttype); ;
5513 break;}
5514 case 372:
5515 #line 1711 "parse.y"
5516 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5517 break;}
5518 case 373:
5519 #line 1713 "parse.y"
5520 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5521 break;}
5522 case 374:
5523 #line 1715 "parse.y"
5524 { yyval.ftype.t = TREE_TYPE (yyvsp[-1].ttype);
5525 yyval.ftype.new_type_flag = 0; ;
5526 break;}
5527 case 375:
5528 #line 1718 "parse.y"
5529 { yyval.ftype.t = groktypename (yyvsp[-1].ftype.t);
5530 yyval.ftype.new_type_flag = 0; ;
5531 break;}
5532 case 376:
5533 #line 1721 "parse.y"
5534 { tree type = TREE_TYPE (yyvsp[-1].ttype);
5535
5536 yyval.ftype.new_type_flag = 0;
5537 if (IS_AGGR_TYPE (type))
5538 {
5539 sorry ("sigof type specifier");
5540 yyval.ftype.t = type;
5541 }
5542 else
5543 {
5544 error ("`sigof' applied to non-aggregate expression");
5545 yyval.ftype.t = error_mark_node;
5546 }
5547 ;
5548 break;}
5549 case 377:
5550 #line 1736 "parse.y"
5551 { tree type = groktypename (yyvsp[-1].ftype.t);
5552
5553 yyval.ftype.new_type_flag = 0;
5554 if (IS_AGGR_TYPE (type))
5555 {
5556 sorry ("sigof type specifier");
5557 yyval.ftype.t = type;
5558 }
5559 else
5560 {
5561 error("`sigof' applied to non-aggregate type");
5562 yyval.ftype.t = error_mark_node;
5563 }
5564 ;
5565 break;}
5566 case 378:
5567 #line 1756 "parse.y"
5568 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5569 break;}
5570 case 379:
5571 #line 1758 "parse.y"
5572 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5573 break;}
5574 case 387:
5575 #line 1779 "parse.y"
5576 { yyval.ttype = NULL_TREE; ;
5577 break;}
5578 case 388:
5579 #line 1781 "parse.y"
5580 { if (TREE_CHAIN (yyvsp[-1].ttype)) yyvsp[-1].ttype = combine_strings (yyvsp[-1].ttype); yyval.ttype = yyvsp[-1].ttype; ;
5581 break;}
5582 case 389:
5583 #line 1786 "parse.y"
5584 { yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1,
5585 yyvsp[-1].ttype, prefix_attributes); ;
5586 break;}
5587 case 390:
5588 #line 1790 "parse.y"
5589 { cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 1, LOOKUP_ONLYCONVERTING); ;
5590 break;}
5591 case 391:
5592 #line 1792 "parse.y"
5593 { yyval.ttype = start_decl (yyvsp[-2].ttype, current_declspecs, 0,
5594 yyvsp[0].ttype, prefix_attributes);
5595 cp_finish_decl (yyval.ttype, NULL_TREE, yyvsp[-1].ttype, 1, 0); ;
5596 break;}
5597 case 392:
5598 #line 1805 "parse.y"
5599 { yyvsp[0].itype = parse_decl (yyvsp[-3].ttype, yyvsp[-4].ttype,
5600 yyvsp[-1].ttype, 1, &yyval.ttype); ;
5601 break;}
5602 case 393:
5603 #line 1810 "parse.y"
5604 { cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 1,
5605 LOOKUP_ONLYCONVERTING);
5606 yyval.itype = yyvsp[-2].itype; ;
5607 break;}
5608 case 394:
5609 #line 1814 "parse.y"
5610 { tree d;
5611 yyval.itype = parse_decl (yyvsp[-2].ttype, yyvsp[-3].ttype, yyvsp[0].ttype, 0, &d);
5612 cp_finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 1, 0); ;
5613 break;}
5614 case 395:
5615 #line 1821 "parse.y"
5616 { yyval.itype = yyvsp[0].itype; ;
5617 break;}
5618 case 396:
5619 #line 1825 "parse.y"
5620 { yyval.itype = yyvsp[0].itype; ;
5621 break;}
5622 case 397:
5623 #line 1830 "parse.y"
5624 { /* Set things up as initdcl0_innards expects. */
5625 yyval.ttype = yyvsp[-1].ttype;
5626 yyvsp[-1].ttype = NULL_TREE; ;
5627 break;}
5628 case 398:
5629 #line 1834 "parse.y"
5630 {;
5631 break;}
5632 case 399:
5633 #line 1836 "parse.y"
5634 { tree d;
5635 parse_decl(yyvsp[-2].ttype, NULL_TREE, yyvsp[0].ttype, 0, &d);
5636 cp_finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 1, 0); ;
5637 break;}
5638 case 400:
5639 #line 1845 "parse.y"
5640 { yyval.ttype = NULL_TREE; ;
5641 break;}
5642 case 401:
5643 #line 1847 "parse.y"
5644 { yyval.ttype = yyvsp[0].ttype; ;
5645 break;}
5646 case 402:
5647 #line 1852 "parse.y"
5648 { yyval.ttype = yyvsp[0].ttype; ;
5649 break;}
5650 case 403:
5651 #line 1854 "parse.y"
5652 { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ;
5653 break;}
5654 case 404:
5655 #line 1859 "parse.y"
5656 { yyval.ttype = yyvsp[-2].ttype; ;
5657 break;}
5658 case 405:
5659 #line 1864 "parse.y"
5660 { yyval.ttype = yyvsp[0].ttype; ;
5661 break;}
5662 case 406:
5663 #line 1866 "parse.y"
5664 { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
5665 break;}
5666 case 407:
5667 #line 1871 "parse.y"
5668 { yyval.ttype = NULL_TREE; ;
5669 break;}
5670 case 408:
5671 #line 1873 "parse.y"
5672 { yyval.ttype = build_tree_list (yyvsp[0].ttype, NULL_TREE); ;
5673 break;}
5674 case 409:
5675 #line 1875 "parse.y"
5676 { yyval.ttype = build_tree_list (yyvsp[-3].ttype, build_tree_list (NULL_TREE, yyvsp[-1].ttype)); ;
5677 break;}
5678 case 410:
5679 #line 1877 "parse.y"
5680 { yyval.ttype = build_tree_list (yyvsp[-5].ttype, tree_cons (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype)); ;
5681 break;}
5682 case 411:
5683 #line 1879 "parse.y"
5684 { yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5685 break;}
5686 case 416:
5687 #line 1895 "parse.y"
5688 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
5689 break;}
5690 case 417:
5691 #line 1897 "parse.y"
5692 { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
5693 break;}
5694 case 418:
5695 #line 1902 "parse.y"
5696 { yyval.ttype = NULL_TREE; ;
5697 break;}
5698 case 419:
5699 #line 1904 "parse.y"
5700 { yyval.ttype = yyvsp[0].ttype; ;
5701 break;}
5702 case 421:
5703 #line 1912 "parse.y"
5704 { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, NULL_TREE);
5705 TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
5706 break;}
5707 case 422:
5708 #line 1915 "parse.y"
5709 { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-1].ttype));
5710 TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
5711 break;}
5712 case 423:
5713 #line 1918 "parse.y"
5714 { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-2].ttype));
5715 TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
5716 break;}
5717 case 424:
5718 #line 1921 "parse.y"
5719 { yyval.ttype = NULL_TREE; ;
5720 break;}
5721 case 425:
5722 #line 1928 "parse.y"
5723 { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
5724 break;}
5725 case 426:
5726 #line 1930 "parse.y"
5727 { yyval.ttype = expr_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
5728 break;}
5729 case 427:
5730 #line 1933 "parse.y"
5731 { yyval.ttype = build_expr_list (yyvsp[-2].ttype, yyvsp[0].ttype); ;
5732 break;}
5733 case 428:
5734 #line 1935 "parse.y"
5735 { yyval.ttype = build_expr_list (yyval.ttype, yyvsp[0].ttype); ;
5736 break;}
5737 case 429:
5738 #line 1937 "parse.y"
5739 { yyval.ttype = expr_tree_cons (yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype); ;
5740 break;}
5741 case 430:
5742 #line 1942 "parse.y"
5743 { start_function (NULL_TREE, TREE_VALUE (yyvsp[0].ttype),
5744 NULL_TREE, 1);
5745 reinit_parse_for_function (); ;
5746 break;}
5747 case 431:
5748 #line 1948 "parse.y"
5749 {
5750 int nested = (hack_decl_function_context
5751 (current_function_decl) != NULL_TREE);
5752 finish_function (lineno, (int)yyvsp[-1].itype, nested);
5753 process_next_inline (yyvsp[-3].ttype);
5754 ;
5755 break;}
5756 case 432:
5757 #line 1955 "parse.y"
5758 { process_next_inline (yyvsp[-2].ttype); ;
5759 break;}
5760 case 433:
5761 #line 1957 "parse.y"
5762 { process_next_inline (yyvsp[-2].ttype); ;
5763 break;}
5764 case 436:
5765 #line 1969 "parse.y"
5766 { replace_defarg (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
5767 break;}
5768 case 437:
5769 #line 1971 "parse.y"
5770 { replace_defarg (yyvsp[-2].ttype, error_mark_node); ;
5771 break;}
5772 case 439:
5773 #line 1976 "parse.y"
5774 { do_pending_defargs (); ;
5775 break;}
5776 case 440:
5777 #line 1978 "parse.y"
5778 { do_pending_defargs (); ;
5779 break;}
5780 case 441:
5781 #line 1983 "parse.y"
5782 { yyvsp[0].itype = suspend_momentary ();
5783 yyval.ttype = start_enum (yyvsp[-1].ttype); ;
5784 break;}
5785 case 442:
5786 #line 1986 "parse.y"
5787 { yyval.ftype.t = finish_enum (yyvsp[-3].ttype, yyvsp[-2].ttype);
5788 yyval.ftype.new_type_flag = 1;
5789 resume_momentary ((int) yyvsp[-4].itype);
5790 check_for_missing_semicolon (yyvsp[-3].ttype); ;
5791 break;}
5792 case 443:
5793 #line 1991 "parse.y"
5794 { yyval.ftype.t = finish_enum (start_enum (yyvsp[-2].ttype), NULL_TREE);
5795 yyval.ftype.new_type_flag = 1;
5796 check_for_missing_semicolon (yyval.ftype.t); ;
5797 break;}
5798 case 444:
5799 #line 1995 "parse.y"
5800 { yyvsp[0].itype = suspend_momentary ();
5801 yyval.ttype = start_enum (make_anon_name ()); ;
5802 break;}
5803 case 445:
5804 #line 1998 "parse.y"
5805 { yyval.ftype.t = finish_enum (yyvsp[-3].ttype, yyvsp[-2].ttype);
5806 resume_momentary ((int) yyvsp[-5].itype);
5807 check_for_missing_semicolon (yyvsp[-3].ttype);
5808 yyval.ftype.new_type_flag = 1; ;
5809 break;}
5810 case 446:
5811 #line 2003 "parse.y"
5812 { yyval.ftype.t = finish_enum (start_enum (make_anon_name()), NULL_TREE);
5813 yyval.ftype.new_type_flag = 1;
5814 check_for_missing_semicolon (yyval.ftype.t); ;
5815 break;}
5816 case 447:
5817 #line 2007 "parse.y"
5818 { yyval.ftype.t = xref_tag (enum_type_node, yyvsp[0].ttype, NULL_TREE, 1);
5819 yyval.ftype.new_type_flag = 0; ;
5820 break;}
5821 case 448:
5822 #line 2010 "parse.y"
5823 { yyval.ftype.t = xref_tag (enum_type_node, yyvsp[0].ttype, NULL_TREE, 1);
5824 yyval.ftype.new_type_flag = 0; ;
5825 break;}
5826 case 449:
5827 #line 2013 "parse.y"
5828 { yyval.ftype.t = yyvsp[0].ttype;
5829 yyval.ftype.new_type_flag = 0; ;
5830 break;}
5831 case 450:
5832 #line 2018 "parse.y"
5833 {
5834 int semi;
5835
5836 if (yychar == YYEMPTY)
5837 yychar = YYLEX;
5838 semi = yychar == ';';
5839
5840 yyval.ttype = finish_class_definition (yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[0].ttype, semi);
5841 ;
5842 break;}
5843 case 451:
5844 #line 2028 "parse.y"
5845 { finish_default_args (); ;
5846 break;}
5847 case 452:
5848 #line 2030 "parse.y"
5849 { yyval.ftype.t = yyvsp[-3].ttype;
5850 yyval.ftype.new_type_flag = 1;
5851 begin_inline_definitions (); ;
5852 break;}
5853 case 453:
5854 #line 2034 "parse.y"
5855 {
5856 yyval.ftype.new_type_flag = 0;
5857 if (TYPE_BINFO (yyvsp[0].ttype) == NULL_TREE)
5858 {
5859 cp_error ("%T is not a class type", yyvsp[0].ttype);
5860 yyval.ftype.t = error_mark_node;
5861 }
5862 else
5863 {
5864 yyval.ftype.t = yyvsp[0].ttype;
5865 /* struct B: public A; is not accepted by the WP grammar. */
5866 if (TYPE_BINFO_BASETYPES (yyval.ftype.t) && !TYPE_SIZE (yyval.ftype.t)
5867 && ! TYPE_BEING_DEFINED (yyval.ftype.t))
5868 cp_error ("base clause without member specification for `%#T'",
5869 yyval.ftype.t);
5870 }
5871 ;
5872 break;}
5873 case 457:
5874 #line 2061 "parse.y"
5875 { if (pedantic && !in_system_header)
5876 pedwarn ("comma at end of enumerator list"); ;
5877 break;}
5878 case 459:
5879 #line 2068 "parse.y"
5880 { error ("storage class specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
5881 break;}
5882 case 460:
5883 #line 2070 "parse.y"
5884 { error ("type specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
5885 break;}
5886 case 461:
5887 #line 2072 "parse.y"
5888 { error ("type qualifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
5889 break;}
5890 case 462:
5891 #line 2074 "parse.y"
5892 { error ("no body nor ';' separates two class, struct or union declarations"); ;
5893 break;}
5894 case 463:
5895 #line 2079 "parse.y"
5896 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
5897 break;}
5898 case 464:
5899 #line 2084 "parse.y"
5900 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
5901 break;}
5902 case 465:
5903 #line 2089 "parse.y"
5904 {
5905 current_aggr = yyvsp[-2].ttype;
5906 yyval.ttype = handle_class_head (yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
5907 ;
5908 break;}
5909 case 466:
5910 #line 2094 "parse.y"
5911 {
5912 current_aggr = yyvsp[-3].ttype;
5913 yyval.ttype = handle_class_head (yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
5914 ;
5915 break;}
5916 case 467:
5917 #line 2099 "parse.y"
5918 {
5919 current_aggr = yyvsp[-2].ttype;
5920 yyval.ttype = handle_class_head (yyvsp[-2].ttype, NULL_TREE, yyvsp[0].ttype);
5921 ;
5922 break;}
5923 case 468:
5924 #line 2104 "parse.y"
5925 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
5926 break;}
5927 case 469:
5928 #line 2106 "parse.y"
5929 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
5930 break;}
5931 case 470:
5932 #line 2111 "parse.y"
5933 { yyval.ttype = xref_tag (current_aggr, yyvsp[0].ttype, NULL_TREE, 0); ;
5934 break;}
5935 case 471:
5936 #line 2116 "parse.y"
5937 { yyval.ttype = xref_tag (current_aggr, yyvsp[0].ttype, NULL_TREE, 1); ;
5938 break;}
5939 case 472:
5940 #line 2119 "parse.y"
5941 {
5942 yyval.ttype = yyvsp[-1].ttype;
5943 if (yyvsp[0].ttype)
5944 xref_basetypes (current_aggr, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
5945 ;
5946 break;}
5947 case 473:
5948 #line 2125 "parse.y"
5949 {
5950 yyval.ttype = TREE_TYPE (yyvsp[-1].ttype);
5951 if (TREE_INT_CST_LOW (current_aggr) == union_type
5952 && TREE_CODE (yyval.ttype) != UNION_TYPE)
5953 cp_pedwarn ("`union' tag used in declaring `%#T'", yyval.ttype);
5954 else if (TREE_CODE (yyval.ttype) == UNION_TYPE
5955 && TREE_INT_CST_LOW (current_aggr) != union_type)
5956 cp_pedwarn ("non-`union' tag used in declaring `%#T'", yyval.ttype);
5957 if (yyvsp[0].ttype)
5958 {
5959 if (IS_AGGR_TYPE (yyval.ttype) && CLASSTYPE_USE_TEMPLATE (yyval.ttype))
5960 {
5961 if (CLASSTYPE_IMPLICIT_INSTANTIATION (yyval.ttype)
5962 && TYPE_SIZE (yyval.ttype) == NULL_TREE)
5963 {
5964 SET_CLASSTYPE_TEMPLATE_SPECIALIZATION (yyval.ttype);
5965 if (processing_template_decl)
5966 push_template_decl (TYPE_MAIN_DECL (yyval.ttype));
5967 }
5968 else if (CLASSTYPE_TEMPLATE_INSTANTIATION (yyval.ttype))
5969 cp_error ("specialization after instantiation of `%T'", yyval.ttype);
5970 }
5971 xref_basetypes (current_aggr, yyvsp[-1].ttype, yyval.ttype, yyvsp[0].ttype);
5972 }
5973 ;
5974 break;}
5975 case 474:
5976 #line 2154 "parse.y"
5977 { yyval.ttype = xref_tag (yyval.ttype, make_anon_name (), NULL_TREE, 0);
5978 yyungetc ('{', 1); ;
5979 break;}
5980 case 477:
5981 #line 2165 "parse.y"
5982 { yyval.ttype = NULL_TREE; ;
5983 break;}
5984 case 478:
5985 #line 2167 "parse.y"
5986 { yyungetc(':', 1); yyval.ttype = NULL_TREE; ;
5987 break;}
5988 case 479:
5989 #line 2169 "parse.y"
5990 { yyval.ttype = yyvsp[0].ttype; ;
5991 break;}
5992 case 481:
5993 #line 2175 "parse.y"
5994 { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
5995 break;}
5996 case 482:
5997 #line 2180 "parse.y"
5998 {
5999 tree type = TREE_TYPE (yyvsp[0].ttype);
6000 if (! is_aggr_type (type, 1))
6001 yyval.ttype = NULL_TREE;
6002 else if (current_aggr == signature_type_node
6003 && (! type) && (! IS_SIGNATURE (type)))
6004 {
6005 error ("class name not allowed as base signature");
6006 yyval.ttype = NULL_TREE;
6007 }
6008 else if (current_aggr == signature_type_node)
6009 {
6010 sorry ("signature inheritance, base type `%s' ignored",
6011 IDENTIFIER_POINTER (yyval.ttype));
6012 yyval.ttype = build_tree_list (access_public_node, type);
6013 }
6014 else if (type && IS_SIGNATURE (type))
6015 {
6016 error ("signature name not allowed as base class");
6017 yyval.ttype = NULL_TREE;
6018 }
6019 else
6020 yyval.ttype = build_tree_list (access_default_node, type);
6021 ;
6022 break;}
6023 case 483:
6024 #line 2205 "parse.y"
6025 {
6026 tree type = TREE_TYPE (yyvsp[0].ttype);
6027 if (current_aggr == signature_type_node)
6028 error ("access and source specifiers not allowed in signature");
6029 if (! IS_AGGR_TYPE (type))
6030 yyval.ttype = NULL_TREE;
6031 else if (current_aggr == signature_type_node
6032 && (! type) && (! IS_SIGNATURE (type)))
6033 {
6034 error ("class name not allowed as base signature");
6035 yyval.ttype = NULL_TREE;
6036 }
6037 else if (current_aggr == signature_type_node)
6038 {
6039 sorry ("signature inheritance, base type `%s' ignored",
6040 IDENTIFIER_POINTER (yyval.ttype));
6041 yyval.ttype = build_tree_list (access_public_node, type);
6042 }
6043 else if (type && IS_SIGNATURE (type))
6044 {
6045 error ("signature name not allowed as base class");
6046 yyval.ttype = NULL_TREE;
6047 }
6048 else
6049 yyval.ttype = build_tree_list (yyval.ttype, type);
6050 ;
6051 break;}
6052 case 484:
6053 #line 2235 "parse.y"
6054 { yyval.ttype = TYPE_MAIN_DECL (yyvsp[0].ttype); ;
6055 break;}
6056 case 486:
6057 #line 2238 "parse.y"
6058 {
6059 if (current_aggr == signature_type_node)
6060 {
6061 if (IS_AGGR_TYPE (TREE_TYPE (yyvsp[-1].ttype)))
6062 {
6063 sorry ("`sigof' as base signature specifier");
6064 yyval.ttype = TREE_TYPE (yyvsp[-1].ttype);
6065 }
6066 else
6067 {
6068 error ("`sigof' applied to non-aggregate expression");
6069 yyval.ttype = error_mark_node;
6070 }
6071 }
6072 else
6073 {
6074 error ("`sigof' in struct or class declaration");
6075 yyval.ttype = error_mark_node;
6076 }
6077 ;
6078 break;}
6079 case 487:
6080 #line 2259 "parse.y"
6081 {
6082 if (current_aggr == signature_type_node)
6083 {
6084 if (IS_AGGR_TYPE (groktypename (yyvsp[-1].ftype.t)))
6085 {
6086 sorry ("`sigof' as base signature specifier");
6087 yyval.ttype = groktypename (yyvsp[-1].ftype.t);
6088 }
6089 else
6090 {
6091 error ("`sigof' applied to non-aggregate expression");
6092 yyval.ttype = error_mark_node;
6093 }
6094 }
6095 else
6096 {
6097 error ("`sigof' in struct or class declaration");
6098 yyval.ttype = error_mark_node;
6099 }
6100 ;
6101 break;}
6102 case 489:
6103 #line 2284 "parse.y"
6104 { if (yyvsp[-1].ttype != ridpointers[(int)RID_VIRTUAL])
6105 cp_error ("`%D' access", yyvsp[-1].ttype);
6106 yyval.ttype = access_default_virtual_node; ;
6107 break;}
6108 case 490:
6109 #line 2288 "parse.y"
6110 {
6111 if (yyvsp[-2].ttype != access_default_virtual_node)
6112 error ("multiple access specifiers");
6113 else if (yyvsp[-1].ttype == access_public_node)
6114 yyval.ttype = access_public_virtual_node;
6115 else if (yyvsp[-1].ttype == access_protected_node)
6116 yyval.ttype = access_protected_virtual_node;
6117 else /* $2 == access_private_node */
6118 yyval.ttype = access_private_virtual_node;
6119 ;
6120 break;}
6121 case 491:
6122 #line 2299 "parse.y"
6123 { if (yyvsp[-1].ttype != ridpointers[(int)RID_VIRTUAL])
6124 cp_error ("`%D' access", yyvsp[-1].ttype);
6125 else if (yyval.ttype == access_public_node)
6126 yyval.ttype = access_public_virtual_node;
6127 else if (yyval.ttype == access_protected_node)
6128 yyval.ttype = access_protected_virtual_node;
6129 else if (yyval.ttype == access_private_node)
6130 yyval.ttype = access_private_virtual_node;
6131 else
6132 error ("multiple `virtual' specifiers");
6133 ;
6134 break;}
6135 case 492:
6136 #line 2314 "parse.y"
6137 { yyvsp[-1].ttype = begin_class_definition (yyvsp[-1].ttype); ;
6138 break;}
6139 case 493:
6140 #line 2319 "parse.y"
6141 {
6142 yyval.ttype = build_self_reference ();
6143 ;
6144 break;}
6145 case 494:
6146 #line 2326 "parse.y"
6147 { if (yyval.ttype) yyval.ttype = build_tree_list (access_public_node, yyval.ttype); ;
6148 break;}
6149 case 495:
6150 #line 2328 "parse.y"
6151 {
6152 if (current_aggr == signature_type_node)
6153 yyval.ttype = build_tree_list (access_public_node, yyvsp[0].ttype);
6154 else
6155 yyval.ttype = build_tree_list (access_default_node, yyvsp[0].ttype);
6156 if (yyvsp[-1].ttype) yyval.ttype = tree_cons (access_public_node, yyvsp[-1].ttype, yyval.ttype);
6157 ;
6158 break;}
6159 case 496:
6160 #line 2336 "parse.y"
6161 {
6162 tree visspec = yyvsp[-2].ttype;
6163
6164 if (current_aggr == signature_type_node)
6165 {
6166 error ("access specifier not allowed in signature");
6167 visspec = access_public_node;
6168 }
6169 yyval.ttype = chainon (yyval.ttype, build_tree_list (visspec, yyvsp[0].ttype));
6170 ;
6171 break;}
6172 case 497:
6173 #line 2347 "parse.y"
6174 {
6175 if (current_aggr == signature_type_node)
6176 error ("access specifier not allowed in signature");
6177 ;
6178 break;}
6179 case 498:
6180 #line 2357 "parse.y"
6181 { if (yyval.ttype == void_type_node) yyval.ttype = NULL_TREE;
6182 ;
6183 break;}
6184 case 499:
6185 #line 2360 "parse.y"
6186 { /* In pushdecl, we created a reverse list of names
6187 in this binding level. Make sure that the chain
6188 of what we're trying to add isn't the item itself
6189 (which can happen with what pushdecl's doing). */
6190 if (yyvsp[0].ttype != NULL_TREE && yyvsp[0].ttype != void_type_node)
6191 {
6192 if (TREE_CHAIN (yyvsp[0].ttype) != yyval.ttype)
6193 yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype);
6194 else
6195 yyval.ttype = yyvsp[0].ttype;
6196 }
6197 ;
6198 break;}
6199 case 500:
6200 #line 2376 "parse.y"
6201 { ;
6202 break;}
6203 case 501:
6204 #line 2378 "parse.y"
6205 { error ("missing ';' before right brace");
6206 yyungetc ('}', 0); ;
6207 break;}
6208 case 502:
6209 #line 2383 "parse.y"
6210 { yyval.ttype = finish_method (yyval.ttype); ;
6211 break;}
6212 case 503:
6213 #line 2385 "parse.y"
6214 { yyval.ttype = finish_method (yyval.ttype); ;
6215 break;}
6216 case 504:
6217 #line 2387 "parse.y"
6218 { yyval.ttype = finish_method (yyval.ttype); ;
6219 break;}
6220 case 505:
6221 #line 2389 "parse.y"
6222 { yyval.ttype = finish_method (yyval.ttype); ;
6223 break;}
6224 case 506:
6225 #line 2391 "parse.y"
6226 { yyval.ttype = NULL_TREE; ;
6227 break;}
6228 case 507:
6229 #line 2393 "parse.y"
6230 { yyval.ttype = yyvsp[0].ttype;
6231 pedantic = yyvsp[-1].itype; ;
6232 break;}
6233 case 508:
6234 #line 2396 "parse.y"
6235 { yyval.ttype = finish_member_template_decl (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6236 break;}
6237 case 509:
6238 #line 2398 "parse.y"
6239 {
6240 note_list_got_semicolon (yyvsp[-1].ftype.t);
6241 grok_x_components (yyvsp[-1].ftype.t, NULL_TREE);
6242 if (TYPE_CONTEXT (TREE_VALUE (yyvsp[-1].ftype.t)) != current_class_type)
6243 /* The component was in fact a friend
6244 declaration. */
6245 yyvsp[-1].ftype.t = NULL_TREE;
6246 yyval.ttype = finish_member_template_decl (yyvsp[-2].ttype, yyvsp[-1].ftype.t);
6247 ;
6248 break;}
6249 case 510:
6250 #line 2414 "parse.y"
6251 { yyval.ttype = grok_x_components (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6252 break;}
6253 case 511:
6254 #line 2416 "parse.y"
6255 { yyval.ttype = grok_x_components (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6256 break;}
6257 case 512:
6258 #line 2418 "parse.y"
6259 { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
6260 build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
6261 break;}
6262 case 513:
6263 #line 2421 "parse.y"
6264 { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
6265 build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
6266 break;}
6267 case 514:
6268 #line 2424 "parse.y"
6269 { yyval.ttype = grokbitfield (NULL_TREE, NULL_TREE, yyvsp[0].ttype); ;
6270 break;}
6271 case 515:
6272 #line 2426 "parse.y"
6273 { yyval.ttype = NULL_TREE; ;
6274 break;}
6275 case 516:
6276 #line 2437 "parse.y"
6277 { tree specs, attrs;
6278 split_specs_attrs (yyvsp[-4].ttype, &specs, &attrs);
6279 yyval.ttype = grokfield (yyvsp[-3].ttype, specs, yyvsp[0].ttype, yyvsp[-2].ttype,
6280 build_tree_list (yyvsp[-1].ttype, attrs)); ;
6281 break;}
6282 case 517:
6283 #line 2442 "parse.y"
6284 { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
6285 build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
6286 break;}
6287 case 518:
6288 #line 2445 "parse.y"
6289 { yyval.ttype = do_class_using_decl (yyvsp[0].ttype); ;
6290 break;}
6291 case 519:
6292 #line 2451 "parse.y"
6293 { yyval.ttype = NULL_TREE; ;
6294 break;}
6295 case 521:
6296 #line 2454 "parse.y"
6297 {
6298 /* In this context, void_type_node encodes
6299 friends. They have been recorded elsewhere. */
6300 if (yyval.ttype == void_type_node)
6301 yyval.ttype = yyvsp[0].ttype;
6302 else
6303 yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype);
6304 ;
6305 break;}
6306 case 522:
6307 #line 2466 "parse.y"
6308 { yyval.ttype = NULL_TREE; ;
6309 break;}
6310 case 524:
6311 #line 2469 "parse.y"
6312 {
6313 /* In this context, void_type_node encodes
6314 friends. They have been recorded elsewhere. */
6315 if (yyval.ttype == void_type_node)
6316 yyval.ttype = yyvsp[0].ttype;
6317 else
6318 yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype);
6319 ;
6320 break;}
6321 case 529:
6322 #line 2491 "parse.y"
6323 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6324 &prefix_attributes);
6325 yyvsp[-4].ttype = current_declspecs;
6326 yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6327 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6328 break;}
6329 case 530:
6330 #line 2497 "parse.y"
6331 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6332 &prefix_attributes);
6333 yyvsp[-4].ttype = current_declspecs;
6334 yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6335 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6336 break;}
6337 case 531:
6338 #line 2506 "parse.y"
6339 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6340 &prefix_attributes);
6341 yyvsp[-4].ttype = current_declspecs;
6342 yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6343 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6344 break;}
6345 case 532:
6346 #line 2512 "parse.y"
6347 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6348 &prefix_attributes);
6349 yyvsp[-4].ttype = current_declspecs;
6350 yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6351 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6352 break;}
6353 case 533:
6354 #line 2518 "parse.y"
6355 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6356 &prefix_attributes);
6357 yyvsp[-4].ttype = current_declspecs;
6358 yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6359 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6360 break;}
6361 case 534:
6362 #line 2524 "parse.y"
6363 { split_specs_attrs (yyvsp[-3].ttype, &current_declspecs,
6364 &prefix_attributes);
6365 yyvsp[-3].ttype = current_declspecs;
6366 yyval.ttype = grokbitfield (NULL_TREE, current_declspecs, yyvsp[-1].ttype);
6367 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6368 break;}
6369 case 535:
6370 #line 2533 "parse.y"
6371 { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6372 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6373 break;}
6374 case 536:
6375 #line 2536 "parse.y"
6376 { yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6377 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6378 break;}
6379 case 537:
6380 #line 2542 "parse.y"
6381 { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6382 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6383 break;}
6384 case 538:
6385 #line 2545 "parse.y"
6386 { yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6387 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6388 break;}
6389 case 539:
6390 #line 2548 "parse.y"
6391 { yyval.ttype = grokbitfield (NULL_TREE, current_declspecs, yyvsp[-1].ttype);
6392 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6393 break;}
6394 case 541:
6395 #line 2559 "parse.y"
6396 { TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
6397 break;}
6398 case 542:
6399 #line 2564 "parse.y"
6400 { yyval.ttype = build_enumerator (yyval.ttype, NULL_TREE); ;
6401 break;}
6402 case 543:
6403 #line 2566 "parse.y"
6404 { yyval.ttype = build_enumerator (yyval.ttype, yyvsp[0].ttype); ;
6405 break;}
6406 case 544:
6407 #line 2572 "parse.y"
6408 { yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
6409 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
6410 break;}
6411 case 545:
6412 #line 2575 "parse.y"
6413 { yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE);
6414 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
6415 break;}
6416 case 546:
6417 #line 2582 "parse.y"
6418 {
6419 if (pedantic)
6420 pedwarn ("ANSI C++ forbids array dimensions with parenthesized type in new");
6421 yyval.ftype.t = build_parse_node (ARRAY_REF, TREE_VALUE (yyvsp[-4].ftype.t), yyvsp[-1].ttype);
6422 yyval.ftype.t = build_decl_list (TREE_PURPOSE (yyvsp[-4].ftype.t), yyval.ftype.t);
6423 yyval.ftype.new_type_flag = yyvsp[-4].ftype.new_type_flag;
6424 ;
6425 break;}
6426 case 547:
6427 #line 2593 "parse.y"
6428 { yyval.ttype = NULL_TREE; ;
6429 break;}
6430 case 548:
6431 #line 2595 "parse.y"
6432 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
6433 break;}
6434 case 549:
6435 #line 2600 "parse.y"
6436 { yyval.ftype.t = IDENTIFIER_AS_LIST (yyvsp[0].ttype);
6437 yyval.ftype.new_type_flag = 0; ;
6438 break;}
6439 case 550:
6440 #line 2603 "parse.y"
6441 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ftype.t);
6442 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
6443 break;}
6444 case 551:
6445 #line 2612 "parse.y"
6446 { yyval.itype = suspend_momentary (); ;
6447 break;}
6448 case 552:
6449 #line 2617 "parse.y"
6450 { resume_momentary ((int) yyvsp[-1].itype); yyval.ttype = yyvsp[0].ttype; ;
6451 break;}
6452 case 553:
6453 #line 2623 "parse.y"
6454 { resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = yyvsp[-1].ttype; ;
6455 break;}
6456 case 554:
6457 #line 2625 "parse.y"
6458 { resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = yyvsp[-1].ttype; ;
6459 break;}
6460 case 555:
6461 #line 2627 "parse.y"
6462 { resume_momentary ((int) yyvsp[-1].itype); yyval.ttype = empty_parms (); ;
6463 break;}
6464 case 556:
6465 #line 2629 "parse.y"
6466 { resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = NULL_TREE; ;
6467 break;}
6468 case 557:
6469 #line 2636 "parse.y"
6470 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6471 break;}
6472 case 558:
6473 #line 2638 "parse.y"
6474 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6475 break;}
6476 case 559:
6477 #line 2640 "parse.y"
6478 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
6479 break;}
6480 case 560:
6481 #line 2642 "parse.y"
6482 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
6483 break;}
6484 case 561:
6485 #line 2644 "parse.y"
6486 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
6487 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
6488 ;
6489 break;}
6490 case 563:
6491 #line 2652 "parse.y"
6492 {
6493 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6494 {
6495 yyval.ttype = lookup_name (yyvsp[0].ttype, 1);
6496 if (current_class_type
6497 && TYPE_BEING_DEFINED (current_class_type)
6498 && ! IDENTIFIER_CLASS_VALUE (yyvsp[0].ttype))
6499 {
6500 /* Remember that this name has been used in the class
6501 definition, as per [class.scope0] */
6502 pushdecl_class_level (yyval.ttype);
6503 }
6504 }
6505 else
6506 yyval.ttype = yyvsp[0].ttype;
6507 ;
6508 break;}
6509 case 564:
6510 #line 2669 "parse.y"
6511 {
6512 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6513 yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype);
6514 else
6515 yyval.ttype = yyvsp[0].ttype;
6516 got_scope = NULL_TREE;
6517 ;
6518 break;}
6519 case 567:
6520 #line 2682 "parse.y"
6521 { yyval.ttype = yyvsp[0].ttype; ;
6522 break;}
6523 case 568:
6524 #line 2687 "parse.y"
6525 { yyval.ttype = get_type_decl (yyvsp[0].ttype); ;
6526 break;}
6527 case 569:
6528 #line 2692 "parse.y"
6529 { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6530 break;}
6531 case 570:
6532 #line 2694 "parse.y"
6533 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
6534 break;}
6535 case 571:
6536 #line 2696 "parse.y"
6537 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
6538 break;}
6539 case 572:
6540 #line 2698 "parse.y"
6541 { yyval.ttype = yyvsp[-1].ttype; ;
6542 break;}
6543 case 573:
6544 #line 2700 "parse.y"
6545 { push_nested_class (yyvsp[-1].ttype, 3);
6546 yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype);
6547 TREE_COMPLEXITY (yyval.ttype) = current_class_depth; ;
6548 break;}
6549 case 575:
6550 #line 2711 "parse.y"
6551 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6552 break;}
6553 case 576:
6554 #line 2713 "parse.y"
6555 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6556 break;}
6557 case 577:
6558 #line 2715 "parse.y"
6559 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
6560 break;}
6561 case 578:
6562 #line 2717 "parse.y"
6563 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
6564 break;}
6565 case 579:
6566 #line 2719 "parse.y"
6567 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
6568 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
6569 ;
6570 break;}
6571 case 581:
6572 #line 2727 "parse.y"
6573 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6574 break;}
6575 case 582:
6576 #line 2729 "parse.y"
6577 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6578 break;}
6579 case 583:
6580 #line 2731 "parse.y"
6581 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
6582 break;}
6583 case 584:
6584 #line 2733 "parse.y"
6585 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
6586 break;}
6587 case 585:
6588 #line 2735 "parse.y"
6589 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
6590 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
6591 ;
6592 break;}
6593 case 587:
6594 #line 2743 "parse.y"
6595 { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6596 break;}
6597 case 588:
6598 #line 2745 "parse.y"
6599 { yyval.ttype = yyvsp[-1].ttype; ;
6600 break;}
6601 case 589:
6602 #line 2747 "parse.y"
6603 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
6604 break;}
6605 case 590:
6606 #line 2749 "parse.y"
6607 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
6608 break;}
6609 case 591:
6610 #line 2751 "parse.y"
6611 { if (OP0 (yyval.ttype) != current_class_type)
6612 {
6613 push_nested_class (OP0 (yyval.ttype), 3);
6614 TREE_COMPLEXITY (yyval.ttype) = current_class_depth;
6615 }
6616 ;
6617 break;}
6618 case 592:
6619 #line 2758 "parse.y"
6620 { got_scope = NULL_TREE;
6621 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype);
6622 if (yyvsp[-1].ttype != current_class_type)
6623 {
6624 push_nested_class (yyvsp[-1].ttype, 3);
6625 TREE_COMPLEXITY (yyval.ttype) = current_class_depth;
6626 }
6627 ;
6628 break;}
6629 case 593:
6630 #line 2770 "parse.y"
6631 { got_scope = NULL_TREE;
6632 yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ;
6633 break;}
6634 case 594:
6635 #line 2773 "parse.y"
6636 { got_scope = NULL_TREE;
6637 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6638 break;}
6639 case 595:
6640 #line 2779 "parse.y"
6641 { got_scope = NULL_TREE;
6642 yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ;
6643 break;}
6644 case 596:
6645 #line 2782 "parse.y"
6646 { got_scope = NULL_TREE;
6647 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6648 break;}
6649 case 598:
6650 #line 2789 "parse.y"
6651 { yyval.ttype = yyvsp[0].ttype; ;
6652 break;}
6653 case 599:
6654 #line 2794 "parse.y"
6655 { yyval.ttype = build_functional_cast (yyvsp[-3].ftype.t, yyvsp[-1].ttype); ;
6656 break;}
6657 case 600:
6658 #line 2796 "parse.y"
6659 { yyval.ttype = reparse_decl_as_expr (yyvsp[-3].ftype.t, yyvsp[-1].ttype); ;
6660 break;}
6661 case 601:
6662 #line 2798 "parse.y"
6663 { yyval.ttype = reparse_absdcl_as_expr (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6664 break;}
6665 case 606:
6666 #line 2810 "parse.y"
6667 { yyval.ttype = yyvsp[0].ttype; ;
6668 break;}
6669 case 607:
6670 #line 2812 "parse.y"
6671 { got_scope = yyval.ttype = make_typename_type (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
6672 break;}
6673 case 608:
6674 #line 2819 "parse.y"
6675 {
6676 if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE)
6677 {
6678 yyval.ttype = lastiddecl;
6679 /* Remember that this name has been used in the class
6680 definition, as per [class.scope0] */
6681 if (current_class_type
6682 && TYPE_BEING_DEFINED (current_class_type)
6683 && ! IDENTIFIER_CLASS_VALUE (yyvsp[-1].ttype))
6684 pushdecl_class_level (yyval.ttype);
6685 }
6686 got_scope = yyval.ttype = TREE_TYPE (yyval.ttype);
6687 ;
6688 break;}
6689 case 609:
6690 #line 2833 "parse.y"
6691 {
6692 if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE)
6693 yyval.ttype = lastiddecl;
6694 got_scope = yyval.ttype = TREE_TYPE (yyval.ttype);
6695 ;
6696 break;}
6697 case 610:
6698 #line 2839 "parse.y"
6699 {
6700 if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
6701 yyval.ttype = lastiddecl;
6702 got_scope = yyval.ttype;
6703 ;
6704 break;}
6705 case 611:
6706 #line 2845 "parse.y"
6707 { got_scope = yyval.ttype = complete_type (TREE_TYPE (yyvsp[-1].ttype)); ;
6708 break;}
6709 case 613:
6710 #line 2861 "parse.y"
6711 { yyval.ttype = yyvsp[0].ttype; ;
6712 break;}
6713 case 614:
6714 #line 2866 "parse.y"
6715 {
6716 if (TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype)) == 't')
6717 yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype);
6718 else if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6719 cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
6720 else
6721 {
6722 yyval.ttype = yyvsp[0].ttype;
6723 if (TREE_CODE (yyval.ttype) == TYPE_DECL)
6724 yyval.ttype = TREE_TYPE (yyval.ttype);
6725 }
6726 ;
6727 break;}
6728 case 615:
6729 #line 2879 "parse.y"
6730 { yyval.ttype = TREE_TYPE (yyvsp[0].ttype); ;
6731 break;}
6732 case 616:
6733 #line 2881 "parse.y"
6734 { yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6735 break;}
6736 case 617:
6737 #line 2883 "parse.y"
6738 { yyval.ttype = make_typename_type (yyvsp[-2].ttype, yyvsp[0].ttype); ;
6739 break;}
6740 case 618:
6741 #line 2888 "parse.y"
6742 {
6743 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6744 cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
6745 ;
6746 break;}
6747 case 619:
6748 #line 2893 "parse.y"
6749 {
6750 if (TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype)) == 't')
6751 yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype);
6752 else if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6753 cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
6754 else
6755 {
6756 yyval.ttype = yyvsp[0].ttype;
6757 if (TREE_CODE (yyval.ttype) == TYPE_DECL)
6758 yyval.ttype = TREE_TYPE (yyval.ttype);
6759 }
6760 ;
6761 break;}
6762 case 620:
6763 #line 2906 "parse.y"
6764 { got_scope = yyval.ttype = make_typename_type (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
6765 break;}
6766 case 621:
6767 #line 2908 "parse.y"
6768 { got_scope = yyval.ttype = make_typename_type (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
6769 break;}
6770 case 622:
6771 #line 2913 "parse.y"
6772 {
6773 if (TREE_CODE (yyvsp[-1].ttype) != IDENTIFIER_NODE)
6774 yyvsp[-1].ttype = lastiddecl;
6775
6776 /* Retrieve the type for the identifier, which might involve
6777 some computation. */
6778 got_scope = yyval.ttype = complete_type (IDENTIFIER_TYPE_VALUE (yyvsp[-1].ttype));
6779
6780 if (yyval.ttype == error_mark_node)
6781 cp_error ("`%T' is not a class or namespace", yyvsp[-1].ttype);
6782 ;
6783 break;}
6784 case 623:
6785 #line 2925 "parse.y"
6786 {
6787 if (TREE_CODE (yyvsp[-1].ttype) != IDENTIFIER_NODE)
6788 yyval.ttype = lastiddecl;
6789 got_scope = yyval.ttype = complete_type (TREE_TYPE (yyval.ttype));
6790 ;
6791 break;}
6792 case 624:
6793 #line 2931 "parse.y"
6794 { got_scope = yyval.ttype = complete_type (TREE_TYPE (yyval.ttype)); ;
6795 break;}
6796 case 627:
6797 #line 2935 "parse.y"
6798 {
6799 if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
6800 yyval.ttype = lastiddecl;
6801 got_scope = yyval.ttype;
6802 ;
6803 break;}
6804 case 628:
6805 #line 2944 "parse.y"
6806 { yyval.ttype = build_min_nt (TEMPLATE_ID_EXPR, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
6807 break;}
6808 case 629:
6809 #line 2949 "parse.y"
6810 {
6811 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6812 yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype);
6813 else
6814 yyval.ttype = yyvsp[0].ttype;
6815 got_scope = NULL_TREE;
6816 ;
6817 break;}
6818 case 631:
6819 #line 2958 "parse.y"
6820 { yyval.ttype = yyvsp[0].ttype; ;
6821 break;}
6822 case 632:
6823 #line 2963 "parse.y"
6824 { got_scope = NULL_TREE; ;
6825 break;}
6826 case 633:
6827 #line 2965 "parse.y"
6828 { yyval.ttype = yyvsp[-1].ttype; got_scope = NULL_TREE; ;
6829 break;}
6830 case 634:
6831 #line 2972 "parse.y"
6832 { got_scope = void_type_node; ;
6833 break;}
6834 case 635:
6835 #line 2978 "parse.y"
6836 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6837 break;}
6838 case 636:
6839 #line 2980 "parse.y"
6840 { yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ;
6841 break;}
6842 case 637:
6843 #line 2982 "parse.y"
6844 { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6845 break;}
6846 case 638:
6847 #line 2984 "parse.y"
6848 { yyval.ttype = make_reference_declarator (yyvsp[0].ttype, NULL_TREE); ;
6849 break;}
6850 case 639:
6851 #line 2986 "parse.y"
6852 { tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE);
6853 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, arg);
6854 ;
6855 break;}
6856 case 640:
6857 #line 2990 "parse.y"
6858 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
6859 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
6860 ;
6861 break;}
6862 case 642:
6863 #line 2999 "parse.y"
6864 { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
6865 break;}
6866 case 643:
6867 #line 3001 "parse.y"
6868 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
6869 break;}
6870 case 644:
6871 #line 3007 "parse.y"
6872 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6873 break;}
6874 case 645:
6875 #line 3009 "parse.y"
6876 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
6877 break;}
6878 case 646:
6879 #line 3011 "parse.y"
6880 { yyval.ttype = make_pointer_declarator (yyvsp[0].ftype.t, NULL_TREE); ;
6881 break;}
6882 case 647:
6883 #line 3013 "parse.y"
6884 { yyval.ttype = make_pointer_declarator (NULL_TREE, NULL_TREE); ;
6885 break;}
6886 case 648:
6887 #line 3015 "parse.y"
6888 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6889 break;}
6890 case 649:
6891 #line 3017 "parse.y"
6892 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
6893 break;}
6894 case 650:
6895 #line 3019 "parse.y"
6896 { yyval.ttype = make_reference_declarator (yyvsp[0].ftype.t, NULL_TREE); ;
6897 break;}
6898 case 651:
6899 #line 3021 "parse.y"
6900 { yyval.ttype = make_reference_declarator (NULL_TREE, NULL_TREE); ;
6901 break;}
6902 case 652:
6903 #line 3023 "parse.y"
6904 { tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE);
6905 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, arg);
6906 ;
6907 break;}
6908 case 653:
6909 #line 3027 "parse.y"
6910 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
6911 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
6912 ;
6913 break;}
6914 case 655:
6915 #line 3036 "parse.y"
6916 { yyval.ttype = yyvsp[-1].ttype; ;
6917 break;}
6918 case 657:
6919 #line 3040 "parse.y"
6920 { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6921 break;}
6922 case 658:
6923 #line 3042 "parse.y"
6924 { yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
6925 break;}
6926 case 659:
6927 #line 3044 "parse.y"
6928 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
6929 break;}
6930 case 660:
6931 #line 3046 "parse.y"
6932 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
6933 break;}
6934 case 661:
6935 #line 3048 "parse.y"
6936 { yyval.ttype = make_call_declarator (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6937 break;}
6938 case 662:
6939 #line 3050 "parse.y"
6940 { set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6941 break;}
6942 case 663:
6943 #line 3052 "parse.y"
6944 { set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6945 break;}
6946 case 664:
6947 #line 3054 "parse.y"
6948 { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
6949 break;}
6950 case 665:
6951 #line 3056 "parse.y"
6952 { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, NULL_TREE); ;
6953 break;}
6954 case 672:
6955 #line 3079 "parse.y"
6956 { if (pedantic)
6957 pedwarn ("ANSI C++ forbids label declarations"); ;
6958 break;}
6959 case 675:
6960 #line 3090 "parse.y"
6961 { tree link;
6962 for (link = yyvsp[-1].ttype; link; link = TREE_CHAIN (link))
6963 {
6964 tree label = shadow_label (TREE_VALUE (link));
6965 C_DECLARED_LABEL_FLAG (label) = 1;
6966 declare_nonlocal_label (label);
6967 }
6968 ;
6969 break;}
6970 case 676:
6971 #line 3104 "parse.y"
6972 {;
6973 break;}
6974 case 678:
6975 #line 3110 "parse.y"
6976 { yyval.ttype = begin_compound_stmt (0); ;
6977 break;}
6978 case 679:
6979 #line 3112 "parse.y"
6980 { yyval.ttype = finish_compound_stmt (0, yyvsp[-1].ttype); ;
6981 break;}
6982 case 680:
6983 #line 3117 "parse.y"
6984 {
6985 yyval.ttype = begin_if_stmt ();
6986 cond_stmt_keyword = "if";
6987 ;
6988 break;}
6989 case 681:
6990 #line 3122 "parse.y"
6991 { finish_if_stmt_cond (yyvsp[0].ttype, yyvsp[-1].ttype); ;
6992 break;}
6993 case 682:
6994 #line 3124 "parse.y"
6995 { yyval.ttype = finish_then_clause (yyvsp[-3].ttype); ;
6996 break;}
6997 case 684:
6998 #line 3129 "parse.y"
6999 { yyval.ttype = begin_compound_stmt (0); ;
7000 break;}
7001 case 685:
7002 #line 3131 "parse.y"
7003 { yyval.ttype = finish_compound_stmt (0, yyvsp[-1].ttype); ;
7004 break;}
7005 case 686:
7006 #line 3136 "parse.y"
7007 {;
7008 break;}
7009 case 688:
7010 #line 3142 "parse.y"
7011 { finish_stmt (); ;
7012 break;}
7013 case 689:
7014 #line 3144 "parse.y"
7015 { finish_expr_stmt (yyvsp[-1].ttype); ;
7016 break;}
7017 case 690:
7018 #line 3146 "parse.y"
7019 { begin_else_clause (); ;
7020 break;}
7021 case 691:
7022 #line 3148 "parse.y"
7023 {
7024 finish_else_clause (yyvsp[-3].ttype);
7025 finish_if_stmt ();
7026 ;
7027 break;}
7028 case 692:
7029 #line 3153 "parse.y"
7030 { finish_if_stmt (); ;
7031 break;}
7032 case 693:
7033 #line 3155 "parse.y"
7034 {
7035 yyval.ttype = begin_while_stmt ();
7036 cond_stmt_keyword = "while";
7037 ;
7038 break;}
7039 case 694:
7040 #line 3160 "parse.y"
7041 { finish_while_stmt_cond (yyvsp[0].ttype, yyvsp[-1].ttype); ;
7042 break;}
7043 case 695:
7044 #line 3162 "parse.y"
7045 { finish_while_stmt (yyvsp[-3].ttype); ;
7046 break;}
7047 case 696:
7048 #line 3164 "parse.y"
7049 { yyval.ttype = begin_do_stmt (); ;
7050 break;}
7051 case 697:
7052 #line 3166 "parse.y"
7053 {
7054 finish_do_body (yyvsp[-2].ttype);
7055 cond_stmt_keyword = "do";
7056 ;
7057 break;}
7058 case 698:
7059 #line 3171 "parse.y"
7060 { finish_do_stmt (yyvsp[-1].ttype, yyvsp[-5].ttype); ;
7061 break;}
7062 case 699:
7063 #line 3173 "parse.y"
7064 { yyval.ttype = begin_for_stmt (); ;
7065 break;}
7066 case 700:
7067 #line 3175 "parse.y"
7068 { finish_for_init_stmt (yyvsp[-2].ttype); ;
7069 break;}
7070 case 701:
7071 #line 3177 "parse.y"
7072 { finish_for_cond (yyvsp[-1].ttype, yyvsp[-5].ttype); ;
7073 break;}
7074 case 702:
7075 #line 3179 "parse.y"
7076 { finish_for_expr (yyvsp[-1].ttype, yyvsp[-8].ttype); ;
7077 break;}
7078 case 703:
7079 #line 3181 "parse.y"
7080 { finish_for_stmt (yyvsp[-3].ttype, yyvsp[-10].ttype); ;
7081 break;}
7082 case 704:
7083 #line 3183 "parse.y"
7084 { begin_switch_stmt (); ;
7085 break;}
7086 case 705:
7087 #line 3185 "parse.y"
7088 { yyval.ttype = finish_switch_cond (yyvsp[-1].ttype); ;
7089 break;}
7090 case 706:
7091 #line 3187 "parse.y"
7092 { finish_switch_stmt (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
7093 break;}
7094 case 707:
7095 #line 3189 "parse.y"
7096 { finish_case_label (yyvsp[-1].ttype, NULL_TREE); ;
7097 break;}
7098 case 709:
7099 #line 3192 "parse.y"
7100 { finish_case_label (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
7101 break;}
7102 case 711:
7103 #line 3195 "parse.y"
7104 { finish_case_label (NULL_TREE, NULL_TREE); ;
7105 break;}
7106 case 713:
7107 #line 3198 "parse.y"
7108 { finish_break_stmt (); ;
7109 break;}
7110 case 714:
7111 #line 3200 "parse.y"
7112 { finish_continue_stmt (); ;
7113 break;}
7114 case 715:
7115 #line 3202 "parse.y"
7116 { finish_return_stmt (NULL_TREE); ;
7117 break;}
7118 case 716:
7119 #line 3204 "parse.y"
7120 { finish_return_stmt (yyvsp[-1].ttype); ;
7121 break;}
7122 case 717:
7123 #line 3206 "parse.y"
7124 {
7125 finish_asm_stmt (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE,
7126 NULL_TREE);
7127 ;
7128 break;}
7129 case 718:
7130 #line 3212 "parse.y"
7131 {
7132 finish_asm_stmt (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE,
7133 NULL_TREE);
7134 ;
7135 break;}
7136 case 719:
7137 #line 3218 "parse.y"
7138 { finish_asm_stmt (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE); ;
7139 break;}
7140 case 720:
7141 #line 3222 "parse.y"
7142 { finish_asm_stmt (yyvsp[-10].ttype, yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype); ;
7143 break;}
7144 case 721:
7145 #line 3224 "parse.y"
7146 {
7147 if (pedantic)
7148 pedwarn ("ANSI C++ forbids computed gotos");
7149 finish_goto_stmt (yyvsp[-1].ttype);
7150 ;
7151 break;}
7152 case 722:
7153 #line 3230 "parse.y"
7154 { finish_goto_stmt (yyvsp[-1].ttype); ;
7155 break;}
7156 case 723:
7157 #line 3232 "parse.y"
7158 { finish_stmt (); ;
7159 break;}
7160 case 724:
7161 #line 3234 "parse.y"
7162 { error ("label must be followed by statement");
7163 yyungetc ('}', 0);
7164 finish_stmt (); ;
7165 break;}
7166 case 725:
7167 #line 3238 "parse.y"
7168 { finish_stmt (); ;
7169 break;}
7170 case 727:
7171 #line 3244 "parse.y"
7172 {
7173 if (! current_function_parms_stored)
7174 store_parm_decls ();
7175 expand_start_early_try_stmts ();
7176 ;
7177 break;}
7178 case 728:
7179 #line 3250 "parse.y"
7180 {
7181 expand_start_all_catch ();
7182 expand_start_catch (NULL);
7183 ;
7184 break;}
7185 case 729:
7186 #line 3255 "parse.y"
7187 {
7188 int nested = (hack_decl_function_context
7189 (current_function_decl) != NULL_TREE);
7190 expand_end_all_catch ();
7191 expand_end_catch ();
7192 finish_function (lineno, (int)yyvsp[-3].itype, nested);
7193 ;
7194 break;}
7195 case 730:
7196 #line 3266 "parse.y"
7197 { yyval.ttype = begin_try_block (); ;
7198 break;}
7199 case 731:
7200 #line 3268 "parse.y"
7201 { finish_try_block (yyvsp[-1].ttype); ;
7202 break;}
7203 case 732:
7204 #line 3270 "parse.y"
7205 { finish_handler_sequence (yyvsp[-3].ttype); ;
7206 break;}
7207 case 735:
7208 #line 3280 "parse.y"
7209 { yyval.ttype = begin_handler(); ;
7210 break;}
7211 case 736:
7212 #line 3282 "parse.y"
7213 { finish_handler_parms (yyvsp[-1].ttype); ;
7214 break;}
7215 case 737:
7216 #line 3284 "parse.y"
7217 { finish_handler (yyvsp[-3].ttype); ;
7218 break;}
7219 case 740:
7220 #line 3294 "parse.y"
7221 { expand_start_catch_block (NULL_TREE, NULL_TREE); ;
7222 break;}
7223 case 741:
7224 #line 3310 "parse.y"
7225 { check_for_new_type ("inside exception declarations", yyvsp[-1].ftype);
7226 expand_start_catch_block (TREE_PURPOSE (yyvsp[-1].ftype.t),
7227 TREE_VALUE (yyvsp[-1].ftype.t)); ;
7228 break;}
7229 case 742:
7230 #line 3317 "parse.y"
7231 { tree label;
7232 do_label:
7233 label = define_label (input_filename, lineno, yyvsp[-1].ttype);
7234 if (label && ! minimal_parse_mode)
7235 expand_label (label);
7236 ;
7237 break;}
7238 case 743:
7239 #line 3324 "parse.y"
7240 { goto do_label; ;
7241 break;}
7242 case 744:
7243 #line 3326 "parse.y"
7244 { goto do_label; ;
7245 break;}
7246 case 745:
7247 #line 3328 "parse.y"
7248 { goto do_label; ;
7249 break;}
7250 case 746:
7251 #line 3333 "parse.y"
7252 { if (yyvsp[-1].ttype) cplus_expand_expr_stmt (yyvsp[-1].ttype); ;
7253 break;}
7254 case 748:
7255 #line 3336 "parse.y"
7256 { if (pedantic)
7257 pedwarn ("ANSI C++ forbids compound statements inside for initializations");
7258 ;
7259 break;}
7260 case 749:
7261 #line 3345 "parse.y"
7262 { emit_line_note (input_filename, lineno);
7263 yyval.ttype = NULL_TREE; ;
7264 break;}
7265 case 750:
7266 #line 3348 "parse.y"
7267 { emit_line_note (input_filename, lineno); ;
7268 break;}
7269 case 751:
7270 #line 3353 "parse.y"
7271 { yyval.ttype = NULL_TREE; ;
7272 break;}
7273 case 753:
7274 #line 3356 "parse.y"
7275 { yyval.ttype = NULL_TREE; ;
7276 break;}
7277 case 754:
7278 #line 3363 "parse.y"
7279 { yyval.ttype = NULL_TREE; ;
7280 break;}
7281 case 757:
7282 #line 3370 "parse.y"
7283 { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
7284 break;}
7285 case 758:
7286 #line 3375 "parse.y"
7287 { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[-1].ttype); ;
7288 break;}
7289 case 759:
7290 #line 3380 "parse.y"
7291 { yyval.ttype = tree_cons (NULL_TREE, yyval.ttype, NULL_TREE); ;
7292 break;}
7293 case 760:
7294 #line 3382 "parse.y"
7295 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
7296 break;}
7297 case 761:
7298 #line 3393 "parse.y"
7299 {
7300 yyval.ttype = empty_parms();
7301 ;
7302 break;}
7303 case 763:
7304 #line 3398 "parse.y"
7305 { yyval.ttype = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[0].ftype.t), 0);
7306 check_for_new_type ("inside parameter list", yyvsp[0].ftype); ;
7307 break;}
7308 case 764:
7309 #line 3406 "parse.y"
7310 { yyval.ttype = finish_parmlist (yyval.ttype, 0); ;
7311 break;}
7312 case 765:
7313 #line 3408 "parse.y"
7314 { yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 1); ;
7315 break;}
7316 case 766:
7317 #line 3411 "parse.y"
7318 { yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 1); ;
7319 break;}
7320 case 767:
7321 #line 3413 "parse.y"
7322 { yyval.ttype = finish_parmlist (build_tree_list (NULL_TREE,
7323 yyvsp[-1].ftype.t), 1); ;
7324 break;}
7325 case 768:
7326 #line 3416 "parse.y"
7327 { yyval.ttype = finish_parmlist (NULL_TREE, 1); ;
7328 break;}
7329 case 769:
7330 #line 3418 "parse.y"
7331 {
7332 /* This helps us recover from really nasty
7333 parse errors, for example, a missing right
7334 parenthesis. */
7335 yyerror ("possibly missing ')'");
7336 yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 0);
7337 yyungetc (':', 0);
7338 yychar = ')';
7339 ;
7340 break;}
7341 case 770:
7342 #line 3428 "parse.y"
7343 {
7344 /* This helps us recover from really nasty
7345 parse errors, for example, a missing right
7346 parenthesis. */
7347 yyerror ("possibly missing ')'");
7348 yyval.ttype = finish_parmlist (build_tree_list (NULL_TREE,
7349 yyvsp[-1].ftype.t), 0);
7350 yyungetc (':', 0);
7351 yychar = ')';
7352 ;
7353 break;}
7354 case 771:
7355 #line 3443 "parse.y"
7356 { maybe_snarf_defarg (); ;
7357 break;}
7358 case 772:
7359 #line 3445 "parse.y"
7360 { yyval.ttype = yyvsp[0].ttype; ;
7361 break;}
7362 case 775:
7363 #line 3456 "parse.y"
7364 { check_for_new_type ("in a parameter list", yyvsp[0].ftype);
7365 yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ftype.t); ;
7366 break;}
7367 case 776:
7368 #line 3459 "parse.y"
7369 { check_for_new_type ("in a parameter list", yyvsp[-1].ftype);
7370 yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-1].ftype.t); ;
7371 break;}
7372 case 777:
7373 #line 3462 "parse.y"
7374 { check_for_new_type ("in a parameter list", yyvsp[0].ftype);
7375 yyval.ttype = chainon (yyval.ttype, yyvsp[0].ftype.t); ;
7376 break;}
7377 case 778:
7378 #line 3465 "parse.y"
7379 { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
7380 break;}
7381 case 779:
7382 #line 3467 "parse.y"
7383 { yyval.ttype = chainon (yyval.ttype, build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype)); ;
7384 break;}
7385 case 781:
7386 #line 3473 "parse.y"
7387 { check_for_new_type ("in a parameter list", yyvsp[-1].ftype);
7388 yyval.ttype = build_tree_list (NULL_TREE, yyvsp[-1].ftype.t); ;
7389 break;}
7390 case 782:
7391 #line 3483 "parse.y"
7392 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
7393 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag;
7394 yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype); ;
7395 break;}
7396 case 783:
7397 #line 3487 "parse.y"
7398 { yyval.ftype.t = build_tree_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
7399 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
7400 break;}
7401 case 784:
7402 #line 3490 "parse.y"
7403 { yyval.ftype.t = build_tree_list (get_decl_list (yyvsp[-1].ftype.t), yyvsp[0].ttype);
7404 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
7405 break;}
7406 case 785:
7407 #line 3493 "parse.y"
7408 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
7409 yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype);
7410 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
7411 break;}
7412 case 786:
7413 #line 3497 "parse.y"
7414 { tree specs = strip_attrs (yyvsp[0].ftype.t);
7415 yyval.ftype.t = build_tree_list (specs, NULL_TREE);
7416 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
7417 break;}
7418 case 787:
7419 #line 3501 "parse.y"
7420 { tree specs = strip_attrs (yyvsp[-1].ttype);
7421 yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype);
7422 yyval.ftype.new_type_flag = 0; ;
7423 break;}
7424 case 788:
7425 #line 3508 "parse.y"
7426 { yyval.ftype.t = build_tree_list (NULL_TREE, yyvsp[0].ftype.t);
7427 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
7428 break;}
7429 case 789:
7430 #line 3511 "parse.y"
7431 { yyval.ftype.t = build_tree_list (yyvsp[0].ttype, yyvsp[-1].ftype.t);
7432 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
7433 break;}
7434 case 792:
7435 #line 3522 "parse.y"
7436 { see_typename (); ;
7437 break;}
7438 case 793:
7439 #line 3527 "parse.y"
7440 {
7441 error ("type specifier omitted for parameter");
7442 yyval.ttype = build_tree_list (integer_type_node, NULL_TREE);
7443 ;
7444 break;}
7445 case 794:
7446 #line 3532 "parse.y"
7447 {
7448 error ("type specifier omitted for parameter");
7449 if (TREE_CODE (yyval.ttype) == SCOPE_REF
7450 && (TREE_CODE (TREE_OPERAND (yyval.ttype, 0)) == TEMPLATE_TYPE_PARM
7451 || TREE_CODE (TREE_OPERAND (yyval.ttype, 0)) == TEMPLATE_TEMPLATE_PARM))
7452 cp_error (" perhaps you want `typename %E' to make it a type", yyval.ttype);
7453 yyval.ttype = build_tree_list (integer_type_node, yyval.ttype);
7454 ;
7455 break;}
7456 case 795:
7457 #line 3544 "parse.y"
7458 { yyval.ttype = NULL_TREE; ;
7459 break;}
7460 case 796:
7461 #line 3546 "parse.y"
7462 { yyval.ttype = yyvsp[-1].ttype; ;
7463 break;}
7464 case 797:
7465 #line 3548 "parse.y"
7466 { yyval.ttype = build_decl_list (NULL_TREE, NULL_TREE); ;
7467 break;}
7468 case 798:
7469 #line 3553 "parse.y"
7470 { yyval.ttype = build_decl_list (NULL_TREE, groktypename(yyvsp[0].ftype.t)); ;
7471 break;}
7472 case 800:
7473 #line 3559 "parse.y"
7474 {
7475 TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype;
7476 yyval.ttype = yyvsp[0].ttype;
7477 ;
7478 break;}
7479 case 801:
7480 #line 3567 "parse.y"
7481 { yyval.ttype = NULL_TREE; ;
7482 break;}
7483 case 802:
7484 #line 3569 "parse.y"
7485 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
7486 break;}
7487 case 803:
7488 #line 3571 "parse.y"
7489 { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
7490 break;}
7491 case 804:
7492 #line 3573 "parse.y"
7493 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
7494 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
7495 ;
7496 break;}
7497 case 805:
7498 #line 3580 "parse.y"
7499 { got_scope = NULL_TREE; ;
7500 break;}
7501 case 806:
7502 #line 3585 "parse.y"
7503 { yyval.ttype = ansi_opname[MULT_EXPR]; ;
7504 break;}
7505 case 807:
7506 #line 3587 "parse.y"
7507 { yyval.ttype = ansi_opname[TRUNC_DIV_EXPR]; ;
7508 break;}
7509 case 808:
7510 #line 3589 "parse.y"
7511 { yyval.ttype = ansi_opname[TRUNC_MOD_EXPR]; ;
7512 break;}
7513 case 809:
7514 #line 3591 "parse.y"
7515 { yyval.ttype = ansi_opname[PLUS_EXPR]; ;
7516 break;}
7517 case 810:
7518 #line 3593 "parse.y"
7519 { yyval.ttype = ansi_opname[MINUS_EXPR]; ;
7520 break;}
7521 case 811:
7522 #line 3595 "parse.y"
7523 { yyval.ttype = ansi_opname[BIT_AND_EXPR]; ;
7524 break;}
7525 case 812:
7526 #line 3597 "parse.y"
7527 { yyval.ttype = ansi_opname[BIT_IOR_EXPR]; ;
7528 break;}
7529 case 813:
7530 #line 3599 "parse.y"
7531 { yyval.ttype = ansi_opname[BIT_XOR_EXPR]; ;
7532 break;}
7533 case 814:
7534 #line 3601 "parse.y"
7535 { yyval.ttype = ansi_opname[BIT_NOT_EXPR]; ;
7536 break;}
7537 case 815:
7538 #line 3603 "parse.y"
7539 { yyval.ttype = ansi_opname[COMPOUND_EXPR]; ;
7540 break;}
7541 case 816:
7542 #line 3605 "parse.y"
7543 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7544 break;}
7545 case 817:
7546 #line 3607 "parse.y"
7547 { yyval.ttype = ansi_opname[LT_EXPR]; ;
7548 break;}
7549 case 818:
7550 #line 3609 "parse.y"
7551 { yyval.ttype = ansi_opname[GT_EXPR]; ;
7552 break;}
7553 case 819:
7554 #line 3611 "parse.y"
7555 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7556 break;}
7557 case 820:
7558 #line 3613 "parse.y"
7559 { yyval.ttype = ansi_assopname[yyvsp[0].code]; ;
7560 break;}
7561 case 821:
7562 #line 3615 "parse.y"
7563 { yyval.ttype = ansi_opname [MODIFY_EXPR]; ;
7564 break;}
7565 case 822:
7566 #line 3617 "parse.y"
7567 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7568 break;}
7569 case 823:
7570 #line 3619 "parse.y"
7571 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7572 break;}
7573 case 824:
7574 #line 3621 "parse.y"
7575 { yyval.ttype = ansi_opname[POSTINCREMENT_EXPR]; ;
7576 break;}
7577 case 825:
7578 #line 3623 "parse.y"
7579 { yyval.ttype = ansi_opname[PREDECREMENT_EXPR]; ;
7580 break;}
7581 case 826:
7582 #line 3625 "parse.y"
7583 { yyval.ttype = ansi_opname[TRUTH_ANDIF_EXPR]; ;
7584 break;}
7585 case 827:
7586 #line 3627 "parse.y"
7587 { yyval.ttype = ansi_opname[TRUTH_ORIF_EXPR]; ;
7588 break;}
7589 case 828:
7590 #line 3629 "parse.y"
7591 { yyval.ttype = ansi_opname[TRUTH_NOT_EXPR]; ;
7592 break;}
7593 case 829:
7594 #line 3631 "parse.y"
7595 { yyval.ttype = ansi_opname[COND_EXPR]; ;
7596 break;}
7597 case 830:
7598 #line 3633 "parse.y"
7599 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7600 break;}
7601 case 831:
7602 #line 3635 "parse.y"
7603 { yyval.ttype = ansi_opname[COMPONENT_REF]; ;
7604 break;}
7605 case 832:
7606 #line 3637 "parse.y"
7607 { yyval.ttype = ansi_opname[MEMBER_REF]; ;
7608 break;}
7609 case 833:
7610 #line 3639 "parse.y"
7611 { yyval.ttype = ansi_opname[CALL_EXPR]; ;
7612 break;}
7613 case 834:
7614 #line 3641 "parse.y"
7615 { yyval.ttype = ansi_opname[ARRAY_REF]; ;
7616 break;}
7617 case 835:
7618 #line 3643 "parse.y"
7619 { yyval.ttype = ansi_opname[NEW_EXPR]; ;
7620 break;}
7621 case 836:
7622 #line 3645 "parse.y"
7623 { yyval.ttype = ansi_opname[DELETE_EXPR]; ;
7624 break;}
7625 case 837:
7626 #line 3647 "parse.y"
7627 { yyval.ttype = ansi_opname[VEC_NEW_EXPR]; ;
7628 break;}
7629 case 838:
7630 #line 3649 "parse.y"
7631 { yyval.ttype = ansi_opname[VEC_DELETE_EXPR]; ;
7632 break;}
7633 case 839:
7634 #line 3652 "parse.y"
7635 { yyval.ttype = grokoptypename (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7636 break;}
7637 case 840:
7638 #line 3654 "parse.y"
7639 { yyval.ttype = ansi_opname[ERROR_MARK]; ;
7640 break;}
7641 }
7642 /* the action file gets copied in in place of this dollarsign */
7643 #line 498 "/usr/lib/bison.simple"
7644 \f
7645 yyvsp -= yylen;
7646 yyssp -= yylen;
7647 #ifdef YYLSP_NEEDED
7648 yylsp -= yylen;
7649 #endif
7650
7651 #if YYDEBUG != 0
7652 if (yydebug)
7653 {
7654 short *ssp1 = yyss - 1;
7655 fprintf (stderr, "state stack now");
7656 while (ssp1 != yyssp)
7657 fprintf (stderr, " %d", *++ssp1);
7658 fprintf (stderr, "\n");
7659 }
7660 #endif
7661
7662 *++yyvsp = yyval;
7663
7664 #ifdef YYLSP_NEEDED
7665 yylsp++;
7666 if (yylen == 0)
7667 {
7668 yylsp->first_line = yylloc.first_line;
7669 yylsp->first_column = yylloc.first_column;
7670 yylsp->last_line = (yylsp-1)->last_line;
7671 yylsp->last_column = (yylsp-1)->last_column;
7672 yylsp->text = 0;
7673 }
7674 else
7675 {
7676 yylsp->last_line = (yylsp+yylen-1)->last_line;
7677 yylsp->last_column = (yylsp+yylen-1)->last_column;
7678 }
7679 #endif
7680
7681 /* Now "shift" the result of the reduction.
7682 Determine what state that goes to,
7683 based on the state we popped back to
7684 and the rule number reduced by. */
7685
7686 yyn = yyr1[yyn];
7687
7688 yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
7689 if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
7690 yystate = yytable[yystate];
7691 else
7692 yystate = yydefgoto[yyn - YYNTBASE];
7693
7694 goto yynewstate;
7695
7696 yyerrlab: /* here on detecting error */
7697
7698 if (! yyerrstatus)
7699 /* If not already recovering from an error, report this error. */
7700 {
7701 ++yynerrs;
7702
7703 #ifdef YYERROR_VERBOSE
7704 yyn = yypact[yystate];
7705
7706 if (yyn > YYFLAG && yyn < YYLAST)
7707 {
7708 int size = 0;
7709 char *msg;
7710 int x, count;
7711
7712 count = 0;
7713 /* Start X at -yyn if nec to avoid negative indexes in yycheck. */
7714 for (x = (yyn < 0 ? -yyn : 0);
7715 x < (sizeof(yytname) / sizeof(char *)); x++)
7716 if (yycheck[x + yyn] == x)
7717 size += strlen(yytname[x]) + 15, count++;
7718 msg = (char *) malloc(size + 15);
7719 if (msg != 0)
7720 {
7721 strcpy(msg, "parse error");
7722
7723 if (count < 5)
7724 {
7725 count = 0;
7726 for (x = (yyn < 0 ? -yyn : 0);
7727 x < (sizeof(yytname) / sizeof(char *)); x++)
7728 if (yycheck[x + yyn] == x)
7729 {
7730 strcat(msg, count == 0 ? ", expecting `" : " or `");
7731 strcat(msg, yytname[x]);
7732 strcat(msg, "'");
7733 count++;
7734 }
7735 }
7736 yyerror(msg);
7737 free(msg);
7738 }
7739 else
7740 yyerror ("parse error; also virtual memory exceeded");
7741 }
7742 else
7743 #endif /* YYERROR_VERBOSE */
7744 yyerror("parse error");
7745 }
7746
7747 goto yyerrlab1;
7748 yyerrlab1: /* here on error raised explicitly by an action */
7749
7750 if (yyerrstatus == 3)
7751 {
7752 /* if just tried and failed to reuse lookahead token after an error, discard it. */
7753
7754 /* return failure if at end of input */
7755 if (yychar == YYEOF)
7756 YYABORT;
7757
7758 #if YYDEBUG != 0
7759 if (yydebug)
7760 fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
7761 #endif
7762
7763 yychar = YYEMPTY;
7764 }
7765
7766 /* Else will try to reuse lookahead token
7767 after shifting the error token. */
7768
7769 yyerrstatus = 3; /* Each real token shifted decrements this */
7770
7771 goto yyerrhandle;
7772
7773 yyerrdefault: /* current state does not do anything special for the error token. */
7774
7775 #if 0
7776 /* This is wrong; only states that explicitly want error tokens
7777 should shift them. */
7778 yyn = yydefact[yystate]; /* If its default is to accept any token, ok. Otherwise pop it.*/
7779 if (yyn) goto yydefault;
7780 #endif
7781
7782 yyerrpop: /* pop the current state because it cannot handle the error token */
7783
7784 if (yyssp == yyss) YYABORT;
7785 yyvsp--;
7786 yystate = *--yyssp;
7787 #ifdef YYLSP_NEEDED
7788 yylsp--;
7789 #endif
7790
7791 #if YYDEBUG != 0
7792 if (yydebug)
7793 {
7794 short *ssp1 = yyss - 1;
7795 fprintf (stderr, "Error: state stack now");
7796 while (ssp1 != yyssp)
7797 fprintf (stderr, " %d", *++ssp1);
7798 fprintf (stderr, "\n");
7799 }
7800 #endif
7801
7802 yyerrhandle:
7803
7804 yyn = yypact[yystate];
7805 if (yyn == YYFLAG)
7806 goto yyerrdefault;
7807
7808 yyn += YYTERROR;
7809 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
7810 goto yyerrdefault;
7811
7812 yyn = yytable[yyn];
7813 if (yyn < 0)
7814 {
7815 if (yyn == YYFLAG)
7816 goto yyerrpop;
7817 yyn = -yyn;
7818 goto yyreduce;
7819 }
7820 else if (yyn == 0)
7821 goto yyerrpop;
7822
7823 if (yyn == YYFINAL)
7824 YYACCEPT;
7825
7826 #if YYDEBUG != 0
7827 if (yydebug)
7828 fprintf(stderr, "Shifting error token, ");
7829 #endif
7830
7831 *++yyvsp = yylval;
7832 #ifdef YYLSP_NEEDED
7833 *++yylsp = yylloc;
7834 #endif
7835
7836 yystate = yyn;
7837 goto yynewstate;
7838 }
7839 #line 3657 "parse.y"
7840
7841
7842 #ifdef SPEW_DEBUG
7843 const char *
7844 debug_yytranslate (value)
7845 int value;
7846 {
7847 return yytname[YYTRANSLATE (value)];
7848 }
7849
7850 #endif