]> gcc.gnu.org Git - gcc.git/blame - gcc/cp/parse.c
Various fixes for -Wall problems from Kaveh. See ChangeLog for details.
[gcc.git] / gcc / cp / parse.c
CommitLineData
861bb6c1 1
8eeda2ec
JM
2/* A Bison parser, made from parse.y
3 by GNU Bison version 1.25
861bb6c1
JL
4 */
5
6#define YYBISON 1 /* Identify Bison output. */
7
8#define IDENTIFIER 258
9#define TYPENAME 259
10#define SELFNAME 260
386b8a85
JM
11#define PFUNCNAME 261
12#define SCSPEC 262
13#define TYPESPEC 263
14#define CV_QUALIFIER 264
15#define CONSTANT 265
16#define STRING 266
17#define ELLIPSIS 267
18#define SIZEOF 268
19#define ENUM 269
20#define IF 270
21#define ELSE 271
22#define WHILE 272
23#define DO 273
24#define FOR 274
25#define SWITCH 275
26#define CASE 276
27#define DEFAULT 277
28#define BREAK 278
29#define CONTINUE 279
30#define RETURN 280
31#define GOTO 281
32#define ASM_KEYWORD 282
33#define GCC_ASM_KEYWORD 283
34#define TYPEOF 284
35#define ALIGNOF 285
36#define SIGOF 286
37#define ATTRIBUTE 287
38#define EXTENSION 288
39#define LABEL 289
40#define REALPART 290
41#define IMAGPART 291
42#define AGGR 292
43#define VISSPEC 293
44#define DELETE 294
45#define NEW 295
46#define THIS 296
47#define OPERATOR 297
48#define CXX_TRUE 298
49#define CXX_FALSE 299
50#define NAMESPACE 300
51#define TYPENAME_KEYWORD 301
52#define USING 302
53#define LEFT_RIGHT 303
54#define TEMPLATE 304
55#define TYPEID 305
56#define DYNAMIC_CAST 306
57#define STATIC_CAST 307
58#define REINTERPRET_CAST 308
59#define CONST_CAST 309
60#define SCOPE 310
61#define EMPTY 311
62#define PTYPENAME 312
63#define NSNAME 313
64#define THROW 314
65#define ASSIGN 315
66#define OROR 316
67#define ANDAND 317
68#define MIN_MAX 318
69#define EQCOMPARE 319
70#define ARITHCOMPARE 320
71#define LSHIFT 321
72#define RSHIFT 322
73#define POINTSAT_STAR 323
74#define DOT_STAR 324
75#define UNARY 325
76#define PLUSPLUS 326
77#define MINUSMINUS 327
78#define HYPERUNARY 328
79#define PAREN_STAR_PAREN 329
80#define POINTSAT 330
81#define TRY 331
82#define CATCH 332
83#define TYPENAME_ELLIPSIS 333
84#define PRE_PARSED_FUNCTION_DECL 334
85#define EXTERN_LANG_STRING 335
86#define ALL 336
87#define PRE_PARSED_CLASS_DECL 337
88#define DEFARG 338
89#define DEFARG_MARKER 339
90#define TYPENAME_DEFN 340
91#define IDENTIFIER_DEFN 341
92#define PTYPENAME_DEFN 342
93#define END_OF_LINE 343
94#define END_OF_SAVED_INPUT 344
861bb6c1
JL
95
96#line 29 "parse.y"
97
98/* Cause the `yydebug' variable to be defined. */
99#define YYDEBUG 1
100
101#include "config.h"
102
103#include <stdio.h>
104#include <errno.h>
105
106#include "tree.h"
107#include "input.h"
108#include "flags.h"
109#include "lex.h"
110#include "cp-tree.h"
111#include "output.h"
8eeda2ec 112#include "except.h"
861bb6c1
JL
113
114/* Since parsers are distinct for each language, put the language string
115 definition here. (fnf) */
116char *language_string = "GNU C++";
117
118extern tree void_list_node;
119extern struct obstack permanent_obstack;
120
121#ifndef errno
122extern int errno;
123#endif
124
125extern int end_of_file;
126extern int current_class_depth;
861bb6c1
JL
127
128/* FSF LOCAL dje prefix attributes */
129extern tree strip_attrs PROTO((tree));
130/* END FSF LOCAL */
131
861bb6c1
JL
132/* Like YYERROR but do call yyerror. */
133#define YYERROR1 { yyerror ("syntax error"); YYERROR; }
134
135#define OP0(NODE) (TREE_OPERAND (NODE, 0))
136#define OP1(NODE) (TREE_OPERAND (NODE, 1))
137
138/* Contains the statement keyword (if/while/do) to include in an
139 error message if the user supplies an empty conditional expression. */
140static char *cond_stmt_keyword;
141
73b0fce8
KL
142/* If nonzero, we try to treat TEMPLATE_DECL as argument in template
143 template parameter. */
144static int processing_template_arg;
145
146extern int arg_looking_for_template;
147
8eeda2ec
JM
148static tree empty_parms PROTO((void));
149
861bb6c1
JL
150/* Nonzero if we have an `extern "C"' acting as an extern specifier. */
151int have_extern_spec;
152int used_extern_spec;
153
861bb6c1
JL
154/* Cons up an empty parameter list. */
155#ifdef __GNUC__
156__inline
157#endif
158static tree
159empty_parms ()
160{
161 tree parms;
162
163 if (strict_prototype
8eeda2ec 164 || current_class_type != NULL)
861bb6c1
JL
165 parms = void_list_node;
166 else
167 parms = NULL_TREE;
168 return parms;
169}
170
6a88a0c0 171
e1467ff2 172#line 107 "parse.y"
861bb6c1 173typedef union {long itype; tree ttype; char *strtype; enum tree_code code; flagged_type_tree ftype; } YYSTYPE;
e1467ff2 174#line 296 "parse.y"
861bb6c1
JL
175
176/* List of types and structure classes of the current declaration. */
177static tree current_declspecs = NULL_TREE;
178/* List of prefix attributes in effect.
179 Prefix attributes are parsed by the reserved_declspecs and declmods
180 rules. They create a list that contains *both* declspecs and attrs. */
181/* ??? It is not clear yet that all cases where an attribute can now appear in
182 a declspec list have been updated. */
183static tree prefix_attributes = NULL_TREE;
184
185/* When defining an aggregate, this is the most recent one being defined. */
186static tree current_aggr;
187
188/* Tell yyparse how to print a token's value, if yydebug is set. */
189
190#define YYPRINT(FILE,YYCHAR,YYLVAL) yyprint(FILE,YYCHAR,YYLVAL)
8eeda2ec 191extern void yyprint PROTO((FILE *, int, YYSTYPE));
861bb6c1 192extern tree combine_strings PROTO((tree));
861bb6c1
JL
193#include <stdio.h>
194
195#ifndef __cplusplus
196#ifndef __STDC__
197#define const
198#endif
199#endif
200
201
202
73b0fce8 203#define YYFINAL 1554
861bb6c1 204#define YYFLAG -32768
386b8a85 205#define YYNTBASE 114
861bb6c1 206
73b0fce8 207#define YYTRANSLATE(x) ((unsigned)(x) <= 344 ? yytranslate[x] : 391)
861bb6c1
JL
208
209static const char yytranslate[] = { 0,
210 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
211 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
212 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
386b8a85
JM
213 2, 2, 112, 2, 2, 2, 83, 71, 2, 94,
214 110, 81, 79, 60, 80, 93, 82, 2, 2, 2,
215 2, 2, 2, 2, 2, 2, 2, 63, 61, 75,
216 65, 76, 66, 2, 2, 2, 2, 2, 2, 2,
861bb6c1
JL
217 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
218 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
386b8a85 219 95, 2, 113, 70, 2, 2, 2, 2, 2, 2,
861bb6c1
JL
220 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
221 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
386b8a85 222 2, 2, 59, 69, 111, 89, 2, 2, 2, 2,
861bb6c1
JL
223 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
224 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
225 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
226 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
227 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
228 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
229 2, 2, 2, 2, 2, 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, 2, 2, 2, 2, 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, 1, 2, 3, 4, 5,
236 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
237 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
238 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
239 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
240 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
386b8a85
JM
241 56, 57, 58, 62, 64, 67, 68, 72, 73, 74,
242 77, 78, 84, 85, 86, 87, 88, 90, 91, 92,
861bb6c1 243 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
386b8a85 244 106, 107, 108, 109
861bb6c1
JL
245};
246
247#if YYDEBUG != 0
248static const short yyprhs[] = { 0,
249 0, 1, 3, 4, 7, 10, 12, 13, 14, 15,
250 17, 19, 21, 22, 25, 28, 30, 32, 38, 43,
251 49, 54, 55, 62, 63, 69, 75, 78, 83, 86,
252 89, 93, 97, 99, 101, 104, 107, 109, 112, 113,
73b0fce8
KL
253 119, 123, 125, 129, 131, 132, 135, 138, 142, 144,
254 148, 150, 154, 156, 160, 163, 166, 169, 173, 177,
255 180, 183, 186, 189, 192, 194, 196, 198, 199, 201,
256 204, 205, 207, 212, 216, 220, 221, 230, 236, 237,
257 247, 254, 255, 264, 270, 271, 281, 288, 291, 294,
258 296, 299, 301, 308, 313, 320, 325, 328, 330, 333,
259 336, 338, 341, 343, 346, 349, 352, 357, 360, 364,
260 365, 366, 368, 372, 375, 379, 381, 386, 389, 394,
261 397, 402, 405, 407, 409, 411, 413, 415, 417, 419,
262 421, 423, 425, 427, 428, 435, 436, 443, 444, 450,
263 451, 457, 458, 466, 467, 475, 476, 483, 484, 491,
264 492, 493, 498, 503, 505, 510, 512, 514, 515, 517,
265 519, 523, 524, 527, 529, 531, 533, 535, 537, 539,
266 541, 543, 545, 547, 551, 553, 557, 558, 560, 562,
267 563, 571, 573, 575, 579, 584, 588, 589, 593, 595,
268 599, 603, 607, 611, 613, 615, 617, 620, 623, 626,
269 629, 632, 635, 638, 643, 646, 651, 654, 658, 662,
270 667, 672, 678, 684, 691, 694, 699, 705, 708, 711,
271 715, 719, 723, 725, 729, 732, 736, 741, 743, 746,
272 752, 754, 758, 762, 766, 770, 774, 778, 782, 786,
273 790, 794, 798, 802, 806, 810, 814, 818, 822, 826,
274 830, 836, 840, 844, 846, 849, 853, 855, 857, 859,
275 861, 863, 864, 870, 876, 882, 888, 894, 896, 898,
276 900, 902, 905, 908, 912, 917, 922, 924, 926, 928,
277 932, 934, 936, 938, 940, 944, 948, 952, 953, 958,
278 963, 966, 971, 974, 977, 979, 984, 986, 994, 1002,
279 1010, 1018, 1023, 1028, 1031, 1034, 1036, 1041, 1044, 1047,
280 1053, 1057, 1060, 1063, 1069, 1073, 1079, 1083, 1088, 1095,
281 1098, 1100, 1103, 1105, 1108, 1110, 1112, 1114, 1117, 1118,
282 1121, 1124, 1128, 1132, 1136, 1139, 1142, 1145, 1147, 1149,
283 1151, 1154, 1157, 1160, 1163, 1165, 1167, 1169, 1171, 1174,
284 1177, 1181, 1185, 1189, 1194, 1196, 1199, 1202, 1205, 1207,
285 1209, 1211, 1214, 1217, 1220, 1222, 1224, 1227, 1230, 1234,
286 1236, 1239, 1241, 1243, 1245, 1250, 1255, 1260, 1265, 1267,
287 1269, 1271, 1273, 1277, 1279, 1283, 1285, 1289, 1290, 1295,
288 1296, 1303, 1307, 1308, 1315, 1319, 1320, 1327, 1331, 1332,
289 1339, 1343, 1344, 1346, 1348, 1351, 1358, 1360, 1364, 1365,
290 1367, 1372, 1379, 1384, 1386, 1388, 1390, 1392, 1394, 1398,
291 1399, 1402, 1404, 1407, 1411, 1416, 1418, 1420, 1424, 1429,
292 1436, 1440, 1446, 1448, 1453, 1457, 1461, 1462, 1466, 1470,
293 1474, 1475, 1478, 1481, 1482, 1490, 1495, 1496, 1503, 1507,
294 1510, 1513, 1516, 1517, 1518, 1528, 1530, 1531, 1533, 1534,
295 1536, 1538, 1541, 1544, 1547, 1550, 1553, 1556, 1560, 1565,
296 1569, 1572, 1576, 1577, 1579, 1583, 1586, 1589, 1591, 1593,
297 1594, 1597, 1601, 1603, 1608, 1610, 1614, 1616, 1618, 1623,
298 1628, 1631, 1634, 1638, 1642, 1644, 1645, 1647, 1650, 1655,
299 1659, 1661, 1664, 1667, 1670, 1673, 1676, 1679, 1682, 1684,
300 1687, 1690, 1693, 1698, 1703, 1706, 1708, 1714, 1719, 1721,
301 1724, 1725, 1727, 1731, 1732, 1734, 1738, 1740, 1742, 1744,
302 1746, 1751, 1756, 1761, 1766, 1771, 1775, 1780, 1785, 1790,
303 1795, 1799, 1801, 1805, 1807, 1811, 1814, 1816, 1823, 1824,
304 1827, 1829, 1832, 1833, 1836, 1841, 1846, 1849, 1854, 1858,
305 1862, 1865, 1868, 1872, 1874, 1876, 1879, 1881, 1883, 1886,
306 1889, 1894, 1899, 1903, 1907, 1910, 1912, 1916, 1920, 1923,
307 1926, 1930, 1932, 1936, 1940, 1943, 1946, 1950, 1952, 1957,
308 1961, 1966, 1970, 1972, 1975, 1978, 1981, 1984, 1987, 1989,
309 1992, 1997, 2002, 2005, 2007, 2009, 2011, 2013, 2016, 2019,
310 2022, 2025, 2028, 2030, 2033, 2036, 2038, 2041, 2044, 2047,
311 2050, 2053, 2056, 2059, 2062, 2064, 2067, 2070, 2074, 2076,
312 2080, 2083, 2087, 2090, 2093, 2097, 2099, 2103, 2108, 2112,
313 2115, 2118, 2120, 2124, 2127, 2130, 2132, 2135, 2139, 2141,
314 2145, 2147, 2154, 2159, 2164, 2168, 2174, 2178, 2182, 2186,
315 2189, 2191, 2193, 2196, 2199, 2202, 2203, 2204, 2205, 2207,
316 2209, 2212, 2216, 2218, 2221, 2222, 2228, 2229, 2230, 2237,
317 2239, 2240, 2245, 2247, 2249, 2251, 2254, 2255, 2256, 2263,
318 2265, 2266, 2267, 2275, 2276, 2277, 2285, 2286, 2287, 2288,
319 2289, 2304, 2305, 2306, 2316, 2317, 2323, 2324, 2332, 2333,
320 2338, 2341, 2344, 2347, 2351, 2358, 2367, 2378, 2391, 2396,
321 2400, 2403, 2406, 2408, 2410, 2411, 2412, 2419, 2420, 2421,
322 2427, 2429, 2432, 2433, 2434, 2435, 2444, 2446, 2448, 2452,
323 2456, 2459, 2462, 2465, 2468, 2471, 2473, 2476, 2477, 2479,
324 2480, 2482, 2484, 2485, 2487, 2489, 2493, 2498, 2500, 2504,
325 2505, 2507, 2509, 2511, 2514, 2517, 2520, 2522, 2524, 2527,
326 2530, 2533, 2536, 2537, 2541, 2543, 2545, 2547, 2550, 2553,
327 2556, 2561, 2564, 2567, 2570, 2573, 2576, 2579, 2581, 2584,
328 2586, 2589, 2591, 2593, 2594, 2595, 2597, 2598, 2603, 2606,
329 2608, 2610, 2614, 2615, 2619, 2623, 2627, 2629, 2632, 2635,
330 2638, 2641, 2644, 2647, 2650, 2653, 2656, 2659, 2662, 2665,
331 2668, 2671, 2674, 2677, 2680, 2683, 2686, 2689, 2692, 2695,
332 2698, 2702, 2705, 2708, 2711, 2714, 2718, 2721, 2724, 2729,
333 2734, 2738
861bb6c1
JL
334};
335
336static const short yyrhs[] = { -1,
386b8a85
JM
337 115, 0, 0, 116, 122, 0, 115, 122, 0, 115,
338 0, 0, 0, 0, 33, 0, 27, 0, 28, 0,
73b0fce8
KL
339 0, 123, 124, 0, 142, 141, 0, 138, 0, 137,
340 0, 121, 94, 210, 110, 61, 0, 129, 59, 117,
341 111, 0, 129, 118, 142, 119, 141, 0, 129, 118,
342 138, 119, 0, 0, 45, 157, 59, 125, 117, 111,
343 0, 0, 45, 59, 126, 117, 111, 0, 45, 157,
386b8a85 344 65, 128, 61, 0, 127, 61, 0, 47, 45, 128,
73b0fce8
KL
345 61, 0, 120, 124, 0, 47, 302, 0, 47, 315,
346 302, 0, 47, 315, 201, 0, 201, 0, 302, 0,
347 315, 302, 0, 315, 201, 0, 100, 0, 129, 100,
386b8a85 348 0, 0, 49, 75, 131, 132, 76, 0, 49, 75,
73b0fce8
KL
349 76, 0, 136, 0, 132, 60, 136, 0, 157, 0,
350 0, 259, 133, 0, 46, 133, 0, 130, 259, 133,
351 0, 134, 0, 134, 65, 216, 0, 382, 0, 382,
352 65, 196, 0, 135, 0, 135, 65, 57, 0, 130,
353 124, 0, 130, 1, 0, 227, 61, 0, 220, 226,
354 61, 0, 217, 225, 61, 0, 220, 61, 0, 160,
355 61, 0, 217, 61, 0, 1, 61, 0, 1, 111,
356 0, 61, 0, 211, 0, 153, 0, 0, 152, 0,
357 152, 61, 0, 0, 109, 0, 148, 140, 139, 327,
358 0, 148, 140, 352, 0, 148, 140, 1, 0, 0,
359 307, 5, 94, 144, 373, 110, 289, 385, 0, 307,
360 5, 48, 289, 385, 0, 0, 315, 307, 5, 94,
361 145, 373, 110, 289, 385, 0, 315, 307, 5, 48,
362 289, 385, 0, 0, 307, 172, 94, 146, 373, 110,
363 289, 385, 0, 307, 172, 48, 289, 385, 0, 0,
364 315, 307, 172, 94, 147, 373, 110, 289, 385, 0,
365 315, 307, 172, 48, 289, 385, 0, 217, 214, 0,
366 220, 299, 0, 299, 0, 220, 143, 0, 143, 0,
367 5, 94, 373, 110, 289, 385, 0, 5, 48, 289,
368 385, 0, 172, 94, 373, 110, 289, 385, 0, 172,
369 48, 289, 385, 0, 220, 149, 0, 149, 0, 217,
370 214, 0, 220, 299, 0, 299, 0, 220, 143, 0,
371 143, 0, 130, 150, 0, 25, 3, 0, 151, 244,
372 0, 151, 94, 190, 110, 0, 151, 48, 0, 63,
373 154, 155, 0, 0, 0, 156, 0, 155, 60, 156,
374 0, 155, 1, 0, 94, 190, 110, 0, 48, 0,
375 158, 94, 190, 110, 0, 158, 48, 0, 295, 94,
376 190, 110, 0, 295, 48, 0, 309, 94, 190, 110,
377 0, 309, 48, 0, 3, 0, 4, 0, 5, 0,
378 57, 0, 58, 0, 3, 0, 57, 0, 58, 0,
379 106, 0, 105, 0, 107, 0, 0, 49, 169, 223,
380 61, 161, 170, 0, 0, 49, 169, 217, 214, 162,
381 170, 0, 0, 49, 169, 299, 163, 170, 0, 0,
382 49, 169, 143, 164, 170, 0, 0, 7, 49, 169,
383 223, 61, 165, 170, 0, 0, 7, 49, 169, 217,
384 214, 166, 170, 0, 0, 7, 49, 169, 299, 167,
385 170, 0, 0, 7, 49, 169, 143, 168, 170, 0,
386 0, 0, 57, 75, 174, 173, 0, 4, 75, 174,
387 173, 0, 172, 0, 5, 75, 174, 173, 0, 76,
388 0, 78, 0, 0, 175, 0, 176, 0, 175, 60,
389 176, 0, 0, 177, 178, 0, 216, 0, 196, 0,
390 80, 0, 79, 0, 87, 0, 88, 0, 112, 0,
391 189, 0, 196, 0, 48, 0, 94, 180, 110, 0,
392 48, 0, 94, 184, 110, 0, 0, 184, 0, 1,
393 0, 0, 363, 214, 228, 237, 65, 185, 245, 0,
394 180, 0, 111, 0, 324, 320, 111, 0, 324, 320,
395 1, 111, 0, 324, 1, 111, 0, 0, 59, 188,
396 186, 0, 336, 0, 196, 60, 196, 0, 196, 60,
397 1, 0, 189, 60, 196, 0, 189, 60, 1, 0,
398 196, 0, 189, 0, 205, 0, 120, 195, 0, 81,
399 195, 0, 71, 195, 0, 89, 195, 0, 179, 195,
400 0, 68, 157, 0, 13, 191, 0, 13, 94, 216,
401 110, 0, 30, 191, 0, 30, 94, 216, 110, 0,
402 207, 288, 0, 207, 288, 193, 0, 207, 192, 288,
403 0, 207, 192, 288, 193, 0, 207, 94, 216, 110,
404 0, 207, 94, 216, 110, 193, 0, 207, 192, 94,
405 216, 110, 0, 207, 192, 94, 216, 110, 193, 0,
406 208, 195, 0, 208, 95, 113, 195, 0, 208, 95,
407 180, 113, 195, 0, 35, 195, 0, 36, 195, 0,
408 94, 190, 110, 0, 59, 190, 111, 0, 94, 190,
409 110, 0, 48, 0, 94, 223, 110, 0, 65, 245,
410 0, 94, 216, 110, 0, 194, 94, 216, 110, 0,
411 191, 0, 194, 191, 0, 194, 59, 246, 257, 111,
412 0, 195, 0, 196, 84, 196, 0, 196, 85, 196,
413 0, 196, 79, 196, 0, 196, 80, 196, 0, 196,
414 81, 196, 0, 196, 82, 196, 0, 196, 83, 196,
415 0, 196, 77, 196, 0, 196, 78, 196, 0, 196,
416 74, 196, 0, 196, 75, 196, 0, 196, 76, 196,
417 0, 196, 73, 196, 0, 196, 72, 196, 0, 196,
418 71, 196, 0, 196, 69, 196, 0, 196, 70, 196,
419 0, 196, 68, 196, 0, 196, 67, 196, 0, 196,
420 66, 368, 63, 196, 0, 196, 65, 196, 0, 196,
421 64, 196, 0, 62, 0, 62, 196, 0, 89, 383,
422 157, 0, 199, 0, 390, 0, 3, 0, 57, 0,
423 58, 0, 0, 6, 75, 198, 174, 173, 0, 390,
424 75, 198, 174, 173, 0, 49, 157, 75, 174, 173,
425 0, 49, 6, 75, 174, 173, 0, 49, 390, 75,
426 174, 173, 0, 197, 0, 4, 0, 5, 0, 197,
427 0, 81, 202, 0, 71, 202, 0, 94, 202, 110,
428 0, 3, 75, 174, 173, 0, 58, 75, 175, 173,
429 0, 301, 0, 197, 0, 203, 0, 94, 202, 110,
430 0, 197, 0, 10, 0, 209, 0, 210, 0, 94,
431 180, 110, 0, 94, 202, 110, 0, 94, 1, 110,
432 0, 0, 94, 206, 328, 110, 0, 205, 94, 190,
433 110, 0, 205, 48, 0, 205, 95, 180, 113, 0,
434 205, 87, 0, 205, 88, 0, 41, 0, 9, 94,
435 190, 110, 0, 305, 0, 51, 75, 216, 76, 94,
436 180, 110, 0, 52, 75, 216, 76, 94, 180, 110,
437 0, 53, 75, 216, 76, 94, 180, 110, 0, 54,
438 75, 216, 76, 94, 180, 110, 0, 50, 94, 180,
439 110, 0, 50, 94, 216, 110, 0, 315, 3, 0,
440 315, 390, 0, 304, 0, 304, 94, 190, 110, 0,
441 304, 48, 0, 212, 200, 0, 212, 200, 94, 190,
442 110, 0, 212, 200, 48, 0, 212, 201, 0, 212,
443 304, 0, 212, 201, 94, 190, 110, 0, 212, 201,
444 48, 0, 212, 304, 94, 190, 110, 0, 212, 304,
445 48, 0, 212, 89, 8, 48, 0, 212, 8, 55,
446 89, 8, 48, 0, 212, 1, 0, 40, 0, 315,
447 40, 0, 39, 0, 315, 208, 0, 43, 0, 44,
448 0, 11, 0, 210, 11, 0, 0, 205, 93, 0,
449 205, 92, 0, 223, 225, 61, 0, 217, 225, 61,
450 0, 220, 226, 61, 0, 217, 61, 0, 220, 61,
451 0, 120, 213, 0, 294, 0, 299, 0, 48, 0,
452 215, 48, 0, 221, 318, 0, 290, 318, 0, 223,
453 318, 0, 221, 0, 290, 0, 221, 0, 218, 0,
454 220, 223, 0, 223, 219, 0, 223, 222, 219, 0,
455 220, 223, 219, 0, 220, 223, 222, 0, 220, 223,
456 222, 219, 0, 7, 0, 219, 224, 0, 219, 7,
457 0, 219, 238, 0, 238, 0, 290, 0, 7, 0,
458 220, 9, 0, 220, 7, 0, 220, 238, 0, 238,
459 0, 223, 0, 290, 223, 0, 223, 222, 0, 290,
460 223, 222, 0, 224, 0, 222, 224, 0, 252, 0,
461 8, 0, 296, 0, 29, 94, 180, 110, 0, 29,
462 94, 216, 110, 0, 31, 94, 180, 110, 0, 31,
463 94, 216, 110, 0, 8, 0, 9, 0, 252, 0,
464 229, 0, 225, 60, 231, 0, 233, 0, 226, 60,
465 231, 0, 235, 0, 227, 60, 231, 0, 0, 121,
466 94, 210, 110, 0, 0, 214, 228, 237, 65, 230,
467 245, 0, 214, 228, 237, 0, 0, 214, 228, 237,
468 65, 232, 245, 0, 214, 228, 237, 0, 0, 299,
469 228, 237, 65, 234, 245, 0, 299, 228, 237, 0,
470 0, 299, 228, 237, 65, 236, 245, 0, 299, 228,
471 237, 0, 0, 238, 0, 239, 0, 238, 239, 0,
472 32, 94, 94, 240, 110, 110, 0, 241, 0, 240,
473 60, 241, 0, 0, 242, 0, 242, 94, 3, 110,
474 0, 242, 94, 3, 60, 190, 110, 0, 242, 94,
475 190, 110, 0, 157, 0, 7, 0, 8, 0, 9,
476 0, 157, 0, 243, 60, 157, 0, 0, 65, 245,
477 0, 196, 0, 59, 111, 0, 59, 246, 111, 0,
478 59, 246, 60, 111, 0, 1, 0, 245, 0, 246,
479 60, 245, 0, 95, 196, 113, 245, 0, 246, 60,
480 21, 196, 63, 245, 0, 157, 63, 245, 0, 246,
481 60, 157, 63, 245, 0, 99, 0, 247, 140, 139,
482 327, 0, 247, 140, 352, 0, 247, 140, 1, 0,
483 0, 249, 248, 141, 0, 104, 196, 109, 0, 104,
484 1, 109, 0, 0, 251, 250, 0, 251, 1, 0,
485 0, 14, 157, 59, 253, 286, 258, 111, 0, 14,
486 157, 59, 111, 0, 0, 14, 59, 254, 286, 258,
487 111, 0, 14, 59, 111, 0, 14, 157, 0, 14,
488 313, 0, 46, 309, 0, 0, 0, 266, 272, 274,
489 111, 237, 255, 251, 256, 249, 0, 266, 0, 0,
490 60, 0, 0, 60, 0, 37, 0, 259, 7, 0,
491 259, 8, 0, 259, 9, 0, 259, 37, 0, 259,
492 157, 0, 259, 159, 0, 259, 307, 157, 0, 259,
493 315, 307, 157, 0, 259, 315, 157, 0, 259, 171,
494 0, 259, 307, 171, 0, 0, 260, 0, 261, 263,
495 267, 0, 262, 267, 0, 259, 59, 0, 265, 0,
496 264, 0, 0, 63, 383, 0, 63, 383, 268, 0,
497 269, 0, 268, 60, 383, 269, 0, 270, 0, 271,
498 383, 270, 0, 309, 0, 295, 0, 31, 94, 180,
499 110, 0, 31, 94, 216, 110, 0, 38, 383, 0,
500 7, 383, 0, 271, 38, 383, 0, 271, 7, 383,
501 0, 59, 0, 0, 273, 0, 273, 275, 0, 274,
502 38, 63, 275, 0, 274, 38, 63, 0, 276, 0,
503 275, 276, 0, 277, 61, 0, 277, 111, 0, 150,
504 63, 0, 150, 96, 0, 150, 25, 0, 150, 59,
505 0, 61, 0, 120, 276, 0, 217, 278, 0, 220,
506 279, 0, 299, 228, 237, 244, 0, 143, 228, 237,
507 244, 0, 63, 196, 0, 1, 0, 220, 149, 228,
508 237, 244, 0, 149, 228, 237, 244, 0, 127, 0,
509 130, 277, 0, 0, 280, 0, 278, 60, 281, 0,
510 0, 283, 0, 279, 60, 285, 0, 282, 0, 283,
511 0, 284, 0, 285, 0, 294, 228, 237, 244, 0,
512 4, 63, 196, 237, 0, 299, 228, 237, 244, 0,
513 143, 228, 237, 244, 0, 3, 63, 196, 237, 0,
514 63, 196, 237, 0, 294, 228, 237, 244, 0, 4,
515 63, 196, 237, 0, 299, 228, 237, 244, 0, 3,
516 63, 196, 237, 0, 63, 196, 237, 0, 287, 0,
517 286, 60, 287, 0, 157, 0, 157, 65, 196, 0,
518 363, 316, 0, 363, 0, 94, 216, 110, 95, 180,
519 113, 0, 0, 289, 9, 0, 9, 0, 290, 9,
520 0, 0, 291, 180, 0, 291, 94, 190, 110, 0,
521 291, 94, 373, 110, 0, 291, 48, 0, 291, 94,
522 1, 110, 0, 81, 290, 294, 0, 71, 290, 294,
523 0, 81, 294, 0, 71, 294, 0, 314, 289, 294,
524 0, 298, 0, 306, 0, 315, 306, 0, 295, 0,
525 297, 0, 315, 297, 0, 307, 306, 0, 298, 293,
526 289, 385, 0, 298, 95, 292, 113, 0, 298, 95,
527 113, 0, 94, 294, 110, 0, 307, 306, 0, 306,
528 0, 81, 290, 299, 0, 71, 290, 299, 0, 81,
529 299, 0, 71, 299, 0, 314, 289, 299, 0, 204,
530 0, 81, 290, 299, 0, 71, 290, 299, 0, 81,
531 300, 0, 71, 300, 0, 314, 289, 299, 0, 301,
532 0, 204, 293, 289, 385, 0, 94, 300, 110, 0,
533 204, 95, 292, 113, 0, 204, 95, 113, 0, 303,
534 0, 307, 203, 0, 307, 201, 0, 307, 200, 0,
535 307, 197, 0, 307, 200, 0, 303, 0, 315, 303,
536 0, 223, 94, 190, 110, 0, 223, 94, 202, 110,
537 0, 223, 215, 0, 4, 0, 5, 0, 171, 0,
538 308, 0, 307, 308, 0, 4, 55, 0, 5, 55,
539 0, 58, 55, 0, 171, 55, 0, 310, 0, 315,
540 310, 0, 311, 157, 0, 312, 0, 311, 312, 0,
541 4, 55, 0, 5, 55, 0, 171, 55, 0, 57,
542 55, 0, 3, 55, 0, 58, 55, 0, 315, 306,
543 0, 297, 0, 315, 297, 0, 307, 81, 0, 315,
544 307, 81, 0, 55, 0, 81, 289, 316, 0, 81,
545 289, 0, 71, 289, 316, 0, 71, 289, 0, 314,
546 289, 0, 314, 289, 316, 0, 317, 0, 95, 180,
547 113, 0, 317, 95, 292, 113, 0, 81, 290, 318,
548 0, 81, 318, 0, 81, 290, 0, 81, 0, 71,
549 290, 318, 0, 71, 318, 0, 71, 290, 0, 71,
550 0, 314, 289, 0, 314, 289, 318, 0, 319, 0,
551 94, 318, 110, 0, 91, 0, 319, 94, 373, 110,
552 289, 385, 0, 319, 48, 289, 385, 0, 319, 95,
553 292, 113, 0, 319, 95, 113, 0, 94, 374, 110,
554 289, 385, 0, 194, 289, 385, 0, 215, 289, 385,
555 0, 95, 292, 113, 0, 95, 113, 0, 335, 0,
556 321, 0, 320, 335, 0, 320, 321, 0, 1, 61,
557 0, 0, 0, 0, 325, 0, 326, 0, 325, 326,
558 0, 34, 243, 61, 0, 328, 0, 1, 328, 0,
559 0, 59, 329, 322, 186, 323, 0, 0, 0, 15,
560 331, 322, 182, 332, 333, 0, 328, 0, 0, 322,
561 334, 336, 323, 0, 328, 0, 336, 0, 213, 0,
562 180, 61, 0, 0, 0, 330, 16, 337, 333, 338,
563 323, 0, 330, 0, 0, 0, 17, 339, 322, 182,
564 340, 187, 323, 0, 0, 0, 18, 341, 333, 17,
565 342, 181, 61, 0, 0, 0, 0, 0, 19, 343,
566 94, 366, 344, 322, 183, 61, 345, 368, 110, 346,
567 187, 323, 0, 0, 0, 20, 322, 94, 184, 110,
568 347, 333, 348, 323, 0, 0, 21, 196, 63, 349,
569 335, 0, 0, 21, 196, 12, 196, 63, 350, 335,
570 0, 0, 22, 63, 351, 335, 0, 23, 61, 0,
571 24, 61, 0, 25, 61, 0, 25, 180, 61, 0,
572 121, 367, 94, 210, 110, 61, 0, 121, 367, 94,
573 210, 63, 369, 110, 61, 0, 121, 367, 94, 210,
574 63, 369, 63, 369, 110, 61, 0, 121, 367, 94,
575 210, 63, 369, 63, 369, 63, 372, 110, 61, 0,
576 26, 81, 180, 61, 0, 26, 157, 61, 0, 365,
577 335, 0, 365, 111, 0, 61, 0, 355, 0, 0,
578 0, 96, 353, 139, 328, 354, 358, 0, 0, 0,
579 96, 356, 328, 357, 358, 0, 359, 0, 358, 359,
580 0, 0, 0, 0, 97, 360, 322, 364, 361, 328,
581 362, 323, 0, 221, 0, 290, 0, 94, 12, 110,
582 0, 94, 382, 110, 0, 3, 63, 0, 57, 63,
583 0, 4, 63, 0, 5, 63, 0, 368, 61, 0,
584 213, 0, 59, 186, 0, 0, 9, 0, 0, 180,
585 0, 1, 0, 0, 370, 0, 371, 0, 370, 60,
586 371, 0, 11, 94, 180, 110, 0, 11, 0, 372,
587 60, 11, 0, 0, 374, 0, 216, 0, 378, 0,
588 379, 12, 0, 378, 12, 0, 216, 12, 0, 12,
589 0, 98, 0, 378, 98, 0, 216, 98, 0, 378,
590 63, 0, 216, 63, 0, 0, 65, 376, 377, 0,
591 103, 0, 245, 0, 380, 0, 382, 375, 0, 379,
592 381, 0, 379, 384, 0, 379, 384, 65, 245, 0,
593 378, 60, 0, 216, 60, 0, 218, 214, 0, 221,
594 214, 0, 223, 214, 0, 218, 318, 0, 218, 0,
595 220, 299, 0, 382, 0, 382, 375, 0, 380, 0,
596 216, 0, 0, 0, 299, 0, 0, 62, 94, 387,
597 110, 0, 62, 48, 0, 216, 0, 386, 0, 387,
598 60, 386, 0, 0, 81, 289, 388, 0, 71, 289,
599 388, 0, 314, 289, 388, 0, 42, 0, 389, 81,
600 0, 389, 82, 0, 389, 83, 0, 389, 79, 0,
601 389, 80, 0, 389, 71, 0, 389, 69, 0, 389,
602 70, 0, 389, 89, 0, 389, 60, 0, 389, 74,
603 0, 389, 75, 0, 389, 76, 0, 389, 73, 0,
604 389, 64, 0, 389, 65, 0, 389, 77, 0, 389,
605 78, 0, 389, 87, 0, 389, 88, 0, 389, 68,
606 0, 389, 67, 0, 389, 112, 0, 389, 66, 63,
607 0, 389, 72, 0, 389, 92, 0, 389, 84, 0,
608 389, 48, 0, 389, 95, 113, 0, 389, 40, 0,
609 389, 39, 0, 389, 40, 95, 113, 0, 389, 39,
610 95, 113, 0, 389, 363, 388, 0, 389, 1, 0
861bb6c1
JL
611};
612
613#endif
614
615#if YYDEBUG != 0
616static const short yyrline[] = { 0,
e1467ff2
MM
617 317, 319, 333, 336, 337, 341, 343, 346, 351, 355,
618 361, 363, 366, 369, 373, 376, 378, 380, 383, 385,
619 388, 391, 393, 395, 397, 399, 401, 403, 409, 413,
620 416, 418, 422, 424, 425, 427, 431, 434, 440, 443,
621 445, 450, 453, 457, 460, 463, 475, 479, 497, 507,
622 509, 511, 513, 515, 530, 539, 549, 552, 554, 558,
623 560, 561, 568, 569, 570, 573, 576, 580, 582, 583,
624 586, 588, 591, 594, 596, 600, 610, 612, 622, 631,
625 633, 643, 652, 654, 664, 673, 675, 687, 695, 702,
626 707, 714, 721, 724, 726, 728, 734, 744, 746, 749,
627 752, 754, 757, 759, 763, 772, 775, 777, 781, 794,
628 814, 817, 819, 820, 823, 830, 836, 838, 840, 842,
629 844, 847, 852, 854, 855, 856, 857, 860, 862, 863,
630 866, 868, 869, 872, 877, 877, 881, 881, 884, 884,
631 887, 887, 891, 891, 896, 896, 899, 899, 902, 904,
632 907, 914, 921, 927, 930, 939, 941, 949, 952, 955,
633 958, 962, 965, 968, 971, 974, 977, 979, 981, 983,
634 987, 990, 993, 998, 1002, 1007, 1011, 1014, 1016, 1020,
635 1040, 1047, 1050, 1052, 1053, 1054, 1057, 1068, 1077, 1081,
636 1085, 1088, 1090, 1094, 1097, 1100, 1104, 1107, 1109, 1111,
637 1113, 1120, 1133, 1135, 1137, 1139, 1145, 1148, 1151, 1154,
638 1157, 1161, 1164, 1167, 1171, 1173, 1177, 1181, 1183, 1187,
639 1190, 1197, 1200, 1202, 1210, 1219, 1225, 1232, 1234, 1236,
640 1249, 1252, 1254, 1256, 1258, 1260, 1262, 1264, 1266, 1268,
641 1270, 1272, 1274, 1276, 1278, 1280, 1282, 1284, 1286, 1288,
642 1290, 1292, 1296, 1298, 1300, 1317, 1320, 1321, 1322, 1323,
643 1324, 1327, 1330, 1333, 1337, 1340, 1342, 1347, 1349, 1350,
644 1353, 1355, 1357, 1359, 1363, 1366, 1370, 1372, 1373, 1374,
645 1378, 1400, 1401, 1402, 1410, 1418, 1426, 1428, 1436, 1457,
646 1464, 1471, 1473, 1482, 1487, 1510, 1554, 1555, 1559, 1563,
647 1567, 1571, 1573, 1577, 1579, 1587, 1589, 1594, 1600, 1604,
648 1609, 1614, 1616, 1621, 1636, 1651, 1662, 1674, 1682, 1691,
649 1735, 1738, 1742, 1745, 1749, 1752, 1757, 1759, 1763, 1776,
650 1779, 1786, 1793, 1798, 1800, 1805, 1807, 1814, 1816, 1820,
651 1824, 1830, 1834, 1837, 1840, 1843, 1853, 1855, 1858, 1862,
652 1865, 1868, 1871, 1874, 1880, 1886, 1888, 1893, 1895, 1904,
653 1907, 1909, 1912, 1918, 1920, 1930, 1934, 1937, 1940, 1945,
654 1948, 1956, 1958, 1960, 1962, 1965, 1968, 1983, 2002, 2005,
655 2007, 2010, 2012, 2015, 2017, 2020, 2022, 2025, 2028, 2032,
656 2051, 2053, 2073, 2079, 2080, 2086, 2095, 2097, 2107, 2116,
657 2118, 2130, 2133, 2137, 2140, 2144, 2149, 2152, 2156, 2159,
658 2161, 2163, 2165, 2172, 2174, 2175, 2176, 2180, 2183, 2187,
659 2190, 2196, 2198, 2201, 2204, 2207, 2213, 2216, 2219, 2221,
660 2223, 2225, 2229, 2235, 2243, 2245, 2249, 2251, 2256, 2259,
661 2262, 2264, 2266, 2270, 2274, 2279, 2283, 2286, 2291, 2295,
abff8e06
JM
662 2298, 2301, 2305, 2341, 2347, 2356, 2376, 2378, 2381, 2383,
663 2388, 2390, 2392, 2394, 2396, 2400, 2405, 2410, 2416, 2421,
664 2426, 2428, 2432, 2437, 2440, 2447, 2475, 2481, 2483, 2486,
665 2489, 2491, 2495, 2497, 2501, 2527, 2556, 2559, 2560, 2581,
666 2604, 2606, 2610, 2636, 2645, 2734, 2741, 2744, 2752, 2763,
667 2772, 2776, 2791, 2794, 2799, 2801, 2803, 2805, 2807, 2809,
668 2814, 2820, 2822, 2825, 2828, 2830, 2841, 2846, 2849, 2851,
669 2856, 2859, 2860, 2871, 2874, 2875, 2886, 2888, 2891, 2893,
670 2896, 2903, 2911, 2918, 2924, 2930, 2938, 2942, 2947, 2951,
671 2954, 2963, 2965, 2969, 2972, 2977, 2981, 2986, 2996, 2999,
672 3003, 3007, 3015, 3020, 3026, 3029, 3031, 3033, 3039, 3042,
673 3044, 3046, 3048, 3052, 3055, 3076, 3086, 3088, 3089, 3093,
674 3098, 3101, 3103, 3105, 3107, 3111, 3117, 3120, 3122, 3124,
675 3126, 3130, 3133, 3136, 3138, 3140, 3142, 3146, 3149, 3152,
676 3154, 3156, 3158, 3165, 3176, 3180, 3185, 3189, 3194, 3196,
677 3200, 3203, 3205, 3209, 3211, 3212, 3215, 3217, 3223, 3238,
678 3244, 3250, 3264, 3266, 3270, 3286, 3292, 3307, 3314, 3320,
679 3322, 3323, 3324, 3332, 3341, 3342, 3346, 3349, 3355, 3361,
680 3364, 3366, 3368, 3370, 3374, 3378, 3382, 3385, 3390, 3393,
681 3395, 3397, 3399, 3401, 3403, 3405, 3407, 3411, 3415, 3419,
682 3423, 3424, 3426, 3428, 3430, 3432, 3434, 3436, 3438, 3440,
683 3448, 3450, 3451, 3452, 3455, 3463, 3468, 3475, 3477, 3482,
684 3484, 3487, 3501, 3504, 3507, 3516, 3528, 3539, 3559, 3569,
685 3572, 3580, 3592, 3595, 3598, 3601, 3617, 3620, 3631, 3632,
686 3636, 3651, 3670, 3682, 3696, 3710, 3723, 3742, 3760, 3779,
687 3787, 3808, 3826, 3839, 3840, 3843, 3843, 3846, 3846, 3849,
688 3849, 3855, 3861, 3864, 3869, 3876, 3885, 3894, 3903, 3911,
689 3924, 3926, 3930, 3932, 3935, 3942, 3945, 3953, 3969, 3980,
690 3992, 3994, 3997, 4007, 4017, 4028, 4030, 4032, 4035, 4052,
691 4058, 4066, 4068, 4070, 4074, 4077, 4078, 4086, 4090, 4094,
692 4097, 4098, 4104, 4107, 4110, 4112, 4116, 4121, 4124, 4134,
693 4139, 4140, 4148, 4154, 4159, 4163, 4168, 4172, 4176, 4180,
694 4185, 4196, 4210, 4214, 4217, 4219, 4223, 4227, 4230, 4233,
695 4235, 4239, 4241, 4248, 4255, 4258, 4261, 4265, 4269, 4275,
696 4279, 4284, 4286, 4289, 4294, 4300, 4311, 4314, 4316, 4320,
697 4325, 4327, 4334, 4337, 4339, 4341, 4347, 4352, 4355, 4357,
698 4359, 4361, 4363, 4365, 4367, 4369, 4371, 4373, 4375, 4377,
699 4379, 4381, 4383, 4385, 4387, 4389, 4391, 4393, 4395, 4397,
700 4399, 4401, 4403, 4405, 4407, 4409, 4411, 4413, 4415, 4417,
701 4420, 4422
861bb6c1 702};
8eeda2ec
JM
703#endif
704
705
706#if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
861bb6c1
JL
707
708static const char * const yytname[] = { "$","error","$undefined.","IDENTIFIER",
386b8a85
JM
709"TYPENAME","SELFNAME","PFUNCNAME","SCSPEC","TYPESPEC","CV_QUALIFIER","CONSTANT",
710"STRING","ELLIPSIS","SIZEOF","ENUM","IF","ELSE","WHILE","DO","FOR","SWITCH",
711"CASE","DEFAULT","BREAK","CONTINUE","RETURN","GOTO","ASM_KEYWORD","GCC_ASM_KEYWORD",
712"TYPEOF","ALIGNOF","SIGOF","ATTRIBUTE","EXTENSION","LABEL","REALPART","IMAGPART",
713"AGGR","VISSPEC","DELETE","NEW","THIS","OPERATOR","CXX_TRUE","CXX_FALSE","NAMESPACE",
861bb6c1
JL
714"TYPENAME_KEYWORD","USING","LEFT_RIGHT","TEMPLATE","TYPEID","DYNAMIC_CAST","STATIC_CAST",
715"REINTERPRET_CAST","CONST_CAST","SCOPE","EMPTY","PTYPENAME","NSNAME","'{'","','",
716"';'","THROW","':'","ASSIGN","'='","'?'","OROR","ANDAND","'|'","'^'","'&'","MIN_MAX",
717"EQCOMPARE","ARITHCOMPARE","'<'","'>'","LSHIFT","RSHIFT","'+'","'-'","'*'","'/'",
718"'%'","POINTSAT_STAR","DOT_STAR","UNARY","PLUSPLUS","MINUSMINUS","'~'","HYPERUNARY",
719"PAREN_STAR_PAREN","POINTSAT","'.'","'('","'['","TRY","CATCH","TYPENAME_ELLIPSIS",
720"PRE_PARSED_FUNCTION_DECL","EXTERN_LANG_STRING","ALL","PRE_PARSED_CLASS_DECL",
721"DEFARG","DEFARG_MARKER","TYPENAME_DEFN","IDENTIFIER_DEFN","PTYPENAME_DEFN",
722"END_OF_LINE","END_OF_SAVED_INPUT","')'","'}'","'!'","']'","program","extdefs",
723"@1","extdefs_opt",".hush_warning",".warning_ok","extension","asm_keyword","lang_extdef",
724"@2","extdef","@3","@4","using_decl","any_id","extern_lang_string","template_header",
73b0fce8
KL
725"@5","template_parm_list","maybe_identifier","template_type_parm","template_template_parm",
726"template_parm","template_def","datadef","ctor_initializer_opt","maybe_return_init",
727"eat_saved_input","fndef","constructor_declarator","@6","@7","@8","@9","fn.def1",
728"component_constructor_declarator","fn.def2","return_id","return_init","base_init",
729".set_base_init","member_init_list","member_init","identifier","notype_identifier",
730"identifier_defn","explicit_instantiation","@10","@11","@12","@13","@14","@15",
731"@16","@17","begin_explicit_instantiation","end_explicit_instantiation","template_type",
732"self_template_type","template_close_bracket","template_arg_list_opt","template_arg_list",
733"template_arg","@18","template_arg1","unop","expr","paren_expr_or_null","paren_cond_or_null",
734"xcond","condition","@19","compstmtend","already_scoped_stmt","@20","nontrivial_exprlist",
735"nonnull_exprlist","unary_expr","new_placement","new_initializer","regcast_or_absdcl",
736"cast_expr","expr_no_commas","notype_unqualified_id","do_id","template_id","object_template_id",
737"unqualified_id","expr_or_declarator","notype_template_declarator","direct_notype_declarator",
738"primary","@21","new","delete","boolean.literal","string","nodecls","object",
739"decl","declarator","fcast_or_absdcl","type_id","typed_declspecs","typed_declspecs1",
740"reserved_declspecs","declmods","typed_typespecs","reserved_typespecquals","typespec",
741"typespecqual_reserved","initdecls","notype_initdecls","nomods_initdecls","maybeasm",
742"initdcl0","@22","initdcl","@23","notype_initdcl0","@24","nomods_initdcl0","@25",
743"maybe_attribute","attributes","attribute","attribute_list","attrib","any_word",
744"identifiers_or_typenames","maybe_init","init","initlist","fn.defpen","pending_inline",
745"pending_inlines","defarg_again","pending_defargs","structsp","@26","@27","@28",
746"@29","maybecomma","maybecomma_warn","aggr","named_class_head_sans_basetype",
747"named_class_head_sans_basetype_defn","named_complex_class_head_sans_basetype",
748"do_xref_defn","named_class_head","unnamed_class_head","class_head","maybe_base_class_list",
749"base_class_list","base_class","base_class.1","base_class_access_list","left_curly",
750"self_reference","opt.component_decl_list","component_decl_list","component_decl",
751"component_decl_1","components","notype_components","component_declarator0",
752"component_declarator","after_type_component_declarator0","notype_component_declarator0",
753"after_type_component_declarator","notype_component_declarator","enumlist","enumerator",
754"new_type_id","cv_qualifiers","nonempty_cv_qualifiers","suspend_mom","nonmomentary_expr",
755"maybe_parmlist","after_type_declarator","nonnested_type","complete_type_name",
756"nested_type","direct_after_type_declarator","notype_declarator","complex_notype_declarator",
757"complex_direct_notype_declarator","qualified_id","notype_qualified_id","overqualified_id",
758"functional_cast","type_name","nested_name_specifier","nested_name_specifier_1",
759"typename_sub","typename_sub0","typename_sub1","typename_sub2","complex_type_name",
760"ptr_to_mem","global_scope","new_declarator","direct_new_declarator","absdcl",
761"direct_abstract_declarator","stmts","errstmt",".pushlevel",".poplevel","maybe_label_decls",
762"label_decls","label_decl","compstmt_or_error","compstmt","@30","simple_if",
763"@31","@32","implicitly_scoped_stmt","@33","stmt","simple_stmt","@34","@35",
764"@36","@37","@38","@39","@40","@41","@42","@43","@44","@45","@46","@47","@48",
765"function_try_block","@49","@50","try_block","@51","@52","handler_seq","handler",
766"@53","@54","@55","type_specifier_seq","handler_args","label_colon","for.init.statement",
767"maybe_cv_qualifier","xexpr","asm_operands","nonnull_asm_operands","asm_operand",
768"asm_clobbers","parmlist","complex_parmlist","defarg","@56","defarg1","parms",
769"parms_comma","named_parm","full_parm","parm","see_typename","bad_parm","exception_specification_opt",
770"ansi_raise_identifier","ansi_raise_identifiers","conversion_declarator","operator",
771"operator_name", NULL
861bb6c1
JL
772};
773#endif
774
775static const short yyr1[] = { 0,
386b8a85
JM
776 114, 114, 116, 115, 115, 117, 117, 118, 119, 120,
777 121, 121, 123, 122, 124, 124, 124, 124, 124, 124,
778 124, 125, 124, 126, 124, 124, 124, 124, 124, 127,
779 127, 127, 128, 128, 128, 128, 129, 129, 131, 130,
73b0fce8
KL
780 130, 132, 132, 133, 133, 134, 134, 135, 136, 136,
781 136, 136, 136, 136, 137, 137, 138, 138, 138, 138,
782 138, 138, 138, 138, 138, 139, 139, 140, 140, 140,
783 141, 141, 142, 142, 142, 144, 143, 143, 145, 143,
784 143, 146, 143, 143, 147, 143, 143, 148, 148, 148,
785 148, 148, 149, 149, 149, 149, 150, 150, 150, 150,
786 150, 150, 150, 150, 151, 152, 152, 152, 153, 154,
787 155, 155, 155, 155, 156, 156, 156, 156, 156, 156,
788 156, 156, 157, 157, 157, 157, 157, 158, 158, 158,
789 159, 159, 159, 161, 160, 162, 160, 163, 160, 164,
790 160, 165, 160, 166, 160, 167, 160, 168, 160, 169,
791 170, 171, 171, 171, 172, 173, 173, 174, 174, 175,
792 175, 177, 176, 178, 178, 179, 179, 179, 179, 179,
793 180, 180, 181, 181, 182, 182, 183, 183, 183, 185,
794 184, 184, 186, 186, 186, 186, 188, 187, 187, 189,
795 189, 189, 189, 190, 190, 191, 191, 191, 191, 191,
796 191, 191, 191, 191, 191, 191, 191, 191, 191, 191,
797 191, 191, 191, 191, 191, 191, 191, 191, 191, 192,
798 192, 193, 193, 193, 193, 194, 194, 195, 195, 195,
799 196, 196, 196, 196, 196, 196, 196, 196, 196, 196,
800 196, 196, 196, 196, 196, 196, 196, 196, 196, 196,
801 196, 196, 196, 196, 196, 197, 197, 197, 197, 197,
802 197, 198, 199, 199, 200, 200, 200, 201, 201, 201,
803 202, 202, 202, 202, 203, 203, 204, 204, 204, 204,
804 205, 205, 205, 205, 205, 205, 205, 206, 205, 205,
805 205, 205, 205, 205, 205, 205, 205, 205, 205, 205,
806 205, 205, 205, 205, 205, 205, 205, 205, 205, 205,
807 205, 205, 205, 205, 205, 205, 205, 205, 205, 205,
808 207, 207, 208, 208, 209, 209, 210, 210, 211, 212,
809 212, 213, 213, 213, 213, 213, 213, 214, 214, 215,
810 215, 216, 216, 216, 216, 216, 217, 217, 218, 218,
811 218, 218, 218, 218, 219, 219, 219, 219, 219, 220,
812 220, 220, 220, 220, 220, 221, 221, 221, 221, 222,
813 222, 223, 223, 223, 223, 223, 223, 223, 224, 224,
814 224, 225, 225, 226, 226, 227, 227, 228, 228, 230,
815 229, 229, 232, 231, 231, 234, 233, 233, 236, 235,
816 235, 237, 237, 238, 238, 239, 240, 240, 241, 241,
817 241, 241, 241, 242, 242, 242, 242, 243, 243, 244,
818 244, 245, 245, 245, 245, 245, 246, 246, 246, 246,
819 246, 246, 247, 248, 248, 248, 249, 249, 250, 250,
820 251, 251, 251, 253, 252, 252, 254, 252, 252, 252,
821 252, 252, 255, 256, 252, 252, 257, 257, 258, 258,
822 259, 259, 259, 259, 259, 260, 261, 262, 262, 262,
823 262, 262, 263, 264, 264, 264, 265, 266, 266, 267,
824 267, 267, 268, 268, 269, 269, 270, 270, 270, 270,
825 271, 271, 271, 271, 272, 273, 274, 274, 274, 274,
826 275, 275, 276, 276, 276, 276, 276, 276, 276, 276,
827 277, 277, 277, 277, 277, 277, 277, 277, 277, 277,
828 278, 278, 278, 279, 279, 279, 280, 280, 281, 281,
829 282, 282, 283, 283, 283, 283, 284, 284, 285, 285,
830 285, 286, 286, 287, 287, 288, 288, 288, 289, 289,
831 290, 290, 291, 292, 293, 293, 293, 293, 294, 294,
832 294, 294, 294, 294, 295, 295, 296, 296, 296, 297,
833 298, 298, 298, 298, 298, 298, 299, 299, 299, 299,
834 299, 299, 300, 300, 300, 300, 300, 300, 301, 301,
835 301, 301, 301, 301, 302, 302, 303, 303, 304, 304,
836 305, 305, 305, 306, 306, 306, 307, 307, 308, 308,
837 308, 308, 309, 309, 310, 311, 311, 312, 312, 312,
838 312, 312, 312, 313, 313, 313, 314, 314, 315, 316,
839 316, 316, 316, 316, 316, 316, 317, 317, 318, 318,
840 318, 318, 318, 318, 318, 318, 318, 318, 318, 319,
841 319, 319, 319, 319, 319, 319, 319, 319, 319, 319,
842 320, 320, 320, 320, 321, 322, 323, 324, 324, 325,
843 325, 326, 327, 327, 329, 328, 331, 332, 330, 333,
844 334, 333, 335, 335, 336, 336, 337, 338, 336, 336,
845 339, 340, 336, 341, 342, 336, 343, 344, 345, 346,
846 336, 347, 348, 336, 349, 336, 350, 336, 351, 336,
847 336, 336, 336, 336, 336, 336, 336, 336, 336, 336,
848 336, 336, 336, 336, 353, 354, 352, 356, 357, 355,
849 358, 358, 360, 361, 362, 359, 363, 363, 364, 364,
850 365, 365, 365, 365, 366, 366, 366, 367, 367, 368,
851 368, 368, 369, 369, 370, 370, 371, 372, 372, 373,
852 373, 373, 374, 374, 374, 374, 374, 374, 374, 374,
853 374, 374, 376, 375, 377, 377, 378, 378, 378, 378,
854 378, 379, 379, 380, 380, 380, 380, 380, 380, 381,
855 381, 382, 382, 383, 384, 384, 385, 385, 385, 386,
856 387, 387, 388, 388, 388, 388, 389, 390, 390, 390,
857 390, 390, 390, 390, 390, 390, 390, 390, 390, 390,
858 390, 390, 390, 390, 390, 390, 390, 390, 390, 390,
859 390, 390, 390, 390, 390, 390, 390, 390, 390, 390,
860 390, 390
861bb6c1
JL
861};
862
863static const short yyr2[] = { 0,
864 0, 1, 0, 2, 2, 1, 0, 0, 0, 1,
865 1, 1, 0, 2, 2, 1, 1, 5, 4, 5,
866 4, 0, 6, 0, 5, 5, 2, 4, 2, 2,
867 3, 3, 1, 1, 2, 2, 1, 2, 0, 5,
73b0fce8
KL
868 3, 1, 3, 1, 0, 2, 2, 3, 1, 3,
869 1, 3, 1, 3, 2, 2, 2, 3, 3, 2,
870 2, 2, 2, 2, 1, 1, 1, 0, 1, 2,
871 0, 1, 4, 3, 3, 0, 8, 5, 0, 9,
872 6, 0, 8, 5, 0, 9, 6, 2, 2, 1,
873 2, 1, 6, 4, 6, 4, 2, 1, 2, 2,
874 1, 2, 1, 2, 2, 2, 4, 2, 3, 0,
875 0, 1, 3, 2, 3, 1, 4, 2, 4, 2,
876 4, 2, 1, 1, 1, 1, 1, 1, 1, 1,
877 1, 1, 1, 0, 6, 0, 6, 0, 5, 0,
878 5, 0, 7, 0, 7, 0, 6, 0, 6, 0,
879 0, 4, 4, 1, 4, 1, 1, 0, 1, 1,
880 3, 0, 2, 1, 1, 1, 1, 1, 1, 1,
881 1, 1, 1, 3, 1, 3, 0, 1, 1, 0,
882 7, 1, 1, 3, 4, 3, 0, 3, 1, 3,
883 3, 3, 3, 1, 1, 1, 2, 2, 2, 2,
884 2, 2, 2, 4, 2, 4, 2, 3, 3, 4,
885 4, 5, 5, 6, 2, 4, 5, 2, 2, 3,
886 3, 3, 1, 3, 2, 3, 4, 1, 2, 5,
887 1, 3, 3, 3, 3, 3, 3, 3, 3, 3,
861bb6c1 888 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
73b0fce8
KL
889 5, 3, 3, 1, 2, 3, 1, 1, 1, 1,
890 1, 0, 5, 5, 5, 5, 5, 1, 1, 1,
891 1, 2, 2, 3, 4, 4, 1, 1, 1, 3,
892 1, 1, 1, 1, 3, 3, 3, 0, 4, 4,
893 2, 4, 2, 2, 1, 4, 1, 7, 7, 7,
894 7, 4, 4, 2, 2, 1, 4, 2, 2, 5,
895 3, 2, 2, 5, 3, 5, 3, 4, 6, 2,
896 1, 2, 1, 2, 1, 1, 1, 2, 0, 2,
897 2, 3, 3, 3, 2, 2, 2, 1, 1, 1,
898 2, 2, 2, 2, 1, 1, 1, 1, 2, 2,
899 3, 3, 3, 4, 1, 2, 2, 2, 1, 1,
900 1, 2, 2, 2, 1, 1, 2, 2, 3, 1,
901 2, 1, 1, 1, 4, 4, 4, 4, 1, 1,
902 1, 1, 3, 1, 3, 1, 3, 0, 4, 0,
903 6, 3, 0, 6, 3, 0, 6, 3, 0, 6,
904 3, 0, 1, 1, 2, 6, 1, 3, 0, 1,
905 4, 6, 4, 1, 1, 1, 1, 1, 3, 0,
906 2, 1, 2, 3, 4, 1, 1, 3, 4, 6,
907 3, 5, 1, 4, 3, 3, 0, 3, 3, 3,
908 0, 2, 2, 0, 7, 4, 0, 6, 3, 2,
909 2, 2, 0, 0, 9, 1, 0, 1, 0, 1,
910 1, 2, 2, 2, 2, 2, 2, 3, 4, 3,
911 2, 3, 0, 1, 3, 2, 2, 1, 1, 0,
912 2, 3, 1, 4, 1, 3, 1, 1, 4, 4,
913 2, 2, 3, 3, 1, 0, 1, 2, 4, 3,
914 1, 2, 2, 2, 2, 2, 2, 2, 1, 2,
915 2, 2, 4, 4, 2, 1, 5, 4, 1, 2,
916 0, 1, 3, 0, 1, 3, 1, 1, 1, 1,
917 4, 4, 4, 4, 4, 3, 4, 4, 4, 4,
918 3, 1, 3, 1, 3, 2, 1, 6, 0, 2,
919 1, 2, 0, 2, 4, 4, 2, 4, 3, 3,
920 2, 2, 3, 1, 1, 2, 1, 1, 2, 2,
921 4, 4, 3, 3, 2, 1, 3, 3, 2, 2,
922 3, 1, 3, 3, 2, 2, 3, 1, 4, 3,
923 4, 3, 1, 2, 2, 2, 2, 2, 1, 2,
924 4, 4, 2, 1, 1, 1, 1, 2, 2, 2,
925 2, 2, 1, 2, 2, 1, 2, 2, 2, 2,
926 2, 2, 2, 2, 1, 2, 2, 3, 1, 3,
927 2, 3, 2, 2, 3, 1, 3, 4, 3, 2,
928 2, 1, 3, 2, 2, 1, 2, 3, 1, 3,
929 1, 6, 4, 4, 3, 5, 3, 3, 3, 2,
930 1, 1, 2, 2, 2, 0, 0, 0, 1, 1,
931 2, 3, 1, 2, 0, 5, 0, 0, 6, 1,
932 0, 4, 1, 1, 1, 2, 0, 0, 6, 1,
933 0, 0, 7, 0, 0, 7, 0, 0, 0, 0,
934 14, 0, 0, 9, 0, 5, 0, 7, 0, 4,
935 2, 2, 2, 3, 6, 8, 10, 12, 4, 3,
936 2, 2, 1, 1, 0, 0, 6, 0, 0, 5,
937 1, 2, 0, 0, 0, 8, 1, 1, 3, 3,
938 2, 2, 2, 2, 2, 1, 2, 0, 1, 0,
939 1, 1, 0, 1, 1, 3, 4, 1, 3, 0,
940 1, 1, 1, 2, 2, 2, 1, 1, 2, 2,
941 2, 2, 0, 3, 1, 1, 1, 2, 2, 2,
942 4, 2, 2, 2, 2, 2, 2, 1, 2, 1,
943 2, 1, 1, 0, 0, 1, 0, 4, 2, 1,
944 1, 3, 0, 3, 3, 3, 1, 2, 2, 2,
945 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
861bb6c1 946 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
73b0fce8
KL
947 3, 2, 2, 2, 2, 3, 2, 2, 4, 4,
948 3, 2
861bb6c1
JL
949};
950
951static const short yydefact[] = { 3,
73b0fce8
KL
952 13, 13, 5, 0, 4, 0, 259, 604, 605, 0,
953 361, 373, 551, 0, 11, 12, 0, 0, 0, 10,
954 461, 807, 0, 0, 0, 150, 629, 260, 261, 65,
955 0, 0, 794, 0, 37, 0, 0, 14, 0, 8,
956 0, 17, 16, 71, 92, 68, 0, 606, 154, 278,
957 257, 279, 582, 0, 348, 0, 347, 366, 0, 386,
958 365, 404, 372, 0, 474, 473, 480, 479, 478, 456,
959 360, 567, 374, 568, 90, 277, 593, 565, 0, 607,
960 549, 0, 0, 258, 63, 64, 162, 609, 162, 610,
961 162, 262, 150, 123, 124, 125, 126, 127, 447, 450,
962 0, 625, 0, 451, 0, 0, 0, 0, 124, 125,
963 126, 127, 24, 0, 0, 0, 0, 0, 0, 0,
964 452, 613, 0, 616, 0, 0, 0, 0, 0, 0,
965 30, 0, 0, 39, 0, 162, 611, 162, 0, 580,
966 0, 0, 0, 579, 0, 0, 0, 0, 278, 0,
967 553, 0, 277, 549, 29, 0, 27, 3, 38, 0,
968 56, 55, 72, 15, 0, 0, 420, 69, 61, 612,
969 553, 0, 549, 62, 0, 0, 0, 88, 0, 382,
970 338, 564, 339, 576, 0, 549, 363, 362, 60, 91,
971 349, 0, 384, 364, 89, 355, 379, 380, 350, 368,
972 370, 359, 381, 0, 57, 405, 462, 463, 464, 465,
973 477, 132, 131, 133, 466, 467, 471, 0, 0, 480,
974 794, 476, 495, 496, 552, 367, 0, 0, 402, 605,
975 0, 627, 154, 597, 598, 594, 570, 608, 0, 569,
976 566, 0, 842, 838, 837, 835, 817, 822, 823, 0,
977 829, 828, 814, 815, 813, 832, 821, 818, 819, 820,
978 824, 825, 811, 812, 808, 809, 810, 834, 826, 827,
979 816, 833, 0, 830, 737, 366, 738, 803, 262, 0,
980 159, 160, 0, 0, 0, 162, 0, 449, 0, 444,
981 626, 624, 259, 551, 282, 327, 0, 0, 0, 0,
982 323, 321, 295, 325, 326, 0, 0, 0, 0, 0,
983 261, 254, 0, 0, 167, 166, 0, 168, 169, 0,
984 0, 170, 0, 0, 0, 171, 228, 0, 231, 172,
985 281, 196, 0, 0, 283, 284, 0, 0, 345, 366,
986 346, 599, 306, 297, 0, 0, 0, 0, 409, 3,
987 22, 0, 622, 618, 619, 621, 623, 620, 123, 124,
988 125, 126, 127, 615, 617, 614, 269, 270, 0, 268,
989 33, 34, 0, 596, 595, 32, 31, 41, 0, 361,
990 140, 0, 0, 366, 138, 0, 0, 578, 0, 577,
991 256, 273, 0, 586, 272, 0, 585, 0, 280, 590,
992 0, 0, 13, 0, 150, 9, 9, 105, 75, 110,
993 725, 0, 67, 66, 74, 108, 0, 0, 106, 70,
994 592, 0, 0, 557, 0, 797, 0, 562, 0, 561,
995 0, 0, 0, 0, 549, 402, 0, 59, 553, 549,
996 575, 0, 352, 353, 0, 58, 402, 357, 356, 358,
997 351, 371, 388, 387, 468, 472, 470, 0, 475, 481,
998 0, 0, 369, 0, 401, 403, 549, 76, 0, 0,
999 0, 549, 82, 550, 581, 605, 628, 154, 0, 0,
1000 831, 836, 368, 549, 549, 0, 549, 841, 162, 156,
1001 157, 275, 162, 163, 165, 164, 153, 155, 0, 148,
1002 0, 366, 146, 544, 459, 542, 446, 0, 0, 0,
1003 0, 203, 0, 0, 205, 218, 219, 0, 0, 0,
1004 0, 0, 255, 202, 199, 198, 200, 0, 0, 0,
1005 0, 0, 281, 0, 0, 0, 197, 201, 375, 0,
1006 0, 0, 229, 0, 0, 0, 0, 0, 0, 0,
861bb6c1 1007 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
73b0fce8
KL
1008 0, 0, 0, 0, 0, 0, 291, 293, 294, 331,
1009 330, 0, 0, 0, 0, 0, 207, 547, 0, 215,
1010 328, 320, 0, 794, 309, 312, 313, 0, 0, 376,
1011 340, 646, 642, 651, 0, 553, 549, 549, 549, 342,
1012 649, 0, 603, 344, 0, 0, 343, 308, 0, 304,
1013 322, 324, 600, 0, 305, 377, 378, 415, 416, 417,
1014 414, 0, 407, 410, 0, 3, 0, 28, 36, 35,
1015 45, 0, 0, 0, 49, 53, 42, 793, 788, 0,
1016 345, 366, 45, 346, 792, 51, 151, 136, 134, 151,
1017 152, 276, 584, 583, 280, 587, 0, 19, 21, 71,
1018 111, 329, 0, 675, 73, 673, 426, 0, 422, 421,
1019 195, 0, 194, 554, 591, 0, 767, 768, 0, 762,
1020 366, 0, 761, 763, 795, 777, 0, 0, 589, 560,
1021 559, 0, 0, 574, 0, 392, 383, 573, 0, 797,
1022 563, 354, 385, 398, 402, 469, 604, 605, 794, 0,
1023 794, 606, 482, 483, 485, 794, 488, 487, 0, 516,
1024 605, 0, 509, 0, 0, 519, 0, 103, 98, 0,
1025 154, 521, 524, 0, 501, 0, 101, 0, 402, 0,
1026 399, 797, 760, 162, 162, 162, 797, 760, 549, 79,
1027 549, 85, 840, 839, 803, 803, 803, 0, 161, 263,
1028 151, 144, 142, 151, 0, 460, 0, 459, 0, 0,
1029 0, 603, 0, 0, 0, 0, 366, 0, 0, 0,
1030 287, 0, 285, 286, 0, 226, 193, 192, 259, 604,
1031 605, 260, 261, 0, 0, 427, 457, 0, 191, 190,
1032 253, 252, 752, 751, 0, 250, 249, 247, 248, 246,
1033 245, 244, 241, 242, 243, 239, 240, 234, 235, 236,
1034 237, 238, 232, 233, 0, 0, 0, 0, 0, 0,
1035 209, 223, 0, 0, 208, 549, 549, 0, 549, 546,
1036 636, 0, 0, 0, 0, 311, 0, 315, 0, 317,
1037 0, 645, 644, 641, 640, 793, 0, 0, 660, 0,
1038 0, 797, 341, 797, 647, 549, 760, 553, 646, 642,
1039 0, 0, 549, 0, 0, 0, 0, 0, 409, 0,
1040 0, 25, 0, 26, 47, 44, 45, 0, 40, 0,
1041 0, 646, 642, 0, 784, 549, 787, 789, 0, 785,
1042 786, 46, 466, 0, 141, 151, 151, 139, 18, 20,
1043 128, 116, 129, 130, 0, 109, 112, 0, 0, 0,
1044 0, 674, 666, 423, 0, 107, 558, 555, 766, 783,
1045 772, 770, 0, 556, 765, 782, 771, 769, 764, 796,
1046 779, 790, 780, 773, 778, 799, 0, 390, 572, 571,
1047 396, 395, 492, 0, 491, 794, 794, 794, 0, 549,
1048 760, 515, 510, 104, 520, 402, 402, 507, 508, 505,
1049 506, 549, 760, 259, 604, 0, 388, 99, 511, 522,
1050 527, 528, 388, 388, 0, 0, 388, 97, 512, 525,
1051 388, 502, 503, 504, 402, 0, 453, 389, 0, 78,
1052 0, 0, 0, 0, 84, 0, 797, 760, 797, 760,
1053 805, 804, 806, 264, 149, 151, 151, 147, 545, 543,
1054 448, 0, 296, 204, 206, 302, 303, 0, 0, 0,
1055 0, 286, 289, 0, 0, 0, 0, 227, 0, 290,
1056 292, 221, 220, 211, 0, 210, 225, 0, 0, 633,
1057 631, 0, 634, 553, 216, 0, 0, 318, 0, 0,
1058 0, 643, 639, 650, 549, 659, 657, 658, 648, 797,
1059 0, 655, 0, 601, 602, 0, 307, 408, 406, 259,
1060 0, 23, 48, 43, 50, 54, 645, 641, 646, 642,
1061 0, 565, 0, 549, 647, 52, 137, 135, 0, 114,
1062 0, 118, 0, 120, 0, 122, 0, 726, 668, 0,
1063 424, 646, 642, 0, 281, 0, 599, 791, 0, 0,
1064 800, 801, 0, 0, 0, 393, 0, 0, 0, 494,
1065 493, 486, 797, 0, 420, 420, 797, 0, 0, 0,
1066 402, 402, 0, 402, 402, 0, 402, 0, 420, 0,
1067 441, 400, 549, 266, 265, 267, 549, 81, 0, 87,
1068 0, 145, 143, 445, 0, 0, 0, 0, 0, 431,
1069 0, 0, 428, 230, 251, 0, 212, 213, 222, 224,
1070 632, 630, 637, 635, 0, 217, 0, 310, 314, 316,
1071 797, 653, 549, 654, 0, 411, 413, 645, 641, 570,
1072 647, 115, 113, 0, 0, 0, 0, 0, 183, 667,
1073 0, 669, 670, 425, 0, 602, 781, 775, 776, 774,
1074 0, 798, 391, 397, 0, 489, 490, 484, 94, 549,
1075 514, 518, 96, 549, 402, 402, 536, 420, 259, 604,
1076 0, 523, 529, 530, 388, 388, 420, 420, 0, 420,
1077 526, 513, 0, 797, 797, 549, 549, 0, 0, 0,
1078 0, 429, 0, 0, 0, 214, 638, 319, 656, 797,
1079 0, 117, 119, 121, 733, 727, 731, 418, 0, 676,
1080 0, 259, 604, 605, 677, 691, 694, 697, 666, 0,
1081 0, 0, 0, 0, 0, 260, 723, 728, 0, 748,
1082 0, 685, 0, 0, 366, 0, 662, 683, 690, 661,
1083 684, 724, 0, 671, 286, 802, 394, 797, 797, 535,
1084 532, 534, 0, 0, 402, 402, 402, 531, 533, 517,
1085 443, 0, 442, 437, 77, 83, 797, 797, 298, 299,
1086 300, 301, 0, 432, 548, 652, 412, 666, 732, 0,
1087 672, 665, 186, 741, 743, 744, 666, 666, 666, 0,
1088 0, 0, 709, 711, 712, 713, 0, 0, 0, 742,
1089 0, 337, 749, 0, 686, 335, 388, 0, 336, 0,
1090 388, 0, 0, 0, 184, 664, 663, 687, 722, 721,
1091 93, 95, 402, 402, 541, 420, 420, 0, 0, 455,
1092 80, 86, 430, 0, 419, 0, 0, 681, 680, 0,
1093 0, 0, 0, 705, 0, 714, 0, 720, 729, 0,
1094 333, 334, 0, 0, 0, 332, 185, 666, 540, 538,
1095 537, 539, 440, 439, 433, 68, 71, 0, 734, 175,
1096 0, 678, 692, 0, 695, 668, 746, 698, 0, 182,
1097 0, 366, 0, 0, 0, 710, 719, 0, 0, 688,
1098 0, 438, 0, 0, 0, 0, 666, 0, 667, 0,
1099 747, 666, 745, 702, 388, 707, 706, 730, 753, 0,
1100 667, 436, 0, 435, 739, 740, 735, 176, 679, 187,
1101 667, 189, 682, 173, 0, 0, 0, 666, 402, 0,
1102 0, 0, 754, 755, 715, 689, 434, 667, 668, 693,
1103 0, 696, 179, 0, 178, 703, 0, 708, 0, 753,
1104 0, 0, 736, 188, 174, 699, 667, 180, 0, 0,
1105 716, 756, 0, 704, 0, 757, 0, 0, 0, 181,
1106 758, 0, 717, 700, 0, 0, 0, 759, 718, 667,
1107 701, 0, 0, 0
861bb6c1
JL
1108};
1109
73b0fce8
KL
1110static const short yydefgoto[] = { 1552,
1111 403, 2, 404, 160, 659, 323, 228, 3, 4, 38,
1112 626, 350, 726, 369, 40, 727, 379, 634, 885, 635,
1113 636, 637, 42, 43, 412, 166, 164, 44, 728, 743,
1114 1008, 748, 1010, 46, 729, 730, 167, 168, 413, 661,
1115 916, 917, 504, 918, 216, 47, 907, 906, 650, 647,
1116 1017, 1016, 764, 761, 135, 905, 48, 49, 492, 280,
1117 281, 282, 283, 494, 324, 1301, 1496, 1442, 1514, 1451,
1118 1535, 1210, 1491, 1509, 326, 872, 327, 576, 835, 328,
1119 329, 330, 331, 286, 51, 235, 371, 392, 52, 53,
1120 332, 535, 333, 334, 335, 336, 414, 337, 1302, 453,
1121 598, 680, 1303, 55, 199, 640, 57, 200, 513, 201,
1122 179, 192, 59, 436, 180, 1124, 454, 1225, 193, 1125,
1123 60, 999, 465, 61, 62, 622, 623, 624, 1279, 419,
1124 796, 797, 1436, 1437, 1400, 1333, 1253, 63, 508, 289,
1125 1151, 1334, 1037, 767, 64, 65, 66, 67, 220, 68,
1126 69, 70, 222, 713, 714, 715, 716, 224, 461, 462,
1127 734, 735, 736, 979, 989, 980, 1242, 981, 982, 1243,
1128 1244, 505, 506, 577, 862, 71, 422, 423, 173, 181,
1129 72, 73, 74, 182, 183, 152, 76, 131, 342, 343,
1130 344, 78, 345, 80, 718, 122, 123, 124, 104, 81,
1131 346, 840, 841, 857, 601, 1306, 1307, 1408, 1280, 1211,
1132 1212, 1213, 665, 1308, 923, 1309, 1357, 1467, 1410, 1444,
1133 1310, 1311, 1428, 1481, 1358, 1468, 1359, 1470, 1360, 1472,
1134 1533, 1547, 1498, 1527, 1455, 1500, 1415, 415, 662, 1207,
1135 1312, 1371, 1458, 1276, 1277, 1348, 1465, 1508, 1453, 1439,
1136 1313, 1448, 1374, 805, 1502, 1503, 1504, 1542, 682, 683,
1137 945, 1120, 1220, 684, 685, 686, 941, 687, 145, 943,
1138 689, 1122, 1123, 488, 83, 84
861bb6c1
JL
1139};
1140
73b0fce8
KL
1141static const short yypact[] = { 101,
1142 116,-32768,-32768, 10331,-32768, 78, 44, 121, 289, 82,
1143 145,-32768,-32768, 848,-32768,-32768, 103, 168, 182,-32768,
1144-32768,-32768, 691, 559, 966, 209,-32768, 216, 479,-32768,
1145 2358, 2358,-32768, 2401,-32768, 10331, 215,-32768, 292, 14,
1146 10390,-32768,-32768, 236,-32768, 331, 319, 328,-32768,-32768,
1147-32768,-32768, 345, 2831,-32768, 3110,-32768, 1750, 408,-32768,
1148 388,-32768,-32768, 1130,-32768,-32768, 378,-32768,-32768, 406,
1149 4170,-32768,-32768,-32768, 804,-32768,-32768,-32768, 792,-32768,
1150-32768, 327, 7871, 360,-32768,-32768, 699,-32768, 699,-32768,
1151 699,-32768,-32768,-32768, 121, 289, 216, 428, 424, 497,
1152 328,-32768, 327,-32768, 327, 9299, 9299, 484,-32768,-32768,
1153-32768,-32768,-32768, 15, 528, 605, 629, 713, 544, 558,
1154-32768,-32768, 695,-32768, 855, 121, 289, 620, 216, 428,
1155-32768, 2602, 1004, 555, 10494, 699,-32768,-32768, 2859,-32768,
1156 1470, 414, 2859,-32768, 1270, 3454, 3454, 2401, 557, 561,
1157 591, 583, 587,-32768,-32768, 692,-32768, 601,-32768, 4252,
1158 78,-32768,-32768,-32768, 716, 84, 295, 682,-32768,-32768,
1159 674, 61,-32768,-32768, 3511, 3511, 5038, 804, 490,-32768,
1160-32768, 356,-32768,-32768, 2290,-32768,-32768,-32768,-32768,-32768,
1161 1750, 655,-32768, 388, 804,-32768,-32768,-32768, 2002, 1750,
1162-32768, 388,-32768, 5148,-32768,-32768,-32768,-32768,-32768,-32768,
1163-32768,-32768,-32768,-32768,-32768,-32768, 328, 1368, 1368, 378,
1164-32768,-32768,-32768,-32768,-32768, 886, 327, 662, 388, 521,
1165 1578,-32768, 232,-32768,-32768,-32768,-32768,-32768, 3621,-32768,
1166-32768, 398,-32768, 717, 725,-32768,-32768,-32768,-32768, 731,
386b8a85 1167-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
861bb6c1 1168-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
73b0fce8
KL
1169-32768,-32768, 730,-32768,-32768, 886, 4170, 1222,-32768, 737,
1170 769,-32768, 9299, 737, 737, 699, 10494,-32768, 1270, 744,
1171-32768,-32768,-32768, 754,-32768,-32768, 9914, 10001, 10088, 10088,
1172-32768,-32768,-32768,-32768,-32768, 772, 793, 797, 799, 801,
1173 428, 9386, 1270, 10088,-32768,-32768, 10088,-32768,-32768, 10088,
1174 7343,-32768, 10088, 10088, 768, 829,-32768, 9473,-32768, 10649,
1175-32768, 453, 1785, 9560,-32768, 887, 2644, 794, 2796, 1926,
1176 5618,-32768, 364,-32768, 2939, 1518, 798, 806, 1734, 601,
1177-32768, 620,-32768,-32768,-32768,-32768,-32768,-32768, 528, 605,
1178 629, 713, 544,-32768,-32768,-32768, 121, 289, 865,-32768,
1179-32768,-32768, 1004,-32768,-32768,-32768,-32768,-32768, 5209,-32768,
1180-32768, 5148, 5386, 1941,-32768, 737, 912,-32768, 442,-32768,
1181-32768,-32768, 2859,-32768,-32768, 2859,-32768, 820,-32768,-32768,
1182 3621, 57, 823, 828,-32768,-32768,-32768,-32768,-32768,-32768,
1183-32768, 77,-32768,-32768,-32768,-32768, 7435, 9386,-32768,-32768,
1184-32768, 9386, 796,-32768, 6763, 104, 3685,-32768, 3685,-32768,
1185 3904, 3904, 5038, 831,-32768, 388, 5148,-32768, 834,-32768,
1186-32768, 4096, 2002, 1750, 5148,-32768, 388,-32768,-32768, 388,
1187 2002,-32768, 733,-32768,-32768, 328,-32768, 1368,-32768, 2037,
1188 3361, 37, 886, 692, 852, 388,-32768,-32768, 869, 880,
1189 893,-32768,-32768,-32768,-32768, 670,-32768, 376, 862, 866,
1190-32768,-32768, 886,-32768,-32768, 500,-32768,-32768, 699,-32768,
1191-32768,-32768,-32768,-32768, 10545,-32768,-32768,-32768, 737,-32768,
1192 5148, 2125,-32768, 896, 918,-32768,-32768, 1270, 9386, 754,
1193 7343,-32768, 386, 7343,-32768,-32768,-32768, 9299, 5129, 5129,
1194 5129, 5129, 10717,-32768,-32768,-32768,-32768, 870, 10175, 10175,
1195 7343, 877, 557, 879, 932, 883,-32768,-32768,-32768, 7964,
1196 7152, 7343,-32768, 8056, 9386, 9386, 7527, 9386, 9386, 9386,
1197 9386, 9386, 9386, 9386, 9386, 9386, 9386, 9386, 9386, 9386,
1198 9386, 9386, 9386, 9386, 9386, 9386,-32768,-32768,-32768,-32768,
1199-32768, 9386, 9386, 9386, 9299, 2243, 302, 766, 8235,-32768,
1200-32768,-32768, 939, 992, 396, 436, 445, 2995, 414,-32768,
1201-32768, 1530, 1530,-32768, 1717, 888, 908, 964,-32768,-32768,
1202 465, 8742, 1604,-32768, 548, 327,-32768,-32768, 9386,-32768,
1203-32768,-32768,-32768, 284,-32768,-32768,-32768,-32768,-32768,-32768,
1204-32768, 31,-32768, 922, 906, 601, 957,-32768,-32768,-32768,
1205 650, 209, 982, 346, 963, 965,-32768,-32768, 2187, 10550,
1206 2187, 3219, 1130, 4466,-32768, 973,-32768,-32768,-32768,-32768,
1207-32768,-32768,-32768,-32768, 919,-32768, 961,-32768,-32768, 236,
1208 563, 977, 932,-32768,-32768,-32768,-32768, 6873, 10717,-32768,
1209 829, 921, 10649,-32768,-32768, 934,-32768,-32768, 935, 172,
1210 4015, 941,-32768, 192, 5055, 987, 991, 476,-32768,-32768,
1211-32768, 3685, 3685,-32768, 4096, 993,-32768,-32768, 944, 104,
1212-32768, 2002,-32768, 994, 388,-32768, 605, 629,-32768, 970,
1213-32768, 558, 1000,-32768,-32768, 287,-32768,-32768, 1392,-32768,
1214 707, 368,-32768, 9386, 6270,-32768, 2632, 199, 199, 315,
1215 488, 4322, 5814, 4905,-32768, 114, 199, 1010, 388, 71,
1216-32768, 104, 1333, 699, 699, 699, 104, 1333,-32768,-32768,
1217-32768,-32768,-32768,-32768, 1045, 1045, 1045, 737,-32768,-32768,
1218-32768,-32768,-32768,-32768, 9386, 1270, 972, 918, 975, 978,
1219 9653, 964, 988, 989, 995, 1016, 2416, 1021, 1025, 1031,
1220-32768, 998,-32768,-32768, 1002,-32768,-32768, 10717, 1051, 659,
1221 665, 191, 128, 9386, 1061,-32768, 1065, 1018,-32768, 10717,
1222 10717, 10717,-32768,-32768, 1073, 10735, 8261, 4799, 3709, 5757,
1223 3558, 3889, 3136, 3136, 3136, 1159, 1159, 952, 952, 719,
1224 719, 719,-32768,-32768, 1033, 1028, 1034, 1038, 1040, 5129,
1225 302,-32768, 7435, 9386,-32768,-32768,-32768, 9386,-32768,-32768,
1226 1049, 10088, 1048, 1062, 1105,-32768, 9386,-32768, 9386,-32768,
1227 9386, 3668,-32768, 3668,-32768, 138, 1053, 1055,-32768, 1056,
1228 5129, 104,-32768, 104, 3804,-32768, 1333, 1057, 8934, 8934,
1229 6571, 1058, 9473, 1063, 2499, 1518, 570, 1066, 1734, 1071,
1230 9740,-32768, 1075,-32768,-32768,-32768, 2262, 5209,-32768, 5129,
1231 1109, 1797, 1797, 4709,-32768,-32768,-32768,-32768, 2290,-32768,
1232-32768,-32768, 815, 9386,-32768,-32768,-32768,-32768,-32768,-32768,
1233 528,-32768, 713, 544, 9386, 1124,-32768, 525, 553, 582,
1234 932,-32768,-32768,-32768, 24,-32768,-32768,-32768,-32768,-32768,
1235-32768,-32768, 8838,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1236-32768, 991, 1125,-32768,-32768,-32768, 5129,-32768,-32768,-32768,
1237-32768, 1137,-32768, 9299,-32768,-32768,-32768,-32768, 1867,-32768,
1238 1333, 10717,-32768,-32768,-32768, 388, 388,-32768,-32768,-32768,
1239-32768,-32768, 1333, 379, 704, 9386, 733,-32768, 1135,-32768,
1240-32768,-32768, 610, 783, 792, 414, 1095, 199, 1143,-32768,
1241 1171,-32768,-32768,-32768, 388, 5463,-32768,-32768, 7435,-32768,
1242 1094, 737, 737, 737,-32768, 1096, 104, 1333, 104, 1333,
1243-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 10717,-32768,
1244-32768, 1098,-32768,-32768,-32768,-32768,-32768, 1111, 1120, 1121,
1245 1126, 919,-32768, 10581, 7435, 6968, 1107,-32768, 9386,-32768,
1246-32768,-32768,-32768, 367, 1112,-32768,-32768, 1114, 217, 372,
1247 372, 1106, 372,-32768,-32768, 10088, 1221,-32768, 1122, 1123,
1248 1138,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 104,
1249 1139,-32768, 1118,-32768,-32768, 2999,-32768,-32768,-32768, 133,
1250 1140,-32768,-32768,-32768,-32768,-32768, 1899, 1899, 2060, 2060,
1251 4709,-32768, 2290,-32768, 2139, 10545,-32768,-32768, 1141,-32768,
1252 563,-32768, 9386,-32768, 9386,-32768, 9386,-32768, 26, 7060,
1253-32768, 9027, 9027, 6667, 203, 1142, 220,-32768, 7435, 7247,
1254-32768,-32768, 135, 7435, 7435,-32768, 1149, 1150, 2037,-32768,
1255-32768,-32768, 104, 1153, 1180, 1180, 104, 1158, 9386, 9386,
1256 6034, 388, 4339, 388, 388, 684, 388, 4925, 1180, 5687,
1257-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1166,-32768,
1258 1172,-32768,-32768,-32768, 9386, 9386, 9386, 9386, 7435,-32768,
1259 9386, 1184,-32768,-32768, 10717, 9386,-32768, 367,-32768,-32768,
1260-32768,-32768,-32768,-32768, 1156,-32768, 1205,-32768,-32768,-32768,
1261 104,-32768,-32768,-32768, 9386,-32768,-32768, 1899, 1899,-32768,
1262 2139,-32768,-32768, 1173, 1178, 1181, 1193, 1270,-32768,-32768,
1263 6477, 1247,-32768,-32768, 1182, 1610,-32768,-32768,-32768,-32768,
1264 5129,-32768,-32768,-32768, 7435,-32768,-32768,-32768,-32768,-32768,
1265-32768,-32768,-32768,-32768, 6034, 6034,-32768, 1180, 446, 770,
1266 9386,-32768,-32768,-32768, 733, 733, 1180, 1180, 670, 1180,
1267-32768,-32768, 6143, 104, 104,-32768,-32768, 1189, 1194, 1197,
1268 1201,-32768, 10672, 7435, 1203,-32768,-32768,-32768,-32768, 104,
1269 1204,-32768,-32768,-32768,-32768, 1193,-32768,-32768, 723,-32768,
1270 142, 1231, 807, 856,-32768,-32768,-32768,-32768,-32768, 9386,
1271 1254, 1259, 1260, 9120, 107, 581,-32768,-32768, 9212, 1313,
1272 1262,-32768, 4846, 10449, 4560, 6365,-32768,-32768, 1308,-32768,
1273-32768,-32768, 8346,-32768, 306,-32768,-32768, 104, 104,-32768,
1274-32768,-32768, 9386, 9386, 6034, 388, 388,-32768,-32768,-32768,
1275-32768, 8148,-32768,-32768,-32768,-32768, 104, 104,-32768,-32768,
1276-32768,-32768, 7435,-32768,-32768,-32768,-32768,-32768,-32768, 1270,
1277-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 932, 1232,
1278 1235, 5887,-32768,-32768,-32768,-32768, 1264, 9386, 1269,-32768,
1279 932,-32768,-32768, 1237,-32768,-32768, 733, 841,-32768, 904,
1280 733, 9827, 913, 185,-32768,-32768,-32768,-32768,-32768,-32768,
1281-32768,-32768, 6034, 6034,-32768, 1180, 1180, 1224, 10603, 1240,
1282-32768,-32768,-32768, 1242,-32768, 585, 585,-32768,-32768, 1326,
1283 5980, 9299, 9386,-32768, 8456,-32768, 1285,-32768,-32768, 692,
1284-32768,-32768, 10262, 10262, 7619,-32768,-32768, 932,-32768,-32768,
1285-32768,-32768,-32768,-32768,-32768, 331, 236, 2554,-32768,-32768,
1286 9299,-32768,-32768, 8648,-32768, 26,-32768,-32768, 1287,-32768,
1287 1239, 201, 5148, 10695, 8456,-32768,-32768, 1193, 52,-32768,
1288 143,-32768, 1241, 1243, 932, 1244, 932, 8552,-32768, 643,
1289-32768,-32768,-32768,-32768, 733,-32768,-32768, 1193, 1339, 1291,
1290-32768,-32768, 77,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1291-32768,-32768,-32768,-32768, 9386, 1297, 7711, 932, 388, 8456,
1292 1266, 157, 1301,-32768,-32768,-32768,-32768,-32768, 26,-32768,
1293 1256,-32768,-32768, 1306,-32768,-32768, 1303,-32768, 9386, 1339,
1294 1316, 1339,-32768,-32768,-32768,-32768,-32768,-32768, 1273, 193,
1295-32768,-32768, 7803,-32768, 7435,-32768, 1358, 1319, 1275,-32768,
1296-32768, 190,-32768,-32768, 1363, 1325, 8552,-32768,-32768,-32768,
1297-32768, 1393, 1394,-32768
861bb6c1
JL
1298};
1299
1300static const short yypgoto[] = {-32768,
73b0fce8
KL
1301 1398,-32768, -324,-32768, 996, 2, 0, 1397,-32768, 392,
1302-32768,-32768, 492, 1054,-32768, 9,-32768,-32768, -586,-32768,
1303-32768, 531,-32768, 1249, -655, -14, -644, 1267, 25,-32768,
1304-32768,-32768,-32768,-32768, 700, 708,-32768,-32768,-32768,-32768,
1305-32768, 335, 176,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1306-32768,-32768,-32768,-32768, 1345, -619, 5219, 47, -164, 72,
1307 1304, 946,-32768,-32768,-32768, -36,-32768, 34,-32768, -1369,
1308-32768, -1382, -102,-32768, 313, 374, -251,-32768, -810, 2843,
1309 -42, 4754, 3156, 1168,-32768, -104, -3, 171, -45, -23,
1310-32768,-32768,-32768, -321,-32768, -142,-32768,-32768, -1241, -49,
1311 -339, 1165, 51, 885, -138, -1, 4157, -182, -4, -92,
1312 -657, 148,-32768, -63,-32768,-32768, -176,-32768,-32768,-32768,
1313-32768,-32768, 639, 30, -2,-32768, 574,-32768,-32768, -1031,
1314 -143, 788,-32768,-32768,-32768,-32768,-32768, 303,-32768,-32768,
1315-32768,-32768,-32768, 690, -362,-32768,-32768,-32768,-32768,-32768,
1316-32768,-32768, 1245,-32768, 333, 504,-32768,-32768,-32768,-32768,
1317 470, -701, 742,-32768,-32768,-32768,-32768,-32768, 739,-32768,
1318 334, 976, 726, 909, 1728, 66, -5, -409, 1312, 1651,
1319 -437,-32768, 1,-32768, 2919, -127, 5, -11, 3697, 1164,
1320-32768, 4316, 1484, 974, -22, -117,-32768, 1372,-32768, 3773,
1321 2378, -401,-32768, 1977,-32768,-32768, 197, -872, -1145,-32768,
1322-32768, 293, 23, -356,-32768,-32768,-32768,-32768, -1329,-32768,
1323 -1237, -1379,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1324-32768,-32768,-32768,-32768,-32768,-32768,-32768, 49,-32768,-32768,
1325-32768,-32768,-32768, 53, -1234,-32768,-32768,-32768, -56,-32768,
1326-32768,-32768,-32768, -1362, -7,-32768, -8,-32768, -653, -502,
1327 575,-32768,-32768,-32768,-32768, -369,-32768, -357, -167,-32768,
1328 968, 309,-32768, 196,-32768, -213
861bb6c1
JL
1329};
1330
1331
73b0fce8 1332#define YYLAST 10820
386b8a85
JM
1333
1334
1335static const short yytable[] = { 58,
73b0fce8
KL
1336 603, 121, 56, 37, 178, 36, 921, 366, 444, 645,
1337 151, 229, 41, 402, 102, 910, 643, 471, 394, 397,
1338 1046, 646, 717, 963, 612, 625, 278, 374, 45, 699,
1339 908, 58, 992, 236, 56, 37, 58, 36, 153, 56,
1340 37, 1349, 36, 463, 41, 512, 515, 172, 1449, 41,
1341 1109, 191, 443, 460, 54, 666, 902, 1372, 206, 1208,
1342 45, 451, 581, 1471, 1469, 45, 226, 581, 1387, 325,
1343 347, 1466, 158, 351, 738, 1390, 543, 663, 276, 352,
1344 190, 581, 240, 1110, 409, 194, 54, 202, 1492, 1001,
1345 879, 54, 858, 483, 1006, 236, 139, 143, 1460, 858,
1346 -1, 340, 340, 1231, 1232, 291, 449, 452, 424, 94,
1347 109, 110, 474, 159, 1479, -2, 372, 1252, 87, 497,
1348 498, 377, 151, 151, 151, 233, 1524, 1515, 375, 376,
1349 384, 447, 615, 383, 1111, 664, 1209, 1489, 85, 236,
1350 880, 1015, -329, 1482, 1018, 172, 410, 739, 277, 929,
1351 153, 153, 153, 151, 425, 58, 92, 483, 56, 381,
1352 284, 1480, 285, 111, 112, 688, 657, 1492, 1516, 1447,
1353 1539, 341, 341, 772, 993, 88, 172, 1456, 785, 411,
1354 998, 153, 137, 929, 45, 382, 860, 1368, 86, 100,
1355 -127, 206, 1195, 93, 1221, 89, 106, 930, 114, 206,
1356 931, -329, 1352, 935, 150, 410, 1322, 386, 197, 198,
1357 54, 393, 396, 1071, 14, 1328, 1329, 1477, 1330, 1520,
1358 202, 651, 652, 919, 994, 15, 16, 240, 450, 202,
1359 -388, 930, 585, 1177, 931, 932, -793, 21, 411, 215,
1360 427, 429, 1196, 1349, 1222, 1352, 24, 786, 591, 1545,
1361 -278, 936, 1353, -126, 937, 1537, 516, 517, 466, -388,
1362 697, 107, 1518, -388, 591, 136, 1521, -593, 703, 932,
1363 887, 525, 226, 670, 526, 108, 578, 527, 340, 472,
1364 537, 538, 502, 134, 532, 383, 1097, 1098, 478, 938,
1365 136, 580, 612, 957, 771, 1427, -278, -278, 364, 1546,
1366 1083, 883, 1538, 394, 397, 702, 922, 1134, 156, -388,
1367 771, 500, -271, -593, -593, 645, 340, 395, 398, 1138,
1368 391, 740, 301, 1493, 958, 473, 1180, 942, 276, -593,
1369 8, 9, 648, 586, 760, 1506, 226, 501, 27, 968,
1370 372, 603, 416, 90, 163, 1510, 240, 150, 341, 832,
1371 449, 452, 157, -280, 1159, 165, 1161, 499, 449, 417,
1372 203, 630, 1523, 91, 1431, 1432, 833, 1266, 858, 629,
1373 452, 126, 127, 969, 642, 126, 127, 970, 191, 169,
1374 474, 1534, 170, 129, 130, 674, 341, 633, 418, 705,
1375 452, 858, -553, 455, 457, 834, 1162, 1163, 277, -280,
1376 -280, 8, 476, -553, 1551, 888, 470, 151, 151, 151,
1377 971, 608, 194, 202, 832, -274, 1361, 126, 127, 19,
1378 681, 889, 27, 751, 129, 130, 27, 155, 129, 130,
1379 858, 833, 162, 591, 279, 153, 153, 153, -553, 171,
1380 221, 1139, 836, 846, 644, 126, 127, 206, 992, -553,
1381 439, 762, 837, 87, 129, 130, 58, 609, 1073, 733,
1382 834, 1176, 725, 206, 223, 466, 838, 204, 205, 752,
1383 129, 130, 450, 202, 532, 1404, 466, 532, 477, 771,
1384 450, 774, 137, 848, 1406, 1407, 525, 526, 524, 847,
1385 644, 534, 850, 203, 532, 39, 692, 693, 129, 130,
1386 567, 203, 203, 126, 127, 532, 340, 731, 1323, 340,
1387 804, 732, 866, 340, 777, 777, 777, 777, 645, 578,
1388 87, 717, 477, 946, 621, 643, 340, 39, 203, 849,
1389 646, 202, 39, 137, 288, 972, 826, 340, 851, 568,
1390 569, 953, 843, 955, 570, 571, 572, 573, 959, 437,
1391 438, 8, 9, 138, 612, 290, 129, 130, 867, 868,
1392 758, 115, 116, 117, 1108, 911, 707, 708, 467, 947,
1393 340, 276, 1102, 8, 9, 90, 341, 349, 203, 341,
1394 232, 973, 353, 341, 341, 341, 341, 341, 858, 895,
1395 642, 900, 901, 1014, 483, 91, 341, 681, 357, 1497,
1396 1104, 366, 395, 398, 129, 130, 240, 341, 121, 449,
1397 912, 858, 358, 27, 468, 118, 119, 27, 1103, 913,
1398 914, 543, 293, 367, 368, 10, 129, 130, 232, 1106,
1399 378, 901, 1440, 706, -338, 191, 15, 16, 920, 226,
1400 341, 277, 203, 1370, 1185, 1378, 1105, 1383, 1181, 1182,
1401 477, 1184, 359, 360, 361, 136, 915, 852, 854, 354,
1402 644, 22, 615, 919, 966, 967, -271, 644, -338, 194,
1403 399, 202, -338, 995, 27, 1107, 28, 311, 1441, 89,
1404 642, 534, 978, 355, 534, 171, 203, 126, 1249, 1047,
1405 1494, 717, 400, 94, 109, 110, -588, 359, 360, 361,
1406 395, 782, 296, 91, 27, -338, 362, 363, 33, 772,
1407 202, -7, 534, 88, 445, 446, 795, 749, 408, 90,
1408 58, -124, 58, 733, 90, 733, 725, -125, 191, 58,
1409 671, 450, 733, 89, 466, 725, 1495, 671, 642, 91,
1410 129, 130, 420, 642, 91, 203, 203, 111, 112, 113,
1411 644, 362, 363, 203, 960, 464, 977, 987, 88, 15,
1412 16, 90, 194, 750, 477, 203, 1140, 356, 466, 126,
1413 127, 731, 874, 731, -158, 732, -158, 732, 89, 731,
1414 731, 91, 1350, 1351, 732, 203, 421, 136, 1129, 1130,
1415 1131, 672, 1462, 481, 7, 8, 230, 10, 679, 1055,
1416 961, 1052, 565, 566, 203, 1483, 886, -339, 644, 15,
1417 16, 479, 490, 644, 491, 1002, 1003, 1004, 903, 480,
1418 27, 671, 129, 130, 88, 777, 525, 526, 493, 1049,
1419 15, 16, 1324, 22, 532, -388, 836, 1154, 1155, 1156,
1420 231, -339, 482, 795, 89, -339, 837, 509, 28, 29,
1421 94, 95, 96, 236, 507, 1152, 777, 115, 116, 117,
1422 838, 88, 642, -388, -388, 518, 681, 519, -388, 1355,
1423 151, 520, 232, 521, -44, 522, 240, 539, -339, -44,
1424 33, 89, 769, 642, 671, 777, 671, 671, 540, 642,
1425 -44, 1170, 1173, 197, 198, 341, 633, 581, 153, 14,
1426 437, 1421, 27, 590, 97, 98, 99, 616, 675, 151,
1427 90, 118, 119, 1142, 671, 617, 741, 1127, 1356, 1144,
1428 1145, 671, 21, 1142, 1147, 628, 341, 1145, 681, 655,
1429 91, 24, 644, -6, 852, 854, 644, 153, 658, 236,
1430 694, 874, 777, 744, 203, 825, 698, 827, 828, 340,
1431 1011, 1012, 1013, 644, 745, 341, 642, 1087, 1088, 644,
1432 765, 394, 397, 445, 1422, 772, 1173, 746, 642, 126,
1433 127, 493, 437, 1426, 753, 1217, 1219, 766, 754, 781,
1434 1223, 1224, 878, 203, 394, 397, 783, 490, 784, 491,
1435 664, 58, 786, 844, 733, 466, 466, 725, 644, 845,
1436 859, 861, 1409, 642, 203, 642, 293, 367, 368, 10,
1437 128, 863, 341, 1186, 1419, 881, 882, 884, 21, 341,
1438 27, 909, 129, 130, 466, 1262, 644, 890, -274, 891,
1439 926, 233, 562, 563, 564, 565, 566, 904, 644, 410,
1440 395, 782, 731, 927, 928, 22, 732, 236, 126, 127,
1441 934, -792, 238, 474, 621, 944, 949, 948, 951, 956,
1442 28, 311, 886, 954, 150, 151, 151, 151, 645, 525,
1443 526, 1409, 996, 644, 696, 644, 238, 532, 920, 203,
1444 1464, 1317, 1021, 671, 1023, 704, 642, 1024, 151, 151,
1445 151, 1028, 33, 153, 153, 153, 1029, 1025, 1026, 27,
1446 1030, 129, 130, 1116, 1027, 238, 1031, 1032, 1487, 681,
1447 1409, 1033, 772, -123, 238, 484, 153, 153, 153, -102,
1448 1344, 15, 16, 1035, 1036, 485, 666, 1038, 1258, 1259,
1449 1260, 1261, 94, 95, 96, 1039, 207, 208, 209, 1265,
1450 1041, 1409, 1040, 1054, 1042, 58, 671, 1043, 733, 1044,
1451 1057, 725, 1058, -102, 1198, 1199, 644, -102, 238, 671,
1452 1056, 671, 1064, 671, 1065, 1086, 210, 1074, 1066, 1072,
1453 466, 466, 1075, 466, 466, 1077, 466, 1198, 1199, 644,
1454 1079, 1326, 1327, 1101, 27, 1082, 97, 98, 211, 1119,
1455 -102, 238, 478, 671, 1143, -100, 731, 15, 16, 1403,
1456 732, 1126, 1148, 1153, 1165, 1157, 1305, 1048, 1164, 1304,
1457 1300, 1172, 1299, 1166, 1167, 238, 777, 1174, 1183, 1168,
1458 1059, 1178, 1060, 1179, 1061, 126, 127, 671, 1187, -100,
1459 1194, 1188, 1189, -100, 212, 213, 214, 560, 561, 562,
1460 563, 564, 565, 566, 417, 671, 1264, 1190, 1193, 1197,
1461 1202, 1216, 1268, 1377, 1081, 1377, 537, 1367, 1226, 1227,
1462 395, 398, 1230, 639, 466, 466, -100, 1234, 1267, 483,
1463 338, 348, 94, 109, 110, 1256, 27, 1459, 129, 130,
1464 1208, 1257, 1272, 395, 1215, 1172, 341, 1273, 1099, 1275,
1465 1274, 1315, 484, 1354, 1305, 394, 397, 1304, 1339, 191,
1466 1299, 1305, 485, 1340, 1304, 1300, 1341, 1299, 1305, 639,
1467 1342, 1304, 1300, 1347, 1299, 1345, 1363, 447, 238, 1364,
1468 1365, 1373, 1375, 1388, 1416, 1411, 111, 112, 1412, 1418,
1469 1420, 1417, 1433, 194, 202, 1438, 8, 9, 1435, 380,
1470 12, 13, 1445, 952, 677, 1457, 14, 1473, 1474, 1501,
1471 1485, 1505, 1486, 1488, 466, 466, 466, 1512, 151, 1519,
1472 1522, 17, 238, 18, 19, 1525, 1526, 1528, 1541, 21,
1473 94, 95, 96, 1548, 804, 1450, 1531, 997, 24, 1543,
1474 525, 526, 1536, 1278, 1544, 1549, 153, 27, 532, 129,
1475 130, 1540, 1553, 1554, 115, 707, 708, 1, 5, 151,
1476 151, 151, 660, 1475, 1450, 627, 1305, 1452, 406, 1304,
1477 1305, 1499, 1299, 1304, 1300, 671, 1299, 671, 1084, 671,
1478 340, 1461, 466, 466, 97, 98, 407, 153, 153, 153,
1479 678, 238, 988, 642, 964, 1203, 1452, 287, 759, 1305,
1480 1443, 387, 1304, 1300, 1550, 1299, 489, 496, 118, 119,
1481 1305, 1380, 1078, 1304, 1300, 925, 1299, 1022, 1511, 238,
1482 1450, 1228, 1132, 1305, 459, 1150, 1304, 1300, 965, 1299,
1483 1369, 990, 7, 126, 127, 10, 1204, 277, 1205, 639,
1484 1206, 1251, 1529, 768, 831, 536, 639, 79, 692, 693,
1485 341, 1020, 1452, 440, 365, 1305, 804, 103, 1304, 1300,
1486 587, 1299, 1386, 644, 1314, 1507, 277, 671, 132, 1484,
1487 1478, 22, 1530, 1532, 141, 141, 1118, 141, 231, 79,
1488 610, 8, 9, 0, 79, 1405, 28, 29, 466, 1316,
1489 0, 0, 0, 126, 127, 0, 0, 185, 13, 79,
1490 0, 0, 1305, 638, 0, 1304, 1300, 218, 1299, 0,
1491 232, 0, 1116, 0, 103, 0, 301, 611, 33, 22,
1492 0, 238, 277, 0, 0, 242, 103, 0, 1271, 639,
1493 0, 0, 27, 0, 129, 130, 0, 591, 238, 0,
1494 94, 109, 110, 469, 27, 0, 129, 130, 103, 0,
1495 0, 0, 0, 0, 395, 1215, 0, 0, 0, 0,
1496 592, 0, 0, 0, 1135, 1136, 0, 203, 0, 0,
1497 593, 132, -549, 0, 0, -549, 132, 0, 79, 22,
1498 594, -280, 141, 595, 596, 389, 141, 639, 0, 141,
1499 141, 141, 639, 1149, 111, 112, -280, -280, 0, 0,
1500 0, -280, 0, 79, 0, 0, 0, 0, 0, 0,
1501 0, 863, 0, 0, 0, 0, 0, -280, 185, 185,
1502 185, 0, 0, -549, 0, -549, -549, 950, -549, -280,
1503 -280, 0, -280, 0, -280, 770, 0, 0, 773, -549,
1504 0, -549, 775, 776, 778, 779, 780, 185, 0, 0,
1505 0, 0, 0, 0, 671, 536, 0, -549, -549, 0,
1506 0, -549, 458, -280, -280, 0, 798, -280, 0, 1000,
1507 103, 0, 0, -549, 1005, 0, 0, 0, 0, -280,
1508 8, 9, 141, 380, 12, 13, 0, 0, 677, 0,
1509 14, 0, 0, 0, 0, 0, 94, 109, 110, 829,
1510 618, 619, 620, 0, 0, 17, 0, 18, 19, 0,
1511 0, 639, 0, 21, 203, 639, 196, 197, 198, 856,
1512 103, 486, 24, 14, 591, 0, 856, 0, 0, 0,
1513 79, 27, 639, 129, 130, 0, 0, 0, 639, 1237,
1514 1238, 19, 1247, 1248, 0, 1250, 21, 592, 8, 9,
1515 111, 112, 12, 13, 0, 24, 0, 593, 14, 7,
1516 8, 9, 10, 0, 0, 13, 0, 594, 239, 0,
1517 595, 596, 0, 17, 678, 18, 103, 639, 0, 0,
1518 588, 21, 486, 486, 605, 428, 430, 434, 0, 1067,
1519 24, 1068, 0, 0, 0, 132, 0, 0, 22, 27,
1520 0, 129, 130, 574, 591, 639, 0, 0, 238, 638,
1521 238, 27, 0, 28, 29, 0, 132, 639, 0, 0,
1522 0, 0, 103, 0, 0, 185, 103, 892, 0, 115,
1523 707, 708, 238, 1320, 1321, 0, 141, 893, 575, 141,
1524 0, 401, 0, 0, 141, 33, 0, 594, 0, 0,
1525 894, 596, 639, 0, 639, 0, 0, 710, 0, 0,
1526 426, 7, 8, 9, 10, 0, 0, 225, 0, 0,
1527 185, 0, 185, 442, 185, 185, 185, 0, 0, 0,
1528 185, 27, 0, 118, 119, 185, 0, 0, 185, 126,
1529 127, 0, 0, 197, 198, 0, 0, 0, 0, 14,
1530 22, 0, 0, 0, 79, 0, 591, 196, 197, 198,
1531 0, 0, 0, 27, 14, 28, 29, 0, 238, 0,
1532 0, 0, 21, 1395, 1396, 1397, 0, 0, 0, 892,
1533 0, 24, 19, 591, 1158, 639, 1160, 21, 0, 893,
1534 27, 0, 129, 130, 185, 0, 24, 33, 0, 594,
1535 0, 0, 894, 596, 1045, 0, 592, 0, 639, 0,
1536 0, 649, 103, 103, 103, 103, 593, 0, 448, 197,
1537 198, 0, 0, 0, 0, 14, 594, 0, 0, 602,
1538 596, 0, 0, 0, 0, 798, 0, 0, 0, 0,
1539 0, 1429, 1430, 19, 0, 856, 0, 1192, 21, 115,
1540 707, 708, 0, 709, 0, 0, 0, 24, 0, 238,
1541 0, 0, 638, 0, 1085, 0, 0, 0, 856, 103,
1542 0, 486, 7, 8, 9, 10, 238, 710, 13, 0,
1543 0, 0, 588, 0, 711, 486, 486, 690, 605, 691,
1544 0, 428, 430, 434, 0, 875, 0, 0, 0, 877,
1545 0, 27, 701, 118, 119, 0, 0, 856, 0, 0,
1546 1229, 22, 0, 0, 1233, 0, 0, 591, 0, 0,
1547 0, 1121, 0, 0, 27, 0, 28, 29, 1128, 238,
1548 0, 0, 185, 899, 185, 185, 218, 605, 0, 0,
1549 1089, 196, 197, 198, 0, 0, 0, 1517, 14, 0,
1550 1090, 7, 8, 9, 10, 0, 0, 474, 33, 0,
1551 594, 0, 0, 1091, 596, 0, 19, 0, 1269, 0,
1552 0, 21, 695, 0, 185, 0, 0, 700, 899, 0,
1553 24, 0, 0, 0, 0, 185, 185, 0, 185, 0,
1554 22, 0, 0, 0, 0, 763, 591, 0, 0, 7,
1555 8, 9, 10, 27, 742, 28, 29, 0, 0, 747,
1556 0, 0, 0, 0, 0, 132, 0, 0, 79, 892,
1557 79, 755, 756, 0, 757, 985, 79, 79, 0, 893,
1558 0, 1335, 1336, 0, 0, 0, 103, 33, 22, 594,
1559 0, 103, 894, 596, 591, 0, 0, 1346, 486, 486,
1560 486, 27, 0, 28, 29, 0, 8, 9, 0, 0,
1561 12, 13, 0, 0, 0, 856, 14, 892, 0, 0,
1562 486, 0, 0, 0, 94, 109, 110, 893, 207, 208,
1563 209, 17, 0, 18, 0, 33, 0, 594, 856, 21,
1564 894, 596, 0, 0, 0, 1391, 1392, 0, 24, 0,
1565 0, 0, 7, 8, 9, 10, 0, 27, 210, 129,
1566 130, 0, 0, 0, 1401, 1402, 0, 0, 0, 0,
1567 0, 0, 0, 103, 0, 600, 604, 607, 111, 112,
1568 0, 0, 639, 0, 0, 864, 865, 0, 0, 0,
1569 864, 22, 0, 0, 0, 486, 830, 486, 231, 0,
1570 0, 0, 690, 691, 103, 701, 28, 29, 486, 0,
1571 103, 0, 875, 875, 875, 0, 0, 0, 0, 1076,
1572 7, 126, 127, 10, 0, 0, 13, 0, 0, 0,
1573 232, 103, 0, 103, 0, 185, 185, 1093, 33, 0,
1574 0, 82, 983, 0, 0, 1121, 0, 0, 0, 0,
1575 0, 105, 0, 0, 0, 0, 0, 0, 0, 22,
1576 0, 125, 133, 7, 126, 127, 10, 0, 142, 142,
1577 0, 142, 27, 82, 28, 29, 1093, 0, 82, 126,
1578 127, 0, 0, 197, 198, 0, 0, 0, 31, 14,
1579 103, 142, 0, 82, 0, 0, 0, 0, 32, 0,
1580 0, 219, 22, 0, 103, 0, 33, 0, 227, 0,
1581 0, 34, 21, 0, 0, 27, 103, 28, 29, 0,
1582 227, 24, 0, 591, 0, 0, 0, 0, 0, 1146,
1583 27, 146, 129, 130, 0, 0, 1007, 0, 1009, 79,
1584 0, 147, 0, 0, 0, 0, 592, 0, 0, 33,
1585 0, 103, 0, 103, 148, 0, 593, 0, 0, 0,
1586 0, 293, 8, 9, 10, 373, 594, 0, 0, 595,
1587 596, 0, 82, 0, 0, 0, 142, 0, 0, 0,
1588 142, 0, 0, 142, 142, 142, 0, 0, 0, 0,
1589 0, 0, 0, 486, 486, 0, 486, 82, 0, 0,
1590 22, 0, 428, 430, 434, 0, 0, 231, 0, 0,
1591 0, 0, 142, 142, 142, 28, 311, 8, 9, 0,
1592 380, 12, 13, 1050, 1051, 1463, 1053, 14, 853, 855,
1593 185, 185, 185, 185, 1093, 0, 0, 0, 185, 232,
1594 0, 142, 17, 434, 18, 19, 0, 33, 0, 536,
1595 21, 0, 0, 1070, 0, 1093, 1093, 1093, 0, 24,
1596 0, 0, 638, 0, 293, 367, 368, 10, 27, 0,
1597 129, 130, 0, 0, 0, 897, 142, 600, 604, 0,
1598 607, 0, 0, 1095, 0, 0, 185, 0, 0, 0,
1599 0, 141, 720, 79, 7, 8, 721, 10, 380, 12,
1600 13, 0, 0, 22, 582, 14, 293, 367, 368, 10,
1601 231, 583, 0, 0, 227, 142, 0, 604, 28, 311,
1602 17, 0, 18, 19, 82, 0, 0, 0, 21, 0,
1603 0, 0, 0, 22, 0, 0, 0, 24, 722, 0,
1604 632, 185, 185, 0, 185, 22, 27, 1133, 28, 29,
1605 33, 0, 231, 0, 724, 0, 0, 0, 27, 1137,
1606 28, 311, 31, 0, 103, 0, 0, 0, 0, 0,
1607 227, 0, 32, 0, 589, 0, 142, 142, 606, 0,
1608 33, 0, 0, 614, 0, 34, 0, 0, 0, 373,
1609 0, 0, 584, 0, 0, 0, 0, 690, 691, 428,
1610 430, 434, 0, 0, 0, 701, 0, 0, 0, 0,
1611 0, 0, 0, 604, 0, 0, 227, 0, 0, 142,
1612 227, 0, 428, 430, 434, 0, 0, 0, 0, 0,
1613 142, 0, 0, 142, 0, 0, 0, 0, 142, 0,
1614 0, 0, 0, 0, 0, 0, 185, 899, 185, 0,
1615 0, 0, 1191, 1245, 0, 0, 0, 0, 0, 126,
1616 127, 0, 0, 0, 142, 0, 142, 0, 142, 142,
1617 142, 0, 0, 0, 142, 0, 0, 0, 0, 142,
1618 0, 1201, 142, 0, 0, 0, 0, 0, 1062, 0,
1619 1063, 0, 0, 7, 8, 9, 10, 719, 82, 0,
1620 0, 1069, 0, 591, 0, 853, 855, 0, 690, 691,
1621 27, 701, 129, 130, 0, 0, 0, 0, 0, 0,
1622 0, 7, 126, 127, 10, 1093, 592, 225, 853, 855,
1623 0, 0, 22, 0, 0, 0, 593, 0, 142, 0,
1624 1254, 0, 0, 0, 1255, 27, 594, 28, 29, 595,
1625 596, 174, 0, 0, 0, 0, 227, 227, 227, 227,
1626 22, 175, 0, 0, 0, 0, 1093, 1093, 1093, 0,
1627 0, 176, 0, 27, 0, 28, 29, 0, 0, 33,
1628 1270, 103, 75, 0, 177, 0, 0, 0, 0, 31,
1629 0, 0, 0, 0, 0, 0, 185, 0, 0, 32,
1630 0, 293, 8, 9, 10, 0, 0, 33, 0, 140,
1631 144, 0, 34, 227, 75, 142, 0, 1318, 0, 75,
1632 0, 1319, 0, 0, 0, 0, 0, 0, 0, 142,
1633 142, 0, 606, 0, 195, 0, 0, 0, 0, 876,
1634 22, 0, 0, 1337, 1338, 0, 0, 231, 0, 0,
1635 0, 614, 0, 0, 0, 28, 311, 293, 126, 127,
1636 10, 293, 8, 9, 10, 0, 0, 0, 125, 0,
1637 0, 0, 0, 0, 0, 0, 142, 606, 142, 142,
1638 219, 606, 0, 0, 0, 0, 0, 33, 0, 0,
1639 0, 0, 434, 0, 0, 0, 22, 0, 719, 0,
1640 22, 0, 0, 231, 0, 0, 0, 231, 0, 0,
1641 0, 28, 311, 385, 0, 28, 311, 388, 142, 0,
1642 0, 390, 606, 1062, 1063, 853, 855, 0, 0, 142,
1643 142, 1069, 142, 428, 430, 434, 0, 0, 75, 477,
1644 0, 0, 0, 33, 0, 0, 0, 33, 853, 855,
1645 0, 0, 0, 140, 144, 0, 0, 0, 0, 133,
1646 0, 0, 82, 0, 82, 0, 0, 0, 0, 986,
1647 82, 82, 7, 8, 9, 10, 187, 12, 188, 0,
1648 227, 0, 0, 14, 0, 227, 0, 0, 0, 0,
1649 0, 0, 142, 142, 142, 0, 0, 0, 17, 0,
6a88a0c0 1650 18, 19, 0, 0, 0, 0, 21, 0, 0, 0,
73b0fce8
KL
1651 0, 22, 0, 0, 142, 24, 0, 475, 0, 50,
1652 0, 0, 0, 0, 27, 0, 28, 29, 0, 0,
1653 189, 0, 0, 0, 1062, 1063, 0, 1069, 0, 0,
1654 31, 597, 597, 597, 0, 0, 50, 50, 0, 149,
1655 32, 50, 0, 0, 0, 0, 50, 0, 33, 0,
1656 0, 0, 0, 34, 0, 503, 0, 227, 0, 50,
1657 0, 50, 558, 559, 560, 561, 562, 563, 564, 565,
1658 566, 7, 8, 9, 10, 196, 197, 198, 0, 142,
1659 0, 142, 14, 0, 234, 0, 0, 0, 227, 0,
1660 0, 0, 142, 0, 227, 0, 876, 876, 876, 0,
1661 19, 0, 0, 614, 0, 21, 0, 0, 0, 0,
1662 22, 0, 0, 0, 24, 227, 591, 227, 0, 142,
1663 142, 606, 0, 27, 0, 28, 29, 0, 0, 0,
1664 0, 0, 0, 370, 0, 0, 0, 370, 370, 892,
1665 50, 0, 0, 0, 50, 0, 234, 0, 50, 893,
1666 0, 149, 149, 149, 0, 0, 0, 33, 0, 594,
1667 876, 653, 894, 596, 654, 50, 0, 0, 0, 656,
1668 0, 0, 0, 0, 227, 0, 0, 0, 0, 0,
1669 50, 50, 149, 0, 0, 0, 719, 0, 227, 0,
1670 234, 0, 0, 0, 0, 388, 0, 390, 0, 0,
1671 227, 0, 0, 0, 0, 0, 0, 0, 0, 50,
1672 475, 720, 0, 7, 8, 721, 10, 380, 12, 13,
1673 0, 0, 0, 82, 14, 0, 0, 0, 0, 737,
1674 0, 0, 0, 0, 0, 227, 0, 227, 0, 17,
1675 0, 18, 19, 20, 50, 0, 0, 21, -497, 0,
1676 0, 0, 22, 0, 0, 0, 24, 722, 0, 632,
1677 0, 0, 0, 0, 0, 27, 0, 28, 29, 0,
1678 0, 723, 0, 724, 0, 0, 0, 142, 142, 0,
1679 142, 31, 0, 0, 597, 597, 0, 597, 0, 0,
1680 0, 32, 50, 0, 873, 0, 0, 0, 0, 33,
1681 0, 0, 0, 0, 34, 0, 7, 126, 127, 10,
1682 0, 0, 13, 0, 142, 142, 142, 142, 606, 0,
1683 0, -497, 142, 0, 0, 0, 533, 0, 719, 0,
1684 0, 597, 0, 597, 597, 0, 597, 0, 0, 876,
1685 876, 876, 370, 0, 0, 22, 0, 0, 0, 0,
1686 234, 0, 0, 0, 0, 0, 719, 370, 27, 0,
1687 28, 29, 0, 7, 8, 9, 10, 0, 0, 13,
1688 142, 0, 0, 597, 146, 142, 0, 82, 370, 0,
1689 0, 0, 0, 0, 147, 0, 0, 50, 0, 0,
1690 0, 0, 33, 0, 0, 0, 0, 148, 50, 0,
1691 0, 50, 22, 0, 0, 0, 50, 0, 898, 0,
1692 0, 0, 0, 0, 0, 27, 0, 28, 29, 0,
1693 0, 0, 0, 0, 0, 142, 142, 0, 142, 0,
1694 0, 175, 50, 0, 50, 0, 149, 149, 149, 0,
1695 0, 176, 50, 0, 0, 0, 0, 50, 227, 33,
1696 50, 0, 0, 940, 177, 0, 0, 0, 0, 0,
1697 653, 654, 0, 656, 0, 0, 50, 0, 0, 597,
1698 0, 0, 0, 7, 126, 127, 10, 0, 0, 474,
1699 554, 555, 556, 557, 558, 559, 560, 561, 562, 563,
1700 564, 565, 566, 737, 0, 737, 0, 0, 0, 0,
1701 984, 991, 737, 0, 0, 0, 50, 0, 0, 0,
1702 0, 0, 22, 0, 0, 0, 533, 0, 0, 533,
1703 0, 126, 127, 0, 0, 27, 225, 28, 29, 0,
1704 142, 606, 142, 0, 533, 533, 533, 7, 8, 9,
1705 10, 31, 0, 225, 597, 0, 597, 533, 0, 0,
1706 77, 32, 0, 0, 0, 0, 0, 597, 0, 33,
1707 0, 873, 873, 873, 34, 591, 0, 0, 0, 0,
1708 0, 0, 27, 0, 129, 130, 22, 77, 77, 0,
1709 77, 0, 77, 0, 597, 597, 597, 77, 592, 27,
1710 0, 28, 29, 234, 0, 0, 0, 0, 593, 0,
1711 77, 0, 77, 0, 0, 175, 0, 533, 594, 876,
1712 0, 595, 596, 0, 0, 176, 0, 0, 0, 0,
1713 0, 0, 0, 33, 0, 873, 0, 0, 177, 552,
1714 553, 554, 555, 556, 557, 558, 559, 560, 561, 562,
1715 563, 564, 565, 566, 50, 50, 50, 50, 0, 0,
1716 876, 876, 876, 0, 0, 0, 154, 126, 127, 0,
1717 140, 144, 474, 0, 0, 227, 0, 0, 0, 0,
1718 0, 0, 0, 0, 0, 0, 186, 0, 0, 0,
1719 142, 77, 0, 0, 0, 77, 50, 0, 0, 77,
1720 50, 0, 77, 77, 77, 0, 0, 50, 50, 0,
1721 50, 591, 0, 0, 0, 0, 77, 0, 27, 0,
1722 129, 130, 0, 0, 0, 0, 0, 0, 0, 0,
1723 0, 77, 77, 77, 592, 0, 0, 0, 0, 0,
1724 50, 0, 50, 0, 593, 0, 0, 50, 50, 50,
1725 0, 0, 0, 0, 594, 0, 0, 595, 596, 0,
1726 77, 0, 0, 0, 0, 0, 7, 8, 9, 10,
1727 0, 0, 13, 0, 737, 0, 0, 0, 154, 154,
1728 154, 0, 0, 0, 0, 0, 533, 0, 0, 597,
1729 597, 597, 597, 597, 0, 77, 0, 597, 0, 0,
1730 0, 0, 0, 0, 0, 22, 0, 186, 186, 435,
1731 0, 0, 0, 0, 873, 873, 873, 0, 27, 0,
1732 28, 29, 555, 556, 557, 558, 559, 560, 561, 562,
1733 563, 564, 565, 566, 431, 0, 186, 0, 0, 0,
1734 0, 0, 0, 77, 432, 0, 0, 0, 0, 0,
1735 0, 0, 33, 0, 0, 0, 0, 433, 0, 0,
1736 0, 0, 0, 0, 0, 388, 390, 0, 0, 0,
1737 0, 0, 0, 475, 0, 0, 0, 7, 8, 9,
1738 10, 196, 197, 198, 533, 533, 533, 0, 14, 0,
1739 234, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1740 597, 597, 613, 597, 0, 0, 19, 50, 50, 149,
1741 487, 21, 0, 0, 234, 0, 22, 0, 0, 0,
1742 24, 1246, 591, 0, 0, 0, 1246, 0, 737, 27,
1743 0, 28, 29, 0, 0, 0, 0, 0, 77, 0,
1744 0, 0, 0, 0, 0, 892, 0, 0, 1115, 77,
1745 0, 0, 77, 0, 0, 893, 0, 77, 7, 8,
1746 9, 10, 0, 33, 474, 594, 0, 0, 933, 596,
1747 0, 599, 599, 599, 0, 0, 653, 654, 0, 656,
1748 0, 0, 0, 77, 0, 77, 0, 77, 77, 77,
1749 0, 0, 0, 77, 0, 0, 0, 22, 77, 0,
1750 234, 77, 0, 0, 0, 0, 0, 0, 0, 0,
1751 27, 50, 28, 29, 186, 0, 0, 77, 0, 0,
1752 0, 0, 0, 0, 0, 0, 175, 0, 0, 0,
1753 0, 0, 0, 8, 9, 0, 176, 12, 225, 0,
1754 0, 0, 0, 14, 33, 0, 0, 0, 0, 177,
1755 0, 0, 0, 0, 0, 0, 0, 77, 17, 186,
1756 18, 186, 0, 435, 435, 435, 21, 0, 0, 186,
1757 0, 0, 0, 0, 186, 24, 0, 186, 0, 0,
1758 0, 0, 1381, 0, 27, 0, 129, 130, 0, 0,
1759 0, 234, 0, 0, 0, 0, 0, 0, 0, 275,
1760 0, 0, 50, 50, 149, 149, 149, 0, 234, 0,
1761 50, 0, 6, 0, 7, 8, 9, 10, 11, 12,
1762 13, 0, 339, 339, 0, 14, 0, 1115, 1115, 1115,
1763 0, 0, 0, 186, 0, 0, 0, 0, 0, 0,
1764 17, 0, 18, 19, 0, 613, 0, 0, 21, 0,
1765 0, 0, 0, 22, 0, 0, 0, 24, 50, 0,
1766 405, 0, 0, 50, 0, 50, 27, 0, 28, 29,
1767 0, 0, 30, 0, 0, 0, 0, 0, 0, 0,
1768 0, 0, 31, 0, 974, 975, 9, 10, 0, 0,
1769 0, 0, 32, 0, 0, 77, 77, 77, 77, 0,
1770 33, 1239, 1240, 9, 10, 34, 0, 0, 0, 0,
1771 839, 0, 0, 50, 50, 0, 50, 0, 0, 0,
1772 0, 0, 0, 22, 599, 599, 0, 599, 0, 184,
1773 0, 0, 0, 0, 599, 0, 27, 77, 28, 29,
1774 22, 77, 0, 0, 976, 0, 0, 0, 77, 77,
1775 0, 77, 175, 27, 237, 28, 29, 241, 0, 0,
1776 0, 1241, 176, 0, 0, 0, 0, 0, 0, 175,
1777 33, 896, 0, 896, 896, 177, 599, 0, 237, 176,
1778 292, 77, 0, 77, 0, 0, 0, 33, 77, 77,
1779 77, 0, 177, 0, 0, 0, 0, 0, 0, 339,
386b8a85 1780 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
73b0fce8
KL
1781 0, 0, 0, 896, 0, 0, 0, 0, 50, 50,
1782 50, 0, 0, 0, 186, 186, 0, 186, -360, 8,
1783 9, -360, -360, 12, 225, 0, 0, 339, 0, 14,
1784 0, 0, 0, 0, 0, 0, 0, 0, 0, 275,
1785 184, 184, 184, 0, 17, 0, 18, -360, 0, 0,
1786 441, 0, 21, 0, 186, 0, 0, -360, 0, 0,
1787 0, 24, 0, 591, 0, 0, 0, 0, 0, 184,
1788 27, 0, 129, 130, 0, 0, 0, 487, 487, 487,
1789 0, 0, 0, 0, 0, 641, 592, 1115, 0, 0,
1790 0, 0, 241, 0, 0, 0, 593, 0, 0, 599,
1791 0, 0, 0, 0, -360, 0, 594, 237, 0, 595,
1792 596, 0, 7, 8, 9, 10, 196, 197, 198, 0,
1793 0, 0, 613, 14, 0, 0, 0, 0, 1115, 1115,
1794 1115, 641, 0, 0, 0, 0, 0, 0, 77, 77,
1795 77, 19, 0, 0, 0, 0, 21, 0, 0, 0,
1796 0, 22, 0, 0, 0, 24, 0, 591, 50, 0,
1797 0, 0, 0, 0, 27, 0, 28, 29, 0, 0,
1798 0, 0, 0, 0, 599, 0, 599, 0, 0, 1117,
1799 175, 0, 0, 0, 0, 0, 0, 599, 0, 0,
1800 176, 599, 599, 599, 0, 0, 0, 0, 33, 0,
1801 0, 0, 0, 1382, 0, 0, 0, 0, 0, 0,
1802 237, 241, 0, 0, 896, 896, 1094, 339, 0, 0,
1803 339, 0, 0, 0, 339, 339, 339, 339, 339, 0,
1804 0, 0, 0, 0, 0, 0, 0, 339, 0, 0,
1805 0, 0, 77, 0, 0, 0, 0, 184, 339, 0,
1806 0, 0, 0, 0, 0, 1094, 0, 0, 0, 0,
1807 0, 7, 8, 9, 10, 380, 12, 13, 0, 0,
1808 677, 0, 14, 0, 0, 0, 0, 0, 0, 0,
1809 0, 339, 275, 0, 0, 0, 0, 17, 0, 18,
1810 19, 0, 184, 0, 184, 21, 184, 184, 184, 0,
1811 22, 641, 184, 0, 24, 0, 591, 184, 641, 0,
1812 184, 0, 0, 27, 0, 28, 29, 0, 0, 0,
1813 0, 0, 0, 0, 0, 0, 0, 0, 0, 1089,
1814 0, 0, 0, 77, 77, 77, 77, 77, 0, 1090,
1815 0, 77, 0, 0, 0, 0, 0, 33, 0, 594,
1816 0, 0, 1091, 596, 0, 0, 678, 0, 1117, 1117,
1817 1117, 0, 0, 0, 0, 0, 184, 0, 0, 0,
1818 0, 0, 839, 839, 0, 839, 0, 0, 0, 0,
1819 0, 0, 0, 0, 0, 0, 0, 0, 0, 77,
1820 0, 641, 0, 0, 77, 0, 77, 0, 7, 8,
1821 9, 10, 0, 0, 0, 0, 0, 0, 0, 896,
1822 896, 1094, 1094, 1094, 0, 0, 0, 896, 551, 552,
1823 553, 554, 555, 556, 557, 558, 559, 560, 561, 562,
1824 563, 564, 565, 566, 1094, 1094, 1094, 22, 0, 0,
1825 0, 0, 0, 0, 77, 77, 0, 77, 0, 641,
1826 27, 0, 28, 29, 641, 720, 1376, 7, 8, 721,
1827 10, 380, 12, 13, 0, 186, 175, 0, 14, 0,
1828 237, 241, 0, 0, 0, 0, 176, 1239, 126, 127,
1829 10, 0, 0, 17, 33, 18, 19, 20, 0, 177,
1830 0, 21, -498, 0, 0, 0, 22, 0, 0, 0,
1831 24, 722, 0, 632, 184, 0, 184, 184, 0, 27,
1832 0, 28, 29, 0, 0, 723, 22, 724, 0, 0,
1833 896, 896, 0, 896, 0, 31, 0, 0, 0, 27,
1834 0, 28, 29, 0, 0, 32, 339, 1241, 0, 0,
1835 0, 0, 0, 33, 0, 31, 184, 0, 34, 77,
1836 77, 77, 0, 0, 0, 32, 0, 184, 184, 0,
1837 184, 0, 0, 33, 0, -498, 0, 339, 34, 0,
1838 0, 0, 0, 641, 0, 0, 0, 641, 0, 0,
1839 0, 0, 0, 0, 241, 0, 495, 0, 0, 0,
1840 7, 8, 9, 10, 641, 0, 339, 184, 0, 0,
1841 641, 0, 0, 0, 0, 0, 0, 7, 8, 9,
1842 10, 380, 12, 13, 0, 523, 939, 0, 14, 0,
1843 0, 0, 0, 0, 0, 186, 0, 186, 1117, 22,
1844 0, 0, 0, 17, 0, 18, 19, 0, 0, 641,
1845 0, 21, 27, 0, 28, 29, 22, 0, 0, 0,
1846 24, 0, 0, 339, 0, 0, 0, 0, 431, 27,
1847 339, 28, 29, 0, 0, 0, 0, 641, 432, 1117,
1848 1117, 1117, 0, 0, 0, 31, 33, 0, 0, 641,
1849 0, 433, 8, 9, 0, 32, 12, 13, 0, 0,
1850 0, 0, 14, 33, 0, 0, 0, 0, 34, 77,
1851 7, 8, 9, 10, 435, 0, 0, 17, 0, 18,
1852 0, 0, 0, 0, 641, 21, 641, 0, 0, 0,
1853 669, 673, 0, 0, 24, 0, 0, 0, 673, 0,
1854 0, 0, 0, 27, 0, 129, 130, 0, 0, 22,
1855 237, 241, 237, 0, 0, 435, 435, 435, 0, 0,
1856 0, 0, 27, 0, 28, 29, 0, 184, 184, 1092,
1857 0, 0, 8, 9, 237, 380, 12, 13, 175, 0,
1858 0, 0, 14, 0, 0, 186, 0, 0, 176, 0,
1859 0, 0, 101, 0, 0, 0, 33, 17, 0, 18,
1860 19, 177, 120, 101, 0, 21, 0, 641, 1092, 101,
1861 101, 0, 101, 0, 631, 0, 0, 632, 0, 0,
1862 0, 0, 673, 27, 0, 129, 130, 0, 0, 0,
1863 641, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1864 0, 0, 217, 0, 0, 0, 0, 0, 0, 0,
1865 0, 0, 0, 788, 669, 0, 0, 800, 801, 802,
1866 441, 806, 807, 808, 809, 810, 811, 812, 813, 814,
1867 815, 816, 817, 818, 819, 820, 821, 822, 823, 824,
1868 0, 0, 0, 0, 0, 673, 0, 673, 673, 0,
8eeda2ec 1869 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
73b0fce8
KL
1870 0, 120, 0, 120, 0, 0, 101, 0, 0, 0,
1871 101, 101, 0, 0, 0, 673, 0, 101, 0, 101,
1872 101, 101, 673, 0, 101, 101, 101, 0, 0, 0,
1873 0, 0, 0, 0, 0, 0, 0, 339, 0, 0,
1874 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,
1875 9, 237, 187, 12, 188, 0, 0, 0, 0, 14,
1876 0, 0, 184, 184, 184, 184, 1092, 0, 1200, 0,
1877 184, 0, 0, 0, 17, 0, 18, 19, 0, 0,
1878 0, 669, 21, 0, 0, 0, 0, 1092, 1092, 1092,
1879 0, 24, 0, 0, 0, 0, 456, 101, 0, 0,
1880 27, 0, 129, 130, 0, 0, 0, 0, 0, 0,
1881 0, 0, 0, 0, 0, 0, 0, 101, 184, 0,
1882 0, 0, 0, 720, 0, 7, 8, 721, 10, 380,
1883 12, 13, 0, 0, 0, 0, 14, 962, 0, 0,
956d6950 1884 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
73b0fce8
KL
1885 0, 17, 0, 18, 19, 20, 101, 0, 0, 21,
1886 -500, 0, 0, 0, 22, 0, 0, 0, 24, 722,
1887 0, 632, 0, 184, 184, 0, 184, 27, 1019, 28,
1888 29, 0, 0, 723, 673, 724, 0, 0, 0, 0,
1889 0, 0, 0, 31, 0, 0, 0, 0, 0, 0,
1890 0, 0, 0, 32, 0, 0, 0, 1034, 0, 0,
1891 0, 33, 0, 0, 0, 101, 34, 101, 101, 0,
1892 0, 0, 0, 0, 0, 0, 0, 0, 275, 0,
1893 101, 0, 0, -500, 0, 0, 0, 0, 0, 0,
1894 0, 339, 0, 0, 0, 0, 669, 673, 0, 0,
1895 0, 101, 0, 0, 641, 0, 0, 275, 0, 0,
1896 673, 0, 673, 0, 673, 0, 0, 101, 0, 0,
1897 0, 101, 0, 0, 101, 0, 0, 0, 184, 101,
1898 184, 8, 9, 0, 0, 12, 225, 0, 0, 0,
1899 0, 14, 0, 0, 673, 0, 0, 0, 0, 0,
1900 0, 0, 0, 0, 0, 0, 17, 0, 18, 0,
1901 0, 0, 0, 275, 21, 0, 0, 1096, 0, 0,
1902 0, 0, 0, 24, 0, 591, 0, 0, 673, 0,
1903 0, 0, 27, 0, 129, 130, 101, 0, 712, 0,
1904 0, 0, 0, 0, 0, 0, 673, 720, 592, 7,
1905 8, 721, 10, 380, 12, 13, 0, 1092, 593, 0,
1906 14, 0, 0, 0, 101, 0, 0, 0, 594, 0,
1907 0, 595, 596, 0, 0, 17, 0, 18, 19, 20,
1908 0, 0, 0, 21, -499, 0, 0, 0, 22, 1141,
1909 0, 0, 24, 722, 0, 632, 0, 0, 1092, 1092,
1910 1092, 27, 0, 28, 29, 0, 0, 723, 0, 724,
1911 0, 0, 669, 0, 0, 0, 0, 31, 0, 0,
1912 0, 0, 0, 0, 0, 0, 0, 32, 184, 0,
1913 0, 0, 0, 0, 0, 33, 0, 0, 0, 0,
1914 34, 0, 0, 0, 0, 0, 0, 0, 669, 669,
1915 0, 0, 1175, 0, 0, 0, 101, -499, 0, 0,
1916 0, 0, 0, 0, 0, 0, 101, 101, 0, 0,
1917 101, 101, 0, 0, 0, 0, 974, 8, 721, 10,
1918 187, 12, 188, 0, 0, 0, 0, 14, 553, 554,
1919 555, 556, 557, 558, 559, 560, 561, 562, 563, 564,
1920 565, 566, 17, 0, 18, 19, 0, 0, 0, 120,
1921 21, 0, 0, 0, 0, 22, 673, 0, 673, 24,
1922 673, 217, 0, 669, 0, 0, 0, 0, 27, 0,
1923 28, 29, 669, 669, 0, 0, 976, 669, 669, 712,
1924 0, 0, 0, 0, 31, 0, 0, 0, 0, 0,
1925 0, 0, 1235, 1236, 32, 0, 0, 0, 1413, 0,
1926 0, 0, 33, 0, 0, 0, 0, 34, 0, 0,
956d6950 1927 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
73b0fce8
KL
1928 0, 0, 669, 0, 1263, 0, 0, 0, 0, 0,
1929 0, 0, 0, 0, 0, 0, 0, 712, 0, 0,
1930 101, 0, 0, 0, 0, 0, 0, 0, 673, 1414,
1931 545, 546, 547, 548, 549, 550, 551, 552, 553, 554,
1932 555, 556, 557, 558, 559, 560, 561, 562, 563, 564,
1933 565, 566, 0, 101, 101, 101, 0, 0, 669, 0,
1934 803, 0, 293, 8, 9, 10, 380, 12, 294, 295,
1935 296, 0, 297, 14, 1325, 101, 0, 0, 0, 0,
1936 0, 0, 0, 0, 0, 0, 0, 0, 17, 298,
1937 18, 19, 20, 0, 299, 300, 21, 669, 301, 302,
1938 303, 22, 304, 305, 0, 24, 0, 0, 0, 306,
1939 307, 308, 309, 310, 27, 0, 28, 311, 1446, 0,
1940 -750, 312, 0, 1362, 0, 0, 0, 313, 0, 0,
1941 314, 0, 0, 0, 0, 0, 0, 0, 315, 316,
1942 317, 0, 0, 0, 0, 19, 318, 319, 320, 0,
1943 101, 0, 101, 321, 0, 0, 1393, 1394, 0, 0,
1944 0, 0, 0, 101, 0, 1399, 0, 0, 0, 0,
1945 0, 322, 0, 0, 0, 0, 669, 545, 546, 547,
1946 548, 549, 550, 551, 552, 553, 554, 555, 556, 557,
1947 558, 559, 560, 561, 562, 563, 564, 565, 566, 0,
956d6950 1948 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
73b0fce8
KL
1949 0, 0, 0, 0, 0, 673, 0, 0, 0, 0,
1950 0, 0, 0, 1331, 0, -454, -454, -454, -454, -454,
1951 -454, -454, 0, 0, -454, 0, -454, 0, 0, 0,
1952 0, 0, 0, 0, 0, 0, 1454, -454, 0, -454,
1953 -454, 0, 0, 0, -454, 0, 0, 712, 0, -454,
1954 0, 0, 0, 0, -454, 0, 0, 0, -454, 0,
1955 -454, 0, 0, 0, 0, 0, 0, -454, 0, -454,
1956 -454, -454, -454, -454, 101, -454, -454, -454, -454, -454,
1957 -454, -454, -454, -454, -454, -454, -454, -454, -454, -454,
1958 -454, -454, -454, -454, -454, -454, -454, -454, 0, -454,
1959 -454, -454, 0, -454, -454, -454, -454, -454, -454, 0,
1960 -454, -454, 0, 0, 0, 0, 1332, 0, 0, 0,
1961 0, -454, -454, -454, 0, -454, 0, 0, 0, 0,
1962 0, 0, 0, 0, 0, 0, 0, 0, 101, 101,
1963 720, 101, 7, 8, 721, 10, 380, 12, 13, 0,
1964 0, 0, 0, 14, 0, 0, 0, 0, 669, 0,
1965 0, 0, 0, 0, 0, 0, 0, 0, 17, 0,
1966 18, 19, 20, 0, 0, 0, 21, 0, 0, 0,
1967 0, 22, 0, 0, 0, 24, 722, 0, 632, 712,
1968 0, 0, 0, 0, 27, 0, 28, 29, 0, 0,
1969 723, 0, 724, 0, 0, 0, 0, 0, 0, 0,
1970 31, 0, 0, 0, 0, 0, 0, 712, 0, 0,
1971 32, 0, 0, 0, 0, 0, 0, 0, 33, 0,
1972 0, 0, 0, 34, 101, 1384, 101, 1282, 1283, 1284,
1973 10, 380, 12, 294, 295, 296, 0, 297, 14, 1285,
1974 0, 1286, 1287, 1288, 1289, 1290, 1291, 1292, 1293, 1294,
1975 1295, 15, 16, 17, 298, 18, 19, 20, 0, 299,
1976 300, 21, 0, 301, 302, 303, 22, 304, 305, 0,
1977 24, 0, 0, 0, 306, 307, 308, 309, 310, 27,
1978 0, 1296, 311, 664, 0, 1297, 312, 0, 0, 0,
1979 0, 0, 313, 0, 0, 314, 0, 0, 0, 0,
1980 0, 0, 0, 315, 316, 317, 0, 0, 0, 0,
1981 0, 318, 319, 320, 0, 0, 0, 0, 321, 0,
1982 1298, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1983 0, 0, 0, 0, 0, 1385, 322, 1281, 0, 1282,
1984 1283, 1284, 10, 380, 12, 294, 295, 296, 0, 297,
1985 14, 1285, 0, 1286, 1287, 1288, 1289, 1290, 1291, 1292,
1986 1293, 1294, 1295, 15, 16, 17, 298, 18, 19, 20,
1987 0, 299, 300, 21, 0, 301, 302, 303, 22, 304,
1988 305, 0, 24, 0, 0, 0, 306, 307, 308, 309,
1989 310, 27, 0, 1296, 311, 664, 0, 1297, 312, 0,
1990 0, 0, 0, 0, 313, 0, 0, 314, 0, 0,
1991 0, 0, 0, 0, 0, 315, 316, 317, 0, 0,
1992 0, 0, 0, 318, 319, 320, 0, 0, 0, 0,
1993 321, 528, 1298, 293, 8, 9, 10, 380, 12, 294,
1994 295, 296, 677, 297, 14, 0, 0, 0, 322, 0,
956d6950 1995 0, 0, 0, 0, 0, 0, 0, 0, 0, 17,
73b0fce8
KL
1996 298, 18, 19, 20, 0, 299, 300, 21, 0, 301,
1997 302, 303, 22, 304, 305, 0, 24, 0, 591, 0,
1998 306, 307, 308, 309, 310, 27, 0, 28, 311, -288,
1999 0, 0, 312, 0, 0, 0, 0, 0, 313, 0,
2000 0, 869, 0, 0, 0, 0, 0, 0, 0, 315,
2001 316, 870, 0, 0, 0, 0, 0, 318, 319, 320,
2002 0, 594, 0, 0, 871, 596, 0, 528, 678, 7,
2003 8, 9, 10, 380, 12, 294, 295, 296, 677, 297,
2004 14, 0, 322, 0, 0, 0, 0, 0, 0, 0,
2005 0, 0, 0, 0, 0, 17, 298, 18, 19, 20,
2006 0, 299, 300, 21, 0, 301, 302, 303, 22, 304,
2007 305, 0, 24, 0, 591, 0, 306, 307, 308, 309,
2008 310, 27, 0, 28, 29, -288, 0, 0, 312, 0,
2009 0, 0, 0, 0, 313, 0, 0, 1112, 0, 0,
2010 0, 0, 0, 0, 0, 315, 316, 1113, 0, 0,
2011 0, 0, 0, 318, 319, 320, 0, 594, 0, 0,
2012 1114, 596, 0, 676, 678, 293, 8, 9, 10, 380,
2013 12, 294, 295, 296, 677, 297, 14, 0, 322, 0,
6a88a0c0 2014 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
73b0fce8
KL
2015 0, 17, 298, 18, 19, 20, 0, 299, 300, 21,
2016 0, 301, 302, 303, 22, 304, 305, 0, 24, 0,
2017 0, 0, 306, 307, 308, 309, 310, 27, 0, 28,
2018 311, 0, 0, 0, 312, 0, 0, 0, 0, 0,
2019 313, 0, 0, 314, 0, 0, 0, 0, 0, 0,
2020 0, 315, 316, 317, 0, 0, 0, 0, 0, 318,
2021 319, 320, 0, 0, 0, 0, 321, 0, 0, 0,
2022 678, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2023 0, 0, -760, 667, 322, 789, 790, 791, 10, 0,
2024 12, 510, 295, 296, 0, 297, 14, 0, 0, 0,
861bb6c1 2025 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
73b0fce8
KL
2026 0, 17, 298, 18, 0, 20, 0, 299, 300, 21,
2027 0, 301, 302, 303, 22, 304, 305, 0, 24, 0,
2028 0, 0, 306, 307, 308, 309, 310, 27, 0, 792,
2029 793, 668, 0, 0, 312, 0, 0, 0, 0, 0,
2030 313, 0, 0, 314, 0, 0, 0, 0, 0, 0,
2031 0, 315, 316, 317, 0, 0, 0, 0, 0, 318,
2032 319, 320, 0, 0, 0, 0, 321, 794, 667, 0,
2033 789, 790, 791, 10, 0, 12, 510, 295, 296, 0,
2034 297, 14, 0, 924, 322, 0, 0, 0, 1171, 0,
2035 0, 0, 0, 0, 0, 0, 17, 298, 18, 0,
2036 20, 0, 299, 300, 21, 0, 301, 302, 303, 22,
2037 304, 305, 0, 24, 0, 0, 0, 306, 307, 308,
2038 309, 310, 27, 0, 792, 793, 668, 0, 0, 312,
2039 0, 0, 0, 0, 0, 313, 0, 0, 314, 0,
2040 0, 0, 0, 0, 0, 0, 315, 316, 317, 0,
2041 0, 0, 0, 0, 318, 319, 320, 0, 0, 0,
2042 667, 321, 789, 790, 791, 10, 0, 12, 510, 295,
2043 296, 0, 297, 14, 0, 0, 0, 0, -458, 322,
2044 1171, 0, 0, 0, 0, 0, 0, 0, 17, 298,
2045 18, 0, 20, 0, 299, 300, 21, 0, 301, 302,
2046 303, 22, 304, 305, 0, 24, 0, 0, 0, 306,
2047 307, 308, 309, 310, 27, 0, 792, 793, 668, 0,
2048 0, 312, 0, 0, 0, 0, 0, 313, 0, 0,
2049 314, 0, 0, 0, 0, 0, 0, 0, 315, 316,
2050 317, 0, 0, 0, 0, 0, 318, 319, 320, 0,
2051 0, 0, 667, 321, 789, 790, 791, 10, 0, 12,
2052 510, 295, 296, 0, 297, 14, 0, 0, 0, 0,
2053 1214, 322, 0, 0, 0, 0, 0, 0, 0, 0,
2054 17, 298, 18, 0, 20, 0, 299, 300, 21, 0,
2055 301, 302, 303, 22, 304, 305, 0, 24, 0, 0,
2056 0, 306, 307, 308, 309, 310, 27, 0, 792, 793,
2057 668, 0, 0, 312, 0, 0, 0, 0, 0, 313,
2058 0, 0, 314, 0, 0, 0, 0, 0, 0, 0,
2059 315, 316, 317, 0, 0, 0, 0, 0, 318, 319,
2060 320, 0, 0, 0, 0, 321, 794, 667, 0, 293,
2061 8, 9, 10, 0, 12, 510, 295, 296, 0, 297,
2062 14, 0, 0, 322, 0, 0, 0, 0, 0, 0,
2063 0, 0, 0, 0, 0, 17, 298, 18, 0, 20,
2064 0, 299, 300, 21, 0, 301, 302, 303, 22, 304,
2065 305, 0, 24, 0, 0, 0, 306, 307, 308, 309,
2066 310, 27, 0, 28, 311, 668, 0, 0, 312, 0,
2067 0, 0, 0, 0, 313, 0, 0, 314, 0, 0,
2068 0, 0, 0, 0, 0, 315, 316, 317, 0, 0,
2069 0, 0, 0, 318, 319, 320, 0, 0, 0, 0,
2070 321, 0, 0, 528, 0, 293, 8, 9, 10, 1218,
2071 12, 294, 295, 296, 0, 297, 14, 0, 322, 0,
2072 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2073 0, 17, 298, 18, 0, 20, 0, 299, 300, 21,
2074 0, 301, 302, 303, 22, 304, 305, 0, 24, 0,
2075 0, 0, 306, 307, 308, 309, 310, 27, 0, 28,
2076 311, -288, 0, 0, 312, 0, 0, 0, 0, 0,
2077 313, 0, 0, 529, 0, 0, 0, 0, 0, 0,
2078 0, 315, 316, 530, 0, 0, 0, 0, 0, 318,
2079 319, 320, 0, 0, 0, 667, 531, 293, 8, 9,
2080 10, 0, 12, 510, 295, 296, 0, 297, 14, 0,
2081 0, 0, 0, 0, 322, 0, 0, 0, 0, 0,
2082 0, 0, 0, 17, 298, 18, 0, 20, 0, 299,
2083 300, 21, 0, 301, 302, 303, 22, 304, 305, 0,
2084 24, 0, 0, 0, 306, 307, 308, 309, 310, 27,
2085 0, 28, 311, 668, 0, 0, 312, 0, 0, 0,
2086 0, 0, 313, 0, 0, 314, 0, 0, 0, 0,
2087 0, 0, 0, 315, 316, 317, 0, 0, 0, 0,
2088 0, 318, 319, 320, 0, 0, 0, 803, 321, 293,
2089 8, 9, 10, 0, 12, 510, 295, 296, 0, 297,
2090 14, 0, 0, 0, 0, 0, 322, 0, 0, 0,
2091 0, 0, 0, 0, 0, 17, 298, 18, 0, 20,
2092 0, 299, 300, 21, 0, 301, 302, 303, 22, 304,
2093 305, 0, 24, 0, 0, 0, 306, 307, 308, 309,
2094 310, 27, 0, 28, 311, 0, 0, 0, 312, -750,
2095 0, 0, 0, 0, 313, 0, 0, 314, 0, 0,
2096 0, 0, 0, 0, 0, 315, 316, 317, 0, 0,
2097 0, 0, 0, 318, 319, 320, 0, 0, 0, 528,
2098 321, 7, 8, 9, 10, 0, 12, 294, 295, 296,
2099 0, 297, 14, 0, 0, 0, 0, 0, 322, 0,
2100 0, 0, 0, 0, 0, 0, 0, 17, 298, 18,
2101 0, 20, 0, 299, 300, 21, 0, 301, 302, 303,
2102 22, 304, 305, 0, 24, 0, 0, 0, 306, 307,
2103 308, 309, 310, 27, 0, 28, 29, -288, 0, 0,
2104 312, 0, 0, 0, 0, 0, 313, 0, 0, 1423,
2105 0, 0, 0, 0, 0, 0, 0, 315, 316, 1424,
2106 0, 0, 0, 0, 0, 318, 319, 320, 0, 0,
2107 0, 1513, 1425, 293, 8, 9, 10, 0, 12, 294,
2108 295, 296, 0, 297, 14, 0, 0, 0, 0, 0,
2109 322, 0, 0, 0, 0, 0, 0, 0, 0, 17,
2110 298, 18, 0, 20, 0, 299, 300, 21, 0, 301,
2111 302, 303, 22, 304, 305, 0, 24, 0, 0, 0,
2112 306, 307, 308, 309, 310, 27, 0, 28, 311, 0,
2113 0, -177, 312, 0, 0, 0, 0, 0, 313, 0,
2114 0, 314, 0, 0, 0, 0, 0, 0, 0, 315,
2115 316, 317, 0, 0, 0, 0, 0, 318, 319, 320,
2116 0, 0, 0, 803, 321, 293, 8, 9, 10, 0,
2117 12, 510, 295, 296, 0, 297, 14, 0, 0, 0,
2118 0, 0, 322, 0, 0, 0, 0, 0, 0, 0,
2119 0, 17, 298, 18, 0, 20, 0, 299, 300, 21,
2120 0, 301, 302, 303, 22, 304, 305, 0, 24, 0,
2121 0, 0, 306, 307, 308, 309, 310, 27, 0, 28,
2122 311, 0, 0, 0, 312, 0, 0, 0, 0, 0,
2123 313, 243, 0, 314, 8, 9, 0, 0, 12, 13,
2124 0, 315, 316, 317, 14, 0, 0, 0, 0, 318,
2125 319, 320, 0, 0, 0, 0, 321, 0, 0, 17,
2126 0, 18, 0, 0, 0, 0, 0, 21, 0, 244,
2127 245, 0, -750, 0, 322, 0, 24, 0, 246, 0,
2128 0, 0, 0, 0, 0, 27, 0, 129, 130, 0,
2129 247, 0, 0, 0, 248, 249, 250, 251, 252, 253,
2130 254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
2131 264, 265, 266, 267, 268, 0, 0, 269, 270, 271,
2132 0, 0, 272, 0, 787, 273, 293, 8, 9, 10,
2133 0, 12, 510, 295, 296, 0, 297, 14, 0, 0,
2134 0, 0, 274, 0, 0, 0, 0, 0, 0, 0,
2135 0, 0, 17, 298, 18, 0, 20, 0, 299, 300,
2136 21, 0, 301, 302, 303, 22, 304, 305, 0, 24,
2137 0, 0, 0, 306, 307, 308, 309, 310, 27, 0,
2138 28, 311, 0, 0, 0, 312, 0, 0, 0, 0,
2139 0, 313, 0, 0, 314, 0, 0, 0, 0, 0,
2140 0, 0, 315, 316, 317, 0, 0, 0, 0, 0,
2141 318, 319, 320, 0, 0, 0, 799, 321, 293, 8,
2142 9, 10, 0, 12, 510, 295, 296, 0, 297, 14,
2143 0, 0, 0, 0, 0, 322, 0, 0, 0, 0,
2144 0, 0, 0, 0, 17, 298, 18, 0, 20, 0,
2145 299, 300, 21, 0, 301, 302, 303, 22, 304, 305,
2146 0, 24, 0, 0, 0, 306, 307, 308, 309, 310,
2147 27, 0, 28, 311, 0, 0, 0, 312, 0, 0,
2148 0, 0, 0, 313, 0, 0, 314, 0, 0, 0,
2149 0, 0, 0, 0, 315, 316, 317, 0, 0, 0,
2150 0, 0, 318, 319, 320, 0, 0, 0, 1398, 321,
2151 293, 8, 9, 10, 0, 12, 510, 295, 296, 0,
2152 297, 14, 0, 0, 0, 0, 0, 322, 0, 0,
2153 0, 0, 0, 0, 0, 0, 17, 298, 18, 0,
2154 20, 0, 299, 300, 21, 0, 301, 302, 303, 22,
2155 304, 305, 0, 24, 0, 0, 0, 306, 307, 308,
2156 309, 310, 27, 0, 28, 311, 0, 0, 0, 312,
2157 0, 0, 0, 0, 0, 313, 0, 0, 314, 0,
2158 0, 0, 0, 0, 0, 0, 315, 316, 317, 0,
2159 0, 0, 0, 0, 318, 319, 320, 293, 8, 9,
2160 10, 321, 12, 510, 295, 296, 0, 297, 14, 0,
2161 0, 0, 0, 0, 0, 0, 0, 0, 0, 322,
2162 0, 0, 0, 17, 298, 18, 0, 20, 0, 299,
2163 300, 21, 0, 301, 302, 303, 22, 304, 305, 0,
2164 24, 0, 0, 0, 306, 307, 308, 309, 310, 27,
2165 0, 28, 311, 0, 0, 0, 312, 0, 0, 0,
2166 0, 0, 313, 0, 0, 314, 0, 0, 0, 0,
2167 0, 0, 0, 315, 316, 317, 0, 0, 0, 0,
2168 0, 318, 319, 320, 0, 0, 0, 0, 321, 550,
2169 551, 552, 553, 554, 555, 556, 557, 558, 559, 560,
2170 561, 562, 563, 564, 565, 566, 322, 842, 1282, 1283,
2171 1284, 10, 380, 12, 294, 295, 296, 0, 297, 14,
2172 1285, 0, 1286, 1287, 1288, 1289, 1290, 1291, 1292, 1293,
2173 1294, 1295, 15, 16, 17, 298, 18, 19, 20, 0,
2174 299, 300, 21, 0, 301, 302, 303, 22, 304, 305,
2175 0, 24, 0, 0, 0, 306, 307, 308, 309, 310,
2176 27, 0, 1296, 311, 664, 0, 1297, 312, 0, 0,
2177 0, 0, 0, 313, 0, 0, 314, 0, 0, 0,
2178 0, 0, 0, 0, 315, 316, 317, 0, 0, 0,
2179 0, 0, 318, 319, 320, 0, 0, 0, 0, 321,
2180 0, 1298, 0, 0, 0, 0, 0, 0, 0, 0,
2181 0, 0, 0, 0, 0, 0, 1389, 322, 1282, 1283,
2182 1284, 10, 380, 12, 294, 295, 296, 0, 297, 14,
2183 1285, 0, 1286, 1287, 1288, 1289, 1290, 1291, 1292, 1293,
2184 1294, 1295, 15, 16, 17, 298, 18, 19, 20, 0,
2185 299, 300, 21, 0, 301, 302, 303, 22, 304, 305,
2186 0, 24, 0, 0, 0, 306, 307, 308, 309, 310,
2187 27, 0, 1296, 311, 664, 0, 1297, 312, 0, 0,
2188 0, 0, 0, 313, 0, 0, 314, 0, 0, 0,
2189 0, 0, 0, 0, 315, 316, 317, 0, 0, 0,
2190 0, 0, 318, 319, 320, 0, 0, 0, 0, 321,
2191 0, 1298, 0, 0, 1282, 1283, 1284, 10, 380, 12,
2192 294, 295, 296, 0, 297, 14, 1285, 322, 1286, 1287,
2193 1288, 1289, 1290, 1291, 1292, 1293, 1294, 1295, 15, 16,
2194 17, 298, 18, 19, 20, 0, 299, 300, 21, 0,
2195 301, 302, 303, 22, 304, 305, 0, 24, 0, 0,
2196 0, 306, 307, 308, 309, 310, 27, 0, 1296, 311,
2197 1490, 0, 1297, 312, 0, 0, 0, 0, 0, 313,
2198 0, 0, 314, 0, 0, 0, 0, 0, 0, 0,
2199 315, 316, 317, 0, 0, 0, 0, 0, 318, 319,
2200 320, 0, 0, 0, 0, 321, 0, 1298, 0, 0,
2201 1282, 1283, 1284, 10, 380, 12, 294, 295, 296, 0,
2202 297, 14, 1285, 322, 1286, 1287, 1288, 1289, 1290, 1291,
2203 1292, 1293, 1294, 1295, 15, 16, 17, 298, 18, 19,
2204 20, 0, 299, 300, 21, 0, 301, 302, 303, 22,
2205 304, 305, 0, 24, 0, 0, 0, 306, 307, 308,
2206 309, 310, 27, 0, 1296, 311, 0, 0, 1297, 312,
2207 0, 0, 0, 0, 0, 313, 0, 0, 314, 0,
2208 0, 0, 0, 0, 0, 0, 315, 316, 317, 0,
2209 0, 0, 0, 0, 318, 319, 320, 0, 0, 0,
2210 0, 321, 0, 1298, 293, 8, 9, 10, 380, 12,
2211 294, 295, 296, 677, 297, 14, 0, 0, 0, 322,
6a88a0c0 2212 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
73b0fce8
KL
2213 17, 298, 18, 19, 20, 0, 299, 300, 21, 0,
2214 301, 302, 303, 22, 304, 305, 0, 24, 0, 591,
2215 0, 306, 307, 308, 309, 310, 27, 0, 28, 311,
2216 0, 0, 0, 312, 0, 0, 0, 0, 0, 313,
2217 0, 0, 869, 0, 0, 0, 0, 0, 0, 0,
2218 315, 316, 870, 0, 0, 0, 0, 0, 318, 319,
2219 320, 0, 594, 0, 0, 871, 596, 0, 0, 678,
2220 7, 8, 9, 10, 380, 12, 294, 295, 296, 677,
2221 297, 14, 0, 322, 0, 0, 0, 0, 0, 0,
2222 0, 0, 0, 0, 0, 0, 17, 298, 18, 19,
2223 20, 0, 299, 300, 21, 0, 301, 302, 303, 22,
2224 304, 305, 0, 24, 0, 591, 0, 306, 307, 308,
2225 309, 310, 27, 0, 28, 29, 0, 0, 0, 312,
2226 0, 0, 0, 0, 0, 313, 0, 0, 1112, 0,
2227 0, 0, 0, 0, 0, 0, 315, 316, 1113, 0,
2228 0, 0, 0, 0, 318, 319, 320, 0, 594, 0,
2229 0, 1114, 596, 0, 0, 678, 293, 8, 9, 10,
2230 0, 12, 294, 295, 296, 0, 297, 14, 0, 322,
2231 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2232 0, 0, 17, 298, 18, 0, 20, 0, 299, 300,
2233 21, 0, 301, 302, 303, 22, 304, 305, 0, 24,
2234 0, 591, 0, 306, 307, 308, 309, 310, 27, 0,
2235 28, 311, 0, 0, 0, 0, 0, 0, 0, 0,
2236 0, 313, 0, 0, 869, 0, 0, 0, 0, 0,
2237 0, 0, 315, 316, 870, 0, 0, 0, 0, 0,
2238 318, 319, 320, 0, 594, 0, 0, 871, 596, 7,
2239 8, 9, 10, 0, 12, 294, 295, 296, 0, 297,
2240 14, 0, 0, 0, 0, 322, 0, 0, 0, 0,
2241 0, 0, 0, 0, 0, 17, 298, 18, 0, 20,
2242 0, 299, 300, 21, 0, 301, 302, 303, 22, 304,
2243 305, 0, 24, 0, 591, 0, 306, 307, 308, 309,
2244 310, 27, 0, 28, 29, 0, 0, 0, 0, 0,
2245 0, 0, 0, 0, 313, 0, 0, 1112, 0, 0,
2246 0, 0, 0, 0, 0, 315, 316, 1113, 0, 0,
2247 0, 0, 0, 318, 319, 320, 0, 594, 0, 0,
2248 1114, 596, 293, 8, 9, 10, 0, 12, 510, 295,
2249 296, 0, 297, 14, 0, 0, 0, 0, 322, 0,
2250 0, 0, 0, 0, 0, 0, 0, 0, 17, 298,
2251 18, 0, 20, 0, 299, 300, 21, 0, 301, 302,
2252 303, 22, 304, 305, 0, 24, 0, 0, 0, 306,
2253 307, 308, 309, 310, 27, 0, 28, 311, 0, 0,
2254 1366, 312, 0, 0, 0, 0, 0, 313, 0, 0,
2255 314, 0, 0, 0, 0, 0, 0, 0, 315, 316,
2256 317, 0, 0, 0, 0, 0, 318, 319, 320, 0,
2257 0, 0, 0, 321, 293, 8, 9, 10, 380, 12,
2258 294, 295, 296, 0, 297, 14, 0, 0, 0, 0,
2259 0, 322, 0, 0, 0, 0, 0, 0, 0, 0,
2260 17, 298, 18, 19, 20, 0, 299, 300, 21, 0,
2261 301, 302, 303, 22, 304, 305, 0, 24, 0, 0,
2262 0, 306, 307, 308, 309, 310, 27, 0, 28, 311,
2263 0, 0, 0, 0, 0, 0, 0, 0, 0, 313,
2264 0, 0, 314, 0, 0, 0, 0, 0, 0, 0,
2265 315, 316, 317, 0, 0, 0, 0, 0, 318, 319,
2266 320, 293, 8, 9, 10, 321, 12, 294, 295, 296,
2267 0, 297, 14, 0, 0, 0, 0, 0, 0, 0,
2268 0, 0, 0, 322, 0, 0, 0, 17, 298, 18,
2269 0, 20, 0, 299, 300, 21, 0, 301, 302, 303,
2270 22, 304, 305, 0, 24, 0, 0, 0, 306, 307,
2271 308, 309, 310, 27, 0, 28, 311, 0, 0, 0,
2272 312, 0, 0, 0, 0, 0, 313, 0, 0, 314,
2273 0, 0, 0, 0, 0, 0, 0, 315, 316, 317,
2274 0, 0, 0, 0, 0, 318, 319, 320, 293, 8,
2275 9, 10, 321, 12, 510, 295, 296, 0, 297, 14,
2276 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2277 322, 0, 0, 0, 17, 298, 18, 0, 20, 0,
2278 299, 300, 21, 0, 301, 302, 303, 22, 304, 305,
2279 0, 24, 0, 0, 0, 306, 307, 308, 309, 310,
2280 27, 0, 28, 311, 0, 0, 0, 312, 0, 0,
2281 0, 0, 0, 313, 0, 0, 314, 0, 0, 0,
2282 0, 0, 0, 0, 315, 316, 317, 0, 0, 0,
2283 0, 0, 318, 319, 320, 293, 8, 9, 10, 321,
2284 12, 510, 295, 296, 0, 297, 14, 0, 0, 0,
2285 0, 0, 0, 0, 0, 0, 0, 322, 0, 0,
2286 0, 17, 298, 18, 0, 20, 0, 299, 300, 21,
2287 0, 301, 302, 303, 22, 304, 305, 0, 24, 0,
2288 0, 0, 306, 307, 308, 309, 310, 27, 0, 28,
2289 311, 541, 0, 0, 0, 0, 0, 0, 0, 0,
2290 313, 0, 0, 314, 0, 0, 0, 0, 0, 0,
2291 0, 315, 316, 317, 0, 0, 0, 0, 0, 318,
2292 319, 320, 293, 8, 9, 10, 542, 12, 510, 295,
2293 296, 0, 297, 14, 0, 0, 0, 0, 0, 0,
2294 0, 0, 0, 0, 322, 0, 0, 0, 17, 298,
2295 18, 0, 20, 0, 299, 300, 21, 0, 301, 302,
2296 303, 22, 304, 305, 0, 24, 0, 0, 0, 306,
2297 307, 308, 309, 310, 27, 0, 28, 311, 0, 0,
2298 0, 0, 0, 0, 0, 0, 0, 313, 0, 0,
2299 314, 0, 0, 0, 0, 0, 0, 0, 315, 316,
2300 317, 0, 0, 0, 0, 0, 318, 319, 320, 0,
2301 0, 0, 0, 321, 579, 293, 8, 9, 10, 0,
2302 12, 510, 295, 296, 0, 297, 14, 0, 0, 0,
2303 0, 322, 0, 0, 0, 0, 0, 0, 0, 0,
2304 0, 17, 298, 18, 0, 20, 0, 299, 300, 21,
2305 0, 301, 302, 303, 22, 304, 305, 0, 24, 0,
2306 0, 0, 306, 307, 308, 309, 310, 27, 0, 28,
2307 311, 0, 0, 0, 312, 0, 0, 0, 0, 0,
2308 313, 0, 0, 529, 0, 0, 0, 0, 0, 0,
2309 0, 315, 316, 530, 0, 0, 0, 0, 0, 318,
2310 319, 320, 1080, 8, 9, 10, 531, 12, 510, 295,
2311 296, 0, 297, 14, 0, 0, 0, 0, 0, 0,
2312 0, 0, 0, 0, 322, 0, 0, 0, 17, 298,
2313 18, 0, 20, 0, 299, 300, 21, 0, 301, 302,
2314 303, 22, 304, 305, 0, 24, 0, 0, 0, 306,
2315 307, 308, 309, 310, 27, 0, 28, 311, 0, 0,
2316 0, 312, 0, 0, 0, 0, 0, 313, 0, 0,
2317 314, 0, 0, 0, 0, 0, 0, 0, 315, 316,
2318 317, 0, 0, 0, 0, 0, 318, 319, 320, 7,
2319 8, 9, 10, 321, 12, 510, 295, 296, 0, 297,
2320 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2321 0, 322, 0, 0, 0, 17, 298, 18, 0, 20,
2322 0, 299, 300, 21, 0, 301, 302, 303, 22, 304,
2323 305, 0, 24, 0, 0, 0, 306, 307, 308, 309,
2324 310, 27, 0, 28, 29, 0, 0, 0, 312, 0,
2325 0, 0, 0, 0, 313, 0, 0, 1423, 0, 0,
2326 0, 0, 0, 0, 0, 315, 316, 1424, 0, 0,
2327 0, 0, 0, 318, 319, 320, 293, 8, 9, 10,
2328 1425, 12, 510, 295, 296, 0, 297, 14, 0, 0,
2329 0, 0, 0, 0, 0, 0, 0, 0, 322, 0,
2330 0, 0, 17, 298, 18, 0, 20, 0, 299, 300,
2331 21, 0, 301, 302, 303, 22, 304, 305, 0, 24,
2332 0, 0, 0, 306, 307, 308, 309, 310, 27, 0,
2333 28, 311, 0, 0, 0, 0, 0, 0, 0, 0,
2334 0, 313, 0, 0, 314, 0, 0, 0, 0, 0,
2335 0, 0, 315, 316, 317, 0, 0, 0, 0, 0,
2336 318, 319, 320, 293, 8, 9, 10, 511, 12, 510,
2337 295, 296, 0, 297, 14, 0, 0, 0, 0, 0,
2338 0, 0, 0, 0, 0, 322, 0, 0, 0, 17,
2339 298, 18, 0, 20, 0, 299, 300, 21, 0, 301,
2340 302, 303, 22, 304, 305, 0, 24, 0, 0, 0,
2341 306, 307, 308, 309, 310, 27, 0, 28, 311, 0,
2342 0, 0, 0, 0, 0, 0, 0, 0, 313, 0,
2343 0, 314, 0, 0, 0, 0, 0, 0, 0, 315,
2344 316, 317, 0, 0, 0, 0, 0, 318, 319, 320,
2345 293, 8, 9, 10, 514, 12, 510, 295, 296, 0,
2346 297, 14, 0, 0, 0, 0, 0, 0, 0, 0,
2347 0, 0, 322, 0, 0, 0, 17, 298, 18, 0,
2348 20, 0, 299, 300, 21, 0, 301, 302, 303, 22,
2349 304, 305, 0, 24, 0, 0, 0, 306, 307, 308,
2350 309, 310, 27, 0, 28, 311, 0, 0, 0, 0,
2351 0, 0, 0, 0, 0, 313, 0, 0, 314, 0,
2352 0, 0, 0, 0, 0, 0, 315, 316, 317, 0,
2353 0, 0, 0, 0, 318, 319, 320, 293, 8, 9,
2354 10, 321, 12, 510, 295, 296, 0, 297, 14, 0,
2355 0, 0, 0, 0, 0, 0, 0, 0, 0, 322,
2356 0, 0, 0, 17, 298, 18, 0, 20, 0, 299,
2357 300, 21, 0, 301, 302, 303, 22, 304, 305, 0,
2358 24, 0, 0, 0, 306, 307, 308, 309, 310, 27,
2359 0, 28, 311, 0, 0, 0, 0, 0, 0, 0,
2360 0, 0, 313, 0, 0, 529, 0, 0, 0, 0,
2361 0, 0, 0, 315, 316, 530, 0, 0, 0, 0,
2362 0, 318, 319, 320, 7, 8, 9, 10, 531, 12,
2363 294, 295, 296, 0, 297, 14, 0, 0, 0, 0,
2364 0, 0, 0, 0, 0, 0, 322, 0, 0, 0,
2365 17, 298, 18, 0, 20, 0, 299, 300, 21, 0,
2366 301, 302, 303, 22, 304, 305, 0, 24, 0, 0,
2367 0, 306, 307, 308, 309, 310, 27, 0, 28, 29,
2368 0, 0, 0, 0, 0, 0, 0, 0, 0, 313,
2369 0, 6, 1423, 7, 8, 9, 10, 11, 12, 13,
2370 315, 316, 1424, 0, 14, 0, 0, 0, 318, 319,
2371 320, 0, 0, 0, 0, 1425, 0, 15, 16, 17,
2372 0, 18, 19, 20, 0, 0, 0, 21, 0, 0,
2373 0, 0, 22, 322, 0, 23, 24, 25, 0, 26,
2374 0, 0, 0, 0, 0, 27, 0, 28, 29, 0,
2375 161, 30, 7, 8, 9, 10, 11, 12, 13, 0,
2376 0, 31, 0, 14, 0, 0, 0, 0, 0, 0,
2377 0, 32, 0, 0, 0, 0, 15, 16, 17, 33,
2378 18, 19, 20, 0, 34, 0, 21, 0, 0, 0,
2379 35, 22, 0, 0, 23, 24, 25, 0, 26, 0,
2380 0, 0, 0, 0, 27, 0, 28, 29, 0, 0,
2381 30, 7, 8, 9, 10, 187, 12, 188, 0, 0,
2382 31, 0, 14, 0, 0, 0, 0, 0, 0, 0,
2383 32, 0, 0, 0, 0, 0, 0, 17, 33, 18,
2384 19, 0, 0, 34, 0, 21, 0, 0, 0, 35,
2385 22, 0, 0, 0, 24, 0, 7, 8, 9, 10,
2386 380, 12, 13, 27, 0, 28, 29, 14, 0, 1379,
2387 0, 0, 0, 0, 0, 0, 0, 0, 0, 31,
2388 0, 0, 17, 0, 18, 19, 0, 0, 0, 32,
2389 21, 0, 0, 0, 0, 22, 0, 33, 0, 24,
2390 0, 0, 34, 0, 0, 0, 0, 0, 27, 0,
2391 28, 29, 7, 8, 9, 10, 187, 12, 188, 0,
2392 0, 0, 0, 14, 31, 0, 0, 0, 0, 0,
2393 0, 0, 0, 0, 32, 0, 0, 0, 17, 0,
2394 18, 19, 33, 0, 0, 0, 21, 34, 0, 0,
2395 0, 22, 0, 0, 0, 24, 0, 0, 0, 0,
2396 0, 0, 0, 0, 27, 0, 28, 29, 545, 546,
2397 547, 548, 549, 550, 551, 552, 553, 554, 555, 556,
2398 31, 558, 559, 560, 561, 562, 563, 564, 565, 566,
2399 32, 0, 0, 0, 0, 0, 0, 0, 33, 0,
2400 0, 0, 0, 34, 545, 546, 547, 548, 549, 550,
2401 551, 552, 553, 554, 555, 556, 557, 558, 559, 560,
2402 561, 562, 563, 564, 565, 566, 545, 546, 547, 548,
2403 549, 550, 551, 552, 553, 554, 555, 556, 557, 558,
2404 559, 560, 561, 562, 563, 564, 565, 566, 0, 0,
2405 0, 0, 0, 1169, 0, 0, 0, 0, 0, 0,
2406 0, 0, 0, 0, 0, 0, 0, 0, 544, 0,
2407 0, 1434, 545, 546, 547, 548, 549, 550, 551, 552,
2408 553, 554, 555, 556, 557, 558, 559, 560, 561, 562,
2409 563, 564, 565, 566, 1343, 545, 546, 547, 548, 549,
2410 550, 551, 552, 553, 554, 555, 556, 557, 558, 559,
2411 560, 561, 562, 563, 564, 565, 566, 1476, 545, 546,
2412 547, 548, 549, 550, 551, 552, 553, 554, 555, 556,
2413 557, 558, 559, 560, 561, 562, 563, 564, 565, 566,
2414 545, 546, 547, 548, 549, 550, 551, 552, 553, 554,
2415 555, 556, 557, 558, 559, 560, 561, 562, 563, 564,
2416 565, 566, 549, 550, 551, 552, 553, 554, 555, 556,
2417 557, 558, 559, 560, 561, 562, 563, 564, 565, 566
861bb6c1
JL
2418};
2419
2420static const short yycheck[] = { 4,
73b0fce8
KL
2421 340, 24, 4, 4, 54, 4, 662, 125, 191, 379,
2422 34, 75, 4, 156, 14, 660, 379, 231, 146, 147,
2423 831, 379, 460, 725, 346, 350, 83, 132, 4, 439,
2424 650, 36, 734, 79, 36, 36, 41, 36, 34, 41,
2425 41, 1276, 41, 226, 36, 297, 298, 53, 1411, 41,
2426 923, 56, 191, 221, 4, 412, 643, 1299, 61, 34,
2427 36, 200, 11, 1446, 1444, 41, 71, 11, 1306, 106,
2428 107, 1441, 59, 59, 38, 1313, 328, 1, 83, 65,
2429 56, 11, 82, 60, 1, 56, 36, 58, 1468, 743,
2430 60, 41, 595, 276, 748, 141, 31, 32, 1428, 602,
2431 0, 106, 107, 1135, 1136, 105, 199, 200, 48, 3,
2432 4, 5, 9, 100, 63, 0, 128, 1149, 75, 284,
2433 285, 133, 146, 147, 148, 79, 1509, 1497, 132, 133,
2434 135, 195, 346, 135, 111, 59, 111, 1467, 61, 185,
2435 110, 761, 59, 1, 764, 151, 63, 111, 83, 12,
2436 146, 147, 148, 177, 94, 160, 75, 340, 160, 135,
2437 89, 110, 91, 57, 58, 62, 110, 1547, 1498, 1411,
2438 1533, 106, 107, 513, 61, 55, 182, 1415, 535, 96,
2439 110, 177, 55, 12, 160, 135, 596, 81, 111, 14,
2440 63, 194, 60, 49, 60, 75, 94, 60, 23, 202,
2441 63, 59, 61, 12, 34, 63, 1238, 136, 8, 9,
2442 160, 146, 147, 867, 14, 1247, 1248, 1455, 1250, 63,
2443 191, 386, 387, 661, 111, 27, 28, 227, 199, 200,
2444 32, 60, 337, 1044, 63, 98, 65, 37, 96, 64,
2445 175, 176, 110, 1478, 110, 61, 46, 110, 48, 60,
2446 48, 60, 111, 63, 63, 63, 299, 300, 229, 61,
2447 437, 94, 1500, 65, 48, 75, 110, 48, 445, 98,
2448 633, 314, 277, 417, 317, 94, 333, 320, 283, 48,
2449 323, 324, 287, 75, 321, 287, 906, 907, 242, 98,
2450 75, 334, 614, 7, 94, 111, 94, 95, 123, 110,
2451 887, 626, 110, 431, 432, 444, 663, 961, 94, 111,
2452 94, 287, 110, 94, 95, 685, 321, 147, 148, 973,
2453 145, 464, 39, 1469, 38, 94, 110, 685, 333, 110,
2454 4, 5, 382, 337, 499, 1481, 341, 287, 55, 25,
2455 352, 681, 48, 55, 109, 1491, 346, 177, 283, 48,
2456 443, 444, 61, 48, 1008, 25, 1010, 286, 451, 65,
2457 58, 373, 1508, 75, 1396, 1397, 65, 1178, 871, 373,
2458 463, 4, 5, 59, 379, 4, 5, 63, 383, 61,
2459 9, 1527, 55, 57, 58, 422, 321, 379, 94, 453,
2460 483, 894, 48, 218, 219, 94, 1016, 1017, 333, 94,
2461 95, 4, 5, 48, 1550, 60, 231, 431, 432, 433,
2462 96, 48, 383, 384, 48, 110, 1289, 4, 5, 32,
2463 425, 76, 55, 48, 57, 58, 55, 36, 57, 58,
2464 933, 65, 41, 48, 75, 431, 432, 433, 94, 95,
2465 63, 63, 71, 48, 379, 4, 5, 450, 1150, 94,
2466 95, 501, 81, 75, 57, 58, 461, 94, 868, 461,
2467 94, 95, 461, 466, 59, 436, 95, 60, 61, 94,
2468 57, 58, 443, 444, 511, 1348, 447, 514, 81, 94,
2469 451, 518, 55, 48, 1357, 1358, 529, 530, 313, 94,
2470 425, 321, 48, 191, 531, 4, 431, 432, 57, 58,
2471 48, 199, 200, 4, 5, 542, 511, 461, 63, 514,
2472 547, 461, 48, 518, 519, 520, 521, 522, 888, 576,
2473 75, 959, 81, 48, 349, 888, 531, 36, 226, 94,
2474 888, 502, 41, 55, 111, 48, 573, 542, 94, 87,
2475 88, 709, 579, 711, 92, 93, 94, 95, 716, 60,
2476 61, 4, 5, 75, 876, 59, 57, 58, 94, 95,
2477 489, 3, 4, 5, 921, 3, 4, 5, 48, 94,
2478 575, 576, 48, 4, 5, 55, 511, 94, 276, 514,
2479 81, 94, 55, 518, 519, 520, 521, 522, 1091, 639,
2480 595, 641, 642, 758, 777, 75, 531, 602, 55, 1472,
2481 48, 719, 432, 433, 57, 58, 606, 542, 631, 702,
2482 48, 1114, 55, 55, 94, 57, 58, 55, 94, 57,
2483 58, 873, 3, 4, 5, 6, 57, 58, 81, 48,
2484 76, 681, 48, 458, 25, 640, 27, 28, 661, 644,
2485 575, 576, 340, 63, 1054, 1303, 94, 1305, 1050, 1051,
2486 81, 1053, 3, 4, 5, 75, 94, 592, 593, 55,
2487 595, 42, 876, 1101, 728, 729, 110, 602, 59, 640,
2488 110, 642, 63, 737, 55, 94, 57, 58, 94, 75,
2489 685, 511, 732, 55, 514, 95, 384, 4, 5, 833,
2490 48, 1129, 110, 3, 4, 5, 110, 3, 4, 5,
2491 530, 531, 11, 75, 55, 96, 57, 58, 89, 1049,
2492 681, 111, 542, 55, 60, 61, 541, 48, 3, 55,
2493 725, 63, 727, 725, 55, 727, 725, 63, 733, 734,
2494 418, 702, 734, 75, 705, 734, 94, 425, 743, 75,
2495 57, 58, 61, 748, 75, 443, 444, 57, 58, 59,
2496 685, 57, 58, 451, 48, 94, 732, 733, 55, 27,
2497 28, 55, 733, 94, 81, 463, 63, 55, 739, 4,
2498 5, 725, 602, 727, 76, 725, 78, 727, 75, 733,
2499 734, 75, 60, 61, 734, 483, 113, 75, 956, 957,
2500 958, 418, 1437, 63, 3, 4, 5, 6, 425, 842,
2501 94, 838, 84, 85, 502, 1461, 631, 25, 743, 27,
2502 28, 95, 76, 748, 78, 744, 745, 746, 643, 95,
2503 55, 509, 57, 58, 55, 830, 869, 870, 60, 834,
2504 27, 28, 63, 42, 871, 32, 71, 1002, 1003, 1004,
2505 49, 59, 113, 668, 75, 63, 81, 94, 57, 58,
2506 3, 4, 5, 899, 111, 999, 861, 3, 4, 5,
2507 95, 55, 867, 60, 61, 94, 871, 75, 65, 63,
2508 894, 75, 81, 75, 60, 75, 876, 110, 96, 65,
2509 89, 75, 509, 888, 572, 890, 574, 575, 60, 894,
2510 76, 1035, 1036, 8, 9, 830, 888, 11, 894, 14,
2511 60, 61, 55, 110, 57, 58, 59, 110, 113, 933,
2512 55, 57, 58, 977, 602, 110, 65, 954, 63, 983,
2513 984, 609, 37, 987, 988, 61, 861, 991, 933, 110,
2514 75, 46, 867, 111, 869, 870, 871, 933, 111, 985,
2515 110, 771, 947, 75, 642, 572, 113, 574, 575, 954,
2516 755, 756, 757, 888, 75, 890, 961, 892, 893, 894,
2517 65, 1089, 1090, 60, 61, 1305, 1110, 75, 973, 4,
2518 5, 60, 60, 61, 113, 1119, 1120, 60, 113, 110,
2519 1124, 1125, 609, 681, 1112, 1113, 110, 76, 110, 78,
2520 59, 996, 110, 55, 996, 966, 967, 996, 933, 8,
2521 113, 94, 1359, 1008, 702, 1010, 3, 4, 5, 6,
2522 45, 48, 947, 1056, 1371, 94, 111, 61, 37, 954,
2523 55, 61, 57, 58, 995, 1169, 961, 65, 110, 65,
2524 110, 985, 81, 82, 83, 84, 85, 65, 973, 63,
2525 870, 871, 996, 110, 110, 42, 996, 1093, 4, 5,
2526 110, 65, 79, 9, 879, 65, 113, 65, 65, 60,
2527 57, 58, 887, 94, 894, 1089, 1090, 1091, 1438, 1112,
2528 1113, 1428, 63, 1008, 436, 1010, 103, 1114, 1101, 777,
2529 1438, 1225, 111, 771, 110, 447, 1091, 110, 1112, 1113,
2530 1114, 76, 89, 1089, 1090, 1091, 76, 110, 110, 55,
2531 76, 57, 58, 933, 110, 132, 76, 110, 1465, 1114,
2532 1467, 110, 1452, 63, 141, 71, 1112, 1113, 1114, 25,
2533 1264, 27, 28, 63, 60, 81, 1483, 110, 1165, 1166,
2534 1167, 1168, 3, 4, 5, 63, 7, 8, 9, 1176,
2535 113, 1498, 110, 95, 111, 1150, 834, 110, 1150, 110,
2536 89, 1150, 48, 59, 1089, 1090, 1091, 63, 185, 847,
2537 113, 849, 110, 851, 110, 57, 37, 110, 113, 113,
2538 1141, 1142, 110, 1144, 1145, 110, 1147, 1112, 1113, 1114,
2539 110, 1245, 1246, 60, 55, 111, 57, 58, 59, 65,
2540 96, 218, 1146, 881, 60, 25, 1150, 27, 28, 1343,
2541 1150, 65, 60, 110, 94, 110, 1211, 834, 111, 1211,
2542 1211, 1036, 1211, 94, 94, 242, 1221, 111, 113, 94,
2543 847, 110, 849, 110, 851, 4, 5, 915, 8, 59,
2544 113, 110, 110, 63, 105, 106, 107, 79, 80, 81,
2545 82, 83, 84, 85, 65, 933, 63, 110, 110, 110,
2546 110, 110, 48, 1303, 881, 1305, 1299, 1294, 110, 110,
2547 1090, 1091, 110, 379, 1235, 1236, 96, 110, 113, 1452,
2548 106, 107, 3, 4, 5, 110, 55, 1420, 57, 58,
2549 34, 110, 110, 1113, 1114, 1110, 1221, 110, 915, 97,
2550 110, 110, 71, 63, 1299, 1423, 1424, 1299, 110, 1304,
2551 1299, 1306, 81, 110, 1306, 1306, 110, 1306, 1313, 425,
2552 110, 1313, 1313, 110, 1313, 113, 63, 1381, 345, 61,
2553 61, 9, 61, 16, 61, 94, 57, 58, 94, 61,
2554 94, 1368, 109, 1304, 1305, 94, 4, 5, 99, 7,
2555 8, 9, 17, 705, 12, 61, 14, 61, 110, 11,
2556 110, 61, 110, 110, 1325, 1326, 1327, 61, 1382, 94,
2557 60, 29, 389, 31, 32, 110, 61, 65, 11, 37,
2558 3, 4, 5, 11, 1411, 1412, 61, 739, 46, 61,
2559 1423, 1424, 110, 1208, 110, 61, 1382, 55, 1425, 57,
2560 58, 1535, 0, 0, 3, 4, 5, 0, 2, 1423,
2561 1424, 1425, 407, 1453, 1441, 352, 1411, 1412, 160, 1411,
2562 1415, 1475, 1411, 1415, 1415, 1103, 1415, 1105, 888, 1107,
2563 1425, 1436, 1393, 1394, 57, 58, 160, 1423, 1424, 1425,
2564 98, 458, 733, 1438, 727, 1101, 1441, 93, 493, 1444,
2565 1407, 138, 1444, 1444, 1547, 1444, 279, 283, 57, 58,
2566 1455, 1304, 879, 1455, 1455, 668, 1455, 768, 1495, 486,
2567 1497, 1129, 959, 1468, 220, 996, 1468, 1468, 727, 1468,
2568 1295, 733, 3, 4, 5, 6, 1103, 1412, 1105, 595,
2569 1107, 1148, 1519, 508, 576, 321, 602, 4, 1423, 1424,
2570 1425, 766, 1497, 182, 123, 1500, 1533, 14, 1500, 1500,
2571 337, 1500, 1306, 1438, 1212, 1483, 1441, 1195, 25, 1461,
2572 1458, 42, 1520, 1522, 31, 32, 942, 34, 49, 36,
2573 3, 4, 5, -1, 41, 1350, 57, 58, 1499, 1221,
2574 -1, -1, -1, 4, 5, -1, -1, 54, 9, 56,
2575 -1, -1, 1547, 379, -1, 1547, 1547, 64, 1547, -1,
2576 81, -1, 1382, -1, 71, -1, 39, 40, 89, 42,
2577 -1, 588, 1497, -1, -1, 82, 83, -1, 1195, 685,
2578 -1, -1, 55, -1, 57, 58, -1, 48, 605, -1,
2579 3, 4, 5, 6, 55, -1, 57, 58, 105, -1,
2580 -1, -1, -1, -1, 1424, 1425, -1, -1, -1, -1,
2581 71, -1, -1, -1, 966, 967, -1, 1305, -1, -1,
2582 81, 128, 9, -1, -1, 12, 133, -1, 135, 42,
2583 91, 12, 139, 94, 95, 142, 143, 743, -1, 146,
2584 147, 148, 748, 995, 57, 58, 27, 28, -1, -1,
2585 -1, 32, -1, 160, -1, -1, -1, -1, -1, -1,
2586 -1, 48, -1, -1, -1, -1, -1, 48, 175, 176,
2587 177, -1, -1, 60, -1, 62, 63, 700, 65, 60,
2588 61, -1, 63, -1, 65, 511, -1, -1, 514, 76,
2589 -1, 78, 518, 519, 520, 521, 522, 204, -1, -1,
2590 -1, -1, -1, -1, 1382, 531, -1, 94, 95, -1,
2591 -1, 98, 219, 94, 95, -1, 542, 98, -1, 742,
2592 227, -1, -1, 110, 747, -1, -1, -1, -1, 110,
2593 4, 5, 239, 7, 8, 9, -1, -1, 12, -1,
2594 14, -1, -1, -1, -1, -1, 3, 4, 5, 575,
2595 7, 8, 9, -1, -1, 29, -1, 31, 32, -1,
2596 -1, 867, -1, 37, 1452, 871, 7, 8, 9, 595,
2597 277, 278, 46, 14, 48, -1, 602, -1, -1, -1,
2598 287, 55, 888, 57, 58, -1, -1, -1, 894, 1141,
2599 1142, 32, 1144, 1145, -1, 1147, 37, 71, 4, 5,
2600 57, 58, 8, 9, -1, 46, -1, 81, 14, 3,
2601 4, 5, 6, -1, -1, 9, -1, 91, 81, -1,
2602 94, 95, -1, 29, 98, 31, 333, 933, -1, -1,
2603 337, 37, 339, 340, 341, 175, 176, 177, -1, 862,
2604 46, 864, -1, -1, -1, 352, -1, -1, 42, 55,
2605 -1, 57, 58, 59, 48, 961, -1, -1, 875, 685,
2606 877, 55, -1, 57, 58, -1, 373, 973, -1, -1,
2607 -1, -1, 379, -1, -1, 382, 383, 71, -1, 3,
2608 4, 5, 899, 1235, 1236, -1, 393, 81, 94, 396,
2609 -1, 154, -1, -1, 401, 89, -1, 91, -1, -1,
2610 94, 95, 1008, -1, 1010, -1, -1, 31, -1, -1,
2611 173, 3, 4, 5, 6, -1, -1, 9, -1, -1,
2612 427, -1, 429, 186, 431, 432, 433, -1, -1, -1,
2613 437, 55, -1, 57, 58, 442, -1, -1, 445, 4,
2614 5, -1, -1, 8, 9, -1, -1, -1, -1, 14,
2615 42, -1, -1, -1, 461, -1, 48, 7, 8, 9,
2616 -1, -1, -1, 55, 14, 57, 58, -1, 985, -1,
2617 -1, -1, 37, 1325, 1326, 1327, -1, -1, -1, 71,
2618 -1, 46, 32, 48, 1007, 1091, 1009, 37, -1, 81,
2619 55, -1, 57, 58, 501, -1, 46, 89, -1, 91,
2620 -1, -1, 94, 95, 830, -1, 71, -1, 1114, -1,
2621 -1, 61, 519, 520, 521, 522, 81, -1, 7, 8,
2622 9, -1, -1, -1, -1, 14, 91, -1, -1, 94,
2623 95, -1, -1, -1, -1, 861, -1, -1, -1, -1,
2624 -1, 1393, 1394, 32, -1, 871, -1, 1070, 37, 3,
2625 4, 5, -1, 7, -1, -1, -1, 46, -1, 1076,
2626 -1, -1, 888, -1, 890, -1, -1, -1, 894, 576,
2627 -1, 578, 3, 4, 5, 6, 1093, 31, 9, -1,
2628 -1, -1, 589, -1, 38, 592, 593, 427, 595, 429,
2629 -1, 431, 432, 433, -1, 602, -1, -1, -1, 606,
2630 -1, 55, 442, 57, 58, -1, -1, 933, -1, -1,
2631 1133, 42, -1, -1, 1137, -1, -1, 48, -1, -1,
2632 -1, 947, -1, -1, 55, -1, 57, 58, 954, 1146,
2633 -1, -1, 639, 640, 641, 642, 643, 644, -1, -1,
2634 71, 7, 8, 9, -1, -1, -1, 1499, 14, -1,
2635 81, 3, 4, 5, 6, -1, -1, 9, 89, -1,
2636 91, -1, -1, 94, 95, -1, 32, -1, 1191, -1,
2637 -1, 37, 435, -1, 681, -1, -1, 440, 685, -1,
2638 46, -1, -1, -1, -1, 692, 693, -1, 695, -1,
2639 42, -1, -1, -1, -1, 61, 48, -1, -1, 3,
2640 4, 5, 6, 55, 467, 57, 58, -1, -1, 472,
2641 -1, -1, -1, -1, -1, 722, -1, -1, 725, 71,
2642 727, 484, 485, -1, 487, 732, 733, 734, -1, 81,
2643 -1, 1254, 1255, -1, -1, -1, 743, 89, 42, 91,
2644 -1, 748, 94, 95, 48, -1, -1, 1270, 755, 756,
2645 757, 55, -1, 57, 58, -1, 4, 5, -1, -1,
2646 8, 9, -1, -1, -1, 1091, 14, 71, -1, -1,
2647 777, -1, -1, -1, 3, 4, 5, 81, 7, 8,
2648 9, 29, -1, 31, -1, 89, -1, 91, 1114, 37,
2649 94, 95, -1, -1, -1, 1318, 1319, -1, 46, -1,
2650 -1, -1, 3, 4, 5, 6, -1, 55, 37, 57,
2651 58, -1, -1, -1, 1337, 1338, -1, -1, -1, -1,
2652 -1, -1, -1, 830, -1, 339, 340, 341, 57, 58,
2653 -1, -1, 1438, -1, -1, 598, 599, -1, -1, -1,
2654 603, 42, -1, -1, -1, 852, 94, 854, 49, -1,
2655 -1, -1, 692, 693, 861, 695, 57, 58, 865, -1,
2656 867, -1, 869, 870, 871, -1, -1, -1, -1, 876,
2657 3, 4, 5, 6, -1, -1, 9, -1, -1, -1,
2658 81, 888, -1, 890, -1, 892, 893, 894, 89, -1,
2659 -1, 4, 732, -1, -1, 1221, -1, -1, -1, -1,
2660 -1, 14, -1, -1, -1, -1, -1, -1, -1, 42,
2661 -1, 24, 25, 3, 4, 5, 6, -1, 31, 32,
2662 -1, 34, 55, 36, 57, 58, 933, -1, 41, 4,
2663 5, -1, -1, 8, 9, -1, -1, -1, 71, 14,
2664 947, 54, -1, 56, -1, -1, -1, -1, 81, -1,
2665 -1, 64, 42, -1, 961, -1, 89, -1, 71, -1,
2666 -1, 94, 37, -1, -1, 55, 973, 57, 58, -1,
2667 83, 46, -1, 48, -1, -1, -1, -1, -1, 986,
2668 55, 71, 57, 58, -1, -1, 749, -1, 751, 996,
2669 -1, 81, -1, -1, -1, -1, 71, -1, -1, 89,
2670 -1, 1008, -1, 1010, 94, -1, 81, -1, -1, -1,
2671 -1, 3, 4, 5, 6, 128, 91, -1, -1, 94,
2672 95, -1, 135, -1, -1, -1, 139, -1, -1, -1,
2673 143, -1, -1, 146, 147, 148, -1, -1, -1, -1,
2674 -1, -1, -1, 1050, 1051, -1, 1053, 160, -1, -1,
2675 42, -1, 892, 893, 894, -1, -1, 49, -1, -1,
2676 -1, -1, 175, 176, 177, 57, 58, 4, 5, -1,
2677 7, 8, 9, 836, 837, 12, 839, 14, 592, 593,
2678 1087, 1088, 1089, 1090, 1091, -1, -1, -1, 1095, 81,
2679 -1, 204, 29, 933, 31, 32, -1, 89, -1, 1425,
2680 37, -1, -1, 866, -1, 1112, 1113, 1114, -1, 46,
2681 -1, -1, 1438, -1, 3, 4, 5, 6, 55, -1,
2682 57, 58, -1, -1, -1, 639, 239, 641, 642, -1,
2683 644, -1, -1, 896, -1, -1, 1143, -1, -1, -1,
2684 -1, 1148, 1, 1150, 3, 4, 5, 6, 7, 8,
2685 9, -1, -1, 42, 1, 14, 3, 4, 5, 6,
2686 49, 8, -1, -1, 277, 278, -1, 681, 57, 58,
2687 29, -1, 31, 32, 287, -1, -1, -1, 37, -1,
2688 -1, -1, -1, 42, -1, -1, -1, 46, 47, -1,
2689 49, 1198, 1199, -1, 1201, 42, 55, 960, 57, 58,
2690 89, -1, 49, -1, 63, -1, -1, -1, 55, 972,
2691 57, 58, 71, -1, 1221, -1, -1, -1, -1, -1,
2692 333, -1, 81, -1, 337, -1, 339, 340, 341, -1,
2693 89, -1, -1, 346, -1, 94, -1, -1, -1, 352,
2694 -1, -1, 89, -1, -1, -1, -1, 1087, 1088, 1089,
2695 1090, 1091, -1, -1, -1, 1095, -1, -1, -1, -1,
2696 -1, -1, -1, 777, -1, -1, 379, -1, -1, 382,
2697 383, -1, 1112, 1113, 1114, -1, -1, -1, -1, -1,
2698 393, -1, -1, 396, -1, -1, -1, -1, 401, -1,
2699 -1, -1, -1, -1, -1, -1, 1303, 1304, 1305, -1,
2700 -1, -1, 1065, 1143, -1, -1, -1, -1, -1, 4,
2701 5, -1, -1, -1, 427, -1, 429, -1, 431, 432,
2702 433, -1, -1, -1, 437, -1, -1, -1, -1, 442,
2703 -1, 1094, 445, -1, -1, -1, -1, -1, 852, -1,
2704 854, -1, -1, 3, 4, 5, 6, 460, 461, -1,
2705 -1, 865, -1, 48, -1, 869, 870, -1, 1198, 1199,
2706 55, 1201, 57, 58, -1, -1, -1, -1, -1, -1,
2707 -1, 3, 4, 5, 6, 1382, 71, 9, 892, 893,
2708 -1, -1, 42, -1, -1, -1, 81, -1, 501, -1,
2709 1153, -1, -1, -1, 1157, 55, 91, 57, 58, 94,
2710 95, 61, -1, -1, -1, -1, 519, 520, 521, 522,
2711 42, 71, -1, -1, -1, -1, 1423, 1424, 1425, -1,
2712 -1, 81, -1, 55, -1, 57, 58, -1, -1, 89,
2713 1193, 1438, 4, -1, 94, -1, -1, -1, -1, 71,
2714 -1, -1, -1, -1, -1, -1, 1453, -1, -1, 81,
2715 -1, 3, 4, 5, 6, -1, -1, 89, -1, 31,
2716 32, -1, 94, 576, 36, 578, -1, 1230, -1, 41,
2717 -1, 1234, -1, -1, -1, -1, -1, -1, -1, 592,
2718 593, -1, 595, -1, 56, -1, -1, -1, -1, 602,
2719 42, -1, -1, 1256, 1257, -1, -1, 49, -1, -1,
2720 -1, 614, -1, -1, -1, 57, 58, 3, 4, 5,
2721 6, 3, 4, 5, 6, -1, -1, -1, 631, -1,
2722 -1, -1, -1, -1, -1, -1, 639, 640, 641, 642,
2723 643, 644, -1, -1, -1, -1, -1, 89, -1, -1,
2724 -1, -1, 1382, -1, -1, -1, 42, -1, 661, -1,
2725 42, -1, -1, 49, -1, -1, -1, 49, -1, -1,
2726 -1, 57, 58, 135, -1, 57, 58, 139, 681, -1,
2727 -1, 143, 685, 1087, 1088, 1089, 1090, -1, -1, 692,
2728 693, 1095, 695, 1423, 1424, 1425, -1, -1, 160, 81,
2729 -1, -1, -1, 89, -1, -1, -1, 89, 1112, 1113,
2730 -1, -1, -1, 175, 176, -1, -1, -1, -1, 722,
2731 -1, -1, 725, -1, 727, -1, -1, -1, -1, 732,
2732 733, 734, 3, 4, 5, 6, 7, 8, 9, -1,
2733 743, -1, -1, 14, -1, 748, -1, -1, -1, -1,
2734 -1, -1, 755, 756, 757, -1, -1, -1, 29, -1,
6a88a0c0 2735 31, 32, -1, -1, -1, -1, 37, -1, -1, -1,
73b0fce8
KL
2736 -1, 42, -1, -1, 777, 46, -1, 239, -1, 4,
2737 -1, -1, -1, -1, 55, -1, 57, 58, -1, -1,
2738 61, -1, -1, -1, 1198, 1199, -1, 1201, -1, -1,
2739 71, 339, 340, 341, -1, -1, 31, 32, -1, 34,
2740 81, 36, -1, -1, -1, -1, 41, -1, 89, -1,
2741 -1, -1, -1, 94, -1, 287, -1, 830, -1, 54,
2742 -1, 56, 77, 78, 79, 80, 81, 82, 83, 84,
2743 85, 3, 4, 5, 6, 7, 8, 9, -1, 852,
2744 -1, 854, 14, -1, 79, -1, -1, -1, 861, -1,
2745 -1, -1, 865, -1, 867, -1, 869, 870, 871, -1,
2746 32, -1, -1, 876, -1, 37, -1, -1, -1, -1,
2747 42, -1, -1, -1, 46, 888, 48, 890, -1, 892,
2748 893, 894, -1, 55, -1, 57, 58, -1, -1, -1,
2749 -1, -1, -1, 128, -1, -1, -1, 132, 133, 71,
2750 135, -1, -1, -1, 139, -1, 141, -1, 143, 81,
2751 -1, 146, 147, 148, -1, -1, -1, 89, -1, 91,
2752 933, 393, 94, 95, 396, 160, -1, -1, -1, 401,
2753 -1, -1, -1, -1, 947, -1, -1, -1, -1, -1,
2754 175, 176, 177, -1, -1, -1, 959, -1, 961, -1,
2755 185, -1, -1, -1, -1, 427, -1, 429, -1, -1,
2756 973, -1, -1, -1, -1, -1, -1, -1, -1, 204,
2757 442, 1, -1, 3, 4, 5, 6, 7, 8, 9,
2758 -1, -1, -1, 996, 14, -1, -1, -1, -1, 461,
2759 -1, -1, -1, -1, -1, 1008, -1, 1010, -1, 29,
2760 -1, 31, 32, 33, 239, -1, -1, 37, 38, -1,
2761 -1, -1, 42, -1, -1, -1, 46, 47, -1, 49,
2762 -1, -1, -1, -1, -1, 55, -1, 57, 58, -1,
2763 -1, 61, -1, 63, -1, -1, -1, 1050, 1051, -1,
2764 1053, 71, -1, -1, 592, 593, -1, 595, -1, -1,
2765 -1, 81, 287, -1, 602, -1, -1, -1, -1, 89,
2766 -1, -1, -1, -1, 94, -1, 3, 4, 5, 6,
2767 -1, -1, 9, -1, 1087, 1088, 1089, 1090, 1091, -1,
2768 -1, 111, 1095, -1, -1, -1, 321, -1, 1101, -1,
2769 -1, 639, -1, 641, 642, -1, 644, -1, -1, 1112,
2770 1113, 1114, 337, -1, -1, 42, -1, -1, -1, -1,
2771 345, -1, -1, -1, -1, -1, 1129, 352, 55, -1,
2772 57, 58, -1, 3, 4, 5, 6, -1, -1, 9,
2773 1143, -1, -1, 681, 71, 1148, -1, 1150, 373, -1,
2774 -1, -1, -1, -1, 81, -1, -1, 382, -1, -1,
2775 -1, -1, 89, -1, -1, -1, -1, 94, 393, -1,
2776 -1, 396, 42, -1, -1, -1, 401, -1, 640, -1,
2777 -1, -1, -1, -1, -1, 55, -1, 57, 58, -1,
2778 -1, -1, -1, -1, -1, 1198, 1199, -1, 1201, -1,
2779 -1, 71, 427, -1, 429, -1, 431, 432, 433, -1,
2780 -1, 81, 437, -1, -1, -1, -1, 442, 1221, 89,
2781 445, -1, -1, 685, 94, -1, -1, -1, -1, -1,
2782 692, 693, -1, 695, -1, -1, 461, -1, -1, 777,
2783 -1, -1, -1, 3, 4, 5, 6, -1, -1, 9,
6a88a0c0 2784 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
73b0fce8
KL
2785 83, 84, 85, 725, -1, 727, -1, -1, -1, -1,
2786 732, 733, 734, -1, -1, -1, 501, -1, -1, -1,
2787 -1, -1, 42, -1, -1, -1, 511, -1, -1, 514,
2788 -1, 4, 5, -1, -1, 55, 9, 57, 58, -1,
2789 1303, 1304, 1305, -1, 529, 530, 531, 3, 4, 5,
2790 6, 71, -1, 9, 852, -1, 854, 542, -1, -1,
2791 4, 81, -1, -1, -1, -1, -1, 865, -1, 89,
2792 -1, 869, 870, 871, 94, 48, -1, -1, -1, -1,
2793 -1, -1, 55, -1, 57, 58, 42, 31, 32, -1,
2794 34, -1, 36, -1, 892, 893, 894, 41, 71, 55,
2795 -1, 57, 58, 588, -1, -1, -1, -1, 81, -1,
2796 54, -1, 56, -1, -1, 71, -1, 602, 91, 1382,
2797 -1, 94, 95, -1, -1, 81, -1, -1, -1, -1,
2798 -1, -1, -1, 89, -1, 933, -1, -1, 94, 71,
6a88a0c0 2799 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
73b0fce8
KL
2800 82, 83, 84, 85, 639, 640, 641, 642, -1, -1,
2801 1423, 1424, 1425, -1, -1, -1, 34, 4, 5, -1,
2802 892, 893, 9, -1, -1, 1438, -1, -1, -1, -1,
2803 -1, -1, -1, -1, -1, -1, 54, -1, -1, -1,
2804 1453, 135, -1, -1, -1, 139, 681, -1, -1, 143,
2805 685, -1, 146, 147, 148, -1, -1, 692, 693, -1,
2806 695, 48, -1, -1, -1, -1, 160, -1, 55, -1,
2807 57, 58, -1, -1, -1, -1, -1, -1, -1, -1,
2808 -1, 175, 176, 177, 71, -1, -1, -1, -1, -1,
2809 725, -1, 727, -1, 81, -1, -1, 732, 733, 734,
2810 -1, -1, -1, -1, 91, -1, -1, 94, 95, -1,
2811 204, -1, -1, -1, -1, -1, 3, 4, 5, 6,
2812 -1, -1, 9, -1, 996, -1, -1, -1, 146, 147,
2813 148, -1, -1, -1, -1, -1, 771, -1, -1, 1087,
2814 1088, 1089, 1090, 1091, -1, 239, -1, 1095, -1, -1,
2815 -1, -1, -1, -1, -1, 42, -1, 175, 176, 177,
2816 -1, -1, -1, -1, 1112, 1113, 1114, -1, 55, -1,
2817 57, 58, 74, 75, 76, 77, 78, 79, 80, 81,
2818 82, 83, 84, 85, 71, -1, 204, -1, -1, -1,
2819 -1, -1, -1, 287, 81, -1, -1, -1, -1, -1,
2820 -1, -1, 89, -1, -1, -1, -1, 94, -1, -1,
2821 -1, -1, -1, -1, -1, 1087, 1088, -1, -1, -1,
2822 -1, -1, -1, 1095, -1, -1, -1, 3, 4, 5,
2823 6, 7, 8, 9, 869, 870, 871, -1, 14, -1,
2824 875, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2825 1198, 1199, 346, 1201, -1, -1, 32, 892, 893, 894,
2826 278, 37, -1, -1, 899, -1, 42, -1, -1, -1,
2827 46, 1143, 48, -1, -1, -1, 1148, -1, 1150, 55,
2828 -1, 57, 58, -1, -1, -1, -1, -1, 382, -1,
2829 -1, -1, -1, -1, -1, 71, -1, -1, 933, 393,
2830 -1, -1, 396, -1, -1, 81, -1, 401, 3, 4,
2831 5, 6, -1, 89, 9, 91, -1, -1, 94, 95,
2832 -1, 339, 340, 341, -1, -1, 1198, 1199, -1, 1201,
2833 -1, -1, -1, 427, -1, 429, -1, 431, 432, 433,
2834 -1, -1, -1, 437, -1, -1, -1, 42, 442, -1,
2835 985, 445, -1, -1, -1, -1, -1, -1, -1, -1,
2836 55, 996, 57, 58, 382, -1, -1, 461, -1, -1,
2837 -1, -1, -1, -1, -1, -1, 71, -1, -1, -1,
2838 -1, -1, -1, 4, 5, -1, 81, 8, 9, -1,
2839 -1, -1, -1, 14, 89, -1, -1, -1, -1, 94,
2840 -1, -1, -1, -1, -1, -1, -1, 501, 29, 427,
2841 31, 429, -1, 431, 432, 433, 37, -1, -1, 437,
2842 -1, -1, -1, -1, 442, 46, -1, 445, -1, -1,
2843 -1, -1, 1304, -1, 55, -1, 57, 58, -1, -1,
2844 -1, 1076, -1, -1, -1, -1, -1, -1, -1, 83,
2845 -1, -1, 1087, 1088, 1089, 1090, 1091, -1, 1093, -1,
2846 1095, -1, 1, -1, 3, 4, 5, 6, 7, 8,
2847 9, -1, 106, 107, -1, 14, -1, 1112, 1113, 1114,
2848 -1, -1, -1, 501, -1, -1, -1, -1, -1, -1,
2849 29, -1, 31, 32, -1, 589, -1, -1, 37, -1,
2850 -1, -1, -1, 42, -1, -1, -1, 46, 1143, -1,
2851 49, -1, -1, 1148, -1, 1150, 55, -1, 57, 58,
2852 -1, -1, 61, -1, -1, -1, -1, -1, -1, -1,
2853 -1, -1, 71, -1, 3, 4, 5, 6, -1, -1,
2854 -1, -1, 81, -1, -1, 639, 640, 641, 642, -1,
2855 89, 3, 4, 5, 6, 94, -1, -1, -1, -1,
2856 578, -1, -1, 1198, 1199, -1, 1201, -1, -1, -1,
2857 -1, -1, -1, 42, 592, 593, -1, 595, -1, 54,
2858 -1, -1, -1, -1, 602, -1, 55, 681, 57, 58,
2859 42, 685, -1, -1, 63, -1, -1, -1, 692, 693,
2860 -1, 695, 71, 55, 79, 57, 58, 82, -1, -1,
2861 -1, 63, 81, -1, -1, -1, -1, -1, -1, 71,
2862 89, 639, -1, 641, 642, 94, 644, -1, 103, 81,
2863 105, 725, -1, 727, -1, -1, -1, 89, 732, 733,
2864 734, -1, 94, -1, -1, -1, -1, -1, -1, 283,
2865 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2866 -1, -1, -1, 681, -1, -1, -1, -1, 1303, 1304,
2867 1305, -1, -1, -1, 692, 693, -1, 695, 3, 4,
2868 5, 6, 7, 8, 9, -1, -1, 321, -1, 14,
2869 -1, -1, -1, -1, -1, -1, -1, -1, -1, 333,
2870 175, 176, 177, -1, 29, -1, 31, 32, -1, -1,
2871 185, -1, 37, -1, 732, -1, -1, 42, -1, -1,
2872 -1, 46, -1, 48, -1, -1, -1, -1, -1, 204,
2873 55, -1, 57, 58, -1, -1, -1, 755, 756, 757,
2874 -1, -1, -1, -1, -1, 379, 71, 1382, -1, -1,
2875 -1, -1, 227, -1, -1, -1, 81, -1, -1, 777,
2876 -1, -1, -1, -1, 89, -1, 91, 242, -1, 94,
2877 95, -1, 3, 4, 5, 6, 7, 8, 9, -1,
2878 -1, -1, 876, 14, -1, -1, -1, -1, 1423, 1424,
2879 1425, 425, -1, -1, -1, -1, -1, -1, 892, 893,
2880 894, 32, -1, -1, -1, -1, 37, -1, -1, -1,
2881 -1, 42, -1, -1, -1, 46, -1, 48, 1453, -1,
2882 -1, -1, -1, -1, 55, -1, 57, 58, -1, -1,
2883 -1, -1, -1, -1, 852, -1, 854, -1, -1, 933,
2884 71, -1, -1, -1, -1, -1, -1, 865, -1, -1,
2885 81, 869, 870, 871, -1, -1, -1, -1, 89, -1,
2886 -1, -1, -1, 94, -1, -1, -1, -1, -1, -1,
2887 345, 346, -1, -1, 892, 893, 894, 511, -1, -1,
2888 514, -1, -1, -1, 518, 519, 520, 521, 522, -1,
2889 -1, -1, -1, -1, -1, -1, -1, 531, -1, -1,
2890 -1, -1, 996, -1, -1, -1, -1, 382, 542, -1,
2891 -1, -1, -1, -1, -1, 933, -1, -1, -1, -1,
6a88a0c0 2892 -1, 3, 4, 5, 6, 7, 8, 9, -1, -1,
73b0fce8
KL
2893 12, -1, 14, -1, -1, -1, -1, -1, -1, -1,
2894 -1, 575, 576, -1, -1, -1, -1, 29, -1, 31,
2895 32, -1, 427, -1, 429, 37, 431, 432, 433, -1,
2896 42, 595, 437, -1, 46, -1, 48, 442, 602, -1,
2897 445, -1, -1, 55, -1, 57, 58, -1, -1, -1,
2898 -1, -1, -1, -1, -1, -1, -1, -1, -1, 71,
2899 -1, -1, -1, 1087, 1088, 1089, 1090, 1091, -1, 81,
2900 -1, 1095, -1, -1, -1, -1, -1, 89, -1, 91,
2901 -1, -1, 94, 95, -1, -1, 98, -1, 1112, 1113,
2902 1114, -1, -1, -1, -1, -1, 501, -1, -1, -1,
2903 -1, -1, 1050, 1051, -1, 1053, -1, -1, -1, -1,
2904 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1143,
2905 -1, 685, -1, -1, 1148, -1, 1150, -1, 3, 4,
2906 5, 6, -1, -1, -1, -1, -1, -1, -1, 1087,
2907 1088, 1089, 1090, 1091, -1, -1, -1, 1095, 70, 71,
956d6950 2908 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
73b0fce8
KL
2909 82, 83, 84, 85, 1112, 1113, 1114, 42, -1, -1,
2910 -1, -1, -1, -1, 1198, 1199, -1, 1201, -1, 743,
2911 55, -1, 57, 58, 748, 1, 61, 3, 4, 5,
2912 6, 7, 8, 9, -1, 1143, 71, -1, 14, -1,
2913 605, 606, -1, -1, -1, -1, 81, 3, 4, 5,
2914 6, -1, -1, 29, 89, 31, 32, 33, -1, 94,
6a88a0c0 2915 -1, 37, 38, -1, -1, -1, 42, -1, -1, -1,
73b0fce8
KL
2916 46, 47, -1, 49, 639, -1, 641, 642, -1, 55,
2917 -1, 57, 58, -1, -1, 61, 42, 63, -1, -1,
2918 1198, 1199, -1, 1201, -1, 71, -1, -1, -1, 55,
2919 -1, 57, 58, -1, -1, 81, 830, 63, -1, -1,
2920 -1, -1, -1, 89, -1, 71, 681, -1, 94, 1303,
2921 1304, 1305, -1, -1, -1, 81, -1, 692, 693, -1,
2922 695, -1, -1, 89, -1, 111, -1, 861, 94, -1,
2923 -1, -1, -1, 867, -1, -1, -1, 871, -1, -1,
2924 -1, -1, -1, -1, 719, -1, 283, -1, -1, -1,
2925 3, 4, 5, 6, 888, -1, 890, 732, -1, -1,
2926 894, -1, -1, -1, -1, -1, -1, 3, 4, 5,
2927 6, 7, 8, 9, -1, 312, 12, -1, 14, -1,
2928 -1, -1, -1, -1, -1, 1303, -1, 1305, 1382, 42,
2929 -1, -1, -1, 29, -1, 31, 32, -1, -1, 933,
2930 -1, 37, 55, -1, 57, 58, 42, -1, -1, -1,
2931 46, -1, -1, 947, -1, -1, -1, -1, 71, 55,
2932 954, 57, 58, -1, -1, -1, -1, 961, 81, 1423,
2933 1424, 1425, -1, -1, -1, 71, 89, -1, -1, 973,
2934 -1, 94, 4, 5, -1, 81, 8, 9, -1, -1,
2935 -1, -1, 14, 89, -1, -1, -1, -1, 94, 1453,
2936 3, 4, 5, 6, 1382, -1, -1, 29, -1, 31,
2937 -1, -1, -1, -1, 1008, 37, 1010, -1, -1, -1,
2938 417, 418, -1, -1, 46, -1, -1, -1, 425, -1,
2939 -1, -1, -1, 55, -1, 57, 58, -1, -1, 42,
2940 875, 876, 877, -1, -1, 1423, 1424, 1425, -1, -1,
2941 -1, -1, 55, -1, 57, 58, -1, 892, 893, 894,
2942 -1, -1, 4, 5, 899, 7, 8, 9, 71, -1,
2943 -1, -1, 14, -1, -1, 1453, -1, -1, 81, -1,
2944 -1, -1, 14, -1, -1, -1, 89, 29, -1, 31,
2945 32, 94, 24, 25, -1, 37, -1, 1091, 933, 31,
2946 32, -1, 34, -1, 46, -1, -1, 49, -1, -1,
2947 -1, -1, 509, 55, -1, 57, 58, -1, -1, -1,
2948 1114, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2949 -1, -1, 64, -1, -1, -1, -1, -1, -1, -1,
2950 -1, -1, -1, 540, 541, -1, -1, 544, 545, 546,
2951 985, 548, 549, 550, 551, 552, 553, 554, 555, 556,
2952 557, 558, 559, 560, 561, 562, 563, 564, 565, 566,
2953 -1, -1, -1, -1, -1, 572, -1, 574, 575, -1,
956d6950 2954 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
73b0fce8
KL
2955 -1, 123, -1, 125, -1, -1, 128, -1, -1, -1,
2956 132, 133, -1, -1, -1, 602, -1, 139, -1, 141,
2957 142, 143, 609, -1, 146, 147, 148, -1, -1, -1,
2958 -1, -1, -1, -1, -1, -1, -1, 1221, -1, -1,
2959 -1, -1, -1, -1, -1, -1, -1, -1, -1, 4,
2960 5, 1076, 7, 8, 9, -1, -1, -1, -1, 14,
2961 -1, -1, 1087, 1088, 1089, 1090, 1091, -1, 1093, -1,
2962 1095, -1, -1, -1, 29, -1, 31, 32, -1, -1,
2963 -1, 668, 37, -1, -1, -1, -1, 1112, 1113, 1114,
2964 -1, 46, -1, -1, -1, -1, 218, 219, -1, -1,
2965 55, -1, 57, 58, -1, -1, -1, -1, -1, -1,
2966 -1, -1, -1, -1, -1, -1, -1, 239, 1143, -1,
6a88a0c0 2967 -1, -1, -1, 1, -1, 3, 4, 5, 6, 7,
73b0fce8
KL
2968 8, 9, -1, -1, -1, -1, 14, 724, -1, -1,
2969 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2970 -1, 29, -1, 31, 32, 33, 278, -1, -1, 37,
2971 38, -1, -1, -1, 42, -1, -1, -1, 46, 47,
2972 -1, 49, -1, 1198, 1199, -1, 1201, 55, 765, 57,
2973 58, -1, -1, 61, 771, 63, -1, -1, -1, -1,
2974 -1, -1, -1, 71, -1, -1, -1, -1, -1, -1,
2975 -1, -1, -1, 81, -1, -1, -1, 794, -1, -1,
2976 -1, 89, -1, -1, -1, 337, 94, 339, 340, -1,
2977 -1, -1, -1, -1, -1, -1, -1, -1, 1412, -1,
2978 352, -1, -1, 111, -1, -1, -1, -1, -1, -1,
2979 -1, 1425, -1, -1, -1, -1, 833, 834, -1, -1,
2980 -1, 373, -1, -1, 1438, -1, -1, 1441, -1, -1,
2981 847, -1, 849, -1, 851, -1, -1, 389, -1, -1,
2982 -1, 393, -1, -1, 396, -1, -1, -1, 1303, 401,
2983 1305, 4, 5, -1, -1, 8, 9, -1, -1, -1,
2984 -1, 14, -1, -1, 881, -1, -1, -1, -1, -1,
2985 -1, -1, -1, -1, -1, -1, 29, -1, 31, -1,
2986 -1, -1, -1, 1497, 37, -1, -1, 904, -1, -1,
2987 -1, -1, -1, 46, -1, 48, -1, -1, 915, -1,
2988 -1, -1, 55, -1, 57, 58, 458, -1, 460, -1,
2989 -1, -1, -1, -1, -1, -1, 933, 1, 71, 3,
2990 4, 5, 6, 7, 8, 9, -1, 1382, 81, -1,
2991 14, -1, -1, -1, 486, -1, -1, -1, 91, -1,
2992 -1, 94, 95, -1, -1, 29, -1, 31, 32, 33,
2993 -1, -1, -1, 37, 38, -1, -1, -1, 42, 976,
2994 -1, -1, 46, 47, -1, 49, -1, -1, 1423, 1424,
2995 1425, 55, -1, 57, 58, -1, -1, 61, -1, 63,
2996 -1, -1, 999, -1, -1, -1, -1, 71, -1, -1,
2997 -1, -1, -1, -1, -1, -1, -1, 81, 1453, -1,
2998 -1, -1, -1, -1, -1, 89, -1, -1, -1, -1,
2999 94, -1, -1, -1, -1, -1, -1, -1, 1035, 1036,
3000 -1, -1, 1039, -1, -1, -1, 578, 111, -1, -1,
3001 -1, -1, -1, -1, -1, -1, 588, 589, -1, -1,
3002 592, 593, -1, -1, -1, -1, 3, 4, 5, 6,
3003 7, 8, 9, -1, -1, -1, -1, 14, 72, 73,
3004 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
3005 84, 85, 29, -1, 31, 32, -1, -1, -1, 631,
3006 37, -1, -1, -1, -1, 42, 1103, -1, 1105, 46,
3007 1107, 643, -1, 1110, -1, -1, -1, -1, 55, -1,
3008 57, 58, 1119, 1120, -1, -1, 63, 1124, 1125, 661,
3009 -1, -1, -1, -1, 71, -1, -1, -1, -1, -1,
3010 -1, -1, 1139, 1140, 81, -1, -1, -1, 12, -1,
3011 -1, -1, 89, -1, -1, -1, -1, 94, -1, -1,
3012 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3013 -1, -1, 1169, -1, 1171, -1, -1, -1, -1, -1,
3014 -1, -1, -1, -1, -1, -1, -1, 719, -1, -1,
3015 722, -1, -1, -1, -1, -1, -1, -1, 1195, 63,
3016 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
3017 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
3018 84, 85, -1, 755, 756, 757, -1, -1, 1225, -1,
3019 1, -1, 3, 4, 5, 6, 7, 8, 9, 10,
3020 11, -1, 13, 14, 1241, 777, -1, -1, -1, -1,
3021 -1, -1, -1, -1, -1, -1, -1, -1, 29, 30,
3022 31, 32, 33, -1, 35, 36, 37, 1264, 39, 40,
3023 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
3024 51, 52, 53, 54, 55, -1, 57, 58, 59, -1,
3025 61, 62, -1, 1290, -1, -1, -1, 68, -1, -1,
3026 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3027 81, -1, -1, -1, -1, 32, 87, 88, 89, -1,
3028 852, -1, 854, 94, -1, -1, 1323, 1324, -1, -1,
3029 -1, -1, -1, 865, -1, 1332, -1, -1, -1, -1,
3030 -1, 112, -1, -1, -1, -1, 1343, 64, 65, 66,
3031 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
3032 77, 78, 79, 80, 81, 82, 83, 84, 85, -1,
3033 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3034 -1, -1, -1, -1, -1, 1382, -1, -1, -1, -1,
3035 -1, -1, -1, 1, -1, 3, 4, 5, 6, 7,
3036 8, 9, -1, -1, 12, -1, 14, -1, -1, -1,
3037 -1, -1, -1, -1, -1, -1, 1413, 25, -1, 27,
3038 28, -1, -1, -1, 32, -1, -1, 959, -1, 37,
3039 -1, -1, -1, -1, 42, -1, -1, -1, 46, -1,
3040 48, -1, -1, -1, -1, -1, -1, 55, -1, 57,
3041 58, 59, 60, 61, 986, 63, 64, 65, 66, 67,
3042 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
3043 78, 79, 80, 81, 82, 83, 84, 85, -1, 87,
3044 88, 89, -1, 91, 92, 93, 94, 95, 96, -1,
3045 98, 99, -1, -1, -1, -1, 104, -1, -1, -1,
3046 -1, 109, 110, 111, -1, 113, -1, -1, -1, -1,
3047 -1, -1, -1, -1, -1, -1, -1, -1, 1050, 1051,
3048 1, 1053, 3, 4, 5, 6, 7, 8, 9, -1,
3049 -1, -1, -1, 14, -1, -1, -1, -1, 1535, -1,
3050 -1, -1, -1, -1, -1, -1, -1, -1, 29, -1,
3051 31, 32, 33, -1, -1, -1, 37, -1, -1, -1,
3052 -1, 42, -1, -1, -1, 46, 47, -1, 49, 1101,
3053 -1, -1, -1, -1, 55, -1, 57, 58, -1, -1,
3054 61, -1, 63, -1, -1, -1, -1, -1, -1, -1,
3055 71, -1, -1, -1, -1, -1, -1, 1129, -1, -1,
3056 81, -1, -1, -1, -1, -1, -1, -1, 89, -1,
3057 -1, -1, -1, 94, 1146, 1, 1148, 3, 4, 5,
3058 6, 7, 8, 9, 10, 11, -1, 13, 14, 15,
3059 -1, 17, 18, 19, 20, 21, 22, 23, 24, 25,
3060 26, 27, 28, 29, 30, 31, 32, 33, -1, 35,
3061 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3062 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3063 -1, 57, 58, 59, -1, 61, 62, -1, -1, -1,
3064 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3065 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3066 -1, 87, 88, 89, -1, -1, -1, -1, 94, -1,
3067 96, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3068 -1, -1, -1, -1, -1, 111, 112, 1, -1, 3,
3069 4, 5, 6, 7, 8, 9, 10, 11, -1, 13,
3070 14, 15, -1, 17, 18, 19, 20, 21, 22, 23,
3071 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
3072 -1, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3073 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
3074 54, 55, -1, 57, 58, 59, -1, 61, 62, -1,
3075 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3076 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3077 -1, -1, -1, 87, 88, 89, -1, -1, -1, -1,
3078 94, 1, 96, 3, 4, 5, 6, 7, 8, 9,
3079 10, 11, 12, 13, 14, -1, -1, -1, 112, -1,
3080 -1, -1, -1, -1, -1, -1, -1, -1, -1, 29,
3081 30, 31, 32, 33, -1, 35, 36, 37, -1, 39,
3082 40, 41, 42, 43, 44, -1, 46, -1, 48, -1,
3083 50, 51, 52, 53, 54, 55, -1, 57, 58, 59,
3084 -1, -1, 62, -1, -1, -1, -1, -1, 68, -1,
3085 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3086 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3087 -1, 91, -1, -1, 94, 95, -1, 1, 98, 3,
3088 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
3089 14, -1, 112, -1, -1, -1, -1, -1, -1, -1,
3090 -1, -1, -1, -1, -1, 29, 30, 31, 32, 33,
3091 -1, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3092 44, -1, 46, -1, 48, -1, 50, 51, 52, 53,
3093 54, 55, -1, 57, 58, 59, -1, -1, 62, -1,
3094 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3095 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3096 -1, -1, -1, 87, 88, 89, -1, 91, -1, -1,
3097 94, 95, -1, 1, 98, 3, 4, 5, 6, 7,
3098 8, 9, 10, 11, 12, 13, 14, -1, 112, -1,
3099 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3100 -1, 29, 30, 31, 32, 33, -1, 35, 36, 37,
6a88a0c0 3101 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
73b0fce8
KL
3102 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3103 58, -1, -1, -1, 62, -1, -1, -1, -1, -1,
6a88a0c0 3104 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
73b0fce8
KL
3105 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3106 88, 89, -1, -1, -1, -1, 94, -1, -1, -1,
6a88a0c0 3107 98, -1, -1, -1, -1, -1, -1, -1, -1, -1,
73b0fce8
KL
3108 -1, -1, 110, 1, 112, 3, 4, 5, 6, -1,
3109 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3110 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3111 -1, 29, 30, 31, -1, 33, -1, 35, 36, 37,
6a88a0c0 3112 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
73b0fce8 3113 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
6a88a0c0
JM
3114 58, 59, -1, -1, 62, -1, -1, -1, -1, -1,
3115 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3116 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
73b0fce8 3117 88, 89, -1, -1, -1, -1, 94, 95, 1, -1,
956d6950 3118 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
73b0fce8 3119 13, 14, -1, 111, 112, -1, -1, -1, 21, -1,
956d6950 3120 -1, -1, -1, -1, -1, -1, 29, 30, 31, -1,
386b8a85 3121 33, -1, 35, 36, 37, -1, 39, 40, 41, 42,
956d6950 3122 43, 44, -1, 46, -1, -1, -1, 50, 51, 52,
386b8a85
JM
3123 53, 54, 55, -1, 57, 58, 59, -1, -1, 62,
3124 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
956d6950
JL
3125 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3126 -1, -1, -1, -1, 87, 88, 89, -1, -1, -1,
73b0fce8
KL
3127 1, 94, 3, 4, 5, 6, -1, 8, 9, 10,
3128 11, -1, 13, 14, -1, -1, -1, -1, 111, 112,
3129 21, -1, -1, -1, -1, -1, -1, -1, 29, 30,
3130 31, -1, 33, -1, 35, 36, 37, -1, 39, 40,
3131 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
3132 51, 52, 53, 54, 55, -1, 57, 58, 59, -1,
3133 -1, 62, -1, -1, -1, -1, -1, 68, -1, -1,
3134 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3135 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
3136 -1, -1, 1, 94, 3, 4, 5, 6, -1, 8,
3137 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3138 111, 112, -1, -1, -1, -1, -1, -1, -1, -1,
3139 29, 30, 31, -1, 33, -1, 35, 36, 37, -1,
3140 39, 40, 41, 42, 43, 44, -1, 46, -1, -1,
3141 -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
3142 59, -1, -1, 62, -1, -1, -1, -1, -1, 68,
3143 -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
3144 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
3145 89, -1, -1, -1, -1, 94, 95, 1, -1, 3,
3146 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3147 14, -1, -1, 112, -1, -1, -1, -1, -1, -1,
3148 -1, -1, -1, -1, -1, 29, 30, 31, -1, 33,
3149 -1, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3150 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
3151 54, 55, -1, 57, 58, 59, -1, -1, 62, -1,
3152 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3153 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3154 -1, -1, -1, 87, 88, 89, -1, -1, -1, -1,
3155 94, -1, -1, 1, -1, 3, 4, 5, 6, 103,
3156 8, 9, 10, 11, -1, 13, 14, -1, 112, -1,
6a88a0c0 3157 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
956d6950 3158 -1, 29, 30, 31, -1, 33, -1, 35, 36, 37,
386b8a85
JM
3159 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3160 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
956d6950 3161 58, 59, -1, -1, 62, -1, -1, -1, -1, -1,
386b8a85
JM
3162 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3163 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3164 88, 89, -1, -1, -1, 1, 94, 3, 4, 5,
3165 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
6a88a0c0 3166 -1, -1, -1, -1, 112, -1, -1, -1, -1, -1,
956d6950 3167 -1, -1, -1, 29, 30, 31, -1, 33, -1, 35,
386b8a85
JM
3168 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3169 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3170 -1, 57, 58, 59, -1, -1, 62, -1, -1, -1,
3171 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3172 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
956d6950
JL
3173 -1, 87, 88, 89, -1, -1, -1, 1, 94, 3,
3174 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
6a88a0c0 3175 14, -1, -1, -1, -1, -1, 112, -1, -1, -1,
386b8a85
JM
3176 -1, -1, -1, -1, -1, 29, 30, 31, -1, 33,
3177 -1, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3178 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
73b0fce8 3179 54, 55, -1, 57, 58, -1, -1, -1, 62, 63,
386b8a85
JM
3180 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3181 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3182 -1, -1, -1, 87, 88, 89, -1, -1, -1, 1,
3183 94, 3, 4, 5, 6, -1, 8, 9, 10, 11,
3184 -1, 13, 14, -1, -1, -1, -1, -1, 112, -1,
3185 -1, -1, -1, -1, -1, -1, -1, 29, 30, 31,
3186 -1, 33, -1, 35, 36, 37, -1, 39, 40, 41,
3187 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
73b0fce8 3188 52, 53, 54, 55, -1, 57, 58, 59, -1, -1,
956d6950 3189 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
386b8a85
JM
3190 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3191 -1, -1, -1, -1, -1, 87, 88, 89, -1, -1,
3192 -1, 1, 94, 3, 4, 5, 6, -1, 8, 9,
73b0fce8 3193 10, 11, -1, 13, 14, -1, -1, -1, -1, -1,
386b8a85
JM
3194 112, -1, -1, -1, -1, -1, -1, -1, -1, 29,
3195 30, 31, -1, 33, -1, 35, 36, 37, -1, 39,
3196 40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
956d6950 3197 50, 51, 52, 53, 54, 55, -1, 57, 58, -1,
73b0fce8 3198 -1, 61, 62, -1, -1, -1, -1, -1, 68, -1,
386b8a85
JM
3199 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3200 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
6a88a0c0
JM
3201 -1, -1, -1, 1, 94, 3, 4, 5, 6, -1,
3202 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3203 -1, -1, 112, -1, -1, -1, -1, -1, -1, -1,
3204 -1, 29, 30, 31, -1, 33, -1, 35, 36, 37,
3205 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3206 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3207 58, -1, -1, -1, 62, -1, -1, -1, -1, -1,
73b0fce8
KL
3208 68, 1, -1, 71, 4, 5, -1, -1, 8, 9,
3209 -1, 79, 80, 81, 14, -1, -1, -1, -1, 87,
3210 88, 89, -1, -1, -1, -1, 94, -1, -1, 29,
3211 -1, 31, -1, -1, -1, -1, -1, 37, -1, 39,
3212 40, -1, 110, -1, 112, -1, 46, -1, 48, -1,
3213 -1, -1, -1, -1, -1, 55, -1, 57, 58, -1,
3214 60, -1, -1, -1, 64, 65, 66, 67, 68, 69,
3215 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
3216 80, 81, 82, 83, 84, -1, -1, 87, 88, 89,
3217 -1, -1, 92, -1, 1, 95, 3, 4, 5, 6,
3218 -1, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3219 -1, -1, 112, -1, -1, -1, -1, -1, -1, -1,
3220 -1, -1, 29, 30, 31, -1, 33, -1, 35, 36,
3221 37, -1, 39, 40, 41, 42, 43, 44, -1, 46,
3222 -1, -1, -1, 50, 51, 52, 53, 54, 55, -1,
3223 57, 58, -1, -1, -1, 62, -1, -1, -1, -1,
3224 -1, 68, -1, -1, 71, -1, -1, -1, -1, -1,
3225 -1, -1, 79, 80, 81, -1, -1, -1, -1, -1,
3226 87, 88, 89, -1, -1, -1, 1, 94, 3, 4,
3227 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3228 -1, -1, -1, -1, -1, 112, -1, -1, -1, -1,
3229 -1, -1, -1, -1, 29, 30, 31, -1, 33, -1,
3230 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3231 -1, 46, -1, -1, -1, 50, 51, 52, 53, 54,
3232 55, -1, 57, 58, -1, -1, -1, 62, -1, -1,
3233 -1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
3234 -1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
3235 -1, -1, 87, 88, 89, -1, -1, -1, 1, 94,
3236 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3237 13, 14, -1, -1, -1, -1, -1, 112, -1, -1,
3238 -1, -1, -1, -1, -1, -1, 29, 30, 31, -1,
3239 33, -1, 35, 36, 37, -1, 39, 40, 41, 42,
3240 43, 44, -1, 46, -1, -1, -1, 50, 51, 52,
3241 53, 54, 55, -1, 57, 58, -1, -1, -1, 62,
3242 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3243 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3244 -1, -1, -1, -1, 87, 88, 89, 3, 4, 5,
3245 6, 94, 8, 9, 10, 11, -1, 13, 14, -1,
3246 -1, -1, -1, -1, -1, -1, -1, -1, -1, 112,
6a88a0c0
JM
3247 -1, -1, -1, 29, 30, 31, -1, 33, -1, 35,
3248 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3249 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3250 -1, 57, 58, -1, -1, -1, 62, -1, -1, -1,
3251 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3252 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
73b0fce8
KL
3253 -1, 87, 88, 89, -1, -1, -1, -1, 94, 69,
3254 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
3255 80, 81, 82, 83, 84, 85, 112, 113, 3, 4,
3256 5, 6, 7, 8, 9, 10, 11, -1, 13, 14,
3257 15, -1, 17, 18, 19, 20, 21, 22, 23, 24,
3258 25, 26, 27, 28, 29, 30, 31, 32, 33, -1,
3259 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3260 -1, 46, -1, -1, -1, 50, 51, 52, 53, 54,
3261 55, -1, 57, 58, 59, -1, 61, 62, -1, -1,
3262 -1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
3263 -1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
3264 -1, -1, 87, 88, 89, -1, -1, -1, -1, 94,
3265 -1, 96, -1, -1, -1, -1, -1, -1, -1, -1,
3266 -1, -1, -1, -1, -1, -1, 111, 112, 3, 4,
3267 5, 6, 7, 8, 9, 10, 11, -1, 13, 14,
3268 15, -1, 17, 18, 19, 20, 21, 22, 23, 24,
3269 25, 26, 27, 28, 29, 30, 31, 32, 33, -1,
3270 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3271 -1, 46, -1, -1, -1, 50, 51, 52, 53, 54,
3272 55, -1, 57, 58, 59, -1, 61, 62, -1, -1,
3273 -1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
3274 -1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
3275 -1, -1, 87, 88, 89, -1, -1, -1, -1, 94,
3276 -1, 96, -1, -1, 3, 4, 5, 6, 7, 8,
3277 9, 10, 11, -1, 13, 14, 15, 112, 17, 18,
3278 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
3279 29, 30, 31, 32, 33, -1, 35, 36, 37, -1,
6a88a0c0
JM
3280 39, 40, 41, 42, 43, 44, -1, 46, -1, -1,
3281 -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
73b0fce8 3282 59, -1, 61, 62, -1, -1, -1, -1, -1, 68,
6a88a0c0
JM
3283 -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
3284 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
73b0fce8
KL
3285 89, -1, -1, -1, -1, 94, -1, 96, -1, -1,
3286 3, 4, 5, 6, 7, 8, 9, 10, 11, -1,
3287 13, 14, 15, 112, 17, 18, 19, 20, 21, 22,
3288 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
3289 33, -1, 35, 36, 37, -1, 39, 40, 41, 42,
3290 43, 44, -1, 46, -1, -1, -1, 50, 51, 52,
3291 53, 54, 55, -1, 57, 58, -1, -1, 61, 62,
3292 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3293 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3294 -1, -1, -1, -1, 87, 88, 89, -1, -1, -1,
3295 -1, 94, -1, 96, 3, 4, 5, 6, 7, 8,
3296 9, 10, 11, 12, 13, 14, -1, -1, -1, 112,
6a88a0c0 3297 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
73b0fce8
KL
3298 29, 30, 31, 32, 33, -1, 35, 36, 37, -1,
3299 39, 40, 41, 42, 43, 44, -1, 46, -1, 48,
3300 -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
3301 -1, -1, -1, 62, -1, -1, -1, -1, -1, 68,
3302 -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
3303 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
3304 89, -1, 91, -1, -1, 94, 95, -1, -1, 98,
3305 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
3306 13, 14, -1, 112, -1, -1, -1, -1, -1, -1,
3307 -1, -1, -1, -1, -1, -1, 29, 30, 31, 32,
3308 33, -1, 35, 36, 37, -1, 39, 40, 41, 42,
3309 43, 44, -1, 46, -1, 48, -1, 50, 51, 52,
3310 53, 54, 55, -1, 57, 58, -1, -1, -1, 62,
3311 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3312 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3313 -1, -1, -1, -1, 87, 88, 89, -1, 91, -1,
3314 -1, 94, 95, -1, -1, 98, 3, 4, 5, 6,
3315 -1, 8, 9, 10, 11, -1, 13, 14, -1, 112,
956d6950 3316 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
956d6950
JL
3317 -1, -1, 29, 30, 31, -1, 33, -1, 35, 36,
3318 37, -1, 39, 40, 41, 42, 43, 44, -1, 46,
6a88a0c0
JM
3319 -1, 48, -1, 50, 51, 52, 53, 54, 55, -1,
3320 57, 58, -1, -1, -1, -1, -1, -1, -1, -1,
956d6950
JL
3321 -1, 68, -1, -1, 71, -1, -1, -1, -1, -1,
3322 -1, -1, 79, 80, 81, -1, -1, -1, -1, -1,
6a88a0c0
JM
3323 87, 88, 89, -1, 91, -1, -1, 94, 95, 3,
3324 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3325 14, -1, -1, -1, -1, 112, -1, -1, -1, -1,
3326 -1, -1, -1, -1, -1, 29, 30, 31, -1, 33,
3327 -1, 35, 36, 37, -1, 39, 40, 41, 42, 43,
73b0fce8
KL
3328 44, -1, 46, -1, 48, -1, 50, 51, 52, 53,
3329 54, 55, -1, 57, 58, -1, -1, -1, -1, -1,
6a88a0c0
JM
3330 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3331 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
73b0fce8
KL
3332 -1, -1, -1, 87, 88, 89, -1, 91, -1, -1,
3333 94, 95, 3, 4, 5, 6, -1, 8, 9, 10,
3334 11, -1, 13, 14, -1, -1, -1, -1, 112, -1,
3335 -1, -1, -1, -1, -1, -1, -1, -1, 29, 30,
3336 31, -1, 33, -1, 35, 36, 37, -1, 39, 40,
3337 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
3338 51, 52, 53, 54, 55, -1, 57, 58, -1, -1,
3339 61, 62, -1, -1, -1, -1, -1, 68, -1, -1,
3340 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3341 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
3342 -1, -1, -1, 94, 3, 4, 5, 6, 7, 8,
3343 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3344 -1, 112, -1, -1, -1, -1, -1, -1, -1, -1,
3345 29, 30, 31, 32, 33, -1, 35, 36, 37, -1,
3346 39, 40, 41, 42, 43, 44, -1, 46, -1, -1,
3347 -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
3348 -1, -1, -1, -1, -1, -1, -1, -1, -1, 68,
3349 -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
3350 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
3351 89, 3, 4, 5, 6, 94, 8, 9, 10, 11,
3352 -1, 13, 14, -1, -1, -1, -1, -1, -1, -1,
3353 -1, -1, -1, 112, -1, -1, -1, 29, 30, 31,
3354 -1, 33, -1, 35, 36, 37, -1, 39, 40, 41,
6a88a0c0
JM
3355 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3356 52, 53, 54, 55, -1, 57, 58, -1, -1, -1,
73b0fce8 3357 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
6a88a0c0
JM
3358 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3359 -1, -1, -1, -1, -1, 87, 88, 89, 3, 4,
3360 5, 6, 94, 8, 9, 10, 11, -1, 13, 14,
3361 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3362 112, -1, -1, -1, 29, 30, 31, -1, 33, -1,
386b8a85
JM
3363 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3364 -1, 46, -1, -1, -1, 50, 51, 52, 53, 54,
6a88a0c0 3365 55, -1, 57, 58, -1, -1, -1, 62, -1, -1,
386b8a85
JM
3366 -1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
3367 -1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
956d6950
JL
3368 -1, -1, 87, 88, 89, 3, 4, 5, 6, 94,
3369 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3370 -1, -1, -1, -1, -1, -1, -1, 112, -1, -1,
3371 -1, 29, 30, 31, -1, 33, -1, 35, 36, 37,
3372 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3373 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
73b0fce8 3374 58, 59, -1, -1, -1, -1, -1, -1, -1, -1,
956d6950
JL
3375 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3376 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3377 88, 89, 3, 4, 5, 6, 94, 8, 9, 10,
3378 11, -1, 13, 14, -1, -1, -1, -1, -1, -1,
3379 -1, -1, -1, -1, 112, -1, -1, -1, 29, 30,
386b8a85
JM
3380 31, -1, 33, -1, 35, 36, 37, -1, 39, 40,
3381 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
73b0fce8 3382 51, 52, 53, 54, 55, -1, 57, 58, -1, -1,
6a88a0c0 3383 -1, -1, -1, -1, -1, -1, -1, 68, -1, -1,
386b8a85 3384 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
73b0fce8
KL
3385 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
3386 -1, -1, -1, 94, 95, 3, 4, 5, 6, -1,
3387 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3388 -1, 112, -1, -1, -1, -1, -1, -1, -1, -1,
3389 -1, 29, 30, 31, -1, 33, -1, 35, 36, 37,
3390 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3391 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3392 58, -1, -1, -1, 62, -1, -1, -1, -1, -1,
3393 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3394 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3395 88, 89, 3, 4, 5, 6, 94, 8, 9, 10,
3396 11, -1, 13, 14, -1, -1, -1, -1, -1, -1,
3397 -1, -1, -1, -1, 112, -1, -1, -1, 29, 30,
6a88a0c0
JM
3398 31, -1, 33, -1, 35, 36, 37, -1, 39, 40,
3399 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
3400 51, 52, 53, 54, 55, -1, 57, 58, -1, -1,
3401 -1, 62, -1, -1, -1, -1, -1, 68, -1, -1,
3402 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3403 81, -1, -1, -1, -1, -1, 87, 88, 89, 3,
3404 4, 5, 6, 94, 8, 9, 10, 11, -1, 13,
3405 14, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3406 -1, 112, -1, -1, -1, 29, 30, 31, -1, 33,
386b8a85 3407 -1, 35, 36, 37, -1, 39, 40, 41, 42, 43,
956d6950 3408 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
386b8a85
JM
3409 54, 55, -1, 57, 58, -1, -1, -1, 62, -1,
3410 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3411 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
956d6950
JL
3412 -1, -1, -1, 87, 88, 89, 3, 4, 5, 6,
3413 94, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3414 -1, -1, -1, -1, -1, -1, -1, -1, 112, -1,
3415 -1, -1, 29, 30, 31, -1, 33, -1, 35, 36,
386b8a85
JM
3416 37, -1, 39, 40, 41, 42, 43, 44, -1, 46,
3417 -1, -1, -1, 50, 51, 52, 53, 54, 55, -1,
73b0fce8 3418 57, 58, -1, -1, -1, -1, -1, -1, -1, -1,
386b8a85
JM
3419 -1, 68, -1, -1, 71, -1, -1, -1, -1, -1,
3420 -1, -1, 79, 80, 81, -1, -1, -1, -1, -1,
3421 87, 88, 89, 3, 4, 5, 6, 94, 8, 9,
3422 10, 11, -1, 13, 14, -1, -1, -1, -1, -1,
3423 -1, -1, -1, -1, -1, 112, -1, -1, -1, 29,
3424 30, 31, -1, 33, -1, 35, 36, 37, -1, 39,
3425 40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
3426 50, 51, 52, 53, 54, 55, -1, 57, 58, -1,
6a88a0c0 3427 -1, -1, -1, -1, -1, -1, -1, -1, 68, -1,
386b8a85
JM
3428 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3429 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3430 3, 4, 5, 6, 94, 8, 9, 10, 11, -1,
3431 13, 14, -1, -1, -1, -1, -1, -1, -1, -1,
3432 -1, -1, 112, -1, -1, -1, 29, 30, 31, -1,
3433 33, -1, 35, 36, 37, -1, 39, 40, 41, 42,
3434 43, 44, -1, 46, -1, -1, -1, 50, 51, 52,
956d6950 3435 53, 54, 55, -1, 57, 58, -1, -1, -1, -1,
386b8a85
JM
3436 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3437 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3438 -1, -1, -1, -1, 87, 88, 89, 3, 4, 5,
3439 6, 94, 8, 9, 10, 11, -1, 13, 14, -1,
3440 -1, -1, -1, -1, -1, -1, -1, -1, -1, 112,
3441 -1, -1, -1, 29, 30, 31, -1, 33, -1, 35,
3442 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3443 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
956d6950 3444 -1, 57, 58, -1, -1, -1, -1, -1, -1, -1,
386b8a85
JM
3445 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3446 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3447 -1, 87, 88, 89, 3, 4, 5, 6, 94, 8,
3448 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3449 -1, -1, -1, -1, -1, -1, 112, -1, -1, -1,
3450 29, 30, 31, -1, 33, -1, 35, 36, 37, -1,
3451 39, 40, 41, 42, 43, 44, -1, 46, -1, -1,
3452 -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
3453 -1, -1, -1, -1, -1, -1, -1, -1, -1, 68,
73b0fce8
KL
3454 -1, 1, 71, 3, 4, 5, 6, 7, 8, 9,
3455 79, 80, 81, -1, 14, -1, -1, -1, 87, 88,
3456 89, -1, -1, -1, -1, 94, -1, 27, 28, 29,
3457 -1, 31, 32, 33, -1, -1, -1, 37, -1, -1,
3458 -1, -1, 42, 112, -1, 45, 46, 47, -1, 49,
3459 -1, -1, -1, -1, -1, 55, -1, 57, 58, -1,
3460 1, 61, 3, 4, 5, 6, 7, 8, 9, -1,
3461 -1, 71, -1, 14, -1, -1, -1, -1, -1, -1,
3462 -1, 81, -1, -1, -1, -1, 27, 28, 29, 89,
3463 31, 32, 33, -1, 94, -1, 37, -1, -1, -1,
3464 100, 42, -1, -1, 45, 46, 47, -1, 49, -1,
3465 -1, -1, -1, -1, 55, -1, 57, 58, -1, -1,
3466 61, 3, 4, 5, 6, 7, 8, 9, -1, -1,
3467 71, -1, 14, -1, -1, -1, -1, -1, -1, -1,
3468 81, -1, -1, -1, -1, -1, -1, 29, 89, 31,
3469 32, -1, -1, 94, -1, 37, -1, -1, -1, 100,
3470 42, -1, -1, -1, 46, -1, 3, 4, 5, 6,
3471 7, 8, 9, 55, -1, 57, 58, 14, -1, 61,
3472 -1, -1, -1, -1, -1, -1, -1, -1, -1, 71,
3473 -1, -1, 29, -1, 31, 32, -1, -1, -1, 81,
3474 37, -1, -1, -1, -1, 42, -1, 89, -1, 46,
3475 -1, -1, 94, -1, -1, -1, -1, -1, 55, -1,
3476 57, 58, 3, 4, 5, 6, 7, 8, 9, -1,
3477 -1, -1, -1, 14, 71, -1, -1, -1, -1, -1,
3478 -1, -1, -1, -1, 81, -1, -1, -1, 29, -1,
3479 31, 32, 89, -1, -1, -1, 37, 94, -1, -1,
3480 -1, 42, -1, -1, -1, 46, -1, -1, -1, -1,
3481 -1, -1, -1, -1, 55, -1, 57, 58, 64, 65,
3482 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
3483 71, 77, 78, 79, 80, 81, 82, 83, 84, 85,
3484 81, -1, -1, -1, -1, -1, -1, -1, 89, -1,
3485 -1, -1, -1, 94, 64, 65, 66, 67, 68, 69,
6a88a0c0 3486 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
73b0fce8
KL
3487 80, 81, 82, 83, 84, 85, 64, 65, 66, 67,
3488 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
3489 78, 79, 80, 81, 82, 83, 84, 85, -1, -1,
3490 -1, -1, -1, 113, -1, -1, -1, -1, -1, -1,
3491 -1, -1, -1, -1, -1, -1, -1, -1, 60, -1,
3492 -1, 109, 64, 65, 66, 67, 68, 69, 70, 71,
3493 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
3494 82, 83, 84, 85, 63, 64, 65, 66, 67, 68,
3495 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
3496 79, 80, 81, 82, 83, 84, 85, 63, 64, 65,
3497 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
3498 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
6a88a0c0
JM
3499 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
3500 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
73b0fce8
KL
3501 84, 85, 68, 69, 70, 71, 72, 73, 74, 75,
3502 76, 77, 78, 79, 80, 81, 82, 83, 84, 85
861bb6c1
JL
3503};
3504/* -*-C-*- Note some compilers choke on comments on `#line' lines. */
f5426d1e 3505#line 3 "/usr/share/bison.simple"
861bb6c1
JL
3506
3507/* Skeleton output parser for bison,
3508 Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
3509
3510 This program is free software; you can redistribute it and/or modify
3511 it under the terms of the GNU General Public License as published by
3512 the Free Software Foundation; either version 2, or (at your option)
3513 any later version.
3514
3515 This program is distributed in the hope that it will be useful,
3516 but WITHOUT ANY WARRANTY; without even the implied warranty of
3517 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3518 GNU General Public License for more details.
3519
3520 You should have received a copy of the GNU General Public License
3521 along with this program; if not, write to the Free Software
3522 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
3523
3524/* As a special exception, when this file is copied by Bison into a
3525 Bison output file, you may use that output file without restriction.
3526 This special exception was added by the Free Software Foundation
3527 in version 1.24 of Bison. */
3528
3529#ifndef alloca
3530#ifdef __GNUC__
3531#define alloca __builtin_alloca
3532#else /* not GNU C. */
3533#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi)
3534#include <alloca.h>
3535#else /* not sparc */
3536#if defined (MSDOS) && !defined (__TURBOC__)
3537#include <malloc.h>
3538#else /* not MSDOS, or __TURBOC__ */
3539#if defined(_AIX)
3540#include <malloc.h>
3541 #pragma alloca
3542#else /* not MSDOS, __TURBOC__, or _AIX */
3543#ifdef __hpux
3544#ifdef __cplusplus
3545extern "C" {
3546void *alloca (unsigned int);
3547};
3548#else /* not __cplusplus */
3549void *alloca ();
3550#endif /* not __cplusplus */
3551#endif /* __hpux */
3552#endif /* not _AIX */
3553#endif /* not MSDOS, or __TURBOC__ */
3554#endif /* not sparc. */
3555#endif /* not GNU C. */
3556#endif /* alloca not defined. */
3557
3558/* This is the parser code that is written into each bison parser
3559 when the %semantic_parser declaration is not specified in the grammar.
3560 It was written by Richard Stallman by simplifying the hairy parser
3561 used when %semantic_parser is specified. */
3562
3563/* Note: there must be only one dollar sign in this file.
3564 It is replaced by the list of actions, each action
3565 as one case of the switch. */
3566
3567#define yyerrok (yyerrstatus = 0)
3568#define yyclearin (yychar = YYEMPTY)
3569#define YYEMPTY -2
3570#define YYEOF 0
3571#define YYACCEPT return(0)
3572#define YYABORT return(1)
3573#define YYERROR goto yyerrlab1
3574/* Like YYERROR except do call yyerror.
3575 This remains here temporarily to ease the
3576 transition to the new meaning of YYERROR, for GCC.
3577 Once GCC version 2 has supplanted version 1, this can go. */
3578#define YYFAIL goto yyerrlab
3579#define YYRECOVERING() (!!yyerrstatus)
3580#define YYBACKUP(token, value) \
3581do \
3582 if (yychar == YYEMPTY && yylen == 1) \
3583 { yychar = (token), yylval = (value); \
3584 yychar1 = YYTRANSLATE (yychar); \
3585 YYPOPSTACK; \
3586 goto yybackup; \
3587 } \
3588 else \
3589 { yyerror ("syntax error: cannot back up"); YYERROR; } \
3590while (0)
3591
3592#define YYTERROR 1
3593#define YYERRCODE 256
3594
3595#ifndef YYPURE
3596#define YYLEX yylex()
3597#endif
3598
3599#ifdef YYPURE
3600#ifdef YYLSP_NEEDED
3601#ifdef YYLEX_PARAM
3602#define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM)
3603#else
3604#define YYLEX yylex(&yylval, &yylloc)
3605#endif
3606#else /* not YYLSP_NEEDED */
3607#ifdef YYLEX_PARAM
3608#define YYLEX yylex(&yylval, YYLEX_PARAM)
3609#else
3610#define YYLEX yylex(&yylval)
3611#endif
3612#endif /* not YYLSP_NEEDED */
3613#endif
3614
3615/* If nonreentrant, generate the variables here */
3616
3617#ifndef YYPURE
3618
3619int yychar; /* the lookahead symbol */
3620YYSTYPE yylval; /* the semantic value of the */
3621 /* lookahead symbol */
3622
3623#ifdef YYLSP_NEEDED
3624YYLTYPE yylloc; /* location data for the lookahead */
3625 /* symbol */
3626#endif
3627
3628int yynerrs; /* number of parse errors so far */
3629#endif /* not YYPURE */
3630
3631#if YYDEBUG != 0
3632int yydebug; /* nonzero means print parse trace */
3633/* Since this is uninitialized, it does not stop multiple parsers
3634 from coexisting. */
3635#endif
3636
3637/* YYINITDEPTH indicates the initial size of the parser's stacks */
3638
3639#ifndef YYINITDEPTH
3640#define YYINITDEPTH 200
3641#endif
3642
3643/* YYMAXDEPTH is the maximum size the stacks can grow to
3644 (effective only if the built-in stack extension method is used). */
3645
3646#if YYMAXDEPTH == 0
3647#undef YYMAXDEPTH
3648#endif
3649
3650#ifndef YYMAXDEPTH
3651#define YYMAXDEPTH 10000
3652#endif
3653
3654/* Prevent warning if -Wstrict-prototypes. */
3655#ifdef __GNUC__
3656int yyparse (void);
3657#endif
3658\f
3659#if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
8eeda2ec 3660#define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT)
861bb6c1
JL
3661#else /* not GNU C or C++ */
3662#ifndef __cplusplus
3663
3664/* This is the most reliable way to avoid incompatibilities
3665 in available built-in functions on various systems. */
3666static void
8eeda2ec 3667__yy_memcpy (to, from, count)
861bb6c1 3668 char *to;
8eeda2ec 3669 char *from;
861bb6c1
JL
3670 int count;
3671{
3672 register char *f = from;
3673 register char *t = to;
3674 register int i = count;
3675
3676 while (i-- > 0)
3677 *t++ = *f++;
3678}
3679
3680#else /* __cplusplus */
3681
3682/* This is the most reliable way to avoid incompatibilities
3683 in available built-in functions on various systems. */
3684static void
8eeda2ec 3685__yy_memcpy (char *to, char *from, int count)
861bb6c1
JL
3686{
3687 register char *f = from;
3688 register char *t = to;
3689 register int i = count;
3690
3691 while (i-- > 0)
3692 *t++ = *f++;
3693}
3694
3695#endif
3696#endif
3697\f
f5426d1e 3698#line 196 "/usr/share/bison.simple"
861bb6c1
JL
3699
3700/* The user can define YYPARSE_PARAM as the name of an argument to be passed
3701 into yyparse. The argument should have type void *.
3702 It should actually point to an object.
3703 Grammar actions can access the variable by casting it
3704 to the proper pointer type. */
3705
3706#ifdef YYPARSE_PARAM
8eeda2ec
JM
3707#ifdef __cplusplus
3708#define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
3709#define YYPARSE_PARAM_DECL
3710#else /* not __cplusplus */
3711#define YYPARSE_PARAM_ARG YYPARSE_PARAM
861bb6c1 3712#define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
8eeda2ec
JM
3713#endif /* not __cplusplus */
3714#else /* not YYPARSE_PARAM */
3715#define YYPARSE_PARAM_ARG
861bb6c1 3716#define YYPARSE_PARAM_DECL
8eeda2ec 3717#endif /* not YYPARSE_PARAM */
861bb6c1
JL
3718
3719int
8eeda2ec 3720yyparse(YYPARSE_PARAM_ARG)
861bb6c1
JL
3721 YYPARSE_PARAM_DECL
3722{
3723 register int yystate;
3724 register int yyn;
3725 register short *yyssp;
3726 register YYSTYPE *yyvsp;
3727 int yyerrstatus; /* number of tokens to shift before error messages enabled */
3728 int yychar1 = 0; /* lookahead token as an internal (translated) token number */
3729
3730 short yyssa[YYINITDEPTH]; /* the state stack */
3731 YYSTYPE yyvsa[YYINITDEPTH]; /* the semantic value stack */
3732
3733 short *yyss = yyssa; /* refer to the stacks thru separate pointers */
3734 YYSTYPE *yyvs = yyvsa; /* to allow yyoverflow to reallocate them elsewhere */
3735
3736#ifdef YYLSP_NEEDED
3737 YYLTYPE yylsa[YYINITDEPTH]; /* the location stack */
3738 YYLTYPE *yyls = yylsa;
3739 YYLTYPE *yylsp;
3740
3741#define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
3742#else
3743#define YYPOPSTACK (yyvsp--, yyssp--)
3744#endif
3745
3746 int yystacksize = YYINITDEPTH;
3747
3748#ifdef YYPURE
3749 int yychar;
3750 YYSTYPE yylval;
3751 int yynerrs;
3752#ifdef YYLSP_NEEDED
3753 YYLTYPE yylloc;
3754#endif
3755#endif
3756
3757 YYSTYPE yyval; /* the variable used to return */
3758 /* semantic values from the action */
3759 /* routines */
3760
3761 int yylen;
3762
3763#if YYDEBUG != 0
3764 if (yydebug)
3765 fprintf(stderr, "Starting parse\n");
3766#endif
3767
3768 yystate = 0;
3769 yyerrstatus = 0;
3770 yynerrs = 0;
3771 yychar = YYEMPTY; /* Cause a token to be read. */
3772
3773 /* Initialize stack pointers.
3774 Waste one element of value and location stack
3775 so that they stay on the same level as the state stack.
3776 The wasted elements are never initialized. */
3777
3778 yyssp = yyss - 1;
3779 yyvsp = yyvs;
3780#ifdef YYLSP_NEEDED
3781 yylsp = yyls;
3782#endif
3783
3784/* Push a new state, which is found in yystate . */
3785/* In all cases, when you get here, the value and location stacks
3786 have just been pushed. so pushing a state here evens the stacks. */
3787yynewstate:
3788
3789 *++yyssp = yystate;
3790
3791 if (yyssp >= yyss + yystacksize - 1)
3792 {
3793 /* Give user a chance to reallocate the stack */
3794 /* Use copies of these so that the &'s don't force the real ones into memory. */
3795 YYSTYPE *yyvs1 = yyvs;
3796 short *yyss1 = yyss;
3797#ifdef YYLSP_NEEDED
3798 YYLTYPE *yyls1 = yyls;
3799#endif
3800
3801 /* Get the current used size of the three stacks, in elements. */
3802 int size = yyssp - yyss + 1;
3803
3804#ifdef yyoverflow
3805 /* Each stack pointer address is followed by the size of
3806 the data in use in that stack, in bytes. */
3807#ifdef YYLSP_NEEDED
3808 /* This used to be a conditional around just the two extra args,
3809 but that might be undefined if yyoverflow is a macro. */
3810 yyoverflow("parser stack overflow",
3811 &yyss1, size * sizeof (*yyssp),
3812 &yyvs1, size * sizeof (*yyvsp),
3813 &yyls1, size * sizeof (*yylsp),
3814 &yystacksize);
3815#else
3816 yyoverflow("parser stack overflow",
3817 &yyss1, size * sizeof (*yyssp),
3818 &yyvs1, size * sizeof (*yyvsp),
3819 &yystacksize);
3820#endif
3821
3822 yyss = yyss1; yyvs = yyvs1;
3823#ifdef YYLSP_NEEDED
3824 yyls = yyls1;
3825#endif
3826#else /* no yyoverflow */
3827 /* Extend the stack our own way. */
3828 if (yystacksize >= YYMAXDEPTH)
3829 {
3830 yyerror("parser stack overflow");
3831 return 2;
3832 }
3833 yystacksize *= 2;
3834 if (yystacksize > YYMAXDEPTH)
3835 yystacksize = YYMAXDEPTH;
3836 yyss = (short *) alloca (yystacksize * sizeof (*yyssp));
8eeda2ec 3837 __yy_memcpy ((char *)yyss, (char *)yyss1, size * sizeof (*yyssp));
861bb6c1 3838 yyvs = (YYSTYPE *) alloca (yystacksize * sizeof (*yyvsp));
8eeda2ec 3839 __yy_memcpy ((char *)yyvs, (char *)yyvs1, size * sizeof (*yyvsp));
861bb6c1
JL
3840#ifdef YYLSP_NEEDED
3841 yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp));
8eeda2ec 3842 __yy_memcpy ((char *)yyls, (char *)yyls1, size * sizeof (*yylsp));
861bb6c1
JL
3843#endif
3844#endif /* no yyoverflow */
3845
3846 yyssp = yyss + size - 1;
3847 yyvsp = yyvs + size - 1;
3848#ifdef YYLSP_NEEDED
3849 yylsp = yyls + size - 1;
3850#endif
3851
3852#if YYDEBUG != 0
3853 if (yydebug)
3854 fprintf(stderr, "Stack size increased to %d\n", yystacksize);
3855#endif
3856
3857 if (yyssp >= yyss + yystacksize - 1)
3858 YYABORT;
3859 }
3860
3861#if YYDEBUG != 0
3862 if (yydebug)
3863 fprintf(stderr, "Entering state %d\n", yystate);
3864#endif
3865
3866 goto yybackup;
3867 yybackup:
3868
3869/* Do appropriate processing given the current state. */
3870/* Read a lookahead token if we need one and don't already have one. */
3871/* yyresume: */
3872
3873 /* First try to decide what to do without reference to lookahead token. */
3874
3875 yyn = yypact[yystate];
3876 if (yyn == YYFLAG)
3877 goto yydefault;
3878
3879 /* Not known => get a lookahead token if don't already have one. */
3880
3881 /* yychar is either YYEMPTY or YYEOF
3882 or a valid token in external form. */
3883
3884 if (yychar == YYEMPTY)
3885 {
3886#if YYDEBUG != 0
3887 if (yydebug)
3888 fprintf(stderr, "Reading a token: ");
3889#endif
3890 yychar = YYLEX;
3891 }
3892
3893 /* Convert token to internal form (in yychar1) for indexing tables with */
3894
3895 if (yychar <= 0) /* This means end of input. */
3896 {
3897 yychar1 = 0;
3898 yychar = YYEOF; /* Don't call YYLEX any more */
3899
3900#if YYDEBUG != 0
3901 if (yydebug)
3902 fprintf(stderr, "Now at end of input.\n");
3903#endif
3904 }
3905 else
3906 {
3907 yychar1 = YYTRANSLATE(yychar);
3908
3909#if YYDEBUG != 0
3910 if (yydebug)
3911 {
3912 fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
3913 /* Give the individual parser a way to print the precise meaning
3914 of a token, for further debugging info. */
3915#ifdef YYPRINT
3916 YYPRINT (stderr, yychar, yylval);
3917#endif
3918 fprintf (stderr, ")\n");
3919 }
3920#endif
3921 }
3922
3923 yyn += yychar1;
3924 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
3925 goto yydefault;
3926
3927 yyn = yytable[yyn];
3928
3929 /* yyn is what to do for this token type in this state.
3930 Negative => reduce, -yyn is rule number.
3931 Positive => shift, yyn is new state.
3932 New state is final state => don't bother to shift,
3933 just return success.
3934 0, or most negative number => error. */
3935
3936 if (yyn < 0)
3937 {
3938 if (yyn == YYFLAG)
3939 goto yyerrlab;
3940 yyn = -yyn;
3941 goto yyreduce;
3942 }
3943 else if (yyn == 0)
3944 goto yyerrlab;
3945
3946 if (yyn == YYFINAL)
3947 YYACCEPT;
3948
3949 /* Shift the lookahead token. */
3950
3951#if YYDEBUG != 0
3952 if (yydebug)
3953 fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
3954#endif
3955
3956 /* Discard the token being shifted unless it is eof. */
3957 if (yychar != YYEOF)
3958 yychar = YYEMPTY;
3959
3960 *++yyvsp = yylval;
3961#ifdef YYLSP_NEEDED
3962 *++yylsp = yylloc;
3963#endif
3964
3965 /* count tokens shifted since error; after three, turn off error status. */
3966 if (yyerrstatus) yyerrstatus--;
3967
3968 yystate = yyn;
3969 goto yynewstate;
3970
3971/* Do the default action for the current state. */
3972yydefault:
3973
3974 yyn = yydefact[yystate];
3975 if (yyn == 0)
3976 goto yyerrlab;
3977
3978/* Do a reduction. yyn is the number of a rule to reduce with. */
3979yyreduce:
3980 yylen = yyr2[yyn];
3981 if (yylen > 0)
3982 yyval = yyvsp[1-yylen]; /* implement default value of the action */
3983
3984#if YYDEBUG != 0
3985 if (yydebug)
3986 {
3987 int i;
3988
3989 fprintf (stderr, "Reducing via rule %d (line %d), ",
3990 yyn, yyrline[yyn]);
3991
3992 /* Print the symbols being reduced, and their result. */
3993 for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
3994 fprintf (stderr, "%s ", yytname[yyrhs[i]]);
3995 fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
3996 }
3997#endif
3998
3999
4000 switch (yyn) {
4001
4002case 2:
e1467ff2 4003#line 320 "parse.y"
861bb6c1
JL
4004{
4005 /* In case there were missing closebraces,
4006 get us back to the global binding level. */
4007 while (! global_bindings_p ())
4008 poplevel (0, 0, 0);
4009 finish_file ();
4010 ;
4011 break;}
4012case 3:
e1467ff2 4013#line 334 "parse.y"
861bb6c1
JL
4014{ yyval.ttype = NULL_TREE; ;
4015 break;}
4016case 4:
e1467ff2 4017#line 336 "parse.y"
861bb6c1
JL
4018{ yyval.ttype = NULL_TREE; ;
4019 break;}
4020case 5:
e1467ff2 4021#line 338 "parse.y"
861bb6c1
JL
4022{ yyval.ttype = NULL_TREE; ;
4023 break;}
4024case 8:
e1467ff2 4025#line 347 "parse.y"
861bb6c1
JL
4026{ have_extern_spec = 1;
4027 used_extern_spec = 0;
4028 yyval.ttype = NULL_TREE; ;
4029 break;}
4030case 9:
e1467ff2 4031#line 352 "parse.y"
861bb6c1
JL
4032{ have_extern_spec = 0; ;
4033 break;}
4034case 10:
e1467ff2 4035#line 357 "parse.y"
861bb6c1
JL
4036{ yyval.itype = pedantic;
4037 pedantic = 0; ;
4038 break;}
4039case 13:
e1467ff2 4040#line 367 "parse.y"
861bb6c1
JL
4041{ if (pending_lang_change) do_pending_lang_change(); ;
4042 break;}
4043case 14:
e1467ff2 4044#line 369 "parse.y"
861bb6c1
JL
4045{ if (! toplevel_bindings_p () && ! pseudo_global_level_p())
4046 pop_everything (); ;
4047 break;}
4048case 15:
e1467ff2 4049#line 375 "parse.y"
861bb6c1
JL
4050{ if (pending_inlines) do_pending_inlines (); ;
4051 break;}
4052case 16:
e1467ff2 4053#line 377 "parse.y"
861bb6c1
JL
4054{ if (pending_inlines) do_pending_inlines (); ;
4055 break;}
4056case 17:
e1467ff2 4057#line 379 "parse.y"
861bb6c1
JL
4058{ if (pending_inlines) do_pending_inlines (); ;
4059 break;}
4060case 18:
e1467ff2 4061#line 381 "parse.y"
861bb6c1
JL
4062{ if (TREE_CHAIN (yyvsp[-2].ttype)) yyvsp[-2].ttype = combine_strings (yyvsp[-2].ttype);
4063 assemble_asm (yyvsp[-2].ttype); ;
4064 break;}
4065case 19:
e1467ff2 4066#line 384 "parse.y"
861bb6c1
JL
4067{ pop_lang_context (); ;
4068 break;}
4069case 20:
e1467ff2 4070#line 386 "parse.y"
861bb6c1
JL
4071{ if (pending_inlines) do_pending_inlines ();
4072 pop_lang_context (); ;
4073 break;}
4074case 21:
e1467ff2 4075#line 389 "parse.y"
861bb6c1
JL
4076{ if (pending_inlines) do_pending_inlines ();
4077 pop_lang_context (); ;
4078 break;}
4079case 22:
e1467ff2 4080#line 392 "parse.y"
861bb6c1
JL
4081{ push_namespace (yyvsp[-1].ttype); ;
4082 break;}
4083case 23:
e1467ff2 4084#line 394 "parse.y"
861bb6c1
JL
4085{ pop_namespace (); ;
4086 break;}
4087case 24:
e1467ff2 4088#line 396 "parse.y"
861bb6c1
JL
4089{ push_namespace (NULL_TREE); ;
4090 break;}
4091case 25:
e1467ff2 4092#line 398 "parse.y"
861bb6c1
JL
4093{ pop_namespace (); ;
4094 break;}
4095case 26:
e1467ff2 4096#line 400 "parse.y"
861bb6c1
JL
4097{ do_namespace_alias (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
4098 break;}
4099case 27:
e1467ff2 4100#line 402 "parse.y"
861bb6c1
JL
4101{ do_toplevel_using_decl (yyvsp[-1].ttype); ;
4102 break;}
4103case 28:
e1467ff2 4104#line 404 "parse.y"
861bb6c1
JL
4105{
4106 if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE)
4107 yyvsp[-1].ttype = lastiddecl;
4108 do_using_directive (yyvsp[-1].ttype);
4109 ;
4110 break;}
4111case 29:
e1467ff2 4112#line 410 "parse.y"
861bb6c1
JL
4113{ pedantic = yyvsp[-1].itype; ;
4114 break;}
4115case 30:
e1467ff2 4116#line 415 "parse.y"
861bb6c1
JL
4117{ yyval.ttype = yyvsp[0].ttype; ;
4118 break;}
4119case 31:
e1467ff2 4120#line 417 "parse.y"
861bb6c1
JL
4121{ yyval.ttype = yyvsp[0].ttype; ;
4122 break;}
4123case 32:
e1467ff2 4124#line 419 "parse.y"
861bb6c1
JL
4125{ yyval.ttype = yyvsp[0].ttype; ;
4126 break;}
4127case 35:
e1467ff2 4128#line 426 "parse.y"
861bb6c1
JL
4129{ yyval.ttype = yyvsp[0].ttype; ;
4130 break;}
4131case 36:
e1467ff2 4132#line 428 "parse.y"
861bb6c1
JL
4133{ yyval.ttype = yyvsp[0].ttype; ;
4134 break;}
4135case 37:
e1467ff2 4136#line 433 "parse.y"
861bb6c1
JL
4137{ push_lang_context (yyvsp[0].ttype); ;
4138 break;}
4139case 38:
e1467ff2 4140#line 435 "parse.y"
861bb6c1
JL
4141{ if (current_lang_name != yyvsp[0].ttype)
4142 cp_error ("use of linkage spec `%D' is different from previous spec `%D'", yyvsp[0].ttype, current_lang_name);
4143 pop_lang_context (); push_lang_context (yyvsp[0].ttype); ;
4144 break;}
4145case 39:
e1467ff2 4146#line 442 "parse.y"
861bb6c1
JL
4147{ begin_template_parm_list (); ;
4148 break;}
4149case 40:
e1467ff2 4150#line 444 "parse.y"
861bb6c1
JL
4151{ yyval.ttype = end_template_parm_list (yyvsp[-1].ttype); ;
4152 break;}
4153case 41:
e1467ff2 4154#line 446 "parse.y"
386b8a85
JM
4155{ begin_specialization();
4156 yyval.ttype = NULL_TREE; ;
861bb6c1
JL
4157 break;}
4158case 42:
e1467ff2 4159#line 452 "parse.y"
861bb6c1
JL
4160{ yyval.ttype = process_template_parm (NULL_TREE, yyvsp[0].ttype); ;
4161 break;}
4162case 43:
e1467ff2 4163#line 454 "parse.y"
861bb6c1
JL
4164{ yyval.ttype = process_template_parm (yyvsp[-2].ttype, yyvsp[0].ttype); ;
4165 break;}
4166case 44:
e1467ff2 4167#line 459 "parse.y"
73b0fce8
KL
4168{ yyval.ttype = yyvsp[0].ttype; ;
4169 break;}
4170case 45:
e1467ff2 4171#line 461 "parse.y"
73b0fce8
KL
4172{ yyval.ttype = NULL_TREE; ;
4173 break;}
4174case 46:
e1467ff2 4175#line 465 "parse.y"
861bb6c1 4176{
73b0fce8 4177 yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype);
861bb6c1
JL
4178 if (TREE_PURPOSE (yyval.ttype) == signature_type_node)
4179 sorry ("signature as template type parameter");
4180 else if (TREE_PURPOSE (yyval.ttype) != class_type_node)
4181 {
4182 pedwarn ("template type parameters must use the keyword `class'");
4183 TREE_PURPOSE (yyval.ttype) = class_type_node;
4184 }
4185 ;
4186 break;}
861bb6c1 4187case 47:
e1467ff2 4188#line 476 "parse.y"
861bb6c1
JL
4189{ yyval.ttype = build_tree_list (class_type_node, yyvsp[0].ttype); ;
4190 break;}
4191case 48:
e1467ff2 4192#line 481 "parse.y"
73b0fce8
KL
4193{
4194 tree decl = build_decl (TYPE_DECL, yyvsp[0].ttype, NULL_TREE);
4195 tree tmpl = build_lang_decl (TEMPLATE_DECL, yyvsp[0].ttype, NULL_TREE);
4196 DECL_TEMPLATE_PARMS (tmpl) = current_template_parms;
4197 DECL_TEMPLATE_RESULT (tmpl) = decl;
4198 SET_DECL_ARTIFICIAL (decl);
4199 end_template_decl ();
4200
4201 if (yyvsp[-1].ttype == signature_type_node)
4202 sorry ("signature as template template parameter");
4203 else if (yyvsp[-1].ttype != class_type_node)
4204 pedwarn ("template template parameters must use the keyword `class'");
4205 yyval.ttype = build_tree_list (class_type_node, tmpl);
4206 ;
4207 break;}
4208case 49:
e1467ff2 4209#line 506 "parse.y"
861bb6c1
JL
4210{ yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
4211 break;}
73b0fce8 4212case 50:
e1467ff2 4213#line 508 "parse.y"
861bb6c1
JL
4214{ yyval.ttype = build_tree_list (groktypename (yyvsp[0].ftype.t), yyvsp[-2].ttype); ;
4215 break;}
73b0fce8 4216case 51:
e1467ff2 4217#line 510 "parse.y"
861bb6c1
JL
4218{ yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ftype.t); ;
4219 break;}
73b0fce8 4220case 52:
e1467ff2 4221#line 512 "parse.y"
861bb6c1
JL
4222{ yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-2].ftype.t); ;
4223 break;}
73b0fce8 4224case 53:
e1467ff2 4225#line 514 "parse.y"
73b0fce8
KL
4226{ yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
4227 break;}
4228case 54:
e1467ff2 4229#line 516 "parse.y"
73b0fce8
KL
4230{
4231 tree defarg;
4232 arg_looking_for_template = 1;
4233 defarg = lookup_name (yyvsp[0].ttype, 0);
4234 arg_looking_for_template = 0;
4235
4236 if (!defarg || defarg == error_mark_node
4237 || (TREE_CODE (defarg) != TEMPLATE_DECL
4238 && TREE_CODE (defarg) != TEMPLATE_TEMPLATE_PARM))
4239 defarg = do_identifier (yyvsp[0].ttype, 1);
4240 yyval.ttype = build_tree_list (defarg, yyvsp[-2].ttype);
4241 ;
4242 break;}
4243case 55:
e1467ff2 4244#line 533 "parse.y"
386b8a85
JM
4245{
4246 if (yyvsp[-1].ttype)
4247 end_template_decl ();
4248 else
4249 end_specialization ();
4250 ;
861bb6c1 4251 break;}
73b0fce8 4252case 56:
e1467ff2 4253#line 541 "parse.y"
386b8a85
JM
4254{
4255 if (yyvsp[-1].ttype)
4256 end_template_decl ();
4257 else
4258 end_specialization ();
4259 ;
861bb6c1 4260 break;}
73b0fce8 4261case 57:
e1467ff2 4262#line 551 "parse.y"
861bb6c1
JL
4263{;
4264 break;}
73b0fce8 4265case 58:
e1467ff2 4266#line 553 "parse.y"
861bb6c1
JL
4267{;
4268 break;}
73b0fce8 4269case 59:
e1467ff2 4270#line 555 "parse.y"
861bb6c1
JL
4271{
4272 note_list_got_semicolon (yyvsp[-2].ftype.t);
4273 ;
4274 break;}
73b0fce8 4275case 60:
e1467ff2 4276#line 559 "parse.y"
861bb6c1
JL
4277{ pedwarn ("empty declaration"); ;
4278 break;}
73b0fce8 4279case 62:
e1467ff2 4280#line 562 "parse.y"
861bb6c1
JL
4281{
4282 tree t, attrs;
4283 split_specs_attrs (yyvsp[-1].ftype.t, &t, &attrs);
4284 shadow_tag (t);
4285 note_list_got_semicolon (yyvsp[-1].ftype.t);
4286 ;
4287 break;}
73b0fce8 4288case 66:
e1467ff2 4289#line 575 "parse.y"
861bb6c1
JL
4290{ yyval.itype = 0; ;
4291 break;}
73b0fce8 4292case 67:
e1467ff2 4293#line 577 "parse.y"
861bb6c1
JL
4294{ yyval.itype = 1; ;
4295 break;}
73b0fce8 4296case 73:
e1467ff2 4297#line 593 "parse.y"
861bb6c1
JL
4298{ finish_function (lineno, (int)yyvsp[-1].itype, 0); ;
4299 break;}
73b0fce8 4300case 74:
e1467ff2 4301#line 595 "parse.y"
861bb6c1
JL
4302{ ;
4303 break;}
73b0fce8 4304case 75:
e1467ff2 4305#line 597 "parse.y"
861bb6c1
JL
4306{ ;
4307 break;}
73b0fce8 4308case 76:
e1467ff2 4309#line 602 "parse.y"
861bb6c1
JL
4310{
4311 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, yyvsp[-1].ttype);
4312 if (yyvsp[-2].ttype != current_class_type)
4313 {
4314 push_nested_class (yyvsp[-2].ttype, 3);
4315 TREE_COMPLEXITY (yyval.ttype) = current_class_depth;
4316 }
4317 ;
4318 break;}
73b0fce8 4319case 77:
e1467ff2 4320#line 611 "parse.y"
861bb6c1
JL
4321{ yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4322 break;}
73b0fce8 4323case 78:
e1467ff2 4324#line 613 "parse.y"
861bb6c1
JL
4325{
4326 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-4].ttype, yyvsp[-3].ttype);
4327 if (yyvsp[-4].ttype != current_class_type)
4328 {
4329 push_nested_class (yyvsp[-4].ttype, 3);
4330 TREE_COMPLEXITY (yyval.ttype) = current_class_depth;
4331 }
4332 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4333 ;
4334 break;}
73b0fce8 4335case 79:
e1467ff2 4336#line 623 "parse.y"
861bb6c1
JL
4337{
4338 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, yyvsp[-1].ttype);
4339 if (yyvsp[-2].ttype != current_class_type)
4340 {
4341 push_nested_class (yyvsp[-2].ttype, 3);
4342 TREE_COMPLEXITY (yyval.ttype) = current_class_depth;
4343 }
4344 ;
4345 break;}
73b0fce8 4346case 80:
e1467ff2 4347#line 632 "parse.y"
861bb6c1
JL
4348{ yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4349 break;}
73b0fce8 4350case 81:
e1467ff2 4351#line 634 "parse.y"
861bb6c1
JL
4352{
4353 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-4].ttype, yyvsp[-3].ttype);
4354 if (yyvsp[-4].ttype != current_class_type)
4355 {
4356 push_nested_class (yyvsp[-4].ttype, 3);
4357 TREE_COMPLEXITY (yyval.ttype) = current_class_depth;
4358 }
4359 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4360 ;
4361 break;}
73b0fce8 4362case 82:
e1467ff2 4363#line 644 "parse.y"
861bb6c1
JL
4364{
4365 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, yyvsp[-1].ttype);
4366 if (yyvsp[-2].ttype != current_class_type)
4367 {
4368 push_nested_class (yyvsp[-2].ttype, 3);
4369 TREE_COMPLEXITY (yyval.ttype) = current_class_depth;
4370 }
4371 ;
4372 break;}
73b0fce8 4373case 83:
e1467ff2 4374#line 653 "parse.y"
861bb6c1
JL
4375{ yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4376 break;}
73b0fce8 4377case 84:
e1467ff2 4378#line 655 "parse.y"
861bb6c1
JL
4379{
4380 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-4].ttype, yyvsp[-3].ttype);
4381 if (yyvsp[-4].ttype != current_class_type)
4382 {
4383 push_nested_class (yyvsp[-4].ttype, 3);
4384 TREE_COMPLEXITY (yyval.ttype) = current_class_depth;
4385 }
4386 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4387 ;
4388 break;}
73b0fce8 4389case 85:
e1467ff2 4390#line 665 "parse.y"
861bb6c1
JL
4391{
4392 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, yyvsp[-1].ttype);
4393 if (yyvsp[-2].ttype != current_class_type)
4394 {
4395 push_nested_class (yyvsp[-2].ttype, 3);
4396 TREE_COMPLEXITY (yyval.ttype) = current_class_depth;
4397 }
4398 ;
4399 break;}
73b0fce8 4400case 86:
e1467ff2 4401#line 674 "parse.y"
861bb6c1
JL
4402{ yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4403 break;}
73b0fce8 4404case 87:
e1467ff2 4405#line 676 "parse.y"
861bb6c1
JL
4406{
4407 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-4].ttype, yyvsp[-3].ttype);
4408 if (yyvsp[-4].ttype != current_class_type)
4409 {
4410 push_nested_class (yyvsp[-4].ttype, 3);
4411 TREE_COMPLEXITY (yyval.ttype) = current_class_depth;
4412 }
4413 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4414 ;
4415 break;}
73b0fce8 4416case 88:
e1467ff2 4417#line 689 "parse.y"
861bb6c1
JL
4418{ tree specs, attrs;
4419 split_specs_attrs (yyvsp[-1].ftype.t, &specs, &attrs);
4420 if (! start_function (specs, yyvsp[0].ttype, attrs, 0))
4421 YYERROR1;
4422 reinit_parse_for_function ();
4423 yyval.ttype = NULL_TREE; ;
4424 break;}
73b0fce8 4425case 89:
e1467ff2 4426#line 696 "parse.y"
861bb6c1
JL
4427{ tree specs, attrs;
4428 split_specs_attrs (yyvsp[-1].ttype, &specs, &attrs);
4429 if (! start_function (specs, yyvsp[0].ttype, attrs, 0))
4430 YYERROR1;
4431 reinit_parse_for_function ();
4432 yyval.ttype = NULL_TREE; ;
4433 break;}
73b0fce8 4434case 90:
e1467ff2 4435#line 703 "parse.y"
861bb6c1
JL
4436{ if (! start_function (NULL_TREE, yyval.ttype, NULL_TREE, 0))
4437 YYERROR1;
4438 reinit_parse_for_function ();
4439 yyval.ttype = NULL_TREE; ;
4440 break;}
73b0fce8 4441case 91:
e1467ff2 4442#line 708 "parse.y"
861bb6c1
JL
4443{ tree specs, attrs;
4444 split_specs_attrs (yyvsp[-1].ttype, &specs, &attrs);
4445 if (! start_function (specs, yyvsp[0].ttype, attrs, 0))
4446 YYERROR1;
4447 reinit_parse_for_function ();
4448 yyval.ttype = NULL_TREE; ;
4449 break;}
73b0fce8 4450case 92:
e1467ff2 4451#line 715 "parse.y"
861bb6c1
JL
4452{ if (! start_function (NULL_TREE, yyval.ttype, NULL_TREE, 0))
4453 YYERROR1;
4454 reinit_parse_for_function ();
4455 yyval.ttype = NULL_TREE; ;
4456 break;}
73b0fce8 4457case 93:
e1467ff2 4458#line 723 "parse.y"
861bb6c1
JL
4459{ yyval.ttype = make_call_declarator (yyvsp[-5].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4460 break;}
73b0fce8 4461case 94:
e1467ff2 4462#line 725 "parse.y"
861bb6c1
JL
4463{ yyval.ttype = make_call_declarator (yyvsp[-3].ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
4464 break;}
73b0fce8 4465case 95:
e1467ff2 4466#line 727 "parse.y"
861bb6c1
JL
4467{ yyval.ttype = make_call_declarator (yyvsp[-5].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4468 break;}
73b0fce8 4469case 96:
e1467ff2 4470#line 729 "parse.y"
861bb6c1
JL
4471{ yyval.ttype = make_call_declarator (yyvsp[-3].ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
4472 break;}
73b0fce8 4473case 97:
e1467ff2 4474#line 736 "parse.y"
861bb6c1
JL
4475{ tree specs = strip_attrs (yyvsp[-1].ttype);
4476 yyval.ttype = start_method (specs, yyvsp[0].ttype);
4477 rest_of_mdef:
4478 if (! yyval.ttype)
4479 YYERROR1;
4480 if (yychar == YYEMPTY)
4481 yychar = YYLEX;
4482 reinit_parse_for_method (yychar, yyval.ttype); ;
4483 break;}
73b0fce8 4484case 98:
e1467ff2 4485#line 745 "parse.y"
861bb6c1
JL
4486{ yyval.ttype = start_method (NULL_TREE, yyvsp[0].ttype); goto rest_of_mdef; ;
4487 break;}
73b0fce8 4488case 99:
e1467ff2 4489#line 747 "parse.y"
861bb6c1
JL
4490{ tree specs = strip_attrs (yyvsp[-1].ftype.t);
4491 yyval.ttype = start_method (specs, yyvsp[0].ttype); goto rest_of_mdef; ;
4492 break;}
73b0fce8 4493case 100:
e1467ff2 4494#line 750 "parse.y"
861bb6c1
JL
4495{ tree specs = strip_attrs (yyvsp[-1].ttype);
4496 yyval.ttype = start_method (specs, yyvsp[0].ttype); goto rest_of_mdef; ;
4497 break;}
73b0fce8 4498case 101:
e1467ff2 4499#line 753 "parse.y"
861bb6c1
JL
4500{ yyval.ttype = start_method (NULL_TREE, yyval.ttype); goto rest_of_mdef; ;
4501 break;}
73b0fce8 4502case 102:
e1467ff2 4503#line 755 "parse.y"
861bb6c1
JL
4504{ tree specs = strip_attrs (yyvsp[-1].ttype);
4505 yyval.ttype = start_method (specs, yyvsp[0].ttype); goto rest_of_mdef; ;
4506 break;}
73b0fce8 4507case 103:
e1467ff2 4508#line 758 "parse.y"
861bb6c1
JL
4509{ yyval.ttype = start_method (NULL_TREE, yyval.ttype); goto rest_of_mdef; ;
4510 break;}
73b0fce8 4511case 104:
e1467ff2 4512#line 760 "parse.y"
6a88a0c0 4513{ yyval.ttype = finish_member_template_decl (yyvsp[-1].ttype, yyvsp[0].ttype); ;
a2676865 4514 break;}
73b0fce8 4515case 105:
e1467ff2 4516#line 765 "parse.y"
861bb6c1
JL
4517{
4518 if (! current_function_parms_stored)
4519 store_parm_decls ();
4520 yyval.ttype = yyvsp[0].ttype;
4521 ;
4522 break;}
73b0fce8 4523case 106:
e1467ff2 4524#line 774 "parse.y"
861bb6c1
JL
4525{ store_return_init (yyval.ttype, yyvsp[0].ttype); ;
4526 break;}
73b0fce8 4527case 107:
e1467ff2 4528#line 776 "parse.y"
861bb6c1
JL
4529{ store_return_init (yyval.ttype, yyvsp[-1].ttype); ;
4530 break;}
73b0fce8 4531case 108:
e1467ff2 4532#line 778 "parse.y"
861bb6c1
JL
4533{ store_return_init (yyval.ttype, NULL_TREE); ;
4534 break;}
73b0fce8 4535case 109:
e1467ff2 4536#line 783 "parse.y"
861bb6c1
JL
4537{
4538 if (yyvsp[0].itype == 0)
4539 error ("no base initializers given following ':'");
4540 setup_vtbl_ptr ();
4541 /* Always keep the BLOCK node associated with the outermost
4542 pair of curley braces of a function. These are needed
4543 for correct operation of dwarfout.c. */
4544 keep_next_level ();
4545 ;
4546 break;}
73b0fce8 4547case 110:
e1467ff2 4548#line 796 "parse.y"
861bb6c1
JL
4549{
4550 if (! current_function_parms_stored)
4551 store_parm_decls ();
4552
4553 if (DECL_CONSTRUCTOR_P (current_function_decl))
4554 {
4555 /* Make a contour for the initializer list. */
4556 pushlevel (0);
4557 clear_last_expr ();
4558 expand_start_bindings (0);
4559 }
4560 else if (current_class_type == NULL_TREE)
4561 error ("base initializers not allowed for non-member functions");
4562 else if (! DECL_CONSTRUCTOR_P (current_function_decl))
4563 error ("only constructors take base initializers");
4564 ;
4565 break;}
73b0fce8 4566case 111:
e1467ff2 4567#line 816 "parse.y"
861bb6c1
JL
4568{ yyval.itype = 0; ;
4569 break;}
73b0fce8 4570case 112:
e1467ff2 4571#line 818 "parse.y"
861bb6c1
JL
4572{ yyval.itype = 1; ;
4573 break;}
73b0fce8 4574case 115:
e1467ff2 4575#line 825 "parse.y"
861bb6c1
JL
4576{
4577 if (current_class_name)
4578 pedwarn ("anachronistic old style base class initializer");
4579 expand_member_init (current_class_ref, NULL_TREE, yyvsp[-1].ttype);
4580 ;
4581 break;}
73b0fce8 4582case 116:
e1467ff2 4583#line 831 "parse.y"
861bb6c1
JL
4584{
4585 if (current_class_name)
4586 pedwarn ("anachronistic old style base class initializer");
4587 expand_member_init (current_class_ref, NULL_TREE, void_type_node);
4588 ;
4589 break;}
73b0fce8 4590case 117:
e1467ff2 4591#line 837 "parse.y"
861bb6c1
JL
4592{ expand_member_init (current_class_ref, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
4593 break;}
73b0fce8 4594case 118:
e1467ff2 4595#line 839 "parse.y"
861bb6c1
JL
4596{ expand_member_init (current_class_ref, yyvsp[-1].ttype, void_type_node); ;
4597 break;}
73b0fce8 4598case 119:
e1467ff2 4599#line 841 "parse.y"
861bb6c1
JL
4600{ expand_member_init (current_class_ref, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
4601 break;}
73b0fce8 4602case 120:
e1467ff2 4603#line 843 "parse.y"
861bb6c1
JL
4604{ expand_member_init (current_class_ref, yyvsp[-1].ttype, void_type_node); ;
4605 break;}
73b0fce8 4606case 121:
e1467ff2 4607#line 845 "parse.y"
faf199a6
JM
4608{ expand_member_init (current_class_ref, TYPE_MAIN_DECL (yyvsp[-3].ttype),
4609 yyvsp[-1].ttype); ;
861bb6c1 4610 break;}
73b0fce8 4611case 122:
e1467ff2 4612#line 848 "parse.y"
faf199a6
JM
4613{ expand_member_init (current_class_ref, TYPE_MAIN_DECL (yyvsp[-1].ttype),
4614 void_type_node); ;
861bb6c1 4615 break;}
73b0fce8 4616case 134:
e1467ff2 4617#line 874 "parse.y"
a2676865
JM
4618{ do_type_instantiation (yyvsp[-1].ftype.t, NULL_TREE);
4619 yyungetc (';', 1); ;
861bb6c1 4620 break;}
73b0fce8 4621case 136:
e1467ff2 4622#line 878 "parse.y"
a2676865
JM
4623{ tree specs = strip_attrs (yyvsp[-1].ftype.t);
4624 do_decl_instantiation (specs, yyvsp[0].ttype, NULL_TREE); ;
861bb6c1 4625 break;}
73b0fce8 4626case 138:
e1467ff2 4627#line 882 "parse.y"
861bb6c1
JL
4628{ do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
4629 break;}
73b0fce8 4630case 140:
e1467ff2 4631#line 885 "parse.y"
a2676865 4632{ do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
861bb6c1 4633 break;}
73b0fce8 4634case 142:
e1467ff2 4635#line 888 "parse.y"
6a88a0c0 4636{ do_type_instantiation (yyvsp[-1].ftype.t, yyvsp[-4].ttype);
a2676865 4637 yyungetc (';', 1); ;
861bb6c1 4638 break;}
73b0fce8 4639case 144:
e1467ff2 4640#line 893 "parse.y"
a2676865 4641{ tree specs = strip_attrs (yyvsp[-1].ftype.t);
6a88a0c0 4642 do_decl_instantiation (specs, yyvsp[0].ttype, yyvsp[-4].ttype); ;
861bb6c1 4643 break;}
73b0fce8 4644case 146:
e1467ff2 4645#line 897 "parse.y"
6a88a0c0 4646{ do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, yyvsp[-3].ttype); ;
861bb6c1 4647 break;}
73b0fce8 4648case 148:
e1467ff2 4649#line 900 "parse.y"
6a88a0c0 4650{ do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, yyvsp[-3].ttype); ;
861bb6c1 4651 break;}
73b0fce8 4652case 150:
e1467ff2 4653#line 905 "parse.y"
6a88a0c0
JM
4654{ begin_explicit_instantiation(); ;
4655 break;}
73b0fce8 4656case 151:
e1467ff2 4657#line 908 "parse.y"
6a88a0c0 4658{ end_explicit_instantiation(); ;
861bb6c1 4659 break;}
73b0fce8 4660case 152:
e1467ff2 4661#line 916 "parse.y"
861bb6c1 4662{
6a88a0c0 4663 yyval.ttype = lookup_template_class (yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE, NULL_TREE);
861bb6c1
JL
4664 if (yyval.ttype != error_mark_node)
4665 yyval.ttype = TYPE_STUB_DECL (yyval.ttype);
4666 ;
4667 break;}
73b0fce8 4668case 153:
e1467ff2 4669#line 922 "parse.y"
861bb6c1 4670{
6a88a0c0 4671 yyval.ttype = lookup_template_class (yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE, NULL_TREE);
861bb6c1
JL
4672 if (yyval.ttype != error_mark_node)
4673 yyval.ttype = TYPE_STUB_DECL (yyval.ttype);
4674 ;
4675 break;}
73b0fce8 4676case 155:
e1467ff2 4677#line 932 "parse.y"
861bb6c1 4678{
6a88a0c0 4679 yyval.ttype = lookup_template_class (yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE, NULL_TREE);
861bb6c1
JL
4680 if (yyval.ttype != error_mark_node)
4681 yyval.ttype = TYPE_STUB_DECL (yyval.ttype);
4682 ;
4683 break;}
73b0fce8 4684case 157:
e1467ff2 4685#line 942 "parse.y"
861bb6c1
JL
4686{
4687 /* Handle `Class<Class<Type>>' without space in the `>>' */
4688 pedwarn ("`>>' should be `> >' in template class name");
4689 yyungetc ('>', 1);
4690 ;
4691 break;}
73b0fce8 4692case 158:
e1467ff2 4693#line 951 "parse.y"
6a88a0c0
JM
4694{ yyval.ttype = NULL_TREE; ;
4695 break;}
73b0fce8 4696case 160:
e1467ff2 4697#line 957 "parse.y"
861bb6c1
JL
4698{ yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
4699 break;}
73b0fce8 4700case 161:
e1467ff2 4701#line 959 "parse.y"
861bb6c1
JL
4702{ yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
4703 break;}
73b0fce8 4704case 162:
e1467ff2 4705#line 963 "parse.y"
73b0fce8
KL
4706{ processing_template_arg = 1; ;
4707 break;}
4708case 163:
e1467ff2 4709#line 965 "parse.y"
73b0fce8
KL
4710{ yyval.ttype = yyvsp[0].ttype;
4711 processing_template_arg = 0; ;
4712 break;}
4713case 164:
e1467ff2 4714#line 970 "parse.y"
861bb6c1
JL
4715{ yyval.ttype = groktypename (yyvsp[0].ftype.t); ;
4716 break;}
73b0fce8 4717case 166:
e1467ff2 4718#line 976 "parse.y"
861bb6c1
JL
4719{ yyval.code = NEGATE_EXPR; ;
4720 break;}
73b0fce8 4721case 167:
e1467ff2 4722#line 978 "parse.y"
861bb6c1
JL
4723{ yyval.code = CONVERT_EXPR; ;
4724 break;}
73b0fce8 4725case 168:
e1467ff2 4726#line 980 "parse.y"
861bb6c1
JL
4727{ yyval.code = PREINCREMENT_EXPR; ;
4728 break;}
73b0fce8 4729case 169:
e1467ff2 4730#line 982 "parse.y"
861bb6c1
JL
4731{ yyval.code = PREDECREMENT_EXPR; ;
4732 break;}
73b0fce8 4733case 170:
e1467ff2 4734#line 984 "parse.y"
861bb6c1
JL
4735{ yyval.code = TRUTH_NOT_EXPR; ;
4736 break;}
73b0fce8 4737case 171:
e1467ff2 4738#line 989 "parse.y"
861bb6c1
JL
4739{ yyval.ttype = build_x_compound_expr (yyval.ttype); ;
4740 break;}
73b0fce8 4741case 173:
e1467ff2 4742#line 995 "parse.y"
861bb6c1
JL
4743{ error ("ANSI C++ forbids an empty condition for `%s'",
4744 cond_stmt_keyword);
4745 yyval.ttype = integer_zero_node; ;
4746 break;}
73b0fce8 4747case 174:
e1467ff2 4748#line 999 "parse.y"
861bb6c1
JL
4749{ yyval.ttype = condition_conversion (yyvsp[-1].ttype); ;
4750 break;}
73b0fce8 4751case 175:
e1467ff2 4752#line 1004 "parse.y"
861bb6c1
JL
4753{ error ("ANSI C++ forbids an empty condition for `%s'",
4754 cond_stmt_keyword);
4755 yyval.ttype = integer_zero_node; ;
4756 break;}
73b0fce8 4757case 176:
e1467ff2 4758#line 1008 "parse.y"
861bb6c1
JL
4759{ yyval.ttype = condition_conversion (yyvsp[-1].ttype); ;
4760 break;}
73b0fce8 4761case 177:
e1467ff2 4762#line 1013 "parse.y"
861bb6c1
JL
4763{ yyval.ttype = NULL_TREE; ;
4764 break;}
73b0fce8 4765case 178:
e1467ff2 4766#line 1015 "parse.y"
861bb6c1
JL
4767{ yyval.ttype = condition_conversion (yyval.ttype); ;
4768 break;}
73b0fce8 4769case 179:
e1467ff2 4770#line 1017 "parse.y"
861bb6c1
JL
4771{ yyval.ttype = NULL_TREE; ;
4772 break;}
73b0fce8 4773case 180:
e1467ff2 4774#line 1022 "parse.y"
861bb6c1
JL
4775{ {
4776 tree d;
4777 for (d = getdecls (); d; d = TREE_CHAIN (d))
4778 if (TREE_CODE (d) == TYPE_DECL) {
4779 tree s = TREE_TYPE (d);
4780 if (TREE_CODE (s) == RECORD_TYPE)
4781 cp_error ("definition of class `%T' in condition", s);
4782 else if (TREE_CODE (s) == ENUMERAL_TYPE)
4783 cp_error ("definition of enum `%T' in condition", s);
4784 }
4785 }
4786 current_declspecs = yyvsp[-4].ftype.t;
4787 yyvsp[0].itype = suspend_momentary ();
4788 yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1);
4789 cplus_decl_attributes (yyval.ttype, yyvsp[-1].ttype,
4790 /*prefix_attributes*/ NULL_TREE);
4791 ;
4792 break;}
73b0fce8 4793case 181:
e1467ff2 4794#line 1040 "parse.y"
861bb6c1
JL
4795{
4796 cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-3].ttype, 1, LOOKUP_ONLYCONVERTING);
4797 resume_momentary (yyvsp[-2].itype);
4798 yyval.ttype = yyvsp[-1].ttype;
4799 if (TREE_CODE (TREE_TYPE (yyval.ttype)) == ARRAY_TYPE)
4800 cp_error ("definition of array `%#D' in condition", yyval.ttype);
4801 ;
4802 break;}
73b0fce8 4803case 187:
e1467ff2 4804#line 1059 "parse.y"
861bb6c1
JL
4805{
4806 if (processing_template_decl)
4807 {
4808 yyval.ttype = build_min_nt (COMPOUND_STMT, NULL_TREE);
4809 COMPOUND_STMT_NO_SCOPE (yyval.ttype) = 1;
4810 add_tree (yyval.ttype);
4811 }
4812 ;
4813 break;}
73b0fce8 4814case 188:
e1467ff2 4815#line 1068 "parse.y"
861bb6c1
JL
4816{
4817 if (processing_template_decl)
4818 {
4819 TREE_OPERAND (yyvsp[-1].ttype, 0) = TREE_CHAIN (yyvsp[-1].ttype);
4820 TREE_CHAIN (yyvsp[-1].ttype) = NULL_TREE;
4821 last_tree = yyvsp[-1].ttype;
4822 }
4823 finish_stmt ();
4824 ;
4825 break;}
73b0fce8 4826case 190:
e1467ff2 4827#line 1083 "parse.y"
1f479842
JM
4828{ yyval.ttype = expr_tree_cons (NULL_TREE, yyval.ttype,
4829 build_expr_list (NULL_TREE, yyvsp[0].ttype)); ;
861bb6c1 4830 break;}
73b0fce8 4831case 191:
e1467ff2 4832#line 1086 "parse.y"
1f479842
JM
4833{ yyval.ttype = expr_tree_cons (NULL_TREE, yyval.ttype,
4834 build_expr_list (NULL_TREE, error_mark_node)); ;
861bb6c1 4835 break;}
73b0fce8 4836case 192:
e1467ff2 4837#line 1089 "parse.y"
1f479842 4838{ chainon (yyval.ttype, build_expr_list (NULL_TREE, yyvsp[0].ttype)); ;
861bb6c1 4839 break;}
73b0fce8 4840case 193:
e1467ff2 4841#line 1091 "parse.y"
1f479842 4842{ chainon (yyval.ttype, build_expr_list (NULL_TREE, error_mark_node)); ;
861bb6c1 4843 break;}
73b0fce8 4844case 194:
e1467ff2 4845#line 1096 "parse.y"
1f479842 4846{ yyval.ttype = build_expr_list (NULL_TREE, yyval.ttype); ;
861bb6c1 4847 break;}
73b0fce8 4848case 196:
e1467ff2 4849#line 1102 "parse.y"
861bb6c1
JL
4850{ yyval.ttype = yyvsp[0].ttype; ;
4851 break;}
73b0fce8 4852case 197:
e1467ff2 4853#line 1105 "parse.y"
861bb6c1
JL
4854{ yyval.ttype = yyvsp[0].ttype;
4855 pedantic = yyvsp[-1].itype; ;
4856 break;}
73b0fce8 4857case 198:
e1467ff2 4858#line 1108 "parse.y"
861bb6c1
JL
4859{ yyval.ttype = build_x_indirect_ref (yyvsp[0].ttype, "unary *"); ;
4860 break;}
73b0fce8 4861case 199:
e1467ff2 4862#line 1110 "parse.y"
861bb6c1
JL
4863{ yyval.ttype = build_x_unary_op (ADDR_EXPR, yyvsp[0].ttype); ;
4864 break;}
73b0fce8 4865case 200:
e1467ff2 4866#line 1112 "parse.y"
861bb6c1
JL
4867{ yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, yyvsp[0].ttype); ;
4868 break;}
73b0fce8 4869case 201:
e1467ff2 4870#line 1114 "parse.y"
861bb6c1
JL
4871{ yyval.ttype = build_x_unary_op (yyvsp[-1].code, yyvsp[0].ttype);
4872 if (yyvsp[-1].code == NEGATE_EXPR && TREE_CODE (yyvsp[0].ttype) == INTEGER_CST)
4873 TREE_NEGATED_INT (yyval.ttype) = 1;
4874 overflow_warning (yyval.ttype);
4875 ;
4876 break;}
73b0fce8 4877case 202:
e1467ff2 4878#line 1121 "parse.y"
861bb6c1 4879{ tree label = lookup_label (yyvsp[0].ttype);
16540e1b
JM
4880 if (pedantic)
4881 pedwarn ("ANSI C++ forbids `&&'");
861bb6c1
JL
4882 if (label == NULL_TREE)
4883 yyval.ttype = null_pointer_node;
4884 else
4885 {
4886 TREE_USED (label) = 1;
4887 yyval.ttype = build1 (ADDR_EXPR, ptr_type_node, label);
4888 TREE_CONSTANT (yyval.ttype) = 1;
4889 }
4890 ;
4891 break;}
73b0fce8 4892case 203:
e1467ff2 4893#line 1134 "parse.y"
861bb6c1
JL
4894{ yyval.ttype = expr_sizeof (yyvsp[0].ttype); ;
4895 break;}
73b0fce8 4896case 204:
e1467ff2 4897#line 1136 "parse.y"
861bb6c1
JL
4898{ yyval.ttype = c_sizeof (groktypename (yyvsp[-1].ftype.t)); ;
4899 break;}
73b0fce8 4900case 205:
e1467ff2 4901#line 1138 "parse.y"
861bb6c1
JL
4902{ yyval.ttype = grok_alignof (yyvsp[0].ttype); ;
4903 break;}
73b0fce8 4904case 206:
e1467ff2 4905#line 1140 "parse.y"
861bb6c1
JL
4906{ yyval.ttype = c_alignof (groktypename (yyvsp[-1].ftype.t));
4907 check_for_new_type ("alignof", yyvsp[-1].ftype); ;
4908 break;}
73b0fce8 4909case 207:
e1467ff2 4910#line 1146 "parse.y"
861bb6c1
JL
4911{ yyval.ttype = build_new (NULL_TREE, yyvsp[0].ftype.t, NULL_TREE, yyvsp[-1].itype);
4912 check_for_new_type ("new", yyvsp[0].ftype); ;
4913 break;}
73b0fce8 4914case 208:
e1467ff2 4915#line 1149 "parse.y"
861bb6c1
JL
4916{ yyval.ttype = build_new (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype, yyvsp[-2].itype);
4917 check_for_new_type ("new", yyvsp[-1].ftype); ;
4918 break;}
73b0fce8 4919case 209:
e1467ff2 4920#line 1152 "parse.y"
861bb6c1
JL
4921{ yyval.ttype = build_new (yyvsp[-1].ttype, yyvsp[0].ftype.t, NULL_TREE, yyvsp[-2].itype);
4922 check_for_new_type ("new", yyvsp[0].ftype); ;
4923 break;}
73b0fce8 4924case 210:
e1467ff2 4925#line 1155 "parse.y"
861bb6c1
JL
4926{ yyval.ttype = build_new (yyvsp[-2].ttype, yyvsp[-1].ftype.t, yyvsp[0].ttype, yyvsp[-3].itype);
4927 check_for_new_type ("new", yyvsp[-1].ftype); ;
4928 break;}
73b0fce8 4929case 211:
e1467ff2 4930#line 1158 "parse.y"
861bb6c1
JL
4931{ yyval.ttype = build_new (NULL_TREE, groktypename(yyvsp[-1].ftype.t),
4932 NULL_TREE, yyvsp[-3].itype);
4933 check_for_new_type ("new", yyvsp[-1].ftype); ;
4934 break;}
73b0fce8 4935case 212:
e1467ff2 4936#line 1162 "parse.y"
861bb6c1
JL
4937{ yyval.ttype = build_new (NULL_TREE, groktypename(yyvsp[-2].ftype.t), yyvsp[0].ttype, yyvsp[-4].itype);
4938 check_for_new_type ("new", yyvsp[-2].ftype); ;
4939 break;}
73b0fce8 4940case 213:
e1467ff2 4941#line 1165 "parse.y"
861bb6c1
JL
4942{ yyval.ttype = build_new (yyvsp[-3].ttype, groktypename(yyvsp[-1].ftype.t), NULL_TREE, yyvsp[-4].itype);
4943 check_for_new_type ("new", yyvsp[-1].ftype); ;
4944 break;}
73b0fce8 4945case 214:
e1467ff2 4946#line 1168 "parse.y"
861bb6c1
JL
4947{ yyval.ttype = build_new (yyvsp[-4].ttype, groktypename(yyvsp[-2].ftype.t), yyvsp[0].ttype, yyvsp[-5].itype);
4948 check_for_new_type ("new", yyvsp[-2].ftype); ;
4949 break;}
73b0fce8 4950case 215:
e1467ff2 4951#line 1172 "parse.y"
861bb6c1
JL
4952{ yyval.ttype = delete_sanity (yyvsp[0].ttype, NULL_TREE, 0, yyvsp[-1].itype); ;
4953 break;}
73b0fce8 4954case 216:
e1467ff2 4955#line 1174 "parse.y"
861bb6c1
JL
4956{ yyval.ttype = delete_sanity (yyvsp[0].ttype, NULL_TREE, 1, yyvsp[-3].itype);
4957 if (yychar == YYEMPTY)
4958 yychar = YYLEX; ;
4959 break;}
73b0fce8 4960case 217:
e1467ff2 4961#line 1178 "parse.y"
861bb6c1
JL
4962{ yyval.ttype = delete_sanity (yyvsp[0].ttype, yyvsp[-2].ttype, 2, yyvsp[-4].itype);
4963 if (yychar == YYEMPTY)
4964 yychar = YYLEX; ;
4965 break;}
73b0fce8 4966case 218:
e1467ff2 4967#line 1182 "parse.y"
861bb6c1
JL
4968{ yyval.ttype = build_x_unary_op (REALPART_EXPR, yyvsp[0].ttype); ;
4969 break;}
73b0fce8 4970case 219:
e1467ff2 4971#line 1184 "parse.y"
861bb6c1
JL
4972{ yyval.ttype = build_x_unary_op (IMAGPART_EXPR, yyvsp[0].ttype); ;
4973 break;}
73b0fce8 4974case 220:
e1467ff2 4975#line 1189 "parse.y"
861bb6c1
JL
4976{ yyval.ttype = yyvsp[-1].ttype; ;
4977 break;}
73b0fce8 4978case 221:
e1467ff2 4979#line 1191 "parse.y"
861bb6c1
JL
4980{
4981 yyval.ttype = yyvsp[-1].ttype;
4982 pedwarn ("old style placement syntax, use () instead");
4983 ;
4984 break;}
73b0fce8 4985case 222:
e1467ff2 4986#line 1199 "parse.y"
861bb6c1
JL
4987{ yyval.ttype = yyvsp[-1].ttype; ;
4988 break;}
73b0fce8 4989case 223:
e1467ff2 4990#line 1201 "parse.y"
861bb6c1
JL
4991{ yyval.ttype = NULL_TREE; ;
4992 break;}
73b0fce8 4993case 224:
e1467ff2 4994#line 1203 "parse.y"
861bb6c1
JL
4995{
4996 cp_error ("`%T' is not a valid expression", yyvsp[-1].ftype.t);
4997 yyval.ttype = error_mark_node;
4998 ;
4999 break;}
73b0fce8 5000case 225:
e1467ff2 5001#line 1211 "parse.y"
861bb6c1
JL
5002{
5003 if (pedantic)
5004 pedwarn ("ANSI C++ forbids initialization of new expression with `='");
5005 yyval.ttype = yyvsp[0].ttype;
5006 ;
5007 break;}
73b0fce8 5008case 226:
e1467ff2 5009#line 1221 "parse.y"
861bb6c1
JL
5010{ yyvsp[-1].ftype.t = tree_cons (NULL_TREE, yyvsp[-1].ftype.t, void_list_node);
5011 TREE_PARMLIST (yyvsp[-1].ftype.t) = 1;
5012 yyval.ttype = make_call_declarator (NULL_TREE, yyvsp[-1].ftype.t, NULL_TREE, NULL_TREE);
5013 check_for_new_type ("cast", yyvsp[-1].ftype); ;
5014 break;}
73b0fce8 5015case 227:
e1467ff2 5016#line 1226 "parse.y"
861bb6c1
JL
5017{ yyvsp[-1].ftype.t = tree_cons (NULL_TREE, yyvsp[-1].ftype.t, void_list_node);
5018 TREE_PARMLIST (yyvsp[-1].ftype.t) = 1;
5019 yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-1].ftype.t, NULL_TREE, NULL_TREE);
5020 check_for_new_type ("cast", yyvsp[-1].ftype); ;
5021 break;}
73b0fce8 5022case 229:
e1467ff2 5023#line 1235 "parse.y"
861bb6c1
JL
5024{ yyval.ttype = reparse_absdcl_as_casts (yyval.ttype, yyvsp[0].ttype); ;
5025 break;}
73b0fce8 5026case 230:
e1467ff2 5027#line 1237 "parse.y"
861bb6c1
JL
5028{
5029 tree init = build_nt (CONSTRUCTOR, NULL_TREE,
5030 nreverse (yyvsp[-2].ttype));
5031 if (pedantic)
5032 pedwarn ("ANSI C++ forbids constructor-expressions");
5033 /* Indicate that this was a GNU C constructor expression. */
5034 TREE_HAS_CONSTRUCTOR (init) = 1;
5035
5036 yyval.ttype = reparse_absdcl_as_casts (yyval.ttype, init);
5037 ;
5038 break;}
73b0fce8 5039case 232:
e1467ff2 5040#line 1253 "parse.y"
a2676865 5041{ yyval.ttype = build_x_binary_op (MEMBER_REF, yyval.ttype, yyvsp[0].ttype); ;
861bb6c1 5042 break;}
73b0fce8 5043case 233:
e1467ff2 5044#line 1255 "parse.y"
a2676865 5045{ yyval.ttype = build_m_component_ref (yyval.ttype, yyvsp[0].ttype); ;
861bb6c1 5046 break;}
73b0fce8 5047case 234:
e1467ff2 5048#line 1257 "parse.y"
861bb6c1
JL
5049{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5050 break;}
73b0fce8 5051case 235:
e1467ff2 5052#line 1259 "parse.y"
861bb6c1
JL
5053{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5054 break;}
73b0fce8 5055case 236:
e1467ff2 5056#line 1261 "parse.y"
861bb6c1
JL
5057{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5058 break;}
73b0fce8 5059case 237:
e1467ff2 5060#line 1263 "parse.y"
861bb6c1
JL
5061{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5062 break;}
73b0fce8 5063case 238:
e1467ff2 5064#line 1265 "parse.y"
861bb6c1
JL
5065{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5066 break;}
73b0fce8 5067case 239:
e1467ff2 5068#line 1267 "parse.y"
861bb6c1
JL
5069{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5070 break;}
73b0fce8 5071case 240:
e1467ff2 5072#line 1269 "parse.y"
861bb6c1
JL
5073{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5074 break;}
73b0fce8 5075case 241:
e1467ff2 5076#line 1271 "parse.y"
a2676865 5077{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
861bb6c1 5078 break;}
73b0fce8 5079case 242:
e1467ff2 5080#line 1273 "parse.y"
a2676865 5081{ yyval.ttype = build_x_binary_op (LT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
861bb6c1 5082 break;}
73b0fce8 5083case 243:
e1467ff2 5084#line 1275 "parse.y"
a2676865 5085{ yyval.ttype = build_x_binary_op (GT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
861bb6c1 5086 break;}
73b0fce8 5087case 244:
e1467ff2 5088#line 1277 "parse.y"
861bb6c1
JL
5089{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5090 break;}
73b0fce8 5091case 245:
e1467ff2 5092#line 1279 "parse.y"
861bb6c1
JL
5093{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5094 break;}
73b0fce8 5095case 246:
e1467ff2 5096#line 1281 "parse.y"
861bb6c1
JL
5097{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5098 break;}
73b0fce8 5099case 247:
e1467ff2 5100#line 1283 "parse.y"
861bb6c1
JL
5101{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5102 break;}
73b0fce8 5103case 248:
e1467ff2 5104#line 1285 "parse.y"
a2676865 5105{ yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
861bb6c1 5106 break;}
73b0fce8 5107case 249:
e1467ff2 5108#line 1287 "parse.y"
a2676865 5109{ yyval.ttype = build_x_binary_op (TRUTH_ANDIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
861bb6c1 5110 break;}
73b0fce8 5111case 250:
e1467ff2 5112#line 1289 "parse.y"
a2676865 5113{ yyval.ttype = build_x_binary_op (TRUTH_ORIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
861bb6c1 5114 break;}
73b0fce8 5115case 251:
e1467ff2 5116#line 1291 "parse.y"
a2676865
JM
5117{ yyval.ttype = build_x_conditional_expr (yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
5118 break;}
73b0fce8 5119case 252:
e1467ff2 5120#line 1293 "parse.y"
861bb6c1
JL
5121{ yyval.ttype = build_x_modify_expr (yyval.ttype, NOP_EXPR, yyvsp[0].ttype);
5122 if (yyval.ttype != error_mark_node)
5123 C_SET_EXP_ORIGINAL_CODE (yyval.ttype, MODIFY_EXPR); ;
5124 break;}
73b0fce8 5125case 253:
e1467ff2 5126#line 1297 "parse.y"
a2676865 5127{ yyval.ttype = build_x_modify_expr (yyval.ttype, yyvsp[-1].code, yyvsp[0].ttype); ;
861bb6c1 5128 break;}
73b0fce8 5129case 254:
e1467ff2 5130#line 1299 "parse.y"
a2676865 5131{ yyval.ttype = build_throw (NULL_TREE); ;
861bb6c1 5132 break;}
73b0fce8 5133case 255:
e1467ff2 5134#line 1301 "parse.y"
a2676865
JM
5135{ yyval.ttype = build_throw (yyvsp[0].ttype); ;
5136 break;}
73b0fce8 5137case 256:
e1467ff2 5138#line 1319 "parse.y"
861bb6c1
JL
5139{ yyval.ttype = build_parse_node (BIT_NOT_EXPR, yyvsp[0].ttype); ;
5140 break;}
73b0fce8 5141case 262:
e1467ff2 5142#line 1328 "parse.y"
956d6950 5143{ yyval.ttype = do_identifier (yyvsp[-1].ttype, 1); ;
386b8a85 5144 break;}
73b0fce8 5145case 263:
e1467ff2 5146#line 1332 "parse.y"
956d6950 5147{ yyval.ttype = lookup_template_function (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
386b8a85 5148 break;}
73b0fce8 5149case 264:
e1467ff2 5150#line 1334 "parse.y"
956d6950 5151{ yyval.ttype = lookup_template_function (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
861bb6c1 5152 break;}
73b0fce8 5153case 265:
e1467ff2 5154#line 1339 "parse.y"
956d6950 5155{ yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
386b8a85 5156 break;}
73b0fce8 5157case 266:
e1467ff2 5158#line 1341 "parse.y"
956d6950 5159{ yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
386b8a85 5160 break;}
73b0fce8 5161case 267:
e1467ff2 5162#line 1344 "parse.y"
956d6950 5163{ yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
386b8a85 5164 break;}
73b0fce8 5165case 272:
e1467ff2 5166#line 1356 "parse.y"
956d6950 5167{ yyval.ttype = build_parse_node (INDIRECT_REF, yyvsp[0].ttype); ;
386b8a85 5168 break;}
73b0fce8 5169case 273:
e1467ff2 5170#line 1358 "parse.y"
956d6950 5171{ yyval.ttype = build_parse_node (ADDR_EXPR, yyvsp[0].ttype); ;
861bb6c1 5172 break;}
73b0fce8 5173case 274:
e1467ff2 5174#line 1360 "parse.y"
956d6950 5175{ yyval.ttype = yyvsp[-1].ttype; ;
386b8a85 5176 break;}
73b0fce8 5177case 275:
e1467ff2 5178#line 1365 "parse.y"
386b8a85
JM
5179{ yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5180 break;}
73b0fce8 5181case 276:
e1467ff2 5182#line 1367 "parse.y"
956d6950 5183{ yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
861bb6c1 5184 break;}
73b0fce8 5185case 280:
e1467ff2 5186#line 1375 "parse.y"
956d6950
JL
5187{ yyval.ttype = finish_decl_parsing (yyvsp[-1].ttype); ;
5188 break;}
73b0fce8 5189case 281:
e1467ff2 5190#line 1380 "parse.y"
861bb6c1
JL
5191{
5192 if (TREE_CODE (yyval.ttype) == BIT_NOT_EXPR)
5193 yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, TREE_OPERAND (yyval.ttype, 0));
386b8a85 5194 else if (TREE_CODE (yyval.ttype) != TEMPLATE_ID_EXPR)
a703fb38
KG
5195 {
5196 if (processing_template_arg)
5197 {
5198 tree id;
5199 arg_looking_for_template = processing_template_arg;
5200 id = lookup_name (yyval.ttype, 0);
5201 arg_looking_for_template = 0;
73b0fce8 5202
a703fb38
KG
5203 if (!id || id == error_mark_node
5204 || (TREE_CODE (id) != TEMPLATE_DECL
5205 && TREE_CODE (id) != TEMPLATE_TEMPLATE_PARM))
5206 id = do_identifier (yyval.ttype, 1);
5207 yyval.ttype = id;
5208 }
5209 else
5210 yyval.ttype = do_identifier (yyval.ttype, 1);
5211 }
861bb6c1
JL
5212 ;
5213 break;}
73b0fce8 5214case 284:
e1467ff2 5215#line 1403 "parse.y"
861bb6c1
JL
5216{
5217 if (processing_template_decl)
5218 push_obstacks (&permanent_obstack, &permanent_obstack);
5219 yyval.ttype = combine_strings (yyval.ttype);
5220 if (processing_template_decl)
5221 pop_obstacks ();
5222 ;
5223 break;}
73b0fce8 5224case 285:
e1467ff2 5225#line 1411 "parse.y"
861bb6c1
JL
5226{ char class;
5227 yyval.ttype = yyvsp[-1].ttype;
5228 class = TREE_CODE_CLASS (TREE_CODE (yyval.ttype));
5229 if (class == 'e' || class == '1'
5230 || class == '2' || class == '<')
5231 /* This inhibits warnings in truthvalue_conversion. */
5232 C_SET_EXP_ORIGINAL_CODE (yyval.ttype, ERROR_MARK); ;
5233 break;}
73b0fce8 5234case 286:
e1467ff2 5235#line 1419 "parse.y"
861bb6c1
JL
5236{ char class;
5237 yyval.ttype = reparse_decl_as_expr (NULL_TREE, yyvsp[-1].ttype);
5238 class = TREE_CODE_CLASS (TREE_CODE (yyval.ttype));
5239 if (class == 'e' || class == '1'
5240 || class == '2' || class == '<')
5241 /* This inhibits warnings in truthvalue_conversion. */
5242 C_SET_EXP_ORIGINAL_CODE (yyval.ttype, ERROR_MARK); ;
5243 break;}
73b0fce8 5244case 287:
e1467ff2 5245#line 1427 "parse.y"
861bb6c1
JL
5246{ yyval.ttype = error_mark_node; ;
5247 break;}
73b0fce8 5248case 288:
e1467ff2 5249#line 1429 "parse.y"
861bb6c1
JL
5250{ if (current_function_decl == 0)
5251 {
5252 error ("braced-group within expression allowed only inside a function");
5253 YYERROR;
5254 }
5255 keep_next_level ();
5256 yyval.ttype = expand_start_stmt_expr (); ;
5257 break;}
73b0fce8 5258case 289:
e1467ff2 5259#line 1437 "parse.y"
861bb6c1
JL
5260{ tree rtl_exp;
5261 if (pedantic)
5262 pedwarn ("ANSI C++ forbids braced-groups within expressions");
5263 rtl_exp = expand_end_stmt_expr (yyvsp[-2].ttype);
5264 /* The statements have side effects, so the group does. */
5265 TREE_SIDE_EFFECTS (rtl_exp) = 1;
5266
5267 if (TREE_CODE (yyvsp[-1].ttype) == BLOCK)
5268 {
5269 /* Make a BIND_EXPR for the BLOCK already made. */
5270 yyval.ttype = build (BIND_EXPR, TREE_TYPE (rtl_exp),
5271 NULL_TREE, rtl_exp, yyvsp[-1].ttype);
5272 /* Remove the block from the tree at this point.
5273 It gets put back at the proper place
5274 when the BIND_EXPR is expanded. */
5275 delete_block (yyvsp[-1].ttype);
5276 }
5277 else
5278 yyval.ttype = yyvsp[-1].ttype;
5279 ;
5280 break;}
73b0fce8 5281case 290:
e1467ff2 5282#line 1458 "parse.y"
861bb6c1
JL
5283{
5284 yyval.ttype = build_x_function_call (yyvsp[-3].ttype, yyvsp[-1].ttype, current_class_ref);
5285 if (TREE_CODE (yyval.ttype) == CALL_EXPR
5286 && TREE_TYPE (yyval.ttype) != void_type_node)
5287 yyval.ttype = require_complete_type (yyval.ttype);
5288 ;
5289 break;}
73b0fce8 5290case 291:
e1467ff2 5291#line 1465 "parse.y"
861bb6c1
JL
5292{
5293 yyval.ttype = build_x_function_call (yyval.ttype, NULL_TREE, current_class_ref);
5294 if (TREE_CODE (yyval.ttype) == CALL_EXPR
5295 && TREE_TYPE (yyval.ttype) != void_type_node)
5296 yyval.ttype = require_complete_type (yyval.ttype);
5297 ;
5298 break;}
73b0fce8 5299case 292:
e1467ff2 5300#line 1472 "parse.y"
861bb6c1
JL
5301{ yyval.ttype = grok_array_decl (yyval.ttype, yyvsp[-1].ttype); ;
5302 break;}
73b0fce8 5303case 293:
e1467ff2 5304#line 1474 "parse.y"
861bb6c1
JL
5305{ /* If we get an OFFSET_REF, turn it into what it really
5306 means (e.g., a COMPONENT_REF). This way if we've got,
5307 say, a reference to a static member that's being operated
5308 on, we don't end up trying to find a member operator for
5309 the class it's in. */
5310 if (TREE_CODE (yyval.ttype) == OFFSET_REF)
5311 yyval.ttype = resolve_offset_ref (yyval.ttype);
5312 yyval.ttype = build_x_unary_op (POSTINCREMENT_EXPR, yyval.ttype); ;
5313 break;}
73b0fce8 5314case 294:
e1467ff2 5315#line 1483 "parse.y"
861bb6c1
JL
5316{ if (TREE_CODE (yyval.ttype) == OFFSET_REF)
5317 yyval.ttype = resolve_offset_ref (yyval.ttype);
5318 yyval.ttype = build_x_unary_op (POSTDECREMENT_EXPR, yyval.ttype); ;
5319 break;}
73b0fce8 5320case 295:
e1467ff2 5321#line 1488 "parse.y"
861bb6c1
JL
5322{ if (current_class_ptr)
5323 {
5324#ifdef WARNING_ABOUT_CCD
5325 TREE_USED (current_class_ptr) = 1;
5326#endif
5327 yyval.ttype = current_class_ptr;
5328 }
5329 else if (current_function_decl
5330 && DECL_STATIC_FUNCTION_P (current_function_decl))
5331 {
5332 error ("`this' is unavailable for static member functions");
5333 yyval.ttype = error_mark_node;
5334 }
5335 else
5336 {
5337 if (current_function_decl)
5338 error ("invalid use of `this' in non-member function");
5339 else
5340 error ("invalid use of `this' at top level");
5341 yyval.ttype = error_mark_node;
5342 }
5343 ;
5344 break;}
73b0fce8 5345case 296:
e1467ff2 5346#line 1511 "parse.y"
861bb6c1 5347{
a703fb38 5348 tree type = NULL_TREE;
861bb6c1
JL
5349 tree id = yyval.ttype;
5350
5351 /* This is a C cast in C++'s `functional' notation. */
5352 if (yyvsp[-1].ttype == error_mark_node)
5353 {
5354 yyval.ttype = error_mark_node;
5355 break;
5356 }
5357#if 0
5358 if (yyvsp[-1].ttype == NULL_TREE)
5359 {
5360 error ("cannot cast null list to type `%s'",
5361 IDENTIFIER_POINTER (TYPE_NAME (id)));
5362 yyval.ttype = error_mark_node;
5363 break;
5364 }
5365#endif
5366#if 0
5367 /* type is not set! (mrs) */
5368 if (type == error_mark_node)
5369 yyval.ttype = error_mark_node;
5370 else
5371#endif
5372 {
5373 if (id == ridpointers[(int) RID_CONST])
5374 type = build_type_variant (integer_type_node, 1, 0);
5375 else if (id == ridpointers[(int) RID_VOLATILE])
5376 type = build_type_variant (integer_type_node, 0, 1);
5377#if 0
5378 /* should not be able to get here (mrs) */
5379 else if (id == ridpointers[(int) RID_FRIEND])
5380 {
5381 error ("cannot cast expression to `friend' type");
5382 yyval.ttype = error_mark_node;
5383 break;
5384 }
5385#endif
5386 else my_friendly_abort (79);
5387 yyval.ttype = build_c_cast (type, build_compound_expr (yyvsp[-1].ttype));
5388 }
5389 ;
5390 break;}
73b0fce8 5391case 298:
e1467ff2 5392#line 1556 "parse.y"
861bb6c1
JL
5393{ tree type = groktypename (yyvsp[-4].ftype.t);
5394 check_for_new_type ("dynamic_cast", yyvsp[-4].ftype);
5395 yyval.ttype = build_dynamic_cast (type, yyvsp[-1].ttype); ;
5396 break;}
73b0fce8 5397case 299:
e1467ff2 5398#line 1560 "parse.y"
861bb6c1
JL
5399{ tree type = groktypename (yyvsp[-4].ftype.t);
5400 check_for_new_type ("static_cast", yyvsp[-4].ftype);
5401 yyval.ttype = build_static_cast (type, yyvsp[-1].ttype); ;
5402 break;}
73b0fce8 5403case 300:
e1467ff2 5404#line 1564 "parse.y"
861bb6c1
JL
5405{ tree type = groktypename (yyvsp[-4].ftype.t);
5406 check_for_new_type ("reinterpret_cast", yyvsp[-4].ftype);
5407 yyval.ttype = build_reinterpret_cast (type, yyvsp[-1].ttype); ;
5408 break;}
73b0fce8 5409case 301:
e1467ff2 5410#line 1568 "parse.y"
861bb6c1
JL
5411{ tree type = groktypename (yyvsp[-4].ftype.t);
5412 check_for_new_type ("const_cast", yyvsp[-4].ftype);
5413 yyval.ttype = build_const_cast (type, yyvsp[-1].ttype); ;
5414 break;}
73b0fce8 5415case 302:
e1467ff2 5416#line 1572 "parse.y"
861bb6c1
JL
5417{ yyval.ttype = build_x_typeid (yyvsp[-1].ttype); ;
5418 break;}
73b0fce8 5419case 303:
e1467ff2 5420#line 1574 "parse.y"
861bb6c1
JL
5421{ tree type = groktypename (yyvsp[-1].ftype.t);
5422 check_for_new_type ("typeid", yyvsp[-1].ftype);
5423 yyval.ttype = get_typeid (TYPE_MAIN_VARIANT (type)); ;
5424 break;}
73b0fce8 5425case 304:
e1467ff2 5426#line 1578 "parse.y"
861bb6c1
JL
5427{ yyval.ttype = do_scoped_id (yyvsp[0].ttype, 1); ;
5428 break;}
73b0fce8 5429case 305:
e1467ff2 5430#line 1580 "parse.y"
861bb6c1
JL
5431{
5432 got_scope = NULL_TREE;
5433 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
5434 yyval.ttype = do_scoped_id (yyvsp[0].ttype, 1);
5435 else
5436 yyval.ttype = yyvsp[0].ttype;
5437 ;
5438 break;}
73b0fce8 5439case 306:
e1467ff2 5440#line 1588 "parse.y"
861bb6c1
JL
5441{ yyval.ttype = build_offset_ref (OP0 (yyval.ttype), OP1 (yyval.ttype)); ;
5442 break;}
73b0fce8 5443case 307:
e1467ff2 5444#line 1590 "parse.y"
861bb6c1
JL
5445{ if (processing_template_decl)
5446 yyval.ttype = build_min_nt (CALL_EXPR, copy_to_permanent (yyvsp[-3].ttype), yyvsp[-1].ttype, NULL_TREE);
5447 else
5448 yyval.ttype = build_member_call (OP0 (yyval.ttype), OP1 (yyval.ttype), yyvsp[-1].ttype); ;
5449 break;}
73b0fce8 5450case 308:
e1467ff2 5451#line 1595 "parse.y"
861bb6c1
JL
5452{ if (processing_template_decl)
5453 yyval.ttype = build_min_nt (CALL_EXPR, copy_to_permanent (yyvsp[-1].ttype),
5454 NULL_TREE, NULL_TREE);
5455 else
5456 yyval.ttype = build_member_call (OP0 (yyval.ttype), OP1 (yyval.ttype), NULL_TREE); ;
5457 break;}
73b0fce8 5458case 309:
e1467ff2 5459#line 1601 "parse.y"
386b8a85
JM
5460{
5461 yyval.ttype = build_x_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1);
5462 ;
5463 break;}
73b0fce8 5464case 310:
e1467ff2 5465#line 1605 "parse.y"
386b8a85
JM
5466{
5467 yyval.ttype = build_method_call (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype,
5468 NULL_TREE, LOOKUP_NORMAL);
5469 ;
5470 break;}
73b0fce8 5471case 311:
e1467ff2 5472#line 1610 "parse.y"
386b8a85
JM
5473{
5474 yyval.ttype = build_method_call (yyvsp[-2].ttype, yyvsp[-1].ttype, NULL_TREE,
5475 NULL_TREE, LOOKUP_NORMAL);
5476 ;
5477 break;}
73b0fce8 5478case 312:
e1467ff2 5479#line 1615 "parse.y"
861bb6c1
JL
5480{ yyval.ttype = build_x_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1); ;
5481 break;}
73b0fce8 5482case 313:
e1467ff2 5483#line 1617 "parse.y"
861bb6c1
JL
5484{ if (processing_template_decl)
5485 yyval.ttype = build_min_nt (COMPONENT_REF, yyvsp[-1].ttype, copy_to_permanent (yyvsp[0].ttype));
5486 else
5487 yyval.ttype = build_object_ref (yyval.ttype, OP0 (yyvsp[0].ttype), OP1 (yyvsp[0].ttype)); ;
5488 break;}
73b0fce8 5489case 314:
e1467ff2 5490#line 1622 "parse.y"
861bb6c1
JL
5491{
5492#if 0
5493 /* This is a future direction of this code, but because
5494 build_x_function_call cannot always undo what is done
5495 in build_component_ref entirely yet, we cannot do this. */
5496 yyval.ttype = build_x_function_call (build_component_ref (yyval.ttype, yyvsp[-3].ttype, NULL_TREE, 1), yyvsp[-1].ttype, current_class_ref);
5497 if (TREE_CODE (yyval.ttype) == CALL_EXPR
5498 && TREE_TYPE (yyval.ttype) != void_type_node)
5499 yyval.ttype = require_complete_type (yyval.ttype);
5500#else
5501 yyval.ttype = build_method_call (yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE,
5502 LOOKUP_NORMAL);
5503#endif
5504 ;
5505 break;}
73b0fce8 5506case 315:
e1467ff2 5507#line 1637 "parse.y"
861bb6c1
JL
5508{
5509#if 0
5510 /* This is a future direction of this code, but because
5511 build_x_function_call cannot always undo what is done
5512 in build_component_ref entirely yet, we cannot do this. */
5513 yyval.ttype = build_x_function_call (build_component_ref (yyval.ttype, yyvsp[-1].ttype, NULL_TREE, 1), NULL_TREE, current_class_ref);
5514 if (TREE_CODE (yyval.ttype) == CALL_EXPR
5515 && TREE_TYPE (yyval.ttype) != void_type_node)
5516 yyval.ttype = require_complete_type (yyval.ttype);
5517#else
5518 yyval.ttype = build_method_call (yyval.ttype, yyvsp[-1].ttype, NULL_TREE, NULL_TREE,
5519 LOOKUP_NORMAL);
5520#endif
5521 ;
5522 break;}
73b0fce8 5523case 316:
e1467ff2 5524#line 1652 "parse.y"
861bb6c1
JL
5525{
5526 if (IS_SIGNATURE (OP0 (yyvsp[-3].ttype)))
5527 {
5528 warning ("signature name in scope resolution ignored");
5529 yyval.ttype = build_method_call (yyval.ttype, OP1 (yyvsp[-3].ttype), yyvsp[-1].ttype, NULL_TREE,
5530 LOOKUP_NORMAL);
5531 }
5532 else
5533 yyval.ttype = build_scoped_method_call (yyval.ttype, OP0 (yyvsp[-3].ttype), OP1 (yyvsp[-3].ttype), yyvsp[-1].ttype);
5534 ;
5535 break;}
73b0fce8 5536case 317:
e1467ff2 5537#line 1663 "parse.y"
861bb6c1
JL
5538{
5539 if (IS_SIGNATURE (OP0 (yyvsp[-1].ttype)))
5540 {
5541 warning ("signature name in scope resolution ignored");
5542 yyval.ttype = build_method_call (yyval.ttype, OP1 (yyvsp[-1].ttype), NULL_TREE, NULL_TREE,
5543 LOOKUP_NORMAL);
5544 }
5545 else
5546 yyval.ttype = build_scoped_method_call (yyval.ttype, OP0 (yyvsp[-1].ttype), OP1 (yyvsp[-1].ttype), NULL_TREE);
5547 ;
5548 break;}
73b0fce8 5549case 318:
e1467ff2 5550#line 1675 "parse.y"
861bb6c1
JL
5551{
5552 if (IDENTIFIER_GLOBAL_VALUE (yyvsp[-1].ttype)
5553 && (TREE_CODE (TREE_TYPE (yyvsp[-3].ttype))
5554 != TREE_CODE (TREE_TYPE (IDENTIFIER_GLOBAL_VALUE (yyvsp[-1].ttype)))))
5555 cp_error ("`%E' is not of type `%T'", yyvsp[-3].ttype, yyvsp[-1].ttype);
5556 yyval.ttype = cp_convert (void_type_node, yyvsp[-3].ttype);
5557 ;
5558 break;}
73b0fce8 5559case 319:
e1467ff2 5560#line 1683 "parse.y"
861bb6c1
JL
5561{
5562 if (yyvsp[-4].ttype != yyvsp[-1].ttype)
5563 cp_error ("destructor specifier `%T::~%T()' must have matching names", yyvsp[-4].ttype, yyvsp[-1].ttype);
5564 if (TREE_CODE (TREE_TYPE (yyvsp[-5].ttype))
5565 != TREE_CODE (TREE_TYPE (IDENTIFIER_GLOBAL_VALUE (yyvsp[-4].ttype))))
5566 cp_error ("`%E' is not of type `%T'", yyvsp[-5].ttype, yyvsp[-4].ttype);
5567 yyval.ttype = cp_convert (void_type_node, yyvsp[-5].ttype);
5568 ;
5569 break;}
73b0fce8 5570case 320:
e1467ff2 5571#line 1692 "parse.y"
861bb6c1
JL
5572{
5573 yyval.ttype = error_mark_node;
5574 ;
5575 break;}
73b0fce8 5576case 321:
e1467ff2 5577#line 1737 "parse.y"
861bb6c1
JL
5578{ yyval.itype = 0; ;
5579 break;}
73b0fce8 5580case 322:
e1467ff2 5581#line 1739 "parse.y"
861bb6c1
JL
5582{ got_scope = NULL_TREE; yyval.itype = 1; ;
5583 break;}
73b0fce8 5584case 323:
e1467ff2 5585#line 1744 "parse.y"
861bb6c1
JL
5586{ yyval.itype = 0; ;
5587 break;}
73b0fce8 5588case 324:
e1467ff2 5589#line 1746 "parse.y"
861bb6c1
JL
5590{ got_scope = NULL_TREE; yyval.itype = 1; ;
5591 break;}
73b0fce8 5592case 325:
e1467ff2 5593#line 1751 "parse.y"
861bb6c1
JL
5594{ yyval.ttype = boolean_true_node; ;
5595 break;}
73b0fce8 5596case 326:
e1467ff2 5597#line 1753 "parse.y"
861bb6c1
JL
5598{ yyval.ttype = boolean_false_node; ;
5599 break;}
73b0fce8 5600case 328:
e1467ff2 5601#line 1760 "parse.y"
861bb6c1
JL
5602{ yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
5603 break;}
73b0fce8 5604case 329:
e1467ff2 5605#line 1765 "parse.y"
861bb6c1
JL
5606{
5607 if (! current_function_parms_stored)
5608 store_parm_decls ();
5609 setup_vtbl_ptr ();
5610 /* Always keep the BLOCK node associated with the outermost
5611 pair of curley braces of a function. These are needed
5612 for correct operation of dwarfout.c. */
5613 keep_next_level ();
5614 ;
5615 break;}
73b0fce8 5616case 330:
e1467ff2 5617#line 1778 "parse.y"
861bb6c1
JL
5618{ got_object = TREE_TYPE (yyval.ttype); ;
5619 break;}
73b0fce8 5620case 331:
e1467ff2 5621#line 1780 "parse.y"
861bb6c1
JL
5622{
5623 yyval.ttype = build_x_arrow (yyval.ttype);
5624 got_object = TREE_TYPE (yyval.ttype);
5625 ;
5626 break;}
73b0fce8 5627case 332:
e1467ff2 5628#line 1788 "parse.y"
861bb6c1
JL
5629{
5630 resume_momentary (yyvsp[-1].itype);
5631 if (yyvsp[-2].ftype.t && IS_AGGR_TYPE_CODE (TREE_CODE (yyvsp[-2].ftype.t)))
5632 note_got_semicolon (yyvsp[-2].ftype.t);
5633 ;
5634 break;}
73b0fce8 5635case 333:
e1467ff2 5636#line 1794 "parse.y"
861bb6c1
JL
5637{
5638 resume_momentary (yyvsp[-1].itype);
5639 note_list_got_semicolon (yyvsp[-2].ftype.t);
5640 ;
5641 break;}
73b0fce8 5642case 334:
e1467ff2 5643#line 1799 "parse.y"
861bb6c1
JL
5644{ resume_momentary (yyvsp[-1].itype); ;
5645 break;}
73b0fce8 5646case 335:
e1467ff2 5647#line 1801 "parse.y"
861bb6c1
JL
5648{
5649 shadow_tag (yyvsp[-1].ftype.t);
5650 note_list_got_semicolon (yyvsp[-1].ftype.t);
5651 ;
5652 break;}
73b0fce8 5653case 336:
e1467ff2 5654#line 1806 "parse.y"
861bb6c1
JL
5655{ warning ("empty declaration"); ;
5656 break;}
73b0fce8 5657case 337:
e1467ff2 5658#line 1808 "parse.y"
861bb6c1
JL
5659{ pedantic = yyvsp[-1].itype; ;
5660 break;}
73b0fce8 5661case 340:
e1467ff2 5662#line 1822 "parse.y"
861bb6c1
JL
5663{ yyval.ttype = make_call_declarator (NULL_TREE, empty_parms (),
5664 NULL_TREE, NULL_TREE); ;
5665 break;}
73b0fce8 5666case 341:
e1467ff2 5667#line 1825 "parse.y"
861bb6c1
JL
5668{ yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), NULL_TREE,
5669 NULL_TREE); ;
5670 break;}
73b0fce8 5671case 342:
e1467ff2 5672#line 1832 "parse.y"
861bb6c1
JL
5673{ yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
5674 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5675 break;}
73b0fce8 5676case 343:
e1467ff2 5677#line 1835 "parse.y"
861bb6c1
JL
5678{ yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
5679 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5680 break;}
73b0fce8 5681case 344:
e1467ff2 5682#line 1838 "parse.y"
861bb6c1
JL
5683{ yyval.ftype.t = build_decl_list (get_decl_list (yyvsp[-1].ftype.t), yyvsp[0].ttype);
5684 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5685 break;}
73b0fce8 5686case 345:
e1467ff2 5687#line 1841 "parse.y"
861bb6c1
JL
5688{ yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE);
5689 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5690 break;}
73b0fce8 5691case 346:
e1467ff2 5692#line 1844 "parse.y"
861bb6c1
JL
5693{ yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE);
5694 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5695 break;}
73b0fce8 5696case 349:
e1467ff2 5697#line 1860 "parse.y"
861bb6c1
JL
5698{ yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ttype);
5699 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5700 break;}
73b0fce8 5701case 350:
e1467ff2 5702#line 1863 "parse.y"
861bb6c1
JL
5703{ yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype);
5704 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5705 break;}
73b0fce8 5706case 351:
e1467ff2 5707#line 1866 "parse.y"
861bb6c1
JL
5708{ yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-2].ftype.t, chainon (yyvsp[-1].ttype, yyvsp[0].ttype));
5709 yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ;
5710 break;}
73b0fce8 5711case 352:
e1467ff2 5712#line 1869 "parse.y"
861bb6c1
JL
5713{ yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ttype));
5714 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5715 break;}
73b0fce8 5716case 353:
e1467ff2 5717#line 1872 "parse.y"
861bb6c1
JL
5718{ yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ttype));
5719 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5720 break;}
73b0fce8 5721case 354:
e1467ff2 5722#line 1875 "parse.y"
861bb6c1
JL
5723{ yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-2].ftype.t,
5724 chainon (yyvsp[-1].ttype, chainon (yyvsp[0].ttype, yyvsp[-3].ttype)));
5725 yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ;
5726 break;}
73b0fce8 5727case 355:
e1467ff2 5728#line 1882 "parse.y"
861bb6c1
JL
5729{ if (extra_warnings)
5730 warning ("`%s' is not at beginning of declaration",
5731 IDENTIFIER_POINTER (yyval.ttype));
5732 yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
5733 break;}
73b0fce8 5734case 356:
e1467ff2 5735#line 1887 "parse.y"
861bb6c1
JL
5736{ yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyval.ttype); ;
5737 break;}
73b0fce8 5738case 357:
e1467ff2 5739#line 1889 "parse.y"
861bb6c1
JL
5740{ if (extra_warnings)
5741 warning ("`%s' is not at beginning of declaration",
5742 IDENTIFIER_POINTER (yyvsp[0].ttype));
5743 yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
5744 break;}
73b0fce8 5745case 358:
e1467ff2 5746#line 1894 "parse.y"
861bb6c1
JL
5747{ yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
5748 break;}
73b0fce8 5749case 359:
e1467ff2 5750#line 1896 "parse.y"
861bb6c1
JL
5751{ yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ;
5752 break;}
73b0fce8 5753case 360:
e1467ff2 5754#line 1906 "parse.y"
861bb6c1
JL
5755{ yyval.ttype = yyvsp[0].ftype.t; TREE_STATIC (yyval.ttype) = 1; ;
5756 break;}
73b0fce8 5757case 361:
e1467ff2 5758#line 1908 "parse.y"
861bb6c1
JL
5759{ yyval.ttype = IDENTIFIER_AS_LIST (yyval.ttype); ;
5760 break;}
73b0fce8 5761case 362:
e1467ff2 5762#line 1910 "parse.y"
861bb6c1
JL
5763{ yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype);
5764 TREE_STATIC (yyval.ttype) = 1; ;
5765 break;}
73b0fce8 5766case 363:
e1467ff2 5767#line 1913 "parse.y"
861bb6c1
JL
5768{ if (extra_warnings && TREE_STATIC (yyval.ttype))
5769 warning ("`%s' is not at beginning of declaration",
5770 IDENTIFIER_POINTER (yyvsp[0].ttype));
5771 yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype);
5772 TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
5773 break;}
73b0fce8 5774case 364:
e1467ff2 5775#line 1919 "parse.y"
861bb6c1
JL
5776{ yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
5777 break;}
73b0fce8 5778case 365:
e1467ff2 5779#line 1921 "parse.y"
861bb6c1
JL
5780{ yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ;
5781 break;}
73b0fce8 5782case 366:
e1467ff2 5783#line 1932 "parse.y"
861bb6c1
JL
5784{ yyval.ftype.t = get_decl_list (yyvsp[0].ftype.t);
5785 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5786 break;}
73b0fce8 5787case 367:
e1467ff2 5788#line 1935 "parse.y"
861bb6c1
JL
5789{ yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ftype.t);
5790 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5791 break;}
73b0fce8 5792case 368:
e1467ff2 5793#line 1938 "parse.y"
861bb6c1
JL
5794{ yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype);
5795 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5796 break;}
73b0fce8 5797case 369:
e1467ff2 5798#line 1941 "parse.y"
861bb6c1
JL
5799{ yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ftype.t));
5800 yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ;
5801 break;}
73b0fce8 5802case 370:
e1467ff2 5803#line 1947 "parse.y"
861bb6c1
JL
5804{ yyval.ttype = build_decl_list (NULL_TREE, yyvsp[0].ftype.t); ;
5805 break;}
73b0fce8 5806case 371:
e1467ff2 5807#line 1949 "parse.y"
861bb6c1
JL
5808{ yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ttype); ;
5809 break;}
73b0fce8 5810case 373:
e1467ff2 5811#line 1959 "parse.y"
a2676865
JM
5812{ yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5813 break;}
73b0fce8 5814case 374:
e1467ff2 5815#line 1961 "parse.y"
956d6950
JL
5816{ yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5817 break;}
73b0fce8 5818case 375:
e1467ff2 5819#line 1963 "parse.y"
861bb6c1
JL
5820{ yyval.ftype.t = TREE_TYPE (yyvsp[-1].ttype);
5821 yyval.ftype.new_type_flag = 0; ;
5822 break;}
73b0fce8 5823case 376:
e1467ff2 5824#line 1966 "parse.y"
861bb6c1
JL
5825{ yyval.ftype.t = groktypename (yyvsp[-1].ftype.t);
5826 yyval.ftype.new_type_flag = 0; ;
5827 break;}
73b0fce8 5828case 377:
e1467ff2 5829#line 1969 "parse.y"
861bb6c1
JL
5830{ tree type = TREE_TYPE (yyvsp[-1].ttype);
5831
5832 yyval.ftype.new_type_flag = 0;
5833 if (IS_AGGR_TYPE (type))
5834 {
5835 sorry ("sigof type specifier");
5836 yyval.ftype.t = type;
5837 }
5838 else
5839 {
5840 error ("`sigof' applied to non-aggregate expression");
5841 yyval.ftype.t = error_mark_node;
5842 }
5843 ;
5844 break;}
73b0fce8 5845case 378:
e1467ff2 5846#line 1984 "parse.y"
861bb6c1
JL
5847{ tree type = groktypename (yyvsp[-1].ftype.t);
5848
5849 yyval.ftype.new_type_flag = 0;
5850 if (IS_AGGR_TYPE (type))
5851 {
5852 sorry ("sigof type specifier");
5853 yyval.ftype.t = type;
5854 }
5855 else
5856 {
5857 error("`sigof' applied to non-aggregate type");
5858 yyval.ftype.t = error_mark_node;
5859 }
5860 ;
5861 break;}
73b0fce8 5862case 379:
e1467ff2 5863#line 2004 "parse.y"
861bb6c1
JL
5864{ yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5865 break;}
73b0fce8 5866case 380:
e1467ff2 5867#line 2006 "parse.y"
861bb6c1
JL
5868{ yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5869 break;}
73b0fce8 5870case 388:
e1467ff2 5871#line 2027 "parse.y"
861bb6c1
JL
5872{ yyval.ttype = NULL_TREE; ;
5873 break;}
73b0fce8 5874case 389:
e1467ff2 5875#line 2029 "parse.y"
861bb6c1
JL
5876{ if (TREE_CHAIN (yyvsp[-1].ttype)) yyvsp[-1].ttype = combine_strings (yyvsp[-1].ttype); yyval.ttype = yyvsp[-1].ttype; ;
5877 break;}
73b0fce8 5878case 390:
e1467ff2 5879#line 2034 "parse.y"
861bb6c1
JL
5880{ split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
5881 &prefix_attributes);
5882 if (current_declspecs
5883 && TREE_CODE (current_declspecs) != TREE_LIST)
5884 current_declspecs = get_decl_list (current_declspecs);
5885 if (have_extern_spec && !used_extern_spec)
5886 {
5887 current_declspecs = decl_tree_cons
5888 (NULL_TREE, get_identifier ("extern"),
5889 current_declspecs);
5890 used_extern_spec = 1;
5891 }
5892 yyvsp[0].itype = suspend_momentary ();
5893 yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1);
5894 cplus_decl_attributes (yyval.ttype, yyvsp[-1].ttype, prefix_attributes); ;
5895 break;}
73b0fce8 5896case 391:
e1467ff2 5897#line 2051 "parse.y"
861bb6c1
JL
5898{ cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 1, LOOKUP_ONLYCONVERTING);
5899 yyval.itype = yyvsp[-2].itype; ;
5900 break;}
73b0fce8 5901case 392:
e1467ff2 5902#line 2054 "parse.y"
861bb6c1
JL
5903{ tree d;
5904 split_specs_attrs (yyvsp[-3].ttype, &current_declspecs,
5905 &prefix_attributes);
5906 if (current_declspecs
5907 && TREE_CODE (current_declspecs) != TREE_LIST)
5908 current_declspecs = get_decl_list (current_declspecs);
5909 if (have_extern_spec && !used_extern_spec)
5910 {
5911 current_declspecs = decl_tree_cons
5912 (NULL_TREE, get_identifier ("extern"),
5913 current_declspecs);
5914 used_extern_spec = 1;
5915 }
5916 yyval.itype = suspend_momentary ();
5917 d = start_decl (yyvsp[-2].ttype, current_declspecs, 0);
5918 cplus_decl_attributes (d, yyvsp[0].ttype, prefix_attributes);
5919 cp_finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 1, 0); ;
5920 break;}
73b0fce8 5921case 393:
e1467ff2 5922#line 2075 "parse.y"
861bb6c1
JL
5923{ yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1);
5924 cplus_decl_attributes (yyval.ttype, yyvsp[-1].ttype, prefix_attributes); ;
5925 break;}
73b0fce8 5926case 394:
e1467ff2 5927#line 2079 "parse.y"
861bb6c1
JL
5928{ cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 1, LOOKUP_ONLYCONVERTING); ;
5929 break;}
73b0fce8 5930case 395:
e1467ff2 5931#line 2081 "parse.y"
861bb6c1
JL
5932{ yyval.ttype = start_decl (yyvsp[-2].ttype, current_declspecs, 0);
5933 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes);
5934 cp_finish_decl (yyval.ttype, NULL_TREE, yyvsp[-1].ttype, 1, 0); ;
5935 break;}
73b0fce8 5936case 396:
e1467ff2 5937#line 2088 "parse.y"
861bb6c1
JL
5938{ split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
5939 &prefix_attributes);
5940 yyvsp[0].itype = suspend_momentary ();
5941 yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1);
5942 cplus_decl_attributes (yyval.ttype, yyvsp[-1].ttype, prefix_attributes); ;
5943 break;}
73b0fce8 5944case 397:
e1467ff2 5945#line 2095 "parse.y"
861bb6c1
JL
5946{ cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 1, LOOKUP_ONLYCONVERTING);
5947 yyval.itype = yyvsp[-2].itype; ;
5948 break;}
73b0fce8 5949case 398:
e1467ff2 5950#line 2098 "parse.y"
861bb6c1
JL
5951{ tree d;
5952 split_specs_attrs (yyvsp[-3].ttype, &current_declspecs,
5953 &prefix_attributes);
5954 yyval.itype = suspend_momentary ();
5955 d = start_decl (yyvsp[-2].ttype, current_declspecs, 0);
5956 cplus_decl_attributes (d, yyvsp[0].ttype, prefix_attributes);
5957 cp_finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 1, 0); ;
5958 break;}
73b0fce8 5959case 399:
e1467ff2 5960#line 2109 "parse.y"
861bb6c1
JL
5961{ current_declspecs = NULL_TREE;
5962 prefix_attributes = NULL_TREE;
5963 yyvsp[0].itype = suspend_momentary ();
5964 yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1);
5965 cplus_decl_attributes (yyval.ttype, yyvsp[-1].ttype, prefix_attributes); ;
5966 break;}
73b0fce8 5967case 400:
e1467ff2 5968#line 2116 "parse.y"
861bb6c1
JL
5969{ cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 1, LOOKUP_ONLYCONVERTING);
5970 yyval.itype = yyvsp[-2].itype; ;
5971 break;}
73b0fce8 5972case 401:
e1467ff2 5973#line 2119 "parse.y"
861bb6c1
JL
5974{ tree d;
5975 current_declspecs = NULL_TREE;
5976 prefix_attributes = NULL_TREE;
5977 yyval.itype = suspend_momentary ();
5978 d = start_decl (yyvsp[-2].ttype, current_declspecs, 0);
5979 cplus_decl_attributes (d, yyvsp[0].ttype, prefix_attributes);
5980 cp_finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 1, 0); ;
5981 break;}
73b0fce8 5982case 402:
e1467ff2 5983#line 2132 "parse.y"
956d6950 5984{ yyval.ttype = NULL_TREE; ;
861bb6c1 5985 break;}
73b0fce8 5986case 403:
e1467ff2 5987#line 2134 "parse.y"
a2676865 5988{ yyval.ttype = yyvsp[0].ttype; ;
861bb6c1 5989 break;}
73b0fce8 5990case 404:
e1467ff2 5991#line 2139 "parse.y"
956d6950 5992{ yyval.ttype = yyvsp[0].ttype; ;
861bb6c1 5993 break;}
73b0fce8 5994case 405:
e1467ff2 5995#line 2141 "parse.y"
956d6950 5996{ yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ;
861bb6c1 5997 break;}
73b0fce8 5998case 406:
e1467ff2 5999#line 2146 "parse.y"
956d6950 6000{ yyval.ttype = yyvsp[-2].ttype; ;
861bb6c1 6001 break;}
73b0fce8 6002case 407:
e1467ff2 6003#line 2151 "parse.y"
956d6950 6004{ yyval.ttype = yyvsp[0].ttype; ;
861bb6c1 6005 break;}
73b0fce8 6006case 408:
e1467ff2 6007#line 2153 "parse.y"
956d6950 6008{ yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
861bb6c1 6009 break;}
73b0fce8 6010case 409:
e1467ff2 6011#line 2158 "parse.y"
956d6950 6012{ yyval.ttype = NULL_TREE; ;
861bb6c1 6013 break;}
73b0fce8 6014case 410:
e1467ff2 6015#line 2160 "parse.y"
956d6950 6016{ yyval.ttype = build_tree_list (yyvsp[0].ttype, NULL_TREE); ;
861bb6c1 6017 break;}
73b0fce8 6018case 411:
e1467ff2 6019#line 2162 "parse.y"
956d6950 6020{ yyval.ttype = build_tree_list (yyvsp[-3].ttype, build_tree_list (NULL_TREE, yyvsp[-1].ttype)); ;
a2676865 6021 break;}
73b0fce8 6022case 412:
e1467ff2 6023#line 2164 "parse.y"
956d6950
JL
6024{ yyval.ttype = build_tree_list (yyvsp[-5].ttype, tree_cons (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype)); ;
6025 break;}
73b0fce8 6026case 413:
e1467ff2 6027#line 2166 "parse.y"
861bb6c1
JL
6028{ yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
6029 break;}
73b0fce8 6030case 418:
e1467ff2 6031#line 2182 "parse.y"
861bb6c1
JL
6032{ yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
6033 break;}
73b0fce8 6034case 419:
e1467ff2 6035#line 2184 "parse.y"
861bb6c1
JL
6036{ yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
6037 break;}
73b0fce8 6038case 420:
e1467ff2 6039#line 2189 "parse.y"
861bb6c1
JL
6040{ yyval.ttype = NULL_TREE; ;
6041 break;}
73b0fce8 6042case 421:
e1467ff2 6043#line 2191 "parse.y"
861bb6c1
JL
6044{ yyval.ttype = yyvsp[0].ttype; ;
6045 break;}
73b0fce8 6046case 423:
e1467ff2 6047#line 2199 "parse.y"
861bb6c1
JL
6048{ yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, NULL_TREE);
6049 TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
6050 break;}
73b0fce8 6051case 424:
e1467ff2 6052#line 2202 "parse.y"
861bb6c1
JL
6053{ yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-1].ttype));
6054 TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
6055 break;}
73b0fce8 6056case 425:
e1467ff2 6057#line 2205 "parse.y"
861bb6c1
JL
6058{ yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-2].ttype));
6059 TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
6060 break;}
73b0fce8 6061case 426:
e1467ff2 6062#line 2208 "parse.y"
861bb6c1
JL
6063{ yyval.ttype = NULL_TREE; ;
6064 break;}
73b0fce8 6065case 427:
e1467ff2 6066#line 2215 "parse.y"
861bb6c1
JL
6067{ yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
6068 break;}
73b0fce8 6069case 428:
e1467ff2 6070#line 2217 "parse.y"
1f479842 6071{ yyval.ttype = expr_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
861bb6c1 6072 break;}
73b0fce8 6073case 429:
e1467ff2 6074#line 2220 "parse.y"
1f479842 6075{ yyval.ttype = build_expr_list (yyvsp[-2].ttype, yyvsp[0].ttype); ;
861bb6c1 6076 break;}
73b0fce8 6077case 430:
e1467ff2 6078#line 2222 "parse.y"
1f479842 6079{ yyval.ttype = expr_tree_cons (yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype); ;
861bb6c1 6080 break;}
73b0fce8 6081case 431:
e1467ff2 6082#line 2224 "parse.y"
1f479842 6083{ yyval.ttype = build_expr_list (yyval.ttype, yyvsp[0].ttype); ;
861bb6c1 6084 break;}
73b0fce8 6085case 432:
e1467ff2 6086#line 2226 "parse.y"
1f479842 6087{ yyval.ttype = expr_tree_cons (yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype); ;
861bb6c1 6088 break;}
73b0fce8 6089case 433:
e1467ff2 6090#line 2231 "parse.y"
861bb6c1
JL
6091{ start_function (NULL_TREE, TREE_VALUE (yyvsp[0].ttype),
6092 NULL_TREE, 1);
6093 reinit_parse_for_function (); ;
6094 break;}
73b0fce8 6095case 434:
e1467ff2 6096#line 2237 "parse.y"
861bb6c1
JL
6097{
6098 int nested = (hack_decl_function_context
6099 (current_function_decl) != NULL_TREE);
6100 finish_function (lineno, (int)yyvsp[-1].itype, nested);
6101 process_next_inline (yyvsp[-3].ttype);
6102 ;
6103 break;}
73b0fce8 6104case 435:
e1467ff2 6105#line 2244 "parse.y"
861bb6c1
JL
6106{ process_next_inline (yyvsp[-2].ttype); ;
6107 break;}
73b0fce8 6108case 436:
e1467ff2 6109#line 2246 "parse.y"
861bb6c1
JL
6110{ process_next_inline (yyvsp[-2].ttype); ;
6111 break;}
73b0fce8 6112case 439:
e1467ff2 6113#line 2258 "parse.y"
861bb6c1
JL
6114{ replace_defarg (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
6115 break;}
73b0fce8 6116case 440:
e1467ff2 6117#line 2260 "parse.y"
861bb6c1
JL
6118{ replace_defarg (yyvsp[-2].ttype, error_mark_node); ;
6119 break;}
73b0fce8 6120case 442:
e1467ff2 6121#line 2265 "parse.y"
a2676865
JM
6122{ do_pending_defargs (); ;
6123 break;}
73b0fce8 6124case 443:
e1467ff2 6125#line 2267 "parse.y"
956d6950
JL
6126{ do_pending_defargs (); ;
6127 break;}
73b0fce8 6128case 444:
e1467ff2 6129#line 2272 "parse.y"
861bb6c1
JL
6130{ yyvsp[0].itype = suspend_momentary ();
6131 yyval.ttype = start_enum (yyvsp[-1].ttype); ;
6132 break;}
73b0fce8 6133case 445:
e1467ff2 6134#line 2275 "parse.y"
861bb6c1
JL
6135{ yyval.ftype.t = finish_enum (yyvsp[-3].ttype, yyvsp[-2].ttype);
6136 yyval.ftype.new_type_flag = 1;
6137 resume_momentary ((int) yyvsp[-4].itype);
6138 check_for_missing_semicolon (yyvsp[-3].ttype); ;
6139 break;}
73b0fce8 6140case 446:
e1467ff2 6141#line 2280 "parse.y"
861bb6c1
JL
6142{ yyval.ftype.t = finish_enum (start_enum (yyvsp[-2].ttype), NULL_TREE);
6143 yyval.ftype.new_type_flag = 1;
6144 check_for_missing_semicolon (yyval.ftype.t); ;
6145 break;}
73b0fce8 6146case 447:
e1467ff2 6147#line 2284 "parse.y"
861bb6c1
JL
6148{ yyvsp[0].itype = suspend_momentary ();
6149 yyval.ttype = start_enum (make_anon_name ()); ;
6150 break;}
73b0fce8 6151case 448:
e1467ff2 6152#line 2287 "parse.y"
861bb6c1
JL
6153{ yyval.ftype.t = finish_enum (yyvsp[-3].ttype, yyvsp[-2].ttype);
6154 resume_momentary ((int) yyvsp[-5].itype);
6155 check_for_missing_semicolon (yyvsp[-3].ttype);
6156 yyval.ftype.new_type_flag = 1; ;
6157 break;}
73b0fce8 6158case 449:
e1467ff2 6159#line 2292 "parse.y"
861bb6c1
JL
6160{ yyval.ftype.t = finish_enum (start_enum (make_anon_name()), NULL_TREE);
6161 yyval.ftype.new_type_flag = 1;
6162 check_for_missing_semicolon (yyval.ftype.t); ;
6163 break;}
73b0fce8 6164case 450:
e1467ff2 6165#line 2296 "parse.y"
861bb6c1
JL
6166{ yyval.ftype.t = xref_tag (enum_type_node, yyvsp[0].ttype, NULL_TREE, 1);
6167 yyval.ftype.new_type_flag = 0; ;
6168 break;}
73b0fce8 6169case 451:
e1467ff2 6170#line 2299 "parse.y"
a2676865 6171{ yyval.ftype.t = xref_tag (enum_type_node, yyvsp[0].ttype, NULL_TREE, 1);
861bb6c1
JL
6172 yyval.ftype.new_type_flag = 0; ;
6173 break;}
73b0fce8 6174case 452:
e1467ff2 6175#line 2302 "parse.y"
faf199a6 6176{ yyval.ftype.t = yyvsp[0].ttype;
861bb6c1
JL
6177 yyval.ftype.new_type_flag = 0; ;
6178 break;}
73b0fce8 6179case 453:
e1467ff2 6180#line 2307 "parse.y"
861bb6c1
JL
6181{
6182 int semi;
861bb6c1 6183
6a88a0c0 6184 yyval.ttype = yyvsp[-4].ttype;
861bb6c1
JL
6185#if 0
6186 /* Need to rework class nesting in the
6187 presence of nested classes, etc. */
6a88a0c0 6188 shadow_tag (CLASSTYPE_AS_LIST (yyvsp[-4].ttype)); */
861bb6c1
JL
6189#endif
6190 if (yychar == YYEMPTY)
6191 yychar = YYLEX;
6192 semi = yychar == ';';
6193 /* finish_struct nukes this anyway; if
6194 finish_exception does too, then it can go. */
6195 if (semi)
6a88a0c0 6196 note_got_semicolon (yyvsp[-4].ttype);
861bb6c1 6197
6a88a0c0 6198 if (TREE_CODE (yyvsp[-4].ttype) == ENUMERAL_TYPE)
861bb6c1
JL
6199 ;
6200 else
6201 {
6a88a0c0 6202 yyval.ttype = finish_struct (yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[0].ttype, semi);
861bb6c1
JL
6203 if (semi) note_got_semicolon (yyval.ttype);
6204 }
6205
6206 pop_obstacks ();
6207
6208 if (! semi)
6a88a0c0 6209 check_for_missing_semicolon (yyvsp[-4].ttype);
861bb6c1 6210 if (current_scope () == current_function_decl)
8eeda2ec 6211 do_pending_defargs ();
861bb6c1
JL
6212 ;
6213 break;}
73b0fce8 6214case 454:
e1467ff2 6215#line 2341 "parse.y"
861bb6c1
JL
6216{
6217 if (pending_inlines
6218 && current_scope () == current_function_decl)
6219 do_pending_inlines ();
6220 ;
6221 break;}
73b0fce8 6222case 455:
e1467ff2 6223#line 2347 "parse.y"
861bb6c1
JL
6224{
6225 yyval.ftype.t = yyvsp[-3].ttype;
6226 yyval.ftype.new_type_flag = 1;
8eeda2ec 6227 if (current_class_type == NULL_TREE)
861bb6c1 6228 clear_inline_text_obstack ();
6a88a0c0
JM
6229
6230 /* Undo the begin_tree in left_curly. */
6231 end_tree ();
861bb6c1
JL
6232 ;
6233 break;}
73b0fce8 6234case 456:
e1467ff2 6235#line 2357 "parse.y"
861bb6c1 6236{
861bb6c1 6237 yyval.ftype.new_type_flag = 0;
abff8e06
JM
6238 if (TYPE_BINFO (yyvsp[0].ttype) == NULL_TREE)
6239 {
6240 cp_error ("%T is not a class type", yyvsp[0].ttype);
6241 yyval.ftype.t = error_mark_node;
6242 }
6243 else
6244 {
6245 yyval.ftype.t = yyvsp[0].ttype;
6246 /* struct B: public A; is not accepted by the WP grammar. */
6247 if (TYPE_BINFO_BASETYPES (yyval.ftype.t) && !TYPE_SIZE (yyval.ftype.t)
6248 && ! TYPE_BEING_DEFINED (yyval.ftype.t))
6249 cp_error ("base clause without member specification for `%#T'",
6250 yyval.ftype.t);
6251 }
861bb6c1
JL
6252 ;
6253 break;}
73b0fce8 6254case 460:
abff8e06 6255#line 2384 "parse.y"
861bb6c1
JL
6256{ if (pedantic && !in_system_header)
6257 pedwarn ("comma at end of enumerator list"); ;
6258 break;}
73b0fce8 6259case 462:
abff8e06 6260#line 2391 "parse.y"
956d6950 6261{ error ("storage class specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
861bb6c1 6262 break;}
73b0fce8 6263case 463:
abff8e06 6264#line 2393 "parse.y"
956d6950 6265{ error ("type specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
861bb6c1 6266 break;}
73b0fce8 6267case 464:
abff8e06 6268#line 2395 "parse.y"
956d6950 6269{ error ("type qualifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
861bb6c1 6270 break;}
73b0fce8 6271case 465:
abff8e06 6272#line 2397 "parse.y"
956d6950 6273{ error ("no body nor ';' separates two class, struct or union declarations"); ;
861bb6c1 6274 break;}
73b0fce8 6275case 466:
abff8e06 6276#line 2402 "parse.y"
a2676865
JM
6277{ current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
6278 break;}
73b0fce8 6279case 467:
abff8e06 6280#line 2407 "parse.y"
956d6950
JL
6281{ current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
6282 break;}
73b0fce8 6283case 468:
abff8e06 6284#line 2412 "parse.y"
861bb6c1
JL
6285{
6286 current_aggr = yyvsp[-2].ttype;
8eeda2ec 6287 yyval.ttype = handle_class_head (yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
861bb6c1
JL
6288 ;
6289 break;}
73b0fce8 6290case 469:
abff8e06 6291#line 2417 "parse.y"
8eeda2ec
JM
6292{
6293 current_aggr = yyvsp[-3].ttype;
6294 yyval.ttype = handle_class_head (yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
6295 ;
861bb6c1 6296 break;}
73b0fce8 6297case 470:
abff8e06 6298#line 2422 "parse.y"
8eeda2ec
JM
6299{
6300 current_aggr = yyvsp[-2].ttype;
6301 yyval.ttype = handle_class_head (yyvsp[-2].ttype, NULL_TREE, yyvsp[0].ttype);
6302 ;
861bb6c1 6303 break;}
73b0fce8 6304case 471:
abff8e06 6305#line 2427 "parse.y"
a2676865 6306{ current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
8eeda2ec 6307 break;}
73b0fce8 6308case 472:
abff8e06 6309#line 2429 "parse.y"
956d6950 6310{ current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
8eeda2ec 6311 break;}
73b0fce8 6312case 473:
abff8e06 6313#line 2434 "parse.y"
956d6950 6314{ yyval.ttype = xref_tag (current_aggr, yyvsp[0].ttype, NULL_TREE, 0); ;
a2676865 6315 break;}
73b0fce8 6316case 474:
abff8e06 6317#line 2439 "parse.y"
956d6950
JL
6318{ yyval.ttype = xref_tag (current_aggr, yyvsp[0].ttype, NULL_TREE, 1); ;
6319 break;}
73b0fce8 6320case 475:
abff8e06 6321#line 2442 "parse.y"
861bb6c1
JL
6322{
6323 yyval.ttype = yyvsp[-1].ttype;
6324 if (yyvsp[0].ttype)
6325 xref_basetypes (current_aggr, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
6326 ;
6327 break;}
73b0fce8 6328case 476:
abff8e06 6329#line 2448 "parse.y"
861bb6c1
JL
6330{
6331 yyval.ttype = TREE_TYPE (yyvsp[-1].ttype);
6332 if (TREE_INT_CST_LOW (current_aggr) == union_type
6333 && TREE_CODE (yyval.ttype) != UNION_TYPE)
6334 cp_pedwarn ("`union' tag used in declaring `%#T'", yyval.ttype);
6335 else if (TREE_CODE (yyval.ttype) == UNION_TYPE
6336 && TREE_INT_CST_LOW (current_aggr) != union_type)
6337 cp_pedwarn ("non-`union' tag used in declaring `%#T'", yyval.ttype);
6338 if (yyvsp[0].ttype)
6339 {
6340 if (IS_AGGR_TYPE (yyval.ttype) && CLASSTYPE_USE_TEMPLATE (yyval.ttype))
6341 {
6342 if (CLASSTYPE_IMPLICIT_INSTANTIATION (yyval.ttype)
6343 && TYPE_SIZE (yyval.ttype) == NULL_TREE)
6344 {
6345 SET_CLASSTYPE_TEMPLATE_SPECIALIZATION (yyval.ttype);
6346 if (processing_template_decl)
6347 push_template_decl (TYPE_MAIN_DECL (yyval.ttype));
6348 }
6349 else if (CLASSTYPE_TEMPLATE_INSTANTIATION (yyval.ttype))
6350 cp_error ("specialization after instantiation of `%T'", yyval.ttype);
6351 }
6352 xref_basetypes (current_aggr, yyvsp[-1].ttype, yyval.ttype, yyvsp[0].ttype);
6353 }
6354 ;
6355 break;}
73b0fce8 6356case 477:
abff8e06 6357#line 2477 "parse.y"
861bb6c1
JL
6358{ yyval.ttype = xref_tag (yyval.ttype, make_anon_name (), NULL_TREE, 0);
6359 yyungetc ('{', 1); ;
6360 break;}
73b0fce8 6361case 480:
abff8e06 6362#line 2488 "parse.y"
861bb6c1
JL
6363{ yyval.ttype = NULL_TREE; ;
6364 break;}
73b0fce8 6365case 481:
abff8e06 6366#line 2490 "parse.y"
861bb6c1
JL
6367{ yyungetc(':', 1); yyval.ttype = NULL_TREE; ;
6368 break;}
73b0fce8 6369case 482:
abff8e06 6370#line 2492 "parse.y"
861bb6c1
JL
6371{ yyval.ttype = yyvsp[0].ttype; ;
6372 break;}
73b0fce8 6373case 484:
abff8e06 6374#line 2498 "parse.y"
861bb6c1
JL
6375{ yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
6376 break;}
73b0fce8 6377case 485:
abff8e06 6378#line 2503 "parse.y"
861bb6c1
JL
6379{
6380 tree type = TREE_TYPE (yyvsp[0].ttype);
6381 if (! is_aggr_type (type, 1))
6382 yyval.ttype = NULL_TREE;
6383 else if (current_aggr == signature_type_node
6384 && (! type) && (! IS_SIGNATURE (type)))
6385 {
6386 error ("class name not allowed as base signature");
6387 yyval.ttype = NULL_TREE;
6388 }
6389 else if (current_aggr == signature_type_node)
6390 {
6391 sorry ("signature inheritance, base type `%s' ignored",
6392 IDENTIFIER_POINTER (yyval.ttype));
6393 yyval.ttype = build_tree_list (access_public_node, type);
6394 }
6395 else if (type && IS_SIGNATURE (type))
6396 {
6397 error ("signature name not allowed as base class");
6398 yyval.ttype = NULL_TREE;
6399 }
6400 else
6401 yyval.ttype = build_tree_list (access_default_node, type);
6402 ;
6403 break;}
73b0fce8 6404case 486:
abff8e06 6405#line 2528 "parse.y"
861bb6c1
JL
6406{
6407 tree type = TREE_TYPE (yyvsp[0].ttype);
6408 if (current_aggr == signature_type_node)
6409 error ("access and source specifiers not allowed in signature");
6410 if (! IS_AGGR_TYPE (type))
6411 yyval.ttype = NULL_TREE;
6412 else if (current_aggr == signature_type_node
6413 && (! type) && (! IS_SIGNATURE (type)))
6414 {
6415 error ("class name not allowed as base signature");
6416 yyval.ttype = NULL_TREE;
6417 }
6418 else if (current_aggr == signature_type_node)
6419 {
6420 sorry ("signature inheritance, base type `%s' ignored",
6421 IDENTIFIER_POINTER (yyval.ttype));
6422 yyval.ttype = build_tree_list (access_public_node, type);
6423 }
6424 else if (type && IS_SIGNATURE (type))
6425 {
6426 error ("signature name not allowed as base class");
6427 yyval.ttype = NULL_TREE;
6428 }
6429 else
6430 yyval.ttype = build_tree_list (yyval.ttype, type);
6431 ;
6432 break;}
73b0fce8 6433case 487:
abff8e06 6434#line 2558 "parse.y"
faf199a6 6435{ yyval.ttype = TYPE_MAIN_DECL (yyvsp[0].ttype); ;
a2676865 6436 break;}
73b0fce8 6437case 489:
abff8e06 6438#line 2561 "parse.y"
861bb6c1
JL
6439{
6440 if (current_aggr == signature_type_node)
6441 {
6442 if (IS_AGGR_TYPE (TREE_TYPE (yyvsp[-1].ttype)))
6443 {
6444 sorry ("`sigof' as base signature specifier");
6445 yyval.ttype = TREE_TYPE (yyvsp[-1].ttype);
6446 }
6447 else
6448 {
6449 error ("`sigof' applied to non-aggregate expression");
6450 yyval.ttype = error_mark_node;
6451 }
6452 }
6453 else
6454 {
6455 error ("`sigof' in struct or class declaration");
6456 yyval.ttype = error_mark_node;
6457 }
6458 ;
6459 break;}
73b0fce8 6460case 490:
abff8e06 6461#line 2582 "parse.y"
861bb6c1
JL
6462{
6463 if (current_aggr == signature_type_node)
6464 {
6465 if (IS_AGGR_TYPE (groktypename (yyvsp[-1].ftype.t)))
6466 {
6467 sorry ("`sigof' as base signature specifier");
6468 yyval.ttype = groktypename (yyvsp[-1].ftype.t);
6469 }
6470 else
6471 {
6472 error ("`sigof' applied to non-aggregate expression");
6473 yyval.ttype = error_mark_node;
6474 }
6475 }
6476 else
6477 {
6478 error ("`sigof' in struct or class declaration");
6479 yyval.ttype = error_mark_node;
6480 }
6481 ;
6482 break;}
73b0fce8 6483case 492:
abff8e06 6484#line 2607 "parse.y"
861bb6c1
JL
6485{ if (yyval.ttype != ridpointers[(int)RID_VIRTUAL])
6486 sorry ("non-virtual access");
6487 yyval.ttype = access_default_virtual_node; ;
6488 break;}
73b0fce8 6489case 493:
abff8e06 6490#line 2611 "parse.y"
861bb6c1
JL
6491{ int err = 0;
6492 if (yyvsp[-1].ttype == access_protected_node)
6493 {
6494 warning ("`protected' access not implemented");
6495 yyvsp[-1].ttype = access_public_node;
6496 err++;
6497 }
6498 else if (yyvsp[-1].ttype == access_public_node)
6499 {
6500 if (yyvsp[-2].ttype == access_private_node)
6501 {
6502 mixed:
6503 error ("base class cannot be public and private");
6504 }
6505 else if (yyvsp[-2].ttype == access_default_virtual_node)
6506 yyval.ttype = access_public_virtual_node;
6507 }
6508 else /* $2 == access_private_node */
6509 {
6510 if (yyvsp[-2].ttype == access_public_node)
6511 goto mixed;
6512 else if (yyvsp[-2].ttype == access_default_virtual_node)
6513 yyval.ttype = access_private_virtual_node;
6514 }
6515 ;
6516 break;}
73b0fce8 6517case 494:
abff8e06 6518#line 2637 "parse.y"
861bb6c1
JL
6519{ if (yyvsp[-1].ttype != ridpointers[(int)RID_VIRTUAL])
6520 sorry ("non-virtual access");
6521 if (yyval.ttype == access_public_node)
6522 yyval.ttype = access_public_virtual_node;
6523 else if (yyval.ttype == access_private_node)
6524 yyval.ttype = access_private_virtual_node; ;
6525 break;}
73b0fce8 6526case 495:
abff8e06 6527#line 2647 "parse.y"
861bb6c1
JL
6528{ tree t = yyvsp[-1].ttype;
6529 push_obstacks_nochange ();
6530 end_temporary_allocation ();
6531
6532 if (t == error_mark_node
6533 || ! IS_AGGR_TYPE (t))
6534 {
6535 t = yyvsp[-1].ttype = make_lang_type (RECORD_TYPE);
6536 pushtag (make_anon_name (), t, 0);
6537 }
6538 if (TYPE_SIZE (t))
6539 duplicate_tag_error (t);
6540 if (TYPE_SIZE (t) || TYPE_BEING_DEFINED (t))
6541 {
6542 t = make_lang_type (TREE_CODE (t));
6543 pushtag (TYPE_IDENTIFIER (yyvsp[-1].ttype), t, 0);
6544 yyvsp[-1].ttype = t;
6545 }
6546 if (processing_template_decl && TYPE_CONTEXT (t)
6547 && ! current_class_type)
6548 push_template_decl (TYPE_STUB_DECL (t));
6549 pushclass (t, 0);
6550 TYPE_BEING_DEFINED (t) = 1;
6551 if (IS_AGGR_TYPE (t) && CLASSTYPE_USE_TEMPLATE (t))
6552 {
6553 if (CLASSTYPE_IMPLICIT_INSTANTIATION (t)
6554 && TYPE_SIZE (t) == NULL_TREE)
6555 {
6556 SET_CLASSTYPE_TEMPLATE_SPECIALIZATION (t);
6557 if (processing_template_decl)
6558 push_template_decl (TYPE_MAIN_DECL (t));
6559 }
6560 else if (CLASSTYPE_TEMPLATE_INSTANTIATION (t))
6561 cp_error ("specialization after instantiation of `%T'", t);
6562 }
6563 /* Reset the interface data, at the earliest possible
6564 moment, as it might have been set via a class foo;
6565 before. */
6566 /* Don't change signatures. */
6567 if (! IS_SIGNATURE (t))
6568 {
6569 extern tree pending_vtables;
6570 int needs_writing;
6571 tree name = TYPE_IDENTIFIER (t);
6572
6573 if (! ANON_AGGRNAME_P (name))
6574 {
6575 CLASSTYPE_INTERFACE_ONLY (t) = interface_only;
6576 SET_CLASSTYPE_INTERFACE_UNKNOWN_X
6577 (t, interface_unknown);
6578 }
6579
6580 /* Record how to set the access of this class's
6581 virtual functions. If write_virtuals == 2 or 3, then
6582 inline virtuals are ``extern inline''. */
6583 switch (write_virtuals)
6584 {
6585 case 0:
6586 case 1:
6587 needs_writing = 1;
6588 break;
6589 case 2:
6590 needs_writing = !! value_member (name, pending_vtables);
6591 break;
6592 case 3:
6593 needs_writing = ! CLASSTYPE_INTERFACE_ONLY (t)
6594 && CLASSTYPE_INTERFACE_KNOWN (t);
6595 break;
6596 default:
6597 needs_writing = 0;
6598 }
6599 CLASSTYPE_VTABLE_NEEDS_WRITING (t) = needs_writing;
6600 }
6601#if 0
6602 t = TYPE_IDENTIFIER (yyvsp[-1].ttype);
6603 if (t && IDENTIFIER_TEMPLATE (t))
6604 overload_template_name (t, 1);
6605#endif
6a88a0c0
JM
6606 reset_specialization();
6607
6608 /* In case this is a local class within a template
6609 function, we save the current tree structure so
6610 that we can get it back later. */
6611 begin_tree ();
861bb6c1
JL
6612 ;
6613 break;}
73b0fce8 6614case 496:
abff8e06 6615#line 2736 "parse.y"
861bb6c1
JL
6616{
6617 yyval.ttype = build_self_reference ();
6618 ;
6619 break;}
73b0fce8 6620case 497:
abff8e06 6621#line 2743 "parse.y"
861bb6c1
JL
6622{ if (yyval.ttype) yyval.ttype = build_tree_list (access_public_node, yyval.ttype); ;
6623 break;}
73b0fce8 6624case 498:
abff8e06 6625#line 2745 "parse.y"
861bb6c1
JL
6626{
6627 if (current_aggr == signature_type_node)
6628 yyval.ttype = build_tree_list (access_public_node, yyvsp[0].ttype);
6629 else
6630 yyval.ttype = build_tree_list (access_default_node, yyvsp[0].ttype);
6631 if (yyvsp[-1].ttype) yyval.ttype = tree_cons (access_public_node, yyvsp[-1].ttype, yyval.ttype);
6632 ;
6633 break;}
73b0fce8 6634case 499:
abff8e06 6635#line 2753 "parse.y"
861bb6c1
JL
6636{
6637 tree visspec = yyvsp[-2].ttype;
6638
6639 if (current_aggr == signature_type_node)
6640 {
6641 error ("access specifier not allowed in signature");
6642 visspec = access_public_node;
6643 }
6644 yyval.ttype = chainon (yyval.ttype, build_tree_list (visspec, yyvsp[0].ttype));
6645 ;
6646 break;}
73b0fce8 6647case 500:
abff8e06 6648#line 2764 "parse.y"
861bb6c1
JL
6649{
6650 if (current_aggr == signature_type_node)
6651 error ("access specifier not allowed in signature");
6652 ;
6653 break;}
73b0fce8 6654case 501:
abff8e06 6655#line 2774 "parse.y"
861bb6c1
JL
6656{ if (yyval.ttype == void_type_node) yyval.ttype = NULL_TREE;
6657 ;
6658 break;}
73b0fce8 6659case 502:
abff8e06 6660#line 2777 "parse.y"
861bb6c1
JL
6661{ /* In pushdecl, we created a reverse list of names
6662 in this binding level. Make sure that the chain
6663 of what we're trying to add isn't the item itself
6664 (which can happen with what pushdecl's doing). */
6665 if (yyvsp[0].ttype != NULL_TREE && yyvsp[0].ttype != void_type_node)
6666 {
6667 if (TREE_CHAIN (yyvsp[0].ttype) != yyval.ttype)
6668 yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype);
6669 else
6670 yyval.ttype = yyvsp[0].ttype;
6671 }
6672 ;
6673 break;}
73b0fce8 6674case 503:
abff8e06 6675#line 2793 "parse.y"
861bb6c1
JL
6676{ ;
6677 break;}
73b0fce8 6678case 504:
abff8e06 6679#line 2795 "parse.y"
861bb6c1
JL
6680{ error ("missing ';' before right brace");
6681 yyungetc ('}', 0); ;
6682 break;}
73b0fce8 6683case 505:
abff8e06 6684#line 2800 "parse.y"
861bb6c1
JL
6685{ yyval.ttype = finish_method (yyval.ttype); ;
6686 break;}
73b0fce8 6687case 506:
abff8e06 6688#line 2802 "parse.y"
861bb6c1
JL
6689{ yyval.ttype = finish_method (yyval.ttype); ;
6690 break;}
73b0fce8 6691case 507:
abff8e06 6692#line 2804 "parse.y"
a2676865 6693{ yyval.ttype = finish_method (yyval.ttype); ;
861bb6c1 6694 break;}
73b0fce8 6695case 508:
abff8e06 6696#line 2806 "parse.y"
956d6950 6697{ yyval.ttype = finish_method (yyval.ttype); ;
a2676865 6698 break;}
73b0fce8 6699case 509:
abff8e06 6700#line 2808 "parse.y"
956d6950
JL
6701{ yyval.ttype = NULL_TREE; ;
6702 break;}
73b0fce8 6703case 510:
abff8e06 6704#line 2810 "parse.y"
861bb6c1
JL
6705{ yyval.ttype = yyvsp[0].ttype;
6706 pedantic = yyvsp[-1].itype; ;
6707 break;}
73b0fce8 6708case 511:
abff8e06 6709#line 2819 "parse.y"
861bb6c1
JL
6710{ yyval.ttype = grok_x_components (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6711 break;}
73b0fce8 6712case 512:
abff8e06 6713#line 2821 "parse.y"
861bb6c1
JL
6714{ yyval.ttype = grok_x_components (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6715 break;}
73b0fce8 6716case 513:
abff8e06 6717#line 2823 "parse.y"
861bb6c1
JL
6718{ yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
6719 build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
6720 break;}
73b0fce8 6721case 514:
abff8e06 6722#line 2826 "parse.y"
861bb6c1
JL
6723{ yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
6724 build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
6725 break;}
73b0fce8 6726case 515:
abff8e06 6727#line 2829 "parse.y"
861bb6c1
JL
6728{ yyval.ttype = grokbitfield (NULL_TREE, NULL_TREE, yyvsp[0].ttype); ;
6729 break;}
73b0fce8 6730case 516:
abff8e06 6731#line 2831 "parse.y"
861bb6c1
JL
6732{ yyval.ttype = NULL_TREE; ;
6733 break;}
73b0fce8 6734case 517:
abff8e06 6735#line 2842 "parse.y"
861bb6c1
JL
6736{ tree specs, attrs;
6737 split_specs_attrs (yyvsp[-4].ttype, &specs, &attrs);
6738 yyval.ttype = grokfield (yyvsp[-3].ttype, specs, yyvsp[0].ttype, yyvsp[-2].ttype,
6739 build_tree_list (yyvsp[-1].ttype, attrs)); ;
6740 break;}
73b0fce8 6741case 518:
abff8e06 6742#line 2847 "parse.y"
861bb6c1
JL
6743{ yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
6744 build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
6745 break;}
73b0fce8 6746case 519:
abff8e06 6747#line 2850 "parse.y"
861bb6c1
JL
6748{ yyval.ttype = do_class_using_decl (yyvsp[0].ttype); ;
6749 break;}
73b0fce8 6750case 520:
abff8e06 6751#line 2852 "parse.y"
6a88a0c0 6752{ yyval.ttype = finish_member_template_decl (yyvsp[-1].ttype, yyvsp[0].ttype); ;
861bb6c1 6753 break;}
73b0fce8 6754case 521:
abff8e06 6755#line 2858 "parse.y"
a2676865
JM
6756{ yyval.ttype = NULL_TREE; ;
6757 break;}
73b0fce8 6758case 523:
abff8e06 6759#line 2861 "parse.y"
861bb6c1
JL
6760{
6761 /* In this context, void_type_node encodes
6762 friends. They have been recorded elsewhere. */
6763 if (yyval.ttype == void_type_node)
6764 yyval.ttype = yyvsp[0].ttype;
6765 else
6766 yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype);
6767 ;
6768 break;}
73b0fce8 6769case 524:
abff8e06 6770#line 2873 "parse.y"
861bb6c1
JL
6771{ yyval.ttype = NULL_TREE; ;
6772 break;}
73b0fce8 6773case 526:
abff8e06 6774#line 2876 "parse.y"
861bb6c1
JL
6775{
6776 /* In this context, void_type_node encodes
6777 friends. They have been recorded elsewhere. */
6778 if (yyval.ttype == void_type_node)
6779 yyval.ttype = yyvsp[0].ttype;
6780 else
6781 yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype);
6782 ;
6783 break;}
73b0fce8 6784case 531:
abff8e06 6785#line 2898 "parse.y"
861bb6c1
JL
6786{ split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6787 &prefix_attributes);
6788 yyvsp[-4].ttype = current_declspecs;
6789 yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6790 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6791 break;}
73b0fce8 6792case 532:
abff8e06 6793#line 2904 "parse.y"
861bb6c1
JL
6794{ split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6795 &prefix_attributes);
6796 yyvsp[-4].ttype = current_declspecs;
6797 yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6798 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6799 break;}
73b0fce8 6800case 533:
abff8e06 6801#line 2913 "parse.y"
861bb6c1
JL
6802{ split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6803 &prefix_attributes);
6804 yyvsp[-4].ttype = current_declspecs;
6805 yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6806 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6807 break;}
73b0fce8 6808case 534:
abff8e06 6809#line 2919 "parse.y"
861bb6c1
JL
6810{ split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6811 &prefix_attributes);
6812 yyvsp[-4].ttype = current_declspecs;
6813 yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6814 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6815 break;}
73b0fce8 6816case 535:
abff8e06 6817#line 2925 "parse.y"
861bb6c1
JL
6818{ split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6819 &prefix_attributes);
6820 yyvsp[-4].ttype = current_declspecs;
6821 yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6822 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6823 break;}
73b0fce8 6824case 536:
abff8e06 6825#line 2931 "parse.y"
861bb6c1
JL
6826{ split_specs_attrs (yyvsp[-3].ttype, &current_declspecs,
6827 &prefix_attributes);
6828 yyvsp[-3].ttype = current_declspecs;
6829 yyval.ttype = grokbitfield (NULL_TREE, current_declspecs, yyvsp[-1].ttype);
6830 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6831 break;}
73b0fce8 6832case 537:
abff8e06 6833#line 2940 "parse.y"
861bb6c1
JL
6834{ yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6835 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6836 break;}
73b0fce8 6837case 538:
abff8e06 6838#line 2943 "parse.y"
861bb6c1
JL
6839{ yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6840 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6841 break;}
73b0fce8 6842case 539:
abff8e06 6843#line 2949 "parse.y"
861bb6c1
JL
6844{ yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6845 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6846 break;}
73b0fce8 6847case 540:
abff8e06 6848#line 2952 "parse.y"
861bb6c1
JL
6849{ yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6850 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6851 break;}
73b0fce8 6852case 541:
abff8e06 6853#line 2955 "parse.y"
861bb6c1
JL
6854{ yyval.ttype = grokbitfield (NULL_TREE, current_declspecs, yyvsp[-1].ttype);
6855 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6856 break;}
73b0fce8 6857case 543:
abff8e06 6858#line 2966 "parse.y"
861bb6c1
JL
6859{ TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
6860 break;}
73b0fce8 6861case 544:
abff8e06 6862#line 2971 "parse.y"
861bb6c1
JL
6863{ yyval.ttype = build_enumerator (yyval.ttype, NULL_TREE); ;
6864 break;}
73b0fce8 6865case 545:
abff8e06 6866#line 2973 "parse.y"
861bb6c1
JL
6867{ yyval.ttype = build_enumerator (yyval.ttype, yyvsp[0].ttype); ;
6868 break;}
73b0fce8 6869case 546:
abff8e06 6870#line 2979 "parse.y"
861bb6c1
JL
6871{ yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
6872 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
6873 break;}
73b0fce8 6874case 547:
abff8e06 6875#line 2982 "parse.y"
861bb6c1
JL
6876{ yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE);
6877 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
6878 break;}
73b0fce8 6879case 548:
abff8e06 6880#line 2987 "parse.y"
861bb6c1
JL
6881{
6882 if (pedantic)
6883 pedwarn ("ANSI C++ forbids array dimensions with parenthesized type in new");
6884 yyval.ftype.t = build_parse_node (ARRAY_REF, TREE_VALUE (yyvsp[-4].ftype.t), yyvsp[-1].ttype);
6885 yyval.ftype.t = build_decl_list (TREE_PURPOSE (yyvsp[-4].ftype.t), yyval.ftype.t);
6886 yyval.ftype.new_type_flag = yyvsp[-4].ftype.new_type_flag;
6887 ;
6888 break;}
73b0fce8 6889case 549:
abff8e06 6890#line 2998 "parse.y"
861bb6c1
JL
6891{ yyval.ttype = NULL_TREE; ;
6892 break;}
73b0fce8 6893case 550:
abff8e06 6894#line 3000 "parse.y"
861bb6c1
JL
6895{ yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
6896 break;}
73b0fce8 6897case 551:
abff8e06 6898#line 3005 "parse.y"
861bb6c1
JL
6899{ yyval.ftype.t = IDENTIFIER_AS_LIST (yyvsp[0].ttype);
6900 yyval.ftype.new_type_flag = 0; ;
6901 break;}
73b0fce8 6902case 552:
abff8e06 6903#line 3008 "parse.y"
861bb6c1
JL
6904{ yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ftype.t);
6905 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
6906 break;}
73b0fce8 6907case 553:
abff8e06 6908#line 3017 "parse.y"
956d6950 6909{ yyval.itype = suspend_momentary (); ;
861bb6c1 6910 break;}
73b0fce8 6911case 554:
abff8e06 6912#line 3022 "parse.y"
956d6950 6913{ resume_momentary ((int) yyvsp[-1].itype); yyval.ttype = yyvsp[0].ttype; ;
861bb6c1 6914 break;}
73b0fce8 6915case 555:
abff8e06 6916#line 3028 "parse.y"
861bb6c1
JL
6917{ resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = yyvsp[-1].ttype; ;
6918 break;}
73b0fce8 6919case 556:
abff8e06 6920#line 3030 "parse.y"
956d6950 6921{ resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = yyvsp[-1].ttype; ;
861bb6c1 6922 break;}
73b0fce8 6923case 557:
abff8e06 6924#line 3032 "parse.y"
956d6950 6925{ resume_momentary ((int) yyvsp[-1].itype); yyval.ttype = empty_parms (); ;
faf199a6 6926 break;}
73b0fce8 6927case 558:
abff8e06 6928#line 3034 "parse.y"
956d6950 6929{ resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = NULL_TREE; ;
861bb6c1 6930 break;}
73b0fce8 6931case 559:
abff8e06 6932#line 3041 "parse.y"
956d6950 6933{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
861bb6c1 6934 break;}
73b0fce8 6935case 560:
abff8e06 6936#line 3043 "parse.y"
956d6950 6937{ yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
861bb6c1 6938 break;}
73b0fce8 6939case 561:
abff8e06 6940#line 3045 "parse.y"
956d6950 6941{ yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
861bb6c1 6942 break;}
73b0fce8 6943case 562:
abff8e06 6944#line 3047 "parse.y"
956d6950
JL
6945{ yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
6946 break;}
73b0fce8 6947case 563:
abff8e06 6948#line 3049 "parse.y"
861bb6c1
JL
6949{ tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
6950 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
6951 ;
6952 break;}
73b0fce8 6953case 565:
abff8e06 6954#line 3057 "parse.y"
861bb6c1
JL
6955{
6956 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6957 {
73b0fce8 6958 arg_looking_for_template = processing_template_arg;
3cd08147 6959 yyval.ttype = lookup_name (yyvsp[0].ttype, 1);
73b0fce8
KL
6960 arg_looking_for_template = 0;
6961
861bb6c1
JL
6962 if (current_class_type
6963 && TYPE_BEING_DEFINED (current_class_type)
6964 && ! IDENTIFIER_CLASS_VALUE (yyvsp[0].ttype))
6965 {
861bb6c1
JL
6966 /* Remember that this name has been used in the class
6967 definition, as per [class.scope0] */
6968 pushdecl_class_level (yyval.ttype);
6969 }
861bb6c1
JL
6970 }
6971 else
6972 yyval.ttype = yyvsp[0].ttype;
6973 ;
6974 break;}
73b0fce8 6975case 566:
abff8e06 6976#line 3077 "parse.y"
861bb6c1
JL
6977{
6978 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
3cd08147 6979 yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype);
861bb6c1
JL
6980 else
6981 yyval.ttype = yyvsp[0].ttype;
6982 got_scope = NULL_TREE;
6983 ;
6984 break;}
73b0fce8 6985case 569:
abff8e06 6986#line 3090 "parse.y"
861bb6c1
JL
6987{ yyval.ttype = yyvsp[0].ttype; ;
6988 break;}
73b0fce8 6989case 570:
abff8e06 6990#line 3095 "parse.y"
861bb6c1
JL
6991{ yyval.ttype = get_type_decl (yyvsp[0].ttype); ;
6992 break;}
73b0fce8 6993case 571:
abff8e06 6994#line 3100 "parse.y"
861bb6c1
JL
6995{ yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6996 break;}
73b0fce8 6997case 572:
abff8e06 6998#line 3102 "parse.y"
861bb6c1
JL
6999{ yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
7000 break;}
73b0fce8 7001case 573:
abff8e06 7002#line 3104 "parse.y"
861bb6c1
JL
7003{ yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
7004 break;}
73b0fce8 7005case 574:
abff8e06 7006#line 3106 "parse.y"
861bb6c1
JL
7007{ yyval.ttype = yyvsp[-1].ttype; ;
7008 break;}
73b0fce8 7009case 575:
abff8e06 7010#line 3108 "parse.y"
861bb6c1
JL
7011{ push_nested_class (yyvsp[-1].ttype, 3);
7012 yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype);
7013 TREE_COMPLEXITY (yyval.ttype) = current_class_depth; ;
7014 break;}
73b0fce8 7015case 577:
abff8e06 7016#line 3119 "parse.y"
861bb6c1
JL
7017{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7018 break;}
73b0fce8 7019case 578:
abff8e06 7020#line 3121 "parse.y"
861bb6c1
JL
7021{ yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7022 break;}
73b0fce8 7023case 579:
abff8e06 7024#line 3123 "parse.y"
861bb6c1
JL
7025{ yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
7026 break;}
73b0fce8 7027case 580:
abff8e06 7028#line 3125 "parse.y"
861bb6c1
JL
7029{ yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
7030 break;}
73b0fce8 7031case 581:
abff8e06 7032#line 3127 "parse.y"
861bb6c1
JL
7033{ tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
7034 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
7035 ;
7036 break;}
73b0fce8 7037case 583:
abff8e06 7038#line 3135 "parse.y"
861bb6c1
JL
7039{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7040 break;}
73b0fce8 7041case 584:
abff8e06 7042#line 3137 "parse.y"
861bb6c1
JL
7043{ yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7044 break;}
73b0fce8 7045case 585:
abff8e06 7046#line 3139 "parse.y"
861bb6c1
JL
7047{ yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
7048 break;}
73b0fce8 7049case 586:
abff8e06 7050#line 3141 "parse.y"
861bb6c1
JL
7051{ yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
7052 break;}
73b0fce8 7053case 587:
abff8e06 7054#line 3143 "parse.y"
861bb6c1
JL
7055{ tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
7056 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
7057 ;
7058 break;}
73b0fce8 7059case 589:
abff8e06 7060#line 3151 "parse.y"
861bb6c1
JL
7061{ yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7062 break;}
73b0fce8 7063case 590:
abff8e06 7064#line 3153 "parse.y"
861bb6c1
JL
7065{ yyval.ttype = yyvsp[-1].ttype; ;
7066 break;}
73b0fce8 7067case 591:
abff8e06 7068#line 3155 "parse.y"
861bb6c1
JL
7069{ yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
7070 break;}
73b0fce8 7071case 592:
abff8e06 7072#line 3157 "parse.y"
861bb6c1
JL
7073{ yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
7074 break;}
73b0fce8 7075case 593:
abff8e06 7076#line 3159 "parse.y"
861bb6c1
JL
7077{ if (OP0 (yyval.ttype) != current_class_type)
7078 {
7079 push_nested_class (OP0 (yyval.ttype), 3);
7080 TREE_COMPLEXITY (yyval.ttype) = current_class_depth;
7081 }
7082 ;
7083 break;}
73b0fce8 7084case 594:
abff8e06 7085#line 3166 "parse.y"
386b8a85
JM
7086{ got_scope = NULL_TREE;
7087 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype);
7088 if (yyvsp[-1].ttype != current_class_type)
7089 {
7090 push_nested_class (yyvsp[-1].ttype, 3);
7091 TREE_COMPLEXITY (yyval.ttype) = current_class_depth;
7092 }
7093 ;
7094 break;}
73b0fce8 7095case 595:
abff8e06 7096#line 3178 "parse.y"
861bb6c1
JL
7097{ got_scope = NULL_TREE;
7098 yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ;
7099 break;}
73b0fce8 7100case 596:
abff8e06 7101#line 3181 "parse.y"
386b8a85
JM
7102{ got_scope = NULL_TREE;
7103 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7104 break;}
73b0fce8 7105case 597:
abff8e06 7106#line 3187 "parse.y"
861bb6c1
JL
7107{ got_scope = NULL_TREE;
7108 yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ;
7109 break;}
73b0fce8 7110case 598:
abff8e06 7111#line 3190 "parse.y"
386b8a85
JM
7112{ got_scope = NULL_TREE;
7113 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7114 break;}
73b0fce8 7115case 600:
abff8e06 7116#line 3197 "parse.y"
861bb6c1
JL
7117{ yyval.ttype = yyvsp[0].ttype; ;
7118 break;}
73b0fce8 7119case 601:
abff8e06 7120#line 3202 "parse.y"
861bb6c1
JL
7121{ yyval.ttype = build_functional_cast (yyvsp[-3].ftype.t, yyvsp[-1].ttype); ;
7122 break;}
73b0fce8 7123case 602:
abff8e06 7124#line 3204 "parse.y"
861bb6c1
JL
7125{ yyval.ttype = reparse_decl_as_expr (yyvsp[-3].ftype.t, yyvsp[-1].ttype); ;
7126 break;}
73b0fce8 7127case 603:
abff8e06 7128#line 3206 "parse.y"
861bb6c1
JL
7129{ yyval.ttype = reparse_absdcl_as_expr (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7130 break;}
73b0fce8 7131case 608:
abff8e06 7132#line 3218 "parse.y"
861bb6c1
JL
7133{ yyval.ttype = yyvsp[0].ttype; ;
7134 break;}
73b0fce8 7135case 609:
abff8e06 7136#line 3225 "parse.y"
861bb6c1
JL
7137{
7138 if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE)
7139 {
7140 yyval.ttype = lastiddecl;
7141 /* Remember that this name has been used in the class
7142 definition, as per [class.scope0] */
7143 if (current_class_type
7144 && TYPE_BEING_DEFINED (current_class_type)
7145 && ! IDENTIFIER_CLASS_VALUE (yyvsp[-1].ttype))
7146 pushdecl_class_level (yyval.ttype);
7147 }
7148 got_scope = yyval.ttype = TREE_TYPE (yyval.ttype);
7149 ;
7150 break;}
73b0fce8 7151case 610:
abff8e06 7152#line 3239 "parse.y"
861bb6c1
JL
7153{
7154 if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE)
7155 yyval.ttype = lastiddecl;
7156 got_scope = yyval.ttype = TREE_TYPE (yyval.ttype);
7157 ;
7158 break;}
73b0fce8 7159case 611:
abff8e06 7160#line 3245 "parse.y"
861bb6c1
JL
7161{
7162 if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
7163 yyval.ttype = lastiddecl;
faf199a6 7164 got_scope = yyval.ttype;
861bb6c1
JL
7165 ;
7166 break;}
73b0fce8 7167case 612:
abff8e06 7168#line 3251 "parse.y"
861bb6c1
JL
7169{ got_scope = yyval.ttype = complete_type (TREE_TYPE (yyvsp[-1].ttype)); ;
7170 break;}
73b0fce8 7171case 614:
abff8e06 7172#line 3267 "parse.y"
faf199a6
JM
7173{ yyval.ttype = yyvsp[0].ttype; ;
7174 break;}
73b0fce8 7175case 615:
abff8e06 7176#line 3272 "parse.y"
faf199a6
JM
7177{
7178 if (TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype)) == 't')
7179 yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype);
7180 else if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
7181 cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
7182 else
d3959d60
JM
7183 {
7184 yyval.ttype = yyvsp[0].ttype;
7185 if (TREE_CODE (yyval.ttype) == TYPE_DECL)
7186 yyval.ttype = TREE_TYPE (yyval.ttype);
7187 }
faf199a6
JM
7188 ;
7189 break;}
73b0fce8 7190case 616:
abff8e06 7191#line 3288 "parse.y"
faf199a6
JM
7192{
7193 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
7194 cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
7195 ;
7196 break;}
73b0fce8 7197case 617:
abff8e06 7198#line 3293 "parse.y"
faf199a6
JM
7199{
7200 if (TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype)) == 't')
7201 yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype);
7202 else if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
7203 cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
7204 else
d3959d60
JM
7205 {
7206 yyval.ttype = yyvsp[0].ttype;
7207 if (TREE_CODE (yyval.ttype) == TYPE_DECL)
7208 yyval.ttype = TREE_TYPE (yyval.ttype);
7209 }
faf199a6
JM
7210 ;
7211 break;}
73b0fce8 7212case 618:
abff8e06 7213#line 3309 "parse.y"
faf199a6
JM
7214{
7215 if (TREE_CODE (yyvsp[-1].ttype) != IDENTIFIER_NODE)
7216 yyval.ttype = lastiddecl;
7217 got_scope = yyval.ttype = complete_type (TREE_TYPE (yyval.ttype));
7218 ;
7219 break;}
73b0fce8 7220case 619:
abff8e06 7221#line 3315 "parse.y"
faf199a6
JM
7222{
7223 if (TREE_CODE (yyvsp[-1].ttype) != IDENTIFIER_NODE)
7224 yyval.ttype = lastiddecl;
7225 got_scope = yyval.ttype = complete_type (TREE_TYPE (yyval.ttype));
7226 ;
7227 break;}
73b0fce8 7228case 620:
abff8e06 7229#line 3321 "parse.y"
faf199a6
JM
7230{ got_scope = yyval.ttype = complete_type (TREE_TYPE (yyval.ttype)); ;
7231 break;}
73b0fce8 7232case 623:
abff8e06 7233#line 3325 "parse.y"
faf199a6
JM
7234{
7235 if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
7236 yyval.ttype = lastiddecl;
7237 got_scope = yyval.ttype;
7238 ;
7239 break;}
73b0fce8 7240case 624:
abff8e06 7241#line 3334 "parse.y"
861bb6c1
JL
7242{
7243 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
3cd08147 7244 yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype);
861bb6c1
JL
7245 else
7246 yyval.ttype = yyvsp[0].ttype;
7247 got_scope = NULL_TREE;
7248 ;
7249 break;}
73b0fce8 7250case 626:
abff8e06 7251#line 3343 "parse.y"
861bb6c1
JL
7252{ yyval.ttype = yyvsp[0].ttype; ;
7253 break;}
73b0fce8 7254case 627:
abff8e06 7255#line 3348 "parse.y"
861bb6c1
JL
7256{ got_scope = NULL_TREE; ;
7257 break;}
73b0fce8 7258case 628:
abff8e06 7259#line 3350 "parse.y"
861bb6c1
JL
7260{ yyval.ttype = yyvsp[-1].ttype; got_scope = NULL_TREE; ;
7261 break;}
73b0fce8 7262case 629:
abff8e06 7263#line 3357 "parse.y"
861bb6c1
JL
7264{ got_scope = void_type_node; ;
7265 break;}
73b0fce8 7266case 630:
abff8e06 7267#line 3363 "parse.y"
861bb6c1
JL
7268{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
7269 break;}
73b0fce8 7270case 631:
abff8e06 7271#line 3365 "parse.y"
861bb6c1
JL
7272{ yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ;
7273 break;}
73b0fce8 7274case 632:
abff8e06 7275#line 3367 "parse.y"
861bb6c1
JL
7276{ yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
7277 break;}
73b0fce8 7278case 633:
abff8e06 7279#line 3369 "parse.y"
861bb6c1
JL
7280{ yyval.ttype = make_reference_declarator (yyvsp[0].ttype, NULL_TREE); ;
7281 break;}
73b0fce8 7282case 634:
abff8e06 7283#line 3371 "parse.y"
861bb6c1
JL
7284{ tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE);
7285 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, arg);
7286 ;
7287 break;}
73b0fce8 7288case 635:
abff8e06 7289#line 3375 "parse.y"
861bb6c1
JL
7290{ tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
7291 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
7292 ;
7293 break;}
73b0fce8 7294case 637:
abff8e06 7295#line 3384 "parse.y"
861bb6c1
JL
7296{ yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
7297 break;}
73b0fce8 7298case 638:
abff8e06 7299#line 3386 "parse.y"
861bb6c1
JL
7300{ yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
7301 break;}
73b0fce8 7302case 639:
abff8e06 7303#line 3392 "parse.y"
861bb6c1
JL
7304{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7305 break;}
73b0fce8 7306case 640:
abff8e06 7307#line 3394 "parse.y"
861bb6c1
JL
7308{ yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
7309 break;}
73b0fce8 7310case 641:
abff8e06 7311#line 3396 "parse.y"
861bb6c1
JL
7312{ yyval.ttype = make_pointer_declarator (yyvsp[0].ftype.t, NULL_TREE); ;
7313 break;}
73b0fce8 7314case 642:
abff8e06 7315#line 3398 "parse.y"
861bb6c1
JL
7316{ yyval.ttype = make_pointer_declarator (NULL_TREE, NULL_TREE); ;
7317 break;}
73b0fce8 7318case 643:
abff8e06 7319#line 3400 "parse.y"
861bb6c1
JL
7320{ yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7321 break;}
73b0fce8 7322case 644:
abff8e06 7323#line 3402 "parse.y"
861bb6c1
JL
7324{ yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
7325 break;}
73b0fce8 7326case 645:
abff8e06 7327#line 3404 "parse.y"
861bb6c1
JL
7328{ yyval.ttype = make_reference_declarator (yyvsp[0].ftype.t, NULL_TREE); ;
7329 break;}
73b0fce8 7330case 646:
abff8e06 7331#line 3406 "parse.y"
861bb6c1
JL
7332{ yyval.ttype = make_reference_declarator (NULL_TREE, NULL_TREE); ;
7333 break;}
73b0fce8 7334case 647:
abff8e06 7335#line 3408 "parse.y"
861bb6c1
JL
7336{ tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE);
7337 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, arg);
7338 ;
7339 break;}
73b0fce8 7340case 648:
abff8e06 7341#line 3412 "parse.y"
861bb6c1
JL
7342{ tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
7343 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
7344 ;
7345 break;}
73b0fce8 7346case 650:
abff8e06 7347#line 3421 "parse.y"
861bb6c1
JL
7348{ yyval.ttype = yyvsp[-1].ttype; ;
7349 break;}
73b0fce8 7350case 652:
abff8e06 7351#line 3425 "parse.y"
956d6950 7352{ yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
861bb6c1 7353 break;}
73b0fce8 7354case 653:
abff8e06 7355#line 3427 "parse.y"
956d6950 7356{ yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
861bb6c1 7357 break;}
73b0fce8 7358case 654:
abff8e06 7359#line 3429 "parse.y"
956d6950 7360{ yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
861bb6c1 7361 break;}
73b0fce8 7362case 655:
abff8e06 7363#line 3431 "parse.y"
956d6950 7364{ yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
861bb6c1 7365 break;}
73b0fce8 7366case 656:
abff8e06 7367#line 3433 "parse.y"
956d6950 7368{ yyval.ttype = make_call_declarator (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
861bb6c1 7369 break;}
73b0fce8 7370case 657:
abff8e06 7371#line 3435 "parse.y"
861bb6c1
JL
7372{ set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7373 break;}
73b0fce8 7374case 658:
abff8e06 7375#line 3437 "parse.y"
956d6950 7376{ set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
861bb6c1 7377 break;}
73b0fce8 7378case 659:
abff8e06 7379#line 3439 "parse.y"
956d6950
JL
7380{ yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
7381 break;}
73b0fce8 7382case 660:
abff8e06 7383#line 3441 "parse.y"
861bb6c1
JL
7384{ yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, NULL_TREE); ;
7385 break;}
73b0fce8 7386case 666:
abff8e06 7387#line 3465 "parse.y"
861bb6c1
JL
7388{ do_pushlevel (); ;
7389 break;}
73b0fce8 7390case 667:
abff8e06 7391#line 3470 "parse.y"
861bb6c1
JL
7392{ yyval.ttype = do_poplevel (); ;
7393 break;}
73b0fce8 7394case 669:
abff8e06 7395#line 3478 "parse.y"
861bb6c1
JL
7396{ if (pedantic)
7397 pedwarn ("ANSI C++ forbids label declarations"); ;
7398 break;}
73b0fce8 7399case 672:
abff8e06 7400#line 3489 "parse.y"
861bb6c1
JL
7401{ tree link;
7402 for (link = yyvsp[-1].ttype; link; link = TREE_CHAIN (link))
7403 {
7404 tree label = shadow_label (TREE_VALUE (link));
7405 C_DECLARED_LABEL_FLAG (label) = 1;
7406 declare_nonlocal_label (label);
7407 }
7408 ;
7409 break;}
73b0fce8 7410case 673:
abff8e06 7411#line 3503 "parse.y"
861bb6c1
JL
7412{;
7413 break;}
73b0fce8 7414case 675:
abff8e06 7415#line 3509 "parse.y"
861bb6c1
JL
7416{
7417 if (processing_template_decl)
7418 {
7419 yyval.ttype = build_min_nt (COMPOUND_STMT, NULL_TREE);
7420 add_tree (yyval.ttype);
7421 }
7422 ;
7423 break;}
73b0fce8 7424case 676:
abff8e06 7425#line 3517 "parse.y"
861bb6c1
JL
7426{
7427 if (processing_template_decl)
7428 {
7429 TREE_OPERAND (yyvsp[-3].ttype, 0) = TREE_CHAIN (yyvsp[-3].ttype);
7430 TREE_CHAIN (yyvsp[-3].ttype) = NULL_TREE;
7431 last_tree = yyvsp[-3].ttype;
7432 }
7433 yyval.ttype = yyvsp[0].ttype;
7434 ;
7435 break;}
73b0fce8 7436case 677:
abff8e06 7437#line 3530 "parse.y"
861bb6c1
JL
7438{
7439 if (processing_template_decl)
7440 {
7441 yyval.ttype = build_min_nt (IF_STMT, NULL_TREE, NULL_TREE,
7442 NULL_TREE);
7443 add_tree (yyval.ttype);
7444 }
7445 cond_stmt_keyword = "if";
7446 ;
7447 break;}
73b0fce8 7448case 678:
abff8e06 7449#line 3540 "parse.y"
861bb6c1
JL
7450{
7451 if (processing_template_decl)
7452 {
7453 if (last_tree != yyvsp[-2].ttype)
7454 {
7455 TREE_OPERAND (yyvsp[-2].ttype, 0) = last_tree;
7456 TREE_CHAIN (yyvsp[-2].ttype) = NULL_TREE;
7457 last_tree = yyvsp[-2].ttype;
7458 }
7459 else
7460 TREE_OPERAND (yyvsp[-2].ttype, 0) = yyvsp[0].ttype;
7461 }
7462 else
7463 {
7464 emit_line_note (input_filename, lineno);
7465 expand_start_cond (yyvsp[0].ttype, 0);
7466 }
7467 ;
7468 break;}
73b0fce8 7469case 679:
abff8e06 7470#line 3559 "parse.y"
861bb6c1
JL
7471{
7472 if (processing_template_decl)
7473 {
7474 TREE_OPERAND (yyvsp[-4].ttype, 1) = TREE_CHAIN (yyvsp[-4].ttype);
7475 TREE_CHAIN (yyvsp[-4].ttype) = NULL_TREE;
7476 yyval.ttype = last_tree = yyvsp[-4].ttype;
7477 }
7478 ;
7479 break;}
73b0fce8 7480case 680:
abff8e06 7481#line 3571 "parse.y"
861bb6c1
JL
7482{ finish_stmt (); ;
7483 break;}
73b0fce8 7484case 681:
abff8e06 7485#line 3573 "parse.y"
861bb6c1
JL
7486{
7487 if (processing_template_decl)
7488 {
7489 yyval.ttype = build_min_nt (COMPOUND_STMT, NULL_TREE);
7490 add_tree (yyval.ttype);
7491 }
7492 ;
7493 break;}
73b0fce8 7494case 682:
abff8e06 7495#line 3581 "parse.y"
861bb6c1
JL
7496{
7497 if (processing_template_decl)
7498 {
7499 TREE_OPERAND (yyvsp[-2].ttype, 0) = TREE_CHAIN (yyvsp[-2].ttype);
7500 TREE_CHAIN (yyvsp[-2].ttype) = NULL_TREE;
7501 last_tree = yyvsp[-2].ttype;
7502 }
7503 yyval.ttype = yyvsp[0].ttype;
7504 ;
7505 break;}
73b0fce8 7506case 683:
abff8e06 7507#line 3594 "parse.y"
861bb6c1
JL
7508{ finish_stmt (); ;
7509 break;}
73b0fce8 7510case 685:
abff8e06 7511#line 3600 "parse.y"
861bb6c1
JL
7512{ finish_stmt (); ;
7513 break;}
73b0fce8 7514case 686:
abff8e06 7515#line 3602 "parse.y"
861bb6c1
JL
7516{
7517 tree expr = yyvsp[-1].ttype;
7518 if (! processing_template_decl)
7519 {
7520 emit_line_note (input_filename, lineno);
7521 /* Do default conversion if safe and possibly important,
7522 in case within ({...}). */
7523 if ((TREE_CODE (TREE_TYPE (expr)) == ARRAY_TYPE
7524 && lvalue_p (expr))
7525 || TREE_CODE (TREE_TYPE (expr)) == FUNCTION_TYPE)
7526 expr = default_conversion (expr);
7527 }
7528 cplus_expand_expr_stmt (expr);
7529 clear_momentary ();
7530 finish_stmt (); ;
7531 break;}
73b0fce8 7532case 687:
abff8e06 7533#line 3618 "parse.y"
861bb6c1
JL
7534{ if (! processing_template_decl) expand_start_else (); ;
7535 break;}
73b0fce8 7536case 688:
abff8e06 7537#line 3620 "parse.y"
861bb6c1
JL
7538{
7539 if (processing_template_decl)
7540 {
7541 TREE_OPERAND (yyvsp[-3].ttype, 2) = TREE_CHAIN (yyvsp[-3].ttype);
7542 TREE_CHAIN (yyvsp[-3].ttype) = NULL_TREE;
7543 last_tree = yyvsp[-3].ttype;
7544 }
7545 else
7546 expand_end_cond ();
7547 ;
7548 break;}
73b0fce8 7549case 689:
abff8e06 7550#line 3631 "parse.y"
861bb6c1
JL
7551{ finish_stmt (); ;
7552 break;}
73b0fce8 7553case 690:
abff8e06 7554#line 3633 "parse.y"
861bb6c1
JL
7555{ if (! processing_template_decl) expand_end_cond ();
7556 do_poplevel ();
7557 finish_stmt (); ;
7558 break;}
73b0fce8 7559case 691:
abff8e06 7560#line 3637 "parse.y"
861bb6c1
JL
7561{
7562 if (processing_template_decl)
7563 {
7564 yyval.ttype = build_min_nt (WHILE_STMT, NULL_TREE, NULL_TREE);
7565 add_tree (yyval.ttype);
7566 }
7567 else
7568 {
7569 emit_nop ();
7570 emit_line_note (input_filename, lineno);
7571 expand_start_loop (1);
7572 }
7573 cond_stmt_keyword = "while";
7574 ;
7575 break;}
73b0fce8 7576case 692:
abff8e06 7577#line 3652 "parse.y"
861bb6c1
JL
7578{
7579 if (processing_template_decl)
7580 {
7581 if (last_tree != yyvsp[-2].ttype)
7582 {
7583 TREE_OPERAND (yyvsp[-2].ttype, 0) = last_tree;
7584 TREE_CHAIN (yyvsp[-2].ttype) = NULL_TREE;
7585 last_tree = yyvsp[-2].ttype;
7586 }
7587 else
7588 TREE_OPERAND (yyvsp[-2].ttype, 0) = yyvsp[0].ttype;
7589 }
7590 else
7591 {
7592 emit_line_note (input_filename, lineno);
7593 expand_exit_loop_if_false (0, yyvsp[0].ttype);
7594 }
7595 ;
7596 break;}
73b0fce8 7597case 693:
abff8e06 7598#line 3671 "parse.y"
861bb6c1
JL
7599{
7600 if (processing_template_decl)
7601 {
7602 TREE_OPERAND (yyvsp[-5].ttype, 1) = TREE_CHAIN (yyvsp[-5].ttype);
7603 TREE_CHAIN (yyvsp[-5].ttype) = NULL_TREE;
7604 last_tree = yyvsp[-5].ttype;
7605 }
7606 else
7607 expand_end_loop ();
7608 finish_stmt ();
7609 ;
7610 break;}
73b0fce8 7611case 694:
abff8e06 7612#line 3683 "parse.y"
861bb6c1
JL
7613{
7614 if (processing_template_decl)
7615 {
7616 yyval.ttype = build_min_nt (DO_STMT, NULL_TREE, NULL_TREE);
7617 add_tree (yyval.ttype);
7618 }
7619 else
7620 {
7621 emit_nop ();
7622 emit_line_note (input_filename, lineno);
7623 expand_start_loop_continue_elsewhere (1);
7624 }
7625 ;
7626 break;}
73b0fce8 7627case 695:
abff8e06 7628#line 3697 "parse.y"
861bb6c1
JL
7629{
7630 if (processing_template_decl)
7631 {
7632 TREE_OPERAND (yyvsp[-2].ttype, 0) = TREE_CHAIN (yyvsp[-2].ttype);
7633 TREE_CHAIN (yyvsp[-2].ttype) = NULL_TREE;
7634 last_tree = yyvsp[-2].ttype;
7635 }
7636 else
7637 {
7638 expand_loop_continue_here ();
7639 cond_stmt_keyword = "do";
7640 }
7641 ;
7642 break;}
73b0fce8 7643case 696:
abff8e06 7644#line 3711 "parse.y"
861bb6c1
JL
7645{
7646 if (processing_template_decl)
7647 TREE_OPERAND (yyvsp[-5].ttype, 1) = yyvsp[-1].ttype;
7648 else
7649 {
7650 emit_line_note (input_filename, lineno);
7651 expand_exit_loop_if_false (0, yyvsp[-1].ttype);
7652 expand_end_loop ();
7653 }
7654 clear_momentary ();
7655 finish_stmt ();
7656 ;
7657 break;}
73b0fce8 7658case 697:
abff8e06 7659#line 3724 "parse.y"
861bb6c1
JL
7660{ if (processing_template_decl)
7661 {
7662 yyval.ttype = build_min_nt (FOR_STMT, NULL_TREE, NULL_TREE,
7663 NULL_TREE, NULL_TREE);
7664 add_tree (yyval.ttype);
7665 }
7666 else
7667 emit_line_note (input_filename, lineno);
7668 if (flag_new_for_scope > 0)
7669 {
7670 /* Conditionalize .pushlevel */
7671 pushlevel (0);
7672 note_level_for_for ();
7673 clear_last_expr ();
7674 push_momentary ();
7675 expand_start_bindings (0);
7676 }
7677 ;
7678 break;}
73b0fce8 7679case 698:
abff8e06 7680#line 3743 "parse.y"
861bb6c1
JL
7681{
7682 if (processing_template_decl)
7683 {
7684 if (last_tree != yyvsp[-2].ttype)
7685 {
7686 TREE_OPERAND (yyvsp[-2].ttype, 0) = TREE_CHAIN (yyvsp[-2].ttype);
7687 TREE_CHAIN (yyvsp[-2].ttype) = NULL_TREE;
7688 last_tree = yyvsp[-2].ttype;
7689 }
7690 }
7691 else
7692 {
7693 emit_nop ();
7694 emit_line_note (input_filename, lineno);
7695 expand_start_loop_continue_elsewhere (1);
7696 }
7697 ;
7698 break;}
73b0fce8 7699case 699:
abff8e06 7700#line 3761 "parse.y"
861bb6c1
JL
7701{
7702 if (processing_template_decl)
7703 {
7704 if (last_tree != yyvsp[-6].ttype)
7705 {
7706 TREE_OPERAND (yyvsp[-6].ttype, 1) = last_tree;
7707 TREE_CHAIN (yyvsp[-6].ttype) = NULL_TREE;
7708 last_tree = yyvsp[-6].ttype;
7709 }
7710 else
7711 TREE_OPERAND (yyvsp[-6].ttype, 1) = yyvsp[-1].ttype;
7712 }
7713 else
7714 {
7715 emit_line_note (input_filename, lineno);
7716 if (yyvsp[-1].ttype) expand_exit_loop_if_false (0, yyvsp[-1].ttype);
7717 }
7718 ;
7719 break;}
73b0fce8 7720case 700:
abff8e06 7721#line 3782 "parse.y"
861bb6c1
JL
7722{
7723 if (processing_template_decl)
7724 TREE_OPERAND (yyvsp[-9].ttype, 2) = yyvsp[-1].ttype;
7725 push_momentary ();
7726 ;
7727 break;}
73b0fce8 7728case 701:
abff8e06 7729#line 3788 "parse.y"
861bb6c1
JL
7730{
7731 if (processing_template_decl)
7732 {
7733 TREE_OPERAND (yyvsp[-12].ttype, 3) = TREE_CHAIN (yyvsp[-12].ttype);
7734 TREE_CHAIN (yyvsp[-12].ttype) = NULL_TREE;
7735 last_tree = yyvsp[-12].ttype;
7736 }
7737 else
7738 {
7739 emit_line_note (input_filename, lineno);
7740 expand_loop_continue_here ();
7741 if (yyvsp[-4].ttype) cplus_expand_expr_stmt (yyvsp[-4].ttype);
7742 expand_end_loop ();
7743 }
7744 pop_momentary ();
7745 if (flag_new_for_scope > 0)
7746 {
7747 do_poplevel ();
7748 }
7749 finish_stmt (); ;
7750 break;}
73b0fce8 7751case 702:
abff8e06 7752#line 3809 "parse.y"
861bb6c1
JL
7753{
7754 if (processing_template_decl)
7755 {
7756 yyval.ttype = build_min_nt (SWITCH_STMT, yyvsp[-1].ttype, NULL_TREE);
7757 add_tree (yyval.ttype);
7758 }
7759 else
7760 {
7761 emit_line_note (input_filename, lineno);
7762 c_expand_start_case (yyvsp[-1].ttype);
7763 }
7764 push_switch ();
7765 /* Don't let the tree nodes for $4 be discarded by
7766 clear_momentary during the parsing of the next stmt. */
7767 push_momentary ();
7768 ;
7769 break;}
73b0fce8 7770case 703:
abff8e06 7771#line 3826 "parse.y"
861bb6c1
JL
7772{
7773 if (processing_template_decl)
7774 {
7775 TREE_OPERAND (yyvsp[-1].ttype, 1) = TREE_CHAIN (yyvsp[-1].ttype);
7776 TREE_CHAIN (yyvsp[-1].ttype) = NULL_TREE;
7777 last_tree = yyvsp[-1].ttype;
7778 }
7779 else
7780 expand_end_case (yyvsp[-3].ttype);
7781 pop_momentary ();
7782 pop_switch ();
7783 ;
7784 break;}
73b0fce8 7785case 704:
abff8e06 7786#line 3839 "parse.y"
861bb6c1
JL
7787{ finish_stmt (); ;
7788 break;}
73b0fce8 7789case 705:
abff8e06 7790#line 3841 "parse.y"
861bb6c1
JL
7791{ do_case (yyvsp[-1].ttype, NULL_TREE); ;
7792 break;}
73b0fce8 7793case 707:
abff8e06 7794#line 3844 "parse.y"
861bb6c1
JL
7795{ do_case (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
7796 break;}
73b0fce8 7797case 709:
abff8e06 7798#line 3847 "parse.y"
861bb6c1
JL
7799{ do_case (NULL_TREE, NULL_TREE); ;
7800 break;}
73b0fce8 7801case 711:
abff8e06 7802#line 3850 "parse.y"
861bb6c1
JL
7803{ emit_line_note (input_filename, lineno);
7804 if (processing_template_decl)
7805 add_tree (build_min_nt (BREAK_STMT));
7806 else if ( ! expand_exit_something ())
7807 error ("break statement not within loop or switch"); ;
7808 break;}
73b0fce8 7809case 712:
abff8e06 7810#line 3856 "parse.y"
861bb6c1
JL
7811{ emit_line_note (input_filename, lineno);
7812 if (processing_template_decl)
7813 add_tree (build_min_nt (CONTINUE_STMT));
7814 else if (! expand_continue_loop (0))
7815 error ("continue statement not within a loop"); ;
7816 break;}
73b0fce8 7817case 713:
abff8e06 7818#line 3862 "parse.y"
861bb6c1
JL
7819{ emit_line_note (input_filename, lineno);
7820 c_expand_return (NULL_TREE); ;
7821 break;}
73b0fce8 7822case 714:
abff8e06 7823#line 3865 "parse.y"
861bb6c1
JL
7824{ emit_line_note (input_filename, lineno);
7825 c_expand_return (yyvsp[-1].ttype);
7826 finish_stmt ();
7827 ;
7828 break;}
73b0fce8 7829case 715:
abff8e06 7830#line 3870 "parse.y"
861bb6c1
JL
7831{ if (TREE_CHAIN (yyvsp[-2].ttype)) yyvsp[-2].ttype = combine_strings (yyvsp[-2].ttype);
7832 emit_line_note (input_filename, lineno);
7833 expand_asm (yyvsp[-2].ttype);
7834 finish_stmt ();
7835 ;
7836 break;}
73b0fce8 7837case 716:
abff8e06 7838#line 3877 "parse.y"
861bb6c1
JL
7839{ if (TREE_CHAIN (yyvsp[-4].ttype)) yyvsp[-4].ttype = combine_strings (yyvsp[-4].ttype);
7840 emit_line_note (input_filename, lineno);
7841 c_expand_asm_operands (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE,
7842 yyvsp[-6].ttype == ridpointers[(int)RID_VOLATILE],
7843 input_filename, lineno);
7844 finish_stmt ();
7845 ;
7846 break;}
73b0fce8 7847case 717:
abff8e06 7848#line 3886 "parse.y"
861bb6c1
JL
7849{ if (TREE_CHAIN (yyvsp[-6].ttype)) yyvsp[-6].ttype = combine_strings (yyvsp[-6].ttype);
7850 emit_line_note (input_filename, lineno);
7851 c_expand_asm_operands (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE,
7852 yyvsp[-8].ttype == ridpointers[(int)RID_VOLATILE],
7853 input_filename, lineno);
7854 finish_stmt ();
7855 ;
7856 break;}
73b0fce8 7857case 718:
abff8e06 7858#line 3896 "parse.y"
861bb6c1
JL
7859{ if (TREE_CHAIN (yyvsp[-8].ttype)) yyvsp[-8].ttype = combine_strings (yyvsp[-8].ttype);
7860 emit_line_note (input_filename, lineno);
7861 c_expand_asm_operands (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype,
7862 yyvsp[-10].ttype == ridpointers[(int)RID_VOLATILE],
7863 input_filename, lineno);
7864 finish_stmt ();
7865 ;
7866 break;}
73b0fce8 7867case 719:
abff8e06 7868#line 3904 "parse.y"
861bb6c1
JL
7869{
7870 if (processing_template_decl)
7871 add_tree (build_min_nt (GOTO_STMT, yyvsp[-1].ttype));
7872 else
7873 { emit_line_note (input_filename, lineno);
7874 expand_computed_goto (yyvsp[-1].ttype); }
7875 ;
7876 break;}
73b0fce8 7877case 720:
abff8e06 7878#line 3912 "parse.y"
861bb6c1
JL
7879{
7880 if (processing_template_decl)
7881 add_tree (build_min_nt (GOTO_STMT, yyvsp[-1].ttype));
7882 else
7883 {
7884 tree decl;
7885 emit_line_note (input_filename, lineno);
7886 decl = lookup_label (yyvsp[-1].ttype);
7887 TREE_USED (decl) = 1;
7888 expand_goto (decl);
7889 }
7890 ;
7891 break;}
73b0fce8 7892case 721:
abff8e06 7893#line 3925 "parse.y"
861bb6c1
JL
7894{ finish_stmt (); ;
7895 break;}
73b0fce8 7896case 722:
abff8e06 7897#line 3927 "parse.y"
861bb6c1
JL
7898{ error ("label must be followed by statement");
7899 yyungetc ('}', 0);
7900 finish_stmt (); ;
7901 break;}
73b0fce8 7902case 723:
abff8e06 7903#line 3931 "parse.y"
861bb6c1
JL
7904{ finish_stmt (); ;
7905 break;}
73b0fce8 7906case 725:
abff8e06 7907#line 3937 "parse.y"
861bb6c1
JL
7908{
7909 if (! current_function_parms_stored)
7910 store_parm_decls ();
7911 expand_start_early_try_stmts ();
7912 ;
7913 break;}
73b0fce8 7914case 726:
abff8e06 7915#line 3943 "parse.y"
861bb6c1
JL
7916{ expand_start_all_catch (); ;
7917 break;}
73b0fce8 7918case 727:
abff8e06 7919#line 3945 "parse.y"
861bb6c1
JL
7920{
7921 int nested = (hack_decl_function_context
7922 (current_function_decl) != NULL_TREE);
7923 expand_end_all_catch ();
7924 finish_function (lineno, (int)yyvsp[-3].itype, nested);
7925 ;
7926 break;}
73b0fce8 7927case 728:
abff8e06 7928#line 3955 "parse.y"
861bb6c1
JL
7929{
7930 if (processing_template_decl)
7931 {
7932 yyval.ttype = build_min_nt (TRY_BLOCK, NULL_TREE,
7933 NULL_TREE);
7934 add_tree (yyval.ttype);
7935 }
7936 else
7937 {
7938 emit_line_note (input_filename, lineno);
7939 expand_start_try_stmts ();
7940 }
7941 ;
7942 break;}
73b0fce8 7943case 729:
abff8e06 7944#line 3969 "parse.y"
861bb6c1
JL
7945{
7946 if (processing_template_decl)
7947 {
7948 TREE_OPERAND (yyvsp[-1].ttype, 0) = TREE_CHAIN (yyvsp[-1].ttype);
7949 TREE_CHAIN (yyvsp[-1].ttype) = NULL_TREE;
7950 last_tree = yyvsp[-1].ttype;
7951 }
7952 else
7953 expand_start_all_catch ();
7954 ;
7955 break;}
73b0fce8 7956case 730:
abff8e06 7957#line 3980 "parse.y"
861bb6c1
JL
7958{
7959 if (processing_template_decl)
7960 {
7961 TREE_OPERAND (yyvsp[-3].ttype, 1) = TREE_CHAIN (yyvsp[-3].ttype);
7962 TREE_CHAIN (yyvsp[-3].ttype) = NULL_TREE;
7963 last_tree = yyvsp[-3].ttype;
7964 }
7965 else
7966 expand_end_all_catch ();
7967 ;
7968 break;}
73b0fce8 7969case 733:
abff8e06 7970#line 3999 "parse.y"
861bb6c1
JL
7971{
7972 if (processing_template_decl)
7973 {
7974 yyval.ttype = build_min_nt (HANDLER, NULL_TREE,
7975 NULL_TREE);
7976 add_tree (yyval.ttype);
7977 }
7978 ;
7979 break;}
73b0fce8 7980case 734:
abff8e06 7981#line 4008 "parse.y"
861bb6c1
JL
7982{
7983 if (processing_template_decl)
7984 {
7985 TREE_OPERAND (yyvsp[-2].ttype, 0) = TREE_CHAIN (yyvsp[-2].ttype);
7986 TREE_CHAIN (yyvsp[-2].ttype) = NULL_TREE;
7987 last_tree = yyvsp[-2].ttype;
7988 }
7989 ;
7990 break;}
73b0fce8 7991case 735:
abff8e06 7992#line 4017 "parse.y"
861bb6c1
JL
7993{
7994 if (processing_template_decl)
7995 {
7996 TREE_OPERAND (yyvsp[-4].ttype, 1) = TREE_CHAIN (yyvsp[-4].ttype);
7997 TREE_CHAIN (yyvsp[-4].ttype) = NULL_TREE;
7998 last_tree = yyvsp[-4].ttype;
7999 }
8000 else
8001 expand_end_catch_block ();
8002 ;
8003 break;}
73b0fce8 8004case 739:
abff8e06 8005#line 4037 "parse.y"
861bb6c1
JL
8006{ expand_start_catch_block (NULL_TREE, NULL_TREE); ;
8007 break;}
73b0fce8 8008case 740:
abff8e06 8009#line 4053 "parse.y"
861bb6c1
JL
8010{ check_for_new_type ("inside exception declarations", yyvsp[-1].ftype);
8011 expand_start_catch_block (TREE_PURPOSE (yyvsp[-1].ftype.t),
8012 TREE_VALUE (yyvsp[-1].ftype.t)); ;
8013 break;}
73b0fce8 8014case 741:
abff8e06 8015#line 4060 "parse.y"
861bb6c1
JL
8016{ tree label;
8017 do_label:
8018 label = define_label (input_filename, lineno, yyvsp[-1].ttype);
8019 if (label && ! minimal_parse_mode)
8020 expand_label (label);
8021 ;
8022 break;}
73b0fce8 8023case 742:
abff8e06 8024#line 4067 "parse.y"
861bb6c1
JL
8025{ goto do_label; ;
8026 break;}
73b0fce8 8027case 743:
abff8e06 8028#line 4069 "parse.y"
861bb6c1
JL
8029{ goto do_label; ;
8030 break;}
73b0fce8 8031case 744:
abff8e06 8032#line 4071 "parse.y"
956d6950
JL
8033{ goto do_label; ;
8034 break;}
73b0fce8 8035case 745:
abff8e06 8036#line 4076 "parse.y"
861bb6c1
JL
8037{ if (yyvsp[-1].ttype) cplus_expand_expr_stmt (yyvsp[-1].ttype); ;
8038 break;}
73b0fce8 8039case 747:
abff8e06 8040#line 4079 "parse.y"
861bb6c1
JL
8041{ if (pedantic)
8042 pedwarn ("ANSI C++ forbids compound statements inside for initializations");
8043 ;
8044 break;}
73b0fce8 8045case 748:
abff8e06 8046#line 4088 "parse.y"
861bb6c1
JL
8047{ emit_line_note (input_filename, lineno);
8048 yyval.ttype = NULL_TREE; ;
8049 break;}
73b0fce8 8050case 749:
abff8e06 8051#line 4091 "parse.y"
861bb6c1
JL
8052{ emit_line_note (input_filename, lineno); ;
8053 break;}
73b0fce8 8054case 750:
abff8e06 8055#line 4096 "parse.y"
861bb6c1
JL
8056{ yyval.ttype = NULL_TREE; ;
8057 break;}
73b0fce8 8058case 752:
abff8e06 8059#line 4099 "parse.y"
861bb6c1
JL
8060{ yyval.ttype = NULL_TREE; ;
8061 break;}
73b0fce8 8062case 753:
abff8e06 8063#line 4106 "parse.y"
861bb6c1
JL
8064{ yyval.ttype = NULL_TREE; ;
8065 break;}
73b0fce8 8066case 756:
abff8e06 8067#line 4113 "parse.y"
861bb6c1
JL
8068{ yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
8069 break;}
73b0fce8 8070case 757:
abff8e06 8071#line 4118 "parse.y"
861bb6c1
JL
8072{ yyval.ttype = build_tree_list (yyval.ttype, yyvsp[-1].ttype); ;
8073 break;}
73b0fce8 8074case 758:
abff8e06 8075#line 4123 "parse.y"
861bb6c1
JL
8076{ yyval.ttype = tree_cons (NULL_TREE, yyval.ttype, NULL_TREE); ;
8077 break;}
73b0fce8 8078case 759:
abff8e06 8079#line 4125 "parse.y"
861bb6c1
JL
8080{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
8081 break;}
73b0fce8 8082case 760:
abff8e06 8083#line 4136 "parse.y"
861bb6c1
JL
8084{
8085 yyval.ttype = empty_parms();
8086 ;
8087 break;}
73b0fce8 8088case 762:
abff8e06 8089#line 4141 "parse.y"
861bb6c1
JL
8090{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ftype.t, void_list_node);
8091 TREE_PARMLIST (yyval.ttype) = 1;
8092 check_for_new_type ("inside parameter list", yyvsp[0].ftype); ;
8093 break;}
73b0fce8 8094case 763:
abff8e06 8095#line 4150 "parse.y"
861bb6c1
JL
8096{
8097 yyval.ttype = chainon (yyval.ttype, void_list_node);
8098 TREE_PARMLIST (yyval.ttype) = 1;
8099 ;
8100 break;}
73b0fce8 8101case 764:
abff8e06 8102#line 4155 "parse.y"
861bb6c1
JL
8103{
8104 TREE_PARMLIST (yyval.ttype) = 1;
8105 ;
8106 break;}
73b0fce8 8107case 765:
abff8e06 8108#line 4160 "parse.y"
861bb6c1
JL
8109{
8110 TREE_PARMLIST (yyval.ttype) = 1;
8111 ;
8112 break;}
73b0fce8 8113case 766:
abff8e06 8114#line 4164 "parse.y"
861bb6c1
JL
8115{
8116 yyval.ttype = build_tree_list (NULL_TREE, yyvsp[-1].ftype.t);
8117 TREE_PARMLIST (yyval.ttype) = 1;
8118 ;
8119 break;}
73b0fce8 8120case 767:
abff8e06 8121#line 4169 "parse.y"
861bb6c1
JL
8122{
8123 yyval.ttype = NULL_TREE;
8124 ;
8125 break;}
73b0fce8 8126case 768:
abff8e06 8127#line 4173 "parse.y"
861bb6c1
JL
8128{
8129 TREE_PARMLIST (yyval.ttype) = 1;
8130 ;
8131 break;}
73b0fce8 8132case 769:
abff8e06 8133#line 4177 "parse.y"
861bb6c1
JL
8134{
8135 TREE_PARMLIST (yyval.ttype) = 1;
8136 ;
8137 break;}
73b0fce8 8138case 770:
abff8e06 8139#line 4181 "parse.y"
861bb6c1
JL
8140{
8141 yyval.ttype = build_tree_list (NULL_TREE, yyvsp[-1].ftype.t);
8142 TREE_PARMLIST (yyval.ttype) = 1;
8143 ;
8144 break;}
73b0fce8 8145case 771:
abff8e06 8146#line 4186 "parse.y"
861bb6c1
JL
8147{
8148 /* This helps us recover from really nasty
8149 parse errors, for example, a missing right
8150 parenthesis. */
8151 yyerror ("possibly missing ')'");
8152 yyval.ttype = chainon (yyval.ttype, void_list_node);
8153 TREE_PARMLIST (yyval.ttype) = 1;
8154 yyungetc (':', 0);
8155 yychar = ')';
8156 ;
8157 break;}
73b0fce8 8158case 772:
abff8e06 8159#line 4197 "parse.y"
861bb6c1
JL
8160{
8161 /* This helps us recover from really nasty
8162 parse errors, for example, a missing right
8163 parenthesis. */
8164 yyerror ("possibly missing ')'");
8165 yyval.ttype = tree_cons (NULL_TREE, yyvsp[-1].ftype.t, void_list_node);
8166 TREE_PARMLIST (yyval.ttype) = 1;
8167 yyungetc (':', 0);
8168 yychar = ')';
8169 ;
8170 break;}
73b0fce8 8171case 773:
abff8e06 8172#line 4212 "parse.y"
861bb6c1
JL
8173{ maybe_snarf_defarg (); ;
8174 break;}
73b0fce8 8175case 774:
abff8e06 8176#line 4214 "parse.y"
861bb6c1
JL
8177{ yyval.ttype = yyvsp[0].ttype; ;
8178 break;}
73b0fce8 8179case 777:
abff8e06 8180#line 4225 "parse.y"
861bb6c1
JL
8181{ check_for_new_type ("in a parameter list", yyvsp[0].ftype);
8182 yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ftype.t); ;
8183 break;}
73b0fce8 8184case 778:
abff8e06 8185#line 4228 "parse.y"
861bb6c1
JL
8186{ check_for_new_type ("in a parameter list", yyvsp[-1].ftype);
8187 yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-1].ftype.t); ;
8188 break;}
73b0fce8 8189case 779:
abff8e06 8190#line 4231 "parse.y"
861bb6c1
JL
8191{ check_for_new_type ("in a parameter list", yyvsp[0].ftype);
8192 yyval.ttype = chainon (yyval.ttype, yyvsp[0].ftype.t); ;
8193 break;}
73b0fce8 8194case 780:
abff8e06 8195#line 4234 "parse.y"
861bb6c1
JL
8196{ yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
8197 break;}
73b0fce8 8198case 781:
abff8e06 8199#line 4236 "parse.y"
861bb6c1
JL
8200{ yyval.ttype = chainon (yyval.ttype, build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype)); ;
8201 break;}
73b0fce8 8202case 783:
abff8e06 8203#line 4242 "parse.y"
861bb6c1
JL
8204{ check_for_new_type ("in a parameter list", yyvsp[-1].ftype);
8205 yyval.ttype = build_tree_list (NULL_TREE, yyvsp[-1].ftype.t); ;
8206 break;}
73b0fce8 8207case 784:
abff8e06 8208#line 4252 "parse.y"
861bb6c1
JL
8209{ tree specs = strip_attrs (yyvsp[-1].ftype.t);
8210 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag;
8211 yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype); ;
8212 break;}
73b0fce8 8213case 785:
abff8e06 8214#line 4256 "parse.y"
861bb6c1
JL
8215{ yyval.ftype.t = build_tree_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
8216 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
8217 break;}
73b0fce8 8218case 786:
abff8e06 8219#line 4259 "parse.y"
861bb6c1
JL
8220{ yyval.ftype.t = build_tree_list (get_decl_list (yyvsp[-1].ftype.t), yyvsp[0].ttype);
8221 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
8222 break;}
73b0fce8 8223case 787:
abff8e06 8224#line 4262 "parse.y"
861bb6c1
JL
8225{ tree specs = strip_attrs (yyvsp[-1].ftype.t);
8226 yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype);
8227 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
8228 break;}
73b0fce8 8229case 788:
abff8e06 8230#line 4266 "parse.y"
861bb6c1
JL
8231{ tree specs = strip_attrs (yyvsp[0].ftype.t);
8232 yyval.ftype.t = build_tree_list (specs, NULL_TREE);
8233 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
8234 break;}
73b0fce8 8235case 789:
abff8e06 8236#line 4270 "parse.y"
861bb6c1
JL
8237{ tree specs = strip_attrs (yyvsp[-1].ttype);
8238 yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype);
8239 yyval.ftype.new_type_flag = 0; ;
8240 break;}
73b0fce8 8241case 790:
abff8e06 8242#line 4277 "parse.y"
861bb6c1
JL
8243{ yyval.ftype.t = build_tree_list (NULL_TREE, yyvsp[0].ftype.t);
8244 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
8245 break;}
73b0fce8 8246case 791:
abff8e06 8247#line 4280 "parse.y"
861bb6c1
JL
8248{ yyval.ftype.t = build_tree_list (yyvsp[0].ttype, yyvsp[-1].ftype.t);
8249 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
8250 break;}
73b0fce8 8251case 794:
abff8e06 8252#line 4291 "parse.y"
861bb6c1
JL
8253{ see_typename (); ;
8254 break;}
73b0fce8 8255case 795:
abff8e06 8256#line 4296 "parse.y"
861bb6c1
JL
8257{
8258 error ("type specifier omitted for parameter");
8259 yyval.ttype = build_tree_list (integer_type_node, NULL_TREE);
8260 ;
8261 break;}
73b0fce8 8262case 796:
abff8e06 8263#line 4301 "parse.y"
861bb6c1
JL
8264{
8265 error ("type specifier omitted for parameter");
8266 if (TREE_CODE (yyval.ttype) == SCOPE_REF
73b0fce8
KL
8267 && (TREE_CODE (TREE_OPERAND (yyval.ttype, 0)) == TEMPLATE_TYPE_PARM
8268 || TREE_CODE (TREE_OPERAND (yyval.ttype, 0)) == TEMPLATE_TEMPLATE_PARM))
861bb6c1
JL
8269 cp_error (" perhaps you want `typename %E' to make it a type", yyval.ttype);
8270 yyval.ttype = build_tree_list (integer_type_node, yyval.ttype);
8271 ;
8272 break;}
73b0fce8 8273case 797:
abff8e06 8274#line 4313 "parse.y"
861bb6c1
JL
8275{ yyval.ttype = NULL_TREE; ;
8276 break;}
73b0fce8 8277case 798:
abff8e06 8278#line 4315 "parse.y"
861bb6c1
JL
8279{ yyval.ttype = yyvsp[-1].ttype; ;
8280 break;}
73b0fce8 8281case 799:
abff8e06 8282#line 4317 "parse.y"
861bb6c1
JL
8283{ yyval.ttype = build_decl_list (NULL_TREE, NULL_TREE); ;
8284 break;}
73b0fce8 8285case 800:
abff8e06 8286#line 4322 "parse.y"
861bb6c1
JL
8287{ yyval.ttype = build_decl_list (NULL_TREE, groktypename(yyvsp[0].ftype.t)); ;
8288 break;}
73b0fce8 8289case 802:
abff8e06 8290#line 4328 "parse.y"
861bb6c1
JL
8291{
8292 TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype;
8293 yyval.ttype = yyvsp[0].ttype;
8294 ;
8295 break;}
73b0fce8 8296case 803:
abff8e06 8297#line 4336 "parse.y"
861bb6c1
JL
8298{ yyval.ttype = NULL_TREE; ;
8299 break;}
73b0fce8 8300case 804:
abff8e06 8301#line 4338 "parse.y"
861bb6c1
JL
8302{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
8303 break;}
73b0fce8 8304case 805:
abff8e06 8305#line 4340 "parse.y"
861bb6c1
JL
8306{ yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
8307 break;}
73b0fce8 8308case 806:
abff8e06 8309#line 4342 "parse.y"
861bb6c1
JL
8310{ tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
8311 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
8312 ;
8313 break;}
73b0fce8 8314case 807:
abff8e06 8315#line 4349 "parse.y"
956d6950 8316{ got_scope = NULL_TREE; ;
861bb6c1 8317 break;}
73b0fce8 8318case 808:
abff8e06 8319#line 4354 "parse.y"
956d6950 8320{ yyval.ttype = ansi_opname[MULT_EXPR]; ;
861bb6c1 8321 break;}
73b0fce8 8322case 809:
abff8e06 8323#line 4356 "parse.y"
956d6950 8324{ yyval.ttype = ansi_opname[TRUNC_DIV_EXPR]; ;
861bb6c1 8325 break;}
73b0fce8 8326case 810:
abff8e06 8327#line 4358 "parse.y"
956d6950 8328{ yyval.ttype = ansi_opname[TRUNC_MOD_EXPR]; ;
861bb6c1 8329 break;}
73b0fce8 8330case 811:
abff8e06 8331#line 4360 "parse.y"
956d6950 8332{ yyval.ttype = ansi_opname[PLUS_EXPR]; ;
861bb6c1 8333 break;}
73b0fce8 8334case 812:
abff8e06 8335#line 4362 "parse.y"
956d6950 8336{ yyval.ttype = ansi_opname[MINUS_EXPR]; ;
861bb6c1 8337 break;}
73b0fce8 8338case 813:
abff8e06 8339#line 4364 "parse.y"
956d6950 8340{ yyval.ttype = ansi_opname[BIT_AND_EXPR]; ;
861bb6c1 8341 break;}
73b0fce8 8342case 814:
abff8e06 8343#line 4366 "parse.y"
956d6950 8344{ yyval.ttype = ansi_opname[BIT_IOR_EXPR]; ;
861bb6c1 8345 break;}
73b0fce8 8346case 815:
abff8e06 8347#line 4368 "parse.y"
956d6950 8348{ yyval.ttype = ansi_opname[BIT_XOR_EXPR]; ;
861bb6c1 8349 break;}
73b0fce8 8350case 816:
abff8e06 8351#line 4370 "parse.y"
956d6950 8352{ yyval.ttype = ansi_opname[BIT_NOT_EXPR]; ;
861bb6c1 8353 break;}
73b0fce8 8354case 817:
abff8e06 8355#line 4372 "parse.y"
956d6950 8356{ yyval.ttype = ansi_opname[COMPOUND_EXPR]; ;
861bb6c1 8357 break;}
73b0fce8 8358case 818:
abff8e06 8359#line 4374 "parse.y"
956d6950 8360{ yyval.ttype = ansi_opname[yyvsp[0].code]; ;
861bb6c1 8361 break;}
73b0fce8 8362case 819:
abff8e06 8363#line 4376 "parse.y"
956d6950 8364{ yyval.ttype = ansi_opname[LT_EXPR]; ;
861bb6c1 8365 break;}
73b0fce8 8366case 820:
abff8e06 8367#line 4378 "parse.y"
956d6950 8368{ yyval.ttype = ansi_opname[GT_EXPR]; ;
861bb6c1 8369 break;}
73b0fce8 8370case 821:
abff8e06 8371#line 4380 "parse.y"
956d6950 8372{ yyval.ttype = ansi_opname[yyvsp[0].code]; ;
861bb6c1 8373 break;}
73b0fce8 8374case 822:
abff8e06 8375#line 4382 "parse.y"
956d6950 8376{ yyval.ttype = ansi_assopname[yyvsp[0].code]; ;
861bb6c1 8377 break;}
73b0fce8 8378case 823:
abff8e06 8379#line 4384 "parse.y"
956d6950 8380{ yyval.ttype = ansi_opname [MODIFY_EXPR]; ;
861bb6c1 8381 break;}
73b0fce8 8382case 824:
abff8e06 8383#line 4386 "parse.y"
861bb6c1
JL
8384{ yyval.ttype = ansi_opname[yyvsp[0].code]; ;
8385 break;}
73b0fce8 8386case 825:
abff8e06 8387#line 4388 "parse.y"
956d6950 8388{ yyval.ttype = ansi_opname[yyvsp[0].code]; ;
861bb6c1 8389 break;}
73b0fce8 8390case 826:
abff8e06 8391#line 4390 "parse.y"
956d6950 8392{ yyval.ttype = ansi_opname[POSTINCREMENT_EXPR]; ;
861bb6c1 8393 break;}
73b0fce8 8394case 827:
abff8e06 8395#line 4392 "parse.y"
956d6950 8396{ yyval.ttype = ansi_opname[PREDECREMENT_EXPR]; ;
861bb6c1 8397 break;}
73b0fce8 8398case 828:
abff8e06 8399#line 4394 "parse.y"
956d6950 8400{ yyval.ttype = ansi_opname[TRUTH_ANDIF_EXPR]; ;
861bb6c1 8401 break;}
73b0fce8 8402case 829:
abff8e06 8403#line 4396 "parse.y"
956d6950 8404{ yyval.ttype = ansi_opname[TRUTH_ORIF_EXPR]; ;
861bb6c1 8405 break;}
73b0fce8 8406case 830:
abff8e06 8407#line 4398 "parse.y"
956d6950 8408{ yyval.ttype = ansi_opname[TRUTH_NOT_EXPR]; ;
861bb6c1 8409 break;}
73b0fce8 8410case 831:
abff8e06 8411#line 4400 "parse.y"
956d6950 8412{ yyval.ttype = ansi_opname[COND_EXPR]; ;
861bb6c1 8413 break;}
73b0fce8 8414case 832:
abff8e06 8415#line 4402 "parse.y"
956d6950 8416{ yyval.ttype = ansi_opname[yyvsp[0].code]; ;
861bb6c1 8417 break;}
73b0fce8 8418case 833:
abff8e06 8419#line 4404 "parse.y"
956d6950 8420{ yyval.ttype = ansi_opname[COMPONENT_REF]; ;
861bb6c1 8421 break;}
73b0fce8 8422case 834:
abff8e06 8423#line 4406 "parse.y"
956d6950 8424{ yyval.ttype = ansi_opname[MEMBER_REF]; ;
861bb6c1 8425 break;}
73b0fce8 8426case 835:
abff8e06 8427#line 4408 "parse.y"
956d6950 8428{ yyval.ttype = ansi_opname[CALL_EXPR]; ;
861bb6c1 8429 break;}
73b0fce8 8430case 836:
abff8e06 8431#line 4410 "parse.y"
956d6950 8432{ yyval.ttype = ansi_opname[ARRAY_REF]; ;
861bb6c1 8433 break;}
73b0fce8 8434case 837:
abff8e06 8435#line 4412 "parse.y"
956d6950 8436{ yyval.ttype = ansi_opname[NEW_EXPR]; ;
861bb6c1 8437 break;}
73b0fce8 8438case 838:
abff8e06 8439#line 4414 "parse.y"
956d6950 8440{ yyval.ttype = ansi_opname[DELETE_EXPR]; ;
861bb6c1 8441 break;}
73b0fce8 8442case 839:
abff8e06 8443#line 4416 "parse.y"
956d6950 8444{ yyval.ttype = ansi_opname[VEC_NEW_EXPR]; ;
861bb6c1 8445 break;}
73b0fce8 8446case 840:
abff8e06 8447#line 4418 "parse.y"
956d6950 8448{ yyval.ttype = ansi_opname[VEC_DELETE_EXPR]; ;
861bb6c1 8449 break;}
73b0fce8 8450case 841:
abff8e06 8451#line 4421 "parse.y"
956d6950
JL
8452{ yyval.ttype = grokoptypename (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
8453 break;}
73b0fce8 8454case 842:
abff8e06 8455#line 4423 "parse.y"
861bb6c1
JL
8456{ yyval.ttype = ansi_opname[ERROR_MARK]; ;
8457 break;}
8458}
8459 /* the action file gets copied in in place of this dollarsign */
f5426d1e 8460#line 498 "/usr/share/bison.simple"
861bb6c1
JL
8461\f
8462 yyvsp -= yylen;
8463 yyssp -= yylen;
8464#ifdef YYLSP_NEEDED
8465 yylsp -= yylen;
8466#endif
8467
8468#if YYDEBUG != 0
8469 if (yydebug)
8470 {
8471 short *ssp1 = yyss - 1;
8472 fprintf (stderr, "state stack now");
8473 while (ssp1 != yyssp)
8474 fprintf (stderr, " %d", *++ssp1);
8475 fprintf (stderr, "\n");
8476 }
8477#endif
8478
8479 *++yyvsp = yyval;
8480
8481#ifdef YYLSP_NEEDED
8482 yylsp++;
8483 if (yylen == 0)
8484 {
8485 yylsp->first_line = yylloc.first_line;
8486 yylsp->first_column = yylloc.first_column;
8487 yylsp->last_line = (yylsp-1)->last_line;
8488 yylsp->last_column = (yylsp-1)->last_column;
8489 yylsp->text = 0;
8490 }
8491 else
8492 {
8493 yylsp->last_line = (yylsp+yylen-1)->last_line;
8494 yylsp->last_column = (yylsp+yylen-1)->last_column;
8495 }
8496#endif
8497
8498 /* Now "shift" the result of the reduction.
8499 Determine what state that goes to,
8500 based on the state we popped back to
8501 and the rule number reduced by. */
8502
8503 yyn = yyr1[yyn];
8504
8505 yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
8506 if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
8507 yystate = yytable[yystate];
8508 else
8509 yystate = yydefgoto[yyn - YYNTBASE];
8510
8511 goto yynewstate;
8512
8513yyerrlab: /* here on detecting error */
8514
8515 if (! yyerrstatus)
8516 /* If not already recovering from an error, report this error. */
8517 {
8518 ++yynerrs;
8519
8520#ifdef YYERROR_VERBOSE
8521 yyn = yypact[yystate];
8522
8523 if (yyn > YYFLAG && yyn < YYLAST)
8524 {
8525 int size = 0;
8526 char *msg;
8527 int x, count;
8528
8529 count = 0;
8530 /* Start X at -yyn if nec to avoid negative indexes in yycheck. */
8531 for (x = (yyn < 0 ? -yyn : 0);
8532 x < (sizeof(yytname) / sizeof(char *)); x++)
8533 if (yycheck[x + yyn] == x)
8534 size += strlen(yytname[x]) + 15, count++;
8535 msg = (char *) malloc(size + 15);
8536 if (msg != 0)
8537 {
8538 strcpy(msg, "parse error");
8539
8540 if (count < 5)
8541 {
8542 count = 0;
8543 for (x = (yyn < 0 ? -yyn : 0);
8544 x < (sizeof(yytname) / sizeof(char *)); x++)
8545 if (yycheck[x + yyn] == x)
8546 {
8547 strcat(msg, count == 0 ? ", expecting `" : " or `");
8548 strcat(msg, yytname[x]);
8549 strcat(msg, "'");
8550 count++;
8551 }
8552 }
8553 yyerror(msg);
8554 free(msg);
8555 }
8556 else
8557 yyerror ("parse error; also virtual memory exceeded");
8558 }
8559 else
8560#endif /* YYERROR_VERBOSE */
8561 yyerror("parse error");
8562 }
8563
8564 goto yyerrlab1;
8565yyerrlab1: /* here on error raised explicitly by an action */
8566
8567 if (yyerrstatus == 3)
8568 {
8569 /* if just tried and failed to reuse lookahead token after an error, discard it. */
8570
8571 /* return failure if at end of input */
8572 if (yychar == YYEOF)
8573 YYABORT;
8574
8575#if YYDEBUG != 0
8576 if (yydebug)
8577 fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
8578#endif
8579
8580 yychar = YYEMPTY;
8581 }
8582
8583 /* Else will try to reuse lookahead token
8584 after shifting the error token. */
8585
8586 yyerrstatus = 3; /* Each real token shifted decrements this */
8587
8588 goto yyerrhandle;
8589
8590yyerrdefault: /* current state does not do anything special for the error token. */
8591
8592#if 0
8593 /* This is wrong; only states that explicitly want error tokens
8594 should shift them. */
8595 yyn = yydefact[yystate]; /* If its default is to accept any token, ok. Otherwise pop it.*/
8596 if (yyn) goto yydefault;
8597#endif
8598
8599yyerrpop: /* pop the current state because it cannot handle the error token */
8600
8601 if (yyssp == yyss) YYABORT;
8602 yyvsp--;
8603 yystate = *--yyssp;
8604#ifdef YYLSP_NEEDED
8605 yylsp--;
8606#endif
8607
8608#if YYDEBUG != 0
8609 if (yydebug)
8610 {
8611 short *ssp1 = yyss - 1;
8612 fprintf (stderr, "Error: state stack now");
8613 while (ssp1 != yyssp)
8614 fprintf (stderr, " %d", *++ssp1);
8615 fprintf (stderr, "\n");
8616 }
8617#endif
8618
8619yyerrhandle:
8620
8621 yyn = yypact[yystate];
8622 if (yyn == YYFLAG)
8623 goto yyerrdefault;
8624
8625 yyn += YYTERROR;
8626 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
8627 goto yyerrdefault;
8628
8629 yyn = yytable[yyn];
8630 if (yyn < 0)
8631 {
8632 if (yyn == YYFLAG)
8633 goto yyerrpop;
8634 yyn = -yyn;
8635 goto yyreduce;
8636 }
8637 else if (yyn == 0)
8638 goto yyerrpop;
8639
8640 if (yyn == YYFINAL)
8641 YYACCEPT;
8642
8643#if YYDEBUG != 0
8644 if (yydebug)
8645 fprintf(stderr, "Shifting error token, ");
8646#endif
8647
8648 *++yyvsp = yylval;
8649#ifdef YYLSP_NEEDED
8650 *++yylsp = yylloc;
8651#endif
8652
8653 yystate = yyn;
8654 goto yynewstate;
8655}
abff8e06 8656#line 4426 "parse.y"
861bb6c1
JL
8657
8658
8659#ifdef SPEW_DEBUG
8660const char *
8661debug_yytranslate (value)
8662 int value;
8663{
8664 return yytname[YYTRANSLATE (value)];
8665}
8666
8667#endif
This page took 1.128319 seconds and 5 git commands to generate.