Warning fixes:
[gcc.git] / gcc / cp / parse.c
1
2 /* A Bison parser, made from parse.y
3 by GNU Bison version 1.25
4 */
5
6 #define YYBISON 1 /* Identify Bison output. */
7
8 #define IDENTIFIER 258
9 #define TYPENAME 259
10 #define SELFNAME 260
11 #define PFUNCNAME 261
12 #define SCSPEC 262
13 #define TYPESPEC 263
14 #define CV_QUALIFIER 264
15 #define CONSTANT 265
16 #define STRING 266
17 #define ELLIPSIS 267
18 #define SIZEOF 268
19 #define ENUM 269
20 #define IF 270
21 #define ELSE 271
22 #define WHILE 272
23 #define DO 273
24 #define FOR 274
25 #define SWITCH 275
26 #define CASE 276
27 #define DEFAULT 277
28 #define BREAK 278
29 #define CONTINUE 279
30 #define RETURN 280
31 #define GOTO 281
32 #define ASM_KEYWORD 282
33 #define TYPEOF 283
34 #define ALIGNOF 284
35 #define SIGOF 285
36 #define ATTRIBUTE 286
37 #define EXTENSION 287
38 #define LABEL 288
39 #define REALPART 289
40 #define IMAGPART 290
41 #define AGGR 291
42 #define VISSPEC 292
43 #define DELETE 293
44 #define NEW 294
45 #define THIS 295
46 #define OPERATOR 296
47 #define CXX_TRUE 297
48 #define CXX_FALSE 298
49 #define NAMESPACE 299
50 #define TYPENAME_KEYWORD 300
51 #define USING 301
52 #define LEFT_RIGHT 302
53 #define TEMPLATE 303
54 #define TYPEID 304
55 #define DYNAMIC_CAST 305
56 #define STATIC_CAST 306
57 #define REINTERPRET_CAST 307
58 #define CONST_CAST 308
59 #define SCOPE 309
60 #define EMPTY 310
61 #define PTYPENAME 311
62 #define NSNAME 312
63 #define THROW 313
64 #define ASSIGN 314
65 #define OROR 315
66 #define ANDAND 316
67 #define MIN_MAX 317
68 #define EQCOMPARE 318
69 #define ARITHCOMPARE 319
70 #define LSHIFT 320
71 #define RSHIFT 321
72 #define POINTSAT_STAR 322
73 #define DOT_STAR 323
74 #define UNARY 324
75 #define PLUSPLUS 325
76 #define MINUSMINUS 326
77 #define HYPERUNARY 327
78 #define PAREN_STAR_PAREN 328
79 #define POINTSAT 329
80 #define TRY 330
81 #define CATCH 331
82 #define PRE_PARSED_FUNCTION_DECL 332
83 #define EXTERN_LANG_STRING 333
84 #define ALL 334
85 #define PRE_PARSED_CLASS_DECL 335
86 #define DEFARG 336
87 #define DEFARG_MARKER 337
88 #define TYPENAME_DEFN 338
89 #define IDENTIFIER_DEFN 339
90 #define PTYPENAME_DEFN 340
91 #define END_OF_LINE 341
92 #define END_OF_SAVED_INPUT 342
93
94 #line 29 "parse.y"
95
96 /* Cause the `yydebug' variable to be defined. */
97 #define YYDEBUG 1
98
99 #include "config.h"
100
101 #include "system.h"
102
103 #include "tree.h"
104 #include "input.h"
105 #include "flags.h"
106 #include "lex.h"
107 #include "cp-tree.h"
108 #include "output.h"
109 #include "except.h"
110 #include "toplev.h"
111
112 /* Since parsers are distinct for each language, put the language string
113 definition here. (fnf) */
114 char *language_string = "GNU C++";
115
116 extern tree void_list_node;
117 extern struct obstack permanent_obstack;
118
119 extern int end_of_file;
120
121 /* Like YYERROR but do call yyerror. */
122 #define YYERROR1 { yyerror ("syntax error"); YYERROR; }
123
124 #define OP0(NODE) (TREE_OPERAND (NODE, 0))
125 #define OP1(NODE) (TREE_OPERAND (NODE, 1))
126
127 /* Contains the statement keyword (if/while/do) to include in an
128 error message if the user supplies an empty conditional expression. */
129 static const char *cond_stmt_keyword;
130
131 static tree empty_parms PROTO((void));
132 static int parse_decl PROTO((tree, tree, tree, int, tree *));
133
134 /* Nonzero if we have an `extern "C"' acting as an extern specifier. */
135 int have_extern_spec;
136 int used_extern_spec;
137
138 /* Cons up an empty parameter list. */
139 #ifdef __GNUC__
140 __inline
141 #endif
142 static tree
143 empty_parms ()
144 {
145 tree parms;
146
147 if (strict_prototype
148 || current_class_type != NULL)
149 parms = void_list_node;
150 else
151 parms = NULL_TREE;
152 return parms;
153 }
154
155
156 #line 93 "parse.y"
157 typedef union {long itype; tree ttype; char *strtype; enum tree_code code; flagged_type_tree ftype; } YYSTYPE;
158 #line 285 "parse.y"
159
160 /* List of types and structure classes of the current declaration. */
161 static tree current_declspecs;
162
163 /* List of prefix attributes in effect.
164 Prefix attributes are parsed by the reserved_declspecs and declmods
165 rules. They create a list that contains *both* declspecs and attrs. */
166 /* ??? It is not clear yet that all cases where an attribute can now appear in
167 a declspec list have been updated. */
168 static tree prefix_attributes;
169
170 /* When defining an aggregate, this is the kind of the most recent one
171 being defined. (For example, this might be class_type_node.) */
172 static tree current_aggr;
173
174 /* When defining an enumeration, this is the type of the enumeration. */
175 static tree current_enum_type;
176
177 /* Tell yyparse how to print a token's value, if yydebug is set. */
178
179 #define YYPRINT(FILE,YYCHAR,YYLVAL) yyprint(FILE,YYCHAR,YYLVAL)
180 extern void yyprint PROTO((FILE *, int, YYSTYPE));
181 extern tree combine_strings PROTO((tree));
182
183 static int
184 parse_decl(declarator, specs_attrs, attributes, initialized, decl)
185 tree declarator;
186 tree specs_attrs;
187 tree attributes;
188 int initialized;
189 tree* decl;
190 {
191 int sm;
192
193 split_specs_attrs (specs_attrs, &current_declspecs, &prefix_attributes);
194 if (current_declspecs
195 && TREE_CODE (current_declspecs) != TREE_LIST)
196 current_declspecs = get_decl_list (current_declspecs);
197 if (have_extern_spec && !used_extern_spec)
198 {
199 current_declspecs = decl_tree_cons (NULL_TREE,
200 get_identifier ("extern"),
201 current_declspecs);
202 used_extern_spec = 1;
203 }
204 sm = suspend_momentary ();
205 *decl = start_decl (declarator, current_declspecs, initialized,
206 attributes, prefix_attributes);
207 return sm;
208 }
209 #include <stdio.h>
210
211 #ifndef __cplusplus
212 #ifndef __STDC__
213 #define const
214 #endif
215 #endif
216
217
218
219 #define YYFINAL 1629
220 #define YYFLAG -32768
221 #define YYNTBASE 112
222
223 #define YYTRANSLATE(x) ((unsigned)(x) <= 342 ? yytranslate[x] : 399)
224
225 static const char yytranslate[] = { 0,
226 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
227 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
228 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
229 2, 2, 110, 2, 2, 2, 82, 70, 2, 93,
230 108, 80, 78, 59, 79, 92, 81, 2, 2, 2,
231 2, 2, 2, 2, 2, 2, 2, 62, 60, 74,
232 64, 75, 65, 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 94, 2, 111, 69, 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, 58, 68, 109, 88, 2, 2, 2, 2,
239 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
240 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
241 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
242 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
243 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
244 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
245 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
246 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
247 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
248 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
249 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
250 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
251 2, 2, 2, 2, 2, 1, 2, 3, 4, 5,
252 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
253 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
254 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
255 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
256 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
257 56, 57, 61, 63, 66, 67, 71, 72, 73, 76,
258 77, 83, 84, 85, 86, 87, 89, 90, 91, 95,
259 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
260 106, 107
261 };
262
263 #if YYDEBUG != 0
264 static const short yyprhs[] = { 0,
265 0, 1, 3, 4, 7, 10, 12, 13, 14, 15,
266 17, 19, 20, 23, 26, 28, 30, 36, 41, 47,
267 52, 53, 60, 61, 67, 69, 72, 74, 77, 78,
268 85, 88, 92, 96, 100, 104, 109, 110, 116, 119,
269 123, 125, 127, 130, 133, 135, 138, 139, 145, 149,
270 151, 155, 157, 158, 161, 164, 168, 170, 174, 176,
271 180, 182, 186, 189, 192, 195, 197, 199, 205, 210,
272 213, 216, 220, 224, 227, 230, 234, 238, 241, 244,
273 247, 250, 253, 255, 257, 259, 260, 262, 265, 266,
274 268, 273, 277, 281, 282, 291, 297, 298, 308, 315,
275 316, 325, 331, 332, 342, 349, 352, 355, 357, 360,
276 362, 369, 374, 381, 386, 389, 391, 394, 397, 399,
277 402, 404, 407, 410, 415, 418, 422, 423, 424, 426,
278 430, 433, 437, 439, 444, 447, 452, 455, 460, 463,
279 465, 467, 469, 471, 473, 475, 477, 479, 481, 483,
280 485, 486, 493, 494, 501, 502, 508, 509, 515, 516,
281 524, 525, 533, 534, 541, 542, 549, 550, 551, 557,
282 563, 565, 567, 573, 579, 580, 582, 584, 585, 587,
283 589, 593, 595, 597, 599, 601, 603, 605, 607, 609,
284 611, 613, 615, 619, 621, 625, 626, 628, 630, 631,
285 639, 641, 643, 647, 652, 656, 657, 661, 663, 667,
286 671, 675, 679, 681, 683, 685, 688, 691, 694, 697,
287 700, 703, 706, 711, 714, 719, 722, 726, 730, 735,
288 741, 748, 755, 763, 766, 771, 777, 780, 783, 785,
289 786, 791, 796, 800, 802, 806, 809, 813, 818, 820,
290 823, 829, 831, 835, 839, 843, 847, 851, 855, 859,
291 863, 867, 871, 875, 879, 883, 887, 891, 895, 899,
292 903, 907, 913, 917, 921, 923, 926, 930, 934, 936,
293 938, 940, 942, 944, 945, 951, 957, 963, 969, 975,
294 977, 979, 981, 983, 986, 988, 991, 994, 998, 1003,
295 1008, 1010, 1012, 1014, 1018, 1020, 1022, 1024, 1026, 1030,
296 1034, 1038, 1039, 1044, 1049, 1052, 1057, 1060, 1065, 1068,
297 1071, 1073, 1078, 1080, 1088, 1096, 1104, 1112, 1117, 1122,
298 1125, 1128, 1131, 1133, 1138, 1141, 1144, 1150, 1154, 1157,
299 1160, 1166, 1170, 1176, 1180, 1185, 1192, 1195, 1197, 1200,
300 1202, 1205, 1207, 1209, 1211, 1214, 1215, 1218, 1221, 1225,
301 1229, 1233, 1236, 1239, 1242, 1244, 1246, 1248, 1251, 1254,
302 1257, 1260, 1262, 1264, 1266, 1268, 1271, 1274, 1278, 1282,
303 1286, 1291, 1293, 1296, 1299, 1302, 1304, 1306, 1308, 1311,
304 1314, 1317, 1319, 1321, 1324, 1327, 1331, 1333, 1336, 1338,
305 1340, 1342, 1347, 1352, 1357, 1362, 1364, 1366, 1368, 1370,
306 1374, 1376, 1380, 1382, 1386, 1387, 1392, 1393, 1400, 1404,
307 1405, 1410, 1412, 1416, 1420, 1421, 1426, 1430, 1431, 1433,
308 1435, 1438, 1445, 1447, 1451, 1452, 1454, 1459, 1466, 1471,
309 1473, 1475, 1477, 1479, 1481, 1485, 1486, 1489, 1491, 1494,
310 1498, 1503, 1505, 1507, 1511, 1516, 1520, 1526, 1528, 1533,
311 1537, 1541, 1542, 1546, 1550, 1554, 1555, 1558, 1561, 1562,
312 1570, 1575, 1576, 1583, 1587, 1590, 1593, 1596, 1597, 1598,
313 1608, 1610, 1611, 1613, 1614, 1616, 1618, 1621, 1624, 1627,
314 1630, 1633, 1636, 1639, 1642, 1645, 1649, 1654, 1658, 1661,
315 1665, 1667, 1668, 1672, 1673, 1677, 1680, 1682, 1684, 1685,
316 1688, 1692, 1694, 1699, 1701, 1705, 1707, 1709, 1714, 1719,
317 1722, 1725, 1729, 1733, 1735, 1736, 1738, 1742, 1745, 1748,
318 1750, 1753, 1756, 1759, 1762, 1765, 1768, 1771, 1773, 1776,
319 1779, 1783, 1786, 1789, 1794, 1799, 1802, 1804, 1810, 1815,
320 1817, 1818, 1820, 1824, 1825, 1827, 1831, 1833, 1835, 1837,
321 1839, 1844, 1849, 1854, 1859, 1864, 1868, 1873, 1878, 1883,
322 1888, 1892, 1894, 1898, 1900, 1904, 1907, 1909, 1917, 1918,
323 1921, 1923, 1926, 1927, 1930, 1935, 1940, 1943, 1948, 1952,
324 1956, 1959, 1962, 1966, 1968, 1970, 1973, 1975, 1977, 1980,
325 1983, 1988, 1993, 1997, 2001, 2004, 2006, 2008, 2011, 2015,
326 2019, 2022, 2025, 2029, 2031, 2035, 2039, 2042, 2045, 2049,
327 2051, 2056, 2060, 2065, 2069, 2071, 2074, 2077, 2080, 2083,
328 2086, 2088, 2091, 2096, 2101, 2104, 2106, 2108, 2110, 2112,
329 2115, 2120, 2123, 2126, 2129, 2132, 2134, 2137, 2140, 2143,
330 2146, 2150, 2152, 2155, 2159, 2164, 2167, 2170, 2173, 2176,
331 2179, 2182, 2187, 2190, 2192, 2195, 2198, 2202, 2204, 2208,
332 2211, 2215, 2218, 2221, 2225, 2227, 2231, 2236, 2240, 2243,
333 2246, 2248, 2252, 2255, 2258, 2260, 2263, 2267, 2269, 2273,
334 2275, 2282, 2287, 2292, 2296, 2302, 2306, 2310, 2314, 2317,
335 2319, 2321, 2324, 2327, 2330, 2331, 2333, 2335, 2338, 2342,
336 2344, 2347, 2348, 2352, 2353, 2354, 2360, 2362, 2363, 2366,
337 2368, 2370, 2372, 2375, 2376, 2381, 2383, 2384, 2385, 2391,
338 2392, 2393, 2401, 2402, 2403, 2404, 2405, 2418, 2419, 2420,
339 2428, 2429, 2435, 2436, 2444, 2445, 2450, 2453, 2456, 2459,
340 2463, 2470, 2479, 2490, 2503, 2508, 2512, 2515, 2518, 2520,
341 2522, 2524, 2526, 2528, 2529, 2530, 2537, 2538, 2539, 2545,
342 2547, 2550, 2551, 2552, 2558, 2560, 2562, 2566, 2570, 2573,
343 2576, 2579, 2582, 2585, 2587, 2590, 2591, 2593, 2594, 2596,
344 2598, 2599, 2601, 2603, 2607, 2612, 2614, 2618, 2619, 2621,
345 2623, 2625, 2628, 2631, 2634, 2636, 2639, 2642, 2643, 2647,
346 2649, 2651, 2653, 2656, 2659, 2662, 2667, 2670, 2673, 2676,
347 2679, 2682, 2685, 2687, 2690, 2692, 2695, 2697, 2699, 2700,
348 2701, 2703, 2704, 2709, 2712, 2714, 2716, 2720, 2721, 2725,
349 2729, 2733, 2735, 2738, 2741, 2744, 2747, 2750, 2753, 2756,
350 2759, 2762, 2765, 2768, 2771, 2774, 2777, 2780, 2783, 2786,
351 2789, 2792, 2795, 2798, 2801, 2804, 2808, 2811, 2814, 2817,
352 2820, 2824, 2827, 2830, 2835, 2840, 2844
353 };
354
355 static const short yyrhs[] = { -1,
356 113, 0, 0, 114, 120, 0, 113, 120, 0, 113,
357 0, 0, 0, 0, 32, 0, 27, 0, 0, 121,
358 122, 0, 148, 147, 0, 144, 0, 141, 0, 119,
359 93, 219, 108, 60, 0, 133, 58, 115, 109, 0,
360 133, 116, 148, 117, 147, 0, 133, 116, 144, 117,
361 0, 0, 44, 163, 58, 123, 115, 109, 0, 0,
362 44, 58, 124, 115, 109, 0, 125, 0, 127, 60,
363 0, 129, 0, 118, 122, 0, 0, 44, 163, 64,
364 126, 132, 60, 0, 46, 313, 0, 46, 327, 313,
365 0, 46, 327, 209, 0, 46, 131, 163, 0, 46,
366 327, 163, 0, 46, 327, 131, 163, 0, 0, 46,
367 44, 130, 132, 60, 0, 57, 54, 0, 131, 57,
368 54, 0, 209, 0, 313, 0, 327, 313, 0, 327,
369 209, 0, 98, 0, 133, 98, 0, 0, 48, 74,
370 135, 136, 75, 0, 48, 74, 75, 0, 140, 0,
371 136, 59, 140, 0, 163, 0, 0, 268, 137, 0,
372 45, 137, 0, 134, 268, 137, 0, 138, 0, 138,
373 64, 225, 0, 390, 0, 390, 64, 204, 0, 139,
374 0, 139, 64, 184, 0, 134, 142, 0, 134, 1,
375 0, 148, 147, 0, 143, 0, 141, 0, 133, 116,
376 148, 117, 147, 0, 133, 116, 143, 117, 0, 118,
377 142, 0, 236, 60, 0, 229, 235, 60, 0, 226,
378 234, 60, 0, 261, 60, 0, 236, 60, 0, 229,
379 235, 60, 0, 226, 234, 60, 0, 229, 60, 0,
380 166, 60, 0, 226, 60, 0, 1, 60, 0, 1,
381 109, 0, 60, 0, 220, 0, 159, 0, 0, 158,
382 0, 158, 60, 0, 0, 107, 0, 154, 146, 145,
383 337, 0, 154, 146, 361, 0, 154, 146, 1, 0,
384 0, 318, 5, 93, 150, 381, 108, 299, 393, 0,
385 318, 5, 47, 299, 393, 0, 0, 327, 318, 5,
386 93, 151, 381, 108, 299, 393, 0, 327, 318, 5,
387 47, 299, 393, 0, 0, 318, 179, 93, 152, 381,
388 108, 299, 393, 0, 318, 179, 47, 299, 393, 0,
389 0, 327, 318, 179, 93, 153, 381, 108, 299, 393,
390 0, 327, 318, 179, 47, 299, 393, 0, 226, 223,
391 0, 229, 310, 0, 310, 0, 229, 149, 0, 149,
392 0, 5, 93, 381, 108, 299, 393, 0, 5, 47,
393 299, 393, 0, 179, 93, 381, 108, 299, 393, 0,
394 179, 47, 299, 393, 0, 229, 155, 0, 155, 0,
395 226, 223, 0, 229, 310, 0, 310, 0, 229, 149,
396 0, 149, 0, 25, 3, 0, 157, 253, 0, 157,
397 93, 196, 108, 0, 157, 47, 0, 62, 160, 161,
398 0, 0, 0, 162, 0, 161, 59, 162, 0, 161,
399 1, 0, 93, 196, 108, 0, 47, 0, 164, 93,
400 196, 108, 0, 164, 47, 0, 305, 93, 196, 108,
401 0, 305, 47, 0, 320, 93, 196, 108, 0, 320,
402 47, 0, 3, 0, 4, 0, 5, 0, 56, 0,
403 57, 0, 3, 0, 56, 0, 57, 0, 104, 0,
404 103, 0, 105, 0, 0, 48, 175, 232, 60, 167,
405 176, 0, 0, 48, 175, 226, 223, 168, 176, 0,
406 0, 48, 175, 310, 169, 176, 0, 0, 48, 175,
407 149, 170, 176, 0, 0, 7, 48, 175, 232, 60,
408 171, 176, 0, 0, 7, 48, 175, 226, 223, 172,
409 176, 0, 0, 7, 48, 175, 310, 173, 176, 0,
410 0, 7, 48, 175, 149, 174, 176, 0, 0, 0,
411 56, 74, 182, 181, 180, 0, 4, 74, 182, 181,
412 180, 0, 179, 0, 177, 0, 163, 74, 182, 75,
413 180, 0, 5, 74, 182, 181, 180, 0, 0, 75,
414 0, 77, 0, 0, 183, 0, 184, 0, 183, 59,
415 184, 0, 225, 0, 56, 0, 204, 0, 79, 0,
416 78, 0, 86, 0, 87, 0, 110, 0, 195, 0,
417 204, 0, 47, 0, 93, 186, 108, 0, 47, 0,
418 93, 190, 108, 0, 0, 190, 0, 1, 0, 0,
419 371, 223, 237, 246, 64, 191, 254, 0, 186, 0,
420 109, 0, 334, 332, 109, 0, 334, 332, 1, 109,
421 0, 334, 1, 109, 0, 0, 58, 194, 192, 0,
422 346, 0, 204, 59, 204, 0, 204, 59, 1, 0,
423 195, 59, 204, 0, 195, 59, 1, 0, 204, 0,
424 195, 0, 214, 0, 118, 203, 0, 80, 203, 0,
425 70, 203, 0, 88, 203, 0, 185, 203, 0, 67,
426 163, 0, 13, 197, 0, 13, 93, 225, 108, 0,
427 29, 197, 0, 29, 93, 225, 108, 0, 216, 298,
428 0, 216, 298, 201, 0, 216, 200, 298, 0, 216,
429 200, 298, 201, 0, 216, 93, 199, 225, 198, 0,
430 216, 93, 199, 225, 198, 201, 0, 216, 200, 93,
431 199, 225, 198, 0, 216, 200, 93, 199, 225, 198,
432 201, 0, 217, 203, 0, 217, 94, 111, 203, 0,
433 217, 94, 186, 111, 203, 0, 34, 203, 0, 35,
434 203, 0, 108, 0, 0, 93, 199, 196, 108, 0,
435 58, 199, 196, 109, 0, 93, 196, 108, 0, 47,
436 0, 93, 232, 108, 0, 64, 254, 0, 93, 225,
437 108, 0, 202, 93, 225, 108, 0, 197, 0, 202,
438 197, 0, 202, 58, 255, 266, 109, 0, 203, 0,
439 204, 83, 204, 0, 204, 84, 204, 0, 204, 78,
440 204, 0, 204, 79, 204, 0, 204, 80, 204, 0,
441 204, 81, 204, 0, 204, 82, 204, 0, 204, 76,
442 204, 0, 204, 77, 204, 0, 204, 73, 204, 0,
443 204, 74, 204, 0, 204, 75, 204, 0, 204, 72,
444 204, 0, 204, 71, 204, 0, 204, 70, 204, 0,
445 204, 68, 204, 0, 204, 69, 204, 0, 204, 67,
446 204, 0, 204, 66, 204, 0, 204, 65, 376, 62,
447 204, 0, 204, 64, 204, 0, 204, 63, 204, 0,
448 61, 0, 61, 204, 0, 88, 391, 163, 0, 88,
449 391, 177, 0, 207, 0, 398, 0, 3, 0, 56,
450 0, 57, 0, 0, 6, 74, 206, 182, 181, 0,
451 398, 74, 206, 182, 181, 0, 48, 163, 74, 182,
452 181, 0, 48, 6, 74, 182, 181, 0, 48, 398,
453 74, 182, 181, 0, 205, 0, 4, 0, 5, 0,
454 211, 0, 247, 211, 0, 205, 0, 80, 210, 0,
455 70, 210, 0, 93, 210, 108, 0, 3, 74, 182,
456 181, 0, 57, 74, 183, 181, 0, 312, 0, 205,
457 0, 212, 0, 93, 210, 108, 0, 205, 0, 10,
458 0, 218, 0, 219, 0, 93, 186, 108, 0, 93,
459 210, 108, 0, 93, 1, 108, 0, 0, 93, 215,
460 338, 108, 0, 205, 93, 196, 108, 0, 205, 47,
461 0, 214, 93, 196, 108, 0, 214, 47, 0, 214,
462 94, 186, 111, 0, 214, 86, 0, 214, 87, 0,
463 40, 0, 9, 93, 196, 108, 0, 316, 0, 50,
464 74, 225, 75, 93, 186, 108, 0, 51, 74, 225,
465 75, 93, 186, 108, 0, 52, 74, 225, 75, 93,
466 186, 108, 0, 53, 74, 225, 75, 93, 186, 108,
467 0, 49, 93, 186, 108, 0, 49, 93, 225, 108,
468 0, 327, 3, 0, 327, 207, 0, 327, 398, 0,
469 315, 0, 315, 93, 196, 108, 0, 315, 47, 0,
470 221, 208, 0, 221, 208, 93, 196, 108, 0, 221,
471 208, 47, 0, 221, 209, 0, 221, 315, 0, 221,
472 209, 93, 196, 108, 0, 221, 209, 47, 0, 221,
473 315, 93, 196, 108, 0, 221, 315, 47, 0, 221,
474 88, 8, 47, 0, 221, 8, 54, 88, 8, 47,
475 0, 221, 1, 0, 39, 0, 327, 39, 0, 38,
476 0, 327, 217, 0, 42, 0, 43, 0, 11, 0,
477 219, 11, 0, 0, 214, 92, 0, 214, 91, 0,
478 232, 234, 60, 0, 226, 234, 60, 0, 229, 235,
479 60, 0, 226, 60, 0, 229, 60, 0, 118, 222,
480 0, 304, 0, 310, 0, 47, 0, 224, 47, 0,
481 230, 330, 0, 300, 330, 0, 232, 330, 0, 230,
482 0, 300, 0, 230, 0, 227, 0, 229, 232, 0,
483 232, 228, 0, 232, 231, 228, 0, 229, 232, 228,
484 0, 229, 232, 231, 0, 229, 232, 231, 228, 0,
485 7, 0, 228, 233, 0, 228, 7, 0, 228, 247,
486 0, 247, 0, 300, 0, 7, 0, 229, 9, 0,
487 229, 7, 0, 229, 247, 0, 247, 0, 232, 0,
488 300, 232, 0, 232, 231, 0, 300, 232, 231, 0,
489 233, 0, 231, 233, 0, 261, 0, 8, 0, 306,
490 0, 28, 93, 186, 108, 0, 28, 93, 225, 108,
491 0, 30, 93, 186, 108, 0, 30, 93, 225, 108,
492 0, 8, 0, 9, 0, 261, 0, 242, 0, 234,
493 59, 238, 0, 243, 0, 235, 59, 238, 0, 244,
494 0, 236, 59, 238, 0, 0, 119, 93, 219, 108,
495 0, 0, 223, 237, 246, 64, 239, 254, 0, 223,
496 237, 246, 0, 0, 246, 64, 241, 254, 0, 246,
497 0, 223, 237, 240, 0, 310, 237, 240, 0, 0,
498 310, 237, 245, 240, 0, 149, 237, 246, 0, 0,
499 247, 0, 248, 0, 247, 248, 0, 31, 93, 93,
500 249, 108, 108, 0, 250, 0, 249, 59, 250, 0,
501 0, 251, 0, 251, 93, 3, 108, 0, 251, 93,
502 3, 59, 196, 108, 0, 251, 93, 196, 108, 0,
503 163, 0, 7, 0, 8, 0, 9, 0, 163, 0,
504 252, 59, 163, 0, 0, 64, 254, 0, 204, 0,
505 58, 109, 0, 58, 255, 109, 0, 58, 255, 59,
506 109, 0, 1, 0, 254, 0, 255, 59, 254, 0,
507 94, 204, 111, 254, 0, 163, 62, 254, 0, 255,
508 59, 163, 62, 254, 0, 97, 0, 256, 146, 145,
509 337, 0, 256, 146, 361, 0, 256, 146, 1, 0,
510 0, 258, 257, 147, 0, 102, 204, 107, 0, 102,
511 1, 107, 0, 0, 260, 259, 0, 260, 1, 0,
512 0, 14, 163, 58, 262, 296, 267, 109, 0, 14,
513 163, 58, 109, 0, 0, 14, 58, 263, 296, 267,
514 109, 0, 14, 58, 109, 0, 14, 163, 0, 14,
515 325, 0, 45, 320, 0, 0, 0, 276, 282, 283,
516 109, 246, 264, 260, 265, 258, 0, 276, 0, 0,
517 59, 0, 0, 59, 0, 36, 0, 268, 7, 0,
518 268, 8, 0, 268, 9, 0, 268, 36, 0, 268,
519 247, 0, 268, 163, 0, 268, 165, 0, 269, 58,
520 0, 269, 62, 0, 268, 318, 163, 0, 268, 327,
521 318, 163, 0, 268, 327, 163, 0, 268, 178, 0,
522 268, 318, 178, 0, 269, 0, 0, 270, 273, 277,
523 0, 0, 271, 274, 277, 0, 268, 58, 0, 275,
524 0, 272, 0, 0, 62, 391, 0, 62, 391, 278,
525 0, 279, 0, 278, 59, 391, 279, 0, 280, 0,
526 281, 391, 280, 0, 320, 0, 305, 0, 30, 93,
527 186, 108, 0, 30, 93, 225, 108, 0, 37, 391,
528 0, 7, 391, 0, 281, 37, 391, 0, 281, 7,
529 391, 0, 58, 0, 0, 285, 0, 283, 284, 285,
530 0, 283, 284, 0, 37, 62, 0, 286, 0, 285,
531 286, 0, 287, 60, 0, 287, 109, 0, 156, 62,
532 0, 156, 95, 0, 156, 25, 0, 156, 58, 0,
533 60, 0, 118, 286, 0, 134, 286, 0, 134, 226,
534 60, 0, 226, 288, 0, 229, 289, 0, 310, 237,
535 246, 253, 0, 149, 237, 246, 253, 0, 62, 204,
536 0, 1, 0, 229, 155, 237, 246, 253, 0, 155,
537 237, 246, 253, 0, 127, 0, 0, 290, 0, 288,
538 59, 291, 0, 0, 293, 0, 289, 59, 295, 0,
539 292, 0, 293, 0, 294, 0, 295, 0, 304, 237,
540 246, 253, 0, 4, 62, 204, 246, 0, 310, 237,
541 246, 253, 0, 149, 237, 246, 253, 0, 3, 62,
542 204, 246, 0, 62, 204, 246, 0, 304, 237, 246,
543 253, 0, 4, 62, 204, 246, 0, 310, 237, 246,
544 253, 0, 3, 62, 204, 246, 0, 62, 204, 246,
545 0, 297, 0, 296, 59, 297, 0, 163, 0, 163,
546 64, 204, 0, 371, 328, 0, 371, 0, 93, 199,
547 225, 198, 94, 186, 111, 0, 0, 299, 9, 0,
548 9, 0, 300, 9, 0, 0, 301, 186, 0, 301,
549 93, 196, 108, 0, 301, 93, 381, 108, 0, 301,
550 47, 0, 301, 93, 1, 108, 0, 80, 300, 304,
551 0, 70, 300, 304, 0, 80, 304, 0, 70, 304,
552 0, 326, 299, 304, 0, 308, 0, 317, 0, 327,
553 317, 0, 305, 0, 307, 0, 327, 307, 0, 318,
554 317, 0, 308, 303, 299, 393, 0, 308, 94, 302,
555 111, 0, 308, 94, 111, 0, 93, 304, 108, 0,
556 318, 317, 0, 317, 0, 310, 0, 247, 310, 0,
557 80, 300, 309, 0, 70, 300, 309, 0, 80, 309,
558 0, 70, 309, 0, 326, 299, 309, 0, 213, 0,
559 80, 300, 309, 0, 70, 300, 309, 0, 80, 311,
560 0, 70, 311, 0, 326, 299, 309, 0, 312, 0,
561 213, 303, 299, 393, 0, 93, 311, 108, 0, 213,
562 94, 302, 111, 0, 213, 94, 111, 0, 314, 0,
563 318, 212, 0, 318, 209, 0, 318, 208, 0, 318,
564 205, 0, 318, 208, 0, 314, 0, 327, 314, 0,
565 232, 93, 196, 108, 0, 232, 93, 210, 108, 0,
566 232, 224, 0, 4, 0, 5, 0, 177, 0, 319,
567 0, 318, 319, 0, 318, 48, 324, 54, 0, 4,
568 54, 0, 5, 54, 0, 57, 54, 0, 177, 54,
569 0, 321, 0, 327, 321, 0, 322, 163, 0, 322,
570 177, 0, 322, 324, 0, 322, 48, 324, 0, 323,
571 0, 322, 323, 0, 322, 324, 54, 0, 322, 48,
572 324, 54, 0, 4, 54, 0, 5, 54, 0, 177,
573 54, 0, 56, 54, 0, 3, 54, 0, 57, 54,
574 0, 163, 74, 182, 181, 0, 327, 317, 0, 307,
575 0, 327, 307, 0, 318, 80, 0, 327, 318, 80,
576 0, 54, 0, 80, 299, 328, 0, 80, 299, 0,
577 70, 299, 328, 0, 70, 299, 0, 326, 299, 0,
578 326, 299, 328, 0, 329, 0, 94, 186, 111, 0,
579 329, 94, 302, 111, 0, 80, 300, 330, 0, 80,
580 330, 0, 80, 300, 0, 80, 0, 70, 300, 330,
581 0, 70, 330, 0, 70, 300, 0, 70, 0, 326,
582 299, 0, 326, 299, 330, 0, 331, 0, 93, 330,
583 108, 0, 90, 0, 331, 93, 381, 108, 299, 393,
584 0, 331, 47, 299, 393, 0, 331, 94, 302, 111,
585 0, 331, 94, 111, 0, 93, 382, 108, 299, 393,
586 0, 202, 299, 393, 0, 224, 299, 393, 0, 94,
587 302, 111, 0, 94, 111, 0, 345, 0, 333, 0,
588 332, 345, 0, 332, 333, 0, 1, 60, 0, 0,
589 335, 0, 336, 0, 335, 336, 0, 33, 252, 60,
590 0, 338, 0, 1, 338, 0, 0, 58, 339, 192,
591 0, 0, 0, 15, 341, 188, 342, 343, 0, 338,
592 0, 0, 344, 346, 0, 338, 0, 346, 0, 222,
593 0, 186, 60, 0, 0, 340, 16, 347, 343, 0,
594 340, 0, 0, 0, 17, 348, 188, 349, 193, 0,
595 0, 0, 18, 350, 343, 17, 351, 187, 60, 0,
596 0, 0, 0, 0, 19, 352, 93, 374, 353, 189,
597 60, 354, 376, 108, 355, 193, 0, 0, 0, 20,
598 356, 93, 190, 108, 357, 343, 0, 0, 21, 204,
599 62, 358, 345, 0, 0, 21, 204, 12, 204, 62,
600 359, 345, 0, 0, 22, 62, 360, 345, 0, 23,
601 60, 0, 24, 60, 0, 25, 60, 0, 25, 186,
602 60, 0, 119, 375, 93, 219, 108, 60, 0, 119,
603 375, 93, 219, 62, 377, 108, 60, 0, 119, 375,
604 93, 219, 62, 377, 62, 377, 108, 60, 0, 119,
605 375, 93, 219, 62, 377, 62, 377, 62, 380, 108,
606 60, 0, 26, 80, 186, 60, 0, 26, 163, 60,
607 0, 373, 345, 0, 373, 109, 0, 60, 0, 364,
608 0, 129, 0, 128, 0, 125, 0, 0, 0, 95,
609 362, 145, 338, 363, 367, 0, 0, 0, 95, 365,
610 338, 366, 367, 0, 368, 0, 367, 368, 0, 0,
611 0, 96, 369, 372, 370, 338, 0, 230, 0, 300,
612 0, 93, 12, 108, 0, 93, 390, 108, 0, 3,
613 62, 0, 56, 62, 0, 4, 62, 0, 5, 62,
614 0, 376, 60, 0, 222, 0, 58, 192, 0, 0,
615 9, 0, 0, 186, 0, 1, 0, 0, 378, 0,
616 379, 0, 378, 59, 379, 0, 11, 93, 186, 108,
617 0, 11, 0, 380, 59, 11, 0, 0, 382, 0,
618 225, 0, 386, 0, 387, 12, 0, 386, 12, 0,
619 225, 12, 0, 12, 0, 386, 62, 0, 225, 62,
620 0, 0, 64, 384, 385, 0, 101, 0, 254, 0,
621 388, 0, 390, 383, 0, 387, 389, 0, 387, 392,
622 0, 387, 392, 64, 254, 0, 386, 59, 0, 225,
623 59, 0, 227, 223, 0, 230, 223, 0, 232, 223,
624 0, 227, 330, 0, 227, 0, 229, 310, 0, 390,
625 0, 390, 383, 0, 388, 0, 225, 0, 0, 0,
626 310, 0, 0, 61, 93, 395, 108, 0, 61, 47,
627 0, 225, 0, 394, 0, 395, 59, 394, 0, 0,
628 80, 299, 396, 0, 70, 299, 396, 0, 326, 299,
629 396, 0, 41, 0, 397, 80, 0, 397, 81, 0,
630 397, 82, 0, 397, 78, 0, 397, 79, 0, 397,
631 70, 0, 397, 68, 0, 397, 69, 0, 397, 88,
632 0, 397, 59, 0, 397, 73, 0, 397, 74, 0,
633 397, 75, 0, 397, 72, 0, 397, 63, 0, 397,
634 64, 0, 397, 76, 0, 397, 77, 0, 397, 86,
635 0, 397, 87, 0, 397, 67, 0, 397, 66, 0,
636 397, 110, 0, 397, 65, 62, 0, 397, 71, 0,
637 397, 91, 0, 397, 83, 0, 397, 47, 0, 397,
638 94, 111, 0, 397, 39, 0, 397, 38, 0, 397,
639 39, 94, 111, 0, 397, 38, 94, 111, 0, 397,
640 371, 396, 0, 397, 1, 0
641 };
642
643 #endif
644
645 #if YYDEBUG != 0
646 static const short yyrline[] = { 0,
647 338, 340, 348, 351, 352, 356, 358, 361, 366, 370,
648 376, 380, 383, 387, 390, 392, 394, 397, 399, 402,
649 405, 407, 409, 411, 413, 414, 416, 417, 421, 424,
650 433, 436, 438, 442, 445, 447, 451, 454, 466, 473,
651 481, 483, 484, 486, 490, 493, 499, 502, 504, 509,
652 512, 516, 519, 522, 525, 529, 534, 544, 546, 548,
653 550, 552, 565, 568, 572, 575, 577, 579, 582, 585,
654 589, 591, 593, 595, 600, 602, 604, 606, 608, 609,
655 616, 617, 618, 621, 624, 628, 630, 631, 634, 636,
656 639, 642, 648, 652, 655, 657, 661, 663, 665, 669,
657 671, 673, 677, 679, 681, 687, 691, 694, 697, 700,
658 705, 708, 710, 712, 718, 730, 733, 738, 743, 746,
659 751, 756, 765, 768, 770, 774, 787, 807, 810, 812,
660 813, 816, 823, 829, 831, 833, 835, 837, 840, 845,
661 847, 848, 849, 850, 853, 855, 856, 859, 861, 862,
662 865, 870, 870, 874, 874, 877, 877, 880, 880, 884,
663 884, 889, 889, 892, 892, 895, 897, 900, 907, 911,
664 914, 917, 919, 923, 929, 938, 940, 948, 951, 954,
665 957, 961, 964, 966, 969, 972, 974, 976, 978, 982,
666 985, 988, 993, 997, 1002, 1006, 1009, 1010, 1014, 1033,
667 1040, 1043, 1045, 1046, 1047, 1050, 1054, 1055, 1059, 1063,
668 1066, 1068, 1072, 1075, 1078, 1082, 1085, 1087, 1089, 1091,
669 1094, 1098, 1100, 1103, 1105, 1111, 1114, 1117, 1120, 1132,
670 1137, 1141, 1145, 1150, 1152, 1156, 1160, 1162, 1171, 1175,
671 1178, 1181, 1186, 1189, 1191, 1199, 1212, 1217, 1223, 1225,
672 1227, 1240, 1243, 1245, 1247, 1249, 1251, 1253, 1255, 1257,
673 1259, 1261, 1263, 1265, 1267, 1269, 1271, 1273, 1275, 1277,
674 1279, 1281, 1283, 1287, 1289, 1291, 1308, 1311, 1313, 1314,
675 1315, 1316, 1317, 1320, 1332, 1335, 1339, 1342, 1344, 1349,
676 1351, 1352, 1355, 1357, 1365, 1367, 1369, 1371, 1375, 1378,
677 1382, 1386, 1387, 1388, 1392, 1400, 1401, 1402, 1416, 1418,
678 1421, 1423, 1434, 1439, 1441, 1443, 1445, 1447, 1449, 1451,
679 1454, 1456, 1473, 1474, 1478, 1482, 1486, 1490, 1492, 1496,
680 1498, 1500, 1508, 1510, 1512, 1514, 1518, 1520, 1522, 1524,
681 1529, 1531, 1533, 1535, 1538, 1540, 1542, 1586, 1589, 1593,
682 1596, 1600, 1603, 1608, 1610, 1614, 1627, 1630, 1637, 1644,
683 1649, 1651, 1656, 1658, 1665, 1667, 1671, 1675, 1681, 1685,
684 1688, 1691, 1694, 1704, 1706, 1709, 1713, 1716, 1719, 1722,
685 1725, 1731, 1737, 1739, 1744, 1746, 1755, 1758, 1760, 1763,
686 1769, 1771, 1781, 1785, 1788, 1791, 1796, 1799, 1807, 1809,
687 1811, 1813, 1816, 1819, 1834, 1853, 1856, 1858, 1861, 1863,
688 1867, 1869, 1873, 1875, 1879, 1882, 1886, 1892, 1893, 1905,
689 1912, 1915, 1921, 1925, 1930, 1936, 1937, 1945, 1948, 1952,
690 1955, 1959, 1964, 1967, 1971, 1974, 1976, 1978, 1980, 1987,
691 1989, 1990, 1991, 1995, 1998, 2002, 2005, 2011, 2013, 2016,
692 2019, 2022, 2028, 2031, 2034, 2036, 2038, 2042, 2048, 2056,
693 2063, 2067, 2069, 2074, 2077, 2080, 2082, 2084, 2088, 2093,
694 2100, 2104, 2108, 2115, 2119, 2122, 2125, 2131, 2143, 2145,
695 2148, 2168, 2170, 2173, 2175, 2180, 2182, 2184, 2186, 2188,
696 2190, 2194, 2202, 2205, 2207, 2211, 2217, 2222, 2227, 2229,
697 2233, 2236, 2240, 2246, 2252, 2277, 2283, 2285, 2288, 2291,
698 2293, 2297, 2299, 2303, 2308, 2314, 2317, 2318, 2339, 2362,
699 2364, 2368, 2379, 2393, 2398, 2399, 2400, 2401, 2404, 2419,
700 2424, 2430, 2432, 2437, 2439, 2441, 2443, 2445, 2447, 2450,
701 2460, 2467, 2492, 2498, 2501, 2504, 2506, 2517, 2522, 2525,
702 2530, 2533, 2540, 2550, 2553, 2560, 2570, 2572, 2575, 2577,
703 2580, 2587, 2595, 2602, 2608, 2614, 2622, 2626, 2631, 2635,
704 2638, 2647, 2649, 2653, 2656, 2661, 2665, 2671, 2682, 2685,
705 2689, 2693, 2701, 2706, 2712, 2715, 2717, 2719, 2725, 2728,
706 2730, 2732, 2734, 2738, 2741, 2759, 2769, 2771, 2772, 2776,
707 2781, 2784, 2786, 2788, 2790, 2794, 2800, 2802, 2810, 2813,
708 2815, 2817, 2819, 2823, 2826, 2829, 2831, 2833, 2835, 2839,
709 2842, 2845, 2847, 2849, 2851, 2853, 2860, 2864, 2869, 2873,
710 2878, 2880, 2884, 2887, 2889, 2892, 2894, 2895, 2898, 2900,
711 2902, 2908, 2923, 2929, 2935, 2949, 2951, 2955, 2969, 2971,
712 2973, 2977, 2983, 2996, 2998, 3002, 3015, 3021, 3023, 3024,
713 3025, 3033, 3038, 3047, 3048, 3052, 3055, 3061, 3067, 3070,
714 3072, 3074, 3076, 3080, 3084, 3088, 3091, 3096, 3099, 3101,
715 3103, 3105, 3107, 3109, 3111, 3113, 3117, 3121, 3125, 3129,
716 3130, 3132, 3134, 3136, 3138, 3140, 3142, 3144, 3146, 3154,
717 3156, 3157, 3158, 3161, 3167, 3169, 3174, 3176, 3179, 3193,
718 3196, 3199, 3203, 3206, 3213, 3215, 3218, 3220, 3222, 3225,
719 3228, 3231, 3234, 3236, 3239, 3243, 3245, 3251, 3253, 3254,
720 3256, 3261, 3263, 3265, 3267, 3269, 3272, 3273, 3275, 3278,
721 3279, 3282, 3282, 3285, 3285, 3288, 3288, 3290, 3292, 3294,
722 3296, 3302, 3308, 3311, 3314, 3320, 3322, 3324, 3328, 3330,
723 3331, 3332, 3334, 3337, 3344, 3349, 3355, 3359, 3361, 3364,
724 3366, 3369, 3373, 3375, 3378, 3380, 3383, 3400, 3406, 3414,
725 3416, 3418, 3422, 3425, 3426, 3434, 3438, 3442, 3445, 3446,
726 3452, 3455, 3458, 3460, 3464, 3469, 3472, 3482, 3487, 3488,
727 3495, 3498, 3501, 3503, 3506, 3508, 3518, 3532, 3536, 3539,
728 3541, 3545, 3549, 3552, 3555, 3557, 3561, 3563, 3570, 3577,
729 3580, 3583, 3587, 3591, 3597, 3601, 3606, 3608, 3611, 3616,
730 3622, 3633, 3636, 3638, 3642, 3647, 3649, 3656, 3659, 3661,
731 3663, 3669, 3674, 3677, 3679, 3681, 3683, 3685, 3687, 3689,
732 3691, 3693, 3695, 3697, 3699, 3701, 3703, 3705, 3707, 3709,
733 3711, 3713, 3715, 3717, 3719, 3721, 3723, 3725, 3727, 3729,
734 3731, 3733, 3735, 3737, 3739, 3742, 3744
735 };
736 #endif
737
738
739 #if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
740
741 static const char * const yytname[] = { "$","error","$undefined.","IDENTIFIER",
742 "TYPENAME","SELFNAME","PFUNCNAME","SCSPEC","TYPESPEC","CV_QUALIFIER","CONSTANT",
743 "STRING","ELLIPSIS","SIZEOF","ENUM","IF","ELSE","WHILE","DO","FOR","SWITCH",
744 "CASE","DEFAULT","BREAK","CONTINUE","RETURN","GOTO","ASM_KEYWORD","TYPEOF","ALIGNOF",
745 "SIGOF","ATTRIBUTE","EXTENSION","LABEL","REALPART","IMAGPART","AGGR","VISSPEC",
746 "DELETE","NEW","THIS","OPERATOR","CXX_TRUE","CXX_FALSE","NAMESPACE","TYPENAME_KEYWORD",
747 "USING","LEFT_RIGHT","TEMPLATE","TYPEID","DYNAMIC_CAST","STATIC_CAST","REINTERPRET_CAST",
748 "CONST_CAST","SCOPE","EMPTY","PTYPENAME","NSNAME","'{'","','","';'","THROW",
749 "':'","ASSIGN","'='","'?'","OROR","ANDAND","'|'","'^'","'&'","MIN_MAX","EQCOMPARE",
750 "ARITHCOMPARE","'<'","'>'","LSHIFT","RSHIFT","'+'","'-'","'*'","'/'","'%'","POINTSAT_STAR",
751 "DOT_STAR","UNARY","PLUSPLUS","MINUSMINUS","'~'","HYPERUNARY","PAREN_STAR_PAREN",
752 "POINTSAT","'.'","'('","'['","TRY","CATCH","PRE_PARSED_FUNCTION_DECL","EXTERN_LANG_STRING",
753 "ALL","PRE_PARSED_CLASS_DECL","DEFARG","DEFARG_MARKER","TYPENAME_DEFN","IDENTIFIER_DEFN",
754 "PTYPENAME_DEFN","END_OF_LINE","END_OF_SAVED_INPUT","')'","'}'","'!'","']'",
755 "program","extdefs","@1","extdefs_opt",".hush_warning",".warning_ok","extension",
756 "asm_keyword","lang_extdef","@2","extdef","@3","@4","namespace_alias","@5","using_decl",
757 "namespace_using_decl","using_directive","@6","namespace_qualifier","any_id",
758 "extern_lang_string","template_header","@7","template_parm_list","maybe_identifier",
759 "template_type_parm","template_template_parm","template_parm","template_def",
760 "template_extdef","template_datadef","datadef","ctor_initializer_opt","maybe_return_init",
761 "eat_saved_input","fndef","constructor_declarator","@8","@9","@10","@11","fn.def1",
762 "component_constructor_declarator","fn.def2","return_id","return_init","base_init",
763 ".set_base_init","member_init_list","member_init","identifier","notype_identifier",
764 "identifier_defn","explicit_instantiation","@12","@13","@14","@15","@16","@17",
765 "@18","@19","begin_explicit_instantiation","end_explicit_instantiation","template_type",
766 "apparent_template_type","self_template_type",".finish_template_type","template_close_bracket",
767 "template_arg_list_opt","template_arg_list","template_arg","unop","expr","paren_expr_or_null",
768 "paren_cond_or_null","xcond","condition","@20","compstmtend","already_scoped_stmt",
769 "@21","nontrivial_exprlist","nonnull_exprlist","unary_expr",".finish_new_placement",
770 ".begin_new_placement","new_placement","new_initializer","regcast_or_absdcl",
771 "cast_expr","expr_no_commas","notype_unqualified_id","do_id","template_id","object_template_id",
772 "unqualified_id","expr_or_declarator_intern","expr_or_declarator","notype_template_declarator",
773 "direct_notype_declarator","primary","@22","new","delete","boolean.literal",
774 "string","nodecls","object","decl","declarator","fcast_or_absdcl","type_id",
775 "typed_declspecs","typed_declspecs1","reserved_declspecs","declmods","typed_typespecs",
776 "reserved_typespecquals","typespec","typespecqual_reserved","initdecls","notype_initdecls",
777 "nomods_initdecls","maybeasm","initdcl","@23","initdcl0_innards","@24","initdcl0",
778 "notype_initdcl0","nomods_initdcl0","@25","maybe_attribute","attributes","attribute",
779 "attribute_list","attrib","any_word","identifiers_or_typenames","maybe_init",
780 "init","initlist","fn.defpen","pending_inline","pending_inlines","defarg_again",
781 "pending_defargs","structsp","@26","@27","@28","@29","maybecomma","maybecomma_warn",
782 "aggr","named_class_head_sans_basetype","named_class_head_sans_basetype_defn",
783 "named_complex_class_head_sans_basetype","named_class_head","@30","@31","unnamed_class_head",
784 "class_head","maybe_base_class_list","base_class_list","base_class","base_class.1",
785 "base_class_access_list","left_curly","opt.component_decl_list","access_specifier",
786 "component_decl_list","component_decl","component_decl_1","components","notype_components",
787 "component_declarator0","component_declarator","after_type_component_declarator0",
788 "notype_component_declarator0","after_type_component_declarator","notype_component_declarator",
789 "enumlist","enumerator","new_type_id","cv_qualifiers","nonempty_cv_qualifiers",
790 "suspend_mom","nonmomentary_expr","maybe_parmlist","after_type_declarator","nonnested_type",
791 "complete_type_name","nested_type","direct_after_type_declarator","notype_declarator_intern",
792 "notype_declarator","complex_notype_declarator","complex_direct_notype_declarator",
793 "qualified_id","notype_qualified_id","overqualified_id","functional_cast","type_name",
794 "nested_name_specifier","nested_name_specifier_1","typename_sub","typename_sub0",
795 "typename_sub1","typename_sub2","explicit_template_type","complex_type_name",
796 "ptr_to_mem","global_scope","new_declarator","direct_new_declarator","absdcl",
797 "direct_abstract_declarator","stmts","errstmt","maybe_label_decls","label_decls",
798 "label_decl","compstmt_or_error","compstmt","@32","simple_if","@33","@34","implicitly_scoped_stmt",
799 "@35","stmt","simple_stmt","@36","@37","@38","@39","@40","@41","@42","@43","@44",
800 "@45","@46","@47","@48","@49","function_try_block","@50","@51","try_block","@52",
801 "@53","handler_seq","handler","@54","@55","type_specifier_seq","handler_args",
802 "label_colon","for.init.statement","maybe_cv_qualifier","xexpr","asm_operands",
803 "nonnull_asm_operands","asm_operand","asm_clobbers","parmlist","complex_parmlist",
804 "defarg","@56","defarg1","parms","parms_comma","named_parm","full_parm","parm",
805 "see_typename","bad_parm","exception_specification_opt","ansi_raise_identifier",
806 "ansi_raise_identifiers","conversion_declarator","operator","operator_name", NULL
807 };
808 #endif
809
810 static const short yyr1[] = { 0,
811 112, 112, 114, 113, 113, 115, 115, 116, 117, 118,
812 119, 121, 120, 122, 122, 122, 122, 122, 122, 122,
813 123, 122, 124, 122, 122, 122, 122, 122, 126, 125,
814 127, 127, 127, 128, 128, 128, 130, 129, 131, 131,
815 132, 132, 132, 132, 133, 133, 135, 134, 134, 136,
816 136, 137, 137, 138, 138, 139, 140, 140, 140, 140,
817 140, 140, 141, 141, 142, 142, 142, 142, 142, 142,
818 143, 143, 143, 143, 144, 144, 144, 144, 144, 144,
819 144, 144, 144, 145, 145, 146, 146, 146, 147, 147,
820 148, 148, 148, 150, 149, 149, 151, 149, 149, 152,
821 149, 149, 153, 149, 149, 154, 154, 154, 154, 154,
822 155, 155, 155, 155, 156, 156, 156, 156, 156, 156,
823 156, 157, 158, 158, 158, 159, 160, 161, 161, 161,
824 161, 162, 162, 162, 162, 162, 162, 162, 162, 163,
825 163, 163, 163, 163, 164, 164, 164, 165, 165, 165,
826 167, 166, 168, 166, 169, 166, 170, 166, 171, 166,
827 172, 166, 173, 166, 174, 166, 175, 176, 177, 177,
828 177, 178, 178, 179, 180, 181, 181, 182, 182, 183,
829 183, 184, 184, 184, 185, 185, 185, 185, 185, 186,
830 186, 187, 187, 188, 188, 189, 189, 189, 191, 190,
831 190, 192, 192, 192, 192, 194, 193, 193, 195, 195,
832 195, 195, 196, 196, 197, 197, 197, 197, 197, 197,
833 197, 197, 197, 197, 197, 197, 197, 197, 197, 197,
834 197, 197, 197, 197, 197, 197, 197, 197, 198, 199,
835 200, 200, 201, 201, 201, 201, 202, 202, 203, 203,
836 203, 204, 204, 204, 204, 204, 204, 204, 204, 204,
837 204, 204, 204, 204, 204, 204, 204, 204, 204, 204,
838 204, 204, 204, 204, 204, 204, 205, 205, 205, 205,
839 205, 205, 205, 206, 207, 207, 208, 208, 208, 209,
840 209, 209, 210, 210, 211, 211, 211, 211, 212, 212,
841 213, 213, 213, 213, 214, 214, 214, 214, 214, 214,
842 214, 215, 214, 214, 214, 214, 214, 214, 214, 214,
843 214, 214, 214, 214, 214, 214, 214, 214, 214, 214,
844 214, 214, 214, 214, 214, 214, 214, 214, 214, 214,
845 214, 214, 214, 214, 214, 214, 214, 216, 216, 217,
846 217, 218, 218, 219, 219, 220, 221, 221, 222, 222,
847 222, 222, 222, 222, 223, 223, 224, 224, 225, 225,
848 225, 225, 225, 226, 226, 227, 227, 227, 227, 227,
849 227, 228, 228, 228, 228, 228, 229, 229, 229, 229,
850 229, 229, 230, 230, 230, 230, 231, 231, 232, 232,
851 232, 232, 232, 232, 232, 233, 233, 233, 234, 234,
852 235, 235, 236, 236, 237, 237, 239, 238, 238, 241,
853 240, 240, 242, 243, 245, 244, 244, 246, 246, 247,
854 247, 248, 249, 249, 250, 250, 250, 250, 250, 251,
855 251, 251, 251, 252, 252, 253, 253, 254, 254, 254,
856 254, 254, 255, 255, 255, 255, 255, 256, 257, 257,
857 257, 258, 258, 259, 259, 260, 260, 260, 262, 261,
858 261, 263, 261, 261, 261, 261, 261, 264, 265, 261,
859 261, 266, 266, 267, 267, 268, 268, 268, 268, 268,
860 268, 269, 270, 270, 270, 271, 271, 271, 271, 271,
861 272, 273, 272, 274, 272, 275, 276, 276, 277, 277,
862 277, 278, 278, 279, 279, 280, 280, 280, 280, 281,
863 281, 281, 281, 282, 283, 283, 283, 283, 284, 285,
864 285, 286, 286, 286, 286, 286, 286, 286, 286, 286,
865 286, 287, 287, 287, 287, 287, 287, 287, 287, 287,
866 288, 288, 288, 289, 289, 289, 290, 290, 291, 291,
867 292, 292, 293, 293, 293, 293, 294, 294, 295, 295,
868 295, 296, 296, 297, 297, 298, 298, 298, 299, 299,
869 300, 300, 301, 302, 303, 303, 303, 303, 304, 304,
870 304, 304, 304, 304, 305, 305, 306, 306, 306, 307,
871 308, 308, 308, 308, 308, 308, 309, 309, 310, 310,
872 310, 310, 310, 310, 311, 311, 311, 311, 311, 311,
873 312, 312, 312, 312, 312, 312, 313, 313, 314, 314,
874 315, 315, 316, 316, 316, 317, 317, 317, 318, 318,
875 318, 319, 319, 319, 319, 320, 320, 321, 321, 321,
876 321, 322, 322, 322, 322, 323, 323, 323, 323, 323,
877 323, 324, 325, 325, 325, 326, 326, 327, 328, 328,
878 328, 328, 328, 328, 328, 329, 329, 330, 330, 330,
879 330, 330, 330, 330, 330, 330, 330, 330, 331, 331,
880 331, 331, 331, 331, 331, 331, 331, 331, 331, 332,
881 332, 332, 332, 333, 334, 334, 335, 335, 336, 337,
882 337, 339, 338, 341, 342, 340, 343, 344, 343, 345,
883 345, 346, 346, 347, 346, 346, 348, 349, 346, 350,
884 351, 346, 352, 353, 354, 355, 346, 356, 357, 346,
885 358, 346, 359, 346, 360, 346, 346, 346, 346, 346,
886 346, 346, 346, 346, 346, 346, 346, 346, 346, 346,
887 346, 346, 346, 362, 363, 361, 365, 366, 364, 367,
888 367, 369, 370, 368, 371, 371, 372, 372, 373, 373,
889 373, 373, 374, 374, 374, 375, 375, 376, 376, 376,
890 377, 377, 378, 378, 379, 380, 380, 381, 381, 381,
891 382, 382, 382, 382, 382, 382, 382, 384, 383, 385,
892 385, 386, 386, 386, 386, 386, 387, 387, 388, 388,
893 388, 388, 388, 388, 389, 389, 390, 390, 391, 392,
894 392, 393, 393, 393, 394, 395, 395, 396, 396, 396,
895 396, 397, 398, 398, 398, 398, 398, 398, 398, 398,
896 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
897 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
898 398, 398, 398, 398, 398, 398, 398
899 };
900
901 static const short yyr2[] = { 0,
902 0, 1, 0, 2, 2, 1, 0, 0, 0, 1,
903 1, 0, 2, 2, 1, 1, 5, 4, 5, 4,
904 0, 6, 0, 5, 1, 2, 1, 2, 0, 6,
905 2, 3, 3, 3, 3, 4, 0, 5, 2, 3,
906 1, 1, 2, 2, 1, 2, 0, 5, 3, 1,
907 3, 1, 0, 2, 2, 3, 1, 3, 1, 3,
908 1, 3, 2, 2, 2, 1, 1, 5, 4, 2,
909 2, 3, 3, 2, 2, 3, 3, 2, 2, 2,
910 2, 2, 1, 1, 1, 0, 1, 2, 0, 1,
911 4, 3, 3, 0, 8, 5, 0, 9, 6, 0,
912 8, 5, 0, 9, 6, 2, 2, 1, 2, 1,
913 6, 4, 6, 4, 2, 1, 2, 2, 1, 2,
914 1, 2, 2, 4, 2, 3, 0, 0, 1, 3,
915 2, 3, 1, 4, 2, 4, 2, 4, 2, 1,
916 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
917 0, 6, 0, 6, 0, 5, 0, 5, 0, 7,
918 0, 7, 0, 6, 0, 6, 0, 0, 5, 5,
919 1, 1, 5, 5, 0, 1, 1, 0, 1, 1,
920 3, 1, 1, 1, 1, 1, 1, 1, 1, 1,
921 1, 1, 3, 1, 3, 0, 1, 1, 0, 7,
922 1, 1, 3, 4, 3, 0, 3, 1, 3, 3,
923 3, 3, 1, 1, 1, 2, 2, 2, 2, 2,
924 2, 2, 4, 2, 4, 2, 3, 3, 4, 5,
925 6, 6, 7, 2, 4, 5, 2, 2, 1, 0,
926 4, 4, 3, 1, 3, 2, 3, 4, 1, 2,
927 5, 1, 3, 3, 3, 3, 3, 3, 3, 3,
928 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
929 3, 5, 3, 3, 1, 2, 3, 3, 1, 1,
930 1, 1, 1, 0, 5, 5, 5, 5, 5, 1,
931 1, 1, 1, 2, 1, 2, 2, 3, 4, 4,
932 1, 1, 1, 3, 1, 1, 1, 1, 3, 3,
933 3, 0, 4, 4, 2, 4, 2, 4, 2, 2,
934 1, 4, 1, 7, 7, 7, 7, 4, 4, 2,
935 2, 2, 1, 4, 2, 2, 5, 3, 2, 2,
936 5, 3, 5, 3, 4, 6, 2, 1, 2, 1,
937 2, 1, 1, 1, 2, 0, 2, 2, 3, 3,
938 3, 2, 2, 2, 1, 1, 1, 2, 2, 2,
939 2, 1, 1, 1, 1, 2, 2, 3, 3, 3,
940 4, 1, 2, 2, 2, 1, 1, 1, 2, 2,
941 2, 1, 1, 2, 2, 3, 1, 2, 1, 1,
942 1, 4, 4, 4, 4, 1, 1, 1, 1, 3,
943 1, 3, 1, 3, 0, 4, 0, 6, 3, 0,
944 4, 1, 3, 3, 0, 4, 3, 0, 1, 1,
945 2, 6, 1, 3, 0, 1, 4, 6, 4, 1,
946 1, 1, 1, 1, 3, 0, 2, 1, 2, 3,
947 4, 1, 1, 3, 4, 3, 5, 1, 4, 3,
948 3, 0, 3, 3, 3, 0, 2, 2, 0, 7,
949 4, 0, 6, 3, 2, 2, 2, 0, 0, 9,
950 1, 0, 1, 0, 1, 1, 2, 2, 2, 2,
951 2, 2, 2, 2, 2, 3, 4, 3, 2, 3,
952 1, 0, 3, 0, 3, 2, 1, 1, 0, 2,
953 3, 1, 4, 1, 3, 1, 1, 4, 4, 2,
954 2, 3, 3, 1, 0, 1, 3, 2, 2, 1,
955 2, 2, 2, 2, 2, 2, 2, 1, 2, 2,
956 3, 2, 2, 4, 4, 2, 1, 5, 4, 1,
957 0, 1, 3, 0, 1, 3, 1, 1, 1, 1,
958 4, 4, 4, 4, 4, 3, 4, 4, 4, 4,
959 3, 1, 3, 1, 3, 2, 1, 7, 0, 2,
960 1, 2, 0, 2, 4, 4, 2, 4, 3, 3,
961 2, 2, 3, 1, 1, 2, 1, 1, 2, 2,
962 4, 4, 3, 3, 2, 1, 1, 2, 3, 3,
963 2, 2, 3, 1, 3, 3, 2, 2, 3, 1,
964 4, 3, 4, 3, 1, 2, 2, 2, 2, 2,
965 1, 2, 4, 4, 2, 1, 1, 1, 1, 2,
966 4, 2, 2, 2, 2, 1, 2, 2, 2, 2,
967 3, 1, 2, 3, 4, 2, 2, 2, 2, 2,
968 2, 4, 2, 1, 2, 2, 3, 1, 3, 2,
969 3, 2, 2, 3, 1, 3, 4, 3, 2, 2,
970 1, 3, 2, 2, 1, 2, 3, 1, 3, 1,
971 6, 4, 4, 3, 5, 3, 3, 3, 2, 1,
972 1, 2, 2, 2, 0, 1, 1, 2, 3, 1,
973 2, 0, 3, 0, 0, 5, 1, 0, 2, 1,
974 1, 1, 2, 0, 4, 1, 0, 0, 5, 0,
975 0, 7, 0, 0, 0, 0, 12, 0, 0, 7,
976 0, 5, 0, 7, 0, 4, 2, 2, 2, 3,
977 6, 8, 10, 12, 4, 3, 2, 2, 1, 1,
978 1, 1, 1, 0, 0, 6, 0, 0, 5, 1,
979 2, 0, 0, 5, 1, 1, 3, 3, 2, 2,
980 2, 2, 2, 1, 2, 0, 1, 0, 1, 1,
981 0, 1, 1, 3, 4, 1, 3, 0, 1, 1,
982 1, 2, 2, 2, 1, 2, 2, 0, 3, 1,
983 1, 1, 2, 2, 2, 4, 2, 2, 2, 2,
984 2, 2, 1, 2, 1, 2, 1, 1, 0, 0,
985 1, 0, 4, 2, 1, 1, 3, 0, 3, 3,
986 3, 1, 2, 2, 2, 2, 2, 2, 2, 2,
987 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
988 2, 2, 2, 2, 2, 3, 2, 2, 2, 2,
989 3, 2, 2, 4, 4, 3, 2
990 };
991
992 static const short yydefact[] = { 3,
993 12, 12, 5, 0, 4, 0, 281, 636, 637, 0,
994 388, 400, 581, 0, 11, 0, 0, 0, 10, 486,
995 842, 0, 0, 0, 167, 668, 282, 283, 83, 0,
996 0, 829, 0, 45, 0, 0, 13, 25, 0, 27,
997 8, 0, 16, 15, 89, 110, 86, 0, 638, 171,
998 302, 279, 303, 614, 0, 375, 0, 374, 393, 0,
999 413, 392, 430, 399, 0, 501, 502, 504, 508, 507,
1000 481, 387, 597, 401, 598, 108, 301, 625, 595, 0,
1001 639, 579, 0, 0, 280, 81, 82, 178, 642, 178,
1002 643, 178, 284, 167, 140, 141, 142, 143, 144, 472,
1003 475, 0, 664, 0, 476, 0, 0, 0, 0, 141,
1004 142, 143, 144, 23, 0, 0, 0, 0, 0, 0,
1005 0, 477, 646, 0, 652, 0, 0, 0, 37, 0,
1006 0, 31, 0, 0, 47, 0, 178, 644, 0, 0,
1007 0, 612, 607, 0, 0, 0, 611, 0, 0, 0,
1008 0, 302, 0, 293, 583, 0, 0, 301, 579, 28,
1009 0, 26, 3, 46, 0, 64, 388, 0, 0, 8,
1010 67, 63, 66, 89, 0, 0, 0, 399, 90, 14,
1011 0, 428, 0, 0, 446, 87, 79, 645, 583, 0,
1012 579, 80, 0, 0, 0, 106, 0, 409, 365, 594,
1013 366, 606, 0, 579, 390, 389, 78, 109, 376, 0,
1014 411, 391, 107, 382, 406, 407, 377, 395, 397, 386,
1015 408, 0, 75, 431, 487, 488, 489, 490, 506, 149,
1016 148, 150, 492, 493, 172, 499, 491, 0, 0, 494,
1017 495, 509, 509, 524, 0, 582, 394, 0, 425, 637,
1018 0, 666, 171, 629, 630, 626, 600, 640, 0, 599,
1019 596, 0, 877, 873, 872, 870, 852, 857, 858, 0,
1020 864, 863, 849, 850, 848, 867, 856, 853, 854, 855,
1021 859, 860, 846, 847, 843, 844, 845, 869, 861, 862,
1022 851, 868, 0, 865, 775, 393, 776, 838, 284, 281,
1023 581, 306, 354, 0, 0, 0, 0, 350, 348, 321,
1024 352, 353, 0, 0, 0, 0, 0, 282, 283, 275,
1025 0, 0, 186, 185, 0, 187, 188, 0, 0, 189,
1026 0, 0, 179, 180, 0, 249, 0, 252, 184, 305,
1027 215, 0, 0, 307, 308, 0, 182, 372, 393, 373,
1028 631, 333, 323, 0, 0, 0, 0, 178, 0, 474,
1029 0, 469, 0, 665, 663, 0, 190, 191, 0, 0,
1030 0, 435, 3, 21, 29, 660, 656, 657, 659, 661,
1031 658, 140, 141, 142, 0, 143, 144, 648, 649, 653,
1032 650, 647, 0, 291, 292, 290, 628, 627, 33, 32,
1033 49, 0, 157, 0, 0, 393, 155, 0, 0, 608,
1034 610, 0, 609, 141, 142, 277, 278, 297, 0, 618,
1035 296, 0, 617, 0, 304, 282, 283, 0, 0, 0,
1036 295, 294, 622, 0, 0, 12, 0, 167, 9, 9,
1037 70, 0, 65, 0, 0, 71, 74, 0, 427, 429,
1038 122, 93, 127, 764, 0, 85, 84, 92, 125, 0,
1039 0, 123, 88, 624, 0, 0, 587, 0, 832, 0,
1040 592, 0, 591, 0, 0, 0, 0, 579, 428, 0,
1041 77, 583, 579, 605, 0, 379, 380, 0, 76, 428,
1042 384, 383, 385, 378, 398, 415, 414, 178, 496, 500,
1043 498, 0, 829, 503, 505, 547, 637, 0, 538, 0,
1044 0, 550, 0, 121, 116, 0, 171, 551, 554, 0,
1045 0, 530, 0, 119, 396, 428, 579, 94, 0, 0,
1046 0, 0, 579, 100, 580, 613, 637, 667, 171, 0,
1047 0, 866, 871, 395, 579, 579, 0, 579, 876, 178,
1048 0, 0, 0, 222, 0, 0, 224, 237, 238, 0,
1049 0, 0, 0, 0, 276, 221, 218, 217, 219, 0,
1050 0, 0, 0, 0, 305, 0, 0, 0, 216, 176,
1051 177, 299, 0, 220, 0, 0, 250, 0, 0, 0,
1052 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1053 0, 0, 0, 0, 0, 0, 0, 0, 0, 315,
1054 0, 317, 319, 320, 358, 357, 0, 0, 240, 240,
1055 0, 226, 577, 0, 234, 355, 347, 0, 0, 829,
1056 336, 339, 340, 0, 0, 367, 685, 681, 690, 0,
1057 583, 579, 579, 579, 369, 688, 0, 635, 371, 0,
1058 0, 370, 335, 0, 330, 349, 331, 351, 632, 0,
1059 332, 175, 175, 0, 165, 0, 393, 163, 574, 484,
1060 572, 471, 0, 0, 402, 0, 0, 403, 404, 405,
1061 441, 442, 443, 440, 0, 433, 436, 0, 3, 0,
1062 651, 178, 654, 0, 41, 42, 0, 53, 0, 0,
1063 57, 61, 50, 828, 823, 0, 372, 393, 53, 373,
1064 827, 59, 168, 153, 151, 168, 175, 300, 616, 615,
1065 304, 0, 619, 0, 18, 20, 89, 9, 9, 73,
1066 72, 0, 128, 356, 0, 712, 91, 710, 452, 0,
1067 448, 447, 214, 0, 213, 584, 623, 0, 805, 0,
1068 800, 393, 0, 799, 801, 830, 812, 0, 0, 621,
1069 590, 589, 0, 0, 604, 0, 423, 422, 410, 603,
1070 0, 832, 593, 381, 412, 424, 428, 0, 497, 510,
1071 579, 798, 546, 539, 551, 540, 428, 428, 536, 537,
1072 534, 535, 579, 798, 281, 636, 0, 415, 117, 542,
1073 552, 557, 558, 415, 415, 0, 0, 415, 115, 543,
1074 555, 415, 0, 428, 0, 531, 532, 533, 428, 426,
1075 832, 798, 178, 178, 641, 178, 832, 798, 579, 97,
1076 579, 103, 875, 874, 838, 838, 838, 0, 0, 0,
1077 0, 635, 0, 0, 0, 0, 393, 0, 0, 0,
1078 311, 0, 309, 310, 0, 247, 181, 281, 636, 637,
1079 282, 283, 0, 0, 453, 482, 0, 274, 273, 790,
1080 789, 0, 271, 270, 268, 269, 267, 266, 265, 262,
1081 263, 264, 260, 261, 255, 256, 257, 258, 259, 253,
1082 254, 0, 0, 0, 0, 0, 240, 228, 244, 0,
1083 0, 227, 579, 579, 0, 579, 576, 675, 0, 0,
1084 0, 0, 0, 338, 0, 342, 0, 344, 0, 684,
1085 683, 680, 679, 828, 0, 0, 699, 0, 0, 832,
1086 368, 832, 686, 579, 798, 583, 685, 681, 0, 0,
1087 579, 0, 392, 0, 0, 0, 0, 170, 174, 285,
1088 168, 161, 159, 168, 0, 485, 0, 484, 212, 211,
1089 210, 209, 435, 0, 0, 24, 0, 0, 655, 0,
1090 38, 44, 43, 55, 52, 53, 0, 48, 0, 0,
1091 685, 681, 0, 819, 579, 822, 824, 0, 820, 821,
1092 54, 492, 0, 158, 168, 168, 156, 169, 298, 17,
1093 19, 69, 89, 416, 145, 636, 637, 133, 146, 147,
1094 0, 126, 129, 0, 638, 0, 0, 0, 0, 711,
1095 705, 449, 0, 124, 588, 585, 804, 818, 807, 0,
1096 586, 803, 817, 806, 802, 831, 814, 825, 815, 808,
1097 813, 834, 0, 420, 602, 601, 419, 175, 829, 0,
1098 829, 511, 512, 514, 829, 517, 516, 832, 0, 541,
1099 446, 446, 832, 0, 0, 0, 428, 428, 0, 428,
1100 428, 0, 428, 0, 529, 478, 0, 446, 96, 0,
1101 0, 0, 0, 102, 0, 832, 798, 832, 798, 840,
1102 839, 841, 286, 322, 223, 225, 328, 329, 0, 0,
1103 0, 0, 310, 313, 0, 0, 0, 0, 248, 0,
1104 314, 316, 318, 0, 0, 0, 0, 229, 246, 0,
1105 0, 672, 670, 0, 673, 583, 235, 0, 0, 178,
1106 345, 0, 0, 0, 682, 678, 689, 579, 698, 696,
1107 697, 687, 832, 0, 694, 0, 633, 634, 0, 334,
1108 166, 168, 168, 164, 575, 573, 473, 0, 434, 432,
1109 281, 0, 22, 30, 662, 56, 51, 58, 62, 684,
1110 680, 685, 681, 0, 595, 0, 579, 686, 60, 154,
1111 152, 68, 0, 131, 0, 135, 0, 137, 0, 139,
1112 0, 765, 0, 202, 713, 0, 706, 707, 0, 450,
1113 685, 681, 0, 305, 0, 631, 826, 0, 0, 835,
1114 836, 0, 0, 417, 173, 521, 0, 520, 829, 829,
1115 829, 0, 112, 579, 545, 549, 114, 579, 428, 428,
1116 566, 446, 281, 636, 0, 553, 559, 560, 415, 415,
1117 446, 446, 0, 446, 556, 466, 544, 579, 288, 287,
1118 289, 579, 99, 0, 105, 0, 0, 0, 0, 0,
1119 0, 456, 0, 454, 251, 272, 242, 241, 239, 230,
1120 0, 243, 245, 671, 669, 676, 674, 0, 236, 0,
1121 0, 337, 341, 343, 832, 692, 579, 693, 162, 160,
1122 470, 0, 437, 439, 684, 680, 600, 686, 132, 130,
1123 0, 0, 0, 0, 444, 0, 0, 281, 636, 637,
1124 714, 727, 730, 733, 738, 0, 0, 0, 0, 0,
1125 0, 0, 0, 282, 759, 767, 0, 786, 763, 762,
1126 761, 0, 722, 0, 0, 393, 0, 701, 720, 726,
1127 700, 721, 760, 0, 708, 451, 0, 634, 816, 810,
1128 811, 809, 0, 833, 421, 0, 0, 0, 0, 523,
1129 522, 515, 832, 832, 565, 562, 564, 0, 0, 428,
1130 428, 428, 561, 563, 548, 0, 832, 832, 579, 579,
1131 0, 0, 0, 0, 455, 0, 0, 231, 232, 677,
1132 346, 287, 695, 832, 0, 134, 136, 138, 772, 766,
1133 770, 0, 709, 704, 205, 779, 781, 782, 0, 0,
1134 718, 0, 0, 0, 745, 747, 748, 749, 0, 0,
1135 0, 0, 0, 0, 0, 780, 0, 364, 787, 0,
1136 723, 362, 415, 0, 363, 0, 415, 0, 0, 0,
1137 203, 703, 702, 724, 758, 757, 310, 837, 418, 518,
1138 519, 513, 111, 113, 428, 428, 571, 446, 446, 468,
1139 0, 467, 462, 95, 101, 832, 832, 324, 325, 326,
1140 327, 457, 0, 233, 691, 438, 0, 771, 445, 194,
1141 0, 715, 728, 717, 0, 0, 0, 0, 0, 741,
1142 0, 750, 0, 756, 39, 144, 34, 144, 0, 35,
1143 768, 0, 360, 361, 0, 0, 0, 359, 204, 718,
1144 570, 568, 567, 569, 0, 0, 480, 98, 104, 578,
1145 0, 773, 201, 0, 393, 0, 718, 0, 731, 719,
1146 705, 784, 734, 0, 0, 0, 0, 746, 755, 40,
1147 36, 0, 0, 725, 465, 464, 458, 86, 89, 0,
1148 0, 0, 195, 415, 716, 206, 729, 208, 0, 785,
1149 0, 783, 739, 743, 742, 769, 791, 0, 0, 463,
1150 777, 778, 774, 428, 705, 192, 0, 0, 198, 0,
1151 197, 718, 0, 0, 0, 792, 793, 751, 461, 0,
1152 460, 0, 207, 0, 732, 735, 740, 744, 0, 791,
1153 0, 0, 459, 199, 193, 0, 0, 0, 752, 794,
1154 0, 0, 795, 0, 0, 200, 736, 796, 0, 753,
1155 0, 0, 0, 737, 797, 754, 0, 0, 0
1156 };
1157
1158 static const short yydefgoto[] = { 1627,
1159 436, 2, 437, 165, 726, 331, 181, 3, 4, 37,
1160 689, 373, 1329, 690, 512, 1330, 1331, 393, 1424, 694,
1161 41, 513, 402, 700, 974, 701, 702, 703, 43, 172,
1162 173, 44, 455, 184, 180, 45, 46, 822, 1087, 828,
1163 1089, 47, 515, 516, 185, 186, 456, 733, 1012, 1013,
1164 669, 1014, 234, 48, 996, 995, 716, 713, 1153, 1152,
1165 954, 951, 136, 994, 49, 236, 50, 948, 582, 332,
1166 333, 334, 335, 1332, 1578, 1482, 1580, 1524, 1611, 1195,
1167 1557, 1575, 367, 940, 336, 1270, 895, 621, 902, 337,
1168 338, 368, 340, 358, 52, 255, 695, 418, 154, 53,
1169 54, 341, 577, 342, 343, 344, 345, 457, 346, 1333,
1170 496, 643, 347, 1334, 56, 217, 706, 348, 218, 555,
1171 219, 197, 210, 60, 479, 497, 1356, 767, 1213, 198,
1172 211, 61, 526, 768, 62, 63, 685, 686, 687, 1306,
1173 462, 865, 866, 1548, 1549, 1517, 1462, 1376, 64, 673,
1174 361, 1246, 1463, 1108, 957, 65, 66, 67, 68, 69,
1175 242, 243, 70, 71, 504, 1052, 1053, 1054, 1055, 245,
1176 520, 815, 521, 522, 523, 800, 810, 801, 1236, 802,
1177 803, 1237, 1238, 670, 671, 622, 930, 350, 465, 466,
1178 191, 199, 73, 74, 75, 200, 142, 143, 157, 77,
1179 132, 351, 352, 353, 79, 354, 81, 1057, 123, 124,
1180 125, 531, 105, 82, 355, 907, 908, 925, 646, 1337,
1181 1338, 1196, 1197, 1198, 737, 1339, 1021, 1340, 1409, 1527,
1182 1485, 1486, 1341, 1342, 1510, 1410, 1528, 1411, 1559, 1412,
1183 1561, 1606, 1621, 1413, 1582, 1537, 1583, 1491, 458, 734,
1184 1304, 1343, 1427, 1542, 1400, 1401, 1477, 1552, 1526, 1522,
1185 1344, 1533, 1430, 872, 1585, 1586, 1587, 1619, 753, 754,
1186 1041, 1209, 1352, 755, 756, 757, 1037, 758, 148, 1039,
1187 760, 1211, 1212, 549, 84, 85
1188 };
1189
1190 static const short yypact[] = { 136,
1191 169,-32768,-32768, 5066,-32768, 203, 163, 73, 77, 190,
1192 291,-32768,-32768, 1458,-32768, 259, 264, 279,-32768,-32768,
1193 -32768, 871, 2044, 1374, 330,-32768, 336, 320,-32768, 1976,
1194 1976,-32768, 2798,-32768, 5066, 351,-32768,-32768, 355,-32768,
1195 51, 3166,-32768,-32768, 344, 824, 443, 463, 483,-32768,
1196 -32768,-32768,-32768, 324, 5213,-32768, 5421,-32768, 2205, 804,
1197 -32768, 456,-32768,-32768, 1137, 623,-32768,-32768,-32768,-32768,
1198 435, 3747,-32768,-32768,-32768, 198,-32768,-32768,-32768, 906,
1199 -32768,-32768, 1174, 8340, 481,-32768,-32768, 10037,-32768, 10037,
1200 -32768, 10037,-32768,-32768,-32768, 73, 77, 336, 510, 472,
1201 539, 483,-32768, 1000,-32768, 1174, 10123, 10123, 509,-32768,
1202 -32768,-32768,-32768,-32768, 234, 550, 474, 541, 767, 554,
1203 564,-32768,-32768, 1006,-32768, 305, 73, 77,-32768, 336,
1204 510,-32768, 2508, 1031, 545, 5547, 10037,-32768, 10037, 4171,
1205 2952,-32768,-32768, 1311, 1265, 2952,-32768, 664, 3604, 3604,
1206 2798, 517, 538,-32768, 559, 876, 562, 592,-32768,-32768,
1207 700,-32768, 630,-32768, 3999,-32768,-32768, 330, 3843, 643,
1208 -32768,-32768,-32768, 344, 6652, 6133, 836, 690,-32768,-32768,
1209 684, 456, 778, 176, 458, 728,-32768,-32768, 691, 69,
1210 -32768,-32768, 3940, 3940, 6529, 198, 864,-32768,-32768, 546,
1211 -32768,-32768, 1679,-32768,-32768,-32768,-32768,-32768, 2205, 883,
1212 -32768, 456, 198,-32768,-32768,-32768, 2251, 2205,-32768, 456,
1213 -32768, 6652,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1214 -32768,-32768, 749,-32768, 483,-32768, 456, 2169, 910,-32768,
1215 -32768, 766, 766,-32768, 4696,-32768, 715, 1174,-32768, 784,
1216 1757,-32768, 366,-32768,-32768,-32768,-32768,-32768, 4100,-32768,
1217 -32768, 769,-32768, 740, 758,-32768,-32768,-32768,-32768, 781,
1218 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1219 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1220 -32768,-32768, 755,-32768,-32768, 715, 3747, 1632,-32768,-32768,
1221 776,-32768,-32768, 10731, 10817, 10903, 10903,-32768,-32768,-32768,
1222 -32768,-32768, 780, 786, 797, 825, 832, 1025, 510, 10209,
1223 1357, 10903,-32768,-32768, 10903,-32768,-32768, 10903, 7539,-32768,
1224 10903, 65, 849,-32768, 10903,-32768, 10295,-32768, 11119, 426,
1225 1563, 3740, 10381,-32768, 919, 2567,-32768, 1700, 2285, 3286,
1226 -32768, 431,-32768, 3387, 1998, 65, 65, 10037, 5547,-32768,
1227 1357, 827, 1357,-32768,-32768, 826, 879, 11052, 837, 842,
1228 857, 1966, 630,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1229 -32768, 550, 474, 541, 1357, 767, 554, 881, 564,-32768,
1230 914,-32768, 270, 73, 77,-32768,-32768,-32768,-32768,-32768,
1231 -32768, 6834,-32768, 6652, 6645, 723,-32768, 65, 301,-32768,
1232 -32768, 811,-32768, 897, 903,-32768,-32768,-32768, 2952,-32768,
1233 -32768, 2952,-32768, 873,-32768,-32768,-32768, 876, 876, 876,
1234 -32768,-32768,-32768, 4100, 103, 875, 884,-32768,-32768,-32768,
1235 -32768, 5547,-32768, 900, 963,-32768,-32768, 700,-32768, 456,
1236 -32768,-32768,-32768,-32768, 165,-32768,-32768,-32768,-32768, 8091,
1237 10209,-32768,-32768,-32768, 10209, 877,-32768, 5311, 240, 4742,
1238 -32768, 4742,-32768, 5059, 5059, 6529, 882,-32768, 456, 6652,
1239 -32768, 891,-32768,-32768, 5849, 2251, 2205, 6652,-32768, 456,
1240 -32768,-32768, 456, 2251,-32768, 981,-32768, 10037, 749,-32768,
1241 -32768, 2169,-32768,-32768,-32768,-32768, 807, 385,-32768, 10209,
1242 1836,-32768, 1836, 219, 219, 220, 433, 3033, 4527, 108,
1243 4879,-32768, 274, 219, 715, 456,-32768,-32768, 941, 944,
1244 971, 955,-32768,-32768,-32768,-32768, 847,-32768, 439, 921,
1245 927,-32768,-32768, 715,-32768,-32768, 1100,-32768,-32768, 10037,
1246 10209, 776, 7539,-32768, 451, 7539,-32768,-32768,-32768, 10123,
1247 4970, 4970, 4970, 4970, 11097,-32768,-32768,-32768,-32768, 934,
1248 10473, 10473, 7539, 937, 437, 939, 991, 947,-32768,-32768,
1249 -32768,-32768, 10037,-32768, 7630, 7539,-32768, 10209, 10209, 5654,
1250 10209, 10209, 10209, 10209, 10209, 10209, 10209, 10209, 10209, 10209,
1251 10209, 10209, 10209, 10209, 10209, 10209, 10209, 10209, 10209,-32768,
1252 10209,-32768,-32768,-32768,-32768,-32768, 10209, 10209,-32768,-32768,
1253 339, 651, 1120, 8700,-32768,-32768,-32768, 998, 1757, 1053,
1254 469, 482, 581, 3585, 1265,-32768, 1659, 1659,-32768, 3502,
1255 960, 982, 1043,-32768,-32768, 590, 9320, 1173,-32768, 1103,
1256 1174,-32768,-32768, 10209,-32768,-32768,-32768,-32768,-32768, 90,
1257 481,-32768,-32768, 65,-32768, 6652, 1444,-32768, 1014, 1034,
1258 -32768,-32768, 1357, 881,-32768, 8432, 8523,-32768,-32768,-32768,
1259 -32768,-32768,-32768,-32768, 278,-32768, 1016, 1020, 630, 270,
1260 1062, 10037,-32768, 1073,-32768,-32768, 1031, 2198, 1102, 71,
1261 1079, 1083,-32768,-32768, 2306, 6133, 2306, 2152, 1137, 4350,
1262 -32768, 1094,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1263 1046, 1054,-32768, 1107,-32768,-32768, 344,-32768,-32768,-32768,
1264 -32768, 104, 1493, 1101, 991,-32768,-32768,-32768,-32768, 7429,
1265 11097,-32768, 879, 1064, 11052,-32768,-32768, 1067,-32768, 1089,
1266 93, 3406, 1095,-32768, 571, 5919, 1140, 1145, 649,-32768,
1267 -32768,-32768, 4742, 4742,-32768, 5849,-32768, 1157,-32768,-32768,
1268 1111, 240,-32768, 2251,-32768,-32768, 456, 1109,-32768, 2385,
1269 -32768, 7162, 11097,-32768, 5202,-32768, 456, 456,-32768,-32768,
1270 -32768,-32768,-32768, 7162, 174, 966, 10209, 981,-32768, 1166,
1271 -32768,-32768,-32768, 485, 580, 906, 1265, 587, 219, 1177,
1272 -32768, 676, 1161, 456, 8768,-32768,-32768,-32768, 456,-32768,
1273 240, 7162, 10037, 10037,-32768, 10037, 240, 7162,-32768,-32768,
1274 -32768,-32768,-32768,-32768, 1688, 1688, 1688, 65, 1136, 1143,
1275 9688, 1043, 1147, 1149, 1152, 1170, 2853, 1186, 1189, 1190,
1276 -32768, 1167,-32768,-32768, 1168,-32768,-32768, 1211, 996, 1060,
1277 557, 601, 10209, 1217,-32768, 1232, 1191, 11097, 11097,-32768,
1278 -32768, 1235, 5746, 6217, 6158, 4780, 2387, 5364, 4442, 2354,
1279 2354, 2354, 1205, 1205, 1512, 1512, 1028, 1028, 1028,-32768,
1280 -32768, 1192, 1194, 1183, 10209, 10123,-32768, 651,-32768, 8091,
1281 10209,-32768,-32768,-32768, 10209,-32768,-32768, 1204, 10903, 1199,
1282 1215, 1231, 1264,-32768, 10209,-32768, 10209,-32768, 10209, 2925,
1283 -32768, 2925,-32768, 228, 1216, 1218,-32768, 1214, 4970, 240,
1284 -32768, 240, 3053,-32768, 7162, 1219, 9504, 9504, 6451, 1220,
1285 10295, 1221, 876, 2159, 1998, 1368, 1224,-32768,-32768,-32768,
1286 -32768,-32768,-32768,-32768, 10209, 1357, 1225, 1034,-32768, 11097,
1287 -32768, 11097, 1966, 1227, 10559,-32768, 1233, 1253,-32768, 65,
1288 -32768,-32768,-32768,-32768,-32768, 1852, 6834,-32768, 4970, 10037,
1289 1202, 1202, 4282,-32768,-32768,-32768,-32768, 1679,-32768,-32768,
1290 -32768, 1188, 10209,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1291 -32768,-32768, 344,-32768, 550, 474, 541,-32768, 767, 554,
1292 10209, 1285,-32768, 672, 564, 702, 706, 1806, 991,-32768,
1293 96,-32768, 171,-32768,-32768,-32768,-32768,-32768,-32768, 9412,
1294 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 1145, 1283,-32768,
1295 -32768,-32768, 4970,-32768,-32768,-32768, 1284,-32768,-32768, 1257,
1296 -32768, 1294,-32768,-32768, 298,-32768,-32768, 240, 1249,-32768,
1297 1305, 1305, 240, 1262, 10209, 10209, 7076, 456, 4960, 456,
1298 456, 1524, 456, 6356,-32768,-32768, 8838, 1305,-32768, 1266,
1299 65, 65, 65,-32768, 1267, 240, 7162, 240, 7162,-32768,
1300 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1289, 1290,
1301 1291, 1293, 1046,-32768, 10985, 8091, 7724, 1280,-32768, 10209,
1302 -32768,-32768,-32768, 1281, 1287, 1295, 4970,-32768,-32768, 1298,
1303 569, 1012, 1012, 1296, 1012,-32768,-32768, 10903, 1384, 10037,
1304 -32768, 1309, 1313, 1319,-32768,-32768,-32768,-32768,-32768,-32768,
1305 -32768,-32768, 240, 1326,-32768, 1325,-32768,-32768, 2768,-32768,
1306 -32768,-32768,-32768,-32768, 11097,-32768,-32768, 1292,-32768,-32768,
1307 292, 1330,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 2497,
1308 2497, 2557, 2557, 4282,-32768, 1679,-32768, 3088, 11119,-32768,
1309 -32768,-32768, 1331,-32768, 1493,-32768, 10209,-32768, 10209,-32768,
1310 10209,-32768, 1357,-32768,-32768, 7026, 1413,-32768, 7815,-32768,
1311 9596, 9596, 7226, 173, 1339, 209,-32768, 8091, 7906,-32768,
1312 -32768, 311, 8091,-32768,-32768,-32768, 10123,-32768,-32768,-32768,
1313 -32768, 1848,-32768,-32768,-32768,-32768,-32768,-32768, 7076, 7076,
1314 -32768, 1305, 585, 1127, 10209,-32768,-32768,-32768, 981, 981,
1315 1305, 1305, 847, 1305,-32768,-32768,-32768,-32768,-32768, 1395,
1316 -32768,-32768,-32768, 1342,-32768, 1346, 10209, 10209, 10209, 10209,
1317 8091,-32768, 1393,-32768,-32768, 11097,-32768,-32768,-32768, 60,
1318 1295,-32768,-32768,-32768,-32768,-32768,-32768, 1348,-32768, 1421,
1319 65,-32768,-32768,-32768, 240,-32768,-32768,-32768,-32768,-32768,
1320 -32768, 10209,-32768,-32768, 2497, 2497,-32768, 3088,-32768,-32768,
1321 1352, 1362, 1363, 1380,-32768, 1036, 321, 1407, 1164, 1165,
1322 -32768,-32768,-32768,-32768,-32768, 10209, 1416, 1419, 1425, 9774,
1323 653, 1357, 496, 693,-32768,-32768, 9865, 1477,-32768,-32768,
1324 -32768, 1430,-32768, 6551, 6039, 4418, 6895,-32768,-32768, 1475,
1325 -32768,-32768,-32768, 8931,-32768,-32768, 1386, 1373,-32768,-32768,
1326 -32768,-32768, 4970,-32768,-32768, 8091, 1391, 1399, 2385,-32768,
1327 -32768,-32768, 240, 240,-32768,-32768,-32768, 10209, 10209, 7076,
1328 456, 456,-32768,-32768,-32768, 6712, 240, 240,-32768,-32768,
1329 1400, 1401, 1405, 1410,-32768, 8091, 10209,-32768, 60,-32768,
1330 -32768,-32768,-32768, 240, 1415,-32768,-32768,-32768,-32768, 1380,
1331 -32768, 1357,-32768,-32768,-32768,-32768,-32768,-32768, 711, 711,
1332 991, 1432, 1433, 6200,-32768,-32768,-32768,-32768, 1467, 10209,
1333 1472, 1428, 1480, 1927, 1987,-32768, 991,-32768,-32768, 1451,
1334 -32768,-32768, 981, 1061,-32768, 1076, 981, 9951, 1090, 322,
1335 -32768,-32768,-32768,-32768,-32768,-32768, 364,-32768,-32768,-32768,
1336 -32768,-32768,-32768,-32768, 7076, 7076,-32768, 1305, 1305,-32768,
1337 8614,-32768,-32768,-32768,-32768, 240, 240,-32768,-32768,-32768,
1338 -32768,-32768, 1434,-32768,-32768,-32768, 1459,-32768,-32768,-32768,
1339 10123,-32768,-32768,-32768, 1538, 9227, 7336, 10123, 10209,-32768,
1340 9039,-32768, 1496,-32768,-32768, 1504,-32768, 1480, 1927,-32768,
1341 -32768, 700,-32768,-32768, 10645, 10645, 8000,-32768,-32768, 991,
1342 -32768,-32768,-32768,-32768, 1452, 11007, 1463,-32768,-32768,-32768,
1343 10990,-32768,-32768, 1455, 398, 6652, 991, 9133,-32768,-32768,
1344 96,-32768,-32768, 1507, 1460, 11075, 9039,-32768,-32768,-32768,
1345 -32768, 1380, 76,-32768,-32768,-32768,-32768, 443, 344, 1462,
1346 1466, 991,-32768, 981,-32768,-32768,-32768,-32768, 714,-32768,
1347 8182,-32768,-32768,-32768,-32768, 1380, 1566, 1522, 177,-32768,
1348 -32768,-32768,-32768, 456, 96,-32768, 10209, 1523,-32768, 1529,
1349 -32768, 991, 9039, 1491, 63, 1531,-32768,-32768,-32768, 165,
1350 -32768, 1534,-32768, 1494,-32768,-32768,-32768,-32768, 10209, 1566,
1351 1539, 1566,-32768,-32768,-32768, 8273, 1500, 572,-32768,-32768,
1352 8091, 1501,-32768, 1577, 1553,-32768,-32768,-32768, 332,-32768,
1353 9133, 1603, 1559,-32768,-32768,-32768, 1621, 1622,-32768
1354 };
1355
1356 static const short yypgoto[] = {-32768,
1357 1624,-32768, -304, 1456, -364, 75, 2, 1623,-32768, 1593,
1358 -32768,-32768, 315,-32768, 373,-32768, 507,-32768, 206, 942,
1359 58, 24,-32768,-32768, -669,-32768,-32768, 657, 59, 1469,
1360 1197, 1478, -719, 111, -173, 29, 55,-32768,-32768,-32768,
1361 -32768,-32768, 1125,-32768,-32768,-32768,-32768,-32768,-32768, 466,
1362 1903,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1363 -32768,-32768, 1568, -526, 6178, 1422, -58, -599, -235, -44,
1364 1533, -547,-32768, 388,-32768, 260,-32768, -1362,-32768, -1307,
1365 52,-32768, 1442, 1361, -254, 403, -557,-32768, -868, 3479,
1366 -125, 1528, 4472, 1379, -332, -52, -76, 427, -140, -66,
1367 135,-32768,-32768,-32768, -344,-32768, -159,-32768,-32768, -1236,
1368 -16, -329, 1934, 530, -150, -166, 78, 50, -206, -4,
1369 -145, -165, -171, 32, -11, 357,-32768, -257,-32768,-32768,
1370 -32768,-32768,-32768, 734, 1247, -45,-32768, 716,-32768,-32768,
1371 -765, -399, 940,-32768,-32768,-32768,-32768,-32768, 218,-32768,
1372 -32768,-32768,-32768,-32768, 729, -377,-32768,-32768,-32768,-32768,
1373 -32768,-32768,-32768,-32768, 1447,-32768, 335, 473,-32768,-32768,
1374 -32768,-32768, 885, -479,-32768,-32768,-32768,-32768,-32768,-32768,
1375 1172,-32768, 624, 1030, 745, 1086, 2837, 14, 54, -461,
1376 1510, 2756, -686,-32768, 13,-32768, 645, 20, -142, 271,
1377 -105, 5046, 1365,-32768, 5682, 2642, 1651, -19, -113,-32768,
1378 1590, -54,-32768, 5135, 3513, -359,-32768, 1597,-32768,-32768,
1379 381,-32768,-32768, 527, 138, -429,-32768,-32768,-32768,-32768,
1380 -1369,-32768, -1238, -1389,-32768,-32768,-32768,-32768,-32768,-32768,
1381 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 156,-32768,
1382 -32768,-32768,-32768,-32768, 188, -1311,-32768,-32768, -51,-32768,
1383 -32768,-32768,-32768, -1385, 140,-32768, 144,-32768, -606, -580,
1384 710,-32768,-32768,-32768,-32768, -393,-32768, -390, -333,-32768,
1385 1007, 397,-32768, 83,-32768, -232
1386 };
1387
1388
1389 #define YYLAST 11203
1390
1391
1392 static const short yytable[] = { 59,
1393 443, 435, 487, 122, 445, 36, 420, 423, 711, 444,
1394 658, 712, 392, 256, 1019, 432, 224, 72, 532, 648,
1395 771, 253, 657, 76, 709, 738, 103, 42, 400, 1118,
1396 59, 784, 298, 786, 182, 857, 36, 59, 196, 991,
1397 525, 816, 486, 141, 146, 356, 1016, 357, 72, 554,
1398 557, 494, 209, 58, 76, 72, 398, 399, 42, 926,
1399 742, 76, 896, 949, 249, 42, 926, 247, 688, 391,
1400 174, 492, 495, 177, 201, 727, 213, 256, 35, 296,
1401 397, 57, 587, 349, 58, 349, 626, 349, 1478, 544,
1402 1428, 58, 408, 1056, 224, 260, 1530, 297, 1443, 170,
1403 171, 1534, 349, 349, 1027, 1446, 899, 190, 163, 35,
1404 224, 208, 57, 626, 626, 467, 169, 998, 364, 176,
1405 662, 663, 661, 900, 1600, 1535, 89, 308, 1193, 977,
1406 91, 406, 349, 295, 349, -1, 256, 1567, 1558, 580,
1407 1544, 581, 544, 26, 813, 978, 90, 855, 164, 72,
1408 92, 1028, 901, 1387, 1029, 407, -828, 1555, 196, 410,
1409 59, 468, 419, 422, 59, 735, 224, 155, -2, 780,
1410 1601, 209, 717, 718, 224, 1059, 452, 1589, 72, 928,
1411 558, 559, 72, 1568, 76, 58, 517, 1064, 76, 997,
1412 403, 224, 42, 440, 201, 213, 567, 174, 1581, 568,
1413 177, 490, 569, 539, 1194, 579, 470, 472, 190, 584,
1414 724, 1004, 1597, 405, 58, 1080, 814, 625, 58, -302,
1415 1612, 1085, 736, 1560, 15, 842, 170, 171, -415, 1199,
1416 208, 1558, 776, -356, -356, 1065, 88, 453, 453, 1027,
1417 59, 201, 57, 169, 789, 15, 176, 88, 535, -415,
1418 1532, 705, 1538, 190, 1478, -625, -415, -415, 72, 178,
1419 260, -415, 86, 93, 524, -302, -302, 1593, 820, 632,
1420 454, 454, 300, 394, 395, 10, 221, 790, -415, 1200,
1421 -295, 791, -415, 155, 155, 155, 1028, 696, 732, 1029,
1422 623, 374, 247, 631, 58, 1225, 1226, 375, 1565, 514,
1423 759, -625, -625, 158, 1220, 1020, 1166, 116, 117, 118,
1424 21, 87, 1247, 664, 792, 658, -625, 705, 38, 511,
1425 774, 976, 519, 26, 349, 27, 319, -415, 1144, 155,
1426 691, 420, 423, 817, 1221, 856, 963, 296, 94, 1117,
1427 492, 495, 8, 9, 1598, 247, 12, 13, 492, 38,
1428 1292, 107, 14, 349, 667, 297, 108, 32, 926, 583,
1429 119, 120, 711, 1002, 1003, 1038, 16, 260, 17, 1353,
1430 -583, 109, 72, 138, 20, 580, 39, 581, 668, 495,
1431 1404, 1404, 818, 23, 967, 964, 178, 714, 127, 128,
1432 1622, 295, 26, 139, 130, 131, 532, 708, 495, 1293,
1433 209, 1388, 926, 135, 224, 215, 216, 39, 58, 137,
1434 -304, 14, 533, 665, 162, 710, -583, 189, 1354, 158,
1435 158, 158, 648, 201, 1151, 699, 221, 1154, 950, 1405,
1436 1509, 897, 1169, 20, 221, 221, 405, 59, 26, 1623,
1437 130, 131, 23, 161, 636, 567, 568, 224, 1215, 926,
1438 179, 707, 517, 778, 517, 72, -304, -304, 534, 153,
1439 517, 76, 517, 752, 221, 158, 1367, 183, 1180, 1181,
1440 729, -298, 610, 177, 1146, 1373, 1374, 653, 1375, 793,
1441 1254, 710, 1256, 610, 777, 831, 18, 763, 764, 705,
1442 841, 58, 244, 349, 366, 370, 705, 636, 1016, 201,
1443 1119, 799, 787, 788, 459, 838, 59, 201, 59, -365,
1444 40, 15, 819, 221, 209, 914, 59, 707, 611, 176,
1445 1474, 460, 187, 654, 72, 794, 72, 377, 916, 611,
1446 524, 832, 524, 55, 72, 1056, 188, 805, 812, 129,
1447 524, 40, -365, 841, -295, 349, -365, 90, 349, 26,
1448 461, 349, 1423, 1001, 299, 349, 847, 847, 847, 847,
1449 58, 915, 58, 138, 55, 514, 221, 514, 349, 623,
1450 58, 175, 798, 808, 917, 514, 421, 424, 349, -365,
1451 360, 349, 1032, 711, 696, 511, 712, 511, 519, 1192,
1452 519, 973, -583, 926, 378, 511, 362, 816, 519, 709,
1453 658, 372, 1093, 376, -366, 705, 15, 380, 155, 155,
1454 155, -120, 657, 15, 92, 636, 296, 381, -143, 401,
1455 972, 153, 926, 221, -295, 1289, 1290, 918, 492, 1033,
1456 137, 705, 1034, 1614, 297, 708, 934, -366, -583, 482,
1457 544, -366, 752, 705, -120, 425, 1368, 970, -120, 952,
1458 920, 922, 189, 710, 138, 95, 110, 111, 88, 178,
1459 710, 841, -144, 260, 1278, 404, 95, 414, 415, 433,
1460 295, 705, 1056, 919, -366, 147, 1273, 705, 122, 1615,
1461 240, -120, 935, 936, 241, 201, 587, 349, 984, 707,
1462 989, 990, 1513, 1514, 55, 1042, 707, 899, 175, -620,
1463 -118, 209, 15, 221, 221, 247, 1262, 1264, 112, 113,
1464 303, 221, 661, 1017, 900, 1216, 574, 1218, 1186, 98,
1465 113, 1222, 215, 216, 201, 987, 201, 201, 14, 214,
1466 215, 216, 1420, -118, 1165, 990, 14, -118, -7, 256,
1467 164, 1043, 221, 901, 158, 158, 158, 253, 1188, 447,
1468 20, 708, 1190, 18, 1426, 576, 517, 1480, 20, 23,
1469 1576, 221, 1274, 1275, 1187, 1277, 137, 23, 799, 710,
1470 -118, 201, 8, 537, 518, 1036, 448, 708, 1081, 1082,
1471 451, 1083, 715, 1127, 705, 411, 1068, 463, 705, 708,
1472 413, 842, 1070, 1071, 1189, 710, 1068, 1073, 1191, 1264,
1473 1071, 464, 432, 1481, 805, 707, 1577, 710, 1349, 1351,
1474 59, 567, 568, 1355, 127, 128, 363, 708, 349, 349,
1475 379, 349, 498, 708, 130, 131, 705, 503, 72, 1182,
1476 527, 707, 705, 540, 524, 710, 769, 91, 147, 798,
1477 137, 710, 542, 707, 775, 1249, 1250, 1251, 538, 1590,
1478 15, 541, 746, 781, -415, 421, 722, 92, 363, 561,
1479 91, 1385, 222, 223, 58, 543, 130, 131, 551, 514,
1480 562, 707, 560, 95, 110, 111, 528, 707, 300, 705,
1481 92, 10, -415, -415, 221, 1359, 1360, 1361, 666, 511,
1482 538, 349, 519, 829, 222, 446, 1121, 224, 563, 782,
1483 91, 421, 424, 536, 392, 564, 18, 583, 7, 8,
1484 250, 10, 95, 96, 97, 449, 21, 1090, 1091, 1092,
1485 92, 256, 480, 481, 847, 221, 112, 113, 114, 626,
1486 708, 426, 427, 675, 752, 672, 705, 676, 705, 830,
1487 574, 488, 489, 574, 678, 428, 21, 844, 710, 679,
1488 920, 922, 710, 251, 692, 429, 1449, 260, 480, 730,
1489 574, 27, 28, 32, 680, 98, 99, 693, 430, 221,
1490 90, 175, 708, 574, 847, 349, 92, 871, 708, 576,
1491 721, 1484, 576, -6, 707, 252, 1472, 747, 707, 765,
1492 710, 221, 725, 32, 1170, 1171, 710, 1501, 421, 852,
1493 699, 770, 1279, 8, 9, 894, 842, 15, 382, 383,
1494 384, 910, 576, 539, 823, 127, 128, 824, 517, 89,
1495 535, 488, 731, 705, 825, 752, 707, 1066, 826, 420,
1496 423, 833, 707, 300, 394, 395, 10, 834, 847, 90,
1497 518, 851, 785, 710, 853, 1392, 854, 363, 736, 89,
1498 518, 911, 705, 385, 856, 130, 131, -141, 420, 423,
1499 913, 386, 387, 719, 221, 26, 720, 130, 131, 90,
1500 927, 21, 59, 942, 929, 567, 568, 955, 723, 707,
1501 1484, 903, 708, -183, 708, 1281, 27, 319, 1240, 931,
1502 72, 904, 956, 1240, 1402, 1403, 524, 1484, 137, -183,
1503 710, -183, 710, 127, 128, 905, 8, 9, 965, 256,
1504 608, 609, 847, 91, 411, 969, 413, 155, 32, 480,
1505 1503, -142, 1573, 127, 128, 349, 58, 711, 966, 536,
1506 1551, 514, 971, 92, 488, 1504, 707, 20, 707, 95,
1507 96, 97, 979, 225, 226, 227, 980, 363, 480, 1508,
1508 363, 511, 1484, -298, 519, 130, 131, 993, 130, 131,
1509 738, 999, 453, 1436, 155, 1017, 1000, 18, 1434, 708,
1510 1439, 1024, 228, 26, 1025, 130, 131, 8, 9, 252,
1511 89, -579, 252, 1048, -579, 1295, 1296, 710, 1369, 903,
1512 26, 1336, 98, 99, 229, 842, 1026, 1328, 752, 904,
1513 90, 579, 1031, -827, 7, 8, 9, 10, 1040, 72,
1514 13, 1616, 349, 905, 1295, 1296, 710, 89, 91, 931,
1515 1044, 1045, 1075, 707, 1069, 1407, 1408, 1371, 1372, 130,
1516 131, -579, 18, -579, -579, 1074, -579, 90, 92, 230,
1517 231, 232, 21, 1094, 1099, 58, -52, -579, 636, -579,
1518 1095, -52, 707, 158, 1096, 26, 1097, 27, 28, 1098,
1519 1100, 498, -52, 1101, 1102, -579, -579, 942, 127, 128,
1520 1327, 981, -140, 1335, 1103, 1104, 140, 140, 1106, 156,
1521 -579, 982, 603, 604, 605, 606, 607, 608, 609, 32,
1522 1107, 639, 1124, 1113, 983, 641, 1110, 1126, 1109, 1111,
1523 158, 1112, 1129, 212, 1130, 220, 155, 155, 155, 1128,
1524 1131, 237, 1164, 7, 127, 128, 10, 1433, 544, 1433,
1525 130, 131, 1336, 1137, 1139, 1138, 574, 1147, 1148, 1145,
1526 209, 1150, 1336, 1157, 1160, 155, 155, 155, 1328, 1336,
1527 72, 1163, 1543, 1185, 518, 1328, 1208, 1214, 847, 1217,
1528 72, 21, 1219, 201, 1437, 201, 1224, 72, 251, 95,
1529 110, 111, 420, 423, 421, 852, 27, 28, 460, 1228,
1530 705, 8, 9, 1248, 1252, 1570, 58, 127, 128, 567,
1531 568, 1257, 1258, 1259, -304, 1260, 58, 140, 1265, 1267,
1532 252, 1280, 140, 58, 1268, 156, 156, 156, 32, -304,
1533 1291, 1327, 1269, -304, 1335, 1272, 1276, 719, 720, 153,
1534 723, 1327, 112, 113, 1335, 363, 1282, 129, 1327, -304,
1535 1283, 1335, 212, 130, 131, 490, 1284, 26, 450, 130,
1536 131, -304, -304, 1287, -304, 1288, -304, 1294, 1299, 140,
1537 140, 156, 158, 158, 158, 1193, 1348, 538, -662, 1379,
1538 214, 215, 216, 1380, 1386, 220, 1205, 14, 1390, 1396,
1539 95, 96, 97, 493, 220, -304, -304, 1391, 1406, 1397,
1540 1398, 158, 158, 158, 18, 1399, 1525, 1415, 1416, 20,
1541 -304, 1336, 1336, 1525, 1417, 1429, 1336, 1328, 23, 1431,
1542 1444, 375, 1328, 1447, 297, 1005, 1006, 1007, 1450, 72,
1543 72, 297, 349, 953, 72, 140, 1451, 1468, 1469, 1554,
1544 1047, 26, 1470, 98, 99, 100, 708, 1471, 763, 764,
1545 1061, 1062, 1476, 1336, 1487, 1488, 1492, 127, 1243, 1328,
1546 295, 1494, 1336, 1495, 710, 58, 58, 295, 1328, 1008,
1547 58, 72, 1574, 1502, 1520, 201, 26, 1076, 1009, 1010,
1548 72, 1521, 1078, 221, 1529, 1539, 1525, 1540, 1545, 1547,
1549 1327, 1327, 1553, 1335, 1335, 1327, 1562, 1563, 1335, 1571,
1550 707, 363, 155, 1572, 297, 156, 1584, 58, 1336, 130,
1551 131, 1588, 1595, 1599, 1328, 1011, 58, 1618, 1596, 1602,
1552 574, 605, 606, 607, 608, 609, 72, 1604, 1609, 421,
1553 424, 1605, 1327, 538, 1357, 1335, 518, 1613, 1617, 612,
1554 295, 1327, 1620, 1625, 1335, 339, 1336, 339, 1626, 339,
1555 1628, 1629, 1328, 1, 5, 442, 147, 160, 421, 1347,
1556 1499, 968, 58, 1167, 72, 127, 128, 441, 728, 155,
1557 155, 155, 439, 809, 1381, 1382, 1383, 1384, 613, 614,
1558 1300, 212, 220, 615, 616, 617, 618, 1327, 1569, 500,
1559 1335, 359, 127, 128, 339, 140, 339, 13, 140, 1483,
1560 58, 409, 1624, 1389, 156, 156, 156, 550, 1159, 1023,
1561 140, 7, 8, 9, 10, 26, 1158, 130, 131, 505,
1562 811, 127, 128, 1452, 1362, 1327, 535, 1245, 1335, 1077,
1563 1156, 545, 958, 127, 128, 636, 898, 1419, 158, 483,
1564 633, 546, 26, 390, 130, 131, 140, 1442, 140, 21,
1565 156, 156, 156, 1345, 1591, 450, 251, 1603, 637, 1566,
1566 258, 140, 493, 220, 27, 28, 450, 0, 638, 1608,
1567 493, 26, 221, 130, 131, 1610, 636, 1207, 639, 1448,
1568 0, 640, 641, 26, 258, 130, 131, 545, 252, 95,
1569 110, 111, 529, 0, 0, 212, 32, 546, 0, 637,
1570 0, 0, 450, 0, 1473, 158, 158, 158, 1046, 638,
1571 0, 0, 0, 258, 0, 0, 0, 0, 0, 639,
1572 0, 0, 640, 641, 258, 0, 0, 21, 0, 156,
1573 1231, 1232, 156, 1241, 1242, 0, 1244, 1493, 116, 1006,
1574 1007, 0, 112, 113, 411, 413, 0, 156, 156, 156,
1575 0, 744, 536, 0, 0, 0, 0, 1079, 750, 0,
1576 0, 0, 156, 1084, 0, 0, 506, 0, 7, 8,
1577 507, 10, 167, 12, 13, 0, 0, 565, 0, 14,
1578 116, 1006, 1007, 258, 95, 110, 111, 0, 225, 226,
1579 227, 119, 120, 16, 1205, 17, 18, 19, 1523, 0,
1580 0, 20, 0, 0, 871, 1523, 21, 1050, 0, 0,
1581 23, 508, 18, 168, 0, 339, 0, 228, 258, 26,
1582 0, 27, 28, 943, 574, 509, 0, 510, 0, 0,
1583 0, 26, 743, 119, 120, 30, 0, 112, 113, 743,
1584 0, 839, 258, 220, 0, 31, 101, 0, 0, 0,
1585 0, 0, 0, 32, 115, 0, 0, 0, 33, 95,
1586 110, 111, 421, 1347, 0, 0, 1140, 0, 1141, 719,
1587 720, 0, 723, 0, 645, 649, 652, 0, 1523, 0,
1588 0, 0, 212, 0, 220, 237, 0, 0, 0, 0,
1589 0, 0, 1365, 1366, 1594, 0, 0, 233, 95, 110,
1590 111, 892, 681, 682, 683, 0, 0, 893, 7, 127,
1591 128, 10, 112, 1496, 13, 0, 1607, 741, 745, 95,
1592 110, 111, 743, 871, 0, 745, 0, 0, 220, 0,
1593 655, 8, 9, 10, 258, 0, 18, 0, 0, 140,
1594 140, 0, 140, 0, 947, 0, 21, 0, 0, 0,
1595 493, 112, 113, 450, 0, 339, 388, 0, 0, 26,
1596 0, 27, 28, 450, 450, 308, 656, 783, 21, 0,
1597 369, 371, 112, 1498, 0, 30, 116, 117, 118, 0,
1598 416, 26, 743, 130, 131, 31, 0, 0, 743, 0,
1599 450, 0, 258, 32, 1223, 450, 0, 0, 33, 1227,
1600 0, 0, 0, 0, 0, 0, 0, 339, 745, 0,
1601 0, 0, 0, 0, 0, 0, 0, 156, 743, 0,
1602 0, 0, 1253, 0, 1255, 743, 0, 26, 0, 119,
1603 120, 0, 0, 1457, 1458, 1459, 0, 0, 0, 0,
1604 339, 0, 741, 0, 0, 868, 869, 0, 873, 874,
1605 875, 876, 877, 878, 879, 880, 881, 882, 883, 884,
1606 885, 886, 887, 888, 889, 890, 891, 0, 745, 0,
1607 499, 501, 0, 0, 745, 0, 0, 0, 0, 1286,
1608 0, 0, 258, 530, 7, 8, 9, 10, 214, 215,
1609 216, 300, 8, 9, 10, 14, 0, 0, 0, 0,
1610 0, 95, 96, 97, 745, 0, 0, 0, 0, 0,
1611 0, 745, 18, 156, 156, 943, 0, 20, 1511, 1512,
1612 0, 0, 21, 0, 0, 0, 23, 258, 636, 21,
1613 382, 383, 384, 960, 962, 26, 251, 27, 28, 0,
1614 0, 214, 215, 216, 27, 319, 363, 0, 14, 339,
1615 0, 981, 237, 566, 98, 99, 0, 140, 140, 943,
1616 0, 982, 0, 921, 923, 18, 0, 0, 252, 32,
1617 20, 639, 0, 0, 983, 641, 32, 0, 0, 23,
1618 0, 26, 0, 386, 387, 1114, 1115, 491, 215, 216,
1619 0, 1120, 578, 0, 14, 674, 0, 741, 0, 0,
1620 0, 0, 0, 0, 684, 1132, 943, 1133, 0, 1134,
1621 0, 18, 743, 0, 258, 0, 20, 674, 127, 128,
1622 0, 1393, 215, 216, 0, 23, 0, 0, 14, 0,
1623 258, 986, 0, 645, 649, 0, 652, 1592, 7, 8,
1624 9, 10, 0, 450, 450, 0, 450, 450, 0, 450,
1625 20, 0, 0, 0, 1067, 1162, 0, 0, 0, 23,
1626 0, 636, 0, 0, 0, 704, 743, 743, 26, 0,
1627 130, 131, 743, 0, 0, 0, 21, 0, 649, 0,
1628 339, 339, 636, 339, 637, 0, 743, 0, 743, 26,
1629 743, 27, 28, 0, 638, 0, 0, 0, 745, 1453,
1630 1454, 1183, 0, 0, 639, 981, 0, 647, 641, 0,
1631 0, 0, 0, 1464, 1465, 982, 0, 116, 1006, 1007,
1632 1105, 1049, 0, 32, 0, 639, 0, 0, 983, 641,
1633 1475, 751, 0, 0, 779, 0, 743, 0, 0, 0,
1634 0, 0, 0, 0, 1050, 0, 140, 140, 156, 156,
1635 943, 1051, 745, 745, 140, 0, 0, 741, 745, 601,
1636 602, 603, 604, 605, 606, 607, 608, 609, 26, 0,
1637 119, 120, 745, 649, 745, 0, 745, 156, 156, 943,
1638 0, 0, 743, 0, 0, 0, 258, 596, 597, 598,
1639 599, 600, 601, 602, 603, 604, 605, 606, 607, 608,
1640 609, 743, 1518, 1519, 0, 450, 450, 0, 0, 0,
1641 0, 0, 1155, 0, 0, 0, 840, 864, 0, 843,
1642 0, 0, 745, 845, 846, 848, 849, 850, 0, 7,
1643 8, 9, 10, 0, 0, 246, 578, 339, 0, 0,
1644 300, 394, 395, 10, 0, 0, 1135, 0, 1136, 867,
1645 1179, 0, 0, 0, 0, 0, 0, 18, 0, 1142,
1646 0, 912, 0, 921, 923, 0, 0, 21, 745, 0,
1647 0, 140, 140, 636, 140, 0, 0, 1301, 21, 1302,
1648 26, 1303, 27, 28, 0, 251, 0, 745, 0, 7,
1649 8, 9, 10, 27, 319, 13, 981, 627, 0, 300,
1650 394, 395, 10, 924, 628, 0, 982, 921, 923, 0,
1651 924, 212, 220, 0, 32, 0, 639, 18, 0, 983,
1652 641, 0, 1229, 1230, 258, 32, 258, 21, 0, 0,
1653 975, 0, 0, 636, 0, 0, 0, 21, 0, 0,
1654 26, 992, 27, 28, 629, 0, 450, 450, 450, 0,
1655 26, 0, 27, 319, 0, 0, 1172, 0, 743, 0,
1656 743, 0, 743, 741, 741, 0, 1173, 1266, 258, 0,
1657 0, 0, 864, 0, 32, 80, 639, 0, 0, 1174,
1658 641, 0, 1395, 0, 630, 104, 0, 339, 0, 0,
1659 0, 0, 0, 0, 0, 133, 0, 0, 0, 0,
1660 0, 144, 144, 0, 144, 0, 80, 0, 0, 0,
1661 0, 0, 0, 80, 156, 0, 0, 0, 0, 704,
1662 0, 0, 0, 0, 0, 0, 203, 0, 80, 0,
1663 0, 450, 450, 0, 0, 0, 238, 0, 0, 0,
1664 0, 0, 0, 104, 745, 751, 745, 0, 745, 0,
1665 0, 0, 258, 0, 262, 104, 741, 751, 0, 0,
1666 0, 0, 0, 743, 0, 741, 741, 0, 0, 0,
1667 741, 0, 0, 0, 0, 0, 0, 104, 0, 0,
1668 0, 156, 156, 156, 0, 751, 0, 0, 0, 0,
1669 0, 751, 1370, 0, 0, 0, 1135, 1136, 921, 923,
1670 300, 8, 9, 10, 1142, 133, 0, 80, 0, 0,
1671 0, 144, 144, 0, 0, 0, 412, 144, 741, 0,
1672 144, 144, 144, 0, 0, 0, 0, 921, 923, 258,
1673 7, 127, 128, 10, 0, 0, 80, 0, 21, 0,
1674 80, 0, 0, 0, 0, 251, 203, 80, 0, 745,
1675 450, 0, 0, 27, 319, 0, 258, 0, 18, 1116,
1676 0, 0, 0, 0, 203, 203, 203, 0, 21, 0,
1677 0, 0, 0, 1414, 0, 0, 0, 538, 0, 0,
1678 0, 26, 0, 27, 28, 32, 127, 128, 0, 0,
1679 215, 216, 867, 203, 0, 684, 14, 149, 751, 0,
1680 0, 0, 924, 0, 0, 0, 0, 150, 975, 743,
1681 502, 0, 0, 741, 0, 32, 80, 0, 20, 104,
1682 151, 1135, 1136, 0, 1142, 1455, 1456, 23, 0, 636,
1683 144, 0, 0, 0, 0, 0, 26, 0, 130, 131,
1684 704, 0, 1168, 741, 0, 0, 924, 0, 259, 0,
1685 0, 0, 637, 0, 0, 0, 0, 0, 127, 128,
1686 0, 0, 638, 246, 0, 0, 0, 0, 104, 547,
1687 0, 0, 639, 0, 0, 640, 641, 0, 471, 473,
1688 477, 0, 0, 0, 7, 127, 128, 10, 0, 0,
1689 246, 0, 0, 924, 0, 745, 0, 0, 0, 0,
1690 0, 636, 0, 0, 0, 0, 1210, 0, 26, 0,
1691 130, 131, 18, 104, 0, 0, 0, 634, 1516, 547,
1692 547, 650, 21, 0, 637, 434, 0, 0, 0, 0,
1693 80, 0, 0, 0, 638, 26, 0, 27, 28, 1263,
1694 0, 0, 0, 0, 639, 0, 1536, 640, 641, 0,
1695 751, 30, 751, 0, 0, 0, 0, 469, 0, 0,
1696 0, 31, 0, 0, 133, 795, 796, 9, 10, 32,
1697 485, 0, 0, 104, 33, 203, 104, 0, 0, 0,
1698 1271, 0, 0, 0, 0, 0, 127, 128, 0, 0,
1699 144, 535, 0, 144, 0, 0, 0, 0, 0, 0,
1700 0, 0, 0, 21, 0, 144, 0, 0, 0, 0,
1701 0, 0, 0, 80, 0, 0, 26, 0, 27, 28,
1702 7, 8, 9, 10, 797, 1305, 535, 0, 0, 636,
1703 0, 1263, 193, 0, 0, 0, 26, 924, 130, 131,
1704 0, 203, 194, 203, 0, 203, 203, 203, 18, 0,
1705 32, 203, 637, 0, 0, 195, 203, 0, 21, 203,
1706 0, 0, 638, 0, 636, 0, 924, 0, 741, 0,
1707 0, 26, 639, 27, 28, 640, 641, 0, 0, 133,
1708 1358, 0, 80, 0, 80, 0, 0, 981, 0, 806,
1709 80, 0, 80, 0, 0, 0, 166, 982, 7, 8,
1710 9, 10, 167, 12, 13, 32, 0, 639, 0, 14,
1711 983, 641, 0, 0, 0, 0, 0, 0, 0, 0,
1712 0, 0, 0, 16, 0, 17, 18, 19, 0, 0,
1713 0, 20, 104, 104, 104, 104, 21, 0, 0, 0,
1714 23, 0, 0, 168, 0, 0, 0, 0, 0, 26,
1715 0, 27, 28, 1421, 1422, 761, 0, 762, 0, 471,
1716 473, 477, 0, 0, 0, 30, 0, 0, 0, 0,
1717 773, 0, 0, 0, 0, 31, 0, 0, 0, 0,
1718 0, 0, 0, 32, 0, 0, 0, 0, 33, 0,
1719 0, 0, 104, 34, 547, 0, 0, 0, 0, 0,
1720 0, 0, 0, 804, 0, 0, 634, 0, 547, 547,
1721 0, 650, 0, 0, 0, 0, 1210, 0, 944, 8,
1722 9, 0, 946, 12, 246, 0, 0, 0, 0, 14,
1723 0, 0, 0, 0, 1479, 0, 0, 203, 0, 0,
1724 0, 0, 0, 16, 766, 17, 0, 0, 0, 772,
1725 0, 20, 0, 0, 0, 0, 1497, 1500, 0, 0,
1726 23, 133, 636, 0, 0, 0, 0, 0, 133, 26,
1727 0, 130, 131, 0, 0, 0, 203, 988, 203, 203,
1728 238, 650, 0, 0, 0, 637, 0, 0, 0, 0,
1729 0, 0, 0, 821, 0, 638, 0, 0, 0, 827,
1730 0, 0, 0, 0, 0, 639, 0, 0, 640, 641,
1731 0, 835, 836, 0, 837, 0, 0, 0, 0, 300,
1732 8, 9, 10, 203, 0, 0, 0, 988, 0, 0,
1733 0, 1541, 0, 0, 203, 203, 0, 203, 7, 8,
1734 9, 10, 214, 215, 216, 0, 0, 0, 0, 14,
1735 0, 0, 0, 104, 0, 0, 806, 21, 0, 0,
1736 0, 0, 0, 0, 251, 104, 18, 0, 0, 0,
1737 578, 20, 27, 319, 0, 0, 21, 0, 1072, 0,
1738 23, 0, 636, 0, 704, 0, 80, 0, 0, 26,
1739 0, 27, 28, 104, 0, 0, 0, 0, 0, 104,
1740 0, 0, 0, 0, 32, 981, 547, 547, 547, 932,
1741 933, 0, 0, 0, 932, 982, 0, 0, 547, 0,
1742 0, 0, 0, 32, 0, 639, 0, 0, 1030, 641,
1743 0, 0, 0, 0, 0, 8, 9, 0, 167, 12,
1744 13, 0, 0, 749, 0, 14, 83, 0, 761, 762,
1745 0, 773, 0, 0, 0, 0, 106, 0, 0, 16,
1746 0, 17, 18, 0, 0, 126, 134, 20, 0, 0,
1747 804, 0, 145, 145, 0, 145, 23, 83, 636, 0,
1748 0, 0, 0, 0, 83, 26, 0, 130, 131, 0,
1749 0, 547, 0, 547, 0, 0, 0, 145, 0, 83,
1750 104, 637, 0, 0, 547, 0, 104, 239, 944, 944,
1751 944, 638, 0, 0, 248, 0, 1149, 300, 127, 128,
1752 10, 639, 0, 0, 640, 641, 248, 0, 0, 0,
1753 0, 0, 0, 0, 0, 0, 7, 127, 128, 10,
1754 0, 0, 13, 0, 0, 0, 0, 1058, 104, 0,
1755 104, 0, 203, 203, 1176, 21, 0, 0, 0, 1063,
1756 0, 0, 251, 0, 18, 0, 0, 0, 0, 0,
1757 27, 319, 0, 0, 21, 0, 0, 0, 83, 0,
1758 0, 0, 145, 145, 0, 0, 0, 26, 145, 27,
1759 28, 145, 145, 145, 0, 1086, 0, 1088, 0, 0,
1760 0, 1176, 32, 149, 0, 0, 0, 83, 0, 0,
1761 0, 83, 0, 150, 104, 0, 0, 145, 83, 0,
1762 0, 32, 0, 0, 0, 0, 151, 0, 0, 0,
1763 0, 0, 0, 0, 0, 145, 145, 145, 0, 0,
1764 203, 0, 0, 0, 0, 144, 0, 0, 80, 0,
1765 0, 0, 0, 0, 0, 0, 0, 0, 104, 0,
1766 104, 0, 0, 0, 145, 0, 471, 473, 477, 1122,
1767 1123, 0, 1125, 8, 9, 0, 0, 12, 13, 0,
1768 8, 9, 0, 14, 12, 246, 0, 83, 104, 0,
1769 14, 0, 0, 547, 547, 0, 547, 16, 0, 17,
1770 1143, 145, 0, 0, 16, 20, 17, 0, 0, 0,
1771 0, 0, 20, 0, 23, 477, 0, 0, 0, 0,
1772 0, 23, 0, 26, 0, 130, 131, 619, 0, 0,
1773 26, 0, 130, 131, 0, 0, 0, 0, 0, 248,
1774 145, 203, 203, 203, 203, 1176, 0, 0, 0, 203,
1775 0, 1178, 0, 0, 1239, 0, 642, 642, 642, 0,
1776 0, 0, 620, 0, 0, 0, 0, 0, 0, 0,
1777 0, 0, 1176, 1176, 1176, 7, 8, 9, 10, 167,
1778 12, 13, 0, 0, 248, 0, 14, 0, 635, 0,
1779 145, 145, 651, 0, 0, 0, 0, 660, 0, 0,
1780 16, 83, 17, 18, 19, 0, 0, 0, 20, 0,
1781 0, 0, 0, 21, 0, 0, 0, 23, 0, 0,
1782 168, 0, 0, 0, 0, 0, 26, 0, 27, 28,
1783 0, 0, 0, 0, 0, 697, 0, 0, 0, 0,
1784 0, 0, 30, 0, 248, 0, 145, 248, 0, 0,
1785 0, 0, 31, 0, 0, 761, 762, 471, 473, 477,
1786 32, 145, 0, 773, 145, 33, 203, 203, 0, 203,
1787 34, 0, 7, 8, 9, 10, 145, 0, 13, 0,
1788 0, 0, 0, 0, 83, 0, 471, 473, 477, 0,
1789 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1790 18, 0, 0, 0, 1285, 203, 988, 203, 0, 0,
1791 21, 0, 145, 0, 145, 0, 145, 145, 145, 0,
1792 0, 0, 145, 26, 104, 27, 28, 145, 0, 6,
1793 145, 7, 8, 9, 10, 11, 12, 13, 0, 193,
1794 0, 0, 14, 1298, 0, 0, 0, 0, 0, 194,
1795 134, 0, 0, 83, 0, 83, 16, 32, 17, 18,
1796 807, 83, 195, 83, 20, 0, 0, 0, 0, 21,
1797 0, 0, 0, 23, 0, 0, 438, 0, 0, 0,
1798 761, 762, 26, 773, 27, 28, 0, 0, 29, 0,
1799 1363, 0, 0, 0, 1364, 0, 0, 0, 30, 0,
1800 0, 0, 0, 248, 248, 248, 248, 0, 31, 1176,
1801 0, 0, 0, 0, 1377, 0, 32, 0, 1378, 0,
1802 0, 33, 0, 0, 0, 0, 0, 0, 0, 0,
1803 0, 0, 7, 127, 128, 10, 0, 0, 535, 0,
1804 0, 0, 0, 0, 0, 642, 642, 0, 642, 0,
1805 0, 0, 0, 1394, 0, 941, 0, 0, 0, 0,
1806 18, 0, 0, 248, 0, 145, 0, 0, 0, 0,
1807 21, 0, 0, 0, 0, 0, 1176, 1176, 1176, 145,
1808 145, 0, 651, 26, 0, 27, 28, 0, 0, 945,
1809 0, 0, 104, 0, 0, 0, 0, 203, 0, 30,
1810 0, 0, 660, 7, 127, 128, 10, 0, 145, 31,
1811 0, 0, 0, 642, 0, 642, 642, 32, 642, 0,
1812 0, 0, 33, 477, 0, 0, 0, 0, 0, 0,
1813 0, 18, 697, 0, 0, 0, 0, 0, 0, 0,
1814 126, 21, 0, 0, 0, 1466, 1467, 145, 651, 145,
1815 145, 239, 651, 0, 26, 0, 27, 28, 0, 0,
1816 642, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1817 30, 0, 0, 0, 0, 1018, 0, 0, 0, 0,
1818 31, 0, 0, 0, 0, 0, 0, 0, 32, 0,
1819 471, 473, 477, 33, 145, 0, 0, 0, 651, 0,
1820 0, 0, 0, 0, 0, 145, 145, 0, 145, 0,
1821 0, 0, 0, 0, 7, 8, 9, 10, 167, 12,
1822 13, 0, 1018, 749, 248, 14, 0, 807, 0, 0,
1823 0, 0, 0, 0, 0, 0, 248, 0, 0, 16,
1824 0, 17, 18, 0, 0, 0, 0, 20, 0, 0,
1825 0, 0, 21, 0, 0, 642, 23, 83, 636, 0,
1826 0, 0, 0, 0, 248, 26, 0, 27, 28, 0,
1827 248, 0, 0, 0, 0, 0, 0, 145, 145, 145,
1828 0, 1172, -387, 8, 9, -387, -387, 12, 246, 145,
1829 0, 1173, 0, 14, 0, 0, 0, 0, 0, 32,
1830 0, 639, 0, 0, 1174, 641, 0, 16, 0, 17,
1831 -387, 0, 0, 0, 0, 20, 0, 0, 0, 0,
1832 -387, 0, 0, 0, 23, 0, 636, 0, 642, 0,
1833 642, 0, 0, 26, 0, 130, 131, 0, 0, 0,
1834 0, 642, 0, 0, 0, 941, 941, 941, 0, 637,
1835 7, 8, 9, 10, 214, 215, 216, 0, 0, 638,
1836 0, 14, 145, 0, 145, 0, 0, -387, 0, 639,
1837 0, 248, 640, 641, 0, 145, 0, 248, 18, 945,
1838 945, 945, 0, 20, 0, 0, 0, 660, 21, 642,
1839 642, 642, 23, 0, 636, 0, 0, 0, 0, 0,
1840 0, 26, 0, 27, 28, 51, 0, 0, 0, 0,
1841 0, 0, 0, 0, 0, 0, 0, 193, 0, 248,
1842 0, 248, 0, 145, 145, 651, 0, 194, 0, 0,
1843 0, 51, 51, 0, 152, 32, 51, 0, 941, 0,
1844 1438, 0, 0, 51, 598, 599, 600, 601, 602, 603,
1845 604, 605, 606, 607, 608, 609, 51, 0, 51, 795,
1846 8, 507, 10, 205, 12, 206, 0, 0, 0, 0,
1847 14, 0, 945, 0, 0, 0, 0, 0, 0, 0,
1848 0, 254, 0, 0, 16, 248, 17, 18, 0, 0,
1849 0, 0, 20, 0, 0, 0, 0, 21, 0, 0,
1850 0, 23, 0, 0, 0, 0, 0, 0, 0, 0,
1851 26, 145, 27, 28, 0, 0, 145, 0, 797, 83,
1852 0, 0, 0, 0, 0, 0, 30, 0, 0, 248,
1853 0, 248, 0, 0, 396, 396, 31, 51, 0, 0,
1854 0, 51, 51, 0, 32, 254, 0, 51, 0, 33,
1855 152, 152, 152, 0, 0, 0, 0, 431, 0, 248,
1856 0, 0, 0, 0, 145, 145, 51, 145, 0, 0,
1857 51, 0, 0, 0, 0, 0, 51, 51, 642, 642,
1858 642, 642, 642, 0, 0, 0, 642, 0, 0, 0,
1859 0, 0, 0, 0, 51, 51, 152, 0, 0, 0,
1860 0, 0, 0, 0, 254, 0, 0, 0, 0, 941,
1861 941, 941, 145, 145, 145, 145, 651, 0, 0, 0,
1862 145, 0, 0, 51, 0, 0, 506, 1018, 7, 8,
1863 507, 10, 167, 12, 13, 0, 0, 0, 0, 14,
1864 0, 0, 0, 945, 945, 945, 51, 0, 0, 0,
1865 0, 0, 0, 16, 0, 17, 18, 19, 0, 0,
1866 51, 20, -525, 0, 1018, 0, 21, 0, 0, 0,
1867 23, 508, 0, 168, 7, 8, 9, 10, 0, 26,
1868 246, 27, 28, 0, 0, 509, 0, 510, 0, 0,
1869 0, 0, 0, 0, 0, 30, 0, 0, 0, 0,
1870 0, 0, 18, 642, 642, 31, 642, 0, 0, 0,
1871 0, 0, 21, 32, 0, 0, 0, 0, 33, 0,
1872 0, 0, 0, 0, 0, 26, 0, 27, 28, 0,
1873 575, 0, 0, 0, -525, 0, 0, 145, 145, 0,
1874 145, 193, 0, 0, 0, 0, 0, 396, 0, 0,
1875 0, 194, 0, 0, 0, 254, 0, 0, 0, 32,
1876 51, 0, 0, 0, 195, 1425, 0, 0, 0, 0,
1877 0, 0, 0, 0, 0, 0, 145, 651, 145, 595,
1878 596, 597, 598, 599, 600, 601, 602, 603, 604, 605,
1879 606, 607, 608, 609, 396, 248, 0, 0, 0, 0,
1880 0, 1018, 0, 0, 0, 51, 0, 0, 0, 506,
1881 0, 7, 8, 507, 10, 167, 12, 13, 0, 0,
1882 51, 0, 14, 51, 0, 0, 0, 0, 0, 431,
1883 431, 431, 0, 0, 0, 51, 16, 0, 17, 18,
1884 19, 0, 0, 51, 20, -526, 0, 0, 0, 21,
1885 0, 0, 0, 23, 508, 0, 168, 0, 0, 0,
1886 0, 0, 26, 0, 27, 28, 0, 0, 509, 0,
1887 510, 51, 0, 51, 0, 152, 152, 152, 30, 0,
1888 945, 51, 0, 0, 0, 0, 51, 0, 31, 51,
1889 0, 0, 1233, 1234, 9, 10, 32, 0, 0, 0,
1890 0, 33, 0, 8, 9, 0, 0, 12, 13, 0,
1891 0, 0, 51, 14, 51, 0, 0, -526, 0, 51,
1892 51, 0, 51, 0, 0, 0, 0, 16, 0, 17,
1893 21, 0, 0, 0, 0, 20, 0, 0, 0, 0,
1894 0, 0, 0, 26, 23, 27, 28, 945, 945, 945,
1895 0, 1235, 0, 26, 575, 130, 131, 575, 0, 193,
1896 0, 0, 0, 248, 0, 0, 0, 0, 145, 194,
1897 0, 0, 575, 575, 575, 0, 0, 32, 0, 78,
1898 0, 0, 195, 0, 0, 0, 0, 575, 0, 0,
1899 0, 7, 8, 9, 10, 0, 6, 13, 7, 8,
1900 9, 10, 11, 12, 13, 78, 78, 0, 78, 14,
1901 78, 0, 0, 0, 0, 0, 0, 78, 0, 18,
1902 0, 0, 15, 16, 0, 17, 18, 19, 0, 21,
1903 78, 20, 78, 0, 0, 254, 21, 0, 0, 22,
1904 23, 24, 26, 25, 27, 28, 0, 0, 575, 26,
1905 0, 27, 28, 0, 0, 29, 0, 0, 474, 0,
1906 0, 0, 0, 0, 0, 30, 0, 51, 475, 0,
1907 0, 0, 0, 0, 0, 31, 32, 0, 0, 0,
1908 0, 476, 0, 32, 0, 0, 0, 0, 33, 0,
1909 0, 396, 0, 34, 0, 0, 0, 159, 396, 0,
1910 0, 0, 0, 0, 0, 0, 51, 51, 51, 51,
1911 0, 78, 0, 0, 0, 78, 78, 0, 0, 204,
1912 0, 78, 0, 0, 78, 78, 78, 0, 0, 0,
1913 0, 0, 0, 0, 795, 796, 9, 10, 0, 0,
1914 78, 0, 0, 0, 78, 7, 8, 9, 10, 0,
1915 78, 78, 0, 51, 0, 0, 0, 51, 0, 0,
1916 0, 0, 0, 0, 51, 51, 0, 51, 78, 78,
1917 78, 0, 21, 0, 0, 0, 0, 0, 0, 0,
1918 0, 0, 0, 21, 0, 26, 51, 27, 28, 0,
1919 0, 1060, 0, 797, 0, 0, 26, 78, 27, 28,
1920 0, 193, 192, 0, 0, 0, 0, 254, 0, 0,
1921 0, 194, 193, 159, 159, 159, 51, 0, 0, 32,
1922 78, 0, 194, 0, 195, 0, 0, 0, 0, 0,
1923 32, 0, 0, 0, 78, 195, 0, 0, 0, 204,
1924 0, 748, 575, 300, 8, 9, 10, 167, 12, 301,
1925 302, 303, 749, 304, 14, 0, 0, 204, 204, 478,
1926 0, 0, 0, 0, 0, 0, 0, 0, 16, 305,
1927 17, 18, 19, 0, 306, 307, 20, 0, 308, 309,
1928 310, 21, 311, 312, 0, 23, 204, 0, 0, 313,
1929 314, 315, 316, 317, 26, 0, 27, 319, 0, 0,
1930 0, 320, 0, 0, 0, 0, 0, 321, 0, 0,
1931 322, 0, 0, 0, 0, 0, 0, 0, 323, 324,
1932 325, 0, 0, 0, 0, 0, 326, 327, 328, 0,
1933 659, 0, 0, 329, 78, 0, 0, 0, 575, 575,
1934 575, 0, 0, 0, 431, 254, 0, 0, -798, 0,
1935 330, 0, 0, 7, 8, 9, 10, 205, 12, 206,
1936 0, 0, 548, 0, 14, 597, 598, 599, 600, 601,
1937 602, 603, 604, 605, 606, 607, 608, 609, 16, 78,
1938 17, 18, 51, 51, 152, 0, 20, 0, 0, 254,
1939 0, 21, 0, 0, 78, 23, 0, 78, 0, 0,
1940 0, 0, 0, 0, 26, 0, 27, 28, 0, 78,
1941 207, 0, 644, 644, 644, 0, 0, 78, 0, 0,
1942 30, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1943 31, 1204, 0, 0, 0, 0, 0, 0, 32, 0,
1944 0, 0, 0, 33, 0, 78, 0, 78, 0, 78,
1945 78, 78, 0, 0, 0, 78, 0, 0, 0, 0,
1946 78, 0, 0, 78, 0, 0, 0, 0, 204, 0,
1947 51, 0, 0, 0, 0, 51, 0, 0, 51, 7,
1948 8, 9, 10, 167, 12, 13, 78, 0, 78, 0,
1949 14, 0, 0, 78, 78, 0, 78, 0, 0, 0,
1950 0, 0, 0, 0, 16, 0, 17, 18, 0, 0,
1951 0, 0, 20, 0, 0, 0, 0, 21, 0, 0,
1952 0, 23, 0, 0, 0, 0, 0, 0, 0, 0,
1953 26, 0, 27, 28, 204, 0, 204, 0, 478, 478,
1954 478, 0, 0, 0, 204, 0, 30, 0, 0, 204,
1955 254, 0, 204, 0, 0, 0, 31, 0, 0, 0,
1956 0, 0, 0, 0, 32, 0, 0, 0, 0, 33,
1957 0, 51, 51, 152, 152, 152, 0, 254, 0, 51,
1958 0, 0, 204, 0, 870, 0, 300, 8, 9, 10,
1959 0, 12, 552, 302, 303, 0, 304, 14, 0, 0,
1960 0, 0, 1204, 1204, 1204, 0, 0, 0, 0, 0,
1961 659, 16, 305, 17, 0, 19, 0, 306, 307, 20,
1962 0, 308, 309, 310, 21, 311, 312, 0, 23, 0,
1963 0, 0, 313, 314, 315, 316, 317, 26, 0, 27,
1964 319, 78, 0, 0, 320, -788, 0, 0, 0, 0,
1965 321, 0, 0, 322, 0, 0, 0, 0, 0, 0,
1966 0, 323, 324, 325, 0, 0, 202, 0, 0, 326,
1967 327, 328, 0, 0, 0, 0, 329, 0, 0, 0,
1968 78, 78, 78, 78, 0, 0, 0, 906, 0, 0,
1969 0, 257, 0, 330, 261, 0, 51, 51, 0, 51,
1970 0, 644, 644, 0, 644, 0, 0, 0, 0, 0,
1971 0, 644, 0, 0, 0, 257, 0, 365, 0, 0,
1972 0, 0, 0, 0, 0, 0, 0, 78, 0, 0,
1973 204, 78, 0, 0, 0, 51, 51, 51, 78, 78,
1974 0, 78, 592, 593, 594, 595, 596, 597, 598, 599,
1975 600, 601, 602, 603, 604, 605, 606, 607, 608, 609,
1976 78, 0, 0, 0, 0, 0, 0, 0, 0, 985,
1977 0, 985, 985, 0, 644, 0, 0, 0, 0, 0,
1978 0, 7, 8, 9, 10, 0, 202, 535, 0, 0,
1979 78, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1980 0, 0, 0, 0, 202, 202, 202, 0, 0, 18,
1981 0, 0, 0, 0, 484, 0, 985, 0, 0, 21,
1982 0, 0, 0, 0, 0, 0, 0, 204, 204, 0,
1983 204, 0, 26, 202, 27, 28, 0, 0, 0, 1204,
1984 0, 0, 0, 0, 0, 0, 0, 0, 193, 204,
1985 0, 7, 8, 9, 10, 167, 12, 13, 194, 261,
1986 1035, 0, 14, 0, 0, 0, 32, 0, 0, 0,
1987 0, 195, 0, 257, 0, 0, 16, 0, 17, 18,
1988 0, 0, 0, 0, 20, 0, 0, 0, 0, 21,
1989 0, 0, 0, 23, 0, 0, 0, 0, 0, 548,
1990 548, 548, 26, 0, 27, 28, 1204, 1204, 1204, 0,
1991 0, 644, 0, 0, 0, 0, 0, 0, 30, 0,
1992 659, 0, 0, 0, 0, 0, 0, 51, 31, 0,
1993 0, 0, 0, 0, 0, 0, 32, 0, 0, 0,
1994 0, 33, 0, 0, 0, 0, 0, 0, 0, 0,
1995 0, 0, 0, 0, 0, 0, 78, 78, 78, 0,
1996 0, 0, 0, 0, 0, 257, 261, 0, 0, 0,
1997 0, 7, 8, 9, 10, 205, 12, 206, 0, 0,
1998 0, 0, 14, 0, 644, 0, 644, 0, 0, 0,
1999 0, 0, 0, 0, 0, 0, 16, 644, 17, 18,
2000 0, 644, 644, 644, 20, 1206, 0, 0, 0, 21,
2001 0, 0, 0, 23, 0, 202, 0, 0, 0, 0,
2002 0, 0, 26, 0, 27, 28, 0, 0, 1435, 0,
2003 0, 0, 0, 0, 0, 0, 0, 0, 30, 0,
2004 0, 0, 0, 0, 78, 985, 985, 1177, 31, 78,
2005 0, 0, 78, 0, 0, 0, 32, 0, 0, 0,
2006 0, 33, 0, 0, 0, 7, 8, 9, 10, 205,
2007 12, 206, 0, 0, 0, 0, 14, 0, 0, 0,
2008 0, 202, 0, 202, 0, 202, 202, 202, 0, 0,
2009 16, 202, 17, 18, 1177, 0, 202, 0, 20, 202,
2010 0, 0, 0, 21, 0, 0, 0, 23, 0, 0,
2011 0, 0, 0, 0, 0, 0, 26, 0, 27, 28,
2012 0, 102, 0, 0, 0, 0, 0, 0, 0, 202,
2013 121, 102, 30, 204, 0, 0, 0, 102, 102, 0,
2014 102, 1489, 31, 0, 0, 78, 78, 78, 78, 78,
2015 32, 0, 0, 78, 0, 33, 594, 595, 596, 597,
2016 598, 599, 600, 601, 602, 603, 604, 605, 606, 607,
2017 608, 609, 235, 0, 0, 0, 1206, 1206, 1206, 0,
2018 0, 0, 0, 0, 0, 0, 906, 906, 0, 906,
2019 0, 1490, 588, 589, 590, 591, 592, 593, 594, 595,
2020 596, 597, 598, 599, 600, 601, 602, 603, 604, 605,
2021 606, 607, 608, 609, 593, 594, 595, 596, 597, 598,
2022 599, 600, 601, 602, 603, 604, 605, 606, 607, 608,
2023 609, 389, 0, 121, 985, 985, 1177, 1177, 1177, 0,
2024 102, 102, 985, 0, 0, 0, 0, 102, 102, 0,
2025 0, 102, 102, 102, 0, 417, 102, 102, 102, 0,
2026 0, 257, 261, 0, 0, 1177, 1177, 1177, 0, 0,
2027 78, 78, 0, 78, 0, 0, 0, 202, 0, 0,
2028 0, 0, 0, 0, 0, 0, 0, 0, 1233, 127,
2029 128, 10, 0, 0, 0, 0, 0, 0, 0, 0,
2030 0, 0, 0, 0, 0, 0, 0, 0, 0, 78,
2031 78, 78, 0, 0, 0, 0, 202, 0, 202, 202,
2032 0, 0, 0, 0, 0, 0, 21, 0, 0, 0,
2033 0, 0, 0, 0, 0, 0, 0, 0, 0, 26,
2034 0, 27, 28, 0, 0, 235, 102, 1235, 0, 0,
2035 0, 0, 0, 0, 0, 30, 0, 0, 0, 985,
2036 985, 0, 985, 202, 0, 31, 102, 0, 0, 0,
2037 0, 0, 0, 32, 202, 202, 0, 202, 33, 0,
2038 0, 570, 0, 300, 8, 9, 10, 167, 12, 301,
2039 302, 303, 749, 304, 14, 0, 202, 0, 204, 0,
2040 204, 0, 0, 0, 0, 102, 0, 0, 16, 305,
2041 17, 18, 19, 1206, 306, 307, 20, 484, 308, 309,
2042 310, 21, 311, 312, 0, 23, 0, 636, 0, 313,
2043 314, 315, 316, 317, 26, 0, 27, 319, -312, 0,
2044 0, 320, 0, 0, 0, 0, 0, 321, 0, 0,
2045 937, 0, 0, 102, 0, 102, 102, 0, 323, 324,
2046 938, 7, 8, 9, 10, 0, 326, 327, 328, 0,
2047 639, 0, 0, 939, 641, 0, 0, 0, 0, 0,
2048 1206, 1206, 1206, 7, 8, 9, 10, 0, 0, 18,
2049 330, 0, 0, 0, 0, 0, 0, 0, 0, 21,
2050 102, 78, 478, 0, 0, 0, 0, 0, 0, 0,
2051 0, 0, 26, 0, 27, 28, 0, 0, 0, 102,
2052 0, 21, 0, 0, 0, 0, 102, 0, 474, 102,
2053 0, 0, 0, 0, 26, 0, 27, 28, 475, 0,
2054 1432, 102, 0, 0, 0, 0, 32, 0, 0, 0,
2055 193, 476, 0, 0, 0, 257, 261, 257, 0, 0,
2056 194, 0, 0, 0, 0, 0, 0, 0, 32, 478,
2057 478, 478, 0, 195, 0, 0, 0, 0, 8, 9,
2058 0, 205, 12, 206, 7, 8, 9, 10, 14, 0,
2059 204, 0, 202, 202, 1175, 0, 0, 0, 0, 257,
2060 0, 0, 16, 0, 17, 18, 0, 0, 0, 102,
2061 20, 0, 0, 0, 0, 102, 0, 0, 0, 23,
2062 0, 0, 21, 0, 0, 0, 0, 0, 26, 261,
2063 130, 131, 0, 0, 0, 26, 0, 27, 28, 0,
2064 0, 1175, 1460, 0, -479, -479, -479, -479, -479, -479,
2065 -479, 193, 0, -479, 102, -479, 0, 0, 0, 0,
2066 0, 194, 0, 0, 0, 0, -479, 0, -479, 32,
2067 0, 0, -479, 0, 195, 0, 0, -479, 0, 0,
2068 202, 0, -479, 0, 0, 0, -479, 0, -479, 0,
2069 0, 0, 0, 0, 0, -479, 0, -479, -479, -479,
2070 -479, -479, 0, -479, -479, -479, -479, -479, -479, -479,
2071 -479, -479, -479, -479, -479, -479, -479, -479, -479, -479,
2072 -479, -479, -479, -479, -479, -479, 0, -479, -479, -479,
2073 102, -479, -479, -479, -479, -479, -479, 0, -479, 0,
2074 0, 102, 102, 1461, 102, 102, 0, 0, -479, -479,
2075 -479, 0, -479, 0, 0, 0, 0, 0, 0, 0,
2076 257, 0, 0, 0, 0, 0, 0, 8, 9, 0,
2077 167, 12, 13, 0, 0, 0, 0, 14, 0, 0,
2078 0, 202, 202, 202, 202, 1175, 0, 1297, 0, 202,
2079 0, 16, 0, 17, 18, 0, 0, 102, 0, 20,
2080 0, 0, 0, 0, 102, 121, 0, 0, 698, 0,
2081 0, 168, 1175, 1175, 1175, 0, 235, 26, 0, 130,
2082 131, 0, 0, 0, 0, 1440, 0, 1308, 1309, 1310,
2083 10, 167, 12, 301, 302, 303, 0, 304, 14, 1311,
2084 1015, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320,
2085 1321, 15, 16, 305, 17, 18, 19, 0, 306, 307,
2086 20, 0, 308, 309, 310, 21, 311, 312, 1322, 23,
2087 1323, 0, 0, 313, 314, 315, 316, 317, 26, 0,
2088 1324, 319, 736, 0, 1325, 320, 0, 1015, 0, 0,
2089 0, 321, 0, 0, 322, 0, 0, 0, 0, 0,
2090 0, 0, 323, 324, 325, 0, 202, 202, 0, 202,
2091 326, 327, 328, 0, 102, 0, 0, 329, 0, 1326,
2092 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2093 0, 0, 0, 1441, 330, 0, 0, 0, 0, 0,
2094 0, 0, 102, 102, 102, 202, 0, 202, 0, 0,
2095 0, 0, 0, 0, 102, 0, 1307, 0, 1308, 1309,
2096 1310, 10, 167, 12, 301, 302, 303, 0, 304, 14,
2097 1311, 0, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319,
2098 1320, 1321, 15, 16, 305, 17, 18, 19, 0, 306,
2099 307, 20, 0, 308, 309, 310, 21, 311, 312, 1322,
2100 23, 1323, 0, 0, 313, 314, 315, 316, 317, 26,
2101 0, 1324, 319, 736, 0, 1325, 320, 0, 0, 0,
2102 0, 0, 321, 0, 0, 322, 0, 102, 0, 102,
2103 0, 0, 0, 323, 324, 325, 18, 0, 0, 0,
2104 102, 326, 327, 328, 0, 0, 0, 0, 329, 1175,
2105 1326, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2106 0, 0, 0, 0, 0, 330, 0, 0, 588, 589,
2107 590, 591, 592, 593, 594, 595, 596, 597, 598, 599,
2108 600, 601, 602, 603, 604, 605, 606, 607, 608, 609,
2109 0, 0, 0, 0, 0, 8, 9, 0, 167, 12,
2110 13, 0, 0, 749, 0, 14, 0, 0, 0, 0,
2111 0, 0, 0, 0, 0, 0, 1175, 1175, 1175, 16,
2112 0, 17, 18, 0, 0, 1015, 0, 20, 0, 0,
2113 0, 0, 0, 0, 0, 0, 23, 202, 0, 0,
2114 0, 0, 0, 0, 0, 26, 0, 130, 131, 0,
2115 0, 0, 0, 0, 0, 0, 570, 0, 7, 8,
2116 9, 10, 167, 12, 301, 302, 303, 749, 304, 14,
2117 0, 0, 0, 0, 0, 0, 0, 0, 0, 102,
2118 0, 102, 0, 16, 305, 17, 18, 19, 0, 306,
2119 307, 20, 0, 308, 309, 310, 21, 311, 312, 0,
2120 23, 0, 636, 0, 313, 314, 315, 316, 317, 26,
2121 0, 27, 28, -312, 0, 0, 320, 0, 0, 0,
2122 0, 0, 321, 0, 0, 1201, 0, 0, 0, 102,
2123 102, 0, 102, 323, 324, 1202, 0, 0, 0, 0,
2124 0, 326, 327, 328, 0, 639, 0, 0, 1203, 641,
2125 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2126 0, 0, 0, 0, 0, 330, 870, 0, 300, 8,
2127 9, 10, 167, 12, 301, 302, 303, 0, 304, 14,
2128 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2129 0, 0, 1015, 16, 305, 17, 18, 19, 0, 306,
2130 307, 20, 0, 308, 309, 310, 21, 311, 312, 0,
2131 23, 0, 0, 0, 313, 314, 315, 316, 317, 26,
2132 0, 27, 319, 1531, 0, -788, 320, 0, 0, 1015,
2133 0, 0, 321, 0, 0, 322, 0, 0, 0, 0,
2134 0, 0, 0, 323, 324, 325, 0, 0, 0, 0,
2135 0, 326, 327, 328, 0, 0, 0, 0, 329, 739,
2136 0, 858, 859, 860, 10, 0, 12, 552, 302, 303,
2137 0, 304, 14, 0, 0, 330, 0, 0, 0, 0,
2138 0, 0, 0, 0, 0, 0, 16, 305, 17, 0,
2139 19, 0, 306, 307, 20, 0, 308, 309, 310, 21,
2140 311, 312, 0, 23, 0, 0, 0, 313, 314, 315,
2141 316, 317, 26, 0, 861, 862, 740, 0, 0, 320,
2142 0, 0, 0, 0, 0, 321, 0, 0, 322, 0,
2143 0, 0, 0, 0, 0, 0, 323, 324, 325, 0,
2144 0, 0, 0, 0, 326, 327, 328, 0, 0, 0,
2145 0, 329, 863, 0, 0, 0, 0, 0, 0, 0,
2146 0, 0, 0, 0, 0, 0, 1015, 1022, 330, 570,
2147 0, 300, 8, 9, 10, 0, 12, 301, 302, 303,
2148 0, 304, 14, 0, 0, 0, 0, 0, 0, 0,
2149 0, 0, 0, 0, 0, 0, 16, 305, 17, 18,
2150 19, 0, 306, 307, 20, 0, 308, 309, 310, 21,
2151 311, 312, 0, 23, 0, 0, 0, 313, 314, 315,
2152 316, 317, 26, 0, 27, 319, -312, 0, 0, 320,
2153 0, 0, 0, 0, 0, 321, 0, 0, 571, 0,
2154 0, 0, 0, 0, 0, 0, 323, 324, 572, 0,
2155 0, 0, 0, 0, 326, 327, 328, 0, 0, 0,
2156 739, 573, 858, 859, 860, 10, 0, 12, 552, 302,
2157 303, 0, 304, 14, 0, 0, 0, 0, 330, 0,
2158 0, 0, 0, 0, 0, 0, 0, 16, 305, 17,
2159 0, 19, 0, 306, 307, 20, 0, 308, 309, 310,
2160 21, 311, 312, 0, 23, 0, 0, 0, 313, 314,
2161 315, 316, 317, 26, 0, 861, 862, 740, 0, 0,
2162 320, 0, 0, 0, 0, 0, 321, 0, 0, 322,
2163 0, 0, 0, 0, 0, 0, 0, 323, 324, 325,
2164 0, 0, 0, 0, 0, 326, 327, 328, 0, 0,
2165 0, 0, 329, 863, 739, 0, 858, 859, 860, 10,
2166 0, 12, 552, 302, 303, 0, 304, 14, 0, 330,
2167 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2168 0, 16, 305, 17, 0, 19, 0, 306, 307, 20,
2169 0, 308, 309, 310, 21, 311, 312, 0, 23, 0,
2170 0, 0, 313, 314, 315, 316, 317, 26, 0, 861,
2171 862, 740, 0, 0, 320, 0, 0, 0, 0, 0,
2172 321, 0, 0, 322, 0, 0, 0, 0, 0, 0,
2173 0, 323, 324, 325, 0, 0, 0, 0, 0, 326,
2174 327, 328, 0, 0, 0, 739, 329, 858, 859, 860,
2175 10, 0, 12, 552, 302, 303, 0, 304, 14, 0,
2176 0, 0, -483, 330, 0, 0, 0, 0, 0, 0,
2177 0, 0, 16, 305, 17, 0, 19, 0, 306, 307,
2178 20, 0, 308, 309, 310, 21, 311, 312, 0, 23,
2179 0, 0, 0, 313, 314, 315, 316, 317, 26, 0,
2180 861, 862, 740, 0, 0, 320, 0, 0, 0, 0,
2181 0, 321, 0, 0, 322, 0, 0, 0, 0, 0,
2182 0, 0, 323, 324, 325, 0, 0, 0, 0, 0,
2183 326, 327, 328, 0, 0, 0, 739, 329, 300, 8,
2184 9, 10, 0, 12, 552, 302, 303, 0, 304, 14,
2185 0, 0, 0, 1346, 330, 0, 0, 0, 0, 0,
2186 0, 0, 0, 16, 305, 17, 0, 19, 0, 306,
2187 307, 20, 0, 308, 309, 310, 21, 311, 312, 0,
2188 23, 0, 0, 0, 313, 314, 315, 316, 317, 26,
2189 0, 27, 319, 740, 0, 0, 320, 0, 0, 0,
2190 0, 0, 321, 0, 0, 322, 0, 0, 0, 0,
2191 0, 0, 0, 323, 324, 325, 0, 0, 0, 0,
2192 0, 326, 327, 328, 0, 0, 0, 0, 329, 0,
2193 570, 0, 7, 8, 9, 10, 1350, 12, 301, 302,
2194 303, 0, 304, 14, 0, 330, 0, 0, 0, 0,
2195 0, 0, 0, 0, 0, 0, 0, 16, 305, 17,
2196 18, 19, 0, 306, 307, 20, 0, 308, 309, 310,
2197 21, 311, 312, 0, 23, 0, 0, 0, 313, 314,
2198 315, 316, 317, 26, 0, 27, 28, -312, 0, 0,
2199 320, 0, 0, 0, 0, 0, 321, 0, 0, 1505,
2200 0, 0, 0, 0, 0, 0, 0, 323, 324, 1506,
2201 0, 0, 0, 0, 0, 326, 327, 328, 0, 0,
2202 0, 739, 1507, 300, 8, 9, 10, 0, 12, 552,
2203 302, 303, 0, 304, 14, 0, 0, 0, 0, 330,
2204 0, 0, 0, 0, 0, 0, 0, 0, 16, 305,
2205 17, 0, 19, 0, 306, 307, 20, 0, 308, 309,
2206 310, 21, 311, 312, 0, 23, 0, 0, 0, 313,
2207 314, 315, 316, 317, 26, 0, 27, 319, 740, 0,
2208 0, 320, 0, 0, 0, 0, 0, 321, 0, 0,
2209 322, 0, 0, 0, 0, 0, 0, 0, 323, 324,
2210 325, 0, 0, 0, 0, 0, 326, 327, 328, 0,
2211 0, 0, 1579, 329, 300, 8, 9, 10, 0, 12,
2212 301, 302, 303, 0, 304, 14, 0, 0, 0, 0,
2213 330, 0, 0, 0, 0, 0, 0, 0, 0, 16,
2214 305, 17, 0, 19, 0, 306, 307, 20, 0, 308,
2215 309, 310, 21, 311, 312, 0, 23, 0, 0, 0,
2216 313, 314, 315, 316, 317, 26, 0, 27, 319, 0,
2217 0, -196, 320, 0, 0, 0, 0, 0, 321, 0,
2218 0, 322, 0, 0, 0, 0, 0, 0, 0, 323,
2219 324, 325, 0, 0, 0, 0, 0, 326, 327, 328,
2220 0, 0, 0, 870, 329, 300, 8, 9, 10, 0,
2221 12, 552, 302, 303, 0, 304, 14, 0, 0, 0,
2222 0, 330, 0, 0, 0, 0, 0, 0, 0, 0,
2223 16, 305, 17, 0, 19, 0, 306, 307, 20, 0,
2224 308, 309, 310, 21, 311, 312, 0, 23, 0, 0,
2225 0, 313, 314, 315, 316, 317, 26, 0, 27, 319,
2226 0, 0, 0, 320, 0, 0, 0, 0, 0, 321,
2227 263, 0, 322, 8, 9, 0, 0, 12, 13, 0,
2228 323, 324, 325, 14, 0, 0, 0, 0, 326, 327,
2229 328, 0, 0, 0, 0, 329, 0, 16, 0, 17,
2230 0, 0, 0, 0, 0, 20, 0, 264, 265, 0,
2231 -788, 0, 330, 0, 23, 0, 266, 0, 0, 0,
2232 0, 0, 0, 26, 0, 130, 131, 0, 267, 0,
2233 0, 0, 268, 269, 270, 271, 272, 273, 274, 275,
2234 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
2235 286, 287, 288, 0, 0, 289, 290, 291, 0, 0,
2236 292, 0, 959, 293, 300, 8, 9, 10, 0, 12,
2237 552, 302, 303, 0, 304, 14, 0, 0, 0, 294,
2238 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
2239 305, 17, 0, 19, 0, 306, 307, 20, 0, 308,
2240 309, 310, 21, 311, 312, 0, 23, 0, 0, 0,
2241 313, 314, 315, 316, 317, 26, 0, 27, 319, 0,
2242 0, 0, 320, 0, 0, 0, 0, 0, 321, 0,
2243 0, 322, 0, 0, 0, 0, 0, 0, 0, 323,
2244 324, 325, 0, 0, 0, 0, 0, 326, 327, 328,
2245 0, 0, 0, 961, 329, 300, 8, 9, 10, 0,
2246 12, 552, 302, 303, 0, 304, 14, 0, 0, 0,
2247 0, 330, 0, 0, 0, 0, 0, 0, 0, 0,
2248 16, 305, 17, 0, 19, 0, 306, 307, 20, 0,
2249 308, 309, 310, 21, 311, 312, 0, 23, 0, 0,
2250 0, 313, 314, 315, 316, 317, 26, 0, 27, 319,
2251 0, 0, 0, 320, 0, 0, 0, 0, 0, 321,
2252 0, 0, 322, 0, 0, 0, 0, 0, 0, 0,
2253 323, 324, 325, 0, 0, 0, 0, 0, 326, 327,
2254 328, 0, 0, 0, 1515, 329, 300, 8, 9, 10,
2255 0, 12, 552, 302, 303, 0, 304, 14, 0, 0,
2256 0, 0, 330, 0, 0, 0, 0, 0, 0, 0,
2257 0, 16, 305, 17, 0, 19, 0, 306, 307, 20,
2258 0, 308, 309, 310, 21, 311, 312, 0, 23, 0,
2259 0, 0, 313, 314, 315, 316, 317, 26, 0, 27,
2260 319, 0, 0, 0, 320, 0, 0, 0, 0, 0,
2261 321, 0, 0, 322, 0, 0, 0, 0, 0, 0,
2262 0, 323, 324, 325, 0, 0, 0, 0, 0, 326,
2263 327, 328, 300, 8, 9, 10, 329, 12, 552, 302,
2264 303, 0, 304, 14, 0, 0, 0, 0, 0, 0,
2265 0, 0, 0, 330, 0, 0, 0, 16, 305, 17,
2266 0, 19, 0, 306, 307, 20, 0, 308, 309, 310,
2267 21, 311, 312, 0, 23, 0, 0, 0, 313, 314,
2268 315, 316, 317, 26, 0, 27, 319, 0, 0, 0,
2269 320, 0, 0, 0, 0, 0, 321, 0, 506, 322,
2270 7, 8, 507, 10, 167, 12, 13, 323, 324, 325,
2271 0, 14, 0, 0, 0, 326, 327, 328, 0, 0,
2272 0, 0, 329, 0, 0, 16, 0, 17, 18, 19,
2273 0, 0, 0, 20, -528, 0, 0, 0, 21, 330,
2274 909, 0, 23, 508, 0, 168, 0, 0, 0, 0,
2275 0, 26, 0, 27, 28, 0, 0, 509, 0, 510,
2276 0, 0, 0, 0, 0, 0, 0, 30, 506, 0,
2277 7, 8, 507, 10, 167, 12, 13, 31, 0, 0,
2278 0, 14, 0, 0, 0, 32, 0, 0, 0, 0,
2279 33, 0, 0, 0, 0, 16, 0, 17, 18, 19,
2280 0, 0, 0, 20, -527, 0, -528, 0, 21, 0,
2281 0, 0, 23, 508, 0, 168, 0, 0, 0, 0,
2282 0, 26, 0, 27, 28, 0, 0, 509, 0, 510,
2283 0, 0, 0, 0, 0, 0, 0, 30, 0, 0,
2284 0, 0, 0, 0, 0, 0, 0, 31, 0, 0,
2285 0, 0, 0, 0, 0, 32, 0, 0, 0, 0,
2286 33, 0, 0, 1308, 1309, 1310, 10, 167, 12, 301,
2287 302, 303, 0, 304, 14, 1311, -527, 1312, 1313, 1314,
2288 1315, 1316, 1317, 1318, 1319, 1320, 1321, 15, 16, 305,
2289 17, 18, 19, 0, 306, 307, 20, 0, 308, 309,
2290 310, 21, 311, 312, 1322, 23, 1323, 0, 0, 313,
2291 314, 315, 316, 317, 26, 0, 1324, 319, 736, 0,
2292 1325, 320, 0, 0, 0, 0, 0, 321, 0, 0,
2293 322, 0, 0, 0, 0, 0, 0, 0, 323, 324,
2294 325, 0, 0, 0, 0, 0, 326, 327, 328, 0,
2295 0, 0, 0, 329, 0, 1326, 0, 0, 0, 0,
2296 0, 0, 0, 0, 0, 0, 0, 0, 0, 1445,
2297 330, 1308, 1309, 1310, 10, 167, 12, 301, 302, 303,
2298 0, 304, 14, 1311, 0, 1312, 1313, 1314, 1315, 1316,
2299 1317, 1318, 1319, 1320, 1321, 15, 16, 305, 17, 18,
2300 19, 0, 306, 307, 20, 0, 308, 309, 310, 21,
2301 311, 312, 1322, 23, 1323, 0, 0, 313, 314, 315,
2302 316, 317, 26, 0, 1324, 319, 736, 0, 1325, 320,
2303 0, 0, 0, 0, 0, 321, 0, 0, 322, 0,
2304 0, 0, 0, 0, 0, 0, 323, 324, 325, 0,
2305 0, 0, 0, 0, 326, 327, 328, 0, 0, 0,
2306 0, 329, 0, 1326, 0, 1308, 1309, 1310, 10, 167,
2307 12, 301, 302, 303, 0, 304, 14, 1311, 330, 1312,
2308 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1321, 15,
2309 16, 305, 17, 18, 19, 0, 306, 307, 20, 0,
2310 308, 309, 310, 21, 311, 312, 1322, 23, 1323, 0,
2311 0, 313, 314, 315, 316, 317, 26, 0, 1324, 319,
2312 1556, 0, 1325, 320, 0, 0, 0, 0, 0, 321,
2313 0, 0, 322, 0, 0, 0, 0, 0, 0, 0,
2314 323, 324, 325, 0, 0, 0, 0, 0, 326, 327,
2315 328, 0, 0, 0, 0, 329, 0, 1326, 0, 1308,
2316 1309, 1310, 10, 167, 12, 301, 302, 303, 0, 304,
2317 14, 1311, 330, 1312, 1313, 1314, 1315, 1316, 1317, 1318,
2318 1319, 1320, 1321, 15, 16, 305, 17, 18, 19, 0,
2319 306, 307, 20, 0, 308, 309, 310, 21, 311, 312,
2320 1322, 23, 1323, 0, 0, 313, 314, 315, 316, 317,
2321 26, 0, 1324, 319, 0, 0, 1325, 320, 0, 0,
2322 0, 0, 0, 321, 0, 0, 322, 0, 0, 0,
2323 0, 0, 0, 0, 323, 324, 325, 0, 0, 0,
2324 0, 0, 326, 327, 328, 0, 0, 0, 0, 329,
2325 0, 1326, 300, 8, 9, 10, 167, 12, 301, 302,
2326 303, 749, 304, 14, 0, 0, 330, 0, 0, 0,
2327 0, 0, 0, 0, 0, 0, 0, 16, 305, 17,
2328 18, 19, 0, 306, 307, 20, 0, 308, 309, 310,
2329 21, 311, 312, 0, 23, 0, 636, 0, 313, 314,
2330 315, 316, 317, 26, 0, 27, 319, 0, 0, 0,
2331 320, 0, 0, 0, 0, 0, 321, 0, 0, 937,
2332 0, 0, 0, 0, 0, 0, 0, 323, 324, 938,
2333 0, 0, 0, 0, 0, 326, 327, 328, 0, 639,
2334 0, 0, 939, 641, 7, 8, 9, 10, 167, 12,
2335 301, 302, 303, 749, 304, 14, 0, 0, 0, 330,
2336 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
2337 305, 17, 18, 19, 0, 306, 307, 20, 0, 308,
2338 309, 310, 21, 311, 312, 0, 23, 0, 636, 0,
2339 313, 314, 315, 316, 317, 26, 0, 27, 28, 0,
2340 0, 0, 320, 0, 0, 0, 0, 0, 321, 0,
2341 0, 1201, 0, 0, 0, 0, 0, 0, 0, 323,
2342 324, 1202, 0, 0, 0, 0, 0, 326, 327, 328,
2343 0, 639, 0, 0, 1203, 641, 300, 8, 9, 10,
2344 0, 12, 301, 302, 303, 0, 304, 14, 0, 0,
2345 0, 330, 0, 0, 0, 0, 0, 0, 0, 0,
2346 0, 16, 305, 17, 18, 19, 0, 306, 307, 20,
2347 0, 308, 309, 310, 21, 311, 312, 0, 23, 0,
2348 636, 0, 313, 314, 315, 316, 317, 26, 0, 27,
2349 319, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2350 321, 0, 0, 937, 0, 0, 0, 0, 0, 0,
2351 0, 323, 324, 938, 0, 0, 0, 0, 0, 326,
2352 327, 328, 0, 639, 0, 0, 939, 641, 7, 8,
2353 9, 10, 0, 12, 301, 302, 303, 0, 304, 14,
2354 0, 0, 0, 330, 0, 0, 0, 0, 0, 0,
2355 0, 0, 0, 16, 305, 17, 18, 19, 0, 306,
2356 307, 20, 0, 308, 309, 310, 21, 311, 312, 0,
2357 23, 0, 636, 0, 313, 314, 315, 316, 317, 26,
2358 0, 27, 28, 0, 0, 0, 0, 0, 0, 0,
2359 0, 0, 321, 0, 0, 1201, 0, 0, 0, 0,
2360 0, 0, 0, 323, 324, 1202, 0, 0, 0, 0,
2361 0, 326, 327, 328, 0, 639, 0, 0, 1203, 641,
2362 300, 8, 9, 10, 0, 12, 552, 302, 303, 0,
2363 304, 14, 0, 0, 0, 330, 0, 0, 0, 0,
2364 0, 0, 0, 0, 0, 16, 305, 17, 18, 19,
2365 0, 306, 307, 20, 0, 308, 309, 310, 21, 311,
2366 312, 0, 23, 0, 0, 0, 313, 314, 315, 316,
2367 317, 26, 0, 27, 319, 0, 0, 0, 320, 0,
2368 0, 0, 0, 0, 321, 0, 0, 571, 0, 0,
2369 0, 0, 0, 0, 0, 323, 324, 572, 0, 0,
2370 0, 0, 0, 326, 327, 328, 300, 8, 9, 10,
2371 573, 12, 552, 302, 303, 0, 304, 14, 0, 0,
2372 0, 0, 0, 0, 0, 0, 0, 330, 0, 0,
2373 0, 16, 305, 17, 0, 19, 0, 306, 307, 20,
2374 0, 308, 309, 310, 21, 311, 312, 0, 23, 0,
2375 0, 0, 313, 314, 315, 316, 317, 26, 0, 27,
2376 319, 0, 0, 1418, 320, 0, 0, 0, 0, 0,
2377 321, 0, 0, 322, 0, 0, 0, 0, 0, 0,
2378 0, 323, 324, 325, 0, 0, 0, 0, 0, 326,
2379 327, 328, 0, 0, 0, 0, 329, 300, 8, 9,
2380 10, 167, 12, 301, 302, 303, 0, 304, 14, 0,
2381 0, 0, 0, 330, 0, 0, 0, 0, 0, 0,
2382 0, 0, 16, 305, 17, 18, 19, 0, 306, 307,
2383 20, 0, 308, 309, 310, 21, 311, 312, 0, 23,
2384 0, 0, 0, 313, 314, 315, 316, 317, 26, 0,
2385 27, 319, 0, 0, 0, 0, 0, 0, 0, 0,
2386 0, 321, 0, 0, 322, 0, 0, 0, 0, 0,
2387 0, 0, 323, 324, 325, 0, 0, 0, 0, 0,
2388 326, 327, 328, 7, 8, 9, 10, 329, 12, 552,
2389 302, 303, 0, 304, 14, 0, 0, 0, 0, 0,
2390 0, 0, 0, 0, 330, 0, 0, 0, 16, 305,
2391 17, 18, 19, 0, 306, 307, 20, 0, 308, 309,
2392 310, 21, 311, 312, 0, 23, 0, 0, 0, 313,
2393 314, 315, 316, 317, 26, 0, 27, 28, 0, 0,
2394 0, 320, 0, 0, 0, 0, 0, 321, 0, 0,
2395 1505, 0, 0, 0, 0, 0, 0, 0, 323, 324,
2396 1506, 0, 0, 0, 0, 0, 326, 327, 328, 300,
2397 8, 9, 10, 1507, 12, 301, 302, 303, 0, 304,
2398 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2399 330, 0, 0, 0, 16, 305, 17, 0, 19, 0,
2400 306, 307, 20, 0, 308, 309, 310, 21, 311, 312,
2401 0, 23, 0, 0, 0, 313, 314, 315, 316, 317,
2402 26, 0, 318, 319, 0, 0, 0, 320, 0, 0,
2403 0, 0, 0, 321, 0, 0, 322, 0, 0, 0,
2404 0, 0, 0, 0, 323, 324, 325, 0, 0, 0,
2405 0, 0, 326, 327, 328, 300, 8, 9, 10, 329,
2406 12, 301, 302, 303, 0, 304, 14, 0, 0, 0,
2407 0, 0, 0, 0, 0, 0, 330, 0, 0, 0,
2408 16, 305, 17, 0, 19, 0, 306, 307, 20, 0,
2409 308, 309, 310, 21, 311, 312, 0, 23, 0, 0,
2410 0, 313, 314, 315, 316, 317, 26, 0, 27, 319,
2411 0, 0, 0, 320, 0, 0, 0, 0, 0, 321,
2412 0, 0, 322, 0, 0, 0, 0, 0, 0, 0,
2413 323, 324, 325, 0, 0, 0, 0, 0, 326, 327,
2414 328, 300, 8, 9, 10, 329, 12, 552, 302, 303,
2415 0, 304, 14, 0, 0, 0, 0, 0, 0, 0,
2416 0, 0, 330, 0, 0, 0, 16, 305, 17, 0,
2417 19, 0, 306, 307, 20, 0, 308, 309, 310, 21,
2418 311, 312, 0, 23, 0, 0, 0, 313, 314, 315,
2419 316, 317, 26, 0, 27, 319, 0, 0, 0, 320,
2420 0, 0, 0, 0, 0, 321, 0, 0, 322, 0,
2421 0, 0, 0, 0, 0, 0, 323, 324, 325, 0,
2422 0, 0, 0, 0, 326, 327, 328, 300, 8, 9,
2423 10, 329, 12, 552, 302, 303, 0, 304, 14, 0,
2424 0, 0, 0, 0, 0, 0, 0, 0, 330, 0,
2425 0, 0, 16, 305, 17, 0, 19, 0, 306, 307,
2426 20, 0, 308, 309, 310, 21, 311, 312, 0, 23,
2427 0, 0, 0, 313, 314, 315, 316, 317, 26, 0,
2428 27, 319, 585, 0, 0, 0, 0, 0, 0, 0,
2429 0, 321, 0, 0, 322, 0, 0, 0, 0, 0,
2430 0, 0, 323, 324, 325, 0, 0, 0, 0, 0,
2431 326, 327, 328, 300, 8, 9, 10, 586, 12, 552,
2432 302, 303, 0, 304, 14, 0, 0, 0, 0, 0,
2433 0, 0, 0, 0, 330, 0, 0, 0, 16, 305,
2434 17, 0, 19, 0, 306, 307, 20, 0, 308, 309,
2435 310, 21, 311, 312, 0, 23, 0, 0, 0, 313,
2436 314, 315, 316, 317, 26, 0, 27, 319, 0, 0,
2437 0, 0, 0, 0, 0, 0, 0, 321, 0, 0,
2438 322, 0, 0, 0, 0, 0, 0, 0, 323, 324,
2439 325, 0, 0, 0, 0, 0, 326, 327, 328, 0,
2440 0, 0, 0, 329, 624, 300, 8, 9, 10, 0,
2441 12, 552, 302, 303, 0, 304, 14, 0, 0, 0,
2442 330, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2443 16, 305, 17, 18, 19, 0, 306, 307, 20, 0,
2444 308, 309, 310, 21, 311, 312, 0, 23, 0, 0,
2445 0, 313, 314, 315, 316, 317, 26, 0, 27, 319,
2446 0, 0, 0, 0, 0, 0, 0, 0, 0, 321,
2447 0, 0, 571, 0, 0, 0, 0, 0, 0, 0,
2448 323, 324, 572, 0, 0, 0, 0, 0, 326, 327,
2449 328, 1161, 8, 9, 10, 573, 12, 552, 302, 303,
2450 0, 304, 14, 0, 0, 0, 0, 0, 0, 0,
2451 0, 0, 330, 0, 0, 0, 16, 305, 17, 0,
2452 19, 0, 306, 307, 20, 0, 308, 309, 310, 21,
2453 311, 312, 0, 23, 0, 0, 0, 313, 314, 315,
2454 316, 317, 26, 0, 27, 319, 0, 0, 0, 320,
2455 0, 0, 0, 0, 0, 321, 0, 0, 322, 0,
2456 0, 0, 0, 0, 0, 0, 323, 324, 325, 0,
2457 0, 0, 0, 0, 326, 327, 328, 7, 8, 9,
2458 10, 329, 12, 301, 302, 303, 0, 304, 14, 0,
2459 0, 0, 0, 0, 0, 0, 0, 0, 330, 0,
2460 0, 0, 16, 305, 17, 18, 19, 0, 306, 307,
2461 20, 0, 308, 309, 310, 21, 311, 312, 0, 23,
2462 0, 0, 0, 313, 314, 315, 316, 317, 26, 0,
2463 27, 28, 0, 0, 0, 0, 0, 0, 0, 0,
2464 0, 321, 0, 0, 1505, 0, 0, 0, 0, 0,
2465 0, 0, 323, 324, 1506, 0, 0, 0, 0, 0,
2466 326, 327, 328, 300, 8, 9, 10, 1507, 12, 552,
2467 302, 303, 0, 304, 14, 0, 0, 0, 0, 0,
2468 0, 0, 0, 0, 330, 0, 0, 0, 16, 305,
2469 17, 0, 19, 0, 306, 307, 20, 0, 308, 309,
2470 310, 21, 311, 312, 0, 23, 0, 0, 0, 313,
2471 314, 315, 316, 317, 26, 0, 27, 319, 0, 0,
2472 0, 0, 0, 0, 0, 0, 0, 321, 0, 0,
2473 322, 0, 0, 0, 0, 0, 0, 0, 323, 324,
2474 325, 0, 0, 0, 0, 0, 326, 327, 328, 300,
2475 8, 9, 10, 553, 12, 552, 302, 303, 0, 304,
2476 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2477 330, 0, 0, 0, 16, 305, 17, 0, 19, 0,
2478 306, 307, 20, 0, 308, 309, 310, 21, 311, 312,
2479 0, 23, 0, 0, 0, 313, 314, 315, 316, 317,
2480 26, 0, 27, 319, 0, 0, 0, 0, 0, 0,
2481 0, 0, 0, 321, 0, 0, 322, 0, 0, 0,
2482 0, 0, 0, 0, 323, 324, 325, 0, 0, 0,
2483 0, 0, 326, 327, 328, 300, 8, 9, 10, 556,
2484 12, 552, 302, 303, 0, 304, 14, 0, 0, 0,
2485 0, 0, 0, 0, 0, 0, 330, 0, 0, 0,
2486 16, 305, 17, 0, 19, 0, 306, 307, 20, 0,
2487 308, 309, 310, 21, 311, 312, 0, 23, 0, 0,
2488 0, 313, 314, 315, 316, 317, 26, 0, 27, 319,
2489 0, 0, 0, 0, 0, 0, 0, 0, 0, 321,
2490 0, 0, 322, 0, 0, 0, 0, 0, 0, 0,
2491 323, 324, 325, 0, 0, 0, 0, 0, 326, 327,
2492 328, 0, 0, 8, 9, 329, 167, 12, 13, 0,
2493 0, 1550, 0, 14, 0, 0, 0, 0, 0, 0,
2494 0, 0, 330, 0, 0, 0, 0, 16, 0, 17,
2495 18, 0, 0, 0, 0, 20, 0, 0, 0, 0,
2496 0, 0, 0, 0, 23, 0, 0, 0, 0, 0,
2497 0, 0, 0, 26, 0, 130, 131, 588, 589, 590,
2498 591, 592, 593, 594, 595, 596, 597, 598, 599, 600,
2499 601, 602, 603, 604, 605, 606, 607, 608, 609, 588,
2500 589, 590, 591, 592, 593, 594, 595, 596, 597, 598,
2501 599, 600, 601, 602, 603, 604, 605, 606, 607, 608,
2502 609, 0, 0, 0, 0, 1261, 0, 0, 0, 0,
2503 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2504 677, 0, 0, 1546, 588, 589, 590, 591, 592, 593,
2505 594, 595, 596, 597, 598, 599, 600, 601, 602, 603,
2506 604, 605, 606, 607, 608, 609, 1564, 588, 589, 590,
2507 591, 592, 593, 594, 595, 596, 597, 598, 599, 600,
2508 601, 602, 603, 604, 605, 606, 607, 608, 609, 588,
2509 589, 590, 591, 592, 593, 594, 595, 596, 597, 598,
2510 599, 600, 601, 602, 603, 604, 605, 606, 607, 608,
2511 609, 588, 589, 590, 591, 592, 593, 594, 595, 596,
2512 597, 598, 599, 0, 601, 602, 603, 604, 605, 606,
2513 607, 608, 609
2514 };
2515
2516 static const short yycheck[] = { 4,
2517 174, 161, 209, 23, 176, 4, 149, 150, 402, 175,
2518 355, 402, 126, 80, 734, 156, 62, 4, 251, 349,
2519 482, 80, 355, 4, 402, 455, 14, 4, 134, 898,
2520 35, 511, 84, 513, 46, 583, 35, 42, 55, 709,
2521 247, 521, 209, 30, 31, 90, 733, 92, 35, 304,
2522 305, 218, 57, 4, 35, 42, 133, 134, 35, 640,
2523 460, 42, 620, 663, 76, 42, 647, 72, 373, 124,
2524 42, 217, 218, 42, 55, 440, 57, 144, 4, 84,
2525 133, 4, 337, 88, 35, 90, 11, 92, 1400, 296,
2526 1327, 42, 137, 780, 140, 83, 1486, 84, 1337, 42,
2527 42, 1487, 107, 108, 12, 1344, 47, 54, 58, 35,
2528 156, 57, 35, 11, 11, 47, 42, 717, 106, 42,
2529 356, 357, 355, 64, 62, 1488, 54, 38, 33, 59,
2530 54, 136, 137, 84, 139, 0, 203, 62, 1528, 75,
2531 1510, 77, 349, 54, 37, 75, 74, 577, 98, 136,
2532 74, 59, 93, 94, 62, 136, 64, 1527, 175, 140,
2533 165, 93, 149, 150, 169, 1, 212, 33, 0, 503,
2534 108, 176, 408, 409, 220, 782, 1, 1, 165, 641,
2535 306, 307, 169, 108, 165, 136, 245, 794, 169, 716,
2536 136, 237, 169, 165, 175, 176, 322, 169, 1561, 325,
2537 169, 213, 328, 262, 109, 331, 193, 194, 155, 335,
2538 108, 108, 1582, 136, 165, 822, 109, 343, 169, 47,
2539 1606, 828, 58, 1531, 27, 555, 169, 169, 31, 59,
2540 176, 1621, 490, 58, 58, 62, 74, 62, 62, 12,
2541 245, 222, 165, 169, 25, 27, 169, 74, 9, 31,
2542 1487, 402, 1491, 200, 1566, 47, 59, 60, 245, 42,
2543 248, 64, 60, 74, 245, 93, 94, 1575, 526, 346,
2544 95, 95, 3, 4, 5, 6, 59, 58, 60, 109,
2545 108, 62, 64, 149, 150, 151, 59, 393, 448, 62,
2546 342, 58, 297, 346, 245, 1061, 1062, 64, 1537, 245,
2547 61, 93, 94, 33, 7, 735, 976, 3, 4, 5,
2548 41, 109, 1078, 358, 95, 660, 108, 468, 4, 245,
2549 487, 699, 245, 54, 329, 56, 57, 109, 935, 195,
2550 385, 474, 475, 60, 37, 108, 59, 342, 48, 897,
2551 486, 487, 4, 5, 1583, 350, 8, 9, 494, 35,
2552 59, 93, 14, 358, 359, 342, 93, 88, 939, 59,
2553 56, 57, 756, 728, 729, 756, 28, 355, 30, 59,
2554 47, 93, 359, 54, 36, 75, 4, 77, 359, 525,
2555 60, 60, 109, 45, 689, 108, 169, 404, 4, 5,
2556 59, 342, 54, 74, 56, 57, 629, 402, 544, 108,
2557 405, 1270, 983, 74, 450, 8, 9, 35, 359, 74,
2558 47, 14, 47, 359, 60, 402, 93, 94, 108, 149,
2559 150, 151, 752, 404, 951, 402, 209, 954, 664, 109,
2560 109, 93, 980, 36, 217, 218, 359, 442, 54, 108,
2561 56, 57, 45, 93, 47, 571, 572, 493, 1048, 1030,
2562 107, 402, 511, 498, 513, 442, 93, 94, 93, 33,
2563 519, 442, 521, 468, 247, 195, 1232, 25, 995, 996,
2564 442, 108, 47, 442, 936, 1241, 1242, 47, 1244, 47,
2565 1087, 468, 1089, 47, 496, 47, 31, 474, 475, 640,
2566 93, 442, 58, 498, 107, 108, 647, 47, 1185, 480,
2567 900, 518, 514, 515, 47, 550, 511, 488, 513, 25,
2568 4, 27, 524, 296, 519, 47, 521, 468, 93, 442,
2569 1389, 64, 60, 93, 511, 93, 513, 54, 47, 93,
2570 511, 93, 513, 4, 521, 1222, 54, 518, 519, 44,
2571 521, 35, 58, 93, 108, 550, 62, 74, 553, 54,
2572 93, 556, 57, 727, 74, 560, 561, 562, 563, 564,
2573 511, 93, 513, 54, 35, 511, 349, 513, 573, 621,
2574 521, 42, 518, 519, 93, 521, 150, 151, 583, 95,
2575 109, 586, 12, 977, 690, 511, 977, 513, 511, 1019,
2576 513, 697, 47, 1174, 54, 521, 58, 1077, 521, 977,
2577 945, 93, 838, 54, 25, 756, 27, 54, 474, 475,
2578 476, 25, 945, 27, 74, 47, 621, 54, 62, 75,
2579 697, 195, 1203, 406, 108, 1152, 1153, 47, 774, 59,
2580 74, 782, 62, 62, 621, 640, 47, 58, 93, 94,
2581 847, 62, 647, 794, 58, 108, 62, 692, 62, 666,
2582 637, 638, 94, 640, 54, 3, 4, 5, 74, 442,
2583 647, 93, 62, 651, 1126, 136, 3, 4, 5, 108,
2584 621, 822, 1359, 93, 95, 31, 108, 828, 698, 108,
2585 58, 95, 93, 94, 62, 666, 941, 692, 705, 640,
2586 707, 708, 1458, 1459, 165, 47, 647, 47, 169, 108,
2587 25, 706, 27, 486, 487, 710, 1106, 1107, 56, 57,
2588 11, 494, 945, 733, 64, 1049, 329, 1051, 47, 56,
2589 57, 1055, 8, 9, 705, 706, 707, 708, 14, 7,
2590 8, 9, 80, 58, 970, 752, 14, 62, 109, 806,
2591 98, 93, 525, 93, 474, 475, 476, 806, 47, 60,
2592 36, 756, 47, 31, 62, 329, 815, 47, 36, 45,
2593 47, 544, 1122, 1123, 93, 1125, 74, 45, 785, 756,
2594 95, 752, 4, 5, 245, 756, 93, 782, 823, 824,
2595 3, 826, 60, 909, 935, 141, 798, 60, 939, 794,
2596 146, 1121, 804, 805, 93, 782, 808, 809, 93, 1199,
2597 812, 111, 943, 93, 785, 756, 93, 794, 1208, 1209,
2598 815, 937, 938, 1213, 4, 5, 48, 822, 823, 824,
2599 54, 826, 74, 828, 56, 57, 977, 62, 815, 1003,
2600 47, 782, 983, 94, 815, 822, 480, 54, 194, 785,
2601 74, 828, 62, 794, 488, 1081, 1082, 1083, 80, 1569,
2602 27, 94, 465, 47, 31, 429, 430, 74, 48, 74,
2603 54, 1261, 59, 60, 815, 111, 56, 57, 93, 815,
2604 74, 822, 93, 3, 4, 5, 93, 828, 3, 1030,
2605 74, 6, 59, 60, 667, 1219, 1220, 1221, 359, 815,
2606 80, 896, 815, 47, 59, 60, 901, 943, 74, 93,
2607 54, 475, 476, 259, 1018, 74, 31, 59, 3, 4,
2608 5, 6, 3, 4, 5, 182, 41, 835, 836, 837,
2609 74, 988, 59, 60, 929, 708, 56, 57, 58, 11,
2610 935, 56, 57, 108, 939, 109, 1087, 59, 1089, 93,
2611 553, 59, 60, 556, 108, 70, 41, 560, 935, 108,
2612 937, 938, 939, 48, 74, 80, 1356, 945, 59, 60,
2613 573, 56, 57, 88, 108, 56, 57, 54, 93, 752,
2614 74, 442, 977, 586, 979, 980, 74, 590, 983, 553,
2615 108, 1411, 556, 109, 935, 80, 1386, 111, 939, 108,
2616 977, 774, 109, 88, 981, 982, 983, 1427, 572, 573,
2617 977, 111, 1128, 4, 5, 618, 1336, 27, 3, 4,
2618 5, 624, 586, 1072, 74, 4, 5, 74, 1077, 54,
2619 9, 59, 60, 1174, 54, 1030, 977, 62, 74, 1172,
2620 1173, 111, 983, 3, 4, 5, 6, 111, 1043, 74,
2621 511, 108, 513, 1030, 108, 1281, 108, 48, 58, 54,
2622 521, 54, 1203, 48, 108, 56, 57, 62, 1201, 1202,
2623 8, 56, 57, 419, 847, 54, 422, 56, 57, 74,
2624 111, 41, 1077, 647, 93, 1201, 1202, 64, 434, 1030,
2625 1510, 70, 1087, 59, 1089, 1130, 56, 57, 1069, 47,
2626 1077, 80, 59, 1074, 59, 60, 1077, 1527, 74, 75,
2627 1087, 77, 1089, 4, 5, 94, 4, 5, 93, 1176,
2628 83, 84, 1117, 54, 470, 54, 472, 983, 88, 59,
2629 60, 62, 1552, 4, 5, 1130, 1077, 1521, 109, 485,
2630 1521, 1077, 60, 74, 59, 60, 1087, 36, 1089, 3,
2631 4, 5, 64, 7, 8, 9, 64, 48, 59, 60,
2632 48, 1077, 1582, 108, 1077, 56, 57, 64, 56, 57,
2633 1590, 108, 62, 1335, 1030, 1185, 60, 31, 1334, 1174,
2634 1336, 108, 36, 54, 108, 56, 57, 4, 5, 80,
2635 54, 9, 80, 75, 12, 1172, 1173, 1174, 62, 70,
2636 54, 1196, 56, 57, 58, 1525, 108, 1196, 1203, 80,
2637 74, 1327, 108, 64, 3, 4, 5, 6, 64, 1196,
2638 9, 1611, 1217, 94, 1201, 1202, 1203, 54, 54, 47,
2639 64, 111, 62, 1174, 59, 62, 62, 1239, 1240, 56,
2640 57, 59, 31, 61, 62, 59, 64, 74, 74, 103,
2641 104, 105, 41, 108, 75, 1196, 59, 75, 47, 77,
2642 108, 64, 1203, 983, 108, 54, 108, 56, 57, 108,
2643 75, 74, 75, 75, 75, 93, 94, 841, 4, 5,
2644 1196, 70, 62, 1196, 108, 108, 30, 31, 62, 33,
2645 108, 80, 78, 79, 80, 81, 82, 83, 84, 88,
2646 59, 90, 905, 111, 93, 94, 62, 94, 108, 108,
2647 1030, 108, 88, 57, 74, 59, 1172, 1173, 1174, 111,
2648 47, 65, 60, 3, 4, 5, 6, 1334, 1525, 1336,
2649 56, 57, 1327, 108, 111, 108, 939, 108, 108, 111,
2650 1335, 108, 1337, 109, 108, 1201, 1202, 1203, 1337, 1344,
2651 1327, 109, 1502, 59, 815, 1344, 64, 64, 1353, 93,
2652 1337, 41, 59, 1334, 1335, 1336, 108, 1344, 48, 3,
2653 4, 5, 1505, 1506, 938, 939, 56, 57, 64, 108,
2654 1521, 4, 5, 108, 108, 1549, 1327, 4, 5, 1505,
2655 1506, 93, 93, 93, 12, 93, 1337, 141, 109, 109,
2656 80, 8, 146, 1344, 108, 149, 150, 151, 88, 27,
2657 109, 1327, 108, 31, 1327, 108, 111, 763, 764, 983,
2658 766, 1337, 56, 57, 1337, 48, 108, 44, 1344, 47,
2659 108, 1344, 176, 56, 57, 1437, 108, 54, 182, 56,
2660 57, 59, 60, 108, 62, 111, 64, 108, 108, 193,
2661 194, 195, 1172, 1173, 1174, 33, 108, 80, 54, 108,
2662 7, 8, 9, 108, 62, 209, 1030, 14, 111, 108,
2663 3, 4, 5, 217, 218, 93, 94, 47, 62, 108,
2664 108, 1201, 1202, 1203, 31, 96, 1481, 62, 60, 36,
2665 108, 1486, 1487, 1488, 60, 9, 1491, 1486, 45, 60,
2666 16, 64, 1491, 108, 1481, 3, 4, 5, 108, 1486,
2667 1487, 1488, 1507, 60, 1491, 259, 108, 108, 108, 1526,
2668 777, 54, 108, 56, 57, 58, 1521, 108, 1505, 1506,
2669 787, 788, 108, 1528, 93, 93, 60, 4, 5, 1528,
2670 1481, 60, 1537, 54, 1521, 1486, 1487, 1488, 1537, 47,
2671 1491, 1528, 1554, 93, 111, 1526, 54, 814, 56, 57,
2672 1537, 93, 819, 1336, 17, 60, 1561, 54, 107, 97,
2673 1486, 1487, 108, 1486, 1487, 1491, 60, 108, 1491, 108,
2674 1521, 48, 1438, 108, 1561, 329, 11, 1528, 1583, 56,
2675 57, 60, 60, 93, 1583, 93, 1537, 11, 60, 59,
2676 1203, 80, 81, 82, 83, 84, 1583, 64, 60, 1173,
2677 1174, 108, 1528, 80, 1217, 1528, 1077, 108, 108, 47,
2678 1561, 1537, 60, 11, 1537, 88, 1621, 90, 60, 92,
2679 0, 0, 1621, 0, 2, 170, 982, 35, 1202, 1203,
2680 1425, 690, 1583, 977, 1621, 4, 5, 169, 442, 1505,
2681 1506, 1507, 165, 519, 1257, 1258, 1259, 1260, 86, 87,
2682 1185, 405, 406, 91, 92, 93, 94, 1583, 1548, 238,
2683 1583, 94, 4, 5, 137, 419, 139, 9, 422, 1410,
2684 1621, 139, 1621, 1271, 428, 429, 430, 299, 963, 740,
2685 434, 3, 4, 5, 6, 54, 958, 56, 57, 243,
2686 519, 4, 5, 1359, 1222, 1621, 9, 1074, 1621, 815,
2687 956, 70, 673, 4, 5, 47, 621, 1320, 1438, 200,
2688 346, 80, 54, 124, 56, 57, 470, 1337, 472, 41,
2689 474, 475, 476, 1197, 1569, 479, 48, 1590, 70, 1542,
2690 80, 485, 486, 487, 56, 57, 490, -1, 80, 1600,
2691 494, 54, 1525, 56, 57, 1602, 47, 1038, 90, 1353,
2692 -1, 93, 94, 54, 104, 56, 57, 70, 80, 3,
2693 4, 5, 6, -1, -1, 519, 88, 80, -1, 70,
2694 -1, -1, 526, -1, 1387, 1505, 1506, 1507, 772, 80,
2695 -1, -1, -1, 133, -1, -1, -1, -1, -1, 90,
2696 -1, -1, 93, 94, 144, -1, -1, 41, -1, 553,
2697 1067, 1068, 556, 1070, 1071, -1, 1073, 1420, 3, 4,
2698 5, -1, 56, 57, 1170, 1171, -1, 571, 572, 573,
2699 -1, 461, 1178, -1, -1, -1, -1, 821, 468, -1,
2700 -1, -1, 586, 827, -1, -1, 1, -1, 3, 4,
2701 5, 6, 7, 8, 9, -1, -1, 320, -1, 14,
2702 3, 4, 5, 203, 3, 4, 5, -1, 7, 8,
2703 9, 56, 57, 28, 1438, 30, 31, 32, 1481, -1,
2704 -1, 36, -1, -1, 1487, 1488, 41, 30, -1, -1,
2705 45, 46, 31, 48, -1, 358, -1, 36, 238, 54,
2706 -1, 56, 57, 647, 1507, 60, -1, 62, -1, -1,
2707 -1, 54, 461, 56, 57, 70, -1, 56, 57, 468,
2708 -1, 551, 262, 667, -1, 80, 14, -1, -1, -1,
2709 -1, -1, -1, 88, 22, -1, -1, -1, 93, 3,
2710 4, 5, 1506, 1507, -1, -1, 930, -1, 932, 1295,
2711 1296, -1, 1298, -1, 348, 349, 350, -1, 1561, -1,
2712 -1, -1, 706, -1, 708, 709, -1, -1, -1, -1,
2713 -1, -1, 1229, 1230, 1577, -1, -1, 65, 3, 4,
2714 5, 611, 7, 8, 9, -1, -1, 617, 3, 4,
2715 5, 6, 56, 57, 9, -1, 1599, 460, 461, 3,
2716 4, 5, 551, 1606, -1, 468, -1, -1, 752, -1,
2717 3, 4, 5, 6, 354, -1, 31, -1, -1, 763,
2718 764, -1, 766, -1, 654, -1, 41, -1, -1, -1,
2719 774, 56, 57, 777, -1, 498, 124, -1, -1, 54,
2720 -1, 56, 57, 787, 788, 38, 39, 510, 41, -1,
2721 107, 108, 56, 57, -1, 70, 3, 4, 5, -1,
2722 148, 54, 611, 56, 57, 80, -1, -1, 617, -1,
2723 814, -1, 412, 88, 1058, 819, -1, -1, 93, 1063,
2724 -1, -1, -1, -1, -1, -1, -1, 550, 551, -1,
2725 -1, -1, -1, -1, -1, -1, -1, 841, 647, -1,
2726 -1, -1, 1086, -1, 1088, 654, -1, 54, -1, 56,
2727 57, -1, -1, 1370, 1371, 1372, -1, -1, -1, -1,
2728 583, -1, 585, -1, -1, 588, 589, -1, 591, 592,
2729 593, 594, 595, 596, 597, 598, 599, 600, 601, 602,
2730 603, 604, 605, 606, 607, 608, 609, -1, 611, -1,
2731 238, 239, -1, -1, 617, -1, -1, -1, -1, 1143,
2732 -1, -1, 502, 251, 3, 4, 5, 6, 7, 8,
2733 9, 3, 4, 5, 6, 14, -1, -1, -1, -1,
2734 -1, 3, 4, 5, 647, -1, -1, -1, -1, -1,
2735 -1, 654, 31, 937, 938, 939, -1, 36, 1455, 1456,
2736 -1, -1, 41, -1, -1, -1, 45, 547, 47, 41,
2737 3, 4, 5, 676, 677, 54, 48, 56, 57, -1,
2738 -1, 7, 8, 9, 56, 57, 48, -1, 14, 692,
2739 -1, 70, 976, 321, 56, 57, -1, 981, 982, 983,
2740 -1, 80, -1, 637, 638, 31, -1, -1, 80, 88,
2741 36, 90, -1, -1, 93, 94, 88, -1, -1, 45,
2742 -1, 54, -1, 56, 57, 895, 896, 7, 8, 9,
2743 -1, 901, 329, -1, 14, 363, -1, 740, -1, -1,
2744 -1, -1, -1, -1, 372, 915, 1030, 917, -1, 919,
2745 -1, 31, 841, -1, 634, -1, 36, 385, 4, 5,
2746 -1, 1285, 8, 9, -1, 45, -1, -1, 14, -1,
2747 650, 705, -1, 707, 708, -1, 710, 1574, 3, 4,
2748 5, 6, -1, 1067, 1068, -1, 1070, 1071, -1, 1073,
2749 36, -1, -1, -1, 797, 965, -1, -1, -1, 45,
2750 -1, 47, -1, -1, -1, 402, 895, 896, 54, -1,
2751 56, 57, 901, -1, -1, -1, 41, -1, 752, -1,
2752 823, 824, 47, 826, 70, -1, 915, -1, 917, 54,
2753 919, 56, 57, -1, 80, -1, -1, -1, 841, 1363,
2754 1364, 1011, -1, -1, 90, 70, -1, 93, 94, -1,
2755 -1, -1, -1, 1377, 1378, 80, -1, 3, 4, 5,
2756 863, 7, -1, 88, -1, 90, -1, -1, 93, 94,
2757 1394, 468, -1, -1, 502, -1, 965, -1, -1, -1,
2758 -1, -1, -1, -1, 30, -1, 1170, 1171, 1172, 1173,
2759 1174, 37, 895, 896, 1178, -1, -1, 900, 901, 76,
2760 77, 78, 79, 80, 81, 82, 83, 84, 54, -1,
2761 56, 57, 915, 847, 917, -1, 919, 1201, 1202, 1203,
2762 -1, -1, 1011, -1, -1, -1, 806, 71, 72, 73,
2763 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
2764 84, 1030, 1466, 1467, -1, 1229, 1230, -1, -1, -1,
2765 -1, -1, 955, -1, -1, -1, 553, 585, -1, 556,
2766 -1, -1, 965, 560, 561, 562, 563, 564, -1, 3,
2767 4, 5, 6, -1, -1, 9, 573, 980, -1, -1,
2768 3, 4, 5, 6, -1, -1, 920, -1, 922, 586,
2769 993, -1, -1, -1, -1, -1, -1, 31, -1, 933,
2770 -1, 629, -1, 937, 938, -1, -1, 41, 1011, -1,
2771 -1, 1295, 1296, 47, 1298, -1, -1, 1187, 41, 1189,
2772 54, 1191, 56, 57, -1, 48, -1, 1030, -1, 3,
2773 4, 5, 6, 56, 57, 9, 70, 1, -1, 3,
2774 4, 5, 6, 640, 8, -1, 80, 981, 982, -1,
2775 647, 1335, 1336, -1, 88, -1, 90, 31, -1, 93,
2776 94, -1, 1065, 1066, 944, 88, 946, 41, -1, -1,
2777 698, -1, -1, 47, -1, -1, -1, 41, -1, -1,
2778 54, 709, 56, 57, 48, -1, 1370, 1371, 1372, -1,
2779 54, -1, 56, 57, -1, -1, 70, -1, 1187, -1,
2780 1189, -1, 1191, 1106, 1107, -1, 80, 1110, 988, -1,
2781 -1, -1, 740, -1, 88, 4, 90, -1, -1, 93,
2782 94, -1, 1292, -1, 88, 14, -1, 1130, -1, -1,
2783 -1, -1, -1, -1, -1, 24, -1, -1, -1, -1,
2784 -1, 30, 31, -1, 33, -1, 35, -1, -1, -1,
2785 -1, -1, -1, 42, 1438, -1, -1, -1, -1, 756,
2786 -1, -1, -1, -1, -1, -1, 55, -1, 57, -1,
2787 -1, 1455, 1456, -1, -1, -1, 65, -1, -1, -1,
2788 -1, -1, -1, 72, 1187, 782, 1189, -1, 1191, -1,
2789 -1, -1, 1072, -1, 83, 84, 1199, 794, -1, -1,
2790 -1, -1, -1, 1292, -1, 1208, 1209, -1, -1, -1,
2791 1213, -1, -1, -1, -1, -1, -1, 106, -1, -1,
2792 -1, 1505, 1506, 1507, -1, 822, -1, -1, -1, -1,
2793 -1, 828, 1235, -1, -1, -1, 1170, 1171, 1172, 1173,
2794 3, 4, 5, 6, 1178, 134, -1, 136, -1, -1,
2795 -1, 140, 141, -1, -1, -1, 145, 146, 1261, -1,
2796 149, 150, 151, -1, -1, -1, -1, 1201, 1202, 1149,
2797 3, 4, 5, 6, -1, -1, 165, -1, 41, -1,
2798 169, -1, -1, -1, -1, 48, 175, 176, -1, 1292,
2799 1574, -1, -1, 56, 57, -1, 1176, -1, 31, 896,
2800 -1, -1, -1, -1, 193, 194, 195, -1, 41, -1,
2801 -1, -1, -1, 1316, -1, -1, -1, 80, -1, -1,
2802 -1, 54, -1, 56, 57, 88, 4, 5, -1, -1,
2803 8, 9, 929, 222, -1, 963, 14, 70, 935, -1,
2804 -1, -1, 939, -1, -1, -1, -1, 80, 976, 1438,
2805 239, -1, -1, 1356, -1, 88, 245, -1, 36, 248,
2806 93, 1295, 1296, -1, 1298, 1368, 1369, 45, -1, 47,
2807 259, -1, -1, -1, -1, -1, 54, -1, 56, 57,
2808 977, -1, 979, 1386, -1, -1, 983, -1, 82, -1,
2809 -1, -1, 70, -1, -1, -1, -1, -1, 4, 5,
2810 -1, -1, 80, 9, -1, -1, -1, -1, 297, 298,
2811 -1, -1, 90, -1, -1, 93, 94, -1, 193, 194,
2812 195, -1, -1, -1, 3, 4, 5, 6, -1, -1,
2813 9, -1, -1, 1030, -1, 1438, -1, -1, -1, -1,
2814 -1, 47, -1, -1, -1, -1, 1043, -1, 54, -1,
2815 56, 57, 31, 342, -1, -1, -1, 346, 1461, 348,
2816 349, 350, 41, -1, 70, 159, -1, -1, -1, -1,
2817 359, -1, -1, -1, 80, 54, -1, 56, 57, 1107,
2818 -1, -1, -1, -1, 90, -1, 1489, 93, 94, -1,
2819 1087, 70, 1089, -1, -1, -1, -1, 191, -1, -1,
2820 -1, 80, -1, -1, 393, 3, 4, 5, 6, 88,
2821 204, -1, -1, 402, 93, 404, 405, -1, -1, -1,
2822 1117, -1, -1, -1, -1, -1, 4, 5, -1, -1,
2823 419, 9, -1, 422, -1, -1, -1, -1, -1, -1,
2824 -1, -1, -1, 41, -1, 434, -1, -1, -1, -1,
2825 -1, -1, -1, 442, -1, -1, 54, -1, 56, 57,
2826 3, 4, 5, 6, 62, 1193, 9, -1, -1, 47,
2827 -1, 1199, 70, -1, -1, -1, 54, 1174, 56, 57,
2828 -1, 470, 80, 472, -1, 474, 475, 476, 31, -1,
2829 88, 480, 70, -1, -1, 93, 485, -1, 41, 488,
2830 -1, -1, 80, -1, 47, -1, 1203, -1, 1611, -1,
2831 -1, 54, 90, 56, 57, 93, 94, -1, -1, 508,
2832 1217, -1, 511, -1, 513, -1, -1, 70, -1, 518,
2833 519, -1, 521, -1, -1, -1, 1, 80, 3, 4,
2834 5, 6, 7, 8, 9, 88, -1, 90, -1, 14,
2835 93, 94, -1, -1, -1, -1, -1, -1, -1, -1,
2836 -1, -1, -1, 28, -1, 30, 31, 32, -1, -1,
2837 -1, 36, 561, 562, 563, 564, 41, -1, -1, -1,
2838 45, -1, -1, 48, -1, -1, -1, -1, -1, 54,
2839 -1, 56, 57, 1321, 1322, 470, -1, 472, -1, 474,
2840 475, 476, -1, -1, -1, 70, -1, -1, -1, -1,
2841 485, -1, -1, -1, -1, 80, -1, -1, -1, -1,
2842 -1, -1, -1, 88, -1, -1, -1, -1, 93, -1,
2843 -1, -1, 621, 98, 623, -1, -1, -1, -1, -1,
2844 -1, -1, -1, 518, -1, -1, 635, -1, 637, 638,
2845 -1, 640, -1, -1, -1, -1, 1353, -1, 647, 4,
2846 5, -1, 651, 8, 9, -1, -1, -1, -1, 14,
2847 -1, -1, -1, -1, 1402, -1, -1, 666, -1, -1,
2848 -1, -1, -1, 28, 478, 30, -1, -1, -1, 483,
2849 -1, 36, -1, -1, -1, -1, 1424, 1425, -1, -1,
2850 45, 690, 47, -1, -1, -1, -1, -1, 697, 54,
2851 -1, 56, 57, -1, -1, -1, 705, 706, 707, 708,
2852 709, 710, -1, -1, -1, 70, -1, -1, -1, -1,
2853 -1, -1, -1, 527, -1, 80, -1, -1, -1, 533,
2854 -1, -1, -1, -1, -1, 90, -1, -1, 93, 94,
2855 -1, 545, 546, -1, 548, -1, -1, -1, -1, 3,
2856 4, 5, 6, 752, -1, -1, -1, 756, -1, -1,
2857 -1, 1499, -1, -1, 763, 764, -1, 766, 3, 4,
2858 5, 6, 7, 8, 9, -1, -1, -1, -1, 14,
2859 -1, -1, -1, 782, -1, -1, 785, 41, -1, -1,
2860 -1, -1, -1, -1, 48, 794, 31, -1, -1, -1,
2861 1507, 36, 56, 57, -1, -1, 41, -1, 807, -1,
2862 45, -1, 47, -1, 1521, -1, 815, -1, -1, 54,
2863 -1, 56, 57, 822, -1, -1, -1, -1, -1, 828,
2864 -1, -1, -1, -1, 88, 70, 835, 836, 837, 643,
2865 644, -1, -1, -1, 648, 80, -1, -1, 847, -1,
2866 -1, -1, -1, 88, -1, 90, -1, -1, 93, 94,
2867 -1, -1, -1, -1, -1, 4, 5, -1, 7, 8,
2868 9, -1, -1, 12, -1, 14, 4, -1, 763, 764,
2869 -1, 766, -1, -1, -1, -1, 14, -1, -1, 28,
2870 -1, 30, 31, -1, -1, 23, 24, 36, -1, -1,
2871 785, -1, 30, 31, -1, 33, 45, 35, 47, -1,
2872 -1, -1, -1, -1, 42, 54, -1, 56, 57, -1,
2873 -1, 920, -1, 922, -1, -1, -1, 55, -1, 57,
2874 929, 70, -1, -1, 933, -1, 935, 65, 937, 938,
2875 939, 80, -1, -1, 72, -1, 945, 3, 4, 5,
2876 6, 90, -1, -1, 93, 94, 84, -1, -1, -1,
2877 -1, -1, -1, -1, -1, -1, 3, 4, 5, 6,
2878 -1, -1, 9, -1, -1, -1, -1, 781, 977, -1,
2879 979, -1, 981, 982, 983, 41, -1, -1, -1, 793,
2880 -1, -1, 48, -1, 31, -1, -1, -1, -1, -1,
2881 56, 57, -1, -1, 41, -1, -1, -1, 136, -1,
2882 -1, -1, 140, 141, -1, -1, -1, 54, 146, 56,
2883 57, 149, 150, 151, -1, 829, -1, 831, -1, -1,
2884 -1, 1030, 88, 70, -1, -1, -1, 165, -1, -1,
2885 -1, 169, -1, 80, 1043, -1, -1, 175, 176, -1,
2886 -1, 88, -1, -1, -1, -1, 93, -1, -1, -1,
2887 -1, -1, -1, -1, -1, 193, 194, 195, -1, -1,
2888 1069, -1, -1, -1, -1, 1074, -1, -1, 1077, -1,
2889 -1, -1, -1, -1, -1, -1, -1, -1, 1087, -1,
2890 1089, -1, -1, -1, 222, -1, 981, 982, 983, 903,
2891 904, -1, 906, 4, 5, -1, -1, 8, 9, -1,
2892 4, 5, -1, 14, 8, 9, -1, 245, 1117, -1,
2893 14, -1, -1, 1122, 1123, -1, 1125, 28, -1, 30,
2894 934, 259, -1, -1, 28, 36, 30, -1, -1, -1,
2895 -1, -1, 36, -1, 45, 1030, -1, -1, -1, -1,
2896 -1, 45, -1, 54, -1, 56, 57, 58, -1, -1,
2897 54, -1, 56, 57, -1, -1, -1, -1, -1, 297,
2898 298, 1170, 1171, 1172, 1173, 1174, -1, -1, -1, 1178,
2899 -1, 985, -1, -1, 1069, -1, 348, 349, 350, -1,
2900 -1, -1, 93, -1, -1, -1, -1, -1, -1, -1,
2901 -1, -1, 1201, 1202, 1203, 3, 4, 5, 6, 7,
2902 8, 9, -1, -1, 342, -1, 14, -1, 346, -1,
2903 348, 349, 350, -1, -1, -1, -1, 355, -1, -1,
2904 28, 359, 30, 31, 32, -1, -1, -1, 36, -1,
2905 -1, -1, -1, 41, -1, -1, -1, 45, -1, -1,
2906 48, -1, -1, -1, -1, -1, 54, -1, 56, 57,
2907 -1, -1, -1, -1, -1, 393, -1, -1, -1, -1,
2908 -1, -1, 70, -1, 402, -1, 404, 405, -1, -1,
2909 -1, -1, 80, -1, -1, 1170, 1171, 1172, 1173, 1174,
2910 88, 419, -1, 1178, 422, 93, 1295, 1296, -1, 1298,
2911 98, -1, 3, 4, 5, 6, 434, -1, 9, -1,
2912 -1, -1, -1, -1, 442, -1, 1201, 1202, 1203, -1,
2913 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2914 31, -1, -1, -1, 1138, 1334, 1335, 1336, -1, -1,
2915 41, -1, 470, -1, 472, -1, 474, 475, 476, -1,
2916 -1, -1, 480, 54, 1353, 56, 57, 485, -1, 1,
2917 488, 3, 4, 5, 6, 7, 8, 9, -1, 70,
2918 -1, -1, 14, 1177, -1, -1, -1, -1, -1, 80,
2919 508, -1, -1, 511, -1, 513, 28, 88, 30, 31,
2920 518, 519, 93, 521, 36, -1, -1, -1, -1, 41,
2921 -1, -1, -1, 45, -1, -1, 48, -1, -1, -1,
2922 1295, 1296, 54, 1298, 56, 57, -1, -1, 60, -1,
2923 1224, -1, -1, -1, 1228, -1, -1, -1, 70, -1,
2924 -1, -1, -1, 561, 562, 563, 564, -1, 80, 1438,
2925 -1, -1, -1, -1, 1248, -1, 88, -1, 1252, -1,
2926 -1, 93, -1, -1, -1, -1, -1, -1, -1, -1,
2927 -1, -1, 3, 4, 5, 6, -1, -1, 9, -1,
2928 -1, -1, -1, -1, -1, 637, 638, -1, 640, -1,
2929 -1, -1, -1, 1287, -1, 647, -1, -1, -1, -1,
2930 31, -1, -1, 621, -1, 623, -1, -1, -1, -1,
2931 41, -1, -1, -1, -1, -1, 1505, 1506, 1507, 637,
2932 638, -1, 640, 54, -1, 56, 57, -1, -1, 647,
2933 -1, -1, 1521, -1, -1, -1, -1, 1526, -1, 70,
2934 -1, -1, 660, 3, 4, 5, 6, -1, 666, 80,
2935 -1, -1, -1, 705, -1, 707, 708, 88, 710, -1,
2936 -1, -1, 93, 1438, -1, -1, -1, -1, -1, -1,
2937 -1, 31, 690, -1, -1, -1, -1, -1, -1, -1,
2938 698, 41, -1, -1, -1, 1379, 1380, 705, 706, 707,
2939 708, 709, 710, -1, 54, -1, 56, 57, -1, -1,
2940 752, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2941 70, -1, -1, -1, -1, 733, -1, -1, -1, -1,
2942 80, -1, -1, -1, -1, -1, -1, -1, 88, -1,
2943 1505, 1506, 1507, 93, 752, -1, -1, -1, 756, -1,
2944 -1, -1, -1, -1, -1, 763, 764, -1, 766, -1,
2945 -1, -1, -1, -1, 3, 4, 5, 6, 7, 8,
2946 9, -1, 780, 12, 782, 14, -1, 785, -1, -1,
2947 -1, -1, -1, -1, -1, -1, 794, -1, -1, 28,
2948 -1, 30, 31, -1, -1, -1, -1, 36, -1, -1,
2949 -1, -1, 41, -1, -1, 847, 45, 815, 47, -1,
2950 -1, -1, -1, -1, 822, 54, -1, 56, 57, -1,
2951 828, -1, -1, -1, -1, -1, -1, 835, 836, 837,
2952 -1, 70, 3, 4, 5, 6, 7, 8, 9, 847,
2953 -1, 80, -1, 14, -1, -1, -1, -1, -1, 88,
2954 -1, 90, -1, -1, 93, 94, -1, 28, -1, 30,
2955 31, -1, -1, -1, -1, 36, -1, -1, -1, -1,
2956 41, -1, -1, -1, 45, -1, 47, -1, 920, -1,
2957 922, -1, -1, 54, -1, 56, 57, -1, -1, -1,
2958 -1, 933, -1, -1, -1, 937, 938, 939, -1, 70,
2959 3, 4, 5, 6, 7, 8, 9, -1, -1, 80,
2960 -1, 14, 920, -1, 922, -1, -1, 88, -1, 90,
2961 -1, 929, 93, 94, -1, 933, -1, 935, 31, 937,
2962 938, 939, -1, 36, -1, -1, -1, 945, 41, 981,
2963 982, 983, 45, -1, 47, -1, -1, -1, -1, -1,
2964 -1, 54, -1, 56, 57, 4, -1, -1, -1, -1,
2965 -1, -1, -1, -1, -1, -1, -1, 70, -1, 977,
2966 -1, 979, -1, 981, 982, 983, -1, 80, -1, -1,
2967 -1, 30, 31, -1, 33, 88, 35, -1, 1030, -1,
2968 93, -1, -1, 42, 73, 74, 75, 76, 77, 78,
2969 79, 80, 81, 82, 83, 84, 55, -1, 57, 3,
2970 4, 5, 6, 7, 8, 9, -1, -1, -1, -1,
2971 14, -1, 1030, -1, -1, -1, -1, -1, -1, -1,
2972 -1, 80, -1, -1, 28, 1043, 30, 31, -1, -1,
2973 -1, -1, 36, -1, -1, -1, -1, 41, -1, -1,
2974 -1, 45, -1, -1, -1, -1, -1, -1, -1, -1,
2975 54, 1069, 56, 57, -1, -1, 1074, -1, 62, 1077,
2976 -1, -1, -1, -1, -1, -1, 70, -1, -1, 1087,
2977 -1, 1089, -1, -1, 133, 134, 80, 136, -1, -1,
2978 -1, 140, 141, -1, 88, 144, -1, 146, -1, 93,
2979 149, 150, 151, -1, -1, -1, -1, 156, -1, 1117,
2980 -1, -1, -1, -1, 1122, 1123, 165, 1125, -1, -1,
2981 169, -1, -1, -1, -1, -1, 175, 176, 1170, 1171,
2982 1172, 1173, 1174, -1, -1, -1, 1178, -1, -1, -1,
2983 -1, -1, -1, -1, 193, 194, 195, -1, -1, -1,
2984 -1, -1, -1, -1, 203, -1, -1, -1, -1, 1201,
2985 1202, 1203, 1170, 1171, 1172, 1173, 1174, -1, -1, -1,
2986 1178, -1, -1, 222, -1, -1, 1, 1185, 3, 4,
2987 5, 6, 7, 8, 9, -1, -1, -1, -1, 14,
2988 -1, -1, -1, 1201, 1202, 1203, 245, -1, -1, -1,
2989 -1, -1, -1, 28, -1, 30, 31, 32, -1, -1,
2990 259, 36, 37, -1, 1222, -1, 41, -1, -1, -1,
2991 45, 46, -1, 48, 3, 4, 5, 6, -1, 54,
2992 9, 56, 57, -1, -1, 60, -1, 62, -1, -1,
2993 -1, -1, -1, -1, -1, 70, -1, -1, -1, -1,
2994 -1, -1, 31, 1295, 1296, 80, 1298, -1, -1, -1,
2995 -1, -1, 41, 88, -1, -1, -1, -1, 93, -1,
2996 -1, -1, -1, -1, -1, 54, -1, 56, 57, -1,
2997 329, -1, -1, -1, 109, -1, -1, 1295, 1296, -1,
2998 1298, 70, -1, -1, -1, -1, -1, 346, -1, -1,
2999 -1, 80, -1, -1, -1, 354, -1, -1, -1, 88,
3000 359, -1, -1, -1, 93, 1323, -1, -1, -1, -1,
3001 -1, -1, -1, -1, -1, -1, 1334, 1335, 1336, 70,
3002 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
3003 81, 82, 83, 84, 393, 1353, -1, -1, -1, -1,
3004 -1, 1359, -1, -1, -1, 404, -1, -1, -1, 1,
3005 -1, 3, 4, 5, 6, 7, 8, 9, -1, -1,
3006 419, -1, 14, 422, -1, -1, -1, -1, -1, 428,
3007 429, 430, -1, -1, -1, 434, 28, -1, 30, 31,
3008 32, -1, -1, 442, 36, 37, -1, -1, -1, 41,
3009 -1, -1, -1, 45, 46, -1, 48, -1, -1, -1,
3010 -1, -1, 54, -1, 56, 57, -1, -1, 60, -1,
3011 62, 470, -1, 472, -1, 474, 475, 476, 70, -1,
3012 1438, 480, -1, -1, -1, -1, 485, -1, 80, 488,
3013 -1, -1, 3, 4, 5, 6, 88, -1, -1, -1,
3014 -1, 93, -1, 4, 5, -1, -1, 8, 9, -1,
3015 -1, -1, 511, 14, 513, -1, -1, 109, -1, 518,
3016 519, -1, 521, -1, -1, -1, -1, 28, -1, 30,
3017 41, -1, -1, -1, -1, 36, -1, -1, -1, -1,
3018 -1, -1, -1, 54, 45, 56, 57, 1505, 1506, 1507,
3019 -1, 62, -1, 54, 553, 56, 57, 556, -1, 70,
3020 -1, -1, -1, 1521, -1, -1, -1, -1, 1526, 80,
3021 -1, -1, 571, 572, 573, -1, -1, 88, -1, 4,
3022 -1, -1, 93, -1, -1, -1, -1, 586, -1, -1,
3023 -1, 3, 4, 5, 6, -1, 1, 9, 3, 4,
3024 5, 6, 7, 8, 9, 30, 31, -1, 33, 14,
3025 35, -1, -1, -1, -1, -1, -1, 42, -1, 31,
3026 -1, -1, 27, 28, -1, 30, 31, 32, -1, 41,
3027 55, 36, 57, -1, -1, 634, 41, -1, -1, 44,
3028 45, 46, 54, 48, 56, 57, -1, -1, 647, 54,
3029 -1, 56, 57, -1, -1, 60, -1, -1, 70, -1,
3030 -1, -1, -1, -1, -1, 70, -1, 666, 80, -1,
3031 -1, -1, -1, -1, -1, 80, 88, -1, -1, -1,
3032 -1, 93, -1, 88, -1, -1, -1, -1, 93, -1,
3033 -1, 690, -1, 98, -1, -1, -1, 33, 697, -1,
3034 -1, -1, -1, -1, -1, -1, 705, 706, 707, 708,
3035 -1, 136, -1, -1, -1, 140, 141, -1, -1, 55,
3036 -1, 146, -1, -1, 149, 150, 151, -1, -1, -1,
3037 -1, -1, -1, -1, 3, 4, 5, 6, -1, -1,
3038 165, -1, -1, -1, 169, 3, 4, 5, 6, -1,
3039 175, 176, -1, 752, -1, -1, -1, 756, -1, -1,
3040 -1, -1, -1, -1, 763, 764, -1, 766, 193, 194,
3041 195, -1, 41, -1, -1, -1, -1, -1, -1, -1,
3042 -1, -1, -1, 41, -1, 54, 785, 56, 57, -1,
3043 -1, 60, -1, 62, -1, -1, 54, 222, 56, 57,
3044 -1, 70, 60, -1, -1, -1, -1, 806, -1, -1,
3045 -1, 80, 70, 149, 150, 151, 815, -1, -1, 88,
3046 245, -1, 80, -1, 93, -1, -1, -1, -1, -1,
3047 88, -1, -1, -1, 259, 93, -1, -1, -1, 175,
3048 -1, 1, 841, 3, 4, 5, 6, 7, 8, 9,
3049 10, 11, 12, 13, 14, -1, -1, 193, 194, 195,
3050 -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
3051 30, 31, 32, -1, 34, 35, 36, -1, 38, 39,
3052 40, 41, 42, 43, -1, 45, 222, -1, -1, 49,
3053 50, 51, 52, 53, 54, -1, 56, 57, -1, -1,
3054 -1, 61, -1, -1, -1, -1, -1, 67, -1, -1,
3055 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3056 80, -1, -1, -1, -1, -1, 86, 87, 88, -1,
3057 355, -1, -1, 93, 359, -1, -1, -1, 937, 938,
3058 939, -1, -1, -1, 943, 944, -1, -1, 108, -1,
3059 110, -1, -1, 3, 4, 5, 6, 7, 8, 9,
3060 -1, -1, 298, -1, 14, 72, 73, 74, 75, 76,
3061 77, 78, 79, 80, 81, 82, 83, 84, 28, 404,
3062 30, 31, 981, 982, 983, -1, 36, -1, -1, 988,
3063 -1, 41, -1, -1, 419, 45, -1, 422, -1, -1,
3064 -1, -1, -1, -1, 54, -1, 56, 57, -1, 434,
3065 60, -1, 348, 349, 350, -1, -1, 442, -1, -1,
3066 70, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3067 80, 1030, -1, -1, -1, -1, -1, -1, 88, -1,
3068 -1, -1, -1, 93, -1, 470, -1, 472, -1, 474,
3069 475, 476, -1, -1, -1, 480, -1, -1, -1, -1,
3070 485, -1, -1, 488, -1, -1, -1, -1, 404, -1,
3071 1069, -1, -1, -1, -1, 1074, -1, -1, 1077, 3,
3072 4, 5, 6, 7, 8, 9, 511, -1, 513, -1,
3073 14, -1, -1, 518, 519, -1, 521, -1, -1, -1,
3074 -1, -1, -1, -1, 28, -1, 30, 31, -1, -1,
3075 -1, -1, 36, -1, -1, -1, -1, 41, -1, -1,
3076 -1, 45, -1, -1, -1, -1, -1, -1, -1, -1,
3077 54, -1, 56, 57, 470, -1, 472, -1, 474, 475,
3078 476, -1, -1, -1, 480, -1, 70, -1, -1, 485,
3079 1149, -1, 488, -1, -1, -1, 80, -1, -1, -1,
3080 -1, -1, -1, -1, 88, -1, -1, -1, -1, 93,
3081 -1, 1170, 1171, 1172, 1173, 1174, -1, 1176, -1, 1178,
3082 -1, -1, 518, -1, 1, -1, 3, 4, 5, 6,
3083 -1, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3084 -1, -1, 1201, 1202, 1203, -1, -1, -1, -1, -1,
3085 635, 28, 29, 30, -1, 32, -1, 34, 35, 36,
3086 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3087 -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3088 57, 666, -1, -1, 61, 62, -1, -1, -1, -1,
3089 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3090 -1, 78, 79, 80, -1, -1, 55, -1, -1, 86,
3091 87, 88, -1, -1, -1, -1, 93, -1, -1, -1,
3092 705, 706, 707, 708, -1, -1, -1, 623, -1, -1,
3093 -1, 80, -1, 110, 83, -1, 1295, 1296, -1, 1298,
3094 -1, 637, 638, -1, 640, -1, -1, -1, -1, -1,
3095 -1, 647, -1, -1, -1, 104, -1, 106, -1, -1,
3096 -1, -1, -1, -1, -1, -1, -1, 752, -1, -1,
3097 666, 756, -1, -1, -1, 1334, 1335, 1336, 763, 764,
3098 -1, 766, 67, 68, 69, 70, 71, 72, 73, 74,
3099 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
3100 785, -1, -1, -1, -1, -1, -1, -1, -1, 705,
3101 -1, 707, 708, -1, 710, -1, -1, -1, -1, -1,
3102 -1, 3, 4, 5, 6, -1, 175, 9, -1, -1,
3103 815, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3104 -1, -1, -1, -1, 193, 194, 195, -1, -1, 31,
3105 -1, -1, -1, -1, 203, -1, 752, -1, -1, 41,
3106 -1, -1, -1, -1, -1, -1, -1, 763, 764, -1,
3107 766, -1, 54, 222, 56, 57, -1, -1, -1, 1438,
3108 -1, -1, -1, -1, -1, -1, -1, -1, 70, 785,
3109 -1, 3, 4, 5, 6, 7, 8, 9, 80, 248,
3110 12, -1, 14, -1, -1, -1, 88, -1, -1, -1,
3111 -1, 93, -1, 262, -1, -1, 28, -1, 30, 31,
3112 -1, -1, -1, -1, 36, -1, -1, -1, -1, 41,
3113 -1, -1, -1, 45, -1, -1, -1, -1, -1, 835,
3114 836, 837, 54, -1, 56, 57, 1505, 1506, 1507, -1,
3115 -1, 847, -1, -1, -1, -1, -1, -1, 70, -1,
3116 945, -1, -1, -1, -1, -1, -1, 1526, 80, -1,
3117 -1, -1, -1, -1, -1, -1, 88, -1, -1, -1,
3118 -1, 93, -1, -1, -1, -1, -1, -1, -1, -1,
3119 -1, -1, -1, -1, -1, -1, 981, 982, 983, -1,
3120 -1, -1, -1, -1, -1, 354, 355, -1, -1, -1,
3121 -1, 3, 4, 5, 6, 7, 8, 9, -1, -1,
3122 -1, -1, 14, -1, 920, -1, 922, -1, -1, -1,
3123 -1, -1, -1, -1, -1, -1, 28, 933, 30, 31,
3124 -1, 937, 938, 939, 36, 1030, -1, -1, -1, 41,
3125 -1, -1, -1, 45, -1, 404, -1, -1, -1, -1,
3126 -1, -1, 54, -1, 56, 57, -1, -1, 60, -1,
3127 -1, -1, -1, -1, -1, -1, -1, -1, 70, -1,
3128 -1, -1, -1, -1, 1069, 981, 982, 983, 80, 1074,
3129 -1, -1, 1077, -1, -1, -1, 88, -1, -1, -1,
3130 -1, 93, -1, -1, -1, 3, 4, 5, 6, 7,
3131 8, 9, -1, -1, -1, -1, 14, -1, -1, -1,
3132 -1, 470, -1, 472, -1, 474, 475, 476, -1, -1,
3133 28, 480, 30, 31, 1030, -1, 485, -1, 36, 488,
3134 -1, -1, -1, 41, -1, -1, -1, 45, -1, -1,
3135 -1, -1, -1, -1, -1, -1, 54, -1, 56, 57,
3136 -1, 14, -1, -1, -1, -1, -1, -1, -1, 518,
3137 23, 24, 70, 1069, -1, -1, -1, 30, 31, -1,
3138 33, 12, 80, -1, -1, 1170, 1171, 1172, 1173, 1174,
3139 88, -1, -1, 1178, -1, 93, 69, 70, 71, 72,
3140 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
3141 83, 84, 65, -1, -1, -1, 1201, 1202, 1203, -1,
3142 -1, -1, -1, -1, -1, -1, 1122, 1123, -1, 1125,
3143 -1, 62, 63, 64, 65, 66, 67, 68, 69, 70,
3144 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
3145 81, 82, 83, 84, 68, 69, 70, 71, 72, 73,
3146 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
3147 84, 124, -1, 126, 1170, 1171, 1172, 1173, 1174, -1,
3148 133, 134, 1178, -1, -1, -1, -1, 140, 141, -1,
3149 -1, 144, 145, 146, -1, 148, 149, 150, 151, -1,
3150 -1, 650, 651, -1, -1, 1201, 1202, 1203, -1, -1,
3151 1295, 1296, -1, 1298, -1, -1, -1, 666, -1, -1,
3152 -1, -1, -1, -1, -1, -1, -1, -1, 3, 4,
3153 5, 6, -1, -1, -1, -1, -1, -1, -1, -1,
3154 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1334,
3155 1335, 1336, -1, -1, -1, -1, 705, -1, 707, 708,
3156 -1, -1, -1, -1, -1, -1, 41, -1, -1, -1,
3157 -1, -1, -1, -1, -1, -1, -1, -1, -1, 54,
3158 -1, 56, 57, -1, -1, 238, 239, 62, -1, -1,
3159 -1, -1, -1, -1, -1, 70, -1, -1, -1, 1295,
3160 1296, -1, 1298, 752, -1, 80, 259, -1, -1, -1,
3161 -1, -1, -1, 88, 763, 764, -1, 766, 93, -1,
3162 -1, 1, -1, 3, 4, 5, 6, 7, 8, 9,
3163 10, 11, 12, 13, 14, -1, 785, -1, 1334, -1,
3164 1336, -1, -1, -1, -1, 298, -1, -1, 28, 29,
3165 30, 31, 32, 1438, 34, 35, 36, 806, 38, 39,
3166 40, 41, 42, 43, -1, 45, -1, 47, -1, 49,
3167 50, 51, 52, 53, 54, -1, 56, 57, 58, -1,
3168 -1, 61, -1, -1, -1, -1, -1, 67, -1, -1,
3169 70, -1, -1, 346, -1, 348, 349, -1, 78, 79,
3170 80, 3, 4, 5, 6, -1, 86, 87, 88, -1,
3171 90, -1, -1, 93, 94, -1, -1, -1, -1, -1,
3172 1505, 1506, 1507, 3, 4, 5, 6, -1, -1, 31,
3173 110, -1, -1, -1, -1, -1, -1, -1, -1, 41,
3174 393, 1526, 1438, -1, -1, -1, -1, -1, -1, -1,
3175 -1, -1, 54, -1, 56, 57, -1, -1, -1, 412,
3176 -1, 41, -1, -1, -1, -1, 419, -1, 70, 422,
3177 -1, -1, -1, -1, 54, -1, 56, 57, 80, -1,
3178 60, 434, -1, -1, -1, -1, 88, -1, -1, -1,
3179 70, 93, -1, -1, -1, 944, 945, 946, -1, -1,
3180 80, -1, -1, -1, -1, -1, -1, -1, 88, 1505,
3181 1506, 1507, -1, 93, -1, -1, -1, -1, 4, 5,
3182 -1, 7, 8, 9, 3, 4, 5, 6, 14, -1,
3183 1526, -1, 981, 982, 983, -1, -1, -1, -1, 988,
3184 -1, -1, 28, -1, 30, 31, -1, -1, -1, 502,
3185 36, -1, -1, -1, -1, 508, -1, -1, -1, 45,
3186 -1, -1, 41, -1, -1, -1, -1, -1, 54, 1018,
3187 56, 57, -1, -1, -1, 54, -1, 56, 57, -1,
3188 -1, 1030, 1, -1, 3, 4, 5, 6, 7, 8,
3189 9, 70, -1, 12, 547, 14, -1, -1, -1, -1,
3190 -1, 80, -1, -1, -1, -1, 25, -1, 27, 88,
3191 -1, -1, 31, -1, 93, -1, -1, 36, -1, -1,
3192 1069, -1, 41, -1, -1, -1, 45, -1, 47, -1,
3193 -1, -1, -1, -1, -1, 54, -1, 56, 57, 58,
3194 59, 60, -1, 62, 63, 64, 65, 66, 67, 68,
3195 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
3196 79, 80, 81, 82, 83, 84, -1, 86, 87, 88,
3197 623, 90, 91, 92, 93, 94, 95, -1, 97, -1,
3198 -1, 634, 635, 102, 637, 638, -1, -1, 107, 108,
3199 109, -1, 111, -1, -1, -1, -1, -1, -1, -1,
3200 1149, -1, -1, -1, -1, -1, -1, 4, 5, -1,
3201 7, 8, 9, -1, -1, -1, -1, 14, -1, -1,
3202 -1, 1170, 1171, 1172, 1173, 1174, -1, 1176, -1, 1178,
3203 -1, 28, -1, 30, 31, -1, -1, 690, -1, 36,
3204 -1, -1, -1, -1, 697, 698, -1, -1, 45, -1,
3205 -1, 48, 1201, 1202, 1203, -1, 709, 54, -1, 56,
3206 57, -1, -1, -1, -1, 1, -1, 3, 4, 5,
3207 6, 7, 8, 9, 10, 11, -1, 13, 14, 15,
3208 733, 17, 18, 19, 20, 21, 22, 23, 24, 25,
3209 26, 27, 28, 29, 30, 31, 32, -1, 34, 35,
3210 36, -1, 38, 39, 40, 41, 42, 43, 44, 45,
3211 46, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3212 56, 57, 58, -1, 60, 61, -1, 780, -1, -1,
3213 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3214 -1, -1, 78, 79, 80, -1, 1295, 1296, -1, 1298,
3215 86, 87, 88, -1, 807, -1, -1, 93, -1, 95,
3216 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3217 -1, -1, -1, 109, 110, -1, -1, -1, -1, -1,
3218 -1, -1, 835, 836, 837, 1334, -1, 1336, -1, -1,
3219 -1, -1, -1, -1, 847, -1, 1, -1, 3, 4,
3220 5, 6, 7, 8, 9, 10, 11, -1, 13, 14,
3221 15, -1, 17, 18, 19, 20, 21, 22, 23, 24,
3222 25, 26, 27, 28, 29, 30, 31, 32, -1, 34,
3223 35, 36, -1, 38, 39, 40, 41, 42, 43, 44,
3224 45, 46, -1, -1, 49, 50, 51, 52, 53, 54,
3225 -1, 56, 57, 58, -1, 60, 61, -1, -1, -1,
3226 -1, -1, 67, -1, -1, 70, -1, 920, -1, 922,
3227 -1, -1, -1, 78, 79, 80, 31, -1, -1, -1,
3228 933, 86, 87, 88, -1, -1, -1, -1, 93, 1438,
3229 95, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3230 -1, -1, -1, -1, -1, 110, -1, -1, 63, 64,
3231 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
3232 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
3233 -1, -1, -1, -1, -1, 4, 5, -1, 7, 8,
3234 9, -1, -1, 12, -1, 14, -1, -1, -1, -1,
3235 -1, -1, -1, -1, -1, -1, 1505, 1506, 1507, 28,
3236 -1, 30, 31, -1, -1, 1018, -1, 36, -1, -1,
3237 -1, -1, -1, -1, -1, -1, 45, 1526, -1, -1,
3238 -1, -1, -1, -1, -1, 54, -1, 56, 57, -1,
3239 -1, -1, -1, -1, -1, -1, 1, -1, 3, 4,
3240 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
3241 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1072,
3242 -1, 1074, -1, 28, 29, 30, 31, 32, -1, 34,
3243 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3244 45, -1, 47, -1, 49, 50, 51, 52, 53, 54,
3245 -1, 56, 57, 58, -1, -1, 61, -1, -1, -1,
3246 -1, -1, 67, -1, -1, 70, -1, -1, -1, 1122,
3247 1123, -1, 1125, 78, 79, 80, -1, -1, -1, -1,
3248 -1, 86, 87, 88, -1, 90, -1, -1, 93, 94,
3249 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3250 -1, -1, -1, -1, -1, 110, 1, -1, 3, 4,
3251 5, 6, 7, 8, 9, 10, 11, -1, 13, 14,
3252 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3253 -1, -1, 1185, 28, 29, 30, 31, 32, -1, 34,
3254 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3255 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
3256 -1, 56, 57, 58, -1, 60, 61, -1, -1, 1222,
3257 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3258 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3259 -1, 86, 87, 88, -1, -1, -1, -1, 93, 1,
3260 -1, 3, 4, 5, 6, -1, 8, 9, 10, 11,
3261 -1, 13, 14, -1, -1, 110, -1, -1, -1, -1,
3262 -1, -1, -1, -1, -1, -1, 28, 29, 30, -1,
3263 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3264 42, 43, -1, 45, -1, -1, -1, 49, 50, 51,
3265 52, 53, 54, -1, 56, 57, 58, -1, -1, 61,
3266 -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
3267 -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
3268 -1, -1, -1, -1, 86, 87, 88, -1, -1, -1,
3269 -1, 93, 94, -1, -1, -1, -1, -1, -1, -1,
3270 -1, -1, -1, -1, -1, -1, 1359, 109, 110, 1,
3271 -1, 3, 4, 5, 6, -1, 8, 9, 10, 11,
3272 -1, 13, 14, -1, -1, -1, -1, -1, -1, -1,
3273 -1, -1, -1, -1, -1, -1, 28, 29, 30, 31,
3274 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3275 42, 43, -1, 45, -1, -1, -1, 49, 50, 51,
3276 52, 53, 54, -1, 56, 57, 58, -1, -1, 61,
3277 -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
3278 -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
3279 -1, -1, -1, -1, 86, 87, 88, -1, -1, -1,
3280 1, 93, 3, 4, 5, 6, -1, 8, 9, 10,
3281 11, -1, 13, 14, -1, -1, -1, -1, 110, -1,
3282 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3283 -1, 32, -1, 34, 35, 36, -1, 38, 39, 40,
3284 41, 42, 43, -1, 45, -1, -1, -1, 49, 50,
3285 51, 52, 53, 54, -1, 56, 57, 58, -1, -1,
3286 61, -1, -1, -1, -1, -1, 67, -1, -1, 70,
3287 -1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
3288 -1, -1, -1, -1, -1, 86, 87, 88, -1, -1,
3289 -1, -1, 93, 94, 1, -1, 3, 4, 5, 6,
3290 -1, 8, 9, 10, 11, -1, 13, 14, -1, 110,
3291 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3292 -1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
3293 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3294 -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3295 57, 58, -1, -1, 61, -1, -1, -1, -1, -1,
3296 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3297 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3298 87, 88, -1, -1, -1, 1, 93, 3, 4, 5,
3299 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3300 -1, -1, 109, 110, -1, -1, -1, -1, -1, -1,
3301 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
3302 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3303 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3304 56, 57, 58, -1, -1, 61, -1, -1, -1, -1,
3305 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3306 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3307 86, 87, 88, -1, -1, -1, 1, 93, 3, 4,
3308 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3309 -1, -1, -1, 109, 110, -1, -1, -1, -1, -1,
3310 -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
3311 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3312 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
3313 -1, 56, 57, 58, -1, -1, 61, -1, -1, -1,
3314 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3315 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3316 -1, 86, 87, 88, -1, -1, -1, -1, 93, -1,
3317 1, -1, 3, 4, 5, 6, 101, 8, 9, 10,
3318 11, -1, 13, 14, -1, 110, -1, -1, -1, -1,
3319 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3320 31, 32, -1, 34, 35, 36, -1, 38, 39, 40,
3321 41, 42, 43, -1, 45, -1, -1, -1, 49, 50,
3322 51, 52, 53, 54, -1, 56, 57, 58, -1, -1,
3323 61, -1, -1, -1, -1, -1, 67, -1, -1, 70,
3324 -1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
3325 -1, -1, -1, -1, -1, 86, 87, 88, -1, -1,
3326 -1, 1, 93, 3, 4, 5, 6, -1, 8, 9,
3327 10, 11, -1, 13, 14, -1, -1, -1, -1, 110,
3328 -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
3329 30, -1, 32, -1, 34, 35, 36, -1, 38, 39,
3330 40, 41, 42, 43, -1, 45, -1, -1, -1, 49,
3331 50, 51, 52, 53, 54, -1, 56, 57, 58, -1,
3332 -1, 61, -1, -1, -1, -1, -1, 67, -1, -1,
3333 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3334 80, -1, -1, -1, -1, -1, 86, 87, 88, -1,
3335 -1, -1, 1, 93, 3, 4, 5, 6, -1, 8,
3336 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3337 110, -1, -1, -1, -1, -1, -1, -1, -1, 28,
3338 29, 30, -1, 32, -1, 34, 35, 36, -1, 38,
3339 39, 40, 41, 42, 43, -1, 45, -1, -1, -1,
3340 49, 50, 51, 52, 53, 54, -1, 56, 57, -1,
3341 -1, 60, 61, -1, -1, -1, -1, -1, 67, -1,
3342 -1, 70, -1, -1, -1, -1, -1, -1, -1, 78,
3343 79, 80, -1, -1, -1, -1, -1, 86, 87, 88,
3344 -1, -1, -1, 1, 93, 3, 4, 5, 6, -1,
3345 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3346 -1, 110, -1, -1, -1, -1, -1, -1, -1, -1,
3347 28, 29, 30, -1, 32, -1, 34, 35, 36, -1,
3348 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3349 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3350 -1, -1, -1, 61, -1, -1, -1, -1, -1, 67,
3351 1, -1, 70, 4, 5, -1, -1, 8, 9, -1,
3352 78, 79, 80, 14, -1, -1, -1, -1, 86, 87,
3353 88, -1, -1, -1, -1, 93, -1, 28, -1, 30,
3354 -1, -1, -1, -1, -1, 36, -1, 38, 39, -1,
3355 108, -1, 110, -1, 45, -1, 47, -1, -1, -1,
3356 -1, -1, -1, 54, -1, 56, 57, -1, 59, -1,
3357 -1, -1, 63, 64, 65, 66, 67, 68, 69, 70,
3358 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
3359 81, 82, 83, -1, -1, 86, 87, 88, -1, -1,
3360 91, -1, 1, 94, 3, 4, 5, 6, -1, 8,
3361 9, 10, 11, -1, 13, 14, -1, -1, -1, 110,
3362 -1, -1, -1, -1, -1, -1, -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 -1, -1, -1, 1, 93, 3, 4, 5, 6, -1,
3370 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3371 -1, 110, -1, -1, -1, -1, -1, -1, -1, -1,
3372 28, 29, 30, -1, 32, -1, 34, 35, 36, -1,
3373 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3374 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3375 -1, -1, -1, 61, -1, -1, -1, -1, -1, 67,
3376 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3377 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3378 88, -1, -1, -1, 1, 93, 3, 4, 5, 6,
3379 -1, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3380 -1, -1, 110, -1, -1, -1, -1, -1, -1, -1,
3381 -1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
3382 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3383 -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3384 57, -1, -1, -1, 61, -1, -1, -1, -1, -1,
3385 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3386 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3387 87, 88, 3, 4, 5, 6, 93, 8, 9, 10,
3388 11, -1, 13, 14, -1, -1, -1, -1, -1, -1,
3389 -1, -1, -1, 110, -1, -1, -1, 28, 29, 30,
3390 -1, 32, -1, 34, 35, 36, -1, 38, 39, 40,
3391 41, 42, 43, -1, 45, -1, -1, -1, 49, 50,
3392 51, 52, 53, 54, -1, 56, 57, -1, -1, -1,
3393 61, -1, -1, -1, -1, -1, 67, -1, 1, 70,
3394 3, 4, 5, 6, 7, 8, 9, 78, 79, 80,
3395 -1, 14, -1, -1, -1, 86, 87, 88, -1, -1,
3396 -1, -1, 93, -1, -1, 28, -1, 30, 31, 32,
3397 -1, -1, -1, 36, 37, -1, -1, -1, 41, 110,
3398 111, -1, 45, 46, -1, 48, -1, -1, -1, -1,
3399 -1, 54, -1, 56, 57, -1, -1, 60, -1, 62,
3400 -1, -1, -1, -1, -1, -1, -1, 70, 1, -1,
3401 3, 4, 5, 6, 7, 8, 9, 80, -1, -1,
3402 -1, 14, -1, -1, -1, 88, -1, -1, -1, -1,
3403 93, -1, -1, -1, -1, 28, -1, 30, 31, 32,
3404 -1, -1, -1, 36, 37, -1, 109, -1, 41, -1,
3405 -1, -1, 45, 46, -1, 48, -1, -1, -1, -1,
3406 -1, 54, -1, 56, 57, -1, -1, 60, -1, 62,
3407 -1, -1, -1, -1, -1, -1, -1, 70, -1, -1,
3408 -1, -1, -1, -1, -1, -1, -1, 80, -1, -1,
3409 -1, -1, -1, -1, -1, 88, -1, -1, -1, -1,
3410 93, -1, -1, 3, 4, 5, 6, 7, 8, 9,
3411 10, 11, -1, 13, 14, 15, 109, 17, 18, 19,
3412 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
3413 30, 31, 32, -1, 34, 35, 36, -1, 38, 39,
3414 40, 41, 42, 43, 44, 45, 46, -1, -1, 49,
3415 50, 51, 52, 53, 54, -1, 56, 57, 58, -1,
3416 60, 61, -1, -1, -1, -1, -1, 67, -1, -1,
3417 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3418 80, -1, -1, -1, -1, -1, 86, 87, 88, -1,
3419 -1, -1, -1, 93, -1, 95, -1, -1, -1, -1,
3420 -1, -1, -1, -1, -1, -1, -1, -1, -1, 109,
3421 110, 3, 4, 5, 6, 7, 8, 9, 10, 11,
3422 -1, 13, 14, 15, -1, 17, 18, 19, 20, 21,
3423 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
3424 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3425 42, 43, 44, 45, 46, -1, -1, 49, 50, 51,
3426 52, 53, 54, -1, 56, 57, 58, -1, 60, 61,
3427 -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
3428 -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
3429 -1, -1, -1, -1, 86, 87, 88, -1, -1, -1,
3430 -1, 93, -1, 95, -1, 3, 4, 5, 6, 7,
3431 8, 9, 10, 11, -1, 13, 14, 15, 110, 17,
3432 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
3433 28, 29, 30, 31, 32, -1, 34, 35, 36, -1,
3434 38, 39, 40, 41, 42, 43, 44, 45, 46, -1,
3435 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3436 58, -1, 60, 61, -1, -1, -1, -1, -1, 67,
3437 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3438 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3439 88, -1, -1, -1, -1, 93, -1, 95, -1, 3,
3440 4, 5, 6, 7, 8, 9, 10, 11, -1, 13,
3441 14, 15, 110, 17, 18, 19, 20, 21, 22, 23,
3442 24, 25, 26, 27, 28, 29, 30, 31, 32, -1,
3443 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3444 44, 45, 46, -1, -1, 49, 50, 51, 52, 53,
3445 54, -1, 56, 57, -1, -1, 60, 61, -1, -1,
3446 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3447 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3448 -1, -1, 86, 87, 88, -1, -1, -1, -1, 93,
3449 -1, 95, 3, 4, 5, 6, 7, 8, 9, 10,
3450 11, 12, 13, 14, -1, -1, 110, -1, -1, -1,
3451 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3452 31, 32, -1, 34, 35, 36, -1, 38, 39, 40,
3453 41, 42, 43, -1, 45, -1, 47, -1, 49, 50,
3454 51, 52, 53, 54, -1, 56, 57, -1, -1, -1,
3455 61, -1, -1, -1, -1, -1, 67, -1, -1, 70,
3456 -1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
3457 -1, -1, -1, -1, -1, 86, 87, 88, -1, 90,
3458 -1, -1, 93, 94, 3, 4, 5, 6, 7, 8,
3459 9, 10, 11, 12, 13, 14, -1, -1, -1, 110,
3460 -1, -1, -1, -1, -1, -1, -1, -1, -1, 28,
3461 29, 30, 31, 32, -1, 34, 35, 36, -1, 38,
3462 39, 40, 41, 42, 43, -1, 45, -1, 47, -1,
3463 49, 50, 51, 52, 53, 54, -1, 56, 57, -1,
3464 -1, -1, 61, -1, -1, -1, -1, -1, 67, -1,
3465 -1, 70, -1, -1, -1, -1, -1, -1, -1, 78,
3466 79, 80, -1, -1, -1, -1, -1, 86, 87, 88,
3467 -1, 90, -1, -1, 93, 94, 3, 4, 5, 6,
3468 -1, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3469 -1, 110, -1, -1, -1, -1, -1, -1, -1, -1,
3470 -1, 28, 29, 30, 31, 32, -1, 34, 35, 36,
3471 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3472 47, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3473 57, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3474 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3475 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3476 87, 88, -1, 90, -1, -1, 93, 94, 3, 4,
3477 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3478 -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
3479 -1, -1, -1, 28, 29, 30, 31, 32, -1, 34,
3480 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3481 45, -1, 47, -1, 49, 50, 51, 52, 53, 54,
3482 -1, 56, 57, -1, -1, -1, -1, -1, -1, -1,
3483 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3484 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3485 -1, 86, 87, 88, -1, 90, -1, -1, 93, 94,
3486 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3487 13, 14, -1, -1, -1, 110, -1, -1, -1, -1,
3488 -1, -1, -1, -1, -1, 28, 29, 30, 31, 32,
3489 -1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
3490 43, -1, 45, -1, -1, -1, 49, 50, 51, 52,
3491 53, 54, -1, 56, 57, -1, -1, -1, 61, -1,
3492 -1, -1, -1, -1, 67, -1, -1, 70, -1, -1,
3493 -1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
3494 -1, -1, -1, 86, 87, 88, 3, 4, 5, 6,
3495 93, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3496 -1, -1, -1, -1, -1, -1, -1, 110, -1, -1,
3497 -1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
3498 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3499 -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3500 57, -1, -1, 60, 61, -1, -1, -1, -1, -1,
3501 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3502 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3503 87, 88, -1, -1, -1, -1, 93, 3, 4, 5,
3504 6, 7, 8, 9, 10, 11, -1, 13, 14, -1,
3505 -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
3506 -1, -1, 28, 29, 30, 31, 32, -1, 34, 35,
3507 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3508 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3509 56, 57, -1, -1, -1, -1, -1, -1, -1, -1,
3510 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3511 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3512 86, 87, 88, 3, 4, 5, 6, 93, 8, 9,
3513 10, 11, -1, 13, 14, -1, -1, -1, -1, -1,
3514 -1, -1, -1, -1, 110, -1, -1, -1, 28, 29,
3515 30, 31, 32, -1, 34, 35, 36, -1, 38, 39,
3516 40, 41, 42, 43, -1, 45, -1, -1, -1, 49,
3517 50, 51, 52, 53, 54, -1, 56, 57, -1, -1,
3518 -1, 61, -1, -1, -1, -1, -1, 67, -1, -1,
3519 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3520 80, -1, -1, -1, -1, -1, 86, 87, 88, 3,
3521 4, 5, 6, 93, 8, 9, 10, 11, -1, 13,
3522 14, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3523 110, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3524 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3525 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3526 54, -1, 56, 57, -1, -1, -1, 61, -1, -1,
3527 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3528 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3529 -1, -1, 86, 87, 88, 3, 4, 5, 6, 93,
3530 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3531 -1, -1, -1, -1, -1, -1, 110, -1, -1, -1,
3532 28, 29, 30, -1, 32, -1, 34, 35, 36, -1,
3533 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3534 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3535 -1, -1, -1, 61, -1, -1, -1, -1, -1, 67,
3536 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3537 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3538 88, 3, 4, 5, 6, 93, 8, 9, 10, 11,
3539 -1, 13, 14, -1, -1, -1, -1, -1, -1, -1,
3540 -1, -1, 110, -1, -1, -1, 28, 29, 30, -1,
3541 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3542 42, 43, -1, 45, -1, -1, -1, 49, 50, 51,
3543 52, 53, 54, -1, 56, 57, -1, -1, -1, 61,
3544 -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
3545 -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
3546 -1, -1, -1, -1, 86, 87, 88, 3, 4, 5,
3547 6, 93, 8, 9, 10, 11, -1, 13, 14, -1,
3548 -1, -1, -1, -1, -1, -1, -1, -1, 110, -1,
3549 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
3550 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3551 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3552 56, 57, 58, -1, -1, -1, -1, -1, -1, -1,
3553 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3554 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3555 86, 87, 88, 3, 4, 5, 6, 93, 8, 9,
3556 10, 11, -1, 13, 14, -1, -1, -1, -1, -1,
3557 -1, -1, -1, -1, 110, -1, -1, -1, 28, 29,
3558 30, -1, 32, -1, 34, 35, 36, -1, 38, 39,
3559 40, 41, 42, 43, -1, 45, -1, -1, -1, 49,
3560 50, 51, 52, 53, 54, -1, 56, 57, -1, -1,
3561 -1, -1, -1, -1, -1, -1, -1, 67, -1, -1,
3562 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3563 80, -1, -1, -1, -1, -1, 86, 87, 88, -1,
3564 -1, -1, -1, 93, 94, 3, 4, 5, 6, -1,
3565 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3566 110, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3567 28, 29, 30, 31, 32, -1, 34, 35, 36, -1,
3568 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3569 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3570 -1, -1, -1, -1, -1, -1, -1, -1, -1, 67,
3571 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3572 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3573 88, 3, 4, 5, 6, 93, 8, 9, 10, 11,
3574 -1, 13, 14, -1, -1, -1, -1, -1, -1, -1,
3575 -1, -1, 110, -1, -1, -1, 28, 29, 30, -1,
3576 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3577 42, 43, -1, 45, -1, -1, -1, 49, 50, 51,
3578 52, 53, 54, -1, 56, 57, -1, -1, -1, 61,
3579 -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
3580 -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
3581 -1, -1, -1, -1, 86, 87, 88, 3, 4, 5,
3582 6, 93, 8, 9, 10, 11, -1, 13, 14, -1,
3583 -1, -1, -1, -1, -1, -1, -1, -1, 110, -1,
3584 -1, -1, 28, 29, 30, 31, 32, -1, 34, 35,
3585 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3586 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3587 56, 57, -1, -1, -1, -1, -1, -1, -1, -1,
3588 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3589 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3590 86, 87, 88, 3, 4, 5, 6, 93, 8, 9,
3591 10, 11, -1, 13, 14, -1, -1, -1, -1, -1,
3592 -1, -1, -1, -1, 110, -1, -1, -1, 28, 29,
3593 30, -1, 32, -1, 34, 35, 36, -1, 38, 39,
3594 40, 41, 42, 43, -1, 45, -1, -1, -1, 49,
3595 50, 51, 52, 53, 54, -1, 56, 57, -1, -1,
3596 -1, -1, -1, -1, -1, -1, -1, 67, -1, -1,
3597 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3598 80, -1, -1, -1, -1, -1, 86, 87, 88, 3,
3599 4, 5, 6, 93, 8, 9, 10, 11, -1, 13,
3600 14, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3601 110, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3602 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3603 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3604 54, -1, 56, 57, -1, -1, -1, -1, -1, -1,
3605 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3606 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3607 -1, -1, 86, 87, 88, 3, 4, 5, 6, 93,
3608 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3609 -1, -1, -1, -1, -1, -1, 110, -1, -1, -1,
3610 28, 29, 30, -1, 32, -1, 34, 35, 36, -1,
3611 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3612 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3613 -1, -1, -1, -1, -1, -1, -1, -1, -1, 67,
3614 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3615 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3616 88, -1, -1, 4, 5, 93, 7, 8, 9, -1,
3617 -1, 12, -1, 14, -1, -1, -1, -1, -1, -1,
3618 -1, -1, 110, -1, -1, -1, -1, 28, -1, 30,
3619 31, -1, -1, -1, -1, 36, -1, -1, -1, -1,
3620 -1, -1, -1, -1, 45, -1, -1, -1, -1, -1,
3621 -1, -1, -1, 54, -1, 56, 57, 63, 64, 65,
3622 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
3623 76, 77, 78, 79, 80, 81, 82, 83, 84, 63,
3624 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
3625 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
3626 84, -1, -1, -1, -1, 111, -1, -1, -1, -1,
3627 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3628 59, -1, -1, 107, 63, 64, 65, 66, 67, 68,
3629 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
3630 79, 80, 81, 82, 83, 84, 62, 63, 64, 65,
3631 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
3632 76, 77, 78, 79, 80, 81, 82, 83, 84, 63,
3633 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
3634 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
3635 84, 63, 64, 65, 66, 67, 68, 69, 70, 71,
3636 72, 73, 74, -1, 76, 77, 78, 79, 80, 81,
3637 82, 83, 84
3638 };
3639 /* -*-C-*- Note some compilers choke on comments on `#line' lines. */
3640 #line 3 "/usr/local/gnu/share/bison.simple"
3641
3642 /* Skeleton output parser for bison,
3643 Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
3644
3645 This program is free software; you can redistribute it and/or modify
3646 it under the terms of the GNU General Public License as published by
3647 the Free Software Foundation; either version 2, or (at your option)
3648 any later version.
3649
3650 This program is distributed in the hope that it will be useful,
3651 but WITHOUT ANY WARRANTY; without even the implied warranty of
3652 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3653 GNU General Public License for more details.
3654
3655 You should have received a copy of the GNU General Public License
3656 along with this program; if not, write to the Free Software
3657 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
3658
3659 /* As a special exception, when this file is copied by Bison into a
3660 Bison output file, you may use that output file without restriction.
3661 This special exception was added by the Free Software Foundation
3662 in version 1.24 of Bison. */
3663
3664 #ifndef alloca
3665 #ifdef __GNUC__
3666 #define alloca __builtin_alloca
3667 #else /* not GNU C. */
3668 #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi)
3669 #include <alloca.h>
3670 #else /* not sparc */
3671 #if defined (MSDOS) && !defined (__TURBOC__)
3672 #include <malloc.h>
3673 #else /* not MSDOS, or __TURBOC__ */
3674 #if defined(_AIX)
3675 #include <malloc.h>
3676 #pragma alloca
3677 #else /* not MSDOS, __TURBOC__, or _AIX */
3678 #ifdef __hpux
3679 #ifdef __cplusplus
3680 extern "C" {
3681 void *alloca (unsigned int);
3682 };
3683 #else /* not __cplusplus */
3684 void *alloca ();
3685 #endif /* not __cplusplus */
3686 #endif /* __hpux */
3687 #endif /* not _AIX */
3688 #endif /* not MSDOS, or __TURBOC__ */
3689 #endif /* not sparc. */
3690 #endif /* not GNU C. */
3691 #endif /* alloca not defined. */
3692
3693 /* This is the parser code that is written into each bison parser
3694 when the %semantic_parser declaration is not specified in the grammar.
3695 It was written by Richard Stallman by simplifying the hairy parser
3696 used when %semantic_parser is specified. */
3697
3698 /* Note: there must be only one dollar sign in this file.
3699 It is replaced by the list of actions, each action
3700 as one case of the switch. */
3701
3702 #define yyerrok (yyerrstatus = 0)
3703 #define yyclearin (yychar = YYEMPTY)
3704 #define YYEMPTY -2
3705 #define YYEOF 0
3706 #define YYACCEPT return(0)
3707 #define YYABORT return(1)
3708 #define YYERROR goto yyerrlab1
3709 /* Like YYERROR except do call yyerror.
3710 This remains here temporarily to ease the
3711 transition to the new meaning of YYERROR, for GCC.
3712 Once GCC version 2 has supplanted version 1, this can go. */
3713 #define YYFAIL goto yyerrlab
3714 #define YYRECOVERING() (!!yyerrstatus)
3715 #define YYBACKUP(token, value) \
3716 do \
3717 if (yychar == YYEMPTY && yylen == 1) \
3718 { yychar = (token), yylval = (value); \
3719 yychar1 = YYTRANSLATE (yychar); \
3720 YYPOPSTACK; \
3721 goto yybackup; \
3722 } \
3723 else \
3724 { yyerror ("syntax error: cannot back up"); YYERROR; } \
3725 while (0)
3726
3727 #define YYTERROR 1
3728 #define YYERRCODE 256
3729
3730 #ifndef YYPURE
3731 #define YYLEX yylex()
3732 #endif
3733
3734 #ifdef YYPURE
3735 #ifdef YYLSP_NEEDED
3736 #ifdef YYLEX_PARAM
3737 #define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM)
3738 #else
3739 #define YYLEX yylex(&yylval, &yylloc)
3740 #endif
3741 #else /* not YYLSP_NEEDED */
3742 #ifdef YYLEX_PARAM
3743 #define YYLEX yylex(&yylval, YYLEX_PARAM)
3744 #else
3745 #define YYLEX yylex(&yylval)
3746 #endif
3747 #endif /* not YYLSP_NEEDED */
3748 #endif
3749
3750 /* If nonreentrant, generate the variables here */
3751
3752 #ifndef YYPURE
3753
3754 int yychar; /* the lookahead symbol */
3755 YYSTYPE yylval; /* the semantic value of the */
3756 /* lookahead symbol */
3757
3758 #ifdef YYLSP_NEEDED
3759 YYLTYPE yylloc; /* location data for the lookahead */
3760 /* symbol */
3761 #endif
3762
3763 int yynerrs; /* number of parse errors so far */
3764 #endif /* not YYPURE */
3765
3766 #if YYDEBUG != 0
3767 int yydebug; /* nonzero means print parse trace */
3768 /* Since this is uninitialized, it does not stop multiple parsers
3769 from coexisting. */
3770 #endif
3771
3772 /* YYINITDEPTH indicates the initial size of the parser's stacks */
3773
3774 #ifndef YYINITDEPTH
3775 #define YYINITDEPTH 200
3776 #endif
3777
3778 /* YYMAXDEPTH is the maximum size the stacks can grow to
3779 (effective only if the built-in stack extension method is used). */
3780
3781 #if YYMAXDEPTH == 0
3782 #undef YYMAXDEPTH
3783 #endif
3784
3785 #ifndef YYMAXDEPTH
3786 #define YYMAXDEPTH 10000
3787 #endif
3788
3789 /* Prevent warning if -Wstrict-prototypes. */
3790 #ifdef __GNUC__
3791 int yyparse (void);
3792 #endif
3793 \f
3794 #if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
3795 #define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT)
3796 #else /* not GNU C or C++ */
3797 #ifndef __cplusplus
3798
3799 /* This is the most reliable way to avoid incompatibilities
3800 in available built-in functions on various systems. */
3801 static void
3802 __yy_memcpy (to, from, count)
3803 char *to;
3804 char *from;
3805 int count;
3806 {
3807 register char *f = from;
3808 register char *t = to;
3809 register int i = count;
3810
3811 while (i-- > 0)
3812 *t++ = *f++;
3813 }
3814
3815 #else /* __cplusplus */
3816
3817 /* This is the most reliable way to avoid incompatibilities
3818 in available built-in functions on various systems. */
3819 static void
3820 __yy_memcpy (char *to, char *from, int count)
3821 {
3822 register char *f = from;
3823 register char *t = to;
3824 register int i = count;
3825
3826 while (i-- > 0)
3827 *t++ = *f++;
3828 }
3829
3830 #endif
3831 #endif
3832 \f
3833 #line 196 "/usr/local/gnu/share/bison.simple"
3834
3835 /* The user can define YYPARSE_PARAM as the name of an argument to be passed
3836 into yyparse. The argument should have type void *.
3837 It should actually point to an object.
3838 Grammar actions can access the variable by casting it
3839 to the proper pointer type. */
3840
3841 #ifdef YYPARSE_PARAM
3842 #ifdef __cplusplus
3843 #define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
3844 #define YYPARSE_PARAM_DECL
3845 #else /* not __cplusplus */
3846 #define YYPARSE_PARAM_ARG YYPARSE_PARAM
3847 #define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
3848 #endif /* not __cplusplus */
3849 #else /* not YYPARSE_PARAM */
3850 #define YYPARSE_PARAM_ARG
3851 #define YYPARSE_PARAM_DECL
3852 #endif /* not YYPARSE_PARAM */
3853
3854 int
3855 yyparse(YYPARSE_PARAM_ARG)
3856 YYPARSE_PARAM_DECL
3857 {
3858 register int yystate;
3859 register int yyn;
3860 register short *yyssp;
3861 register YYSTYPE *yyvsp;
3862 int yyerrstatus; /* number of tokens to shift before error messages enabled */
3863 int yychar1 = 0; /* lookahead token as an internal (translated) token number */
3864
3865 short yyssa[YYINITDEPTH]; /* the state stack */
3866 YYSTYPE yyvsa[YYINITDEPTH]; /* the semantic value stack */
3867
3868 short *yyss = yyssa; /* refer to the stacks thru separate pointers */
3869 YYSTYPE *yyvs = yyvsa; /* to allow yyoverflow to reallocate them elsewhere */
3870
3871 #ifdef YYLSP_NEEDED
3872 YYLTYPE yylsa[YYINITDEPTH]; /* the location stack */
3873 YYLTYPE *yyls = yylsa;
3874 YYLTYPE *yylsp;
3875
3876 #define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
3877 #else
3878 #define YYPOPSTACK (yyvsp--, yyssp--)
3879 #endif
3880
3881 int yystacksize = YYINITDEPTH;
3882
3883 #ifdef YYPURE
3884 int yychar;
3885 YYSTYPE yylval;
3886 int yynerrs;
3887 #ifdef YYLSP_NEEDED
3888 YYLTYPE yylloc;
3889 #endif
3890 #endif
3891
3892 YYSTYPE yyval; /* the variable used to return */
3893 /* semantic values from the action */
3894 /* routines */
3895
3896 int yylen;
3897
3898 #if YYDEBUG != 0
3899 if (yydebug)
3900 fprintf(stderr, "Starting parse\n");
3901 #endif
3902
3903 yystate = 0;
3904 yyerrstatus = 0;
3905 yynerrs = 0;
3906 yychar = YYEMPTY; /* Cause a token to be read. */
3907
3908 /* Initialize stack pointers.
3909 Waste one element of value and location stack
3910 so that they stay on the same level as the state stack.
3911 The wasted elements are never initialized. */
3912
3913 yyssp = yyss - 1;
3914 yyvsp = yyvs;
3915 #ifdef YYLSP_NEEDED
3916 yylsp = yyls;
3917 #endif
3918
3919 /* Push a new state, which is found in yystate . */
3920 /* In all cases, when you get here, the value and location stacks
3921 have just been pushed. so pushing a state here evens the stacks. */
3922 yynewstate:
3923
3924 *++yyssp = yystate;
3925
3926 if (yyssp >= yyss + yystacksize - 1)
3927 {
3928 /* Give user a chance to reallocate the stack */
3929 /* Use copies of these so that the &'s don't force the real ones into memory. */
3930 YYSTYPE *yyvs1 = yyvs;
3931 short *yyss1 = yyss;
3932 #ifdef YYLSP_NEEDED
3933 YYLTYPE *yyls1 = yyls;
3934 #endif
3935
3936 /* Get the current used size of the three stacks, in elements. */
3937 int size = yyssp - yyss + 1;
3938
3939 #ifdef yyoverflow
3940 /* Each stack pointer address is followed by the size of
3941 the data in use in that stack, in bytes. */
3942 #ifdef YYLSP_NEEDED
3943 /* This used to be a conditional around just the two extra args,
3944 but that might be undefined if yyoverflow is a macro. */
3945 yyoverflow("parser stack overflow",
3946 &yyss1, size * sizeof (*yyssp),
3947 &yyvs1, size * sizeof (*yyvsp),
3948 &yyls1, size * sizeof (*yylsp),
3949 &yystacksize);
3950 #else
3951 yyoverflow("parser stack overflow",
3952 &yyss1, size * sizeof (*yyssp),
3953 &yyvs1, size * sizeof (*yyvsp),
3954 &yystacksize);
3955 #endif
3956
3957 yyss = yyss1; yyvs = yyvs1;
3958 #ifdef YYLSP_NEEDED
3959 yyls = yyls1;
3960 #endif
3961 #else /* no yyoverflow */
3962 /* Extend the stack our own way. */
3963 if (yystacksize >= YYMAXDEPTH)
3964 {
3965 yyerror("parser stack overflow");
3966 return 2;
3967 }
3968 yystacksize *= 2;
3969 if (yystacksize > YYMAXDEPTH)
3970 yystacksize = YYMAXDEPTH;
3971 yyss = (short *) alloca (yystacksize * sizeof (*yyssp));
3972 __yy_memcpy ((char *)yyss, (char *)yyss1, size * sizeof (*yyssp));
3973 yyvs = (YYSTYPE *) alloca (yystacksize * sizeof (*yyvsp));
3974 __yy_memcpy ((char *)yyvs, (char *)yyvs1, size * sizeof (*yyvsp));
3975 #ifdef YYLSP_NEEDED
3976 yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp));
3977 __yy_memcpy ((char *)yyls, (char *)yyls1, size * sizeof (*yylsp));
3978 #endif
3979 #endif /* no yyoverflow */
3980
3981 yyssp = yyss + size - 1;
3982 yyvsp = yyvs + size - 1;
3983 #ifdef YYLSP_NEEDED
3984 yylsp = yyls + size - 1;
3985 #endif
3986
3987 #if YYDEBUG != 0
3988 if (yydebug)
3989 fprintf(stderr, "Stack size increased to %d\n", yystacksize);
3990 #endif
3991
3992 if (yyssp >= yyss + yystacksize - 1)
3993 YYABORT;
3994 }
3995
3996 #if YYDEBUG != 0
3997 if (yydebug)
3998 fprintf(stderr, "Entering state %d\n", yystate);
3999 #endif
4000
4001 goto yybackup;
4002 yybackup:
4003
4004 /* Do appropriate processing given the current state. */
4005 /* Read a lookahead token if we need one and don't already have one. */
4006 /* yyresume: */
4007
4008 /* First try to decide what to do without reference to lookahead token. */
4009
4010 yyn = yypact[yystate];
4011 if (yyn == YYFLAG)
4012 goto yydefault;
4013
4014 /* Not known => get a lookahead token if don't already have one. */
4015
4016 /* yychar is either YYEMPTY or YYEOF
4017 or a valid token in external form. */
4018
4019 if (yychar == YYEMPTY)
4020 {
4021 #if YYDEBUG != 0
4022 if (yydebug)
4023 fprintf(stderr, "Reading a token: ");
4024 #endif
4025 yychar = YYLEX;
4026 }
4027
4028 /* Convert token to internal form (in yychar1) for indexing tables with */
4029
4030 if (yychar <= 0) /* This means end of input. */
4031 {
4032 yychar1 = 0;
4033 yychar = YYEOF; /* Don't call YYLEX any more */
4034
4035 #if YYDEBUG != 0
4036 if (yydebug)
4037 fprintf(stderr, "Now at end of input.\n");
4038 #endif
4039 }
4040 else
4041 {
4042 yychar1 = YYTRANSLATE(yychar);
4043
4044 #if YYDEBUG != 0
4045 if (yydebug)
4046 {
4047 fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
4048 /* Give the individual parser a way to print the precise meaning
4049 of a token, for further debugging info. */
4050 #ifdef YYPRINT
4051 YYPRINT (stderr, yychar, yylval);
4052 #endif
4053 fprintf (stderr, ")\n");
4054 }
4055 #endif
4056 }
4057
4058 yyn += yychar1;
4059 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
4060 goto yydefault;
4061
4062 yyn = yytable[yyn];
4063
4064 /* yyn is what to do for this token type in this state.
4065 Negative => reduce, -yyn is rule number.
4066 Positive => shift, yyn is new state.
4067 New state is final state => don't bother to shift,
4068 just return success.
4069 0, or most negative number => error. */
4070
4071 if (yyn < 0)
4072 {
4073 if (yyn == YYFLAG)
4074 goto yyerrlab;
4075 yyn = -yyn;
4076 goto yyreduce;
4077 }
4078 else if (yyn == 0)
4079 goto yyerrlab;
4080
4081 if (yyn == YYFINAL)
4082 YYACCEPT;
4083
4084 /* Shift the lookahead token. */
4085
4086 #if YYDEBUG != 0
4087 if (yydebug)
4088 fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
4089 #endif
4090
4091 /* Discard the token being shifted unless it is eof. */
4092 if (yychar != YYEOF)
4093 yychar = YYEMPTY;
4094
4095 *++yyvsp = yylval;
4096 #ifdef YYLSP_NEEDED
4097 *++yylsp = yylloc;
4098 #endif
4099
4100 /* count tokens shifted since error; after three, turn off error status. */
4101 if (yyerrstatus) yyerrstatus--;
4102
4103 yystate = yyn;
4104 goto yynewstate;
4105
4106 /* Do the default action for the current state. */
4107 yydefault:
4108
4109 yyn = yydefact[yystate];
4110 if (yyn == 0)
4111 goto yyerrlab;
4112
4113 /* Do a reduction. yyn is the number of a rule to reduce with. */
4114 yyreduce:
4115 yylen = yyr2[yyn];
4116 if (yylen > 0)
4117 yyval = yyvsp[1-yylen]; /* implement default value of the action */
4118
4119 #if YYDEBUG != 0
4120 if (yydebug)
4121 {
4122 int i;
4123
4124 fprintf (stderr, "Reducing via rule %d (line %d), ",
4125 yyn, yyrline[yyn]);
4126
4127 /* Print the symbols being reduced, and their result. */
4128 for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
4129 fprintf (stderr, "%s ", yytname[yyrhs[i]]);
4130 fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
4131 }
4132 #endif
4133
4134
4135 switch (yyn) {
4136
4137 case 2:
4138 #line 341 "parse.y"
4139 { finish_translation_unit (); ;
4140 break;}
4141 case 3:
4142 #line 349 "parse.y"
4143 { yyval.ttype = NULL_TREE; ;
4144 break;}
4145 case 4:
4146 #line 351 "parse.y"
4147 { yyval.ttype = NULL_TREE; ;
4148 break;}
4149 case 5:
4150 #line 353 "parse.y"
4151 { yyval.ttype = NULL_TREE; ;
4152 break;}
4153 case 8:
4154 #line 362 "parse.y"
4155 { have_extern_spec = 1;
4156 used_extern_spec = 0;
4157 yyval.ttype = NULL_TREE; ;
4158 break;}
4159 case 9:
4160 #line 367 "parse.y"
4161 { have_extern_spec = 0; ;
4162 break;}
4163 case 10:
4164 #line 372 "parse.y"
4165 { yyval.itype = pedantic;
4166 pedantic = 0; ;
4167 break;}
4168 case 12:
4169 #line 381 "parse.y"
4170 { if (pending_lang_change) do_pending_lang_change(); ;
4171 break;}
4172 case 13:
4173 #line 383 "parse.y"
4174 { if (! toplevel_bindings_p () && ! pseudo_global_level_p())
4175 pop_everything (); ;
4176 break;}
4177 case 14:
4178 #line 389 "parse.y"
4179 { if (pending_inlines) do_pending_inlines (); ;
4180 break;}
4181 case 15:
4182 #line 391 "parse.y"
4183 { if (pending_inlines) do_pending_inlines (); ;
4184 break;}
4185 case 16:
4186 #line 393 "parse.y"
4187 { if (pending_inlines) do_pending_inlines (); ;
4188 break;}
4189 case 17:
4190 #line 395 "parse.y"
4191 { if (TREE_CHAIN (yyvsp[-2].ttype)) yyvsp[-2].ttype = combine_strings (yyvsp[-2].ttype);
4192 assemble_asm (yyvsp[-2].ttype); ;
4193 break;}
4194 case 18:
4195 #line 398 "parse.y"
4196 { pop_lang_context (); ;
4197 break;}
4198 case 19:
4199 #line 400 "parse.y"
4200 { if (pending_inlines) do_pending_inlines ();
4201 pop_lang_context (); ;
4202 break;}
4203 case 20:
4204 #line 403 "parse.y"
4205 { if (pending_inlines) do_pending_inlines ();
4206 pop_lang_context (); ;
4207 break;}
4208 case 21:
4209 #line 406 "parse.y"
4210 { push_namespace (yyvsp[-1].ttype); ;
4211 break;}
4212 case 22:
4213 #line 408 "parse.y"
4214 { pop_namespace (); ;
4215 break;}
4216 case 23:
4217 #line 410 "parse.y"
4218 { push_namespace (NULL_TREE); ;
4219 break;}
4220 case 24:
4221 #line 412 "parse.y"
4222 { pop_namespace (); ;
4223 break;}
4224 case 26:
4225 #line 415 "parse.y"
4226 { do_toplevel_using_decl (yyvsp[-1].ttype); ;
4227 break;}
4228 case 28:
4229 #line 418 "parse.y"
4230 { pedantic = yyvsp[-1].itype; ;
4231 break;}
4232 case 29:
4233 #line 423 "parse.y"
4234 { begin_only_namespace_names (); ;
4235 break;}
4236 case 30:
4237 #line 425 "parse.y"
4238 {
4239 end_only_namespace_names ();
4240 if (lastiddecl)
4241 yyvsp[-1].ttype = lastiddecl;
4242 do_namespace_alias (yyvsp[-4].ttype, yyvsp[-1].ttype);
4243 ;
4244 break;}
4245 case 31:
4246 #line 435 "parse.y"
4247 { yyval.ttype = yyvsp[0].ttype; ;
4248 break;}
4249 case 32:
4250 #line 437 "parse.y"
4251 { yyval.ttype = yyvsp[0].ttype; ;
4252 break;}
4253 case 33:
4254 #line 439 "parse.y"
4255 { yyval.ttype = yyvsp[0].ttype; ;
4256 break;}
4257 case 34:
4258 #line 444 "parse.y"
4259 { yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4260 break;}
4261 case 35:
4262 #line 446 "parse.y"
4263 { yyval.ttype = build_parse_node (SCOPE_REF, global_namespace, yyvsp[0].ttype); ;
4264 break;}
4265 case 36:
4266 #line 448 "parse.y"
4267 { yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4268 break;}
4269 case 37:
4270 #line 453 "parse.y"
4271 { begin_only_namespace_names (); ;
4272 break;}
4273 case 38:
4274 #line 455 "parse.y"
4275 {
4276 end_only_namespace_names ();
4277 /* If no declaration was found, the using-directive is
4278 invalid. Since that was not reported, we need the
4279 identifier for the error message. */
4280 if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE && lastiddecl)
4281 yyvsp[-1].ttype = lastiddecl;
4282 do_using_directive (yyvsp[-1].ttype);
4283 ;
4284 break;}
4285 case 39:
4286 #line 468 "parse.y"
4287 {
4288 if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
4289 yyval.ttype = lastiddecl;
4290 got_scope = yyval.ttype;
4291 ;
4292 break;}
4293 case 40:
4294 #line 474 "parse.y"
4295 {
4296 yyval.ttype = yyvsp[-1].ttype;
4297 if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
4298 yyval.ttype = lastiddecl;
4299 got_scope = yyval.ttype;
4300 ;
4301 break;}
4302 case 43:
4303 #line 485 "parse.y"
4304 { yyval.ttype = yyvsp[0].ttype; ;
4305 break;}
4306 case 44:
4307 #line 487 "parse.y"
4308 { yyval.ttype = yyvsp[0].ttype; ;
4309 break;}
4310 case 45:
4311 #line 492 "parse.y"
4312 { push_lang_context (yyvsp[0].ttype); ;
4313 break;}
4314 case 46:
4315 #line 494 "parse.y"
4316 { if (current_lang_name != yyvsp[0].ttype)
4317 cp_error ("use of linkage spec `%D' is different from previous spec `%D'", yyvsp[0].ttype, current_lang_name);
4318 pop_lang_context (); push_lang_context (yyvsp[0].ttype); ;
4319 break;}
4320 case 47:
4321 #line 501 "parse.y"
4322 { begin_template_parm_list (); ;
4323 break;}
4324 case 48:
4325 #line 503 "parse.y"
4326 { yyval.ttype = end_template_parm_list (yyvsp[-1].ttype); ;
4327 break;}
4328 case 49:
4329 #line 505 "parse.y"
4330 { begin_specialization();
4331 yyval.ttype = NULL_TREE; ;
4332 break;}
4333 case 50:
4334 #line 511 "parse.y"
4335 { yyval.ttype = process_template_parm (NULL_TREE, yyvsp[0].ttype); ;
4336 break;}
4337 case 51:
4338 #line 513 "parse.y"
4339 { yyval.ttype = process_template_parm (yyvsp[-2].ttype, yyvsp[0].ttype); ;
4340 break;}
4341 case 52:
4342 #line 518 "parse.y"
4343 { yyval.ttype = yyvsp[0].ttype; ;
4344 break;}
4345 case 53:
4346 #line 520 "parse.y"
4347 { yyval.ttype = NULL_TREE; ;
4348 break;}
4349 case 54:
4350 #line 524 "parse.y"
4351 { yyval.ttype = finish_template_type_parm (yyvsp[-1].ttype, yyvsp[0].ttype); ;
4352 break;}
4353 case 55:
4354 #line 526 "parse.y"
4355 { yyval.ttype = finish_template_type_parm (class_type_node, yyvsp[0].ttype); ;
4356 break;}
4357 case 56:
4358 #line 531 "parse.y"
4359 { yyval.ttype = finish_template_template_parm (yyvsp[-1].ttype, yyvsp[0].ttype); ;
4360 break;}
4361 case 57:
4362 #line 543 "parse.y"
4363 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
4364 break;}
4365 case 58:
4366 #line 545 "parse.y"
4367 { yyval.ttype = build_tree_list (groktypename (yyvsp[0].ftype.t), yyvsp[-2].ttype); ;
4368 break;}
4369 case 59:
4370 #line 547 "parse.y"
4371 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ftype.t); ;
4372 break;}
4373 case 60:
4374 #line 549 "parse.y"
4375 { yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-2].ftype.t); ;
4376 break;}
4377 case 61:
4378 #line 551 "parse.y"
4379 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
4380 break;}
4381 case 62:
4382 #line 553 "parse.y"
4383 {
4384 if (TREE_CODE (yyvsp[0].ttype) != TEMPLATE_DECL
4385 && TREE_CODE (yyvsp[0].ttype) != TEMPLATE_TEMPLATE_PARM
4386 && TREE_CODE (yyvsp[0].ttype) != TYPE_DECL)
4387 {
4388 error ("invalid default template argument");
4389 yyvsp[0].ttype = error_mark_node;
4390 }
4391 yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype);
4392 ;
4393 break;}
4394 case 63:
4395 #line 567 "parse.y"
4396 { finish_template_decl (yyvsp[-1].ttype); ;
4397 break;}
4398 case 64:
4399 #line 569 "parse.y"
4400 { finish_template_decl (yyvsp[-1].ttype); ;
4401 break;}
4402 case 65:
4403 #line 574 "parse.y"
4404 { if (pending_inlines) do_pending_inlines (); ;
4405 break;}
4406 case 66:
4407 #line 576 "parse.y"
4408 { if (pending_inlines) do_pending_inlines (); ;
4409 break;}
4410 case 67:
4411 #line 578 "parse.y"
4412 { if (pending_inlines) do_pending_inlines (); ;
4413 break;}
4414 case 68:
4415 #line 580 "parse.y"
4416 { if (pending_inlines) do_pending_inlines ();
4417 pop_lang_context (); ;
4418 break;}
4419 case 69:
4420 #line 583 "parse.y"
4421 { if (pending_inlines) do_pending_inlines ();
4422 pop_lang_context (); ;
4423 break;}
4424 case 70:
4425 #line 586 "parse.y"
4426 { pedantic = yyvsp[-1].itype; ;
4427 break;}
4428 case 72:
4429 #line 592 "parse.y"
4430 {;
4431 break;}
4432 case 73:
4433 #line 594 "parse.y"
4434 { note_list_got_semicolon (yyvsp[-2].ftype.t); ;
4435 break;}
4436 case 74:
4437 #line 596 "parse.y"
4438 { maybe_process_partial_specialization (yyvsp[-1].ftype.t);
4439 note_got_semicolon (yyvsp[-1].ftype.t); ;
4440 break;}
4441 case 76:
4442 #line 603 "parse.y"
4443 {;
4444 break;}
4445 case 77:
4446 #line 605 "parse.y"
4447 { note_list_got_semicolon (yyvsp[-2].ftype.t); ;
4448 break;}
4449 case 78:
4450 #line 607 "parse.y"
4451 { pedwarn ("empty declaration"); ;
4452 break;}
4453 case 80:
4454 #line 610 "parse.y"
4455 {
4456 tree t, attrs;
4457 split_specs_attrs (yyvsp[-1].ftype.t, &t, &attrs);
4458 shadow_tag (t);
4459 note_list_got_semicolon (yyvsp[-1].ftype.t);
4460 ;
4461 break;}
4462 case 84:
4463 #line 623 "parse.y"
4464 { yyval.itype = 0; ;
4465 break;}
4466 case 85:
4467 #line 625 "parse.y"
4468 { yyval.itype = 1; ;
4469 break;}
4470 case 91:
4471 #line 641 "parse.y"
4472 { finish_function (lineno, (int)yyvsp[-1].itype, 0); ;
4473 break;}
4474 case 92:
4475 #line 643 "parse.y"
4476 {
4477 int nested = (hack_decl_function_context
4478 (current_function_decl) != NULL_TREE);
4479 finish_function (lineno, (int)yyvsp[0].itype, nested);
4480 ;
4481 break;}
4482 case 93:
4483 #line 649 "parse.y"
4484 { ;
4485 break;}
4486 case 94:
4487 #line 654 "parse.y"
4488 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4489 break;}
4490 case 95:
4491 #line 656 "parse.y"
4492 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4493 break;}
4494 case 96:
4495 #line 658 "parse.y"
4496 { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype);
4497 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4498 ;
4499 break;}
4500 case 97:
4501 #line 662 "parse.y"
4502 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4503 break;}
4504 case 98:
4505 #line 664 "parse.y"
4506 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4507 break;}
4508 case 99:
4509 #line 666 "parse.y"
4510 { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype);
4511 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4512 ;
4513 break;}
4514 case 100:
4515 #line 670 "parse.y"
4516 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4517 break;}
4518 case 101:
4519 #line 672 "parse.y"
4520 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4521 break;}
4522 case 102:
4523 #line 674 "parse.y"
4524 { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype);
4525 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4526 ;
4527 break;}
4528 case 103:
4529 #line 678 "parse.y"
4530 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4531 break;}
4532 case 104:
4533 #line 680 "parse.y"
4534 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4535 break;}
4536 case 105:
4537 #line 682 "parse.y"
4538 { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype);
4539 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4540 ;
4541 break;}
4542 case 106:
4543 #line 689 "parse.y"
4544 { if (!begin_function_definition (yyvsp[-1].ftype.t, yyvsp[0].ttype))
4545 YYERROR1; ;
4546 break;}
4547 case 107:
4548 #line 692 "parse.y"
4549 { if (!begin_function_definition (yyvsp[-1].ttype, yyvsp[0].ttype))
4550 YYERROR1; ;
4551 break;}
4552 case 108:
4553 #line 695 "parse.y"
4554 { if (!begin_function_definition (NULL_TREE, yyvsp[0].ttype))
4555 YYERROR1; ;
4556 break;}
4557 case 109:
4558 #line 698 "parse.y"
4559 { if (!begin_function_definition (yyvsp[-1].ttype, yyvsp[0].ttype))
4560 YYERROR1; ;
4561 break;}
4562 case 110:
4563 #line 701 "parse.y"
4564 { if (!begin_function_definition (NULL_TREE, yyvsp[0].ttype))
4565 YYERROR1; ;
4566 break;}
4567 case 111:
4568 #line 707 "parse.y"
4569 { yyval.ttype = make_call_declarator (yyvsp[-5].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4570 break;}
4571 case 112:
4572 #line 709 "parse.y"
4573 { yyval.ttype = make_call_declarator (yyvsp[-3].ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
4574 break;}
4575 case 113:
4576 #line 711 "parse.y"
4577 { yyval.ttype = make_call_declarator (yyvsp[-5].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4578 break;}
4579 case 114:
4580 #line 713 "parse.y"
4581 { yyval.ttype = make_call_declarator (yyvsp[-3].ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
4582 break;}
4583 case 115:
4584 #line 720 "parse.y"
4585 { tree specs, attrs;
4586 split_specs_attrs (yyvsp[-1].ttype, &specs, &attrs);
4587 attrs = build_tree_list (attrs, NULL_TREE);
4588 yyval.ttype = start_method (specs, yyvsp[0].ttype, attrs);
4589 rest_of_mdef:
4590 if (! yyval.ttype)
4591 YYERROR1;
4592 if (yychar == YYEMPTY)
4593 yychar = YYLEX;
4594 reinit_parse_for_method (yychar, yyval.ttype); ;
4595 break;}
4596 case 116:
4597 #line 731 "parse.y"
4598 { yyval.ttype = start_method (NULL_TREE, yyvsp[0].ttype, NULL_TREE);
4599 goto rest_of_mdef; ;
4600 break;}
4601 case 117:
4602 #line 734 "parse.y"
4603 { tree specs, attrs;
4604 split_specs_attrs (yyvsp[-1].ftype.t, &specs, &attrs);
4605 attrs = build_tree_list (attrs, NULL_TREE);
4606 yyval.ttype = start_method (specs, yyvsp[0].ttype, attrs); goto rest_of_mdef; ;
4607 break;}
4608 case 118:
4609 #line 739 "parse.y"
4610 { tree specs, attrs;
4611 split_specs_attrs (yyvsp[-1].ttype, &specs, &attrs);
4612 attrs = build_tree_list (attrs, NULL_TREE);
4613 yyval.ttype = start_method (specs, yyvsp[0].ttype, attrs); goto rest_of_mdef; ;
4614 break;}
4615 case 119:
4616 #line 744 "parse.y"
4617 { yyval.ttype = start_method (NULL_TREE, yyval.ttype, NULL_TREE);
4618 goto rest_of_mdef; ;
4619 break;}
4620 case 120:
4621 #line 747 "parse.y"
4622 { tree specs, attrs;
4623 split_specs_attrs (yyvsp[-1].ttype, &specs, &attrs);
4624 attrs = build_tree_list (attrs, NULL_TREE);
4625 yyval.ttype = start_method (specs, yyvsp[0].ttype, attrs); goto rest_of_mdef; ;
4626 break;}
4627 case 121:
4628 #line 752 "parse.y"
4629 { yyval.ttype = start_method (NULL_TREE, yyval.ttype, NULL_TREE);
4630 goto rest_of_mdef; ;
4631 break;}
4632 case 122:
4633 #line 758 "parse.y"
4634 {
4635 if (! current_function_parms_stored)
4636 store_parm_decls ();
4637 yyval.ttype = yyvsp[0].ttype;
4638 ;
4639 break;}
4640 case 123:
4641 #line 767 "parse.y"
4642 { store_return_init (yyval.ttype, yyvsp[0].ttype); ;
4643 break;}
4644 case 124:
4645 #line 769 "parse.y"
4646 { store_return_init (yyval.ttype, yyvsp[-1].ttype); ;
4647 break;}
4648 case 125:
4649 #line 771 "parse.y"
4650 { store_return_init (yyval.ttype, NULL_TREE); ;
4651 break;}
4652 case 126:
4653 #line 776 "parse.y"
4654 {
4655 if (yyvsp[0].itype == 0)
4656 error ("no base initializers given following ':'");
4657 setup_vtbl_ptr ();
4658 /* Always keep the BLOCK node associated with the outermost
4659 pair of curley braces of a function. These are needed
4660 for correct operation of dwarfout.c. */
4661 keep_next_level ();
4662 ;
4663 break;}
4664 case 127:
4665 #line 789 "parse.y"
4666 {
4667 if (! current_function_parms_stored)
4668 store_parm_decls ();
4669
4670 if (DECL_CONSTRUCTOR_P (current_function_decl))
4671 {
4672 /* Make a contour for the initializer list. */
4673 pushlevel (0);
4674 clear_last_expr ();
4675 expand_start_bindings (0);
4676 }
4677 else if (current_class_type == NULL_TREE)
4678 error ("base initializers not allowed for non-member functions");
4679 else if (! DECL_CONSTRUCTOR_P (current_function_decl))
4680 error ("only constructors take base initializers");
4681 ;
4682 break;}
4683 case 128:
4684 #line 809 "parse.y"
4685 { yyval.itype = 0; ;
4686 break;}
4687 case 129:
4688 #line 811 "parse.y"
4689 { yyval.itype = 1; ;
4690 break;}
4691 case 132:
4692 #line 818 "parse.y"
4693 {
4694 if (current_class_name)
4695 pedwarn ("anachronistic old style base class initializer");
4696 expand_member_init (current_class_ref, NULL_TREE, yyvsp[-1].ttype);
4697 ;
4698 break;}
4699 case 133:
4700 #line 824 "parse.y"
4701 {
4702 if (current_class_name)
4703 pedwarn ("anachronistic old style base class initializer");
4704 expand_member_init (current_class_ref, NULL_TREE, void_type_node);
4705 ;
4706 break;}
4707 case 134:
4708 #line 830 "parse.y"
4709 { expand_member_init (current_class_ref, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
4710 break;}
4711 case 135:
4712 #line 832 "parse.y"
4713 { expand_member_init (current_class_ref, yyvsp[-1].ttype, void_type_node); ;
4714 break;}
4715 case 136:
4716 #line 834 "parse.y"
4717 { expand_member_init (current_class_ref, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
4718 break;}
4719 case 137:
4720 #line 836 "parse.y"
4721 { expand_member_init (current_class_ref, yyvsp[-1].ttype, void_type_node); ;
4722 break;}
4723 case 138:
4724 #line 838 "parse.y"
4725 { expand_member_init (current_class_ref, TYPE_MAIN_DECL (yyvsp[-3].ttype),
4726 yyvsp[-1].ttype); ;
4727 break;}
4728 case 139:
4729 #line 841 "parse.y"
4730 { expand_member_init (current_class_ref, TYPE_MAIN_DECL (yyvsp[-1].ttype),
4731 void_type_node); ;
4732 break;}
4733 case 151:
4734 #line 867 "parse.y"
4735 { do_type_instantiation (yyvsp[-1].ftype.t, NULL_TREE);
4736 yyungetc (';', 1); ;
4737 break;}
4738 case 153:
4739 #line 871 "parse.y"
4740 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
4741 do_decl_instantiation (specs, yyvsp[0].ttype, NULL_TREE); ;
4742 break;}
4743 case 155:
4744 #line 875 "parse.y"
4745 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
4746 break;}
4747 case 157:
4748 #line 878 "parse.y"
4749 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
4750 break;}
4751 case 159:
4752 #line 881 "parse.y"
4753 { do_type_instantiation (yyvsp[-1].ftype.t, yyvsp[-4].ttype);
4754 yyungetc (';', 1); ;
4755 break;}
4756 case 161:
4757 #line 886 "parse.y"
4758 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
4759 do_decl_instantiation (specs, yyvsp[0].ttype, yyvsp[-4].ttype); ;
4760 break;}
4761 case 163:
4762 #line 890 "parse.y"
4763 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, yyvsp[-3].ttype); ;
4764 break;}
4765 case 165:
4766 #line 893 "parse.y"
4767 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, yyvsp[-3].ttype); ;
4768 break;}
4769 case 167:
4770 #line 898 "parse.y"
4771 { begin_explicit_instantiation(); ;
4772 break;}
4773 case 168:
4774 #line 901 "parse.y"
4775 { end_explicit_instantiation(); ;
4776 break;}
4777 case 169:
4778 #line 910 "parse.y"
4779 { yyval.ttype = yyvsp[0].ttype; ;
4780 break;}
4781 case 170:
4782 #line 913 "parse.y"
4783 { yyval.ttype = yyvsp[0].ttype; ;
4784 break;}
4785 case 173:
4786 #line 921 "parse.y"
4787 { yyval.ttype = yyvsp[0].ttype; ;
4788 break;}
4789 case 174:
4790 #line 926 "parse.y"
4791 { yyval.ttype = yyvsp[0].ttype; ;
4792 break;}
4793 case 175:
4794 #line 930 "parse.y"
4795 {
4796 if (yychar == YYEMPTY)
4797 yychar = YYLEX;
4798
4799 yyval.ttype = finish_template_type (yyvsp[-3].ttype, yyvsp[-1].ttype,
4800 yychar == SCOPE);
4801 ;
4802 break;}
4803 case 177:
4804 #line 941 "parse.y"
4805 {
4806 /* Handle `Class<Class<Type>>' without space in the `>>' */
4807 pedwarn ("`>>' should be `> >' in template class name");
4808 yyungetc ('>', 1);
4809 ;
4810 break;}
4811 case 178:
4812 #line 950 "parse.y"
4813 { yyval.ttype = NULL_TREE; ;
4814 break;}
4815 case 180:
4816 #line 956 "parse.y"
4817 { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
4818 break;}
4819 case 181:
4820 #line 958 "parse.y"
4821 { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
4822 break;}
4823 case 182:
4824 #line 963 "parse.y"
4825 { yyval.ttype = groktypename (yyvsp[0].ftype.t); ;
4826 break;}
4827 case 183:
4828 #line 965 "parse.y"
4829 { yyval.ttype = lastiddecl; ;
4830 break;}
4831 case 185:
4832 #line 971 "parse.y"
4833 { yyval.code = NEGATE_EXPR; ;
4834 break;}
4835 case 186:
4836 #line 973 "parse.y"
4837 { yyval.code = CONVERT_EXPR; ;
4838 break;}
4839 case 187:
4840 #line 975 "parse.y"
4841 { yyval.code = PREINCREMENT_EXPR; ;
4842 break;}
4843 case 188:
4844 #line 977 "parse.y"
4845 { yyval.code = PREDECREMENT_EXPR; ;
4846 break;}
4847 case 189:
4848 #line 979 "parse.y"
4849 { yyval.code = TRUTH_NOT_EXPR; ;
4850 break;}
4851 case 190:
4852 #line 984 "parse.y"
4853 { yyval.ttype = build_x_compound_expr (yyval.ttype); ;
4854 break;}
4855 case 192:
4856 #line 990 "parse.y"
4857 { error ("ANSI C++ forbids an empty condition for `%s'",
4858 cond_stmt_keyword);
4859 yyval.ttype = integer_zero_node; ;
4860 break;}
4861 case 193:
4862 #line 994 "parse.y"
4863 { yyval.ttype = yyvsp[-1].ttype; ;
4864 break;}
4865 case 194:
4866 #line 999 "parse.y"
4867 { error ("ANSI C++ forbids an empty condition for `%s'",
4868 cond_stmt_keyword);
4869 yyval.ttype = integer_zero_node; ;
4870 break;}
4871 case 195:
4872 #line 1003 "parse.y"
4873 { yyval.ttype = yyvsp[-1].ttype; ;
4874 break;}
4875 case 196:
4876 #line 1008 "parse.y"
4877 { yyval.ttype = NULL_TREE; ;
4878 break;}
4879 case 198:
4880 #line 1011 "parse.y"
4881 { yyval.ttype = NULL_TREE; ;
4882 break;}
4883 case 199:
4884 #line 1016 "parse.y"
4885 { {
4886 tree d;
4887 for (d = getdecls (); d; d = TREE_CHAIN (d))
4888 if (TREE_CODE (d) == TYPE_DECL) {
4889 tree s = TREE_TYPE (d);
4890 if (TREE_CODE (s) == RECORD_TYPE)
4891 cp_error ("definition of class `%T' in condition", s);
4892 else if (TREE_CODE (s) == ENUMERAL_TYPE)
4893 cp_error ("definition of enum `%T' in condition", s);
4894 }
4895 }
4896 current_declspecs = yyvsp[-4].ftype.t;
4897 yyvsp[0].itype = suspend_momentary ();
4898 yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1,
4899 yyvsp[-1].ttype, /*prefix_attributes*/ NULL_TREE);
4900 ;
4901 break;}
4902 case 200:
4903 #line 1033 "parse.y"
4904 {
4905 cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-3].ttype, 1, LOOKUP_ONLYCONVERTING);
4906 resume_momentary (yyvsp[-2].itype);
4907 yyval.ttype = convert_from_reference (yyvsp[-1].ttype);
4908 if (TREE_CODE (TREE_TYPE (yyval.ttype)) == ARRAY_TYPE)
4909 cp_error ("definition of array `%#D' in condition", yyval.ttype);
4910 ;
4911 break;}
4912 case 206:
4913 #line 1052 "parse.y"
4914 { yyval.ttype = begin_compound_stmt (1); ;
4915 break;}
4916 case 207:
4917 #line 1054 "parse.y"
4918 { finish_compound_stmt (1, yyvsp[-1].ttype); ;
4919 break;}
4920 case 209:
4921 #line 1061 "parse.y"
4922 { yyval.ttype = expr_tree_cons (NULL_TREE, yyval.ttype,
4923 build_expr_list (NULL_TREE, yyvsp[0].ttype)); ;
4924 break;}
4925 case 210:
4926 #line 1064 "parse.y"
4927 { yyval.ttype = expr_tree_cons (NULL_TREE, yyval.ttype,
4928 build_expr_list (NULL_TREE, error_mark_node)); ;
4929 break;}
4930 case 211:
4931 #line 1067 "parse.y"
4932 { chainon (yyval.ttype, build_expr_list (NULL_TREE, yyvsp[0].ttype)); ;
4933 break;}
4934 case 212:
4935 #line 1069 "parse.y"
4936 { chainon (yyval.ttype, build_expr_list (NULL_TREE, error_mark_node)); ;
4937 break;}
4938 case 213:
4939 #line 1074 "parse.y"
4940 { yyval.ttype = build_expr_list (NULL_TREE, yyval.ttype); ;
4941 break;}
4942 case 215:
4943 #line 1080 "parse.y"
4944 { yyval.ttype = yyvsp[0].ttype; ;
4945 break;}
4946 case 216:
4947 #line 1083 "parse.y"
4948 { yyval.ttype = yyvsp[0].ttype;
4949 pedantic = yyvsp[-1].itype; ;
4950 break;}
4951 case 217:
4952 #line 1086 "parse.y"
4953 { yyval.ttype = build_x_indirect_ref (yyvsp[0].ttype, "unary *"); ;
4954 break;}
4955 case 218:
4956 #line 1088 "parse.y"
4957 { yyval.ttype = build_x_unary_op (ADDR_EXPR, yyvsp[0].ttype); ;
4958 break;}
4959 case 219:
4960 #line 1090 "parse.y"
4961 { yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, yyvsp[0].ttype); ;
4962 break;}
4963 case 220:
4964 #line 1092 "parse.y"
4965 { yyval.ttype = finish_unary_op_expr (yyvsp[-1].code, yyvsp[0].ttype); ;
4966 break;}
4967 case 221:
4968 #line 1095 "parse.y"
4969 { if (pedantic)
4970 pedwarn ("ANSI C++ forbids `&&'");
4971 yyval.ttype = finish_label_address_expr (yyvsp[0].ttype); ;
4972 break;}
4973 case 222:
4974 #line 1099 "parse.y"
4975 { yyval.ttype = expr_sizeof (yyvsp[0].ttype); ;
4976 break;}
4977 case 223:
4978 #line 1101 "parse.y"
4979 { yyval.ttype = c_sizeof (groktypename (yyvsp[-1].ftype.t));
4980 check_for_new_type ("sizeof", yyvsp[-1].ftype); ;
4981 break;}
4982 case 224:
4983 #line 1104 "parse.y"
4984 { yyval.ttype = grok_alignof (yyvsp[0].ttype); ;
4985 break;}
4986 case 225:
4987 #line 1106 "parse.y"
4988 { yyval.ttype = c_alignof (groktypename (yyvsp[-1].ftype.t));
4989 check_for_new_type ("alignof", yyvsp[-1].ftype); ;
4990 break;}
4991 case 226:
4992 #line 1112 "parse.y"
4993 { yyval.ttype = build_new (NULL_TREE, yyvsp[0].ftype.t, NULL_TREE, yyvsp[-1].itype);
4994 check_for_new_type ("new", yyvsp[0].ftype); ;
4995 break;}
4996 case 227:
4997 #line 1115 "parse.y"
4998 { yyval.ttype = build_new (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype, yyvsp[-2].itype);
4999 check_for_new_type ("new", yyvsp[-1].ftype); ;
5000 break;}
5001 case 228:
5002 #line 1118 "parse.y"
5003 { yyval.ttype = build_new (yyvsp[-1].ttype, yyvsp[0].ftype.t, NULL_TREE, yyvsp[-2].itype);
5004 check_for_new_type ("new", yyvsp[0].ftype); ;
5005 break;}
5006 case 229:
5007 #line 1121 "parse.y"
5008 { yyval.ttype = build_new (yyvsp[-2].ttype, yyvsp[-1].ftype.t, yyvsp[0].ttype, yyvsp[-3].itype);
5009 check_for_new_type ("new", yyvsp[-1].ftype); ;
5010 break;}
5011 case 230:
5012 #line 1134 "parse.y"
5013 { yyval.ttype = build_new (NULL_TREE, groktypename(yyvsp[-1].ftype.t),
5014 NULL_TREE, yyvsp[-4].itype);
5015 check_for_new_type ("new", yyvsp[-1].ftype); ;
5016 break;}
5017 case 231:
5018 #line 1139 "parse.y"
5019 { yyval.ttype = build_new (NULL_TREE, groktypename(yyvsp[-2].ftype.t), yyvsp[0].ttype, yyvsp[-5].itype);
5020 check_for_new_type ("new", yyvsp[-2].ftype); ;
5021 break;}
5022 case 232:
5023 #line 1143 "parse.y"
5024 { yyval.ttype = build_new (yyvsp[-4].ttype, groktypename(yyvsp[-1].ftype.t), NULL_TREE, yyvsp[-5].itype);
5025 check_for_new_type ("new", yyvsp[-1].ftype); ;
5026 break;}
5027 case 233:
5028 #line 1147 "parse.y"
5029 { yyval.ttype = build_new (yyvsp[-5].ttype, groktypename(yyvsp[-2].ftype.t), yyvsp[0].ttype, yyvsp[-6].itype);
5030 check_for_new_type ("new", yyvsp[-2].ftype); ;
5031 break;}
5032 case 234:
5033 #line 1151 "parse.y"
5034 { yyval.ttype = delete_sanity (yyvsp[0].ttype, NULL_TREE, 0, yyvsp[-1].itype); ;
5035 break;}
5036 case 235:
5037 #line 1153 "parse.y"
5038 { yyval.ttype = delete_sanity (yyvsp[0].ttype, NULL_TREE, 1, yyvsp[-3].itype);
5039 if (yychar == YYEMPTY)
5040 yychar = YYLEX; ;
5041 break;}
5042 case 236:
5043 #line 1157 "parse.y"
5044 { yyval.ttype = delete_sanity (yyvsp[0].ttype, yyvsp[-2].ttype, 2, yyvsp[-4].itype);
5045 if (yychar == YYEMPTY)
5046 yychar = YYLEX; ;
5047 break;}
5048 case 237:
5049 #line 1161 "parse.y"
5050 { yyval.ttype = build_x_unary_op (REALPART_EXPR, yyvsp[0].ttype); ;
5051 break;}
5052 case 238:
5053 #line 1163 "parse.y"
5054 { yyval.ttype = build_x_unary_op (IMAGPART_EXPR, yyvsp[0].ttype); ;
5055 break;}
5056 case 239:
5057 #line 1173 "parse.y"
5058 { finish_new_placement (NULL_TREE, yyvsp[-2].itype); ;
5059 break;}
5060 case 240:
5061 #line 1176 "parse.y"
5062 { yyval.itype = begin_new_placement (); ;
5063 break;}
5064 case 241:
5065 #line 1180 "parse.y"
5066 { yyval.ttype = finish_new_placement (yyvsp[-1].ttype, yyvsp[-2].itype); ;
5067 break;}
5068 case 242:
5069 #line 1182 "parse.y"
5070 { cp_pedwarn ("old style placement syntax, use () instead");
5071 yyval.ttype = finish_new_placement (yyvsp[-1].ttype, yyvsp[-2].itype); ;
5072 break;}
5073 case 243:
5074 #line 1188 "parse.y"
5075 { yyval.ttype = yyvsp[-1].ttype; ;
5076 break;}
5077 case 244:
5078 #line 1190 "parse.y"
5079 { yyval.ttype = NULL_TREE; ;
5080 break;}
5081 case 245:
5082 #line 1192 "parse.y"
5083 {
5084 cp_error ("`%T' is not a valid expression", yyvsp[-1].ftype.t);
5085 yyval.ttype = error_mark_node;
5086 ;
5087 break;}
5088 case 246:
5089 #line 1200 "parse.y"
5090 {
5091 if (pedantic)
5092 pedwarn ("ANSI C++ forbids initialization of new expression with `='");
5093 if (TREE_CODE (yyvsp[0].ttype) != TREE_LIST
5094 && TREE_CODE (yyvsp[0].ttype) != CONSTRUCTOR)
5095 yyval.ttype = build_expr_list (NULL_TREE, yyvsp[0].ttype);
5096 else
5097 yyval.ttype = yyvsp[0].ttype;
5098 ;
5099 break;}
5100 case 247:
5101 #line 1214 "parse.y"
5102 { yyvsp[-1].ftype.t = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[-1].ftype.t), 0);
5103 yyval.ttype = make_call_declarator (NULL_TREE, yyvsp[-1].ftype.t, NULL_TREE, NULL_TREE);
5104 check_for_new_type ("cast", yyvsp[-1].ftype); ;
5105 break;}
5106 case 248:
5107 #line 1218 "parse.y"
5108 { yyvsp[-1].ftype.t = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[-1].ftype.t), 0);
5109 yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-1].ftype.t, NULL_TREE, NULL_TREE);
5110 check_for_new_type ("cast", yyvsp[-1].ftype); ;
5111 break;}
5112 case 250:
5113 #line 1226 "parse.y"
5114 { yyval.ttype = reparse_absdcl_as_casts (yyval.ttype, yyvsp[0].ttype); ;
5115 break;}
5116 case 251:
5117 #line 1228 "parse.y"
5118 {
5119 tree init = build_nt (CONSTRUCTOR, NULL_TREE,
5120 nreverse (yyvsp[-2].ttype));
5121 if (pedantic)
5122 pedwarn ("ANSI C++ forbids constructor-expressions");
5123 /* Indicate that this was a GNU C constructor expression. */
5124 TREE_HAS_CONSTRUCTOR (init) = 1;
5125
5126 yyval.ttype = reparse_absdcl_as_casts (yyval.ttype, init);
5127 ;
5128 break;}
5129 case 253:
5130 #line 1244 "parse.y"
5131 { yyval.ttype = build_x_binary_op (MEMBER_REF, yyval.ttype, yyvsp[0].ttype); ;
5132 break;}
5133 case 254:
5134 #line 1246 "parse.y"
5135 { yyval.ttype = build_m_component_ref (yyval.ttype, yyvsp[0].ttype); ;
5136 break;}
5137 case 255:
5138 #line 1248 "parse.y"
5139 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5140 break;}
5141 case 256:
5142 #line 1250 "parse.y"
5143 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5144 break;}
5145 case 257:
5146 #line 1252 "parse.y"
5147 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5148 break;}
5149 case 258:
5150 #line 1254 "parse.y"
5151 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5152 break;}
5153 case 259:
5154 #line 1256 "parse.y"
5155 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5156 break;}
5157 case 260:
5158 #line 1258 "parse.y"
5159 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5160 break;}
5161 case 261:
5162 #line 1260 "parse.y"
5163 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5164 break;}
5165 case 262:
5166 #line 1262 "parse.y"
5167 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5168 break;}
5169 case 263:
5170 #line 1264 "parse.y"
5171 { yyval.ttype = build_x_binary_op (LT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
5172 break;}
5173 case 264:
5174 #line 1266 "parse.y"
5175 { yyval.ttype = build_x_binary_op (GT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
5176 break;}
5177 case 265:
5178 #line 1268 "parse.y"
5179 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5180 break;}
5181 case 266:
5182 #line 1270 "parse.y"
5183 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5184 break;}
5185 case 267:
5186 #line 1272 "parse.y"
5187 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5188 break;}
5189 case 268:
5190 #line 1274 "parse.y"
5191 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5192 break;}
5193 case 269:
5194 #line 1276 "parse.y"
5195 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5196 break;}
5197 case 270:
5198 #line 1278 "parse.y"
5199 { yyval.ttype = build_x_binary_op (TRUTH_ANDIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
5200 break;}
5201 case 271:
5202 #line 1280 "parse.y"
5203 { yyval.ttype = build_x_binary_op (TRUTH_ORIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
5204 break;}
5205 case 272:
5206 #line 1282 "parse.y"
5207 { yyval.ttype = build_x_conditional_expr (yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
5208 break;}
5209 case 273:
5210 #line 1284 "parse.y"
5211 { yyval.ttype = build_x_modify_expr (yyval.ttype, NOP_EXPR, yyvsp[0].ttype);
5212 if (yyval.ttype != error_mark_node)
5213 C_SET_EXP_ORIGINAL_CODE (yyval.ttype, MODIFY_EXPR); ;
5214 break;}
5215 case 274:
5216 #line 1288 "parse.y"
5217 { yyval.ttype = build_x_modify_expr (yyval.ttype, yyvsp[-1].code, yyvsp[0].ttype); ;
5218 break;}
5219 case 275:
5220 #line 1290 "parse.y"
5221 { yyval.ttype = build_throw (NULL_TREE); ;
5222 break;}
5223 case 276:
5224 #line 1292 "parse.y"
5225 { yyval.ttype = build_throw (yyvsp[0].ttype); ;
5226 break;}
5227 case 277:
5228 #line 1310 "parse.y"
5229 { yyval.ttype = build_parse_node (BIT_NOT_EXPR, yyvsp[0].ttype); ;
5230 break;}
5231 case 278:
5232 #line 1312 "parse.y"
5233 { yyval.ttype = build_parse_node (BIT_NOT_EXPR, yyvsp[0].ttype); ;
5234 break;}
5235 case 284:
5236 #line 1321 "parse.y"
5237 {
5238 /* If lastiddecl is a TREE_LIST, it's a baselink, which
5239 means that we're in an expression like S::f<int>, so
5240 don't do_identifier; we only do that for unqualified
5241 identifiers. */
5242 if (lastiddecl && TREE_CODE (lastiddecl) != TREE_LIST)
5243 yyval.ttype = do_identifier (yyvsp[-1].ttype, 1, NULL_TREE);
5244 else
5245 yyval.ttype = yyvsp[-1].ttype;
5246 ;
5247 break;}
5248 case 285:
5249 #line 1334 "parse.y"
5250 { yyval.ttype = lookup_template_function (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
5251 break;}
5252 case 286:
5253 #line 1336 "parse.y"
5254 { yyval.ttype = lookup_template_function (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
5255 break;}
5256 case 287:
5257 #line 1341 "parse.y"
5258 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5259 break;}
5260 case 288:
5261 #line 1343 "parse.y"
5262 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5263 break;}
5264 case 289:
5265 #line 1346 "parse.y"
5266 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5267 break;}
5268 case 294:
5269 #line 1358 "parse.y"
5270 {
5271 /* Provide support for '(' attributes '*' declarator ')'
5272 etc */
5273 yyval.ttype = decl_tree_cons (yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE);
5274 ;
5275 break;}
5276 case 296:
5277 #line 1368 "parse.y"
5278 { yyval.ttype = build_parse_node (INDIRECT_REF, yyvsp[0].ttype); ;
5279 break;}
5280 case 297:
5281 #line 1370 "parse.y"
5282 { yyval.ttype = build_parse_node (ADDR_EXPR, yyvsp[0].ttype); ;
5283 break;}
5284 case 298:
5285 #line 1372 "parse.y"
5286 { yyval.ttype = yyvsp[-1].ttype; ;
5287 break;}
5288 case 299:
5289 #line 1377 "parse.y"
5290 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5291 break;}
5292 case 300:
5293 #line 1379 "parse.y"
5294 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5295 break;}
5296 case 304:
5297 #line 1389 "parse.y"
5298 { yyval.ttype = finish_decl_parsing (yyvsp[-1].ttype); ;
5299 break;}
5300 case 305:
5301 #line 1394 "parse.y"
5302 {
5303 if (TREE_CODE (yyvsp[0].ttype) == BIT_NOT_EXPR)
5304 yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, TREE_OPERAND (yyvsp[0].ttype, 0));
5305 else
5306 yyval.ttype = finish_id_expr (yyvsp[0].ttype);
5307 ;
5308 break;}
5309 case 308:
5310 #line 1403 "parse.y"
5311 {
5312 if (processing_template_decl)
5313 push_obstacks (&permanent_obstack, &permanent_obstack);
5314 yyval.ttype = combine_strings (yyval.ttype);
5315 /* combine_strings doesn't set up TYPE_MAIN_VARIANT of
5316 a const array the way we want, so fix it. */
5317 if (flag_const_strings)
5318 TREE_TYPE (yyval.ttype) = build_cplus_array_type
5319 (TREE_TYPE (TREE_TYPE (yyval.ttype)),
5320 TYPE_DOMAIN (TREE_TYPE (yyval.ttype)));
5321 if (processing_template_decl)
5322 pop_obstacks ();
5323 ;
5324 break;}
5325 case 309:
5326 #line 1417 "parse.y"
5327 { yyval.ttype = finish_parenthesized_expr (yyvsp[-1].ttype); ;
5328 break;}
5329 case 310:
5330 #line 1419 "parse.y"
5331 { yyvsp[-1].ttype = reparse_decl_as_expr (NULL_TREE, yyvsp[-1].ttype);
5332 yyval.ttype = finish_parenthesized_expr (yyvsp[-1].ttype); ;
5333 break;}
5334 case 311:
5335 #line 1422 "parse.y"
5336 { yyval.ttype = error_mark_node; ;
5337 break;}
5338 case 312:
5339 #line 1424 "parse.y"
5340 { tree scope = current_scope ();
5341 if (!scope || TREE_CODE (scope) != FUNCTION_DECL)
5342 {
5343 error ("braced-group within expression allowed only inside a function");
5344 YYERROR;
5345 }
5346 if (pedantic)
5347 pedwarn ("ANSI C++ forbids braced-groups within expressions");
5348 yyval.ttype = begin_stmt_expr ();
5349 ;
5350 break;}
5351 case 313:
5352 #line 1435 "parse.y"
5353 { yyval.ttype = finish_stmt_expr (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
5354 break;}
5355 case 314:
5356 #line 1440 "parse.y"
5357 { yyval.ttype = finish_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype, 1); ;
5358 break;}
5359 case 315:
5360 #line 1442 "parse.y"
5361 { yyval.ttype = finish_call_expr (yyvsp[-1].ttype, NULL_TREE, 1); ;
5362 break;}
5363 case 316:
5364 #line 1444 "parse.y"
5365 { yyval.ttype = finish_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype, 0); ;
5366 break;}
5367 case 317:
5368 #line 1446 "parse.y"
5369 { yyval.ttype = finish_call_expr (yyvsp[-1].ttype, NULL_TREE, 0); ;
5370 break;}
5371 case 318:
5372 #line 1448 "parse.y"
5373 { yyval.ttype = grok_array_decl (yyval.ttype, yyvsp[-1].ttype); ;
5374 break;}
5375 case 319:
5376 #line 1450 "parse.y"
5377 { yyval.ttype = finish_increment_expr (yyvsp[-1].ttype, POSTINCREMENT_EXPR); ;
5378 break;}
5379 case 320:
5380 #line 1452 "parse.y"
5381 { yyval.ttype = finish_increment_expr (yyvsp[-1].ttype, POSTDECREMENT_EXPR); ;
5382 break;}
5383 case 321:
5384 #line 1455 "parse.y"
5385 { yyval.ttype = finish_this_expr (); ;
5386 break;}
5387 case 322:
5388 #line 1457 "parse.y"
5389 {
5390 /* This is a C cast in C++'s `functional' notation
5391 using the "implicit int" extension so that:
5392 `const (3)' is equivalent to `const int (3)'. */
5393 tree type;
5394
5395 if (yyvsp[-1].ttype == error_mark_node)
5396 {
5397 yyval.ttype = error_mark_node;
5398 break;
5399 }
5400
5401 type = cp_build_qualified_type (integer_type_node,
5402 cp_type_qual_from_rid (yyvsp[-3].ttype));
5403 yyval.ttype = build_c_cast (type, build_compound_expr (yyvsp[-1].ttype));
5404 ;
5405 break;}
5406 case 324:
5407 #line 1475 "parse.y"
5408 { tree type = groktypename (yyvsp[-4].ftype.t);
5409 check_for_new_type ("dynamic_cast", yyvsp[-4].ftype);
5410 yyval.ttype = build_dynamic_cast (type, yyvsp[-1].ttype); ;
5411 break;}
5412 case 325:
5413 #line 1479 "parse.y"
5414 { tree type = groktypename (yyvsp[-4].ftype.t);
5415 check_for_new_type ("static_cast", yyvsp[-4].ftype);
5416 yyval.ttype = build_static_cast (type, yyvsp[-1].ttype); ;
5417 break;}
5418 case 326:
5419 #line 1483 "parse.y"
5420 { tree type = groktypename (yyvsp[-4].ftype.t);
5421 check_for_new_type ("reinterpret_cast", yyvsp[-4].ftype);
5422 yyval.ttype = build_reinterpret_cast (type, yyvsp[-1].ttype); ;
5423 break;}
5424 case 327:
5425 #line 1487 "parse.y"
5426 { tree type = groktypename (yyvsp[-4].ftype.t);
5427 check_for_new_type ("const_cast", yyvsp[-4].ftype);
5428 yyval.ttype = build_const_cast (type, yyvsp[-1].ttype); ;
5429 break;}
5430 case 328:
5431 #line 1491 "parse.y"
5432 { yyval.ttype = build_x_typeid (yyvsp[-1].ttype); ;
5433 break;}
5434 case 329:
5435 #line 1493 "parse.y"
5436 { tree type = groktypename (yyvsp[-1].ftype.t);
5437 check_for_new_type ("typeid", yyvsp[-1].ftype);
5438 yyval.ttype = get_typeid (TYPE_MAIN_VARIANT (type)); ;
5439 break;}
5440 case 330:
5441 #line 1497 "parse.y"
5442 { yyval.ttype = do_scoped_id (yyvsp[0].ttype, 1); ;
5443 break;}
5444 case 331:
5445 #line 1499 "parse.y"
5446 { yyval.ttype = yyvsp[0].ttype; ;
5447 break;}
5448 case 332:
5449 #line 1501 "parse.y"
5450 {
5451 got_scope = NULL_TREE;
5452 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
5453 yyval.ttype = do_scoped_id (yyvsp[0].ttype, 1);
5454 else
5455 yyval.ttype = yyvsp[0].ttype;
5456 ;
5457 break;}
5458 case 333:
5459 #line 1509 "parse.y"
5460 { yyval.ttype = build_offset_ref (OP0 (yyval.ttype), OP1 (yyval.ttype)); ;
5461 break;}
5462 case 334:
5463 #line 1511 "parse.y"
5464 { yyval.ttype = finish_qualified_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5465 break;}
5466 case 335:
5467 #line 1513 "parse.y"
5468 { yyval.ttype = finish_qualified_call_expr (yyvsp[-1].ttype, NULL_TREE); ;
5469 break;}
5470 case 336:
5471 #line 1515 "parse.y"
5472 {
5473 yyval.ttype = build_x_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1);
5474 ;
5475 break;}
5476 case 337:
5477 #line 1519 "parse.y"
5478 { yyval.ttype = finish_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
5479 break;}
5480 case 338:
5481 #line 1521 "parse.y"
5482 { yyval.ttype = finish_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ;
5483 break;}
5484 case 339:
5485 #line 1523 "parse.y"
5486 { yyval.ttype = build_x_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1); ;
5487 break;}
5488 case 340:
5489 #line 1525 "parse.y"
5490 { if (processing_template_decl)
5491 yyval.ttype = build_min_nt (COMPONENT_REF, yyvsp[-1].ttype, copy_to_permanent (yyvsp[0].ttype));
5492 else
5493 yyval.ttype = build_object_ref (yyval.ttype, OP0 (yyvsp[0].ttype), OP1 (yyvsp[0].ttype)); ;
5494 break;}
5495 case 341:
5496 #line 1530 "parse.y"
5497 { yyval.ttype = finish_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
5498 break;}
5499 case 342:
5500 #line 1532 "parse.y"
5501 { yyval.ttype = finish_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ;
5502 break;}
5503 case 343:
5504 #line 1534 "parse.y"
5505 { yyval.ttype = finish_qualified_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
5506 break;}
5507 case 344:
5508 #line 1536 "parse.y"
5509 { yyval.ttype = finish_qualified_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ;
5510 break;}
5511 case 345:
5512 #line 1539 "parse.y"
5513 { yyval.ttype = finish_pseudo_destructor_call_expr (yyvsp[-3].ttype, NULL_TREE, yyvsp[-1].ttype); ;
5514 break;}
5515 case 346:
5516 #line 1541 "parse.y"
5517 { yyval.ttype = finish_pseudo_destructor_call_expr (yyvsp[-5].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
5518 break;}
5519 case 347:
5520 #line 1543 "parse.y"
5521 {
5522 yyval.ttype = error_mark_node;
5523 ;
5524 break;}
5525 case 348:
5526 #line 1588 "parse.y"
5527 { yyval.itype = 0; ;
5528 break;}
5529 case 349:
5530 #line 1590 "parse.y"
5531 { got_scope = NULL_TREE; yyval.itype = 1; ;
5532 break;}
5533 case 350:
5534 #line 1595 "parse.y"
5535 { yyval.itype = 0; ;
5536 break;}
5537 case 351:
5538 #line 1597 "parse.y"
5539 { got_scope = NULL_TREE; yyval.itype = 1; ;
5540 break;}
5541 case 352:
5542 #line 1602 "parse.y"
5543 { yyval.ttype = boolean_true_node; ;
5544 break;}
5545 case 353:
5546 #line 1604 "parse.y"
5547 { yyval.ttype = boolean_false_node; ;
5548 break;}
5549 case 355:
5550 #line 1611 "parse.y"
5551 { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
5552 break;}
5553 case 356:
5554 #line 1616 "parse.y"
5555 {
5556 if (! current_function_parms_stored)
5557 store_parm_decls ();
5558 setup_vtbl_ptr ();
5559 /* Always keep the BLOCK node associated with the outermost
5560 pair of curley braces of a function. These are needed
5561 for correct operation of dwarfout.c. */
5562 keep_next_level ();
5563 ;
5564 break;}
5565 case 357:
5566 #line 1629 "parse.y"
5567 { got_object = TREE_TYPE (yyval.ttype); ;
5568 break;}
5569 case 358:
5570 #line 1631 "parse.y"
5571 {
5572 yyval.ttype = build_x_arrow (yyval.ttype);
5573 got_object = TREE_TYPE (yyval.ttype);
5574 ;
5575 break;}
5576 case 359:
5577 #line 1639 "parse.y"
5578 {
5579 resume_momentary (yyvsp[-1].itype);
5580 if (yyvsp[-2].ftype.t && IS_AGGR_TYPE_CODE (TREE_CODE (yyvsp[-2].ftype.t)))
5581 note_got_semicolon (yyvsp[-2].ftype.t);
5582 ;
5583 break;}
5584 case 360:
5585 #line 1645 "parse.y"
5586 {
5587 resume_momentary (yyvsp[-1].itype);
5588 note_list_got_semicolon (yyvsp[-2].ftype.t);
5589 ;
5590 break;}
5591 case 361:
5592 #line 1650 "parse.y"
5593 { resume_momentary (yyvsp[-1].itype); ;
5594 break;}
5595 case 362:
5596 #line 1652 "parse.y"
5597 {
5598 shadow_tag (yyvsp[-1].ftype.t);
5599 note_list_got_semicolon (yyvsp[-1].ftype.t);
5600 ;
5601 break;}
5602 case 363:
5603 #line 1657 "parse.y"
5604 { warning ("empty declaration"); ;
5605 break;}
5606 case 364:
5607 #line 1659 "parse.y"
5608 { pedantic = yyvsp[-1].itype; ;
5609 break;}
5610 case 367:
5611 #line 1673 "parse.y"
5612 { yyval.ttype = make_call_declarator (NULL_TREE, empty_parms (),
5613 NULL_TREE, NULL_TREE); ;
5614 break;}
5615 case 368:
5616 #line 1676 "parse.y"
5617 { yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), NULL_TREE,
5618 NULL_TREE); ;
5619 break;}
5620 case 369:
5621 #line 1683 "parse.y"
5622 { yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
5623 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5624 break;}
5625 case 370:
5626 #line 1686 "parse.y"
5627 { yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
5628 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5629 break;}
5630 case 371:
5631 #line 1689 "parse.y"
5632 { yyval.ftype.t = build_decl_list (get_decl_list (yyvsp[-1].ftype.t), yyvsp[0].ttype);
5633 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5634 break;}
5635 case 372:
5636 #line 1692 "parse.y"
5637 { yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE);
5638 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5639 break;}
5640 case 373:
5641 #line 1695 "parse.y"
5642 { yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE);
5643 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5644 break;}
5645 case 376:
5646 #line 1711 "parse.y"
5647 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ttype);
5648 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5649 break;}
5650 case 377:
5651 #line 1714 "parse.y"
5652 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype);
5653 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5654 break;}
5655 case 378:
5656 #line 1717 "parse.y"
5657 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-2].ftype.t, chainon (yyvsp[-1].ttype, yyvsp[0].ttype));
5658 yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ;
5659 break;}
5660 case 379:
5661 #line 1720 "parse.y"
5662 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ttype));
5663 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5664 break;}
5665 case 380:
5666 #line 1723 "parse.y"
5667 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ttype));
5668 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5669 break;}
5670 case 381:
5671 #line 1726 "parse.y"
5672 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-2].ftype.t,
5673 chainon (yyvsp[-1].ttype, chainon (yyvsp[0].ttype, yyvsp[-3].ttype)));
5674 yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ;
5675 break;}
5676 case 382:
5677 #line 1733 "parse.y"
5678 { if (extra_warnings)
5679 warning ("`%s' is not at beginning of declaration",
5680 IDENTIFIER_POINTER (yyval.ttype));
5681 yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
5682 break;}
5683 case 383:
5684 #line 1738 "parse.y"
5685 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyval.ttype); ;
5686 break;}
5687 case 384:
5688 #line 1740 "parse.y"
5689 { if (extra_warnings)
5690 warning ("`%s' is not at beginning of declaration",
5691 IDENTIFIER_POINTER (yyvsp[0].ttype));
5692 yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
5693 break;}
5694 case 385:
5695 #line 1745 "parse.y"
5696 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
5697 break;}
5698 case 386:
5699 #line 1747 "parse.y"
5700 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ;
5701 break;}
5702 case 387:
5703 #line 1757 "parse.y"
5704 { yyval.ttype = yyvsp[0].ftype.t; TREE_STATIC (yyval.ttype) = 1; ;
5705 break;}
5706 case 388:
5707 #line 1759 "parse.y"
5708 { yyval.ttype = IDENTIFIER_AS_LIST (yyval.ttype); ;
5709 break;}
5710 case 389:
5711 #line 1761 "parse.y"
5712 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype);
5713 TREE_STATIC (yyval.ttype) = 1; ;
5714 break;}
5715 case 390:
5716 #line 1764 "parse.y"
5717 { if (extra_warnings && TREE_STATIC (yyval.ttype))
5718 warning ("`%s' is not at beginning of declaration",
5719 IDENTIFIER_POINTER (yyvsp[0].ttype));
5720 yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype);
5721 TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
5722 break;}
5723 case 391:
5724 #line 1770 "parse.y"
5725 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
5726 break;}
5727 case 392:
5728 #line 1772 "parse.y"
5729 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ;
5730 break;}
5731 case 393:
5732 #line 1783 "parse.y"
5733 { yyval.ftype.t = get_decl_list (yyvsp[0].ftype.t);
5734 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5735 break;}
5736 case 394:
5737 #line 1786 "parse.y"
5738 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ftype.t);
5739 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5740 break;}
5741 case 395:
5742 #line 1789 "parse.y"
5743 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype);
5744 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5745 break;}
5746 case 396:
5747 #line 1792 "parse.y"
5748 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ftype.t));
5749 yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ;
5750 break;}
5751 case 397:
5752 #line 1798 "parse.y"
5753 { yyval.ttype = build_decl_list (NULL_TREE, yyvsp[0].ftype.t); ;
5754 break;}
5755 case 398:
5756 #line 1800 "parse.y"
5757 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ttype); ;
5758 break;}
5759 case 400:
5760 #line 1810 "parse.y"
5761 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5762 break;}
5763 case 401:
5764 #line 1812 "parse.y"
5765 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5766 break;}
5767 case 402:
5768 #line 1814 "parse.y"
5769 { yyval.ftype.t = finish_typeof (yyvsp[-1].ttype);
5770 yyval.ftype.new_type_flag = 0; ;
5771 break;}
5772 case 403:
5773 #line 1817 "parse.y"
5774 { yyval.ftype.t = groktypename (yyvsp[-1].ftype.t);
5775 yyval.ftype.new_type_flag = 0; ;
5776 break;}
5777 case 404:
5778 #line 1820 "parse.y"
5779 { tree type = TREE_TYPE (yyvsp[-1].ttype);
5780
5781 yyval.ftype.new_type_flag = 0;
5782 if (IS_AGGR_TYPE (type))
5783 {
5784 sorry ("sigof type specifier");
5785 yyval.ftype.t = type;
5786 }
5787 else
5788 {
5789 error ("`sigof' applied to non-aggregate expression");
5790 yyval.ftype.t = error_mark_node;
5791 }
5792 ;
5793 break;}
5794 case 405:
5795 #line 1835 "parse.y"
5796 { tree type = groktypename (yyvsp[-1].ftype.t);
5797
5798 yyval.ftype.new_type_flag = 0;
5799 if (IS_AGGR_TYPE (type))
5800 {
5801 sorry ("sigof type specifier");
5802 yyval.ftype.t = type;
5803 }
5804 else
5805 {
5806 error("`sigof' applied to non-aggregate type");
5807 yyval.ftype.t = error_mark_node;
5808 }
5809 ;
5810 break;}
5811 case 406:
5812 #line 1855 "parse.y"
5813 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5814 break;}
5815 case 407:
5816 #line 1857 "parse.y"
5817 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5818 break;}
5819 case 410:
5820 #line 1864 "parse.y"
5821 { check_multiple_declarators (); ;
5822 break;}
5823 case 412:
5824 #line 1870 "parse.y"
5825 { check_multiple_declarators (); ;
5826 break;}
5827 case 414:
5828 #line 1876 "parse.y"
5829 { check_multiple_declarators (); ;
5830 break;}
5831 case 415:
5832 #line 1881 "parse.y"
5833 { yyval.ttype = NULL_TREE; ;
5834 break;}
5835 case 416:
5836 #line 1883 "parse.y"
5837 { if (TREE_CHAIN (yyvsp[-1].ttype)) yyvsp[-1].ttype = combine_strings (yyvsp[-1].ttype); yyval.ttype = yyvsp[-1].ttype; ;
5838 break;}
5839 case 417:
5840 #line 1888 "parse.y"
5841 { yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1,
5842 yyvsp[-1].ttype, prefix_attributes); ;
5843 break;}
5844 case 418:
5845 #line 1892 "parse.y"
5846 { cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 1, LOOKUP_ONLYCONVERTING); ;
5847 break;}
5848 case 419:
5849 #line 1894 "parse.y"
5850 { yyval.ttype = start_decl (yyvsp[-2].ttype, current_declspecs, 0,
5851 yyvsp[0].ttype, prefix_attributes);
5852 cp_finish_decl (yyval.ttype, NULL_TREE, yyvsp[-1].ttype, 1, 0); ;
5853 break;}
5854 case 420:
5855 #line 1907 "parse.y"
5856 { yyvsp[0].itype = parse_decl (yyvsp[-3].ttype, yyvsp[-4].ttype,
5857 yyvsp[-1].ttype, 1, &yyval.ttype); ;
5858 break;}
5859 case 421:
5860 #line 1912 "parse.y"
5861 { cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 1,
5862 LOOKUP_ONLYCONVERTING);
5863 yyval.itype = yyvsp[-2].itype; ;
5864 break;}
5865 case 422:
5866 #line 1916 "parse.y"
5867 { tree d;
5868 yyval.itype = parse_decl (yyvsp[-2].ttype, yyvsp[-3].ttype, yyvsp[0].ttype, 0, &d);
5869 cp_finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 1, 0); ;
5870 break;}
5871 case 423:
5872 #line 1923 "parse.y"
5873 { yyval.itype = yyvsp[0].itype; ;
5874 break;}
5875 case 424:
5876 #line 1927 "parse.y"
5877 { yyval.itype = yyvsp[0].itype; ;
5878 break;}
5879 case 425:
5880 #line 1932 "parse.y"
5881 { /* Set things up as initdcl0_innards expects. */
5882 yyvsp[0].ttype = yyvsp[-1].ttype;
5883 yyvsp[-1].ttype = NULL_TREE; ;
5884 break;}
5885 case 426:
5886 #line 1936 "parse.y"
5887 {;
5888 break;}
5889 case 427:
5890 #line 1938 "parse.y"
5891 { tree d;
5892 parse_decl(yyvsp[-2].ttype, NULL_TREE, yyvsp[0].ttype, 0, &d);
5893 cp_finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 1, 0); ;
5894 break;}
5895 case 428:
5896 #line 1947 "parse.y"
5897 { yyval.ttype = NULL_TREE; ;
5898 break;}
5899 case 429:
5900 #line 1949 "parse.y"
5901 { yyval.ttype = yyvsp[0].ttype; ;
5902 break;}
5903 case 430:
5904 #line 1954 "parse.y"
5905 { yyval.ttype = yyvsp[0].ttype; ;
5906 break;}
5907 case 431:
5908 #line 1956 "parse.y"
5909 { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ;
5910 break;}
5911 case 432:
5912 #line 1961 "parse.y"
5913 { yyval.ttype = yyvsp[-2].ttype; ;
5914 break;}
5915 case 433:
5916 #line 1966 "parse.y"
5917 { yyval.ttype = yyvsp[0].ttype; ;
5918 break;}
5919 case 434:
5920 #line 1968 "parse.y"
5921 { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
5922 break;}
5923 case 435:
5924 #line 1973 "parse.y"
5925 { yyval.ttype = NULL_TREE; ;
5926 break;}
5927 case 436:
5928 #line 1975 "parse.y"
5929 { yyval.ttype = build_tree_list (yyvsp[0].ttype, NULL_TREE); ;
5930 break;}
5931 case 437:
5932 #line 1977 "parse.y"
5933 { yyval.ttype = build_tree_list (yyvsp[-3].ttype, build_tree_list (NULL_TREE, yyvsp[-1].ttype)); ;
5934 break;}
5935 case 438:
5936 #line 1979 "parse.y"
5937 { yyval.ttype = build_tree_list (yyvsp[-5].ttype, tree_cons (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype)); ;
5938 break;}
5939 case 439:
5940 #line 1981 "parse.y"
5941 { yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5942 break;}
5943 case 444:
5944 #line 1997 "parse.y"
5945 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
5946 break;}
5947 case 445:
5948 #line 1999 "parse.y"
5949 { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
5950 break;}
5951 case 446:
5952 #line 2004 "parse.y"
5953 { yyval.ttype = NULL_TREE; ;
5954 break;}
5955 case 447:
5956 #line 2006 "parse.y"
5957 { yyval.ttype = yyvsp[0].ttype; ;
5958 break;}
5959 case 449:
5960 #line 2014 "parse.y"
5961 { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, NULL_TREE);
5962 TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
5963 break;}
5964 case 450:
5965 #line 2017 "parse.y"
5966 { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-1].ttype));
5967 TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
5968 break;}
5969 case 451:
5970 #line 2020 "parse.y"
5971 { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-2].ttype));
5972 TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
5973 break;}
5974 case 452:
5975 #line 2023 "parse.y"
5976 { yyval.ttype = NULL_TREE; ;
5977 break;}
5978 case 453:
5979 #line 2030 "parse.y"
5980 { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
5981 break;}
5982 case 454:
5983 #line 2032 "parse.y"
5984 { yyval.ttype = expr_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
5985 break;}
5986 case 455:
5987 #line 2035 "parse.y"
5988 { yyval.ttype = build_expr_list (yyvsp[-2].ttype, yyvsp[0].ttype); ;
5989 break;}
5990 case 456:
5991 #line 2037 "parse.y"
5992 { yyval.ttype = build_expr_list (yyval.ttype, yyvsp[0].ttype); ;
5993 break;}
5994 case 457:
5995 #line 2039 "parse.y"
5996 { yyval.ttype = expr_tree_cons (yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype); ;
5997 break;}
5998 case 458:
5999 #line 2044 "parse.y"
6000 { start_function (NULL_TREE, TREE_VALUE (yyvsp[0].ttype),
6001 NULL_TREE, 2);
6002 reinit_parse_for_function (); ;
6003 break;}
6004 case 459:
6005 #line 2050 "parse.y"
6006 {
6007 int nested = (hack_decl_function_context
6008 (current_function_decl) != NULL_TREE);
6009 finish_function (lineno, (int)yyvsp[-1].itype | 2, nested);
6010 process_next_inline (yyvsp[-3].ttype);
6011 ;
6012 break;}
6013 case 460:
6014 #line 2057 "parse.y"
6015 {
6016 int nested = (hack_decl_function_context
6017 (current_function_decl) != NULL_TREE);
6018 finish_function (lineno, (int)yyvsp[0].itype | 2, nested);
6019 process_next_inline (yyvsp[-2].ttype);
6020 ;
6021 break;}
6022 case 461:
6023 #line 2064 "parse.y"
6024 { process_next_inline (yyvsp[-2].ttype); ;
6025 break;}
6026 case 464:
6027 #line 2076 "parse.y"
6028 { replace_defarg (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
6029 break;}
6030 case 465:
6031 #line 2078 "parse.y"
6032 { replace_defarg (yyvsp[-2].ttype, error_mark_node); ;
6033 break;}
6034 case 467:
6035 #line 2083 "parse.y"
6036 { do_pending_defargs (); ;
6037 break;}
6038 case 468:
6039 #line 2085 "parse.y"
6040 { do_pending_defargs (); ;
6041 break;}
6042 case 469:
6043 #line 2090 "parse.y"
6044 { yyvsp[0].itype = suspend_momentary ();
6045 yyval.ttype = current_enum_type;
6046 current_enum_type = start_enum (yyvsp[-1].ttype); ;
6047 break;}
6048 case 470:
6049 #line 2094 "parse.y"
6050 { TYPE_VALUES (current_enum_type) = yyvsp[-2].ttype;
6051 yyval.ftype.t = finish_enum (current_enum_type);
6052 yyval.ftype.new_type_flag = 1;
6053 current_enum_type = yyvsp[-3].ttype;
6054 resume_momentary ((int) yyvsp[-4].itype);
6055 check_for_missing_semicolon (yyval.ftype.t); ;
6056 break;}
6057 case 471:
6058 #line 2101 "parse.y"
6059 { yyval.ftype.t = finish_enum (start_enum (yyvsp[-2].ttype));
6060 yyval.ftype.new_type_flag = 1;
6061 check_for_missing_semicolon (yyval.ftype.t); ;
6062 break;}
6063 case 472:
6064 #line 2105 "parse.y"
6065 { yyvsp[0].itype = suspend_momentary ();
6066 yyval.ttype = current_enum_type;
6067 current_enum_type = start_enum (make_anon_name ()); ;
6068 break;}
6069 case 473:
6070 #line 2109 "parse.y"
6071 { TYPE_VALUES (current_enum_type) = yyvsp[-2].ttype;
6072 yyval.ftype.t = finish_enum (current_enum_type);
6073 yyval.ftype.new_type_flag = 1;
6074 current_enum_type = yyvsp[-3].ttype;
6075 resume_momentary ((int) yyvsp[-5].itype);
6076 check_for_missing_semicolon (yyval.ftype.t); ;
6077 break;}
6078 case 474:
6079 #line 2116 "parse.y"
6080 { yyval.ftype.t = finish_enum (start_enum (make_anon_name()));
6081 yyval.ftype.new_type_flag = 1;
6082 check_for_missing_semicolon (yyval.ftype.t); ;
6083 break;}
6084 case 475:
6085 #line 2120 "parse.y"
6086 { yyval.ftype.t = xref_tag (enum_type_node, yyvsp[0].ttype, 1);
6087 yyval.ftype.new_type_flag = 0; ;
6088 break;}
6089 case 476:
6090 #line 2123 "parse.y"
6091 { yyval.ftype.t = xref_tag (enum_type_node, yyvsp[0].ttype, 1);
6092 yyval.ftype.new_type_flag = 0; ;
6093 break;}
6094 case 477:
6095 #line 2126 "parse.y"
6096 { yyval.ftype.t = yyvsp[0].ttype;
6097 yyval.ftype.new_type_flag = 0;
6098 if (!processing_template_decl)
6099 cp_pedwarn ("using `typename' outside of template"); ;
6100 break;}
6101 case 478:
6102 #line 2133 "parse.y"
6103 {
6104 int semi;
6105
6106 if (yychar == YYEMPTY)
6107 yychar = YYLEX;
6108 semi = yychar == ';';
6109
6110 yyval.ttype = finish_class_definition (yyvsp[-4].ttype, yyvsp[0].ttype, semi);
6111 ;
6112 break;}
6113 case 479:
6114 #line 2143 "parse.y"
6115 { finish_default_args (); ;
6116 break;}
6117 case 480:
6118 #line 2145 "parse.y"
6119 { yyval.ftype.t = yyvsp[-3].ttype;
6120 yyval.ftype.new_type_flag = 1;
6121 begin_inline_definitions (); ;
6122 break;}
6123 case 481:
6124 #line 2149 "parse.y"
6125 {
6126 yyval.ftype.new_type_flag = 0;
6127 if (TYPE_BINFO (yyvsp[0].ttype) == NULL_TREE)
6128 {
6129 cp_error ("%T is not a class type", yyvsp[0].ttype);
6130 yyval.ftype.t = error_mark_node;
6131 }
6132 else
6133 {
6134 yyval.ftype.t = yyvsp[0].ttype;
6135 /* struct B: public A; is not accepted by the WP grammar. */
6136 if (TYPE_BINFO_BASETYPES (yyval.ftype.t) && !TYPE_SIZE (yyval.ftype.t)
6137 && ! TYPE_BEING_DEFINED (yyval.ftype.t))
6138 cp_error ("base clause without member specification for `%#T'",
6139 yyval.ftype.t);
6140 }
6141 ;
6142 break;}
6143 case 485:
6144 #line 2176 "parse.y"
6145 { if (pedantic && !in_system_header)
6146 pedwarn ("comma at end of enumerator list"); ;
6147 break;}
6148 case 487:
6149 #line 2183 "parse.y"
6150 { error ("storage class specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
6151 break;}
6152 case 488:
6153 #line 2185 "parse.y"
6154 { error ("type specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
6155 break;}
6156 case 489:
6157 #line 2187 "parse.y"
6158 { error ("type qualifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
6159 break;}
6160 case 490:
6161 #line 2189 "parse.y"
6162 { error ("no body nor ';' separates two class, struct or union declarations"); ;
6163 break;}
6164 case 491:
6165 #line 2191 "parse.y"
6166 { yyval.ttype = build_decl_list (yyvsp[0].ttype, yyvsp[-1].ttype); ;
6167 break;}
6168 case 492:
6169 #line 2196 "parse.y"
6170 {
6171 current_aggr = yyvsp[-1].ttype;
6172 yyval.ttype = yyvsp[0].ttype;
6173 ;
6174 break;}
6175 case 493:
6176 #line 2204 "parse.y"
6177 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
6178 break;}
6179 case 494:
6180 #line 2206 "parse.y"
6181 { yyungetc ('{', 1); ;
6182 break;}
6183 case 495:
6184 #line 2208 "parse.y"
6185 { yyungetc (':', 1); ;
6186 break;}
6187 case 496:
6188 #line 2213 "parse.y"
6189 {
6190 current_aggr = yyvsp[-2].ttype;
6191 yyval.ttype = handle_class_head (yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
6192 ;
6193 break;}
6194 case 497:
6195 #line 2218 "parse.y"
6196 {
6197 current_aggr = yyvsp[-3].ttype;
6198 yyval.ttype = handle_class_head (yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
6199 ;
6200 break;}
6201 case 498:
6202 #line 2223 "parse.y"
6203 {
6204 current_aggr = yyvsp[-2].ttype;
6205 yyval.ttype = handle_class_head (yyvsp[-2].ttype, NULL_TREE, yyvsp[0].ttype);
6206 ;
6207 break;}
6208 case 499:
6209 #line 2228 "parse.y"
6210 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
6211 break;}
6212 case 500:
6213 #line 2230 "parse.y"
6214 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
6215 break;}
6216 case 501:
6217 #line 2235 "parse.y"
6218 { yyval.ttype = xref_tag (current_aggr, yyvsp[0].ttype, 1); ;
6219 break;}
6220 case 502:
6221 #line 2237 "parse.y"
6222 { yyval.ttype = xref_tag (current_aggr, yyvsp[0].ttype, 0); ;
6223 break;}
6224 case 503:
6225 #line 2241 "parse.y"
6226 {
6227 yyval.ttype = yyvsp[-1].ttype;
6228 if (yyvsp[0].ttype)
6229 xref_basetypes (current_aggr, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
6230 ;
6231 break;}
6232 case 504:
6233 #line 2247 "parse.y"
6234 {
6235 if (yyvsp[0].ttype != error_mark_node)
6236 push_scope (CP_DECL_CONTEXT (yyvsp[0].ttype));
6237 ;
6238 break;}
6239 case 505:
6240 #line 2252 "parse.y"
6241 {
6242 if (yyvsp[-2].ttype != error_mark_node)
6243 {
6244 pop_scope (CP_DECL_CONTEXT (yyvsp[-2].ttype));
6245 yyval.ttype = TREE_TYPE (yyvsp[-2].ttype);
6246 if (current_aggr == union_type_node
6247 && TREE_CODE (yyval.ttype) != UNION_TYPE)
6248 cp_pedwarn ("`union' tag used in declaring `%#T'", yyval.ttype);
6249 else if (TREE_CODE (yyval.ttype) == UNION_TYPE
6250 && current_aggr != union_type_node)
6251 cp_pedwarn ("non-`union' tag used in declaring `%#T'", yyval.ttype);
6252 else if (TREE_CODE (yyval.ttype) == RECORD_TYPE)
6253 /* We might be specializing a template with a different
6254 class-key; deal. */
6255 CLASSTYPE_DECLARED_CLASS (yyval.ttype) = (current_aggr
6256 == class_type_node);
6257 if (yyvsp[0].ttype)
6258 {
6259 maybe_process_partial_specialization (yyval.ttype);
6260 xref_basetypes (current_aggr, yyvsp[-2].ttype, yyval.ttype, yyvsp[0].ttype);
6261 }
6262 }
6263 ;
6264 break;}
6265 case 506:
6266 #line 2279 "parse.y"
6267 { yyval.ttype = xref_tag (yyval.ttype, make_anon_name (), 0);
6268 yyungetc ('{', 1); ;
6269 break;}
6270 case 509:
6271 #line 2290 "parse.y"
6272 { yyval.ttype = NULL_TREE; ;
6273 break;}
6274 case 510:
6275 #line 2292 "parse.y"
6276 { yyungetc(':', 1); yyval.ttype = NULL_TREE; ;
6277 break;}
6278 case 511:
6279 #line 2294 "parse.y"
6280 { yyval.ttype = yyvsp[0].ttype; ;
6281 break;}
6282 case 513:
6283 #line 2300 "parse.y"
6284 { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
6285 break;}
6286 case 514:
6287 #line 2305 "parse.y"
6288 { yyval.ttype = finish_base_specifier (access_default_node, yyvsp[0].ttype,
6289 current_aggr
6290 == signature_type_node); ;
6291 break;}
6292 case 515:
6293 #line 2309 "parse.y"
6294 { yyval.ttype = finish_base_specifier (yyvsp[-2].ttype, yyvsp[0].ttype,
6295 current_aggr
6296 == signature_type_node); ;
6297 break;}
6298 case 516:
6299 #line 2316 "parse.y"
6300 { if (yyval.ttype != error_mark_node) yyval.ttype = TYPE_MAIN_DECL (yyvsp[0].ttype); ;
6301 break;}
6302 case 518:
6303 #line 2319 "parse.y"
6304 {
6305 if (current_aggr == signature_type_node)
6306 {
6307 if (IS_AGGR_TYPE (TREE_TYPE (yyvsp[-1].ttype)))
6308 {
6309 sorry ("`sigof' as base signature specifier");
6310 yyval.ttype = TREE_TYPE (yyvsp[-1].ttype);
6311 }
6312 else
6313 {
6314 error ("`sigof' applied to non-aggregate expression");
6315 yyval.ttype = error_mark_node;
6316 }
6317 }
6318 else
6319 {
6320 error ("`sigof' in struct or class declaration");
6321 yyval.ttype = error_mark_node;
6322 }
6323 ;
6324 break;}
6325 case 519:
6326 #line 2340 "parse.y"
6327 {
6328 if (current_aggr == signature_type_node)
6329 {
6330 if (IS_AGGR_TYPE (groktypename (yyvsp[-1].ftype.t)))
6331 {
6332 sorry ("`sigof' as base signature specifier");
6333 yyval.ttype = groktypename (yyvsp[-1].ftype.t);
6334 }
6335 else
6336 {
6337 error ("`sigof' applied to non-aggregate expression");
6338 yyval.ttype = error_mark_node;
6339 }
6340 }
6341 else
6342 {
6343 error ("`sigof' in struct or class declaration");
6344 yyval.ttype = error_mark_node;
6345 }
6346 ;
6347 break;}
6348 case 521:
6349 #line 2365 "parse.y"
6350 { if (yyvsp[-1].ttype != ridpointers[(int)RID_VIRTUAL])
6351 cp_error ("`%D' access", yyvsp[-1].ttype);
6352 yyval.ttype = access_default_virtual_node; ;
6353 break;}
6354 case 522:
6355 #line 2369 "parse.y"
6356 {
6357 if (yyvsp[-2].ttype != access_default_virtual_node)
6358 error ("multiple access specifiers");
6359 else if (yyvsp[-1].ttype == access_public_node)
6360 yyval.ttype = access_public_virtual_node;
6361 else if (yyvsp[-1].ttype == access_protected_node)
6362 yyval.ttype = access_protected_virtual_node;
6363 else /* $2 == access_private_node */
6364 yyval.ttype = access_private_virtual_node;
6365 ;
6366 break;}
6367 case 523:
6368 #line 2380 "parse.y"
6369 { if (yyvsp[-1].ttype != ridpointers[(int)RID_VIRTUAL])
6370 cp_error ("`%D' access", yyvsp[-1].ttype);
6371 else if (yyval.ttype == access_public_node)
6372 yyval.ttype = access_public_virtual_node;
6373 else if (yyval.ttype == access_protected_node)
6374 yyval.ttype = access_protected_virtual_node;
6375 else if (yyval.ttype == access_private_node)
6376 yyval.ttype = access_private_virtual_node;
6377 else
6378 error ("multiple `virtual' specifiers");
6379 ;
6380 break;}
6381 case 524:
6382 #line 2395 "parse.y"
6383 { yyvsp[-1].ttype = begin_class_definition (yyvsp[-1].ttype); ;
6384 break;}
6385 case 529:
6386 #line 2406 "parse.y"
6387 {
6388 if (current_aggr == signature_type_node)
6389 {
6390 error ("access specifier not allowed in signature");
6391 yyvsp[-1].ttype = access_public_node;
6392 }
6393
6394 current_access_specifier = yyvsp[-1].ttype;
6395 ;
6396 break;}
6397 case 530:
6398 #line 2421 "parse.y"
6399 {
6400 finish_member_declaration (yyvsp[0].ttype);
6401 ;
6402 break;}
6403 case 531:
6404 #line 2425 "parse.y"
6405 {
6406 finish_member_declaration (yyvsp[0].ttype);
6407 ;
6408 break;}
6409 case 533:
6410 #line 2433 "parse.y"
6411 { error ("missing ';' before right brace");
6412 yyungetc ('}', 0); ;
6413 break;}
6414 case 534:
6415 #line 2438 "parse.y"
6416 { yyval.ttype = finish_method (yyval.ttype); ;
6417 break;}
6418 case 535:
6419 #line 2440 "parse.y"
6420 { yyval.ttype = finish_method (yyval.ttype); ;
6421 break;}
6422 case 536:
6423 #line 2442 "parse.y"
6424 { yyval.ttype = finish_method (yyval.ttype); ;
6425 break;}
6426 case 537:
6427 #line 2444 "parse.y"
6428 { yyval.ttype = finish_method (yyval.ttype); ;
6429 break;}
6430 case 538:
6431 #line 2446 "parse.y"
6432 { yyval.ttype = NULL_TREE; ;
6433 break;}
6434 case 539:
6435 #line 2448 "parse.y"
6436 { yyval.ttype = yyvsp[0].ttype;
6437 pedantic = yyvsp[-1].itype; ;
6438 break;}
6439 case 540:
6440 #line 2451 "parse.y"
6441 {
6442 if (yyvsp[0].ttype)
6443 yyval.ttype = finish_member_template_decl (yyvsp[0].ttype);
6444 else
6445 /* The component was already processed. */
6446 yyval.ttype = NULL_TREE;
6447
6448 finish_template_decl (yyvsp[-1].ttype);
6449 ;
6450 break;}
6451 case 541:
6452 #line 2461 "parse.y"
6453 {
6454 yyval.ttype = finish_member_class_template (yyvsp[-1].ftype.t);
6455 finish_template_decl (yyvsp[-2].ttype);
6456 ;
6457 break;}
6458 case 542:
6459 #line 2472 "parse.y"
6460 {
6461 /* Most of the productions for component_decl only
6462 allow the creation of one new member, so we call
6463 finish_member_declaration in component_decl_list.
6464 For this rule and the next, however, there can be
6465 more than one member, e.g.:
6466
6467 int i, j;
6468
6469 and we need the first member to be fully
6470 registered before the second is processed.
6471 Therefore, the rules for components take care of
6472 this processing. To avoid registering the
6473 components more than once, we send NULL_TREE up
6474 here; that lets finish_member_declaration now
6475 that there is nothing to do. */
6476 if (!yyvsp[0].itype)
6477 grok_x_components (yyvsp[-1].ftype.t);
6478 yyval.ttype = NULL_TREE;
6479 ;
6480 break;}
6481 case 543:
6482 #line 2493 "parse.y"
6483 {
6484 if (!yyvsp[0].itype)
6485 grok_x_components (yyvsp[-1].ttype);
6486 yyval.ttype = NULL_TREE;
6487 ;
6488 break;}
6489 case 544:
6490 #line 2499 "parse.y"
6491 { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
6492 build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
6493 break;}
6494 case 545:
6495 #line 2502 "parse.y"
6496 { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
6497 build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
6498 break;}
6499 case 546:
6500 #line 2505 "parse.y"
6501 { yyval.ttype = grokbitfield (NULL_TREE, NULL_TREE, yyvsp[0].ttype); ;
6502 break;}
6503 case 547:
6504 #line 2507 "parse.y"
6505 { yyval.ttype = NULL_TREE; ;
6506 break;}
6507 case 548:
6508 #line 2518 "parse.y"
6509 { tree specs, attrs;
6510 split_specs_attrs (yyvsp[-4].ttype, &specs, &attrs);
6511 yyval.ttype = grokfield (yyvsp[-3].ttype, specs, yyvsp[0].ttype, yyvsp[-2].ttype,
6512 build_tree_list (yyvsp[-1].ttype, attrs)); ;
6513 break;}
6514 case 549:
6515 #line 2523 "parse.y"
6516 { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
6517 build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
6518 break;}
6519 case 550:
6520 #line 2526 "parse.y"
6521 { yyval.ttype = do_class_using_decl (yyvsp[0].ttype); ;
6522 break;}
6523 case 551:
6524 #line 2532 "parse.y"
6525 { yyval.itype = 0; ;
6526 break;}
6527 case 552:
6528 #line 2534 "parse.y"
6529 {
6530 if (PROCESSING_REAL_TEMPLATE_DECL_P ())
6531 yyvsp[0].ttype = finish_member_template_decl (yyvsp[0].ttype);
6532 finish_member_declaration (yyvsp[0].ttype);
6533 yyval.itype = 1;
6534 ;
6535 break;}
6536 case 553:
6537 #line 2541 "parse.y"
6538 {
6539 check_multiple_declarators ();
6540 if (PROCESSING_REAL_TEMPLATE_DECL_P ())
6541 yyvsp[0].ttype = finish_member_template_decl (yyvsp[0].ttype);
6542 finish_member_declaration (yyvsp[0].ttype);
6543 yyval.itype = 2;
6544 ;
6545 break;}
6546 case 554:
6547 #line 2552 "parse.y"
6548 { yyval.itype = 0; ;
6549 break;}
6550 case 555:
6551 #line 2554 "parse.y"
6552 {
6553 if (PROCESSING_REAL_TEMPLATE_DECL_P ())
6554 yyvsp[0].ttype = finish_member_template_decl (yyvsp[0].ttype);
6555 finish_member_declaration (yyvsp[0].ttype);
6556 yyval.itype = 1;
6557 ;
6558 break;}
6559 case 556:
6560 #line 2561 "parse.y"
6561 {
6562 check_multiple_declarators ();
6563 if (PROCESSING_REAL_TEMPLATE_DECL_P ())
6564 yyvsp[0].ttype = finish_member_template_decl (yyvsp[0].ttype);
6565 finish_member_declaration (yyvsp[0].ttype);
6566 yyval.itype = 2;
6567 ;
6568 break;}
6569 case 561:
6570 #line 2582 "parse.y"
6571 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6572 &prefix_attributes);
6573 yyvsp[-4].ttype = current_declspecs;
6574 yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6575 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6576 break;}
6577 case 562:
6578 #line 2588 "parse.y"
6579 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6580 &prefix_attributes);
6581 yyvsp[-4].ttype = current_declspecs;
6582 yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6583 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6584 break;}
6585 case 563:
6586 #line 2597 "parse.y"
6587 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6588 &prefix_attributes);
6589 yyvsp[-4].ttype = current_declspecs;
6590 yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6591 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6592 break;}
6593 case 564:
6594 #line 2603 "parse.y"
6595 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6596 &prefix_attributes);
6597 yyvsp[-4].ttype = current_declspecs;
6598 yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6599 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6600 break;}
6601 case 565:
6602 #line 2609 "parse.y"
6603 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6604 &prefix_attributes);
6605 yyvsp[-4].ttype = current_declspecs;
6606 yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6607 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6608 break;}
6609 case 566:
6610 #line 2615 "parse.y"
6611 { split_specs_attrs (yyvsp[-3].ttype, &current_declspecs,
6612 &prefix_attributes);
6613 yyvsp[-3].ttype = current_declspecs;
6614 yyval.ttype = grokbitfield (NULL_TREE, current_declspecs, yyvsp[-1].ttype);
6615 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6616 break;}
6617 case 567:
6618 #line 2624 "parse.y"
6619 { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6620 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6621 break;}
6622 case 568:
6623 #line 2627 "parse.y"
6624 { yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6625 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6626 break;}
6627 case 569:
6628 #line 2633 "parse.y"
6629 { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6630 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6631 break;}
6632 case 570:
6633 #line 2636 "parse.y"
6634 { yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6635 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6636 break;}
6637 case 571:
6638 #line 2639 "parse.y"
6639 { yyval.ttype = grokbitfield (NULL_TREE, current_declspecs, yyvsp[-1].ttype);
6640 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6641 break;}
6642 case 573:
6643 #line 2650 "parse.y"
6644 { TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
6645 break;}
6646 case 574:
6647 #line 2655 "parse.y"
6648 { yyval.ttype = build_enumerator (yyval.ttype, NULL_TREE, current_enum_type); ;
6649 break;}
6650 case 575:
6651 #line 2657 "parse.y"
6652 { yyval.ttype = build_enumerator (yyval.ttype, yyvsp[0].ttype, current_enum_type); ;
6653 break;}
6654 case 576:
6655 #line 2663 "parse.y"
6656 { yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
6657 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
6658 break;}
6659 case 577:
6660 #line 2666 "parse.y"
6661 { yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE);
6662 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
6663 break;}
6664 case 578:
6665 #line 2673 "parse.y"
6666 {
6667 if (pedantic)
6668 pedwarn ("ANSI C++ forbids array dimensions with parenthesized type in new");
6669 yyval.ftype.t = build_parse_node (ARRAY_REF, TREE_VALUE (yyvsp[-4].ftype.t), yyvsp[-1].ttype);
6670 yyval.ftype.t = build_decl_list (TREE_PURPOSE (yyvsp[-4].ftype.t), yyval.ftype.t);
6671 yyval.ftype.new_type_flag = yyvsp[-4].ftype.new_type_flag;
6672 ;
6673 break;}
6674 case 579:
6675 #line 2684 "parse.y"
6676 { yyval.ttype = NULL_TREE; ;
6677 break;}
6678 case 580:
6679 #line 2686 "parse.y"
6680 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
6681 break;}
6682 case 581:
6683 #line 2691 "parse.y"
6684 { yyval.ftype.t = IDENTIFIER_AS_LIST (yyvsp[0].ttype);
6685 yyval.ftype.new_type_flag = 0; ;
6686 break;}
6687 case 582:
6688 #line 2694 "parse.y"
6689 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ftype.t);
6690 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
6691 break;}
6692 case 583:
6693 #line 2703 "parse.y"
6694 { yyval.itype = suspend_momentary (); ;
6695 break;}
6696 case 584:
6697 #line 2708 "parse.y"
6698 { resume_momentary ((int) yyvsp[-1].itype); yyval.ttype = yyvsp[0].ttype; ;
6699 break;}
6700 case 585:
6701 #line 2714 "parse.y"
6702 { resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = yyvsp[-1].ttype; ;
6703 break;}
6704 case 586:
6705 #line 2716 "parse.y"
6706 { resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = yyvsp[-1].ttype; ;
6707 break;}
6708 case 587:
6709 #line 2718 "parse.y"
6710 { resume_momentary ((int) yyvsp[-1].itype); yyval.ttype = empty_parms (); ;
6711 break;}
6712 case 588:
6713 #line 2720 "parse.y"
6714 { resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = NULL_TREE; ;
6715 break;}
6716 case 589:
6717 #line 2727 "parse.y"
6718 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6719 break;}
6720 case 590:
6721 #line 2729 "parse.y"
6722 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6723 break;}
6724 case 591:
6725 #line 2731 "parse.y"
6726 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
6727 break;}
6728 case 592:
6729 #line 2733 "parse.y"
6730 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
6731 break;}
6732 case 593:
6733 #line 2735 "parse.y"
6734 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
6735 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
6736 ;
6737 break;}
6738 case 595:
6739 #line 2743 "parse.y"
6740 {
6741 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6742 {
6743 yyval.ttype = lookup_name (yyvsp[0].ttype, 1);
6744 if (current_class_type
6745 && TYPE_BEING_DEFINED (current_class_type)
6746 && ! IDENTIFIER_CLASS_VALUE (yyvsp[0].ttype))
6747 {
6748 /* Remember that this name has been used in the class
6749 definition, as per [class.scope0] */
6750 pushdecl_class_level (yyval.ttype);
6751 }
6752 }
6753 else
6754 yyval.ttype = yyvsp[0].ttype;
6755 ;
6756 break;}
6757 case 596:
6758 #line 2760 "parse.y"
6759 {
6760 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6761 yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype);
6762 else
6763 yyval.ttype = yyvsp[0].ttype;
6764 got_scope = NULL_TREE;
6765 ;
6766 break;}
6767 case 599:
6768 #line 2773 "parse.y"
6769 { yyval.ttype = yyvsp[0].ttype; ;
6770 break;}
6771 case 600:
6772 #line 2778 "parse.y"
6773 { yyval.ttype = get_type_decl (yyvsp[0].ttype); ;
6774 break;}
6775 case 601:
6776 #line 2783 "parse.y"
6777 { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6778 break;}
6779 case 602:
6780 #line 2785 "parse.y"
6781 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
6782 break;}
6783 case 603:
6784 #line 2787 "parse.y"
6785 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
6786 break;}
6787 case 604:
6788 #line 2789 "parse.y"
6789 { yyval.ttype = yyvsp[-1].ttype; ;
6790 break;}
6791 case 605:
6792 #line 2791 "parse.y"
6793 { push_nested_class (yyvsp[-1].ttype, 3);
6794 yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype);
6795 TREE_COMPLEXITY (yyval.ttype) = current_class_depth; ;
6796 break;}
6797 case 608:
6798 #line 2803 "parse.y"
6799 {
6800 /* Provide support for '(' attributes '*' declarator ')'
6801 etc */
6802 yyval.ttype = decl_tree_cons (yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE);
6803 ;
6804 break;}
6805 case 609:
6806 #line 2812 "parse.y"
6807 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6808 break;}
6809 case 610:
6810 #line 2814 "parse.y"
6811 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6812 break;}
6813 case 611:
6814 #line 2816 "parse.y"
6815 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
6816 break;}
6817 case 612:
6818 #line 2818 "parse.y"
6819 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
6820 break;}
6821 case 613:
6822 #line 2820 "parse.y"
6823 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
6824 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
6825 ;
6826 break;}
6827 case 615:
6828 #line 2828 "parse.y"
6829 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6830 break;}
6831 case 616:
6832 #line 2830 "parse.y"
6833 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6834 break;}
6835 case 617:
6836 #line 2832 "parse.y"
6837 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
6838 break;}
6839 case 618:
6840 #line 2834 "parse.y"
6841 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
6842 break;}
6843 case 619:
6844 #line 2836 "parse.y"
6845 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
6846 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
6847 ;
6848 break;}
6849 case 621:
6850 #line 2844 "parse.y"
6851 { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6852 break;}
6853 case 622:
6854 #line 2846 "parse.y"
6855 { yyval.ttype = yyvsp[-1].ttype; ;
6856 break;}
6857 case 623:
6858 #line 2848 "parse.y"
6859 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
6860 break;}
6861 case 624:
6862 #line 2850 "parse.y"
6863 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
6864 break;}
6865 case 625:
6866 #line 2852 "parse.y"
6867 { enter_scope_of (yyvsp[0].ttype); ;
6868 break;}
6869 case 626:
6870 #line 2854 "parse.y"
6871 { got_scope = NULL_TREE;
6872 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype);
6873 enter_scope_of (yyval.ttype);
6874 ;
6875 break;}
6876 case 627:
6877 #line 2862 "parse.y"
6878 { got_scope = NULL_TREE;
6879 yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ;
6880 break;}
6881 case 628:
6882 #line 2865 "parse.y"
6883 { got_scope = NULL_TREE;
6884 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6885 break;}
6886 case 629:
6887 #line 2871 "parse.y"
6888 { got_scope = NULL_TREE;
6889 yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ;
6890 break;}
6891 case 630:
6892 #line 2874 "parse.y"
6893 { got_scope = NULL_TREE;
6894 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6895 break;}
6896 case 632:
6897 #line 2881 "parse.y"
6898 { yyval.ttype = yyvsp[0].ttype; ;
6899 break;}
6900 case 633:
6901 #line 2886 "parse.y"
6902 { yyval.ttype = build_functional_cast (yyvsp[-3].ftype.t, yyvsp[-1].ttype); ;
6903 break;}
6904 case 634:
6905 #line 2888 "parse.y"
6906 { yyval.ttype = reparse_decl_as_expr (yyvsp[-3].ftype.t, yyvsp[-1].ttype); ;
6907 break;}
6908 case 635:
6909 #line 2890 "parse.y"
6910 { yyval.ttype = reparse_absdcl_as_expr (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6911 break;}
6912 case 640:
6913 #line 2901 "parse.y"
6914 { yyval.ttype = yyvsp[0].ttype; ;
6915 break;}
6916 case 641:
6917 #line 2903 "parse.y"
6918 { got_scope = yyval.ttype = make_typename_type (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
6919 break;}
6920 case 642:
6921 #line 2910 "parse.y"
6922 {
6923 if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE)
6924 {
6925 yyval.ttype = lastiddecl;
6926 /* Remember that this name has been used in the class
6927 definition, as per [class.scope0] */
6928 if (current_class_type
6929 && TYPE_BEING_DEFINED (current_class_type)
6930 && ! IDENTIFIER_CLASS_VALUE (yyvsp[-1].ttype))
6931 pushdecl_class_level (yyval.ttype);
6932 }
6933 got_scope = yyval.ttype = TYPE_MAIN_VARIANT (TREE_TYPE (yyval.ttype));
6934 ;
6935 break;}
6936 case 643:
6937 #line 2924 "parse.y"
6938 {
6939 if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE)
6940 yyval.ttype = lastiddecl;
6941 got_scope = yyval.ttype = TREE_TYPE (yyval.ttype);
6942 ;
6943 break;}
6944 case 644:
6945 #line 2930 "parse.y"
6946 {
6947 if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
6948 yyval.ttype = lastiddecl;
6949 got_scope = yyval.ttype;
6950 ;
6951 break;}
6952 case 645:
6953 #line 2936 "parse.y"
6954 { got_scope = yyval.ttype = complete_type (TREE_TYPE (yyvsp[-1].ttype)); ;
6955 break;}
6956 case 647:
6957 #line 2952 "parse.y"
6958 { yyval.ttype = yyvsp[0].ttype; ;
6959 break;}
6960 case 648:
6961 #line 2957 "parse.y"
6962 {
6963 if (TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype)) == 't')
6964 yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype);
6965 else if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6966 cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
6967 else
6968 {
6969 yyval.ttype = yyvsp[0].ttype;
6970 if (TREE_CODE (yyval.ttype) == TYPE_DECL)
6971 yyval.ttype = TREE_TYPE (yyval.ttype);
6972 }
6973 ;
6974 break;}
6975 case 649:
6976 #line 2970 "parse.y"
6977 { yyval.ttype = TREE_TYPE (yyvsp[0].ttype); ;
6978 break;}
6979 case 650:
6980 #line 2972 "parse.y"
6981 { yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6982 break;}
6983 case 651:
6984 #line 2974 "parse.y"
6985 { yyval.ttype = make_typename_type (yyvsp[-2].ttype, yyvsp[0].ttype); ;
6986 break;}
6987 case 652:
6988 #line 2979 "parse.y"
6989 {
6990 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6991 cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
6992 ;
6993 break;}
6994 case 653:
6995 #line 2984 "parse.y"
6996 {
6997 if (TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype)) == 't')
6998 yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype);
6999 else if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
7000 cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
7001 else
7002 {
7003 yyval.ttype = yyvsp[0].ttype;
7004 if (TREE_CODE (yyval.ttype) == TYPE_DECL)
7005 yyval.ttype = TREE_TYPE (yyval.ttype);
7006 }
7007 ;
7008 break;}
7009 case 654:
7010 #line 2997 "parse.y"
7011 { got_scope = yyval.ttype = make_typename_type (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
7012 break;}
7013 case 655:
7014 #line 2999 "parse.y"
7015 { got_scope = yyval.ttype = make_typename_type (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
7016 break;}
7017 case 656:
7018 #line 3004 "parse.y"
7019 {
7020 if (TREE_CODE (yyvsp[-1].ttype) != IDENTIFIER_NODE)
7021 yyvsp[-1].ttype = lastiddecl;
7022
7023 /* Retrieve the type for the identifier, which might involve
7024 some computation. */
7025 got_scope = yyval.ttype = complete_type (IDENTIFIER_TYPE_VALUE (yyvsp[-1].ttype));
7026
7027 if (yyval.ttype == error_mark_node)
7028 cp_error ("`%T' is not a class or namespace", yyvsp[-1].ttype);
7029 ;
7030 break;}
7031 case 657:
7032 #line 3016 "parse.y"
7033 {
7034 if (TREE_CODE (yyvsp[-1].ttype) != IDENTIFIER_NODE)
7035 yyval.ttype = lastiddecl;
7036 got_scope = yyval.ttype = complete_type (TREE_TYPE (yyval.ttype));
7037 ;
7038 break;}
7039 case 658:
7040 #line 3022 "parse.y"
7041 { got_scope = yyval.ttype = complete_type (TREE_TYPE (yyval.ttype)); ;
7042 break;}
7043 case 661:
7044 #line 3026 "parse.y"
7045 {
7046 if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
7047 yyval.ttype = lastiddecl;
7048 got_scope = yyval.ttype;
7049 ;
7050 break;}
7051 case 662:
7052 #line 3035 "parse.y"
7053 { yyval.ttype = build_min_nt (TEMPLATE_ID_EXPR, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
7054 break;}
7055 case 663:
7056 #line 3040 "parse.y"
7057 {
7058 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
7059 yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype);
7060 else
7061 yyval.ttype = yyvsp[0].ttype;
7062 got_scope = NULL_TREE;
7063 ;
7064 break;}
7065 case 665:
7066 #line 3049 "parse.y"
7067 { yyval.ttype = yyvsp[0].ttype; ;
7068 break;}
7069 case 666:
7070 #line 3054 "parse.y"
7071 { got_scope = NULL_TREE; ;
7072 break;}
7073 case 667:
7074 #line 3056 "parse.y"
7075 { yyval.ttype = yyvsp[-1].ttype; got_scope = NULL_TREE; ;
7076 break;}
7077 case 668:
7078 #line 3063 "parse.y"
7079 { got_scope = void_type_node; ;
7080 break;}
7081 case 669:
7082 #line 3069 "parse.y"
7083 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
7084 break;}
7085 case 670:
7086 #line 3071 "parse.y"
7087 { yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ;
7088 break;}
7089 case 671:
7090 #line 3073 "parse.y"
7091 { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
7092 break;}
7093 case 672:
7094 #line 3075 "parse.y"
7095 { yyval.ttype = make_reference_declarator (yyvsp[0].ttype, NULL_TREE); ;
7096 break;}
7097 case 673:
7098 #line 3077 "parse.y"
7099 { tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE);
7100 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, arg);
7101 ;
7102 break;}
7103 case 674:
7104 #line 3081 "parse.y"
7105 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
7106 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
7107 ;
7108 break;}
7109 case 676:
7110 #line 3090 "parse.y"
7111 { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
7112 break;}
7113 case 677:
7114 #line 3092 "parse.y"
7115 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
7116 break;}
7117 case 678:
7118 #line 3098 "parse.y"
7119 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7120 break;}
7121 case 679:
7122 #line 3100 "parse.y"
7123 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
7124 break;}
7125 case 680:
7126 #line 3102 "parse.y"
7127 { yyval.ttype = make_pointer_declarator (yyvsp[0].ftype.t, NULL_TREE); ;
7128 break;}
7129 case 681:
7130 #line 3104 "parse.y"
7131 { yyval.ttype = make_pointer_declarator (NULL_TREE, NULL_TREE); ;
7132 break;}
7133 case 682:
7134 #line 3106 "parse.y"
7135 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7136 break;}
7137 case 683:
7138 #line 3108 "parse.y"
7139 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
7140 break;}
7141 case 684:
7142 #line 3110 "parse.y"
7143 { yyval.ttype = make_reference_declarator (yyvsp[0].ftype.t, NULL_TREE); ;
7144 break;}
7145 case 685:
7146 #line 3112 "parse.y"
7147 { yyval.ttype = make_reference_declarator (NULL_TREE, NULL_TREE); ;
7148 break;}
7149 case 686:
7150 #line 3114 "parse.y"
7151 { tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE);
7152 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, arg);
7153 ;
7154 break;}
7155 case 687:
7156 #line 3118 "parse.y"
7157 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
7158 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
7159 ;
7160 break;}
7161 case 689:
7162 #line 3127 "parse.y"
7163 { yyval.ttype = yyvsp[-1].ttype; ;
7164 break;}
7165 case 691:
7166 #line 3131 "parse.y"
7167 { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7168 break;}
7169 case 692:
7170 #line 3133 "parse.y"
7171 { yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
7172 break;}
7173 case 693:
7174 #line 3135 "parse.y"
7175 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
7176 break;}
7177 case 694:
7178 #line 3137 "parse.y"
7179 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
7180 break;}
7181 case 695:
7182 #line 3139 "parse.y"
7183 { yyval.ttype = make_call_declarator (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7184 break;}
7185 case 696:
7186 #line 3141 "parse.y"
7187 { set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7188 break;}
7189 case 697:
7190 #line 3143 "parse.y"
7191 { set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7192 break;}
7193 case 698:
7194 #line 3145 "parse.y"
7195 { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
7196 break;}
7197 case 699:
7198 #line 3147 "parse.y"
7199 { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, NULL_TREE); ;
7200 break;}
7201 case 706:
7202 #line 3170 "parse.y"
7203 { if (pedantic)
7204 pedwarn ("ANSI C++ forbids label declarations"); ;
7205 break;}
7206 case 709:
7207 #line 3181 "parse.y"
7208 { tree link;
7209 for (link = yyvsp[-1].ttype; link; link = TREE_CHAIN (link))
7210 {
7211 tree label = shadow_label (TREE_VALUE (link));
7212 C_DECLARED_LABEL_FLAG (label) = 1;
7213 declare_nonlocal_label (label);
7214 }
7215 ;
7216 break;}
7217 case 710:
7218 #line 3195 "parse.y"
7219 {;
7220 break;}
7221 case 712:
7222 #line 3201 "parse.y"
7223 { yyval.ttype = begin_compound_stmt (0); ;
7224 break;}
7225 case 713:
7226 #line 3203 "parse.y"
7227 { yyval.ttype = finish_compound_stmt (0, yyvsp[-1].ttype); ;
7228 break;}
7229 case 714:
7230 #line 3208 "parse.y"
7231 {
7232 yyval.ttype = begin_if_stmt ();
7233 cond_stmt_keyword = "if";
7234 ;
7235 break;}
7236 case 715:
7237 #line 3213 "parse.y"
7238 { finish_if_stmt_cond (yyvsp[0].ttype, yyvsp[-1].ttype); ;
7239 break;}
7240 case 716:
7241 #line 3215 "parse.y"
7242 { yyval.ttype = finish_then_clause (yyvsp[-3].ttype); ;
7243 break;}
7244 case 718:
7245 #line 3220 "parse.y"
7246 { yyval.ttype = begin_compound_stmt (0); ;
7247 break;}
7248 case 719:
7249 #line 3222 "parse.y"
7250 { yyval.ttype = finish_compound_stmt (0, yyvsp[-1].ttype); ;
7251 break;}
7252 case 720:
7253 #line 3227 "parse.y"
7254 {;
7255 break;}
7256 case 722:
7257 #line 3233 "parse.y"
7258 { finish_stmt (); ;
7259 break;}
7260 case 723:
7261 #line 3235 "parse.y"
7262 { finish_expr_stmt (yyvsp[-1].ttype); ;
7263 break;}
7264 case 724:
7265 #line 3237 "parse.y"
7266 { begin_else_clause (); ;
7267 break;}
7268 case 725:
7269 #line 3239 "parse.y"
7270 {
7271 finish_else_clause (yyvsp[-3].ttype);
7272 finish_if_stmt ();
7273 ;
7274 break;}
7275 case 726:
7276 #line 3244 "parse.y"
7277 { finish_if_stmt (); ;
7278 break;}
7279 case 727:
7280 #line 3246 "parse.y"
7281 {
7282 yyval.ttype = begin_while_stmt ();
7283 cond_stmt_keyword = "while";
7284 ;
7285 break;}
7286 case 728:
7287 #line 3251 "parse.y"
7288 { finish_while_stmt_cond (yyvsp[0].ttype, yyvsp[-1].ttype); ;
7289 break;}
7290 case 729:
7291 #line 3253 "parse.y"
7292 { finish_while_stmt (yyvsp[-3].ttype); ;
7293 break;}
7294 case 730:
7295 #line 3255 "parse.y"
7296 { yyval.ttype = begin_do_stmt (); ;
7297 break;}
7298 case 731:
7299 #line 3257 "parse.y"
7300 {
7301 finish_do_body (yyvsp[-2].ttype);
7302 cond_stmt_keyword = "do";
7303 ;
7304 break;}
7305 case 732:
7306 #line 3262 "parse.y"
7307 { finish_do_stmt (yyvsp[-1].ttype, yyvsp[-5].ttype); ;
7308 break;}
7309 case 733:
7310 #line 3264 "parse.y"
7311 { yyval.ttype = begin_for_stmt (); ;
7312 break;}
7313 case 734:
7314 #line 3266 "parse.y"
7315 { finish_for_init_stmt (yyvsp[-2].ttype); ;
7316 break;}
7317 case 735:
7318 #line 3268 "parse.y"
7319 { finish_for_cond (yyvsp[-1].ttype, yyvsp[-5].ttype); ;
7320 break;}
7321 case 736:
7322 #line 3270 "parse.y"
7323 { finish_for_expr (yyvsp[-1].ttype, yyvsp[-8].ttype); ;
7324 break;}
7325 case 737:
7326 #line 3272 "parse.y"
7327 { finish_for_stmt (yyvsp[-3].ttype, yyvsp[-10].ttype); ;
7328 break;}
7329 case 738:
7330 #line 3274 "parse.y"
7331 { begin_switch_stmt (); ;
7332 break;}
7333 case 739:
7334 #line 3276 "parse.y"
7335 { yyval.ttype = finish_switch_cond (yyvsp[-1].ttype); ;
7336 break;}
7337 case 740:
7338 #line 3278 "parse.y"
7339 { finish_switch_stmt (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
7340 break;}
7341 case 741:
7342 #line 3280 "parse.y"
7343 { finish_case_label (yyvsp[-1].ttype, NULL_TREE); ;
7344 break;}
7345 case 743:
7346 #line 3283 "parse.y"
7347 { finish_case_label (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
7348 break;}
7349 case 745:
7350 #line 3286 "parse.y"
7351 { finish_case_label (NULL_TREE, NULL_TREE); ;
7352 break;}
7353 case 747:
7354 #line 3289 "parse.y"
7355 { finish_break_stmt (); ;
7356 break;}
7357 case 748:
7358 #line 3291 "parse.y"
7359 { finish_continue_stmt (); ;
7360 break;}
7361 case 749:
7362 #line 3293 "parse.y"
7363 { finish_return_stmt (NULL_TREE); ;
7364 break;}
7365 case 750:
7366 #line 3295 "parse.y"
7367 { finish_return_stmt (yyvsp[-1].ttype); ;
7368 break;}
7369 case 751:
7370 #line 3297 "parse.y"
7371 {
7372 finish_asm_stmt (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE,
7373 NULL_TREE);
7374 ;
7375 break;}
7376 case 752:
7377 #line 3303 "parse.y"
7378 {
7379 finish_asm_stmt (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE,
7380 NULL_TREE);
7381 ;
7382 break;}
7383 case 753:
7384 #line 3309 "parse.y"
7385 { finish_asm_stmt (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE); ;
7386 break;}
7387 case 754:
7388 #line 3313 "parse.y"
7389 { finish_asm_stmt (yyvsp[-10].ttype, yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype); ;
7390 break;}
7391 case 755:
7392 #line 3315 "parse.y"
7393 {
7394 if (pedantic)
7395 pedwarn ("ANSI C++ forbids computed gotos");
7396 finish_goto_stmt (yyvsp[-1].ttype);
7397 ;
7398 break;}
7399 case 756:
7400 #line 3321 "parse.y"
7401 { finish_goto_stmt (yyvsp[-1].ttype); ;
7402 break;}
7403 case 757:
7404 #line 3323 "parse.y"
7405 { finish_stmt (); ;
7406 break;}
7407 case 758:
7408 #line 3325 "parse.y"
7409 { error ("label must be followed by statement");
7410 yyungetc ('}', 0);
7411 finish_stmt (); ;
7412 break;}
7413 case 759:
7414 #line 3329 "parse.y"
7415 { finish_stmt (); ;
7416 break;}
7417 case 762:
7418 #line 3333 "parse.y"
7419 { do_local_using_decl (yyvsp[0].ttype); ;
7420 break;}
7421 case 764:
7422 #line 3339 "parse.y"
7423 {
7424 if (! current_function_parms_stored)
7425 store_parm_decls ();
7426 expand_start_early_try_stmts ();
7427 ;
7428 break;}
7429 case 765:
7430 #line 3345 "parse.y"
7431 {
7432 expand_start_all_catch ();
7433 ;
7434 break;}
7435 case 766:
7436 #line 3349 "parse.y"
7437 {
7438 expand_end_all_catch ();
7439 yyval.itype = yyvsp[-3].itype;
7440 ;
7441 break;}
7442 case 767:
7443 #line 3357 "parse.y"
7444 { yyval.ttype = begin_try_block (); ;
7445 break;}
7446 case 768:
7447 #line 3359 "parse.y"
7448 { finish_try_block (yyvsp[-1].ttype); ;
7449 break;}
7450 case 769:
7451 #line 3361 "parse.y"
7452 { finish_handler_sequence (yyvsp[-3].ttype); ;
7453 break;}
7454 case 772:
7455 #line 3371 "parse.y"
7456 { yyval.ttype = begin_handler(); ;
7457 break;}
7458 case 773:
7459 #line 3373 "parse.y"
7460 { finish_handler_parms (yyvsp[-1].ttype); ;
7461 break;}
7462 case 774:
7463 #line 3375 "parse.y"
7464 { finish_handler (yyvsp[-3].ttype); ;
7465 break;}
7466 case 777:
7467 #line 3385 "parse.y"
7468 { expand_start_catch_block (NULL_TREE, NULL_TREE); ;
7469 break;}
7470 case 778:
7471 #line 3401 "parse.y"
7472 { check_for_new_type ("inside exception declarations", yyvsp[-1].ftype);
7473 expand_start_catch_block (TREE_PURPOSE (yyvsp[-1].ftype.t),
7474 TREE_VALUE (yyvsp[-1].ftype.t)); ;
7475 break;}
7476 case 779:
7477 #line 3408 "parse.y"
7478 { tree label;
7479 do_label:
7480 label = define_label (input_filename, lineno, yyvsp[-1].ttype);
7481 if (label && ! minimal_parse_mode)
7482 expand_label (label);
7483 ;
7484 break;}
7485 case 780:
7486 #line 3415 "parse.y"
7487 { goto do_label; ;
7488 break;}
7489 case 781:
7490 #line 3417 "parse.y"
7491 { goto do_label; ;
7492 break;}
7493 case 782:
7494 #line 3419 "parse.y"
7495 { goto do_label; ;
7496 break;}
7497 case 783:
7498 #line 3424 "parse.y"
7499 { if (yyvsp[-1].ttype) cplus_expand_expr_stmt (yyvsp[-1].ttype); ;
7500 break;}
7501 case 785:
7502 #line 3427 "parse.y"
7503 { if (pedantic)
7504 pedwarn ("ANSI C++ forbids compound statements inside for initializations");
7505 ;
7506 break;}
7507 case 786:
7508 #line 3436 "parse.y"
7509 { emit_line_note (input_filename, lineno);
7510 yyval.ttype = NULL_TREE; ;
7511 break;}
7512 case 787:
7513 #line 3439 "parse.y"
7514 { emit_line_note (input_filename, lineno); ;
7515 break;}
7516 case 788:
7517 #line 3444 "parse.y"
7518 { yyval.ttype = NULL_TREE; ;
7519 break;}
7520 case 790:
7521 #line 3447 "parse.y"
7522 { yyval.ttype = NULL_TREE; ;
7523 break;}
7524 case 791:
7525 #line 3454 "parse.y"
7526 { yyval.ttype = NULL_TREE; ;
7527 break;}
7528 case 794:
7529 #line 3461 "parse.y"
7530 { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
7531 break;}
7532 case 795:
7533 #line 3466 "parse.y"
7534 { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[-1].ttype); ;
7535 break;}
7536 case 796:
7537 #line 3471 "parse.y"
7538 { yyval.ttype = tree_cons (NULL_TREE, yyval.ttype, NULL_TREE); ;
7539 break;}
7540 case 797:
7541 #line 3473 "parse.y"
7542 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
7543 break;}
7544 case 798:
7545 #line 3484 "parse.y"
7546 {
7547 yyval.ttype = empty_parms();
7548 ;
7549 break;}
7550 case 800:
7551 #line 3489 "parse.y"
7552 { yyval.ttype = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[0].ftype.t), 0);
7553 check_for_new_type ("inside parameter list", yyvsp[0].ftype); ;
7554 break;}
7555 case 801:
7556 #line 3497 "parse.y"
7557 { yyval.ttype = finish_parmlist (yyval.ttype, 0); ;
7558 break;}
7559 case 802:
7560 #line 3499 "parse.y"
7561 { yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 1); ;
7562 break;}
7563 case 803:
7564 #line 3502 "parse.y"
7565 { yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 1); ;
7566 break;}
7567 case 804:
7568 #line 3504 "parse.y"
7569 { yyval.ttype = finish_parmlist (build_tree_list (NULL_TREE,
7570 yyvsp[-1].ftype.t), 1); ;
7571 break;}
7572 case 805:
7573 #line 3507 "parse.y"
7574 { yyval.ttype = finish_parmlist (NULL_TREE, 1); ;
7575 break;}
7576 case 806:
7577 #line 3509 "parse.y"
7578 {
7579 /* This helps us recover from really nasty
7580 parse errors, for example, a missing right
7581 parenthesis. */
7582 yyerror ("possibly missing ')'");
7583 yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 0);
7584 yyungetc (':', 0);
7585 yychar = ')';
7586 ;
7587 break;}
7588 case 807:
7589 #line 3519 "parse.y"
7590 {
7591 /* This helps us recover from really nasty
7592 parse errors, for example, a missing right
7593 parenthesis. */
7594 yyerror ("possibly missing ')'");
7595 yyval.ttype = finish_parmlist (build_tree_list (NULL_TREE,
7596 yyvsp[-1].ftype.t), 0);
7597 yyungetc (':', 0);
7598 yychar = ')';
7599 ;
7600 break;}
7601 case 808:
7602 #line 3534 "parse.y"
7603 { maybe_snarf_defarg (); ;
7604 break;}
7605 case 809:
7606 #line 3536 "parse.y"
7607 { yyval.ttype = yyvsp[0].ttype; ;
7608 break;}
7609 case 812:
7610 #line 3547 "parse.y"
7611 { check_for_new_type ("in a parameter list", yyvsp[0].ftype);
7612 yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ftype.t); ;
7613 break;}
7614 case 813:
7615 #line 3550 "parse.y"
7616 { check_for_new_type ("in a parameter list", yyvsp[-1].ftype);
7617 yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-1].ftype.t); ;
7618 break;}
7619 case 814:
7620 #line 3553 "parse.y"
7621 { check_for_new_type ("in a parameter list", yyvsp[0].ftype);
7622 yyval.ttype = chainon (yyval.ttype, yyvsp[0].ftype.t); ;
7623 break;}
7624 case 815:
7625 #line 3556 "parse.y"
7626 { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
7627 break;}
7628 case 816:
7629 #line 3558 "parse.y"
7630 { yyval.ttype = chainon (yyval.ttype, build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype)); ;
7631 break;}
7632 case 818:
7633 #line 3564 "parse.y"
7634 { check_for_new_type ("in a parameter list", yyvsp[-1].ftype);
7635 yyval.ttype = build_tree_list (NULL_TREE, yyvsp[-1].ftype.t); ;
7636 break;}
7637 case 819:
7638 #line 3574 "parse.y"
7639 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
7640 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag;
7641 yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype); ;
7642 break;}
7643 case 820:
7644 #line 3578 "parse.y"
7645 { yyval.ftype.t = build_tree_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
7646 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
7647 break;}
7648 case 821:
7649 #line 3581 "parse.y"
7650 { yyval.ftype.t = build_tree_list (get_decl_list (yyvsp[-1].ftype.t), yyvsp[0].ttype);
7651 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
7652 break;}
7653 case 822:
7654 #line 3584 "parse.y"
7655 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
7656 yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype);
7657 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
7658 break;}
7659 case 823:
7660 #line 3588 "parse.y"
7661 { tree specs = strip_attrs (yyvsp[0].ftype.t);
7662 yyval.ftype.t = build_tree_list (specs, NULL_TREE);
7663 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
7664 break;}
7665 case 824:
7666 #line 3592 "parse.y"
7667 { tree specs = strip_attrs (yyvsp[-1].ttype);
7668 yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype);
7669 yyval.ftype.new_type_flag = 0; ;
7670 break;}
7671 case 825:
7672 #line 3599 "parse.y"
7673 { yyval.ftype.t = build_tree_list (NULL_TREE, yyvsp[0].ftype.t);
7674 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
7675 break;}
7676 case 826:
7677 #line 3602 "parse.y"
7678 { yyval.ftype.t = build_tree_list (yyvsp[0].ttype, yyvsp[-1].ftype.t);
7679 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
7680 break;}
7681 case 829:
7682 #line 3613 "parse.y"
7683 { see_typename (); ;
7684 break;}
7685 case 830:
7686 #line 3618 "parse.y"
7687 {
7688 error ("type specifier omitted for parameter");
7689 yyval.ttype = build_tree_list (integer_type_node, NULL_TREE);
7690 ;
7691 break;}
7692 case 831:
7693 #line 3623 "parse.y"
7694 {
7695 error ("type specifier omitted for parameter");
7696 if (TREE_CODE (yyval.ttype) == SCOPE_REF
7697 && (TREE_CODE (TREE_OPERAND (yyval.ttype, 0)) == TEMPLATE_TYPE_PARM
7698 || TREE_CODE (TREE_OPERAND (yyval.ttype, 0)) == TEMPLATE_TEMPLATE_PARM))
7699 cp_error (" perhaps you want `typename %E' to make it a type", yyval.ttype);
7700 yyval.ttype = build_tree_list (integer_type_node, yyval.ttype);
7701 ;
7702 break;}
7703 case 832:
7704 #line 3635 "parse.y"
7705 { yyval.ttype = NULL_TREE; ;
7706 break;}
7707 case 833:
7708 #line 3637 "parse.y"
7709 { yyval.ttype = yyvsp[-1].ttype; ;
7710 break;}
7711 case 834:
7712 #line 3639 "parse.y"
7713 { yyval.ttype = build_decl_list (NULL_TREE, NULL_TREE); ;
7714 break;}
7715 case 835:
7716 #line 3644 "parse.y"
7717 { yyval.ttype = build_decl_list (NULL_TREE, groktypename(yyvsp[0].ftype.t)); ;
7718 break;}
7719 case 837:
7720 #line 3650 "parse.y"
7721 {
7722 TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype;
7723 yyval.ttype = yyvsp[0].ttype;
7724 ;
7725 break;}
7726 case 838:
7727 #line 3658 "parse.y"
7728 { yyval.ttype = NULL_TREE; ;
7729 break;}
7730 case 839:
7731 #line 3660 "parse.y"
7732 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
7733 break;}
7734 case 840:
7735 #line 3662 "parse.y"
7736 { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
7737 break;}
7738 case 841:
7739 #line 3664 "parse.y"
7740 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
7741 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
7742 ;
7743 break;}
7744 case 842:
7745 #line 3671 "parse.y"
7746 { got_scope = NULL_TREE; ;
7747 break;}
7748 case 843:
7749 #line 3676 "parse.y"
7750 { yyval.ttype = ansi_opname[MULT_EXPR]; ;
7751 break;}
7752 case 844:
7753 #line 3678 "parse.y"
7754 { yyval.ttype = ansi_opname[TRUNC_DIV_EXPR]; ;
7755 break;}
7756 case 845:
7757 #line 3680 "parse.y"
7758 { yyval.ttype = ansi_opname[TRUNC_MOD_EXPR]; ;
7759 break;}
7760 case 846:
7761 #line 3682 "parse.y"
7762 { yyval.ttype = ansi_opname[PLUS_EXPR]; ;
7763 break;}
7764 case 847:
7765 #line 3684 "parse.y"
7766 { yyval.ttype = ansi_opname[MINUS_EXPR]; ;
7767 break;}
7768 case 848:
7769 #line 3686 "parse.y"
7770 { yyval.ttype = ansi_opname[BIT_AND_EXPR]; ;
7771 break;}
7772 case 849:
7773 #line 3688 "parse.y"
7774 { yyval.ttype = ansi_opname[BIT_IOR_EXPR]; ;
7775 break;}
7776 case 850:
7777 #line 3690 "parse.y"
7778 { yyval.ttype = ansi_opname[BIT_XOR_EXPR]; ;
7779 break;}
7780 case 851:
7781 #line 3692 "parse.y"
7782 { yyval.ttype = ansi_opname[BIT_NOT_EXPR]; ;
7783 break;}
7784 case 852:
7785 #line 3694 "parse.y"
7786 { yyval.ttype = ansi_opname[COMPOUND_EXPR]; ;
7787 break;}
7788 case 853:
7789 #line 3696 "parse.y"
7790 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7791 break;}
7792 case 854:
7793 #line 3698 "parse.y"
7794 { yyval.ttype = ansi_opname[LT_EXPR]; ;
7795 break;}
7796 case 855:
7797 #line 3700 "parse.y"
7798 { yyval.ttype = ansi_opname[GT_EXPR]; ;
7799 break;}
7800 case 856:
7801 #line 3702 "parse.y"
7802 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7803 break;}
7804 case 857:
7805 #line 3704 "parse.y"
7806 { yyval.ttype = ansi_assopname[yyvsp[0].code]; ;
7807 break;}
7808 case 858:
7809 #line 3706 "parse.y"
7810 { yyval.ttype = ansi_opname [MODIFY_EXPR]; ;
7811 break;}
7812 case 859:
7813 #line 3708 "parse.y"
7814 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7815 break;}
7816 case 860:
7817 #line 3710 "parse.y"
7818 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7819 break;}
7820 case 861:
7821 #line 3712 "parse.y"
7822 { yyval.ttype = ansi_opname[POSTINCREMENT_EXPR]; ;
7823 break;}
7824 case 862:
7825 #line 3714 "parse.y"
7826 { yyval.ttype = ansi_opname[PREDECREMENT_EXPR]; ;
7827 break;}
7828 case 863:
7829 #line 3716 "parse.y"
7830 { yyval.ttype = ansi_opname[TRUTH_ANDIF_EXPR]; ;
7831 break;}
7832 case 864:
7833 #line 3718 "parse.y"
7834 { yyval.ttype = ansi_opname[TRUTH_ORIF_EXPR]; ;
7835 break;}
7836 case 865:
7837 #line 3720 "parse.y"
7838 { yyval.ttype = ansi_opname[TRUTH_NOT_EXPR]; ;
7839 break;}
7840 case 866:
7841 #line 3722 "parse.y"
7842 { yyval.ttype = ansi_opname[COND_EXPR]; ;
7843 break;}
7844 case 867:
7845 #line 3724 "parse.y"
7846 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7847 break;}
7848 case 868:
7849 #line 3726 "parse.y"
7850 { yyval.ttype = ansi_opname[COMPONENT_REF]; ;
7851 break;}
7852 case 869:
7853 #line 3728 "parse.y"
7854 { yyval.ttype = ansi_opname[MEMBER_REF]; ;
7855 break;}
7856 case 870:
7857 #line 3730 "parse.y"
7858 { yyval.ttype = ansi_opname[CALL_EXPR]; ;
7859 break;}
7860 case 871:
7861 #line 3732 "parse.y"
7862 { yyval.ttype = ansi_opname[ARRAY_REF]; ;
7863 break;}
7864 case 872:
7865 #line 3734 "parse.y"
7866 { yyval.ttype = ansi_opname[NEW_EXPR]; ;
7867 break;}
7868 case 873:
7869 #line 3736 "parse.y"
7870 { yyval.ttype = ansi_opname[DELETE_EXPR]; ;
7871 break;}
7872 case 874:
7873 #line 3738 "parse.y"
7874 { yyval.ttype = ansi_opname[VEC_NEW_EXPR]; ;
7875 break;}
7876 case 875:
7877 #line 3740 "parse.y"
7878 { yyval.ttype = ansi_opname[VEC_DELETE_EXPR]; ;
7879 break;}
7880 case 876:
7881 #line 3743 "parse.y"
7882 { yyval.ttype = grokoptypename (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7883 break;}
7884 case 877:
7885 #line 3745 "parse.y"
7886 { yyval.ttype = ansi_opname[ERROR_MARK]; ;
7887 break;}
7888 }
7889 /* the action file gets copied in in place of this dollarsign */
7890 #line 498 "/usr/local/gnu/share/bison.simple"
7891 \f
7892 yyvsp -= yylen;
7893 yyssp -= yylen;
7894 #ifdef YYLSP_NEEDED
7895 yylsp -= yylen;
7896 #endif
7897
7898 #if YYDEBUG != 0
7899 if (yydebug)
7900 {
7901 short *ssp1 = yyss - 1;
7902 fprintf (stderr, "state stack now");
7903 while (ssp1 != yyssp)
7904 fprintf (stderr, " %d", *++ssp1);
7905 fprintf (stderr, "\n");
7906 }
7907 #endif
7908
7909 *++yyvsp = yyval;
7910
7911 #ifdef YYLSP_NEEDED
7912 yylsp++;
7913 if (yylen == 0)
7914 {
7915 yylsp->first_line = yylloc.first_line;
7916 yylsp->first_column = yylloc.first_column;
7917 yylsp->last_line = (yylsp-1)->last_line;
7918 yylsp->last_column = (yylsp-1)->last_column;
7919 yylsp->text = 0;
7920 }
7921 else
7922 {
7923 yylsp->last_line = (yylsp+yylen-1)->last_line;
7924 yylsp->last_column = (yylsp+yylen-1)->last_column;
7925 }
7926 #endif
7927
7928 /* Now "shift" the result of the reduction.
7929 Determine what state that goes to,
7930 based on the state we popped back to
7931 and the rule number reduced by. */
7932
7933 yyn = yyr1[yyn];
7934
7935 yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
7936 if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
7937 yystate = yytable[yystate];
7938 else
7939 yystate = yydefgoto[yyn - YYNTBASE];
7940
7941 goto yynewstate;
7942
7943 yyerrlab: /* here on detecting error */
7944
7945 if (! yyerrstatus)
7946 /* If not already recovering from an error, report this error. */
7947 {
7948 ++yynerrs;
7949
7950 #ifdef YYERROR_VERBOSE
7951 yyn = yypact[yystate];
7952
7953 if (yyn > YYFLAG && yyn < YYLAST)
7954 {
7955 int size = 0;
7956 char *msg;
7957 int x, count;
7958
7959 count = 0;
7960 /* Start X at -yyn if nec to avoid negative indexes in yycheck. */
7961 for (x = (yyn < 0 ? -yyn : 0);
7962 x < (sizeof(yytname) / sizeof(char *)); x++)
7963 if (yycheck[x + yyn] == x)
7964 size += strlen(yytname[x]) + 15, count++;
7965 msg = (char *) malloc(size + 15);
7966 if (msg != 0)
7967 {
7968 strcpy(msg, "parse error");
7969
7970 if (count < 5)
7971 {
7972 count = 0;
7973 for (x = (yyn < 0 ? -yyn : 0);
7974 x < (sizeof(yytname) / sizeof(char *)); x++)
7975 if (yycheck[x + yyn] == x)
7976 {
7977 strcat(msg, count == 0 ? ", expecting `" : " or `");
7978 strcat(msg, yytname[x]);
7979 strcat(msg, "'");
7980 count++;
7981 }
7982 }
7983 yyerror(msg);
7984 free(msg);
7985 }
7986 else
7987 yyerror ("parse error; also virtual memory exceeded");
7988 }
7989 else
7990 #endif /* YYERROR_VERBOSE */
7991 yyerror("parse error");
7992 }
7993
7994 goto yyerrlab1;
7995 yyerrlab1: /* here on error raised explicitly by an action */
7996
7997 if (yyerrstatus == 3)
7998 {
7999 /* if just tried and failed to reuse lookahead token after an error, discard it. */
8000
8001 /* return failure if at end of input */
8002 if (yychar == YYEOF)
8003 YYABORT;
8004
8005 #if YYDEBUG != 0
8006 if (yydebug)
8007 fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
8008 #endif
8009
8010 yychar = YYEMPTY;
8011 }
8012
8013 /* Else will try to reuse lookahead token
8014 after shifting the error token. */
8015
8016 yyerrstatus = 3; /* Each real token shifted decrements this */
8017
8018 goto yyerrhandle;
8019
8020 yyerrdefault: /* current state does not do anything special for the error token. */
8021
8022 #if 0
8023 /* This is wrong; only states that explicitly want error tokens
8024 should shift them. */
8025 yyn = yydefact[yystate]; /* If its default is to accept any token, ok. Otherwise pop it.*/
8026 if (yyn) goto yydefault;
8027 #endif
8028
8029 yyerrpop: /* pop the current state because it cannot handle the error token */
8030
8031 if (yyssp == yyss) YYABORT;
8032 yyvsp--;
8033 yystate = *--yyssp;
8034 #ifdef YYLSP_NEEDED
8035 yylsp--;
8036 #endif
8037
8038 #if YYDEBUG != 0
8039 if (yydebug)
8040 {
8041 short *ssp1 = yyss - 1;
8042 fprintf (stderr, "Error: state stack now");
8043 while (ssp1 != yyssp)
8044 fprintf (stderr, " %d", *++ssp1);
8045 fprintf (stderr, "\n");
8046 }
8047 #endif
8048
8049 yyerrhandle:
8050
8051 yyn = yypact[yystate];
8052 if (yyn == YYFLAG)
8053 goto yyerrdefault;
8054
8055 yyn += YYTERROR;
8056 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
8057 goto yyerrdefault;
8058
8059 yyn = yytable[yyn];
8060 if (yyn < 0)
8061 {
8062 if (yyn == YYFLAG)
8063 goto yyerrpop;
8064 yyn = -yyn;
8065 goto yyreduce;
8066 }
8067 else if (yyn == 0)
8068 goto yyerrpop;
8069
8070 if (yyn == YYFINAL)
8071 YYACCEPT;
8072
8073 #if YYDEBUG != 0
8074 if (yydebug)
8075 fprintf(stderr, "Shifting error token, ");
8076 #endif
8077
8078 *++yyvsp = yylval;
8079 #ifdef YYLSP_NEEDED
8080 *++yylsp = yylloc;
8081 #endif
8082
8083 yystate = yyn;
8084 goto yynewstate;
8085 }
8086 #line 3748 "parse.y"
8087
8088
8089 #ifdef SPEW_DEBUG
8090 const char *
8091 debug_yytranslate (value)
8092 int value;
8093 {
8094 return yytname[YYTRANSLATE (value)];
8095 }
8096
8097 #endif