517e8276a3988ec0c84281cec0e1a31536794493
[gcc.git] / gcc / cp / parse.c
1
2 /* A Bison parser, made from parse.y
3 by GNU Bison version 1.25
4 */
5
6 #define YYBISON 1 /* Identify Bison output. */
7
8 #define IDENTIFIER 258
9 #define TYPENAME 259
10 #define SELFNAME 260
11 #define PFUNCNAME 261
12 #define SCSPEC 262
13 #define TYPESPEC 263
14 #define CV_QUALIFIER 264
15 #define CONSTANT 265
16 #define STRING 266
17 #define ELLIPSIS 267
18 #define SIZEOF 268
19 #define ENUM 269
20 #define IF 270
21 #define ELSE 271
22 #define WHILE 272
23 #define DO 273
24 #define FOR 274
25 #define SWITCH 275
26 #define CASE 276
27 #define DEFAULT 277
28 #define BREAK 278
29 #define CONTINUE 279
30 #define RETURN 280
31 #define GOTO 281
32 #define ASM_KEYWORD 282
33 #define TYPEOF 283
34 #define ALIGNOF 284
35 #define SIGOF 285
36 #define ATTRIBUTE 286
37 #define EXTENSION 287
38 #define LABEL 288
39 #define REALPART 289
40 #define IMAGPART 290
41 #define AGGR 291
42 #define VISSPEC 292
43 #define DELETE 293
44 #define NEW 294
45 #define THIS 295
46 #define OPERATOR 296
47 #define CXX_TRUE 297
48 #define CXX_FALSE 298
49 #define NAMESPACE 299
50 #define TYPENAME_KEYWORD 300
51 #define USING 301
52 #define LEFT_RIGHT 302
53 #define TEMPLATE 303
54 #define TYPEID 304
55 #define DYNAMIC_CAST 305
56 #define STATIC_CAST 306
57 #define REINTERPRET_CAST 307
58 #define CONST_CAST 308
59 #define SCOPE 309
60 #define EMPTY 310
61 #define PTYPENAME 311
62 #define NSNAME 312
63 #define THROW 313
64 #define ASSIGN 314
65 #define OROR 315
66 #define ANDAND 316
67 #define MIN_MAX 317
68 #define EQCOMPARE 318
69 #define ARITHCOMPARE 319
70 #define LSHIFT 320
71 #define RSHIFT 321
72 #define POINTSAT_STAR 322
73 #define DOT_STAR 323
74 #define UNARY 324
75 #define PLUSPLUS 325
76 #define MINUSMINUS 326
77 #define HYPERUNARY 327
78 #define PAREN_STAR_PAREN 328
79 #define POINTSAT 329
80 #define TRY 330
81 #define CATCH 331
82 #define PRE_PARSED_FUNCTION_DECL 332
83 #define EXTERN_LANG_STRING 333
84 #define ALL 334
85 #define PRE_PARSED_CLASS_DECL 335
86 #define DEFARG 336
87 #define DEFARG_MARKER 337
88 #define TYPENAME_DEFN 338
89 #define IDENTIFIER_DEFN 339
90 #define PTYPENAME_DEFN 340
91 #define END_OF_LINE 341
92 #define END_OF_SAVED_INPUT 342
93
94 #line 29 "parse.y"
95
96 /* Cause the `yydebug' variable to be defined. */
97 #define YYDEBUG 1
98
99 #include "config.h"
100
101 #include "system.h"
102
103 #include "tree.h"
104 #include "input.h"
105 #include "flags.h"
106 #include "lex.h"
107 #include "cp-tree.h"
108 #include "output.h"
109 #include "except.h"
110
111 /* Since parsers are distinct for each language, put the language string
112 definition here. (fnf) */
113 char *language_string = "GNU C++";
114
115 extern tree void_list_node;
116 extern struct obstack permanent_obstack;
117
118 extern int end_of_file;
119
120 /* Like YYERROR but do call yyerror. */
121 #define YYERROR1 { yyerror ("syntax error"); YYERROR; }
122
123 #define OP0(NODE) (TREE_OPERAND (NODE, 0))
124 #define OP1(NODE) (TREE_OPERAND (NODE, 1))
125
126 /* Contains the statement keyword (if/while/do) to include in an
127 error message if the user supplies an empty conditional expression. */
128 static char *cond_stmt_keyword;
129
130 static tree empty_parms PROTO((void));
131
132 /* Nonzero if we have an `extern "C"' acting as an extern specifier. */
133 int have_extern_spec;
134 int used_extern_spec;
135
136 /* Cons up an empty parameter list. */
137 #ifdef __GNUC__
138 __inline
139 #endif
140 static tree
141 empty_parms ()
142 {
143 tree parms;
144
145 if (strict_prototype
146 || current_class_type != NULL)
147 parms = void_list_node;
148 else
149 parms = NULL_TREE;
150 return parms;
151 }
152
153
154 #line 91 "parse.y"
155 typedef union {long itype; tree ttype; char *strtype; enum tree_code code; flagged_type_tree ftype; } YYSTYPE;
156 #line 280 "parse.y"
157
158 /* List of types and structure classes of the current declaration. */
159 static tree current_declspecs = NULL_TREE;
160 /* List of prefix attributes in effect.
161 Prefix attributes are parsed by the reserved_declspecs and declmods
162 rules. They create a list that contains *both* declspecs and attrs. */
163 /* ??? It is not clear yet that all cases where an attribute can now appear in
164 a declspec list have been updated. */
165 static tree prefix_attributes = NULL_TREE;
166
167 /* When defining an aggregate, this is the most recent one being defined. */
168 static tree current_aggr;
169
170 /* Tell yyparse how to print a token's value, if yydebug is set. */
171
172 #define YYPRINT(FILE,YYCHAR,YYLVAL) yyprint(FILE,YYCHAR,YYLVAL)
173 extern void yyprint PROTO((FILE *, int, YYSTYPE));
174 extern tree combine_strings PROTO((tree));
175
176 static int
177 parse_decl(declarator, specs_attrs, attributes, initialized, decl)
178 tree declarator;
179 tree specs_attrs;
180 tree attributes;
181 int initialized;
182 tree* decl;
183 {
184 int sm;
185
186 split_specs_attrs (specs_attrs, &current_declspecs, &prefix_attributes);
187 if (current_declspecs
188 && TREE_CODE (current_declspecs) != TREE_LIST)
189 current_declspecs = get_decl_list (current_declspecs);
190 if (have_extern_spec && !used_extern_spec)
191 {
192 current_declspecs = decl_tree_cons (NULL_TREE,
193 get_identifier ("extern"),
194 current_declspecs);
195 used_extern_spec = 1;
196 }
197 sm = suspend_momentary ();
198 *decl = start_decl (declarator, current_declspecs, initialized,
199 attributes, prefix_attributes);
200 return sm;
201 }
202 #include <stdio.h>
203
204 #ifndef __cplusplus
205 #ifndef __STDC__
206 #define const
207 #endif
208 #endif
209
210
211
212 #define YYFINAL 1547
213 #define YYFLAG -32768
214 #define YYNTBASE 112
215
216 #define YYTRANSLATE(x) ((unsigned)(x) <= 342 ? yytranslate[x] : 386)
217
218 static const char yytranslate[] = { 0,
219 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
220 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
221 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
222 2, 2, 110, 2, 2, 2, 82, 70, 2, 93,
223 108, 80, 78, 59, 79, 92, 81, 2, 2, 2,
224 2, 2, 2, 2, 2, 2, 2, 62, 60, 74,
225 64, 75, 65, 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 94, 2, 111, 69, 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, 58, 68, 109, 88, 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, 2, 2, 2, 2, 2,
236 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
237 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
238 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
239 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
240 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
241 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
242 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
243 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
244 2, 2, 2, 2, 2, 1, 2, 3, 4, 5,
245 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
246 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
247 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
248 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
249 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
250 56, 57, 61, 63, 66, 67, 71, 72, 73, 76,
251 77, 83, 84, 85, 86, 87, 89, 90, 91, 95,
252 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
253 106, 107
254 };
255
256 #if YYDEBUG != 0
257 static const short yyprhs[] = { 0,
258 0, 1, 3, 4, 7, 10, 12, 13, 14, 15,
259 17, 19, 20, 23, 26, 28, 30, 36, 41, 47,
260 52, 53, 60, 61, 67, 73, 76, 81, 84, 87,
261 91, 95, 97, 99, 102, 105, 107, 110, 111, 117,
262 121, 123, 127, 129, 130, 133, 136, 140, 142, 146,
263 148, 152, 154, 158, 161, 164, 167, 171, 175, 178,
264 181, 184, 187, 190, 192, 194, 196, 197, 199, 202,
265 203, 205, 210, 214, 218, 219, 228, 234, 235, 245,
266 252, 253, 262, 268, 269, 279, 286, 289, 292, 294,
267 297, 299, 306, 311, 318, 323, 326, 328, 331, 334,
268 336, 339, 341, 344, 347, 352, 355, 359, 360, 361,
269 363, 367, 370, 374, 376, 381, 384, 389, 392, 397,
270 400, 402, 404, 406, 408, 410, 412, 414, 416, 418,
271 420, 422, 423, 430, 431, 438, 439, 445, 446, 452,
272 453, 461, 462, 470, 471, 478, 479, 486, 487, 488,
273 493, 498, 500, 505, 507, 509, 510, 512, 514, 518,
274 520, 522, 524, 526, 528, 530, 532, 534, 536, 538,
275 542, 544, 548, 549, 551, 553, 554, 562, 564, 566,
276 570, 575, 579, 580, 584, 586, 590, 594, 598, 602,
277 604, 606, 608, 611, 614, 617, 620, 623, 626, 629,
278 634, 637, 642, 645, 649, 653, 658, 663, 669, 675,
279 682, 685, 690, 696, 699, 702, 703, 708, 709, 714,
280 718, 720, 724, 727, 731, 736, 738, 741, 747, 749,
281 753, 757, 761, 765, 769, 773, 777, 781, 785, 789,
282 793, 797, 801, 805, 809, 813, 817, 821, 825, 831,
283 835, 839, 841, 844, 848, 850, 852, 854, 856, 858,
284 859, 865, 871, 877, 883, 889, 891, 893, 895, 897,
285 900, 903, 907, 912, 917, 919, 921, 923, 927, 929,
286 931, 933, 935, 939, 943, 947, 948, 953, 958, 961,
287 966, 969, 972, 974, 979, 981, 989, 997, 1005, 1013,
288 1018, 1023, 1026, 1029, 1031, 1036, 1039, 1042, 1048, 1052,
289 1055, 1058, 1064, 1068, 1074, 1078, 1083, 1090, 1093, 1095,
290 1098, 1100, 1103, 1105, 1107, 1109, 1112, 1113, 1116, 1119,
291 1123, 1127, 1131, 1134, 1137, 1140, 1142, 1144, 1146, 1149,
292 1152, 1155, 1158, 1160, 1162, 1164, 1166, 1169, 1172, 1176,
293 1180, 1184, 1189, 1191, 1194, 1197, 1200, 1202, 1204, 1206,
294 1209, 1212, 1215, 1217, 1219, 1222, 1225, 1229, 1231, 1234,
295 1236, 1238, 1240, 1245, 1250, 1255, 1260, 1262, 1264, 1266,
296 1268, 1272, 1274, 1278, 1280, 1284, 1285, 1290, 1291, 1298,
297 1302, 1303, 1308, 1310, 1314, 1318, 1319, 1324, 1328, 1329,
298 1331, 1333, 1336, 1343, 1345, 1349, 1350, 1352, 1357, 1364,
299 1369, 1371, 1373, 1375, 1377, 1379, 1383, 1384, 1387, 1389,
300 1392, 1396, 1401, 1403, 1405, 1409, 1414, 1418, 1424, 1426,
301 1431, 1435, 1439, 1440, 1444, 1448, 1452, 1453, 1456, 1459,
302 1460, 1468, 1473, 1474, 1481, 1485, 1488, 1491, 1494, 1495,
303 1496, 1506, 1508, 1509, 1511, 1512, 1514, 1516, 1519, 1522,
304 1525, 1528, 1531, 1534, 1538, 1543, 1547, 1550, 1554, 1555,
305 1557, 1561, 1564, 1567, 1569, 1571, 1572, 1575, 1579, 1581,
306 1586, 1588, 1592, 1594, 1596, 1601, 1606, 1609, 1612, 1616,
307 1620, 1622, 1623, 1625, 1628, 1633, 1637, 1639, 1642, 1645,
308 1648, 1651, 1654, 1657, 1660, 1662, 1665, 1668, 1672, 1675,
309 1678, 1683, 1688, 1691, 1693, 1699, 1704, 1706, 1707, 1709,
310 1713, 1714, 1716, 1720, 1722, 1724, 1726, 1728, 1733, 1738,
311 1743, 1748, 1753, 1757, 1762, 1767, 1772, 1777, 1781, 1783,
312 1787, 1789, 1793, 1796, 1798, 1805, 1806, 1809, 1811, 1814,
313 1815, 1818, 1823, 1828, 1831, 1836, 1840, 1844, 1847, 1850,
314 1854, 1856, 1858, 1861, 1863, 1865, 1868, 1871, 1876, 1881,
315 1885, 1889, 1892, 1894, 1898, 1902, 1905, 1908, 1912, 1914,
316 1918, 1922, 1925, 1928, 1932, 1934, 1939, 1943, 1948, 1952,
317 1954, 1957, 1960, 1963, 1966, 1969, 1971, 1974, 1979, 1984,
318 1987, 1989, 1991, 1993, 1995, 1998, 2003, 2006, 2009, 2012,
319 2015, 2017, 2020, 2023, 2026, 2029, 2033, 2035, 2038, 2042,
320 2047, 2050, 2053, 2056, 2059, 2062, 2065, 2070, 2073, 2075,
321 2078, 2081, 2085, 2087, 2091, 2094, 2098, 2101, 2104, 2108,
322 2110, 2114, 2119, 2123, 2126, 2129, 2131, 2135, 2138, 2141,
323 2143, 2146, 2150, 2152, 2156, 2158, 2165, 2170, 2175, 2179,
324 2185, 2189, 2193, 2197, 2200, 2202, 2204, 2207, 2210, 2213,
325 2214, 2216, 2218, 2221, 2225, 2227, 2230, 2231, 2235, 2236,
326 2237, 2243, 2245, 2246, 2249, 2251, 2253, 2255, 2258, 2259,
327 2264, 2266, 2267, 2268, 2274, 2275, 2276, 2284, 2285, 2286,
328 2287, 2288, 2301, 2302, 2303, 2311, 2312, 2318, 2319, 2327,
329 2328, 2333, 2336, 2339, 2342, 2346, 2353, 2362, 2373, 2386,
330 2391, 2395, 2398, 2401, 2403, 2405, 2406, 2407, 2414, 2415,
331 2416, 2422, 2424, 2427, 2428, 2429, 2435, 2437, 2439, 2443,
332 2447, 2450, 2453, 2456, 2459, 2462, 2464, 2467, 2468, 2470,
333 2471, 2473, 2475, 2476, 2478, 2480, 2484, 2489, 2491, 2495,
334 2496, 2498, 2500, 2502, 2505, 2508, 2511, 2513, 2516, 2519,
335 2520, 2524, 2526, 2528, 2530, 2533, 2536, 2539, 2544, 2547,
336 2550, 2553, 2556, 2559, 2562, 2564, 2567, 2569, 2572, 2574,
337 2576, 2577, 2578, 2580, 2581, 2586, 2589, 2591, 2593, 2597,
338 2598, 2602, 2606, 2610, 2612, 2615, 2618, 2621, 2624, 2627,
339 2630, 2633, 2636, 2639, 2642, 2645, 2648, 2651, 2654, 2657,
340 2660, 2663, 2666, 2669, 2672, 2675, 2678, 2681, 2685, 2688,
341 2691, 2694, 2697, 2701, 2704, 2707, 2712, 2717, 2721
342 };
343
344 static const short yyrhs[] = { -1,
345 113, 0, 0, 114, 120, 0, 113, 120, 0, 113,
346 0, 0, 0, 0, 32, 0, 27, 0, 0, 121,
347 122, 0, 140, 139, 0, 136, 0, 135, 0, 119,
348 93, 208, 108, 60, 0, 127, 58, 115, 109, 0,
349 127, 116, 140, 117, 139, 0, 127, 116, 136, 117,
350 0, 0, 44, 155, 58, 123, 115, 109, 0, 0,
351 44, 58, 124, 115, 109, 0, 44, 155, 64, 126,
352 60, 0, 125, 60, 0, 46, 44, 126, 60, 0,
353 118, 122, 0, 46, 300, 0, 46, 314, 300, 0,
354 46, 314, 199, 0, 199, 0, 300, 0, 314, 300,
355 0, 314, 199, 0, 98, 0, 127, 98, 0, 0,
356 48, 74, 129, 130, 75, 0, 48, 74, 75, 0,
357 134, 0, 130, 59, 134, 0, 155, 0, 0, 257,
358 131, 0, 45, 131, 0, 128, 257, 131, 0, 132,
359 0, 132, 64, 214, 0, 377, 0, 377, 64, 194,
360 0, 133, 0, 133, 64, 174, 0, 128, 122, 0,
361 128, 1, 0, 225, 60, 0, 218, 224, 60, 0,
362 215, 223, 60, 0, 218, 60, 0, 158, 60, 0,
363 215, 60, 0, 1, 60, 0, 1, 109, 0, 60,
364 0, 209, 0, 151, 0, 0, 150, 0, 150, 60,
365 0, 0, 107, 0, 146, 138, 137, 324, 0, 146,
366 138, 348, 0, 146, 138, 1, 0, 0, 305, 5,
367 93, 142, 368, 108, 287, 380, 0, 305, 5, 47,
368 287, 380, 0, 0, 314, 305, 5, 93, 143, 368,
369 108, 287, 380, 0, 314, 305, 5, 47, 287, 380,
370 0, 0, 305, 170, 93, 144, 368, 108, 287, 380,
371 0, 305, 170, 47, 287, 380, 0, 0, 314, 305,
372 170, 93, 145, 368, 108, 287, 380, 0, 314, 305,
373 170, 47, 287, 380, 0, 215, 212, 0, 218, 297,
374 0, 297, 0, 218, 141, 0, 141, 0, 5, 93,
375 368, 108, 287, 380, 0, 5, 47, 287, 380, 0,
376 170, 93, 368, 108, 287, 380, 0, 170, 47, 287,
377 380, 0, 218, 147, 0, 147, 0, 215, 212, 0,
378 218, 297, 0, 297, 0, 218, 141, 0, 141, 0,
379 25, 3, 0, 149, 242, 0, 149, 93, 186, 108,
380 0, 149, 47, 0, 62, 152, 153, 0, 0, 0,
381 154, 0, 153, 59, 154, 0, 153, 1, 0, 93,
382 186, 108, 0, 47, 0, 156, 93, 186, 108, 0,
383 156, 47, 0, 293, 93, 186, 108, 0, 293, 47,
384 0, 307, 93, 186, 108, 0, 307, 47, 0, 3,
385 0, 4, 0, 5, 0, 56, 0, 57, 0, 3,
386 0, 56, 0, 57, 0, 104, 0, 103, 0, 105,
387 0, 0, 48, 167, 221, 60, 159, 168, 0, 0,
388 48, 167, 215, 212, 160, 168, 0, 0, 48, 167,
389 297, 161, 168, 0, 0, 48, 167, 141, 162, 168,
390 0, 0, 7, 48, 167, 221, 60, 163, 168, 0,
391 0, 7, 48, 167, 215, 212, 164, 168, 0, 0,
392 7, 48, 167, 297, 165, 168, 0, 0, 7, 48,
393 167, 141, 166, 168, 0, 0, 0, 56, 74, 172,
394 171, 0, 4, 74, 172, 171, 0, 170, 0, 5,
395 74, 172, 171, 0, 75, 0, 77, 0, 0, 173,
396 0, 174, 0, 173, 59, 174, 0, 214, 0, 194,
397 0, 79, 0, 78, 0, 86, 0, 87, 0, 110,
398 0, 185, 0, 194, 0, 47, 0, 93, 176, 108,
399 0, 47, 0, 93, 180, 108, 0, 0, 180, 0,
400 1, 0, 0, 358, 212, 226, 235, 64, 181, 243,
401 0, 176, 0, 109, 0, 321, 319, 109, 0, 321,
402 319, 1, 109, 0, 321, 1, 109, 0, 0, 58,
403 184, 182, 0, 333, 0, 194, 59, 194, 0, 194,
404 59, 1, 0, 185, 59, 194, 0, 185, 59, 1,
405 0, 194, 0, 185, 0, 203, 0, 118, 193, 0,
406 80, 193, 0, 70, 193, 0, 88, 193, 0, 175,
407 193, 0, 67, 155, 0, 13, 187, 0, 13, 93,
408 214, 108, 0, 29, 187, 0, 29, 93, 214, 108,
409 0, 205, 286, 0, 205, 286, 191, 0, 205, 188,
410 286, 0, 205, 188, 286, 191, 0, 205, 93, 214,
411 108, 0, 205, 93, 214, 108, 191, 0, 205, 188,
412 93, 214, 108, 0, 205, 188, 93, 214, 108, 191,
413 0, 206, 193, 0, 206, 94, 111, 193, 0, 206,
414 94, 176, 111, 193, 0, 34, 193, 0, 35, 193,
415 0, 0, 93, 189, 186, 108, 0, 0, 58, 190,
416 186, 109, 0, 93, 186, 108, 0, 47, 0, 93,
417 221, 108, 0, 64, 243, 0, 93, 214, 108, 0,
418 192, 93, 214, 108, 0, 187, 0, 192, 187, 0,
419 192, 58, 244, 255, 109, 0, 193, 0, 194, 83,
420 194, 0, 194, 84, 194, 0, 194, 78, 194, 0,
421 194, 79, 194, 0, 194, 80, 194, 0, 194, 81,
422 194, 0, 194, 82, 194, 0, 194, 76, 194, 0,
423 194, 77, 194, 0, 194, 73, 194, 0, 194, 74,
424 194, 0, 194, 75, 194, 0, 194, 72, 194, 0,
425 194, 71, 194, 0, 194, 70, 194, 0, 194, 68,
426 194, 0, 194, 69, 194, 0, 194, 67, 194, 0,
427 194, 66, 194, 0, 194, 65, 363, 62, 194, 0,
428 194, 64, 194, 0, 194, 63, 194, 0, 61, 0,
429 61, 194, 0, 88, 378, 155, 0, 197, 0, 385,
430 0, 3, 0, 56, 0, 57, 0, 0, 6, 74,
431 196, 172, 171, 0, 385, 74, 196, 172, 171, 0,
432 48, 155, 74, 172, 171, 0, 48, 6, 74, 172,
433 171, 0, 48, 385, 74, 172, 171, 0, 195, 0,
434 4, 0, 5, 0, 195, 0, 80, 200, 0, 70,
435 200, 0, 93, 200, 108, 0, 3, 74, 172, 171,
436 0, 57, 74, 173, 171, 0, 299, 0, 195, 0,
437 201, 0, 93, 200, 108, 0, 195, 0, 10, 0,
438 207, 0, 208, 0, 93, 176, 108, 0, 93, 200,
439 108, 0, 93, 1, 108, 0, 0, 93, 204, 325,
440 108, 0, 203, 93, 186, 108, 0, 203, 47, 0,
441 203, 94, 176, 111, 0, 203, 86, 0, 203, 87,
442 0, 40, 0, 9, 93, 186, 108, 0, 303, 0,
443 50, 74, 214, 75, 93, 176, 108, 0, 51, 74,
444 214, 75, 93, 176, 108, 0, 52, 74, 214, 75,
445 93, 176, 108, 0, 53, 74, 214, 75, 93, 176,
446 108, 0, 49, 93, 176, 108, 0, 49, 93, 214,
447 108, 0, 314, 3, 0, 314, 385, 0, 302, 0,
448 302, 93, 186, 108, 0, 302, 47, 0, 210, 198,
449 0, 210, 198, 93, 186, 108, 0, 210, 198, 47,
450 0, 210, 199, 0, 210, 302, 0, 210, 199, 93,
451 186, 108, 0, 210, 199, 47, 0, 210, 302, 93,
452 186, 108, 0, 210, 302, 47, 0, 210, 88, 8,
453 47, 0, 210, 8, 54, 88, 8, 47, 0, 210,
454 1, 0, 39, 0, 314, 39, 0, 38, 0, 314,
455 206, 0, 42, 0, 43, 0, 11, 0, 208, 11,
456 0, 0, 203, 92, 0, 203, 91, 0, 221, 223,
457 60, 0, 215, 223, 60, 0, 218, 224, 60, 0,
458 215, 60, 0, 218, 60, 0, 118, 211, 0, 292,
459 0, 297, 0, 47, 0, 213, 47, 0, 219, 317,
460 0, 288, 317, 0, 221, 317, 0, 219, 0, 288,
461 0, 219, 0, 216, 0, 218, 221, 0, 221, 217,
462 0, 221, 220, 217, 0, 218, 221, 217, 0, 218,
463 221, 220, 0, 218, 221, 220, 217, 0, 7, 0,
464 217, 222, 0, 217, 7, 0, 217, 236, 0, 236,
465 0, 288, 0, 7, 0, 218, 9, 0, 218, 7,
466 0, 218, 236, 0, 236, 0, 221, 0, 288, 221,
467 0, 221, 220, 0, 288, 221, 220, 0, 222, 0,
468 220, 222, 0, 250, 0, 8, 0, 294, 0, 28,
469 93, 176, 108, 0, 28, 93, 214, 108, 0, 30,
470 93, 176, 108, 0, 30, 93, 214, 108, 0, 8,
471 0, 9, 0, 250, 0, 231, 0, 223, 59, 227,
472 0, 232, 0, 224, 59, 227, 0, 233, 0, 225,
473 59, 227, 0, 0, 119, 93, 208, 108, 0, 0,
474 212, 226, 235, 64, 228, 243, 0, 212, 226, 235,
475 0, 0, 235, 64, 230, 243, 0, 235, 0, 212,
476 226, 229, 0, 297, 226, 229, 0, 0, 297, 226,
477 234, 229, 0, 141, 226, 235, 0, 0, 236, 0,
478 237, 0, 236, 237, 0, 31, 93, 93, 238, 108,
479 108, 0, 239, 0, 238, 59, 239, 0, 0, 240,
480 0, 240, 93, 3, 108, 0, 240, 93, 3, 59,
481 186, 108, 0, 240, 93, 186, 108, 0, 155, 0,
482 7, 0, 8, 0, 9, 0, 155, 0, 241, 59,
483 155, 0, 0, 64, 243, 0, 194, 0, 58, 109,
484 0, 58, 244, 109, 0, 58, 244, 59, 109, 0,
485 1, 0, 243, 0, 244, 59, 243, 0, 94, 194,
486 111, 243, 0, 155, 62, 243, 0, 244, 59, 155,
487 62, 243, 0, 97, 0, 245, 138, 137, 324, 0,
488 245, 138, 348, 0, 245, 138, 1, 0, 0, 247,
489 246, 139, 0, 102, 194, 107, 0, 102, 1, 107,
490 0, 0, 249, 248, 0, 249, 1, 0, 0, 14,
491 155, 58, 251, 284, 256, 109, 0, 14, 155, 58,
492 109, 0, 0, 14, 58, 252, 284, 256, 109, 0,
493 14, 58, 109, 0, 14, 155, 0, 14, 312, 0,
494 45, 307, 0, 0, 0, 264, 270, 272, 109, 235,
495 253, 249, 254, 247, 0, 264, 0, 0, 59, 0,
496 0, 59, 0, 36, 0, 257, 7, 0, 257, 8,
497 0, 257, 9, 0, 257, 36, 0, 257, 155, 0,
498 257, 157, 0, 257, 305, 155, 0, 257, 314, 305,
499 155, 0, 257, 314, 155, 0, 257, 169, 0, 257,
500 305, 169, 0, 0, 258, 0, 259, 261, 265, 0,
501 260, 265, 0, 257, 58, 0, 263, 0, 262, 0,
502 0, 62, 378, 0, 62, 378, 266, 0, 267, 0,
503 266, 59, 378, 267, 0, 268, 0, 269, 378, 268,
504 0, 307, 0, 293, 0, 30, 93, 176, 108, 0,
505 30, 93, 214, 108, 0, 37, 378, 0, 7, 378,
506 0, 269, 37, 378, 0, 269, 7, 378, 0, 58,
507 0, 0, 271, 0, 271, 273, 0, 272, 37, 62,
508 273, 0, 272, 37, 62, 0, 274, 0, 273, 274,
509 0, 275, 60, 0, 275, 109, 0, 148, 62, 0,
510 148, 95, 0, 148, 25, 0, 148, 58, 0, 60,
511 0, 118, 274, 0, 128, 274, 0, 128, 215, 60,
512 0, 215, 276, 0, 218, 277, 0, 297, 226, 235,
513 242, 0, 141, 226, 235, 242, 0, 62, 194, 0,
514 1, 0, 218, 147, 226, 235, 242, 0, 147, 226,
515 235, 242, 0, 125, 0, 0, 278, 0, 276, 59,
516 279, 0, 0, 281, 0, 277, 59, 283, 0, 280,
517 0, 281, 0, 282, 0, 283, 0, 292, 226, 235,
518 242, 0, 4, 62, 194, 235, 0, 297, 226, 235,
519 242, 0, 141, 226, 235, 242, 0, 3, 62, 194,
520 235, 0, 62, 194, 235, 0, 292, 226, 235, 242,
521 0, 4, 62, 194, 235, 0, 297, 226, 235, 242,
522 0, 3, 62, 194, 235, 0, 62, 194, 235, 0,
523 285, 0, 284, 59, 285, 0, 155, 0, 155, 64,
524 194, 0, 358, 315, 0, 358, 0, 93, 214, 108,
525 94, 176, 111, 0, 0, 287, 9, 0, 9, 0,
526 288, 9, 0, 0, 289, 176, 0, 289, 93, 186,
527 108, 0, 289, 93, 368, 108, 0, 289, 47, 0,
528 289, 93, 1, 108, 0, 80, 288, 292, 0, 70,
529 288, 292, 0, 80, 292, 0, 70, 292, 0, 313,
530 287, 292, 0, 296, 0, 304, 0, 314, 304, 0,
531 293, 0, 295, 0, 314, 295, 0, 305, 304, 0,
532 296, 291, 287, 380, 0, 296, 94, 290, 111, 0,
533 296, 94, 111, 0, 93, 292, 108, 0, 305, 304,
534 0, 304, 0, 80, 288, 297, 0, 70, 288, 297,
535 0, 80, 297, 0, 70, 297, 0, 313, 287, 297,
536 0, 202, 0, 80, 288, 297, 0, 70, 288, 297,
537 0, 80, 298, 0, 70, 298, 0, 313, 287, 297,
538 0, 299, 0, 202, 291, 287, 380, 0, 93, 298,
539 108, 0, 202, 94, 290, 111, 0, 202, 94, 111,
540 0, 301, 0, 305, 201, 0, 305, 199, 0, 305,
541 198, 0, 305, 195, 0, 305, 198, 0, 301, 0,
542 314, 301, 0, 221, 93, 186, 108, 0, 221, 93,
543 200, 108, 0, 221, 213, 0, 4, 0, 5, 0,
544 169, 0, 306, 0, 305, 306, 0, 305, 48, 311,
545 54, 0, 4, 54, 0, 5, 54, 0, 57, 54,
546 0, 169, 54, 0, 308, 0, 314, 308, 0, 309,
547 155, 0, 309, 169, 0, 309, 311, 0, 309, 48,
548 311, 0, 310, 0, 309, 310, 0, 309, 311, 54,
549 0, 309, 48, 311, 54, 0, 4, 54, 0, 5,
550 54, 0, 169, 54, 0, 56, 54, 0, 3, 54,
551 0, 57, 54, 0, 155, 74, 172, 171, 0, 314,
552 304, 0, 295, 0, 314, 295, 0, 305, 80, 0,
553 314, 305, 80, 0, 54, 0, 80, 287, 315, 0,
554 80, 287, 0, 70, 287, 315, 0, 70, 287, 0,
555 313, 287, 0, 313, 287, 315, 0, 316, 0, 94,
556 176, 111, 0, 316, 94, 290, 111, 0, 80, 288,
557 317, 0, 80, 317, 0, 80, 288, 0, 80, 0,
558 70, 288, 317, 0, 70, 317, 0, 70, 288, 0,
559 70, 0, 313, 287, 0, 313, 287, 317, 0, 318,
560 0, 93, 317, 108, 0, 90, 0, 318, 93, 368,
561 108, 287, 380, 0, 318, 47, 287, 380, 0, 318,
562 94, 290, 111, 0, 318, 94, 111, 0, 93, 369,
563 108, 287, 380, 0, 192, 287, 380, 0, 213, 287,
564 380, 0, 94, 290, 111, 0, 94, 111, 0, 332,
565 0, 320, 0, 319, 332, 0, 319, 320, 0, 1,
566 60, 0, 0, 322, 0, 323, 0, 322, 323, 0,
567 33, 241, 60, 0, 325, 0, 1, 325, 0, 0,
568 58, 326, 182, 0, 0, 0, 15, 328, 178, 329,
569 330, 0, 325, 0, 0, 331, 333, 0, 325, 0,
570 333, 0, 211, 0, 176, 60, 0, 0, 327, 16,
571 334, 330, 0, 327, 0, 0, 0, 17, 335, 178,
572 336, 183, 0, 0, 0, 18, 337, 330, 17, 338,
573 177, 60, 0, 0, 0, 0, 0, 19, 339, 93,
574 361, 340, 179, 60, 341, 363, 108, 342, 183, 0,
575 0, 0, 20, 343, 93, 180, 108, 344, 330, 0,
576 0, 21, 194, 62, 345, 332, 0, 0, 21, 194,
577 12, 194, 62, 346, 332, 0, 0, 22, 62, 347,
578 332, 0, 23, 60, 0, 24, 60, 0, 25, 60,
579 0, 25, 176, 60, 0, 119, 362, 93, 208, 108,
580 60, 0, 119, 362, 93, 208, 62, 364, 108, 60,
581 0, 119, 362, 93, 208, 62, 364, 62, 364, 108,
582 60, 0, 119, 362, 93, 208, 62, 364, 62, 364,
583 62, 367, 108, 60, 0, 26, 80, 176, 60, 0,
584 26, 155, 60, 0, 360, 332, 0, 360, 109, 0,
585 60, 0, 351, 0, 0, 0, 95, 349, 137, 325,
586 350, 354, 0, 0, 0, 95, 352, 325, 353, 354,
587 0, 355, 0, 354, 355, 0, 0, 0, 96, 356,
588 359, 357, 325, 0, 219, 0, 288, 0, 93, 12,
589 108, 0, 93, 377, 108, 0, 3, 62, 0, 56,
590 62, 0, 4, 62, 0, 5, 62, 0, 363, 60,
591 0, 211, 0, 58, 182, 0, 0, 9, 0, 0,
592 176, 0, 1, 0, 0, 365, 0, 366, 0, 365,
593 59, 366, 0, 11, 93, 176, 108, 0, 11, 0,
594 367, 59, 11, 0, 0, 369, 0, 214, 0, 373,
595 0, 374, 12, 0, 373, 12, 0, 214, 12, 0,
596 12, 0, 373, 62, 0, 214, 62, 0, 0, 64,
597 371, 372, 0, 101, 0, 243, 0, 375, 0, 377,
598 370, 0, 374, 376, 0, 374, 379, 0, 374, 379,
599 64, 243, 0, 373, 59, 0, 214, 59, 0, 216,
600 212, 0, 219, 212, 0, 221, 212, 0, 216, 317,
601 0, 216, 0, 218, 297, 0, 377, 0, 377, 370,
602 0, 375, 0, 214, 0, 0, 0, 297, 0, 0,
603 61, 93, 382, 108, 0, 61, 47, 0, 214, 0,
604 381, 0, 382, 59, 381, 0, 0, 80, 287, 383,
605 0, 70, 287, 383, 0, 313, 287, 383, 0, 41,
606 0, 384, 80, 0, 384, 81, 0, 384, 82, 0,
607 384, 78, 0, 384, 79, 0, 384, 70, 0, 384,
608 68, 0, 384, 69, 0, 384, 88, 0, 384, 59,
609 0, 384, 73, 0, 384, 74, 0, 384, 75, 0,
610 384, 72, 0, 384, 63, 0, 384, 64, 0, 384,
611 76, 0, 384, 77, 0, 384, 86, 0, 384, 87,
612 0, 384, 67, 0, 384, 66, 0, 384, 110, 0,
613 384, 65, 62, 0, 384, 71, 0, 384, 91, 0,
614 384, 83, 0, 384, 47, 0, 384, 94, 111, 0,
615 384, 39, 0, 384, 38, 0, 384, 39, 94, 111,
616 0, 384, 38, 94, 111, 0, 384, 358, 383, 0,
617 384, 1, 0
618 };
619
620 #endif
621
622 #if YYDEBUG != 0
623 static const short yyrline[] = { 0,
624 328, 330, 338, 341, 342, 346, 348, 351, 356, 360,
625 366, 370, 373, 377, 380, 382, 384, 387, 389, 392,
626 395, 397, 399, 401, 403, 405, 407, 416, 420, 423,
627 425, 429, 431, 432, 434, 438, 441, 447, 450, 452,
628 457, 460, 464, 467, 470, 473, 477, 482, 492, 494,
629 496, 498, 500, 513, 522, 532, 534, 536, 540, 542,
630 543, 550, 551, 552, 555, 558, 562, 564, 565, 568,
631 570, 573, 576, 578, 582, 585, 587, 591, 593, 595,
632 599, 601, 603, 607, 609, 611, 617, 621, 624, 627,
633 630, 635, 638, 640, 642, 648, 658, 660, 663, 666,
634 668, 671, 675, 684, 687, 689, 693, 706, 726, 729,
635 731, 732, 735, 742, 748, 750, 752, 754, 756, 759,
636 764, 766, 767, 768, 769, 772, 774, 775, 778, 780,
637 781, 784, 789, 789, 793, 793, 796, 796, 799, 799,
638 803, 803, 808, 808, 811, 811, 814, 816, 819, 826,
639 833, 839, 842, 851, 853, 861, 864, 867, 870, 874,
640 877, 880, 883, 885, 887, 889, 893, 896, 899, 904,
641 908, 913, 917, 920, 922, 926, 945, 952, 955, 957,
642 958, 959, 962, 966, 967, 971, 975, 978, 980, 984,
643 987, 990, 994, 997, 999, 1001, 1003, 1006, 1010, 1012,
644 1014, 1016, 1022, 1025, 1028, 1031, 1034, 1038, 1041, 1044,
645 1048, 1050, 1054, 1058, 1060, 1064, 1067, 1069, 1072, 1076,
646 1079, 1081, 1089, 1102, 1107, 1113, 1115, 1117, 1130, 1133,
647 1135, 1137, 1139, 1141, 1143, 1145, 1147, 1149, 1151, 1153,
648 1155, 1157, 1159, 1161, 1163, 1165, 1167, 1169, 1171, 1173,
649 1177, 1179, 1181, 1198, 1201, 1202, 1203, 1204, 1205, 1208,
650 1211, 1214, 1218, 1221, 1223, 1228, 1230, 1231, 1234, 1236,
651 1238, 1240, 1244, 1247, 1251, 1253, 1254, 1255, 1259, 1267,
652 1268, 1269, 1277, 1279, 1282, 1284, 1294, 1296, 1298, 1300,
653 1302, 1304, 1307, 1309, 1353, 1354, 1358, 1362, 1366, 1370,
654 1372, 1376, 1378, 1386, 1388, 1390, 1392, 1396, 1398, 1400,
655 1402, 1407, 1409, 1411, 1413, 1416, 1418, 1420, 1464, 1467,
656 1471, 1474, 1478, 1481, 1486, 1488, 1492, 1505, 1508, 1515,
657 1522, 1527, 1529, 1534, 1536, 1543, 1545, 1549, 1553, 1559,
658 1563, 1566, 1569, 1572, 1582, 1584, 1587, 1591, 1594, 1597,
659 1600, 1603, 1609, 1615, 1617, 1622, 1624, 1633, 1636, 1638,
660 1641, 1647, 1649, 1659, 1663, 1666, 1669, 1674, 1677, 1685,
661 1687, 1689, 1691, 1694, 1697, 1712, 1731, 1734, 1736, 1739,
662 1741, 1744, 1746, 1749, 1751, 1754, 1757, 1761, 1767, 1768,
663 1780, 1787, 1790, 1796, 1800, 1805, 1811, 1812, 1820, 1823,
664 1827, 1830, 1834, 1839, 1842, 1846, 1849, 1851, 1853, 1855,
665 1862, 1864, 1865, 1866, 1870, 1873, 1877, 1880, 1886, 1888,
666 1891, 1894, 1897, 1903, 1906, 1909, 1911, 1913, 1917, 1923,
667 1931, 1933, 1937, 1939, 1944, 1947, 1950, 1952, 1954, 1958,
668 1962, 1967, 1971, 1974, 1979, 1983, 1986, 1989, 1993, 2005,
669 2007, 2010, 2030, 2032, 2035, 2037, 2042, 2044, 2046, 2048,
670 2050, 2054, 2059, 2064, 2070, 2075, 2080, 2082, 2086, 2091,
671 2094, 2101, 2129, 2135, 2137, 2140, 2143, 2145, 2149, 2151,
672 2155, 2181, 2210, 2213, 2214, 2235, 2258, 2260, 2264, 2275,
673 2289, 2294, 2301, 2304, 2312, 2323, 2332, 2336, 2351, 2354,
674 2359, 2361, 2363, 2365, 2367, 2369, 2372, 2374, 2386, 2392,
675 2394, 2397, 2400, 2402, 2413, 2418, 2421, 2426, 2429, 2430,
676 2441, 2444, 2445, 2456, 2458, 2461, 2463, 2466, 2473, 2481,
677 2488, 2494, 2500, 2508, 2512, 2517, 2521, 2524, 2533, 2535,
678 2539, 2542, 2547, 2551, 2556, 2566, 2569, 2573, 2577, 2585,
679 2590, 2596, 2599, 2601, 2603, 2609, 2612, 2614, 2616, 2618,
680 2622, 2625, 2643, 2653, 2655, 2656, 2660, 2665, 2668, 2670,
681 2672, 2674, 2678, 2684, 2687, 2689, 2691, 2693, 2697, 2700,
682 2703, 2705, 2707, 2709, 2713, 2716, 2719, 2721, 2723, 2725,
683 2732, 2743, 2747, 2752, 2756, 2761, 2763, 2767, 2770, 2772,
684 2776, 2778, 2779, 2782, 2784, 2786, 2792, 2807, 2813, 2819,
685 2833, 2835, 2839, 2853, 2855, 2857, 2861, 2867, 2880, 2882,
686 2886, 2899, 2905, 2907, 2908, 2909, 2917, 2922, 2931, 2932,
687 2936, 2939, 2945, 2951, 2954, 2956, 2958, 2960, 2964, 2968,
688 2972, 2975, 2980, 2983, 2985, 2987, 2989, 2991, 2993, 2995,
689 2997, 3001, 3005, 3009, 3013, 3014, 3016, 3018, 3020, 3022,
690 3024, 3026, 3028, 3030, 3038, 3040, 3041, 3042, 3045, 3051,
691 3053, 3058, 3060, 3063, 3077, 3080, 3083, 3087, 3090, 3097,
692 3099, 3102, 3104, 3106, 3109, 3112, 3115, 3118, 3120, 3123,
693 3127, 3129, 3135, 3137, 3138, 3140, 3145, 3147, 3149, 3151,
694 3153, 3156, 3157, 3159, 3162, 3163, 3166, 3166, 3169, 3169,
695 3172, 3172, 3174, 3176, 3178, 3180, 3186, 3192, 3195, 3198,
696 3204, 3206, 3208, 3212, 3214, 3217, 3224, 3230, 3239, 3243,
697 3245, 3248, 3250, 3253, 3257, 3259, 3262, 3264, 3267, 3284,
698 3290, 3298, 3300, 3302, 3306, 3309, 3310, 3318, 3322, 3326,
699 3329, 3330, 3336, 3339, 3342, 3344, 3348, 3353, 3356, 3366,
700 3371, 3372, 3379, 3382, 3385, 3387, 3390, 3392, 3402, 3416,
701 3420, 3423, 3425, 3429, 3433, 3436, 3439, 3441, 3445, 3447,
702 3454, 3461, 3464, 3467, 3471, 3475, 3481, 3485, 3490, 3492,
703 3495, 3500, 3506, 3517, 3520, 3522, 3526, 3531, 3533, 3540,
704 3543, 3545, 3547, 3553, 3558, 3561, 3563, 3565, 3567, 3569,
705 3571, 3573, 3575, 3577, 3579, 3581, 3583, 3585, 3587, 3589,
706 3591, 3593, 3595, 3597, 3599, 3601, 3603, 3605, 3607, 3609,
707 3611, 3613, 3615, 3617, 3619, 3621, 3623, 3626, 3628
708 };
709 #endif
710
711
712 #if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
713
714 static const char * const yytname[] = { "$","error","$undefined.","IDENTIFIER",
715 "TYPENAME","SELFNAME","PFUNCNAME","SCSPEC","TYPESPEC","CV_QUALIFIER","CONSTANT",
716 "STRING","ELLIPSIS","SIZEOF","ENUM","IF","ELSE","WHILE","DO","FOR","SWITCH",
717 "CASE","DEFAULT","BREAK","CONTINUE","RETURN","GOTO","ASM_KEYWORD","TYPEOF","ALIGNOF",
718 "SIGOF","ATTRIBUTE","EXTENSION","LABEL","REALPART","IMAGPART","AGGR","VISSPEC",
719 "DELETE","NEW","THIS","OPERATOR","CXX_TRUE","CXX_FALSE","NAMESPACE","TYPENAME_KEYWORD",
720 "USING","LEFT_RIGHT","TEMPLATE","TYPEID","DYNAMIC_CAST","STATIC_CAST","REINTERPRET_CAST",
721 "CONST_CAST","SCOPE","EMPTY","PTYPENAME","NSNAME","'{'","','","';'","THROW",
722 "':'","ASSIGN","'='","'?'","OROR","ANDAND","'|'","'^'","'&'","MIN_MAX","EQCOMPARE",
723 "ARITHCOMPARE","'<'","'>'","LSHIFT","RSHIFT","'+'","'-'","'*'","'/'","'%'","POINTSAT_STAR",
724 "DOT_STAR","UNARY","PLUSPLUS","MINUSMINUS","'~'","HYPERUNARY","PAREN_STAR_PAREN",
725 "POINTSAT","'.'","'('","'['","TRY","CATCH","PRE_PARSED_FUNCTION_DECL","EXTERN_LANG_STRING",
726 "ALL","PRE_PARSED_CLASS_DECL","DEFARG","DEFARG_MARKER","TYPENAME_DEFN","IDENTIFIER_DEFN",
727 "PTYPENAME_DEFN","END_OF_LINE","END_OF_SAVED_INPUT","')'","'}'","'!'","']'",
728 "program","extdefs","@1","extdefs_opt",".hush_warning",".warning_ok","extension",
729 "asm_keyword","lang_extdef","@2","extdef","@3","@4","using_decl","any_id","extern_lang_string",
730 "template_header","@5","template_parm_list","maybe_identifier","template_type_parm",
731 "template_template_parm","template_parm","template_def","datadef","ctor_initializer_opt",
732 "maybe_return_init","eat_saved_input","fndef","constructor_declarator","@6",
733 "@7","@8","@9","fn.def1","component_constructor_declarator","fn.def2","return_id",
734 "return_init","base_init",".set_base_init","member_init_list","member_init",
735 "identifier","notype_identifier","identifier_defn","explicit_instantiation",
736 "@10","@11","@12","@13","@14","@15","@16","@17","begin_explicit_instantiation",
737 "end_explicit_instantiation","template_type","self_template_type","template_close_bracket",
738 "template_arg_list_opt","template_arg_list","template_arg","unop","expr","paren_expr_or_null",
739 "paren_cond_or_null","xcond","condition","@18","compstmtend","already_scoped_stmt",
740 "@19","nontrivial_exprlist","nonnull_exprlist","unary_expr","new_placement",
741 "@20","@21","new_initializer","regcast_or_absdcl","cast_expr","expr_no_commas",
742 "notype_unqualified_id","do_id","template_id","object_template_id","unqualified_id",
743 "expr_or_declarator","notype_template_declarator","direct_notype_declarator",
744 "primary","@22","new","delete","boolean.literal","string","nodecls","object",
745 "decl","declarator","fcast_or_absdcl","type_id","typed_declspecs","typed_declspecs1",
746 "reserved_declspecs","declmods","typed_typespecs","reserved_typespecquals","typespec",
747 "typespecqual_reserved","initdecls","notype_initdecls","nomods_initdecls","maybeasm",
748 "initdcl","@23","initdcl0_innards","@24","initdcl0","notype_initdcl0","nomods_initdcl0",
749 "@25","maybe_attribute","attributes","attribute","attribute_list","attrib","any_word",
750 "identifiers_or_typenames","maybe_init","init","initlist","fn.defpen","pending_inline",
751 "pending_inlines","defarg_again","pending_defargs","structsp","@26","@27","@28",
752 "@29","maybecomma","maybecomma_warn","aggr","named_class_head_sans_basetype",
753 "named_class_head_sans_basetype_defn","named_complex_class_head_sans_basetype",
754 "do_xref_defn","named_class_head","unnamed_class_head","class_head","maybe_base_class_list",
755 "base_class_list","base_class","base_class.1","base_class_access_list","left_curly",
756 "self_reference","opt.component_decl_list","component_decl_list","component_decl",
757 "component_decl_1","components","notype_components","component_declarator0",
758 "component_declarator","after_type_component_declarator0","notype_component_declarator0",
759 "after_type_component_declarator","notype_component_declarator","enumlist","enumerator",
760 "new_type_id","cv_qualifiers","nonempty_cv_qualifiers","suspend_mom","nonmomentary_expr",
761 "maybe_parmlist","after_type_declarator","nonnested_type","complete_type_name",
762 "nested_type","direct_after_type_declarator","notype_declarator","complex_notype_declarator",
763 "complex_direct_notype_declarator","qualified_id","notype_qualified_id","overqualified_id",
764 "functional_cast","type_name","nested_name_specifier","nested_name_specifier_1",
765 "typename_sub","typename_sub0","typename_sub1","typename_sub2","explicit_template_type",
766 "complex_type_name","ptr_to_mem","global_scope","new_declarator","direct_new_declarator",
767 "absdcl","direct_abstract_declarator","stmts","errstmt","maybe_label_decls",
768 "label_decls","label_decl","compstmt_or_error","compstmt","@30","simple_if",
769 "@31","@32","implicitly_scoped_stmt","@33","stmt","simple_stmt","@34","@35",
770 "@36","@37","@38","@39","@40","@41","@42","@43","@44","@45","@46","@47","function_try_block",
771 "@48","@49","try_block","@50","@51","handler_seq","handler","@52","@53","type_specifier_seq",
772 "handler_args","label_colon","for.init.statement","maybe_cv_qualifier","xexpr",
773 "asm_operands","nonnull_asm_operands","asm_operand","asm_clobbers","parmlist",
774 "complex_parmlist","defarg","@54","defarg1","parms","parms_comma","named_parm",
775 "full_parm","parm","see_typename","bad_parm","exception_specification_opt","ansi_raise_identifier",
776 "ansi_raise_identifiers","conversion_declarator","operator","operator_name", NULL
777 };
778 #endif
779
780 static const short yyr1[] = { 0,
781 112, 112, 114, 113, 113, 115, 115, 116, 117, 118,
782 119, 121, 120, 122, 122, 122, 122, 122, 122, 122,
783 123, 122, 124, 122, 122, 122, 122, 122, 125, 125,
784 125, 126, 126, 126, 126, 127, 127, 129, 128, 128,
785 130, 130, 131, 131, 132, 132, 133, 134, 134, 134,
786 134, 134, 134, 135, 135, 136, 136, 136, 136, 136,
787 136, 136, 136, 136, 137, 137, 138, 138, 138, 139,
788 139, 140, 140, 140, 142, 141, 141, 143, 141, 141,
789 144, 141, 141, 145, 141, 141, 146, 146, 146, 146,
790 146, 147, 147, 147, 147, 148, 148, 148, 148, 148,
791 148, 148, 149, 150, 150, 150, 151, 152, 153, 153,
792 153, 153, 154, 154, 154, 154, 154, 154, 154, 154,
793 155, 155, 155, 155, 155, 156, 156, 156, 157, 157,
794 157, 159, 158, 160, 158, 161, 158, 162, 158, 163,
795 158, 164, 158, 165, 158, 166, 158, 167, 168, 169,
796 169, 169, 170, 171, 171, 172, 172, 173, 173, 174,
797 174, 175, 175, 175, 175, 175, 176, 176, 177, 177,
798 178, 178, 179, 179, 179, 181, 180, 180, 182, 182,
799 182, 182, 184, 183, 183, 185, 185, 185, 185, 186,
800 186, 187, 187, 187, 187, 187, 187, 187, 187, 187,
801 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
802 187, 187, 187, 187, 187, 189, 188, 190, 188, 191,
803 191, 191, 191, 192, 192, 193, 193, 193, 194, 194,
804 194, 194, 194, 194, 194, 194, 194, 194, 194, 194,
805 194, 194, 194, 194, 194, 194, 194, 194, 194, 194,
806 194, 194, 194, 195, 195, 195, 195, 195, 195, 196,
807 197, 197, 198, 198, 198, 199, 199, 199, 200, 200,
808 200, 200, 201, 201, 202, 202, 202, 202, 203, 203,
809 203, 203, 203, 203, 203, 204, 203, 203, 203, 203,
810 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
811 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
812 203, 203, 203, 203, 203, 203, 203, 203, 205, 205,
813 206, 206, 207, 207, 208, 208, 209, 210, 210, 211,
814 211, 211, 211, 211, 211, 212, 212, 213, 213, 214,
815 214, 214, 214, 214, 215, 215, 216, 216, 216, 216,
816 216, 216, 217, 217, 217, 217, 217, 218, 218, 218,
817 218, 218, 218, 219, 219, 219, 219, 220, 220, 221,
818 221, 221, 221, 221, 221, 221, 222, 222, 222, 223,
819 223, 224, 224, 225, 225, 226, 226, 228, 227, 227,
820 230, 229, 229, 231, 232, 234, 233, 233, 235, 235,
821 236, 236, 237, 238, 238, 239, 239, 239, 239, 239,
822 240, 240, 240, 240, 241, 241, 242, 242, 243, 243,
823 243, 243, 243, 244, 244, 244, 244, 244, 245, 246,
824 246, 246, 247, 247, 248, 248, 249, 249, 249, 251,
825 250, 250, 252, 250, 250, 250, 250, 250, 253, 254,
826 250, 250, 255, 255, 256, 256, 257, 257, 257, 257,
827 257, 258, 259, 260, 260, 260, 260, 260, 261, 262,
828 262, 262, 263, 264, 264, 265, 265, 265, 266, 266,
829 267, 267, 268, 268, 268, 268, 269, 269, 269, 269,
830 270, 271, 272, 272, 272, 272, 273, 273, 274, 274,
831 274, 274, 274, 274, 274, 274, 274, 274, 275, 275,
832 275, 275, 275, 275, 275, 275, 275, 276, 276, 276,
833 277, 277, 277, 278, 278, 279, 279, 280, 280, 281,
834 281, 281, 281, 282, 282, 283, 283, 283, 284, 284,
835 285, 285, 286, 286, 286, 287, 287, 288, 288, 289,
836 290, 291, 291, 291, 291, 292, 292, 292, 292, 292,
837 292, 293, 293, 294, 294, 294, 295, 296, 296, 296,
838 296, 296, 296, 297, 297, 297, 297, 297, 297, 298,
839 298, 298, 298, 298, 298, 299, 299, 299, 299, 299,
840 299, 300, 300, 301, 301, 302, 302, 303, 303, 303,
841 304, 304, 304, 305, 305, 305, 306, 306, 306, 306,
842 307, 307, 308, 308, 308, 308, 309, 309, 309, 309,
843 310, 310, 310, 310, 310, 310, 311, 312, 312, 312,
844 313, 313, 314, 315, 315, 315, 315, 315, 315, 315,
845 316, 316, 317, 317, 317, 317, 317, 317, 317, 317,
846 317, 317, 317, 318, 318, 318, 318, 318, 318, 318,
847 318, 318, 318, 318, 319, 319, 319, 319, 320, 321,
848 321, 322, 322, 323, 324, 324, 326, 325, 328, 329,
849 327, 330, 331, 330, 332, 332, 333, 333, 334, 333,
850 333, 335, 336, 333, 337, 338, 333, 339, 340, 341,
851 342, 333, 343, 344, 333, 345, 333, 346, 333, 347,
852 333, 333, 333, 333, 333, 333, 333, 333, 333, 333,
853 333, 333, 333, 333, 333, 349, 350, 348, 352, 353,
854 351, 354, 354, 356, 357, 355, 358, 358, 359, 359,
855 360, 360, 360, 360, 361, 361, 361, 362, 362, 363,
856 363, 363, 364, 364, 365, 365, 366, 367, 367, 368,
857 368, 368, 369, 369, 369, 369, 369, 369, 369, 371,
858 370, 372, 372, 373, 373, 373, 373, 373, 374, 374,
859 375, 375, 375, 375, 375, 375, 376, 376, 377, 377,
860 378, 379, 379, 380, 380, 380, 381, 382, 382, 383,
861 383, 383, 383, 384, 385, 385, 385, 385, 385, 385,
862 385, 385, 385, 385, 385, 385, 385, 385, 385, 385,
863 385, 385, 385, 385, 385, 385, 385, 385, 385, 385,
864 385, 385, 385, 385, 385, 385, 385, 385, 385
865 };
866
867 static const short yyr2[] = { 0,
868 0, 1, 0, 2, 2, 1, 0, 0, 0, 1,
869 1, 0, 2, 2, 1, 1, 5, 4, 5, 4,
870 0, 6, 0, 5, 5, 2, 4, 2, 2, 3,
871 3, 1, 1, 2, 2, 1, 2, 0, 5, 3,
872 1, 3, 1, 0, 2, 2, 3, 1, 3, 1,
873 3, 1, 3, 2, 2, 2, 3, 3, 2, 2,
874 2, 2, 2, 1, 1, 1, 0, 1, 2, 0,
875 1, 4, 3, 3, 0, 8, 5, 0, 9, 6,
876 0, 8, 5, 0, 9, 6, 2, 2, 1, 2,
877 1, 6, 4, 6, 4, 2, 1, 2, 2, 1,
878 2, 1, 2, 2, 4, 2, 3, 0, 0, 1,
879 3, 2, 3, 1, 4, 2, 4, 2, 4, 2,
880 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
881 1, 0, 6, 0, 6, 0, 5, 0, 5, 0,
882 7, 0, 7, 0, 6, 0, 6, 0, 0, 4,
883 4, 1, 4, 1, 1, 0, 1, 1, 3, 1,
884 1, 1, 1, 1, 1, 1, 1, 1, 1, 3,
885 1, 3, 0, 1, 1, 0, 7, 1, 1, 3,
886 4, 3, 0, 3, 1, 3, 3, 3, 3, 1,
887 1, 1, 2, 2, 2, 2, 2, 2, 2, 4,
888 2, 4, 2, 3, 3, 4, 4, 5, 5, 6,
889 2, 4, 5, 2, 2, 0, 4, 0, 4, 3,
890 1, 3, 2, 3, 4, 1, 2, 5, 1, 3,
891 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
892 3, 3, 3, 3, 3, 3, 3, 3, 5, 3,
893 3, 1, 2, 3, 1, 1, 1, 1, 1, 0,
894 5, 5, 5, 5, 5, 1, 1, 1, 1, 2,
895 2, 3, 4, 4, 1, 1, 1, 3, 1, 1,
896 1, 1, 3, 3, 3, 0, 4, 4, 2, 4,
897 2, 2, 1, 4, 1, 7, 7, 7, 7, 4,
898 4, 2, 2, 1, 4, 2, 2, 5, 3, 2,
899 2, 5, 3, 5, 3, 4, 6, 2, 1, 2,
900 1, 2, 1, 1, 1, 2, 0, 2, 2, 3,
901 3, 3, 2, 2, 2, 1, 1, 1, 2, 2,
902 2, 2, 1, 1, 1, 1, 2, 2, 3, 3,
903 3, 4, 1, 2, 2, 2, 1, 1, 1, 2,
904 2, 2, 1, 1, 2, 2, 3, 1, 2, 1,
905 1, 1, 4, 4, 4, 4, 1, 1, 1, 1,
906 3, 1, 3, 1, 3, 0, 4, 0, 6, 3,
907 0, 4, 1, 3, 3, 0, 4, 3, 0, 1,
908 1, 2, 6, 1, 3, 0, 1, 4, 6, 4,
909 1, 1, 1, 1, 1, 3, 0, 2, 1, 2,
910 3, 4, 1, 1, 3, 4, 3, 5, 1, 4,
911 3, 3, 0, 3, 3, 3, 0, 2, 2, 0,
912 7, 4, 0, 6, 3, 2, 2, 2, 0, 0,
913 9, 1, 0, 1, 0, 1, 1, 2, 2, 2,
914 2, 2, 2, 3, 4, 3, 2, 3, 0, 1,
915 3, 2, 2, 1, 1, 0, 2, 3, 1, 4,
916 1, 3, 1, 1, 4, 4, 2, 2, 3, 3,
917 1, 0, 1, 2, 4, 3, 1, 2, 2, 2,
918 2, 2, 2, 2, 1, 2, 2, 3, 2, 2,
919 4, 4, 2, 1, 5, 4, 1, 0, 1, 3,
920 0, 1, 3, 1, 1, 1, 1, 4, 4, 4,
921 4, 4, 3, 4, 4, 4, 4, 3, 1, 3,
922 1, 3, 2, 1, 6, 0, 2, 1, 2, 0,
923 2, 4, 4, 2, 4, 3, 3, 2, 2, 3,
924 1, 1, 2, 1, 1, 2, 2, 4, 4, 3,
925 3, 2, 1, 3, 3, 2, 2, 3, 1, 3,
926 3, 2, 2, 3, 1, 4, 3, 4, 3, 1,
927 2, 2, 2, 2, 2, 1, 2, 4, 4, 2,
928 1, 1, 1, 1, 2, 4, 2, 2, 2, 2,
929 1, 2, 2, 2, 2, 3, 1, 2, 3, 4,
930 2, 2, 2, 2, 2, 2, 4, 2, 1, 2,
931 2, 3, 1, 3, 2, 3, 2, 2, 3, 1,
932 3, 4, 3, 2, 2, 1, 3, 2, 2, 1,
933 2, 3, 1, 3, 1, 6, 4, 4, 3, 5,
934 3, 3, 3, 2, 1, 1, 2, 2, 2, 0,
935 1, 1, 2, 3, 1, 2, 0, 3, 0, 0,
936 5, 1, 0, 2, 1, 1, 1, 2, 0, 4,
937 1, 0, 0, 5, 0, 0, 7, 0, 0, 0,
938 0, 12, 0, 0, 7, 0, 5, 0, 7, 0,
939 4, 2, 2, 2, 3, 6, 8, 10, 12, 4,
940 3, 2, 2, 1, 1, 0, 0, 6, 0, 0,
941 5, 1, 2, 0, 0, 5, 1, 1, 3, 3,
942 2, 2, 2, 2, 2, 1, 2, 0, 1, 0,
943 1, 1, 0, 1, 1, 3, 4, 1, 3, 0,
944 1, 1, 1, 2, 2, 2, 1, 2, 2, 0,
945 3, 1, 1, 1, 2, 2, 2, 4, 2, 2,
946 2, 2, 2, 2, 1, 2, 1, 2, 1, 1,
947 0, 0, 1, 0, 4, 2, 1, 1, 3, 0,
948 3, 3, 3, 1, 2, 2, 2, 2, 2, 2,
949 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
950 2, 2, 2, 2, 2, 2, 2, 3, 2, 2,
951 2, 2, 3, 2, 2, 4, 4, 3, 2
952 };
953
954 static const short yydefact[] = { 3,
955 12, 12, 5, 0, 4, 0, 257, 601, 602, 0,
956 359, 371, 548, 0, 11, 0, 0, 0, 10, 457,
957 804, 0, 0, 0, 148, 633, 258, 259, 64, 0,
958 0, 791, 0, 36, 0, 0, 13, 0, 8, 0,
959 16, 15, 70, 91, 67, 0, 603, 152, 276, 255,
960 277, 579, 0, 346, 0, 345, 364, 0, 384, 363,
961 401, 370, 0, 470, 469, 476, 475, 474, 452, 358,
962 564, 372, 565, 89, 275, 590, 562, 0, 604, 546,
963 0, 0, 256, 62, 63, 156, 607, 156, 608, 156,
964 260, 148, 121, 122, 123, 124, 125, 443, 446, 0,
965 629, 0, 447, 0, 0, 0, 0, 122, 123, 124,
966 125, 23, 0, 0, 0, 0, 0, 0, 0, 448,
967 611, 0, 617, 0, 0, 0, 0, 0, 0, 29,
968 0, 0, 38, 0, 156, 609, 0, 0, 577, 0,
969 0, 0, 576, 0, 0, 0, 0, 276, 0, 550,
970 0, 275, 546, 28, 0, 26, 3, 37, 0, 55,
971 54, 71, 14, 0, 399, 0, 0, 417, 68, 60,
972 610, 550, 0, 546, 61, 0, 0, 0, 87, 0,
973 380, 336, 561, 337, 573, 0, 546, 361, 360, 59,
974 90, 347, 0, 382, 362, 88, 353, 377, 378, 348,
975 366, 368, 357, 379, 0, 56, 402, 458, 459, 460,
976 461, 473, 130, 129, 131, 462, 463, 467, 0, 0,
977 476, 791, 472, 491, 492, 549, 365, 0, 396, 602,
978 0, 631, 152, 594, 595, 591, 567, 605, 0, 566,
979 563, 0, 839, 835, 834, 832, 814, 819, 820, 0,
980 826, 825, 811, 812, 810, 829, 818, 815, 816, 817,
981 821, 822, 808, 809, 805, 806, 807, 831, 823, 824,
982 813, 830, 0, 827, 737, 364, 738, 800, 260, 257,
983 548, 280, 325, 0, 0, 0, 0, 321, 319, 293,
984 323, 324, 0, 0, 0, 0, 0, 259, 252, 0,
985 0, 163, 162, 0, 164, 165, 0, 0, 166, 0,
986 0, 157, 158, 0, 226, 0, 229, 161, 279, 192,
987 0, 0, 281, 282, 0, 160, 343, 364, 344, 596,
988 304, 295, 0, 0, 0, 0, 156, 0, 445, 0,
989 440, 0, 630, 628, 0, 167, 168, 0, 0, 0,
990 406, 3, 21, 0, 625, 621, 622, 624, 626, 623,
991 121, 122, 123, 0, 124, 125, 613, 614, 618, 615,
992 612, 267, 268, 0, 266, 32, 33, 0, 593, 592,
993 31, 30, 40, 0, 359, 138, 0, 0, 364, 136,
994 0, 0, 575, 0, 574, 254, 271, 0, 583, 270,
995 0, 582, 0, 278, 587, 0, 0, 12, 0, 148,
996 9, 9, 0, 398, 400, 103, 74, 108, 726, 0,
997 66, 65, 73, 106, 0, 0, 104, 69, 589, 0,
998 0, 554, 0, 794, 0, 559, 0, 558, 0, 0,
999 0, 0, 546, 399, 0, 58, 550, 546, 572, 0,
1000 350, 351, 0, 57, 399, 355, 354, 356, 349, 369,
1001 386, 385, 464, 468, 466, 0, 471, 477, 0, 0,
1002 367, 399, 546, 75, 0, 0, 0, 0, 546, 81,
1003 547, 578, 602, 632, 152, 0, 0, 828, 833, 366,
1004 546, 546, 0, 546, 838, 156, 0, 0, 0, 199,
1005 0, 0, 201, 214, 215, 0, 0, 0, 0, 0,
1006 253, 198, 195, 194, 196, 0, 0, 0, 0, 0,
1007 279, 0, 0, 0, 193, 154, 155, 273, 0, 197,
1008 0, 0, 227, 0, 0, 0, 0, 0, 0, 0,
1009 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1010 0, 0, 0, 0, 0, 289, 291, 292, 329, 328,
1011 0, 0, 218, 216, 0, 203, 544, 0, 211, 326,
1012 318, 0, 0, 791, 307, 310, 311, 0, 0, 338,
1013 650, 646, 655, 0, 550, 546, 546, 546, 340, 653,
1014 0, 600, 342, 0, 0, 341, 306, 0, 302, 320,
1015 322, 597, 0, 303, 151, 153, 0, 146, 0, 364,
1016 144, 541, 455, 539, 442, 0, 0, 373, 0, 0,
1017 374, 375, 376, 412, 413, 414, 411, 0, 404, 407,
1018 0, 3, 0, 616, 156, 619, 27, 35, 34, 44,
1019 0, 0, 0, 48, 52, 41, 790, 785, 0, 343,
1020 364, 44, 344, 789, 50, 149, 134, 132, 149, 150,
1021 274, 581, 580, 278, 584, 0, 18, 20, 70, 0,
1022 109, 327, 0, 677, 72, 675, 423, 0, 419, 418,
1023 191, 0, 190, 551, 588, 0, 767, 0, 762, 364,
1024 0, 761, 763, 792, 774, 0, 0, 586, 557, 556,
1025 0, 0, 571, 0, 394, 393, 381, 570, 0, 794,
1026 560, 352, 383, 395, 399, 465, 601, 602, 791, 0,
1027 791, 603, 478, 479, 481, 791, 484, 483, 0, 514,
1028 602, 0, 505, 0, 0, 517, 0, 102, 97, 0,
1029 152, 518, 521, 0, 497, 0, 100, 0, 399, 397,
1030 794, 760, 156, 156, 606, 156, 794, 760, 546, 78,
1031 546, 84, 837, 836, 800, 800, 800, 0, 0, 0,
1032 0, 600, 0, 0, 0, 0, 364, 0, 0, 0,
1033 285, 0, 283, 284, 0, 224, 159, 257, 601, 602,
1034 258, 259, 0, 0, 424, 453, 0, 251, 250, 752,
1035 751, 0, 248, 247, 245, 246, 244, 243, 242, 239,
1036 240, 241, 237, 238, 232, 233, 234, 235, 236, 230,
1037 231, 0, 0, 0, 0, 0, 0, 205, 221, 0,
1038 0, 204, 546, 546, 0, 546, 543, 640, 0, 0,
1039 0, 0, 0, 309, 0, 313, 0, 315, 0, 649,
1040 648, 645, 644, 790, 0, 0, 664, 0, 0, 794,
1041 339, 794, 651, 546, 760, 550, 650, 646, 0, 0,
1042 546, 0, 0, 0, 0, 0, 261, 149, 142, 140,
1043 149, 0, 456, 0, 455, 189, 188, 187, 186, 406,
1044 0, 0, 24, 0, 25, 620, 0, 46, 43, 44,
1045 0, 39, 0, 0, 650, 646, 0, 781, 546, 784,
1046 786, 0, 782, 783, 45, 462, 0, 139, 149, 149,
1047 137, 17, 19, 387, 126, 114, 127, 128, 0, 107,
1048 110, 0, 0, 0, 0, 676, 670, 420, 0, 105,
1049 555, 552, 766, 780, 769, 0, 553, 765, 779, 768,
1050 764, 793, 776, 787, 777, 770, 775, 796, 0, 391,
1051 569, 568, 390, 488, 0, 487, 791, 791, 791, 0,
1052 546, 760, 513, 506, 518, 507, 399, 399, 503, 504,
1053 501, 502, 546, 760, 257, 601, 0, 386, 98, 509,
1054 519, 524, 525, 386, 386, 0, 0, 386, 96, 510,
1055 522, 386, 498, 499, 500, 399, 0, 449, 77, 0,
1056 0, 0, 0, 83, 0, 794, 760, 794, 760, 802,
1057 801, 803, 262, 294, 200, 202, 300, 301, 0, 0,
1058 0, 0, 284, 287, 0, 0, 0, 0, 225, 0,
1059 288, 290, 0, 0, 207, 0, 206, 223, 0, 0,
1060 637, 635, 0, 638, 550, 212, 0, 0, 156, 316,
1061 0, 0, 0, 647, 643, 654, 546, 663, 661, 662,
1062 652, 794, 0, 659, 0, 598, 599, 0, 305, 147,
1063 149, 149, 145, 542, 540, 444, 0, 405, 403, 257,
1064 0, 22, 627, 47, 42, 49, 53, 649, 645, 650,
1065 646, 0, 562, 0, 546, 651, 51, 135, 133, 0,
1066 112, 0, 116, 0, 118, 0, 120, 0, 727, 0,
1067 179, 678, 0, 671, 672, 0, 421, 650, 646, 0,
1068 279, 0, 596, 788, 0, 0, 797, 798, 0, 0,
1069 388, 0, 0, 0, 490, 489, 482, 794, 0, 508,
1070 417, 417, 794, 0, 0, 0, 399, 399, 0, 399,
1071 399, 0, 399, 0, 417, 0, 437, 546, 264, 263,
1072 265, 546, 80, 0, 86, 0, 0, 0, 0, 0,
1073 0, 427, 0, 425, 228, 249, 219, 217, 0, 208,
1074 209, 220, 222, 636, 634, 641, 639, 0, 213, 0,
1075 0, 308, 312, 314, 794, 657, 546, 658, 143, 141,
1076 441, 0, 408, 410, 649, 645, 567, 651, 113, 111,
1077 0, 0, 0, 0, 415, 0, 0, 257, 601, 602,
1078 679, 692, 695, 698, 703, 0, 0, 0, 0, 0,
1079 0, 258, 724, 729, 0, 748, 0, 687, 0, 0,
1080 364, 0, 666, 685, 691, 665, 686, 725, 0, 673,
1081 422, 0, 599, 778, 772, 773, 771, 0, 795, 392,
1082 0, 485, 486, 480, 93, 546, 512, 516, 95, 546,
1083 399, 399, 533, 417, 257, 601, 0, 520, 526, 527,
1084 386, 386, 417, 417, 0, 417, 523, 511, 0, 794,
1085 794, 546, 546, 0, 0, 0, 0, 426, 0, 0,
1086 210, 642, 317, 263, 660, 794, 0, 115, 117, 119,
1087 734, 728, 732, 0, 674, 669, 182, 741, 743, 744,
1088 0, 0, 683, 0, 0, 0, 710, 712, 713, 714,
1089 0, 0, 0, 742, 0, 335, 749, 0, 688, 333,
1090 386, 0, 334, 0, 386, 0, 0, 0, 180, 668,
1091 667, 689, 723, 722, 284, 799, 389, 794, 794, 532,
1092 529, 531, 0, 0, 399, 399, 399, 528, 530, 515,
1093 439, 0, 438, 433, 76, 82, 794, 794, 296, 297,
1094 298, 299, 428, 545, 656, 409, 0, 733, 416, 171,
1095 0, 680, 693, 682, 0, 0, 0, 0, 0, 706,
1096 0, 715, 0, 721, 730, 0, 331, 332, 0, 0,
1097 0, 330, 181, 683, 92, 94, 399, 399, 538, 417,
1098 417, 0, 0, 451, 79, 85, 0, 735, 178, 0,
1099 364, 0, 683, 0, 696, 684, 670, 746, 699, 0,
1100 0, 0, 0, 711, 720, 0, 0, 690, 537, 535,
1101 534, 536, 436, 435, 429, 67, 70, 0, 0, 0,
1102 172, 386, 681, 183, 694, 185, 0, 747, 0, 745,
1103 704, 708, 707, 731, 753, 0, 0, 434, 739, 740,
1104 736, 399, 670, 169, 0, 0, 175, 0, 174, 683,
1105 0, 0, 0, 754, 755, 716, 432, 0, 431, 0,
1106 184, 0, 697, 700, 705, 709, 0, 753, 0, 0,
1107 430, 176, 170, 0, 0, 0, 717, 756, 0, 0,
1108 757, 0, 0, 177, 701, 758, 0, 718, 0, 0,
1109 0, 702, 759, 719, 0, 0, 0
1110 };
1111
1112 static const short yydefgoto[] = { 1545,
1113 408, 2, 409, 159, 668, 310, 164, 3, 4, 37,
1114 632, 352, 736, 374, 39, 737, 384, 643, 898, 644,
1115 645, 646, 41, 42, 420, 167, 163, 43, 738, 752,
1116 1017, 758, 1019, 45, 739, 740, 168, 169, 421, 671,
1117 930, 931, 612, 932, 217, 46, 920, 919, 659, 656,
1118 1082, 1081, 881, 878, 134, 918, 47, 48, 528, 311,
1119 312, 313, 314, 1247, 1496, 1402, 1498, 1440, 1529, 1122,
1120 1475, 1493, 346, 870, 315, 565, 825, 824, 832, 316,
1121 317, 347, 319, 337, 50, 235, 376, 397, 51, 52,
1122 320, 523, 321, 322, 323, 324, 422, 325, 1248, 461,
1123 587, 326, 1249, 54, 200, 649, 327, 201, 501, 202,
1124 180, 193, 58, 444, 462, 1271, 705, 1140, 181, 194,
1125 59, 472, 706, 60, 61, 628, 629, 630, 1226, 427,
1126 795, 796, 1466, 1467, 1434, 1383, 1299, 62, 616, 340,
1127 1167, 1384, 1038, 884, 63, 64, 65, 66, 221, 67,
1128 68, 69, 223, 723, 724, 725, 726, 225, 469, 470,
1129 744, 745, 746, 990, 1000, 991, 1288, 992, 993, 1289,
1130 1290, 613, 614, 566, 860, 329, 430, 431, 174, 182,
1131 71, 72, 73, 183, 184, 151, 75, 130, 330, 331,
1132 332, 77, 333, 79, 728, 121, 122, 123, 477, 103,
1133 80, 334, 837, 838, 855, 590, 1252, 1253, 1123, 1124,
1134 1125, 675, 1254, 937, 1255, 1331, 1443, 1405, 1406, 1256,
1135 1257, 1424, 1332, 1444, 1333, 1477, 1334, 1479, 1524, 1539,
1136 1335, 1500, 1453, 1501, 1411, 423, 672, 1224, 1258, 1345,
1137 1456, 1322, 1323, 1397, 1470, 1442, 1438, 1259, 1449, 1348,
1138 802, 1503, 1504, 1505, 1537, 691, 692, 957, 1136, 1267,
1139 693, 694, 695, 953, 696, 144, 955, 698, 1138, 1139,
1140 495, 82, 83
1141 };
1142
1143 static const short yypact[] = { 138,
1144 203,-32768,-32768, 3122,-32768, 137, 111, 60, 404, 209,
1145 181,-32768,-32768, 1112,-32768, 149, 215, 255,-32768,-32768,
1146 -32768, 788, 100, 1852, 305,-32768, 330, 408,-32768, 2224,
1147 2224,-32768, 5791,-32768, 3122, 314,-32768, 277, 51, 3423,
1148 -32768,-32768, 327, 820, 474, 450, 460,-32768,-32768,-32768,
1149 -32768, 449, 1940,-32768, 2075,-32768, 2169, 389,-32768, 492,
1150 -32768,-32768, 547,-32768,-32768, 470,-32768,-32768, 527, 3014,
1151 -32768,-32768,-32768, 1025,-32768,-32768,-32768, 1145,-32768,-32768,
1152 437, 7625, 558,-32768,-32768, 9220,-32768, 9220,-32768, 9220,
1153 -32768,-32768,-32768, 60, 404, 330, 583, 526, 582, 460,
1154 -32768, 396,-32768, 437, 9220, 9220, 550,-32768,-32768,-32768,
1155 -32768,-32768, 283, 625, 590, 611, 628, 640, 644,-32768,
1156 -32768, 371,-32768, 1651, 60, 404, 1746, 330, 583,-32768,
1157 2283, 297, 649, 5339, 9220,-32768, 9220, 2608,-32768, 2019,
1158 916, 2608,-32768, 1717, 3767, 3767, 5791, 562, 622, 641,
1159 630, 633,-32768,-32768, 745,-32768, 651,-32768, 3956, 137,
1160 -32768,-32768,-32768, 676, 492, 792, 105, 263, 737,-32768,
1161 -32768, 688, 167,-32768,-32768, 3949, 3949, 6162, 1025, 489,
1162 -32768,-32768, 484,-32768,-32768, 2989,-32768,-32768,-32768,-32768,
1163 -32768, 2169, 507,-32768, 492, 1025,-32768,-32768,-32768, 2262,
1164 2169,-32768, 492,-32768, 8186,-32768,-32768,-32768,-32768,-32768,
1165 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 460, 1506, 1742,
1166 470,-32768,-32768,-32768,-32768,-32768, 976, 437,-32768, 339,
1167 853,-32768, 242,-32768,-32768,-32768,-32768,-32768, 4117,-32768,
1168 -32768, 164,-32768, 716, 718,-32768,-32768,-32768,-32768, 757,
1169 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1170 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1171 -32768,-32768, 713,-32768,-32768, 976, 3014, 1183,-32768,-32768,
1172 733,-32768,-32768, 9828, 9914, 10000, 10000,-32768,-32768,-32768,
1173 -32768,-32768, 739, 756, 759, 766, 775, 583, 9306, 1717,
1174 10000,-32768,-32768, 10000,-32768,-32768, 10000, 7103,-32768, 10000,
1175 46, 794,-32768, 10000,-32768, 9392,-32768, 10354,-32768, 1282,
1176 2550, 9478,-32768, 849, 2652,-32768, 1127, 1375, 2861,-32768,
1177 323,-32768, 2439, 1040, 46, 46, 9220, 5339,-32768, 1717,
1178 753, 1717,-32768,-32768, 763, 804, 10287, 765, 769, 778,
1179 1281, 651,-32768, 1746,-32768,-32768,-32768,-32768,-32768,-32768,
1180 625, 590, 611, 1717, 628, 640, 814, 644,-32768, 841,
1181 -32768, 60, 404, 838,-32768,-32768,-32768, 297,-32768,-32768,
1182 -32768,-32768,-32768, 4447,-32768,-32768, 8186, 5432, 1635,-32768,
1183 46, 180,-32768, 710,-32768,-32768,-32768, 2608,-32768,-32768,
1184 2608,-32768, 793,-32768,-32768, 4117, 57, 795, 816,-32768,
1185 -32768,-32768, 745,-32768, 492,-32768,-32768,-32768,-32768, 90,
1186 -32768,-32768,-32768,-32768, 7194, 9306,-32768,-32768,-32768, 9306,
1187 791,-32768, 6457, 117, 4620,-32768, 4620,-32768, 4869, 4869,
1188 6162, 824,-32768, 492, 8186,-32768, 826,-32768,-32768, 4915,
1189 2262, 2169, 8186,-32768, 492,-32768,-32768, 492, 2262,-32768,
1190 913,-32768,-32768, 460,-32768, 1506,-32768, 1469, 4330, 61,
1191 976, 492,-32768,-32768, 869, 872, 893, 876,-32768,-32768,
1192 -32768,-32768, 522,-32768, 491, 845, 860,-32768,-32768, 976,
1193 -32768,-32768, 901,-32768,-32768, 9220, 9306, 733, 7103,-32768,
1194 521, 7103,-32768,-32768,-32768, 9220, 5999, 5999, 5999, 5999,
1195 10332,-32768,-32768,-32768,-32768, 867, 10086, 10086, 7103, 868,
1196 562, 870, 928, 884,-32768,-32768,-32768,-32768, 9220,-32768,
1197 6733, 7103,-32768, 9306, 9306, 7285, 9306, 9306, 9306, 9306,
1198 9306, 9306, 9306, 9306, 9306, 9306, 9306, 9306, 9306, 9306,
1199 9306, 9306, 9306, 9306, 9306,-32768,-32768,-32768,-32768,-32768,
1200 9306, 9306,-32768, 5999, 2806, 419, 417, 7985,-32768,-32768,
1201 -32768, 939, 853, 987, 532, 555, 569, 3357, 916,-32768,
1202 1622, 1622,-32768, 2723, 885, 904, 953,-32768,-32768, 488,
1203 8675, 130,-32768, 961, 437,-32768,-32768, 9306,-32768,-32768,
1204 -32768,-32768, 97,-32768,-32768,-32768, 46,-32768, 8186, 1810,
1205 -32768, 937, 943,-32768,-32768, 1717, 814,-32768, 7717, 7808,
1206 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 154,-32768, 911,
1207 896, 651, 947, 954, 9220,-32768,-32768,-32768,-32768, 1154,
1208 305, 974, 256, 952, 955,-32768,-32768, 1616, 5526, 1616,
1209 2463, 547, 3671,-32768, 956,-32768,-32768,-32768,-32768,-32768,
1210 -32768,-32768,-32768, 903,-32768, 963,-32768,-32768, 327, 79,
1211 434, 966, 928,-32768,-32768,-32768,-32768, 6639, 10332,-32768,
1212 804, 921, 10287,-32768,-32768, 923,-32768, 926, 259, 3180,
1213 946,-32768, 353, 4214, 1002, 1006, 595,-32768,-32768,-32768,
1214 4620, 4620,-32768, 4915,-32768, 1009,-32768,-32768, 964, 117,
1215 -32768, 2262,-32768,-32768, 492,-32768, 590, 611,-32768, 965,
1216 -32768, 644, 1018,-32768,-32768, 103,-32768,-32768, 1750,-32768,
1217 755, 1034,-32768, 9306, 4558,-32768, 4558, 168, 168, 191,
1218 612, 5394, 4727, 8053,-32768, 155, 168, 1024, 492,-32768,
1219 117, 4757, 9220, 9220,-32768, 9220, 117, 4757,-32768,-32768,
1220 -32768,-32768,-32768,-32768, 619, 619, 619, 46, 972, 984,
1221 9570, 953, 993, 1004, 1005, 1007, 3857, 1043, 1048, 1058,
1222 -32768, 1030,-32768,-32768, 1038,-32768,-32768, 1080, 222, 646,
1223 281, 179, 9306, 1085,-32768, 1094, 1046, 10332, 10332,-32768,
1224 -32768, 1093, 4474, 6002, 10197, 10369, 10261, 5210, 4605, 2070,
1225 2070, 2070, 2322, 2322, 1756, 1756, 509, 509, 509,-32768,
1226 -32768, 1053, 1045, 9306, 9306, 1056, 5999, 419,-32768, 7194,
1227 9306,-32768,-32768,-32768, 9306,-32768,-32768, 1077, 10000, 1065,
1228 1089, 1105, 1133,-32768, 9306,-32768, 9306,-32768, 9306, 3508,
1229 -32768, 3508,-32768, 85, 1074, 1086,-32768, 1084, 5999, 117,
1230 -32768, 117, 4055,-32768, 4757, 1092, 8859, 8859, 5653, 1088,
1231 9392, 1096, 3337, 1040, 994, 1104,-32768,-32768,-32768,-32768,
1232 -32768, 9306, 1717, 1076, 943,-32768, 10332,-32768, 10332, 1281,
1233 1106, 9656,-32768, 1110,-32768,-32768, 46,-32768,-32768, 1486,
1234 4447,-32768, 5999, 9220, 1678, 1678, 1885,-32768,-32768,-32768,
1235 -32768, 2989,-32768,-32768,-32768, 397, 9306,-32768,-32768,-32768,
1236 -32768,-32768,-32768,-32768, 625,-32768, 628, 640, 9306, 1156,
1237 -32768, 616, 671, 675, 928,-32768, 16,-32768, 65,-32768,
1238 -32768,-32768,-32768,-32768,-32768, 8767,-32768,-32768,-32768,-32768,
1239 -32768,-32768,-32768, 1006, 1149,-32768,-32768,-32768, 5999,-32768,
1240 -32768,-32768, 1158,-32768, 9220,-32768,-32768,-32768,-32768, 1382,
1241 -32768, 4757, 10332,-32768, 1773,-32768, 492, 492,-32768,-32768,
1242 -32768,-32768,-32768, 4757, 356, 683, 9306, 913,-32768, 1167,
1243 -32768,-32768,-32768, 325, 495, 1145, 916, 512, 168, 1168,
1244 -32768, 736,-32768,-32768,-32768, 492, 8123,-32768,-32768, 1120,
1245 46, 46, 46,-32768, 1121, 117, 4757, 117, 4757,-32768,
1246 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1138, 1141,
1247 1142, 1143, 903,-32768, 10220, 7194, 6827, 1129,-32768, 9306,
1248 -32768,-32768, 1134, 1137, 453, 1139,-32768,-32768, 1148, 187,
1249 1256, 1256, 1146, 1256,-32768,-32768, 10000, 1241, 9220,-32768,
1250 1159, 1160, 1162,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1251 -32768, 117, 1164,-32768, 1163,-32768,-32768, 3496,-32768,-32768,
1252 -32768,-32768,-32768, 10332,-32768,-32768, 1166,-32768,-32768, 160,
1253 1169,-32768,-32768,-32768,-32768,-32768,-32768, 2161, 2161, 2917,
1254 2917, 1885,-32768, 2989,-32768, 3237, 10354,-32768,-32768, 1172,
1255 -32768, 434,-32768, 9306,-32768, 9306,-32768, 9306,-32768, 1717,
1256 -32768,-32768, 6255, 1249,-32768, 6918,-32768, 8951, 8951, 6363,
1257 264, 1175, 342,-32768, 7194, 7009,-32768,-32768, 166, 7194,
1258 -32768, 1179, 1184, 1469,-32768,-32768,-32768, 117, 1190,-32768,
1259 1227, 1227, 117, 1191, 9306, 9306, 5073, 492, 5545, 492,
1260 492, 1301, 492, 5723, 1227, 8193,-32768,-32768,-32768, 1248,
1261 -32768,-32768,-32768, 1199,-32768, 1200, 9306, 9306, 9306, 9306,
1262 7194,-32768, 1247,-32768,-32768, 10332,-32768,-32768, 9306,-32768,
1263 453,-32768,-32768,-32768,-32768,-32768,-32768, 1192,-32768, 1273,
1264 46,-32768,-32768,-32768, 117,-32768,-32768,-32768,-32768,-32768,
1265 -32768, 9306,-32768,-32768, 2161, 2161,-32768, 3237,-32768,-32768,
1266 1217, 1219, 1223, 1236,-32768, 587, 176, 1271, 861, 864,
1267 -32768,-32768,-32768,-32768,-32768, 9306, 1272, 1279, 1288, 9043,
1268 723, 383,-32768,-32768, 9134, 1332, 1291,-32768, 5784, 5022,
1269 5183, 6102,-32768,-32768, 1336,-32768,-32768,-32768, 8286,-32768,
1270 -32768, 1245, 823,-32768,-32768,-32768,-32768, 5999,-32768,-32768,
1271 7194,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1272 5073, 5073,-32768, 1227, 497, 920, 9306,-32768,-32768,-32768,
1273 913, 913, 1227, 1227, 522, 1227,-32768,-32768, 5903, 117,
1274 117,-32768,-32768, 1251, 1254, 1255, 1257,-32768, 7194, 1244,
1275 -32768,-32768,-32768,-32768,-32768, 117, 1258,-32768,-32768,-32768,
1276 -32768, 1236,-32768, 1717,-32768,-32768,-32768,-32768,-32768,-32768,
1277 685, 685, 928, 1263, 1274, 4446,-32768,-32768,-32768,-32768,
1278 1311, 9306, 1317,-32768, 928,-32768,-32768, 1285,-32768,-32768,
1279 913, 637,-32768, 712, 913, 9742, 762, 185,-32768,-32768,
1280 -32768,-32768,-32768,-32768, 376,-32768,-32768, 117, 117,-32768,
1281 -32768,-32768, 9306, 9306, 5073, 492, 492,-32768,-32768,-32768,
1282 -32768, 7899,-32768,-32768,-32768,-32768, 117, 117,-32768,-32768,
1283 -32768,-32768,-32768,-32768,-32768,-32768, 1289,-32768,-32768,-32768,
1284 9220,-32768,-32768,-32768, 1371, 8582, 6548, 9220, 9306,-32768,
1285 8394,-32768, 1330,-32768,-32768, 745,-32768,-32768, 10172, 10172,
1286 7376,-32768,-32768, 928,-32768,-32768, 5073, 5073,-32768, 1227,
1287 1227, 1286, 10242, 1298,-32768,-32768, 6012,-32768,-32768, 1292,
1288 471, 8186, 928, 8488,-32768,-32768, 16,-32768,-32768, 1339,
1289 1293, 10310, 8394,-32768,-32768, 1236, 74,-32768,-32768,-32768,
1290 -32768,-32768,-32768,-32768,-32768, 474, 327, 1308, 1313, 928,
1291 -32768, 913,-32768,-32768,-32768,-32768, 708,-32768, 7467,-32768,
1292 -32768,-32768,-32768, 1236, 1398, 1359, 114,-32768,-32768,-32768,
1293 -32768, 492, 16,-32768, 9306, 1365,-32768, 1370,-32768, 928,
1294 8394, 1341, 140, 1376,-32768,-32768,-32768, 90,-32768, 1373,
1295 -32768, 1333,-32768,-32768,-32768,-32768, 9306, 1398, 1387, 1398,
1296 -32768,-32768,-32768, 7558, 1334, 381,-32768,-32768, 7194, 1340,
1297 -32768, 1439, 1394,-32768,-32768,-32768, 197,-32768, 8488, 1445,
1298 1397,-32768,-32768,-32768, 1462, 1464,-32768
1299 };
1300
1301 static const short yypgoto[] = {-32768,
1302 1466,-32768, -308,-32768, 1059, -1, 17, 1465,-32768, 338,
1303 -32768,-32768, 571, 1144,-32768, 10,-32768,-32768, -594,-32768,
1304 -32768, 600,-32768, 1343, -662, 38, -661, 1353, 72,-32768,
1305 -32768,-32768,-32768,-32768, 773,-32768,-32768,-32768,-32768,-32768,
1306 -32768, 407, 244,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1307 -32768,-32768,-32768,-32768, 1429, -627, 5187, -63, -174, -70,
1308 1390, -501,-32768, 1195,-32768, 192,-32768, -1315,-32768, -629,
1309 -11,-32768, 1020, 280, -244,-32768,-32768,-32768, -793, 2977,
1310 95, 1055, 3763, 1260,-32768, -64, -62, 193, -69, 214,
1311 -32768,-32768,-32768, -312,-32768, -154,-32768,-32768, -1185, -51,
1312 -321, 2790, 39, -65, -138, 52, 76, -168, -4, -139,
1313 -979, 284,-32768, 69, 14,-32768, -335,-32768,-32768,-32768,
1314 -32768,-32768, 501, 581, -7,-32768, 647,-32768,-32768, -1006,
1315 -419, 852,-32768,-32768,-32768,-32768,-32768, 477,-32768,-32768,
1316 -32768,-32768,-32768, 655, -361,-32768,-32768,-32768,-32768,-32768,
1317 -32768,-32768, 1315,-32768, 400, 575,-32768,-32768,-32768,-32768,
1318 540, -689,-32768,-32768,-32768,-32768,-32768,-32768, 805,-32768,
1319 386, 941, 677, 996, 3993, 7, 21, -435, 1381, 1355,
1320 -441,-32768, 15,-32768, 2359, -141, 217, -32, 4257, 1240,
1321 -32768, 4672, 1981, 1829, -10, -107,-32768, 1444, -89,-32768,
1322 4393, 2879, -266,-32768, 1663,-32768,-32768, 315,-32768,-32768,
1323 445, 63, -394,-32768,-32768,-32768,-32768, -1325,-32768, -1171,
1324 -1312,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1325 -32768,-32768,-32768,-32768,-32768, 87,-32768,-32768,-32768,-32768,
1326 -32768, 116, -1247,-32768,-32768, -52,-32768,-32768,-32768,-32768,
1327 -1343, 58,-32768, 55,-32768, -675, -383, 624,-32768,-32768,
1328 -32768,-32768, -368,-32768, -365, -100,-32768, 1489, 311,-32768,
1329 126,-32768, -206
1330 };
1331
1332
1333 #define YYLAST 10453
1334
1335
1336 static const short yytable[] = { 57,
1337 407, 179, 35, 399, 402, 680, 592, 923, 236, 935,
1338 70, 709, 120, 40, 233, 654, 371, 335, 655, 336,
1339 36, 601, 652, 452, 478, 676, 727, 787, 101, 278,
1340 57, 921, 370, 35, 1047, 57, 138, 142, 35, 500,
1341 503, 70, 53, 631, 40, 974, 70, 976, 1120, 40,
1342 192, 36, 207, 451, 1003, 55, 36, 915, 471, 1346,
1343 457, 460, 459, 1450, 391, 227, 379, 570, 380, 381,
1344 236, 533, 173, 53, 1398, 44, 1010, 276, 53, 56,
1345 1361, 328, 1015, 328, 570, 328, 55, 1364, 277, 570,
1346 673, 55, 1451, 1446, 377, 240, 943, 748, 1458, 382,
1347 328, 328, 114, 115, 116, 417, 44, 490, 157, 968,
1348 56, 44, 165, 87, 1507, 56, 236, 1473, 343, 714,
1349 526, 468, 527, 1126, 1121, 481, 191, 604, 785, 389,
1350 328, 1476, 328, 88, 288, 1485, 750, -1, -546, 969,
1351 70, -546, 229, 944, 1277, 1278, 945, 674, 158, 858,
1352 26, 398, 401, 26, 57, 117, 118, 275, 1298, 490,
1353 605, 606, -327, 1499, 666, 70, 418, 8, 483, 749,
1354 173, -327, 387, 1127, 1515, 418, 861, 697, 485, 772,
1355 1530, 1486, 435, 437, 86, 388, 924, 207, -546, 1073,
1356 -546, -546, 786, -546, 15, 207, 84, 53, -386, 419,
1357 856, 1518, -2, 173, -546, 386, -546, 856, 419, 56,
1358 55, 342, 890, 432, 1004, 979, 660, 661, 1212, 128,
1359 129, 1448, -546, -546, 1268, 149, 1476, -386, 92, 933,
1360 44, -386, 136, 580, 56, 1326, 1398, -546, 529, 1454,
1361 -125, 105, 240, 484, 1326, 85, 150, 1519, 980, 152,
1362 1080, 1190, 981, 1083, 526, 1540, 527, 99, 670, 433,
1363 575, 891, 576, 1005, 455, 113, 607, 1213, 567, 1352,
1364 943, 1357, 227, 1269, 634, 87, -386, 1372, 936, 771,
1365 900, 1483, 91, -122, 1327, 982, 1378, 1379, 479, 1380,
1366 601, 1108, 1109, 1423, 1193, 88, 1149, 399, 402, 280,
1367 372, 373, 10, 328, 1541, 1094, 216, 106, 1154, 424,
1368 -276, 457, 460, 712, 901, 638, 276, 944, 648, 457,
1369 945, 377, -790, 894, 227, 654, 425, 277, 954, 1516,
1370 902, 460, 328, 610, 480, 657, 156, 21, 400, 403,
1371 353, 1174, -124, 1176, 70, 639, 354, 107, 240, -336,
1372 460, 15, 27, 298, 135, 426, -276, -276, 150, 150,
1373 150, 152, 152, 152, 948, 367, 478, 648, 592, 597,
1374 149, -269, 154, 361, 362, 363, 609, 161, 133, 651,
1375 504, 505, -336, 192, 32, 473, -336, 396, -590, 388,
1376 653, 150, 89, 642, 152, 513, 275, 1311, 514, 8,
1377 9, 515, 1097, 135, 525, 741, 155, 207, 530, 608,
1378 1048, 949, 90, 56, 950, 598, 569, 1155, 364, -336,
1379 125, 126, -278, 1461, 1462, 768, 365, 366, 690, 86,
1380 1075, 474, 877, 162, -590, -590, 925, 717, 718, 653,
1381 8, 9, 1532, 342, 1344, 701, 702, 205, 206, -590,
1382 207, 128, 129, 1209, 1210, -43, 135, 89, 707, 650,
1383 -43, 136, 463, 465, 57, 829, 713, 735, -278, -278,
1384 26, -43, 128, 129, 476, 70, 1003, 90, 198, 199,
1385 926, 137, 830, -272, 14, 856, 833, 26, 1533, 927,
1386 928, 328, 128, 129, 328, -550, 834, 328, 166, 829,
1387 522, 328, 777, 777, 777, 777, 20, 742, 650, 170,
1388 835, 831, 567, 171, 328, 23, 830, 580, 648, -337,
1389 743, 15, 18, 856, 328, 648, 929, 328, 727, 715,
1390 -550, 222, 654, 204, 864, 655, -101, 761, 15, 652,
1391 1119, -550, 172, 512, 56, 831, 1189, 445, 446, 93,
1392 94, 95, -337, 208, 209, 210, -337, 879, 1373, 777,
1393 276, 601, 856, 771, 897, 453, 454, 580, 759, -101,
1394 86, 277, 457, -101, 38, 89, -550, 447, 844, 651,
1395 865, 866, 211, 762, 224, 617, 690, 850, 852, -337,
1396 653, 554, 555, 1023, 627, 90, 908, 653, 913, 914,
1397 26, 846, 96, 97, 212, 38, -101, 617, 490, 240,
1398 38, 513, 514, 771, 760, 848, 1182, 1184, 964, 1198,
1399 966, 371, 125, 126, 845, 970, 533, 481, 648, 120,
1400 328, 279, 400, 403, 339, 195, 136, 203, 914, 341,
1401 275, 958, 351, 356, 192, 1324, 1325, 847, 227, 213,
1402 214, 215, 150, 150, 150, 152, 152, 152, 983, 650,
1403 934, 849, 1113, 88, 357, 414, 650, 604, 204, -269,
1404 933, 741, 26, 741, 128, 129, 204, 204, 355, 741,
1405 741, 358, 1011, 1012, 90, 1013, 648, 959, 491, 651,
1406 989, 522, 648, 359, 522, 445, 1417, 360, 492, 89,
1407 653, 135, 727, 204, 984, 682, 1184, -123, 1114, 716,
1408 400, 782, 688, 125, 126, 1264, 1266, 1115, 856, 90,
1409 1270, 1117, 1093, 383, 522, 93, 108, 109, 772, 404,
1410 57, 1400, 57, 735, 172, 735, 87, 405, 192, 57,
1411 -585, 70, 735, 70, 1156, 415, 856, 651, 328, 328,
1412 70, 328, 204, 651, 1494, 283, 88, 342, 653, -7,
1413 -99, 1308, 15, 1116, 653, 128, 129, 1118, 413, 650,
1414 453, 1418, 203, 742, 794, 975, 769, 1401, 110, 111,
1415 458, 203, 742, 872, 1194, 1195, 743, 1197, 743, 484,
1416 93, 108, 109, -99, 416, 743, 428, -99, 429, 648,
1417 1495, 971, 1342, 648, 204, 1488, 977, 978, 89, 486,
1418 56, 487, 56, 988, 998, 1006, 842, 1478, 488, 56,
1419 445, 1422, 777, 489, 1508, 497, 1050, 650, 90, 507,
1420 -99, 506, 508, 650, -278, 648, 1169, 1170, 1171, 509,
1421 822, 648, 236, 110, 111, 112, 15, 972, 510, -278,
1422 -386, 1367, 529, -278, 777, 93, 108, 109, 475, 570,
1423 651, 615, 619, 1511, 690, 204, 1144, 1145, 1146, -278,
1424 618, 653, 621, 850, 852, 653, 622, 876, -386, -386,
1425 648, -278, -278, 899, -278, 623, -278, 635, 240, 1393,
1426 1020, 1021, 1022, 21, 636, 916, 651, 637, 777, 328,
1427 664, 685, 651, -6, 125, 126, 648, 653, 110, 111,
1428 642, 1098, 1099, 653, 87, -278, -278, 89, 648, 125,
1429 126, 794, 1329, 989, 667, 1330, 236, 204, 204, 772,
1430 -278, 703, 233, 1056, 88, 204, 708, 90, 1404, 15,
1431 650, 690, 753, 741, 650, 754, 755, 204, 342, 756,
1432 1415, 648, 653, 648, 777, 763, 128, 129, 399, 402,
1433 328, 513, 514, 872, 8, 9, 204, 651, 195, 203,
1434 764, 128, 129, 87, 781, 783, 650, 784, 653, 651,
1435 232, 1374, 650, 198, 199, 674, 399, 402, 1201, 14,
1436 653, 786, 841, 88, 843, 857, 859, 8, 9, 861,
1437 882, 883, 57, 892, 893, 735, 895, 896, 342, 20,
1438 -272, 20, 651, 70, 651, 903, 128, 129, 904, 917,
1439 23, 650, 922, 653, 415, 653, 1314, 418, 940, 1404,
1440 941, 458, 203, 942, 236, 415, 648, 125, 126, 458,
1441 232, 342, 599, 8, 9, 742, 988, 650, 1404, 128,
1442 129, 15, 415, 947, 328, -386, 1158, 965, 743, 650,
1443 400, 782, 1160, 1161, 648, -789, 1158, 1163, 654, 956,
1444 1161, 1469, 960, 484, 961, 1491, 967, 288, 600, 1024,
1445 21, 1029, 56, -386, -386, 1007, 204, 26, -386, 128,
1446 129, 1025, 650, 26, 650, 128, 129, 651, 485, 149,
1447 1026, 934, 741, 1043, 1044, 1404, 1215, 1216, 653, 1534,
1448 1049, 1027, 1028, 676, 93, 94, 95, 1030, 1251, 772,
1449 150, 1245, 1031, 152, 1061, 690, 1062, 204, 1063, 70,
1450 125, 126, 1032, 627, 1215, 1216, 653, 1033, 1132, 1246,
1451 318, -121, 318, 899, 318, 1034, 1036, 7, 8, 230,
1452 10, 1199, 1037, 1039, 1040, 1042, 361, 362, 363, 150,
1453 1041, 57, 152, 1045, 735, 26, 204, 96, 97, 98,
1454 1055, 1091, 70, 580, 1250, 1057, 1058, 650, 1059, 1060,
1455 26, 1066, 128, 129, 1086, 21, 125, 126, 204, 318,
1456 203, 318, 231, 1067, 1068, 1076, 581, 1351, 56, 1351,
1457 27, 28, 1074, 1077, 742, 650, 582, 26, 1110, 365,
1458 366, 1079, 1135, 1089, 1112, 963, 583, 743, 1092, 584,
1459 585, 1141, 513, 514, 232, 1159, 1164, 1168, 1172, 195,
1460 1177, 203, 32, 1178, 1179, 1180, 26, 1185, 128, 129,
1461 1251, 56, 1187, 1245, 1188, 192, 1191, 1251, 1200, 1008,
1462 1245, 70, 491, 204, 1251, 1192, 1196, 1245, 70, 125,
1463 126, 1457, 492, 777, 481, 70, 1202, 1203, 1246, 1204,
1464 203, 1207, 490, 1208, 1211, 1246, 1214, 399, 402, 1219,
1465 1183, 1120, 1263, 93, 108, 109, 1272, 624, 625, 626,
1466 425, 1273, 458, 400, 403, 415, 1250, 1276, 1280, 345,
1467 349, -627, 1312, 1250, 125, 1295, 1302, 1303, 1309, 26,
1468 1250, 128, 129, 150, 150, 150, 152, 152, 152, 1313,
1469 56, 400, 1262, 195, 1318, 833, 1319, 56, 556, 415,
1470 1320, 1321, 1328, 1337, 56, 834, 110, 111, 1338, 525,
1471 1347, 150, 150, 150, 152, 152, 152, 1339, 342, 835,
1472 1349, 1362, 1365, 511, 1394, 1407, 128, 129, 1389, 1376,
1473 1377, 1390, 1391, 1225, 1392, 1396, 1408, 557, 558, 1183,
1474 1412, 648, 559, 560, 561, 562, 1414, 1416, 125, 126,
1475 484, 1437, 198, 199, 114, 717, 718, 1445, 14, 1455,
1476 1472, 318, 1463, 1221, 1465, 1222, 1441, 1223, 1480, 1471,
1477 1481, 1251, 1251, 1441, 1245, 1245, 1251, 277, 1502, 1245,
1478 20, 720, 70, 70, 277, 1489, 328, 70, 1506, 23,
1479 1490, 580, 1246, 455, 1513, 701, 702, 1246, 26, 1514,
1480 128, 129, 651, 1517, 1520, 26, 1522, 117, 118, 1251,
1481 1523, 1531, 1245, 653, 581, 681, 1527, 1535, 1251, 1536,
1482 70, 1245, 681, 1538, 582, 1543, 1544, 1250, 1250, 70,
1483 1246, 1546, 1250, 1547, 583, 1, 5, 591, 585, 1246,
1484 669, 114, 717, 718, 1441, 719, 275, 1151, 1152, 679,
1485 683, 56, 56, 275, 1343, 277, 56, 683, 93, 108,
1486 109, 1317, 208, 209, 210, 1250, 1251, 633, 720, 1245,
1487 1095, 411, 520, 1487, 1250, 721, 1165, 70, 93, 94,
1488 95, 412, 650, 513, 514, 999, 681, 1246, 1220, 56,
1489 338, 211, 26, 1403, 117, 118, 392, 1542, 56, 939,
1490 436, 438, 442, 1354, 1251, 467, 1088, 1245, 496, 1087,
1491 1492, 110, 111, 1274, 1147, 70, 1166, 1001, 1132, 1297,
1492 318, 683, 1250, 342, 275, 1246, 885, 415, 415, 1085,
1493 828, 96, 97, 448, 577, 369, 1360, 1399, 1260, 150,
1494 1521, 1484, 152, 1509, 1528, 1526, 56, 1134, 1366, 0,
1495 681, 0, 0, 318, 0, 679, 415, 0, 798, 799,
1496 1250, 803, 804, 805, 806, 807, 808, 809, 810, 811,
1497 812, 813, 814, 815, 816, 817, 818, 819, 820, 821,
1498 681, 0, 400, 1262, 56, 683, 0, 681, 7, 8,
1499 9, 10, 0, 0, 684, 125, 126, 0, 0, 0,
1500 13, 0, 150, 150, 150, 152, 152, 152, 0, 0,
1501 0, 197, 198, 199, 0, 683, 0, 0, 14, 0,
1502 0, 0, 683, 114, 115, 116, 21, 1283, 1284, 0,
1503 1293, 1294, 580, 1296, 0, 18, 0, 0, 580, 26,
1504 20, 27, 28, 887, 889, 26, 0, 128, 129, 23,
1505 7, 8, 9, 10, 0, 905, 13, 0, 0, 318,
1506 0, 581, 0, 520, 658, 906, 520, 0, 0, 0,
1507 774, 582, 0, 32, 0, 583, 117, 118, 907, 585,
1508 0, 583, 0, 520, 584, 585, 0, 0, 21, 93,
1509 108, 109, 0, 0, 580, 0, 520, 204, 0, 0,
1510 801, 26, 679, 27, 28, 0, 0, 415, 415, 0,
1511 415, 415, 0, 415, 93, 94, 95, 905, 280, 372,
1512 373, 10, 114, 717, 718, 0, 823, 906, 0, 0,
1513 0, 0, 840, 0, 0, 32, 0, 583, 0, 0,
1514 907, 585, 110, 111, 0, 985, 986, 9, 10, 0,
1515 0, 1370, 1371, 0, 0, 0, 21, 0, 973, 699,
1516 681, 700, 0, 436, 438, 442, 0, 96, 97, 26,
1517 0, 27, 298, 0, 711, 117, 118, 318, 318, 0,
1518 318, 0, 0, 21, 0, 0, 197, 198, 199, 0,
1519 0, 0, 0, 14, 0, 683, 26, 0, 27, 28,
1520 195, 203, 1150, 32, 987, 551, 552, 553, 554, 555,
1521 18, 0, 176, 681, 681, 20, 0, 1035, 0, 0,
1522 681, 0, 177, 0, 23, 125, 126, 0, 0, 0,
1523 32, 415, 415, 0, 681, 178, 681, 0, 681, 880,
1524 0, 0, 0, 0, 0, 1429, 1430, 1431, 683, 683,
1525 0, 0, 0, 0, 679, 683, 0, 7, 8, 9,
1526 10, 385, 12, 13, 0, 127, 687, 0, 14, 683,
1527 0, 683, 0, 683, 0, 26, 238, 128, 129, 0,
1528 0, 681, 16, 0, 17, 18, 0, 204, 0, 0,
1529 20, 0, 0, 0, 0, 21, 0, 1459, 1460, 23,
1530 238, 580, 0, 0, 0, 0, 1084, 0, 26, 0,
1531 27, 28, 7, 8, 9, 10, 683, 0, 681, 0,
1532 0, 0, 0, 0, 1100, 415, 415, 415, 318, 238,
1533 0, 0, 0, 0, 1101, 681, 0, 0, 238, 0,
1534 0, 1107, 32, 0, 583, 0, 0, 1102, 585, 0,
1535 21, 0, 0, 683, 78, 0, 0, 0, 0, 589,
1536 593, 596, 1510, 26, 102, 27, 28, 0, 0, 175,
1537 683, 0, 0, 0, 131, 0, 0, 415, 415, 176,
1538 140, 140, 0, 140, 238, 78, 0, 0, 0, 177,
1539 78, 7, 125, 126, 10, 0, 0, 32, 0, 1053,
1540 0, 0, 178, 186, 0, 78, 0, 0, 0, 0,
1541 0, 1157, 0, 219, 0, 0, 0, 238, 0, 0,
1542 102, 0, 0, 0, 0, 699, 700, 0, 711, 21,
1543 0, 242, 102, 520, 0, 0, 231, 0, 0, 0,
1544 238, 0, 415, 0, 27, 28, 0, 7, 8, 9,
1545 10, 188, 12, 189, 102, 0, 0, 0, 14, 0,
1546 679, 679, 0, 0, 1186, 0, 994, 0, 232, 0,
1547 0, 0, 16, 0, 17, 18, 32, 131, 0, 0,
1548 20, 0, 131, 318, 78, 21, 0, 0, 140, 23,
1549 0, 394, 140, 0, 0, 140, 140, 140, 26, 0,
1550 27, 28, 0, 681, 190, 681, 0, 681, 0, 78,
1551 0, 0, 0, 0, 30, 547, 548, 549, 550, 551,
1552 552, 553, 554, 555, 31, 0, 186, 186, 186, 1142,
1553 0, 238, 32, 7, 8, 9, 10, 33, 683, 226,
1554 683, 0, 683, 0, 0, 197, 198, 199, 0, 0,
1555 679, 0, 14, 0, 0, 186, 0, 0, 0, 679,
1556 679, 0, 0, 0, 679, 0, 0, 0, 962, 18,
1557 466, 21, 0, 0, 20, 0, 0, 580, 102, 1281,
1558 1282, 0, 0, 23, 26, 0, 27, 28, 0, 140,
1559 0, 0, 238, 0, 0, 0, 7, 125, 126, 10,
1560 905, 681, 13, 0, 0, 679, 0, 0, 0, 1009,
1561 906, 0, 0, 851, 853, 1014, 0, 0, 32, 0,
1562 583, 0, 0, 907, 585, 0, 0, 102, 493, 436,
1563 438, 442, 0, 0, 21, 0, 683, 0, 456, 198,
1564 199, 0, 0, 0, 0, 14, 0, 26, 0, 27,
1565 28, 0, 0, 0, 0, 280, 372, 373, 10, 0,
1566 1336, 0, 18, 30, 238, 0, 0, 20, 0, 0,
1567 442, 102, 0, 31, 0, 578, 23, 493, 493, 594,
1568 910, 32, 589, 593, 0, 596, 33, 0, 78, 0,
1569 0, 238, 0, 21, 520, 679, 0, 0, 0, 994,
1570 231, 0, 0, 0, 131, 0, 0, 0, 27, 298,
1571 0, 1375, 0, 0, 0, 0, 0, 0, 1069, 0,
1572 1070, 0, 593, 0, 0, 0, 0, 0, 131, 0,
1573 0, 0, 74, 679, 102, 0, 0, 186, 102, 0,
1574 32, 1304, 1305, 1306, 1307, 681, 0, 0, 140, 0,
1575 0, 140, 0, 1310, 0, 0, 140, 0, 139, 143,
1576 0, 0, 0, 74, 0, 0, 0, 0, 74, 549,
1577 550, 551, 552, 553, 554, 555, 238, 0, 0, 0,
1578 683, 0, 0, 196, 0, 186, 0, 186, 0, 186,
1579 186, 186, 238, 0, 0, 186, 0, 1427, 1428, 0,
1580 186, 0, 0, 186, 1341, 0, 1433, 0, 0, 593,
1581 0, 280, 8, 9, 10, 0, 0, 0, 0, 78,
1582 0, 0, 699, 700, 436, 438, 442, 0, 0, 0,
1583 711, 0, 0, 1452, 0, 7, 8, 9, 10, 197,
1584 198, 199, 0, 0, 0, 0, 14, 0, 0, 21,
1585 0, 0, 436, 438, 442, 0, 231, 102, 102, 102,
1586 102, 0, 390, 18, 27, 298, 393, 0, 20, 0,
1587 395, 0, 0, 21, 1173, 0, 1175, 23, 0, 580,
1588 0, 0, 1064, 1291, 1065, 0, 26, 74, 27, 28,
1589 0, 0, 0, 0, 0, 1071, 32, 0, 0, 851,
1590 853, 0, 905, 0, 139, 143, 1413, 0, 0, 0,
1591 0, 0, 906, 0, 102, 102, 0, 493, 0, 0,
1592 32, 0, 583, 8, 9, 907, 585, 12, 13, 578,
1593 1206, 493, 493, 14, 594, 0, 0, 851, 853, 699,
1594 700, 873, 711, 0, 0, 875, 0, 16, 0, 17,
1595 0, 0, 0, 679, 0, 20, 0, 0, 0, 186,
1596 0, 0, 0, 0, 23, 1439, 0, 482, 0, 0,
1597 0, 801, 1439, 26, 0, 128, 129, 563, 0, 0,
1598 7, 125, 126, 10, 0, 520, 226, 0, 0, 0,
1599 0, 0, 0, 0, 0, 0, 0, 0, 186, 912,
1600 186, 186, 219, 594, 0, 0, 1275, 0, 0, 0,
1601 0, 1279, 564, 0, 0, 0, 0, 0, 21, 0,
1602 0, 0, 571, 0, 280, 372, 373, 10, 0, 572,
1603 0, 26, 0, 27, 28, 0, 0, 0, 0, 0,
1604 186, 0, 0, 1439, 912, 0, 0, 30, 0, 0,
1605 0, 186, 186, 0, 186, 0, 0, 31, 0, 1512,
1606 0, 0, 21, 1315, 0, 32, 611, 0, 0, 573,
1607 33, 238, 0, 238, 0, 26, 0, 27, 298, 0,
1608 442, 1525, 131, 0, 0, 78, 0, 78, 801, 0,
1609 0, 0, 996, 78, 78, 0, 8, 9, 0, 385,
1610 12, 13, 102, 0, 687, 0, 14, 0, 102, 574,
1611 238, 0, 0, 0, 0, 493, 493, 493, 0, 0,
1612 16, 0, 17, 18, 0, 0, 662, 493, 20, 663,
1613 1064, 1065, 851, 853, 665, 0, 0, 23, 1071, 580,
1614 0, 0, 0, 436, 438, 442, 26, 0, 128, 129,
1615 0, 0, 0, 0, 0, 0, 0, 0, 1385, 1386,
1616 851, 853, 581, 393, 0, 395, 0, 0, 0, 0,
1617 0, 0, 582, 0, 1395, 0, 0, 102, 482, 8,
1618 9, 0, 583, 12, 13, 584, 585, 0, 0, 14,
1619 0, 0, 0, 0, 238, 0, 0, 747, 0, 0,
1620 493, 0, 493, 16, 0, 17, 0, 0, 0, 102,
1621 0, 20, 0, 493, 0, 102, 0, 873, 873, 873,
1622 23, 0, 0, 0, 1078, 0, 1425, 1426, 0, 26,
1623 0, 128, 129, 0, 8, 9, 0, 0, 12, 226,
1624 0, 0, 0, 0, 14, 1435, 1436, 1064, 1065, 0,
1625 1071, 102, 81, 102, 0, 186, 186, 1104, 16, 0,
1626 17, 0, 104, 0, 348, 350, 20, 0, 827, 0,
1627 0, 124, 132, 0, 0, 23, 238, 580, 141, 141,
1628 0, 141, 0, 81, 26, 0, 128, 129, 81, 7,
1629 8, 9, 10, 0, 0, 13, 1104, 0, 0, 0,
1630 581, 141, 238, 81, 0, 0, 0, 0, 0, 102,
1631 582, 220, 0, 0, 0, 0, 0, 0, 228, 0,
1632 583, 0, 102, 584, 585, 996, 0, 21, 0, 0,
1633 228, 0, 0, 580, 102, 0, 0, 0, 0, 0,
1634 26, 0, 27, 28, 0, 0, 0, 1162, 0, 0,
1635 0, 0, 0, 0, 0, 0, 1100, 78, 0, 0,
1636 238, 7, 8, 9, 10, 0, 1101, 102, 0, 102,
1637 0, 0, 0, 0, 32, 378, 583, 911, 0, 1102,
1638 585, 0, 81, 0, 0, 0, 141, 8, 9, 0,
1639 141, 12, 226, 141, 141, 141, 0, 14, 0, 21,
1640 0, 493, 493, 0, 493, 0, 231, 81, 0, 0,
1641 0, 16, 0, 17, 27, 28, 0, 0, 0, 20,
1642 0, 0, 952, 0, 141, 141, 141, 0, 23, 662,
1643 663, 0, 665, 0, 0, 0, 0, 26, 232, 128,
1644 129, 0, 0, 0, 0, 0, 32, 0, 186, 186,
1645 186, 186, 1104, 141, 0, 0, 186, 0, 0, 0,
1646 0, 0, 0, 747, 0, 747, 0, 524, 0, 0,
1647 995, 1002, 747, 0, 0, 0, 0, 0, 1104, 1104,
1648 1104, 0, 0, 0, 0, 0, 0, 141, 0, 0,
1649 0, 0, 6, 0, 7, 8, 9, 10, 11, 12,
1650 13, 0, 0, 0, 0, 14, 0, 0, 0, 186,
1651 0, 0, 0, 0, 140, 0, 78, 0, 15, 16,
1652 0, 17, 18, 19, 0, 228, 141, 20, 0, 0,
1653 0, 0, 21, 0, 0, 22, 23, 24, 0, 25,
1654 0, 0, 0, 647, 0, 26, 0, 27, 28, 0,
1655 0, 29, 7, 8, 9, 10, 197, 198, 199, 0,
1656 0, 30, 0, 14, 0, 186, 186, 0, 186, 228,
1657 0, 31, 0, 579, 0, 141, 141, 595, 0, 32,
1658 18, 0, 603, 0, 33, 20, 81, 0, 0, 34,
1659 21, 0, 689, 0, 23, 0, 580, 0, 0, 186,
1660 912, 186, 378, 26, 0, 27, 28, 0, 0, 7,
1661 8, 9, 10, 0, 0, 481, 0, 0, 102, 905,
1662 0, 0, 0, 0, 0, 0, 0, 0, 0, 906,
1663 0, 0, 228, 139, 143, 141, 228, 32, 0, 583,
1664 0, 0, 946, 585, 0, 0, 141, 21, 0, 141,
1665 0, 0, 0, 580, 141, 0, 0, 0, 770, 0,
1666 26, 773, 27, 28, 0, 775, 776, 778, 779, 780,
1667 0, 0, 0, 586, 586, 586, 905, 0, 524, 0,
1668 0, 0, 0, 141, 0, 141, 906, 141, 141, 141,
1669 0, 797, 0, 141, 32, 0, 583, 0, 141, 907,
1670 585, 141, 0, 995, 0, 0, 1104, 0, 0, 280,
1671 8, 9, 10, 0, 0, 0, 729, 81, 0, 0,
1672 0, 0, 0, 826, 0, 0, 0, 0, 0, 280,
1673 125, 126, 10, 0, 0, 747, 0, 0, 0, 0,
1674 0, 0, 0, 854, 0, 0, 0, 21, 0, 0,
1675 854, 0, 0, 0, 231, 228, 228, 228, 228, 0,
1676 0, 0, 27, 298, 0, 0, 0, 21, 0, 1104,
1677 1104, 1104, 0, 0, 231, 0, 0, 0, 0, 0,
1678 0, 0, 27, 298, 0, 0, 232, 102, 0, 0,
1679 0, 0, 186, 160, 32, 7, 8, 9, 10, 11,
1680 12, 13, 0, 0, 0, 0, 14, 0, 0, 0,
1681 0, 0, 228, 228, 32, 141, 0, 0, 0, 15,
1682 16, 0, 17, 18, 19, 0, 393, 395, 20, 141,
1683 141, 0, 595, 21, 482, 0, 22, 23, 24, 874,
1684 25, 0, 0, 0, 0, 0, 26, 0, 27, 28,
1685 0, 603, 29, 647, 0, 0, 0, 141, 0, 0,
1686 0, 0, 30, 0, 0, 0, 0, 0, 280, 8,
1687 9, 10, 31, 0, 0, 0, 0, 0, 0, 0,
1688 32, 125, 126, 0, 0, 33, 226, 1292, 124, 0,
1689 34, 0, 1292, 0, 747, 0, 141, 595, 141, 141,
1690 220, 595, 0, 0, 0, 0, 21, 0, 0, 0,
1691 0, 689, 0, 231, 0, 0, 0, 689, 0, 729,
1692 0, 27, 298, 0, 580, 0, 0, 586, 586, 0,
1693 586, 26, 0, 128, 129, 0, 0, 871, 141, 0,
1694 0, 0, 595, 662, 663, 484, 665, 581, 0, 141,
1695 141, 0, 141, 32, 0, 0, 0, 582, 0, 0,
1696 0, 0, 0, 0, 0, 0, 0, 583, 0, 0,
1697 584, 585, 0, 0, 0, 0, 0, 0, 1355, 0,
1698 132, 0, 0, 81, 0, 81, 1046, 0, 0, 0,
1699 997, 81, 81, 0, 586, 0, 586, 586, 0, 586,
1700 228, 0, 0, 0, 0, 0, 228, 0, 0, 0,
1701 0, 0, 0, 141, 141, 141, 0, 0, 797, 0,
1702 0, 0, 0, 0, 689, 141, 0, 0, 854, 0,
1703 0, 0, 0, 0, 0, 0, 586, 0, 0, 0,
1704 0, 0, 0, -358, 8, 9, -358, -358, 12, 226,
1705 0, 0, 0, 0, 14, 0, 0, 0, 0, 0,
1706 647, 0, 1096, 0, 0, 0, 854, 0, 16, 0,
1707 17, -358, 0, 0, 0, 228, 20, 0, 0, 0,
1708 0, -358, 0, 0, 0, 23, 0, 580, 0, 0,
1709 0, 0, 0, 0, 26, 0, 128, 129, 141, 0,
1710 141, 0, 0, 0, 0, 854, 0, 228, 0, 0,
1711 581, 141, 0, 228, 0, 874, 874, 874, 1137, 0,
1712 582, 0, 603, 586, 1143, 0, 0, 0, -358, 0,
1713 583, 689, 0, 584, 585, 0, 49, 0, 0, 7,
1714 125, 126, 10, 689, 0, 13, 0, 0, 0, 228,
1715 0, 228, 0, 141, 141, 595, 0, 0, 0, 0,
1716 0, 0, 49, 49, 0, 148, 0, 49, 0, 0,
1717 0, 0, 49, 0, 0, 0, 689, 21, 689, 0,
1718 0, 0, 0, 0, 0, 49, 0, 49, 0, 0,
1719 26, 0, 27, 28, 874, 0, 586, 0, 586, 0,
1720 0, 0, 0, 0, 0, 0, 145, 228, 0, 586,
1721 234, 0, 0, 871, 871, 871, 146, 0, 729, 0,
1722 228, 0, 0, 997, 32, 0, 0, 0, 0, 147,
1723 125, 126, 228, 0, 198, 199, 0, 0, 0, 0,
1724 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1725 0, 586, 586, 586, 0, 81, 0, 0, 0, 375,
1726 0, 854, 20, 375, 375, 228, 49, 228, 0, 0,
1727 49, 23, 234, 580, 49, 0, 0, 148, 148, 148,
1728 26, 0, 128, 129, 0, 0, 0, 0, 0, 854,
1729 0, 49, 871, 0, 0, 0, 581, 0, 0, 141,
1730 141, 0, 141, 0, 0, 0, 582, 0, 49, 49,
1731 148, 0, 0, 0, 0, 0, 583, 0, 234, 584,
1732 585, 7, 8, 9, 10, 0, 6, 13, 7, 8,
1733 9, 10, 11, 12, 13, 0, 0, 49, 0, 14,
1734 0, 0, 0, 0, 0, 0, 141, 141, 141, 141,
1735 595, 0, 0, 16, 141, 17, 18, 0, 0, 21,
1736 729, 20, 0, 0, 0, 0, 21, 0, 0, 0,
1737 23, 49, 26, 410, 27, 28, 874, 874, 874, 26,
1738 0, 27, 28, 0, 0, 29, 0, 0, 176, 0,
1739 0, 0, 729, 0, 0, 30, 0, 0, 177, 0,
1740 0, 0, 0, 0, 0, 31, 32, 141, 0, 0,
1741 0, 178, 141, 32, 81, 0, 0, 0, 33, 0,
1742 0, 0, 0, 0, 0, 0, 0, 1137, 125, 126,
1743 0, 0, 0, 481, 0, 0, 0, 0, 0, 0,
1744 521, 0, 239, 0, 586, 586, 586, 586, 586, 0,
1745 0, 0, 586, 0, 0, 0, 0, 375, 0, 0,
1746 0, 0, 0, 141, 141, 234, 141, 0, 0, 0,
1747 49, 580, 0, 0, 871, 871, 871, 0, 26, 0,
1748 128, 129, 0, 0, 0, 0, 375, 0, 0, 7,
1749 125, 126, 10, 0, 581, 481, 0, 141, 595, 141,
1750 0, 0, 0, 0, 582, 0, 0, 0, 0, 0,
1751 375, 0, 0, 0, 583, 406, 228, 584, 585, 49,
1752 0, 0, 0, 0, 0, 0, 0, 21, 0, 0,
1753 49, 0, 0, 49, 0, 0, 434, 0, 49, 0,
1754 26, 0, 27, 28, 0, 0, 0, 0, 0, 450,
1755 0, 0, 0, 0, 0, 0, 30, 0, 0, 0,
1756 0, 586, 586, 0, 586, 0, 31, 49, 0, 49,
1757 0, 148, 148, 148, 32, 0, 0, 49, 0, 33,
1758 524, 0, 49, 0, 0, 49, 7, 8, 9, 10,
1759 385, 12, 13, 0, 0, 951, 647, 14, 0, 0,
1760 0, 49, 0, 0, 874, 0, 0, 0, 0, 0,
1761 0, 16, 0, 17, 18, 0, 0, 0, 0, 20,
1762 0, 0, 0, 0, 21, 0, 0, 0, 23, 0,
1763 76, 521, 0, 0, 521, 0, 0, 26, 0, 27,
1764 28, 0, 0, 0, 0, 0, 0, 0, 0, 521,
1765 521, 521, 0, 30, 0, 0, 76, 76, 0, 76,
1766 0, 76, 0, 31, 521, 0, 76, 874, 874, 874,
1767 0, 32, 0, 0, 0, 0, 33, 0, 0, 76,
1768 0, 76, 0, 0, 0, 228, 0, 0, 0, 0,
1769 141, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1770 730, 0, 7, 8, 731, 10, 385, 12, 13, 0,
1771 234, 0, 0, 14, 0, 0, 0, 0, 0, 0,
1772 0, 0, 0, 521, 0, 0, 0, 16, 0, 17,
1773 18, 19, 0, 0, 0, 20, -493, 0, 0, 0,
1774 21, 49, 0, 0, 23, 732, 0, 641, 0, 0,
1775 0, 0, 0, 26, 0, 27, 28, 0, 0, 733,
1776 76, 734, 0, 0, 76, 0, 0, 0, 76, 30,
1777 0, 76, 76, 76, 0, 0, 0, 0, 0, 31,
1778 49, 49, 49, 49, 0, 76, 0, 32, 0, 0,
1779 0, 0, 33, 0, 0, 153, 0, 0, 0, 0,
1780 0, 0, 76, 76, 76, 704, 0, 0, -493, 0,
1781 710, 0, 0, 0, 0, 187, 0, 0, 0, 0,
1782 8, 9, 49, 385, 12, 13, 49, 1409, 0, 0,
1783 14, 76, 0, 49, 49, 751, 49, 0, 0, 0,
1784 0, 757, 0, 0, 16, 0, 17, 18, 0, 0,
1785 0, 0, 20, 765, 766, 0, 767, 0, 0, 0,
1786 0, 640, 0, 0, 641, 76, 0, 49, 0, 49,
1787 26, 0, 128, 129, 49, 49, 49, 1410, 534, 535,
1788 536, 537, 538, 539, 540, 541, 542, 543, 544, 545,
1789 546, 547, 548, 549, 550, 551, 552, 553, 554, 555,
1790 0, 0, 0, 521, 0, 0, 0, 153, 153, 153,
1791 538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
1792 548, 549, 550, 551, 552, 553, 554, 555, 730, 0,
1793 7, 8, 731, 10, 385, 12, 13, 0, 187, 187,
1794 443, 14, 0, 0, 0, 0, 0, 0, 0, 862,
1795 863, 0, 0, 0, 862, 16, 0, 17, 18, 19,
1796 602, 0, 0, 20, 76, 0, 0, 187, 21, 0,
1797 0, 0, 23, 732, 0, 641, 0, 0, 0, 0,
1798 0, 26, 0, 27, 28, 0, 0, 733, 0, 734,
1799 0, 0, 7, 8, 9, 10, 0, 30, 226, 521,
1800 521, 521, 0, 0, 0, 234, 0, 31, 0, 0,
1801 0, 0, 0, 76, 0, 32, 0, 0, 0, 0,
1802 33, 0, 0, 0, 76, 0, 0, 76, 0, 0,
1803 21, 0, 76, 0, 0, 0, 0, 49, 49, 148,
1804 494, 0, 0, 26, 234, 27, 28, 544, 545, 546,
1805 547, 548, 549, 550, 551, 552, 553, 554, 555, 176,
1806 0, 76, 0, 76, 0, 76, 76, 76, 0, 177,
1807 0, 76, 0, 0, 0, 0, 76, 32, 1131, 76,
1808 0, 0, 178, 0, 0, 0, 0, 0, 0, 588,
1809 588, 588, 0, 0, 185, 76, 0, 0, 0, 985,
1810 8, 731, 10, 188, 12, 189, 0, 49, 0, 0,
1811 14, 0, 0, 0, 0, 0, 0, 0, 0, 237,
1812 0, 1016, 241, 1018, 16, 0, 17, 18, 234, 0,
1813 8, 9, 20, 385, 12, 13, 0, 21, 687, 49,
1814 14, 23, 0, 237, 0, 344, 0, 0, 0, 187,
1815 26, 0, 27, 28, 16, 0, 17, 18, 987, 0,
1816 0, 0, 20, 0, 0, 0, 30, 0, 0, 0,
1817 0, 23, 0, 0, 0, 0, 31, 0, 0, 0,
1818 26, 0, 128, 129, 32, 0, 0, 0, 0, 33,
1819 0, 0, 0, 0, 0, 1051, 1052, 187, 1054, 187,
1820 0, 443, 443, 443, 0, 602, 0, 187, 0, 0,
1821 234, 0, 187, 0, 0, 187, 0, 185, 185, 185,
1822 0, 0, 0, 0, 0, 0, 1072, 449, 0, 0,
1823 49, 49, 148, 148, 148, 76, 234, 0, 49, 0,
1824 0, 7, 8, 9, 10, 0, 185, 13, 0, 0,
1825 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1826 1131, 1131, 1131, 0, 0, 0, 0, 0, 0, 241,
1827 0, 1106, 0, 0, 76, 76, 76, 76, 0, 21,
1828 0, 0, 0, 237, 0, 0, 0, 7, 8, 9,
1829 10, 49, 26, 481, 27, 28, 49, 0, 49, 0,
1830 0, 0, 0, 0, 0, 0, 0, 0, 439, 0,
1831 0, 0, 0, 0, 0, 0, 76, 0, 440, 0,
1832 76, 0, 0, 0, 0, 21, 32, 76, 76, 836,
1833 76, 441, 0, 1148, 0, 0, 0, 0, 26, 0,
1834 27, 28, 0, 588, 588, 1153, 588, 49, 49, 0,
1835 49, 0, 0, 588, 176, 0, 0, 0, 0, 0,
1836 0, 76, 0, 76, 177, 0, 0, 0, 76, 76,
1837 76, 187, 32, 0, 237, 241, 0, 178, 0, 0,
1838 0, 49, 49, 49, 0, 0, 0, 0, 0, 0,
1839 0, 0, 0, 0, 7, 8, 9, 10, 188, 12,
1840 189, 0, 0, 0, 0, 14, 0, 0, 0, 0,
1841 909, 0, 909, 909, 0, 588, 0, 0, 0, 16,
1842 0, 17, 18, 0, 0, 0, 0, 20, 185, 1205,
1843 0, 0, 21, 0, 0, 0, 23, 0, 0, 0,
1844 0, 0, 0, 0, 0, 26, 0, 27, 28, 0,
1845 0, 1353, 909, 0, 0, 0, 0, 0, 0, 0,
1846 0, 30, 0, 187, 187, 0, 187, 1218, 0, 0,
1847 0, 31, 0, 18, 0, 0, 185, 0, 185, 32,
1848 185, 185, 185, 0, 33, 0, 185, 0, 1131, 0,
1849 0, 185, 0, 0, 185, 0, 0, 0, 0, 0,
1850 602, 0, 0, 0, 187, 534, 535, 536, 537, 538,
1851 539, 540, 541, 542, 543, 544, 545, 546, 547, 548,
1852 549, 550, 551, 552, 553, 554, 555, 494, 494, 494,
1853 1300, 76, 76, 76, 1301, 0, 0, 0, 0, 588,
1854 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1855 0, 1131, 1131, 1131, 0, 7, 8, 9, 10, 197,
1856 198, 199, 0, 0, 0, 0, 14, 0, 0, 1316,
1857 100, 0, 1133, 0, 49, 0, 0, 0, 0, 119,
1858 100, 0, 0, 18, 0, 0, 100, 100, 20, 100,
1859 0, 0, 0, 21, 0, 0, 0, 23, 0, 580,
1860 0, 76, 0, 0, 0, 0, 26, 0, 27, 28,
1861 0, 0, 588, 0, 588, 0, 0, 0, 0, 218,
1862 0, 0, 176, 0, 0, 588, 0, 0, 0, 588,
1863 588, 588, 177, 76, 0, 237, 241, 0, 1368, 0,
1864 32, 0, 1369, 0, 0, 1356, 0, 0, 0, 0,
1865 185, 543, 544, 545, 546, 547, 548, 549, 550, 551,
1866 552, 553, 554, 555, 1387, 1388, 0, 909, 909, 1105,
1867 0, 0, 0, 0, 0, 0, 0, 0, 368, 0,
1868 119, 0, 0, 100, 0, 0, 0, 100, 100, 185,
1869 0, 185, 185, 0, 100, 0, 100, 100, 100, 0,
1870 0, 100, 100, 100, 0, 0, 0, 0, 1105, 0,
1871 0, 7, 8, 9, 10, 385, 12, 13, 0, 0,
1872 0, 0, 14, 0, 76, 76, 76, 76, 76, 0,
1873 0, 185, 76, 0, 0, 0, 16, 187, 17, 18,
1874 0, 0, 185, 185, 20, 185, 0, 0, 0, 21,
1875 0, 0, 0, 23, 1133, 1133, 1133, 0, 0, 0,
1876 0, 0, 26, 0, 27, 28, 985, 986, 9, 10,
1877 241, 0, 0, 0, 0, 464, 100, 0, 30, 0,
1878 0, 0, 0, 185, 0, 76, 0, 0, 31, 0,
1879 76, 0, 76, 0, 0, 100, 32, 0, 0, 0,
1880 0, 33, 0, 0, 21, 8, 9, 0, 188, 12,
1881 189, 0, 0, 836, 836, 14, 836, 26, 0, 27,
1882 28, 0, 0, 0, 0, 987, 0, 0, 0, 16,
1883 0, 17, 18, 176, 100, 0, 0, 20, 0, 0,
1884 0, 76, 76, 177, 76, 0, 23, 0, 0, 0,
1885 0, 32, 0, 0, 0, 26, 178, 128, 129, 0,
1886 909, 909, 1105, 1105, 1105, 0, 0, 0, 909, 0,
1887 0, 0, 0, 0, 0, 76, 76, 76, 0, 0,
1888 0, 100, 0, 100, 100, 0, 0, 0, 0, 0,
1889 1105, 1105, 1105, 0, 0, 0, 0, 0, 7, 8,
1890 9, 10, 188, 12, 189, 0, 0, 0, 0, 14,
1891 100, 0, 0, 0, 237, 241, 237, 1285, 1286, 9,
1892 10, 187, 0, 16, 0, 17, 18, 0, 0, 0,
1893 0, 20, 0, 0, 100, 0, 21, 0, 0, 0,
1894 23, 0, 0, 0, 0, 0, 185, 185, 1103, 26,
1895 100, 27, 28, 237, 100, 21, 0, 100, 0, 0,
1896 0, 0, 100, 0, 0, 30, 0, 0, 26, 0,
1897 27, 28, 0, 0, 0, 31, 1287, 909, 909, 0,
1898 909, 0, 1133, 32, 176, 0, 0, 1103, 33, 0,
1899 0, 0, 0, 0, 177, 0, 0, 0, 0, 0,
1900 0, 0, 32, 0, 0, 0, 0, 178, 0, 0,
1901 0, 187, 0, 187, 0, 0, 185, 0, 0, 0,
1902 0, 0, 100, 516, 722, 280, 8, 9, 10, 385,
1903 12, 281, 282, 283, 687, 284, 14, 449, 0, 0,
1904 0, 0, 0, 0, 0, 1133, 1133, 1133, 0, 100,
1905 16, 285, 17, 18, 19, 0, 286, 287, 20, 0,
1906 288, 289, 290, 21, 291, 292, 0, 23, 76, 580,
1907 0, 293, 294, 295, 296, 297, 26, 0, 27, 298,
1908 -286, 0, 0, 299, 0, 0, 0, 0, 0, 300,
1909 0, 0, 867, 0, 0, 1285, 125, 126, 10, 0,
1910 302, 303, 868, 0, 0, 0, 0, 0, 305, 306,
1911 307, 0, 583, 0, 0, 869, 585, 0, 443, 237,
1912 0, 0, 0, 100, 0, 0, 0, 0, 0, 0,
1913 0, 0, 309, 21, 100, 100, 0, 100, 100, 185,
1914 185, 185, 185, 1103, 0, 1217, 26, 185, 27, 28,
1915 0, 0, 0, 0, 1287, 0, 7, 8, 9, 10,
1916 0, 0, 30, 7, 125, 126, 10, 0, 0, 1103,
1917 1103, 1103, 31, 0, 0, 0, 0, 0, 0, 0,
1918 32, 443, 443, 443, 0, 33, 0, 0, 0, 0,
1919 0, 0, 0, 0, 21, 0, 119, 0, 0, 0,
1920 185, 21, 0, 0, 187, 0, 0, 26, 218, 27,
1921 28, 0, 0, 1350, 26, 0, 27, 28, 0, 0,
1922 0, 0, 0, 176, 0, 0, 0, 722, 0, 0,
1923 145, 0, 0, 177, 0, 0, 0, 0, 0, 0,
1924 146, 32, 0, 0, 0, 0, 178, 0, 32, 0,
1925 0, 0, 0, 147, 0, 0, 185, 185, 0, 185,
1926 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1927 0, 0, 0, 1381, 0, -450, -450, -450, -450, -450,
1928 -450, -450, 0, 0, -450, 722, -450, 0, 100, 0,
1929 185, 0, 185, 0, 0, 0, 0, -450, 0, -450,
1930 0, 0, 0, -450, 0, 0, 0, 0, -450, 0,
1931 0, 0, 0, -450, 0, 0, 0, -450, 0, -450,
1932 0, 100, 100, 100, 0, 0, -450, 0, -450, -450,
1933 -450, -450, -450, 100, -450, -450, -450, -450, -450, -450,
1934 -450, -450, -450, -450, -450, -450, -450, -450, -450, -450,
1935 -450, -450, -450, -450, -450, -450, -450, 0, -450, -450,
1936 -450, 0, -450, -450, -450, -450, -450, -450, 0, -450,
1937 0, 0, 8, 9, 1382, 0, 12, 13, 0, -450,
1938 -450, -450, 14, -450, 0, 8, 9, 0, 385, 12,
1939 13, 0, 0, 1468, 0, 14, 16, 1103, 17, 0,
1940 0, 0, 0, 0, 20, 0, 100, 0, 100, 16,
1941 0, 17, 18, 23, 0, 0, 0, 20, 0, 100,
1942 0, 0, 26, 0, 128, 129, 23, 0, 0, 0,
1943 0, 0, 0, 0, 0, 26, 0, 128, 129, 539,
1944 540, 541, 542, 543, 544, 545, 546, 547, 548, 549,
1945 550, 551, 552, 553, 554, 555, 0, 0, 0, 0,
1946 1103, 1103, 1103, 0, 0, 0, 0, 0, 0, 0,
1947 0, 0, 1358, 0, 1228, 1229, 1230, 10, 385, 12,
1948 281, 282, 283, 185, 284, 14, 1231, 0, 1232, 1233,
1949 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 15, 16,
1950 285, 17, 18, 19, 0, 286, 287, 20, 0, 288,
1951 289, 290, 21, 291, 292, 0, 23, 0, 0, 0,
1952 293, 294, 295, 296, 297, 26, 722, 1242, 298, 674,
1953 0, 1243, 299, 0, 7, 8, 9, 10, 300, 0,
1954 0, 301, 0, 0, 0, 0, 0, 0, 0, 302,
1955 303, 304, 0, 100, 0, 0, 0, 305, 306, 307,
1956 0, 0, 0, 0, 308, 0, 1244, 0, 0, 0,
1957 0, 0, 21, 0, 0, 0, 0, 0, 0, 0,
1958 1359, 309, 0, 0, 0, 26, 0, 27, 28, 0,
1959 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1960 0, 439, 0, 0, 0, 0, 0, 100, 100, 0,
1961 100, 440, 0, 0, 0, 0, 0, 0, 0, 32,
1962 0, 0, 0, 0, 441, 1227, 0, 1228, 1229, 1230,
1963 10, 385, 12, 281, 282, 283, 0, 284, 14, 1231,
1964 0, 1232, 1233, 1234, 1235, 1236, 1237, 1238, 1239, 1240,
1965 1241, 15, 16, 285, 17, 18, 19, 0, 286, 287,
1966 20, 0, 288, 289, 290, 21, 291, 292, 722, 23,
1967 0, 0, 0, 293, 294, 295, 296, 297, 26, 0,
1968 1242, 298, 674, 0, 1243, 299, 0, 0, 0, 0,
1969 0, 300, 0, 0, 301, 0, 0, 0, 0, 0,
1970 722, 0, 302, 303, 304, 0, 0, 0, 0, 0,
1971 305, 306, 307, 0, 0, 0, 0, 308, 100, 1244,
1972 100, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1973 0, 0, 0, 516, 309, 7, 8, 9, 10, 385,
1974 12, 281, 282, 283, 687, 284, 14, 0, 0, 0,
1975 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1976 16, 285, 17, 18, 19, 0, 286, 287, 20, 0,
1977 288, 289, 290, 21, 291, 292, 0, 23, 0, 580,
1978 0, 293, 294, 295, 296, 297, 26, 0, 27, 28,
1979 -286, 0, 0, 299, 0, 0, 0, 0, 0, 300,
1980 0, 0, 1128, 0, 0, 0, 0, 0, 0, 0,
1981 302, 303, 1129, 0, 0, 0, 0, 0, 305, 306,
1982 307, 0, 583, 0, 0, 1130, 585, 686, 0, 280,
1983 8, 9, 10, 385, 12, 281, 282, 283, 687, 284,
1984 14, 0, 309, 0, 0, 0, 0, 0, 0, 0,
1985 0, 0, 0, 0, 16, 285, 17, 18, 19, 0,
1986 286, 287, 20, 0, 288, 289, 290, 21, 291, 292,
1987 0, 23, 0, 0, 0, 293, 294, 295, 296, 297,
1988 26, 0, 27, 298, 0, 0, 0, 299, 0, 0,
1989 0, 0, 0, 300, 0, 0, 301, 0, 0, 0,
1990 0, 0, 0, 0, 302, 303, 304, 0, 0, 0,
1991 0, 0, 305, 306, 307, 0, 0, 0, 800, 308,
1992 280, 8, 9, 10, 385, 12, 281, 282, 283, 0,
1993 284, 14, 0, 0, -760, 0, 309, 0, 0, 0,
1994 0, 0, 0, 0, 0, 16, 285, 17, 18, 19,
1995 0, 286, 287, 20, 0, 288, 289, 290, 21, 291,
1996 292, 0, 23, 0, 0, 0, 293, 294, 295, 296,
1997 297, 26, 0, 27, 298, 1447, 0, -750, 299, 0,
1998 0, 0, 0, 0, 300, 0, 0, 301, 0, 0,
1999 0, 0, 0, 0, 0, 302, 303, 304, 0, 0,
2000 0, 0, 0, 305, 306, 307, 0, 0, 0, 677,
2001 308, 788, 789, 790, 10, 0, 12, 498, 282, 283,
2002 0, 284, 14, 0, 0, 0, 0, 309, 0, 0,
2003 0, 0, 0, 0, 0, 0, 16, 285, 17, 0,
2004 19, 0, 286, 287, 20, 0, 288, 289, 290, 21,
2005 291, 292, 0, 23, 0, 0, 0, 293, 294, 295,
2006 296, 297, 26, 0, 791, 792, 678, 0, 0, 299,
2007 0, 0, 0, 0, 0, 300, 0, 0, 301, 0,
2008 0, 0, 0, 0, 0, 0, 302, 303, 304, 0,
2009 0, 0, 0, 0, 305, 306, 307, 0, 0, 0,
2010 0, 308, 793, 677, 0, 788, 789, 790, 10, 0,
2011 12, 498, 282, 283, 0, 284, 14, 938, 309, 0,
2012 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2013 16, 285, 17, 0, 19, 0, 286, 287, 20, 0,
2014 288, 289, 290, 21, 291, 292, 0, 23, 0, 0,
2015 0, 293, 294, 295, 296, 297, 26, 0, 791, 792,
2016 678, 0, 0, 299, 0, 0, 0, 0, 0, 300,
2017 0, 0, 301, 0, 0, 0, 0, 0, 0, 0,
2018 302, 303, 304, 0, 0, 0, 0, 0, 305, 306,
2019 307, 0, 0, 0, 0, 308, 793, 677, 0, 788,
2020 789, 790, 10, 0, 12, 498, 282, 283, 0, 284,
2021 14, 0, 309, 0, 0, 0, 0, 0, 0, 0,
2022 0, 0, 0, 0, 16, 285, 17, 0, 19, 0,
2023 286, 287, 20, 0, 288, 289, 290, 21, 291, 292,
2024 0, 23, 0, 0, 0, 293, 294, 295, 296, 297,
2025 26, 0, 791, 792, 678, 0, 0, 299, 0, 0,
2026 0, 0, 0, 300, 0, 0, 301, 0, 0, 0,
2027 0, 0, 0, 0, 302, 303, 304, 0, 0, 0,
2028 0, 0, 305, 306, 307, 0, 0, 0, 677, 308,
2029 788, 789, 790, 10, 0, 12, 498, 282, 283, 0,
2030 284, 14, 0, 0, 0, -454, 309, 0, 0, 0,
2031 0, 0, 0, 0, 0, 16, 285, 17, 0, 19,
2032 0, 286, 287, 20, 0, 288, 289, 290, 21, 291,
2033 292, 0, 23, 0, 0, 0, 293, 294, 295, 296,
2034 297, 26, 0, 791, 792, 678, 0, 0, 299, 0,
2035 0, 0, 0, 0, 300, 0, 0, 301, 0, 0,
2036 0, 0, 0, 0, 0, 302, 303, 304, 0, 0,
2037 0, 0, 0, 305, 306, 307, 0, 0, 0, 677,
2038 308, 280, 8, 9, 10, 0, 12, 498, 282, 283,
2039 0, 284, 14, 0, 0, 0, 1261, 309, 0, 0,
2040 0, 0, 0, 0, 0, 0, 16, 285, 17, 0,
2041 19, 0, 286, 287, 20, 0, 288, 289, 290, 21,
2042 291, 292, 0, 23, 0, 0, 0, 293, 294, 295,
2043 296, 297, 26, 0, 27, 298, 678, 0, 0, 299,
2044 0, 0, 0, 0, 0, 300, 0, 0, 301, 0,
2045 0, 0, 0, 0, 0, 0, 302, 303, 304, 0,
2046 0, 0, 0, 0, 305, 306, 307, 0, 0, 0,
2047 0, 308, 0, 516, 0, 280, 8, 9, 10, 1265,
2048 12, 281, 282, 283, 0, 284, 14, 0, 309, 0,
2049 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2050 16, 285, 17, 0, 19, 0, 286, 287, 20, 0,
2051 288, 289, 290, 21, 291, 292, 0, 23, 0, 0,
2052 0, 293, 294, 295, 296, 297, 26, 0, 27, 298,
2053 -286, 0, 0, 299, 0, 0, 0, 0, 0, 300,
2054 0, 0, 517, 0, 0, 0, 0, 0, 0, 0,
2055 302, 303, 518, 0, 0, 0, 0, 0, 305, 306,
2056 307, 0, 0, 0, 677, 519, 280, 8, 9, 10,
2057 0, 12, 498, 282, 283, 0, 284, 14, 0, 0,
2058 0, 0, 309, 0, 0, 0, 0, 0, 0, 0,
2059 0, 16, 285, 17, 0, 19, 0, 286, 287, 20,
2060 0, 288, 289, 290, 21, 291, 292, 0, 23, 0,
2061 0, 0, 293, 294, 295, 296, 297, 26, 0, 27,
2062 298, 678, 0, 0, 299, 0, 0, 0, 0, 0,
2063 300, 0, 0, 301, 0, 0, 0, 0, 0, 0,
2064 0, 302, 303, 304, 0, 0, 0, 0, 0, 305,
2065 306, 307, 0, 0, 0, 800, 308, 280, 8, 9,
2066 10, 0, 12, 498, 282, 283, 0, 284, 14, 0,
2067 0, 0, 0, 309, 0, 0, 0, 0, 0, 0,
2068 0, 0, 16, 285, 17, 0, 19, 0, 286, 287,
2069 20, 0, 288, 289, 290, 21, 291, 292, 0, 23,
2070 0, 0, 0, 293, 294, 295, 296, 297, 26, 0,
2071 27, 298, 0, 0, 0, 299, -750, 0, 0, 0,
2072 0, 300, 0, 0, 301, 0, 0, 0, 0, 0,
2073 0, 0, 302, 303, 304, 0, 0, 0, 0, 0,
2074 305, 306, 307, 0, 0, 0, 516, 308, 7, 8,
2075 9, 10, 0, 12, 281, 282, 283, 0, 284, 14,
2076 0, 0, 0, 0, 309, 0, 0, 0, 0, 0,
2077 0, 0, 0, 16, 285, 17, 0, 19, 0, 286,
2078 287, 20, 0, 288, 289, 290, 21, 291, 292, 0,
2079 23, 0, 0, 0, 293, 294, 295, 296, 297, 26,
2080 0, 27, 28, -286, 0, 0, 299, 0, 0, 0,
2081 0, 0, 300, 0, 0, 1419, 0, 0, 0, 0,
2082 0, 0, 0, 302, 303, 1420, 0, 0, 0, 0,
2083 0, 305, 306, 307, 0, 0, 0, 1497, 1421, 280,
2084 8, 9, 10, 0, 12, 281, 282, 283, 0, 284,
2085 14, 0, 0, 0, 0, 309, 0, 0, 0, 0,
2086 0, 0, 0, 0, 16, 285, 17, 0, 19, 0,
2087 286, 287, 20, 0, 288, 289, 290, 21, 291, 292,
2088 0, 23, 0, 0, 0, 293, 294, 295, 296, 297,
2089 26, 0, 27, 298, 0, 0, -173, 299, 0, 0,
2090 0, 0, 0, 300, 0, 0, 301, 0, 0, 0,
2091 0, 0, 0, 0, 302, 303, 304, 0, 0, 0,
2092 0, 0, 305, 306, 307, 0, 0, 0, 800, 308,
2093 280, 8, 9, 10, 0, 12, 498, 282, 283, 0,
2094 284, 14, 0, 0, 0, 0, 309, 0, 0, 0,
2095 0, 0, 0, 0, 0, 16, 285, 17, 0, 19,
2096 0, 286, 287, 20, 0, 288, 289, 290, 21, 291,
2097 292, 0, 23, 0, 0, 0, 293, 294, 295, 296,
2098 297, 26, 0, 27, 298, 0, 0, 0, 299, 0,
2099 0, 0, 0, 0, 300, 243, 0, 301, 8, 9,
2100 0, 0, 12, 13, 0, 302, 303, 304, 14, 0,
2101 0, 0, 0, 305, 306, 307, 0, 0, 0, 0,
2102 308, 0, 16, 0, 17, 0, 0, 0, 0, 0,
2103 20, 0, 244, 245, 0, -750, 0, 309, 0, 23,
2104 0, 246, 0, 0, 0, 0, 0, 0, 26, 0,
2105 128, 129, 0, 247, 0, 0, 0, 248, 249, 250,
2106 251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
2107 261, 262, 263, 264, 265, 266, 267, 268, 0, 0,
2108 269, 270, 271, 0, 0, 272, 0, 886, 273, 280,
2109 8, 9, 10, 0, 12, 498, 282, 283, 0, 284,
2110 14, 0, 0, 0, 274, 0, 0, 0, 0, 0,
2111 0, 0, 0, 0, 16, 285, 17, 0, 19, 0,
2112 286, 287, 20, 0, 288, 289, 290, 21, 291, 292,
2113 0, 23, 0, 0, 0, 293, 294, 295, 296, 297,
2114 26, 0, 27, 298, 0, 0, 0, 299, 0, 0,
2115 0, 0, 0, 300, 0, 0, 301, 0, 0, 0,
2116 0, 0, 0, 0, 302, 303, 304, 0, 0, 0,
2117 0, 0, 305, 306, 307, 0, 0, 0, 888, 308,
2118 280, 8, 9, 10, 0, 12, 498, 282, 283, 0,
2119 284, 14, 0, 0, 0, 0, 309, 0, 0, 0,
2120 0, 0, 0, 0, 0, 16, 285, 17, 0, 19,
2121 0, 286, 287, 20, 0, 288, 289, 290, 21, 291,
2122 292, 0, 23, 0, 0, 0, 293, 294, 295, 296,
2123 297, 26, 0, 27, 298, 0, 0, 0, 299, 0,
2124 0, 0, 0, 0, 300, 0, 0, 301, 0, 0,
2125 0, 0, 0, 0, 0, 302, 303, 304, 0, 0,
2126 0, 0, 0, 305, 306, 307, 0, 0, 0, 1432,
2127 308, 280, 8, 9, 10, 0, 12, 498, 282, 283,
2128 0, 284, 14, 0, 0, 0, 0, 309, 0, 0,
2129 0, 0, 0, 0, 0, 0, 16, 285, 17, 0,
2130 19, 0, 286, 287, 20, 0, 288, 289, 290, 21,
2131 291, 292, 0, 23, 0, 0, 0, 293, 294, 295,
2132 296, 297, 26, 0, 27, 298, 0, 0, 0, 299,
2133 0, 0, 0, 0, 0, 300, 0, 0, 301, 0,
2134 0, 0, 0, 0, 0, 0, 302, 303, 304, 0,
2135 0, 0, 0, 0, 305, 306, 307, 280, 8, 9,
2136 10, 308, 12, 498, 282, 283, 0, 284, 14, 0,
2137 0, 0, 0, 0, 0, 0, 0, 0, 309, 0,
2138 0, 0, 16, 285, 17, 0, 19, 0, 286, 287,
2139 20, 0, 288, 289, 290, 21, 291, 292, 0, 23,
2140 0, 0, 0, 293, 294, 295, 296, 297, 26, 0,
2141 27, 298, 0, 0, 0, 299, 0, 0, 0, 0,
2142 0, 300, 0, 730, 301, 7, 8, 731, 10, 385,
2143 12, 13, 302, 303, 304, 0, 14, 0, 0, 0,
2144 305, 306, 307, 0, 0, 0, 0, 308, 0, 0,
2145 16, 0, 17, 18, 19, 0, 0, 0, 20, -494,
2146 0, 0, 0, 21, 309, 839, 0, 23, 732, 0,
2147 641, 0, 0, 0, 0, 0, 26, 0, 27, 28,
2148 0, 0, 733, 0, 734, 0, 0, 0, 0, 0,
2149 0, 0, 30, 730, 0, 7, 8, 731, 10, 385,
2150 12, 13, 31, 0, 0, 0, 14, 0, 0, 0,
2151 32, 0, 0, 0, 0, 33, 0, 0, 0, 0,
2152 16, 0, 17, 18, 19, 0, 0, 0, 20, -496,
2153 0, -494, 0, 21, 0, 0, 0, 23, 732, 0,
2154 641, 0, 0, 0, 0, 0, 26, 0, 27, 28,
2155 0, 0, 733, 0, 734, 0, 0, 0, 7, 8,
2156 9, 10, 30, 730, 0, 7, 8, 731, 10, 385,
2157 12, 13, 31, 0, 0, 0, 14, 0, 0, 0,
2158 32, 0, 0, 0, 0, 33, 0, 0, 0, 0,
2159 16, 0, 17, 18, 19, 0, 21, 0, 20, -495,
2160 0, -496, 0, 21, 0, 0, 0, 23, 732, 26,
2161 641, 27, 28, 0, 0, 0, 26, 0, 27, 28,
2162 0, 0, 733, 0, 734, 176, 0, 0, 0, 0,
2163 0, 0, 30, 0, 0, 177, 0, 0, 0, 0,
2164 0, 0, 31, 32, 0, 0, 0, 0, 178, 0,
2165 32, 0, 0, 0, 0, 33, 0, 0, 1228, 1229,
2166 1230, 10, 385, 12, 281, 282, 283, 0, 284, 14,
2167 1231, -495, 1232, 1233, 1234, 1235, 1236, 1237, 1238, 1239,
2168 1240, 1241, 15, 16, 285, 17, 18, 19, 0, 286,
2169 287, 20, 0, 288, 289, 290, 21, 291, 292, 0,
2170 23, 0, 0, 0, 293, 294, 295, 296, 297, 26,
2171 0, 1242, 298, 674, 0, 1243, 299, 0, 0, 0,
2172 0, 0, 300, 0, 0, 301, 0, 0, 0, 0,
2173 0, 0, 0, 302, 303, 304, 0, 0, 0, 0,
2174 0, 305, 306, 307, 0, 0, 0, 0, 308, 0,
2175 1244, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2176 0, 0, 0, 0, 1363, 309, 1228, 1229, 1230, 10,
2177 385, 12, 281, 282, 283, 0, 284, 14, 1231, 0,
2178 1232, 1233, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241,
2179 15, 16, 285, 17, 18, 19, 0, 286, 287, 20,
2180 0, 288, 289, 290, 21, 291, 292, 0, 23, 0,
2181 0, 0, 293, 294, 295, 296, 297, 26, 0, 1242,
2182 298, 674, 0, 1243, 299, 0, 0, 0, 0, 0,
2183 300, 0, 0, 301, 0, 0, 0, 0, 0, 0,
2184 0, 302, 303, 304, 0, 0, 0, 0, 0, 305,
2185 306, 307, 0, 0, 0, 0, 308, 0, 1244, 0,
2186 1228, 1229, 1230, 10, 385, 12, 281, 282, 283, 0,
2187 284, 14, 1231, 309, 1232, 1233, 1234, 1235, 1236, 1237,
2188 1238, 1239, 1240, 1241, 15, 16, 285, 17, 18, 19,
2189 0, 286, 287, 20, 0, 288, 289, 290, 21, 291,
2190 292, 0, 23, 0, 0, 0, 293, 294, 295, 296,
2191 297, 26, 0, 1242, 298, 1474, 0, 1243, 299, 0,
2192 0, 0, 0, 0, 300, 0, 0, 301, 0, 0,
2193 0, 0, 0, 0, 0, 302, 303, 304, 0, 0,
2194 0, 0, 0, 305, 306, 307, 0, 0, 0, 0,
2195 308, 0, 1244, 0, 1228, 1229, 1230, 10, 385, 12,
2196 281, 282, 283, 0, 284, 14, 1231, 309, 1232, 1233,
2197 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 15, 16,
2198 285, 17, 18, 19, 0, 286, 287, 20, 0, 288,
2199 289, 290, 21, 291, 292, 0, 23, 0, 0, 0,
2200 293, 294, 295, 296, 297, 26, 0, 1242, 298, 0,
2201 0, 1243, 299, 0, 0, 0, 0, 0, 300, 0,
2202 0, 301, 0, 0, 0, 0, 0, 0, 0, 302,
2203 303, 304, 0, 0, 0, 0, 0, 305, 306, 307,
2204 0, 0, 0, 0, 308, 0, 1244, 280, 8, 9,
2205 10, 385, 12, 281, 282, 283, 687, 284, 14, 0,
2206 0, 309, 0, 0, 0, 0, 0, 0, 0, 0,
2207 0, 0, 16, 285, 17, 18, 19, 0, 286, 287,
2208 20, 0, 288, 289, 290, 21, 291, 292, 0, 23,
2209 0, 580, 0, 293, 294, 295, 296, 297, 26, 0,
2210 27, 298, 0, 0, 0, 299, 0, 0, 0, 0,
2211 0, 300, 0, 0, 867, 0, 0, 0, 0, 0,
2212 0, 0, 302, 303, 868, 0, 0, 0, 0, 0,
2213 305, 306, 307, 0, 583, 0, 0, 869, 585, 7,
2214 8, 9, 10, 385, 12, 281, 282, 283, 687, 284,
2215 14, 0, 0, 0, 309, 0, 0, 0, 0, 0,
2216 0, 0, 0, 0, 16, 285, 17, 18, 19, 0,
2217 286, 287, 20, 0, 288, 289, 290, 21, 291, 292,
2218 0, 23, 0, 580, 0, 293, 294, 295, 296, 297,
2219 26, 0, 27, 28, 0, 0, 0, 299, 0, 0,
2220 0, 0, 0, 300, 0, 0, 1128, 0, 0, 0,
2221 0, 0, 0, 0, 302, 303, 1129, 0, 0, 0,
2222 0, 0, 305, 306, 307, 0, 583, 0, 0, 1130,
2223 585, 280, 8, 9, 10, 0, 12, 281, 282, 283,
2224 0, 284, 14, 0, 0, 0, 309, 0, 0, 0,
2225 0, 0, 0, 0, 0, 0, 16, 285, 17, 0,
2226 19, 0, 286, 287, 20, 0, 288, 289, 290, 21,
2227 291, 292, 0, 23, 0, 580, 0, 293, 294, 295,
2228 296, 297, 26, 0, 27, 298, 0, 0, 0, 0,
2229 0, 0, 0, 0, 0, 300, 0, 0, 867, 0,
2230 0, 0, 0, 0, 0, 0, 302, 303, 868, 0,
2231 0, 0, 0, 0, 305, 306, 307, 0, 583, 0,
2232 0, 869, 585, 7, 8, 9, 10, 0, 12, 281,
2233 282, 283, 0, 284, 14, 0, 0, 0, 309, 0,
2234 0, 0, 0, 0, 0, 0, 0, 0, 16, 285,
2235 17, 0, 19, 0, 286, 287, 20, 0, 288, 289,
2236 290, 21, 291, 292, 0, 23, 0, 580, 0, 293,
2237 294, 295, 296, 297, 26, 0, 27, 28, 0, 0,
2238 0, 0, 0, 0, 0, 0, 0, 300, 0, 0,
2239 1128, 0, 0, 0, 0, 0, 0, 0, 302, 303,
2240 1129, 0, 0, 0, 0, 0, 305, 306, 307, 0,
2241 583, 0, 0, 1130, 585, 280, 8, 9, 10, 0,
2242 12, 498, 282, 283, 0, 284, 14, 0, 0, 0,
2243 309, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2244 16, 285, 17, 0, 19, 0, 286, 287, 20, 0,
2245 288, 289, 290, 21, 291, 292, 0, 23, 0, 0,
2246 0, 293, 294, 295, 296, 297, 26, 0, 27, 298,
2247 0, 0, 1340, 299, 0, 0, 0, 0, 0, 300,
2248 0, 0, 301, 0, 0, 0, 0, 0, 0, 0,
2249 302, 303, 304, 0, 0, 0, 0, 0, 305, 306,
2250 307, 0, 0, 0, 0, 308, 280, 8, 9, 10,
2251 385, 12, 281, 282, 283, 0, 284, 14, 0, 0,
2252 0, 0, 309, 0, 0, 0, 0, 0, 0, 0,
2253 0, 16, 285, 17, 18, 19, 0, 286, 287, 20,
2254 0, 288, 289, 290, 21, 291, 292, 0, 23, 0,
2255 0, 0, 293, 294, 295, 296, 297, 26, 0, 27,
2256 298, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2257 300, 0, 0, 301, 0, 0, 0, 0, 0, 0,
2258 0, 302, 303, 304, 0, 0, 0, 0, 0, 305,
2259 306, 307, 280, 8, 9, 10, 308, 12, 281, 282,
2260 283, 0, 284, 14, 0, 0, 0, 0, 0, 0,
2261 0, 0, 0, 309, 0, 0, 0, 16, 285, 17,
2262 0, 19, 0, 286, 287, 20, 0, 288, 289, 290,
2263 21, 291, 292, 0, 23, 0, 0, 0, 293, 294,
2264 295, 296, 297, 26, 0, 27, 298, 0, 0, 0,
2265 299, 0, 0, 0, 0, 0, 300, 0, 0, 301,
2266 0, 0, 0, 0, 0, 0, 0, 302, 303, 304,
2267 0, 0, 0, 0, 0, 305, 306, 307, 280, 8,
2268 9, 10, 308, 12, 498, 282, 283, 0, 284, 14,
2269 0, 0, 0, 0, 0, 0, 0, 0, 0, 309,
2270 0, 0, 0, 16, 285, 17, 0, 19, 0, 286,
2271 287, 20, 0, 288, 289, 290, 21, 291, 292, 0,
2272 23, 0, 0, 0, 293, 294, 295, 296, 297, 26,
2273 0, 27, 298, 0, 0, 0, 299, 0, 0, 0,
2274 0, 0, 300, 0, 0, 301, 0, 0, 0, 0,
2275 0, 0, 0, 302, 303, 304, 0, 0, 0, 0,
2276 0, 305, 306, 307, 280, 8, 9, 10, 308, 12,
2277 498, 282, 283, 0, 284, 14, 0, 0, 0, 0,
2278 0, 0, 0, 0, 0, 309, 0, 0, 0, 16,
2279 285, 17, 0, 19, 0, 286, 287, 20, 0, 288,
2280 289, 290, 21, 291, 292, 0, 23, 0, 0, 0,
2281 293, 294, 295, 296, 297, 26, 0, 27, 298, 531,
2282 0, 0, 0, 0, 0, 0, 0, 0, 300, 0,
2283 0, 301, 0, 0, 0, 0, 0, 0, 0, 302,
2284 303, 304, 0, 0, 0, 0, 0, 305, 306, 307,
2285 280, 8, 9, 10, 532, 12, 498, 282, 283, 0,
2286 284, 14, 0, 0, 0, 0, 0, 0, 0, 0,
2287 0, 309, 0, 0, 0, 16, 285, 17, 0, 19,
2288 0, 286, 287, 20, 0, 288, 289, 290, 21, 291,
2289 292, 0, 23, 0, 0, 0, 293, 294, 295, 296,
2290 297, 26, 0, 27, 298, 0, 0, 0, 0, 0,
2291 0, 0, 0, 0, 300, 0, 0, 301, 0, 0,
2292 0, 0, 0, 0, 0, 302, 303, 304, 0, 0,
2293 0, 0, 0, 305, 306, 307, 0, 0, 0, 0,
2294 308, 568, 280, 8, 9, 10, 0, 12, 498, 282,
2295 283, 0, 284, 14, 0, 0, 0, 309, 0, 0,
2296 0, 0, 0, 0, 0, 0, 0, 16, 285, 17,
2297 0, 19, 0, 286, 287, 20, 0, 288, 289, 290,
2298 21, 291, 292, 0, 23, 0, 0, 0, 293, 294,
2299 295, 296, 297, 26, 0, 27, 298, 0, 0, 0,
2300 299, 0, 0, 0, 0, 0, 300, 0, 0, 517,
2301 0, 0, 0, 0, 0, 0, 0, 302, 303, 518,
2302 0, 0, 0, 0, 0, 305, 306, 307, 1090, 8,
2303 9, 10, 519, 12, 498, 282, 283, 0, 284, 14,
2304 0, 0, 0, 0, 0, 0, 0, 0, 0, 309,
2305 0, 0, 0, 16, 285, 17, 0, 19, 0, 286,
2306 287, 20, 0, 288, 289, 290, 21, 291, 292, 0,
2307 23, 0, 0, 0, 293, 294, 295, 296, 297, 26,
2308 0, 27, 298, 0, 0, 0, 299, 0, 0, 0,
2309 0, 0, 300, 0, 0, 301, 0, 0, 0, 0,
2310 0, 0, 0, 302, 303, 304, 0, 0, 0, 0,
2311 0, 305, 306, 307, 7, 8, 9, 10, 308, 12,
2312 498, 282, 283, 0, 284, 14, 0, 0, 0, 0,
2313 0, 0, 0, 0, 0, 309, 0, 0, 0, 16,
2314 285, 17, 0, 19, 0, 286, 287, 20, 0, 288,
2315 289, 290, 21, 291, 292, 0, 23, 0, 0, 0,
2316 293, 294, 295, 296, 297, 26, 0, 27, 28, 0,
2317 0, 0, 299, 0, 0, 0, 0, 0, 300, 0,
2318 0, 1419, 0, 0, 0, 0, 0, 0, 0, 302,
2319 303, 1420, 0, 0, 0, 0, 0, 305, 306, 307,
2320 280, 8, 9, 10, 1421, 12, 498, 282, 283, 0,
2321 284, 14, 0, 0, 0, 0, 0, 0, 0, 0,
2322 0, 309, 0, 0, 0, 16, 285, 17, 0, 19,
2323 0, 286, 287, 20, 0, 288, 289, 290, 21, 291,
2324 292, 0, 23, 0, 0, 0, 293, 294, 295, 296,
2325 297, 26, 0, 27, 298, 0, 0, 0, 0, 0,
2326 0, 0, 0, 0, 300, 0, 0, 301, 0, 0,
2327 0, 0, 0, 0, 0, 302, 303, 304, 0, 0,
2328 0, 0, 0, 305, 306, 307, 280, 8, 9, 10,
2329 499, 12, 498, 282, 283, 0, 284, 14, 0, 0,
2330 0, 0, 0, 0, 0, 0, 0, 309, 0, 0,
2331 0, 16, 285, 17, 0, 19, 0, 286, 287, 20,
2332 0, 288, 289, 290, 21, 291, 292, 0, 23, 0,
2333 0, 0, 293, 294, 295, 296, 297, 26, 0, 27,
2334 298, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2335 300, 0, 0, 301, 0, 0, 0, 0, 0, 0,
2336 0, 302, 303, 304, 0, 0, 0, 0, 0, 305,
2337 306, 307, 280, 8, 9, 10, 502, 12, 498, 282,
2338 283, 0, 284, 14, 0, 0, 0, 0, 0, 0,
2339 0, 0, 0, 309, 0, 0, 0, 16, 285, 17,
2340 0, 19, 0, 286, 287, 20, 0, 288, 289, 290,
2341 21, 291, 292, 0, 23, 0, 0, 0, 293, 294,
2342 295, 296, 297, 26, 0, 27, 298, 0, 0, 0,
2343 0, 0, 0, 0, 0, 0, 300, 0, 0, 301,
2344 0, 0, 0, 0, 0, 0, 0, 302, 303, 304,
2345 0, 0, 0, 0, 0, 305, 306, 307, 280, 8,
2346 9, 10, 308, 12, 498, 282, 283, 0, 284, 14,
2347 0, 0, 0, 0, 0, 0, 0, 0, 0, 309,
2348 0, 0, 0, 16, 285, 17, 0, 19, 0, 286,
2349 287, 20, 0, 288, 289, 290, 21, 291, 292, 0,
2350 23, 0, 0, 0, 293, 294, 295, 296, 297, 26,
2351 0, 27, 298, 0, 0, 0, 0, 0, 0, 0,
2352 0, 0, 300, 0, 0, 517, 0, 0, 0, 0,
2353 0, 0, 0, 302, 303, 518, 0, 0, 0, 0,
2354 0, 305, 306, 307, 7, 8, 9, 10, 519, 12,
2355 281, 282, 283, 0, 284, 14, 0, 0, 0, 0,
2356 0, 0, 0, 0, 0, 309, 0, 0, 0, 16,
2357 285, 17, 0, 19, 0, 286, 287, 20, 0, 288,
2358 289, 290, 21, 291, 292, 0, 23, 0, 0, 0,
2359 293, 294, 295, 296, 297, 26, 0, 27, 28, 0,
2360 0, 0, 0, 0, 0, 0, 0, 0, 300, 0,
2361 0, 1419, 0, 0, 0, 0, 0, 0, 0, 302,
2362 303, 1420, 0, 0, 0, 0, 0, 305, 306, 307,
2363 0, 0, 0, 0, 1421, 540, 541, 542, 543, 544,
2364 545, 546, 547, 548, 549, 550, 551, 552, 553, 554,
2365 555, 309, 534, 535, 536, 537, 538, 539, 540, 541,
2366 542, 543, 544, 545, 546, 547, 548, 549, 550, 551,
2367 552, 553, 554, 555, 534, 535, 536, 537, 538, 539,
2368 540, 541, 542, 543, 544, 545, 546, 547, 548, 549,
2369 550, 551, 552, 553, 554, 555, 0, 0, 0, 0,
2370 1181, 542, 543, 544, 545, 546, 547, 548, 549, 550,
2371 551, 552, 553, 554, 555, 620, 0, 0, 1464, 534,
2372 535, 536, 537, 538, 539, 540, 541, 542, 543, 544,
2373 545, 546, 547, 548, 549, 550, 551, 552, 553, 554,
2374 555, 1482, 534, 535, 536, 537, 538, 539, 540, 541,
2375 542, 543, 544, 545, 546, 547, 548, 549, 550, 551,
2376 552, 553, 554, 555, 534, 535, 536, 537, 538, 539,
2377 540, 541, 542, 543, 544, 545, 546, 547, 548, 549,
2378 550, 551, 552, 553, 554, 555, 534, 535, 536, 537,
2379 538, 539, 540, 541, 542, 543, 544, 545, 0, 547,
2380 548, 549, 550, 551, 552, 553, 554, 555, 541, 542,
2381 543, 544, 545, 546, 547, 548, 549, 550, 551, 552,
2382 553, 554, 555
2383 };
2384
2385 static const short yycheck[] = { 4,
2386 155, 53, 4, 145, 146, 425, 328, 669, 78, 672,
2387 4, 447, 23, 4, 78, 384, 124, 88, 384, 90,
2388 4, 334, 384, 192, 231, 420, 468, 529, 14, 82,
2389 35, 659, 122, 35, 828, 40, 30, 31, 40, 284,
2390 285, 35, 4, 352, 35, 735, 40, 737, 33, 40,
2391 55, 35, 60, 192, 744, 4, 40, 652, 227, 1245,
2392 200, 201, 201, 1407, 135, 70, 131, 11, 131, 132,
2393 140, 316, 52, 35, 1322, 4, 752, 82, 40, 4,
2394 1252, 86, 758, 88, 11, 90, 35, 1259, 82, 11,
2395 1, 40, 1408, 1406, 127, 81, 12, 37, 1424, 132,
2396 105, 106, 3, 4, 5, 1, 35, 276, 58, 7,
2397 35, 40, 44, 54, 1, 40, 186, 1443, 104, 455,
2398 75, 222, 77, 59, 109, 9, 55, 334, 523, 134,
2399 135, 1444, 137, 74, 38, 62, 472, 0, 9, 37,
2400 134, 12, 74, 59, 1151, 1152, 62, 58, 98, 585,
2401 54, 145, 146, 54, 159, 56, 57, 82, 1165, 328,
2402 335, 336, 58, 1479, 108, 159, 62, 4, 5, 109,
2403 150, 58, 134, 109, 1500, 62, 47, 61, 242, 501,
2404 1524, 108, 176, 177, 74, 134, 108, 195, 59, 865,
2405 61, 62, 108, 64, 27, 203, 60, 159, 31, 95,
2406 584, 62, 0, 183, 75, 134, 77, 591, 95, 134,
2407 159, 48, 59, 47, 60, 25, 391, 392, 59, 56,
2408 57, 1407, 93, 94, 59, 33, 1539, 60, 48, 671,
2409 159, 64, 54, 47, 159, 60, 1484, 108, 59, 1411,
2410 62, 93, 228, 80, 60, 109, 33, 108, 58, 33,
2411 878, 1045, 62, 881, 75, 59, 77, 14, 413, 93,
2412 325, 108, 325, 109, 196, 22, 337, 108, 321, 1249,
2413 12, 1251, 277, 108, 364, 54, 109, 1284, 673, 93,
2414 642, 1453, 74, 62, 109, 95, 1293, 1294, 47, 1296,
2415 603, 919, 920, 109, 108, 74, 972, 439, 440, 3,
2416 4, 5, 6, 308, 108, 900, 63, 93, 984, 47,
2417 47, 451, 452, 452, 59, 378, 321, 59, 384, 459,
2418 62, 354, 64, 632, 329, 694, 64, 321, 694, 1501,
2419 75, 471, 337, 338, 93, 387, 60, 41, 146, 147,
2420 58, 1017, 62, 1019, 338, 378, 64, 93, 334, 25,
2421 490, 27, 56, 57, 74, 93, 93, 94, 145, 146,
2422 147, 145, 146, 147, 12, 122, 573, 433, 690, 47,
2423 178, 108, 35, 3, 4, 5, 338, 40, 74, 384,
2424 286, 287, 58, 388, 88, 47, 62, 144, 47, 338,
2425 384, 178, 54, 384, 178, 301, 321, 1191, 304, 4,
2426 5, 307, 904, 74, 310, 469, 93, 415, 314, 338,
2427 830, 59, 74, 338, 62, 93, 322, 62, 48, 95,
2428 4, 5, 47, 1430, 1431, 496, 56, 57, 433, 74,
2429 866, 93, 607, 107, 93, 94, 3, 4, 5, 433,
2430 4, 5, 62, 48, 62, 439, 440, 59, 60, 108,
2431 458, 56, 57, 1081, 1082, 59, 74, 54, 445, 384,
2432 64, 54, 219, 220, 469, 47, 453, 469, 93, 94,
2433 54, 75, 56, 57, 231, 469, 1166, 74, 8, 9,
2434 47, 74, 64, 108, 14, 869, 70, 54, 108, 56,
2435 57, 496, 56, 57, 499, 47, 80, 502, 25, 47,
2436 308, 506, 507, 508, 509, 510, 36, 469, 433, 60,
2437 94, 93, 565, 54, 519, 45, 64, 47, 584, 25,
2438 469, 27, 31, 907, 529, 591, 93, 532, 970, 461,
2439 47, 62, 901, 57, 47, 901, 25, 47, 27, 901,
2440 935, 93, 94, 300, 469, 93, 94, 59, 60, 3,
2441 4, 5, 58, 7, 8, 9, 62, 609, 62, 564,
2442 565, 874, 946, 93, 635, 59, 60, 47, 47, 58,
2443 74, 565, 712, 62, 4, 54, 93, 94, 47, 584,
2444 93, 94, 36, 93, 58, 342, 591, 581, 582, 95,
2445 584, 83, 84, 768, 351, 74, 648, 591, 650, 651,
2446 54, 47, 56, 57, 58, 35, 95, 364, 777, 595,
2447 40, 517, 518, 93, 93, 47, 1036, 1037, 719, 1055,
2448 721, 729, 4, 5, 93, 726, 871, 9, 694, 640,
2449 635, 74, 440, 441, 109, 55, 54, 57, 690, 58,
2450 565, 47, 93, 54, 649, 59, 60, 93, 653, 103,
2451 104, 105, 439, 440, 441, 439, 440, 441, 47, 584,
2452 671, 93, 47, 74, 54, 165, 591, 874, 192, 108,
2453 1112, 735, 54, 737, 56, 57, 200, 201, 54, 743,
2454 744, 54, 753, 754, 74, 756, 752, 93, 70, 694,
2455 742, 499, 758, 54, 502, 59, 60, 54, 80, 54,
2456 694, 74, 1144, 227, 93, 426, 1126, 62, 93, 466,
2457 518, 519, 433, 4, 5, 1135, 1136, 47, 1102, 74,
2458 1140, 47, 897, 75, 532, 3, 4, 5, 1050, 108,
2459 735, 47, 737, 735, 94, 737, 54, 108, 743, 744,
2460 108, 735, 744, 737, 62, 165, 1130, 752, 753, 754,
2461 744, 756, 276, 758, 47, 11, 74, 48, 752, 109,
2462 25, 1181, 27, 93, 758, 56, 57, 93, 93, 694,
2463 59, 60, 192, 735, 531, 737, 497, 93, 56, 57,
2464 200, 201, 744, 591, 1051, 1052, 735, 1054, 737, 80,
2465 3, 4, 5, 58, 3, 744, 60, 62, 111, 865,
2466 93, 47, 80, 869, 328, 1467, 738, 739, 54, 94,
2467 735, 94, 737, 742, 743, 747, 573, 1447, 62, 744,
2468 59, 60, 827, 111, 1487, 93, 831, 752, 74, 74,
2469 95, 93, 74, 758, 12, 901, 1011, 1012, 1013, 74,
2470 561, 907, 912, 56, 57, 58, 27, 93, 74, 27,
2471 31, 1271, 59, 31, 859, 3, 4, 5, 6, 11,
2472 865, 109, 59, 1493, 869, 389, 967, 968, 969, 47,
2473 108, 865, 108, 867, 868, 869, 108, 598, 59, 60,
2474 946, 59, 60, 640, 62, 108, 64, 74, 874, 1309,
2475 765, 766, 767, 41, 54, 652, 901, 60, 903, 904,
2476 108, 111, 907, 109, 4, 5, 972, 901, 56, 57,
2477 901, 905, 906, 907, 54, 93, 94, 54, 984, 4,
2478 5, 678, 62, 975, 109, 62, 996, 451, 452, 1251,
2479 108, 108, 996, 839, 74, 459, 111, 74, 1333, 27,
2480 865, 946, 74, 1007, 869, 74, 54, 471, 48, 74,
2481 1345, 1017, 946, 1019, 959, 111, 56, 57, 1100, 1101,
2482 965, 867, 868, 771, 4, 5, 490, 972, 388, 389,
2483 111, 56, 57, 54, 108, 108, 901, 108, 972, 984,
2484 80, 62, 907, 8, 9, 58, 1128, 1129, 1059, 14,
2485 984, 108, 54, 74, 8, 111, 93, 4, 5, 47,
2486 64, 59, 1007, 93, 109, 1007, 60, 54, 48, 36,
2487 108, 36, 1017, 1007, 1019, 64, 56, 57, 64, 64,
2488 45, 946, 60, 1017, 444, 1019, 1201, 62, 108, 1424,
2489 108, 451, 452, 108, 1104, 455, 1102, 4, 5, 459,
2490 80, 48, 3, 4, 5, 1007, 975, 972, 1443, 56,
2491 57, 27, 472, 108, 1059, 31, 988, 93, 1007, 984,
2492 868, 869, 994, 995, 1130, 64, 998, 999, 1437, 64,
2493 1002, 1437, 64, 80, 111, 1470, 59, 38, 39, 108,
2494 41, 75, 1007, 59, 60, 62, 610, 54, 64, 56,
2495 57, 108, 1017, 54, 1019, 56, 57, 1102, 1162, 907,
2496 108, 1112, 1166, 824, 825, 1500, 1100, 1101, 1102, 1529,
2497 831, 108, 108, 1508, 3, 4, 5, 75, 1123, 1441,
2498 907, 1123, 75, 907, 845, 1130, 847, 651, 849, 1123,
2499 4, 5, 75, 890, 1128, 1129, 1130, 108, 946, 1123,
2500 86, 62, 88, 900, 90, 108, 62, 3, 4, 5,
2501 6, 1057, 59, 108, 62, 111, 3, 4, 5, 946,
2502 108, 1166, 946, 108, 1166, 54, 690, 56, 57, 58,
2503 94, 892, 1166, 47, 1123, 111, 88, 1102, 74, 47,
2504 54, 108, 56, 57, 109, 41, 4, 5, 712, 135,
2505 610, 137, 48, 108, 111, 108, 70, 1249, 1123, 1251,
2506 56, 57, 111, 108, 1166, 1130, 80, 54, 929, 56,
2507 57, 108, 64, 108, 59, 715, 90, 1166, 109, 93,
2508 94, 64, 1128, 1129, 80, 59, 59, 108, 108, 649,
2509 93, 651, 88, 93, 93, 93, 54, 109, 56, 57,
2510 1245, 1166, 109, 1245, 108, 1250, 108, 1252, 8, 749,
2511 1252, 1245, 70, 777, 1259, 108, 111, 1259, 1252, 4,
2512 5, 1416, 80, 1268, 9, 1259, 108, 108, 1252, 108,
2513 690, 108, 1441, 111, 109, 1259, 108, 1419, 1420, 108,
2514 1037, 33, 108, 3, 4, 5, 108, 7, 8, 9,
2515 64, 108, 712, 1101, 1102, 715, 1245, 108, 108, 105,
2516 106, 54, 111, 1252, 4, 5, 108, 108, 62, 54,
2517 1259, 56, 57, 1100, 1101, 1102, 1100, 1101, 1102, 47,
2518 1245, 1129, 1130, 743, 108, 70, 108, 1252, 47, 749,
2519 108, 96, 62, 62, 1259, 80, 56, 57, 60, 1245,
2520 9, 1128, 1129, 1130, 1128, 1129, 1130, 60, 48, 94,
2521 60, 16, 108, 299, 111, 93, 56, 57, 108, 1291,
2522 1292, 108, 108, 1120, 108, 108, 93, 86, 87, 1126,
2523 60, 1437, 91, 92, 93, 94, 60, 93, 4, 5,
2524 80, 93, 8, 9, 3, 4, 5, 17, 14, 60,
2525 1442, 337, 107, 1114, 97, 1116, 1401, 1118, 60, 108,
2526 108, 1406, 1407, 1408, 1406, 1407, 1411, 1401, 11, 1411,
2527 36, 30, 1406, 1407, 1408, 108, 1421, 1411, 60, 45,
2528 108, 47, 1406, 1355, 60, 1419, 1420, 1411, 54, 60,
2529 56, 57, 1437, 93, 59, 54, 64, 56, 57, 1444,
2530 108, 108, 1444, 1437, 70, 426, 60, 108, 1453, 11,
2531 1444, 1453, 433, 60, 80, 11, 60, 1406, 1407, 1453,
2532 1444, 0, 1411, 0, 90, 0, 2, 93, 94, 1453,
2533 412, 3, 4, 5, 1479, 7, 1401, 977, 978, 425,
2534 426, 1406, 1407, 1408, 1241, 1479, 1411, 433, 3, 4,
2535 5, 1212, 7, 8, 9, 1444, 1501, 354, 30, 1501,
2536 901, 159, 308, 1466, 1453, 37, 1006, 1501, 3, 4,
2537 5, 159, 1437, 1419, 1420, 743, 497, 1501, 1112, 1444,
2538 92, 36, 54, 1332, 56, 57, 137, 1539, 1453, 678,
2539 176, 177, 178, 1250, 1539, 221, 890, 1539, 279, 885,
2540 1472, 56, 57, 1144, 970, 1539, 1007, 743, 1356, 1164,
2541 496, 497, 1501, 48, 1479, 1539, 616, 977, 978, 883,
2542 565, 56, 57, 183, 325, 122, 1252, 1324, 1124, 1356,
2543 1508, 1456, 1356, 1487, 1520, 1518, 1501, 954, 1268, -1,
2544 561, -1, -1, 529, -1, 531, 1006, -1, 534, 535,
2545 1539, 537, 538, 539, 540, 541, 542, 543, 544, 545,
2546 546, 547, 548, 549, 550, 551, 552, 553, 554, 555,
2547 591, -1, 1420, 1421, 1539, 561, -1, 598, 3, 4,
2548 5, 6, -1, -1, 430, 4, 5, -1, -1, -1,
2549 9, -1, 1419, 1420, 1421, 1419, 1420, 1421, -1, -1,
2550 -1, 7, 8, 9, -1, 591, -1, -1, 14, -1,
2551 -1, -1, 598, 3, 4, 5, 41, 1157, 1158, -1,
2552 1160, 1161, 47, 1163, -1, 31, -1, -1, 47, 54,
2553 36, 56, 57, 619, 620, 54, -1, 56, 57, 45,
2554 3, 4, 5, 6, -1, 70, 9, -1, -1, 635,
2555 -1, 70, -1, 499, 60, 80, 502, -1, -1, -1,
2556 506, 80, -1, 88, -1, 90, 56, 57, 93, 94,
2557 -1, 90, -1, 519, 93, 94, -1, -1, 41, 3,
2558 4, 5, -1, -1, 47, -1, 532, 1251, -1, -1,
2559 536, 54, 678, 56, 57, -1, -1, 1157, 1158, -1,
2560 1160, 1161, -1, 1163, 3, 4, 5, 70, 3, 4,
2561 5, 6, 3, 4, 5, -1, 562, 80, -1, -1,
2562 -1, -1, 568, -1, -1, 88, -1, 90, -1, -1,
2563 93, 94, 56, 57, -1, 3, 4, 5, 6, -1,
2564 -1, 1281, 1282, -1, -1, -1, 41, -1, 734, 435,
2565 771, 437, -1, 439, 440, 441, -1, 56, 57, 54,
2566 -1, 56, 57, -1, 450, 56, 57, 753, 754, -1,
2567 756, -1, -1, 41, -1, -1, 7, 8, 9, -1,
2568 -1, -1, -1, 14, -1, 771, 54, -1, 56, 57,
2569 1250, 1251, 60, 88, 62, 80, 81, 82, 83, 84,
2570 31, -1, 70, 824, 825, 36, -1, 793, -1, -1,
2571 831, -1, 80, -1, 45, 4, 5, -1, -1, -1,
2572 88, 1281, 1282, -1, 845, 93, 847, -1, 849, 60,
2573 -1, -1, -1, -1, -1, 1375, 1376, 1377, 824, 825,
2574 -1, -1, -1, -1, 830, 831, -1, 3, 4, 5,
2575 6, 7, 8, 9, -1, 44, 12, -1, 14, 845,
2576 -1, 847, -1, 849, -1, 54, 78, 56, 57, -1,
2577 -1, 892, 28, -1, 30, 31, -1, 1441, -1, -1,
2578 36, -1, -1, -1, -1, 41, -1, 1427, 1428, 45,
2579 102, 47, -1, -1, -1, -1, 882, -1, 54, -1,
2580 56, 57, 3, 4, 5, 6, 892, -1, 929, -1,
2581 -1, -1, -1, -1, 70, 1375, 1376, 1377, 904, 131,
2582 -1, -1, -1, -1, 80, 946, -1, -1, 140, -1,
2583 -1, 917, 88, -1, 90, -1, -1, 93, 94, -1,
2584 41, -1, -1, 929, 4, -1, -1, -1, -1, 327,
2585 328, 329, 1492, 54, 14, 56, 57, -1, -1, 60,
2586 946, -1, -1, -1, 24, -1, -1, 1427, 1428, 70,
2587 30, 31, -1, 33, 186, 35, -1, -1, -1, 80,
2588 40, 3, 4, 5, 6, -1, -1, 88, -1, 835,
2589 -1, -1, 93, 53, -1, 55, -1, -1, -1, -1,
2590 -1, 987, -1, 63, -1, -1, -1, 219, -1, -1,
2591 70, -1, -1, -1, -1, 701, 702, -1, 704, 41,
2592 -1, 81, 82, 869, -1, -1, 48, -1, -1, -1,
2593 242, -1, 1492, -1, 56, 57, -1, 3, 4, 5,
2594 6, 7, 8, 9, 104, -1, -1, -1, 14, -1,
2595 1036, 1037, -1, -1, 1040, -1, 742, -1, 80, -1,
2596 -1, -1, 28, -1, 30, 31, 88, 127, -1, -1,
2597 36, -1, 132, 1059, 134, 41, -1, -1, 138, 45,
2598 -1, 141, 142, -1, -1, 145, 146, 147, 54, -1,
2599 56, 57, -1, 1114, 60, 1116, -1, 1118, -1, 159,
2600 -1, -1, -1, -1, 70, 76, 77, 78, 79, 80,
2601 81, 82, 83, 84, 80, -1, 176, 177, 178, 965,
2602 -1, 333, 88, 3, 4, 5, 6, 93, 1114, 9,
2603 1116, -1, 1118, -1, -1, 7, 8, 9, -1, -1,
2604 1126, -1, 14, -1, -1, 205, -1, -1, -1, 1135,
2605 1136, -1, -1, -1, 1140, -1, -1, -1, 710, 31,
2606 220, 41, -1, -1, 36, -1, -1, 47, 228, 1155,
2607 1156, -1, -1, 45, 54, -1, 56, 57, -1, 239,
2608 -1, -1, 394, -1, -1, -1, 3, 4, 5, 6,
2609 70, 1212, 9, -1, -1, 1181, -1, -1, -1, 751,
2610 80, -1, -1, 581, 582, 757, -1, -1, 88, -1,
2611 90, -1, -1, 93, 94, -1, -1, 277, 278, 905,
2612 906, 907, -1, -1, 41, -1, 1212, -1, 7, 8,
2613 9, -1, -1, -1, -1, 14, -1, 54, -1, 56,
2614 57, -1, -1, -1, -1, 3, 4, 5, 6, -1,
2615 1236, -1, 31, 70, 466, -1, -1, 36, -1, -1,
2616 946, 321, -1, 80, -1, 325, 45, 327, 328, 329,
2617 648, 88, 650, 651, -1, 653, 93, -1, 338, -1,
2618 -1, 493, -1, 41, 1130, 1271, -1, -1, -1, 975,
2619 48, -1, -1, -1, 354, -1, -1, -1, 56, 57,
2620 -1, 1287, -1, -1, -1, -1, -1, -1, 860, -1,
2621 862, -1, 690, -1, -1, -1, -1, -1, 378, -1,
2622 -1, -1, 4, 1309, 384, -1, -1, 387, 388, -1,
2623 88, 1177, 1178, 1179, 1180, 1356, -1, -1, 398, -1,
2624 -1, 401, -1, 1189, -1, -1, 406, -1, 30, 31,
2625 -1, -1, -1, 35, -1, -1, -1, -1, 40, 78,
2626 79, 80, 81, 82, 83, 84, 578, -1, -1, -1,
2627 1356, -1, -1, 55, -1, 435, -1, 437, -1, 439,
2628 440, 441, 594, -1, -1, 445, -1, 1373, 1374, -1,
2629 450, -1, -1, 453, 1240, -1, 1382, -1, -1, 777,
2630 -1, 3, 4, 5, 6, -1, -1, -1, -1, 469,
2631 -1, -1, 1098, 1099, 1100, 1101, 1102, -1, -1, -1,
2632 1106, -1, -1, 1409, -1, 3, 4, 5, 6, 7,
2633 8, 9, -1, -1, -1, -1, 14, -1, -1, 41,
2634 -1, -1, 1128, 1129, 1130, -1, 48, 507, 508, 509,
2635 510, -1, 134, 31, 56, 57, 138, -1, 36, -1,
2636 142, -1, -1, 41, 1016, -1, 1018, 45, -1, 47,
2637 -1, -1, 850, 1159, 852, -1, 54, 159, 56, 57,
2638 -1, -1, -1, -1, -1, 863, 88, -1, -1, 867,
2639 868, -1, 70, -1, 176, 177, 1342, -1, -1, -1,
2640 -1, -1, 80, -1, 564, 565, -1, 567, -1, -1,
2641 88, -1, 90, 4, 5, 93, 94, 8, 9, 579,
2642 1072, 581, 582, 14, 584, -1, -1, 905, 906, 1215,
2643 1216, 591, 1218, -1, -1, 595, -1, 28, -1, 30,
2644 -1, -1, -1, 1529, -1, 36, -1, -1, -1, 609,
2645 -1, -1, -1, -1, 45, 1401, -1, 239, -1, -1,
2646 -1, 1407, 1408, 54, -1, 56, 57, 58, -1, -1,
2647 3, 4, 5, 6, -1, 1421, 9, -1, -1, -1,
2648 -1, -1, -1, -1, -1, -1, -1, -1, 648, 649,
2649 650, 651, 652, 653, -1, -1, 1148, -1, -1, -1,
2650 -1, 1153, 93, -1, -1, -1, -1, -1, 41, -1,
2651 -1, -1, 1, -1, 3, 4, 5, 6, -1, 8,
2652 -1, 54, -1, 56, 57, -1, -1, -1, -1, -1,
2653 690, -1, -1, 1479, 694, -1, -1, 70, -1, -1,
2654 -1, 701, 702, -1, 704, -1, -1, 80, -1, 1495,
2655 -1, -1, 41, 1205, -1, 88, 338, -1, -1, 48,
2656 93, 873, -1, 875, -1, 54, -1, 56, 57, -1,
2657 1356, 1517, 732, -1, -1, 735, -1, 737, 1524, -1,
2658 -1, -1, 742, 743, 744, -1, 4, 5, -1, 7,
2659 8, 9, 752, -1, 12, -1, 14, -1, 758, 88,
2660 912, -1, -1, -1, -1, 765, 766, 767, -1, -1,
2661 28, -1, 30, 31, -1, -1, 398, 777, 36, 401,
2662 1098, 1099, 1100, 1101, 406, -1, -1, 45, 1106, 47,
2663 -1, -1, -1, 1419, 1420, 1421, 54, -1, 56, 57,
2664 -1, -1, -1, -1, -1, -1, -1, -1, 1300, 1301,
2665 1128, 1129, 70, 435, -1, 437, -1, -1, -1, -1,
2666 -1, -1, 80, -1, 1316, -1, -1, 827, 450, 4,
2667 5, -1, 90, 8, 9, 93, 94, -1, -1, 14,
2668 -1, -1, -1, -1, 996, -1, -1, 469, -1, -1,
2669 850, -1, 852, 28, -1, 30, -1, -1, -1, 859,
2670 -1, 36, -1, 863, -1, 865, -1, 867, 868, 869,
2671 45, -1, -1, -1, 874, -1, 1368, 1369, -1, 54,
2672 -1, 56, 57, -1, 4, 5, -1, -1, 8, 9,
2673 -1, -1, -1, -1, 14, 1387, 1388, 1215, 1216, -1,
2674 1218, 901, 4, 903, -1, 905, 906, 907, 28, -1,
2675 30, -1, 14, -1, 105, 106, 36, -1, 93, -1,
2676 -1, 23, 24, -1, -1, 45, 1078, 47, 30, 31,
2677 -1, 33, -1, 35, 54, -1, 56, 57, 40, 3,
2678 4, 5, 6, -1, -1, 9, 946, -1, -1, -1,
2679 70, 53, 1104, 55, -1, -1, -1, -1, -1, 959,
2680 80, 63, -1, -1, -1, -1, -1, -1, 70, -1,
2681 90, -1, 972, 93, 94, 975, -1, 41, -1, -1,
2682 82, -1, -1, 47, 984, -1, -1, -1, -1, -1,
2683 54, -1, 56, 57, -1, -1, -1, 997, -1, -1,
2684 -1, -1, -1, -1, -1, -1, 70, 1007, -1, -1,
2685 1162, 3, 4, 5, 6, -1, 80, 1017, -1, 1019,
2686 -1, -1, -1, -1, 88, 127, 90, 649, -1, 93,
2687 94, -1, 134, -1, -1, -1, 138, 4, 5, -1,
2688 142, 8, 9, 145, 146, 147, -1, 14, -1, 41,
2689 -1, 1051, 1052, -1, 1054, -1, 48, 159, -1, -1,
2690 -1, 28, -1, 30, 56, 57, -1, -1, -1, 36,
2691 -1, -1, 694, -1, 176, 177, 178, -1, 45, 701,
2692 702, -1, 704, -1, -1, -1, -1, 54, 80, 56,
2693 57, -1, -1, -1, -1, -1, 88, -1, 1098, 1099,
2694 1100, 1101, 1102, 205, -1, -1, 1106, -1, -1, -1,
2695 -1, -1, -1, 735, -1, 737, -1, 308, -1, -1,
2696 742, 743, 744, -1, -1, -1, -1, -1, 1128, 1129,
2697 1130, -1, -1, -1, -1, -1, -1, 239, -1, -1,
2698 -1, -1, 1, -1, 3, 4, 5, 6, 7, 8,
2699 9, -1, -1, -1, -1, 14, -1, -1, -1, 1159,
2700 -1, -1, -1, -1, 1164, -1, 1166, -1, 27, 28,
2701 -1, 30, 31, 32, -1, 277, 278, 36, -1, -1,
2702 -1, -1, 41, -1, -1, 44, 45, 46, -1, 48,
2703 -1, -1, -1, 384, -1, 54, -1, 56, 57, -1,
2704 -1, 60, 3, 4, 5, 6, 7, 8, 9, -1,
2705 -1, 70, -1, 14, -1, 1215, 1216, -1, 1218, 321,
2706 -1, 80, -1, 325, -1, 327, 328, 329, -1, 88,
2707 31, -1, 334, -1, 93, 36, 338, -1, -1, 98,
2708 41, -1, 433, -1, 45, -1, 47, -1, -1, 1249,
2709 1250, 1251, 354, 54, -1, 56, 57, -1, -1, 3,
2710 4, 5, 6, -1, -1, 9, -1, -1, 1268, 70,
2711 -1, -1, -1, -1, -1, -1, -1, -1, -1, 80,
2712 -1, -1, 384, 905, 906, 387, 388, 88, -1, 90,
2713 -1, -1, 93, 94, -1, -1, 398, 41, -1, 401,
2714 -1, -1, -1, 47, 406, -1, -1, -1, 499, -1,
2715 54, 502, 56, 57, -1, 506, 507, 508, 509, 510,
2716 -1, -1, -1, 327, 328, 329, 70, -1, 519, -1,
2717 -1, -1, -1, 435, -1, 437, 80, 439, 440, 441,
2718 -1, 532, -1, 445, 88, -1, 90, -1, 450, 93,
2719 94, 453, -1, 975, -1, -1, 1356, -1, -1, 3,
2720 4, 5, 6, -1, -1, -1, 468, 469, -1, -1,
2721 -1, -1, -1, 564, -1, -1, -1, -1, -1, 3,
2722 4, 5, 6, -1, -1, 1007, -1, -1, -1, -1,
2723 -1, -1, -1, 584, -1, -1, -1, 41, -1, -1,
2724 591, -1, -1, -1, 48, 507, 508, 509, 510, -1,
2725 -1, -1, 56, 57, -1, -1, -1, 41, -1, 1419,
2726 1420, 1421, -1, -1, 48, -1, -1, -1, -1, -1,
2727 -1, -1, 56, 57, -1, -1, 80, 1437, -1, -1,
2728 -1, -1, 1442, 1, 88, 3, 4, 5, 6, 7,
2729 8, 9, -1, -1, -1, -1, 14, -1, -1, -1,
2730 -1, -1, 564, 565, 88, 567, -1, -1, -1, 27,
2731 28, -1, 30, 31, 32, -1, 1098, 1099, 36, 581,
2732 582, -1, 584, 41, 1106, -1, 44, 45, 46, 591,
2733 48, -1, -1, -1, -1, -1, 54, -1, 56, 57,
2734 -1, 603, 60, 694, -1, -1, -1, 609, -1, -1,
2735 -1, -1, 70, -1, -1, -1, -1, -1, 3, 4,
2736 5, 6, 80, -1, -1, -1, -1, -1, -1, -1,
2737 88, 4, 5, -1, -1, 93, 9, 1159, 640, -1,
2738 98, -1, 1164, -1, 1166, -1, 648, 649, 650, 651,
2739 652, 653, -1, -1, -1, -1, 41, -1, -1, -1,
2740 -1, 752, -1, 48, -1, -1, -1, 758, -1, 671,
2741 -1, 56, 57, -1, 47, -1, -1, 581, 582, -1,
2742 584, 54, -1, 56, 57, -1, -1, 591, 690, -1,
2743 -1, -1, 694, 1215, 1216, 80, 1218, 70, -1, 701,
2744 702, -1, 704, 88, -1, -1, -1, 80, -1, -1,
2745 -1, -1, -1, -1, -1, -1, -1, 90, -1, -1,
2746 93, 94, -1, -1, -1, -1, -1, -1, 1250, -1,
2747 732, -1, -1, 735, -1, 737, 827, -1, -1, -1,
2748 742, 743, 744, -1, 648, -1, 650, 651, -1, 653,
2749 752, -1, -1, -1, -1, -1, 758, -1, -1, -1,
2750 -1, -1, -1, 765, 766, 767, -1, -1, 859, -1,
2751 -1, -1, -1, -1, 865, 777, -1, -1, 869, -1,
2752 -1, -1, -1, -1, -1, -1, 690, -1, -1, -1,
2753 -1, -1, -1, 3, 4, 5, 6, 7, 8, 9,
2754 -1, -1, -1, -1, 14, -1, -1, -1, -1, -1,
2755 901, -1, 903, -1, -1, -1, 907, -1, 28, -1,
2756 30, 31, -1, -1, -1, 827, 36, -1, -1, -1,
2757 -1, 41, -1, -1, -1, 45, -1, 47, -1, -1,
2758 -1, -1, -1, -1, 54, -1, 56, 57, 850, -1,
2759 852, -1, -1, -1, -1, 946, -1, 859, -1, -1,
2760 70, 863, -1, 865, -1, 867, 868, 869, 959, -1,
2761 80, -1, 874, 777, 965, -1, -1, -1, 88, -1,
2762 90, 972, -1, 93, 94, -1, 4, -1, -1, 3,
2763 4, 5, 6, 984, -1, 9, -1, -1, -1, 901,
2764 -1, 903, -1, 905, 906, 907, -1, -1, -1, -1,
2765 -1, -1, 30, 31, -1, 33, -1, 35, -1, -1,
2766 -1, -1, 40, -1, -1, -1, 1017, 41, 1019, -1,
2767 -1, -1, -1, -1, -1, 53, -1, 55, -1, -1,
2768 54, -1, 56, 57, 946, -1, 850, -1, 852, -1,
2769 -1, -1, -1, -1, -1, -1, 70, 959, -1, 863,
2770 78, -1, -1, 867, 868, 869, 80, -1, 970, -1,
2771 972, -1, -1, 975, 88, -1, -1, -1, -1, 93,
2772 4, 5, 984, -1, 8, 9, -1, -1, -1, -1,
2773 14, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2774 -1, 905, 906, 907, -1, 1007, -1, -1, -1, 127,
2775 -1, 1102, 36, 131, 132, 1017, 134, 1019, -1, -1,
2776 138, 45, 140, 47, 142, -1, -1, 145, 146, 147,
2777 54, -1, 56, 57, -1, -1, -1, -1, -1, 1130,
2778 -1, 159, 946, -1, -1, -1, 70, -1, -1, 1051,
2779 1052, -1, 1054, -1, -1, -1, 80, -1, 176, 177,
2780 178, -1, -1, -1, -1, -1, 90, -1, 186, 93,
2781 94, 3, 4, 5, 6, -1, 1, 9, 3, 4,
2782 5, 6, 7, 8, 9, -1, -1, 205, -1, 14,
2783 -1, -1, -1, -1, -1, -1, 1098, 1099, 1100, 1101,
2784 1102, -1, -1, 28, 1106, 30, 31, -1, -1, 41,
2785 1112, 36, -1, -1, -1, -1, 41, -1, -1, -1,
2786 45, 239, 54, 48, 56, 57, 1128, 1129, 1130, 54,
2787 -1, 56, 57, -1, -1, 60, -1, -1, 70, -1,
2788 -1, -1, 1144, -1, -1, 70, -1, -1, 80, -1,
2789 -1, -1, -1, -1, -1, 80, 88, 1159, -1, -1,
2790 -1, 93, 1164, 88, 1166, -1, -1, -1, 93, -1,
2791 -1, -1, -1, -1, -1, -1, -1, 1268, 4, 5,
2792 -1, -1, -1, 9, -1, -1, -1, -1, -1, -1,
2793 308, -1, 80, -1, 1098, 1099, 1100, 1101, 1102, -1,
2794 -1, -1, 1106, -1, -1, -1, -1, 325, -1, -1,
2795 -1, -1, -1, 1215, 1216, 333, 1218, -1, -1, -1,
2796 338, 47, -1, -1, 1128, 1129, 1130, -1, 54, -1,
2797 56, 57, -1, -1, -1, -1, 354, -1, -1, 3,
2798 4, 5, 6, -1, 70, 9, -1, 1249, 1250, 1251,
2799 -1, -1, -1, -1, 80, -1, -1, -1, -1, -1,
2800 378, -1, -1, -1, 90, 153, 1268, 93, 94, 387,
2801 -1, -1, -1, -1, -1, -1, -1, 41, -1, -1,
2802 398, -1, -1, 401, -1, -1, 174, -1, 406, -1,
2803 54, -1, 56, 57, -1, -1, -1, -1, -1, 187,
2804 -1, -1, -1, -1, -1, -1, 70, -1, -1, -1,
2805 -1, 1215, 1216, -1, 1218, -1, 80, 435, -1, 437,
2806 -1, 439, 440, 441, 88, -1, -1, 445, -1, 93,
2807 1421, -1, 450, -1, -1, 453, 3, 4, 5, 6,
2808 7, 8, 9, -1, -1, 12, 1437, 14, -1, -1,
2809 -1, 469, -1, -1, 1356, -1, -1, -1, -1, -1,
2810 -1, 28, -1, 30, 31, -1, -1, -1, -1, 36,
2811 -1, -1, -1, -1, 41, -1, -1, -1, 45, -1,
2812 4, 499, -1, -1, 502, -1, -1, 54, -1, 56,
2813 57, -1, -1, -1, -1, -1, -1, -1, -1, 517,
2814 518, 519, -1, 70, -1, -1, 30, 31, -1, 33,
2815 -1, 35, -1, 80, 532, -1, 40, 1419, 1420, 1421,
2816 -1, 88, -1, -1, -1, -1, 93, -1, -1, 53,
2817 -1, 55, -1, -1, -1, 1437, -1, -1, -1, -1,
2818 1442, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2819 1, -1, 3, 4, 5, 6, 7, 8, 9, -1,
2820 578, -1, -1, 14, -1, -1, -1, -1, -1, -1,
2821 -1, -1, -1, 591, -1, -1, -1, 28, -1, 30,
2822 31, 32, -1, -1, -1, 36, 37, -1, -1, -1,
2823 41, 609, -1, -1, 45, 46, -1, 48, -1, -1,
2824 -1, -1, -1, 54, -1, 56, 57, -1, -1, 60,
2825 134, 62, -1, -1, 138, -1, -1, -1, 142, 70,
2826 -1, 145, 146, 147, -1, -1, -1, -1, -1, 80,
2827 648, 649, 650, 651, -1, 159, -1, 88, -1, -1,
2828 -1, -1, 93, -1, -1, 33, -1, -1, -1, -1,
2829 -1, -1, 176, 177, 178, 443, -1, -1, 109, -1,
2830 448, -1, -1, -1, -1, 53, -1, -1, -1, -1,
2831 4, 5, 690, 7, 8, 9, 694, 12, -1, -1,
2832 14, 205, -1, 701, 702, 473, 704, -1, -1, -1,
2833 -1, 479, -1, -1, 28, -1, 30, 31, -1, -1,
2834 -1, -1, 36, 491, 492, -1, 494, -1, -1, -1,
2835 -1, 45, -1, -1, 48, 239, -1, 735, -1, 737,
2836 54, -1, 56, 57, 742, 743, 744, 62, 63, 64,
2837 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
2838 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
2839 -1, -1, -1, 771, -1, -1, -1, 145, 146, 147,
2840 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
2841 77, 78, 79, 80, 81, 82, 83, 84, 1, -1,
2842 3, 4, 5, 6, 7, 8, 9, -1, 176, 177,
2843 178, 14, -1, -1, -1, -1, -1, -1, -1, 587,
2844 588, -1, -1, -1, 592, 28, -1, 30, 31, 32,
2845 334, -1, -1, 36, 338, -1, -1, 205, 41, -1,
2846 -1, -1, 45, 46, -1, 48, -1, -1, -1, -1,
2847 -1, 54, -1, 56, 57, -1, -1, 60, -1, 62,
2848 -1, -1, 3, 4, 5, 6, -1, 70, 9, 867,
2849 868, 869, -1, -1, -1, 873, -1, 80, -1, -1,
2850 -1, -1, -1, 387, -1, 88, -1, -1, -1, -1,
2851 93, -1, -1, -1, 398, -1, -1, 401, -1, -1,
2852 41, -1, 406, -1, -1, -1, -1, 905, 906, 907,
2853 278, -1, -1, 54, 912, 56, 57, 73, 74, 75,
2854 76, 77, 78, 79, 80, 81, 82, 83, 84, 70,
2855 -1, 435, -1, 437, -1, 439, 440, 441, -1, 80,
2856 -1, 445, -1, -1, -1, -1, 450, 88, 946, 453,
2857 -1, -1, 93, -1, -1, -1, -1, -1, -1, 327,
2858 328, 329, -1, -1, 53, 469, -1, -1, -1, 3,
2859 4, 5, 6, 7, 8, 9, -1, 975, -1, -1,
2860 14, -1, -1, -1, -1, -1, -1, -1, -1, 78,
2861 -1, 759, 81, 761, 28, -1, 30, 31, 996, -1,
2862 4, 5, 36, 7, 8, 9, -1, 41, 12, 1007,
2863 14, 45, -1, 102, -1, 104, -1, -1, -1, 387,
2864 54, -1, 56, 57, 28, -1, 30, 31, 62, -1,
2865 -1, -1, 36, -1, -1, -1, 70, -1, -1, -1,
2866 -1, 45, -1, -1, -1, -1, 80, -1, -1, -1,
2867 54, -1, 56, 57, 88, -1, -1, -1, -1, 93,
2868 -1, -1, -1, -1, -1, 833, 834, 435, 836, 437,
2869 -1, 439, 440, 441, -1, 579, -1, 445, -1, -1,
2870 1078, -1, 450, -1, -1, 453, -1, 176, 177, 178,
2871 -1, -1, -1, -1, -1, -1, 864, 186, -1, -1,
2872 1098, 1099, 1100, 1101, 1102, 609, 1104, -1, 1106, -1,
2873 -1, 3, 4, 5, 6, -1, 205, 9, -1, -1,
2874 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2875 1128, 1129, 1130, -1, -1, -1, -1, -1, -1, 228,
2876 -1, 909, -1, -1, 648, 649, 650, 651, -1, 41,
2877 -1, -1, -1, 242, -1, -1, -1, 3, 4, 5,
2878 6, 1159, 54, 9, 56, 57, 1164, -1, 1166, -1,
2879 -1, -1, -1, -1, -1, -1, -1, -1, 70, -1,
2880 -1, -1, -1, -1, -1, -1, 690, -1, 80, -1,
2881 694, -1, -1, -1, -1, 41, 88, 701, 702, 567,
2882 704, 93, -1, 971, -1, -1, -1, -1, 54, -1,
2883 56, 57, -1, 581, 582, 983, 584, 1215, 1216, -1,
2884 1218, -1, -1, 591, 70, -1, -1, -1, -1, -1,
2885 -1, 735, -1, 737, 80, -1, -1, -1, 742, 743,
2886 744, 609, 88, -1, 333, 334, -1, 93, -1, -1,
2887 -1, 1249, 1250, 1251, -1, -1, -1, -1, -1, -1,
2888 -1, -1, -1, -1, 3, 4, 5, 6, 7, 8,
2889 9, -1, -1, -1, -1, 14, -1, -1, -1, -1,
2890 648, -1, 650, 651, -1, 653, -1, -1, -1, 28,
2891 -1, 30, 31, -1, -1, -1, -1, 36, 387, 1067,
2892 -1, -1, 41, -1, -1, -1, 45, -1, -1, -1,
2893 -1, -1, -1, -1, -1, 54, -1, 56, 57, -1,
2894 -1, 60, 690, -1, -1, -1, -1, -1, -1, -1,
2895 -1, 70, -1, 701, 702, -1, 704, 1105, -1, -1,
2896 -1, 80, -1, 31, -1, -1, 435, -1, 437, 88,
2897 439, 440, 441, -1, 93, -1, 445, -1, 1356, -1,
2898 -1, 450, -1, -1, 453, -1, -1, -1, -1, -1,
2899 874, -1, -1, -1, 742, 63, 64, 65, 66, 67,
2900 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
2901 78, 79, 80, 81, 82, 83, 84, 765, 766, 767,
2902 1168, 905, 906, 907, 1172, -1, -1, -1, -1, 777,
2903 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2904 -1, 1419, 1420, 1421, -1, 3, 4, 5, 6, 7,
2905 8, 9, -1, -1, -1, -1, 14, -1, -1, 1207,
2906 14, -1, 946, -1, 1442, -1, -1, -1, -1, 23,
2907 24, -1, -1, 31, -1, -1, 30, 31, 36, 33,
2908 -1, -1, -1, 41, -1, -1, -1, 45, -1, 47,
2909 -1, 975, -1, -1, -1, -1, 54, -1, 56, 57,
2910 -1, -1, 850, -1, 852, -1, -1, -1, -1, 63,
2911 -1, -1, 70, -1, -1, 863, -1, -1, -1, 867,
2912 868, 869, 80, 1007, -1, 594, 595, -1, 1276, -1,
2913 88, -1, 1280, -1, -1, 93, -1, -1, -1, -1,
2914 609, 72, 73, 74, 75, 76, 77, 78, 79, 80,
2915 81, 82, 83, 84, 1302, 1303, -1, 905, 906, 907,
2916 -1, -1, -1, -1, -1, -1, -1, -1, 122, -1,
2917 124, -1, -1, 127, -1, -1, -1, 131, 132, 648,
2918 -1, 650, 651, -1, 138, -1, 140, 141, 142, -1,
2919 -1, 145, 146, 147, -1, -1, -1, -1, 946, -1,
2920 -1, 3, 4, 5, 6, 7, 8, 9, -1, -1,
2921 -1, -1, 14, -1, 1098, 1099, 1100, 1101, 1102, -1,
2922 -1, 690, 1106, -1, -1, -1, 28, 975, 30, 31,
2923 -1, -1, 701, 702, 36, 704, -1, -1, -1, 41,
2924 -1, -1, -1, 45, 1128, 1129, 1130, -1, -1, -1,
2925 -1, -1, 54, -1, 56, 57, 3, 4, 5, 6,
2926 729, -1, -1, -1, -1, 219, 220, -1, 70, -1,
2927 -1, -1, -1, 742, -1, 1159, -1, -1, 80, -1,
2928 1164, -1, 1166, -1, -1, 239, 88, -1, -1, -1,
2929 -1, 93, -1, -1, 41, 4, 5, -1, 7, 8,
2930 9, -1, -1, 1051, 1052, 14, 1054, 54, -1, 56,
2931 57, -1, -1, -1, -1, 62, -1, -1, -1, 28,
2932 -1, 30, 31, 70, 278, -1, -1, 36, -1, -1,
2933 -1, 1215, 1216, 80, 1218, -1, 45, -1, -1, -1,
2934 -1, 88, -1, -1, -1, 54, 93, 56, 57, -1,
2935 1098, 1099, 1100, 1101, 1102, -1, -1, -1, 1106, -1,
2936 -1, -1, -1, -1, -1, 1249, 1250, 1251, -1, -1,
2937 -1, 325, -1, 327, 328, -1, -1, -1, -1, -1,
2938 1128, 1129, 1130, -1, -1, -1, -1, -1, 3, 4,
2939 5, 6, 7, 8, 9, -1, -1, -1, -1, 14,
2940 354, -1, -1, -1, 873, 874, 875, 3, 4, 5,
2941 6, 1159, -1, 28, -1, 30, 31, -1, -1, -1,
2942 -1, 36, -1, -1, 378, -1, 41, -1, -1, -1,
2943 45, -1, -1, -1, -1, -1, 905, 906, 907, 54,
2944 394, 56, 57, 912, 398, 41, -1, 401, -1, -1,
2945 -1, -1, 406, -1, -1, 70, -1, -1, 54, -1,
2946 56, 57, -1, -1, -1, 80, 62, 1215, 1216, -1,
2947 1218, -1, 1356, 88, 70, -1, -1, 946, 93, -1,
2948 -1, -1, -1, -1, 80, -1, -1, -1, -1, -1,
2949 -1, -1, 88, -1, -1, -1, -1, 93, -1, -1,
2950 -1, 1249, -1, 1251, -1, -1, 975, -1, -1, -1,
2951 -1, -1, 466, 1, 468, 3, 4, 5, 6, 7,
2952 8, 9, 10, 11, 12, 13, 14, 996, -1, -1,
2953 -1, -1, -1, -1, -1, 1419, 1420, 1421, -1, 493,
2954 28, 29, 30, 31, 32, -1, 34, 35, 36, -1,
2955 38, 39, 40, 41, 42, 43, -1, 45, 1442, 47,
2956 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
2957 58, -1, -1, 61, -1, -1, -1, -1, -1, 67,
2958 -1, -1, 70, -1, -1, 3, 4, 5, 6, -1,
2959 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
2960 88, -1, 90, -1, -1, 93, 94, -1, 1356, 1078,
2961 -1, -1, -1, 567, -1, -1, -1, -1, -1, -1,
2962 -1, -1, 110, 41, 578, 579, -1, 581, 582, 1098,
2963 1099, 1100, 1101, 1102, -1, 1104, 54, 1106, 56, 57,
2964 -1, -1, -1, -1, 62, -1, 3, 4, 5, 6,
2965 -1, -1, 70, 3, 4, 5, 6, -1, -1, 1128,
2966 1129, 1130, 80, -1, -1, -1, -1, -1, -1, -1,
2967 88, 1419, 1420, 1421, -1, 93, -1, -1, -1, -1,
2968 -1, -1, -1, -1, 41, -1, 640, -1, -1, -1,
2969 1159, 41, -1, -1, 1442, -1, -1, 54, 652, 56,
2970 57, -1, -1, 60, 54, -1, 56, 57, -1, -1,
2971 -1, -1, -1, 70, -1, -1, -1, 671, -1, -1,
2972 70, -1, -1, 80, -1, -1, -1, -1, -1, -1,
2973 80, 88, -1, -1, -1, -1, 93, -1, 88, -1,
2974 -1, -1, -1, 93, -1, -1, 1215, 1216, -1, 1218,
2975 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2976 -1, -1, -1, 1, -1, 3, 4, 5, 6, 7,
2977 8, 9, -1, -1, 12, 729, 14, -1, 732, -1,
2978 1249, -1, 1251, -1, -1, -1, -1, 25, -1, 27,
2979 -1, -1, -1, 31, -1, -1, -1, -1, 36, -1,
2980 -1, -1, -1, 41, -1, -1, -1, 45, -1, 47,
2981 -1, 765, 766, 767, -1, -1, 54, -1, 56, 57,
2982 58, 59, 60, 777, 62, 63, 64, 65, 66, 67,
2983 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
2984 78, 79, 80, 81, 82, 83, 84, -1, 86, 87,
2985 88, -1, 90, 91, 92, 93, 94, 95, -1, 97,
2986 -1, -1, 4, 5, 102, -1, 8, 9, -1, 107,
2987 108, 109, 14, 111, -1, 4, 5, -1, 7, 8,
2988 9, -1, -1, 12, -1, 14, 28, 1356, 30, -1,
2989 -1, -1, -1, -1, 36, -1, 850, -1, 852, 28,
2990 -1, 30, 31, 45, -1, -1, -1, 36, -1, 863,
2991 -1, -1, 54, -1, 56, 57, 45, -1, -1, -1,
2992 -1, -1, -1, -1, -1, 54, -1, 56, 57, 68,
2993 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
2994 79, 80, 81, 82, 83, 84, -1, -1, -1, -1,
2995 1419, 1420, 1421, -1, -1, -1, -1, -1, -1, -1,
2996 -1, -1, 1, -1, 3, 4, 5, 6, 7, 8,
2997 9, 10, 11, 1442, 13, 14, 15, -1, 17, 18,
2998 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
2999 29, 30, 31, 32, -1, 34, 35, 36, -1, 38,
3000 39, 40, 41, 42, 43, -1, 45, -1, -1, -1,
3001 49, 50, 51, 52, 53, 54, 970, 56, 57, 58,
3002 -1, 60, 61, -1, 3, 4, 5, 6, 67, -1,
3003 -1, 70, -1, -1, -1, -1, -1, -1, -1, 78,
3004 79, 80, -1, 997, -1, -1, -1, 86, 87, 88,
3005 -1, -1, -1, -1, 93, -1, 95, -1, -1, -1,
3006 -1, -1, 41, -1, -1, -1, -1, -1, -1, -1,
3007 109, 110, -1, -1, -1, 54, -1, 56, 57, -1,
3008 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3009 -1, 70, -1, -1, -1, -1, -1, 1051, 1052, -1,
3010 1054, 80, -1, -1, -1, -1, -1, -1, -1, 88,
3011 -1, -1, -1, -1, 93, 1, -1, 3, 4, 5,
3012 6, 7, 8, 9, 10, 11, -1, 13, 14, 15,
3013 -1, 17, 18, 19, 20, 21, 22, 23, 24, 25,
3014 26, 27, 28, 29, 30, 31, 32, -1, 34, 35,
3015 36, -1, 38, 39, 40, 41, 42, 43, 1112, 45,
3016 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3017 56, 57, 58, -1, 60, 61, -1, -1, -1, -1,
3018 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3019 1144, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3020 86, 87, 88, -1, -1, -1, -1, 93, 1162, 95,
3021 1164, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3022 -1, -1, -1, 1, 110, 3, 4, 5, 6, 7,
3023 8, 9, 10, 11, 12, 13, 14, -1, -1, -1,
3024 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3025 28, 29, 30, 31, 32, -1, 34, 35, 36, -1,
3026 38, 39, 40, 41, 42, 43, -1, 45, -1, 47,
3027 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3028 58, -1, -1, 61, -1, -1, -1, -1, -1, 67,
3029 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3030 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3031 88, -1, 90, -1, -1, 93, 94, 1, -1, 3,
3032 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
3033 14, -1, 110, -1, -1, -1, -1, -1, -1, -1,
3034 -1, -1, -1, -1, 28, 29, 30, 31, 32, -1,
3035 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3036 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3037 54, -1, 56, 57, -1, -1, -1, 61, -1, -1,
3038 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3039 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3040 -1, -1, 86, 87, 88, -1, -1, -1, 1, 93,
3041 3, 4, 5, 6, 7, 8, 9, 10, 11, -1,
3042 13, 14, -1, -1, 108, -1, 110, -1, -1, -1,
3043 -1, -1, -1, -1, -1, 28, 29, 30, 31, 32,
3044 -1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
3045 43, -1, 45, -1, -1, -1, 49, 50, 51, 52,
3046 53, 54, -1, 56, 57, 58, -1, 60, 61, -1,
3047 -1, -1, -1, -1, 67, -1, -1, 70, -1, -1,
3048 -1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
3049 -1, -1, -1, 86, 87, 88, -1, -1, -1, 1,
3050 93, 3, 4, 5, 6, -1, 8, 9, 10, 11,
3051 -1, 13, 14, -1, -1, -1, -1, 110, -1, -1,
3052 -1, -1, -1, -1, -1, -1, 28, 29, 30, -1,
3053 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3054 42, 43, -1, 45, -1, -1, -1, 49, 50, 51,
3055 52, 53, 54, -1, 56, 57, 58, -1, -1, 61,
3056 -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
3057 -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
3058 -1, -1, -1, -1, 86, 87, 88, -1, -1, -1,
3059 -1, 93, 94, 1, -1, 3, 4, 5, 6, -1,
3060 8, 9, 10, 11, -1, 13, 14, 109, 110, -1,
3061 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3062 28, 29, 30, -1, 32, -1, 34, 35, 36, -1,
3063 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3064 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3065 58, -1, -1, 61, -1, -1, -1, -1, -1, 67,
3066 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3067 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3068 88, -1, -1, -1, -1, 93, 94, 1, -1, 3,
3069 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3070 14, -1, 110, -1, -1, -1, -1, -1, -1, -1,
3071 -1, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3072 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3073 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3074 54, -1, 56, 57, 58, -1, -1, 61, -1, -1,
3075 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3076 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3077 -1, -1, 86, 87, 88, -1, -1, -1, 1, 93,
3078 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3079 13, 14, -1, -1, -1, 109, 110, -1, -1, -1,
3080 -1, -1, -1, -1, -1, 28, 29, 30, -1, 32,
3081 -1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
3082 43, -1, 45, -1, -1, -1, 49, 50, 51, 52,
3083 53, 54, -1, 56, 57, 58, -1, -1, 61, -1,
3084 -1, -1, -1, -1, 67, -1, -1, 70, -1, -1,
3085 -1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
3086 -1, -1, -1, 86, 87, 88, -1, -1, -1, 1,
3087 93, 3, 4, 5, 6, -1, 8, 9, 10, 11,
3088 -1, 13, 14, -1, -1, -1, 109, 110, -1, -1,
3089 -1, -1, -1, -1, -1, -1, 28, 29, 30, -1,
3090 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3091 42, 43, -1, 45, -1, -1, -1, 49, 50, 51,
3092 52, 53, 54, -1, 56, 57, 58, -1, -1, 61,
3093 -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
3094 -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
3095 -1, -1, -1, -1, 86, 87, 88, -1, -1, -1,
3096 -1, 93, -1, 1, -1, 3, 4, 5, 6, 101,
3097 8, 9, 10, 11, -1, 13, 14, -1, 110, -1,
3098 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3099 28, 29, 30, -1, 32, -1, 34, 35, 36, -1,
3100 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3101 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3102 58, -1, -1, 61, -1, -1, -1, -1, -1, 67,
3103 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3104 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3105 88, -1, -1, -1, 1, 93, 3, 4, 5, 6,
3106 -1, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3107 -1, -1, 110, -1, -1, -1, -1, -1, -1, -1,
3108 -1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
3109 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3110 -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3111 57, 58, -1, -1, 61, -1, -1, -1, -1, -1,
3112 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3113 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3114 87, 88, -1, -1, -1, 1, 93, 3, 4, 5,
3115 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3116 -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
3117 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
3118 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3119 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3120 56, 57, -1, -1, -1, 61, 62, -1, -1, -1,
3121 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3122 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3123 86, 87, 88, -1, -1, -1, 1, 93, 3, 4,
3124 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3125 -1, -1, -1, -1, 110, -1, -1, -1, -1, -1,
3126 -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
3127 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3128 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
3129 -1, 56, 57, 58, -1, -1, 61, -1, -1, -1,
3130 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3131 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3132 -1, 86, 87, 88, -1, -1, -1, 1, 93, 3,
3133 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3134 14, -1, -1, -1, -1, 110, -1, -1, -1, -1,
3135 -1, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3136 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3137 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3138 54, -1, 56, 57, -1, -1, 60, 61, -1, -1,
3139 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3140 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3141 -1, -1, 86, 87, 88, -1, -1, -1, 1, 93,
3142 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3143 13, 14, -1, -1, -1, -1, 110, -1, -1, -1,
3144 -1, -1, -1, -1, -1, 28, 29, 30, -1, 32,
3145 -1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
3146 43, -1, 45, -1, -1, -1, 49, 50, 51, 52,
3147 53, 54, -1, 56, 57, -1, -1, -1, 61, -1,
3148 -1, -1, -1, -1, 67, 1, -1, 70, 4, 5,
3149 -1, -1, 8, 9, -1, 78, 79, 80, 14, -1,
3150 -1, -1, -1, 86, 87, 88, -1, -1, -1, -1,
3151 93, -1, 28, -1, 30, -1, -1, -1, -1, -1,
3152 36, -1, 38, 39, -1, 108, -1, 110, -1, 45,
3153 -1, 47, -1, -1, -1, -1, -1, -1, 54, -1,
3154 56, 57, -1, 59, -1, -1, -1, 63, 64, 65,
3155 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
3156 76, 77, 78, 79, 80, 81, 82, 83, -1, -1,
3157 86, 87, 88, -1, -1, 91, -1, 1, 94, 3,
3158 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3159 14, -1, -1, -1, 110, -1, -1, -1, -1, -1,
3160 -1, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3161 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3162 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3163 54, -1, 56, 57, -1, -1, -1, 61, -1, -1,
3164 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3165 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3166 -1, -1, 86, 87, 88, -1, -1, -1, 1, 93,
3167 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3168 13, 14, -1, -1, -1, -1, 110, -1, -1, -1,
3169 -1, -1, -1, -1, -1, 28, 29, 30, -1, 32,
3170 -1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
3171 43, -1, 45, -1, -1, -1, 49, 50, 51, 52,
3172 53, 54, -1, 56, 57, -1, -1, -1, 61, -1,
3173 -1, -1, -1, -1, 67, -1, -1, 70, -1, -1,
3174 -1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
3175 -1, -1, -1, 86, 87, 88, -1, -1, -1, 1,
3176 93, 3, 4, 5, 6, -1, 8, 9, 10, 11,
3177 -1, 13, 14, -1, -1, -1, -1, 110, -1, -1,
3178 -1, -1, -1, -1, -1, -1, 28, 29, 30, -1,
3179 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3180 42, 43, -1, 45, -1, -1, -1, 49, 50, 51,
3181 52, 53, 54, -1, 56, 57, -1, -1, -1, 61,
3182 -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
3183 -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
3184 -1, -1, -1, -1, 86, 87, 88, 3, 4, 5,
3185 6, 93, 8, 9, 10, 11, -1, 13, 14, -1,
3186 -1, -1, -1, -1, -1, -1, -1, -1, 110, -1,
3187 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
3188 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3189 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3190 56, 57, -1, -1, -1, 61, -1, -1, -1, -1,
3191 -1, 67, -1, 1, 70, 3, 4, 5, 6, 7,
3192 8, 9, 78, 79, 80, -1, 14, -1, -1, -1,
3193 86, 87, 88, -1, -1, -1, -1, 93, -1, -1,
3194 28, -1, 30, 31, 32, -1, -1, -1, 36, 37,
3195 -1, -1, -1, 41, 110, 111, -1, 45, 46, -1,
3196 48, -1, -1, -1, -1, -1, 54, -1, 56, 57,
3197 -1, -1, 60, -1, 62, -1, -1, -1, -1, -1,
3198 -1, -1, 70, 1, -1, 3, 4, 5, 6, 7,
3199 8, 9, 80, -1, -1, -1, 14, -1, -1, -1,
3200 88, -1, -1, -1, -1, 93, -1, -1, -1, -1,
3201 28, -1, 30, 31, 32, -1, -1, -1, 36, 37,
3202 -1, 109, -1, 41, -1, -1, -1, 45, 46, -1,
3203 48, -1, -1, -1, -1, -1, 54, -1, 56, 57,
3204 -1, -1, 60, -1, 62, -1, -1, -1, 3, 4,
3205 5, 6, 70, 1, -1, 3, 4, 5, 6, 7,
3206 8, 9, 80, -1, -1, -1, 14, -1, -1, -1,
3207 88, -1, -1, -1, -1, 93, -1, -1, -1, -1,
3208 28, -1, 30, 31, 32, -1, 41, -1, 36, 37,
3209 -1, 109, -1, 41, -1, -1, -1, 45, 46, 54,
3210 48, 56, 57, -1, -1, -1, 54, -1, 56, 57,
3211 -1, -1, 60, -1, 62, 70, -1, -1, -1, -1,
3212 -1, -1, 70, -1, -1, 80, -1, -1, -1, -1,
3213 -1, -1, 80, 88, -1, -1, -1, -1, 93, -1,
3214 88, -1, -1, -1, -1, 93, -1, -1, 3, 4,
3215 5, 6, 7, 8, 9, 10, 11, -1, 13, 14,
3216 15, 109, 17, 18, 19, 20, 21, 22, 23, 24,
3217 25, 26, 27, 28, 29, 30, 31, 32, -1, 34,
3218 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3219 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
3220 -1, 56, 57, 58, -1, 60, 61, -1, -1, -1,
3221 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3222 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3223 -1, 86, 87, 88, -1, -1, -1, -1, 93, -1,
3224 95, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3225 -1, -1, -1, -1, 109, 110, 3, 4, 5, 6,
3226 7, 8, 9, 10, 11, -1, 13, 14, 15, -1,
3227 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
3228 27, 28, 29, 30, 31, 32, -1, 34, 35, 36,
3229 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3230 -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3231 57, 58, -1, 60, 61, -1, -1, -1, -1, -1,
3232 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3233 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3234 87, 88, -1, -1, -1, -1, 93, -1, 95, -1,
3235 3, 4, 5, 6, 7, 8, 9, 10, 11, -1,
3236 13, 14, 15, 110, 17, 18, 19, 20, 21, 22,
3237 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
3238 -1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
3239 43, -1, 45, -1, -1, -1, 49, 50, 51, 52,
3240 53, 54, -1, 56, 57, 58, -1, 60, 61, -1,
3241 -1, -1, -1, -1, 67, -1, -1, 70, -1, -1,
3242 -1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
3243 -1, -1, -1, 86, 87, 88, -1, -1, -1, -1,
3244 93, -1, 95, -1, 3, 4, 5, 6, 7, 8,
3245 9, 10, 11, -1, 13, 14, 15, 110, 17, 18,
3246 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
3247 29, 30, 31, 32, -1, 34, 35, 36, -1, 38,
3248 39, 40, 41, 42, 43, -1, 45, -1, -1, -1,
3249 49, 50, 51, 52, 53, 54, -1, 56, 57, -1,
3250 -1, 60, 61, -1, -1, -1, -1, -1, 67, -1,
3251 -1, 70, -1, -1, -1, -1, -1, -1, -1, 78,
3252 79, 80, -1, -1, -1, -1, -1, 86, 87, 88,
3253 -1, -1, -1, -1, 93, -1, 95, 3, 4, 5,
3254 6, 7, 8, 9, 10, 11, 12, 13, 14, -1,
3255 -1, 110, -1, -1, -1, -1, -1, -1, -1, -1,
3256 -1, -1, 28, 29, 30, 31, 32, -1, 34, 35,
3257 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3258 -1, 47, -1, 49, 50, 51, 52, 53, 54, -1,
3259 56, 57, -1, -1, -1, 61, -1, -1, -1, -1,
3260 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3261 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3262 86, 87, 88, -1, 90, -1, -1, 93, 94, 3,
3263 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
3264 14, -1, -1, -1, 110, -1, -1, -1, -1, -1,
3265 -1, -1, -1, -1, 28, 29, 30, 31, 32, -1,
3266 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3267 -1, 45, -1, 47, -1, 49, 50, 51, 52, 53,
3268 54, -1, 56, 57, -1, -1, -1, 61, -1, -1,
3269 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3270 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3271 -1, -1, 86, 87, 88, -1, 90, -1, -1, 93,
3272 94, 3, 4, 5, 6, -1, 8, 9, 10, 11,
3273 -1, 13, 14, -1, -1, -1, 110, -1, -1, -1,
3274 -1, -1, -1, -1, -1, -1, 28, 29, 30, -1,
3275 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3276 42, 43, -1, 45, -1, 47, -1, 49, 50, 51,
3277 52, 53, 54, -1, 56, 57, -1, -1, -1, -1,
3278 -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
3279 -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
3280 -1, -1, -1, -1, 86, 87, 88, -1, 90, -1,
3281 -1, 93, 94, 3, 4, 5, 6, -1, 8, 9,
3282 10, 11, -1, 13, 14, -1, -1, -1, 110, -1,
3283 -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
3284 30, -1, 32, -1, 34, 35, 36, -1, 38, 39,
3285 40, 41, 42, 43, -1, 45, -1, 47, -1, 49,
3286 50, 51, 52, 53, 54, -1, 56, 57, -1, -1,
3287 -1, -1, -1, -1, -1, -1, -1, 67, -1, -1,
3288 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3289 80, -1, -1, -1, -1, -1, 86, 87, 88, -1,
3290 90, -1, -1, 93, 94, 3, 4, 5, 6, -1,
3291 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3292 110, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3293 28, 29, 30, -1, 32, -1, 34, 35, 36, -1,
3294 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3295 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3296 -1, -1, 60, 61, -1, -1, -1, -1, -1, 67,
3297 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3298 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3299 88, -1, -1, -1, -1, 93, 3, 4, 5, 6,
3300 7, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3301 -1, -1, 110, -1, -1, -1, -1, -1, -1, -1,
3302 -1, 28, 29, 30, 31, 32, -1, 34, 35, 36,
3303 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3304 -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3305 57, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3306 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3307 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3308 87, 88, 3, 4, 5, 6, 93, 8, 9, 10,
3309 11, -1, 13, 14, -1, -1, -1, -1, -1, -1,
3310 -1, -1, -1, 110, -1, -1, -1, 28, 29, 30,
3311 -1, 32, -1, 34, 35, 36, -1, 38, 39, 40,
3312 41, 42, 43, -1, 45, -1, -1, -1, 49, 50,
3313 51, 52, 53, 54, -1, 56, 57, -1, -1, -1,
3314 61, -1, -1, -1, -1, -1, 67, -1, -1, 70,
3315 -1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
3316 -1, -1, -1, -1, -1, 86, 87, 88, 3, 4,
3317 5, 6, 93, 8, 9, 10, 11, -1, 13, 14,
3318 -1, -1, -1, -1, -1, -1, -1, -1, -1, 110,
3319 -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
3320 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3321 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
3322 -1, 56, 57, -1, -1, -1, 61, -1, -1, -1,
3323 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3324 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3325 -1, 86, 87, 88, 3, 4, 5, 6, 93, 8,
3326 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3327 -1, -1, -1, -1, -1, 110, -1, -1, -1, 28,
3328 29, 30, -1, 32, -1, 34, 35, 36, -1, 38,
3329 39, 40, 41, 42, 43, -1, 45, -1, -1, -1,
3330 49, 50, 51, 52, 53, 54, -1, 56, 57, 58,
3331 -1, -1, -1, -1, -1, -1, -1, -1, 67, -1,
3332 -1, 70, -1, -1, -1, -1, -1, -1, -1, 78,
3333 79, 80, -1, -1, -1, -1, -1, 86, 87, 88,
3334 3, 4, 5, 6, 93, 8, 9, 10, 11, -1,
3335 13, 14, -1, -1, -1, -1, -1, -1, -1, -1,
3336 -1, 110, -1, -1, -1, 28, 29, 30, -1, 32,
3337 -1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
3338 43, -1, 45, -1, -1, -1, 49, 50, 51, 52,
3339 53, 54, -1, 56, 57, -1, -1, -1, -1, -1,
3340 -1, -1, -1, -1, 67, -1, -1, 70, -1, -1,
3341 -1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
3342 -1, -1, -1, 86, 87, 88, -1, -1, -1, -1,
3343 93, 94, 3, 4, 5, 6, -1, 8, 9, 10,
3344 11, -1, 13, 14, -1, -1, -1, 110, -1, -1,
3345 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3346 -1, 32, -1, 34, 35, 36, -1, 38, 39, 40,
3347 41, 42, 43, -1, 45, -1, -1, -1, 49, 50,
3348 51, 52, 53, 54, -1, 56, 57, -1, -1, -1,
3349 61, -1, -1, -1, -1, -1, 67, -1, -1, 70,
3350 -1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
3351 -1, -1, -1, -1, -1, 86, 87, 88, 3, 4,
3352 5, 6, 93, 8, 9, 10, 11, -1, 13, 14,
3353 -1, -1, -1, -1, -1, -1, -1, -1, -1, 110,
3354 -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
3355 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3356 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
3357 -1, 56, 57, -1, -1, -1, 61, -1, -1, -1,
3358 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3359 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3360 -1, 86, 87, 88, 3, 4, 5, 6, 93, 8,
3361 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3362 -1, -1, -1, -1, -1, 110, -1, -1, -1, 28,
3363 29, 30, -1, 32, -1, 34, 35, 36, -1, 38,
3364 39, 40, 41, 42, 43, -1, 45, -1, -1, -1,
3365 49, 50, 51, 52, 53, 54, -1, 56, 57, -1,
3366 -1, -1, 61, -1, -1, -1, -1, -1, 67, -1,
3367 -1, 70, -1, -1, -1, -1, -1, -1, -1, 78,
3368 79, 80, -1, -1, -1, -1, -1, 86, 87, 88,
3369 3, 4, 5, 6, 93, 8, 9, 10, 11, -1,
3370 13, 14, -1, -1, -1, -1, -1, -1, -1, -1,
3371 -1, 110, -1, -1, -1, 28, 29, 30, -1, 32,
3372 -1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
3373 43, -1, 45, -1, -1, -1, 49, 50, 51, 52,
3374 53, 54, -1, 56, 57, -1, -1, -1, -1, -1,
3375 -1, -1, -1, -1, 67, -1, -1, 70, -1, -1,
3376 -1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
3377 -1, -1, -1, 86, 87, 88, 3, 4, 5, 6,
3378 93, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3379 -1, -1, -1, -1, -1, -1, -1, 110, -1, -1,
3380 -1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
3381 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3382 -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3383 57, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3384 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3385 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3386 87, 88, 3, 4, 5, 6, 93, 8, 9, 10,
3387 11, -1, 13, 14, -1, -1, -1, -1, -1, -1,
3388 -1, -1, -1, 110, -1, -1, -1, 28, 29, 30,
3389 -1, 32, -1, 34, 35, 36, -1, 38, 39, 40,
3390 41, 42, 43, -1, 45, -1, -1, -1, 49, 50,
3391 51, 52, 53, 54, -1, 56, 57, -1, -1, -1,
3392 -1, -1, -1, -1, -1, -1, 67, -1, -1, 70,
3393 -1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
3394 -1, -1, -1, -1, -1, 86, 87, 88, 3, 4,
3395 5, 6, 93, 8, 9, 10, 11, -1, 13, 14,
3396 -1, -1, -1, -1, -1, -1, -1, -1, -1, 110,
3397 -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
3398 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3399 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
3400 -1, 56, 57, -1, -1, -1, -1, -1, -1, -1,
3401 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3402 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3403 -1, 86, 87, 88, 3, 4, 5, 6, 93, 8,
3404 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3405 -1, -1, -1, -1, -1, 110, -1, -1, -1, 28,
3406 29, 30, -1, 32, -1, 34, 35, 36, -1, 38,
3407 39, 40, 41, 42, 43, -1, 45, -1, -1, -1,
3408 49, 50, 51, 52, 53, 54, -1, 56, 57, -1,
3409 -1, -1, -1, -1, -1, -1, -1, -1, 67, -1,
3410 -1, 70, -1, -1, -1, -1, -1, -1, -1, 78,
3411 79, 80, -1, -1, -1, -1, -1, 86, 87, 88,
3412 -1, -1, -1, -1, 93, 69, 70, 71, 72, 73,
3413 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
3414 84, 110, 63, 64, 65, 66, 67, 68, 69, 70,
3415 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
3416 81, 82, 83, 84, 63, 64, 65, 66, 67, 68,
3417 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
3418 79, 80, 81, 82, 83, 84, -1, -1, -1, -1,
3419 111, 71, 72, 73, 74, 75, 76, 77, 78, 79,
3420 80, 81, 82, 83, 84, 59, -1, -1, 107, 63,
3421 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
3422 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
3423 84, 62, 63, 64, 65, 66, 67, 68, 69, 70,
3424 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
3425 81, 82, 83, 84, 63, 64, 65, 66, 67, 68,
3426 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
3427 79, 80, 81, 82, 83, 84, 63, 64, 65, 66,
3428 67, 68, 69, 70, 71, 72, 73, 74, -1, 76,
3429 77, 78, 79, 80, 81, 82, 83, 84, 70, 71,
3430 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
3431 82, 83, 84
3432 };
3433 /* -*-C-*- Note some compilers choke on comments on `#line' lines. */
3434 #line 3 "/usr/lib/bison.simple"
3435
3436 /* Skeleton output parser for bison,
3437 Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
3438
3439 This program is free software; you can redistribute it and/or modify
3440 it under the terms of the GNU General Public License as published by
3441 the Free Software Foundation; either version 2, or (at your option)
3442 any later version.
3443
3444 This program is distributed in the hope that it will be useful,
3445 but WITHOUT ANY WARRANTY; without even the implied warranty of
3446 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3447 GNU General Public License for more details.
3448
3449 You should have received a copy of the GNU General Public License
3450 along with this program; if not, write to the Free Software
3451 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
3452
3453 /* As a special exception, when this file is copied by Bison into a
3454 Bison output file, you may use that output file without restriction.
3455 This special exception was added by the Free Software Foundation
3456 in version 1.24 of Bison. */
3457
3458 #ifndef alloca
3459 #ifdef __GNUC__
3460 #define alloca __builtin_alloca
3461 #else /* not GNU C. */
3462 #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi)
3463 #include <alloca.h>
3464 #else /* not sparc */
3465 #if defined (MSDOS) && !defined (__TURBOC__)
3466 #include <malloc.h>
3467 #else /* not MSDOS, or __TURBOC__ */
3468 #if defined(_AIX)
3469 #include <malloc.h>
3470 #pragma alloca
3471 #else /* not MSDOS, __TURBOC__, or _AIX */
3472 #ifdef __hpux
3473 #ifdef __cplusplus
3474 extern "C" {
3475 void *alloca (unsigned int);
3476 };
3477 #else /* not __cplusplus */
3478 void *alloca ();
3479 #endif /* not __cplusplus */
3480 #endif /* __hpux */
3481 #endif /* not _AIX */
3482 #endif /* not MSDOS, or __TURBOC__ */
3483 #endif /* not sparc. */
3484 #endif /* not GNU C. */
3485 #endif /* alloca not defined. */
3486
3487 /* This is the parser code that is written into each bison parser
3488 when the %semantic_parser declaration is not specified in the grammar.
3489 It was written by Richard Stallman by simplifying the hairy parser
3490 used when %semantic_parser is specified. */
3491
3492 /* Note: there must be only one dollar sign in this file.
3493 It is replaced by the list of actions, each action
3494 as one case of the switch. */
3495
3496 #define yyerrok (yyerrstatus = 0)
3497 #define yyclearin (yychar = YYEMPTY)
3498 #define YYEMPTY -2
3499 #define YYEOF 0
3500 #define YYACCEPT return(0)
3501 #define YYABORT return(1)
3502 #define YYERROR goto yyerrlab1
3503 /* Like YYERROR except do call yyerror.
3504 This remains here temporarily to ease the
3505 transition to the new meaning of YYERROR, for GCC.
3506 Once GCC version 2 has supplanted version 1, this can go. */
3507 #define YYFAIL goto yyerrlab
3508 #define YYRECOVERING() (!!yyerrstatus)
3509 #define YYBACKUP(token, value) \
3510 do \
3511 if (yychar == YYEMPTY && yylen == 1) \
3512 { yychar = (token), yylval = (value); \
3513 yychar1 = YYTRANSLATE (yychar); \
3514 YYPOPSTACK; \
3515 goto yybackup; \
3516 } \
3517 else \
3518 { yyerror ("syntax error: cannot back up"); YYERROR; } \
3519 while (0)
3520
3521 #define YYTERROR 1
3522 #define YYERRCODE 256
3523
3524 #ifndef YYPURE
3525 #define YYLEX yylex()
3526 #endif
3527
3528 #ifdef YYPURE
3529 #ifdef YYLSP_NEEDED
3530 #ifdef YYLEX_PARAM
3531 #define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM)
3532 #else
3533 #define YYLEX yylex(&yylval, &yylloc)
3534 #endif
3535 #else /* not YYLSP_NEEDED */
3536 #ifdef YYLEX_PARAM
3537 #define YYLEX yylex(&yylval, YYLEX_PARAM)
3538 #else
3539 #define YYLEX yylex(&yylval)
3540 #endif
3541 #endif /* not YYLSP_NEEDED */
3542 #endif
3543
3544 /* If nonreentrant, generate the variables here */
3545
3546 #ifndef YYPURE
3547
3548 int yychar; /* the lookahead symbol */
3549 YYSTYPE yylval; /* the semantic value of the */
3550 /* lookahead symbol */
3551
3552 #ifdef YYLSP_NEEDED
3553 YYLTYPE yylloc; /* location data for the lookahead */
3554 /* symbol */
3555 #endif
3556
3557 int yynerrs; /* number of parse errors so far */
3558 #endif /* not YYPURE */
3559
3560 #if YYDEBUG != 0
3561 int yydebug; /* nonzero means print parse trace */
3562 /* Since this is uninitialized, it does not stop multiple parsers
3563 from coexisting. */
3564 #endif
3565
3566 /* YYINITDEPTH indicates the initial size of the parser's stacks */
3567
3568 #ifndef YYINITDEPTH
3569 #define YYINITDEPTH 200
3570 #endif
3571
3572 /* YYMAXDEPTH is the maximum size the stacks can grow to
3573 (effective only if the built-in stack extension method is used). */
3574
3575 #if YYMAXDEPTH == 0
3576 #undef YYMAXDEPTH
3577 #endif
3578
3579 #ifndef YYMAXDEPTH
3580 #define YYMAXDEPTH 10000
3581 #endif
3582
3583 /* Prevent warning if -Wstrict-prototypes. */
3584 #ifdef __GNUC__
3585 int yyparse (void);
3586 #endif
3587 \f
3588 #if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
3589 #define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT)
3590 #else /* not GNU C or C++ */
3591 #ifndef __cplusplus
3592
3593 /* This is the most reliable way to avoid incompatibilities
3594 in available built-in functions on various systems. */
3595 static void
3596 __yy_memcpy (to, from, count)
3597 char *to;
3598 char *from;
3599 int count;
3600 {
3601 register char *f = from;
3602 register char *t = to;
3603 register int i = count;
3604
3605 while (i-- > 0)
3606 *t++ = *f++;
3607 }
3608
3609 #else /* __cplusplus */
3610
3611 /* This is the most reliable way to avoid incompatibilities
3612 in available built-in functions on various systems. */
3613 static void
3614 __yy_memcpy (char *to, char *from, int count)
3615 {
3616 register char *f = from;
3617 register char *t = to;
3618 register int i = count;
3619
3620 while (i-- > 0)
3621 *t++ = *f++;
3622 }
3623
3624 #endif
3625 #endif
3626 \f
3627 #line 196 "/usr/lib/bison.simple"
3628
3629 /* The user can define YYPARSE_PARAM as the name of an argument to be passed
3630 into yyparse. The argument should have type void *.
3631 It should actually point to an object.
3632 Grammar actions can access the variable by casting it
3633 to the proper pointer type. */
3634
3635 #ifdef YYPARSE_PARAM
3636 #ifdef __cplusplus
3637 #define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
3638 #define YYPARSE_PARAM_DECL
3639 #else /* not __cplusplus */
3640 #define YYPARSE_PARAM_ARG YYPARSE_PARAM
3641 #define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
3642 #endif /* not __cplusplus */
3643 #else /* not YYPARSE_PARAM */
3644 #define YYPARSE_PARAM_ARG
3645 #define YYPARSE_PARAM_DECL
3646 #endif /* not YYPARSE_PARAM */
3647
3648 int
3649 yyparse(YYPARSE_PARAM_ARG)
3650 YYPARSE_PARAM_DECL
3651 {
3652 register int yystate;
3653 register int yyn;
3654 register short *yyssp;
3655 register YYSTYPE *yyvsp;
3656 int yyerrstatus; /* number of tokens to shift before error messages enabled */
3657 int yychar1 = 0; /* lookahead token as an internal (translated) token number */
3658
3659 short yyssa[YYINITDEPTH]; /* the state stack */
3660 YYSTYPE yyvsa[YYINITDEPTH]; /* the semantic value stack */
3661
3662 short *yyss = yyssa; /* refer to the stacks thru separate pointers */
3663 YYSTYPE *yyvs = yyvsa; /* to allow yyoverflow to reallocate them elsewhere */
3664
3665 #ifdef YYLSP_NEEDED
3666 YYLTYPE yylsa[YYINITDEPTH]; /* the location stack */
3667 YYLTYPE *yyls = yylsa;
3668 YYLTYPE *yylsp;
3669
3670 #define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
3671 #else
3672 #define YYPOPSTACK (yyvsp--, yyssp--)
3673 #endif
3674
3675 int yystacksize = YYINITDEPTH;
3676
3677 #ifdef YYPURE
3678 int yychar;
3679 YYSTYPE yylval;
3680 int yynerrs;
3681 #ifdef YYLSP_NEEDED
3682 YYLTYPE yylloc;
3683 #endif
3684 #endif
3685
3686 YYSTYPE yyval; /* the variable used to return */
3687 /* semantic values from the action */
3688 /* routines */
3689
3690 int yylen;
3691
3692 #if YYDEBUG != 0
3693 if (yydebug)
3694 fprintf(stderr, "Starting parse\n");
3695 #endif
3696
3697 yystate = 0;
3698 yyerrstatus = 0;
3699 yynerrs = 0;
3700 yychar = YYEMPTY; /* Cause a token to be read. */
3701
3702 /* Initialize stack pointers.
3703 Waste one element of value and location stack
3704 so that they stay on the same level as the state stack.
3705 The wasted elements are never initialized. */
3706
3707 yyssp = yyss - 1;
3708 yyvsp = yyvs;
3709 #ifdef YYLSP_NEEDED
3710 yylsp = yyls;
3711 #endif
3712
3713 /* Push a new state, which is found in yystate . */
3714 /* In all cases, when you get here, the value and location stacks
3715 have just been pushed. so pushing a state here evens the stacks. */
3716 yynewstate:
3717
3718 *++yyssp = yystate;
3719
3720 if (yyssp >= yyss + yystacksize - 1)
3721 {
3722 /* Give user a chance to reallocate the stack */
3723 /* Use copies of these so that the &'s don't force the real ones into memory. */
3724 YYSTYPE *yyvs1 = yyvs;
3725 short *yyss1 = yyss;
3726 #ifdef YYLSP_NEEDED
3727 YYLTYPE *yyls1 = yyls;
3728 #endif
3729
3730 /* Get the current used size of the three stacks, in elements. */
3731 int size = yyssp - yyss + 1;
3732
3733 #ifdef yyoverflow
3734 /* Each stack pointer address is followed by the size of
3735 the data in use in that stack, in bytes. */
3736 #ifdef YYLSP_NEEDED
3737 /* This used to be a conditional around just the two extra args,
3738 but that might be undefined if yyoverflow is a macro. */
3739 yyoverflow("parser stack overflow",
3740 &yyss1, size * sizeof (*yyssp),
3741 &yyvs1, size * sizeof (*yyvsp),
3742 &yyls1, size * sizeof (*yylsp),
3743 &yystacksize);
3744 #else
3745 yyoverflow("parser stack overflow",
3746 &yyss1, size * sizeof (*yyssp),
3747 &yyvs1, size * sizeof (*yyvsp),
3748 &yystacksize);
3749 #endif
3750
3751 yyss = yyss1; yyvs = yyvs1;
3752 #ifdef YYLSP_NEEDED
3753 yyls = yyls1;
3754 #endif
3755 #else /* no yyoverflow */
3756 /* Extend the stack our own way. */
3757 if (yystacksize >= YYMAXDEPTH)
3758 {
3759 yyerror("parser stack overflow");
3760 return 2;
3761 }
3762 yystacksize *= 2;
3763 if (yystacksize > YYMAXDEPTH)
3764 yystacksize = YYMAXDEPTH;
3765 yyss = (short *) alloca (yystacksize * sizeof (*yyssp));
3766 __yy_memcpy ((char *)yyss, (char *)yyss1, size * sizeof (*yyssp));
3767 yyvs = (YYSTYPE *) alloca (yystacksize * sizeof (*yyvsp));
3768 __yy_memcpy ((char *)yyvs, (char *)yyvs1, size * sizeof (*yyvsp));
3769 #ifdef YYLSP_NEEDED
3770 yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp));
3771 __yy_memcpy ((char *)yyls, (char *)yyls1, size * sizeof (*yylsp));
3772 #endif
3773 #endif /* no yyoverflow */
3774
3775 yyssp = yyss + size - 1;
3776 yyvsp = yyvs + size - 1;
3777 #ifdef YYLSP_NEEDED
3778 yylsp = yyls + size - 1;
3779 #endif
3780
3781 #if YYDEBUG != 0
3782 if (yydebug)
3783 fprintf(stderr, "Stack size increased to %d\n", yystacksize);
3784 #endif
3785
3786 if (yyssp >= yyss + yystacksize - 1)
3787 YYABORT;
3788 }
3789
3790 #if YYDEBUG != 0
3791 if (yydebug)
3792 fprintf(stderr, "Entering state %d\n", yystate);
3793 #endif
3794
3795 goto yybackup;
3796 yybackup:
3797
3798 /* Do appropriate processing given the current state. */
3799 /* Read a lookahead token if we need one and don't already have one. */
3800 /* yyresume: */
3801
3802 /* First try to decide what to do without reference to lookahead token. */
3803
3804 yyn = yypact[yystate];
3805 if (yyn == YYFLAG)
3806 goto yydefault;
3807
3808 /* Not known => get a lookahead token if don't already have one. */
3809
3810 /* yychar is either YYEMPTY or YYEOF
3811 or a valid token in external form. */
3812
3813 if (yychar == YYEMPTY)
3814 {
3815 #if YYDEBUG != 0
3816 if (yydebug)
3817 fprintf(stderr, "Reading a token: ");
3818 #endif
3819 yychar = YYLEX;
3820 }
3821
3822 /* Convert token to internal form (in yychar1) for indexing tables with */
3823
3824 if (yychar <= 0) /* This means end of input. */
3825 {
3826 yychar1 = 0;
3827 yychar = YYEOF; /* Don't call YYLEX any more */
3828
3829 #if YYDEBUG != 0
3830 if (yydebug)
3831 fprintf(stderr, "Now at end of input.\n");
3832 #endif
3833 }
3834 else
3835 {
3836 yychar1 = YYTRANSLATE(yychar);
3837
3838 #if YYDEBUG != 0
3839 if (yydebug)
3840 {
3841 fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
3842 /* Give the individual parser a way to print the precise meaning
3843 of a token, for further debugging info. */
3844 #ifdef YYPRINT
3845 YYPRINT (stderr, yychar, yylval);
3846 #endif
3847 fprintf (stderr, ")\n");
3848 }
3849 #endif
3850 }
3851
3852 yyn += yychar1;
3853 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
3854 goto yydefault;
3855
3856 yyn = yytable[yyn];
3857
3858 /* yyn is what to do for this token type in this state.
3859 Negative => reduce, -yyn is rule number.
3860 Positive => shift, yyn is new state.
3861 New state is final state => don't bother to shift,
3862 just return success.
3863 0, or most negative number => error. */
3864
3865 if (yyn < 0)
3866 {
3867 if (yyn == YYFLAG)
3868 goto yyerrlab;
3869 yyn = -yyn;
3870 goto yyreduce;
3871 }
3872 else if (yyn == 0)
3873 goto yyerrlab;
3874
3875 if (yyn == YYFINAL)
3876 YYACCEPT;
3877
3878 /* Shift the lookahead token. */
3879
3880 #if YYDEBUG != 0
3881 if (yydebug)
3882 fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
3883 #endif
3884
3885 /* Discard the token being shifted unless it is eof. */
3886 if (yychar != YYEOF)
3887 yychar = YYEMPTY;
3888
3889 *++yyvsp = yylval;
3890 #ifdef YYLSP_NEEDED
3891 *++yylsp = yylloc;
3892 #endif
3893
3894 /* count tokens shifted since error; after three, turn off error status. */
3895 if (yyerrstatus) yyerrstatus--;
3896
3897 yystate = yyn;
3898 goto yynewstate;
3899
3900 /* Do the default action for the current state. */
3901 yydefault:
3902
3903 yyn = yydefact[yystate];
3904 if (yyn == 0)
3905 goto yyerrlab;
3906
3907 /* Do a reduction. yyn is the number of a rule to reduce with. */
3908 yyreduce:
3909 yylen = yyr2[yyn];
3910 if (yylen > 0)
3911 yyval = yyvsp[1-yylen]; /* implement default value of the action */
3912
3913 #if YYDEBUG != 0
3914 if (yydebug)
3915 {
3916 int i;
3917
3918 fprintf (stderr, "Reducing via rule %d (line %d), ",
3919 yyn, yyrline[yyn]);
3920
3921 /* Print the symbols being reduced, and their result. */
3922 for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
3923 fprintf (stderr, "%s ", yytname[yyrhs[i]]);
3924 fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
3925 }
3926 #endif
3927
3928
3929 switch (yyn) {
3930
3931 case 2:
3932 #line 331 "parse.y"
3933 { finish_translation_unit (); ;
3934 break;}
3935 case 3:
3936 #line 339 "parse.y"
3937 { yyval.ttype = NULL_TREE; ;
3938 break;}
3939 case 4:
3940 #line 341 "parse.y"
3941 { yyval.ttype = NULL_TREE; ;
3942 break;}
3943 case 5:
3944 #line 343 "parse.y"
3945 { yyval.ttype = NULL_TREE; ;
3946 break;}
3947 case 8:
3948 #line 352 "parse.y"
3949 { have_extern_spec = 1;
3950 used_extern_spec = 0;
3951 yyval.ttype = NULL_TREE; ;
3952 break;}
3953 case 9:
3954 #line 357 "parse.y"
3955 { have_extern_spec = 0; ;
3956 break;}
3957 case 10:
3958 #line 362 "parse.y"
3959 { yyval.itype = pedantic;
3960 pedantic = 0; ;
3961 break;}
3962 case 12:
3963 #line 371 "parse.y"
3964 { if (pending_lang_change) do_pending_lang_change(); ;
3965 break;}
3966 case 13:
3967 #line 373 "parse.y"
3968 { if (! toplevel_bindings_p () && ! pseudo_global_level_p())
3969 pop_everything (); ;
3970 break;}
3971 case 14:
3972 #line 379 "parse.y"
3973 { if (pending_inlines) do_pending_inlines (); ;
3974 break;}
3975 case 15:
3976 #line 381 "parse.y"
3977 { if (pending_inlines) do_pending_inlines (); ;
3978 break;}
3979 case 16:
3980 #line 383 "parse.y"
3981 { if (pending_inlines) do_pending_inlines (); ;
3982 break;}
3983 case 17:
3984 #line 385 "parse.y"
3985 { if (TREE_CHAIN (yyvsp[-2].ttype)) yyvsp[-2].ttype = combine_strings (yyvsp[-2].ttype);
3986 assemble_asm (yyvsp[-2].ttype); ;
3987 break;}
3988 case 18:
3989 #line 388 "parse.y"
3990 { pop_lang_context (); ;
3991 break;}
3992 case 19:
3993 #line 390 "parse.y"
3994 { if (pending_inlines) do_pending_inlines ();
3995 pop_lang_context (); ;
3996 break;}
3997 case 20:
3998 #line 393 "parse.y"
3999 { if (pending_inlines) do_pending_inlines ();
4000 pop_lang_context (); ;
4001 break;}
4002 case 21:
4003 #line 396 "parse.y"
4004 { push_namespace (yyvsp[-1].ttype); ;
4005 break;}
4006 case 22:
4007 #line 398 "parse.y"
4008 { pop_namespace (); ;
4009 break;}
4010 case 23:
4011 #line 400 "parse.y"
4012 { push_namespace (NULL_TREE); ;
4013 break;}
4014 case 24:
4015 #line 402 "parse.y"
4016 { pop_namespace (); ;
4017 break;}
4018 case 25:
4019 #line 404 "parse.y"
4020 { do_namespace_alias (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
4021 break;}
4022 case 26:
4023 #line 406 "parse.y"
4024 { do_toplevel_using_decl (yyvsp[-1].ttype); ;
4025 break;}
4026 case 27:
4027 #line 408 "parse.y"
4028 {
4029 /* If no declaration was found, the using-directive is
4030 invalid. Since that was not reported, we need the
4031 identifier for the error message. */
4032 if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE && lastiddecl)
4033 yyvsp[-1].ttype = lastiddecl;
4034 do_using_directive (yyvsp[-1].ttype);
4035 ;
4036 break;}
4037 case 28:
4038 #line 417 "parse.y"
4039 { pedantic = yyvsp[-1].itype; ;
4040 break;}
4041 case 29:
4042 #line 422 "parse.y"
4043 { yyval.ttype = yyvsp[0].ttype; ;
4044 break;}
4045 case 30:
4046 #line 424 "parse.y"
4047 { yyval.ttype = yyvsp[0].ttype; ;
4048 break;}
4049 case 31:
4050 #line 426 "parse.y"
4051 { yyval.ttype = yyvsp[0].ttype; ;
4052 break;}
4053 case 34:
4054 #line 433 "parse.y"
4055 { yyval.ttype = yyvsp[0].ttype; ;
4056 break;}
4057 case 35:
4058 #line 435 "parse.y"
4059 { yyval.ttype = yyvsp[0].ttype; ;
4060 break;}
4061 case 36:
4062 #line 440 "parse.y"
4063 { push_lang_context (yyvsp[0].ttype); ;
4064 break;}
4065 case 37:
4066 #line 442 "parse.y"
4067 { if (current_lang_name != yyvsp[0].ttype)
4068 cp_error ("use of linkage spec `%D' is different from previous spec `%D'", yyvsp[0].ttype, current_lang_name);
4069 pop_lang_context (); push_lang_context (yyvsp[0].ttype); ;
4070 break;}
4071 case 38:
4072 #line 449 "parse.y"
4073 { begin_template_parm_list (); ;
4074 break;}
4075 case 39:
4076 #line 451 "parse.y"
4077 { yyval.ttype = end_template_parm_list (yyvsp[-1].ttype); ;
4078 break;}
4079 case 40:
4080 #line 453 "parse.y"
4081 { begin_specialization();
4082 yyval.ttype = NULL_TREE; ;
4083 break;}
4084 case 41:
4085 #line 459 "parse.y"
4086 { yyval.ttype = process_template_parm (NULL_TREE, yyvsp[0].ttype); ;
4087 break;}
4088 case 42:
4089 #line 461 "parse.y"
4090 { yyval.ttype = process_template_parm (yyvsp[-2].ttype, yyvsp[0].ttype); ;
4091 break;}
4092 case 43:
4093 #line 466 "parse.y"
4094 { yyval.ttype = yyvsp[0].ttype; ;
4095 break;}
4096 case 44:
4097 #line 468 "parse.y"
4098 { yyval.ttype = NULL_TREE; ;
4099 break;}
4100 case 45:
4101 #line 472 "parse.y"
4102 { yyval.ttype = finish_template_type_parm (yyvsp[-1].ttype, yyvsp[0].ttype); ;
4103 break;}
4104 case 46:
4105 #line 474 "parse.y"
4106 { yyval.ttype = finish_template_type_parm (class_type_node, yyvsp[0].ttype); ;
4107 break;}
4108 case 47:
4109 #line 479 "parse.y"
4110 { yyval.ttype = finish_template_template_parm (yyvsp[-1].ttype, yyvsp[0].ttype); ;
4111 break;}
4112 case 48:
4113 #line 491 "parse.y"
4114 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
4115 break;}
4116 case 49:
4117 #line 493 "parse.y"
4118 { yyval.ttype = build_tree_list (groktypename (yyvsp[0].ftype.t), yyvsp[-2].ttype); ;
4119 break;}
4120 case 50:
4121 #line 495 "parse.y"
4122 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ftype.t); ;
4123 break;}
4124 case 51:
4125 #line 497 "parse.y"
4126 { yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-2].ftype.t); ;
4127 break;}
4128 case 52:
4129 #line 499 "parse.y"
4130 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
4131 break;}
4132 case 53:
4133 #line 501 "parse.y"
4134 {
4135 if (TREE_CODE (yyvsp[0].ttype) != TEMPLATE_DECL
4136 && TREE_CODE (yyvsp[0].ttype) != TEMPLATE_TEMPLATE_PARM
4137 && TREE_CODE (yyvsp[0].ttype) != TYPE_DECL)
4138 {
4139 error ("invalid default template argument");
4140 yyvsp[0].ttype = error_mark_node;
4141 }
4142 yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype);
4143 ;
4144 break;}
4145 case 54:
4146 #line 516 "parse.y"
4147 {
4148 if (yyvsp[-1].ttype)
4149 end_template_decl ();
4150 else
4151 end_specialization ();
4152 ;
4153 break;}
4154 case 55:
4155 #line 524 "parse.y"
4156 {
4157 if (yyvsp[-1].ttype)
4158 end_template_decl ();
4159 else
4160 end_specialization ();
4161 ;
4162 break;}
4163 case 57:
4164 #line 535 "parse.y"
4165 {;
4166 break;}
4167 case 58:
4168 #line 537 "parse.y"
4169 {
4170 note_list_got_semicolon (yyvsp[-2].ftype.t);
4171 ;
4172 break;}
4173 case 59:
4174 #line 541 "parse.y"
4175 { pedwarn ("empty declaration"); ;
4176 break;}
4177 case 61:
4178 #line 544 "parse.y"
4179 {
4180 tree t, attrs;
4181 split_specs_attrs (yyvsp[-1].ftype.t, &t, &attrs);
4182 shadow_tag (t);
4183 note_list_got_semicolon (yyvsp[-1].ftype.t);
4184 ;
4185 break;}
4186 case 65:
4187 #line 557 "parse.y"
4188 { yyval.itype = 0; ;
4189 break;}
4190 case 66:
4191 #line 559 "parse.y"
4192 { yyval.itype = 1; ;
4193 break;}
4194 case 72:
4195 #line 575 "parse.y"
4196 { finish_function (lineno, (int)yyvsp[-1].itype, 0); ;
4197 break;}
4198 case 73:
4199 #line 577 "parse.y"
4200 { ;
4201 break;}
4202 case 74:
4203 #line 579 "parse.y"
4204 { ;
4205 break;}
4206 case 75:
4207 #line 584 "parse.y"
4208 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4209 break;}
4210 case 76:
4211 #line 586 "parse.y"
4212 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4213 break;}
4214 case 77:
4215 #line 588 "parse.y"
4216 { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype);
4217 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4218 ;
4219 break;}
4220 case 78:
4221 #line 592 "parse.y"
4222 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4223 break;}
4224 case 79:
4225 #line 594 "parse.y"
4226 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4227 break;}
4228 case 80:
4229 #line 596 "parse.y"
4230 { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype);
4231 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4232 ;
4233 break;}
4234 case 81:
4235 #line 600 "parse.y"
4236 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4237 break;}
4238 case 82:
4239 #line 602 "parse.y"
4240 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4241 break;}
4242 case 83:
4243 #line 604 "parse.y"
4244 { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype);
4245 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4246 ;
4247 break;}
4248 case 84:
4249 #line 608 "parse.y"
4250 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4251 break;}
4252 case 85:
4253 #line 610 "parse.y"
4254 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4255 break;}
4256 case 86:
4257 #line 612 "parse.y"
4258 { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype);
4259 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4260 ;
4261 break;}
4262 case 87:
4263 #line 619 "parse.y"
4264 { if (!begin_function_definition (yyvsp[-1].ftype.t, yyvsp[0].ttype))
4265 YYERROR1; ;
4266 break;}
4267 case 88:
4268 #line 622 "parse.y"
4269 { if (!begin_function_definition (yyvsp[-1].ttype, yyvsp[0].ttype))
4270 YYERROR1; ;
4271 break;}
4272 case 89:
4273 #line 625 "parse.y"
4274 { if (!begin_function_definition (NULL_TREE, yyvsp[0].ttype))
4275 YYERROR1; ;
4276 break;}
4277 case 90:
4278 #line 628 "parse.y"
4279 { if (!begin_function_definition (yyvsp[-1].ttype, yyvsp[0].ttype))
4280 YYERROR1; ;
4281 break;}
4282 case 91:
4283 #line 631 "parse.y"
4284 { if (!begin_function_definition (NULL_TREE, yyvsp[0].ttype))
4285 YYERROR1; ;
4286 break;}
4287 case 92:
4288 #line 637 "parse.y"
4289 { yyval.ttype = make_call_declarator (yyvsp[-5].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4290 break;}
4291 case 93:
4292 #line 639 "parse.y"
4293 { yyval.ttype = make_call_declarator (yyvsp[-3].ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
4294 break;}
4295 case 94:
4296 #line 641 "parse.y"
4297 { yyval.ttype = make_call_declarator (yyvsp[-5].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4298 break;}
4299 case 95:
4300 #line 643 "parse.y"
4301 { yyval.ttype = make_call_declarator (yyvsp[-3].ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
4302 break;}
4303 case 96:
4304 #line 650 "parse.y"
4305 { tree specs = strip_attrs (yyvsp[-1].ttype);
4306 yyval.ttype = start_method (specs, yyvsp[0].ttype);
4307 rest_of_mdef:
4308 if (! yyval.ttype)
4309 YYERROR1;
4310 if (yychar == YYEMPTY)
4311 yychar = YYLEX;
4312 reinit_parse_for_method (yychar, yyval.ttype); ;
4313 break;}
4314 case 97:
4315 #line 659 "parse.y"
4316 { yyval.ttype = start_method (NULL_TREE, yyvsp[0].ttype); goto rest_of_mdef; ;
4317 break;}
4318 case 98:
4319 #line 661 "parse.y"
4320 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
4321 yyval.ttype = start_method (specs, yyvsp[0].ttype); goto rest_of_mdef; ;
4322 break;}
4323 case 99:
4324 #line 664 "parse.y"
4325 { tree specs = strip_attrs (yyvsp[-1].ttype);
4326 yyval.ttype = start_method (specs, yyvsp[0].ttype); goto rest_of_mdef; ;
4327 break;}
4328 case 100:
4329 #line 667 "parse.y"
4330 { yyval.ttype = start_method (NULL_TREE, yyval.ttype); goto rest_of_mdef; ;
4331 break;}
4332 case 101:
4333 #line 669 "parse.y"
4334 { tree specs = strip_attrs (yyvsp[-1].ttype);
4335 yyval.ttype = start_method (specs, yyvsp[0].ttype); goto rest_of_mdef; ;
4336 break;}
4337 case 102:
4338 #line 672 "parse.y"
4339 { yyval.ttype = start_method (NULL_TREE, yyval.ttype); goto rest_of_mdef; ;
4340 break;}
4341 case 103:
4342 #line 677 "parse.y"
4343 {
4344 if (! current_function_parms_stored)
4345 store_parm_decls ();
4346 yyval.ttype = yyvsp[0].ttype;
4347 ;
4348 break;}
4349 case 104:
4350 #line 686 "parse.y"
4351 { store_return_init (yyval.ttype, yyvsp[0].ttype); ;
4352 break;}
4353 case 105:
4354 #line 688 "parse.y"
4355 { store_return_init (yyval.ttype, yyvsp[-1].ttype); ;
4356 break;}
4357 case 106:
4358 #line 690 "parse.y"
4359 { store_return_init (yyval.ttype, NULL_TREE); ;
4360 break;}
4361 case 107:
4362 #line 695 "parse.y"
4363 {
4364 if (yyvsp[0].itype == 0)
4365 error ("no base initializers given following ':'");
4366 setup_vtbl_ptr ();
4367 /* Always keep the BLOCK node associated with the outermost
4368 pair of curley braces of a function. These are needed
4369 for correct operation of dwarfout.c. */
4370 keep_next_level ();
4371 ;
4372 break;}
4373 case 108:
4374 #line 708 "parse.y"
4375 {
4376 if (! current_function_parms_stored)
4377 store_parm_decls ();
4378
4379 if (DECL_CONSTRUCTOR_P (current_function_decl))
4380 {
4381 /* Make a contour for the initializer list. */
4382 pushlevel (0);
4383 clear_last_expr ();
4384 expand_start_bindings (0);
4385 }
4386 else if (current_class_type == NULL_TREE)
4387 error ("base initializers not allowed for non-member functions");
4388 else if (! DECL_CONSTRUCTOR_P (current_function_decl))
4389 error ("only constructors take base initializers");
4390 ;
4391 break;}
4392 case 109:
4393 #line 728 "parse.y"
4394 { yyval.itype = 0; ;
4395 break;}
4396 case 110:
4397 #line 730 "parse.y"
4398 { yyval.itype = 1; ;
4399 break;}
4400 case 113:
4401 #line 737 "parse.y"
4402 {
4403 if (current_class_name)
4404 pedwarn ("anachronistic old style base class initializer");
4405 expand_member_init (current_class_ref, NULL_TREE, yyvsp[-1].ttype);
4406 ;
4407 break;}
4408 case 114:
4409 #line 743 "parse.y"
4410 {
4411 if (current_class_name)
4412 pedwarn ("anachronistic old style base class initializer");
4413 expand_member_init (current_class_ref, NULL_TREE, void_type_node);
4414 ;
4415 break;}
4416 case 115:
4417 #line 749 "parse.y"
4418 { expand_member_init (current_class_ref, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
4419 break;}
4420 case 116:
4421 #line 751 "parse.y"
4422 { expand_member_init (current_class_ref, yyvsp[-1].ttype, void_type_node); ;
4423 break;}
4424 case 117:
4425 #line 753 "parse.y"
4426 { expand_member_init (current_class_ref, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
4427 break;}
4428 case 118:
4429 #line 755 "parse.y"
4430 { expand_member_init (current_class_ref, yyvsp[-1].ttype, void_type_node); ;
4431 break;}
4432 case 119:
4433 #line 757 "parse.y"
4434 { expand_member_init (current_class_ref, TYPE_MAIN_DECL (yyvsp[-3].ttype),
4435 yyvsp[-1].ttype); ;
4436 break;}
4437 case 120:
4438 #line 760 "parse.y"
4439 { expand_member_init (current_class_ref, TYPE_MAIN_DECL (yyvsp[-1].ttype),
4440 void_type_node); ;
4441 break;}
4442 case 132:
4443 #line 786 "parse.y"
4444 { do_type_instantiation (yyvsp[-1].ftype.t, NULL_TREE);
4445 yyungetc (';', 1); ;
4446 break;}
4447 case 134:
4448 #line 790 "parse.y"
4449 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
4450 do_decl_instantiation (specs, yyvsp[0].ttype, NULL_TREE); ;
4451 break;}
4452 case 136:
4453 #line 794 "parse.y"
4454 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
4455 break;}
4456 case 138:
4457 #line 797 "parse.y"
4458 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
4459 break;}
4460 case 140:
4461 #line 800 "parse.y"
4462 { do_type_instantiation (yyvsp[-1].ftype.t, yyvsp[-4].ttype);
4463 yyungetc (';', 1); ;
4464 break;}
4465 case 142:
4466 #line 805 "parse.y"
4467 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
4468 do_decl_instantiation (specs, yyvsp[0].ttype, yyvsp[-4].ttype); ;
4469 break;}
4470 case 144:
4471 #line 809 "parse.y"
4472 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, yyvsp[-3].ttype); ;
4473 break;}
4474 case 146:
4475 #line 812 "parse.y"
4476 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, yyvsp[-3].ttype); ;
4477 break;}
4478 case 148:
4479 #line 817 "parse.y"
4480 { begin_explicit_instantiation(); ;
4481 break;}
4482 case 149:
4483 #line 820 "parse.y"
4484 { end_explicit_instantiation(); ;
4485 break;}
4486 case 150:
4487 #line 828 "parse.y"
4488 {
4489 yyval.ttype = lookup_template_class (yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE, NULL_TREE);
4490 if (yyval.ttype != error_mark_node)
4491 yyval.ttype = TYPE_STUB_DECL (yyval.ttype);
4492 ;
4493 break;}
4494 case 151:
4495 #line 834 "parse.y"
4496 {
4497 yyval.ttype = lookup_template_class (yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE, NULL_TREE);
4498 if (yyval.ttype != error_mark_node)
4499 yyval.ttype = TYPE_STUB_DECL (yyval.ttype);
4500 ;
4501 break;}
4502 case 153:
4503 #line 844 "parse.y"
4504 {
4505 yyval.ttype = lookup_template_class (yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE, NULL_TREE);
4506 if (yyval.ttype != error_mark_node)
4507 yyval.ttype = TYPE_STUB_DECL (yyval.ttype);
4508 ;
4509 break;}
4510 case 155:
4511 #line 854 "parse.y"
4512 {
4513 /* Handle `Class<Class<Type>>' without space in the `>>' */
4514 pedwarn ("`>>' should be `> >' in template class name");
4515 yyungetc ('>', 1);
4516 ;
4517 break;}
4518 case 156:
4519 #line 863 "parse.y"
4520 { yyval.ttype = NULL_TREE; ;
4521 break;}
4522 case 158:
4523 #line 869 "parse.y"
4524 { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
4525 break;}
4526 case 159:
4527 #line 871 "parse.y"
4528 { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
4529 break;}
4530 case 160:
4531 #line 876 "parse.y"
4532 { yyval.ttype = groktypename (yyvsp[0].ftype.t); ;
4533 break;}
4534 case 162:
4535 #line 882 "parse.y"
4536 { yyval.code = NEGATE_EXPR; ;
4537 break;}
4538 case 163:
4539 #line 884 "parse.y"
4540 { yyval.code = CONVERT_EXPR; ;
4541 break;}
4542 case 164:
4543 #line 886 "parse.y"
4544 { yyval.code = PREINCREMENT_EXPR; ;
4545 break;}
4546 case 165:
4547 #line 888 "parse.y"
4548 { yyval.code = PREDECREMENT_EXPR; ;
4549 break;}
4550 case 166:
4551 #line 890 "parse.y"
4552 { yyval.code = TRUTH_NOT_EXPR; ;
4553 break;}
4554 case 167:
4555 #line 895 "parse.y"
4556 { yyval.ttype = build_x_compound_expr (yyval.ttype); ;
4557 break;}
4558 case 169:
4559 #line 901 "parse.y"
4560 { error ("ANSI C++ forbids an empty condition for `%s'",
4561 cond_stmt_keyword);
4562 yyval.ttype = integer_zero_node; ;
4563 break;}
4564 case 170:
4565 #line 905 "parse.y"
4566 { yyval.ttype = yyvsp[-1].ttype; ;
4567 break;}
4568 case 171:
4569 #line 910 "parse.y"
4570 { error ("ANSI C++ forbids an empty condition for `%s'",
4571 cond_stmt_keyword);
4572 yyval.ttype = integer_zero_node; ;
4573 break;}
4574 case 172:
4575 #line 914 "parse.y"
4576 { yyval.ttype = yyvsp[-1].ttype; ;
4577 break;}
4578 case 173:
4579 #line 919 "parse.y"
4580 { yyval.ttype = NULL_TREE; ;
4581 break;}
4582 case 174:
4583 #line 921 "parse.y"
4584 { yyval.ttype = condition_conversion (yyval.ttype); ;
4585 break;}
4586 case 175:
4587 #line 923 "parse.y"
4588 { yyval.ttype = NULL_TREE; ;
4589 break;}
4590 case 176:
4591 #line 928 "parse.y"
4592 { {
4593 tree d;
4594 for (d = getdecls (); d; d = TREE_CHAIN (d))
4595 if (TREE_CODE (d) == TYPE_DECL) {
4596 tree s = TREE_TYPE (d);
4597 if (TREE_CODE (s) == RECORD_TYPE)
4598 cp_error ("definition of class `%T' in condition", s);
4599 else if (TREE_CODE (s) == ENUMERAL_TYPE)
4600 cp_error ("definition of enum `%T' in condition", s);
4601 }
4602 }
4603 current_declspecs = yyvsp[-4].ftype.t;
4604 yyvsp[0].itype = suspend_momentary ();
4605 yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1,
4606 yyvsp[-1].ttype, /*prefix_attributes*/ NULL_TREE);
4607 ;
4608 break;}
4609 case 177:
4610 #line 945 "parse.y"
4611 {
4612 cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-3].ttype, 1, LOOKUP_ONLYCONVERTING);
4613 resume_momentary (yyvsp[-2].itype);
4614 yyval.ttype = yyvsp[-1].ttype;
4615 if (TREE_CODE (TREE_TYPE (yyval.ttype)) == ARRAY_TYPE)
4616 cp_error ("definition of array `%#D' in condition", yyval.ttype);
4617 ;
4618 break;}
4619 case 183:
4620 #line 964 "parse.y"
4621 { yyval.ttype = begin_compound_stmt (1); ;
4622 break;}
4623 case 184:
4624 #line 966 "parse.y"
4625 { finish_compound_stmt (1, yyvsp[-1].ttype); ;
4626 break;}
4627 case 186:
4628 #line 973 "parse.y"
4629 { yyval.ttype = expr_tree_cons (NULL_TREE, yyval.ttype,
4630 build_expr_list (NULL_TREE, yyvsp[0].ttype)); ;
4631 break;}
4632 case 187:
4633 #line 976 "parse.y"
4634 { yyval.ttype = expr_tree_cons (NULL_TREE, yyval.ttype,
4635 build_expr_list (NULL_TREE, error_mark_node)); ;
4636 break;}
4637 case 188:
4638 #line 979 "parse.y"
4639 { chainon (yyval.ttype, build_expr_list (NULL_TREE, yyvsp[0].ttype)); ;
4640 break;}
4641 case 189:
4642 #line 981 "parse.y"
4643 { chainon (yyval.ttype, build_expr_list (NULL_TREE, error_mark_node)); ;
4644 break;}
4645 case 190:
4646 #line 986 "parse.y"
4647 { yyval.ttype = build_expr_list (NULL_TREE, yyval.ttype); ;
4648 break;}
4649 case 192:
4650 #line 992 "parse.y"
4651 { yyval.ttype = yyvsp[0].ttype; ;
4652 break;}
4653 case 193:
4654 #line 995 "parse.y"
4655 { yyval.ttype = yyvsp[0].ttype;
4656 pedantic = yyvsp[-1].itype; ;
4657 break;}
4658 case 194:
4659 #line 998 "parse.y"
4660 { yyval.ttype = build_x_indirect_ref (yyvsp[0].ttype, "unary *"); ;
4661 break;}
4662 case 195:
4663 #line 1000 "parse.y"
4664 { yyval.ttype = build_x_unary_op (ADDR_EXPR, yyvsp[0].ttype); ;
4665 break;}
4666 case 196:
4667 #line 1002 "parse.y"
4668 { yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, yyvsp[0].ttype); ;
4669 break;}
4670 case 197:
4671 #line 1004 "parse.y"
4672 { yyval.ttype = finish_unary_op_expr (yyvsp[-1].code, yyvsp[0].ttype); ;
4673 break;}
4674 case 198:
4675 #line 1007 "parse.y"
4676 { if (pedantic)
4677 pedwarn ("ANSI C++ forbids `&&'");
4678 yyval.ttype = finish_label_address_expr (yyvsp[0].ttype); ;
4679 break;}
4680 case 199:
4681 #line 1011 "parse.y"
4682 { yyval.ttype = expr_sizeof (yyvsp[0].ttype); ;
4683 break;}
4684 case 200:
4685 #line 1013 "parse.y"
4686 { yyval.ttype = c_sizeof (groktypename (yyvsp[-1].ftype.t)); ;
4687 break;}
4688 case 201:
4689 #line 1015 "parse.y"
4690 { yyval.ttype = grok_alignof (yyvsp[0].ttype); ;
4691 break;}
4692 case 202:
4693 #line 1017 "parse.y"
4694 { yyval.ttype = c_alignof (groktypename (yyvsp[-1].ftype.t));
4695 check_for_new_type ("alignof", yyvsp[-1].ftype); ;
4696 break;}
4697 case 203:
4698 #line 1023 "parse.y"
4699 { yyval.ttype = build_new (NULL_TREE, yyvsp[0].ftype.t, NULL_TREE, yyvsp[-1].itype);
4700 check_for_new_type ("new", yyvsp[0].ftype); ;
4701 break;}
4702 case 204:
4703 #line 1026 "parse.y"
4704 { yyval.ttype = build_new (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype, yyvsp[-2].itype);
4705 check_for_new_type ("new", yyvsp[-1].ftype); ;
4706 break;}
4707 case 205:
4708 #line 1029 "parse.y"
4709 { yyval.ttype = build_new (yyvsp[-1].ttype, yyvsp[0].ftype.t, NULL_TREE, yyvsp[-2].itype);
4710 check_for_new_type ("new", yyvsp[0].ftype); ;
4711 break;}
4712 case 206:
4713 #line 1032 "parse.y"
4714 { yyval.ttype = build_new (yyvsp[-2].ttype, yyvsp[-1].ftype.t, yyvsp[0].ttype, yyvsp[-3].itype);
4715 check_for_new_type ("new", yyvsp[-1].ftype); ;
4716 break;}
4717 case 207:
4718 #line 1035 "parse.y"
4719 { yyval.ttype = build_new (NULL_TREE, groktypename(yyvsp[-1].ftype.t),
4720 NULL_TREE, yyvsp[-3].itype);
4721 check_for_new_type ("new", yyvsp[-1].ftype); ;
4722 break;}
4723 case 208:
4724 #line 1039 "parse.y"
4725 { yyval.ttype = build_new (NULL_TREE, groktypename(yyvsp[-2].ftype.t), yyvsp[0].ttype, yyvsp[-4].itype);
4726 check_for_new_type ("new", yyvsp[-2].ftype); ;
4727 break;}
4728 case 209:
4729 #line 1042 "parse.y"
4730 { yyval.ttype = build_new (yyvsp[-3].ttype, groktypename(yyvsp[-1].ftype.t), NULL_TREE, yyvsp[-4].itype);
4731 check_for_new_type ("new", yyvsp[-1].ftype); ;
4732 break;}
4733 case 210:
4734 #line 1045 "parse.y"
4735 { yyval.ttype = build_new (yyvsp[-4].ttype, groktypename(yyvsp[-2].ftype.t), yyvsp[0].ttype, yyvsp[-5].itype);
4736 check_for_new_type ("new", yyvsp[-2].ftype); ;
4737 break;}
4738 case 211:
4739 #line 1049 "parse.y"
4740 { yyval.ttype = delete_sanity (yyvsp[0].ttype, NULL_TREE, 0, yyvsp[-1].itype); ;
4741 break;}
4742 case 212:
4743 #line 1051 "parse.y"
4744 { yyval.ttype = delete_sanity (yyvsp[0].ttype, NULL_TREE, 1, yyvsp[-3].itype);
4745 if (yychar == YYEMPTY)
4746 yychar = YYLEX; ;
4747 break;}
4748 case 213:
4749 #line 1055 "parse.y"
4750 { yyval.ttype = delete_sanity (yyvsp[0].ttype, yyvsp[-2].ttype, 2, yyvsp[-4].itype);
4751 if (yychar == YYEMPTY)
4752 yychar = YYLEX; ;
4753 break;}
4754 case 214:
4755 #line 1059 "parse.y"
4756 { yyval.ttype = build_x_unary_op (REALPART_EXPR, yyvsp[0].ttype); ;
4757 break;}
4758 case 215:
4759 #line 1061 "parse.y"
4760 { yyval.ttype = build_x_unary_op (IMAGPART_EXPR, yyvsp[0].ttype); ;
4761 break;}
4762 case 216:
4763 #line 1066 "parse.y"
4764 { yyval.itype = begin_new_placement (); ;
4765 break;}
4766 case 217:
4767 #line 1068 "parse.y"
4768 { yyval.ttype = finish_new_placement (yyvsp[-1].ttype, yyvsp[-3].itype); ;
4769 break;}
4770 case 218:
4771 #line 1070 "parse.y"
4772 { cp_pedwarn ("old style placement syntax, use () instead");
4773 yyval.itype = begin_new_placement (); ;
4774 break;}
4775 case 219:
4776 #line 1073 "parse.y"
4777 { yyval.ttype = finish_new_placement (yyvsp[-1].ttype, yyvsp[-3].itype); ;
4778 break;}
4779 case 220:
4780 #line 1078 "parse.y"
4781 { yyval.ttype = yyvsp[-1].ttype; ;
4782 break;}
4783 case 221:
4784 #line 1080 "parse.y"
4785 { yyval.ttype = NULL_TREE; ;
4786 break;}
4787 case 222:
4788 #line 1082 "parse.y"
4789 {
4790 cp_error ("`%T' is not a valid expression", yyvsp[-1].ftype.t);
4791 yyval.ttype = error_mark_node;
4792 ;
4793 break;}
4794 case 223:
4795 #line 1090 "parse.y"
4796 {
4797 if (pedantic)
4798 pedwarn ("ANSI C++ forbids initialization of new expression with `='");
4799 if (TREE_CODE (yyvsp[0].ttype) != TREE_LIST
4800 && TREE_CODE (yyvsp[0].ttype) != CONSTRUCTOR)
4801 yyval.ttype = build_expr_list (NULL_TREE, yyvsp[0].ttype);
4802 else
4803 yyval.ttype = yyvsp[0].ttype;
4804 ;
4805 break;}
4806 case 224:
4807 #line 1104 "parse.y"
4808 { yyvsp[-1].ftype.t = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[-1].ftype.t), 0);
4809 yyval.ttype = make_call_declarator (NULL_TREE, yyvsp[-1].ftype.t, NULL_TREE, NULL_TREE);
4810 check_for_new_type ("cast", yyvsp[-1].ftype); ;
4811 break;}
4812 case 225:
4813 #line 1108 "parse.y"
4814 { yyvsp[-1].ftype.t = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[-1].ftype.t), 0);
4815 yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-1].ftype.t, NULL_TREE, NULL_TREE);
4816 check_for_new_type ("cast", yyvsp[-1].ftype); ;
4817 break;}
4818 case 227:
4819 #line 1116 "parse.y"
4820 { yyval.ttype = reparse_absdcl_as_casts (yyval.ttype, yyvsp[0].ttype); ;
4821 break;}
4822 case 228:
4823 #line 1118 "parse.y"
4824 {
4825 tree init = build_nt (CONSTRUCTOR, NULL_TREE,
4826 nreverse (yyvsp[-2].ttype));
4827 if (pedantic)
4828 pedwarn ("ANSI C++ forbids constructor-expressions");
4829 /* Indicate that this was a GNU C constructor expression. */
4830 TREE_HAS_CONSTRUCTOR (init) = 1;
4831
4832 yyval.ttype = reparse_absdcl_as_casts (yyval.ttype, init);
4833 ;
4834 break;}
4835 case 230:
4836 #line 1134 "parse.y"
4837 { yyval.ttype = build_x_binary_op (MEMBER_REF, yyval.ttype, yyvsp[0].ttype); ;
4838 break;}
4839 case 231:
4840 #line 1136 "parse.y"
4841 { yyval.ttype = build_m_component_ref (yyval.ttype, yyvsp[0].ttype); ;
4842 break;}
4843 case 232:
4844 #line 1138 "parse.y"
4845 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4846 break;}
4847 case 233:
4848 #line 1140 "parse.y"
4849 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4850 break;}
4851 case 234:
4852 #line 1142 "parse.y"
4853 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4854 break;}
4855 case 235:
4856 #line 1144 "parse.y"
4857 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4858 break;}
4859 case 236:
4860 #line 1146 "parse.y"
4861 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4862 break;}
4863 case 237:
4864 #line 1148 "parse.y"
4865 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4866 break;}
4867 case 238:
4868 #line 1150 "parse.y"
4869 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4870 break;}
4871 case 239:
4872 #line 1152 "parse.y"
4873 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4874 break;}
4875 case 240:
4876 #line 1154 "parse.y"
4877 { yyval.ttype = build_x_binary_op (LT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
4878 break;}
4879 case 241:
4880 #line 1156 "parse.y"
4881 { yyval.ttype = build_x_binary_op (GT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
4882 break;}
4883 case 242:
4884 #line 1158 "parse.y"
4885 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4886 break;}
4887 case 243:
4888 #line 1160 "parse.y"
4889 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4890 break;}
4891 case 244:
4892 #line 1162 "parse.y"
4893 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4894 break;}
4895 case 245:
4896 #line 1164 "parse.y"
4897 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4898 break;}
4899 case 246:
4900 #line 1166 "parse.y"
4901 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4902 break;}
4903 case 247:
4904 #line 1168 "parse.y"
4905 { yyval.ttype = build_x_binary_op (TRUTH_ANDIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
4906 break;}
4907 case 248:
4908 #line 1170 "parse.y"
4909 { yyval.ttype = build_x_binary_op (TRUTH_ORIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
4910 break;}
4911 case 249:
4912 #line 1172 "parse.y"
4913 { yyval.ttype = build_x_conditional_expr (yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
4914 break;}
4915 case 250:
4916 #line 1174 "parse.y"
4917 { yyval.ttype = build_x_modify_expr (yyval.ttype, NOP_EXPR, yyvsp[0].ttype);
4918 if (yyval.ttype != error_mark_node)
4919 C_SET_EXP_ORIGINAL_CODE (yyval.ttype, MODIFY_EXPR); ;
4920 break;}
4921 case 251:
4922 #line 1178 "parse.y"
4923 { yyval.ttype = build_x_modify_expr (yyval.ttype, yyvsp[-1].code, yyvsp[0].ttype); ;
4924 break;}
4925 case 252:
4926 #line 1180 "parse.y"
4927 { yyval.ttype = build_throw (NULL_TREE); ;
4928 break;}
4929 case 253:
4930 #line 1182 "parse.y"
4931 { yyval.ttype = build_throw (yyvsp[0].ttype); ;
4932 break;}
4933 case 254:
4934 #line 1200 "parse.y"
4935 { yyval.ttype = build_parse_node (BIT_NOT_EXPR, yyvsp[0].ttype); ;
4936 break;}
4937 case 260:
4938 #line 1209 "parse.y"
4939 { yyval.ttype = do_identifier (yyvsp[-1].ttype, 1); ;
4940 break;}
4941 case 261:
4942 #line 1213 "parse.y"
4943 { yyval.ttype = lookup_template_function (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4944 break;}
4945 case 262:
4946 #line 1215 "parse.y"
4947 { yyval.ttype = lookup_template_function (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4948 break;}
4949 case 263:
4950 #line 1220 "parse.y"
4951 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
4952 break;}
4953 case 264:
4954 #line 1222 "parse.y"
4955 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
4956 break;}
4957 case 265:
4958 #line 1225 "parse.y"
4959 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
4960 break;}
4961 case 270:
4962 #line 1237 "parse.y"
4963 { yyval.ttype = build_parse_node (INDIRECT_REF, yyvsp[0].ttype); ;
4964 break;}
4965 case 271:
4966 #line 1239 "parse.y"
4967 { yyval.ttype = build_parse_node (ADDR_EXPR, yyvsp[0].ttype); ;
4968 break;}
4969 case 272:
4970 #line 1241 "parse.y"
4971 { yyval.ttype = yyvsp[-1].ttype; ;
4972 break;}
4973 case 273:
4974 #line 1246 "parse.y"
4975 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
4976 break;}
4977 case 274:
4978 #line 1248 "parse.y"
4979 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
4980 break;}
4981 case 278:
4982 #line 1256 "parse.y"
4983 { yyval.ttype = finish_decl_parsing (yyvsp[-1].ttype); ;
4984 break;}
4985 case 279:
4986 #line 1261 "parse.y"
4987 {
4988 if (TREE_CODE (yyvsp[0].ttype) == BIT_NOT_EXPR)
4989 yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, TREE_OPERAND (yyvsp[0].ttype, 0));
4990 else
4991 yyval.ttype = finish_id_expr (yyvsp[0].ttype);
4992 ;
4993 break;}
4994 case 282:
4995 #line 1270 "parse.y"
4996 {
4997 if (processing_template_decl)
4998 push_obstacks (&permanent_obstack, &permanent_obstack);
4999 yyval.ttype = combine_strings (yyval.ttype);
5000 if (processing_template_decl)
5001 pop_obstacks ();
5002 ;
5003 break;}
5004 case 283:
5005 #line 1278 "parse.y"
5006 { yyval.ttype = finish_parenthesized_expr (yyvsp[-1].ttype); ;
5007 break;}
5008 case 284:
5009 #line 1280 "parse.y"
5010 { yyvsp[-1].ttype = reparse_decl_as_expr (NULL_TREE, yyvsp[-1].ttype);
5011 yyval.ttype = finish_parenthesized_expr (yyvsp[-1].ttype); ;
5012 break;}
5013 case 285:
5014 #line 1283 "parse.y"
5015 { yyval.ttype = error_mark_node; ;
5016 break;}
5017 case 286:
5018 #line 1285 "parse.y"
5019 { if (current_function_decl == 0)
5020 {
5021 error ("braced-group within expression allowed only inside a function");
5022 YYERROR;
5023 }
5024 if (pedantic)
5025 pedwarn ("ANSI C++ forbids braced-groups within expressions");
5026 yyval.ttype = begin_stmt_expr ();
5027 ;
5028 break;}
5029 case 287:
5030 #line 1295 "parse.y"
5031 { yyval.ttype = finish_stmt_expr (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
5032 break;}
5033 case 288:
5034 #line 1297 "parse.y"
5035 { yyval.ttype = finish_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5036 break;}
5037 case 289:
5038 #line 1299 "parse.y"
5039 { yyval.ttype = finish_call_expr (yyvsp[-1].ttype, NULL_TREE); ;
5040 break;}
5041 case 290:
5042 #line 1301 "parse.y"
5043 { yyval.ttype = grok_array_decl (yyval.ttype, yyvsp[-1].ttype); ;
5044 break;}
5045 case 291:
5046 #line 1303 "parse.y"
5047 { yyval.ttype = finish_increment_expr (yyvsp[-1].ttype, POSTINCREMENT_EXPR); ;
5048 break;}
5049 case 292:
5050 #line 1305 "parse.y"
5051 { yyval.ttype = finish_increment_expr (yyvsp[-1].ttype, POSTDECREMENT_EXPR); ;
5052 break;}
5053 case 293:
5054 #line 1308 "parse.y"
5055 { yyval.ttype = finish_this_expr (); ;
5056 break;}
5057 case 294:
5058 #line 1310 "parse.y"
5059 {
5060 tree type = NULL_TREE;
5061 tree id = yyval.ttype;
5062
5063 /* This is a C cast in C++'s `functional' notation. */
5064 if (yyvsp[-1].ttype == error_mark_node)
5065 {
5066 yyval.ttype = error_mark_node;
5067 break;
5068 }
5069 #if 0
5070 if (yyvsp[-1].ttype == NULL_TREE)
5071 {
5072 error ("cannot cast null list to type `%s'",
5073 IDENTIFIER_POINTER (TYPE_NAME (id)));
5074 yyval.ttype = error_mark_node;
5075 break;
5076 }
5077 #endif
5078 #if 0
5079 /* type is not set! (mrs) */
5080 if (type == error_mark_node)
5081 yyval.ttype = error_mark_node;
5082 else
5083 #endif
5084 {
5085 if (id == ridpointers[(int) RID_CONST])
5086 type = build_type_variant (integer_type_node, 1, 0);
5087 else if (id == ridpointers[(int) RID_VOLATILE])
5088 type = build_type_variant (integer_type_node, 0, 1);
5089 #if 0
5090 /* should not be able to get here (mrs) */
5091 else if (id == ridpointers[(int) RID_FRIEND])
5092 {
5093 error ("cannot cast expression to `friend' type");
5094 yyval.ttype = error_mark_node;
5095 break;
5096 }
5097 #endif
5098 else my_friendly_abort (79);
5099 yyval.ttype = build_c_cast (type, build_compound_expr (yyvsp[-1].ttype));
5100 }
5101 ;
5102 break;}
5103 case 296:
5104 #line 1355 "parse.y"
5105 { tree type = groktypename (yyvsp[-4].ftype.t);
5106 check_for_new_type ("dynamic_cast", yyvsp[-4].ftype);
5107 yyval.ttype = build_dynamic_cast (type, yyvsp[-1].ttype); ;
5108 break;}
5109 case 297:
5110 #line 1359 "parse.y"
5111 { tree type = groktypename (yyvsp[-4].ftype.t);
5112 check_for_new_type ("static_cast", yyvsp[-4].ftype);
5113 yyval.ttype = build_static_cast (type, yyvsp[-1].ttype); ;
5114 break;}
5115 case 298:
5116 #line 1363 "parse.y"
5117 { tree type = groktypename (yyvsp[-4].ftype.t);
5118 check_for_new_type ("reinterpret_cast", yyvsp[-4].ftype);
5119 yyval.ttype = build_reinterpret_cast (type, yyvsp[-1].ttype); ;
5120 break;}
5121 case 299:
5122 #line 1367 "parse.y"
5123 { tree type = groktypename (yyvsp[-4].ftype.t);
5124 check_for_new_type ("const_cast", yyvsp[-4].ftype);
5125 yyval.ttype = build_const_cast (type, yyvsp[-1].ttype); ;
5126 break;}
5127 case 300:
5128 #line 1371 "parse.y"
5129 { yyval.ttype = build_x_typeid (yyvsp[-1].ttype); ;
5130 break;}
5131 case 301:
5132 #line 1373 "parse.y"
5133 { tree type = groktypename (yyvsp[-1].ftype.t);
5134 check_for_new_type ("typeid", yyvsp[-1].ftype);
5135 yyval.ttype = get_typeid (TYPE_MAIN_VARIANT (type)); ;
5136 break;}
5137 case 302:
5138 #line 1377 "parse.y"
5139 { yyval.ttype = do_scoped_id (yyvsp[0].ttype, 1); ;
5140 break;}
5141 case 303:
5142 #line 1379 "parse.y"
5143 {
5144 got_scope = NULL_TREE;
5145 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
5146 yyval.ttype = do_scoped_id (yyvsp[0].ttype, 1);
5147 else
5148 yyval.ttype = yyvsp[0].ttype;
5149 ;
5150 break;}
5151 case 304:
5152 #line 1387 "parse.y"
5153 { yyval.ttype = build_offset_ref (OP0 (yyval.ttype), OP1 (yyval.ttype)); ;
5154 break;}
5155 case 305:
5156 #line 1389 "parse.y"
5157 { yyval.ttype = finish_globally_qualified_member_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5158 break;}
5159 case 306:
5160 #line 1391 "parse.y"
5161 { yyval.ttype = finish_globally_qualified_member_call_expr (yyvsp[-1].ttype, NULL_TREE); ;
5162 break;}
5163 case 307:
5164 #line 1393 "parse.y"
5165 {
5166 yyval.ttype = build_x_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1);
5167 ;
5168 break;}
5169 case 308:
5170 #line 1397 "parse.y"
5171 { yyval.ttype = finish_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
5172 break;}
5173 case 309:
5174 #line 1399 "parse.y"
5175 { yyval.ttype = finish_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ;
5176 break;}
5177 case 310:
5178 #line 1401 "parse.y"
5179 { yyval.ttype = build_x_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1); ;
5180 break;}
5181 case 311:
5182 #line 1403 "parse.y"
5183 { if (processing_template_decl)
5184 yyval.ttype = build_min_nt (COMPONENT_REF, yyvsp[-1].ttype, copy_to_permanent (yyvsp[0].ttype));
5185 else
5186 yyval.ttype = build_object_ref (yyval.ttype, OP0 (yyvsp[0].ttype), OP1 (yyvsp[0].ttype)); ;
5187 break;}
5188 case 312:
5189 #line 1408 "parse.y"
5190 { yyval.ttype = finish_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
5191 break;}
5192 case 313:
5193 #line 1410 "parse.y"
5194 { yyval.ttype = finish_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ;
5195 break;}
5196 case 314:
5197 #line 1412 "parse.y"
5198 { yyval.ttype = finish_qualified_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
5199 break;}
5200 case 315:
5201 #line 1414 "parse.y"
5202 { yyval.ttype = finish_qualified_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ;
5203 break;}
5204 case 316:
5205 #line 1417 "parse.y"
5206 { yyval.ttype = finish_pseudo_destructor_call_expr (yyvsp[-3].ttype, NULL_TREE, yyvsp[-1].ttype); ;
5207 break;}
5208 case 317:
5209 #line 1419 "parse.y"
5210 { yyval.ttype = finish_pseudo_destructor_call_expr (yyvsp[-5].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
5211 break;}
5212 case 318:
5213 #line 1421 "parse.y"
5214 {
5215 yyval.ttype = error_mark_node;
5216 ;
5217 break;}
5218 case 319:
5219 #line 1466 "parse.y"
5220 { yyval.itype = 0; ;
5221 break;}
5222 case 320:
5223 #line 1468 "parse.y"
5224 { got_scope = NULL_TREE; yyval.itype = 1; ;
5225 break;}
5226 case 321:
5227 #line 1473 "parse.y"
5228 { yyval.itype = 0; ;
5229 break;}
5230 case 322:
5231 #line 1475 "parse.y"
5232 { got_scope = NULL_TREE; yyval.itype = 1; ;
5233 break;}
5234 case 323:
5235 #line 1480 "parse.y"
5236 { yyval.ttype = boolean_true_node; ;
5237 break;}
5238 case 324:
5239 #line 1482 "parse.y"
5240 { yyval.ttype = boolean_false_node; ;
5241 break;}
5242 case 326:
5243 #line 1489 "parse.y"
5244 { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
5245 break;}
5246 case 327:
5247 #line 1494 "parse.y"
5248 {
5249 if (! current_function_parms_stored)
5250 store_parm_decls ();
5251 setup_vtbl_ptr ();
5252 /* Always keep the BLOCK node associated with the outermost
5253 pair of curley braces of a function. These are needed
5254 for correct operation of dwarfout.c. */
5255 keep_next_level ();
5256 ;
5257 break;}
5258 case 328:
5259 #line 1507 "parse.y"
5260 { got_object = TREE_TYPE (yyval.ttype); ;
5261 break;}
5262 case 329:
5263 #line 1509 "parse.y"
5264 {
5265 yyval.ttype = build_x_arrow (yyval.ttype);
5266 got_object = TREE_TYPE (yyval.ttype);
5267 ;
5268 break;}
5269 case 330:
5270 #line 1517 "parse.y"
5271 {
5272 resume_momentary (yyvsp[-1].itype);
5273 if (yyvsp[-2].ftype.t && IS_AGGR_TYPE_CODE (TREE_CODE (yyvsp[-2].ftype.t)))
5274 note_got_semicolon (yyvsp[-2].ftype.t);
5275 ;
5276 break;}
5277 case 331:
5278 #line 1523 "parse.y"
5279 {
5280 resume_momentary (yyvsp[-1].itype);
5281 note_list_got_semicolon (yyvsp[-2].ftype.t);
5282 ;
5283 break;}
5284 case 332:
5285 #line 1528 "parse.y"
5286 { resume_momentary (yyvsp[-1].itype); ;
5287 break;}
5288 case 333:
5289 #line 1530 "parse.y"
5290 {
5291 shadow_tag (yyvsp[-1].ftype.t);
5292 note_list_got_semicolon (yyvsp[-1].ftype.t);
5293 ;
5294 break;}
5295 case 334:
5296 #line 1535 "parse.y"
5297 { warning ("empty declaration"); ;
5298 break;}
5299 case 335:
5300 #line 1537 "parse.y"
5301 { pedantic = yyvsp[-1].itype; ;
5302 break;}
5303 case 338:
5304 #line 1551 "parse.y"
5305 { yyval.ttype = make_call_declarator (NULL_TREE, empty_parms (),
5306 NULL_TREE, NULL_TREE); ;
5307 break;}
5308 case 339:
5309 #line 1554 "parse.y"
5310 { yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), NULL_TREE,
5311 NULL_TREE); ;
5312 break;}
5313 case 340:
5314 #line 1561 "parse.y"
5315 { yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
5316 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5317 break;}
5318 case 341:
5319 #line 1564 "parse.y"
5320 { yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
5321 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5322 break;}
5323 case 342:
5324 #line 1567 "parse.y"
5325 { yyval.ftype.t = build_decl_list (get_decl_list (yyvsp[-1].ftype.t), yyvsp[0].ttype);
5326 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5327 break;}
5328 case 343:
5329 #line 1570 "parse.y"
5330 { yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE);
5331 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5332 break;}
5333 case 344:
5334 #line 1573 "parse.y"
5335 { yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE);
5336 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5337 break;}
5338 case 347:
5339 #line 1589 "parse.y"
5340 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ttype);
5341 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5342 break;}
5343 case 348:
5344 #line 1592 "parse.y"
5345 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype);
5346 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5347 break;}
5348 case 349:
5349 #line 1595 "parse.y"
5350 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-2].ftype.t, chainon (yyvsp[-1].ttype, yyvsp[0].ttype));
5351 yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ;
5352 break;}
5353 case 350:
5354 #line 1598 "parse.y"
5355 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ttype));
5356 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5357 break;}
5358 case 351:
5359 #line 1601 "parse.y"
5360 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ttype));
5361 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5362 break;}
5363 case 352:
5364 #line 1604 "parse.y"
5365 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-2].ftype.t,
5366 chainon (yyvsp[-1].ttype, chainon (yyvsp[0].ttype, yyvsp[-3].ttype)));
5367 yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ;
5368 break;}
5369 case 353:
5370 #line 1611 "parse.y"
5371 { if (extra_warnings)
5372 warning ("`%s' is not at beginning of declaration",
5373 IDENTIFIER_POINTER (yyval.ttype));
5374 yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
5375 break;}
5376 case 354:
5377 #line 1616 "parse.y"
5378 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyval.ttype); ;
5379 break;}
5380 case 355:
5381 #line 1618 "parse.y"
5382 { if (extra_warnings)
5383 warning ("`%s' is not at beginning of declaration",
5384 IDENTIFIER_POINTER (yyvsp[0].ttype));
5385 yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
5386 break;}
5387 case 356:
5388 #line 1623 "parse.y"
5389 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
5390 break;}
5391 case 357:
5392 #line 1625 "parse.y"
5393 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ;
5394 break;}
5395 case 358:
5396 #line 1635 "parse.y"
5397 { yyval.ttype = yyvsp[0].ftype.t; TREE_STATIC (yyval.ttype) = 1; ;
5398 break;}
5399 case 359:
5400 #line 1637 "parse.y"
5401 { yyval.ttype = IDENTIFIER_AS_LIST (yyval.ttype); ;
5402 break;}
5403 case 360:
5404 #line 1639 "parse.y"
5405 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype);
5406 TREE_STATIC (yyval.ttype) = 1; ;
5407 break;}
5408 case 361:
5409 #line 1642 "parse.y"
5410 { if (extra_warnings && TREE_STATIC (yyval.ttype))
5411 warning ("`%s' is not at beginning of declaration",
5412 IDENTIFIER_POINTER (yyvsp[0].ttype));
5413 yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype);
5414 TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
5415 break;}
5416 case 362:
5417 #line 1648 "parse.y"
5418 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
5419 break;}
5420 case 363:
5421 #line 1650 "parse.y"
5422 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ;
5423 break;}
5424 case 364:
5425 #line 1661 "parse.y"
5426 { yyval.ftype.t = get_decl_list (yyvsp[0].ftype.t);
5427 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5428 break;}
5429 case 365:
5430 #line 1664 "parse.y"
5431 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ftype.t);
5432 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5433 break;}
5434 case 366:
5435 #line 1667 "parse.y"
5436 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype);
5437 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5438 break;}
5439 case 367:
5440 #line 1670 "parse.y"
5441 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ftype.t));
5442 yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ;
5443 break;}
5444 case 368:
5445 #line 1676 "parse.y"
5446 { yyval.ttype = build_decl_list (NULL_TREE, yyvsp[0].ftype.t); ;
5447 break;}
5448 case 369:
5449 #line 1678 "parse.y"
5450 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ttype); ;
5451 break;}
5452 case 371:
5453 #line 1688 "parse.y"
5454 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5455 break;}
5456 case 372:
5457 #line 1690 "parse.y"
5458 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5459 break;}
5460 case 373:
5461 #line 1692 "parse.y"
5462 { yyval.ftype.t = TREE_TYPE (yyvsp[-1].ttype);
5463 yyval.ftype.new_type_flag = 0; ;
5464 break;}
5465 case 374:
5466 #line 1695 "parse.y"
5467 { yyval.ftype.t = groktypename (yyvsp[-1].ftype.t);
5468 yyval.ftype.new_type_flag = 0; ;
5469 break;}
5470 case 375:
5471 #line 1698 "parse.y"
5472 { tree type = TREE_TYPE (yyvsp[-1].ttype);
5473
5474 yyval.ftype.new_type_flag = 0;
5475 if (IS_AGGR_TYPE (type))
5476 {
5477 sorry ("sigof type specifier");
5478 yyval.ftype.t = type;
5479 }
5480 else
5481 {
5482 error ("`sigof' applied to non-aggregate expression");
5483 yyval.ftype.t = error_mark_node;
5484 }
5485 ;
5486 break;}
5487 case 376:
5488 #line 1713 "parse.y"
5489 { tree type = groktypename (yyvsp[-1].ftype.t);
5490
5491 yyval.ftype.new_type_flag = 0;
5492 if (IS_AGGR_TYPE (type))
5493 {
5494 sorry ("sigof type specifier");
5495 yyval.ftype.t = type;
5496 }
5497 else
5498 {
5499 error("`sigof' applied to non-aggregate type");
5500 yyval.ftype.t = error_mark_node;
5501 }
5502 ;
5503 break;}
5504 case 377:
5505 #line 1733 "parse.y"
5506 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5507 break;}
5508 case 378:
5509 #line 1735 "parse.y"
5510 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5511 break;}
5512 case 386:
5513 #line 1756 "parse.y"
5514 { yyval.ttype = NULL_TREE; ;
5515 break;}
5516 case 387:
5517 #line 1758 "parse.y"
5518 { if (TREE_CHAIN (yyvsp[-1].ttype)) yyvsp[-1].ttype = combine_strings (yyvsp[-1].ttype); yyval.ttype = yyvsp[-1].ttype; ;
5519 break;}
5520 case 388:
5521 #line 1763 "parse.y"
5522 { yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1,
5523 yyvsp[-1].ttype, prefix_attributes); ;
5524 break;}
5525 case 389:
5526 #line 1767 "parse.y"
5527 { cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 1, LOOKUP_ONLYCONVERTING); ;
5528 break;}
5529 case 390:
5530 #line 1769 "parse.y"
5531 { yyval.ttype = start_decl (yyvsp[-2].ttype, current_declspecs, 0,
5532 yyvsp[0].ttype, prefix_attributes);
5533 cp_finish_decl (yyval.ttype, NULL_TREE, yyvsp[-1].ttype, 1, 0); ;
5534 break;}
5535 case 391:
5536 #line 1782 "parse.y"
5537 { yyvsp[0].itype = parse_decl (yyvsp[-3].ttype, yyvsp[-4].ttype,
5538 yyvsp[-1].ttype, 1, &yyval.ttype); ;
5539 break;}
5540 case 392:
5541 #line 1787 "parse.y"
5542 { cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 1,
5543 LOOKUP_ONLYCONVERTING);
5544 yyval.itype = yyvsp[-2].itype; ;
5545 break;}
5546 case 393:
5547 #line 1791 "parse.y"
5548 { tree d;
5549 yyval.itype = parse_decl (yyvsp[-2].ttype, yyvsp[-3].ttype, yyvsp[0].ttype, 0, &d);
5550 cp_finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 1, 0); ;
5551 break;}
5552 case 394:
5553 #line 1798 "parse.y"
5554 { yyval.itype = yyvsp[0].itype; ;
5555 break;}
5556 case 395:
5557 #line 1802 "parse.y"
5558 { yyval.itype = yyvsp[0].itype; ;
5559 break;}
5560 case 396:
5561 #line 1807 "parse.y"
5562 { /* Set things up as initdcl0_innards expects. */
5563 yyval.ttype = yyvsp[-1].ttype;
5564 yyvsp[-1].ttype = NULL_TREE; ;
5565 break;}
5566 case 397:
5567 #line 1811 "parse.y"
5568 {;
5569 break;}
5570 case 398:
5571 #line 1813 "parse.y"
5572 { tree d;
5573 parse_decl(yyvsp[-2].ttype, NULL_TREE, yyvsp[0].ttype, 0, &d);
5574 cp_finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 1, 0); ;
5575 break;}
5576 case 399:
5577 #line 1822 "parse.y"
5578 { yyval.ttype = NULL_TREE; ;
5579 break;}
5580 case 400:
5581 #line 1824 "parse.y"
5582 { yyval.ttype = yyvsp[0].ttype; ;
5583 break;}
5584 case 401:
5585 #line 1829 "parse.y"
5586 { yyval.ttype = yyvsp[0].ttype; ;
5587 break;}
5588 case 402:
5589 #line 1831 "parse.y"
5590 { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ;
5591 break;}
5592 case 403:
5593 #line 1836 "parse.y"
5594 { yyval.ttype = yyvsp[-2].ttype; ;
5595 break;}
5596 case 404:
5597 #line 1841 "parse.y"
5598 { yyval.ttype = yyvsp[0].ttype; ;
5599 break;}
5600 case 405:
5601 #line 1843 "parse.y"
5602 { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
5603 break;}
5604 case 406:
5605 #line 1848 "parse.y"
5606 { yyval.ttype = NULL_TREE; ;
5607 break;}
5608 case 407:
5609 #line 1850 "parse.y"
5610 { yyval.ttype = build_tree_list (yyvsp[0].ttype, NULL_TREE); ;
5611 break;}
5612 case 408:
5613 #line 1852 "parse.y"
5614 { yyval.ttype = build_tree_list (yyvsp[-3].ttype, build_tree_list (NULL_TREE, yyvsp[-1].ttype)); ;
5615 break;}
5616 case 409:
5617 #line 1854 "parse.y"
5618 { yyval.ttype = build_tree_list (yyvsp[-5].ttype, tree_cons (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype)); ;
5619 break;}
5620 case 410:
5621 #line 1856 "parse.y"
5622 { yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5623 break;}
5624 case 415:
5625 #line 1872 "parse.y"
5626 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
5627 break;}
5628 case 416:
5629 #line 1874 "parse.y"
5630 { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
5631 break;}
5632 case 417:
5633 #line 1879 "parse.y"
5634 { yyval.ttype = NULL_TREE; ;
5635 break;}
5636 case 418:
5637 #line 1881 "parse.y"
5638 { yyval.ttype = yyvsp[0].ttype; ;
5639 break;}
5640 case 420:
5641 #line 1889 "parse.y"
5642 { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, NULL_TREE);
5643 TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
5644 break;}
5645 case 421:
5646 #line 1892 "parse.y"
5647 { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-1].ttype));
5648 TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
5649 break;}
5650 case 422:
5651 #line 1895 "parse.y"
5652 { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-2].ttype));
5653 TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
5654 break;}
5655 case 423:
5656 #line 1898 "parse.y"
5657 { yyval.ttype = NULL_TREE; ;
5658 break;}
5659 case 424:
5660 #line 1905 "parse.y"
5661 { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
5662 break;}
5663 case 425:
5664 #line 1907 "parse.y"
5665 { yyval.ttype = expr_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
5666 break;}
5667 case 426:
5668 #line 1910 "parse.y"
5669 { yyval.ttype = build_expr_list (yyvsp[-2].ttype, yyvsp[0].ttype); ;
5670 break;}
5671 case 427:
5672 #line 1912 "parse.y"
5673 { yyval.ttype = build_expr_list (yyval.ttype, yyvsp[0].ttype); ;
5674 break;}
5675 case 428:
5676 #line 1914 "parse.y"
5677 { yyval.ttype = expr_tree_cons (yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype); ;
5678 break;}
5679 case 429:
5680 #line 1919 "parse.y"
5681 { start_function (NULL_TREE, TREE_VALUE (yyvsp[0].ttype),
5682 NULL_TREE, 1);
5683 reinit_parse_for_function (); ;
5684 break;}
5685 case 430:
5686 #line 1925 "parse.y"
5687 {
5688 int nested = (hack_decl_function_context
5689 (current_function_decl) != NULL_TREE);
5690 finish_function (lineno, (int)yyvsp[-1].itype, nested);
5691 process_next_inline (yyvsp[-3].ttype);
5692 ;
5693 break;}
5694 case 431:
5695 #line 1932 "parse.y"
5696 { process_next_inline (yyvsp[-2].ttype); ;
5697 break;}
5698 case 432:
5699 #line 1934 "parse.y"
5700 { process_next_inline (yyvsp[-2].ttype); ;
5701 break;}
5702 case 435:
5703 #line 1946 "parse.y"
5704 { replace_defarg (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
5705 break;}
5706 case 436:
5707 #line 1948 "parse.y"
5708 { replace_defarg (yyvsp[-2].ttype, error_mark_node); ;
5709 break;}
5710 case 438:
5711 #line 1953 "parse.y"
5712 { do_pending_defargs (); ;
5713 break;}
5714 case 439:
5715 #line 1955 "parse.y"
5716 { do_pending_defargs (); ;
5717 break;}
5718 case 440:
5719 #line 1960 "parse.y"
5720 { yyvsp[0].itype = suspend_momentary ();
5721 yyval.ttype = start_enum (yyvsp[-1].ttype); ;
5722 break;}
5723 case 441:
5724 #line 1963 "parse.y"
5725 { yyval.ftype.t = finish_enum (yyvsp[-3].ttype, yyvsp[-2].ttype);
5726 yyval.ftype.new_type_flag = 1;
5727 resume_momentary ((int) yyvsp[-4].itype);
5728 check_for_missing_semicolon (yyvsp[-3].ttype); ;
5729 break;}
5730 case 442:
5731 #line 1968 "parse.y"
5732 { yyval.ftype.t = finish_enum (start_enum (yyvsp[-2].ttype), NULL_TREE);
5733 yyval.ftype.new_type_flag = 1;
5734 check_for_missing_semicolon (yyval.ftype.t); ;
5735 break;}
5736 case 443:
5737 #line 1972 "parse.y"
5738 { yyvsp[0].itype = suspend_momentary ();
5739 yyval.ttype = start_enum (make_anon_name ()); ;
5740 break;}
5741 case 444:
5742 #line 1975 "parse.y"
5743 { yyval.ftype.t = finish_enum (yyvsp[-3].ttype, yyvsp[-2].ttype);
5744 resume_momentary ((int) yyvsp[-5].itype);
5745 check_for_missing_semicolon (yyvsp[-3].ttype);
5746 yyval.ftype.new_type_flag = 1; ;
5747 break;}
5748 case 445:
5749 #line 1980 "parse.y"
5750 { yyval.ftype.t = finish_enum (start_enum (make_anon_name()), NULL_TREE);
5751 yyval.ftype.new_type_flag = 1;
5752 check_for_missing_semicolon (yyval.ftype.t); ;
5753 break;}
5754 case 446:
5755 #line 1984 "parse.y"
5756 { yyval.ftype.t = xref_tag (enum_type_node, yyvsp[0].ttype, NULL_TREE, 1);
5757 yyval.ftype.new_type_flag = 0; ;
5758 break;}
5759 case 447:
5760 #line 1987 "parse.y"
5761 { yyval.ftype.t = xref_tag (enum_type_node, yyvsp[0].ttype, NULL_TREE, 1);
5762 yyval.ftype.new_type_flag = 0; ;
5763 break;}
5764 case 448:
5765 #line 1990 "parse.y"
5766 { yyval.ftype.t = yyvsp[0].ttype;
5767 yyval.ftype.new_type_flag = 0; ;
5768 break;}
5769 case 449:
5770 #line 1995 "parse.y"
5771 {
5772 int semi;
5773
5774 if (yychar == YYEMPTY)
5775 yychar = YYLEX;
5776 semi = yychar == ';';
5777
5778 yyval.ttype = finish_class_definition (yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[0].ttype, semi);
5779 ;
5780 break;}
5781 case 450:
5782 #line 2005 "parse.y"
5783 { finish_default_args (); ;
5784 break;}
5785 case 451:
5786 #line 2007 "parse.y"
5787 { yyval.ftype.t = yyvsp[-3].ttype;
5788 yyval.ftype.new_type_flag = 1;
5789 begin_inline_definitions (); ;
5790 break;}
5791 case 452:
5792 #line 2011 "parse.y"
5793 {
5794 yyval.ftype.new_type_flag = 0;
5795 if (TYPE_BINFO (yyvsp[0].ttype) == NULL_TREE)
5796 {
5797 cp_error ("%T is not a class type", yyvsp[0].ttype);
5798 yyval.ftype.t = error_mark_node;
5799 }
5800 else
5801 {
5802 yyval.ftype.t = yyvsp[0].ttype;
5803 /* struct B: public A; is not accepted by the WP grammar. */
5804 if (TYPE_BINFO_BASETYPES (yyval.ftype.t) && !TYPE_SIZE (yyval.ftype.t)
5805 && ! TYPE_BEING_DEFINED (yyval.ftype.t))
5806 cp_error ("base clause without member specification for `%#T'",
5807 yyval.ftype.t);
5808 }
5809 ;
5810 break;}
5811 case 456:
5812 #line 2038 "parse.y"
5813 { if (pedantic && !in_system_header)
5814 pedwarn ("comma at end of enumerator list"); ;
5815 break;}
5816 case 458:
5817 #line 2045 "parse.y"
5818 { error ("storage class specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
5819 break;}
5820 case 459:
5821 #line 2047 "parse.y"
5822 { error ("type specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
5823 break;}
5824 case 460:
5825 #line 2049 "parse.y"
5826 { error ("type qualifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
5827 break;}
5828 case 461:
5829 #line 2051 "parse.y"
5830 { error ("no body nor ';' separates two class, struct or union declarations"); ;
5831 break;}
5832 case 462:
5833 #line 2056 "parse.y"
5834 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
5835 break;}
5836 case 463:
5837 #line 2061 "parse.y"
5838 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
5839 break;}
5840 case 464:
5841 #line 2066 "parse.y"
5842 {
5843 current_aggr = yyvsp[-2].ttype;
5844 yyval.ttype = handle_class_head (yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
5845 ;
5846 break;}
5847 case 465:
5848 #line 2071 "parse.y"
5849 {
5850 current_aggr = yyvsp[-3].ttype;
5851 yyval.ttype = handle_class_head (yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
5852 ;
5853 break;}
5854 case 466:
5855 #line 2076 "parse.y"
5856 {
5857 current_aggr = yyvsp[-2].ttype;
5858 yyval.ttype = handle_class_head (yyvsp[-2].ttype, NULL_TREE, yyvsp[0].ttype);
5859 ;
5860 break;}
5861 case 467:
5862 #line 2081 "parse.y"
5863 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
5864 break;}
5865 case 468:
5866 #line 2083 "parse.y"
5867 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
5868 break;}
5869 case 469:
5870 #line 2088 "parse.y"
5871 { yyval.ttype = xref_tag (current_aggr, yyvsp[0].ttype, NULL_TREE, 0); ;
5872 break;}
5873 case 470:
5874 #line 2093 "parse.y"
5875 { yyval.ttype = xref_tag (current_aggr, yyvsp[0].ttype, NULL_TREE, 1); ;
5876 break;}
5877 case 471:
5878 #line 2096 "parse.y"
5879 {
5880 yyval.ttype = yyvsp[-1].ttype;
5881 if (yyvsp[0].ttype)
5882 xref_basetypes (current_aggr, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
5883 ;
5884 break;}
5885 case 472:
5886 #line 2102 "parse.y"
5887 {
5888 yyval.ttype = TREE_TYPE (yyvsp[-1].ttype);
5889 if (TREE_INT_CST_LOW (current_aggr) == union_type
5890 && TREE_CODE (yyval.ttype) != UNION_TYPE)
5891 cp_pedwarn ("`union' tag used in declaring `%#T'", yyval.ttype);
5892 else if (TREE_CODE (yyval.ttype) == UNION_TYPE
5893 && TREE_INT_CST_LOW (current_aggr) != union_type)
5894 cp_pedwarn ("non-`union' tag used in declaring `%#T'", yyval.ttype);
5895 if (yyvsp[0].ttype)
5896 {
5897 if (IS_AGGR_TYPE (yyval.ttype) && CLASSTYPE_USE_TEMPLATE (yyval.ttype))
5898 {
5899 if (CLASSTYPE_IMPLICIT_INSTANTIATION (yyval.ttype)
5900 && TYPE_SIZE (yyval.ttype) == NULL_TREE)
5901 {
5902 SET_CLASSTYPE_TEMPLATE_SPECIALIZATION (yyval.ttype);
5903 if (processing_template_decl)
5904 push_template_decl (TYPE_MAIN_DECL (yyval.ttype));
5905 }
5906 else if (CLASSTYPE_TEMPLATE_INSTANTIATION (yyval.ttype))
5907 cp_error ("specialization after instantiation of `%T'", yyval.ttype);
5908 }
5909 xref_basetypes (current_aggr, yyvsp[-1].ttype, yyval.ttype, yyvsp[0].ttype);
5910 }
5911 ;
5912 break;}
5913 case 473:
5914 #line 2131 "parse.y"
5915 { yyval.ttype = xref_tag (yyval.ttype, make_anon_name (), NULL_TREE, 0);
5916 yyungetc ('{', 1); ;
5917 break;}
5918 case 476:
5919 #line 2142 "parse.y"
5920 { yyval.ttype = NULL_TREE; ;
5921 break;}
5922 case 477:
5923 #line 2144 "parse.y"
5924 { yyungetc(':', 1); yyval.ttype = NULL_TREE; ;
5925 break;}
5926 case 478:
5927 #line 2146 "parse.y"
5928 { yyval.ttype = yyvsp[0].ttype; ;
5929 break;}
5930 case 480:
5931 #line 2152 "parse.y"
5932 { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
5933 break;}
5934 case 481:
5935 #line 2157 "parse.y"
5936 {
5937 tree type = TREE_TYPE (yyvsp[0].ttype);
5938 if (! is_aggr_type (type, 1))
5939 yyval.ttype = NULL_TREE;
5940 else if (current_aggr == signature_type_node
5941 && (! type) && (! IS_SIGNATURE (type)))
5942 {
5943 error ("class name not allowed as base signature");
5944 yyval.ttype = NULL_TREE;
5945 }
5946 else if (current_aggr == signature_type_node)
5947 {
5948 sorry ("signature inheritance, base type `%s' ignored",
5949 IDENTIFIER_POINTER (yyval.ttype));
5950 yyval.ttype = build_tree_list (access_public_node, type);
5951 }
5952 else if (type && IS_SIGNATURE (type))
5953 {
5954 error ("signature name not allowed as base class");
5955 yyval.ttype = NULL_TREE;
5956 }
5957 else
5958 yyval.ttype = build_tree_list (access_default_node, type);
5959 ;
5960 break;}
5961 case 482:
5962 #line 2182 "parse.y"
5963 {
5964 tree type = TREE_TYPE (yyvsp[0].ttype);
5965 if (current_aggr == signature_type_node)
5966 error ("access and source specifiers not allowed in signature");
5967 if (! IS_AGGR_TYPE (type))
5968 yyval.ttype = NULL_TREE;
5969 else if (current_aggr == signature_type_node
5970 && (! type) && (! IS_SIGNATURE (type)))
5971 {
5972 error ("class name not allowed as base signature");
5973 yyval.ttype = NULL_TREE;
5974 }
5975 else if (current_aggr == signature_type_node)
5976 {
5977 sorry ("signature inheritance, base type `%s' ignored",
5978 IDENTIFIER_POINTER (yyval.ttype));
5979 yyval.ttype = build_tree_list (access_public_node, type);
5980 }
5981 else if (type && IS_SIGNATURE (type))
5982 {
5983 error ("signature name not allowed as base class");
5984 yyval.ttype = NULL_TREE;
5985 }
5986 else
5987 yyval.ttype = build_tree_list (yyval.ttype, type);
5988 ;
5989 break;}
5990 case 483:
5991 #line 2212 "parse.y"
5992 { yyval.ttype = TYPE_MAIN_DECL (yyvsp[0].ttype); ;
5993 break;}
5994 case 485:
5995 #line 2215 "parse.y"
5996 {
5997 if (current_aggr == signature_type_node)
5998 {
5999 if (IS_AGGR_TYPE (TREE_TYPE (yyvsp[-1].ttype)))
6000 {
6001 sorry ("`sigof' as base signature specifier");
6002 yyval.ttype = TREE_TYPE (yyvsp[-1].ttype);
6003 }
6004 else
6005 {
6006 error ("`sigof' applied to non-aggregate expression");
6007 yyval.ttype = error_mark_node;
6008 }
6009 }
6010 else
6011 {
6012 error ("`sigof' in struct or class declaration");
6013 yyval.ttype = error_mark_node;
6014 }
6015 ;
6016 break;}
6017 case 486:
6018 #line 2236 "parse.y"
6019 {
6020 if (current_aggr == signature_type_node)
6021 {
6022 if (IS_AGGR_TYPE (groktypename (yyvsp[-1].ftype.t)))
6023 {
6024 sorry ("`sigof' as base signature specifier");
6025 yyval.ttype = groktypename (yyvsp[-1].ftype.t);
6026 }
6027 else
6028 {
6029 error ("`sigof' applied to non-aggregate expression");
6030 yyval.ttype = error_mark_node;
6031 }
6032 }
6033 else
6034 {
6035 error ("`sigof' in struct or class declaration");
6036 yyval.ttype = error_mark_node;
6037 }
6038 ;
6039 break;}
6040 case 488:
6041 #line 2261 "parse.y"
6042 { if (yyvsp[-1].ttype != ridpointers[(int)RID_VIRTUAL])
6043 cp_error ("`%D' access", yyvsp[-1].ttype);
6044 yyval.ttype = access_default_virtual_node; ;
6045 break;}
6046 case 489:
6047 #line 2265 "parse.y"
6048 {
6049 if (yyvsp[-2].ttype != access_default_virtual_node)
6050 error ("multiple access specifiers");
6051 else if (yyvsp[-1].ttype == access_public_node)
6052 yyval.ttype = access_public_virtual_node;
6053 else if (yyvsp[-1].ttype == access_protected_node)
6054 yyval.ttype = access_protected_virtual_node;
6055 else /* $2 == access_private_node */
6056 yyval.ttype = access_private_virtual_node;
6057 ;
6058 break;}
6059 case 490:
6060 #line 2276 "parse.y"
6061 { if (yyvsp[-1].ttype != ridpointers[(int)RID_VIRTUAL])
6062 cp_error ("`%D' access", yyvsp[-1].ttype);
6063 else if (yyval.ttype == access_public_node)
6064 yyval.ttype = access_public_virtual_node;
6065 else if (yyval.ttype == access_protected_node)
6066 yyval.ttype = access_protected_virtual_node;
6067 else if (yyval.ttype == access_private_node)
6068 yyval.ttype = access_private_virtual_node;
6069 else
6070 error ("multiple `virtual' specifiers");
6071 ;
6072 break;}
6073 case 491:
6074 #line 2291 "parse.y"
6075 { yyvsp[-1].ttype = begin_class_definition (yyvsp[-1].ttype); ;
6076 break;}
6077 case 492:
6078 #line 2296 "parse.y"
6079 {
6080 yyval.ttype = build_self_reference ();
6081 ;
6082 break;}
6083 case 493:
6084 #line 2303 "parse.y"
6085 { if (yyval.ttype) yyval.ttype = build_tree_list (access_public_node, yyval.ttype); ;
6086 break;}
6087 case 494:
6088 #line 2305 "parse.y"
6089 {
6090 if (current_aggr == signature_type_node)
6091 yyval.ttype = build_tree_list (access_public_node, yyvsp[0].ttype);
6092 else
6093 yyval.ttype = build_tree_list (access_default_node, yyvsp[0].ttype);
6094 if (yyvsp[-1].ttype) yyval.ttype = tree_cons (access_public_node, yyvsp[-1].ttype, yyval.ttype);
6095 ;
6096 break;}
6097 case 495:
6098 #line 2313 "parse.y"
6099 {
6100 tree visspec = yyvsp[-2].ttype;
6101
6102 if (current_aggr == signature_type_node)
6103 {
6104 error ("access specifier not allowed in signature");
6105 visspec = access_public_node;
6106 }
6107 yyval.ttype = chainon (yyval.ttype, build_tree_list (visspec, yyvsp[0].ttype));
6108 ;
6109 break;}
6110 case 496:
6111 #line 2324 "parse.y"
6112 {
6113 if (current_aggr == signature_type_node)
6114 error ("access specifier not allowed in signature");
6115 ;
6116 break;}
6117 case 497:
6118 #line 2334 "parse.y"
6119 { if (yyval.ttype == void_type_node) yyval.ttype = NULL_TREE;
6120 ;
6121 break;}
6122 case 498:
6123 #line 2337 "parse.y"
6124 { /* In pushdecl, we created a reverse list of names
6125 in this binding level. Make sure that the chain
6126 of what we're trying to add isn't the item itself
6127 (which can happen with what pushdecl's doing). */
6128 if (yyvsp[0].ttype != NULL_TREE && yyvsp[0].ttype != void_type_node)
6129 {
6130 if (TREE_CHAIN (yyvsp[0].ttype) != yyval.ttype)
6131 yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype);
6132 else
6133 yyval.ttype = yyvsp[0].ttype;
6134 }
6135 ;
6136 break;}
6137 case 499:
6138 #line 2353 "parse.y"
6139 { ;
6140 break;}
6141 case 500:
6142 #line 2355 "parse.y"
6143 { error ("missing ';' before right brace");
6144 yyungetc ('}', 0); ;
6145 break;}
6146 case 501:
6147 #line 2360 "parse.y"
6148 { yyval.ttype = finish_method (yyval.ttype); ;
6149 break;}
6150 case 502:
6151 #line 2362 "parse.y"
6152 { yyval.ttype = finish_method (yyval.ttype); ;
6153 break;}
6154 case 503:
6155 #line 2364 "parse.y"
6156 { yyval.ttype = finish_method (yyval.ttype); ;
6157 break;}
6158 case 504:
6159 #line 2366 "parse.y"
6160 { yyval.ttype = finish_method (yyval.ttype); ;
6161 break;}
6162 case 505:
6163 #line 2368 "parse.y"
6164 { yyval.ttype = NULL_TREE; ;
6165 break;}
6166 case 506:
6167 #line 2370 "parse.y"
6168 { yyval.ttype = yyvsp[0].ttype;
6169 pedantic = yyvsp[-1].itype; ;
6170 break;}
6171 case 507:
6172 #line 2373 "parse.y"
6173 { yyval.ttype = finish_member_template_decl (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6174 break;}
6175 case 508:
6176 #line 2375 "parse.y"
6177 {
6178 note_list_got_semicolon (yyvsp[-1].ftype.t);
6179 grok_x_components (yyvsp[-1].ftype.t, NULL_TREE);
6180 if (TYPE_CONTEXT (TREE_VALUE (yyvsp[-1].ftype.t)) != current_class_type)
6181 /* The component was in fact a friend
6182 declaration. */
6183 yyvsp[-1].ftype.t = NULL_TREE;
6184 yyval.ttype = finish_member_template_decl (yyvsp[-2].ttype, yyvsp[-1].ftype.t);
6185 ;
6186 break;}
6187 case 509:
6188 #line 2391 "parse.y"
6189 { yyval.ttype = grok_x_components (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6190 break;}
6191 case 510:
6192 #line 2393 "parse.y"
6193 { yyval.ttype = grok_x_components (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6194 break;}
6195 case 511:
6196 #line 2395 "parse.y"
6197 { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
6198 build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
6199 break;}
6200 case 512:
6201 #line 2398 "parse.y"
6202 { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
6203 build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
6204 break;}
6205 case 513:
6206 #line 2401 "parse.y"
6207 { yyval.ttype = grokbitfield (NULL_TREE, NULL_TREE, yyvsp[0].ttype); ;
6208 break;}
6209 case 514:
6210 #line 2403 "parse.y"
6211 { yyval.ttype = NULL_TREE; ;
6212 break;}
6213 case 515:
6214 #line 2414 "parse.y"
6215 { tree specs, attrs;
6216 split_specs_attrs (yyvsp[-4].ttype, &specs, &attrs);
6217 yyval.ttype = grokfield (yyvsp[-3].ttype, specs, yyvsp[0].ttype, yyvsp[-2].ttype,
6218 build_tree_list (yyvsp[-1].ttype, attrs)); ;
6219 break;}
6220 case 516:
6221 #line 2419 "parse.y"
6222 { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
6223 build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
6224 break;}
6225 case 517:
6226 #line 2422 "parse.y"
6227 { yyval.ttype = do_class_using_decl (yyvsp[0].ttype); ;
6228 break;}
6229 case 518:
6230 #line 2428 "parse.y"
6231 { yyval.ttype = NULL_TREE; ;
6232 break;}
6233 case 520:
6234 #line 2431 "parse.y"
6235 {
6236 /* In this context, void_type_node encodes
6237 friends. They have been recorded elsewhere. */
6238 if (yyval.ttype == void_type_node)
6239 yyval.ttype = yyvsp[0].ttype;
6240 else
6241 yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype);
6242 ;
6243 break;}
6244 case 521:
6245 #line 2443 "parse.y"
6246 { yyval.ttype = NULL_TREE; ;
6247 break;}
6248 case 523:
6249 #line 2446 "parse.y"
6250 {
6251 /* In this context, void_type_node encodes
6252 friends. They have been recorded elsewhere. */
6253 if (yyval.ttype == void_type_node)
6254 yyval.ttype = yyvsp[0].ttype;
6255 else
6256 yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype);
6257 ;
6258 break;}
6259 case 528:
6260 #line 2468 "parse.y"
6261 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6262 &prefix_attributes);
6263 yyvsp[-4].ttype = current_declspecs;
6264 yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6265 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6266 break;}
6267 case 529:
6268 #line 2474 "parse.y"
6269 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6270 &prefix_attributes);
6271 yyvsp[-4].ttype = current_declspecs;
6272 yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6273 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6274 break;}
6275 case 530:
6276 #line 2483 "parse.y"
6277 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6278 &prefix_attributes);
6279 yyvsp[-4].ttype = current_declspecs;
6280 yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6281 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6282 break;}
6283 case 531:
6284 #line 2489 "parse.y"
6285 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6286 &prefix_attributes);
6287 yyvsp[-4].ttype = current_declspecs;
6288 yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6289 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6290 break;}
6291 case 532:
6292 #line 2495 "parse.y"
6293 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6294 &prefix_attributes);
6295 yyvsp[-4].ttype = current_declspecs;
6296 yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6297 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6298 break;}
6299 case 533:
6300 #line 2501 "parse.y"
6301 { split_specs_attrs (yyvsp[-3].ttype, &current_declspecs,
6302 &prefix_attributes);
6303 yyvsp[-3].ttype = current_declspecs;
6304 yyval.ttype = grokbitfield (NULL_TREE, current_declspecs, yyvsp[-1].ttype);
6305 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6306 break;}
6307 case 534:
6308 #line 2510 "parse.y"
6309 { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6310 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6311 break;}
6312 case 535:
6313 #line 2513 "parse.y"
6314 { yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6315 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6316 break;}
6317 case 536:
6318 #line 2519 "parse.y"
6319 { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6320 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6321 break;}
6322 case 537:
6323 #line 2522 "parse.y"
6324 { yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6325 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6326 break;}
6327 case 538:
6328 #line 2525 "parse.y"
6329 { yyval.ttype = grokbitfield (NULL_TREE, current_declspecs, yyvsp[-1].ttype);
6330 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6331 break;}
6332 case 540:
6333 #line 2536 "parse.y"
6334 { TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
6335 break;}
6336 case 541:
6337 #line 2541 "parse.y"
6338 { yyval.ttype = build_enumerator (yyval.ttype, NULL_TREE); ;
6339 break;}
6340 case 542:
6341 #line 2543 "parse.y"
6342 { yyval.ttype = build_enumerator (yyval.ttype, yyvsp[0].ttype); ;
6343 break;}
6344 case 543:
6345 #line 2549 "parse.y"
6346 { yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
6347 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
6348 break;}
6349 case 544:
6350 #line 2552 "parse.y"
6351 { yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE);
6352 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
6353 break;}
6354 case 545:
6355 #line 2557 "parse.y"
6356 {
6357 if (pedantic)
6358 pedwarn ("ANSI C++ forbids array dimensions with parenthesized type in new");
6359 yyval.ftype.t = build_parse_node (ARRAY_REF, TREE_VALUE (yyvsp[-4].ftype.t), yyvsp[-1].ttype);
6360 yyval.ftype.t = build_decl_list (TREE_PURPOSE (yyvsp[-4].ftype.t), yyval.ftype.t);
6361 yyval.ftype.new_type_flag = yyvsp[-4].ftype.new_type_flag;
6362 ;
6363 break;}
6364 case 546:
6365 #line 2568 "parse.y"
6366 { yyval.ttype = NULL_TREE; ;
6367 break;}
6368 case 547:
6369 #line 2570 "parse.y"
6370 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
6371 break;}
6372 case 548:
6373 #line 2575 "parse.y"
6374 { yyval.ftype.t = IDENTIFIER_AS_LIST (yyvsp[0].ttype);
6375 yyval.ftype.new_type_flag = 0; ;
6376 break;}
6377 case 549:
6378 #line 2578 "parse.y"
6379 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ftype.t);
6380 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
6381 break;}
6382 case 550:
6383 #line 2587 "parse.y"
6384 { yyval.itype = suspend_momentary (); ;
6385 break;}
6386 case 551:
6387 #line 2592 "parse.y"
6388 { resume_momentary ((int) yyvsp[-1].itype); yyval.ttype = yyvsp[0].ttype; ;
6389 break;}
6390 case 552:
6391 #line 2598 "parse.y"
6392 { resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = yyvsp[-1].ttype; ;
6393 break;}
6394 case 553:
6395 #line 2600 "parse.y"
6396 { resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = yyvsp[-1].ttype; ;
6397 break;}
6398 case 554:
6399 #line 2602 "parse.y"
6400 { resume_momentary ((int) yyvsp[-1].itype); yyval.ttype = empty_parms (); ;
6401 break;}
6402 case 555:
6403 #line 2604 "parse.y"
6404 { resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = NULL_TREE; ;
6405 break;}
6406 case 556:
6407 #line 2611 "parse.y"
6408 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6409 break;}
6410 case 557:
6411 #line 2613 "parse.y"
6412 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6413 break;}
6414 case 558:
6415 #line 2615 "parse.y"
6416 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
6417 break;}
6418 case 559:
6419 #line 2617 "parse.y"
6420 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
6421 break;}
6422 case 560:
6423 #line 2619 "parse.y"
6424 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
6425 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
6426 ;
6427 break;}
6428 case 562:
6429 #line 2627 "parse.y"
6430 {
6431 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6432 {
6433 yyval.ttype = lookup_name (yyvsp[0].ttype, 1);
6434 if (current_class_type
6435 && TYPE_BEING_DEFINED (current_class_type)
6436 && ! IDENTIFIER_CLASS_VALUE (yyvsp[0].ttype))
6437 {
6438 /* Remember that this name has been used in the class
6439 definition, as per [class.scope0] */
6440 pushdecl_class_level (yyval.ttype);
6441 }
6442 }
6443 else
6444 yyval.ttype = yyvsp[0].ttype;
6445 ;
6446 break;}
6447 case 563:
6448 #line 2644 "parse.y"
6449 {
6450 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6451 yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype);
6452 else
6453 yyval.ttype = yyvsp[0].ttype;
6454 got_scope = NULL_TREE;
6455 ;
6456 break;}
6457 case 566:
6458 #line 2657 "parse.y"
6459 { yyval.ttype = yyvsp[0].ttype; ;
6460 break;}
6461 case 567:
6462 #line 2662 "parse.y"
6463 { yyval.ttype = get_type_decl (yyvsp[0].ttype); ;
6464 break;}
6465 case 568:
6466 #line 2667 "parse.y"
6467 { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6468 break;}
6469 case 569:
6470 #line 2669 "parse.y"
6471 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
6472 break;}
6473 case 570:
6474 #line 2671 "parse.y"
6475 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
6476 break;}
6477 case 571:
6478 #line 2673 "parse.y"
6479 { yyval.ttype = yyvsp[-1].ttype; ;
6480 break;}
6481 case 572:
6482 #line 2675 "parse.y"
6483 { push_nested_class (yyvsp[-1].ttype, 3);
6484 yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype);
6485 TREE_COMPLEXITY (yyval.ttype) = current_class_depth; ;
6486 break;}
6487 case 574:
6488 #line 2686 "parse.y"
6489 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6490 break;}
6491 case 575:
6492 #line 2688 "parse.y"
6493 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6494 break;}
6495 case 576:
6496 #line 2690 "parse.y"
6497 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
6498 break;}
6499 case 577:
6500 #line 2692 "parse.y"
6501 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
6502 break;}
6503 case 578:
6504 #line 2694 "parse.y"
6505 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
6506 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
6507 ;
6508 break;}
6509 case 580:
6510 #line 2702 "parse.y"
6511 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6512 break;}
6513 case 581:
6514 #line 2704 "parse.y"
6515 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6516 break;}
6517 case 582:
6518 #line 2706 "parse.y"
6519 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
6520 break;}
6521 case 583:
6522 #line 2708 "parse.y"
6523 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
6524 break;}
6525 case 584:
6526 #line 2710 "parse.y"
6527 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
6528 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
6529 ;
6530 break;}
6531 case 586:
6532 #line 2718 "parse.y"
6533 { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6534 break;}
6535 case 587:
6536 #line 2720 "parse.y"
6537 { yyval.ttype = yyvsp[-1].ttype; ;
6538 break;}
6539 case 588:
6540 #line 2722 "parse.y"
6541 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
6542 break;}
6543 case 589:
6544 #line 2724 "parse.y"
6545 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
6546 break;}
6547 case 590:
6548 #line 2726 "parse.y"
6549 { if (OP0 (yyval.ttype) != current_class_type)
6550 {
6551 push_nested_class (OP0 (yyval.ttype), 3);
6552 TREE_COMPLEXITY (yyval.ttype) = current_class_depth;
6553 }
6554 ;
6555 break;}
6556 case 591:
6557 #line 2733 "parse.y"
6558 { got_scope = NULL_TREE;
6559 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype);
6560 if (yyvsp[-1].ttype != current_class_type)
6561 {
6562 push_nested_class (yyvsp[-1].ttype, 3);
6563 TREE_COMPLEXITY (yyval.ttype) = current_class_depth;
6564 }
6565 ;
6566 break;}
6567 case 592:
6568 #line 2745 "parse.y"
6569 { got_scope = NULL_TREE;
6570 yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ;
6571 break;}
6572 case 593:
6573 #line 2748 "parse.y"
6574 { got_scope = NULL_TREE;
6575 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6576 break;}
6577 case 594:
6578 #line 2754 "parse.y"
6579 { got_scope = NULL_TREE;
6580 yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ;
6581 break;}
6582 case 595:
6583 #line 2757 "parse.y"
6584 { got_scope = NULL_TREE;
6585 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6586 break;}
6587 case 597:
6588 #line 2764 "parse.y"
6589 { yyval.ttype = yyvsp[0].ttype; ;
6590 break;}
6591 case 598:
6592 #line 2769 "parse.y"
6593 { yyval.ttype = build_functional_cast (yyvsp[-3].ftype.t, yyvsp[-1].ttype); ;
6594 break;}
6595 case 599:
6596 #line 2771 "parse.y"
6597 { yyval.ttype = reparse_decl_as_expr (yyvsp[-3].ftype.t, yyvsp[-1].ttype); ;
6598 break;}
6599 case 600:
6600 #line 2773 "parse.y"
6601 { yyval.ttype = reparse_absdcl_as_expr (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6602 break;}
6603 case 605:
6604 #line 2785 "parse.y"
6605 { yyval.ttype = yyvsp[0].ttype; ;
6606 break;}
6607 case 606:
6608 #line 2787 "parse.y"
6609 { got_scope = yyval.ttype = make_typename_type (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
6610 break;}
6611 case 607:
6612 #line 2794 "parse.y"
6613 {
6614 if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE)
6615 {
6616 yyval.ttype = lastiddecl;
6617 /* Remember that this name has been used in the class
6618 definition, as per [class.scope0] */
6619 if (current_class_type
6620 && TYPE_BEING_DEFINED (current_class_type)
6621 && ! IDENTIFIER_CLASS_VALUE (yyvsp[-1].ttype))
6622 pushdecl_class_level (yyval.ttype);
6623 }
6624 got_scope = yyval.ttype = TREE_TYPE (yyval.ttype);
6625 ;
6626 break;}
6627 case 608:
6628 #line 2808 "parse.y"
6629 {
6630 if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE)
6631 yyval.ttype = lastiddecl;
6632 got_scope = yyval.ttype = TREE_TYPE (yyval.ttype);
6633 ;
6634 break;}
6635 case 609:
6636 #line 2814 "parse.y"
6637 {
6638 if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
6639 yyval.ttype = lastiddecl;
6640 got_scope = yyval.ttype;
6641 ;
6642 break;}
6643 case 610:
6644 #line 2820 "parse.y"
6645 { got_scope = yyval.ttype = complete_type (TREE_TYPE (yyvsp[-1].ttype)); ;
6646 break;}
6647 case 612:
6648 #line 2836 "parse.y"
6649 { yyval.ttype = yyvsp[0].ttype; ;
6650 break;}
6651 case 613:
6652 #line 2841 "parse.y"
6653 {
6654 if (TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype)) == 't')
6655 yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype);
6656 else if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6657 cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
6658 else
6659 {
6660 yyval.ttype = yyvsp[0].ttype;
6661 if (TREE_CODE (yyval.ttype) == TYPE_DECL)
6662 yyval.ttype = TREE_TYPE (yyval.ttype);
6663 }
6664 ;
6665 break;}
6666 case 614:
6667 #line 2854 "parse.y"
6668 { yyval.ttype = TREE_TYPE (yyvsp[0].ttype); ;
6669 break;}
6670 case 615:
6671 #line 2856 "parse.y"
6672 { yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6673 break;}
6674 case 616:
6675 #line 2858 "parse.y"
6676 { yyval.ttype = make_typename_type (yyvsp[-2].ttype, yyvsp[0].ttype); ;
6677 break;}
6678 case 617:
6679 #line 2863 "parse.y"
6680 {
6681 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6682 cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
6683 ;
6684 break;}
6685 case 618:
6686 #line 2868 "parse.y"
6687 {
6688 if (TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype)) == 't')
6689 yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype);
6690 else if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6691 cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
6692 else
6693 {
6694 yyval.ttype = yyvsp[0].ttype;
6695 if (TREE_CODE (yyval.ttype) == TYPE_DECL)
6696 yyval.ttype = TREE_TYPE (yyval.ttype);
6697 }
6698 ;
6699 break;}
6700 case 619:
6701 #line 2881 "parse.y"
6702 { got_scope = yyval.ttype = make_typename_type (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
6703 break;}
6704 case 620:
6705 #line 2883 "parse.y"
6706 { got_scope = yyval.ttype = make_typename_type (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
6707 break;}
6708 case 621:
6709 #line 2888 "parse.y"
6710 {
6711 if (TREE_CODE (yyvsp[-1].ttype) != IDENTIFIER_NODE)
6712 yyvsp[-1].ttype = lastiddecl;
6713
6714 /* Retrieve the type for the identifier, which might involve
6715 some computation. */
6716 got_scope = yyval.ttype = complete_type (IDENTIFIER_TYPE_VALUE (yyvsp[-1].ttype));
6717
6718 if (yyval.ttype == error_mark_node)
6719 cp_error ("`%T' is not a class or namespace", yyvsp[-1].ttype);
6720 ;
6721 break;}
6722 case 622:
6723 #line 2900 "parse.y"
6724 {
6725 if (TREE_CODE (yyvsp[-1].ttype) != IDENTIFIER_NODE)
6726 yyval.ttype = lastiddecl;
6727 got_scope = yyval.ttype = complete_type (TREE_TYPE (yyval.ttype));
6728 ;
6729 break;}
6730 case 623:
6731 #line 2906 "parse.y"
6732 { got_scope = yyval.ttype = complete_type (TREE_TYPE (yyval.ttype)); ;
6733 break;}
6734 case 626:
6735 #line 2910 "parse.y"
6736 {
6737 if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
6738 yyval.ttype = lastiddecl;
6739 got_scope = yyval.ttype;
6740 ;
6741 break;}
6742 case 627:
6743 #line 2919 "parse.y"
6744 { yyval.ttype = build_min_nt (TEMPLATE_ID_EXPR, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
6745 break;}
6746 case 628:
6747 #line 2924 "parse.y"
6748 {
6749 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6750 yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype);
6751 else
6752 yyval.ttype = yyvsp[0].ttype;
6753 got_scope = NULL_TREE;
6754 ;
6755 break;}
6756 case 630:
6757 #line 2933 "parse.y"
6758 { yyval.ttype = yyvsp[0].ttype; ;
6759 break;}
6760 case 631:
6761 #line 2938 "parse.y"
6762 { got_scope = NULL_TREE; ;
6763 break;}
6764 case 632:
6765 #line 2940 "parse.y"
6766 { yyval.ttype = yyvsp[-1].ttype; got_scope = NULL_TREE; ;
6767 break;}
6768 case 633:
6769 #line 2947 "parse.y"
6770 { got_scope = void_type_node; ;
6771 break;}
6772 case 634:
6773 #line 2953 "parse.y"
6774 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6775 break;}
6776 case 635:
6777 #line 2955 "parse.y"
6778 { yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ;
6779 break;}
6780 case 636:
6781 #line 2957 "parse.y"
6782 { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6783 break;}
6784 case 637:
6785 #line 2959 "parse.y"
6786 { yyval.ttype = make_reference_declarator (yyvsp[0].ttype, NULL_TREE); ;
6787 break;}
6788 case 638:
6789 #line 2961 "parse.y"
6790 { tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE);
6791 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, arg);
6792 ;
6793 break;}
6794 case 639:
6795 #line 2965 "parse.y"
6796 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
6797 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
6798 ;
6799 break;}
6800 case 641:
6801 #line 2974 "parse.y"
6802 { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
6803 break;}
6804 case 642:
6805 #line 2976 "parse.y"
6806 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
6807 break;}
6808 case 643:
6809 #line 2982 "parse.y"
6810 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6811 break;}
6812 case 644:
6813 #line 2984 "parse.y"
6814 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
6815 break;}
6816 case 645:
6817 #line 2986 "parse.y"
6818 { yyval.ttype = make_pointer_declarator (yyvsp[0].ftype.t, NULL_TREE); ;
6819 break;}
6820 case 646:
6821 #line 2988 "parse.y"
6822 { yyval.ttype = make_pointer_declarator (NULL_TREE, NULL_TREE); ;
6823 break;}
6824 case 647:
6825 #line 2990 "parse.y"
6826 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6827 break;}
6828 case 648:
6829 #line 2992 "parse.y"
6830 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
6831 break;}
6832 case 649:
6833 #line 2994 "parse.y"
6834 { yyval.ttype = make_reference_declarator (yyvsp[0].ftype.t, NULL_TREE); ;
6835 break;}
6836 case 650:
6837 #line 2996 "parse.y"
6838 { yyval.ttype = make_reference_declarator (NULL_TREE, NULL_TREE); ;
6839 break;}
6840 case 651:
6841 #line 2998 "parse.y"
6842 { tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE);
6843 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, arg);
6844 ;
6845 break;}
6846 case 652:
6847 #line 3002 "parse.y"
6848 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
6849 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
6850 ;
6851 break;}
6852 case 654:
6853 #line 3011 "parse.y"
6854 { yyval.ttype = yyvsp[-1].ttype; ;
6855 break;}
6856 case 656:
6857 #line 3015 "parse.y"
6858 { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6859 break;}
6860 case 657:
6861 #line 3017 "parse.y"
6862 { yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
6863 break;}
6864 case 658:
6865 #line 3019 "parse.y"
6866 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
6867 break;}
6868 case 659:
6869 #line 3021 "parse.y"
6870 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
6871 break;}
6872 case 660:
6873 #line 3023 "parse.y"
6874 { yyval.ttype = make_call_declarator (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6875 break;}
6876 case 661:
6877 #line 3025 "parse.y"
6878 { set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6879 break;}
6880 case 662:
6881 #line 3027 "parse.y"
6882 { set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6883 break;}
6884 case 663:
6885 #line 3029 "parse.y"
6886 { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
6887 break;}
6888 case 664:
6889 #line 3031 "parse.y"
6890 { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, NULL_TREE); ;
6891 break;}
6892 case 671:
6893 #line 3054 "parse.y"
6894 { if (pedantic)
6895 pedwarn ("ANSI C++ forbids label declarations"); ;
6896 break;}
6897 case 674:
6898 #line 3065 "parse.y"
6899 { tree link;
6900 for (link = yyvsp[-1].ttype; link; link = TREE_CHAIN (link))
6901 {
6902 tree label = shadow_label (TREE_VALUE (link));
6903 C_DECLARED_LABEL_FLAG (label) = 1;
6904 declare_nonlocal_label (label);
6905 }
6906 ;
6907 break;}
6908 case 675:
6909 #line 3079 "parse.y"
6910 {;
6911 break;}
6912 case 677:
6913 #line 3085 "parse.y"
6914 { yyval.ttype = begin_compound_stmt (0); ;
6915 break;}
6916 case 678:
6917 #line 3087 "parse.y"
6918 { yyval.ttype = finish_compound_stmt (0, yyvsp[-1].ttype); ;
6919 break;}
6920 case 679:
6921 #line 3092 "parse.y"
6922 {
6923 yyval.ttype = begin_if_stmt ();
6924 cond_stmt_keyword = "if";
6925 ;
6926 break;}
6927 case 680:
6928 #line 3097 "parse.y"
6929 { finish_if_stmt_cond (yyvsp[0].ttype, yyvsp[-1].ttype); ;
6930 break;}
6931 case 681:
6932 #line 3099 "parse.y"
6933 { yyval.ttype = finish_then_clause (yyvsp[-3].ttype); ;
6934 break;}
6935 case 683:
6936 #line 3104 "parse.y"
6937 { yyval.ttype = begin_compound_stmt (0); ;
6938 break;}
6939 case 684:
6940 #line 3106 "parse.y"
6941 { yyval.ttype = finish_compound_stmt (0, yyvsp[-1].ttype); ;
6942 break;}
6943 case 685:
6944 #line 3111 "parse.y"
6945 {;
6946 break;}
6947 case 687:
6948 #line 3117 "parse.y"
6949 { finish_stmt (); ;
6950 break;}
6951 case 688:
6952 #line 3119 "parse.y"
6953 { finish_expr_stmt (yyvsp[-1].ttype); ;
6954 break;}
6955 case 689:
6956 #line 3121 "parse.y"
6957 { begin_else_clause (); ;
6958 break;}
6959 case 690:
6960 #line 3123 "parse.y"
6961 {
6962 finish_else_clause (yyvsp[-3].ttype);
6963 finish_if_stmt ();
6964 ;
6965 break;}
6966 case 691:
6967 #line 3128 "parse.y"
6968 { finish_if_stmt (); ;
6969 break;}
6970 case 692:
6971 #line 3130 "parse.y"
6972 {
6973 yyval.ttype = begin_while_stmt ();
6974 cond_stmt_keyword = "while";
6975 ;
6976 break;}
6977 case 693:
6978 #line 3135 "parse.y"
6979 { finish_while_stmt_cond (yyvsp[0].ttype, yyvsp[-1].ttype); ;
6980 break;}
6981 case 694:
6982 #line 3137 "parse.y"
6983 { finish_while_stmt (yyvsp[-3].ttype); ;
6984 break;}
6985 case 695:
6986 #line 3139 "parse.y"
6987 { yyval.ttype = begin_do_stmt (); ;
6988 break;}
6989 case 696:
6990 #line 3141 "parse.y"
6991 {
6992 finish_do_body (yyvsp[-2].ttype);
6993 cond_stmt_keyword = "do";
6994 ;
6995 break;}
6996 case 697:
6997 #line 3146 "parse.y"
6998 { finish_do_stmt (yyvsp[-1].ttype, yyvsp[-5].ttype); ;
6999 break;}
7000 case 698:
7001 #line 3148 "parse.y"
7002 { yyval.ttype = begin_for_stmt (); ;
7003 break;}
7004 case 699:
7005 #line 3150 "parse.y"
7006 { finish_for_init_stmt (yyvsp[-2].ttype); ;
7007 break;}
7008 case 700:
7009 #line 3152 "parse.y"
7010 { finish_for_cond (yyvsp[-1].ttype, yyvsp[-5].ttype); ;
7011 break;}
7012 case 701:
7013 #line 3154 "parse.y"
7014 { finish_for_expr (yyvsp[-1].ttype, yyvsp[-8].ttype); ;
7015 break;}
7016 case 702:
7017 #line 3156 "parse.y"
7018 { finish_for_stmt (yyvsp[-3].ttype, yyvsp[-10].ttype); ;
7019 break;}
7020 case 703:
7021 #line 3158 "parse.y"
7022 { begin_switch_stmt (); ;
7023 break;}
7024 case 704:
7025 #line 3160 "parse.y"
7026 { yyval.ttype = finish_switch_cond (yyvsp[-1].ttype); ;
7027 break;}
7028 case 705:
7029 #line 3162 "parse.y"
7030 { finish_switch_stmt (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
7031 break;}
7032 case 706:
7033 #line 3164 "parse.y"
7034 { finish_case_label (yyvsp[-1].ttype, NULL_TREE); ;
7035 break;}
7036 case 708:
7037 #line 3167 "parse.y"
7038 { finish_case_label (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
7039 break;}
7040 case 710:
7041 #line 3170 "parse.y"
7042 { finish_case_label (NULL_TREE, NULL_TREE); ;
7043 break;}
7044 case 712:
7045 #line 3173 "parse.y"
7046 { finish_break_stmt (); ;
7047 break;}
7048 case 713:
7049 #line 3175 "parse.y"
7050 { finish_continue_stmt (); ;
7051 break;}
7052 case 714:
7053 #line 3177 "parse.y"
7054 { finish_return_stmt (NULL_TREE); ;
7055 break;}
7056 case 715:
7057 #line 3179 "parse.y"
7058 { finish_return_stmt (yyvsp[-1].ttype); ;
7059 break;}
7060 case 716:
7061 #line 3181 "parse.y"
7062 {
7063 finish_asm_stmt (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE,
7064 NULL_TREE);
7065 ;
7066 break;}
7067 case 717:
7068 #line 3187 "parse.y"
7069 {
7070 finish_asm_stmt (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE,
7071 NULL_TREE);
7072 ;
7073 break;}
7074 case 718:
7075 #line 3193 "parse.y"
7076 { finish_asm_stmt (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE); ;
7077 break;}
7078 case 719:
7079 #line 3197 "parse.y"
7080 { finish_asm_stmt (yyvsp[-10].ttype, yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype); ;
7081 break;}
7082 case 720:
7083 #line 3199 "parse.y"
7084 {
7085 if (pedantic)
7086 pedwarn ("ANSI C++ forbids computed gotos");
7087 finish_goto_stmt (yyvsp[-1].ttype);
7088 ;
7089 break;}
7090 case 721:
7091 #line 3205 "parse.y"
7092 { finish_goto_stmt (yyvsp[-1].ttype); ;
7093 break;}
7094 case 722:
7095 #line 3207 "parse.y"
7096 { finish_stmt (); ;
7097 break;}
7098 case 723:
7099 #line 3209 "parse.y"
7100 { error ("label must be followed by statement");
7101 yyungetc ('}', 0);
7102 finish_stmt (); ;
7103 break;}
7104 case 724:
7105 #line 3213 "parse.y"
7106 { finish_stmt (); ;
7107 break;}
7108 case 726:
7109 #line 3219 "parse.y"
7110 {
7111 if (! current_function_parms_stored)
7112 store_parm_decls ();
7113 expand_start_early_try_stmts ();
7114 ;
7115 break;}
7116 case 727:
7117 #line 3225 "parse.y"
7118 {
7119 expand_start_all_catch ();
7120 expand_start_catch (NULL);
7121 ;
7122 break;}
7123 case 728:
7124 #line 3230 "parse.y"
7125 {
7126 int nested = (hack_decl_function_context
7127 (current_function_decl) != NULL_TREE);
7128 expand_end_all_catch ();
7129 expand_end_catch ();
7130 finish_function (lineno, (int)yyvsp[-3].itype, nested);
7131 ;
7132 break;}
7133 case 729:
7134 #line 3241 "parse.y"
7135 { yyval.ttype = begin_try_block (); ;
7136 break;}
7137 case 730:
7138 #line 3243 "parse.y"
7139 { finish_try_block (yyvsp[-1].ttype); ;
7140 break;}
7141 case 731:
7142 #line 3245 "parse.y"
7143 { finish_handler_sequence (yyvsp[-3].ttype); ;
7144 break;}
7145 case 734:
7146 #line 3255 "parse.y"
7147 { yyval.ttype = begin_handler(); ;
7148 break;}
7149 case 735:
7150 #line 3257 "parse.y"
7151 { finish_handler_parms (yyvsp[-1].ttype); ;
7152 break;}
7153 case 736:
7154 #line 3259 "parse.y"
7155 { finish_handler (yyvsp[-3].ttype); ;
7156 break;}
7157 case 739:
7158 #line 3269 "parse.y"
7159 { expand_start_catch_block (NULL_TREE, NULL_TREE); ;
7160 break;}
7161 case 740:
7162 #line 3285 "parse.y"
7163 { check_for_new_type ("inside exception declarations", yyvsp[-1].ftype);
7164 expand_start_catch_block (TREE_PURPOSE (yyvsp[-1].ftype.t),
7165 TREE_VALUE (yyvsp[-1].ftype.t)); ;
7166 break;}
7167 case 741:
7168 #line 3292 "parse.y"
7169 { tree label;
7170 do_label:
7171 label = define_label (input_filename, lineno, yyvsp[-1].ttype);
7172 if (label && ! minimal_parse_mode)
7173 expand_label (label);
7174 ;
7175 break;}
7176 case 742:
7177 #line 3299 "parse.y"
7178 { goto do_label; ;
7179 break;}
7180 case 743:
7181 #line 3301 "parse.y"
7182 { goto do_label; ;
7183 break;}
7184 case 744:
7185 #line 3303 "parse.y"
7186 { goto do_label; ;
7187 break;}
7188 case 745:
7189 #line 3308 "parse.y"
7190 { if (yyvsp[-1].ttype) cplus_expand_expr_stmt (yyvsp[-1].ttype); ;
7191 break;}
7192 case 747:
7193 #line 3311 "parse.y"
7194 { if (pedantic)
7195 pedwarn ("ANSI C++ forbids compound statements inside for initializations");
7196 ;
7197 break;}
7198 case 748:
7199 #line 3320 "parse.y"
7200 { emit_line_note (input_filename, lineno);
7201 yyval.ttype = NULL_TREE; ;
7202 break;}
7203 case 749:
7204 #line 3323 "parse.y"
7205 { emit_line_note (input_filename, lineno); ;
7206 break;}
7207 case 750:
7208 #line 3328 "parse.y"
7209 { yyval.ttype = NULL_TREE; ;
7210 break;}
7211 case 752:
7212 #line 3331 "parse.y"
7213 { yyval.ttype = NULL_TREE; ;
7214 break;}
7215 case 753:
7216 #line 3338 "parse.y"
7217 { yyval.ttype = NULL_TREE; ;
7218 break;}
7219 case 756:
7220 #line 3345 "parse.y"
7221 { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
7222 break;}
7223 case 757:
7224 #line 3350 "parse.y"
7225 { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[-1].ttype); ;
7226 break;}
7227 case 758:
7228 #line 3355 "parse.y"
7229 { yyval.ttype = tree_cons (NULL_TREE, yyval.ttype, NULL_TREE); ;
7230 break;}
7231 case 759:
7232 #line 3357 "parse.y"
7233 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
7234 break;}
7235 case 760:
7236 #line 3368 "parse.y"
7237 {
7238 yyval.ttype = empty_parms();
7239 ;
7240 break;}
7241 case 762:
7242 #line 3373 "parse.y"
7243 { yyval.ttype = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[0].ftype.t), 0);
7244 check_for_new_type ("inside parameter list", yyvsp[0].ftype); ;
7245 break;}
7246 case 763:
7247 #line 3381 "parse.y"
7248 { yyval.ttype = finish_parmlist (yyval.ttype, 0); ;
7249 break;}
7250 case 764:
7251 #line 3383 "parse.y"
7252 { yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 1); ;
7253 break;}
7254 case 765:
7255 #line 3386 "parse.y"
7256 { yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 1); ;
7257 break;}
7258 case 766:
7259 #line 3388 "parse.y"
7260 { yyval.ttype = finish_parmlist (build_tree_list (NULL_TREE,
7261 yyvsp[-1].ftype.t), 1); ;
7262 break;}
7263 case 767:
7264 #line 3391 "parse.y"
7265 { yyval.ttype = finish_parmlist (NULL_TREE, 1); ;
7266 break;}
7267 case 768:
7268 #line 3393 "parse.y"
7269 {
7270 /* This helps us recover from really nasty
7271 parse errors, for example, a missing right
7272 parenthesis. */
7273 yyerror ("possibly missing ')'");
7274 yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 0);
7275 yyungetc (':', 0);
7276 yychar = ')';
7277 ;
7278 break;}
7279 case 769:
7280 #line 3403 "parse.y"
7281 {
7282 /* This helps us recover from really nasty
7283 parse errors, for example, a missing right
7284 parenthesis. */
7285 yyerror ("possibly missing ')'");
7286 yyval.ttype = finish_parmlist (build_tree_list (NULL_TREE,
7287 yyvsp[-1].ftype.t), 0);
7288 yyungetc (':', 0);
7289 yychar = ')';
7290 ;
7291 break;}
7292 case 770:
7293 #line 3418 "parse.y"
7294 { maybe_snarf_defarg (); ;
7295 break;}
7296 case 771:
7297 #line 3420 "parse.y"
7298 { yyval.ttype = yyvsp[0].ttype; ;
7299 break;}
7300 case 774:
7301 #line 3431 "parse.y"
7302 { check_for_new_type ("in a parameter list", yyvsp[0].ftype);
7303 yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ftype.t); ;
7304 break;}
7305 case 775:
7306 #line 3434 "parse.y"
7307 { check_for_new_type ("in a parameter list", yyvsp[-1].ftype);
7308 yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-1].ftype.t); ;
7309 break;}
7310 case 776:
7311 #line 3437 "parse.y"
7312 { check_for_new_type ("in a parameter list", yyvsp[0].ftype);
7313 yyval.ttype = chainon (yyval.ttype, yyvsp[0].ftype.t); ;
7314 break;}
7315 case 777:
7316 #line 3440 "parse.y"
7317 { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
7318 break;}
7319 case 778:
7320 #line 3442 "parse.y"
7321 { yyval.ttype = chainon (yyval.ttype, build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype)); ;
7322 break;}
7323 case 780:
7324 #line 3448 "parse.y"
7325 { check_for_new_type ("in a parameter list", yyvsp[-1].ftype);
7326 yyval.ttype = build_tree_list (NULL_TREE, yyvsp[-1].ftype.t); ;
7327 break;}
7328 case 781:
7329 #line 3458 "parse.y"
7330 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
7331 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag;
7332 yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype); ;
7333 break;}
7334 case 782:
7335 #line 3462 "parse.y"
7336 { yyval.ftype.t = build_tree_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
7337 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
7338 break;}
7339 case 783:
7340 #line 3465 "parse.y"
7341 { yyval.ftype.t = build_tree_list (get_decl_list (yyvsp[-1].ftype.t), yyvsp[0].ttype);
7342 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
7343 break;}
7344 case 784:
7345 #line 3468 "parse.y"
7346 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
7347 yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype);
7348 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
7349 break;}
7350 case 785:
7351 #line 3472 "parse.y"
7352 { tree specs = strip_attrs (yyvsp[0].ftype.t);
7353 yyval.ftype.t = build_tree_list (specs, NULL_TREE);
7354 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
7355 break;}
7356 case 786:
7357 #line 3476 "parse.y"
7358 { tree specs = strip_attrs (yyvsp[-1].ttype);
7359 yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype);
7360 yyval.ftype.new_type_flag = 0; ;
7361 break;}
7362 case 787:
7363 #line 3483 "parse.y"
7364 { yyval.ftype.t = build_tree_list (NULL_TREE, yyvsp[0].ftype.t);
7365 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
7366 break;}
7367 case 788:
7368 #line 3486 "parse.y"
7369 { yyval.ftype.t = build_tree_list (yyvsp[0].ttype, yyvsp[-1].ftype.t);
7370 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
7371 break;}
7372 case 791:
7373 #line 3497 "parse.y"
7374 { see_typename (); ;
7375 break;}
7376 case 792:
7377 #line 3502 "parse.y"
7378 {
7379 error ("type specifier omitted for parameter");
7380 yyval.ttype = build_tree_list (integer_type_node, NULL_TREE);
7381 ;
7382 break;}
7383 case 793:
7384 #line 3507 "parse.y"
7385 {
7386 error ("type specifier omitted for parameter");
7387 if (TREE_CODE (yyval.ttype) == SCOPE_REF
7388 && (TREE_CODE (TREE_OPERAND (yyval.ttype, 0)) == TEMPLATE_TYPE_PARM
7389 || TREE_CODE (TREE_OPERAND (yyval.ttype, 0)) == TEMPLATE_TEMPLATE_PARM))
7390 cp_error (" perhaps you want `typename %E' to make it a type", yyval.ttype);
7391 yyval.ttype = build_tree_list (integer_type_node, yyval.ttype);
7392 ;
7393 break;}
7394 case 794:
7395 #line 3519 "parse.y"
7396 { yyval.ttype = NULL_TREE; ;
7397 break;}
7398 case 795:
7399 #line 3521 "parse.y"
7400 { yyval.ttype = yyvsp[-1].ttype; ;
7401 break;}
7402 case 796:
7403 #line 3523 "parse.y"
7404 { yyval.ttype = build_decl_list (NULL_TREE, NULL_TREE); ;
7405 break;}
7406 case 797:
7407 #line 3528 "parse.y"
7408 { yyval.ttype = build_decl_list (NULL_TREE, groktypename(yyvsp[0].ftype.t)); ;
7409 break;}
7410 case 799:
7411 #line 3534 "parse.y"
7412 {
7413 TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype;
7414 yyval.ttype = yyvsp[0].ttype;
7415 ;
7416 break;}
7417 case 800:
7418 #line 3542 "parse.y"
7419 { yyval.ttype = NULL_TREE; ;
7420 break;}
7421 case 801:
7422 #line 3544 "parse.y"
7423 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
7424 break;}
7425 case 802:
7426 #line 3546 "parse.y"
7427 { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
7428 break;}
7429 case 803:
7430 #line 3548 "parse.y"
7431 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
7432 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
7433 ;
7434 break;}
7435 case 804:
7436 #line 3555 "parse.y"
7437 { got_scope = NULL_TREE; ;
7438 break;}
7439 case 805:
7440 #line 3560 "parse.y"
7441 { yyval.ttype = ansi_opname[MULT_EXPR]; ;
7442 break;}
7443 case 806:
7444 #line 3562 "parse.y"
7445 { yyval.ttype = ansi_opname[TRUNC_DIV_EXPR]; ;
7446 break;}
7447 case 807:
7448 #line 3564 "parse.y"
7449 { yyval.ttype = ansi_opname[TRUNC_MOD_EXPR]; ;
7450 break;}
7451 case 808:
7452 #line 3566 "parse.y"
7453 { yyval.ttype = ansi_opname[PLUS_EXPR]; ;
7454 break;}
7455 case 809:
7456 #line 3568 "parse.y"
7457 { yyval.ttype = ansi_opname[MINUS_EXPR]; ;
7458 break;}
7459 case 810:
7460 #line 3570 "parse.y"
7461 { yyval.ttype = ansi_opname[BIT_AND_EXPR]; ;
7462 break;}
7463 case 811:
7464 #line 3572 "parse.y"
7465 { yyval.ttype = ansi_opname[BIT_IOR_EXPR]; ;
7466 break;}
7467 case 812:
7468 #line 3574 "parse.y"
7469 { yyval.ttype = ansi_opname[BIT_XOR_EXPR]; ;
7470 break;}
7471 case 813:
7472 #line 3576 "parse.y"
7473 { yyval.ttype = ansi_opname[BIT_NOT_EXPR]; ;
7474 break;}
7475 case 814:
7476 #line 3578 "parse.y"
7477 { yyval.ttype = ansi_opname[COMPOUND_EXPR]; ;
7478 break;}
7479 case 815:
7480 #line 3580 "parse.y"
7481 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7482 break;}
7483 case 816:
7484 #line 3582 "parse.y"
7485 { yyval.ttype = ansi_opname[LT_EXPR]; ;
7486 break;}
7487 case 817:
7488 #line 3584 "parse.y"
7489 { yyval.ttype = ansi_opname[GT_EXPR]; ;
7490 break;}
7491 case 818:
7492 #line 3586 "parse.y"
7493 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7494 break;}
7495 case 819:
7496 #line 3588 "parse.y"
7497 { yyval.ttype = ansi_assopname[yyvsp[0].code]; ;
7498 break;}
7499 case 820:
7500 #line 3590 "parse.y"
7501 { yyval.ttype = ansi_opname [MODIFY_EXPR]; ;
7502 break;}
7503 case 821:
7504 #line 3592 "parse.y"
7505 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7506 break;}
7507 case 822:
7508 #line 3594 "parse.y"
7509 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7510 break;}
7511 case 823:
7512 #line 3596 "parse.y"
7513 { yyval.ttype = ansi_opname[POSTINCREMENT_EXPR]; ;
7514 break;}
7515 case 824:
7516 #line 3598 "parse.y"
7517 { yyval.ttype = ansi_opname[PREDECREMENT_EXPR]; ;
7518 break;}
7519 case 825:
7520 #line 3600 "parse.y"
7521 { yyval.ttype = ansi_opname[TRUTH_ANDIF_EXPR]; ;
7522 break;}
7523 case 826:
7524 #line 3602 "parse.y"
7525 { yyval.ttype = ansi_opname[TRUTH_ORIF_EXPR]; ;
7526 break;}
7527 case 827:
7528 #line 3604 "parse.y"
7529 { yyval.ttype = ansi_opname[TRUTH_NOT_EXPR]; ;
7530 break;}
7531 case 828:
7532 #line 3606 "parse.y"
7533 { yyval.ttype = ansi_opname[COND_EXPR]; ;
7534 break;}
7535 case 829:
7536 #line 3608 "parse.y"
7537 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7538 break;}
7539 case 830:
7540 #line 3610 "parse.y"
7541 { yyval.ttype = ansi_opname[COMPONENT_REF]; ;
7542 break;}
7543 case 831:
7544 #line 3612 "parse.y"
7545 { yyval.ttype = ansi_opname[MEMBER_REF]; ;
7546 break;}
7547 case 832:
7548 #line 3614 "parse.y"
7549 { yyval.ttype = ansi_opname[CALL_EXPR]; ;
7550 break;}
7551 case 833:
7552 #line 3616 "parse.y"
7553 { yyval.ttype = ansi_opname[ARRAY_REF]; ;
7554 break;}
7555 case 834:
7556 #line 3618 "parse.y"
7557 { yyval.ttype = ansi_opname[NEW_EXPR]; ;
7558 break;}
7559 case 835:
7560 #line 3620 "parse.y"
7561 { yyval.ttype = ansi_opname[DELETE_EXPR]; ;
7562 break;}
7563 case 836:
7564 #line 3622 "parse.y"
7565 { yyval.ttype = ansi_opname[VEC_NEW_EXPR]; ;
7566 break;}
7567 case 837:
7568 #line 3624 "parse.y"
7569 { yyval.ttype = ansi_opname[VEC_DELETE_EXPR]; ;
7570 break;}
7571 case 838:
7572 #line 3627 "parse.y"
7573 { yyval.ttype = grokoptypename (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7574 break;}
7575 case 839:
7576 #line 3629 "parse.y"
7577 { yyval.ttype = ansi_opname[ERROR_MARK]; ;
7578 break;}
7579 }
7580 /* the action file gets copied in in place of this dollarsign */
7581 #line 498 "/usr/lib/bison.simple"
7582 \f
7583 yyvsp -= yylen;
7584 yyssp -= yylen;
7585 #ifdef YYLSP_NEEDED
7586 yylsp -= yylen;
7587 #endif
7588
7589 #if YYDEBUG != 0
7590 if (yydebug)
7591 {
7592 short *ssp1 = yyss - 1;
7593 fprintf (stderr, "state stack now");
7594 while (ssp1 != yyssp)
7595 fprintf (stderr, " %d", *++ssp1);
7596 fprintf (stderr, "\n");
7597 }
7598 #endif
7599
7600 *++yyvsp = yyval;
7601
7602 #ifdef YYLSP_NEEDED
7603 yylsp++;
7604 if (yylen == 0)
7605 {
7606 yylsp->first_line = yylloc.first_line;
7607 yylsp->first_column = yylloc.first_column;
7608 yylsp->last_line = (yylsp-1)->last_line;
7609 yylsp->last_column = (yylsp-1)->last_column;
7610 yylsp->text = 0;
7611 }
7612 else
7613 {
7614 yylsp->last_line = (yylsp+yylen-1)->last_line;
7615 yylsp->last_column = (yylsp+yylen-1)->last_column;
7616 }
7617 #endif
7618
7619 /* Now "shift" the result of the reduction.
7620 Determine what state that goes to,
7621 based on the state we popped back to
7622 and the rule number reduced by. */
7623
7624 yyn = yyr1[yyn];
7625
7626 yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
7627 if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
7628 yystate = yytable[yystate];
7629 else
7630 yystate = yydefgoto[yyn - YYNTBASE];
7631
7632 goto yynewstate;
7633
7634 yyerrlab: /* here on detecting error */
7635
7636 if (! yyerrstatus)
7637 /* If not already recovering from an error, report this error. */
7638 {
7639 ++yynerrs;
7640
7641 #ifdef YYERROR_VERBOSE
7642 yyn = yypact[yystate];
7643
7644 if (yyn > YYFLAG && yyn < YYLAST)
7645 {
7646 int size = 0;
7647 char *msg;
7648 int x, count;
7649
7650 count = 0;
7651 /* Start X at -yyn if nec to avoid negative indexes in yycheck. */
7652 for (x = (yyn < 0 ? -yyn : 0);
7653 x < (sizeof(yytname) / sizeof(char *)); x++)
7654 if (yycheck[x + yyn] == x)
7655 size += strlen(yytname[x]) + 15, count++;
7656 msg = (char *) malloc(size + 15);
7657 if (msg != 0)
7658 {
7659 strcpy(msg, "parse error");
7660
7661 if (count < 5)
7662 {
7663 count = 0;
7664 for (x = (yyn < 0 ? -yyn : 0);
7665 x < (sizeof(yytname) / sizeof(char *)); x++)
7666 if (yycheck[x + yyn] == x)
7667 {
7668 strcat(msg, count == 0 ? ", expecting `" : " or `");
7669 strcat(msg, yytname[x]);
7670 strcat(msg, "'");
7671 count++;
7672 }
7673 }
7674 yyerror(msg);
7675 free(msg);
7676 }
7677 else
7678 yyerror ("parse error; also virtual memory exceeded");
7679 }
7680 else
7681 #endif /* YYERROR_VERBOSE */
7682 yyerror("parse error");
7683 }
7684
7685 goto yyerrlab1;
7686 yyerrlab1: /* here on error raised explicitly by an action */
7687
7688 if (yyerrstatus == 3)
7689 {
7690 /* if just tried and failed to reuse lookahead token after an error, discard it. */
7691
7692 /* return failure if at end of input */
7693 if (yychar == YYEOF)
7694 YYABORT;
7695
7696 #if YYDEBUG != 0
7697 if (yydebug)
7698 fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
7699 #endif
7700
7701 yychar = YYEMPTY;
7702 }
7703
7704 /* Else will try to reuse lookahead token
7705 after shifting the error token. */
7706
7707 yyerrstatus = 3; /* Each real token shifted decrements this */
7708
7709 goto yyerrhandle;
7710
7711 yyerrdefault: /* current state does not do anything special for the error token. */
7712
7713 #if 0
7714 /* This is wrong; only states that explicitly want error tokens
7715 should shift them. */
7716 yyn = yydefact[yystate]; /* If its default is to accept any token, ok. Otherwise pop it.*/
7717 if (yyn) goto yydefault;
7718 #endif
7719
7720 yyerrpop: /* pop the current state because it cannot handle the error token */
7721
7722 if (yyssp == yyss) YYABORT;
7723 yyvsp--;
7724 yystate = *--yyssp;
7725 #ifdef YYLSP_NEEDED
7726 yylsp--;
7727 #endif
7728
7729 #if YYDEBUG != 0
7730 if (yydebug)
7731 {
7732 short *ssp1 = yyss - 1;
7733 fprintf (stderr, "Error: state stack now");
7734 while (ssp1 != yyssp)
7735 fprintf (stderr, " %d", *++ssp1);
7736 fprintf (stderr, "\n");
7737 }
7738 #endif
7739
7740 yyerrhandle:
7741
7742 yyn = yypact[yystate];
7743 if (yyn == YYFLAG)
7744 goto yyerrdefault;
7745
7746 yyn += YYTERROR;
7747 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
7748 goto yyerrdefault;
7749
7750 yyn = yytable[yyn];
7751 if (yyn < 0)
7752 {
7753 if (yyn == YYFLAG)
7754 goto yyerrpop;
7755 yyn = -yyn;
7756 goto yyreduce;
7757 }
7758 else if (yyn == 0)
7759 goto yyerrpop;
7760
7761 if (yyn == YYFINAL)
7762 YYACCEPT;
7763
7764 #if YYDEBUG != 0
7765 if (yydebug)
7766 fprintf(stderr, "Shifting error token, ");
7767 #endif
7768
7769 *++yyvsp = yylval;
7770 #ifdef YYLSP_NEEDED
7771 *++yylsp = yylloc;
7772 #endif
7773
7774 yystate = yyn;
7775 goto yynewstate;
7776 }
7777 #line 3632 "parse.y"
7778
7779
7780 #ifdef SPEW_DEBUG
7781 const char *
7782 debug_yytranslate (value)
7783 int value;
7784 {
7785 return yytname[YYTRANSLATE (value)];
7786 }
7787
7788 #endif