pt.c (check_template_shadow): New fn.
[gcc.git] / gcc / cp / parse.c
1
2 /* A Bison parser, made from parse.y
3 by GNU Bison version 1.25
4 */
5
6 #define YYBISON 1 /* Identify Bison output. */
7
8 #define IDENTIFIER 258
9 #define TYPENAME 259
10 #define SELFNAME 260
11 #define PFUNCNAME 261
12 #define SCSPEC 262
13 #define TYPESPEC 263
14 #define CV_QUALIFIER 264
15 #define CONSTANT 265
16 #define STRING 266
17 #define ELLIPSIS 267
18 #define SIZEOF 268
19 #define ENUM 269
20 #define IF 270
21 #define ELSE 271
22 #define WHILE 272
23 #define DO 273
24 #define FOR 274
25 #define SWITCH 275
26 #define CASE 276
27 #define DEFAULT 277
28 #define BREAK 278
29 #define CONTINUE 279
30 #define RETURN 280
31 #define GOTO 281
32 #define ASM_KEYWORD 282
33 #define TYPEOF 283
34 #define ALIGNOF 284
35 #define SIGOF 285
36 #define ATTRIBUTE 286
37 #define EXTENSION 287
38 #define LABEL 288
39 #define REALPART 289
40 #define IMAGPART 290
41 #define AGGR 291
42 #define VISSPEC 292
43 #define DELETE 293
44 #define NEW 294
45 #define THIS 295
46 #define OPERATOR 296
47 #define CXX_TRUE 297
48 #define CXX_FALSE 298
49 #define NAMESPACE 299
50 #define TYPENAME_KEYWORD 300
51 #define USING 301
52 #define LEFT_RIGHT 302
53 #define TEMPLATE 303
54 #define TYPEID 304
55 #define DYNAMIC_CAST 305
56 #define STATIC_CAST 306
57 #define REINTERPRET_CAST 307
58 #define CONST_CAST 308
59 #define SCOPE 309
60 #define EMPTY 310
61 #define PTYPENAME 311
62 #define NSNAME 312
63 #define THROW 313
64 #define ASSIGN 314
65 #define OROR 315
66 #define ANDAND 316
67 #define MIN_MAX 317
68 #define EQCOMPARE 318
69 #define ARITHCOMPARE 319
70 #define LSHIFT 320
71 #define RSHIFT 321
72 #define POINTSAT_STAR 322
73 #define DOT_STAR 323
74 #define UNARY 324
75 #define PLUSPLUS 325
76 #define MINUSMINUS 326
77 #define HYPERUNARY 327
78 #define PAREN_STAR_PAREN 328
79 #define POINTSAT 329
80 #define TRY 330
81 #define CATCH 331
82 #define PRE_PARSED_FUNCTION_DECL 332
83 #define EXTERN_LANG_STRING 333
84 #define ALL 334
85 #define PRE_PARSED_CLASS_DECL 335
86 #define DEFARG 336
87 #define DEFARG_MARKER 337
88 #define TYPENAME_DEFN 338
89 #define IDENTIFIER_DEFN 339
90 #define PTYPENAME_DEFN 340
91 #define END_OF_LINE 341
92 #define END_OF_SAVED_INPUT 342
93
94 #line 29 "parse.y"
95
96 /* Cause the `yydebug' variable to be defined. */
97 #define YYDEBUG 1
98
99 #include "config.h"
100
101 #include "system.h"
102
103 #include "tree.h"
104 #include "input.h"
105 #include "flags.h"
106 #include "lex.h"
107 #include "cp-tree.h"
108 #include "output.h"
109 #include "except.h"
110 #include "toplev.h"
111
112 /* Since parsers are distinct for each language, put the language string
113 definition here. (fnf) */
114 char *language_string = "GNU C++";
115
116 extern tree void_list_node;
117 extern struct obstack permanent_obstack;
118
119 extern int end_of_file;
120
121 /* Like YYERROR but do call yyerror. */
122 #define YYERROR1 { yyerror ("syntax error"); YYERROR; }
123
124 #define OP0(NODE) (TREE_OPERAND (NODE, 0))
125 #define OP1(NODE) (TREE_OPERAND (NODE, 1))
126
127 /* Contains the statement keyword (if/while/do) to include in an
128 error message if the user supplies an empty conditional expression. */
129 static char *cond_stmt_keyword;
130
131 static tree empty_parms PROTO((void));
132
133 /* Nonzero if we have an `extern "C"' acting as an extern specifier. */
134 int have_extern_spec;
135 int used_extern_spec;
136
137 /* Cons up an empty parameter list. */
138 #ifdef __GNUC__
139 __inline
140 #endif
141 static tree
142 empty_parms ()
143 {
144 tree parms;
145
146 if (strict_prototype
147 || current_class_type != NULL)
148 parms = void_list_node;
149 else
150 parms = NULL_TREE;
151 return parms;
152 }
153
154
155 #line 92 "parse.y"
156 typedef union {long itype; tree ttype; char *strtype; enum tree_code code; flagged_type_tree ftype; } YYSTYPE;
157 #line 284 "parse.y"
158
159 /* List of types and structure classes of the current declaration. */
160 static tree current_declspecs;
161
162 /* List of prefix attributes in effect.
163 Prefix attributes are parsed by the reserved_declspecs and declmods
164 rules. They create a list that contains *both* declspecs and attrs. */
165 /* ??? It is not clear yet that all cases where an attribute can now appear in
166 a declspec list have been updated. */
167 static tree prefix_attributes;
168
169 /* When defining an aggregate, this is the kind of the most recent one
170 being defined. (For example, this might be class_type_node.) */
171 static tree current_aggr;
172
173 /* When defining an enumeration, this is the type of the enumeration. */
174 static tree current_enum_type;
175
176 /* Tell yyparse how to print a token's value, if yydebug is set. */
177
178 #define YYPRINT(FILE,YYCHAR,YYLVAL) yyprint(FILE,YYCHAR,YYLVAL)
179 extern void yyprint PROTO((FILE *, int, YYSTYPE));
180 extern tree combine_strings PROTO((tree));
181
182 static int
183 parse_decl(declarator, specs_attrs, attributes, initialized, decl)
184 tree declarator;
185 tree specs_attrs;
186 tree attributes;
187 int initialized;
188 tree* decl;
189 {
190 int sm;
191
192 split_specs_attrs (specs_attrs, &current_declspecs, &prefix_attributes);
193 if (current_declspecs
194 && TREE_CODE (current_declspecs) != TREE_LIST)
195 current_declspecs = get_decl_list (current_declspecs);
196 if (have_extern_spec && !used_extern_spec)
197 {
198 current_declspecs = decl_tree_cons (NULL_TREE,
199 get_identifier ("extern"),
200 current_declspecs);
201 used_extern_spec = 1;
202 }
203 sm = suspend_momentary ();
204 *decl = start_decl (declarator, current_declspecs, initialized,
205 attributes, prefix_attributes);
206 return sm;
207 }
208 #include <stdio.h>
209
210 #ifndef __cplusplus
211 #ifndef __STDC__
212 #define const
213 #endif
214 #endif
215
216
217
218 #define YYFINAL 1630
219 #define YYFLAG -32768
220 #define YYNTBASE 112
221
222 #define YYTRANSLATE(x) ((unsigned)(x) <= 342 ? yytranslate[x] : 400)
223
224 static const char yytranslate[] = { 0,
225 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
226 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
227 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
228 2, 2, 110, 2, 2, 2, 82, 70, 2, 93,
229 108, 80, 78, 59, 79, 92, 81, 2, 2, 2,
230 2, 2, 2, 2, 2, 2, 2, 62, 60, 74,
231 64, 75, 65, 2, 2, 2, 2, 2, 2, 2,
232 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
233 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
234 94, 2, 111, 69, 2, 2, 2, 2, 2, 2,
235 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
236 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
237 2, 2, 58, 68, 109, 88, 2, 2, 2, 2,
238 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
239 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
240 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
241 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
242 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
243 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
244 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
245 2, 2, 2, 2, 2, 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, 1, 2, 3, 4, 5,
251 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
252 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
253 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
254 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
255 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
256 56, 57, 61, 63, 66, 67, 71, 72, 73, 76,
257 77, 83, 84, 85, 86, 87, 89, 90, 91, 95,
258 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
259 106, 107
260 };
261
262 #if YYDEBUG != 0
263 static const short yyprhs[] = { 0,
264 0, 1, 3, 4, 7, 10, 12, 13, 14, 15,
265 17, 19, 20, 23, 26, 28, 30, 36, 41, 47,
266 52, 53, 60, 61, 67, 69, 72, 74, 77, 78,
267 85, 88, 92, 96, 100, 104, 109, 110, 116, 119,
268 123, 125, 127, 130, 133, 135, 138, 139, 145, 149,
269 151, 155, 157, 158, 161, 164, 168, 170, 174, 176,
270 180, 182, 186, 189, 192, 195, 197, 199, 205, 210,
271 213, 216, 220, 224, 227, 230, 234, 238, 241, 244,
272 247, 250, 253, 255, 257, 259, 260, 262, 265, 266,
273 268, 273, 277, 281, 282, 291, 297, 298, 308, 315,
274 316, 325, 331, 332, 342, 349, 352, 355, 357, 360,
275 362, 369, 374, 381, 386, 389, 391, 394, 397, 399,
276 402, 404, 407, 410, 415, 418, 422, 423, 424, 426,
277 430, 433, 437, 439, 444, 447, 452, 455, 460, 463,
278 465, 467, 469, 471, 473, 475, 477, 479, 481, 483,
279 485, 486, 493, 494, 501, 502, 508, 509, 515, 516,
280 524, 525, 533, 534, 541, 542, 549, 550, 551, 557,
281 563, 565, 567, 573, 579, 580, 582, 584, 585, 587,
282 589, 593, 595, 597, 599, 601, 603, 605, 607, 609,
283 611, 613, 615, 619, 621, 625, 626, 628, 630, 631,
284 639, 641, 643, 647, 652, 656, 657, 661, 663, 667,
285 671, 675, 679, 681, 683, 685, 688, 691, 694, 697,
286 700, 703, 706, 711, 714, 719, 722, 726, 730, 735,
287 741, 748, 755, 763, 766, 771, 777, 780, 783, 785,
288 786, 791, 796, 800, 802, 806, 809, 813, 818, 820,
289 823, 829, 831, 835, 839, 843, 847, 851, 855, 859,
290 863, 867, 871, 875, 879, 883, 887, 891, 895, 899,
291 903, 907, 913, 917, 921, 923, 926, 930, 934, 936,
292 938, 940, 942, 944, 945, 951, 957, 963, 969, 975,
293 977, 979, 981, 983, 986, 988, 991, 994, 998, 1003,
294 1008, 1010, 1012, 1014, 1018, 1020, 1022, 1024, 1026, 1030,
295 1034, 1038, 1039, 1044, 1049, 1052, 1057, 1060, 1065, 1068,
296 1071, 1073, 1078, 1080, 1088, 1096, 1104, 1112, 1117, 1122,
297 1125, 1128, 1131, 1133, 1138, 1141, 1144, 1150, 1154, 1157,
298 1160, 1166, 1170, 1176, 1180, 1185, 1192, 1195, 1197, 1200,
299 1202, 1205, 1207, 1209, 1211, 1214, 1215, 1218, 1221, 1225,
300 1229, 1233, 1236, 1239, 1242, 1244, 1246, 1248, 1251, 1254,
301 1257, 1260, 1262, 1264, 1266, 1268, 1271, 1274, 1278, 1282,
302 1286, 1291, 1293, 1296, 1299, 1302, 1304, 1306, 1308, 1311,
303 1314, 1317, 1319, 1321, 1324, 1327, 1331, 1333, 1336, 1338,
304 1340, 1342, 1347, 1352, 1357, 1362, 1364, 1366, 1368, 1370,
305 1374, 1376, 1380, 1382, 1386, 1387, 1392, 1393, 1400, 1404,
306 1405, 1410, 1412, 1416, 1420, 1421, 1426, 1430, 1431, 1433,
307 1435, 1438, 1445, 1447, 1451, 1452, 1454, 1459, 1466, 1471,
308 1473, 1475, 1477, 1479, 1481, 1485, 1486, 1489, 1491, 1494,
309 1498, 1503, 1505, 1507, 1511, 1516, 1520, 1526, 1528, 1533,
310 1537, 1541, 1542, 1546, 1550, 1554, 1555, 1558, 1561, 1562,
311 1570, 1575, 1576, 1583, 1587, 1590, 1593, 1596, 1597, 1598,
312 1608, 1610, 1611, 1613, 1614, 1616, 1618, 1621, 1624, 1627,
313 1630, 1633, 1636, 1639, 1642, 1645, 1649, 1654, 1658, 1661,
314 1665, 1667, 1668, 1672, 1673, 1677, 1680, 1682, 1684, 1685,
315 1688, 1692, 1694, 1699, 1701, 1705, 1707, 1709, 1714, 1719,
316 1722, 1725, 1729, 1733, 1735, 1736, 1738, 1741, 1745, 1748,
317 1751, 1753, 1756, 1759, 1762, 1765, 1768, 1771, 1774, 1776,
318 1779, 1782, 1786, 1789, 1792, 1797, 1802, 1805, 1807, 1813,
319 1818, 1820, 1821, 1823, 1827, 1828, 1830, 1834, 1836, 1838,
320 1840, 1842, 1847, 1852, 1857, 1862, 1867, 1871, 1876, 1881,
321 1886, 1891, 1895, 1897, 1901, 1903, 1907, 1910, 1912, 1920,
322 1921, 1924, 1926, 1929, 1930, 1933, 1938, 1943, 1946, 1951,
323 1955, 1959, 1962, 1965, 1969, 1971, 1973, 1976, 1978, 1980,
324 1983, 1986, 1991, 1996, 2000, 2004, 2007, 2009, 2011, 2014,
325 2018, 2022, 2025, 2028, 2032, 2034, 2038, 2042, 2045, 2048,
326 2052, 2054, 2059, 2063, 2068, 2072, 2074, 2077, 2080, 2083,
327 2086, 2089, 2091, 2094, 2099, 2104, 2107, 2109, 2111, 2113,
328 2115, 2118, 2123, 2126, 2129, 2132, 2135, 2137, 2140, 2143,
329 2146, 2149, 2153, 2155, 2158, 2162, 2167, 2170, 2173, 2176,
330 2179, 2182, 2185, 2190, 2193, 2195, 2198, 2201, 2205, 2207,
331 2211, 2214, 2218, 2221, 2224, 2228, 2230, 2234, 2239, 2243,
332 2246, 2249, 2251, 2255, 2258, 2261, 2263, 2266, 2270, 2272,
333 2276, 2278, 2285, 2290, 2295, 2299, 2305, 2309, 2313, 2317,
334 2320, 2322, 2324, 2327, 2330, 2333, 2334, 2336, 2338, 2341,
335 2345, 2347, 2350, 2351, 2355, 2356, 2357, 2363, 2365, 2366,
336 2369, 2371, 2373, 2375, 2378, 2379, 2384, 2386, 2387, 2388,
337 2394, 2395, 2396, 2404, 2405, 2406, 2407, 2408, 2421, 2422,
338 2423, 2431, 2432, 2438, 2439, 2447, 2448, 2453, 2456, 2459,
339 2462, 2466, 2473, 2482, 2493, 2506, 2511, 2515, 2518, 2521,
340 2523, 2525, 2527, 2529, 2531, 2532, 2533, 2540, 2541, 2542,
341 2548, 2550, 2553, 2554, 2555, 2561, 2563, 2565, 2569, 2573,
342 2576, 2579, 2582, 2585, 2588, 2590, 2593, 2594, 2596, 2597,
343 2599, 2601, 2602, 2604, 2606, 2610, 2615, 2617, 2621, 2622,
344 2624, 2626, 2628, 2631, 2634, 2637, 2639, 2642, 2645, 2646,
345 2650, 2652, 2654, 2656, 2659, 2662, 2665, 2670, 2673, 2676,
346 2679, 2682, 2685, 2688, 2690, 2693, 2695, 2698, 2700, 2702,
347 2703, 2704, 2706, 2707, 2712, 2715, 2717, 2719, 2723, 2724,
348 2728, 2732, 2736, 2738, 2741, 2744, 2747, 2750, 2753, 2756,
349 2759, 2762, 2765, 2768, 2771, 2774, 2777, 2780, 2783, 2786,
350 2789, 2792, 2795, 2798, 2801, 2804, 2807, 2811, 2814, 2817,
351 2820, 2823, 2827, 2830, 2833, 2838, 2843, 2847
352 };
353
354 static const short yyrhs[] = { -1,
355 113, 0, 0, 114, 120, 0, 113, 120, 0, 113,
356 0, 0, 0, 0, 32, 0, 27, 0, 0, 121,
357 122, 0, 148, 147, 0, 144, 0, 141, 0, 119,
358 93, 219, 108, 60, 0, 133, 58, 115, 109, 0,
359 133, 116, 148, 117, 147, 0, 133, 116, 144, 117,
360 0, 0, 44, 163, 58, 123, 115, 109, 0, 0,
361 44, 58, 124, 115, 109, 0, 125, 0, 127, 60,
362 0, 129, 0, 118, 122, 0, 0, 44, 163, 64,
363 126, 132, 60, 0, 46, 314, 0, 46, 328, 314,
364 0, 46, 328, 209, 0, 46, 131, 163, 0, 46,
365 328, 163, 0, 46, 328, 131, 163, 0, 0, 46,
366 44, 130, 132, 60, 0, 57, 54, 0, 131, 57,
367 54, 0, 209, 0, 314, 0, 328, 314, 0, 328,
368 209, 0, 98, 0, 133, 98, 0, 0, 48, 74,
369 135, 136, 75, 0, 48, 74, 75, 0, 140, 0,
370 136, 59, 140, 0, 163, 0, 0, 268, 137, 0,
371 45, 137, 0, 134, 268, 137, 0, 138, 0, 138,
372 64, 225, 0, 391, 0, 391, 64, 204, 0, 139,
373 0, 139, 64, 184, 0, 134, 142, 0, 134, 1,
374 0, 148, 147, 0, 143, 0, 141, 0, 133, 116,
375 148, 117, 147, 0, 133, 116, 143, 117, 0, 118,
376 142, 0, 236, 60, 0, 229, 235, 60, 0, 226,
377 234, 60, 0, 261, 60, 0, 236, 60, 0, 229,
378 235, 60, 0, 226, 234, 60, 0, 229, 60, 0,
379 166, 60, 0, 226, 60, 0, 1, 60, 0, 1,
380 109, 0, 60, 0, 220, 0, 159, 0, 0, 158,
381 0, 158, 60, 0, 0, 107, 0, 154, 146, 145,
382 338, 0, 154, 146, 362, 0, 154, 146, 1, 0,
383 0, 319, 5, 93, 150, 382, 108, 300, 394, 0,
384 319, 5, 47, 300, 394, 0, 0, 328, 319, 5,
385 93, 151, 382, 108, 300, 394, 0, 328, 319, 5,
386 47, 300, 394, 0, 0, 319, 179, 93, 152, 382,
387 108, 300, 394, 0, 319, 179, 47, 300, 394, 0,
388 0, 328, 319, 179, 93, 153, 382, 108, 300, 394,
389 0, 328, 319, 179, 47, 300, 394, 0, 226, 223,
390 0, 229, 311, 0, 311, 0, 229, 149, 0, 149,
391 0, 5, 93, 382, 108, 300, 394, 0, 5, 47,
392 300, 394, 0, 179, 93, 382, 108, 300, 394, 0,
393 179, 47, 300, 394, 0, 229, 155, 0, 155, 0,
394 226, 223, 0, 229, 311, 0, 311, 0, 229, 149,
395 0, 149, 0, 25, 3, 0, 157, 253, 0, 157,
396 93, 196, 108, 0, 157, 47, 0, 62, 160, 161,
397 0, 0, 0, 162, 0, 161, 59, 162, 0, 161,
398 1, 0, 93, 196, 108, 0, 47, 0, 164, 93,
399 196, 108, 0, 164, 47, 0, 306, 93, 196, 108,
400 0, 306, 47, 0, 321, 93, 196, 108, 0, 321,
401 47, 0, 3, 0, 4, 0, 5, 0, 56, 0,
402 57, 0, 3, 0, 56, 0, 57, 0, 104, 0,
403 103, 0, 105, 0, 0, 48, 175, 232, 60, 167,
404 176, 0, 0, 48, 175, 226, 223, 168, 176, 0,
405 0, 48, 175, 311, 169, 176, 0, 0, 48, 175,
406 149, 170, 176, 0, 0, 7, 48, 175, 232, 60,
407 171, 176, 0, 0, 7, 48, 175, 226, 223, 172,
408 176, 0, 0, 7, 48, 175, 311, 173, 176, 0,
409 0, 7, 48, 175, 149, 174, 176, 0, 0, 0,
410 56, 74, 182, 181, 180, 0, 4, 74, 182, 181,
411 180, 0, 179, 0, 177, 0, 163, 74, 182, 75,
412 180, 0, 5, 74, 182, 181, 180, 0, 0, 75,
413 0, 77, 0, 0, 183, 0, 184, 0, 183, 59,
414 184, 0, 225, 0, 56, 0, 204, 0, 79, 0,
415 78, 0, 86, 0, 87, 0, 110, 0, 195, 0,
416 204, 0, 47, 0, 93, 186, 108, 0, 47, 0,
417 93, 190, 108, 0, 0, 190, 0, 1, 0, 0,
418 372, 223, 237, 246, 64, 191, 254, 0, 186, 0,
419 109, 0, 335, 333, 109, 0, 335, 333, 1, 109,
420 0, 335, 1, 109, 0, 0, 58, 194, 192, 0,
421 347, 0, 204, 59, 204, 0, 204, 59, 1, 0,
422 195, 59, 204, 0, 195, 59, 1, 0, 204, 0,
423 195, 0, 214, 0, 118, 203, 0, 80, 203, 0,
424 70, 203, 0, 88, 203, 0, 185, 203, 0, 67,
425 163, 0, 13, 197, 0, 13, 93, 225, 108, 0,
426 29, 197, 0, 29, 93, 225, 108, 0, 216, 299,
427 0, 216, 299, 201, 0, 216, 200, 299, 0, 216,
428 200, 299, 201, 0, 216, 93, 199, 225, 198, 0,
429 216, 93, 199, 225, 198, 201, 0, 216, 200, 93,
430 199, 225, 198, 0, 216, 200, 93, 199, 225, 198,
431 201, 0, 217, 203, 0, 217, 94, 111, 203, 0,
432 217, 94, 186, 111, 203, 0, 34, 203, 0, 35,
433 203, 0, 108, 0, 0, 93, 199, 196, 108, 0,
434 58, 199, 196, 109, 0, 93, 196, 108, 0, 47,
435 0, 93, 232, 108, 0, 64, 254, 0, 93, 225,
436 108, 0, 202, 93, 225, 108, 0, 197, 0, 202,
437 197, 0, 202, 58, 255, 266, 109, 0, 203, 0,
438 204, 83, 204, 0, 204, 84, 204, 0, 204, 78,
439 204, 0, 204, 79, 204, 0, 204, 80, 204, 0,
440 204, 81, 204, 0, 204, 82, 204, 0, 204, 76,
441 204, 0, 204, 77, 204, 0, 204, 73, 204, 0,
442 204, 74, 204, 0, 204, 75, 204, 0, 204, 72,
443 204, 0, 204, 71, 204, 0, 204, 70, 204, 0,
444 204, 68, 204, 0, 204, 69, 204, 0, 204, 67,
445 204, 0, 204, 66, 204, 0, 204, 65, 377, 62,
446 204, 0, 204, 64, 204, 0, 204, 63, 204, 0,
447 61, 0, 61, 204, 0, 88, 392, 163, 0, 88,
448 392, 177, 0, 207, 0, 399, 0, 3, 0, 56,
449 0, 57, 0, 0, 6, 74, 206, 182, 181, 0,
450 399, 74, 206, 182, 181, 0, 48, 163, 74, 182,
451 181, 0, 48, 6, 74, 182, 181, 0, 48, 399,
452 74, 182, 181, 0, 205, 0, 4, 0, 5, 0,
453 211, 0, 247, 211, 0, 205, 0, 80, 210, 0,
454 70, 210, 0, 93, 210, 108, 0, 3, 74, 182,
455 181, 0, 57, 74, 183, 181, 0, 313, 0, 205,
456 0, 212, 0, 93, 210, 108, 0, 205, 0, 10,
457 0, 218, 0, 219, 0, 93, 186, 108, 0, 93,
458 210, 108, 0, 93, 1, 108, 0, 0, 93, 215,
459 339, 108, 0, 205, 93, 196, 108, 0, 205, 47,
460 0, 214, 93, 196, 108, 0, 214, 47, 0, 214,
461 94, 186, 111, 0, 214, 86, 0, 214, 87, 0,
462 40, 0, 9, 93, 196, 108, 0, 317, 0, 50,
463 74, 225, 75, 93, 186, 108, 0, 51, 74, 225,
464 75, 93, 186, 108, 0, 52, 74, 225, 75, 93,
465 186, 108, 0, 53, 74, 225, 75, 93, 186, 108,
466 0, 49, 93, 186, 108, 0, 49, 93, 225, 108,
467 0, 328, 3, 0, 328, 207, 0, 328, 399, 0,
468 316, 0, 316, 93, 196, 108, 0, 316, 47, 0,
469 221, 208, 0, 221, 208, 93, 196, 108, 0, 221,
470 208, 47, 0, 221, 209, 0, 221, 316, 0, 221,
471 209, 93, 196, 108, 0, 221, 209, 47, 0, 221,
472 316, 93, 196, 108, 0, 221, 316, 47, 0, 221,
473 88, 8, 47, 0, 221, 8, 54, 88, 8, 47,
474 0, 221, 1, 0, 39, 0, 328, 39, 0, 38,
475 0, 328, 217, 0, 42, 0, 43, 0, 11, 0,
476 219, 11, 0, 0, 214, 92, 0, 214, 91, 0,
477 232, 234, 60, 0, 226, 234, 60, 0, 229, 235,
478 60, 0, 226, 60, 0, 229, 60, 0, 118, 222,
479 0, 305, 0, 311, 0, 47, 0, 224, 47, 0,
480 230, 331, 0, 301, 331, 0, 232, 331, 0, 230,
481 0, 301, 0, 230, 0, 227, 0, 229, 232, 0,
482 232, 228, 0, 232, 231, 228, 0, 229, 232, 228,
483 0, 229, 232, 231, 0, 229, 232, 231, 228, 0,
484 7, 0, 228, 233, 0, 228, 7, 0, 228, 247,
485 0, 247, 0, 301, 0, 7, 0, 229, 9, 0,
486 229, 7, 0, 229, 247, 0, 247, 0, 232, 0,
487 301, 232, 0, 232, 231, 0, 301, 232, 231, 0,
488 233, 0, 231, 233, 0, 261, 0, 8, 0, 307,
489 0, 28, 93, 186, 108, 0, 28, 93, 225, 108,
490 0, 30, 93, 186, 108, 0, 30, 93, 225, 108,
491 0, 8, 0, 9, 0, 261, 0, 242, 0, 234,
492 59, 238, 0, 243, 0, 235, 59, 238, 0, 244,
493 0, 236, 59, 238, 0, 0, 119, 93, 219, 108,
494 0, 0, 223, 237, 246, 64, 239, 254, 0, 223,
495 237, 246, 0, 0, 246, 64, 241, 254, 0, 246,
496 0, 223, 237, 240, 0, 311, 237, 240, 0, 0,
497 311, 237, 245, 240, 0, 149, 237, 246, 0, 0,
498 247, 0, 248, 0, 247, 248, 0, 31, 93, 93,
499 249, 108, 108, 0, 250, 0, 249, 59, 250, 0,
500 0, 251, 0, 251, 93, 3, 108, 0, 251, 93,
501 3, 59, 196, 108, 0, 251, 93, 196, 108, 0,
502 163, 0, 7, 0, 8, 0, 9, 0, 163, 0,
503 252, 59, 163, 0, 0, 64, 254, 0, 204, 0,
504 58, 109, 0, 58, 255, 109, 0, 58, 255, 59,
505 109, 0, 1, 0, 254, 0, 255, 59, 254, 0,
506 94, 204, 111, 254, 0, 163, 62, 254, 0, 255,
507 59, 163, 62, 254, 0, 97, 0, 256, 146, 145,
508 338, 0, 256, 146, 362, 0, 256, 146, 1, 0,
509 0, 258, 257, 147, 0, 102, 204, 107, 0, 102,
510 1, 107, 0, 0, 260, 259, 0, 260, 1, 0,
511 0, 14, 163, 58, 262, 297, 267, 109, 0, 14,
512 163, 58, 109, 0, 0, 14, 58, 263, 297, 267,
513 109, 0, 14, 58, 109, 0, 14, 163, 0, 14,
514 326, 0, 45, 321, 0, 0, 0, 276, 282, 284,
515 109, 246, 264, 260, 265, 258, 0, 276, 0, 0,
516 59, 0, 0, 59, 0, 36, 0, 268, 7, 0,
517 268, 8, 0, 268, 9, 0, 268, 36, 0, 268,
518 247, 0, 268, 163, 0, 268, 165, 0, 269, 58,
519 0, 269, 62, 0, 268, 319, 163, 0, 268, 328,
520 319, 163, 0, 268, 328, 163, 0, 268, 178, 0,
521 268, 319, 178, 0, 269, 0, 0, 270, 273, 277,
522 0, 0, 271, 274, 277, 0, 268, 58, 0, 275,
523 0, 272, 0, 0, 62, 392, 0, 62, 392, 278,
524 0, 279, 0, 278, 59, 392, 279, 0, 280, 0,
525 281, 392, 280, 0, 321, 0, 306, 0, 30, 93,
526 186, 108, 0, 30, 93, 225, 108, 0, 37, 392,
527 0, 7, 392, 0, 281, 37, 392, 0, 281, 7,
528 392, 0, 58, 0, 0, 283, 0, 283, 286, 0,
529 284, 285, 286, 0, 284, 285, 0, 37, 62, 0,
530 287, 0, 286, 287, 0, 288, 60, 0, 288, 109,
531 0, 156, 62, 0, 156, 95, 0, 156, 25, 0,
532 156, 58, 0, 60, 0, 118, 287, 0, 134, 287,
533 0, 134, 226, 60, 0, 226, 289, 0, 229, 290,
534 0, 311, 237, 246, 253, 0, 149, 237, 246, 253,
535 0, 62, 204, 0, 1, 0, 229, 155, 237, 246,
536 253, 0, 155, 237, 246, 253, 0, 127, 0, 0,
537 291, 0, 289, 59, 292, 0, 0, 294, 0, 290,
538 59, 296, 0, 293, 0, 294, 0, 295, 0, 296,
539 0, 305, 237, 246, 253, 0, 4, 62, 204, 246,
540 0, 311, 237, 246, 253, 0, 149, 237, 246, 253,
541 0, 3, 62, 204, 246, 0, 62, 204, 246, 0,
542 305, 237, 246, 253, 0, 4, 62, 204, 246, 0,
543 311, 237, 246, 253, 0, 3, 62, 204, 246, 0,
544 62, 204, 246, 0, 298, 0, 297, 59, 298, 0,
545 163, 0, 163, 64, 204, 0, 372, 329, 0, 372,
546 0, 93, 199, 225, 198, 94, 186, 111, 0, 0,
547 300, 9, 0, 9, 0, 301, 9, 0, 0, 302,
548 186, 0, 302, 93, 196, 108, 0, 302, 93, 382,
549 108, 0, 302, 47, 0, 302, 93, 1, 108, 0,
550 80, 301, 305, 0, 70, 301, 305, 0, 80, 305,
551 0, 70, 305, 0, 327, 300, 305, 0, 309, 0,
552 318, 0, 328, 318, 0, 306, 0, 308, 0, 328,
553 308, 0, 319, 318, 0, 309, 304, 300, 394, 0,
554 309, 94, 303, 111, 0, 309, 94, 111, 0, 93,
555 305, 108, 0, 319, 318, 0, 318, 0, 311, 0,
556 247, 311, 0, 80, 301, 310, 0, 70, 301, 310,
557 0, 80, 310, 0, 70, 310, 0, 327, 300, 310,
558 0, 213, 0, 80, 301, 310, 0, 70, 301, 310,
559 0, 80, 312, 0, 70, 312, 0, 327, 300, 310,
560 0, 313, 0, 213, 304, 300, 394, 0, 93, 312,
561 108, 0, 213, 94, 303, 111, 0, 213, 94, 111,
562 0, 315, 0, 319, 212, 0, 319, 209, 0, 319,
563 208, 0, 319, 205, 0, 319, 208, 0, 315, 0,
564 328, 315, 0, 232, 93, 196, 108, 0, 232, 93,
565 210, 108, 0, 232, 224, 0, 4, 0, 5, 0,
566 177, 0, 320, 0, 319, 320, 0, 319, 48, 325,
567 54, 0, 4, 54, 0, 5, 54, 0, 57, 54,
568 0, 177, 54, 0, 322, 0, 328, 322, 0, 323,
569 163, 0, 323, 177, 0, 323, 325, 0, 323, 48,
570 325, 0, 324, 0, 323, 324, 0, 323, 325, 54,
571 0, 323, 48, 325, 54, 0, 4, 54, 0, 5,
572 54, 0, 177, 54, 0, 56, 54, 0, 3, 54,
573 0, 57, 54, 0, 163, 74, 182, 181, 0, 328,
574 318, 0, 308, 0, 328, 308, 0, 319, 80, 0,
575 328, 319, 80, 0, 54, 0, 80, 300, 329, 0,
576 80, 300, 0, 70, 300, 329, 0, 70, 300, 0,
577 327, 300, 0, 327, 300, 329, 0, 330, 0, 94,
578 186, 111, 0, 330, 94, 303, 111, 0, 80, 301,
579 331, 0, 80, 331, 0, 80, 301, 0, 80, 0,
580 70, 301, 331, 0, 70, 331, 0, 70, 301, 0,
581 70, 0, 327, 300, 0, 327, 300, 331, 0, 332,
582 0, 93, 331, 108, 0, 90, 0, 332, 93, 382,
583 108, 300, 394, 0, 332, 47, 300, 394, 0, 332,
584 94, 303, 111, 0, 332, 94, 111, 0, 93, 383,
585 108, 300, 394, 0, 202, 300, 394, 0, 224, 300,
586 394, 0, 94, 303, 111, 0, 94, 111, 0, 346,
587 0, 334, 0, 333, 346, 0, 333, 334, 0, 1,
588 60, 0, 0, 336, 0, 337, 0, 336, 337, 0,
589 33, 252, 60, 0, 339, 0, 1, 339, 0, 0,
590 58, 340, 192, 0, 0, 0, 15, 342, 188, 343,
591 344, 0, 339, 0, 0, 345, 347, 0, 339, 0,
592 347, 0, 222, 0, 186, 60, 0, 0, 341, 16,
593 348, 344, 0, 341, 0, 0, 0, 17, 349, 188,
594 350, 193, 0, 0, 0, 18, 351, 344, 17, 352,
595 187, 60, 0, 0, 0, 0, 0, 19, 353, 93,
596 375, 354, 189, 60, 355, 377, 108, 356, 193, 0,
597 0, 0, 20, 357, 93, 190, 108, 358, 344, 0,
598 0, 21, 204, 62, 359, 346, 0, 0, 21, 204,
599 12, 204, 62, 360, 346, 0, 0, 22, 62, 361,
600 346, 0, 23, 60, 0, 24, 60, 0, 25, 60,
601 0, 25, 186, 60, 0, 119, 376, 93, 219, 108,
602 60, 0, 119, 376, 93, 219, 62, 378, 108, 60,
603 0, 119, 376, 93, 219, 62, 378, 62, 378, 108,
604 60, 0, 119, 376, 93, 219, 62, 378, 62, 378,
605 62, 381, 108, 60, 0, 26, 80, 186, 60, 0,
606 26, 163, 60, 0, 374, 346, 0, 374, 109, 0,
607 60, 0, 365, 0, 129, 0, 128, 0, 125, 0,
608 0, 0, 95, 363, 145, 339, 364, 368, 0, 0,
609 0, 95, 366, 339, 367, 368, 0, 369, 0, 368,
610 369, 0, 0, 0, 96, 370, 373, 371, 339, 0,
611 230, 0, 301, 0, 93, 12, 108, 0, 93, 391,
612 108, 0, 3, 62, 0, 56, 62, 0, 4, 62,
613 0, 5, 62, 0, 377, 60, 0, 222, 0, 58,
614 192, 0, 0, 9, 0, 0, 186, 0, 1, 0,
615 0, 379, 0, 380, 0, 379, 59, 380, 0, 11,
616 93, 186, 108, 0, 11, 0, 381, 59, 11, 0,
617 0, 383, 0, 225, 0, 387, 0, 388, 12, 0,
618 387, 12, 0, 225, 12, 0, 12, 0, 387, 62,
619 0, 225, 62, 0, 0, 64, 385, 386, 0, 101,
620 0, 254, 0, 389, 0, 391, 384, 0, 388, 390,
621 0, 388, 393, 0, 388, 393, 64, 254, 0, 387,
622 59, 0, 225, 59, 0, 227, 223, 0, 230, 223,
623 0, 232, 223, 0, 227, 331, 0, 227, 0, 229,
624 311, 0, 391, 0, 391, 384, 0, 389, 0, 225,
625 0, 0, 0, 311, 0, 0, 61, 93, 396, 108,
626 0, 61, 47, 0, 225, 0, 395, 0, 396, 59,
627 395, 0, 0, 80, 300, 397, 0, 70, 300, 397,
628 0, 327, 300, 397, 0, 41, 0, 398, 80, 0,
629 398, 81, 0, 398, 82, 0, 398, 78, 0, 398,
630 79, 0, 398, 70, 0, 398, 68, 0, 398, 69,
631 0, 398, 88, 0, 398, 59, 0, 398, 73, 0,
632 398, 74, 0, 398, 75, 0, 398, 72, 0, 398,
633 63, 0, 398, 64, 0, 398, 76, 0, 398, 77,
634 0, 398, 86, 0, 398, 87, 0, 398, 67, 0,
635 398, 66, 0, 398, 110, 0, 398, 65, 62, 0,
636 398, 71, 0, 398, 91, 0, 398, 83, 0, 398,
637 47, 0, 398, 94, 111, 0, 398, 39, 0, 398,
638 38, 0, 398, 39, 94, 111, 0, 398, 38, 94,
639 111, 0, 398, 372, 397, 0, 398, 1, 0
640 };
641
642 #endif
643
644 #if YYDEBUG != 0
645 static const short yyrline[] = { 0,
646 337, 339, 347, 350, 351, 355, 357, 360, 365, 369,
647 375, 379, 382, 386, 389, 391, 393, 396, 398, 401,
648 404, 406, 408, 410, 412, 413, 415, 416, 420, 423,
649 432, 435, 437, 441, 444, 446, 450, 453, 465, 472,
650 480, 482, 483, 485, 489, 492, 498, 501, 503, 508,
651 511, 515, 518, 521, 524, 528, 533, 543, 545, 547,
652 549, 551, 564, 567, 571, 574, 576, 578, 581, 584,
653 588, 590, 592, 594, 599, 601, 603, 605, 607, 608,
654 615, 616, 617, 620, 623, 627, 629, 630, 633, 635,
655 638, 641, 643, 647, 650, 652, 656, 658, 660, 664,
656 666, 668, 672, 674, 676, 682, 686, 689, 692, 695,
657 700, 703, 705, 707, 713, 725, 728, 733, 738, 741,
658 746, 751, 760, 763, 765, 769, 782, 802, 805, 807,
659 808, 811, 818, 824, 826, 828, 830, 832, 835, 840,
660 842, 843, 844, 845, 848, 850, 851, 854, 856, 857,
661 860, 865, 865, 869, 869, 872, 872, 875, 875, 879,
662 879, 884, 884, 887, 887, 890, 892, 895, 902, 906,
663 909, 912, 914, 918, 924, 933, 935, 943, 946, 949,
664 952, 956, 959, 961, 964, 967, 969, 971, 973, 977,
665 980, 983, 988, 992, 997, 1001, 1004, 1005, 1009, 1028,
666 1035, 1038, 1040, 1041, 1042, 1045, 1049, 1050, 1054, 1058,
667 1061, 1063, 1067, 1070, 1073, 1077, 1080, 1082, 1084, 1086,
668 1089, 1093, 1095, 1098, 1100, 1106, 1109, 1112, 1115, 1127,
669 1132, 1136, 1140, 1145, 1147, 1151, 1155, 1157, 1166, 1170,
670 1173, 1176, 1181, 1184, 1186, 1194, 1207, 1212, 1218, 1220,
671 1222, 1235, 1238, 1240, 1242, 1244, 1246, 1248, 1250, 1252,
672 1254, 1256, 1258, 1260, 1262, 1264, 1266, 1268, 1270, 1272,
673 1274, 1276, 1278, 1282, 1284, 1286, 1303, 1306, 1308, 1309,
674 1310, 1311, 1312, 1315, 1327, 1330, 1334, 1337, 1339, 1344,
675 1346, 1347, 1350, 1352, 1360, 1362, 1364, 1366, 1370, 1373,
676 1377, 1381, 1382, 1383, 1387, 1395, 1396, 1397, 1411, 1413,
677 1416, 1418, 1429, 1434, 1436, 1438, 1440, 1442, 1444, 1446,
678 1449, 1451, 1468, 1469, 1473, 1477, 1481, 1485, 1487, 1491,
679 1493, 1495, 1503, 1505, 1507, 1509, 1513, 1515, 1517, 1519,
680 1524, 1526, 1528, 1530, 1533, 1535, 1537, 1581, 1584, 1588,
681 1591, 1595, 1598, 1603, 1605, 1609, 1622, 1625, 1632, 1639,
682 1644, 1646, 1651, 1653, 1660, 1662, 1666, 1670, 1676, 1680,
683 1683, 1686, 1689, 1699, 1701, 1704, 1708, 1711, 1714, 1717,
684 1720, 1726, 1732, 1734, 1739, 1741, 1750, 1753, 1755, 1758,
685 1764, 1766, 1776, 1780, 1783, 1786, 1791, 1794, 1802, 1804,
686 1806, 1808, 1811, 1814, 1829, 1848, 1851, 1853, 1856, 1858,
687 1862, 1864, 1868, 1870, 1874, 1877, 1881, 1887, 1888, 1900,
688 1907, 1910, 1916, 1920, 1925, 1931, 1932, 1940, 1943, 1947,
689 1950, 1954, 1959, 1962, 1966, 1969, 1971, 1973, 1975, 1982,
690 1984, 1985, 1986, 1990, 1993, 1997, 2000, 2006, 2008, 2011,
691 2014, 2017, 2023, 2026, 2029, 2031, 2033, 2037, 2043, 2051,
692 2053, 2057, 2059, 2064, 2067, 2070, 2072, 2074, 2078, 2083,
693 2090, 2094, 2098, 2105, 2109, 2112, 2115, 2121, 2133, 2135,
694 2138, 2158, 2160, 2163, 2165, 2170, 2172, 2174, 2176, 2178,
695 2180, 2184, 2192, 2195, 2197, 2201, 2207, 2212, 2217, 2219,
696 2223, 2226, 2230, 2236, 2239, 2261, 2267, 2269, 2272, 2275,
697 2277, 2281, 2283, 2287, 2292, 2298, 2301, 2302, 2323, 2346,
698 2348, 2352, 2363, 2377, 2382, 2389, 2391, 2392, 2393, 2396,
699 2411, 2416, 2422, 2424, 2429, 2431, 2433, 2435, 2437, 2439,
700 2442, 2452, 2459, 2484, 2490, 2493, 2496, 2498, 2509, 2514,
701 2517, 2522, 2525, 2532, 2542, 2545, 2552, 2562, 2564, 2567,
702 2569, 2572, 2579, 2587, 2594, 2600, 2606, 2614, 2618, 2623,
703 2627, 2630, 2639, 2641, 2645, 2648, 2653, 2657, 2663, 2674,
704 2677, 2681, 2685, 2693, 2698, 2704, 2707, 2709, 2711, 2717,
705 2720, 2722, 2724, 2726, 2730, 2733, 2751, 2761, 2763, 2764,
706 2768, 2773, 2776, 2778, 2780, 2782, 2786, 2792, 2794, 2802,
707 2805, 2807, 2809, 2811, 2815, 2818, 2821, 2823, 2825, 2827,
708 2831, 2834, 2837, 2839, 2841, 2843, 2845, 2852, 2856, 2861,
709 2865, 2870, 2872, 2876, 2879, 2881, 2884, 2886, 2887, 2890,
710 2892, 2894, 2900, 2915, 2921, 2927, 2941, 2943, 2947, 2961,
711 2963, 2965, 2969, 2975, 2988, 2990, 2994, 3007, 3013, 3015,
712 3016, 3017, 3025, 3030, 3039, 3040, 3044, 3047, 3053, 3059,
713 3062, 3064, 3066, 3068, 3072, 3076, 3080, 3083, 3088, 3091,
714 3093, 3095, 3097, 3099, 3101, 3103, 3105, 3109, 3113, 3117,
715 3121, 3122, 3124, 3126, 3128, 3130, 3132, 3134, 3136, 3138,
716 3146, 3148, 3149, 3150, 3153, 3159, 3161, 3166, 3168, 3171,
717 3185, 3188, 3191, 3195, 3198, 3205, 3207, 3210, 3212, 3214,
718 3217, 3220, 3223, 3226, 3228, 3231, 3235, 3237, 3243, 3245,
719 3246, 3248, 3253, 3255, 3257, 3259, 3261, 3264, 3265, 3267,
720 3270, 3271, 3274, 3274, 3277, 3277, 3280, 3280, 3282, 3284,
721 3286, 3288, 3294, 3300, 3303, 3306, 3312, 3314, 3316, 3320,
722 3322, 3323, 3324, 3326, 3329, 3336, 3341, 3349, 3353, 3355,
723 3358, 3360, 3363, 3367, 3369, 3372, 3374, 3377, 3394, 3400,
724 3408, 3410, 3412, 3416, 3419, 3420, 3428, 3432, 3436, 3439,
725 3440, 3446, 3449, 3452, 3454, 3458, 3463, 3466, 3476, 3481,
726 3482, 3489, 3492, 3495, 3497, 3500, 3502, 3512, 3526, 3530,
727 3533, 3535, 3539, 3543, 3546, 3549, 3551, 3555, 3557, 3564,
728 3571, 3574, 3577, 3581, 3585, 3591, 3595, 3600, 3602, 3605,
729 3610, 3616, 3627, 3630, 3632, 3636, 3641, 3643, 3650, 3653,
730 3655, 3657, 3663, 3668, 3671, 3673, 3675, 3677, 3679, 3681,
731 3683, 3685, 3687, 3689, 3691, 3693, 3695, 3697, 3699, 3701,
732 3703, 3705, 3707, 3709, 3711, 3713, 3715, 3717, 3719, 3721,
733 3723, 3725, 3727, 3729, 3731, 3733, 3736, 3738
734 };
735 #endif
736
737
738 #if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
739
740 static const char * const yytname[] = { "$","error","$undefined.","IDENTIFIER",
741 "TYPENAME","SELFNAME","PFUNCNAME","SCSPEC","TYPESPEC","CV_QUALIFIER","CONSTANT",
742 "STRING","ELLIPSIS","SIZEOF","ENUM","IF","ELSE","WHILE","DO","FOR","SWITCH",
743 "CASE","DEFAULT","BREAK","CONTINUE","RETURN","GOTO","ASM_KEYWORD","TYPEOF","ALIGNOF",
744 "SIGOF","ATTRIBUTE","EXTENSION","LABEL","REALPART","IMAGPART","AGGR","VISSPEC",
745 "DELETE","NEW","THIS","OPERATOR","CXX_TRUE","CXX_FALSE","NAMESPACE","TYPENAME_KEYWORD",
746 "USING","LEFT_RIGHT","TEMPLATE","TYPEID","DYNAMIC_CAST","STATIC_CAST","REINTERPRET_CAST",
747 "CONST_CAST","SCOPE","EMPTY","PTYPENAME","NSNAME","'{'","','","';'","THROW",
748 "':'","ASSIGN","'='","'?'","OROR","ANDAND","'|'","'^'","'&'","MIN_MAX","EQCOMPARE",
749 "ARITHCOMPARE","'<'","'>'","LSHIFT","RSHIFT","'+'","'-'","'*'","'/'","'%'","POINTSAT_STAR",
750 "DOT_STAR","UNARY","PLUSPLUS","MINUSMINUS","'~'","HYPERUNARY","PAREN_STAR_PAREN",
751 "POINTSAT","'.'","'('","'['","TRY","CATCH","PRE_PARSED_FUNCTION_DECL","EXTERN_LANG_STRING",
752 "ALL","PRE_PARSED_CLASS_DECL","DEFARG","DEFARG_MARKER","TYPENAME_DEFN","IDENTIFIER_DEFN",
753 "PTYPENAME_DEFN","END_OF_LINE","END_OF_SAVED_INPUT","')'","'}'","'!'","']'",
754 "program","extdefs","@1","extdefs_opt",".hush_warning",".warning_ok","extension",
755 "asm_keyword","lang_extdef","@2","extdef","@3","@4","namespace_alias","@5","using_decl",
756 "namespace_using_decl","using_directive","@6","namespace_qualifier","any_id",
757 "extern_lang_string","template_header","@7","template_parm_list","maybe_identifier",
758 "template_type_parm","template_template_parm","template_parm","template_def",
759 "template_extdef","template_datadef","datadef","ctor_initializer_opt","maybe_return_init",
760 "eat_saved_input","fndef","constructor_declarator","@8","@9","@10","@11","fn.def1",
761 "component_constructor_declarator","fn.def2","return_id","return_init","base_init",
762 ".set_base_init","member_init_list","member_init","identifier","notype_identifier",
763 "identifier_defn","explicit_instantiation","@12","@13","@14","@15","@16","@17",
764 "@18","@19","begin_explicit_instantiation","end_explicit_instantiation","template_type",
765 "apparent_template_type","self_template_type",".finish_template_type","template_close_bracket",
766 "template_arg_list_opt","template_arg_list","template_arg","unop","expr","paren_expr_or_null",
767 "paren_cond_or_null","xcond","condition","@20","compstmtend","already_scoped_stmt",
768 "@21","nontrivial_exprlist","nonnull_exprlist","unary_expr",".finish_new_placement",
769 ".begin_new_placement","new_placement","new_initializer","regcast_or_absdcl",
770 "cast_expr","expr_no_commas","notype_unqualified_id","do_id","template_id","object_template_id",
771 "unqualified_id","expr_or_declarator_intern","expr_or_declarator","notype_template_declarator",
772 "direct_notype_declarator","primary","@22","new","delete","boolean.literal",
773 "string","nodecls","object","decl","declarator","fcast_or_absdcl","type_id",
774 "typed_declspecs","typed_declspecs1","reserved_declspecs","declmods","typed_typespecs",
775 "reserved_typespecquals","typespec","typespecqual_reserved","initdecls","notype_initdecls",
776 "nomods_initdecls","maybeasm","initdcl","@23","initdcl0_innards","@24","initdcl0",
777 "notype_initdcl0","nomods_initdcl0","@25","maybe_attribute","attributes","attribute",
778 "attribute_list","attrib","any_word","identifiers_or_typenames","maybe_init",
779 "init","initlist","fn.defpen","pending_inline","pending_inlines","defarg_again",
780 "pending_defargs","structsp","@26","@27","@28","@29","maybecomma","maybecomma_warn",
781 "aggr","named_class_head_sans_basetype","named_class_head_sans_basetype_defn",
782 "named_complex_class_head_sans_basetype","named_class_head","@30","@31","unnamed_class_head",
783 "class_head","maybe_base_class_list","base_class_list","base_class","base_class.1",
784 "base_class_access_list","left_curly","self_reference","opt.component_decl_list",
785 "access_specifier","component_decl_list","component_decl","component_decl_1",
786 "components","notype_components","component_declarator0","component_declarator",
787 "after_type_component_declarator0","notype_component_declarator0","after_type_component_declarator",
788 "notype_component_declarator","enumlist","enumerator","new_type_id","cv_qualifiers",
789 "nonempty_cv_qualifiers","suspend_mom","nonmomentary_expr","maybe_parmlist",
790 "after_type_declarator","nonnested_type","complete_type_name","nested_type",
791 "direct_after_type_declarator","notype_declarator_intern","notype_declarator",
792 "complex_notype_declarator","complex_direct_notype_declarator","qualified_id",
793 "notype_qualified_id","overqualified_id","functional_cast","type_name","nested_name_specifier",
794 "nested_name_specifier_1","typename_sub","typename_sub0","typename_sub1","typename_sub2",
795 "explicit_template_type","complex_type_name","ptr_to_mem","global_scope","new_declarator",
796 "direct_new_declarator","absdcl","direct_abstract_declarator","stmts","errstmt",
797 "maybe_label_decls","label_decls","label_decl","compstmt_or_error","compstmt",
798 "@32","simple_if","@33","@34","implicitly_scoped_stmt","@35","stmt","simple_stmt",
799 "@36","@37","@38","@39","@40","@41","@42","@43","@44","@45","@46","@47","@48",
800 "@49","function_try_block","@50","@51","try_block","@52","@53","handler_seq",
801 "handler","@54","@55","type_specifier_seq","handler_args","label_colon","for.init.statement",
802 "maybe_cv_qualifier","xexpr","asm_operands","nonnull_asm_operands","asm_operand",
803 "asm_clobbers","parmlist","complex_parmlist","defarg","@56","defarg1","parms",
804 "parms_comma","named_parm","full_parm","parm","see_typename","bad_parm","exception_specification_opt",
805 "ansi_raise_identifier","ansi_raise_identifiers","conversion_declarator","operator",
806 "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, 284, 284, 284, 284, 285,
864 286, 286, 287, 287, 287, 287, 287, 287, 287, 287,
865 287, 287, 288, 288, 288, 288, 288, 288, 288, 288,
866 288, 289, 289, 289, 290, 290, 290, 291, 291, 292,
867 292, 293, 293, 294, 294, 294, 294, 295, 295, 296,
868 296, 296, 297, 297, 298, 298, 299, 299, 299, 300,
869 300, 301, 301, 302, 303, 304, 304, 304, 304, 305,
870 305, 305, 305, 305, 305, 306, 306, 307, 307, 307,
871 308, 309, 309, 309, 309, 309, 309, 310, 310, 311,
872 311, 311, 311, 311, 311, 312, 312, 312, 312, 312,
873 312, 313, 313, 313, 313, 313, 313, 314, 314, 315,
874 315, 316, 316, 317, 317, 317, 318, 318, 318, 319,
875 319, 319, 320, 320, 320, 320, 321, 321, 322, 322,
876 322, 322, 323, 323, 323, 323, 324, 324, 324, 324,
877 324, 324, 325, 326, 326, 326, 327, 327, 328, 329,
878 329, 329, 329, 329, 329, 329, 330, 330, 331, 331,
879 331, 331, 331, 331, 331, 331, 331, 331, 331, 332,
880 332, 332, 332, 332, 332, 332, 332, 332, 332, 332,
881 333, 333, 333, 333, 334, 335, 335, 336, 336, 337,
882 338, 338, 340, 339, 342, 343, 341, 344, 345, 344,
883 346, 346, 347, 347, 348, 347, 347, 349, 350, 347,
884 351, 352, 347, 353, 354, 355, 356, 347, 357, 358,
885 347, 359, 347, 360, 347, 361, 347, 347, 347, 347,
886 347, 347, 347, 347, 347, 347, 347, 347, 347, 347,
887 347, 347, 347, 347, 363, 364, 362, 366, 367, 365,
888 368, 368, 370, 371, 369, 372, 372, 373, 373, 374,
889 374, 374, 374, 375, 375, 375, 376, 376, 377, 377,
890 377, 378, 378, 379, 379, 380, 381, 381, 382, 382,
891 382, 383, 383, 383, 383, 383, 383, 383, 385, 384,
892 386, 386, 387, 387, 387, 387, 387, 388, 388, 389,
893 389, 389, 389, 389, 389, 390, 390, 391, 391, 392,
894 393, 393, 394, 394, 394, 395, 396, 396, 397, 397,
895 397, 397, 398, 399, 399, 399, 399, 399, 399, 399,
896 399, 399, 399, 399, 399, 399, 399, 399, 399, 399,
897 399, 399, 399, 399, 399, 399, 399, 399, 399, 399,
898 399, 399, 399, 399, 399, 399, 399, 399
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, 2, 3, 2, 2,
955 1, 2, 2, 2, 2, 2, 2, 2, 1, 2,
956 2, 3, 2, 2, 4, 4, 2, 1, 5, 4,
957 1, 0, 1, 3, 0, 1, 3, 1, 1, 1,
958 1, 4, 4, 4, 4, 4, 3, 4, 4, 4,
959 4, 3, 1, 3, 1, 3, 2, 1, 7, 0,
960 2, 1, 2, 0, 2, 4, 4, 2, 4, 3,
961 3, 2, 2, 3, 1, 1, 2, 1, 1, 2,
962 2, 4, 4, 3, 3, 2, 1, 1, 2, 3,
963 3, 2, 2, 3, 1, 3, 3, 2, 2, 3,
964 1, 4, 3, 4, 3, 1, 2, 2, 2, 2,
965 2, 1, 2, 4, 4, 2, 1, 1, 1, 1,
966 2, 4, 2, 2, 2, 2, 1, 2, 2, 2,
967 2, 3, 1, 2, 3, 4, 2, 2, 2, 2,
968 2, 2, 4, 2, 1, 2, 2, 3, 1, 3,
969 2, 3, 2, 2, 3, 1, 3, 4, 3, 2,
970 2, 1, 3, 2, 2, 1, 2, 3, 1, 3,
971 1, 6, 4, 4, 3, 5, 3, 3, 3, 2,
972 1, 1, 2, 2, 2, 0, 1, 1, 2, 3,
973 1, 2, 0, 3, 0, 0, 5, 1, 0, 2,
974 1, 1, 1, 2, 0, 4, 1, 0, 0, 5,
975 0, 0, 7, 0, 0, 0, 0, 12, 0, 0,
976 7, 0, 5, 0, 7, 0, 4, 2, 2, 2,
977 3, 6, 8, 10, 12, 4, 3, 2, 2, 1,
978 1, 1, 1, 1, 0, 0, 6, 0, 0, 5,
979 1, 2, 0, 0, 5, 1, 1, 3, 3, 2,
980 2, 2, 2, 2, 1, 2, 0, 1, 0, 1,
981 1, 0, 1, 1, 3, 4, 1, 3, 0, 1,
982 1, 1, 2, 2, 2, 1, 2, 2, 0, 3,
983 1, 1, 1, 2, 2, 2, 4, 2, 2, 2,
984 2, 2, 2, 1, 2, 1, 2, 1, 1, 0,
985 0, 1, 0, 4, 2, 1, 1, 3, 0, 3,
986 3, 3, 1, 2, 2, 2, 2, 2, 2, 2,
987 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
988 2, 2, 2, 2, 2, 2, 3, 2, 2, 2,
989 2, 3, 2, 2, 4, 4, 3, 2
990 };
991
992 static const short yydefact[] = { 3,
993 12, 12, 5, 0, 4, 0, 281, 637, 638, 0,
994 388, 400, 582, 0, 11, 0, 0, 0, 10, 486,
995 843, 0, 0, 0, 167, 669, 282, 283, 83, 0,
996 0, 830, 0, 45, 0, 0, 13, 25, 0, 27,
997 8, 0, 16, 15, 89, 110, 86, 0, 639, 171,
998 302, 279, 303, 615, 0, 375, 0, 374, 393, 0,
999 413, 392, 430, 399, 0, 501, 502, 504, 508, 507,
1000 481, 387, 598, 401, 599, 108, 301, 626, 596, 0,
1001 640, 580, 0, 0, 280, 81, 82, 178, 643, 178,
1002 644, 178, 284, 167, 140, 141, 142, 143, 144, 472,
1003 475, 0, 665, 0, 476, 0, 0, 0, 0, 141,
1004 142, 143, 144, 23, 0, 0, 0, 0, 0, 0,
1005 0, 477, 647, 0, 653, 0, 0, 0, 37, 0,
1006 0, 31, 0, 0, 47, 0, 178, 645, 0, 0,
1007 0, 613, 608, 0, 0, 0, 612, 0, 0, 0,
1008 0, 302, 0, 293, 584, 0, 0, 301, 580, 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, 646, 584, 0,
1012 580, 80, 0, 0, 0, 106, 0, 409, 365, 595,
1013 366, 607, 0, 580, 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, 525, 583, 394, 0, 425, 638,
1018 0, 667, 171, 630, 631, 627, 601, 641, 0, 600,
1019 597, 0, 878, 874, 873, 871, 853, 858, 859, 0,
1020 865, 864, 850, 851, 849, 868, 857, 854, 855, 856,
1021 860, 861, 847, 848, 844, 845, 846, 870, 862, 863,
1022 852, 869, 0, 866, 776, 393, 777, 839, 284, 281,
1023 582, 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 632, 333, 323, 0, 0, 0, 0, 178, 0, 474,
1029 0, 469, 0, 666, 664, 0, 190, 191, 0, 0,
1030 0, 435, 3, 21, 29, 661, 657, 658, 660, 662,
1031 659, 140, 141, 142, 0, 143, 144, 649, 650, 654,
1032 651, 648, 0, 291, 292, 290, 629, 628, 33, 32,
1033 49, 0, 157, 0, 0, 393, 155, 0, 0, 609,
1034 611, 0, 610, 141, 142, 277, 278, 297, 0, 619,
1035 296, 0, 618, 0, 304, 282, 283, 0, 0, 0,
1036 295, 294, 623, 0, 0, 12, 0, 167, 9, 9,
1037 70, 0, 65, 0, 0, 71, 74, 0, 427, 429,
1038 122, 93, 127, 765, 0, 85, 84, 92, 125, 0,
1039 0, 123, 88, 625, 0, 0, 588, 0, 833, 0,
1040 593, 0, 592, 0, 0, 0, 0, 580, 428, 0,
1041 77, 584, 580, 606, 0, 379, 380, 0, 76, 428,
1042 384, 383, 385, 378, 398, 415, 414, 178, 496, 500,
1043 498, 0, 830, 503, 505, 0, 0, 396, 428, 580,
1044 94, 0, 0, 0, 0, 580, 100, 581, 614, 638,
1045 668, 171, 0, 0, 867, 872, 395, 580, 580, 0,
1046 580, 877, 178, 0, 0, 0, 222, 0, 0, 224,
1047 237, 238, 0, 0, 0, 0, 0, 276, 221, 218,
1048 217, 219, 0, 0, 0, 0, 0, 305, 0, 0,
1049 0, 216, 176, 177, 299, 0, 220, 0, 0, 250,
1050 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1051 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1052 0, 0, 315, 0, 317, 319, 320, 358, 357, 0,
1053 0, 240, 240, 0, 226, 578, 0, 234, 355, 347,
1054 0, 0, 830, 336, 339, 340, 0, 0, 367, 686,
1055 682, 691, 0, 584, 580, 580, 580, 369, 689, 0,
1056 636, 371, 0, 0, 370, 335, 0, 330, 349, 331,
1057 351, 633, 0, 332, 175, 175, 0, 165, 0, 393,
1058 163, 575, 484, 573, 471, 0, 0, 402, 0, 0,
1059 403, 404, 405, 441, 442, 443, 440, 0, 433, 436,
1060 0, 3, 0, 652, 178, 655, 0, 41, 42, 0,
1061 53, 0, 0, 57, 61, 50, 829, 824, 0, 372,
1062 393, 53, 373, 828, 59, 168, 153, 151, 168, 175,
1063 300, 617, 616, 304, 0, 620, 0, 18, 20, 89,
1064 9, 9, 73, 72, 0, 128, 356, 0, 713, 91,
1065 711, 452, 0, 448, 447, 214, 0, 213, 585, 624,
1066 0, 806, 0, 801, 393, 0, 800, 802, 831, 813,
1067 0, 0, 622, 591, 590, 0, 0, 605, 0, 423,
1068 422, 410, 604, 0, 833, 594, 381, 412, 424, 428,
1069 0, 497, 510, 548, 638, 0, 539, 0, 0, 551,
1070 0, 121, 116, 0, 171, 552, 555, 0, 531, 0,
1071 119, 0, 428, 0, 426, 833, 799, 178, 178, 642,
1072 178, 833, 799, 580, 97, 580, 103, 876, 875, 839,
1073 839, 839, 0, 0, 0, 0, 636, 0, 0, 0,
1074 0, 393, 0, 0, 0, 311, 0, 309, 310, 0,
1075 247, 181, 281, 637, 638, 282, 283, 0, 0, 453,
1076 482, 0, 274, 273, 791, 790, 0, 271, 270, 268,
1077 269, 267, 266, 265, 262, 263, 264, 260, 261, 255,
1078 256, 257, 258, 259, 253, 254, 0, 0, 0, 0,
1079 0, 240, 228, 244, 0, 0, 227, 580, 580, 0,
1080 580, 577, 676, 0, 0, 0, 0, 0, 338, 0,
1081 342, 0, 344, 0, 685, 684, 681, 680, 829, 0,
1082 0, 700, 0, 0, 833, 368, 833, 687, 580, 799,
1083 584, 686, 682, 0, 0, 580, 0, 392, 0, 0,
1084 0, 0, 170, 174, 285, 168, 161, 159, 168, 0,
1085 485, 0, 484, 212, 211, 210, 209, 435, 0, 0,
1086 24, 0, 0, 656, 0, 38, 44, 43, 55, 52,
1087 53, 0, 48, 0, 0, 686, 682, 0, 820, 580,
1088 823, 825, 0, 821, 822, 54, 492, 0, 158, 168,
1089 168, 156, 169, 298, 17, 19, 69, 89, 416, 145,
1090 637, 638, 133, 146, 147, 0, 126, 129, 0, 639,
1091 0, 0, 0, 0, 712, 706, 449, 0, 124, 589,
1092 586, 805, 819, 808, 0, 587, 804, 818, 807, 803,
1093 832, 815, 826, 816, 809, 814, 835, 0, 420, 603,
1094 602, 419, 175, 830, 0, 830, 511, 512, 514, 830,
1095 517, 516, 580, 799, 547, 540, 552, 541, 428, 428,
1096 537, 538, 535, 536, 580, 799, 281, 637, 0, 415,
1097 117, 543, 553, 558, 559, 415, 415, 0, 0, 415,
1098 115, 544, 556, 415, 532, 533, 534, 428, 530, 478,
1099 0, 96, 0, 0, 0, 0, 102, 0, 833, 799,
1100 833, 799, 841, 840, 842, 286, 322, 223, 225, 328,
1101 329, 0, 0, 0, 0, 310, 313, 0, 0, 0,
1102 0, 248, 0, 314, 316, 318, 0, 0, 0, 0,
1103 229, 246, 0, 0, 673, 671, 0, 674, 584, 235,
1104 0, 0, 178, 345, 0, 0, 0, 683, 679, 690,
1105 580, 699, 697, 698, 688, 833, 0, 695, 0, 634,
1106 635, 0, 334, 166, 168, 168, 164, 576, 574, 473,
1107 0, 434, 432, 281, 0, 22, 30, 663, 56, 51,
1108 58, 62, 685, 681, 686, 682, 0, 596, 0, 580,
1109 687, 60, 154, 152, 68, 0, 131, 0, 135, 0,
1110 137, 0, 139, 0, 766, 0, 202, 714, 0, 707,
1111 708, 0, 450, 686, 682, 0, 305, 0, 632, 827,
1112 0, 0, 836, 837, 0, 0, 417, 173, 521, 0,
1113 520, 830, 830, 830, 0, 833, 0, 542, 446, 446,
1114 833, 0, 0, 0, 428, 428, 0, 428, 428, 0,
1115 428, 0, 446, 466, 580, 288, 287, 289, 580, 99,
1116 0, 105, 0, 0, 0, 0, 0, 0, 456, 0,
1117 454, 251, 272, 242, 241, 239, 230, 0, 243, 245,
1118 672, 670, 677, 675, 0, 236, 0, 0, 337, 341,
1119 343, 833, 693, 580, 694, 162, 160, 470, 0, 437,
1120 439, 685, 681, 601, 687, 132, 130, 0, 0, 0,
1121 0, 444, 0, 0, 281, 637, 638, 715, 728, 731,
1122 734, 739, 0, 0, 0, 0, 0, 0, 0, 0,
1123 282, 760, 768, 0, 787, 764, 763, 762, 0, 723,
1124 0, 0, 393, 0, 702, 721, 727, 701, 722, 761,
1125 0, 709, 451, 0, 635, 817, 811, 812, 810, 0,
1126 834, 421, 0, 0, 0, 0, 523, 522, 515, 112,
1127 580, 546, 550, 114, 580, 428, 428, 567, 446, 281,
1128 637, 0, 554, 560, 561, 415, 415, 446, 446, 0,
1129 446, 557, 545, 0, 833, 833, 580, 580, 0, 0,
1130 0, 0, 455, 0, 0, 231, 232, 678, 346, 287,
1131 696, 833, 0, 134, 136, 138, 773, 767, 771, 0,
1132 710, 705, 205, 780, 782, 783, 0, 0, 719, 0,
1133 0, 0, 746, 748, 749, 750, 0, 0, 0, 0,
1134 0, 0, 0, 781, 0, 364, 788, 0, 724, 362,
1135 415, 0, 363, 0, 415, 0, 0, 0, 203, 704,
1136 703, 725, 759, 758, 310, 838, 418, 518, 519, 513,
1137 833, 833, 566, 563, 565, 0, 0, 428, 428, 428,
1138 562, 564, 549, 468, 0, 467, 462, 95, 101, 833,
1139 833, 324, 325, 326, 327, 457, 0, 233, 692, 438,
1140 0, 772, 445, 194, 0, 716, 729, 718, 0, 0,
1141 0, 0, 0, 742, 0, 751, 0, 757, 39, 144,
1142 34, 144, 0, 35, 769, 0, 360, 361, 0, 0,
1143 0, 359, 204, 719, 111, 113, 428, 428, 572, 446,
1144 446, 0, 0, 480, 98, 104, 579, 0, 774, 201,
1145 0, 393, 0, 719, 0, 732, 720, 706, 785, 735,
1146 0, 0, 0, 0, 747, 756, 40, 36, 0, 0,
1147 726, 571, 569, 568, 570, 465, 464, 458, 86, 89,
1148 0, 0, 0, 195, 415, 717, 206, 730, 208, 0,
1149 786, 0, 784, 740, 744, 743, 770, 792, 0, 0,
1150 463, 778, 779, 775, 428, 706, 192, 0, 0, 198,
1151 0, 197, 719, 0, 0, 0, 793, 794, 752, 461,
1152 0, 460, 0, 207, 0, 733, 736, 741, 745, 0,
1153 792, 0, 0, 459, 199, 193, 0, 0, 0, 753,
1154 795, 0, 0, 796, 0, 0, 200, 737, 797, 0,
1155 754, 0, 0, 0, 738, 798, 755, 0, 0, 0
1156 };
1157
1158 static const short yydefgoto[] = { 1628,
1159 436, 2, 437, 165, 709, 331, 181, 3, 4, 37,
1160 672, 373, 1306, 673, 770, 1307, 1308, 393, 1412, 677,
1161 41, 771, 402, 683, 939, 684, 685, 686, 43, 172,
1162 173, 44, 455, 184, 180, 45, 46, 787, 1070, 793,
1163 1072, 47, 773, 774, 185, 186, 456, 716, 977, 978,
1164 652, 979, 234, 48, 961, 960, 699, 696, 1136, 1135,
1165 919, 916, 136, 959, 49, 236, 50, 913, 565, 332,
1166 333, 334, 335, 1309, 1579, 1476, 1581, 1521, 1612, 1178,
1167 1558, 1576, 367, 905, 336, 1247, 860, 604, 867, 337,
1168 338, 368, 340, 358, 52, 255, 678, 418, 154, 53,
1169 54, 341, 560, 342, 343, 344, 345, 457, 346, 1310,
1170 496, 626, 347, 1311, 56, 217, 689, 348, 218, 538,
1171 219, 197, 210, 60, 479, 497, 1333, 750, 1196, 198,
1172 211, 61, 509, 751, 62, 63, 668, 669, 670, 1283,
1173 462, 830, 831, 1549, 1550, 1514, 1456, 1364, 64, 656,
1174 361, 1224, 1457, 1091, 922, 65, 66, 67, 68, 69,
1175 242, 243, 70, 71, 504, 1017, 1018, 1019, 1020, 245,
1176 506, 507, 784, 778, 779, 780, 1042, 1052, 1043, 1353,
1177 1044, 1045, 1354, 1355, 653, 654, 605, 895, 350, 465,
1178 466, 191, 199, 73, 74, 75, 200, 142, 143, 157,
1179 77, 132, 351, 352, 353, 79, 354, 81, 1022, 123,
1180 124, 125, 514, 105, 82, 355, 872, 873, 890, 629,
1181 1314, 1315, 1179, 1180, 1181, 720, 1316, 986, 1317, 1397,
1182 1524, 1479, 1480, 1318, 1319, 1504, 1398, 1525, 1399, 1560,
1183 1400, 1562, 1607, 1622, 1401, 1583, 1534, 1584, 1485, 458,
1184 717, 1281, 1320, 1415, 1539, 1388, 1389, 1471, 1553, 1523,
1185 1519, 1321, 1530, 1418, 837, 1586, 1587, 1588, 1620, 736,
1186 737, 1006, 1192, 1329, 738, 739, 740, 1002, 741, 148,
1187 1004, 743, 1194, 1195, 532, 84, 85
1188 };
1189
1190 static const short yypact[] = { 113,
1191 134,-32768,-32768, 10501,-32768, 45, 86, 454, 528, 151,
1192 179,-32768,-32768, 625,-32768, 162, 167, 199,-32768,-32768,
1193 -32768, 1379, 744, 462, 231,-32768, 246, 543,-32768, 1936,
1194 1936,-32768, 2838,-32768, 10501, 281,-32768,-32768, 332,-32768,
1195 250, 10579,-32768,-32768, 270, 939, 377, 391, 420,-32768,
1196 -32768,-32768,-32768, 406, 3929,-32768, 10820,-32768, 1921, 529,
1197 -32768, 460,-32768,-32768, 1389, 411,-32768,-32768,-32768,-32768,
1198 440, 2961,-32768,-32768,-32768, 921,-32768,-32768,-32768, 617,
1199 -32768,-32768, 362, 8032, 431,-32768,-32768, 9567,-32768, 9567,
1200 -32768, 9567,-32768,-32768,-32768, 454, 528, 246, 470, 452,
1201 469, 420,-32768, 366,-32768, 362, 9653, 9653, 517,-32768,
1202 -32768,-32768,-32768,-32768, 675, 570, 544, 557, 585, 587,
1203 618,-32768,-32768, 1050,-32768, 1205, 454, 528,-32768, 246,
1204 470,-32768, 1385, 1043, 611, 11006, 9567,-32768, 9567, 3466,
1205 2560,-32768,-32768, 688, 874, 2560,-32768, 1242, 3626, 3626,
1206 2838, 554, 601,-32768, 533, 930, 630, 632,-32768,-32768,
1207 747,-32768, 586,-32768, 10706,-32768,-32768, 231, 5117, 666,
1208 -32768,-32768,-32768, 270, 4845, 11061, 776, 715,-32768,-32768,
1209 716, 460, 778, 156, 344, 753,-32768,-32768, 706, 65,
1210 -32768,-32768, 4597, 4597, 4660, 921, 832,-32768,-32768, 501,
1211 -32768,-32768, 1098,-32768,-32768,-32768,-32768,-32768, 1921, 865,
1212 -32768, 460, 921,-32768,-32768,-32768, 2025, 1921,-32768, 460,
1213 -32768, 4845,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1214 -32768,-32768, 768,-32768, 420,-32768, 460, 1592, 1265,-32768,
1215 -32768, 785, 785,-32768,-32768,-32768, 541, 362,-32768, 339,
1216 898,-32768, 201,-32768,-32768,-32768,-32768,-32768, 5823,-32768,
1217 -32768, 722,-32768, 760, 774,-32768,-32768,-32768,-32768, 808,
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, 770,-32768,-32768, 541, 2961, 889,-32768,-32768,
1221 781,-32768,-32768, 10261, 10347, 10433, 10433,-32768,-32768,-32768,
1222 -32768,-32768, 791, 824, 834, 836, 839, 984, 470, 9739,
1223 1344, 10433,-32768,-32768, 10433,-32768,-32768, 10433, 7140,-32768,
1224 10433, 783, 847,-32768, 10433,-32768, 9825,-32768, 11306, 207,
1225 735, 2906, 9911,-32768, 909, 1677,-32768, 1035, 2216, 2707,
1226 -32768, 341,-32768, 1619, 1893, 783, 783, 9567, 11006,-32768,
1227 1344, 820, 1344,-32768,-32768, 829, 873, 11239, 845, 850,
1228 857, 1404, 586,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1229 -32768, 570, 544, 557, 1344, 585, 587, 868, 618,-32768,
1230 920,-32768, 2238, 454, 528,-32768,-32768,-32768,-32768,-32768,
1231 -32768, 4577,-32768, 4845, 4782, 1152,-32768, 783, 437,-32768,
1232 -32768, 807,-32768, 908, 914,-32768,-32768,-32768, 2560,-32768,
1233 -32768, 2560,-32768, 882,-32768,-32768,-32768, 930, 930, 930,
1234 -32768,-32768,-32768, 5823, 91, 883, 894,-32768,-32768,-32768,
1235 -32768, 11006,-32768, 962, 1003,-32768,-32768, 747,-32768, 460,
1236 -32768,-32768,-32768,-32768, 140,-32768,-32768,-32768,-32768, 7692,
1237 9739,-32768,-32768,-32768, 9739, 901,-32768, 6828, 142, 10560,
1238 -32768, 10560,-32768, 11078, 11078, 4660, 897,-32768, 460, 4845,
1239 -32768, 906,-32768,-32768, 11119, 2025, 1921, 4845,-32768, 460,
1240 -32768,-32768, 460, 2025,-32768, 997,-32768, 9567, 768,-32768,
1241 -32768, 1592,-32768,-32768,-32768, 3869, 85, 541, 460,-32768,
1242 -32768, 954, 982, 1006, 990,-32768,-32768,-32768,-32768, 610,
1243 -32768, 463, 925, 956,-32768,-32768, 541,-32768,-32768, 819,
1244 -32768,-32768, 9567, 9739, 781, 7140,-32768, 479, 7140,-32768,
1245 -32768,-32768, 9653, 3641, 3641, 3641, 3641, 11284,-32768,-32768,
1246 -32768,-32768, 969, 10003, 10003, 7140, 971, 164, 985, 1032,
1247 987,-32768,-32768,-32768,-32768, 9567,-32768, 7231, 7140,-32768,
1248 9739, 9739, 7783, 9739, 9739, 9739, 9739, 9739, 9739, 9739,
1249 9739, 9739, 9739, 9739, 9739, 9739, 9739, 9739, 9739, 9739,
1250 9739, 9739,-32768, 9739,-32768,-32768,-32768,-32768,-32768, 9739,
1251 9739,-32768,-32768, 2543, 443, 205, 8392,-32768,-32768,-32768,
1252 1059, 898, 1108, 519, 559, 567, 2402, 874,-32768, 1955,
1253 1955,-32768, 3205, 1007, 1031, 1080,-32768,-32768, 511, 8942,
1254 1749,-32768, 1030, 362,-32768,-32768, 9739,-32768,-32768,-32768,
1255 -32768,-32768, 441, 431,-32768,-32768, 783,-32768, 4845, 2724,
1256 -32768, 1077, 1078,-32768,-32768, 1344, 868,-32768, 8124, 8215,
1257 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 120,-32768, 1055,
1258 1034, 586, 2238, 1097, 9567,-32768, 1096,-32768,-32768, 1043,
1259 1697, 1128, 471, 1101, 1103,-32768,-32768, 3099, 11061, 3099,
1260 3303, 1389, 10765,-32768, 1105,-32768,-32768,-32768,-32768,-32768,
1261 -32768,-32768,-32768, 1068, 1071,-32768, 1111,-32768,-32768, 270,
1262 -32768,-32768,-32768,-32768, 97, 400, 1118, 1032,-32768,-32768,
1263 -32768,-32768, 7030, 11284,-32768, 873, 1079, 11239,-32768,-32768,
1264 1081,-32768, 1082, 573, 4360, 1083,-32768, 112, 4465, 1117,
1265 1131, 568,-32768,-32768,-32768, 10560, 10560,-32768, 11119,-32768,
1266 1136,-32768,-32768, 1090, 142,-32768, 2025,-32768,-32768, 460,
1267 1130,-32768, 2297,-32768, 660, 789,-32768, 9739, 10638,-32768,
1268 10638, 408, 408, 211, 603, 3889, 10879, 5499,-32768, 210,
1269 408, 1144, 460, 6090,-32768, 142, 5204, 9567, 9567,-32768,
1270 9567, 142, 5204,-32768,-32768,-32768,-32768,-32768,-32768, 477,
1271 477, 477, 783, 1084, 1099, 9218, 1080, 1109, 1114, 1116,
1272 1141, 4282, 1150, 1153, 1154,-32768, 1122,-32768,-32768, 1126,
1273 -32768,-32768, 1157, 74, 325, 311, 172, 9739, 1174,-32768,
1274 1180, 1146, 11284, 11284,-32768,-32768, 1190, 11324, 11341, 6304,
1275 11356, 2756, 3410, 3759, 2096, 2096, 2096, 1693, 1693, 992,
1276 992, 968, 968, 968,-32768,-32768, 1147, 1156, 1162, 9739,
1277 9653,-32768, 443,-32768, 7692, 9739,-32768,-32768,-32768, 9739,
1278 -32768,-32768, 1181, 10433, 1163, 1188, 1206, 1235,-32768, 9739,
1279 -32768, 9739,-32768, 9739, 3331,-32768, 3331,-32768, 105, 1175,
1280 1176,-32768, 1178, 3641, 142,-32768, 142, 4214,-32768, 5204,
1281 1182, 3040, 3040, 6640, 1179, 9825, 1187, 930, 1845, 1893,
1282 1210, 1193,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 9739,
1283 1344, 1177, 1078,-32768, 11284,-32768, 11284, 1404, 1196, 10089,
1284 -32768, 1197, 1245,-32768, 783,-32768,-32768,-32768,-32768,-32768,
1285 2817, 4577,-32768, 3641, 9567, 3526, 3526, 5669,-32768,-32768,
1286 -32768,-32768, 1098,-32768,-32768,-32768, 903, 9739,-32768,-32768,
1287 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 270,-32768, 570,
1288 544, 557,-32768, 585, 587, 9739, 1250,-32768, 606, 618,
1289 608, 653, 1545, 1032,-32768, 78,-32768, 59,-32768,-32768,
1290 -32768,-32768,-32768,-32768, 9034,-32768,-32768,-32768,-32768,-32768,
1291 -32768,-32768, 1131, 1247,-32768,-32768,-32768, 3641,-32768,-32768,
1292 -32768, 1251,-32768,-32768, 1223,-32768, 1259,-32768,-32768, 108,
1293 -32768,-32768,-32768, 5204, 11284,-32768, 2448,-32768, 460, 460,
1294 -32768,-32768,-32768,-32768,-32768, 5204, 604, 843, 9739, 997,
1295 -32768, 1266,-32768,-32768,-32768, 277, 353, 617, 874, 418,
1296 408, 1272,-32768, 425,-32768,-32768,-32768, 460,-32768,-32768,
1297 8460,-32768, 1216, 783, 783, 783,-32768, 1224, 142, 5204,
1298 142, 5204,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1299 -32768, 1241, 1244, 1249, 1252, 1068,-32768, 11172, 7692, 7325,
1300 1253,-32768, 9739,-32768,-32768,-32768, 1254, 1236, 1248, 3641,
1301 -32768,-32768, 1256, 190, 750, 750, 1239, 750,-32768,-32768,
1302 10433, 1352, 9567,-32768, 1258, 1261, 1262,-32768,-32768,-32768,
1303 -32768,-32768,-32768,-32768,-32768, 142, 1263,-32768, 1264,-32768,
1304 -32768, 2147,-32768,-32768,-32768,-32768,-32768, 11284,-32768,-32768,
1305 1267,-32768,-32768, 255, 1273,-32768,-32768,-32768,-32768,-32768,
1306 -32768,-32768, 4152, 4152, 4986, 4986, 5669,-32768, 1098,-32768,
1307 5377, 11306,-32768,-32768,-32768, 1295,-32768, 400,-32768, 9739,
1308 -32768, 9739,-32768, 9739,-32768, 1344,-32768,-32768, 6527, 1339,
1309 -32768, 7416,-32768, 9126, 9126, 6734, 62, 1297, 96,-32768,
1310 7692, 7507,-32768,-32768, 286, 7692,-32768,-32768,-32768, 9653,
1311 -32768,-32768,-32768,-32768, 1654, 142, 1302,-32768, 1310, 1310,
1312 142, 1306, 9739, 9739, 11150, 460, 4944, 460, 460, 1298,
1313 460, 5233, 1310,-32768,-32768,-32768, 1325,-32768,-32768,-32768,
1314 1307,-32768, 1309, 9739, 9739, 9739, 9739, 7692,-32768, 1356,
1315 -32768,-32768, 11284,-32768,-32768,-32768, 552, 1248,-32768,-32768,
1316 -32768,-32768,-32768,-32768, 1311,-32768, 1372, 783,-32768,-32768,
1317 -32768, 142,-32768,-32768,-32768,-32768,-32768,-32768, 9739,-32768,
1318 -32768, 4152, 4152,-32768, 5377,-32768,-32768, 1313, 1316, 1319,
1319 1334,-32768, 1010, 298, 1376, 861, 910,-32768,-32768,-32768,
1320 -32768,-32768, 9739, 1377, 1380, 1384, 9304, 273, 1344, 828,
1321 614,-32768,-32768, 9395, 1439,-32768,-32768,-32768, 1390,-32768,
1322 4718, 10947, 5938, 6261,-32768,-32768, 1435,-32768,-32768,-32768,
1323 8553,-32768,-32768, 1345, 369,-32768,-32768,-32768,-32768, 3641,
1324 -32768,-32768, 7692, 1347, 1348, 2297,-32768,-32768,-32768,-32768,
1325 -32768,-32768,-32768,-32768,-32768, 11150, 11150,-32768, 1310, 628,
1326 953, 9739,-32768,-32768,-32768, 997, 997, 1310, 1310, 610,
1327 1310,-32768,-32768, 6395, 142, 142,-32768,-32768, 1354, 1355,
1328 1359, 1360,-32768, 7692, 9739,-32768, 552,-32768,-32768,-32768,
1329 -32768, 142, 1362,-32768,-32768,-32768,-32768, 1334,-32768, 1344,
1330 -32768,-32768,-32768,-32768,-32768,-32768, 657, 657, 1032, 1381,
1331 1386, 5708,-32768,-32768,-32768,-32768, 1392, 9739, 1412, 1418,
1332 1426, 1692, 1763,-32768, 1032,-32768,-32768, 1394,-32768,-32768,
1333 997, 1063,-32768, 1073, 997, 9481, 1075, 315,-32768,-32768,
1334 -32768,-32768,-32768,-32768, 188,-32768,-32768,-32768,-32768,-32768,
1335 142, 142,-32768,-32768,-32768, 9739, 9739, 11150, 460, 460,
1336 -32768,-32768,-32768,-32768, 8306,-32768,-32768,-32768,-32768, 142,
1337 142,-32768,-32768,-32768,-32768,-32768, 1374,-32768,-32768,-32768,
1338 1396,-32768,-32768,-32768, 9653,-32768,-32768,-32768, 1466, 8849,
1339 6936, 9653, 9739,-32768, 8661,-32768, 1436,-32768,-32768, 1441,
1340 -32768, 1426, 1692,-32768,-32768, 747,-32768,-32768, 10175, 10175,
1341 7601,-32768,-32768, 1032,-32768,-32768, 11150, 11150,-32768, 1310,
1342 1310, 1391, 11194, 1408,-32768,-32768,-32768, 6188,-32768,-32768,
1343 1399, 763, 4845, 1032, 8755,-32768,-32768, 78,-32768,-32768,
1344 1450, 1405, 11262, 8661,-32768,-32768,-32768,-32768, 1334, 87,
1345 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 377, 270,
1346 1407, 1410, 1032,-32768, 997,-32768,-32768,-32768,-32768, 663,
1347 -32768, 7874,-32768,-32768,-32768,-32768, 1334, 1501, 1456, 161,
1348 -32768,-32768,-32768,-32768, 460, 78,-32768, 9739, 1463,-32768,
1349 1464,-32768, 1032, 8661, 1443, 158, 1478,-32768,-32768,-32768,
1350 140,-32768, 1474,-32768, 1431,-32768,-32768,-32768,-32768, 9739,
1351 1501, 1481, 1501,-32768,-32768,-32768, 7965, 1437, 649,-32768,
1352 -32768, 7692, 1444,-32768, 1532, 1491,-32768,-32768,-32768, 317,
1353 -32768, 8755, 1544, 1496,-32768,-32768,-32768, 1557, 1563,-32768
1354 };
1355
1356 static const short yypgoto[] = {-32768,
1357 1564,-32768, -331, 1400, -350, 19, 6, 1571,-32768, 1539,
1358 -32768,-32768, 228,-32768, 229,-32768, 249,-32768, 163, 902,
1359 39, 15,-32768,-32768, -629,-32768,-32768, 636, 55, 1420,
1360 1137, 1433, -704, 42, -173, -6, 150,-32768,-32768,-32768,
1361 -32768,-32768, 823,-32768,-32768,-32768,-32768,-32768,-32768, 436,
1362 1148,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1363 -32768,-32768, 1511, -651, 5827, 1369, -47, -586, -227, -68,
1364 1469, -536,-32768, 684,-32768, 212,-32768, -1387,-32768, -1289,
1365 -11,-32768, 1519, 1510, -270, 364, -544,-32768, -826, 2320,
1366 9, 1554, 3609, 1314, -327, -57, -88, 682, -139, -65,
1367 93,-32768,-32768,-32768, -326,-32768, -153,-32768,-32768, -1252,
1368 -48, -338, 4854, 138, 912, -118, 81, 102, -203, -4,
1369 -144, -166, -172, 16, -21, 145,-32768, -370,-32768,-32768,
1370 -32768,-32768,-32768, 213, 1308, 10,-32768, 686,-32768,-32768,
1371 -768, -377, 893,-32768,-32768,-32768,-32768,-32768, -16,-32768,
1372 -32768,-32768,-32768,-32768, 694, -346,-32768,-32768,-32768,-32768,
1373 -32768,-32768,-32768,-32768, 1378,-32768, 283, 421,-32768,-32768,
1374 -32768,-32768,-32768, 848, -677,-32768,-32768,-32768,-32768,-32768,
1375 -32768, 852,-32768, 412, 977, 714, 1039, 4229, 47, 21,
1376 -455, 1438, 1271, -667,-32768, 4,-32768, 822, 4045, -147,
1377 173, -102, 4533, 1293,-32768, 4890, 2554, 1748, -18, -114,
1378 -32768, 1521, -53,-32768, 4714, 3375, -257,-32768, 1983,-32768,
1379 -32768, 333,-32768,-32768, 472, 63, -439,-32768,-32768,-32768,
1380 -32768, -1405,-32768, -1174, -1373,-32768,-32768,-32768,-32768,-32768,
1381 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 83,
1382 -32768,-32768,-32768,-32768,-32768, 116, -1322,-32768,-32768, -45,
1383 -32768,-32768,-32768,-32768, -1416, 67,-32768, 53,-32768, -723,
1384 -583, 667,-32768,-32768,-32768,-32768, -388,-32768, -382, -441,
1385 -32768, 1416, 336,-32768, -84,-32768, -230
1386 };
1387
1388
1389 #define YYLAST 11440
1390
1391
1392 static const short yytable[] = { 59,
1393 443, 420, 423, 445, 122, 487, 196, 435, 444, 36,
1394 631, 392, 984, 694, 256, 721, 432, 103, 42, 695,
1395 515, 356, 35, 357, 182, 178, 754, 640, 641, 822,
1396 59, 400, 253, 537, 540, 174, 1101, 59, 298, 891,
1397 36, 671, 221, 508, 398, 399, 891, 962, 981, 42,
1398 72, 1416, 209, 35, 249, 692, 42, 177, 861, 914,
1399 169, 763, 956, 1063, 1531, 1472, 570, 247, 408, 1068,
1400 391, 224, 492, 495, 190, 397, 141, 146, 256, 296,
1401 170, 72, 725, 349, 57, 349, 260, 349, 72, 710,
1402 486, 1026, 527, 1028, 1532, 1021, 171, 609, 1541, 494,
1403 1055, 609, 349, 349, 86, 58, 1527, 609, -302, 364,
1404 1176, 467, -1, 963, 1203, 57, 992, 1182, 1556, 759,
1405 820, 782, 176, 997, 644, 155, 196, 89, 645, 646,
1406 297, 406, 349, -2, 349, -141, 58, 256, 785, 1431,
1407 718, 55, -626, 58, 1204, 527, 1434, 90, 1568, 224,
1408 518, 1559, 178, 87, -302, -302, 452, 468, 440, 88,
1409 59, 1590, 174, 993, 59, 224, 994, 1183, 893, -295,
1410 998, 209, 55, 999, 1582, 190, 1127, 1598, 928, 175,
1411 700, 701, 72, 42, 177, 295, 1177, 169, -626, -626,
1412 1613, 490, 221, 783, 1569, 419, 422, 719, 707, 807,
1413 221, 221, 742, -626, 969, 158, 208, 170, 127, 128,
1414 593, 72, 821, -356, 522, 72, 405, 453, -356, 1601,
1415 190, 224, 453, 171, 93, 138, 94, 929, 1529, 224,
1416 221, 38, 39, -144, -304, 1031, 619, 58, 1561, 470,
1417 472, 155, 155, 155, 1472, 57, 224, 516, 1559, 176,
1418 454, 260, 40, 593, 107, 454, 594, 615, 26, 108,
1419 130, 131, 38, 39, 1134, 1602, 58, 1137, 1032, 1056,
1420 58, -295, 1033, 404, 868, 95, 110, 111, 985, 221,
1421 -304, -304, 806, 40, 869, 403, 1594, 155, 614, 647,
1422 679, 109, 247, 517, 715, -298, 606, 1250, 870, 594,
1423 1207, -365, 55, 15, 135, 1034, 175, 163, 1163, 1164,
1424 1535, 1149, 1212, 1269, 541, 542, 641, 1100, 1057, 137,
1425 891, 158, 158, 158, 349, 208, 420, 423, 112, 113,
1426 550, 674, 221, 551, -365, 941, 552, 296, -365, 562,
1427 932, 492, 495, 567, 1330, 247, 1231, 164, 1233, 492,
1428 694, 608, 1408, 349, 650, 697, 1003, 1392, 260, 1566,
1429 967, 968, 1270, 495, 891, 8, 9, 158, 757, 8,
1430 9, -365, -143, 161, 1392, 1623, 179, -366, 91, 15,
1431 -304, 515, 495, 1055, 137, 510, -142, 636, 297, 221,
1432 459, 162, 91, 1331, 449, -304, 631, 691, 92, -304,
1433 209, 183, 970, 971, 972, 72, 1393, 460, 1152, 1599,
1434 -366, 891, 92, 363, -366, -304, 682, 130, 131, 915,
1435 1376, 130, 131, 1503, 1624, 178, 1198, -304, -304, 761,
1436 -304, 511, -304, 637, 15, 712, 461, 59, -415, 405,
1437 1342, 1343, -120, 295, 15, 1129, 973, -366, 693, -118,
1438 187, 15, -584, 26, 1363, 974, 975, 177, 775, 224,
1439 58, -304, -304, 735, 803, 127, 128, -415, 240, 221,
1440 221, -415, 241, 188, 760, -120, -304, 221, 308, -120,
1441 127, 128, -118, 1266, 1267, 518, -118, 1102, 72, 864,
1442 18, 221, 976, 349, 26, 566, 649, 244, -584, 189,
1443 981, 59, 224, 690, 299, 129, 865, 89, 648, 796,
1444 221, 563, -120, 564, 693, 26, -415, 130, 131, -118,
1445 746, 747, 176, 138, 769, 619, 362, 90, 349, 942,
1446 26, 349, 130, 131, 349, 866, 966, 1021, 349, 812,
1447 812, 812, 812, 58, 1175, 943, 528, -584, 215, 216,
1448 1468, 349, 72, 694, 14, 797, 529, 899, 606, 695,
1449 360, 349, 550, 551, 349, 879, 155, 155, 155, 690,
1450 679, 806, 1199, 891, 1201, 1076, 20, 938, 1205, 175,
1451 1445, 91, 640, 641, 992, 23, 777, 222, 223, 1451,
1452 1452, 937, 1453, -584, 482, 692, 138, 377, 864, 296,
1453 917, 92, 891, 900, 901, 881, 935, 58, 527, 372,
1454 378, 880, 492, 883, 1007, 865, 139, 90, 691, 7,
1455 8, 250, 10, 376, 752, 735, 189, 95, 96, 97,
1456 92, 993, 758, 221, 994, 570, -829, 260, 379, 949,
1457 380, 954, 955, 776, 866, 1375, 158, 158, 158, 1035,
1458 297, 882, 1169, 1255, 1171, 772, 794, 21, 137, 884,
1459 1008, -295, 122, 91, 251, 1213, 885, 887, 1021, 693,
1460 349, 381, 27, 28, 221, 1414, 693, 88, 26, 644,
1461 98, 99, 100, 92, 209, 401, 955, 137, 247, 1446,
1462 7, 127, 128, 10, -7, 1036, 252, 982, 1170, 1173,
1463 1172, 88, 795, 1474, 32, 295, 1023, 1148, 425, 1577,
1464 1615, 1239, 1241, 91, 153, 1073, 1074, 1075, 221, 1064,
1465 1065, 775, 1066, 775, 690, 8, 520, 1041, 21, 775,
1466 775, 690, 374, 92, 691, 251, 775, 433, 375, -621,
1467 221, 1544, 1545, 27, 28, 1174, 116, 117, 118, 1475,
1468 1029, 1030, 1024, 127, 128, 1578, 1616, 303, 518, 1058,
1469 1336, 1337, 1338, 164, 59, 807, 59, 252, 432, 363,
1470 215, 216, 209, 59, 447, 32, 14, 130, 131, 59,
1471 451, 595, 691, 349, 349, 693, 349, 769, 691, 769,
1472 366, 370, 127, 128, 1165, 221, 769, 26, 20, 119,
1473 120, 521, 769, 26, 1241, 130, 131, 23, 448, 619,
1474 127, 128, 463, 1326, 1328, 72, 464, 72, 1332, 868,
1475 596, 597, 127, 128, 72, 598, 599, 600, 601, 869,
1476 72, 421, 424, 693, 222, 446, 1226, 1227, 1228, 693,
1477 690, 498, 26, 870, 130, 131, 503, 1251, 1252, 777,
1478 1254, 777, 147, 523, 363, 806, 349, 563, 777, 564,
1479 1373, 1104, 130, 131, 777, 1591, 363, 524, 392, 525,
1480 58, 129, 58, 534, 130, 131, 153, 127, 128, 58,
1481 526, 26, 1110, 543, 1411, 58, 521, 256, 690, 812,
1482 480, 481, 127, 128, 690, 691, 89, 544, 252, 735,
1483 95, 110, 111, 512, 1214, 566, 776, 545, 1027, 546,
1484 550, 551, 547, 260, 89, 776, 90, 224, 772, 609,
1485 772, 776, 1395, 488, 489, 1040, 1050, 772, 655, 130,
1486 131, 659, 300, 772, 90, 10, 658, 691, 21, 812,
1487 349, 675, 26, 691, 130, 131, 693, 15, 885, 887,
1488 693, -415, 661, 112, 113, 1437, 682, 662, 528, 1478,
1489 18, -52, 411, 91, 663, 15, -52, 413, 529, -415,
1490 21, 1396, 1012, 676, 807, 1495, 498, -52, 1041, -415,
1491 -415, 90, 256, 92, -415, 426, 427, 92, 693, 704,
1492 735, -6, 1153, 1154, 693, 1060, 1466, -415, -415, 428,
1493 253, 690, 708, 812, 748, 690, 89, 420, 423, 429,
1494 559, 730, 557, 775, 1447, 147, 753, 32, 1216, 691,
1495 480, 713, 430, 15, 1218, 1219, 90, 788, 1216, 1221,
1496 1380, 691, 1219, 8, 9, 798, 420, 423, 127, 128,
1497 155, 693, -183, 690, 1258, 300, 394, 395, 10, 690,
1498 591, 592, 382, 383, 384, 789, 59, 137, -183, 790,
1499 -183, 488, 714, 791, 1478, 691, 799, 691, 1390, 1391,
1500 693, 588, 589, 590, 591, 592, 816, 363, 818, 769,
1501 519, 619, 693, 21, 1478, 130, 131, 155, 26, 719,
1502 130, 131, 819, 256, 821, 812, 690, 385, 27, 319,
1503 7, 8, 9, 10, 620, 386, 387, 72, 349, 252,
1504 421, 705, 876, 1574, 621, 878, 693, 892, 693, 1256,
1505 158, 480, 1497, 894, 622, 690, 896, 623, 624, 694,
1506 32, 488, 1498, 480, 1502, 1552, 921, 690, 21, 1424,
1507 920, 777, 931, 1478, 1422, 251, 1427, 930, 729, 982,
1508 934, 721, 691, 27, 28, 936, 421, 424, 214, 215,
1509 216, 101, 58, 20, 944, 14, 945, 158, 958, 115,
1510 965, 690, 522, 690, 1313, -298, 1040, 252, 964, 453,
1511 -828, 735, 18, 807, 1305, 32, 989, 20, 990, 991,
1512 996, 1077, 550, 551, 1005, 349, 23, 1304, 776, 1009,
1513 1010, 1272, 1273, 693, 1013, 1059, 1078, 116, 117, 118,
1514 772, 698, 233, 8, 9, 1082, 1079, 559, -140, 557,
1515 559, 1080, 557, 1081, 1083, 72, 809, 1084, 1085, 1086,
1516 1272, 1273, 693, 1087, 1617, 1089, 421, 817, 1090, 557,
1517 702, 1209, 1210, 703, 95, 414, 415, 155, 155, 155,
1518 559, 1093, 557, 1092, 1094, 706, 836, 363, 690, 1312,
1519 119, 120, 1421, 1095, 1421, 130, 131, 95, 96, 97,
1520 1223, 388, 1096, 1111, 1109, 1112, 155, 155, 155, 1113,
1521 58, 1114, 1120, 1121, 859, 1140, 1130, 690, 1122, 521,
1522 875, 411, 1128, 413, 1131, 416, 221, 98, 113, 1313,
1523 1133, 127, 1360, 1143, 1147, 1146, 519, 209, 1168, 1313,
1524 1191, 907, 562, 688, 1197, 1200, 1313, 1202, 527, 1305,
1525 98, 99, 1304, 1225, 1217, 812, 1305, 158, 158, 158,
1526 1222, 1229, 1304, 1234, 1449, 1450, 1235, 140, 140, 1304,
1527 156, 1236, 1540, 1245, 1237, 363, 95, 110, 111, 1253,
1528 72, 420, 423, 130, 131, 1246, 158, 158, 158, 1257,
1529 72, 1242, 1244, 1249, 212, 1259, 220, 72, 1260, 1261,
1530 1264, 1176, 237, 460, 1265, 1268, 1571, 521, -663, 688,
1531 1271, 95, 110, 111, 1312, 499, 501, 300, 394, 395,
1532 10, 95, 96, 97, 1312, 225, 226, 227, 513, 112,
1533 113, 1312, 1276, 490, 1325, 58, 95, 110, 111, 1341,
1534 664, 665, 666, 1345, 1367, 58, 1368, 1374, 1379, 18,
1535 1384, 1378, 58, 1385, 228, 21, 1386, 1348, 1349, 1387,
1536 1358, 1359, 251, 1361, 112, 113, 114, 1394, 1403, 1404,
1537 27, 319, 26, 1405, 98, 99, 229, 1417, 140, 1419,
1538 1432, 1486, 1435, 140, 1438, 1439, 156, 156, 156, 112,
1539 113, 1462, 1463, 471, 473, 477, 1464, 1465, 549, 1470,
1540 1522, 1488, 32, 1481, 1555, 1313, 1313, 1522, 1482, 1489,
1541 1313, 375, 1526, 212, 1517, 1305, 1496, 907, 1518, 450,
1542 1305, 230, 231, 232, 1537, 1536, 349, 1546, 1304, 1304,
1543 140, 140, 156, 1304, 1548, 221, 1554, 550, 551, 1563,
1544 657, 1585, 1564, 691, 1572, 1589, 220, 1573, 155, 667,
1545 1313, 297, 1596, 1597, 493, 220, 72, 72, 297, 1313,
1546 1305, 72, 657, 1575, 688, 1600, 1603, 1605, 1606, 1305,
1547 1610, 688, 1619, 1304, 1614, 746, 747, 116, 971, 972,
1548 1621, 1618, 1304, 1107, 1626, 1627, 1629, 1522, 1443, 1444,
1549 1312, 1312, 1630, 1, 693, 1312, 140, 702, 703, 442,
1550 706, 72, 5, 160, 933, 1493, 295, 1150, 711, 1313,
1551 72, 58, 58, 295, 421, 817, 58, 557, 441, 1305,
1552 1570, 155, 155, 155, 95, 96, 97, 439, 158, 1051,
1553 119, 120, 1304, 1277, 359, 1312, 500, 409, 297, 1477,
1554 1625, 1377, 533, 1142, 1312, 988, 1141, 1313, 1440, 690,
1555 505, 300, 8, 9, 10, 1339, 58, 1305, 1053, 153,
1556 72, 1061, 923, 1362, 1139, 58, 156, 483, 616, 363,
1557 1304, 339, 863, 339, 390, 339, 1430, 98, 99, 762,
1558 688, 1322, 1592, 1604, 1567, 1611, 116, 971, 972, 21,
1559 1509, 1510, 1511, 295, 1312, 1436, 251, 1609, 72, 1190,
1560 0, 158, 158, 158, 27, 319, 1188, 610, 0, 300,
1561 394, 395, 10, 1015, 611, 58, 0, 0, 0, 0,
1562 339, 0, 339, 0, 95, 110, 111, 0, 688, 382,
1563 383, 384, 1312, 0, 688, 0, 32, 26, 0, 119,
1564 120, 0, 212, 220, 0, 829, 0, 21, 0, 1542,
1565 1543, 0, 0, 58, 612, 0, 140, 0, 0, 140,
1566 26, 0, 27, 319, 0, 156, 156, 156, 0, 0,
1567 744, 140, 745, 0, 471, 473, 477, 112, 1490, 0,
1568 26, 0, 386, 387, 0, 756, 0, -580, 0, 877,
1569 -580, 0, 0, 0, 613, 95, 110, 111, 147, 0,
1570 586, 587, 588, 589, 590, 591, 592, 140, 0, 140,
1571 0, 156, 156, 156, 0, 0, 450, 1593, 0, 0,
1572 0, 0, 140, 493, 220, 896, 0, 450, 0, 0,
1573 0, 493, 0, 0, 0, 0, 0, -580, 0, -580,
1574 -580, 688, -580, 0, 0, 688, 450, 0, 112, 1492,
1575 0, 0, 0, -580, 0, -580, 0, 258, 940, 0,
1576 0, 0, 0, 0, 0, 0, 0, 421, 424, 957,
1577 0, -580, -580, 156, 0, 0, 156, 300, 8, 9,
1578 10, 258, 0, 688, 0, 0, -580, 0, 0, 688,
1579 0, 156, 156, 156, 0, 0, 421, 1324, 0, 557,
1580 829, 0, 0, 548, 0, 0, 156, 0, 0, 0,
1581 258, 0, 0, 1334, 0, 21, 0, 0, 0, 0,
1582 0, 258, 251, 0, 0, 638, 8, 9, 10, 0,
1583 27, 319, 0, 0, 0, 0, 688, 0, 0, 0,
1584 0, 339, 0, 0, 0, 0, 0, 1369, 1370, 1371,
1585 1372, 0, 0, 0, 252, 0, 0, 214, 215, 216,
1586 308, 639, 32, 21, 14, 688, 0, 908, 7, 127,
1587 128, 10, 0, 0, 13, 0, 26, 688, 130, 131,
1588 258, 18, 0, 0, 0, 0, 20, 220, 127, 128,
1589 0, 0, 0, 13, 0, 23, 18, 0, 0, 0,
1590 727, 0, 0, 0, 411, 413, 21, 733, 0, 726,
1591 1407, 688, 519, 688, 0, 258, 726, 0, 0, 26,
1592 0, 27, 28, 0, 0, 0, 212, 0, 220, 237,
1593 0, 619, 0, 0, 0, 30, 0, 0, 26, 258,
1594 130, 131, 0, 724, 728, 31, 744, 745, 0, 756,
1595 0, 728, 0, 32, 620, 0, 0, 0, 33, 0,
1596 0, 491, 215, 216, 621, 0, 0, 0, 14, 0,
1597 0, 0, 220, 804, 622, 0, 1046, 623, 624, 0,
1598 0, 339, 726, 140, 140, 18, 140, 0, 1467, 0,
1599 20, 0, 0, 0, 493, 0, 0, 450, 688, 23,
1600 0, 0, 0, 0, 0, 667, 0, 0, 0, 0,
1601 0, 0, 0, 0, 212, 0, 339, 728, 940, 0,
1602 450, 1487, 0, 702, 703, 0, 706, 688, 0, 0,
1603 0, 258, 0, 857, 0, 0, 0, 1188, 0, 858,
1604 0, 0, 726, 156, 0, 0, 0, 0, 726, 339,
1605 0, 724, 0, 0, 833, 834, 0, 838, 839, 840,
1606 841, 842, 843, 844, 845, 846, 847, 848, 849, 850,
1607 851, 852, 853, 854, 855, 856, 912, 728, 726, 300,
1608 8, 9, 10, 728, 0, 726, 0, 0, 1520, 258,
1609 0, 0, 0, 0, 836, 1520, 0, 0, 0, 0,
1610 1011, 584, 585, 586, 587, 588, 589, 590, 591, 592,
1611 0, 421, 1324, 728, 557, 0, 0, 21, 0, 0,
1612 728, 0, 0, 0, 251, 0, 0, 0, 0, 0,
1613 0, 1062, 27, 319, 0, 0, 0, 1067, 0, 156,
1614 156, 908, 925, 927, 0, 0, 471, 473, 477, 127,
1615 128, 0, 0, 215, 216, 0, 521, 0, 339, 14,
1616 0, 0, 0, 0, 32, 0, 0, 1240, 0, 0,
1617 300, 394, 395, 10, 0, 1520, 0, 0, 237, 258,
1618 0, 20, 0, 140, 140, 908, 0, 0, 0, 0,
1619 23, 1595, 619, 0, 0, 477, 0, 0, 0, 26,
1620 0, 130, 131, 0, 0, 0, 724, 258, 21, 0,
1621 0, 0, 0, 1608, 0, 620, 0, 0, 0, 0,
1622 836, 26, 0, 27, 319, 621, 0, 1046, 0, 116,
1623 971, 972, 908, 1014, 0, 622, 0, 0, 630, 624,
1624 1123, 0, 1124, 0, 0, 0, 0, 0, 0, 0,
1625 0, 1025, 0, 1282, 726, 32, 1015, 0, 0, 1240,
1626 628, 632, 635, 1016, 0, 0, 450, 450, 0, 0,
1627 0, 339, 339, 0, 339, 0, 0, 0, 0, 0,
1628 26, 0, 119, 120, 0, 0, 0, 0, 0, 728,
1629 0, 0, 0, 0, 258, 450, 0, 0, 0, 1097,
1630 1098, 0, 0, 0, 0, 1103, 0, 0, 726, 726,
1631 258, 1088, 0, 0, 726, 0, 0, 0, 0, 1115,
1632 0, 1116, 0, 1117, 0, 0, 0, 0, 726, 0,
1633 726, 0, 726, 0, 300, 127, 128, 10, 0, 0,
1634 0, 0, 0, 728, 728, 0, 0, 0, 724, 728,
1635 0, 0, 0, 744, 745, 471, 473, 477, 0, 688,
1636 0, 756, 0, 728, 0, 728, 0, 728, 0, 1145,
1637 0, 0, 21, 0, 0, 1409, 1410, 0, 726, 251,
1638 1037, 1038, 9, 10, 471, 473, 477, 27, 319, 0,
1639 140, 140, 156, 156, 908, 0, 0, 0, 140, 0,
1640 0, 0, 0, 1138, 0, 0, 0, 0, 0, 0,
1641 0, 0, 0, 728, 1230, 1166, 1232, 1356, 21, 32,
1642 0, 156, 156, 908, 726, 0, 0, 0, 339, 0,
1643 0, 26, 0, 27, 28, 0, 0, 1208, 0, 1039,
1644 0, 1162, 0, 726, 0, 0, 0, 193, 0, 0,
1645 0, 0, 450, 450, 0, 450, 450, 194, 450, 728,
1646 0, 0, 0, 0, 0, 32, 0, 1473, 0, 0,
1647 195, 1263, 744, 745, 0, 756, 8, 9, 728, 0,
1648 12, 13, 0, 0, 0, 0, 14, 80, 0, 1491,
1649 1494, 0, 7, 127, 128, 10, 0, 104, 246, 0,
1650 16, 0, 17, 0, 0, 0, 0, 133, 20, 140,
1651 140, 0, 140, 144, 144, 0, 144, 23, 80, 0,
1652 18, 0, 1215, 0, 0, 80, 26, 0, 130, 131,
1653 21, 0, 886, 888, 0, 0, 0, 0, 203, 0,
1654 80, 0, 0, 26, 0, 27, 28, 0, 238, 212,
1655 220, 1340, 0, 0, 0, 104, 1344, 0, 0, 30,
1656 0, 0, 0, 0, 0, 862, 262, 104, 0, 31,
1657 1538, 0, 724, 724, 0, 0, 1243, 32, 0, 0,
1658 0, 0, 33, 450, 450, 0, 258, 0, 258, 104,
1659 0, 0, 0, 0, 0, 0, 339, 625, 625, 625,
1660 951, 0, 628, 632, 0, 635, 0, 1381, 0, 1278,
1661 0, 1279, 0, 1280, 0, 0, 0, 133, 726, 80,
1662 726, 0, 726, 144, 144, 0, 477, 0, 412, 144,
1663 258, 0, 144, 144, 144, 0, 0, 0, 0, 0,
1664 8, 9, 0, 0, 12, 246, 0, 632, 80, 0,
1665 14, 0, 80, 728, 0, 728, 0, 728, 203, 80,
1666 214, 215, 216, 156, 16, 724, 17, 14, 0, 0,
1667 0, 0, 20, 0, 724, 724, 203, 203, 203, 724,
1668 0, 23, 0, 619, 18, 450, 450, 450, 0, 20,
1669 26, 0, 130, 131, 0, 0, 1346, 1347, 23, 471,
1670 473, 477, 0, 0, 0, 203, 620, 0, 1383, 0,
1671 1458, 1459, 0, 918, 0, 0, 621, 726, 0, 0,
1672 0, 724, 502, 0, 632, 258, 622, 1469, 0, 623,
1673 624, 104, 0, 0, 0, 0, 156, 156, 156, 0,
1674 0, 0, 144, 0, 450, 450, 0, 0, 0, 95,
1675 110, 111, 728, 225, 226, 227, 579, 580, 581, 582,
1676 583, 584, 585, 586, 587, 588, 589, 590, 591, 592,
1677 7, 127, 128, 10, 0, 0, 1402, 18, 0, 0,
1678 104, 530, 228, 0, 0, 0, 1505, 1506, 0, 0,
1679 0, 0, 0, 0, 0, 0, 0, 1118, 18, 1119,
1680 0, 0, 112, 113, 0, 1515, 1516, 0, 21, 258,
1681 1125, 0, 450, 0, 886, 888, 724, 0, 0, 0,
1682 0, 26, 0, 27, 28, 104, 0, 0, 0, 617,
1683 0, 530, 530, 633, 0, 1448, 258, 149, 0, 8,
1684 9, 0, 80, 12, 13, 0, 0, 150, 0, 14,
1685 0, 0, 0, 0, 0, 32, 0, 724, 886, 888,
1686 151, 0, 0, 16, 0, 17, 0, 0, 0, 625,
1687 625, 20, 625, 0, 726, 0, 133, 0, 0, 906,
1688 23, 0, 0, 0, 0, 104, 0, 203, 104, 26,
1689 0, 130, 131, 602, 8, 9, 0, 258, 12, 246,
1690 0, 0, 144, 0, 14, 144, 0, 0, 0, 728,
1691 0, 0, 0, 0, 0, 0, 0, 144, 16, 0,
1692 17, 0, 0, 0, 0, 80, 20, 0, 603, 1507,
1693 1508, 0, 0, 0, 0, 23, 0, 625, 1513, 625,
1694 625, 0, 625, 0, 26, 0, 130, 131, 0, 0,
1695 0, 0, 0, 203, 0, 203, 0, 203, 203, 203,
1696 0, 0, 0, 203, 0, 0, 1533, 0, 203, 0,
1697 0, 203, 300, 8, 9, 10, 0, 12, 301, 302,
1698 303, 0, 304, 14, 625, 0, 0, 0, 0, 80,
1699 0, 0, 0, 0, 0, 0, 0, 16, 305, 17,
1700 18, 19, 0, 306, 307, 20, 0, 308, 309, 310,
1701 21, 311, 312, 0, 23, 0, 619, 0, 313, 314,
1702 315, 316, 317, 26, 0, 27, 319, 104, 104, 104,
1703 104, 7, 8, 9, 10, 0, 321, 0, 0, 902,
1704 0, 0, 0, 0, 0, 0, 0, 323, 324, 903,
1705 0, 0, 0, 0, 0, 326, 327, 328, 0, 622,
1706 0, 625, 904, 624, 0, 1118, 1119, 886, 888, 21,
1707 0, 0, 0, 1125, 0, 619, 0, 0, 0, 330,
1708 0, 0, 26, 0, 27, 28, 0, 104, 0, 530,
1709 0, 0, 0, 0, 0, 724, 886, 888, 946, 0,
1710 0, 617, 0, 530, 530, 0, 633, 0, 947, 0,
1711 0, 0, 0, 909, 0, 0, 32, 911, 622, 0,
1712 0, 948, 624, 0, 0, 0, 0, 0, 0, 0,
1713 0, 0, 203, 0, 625, 0, 625, 0, 8, 9,
1714 0, 167, 12, 13, 0, 0, 732, 625, 14, 0,
1715 0, 906, 906, 906, 0, 0, 133, 0, 0, 0,
1716 0, 0, 16, 133, 17, 18, 0, 0, 0, 0,
1717 20, 203, 953, 203, 203, 238, 633, 0, 0, 23,
1718 0, 619, 0, 0, 1118, 1119, 0, 1125, 26, 0,
1719 130, 131, 0, 0, 0, 625, 625, 625, 0, 0,
1720 0, 0, 0, 0, 620, 0, 0, 0, 0, 0,
1721 0, 0, 0, 0, 621, 0, 0, 0, 203, 0,
1722 0, 0, 953, 0, 622, 0, 0, 623, 624, 203,
1723 203, 0, 203, 0, 0, 7, 8, 9, 10, 214,
1724 215, 216, 0, 0, 906, 0, 14, 0, 0, 133,
1725 0, 0, 80, 0, 80, 0, 0, 0, 0, 1048,
1726 80, 80, 0, 18, 127, 128, 0, 80, 20, 246,
1727 104, 0, 0, 21, 0, 0, 104, 23, 0, 619,
1728 0, 0, 0, 530, 530, 530, 26, 0, 27, 28,
1729 0, 0, 0, 0, 0, 530, 0, 0, 0, 0,
1730 0, 0, 946, 0, 0, 0, 0, 619, 83, 0,
1731 0, 0, 947, 0, 26, 0, 130, 131, 106, 0,
1732 32, 0, 622, 0, 0, 948, 624, 126, 134, 0,
1733 620, 0, 0, 0, 145, 145, 0, 145, 0, 83,
1734 621, 0, 0, 0, 0, 0, 83, 0, 0, 0,
1735 622, 0, 0, 623, 624, 0, 0, 0, 0, 145,
1736 0, 83, 0, 0, 0, 0, 0, 0, 530, 239,
1737 530, 0, 0, 0, 0, 0, 248, 104, 0, 0,
1738 0, 530, 0, 104, 0, 909, 909, 909, 248, 0,
1739 0, 0, 0, 1132, 0, 0, 0, 0, 7, 127,
1740 128, 10, 625, 625, 625, 625, 625, 0, 0, 0,
1741 625, 580, 581, 582, 583, 584, 585, 586, 587, 588,
1742 589, 590, 591, 592, 0, 104, 18, 104, 0, 203,
1743 203, 1159, 0, 906, 906, 906, 21, 0, 0, 0,
1744 83, 0, 0, 0, 145, 145, 0, 0, 0, 26,
1745 145, 27, 28, 145, 145, 145, 0, 0, 7, 8,
1746 9, 10, 0, 0, 13, 30, 0, 0, 0, 83,
1747 0, 0, 0, 83, 0, 31, 0, 0, 1159, 145,
1748 83, 0, 0, 32, 0, 0, 18, 0, 33, 0,
1749 0, 104, 0, 0, 0, 0, 21, 145, 145, 145,
1750 0, 0, 619, 0, 0, 0, 0, 104, 0, 26,
1751 1048, 27, 28, 0, 0, 0, 0, 0, 0, 104,
1752 0, 625, 625, 0, 625, 946, 145, 0, 0, 0,
1753 0, 0, 1220, 0, 0, 947, 0, 0, 0, 0,
1754 0, 0, 51, 32, 80, 622, 0, 0, 948, 624,
1755 0, 0, 0, 104, 0, 104, 0, 0, 7, 127,
1756 128, 10, 0, 145, 13, 0, 0, 0, 51, 51,
1757 0, 152, 0, 51, 8, 9, 0, 0, 12, 13,
1758 51, 0, 0, 104, 14, 0, 18, 0, 530, 530,
1759 0, 530, 0, 51, 0, 51, 21, 0, 16, 0,
1760 17, 248, 145, 0, 0, 0, 20, 0, 0, 26,
1761 0, 27, 28, 0, 0, 23, 0, 0, 254, 0,
1762 0, 0, 0, 0, 26, 149, 130, 131, 0, 0,
1763 0, 0, 0, 0, 0, 150, 203, 203, 203, 203,
1764 1159, 0, 0, 32, 203, 0, 248, 0, 151, 0,
1765 618, 0, 145, 145, 634, 0, 0, 0, 0, 643,
1766 0, 0, 0, 83, 0, 0, 0, 1159, 1159, 1159,
1767 0, 396, 396, 0, 51, 0, 0, 0, 51, 51,
1768 0, 0, 254, 0, 51, 0, 0, 152, 152, 152,
1769 0, 0, 0, 0, 431, 0, 0, 680, 0, 0,
1770 203, 0, 0, 51, 0, 144, 248, 51, 145, 248,
1771 0, 0, 0, 51, 51, 0, 0, 0, 0, 0,
1772 0, 0, 0, 145, 0, 0, 145, 0, 0, 0,
1773 0, 51, 51, 152, 0, 0, 0, 0, 145, 0,
1774 0, 254, 0, 0, 0, 0, 83, 0, 0, 0,
1775 0, 0, 0, 0, 0, 203, 203, 0, 203, 0,
1776 51, 581, 582, 583, 584, 585, 586, 587, 588, 589,
1777 590, 591, 592, 0, 145, 0, 145, 0, 145, 145,
1778 145, 0, 0, 0, 145, 0, 0, 0, 0, 145,
1779 0, 0, 145, 0, 203, 953, 203, 51, 0, 764,
1780 0, 7, 8, 765, 10, 167, 12, 13, 0, 0,
1781 83, 0, 14, 104, 0, 0, 0, 0, 0, 0,
1782 0, 1037, 1038, 9, 10, 0, 16, 0, 17, 18,
1783 19, 0, 0, 0, 20, -526, 0, 0, 0, 21,
1784 0, 0, 0, 23, 766, 0, 168, 0, 248, 248,
1785 248, 248, 26, 0, 27, 28, 0, 0, 767, 21,
1786 768, 7, 8, 9, 10, 0, 0, 558, 30, 0,
1787 0, 0, 26, 0, 27, 28, 0, 0, 31, 0,
1788 1039, 0, 0, 0, 396, 0, 32, 0, 193, 0,
1789 0, 33, 254, 0, 0, 0, 0, 51, 194, 21,
1790 0, 0, 0, 0, 0, 0, 32, -526, 248, 1159,
1791 145, 195, 26, 0, 27, 28, 0, 0, 192, 0,
1792 0, 0, 0, 0, 145, 145, 0, 634, 193, 0,
1793 0, 396, 0, 0, 910, 0, 0, 0, 194, 0,
1794 0, 0, 51, 0, 0, 0, 32, 643, 0, 0,
1795 0, 195, 0, 145, 0, 0, 0, 51, 0, 0,
1796 51, 0, 0, 0, 0, 0, 431, 431, 431, 0,
1797 0, 0, 51, 0, 0, 0, 0, 680, 76, 0,
1798 51, 0, 1159, 1159, 1159, 126, 0, 0, 0, 0,
1799 0, 0, 145, 634, 145, 145, 239, 634, 0, 0,
1800 0, 104, 0, 0, 0, 0, 203, 0, 51, 76,
1801 51, 0, 152, 152, 152, 0, 76, 0, 51, 0,
1802 983, 0, 0, 51, 0, 0, 51, 0, 0, 201,
1803 0, 213, 0, 0, 0, 0, 0, 0, 0, 145,
1804 0, 0, 0, 634, 51, 0, 0, 0, 0, 0,
1805 145, 145, 0, 145, 0, 0, 0, 0, 0, 0,
1806 0, 0, 0, 0, 0, 0, 0, 983, 0, 0,
1807 134, 0, 0, 83, 558, 83, 0, 558, 0, 0,
1808 1049, 83, 83, 0, 7, 8, 9, 10, 83, 0,
1809 246, 248, 558, 558, 558, 0, 0, 248, 0, 0,
1810 0, 0, 0, 0, 145, 145, 145, 558, 0, 0,
1811 407, 0, 18, 0, 410, 0, 145, 0, 0, 0,
1812 0, 0, 21, 0, 0, 0, 0, 0, 619, 0,
1813 0, 0, 0, 0, 0, 26, 0, 27, 28, 76,
1814 0, 0, 0, 76, 0, 0, 0, 127, 128, 201,
1815 213, 946, 518, 0, 0, 254, 0, 0, 0, 0,
1816 0, 947, 0, 0, 0, 0, 0, 0, 558, 32,
1817 0, 622, 0, 0, 948, 624, 0, 0, 0, 0,
1818 0, 0, 0, 0, 0, 0, 0, 51, 0, 145,
1819 619, 145, 0, 0, 0, 0, 201, 26, 248, 130,
1820 131, 0, 145, 0, 248, 0, 910, 910, 910, 0,
1821 0, 396, 0, 620, 643, 127, 128, 0, 396, 215,
1822 216, 0, 0, 621, 0, 14, 51, 51, 51, 51,
1823 0, 0, 0, 622, 0, 0, 623, 624, 0, 0,
1824 259, 0, 0, 0, 0, 0, 248, 20, 248, 0,
1825 145, 145, 634, 0, 0, 0, 23, 0, 619, 0,
1826 0, 0, 0, 0, 0, 26, 0, 130, 131, 0,
1827 0, 0, 0, 51, 0, 0, 0, 51, 0, 0,
1828 0, 620, 0, 0, 51, 51, 0, 51, 0, 0,
1829 0, 621, 7, 8, 9, 10, 214, 215, 216, 910,
1830 0, 622, 0, 14, 623, 624, 0, 51, 0, 51,
1831 0, 0, 248, 0, 51, 51, 51, 434, 0, 0,
1832 18, 0, 51, 0, 0, 20, 0, 0, 248, 0,
1833 21, 1049, 0, 651, 23, 0, 619, 0, 0, 0,
1834 248, 0, 0, 26, 558, 27, 28, 0, 0, 469,
1835 0, 0, 0, 0, 0, 0, 0, 0, 0, 946,
1836 0, 0, 485, 0, 0, 83, 0, 0, 0, 947,
1837 0, 0, 0, 0, 248, 0, 248, 32, 201, 622,
1838 0, 0, 995, 624, 0, 0, 0, 0, 0, 0,
1839 0, 0, 0, 0, 0, 0, 0, 7, 8, 9,
1840 10, 167, 12, 13, 248, 0, 1000, 0, 14, 145,
1841 145, 0, 145, 0, 0, 0, 76, 0, 0, 0,
1842 0, 0, 16, 0, 17, 18, 0, 0, 0, 0,
1843 20, 0, 0, 0, 0, 21, 0, 0, 0, 23,
1844 558, 558, 558, 0, 0, 0, 431, 254, 26, 0,
1845 27, 28, 0, 0, 201, 0, 0, 145, 145, 145,
1846 145, 634, 201, 0, 30, 145, 78, 0, 0, 0,
1847 0, 0, 983, 0, 31, 0, 0, 0, 0, 0,
1848 781, 0, 32, 0, 51, 51, 152, 33, 910, 910,
1849 910, 254, 78, 78, 0, 78, 0, 78, 0, 0,
1850 0, 0, 0, 0, 78, 0, 0, 0, 0, 983,
1851 8, 9, 0, 167, 12, 13, 0, 78, 0, 78,
1852 14, 145, 0, 0, 0, 0, 145, 0, 0, 7,
1853 8, 9, 10, 1187, 16, 13, 17, 18, 0, 0,
1854 0, 0, 20, 0, 0, 0, 0, 0, 0, 0,
1855 0, 681, 0, 0, 168, 0, 0, 18, 0, 0,
1856 26, 0, 130, 131, 0, 51, 0, 21, 0, 0,
1857 0, 0, 0, 0, 0, 0, 145, 145, 0, 145,
1858 26, 0, 27, 28, 0, 0, 254, 0, 0, 0,
1859 0, 0, 7, 8, 9, 10, 193, 0, 78, 51,
1860 0, 0, 78, 78, 1413, 0, 194, 0, 78, 0,
1861 0, 78, 78, 78, 32, 145, 634, 145, 0, 195,
1862 18, 0, 0, 201, 0, 0, 0, 78, 0, 0,
1863 21, 78, 0, 0, 248, 0, 749, 78, 78, 0,
1864 983, 755, 0, 26, 0, 27, 28, 0, 0, 0,
1865 7, 8, 9, 10, 0, 78, 78, 78, 0, 474,
1866 0, 0, 201, 952, 201, 201, 0, 0, 786, 475,
1867 254, 0, 0, 0, 792, 0, 159, 32, 0, 0,
1868 0, 0, 476, 0, 78, 0, 800, 801, 21, 802,
1869 0, 51, 51, 152, 152, 152, 0, 254, 204, 51,
1870 0, 26, 0, 27, 28, 0, 0, 1420, 0, 201,
1871 0, 0, 0, 1001, 0, 8, 9, 193, 205, 12,
1872 206, 78, 1187, 1187, 1187, 14, 0, 194, 0, 0,
1873 910, 0, 0, 0, 0, 32, 0, 0, 0, 16,
1874 195, 17, 18, 781, 0, 781, 0, 20, 0, 0,
1875 1047, 1054, 781, 0, 0, 51, 23, 0, 781, 0,
1876 51, 0, 0, 0, 0, 26, 0, 130, 131, 0,
1877 0, 0, 0, 0, 0, 0, 0, 7, 8, 9,
1878 10, 0, 0, 0, 897, 898, 0, 0, 0, 897,
1879 0, 0, 159, 159, 159, 0, 0, 0, 0, 0,
1880 0, 0, 0, 910, 910, 910, 0, 0, 0, 0,
1881 51, 51, 0, 51, 0, 21, 0, 642, 204, 0,
1882 0, 78, 248, 0, 0, 0, 0, 145, 26, 0,
1883 27, 28, 0, 0, 0, 0, 204, 204, 478, 0,
1884 0, 0, 0, 0, 193, 0, 0, 0, 0, 51,
1885 51, 51, 0, 0, 194, 0, 0, 0, 0, 0,
1886 0, 0, 32, 0, 0, 204, 78, 195, 0, 0,
1887 0, 0, 0, 0, 202, 0, 1350, 1351, 9, 10,
1888 0, 78, 0, 0, 78, 0, 0, 0, 0, 0,
1889 369, 371, 0, 0, 0, 0, 78, 0, 0, 257,
1890 0, 0, 261, 0, 78, 0, 0, 0, 0, 0,
1891 0, 0, 0, 0, 21, 0, 0, 0, 7, 8,
1892 9, 10, 0, 257, 13, 365, 0, 26, 0, 27,
1893 28, 0, 78, 0, 78, 1352, 78, 78, 78, 0,
1894 0, 531, 78, 193, 0, 0, 18, 78, 0, 0,
1895 78, 0, 1069, 194, 1071, 0, 21, 0, 0, 0,
1896 0, 32, 619, 0, 1187, 0, 195, 0, 78, 26,
1897 0, 27, 28, 0, 0, 0, 0, 0, 0, 0,
1898 0, 0, 0, 0, 0, 1155, 0, 0, 0, 0,
1899 0, 627, 627, 627, 202, 1156, 0, 0, 0, 0,
1900 0, 1047, 0, 32, 0, 622, 0, 0, 1157, 624,
1901 0, 0, 202, 202, 202, 0, 0, 0, 0, 0,
1902 0, 0, 484, 0, 0, 0, 1105, 1106, 0, 1108,
1903 0, 0, 0, 0, 0, 781, 0, 1187, 1187, 1187,
1904 0, 202, 0, 0, 0, 0, 0, 204, 0, 7,
1905 8, 9, 10, 167, 12, 13, 0, 1126, 0, 0,
1906 14, 51, 0, 0, 0, 0, 0, 261, 0, 0,
1907 0, 0, 0, 0, 16, 0, 17, 18, 19, 0,
1908 642, 257, 20, 0, 0, 0, 0, 21, 0, 0,
1909 0, 23, 0, 0, 168, 0, 0, 0, 0, 0,
1910 26, 0, 27, 28, 0, 0, 0, 0, 1161, 0,
1911 0, 78, 561, 204, 0, 204, 30, 478, 478, 478,
1912 0, 0, 0, 204, 0, 0, 31, 0, 204, 0,
1913 0, 204, 0, 0, 32, 0, 0, 8, 9, 33,
1914 167, 12, 13, 0, 34, 732, 0, 14, 0, 0,
1915 78, 78, 78, 78, 0, 0, 0, 0, 0, 0,
1916 0, 16, 0, 17, 18, 1350, 127, 128, 10, 20,
1917 0, 0, 0, 257, 261, 0, 0, 0, 23, 0,
1918 0, 1206, 0, 0, 0, 687, 0, 26, 0, 130,
1919 131, 1357, 0, 1211, 0, 0, 1357, 78, 0, 0,
1920 0, 78, 0, 21, 0, 0, 0, 0, 78, 78,
1921 0, 78, 0, 0, 0, 0, 26, 0, 27, 28,
1922 0, 0, 0, 202, 1352, 0, 0, 0, 0, 0,
1923 0, 78, 30, 78, 0, 0, 0, 0, 78, 78,
1924 78, 0, 31, 0, 0, 0, 78, 0, 0, 871,
1925 32, 734, 0, 0, 0, 33, 0, 0, 0, 0,
1926 0, 0, 0, 627, 627, 0, 627, 0, 0, 0,
1927 0, 0, 0, 627, 0, 0, 0, 0, 0, 1262,
1928 0, 0, 0, 0, 0, 201, 1425, 201, 0, 202,
1929 0, 202, 204, 202, 202, 202, 0, 0, 0, 202,
1930 0, 0, 0, 0, 202, 0, 0, 202, 0, 7,
1931 8, 9, 10, 0, 0, 518, 0, 0, 1275, 805,
1932 0, 0, 808, 0, 0, 0, 810, 811, 813, 814,
1933 815, 950, 0, 950, 950, 0, 627, 18, 0, 561,
1934 0, 0, 0, 0, 0, 0, 0, 21, 0, 0,
1935 0, 0, 832, 619, 0, 0, 0, 0, 0, 0,
1936 26, 0, 27, 28, 0, 0, 0, 0, 0, 0,
1937 0, 0, 642, 0, 0, 0, 946, 0, 950, 0,
1938 0, 0, 0, 1365, 0, 0, 947, 1366, 0, 204,
1939 204, 0, 204, 0, 32, 0, 622, 0, 0, 948,
1940 624, 0, 0, 0, 0, 0, 889, 0, 78, 78,
1941 78, 0, 0, 889, 0, 0, 0, 0, 0, 204,
1942 0, 0, 1382, 0, 0, 0, 0, 0, 0, 764,
1943 0, 7, 8, 765, 10, 167, 12, 13, 0, 0,
1944 0, 0, 14, 531, 531, 531, 0, 0, 0, 0,
1945 0, 0, 257, 261, 0, 627, 16, 1189, 17, 18,
1946 19, 0, 0, 0, 20, -527, 0, 0, 202, 21,
1947 0, 0, 0, 23, 766, 0, 168, 0, 0, 0,
1948 0, 0, 26, 0, 27, 28, 0, 0, 767, 78,
1949 768, 0, 0, 0, 0, 0, 0, 201, 30, 1441,
1950 0, 0, 0, 1442, 0, 0, 0, 202, 31, 202,
1951 202, 0, 0, 0, 0, 0, 32, 0, 0, 0,
1952 0, 33, 687, 78, 0, 1460, 1461, 0, 627, 0,
1953 627, 0, 0, 0, 0, 0, 0, -527, 0, 0,
1954 0, 627, 0, 0, 0, 627, 627, 627, 0, 0,
1955 0, 0, 0, 0, 202, 0, 0, 0, 0, 0,
1956 0, 0, 0, 0, 0, 202, 202, 0, 202, 0,
1957 734, 0, 0, 0, 0, 0, 734, 0, 0, 0,
1958 0, 0, 0, 0, 0, 0, 0, 0, 0, 950,
1959 950, 1160, 0, 0, 0, 202, 0, 0, 0, 0,
1960 0, 7, 8, 9, 10, 167, 12, 13, 0, 0,
1961 732, 0, 14, 0, 0, 78, 78, 78, 78, 78,
1962 0, 0, 0, 78, 0, 0, 16, 0, 17, 18,
1963 0, 0, 0, 0, 20, 0, 0, 0, 1160, 21,
1964 0, 0, 0, 23, 1099, 619, 1189, 1189, 1189, 1483,
1965 0, 0, 26, 0, 27, 28, 0, 0, 0, 0,
1966 0, 0, 0, 0, 0, 0, 0, 0, 1155, 0,
1967 204, 0, 0, 0, 0, 0, 0, 832, 1156, 78,
1968 0, 0, 0, 734, 78, 0, 32, 889, 622, 0,
1969 0, 1157, 624, 0, 0, 0, 0, 0, 0, 1484,
1970 571, 572, 573, 574, 575, 576, 577, 578, 579, 580,
1971 581, 582, 583, 584, 585, 586, 587, 588, 589, 590,
1972 591, 592, 0, 0, 0, 687, 0, 1151, 257, 261,
1973 257, 889, 0, 0, 78, 78, 0, 78, 0, 0,
1974 0, 0, 0, 0, 0, 0, 0, 0, 871, 871,
1975 0, 871, 0, 0, 0, 7, 127, 128, 10, 0,
1976 0, 518, 0, 0, 0, 202, 202, 1158, 0, 0,
1977 102, 0, 257, 78, 78, 78, 0, 0, 889, 121,
1978 102, 0, 0, 18, 0, 0, 102, 102, 0, 102,
1979 0, 1193, 0, 21, 0, 0, 950, 950, 1160, 1160,
1980 1160, 0, 261, 0, 950, 0, 26, 734, 27, 28,
1981 0, 0, 0, 0, 1158, 0, 0, 0, 0, 734,
1982 0, 235, 30, 0, 0, 0, 0, 1160, 1160, 1160,
1983 0, 0, 31, 0, 0, 0, 0, 0, 0, 0,
1984 32, 0, 0, 0, 0, 33, 202, 0, 0, 0,
1985 0, 0, 0, 734, 0, 734, 0, 0, 0, 0,
1986 204, 0, 0, 0, 0, 0, 0, 484, 0, 0,
1987 7, 8, 9, 10, 214, 215, 216, 0, 0, 0,
1988 389, 14, 121, 1248, 0, 0, 0, 0, 1189, 102,
1989 102, 0, 0, 0, 0, 0, 102, 102, 18, 0,
1990 102, 102, 102, 20, 417, 102, 102, 102, 21, 0,
1991 0, 0, 23, 0, 619, 950, 950, 0, 950, 0,
1992 0, 26, 0, 27, 28, 0, 0, 0, 0, 0,
1993 0, 0, 0, 0, 0, 0, 0, 193, 0, 0,
1994 889, 0, 0, 0, 0, 0, 0, 194, 0, 0,
1995 0, 257, 0, 0, 204, 32, 204, 0, 0, 0,
1996 1426, 1189, 1189, 1189, 0, 0, 0, 0, 0, 889,
1997 0, 0, 202, 202, 202, 202, 1158, 0, 1274, 0,
1998 202, 0, 0, 1335, 0, 78, 0, 0, 0, 0,
1999 0, 0, 0, 0, 235, 102, 0, 0, 0, 0,
2000 0, 0, 0, 1158, 1158, 1158, 0, 0, 0, 0,
2001 0, 0, 0, 0, 0, 102, 0, 0, 0, 0,
2002 764, 0, 7, 8, 765, 10, 167, 12, 13, 0,
2003 0, 0, 0, 14, 0, 0, 202, 0, 0, 0,
2004 0, 0, 0, 0, 0, 0, 0, 16, 0, 17,
2005 18, 19, 0, 0, 102, 20, -529, 0, 0, 0,
2006 21, 0, 0, 0, 23, 766, 0, 168, 0, 478,
2007 0, 0, 0, 26, 0, 27, 28, 0, 0, 767,
2008 0, 768, 0, 0, 0, 0, 0, 0, 0, 30,
2009 0, 202, 202, 0, 202, 0, 0, 0, 0, 31,
2010 0, 0, 102, 0, 102, 102, 0, 32, 0, 0,
2011 0, 0, 33, 1193, 0, 0, 0, 0, 0, 0,
2012 0, 8, 9, 0, 167, 12, 13, 0, -529, 1551,
2013 202, 14, 202, 0, 0, 0, 0, 0, 0, 0,
2014 0, 0, 478, 478, 478, 16, 0, 17, 18, 102,
2015 0, 0, 0, 20, 0, 0, 0, 0, 0, 0,
2016 0, 0, 23, 0, 0, 0, 204, 0, 102, 0,
2017 0, 26, 0, 130, 131, 102, 0, 0, 102, 0,
2018 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2019 102, 1428, 0, 1285, 1286, 1287, 10, 167, 12, 301,
2020 302, 303, 0, 304, 14, 1288, 0, 1289, 1290, 1291,
2021 1292, 1293, 1294, 1295, 1296, 1297, 1298, 15, 16, 305,
2022 17, 18, 19, 0, 306, 307, 20, 0, 308, 309,
2023 310, 21, 311, 312, 1299, 23, 1300, 0, 0, 313,
2024 314, 315, 316, 317, 26, 1158, 1301, 319, 719, 0,
2025 1302, 320, 0, 0, 0, 0, 0, 321, 102, 0,
2026 322, 0, 0, 0, 0, 0, 0, 0, 323, 324,
2027 325, 0, 0, 0, 0, 0, 326, 327, 328, 0,
2028 0, 0, 0, 329, 561, 1303, 102, 0, 0, 0,
2029 0, 0, 0, 0, 0, 0, 0, 0, 0, 1429,
2030 330, 687, 577, 578, 579, 580, 581, 582, 583, 584,
2031 585, 586, 587, 588, 589, 590, 591, 592, 1158, 1158,
2032 1158, 0, 0, 0, 0, 1454, 0, -479, -479, -479,
2033 -479, -479, -479, -479, 0, 0, -479, 0, -479, 0,
2034 0, 0, 202, 0, 0, 0, 0, 0, 0, -479,
2035 0, -479, 0, 0, 0, -479, 0, 0, 0, 0,
2036 -479, 0, 102, 0, 0, -479, 0, 0, 0, -479,
2037 0, -479, 0, 102, 102, 0, 102, 102, -479, 0,
2038 -479, -479, -479, -479, -479, 0, -479, -479, -479, -479,
2039 -479, -479, -479, -479, -479, -479, -479, -479, -479, -479,
2040 -479, -479, -479, -479, -479, -479, -479, -479, -479, 0,
2041 -479, -479, -479, 0, -479, -479, -479, -479, -479, -479,
2042 0, -479, 0, 0, 0, 0, 1455, 0, 0, 102,
2043 0, -479, -479, -479, 0, -479, 102, 121, 0, 0,
2044 0, 0, 0, 0, 0, 0, 0, 0, 235, 0,
2045 0, 0, 0, 0, 0, 0, 0, 1284, 0, 1285,
2046 1286, 1287, 10, 167, 12, 301, 302, 303, 0, 304,
2047 14, 1288, 980, 1289, 1290, 1291, 1292, 1293, 1294, 1295,
2048 1296, 1297, 1298, 15, 16, 305, 17, 18, 19, 0,
2049 306, 307, 20, 0, 308, 309, 310, 21, 311, 312,
2050 1299, 23, 1300, 0, 0, 313, 314, 315, 316, 317,
2051 26, 0, 1301, 319, 719, 0, 1302, 320, 0, 980,
2052 0, 0, 102, 321, 0, 0, 322, 0, 0, 0,
2053 0, 0, 0, 0, 323, 324, 325, 0, 0, 0,
2054 0, 0, 326, 327, 328, 0, 0, 0, 0, 329,
2055 0, 1303, 0, 0, 0, 0, 102, 102, 102, 0,
2056 0, 0, 0, 0, 0, 0, 330, 0, 102, 0,
2057 553, 0, 300, 8, 9, 10, 167, 12, 301, 302,
2058 303, 732, 304, 14, 0, 0, 0, 0, 0, 0,
2059 0, 0, 0, 0, 0, 0, 0, 16, 305, 17,
2060 18, 19, 0, 306, 307, 20, 0, 308, 309, 310,
2061 21, 311, 312, 0, 23, 0, 619, 0, 313, 314,
2062 315, 316, 317, 26, 0, 27, 319, -312, 0, 0,
2063 320, 0, 0, 0, 0, 0, 321, 0, 0, 902,
2064 0, 102, 0, 102, 0, 0, 0, 323, 324, 903,
2065 0, 0, 0, 0, 102, 326, 327, 328, 0, 622,
2066 0, 0, 904, 624, 553, 0, 7, 8, 9, 10,
2067 167, 12, 301, 302, 303, 732, 304, 14, 0, 330,
2068 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2069 0, 16, 305, 17, 18, 19, 0, 306, 307, 20,
2070 0, 308, 309, 310, 21, 311, 312, 0, 23, 0,
2071 619, 0, 313, 314, 315, 316, 317, 26, 0, 27,
2072 28, -312, 0, 0, 320, 0, 0, 0, 0, 0,
2073 321, 0, 0, 1184, 0, 0, 0, 0, 0, 980,
2074 0, 323, 324, 1185, 0, 0, 0, 0, 0, 326,
2075 327, 328, 0, 622, 0, 0, 1186, 624, 731, 0,
2076 300, 8, 9, 10, 167, 12, 301, 302, 303, 732,
2077 304, 14, 0, 330, 0, 0, 0, 0, 0, 0,
2078 0, 0, 0, 0, 0, 16, 305, 17, 18, 19,
2079 0, 306, 307, 20, 0, 308, 309, 310, 21, 311,
2080 312, 0, 23, 0, 0, 102, 313, 314, 315, 316,
2081 317, 26, 0, 27, 319, 0, 0, 0, 320, 0,
2082 0, 0, 0, 0, 321, 0, 0, 322, 0, 0,
2083 0, 0, 0, 0, 0, 323, 324, 325, 0, 0,
2084 0, 0, 0, 326, 327, 328, 0, 0, 0, 0,
2085 329, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2086 0, 102, 102, 0, 102, -799, 835, 330, 300, 8,
2087 9, 10, 167, 12, 301, 302, 303, 0, 304, 14,
2088 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2089 0, 0, 0, 16, 305, 17, 18, 19, 0, 306,
2090 307, 20, 0, 308, 309, 310, 21, 311, 312, 0,
2091 23, 0, 0, 0, 313, 314, 315, 316, 317, 26,
2092 0, 27, 319, 1528, 980, -789, 320, 0, 0, 0,
2093 0, 0, 321, 0, 0, 322, 0, 0, 0, 0,
2094 0, 0, 0, 323, 324, 325, 0, 0, 0, 0,
2095 0, 326, 327, 328, 0, 0, 0, 0, 329, 0,
2096 722, 980, 823, 824, 825, 10, 0, 12, 535, 302,
2097 303, 0, 304, 14, 0, 330, 102, 0, 102, 0,
2098 0, 0, 0, 0, 0, 0, 0, 16, 305, 17,
2099 0, 19, 0, 306, 307, 20, 0, 308, 309, 310,
2100 21, 311, 312, 0, 23, 0, 0, 0, 313, 314,
2101 315, 316, 317, 26, 0, 826, 827, 723, 0, 0,
2102 320, 0, 0, 0, 0, 0, 321, 0, 0, 322,
2103 0, 0, 0, 0, 0, 0, 0, 323, 324, 325,
2104 0, 0, 0, 0, 0, 326, 327, 328, 0, 0,
2105 0, 0, 329, 828, 0, 0, 0, 0, 0, 0,
2106 0, 0, 0, 0, 0, 0, 0, 0, 987, 330,
2107 553, 0, 300, 8, 9, 10, 0, 12, 301, 302,
2108 303, 0, 304, 14, 0, 0, 0, 0, 0, 0,
2109 0, 0, 980, 0, 0, 0, 0, 16, 305, 17,
2110 18, 19, 0, 306, 307, 20, 0, 308, 309, 310,
2111 21, 311, 312, 0, 23, 0, 0, 0, 313, 314,
2112 315, 316, 317, 26, 0, 27, 319, -312, 0, 0,
2113 320, 0, 0, 0, 0, 0, 321, 0, 0, 554,
2114 0, 0, 0, 0, 0, 0, 0, 323, 324, 555,
2115 0, 0, 0, 0, 0, 326, 327, 328, 0, 0,
2116 0, 722, 556, 823, 824, 825, 10, 0, 12, 535,
2117 302, 303, 0, 304, 14, 0, 0, 0, 0, 330,
2118 0, 0, 0, 0, 0, 0, 0, 0, 16, 305,
2119 17, 0, 19, 0, 306, 307, 20, 0, 308, 309,
2120 310, 21, 311, 312, 0, 23, 0, 0, 0, 313,
2121 314, 315, 316, 317, 26, 0, 826, 827, 723, 0,
2122 0, 320, 0, 0, 0, 0, 0, 321, 0, 0,
2123 322, 0, 0, 0, 0, 0, 0, 0, 323, 324,
2124 325, 0, 0, 0, 0, 0, 326, 327, 328, 0,
2125 0, 0, 0, 329, 828, 722, 0, 823, 824, 825,
2126 10, 0, 12, 535, 302, 303, 0, 304, 14, 0,
2127 330, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2128 0, 0, 16, 305, 17, 0, 19, 0, 306, 307,
2129 20, 0, 308, 309, 310, 21, 311, 312, 0, 23,
2130 0, 0, 0, 313, 314, 315, 316, 317, 26, 0,
2131 826, 827, 723, 0, 0, 320, 0, 0, 0, 0,
2132 0, 321, 0, 0, 322, 0, 0, 0, 0, 0,
2133 0, 0, 323, 324, 325, 0, 0, 0, 0, 0,
2134 326, 327, 328, 0, 0, 0, 722, 329, 823, 824,
2135 825, 10, 0, 12, 535, 302, 303, 0, 304, 14,
2136 0, 0, 0, -483, 330, 0, 0, 0, 0, 0,
2137 0, 0, 0, 16, 305, 17, 0, 19, 0, 306,
2138 307, 20, 0, 308, 309, 310, 21, 311, 312, 0,
2139 23, 0, 0, 0, 313, 314, 315, 316, 317, 26,
2140 0, 826, 827, 723, 0, 0, 320, 0, 0, 0,
2141 0, 0, 321, 0, 0, 322, 0, 0, 0, 0,
2142 0, 0, 0, 323, 324, 325, 0, 0, 0, 0,
2143 0, 326, 327, 328, 0, 0, 0, 722, 329, 300,
2144 8, 9, 10, 0, 12, 535, 302, 303, 0, 304,
2145 14, 0, 0, 0, 1323, 330, 0, 0, 0, 0,
2146 0, 0, 0, 0, 16, 305, 17, 0, 19, 0,
2147 306, 307, 20, 0, 308, 309, 310, 21, 311, 312,
2148 0, 23, 0, 0, 0, 313, 314, 315, 316, 317,
2149 26, 0, 27, 319, 723, 0, 0, 320, 0, 0,
2150 0, 0, 0, 321, 0, 0, 322, 0, 0, 0,
2151 0, 0, 0, 0, 323, 324, 325, 0, 0, 0,
2152 0, 0, 326, 327, 328, 0, 0, 0, 0, 329,
2153 0, 553, 0, 7, 8, 9, 10, 1327, 12, 301,
2154 302, 303, 0, 304, 14, 0, 330, 0, 0, 0,
2155 0, 0, 0, 0, 0, 0, 0, 0, 16, 305,
2156 17, 18, 19, 0, 306, 307, 20, 0, 308, 309,
2157 310, 21, 311, 312, 0, 23, 0, 0, 0, 313,
2158 314, 315, 316, 317, 26, 0, 27, 28, -312, 0,
2159 0, 320, 0, 0, 0, 0, 0, 321, 0, 0,
2160 1499, 0, 0, 0, 0, 0, 0, 0, 323, 324,
2161 1500, 0, 0, 0, 0, 0, 326, 327, 328, 0,
2162 0, 0, 722, 1501, 300, 8, 9, 10, 0, 12,
2163 535, 302, 303, 0, 304, 14, 0, 0, 0, 0,
2164 330, 0, 0, 0, 0, 0, 0, 0, 0, 16,
2165 305, 17, 0, 19, 0, 306, 307, 20, 0, 308,
2166 309, 310, 21, 311, 312, 0, 23, 0, 0, 0,
2167 313, 314, 315, 316, 317, 26, 0, 27, 319, 723,
2168 0, 0, 320, 0, 0, 0, 0, 0, 321, 0,
2169 0, 322, 0, 0, 0, 0, 0, 0, 0, 323,
2170 324, 325, 0, 0, 0, 0, 0, 326, 327, 328,
2171 0, 0, 0, 835, 329, 300, 8, 9, 10, 0,
2172 12, 535, 302, 303, 0, 304, 14, 0, 0, 0,
2173 0, 330, 0, 0, 0, 0, 0, 0, 0, 0,
2174 16, 305, 17, 0, 19, 0, 306, 307, 20, 0,
2175 308, 309, 310, 21, 311, 312, 0, 23, 0, 0,
2176 0, 313, 314, 315, 316, 317, 26, 0, 27, 319,
2177 0, 0, 0, 320, -789, 0, 0, 0, 0, 321,
2178 0, 0, 322, 0, 0, 0, 0, 0, 0, 0,
2179 323, 324, 325, 0, 0, 0, 0, 0, 326, 327,
2180 328, 0, 0, 0, 1580, 329, 300, 8, 9, 10,
2181 0, 12, 301, 302, 303, 0, 304, 14, 0, 0,
2182 0, 0, 330, 0, 0, 0, 0, 0, 0, 0,
2183 0, 16, 305, 17, 0, 19, 0, 306, 307, 20,
2184 0, 308, 309, 310, 21, 311, 312, 0, 23, 0,
2185 0, 0, 313, 314, 315, 316, 317, 26, 0, 27,
2186 319, 0, 0, -196, 320, 0, 0, 0, 0, 0,
2187 321, 0, 0, 322, 0, 0, 0, 0, 0, 0,
2188 0, 323, 324, 325, 0, 0, 0, 0, 0, 326,
2189 327, 328, 0, 0, 0, 835, 329, 300, 8, 9,
2190 10, 0, 12, 535, 302, 303, 0, 304, 14, 0,
2191 0, 0, 0, 330, 0, 0, 0, 0, 0, 0,
2192 0, 0, 16, 305, 17, 0, 19, 0, 306, 307,
2193 20, 0, 308, 309, 310, 21, 311, 312, 0, 23,
2194 0, 0, 0, 313, 314, 315, 316, 317, 26, 0,
2195 27, 319, 0, 0, 0, 320, 0, 0, 0, 0,
2196 0, 321, 263, 0, 322, 8, 9, 0, 0, 12,
2197 13, 0, 323, 324, 325, 14, 0, 0, 0, 0,
2198 326, 327, 328, 0, 0, 0, 0, 329, 0, 16,
2199 0, 17, 0, 0, 0, 0, 0, 20, 0, 264,
2200 265, 0, -789, 0, 330, 0, 23, 0, 266, 0,
2201 0, 0, 0, 0, 0, 26, 0, 130, 131, 0,
2202 267, 0, 0, 0, 268, 269, 270, 271, 272, 273,
2203 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
2204 284, 285, 286, 287, 288, 0, 0, 289, 290, 291,
2205 0, 0, 292, 0, 924, 293, 300, 8, 9, 10,
2206 0, 12, 535, 302, 303, 0, 304, 14, 0, 0,
2207 0, 294, 0, 0, 0, 0, 0, 0, 0, 0,
2208 0, 16, 305, 17, 0, 19, 0, 306, 307, 20,
2209 0, 308, 309, 310, 21, 311, 312, 0, 23, 0,
2210 0, 0, 313, 314, 315, 316, 317, 26, 0, 27,
2211 319, 0, 0, 0, 320, 0, 0, 0, 0, 0,
2212 321, 0, 0, 322, 0, 0, 0, 0, 0, 0,
2213 0, 323, 324, 325, 0, 0, 0, 0, 0, 326,
2214 327, 328, 0, 0, 0, 926, 329, 300, 8, 9,
2215 10, 0, 12, 535, 302, 303, 0, 304, 14, 0,
2216 0, 0, 0, 330, 0, 0, 0, 0, 0, 0,
2217 0, 0, 16, 305, 17, 0, 19, 0, 306, 307,
2218 20, 0, 308, 309, 310, 21, 311, 312, 0, 23,
2219 0, 0, 0, 313, 314, 315, 316, 317, 26, 0,
2220 27, 319, 0, 0, 0, 320, 0, 0, 0, 0,
2221 0, 321, 0, 0, 322, 0, 0, 0, 0, 0,
2222 0, 0, 323, 324, 325, 0, 0, 0, 0, 0,
2223 326, 327, 328, 0, 0, 0, 1512, 329, 300, 8,
2224 9, 10, 0, 12, 535, 302, 303, 0, 304, 14,
2225 0, 0, 0, 0, 330, 0, 0, 0, 0, 0,
2226 0, 0, 0, 16, 305, 17, 0, 19, 0, 306,
2227 307, 20, 0, 308, 309, 310, 21, 311, 312, 0,
2228 23, 0, 0, 0, 313, 314, 315, 316, 317, 26,
2229 0, 27, 319, 0, 0, 0, 320, 0, 0, 0,
2230 0, 0, 321, 0, 0, 322, 0, 0, 0, 0,
2231 0, 0, 0, 323, 324, 325, 0, 0, 0, 0,
2232 0, 326, 327, 328, 300, 8, 9, 10, 329, 12,
2233 535, 302, 303, 0, 304, 14, 0, 0, 0, 0,
2234 0, 0, 0, 0, 0, 330, 0, 0, 0, 16,
2235 305, 17, 0, 19, 0, 306, 307, 20, 0, 308,
2236 309, 310, 21, 311, 312, 0, 23, 0, 0, 0,
2237 313, 314, 315, 316, 317, 26, 0, 27, 319, 0,
2238 0, 0, 320, 0, 0, 0, 0, 0, 321, 0,
2239 764, 322, 7, 8, 765, 10, 167, 12, 13, 323,
2240 324, 325, 0, 14, 0, 0, 0, 326, 327, 328,
2241 0, 0, 0, 0, 329, 0, 0, 16, 0, 17,
2242 18, 19, 0, 0, 0, 20, -528, 0, 0, 0,
2243 21, 330, 874, 0, 23, 766, 0, 168, 0, 0,
2244 0, 0, 0, 26, 0, 27, 28, 0, 0, 767,
2245 0, 768, 0, 0, 0, 0, 0, 0, 0, 30,
2246 0, 0, 0, 0, 0, 0, 0, 0, 0, 31,
2247 0, 0, 0, 0, 0, 0, 0, 32, 0, 0,
2248 0, 0, 33, 0, 0, 1285, 1286, 1287, 10, 167,
2249 12, 301, 302, 303, 0, 304, 14, 1288, -528, 1289,
2250 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297, 1298, 15,
2251 16, 305, 17, 18, 19, 0, 306, 307, 20, 0,
2252 308, 309, 310, 21, 311, 312, 1299, 23, 1300, 0,
2253 0, 313, 314, 315, 316, 317, 26, 0, 1301, 319,
2254 719, 0, 1302, 320, 0, 0, 0, 0, 0, 321,
2255 0, 0, 322, 0, 0, 0, 0, 0, 0, 0,
2256 323, 324, 325, 0, 0, 0, 0, 0, 326, 327,
2257 328, 0, 0, 0, 0, 329, 0, 1303, 0, 0,
2258 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2259 0, 1433, 330, 1285, 1286, 1287, 10, 167, 12, 301,
2260 302, 303, 0, 304, 14, 1288, 0, 1289, 1290, 1291,
2261 1292, 1293, 1294, 1295, 1296, 1297, 1298, 15, 16, 305,
2262 17, 18, 19, 0, 306, 307, 20, 0, 308, 309,
2263 310, 21, 311, 312, 1299, 23, 1300, 0, 0, 313,
2264 314, 315, 316, 317, 26, 0, 1301, 319, 719, 0,
2265 1302, 320, 0, 0, 0, 0, 0, 321, 0, 0,
2266 322, 0, 0, 0, 0, 0, 0, 0, 323, 324,
2267 325, 0, 0, 0, 0, 0, 326, 327, 328, 0,
2268 0, 0, 0, 329, 0, 1303, 0, 1285, 1286, 1287,
2269 10, 167, 12, 301, 302, 303, 0, 304, 14, 1288,
2270 330, 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297,
2271 1298, 15, 16, 305, 17, 18, 19, 0, 306, 307,
2272 20, 0, 308, 309, 310, 21, 311, 312, 1299, 23,
2273 1300, 0, 0, 313, 314, 315, 316, 317, 26, 0,
2274 1301, 319, 1557, 0, 1302, 320, 0, 0, 0, 0,
2275 0, 321, 0, 0, 322, 0, 0, 0, 0, 0,
2276 0, 0, 323, 324, 325, 0, 0, 0, 0, 0,
2277 326, 327, 328, 0, 0, 0, 0, 329, 0, 1303,
2278 0, 1285, 1286, 1287, 10, 167, 12, 301, 302, 303,
2279 0, 304, 14, 1288, 330, 1289, 1290, 1291, 1292, 1293,
2280 1294, 1295, 1296, 1297, 1298, 15, 16, 305, 17, 18,
2281 19, 0, 306, 307, 20, 0, 308, 309, 310, 21,
2282 311, 312, 1299, 23, 1300, 0, 0, 313, 314, 315,
2283 316, 317, 26, 0, 1301, 319, 0, 0, 1302, 320,
2284 0, 0, 0, 0, 0, 321, 0, 0, 322, 0,
2285 0, 0, 0, 0, 0, 0, 323, 324, 325, 0,
2286 0, 0, 0, 0, 326, 327, 328, 0, 0, 0,
2287 0, 329, 0, 1303, 300, 8, 9, 10, 167, 12,
2288 301, 302, 303, 732, 304, 14, 0, 0, 330, 0,
2289 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
2290 305, 17, 18, 19, 0, 306, 307, 20, 0, 308,
2291 309, 310, 21, 311, 312, 0, 23, 0, 619, 0,
2292 313, 314, 315, 316, 317, 26, 0, 27, 319, 0,
2293 0, 0, 320, 0, 0, 0, 0, 0, 321, 0,
2294 0, 902, 0, 0, 0, 0, 0, 0, 0, 323,
2295 324, 903, 0, 0, 0, 0, 0, 326, 327, 328,
2296 0, 622, 0, 0, 904, 624, 7, 8, 9, 10,
2297 167, 12, 301, 302, 303, 732, 304, 14, 0, 0,
2298 0, 330, 0, 0, 0, 0, 0, 0, 0, 0,
2299 0, 16, 305, 17, 18, 19, 0, 306, 307, 20,
2300 0, 308, 309, 310, 21, 311, 312, 0, 23, 0,
2301 619, 0, 313, 314, 315, 316, 317, 26, 0, 27,
2302 28, 0, 0, 0, 320, 0, 0, 0, 0, 0,
2303 321, 0, 0, 1184, 0, 0, 0, 0, 0, 0,
2304 0, 323, 324, 1185, 0, 0, 0, 0, 0, 326,
2305 327, 328, 0, 622, 0, 0, 1186, 624, 7, 8,
2306 9, 10, 0, 12, 301, 302, 303, 0, 304, 14,
2307 0, 0, 0, 330, 0, 0, 0, 0, 0, 0,
2308 0, 0, 0, 16, 305, 17, 18, 19, 0, 306,
2309 307, 20, 0, 308, 309, 310, 21, 311, 312, 0,
2310 23, 0, 619, 0, 313, 314, 315, 316, 317, 26,
2311 0, 27, 28, 0, 0, 0, 0, 0, 0, 0,
2312 0, 0, 321, 0, 0, 1184, 0, 0, 0, 0,
2313 0, 0, 0, 323, 324, 1185, 0, 0, 0, 0,
2314 0, 326, 327, 328, 0, 622, 0, 0, 1186, 624,
2315 300, 8, 9, 10, 0, 12, 535, 302, 303, 0,
2316 304, 14, 0, 0, 0, 330, 0, 0, 0, 0,
2317 0, 0, 0, 0, 0, 16, 305, 17, 18, 19,
2318 0, 306, 307, 20, 0, 308, 309, 310, 21, 311,
2319 312, 0, 23, 0, 0, 0, 313, 314, 315, 316,
2320 317, 26, 0, 27, 319, 0, 0, 0, 320, 0,
2321 0, 0, 0, 0, 321, 0, 0, 554, 0, 0,
2322 0, 0, 0, 0, 0, 323, 324, 555, 0, 0,
2323 0, 0, 0, 326, 327, 328, 300, 8, 9, 10,
2324 556, 12, 535, 302, 303, 0, 304, 14, 0, 0,
2325 0, 0, 0, 0, 0, 0, 0, 330, 0, 0,
2326 0, 16, 305, 17, 0, 19, 0, 306, 307, 20,
2327 0, 308, 309, 310, 21, 311, 312, 0, 23, 0,
2328 0, 0, 313, 314, 315, 316, 317, 26, 0, 27,
2329 319, 0, 0, 1406, 320, 0, 0, 0, 0, 0,
2330 321, 0, 0, 322, 0, 0, 0, 0, 0, 0,
2331 0, 323, 324, 325, 0, 0, 0, 0, 0, 326,
2332 327, 328, 0, 0, 0, 0, 329, 300, 8, 9,
2333 10, 167, 12, 301, 302, 303, 0, 304, 14, 0,
2334 0, 0, 0, 330, 0, 0, 0, 0, 0, 0,
2335 0, 0, 16, 305, 17, 18, 19, 0, 306, 307,
2336 20, 0, 308, 309, 310, 21, 311, 312, 0, 23,
2337 0, 0, 0, 313, 314, 315, 316, 317, 26, 0,
2338 27, 319, 0, 0, 0, 0, 0, 0, 0, 0,
2339 0, 321, 0, 0, 322, 0, 0, 0, 0, 0,
2340 0, 0, 323, 324, 325, 0, 0, 0, 0, 0,
2341 326, 327, 328, 7, 8, 9, 10, 329, 12, 535,
2342 302, 303, 0, 304, 14, 0, 0, 0, 0, 0,
2343 0, 0, 0, 0, 330, 0, 0, 0, 16, 305,
2344 17, 18, 19, 0, 306, 307, 20, 0, 308, 309,
2345 310, 21, 311, 312, 0, 23, 0, 0, 0, 313,
2346 314, 315, 316, 317, 26, 0, 27, 28, 0, 0,
2347 0, 320, 0, 0, 0, 0, 0, 321, 0, 0,
2348 1499, 0, 0, 0, 0, 0, 0, 0, 323, 324,
2349 1500, 0, 0, 0, 0, 0, 326, 327, 328, 300,
2350 8, 9, 10, 1501, 12, 301, 302, 303, 0, 304,
2351 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2352 330, 0, 0, 0, 16, 305, 17, 0, 19, 0,
2353 306, 307, 20, 0, 308, 309, 310, 21, 311, 312,
2354 0, 23, 0, 0, 0, 313, 314, 315, 316, 317,
2355 26, 0, 318, 319, 0, 0, 0, 320, 0, 0,
2356 0, 0, 0, 321, 0, 0, 322, 0, 0, 0,
2357 0, 0, 0, 0, 323, 324, 325, 0, 0, 0,
2358 0, 0, 326, 327, 328, 300, 8, 9, 10, 329,
2359 12, 301, 302, 303, 0, 304, 14, 0, 0, 0,
2360 0, 0, 0, 0, 0, 0, 330, 0, 0, 0,
2361 16, 305, 17, 0, 19, 0, 306, 307, 20, 0,
2362 308, 309, 310, 21, 311, 312, 0, 23, 0, 0,
2363 0, 313, 314, 315, 316, 317, 26, 0, 27, 319,
2364 0, 0, 0, 320, 0, 0, 0, 0, 0, 321,
2365 0, 0, 322, 0, 0, 0, 0, 0, 0, 0,
2366 323, 324, 325, 0, 0, 0, 0, 0, 326, 327,
2367 328, 300, 8, 9, 10, 329, 12, 535, 302, 303,
2368 0, 304, 14, 0, 0, 0, 0, 0, 0, 0,
2369 0, 0, 330, 0, 0, 0, 16, 305, 17, 0,
2370 19, 0, 306, 307, 20, 0, 308, 309, 310, 21,
2371 311, 312, 0, 23, 0, 0, 0, 313, 314, 315,
2372 316, 317, 26, 0, 27, 319, 0, 0, 0, 320,
2373 0, 0, 0, 0, 0, 321, 0, 0, 322, 0,
2374 0, 0, 0, 0, 0, 0, 323, 324, 325, 0,
2375 0, 0, 0, 0, 326, 327, 328, 300, 8, 9,
2376 10, 329, 12, 535, 302, 303, 0, 304, 14, 0,
2377 0, 0, 0, 0, 0, 0, 0, 0, 330, 0,
2378 0, 0, 16, 305, 17, 0, 19, 0, 306, 307,
2379 20, 0, 308, 309, 310, 21, 311, 312, 0, 23,
2380 0, 0, 0, 313, 314, 315, 316, 317, 26, 0,
2381 27, 319, 568, 0, 0, 0, 0, 0, 0, 0,
2382 0, 321, 0, 0, 322, 0, 0, 0, 0, 0,
2383 0, 0, 323, 324, 325, 0, 0, 0, 0, 0,
2384 326, 327, 328, 300, 8, 9, 10, 569, 12, 535,
2385 302, 303, 0, 304, 14, 0, 0, 0, 0, 0,
2386 0, 0, 0, 0, 330, 0, 0, 0, 16, 305,
2387 17, 0, 19, 0, 306, 307, 20, 0, 308, 309,
2388 310, 21, 311, 312, 0, 23, 0, 0, 0, 313,
2389 314, 315, 316, 317, 26, 0, 27, 319, 0, 0,
2390 0, 0, 0, 0, 0, 0, 0, 321, 0, 0,
2391 322, 0, 0, 0, 0, 0, 0, 0, 323, 324,
2392 325, 0, 0, 0, 0, 0, 326, 327, 328, 0,
2393 0, 0, 0, 329, 607, 300, 8, 9, 10, 0,
2394 12, 535, 302, 303, 0, 304, 14, 0, 0, 0,
2395 330, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2396 16, 305, 17, 18, 19, 0, 306, 307, 20, 0,
2397 308, 309, 310, 21, 311, 312, 0, 23, 0, 0,
2398 0, 313, 314, 315, 316, 317, 26, 0, 27, 319,
2399 0, 0, 0, 0, 0, 0, 0, 0, 0, 321,
2400 0, 0, 554, 0, 0, 0, 0, 0, 0, 0,
2401 323, 324, 555, 0, 0, 0, 0, 0, 326, 327,
2402 328, 1144, 8, 9, 10, 556, 12, 535, 302, 303,
2403 0, 304, 14, 0, 0, 0, 0, 0, 0, 0,
2404 0, 0, 330, 0, 0, 0, 16, 305, 17, 0,
2405 19, 0, 306, 307, 20, 0, 308, 309, 310, 21,
2406 311, 312, 0, 23, 0, 0, 0, 313, 314, 315,
2407 316, 317, 26, 0, 27, 319, 0, 0, 0, 320,
2408 0, 0, 0, 0, 0, 321, 0, 0, 322, 0,
2409 0, 0, 0, 0, 0, 0, 323, 324, 325, 0,
2410 0, 0, 0, 0, 326, 327, 328, 7, 8, 9,
2411 10, 329, 12, 301, 302, 303, 0, 304, 14, 0,
2412 0, 0, 0, 0, 0, 0, 0, 0, 330, 0,
2413 0, 0, 16, 305, 17, 18, 19, 0, 306, 307,
2414 20, 0, 308, 309, 310, 21, 311, 312, 0, 23,
2415 0, 0, 0, 313, 314, 315, 316, 317, 26, 0,
2416 27, 28, 0, 0, 0, 0, 0, 0, 0, 0,
2417 0, 321, 0, 0, 1499, 0, 0, 0, 0, 0,
2418 0, 0, 323, 324, 1500, 0, 0, 0, 0, 0,
2419 326, 327, 328, 300, 8, 9, 10, 1501, 12, 535,
2420 302, 303, 0, 304, 14, 0, 0, 0, 0, 0,
2421 0, 0, 0, 0, 330, 0, 0, 0, 16, 305,
2422 17, 0, 19, 0, 306, 307, 20, 0, 308, 309,
2423 310, 21, 311, 312, 0, 23, 0, 0, 0, 313,
2424 314, 315, 316, 317, 26, 0, 27, 319, 0, 0,
2425 0, 0, 0, 0, 0, 0, 0, 321, 0, 0,
2426 322, 0, 0, 0, 0, 0, 0, 0, 323, 324,
2427 325, 0, 0, 0, 0, 0, 326, 327, 328, 300,
2428 8, 9, 10, 536, 12, 535, 302, 303, 0, 304,
2429 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2430 330, 0, 0, 0, 16, 305, 17, 0, 19, 0,
2431 306, 307, 20, 0, 308, 309, 310, 21, 311, 312,
2432 0, 23, 0, 0, 0, 313, 314, 315, 316, 317,
2433 26, 0, 27, 319, 0, 0, 0, 0, 0, 0,
2434 0, 0, 0, 321, 0, 0, 322, 0, 0, 0,
2435 0, 0, 0, 0, 323, 324, 325, 0, 0, 0,
2436 0, 0, 326, 327, 328, 300, 8, 9, 10, 539,
2437 12, 535, 302, 303, 0, 304, 14, 0, 0, 0,
2438 0, 0, 0, 0, 0, 0, 330, 0, 0, 0,
2439 16, 305, 17, 0, 19, 0, 306, 307, 20, 0,
2440 308, 309, 310, 21, 311, 312, 0, 23, 0, 0,
2441 0, 313, 314, 315, 316, 317, 26, 0, 27, 319,
2442 0, 0, 0, 0, 0, 0, 0, 0, 0, 321,
2443 0, 6, 322, 7, 8, 9, 10, 11, 12, 13,
2444 323, 324, 325, 0, 14, 0, 0, 0, 326, 327,
2445 328, 0, 0, 0, 0, 329, 0, 15, 16, 0,
2446 17, 18, 19, 0, 0, 0, 20, 0, 0, 0,
2447 0, 21, 330, 0, 22, 23, 24, 0, 25, 0,
2448 0, 0, 0, 0, 26, 0, 27, 28, 0, 0,
2449 29, 0, 7, 8, 9, 10, 0, 0, 246, 0,
2450 30, 0, 0, 0, 0, 0, 0, 0, 0, 166,
2451 31, 7, 8, 9, 10, 167, 12, 13, 32, 0,
2452 18, 0, 14, 33, 0, 0, 0, 0, 34, 0,
2453 21, 0, 0, 0, 0, 0, 16, 0, 17, 18,
2454 19, 0, 0, 26, 20, 27, 28, 0, 0, 21,
2455 0, 0, 0, 23, 0, 0, 168, 0, 0, 193,
2456 0, 0, 26, 0, 27, 28, 0, 0, 764, 194,
2457 7, 8, 765, 10, 167, 12, 13, 32, 30, 0,
2458 0, 14, 195, 0, 0, 0, 0, 0, 31, 0,
2459 0, 0, 0, 0, 0, 16, 32, 17, 18, 19,
2460 0, 33, 0, 20, 0, 0, 34, 0, 21, 0,
2461 0, 0, 23, 766, 0, 168, 0, 0, 0, 0,
2462 0, 26, 0, 27, 28, 0, 0, 767, 0, 768,
2463 0, 0, 0, 0, 0, 0, 6, 30, 7, 8,
2464 9, 10, 11, 12, 13, 0, 0, 31, 0, 14,
2465 0, 0, 0, 0, 0, 32, 0, 0, 0, 0,
2466 33, 0, 0, 16, 0, 17, 18, 0, 0, 0,
2467 0, 20, 0, 0, 0, 0, 21, 0, 0, 0,
2468 23, 0, 0, 438, 0, 0, 0, 0, 0, 26,
2469 0, 27, 28, 0, 0, 29, 0, -387, 8, 9,
2470 -387, -387, 12, 246, 0, 30, 0, 0, 14, 0,
2471 0, 0, 0, 0, 0, 31, 0, 0, 0, 0,
2472 0, 0, 16, 32, 17, -387, 0, 0, 33, 0,
2473 20, 0, 0, 0, 0, -387, 0, 0, 0, 23,
2474 0, 619, 0, 0, 0, 0, 0, 0, 26, 0,
2475 130, 131, 7, 8, 9, 10, 205, 12, 206, 0,
2476 0, 0, 0, 14, 620, 0, 0, 0, 0, 0,
2477 0, 0, 0, 0, 621, 0, 0, 16, 0, 17,
2478 18, 0, -387, 0, 622, 20, 0, 623, 624, 0,
2479 21, 0, 0, 0, 23, 0, 0, 0, 0, 0,
2480 0, 0, 0, 26, 0, 27, 28, 0, 0, 207,
2481 0, 1037, 8, 765, 10, 205, 12, 206, 0, 30,
2482 0, 0, 14, 0, 0, 0, 0, 0, 0, 31,
2483 0, 0, 0, 0, 0, 0, 16, 32, 17, 18,
2484 0, 0, 33, 0, 20, 0, 0, 0, 0, 21,
2485 0, 0, 0, 23, 0, 0, 0, 0, 0, 0,
2486 0, 0, 26, 0, 27, 28, 0, 0, 0, 0,
2487 1039, 0, 0, 0, 0, 0, 0, 0, 30, 7,
2488 8, 9, 10, 205, 12, 206, 0, 0, 31, 0,
2489 14, 0, 0, 0, 0, 0, 32, 0, 0, 0,
2490 0, 33, 0, 0, 16, 0, 17, 18, 0, 0,
2491 0, 0, 20, 0, 0, 0, 0, 21, 0, 0,
2492 0, 23, 0, 0, 0, 0, 0, 0, 0, 0,
2493 26, 0, 27, 28, 0, 0, 1423, 0, 7, 8,
2494 9, 10, 167, 12, 13, 0, 30, 0, 0, 14,
2495 0, 0, 0, 0, 0, 0, 31, 0, 0, 0,
2496 0, 0, 0, 16, 32, 17, 18, 0, 0, 33,
2497 0, 20, 0, 0, 0, 0, 21, 0, 0, 0,
2498 23, 0, 0, 0, 0, 0, 0, 0, 0, 26,
2499 0, 27, 28, 7, 8, 9, 10, 205, 12, 206,
2500 0, 0, 0, 0, 14, 30, 0, 0, 0, 0,
2501 7, 8, 9, 10, 0, 31, 13, 0, 16, 0,
2502 17, 18, 0, 32, 0, 0, 20, 0, 33, 0,
2503 0, 21, 0, 0, 0, 23, 0, 0, 18, 0,
2504 0, 0, 0, 0, 26, 0, 27, 28, 21, 0,
2505 0, 7, 8, 9, 10, 0, 0, 518, 0, 0,
2506 30, 26, 0, 27, 28, 0, 0, 0, 0, 0,
2507 31, 0, 0, 0, 0, 0, 0, 474, 32, 18,
2508 0, 0, 0, 33, 0, 0, 0, 475, 0, 21,
2509 0, 0, 0, 0, 0, 32, 0, 0, 0, 0,
2510 476, 0, 26, 0, 27, 28, 0, 0, 0, 0,
2511 18, 0, 0, 0, 0, 0, 0, 0, 193, 0,
2512 0, 0, 0, 0, 0, 0, 0, 0, 194, 0,
2513 0, 0, 0, 0, 0, 0, 32, 0, 0, 0,
2514 0, 195, 571, 572, 573, 574, 575, 576, 577, 578,
2515 579, 580, 581, 582, 583, 584, 585, 586, 587, 588,
2516 589, 590, 591, 592, 571, 572, 573, 574, 575, 576,
2517 577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
2518 587, 588, 589, 590, 591, 592, 571, 572, 573, 574,
2519 575, 576, 577, 578, 579, 580, 581, 582, 583, 584,
2520 585, 586, 587, 588, 589, 590, 591, 592, 0, 0,
2521 0, 0, 1238, 0, 0, 0, 0, 0, 0, 0,
2522 0, 0, 0, 0, 0, 0, 0, 660, 0, 0,
2523 1547, 571, 572, 573, 574, 575, 576, 577, 578, 579,
2524 580, 581, 582, 583, 584, 585, 586, 587, 588, 589,
2525 590, 591, 592, 1565, 571, 572, 573, 574, 575, 576,
2526 577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
2527 587, 588, 589, 590, 591, 592, 571, 572, 573, 574,
2528 575, 576, 577, 578, 579, 580, 581, 582, 583, 584,
2529 585, 586, 587, 588, 589, 590, 591, 592, 571, 572,
2530 573, 574, 575, 576, 577, 578, 579, 580, 581, 582,
2531 0, 584, 585, 586, 587, 588, 589, 590, 591, 592,
2532 575, 576, 577, 578, 579, 580, 581, 582, 583, 584,
2533 585, 586, 587, 588, 589, 590, 591, 592, 576, 577,
2534 578, 579, 580, 581, 582, 583, 584, 585, 586, 587,
2535 588, 589, 590, 591, 592, 578, 579, 580, 581, 582,
2536 583, 584, 585, 586, 587, 588, 589, 590, 591, 592
2537 };
2538
2539 static const short yycheck[] = { 4,
2540 174, 149, 150, 176, 23, 209, 55, 161, 175, 4,
2541 349, 126, 717, 402, 80, 455, 156, 14, 4, 402,
2542 251, 90, 4, 92, 46, 42, 482, 355, 355, 566,
2543 35, 134, 80, 304, 305, 42, 863, 42, 84, 623,
2544 35, 373, 59, 247, 133, 134, 630, 699, 716, 35,
2545 4, 1304, 57, 35, 76, 402, 42, 42, 603, 646,
2546 42, 503, 692, 787, 1481, 1388, 337, 72, 137, 793,
2547 124, 62, 217, 218, 54, 133, 30, 31, 144, 84,
2548 42, 35, 460, 88, 4, 90, 83, 92, 42, 440,
2549 209, 769, 296, 771, 1482, 763, 42, 11, 1504, 218,
2550 778, 11, 107, 108, 60, 4, 1480, 11, 47, 106,
2551 33, 47, 0, 700, 7, 35, 12, 59, 1524, 490,
2552 560, 37, 42, 12, 355, 33, 175, 54, 356, 357,
2553 84, 136, 137, 0, 139, 62, 35, 203, 509, 1314,
2554 1, 4, 47, 42, 37, 349, 1321, 74, 62, 140,
2555 9, 1525, 169, 109, 93, 94, 1, 93, 165, 74,
2556 165, 1, 169, 59, 169, 156, 62, 109, 624, 108,
2557 59, 176, 35, 62, 1562, 155, 900, 1583, 59, 42,
2558 408, 409, 136, 169, 169, 84, 109, 169, 93, 94,
2559 1607, 213, 209, 109, 108, 149, 150, 58, 108, 538,
2560 217, 218, 61, 108, 108, 33, 57, 169, 4, 5,
2561 47, 165, 108, 58, 262, 169, 136, 62, 58, 62,
2562 200, 212, 62, 169, 74, 54, 48, 108, 1481, 220,
2563 247, 4, 4, 62, 47, 25, 47, 136, 1528, 193,
2564 194, 149, 150, 151, 1567, 165, 237, 47, 1622, 169,
2565 95, 248, 4, 47, 93, 95, 93, 346, 54, 93,
2566 56, 57, 35, 35, 916, 108, 165, 919, 58, 60,
2567 169, 108, 62, 136, 70, 3, 4, 5, 718, 296,
2568 93, 94, 93, 35, 80, 136, 1576, 195, 346, 358,
2569 393, 93, 297, 93, 448, 108, 342, 108, 94, 93,
2570 1024, 25, 165, 27, 74, 95, 169, 58, 960, 961,
2571 1485, 941, 1036, 59, 306, 307, 643, 862, 109, 74,
2572 904, 149, 150, 151, 329, 176, 474, 475, 56, 57,
2573 322, 385, 349, 325, 58, 682, 328, 342, 62, 331,
2574 672, 486, 487, 335, 59, 350, 1070, 98, 1072, 494,
2575 739, 343, 80, 358, 359, 404, 739, 60, 355, 1534,
2576 711, 712, 108, 508, 948, 4, 5, 195, 487, 4,
2577 5, 95, 62, 93, 60, 59, 107, 25, 54, 27,
2578 12, 612, 527, 1061, 74, 47, 62, 47, 342, 406,
2579 47, 60, 54, 108, 182, 27, 735, 402, 74, 31,
2580 405, 25, 3, 4, 5, 359, 109, 64, 945, 1584,
2581 58, 995, 74, 48, 62, 47, 402, 56, 57, 647,
2582 1247, 56, 57, 109, 108, 442, 1013, 59, 60, 498,
2583 62, 93, 64, 93, 27, 442, 93, 442, 31, 359,
2584 1209, 1210, 25, 342, 27, 901, 47, 95, 402, 25,
2585 60, 27, 47, 54, 1223, 56, 57, 442, 506, 450,
2586 359, 93, 94, 468, 533, 4, 5, 60, 58, 486,
2587 487, 64, 62, 54, 496, 58, 108, 494, 38, 62,
2588 4, 5, 58, 1135, 1136, 9, 62, 865, 442, 47,
2589 31, 508, 93, 498, 54, 59, 359, 58, 93, 94,
2590 1168, 506, 493, 402, 74, 44, 64, 54, 359, 47,
2591 527, 75, 95, 77, 468, 54, 109, 56, 57, 95,
2592 474, 475, 442, 54, 506, 47, 58, 74, 533, 59,
2593 54, 536, 56, 57, 539, 93, 710, 1205, 543, 544,
2594 545, 546, 547, 442, 984, 75, 70, 47, 8, 9,
2595 1377, 556, 506, 942, 14, 93, 80, 47, 604, 942,
2596 109, 566, 554, 555, 569, 47, 474, 475, 476, 468,
2597 673, 93, 1014, 1157, 1016, 803, 36, 680, 1020, 442,
2598 1349, 54, 910, 910, 12, 45, 506, 59, 60, 1358,
2599 1359, 680, 1361, 93, 94, 942, 54, 54, 47, 604,
2600 649, 74, 1186, 93, 94, 47, 675, 506, 812, 93,
2601 54, 93, 757, 47, 47, 64, 74, 74, 623, 3,
2602 4, 5, 6, 54, 480, 630, 94, 3, 4, 5,
2603 74, 59, 488, 650, 62, 906, 64, 634, 54, 688,
2604 54, 690, 691, 506, 93, 94, 474, 475, 476, 47,
2605 604, 93, 47, 1109, 47, 506, 47, 41, 74, 93,
2606 93, 108, 681, 54, 48, 62, 620, 621, 1336, 623,
2607 675, 54, 56, 57, 691, 62, 630, 74, 54, 910,
2608 56, 57, 58, 74, 689, 75, 735, 74, 693, 62,
2609 3, 4, 5, 6, 109, 93, 80, 716, 93, 47,
2610 93, 74, 93, 47, 88, 604, 47, 935, 108, 47,
2611 62, 1089, 1090, 54, 33, 800, 801, 802, 735, 788,
2612 789, 769, 791, 771, 623, 4, 5, 776, 41, 777,
2613 778, 630, 58, 74, 739, 48, 784, 108, 64, 108,
2614 757, 1510, 1511, 56, 57, 93, 3, 4, 5, 93,
2615 772, 773, 93, 4, 5, 93, 108, 11, 9, 781,
2616 1202, 1203, 1204, 98, 769, 1104, 771, 80, 908, 48,
2617 8, 9, 777, 778, 60, 88, 14, 56, 57, 784,
2618 3, 47, 787, 788, 789, 739, 791, 769, 793, 771,
2619 107, 108, 4, 5, 968, 812, 778, 54, 36, 56,
2620 57, 80, 784, 54, 1182, 56, 57, 45, 93, 47,
2621 4, 5, 60, 1191, 1192, 769, 111, 771, 1196, 70,
2622 86, 87, 4, 5, 778, 91, 92, 93, 94, 80,
2623 784, 150, 151, 787, 59, 60, 1064, 1065, 1066, 793,
2624 739, 74, 54, 94, 56, 57, 62, 1105, 1106, 769,
2625 1108, 771, 31, 94, 48, 93, 861, 75, 778, 77,
2626 1238, 866, 56, 57, 784, 1570, 48, 94, 983, 62,
2627 769, 44, 771, 93, 56, 57, 195, 4, 5, 778,
2628 111, 54, 874, 93, 57, 784, 80, 953, 787, 894,
2629 59, 60, 4, 5, 793, 900, 54, 74, 80, 904,
2630 3, 4, 5, 6, 62, 59, 769, 74, 771, 74,
2631 902, 903, 74, 910, 54, 778, 74, 908, 769, 11,
2632 771, 784, 62, 59, 60, 776, 777, 778, 109, 56,
2633 57, 59, 3, 784, 74, 6, 108, 942, 41, 944,
2634 945, 74, 54, 948, 56, 57, 900, 27, 902, 903,
2635 904, 31, 108, 56, 57, 1333, 942, 108, 70, 1399,
2636 31, 59, 141, 54, 108, 27, 64, 146, 80, 31,
2637 41, 62, 760, 54, 1313, 1415, 74, 75, 1027, 59,
2638 60, 74, 1048, 74, 64, 56, 57, 74, 942, 108,
2639 995, 109, 946, 947, 948, 783, 1374, 59, 60, 70,
2640 1048, 900, 109, 1008, 108, 904, 54, 1155, 1156, 80,
2641 329, 111, 329, 1061, 62, 194, 111, 88, 1040, 1024,
2642 59, 60, 93, 27, 1046, 1047, 74, 74, 1050, 1051,
2643 1258, 1036, 1054, 4, 5, 111, 1184, 1185, 4, 5,
2644 948, 995, 59, 942, 1113, 3, 4, 5, 6, 948,
2645 83, 84, 3, 4, 5, 74, 1061, 74, 75, 54,
2646 77, 59, 60, 74, 1504, 1070, 111, 1072, 59, 60,
2647 1024, 80, 81, 82, 83, 84, 108, 48, 108, 1061,
2648 259, 47, 1036, 41, 1524, 56, 57, 995, 54, 58,
2649 56, 57, 108, 1159, 108, 1100, 995, 48, 56, 57,
2650 3, 4, 5, 6, 70, 56, 57, 1061, 1113, 80,
2651 429, 430, 54, 1553, 80, 8, 1070, 111, 1072, 1111,
2652 948, 59, 60, 93, 90, 1024, 47, 93, 94, 1518,
2653 88, 59, 60, 59, 60, 1518, 59, 1036, 41, 1312,
2654 64, 1061, 109, 1583, 1311, 48, 1313, 93, 465, 1168,
2655 54, 1591, 1157, 56, 57, 60, 475, 476, 7, 8,
2656 9, 14, 1061, 36, 64, 14, 64, 995, 64, 22,
2657 60, 1070, 1220, 1072, 1179, 108, 1027, 80, 108, 62,
2658 64, 1186, 31, 1522, 1179, 88, 108, 36, 108, 108,
2659 108, 108, 1184, 1185, 64, 1200, 45, 1179, 1061, 64,
2660 111, 1155, 1156, 1157, 75, 62, 108, 3, 4, 5,
2661 1061, 60, 65, 4, 5, 75, 108, 536, 62, 536,
2662 539, 108, 539, 108, 75, 1179, 543, 75, 75, 108,
2663 1184, 1185, 1186, 108, 1612, 62, 555, 556, 59, 556,
2664 419, 1029, 1030, 422, 3, 4, 5, 1155, 1156, 1157,
2665 569, 62, 569, 108, 108, 434, 573, 48, 1157, 1179,
2666 56, 57, 1311, 108, 1313, 56, 57, 3, 4, 5,
2667 1058, 124, 111, 111, 94, 88, 1184, 1185, 1186, 74,
2668 1179, 47, 108, 108, 601, 109, 108, 1186, 111, 80,
2669 607, 470, 111, 472, 108, 148, 1313, 56, 57, 1304,
2670 108, 4, 5, 108, 60, 109, 485, 1312, 59, 1314,
2671 64, 630, 1304, 402, 64, 93, 1321, 59, 1522, 1314,
2672 56, 57, 1304, 108, 59, 1330, 1321, 1155, 1156, 1157,
2673 59, 108, 1314, 93, 1356, 1357, 93, 30, 31, 1321,
2674 33, 93, 1496, 108, 93, 48, 3, 4, 5, 111,
2675 1304, 1499, 1500, 56, 57, 108, 1184, 1185, 1186, 8,
2676 1314, 109, 109, 108, 57, 108, 59, 1321, 108, 108,
2677 108, 33, 65, 64, 111, 109, 1550, 80, 54, 468,
2678 108, 3, 4, 5, 1304, 238, 239, 3, 4, 5,
2679 6, 3, 4, 5, 1314, 7, 8, 9, 251, 56,
2680 57, 1321, 108, 1425, 108, 1304, 3, 4, 5, 108,
2681 7, 8, 9, 108, 108, 1314, 108, 62, 47, 31,
2682 108, 111, 1321, 108, 36, 41, 108, 1215, 1216, 96,
2683 1218, 1219, 48, 1221, 56, 57, 58, 62, 62, 60,
2684 56, 57, 54, 60, 56, 57, 58, 9, 141, 60,
2685 16, 60, 108, 146, 108, 108, 149, 150, 151, 56,
2686 57, 108, 108, 193, 194, 195, 108, 108, 321, 108,
2687 1475, 60, 88, 93, 1523, 1480, 1481, 1482, 93, 54,
2688 1485, 64, 17, 176, 111, 1480, 93, 806, 93, 182,
2689 1485, 103, 104, 105, 54, 60, 1501, 107, 1480, 1481,
2690 193, 194, 195, 1485, 97, 1522, 108, 1499, 1500, 60,
2691 363, 11, 108, 1518, 108, 60, 209, 108, 1426, 372,
2692 1525, 1475, 60, 60, 217, 218, 1480, 1481, 1482, 1534,
2693 1525, 1485, 385, 1555, 623, 93, 59, 64, 108, 1534,
2694 60, 630, 11, 1525, 108, 1499, 1500, 3, 4, 5,
2695 60, 108, 1534, 870, 11, 60, 0, 1562, 1346, 1347,
2696 1480, 1481, 0, 0, 1518, 1485, 259, 746, 747, 170,
2697 749, 1525, 2, 35, 673, 1413, 1475, 942, 442, 1584,
2698 1534, 1480, 1481, 1482, 903, 904, 1485, 904, 169, 1584,
2699 1549, 1499, 1500, 1501, 3, 4, 5, 165, 1426, 777,
2700 56, 57, 1584, 1168, 94, 1525, 238, 139, 1562, 1398,
2701 1622, 1248, 299, 928, 1534, 723, 923, 1622, 1336, 1518,
2702 243, 3, 4, 5, 6, 1205, 1525, 1622, 777, 948,
2703 1584, 784, 656, 1222, 921, 1534, 329, 200, 346, 48,
2704 1622, 88, 604, 90, 124, 92, 1314, 56, 57, 502,
2705 739, 1180, 1570, 1591, 1539, 1603, 3, 4, 5, 41,
2706 1448, 1449, 1450, 1562, 1584, 1330, 48, 1601, 1622, 1003,
2707 -1, 1499, 1500, 1501, 56, 57, 995, 1, -1, 3,
2708 4, 5, 6, 30, 8, 1584, -1, -1, -1, -1,
2709 137, -1, 139, -1, 3, 4, 5, -1, 787, 3,
2710 4, 5, 1622, -1, 793, -1, 88, 54, -1, 56,
2711 57, -1, 405, 406, -1, 568, -1, 41, -1, 1507,
2712 1508, -1, -1, 1622, 48, -1, 419, -1, -1, 422,
2713 54, -1, 56, 57, -1, 428, 429, 430, -1, -1,
2714 470, 434, 472, -1, 474, 475, 476, 56, 57, -1,
2715 54, -1, 56, 57, -1, 485, -1, 9, -1, 612,
2716 12, -1, -1, -1, 88, 3, 4, 5, 947, -1,
2717 78, 79, 80, 81, 82, 83, 84, 470, -1, 472,
2718 -1, 474, 475, 476, -1, -1, 479, 1575, -1, -1,
2719 -1, -1, 485, 486, 487, 47, -1, 490, -1, -1,
2720 -1, 494, -1, -1, -1, -1, -1, 59, -1, 61,
2721 62, 900, 64, -1, -1, 904, 509, -1, 56, 57,
2722 -1, -1, -1, 75, -1, 77, -1, 80, 681, -1,
2723 -1, -1, -1, -1, -1, -1, -1, 1156, 1157, 692,
2724 -1, 93, 94, 536, -1, -1, 539, 3, 4, 5,
2725 6, 104, -1, 942, -1, -1, 108, -1, -1, 948,
2726 -1, 554, 555, 556, -1, -1, 1185, 1186, -1, 1186,
2727 723, -1, -1, 320, -1, -1, 569, -1, -1, -1,
2728 133, -1, -1, 1200, -1, 41, -1, -1, -1, -1,
2729 -1, 144, 48, -1, -1, 3, 4, 5, 6, -1,
2730 56, 57, -1, -1, -1, -1, 995, -1, -1, -1,
2731 -1, 358, -1, -1, -1, -1, -1, 1234, 1235, 1236,
2732 1237, -1, -1, -1, 80, -1, -1, 7, 8, 9,
2733 38, 39, 88, 41, 14, 1024, -1, 630, 3, 4,
2734 5, 6, -1, -1, 9, -1, 54, 1036, 56, 57,
2735 203, 31, -1, -1, -1, -1, 36, 650, 4, 5,
2736 -1, -1, -1, 9, -1, 45, 31, -1, -1, -1,
2737 461, -1, -1, -1, 1153, 1154, 41, 468, -1, 461,
2738 1297, 1070, 1161, 1072, -1, 238, 468, -1, -1, 54,
2739 -1, 56, 57, -1, -1, -1, 689, -1, 691, 692,
2740 -1, 47, -1, -1, -1, 70, -1, -1, 54, 262,
2741 56, 57, -1, 460, 461, 80, 746, 747, -1, 749,
2742 -1, 468, -1, 88, 70, -1, -1, -1, 93, -1,
2743 -1, 7, 8, 9, 80, -1, -1, -1, 14, -1,
2744 -1, -1, 735, 534, 90, -1, 776, 93, 94, -1,
2745 -1, 498, 534, 746, 747, 31, 749, -1, 1375, -1,
2746 36, -1, -1, -1, 757, -1, -1, 760, 1157, 45,
2747 -1, -1, -1, -1, -1, 928, -1, -1, -1, -1,
2748 -1, -1, -1, -1, 777, -1, 533, 534, 941, -1,
2749 783, 1408, -1, 1272, 1273, -1, 1275, 1186, -1, -1,
2750 -1, 354, -1, 594, -1, -1, -1, 1426, -1, 600,
2751 -1, -1, 594, 806, -1, -1, -1, -1, 600, 566,
2752 -1, 568, -1, -1, 571, 572, -1, 574, 575, 576,
2753 577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
2754 587, 588, 589, 590, 591, 592, 637, 594, 630, 3,
2755 4, 5, 6, 600, -1, 637, -1, -1, 1475, 412,
2756 -1, -1, -1, -1, 1481, 1482, -1, -1, -1, -1,
2757 755, 76, 77, 78, 79, 80, 81, 82, 83, 84,
2758 -1, 1500, 1501, 630, 1501, -1, -1, 41, -1, -1,
2759 637, -1, -1, -1, 48, -1, -1, -1, -1, -1,
2760 -1, 786, 56, 57, -1, -1, -1, 792, -1, 902,
2761 903, 904, 659, 660, -1, -1, 946, 947, 948, 4,
2762 5, -1, -1, 8, 9, -1, 80, -1, 675, 14,
2763 -1, -1, -1, -1, 88, -1, -1, 1090, -1, -1,
2764 3, 4, 5, 6, -1, 1562, -1, -1, 941, 502,
2765 -1, 36, -1, 946, 947, 948, -1, -1, -1, -1,
2766 45, 1578, 47, -1, -1, 995, -1, -1, -1, 54,
2767 -1, 56, 57, -1, -1, -1, 723, 530, 41, -1,
2768 -1, -1, -1, 1600, -1, 70, -1, -1, -1, -1,
2769 1607, 54, -1, 56, 57, 80, -1, 1027, -1, 3,
2770 4, 5, 995, 7, -1, 90, -1, -1, 93, 94,
2771 895, -1, 897, -1, -1, -1, -1, -1, -1, -1,
2772 -1, 768, -1, 1176, 806, 88, 30, -1, -1, 1182,
2773 348, 349, 350, 37, -1, -1, 1029, 1030, -1, -1,
2774 -1, 788, 789, -1, 791, -1, -1, -1, -1, -1,
2775 54, -1, 56, 57, -1, -1, -1, -1, -1, 806,
2776 -1, -1, -1, -1, 617, 1058, -1, -1, -1, 860,
2777 861, -1, -1, -1, -1, 866, -1, -1, 860, 861,
2778 633, 828, -1, -1, 866, -1, -1, -1, -1, 880,
2779 -1, 882, -1, 884, -1, -1, -1, -1, 880, -1,
2780 882, -1, 884, -1, 3, 4, 5, 6, -1, -1,
2781 -1, -1, -1, 860, 861, -1, -1, -1, 865, 866,
2782 -1, -1, -1, 1153, 1154, 1155, 1156, 1157, -1, 1518,
2783 -1, 1161, -1, 880, -1, 882, -1, 884, -1, 930,
2784 -1, -1, 41, -1, -1, 1298, 1299, -1, 930, 48,
2785 3, 4, 5, 6, 1184, 1185, 1186, 56, 57, -1,
2786 1153, 1154, 1155, 1156, 1157, -1, -1, -1, 1161, -1,
2787 -1, -1, -1, 920, -1, -1, -1, -1, -1, -1,
2788 -1, -1, -1, 930, 1069, 976, 1071, 1217, 41, 88,
2789 -1, 1184, 1185, 1186, 976, -1, -1, -1, 945, -1,
2790 -1, 54, -1, 56, 57, -1, -1, 60, -1, 62,
2791 -1, 958, -1, 995, -1, -1, -1, 70, -1, -1,
2792 -1, -1, 1215, 1216, -1, 1218, 1219, 80, 1221, 976,
2793 -1, -1, -1, -1, -1, 88, -1, 1390, -1, -1,
2794 93, 1126, 1272, 1273, -1, 1275, 4, 5, 995, -1,
2795 8, 9, -1, -1, -1, -1, 14, 4, -1, 1412,
2796 1413, -1, 3, 4, 5, 6, -1, 14, 9, -1,
2797 28, -1, 30, -1, -1, -1, -1, 24, 36, 1272,
2798 1273, -1, 1275, 30, 31, -1, 33, 45, 35, -1,
2799 31, -1, 1039, -1, -1, 42, 54, -1, 56, 57,
2800 41, -1, 620, 621, -1, -1, -1, -1, 55, -1,
2801 57, -1, -1, 54, -1, 56, 57, -1, 65, 1312,
2802 1313, 1206, -1, -1, -1, 72, 1211, -1, -1, 70,
2803 -1, -1, -1, -1, -1, 93, 83, 84, -1, 80,
2804 1493, -1, 1089, 1090, -1, -1, 1093, 88, -1, -1,
2805 -1, -1, 93, 1346, 1347, -1, 909, -1, 911, 106,
2806 -1, -1, -1, -1, -1, -1, 1113, 348, 349, 350,
2807 688, -1, 690, 691, -1, 693, -1, 1262, -1, 1170,
2808 -1, 1172, -1, 1174, -1, -1, -1, 134, 1170, 136,
2809 1172, -1, 1174, 140, 141, -1, 1426, -1, 145, 146,
2810 953, -1, 149, 150, 151, -1, -1, -1, -1, -1,
2811 4, 5, -1, -1, 8, 9, -1, 735, 165, -1,
2812 14, -1, 169, 1170, -1, 1172, -1, 1174, 175, 176,
2813 7, 8, 9, 1426, 28, 1182, 30, 14, -1, -1,
2814 -1, -1, 36, -1, 1191, 1192, 193, 194, 195, 1196,
2815 -1, 45, -1, 47, 31, 1448, 1449, 1450, -1, 36,
2816 54, -1, 56, 57, -1, -1, 1213, 1214, 45, 1499,
2817 1500, 1501, -1, -1, -1, 222, 70, -1, 1269, -1,
2818 1365, 1366, -1, 60, -1, -1, 80, 1269, -1, -1,
2819 -1, 1238, 239, -1, 812, 1048, 90, 1382, -1, 93,
2820 94, 248, -1, -1, -1, -1, 1499, 1500, 1501, -1,
2821 -1, -1, 259, -1, 1507, 1508, -1, -1, -1, 3,
2822 4, 5, 1269, 7, 8, 9, 71, 72, 73, 74,
2823 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
2824 3, 4, 5, 6, -1, -1, 1293, 31, -1, -1,
2825 297, 298, 36, -1, -1, -1, 1441, 1442, -1, -1,
2826 -1, -1, -1, -1, -1, -1, -1, 885, 31, 887,
2827 -1, -1, 56, 57, -1, 1460, 1461, -1, 41, 1132,
2828 898, -1, 1575, -1, 902, 903, 1333, -1, -1, -1,
2829 -1, 54, -1, 56, 57, 342, -1, -1, -1, 346,
2830 -1, 348, 349, 350, -1, 1352, 1159, 70, -1, 4,
2831 5, -1, 359, 8, 9, -1, -1, 80, -1, 14,
2832 -1, -1, -1, -1, -1, 88, -1, 1374, 946, 947,
2833 93, -1, -1, 28, -1, 30, -1, -1, -1, 620,
2834 621, 36, 623, -1, 1426, -1, 393, -1, -1, 630,
2835 45, -1, -1, -1, -1, 402, -1, 404, 405, 54,
2836 -1, 56, 57, 58, 4, 5, -1, 1220, 8, 9,
2837 -1, -1, 419, -1, 14, 422, -1, -1, -1, 1426,
2838 -1, -1, -1, -1, -1, -1, -1, 434, 28, -1,
2839 30, -1, -1, -1, -1, 442, 36, -1, 93, 1446,
2840 1447, -1, -1, -1, -1, 45, -1, 688, 1455, 690,
2841 691, -1, 693, -1, 54, -1, 56, 57, -1, -1,
2842 -1, -1, -1, 470, -1, 472, -1, 474, 475, 476,
2843 -1, -1, -1, 480, -1, -1, 1483, -1, 485, -1,
2844 -1, 488, 3, 4, 5, 6, -1, 8, 9, 10,
2845 11, -1, 13, 14, 735, -1, -1, -1, -1, 506,
2846 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
2847 31, 32, -1, 34, 35, 36, -1, 38, 39, 40,
2848 41, 42, 43, -1, 45, -1, 47, -1, 49, 50,
2849 51, 52, 53, 54, -1, 56, 57, 544, 545, 546,
2850 547, 3, 4, 5, 6, -1, 67, -1, -1, 70,
2851 -1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
2852 -1, -1, -1, -1, -1, 86, 87, 88, -1, 90,
2853 -1, 812, 93, 94, -1, 1153, 1154, 1155, 1156, 41,
2854 -1, -1, -1, 1161, -1, 47, -1, -1, -1, 110,
2855 -1, -1, 54, -1, 56, 57, -1, 604, -1, 606,
2856 -1, -1, -1, -1, -1, 1612, 1184, 1185, 70, -1,
2857 -1, 618, -1, 620, 621, -1, 623, -1, 80, -1,
2858 -1, -1, -1, 630, -1, -1, 88, 634, 90, -1,
2859 -1, 93, 94, -1, -1, -1, -1, -1, -1, -1,
2860 -1, -1, 649, -1, 885, -1, 887, -1, 4, 5,
2861 -1, 7, 8, 9, -1, -1, 12, 898, 14, -1,
2862 -1, 902, 903, 904, -1, -1, 673, -1, -1, -1,
2863 -1, -1, 28, 680, 30, 31, -1, -1, -1, -1,
2864 36, 688, 689, 690, 691, 692, 693, -1, -1, 45,
2865 -1, 47, -1, -1, 1272, 1273, -1, 1275, 54, -1,
2866 56, 57, -1, -1, -1, 946, 947, 948, -1, -1,
2867 -1, -1, -1, -1, 70, -1, -1, -1, -1, -1,
2868 -1, -1, -1, -1, 80, -1, -1, -1, 735, -1,
2869 -1, -1, 739, -1, 90, -1, -1, 93, 94, 746,
2870 747, -1, 749, -1, -1, 3, 4, 5, 6, 7,
2871 8, 9, -1, -1, 995, -1, 14, -1, -1, 766,
2872 -1, -1, 769, -1, 771, -1, -1, -1, -1, 776,
2873 777, 778, -1, 31, 4, 5, -1, 784, 36, 9,
2874 787, -1, -1, 41, -1, -1, 793, 45, -1, 47,
2875 -1, -1, -1, 800, 801, 802, 54, -1, 56, 57,
2876 -1, -1, -1, -1, -1, 812, -1, -1, -1, -1,
2877 -1, -1, 70, -1, -1, -1, -1, 47, 4, -1,
2878 -1, -1, 80, -1, 54, -1, 56, 57, 14, -1,
2879 88, -1, 90, -1, -1, 93, 94, 23, 24, -1,
2880 70, -1, -1, -1, 30, 31, -1, 33, -1, 35,
2881 80, -1, -1, -1, -1, -1, 42, -1, -1, -1,
2882 90, -1, -1, 93, 94, -1, -1, -1, -1, 55,
2883 -1, 57, -1, -1, -1, -1, -1, -1, 885, 65,
2884 887, -1, -1, -1, -1, -1, 72, 894, -1, -1,
2885 -1, 898, -1, 900, -1, 902, 903, 904, 84, -1,
2886 -1, -1, -1, 910, -1, -1, -1, -1, 3, 4,
2887 5, 6, 1153, 1154, 1155, 1156, 1157, -1, -1, -1,
2888 1161, 72, 73, 74, 75, 76, 77, 78, 79, 80,
2889 81, 82, 83, 84, -1, 942, 31, 944, -1, 946,
2890 947, 948, -1, 1184, 1185, 1186, 41, -1, -1, -1,
2891 136, -1, -1, -1, 140, 141, -1, -1, -1, 54,
2892 146, 56, 57, 149, 150, 151, -1, -1, 3, 4,
2893 5, 6, -1, -1, 9, 70, -1, -1, -1, 165,
2894 -1, -1, -1, 169, -1, 80, -1, -1, 995, 175,
2895 176, -1, -1, 88, -1, -1, 31, -1, 93, -1,
2896 -1, 1008, -1, -1, -1, -1, 41, 193, 194, 195,
2897 -1, -1, 47, -1, -1, -1, -1, 1024, -1, 54,
2898 1027, 56, 57, -1, -1, -1, -1, -1, -1, 1036,
2899 -1, 1272, 1273, -1, 1275, 70, 222, -1, -1, -1,
2900 -1, -1, 1049, -1, -1, 80, -1, -1, -1, -1,
2901 -1, -1, 4, 88, 1061, 90, -1, -1, 93, 94,
2902 -1, -1, -1, 1070, -1, 1072, -1, -1, 3, 4,
2903 5, 6, -1, 259, 9, -1, -1, -1, 30, 31,
2904 -1, 33, -1, 35, 4, 5, -1, -1, 8, 9,
2905 42, -1, -1, 1100, 14, -1, 31, -1, 1105, 1106,
2906 -1, 1108, -1, 55, -1, 57, 41, -1, 28, -1,
2907 30, 297, 298, -1, -1, -1, 36, -1, -1, 54,
2908 -1, 56, 57, -1, -1, 45, -1, -1, 80, -1,
2909 -1, -1, -1, -1, 54, 70, 56, 57, -1, -1,
2910 -1, -1, -1, -1, -1, 80, 1153, 1154, 1155, 1156,
2911 1157, -1, -1, 88, 1161, -1, 342, -1, 93, -1,
2912 346, -1, 348, 349, 350, -1, -1, -1, -1, 355,
2913 -1, -1, -1, 359, -1, -1, -1, 1184, 1185, 1186,
2914 -1, 133, 134, -1, 136, -1, -1, -1, 140, 141,
2915 -1, -1, 144, -1, 146, -1, -1, 149, 150, 151,
2916 -1, -1, -1, -1, 156, -1, -1, 393, -1, -1,
2917 1217, -1, -1, 165, -1, 1222, 402, 169, 404, 405,
2918 -1, -1, -1, 175, 176, -1, -1, -1, -1, -1,
2919 -1, -1, -1, 419, -1, -1, 422, -1, -1, -1,
2920 -1, 193, 194, 195, -1, -1, -1, -1, 434, -1,
2921 -1, 203, -1, -1, -1, -1, 442, -1, -1, -1,
2922 -1, -1, -1, -1, -1, 1272, 1273, -1, 1275, -1,
2923 222, 73, 74, 75, 76, 77, 78, 79, 80, 81,
2924 82, 83, 84, -1, 470, -1, 472, -1, 474, 475,
2925 476, -1, -1, -1, 480, -1, -1, -1, -1, 485,
2926 -1, -1, 488, -1, 1311, 1312, 1313, 259, -1, 1,
2927 -1, 3, 4, 5, 6, 7, 8, 9, -1, -1,
2928 506, -1, 14, 1330, -1, -1, -1, -1, -1, -1,
2929 -1, 3, 4, 5, 6, -1, 28, -1, 30, 31,
2930 32, -1, -1, -1, 36, 37, -1, -1, -1, 41,
2931 -1, -1, -1, 45, 46, -1, 48, -1, 544, 545,
2932 546, 547, 54, -1, 56, 57, -1, -1, 60, 41,
2933 62, 3, 4, 5, 6, -1, -1, 329, 70, -1,
2934 -1, -1, 54, -1, 56, 57, -1, -1, 80, -1,
2935 62, -1, -1, -1, 346, -1, 88, -1, 70, -1,
2936 -1, 93, 354, -1, -1, -1, -1, 359, 80, 41,
2937 -1, -1, -1, -1, -1, -1, 88, 109, 604, 1426,
2938 606, 93, 54, -1, 56, 57, -1, -1, 60, -1,
2939 -1, -1, -1, -1, 620, 621, -1, 623, 70, -1,
2940 -1, 393, -1, -1, 630, -1, -1, -1, 80, -1,
2941 -1, -1, 404, -1, -1, -1, 88, 643, -1, -1,
2942 -1, 93, -1, 649, -1, -1, -1, 419, -1, -1,
2943 422, -1, -1, -1, -1, -1, 428, 429, 430, -1,
2944 -1, -1, 434, -1, -1, -1, -1, 673, 4, -1,
2945 442, -1, 1499, 1500, 1501, 681, -1, -1, -1, -1,
2946 -1, -1, 688, 689, 690, 691, 692, 693, -1, -1,
2947 -1, 1518, -1, -1, -1, -1, 1523, -1, 470, 35,
2948 472, -1, 474, 475, 476, -1, 42, -1, 480, -1,
2949 716, -1, -1, 485, -1, -1, 488, -1, -1, 55,
2950 -1, 57, -1, -1, -1, -1, -1, -1, -1, 735,
2951 -1, -1, -1, 739, 506, -1, -1, -1, -1, -1,
2952 746, 747, -1, 749, -1, -1, -1, -1, -1, -1,
2953 -1, -1, -1, -1, -1, -1, -1, 763, -1, -1,
2954 766, -1, -1, 769, 536, 771, -1, 539, -1, -1,
2955 776, 777, 778, -1, 3, 4, 5, 6, 784, -1,
2956 9, 787, 554, 555, 556, -1, -1, 793, -1, -1,
2957 -1, -1, -1, -1, 800, 801, 802, 569, -1, -1,
2958 136, -1, 31, -1, 140, -1, 812, -1, -1, -1,
2959 -1, -1, 41, -1, -1, -1, -1, -1, 47, -1,
2960 -1, -1, -1, -1, -1, 54, -1, 56, 57, 165,
2961 -1, -1, -1, 169, -1, -1, -1, 4, 5, 175,
2962 176, 70, 9, -1, -1, 617, -1, -1, -1, -1,
2963 -1, 80, -1, -1, -1, -1, -1, -1, 630, 88,
2964 -1, 90, -1, -1, 93, 94, -1, -1, -1, -1,
2965 -1, -1, -1, -1, -1, -1, -1, 649, -1, 885,
2966 47, 887, -1, -1, -1, -1, 222, 54, 894, 56,
2967 57, -1, 898, -1, 900, -1, 902, 903, 904, -1,
2968 -1, 673, -1, 70, 910, 4, 5, -1, 680, 8,
2969 9, -1, -1, 80, -1, 14, 688, 689, 690, 691,
2970 -1, -1, -1, 90, -1, -1, 93, 94, -1, -1,
2971 82, -1, -1, -1, -1, -1, 942, 36, 944, -1,
2972 946, 947, 948, -1, -1, -1, 45, -1, 47, -1,
2973 -1, -1, -1, -1, -1, 54, -1, 56, 57, -1,
2974 -1, -1, -1, 735, -1, -1, -1, 739, -1, -1,
2975 -1, 70, -1, -1, 746, 747, -1, 749, -1, -1,
2976 -1, 80, 3, 4, 5, 6, 7, 8, 9, 995,
2977 -1, 90, -1, 14, 93, 94, -1, 769, -1, 771,
2978 -1, -1, 1008, -1, 776, 777, 778, 159, -1, -1,
2979 31, -1, 784, -1, -1, 36, -1, -1, 1024, -1,
2980 41, 1027, -1, 359, 45, -1, 47, -1, -1, -1,
2981 1036, -1, -1, 54, 806, 56, 57, -1, -1, 191,
2982 -1, -1, -1, -1, -1, -1, -1, -1, -1, 70,
2983 -1, -1, 204, -1, -1, 1061, -1, -1, -1, 80,
2984 -1, -1, -1, -1, 1070, -1, 1072, 88, 404, 90,
2985 -1, -1, 93, 94, -1, -1, -1, -1, -1, -1,
2986 -1, -1, -1, -1, -1, -1, -1, 3, 4, 5,
2987 6, 7, 8, 9, 1100, -1, 12, -1, 14, 1105,
2988 1106, -1, 1108, -1, -1, -1, 442, -1, -1, -1,
2989 -1, -1, 28, -1, 30, 31, -1, -1, -1, -1,
2990 36, -1, -1, -1, -1, 41, -1, -1, -1, 45,
2991 902, 903, 904, -1, -1, -1, 908, 909, 54, -1,
2992 56, 57, -1, -1, 480, -1, -1, 1153, 1154, 1155,
2993 1156, 1157, 488, -1, 70, 1161, 4, -1, -1, -1,
2994 -1, -1, 1168, -1, 80, -1, -1, -1, -1, -1,
2995 506, -1, 88, -1, 946, 947, 948, 93, 1184, 1185,
2996 1186, 953, 30, 31, -1, 33, -1, 35, -1, -1,
2997 -1, -1, -1, -1, 42, -1, -1, -1, -1, 1205,
2998 4, 5, -1, 7, 8, 9, -1, 55, -1, 57,
2999 14, 1217, -1, -1, -1, -1, 1222, -1, -1, 3,
3000 4, 5, 6, 995, 28, 9, 30, 31, -1, -1,
3001 -1, -1, 36, -1, -1, -1, -1, -1, -1, -1,
3002 -1, 45, -1, -1, 48, -1, -1, 31, -1, -1,
3003 54, -1, 56, 57, -1, 1027, -1, 41, -1, -1,
3004 -1, -1, -1, -1, -1, -1, 1272, 1273, -1, 1275,
3005 54, -1, 56, 57, -1, -1, 1048, -1, -1, -1,
3006 -1, -1, 3, 4, 5, 6, 70, -1, 136, 1061,
3007 -1, -1, 140, 141, 1300, -1, 80, -1, 146, -1,
3008 -1, 149, 150, 151, 88, 1311, 1312, 1313, -1, 93,
3009 31, -1, -1, 649, -1, -1, -1, 165, -1, -1,
3010 41, 169, -1, -1, 1330, -1, 478, 175, 176, -1,
3011 1336, 483, -1, 54, -1, 56, 57, -1, -1, -1,
3012 3, 4, 5, 6, -1, 193, 194, 195, -1, 70,
3013 -1, -1, 688, 689, 690, 691, -1, -1, 510, 80,
3014 1132, -1, -1, -1, 516, -1, 33, 88, -1, -1,
3015 -1, -1, 93, -1, 222, -1, 528, 529, 41, 531,
3016 -1, 1153, 1154, 1155, 1156, 1157, -1, 1159, 55, 1161,
3017 -1, 54, -1, 56, 57, -1, -1, 60, -1, 735,
3018 -1, -1, -1, 739, -1, 4, 5, 70, 7, 8,
3019 9, 259, 1184, 1185, 1186, 14, -1, 80, -1, -1,
3020 1426, -1, -1, -1, -1, 88, -1, -1, -1, 28,
3021 93, 30, 31, 769, -1, 771, -1, 36, -1, -1,
3022 776, 777, 778, -1, -1, 1217, 45, -1, 784, -1,
3023 1222, -1, -1, -1, -1, 54, -1, 56, 57, -1,
3024 -1, -1, -1, -1, -1, -1, -1, 3, 4, 5,
3025 6, -1, -1, -1, 626, 627, -1, -1, -1, 631,
3026 -1, -1, 149, 150, 151, -1, -1, -1, -1, -1,
3027 -1, -1, -1, 1499, 1500, 1501, -1, -1, -1, -1,
3028 1272, 1273, -1, 1275, -1, 41, -1, 355, 175, -1,
3029 -1, 359, 1518, -1, -1, -1, -1, 1523, 54, -1,
3030 56, 57, -1, -1, -1, -1, 193, 194, 195, -1,
3031 -1, -1, -1, -1, 70, -1, -1, -1, -1, 1311,
3032 1312, 1313, -1, -1, 80, -1, -1, -1, -1, -1,
3033 -1, -1, 88, -1, -1, 222, 404, 93, -1, -1,
3034 -1, -1, -1, -1, 55, -1, 3, 4, 5, 6,
3035 -1, 419, -1, -1, 422, -1, -1, -1, -1, -1,
3036 107, 108, -1, -1, -1, -1, 434, -1, -1, 80,
3037 -1, -1, 83, -1, 442, -1, -1, -1, -1, -1,
3038 -1, -1, -1, -1, 41, -1, -1, -1, 3, 4,
3039 5, 6, -1, 104, 9, 106, -1, 54, -1, 56,
3040 57, -1, 470, -1, 472, 62, 474, 475, 476, -1,
3041 -1, 298, 480, 70, -1, -1, 31, 485, -1, -1,
3042 488, -1, 794, 80, 796, -1, 41, -1, -1, -1,
3043 -1, 88, 47, -1, 1426, -1, 93, -1, 506, 54,
3044 -1, 56, 57, -1, -1, -1, -1, -1, -1, -1,
3045 -1, -1, -1, -1, -1, 70, -1, -1, -1, -1,
3046 -1, 348, 349, 350, 175, 80, -1, -1, -1, -1,
3047 -1, 1027, -1, 88, -1, 90, -1, -1, 93, 94,
3048 -1, -1, 193, 194, 195, -1, -1, -1, -1, -1,
3049 -1, -1, 203, -1, -1, -1, 868, 869, -1, 871,
3050 -1, -1, -1, -1, -1, 1061, -1, 1499, 1500, 1501,
3051 -1, 222, -1, -1, -1, -1, -1, 404, -1, 3,
3052 4, 5, 6, 7, 8, 9, -1, 899, -1, -1,
3053 14, 1523, -1, -1, -1, -1, -1, 248, -1, -1,
3054 -1, -1, -1, -1, 28, -1, 30, 31, 32, -1,
3055 618, 262, 36, -1, -1, -1, -1, 41, -1, -1,
3056 -1, 45, -1, -1, 48, -1, -1, -1, -1, -1,
3057 54, -1, 56, 57, -1, -1, -1, -1, 950, -1,
3058 -1, 649, 329, 470, -1, 472, 70, 474, 475, 476,
3059 -1, -1, -1, 480, -1, -1, 80, -1, 485, -1,
3060 -1, 488, -1, -1, 88, -1, -1, 4, 5, 93,
3061 7, 8, 9, -1, 98, 12, -1, 14, -1, -1,
3062 688, 689, 690, 691, -1, -1, -1, -1, -1, -1,
3063 -1, 28, -1, 30, 31, 3, 4, 5, 6, 36,
3064 -1, -1, -1, 354, 355, -1, -1, -1, 45, -1,
3065 -1, 1023, -1, -1, -1, 402, -1, 54, -1, 56,
3066 57, 1217, -1, 1035, -1, -1, 1222, 735, -1, -1,
3067 -1, 739, -1, 41, -1, -1, -1, -1, 746, 747,
3068 -1, 749, -1, -1, -1, -1, 54, -1, 56, 57,
3069 -1, -1, -1, 404, 62, -1, -1, -1, -1, -1,
3070 -1, 769, 70, 771, -1, -1, -1, -1, 776, 777,
3071 778, -1, 80, -1, -1, -1, 784, -1, -1, 606,
3072 88, 468, -1, -1, -1, 93, -1, -1, -1, -1,
3073 -1, -1, -1, 620, 621, -1, 623, -1, -1, -1,
3074 -1, -1, -1, 630, -1, -1, -1, -1, -1, 1121,
3075 -1, -1, -1, -1, -1, 1311, 1312, 1313, -1, 470,
3076 -1, 472, 649, 474, 475, 476, -1, -1, -1, 480,
3077 -1, -1, -1, -1, 485, -1, -1, 488, -1, 3,
3078 4, 5, 6, -1, -1, 9, -1, -1, 1160, 536,
3079 -1, -1, 539, -1, -1, -1, 543, 544, 545, 546,
3080 547, 688, -1, 690, 691, -1, 693, 31, -1, 556,
3081 -1, -1, -1, -1, -1, -1, -1, 41, -1, -1,
3082 -1, -1, 569, 47, -1, -1, -1, -1, -1, -1,
3083 54, -1, 56, 57, -1, -1, -1, -1, -1, -1,
3084 -1, -1, 910, -1, -1, -1, 70, -1, 735, -1,
3085 -1, -1, -1, 1225, -1, -1, 80, 1229, -1, 746,
3086 747, -1, 749, -1, 88, -1, 90, -1, -1, 93,
3087 94, -1, -1, -1, -1, -1, 623, -1, 946, 947,
3088 948, -1, -1, 630, -1, -1, -1, -1, -1, 776,
3089 -1, -1, 1264, -1, -1, -1, -1, -1, -1, 1,
3090 -1, 3, 4, 5, 6, 7, 8, 9, -1, -1,
3091 -1, -1, 14, 800, 801, 802, -1, -1, -1, -1,
3092 -1, -1, 633, 634, -1, 812, 28, 995, 30, 31,
3093 32, -1, -1, -1, 36, 37, -1, -1, 649, 41,
3094 -1, -1, -1, 45, 46, -1, 48, -1, -1, -1,
3095 -1, -1, 54, -1, 56, 57, -1, -1, 60, 1027,
3096 62, -1, -1, -1, -1, -1, -1, 1523, 70, 1341,
3097 -1, -1, -1, 1345, -1, -1, -1, 688, 80, 690,
3098 691, -1, -1, -1, -1, -1, 88, -1, -1, -1,
3099 -1, 93, 739, 1061, -1, 1367, 1368, -1, 885, -1,
3100 887, -1, -1, -1, -1, -1, -1, 109, -1, -1,
3101 -1, 898, -1, -1, -1, 902, 903, 904, -1, -1,
3102 -1, -1, -1, -1, 735, -1, -1, -1, -1, -1,
3103 -1, -1, -1, -1, -1, 746, 747, -1, 749, -1,
3104 787, -1, -1, -1, -1, -1, 793, -1, -1, -1,
3105 -1, -1, -1, -1, -1, -1, -1, -1, -1, 946,
3106 947, 948, -1, -1, -1, 776, -1, -1, -1, -1,
3107 -1, 3, 4, 5, 6, 7, 8, 9, -1, -1,
3108 12, -1, 14, -1, -1, 1153, 1154, 1155, 1156, 1157,
3109 -1, -1, -1, 1161, -1, -1, 28, -1, 30, 31,
3110 -1, -1, -1, -1, 36, -1, -1, -1, 995, 41,
3111 -1, -1, -1, 45, 861, 47, 1184, 1185, 1186, 12,
3112 -1, -1, 54, -1, 56, 57, -1, -1, -1, -1,
3113 -1, -1, -1, -1, -1, -1, -1, -1, 70, -1,
3114 1027, -1, -1, -1, -1, -1, -1, 894, 80, 1217,
3115 -1, -1, -1, 900, 1222, -1, 88, 904, 90, -1,
3116 -1, 93, 94, -1, -1, -1, -1, -1, -1, 62,
3117 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
3118 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
3119 83, 84, -1, -1, -1, 942, -1, 944, 909, 910,
3120 911, 948, -1, -1, 1272, 1273, -1, 1275, -1, -1,
3121 -1, -1, -1, -1, -1, -1, -1, -1, 1105, 1106,
3122 -1, 1108, -1, -1, -1, 3, 4, 5, 6, -1,
3123 -1, 9, -1, -1, -1, 946, 947, 948, -1, -1,
3124 14, -1, 953, 1311, 1312, 1313, -1, -1, 995, 23,
3125 24, -1, -1, 31, -1, -1, 30, 31, -1, 33,
3126 -1, 1008, -1, 41, -1, -1, 1153, 1154, 1155, 1156,
3127 1157, -1, 983, -1, 1161, -1, 54, 1024, 56, 57,
3128 -1, -1, -1, -1, 995, -1, -1, -1, -1, 1036,
3129 -1, 65, 70, -1, -1, -1, -1, 1184, 1185, 1186,
3130 -1, -1, 80, -1, -1, -1, -1, -1, -1, -1,
3131 88, -1, -1, -1, -1, 93, 1027, -1, -1, -1,
3132 -1, -1, -1, 1070, -1, 1072, -1, -1, -1, -1,
3133 1217, -1, -1, -1, -1, -1, -1, 1048, -1, -1,
3134 3, 4, 5, 6, 7, 8, 9, -1, -1, -1,
3135 124, 14, 126, 1100, -1, -1, -1, -1, 1426, 133,
3136 134, -1, -1, -1, -1, -1, 140, 141, 31, -1,
3137 144, 145, 146, 36, 148, 149, 150, 151, 41, -1,
3138 -1, -1, 45, -1, 47, 1272, 1273, -1, 1275, -1,
3139 -1, 54, -1, 56, 57, -1, -1, -1, -1, -1,
3140 -1, -1, -1, -1, -1, -1, -1, 70, -1, -1,
3141 1157, -1, -1, -1, -1, -1, -1, 80, -1, -1,
3142 -1, 1132, -1, -1, 1311, 88, 1313, -1, -1, -1,
3143 93, 1499, 1500, 1501, -1, -1, -1, -1, -1, 1186,
3144 -1, -1, 1153, 1154, 1155, 1156, 1157, -1, 1159, -1,
3145 1161, -1, -1, 1200, -1, 1523, -1, -1, -1, -1,
3146 -1, -1, -1, -1, 238, 239, -1, -1, -1, -1,
3147 -1, -1, -1, 1184, 1185, 1186, -1, -1, -1, -1,
3148 -1, -1, -1, -1, -1, 259, -1, -1, -1, -1,
3149 1, -1, 3, 4, 5, 6, 7, 8, 9, -1,
3150 -1, -1, -1, 14, -1, -1, 1217, -1, -1, -1,
3151 -1, -1, -1, -1, -1, -1, -1, 28, -1, 30,
3152 31, 32, -1, -1, 298, 36, 37, -1, -1, -1,
3153 41, -1, -1, -1, 45, 46, -1, 48, -1, 1426,
3154 -1, -1, -1, 54, -1, 56, 57, -1, -1, 60,
3155 -1, 62, -1, -1, -1, -1, -1, -1, -1, 70,
3156 -1, 1272, 1273, -1, 1275, -1, -1, -1, -1, 80,
3157 -1, -1, 346, -1, 348, 349, -1, 88, -1, -1,
3158 -1, -1, 93, 1330, -1, -1, -1, -1, -1, -1,
3159 -1, 4, 5, -1, 7, 8, 9, -1, 109, 12,
3160 1311, 14, 1313, -1, -1, -1, -1, -1, -1, -1,
3161 -1, -1, 1499, 1500, 1501, 28, -1, 30, 31, 393,
3162 -1, -1, -1, 36, -1, -1, -1, -1, -1, -1,
3163 -1, -1, 45, -1, -1, -1, 1523, -1, 412, -1,
3164 -1, 54, -1, 56, 57, 419, -1, -1, 422, -1,
3165 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3166 434, 1, -1, 3, 4, 5, 6, 7, 8, 9,
3167 10, 11, -1, 13, 14, 15, -1, 17, 18, 19,
3168 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
3169 30, 31, 32, -1, 34, 35, 36, -1, 38, 39,
3170 40, 41, 42, 43, 44, 45, 46, -1, -1, 49,
3171 50, 51, 52, 53, 54, 1426, 56, 57, 58, -1,
3172 60, 61, -1, -1, -1, -1, -1, 67, 502, -1,
3173 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3174 80, -1, -1, -1, -1, -1, 86, 87, 88, -1,
3175 -1, -1, -1, 93, 1501, 95, 530, -1, -1, -1,
3176 -1, -1, -1, -1, -1, -1, -1, -1, -1, 109,
3177 110, 1518, 69, 70, 71, 72, 73, 74, 75, 76,
3178 77, 78, 79, 80, 81, 82, 83, 84, 1499, 1500,
3179 1501, -1, -1, -1, -1, 1, -1, 3, 4, 5,
3180 6, 7, 8, 9, -1, -1, 12, -1, 14, -1,
3181 -1, -1, 1523, -1, -1, -1, -1, -1, -1, 25,
3182 -1, 27, -1, -1, -1, 31, -1, -1, -1, -1,
3183 36, -1, 606, -1, -1, 41, -1, -1, -1, 45,
3184 -1, 47, -1, 617, 618, -1, 620, 621, 54, -1,
3185 56, 57, 58, 59, 60, -1, 62, 63, 64, 65,
3186 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
3187 76, 77, 78, 79, 80, 81, 82, 83, 84, -1,
3188 86, 87, 88, -1, 90, 91, 92, 93, 94, 95,
3189 -1, 97, -1, -1, -1, -1, 102, -1, -1, 673,
3190 -1, 107, 108, 109, -1, 111, 680, 681, -1, -1,
3191 -1, -1, -1, -1, -1, -1, -1, -1, 692, -1,
3192 -1, -1, -1, -1, -1, -1, -1, 1, -1, 3,
3193 4, 5, 6, 7, 8, 9, 10, 11, -1, 13,
3194 14, 15, 716, 17, 18, 19, 20, 21, 22, 23,
3195 24, 25, 26, 27, 28, 29, 30, 31, 32, -1,
3196 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3197 44, 45, 46, -1, -1, 49, 50, 51, 52, 53,
3198 54, -1, 56, 57, 58, -1, 60, 61, -1, 763,
3199 -1, -1, 766, 67, -1, -1, 70, -1, -1, -1,
3200 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3201 -1, -1, 86, 87, 88, -1, -1, -1, -1, 93,
3202 -1, 95, -1, -1, -1, -1, 800, 801, 802, -1,
3203 -1, -1, -1, -1, -1, -1, 110, -1, 812, -1,
3204 1, -1, 3, 4, 5, 6, 7, 8, 9, 10,
3205 11, 12, 13, 14, -1, -1, -1, -1, -1, -1,
3206 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3207 31, 32, -1, 34, 35, 36, -1, 38, 39, 40,
3208 41, 42, 43, -1, 45, -1, 47, -1, 49, 50,
3209 51, 52, 53, 54, -1, 56, 57, 58, -1, -1,
3210 61, -1, -1, -1, -1, -1, 67, -1, -1, 70,
3211 -1, 885, -1, 887, -1, -1, -1, 78, 79, 80,
3212 -1, -1, -1, -1, 898, 86, 87, 88, -1, 90,
3213 -1, -1, 93, 94, 1, -1, 3, 4, 5, 6,
3214 7, 8, 9, 10, 11, 12, 13, 14, -1, 110,
3215 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3216 -1, 28, 29, 30, 31, 32, -1, 34, 35, 36,
3217 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3218 47, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3219 57, 58, -1, -1, 61, -1, -1, -1, -1, -1,
3220 67, -1, -1, 70, -1, -1, -1, -1, -1, 983,
3221 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3222 87, 88, -1, 90, -1, -1, 93, 94, 1, -1,
3223 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
3224 13, 14, -1, 110, -1, -1, -1, -1, -1, -1,
3225 -1, -1, -1, -1, -1, 28, 29, 30, 31, 32,
3226 -1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
3227 43, -1, 45, -1, -1, 1049, 49, 50, 51, 52,
3228 53, 54, -1, 56, 57, -1, -1, -1, 61, -1,
3229 -1, -1, -1, -1, 67, -1, -1, 70, -1, -1,
3230 -1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
3231 -1, -1, -1, 86, 87, 88, -1, -1, -1, -1,
3232 93, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3233 -1, 1105, 1106, -1, 1108, 108, 1, 110, 3, 4,
3234 5, 6, 7, 8, 9, 10, 11, -1, 13, 14,
3235 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3236 -1, -1, -1, 28, 29, 30, 31, 32, -1, 34,
3237 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3238 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
3239 -1, 56, 57, 58, 1168, 60, 61, -1, -1, -1,
3240 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3241 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3242 -1, 86, 87, 88, -1, -1, -1, -1, 93, -1,
3243 1, 1205, 3, 4, 5, 6, -1, 8, 9, 10,
3244 11, -1, 13, 14, -1, 110, 1220, -1, 1222, -1,
3245 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3246 -1, 32, -1, 34, 35, 36, -1, 38, 39, 40,
3247 41, 42, 43, -1, 45, -1, -1, -1, 49, 50,
3248 51, 52, 53, 54, -1, 56, 57, 58, -1, -1,
3249 61, -1, -1, -1, -1, -1, 67, -1, -1, 70,
3250 -1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
3251 -1, -1, -1, -1, -1, 86, 87, 88, -1, -1,
3252 -1, -1, 93, 94, -1, -1, -1, -1, -1, -1,
3253 -1, -1, -1, -1, -1, -1, -1, -1, 109, 110,
3254 1, -1, 3, 4, 5, 6, -1, 8, 9, 10,
3255 11, -1, 13, 14, -1, -1, -1, -1, -1, -1,
3256 -1, -1, 1336, -1, -1, -1, -1, 28, 29, 30,
3257 31, 32, -1, 34, 35, 36, -1, 38, 39, 40,
3258 41, 42, 43, -1, 45, -1, -1, -1, 49, 50,
3259 51, 52, 53, 54, -1, 56, 57, 58, -1, -1,
3260 61, -1, -1, -1, -1, -1, 67, -1, -1, 70,
3261 -1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
3262 -1, -1, -1, -1, -1, 86, 87, 88, -1, -1,
3263 -1, 1, 93, 3, 4, 5, 6, -1, 8, 9,
3264 10, 11, -1, 13, 14, -1, -1, -1, -1, 110,
3265 -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
3266 30, -1, 32, -1, 34, 35, 36, -1, 38, 39,
3267 40, 41, 42, 43, -1, 45, -1, -1, -1, 49,
3268 50, 51, 52, 53, 54, -1, 56, 57, 58, -1,
3269 -1, 61, -1, -1, -1, -1, -1, 67, -1, -1,
3270 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3271 80, -1, -1, -1, -1, -1, 86, 87, 88, -1,
3272 -1, -1, -1, 93, 94, 1, -1, 3, 4, 5,
3273 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3274 110, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3275 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
3276 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3277 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3278 56, 57, 58, -1, -1, 61, -1, -1, -1, -1,
3279 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3280 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3281 86, 87, 88, -1, -1, -1, 1, 93, 3, 4,
3282 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3283 -1, -1, -1, 109, 110, -1, -1, -1, -1, -1,
3284 -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
3285 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3286 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
3287 -1, 56, 57, 58, -1, -1, 61, -1, -1, -1,
3288 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3289 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3290 -1, 86, 87, 88, -1, -1, -1, 1, 93, 3,
3291 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3292 14, -1, -1, -1, 109, 110, -1, -1, -1, -1,
3293 -1, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3294 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3295 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3296 54, -1, 56, 57, 58, -1, -1, 61, -1, -1,
3297 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3298 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3299 -1, -1, 86, 87, 88, -1, -1, -1, -1, 93,
3300 -1, 1, -1, 3, 4, 5, 6, 101, 8, 9,
3301 10, 11, -1, 13, 14, -1, 110, -1, -1, -1,
3302 -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
3303 30, 31, 32, -1, 34, 35, 36, -1, 38, 39,
3304 40, 41, 42, 43, -1, 45, -1, -1, -1, 49,
3305 50, 51, 52, 53, 54, -1, 56, 57, 58, -1,
3306 -1, 61, -1, -1, -1, -1, -1, 67, -1, -1,
3307 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3308 80, -1, -1, -1, -1, -1, 86, 87, 88, -1,
3309 -1, -1, 1, 93, 3, 4, 5, 6, -1, 8,
3310 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3311 110, -1, -1, -1, -1, -1, -1, -1, -1, 28,
3312 29, 30, -1, 32, -1, 34, 35, 36, -1, 38,
3313 39, 40, 41, 42, 43, -1, 45, -1, -1, -1,
3314 49, 50, 51, 52, 53, 54, -1, 56, 57, 58,
3315 -1, -1, 61, -1, -1, -1, -1, -1, 67, -1,
3316 -1, 70, -1, -1, -1, -1, -1, -1, -1, 78,
3317 79, 80, -1, -1, -1, -1, -1, 86, 87, 88,
3318 -1, -1, -1, 1, 93, 3, 4, 5, 6, -1,
3319 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3320 -1, 110, -1, -1, -1, -1, -1, -1, -1, -1,
3321 28, 29, 30, -1, 32, -1, 34, 35, 36, -1,
3322 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3323 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3324 -1, -1, -1, 61, 62, -1, -1, -1, -1, 67,
3325 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3326 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3327 88, -1, -1, -1, 1, 93, 3, 4, 5, 6,
3328 -1, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3329 -1, -1, 110, -1, -1, -1, -1, -1, -1, -1,
3330 -1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
3331 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3332 -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3333 57, -1, -1, 60, 61, -1, -1, -1, -1, -1,
3334 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3335 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3336 87, 88, -1, -1, -1, 1, 93, 3, 4, 5,
3337 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3338 -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
3339 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
3340 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3341 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3342 56, 57, -1, -1, -1, 61, -1, -1, -1, -1,
3343 -1, 67, 1, -1, 70, 4, 5, -1, -1, 8,
3344 9, -1, 78, 79, 80, 14, -1, -1, -1, -1,
3345 86, 87, 88, -1, -1, -1, -1, 93, -1, 28,
3346 -1, 30, -1, -1, -1, -1, -1, 36, -1, 38,
3347 39, -1, 108, -1, 110, -1, 45, -1, 47, -1,
3348 -1, -1, -1, -1, -1, 54, -1, 56, 57, -1,
3349 59, -1, -1, -1, 63, 64, 65, 66, 67, 68,
3350 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
3351 79, 80, 81, 82, 83, -1, -1, 86, 87, 88,
3352 -1, -1, 91, -1, 1, 94, 3, 4, 5, 6,
3353 -1, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3354 -1, 110, -1, -1, -1, -1, -1, -1, -1, -1,
3355 -1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
3356 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3357 -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3358 57, -1, -1, -1, 61, -1, -1, -1, -1, -1,
3359 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3360 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3361 87, 88, -1, -1, -1, 1, 93, 3, 4, 5,
3362 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3363 -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
3364 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
3365 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3366 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3367 56, 57, -1, -1, -1, 61, -1, -1, -1, -1,
3368 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3369 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3370 86, 87, 88, -1, -1, -1, 1, 93, 3, 4,
3371 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3372 -1, -1, -1, -1, 110, -1, -1, -1, -1, -1,
3373 -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
3374 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3375 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
3376 -1, 56, 57, -1, -1, -1, 61, -1, -1, -1,
3377 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3378 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3379 -1, 86, 87, 88, 3, 4, 5, 6, 93, 8,
3380 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3381 -1, -1, -1, -1, -1, 110, -1, -1, -1, 28,
3382 29, 30, -1, 32, -1, 34, 35, 36, -1, 38,
3383 39, 40, 41, 42, 43, -1, 45, -1, -1, -1,
3384 49, 50, 51, 52, 53, 54, -1, 56, 57, -1,
3385 -1, -1, 61, -1, -1, -1, -1, -1, 67, -1,
3386 1, 70, 3, 4, 5, 6, 7, 8, 9, 78,
3387 79, 80, -1, 14, -1, -1, -1, 86, 87, 88,
3388 -1, -1, -1, -1, 93, -1, -1, 28, -1, 30,
3389 31, 32, -1, -1, -1, 36, 37, -1, -1, -1,
3390 41, 110, 111, -1, 45, 46, -1, 48, -1, -1,
3391 -1, -1, -1, 54, -1, 56, 57, -1, -1, 60,
3392 -1, 62, -1, -1, -1, -1, -1, -1, -1, 70,
3393 -1, -1, -1, -1, -1, -1, -1, -1, -1, 80,
3394 -1, -1, -1, -1, -1, -1, -1, 88, -1, -1,
3395 -1, -1, 93, -1, -1, 3, 4, 5, 6, 7,
3396 8, 9, 10, 11, -1, 13, 14, 15, 109, 17,
3397 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
3398 28, 29, 30, 31, 32, -1, 34, 35, 36, -1,
3399 38, 39, 40, 41, 42, 43, 44, 45, 46, -1,
3400 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3401 58, -1, 60, 61, -1, -1, -1, -1, -1, 67,
3402 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3403 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3404 88, -1, -1, -1, -1, 93, -1, 95, -1, -1,
3405 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3406 -1, 109, 110, 3, 4, 5, 6, 7, 8, 9,
3407 10, 11, -1, 13, 14, 15, -1, 17, 18, 19,
3408 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
3409 30, 31, 32, -1, 34, 35, 36, -1, 38, 39,
3410 40, 41, 42, 43, 44, 45, 46, -1, -1, 49,
3411 50, 51, 52, 53, 54, -1, 56, 57, 58, -1,
3412 60, 61, -1, -1, -1, -1, -1, 67, -1, -1,
3413 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3414 80, -1, -1, -1, -1, -1, 86, 87, 88, -1,
3415 -1, -1, -1, 93, -1, 95, -1, 3, 4, 5,
3416 6, 7, 8, 9, 10, 11, -1, 13, 14, 15,
3417 110, 17, 18, 19, 20, 21, 22, 23, 24, 25,
3418 26, 27, 28, 29, 30, 31, 32, -1, 34, 35,
3419 36, -1, 38, 39, 40, 41, 42, 43, 44, 45,
3420 46, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3421 56, 57, 58, -1, 60, 61, -1, -1, -1, -1,
3422 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3423 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3424 86, 87, 88, -1, -1, -1, -1, 93, -1, 95,
3425 -1, 3, 4, 5, 6, 7, 8, 9, 10, 11,
3426 -1, 13, 14, 15, 110, 17, 18, 19, 20, 21,
3427 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
3428 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3429 42, 43, 44, 45, 46, -1, -1, 49, 50, 51,
3430 52, 53, 54, -1, 56, 57, -1, -1, 60, 61,
3431 -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
3432 -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
3433 -1, -1, -1, -1, 86, 87, 88, -1, -1, -1,
3434 -1, 93, -1, 95, 3, 4, 5, 6, 7, 8,
3435 9, 10, 11, 12, 13, 14, -1, -1, 110, -1,
3436 -1, -1, -1, -1, -1, -1, -1, -1, -1, 28,
3437 29, 30, 31, 32, -1, 34, 35, 36, -1, 38,
3438 39, 40, 41, 42, 43, -1, 45, -1, 47, -1,
3439 49, 50, 51, 52, 53, 54, -1, 56, 57, -1,
3440 -1, -1, 61, -1, -1, -1, -1, -1, 67, -1,
3441 -1, 70, -1, -1, -1, -1, -1, -1, -1, 78,
3442 79, 80, -1, -1, -1, -1, -1, 86, 87, 88,
3443 -1, 90, -1, -1, 93, 94, 3, 4, 5, 6,
3444 7, 8, 9, 10, 11, 12, 13, 14, -1, -1,
3445 -1, 110, -1, -1, -1, -1, -1, -1, -1, -1,
3446 -1, 28, 29, 30, 31, 32, -1, 34, 35, 36,
3447 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3448 47, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3449 57, -1, -1, -1, 61, -1, -1, -1, -1, -1,
3450 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3451 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3452 87, 88, -1, 90, -1, -1, 93, 94, 3, 4,
3453 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3454 -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
3455 -1, -1, -1, 28, 29, 30, 31, 32, -1, 34,
3456 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3457 45, -1, 47, -1, 49, 50, 51, 52, 53, 54,
3458 -1, 56, 57, -1, -1, -1, -1, -1, -1, -1,
3459 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3460 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3461 -1, 86, 87, 88, -1, 90, -1, -1, 93, 94,
3462 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3463 13, 14, -1, -1, -1, 110, -1, -1, -1, -1,
3464 -1, -1, -1, -1, -1, 28, 29, 30, 31, 32,
3465 -1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
3466 43, -1, 45, -1, -1, -1, 49, 50, 51, 52,
3467 53, 54, -1, 56, 57, -1, -1, -1, 61, -1,
3468 -1, -1, -1, -1, 67, -1, -1, 70, -1, -1,
3469 -1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
3470 -1, -1, -1, 86, 87, 88, 3, 4, 5, 6,
3471 93, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3472 -1, -1, -1, -1, -1, -1, -1, 110, -1, -1,
3473 -1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
3474 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3475 -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3476 57, -1, -1, 60, 61, -1, -1, -1, -1, -1,
3477 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3478 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3479 87, 88, -1, -1, -1, -1, 93, 3, 4, 5,
3480 6, 7, 8, 9, 10, 11, -1, 13, 14, -1,
3481 -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
3482 -1, -1, 28, 29, 30, 31, 32, -1, 34, 35,
3483 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3484 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3485 56, 57, -1, -1, -1, -1, -1, -1, -1, -1,
3486 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3487 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3488 86, 87, 88, 3, 4, 5, 6, 93, 8, 9,
3489 10, 11, -1, 13, 14, -1, -1, -1, -1, -1,
3490 -1, -1, -1, -1, 110, -1, -1, -1, 28, 29,
3491 30, 31, 32, -1, 34, 35, 36, -1, 38, 39,
3492 40, 41, 42, 43, -1, 45, -1, -1, -1, 49,
3493 50, 51, 52, 53, 54, -1, 56, 57, -1, -1,
3494 -1, 61, -1, -1, -1, -1, -1, 67, -1, -1,
3495 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3496 80, -1, -1, -1, -1, -1, 86, 87, 88, 3,
3497 4, 5, 6, 93, 8, 9, 10, 11, -1, 13,
3498 14, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3499 110, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3500 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3501 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3502 54, -1, 56, 57, -1, -1, -1, 61, -1, -1,
3503 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3504 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3505 -1, -1, 86, 87, 88, 3, 4, 5, 6, 93,
3506 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3507 -1, -1, -1, -1, -1, -1, 110, -1, -1, -1,
3508 28, 29, 30, -1, 32, -1, 34, 35, 36, -1,
3509 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3510 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3511 -1, -1, -1, 61, -1, -1, -1, -1, -1, 67,
3512 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3513 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3514 88, 3, 4, 5, 6, 93, 8, 9, 10, 11,
3515 -1, 13, 14, -1, -1, -1, -1, -1, -1, -1,
3516 -1, -1, 110, -1, -1, -1, 28, 29, 30, -1,
3517 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3518 42, 43, -1, 45, -1, -1, -1, 49, 50, 51,
3519 52, 53, 54, -1, 56, 57, -1, -1, -1, 61,
3520 -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
3521 -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
3522 -1, -1, -1, -1, 86, 87, 88, 3, 4, 5,
3523 6, 93, 8, 9, 10, 11, -1, 13, 14, -1,
3524 -1, -1, -1, -1, -1, -1, -1, -1, 110, -1,
3525 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
3526 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3527 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3528 56, 57, 58, -1, -1, -1, -1, -1, -1, -1,
3529 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3530 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3531 86, 87, 88, 3, 4, 5, 6, 93, 8, 9,
3532 10, 11, -1, 13, 14, -1, -1, -1, -1, -1,
3533 -1, -1, -1, -1, 110, -1, -1, -1, 28, 29,
3534 30, -1, 32, -1, 34, 35, 36, -1, 38, 39,
3535 40, 41, 42, 43, -1, 45, -1, -1, -1, 49,
3536 50, 51, 52, 53, 54, -1, 56, 57, -1, -1,
3537 -1, -1, -1, -1, -1, -1, -1, 67, -1, -1,
3538 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3539 80, -1, -1, -1, -1, -1, 86, 87, 88, -1,
3540 -1, -1, -1, 93, 94, 3, 4, 5, 6, -1,
3541 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3542 110, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3543 28, 29, 30, 31, 32, -1, 34, 35, 36, -1,
3544 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3545 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3546 -1, -1, -1, -1, -1, -1, -1, -1, -1, 67,
3547 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3548 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3549 88, 3, 4, 5, 6, 93, 8, 9, 10, 11,
3550 -1, 13, 14, -1, -1, -1, -1, -1, -1, -1,
3551 -1, -1, 110, -1, -1, -1, 28, 29, 30, -1,
3552 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3553 42, 43, -1, 45, -1, -1, -1, 49, 50, 51,
3554 52, 53, 54, -1, 56, 57, -1, -1, -1, 61,
3555 -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
3556 -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
3557 -1, -1, -1, -1, 86, 87, 88, 3, 4, 5,
3558 6, 93, 8, 9, 10, 11, -1, 13, 14, -1,
3559 -1, -1, -1, -1, -1, -1, -1, -1, 110, -1,
3560 -1, -1, 28, 29, 30, 31, 32, -1, 34, 35,
3561 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3562 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3563 56, 57, -1, -1, -1, -1, -1, -1, -1, -1,
3564 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3565 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3566 86, 87, 88, 3, 4, 5, 6, 93, 8, 9,
3567 10, 11, -1, 13, 14, -1, -1, -1, -1, -1,
3568 -1, -1, -1, -1, 110, -1, -1, -1, 28, 29,
3569 30, -1, 32, -1, 34, 35, 36, -1, 38, 39,
3570 40, 41, 42, 43, -1, 45, -1, -1, -1, 49,
3571 50, 51, 52, 53, 54, -1, 56, 57, -1, -1,
3572 -1, -1, -1, -1, -1, -1, -1, 67, -1, -1,
3573 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3574 80, -1, -1, -1, -1, -1, 86, 87, 88, 3,
3575 4, 5, 6, 93, 8, 9, 10, 11, -1, 13,
3576 14, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3577 110, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3578 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3579 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3580 54, -1, 56, 57, -1, -1, -1, -1, -1, -1,
3581 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3582 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3583 -1, -1, 86, 87, 88, 3, 4, 5, 6, 93,
3584 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3585 -1, -1, -1, -1, -1, -1, 110, -1, -1, -1,
3586 28, 29, 30, -1, 32, -1, 34, 35, 36, -1,
3587 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3588 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3589 -1, -1, -1, -1, -1, -1, -1, -1, -1, 67,
3590 -1, 1, 70, 3, 4, 5, 6, 7, 8, 9,
3591 78, 79, 80, -1, 14, -1, -1, -1, 86, 87,
3592 88, -1, -1, -1, -1, 93, -1, 27, 28, -1,
3593 30, 31, 32, -1, -1, -1, 36, -1, -1, -1,
3594 -1, 41, 110, -1, 44, 45, 46, -1, 48, -1,
3595 -1, -1, -1, -1, 54, -1, 56, 57, -1, -1,
3596 60, -1, 3, 4, 5, 6, -1, -1, 9, -1,
3597 70, -1, -1, -1, -1, -1, -1, -1, -1, 1,
3598 80, 3, 4, 5, 6, 7, 8, 9, 88, -1,
3599 31, -1, 14, 93, -1, -1, -1, -1, 98, -1,
3600 41, -1, -1, -1, -1, -1, 28, -1, 30, 31,
3601 32, -1, -1, 54, 36, 56, 57, -1, -1, 41,
3602 -1, -1, -1, 45, -1, -1, 48, -1, -1, 70,
3603 -1, -1, 54, -1, 56, 57, -1, -1, 1, 80,
3604 3, 4, 5, 6, 7, 8, 9, 88, 70, -1,
3605 -1, 14, 93, -1, -1, -1, -1, -1, 80, -1,
3606 -1, -1, -1, -1, -1, 28, 88, 30, 31, 32,
3607 -1, 93, -1, 36, -1, -1, 98, -1, 41, -1,
3608 -1, -1, 45, 46, -1, 48, -1, -1, -1, -1,
3609 -1, 54, -1, 56, 57, -1, -1, 60, -1, 62,
3610 -1, -1, -1, -1, -1, -1, 1, 70, 3, 4,
3611 5, 6, 7, 8, 9, -1, -1, 80, -1, 14,
3612 -1, -1, -1, -1, -1, 88, -1, -1, -1, -1,
3613 93, -1, -1, 28, -1, 30, 31, -1, -1, -1,
3614 -1, 36, -1, -1, -1, -1, 41, -1, -1, -1,
3615 45, -1, -1, 48, -1, -1, -1, -1, -1, 54,
3616 -1, 56, 57, -1, -1, 60, -1, 3, 4, 5,
3617 6, 7, 8, 9, -1, 70, -1, -1, 14, -1,
3618 -1, -1, -1, -1, -1, 80, -1, -1, -1, -1,
3619 -1, -1, 28, 88, 30, 31, -1, -1, 93, -1,
3620 36, -1, -1, -1, -1, 41, -1, -1, -1, 45,
3621 -1, 47, -1, -1, -1, -1, -1, -1, 54, -1,
3622 56, 57, 3, 4, 5, 6, 7, 8, 9, -1,
3623 -1, -1, -1, 14, 70, -1, -1, -1, -1, -1,
3624 -1, -1, -1, -1, 80, -1, -1, 28, -1, 30,
3625 31, -1, 88, -1, 90, 36, -1, 93, 94, -1,
3626 41, -1, -1, -1, 45, -1, -1, -1, -1, -1,
3627 -1, -1, -1, 54, -1, 56, 57, -1, -1, 60,
3628 -1, 3, 4, 5, 6, 7, 8, 9, -1, 70,
3629 -1, -1, 14, -1, -1, -1, -1, -1, -1, 80,
3630 -1, -1, -1, -1, -1, -1, 28, 88, 30, 31,
3631 -1, -1, 93, -1, 36, -1, -1, -1, -1, 41,
3632 -1, -1, -1, 45, -1, -1, -1, -1, -1, -1,
3633 -1, -1, 54, -1, 56, 57, -1, -1, -1, -1,
3634 62, -1, -1, -1, -1, -1, -1, -1, 70, 3,
3635 4, 5, 6, 7, 8, 9, -1, -1, 80, -1,
3636 14, -1, -1, -1, -1, -1, 88, -1, -1, -1,
3637 -1, 93, -1, -1, 28, -1, 30, 31, -1, -1,
3638 -1, -1, 36, -1, -1, -1, -1, 41, -1, -1,
3639 -1, 45, -1, -1, -1, -1, -1, -1, -1, -1,
3640 54, -1, 56, 57, -1, -1, 60, -1, 3, 4,
3641 5, 6, 7, 8, 9, -1, 70, -1, -1, 14,
3642 -1, -1, -1, -1, -1, -1, 80, -1, -1, -1,
3643 -1, -1, -1, 28, 88, 30, 31, -1, -1, 93,
3644 -1, 36, -1, -1, -1, -1, 41, -1, -1, -1,
3645 45, -1, -1, -1, -1, -1, -1, -1, -1, 54,
3646 -1, 56, 57, 3, 4, 5, 6, 7, 8, 9,
3647 -1, -1, -1, -1, 14, 70, -1, -1, -1, -1,
3648 3, 4, 5, 6, -1, 80, 9, -1, 28, -1,
3649 30, 31, -1, 88, -1, -1, 36, -1, 93, -1,
3650 -1, 41, -1, -1, -1, 45, -1, -1, 31, -1,
3651 -1, -1, -1, -1, 54, -1, 56, 57, 41, -1,
3652 -1, 3, 4, 5, 6, -1, -1, 9, -1, -1,
3653 70, 54, -1, 56, 57, -1, -1, -1, -1, -1,
3654 80, -1, -1, -1, -1, -1, -1, 70, 88, 31,
3655 -1, -1, -1, 93, -1, -1, -1, 80, -1, 41,
3656 -1, -1, -1, -1, -1, 88, -1, -1, -1, -1,
3657 93, -1, 54, -1, 56, 57, -1, -1, -1, -1,
3658 31, -1, -1, -1, -1, -1, -1, -1, 70, -1,
3659 -1, -1, -1, -1, -1, -1, -1, -1, 80, -1,
3660 -1, -1, -1, -1, -1, -1, 88, -1, -1, -1,
3661 -1, 93, 63, 64, 65, 66, 67, 68, 69, 70,
3662 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
3663 81, 82, 83, 84, 63, 64, 65, 66, 67, 68,
3664 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
3665 79, 80, 81, 82, 83, 84, 63, 64, 65, 66,
3666 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
3667 77, 78, 79, 80, 81, 82, 83, 84, -1, -1,
3668 -1, -1, 111, -1, -1, -1, -1, -1, -1, -1,
3669 -1, -1, -1, -1, -1, -1, -1, 59, -1, -1,
3670 107, 63, 64, 65, 66, 67, 68, 69, 70, 71,
3671 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
3672 82, 83, 84, 62, 63, 64, 65, 66, 67, 68,
3673 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
3674 79, 80, 81, 82, 83, 84, 63, 64, 65, 66,
3675 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
3676 77, 78, 79, 80, 81, 82, 83, 84, 63, 64,
3677 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
3678 -1, 76, 77, 78, 79, 80, 81, 82, 83, 84,
3679 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
3680 77, 78, 79, 80, 81, 82, 83, 84, 68, 69,
3681 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
3682 80, 81, 82, 83, 84, 70, 71, 72, 73, 74,
3683 75, 76, 77, 78, 79, 80, 81, 82, 83, 84
3684 };
3685 /* -*-C-*- Note some compilers choke on comments on `#line' lines. */
3686 #line 3 "/usr/cygnus/gnupro-98r1/share/bison.simple"
3687
3688 /* Skeleton output parser for bison,
3689 Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
3690
3691 This program is free software; you can redistribute it and/or modify
3692 it under the terms of the GNU General Public License as published by
3693 the Free Software Foundation; either version 2, or (at your option)
3694 any later version.
3695
3696 This program is distributed in the hope that it will be useful,
3697 but WITHOUT ANY WARRANTY; without even the implied warranty of
3698 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3699 GNU General Public License for more details.
3700
3701 You should have received a copy of the GNU General Public License
3702 along with this program; if not, write to the Free Software
3703 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
3704
3705 /* As a special exception, when this file is copied by Bison into a
3706 Bison output file, you may use that output file without restriction.
3707 This special exception was added by the Free Software Foundation
3708 in version 1.24 of Bison. */
3709
3710 #ifndef alloca
3711 #ifdef __GNUC__
3712 #define alloca __builtin_alloca
3713 #else /* not GNU C. */
3714 #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi)
3715 #include <alloca.h>
3716 #else /* not sparc */
3717 #if defined (MSDOS) && !defined (__TURBOC__)
3718 #include <malloc.h>
3719 #else /* not MSDOS, or __TURBOC__ */
3720 #if defined(_AIX)
3721 #include <malloc.h>
3722 #pragma alloca
3723 #else /* not MSDOS, __TURBOC__, or _AIX */
3724 #ifdef __hpux
3725 #ifdef __cplusplus
3726 extern "C" {
3727 void *alloca (unsigned int);
3728 };
3729 #else /* not __cplusplus */
3730 void *alloca ();
3731 #endif /* not __cplusplus */
3732 #endif /* __hpux */
3733 #endif /* not _AIX */
3734 #endif /* not MSDOS, or __TURBOC__ */
3735 #endif /* not sparc. */
3736 #endif /* not GNU C. */
3737 #endif /* alloca not defined. */
3738
3739 /* This is the parser code that is written into each bison parser
3740 when the %semantic_parser declaration is not specified in the grammar.
3741 It was written by Richard Stallman by simplifying the hairy parser
3742 used when %semantic_parser is specified. */
3743
3744 /* Note: there must be only one dollar sign in this file.
3745 It is replaced by the list of actions, each action
3746 as one case of the switch. */
3747
3748 #define yyerrok (yyerrstatus = 0)
3749 #define yyclearin (yychar = YYEMPTY)
3750 #define YYEMPTY -2
3751 #define YYEOF 0
3752 #define YYACCEPT return(0)
3753 #define YYABORT return(1)
3754 #define YYERROR goto yyerrlab1
3755 /* Like YYERROR except do call yyerror.
3756 This remains here temporarily to ease the
3757 transition to the new meaning of YYERROR, for GCC.
3758 Once GCC version 2 has supplanted version 1, this can go. */
3759 #define YYFAIL goto yyerrlab
3760 #define YYRECOVERING() (!!yyerrstatus)
3761 #define YYBACKUP(token, value) \
3762 do \
3763 if (yychar == YYEMPTY && yylen == 1) \
3764 { yychar = (token), yylval = (value); \
3765 yychar1 = YYTRANSLATE (yychar); \
3766 YYPOPSTACK; \
3767 goto yybackup; \
3768 } \
3769 else \
3770 { yyerror ("syntax error: cannot back up"); YYERROR; } \
3771 while (0)
3772
3773 #define YYTERROR 1
3774 #define YYERRCODE 256
3775
3776 #ifndef YYPURE
3777 #define YYLEX yylex()
3778 #endif
3779
3780 #ifdef YYPURE
3781 #ifdef YYLSP_NEEDED
3782 #ifdef YYLEX_PARAM
3783 #define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM)
3784 #else
3785 #define YYLEX yylex(&yylval, &yylloc)
3786 #endif
3787 #else /* not YYLSP_NEEDED */
3788 #ifdef YYLEX_PARAM
3789 #define YYLEX yylex(&yylval, YYLEX_PARAM)
3790 #else
3791 #define YYLEX yylex(&yylval)
3792 #endif
3793 #endif /* not YYLSP_NEEDED */
3794 #endif
3795
3796 /* If nonreentrant, generate the variables here */
3797
3798 #ifndef YYPURE
3799
3800 int yychar; /* the lookahead symbol */
3801 YYSTYPE yylval; /* the semantic value of the */
3802 /* lookahead symbol */
3803
3804 #ifdef YYLSP_NEEDED
3805 YYLTYPE yylloc; /* location data for the lookahead */
3806 /* symbol */
3807 #endif
3808
3809 int yynerrs; /* number of parse errors so far */
3810 #endif /* not YYPURE */
3811
3812 #if YYDEBUG != 0
3813 int yydebug; /* nonzero means print parse trace */
3814 /* Since this is uninitialized, it does not stop multiple parsers
3815 from coexisting. */
3816 #endif
3817
3818 /* YYINITDEPTH indicates the initial size of the parser's stacks */
3819
3820 #ifndef YYINITDEPTH
3821 #define YYINITDEPTH 200
3822 #endif
3823
3824 /* YYMAXDEPTH is the maximum size the stacks can grow to
3825 (effective only if the built-in stack extension method is used). */
3826
3827 #if YYMAXDEPTH == 0
3828 #undef YYMAXDEPTH
3829 #endif
3830
3831 #ifndef YYMAXDEPTH
3832 #define YYMAXDEPTH 10000
3833 #endif
3834
3835 /* Prevent warning if -Wstrict-prototypes. */
3836 #ifdef __GNUC__
3837 int yyparse (void);
3838 #endif
3839 \f
3840 #if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
3841 #define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT)
3842 #else /* not GNU C or C++ */
3843 #ifndef __cplusplus
3844
3845 /* This is the most reliable way to avoid incompatibilities
3846 in available built-in functions on various systems. */
3847 static void
3848 __yy_memcpy (to, from, count)
3849 char *to;
3850 char *from;
3851 int count;
3852 {
3853 register char *f = from;
3854 register char *t = to;
3855 register int i = count;
3856
3857 while (i-- > 0)
3858 *t++ = *f++;
3859 }
3860
3861 #else /* __cplusplus */
3862
3863 /* This is the most reliable way to avoid incompatibilities
3864 in available built-in functions on various systems. */
3865 static void
3866 __yy_memcpy (char *to, char *from, int count)
3867 {
3868 register char *f = from;
3869 register char *t = to;
3870 register int i = count;
3871
3872 while (i-- > 0)
3873 *t++ = *f++;
3874 }
3875
3876 #endif
3877 #endif
3878 \f
3879 #line 196 "/usr/cygnus/gnupro-98r1/share/bison.simple"
3880
3881 /* The user can define YYPARSE_PARAM as the name of an argument to be passed
3882 into yyparse. The argument should have type void *.
3883 It should actually point to an object.
3884 Grammar actions can access the variable by casting it
3885 to the proper pointer type. */
3886
3887 #ifdef YYPARSE_PARAM
3888 #ifdef __cplusplus
3889 #define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
3890 #define YYPARSE_PARAM_DECL
3891 #else /* not __cplusplus */
3892 #define YYPARSE_PARAM_ARG YYPARSE_PARAM
3893 #define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
3894 #endif /* not __cplusplus */
3895 #else /* not YYPARSE_PARAM */
3896 #define YYPARSE_PARAM_ARG
3897 #define YYPARSE_PARAM_DECL
3898 #endif /* not YYPARSE_PARAM */
3899
3900 int
3901 yyparse(YYPARSE_PARAM_ARG)
3902 YYPARSE_PARAM_DECL
3903 {
3904 register int yystate;
3905 register int yyn;
3906 register short *yyssp;
3907 register YYSTYPE *yyvsp;
3908 int yyerrstatus; /* number of tokens to shift before error messages enabled */
3909 int yychar1 = 0; /* lookahead token as an internal (translated) token number */
3910
3911 short yyssa[YYINITDEPTH]; /* the state stack */
3912 YYSTYPE yyvsa[YYINITDEPTH]; /* the semantic value stack */
3913
3914 short *yyss = yyssa; /* refer to the stacks thru separate pointers */
3915 YYSTYPE *yyvs = yyvsa; /* to allow yyoverflow to reallocate them elsewhere */
3916
3917 #ifdef YYLSP_NEEDED
3918 YYLTYPE yylsa[YYINITDEPTH]; /* the location stack */
3919 YYLTYPE *yyls = yylsa;
3920 YYLTYPE *yylsp;
3921
3922 #define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
3923 #else
3924 #define YYPOPSTACK (yyvsp--, yyssp--)
3925 #endif
3926
3927 int yystacksize = YYINITDEPTH;
3928
3929 #ifdef YYPURE
3930 int yychar;
3931 YYSTYPE yylval;
3932 int yynerrs;
3933 #ifdef YYLSP_NEEDED
3934 YYLTYPE yylloc;
3935 #endif
3936 #endif
3937
3938 YYSTYPE yyval; /* the variable used to return */
3939 /* semantic values from the action */
3940 /* routines */
3941
3942 int yylen;
3943
3944 #if YYDEBUG != 0
3945 if (yydebug)
3946 fprintf(stderr, "Starting parse\n");
3947 #endif
3948
3949 yystate = 0;
3950 yyerrstatus = 0;
3951 yynerrs = 0;
3952 yychar = YYEMPTY; /* Cause a token to be read. */
3953
3954 /* Initialize stack pointers.
3955 Waste one element of value and location stack
3956 so that they stay on the same level as the state stack.
3957 The wasted elements are never initialized. */
3958
3959 yyssp = yyss - 1;
3960 yyvsp = yyvs;
3961 #ifdef YYLSP_NEEDED
3962 yylsp = yyls;
3963 #endif
3964
3965 /* Push a new state, which is found in yystate . */
3966 /* In all cases, when you get here, the value and location stacks
3967 have just been pushed. so pushing a state here evens the stacks. */
3968 yynewstate:
3969
3970 *++yyssp = yystate;
3971
3972 if (yyssp >= yyss + yystacksize - 1)
3973 {
3974 /* Give user a chance to reallocate the stack */
3975 /* Use copies of these so that the &'s don't force the real ones into memory. */
3976 YYSTYPE *yyvs1 = yyvs;
3977 short *yyss1 = yyss;
3978 #ifdef YYLSP_NEEDED
3979 YYLTYPE *yyls1 = yyls;
3980 #endif
3981
3982 /* Get the current used size of the three stacks, in elements. */
3983 int size = yyssp - yyss + 1;
3984
3985 #ifdef yyoverflow
3986 /* Each stack pointer address is followed by the size of
3987 the data in use in that stack, in bytes. */
3988 #ifdef YYLSP_NEEDED
3989 /* This used to be a conditional around just the two extra args,
3990 but that might be undefined if yyoverflow is a macro. */
3991 yyoverflow("parser stack overflow",
3992 &yyss1, size * sizeof (*yyssp),
3993 &yyvs1, size * sizeof (*yyvsp),
3994 &yyls1, size * sizeof (*yylsp),
3995 &yystacksize);
3996 #else
3997 yyoverflow("parser stack overflow",
3998 &yyss1, size * sizeof (*yyssp),
3999 &yyvs1, size * sizeof (*yyvsp),
4000 &yystacksize);
4001 #endif
4002
4003 yyss = yyss1; yyvs = yyvs1;
4004 #ifdef YYLSP_NEEDED
4005 yyls = yyls1;
4006 #endif
4007 #else /* no yyoverflow */
4008 /* Extend the stack our own way. */
4009 if (yystacksize >= YYMAXDEPTH)
4010 {
4011 yyerror("parser stack overflow");
4012 return 2;
4013 }
4014 yystacksize *= 2;
4015 if (yystacksize > YYMAXDEPTH)
4016 yystacksize = YYMAXDEPTH;
4017 yyss = (short *) alloca (yystacksize * sizeof (*yyssp));
4018 __yy_memcpy ((char *)yyss, (char *)yyss1, size * sizeof (*yyssp));
4019 yyvs = (YYSTYPE *) alloca (yystacksize * sizeof (*yyvsp));
4020 __yy_memcpy ((char *)yyvs, (char *)yyvs1, size * sizeof (*yyvsp));
4021 #ifdef YYLSP_NEEDED
4022 yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp));
4023 __yy_memcpy ((char *)yyls, (char *)yyls1, size * sizeof (*yylsp));
4024 #endif
4025 #endif /* no yyoverflow */
4026
4027 yyssp = yyss + size - 1;
4028 yyvsp = yyvs + size - 1;
4029 #ifdef YYLSP_NEEDED
4030 yylsp = yyls + size - 1;
4031 #endif
4032
4033 #if YYDEBUG != 0
4034 if (yydebug)
4035 fprintf(stderr, "Stack size increased to %d\n", yystacksize);
4036 #endif
4037
4038 if (yyssp >= yyss + yystacksize - 1)
4039 YYABORT;
4040 }
4041
4042 #if YYDEBUG != 0
4043 if (yydebug)
4044 fprintf(stderr, "Entering state %d\n", yystate);
4045 #endif
4046
4047 goto yybackup;
4048 yybackup:
4049
4050 /* Do appropriate processing given the current state. */
4051 /* Read a lookahead token if we need one and don't already have one. */
4052 /* yyresume: */
4053
4054 /* First try to decide what to do without reference to lookahead token. */
4055
4056 yyn = yypact[yystate];
4057 if (yyn == YYFLAG)
4058 goto yydefault;
4059
4060 /* Not known => get a lookahead token if don't already have one. */
4061
4062 /* yychar is either YYEMPTY or YYEOF
4063 or a valid token in external form. */
4064
4065 if (yychar == YYEMPTY)
4066 {
4067 #if YYDEBUG != 0
4068 if (yydebug)
4069 fprintf(stderr, "Reading a token: ");
4070 #endif
4071 yychar = YYLEX;
4072 }
4073
4074 /* Convert token to internal form (in yychar1) for indexing tables with */
4075
4076 if (yychar <= 0) /* This means end of input. */
4077 {
4078 yychar1 = 0;
4079 yychar = YYEOF; /* Don't call YYLEX any more */
4080
4081 #if YYDEBUG != 0
4082 if (yydebug)
4083 fprintf(stderr, "Now at end of input.\n");
4084 #endif
4085 }
4086 else
4087 {
4088 yychar1 = YYTRANSLATE(yychar);
4089
4090 #if YYDEBUG != 0
4091 if (yydebug)
4092 {
4093 fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
4094 /* Give the individual parser a way to print the precise meaning
4095 of a token, for further debugging info. */
4096 #ifdef YYPRINT
4097 YYPRINT (stderr, yychar, yylval);
4098 #endif
4099 fprintf (stderr, ")\n");
4100 }
4101 #endif
4102 }
4103
4104 yyn += yychar1;
4105 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
4106 goto yydefault;
4107
4108 yyn = yytable[yyn];
4109
4110 /* yyn is what to do for this token type in this state.
4111 Negative => reduce, -yyn is rule number.
4112 Positive => shift, yyn is new state.
4113 New state is final state => don't bother to shift,
4114 just return success.
4115 0, or most negative number => error. */
4116
4117 if (yyn < 0)
4118 {
4119 if (yyn == YYFLAG)
4120 goto yyerrlab;
4121 yyn = -yyn;
4122 goto yyreduce;
4123 }
4124 else if (yyn == 0)
4125 goto yyerrlab;
4126
4127 if (yyn == YYFINAL)
4128 YYACCEPT;
4129
4130 /* Shift the lookahead token. */
4131
4132 #if YYDEBUG != 0
4133 if (yydebug)
4134 fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
4135 #endif
4136
4137 /* Discard the token being shifted unless it is eof. */
4138 if (yychar != YYEOF)
4139 yychar = YYEMPTY;
4140
4141 *++yyvsp = yylval;
4142 #ifdef YYLSP_NEEDED
4143 *++yylsp = yylloc;
4144 #endif
4145
4146 /* count tokens shifted since error; after three, turn off error status. */
4147 if (yyerrstatus) yyerrstatus--;
4148
4149 yystate = yyn;
4150 goto yynewstate;
4151
4152 /* Do the default action for the current state. */
4153 yydefault:
4154
4155 yyn = yydefact[yystate];
4156 if (yyn == 0)
4157 goto yyerrlab;
4158
4159 /* Do a reduction. yyn is the number of a rule to reduce with. */
4160 yyreduce:
4161 yylen = yyr2[yyn];
4162 if (yylen > 0)
4163 yyval = yyvsp[1-yylen]; /* implement default value of the action */
4164
4165 #if YYDEBUG != 0
4166 if (yydebug)
4167 {
4168 int i;
4169
4170 fprintf (stderr, "Reducing via rule %d (line %d), ",
4171 yyn, yyrline[yyn]);
4172
4173 /* Print the symbols being reduced, and their result. */
4174 for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
4175 fprintf (stderr, "%s ", yytname[yyrhs[i]]);
4176 fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
4177 }
4178 #endif
4179
4180
4181 switch (yyn) {
4182
4183 case 2:
4184 #line 340 "parse.y"
4185 { finish_translation_unit (); ;
4186 break;}
4187 case 3:
4188 #line 348 "parse.y"
4189 { yyval.ttype = NULL_TREE; ;
4190 break;}
4191 case 4:
4192 #line 350 "parse.y"
4193 { yyval.ttype = NULL_TREE; ;
4194 break;}
4195 case 5:
4196 #line 352 "parse.y"
4197 { yyval.ttype = NULL_TREE; ;
4198 break;}
4199 case 8:
4200 #line 361 "parse.y"
4201 { have_extern_spec = 1;
4202 used_extern_spec = 0;
4203 yyval.ttype = NULL_TREE; ;
4204 break;}
4205 case 9:
4206 #line 366 "parse.y"
4207 { have_extern_spec = 0; ;
4208 break;}
4209 case 10:
4210 #line 371 "parse.y"
4211 { yyval.itype = pedantic;
4212 pedantic = 0; ;
4213 break;}
4214 case 12:
4215 #line 380 "parse.y"
4216 { if (pending_lang_change) do_pending_lang_change(); ;
4217 break;}
4218 case 13:
4219 #line 382 "parse.y"
4220 { if (! toplevel_bindings_p () && ! pseudo_global_level_p())
4221 pop_everything (); ;
4222 break;}
4223 case 14:
4224 #line 388 "parse.y"
4225 { if (pending_inlines) do_pending_inlines (); ;
4226 break;}
4227 case 15:
4228 #line 390 "parse.y"
4229 { if (pending_inlines) do_pending_inlines (); ;
4230 break;}
4231 case 16:
4232 #line 392 "parse.y"
4233 { if (pending_inlines) do_pending_inlines (); ;
4234 break;}
4235 case 17:
4236 #line 394 "parse.y"
4237 { if (TREE_CHAIN (yyvsp[-2].ttype)) yyvsp[-2].ttype = combine_strings (yyvsp[-2].ttype);
4238 assemble_asm (yyvsp[-2].ttype); ;
4239 break;}
4240 case 18:
4241 #line 397 "parse.y"
4242 { pop_lang_context (); ;
4243 break;}
4244 case 19:
4245 #line 399 "parse.y"
4246 { if (pending_inlines) do_pending_inlines ();
4247 pop_lang_context (); ;
4248 break;}
4249 case 20:
4250 #line 402 "parse.y"
4251 { if (pending_inlines) do_pending_inlines ();
4252 pop_lang_context (); ;
4253 break;}
4254 case 21:
4255 #line 405 "parse.y"
4256 { push_namespace (yyvsp[-1].ttype); ;
4257 break;}
4258 case 22:
4259 #line 407 "parse.y"
4260 { pop_namespace (); ;
4261 break;}
4262 case 23:
4263 #line 409 "parse.y"
4264 { push_namespace (NULL_TREE); ;
4265 break;}
4266 case 24:
4267 #line 411 "parse.y"
4268 { pop_namespace (); ;
4269 break;}
4270 case 26:
4271 #line 414 "parse.y"
4272 { do_toplevel_using_decl (yyvsp[-1].ttype); ;
4273 break;}
4274 case 28:
4275 #line 417 "parse.y"
4276 { pedantic = yyvsp[-1].itype; ;
4277 break;}
4278 case 29:
4279 #line 422 "parse.y"
4280 { begin_only_namespace_names (); ;
4281 break;}
4282 case 30:
4283 #line 424 "parse.y"
4284 {
4285 end_only_namespace_names ();
4286 if (lastiddecl)
4287 yyvsp[-1].ttype = lastiddecl;
4288 do_namespace_alias (yyvsp[-4].ttype, yyvsp[-1].ttype);
4289 ;
4290 break;}
4291 case 31:
4292 #line 434 "parse.y"
4293 { yyval.ttype = yyvsp[0].ttype; ;
4294 break;}
4295 case 32:
4296 #line 436 "parse.y"
4297 { yyval.ttype = yyvsp[0].ttype; ;
4298 break;}
4299 case 33:
4300 #line 438 "parse.y"
4301 { yyval.ttype = yyvsp[0].ttype; ;
4302 break;}
4303 case 34:
4304 #line 443 "parse.y"
4305 { yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4306 break;}
4307 case 35:
4308 #line 445 "parse.y"
4309 { yyval.ttype = build_parse_node (SCOPE_REF, global_namespace, yyvsp[0].ttype); ;
4310 break;}
4311 case 36:
4312 #line 447 "parse.y"
4313 { yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4314 break;}
4315 case 37:
4316 #line 452 "parse.y"
4317 { begin_only_namespace_names (); ;
4318 break;}
4319 case 38:
4320 #line 454 "parse.y"
4321 {
4322 end_only_namespace_names ();
4323 /* If no declaration was found, the using-directive is
4324 invalid. Since that was not reported, we need the
4325 identifier for the error message. */
4326 if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE && lastiddecl)
4327 yyvsp[-1].ttype = lastiddecl;
4328 do_using_directive (yyvsp[-1].ttype);
4329 ;
4330 break;}
4331 case 39:
4332 #line 467 "parse.y"
4333 {
4334 if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
4335 yyval.ttype = lastiddecl;
4336 got_scope = yyval.ttype;
4337 ;
4338 break;}
4339 case 40:
4340 #line 473 "parse.y"
4341 {
4342 yyval.ttype = yyvsp[-1].ttype;
4343 if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
4344 yyval.ttype = lastiddecl;
4345 got_scope = yyval.ttype;
4346 ;
4347 break;}
4348 case 43:
4349 #line 484 "parse.y"
4350 { yyval.ttype = yyvsp[0].ttype; ;
4351 break;}
4352 case 44:
4353 #line 486 "parse.y"
4354 { yyval.ttype = yyvsp[0].ttype; ;
4355 break;}
4356 case 45:
4357 #line 491 "parse.y"
4358 { push_lang_context (yyvsp[0].ttype); ;
4359 break;}
4360 case 46:
4361 #line 493 "parse.y"
4362 { if (current_lang_name != yyvsp[0].ttype)
4363 cp_error ("use of linkage spec `%D' is different from previous spec `%D'", yyvsp[0].ttype, current_lang_name);
4364 pop_lang_context (); push_lang_context (yyvsp[0].ttype); ;
4365 break;}
4366 case 47:
4367 #line 500 "parse.y"
4368 { begin_template_parm_list (); ;
4369 break;}
4370 case 48:
4371 #line 502 "parse.y"
4372 { yyval.ttype = end_template_parm_list (yyvsp[-1].ttype); ;
4373 break;}
4374 case 49:
4375 #line 504 "parse.y"
4376 { begin_specialization();
4377 yyval.ttype = NULL_TREE; ;
4378 break;}
4379 case 50:
4380 #line 510 "parse.y"
4381 { yyval.ttype = process_template_parm (NULL_TREE, yyvsp[0].ttype); ;
4382 break;}
4383 case 51:
4384 #line 512 "parse.y"
4385 { yyval.ttype = process_template_parm (yyvsp[-2].ttype, yyvsp[0].ttype); ;
4386 break;}
4387 case 52:
4388 #line 517 "parse.y"
4389 { yyval.ttype = yyvsp[0].ttype; ;
4390 break;}
4391 case 53:
4392 #line 519 "parse.y"
4393 { yyval.ttype = NULL_TREE; ;
4394 break;}
4395 case 54:
4396 #line 523 "parse.y"
4397 { yyval.ttype = finish_template_type_parm (yyvsp[-1].ttype, yyvsp[0].ttype); ;
4398 break;}
4399 case 55:
4400 #line 525 "parse.y"
4401 { yyval.ttype = finish_template_type_parm (class_type_node, yyvsp[0].ttype); ;
4402 break;}
4403 case 56:
4404 #line 530 "parse.y"
4405 { yyval.ttype = finish_template_template_parm (yyvsp[-1].ttype, yyvsp[0].ttype); ;
4406 break;}
4407 case 57:
4408 #line 542 "parse.y"
4409 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
4410 break;}
4411 case 58:
4412 #line 544 "parse.y"
4413 { yyval.ttype = build_tree_list (groktypename (yyvsp[0].ftype.t), yyvsp[-2].ttype); ;
4414 break;}
4415 case 59:
4416 #line 546 "parse.y"
4417 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ftype.t); ;
4418 break;}
4419 case 60:
4420 #line 548 "parse.y"
4421 { yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-2].ftype.t); ;
4422 break;}
4423 case 61:
4424 #line 550 "parse.y"
4425 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
4426 break;}
4427 case 62:
4428 #line 552 "parse.y"
4429 {
4430 if (TREE_CODE (yyvsp[0].ttype) != TEMPLATE_DECL
4431 && TREE_CODE (yyvsp[0].ttype) != TEMPLATE_TEMPLATE_PARM
4432 && TREE_CODE (yyvsp[0].ttype) != TYPE_DECL)
4433 {
4434 error ("invalid default template argument");
4435 yyvsp[0].ttype = error_mark_node;
4436 }
4437 yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype);
4438 ;
4439 break;}
4440 case 63:
4441 #line 566 "parse.y"
4442 { finish_template_decl (yyvsp[-1].ttype); ;
4443 break;}
4444 case 64:
4445 #line 568 "parse.y"
4446 { finish_template_decl (yyvsp[-1].ttype); ;
4447 break;}
4448 case 65:
4449 #line 573 "parse.y"
4450 { if (pending_inlines) do_pending_inlines (); ;
4451 break;}
4452 case 66:
4453 #line 575 "parse.y"
4454 { if (pending_inlines) do_pending_inlines (); ;
4455 break;}
4456 case 67:
4457 #line 577 "parse.y"
4458 { if (pending_inlines) do_pending_inlines (); ;
4459 break;}
4460 case 68:
4461 #line 579 "parse.y"
4462 { if (pending_inlines) do_pending_inlines ();
4463 pop_lang_context (); ;
4464 break;}
4465 case 69:
4466 #line 582 "parse.y"
4467 { if (pending_inlines) do_pending_inlines ();
4468 pop_lang_context (); ;
4469 break;}
4470 case 70:
4471 #line 585 "parse.y"
4472 { pedantic = yyvsp[-1].itype; ;
4473 break;}
4474 case 72:
4475 #line 591 "parse.y"
4476 {;
4477 break;}
4478 case 73:
4479 #line 593 "parse.y"
4480 { note_list_got_semicolon (yyvsp[-2].ftype.t); ;
4481 break;}
4482 case 74:
4483 #line 595 "parse.y"
4484 { maybe_process_partial_specialization (yyvsp[-1].ftype.t);
4485 note_got_semicolon (yyvsp[-1].ftype.t); ;
4486 break;}
4487 case 76:
4488 #line 602 "parse.y"
4489 {;
4490 break;}
4491 case 77:
4492 #line 604 "parse.y"
4493 { note_list_got_semicolon (yyvsp[-2].ftype.t); ;
4494 break;}
4495 case 78:
4496 #line 606 "parse.y"
4497 { pedwarn ("empty declaration"); ;
4498 break;}
4499 case 80:
4500 #line 609 "parse.y"
4501 {
4502 tree t, attrs;
4503 split_specs_attrs (yyvsp[-1].ftype.t, &t, &attrs);
4504 shadow_tag (t);
4505 note_list_got_semicolon (yyvsp[-1].ftype.t);
4506 ;
4507 break;}
4508 case 84:
4509 #line 622 "parse.y"
4510 { yyval.itype = 0; ;
4511 break;}
4512 case 85:
4513 #line 624 "parse.y"
4514 { yyval.itype = 1; ;
4515 break;}
4516 case 91:
4517 #line 640 "parse.y"
4518 { finish_function (lineno, (int)yyvsp[-1].itype, 0); ;
4519 break;}
4520 case 92:
4521 #line 642 "parse.y"
4522 { ;
4523 break;}
4524 case 93:
4525 #line 644 "parse.y"
4526 { ;
4527 break;}
4528 case 94:
4529 #line 649 "parse.y"
4530 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4531 break;}
4532 case 95:
4533 #line 651 "parse.y"
4534 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4535 break;}
4536 case 96:
4537 #line 653 "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 97:
4543 #line 657 "parse.y"
4544 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4545 break;}
4546 case 98:
4547 #line 659 "parse.y"
4548 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4549 break;}
4550 case 99:
4551 #line 661 "parse.y"
4552 { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype);
4553 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4554 ;
4555 break;}
4556 case 100:
4557 #line 665 "parse.y"
4558 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4559 break;}
4560 case 101:
4561 #line 667 "parse.y"
4562 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4563 break;}
4564 case 102:
4565 #line 669 "parse.y"
4566 { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype);
4567 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4568 ;
4569 break;}
4570 case 103:
4571 #line 673 "parse.y"
4572 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4573 break;}
4574 case 104:
4575 #line 675 "parse.y"
4576 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4577 break;}
4578 case 105:
4579 #line 677 "parse.y"
4580 { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype);
4581 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4582 ;
4583 break;}
4584 case 106:
4585 #line 684 "parse.y"
4586 { if (!begin_function_definition (yyvsp[-1].ftype.t, yyvsp[0].ttype))
4587 YYERROR1; ;
4588 break;}
4589 case 107:
4590 #line 687 "parse.y"
4591 { if (!begin_function_definition (yyvsp[-1].ttype, yyvsp[0].ttype))
4592 YYERROR1; ;
4593 break;}
4594 case 108:
4595 #line 690 "parse.y"
4596 { if (!begin_function_definition (NULL_TREE, yyvsp[0].ttype))
4597 YYERROR1; ;
4598 break;}
4599 case 109:
4600 #line 693 "parse.y"
4601 { if (!begin_function_definition (yyvsp[-1].ttype, yyvsp[0].ttype))
4602 YYERROR1; ;
4603 break;}
4604 case 110:
4605 #line 696 "parse.y"
4606 { if (!begin_function_definition (NULL_TREE, yyvsp[0].ttype))
4607 YYERROR1; ;
4608 break;}
4609 case 111:
4610 #line 702 "parse.y"
4611 { yyval.ttype = make_call_declarator (yyvsp[-5].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4612 break;}
4613 case 112:
4614 #line 704 "parse.y"
4615 { yyval.ttype = make_call_declarator (yyvsp[-3].ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
4616 break;}
4617 case 113:
4618 #line 706 "parse.y"
4619 { yyval.ttype = make_call_declarator (yyvsp[-5].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4620 break;}
4621 case 114:
4622 #line 708 "parse.y"
4623 { yyval.ttype = make_call_declarator (yyvsp[-3].ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
4624 break;}
4625 case 115:
4626 #line 715 "parse.y"
4627 { tree specs, attrs;
4628 split_specs_attrs (yyvsp[-1].ttype, &specs, &attrs);
4629 attrs = build_tree_list (attrs, NULL_TREE);
4630 yyval.ttype = start_method (specs, yyvsp[0].ttype, attrs);
4631 rest_of_mdef:
4632 if (! yyval.ttype)
4633 YYERROR1;
4634 if (yychar == YYEMPTY)
4635 yychar = YYLEX;
4636 reinit_parse_for_method (yychar, yyval.ttype); ;
4637 break;}
4638 case 116:
4639 #line 726 "parse.y"
4640 { yyval.ttype = start_method (NULL_TREE, yyvsp[0].ttype, NULL_TREE);
4641 goto rest_of_mdef; ;
4642 break;}
4643 case 117:
4644 #line 729 "parse.y"
4645 { tree specs, attrs;
4646 split_specs_attrs (yyvsp[-1].ftype.t, &specs, &attrs);
4647 attrs = build_tree_list (attrs, NULL_TREE);
4648 yyval.ttype = start_method (specs, yyvsp[0].ttype, attrs); goto rest_of_mdef; ;
4649 break;}
4650 case 118:
4651 #line 734 "parse.y"
4652 { tree specs, attrs;
4653 split_specs_attrs (yyvsp[-1].ttype, &specs, &attrs);
4654 attrs = build_tree_list (attrs, NULL_TREE);
4655 yyval.ttype = start_method (specs, yyvsp[0].ttype, attrs); goto rest_of_mdef; ;
4656 break;}
4657 case 119:
4658 #line 739 "parse.y"
4659 { yyval.ttype = start_method (NULL_TREE, yyval.ttype, NULL_TREE);
4660 goto rest_of_mdef; ;
4661 break;}
4662 case 120:
4663 #line 742 "parse.y"
4664 { tree specs, attrs;
4665 split_specs_attrs (yyvsp[-1].ttype, &specs, &attrs);
4666 attrs = build_tree_list (attrs, NULL_TREE);
4667 yyval.ttype = start_method (specs, yyvsp[0].ttype, attrs); goto rest_of_mdef; ;
4668 break;}
4669 case 121:
4670 #line 747 "parse.y"
4671 { yyval.ttype = start_method (NULL_TREE, yyval.ttype, NULL_TREE);
4672 goto rest_of_mdef; ;
4673 break;}
4674 case 122:
4675 #line 753 "parse.y"
4676 {
4677 if (! current_function_parms_stored)
4678 store_parm_decls ();
4679 yyval.ttype = yyvsp[0].ttype;
4680 ;
4681 break;}
4682 case 123:
4683 #line 762 "parse.y"
4684 { store_return_init (yyval.ttype, yyvsp[0].ttype); ;
4685 break;}
4686 case 124:
4687 #line 764 "parse.y"
4688 { store_return_init (yyval.ttype, yyvsp[-1].ttype); ;
4689 break;}
4690 case 125:
4691 #line 766 "parse.y"
4692 { store_return_init (yyval.ttype, NULL_TREE); ;
4693 break;}
4694 case 126:
4695 #line 771 "parse.y"
4696 {
4697 if (yyvsp[0].itype == 0)
4698 error ("no base initializers given following ':'");
4699 setup_vtbl_ptr ();
4700 /* Always keep the BLOCK node associated with the outermost
4701 pair of curley braces of a function. These are needed
4702 for correct operation of dwarfout.c. */
4703 keep_next_level ();
4704 ;
4705 break;}
4706 case 127:
4707 #line 784 "parse.y"
4708 {
4709 if (! current_function_parms_stored)
4710 store_parm_decls ();
4711
4712 if (DECL_CONSTRUCTOR_P (current_function_decl))
4713 {
4714 /* Make a contour for the initializer list. */
4715 pushlevel (0);
4716 clear_last_expr ();
4717 expand_start_bindings (0);
4718 }
4719 else if (current_class_type == NULL_TREE)
4720 error ("base initializers not allowed for non-member functions");
4721 else if (! DECL_CONSTRUCTOR_P (current_function_decl))
4722 error ("only constructors take base initializers");
4723 ;
4724 break;}
4725 case 128:
4726 #line 804 "parse.y"
4727 { yyval.itype = 0; ;
4728 break;}
4729 case 129:
4730 #line 806 "parse.y"
4731 { yyval.itype = 1; ;
4732 break;}
4733 case 132:
4734 #line 813 "parse.y"
4735 {
4736 if (current_class_name)
4737 pedwarn ("anachronistic old style base class initializer");
4738 expand_member_init (current_class_ref, NULL_TREE, yyvsp[-1].ttype);
4739 ;
4740 break;}
4741 case 133:
4742 #line 819 "parse.y"
4743 {
4744 if (current_class_name)
4745 pedwarn ("anachronistic old style base class initializer");
4746 expand_member_init (current_class_ref, NULL_TREE, void_type_node);
4747 ;
4748 break;}
4749 case 134:
4750 #line 825 "parse.y"
4751 { expand_member_init (current_class_ref, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
4752 break;}
4753 case 135:
4754 #line 827 "parse.y"
4755 { expand_member_init (current_class_ref, yyvsp[-1].ttype, void_type_node); ;
4756 break;}
4757 case 136:
4758 #line 829 "parse.y"
4759 { expand_member_init (current_class_ref, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
4760 break;}
4761 case 137:
4762 #line 831 "parse.y"
4763 { expand_member_init (current_class_ref, yyvsp[-1].ttype, void_type_node); ;
4764 break;}
4765 case 138:
4766 #line 833 "parse.y"
4767 { expand_member_init (current_class_ref, TYPE_MAIN_DECL (yyvsp[-3].ttype),
4768 yyvsp[-1].ttype); ;
4769 break;}
4770 case 139:
4771 #line 836 "parse.y"
4772 { expand_member_init (current_class_ref, TYPE_MAIN_DECL (yyvsp[-1].ttype),
4773 void_type_node); ;
4774 break;}
4775 case 151:
4776 #line 862 "parse.y"
4777 { do_type_instantiation (yyvsp[-1].ftype.t, NULL_TREE);
4778 yyungetc (';', 1); ;
4779 break;}
4780 case 153:
4781 #line 866 "parse.y"
4782 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
4783 do_decl_instantiation (specs, yyvsp[0].ttype, NULL_TREE); ;
4784 break;}
4785 case 155:
4786 #line 870 "parse.y"
4787 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
4788 break;}
4789 case 157:
4790 #line 873 "parse.y"
4791 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
4792 break;}
4793 case 159:
4794 #line 876 "parse.y"
4795 { do_type_instantiation (yyvsp[-1].ftype.t, yyvsp[-4].ttype);
4796 yyungetc (';', 1); ;
4797 break;}
4798 case 161:
4799 #line 881 "parse.y"
4800 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
4801 do_decl_instantiation (specs, yyvsp[0].ttype, yyvsp[-4].ttype); ;
4802 break;}
4803 case 163:
4804 #line 885 "parse.y"
4805 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, yyvsp[-3].ttype); ;
4806 break;}
4807 case 165:
4808 #line 888 "parse.y"
4809 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, yyvsp[-3].ttype); ;
4810 break;}
4811 case 167:
4812 #line 893 "parse.y"
4813 { begin_explicit_instantiation(); ;
4814 break;}
4815 case 168:
4816 #line 896 "parse.y"
4817 { end_explicit_instantiation(); ;
4818 break;}
4819 case 169:
4820 #line 905 "parse.y"
4821 { yyval.ttype = yyvsp[0].ttype; ;
4822 break;}
4823 case 170:
4824 #line 908 "parse.y"
4825 { yyval.ttype = yyvsp[0].ttype; ;
4826 break;}
4827 case 173:
4828 #line 916 "parse.y"
4829 { yyval.ttype = yyvsp[0].ttype; ;
4830 break;}
4831 case 174:
4832 #line 921 "parse.y"
4833 { yyval.ttype = yyvsp[0].ttype; ;
4834 break;}
4835 case 175:
4836 #line 925 "parse.y"
4837 {
4838 if (yychar == YYEMPTY)
4839 yychar = YYLEX;
4840
4841 yyval.ttype = finish_template_type (yyvsp[-3].ttype, yyvsp[-1].ttype,
4842 yychar == SCOPE);
4843 ;
4844 break;}
4845 case 177:
4846 #line 936 "parse.y"
4847 {
4848 /* Handle `Class<Class<Type>>' without space in the `>>' */
4849 pedwarn ("`>>' should be `> >' in template class name");
4850 yyungetc ('>', 1);
4851 ;
4852 break;}
4853 case 178:
4854 #line 945 "parse.y"
4855 { yyval.ttype = NULL_TREE; ;
4856 break;}
4857 case 180:
4858 #line 951 "parse.y"
4859 { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
4860 break;}
4861 case 181:
4862 #line 953 "parse.y"
4863 { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
4864 break;}
4865 case 182:
4866 #line 958 "parse.y"
4867 { yyval.ttype = groktypename (yyvsp[0].ftype.t); ;
4868 break;}
4869 case 183:
4870 #line 960 "parse.y"
4871 { yyval.ttype = lastiddecl; ;
4872 break;}
4873 case 185:
4874 #line 966 "parse.y"
4875 { yyval.code = NEGATE_EXPR; ;
4876 break;}
4877 case 186:
4878 #line 968 "parse.y"
4879 { yyval.code = CONVERT_EXPR; ;
4880 break;}
4881 case 187:
4882 #line 970 "parse.y"
4883 { yyval.code = PREINCREMENT_EXPR; ;
4884 break;}
4885 case 188:
4886 #line 972 "parse.y"
4887 { yyval.code = PREDECREMENT_EXPR; ;
4888 break;}
4889 case 189:
4890 #line 974 "parse.y"
4891 { yyval.code = TRUTH_NOT_EXPR; ;
4892 break;}
4893 case 190:
4894 #line 979 "parse.y"
4895 { yyval.ttype = build_x_compound_expr (yyval.ttype); ;
4896 break;}
4897 case 192:
4898 #line 985 "parse.y"
4899 { error ("ANSI C++ forbids an empty condition for `%s'",
4900 cond_stmt_keyword);
4901 yyval.ttype = integer_zero_node; ;
4902 break;}
4903 case 193:
4904 #line 989 "parse.y"
4905 { yyval.ttype = yyvsp[-1].ttype; ;
4906 break;}
4907 case 194:
4908 #line 994 "parse.y"
4909 { error ("ANSI C++ forbids an empty condition for `%s'",
4910 cond_stmt_keyword);
4911 yyval.ttype = integer_zero_node; ;
4912 break;}
4913 case 195:
4914 #line 998 "parse.y"
4915 { yyval.ttype = yyvsp[-1].ttype; ;
4916 break;}
4917 case 196:
4918 #line 1003 "parse.y"
4919 { yyval.ttype = NULL_TREE; ;
4920 break;}
4921 case 198:
4922 #line 1006 "parse.y"
4923 { yyval.ttype = NULL_TREE; ;
4924 break;}
4925 case 199:
4926 #line 1011 "parse.y"
4927 { {
4928 tree d;
4929 for (d = getdecls (); d; d = TREE_CHAIN (d))
4930 if (TREE_CODE (d) == TYPE_DECL) {
4931 tree s = TREE_TYPE (d);
4932 if (TREE_CODE (s) == RECORD_TYPE)
4933 cp_error ("definition of class `%T' in condition", s);
4934 else if (TREE_CODE (s) == ENUMERAL_TYPE)
4935 cp_error ("definition of enum `%T' in condition", s);
4936 }
4937 }
4938 current_declspecs = yyvsp[-4].ftype.t;
4939 yyvsp[0].itype = suspend_momentary ();
4940 yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1,
4941 yyvsp[-1].ttype, /*prefix_attributes*/ NULL_TREE);
4942 ;
4943 break;}
4944 case 200:
4945 #line 1028 "parse.y"
4946 {
4947 cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-3].ttype, 1, LOOKUP_ONLYCONVERTING);
4948 resume_momentary (yyvsp[-2].itype);
4949 yyval.ttype = convert_from_reference (yyvsp[-1].ttype);
4950 if (TREE_CODE (TREE_TYPE (yyval.ttype)) == ARRAY_TYPE)
4951 cp_error ("definition of array `%#D' in condition", yyval.ttype);
4952 ;
4953 break;}
4954 case 206:
4955 #line 1047 "parse.y"
4956 { yyval.ttype = begin_compound_stmt (1); ;
4957 break;}
4958 case 207:
4959 #line 1049 "parse.y"
4960 { finish_compound_stmt (1, yyvsp[-1].ttype); ;
4961 break;}
4962 case 209:
4963 #line 1056 "parse.y"
4964 { yyval.ttype = expr_tree_cons (NULL_TREE, yyval.ttype,
4965 build_expr_list (NULL_TREE, yyvsp[0].ttype)); ;
4966 break;}
4967 case 210:
4968 #line 1059 "parse.y"
4969 { yyval.ttype = expr_tree_cons (NULL_TREE, yyval.ttype,
4970 build_expr_list (NULL_TREE, error_mark_node)); ;
4971 break;}
4972 case 211:
4973 #line 1062 "parse.y"
4974 { chainon (yyval.ttype, build_expr_list (NULL_TREE, yyvsp[0].ttype)); ;
4975 break;}
4976 case 212:
4977 #line 1064 "parse.y"
4978 { chainon (yyval.ttype, build_expr_list (NULL_TREE, error_mark_node)); ;
4979 break;}
4980 case 213:
4981 #line 1069 "parse.y"
4982 { yyval.ttype = build_expr_list (NULL_TREE, yyval.ttype); ;
4983 break;}
4984 case 215:
4985 #line 1075 "parse.y"
4986 { yyval.ttype = yyvsp[0].ttype; ;
4987 break;}
4988 case 216:
4989 #line 1078 "parse.y"
4990 { yyval.ttype = yyvsp[0].ttype;
4991 pedantic = yyvsp[-1].itype; ;
4992 break;}
4993 case 217:
4994 #line 1081 "parse.y"
4995 { yyval.ttype = build_x_indirect_ref (yyvsp[0].ttype, "unary *"); ;
4996 break;}
4997 case 218:
4998 #line 1083 "parse.y"
4999 { yyval.ttype = build_x_unary_op (ADDR_EXPR, yyvsp[0].ttype); ;
5000 break;}
5001 case 219:
5002 #line 1085 "parse.y"
5003 { yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, yyvsp[0].ttype); ;
5004 break;}
5005 case 220:
5006 #line 1087 "parse.y"
5007 { yyval.ttype = finish_unary_op_expr (yyvsp[-1].code, yyvsp[0].ttype); ;
5008 break;}
5009 case 221:
5010 #line 1090 "parse.y"
5011 { if (pedantic)
5012 pedwarn ("ANSI C++ forbids `&&'");
5013 yyval.ttype = finish_label_address_expr (yyvsp[0].ttype); ;
5014 break;}
5015 case 222:
5016 #line 1094 "parse.y"
5017 { yyval.ttype = expr_sizeof (yyvsp[0].ttype); ;
5018 break;}
5019 case 223:
5020 #line 1096 "parse.y"
5021 { yyval.ttype = c_sizeof (groktypename (yyvsp[-1].ftype.t));
5022 check_for_new_type ("sizeof", yyvsp[-1].ftype); ;
5023 break;}
5024 case 224:
5025 #line 1099 "parse.y"
5026 { yyval.ttype = grok_alignof (yyvsp[0].ttype); ;
5027 break;}
5028 case 225:
5029 #line 1101 "parse.y"
5030 { yyval.ttype = c_alignof (groktypename (yyvsp[-1].ftype.t));
5031 check_for_new_type ("alignof", yyvsp[-1].ftype); ;
5032 break;}
5033 case 226:
5034 #line 1107 "parse.y"
5035 { yyval.ttype = build_new (NULL_TREE, yyvsp[0].ftype.t, NULL_TREE, yyvsp[-1].itype);
5036 check_for_new_type ("new", yyvsp[0].ftype); ;
5037 break;}
5038 case 227:
5039 #line 1110 "parse.y"
5040 { yyval.ttype = build_new (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype, yyvsp[-2].itype);
5041 check_for_new_type ("new", yyvsp[-1].ftype); ;
5042 break;}
5043 case 228:
5044 #line 1113 "parse.y"
5045 { yyval.ttype = build_new (yyvsp[-1].ttype, yyvsp[0].ftype.t, NULL_TREE, yyvsp[-2].itype);
5046 check_for_new_type ("new", yyvsp[0].ftype); ;
5047 break;}
5048 case 229:
5049 #line 1116 "parse.y"
5050 { yyval.ttype = build_new (yyvsp[-2].ttype, yyvsp[-1].ftype.t, yyvsp[0].ttype, yyvsp[-3].itype);
5051 check_for_new_type ("new", yyvsp[-1].ftype); ;
5052 break;}
5053 case 230:
5054 #line 1129 "parse.y"
5055 { yyval.ttype = build_new (NULL_TREE, groktypename(yyvsp[-1].ftype.t),
5056 NULL_TREE, yyvsp[-4].itype);
5057 check_for_new_type ("new", yyvsp[-1].ftype); ;
5058 break;}
5059 case 231:
5060 #line 1134 "parse.y"
5061 { yyval.ttype = build_new (NULL_TREE, groktypename(yyvsp[-2].ftype.t), yyvsp[0].ttype, yyvsp[-5].itype);
5062 check_for_new_type ("new", yyvsp[-2].ftype); ;
5063 break;}
5064 case 232:
5065 #line 1138 "parse.y"
5066 { yyval.ttype = build_new (yyvsp[-4].ttype, groktypename(yyvsp[-1].ftype.t), NULL_TREE, yyvsp[-5].itype);
5067 check_for_new_type ("new", yyvsp[-1].ftype); ;
5068 break;}
5069 case 233:
5070 #line 1142 "parse.y"
5071 { yyval.ttype = build_new (yyvsp[-5].ttype, groktypename(yyvsp[-2].ftype.t), yyvsp[0].ttype, yyvsp[-6].itype);
5072 check_for_new_type ("new", yyvsp[-2].ftype); ;
5073 break;}
5074 case 234:
5075 #line 1146 "parse.y"
5076 { yyval.ttype = delete_sanity (yyvsp[0].ttype, NULL_TREE, 0, yyvsp[-1].itype); ;
5077 break;}
5078 case 235:
5079 #line 1148 "parse.y"
5080 { yyval.ttype = delete_sanity (yyvsp[0].ttype, NULL_TREE, 1, yyvsp[-3].itype);
5081 if (yychar == YYEMPTY)
5082 yychar = YYLEX; ;
5083 break;}
5084 case 236:
5085 #line 1152 "parse.y"
5086 { yyval.ttype = delete_sanity (yyvsp[0].ttype, yyvsp[-2].ttype, 2, yyvsp[-4].itype);
5087 if (yychar == YYEMPTY)
5088 yychar = YYLEX; ;
5089 break;}
5090 case 237:
5091 #line 1156 "parse.y"
5092 { yyval.ttype = build_x_unary_op (REALPART_EXPR, yyvsp[0].ttype); ;
5093 break;}
5094 case 238:
5095 #line 1158 "parse.y"
5096 { yyval.ttype = build_x_unary_op (IMAGPART_EXPR, yyvsp[0].ttype); ;
5097 break;}
5098 case 239:
5099 #line 1168 "parse.y"
5100 { finish_new_placement (NULL_TREE, yyvsp[-2].itype); ;
5101 break;}
5102 case 240:
5103 #line 1171 "parse.y"
5104 { yyval.itype = begin_new_placement (); ;
5105 break;}
5106 case 241:
5107 #line 1175 "parse.y"
5108 { yyval.ttype = finish_new_placement (yyvsp[-1].ttype, yyvsp[-2].itype); ;
5109 break;}
5110 case 242:
5111 #line 1177 "parse.y"
5112 { cp_pedwarn ("old style placement syntax, use () instead");
5113 yyval.ttype = finish_new_placement (yyvsp[-1].ttype, yyvsp[-2].itype); ;
5114 break;}
5115 case 243:
5116 #line 1183 "parse.y"
5117 { yyval.ttype = yyvsp[-1].ttype; ;
5118 break;}
5119 case 244:
5120 #line 1185 "parse.y"
5121 { yyval.ttype = NULL_TREE; ;
5122 break;}
5123 case 245:
5124 #line 1187 "parse.y"
5125 {
5126 cp_error ("`%T' is not a valid expression", yyvsp[-1].ftype.t);
5127 yyval.ttype = error_mark_node;
5128 ;
5129 break;}
5130 case 246:
5131 #line 1195 "parse.y"
5132 {
5133 if (pedantic)
5134 pedwarn ("ANSI C++ forbids initialization of new expression with `='");
5135 if (TREE_CODE (yyvsp[0].ttype) != TREE_LIST
5136 && TREE_CODE (yyvsp[0].ttype) != CONSTRUCTOR)
5137 yyval.ttype = build_expr_list (NULL_TREE, yyvsp[0].ttype);
5138 else
5139 yyval.ttype = yyvsp[0].ttype;
5140 ;
5141 break;}
5142 case 247:
5143 #line 1209 "parse.y"
5144 { yyvsp[-1].ftype.t = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[-1].ftype.t), 0);
5145 yyval.ttype = make_call_declarator (NULL_TREE, yyvsp[-1].ftype.t, NULL_TREE, NULL_TREE);
5146 check_for_new_type ("cast", yyvsp[-1].ftype); ;
5147 break;}
5148 case 248:
5149 #line 1213 "parse.y"
5150 { yyvsp[-1].ftype.t = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[-1].ftype.t), 0);
5151 yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-1].ftype.t, NULL_TREE, NULL_TREE);
5152 check_for_new_type ("cast", yyvsp[-1].ftype); ;
5153 break;}
5154 case 250:
5155 #line 1221 "parse.y"
5156 { yyval.ttype = reparse_absdcl_as_casts (yyval.ttype, yyvsp[0].ttype); ;
5157 break;}
5158 case 251:
5159 #line 1223 "parse.y"
5160 {
5161 tree init = build_nt (CONSTRUCTOR, NULL_TREE,
5162 nreverse (yyvsp[-2].ttype));
5163 if (pedantic)
5164 pedwarn ("ANSI C++ forbids constructor-expressions");
5165 /* Indicate that this was a GNU C constructor expression. */
5166 TREE_HAS_CONSTRUCTOR (init) = 1;
5167
5168 yyval.ttype = reparse_absdcl_as_casts (yyval.ttype, init);
5169 ;
5170 break;}
5171 case 253:
5172 #line 1239 "parse.y"
5173 { yyval.ttype = build_x_binary_op (MEMBER_REF, yyval.ttype, yyvsp[0].ttype); ;
5174 break;}
5175 case 254:
5176 #line 1241 "parse.y"
5177 { yyval.ttype = build_m_component_ref (yyval.ttype, yyvsp[0].ttype); ;
5178 break;}
5179 case 255:
5180 #line 1243 "parse.y"
5181 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5182 break;}
5183 case 256:
5184 #line 1245 "parse.y"
5185 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5186 break;}
5187 case 257:
5188 #line 1247 "parse.y"
5189 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5190 break;}
5191 case 258:
5192 #line 1249 "parse.y"
5193 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5194 break;}
5195 case 259:
5196 #line 1251 "parse.y"
5197 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5198 break;}
5199 case 260:
5200 #line 1253 "parse.y"
5201 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5202 break;}
5203 case 261:
5204 #line 1255 "parse.y"
5205 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5206 break;}
5207 case 262:
5208 #line 1257 "parse.y"
5209 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5210 break;}
5211 case 263:
5212 #line 1259 "parse.y"
5213 { yyval.ttype = build_x_binary_op (LT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
5214 break;}
5215 case 264:
5216 #line 1261 "parse.y"
5217 { yyval.ttype = build_x_binary_op (GT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
5218 break;}
5219 case 265:
5220 #line 1263 "parse.y"
5221 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5222 break;}
5223 case 266:
5224 #line 1265 "parse.y"
5225 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5226 break;}
5227 case 267:
5228 #line 1267 "parse.y"
5229 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5230 break;}
5231 case 268:
5232 #line 1269 "parse.y"
5233 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5234 break;}
5235 case 269:
5236 #line 1271 "parse.y"
5237 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5238 break;}
5239 case 270:
5240 #line 1273 "parse.y"
5241 { yyval.ttype = build_x_binary_op (TRUTH_ANDIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
5242 break;}
5243 case 271:
5244 #line 1275 "parse.y"
5245 { yyval.ttype = build_x_binary_op (TRUTH_ORIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
5246 break;}
5247 case 272:
5248 #line 1277 "parse.y"
5249 { yyval.ttype = build_x_conditional_expr (yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
5250 break;}
5251 case 273:
5252 #line 1279 "parse.y"
5253 { yyval.ttype = build_x_modify_expr (yyval.ttype, NOP_EXPR, yyvsp[0].ttype);
5254 if (yyval.ttype != error_mark_node)
5255 C_SET_EXP_ORIGINAL_CODE (yyval.ttype, MODIFY_EXPR); ;
5256 break;}
5257 case 274:
5258 #line 1283 "parse.y"
5259 { yyval.ttype = build_x_modify_expr (yyval.ttype, yyvsp[-1].code, yyvsp[0].ttype); ;
5260 break;}
5261 case 275:
5262 #line 1285 "parse.y"
5263 { yyval.ttype = build_throw (NULL_TREE); ;
5264 break;}
5265 case 276:
5266 #line 1287 "parse.y"
5267 { yyval.ttype = build_throw (yyvsp[0].ttype); ;
5268 break;}
5269 case 277:
5270 #line 1305 "parse.y"
5271 { yyval.ttype = build_parse_node (BIT_NOT_EXPR, yyvsp[0].ttype); ;
5272 break;}
5273 case 278:
5274 #line 1307 "parse.y"
5275 { yyval.ttype = build_parse_node (BIT_NOT_EXPR, yyvsp[0].ttype); ;
5276 break;}
5277 case 284:
5278 #line 1316 "parse.y"
5279 {
5280 /* If lastiddecl is a TREE_LIST, it's a baselink, which
5281 means that we're in an expression like S::f<int>, so
5282 don't do_identifier; we only do that for unqualified
5283 identifiers. */
5284 if (lastiddecl && TREE_CODE (lastiddecl) != TREE_LIST)
5285 yyval.ttype = do_identifier (yyvsp[-1].ttype, 1, NULL_TREE);
5286 else
5287 yyval.ttype = yyvsp[-1].ttype;
5288 ;
5289 break;}
5290 case 285:
5291 #line 1329 "parse.y"
5292 { yyval.ttype = lookup_template_function (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
5293 break;}
5294 case 286:
5295 #line 1331 "parse.y"
5296 { yyval.ttype = lookup_template_function (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
5297 break;}
5298 case 287:
5299 #line 1336 "parse.y"
5300 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5301 break;}
5302 case 288:
5303 #line 1338 "parse.y"
5304 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5305 break;}
5306 case 289:
5307 #line 1341 "parse.y"
5308 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5309 break;}
5310 case 294:
5311 #line 1353 "parse.y"
5312 {
5313 /* Provide support for '(' attributes '*' declarator ')'
5314 etc */
5315 yyval.ttype = decl_tree_cons (yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE);
5316 ;
5317 break;}
5318 case 296:
5319 #line 1363 "parse.y"
5320 { yyval.ttype = build_parse_node (INDIRECT_REF, yyvsp[0].ttype); ;
5321 break;}
5322 case 297:
5323 #line 1365 "parse.y"
5324 { yyval.ttype = build_parse_node (ADDR_EXPR, yyvsp[0].ttype); ;
5325 break;}
5326 case 298:
5327 #line 1367 "parse.y"
5328 { yyval.ttype = yyvsp[-1].ttype; ;
5329 break;}
5330 case 299:
5331 #line 1372 "parse.y"
5332 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5333 break;}
5334 case 300:
5335 #line 1374 "parse.y"
5336 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5337 break;}
5338 case 304:
5339 #line 1384 "parse.y"
5340 { yyval.ttype = finish_decl_parsing (yyvsp[-1].ttype); ;
5341 break;}
5342 case 305:
5343 #line 1389 "parse.y"
5344 {
5345 if (TREE_CODE (yyvsp[0].ttype) == BIT_NOT_EXPR)
5346 yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, TREE_OPERAND (yyvsp[0].ttype, 0));
5347 else
5348 yyval.ttype = finish_id_expr (yyvsp[0].ttype);
5349 ;
5350 break;}
5351 case 308:
5352 #line 1398 "parse.y"
5353 {
5354 if (processing_template_decl)
5355 push_obstacks (&permanent_obstack, &permanent_obstack);
5356 yyval.ttype = combine_strings (yyval.ttype);
5357 /* combine_strings doesn't set up TYPE_MAIN_VARIANT of
5358 a const array the way we want, so fix it. */
5359 if (flag_const_strings)
5360 TREE_TYPE (yyval.ttype) = build_cplus_array_type
5361 (TREE_TYPE (TREE_TYPE (yyval.ttype)),
5362 TYPE_DOMAIN (TREE_TYPE (yyval.ttype)));
5363 if (processing_template_decl)
5364 pop_obstacks ();
5365 ;
5366 break;}
5367 case 309:
5368 #line 1412 "parse.y"
5369 { yyval.ttype = finish_parenthesized_expr (yyvsp[-1].ttype); ;
5370 break;}
5371 case 310:
5372 #line 1414 "parse.y"
5373 { yyvsp[-1].ttype = reparse_decl_as_expr (NULL_TREE, yyvsp[-1].ttype);
5374 yyval.ttype = finish_parenthesized_expr (yyvsp[-1].ttype); ;
5375 break;}
5376 case 311:
5377 #line 1417 "parse.y"
5378 { yyval.ttype = error_mark_node; ;
5379 break;}
5380 case 312:
5381 #line 1419 "parse.y"
5382 { tree scope = current_scope ();
5383 if (!scope || TREE_CODE (scope) != FUNCTION_DECL)
5384 {
5385 error ("braced-group within expression allowed only inside a function");
5386 YYERROR;
5387 }
5388 if (pedantic)
5389 pedwarn ("ANSI C++ forbids braced-groups within expressions");
5390 yyval.ttype = begin_stmt_expr ();
5391 ;
5392 break;}
5393 case 313:
5394 #line 1430 "parse.y"
5395 { yyval.ttype = finish_stmt_expr (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
5396 break;}
5397 case 314:
5398 #line 1435 "parse.y"
5399 { yyval.ttype = finish_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype, 1); ;
5400 break;}
5401 case 315:
5402 #line 1437 "parse.y"
5403 { yyval.ttype = finish_call_expr (yyvsp[-1].ttype, NULL_TREE, 1); ;
5404 break;}
5405 case 316:
5406 #line 1439 "parse.y"
5407 { yyval.ttype = finish_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype, 0); ;
5408 break;}
5409 case 317:
5410 #line 1441 "parse.y"
5411 { yyval.ttype = finish_call_expr (yyvsp[-1].ttype, NULL_TREE, 0); ;
5412 break;}
5413 case 318:
5414 #line 1443 "parse.y"
5415 { yyval.ttype = grok_array_decl (yyval.ttype, yyvsp[-1].ttype); ;
5416 break;}
5417 case 319:
5418 #line 1445 "parse.y"
5419 { yyval.ttype = finish_increment_expr (yyvsp[-1].ttype, POSTINCREMENT_EXPR); ;
5420 break;}
5421 case 320:
5422 #line 1447 "parse.y"
5423 { yyval.ttype = finish_increment_expr (yyvsp[-1].ttype, POSTDECREMENT_EXPR); ;
5424 break;}
5425 case 321:
5426 #line 1450 "parse.y"
5427 { yyval.ttype = finish_this_expr (); ;
5428 break;}
5429 case 322:
5430 #line 1452 "parse.y"
5431 {
5432 /* This is a C cast in C++'s `functional' notation
5433 using the "implicit int" extension so that:
5434 `const (3)' is equivalent to `const int (3)'. */
5435 tree type;
5436
5437 if (yyvsp[-1].ttype == error_mark_node)
5438 {
5439 yyval.ttype = error_mark_node;
5440 break;
5441 }
5442
5443 type = cp_build_qualified_type (integer_type_node,
5444 cp_type_qual_from_rid (yyvsp[-3].ttype));
5445 yyval.ttype = build_c_cast (type, build_compound_expr (yyvsp[-1].ttype));
5446 ;
5447 break;}
5448 case 324:
5449 #line 1470 "parse.y"
5450 { tree type = groktypename (yyvsp[-4].ftype.t);
5451 check_for_new_type ("dynamic_cast", yyvsp[-4].ftype);
5452 yyval.ttype = build_dynamic_cast (type, yyvsp[-1].ttype); ;
5453 break;}
5454 case 325:
5455 #line 1474 "parse.y"
5456 { tree type = groktypename (yyvsp[-4].ftype.t);
5457 check_for_new_type ("static_cast", yyvsp[-4].ftype);
5458 yyval.ttype = build_static_cast (type, yyvsp[-1].ttype); ;
5459 break;}
5460 case 326:
5461 #line 1478 "parse.y"
5462 { tree type = groktypename (yyvsp[-4].ftype.t);
5463 check_for_new_type ("reinterpret_cast", yyvsp[-4].ftype);
5464 yyval.ttype = build_reinterpret_cast (type, yyvsp[-1].ttype); ;
5465 break;}
5466 case 327:
5467 #line 1482 "parse.y"
5468 { tree type = groktypename (yyvsp[-4].ftype.t);
5469 check_for_new_type ("const_cast", yyvsp[-4].ftype);
5470 yyval.ttype = build_const_cast (type, yyvsp[-1].ttype); ;
5471 break;}
5472 case 328:
5473 #line 1486 "parse.y"
5474 { yyval.ttype = build_x_typeid (yyvsp[-1].ttype); ;
5475 break;}
5476 case 329:
5477 #line 1488 "parse.y"
5478 { tree type = groktypename (yyvsp[-1].ftype.t);
5479 check_for_new_type ("typeid", yyvsp[-1].ftype);
5480 yyval.ttype = get_typeid (TYPE_MAIN_VARIANT (type)); ;
5481 break;}
5482 case 330:
5483 #line 1492 "parse.y"
5484 { yyval.ttype = do_scoped_id (yyvsp[0].ttype, 1); ;
5485 break;}
5486 case 331:
5487 #line 1494 "parse.y"
5488 { yyval.ttype = yyvsp[0].ttype; ;
5489 break;}
5490 case 332:
5491 #line 1496 "parse.y"
5492 {
5493 got_scope = NULL_TREE;
5494 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
5495 yyval.ttype = do_scoped_id (yyvsp[0].ttype, 1);
5496 else
5497 yyval.ttype = yyvsp[0].ttype;
5498 ;
5499 break;}
5500 case 333:
5501 #line 1504 "parse.y"
5502 { yyval.ttype = build_offset_ref (OP0 (yyval.ttype), OP1 (yyval.ttype)); ;
5503 break;}
5504 case 334:
5505 #line 1506 "parse.y"
5506 { yyval.ttype = finish_qualified_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5507 break;}
5508 case 335:
5509 #line 1508 "parse.y"
5510 { yyval.ttype = finish_qualified_call_expr (yyvsp[-1].ttype, NULL_TREE); ;
5511 break;}
5512 case 336:
5513 #line 1510 "parse.y"
5514 {
5515 yyval.ttype = build_x_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1);
5516 ;
5517 break;}
5518 case 337:
5519 #line 1514 "parse.y"
5520 { yyval.ttype = finish_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
5521 break;}
5522 case 338:
5523 #line 1516 "parse.y"
5524 { yyval.ttype = finish_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ;
5525 break;}
5526 case 339:
5527 #line 1518 "parse.y"
5528 { yyval.ttype = build_x_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1); ;
5529 break;}
5530 case 340:
5531 #line 1520 "parse.y"
5532 { if (processing_template_decl)
5533 yyval.ttype = build_min_nt (COMPONENT_REF, yyvsp[-1].ttype, copy_to_permanent (yyvsp[0].ttype));
5534 else
5535 yyval.ttype = build_object_ref (yyval.ttype, OP0 (yyvsp[0].ttype), OP1 (yyvsp[0].ttype)); ;
5536 break;}
5537 case 341:
5538 #line 1525 "parse.y"
5539 { yyval.ttype = finish_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
5540 break;}
5541 case 342:
5542 #line 1527 "parse.y"
5543 { yyval.ttype = finish_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ;
5544 break;}
5545 case 343:
5546 #line 1529 "parse.y"
5547 { yyval.ttype = finish_qualified_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
5548 break;}
5549 case 344:
5550 #line 1531 "parse.y"
5551 { yyval.ttype = finish_qualified_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ;
5552 break;}
5553 case 345:
5554 #line 1534 "parse.y"
5555 { yyval.ttype = finish_pseudo_destructor_call_expr (yyvsp[-3].ttype, NULL_TREE, yyvsp[-1].ttype); ;
5556 break;}
5557 case 346:
5558 #line 1536 "parse.y"
5559 { yyval.ttype = finish_pseudo_destructor_call_expr (yyvsp[-5].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
5560 break;}
5561 case 347:
5562 #line 1538 "parse.y"
5563 {
5564 yyval.ttype = error_mark_node;
5565 ;
5566 break;}
5567 case 348:
5568 #line 1583 "parse.y"
5569 { yyval.itype = 0; ;
5570 break;}
5571 case 349:
5572 #line 1585 "parse.y"
5573 { got_scope = NULL_TREE; yyval.itype = 1; ;
5574 break;}
5575 case 350:
5576 #line 1590 "parse.y"
5577 { yyval.itype = 0; ;
5578 break;}
5579 case 351:
5580 #line 1592 "parse.y"
5581 { got_scope = NULL_TREE; yyval.itype = 1; ;
5582 break;}
5583 case 352:
5584 #line 1597 "parse.y"
5585 { yyval.ttype = boolean_true_node; ;
5586 break;}
5587 case 353:
5588 #line 1599 "parse.y"
5589 { yyval.ttype = boolean_false_node; ;
5590 break;}
5591 case 355:
5592 #line 1606 "parse.y"
5593 { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
5594 break;}
5595 case 356:
5596 #line 1611 "parse.y"
5597 {
5598 if (! current_function_parms_stored)
5599 store_parm_decls ();
5600 setup_vtbl_ptr ();
5601 /* Always keep the BLOCK node associated with the outermost
5602 pair of curley braces of a function. These are needed
5603 for correct operation of dwarfout.c. */
5604 keep_next_level ();
5605 ;
5606 break;}
5607 case 357:
5608 #line 1624 "parse.y"
5609 { got_object = TREE_TYPE (yyval.ttype); ;
5610 break;}
5611 case 358:
5612 #line 1626 "parse.y"
5613 {
5614 yyval.ttype = build_x_arrow (yyval.ttype);
5615 got_object = TREE_TYPE (yyval.ttype);
5616 ;
5617 break;}
5618 case 359:
5619 #line 1634 "parse.y"
5620 {
5621 resume_momentary (yyvsp[-1].itype);
5622 if (yyvsp[-2].ftype.t && IS_AGGR_TYPE_CODE (TREE_CODE (yyvsp[-2].ftype.t)))
5623 note_got_semicolon (yyvsp[-2].ftype.t);
5624 ;
5625 break;}
5626 case 360:
5627 #line 1640 "parse.y"
5628 {
5629 resume_momentary (yyvsp[-1].itype);
5630 note_list_got_semicolon (yyvsp[-2].ftype.t);
5631 ;
5632 break;}
5633 case 361:
5634 #line 1645 "parse.y"
5635 { resume_momentary (yyvsp[-1].itype); ;
5636 break;}
5637 case 362:
5638 #line 1647 "parse.y"
5639 {
5640 shadow_tag (yyvsp[-1].ftype.t);
5641 note_list_got_semicolon (yyvsp[-1].ftype.t);
5642 ;
5643 break;}
5644 case 363:
5645 #line 1652 "parse.y"
5646 { warning ("empty declaration"); ;
5647 break;}
5648 case 364:
5649 #line 1654 "parse.y"
5650 { pedantic = yyvsp[-1].itype; ;
5651 break;}
5652 case 367:
5653 #line 1668 "parse.y"
5654 { yyval.ttype = make_call_declarator (NULL_TREE, empty_parms (),
5655 NULL_TREE, NULL_TREE); ;
5656 break;}
5657 case 368:
5658 #line 1671 "parse.y"
5659 { yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), NULL_TREE,
5660 NULL_TREE); ;
5661 break;}
5662 case 369:
5663 #line 1678 "parse.y"
5664 { yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
5665 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5666 break;}
5667 case 370:
5668 #line 1681 "parse.y"
5669 { yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
5670 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5671 break;}
5672 case 371:
5673 #line 1684 "parse.y"
5674 { yyval.ftype.t = build_decl_list (get_decl_list (yyvsp[-1].ftype.t), yyvsp[0].ttype);
5675 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5676 break;}
5677 case 372:
5678 #line 1687 "parse.y"
5679 { yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE);
5680 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5681 break;}
5682 case 373:
5683 #line 1690 "parse.y"
5684 { yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE);
5685 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5686 break;}
5687 case 376:
5688 #line 1706 "parse.y"
5689 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ttype);
5690 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5691 break;}
5692 case 377:
5693 #line 1709 "parse.y"
5694 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype);
5695 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5696 break;}
5697 case 378:
5698 #line 1712 "parse.y"
5699 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-2].ftype.t, chainon (yyvsp[-1].ttype, yyvsp[0].ttype));
5700 yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ;
5701 break;}
5702 case 379:
5703 #line 1715 "parse.y"
5704 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ttype));
5705 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5706 break;}
5707 case 380:
5708 #line 1718 "parse.y"
5709 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ttype));
5710 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5711 break;}
5712 case 381:
5713 #line 1721 "parse.y"
5714 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-2].ftype.t,
5715 chainon (yyvsp[-1].ttype, chainon (yyvsp[0].ttype, yyvsp[-3].ttype)));
5716 yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ;
5717 break;}
5718 case 382:
5719 #line 1728 "parse.y"
5720 { if (extra_warnings)
5721 warning ("`%s' is not at beginning of declaration",
5722 IDENTIFIER_POINTER (yyval.ttype));
5723 yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
5724 break;}
5725 case 383:
5726 #line 1733 "parse.y"
5727 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyval.ttype); ;
5728 break;}
5729 case 384:
5730 #line 1735 "parse.y"
5731 { if (extra_warnings)
5732 warning ("`%s' is not at beginning of declaration",
5733 IDENTIFIER_POINTER (yyvsp[0].ttype));
5734 yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
5735 break;}
5736 case 385:
5737 #line 1740 "parse.y"
5738 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
5739 break;}
5740 case 386:
5741 #line 1742 "parse.y"
5742 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ;
5743 break;}
5744 case 387:
5745 #line 1752 "parse.y"
5746 { yyval.ttype = yyvsp[0].ftype.t; TREE_STATIC (yyval.ttype) = 1; ;
5747 break;}
5748 case 388:
5749 #line 1754 "parse.y"
5750 { yyval.ttype = IDENTIFIER_AS_LIST (yyval.ttype); ;
5751 break;}
5752 case 389:
5753 #line 1756 "parse.y"
5754 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype);
5755 TREE_STATIC (yyval.ttype) = 1; ;
5756 break;}
5757 case 390:
5758 #line 1759 "parse.y"
5759 { if (extra_warnings && TREE_STATIC (yyval.ttype))
5760 warning ("`%s' is not at beginning of declaration",
5761 IDENTIFIER_POINTER (yyvsp[0].ttype));
5762 yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype);
5763 TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
5764 break;}
5765 case 391:
5766 #line 1765 "parse.y"
5767 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
5768 break;}
5769 case 392:
5770 #line 1767 "parse.y"
5771 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ;
5772 break;}
5773 case 393:
5774 #line 1778 "parse.y"
5775 { yyval.ftype.t = get_decl_list (yyvsp[0].ftype.t);
5776 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5777 break;}
5778 case 394:
5779 #line 1781 "parse.y"
5780 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ftype.t);
5781 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5782 break;}
5783 case 395:
5784 #line 1784 "parse.y"
5785 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype);
5786 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5787 break;}
5788 case 396:
5789 #line 1787 "parse.y"
5790 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ftype.t));
5791 yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ;
5792 break;}
5793 case 397:
5794 #line 1793 "parse.y"
5795 { yyval.ttype = build_decl_list (NULL_TREE, yyvsp[0].ftype.t); ;
5796 break;}
5797 case 398:
5798 #line 1795 "parse.y"
5799 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ttype); ;
5800 break;}
5801 case 400:
5802 #line 1805 "parse.y"
5803 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5804 break;}
5805 case 401:
5806 #line 1807 "parse.y"
5807 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5808 break;}
5809 case 402:
5810 #line 1809 "parse.y"
5811 { yyval.ftype.t = finish_typeof (yyvsp[-1].ttype);
5812 yyval.ftype.new_type_flag = 0; ;
5813 break;}
5814 case 403:
5815 #line 1812 "parse.y"
5816 { yyval.ftype.t = groktypename (yyvsp[-1].ftype.t);
5817 yyval.ftype.new_type_flag = 0; ;
5818 break;}
5819 case 404:
5820 #line 1815 "parse.y"
5821 { tree type = TREE_TYPE (yyvsp[-1].ttype);
5822
5823 yyval.ftype.new_type_flag = 0;
5824 if (IS_AGGR_TYPE (type))
5825 {
5826 sorry ("sigof type specifier");
5827 yyval.ftype.t = type;
5828 }
5829 else
5830 {
5831 error ("`sigof' applied to non-aggregate expression");
5832 yyval.ftype.t = error_mark_node;
5833 }
5834 ;
5835 break;}
5836 case 405:
5837 #line 1830 "parse.y"
5838 { tree type = groktypename (yyvsp[-1].ftype.t);
5839
5840 yyval.ftype.new_type_flag = 0;
5841 if (IS_AGGR_TYPE (type))
5842 {
5843 sorry ("sigof type specifier");
5844 yyval.ftype.t = type;
5845 }
5846 else
5847 {
5848 error("`sigof' applied to non-aggregate type");
5849 yyval.ftype.t = error_mark_node;
5850 }
5851 ;
5852 break;}
5853 case 406:
5854 #line 1850 "parse.y"
5855 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5856 break;}
5857 case 407:
5858 #line 1852 "parse.y"
5859 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5860 break;}
5861 case 410:
5862 #line 1859 "parse.y"
5863 { check_multiple_declarators (); ;
5864 break;}
5865 case 412:
5866 #line 1865 "parse.y"
5867 { check_multiple_declarators (); ;
5868 break;}
5869 case 414:
5870 #line 1871 "parse.y"
5871 { check_multiple_declarators (); ;
5872 break;}
5873 case 415:
5874 #line 1876 "parse.y"
5875 { yyval.ttype = NULL_TREE; ;
5876 break;}
5877 case 416:
5878 #line 1878 "parse.y"
5879 { if (TREE_CHAIN (yyvsp[-1].ttype)) yyvsp[-1].ttype = combine_strings (yyvsp[-1].ttype); yyval.ttype = yyvsp[-1].ttype; ;
5880 break;}
5881 case 417:
5882 #line 1883 "parse.y"
5883 { yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1,
5884 yyvsp[-1].ttype, prefix_attributes); ;
5885 break;}
5886 case 418:
5887 #line 1887 "parse.y"
5888 { cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 1, LOOKUP_ONLYCONVERTING); ;
5889 break;}
5890 case 419:
5891 #line 1889 "parse.y"
5892 { yyval.ttype = start_decl (yyvsp[-2].ttype, current_declspecs, 0,
5893 yyvsp[0].ttype, prefix_attributes);
5894 cp_finish_decl (yyval.ttype, NULL_TREE, yyvsp[-1].ttype, 1, 0); ;
5895 break;}
5896 case 420:
5897 #line 1902 "parse.y"
5898 { yyvsp[0].itype = parse_decl (yyvsp[-3].ttype, yyvsp[-4].ttype,
5899 yyvsp[-1].ttype, 1, &yyval.ttype); ;
5900 break;}
5901 case 421:
5902 #line 1907 "parse.y"
5903 { cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 1,
5904 LOOKUP_ONLYCONVERTING);
5905 yyval.itype = yyvsp[-2].itype; ;
5906 break;}
5907 case 422:
5908 #line 1911 "parse.y"
5909 { tree d;
5910 yyval.itype = parse_decl (yyvsp[-2].ttype, yyvsp[-3].ttype, yyvsp[0].ttype, 0, &d);
5911 cp_finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 1, 0); ;
5912 break;}
5913 case 423:
5914 #line 1918 "parse.y"
5915 { yyval.itype = yyvsp[0].itype; ;
5916 break;}
5917 case 424:
5918 #line 1922 "parse.y"
5919 { yyval.itype = yyvsp[0].itype; ;
5920 break;}
5921 case 425:
5922 #line 1927 "parse.y"
5923 { /* Set things up as initdcl0_innards expects. */
5924 yyvsp[0].ttype = yyvsp[-1].ttype;
5925 yyvsp[-1].ttype = NULL_TREE; ;
5926 break;}
5927 case 426:
5928 #line 1931 "parse.y"
5929 {;
5930 break;}
5931 case 427:
5932 #line 1933 "parse.y"
5933 { tree d;
5934 parse_decl(yyvsp[-2].ttype, NULL_TREE, yyvsp[0].ttype, 0, &d);
5935 cp_finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 1, 0); ;
5936 break;}
5937 case 428:
5938 #line 1942 "parse.y"
5939 { yyval.ttype = NULL_TREE; ;
5940 break;}
5941 case 429:
5942 #line 1944 "parse.y"
5943 { yyval.ttype = yyvsp[0].ttype; ;
5944 break;}
5945 case 430:
5946 #line 1949 "parse.y"
5947 { yyval.ttype = yyvsp[0].ttype; ;
5948 break;}
5949 case 431:
5950 #line 1951 "parse.y"
5951 { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ;
5952 break;}
5953 case 432:
5954 #line 1956 "parse.y"
5955 { yyval.ttype = yyvsp[-2].ttype; ;
5956 break;}
5957 case 433:
5958 #line 1961 "parse.y"
5959 { yyval.ttype = yyvsp[0].ttype; ;
5960 break;}
5961 case 434:
5962 #line 1963 "parse.y"
5963 { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
5964 break;}
5965 case 435:
5966 #line 1968 "parse.y"
5967 { yyval.ttype = NULL_TREE; ;
5968 break;}
5969 case 436:
5970 #line 1970 "parse.y"
5971 { yyval.ttype = build_tree_list (yyvsp[0].ttype, NULL_TREE); ;
5972 break;}
5973 case 437:
5974 #line 1972 "parse.y"
5975 { yyval.ttype = build_tree_list (yyvsp[-3].ttype, build_tree_list (NULL_TREE, yyvsp[-1].ttype)); ;
5976 break;}
5977 case 438:
5978 #line 1974 "parse.y"
5979 { yyval.ttype = build_tree_list (yyvsp[-5].ttype, tree_cons (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype)); ;
5980 break;}
5981 case 439:
5982 #line 1976 "parse.y"
5983 { yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5984 break;}
5985 case 444:
5986 #line 1992 "parse.y"
5987 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
5988 break;}
5989 case 445:
5990 #line 1994 "parse.y"
5991 { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
5992 break;}
5993 case 446:
5994 #line 1999 "parse.y"
5995 { yyval.ttype = NULL_TREE; ;
5996 break;}
5997 case 447:
5998 #line 2001 "parse.y"
5999 { yyval.ttype = yyvsp[0].ttype; ;
6000 break;}
6001 case 449:
6002 #line 2009 "parse.y"
6003 { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, NULL_TREE);
6004 TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
6005 break;}
6006 case 450:
6007 #line 2012 "parse.y"
6008 { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-1].ttype));
6009 TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
6010 break;}
6011 case 451:
6012 #line 2015 "parse.y"
6013 { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-2].ttype));
6014 TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
6015 break;}
6016 case 452:
6017 #line 2018 "parse.y"
6018 { yyval.ttype = NULL_TREE; ;
6019 break;}
6020 case 453:
6021 #line 2025 "parse.y"
6022 { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
6023 break;}
6024 case 454:
6025 #line 2027 "parse.y"
6026 { yyval.ttype = expr_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
6027 break;}
6028 case 455:
6029 #line 2030 "parse.y"
6030 { yyval.ttype = build_expr_list (yyvsp[-2].ttype, yyvsp[0].ttype); ;
6031 break;}
6032 case 456:
6033 #line 2032 "parse.y"
6034 { yyval.ttype = build_expr_list (yyval.ttype, yyvsp[0].ttype); ;
6035 break;}
6036 case 457:
6037 #line 2034 "parse.y"
6038 { yyval.ttype = expr_tree_cons (yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype); ;
6039 break;}
6040 case 458:
6041 #line 2039 "parse.y"
6042 { start_function (NULL_TREE, TREE_VALUE (yyvsp[0].ttype),
6043 NULL_TREE, 1);
6044 reinit_parse_for_function (); ;
6045 break;}
6046 case 459:
6047 #line 2045 "parse.y"
6048 {
6049 int nested = (hack_decl_function_context
6050 (current_function_decl) != NULL_TREE);
6051 finish_function (lineno, (int)yyvsp[-1].itype, nested);
6052 process_next_inline (yyvsp[-3].ttype);
6053 ;
6054 break;}
6055 case 460:
6056 #line 2052 "parse.y"
6057 { process_next_inline (yyvsp[-2].ttype); ;
6058 break;}
6059 case 461:
6060 #line 2054 "parse.y"
6061 { process_next_inline (yyvsp[-2].ttype); ;
6062 break;}
6063 case 464:
6064 #line 2066 "parse.y"
6065 { replace_defarg (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
6066 break;}
6067 case 465:
6068 #line 2068 "parse.y"
6069 { replace_defarg (yyvsp[-2].ttype, error_mark_node); ;
6070 break;}
6071 case 467:
6072 #line 2073 "parse.y"
6073 { do_pending_defargs (); ;
6074 break;}
6075 case 468:
6076 #line 2075 "parse.y"
6077 { do_pending_defargs (); ;
6078 break;}
6079 case 469:
6080 #line 2080 "parse.y"
6081 { yyvsp[0].itype = suspend_momentary ();
6082 yyval.ttype = current_enum_type;
6083 current_enum_type = start_enum (yyvsp[-1].ttype); ;
6084 break;}
6085 case 470:
6086 #line 2084 "parse.y"
6087 { TYPE_VALUES (current_enum_type) = yyvsp[-2].ttype;
6088 yyval.ftype.t = finish_enum (current_enum_type);
6089 yyval.ftype.new_type_flag = 1;
6090 current_enum_type = yyvsp[-3].ttype;
6091 resume_momentary ((int) yyvsp[-4].itype);
6092 check_for_missing_semicolon (yyval.ftype.t); ;
6093 break;}
6094 case 471:
6095 #line 2091 "parse.y"
6096 { yyval.ftype.t = finish_enum (start_enum (yyvsp[-2].ttype));
6097 yyval.ftype.new_type_flag = 1;
6098 check_for_missing_semicolon (yyval.ftype.t); ;
6099 break;}
6100 case 472:
6101 #line 2095 "parse.y"
6102 { yyvsp[0].itype = suspend_momentary ();
6103 yyval.ttype = current_enum_type;
6104 current_enum_type = start_enum (make_anon_name ()); ;
6105 break;}
6106 case 473:
6107 #line 2099 "parse.y"
6108 { TYPE_VALUES (current_enum_type) = yyvsp[-2].ttype;
6109 yyval.ftype.t = finish_enum (current_enum_type);
6110 yyval.ftype.new_type_flag = 1;
6111 current_enum_type = yyvsp[-3].ttype;
6112 resume_momentary ((int) yyvsp[-5].itype);
6113 check_for_missing_semicolon (yyval.ftype.t); ;
6114 break;}
6115 case 474:
6116 #line 2106 "parse.y"
6117 { yyval.ftype.t = finish_enum (start_enum (make_anon_name()));
6118 yyval.ftype.new_type_flag = 1;
6119 check_for_missing_semicolon (yyval.ftype.t); ;
6120 break;}
6121 case 475:
6122 #line 2110 "parse.y"
6123 { yyval.ftype.t = xref_tag (enum_type_node, yyvsp[0].ttype, 1);
6124 yyval.ftype.new_type_flag = 0; ;
6125 break;}
6126 case 476:
6127 #line 2113 "parse.y"
6128 { yyval.ftype.t = xref_tag (enum_type_node, yyvsp[0].ttype, 1);
6129 yyval.ftype.new_type_flag = 0; ;
6130 break;}
6131 case 477:
6132 #line 2116 "parse.y"
6133 { yyval.ftype.t = yyvsp[0].ttype;
6134 yyval.ftype.new_type_flag = 0;
6135 if (!processing_template_decl)
6136 cp_pedwarn ("using `typename' outside of template"); ;
6137 break;}
6138 case 478:
6139 #line 2123 "parse.y"
6140 {
6141 int semi;
6142
6143 if (yychar == YYEMPTY)
6144 yychar = YYLEX;
6145 semi = yychar == ';';
6146
6147 yyval.ttype = finish_class_definition (yyvsp[-4].ttype, yyvsp[0].ttype, semi);
6148 ;
6149 break;}
6150 case 479:
6151 #line 2133 "parse.y"
6152 { finish_default_args (); ;
6153 break;}
6154 case 480:
6155 #line 2135 "parse.y"
6156 { yyval.ftype.t = yyvsp[-3].ttype;
6157 yyval.ftype.new_type_flag = 1;
6158 begin_inline_definitions (); ;
6159 break;}
6160 case 481:
6161 #line 2139 "parse.y"
6162 {
6163 yyval.ftype.new_type_flag = 0;
6164 if (TYPE_BINFO (yyvsp[0].ttype) == NULL_TREE)
6165 {
6166 cp_error ("%T is not a class type", yyvsp[0].ttype);
6167 yyval.ftype.t = error_mark_node;
6168 }
6169 else
6170 {
6171 yyval.ftype.t = yyvsp[0].ttype;
6172 /* struct B: public A; is not accepted by the WP grammar. */
6173 if (TYPE_BINFO_BASETYPES (yyval.ftype.t) && !TYPE_SIZE (yyval.ftype.t)
6174 && ! TYPE_BEING_DEFINED (yyval.ftype.t))
6175 cp_error ("base clause without member specification for `%#T'",
6176 yyval.ftype.t);
6177 }
6178 ;
6179 break;}
6180 case 485:
6181 #line 2166 "parse.y"
6182 { if (pedantic && !in_system_header)
6183 pedwarn ("comma at end of enumerator list"); ;
6184 break;}
6185 case 487:
6186 #line 2173 "parse.y"
6187 { error ("storage class specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
6188 break;}
6189 case 488:
6190 #line 2175 "parse.y"
6191 { error ("type specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
6192 break;}
6193 case 489:
6194 #line 2177 "parse.y"
6195 { error ("type qualifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
6196 break;}
6197 case 490:
6198 #line 2179 "parse.y"
6199 { error ("no body nor ';' separates two class, struct or union declarations"); ;
6200 break;}
6201 case 491:
6202 #line 2181 "parse.y"
6203 { yyval.ttype = build_decl_list (yyvsp[0].ttype, yyvsp[-1].ttype); ;
6204 break;}
6205 case 492:
6206 #line 2186 "parse.y"
6207 {
6208 current_aggr = yyvsp[-1].ttype;
6209 yyval.ttype = yyvsp[0].ttype;
6210 ;
6211 break;}
6212 case 493:
6213 #line 2194 "parse.y"
6214 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
6215 break;}
6216 case 494:
6217 #line 2196 "parse.y"
6218 { yyungetc ('{', 1); ;
6219 break;}
6220 case 495:
6221 #line 2198 "parse.y"
6222 { yyungetc (':', 1); ;
6223 break;}
6224 case 496:
6225 #line 2203 "parse.y"
6226 {
6227 current_aggr = yyvsp[-2].ttype;
6228 yyval.ttype = handle_class_head (yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
6229 ;
6230 break;}
6231 case 497:
6232 #line 2208 "parse.y"
6233 {
6234 current_aggr = yyvsp[-3].ttype;
6235 yyval.ttype = handle_class_head (yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
6236 ;
6237 break;}
6238 case 498:
6239 #line 2213 "parse.y"
6240 {
6241 current_aggr = yyvsp[-2].ttype;
6242 yyval.ttype = handle_class_head (yyvsp[-2].ttype, NULL_TREE, yyvsp[0].ttype);
6243 ;
6244 break;}
6245 case 499:
6246 #line 2218 "parse.y"
6247 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
6248 break;}
6249 case 500:
6250 #line 2220 "parse.y"
6251 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
6252 break;}
6253 case 501:
6254 #line 2225 "parse.y"
6255 { yyval.ttype = xref_tag (current_aggr, yyvsp[0].ttype, 1); ;
6256 break;}
6257 case 502:
6258 #line 2227 "parse.y"
6259 { yyval.ttype = xref_tag (current_aggr, yyvsp[0].ttype, 0); ;
6260 break;}
6261 case 503:
6262 #line 2231 "parse.y"
6263 {
6264 yyval.ttype = yyvsp[-1].ttype;
6265 if (yyvsp[0].ttype)
6266 xref_basetypes (current_aggr, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
6267 ;
6268 break;}
6269 case 504:
6270 #line 2237 "parse.y"
6271 { push_scope (CP_DECL_CONTEXT (yyvsp[0].ttype)); ;
6272 break;}
6273 case 505:
6274 #line 2239 "parse.y"
6275 {
6276 pop_scope (CP_DECL_CONTEXT (yyvsp[-2].ttype));
6277 yyval.ttype = TREE_TYPE (yyvsp[-2].ttype);
6278 if (current_aggr == union_type_node
6279 && TREE_CODE (yyval.ttype) != UNION_TYPE)
6280 cp_pedwarn ("`union' tag used in declaring `%#T'", yyval.ttype);
6281 else if (TREE_CODE (yyval.ttype) == UNION_TYPE
6282 && current_aggr != union_type_node)
6283 cp_pedwarn ("non-`union' tag used in declaring `%#T'", yyval.ttype);
6284 else if (TREE_CODE (yyval.ttype) == RECORD_TYPE)
6285 /* We might be specializing a template with a different
6286 class-key; deal. */
6287 CLASSTYPE_DECLARED_CLASS (yyval.ttype) = (current_aggr
6288 == class_type_node);
6289 if (yyvsp[0].ttype)
6290 {
6291 maybe_process_partial_specialization (yyval.ttype);
6292 xref_basetypes (current_aggr, yyvsp[-2].ttype, yyval.ttype, yyvsp[0].ttype);
6293 }
6294 ;
6295 break;}
6296 case 506:
6297 #line 2263 "parse.y"
6298 { yyval.ttype = xref_tag (yyval.ttype, make_anon_name (), 0);
6299 yyungetc ('{', 1); ;
6300 break;}
6301 case 509:
6302 #line 2274 "parse.y"
6303 { yyval.ttype = NULL_TREE; ;
6304 break;}
6305 case 510:
6306 #line 2276 "parse.y"
6307 { yyungetc(':', 1); yyval.ttype = NULL_TREE; ;
6308 break;}
6309 case 511:
6310 #line 2278 "parse.y"
6311 { yyval.ttype = yyvsp[0].ttype; ;
6312 break;}
6313 case 513:
6314 #line 2284 "parse.y"
6315 { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
6316 break;}
6317 case 514:
6318 #line 2289 "parse.y"
6319 { yyval.ttype = finish_base_specifier (access_default_node, yyvsp[0].ttype,
6320 current_aggr
6321 == signature_type_node); ;
6322 break;}
6323 case 515:
6324 #line 2293 "parse.y"
6325 { yyval.ttype = finish_base_specifier (yyvsp[-2].ttype, yyvsp[0].ttype,
6326 current_aggr
6327 == signature_type_node); ;
6328 break;}
6329 case 516:
6330 #line 2300 "parse.y"
6331 { if (yyval.ttype != error_mark_node) yyval.ttype = TYPE_MAIN_DECL (yyvsp[0].ttype); ;
6332 break;}
6333 case 518:
6334 #line 2303 "parse.y"
6335 {
6336 if (current_aggr == signature_type_node)
6337 {
6338 if (IS_AGGR_TYPE (TREE_TYPE (yyvsp[-1].ttype)))
6339 {
6340 sorry ("`sigof' as base signature specifier");
6341 yyval.ttype = TREE_TYPE (yyvsp[-1].ttype);
6342 }
6343 else
6344 {
6345 error ("`sigof' applied to non-aggregate expression");
6346 yyval.ttype = error_mark_node;
6347 }
6348 }
6349 else
6350 {
6351 error ("`sigof' in struct or class declaration");
6352 yyval.ttype = error_mark_node;
6353 }
6354 ;
6355 break;}
6356 case 519:
6357 #line 2324 "parse.y"
6358 {
6359 if (current_aggr == signature_type_node)
6360 {
6361 if (IS_AGGR_TYPE (groktypename (yyvsp[-1].ftype.t)))
6362 {
6363 sorry ("`sigof' as base signature specifier");
6364 yyval.ttype = groktypename (yyvsp[-1].ftype.t);
6365 }
6366 else
6367 {
6368 error ("`sigof' applied to non-aggregate expression");
6369 yyval.ttype = error_mark_node;
6370 }
6371 }
6372 else
6373 {
6374 error ("`sigof' in struct or class declaration");
6375 yyval.ttype = error_mark_node;
6376 }
6377 ;
6378 break;}
6379 case 521:
6380 #line 2349 "parse.y"
6381 { if (yyvsp[-1].ttype != ridpointers[(int)RID_VIRTUAL])
6382 cp_error ("`%D' access", yyvsp[-1].ttype);
6383 yyval.ttype = access_default_virtual_node; ;
6384 break;}
6385 case 522:
6386 #line 2353 "parse.y"
6387 {
6388 if (yyvsp[-2].ttype != access_default_virtual_node)
6389 error ("multiple access specifiers");
6390 else if (yyvsp[-1].ttype == access_public_node)
6391 yyval.ttype = access_public_virtual_node;
6392 else if (yyvsp[-1].ttype == access_protected_node)
6393 yyval.ttype = access_protected_virtual_node;
6394 else /* $2 == access_private_node */
6395 yyval.ttype = access_private_virtual_node;
6396 ;
6397 break;}
6398 case 523:
6399 #line 2364 "parse.y"
6400 { if (yyvsp[-1].ttype != ridpointers[(int)RID_VIRTUAL])
6401 cp_error ("`%D' access", yyvsp[-1].ttype);
6402 else if (yyval.ttype == access_public_node)
6403 yyval.ttype = access_public_virtual_node;
6404 else if (yyval.ttype == access_protected_node)
6405 yyval.ttype = access_protected_virtual_node;
6406 else if (yyval.ttype == access_private_node)
6407 yyval.ttype = access_private_virtual_node;
6408 else
6409 error ("multiple `virtual' specifiers");
6410 ;
6411 break;}
6412 case 524:
6413 #line 2379 "parse.y"
6414 { yyvsp[-1].ttype = begin_class_definition (yyvsp[-1].ttype); ;
6415 break;}
6416 case 525:
6417 #line 2384 "parse.y"
6418 {
6419 finish_member_declaration (build_self_reference ());
6420 ;
6421 break;}
6422 case 530:
6423 #line 2398 "parse.y"
6424 {
6425 if (current_aggr == signature_type_node)
6426 {
6427 error ("access specifier not allowed in signature");
6428 yyvsp[-1].ttype = access_public_node;
6429 }
6430
6431 current_access_specifier = yyvsp[-1].ttype;
6432 ;
6433 break;}
6434 case 531:
6435 #line 2413 "parse.y"
6436 {
6437 finish_member_declaration (yyvsp[0].ttype);
6438 ;
6439 break;}
6440 case 532:
6441 #line 2417 "parse.y"
6442 {
6443 finish_member_declaration (yyvsp[0].ttype);
6444 ;
6445 break;}
6446 case 534:
6447 #line 2425 "parse.y"
6448 { error ("missing ';' before right brace");
6449 yyungetc ('}', 0); ;
6450 break;}
6451 case 535:
6452 #line 2430 "parse.y"
6453 { yyval.ttype = finish_method (yyval.ttype); ;
6454 break;}
6455 case 536:
6456 #line 2432 "parse.y"
6457 { yyval.ttype = finish_method (yyval.ttype); ;
6458 break;}
6459 case 537:
6460 #line 2434 "parse.y"
6461 { yyval.ttype = finish_method (yyval.ttype); ;
6462 break;}
6463 case 538:
6464 #line 2436 "parse.y"
6465 { yyval.ttype = finish_method (yyval.ttype); ;
6466 break;}
6467 case 539:
6468 #line 2438 "parse.y"
6469 { yyval.ttype = NULL_TREE; ;
6470 break;}
6471 case 540:
6472 #line 2440 "parse.y"
6473 { yyval.ttype = yyvsp[0].ttype;
6474 pedantic = yyvsp[-1].itype; ;
6475 break;}
6476 case 541:
6477 #line 2443 "parse.y"
6478 {
6479 if (yyvsp[0].ttype)
6480 yyval.ttype = finish_member_template_decl (yyvsp[0].ttype);
6481 else
6482 /* The component was already processed. */
6483 yyval.ttype = NULL_TREE;
6484
6485 finish_template_decl (yyvsp[-1].ttype);
6486 ;
6487 break;}
6488 case 542:
6489 #line 2453 "parse.y"
6490 {
6491 yyval.ttype = finish_member_class_template (yyvsp[-1].ftype.t);
6492 finish_template_decl (yyvsp[-2].ttype);
6493 ;
6494 break;}
6495 case 543:
6496 #line 2464 "parse.y"
6497 {
6498 /* Most of the productions for component_decl only
6499 allow the creation of one new member, so we call
6500 finish_member_declaration in component_decl_list.
6501 For this rule and the next, however, there can be
6502 more than one member, e.g.:
6503
6504 int i, j;
6505
6506 and we need the first member to be fully
6507 registered before the second is processed.
6508 Therefore, the rules for components take care of
6509 this processing. To avoid registering the
6510 components more than once, we send NULL_TREE up
6511 here; that lets finish_member_declaration now
6512 that there is nothing to do. */
6513 if (!yyvsp[0].itype)
6514 grok_x_components (yyvsp[-1].ftype.t);
6515 yyval.ttype = NULL_TREE;
6516 ;
6517 break;}
6518 case 544:
6519 #line 2485 "parse.y"
6520 {
6521 if (!yyvsp[0].itype)
6522 grok_x_components (yyvsp[-1].ttype);
6523 yyval.ttype = NULL_TREE;
6524 ;
6525 break;}
6526 case 545:
6527 #line 2491 "parse.y"
6528 { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
6529 build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
6530 break;}
6531 case 546:
6532 #line 2494 "parse.y"
6533 { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
6534 build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
6535 break;}
6536 case 547:
6537 #line 2497 "parse.y"
6538 { yyval.ttype = grokbitfield (NULL_TREE, NULL_TREE, yyvsp[0].ttype); ;
6539 break;}
6540 case 548:
6541 #line 2499 "parse.y"
6542 { yyval.ttype = NULL_TREE; ;
6543 break;}
6544 case 549:
6545 #line 2510 "parse.y"
6546 { tree specs, attrs;
6547 split_specs_attrs (yyvsp[-4].ttype, &specs, &attrs);
6548 yyval.ttype = grokfield (yyvsp[-3].ttype, specs, yyvsp[0].ttype, yyvsp[-2].ttype,
6549 build_tree_list (yyvsp[-1].ttype, attrs)); ;
6550 break;}
6551 case 550:
6552 #line 2515 "parse.y"
6553 { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
6554 build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
6555 break;}
6556 case 551:
6557 #line 2518 "parse.y"
6558 { yyval.ttype = do_class_using_decl (yyvsp[0].ttype); ;
6559 break;}
6560 case 552:
6561 #line 2524 "parse.y"
6562 { yyval.itype = 0; ;
6563 break;}
6564 case 553:
6565 #line 2526 "parse.y"
6566 {
6567 if (PROCESSING_REAL_TEMPLATE_DECL_P ())
6568 yyvsp[0].ttype = finish_member_template_decl (yyvsp[0].ttype);
6569 finish_member_declaration (yyvsp[0].ttype);
6570 yyval.itype = 1;
6571 ;
6572 break;}
6573 case 554:
6574 #line 2533 "parse.y"
6575 {
6576 check_multiple_declarators ();
6577 if (PROCESSING_REAL_TEMPLATE_DECL_P ())
6578 yyvsp[0].ttype = finish_member_template_decl (yyvsp[0].ttype);
6579 finish_member_declaration (yyvsp[0].ttype);
6580 yyval.itype = 2;
6581 ;
6582 break;}
6583 case 555:
6584 #line 2544 "parse.y"
6585 { yyval.itype = 0; ;
6586 break;}
6587 case 556:
6588 #line 2546 "parse.y"
6589 {
6590 if (PROCESSING_REAL_TEMPLATE_DECL_P ())
6591 yyvsp[0].ttype = finish_member_template_decl (yyvsp[0].ttype);
6592 finish_member_declaration (yyvsp[0].ttype);
6593 yyval.itype = 1;
6594 ;
6595 break;}
6596 case 557:
6597 #line 2553 "parse.y"
6598 {
6599 check_multiple_declarators ();
6600 if (PROCESSING_REAL_TEMPLATE_DECL_P ())
6601 yyvsp[0].ttype = finish_member_template_decl (yyvsp[0].ttype);
6602 finish_member_declaration (yyvsp[0].ttype);
6603 yyval.itype = 2;
6604 ;
6605 break;}
6606 case 562:
6607 #line 2574 "parse.y"
6608 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6609 &prefix_attributes);
6610 yyvsp[-4].ttype = current_declspecs;
6611 yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6612 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6613 break;}
6614 case 563:
6615 #line 2580 "parse.y"
6616 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6617 &prefix_attributes);
6618 yyvsp[-4].ttype = current_declspecs;
6619 yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6620 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6621 break;}
6622 case 564:
6623 #line 2589 "parse.y"
6624 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6625 &prefix_attributes);
6626 yyvsp[-4].ttype = current_declspecs;
6627 yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6628 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6629 break;}
6630 case 565:
6631 #line 2595 "parse.y"
6632 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6633 &prefix_attributes);
6634 yyvsp[-4].ttype = current_declspecs;
6635 yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6636 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6637 break;}
6638 case 566:
6639 #line 2601 "parse.y"
6640 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6641 &prefix_attributes);
6642 yyvsp[-4].ttype = current_declspecs;
6643 yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6644 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6645 break;}
6646 case 567:
6647 #line 2607 "parse.y"
6648 { split_specs_attrs (yyvsp[-3].ttype, &current_declspecs,
6649 &prefix_attributes);
6650 yyvsp[-3].ttype = current_declspecs;
6651 yyval.ttype = grokbitfield (NULL_TREE, current_declspecs, yyvsp[-1].ttype);
6652 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6653 break;}
6654 case 568:
6655 #line 2616 "parse.y"
6656 { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6657 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6658 break;}
6659 case 569:
6660 #line 2619 "parse.y"
6661 { yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6662 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6663 break;}
6664 case 570:
6665 #line 2625 "parse.y"
6666 { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6667 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6668 break;}
6669 case 571:
6670 #line 2628 "parse.y"
6671 { yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6672 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6673 break;}
6674 case 572:
6675 #line 2631 "parse.y"
6676 { yyval.ttype = grokbitfield (NULL_TREE, current_declspecs, yyvsp[-1].ttype);
6677 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6678 break;}
6679 case 574:
6680 #line 2642 "parse.y"
6681 { TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
6682 break;}
6683 case 575:
6684 #line 2647 "parse.y"
6685 { yyval.ttype = build_enumerator (yyval.ttype, NULL_TREE, current_enum_type); ;
6686 break;}
6687 case 576:
6688 #line 2649 "parse.y"
6689 { yyval.ttype = build_enumerator (yyval.ttype, yyvsp[0].ttype, current_enum_type); ;
6690 break;}
6691 case 577:
6692 #line 2655 "parse.y"
6693 { yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
6694 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
6695 break;}
6696 case 578:
6697 #line 2658 "parse.y"
6698 { yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE);
6699 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
6700 break;}
6701 case 579:
6702 #line 2665 "parse.y"
6703 {
6704 if (pedantic)
6705 pedwarn ("ANSI C++ forbids array dimensions with parenthesized type in new");
6706 yyval.ftype.t = build_parse_node (ARRAY_REF, TREE_VALUE (yyvsp[-4].ftype.t), yyvsp[-1].ttype);
6707 yyval.ftype.t = build_decl_list (TREE_PURPOSE (yyvsp[-4].ftype.t), yyval.ftype.t);
6708 yyval.ftype.new_type_flag = yyvsp[-4].ftype.new_type_flag;
6709 ;
6710 break;}
6711 case 580:
6712 #line 2676 "parse.y"
6713 { yyval.ttype = NULL_TREE; ;
6714 break;}
6715 case 581:
6716 #line 2678 "parse.y"
6717 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
6718 break;}
6719 case 582:
6720 #line 2683 "parse.y"
6721 { yyval.ftype.t = IDENTIFIER_AS_LIST (yyvsp[0].ttype);
6722 yyval.ftype.new_type_flag = 0; ;
6723 break;}
6724 case 583:
6725 #line 2686 "parse.y"
6726 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ftype.t);
6727 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
6728 break;}
6729 case 584:
6730 #line 2695 "parse.y"
6731 { yyval.itype = suspend_momentary (); ;
6732 break;}
6733 case 585:
6734 #line 2700 "parse.y"
6735 { resume_momentary ((int) yyvsp[-1].itype); yyval.ttype = yyvsp[0].ttype; ;
6736 break;}
6737 case 586:
6738 #line 2706 "parse.y"
6739 { resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = yyvsp[-1].ttype; ;
6740 break;}
6741 case 587:
6742 #line 2708 "parse.y"
6743 { resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = yyvsp[-1].ttype; ;
6744 break;}
6745 case 588:
6746 #line 2710 "parse.y"
6747 { resume_momentary ((int) yyvsp[-1].itype); yyval.ttype = empty_parms (); ;
6748 break;}
6749 case 589:
6750 #line 2712 "parse.y"
6751 { resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = NULL_TREE; ;
6752 break;}
6753 case 590:
6754 #line 2719 "parse.y"
6755 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6756 break;}
6757 case 591:
6758 #line 2721 "parse.y"
6759 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6760 break;}
6761 case 592:
6762 #line 2723 "parse.y"
6763 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
6764 break;}
6765 case 593:
6766 #line 2725 "parse.y"
6767 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
6768 break;}
6769 case 594:
6770 #line 2727 "parse.y"
6771 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
6772 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
6773 ;
6774 break;}
6775 case 596:
6776 #line 2735 "parse.y"
6777 {
6778 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6779 {
6780 yyval.ttype = lookup_name (yyvsp[0].ttype, 1);
6781 if (current_class_type
6782 && TYPE_BEING_DEFINED (current_class_type)
6783 && ! IDENTIFIER_CLASS_VALUE (yyvsp[0].ttype))
6784 {
6785 /* Remember that this name has been used in the class
6786 definition, as per [class.scope0] */
6787 pushdecl_class_level (yyval.ttype);
6788 }
6789 }
6790 else
6791 yyval.ttype = yyvsp[0].ttype;
6792 ;
6793 break;}
6794 case 597:
6795 #line 2752 "parse.y"
6796 {
6797 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6798 yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype);
6799 else
6800 yyval.ttype = yyvsp[0].ttype;
6801 got_scope = NULL_TREE;
6802 ;
6803 break;}
6804 case 600:
6805 #line 2765 "parse.y"
6806 { yyval.ttype = yyvsp[0].ttype; ;
6807 break;}
6808 case 601:
6809 #line 2770 "parse.y"
6810 { yyval.ttype = get_type_decl (yyvsp[0].ttype); ;
6811 break;}
6812 case 602:
6813 #line 2775 "parse.y"
6814 { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6815 break;}
6816 case 603:
6817 #line 2777 "parse.y"
6818 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
6819 break;}
6820 case 604:
6821 #line 2779 "parse.y"
6822 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
6823 break;}
6824 case 605:
6825 #line 2781 "parse.y"
6826 { yyval.ttype = yyvsp[-1].ttype; ;
6827 break;}
6828 case 606:
6829 #line 2783 "parse.y"
6830 { push_nested_class (yyvsp[-1].ttype, 3);
6831 yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype);
6832 TREE_COMPLEXITY (yyval.ttype) = current_class_depth; ;
6833 break;}
6834 case 609:
6835 #line 2795 "parse.y"
6836 {
6837 /* Provide support for '(' attributes '*' declarator ')'
6838 etc */
6839 yyval.ttype = decl_tree_cons (yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE);
6840 ;
6841 break;}
6842 case 610:
6843 #line 2804 "parse.y"
6844 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6845 break;}
6846 case 611:
6847 #line 2806 "parse.y"
6848 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6849 break;}
6850 case 612:
6851 #line 2808 "parse.y"
6852 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
6853 break;}
6854 case 613:
6855 #line 2810 "parse.y"
6856 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
6857 break;}
6858 case 614:
6859 #line 2812 "parse.y"
6860 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
6861 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
6862 ;
6863 break;}
6864 case 616:
6865 #line 2820 "parse.y"
6866 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6867 break;}
6868 case 617:
6869 #line 2822 "parse.y"
6870 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6871 break;}
6872 case 618:
6873 #line 2824 "parse.y"
6874 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
6875 break;}
6876 case 619:
6877 #line 2826 "parse.y"
6878 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
6879 break;}
6880 case 620:
6881 #line 2828 "parse.y"
6882 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
6883 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
6884 ;
6885 break;}
6886 case 622:
6887 #line 2836 "parse.y"
6888 { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6889 break;}
6890 case 623:
6891 #line 2838 "parse.y"
6892 { yyval.ttype = yyvsp[-1].ttype; ;
6893 break;}
6894 case 624:
6895 #line 2840 "parse.y"
6896 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
6897 break;}
6898 case 625:
6899 #line 2842 "parse.y"
6900 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
6901 break;}
6902 case 626:
6903 #line 2844 "parse.y"
6904 { enter_scope_of (yyvsp[0].ttype); ;
6905 break;}
6906 case 627:
6907 #line 2846 "parse.y"
6908 { got_scope = NULL_TREE;
6909 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype);
6910 enter_scope_of (yyval.ttype);
6911 ;
6912 break;}
6913 case 628:
6914 #line 2854 "parse.y"
6915 { got_scope = NULL_TREE;
6916 yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ;
6917 break;}
6918 case 629:
6919 #line 2857 "parse.y"
6920 { got_scope = NULL_TREE;
6921 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6922 break;}
6923 case 630:
6924 #line 2863 "parse.y"
6925 { got_scope = NULL_TREE;
6926 yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ;
6927 break;}
6928 case 631:
6929 #line 2866 "parse.y"
6930 { got_scope = NULL_TREE;
6931 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6932 break;}
6933 case 633:
6934 #line 2873 "parse.y"
6935 { yyval.ttype = yyvsp[0].ttype; ;
6936 break;}
6937 case 634:
6938 #line 2878 "parse.y"
6939 { yyval.ttype = build_functional_cast (yyvsp[-3].ftype.t, yyvsp[-1].ttype); ;
6940 break;}
6941 case 635:
6942 #line 2880 "parse.y"
6943 { yyval.ttype = reparse_decl_as_expr (yyvsp[-3].ftype.t, yyvsp[-1].ttype); ;
6944 break;}
6945 case 636:
6946 #line 2882 "parse.y"
6947 { yyval.ttype = reparse_absdcl_as_expr (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6948 break;}
6949 case 641:
6950 #line 2893 "parse.y"
6951 { yyval.ttype = yyvsp[0].ttype; ;
6952 break;}
6953 case 642:
6954 #line 2895 "parse.y"
6955 { got_scope = yyval.ttype = make_typename_type (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
6956 break;}
6957 case 643:
6958 #line 2902 "parse.y"
6959 {
6960 if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE)
6961 {
6962 yyval.ttype = lastiddecl;
6963 /* Remember that this name has been used in the class
6964 definition, as per [class.scope0] */
6965 if (current_class_type
6966 && TYPE_BEING_DEFINED (current_class_type)
6967 && ! IDENTIFIER_CLASS_VALUE (yyvsp[-1].ttype))
6968 pushdecl_class_level (yyval.ttype);
6969 }
6970 got_scope = yyval.ttype = TYPE_MAIN_VARIANT (TREE_TYPE (yyval.ttype));
6971 ;
6972 break;}
6973 case 644:
6974 #line 2916 "parse.y"
6975 {
6976 if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE)
6977 yyval.ttype = lastiddecl;
6978 got_scope = yyval.ttype = TREE_TYPE (yyval.ttype);
6979 ;
6980 break;}
6981 case 645:
6982 #line 2922 "parse.y"
6983 {
6984 if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
6985 yyval.ttype = lastiddecl;
6986 got_scope = yyval.ttype;
6987 ;
6988 break;}
6989 case 646:
6990 #line 2928 "parse.y"
6991 { got_scope = yyval.ttype = complete_type (TREE_TYPE (yyvsp[-1].ttype)); ;
6992 break;}
6993 case 648:
6994 #line 2944 "parse.y"
6995 { yyval.ttype = yyvsp[0].ttype; ;
6996 break;}
6997 case 649:
6998 #line 2949 "parse.y"
6999 {
7000 if (TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype)) == 't')
7001 yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype);
7002 else if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
7003 cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
7004 else
7005 {
7006 yyval.ttype = yyvsp[0].ttype;
7007 if (TREE_CODE (yyval.ttype) == TYPE_DECL)
7008 yyval.ttype = TREE_TYPE (yyval.ttype);
7009 }
7010 ;
7011 break;}
7012 case 650:
7013 #line 2962 "parse.y"
7014 { yyval.ttype = TREE_TYPE (yyvsp[0].ttype); ;
7015 break;}
7016 case 651:
7017 #line 2964 "parse.y"
7018 { yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype); ;
7019 break;}
7020 case 652:
7021 #line 2966 "parse.y"
7022 { yyval.ttype = make_typename_type (yyvsp[-2].ttype, yyvsp[0].ttype); ;
7023 break;}
7024 case 653:
7025 #line 2971 "parse.y"
7026 {
7027 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
7028 cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
7029 ;
7030 break;}
7031 case 654:
7032 #line 2976 "parse.y"
7033 {
7034 if (TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype)) == 't')
7035 yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype);
7036 else if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
7037 cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
7038 else
7039 {
7040 yyval.ttype = yyvsp[0].ttype;
7041 if (TREE_CODE (yyval.ttype) == TYPE_DECL)
7042 yyval.ttype = TREE_TYPE (yyval.ttype);
7043 }
7044 ;
7045 break;}
7046 case 655:
7047 #line 2989 "parse.y"
7048 { got_scope = yyval.ttype = make_typename_type (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
7049 break;}
7050 case 656:
7051 #line 2991 "parse.y"
7052 { got_scope = yyval.ttype = make_typename_type (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
7053 break;}
7054 case 657:
7055 #line 2996 "parse.y"
7056 {
7057 if (TREE_CODE (yyvsp[-1].ttype) != IDENTIFIER_NODE)
7058 yyvsp[-1].ttype = lastiddecl;
7059
7060 /* Retrieve the type for the identifier, which might involve
7061 some computation. */
7062 got_scope = yyval.ttype = complete_type (IDENTIFIER_TYPE_VALUE (yyvsp[-1].ttype));
7063
7064 if (yyval.ttype == error_mark_node)
7065 cp_error ("`%T' is not a class or namespace", yyvsp[-1].ttype);
7066 ;
7067 break;}
7068 case 658:
7069 #line 3008 "parse.y"
7070 {
7071 if (TREE_CODE (yyvsp[-1].ttype) != IDENTIFIER_NODE)
7072 yyval.ttype = lastiddecl;
7073 got_scope = yyval.ttype = complete_type (TREE_TYPE (yyval.ttype));
7074 ;
7075 break;}
7076 case 659:
7077 #line 3014 "parse.y"
7078 { got_scope = yyval.ttype = complete_type (TREE_TYPE (yyval.ttype)); ;
7079 break;}
7080 case 662:
7081 #line 3018 "parse.y"
7082 {
7083 if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
7084 yyval.ttype = lastiddecl;
7085 got_scope = yyval.ttype;
7086 ;
7087 break;}
7088 case 663:
7089 #line 3027 "parse.y"
7090 { yyval.ttype = build_min_nt (TEMPLATE_ID_EXPR, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
7091 break;}
7092 case 664:
7093 #line 3032 "parse.y"
7094 {
7095 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
7096 yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype);
7097 else
7098 yyval.ttype = yyvsp[0].ttype;
7099 got_scope = NULL_TREE;
7100 ;
7101 break;}
7102 case 666:
7103 #line 3041 "parse.y"
7104 { yyval.ttype = yyvsp[0].ttype; ;
7105 break;}
7106 case 667:
7107 #line 3046 "parse.y"
7108 { got_scope = NULL_TREE; ;
7109 break;}
7110 case 668:
7111 #line 3048 "parse.y"
7112 { yyval.ttype = yyvsp[-1].ttype; got_scope = NULL_TREE; ;
7113 break;}
7114 case 669:
7115 #line 3055 "parse.y"
7116 { got_scope = void_type_node; ;
7117 break;}
7118 case 670:
7119 #line 3061 "parse.y"
7120 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
7121 break;}
7122 case 671:
7123 #line 3063 "parse.y"
7124 { yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ;
7125 break;}
7126 case 672:
7127 #line 3065 "parse.y"
7128 { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
7129 break;}
7130 case 673:
7131 #line 3067 "parse.y"
7132 { yyval.ttype = make_reference_declarator (yyvsp[0].ttype, NULL_TREE); ;
7133 break;}
7134 case 674:
7135 #line 3069 "parse.y"
7136 { tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE);
7137 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, arg);
7138 ;
7139 break;}
7140 case 675:
7141 #line 3073 "parse.y"
7142 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
7143 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
7144 ;
7145 break;}
7146 case 677:
7147 #line 3082 "parse.y"
7148 { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
7149 break;}
7150 case 678:
7151 #line 3084 "parse.y"
7152 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
7153 break;}
7154 case 679:
7155 #line 3090 "parse.y"
7156 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7157 break;}
7158 case 680:
7159 #line 3092 "parse.y"
7160 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
7161 break;}
7162 case 681:
7163 #line 3094 "parse.y"
7164 { yyval.ttype = make_pointer_declarator (yyvsp[0].ftype.t, NULL_TREE); ;
7165 break;}
7166 case 682:
7167 #line 3096 "parse.y"
7168 { yyval.ttype = make_pointer_declarator (NULL_TREE, NULL_TREE); ;
7169 break;}
7170 case 683:
7171 #line 3098 "parse.y"
7172 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7173 break;}
7174 case 684:
7175 #line 3100 "parse.y"
7176 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
7177 break;}
7178 case 685:
7179 #line 3102 "parse.y"
7180 { yyval.ttype = make_reference_declarator (yyvsp[0].ftype.t, NULL_TREE); ;
7181 break;}
7182 case 686:
7183 #line 3104 "parse.y"
7184 { yyval.ttype = make_reference_declarator (NULL_TREE, NULL_TREE); ;
7185 break;}
7186 case 687:
7187 #line 3106 "parse.y"
7188 { tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE);
7189 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, arg);
7190 ;
7191 break;}
7192 case 688:
7193 #line 3110 "parse.y"
7194 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
7195 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
7196 ;
7197 break;}
7198 case 690:
7199 #line 3119 "parse.y"
7200 { yyval.ttype = yyvsp[-1].ttype; ;
7201 break;}
7202 case 692:
7203 #line 3123 "parse.y"
7204 { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7205 break;}
7206 case 693:
7207 #line 3125 "parse.y"
7208 { yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
7209 break;}
7210 case 694:
7211 #line 3127 "parse.y"
7212 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
7213 break;}
7214 case 695:
7215 #line 3129 "parse.y"
7216 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
7217 break;}
7218 case 696:
7219 #line 3131 "parse.y"
7220 { yyval.ttype = make_call_declarator (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7221 break;}
7222 case 697:
7223 #line 3133 "parse.y"
7224 { set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7225 break;}
7226 case 698:
7227 #line 3135 "parse.y"
7228 { set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7229 break;}
7230 case 699:
7231 #line 3137 "parse.y"
7232 { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
7233 break;}
7234 case 700:
7235 #line 3139 "parse.y"
7236 { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, NULL_TREE); ;
7237 break;}
7238 case 707:
7239 #line 3162 "parse.y"
7240 { if (pedantic)
7241 pedwarn ("ANSI C++ forbids label declarations"); ;
7242 break;}
7243 case 710:
7244 #line 3173 "parse.y"
7245 { tree link;
7246 for (link = yyvsp[-1].ttype; link; link = TREE_CHAIN (link))
7247 {
7248 tree label = shadow_label (TREE_VALUE (link));
7249 C_DECLARED_LABEL_FLAG (label) = 1;
7250 declare_nonlocal_label (label);
7251 }
7252 ;
7253 break;}
7254 case 711:
7255 #line 3187 "parse.y"
7256 {;
7257 break;}
7258 case 713:
7259 #line 3193 "parse.y"
7260 { yyval.ttype = begin_compound_stmt (0); ;
7261 break;}
7262 case 714:
7263 #line 3195 "parse.y"
7264 { yyval.ttype = finish_compound_stmt (0, yyvsp[-1].ttype); ;
7265 break;}
7266 case 715:
7267 #line 3200 "parse.y"
7268 {
7269 yyval.ttype = begin_if_stmt ();
7270 cond_stmt_keyword = "if";
7271 ;
7272 break;}
7273 case 716:
7274 #line 3205 "parse.y"
7275 { finish_if_stmt_cond (yyvsp[0].ttype, yyvsp[-1].ttype); ;
7276 break;}
7277 case 717:
7278 #line 3207 "parse.y"
7279 { yyval.ttype = finish_then_clause (yyvsp[-3].ttype); ;
7280 break;}
7281 case 719:
7282 #line 3212 "parse.y"
7283 { yyval.ttype = begin_compound_stmt (0); ;
7284 break;}
7285 case 720:
7286 #line 3214 "parse.y"
7287 { yyval.ttype = finish_compound_stmt (0, yyvsp[-1].ttype); ;
7288 break;}
7289 case 721:
7290 #line 3219 "parse.y"
7291 {;
7292 break;}
7293 case 723:
7294 #line 3225 "parse.y"
7295 { finish_stmt (); ;
7296 break;}
7297 case 724:
7298 #line 3227 "parse.y"
7299 { finish_expr_stmt (yyvsp[-1].ttype); ;
7300 break;}
7301 case 725:
7302 #line 3229 "parse.y"
7303 { begin_else_clause (); ;
7304 break;}
7305 case 726:
7306 #line 3231 "parse.y"
7307 {
7308 finish_else_clause (yyvsp[-3].ttype);
7309 finish_if_stmt ();
7310 ;
7311 break;}
7312 case 727:
7313 #line 3236 "parse.y"
7314 { finish_if_stmt (); ;
7315 break;}
7316 case 728:
7317 #line 3238 "parse.y"
7318 {
7319 yyval.ttype = begin_while_stmt ();
7320 cond_stmt_keyword = "while";
7321 ;
7322 break;}
7323 case 729:
7324 #line 3243 "parse.y"
7325 { finish_while_stmt_cond (yyvsp[0].ttype, yyvsp[-1].ttype); ;
7326 break;}
7327 case 730:
7328 #line 3245 "parse.y"
7329 { finish_while_stmt (yyvsp[-3].ttype); ;
7330 break;}
7331 case 731:
7332 #line 3247 "parse.y"
7333 { yyval.ttype = begin_do_stmt (); ;
7334 break;}
7335 case 732:
7336 #line 3249 "parse.y"
7337 {
7338 finish_do_body (yyvsp[-2].ttype);
7339 cond_stmt_keyword = "do";
7340 ;
7341 break;}
7342 case 733:
7343 #line 3254 "parse.y"
7344 { finish_do_stmt (yyvsp[-1].ttype, yyvsp[-5].ttype); ;
7345 break;}
7346 case 734:
7347 #line 3256 "parse.y"
7348 { yyval.ttype = begin_for_stmt (); ;
7349 break;}
7350 case 735:
7351 #line 3258 "parse.y"
7352 { finish_for_init_stmt (yyvsp[-2].ttype); ;
7353 break;}
7354 case 736:
7355 #line 3260 "parse.y"
7356 { finish_for_cond (yyvsp[-1].ttype, yyvsp[-5].ttype); ;
7357 break;}
7358 case 737:
7359 #line 3262 "parse.y"
7360 { finish_for_expr (yyvsp[-1].ttype, yyvsp[-8].ttype); ;
7361 break;}
7362 case 738:
7363 #line 3264 "parse.y"
7364 { finish_for_stmt (yyvsp[-3].ttype, yyvsp[-10].ttype); ;
7365 break;}
7366 case 739:
7367 #line 3266 "parse.y"
7368 { begin_switch_stmt (); ;
7369 break;}
7370 case 740:
7371 #line 3268 "parse.y"
7372 { yyval.ttype = finish_switch_cond (yyvsp[-1].ttype); ;
7373 break;}
7374 case 741:
7375 #line 3270 "parse.y"
7376 { finish_switch_stmt (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
7377 break;}
7378 case 742:
7379 #line 3272 "parse.y"
7380 { finish_case_label (yyvsp[-1].ttype, NULL_TREE); ;
7381 break;}
7382 case 744:
7383 #line 3275 "parse.y"
7384 { finish_case_label (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
7385 break;}
7386 case 746:
7387 #line 3278 "parse.y"
7388 { finish_case_label (NULL_TREE, NULL_TREE); ;
7389 break;}
7390 case 748:
7391 #line 3281 "parse.y"
7392 { finish_break_stmt (); ;
7393 break;}
7394 case 749:
7395 #line 3283 "parse.y"
7396 { finish_continue_stmt (); ;
7397 break;}
7398 case 750:
7399 #line 3285 "parse.y"
7400 { finish_return_stmt (NULL_TREE); ;
7401 break;}
7402 case 751:
7403 #line 3287 "parse.y"
7404 { finish_return_stmt (yyvsp[-1].ttype); ;
7405 break;}
7406 case 752:
7407 #line 3289 "parse.y"
7408 {
7409 finish_asm_stmt (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE,
7410 NULL_TREE);
7411 ;
7412 break;}
7413 case 753:
7414 #line 3295 "parse.y"
7415 {
7416 finish_asm_stmt (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE,
7417 NULL_TREE);
7418 ;
7419 break;}
7420 case 754:
7421 #line 3301 "parse.y"
7422 { finish_asm_stmt (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE); ;
7423 break;}
7424 case 755:
7425 #line 3305 "parse.y"
7426 { finish_asm_stmt (yyvsp[-10].ttype, yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype); ;
7427 break;}
7428 case 756:
7429 #line 3307 "parse.y"
7430 {
7431 if (pedantic)
7432 pedwarn ("ANSI C++ forbids computed gotos");
7433 finish_goto_stmt (yyvsp[-1].ttype);
7434 ;
7435 break;}
7436 case 757:
7437 #line 3313 "parse.y"
7438 { finish_goto_stmt (yyvsp[-1].ttype); ;
7439 break;}
7440 case 758:
7441 #line 3315 "parse.y"
7442 { finish_stmt (); ;
7443 break;}
7444 case 759:
7445 #line 3317 "parse.y"
7446 { error ("label must be followed by statement");
7447 yyungetc ('}', 0);
7448 finish_stmt (); ;
7449 break;}
7450 case 760:
7451 #line 3321 "parse.y"
7452 { finish_stmt (); ;
7453 break;}
7454 case 763:
7455 #line 3325 "parse.y"
7456 { do_local_using_decl (yyvsp[0].ttype); ;
7457 break;}
7458 case 765:
7459 #line 3331 "parse.y"
7460 {
7461 if (! current_function_parms_stored)
7462 store_parm_decls ();
7463 expand_start_early_try_stmts ();
7464 ;
7465 break;}
7466 case 766:
7467 #line 3337 "parse.y"
7468 {
7469 expand_start_all_catch ();
7470 ;
7471 break;}
7472 case 767:
7473 #line 3341 "parse.y"
7474 {
7475 int nested = (hack_decl_function_context
7476 (current_function_decl) != NULL_TREE);
7477 expand_end_all_catch ();
7478 finish_function (lineno, (int)yyvsp[-3].itype, nested);
7479 ;
7480 break;}
7481 case 768:
7482 #line 3351 "parse.y"
7483 { yyval.ttype = begin_try_block (); ;
7484 break;}
7485 case 769:
7486 #line 3353 "parse.y"
7487 { finish_try_block (yyvsp[-1].ttype); ;
7488 break;}
7489 case 770:
7490 #line 3355 "parse.y"
7491 { finish_handler_sequence (yyvsp[-3].ttype); ;
7492 break;}
7493 case 773:
7494 #line 3365 "parse.y"
7495 { yyval.ttype = begin_handler(); ;
7496 break;}
7497 case 774:
7498 #line 3367 "parse.y"
7499 { finish_handler_parms (yyvsp[-1].ttype); ;
7500 break;}
7501 case 775:
7502 #line 3369 "parse.y"
7503 { finish_handler (yyvsp[-3].ttype); ;
7504 break;}
7505 case 778:
7506 #line 3379 "parse.y"
7507 { expand_start_catch_block (NULL_TREE, NULL_TREE); ;
7508 break;}
7509 case 779:
7510 #line 3395 "parse.y"
7511 { check_for_new_type ("inside exception declarations", yyvsp[-1].ftype);
7512 expand_start_catch_block (TREE_PURPOSE (yyvsp[-1].ftype.t),
7513 TREE_VALUE (yyvsp[-1].ftype.t)); ;
7514 break;}
7515 case 780:
7516 #line 3402 "parse.y"
7517 { tree label;
7518 do_label:
7519 label = define_label (input_filename, lineno, yyvsp[-1].ttype);
7520 if (label && ! minimal_parse_mode)
7521 expand_label (label);
7522 ;
7523 break;}
7524 case 781:
7525 #line 3409 "parse.y"
7526 { goto do_label; ;
7527 break;}
7528 case 782:
7529 #line 3411 "parse.y"
7530 { goto do_label; ;
7531 break;}
7532 case 783:
7533 #line 3413 "parse.y"
7534 { goto do_label; ;
7535 break;}
7536 case 784:
7537 #line 3418 "parse.y"
7538 { if (yyvsp[-1].ttype) cplus_expand_expr_stmt (yyvsp[-1].ttype); ;
7539 break;}
7540 case 786:
7541 #line 3421 "parse.y"
7542 { if (pedantic)
7543 pedwarn ("ANSI C++ forbids compound statements inside for initializations");
7544 ;
7545 break;}
7546 case 787:
7547 #line 3430 "parse.y"
7548 { emit_line_note (input_filename, lineno);
7549 yyval.ttype = NULL_TREE; ;
7550 break;}
7551 case 788:
7552 #line 3433 "parse.y"
7553 { emit_line_note (input_filename, lineno); ;
7554 break;}
7555 case 789:
7556 #line 3438 "parse.y"
7557 { yyval.ttype = NULL_TREE; ;
7558 break;}
7559 case 791:
7560 #line 3441 "parse.y"
7561 { yyval.ttype = NULL_TREE; ;
7562 break;}
7563 case 792:
7564 #line 3448 "parse.y"
7565 { yyval.ttype = NULL_TREE; ;
7566 break;}
7567 case 795:
7568 #line 3455 "parse.y"
7569 { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
7570 break;}
7571 case 796:
7572 #line 3460 "parse.y"
7573 { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[-1].ttype); ;
7574 break;}
7575 case 797:
7576 #line 3465 "parse.y"
7577 { yyval.ttype = tree_cons (NULL_TREE, yyval.ttype, NULL_TREE); ;
7578 break;}
7579 case 798:
7580 #line 3467 "parse.y"
7581 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
7582 break;}
7583 case 799:
7584 #line 3478 "parse.y"
7585 {
7586 yyval.ttype = empty_parms();
7587 ;
7588 break;}
7589 case 801:
7590 #line 3483 "parse.y"
7591 { yyval.ttype = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[0].ftype.t), 0);
7592 check_for_new_type ("inside parameter list", yyvsp[0].ftype); ;
7593 break;}
7594 case 802:
7595 #line 3491 "parse.y"
7596 { yyval.ttype = finish_parmlist (yyval.ttype, 0); ;
7597 break;}
7598 case 803:
7599 #line 3493 "parse.y"
7600 { yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 1); ;
7601 break;}
7602 case 804:
7603 #line 3496 "parse.y"
7604 { yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 1); ;
7605 break;}
7606 case 805:
7607 #line 3498 "parse.y"
7608 { yyval.ttype = finish_parmlist (build_tree_list (NULL_TREE,
7609 yyvsp[-1].ftype.t), 1); ;
7610 break;}
7611 case 806:
7612 #line 3501 "parse.y"
7613 { yyval.ttype = finish_parmlist (NULL_TREE, 1); ;
7614 break;}
7615 case 807:
7616 #line 3503 "parse.y"
7617 {
7618 /* This helps us recover from really nasty
7619 parse errors, for example, a missing right
7620 parenthesis. */
7621 yyerror ("possibly missing ')'");
7622 yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 0);
7623 yyungetc (':', 0);
7624 yychar = ')';
7625 ;
7626 break;}
7627 case 808:
7628 #line 3513 "parse.y"
7629 {
7630 /* This helps us recover from really nasty
7631 parse errors, for example, a missing right
7632 parenthesis. */
7633 yyerror ("possibly missing ')'");
7634 yyval.ttype = finish_parmlist (build_tree_list (NULL_TREE,
7635 yyvsp[-1].ftype.t), 0);
7636 yyungetc (':', 0);
7637 yychar = ')';
7638 ;
7639 break;}
7640 case 809:
7641 #line 3528 "parse.y"
7642 { maybe_snarf_defarg (); ;
7643 break;}
7644 case 810:
7645 #line 3530 "parse.y"
7646 { yyval.ttype = yyvsp[0].ttype; ;
7647 break;}
7648 case 813:
7649 #line 3541 "parse.y"
7650 { check_for_new_type ("in a parameter list", yyvsp[0].ftype);
7651 yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ftype.t); ;
7652 break;}
7653 case 814:
7654 #line 3544 "parse.y"
7655 { check_for_new_type ("in a parameter list", yyvsp[-1].ftype);
7656 yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-1].ftype.t); ;
7657 break;}
7658 case 815:
7659 #line 3547 "parse.y"
7660 { check_for_new_type ("in a parameter list", yyvsp[0].ftype);
7661 yyval.ttype = chainon (yyval.ttype, yyvsp[0].ftype.t); ;
7662 break;}
7663 case 816:
7664 #line 3550 "parse.y"
7665 { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
7666 break;}
7667 case 817:
7668 #line 3552 "parse.y"
7669 { yyval.ttype = chainon (yyval.ttype, build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype)); ;
7670 break;}
7671 case 819:
7672 #line 3558 "parse.y"
7673 { check_for_new_type ("in a parameter list", yyvsp[-1].ftype);
7674 yyval.ttype = build_tree_list (NULL_TREE, yyvsp[-1].ftype.t); ;
7675 break;}
7676 case 820:
7677 #line 3568 "parse.y"
7678 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
7679 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag;
7680 yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype); ;
7681 break;}
7682 case 821:
7683 #line 3572 "parse.y"
7684 { yyval.ftype.t = build_tree_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
7685 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
7686 break;}
7687 case 822:
7688 #line 3575 "parse.y"
7689 { yyval.ftype.t = build_tree_list (get_decl_list (yyvsp[-1].ftype.t), yyvsp[0].ttype);
7690 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
7691 break;}
7692 case 823:
7693 #line 3578 "parse.y"
7694 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
7695 yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype);
7696 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
7697 break;}
7698 case 824:
7699 #line 3582 "parse.y"
7700 { tree specs = strip_attrs (yyvsp[0].ftype.t);
7701 yyval.ftype.t = build_tree_list (specs, NULL_TREE);
7702 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
7703 break;}
7704 case 825:
7705 #line 3586 "parse.y"
7706 { tree specs = strip_attrs (yyvsp[-1].ttype);
7707 yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype);
7708 yyval.ftype.new_type_flag = 0; ;
7709 break;}
7710 case 826:
7711 #line 3593 "parse.y"
7712 { yyval.ftype.t = build_tree_list (NULL_TREE, yyvsp[0].ftype.t);
7713 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
7714 break;}
7715 case 827:
7716 #line 3596 "parse.y"
7717 { yyval.ftype.t = build_tree_list (yyvsp[0].ttype, yyvsp[-1].ftype.t);
7718 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
7719 break;}
7720 case 830:
7721 #line 3607 "parse.y"
7722 { see_typename (); ;
7723 break;}
7724 case 831:
7725 #line 3612 "parse.y"
7726 {
7727 error ("type specifier omitted for parameter");
7728 yyval.ttype = build_tree_list (integer_type_node, NULL_TREE);
7729 ;
7730 break;}
7731 case 832:
7732 #line 3617 "parse.y"
7733 {
7734 error ("type specifier omitted for parameter");
7735 if (TREE_CODE (yyval.ttype) == SCOPE_REF
7736 && (TREE_CODE (TREE_OPERAND (yyval.ttype, 0)) == TEMPLATE_TYPE_PARM
7737 || TREE_CODE (TREE_OPERAND (yyval.ttype, 0)) == TEMPLATE_TEMPLATE_PARM))
7738 cp_error (" perhaps you want `typename %E' to make it a type", yyval.ttype);
7739 yyval.ttype = build_tree_list (integer_type_node, yyval.ttype);
7740 ;
7741 break;}
7742 case 833:
7743 #line 3629 "parse.y"
7744 { yyval.ttype = NULL_TREE; ;
7745 break;}
7746 case 834:
7747 #line 3631 "parse.y"
7748 { yyval.ttype = yyvsp[-1].ttype; ;
7749 break;}
7750 case 835:
7751 #line 3633 "parse.y"
7752 { yyval.ttype = build_decl_list (NULL_TREE, NULL_TREE); ;
7753 break;}
7754 case 836:
7755 #line 3638 "parse.y"
7756 { yyval.ttype = build_decl_list (NULL_TREE, groktypename(yyvsp[0].ftype.t)); ;
7757 break;}
7758 case 838:
7759 #line 3644 "parse.y"
7760 {
7761 TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype;
7762 yyval.ttype = yyvsp[0].ttype;
7763 ;
7764 break;}
7765 case 839:
7766 #line 3652 "parse.y"
7767 { yyval.ttype = NULL_TREE; ;
7768 break;}
7769 case 840:
7770 #line 3654 "parse.y"
7771 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
7772 break;}
7773 case 841:
7774 #line 3656 "parse.y"
7775 { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
7776 break;}
7777 case 842:
7778 #line 3658 "parse.y"
7779 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
7780 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
7781 ;
7782 break;}
7783 case 843:
7784 #line 3665 "parse.y"
7785 { got_scope = NULL_TREE; ;
7786 break;}
7787 case 844:
7788 #line 3670 "parse.y"
7789 { yyval.ttype = ansi_opname[MULT_EXPR]; ;
7790 break;}
7791 case 845:
7792 #line 3672 "parse.y"
7793 { yyval.ttype = ansi_opname[TRUNC_DIV_EXPR]; ;
7794 break;}
7795 case 846:
7796 #line 3674 "parse.y"
7797 { yyval.ttype = ansi_opname[TRUNC_MOD_EXPR]; ;
7798 break;}
7799 case 847:
7800 #line 3676 "parse.y"
7801 { yyval.ttype = ansi_opname[PLUS_EXPR]; ;
7802 break;}
7803 case 848:
7804 #line 3678 "parse.y"
7805 { yyval.ttype = ansi_opname[MINUS_EXPR]; ;
7806 break;}
7807 case 849:
7808 #line 3680 "parse.y"
7809 { yyval.ttype = ansi_opname[BIT_AND_EXPR]; ;
7810 break;}
7811 case 850:
7812 #line 3682 "parse.y"
7813 { yyval.ttype = ansi_opname[BIT_IOR_EXPR]; ;
7814 break;}
7815 case 851:
7816 #line 3684 "parse.y"
7817 { yyval.ttype = ansi_opname[BIT_XOR_EXPR]; ;
7818 break;}
7819 case 852:
7820 #line 3686 "parse.y"
7821 { yyval.ttype = ansi_opname[BIT_NOT_EXPR]; ;
7822 break;}
7823 case 853:
7824 #line 3688 "parse.y"
7825 { yyval.ttype = ansi_opname[COMPOUND_EXPR]; ;
7826 break;}
7827 case 854:
7828 #line 3690 "parse.y"
7829 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7830 break;}
7831 case 855:
7832 #line 3692 "parse.y"
7833 { yyval.ttype = ansi_opname[LT_EXPR]; ;
7834 break;}
7835 case 856:
7836 #line 3694 "parse.y"
7837 { yyval.ttype = ansi_opname[GT_EXPR]; ;
7838 break;}
7839 case 857:
7840 #line 3696 "parse.y"
7841 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7842 break;}
7843 case 858:
7844 #line 3698 "parse.y"
7845 { yyval.ttype = ansi_assopname[yyvsp[0].code]; ;
7846 break;}
7847 case 859:
7848 #line 3700 "parse.y"
7849 { yyval.ttype = ansi_opname [MODIFY_EXPR]; ;
7850 break;}
7851 case 860:
7852 #line 3702 "parse.y"
7853 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7854 break;}
7855 case 861:
7856 #line 3704 "parse.y"
7857 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7858 break;}
7859 case 862:
7860 #line 3706 "parse.y"
7861 { yyval.ttype = ansi_opname[POSTINCREMENT_EXPR]; ;
7862 break;}
7863 case 863:
7864 #line 3708 "parse.y"
7865 { yyval.ttype = ansi_opname[PREDECREMENT_EXPR]; ;
7866 break;}
7867 case 864:
7868 #line 3710 "parse.y"
7869 { yyval.ttype = ansi_opname[TRUTH_ANDIF_EXPR]; ;
7870 break;}
7871 case 865:
7872 #line 3712 "parse.y"
7873 { yyval.ttype = ansi_opname[TRUTH_ORIF_EXPR]; ;
7874 break;}
7875 case 866:
7876 #line 3714 "parse.y"
7877 { yyval.ttype = ansi_opname[TRUTH_NOT_EXPR]; ;
7878 break;}
7879 case 867:
7880 #line 3716 "parse.y"
7881 { yyval.ttype = ansi_opname[COND_EXPR]; ;
7882 break;}
7883 case 868:
7884 #line 3718 "parse.y"
7885 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7886 break;}
7887 case 869:
7888 #line 3720 "parse.y"
7889 { yyval.ttype = ansi_opname[COMPONENT_REF]; ;
7890 break;}
7891 case 870:
7892 #line 3722 "parse.y"
7893 { yyval.ttype = ansi_opname[MEMBER_REF]; ;
7894 break;}
7895 case 871:
7896 #line 3724 "parse.y"
7897 { yyval.ttype = ansi_opname[CALL_EXPR]; ;
7898 break;}
7899 case 872:
7900 #line 3726 "parse.y"
7901 { yyval.ttype = ansi_opname[ARRAY_REF]; ;
7902 break;}
7903 case 873:
7904 #line 3728 "parse.y"
7905 { yyval.ttype = ansi_opname[NEW_EXPR]; ;
7906 break;}
7907 case 874:
7908 #line 3730 "parse.y"
7909 { yyval.ttype = ansi_opname[DELETE_EXPR]; ;
7910 break;}
7911 case 875:
7912 #line 3732 "parse.y"
7913 { yyval.ttype = ansi_opname[VEC_NEW_EXPR]; ;
7914 break;}
7915 case 876:
7916 #line 3734 "parse.y"
7917 { yyval.ttype = ansi_opname[VEC_DELETE_EXPR]; ;
7918 break;}
7919 case 877:
7920 #line 3737 "parse.y"
7921 { yyval.ttype = grokoptypename (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7922 break;}
7923 case 878:
7924 #line 3739 "parse.y"
7925 { yyval.ttype = ansi_opname[ERROR_MARK]; ;
7926 break;}
7927 }
7928 /* the action file gets copied in in place of this dollarsign */
7929 #line 498 "/usr/cygnus/gnupro-98r1/share/bison.simple"
7930 \f
7931 yyvsp -= yylen;
7932 yyssp -= yylen;
7933 #ifdef YYLSP_NEEDED
7934 yylsp -= yylen;
7935 #endif
7936
7937 #if YYDEBUG != 0
7938 if (yydebug)
7939 {
7940 short *ssp1 = yyss - 1;
7941 fprintf (stderr, "state stack now");
7942 while (ssp1 != yyssp)
7943 fprintf (stderr, " %d", *++ssp1);
7944 fprintf (stderr, "\n");
7945 }
7946 #endif
7947
7948 *++yyvsp = yyval;
7949
7950 #ifdef YYLSP_NEEDED
7951 yylsp++;
7952 if (yylen == 0)
7953 {
7954 yylsp->first_line = yylloc.first_line;
7955 yylsp->first_column = yylloc.first_column;
7956 yylsp->last_line = (yylsp-1)->last_line;
7957 yylsp->last_column = (yylsp-1)->last_column;
7958 yylsp->text = 0;
7959 }
7960 else
7961 {
7962 yylsp->last_line = (yylsp+yylen-1)->last_line;
7963 yylsp->last_column = (yylsp+yylen-1)->last_column;
7964 }
7965 #endif
7966
7967 /* Now "shift" the result of the reduction.
7968 Determine what state that goes to,
7969 based on the state we popped back to
7970 and the rule number reduced by. */
7971
7972 yyn = yyr1[yyn];
7973
7974 yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
7975 if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
7976 yystate = yytable[yystate];
7977 else
7978 yystate = yydefgoto[yyn - YYNTBASE];
7979
7980 goto yynewstate;
7981
7982 yyerrlab: /* here on detecting error */
7983
7984 if (! yyerrstatus)
7985 /* If not already recovering from an error, report this error. */
7986 {
7987 ++yynerrs;
7988
7989 #ifdef YYERROR_VERBOSE
7990 yyn = yypact[yystate];
7991
7992 if (yyn > YYFLAG && yyn < YYLAST)
7993 {
7994 int size = 0;
7995 char *msg;
7996 int x, count;
7997
7998 count = 0;
7999 /* Start X at -yyn if nec to avoid negative indexes in yycheck. */
8000 for (x = (yyn < 0 ? -yyn : 0);
8001 x < (sizeof(yytname) / sizeof(char *)); x++)
8002 if (yycheck[x + yyn] == x)
8003 size += strlen(yytname[x]) + 15, count++;
8004 msg = (char *) malloc(size + 15);
8005 if (msg != 0)
8006 {
8007 strcpy(msg, "parse error");
8008
8009 if (count < 5)
8010 {
8011 count = 0;
8012 for (x = (yyn < 0 ? -yyn : 0);
8013 x < (sizeof(yytname) / sizeof(char *)); x++)
8014 if (yycheck[x + yyn] == x)
8015 {
8016 strcat(msg, count == 0 ? ", expecting `" : " or `");
8017 strcat(msg, yytname[x]);
8018 strcat(msg, "'");
8019 count++;
8020 }
8021 }
8022 yyerror(msg);
8023 free(msg);
8024 }
8025 else
8026 yyerror ("parse error; also virtual memory exceeded");
8027 }
8028 else
8029 #endif /* YYERROR_VERBOSE */
8030 yyerror("parse error");
8031 }
8032
8033 goto yyerrlab1;
8034 yyerrlab1: /* here on error raised explicitly by an action */
8035
8036 if (yyerrstatus == 3)
8037 {
8038 /* if just tried and failed to reuse lookahead token after an error, discard it. */
8039
8040 /* return failure if at end of input */
8041 if (yychar == YYEOF)
8042 YYABORT;
8043
8044 #if YYDEBUG != 0
8045 if (yydebug)
8046 fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
8047 #endif
8048
8049 yychar = YYEMPTY;
8050 }
8051
8052 /* Else will try to reuse lookahead token
8053 after shifting the error token. */
8054
8055 yyerrstatus = 3; /* Each real token shifted decrements this */
8056
8057 goto yyerrhandle;
8058
8059 yyerrdefault: /* current state does not do anything special for the error token. */
8060
8061 #if 0
8062 /* This is wrong; only states that explicitly want error tokens
8063 should shift them. */
8064 yyn = yydefact[yystate]; /* If its default is to accept any token, ok. Otherwise pop it.*/
8065 if (yyn) goto yydefault;
8066 #endif
8067
8068 yyerrpop: /* pop the current state because it cannot handle the error token */
8069
8070 if (yyssp == yyss) YYABORT;
8071 yyvsp--;
8072 yystate = *--yyssp;
8073 #ifdef YYLSP_NEEDED
8074 yylsp--;
8075 #endif
8076
8077 #if YYDEBUG != 0
8078 if (yydebug)
8079 {
8080 short *ssp1 = yyss - 1;
8081 fprintf (stderr, "Error: state stack now");
8082 while (ssp1 != yyssp)
8083 fprintf (stderr, " %d", *++ssp1);
8084 fprintf (stderr, "\n");
8085 }
8086 #endif
8087
8088 yyerrhandle:
8089
8090 yyn = yypact[yystate];
8091 if (yyn == YYFLAG)
8092 goto yyerrdefault;
8093
8094 yyn += YYTERROR;
8095 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
8096 goto yyerrdefault;
8097
8098 yyn = yytable[yyn];
8099 if (yyn < 0)
8100 {
8101 if (yyn == YYFLAG)
8102 goto yyerrpop;
8103 yyn = -yyn;
8104 goto yyreduce;
8105 }
8106 else if (yyn == 0)
8107 goto yyerrpop;
8108
8109 if (yyn == YYFINAL)
8110 YYACCEPT;
8111
8112 #if YYDEBUG != 0
8113 if (yydebug)
8114 fprintf(stderr, "Shifting error token, ");
8115 #endif
8116
8117 *++yyvsp = yylval;
8118 #ifdef YYLSP_NEEDED
8119 *++yylsp = yylloc;
8120 #endif
8121
8122 yystate = yyn;
8123 goto yynewstate;
8124 }
8125 #line 3742 "parse.y"
8126
8127
8128 #ifdef SPEW_DEBUG
8129 const char *
8130 debug_yytranslate (value)
8131 int value;
8132 {
8133 return yytname[YYTRANSLATE (value)];
8134 }
8135
8136 #endif