class.c (delete_duplicate_fields_1): Use DECL_DECLARES_TYPE_P to look for type declar...
[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 92 "parse.y"
156 typedef union {long itype; tree ttype; char *strtype; enum tree_code code; flagged_type_tree ftype; } YYSTYPE;
157 #line 281 "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 329, 331, 339, 342, 343, 347, 349, 352, 357, 361,
627 367, 371, 374, 378, 381, 383, 385, 388, 390, 393,
628 396, 398, 400, 402, 404, 406, 408, 417, 421, 424,
629 426, 430, 432, 433, 435, 439, 442, 448, 451, 453,
630 458, 461, 465, 468, 471, 474, 478, 483, 493, 495,
631 497, 499, 501, 514, 523, 533, 535, 537, 541, 543,
632 544, 551, 552, 553, 556, 559, 563, 565, 566, 569,
633 571, 574, 577, 579, 583, 586, 588, 592, 594, 596,
634 600, 602, 604, 608, 610, 612, 618, 622, 625, 628,
635 631, 636, 639, 641, 643, 649, 659, 661, 664, 667,
636 669, 672, 676, 685, 688, 690, 694, 707, 727, 730,
637 732, 733, 736, 743, 749, 751, 753, 755, 757, 760,
638 765, 767, 768, 769, 770, 773, 775, 776, 779, 781,
639 782, 785, 790, 790, 794, 794, 797, 797, 800, 800,
640 804, 804, 809, 809, 812, 812, 815, 817, 820, 827,
641 834, 840, 843, 852, 854, 862, 865, 868, 871, 875,
642 878, 881, 884, 886, 888, 890, 894, 897, 900, 905,
643 909, 914, 918, 921, 923, 927, 946, 953, 956, 958,
644 959, 960, 963, 967, 968, 972, 976, 979, 981, 985,
645 988, 991, 995, 998, 1000, 1002, 1004, 1007, 1011, 1013,
646 1015, 1017, 1023, 1026, 1029, 1032, 1044, 1049, 1053, 1057,
647 1062, 1064, 1068, 1072, 1074, 1083, 1087, 1090, 1093, 1098,
648 1101, 1103, 1111, 1124, 1129, 1135, 1137, 1139, 1152, 1155,
649 1157, 1159, 1161, 1163, 1165, 1167, 1169, 1171, 1173, 1175,
650 1177, 1179, 1181, 1183, 1185, 1187, 1189, 1191, 1193, 1195,
651 1199, 1201, 1203, 1220, 1223, 1224, 1225, 1226, 1227, 1230,
652 1233, 1236, 1240, 1243, 1245, 1250, 1252, 1253, 1256, 1258,
653 1260, 1262, 1266, 1269, 1273, 1275, 1276, 1277, 1281, 1289,
654 1290, 1291, 1299, 1301, 1304, 1306, 1316, 1318, 1320, 1322,
655 1324, 1326, 1329, 1331, 1375, 1376, 1380, 1384, 1388, 1392,
656 1394, 1398, 1400, 1402, 1410, 1412, 1414, 1416, 1420, 1422,
657 1424, 1426, 1431, 1433, 1435, 1437, 1440, 1442, 1444, 1488,
658 1491, 1495, 1498, 1502, 1505, 1510, 1512, 1516, 1529, 1532,
659 1539, 1546, 1551, 1553, 1558, 1560, 1567, 1569, 1573, 1577,
660 1583, 1587, 1590, 1593, 1596, 1606, 1608, 1611, 1615, 1618,
661 1621, 1624, 1627, 1633, 1639, 1641, 1646, 1648, 1657, 1660,
662 1662, 1665, 1671, 1673, 1683, 1687, 1690, 1693, 1698, 1701,
663 1709, 1711, 1713, 1715, 1718, 1721, 1736, 1755, 1758, 1760,
664 1763, 1765, 1768, 1770, 1773, 1775, 1778, 1781, 1785, 1791,
665 1792, 1804, 1811, 1814, 1820, 1824, 1829, 1835, 1836, 1844,
666 1847, 1851, 1854, 1858, 1863, 1866, 1870, 1873, 1875, 1877,
667 1879, 1886, 1888, 1889, 1890, 1894, 1897, 1901, 1904, 1910,
668 1912, 1915, 1918, 1921, 1927, 1930, 1933, 1935, 1937, 1941,
669 1947, 1955, 1957, 1961, 1963, 1968, 1971, 1974, 1976, 1978,
670 1982, 1986, 1991, 1995, 1998, 2003, 2007, 2010, 2013, 2017,
671 2029, 2031, 2034, 2054, 2056, 2059, 2061, 2066, 2068, 2070,
672 2072, 2074, 2078, 2083, 2088, 2094, 2099, 2104, 2106, 2110,
673 2115, 2118, 2125, 2153, 2159, 2161, 2164, 2167, 2169, 2173,
674 2175, 2179, 2205, 2234, 2237, 2238, 2259, 2282, 2284, 2288,
675 2299, 2313, 2318, 2325, 2328, 2336, 2347, 2356, 2360, 2375,
676 2378, 2383, 2385, 2387, 2389, 2391, 2393, 2396, 2398, 2402,
677 2408, 2410, 2413, 2416, 2418, 2429, 2434, 2437, 2442, 2445,
678 2446, 2457, 2460, 2461, 2472, 2474, 2477, 2479, 2482, 2489,
679 2497, 2504, 2510, 2516, 2524, 2528, 2533, 2537, 2540, 2549,
680 2551, 2555, 2558, 2563, 2567, 2573, 2584, 2587, 2591, 2595,
681 2603, 2608, 2614, 2617, 2619, 2621, 2627, 2630, 2632, 2634,
682 2636, 2640, 2643, 2661, 2671, 2673, 2674, 2678, 2683, 2686,
683 2688, 2690, 2692, 2696, 2702, 2705, 2707, 2709, 2711, 2715,
684 2718, 2721, 2723, 2725, 2727, 2731, 2734, 2737, 2739, 2741,
685 2743, 2750, 2761, 2765, 2770, 2774, 2779, 2781, 2785, 2788,
686 2790, 2794, 2796, 2797, 2800, 2802, 2804, 2810, 2825, 2831,
687 2837, 2851, 2853, 2857, 2871, 2873, 2875, 2879, 2885, 2898,
688 2900, 2904, 2917, 2923, 2925, 2926, 2927, 2935, 2940, 2949,
689 2950, 2954, 2957, 2963, 2969, 2972, 2974, 2976, 2978, 2982,
690 2986, 2990, 2993, 2998, 3001, 3003, 3005, 3007, 3009, 3011,
691 3013, 3015, 3019, 3023, 3027, 3031, 3032, 3034, 3036, 3038,
692 3040, 3042, 3044, 3046, 3048, 3056, 3058, 3059, 3060, 3063,
693 3069, 3071, 3076, 3078, 3081, 3095, 3098, 3101, 3105, 3108,
694 3115, 3117, 3120, 3122, 3124, 3127, 3130, 3133, 3136, 3138,
695 3141, 3145, 3147, 3153, 3155, 3156, 3158, 3163, 3165, 3167,
696 3169, 3171, 3174, 3175, 3177, 3180, 3181, 3184, 3184, 3187,
697 3187, 3190, 3190, 3192, 3194, 3196, 3198, 3204, 3210, 3213,
698 3216, 3222, 3224, 3226, 3230, 3232, 3235, 3242, 3248, 3257,
699 3261, 3263, 3266, 3268, 3271, 3275, 3277, 3280, 3282, 3285,
700 3302, 3308, 3316, 3318, 3320, 3324, 3327, 3328, 3336, 3340,
701 3344, 3347, 3348, 3354, 3357, 3360, 3362, 3366, 3371, 3374,
702 3384, 3389, 3390, 3397, 3400, 3403, 3405, 3408, 3410, 3420,
703 3434, 3438, 3441, 3443, 3447, 3451, 3454, 3457, 3459, 3463,
704 3465, 3472, 3479, 3482, 3485, 3489, 3493, 3499, 3503, 3508,
705 3510, 3513, 3518, 3524, 3535, 3538, 3540, 3544, 3549, 3551,
706 3558, 3561, 3563, 3565, 3571, 3576, 3579, 3581, 3583, 3585,
707 3587, 3589, 3591, 3593, 3595, 3597, 3599, 3601, 3603, 3605,
708 3607, 3609, 3611, 3613, 3615, 3617, 3619, 3621, 3623, 3625,
709 3627, 3629, 3631, 3633, 3635, 3637, 3639, 3641, 3644, 3646
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 332 "parse.y"
3991 { finish_translation_unit (); ;
3992 break;}
3993 case 3:
3994 #line 340 "parse.y"
3995 { yyval.ttype = NULL_TREE; ;
3996 break;}
3997 case 4:
3998 #line 342 "parse.y"
3999 { yyval.ttype = NULL_TREE; ;
4000 break;}
4001 case 5:
4002 #line 344 "parse.y"
4003 { yyval.ttype = NULL_TREE; ;
4004 break;}
4005 case 8:
4006 #line 353 "parse.y"
4007 { have_extern_spec = 1;
4008 used_extern_spec = 0;
4009 yyval.ttype = NULL_TREE; ;
4010 break;}
4011 case 9:
4012 #line 358 "parse.y"
4013 { have_extern_spec = 0; ;
4014 break;}
4015 case 10:
4016 #line 363 "parse.y"
4017 { yyval.itype = pedantic;
4018 pedantic = 0; ;
4019 break;}
4020 case 12:
4021 #line 372 "parse.y"
4022 { if (pending_lang_change) do_pending_lang_change(); ;
4023 break;}
4024 case 13:
4025 #line 374 "parse.y"
4026 { if (! toplevel_bindings_p () && ! pseudo_global_level_p())
4027 pop_everything (); ;
4028 break;}
4029 case 14:
4030 #line 380 "parse.y"
4031 { if (pending_inlines) do_pending_inlines (); ;
4032 break;}
4033 case 15:
4034 #line 382 "parse.y"
4035 { if (pending_inlines) do_pending_inlines (); ;
4036 break;}
4037 case 16:
4038 #line 384 "parse.y"
4039 { if (pending_inlines) do_pending_inlines (); ;
4040 break;}
4041 case 17:
4042 #line 386 "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 389 "parse.y"
4048 { pop_lang_context (); ;
4049 break;}
4050 case 19:
4051 #line 391 "parse.y"
4052 { if (pending_inlines) do_pending_inlines ();
4053 pop_lang_context (); ;
4054 break;}
4055 case 20:
4056 #line 394 "parse.y"
4057 { if (pending_inlines) do_pending_inlines ();
4058 pop_lang_context (); ;
4059 break;}
4060 case 21:
4061 #line 397 "parse.y"
4062 { push_namespace (yyvsp[-1].ttype); ;
4063 break;}
4064 case 22:
4065 #line 399 "parse.y"
4066 { pop_namespace (); ;
4067 break;}
4068 case 23:
4069 #line 401 "parse.y"
4070 { push_namespace (NULL_TREE); ;
4071 break;}
4072 case 24:
4073 #line 403 "parse.y"
4074 { pop_namespace (); ;
4075 break;}
4076 case 25:
4077 #line 405 "parse.y"
4078 { do_namespace_alias (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
4079 break;}
4080 case 26:
4081 #line 407 "parse.y"
4082 { do_toplevel_using_decl (yyvsp[-1].ttype); ;
4083 break;}
4084 case 27:
4085 #line 409 "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 418 "parse.y"
4097 { pedantic = yyvsp[-1].itype; ;
4098 break;}
4099 case 29:
4100 #line 423 "parse.y"
4101 { yyval.ttype = yyvsp[0].ttype; ;
4102 break;}
4103 case 30:
4104 #line 425 "parse.y"
4105 { yyval.ttype = yyvsp[0].ttype; ;
4106 break;}
4107 case 31:
4108 #line 427 "parse.y"
4109 { yyval.ttype = yyvsp[0].ttype; ;
4110 break;}
4111 case 34:
4112 #line 434 "parse.y"
4113 { yyval.ttype = yyvsp[0].ttype; ;
4114 break;}
4115 case 35:
4116 #line 436 "parse.y"
4117 { yyval.ttype = yyvsp[0].ttype; ;
4118 break;}
4119 case 36:
4120 #line 441 "parse.y"
4121 { push_lang_context (yyvsp[0].ttype); ;
4122 break;}
4123 case 37:
4124 #line 443 "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 450 "parse.y"
4131 { begin_template_parm_list (); ;
4132 break;}
4133 case 39:
4134 #line 452 "parse.y"
4135 { yyval.ttype = end_template_parm_list (yyvsp[-1].ttype); ;
4136 break;}
4137 case 40:
4138 #line 454 "parse.y"
4139 { begin_specialization();
4140 yyval.ttype = NULL_TREE; ;
4141 break;}
4142 case 41:
4143 #line 460 "parse.y"
4144 { yyval.ttype = process_template_parm (NULL_TREE, yyvsp[0].ttype); ;
4145 break;}
4146 case 42:
4147 #line 462 "parse.y"
4148 { yyval.ttype = process_template_parm (yyvsp[-2].ttype, yyvsp[0].ttype); ;
4149 break;}
4150 case 43:
4151 #line 467 "parse.y"
4152 { yyval.ttype = yyvsp[0].ttype; ;
4153 break;}
4154 case 44:
4155 #line 469 "parse.y"
4156 { yyval.ttype = NULL_TREE; ;
4157 break;}
4158 case 45:
4159 #line 473 "parse.y"
4160 { yyval.ttype = finish_template_type_parm (yyvsp[-1].ttype, yyvsp[0].ttype); ;
4161 break;}
4162 case 46:
4163 #line 475 "parse.y"
4164 { yyval.ttype = finish_template_type_parm (class_type_node, yyvsp[0].ttype); ;
4165 break;}
4166 case 47:
4167 #line 480 "parse.y"
4168 { yyval.ttype = finish_template_template_parm (yyvsp[-1].ttype, yyvsp[0].ttype); ;
4169 break;}
4170 case 48:
4171 #line 492 "parse.y"
4172 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
4173 break;}
4174 case 49:
4175 #line 494 "parse.y"
4176 { yyval.ttype = build_tree_list (groktypename (yyvsp[0].ftype.t), yyvsp[-2].ttype); ;
4177 break;}
4178 case 50:
4179 #line 496 "parse.y"
4180 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ftype.t); ;
4181 break;}
4182 case 51:
4183 #line 498 "parse.y"
4184 { yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-2].ftype.t); ;
4185 break;}
4186 case 52:
4187 #line 500 "parse.y"
4188 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
4189 break;}
4190 case 53:
4191 #line 502 "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 517 "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 525 "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 536 "parse.y"
4223 {;
4224 break;}
4225 case 58:
4226 #line 538 "parse.y"
4227 {
4228 note_list_got_semicolon (yyvsp[-2].ftype.t);
4229 ;
4230 break;}
4231 case 59:
4232 #line 542 "parse.y"
4233 { pedwarn ("empty declaration"); ;
4234 break;}
4235 case 61:
4236 #line 545 "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 558 "parse.y"
4246 { yyval.itype = 0; ;
4247 break;}
4248 case 66:
4249 #line 560 "parse.y"
4250 { yyval.itype = 1; ;
4251 break;}
4252 case 72:
4253 #line 576 "parse.y"
4254 { finish_function (lineno, (int)yyvsp[-1].itype, 0); ;
4255 break;}
4256 case 73:
4257 #line 578 "parse.y"
4258 { ;
4259 break;}
4260 case 74:
4261 #line 580 "parse.y"
4262 { ;
4263 break;}
4264 case 75:
4265 #line 585 "parse.y"
4266 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4267 break;}
4268 case 76:
4269 #line 587 "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 589 "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 593 "parse.y"
4280 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4281 break;}
4282 case 79:
4283 #line 595 "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 597 "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 601 "parse.y"
4294 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4295 break;}
4296 case 82:
4297 #line 603 "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 605 "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 609 "parse.y"
4308 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4309 break;}
4310 case 85:
4311 #line 611 "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 613 "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 620 "parse.y"
4322 { if (!begin_function_definition (yyvsp[-1].ftype.t, yyvsp[0].ttype))
4323 YYERROR1; ;
4324 break;}
4325 case 88:
4326 #line 623 "parse.y"
4327 { if (!begin_function_definition (yyvsp[-1].ttype, yyvsp[0].ttype))
4328 YYERROR1; ;
4329 break;}
4330 case 89:
4331 #line 626 "parse.y"
4332 { if (!begin_function_definition (NULL_TREE, yyvsp[0].ttype))
4333 YYERROR1; ;
4334 break;}
4335 case 90:
4336 #line 629 "parse.y"
4337 { if (!begin_function_definition (yyvsp[-1].ttype, yyvsp[0].ttype))
4338 YYERROR1; ;
4339 break;}
4340 case 91:
4341 #line 632 "parse.y"
4342 { if (!begin_function_definition (NULL_TREE, yyvsp[0].ttype))
4343 YYERROR1; ;
4344 break;}
4345 case 92:
4346 #line 638 "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 640 "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 642 "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 644 "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 651 "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 660 "parse.y"
4374 { yyval.ttype = start_method (NULL_TREE, yyvsp[0].ttype); goto rest_of_mdef; ;
4375 break;}
4376 case 98:
4377 #line 662 "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 665 "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 668 "parse.y"
4388 { yyval.ttype = start_method (NULL_TREE, yyval.ttype); goto rest_of_mdef; ;
4389 break;}
4390 case 101:
4391 #line 670 "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 673 "parse.y"
4397 { yyval.ttype = start_method (NULL_TREE, yyval.ttype); goto rest_of_mdef; ;
4398 break;}
4399 case 103:
4400 #line 678 "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 687 "parse.y"
4409 { store_return_init (yyval.ttype, yyvsp[0].ttype); ;
4410 break;}
4411 case 105:
4412 #line 689 "parse.y"
4413 { store_return_init (yyval.ttype, yyvsp[-1].ttype); ;
4414 break;}
4415 case 106:
4416 #line 691 "parse.y"
4417 { store_return_init (yyval.ttype, NULL_TREE); ;
4418 break;}
4419 case 107:
4420 #line 696 "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 709 "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 729 "parse.y"
4452 { yyval.itype = 0; ;
4453 break;}
4454 case 110:
4455 #line 731 "parse.y"
4456 { yyval.itype = 1; ;
4457 break;}
4458 case 113:
4459 #line 738 "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 744 "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 750 "parse.y"
4476 { expand_member_init (current_class_ref, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
4477 break;}
4478 case 116:
4479 #line 752 "parse.y"
4480 { expand_member_init (current_class_ref, yyvsp[-1].ttype, void_type_node); ;
4481 break;}
4482 case 117:
4483 #line 754 "parse.y"
4484 { expand_member_init (current_class_ref, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
4485 break;}
4486 case 118:
4487 #line 756 "parse.y"
4488 { expand_member_init (current_class_ref, yyvsp[-1].ttype, void_type_node); ;
4489 break;}
4490 case 119:
4491 #line 758 "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 761 "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 787 "parse.y"
4502 { do_type_instantiation (yyvsp[-1].ftype.t, NULL_TREE);
4503 yyungetc (';', 1); ;
4504 break;}
4505 case 134:
4506 #line 791 "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 795 "parse.y"
4512 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
4513 break;}
4514 case 138:
4515 #line 798 "parse.y"
4516 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
4517 break;}
4518 case 140:
4519 #line 801 "parse.y"
4520 { do_type_instantiation (yyvsp[-1].ftype.t, yyvsp[-4].ttype);
4521 yyungetc (';', 1); ;
4522 break;}
4523 case 142:
4524 #line 806 "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 810 "parse.y"
4530 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, yyvsp[-3].ttype); ;
4531 break;}
4532 case 146:
4533 #line 813 "parse.y"
4534 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, yyvsp[-3].ttype); ;
4535 break;}
4536 case 148:
4537 #line 818 "parse.y"
4538 { begin_explicit_instantiation(); ;
4539 break;}
4540 case 149:
4541 #line 821 "parse.y"
4542 { end_explicit_instantiation(); ;
4543 break;}
4544 case 150:
4545 #line 829 "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 835 "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 845 "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 855 "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 864 "parse.y"
4578 { yyval.ttype = NULL_TREE; ;
4579 break;}
4580 case 158:
4581 #line 870 "parse.y"
4582 { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
4583 break;}
4584 case 159:
4585 #line 872 "parse.y"
4586 { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
4587 break;}
4588 case 160:
4589 #line 877 "parse.y"
4590 { yyval.ttype = groktypename (yyvsp[0].ftype.t); ;
4591 break;}
4592 case 162:
4593 #line 883 "parse.y"
4594 { yyval.code = NEGATE_EXPR; ;
4595 break;}
4596 case 163:
4597 #line 885 "parse.y"
4598 { yyval.code = CONVERT_EXPR; ;
4599 break;}
4600 case 164:
4601 #line 887 "parse.y"
4602 { yyval.code = PREINCREMENT_EXPR; ;
4603 break;}
4604 case 165:
4605 #line 889 "parse.y"
4606 { yyval.code = PREDECREMENT_EXPR; ;
4607 break;}
4608 case 166:
4609 #line 891 "parse.y"
4610 { yyval.code = TRUTH_NOT_EXPR; ;
4611 break;}
4612 case 167:
4613 #line 896 "parse.y"
4614 { yyval.ttype = build_x_compound_expr (yyval.ttype); ;
4615 break;}
4616 case 169:
4617 #line 902 "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 906 "parse.y"
4624 { yyval.ttype = yyvsp[-1].ttype; ;
4625 break;}
4626 case 171:
4627 #line 911 "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 915 "parse.y"
4634 { yyval.ttype = yyvsp[-1].ttype; ;
4635 break;}
4636 case 173:
4637 #line 920 "parse.y"
4638 { yyval.ttype = NULL_TREE; ;
4639 break;}
4640 case 174:
4641 #line 922 "parse.y"
4642 { yyval.ttype = condition_conversion (yyval.ttype); ;
4643 break;}
4644 case 175:
4645 #line 924 "parse.y"
4646 { yyval.ttype = NULL_TREE; ;
4647 break;}
4648 case 176:
4649 #line 929 "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 946 "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 965 "parse.y"
4679 { yyval.ttype = begin_compound_stmt (1); ;
4680 break;}
4681 case 184:
4682 #line 967 "parse.y"
4683 { finish_compound_stmt (1, yyvsp[-1].ttype); ;
4684 break;}
4685 case 186:
4686 #line 974 "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 977 "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 980 "parse.y"
4697 { chainon (yyval.ttype, build_expr_list (NULL_TREE, yyvsp[0].ttype)); ;
4698 break;}
4699 case 189:
4700 #line 982 "parse.y"
4701 { chainon (yyval.ttype, build_expr_list (NULL_TREE, error_mark_node)); ;
4702 break;}
4703 case 190:
4704 #line 987 "parse.y"
4705 { yyval.ttype = build_expr_list (NULL_TREE, yyval.ttype); ;
4706 break;}
4707 case 192:
4708 #line 993 "parse.y"
4709 { yyval.ttype = yyvsp[0].ttype; ;
4710 break;}
4711 case 193:
4712 #line 996 "parse.y"
4713 { yyval.ttype = yyvsp[0].ttype;
4714 pedantic = yyvsp[-1].itype; ;
4715 break;}
4716 case 194:
4717 #line 999 "parse.y"
4718 { yyval.ttype = build_x_indirect_ref (yyvsp[0].ttype, "unary *"); ;
4719 break;}
4720 case 195:
4721 #line 1001 "parse.y"
4722 { yyval.ttype = build_x_unary_op (ADDR_EXPR, yyvsp[0].ttype); ;
4723 break;}
4724 case 196:
4725 #line 1003 "parse.y"
4726 { yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, yyvsp[0].ttype); ;
4727 break;}
4728 case 197:
4729 #line 1005 "parse.y"
4730 { yyval.ttype = finish_unary_op_expr (yyvsp[-1].code, yyvsp[0].ttype); ;
4731 break;}
4732 case 198:
4733 #line 1008 "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 1012 "parse.y"
4740 { yyval.ttype = expr_sizeof (yyvsp[0].ttype); ;
4741 break;}
4742 case 200:
4743 #line 1014 "parse.y"
4744 { yyval.ttype = c_sizeof (groktypename (yyvsp[-1].ftype.t)); ;
4745 break;}
4746 case 201:
4747 #line 1016 "parse.y"
4748 { yyval.ttype = grok_alignof (yyvsp[0].ttype); ;
4749 break;}
4750 case 202:
4751 #line 1018 "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 1024 "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 1027 "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 1030 "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 1033 "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 1046 "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 1051 "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 1055 "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 1059 "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 1063 "parse.y"
4798 { yyval.ttype = delete_sanity (yyvsp[0].ttype, NULL_TREE, 0, yyvsp[-1].itype); ;
4799 break;}
4800 case 212:
4801 #line 1065 "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 1069 "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 1073 "parse.y"
4814 { yyval.ttype = build_x_unary_op (REALPART_EXPR, yyvsp[0].ttype); ;
4815 break;}
4816 case 215:
4817 #line 1075 "parse.y"
4818 { yyval.ttype = build_x_unary_op (IMAGPART_EXPR, yyvsp[0].ttype); ;
4819 break;}
4820 case 216:
4821 #line 1085 "parse.y"
4822 { finish_new_placement (NULL_TREE, yyvsp[-2].itype); ;
4823 break;}
4824 case 217:
4825 #line 1088 "parse.y"
4826 { yyval.itype = begin_new_placement (); ;
4827 break;}
4828 case 218:
4829 #line 1092 "parse.y"
4830 { yyval.ttype = finish_new_placement (yyvsp[-1].ttype, yyvsp[-2].itype); ;
4831 break;}
4832 case 219:
4833 #line 1094 "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 1100 "parse.y"
4839 { yyval.ttype = yyvsp[-1].ttype; ;
4840 break;}
4841 case 221:
4842 #line 1102 "parse.y"
4843 { yyval.ttype = NULL_TREE; ;
4844 break;}
4845 case 222:
4846 #line 1104 "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 1112 "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 1126 "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 1130 "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 1138 "parse.y"
4878 { yyval.ttype = reparse_absdcl_as_casts (yyval.ttype, yyvsp[0].ttype); ;
4879 break;}
4880 case 228:
4881 #line 1140 "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 1156 "parse.y"
4895 { yyval.ttype = build_x_binary_op (MEMBER_REF, yyval.ttype, yyvsp[0].ttype); ;
4896 break;}
4897 case 231:
4898 #line 1158 "parse.y"
4899 { yyval.ttype = build_m_component_ref (yyval.ttype, yyvsp[0].ttype); ;
4900 break;}
4901 case 232:
4902 #line 1160 "parse.y"
4903 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4904 break;}
4905 case 233:
4906 #line 1162 "parse.y"
4907 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4908 break;}
4909 case 234:
4910 #line 1164 "parse.y"
4911 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4912 break;}
4913 case 235:
4914 #line 1166 "parse.y"
4915 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4916 break;}
4917 case 236:
4918 #line 1168 "parse.y"
4919 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4920 break;}
4921 case 237:
4922 #line 1170 "parse.y"
4923 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4924 break;}
4925 case 238:
4926 #line 1172 "parse.y"
4927 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4928 break;}
4929 case 239:
4930 #line 1174 "parse.y"
4931 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4932 break;}
4933 case 240:
4934 #line 1176 "parse.y"
4935 { yyval.ttype = build_x_binary_op (LT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
4936 break;}
4937 case 241:
4938 #line 1178 "parse.y"
4939 { yyval.ttype = build_x_binary_op (GT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
4940 break;}
4941 case 242:
4942 #line 1180 "parse.y"
4943 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4944 break;}
4945 case 243:
4946 #line 1182 "parse.y"
4947 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4948 break;}
4949 case 244:
4950 #line 1184 "parse.y"
4951 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4952 break;}
4953 case 245:
4954 #line 1186 "parse.y"
4955 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4956 break;}
4957 case 246:
4958 #line 1188 "parse.y"
4959 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4960 break;}
4961 case 247:
4962 #line 1190 "parse.y"
4963 { yyval.ttype = build_x_binary_op (TRUTH_ANDIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
4964 break;}
4965 case 248:
4966 #line 1192 "parse.y"
4967 { yyval.ttype = build_x_binary_op (TRUTH_ORIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
4968 break;}
4969 case 249:
4970 #line 1194 "parse.y"
4971 { yyval.ttype = build_x_conditional_expr (yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
4972 break;}
4973 case 250:
4974 #line 1196 "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 1200 "parse.y"
4981 { yyval.ttype = build_x_modify_expr (yyval.ttype, yyvsp[-1].code, yyvsp[0].ttype); ;
4982 break;}
4983 case 252:
4984 #line 1202 "parse.y"
4985 { yyval.ttype = build_throw (NULL_TREE); ;
4986 break;}
4987 case 253:
4988 #line 1204 "parse.y"
4989 { yyval.ttype = build_throw (yyvsp[0].ttype); ;
4990 break;}
4991 case 254:
4992 #line 1222 "parse.y"
4993 { yyval.ttype = build_parse_node (BIT_NOT_EXPR, yyvsp[0].ttype); ;
4994 break;}
4995 case 260:
4996 #line 1231 "parse.y"
4997 { yyval.ttype = do_identifier (yyvsp[-1].ttype, 1); ;
4998 break;}
4999 case 261:
5000 #line 1235 "parse.y"
5001 { yyval.ttype = lookup_template_function (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
5002 break;}
5003 case 262:
5004 #line 1237 "parse.y"
5005 { yyval.ttype = lookup_template_function (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
5006 break;}
5007 case 263:
5008 #line 1242 "parse.y"
5009 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5010 break;}
5011 case 264:
5012 #line 1244 "parse.y"
5013 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5014 break;}
5015 case 265:
5016 #line 1247 "parse.y"
5017 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5018 break;}
5019 case 270:
5020 #line 1259 "parse.y"
5021 { yyval.ttype = build_parse_node (INDIRECT_REF, yyvsp[0].ttype); ;
5022 break;}
5023 case 271:
5024 #line 1261 "parse.y"
5025 { yyval.ttype = build_parse_node (ADDR_EXPR, yyvsp[0].ttype); ;
5026 break;}
5027 case 272:
5028 #line 1263 "parse.y"
5029 { yyval.ttype = yyvsp[-1].ttype; ;
5030 break;}
5031 case 273:
5032 #line 1268 "parse.y"
5033 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5034 break;}
5035 case 274:
5036 #line 1270 "parse.y"
5037 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5038 break;}
5039 case 278:
5040 #line 1278 "parse.y"
5041 { yyval.ttype = finish_decl_parsing (yyvsp[-1].ttype); ;
5042 break;}
5043 case 279:
5044 #line 1283 "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 1292 "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 1300 "parse.y"
5064 { yyval.ttype = finish_parenthesized_expr (yyvsp[-1].ttype); ;
5065 break;}
5066 case 284:
5067 #line 1302 "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 1305 "parse.y"
5073 { yyval.ttype = error_mark_node; ;
5074 break;}
5075 case 286:
5076 #line 1307 "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 1317 "parse.y"
5089 { yyval.ttype = finish_stmt_expr (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
5090 break;}
5091 case 288:
5092 #line 1319 "parse.y"
5093 { yyval.ttype = finish_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5094 break;}
5095 case 289:
5096 #line 1321 "parse.y"
5097 { yyval.ttype = finish_call_expr (yyvsp[-1].ttype, NULL_TREE); ;
5098 break;}
5099 case 290:
5100 #line 1323 "parse.y"
5101 { yyval.ttype = grok_array_decl (yyval.ttype, yyvsp[-1].ttype); ;
5102 break;}
5103 case 291:
5104 #line 1325 "parse.y"
5105 { yyval.ttype = finish_increment_expr (yyvsp[-1].ttype, POSTINCREMENT_EXPR); ;
5106 break;}
5107 case 292:
5108 #line 1327 "parse.y"
5109 { yyval.ttype = finish_increment_expr (yyvsp[-1].ttype, POSTDECREMENT_EXPR); ;
5110 break;}
5111 case 293:
5112 #line 1330 "parse.y"
5113 { yyval.ttype = finish_this_expr (); ;
5114 break;}
5115 case 294:
5116 #line 1332 "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 1377 "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 1381 "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 1385 "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 1389 "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 1393 "parse.y"
5187 { yyval.ttype = build_x_typeid (yyvsp[-1].ttype); ;
5188 break;}
5189 case 301:
5190 #line 1395 "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 1399 "parse.y"
5197 { yyval.ttype = do_scoped_id (yyvsp[0].ttype, 1); ;
5198 break;}
5199 case 303:
5200 #line 1401 "parse.y"
5201 { yyval.ttype = yyvsp[0].ttype; ;
5202 break;}
5203 case 304:
5204 #line 1403 "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 1411 "parse.y"
5215 { yyval.ttype = build_offset_ref (OP0 (yyval.ttype), OP1 (yyval.ttype)); ;
5216 break;}
5217 case 306:
5218 #line 1413 "parse.y"
5219 { yyval.ttype = finish_globally_qualified_member_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5220 break;}
5221 case 307:
5222 #line 1415 "parse.y"
5223 { yyval.ttype = finish_globally_qualified_member_call_expr (yyvsp[-1].ttype, NULL_TREE); ;
5224 break;}
5225 case 308:
5226 #line 1417 "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 1421 "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 1423 "parse.y"
5237 { yyval.ttype = finish_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ;
5238 break;}
5239 case 311:
5240 #line 1425 "parse.y"
5241 { yyval.ttype = build_x_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1); ;
5242 break;}
5243 case 312:
5244 #line 1427 "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 1432 "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 1434 "parse.y"
5256 { yyval.ttype = finish_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ;
5257 break;}
5258 case 315:
5259 #line 1436 "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 1438 "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 1441 "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 1443 "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 1445 "parse.y"
5276 {
5277 yyval.ttype = error_mark_node;
5278 ;
5279 break;}
5280 case 320:
5281 #line 1490 "parse.y"
5282 { yyval.itype = 0; ;
5283 break;}
5284 case 321:
5285 #line 1492 "parse.y"
5286 { got_scope = NULL_TREE; yyval.itype = 1; ;
5287 break;}
5288 case 322:
5289 #line 1497 "parse.y"
5290 { yyval.itype = 0; ;
5291 break;}
5292 case 323:
5293 #line 1499 "parse.y"
5294 { got_scope = NULL_TREE; yyval.itype = 1; ;
5295 break;}
5296 case 324:
5297 #line 1504 "parse.y"
5298 { yyval.ttype = boolean_true_node; ;
5299 break;}
5300 case 325:
5301 #line 1506 "parse.y"
5302 { yyval.ttype = boolean_false_node; ;
5303 break;}
5304 case 327:
5305 #line 1513 "parse.y"
5306 { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
5307 break;}
5308 case 328:
5309 #line 1518 "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 1531 "parse.y"
5322 { got_object = TREE_TYPE (yyval.ttype); ;
5323 break;}
5324 case 330:
5325 #line 1533 "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 1541 "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 1547 "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 1552 "parse.y"
5348 { resume_momentary (yyvsp[-1].itype); ;
5349 break;}
5350 case 334:
5351 #line 1554 "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 1559 "parse.y"
5359 { warning ("empty declaration"); ;
5360 break;}
5361 case 336:
5362 #line 1561 "parse.y"
5363 { pedantic = yyvsp[-1].itype; ;
5364 break;}
5365 case 339:
5366 #line 1575 "parse.y"
5367 { yyval.ttype = make_call_declarator (NULL_TREE, empty_parms (),
5368 NULL_TREE, NULL_TREE); ;
5369 break;}
5370 case 340:
5371 #line 1578 "parse.y"
5372 { yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), NULL_TREE,
5373 NULL_TREE); ;
5374 break;}
5375 case 341:
5376 #line 1585 "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 1588 "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 1591 "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 1594 "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 1597 "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 1613 "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 1616 "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 1619 "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 1622 "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 1625 "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 1628 "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 1635 "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 1640 "parse.y"
5440 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyval.ttype); ;
5441 break;}
5442 case 356:
5443 #line 1642 "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 1647 "parse.y"
5451 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
5452 break;}
5453 case 358:
5454 #line 1649 "parse.y"
5455 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ;
5456 break;}
5457 case 359:
5458 #line 1659 "parse.y"
5459 { yyval.ttype = yyvsp[0].ftype.t; TREE_STATIC (yyval.ttype) = 1; ;
5460 break;}
5461 case 360:
5462 #line 1661 "parse.y"
5463 { yyval.ttype = IDENTIFIER_AS_LIST (yyval.ttype); ;
5464 break;}
5465 case 361:
5466 #line 1663 "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 1666 "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 1672 "parse.y"
5480 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
5481 break;}
5482 case 364:
5483 #line 1674 "parse.y"
5484 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ;
5485 break;}
5486 case 365:
5487 #line 1685 "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 1688 "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 1691 "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 1694 "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 1700 "parse.y"
5508 { yyval.ttype = build_decl_list (NULL_TREE, yyvsp[0].ftype.t); ;
5509 break;}
5510 case 370:
5511 #line 1702 "parse.y"
5512 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ttype); ;
5513 break;}
5514 case 372:
5515 #line 1712 "parse.y"
5516 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5517 break;}
5518 case 373:
5519 #line 1714 "parse.y"
5520 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5521 break;}
5522 case 374:
5523 #line 1716 "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 1719 "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 1722 "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 1737 "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 1757 "parse.y"
5568 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5569 break;}
5570 case 379:
5571 #line 1759 "parse.y"
5572 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5573 break;}
5574 case 387:
5575 #line 1780 "parse.y"
5576 { yyval.ttype = NULL_TREE; ;
5577 break;}
5578 case 388:
5579 #line 1782 "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 1787 "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 1791 "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 1793 "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 1806 "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 1811 "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 1815 "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 1822 "parse.y"
5616 { yyval.itype = yyvsp[0].itype; ;
5617 break;}
5618 case 396:
5619 #line 1826 "parse.y"
5620 { yyval.itype = yyvsp[0].itype; ;
5621 break;}
5622 case 397:
5623 #line 1831 "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 1835 "parse.y"
5630 {;
5631 break;}
5632 case 399:
5633 #line 1837 "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 1846 "parse.y"
5640 { yyval.ttype = NULL_TREE; ;
5641 break;}
5642 case 401:
5643 #line 1848 "parse.y"
5644 { yyval.ttype = yyvsp[0].ttype; ;
5645 break;}
5646 case 402:
5647 #line 1853 "parse.y"
5648 { yyval.ttype = yyvsp[0].ttype; ;
5649 break;}
5650 case 403:
5651 #line 1855 "parse.y"
5652 { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ;
5653 break;}
5654 case 404:
5655 #line 1860 "parse.y"
5656 { yyval.ttype = yyvsp[-2].ttype; ;
5657 break;}
5658 case 405:
5659 #line 1865 "parse.y"
5660 { yyval.ttype = yyvsp[0].ttype; ;
5661 break;}
5662 case 406:
5663 #line 1867 "parse.y"
5664 { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
5665 break;}
5666 case 407:
5667 #line 1872 "parse.y"
5668 { yyval.ttype = NULL_TREE; ;
5669 break;}
5670 case 408:
5671 #line 1874 "parse.y"
5672 { yyval.ttype = build_tree_list (yyvsp[0].ttype, NULL_TREE); ;
5673 break;}
5674 case 409:
5675 #line 1876 "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 1878 "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 1880 "parse.y"
5684 { yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5685 break;}
5686 case 416:
5687 #line 1896 "parse.y"
5688 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
5689 break;}
5690 case 417:
5691 #line 1898 "parse.y"
5692 { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
5693 break;}
5694 case 418:
5695 #line 1903 "parse.y"
5696 { yyval.ttype = NULL_TREE; ;
5697 break;}
5698 case 419:
5699 #line 1905 "parse.y"
5700 { yyval.ttype = yyvsp[0].ttype; ;
5701 break;}
5702 case 421:
5703 #line 1913 "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 1916 "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 1919 "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 1922 "parse.y"
5719 { yyval.ttype = NULL_TREE; ;
5720 break;}
5721 case 425:
5722 #line 1929 "parse.y"
5723 { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
5724 break;}
5725 case 426:
5726 #line 1931 "parse.y"
5727 { yyval.ttype = expr_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
5728 break;}
5729 case 427:
5730 #line 1934 "parse.y"
5731 { yyval.ttype = build_expr_list (yyvsp[-2].ttype, yyvsp[0].ttype); ;
5732 break;}
5733 case 428:
5734 #line 1936 "parse.y"
5735 { yyval.ttype = build_expr_list (yyval.ttype, yyvsp[0].ttype); ;
5736 break;}
5737 case 429:
5738 #line 1938 "parse.y"
5739 { yyval.ttype = expr_tree_cons (yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype); ;
5740 break;}
5741 case 430:
5742 #line 1943 "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 1949 "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 1956 "parse.y"
5758 { process_next_inline (yyvsp[-2].ttype); ;
5759 break;}
5760 case 433:
5761 #line 1958 "parse.y"
5762 { process_next_inline (yyvsp[-2].ttype); ;
5763 break;}
5764 case 436:
5765 #line 1970 "parse.y"
5766 { replace_defarg (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
5767 break;}
5768 case 437:
5769 #line 1972 "parse.y"
5770 { replace_defarg (yyvsp[-2].ttype, error_mark_node); ;
5771 break;}
5772 case 439:
5773 #line 1977 "parse.y"
5774 { do_pending_defargs (); ;
5775 break;}
5776 case 440:
5777 #line 1979 "parse.y"
5778 { do_pending_defargs (); ;
5779 break;}
5780 case 441:
5781 #line 1984 "parse.y"
5782 { yyvsp[0].itype = suspend_momentary ();
5783 yyval.ttype = start_enum (yyvsp[-1].ttype); ;
5784 break;}
5785 case 442:
5786 #line 1987 "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 1992 "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 1996 "parse.y"
5800 { yyvsp[0].itype = suspend_momentary ();
5801 yyval.ttype = start_enum (make_anon_name ()); ;
5802 break;}
5803 case 445:
5804 #line 1999 "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 2004 "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 2008 "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 2011 "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 2014 "parse.y"
5828 { yyval.ftype.t = yyvsp[0].ttype;
5829 yyval.ftype.new_type_flag = 0; ;
5830 break;}
5831 case 450:
5832 #line 2019 "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 2029 "parse.y"
5845 { finish_default_args (); ;
5846 break;}
5847 case 452:
5848 #line 2031 "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 2035 "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 2062 "parse.y"
5875 { if (pedantic && !in_system_header)
5876 pedwarn ("comma at end of enumerator list"); ;
5877 break;}
5878 case 459:
5879 #line 2069 "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 2071 "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 2073 "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 2075 "parse.y"
5892 { error ("no body nor ';' separates two class, struct or union declarations"); ;
5893 break;}
5894 case 463:
5895 #line 2080 "parse.y"
5896 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
5897 break;}
5898 case 464:
5899 #line 2085 "parse.y"
5900 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
5901 break;}
5902 case 465:
5903 #line 2090 "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 2095 "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 2100 "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 2105 "parse.y"
5925 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
5926 break;}
5927 case 469:
5928 #line 2107 "parse.y"
5929 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
5930 break;}
5931 case 470:
5932 #line 2112 "parse.y"
5933 { yyval.ttype = xref_tag (current_aggr, yyvsp[0].ttype, NULL_TREE, 0); ;
5934 break;}
5935 case 471:
5936 #line 2117 "parse.y"
5937 { yyval.ttype = xref_tag (current_aggr, yyvsp[0].ttype, NULL_TREE, 1); ;
5938 break;}
5939 case 472:
5940 #line 2120 "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 2126 "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 2155 "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 2166 "parse.y"
5982 { yyval.ttype = NULL_TREE; ;
5983 break;}
5984 case 478:
5985 #line 2168 "parse.y"
5986 { yyungetc(':', 1); yyval.ttype = NULL_TREE; ;
5987 break;}
5988 case 479:
5989 #line 2170 "parse.y"
5990 { yyval.ttype = yyvsp[0].ttype; ;
5991 break;}
5992 case 481:
5993 #line 2176 "parse.y"
5994 { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
5995 break;}
5996 case 482:
5997 #line 2181 "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 2206 "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 2236 "parse.y"
6054 { yyval.ttype = TYPE_MAIN_DECL (yyvsp[0].ttype); ;
6055 break;}
6056 case 486:
6057 #line 2239 "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 2260 "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 2285 "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 2289 "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 2300 "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 2315 "parse.y"
6137 { yyvsp[-1].ttype = begin_class_definition (yyvsp[-1].ttype); ;
6138 break;}
6139 case 493:
6140 #line 2320 "parse.y"
6141 {
6142 yyval.ttype = build_self_reference ();
6143 ;
6144 break;}
6145 case 494:
6146 #line 2327 "parse.y"
6147 { if (yyval.ttype) yyval.ttype = build_tree_list (access_public_node, yyval.ttype); ;
6148 break;}
6149 case 495:
6150 #line 2329 "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 2337 "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 2348 "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 2358 "parse.y"
6181 { if (yyval.ttype == void_type_node) yyval.ttype = NULL_TREE;
6182 ;
6183 break;}
6184 case 499:
6185 #line 2361 "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 2377 "parse.y"
6201 { ;
6202 break;}
6203 case 501:
6204 #line 2379 "parse.y"
6205 { error ("missing ';' before right brace");
6206 yyungetc ('}', 0); ;
6207 break;}
6208 case 502:
6209 #line 2384 "parse.y"
6210 { yyval.ttype = finish_method (yyval.ttype); ;
6211 break;}
6212 case 503:
6213 #line 2386 "parse.y"
6214 { yyval.ttype = finish_method (yyval.ttype); ;
6215 break;}
6216 case 504:
6217 #line 2388 "parse.y"
6218 { yyval.ttype = finish_method (yyval.ttype); ;
6219 break;}
6220 case 505:
6221 #line 2390 "parse.y"
6222 { yyval.ttype = finish_method (yyval.ttype); ;
6223 break;}
6224 case 506:
6225 #line 2392 "parse.y"
6226 { yyval.ttype = NULL_TREE; ;
6227 break;}
6228 case 507:
6229 #line 2394 "parse.y"
6230 { yyval.ttype = yyvsp[0].ttype;
6231 pedantic = yyvsp[-1].itype; ;
6232 break;}
6233 case 508:
6234 #line 2397 "parse.y"
6235 { yyval.ttype = finish_member_template_decl (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6236 break;}
6237 case 509:
6238 #line 2399 "parse.y"
6239 { yyval.ttype = finish_member_class_template (yyvsp[-2].ttype, yyvsp[-1].ftype.t); ;
6240 break;}
6241 case 510:
6242 #line 2407 "parse.y"
6243 { yyval.ttype = grok_x_components (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6244 break;}
6245 case 511:
6246 #line 2409 "parse.y"
6247 { yyval.ttype = grok_x_components (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6248 break;}
6249 case 512:
6250 #line 2411 "parse.y"
6251 { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
6252 build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
6253 break;}
6254 case 513:
6255 #line 2414 "parse.y"
6256 { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
6257 build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
6258 break;}
6259 case 514:
6260 #line 2417 "parse.y"
6261 { yyval.ttype = grokbitfield (NULL_TREE, NULL_TREE, yyvsp[0].ttype); ;
6262 break;}
6263 case 515:
6264 #line 2419 "parse.y"
6265 { yyval.ttype = NULL_TREE; ;
6266 break;}
6267 case 516:
6268 #line 2430 "parse.y"
6269 { tree specs, attrs;
6270 split_specs_attrs (yyvsp[-4].ttype, &specs, &attrs);
6271 yyval.ttype = grokfield (yyvsp[-3].ttype, specs, yyvsp[0].ttype, yyvsp[-2].ttype,
6272 build_tree_list (yyvsp[-1].ttype, attrs)); ;
6273 break;}
6274 case 517:
6275 #line 2435 "parse.y"
6276 { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
6277 build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
6278 break;}
6279 case 518:
6280 #line 2438 "parse.y"
6281 { yyval.ttype = do_class_using_decl (yyvsp[0].ttype); ;
6282 break;}
6283 case 519:
6284 #line 2444 "parse.y"
6285 { yyval.ttype = NULL_TREE; ;
6286 break;}
6287 case 521:
6288 #line 2447 "parse.y"
6289 {
6290 /* In this context, void_type_node encodes
6291 friends. They have been recorded elsewhere. */
6292 if (yyval.ttype == void_type_node)
6293 yyval.ttype = yyvsp[0].ttype;
6294 else
6295 yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype);
6296 ;
6297 break;}
6298 case 522:
6299 #line 2459 "parse.y"
6300 { yyval.ttype = NULL_TREE; ;
6301 break;}
6302 case 524:
6303 #line 2462 "parse.y"
6304 {
6305 /* In this context, void_type_node encodes
6306 friends. They have been recorded elsewhere. */
6307 if (yyval.ttype == void_type_node)
6308 yyval.ttype = yyvsp[0].ttype;
6309 else
6310 yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype);
6311 ;
6312 break;}
6313 case 529:
6314 #line 2484 "parse.y"
6315 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6316 &prefix_attributes);
6317 yyvsp[-4].ttype = current_declspecs;
6318 yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6319 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6320 break;}
6321 case 530:
6322 #line 2490 "parse.y"
6323 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6324 &prefix_attributes);
6325 yyvsp[-4].ttype = current_declspecs;
6326 yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6327 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6328 break;}
6329 case 531:
6330 #line 2499 "parse.y"
6331 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6332 &prefix_attributes);
6333 yyvsp[-4].ttype = current_declspecs;
6334 yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6335 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6336 break;}
6337 case 532:
6338 #line 2505 "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 533:
6346 #line 2511 "parse.y"
6347 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6348 &prefix_attributes);
6349 yyvsp[-4].ttype = current_declspecs;
6350 yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6351 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6352 break;}
6353 case 534:
6354 #line 2517 "parse.y"
6355 { split_specs_attrs (yyvsp[-3].ttype, &current_declspecs,
6356 &prefix_attributes);
6357 yyvsp[-3].ttype = current_declspecs;
6358 yyval.ttype = grokbitfield (NULL_TREE, current_declspecs, yyvsp[-1].ttype);
6359 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6360 break;}
6361 case 535:
6362 #line 2526 "parse.y"
6363 { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6364 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6365 break;}
6366 case 536:
6367 #line 2529 "parse.y"
6368 { yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6369 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6370 break;}
6371 case 537:
6372 #line 2535 "parse.y"
6373 { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6374 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6375 break;}
6376 case 538:
6377 #line 2538 "parse.y"
6378 { yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6379 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6380 break;}
6381 case 539:
6382 #line 2541 "parse.y"
6383 { yyval.ttype = grokbitfield (NULL_TREE, current_declspecs, yyvsp[-1].ttype);
6384 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6385 break;}
6386 case 541:
6387 #line 2552 "parse.y"
6388 { TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
6389 break;}
6390 case 542:
6391 #line 2557 "parse.y"
6392 { yyval.ttype = build_enumerator (yyval.ttype, NULL_TREE); ;
6393 break;}
6394 case 543:
6395 #line 2559 "parse.y"
6396 { yyval.ttype = build_enumerator (yyval.ttype, yyvsp[0].ttype); ;
6397 break;}
6398 case 544:
6399 #line 2565 "parse.y"
6400 { yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
6401 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
6402 break;}
6403 case 545:
6404 #line 2568 "parse.y"
6405 { yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE);
6406 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
6407 break;}
6408 case 546:
6409 #line 2575 "parse.y"
6410 {
6411 if (pedantic)
6412 pedwarn ("ANSI C++ forbids array dimensions with parenthesized type in new");
6413 yyval.ftype.t = build_parse_node (ARRAY_REF, TREE_VALUE (yyvsp[-4].ftype.t), yyvsp[-1].ttype);
6414 yyval.ftype.t = build_decl_list (TREE_PURPOSE (yyvsp[-4].ftype.t), yyval.ftype.t);
6415 yyval.ftype.new_type_flag = yyvsp[-4].ftype.new_type_flag;
6416 ;
6417 break;}
6418 case 547:
6419 #line 2586 "parse.y"
6420 { yyval.ttype = NULL_TREE; ;
6421 break;}
6422 case 548:
6423 #line 2588 "parse.y"
6424 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
6425 break;}
6426 case 549:
6427 #line 2593 "parse.y"
6428 { yyval.ftype.t = IDENTIFIER_AS_LIST (yyvsp[0].ttype);
6429 yyval.ftype.new_type_flag = 0; ;
6430 break;}
6431 case 550:
6432 #line 2596 "parse.y"
6433 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ftype.t);
6434 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
6435 break;}
6436 case 551:
6437 #line 2605 "parse.y"
6438 { yyval.itype = suspend_momentary (); ;
6439 break;}
6440 case 552:
6441 #line 2610 "parse.y"
6442 { resume_momentary ((int) yyvsp[-1].itype); yyval.ttype = yyvsp[0].ttype; ;
6443 break;}
6444 case 553:
6445 #line 2616 "parse.y"
6446 { resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = yyvsp[-1].ttype; ;
6447 break;}
6448 case 554:
6449 #line 2618 "parse.y"
6450 { resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = yyvsp[-1].ttype; ;
6451 break;}
6452 case 555:
6453 #line 2620 "parse.y"
6454 { resume_momentary ((int) yyvsp[-1].itype); yyval.ttype = empty_parms (); ;
6455 break;}
6456 case 556:
6457 #line 2622 "parse.y"
6458 { resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = NULL_TREE; ;
6459 break;}
6460 case 557:
6461 #line 2629 "parse.y"
6462 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6463 break;}
6464 case 558:
6465 #line 2631 "parse.y"
6466 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6467 break;}
6468 case 559:
6469 #line 2633 "parse.y"
6470 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
6471 break;}
6472 case 560:
6473 #line 2635 "parse.y"
6474 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
6475 break;}
6476 case 561:
6477 #line 2637 "parse.y"
6478 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
6479 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
6480 ;
6481 break;}
6482 case 563:
6483 #line 2645 "parse.y"
6484 {
6485 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6486 {
6487 yyval.ttype = lookup_name (yyvsp[0].ttype, 1);
6488 if (current_class_type
6489 && TYPE_BEING_DEFINED (current_class_type)
6490 && ! IDENTIFIER_CLASS_VALUE (yyvsp[0].ttype))
6491 {
6492 /* Remember that this name has been used in the class
6493 definition, as per [class.scope0] */
6494 pushdecl_class_level (yyval.ttype);
6495 }
6496 }
6497 else
6498 yyval.ttype = yyvsp[0].ttype;
6499 ;
6500 break;}
6501 case 564:
6502 #line 2662 "parse.y"
6503 {
6504 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6505 yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype);
6506 else
6507 yyval.ttype = yyvsp[0].ttype;
6508 got_scope = NULL_TREE;
6509 ;
6510 break;}
6511 case 567:
6512 #line 2675 "parse.y"
6513 { yyval.ttype = yyvsp[0].ttype; ;
6514 break;}
6515 case 568:
6516 #line 2680 "parse.y"
6517 { yyval.ttype = get_type_decl (yyvsp[0].ttype); ;
6518 break;}
6519 case 569:
6520 #line 2685 "parse.y"
6521 { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6522 break;}
6523 case 570:
6524 #line 2687 "parse.y"
6525 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
6526 break;}
6527 case 571:
6528 #line 2689 "parse.y"
6529 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
6530 break;}
6531 case 572:
6532 #line 2691 "parse.y"
6533 { yyval.ttype = yyvsp[-1].ttype; ;
6534 break;}
6535 case 573:
6536 #line 2693 "parse.y"
6537 { push_nested_class (yyvsp[-1].ttype, 3);
6538 yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype);
6539 TREE_COMPLEXITY (yyval.ttype) = current_class_depth; ;
6540 break;}
6541 case 575:
6542 #line 2704 "parse.y"
6543 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6544 break;}
6545 case 576:
6546 #line 2706 "parse.y"
6547 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6548 break;}
6549 case 577:
6550 #line 2708 "parse.y"
6551 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
6552 break;}
6553 case 578:
6554 #line 2710 "parse.y"
6555 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
6556 break;}
6557 case 579:
6558 #line 2712 "parse.y"
6559 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
6560 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
6561 ;
6562 break;}
6563 case 581:
6564 #line 2720 "parse.y"
6565 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6566 break;}
6567 case 582:
6568 #line 2722 "parse.y"
6569 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6570 break;}
6571 case 583:
6572 #line 2724 "parse.y"
6573 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
6574 break;}
6575 case 584:
6576 #line 2726 "parse.y"
6577 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
6578 break;}
6579 case 585:
6580 #line 2728 "parse.y"
6581 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
6582 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
6583 ;
6584 break;}
6585 case 587:
6586 #line 2736 "parse.y"
6587 { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6588 break;}
6589 case 588:
6590 #line 2738 "parse.y"
6591 { yyval.ttype = yyvsp[-1].ttype; ;
6592 break;}
6593 case 589:
6594 #line 2740 "parse.y"
6595 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
6596 break;}
6597 case 590:
6598 #line 2742 "parse.y"
6599 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
6600 break;}
6601 case 591:
6602 #line 2744 "parse.y"
6603 { if (OP0 (yyval.ttype) != current_class_type)
6604 {
6605 push_nested_class (OP0 (yyval.ttype), 3);
6606 TREE_COMPLEXITY (yyval.ttype) = current_class_depth;
6607 }
6608 ;
6609 break;}
6610 case 592:
6611 #line 2751 "parse.y"
6612 { got_scope = NULL_TREE;
6613 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype);
6614 if (yyvsp[-1].ttype != current_class_type)
6615 {
6616 push_nested_class (yyvsp[-1].ttype, 3);
6617 TREE_COMPLEXITY (yyval.ttype) = current_class_depth;
6618 }
6619 ;
6620 break;}
6621 case 593:
6622 #line 2763 "parse.y"
6623 { got_scope = NULL_TREE;
6624 yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ;
6625 break;}
6626 case 594:
6627 #line 2766 "parse.y"
6628 { got_scope = NULL_TREE;
6629 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6630 break;}
6631 case 595:
6632 #line 2772 "parse.y"
6633 { got_scope = NULL_TREE;
6634 yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ;
6635 break;}
6636 case 596:
6637 #line 2775 "parse.y"
6638 { got_scope = NULL_TREE;
6639 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6640 break;}
6641 case 598:
6642 #line 2782 "parse.y"
6643 { yyval.ttype = yyvsp[0].ttype; ;
6644 break;}
6645 case 599:
6646 #line 2787 "parse.y"
6647 { yyval.ttype = build_functional_cast (yyvsp[-3].ftype.t, yyvsp[-1].ttype); ;
6648 break;}
6649 case 600:
6650 #line 2789 "parse.y"
6651 { yyval.ttype = reparse_decl_as_expr (yyvsp[-3].ftype.t, yyvsp[-1].ttype); ;
6652 break;}
6653 case 601:
6654 #line 2791 "parse.y"
6655 { yyval.ttype = reparse_absdcl_as_expr (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6656 break;}
6657 case 606:
6658 #line 2803 "parse.y"
6659 { yyval.ttype = yyvsp[0].ttype; ;
6660 break;}
6661 case 607:
6662 #line 2805 "parse.y"
6663 { got_scope = yyval.ttype = make_typename_type (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
6664 break;}
6665 case 608:
6666 #line 2812 "parse.y"
6667 {
6668 if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE)
6669 {
6670 yyval.ttype = lastiddecl;
6671 /* Remember that this name has been used in the class
6672 definition, as per [class.scope0] */
6673 if (current_class_type
6674 && TYPE_BEING_DEFINED (current_class_type)
6675 && ! IDENTIFIER_CLASS_VALUE (yyvsp[-1].ttype))
6676 pushdecl_class_level (yyval.ttype);
6677 }
6678 got_scope = yyval.ttype = TREE_TYPE (yyval.ttype);
6679 ;
6680 break;}
6681 case 609:
6682 #line 2826 "parse.y"
6683 {
6684 if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE)
6685 yyval.ttype = lastiddecl;
6686 got_scope = yyval.ttype = TREE_TYPE (yyval.ttype);
6687 ;
6688 break;}
6689 case 610:
6690 #line 2832 "parse.y"
6691 {
6692 if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
6693 yyval.ttype = lastiddecl;
6694 got_scope = yyval.ttype;
6695 ;
6696 break;}
6697 case 611:
6698 #line 2838 "parse.y"
6699 { got_scope = yyval.ttype = complete_type (TREE_TYPE (yyvsp[-1].ttype)); ;
6700 break;}
6701 case 613:
6702 #line 2854 "parse.y"
6703 { yyval.ttype = yyvsp[0].ttype; ;
6704 break;}
6705 case 614:
6706 #line 2859 "parse.y"
6707 {
6708 if (TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype)) == 't')
6709 yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype);
6710 else if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6711 cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
6712 else
6713 {
6714 yyval.ttype = yyvsp[0].ttype;
6715 if (TREE_CODE (yyval.ttype) == TYPE_DECL)
6716 yyval.ttype = TREE_TYPE (yyval.ttype);
6717 }
6718 ;
6719 break;}
6720 case 615:
6721 #line 2872 "parse.y"
6722 { yyval.ttype = TREE_TYPE (yyvsp[0].ttype); ;
6723 break;}
6724 case 616:
6725 #line 2874 "parse.y"
6726 { yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6727 break;}
6728 case 617:
6729 #line 2876 "parse.y"
6730 { yyval.ttype = make_typename_type (yyvsp[-2].ttype, yyvsp[0].ttype); ;
6731 break;}
6732 case 618:
6733 #line 2881 "parse.y"
6734 {
6735 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6736 cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
6737 ;
6738 break;}
6739 case 619:
6740 #line 2886 "parse.y"
6741 {
6742 if (TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype)) == 't')
6743 yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype);
6744 else if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6745 cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
6746 else
6747 {
6748 yyval.ttype = yyvsp[0].ttype;
6749 if (TREE_CODE (yyval.ttype) == TYPE_DECL)
6750 yyval.ttype = TREE_TYPE (yyval.ttype);
6751 }
6752 ;
6753 break;}
6754 case 620:
6755 #line 2899 "parse.y"
6756 { got_scope = yyval.ttype = make_typename_type (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
6757 break;}
6758 case 621:
6759 #line 2901 "parse.y"
6760 { got_scope = yyval.ttype = make_typename_type (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
6761 break;}
6762 case 622:
6763 #line 2906 "parse.y"
6764 {
6765 if (TREE_CODE (yyvsp[-1].ttype) != IDENTIFIER_NODE)
6766 yyvsp[-1].ttype = lastiddecl;
6767
6768 /* Retrieve the type for the identifier, which might involve
6769 some computation. */
6770 got_scope = yyval.ttype = complete_type (IDENTIFIER_TYPE_VALUE (yyvsp[-1].ttype));
6771
6772 if (yyval.ttype == error_mark_node)
6773 cp_error ("`%T' is not a class or namespace", yyvsp[-1].ttype);
6774 ;
6775 break;}
6776 case 623:
6777 #line 2918 "parse.y"
6778 {
6779 if (TREE_CODE (yyvsp[-1].ttype) != IDENTIFIER_NODE)
6780 yyval.ttype = lastiddecl;
6781 got_scope = yyval.ttype = complete_type (TREE_TYPE (yyval.ttype));
6782 ;
6783 break;}
6784 case 624:
6785 #line 2924 "parse.y"
6786 { got_scope = yyval.ttype = complete_type (TREE_TYPE (yyval.ttype)); ;
6787 break;}
6788 case 627:
6789 #line 2928 "parse.y"
6790 {
6791 if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
6792 yyval.ttype = lastiddecl;
6793 got_scope = yyval.ttype;
6794 ;
6795 break;}
6796 case 628:
6797 #line 2937 "parse.y"
6798 { yyval.ttype = build_min_nt (TEMPLATE_ID_EXPR, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
6799 break;}
6800 case 629:
6801 #line 2942 "parse.y"
6802 {
6803 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6804 yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype);
6805 else
6806 yyval.ttype = yyvsp[0].ttype;
6807 got_scope = NULL_TREE;
6808 ;
6809 break;}
6810 case 631:
6811 #line 2951 "parse.y"
6812 { yyval.ttype = yyvsp[0].ttype; ;
6813 break;}
6814 case 632:
6815 #line 2956 "parse.y"
6816 { got_scope = NULL_TREE; ;
6817 break;}
6818 case 633:
6819 #line 2958 "parse.y"
6820 { yyval.ttype = yyvsp[-1].ttype; got_scope = NULL_TREE; ;
6821 break;}
6822 case 634:
6823 #line 2965 "parse.y"
6824 { got_scope = void_type_node; ;
6825 break;}
6826 case 635:
6827 #line 2971 "parse.y"
6828 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6829 break;}
6830 case 636:
6831 #line 2973 "parse.y"
6832 { yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ;
6833 break;}
6834 case 637:
6835 #line 2975 "parse.y"
6836 { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6837 break;}
6838 case 638:
6839 #line 2977 "parse.y"
6840 { yyval.ttype = make_reference_declarator (yyvsp[0].ttype, NULL_TREE); ;
6841 break;}
6842 case 639:
6843 #line 2979 "parse.y"
6844 { tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE);
6845 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, arg);
6846 ;
6847 break;}
6848 case 640:
6849 #line 2983 "parse.y"
6850 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
6851 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
6852 ;
6853 break;}
6854 case 642:
6855 #line 2992 "parse.y"
6856 { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
6857 break;}
6858 case 643:
6859 #line 2994 "parse.y"
6860 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
6861 break;}
6862 case 644:
6863 #line 3000 "parse.y"
6864 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6865 break;}
6866 case 645:
6867 #line 3002 "parse.y"
6868 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
6869 break;}
6870 case 646:
6871 #line 3004 "parse.y"
6872 { yyval.ttype = make_pointer_declarator (yyvsp[0].ftype.t, NULL_TREE); ;
6873 break;}
6874 case 647:
6875 #line 3006 "parse.y"
6876 { yyval.ttype = make_pointer_declarator (NULL_TREE, NULL_TREE); ;
6877 break;}
6878 case 648:
6879 #line 3008 "parse.y"
6880 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6881 break;}
6882 case 649:
6883 #line 3010 "parse.y"
6884 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
6885 break;}
6886 case 650:
6887 #line 3012 "parse.y"
6888 { yyval.ttype = make_reference_declarator (yyvsp[0].ftype.t, NULL_TREE); ;
6889 break;}
6890 case 651:
6891 #line 3014 "parse.y"
6892 { yyval.ttype = make_reference_declarator (NULL_TREE, NULL_TREE); ;
6893 break;}
6894 case 652:
6895 #line 3016 "parse.y"
6896 { tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE);
6897 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, arg);
6898 ;
6899 break;}
6900 case 653:
6901 #line 3020 "parse.y"
6902 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
6903 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
6904 ;
6905 break;}
6906 case 655:
6907 #line 3029 "parse.y"
6908 { yyval.ttype = yyvsp[-1].ttype; ;
6909 break;}
6910 case 657:
6911 #line 3033 "parse.y"
6912 { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6913 break;}
6914 case 658:
6915 #line 3035 "parse.y"
6916 { yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
6917 break;}
6918 case 659:
6919 #line 3037 "parse.y"
6920 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
6921 break;}
6922 case 660:
6923 #line 3039 "parse.y"
6924 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
6925 break;}
6926 case 661:
6927 #line 3041 "parse.y"
6928 { yyval.ttype = make_call_declarator (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6929 break;}
6930 case 662:
6931 #line 3043 "parse.y"
6932 { set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6933 break;}
6934 case 663:
6935 #line 3045 "parse.y"
6936 { set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6937 break;}
6938 case 664:
6939 #line 3047 "parse.y"
6940 { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
6941 break;}
6942 case 665:
6943 #line 3049 "parse.y"
6944 { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, NULL_TREE); ;
6945 break;}
6946 case 672:
6947 #line 3072 "parse.y"
6948 { if (pedantic)
6949 pedwarn ("ANSI C++ forbids label declarations"); ;
6950 break;}
6951 case 675:
6952 #line 3083 "parse.y"
6953 { tree link;
6954 for (link = yyvsp[-1].ttype; link; link = TREE_CHAIN (link))
6955 {
6956 tree label = shadow_label (TREE_VALUE (link));
6957 C_DECLARED_LABEL_FLAG (label) = 1;
6958 declare_nonlocal_label (label);
6959 }
6960 ;
6961 break;}
6962 case 676:
6963 #line 3097 "parse.y"
6964 {;
6965 break;}
6966 case 678:
6967 #line 3103 "parse.y"
6968 { yyval.ttype = begin_compound_stmt (0); ;
6969 break;}
6970 case 679:
6971 #line 3105 "parse.y"
6972 { yyval.ttype = finish_compound_stmt (0, yyvsp[-1].ttype); ;
6973 break;}
6974 case 680:
6975 #line 3110 "parse.y"
6976 {
6977 yyval.ttype = begin_if_stmt ();
6978 cond_stmt_keyword = "if";
6979 ;
6980 break;}
6981 case 681:
6982 #line 3115 "parse.y"
6983 { finish_if_stmt_cond (yyvsp[0].ttype, yyvsp[-1].ttype); ;
6984 break;}
6985 case 682:
6986 #line 3117 "parse.y"
6987 { yyval.ttype = finish_then_clause (yyvsp[-3].ttype); ;
6988 break;}
6989 case 684:
6990 #line 3122 "parse.y"
6991 { yyval.ttype = begin_compound_stmt (0); ;
6992 break;}
6993 case 685:
6994 #line 3124 "parse.y"
6995 { yyval.ttype = finish_compound_stmt (0, yyvsp[-1].ttype); ;
6996 break;}
6997 case 686:
6998 #line 3129 "parse.y"
6999 {;
7000 break;}
7001 case 688:
7002 #line 3135 "parse.y"
7003 { finish_stmt (); ;
7004 break;}
7005 case 689:
7006 #line 3137 "parse.y"
7007 { finish_expr_stmt (yyvsp[-1].ttype); ;
7008 break;}
7009 case 690:
7010 #line 3139 "parse.y"
7011 { begin_else_clause (); ;
7012 break;}
7013 case 691:
7014 #line 3141 "parse.y"
7015 {
7016 finish_else_clause (yyvsp[-3].ttype);
7017 finish_if_stmt ();
7018 ;
7019 break;}
7020 case 692:
7021 #line 3146 "parse.y"
7022 { finish_if_stmt (); ;
7023 break;}
7024 case 693:
7025 #line 3148 "parse.y"
7026 {
7027 yyval.ttype = begin_while_stmt ();
7028 cond_stmt_keyword = "while";
7029 ;
7030 break;}
7031 case 694:
7032 #line 3153 "parse.y"
7033 { finish_while_stmt_cond (yyvsp[0].ttype, yyvsp[-1].ttype); ;
7034 break;}
7035 case 695:
7036 #line 3155 "parse.y"
7037 { finish_while_stmt (yyvsp[-3].ttype); ;
7038 break;}
7039 case 696:
7040 #line 3157 "parse.y"
7041 { yyval.ttype = begin_do_stmt (); ;
7042 break;}
7043 case 697:
7044 #line 3159 "parse.y"
7045 {
7046 finish_do_body (yyvsp[-2].ttype);
7047 cond_stmt_keyword = "do";
7048 ;
7049 break;}
7050 case 698:
7051 #line 3164 "parse.y"
7052 { finish_do_stmt (yyvsp[-1].ttype, yyvsp[-5].ttype); ;
7053 break;}
7054 case 699:
7055 #line 3166 "parse.y"
7056 { yyval.ttype = begin_for_stmt (); ;
7057 break;}
7058 case 700:
7059 #line 3168 "parse.y"
7060 { finish_for_init_stmt (yyvsp[-2].ttype); ;
7061 break;}
7062 case 701:
7063 #line 3170 "parse.y"
7064 { finish_for_cond (yyvsp[-1].ttype, yyvsp[-5].ttype); ;
7065 break;}
7066 case 702:
7067 #line 3172 "parse.y"
7068 { finish_for_expr (yyvsp[-1].ttype, yyvsp[-8].ttype); ;
7069 break;}
7070 case 703:
7071 #line 3174 "parse.y"
7072 { finish_for_stmt (yyvsp[-3].ttype, yyvsp[-10].ttype); ;
7073 break;}
7074 case 704:
7075 #line 3176 "parse.y"
7076 { begin_switch_stmt (); ;
7077 break;}
7078 case 705:
7079 #line 3178 "parse.y"
7080 { yyval.ttype = finish_switch_cond (yyvsp[-1].ttype); ;
7081 break;}
7082 case 706:
7083 #line 3180 "parse.y"
7084 { finish_switch_stmt (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
7085 break;}
7086 case 707:
7087 #line 3182 "parse.y"
7088 { finish_case_label (yyvsp[-1].ttype, NULL_TREE); ;
7089 break;}
7090 case 709:
7091 #line 3185 "parse.y"
7092 { finish_case_label (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
7093 break;}
7094 case 711:
7095 #line 3188 "parse.y"
7096 { finish_case_label (NULL_TREE, NULL_TREE); ;
7097 break;}
7098 case 713:
7099 #line 3191 "parse.y"
7100 { finish_break_stmt (); ;
7101 break;}
7102 case 714:
7103 #line 3193 "parse.y"
7104 { finish_continue_stmt (); ;
7105 break;}
7106 case 715:
7107 #line 3195 "parse.y"
7108 { finish_return_stmt (NULL_TREE); ;
7109 break;}
7110 case 716:
7111 #line 3197 "parse.y"
7112 { finish_return_stmt (yyvsp[-1].ttype); ;
7113 break;}
7114 case 717:
7115 #line 3199 "parse.y"
7116 {
7117 finish_asm_stmt (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE,
7118 NULL_TREE);
7119 ;
7120 break;}
7121 case 718:
7122 #line 3205 "parse.y"
7123 {
7124 finish_asm_stmt (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE,
7125 NULL_TREE);
7126 ;
7127 break;}
7128 case 719:
7129 #line 3211 "parse.y"
7130 { finish_asm_stmt (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE); ;
7131 break;}
7132 case 720:
7133 #line 3215 "parse.y"
7134 { finish_asm_stmt (yyvsp[-10].ttype, yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype); ;
7135 break;}
7136 case 721:
7137 #line 3217 "parse.y"
7138 {
7139 if (pedantic)
7140 pedwarn ("ANSI C++ forbids computed gotos");
7141 finish_goto_stmt (yyvsp[-1].ttype);
7142 ;
7143 break;}
7144 case 722:
7145 #line 3223 "parse.y"
7146 { finish_goto_stmt (yyvsp[-1].ttype); ;
7147 break;}
7148 case 723:
7149 #line 3225 "parse.y"
7150 { finish_stmt (); ;
7151 break;}
7152 case 724:
7153 #line 3227 "parse.y"
7154 { error ("label must be followed by statement");
7155 yyungetc ('}', 0);
7156 finish_stmt (); ;
7157 break;}
7158 case 725:
7159 #line 3231 "parse.y"
7160 { finish_stmt (); ;
7161 break;}
7162 case 727:
7163 #line 3237 "parse.y"
7164 {
7165 if (! current_function_parms_stored)
7166 store_parm_decls ();
7167 expand_start_early_try_stmts ();
7168 ;
7169 break;}
7170 case 728:
7171 #line 3243 "parse.y"
7172 {
7173 expand_start_all_catch ();
7174 expand_start_catch (NULL);
7175 ;
7176 break;}
7177 case 729:
7178 #line 3248 "parse.y"
7179 {
7180 int nested = (hack_decl_function_context
7181 (current_function_decl) != NULL_TREE);
7182 expand_end_all_catch ();
7183 expand_end_catch ();
7184 finish_function (lineno, (int)yyvsp[-3].itype, nested);
7185 ;
7186 break;}
7187 case 730:
7188 #line 3259 "parse.y"
7189 { yyval.ttype = begin_try_block (); ;
7190 break;}
7191 case 731:
7192 #line 3261 "parse.y"
7193 { finish_try_block (yyvsp[-1].ttype); ;
7194 break;}
7195 case 732:
7196 #line 3263 "parse.y"
7197 { finish_handler_sequence (yyvsp[-3].ttype); ;
7198 break;}
7199 case 735:
7200 #line 3273 "parse.y"
7201 { yyval.ttype = begin_handler(); ;
7202 break;}
7203 case 736:
7204 #line 3275 "parse.y"
7205 { finish_handler_parms (yyvsp[-1].ttype); ;
7206 break;}
7207 case 737:
7208 #line 3277 "parse.y"
7209 { finish_handler (yyvsp[-3].ttype); ;
7210 break;}
7211 case 740:
7212 #line 3287 "parse.y"
7213 { expand_start_catch_block (NULL_TREE, NULL_TREE); ;
7214 break;}
7215 case 741:
7216 #line 3303 "parse.y"
7217 { check_for_new_type ("inside exception declarations", yyvsp[-1].ftype);
7218 expand_start_catch_block (TREE_PURPOSE (yyvsp[-1].ftype.t),
7219 TREE_VALUE (yyvsp[-1].ftype.t)); ;
7220 break;}
7221 case 742:
7222 #line 3310 "parse.y"
7223 { tree label;
7224 do_label:
7225 label = define_label (input_filename, lineno, yyvsp[-1].ttype);
7226 if (label && ! minimal_parse_mode)
7227 expand_label (label);
7228 ;
7229 break;}
7230 case 743:
7231 #line 3317 "parse.y"
7232 { goto do_label; ;
7233 break;}
7234 case 744:
7235 #line 3319 "parse.y"
7236 { goto do_label; ;
7237 break;}
7238 case 745:
7239 #line 3321 "parse.y"
7240 { goto do_label; ;
7241 break;}
7242 case 746:
7243 #line 3326 "parse.y"
7244 { if (yyvsp[-1].ttype) cplus_expand_expr_stmt (yyvsp[-1].ttype); ;
7245 break;}
7246 case 748:
7247 #line 3329 "parse.y"
7248 { if (pedantic)
7249 pedwarn ("ANSI C++ forbids compound statements inside for initializations");
7250 ;
7251 break;}
7252 case 749:
7253 #line 3338 "parse.y"
7254 { emit_line_note (input_filename, lineno);
7255 yyval.ttype = NULL_TREE; ;
7256 break;}
7257 case 750:
7258 #line 3341 "parse.y"
7259 { emit_line_note (input_filename, lineno); ;
7260 break;}
7261 case 751:
7262 #line 3346 "parse.y"
7263 { yyval.ttype = NULL_TREE; ;
7264 break;}
7265 case 753:
7266 #line 3349 "parse.y"
7267 { yyval.ttype = NULL_TREE; ;
7268 break;}
7269 case 754:
7270 #line 3356 "parse.y"
7271 { yyval.ttype = NULL_TREE; ;
7272 break;}
7273 case 757:
7274 #line 3363 "parse.y"
7275 { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
7276 break;}
7277 case 758:
7278 #line 3368 "parse.y"
7279 { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[-1].ttype); ;
7280 break;}
7281 case 759:
7282 #line 3373 "parse.y"
7283 { yyval.ttype = tree_cons (NULL_TREE, yyval.ttype, NULL_TREE); ;
7284 break;}
7285 case 760:
7286 #line 3375 "parse.y"
7287 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
7288 break;}
7289 case 761:
7290 #line 3386 "parse.y"
7291 {
7292 yyval.ttype = empty_parms();
7293 ;
7294 break;}
7295 case 763:
7296 #line 3391 "parse.y"
7297 { yyval.ttype = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[0].ftype.t), 0);
7298 check_for_new_type ("inside parameter list", yyvsp[0].ftype); ;
7299 break;}
7300 case 764:
7301 #line 3399 "parse.y"
7302 { yyval.ttype = finish_parmlist (yyval.ttype, 0); ;
7303 break;}
7304 case 765:
7305 #line 3401 "parse.y"
7306 { yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 1); ;
7307 break;}
7308 case 766:
7309 #line 3404 "parse.y"
7310 { yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 1); ;
7311 break;}
7312 case 767:
7313 #line 3406 "parse.y"
7314 { yyval.ttype = finish_parmlist (build_tree_list (NULL_TREE,
7315 yyvsp[-1].ftype.t), 1); ;
7316 break;}
7317 case 768:
7318 #line 3409 "parse.y"
7319 { yyval.ttype = finish_parmlist (NULL_TREE, 1); ;
7320 break;}
7321 case 769:
7322 #line 3411 "parse.y"
7323 {
7324 /* This helps us recover from really nasty
7325 parse errors, for example, a missing right
7326 parenthesis. */
7327 yyerror ("possibly missing ')'");
7328 yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 0);
7329 yyungetc (':', 0);
7330 yychar = ')';
7331 ;
7332 break;}
7333 case 770:
7334 #line 3421 "parse.y"
7335 {
7336 /* This helps us recover from really nasty
7337 parse errors, for example, a missing right
7338 parenthesis. */
7339 yyerror ("possibly missing ')'");
7340 yyval.ttype = finish_parmlist (build_tree_list (NULL_TREE,
7341 yyvsp[-1].ftype.t), 0);
7342 yyungetc (':', 0);
7343 yychar = ')';
7344 ;
7345 break;}
7346 case 771:
7347 #line 3436 "parse.y"
7348 { maybe_snarf_defarg (); ;
7349 break;}
7350 case 772:
7351 #line 3438 "parse.y"
7352 { yyval.ttype = yyvsp[0].ttype; ;
7353 break;}
7354 case 775:
7355 #line 3449 "parse.y"
7356 { check_for_new_type ("in a parameter list", yyvsp[0].ftype);
7357 yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ftype.t); ;
7358 break;}
7359 case 776:
7360 #line 3452 "parse.y"
7361 { check_for_new_type ("in a parameter list", yyvsp[-1].ftype);
7362 yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-1].ftype.t); ;
7363 break;}
7364 case 777:
7365 #line 3455 "parse.y"
7366 { check_for_new_type ("in a parameter list", yyvsp[0].ftype);
7367 yyval.ttype = chainon (yyval.ttype, yyvsp[0].ftype.t); ;
7368 break;}
7369 case 778:
7370 #line 3458 "parse.y"
7371 { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
7372 break;}
7373 case 779:
7374 #line 3460 "parse.y"
7375 { yyval.ttype = chainon (yyval.ttype, build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype)); ;
7376 break;}
7377 case 781:
7378 #line 3466 "parse.y"
7379 { check_for_new_type ("in a parameter list", yyvsp[-1].ftype);
7380 yyval.ttype = build_tree_list (NULL_TREE, yyvsp[-1].ftype.t); ;
7381 break;}
7382 case 782:
7383 #line 3476 "parse.y"
7384 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
7385 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag;
7386 yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype); ;
7387 break;}
7388 case 783:
7389 #line 3480 "parse.y"
7390 { yyval.ftype.t = build_tree_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
7391 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
7392 break;}
7393 case 784:
7394 #line 3483 "parse.y"
7395 { yyval.ftype.t = build_tree_list (get_decl_list (yyvsp[-1].ftype.t), yyvsp[0].ttype);
7396 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
7397 break;}
7398 case 785:
7399 #line 3486 "parse.y"
7400 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
7401 yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype);
7402 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
7403 break;}
7404 case 786:
7405 #line 3490 "parse.y"
7406 { tree specs = strip_attrs (yyvsp[0].ftype.t);
7407 yyval.ftype.t = build_tree_list (specs, NULL_TREE);
7408 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
7409 break;}
7410 case 787:
7411 #line 3494 "parse.y"
7412 { tree specs = strip_attrs (yyvsp[-1].ttype);
7413 yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype);
7414 yyval.ftype.new_type_flag = 0; ;
7415 break;}
7416 case 788:
7417 #line 3501 "parse.y"
7418 { yyval.ftype.t = build_tree_list (NULL_TREE, yyvsp[0].ftype.t);
7419 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
7420 break;}
7421 case 789:
7422 #line 3504 "parse.y"
7423 { yyval.ftype.t = build_tree_list (yyvsp[0].ttype, yyvsp[-1].ftype.t);
7424 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
7425 break;}
7426 case 792:
7427 #line 3515 "parse.y"
7428 { see_typename (); ;
7429 break;}
7430 case 793:
7431 #line 3520 "parse.y"
7432 {
7433 error ("type specifier omitted for parameter");
7434 yyval.ttype = build_tree_list (integer_type_node, NULL_TREE);
7435 ;
7436 break;}
7437 case 794:
7438 #line 3525 "parse.y"
7439 {
7440 error ("type specifier omitted for parameter");
7441 if (TREE_CODE (yyval.ttype) == SCOPE_REF
7442 && (TREE_CODE (TREE_OPERAND (yyval.ttype, 0)) == TEMPLATE_TYPE_PARM
7443 || TREE_CODE (TREE_OPERAND (yyval.ttype, 0)) == TEMPLATE_TEMPLATE_PARM))
7444 cp_error (" perhaps you want `typename %E' to make it a type", yyval.ttype);
7445 yyval.ttype = build_tree_list (integer_type_node, yyval.ttype);
7446 ;
7447 break;}
7448 case 795:
7449 #line 3537 "parse.y"
7450 { yyval.ttype = NULL_TREE; ;
7451 break;}
7452 case 796:
7453 #line 3539 "parse.y"
7454 { yyval.ttype = yyvsp[-1].ttype; ;
7455 break;}
7456 case 797:
7457 #line 3541 "parse.y"
7458 { yyval.ttype = build_decl_list (NULL_TREE, NULL_TREE); ;
7459 break;}
7460 case 798:
7461 #line 3546 "parse.y"
7462 { yyval.ttype = build_decl_list (NULL_TREE, groktypename(yyvsp[0].ftype.t)); ;
7463 break;}
7464 case 800:
7465 #line 3552 "parse.y"
7466 {
7467 TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype;
7468 yyval.ttype = yyvsp[0].ttype;
7469 ;
7470 break;}
7471 case 801:
7472 #line 3560 "parse.y"
7473 { yyval.ttype = NULL_TREE; ;
7474 break;}
7475 case 802:
7476 #line 3562 "parse.y"
7477 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
7478 break;}
7479 case 803:
7480 #line 3564 "parse.y"
7481 { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
7482 break;}
7483 case 804:
7484 #line 3566 "parse.y"
7485 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
7486 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
7487 ;
7488 break;}
7489 case 805:
7490 #line 3573 "parse.y"
7491 { got_scope = NULL_TREE; ;
7492 break;}
7493 case 806:
7494 #line 3578 "parse.y"
7495 { yyval.ttype = ansi_opname[MULT_EXPR]; ;
7496 break;}
7497 case 807:
7498 #line 3580 "parse.y"
7499 { yyval.ttype = ansi_opname[TRUNC_DIV_EXPR]; ;
7500 break;}
7501 case 808:
7502 #line 3582 "parse.y"
7503 { yyval.ttype = ansi_opname[TRUNC_MOD_EXPR]; ;
7504 break;}
7505 case 809:
7506 #line 3584 "parse.y"
7507 { yyval.ttype = ansi_opname[PLUS_EXPR]; ;
7508 break;}
7509 case 810:
7510 #line 3586 "parse.y"
7511 { yyval.ttype = ansi_opname[MINUS_EXPR]; ;
7512 break;}
7513 case 811:
7514 #line 3588 "parse.y"
7515 { yyval.ttype = ansi_opname[BIT_AND_EXPR]; ;
7516 break;}
7517 case 812:
7518 #line 3590 "parse.y"
7519 { yyval.ttype = ansi_opname[BIT_IOR_EXPR]; ;
7520 break;}
7521 case 813:
7522 #line 3592 "parse.y"
7523 { yyval.ttype = ansi_opname[BIT_XOR_EXPR]; ;
7524 break;}
7525 case 814:
7526 #line 3594 "parse.y"
7527 { yyval.ttype = ansi_opname[BIT_NOT_EXPR]; ;
7528 break;}
7529 case 815:
7530 #line 3596 "parse.y"
7531 { yyval.ttype = ansi_opname[COMPOUND_EXPR]; ;
7532 break;}
7533 case 816:
7534 #line 3598 "parse.y"
7535 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7536 break;}
7537 case 817:
7538 #line 3600 "parse.y"
7539 { yyval.ttype = ansi_opname[LT_EXPR]; ;
7540 break;}
7541 case 818:
7542 #line 3602 "parse.y"
7543 { yyval.ttype = ansi_opname[GT_EXPR]; ;
7544 break;}
7545 case 819:
7546 #line 3604 "parse.y"
7547 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7548 break;}
7549 case 820:
7550 #line 3606 "parse.y"
7551 { yyval.ttype = ansi_assopname[yyvsp[0].code]; ;
7552 break;}
7553 case 821:
7554 #line 3608 "parse.y"
7555 { yyval.ttype = ansi_opname [MODIFY_EXPR]; ;
7556 break;}
7557 case 822:
7558 #line 3610 "parse.y"
7559 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7560 break;}
7561 case 823:
7562 #line 3612 "parse.y"
7563 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7564 break;}
7565 case 824:
7566 #line 3614 "parse.y"
7567 { yyval.ttype = ansi_opname[POSTINCREMENT_EXPR]; ;
7568 break;}
7569 case 825:
7570 #line 3616 "parse.y"
7571 { yyval.ttype = ansi_opname[PREDECREMENT_EXPR]; ;
7572 break;}
7573 case 826:
7574 #line 3618 "parse.y"
7575 { yyval.ttype = ansi_opname[TRUTH_ANDIF_EXPR]; ;
7576 break;}
7577 case 827:
7578 #line 3620 "parse.y"
7579 { yyval.ttype = ansi_opname[TRUTH_ORIF_EXPR]; ;
7580 break;}
7581 case 828:
7582 #line 3622 "parse.y"
7583 { yyval.ttype = ansi_opname[TRUTH_NOT_EXPR]; ;
7584 break;}
7585 case 829:
7586 #line 3624 "parse.y"
7587 { yyval.ttype = ansi_opname[COND_EXPR]; ;
7588 break;}
7589 case 830:
7590 #line 3626 "parse.y"
7591 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7592 break;}
7593 case 831:
7594 #line 3628 "parse.y"
7595 { yyval.ttype = ansi_opname[COMPONENT_REF]; ;
7596 break;}
7597 case 832:
7598 #line 3630 "parse.y"
7599 { yyval.ttype = ansi_opname[MEMBER_REF]; ;
7600 break;}
7601 case 833:
7602 #line 3632 "parse.y"
7603 { yyval.ttype = ansi_opname[CALL_EXPR]; ;
7604 break;}
7605 case 834:
7606 #line 3634 "parse.y"
7607 { yyval.ttype = ansi_opname[ARRAY_REF]; ;
7608 break;}
7609 case 835:
7610 #line 3636 "parse.y"
7611 { yyval.ttype = ansi_opname[NEW_EXPR]; ;
7612 break;}
7613 case 836:
7614 #line 3638 "parse.y"
7615 { yyval.ttype = ansi_opname[DELETE_EXPR]; ;
7616 break;}
7617 case 837:
7618 #line 3640 "parse.y"
7619 { yyval.ttype = ansi_opname[VEC_NEW_EXPR]; ;
7620 break;}
7621 case 838:
7622 #line 3642 "parse.y"
7623 { yyval.ttype = ansi_opname[VEC_DELETE_EXPR]; ;
7624 break;}
7625 case 839:
7626 #line 3645 "parse.y"
7627 { yyval.ttype = grokoptypename (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7628 break;}
7629 case 840:
7630 #line 3647 "parse.y"
7631 { yyval.ttype = ansi_opname[ERROR_MARK]; ;
7632 break;}
7633 }
7634 /* the action file gets copied in in place of this dollarsign */
7635 #line 498 "/usr/lib/bison.simple"
7636 \f
7637 yyvsp -= yylen;
7638 yyssp -= yylen;
7639 #ifdef YYLSP_NEEDED
7640 yylsp -= yylen;
7641 #endif
7642
7643 #if YYDEBUG != 0
7644 if (yydebug)
7645 {
7646 short *ssp1 = yyss - 1;
7647 fprintf (stderr, "state stack now");
7648 while (ssp1 != yyssp)
7649 fprintf (stderr, " %d", *++ssp1);
7650 fprintf (stderr, "\n");
7651 }
7652 #endif
7653
7654 *++yyvsp = yyval;
7655
7656 #ifdef YYLSP_NEEDED
7657 yylsp++;
7658 if (yylen == 0)
7659 {
7660 yylsp->first_line = yylloc.first_line;
7661 yylsp->first_column = yylloc.first_column;
7662 yylsp->last_line = (yylsp-1)->last_line;
7663 yylsp->last_column = (yylsp-1)->last_column;
7664 yylsp->text = 0;
7665 }
7666 else
7667 {
7668 yylsp->last_line = (yylsp+yylen-1)->last_line;
7669 yylsp->last_column = (yylsp+yylen-1)->last_column;
7670 }
7671 #endif
7672
7673 /* Now "shift" the result of the reduction.
7674 Determine what state that goes to,
7675 based on the state we popped back to
7676 and the rule number reduced by. */
7677
7678 yyn = yyr1[yyn];
7679
7680 yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
7681 if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
7682 yystate = yytable[yystate];
7683 else
7684 yystate = yydefgoto[yyn - YYNTBASE];
7685
7686 goto yynewstate;
7687
7688 yyerrlab: /* here on detecting error */
7689
7690 if (! yyerrstatus)
7691 /* If not already recovering from an error, report this error. */
7692 {
7693 ++yynerrs;
7694
7695 #ifdef YYERROR_VERBOSE
7696 yyn = yypact[yystate];
7697
7698 if (yyn > YYFLAG && yyn < YYLAST)
7699 {
7700 int size = 0;
7701 char *msg;
7702 int x, count;
7703
7704 count = 0;
7705 /* Start X at -yyn if nec to avoid negative indexes in yycheck. */
7706 for (x = (yyn < 0 ? -yyn : 0);
7707 x < (sizeof(yytname) / sizeof(char *)); x++)
7708 if (yycheck[x + yyn] == x)
7709 size += strlen(yytname[x]) + 15, count++;
7710 msg = (char *) malloc(size + 15);
7711 if (msg != 0)
7712 {
7713 strcpy(msg, "parse error");
7714
7715 if (count < 5)
7716 {
7717 count = 0;
7718 for (x = (yyn < 0 ? -yyn : 0);
7719 x < (sizeof(yytname) / sizeof(char *)); x++)
7720 if (yycheck[x + yyn] == x)
7721 {
7722 strcat(msg, count == 0 ? ", expecting `" : " or `");
7723 strcat(msg, yytname[x]);
7724 strcat(msg, "'");
7725 count++;
7726 }
7727 }
7728 yyerror(msg);
7729 free(msg);
7730 }
7731 else
7732 yyerror ("parse error; also virtual memory exceeded");
7733 }
7734 else
7735 #endif /* YYERROR_VERBOSE */
7736 yyerror("parse error");
7737 }
7738
7739 goto yyerrlab1;
7740 yyerrlab1: /* here on error raised explicitly by an action */
7741
7742 if (yyerrstatus == 3)
7743 {
7744 /* if just tried and failed to reuse lookahead token after an error, discard it. */
7745
7746 /* return failure if at end of input */
7747 if (yychar == YYEOF)
7748 YYABORT;
7749
7750 #if YYDEBUG != 0
7751 if (yydebug)
7752 fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
7753 #endif
7754
7755 yychar = YYEMPTY;
7756 }
7757
7758 /* Else will try to reuse lookahead token
7759 after shifting the error token. */
7760
7761 yyerrstatus = 3; /* Each real token shifted decrements this */
7762
7763 goto yyerrhandle;
7764
7765 yyerrdefault: /* current state does not do anything special for the error token. */
7766
7767 #if 0
7768 /* This is wrong; only states that explicitly want error tokens
7769 should shift them. */
7770 yyn = yydefact[yystate]; /* If its default is to accept any token, ok. Otherwise pop it.*/
7771 if (yyn) goto yydefault;
7772 #endif
7773
7774 yyerrpop: /* pop the current state because it cannot handle the error token */
7775
7776 if (yyssp == yyss) YYABORT;
7777 yyvsp--;
7778 yystate = *--yyssp;
7779 #ifdef YYLSP_NEEDED
7780 yylsp--;
7781 #endif
7782
7783 #if YYDEBUG != 0
7784 if (yydebug)
7785 {
7786 short *ssp1 = yyss - 1;
7787 fprintf (stderr, "Error: state stack now");
7788 while (ssp1 != yyssp)
7789 fprintf (stderr, " %d", *++ssp1);
7790 fprintf (stderr, "\n");
7791 }
7792 #endif
7793
7794 yyerrhandle:
7795
7796 yyn = yypact[yystate];
7797 if (yyn == YYFLAG)
7798 goto yyerrdefault;
7799
7800 yyn += YYTERROR;
7801 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
7802 goto yyerrdefault;
7803
7804 yyn = yytable[yyn];
7805 if (yyn < 0)
7806 {
7807 if (yyn == YYFLAG)
7808 goto yyerrpop;
7809 yyn = -yyn;
7810 goto yyreduce;
7811 }
7812 else if (yyn == 0)
7813 goto yyerrpop;
7814
7815 if (yyn == YYFINAL)
7816 YYACCEPT;
7817
7818 #if YYDEBUG != 0
7819 if (yydebug)
7820 fprintf(stderr, "Shifting error token, ");
7821 #endif
7822
7823 *++yyvsp = yylval;
7824 #ifdef YYLSP_NEEDED
7825 *++yylsp = yylloc;
7826 #endif
7827
7828 yystate = yyn;
7829 goto yynewstate;
7830 }
7831 #line 3650 "parse.y"
7832
7833
7834 #ifdef SPEW_DEBUG
7835 const char *
7836 debug_yytranslate (value)
7837 int value;
7838 {
7839 return yytname[YYTRANSLATE (value)];
7840 }
7841
7842 #endif