cp-tree.h (flag_access_control): Declare.
[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 1629
219 #define YYFLAG -32768
220 #define YYNTBASE 112
221
222 #define YYTRANSLATE(x) ((unsigned)(x) <= 342 ? yytranslate[x] : 399)
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, 1742, 1745, 1748,
317 1750, 1753, 1756, 1759, 1762, 1765, 1768, 1771, 1773, 1776,
318 1779, 1783, 1786, 1789, 1794, 1799, 1802, 1804, 1810, 1815,
319 1817, 1818, 1820, 1824, 1825, 1827, 1831, 1833, 1835, 1837,
320 1839, 1844, 1849, 1854, 1859, 1864, 1868, 1873, 1878, 1883,
321 1888, 1892, 1894, 1898, 1900, 1904, 1907, 1909, 1917, 1918,
322 1921, 1923, 1926, 1927, 1930, 1935, 1940, 1943, 1948, 1952,
323 1956, 1959, 1962, 1966, 1968, 1970, 1973, 1975, 1977, 1980,
324 1983, 1988, 1993, 1997, 2001, 2004, 2006, 2008, 2011, 2015,
325 2019, 2022, 2025, 2029, 2031, 2035, 2039, 2042, 2045, 2049,
326 2051, 2056, 2060, 2065, 2069, 2071, 2074, 2077, 2080, 2083,
327 2086, 2088, 2091, 2096, 2101, 2104, 2106, 2108, 2110, 2112,
328 2115, 2120, 2123, 2126, 2129, 2132, 2134, 2137, 2140, 2143,
329 2146, 2150, 2152, 2155, 2159, 2164, 2167, 2170, 2173, 2176,
330 2179, 2182, 2187, 2190, 2192, 2195, 2198, 2202, 2204, 2208,
331 2211, 2215, 2218, 2221, 2225, 2227, 2231, 2236, 2240, 2243,
332 2246, 2248, 2252, 2255, 2258, 2260, 2263, 2267, 2269, 2273,
333 2275, 2282, 2287, 2292, 2296, 2302, 2306, 2310, 2314, 2317,
334 2319, 2321, 2324, 2327, 2330, 2331, 2333, 2335, 2338, 2342,
335 2344, 2347, 2348, 2352, 2353, 2354, 2360, 2362, 2363, 2366,
336 2368, 2370, 2372, 2375, 2376, 2381, 2383, 2384, 2385, 2391,
337 2392, 2393, 2401, 2402, 2403, 2404, 2405, 2418, 2419, 2420,
338 2428, 2429, 2435, 2436, 2444, 2445, 2450, 2453, 2456, 2459,
339 2463, 2470, 2479, 2490, 2503, 2508, 2512, 2515, 2518, 2520,
340 2522, 2524, 2526, 2528, 2529, 2530, 2537, 2538, 2539, 2545,
341 2547, 2550, 2551, 2552, 2558, 2560, 2562, 2566, 2570, 2573,
342 2576, 2579, 2582, 2585, 2587, 2590, 2591, 2593, 2594, 2596,
343 2598, 2599, 2601, 2603, 2607, 2612, 2614, 2618, 2619, 2621,
344 2623, 2625, 2628, 2631, 2634, 2636, 2639, 2642, 2643, 2647,
345 2649, 2651, 2653, 2656, 2659, 2662, 2667, 2670, 2673, 2676,
346 2679, 2682, 2685, 2687, 2690, 2692, 2695, 2697, 2699, 2700,
347 2701, 2703, 2704, 2709, 2712, 2714, 2716, 2720, 2721, 2725,
348 2729, 2733, 2735, 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, 2808, 2811, 2814, 2817,
351 2820, 2824, 2827, 2830, 2835, 2840, 2844
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, 313, 0, 46, 327, 313,
364 0, 46, 327, 209, 0, 46, 131, 163, 0, 46,
365 327, 163, 0, 46, 327, 131, 163, 0, 0, 46,
366 44, 130, 132, 60, 0, 57, 54, 0, 131, 57,
367 54, 0, 209, 0, 313, 0, 327, 313, 0, 327,
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, 390, 0, 390, 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 337, 0, 154, 146, 361, 0, 154, 146, 1, 0,
383 0, 318, 5, 93, 150, 381, 108, 299, 393, 0,
384 318, 5, 47, 299, 393, 0, 0, 327, 318, 5,
385 93, 151, 381, 108, 299, 393, 0, 327, 318, 5,
386 47, 299, 393, 0, 0, 318, 179, 93, 152, 381,
387 108, 299, 393, 0, 318, 179, 47, 299, 393, 0,
388 0, 327, 318, 179, 93, 153, 381, 108, 299, 393,
389 0, 327, 318, 179, 47, 299, 393, 0, 226, 223,
390 0, 229, 310, 0, 310, 0, 229, 149, 0, 149,
391 0, 5, 93, 381, 108, 299, 393, 0, 5, 47,
392 299, 393, 0, 179, 93, 381, 108, 299, 393, 0,
393 179, 47, 299, 393, 0, 229, 155, 0, 155, 0,
394 226, 223, 0, 229, 310, 0, 310, 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, 305, 93, 196, 108,
400 0, 305, 47, 0, 320, 93, 196, 108, 0, 320,
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, 310, 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, 310, 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 371, 223, 237, 246, 64, 191, 254, 0, 186, 0,
419 109, 0, 334, 332, 109, 0, 334, 332, 1, 109,
420 0, 334, 1, 109, 0, 0, 58, 194, 192, 0,
421 346, 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, 298,
427 0, 216, 298, 201, 0, 216, 200, 298, 0, 216,
428 200, 298, 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, 376, 62,
446 204, 0, 204, 64, 204, 0, 204, 63, 204, 0,
447 61, 0, 61, 204, 0, 88, 391, 163, 0, 88,
448 391, 177, 0, 207, 0, 398, 0, 3, 0, 56,
449 0, 57, 0, 0, 6, 74, 206, 182, 181, 0,
450 398, 74, 206, 182, 181, 0, 48, 163, 74, 182,
451 181, 0, 48, 6, 74, 182, 181, 0, 48, 398,
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, 312, 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 338, 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, 316, 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, 327, 3, 0, 327, 207, 0, 327, 398, 0,
468 315, 0, 315, 93, 196, 108, 0, 315, 47, 0,
469 221, 208, 0, 221, 208, 93, 196, 108, 0, 221,
470 208, 47, 0, 221, 209, 0, 221, 315, 0, 221,
471 209, 93, 196, 108, 0, 221, 209, 47, 0, 221,
472 315, 93, 196, 108, 0, 221, 315, 47, 0, 221,
473 88, 8, 47, 0, 221, 8, 54, 88, 8, 47,
474 0, 221, 1, 0, 39, 0, 327, 39, 0, 38,
475 0, 327, 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, 304, 0, 310, 0, 47, 0, 224, 47, 0,
480 230, 330, 0, 300, 330, 0, 232, 330, 0, 230,
481 0, 300, 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, 300, 0, 7, 0, 229, 9, 0,
486 229, 7, 0, 229, 247, 0, 247, 0, 232, 0,
487 300, 232, 0, 232, 231, 0, 300, 232, 231, 0,
488 233, 0, 231, 233, 0, 261, 0, 8, 0, 306,
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, 310, 237, 240, 0, 0,
497 310, 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 337, 0, 256, 146, 361, 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, 296, 267, 109, 0, 14,
512 163, 58, 109, 0, 0, 14, 58, 263, 296, 267,
513 109, 0, 14, 58, 109, 0, 14, 163, 0, 14,
514 325, 0, 45, 320, 0, 0, 0, 276, 282, 283,
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, 318, 163, 0, 268, 327,
520 318, 163, 0, 268, 327, 163, 0, 268, 178, 0,
521 268, 318, 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, 391, 0, 62, 391, 278,
524 0, 279, 0, 278, 59, 391, 279, 0, 280, 0,
525 281, 391, 280, 0, 320, 0, 305, 0, 30, 93,
526 186, 108, 0, 30, 93, 225, 108, 0, 37, 391,
527 0, 7, 391, 0, 281, 37, 391, 0, 281, 7,
528 391, 0, 58, 0, 0, 285, 0, 283, 284, 285,
529 0, 283, 284, 0, 37, 62, 0, 286, 0, 285,
530 286, 0, 287, 60, 0, 287, 109, 0, 156, 62,
531 0, 156, 95, 0, 156, 25, 0, 156, 58, 0,
532 60, 0, 118, 286, 0, 134, 286, 0, 134, 226,
533 60, 0, 226, 288, 0, 229, 289, 0, 310, 237,
534 246, 253, 0, 149, 237, 246, 253, 0, 62, 204,
535 0, 1, 0, 229, 155, 237, 246, 253, 0, 155,
536 237, 246, 253, 0, 127, 0, 0, 290, 0, 288,
537 59, 291, 0, 0, 293, 0, 289, 59, 295, 0,
538 292, 0, 293, 0, 294, 0, 295, 0, 304, 237,
539 246, 253, 0, 4, 62, 204, 246, 0, 310, 237,
540 246, 253, 0, 149, 237, 246, 253, 0, 3, 62,
541 204, 246, 0, 62, 204, 246, 0, 304, 237, 246,
542 253, 0, 4, 62, 204, 246, 0, 310, 237, 246,
543 253, 0, 3, 62, 204, 246, 0, 62, 204, 246,
544 0, 297, 0, 296, 59, 297, 0, 163, 0, 163,
545 64, 204, 0, 371, 328, 0, 371, 0, 93, 199,
546 225, 198, 94, 186, 111, 0, 0, 299, 9, 0,
547 9, 0, 300, 9, 0, 0, 301, 186, 0, 301,
548 93, 196, 108, 0, 301, 93, 381, 108, 0, 301,
549 47, 0, 301, 93, 1, 108, 0, 80, 300, 304,
550 0, 70, 300, 304, 0, 80, 304, 0, 70, 304,
551 0, 326, 299, 304, 0, 308, 0, 317, 0, 327,
552 317, 0, 305, 0, 307, 0, 327, 307, 0, 318,
553 317, 0, 308, 303, 299, 393, 0, 308, 94, 302,
554 111, 0, 308, 94, 111, 0, 93, 304, 108, 0,
555 318, 317, 0, 317, 0, 310, 0, 247, 310, 0,
556 80, 300, 309, 0, 70, 300, 309, 0, 80, 309,
557 0, 70, 309, 0, 326, 299, 309, 0, 213, 0,
558 80, 300, 309, 0, 70, 300, 309, 0, 80, 311,
559 0, 70, 311, 0, 326, 299, 309, 0, 312, 0,
560 213, 303, 299, 393, 0, 93, 311, 108, 0, 213,
561 94, 302, 111, 0, 213, 94, 111, 0, 314, 0,
562 318, 212, 0, 318, 209, 0, 318, 208, 0, 318,
563 205, 0, 318, 208, 0, 314, 0, 327, 314, 0,
564 232, 93, 196, 108, 0, 232, 93, 210, 108, 0,
565 232, 224, 0, 4, 0, 5, 0, 177, 0, 319,
566 0, 318, 319, 0, 318, 48, 324, 54, 0, 4,
567 54, 0, 5, 54, 0, 57, 54, 0, 177, 54,
568 0, 321, 0, 327, 321, 0, 322, 163, 0, 322,
569 177, 0, 322, 324, 0, 322, 48, 324, 0, 323,
570 0, 322, 323, 0, 322, 324, 54, 0, 322, 48,
571 324, 54, 0, 4, 54, 0, 5, 54, 0, 177,
572 54, 0, 56, 54, 0, 3, 54, 0, 57, 54,
573 0, 163, 74, 182, 181, 0, 327, 317, 0, 307,
574 0, 327, 307, 0, 318, 80, 0, 327, 318, 80,
575 0, 54, 0, 80, 299, 328, 0, 80, 299, 0,
576 70, 299, 328, 0, 70, 299, 0, 326, 299, 0,
577 326, 299, 328, 0, 329, 0, 94, 186, 111, 0,
578 329, 94, 302, 111, 0, 80, 300, 330, 0, 80,
579 330, 0, 80, 300, 0, 80, 0, 70, 300, 330,
580 0, 70, 330, 0, 70, 300, 0, 70, 0, 326,
581 299, 0, 326, 299, 330, 0, 331, 0, 93, 330,
582 108, 0, 90, 0, 331, 93, 381, 108, 299, 393,
583 0, 331, 47, 299, 393, 0, 331, 94, 302, 111,
584 0, 331, 94, 111, 0, 93, 382, 108, 299, 393,
585 0, 202, 299, 393, 0, 224, 299, 393, 0, 94,
586 302, 111, 0, 94, 111, 0, 345, 0, 333, 0,
587 332, 345, 0, 332, 333, 0, 1, 60, 0, 0,
588 335, 0, 336, 0, 335, 336, 0, 33, 252, 60,
589 0, 338, 0, 1, 338, 0, 0, 58, 339, 192,
590 0, 0, 0, 15, 341, 188, 342, 343, 0, 338,
591 0, 0, 344, 346, 0, 338, 0, 346, 0, 222,
592 0, 186, 60, 0, 0, 340, 16, 347, 343, 0,
593 340, 0, 0, 0, 17, 348, 188, 349, 193, 0,
594 0, 0, 18, 350, 343, 17, 351, 187, 60, 0,
595 0, 0, 0, 0, 19, 352, 93, 374, 353, 189,
596 60, 354, 376, 108, 355, 193, 0, 0, 0, 20,
597 356, 93, 190, 108, 357, 343, 0, 0, 21, 204,
598 62, 358, 345, 0, 0, 21, 204, 12, 204, 62,
599 359, 345, 0, 0, 22, 62, 360, 345, 0, 23,
600 60, 0, 24, 60, 0, 25, 60, 0, 25, 186,
601 60, 0, 119, 375, 93, 219, 108, 60, 0, 119,
602 375, 93, 219, 62, 377, 108, 60, 0, 119, 375,
603 93, 219, 62, 377, 62, 377, 108, 60, 0, 119,
604 375, 93, 219, 62, 377, 62, 377, 62, 380, 108,
605 60, 0, 26, 80, 186, 60, 0, 26, 163, 60,
606 0, 373, 345, 0, 373, 109, 0, 60, 0, 364,
607 0, 129, 0, 128, 0, 125, 0, 0, 0, 95,
608 362, 145, 338, 363, 367, 0, 0, 0, 95, 365,
609 338, 366, 367, 0, 368, 0, 367, 368, 0, 0,
610 0, 96, 369, 372, 370, 338, 0, 230, 0, 300,
611 0, 93, 12, 108, 0, 93, 390, 108, 0, 3,
612 62, 0, 56, 62, 0, 4, 62, 0, 5, 62,
613 0, 376, 60, 0, 222, 0, 58, 192, 0, 0,
614 9, 0, 0, 186, 0, 1, 0, 0, 378, 0,
615 379, 0, 378, 59, 379, 0, 11, 93, 186, 108,
616 0, 11, 0, 380, 59, 11, 0, 0, 382, 0,
617 225, 0, 386, 0, 387, 12, 0, 386, 12, 0,
618 225, 12, 0, 12, 0, 386, 62, 0, 225, 62,
619 0, 0, 64, 384, 385, 0, 101, 0, 254, 0,
620 388, 0, 390, 383, 0, 387, 389, 0, 387, 392,
621 0, 387, 392, 64, 254, 0, 386, 59, 0, 225,
622 59, 0, 227, 223, 0, 230, 223, 0, 232, 223,
623 0, 227, 330, 0, 227, 0, 229, 310, 0, 390,
624 0, 390, 383, 0, 388, 0, 225, 0, 0, 0,
625 310, 0, 0, 61, 93, 395, 108, 0, 61, 47,
626 0, 225, 0, 394, 0, 395, 59, 394, 0, 0,
627 80, 299, 396, 0, 70, 299, 396, 0, 326, 299,
628 396, 0, 41, 0, 397, 80, 0, 397, 81, 0,
629 397, 82, 0, 397, 78, 0, 397, 79, 0, 397,
630 70, 0, 397, 68, 0, 397, 69, 0, 397, 88,
631 0, 397, 59, 0, 397, 73, 0, 397, 74, 0,
632 397, 75, 0, 397, 72, 0, 397, 63, 0, 397,
633 64, 0, 397, 76, 0, 397, 77, 0, 397, 86,
634 0, 397, 87, 0, 397, 67, 0, 397, 66, 0,
635 397, 110, 0, 397, 65, 62, 0, 397, 71, 0,
636 397, 91, 0, 397, 83, 0, 397, 47, 0, 397,
637 94, 111, 0, 397, 39, 0, 397, 38, 0, 397,
638 39, 94, 111, 0, 397, 38, 94, 111, 0, 397,
639 371, 396, 0, 397, 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, 647, 651, 654, 656, 660, 662, 664, 668,
656 670, 672, 676, 678, 680, 686, 690, 693, 696, 699,
657 704, 707, 709, 711, 717, 729, 732, 737, 742, 745,
658 750, 755, 764, 767, 769, 773, 786, 806, 809, 811,
659 812, 815, 822, 828, 830, 832, 834, 836, 839, 844,
660 846, 847, 848, 849, 852, 854, 855, 858, 860, 861,
661 864, 869, 869, 873, 873, 876, 876, 879, 879, 883,
662 883, 888, 888, 891, 891, 894, 896, 899, 906, 910,
663 913, 916, 918, 922, 928, 937, 939, 947, 950, 953,
664 956, 960, 963, 965, 968, 971, 973, 975, 977, 981,
665 984, 987, 992, 996, 1001, 1005, 1008, 1009, 1013, 1032,
666 1039, 1042, 1044, 1045, 1046, 1049, 1053, 1054, 1058, 1062,
667 1065, 1067, 1071, 1074, 1077, 1081, 1084, 1086, 1088, 1090,
668 1093, 1097, 1099, 1102, 1104, 1110, 1113, 1116, 1119, 1131,
669 1136, 1140, 1144, 1149, 1151, 1155, 1159, 1161, 1170, 1174,
670 1177, 1180, 1185, 1188, 1190, 1198, 1211, 1216, 1222, 1224,
671 1226, 1239, 1242, 1244, 1246, 1248, 1250, 1252, 1254, 1256,
672 1258, 1260, 1262, 1264, 1266, 1268, 1270, 1272, 1274, 1276,
673 1278, 1280, 1282, 1286, 1288, 1290, 1307, 1310, 1312, 1313,
674 1314, 1315, 1316, 1319, 1331, 1334, 1338, 1341, 1343, 1348,
675 1350, 1351, 1354, 1356, 1364, 1366, 1368, 1370, 1374, 1377,
676 1381, 1385, 1386, 1387, 1391, 1399, 1400, 1401, 1415, 1417,
677 1420, 1422, 1433, 1438, 1440, 1442, 1444, 1446, 1448, 1450,
678 1453, 1455, 1472, 1473, 1477, 1481, 1485, 1489, 1491, 1495,
679 1497, 1499, 1507, 1509, 1511, 1513, 1517, 1519, 1521, 1523,
680 1528, 1530, 1532, 1534, 1537, 1539, 1541, 1585, 1588, 1592,
681 1595, 1599, 1602, 1607, 1609, 1613, 1626, 1629, 1636, 1643,
682 1648, 1650, 1655, 1657, 1664, 1666, 1670, 1674, 1680, 1684,
683 1687, 1690, 1693, 1703, 1705, 1708, 1712, 1715, 1718, 1721,
684 1724, 1730, 1736, 1738, 1743, 1745, 1754, 1757, 1759, 1762,
685 1768, 1770, 1780, 1784, 1787, 1790, 1795, 1798, 1806, 1808,
686 1810, 1812, 1815, 1818, 1833, 1852, 1855, 1857, 1860, 1862,
687 1866, 1868, 1872, 1874, 1878, 1881, 1885, 1891, 1892, 1904,
688 1911, 1914, 1920, 1924, 1929, 1935, 1936, 1944, 1947, 1951,
689 1954, 1958, 1963, 1966, 1970, 1973, 1975, 1977, 1979, 1986,
690 1988, 1989, 1990, 1994, 1997, 2001, 2004, 2010, 2012, 2015,
691 2018, 2021, 2027, 2030, 2033, 2035, 2037, 2041, 2047, 2055,
692 2062, 2066, 2068, 2073, 2076, 2079, 2081, 2083, 2087, 2092,
693 2099, 2103, 2107, 2114, 2118, 2121, 2124, 2130, 2142, 2144,
694 2147, 2167, 2169, 2172, 2174, 2179, 2181, 2183, 2185, 2187,
695 2189, 2193, 2201, 2204, 2206, 2210, 2216, 2221, 2226, 2228,
696 2232, 2235, 2239, 2245, 2248, 2270, 2276, 2278, 2281, 2284,
697 2286, 2290, 2292, 2296, 2301, 2307, 2310, 2311, 2332, 2355,
698 2357, 2361, 2372, 2386, 2391, 2392, 2393, 2394, 2397, 2412,
699 2417, 2423, 2425, 2430, 2432, 2434, 2436, 2438, 2440, 2443,
700 2453, 2460, 2485, 2491, 2494, 2497, 2499, 2510, 2515, 2518,
701 2523, 2526, 2533, 2543, 2546, 2553, 2563, 2565, 2568, 2570,
702 2573, 2580, 2588, 2595, 2601, 2607, 2615, 2619, 2624, 2628,
703 2631, 2640, 2642, 2646, 2649, 2654, 2658, 2664, 2675, 2678,
704 2682, 2686, 2694, 2699, 2705, 2708, 2710, 2712, 2718, 2721,
705 2723, 2725, 2727, 2731, 2734, 2752, 2762, 2764, 2765, 2769,
706 2774, 2777, 2779, 2781, 2783, 2787, 2793, 2795, 2803, 2806,
707 2808, 2810, 2812, 2816, 2819, 2822, 2824, 2826, 2828, 2832,
708 2835, 2838, 2840, 2842, 2844, 2846, 2853, 2857, 2862, 2866,
709 2871, 2873, 2877, 2880, 2882, 2885, 2887, 2888, 2891, 2893,
710 2895, 2901, 2916, 2922, 2928, 2942, 2944, 2948, 2962, 2964,
711 2966, 2970, 2976, 2989, 2991, 2995, 3008, 3014, 3016, 3017,
712 3018, 3026, 3031, 3040, 3041, 3045, 3048, 3054, 3060, 3063,
713 3065, 3067, 3069, 3073, 3077, 3081, 3084, 3089, 3092, 3094,
714 3096, 3098, 3100, 3102, 3104, 3106, 3110, 3114, 3118, 3122,
715 3123, 3125, 3127, 3129, 3131, 3133, 3135, 3137, 3139, 3147,
716 3149, 3150, 3151, 3154, 3160, 3162, 3167, 3169, 3172, 3186,
717 3189, 3192, 3196, 3199, 3206, 3208, 3211, 3213, 3215, 3218,
718 3221, 3224, 3227, 3229, 3232, 3236, 3238, 3244, 3246, 3247,
719 3249, 3254, 3256, 3258, 3260, 3262, 3265, 3266, 3268, 3271,
720 3272, 3275, 3275, 3278, 3278, 3281, 3281, 3283, 3285, 3287,
721 3289, 3295, 3301, 3304, 3307, 3313, 3315, 3317, 3321, 3323,
722 3324, 3325, 3327, 3330, 3337, 3342, 3348, 3352, 3354, 3357,
723 3359, 3362, 3366, 3368, 3371, 3373, 3376, 3393, 3399, 3407,
724 3409, 3411, 3415, 3418, 3419, 3427, 3431, 3435, 3438, 3439,
725 3445, 3448, 3451, 3453, 3457, 3462, 3465, 3475, 3480, 3481,
726 3488, 3491, 3494, 3496, 3499, 3501, 3511, 3525, 3529, 3532,
727 3534, 3538, 3542, 3545, 3548, 3550, 3554, 3556, 3563, 3570,
728 3573, 3576, 3580, 3584, 3590, 3594, 3599, 3601, 3604, 3609,
729 3615, 3626, 3629, 3631, 3635, 3640, 3642, 3649, 3652, 3654,
730 3656, 3662, 3667, 3670, 3672, 3674, 3676, 3678, 3680, 3682,
731 3684, 3686, 3688, 3690, 3692, 3694, 3696, 3698, 3700, 3702,
732 3704, 3706, 3708, 3710, 3712, 3714, 3716, 3718, 3720, 3722,
733 3724, 3726, 3728, 3730, 3732, 3735, 3737
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","opt.component_decl_list","access_specifier",
785 "component_decl_list","component_decl","component_decl_1","components","notype_components",
786 "component_declarator0","component_declarator","after_type_component_declarator0",
787 "notype_component_declarator0","after_type_component_declarator","notype_component_declarator",
788 "enumlist","enumerator","new_type_id","cv_qualifiers","nonempty_cv_qualifiers",
789 "suspend_mom","nonmomentary_expr","maybe_parmlist","after_type_declarator","nonnested_type",
790 "complete_type_name","nested_type","direct_after_type_declarator","notype_declarator_intern",
791 "notype_declarator","complex_notype_declarator","complex_direct_notype_declarator",
792 "qualified_id","notype_qualified_id","overqualified_id","functional_cast","type_name",
793 "nested_name_specifier","nested_name_specifier_1","typename_sub","typename_sub0",
794 "typename_sub1","typename_sub2","explicit_template_type","complex_type_name",
795 "ptr_to_mem","global_scope","new_declarator","direct_new_declarator","absdcl",
796 "direct_abstract_declarator","stmts","errstmt","maybe_label_decls","label_decls",
797 "label_decl","compstmt_or_error","compstmt","@32","simple_if","@33","@34","implicitly_scoped_stmt",
798 "@35","stmt","simple_stmt","@36","@37","@38","@39","@40","@41","@42","@43","@44",
799 "@45","@46","@47","@48","@49","function_try_block","@50","@51","try_block","@52",
800 "@53","handler_seq","handler","@54","@55","type_specifier_seq","handler_args",
801 "label_colon","for.init.statement","maybe_cv_qualifier","xexpr","asm_operands",
802 "nonnull_asm_operands","asm_operand","asm_clobbers","parmlist","complex_parmlist",
803 "defarg","@56","defarg1","parms","parms_comma","named_parm","full_parm","parm",
804 "see_typename","bad_parm","exception_specification_opt","ansi_raise_identifier",
805 "ansi_raise_identifiers","conversion_declarator","operator","operator_name", NULL
806 };
807 #endif
808
809 static const short yyr1[] = { 0,
810 112, 112, 114, 113, 113, 115, 115, 116, 117, 118,
811 119, 121, 120, 122, 122, 122, 122, 122, 122, 122,
812 123, 122, 124, 122, 122, 122, 122, 122, 126, 125,
813 127, 127, 127, 128, 128, 128, 130, 129, 131, 131,
814 132, 132, 132, 132, 133, 133, 135, 134, 134, 136,
815 136, 137, 137, 138, 138, 139, 140, 140, 140, 140,
816 140, 140, 141, 141, 142, 142, 142, 142, 142, 142,
817 143, 143, 143, 143, 144, 144, 144, 144, 144, 144,
818 144, 144, 144, 145, 145, 146, 146, 146, 147, 147,
819 148, 148, 148, 150, 149, 149, 151, 149, 149, 152,
820 149, 149, 153, 149, 149, 154, 154, 154, 154, 154,
821 155, 155, 155, 155, 156, 156, 156, 156, 156, 156,
822 156, 157, 158, 158, 158, 159, 160, 161, 161, 161,
823 161, 162, 162, 162, 162, 162, 162, 162, 162, 163,
824 163, 163, 163, 163, 164, 164, 164, 165, 165, 165,
825 167, 166, 168, 166, 169, 166, 170, 166, 171, 166,
826 172, 166, 173, 166, 174, 166, 175, 176, 177, 177,
827 177, 178, 178, 179, 180, 181, 181, 182, 182, 183,
828 183, 184, 184, 184, 185, 185, 185, 185, 185, 186,
829 186, 187, 187, 188, 188, 189, 189, 189, 191, 190,
830 190, 192, 192, 192, 192, 194, 193, 193, 195, 195,
831 195, 195, 196, 196, 197, 197, 197, 197, 197, 197,
832 197, 197, 197, 197, 197, 197, 197, 197, 197, 197,
833 197, 197, 197, 197, 197, 197, 197, 197, 198, 199,
834 200, 200, 201, 201, 201, 201, 202, 202, 203, 203,
835 203, 204, 204, 204, 204, 204, 204, 204, 204, 204,
836 204, 204, 204, 204, 204, 204, 204, 204, 204, 204,
837 204, 204, 204, 204, 204, 204, 205, 205, 205, 205,
838 205, 205, 205, 206, 207, 207, 208, 208, 208, 209,
839 209, 209, 210, 210, 211, 211, 211, 211, 212, 212,
840 213, 213, 213, 213, 214, 214, 214, 214, 214, 214,
841 214, 215, 214, 214, 214, 214, 214, 214, 214, 214,
842 214, 214, 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, 216, 216, 217,
845 217, 218, 218, 219, 219, 220, 221, 221, 222, 222,
846 222, 222, 222, 222, 223, 223, 224, 224, 225, 225,
847 225, 225, 225, 226, 226, 227, 227, 227, 227, 227,
848 227, 228, 228, 228, 228, 228, 229, 229, 229, 229,
849 229, 229, 230, 230, 230, 230, 231, 231, 232, 232,
850 232, 232, 232, 232, 232, 233, 233, 233, 234, 234,
851 235, 235, 236, 236, 237, 237, 239, 238, 238, 241,
852 240, 240, 242, 243, 245, 244, 244, 246, 246, 247,
853 247, 248, 249, 249, 250, 250, 250, 250, 250, 251,
854 251, 251, 251, 252, 252, 253, 253, 254, 254, 254,
855 254, 254, 255, 255, 255, 255, 255, 256, 257, 257,
856 257, 258, 258, 259, 259, 260, 260, 260, 262, 261,
857 261, 263, 261, 261, 261, 261, 261, 264, 265, 261,
858 261, 266, 266, 267, 267, 268, 268, 268, 268, 268,
859 268, 269, 270, 270, 270, 271, 271, 271, 271, 271,
860 272, 273, 272, 274, 272, 275, 276, 276, 277, 277,
861 277, 278, 278, 279, 279, 280, 280, 280, 280, 281,
862 281, 281, 281, 282, 283, 283, 283, 283, 284, 285,
863 285, 286, 286, 286, 286, 286, 286, 286, 286, 286,
864 286, 287, 287, 287, 287, 287, 287, 287, 287, 287,
865 288, 288, 288, 289, 289, 289, 290, 290, 291, 291,
866 292, 292, 293, 293, 293, 293, 294, 294, 295, 295,
867 295, 296, 296, 297, 297, 298, 298, 298, 299, 299,
868 300, 300, 301, 302, 303, 303, 303, 303, 304, 304,
869 304, 304, 304, 304, 305, 305, 306, 306, 306, 307,
870 308, 308, 308, 308, 308, 308, 309, 309, 310, 310,
871 310, 310, 310, 310, 311, 311, 311, 311, 311, 311,
872 312, 312, 312, 312, 312, 312, 313, 313, 314, 314,
873 315, 315, 316, 316, 316, 317, 317, 317, 318, 318,
874 318, 319, 319, 319, 319, 320, 320, 321, 321, 321,
875 321, 322, 322, 322, 322, 323, 323, 323, 323, 323,
876 323, 324, 325, 325, 325, 326, 326, 327, 328, 328,
877 328, 328, 328, 328, 328, 329, 329, 330, 330, 330,
878 330, 330, 330, 330, 330, 330, 330, 330, 331, 331,
879 331, 331, 331, 331, 331, 331, 331, 331, 331, 332,
880 332, 332, 332, 333, 334, 334, 335, 335, 336, 337,
881 337, 339, 338, 341, 342, 340, 343, 344, 343, 345,
882 345, 346, 346, 347, 346, 346, 348, 349, 346, 350,
883 351, 346, 352, 353, 354, 355, 346, 356, 357, 346,
884 358, 346, 359, 346, 360, 346, 346, 346, 346, 346,
885 346, 346, 346, 346, 346, 346, 346, 346, 346, 346,
886 346, 346, 346, 362, 363, 361, 365, 366, 364, 367,
887 367, 369, 370, 368, 371, 371, 372, 372, 373, 373,
888 373, 373, 374, 374, 374, 375, 375, 376, 376, 376,
889 377, 377, 378, 378, 379, 380, 380, 381, 381, 381,
890 382, 382, 382, 382, 382, 382, 382, 384, 383, 385,
891 385, 386, 386, 386, 386, 386, 387, 387, 388, 388,
892 388, 388, 388, 388, 389, 389, 390, 390, 391, 392,
893 392, 393, 393, 393, 394, 395, 395, 396, 396, 396,
894 396, 397, 398, 398, 398, 398, 398, 398, 398, 398,
895 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
896 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
897 398, 398, 398, 398, 398, 398, 398
898 };
899
900 static const short yyr2[] = { 0,
901 0, 1, 0, 2, 2, 1, 0, 0, 0, 1,
902 1, 0, 2, 2, 1, 1, 5, 4, 5, 4,
903 0, 6, 0, 5, 1, 2, 1, 2, 0, 6,
904 2, 3, 3, 3, 3, 4, 0, 5, 2, 3,
905 1, 1, 2, 2, 1, 2, 0, 5, 3, 1,
906 3, 1, 0, 2, 2, 3, 1, 3, 1, 3,
907 1, 3, 2, 2, 2, 1, 1, 5, 4, 2,
908 2, 3, 3, 2, 2, 3, 3, 2, 2, 2,
909 2, 2, 1, 1, 1, 0, 1, 2, 0, 1,
910 4, 3, 3, 0, 8, 5, 0, 9, 6, 0,
911 8, 5, 0, 9, 6, 2, 2, 1, 2, 1,
912 6, 4, 6, 4, 2, 1, 2, 2, 1, 2,
913 1, 2, 2, 4, 2, 3, 0, 0, 1, 3,
914 2, 3, 1, 4, 2, 4, 2, 4, 2, 1,
915 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
916 0, 6, 0, 6, 0, 5, 0, 5, 0, 7,
917 0, 7, 0, 6, 0, 6, 0, 0, 5, 5,
918 1, 1, 5, 5, 0, 1, 1, 0, 1, 1,
919 3, 1, 1, 1, 1, 1, 1, 1, 1, 1,
920 1, 1, 3, 1, 3, 0, 1, 1, 0, 7,
921 1, 1, 3, 4, 3, 0, 3, 1, 3, 3,
922 3, 3, 1, 1, 1, 2, 2, 2, 2, 2,
923 2, 2, 4, 2, 4, 2, 3, 3, 4, 5,
924 6, 6, 7, 2, 4, 5, 2, 2, 1, 0,
925 4, 4, 3, 1, 3, 2, 3, 4, 1, 2,
926 5, 1, 3, 3, 3, 3, 3, 3, 3, 3,
927 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
928 3, 5, 3, 3, 1, 2, 3, 3, 1, 1,
929 1, 1, 1, 0, 5, 5, 5, 5, 5, 1,
930 1, 1, 1, 2, 1, 2, 2, 3, 4, 4,
931 1, 1, 1, 3, 1, 1, 1, 1, 3, 3,
932 3, 0, 4, 4, 2, 4, 2, 4, 2, 2,
933 1, 4, 1, 7, 7, 7, 7, 4, 4, 2,
934 2, 2, 1, 4, 2, 2, 5, 3, 2, 2,
935 5, 3, 5, 3, 4, 6, 2, 1, 2, 1,
936 2, 1, 1, 1, 2, 0, 2, 2, 3, 3,
937 3, 2, 2, 2, 1, 1, 1, 2, 2, 2,
938 2, 1, 1, 1, 1, 2, 2, 3, 3, 3,
939 4, 1, 2, 2, 2, 1, 1, 1, 2, 2,
940 2, 1, 1, 2, 2, 3, 1, 2, 1, 1,
941 1, 4, 4, 4, 4, 1, 1, 1, 1, 3,
942 1, 3, 1, 3, 0, 4, 0, 6, 3, 0,
943 4, 1, 3, 3, 0, 4, 3, 0, 1, 1,
944 2, 6, 1, 3, 0, 1, 4, 6, 4, 1,
945 1, 1, 1, 1, 3, 0, 2, 1, 2, 3,
946 4, 1, 1, 3, 4, 3, 5, 1, 4, 3,
947 3, 0, 3, 3, 3, 0, 2, 2, 0, 7,
948 4, 0, 6, 3, 2, 2, 2, 0, 0, 9,
949 1, 0, 1, 0, 1, 1, 2, 2, 2, 2,
950 2, 2, 2, 2, 2, 3, 4, 3, 2, 3,
951 1, 0, 3, 0, 3, 2, 1, 1, 0, 2,
952 3, 1, 4, 1, 3, 1, 1, 4, 4, 2,
953 2, 3, 3, 1, 0, 1, 3, 2, 2, 1,
954 2, 2, 2, 2, 2, 2, 2, 1, 2, 2,
955 3, 2, 2, 4, 4, 2, 1, 5, 4, 1,
956 0, 1, 3, 0, 1, 3, 1, 1, 1, 1,
957 4, 4, 4, 4, 4, 3, 4, 4, 4, 4,
958 3, 1, 3, 1, 3, 2, 1, 7, 0, 2,
959 1, 2, 0, 2, 4, 4, 2, 4, 3, 3,
960 2, 2, 3, 1, 1, 2, 1, 1, 2, 2,
961 4, 4, 3, 3, 2, 1, 1, 2, 3, 3,
962 2, 2, 3, 1, 3, 3, 2, 2, 3, 1,
963 4, 3, 4, 3, 1, 2, 2, 2, 2, 2,
964 1, 2, 4, 4, 2, 1, 1, 1, 1, 2,
965 4, 2, 2, 2, 2, 1, 2, 2, 2, 2,
966 3, 1, 2, 3, 4, 2, 2, 2, 2, 2,
967 2, 4, 2, 1, 2, 2, 3, 1, 3, 2,
968 3, 2, 2, 3, 1, 3, 4, 3, 2, 2,
969 1, 3, 2, 2, 1, 2, 3, 1, 3, 1,
970 6, 4, 4, 3, 5, 3, 3, 3, 2, 1,
971 1, 2, 2, 2, 0, 1, 1, 2, 3, 1,
972 2, 0, 3, 0, 0, 5, 1, 0, 2, 1,
973 1, 1, 2, 0, 4, 1, 0, 0, 5, 0,
974 0, 7, 0, 0, 0, 0, 12, 0, 0, 7,
975 0, 5, 0, 7, 0, 4, 2, 2, 2, 3,
976 6, 8, 10, 12, 4, 3, 2, 2, 1, 1,
977 1, 1, 1, 0, 0, 6, 0, 0, 5, 1,
978 2, 0, 0, 5, 1, 1, 3, 3, 2, 2,
979 2, 2, 2, 1, 2, 0, 1, 0, 1, 1,
980 0, 1, 1, 3, 4, 1, 3, 0, 1, 1,
981 1, 2, 2, 2, 1, 2, 2, 0, 3, 1,
982 1, 1, 2, 2, 2, 4, 2, 2, 2, 2,
983 2, 2, 1, 2, 1, 2, 1, 1, 0, 0,
984 1, 0, 4, 2, 1, 1, 3, 0, 3, 3,
985 3, 1, 2, 2, 2, 2, 2, 2, 2, 2,
986 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
987 2, 2, 2, 2, 2, 3, 2, 2, 2, 2,
988 3, 2, 2, 4, 4, 3, 2
989 };
990
991 static const short yydefact[] = { 3,
992 12, 12, 5, 0, 4, 0, 281, 636, 637, 0,
993 388, 400, 581, 0, 11, 0, 0, 0, 10, 486,
994 842, 0, 0, 0, 167, 668, 282, 283, 83, 0,
995 0, 829, 0, 45, 0, 0, 13, 25, 0, 27,
996 8, 0, 16, 15, 89, 110, 86, 0, 638, 171,
997 302, 279, 303, 614, 0, 375, 0, 374, 393, 0,
998 413, 392, 430, 399, 0, 501, 502, 504, 508, 507,
999 481, 387, 597, 401, 598, 108, 301, 625, 595, 0,
1000 639, 579, 0, 0, 280, 81, 82, 178, 642, 178,
1001 643, 178, 284, 167, 140, 141, 142, 143, 144, 472,
1002 475, 0, 664, 0, 476, 0, 0, 0, 0, 141,
1003 142, 143, 144, 23, 0, 0, 0, 0, 0, 0,
1004 0, 477, 646, 0, 652, 0, 0, 0, 37, 0,
1005 0, 31, 0, 0, 47, 0, 178, 644, 0, 0,
1006 0, 612, 607, 0, 0, 0, 611, 0, 0, 0,
1007 0, 302, 0, 293, 583, 0, 0, 301, 579, 28,
1008 0, 26, 3, 46, 0, 64, 388, 0, 0, 8,
1009 67, 63, 66, 89, 0, 0, 0, 399, 90, 14,
1010 0, 428, 0, 0, 446, 87, 79, 645, 583, 0,
1011 579, 80, 0, 0, 0, 106, 0, 409, 365, 594,
1012 366, 606, 0, 579, 390, 389, 78, 109, 376, 0,
1013 411, 391, 107, 382, 406, 407, 377, 395, 397, 386,
1014 408, 0, 75, 431, 487, 488, 489, 490, 506, 149,
1015 148, 150, 492, 493, 172, 499, 491, 0, 0, 494,
1016 495, 509, 509, 524, 0, 582, 394, 0, 425, 637,
1017 0, 666, 171, 629, 630, 626, 600, 640, 0, 599,
1018 596, 0, 877, 873, 872, 870, 852, 857, 858, 0,
1019 864, 863, 849, 850, 848, 867, 856, 853, 854, 855,
1020 859, 860, 846, 847, 843, 844, 845, 869, 861, 862,
1021 851, 868, 0, 865, 775, 393, 776, 838, 284, 281,
1022 581, 306, 354, 0, 0, 0, 0, 350, 348, 321,
1023 352, 353, 0, 0, 0, 0, 0, 282, 283, 275,
1024 0, 0, 186, 185, 0, 187, 188, 0, 0, 189,
1025 0, 0, 179, 180, 0, 249, 0, 252, 184, 305,
1026 215, 0, 0, 307, 308, 0, 182, 372, 393, 373,
1027 631, 333, 323, 0, 0, 0, 0, 178, 0, 474,
1028 0, 469, 0, 665, 663, 0, 190, 191, 0, 0,
1029 0, 435, 3, 21, 29, 660, 656, 657, 659, 661,
1030 658, 140, 141, 142, 0, 143, 144, 648, 649, 653,
1031 650, 647, 0, 291, 292, 290, 628, 627, 33, 32,
1032 49, 0, 157, 0, 0, 393, 155, 0, 0, 608,
1033 610, 0, 609, 141, 142, 277, 278, 297, 0, 618,
1034 296, 0, 617, 0, 304, 282, 283, 0, 0, 0,
1035 295, 294, 622, 0, 0, 12, 0, 167, 9, 9,
1036 70, 0, 65, 0, 0, 71, 74, 0, 427, 429,
1037 122, 93, 127, 764, 0, 85, 84, 92, 125, 0,
1038 0, 123, 88, 624, 0, 0, 587, 0, 832, 0,
1039 592, 0, 591, 0, 0, 0, 0, 579, 428, 0,
1040 77, 583, 579, 605, 0, 379, 380, 0, 76, 428,
1041 384, 383, 385, 378, 398, 415, 414, 178, 496, 500,
1042 498, 0, 829, 503, 505, 547, 637, 0, 538, 0,
1043 0, 550, 0, 121, 116, 0, 171, 551, 554, 0,
1044 0, 530, 0, 119, 396, 428, 579, 94, 0, 0,
1045 0, 0, 579, 100, 580, 613, 637, 667, 171, 0,
1046 0, 866, 871, 395, 579, 579, 0, 579, 876, 178,
1047 0, 0, 0, 222, 0, 0, 224, 237, 238, 0,
1048 0, 0, 0, 0, 276, 221, 218, 217, 219, 0,
1049 0, 0, 0, 0, 305, 0, 0, 0, 216, 176,
1050 177, 299, 0, 220, 0, 0, 250, 0, 0, 0,
1051 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1052 0, 0, 0, 0, 0, 0, 0, 0, 0, 315,
1053 0, 317, 319, 320, 358, 357, 0, 0, 240, 240,
1054 0, 226, 577, 0, 234, 355, 347, 0, 0, 829,
1055 336, 339, 340, 0, 0, 367, 685, 681, 690, 0,
1056 583, 579, 579, 579, 369, 688, 0, 635, 371, 0,
1057 0, 370, 335, 0, 330, 349, 331, 351, 632, 0,
1058 332, 175, 175, 0, 165, 0, 393, 163, 574, 484,
1059 572, 471, 0, 0, 402, 0, 0, 403, 404, 405,
1060 441, 442, 443, 440, 0, 433, 436, 0, 3, 0,
1061 651, 178, 654, 0, 41, 42, 0, 53, 0, 0,
1062 57, 61, 50, 828, 823, 0, 372, 393, 53, 373,
1063 827, 59, 168, 153, 151, 168, 175, 300, 616, 615,
1064 304, 0, 619, 0, 18, 20, 89, 9, 9, 73,
1065 72, 0, 128, 356, 0, 712, 91, 710, 452, 0,
1066 448, 447, 214, 0, 213, 584, 623, 0, 805, 0,
1067 800, 393, 0, 799, 801, 830, 812, 0, 0, 621,
1068 590, 589, 0, 0, 604, 0, 423, 422, 410, 603,
1069 0, 832, 593, 381, 412, 424, 428, 0, 497, 510,
1070 579, 798, 546, 539, 551, 540, 428, 428, 536, 537,
1071 534, 535, 579, 798, 281, 636, 0, 415, 117, 542,
1072 552, 557, 558, 415, 415, 0, 0, 415, 115, 543,
1073 555, 415, 0, 428, 0, 531, 532, 533, 428, 426,
1074 832, 798, 178, 178, 641, 178, 832, 798, 579, 97,
1075 579, 103, 875, 874, 838, 838, 838, 0, 0, 0,
1076 0, 635, 0, 0, 0, 0, 393, 0, 0, 0,
1077 311, 0, 309, 310, 0, 247, 181, 281, 636, 637,
1078 282, 283, 0, 0, 453, 482, 0, 274, 273, 790,
1079 789, 0, 271, 270, 268, 269, 267, 266, 265, 262,
1080 263, 264, 260, 261, 255, 256, 257, 258, 259, 253,
1081 254, 0, 0, 0, 0, 0, 240, 228, 244, 0,
1082 0, 227, 579, 579, 0, 579, 576, 675, 0, 0,
1083 0, 0, 0, 338, 0, 342, 0, 344, 0, 684,
1084 683, 680, 679, 828, 0, 0, 699, 0, 0, 832,
1085 368, 832, 686, 579, 798, 583, 685, 681, 0, 0,
1086 579, 0, 392, 0, 0, 0, 0, 170, 174, 285,
1087 168, 161, 159, 168, 0, 485, 0, 484, 212, 211,
1088 210, 209, 435, 0, 0, 24, 0, 0, 655, 0,
1089 38, 44, 43, 55, 52, 53, 0, 48, 0, 0,
1090 685, 681, 0, 819, 579, 822, 824, 0, 820, 821,
1091 54, 492, 0, 158, 168, 168, 156, 169, 298, 17,
1092 19, 69, 89, 416, 145, 636, 637, 133, 146, 147,
1093 0, 126, 129, 0, 638, 0, 0, 0, 0, 711,
1094 705, 449, 0, 124, 588, 585, 804, 818, 807, 0,
1095 586, 803, 817, 806, 802, 831, 814, 825, 815, 808,
1096 813, 834, 0, 420, 602, 601, 419, 175, 829, 0,
1097 829, 511, 512, 514, 829, 517, 516, 832, 0, 541,
1098 446, 446, 832, 0, 0, 0, 428, 428, 0, 428,
1099 428, 0, 428, 0, 529, 478, 0, 446, 96, 0,
1100 0, 0, 0, 102, 0, 832, 798, 832, 798, 840,
1101 839, 841, 286, 322, 223, 225, 328, 329, 0, 0,
1102 0, 0, 310, 313, 0, 0, 0, 0, 248, 0,
1103 314, 316, 318, 0, 0, 0, 0, 229, 246, 0,
1104 0, 672, 670, 0, 673, 583, 235, 0, 0, 178,
1105 345, 0, 0, 0, 682, 678, 689, 579, 698, 696,
1106 697, 687, 832, 0, 694, 0, 633, 634, 0, 334,
1107 166, 168, 168, 164, 575, 573, 473, 0, 434, 432,
1108 281, 0, 22, 30, 662, 56, 51, 58, 62, 684,
1109 680, 685, 681, 0, 595, 0, 579, 686, 60, 154,
1110 152, 68, 0, 131, 0, 135, 0, 137, 0, 139,
1111 0, 765, 0, 202, 713, 0, 706, 707, 0, 450,
1112 685, 681, 0, 305, 0, 631, 826, 0, 0, 835,
1113 836, 0, 0, 417, 173, 521, 0, 520, 829, 829,
1114 829, 0, 112, 579, 545, 549, 114, 579, 428, 428,
1115 566, 446, 281, 636, 0, 553, 559, 560, 415, 415,
1116 446, 446, 0, 446, 556, 466, 544, 579, 288, 287,
1117 289, 579, 99, 0, 105, 0, 0, 0, 0, 0,
1118 0, 456, 0, 454, 251, 272, 242, 241, 239, 230,
1119 0, 243, 245, 671, 669, 676, 674, 0, 236, 0,
1120 0, 337, 341, 343, 832, 692, 579, 693, 162, 160,
1121 470, 0, 437, 439, 684, 680, 600, 686, 132, 130,
1122 0, 0, 0, 0, 444, 0, 0, 281, 636, 637,
1123 714, 727, 730, 733, 738, 0, 0, 0, 0, 0,
1124 0, 0, 0, 282, 759, 767, 0, 786, 763, 762,
1125 761, 0, 722, 0, 0, 393, 0, 701, 720, 726,
1126 700, 721, 760, 0, 708, 451, 0, 634, 816, 810,
1127 811, 809, 0, 833, 421, 0, 0, 0, 0, 523,
1128 522, 515, 832, 832, 565, 562, 564, 0, 0, 428,
1129 428, 428, 561, 563, 548, 0, 832, 832, 579, 579,
1130 0, 0, 0, 0, 455, 0, 0, 231, 232, 677,
1131 346, 287, 695, 832, 0, 134, 136, 138, 772, 766,
1132 770, 0, 709, 704, 205, 779, 781, 782, 0, 0,
1133 718, 0, 0, 0, 745, 747, 748, 749, 0, 0,
1134 0, 0, 0, 0, 0, 780, 0, 364, 787, 0,
1135 723, 362, 415, 0, 363, 0, 415, 0, 0, 0,
1136 203, 703, 702, 724, 758, 757, 310, 837, 418, 518,
1137 519, 513, 111, 113, 428, 428, 571, 446, 446, 468,
1138 0, 467, 462, 95, 101, 832, 832, 324, 325, 326,
1139 327, 457, 0, 233, 691, 438, 0, 771, 445, 194,
1140 0, 715, 728, 717, 0, 0, 0, 0, 0, 741,
1141 0, 750, 0, 756, 39, 144, 34, 144, 0, 35,
1142 768, 0, 360, 361, 0, 0, 0, 359, 204, 718,
1143 570, 568, 567, 569, 0, 0, 480, 98, 104, 578,
1144 0, 773, 201, 0, 393, 0, 718, 0, 731, 719,
1145 705, 784, 734, 0, 0, 0, 0, 746, 755, 40,
1146 36, 0, 0, 725, 465, 464, 458, 86, 89, 0,
1147 0, 0, 195, 415, 716, 206, 729, 208, 0, 785,
1148 0, 783, 739, 743, 742, 769, 791, 0, 0, 463,
1149 777, 778, 774, 428, 705, 192, 0, 0, 198, 0,
1150 197, 718, 0, 0, 0, 792, 793, 751, 461, 0,
1151 460, 0, 207, 0, 732, 735, 740, 744, 0, 791,
1152 0, 0, 459, 199, 193, 0, 0, 0, 752, 794,
1153 0, 0, 795, 0, 0, 200, 736, 796, 0, 753,
1154 0, 0, 0, 737, 797, 754, 0, 0, 0
1155 };
1156
1157 static const short yydefgoto[] = { 1627,
1158 436, 2, 437, 165, 726, 331, 181, 3, 4, 37,
1159 689, 373, 1329, 690, 512, 1330, 1331, 393, 1424, 694,
1160 41, 513, 402, 700, 974, 701, 702, 703, 43, 172,
1161 173, 44, 455, 184, 180, 45, 46, 822, 1087, 828,
1162 1089, 47, 515, 516, 185, 186, 456, 733, 1012, 1013,
1163 669, 1014, 234, 48, 996, 995, 716, 713, 1153, 1152,
1164 954, 951, 136, 994, 49, 236, 50, 948, 582, 332,
1165 333, 334, 335, 1332, 1578, 1482, 1580, 1524, 1611, 1195,
1166 1557, 1575, 367, 940, 336, 1270, 895, 621, 902, 337,
1167 338, 368, 340, 358, 52, 255, 695, 418, 154, 53,
1168 54, 341, 577, 342, 343, 344, 345, 457, 346, 1333,
1169 496, 643, 347, 1334, 56, 217, 706, 348, 218, 555,
1170 219, 197, 210, 60, 479, 497, 1356, 767, 1213, 198,
1171 211, 61, 526, 768, 62, 63, 685, 686, 687, 1306,
1172 462, 865, 866, 1548, 1549, 1517, 1462, 1376, 64, 673,
1173 361, 1246, 1463, 1108, 957, 65, 66, 67, 68, 69,
1174 242, 243, 70, 71, 504, 1052, 1053, 1054, 1055, 245,
1175 520, 815, 521, 522, 523, 800, 810, 801, 1236, 802,
1176 803, 1237, 1238, 670, 671, 622, 930, 350, 465, 466,
1177 191, 199, 73, 74, 75, 200, 142, 143, 157, 77,
1178 132, 351, 352, 353, 79, 354, 81, 1057, 123, 124,
1179 125, 531, 105, 82, 355, 907, 908, 925, 646, 1337,
1180 1338, 1196, 1197, 1198, 737, 1339, 1021, 1340, 1409, 1527,
1181 1485, 1486, 1341, 1342, 1510, 1410, 1528, 1411, 1559, 1412,
1182 1561, 1606, 1621, 1413, 1582, 1537, 1583, 1491, 458, 734,
1183 1304, 1343, 1427, 1542, 1400, 1401, 1477, 1552, 1526, 1522,
1184 1344, 1533, 1430, 872, 1585, 1586, 1587, 1619, 753, 754,
1185 1041, 1209, 1352, 755, 756, 757, 1037, 758, 148, 1039,
1186 760, 1211, 1212, 549, 84, 85
1187 };
1188
1189 static const short yypact[] = { 136,
1190 169,-32768,-32768, 5066,-32768, 203, 163, 73, 77, 190,
1191 291,-32768,-32768, 1458,-32768, 259, 264, 279,-32768,-32768,
1192 -32768, 871, 2044, 1374, 330,-32768, 336, 320,-32768, 1976,
1193 1976,-32768, 2798,-32768, 5066, 351,-32768,-32768, 355,-32768,
1194 51, 3166,-32768,-32768, 344, 824, 443, 463, 483,-32768,
1195 -32768,-32768,-32768, 324, 5213,-32768, 5421,-32768, 2205, 804,
1196 -32768, 456,-32768,-32768, 1137, 623,-32768,-32768,-32768,-32768,
1197 435, 3747,-32768,-32768,-32768, 198,-32768,-32768,-32768, 906,
1198 -32768,-32768, 1174, 8340, 481,-32768,-32768, 10037,-32768, 10037,
1199 -32768, 10037,-32768,-32768,-32768, 73, 77, 336, 510, 472,
1200 539, 483,-32768, 1000,-32768, 1174, 10123, 10123, 509,-32768,
1201 -32768,-32768,-32768,-32768, 234, 550, 474, 541, 767, 554,
1202 564,-32768,-32768, 1006,-32768, 305, 73, 77,-32768, 336,
1203 510,-32768, 2508, 1031, 545, 5547, 10037,-32768, 10037, 4171,
1204 2952,-32768,-32768, 1311, 1265, 2952,-32768, 664, 3604, 3604,
1205 2798, 517, 538,-32768, 559, 876, 562, 592,-32768,-32768,
1206 700,-32768, 630,-32768, 3999,-32768,-32768, 330, 3843, 643,
1207 -32768,-32768,-32768, 344, 6652, 6133, 836, 690,-32768,-32768,
1208 684, 456, 778, 176, 458, 728,-32768,-32768, 691, 69,
1209 -32768,-32768, 3940, 3940, 6529, 198, 864,-32768,-32768, 546,
1210 -32768,-32768, 1679,-32768,-32768,-32768,-32768,-32768, 2205, 883,
1211 -32768, 456, 198,-32768,-32768,-32768, 2251, 2205,-32768, 456,
1212 -32768, 6652,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1213 -32768,-32768, 749,-32768, 483,-32768, 456, 2169, 910,-32768,
1214 -32768, 766, 766,-32768, 4696,-32768, 715, 1174,-32768, 784,
1215 1757,-32768, 366,-32768,-32768,-32768,-32768,-32768, 4100,-32768,
1216 -32768, 769,-32768, 740, 758,-32768,-32768,-32768,-32768, 781,
1217 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1218 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1219 -32768,-32768, 755,-32768,-32768, 715, 3747, 1632,-32768,-32768,
1220 776,-32768,-32768, 10731, 10817, 10903, 10903,-32768,-32768,-32768,
1221 -32768,-32768, 780, 786, 797, 825, 832, 1025, 510, 10209,
1222 1357, 10903,-32768,-32768, 10903,-32768,-32768, 10903, 7539,-32768,
1223 10903, 65, 849,-32768, 10903,-32768, 10295,-32768, 11119, 426,
1224 1563, 3740, 10381,-32768, 919, 2567,-32768, 1700, 2285, 3286,
1225 -32768, 431,-32768, 3387, 1998, 65, 65, 10037, 5547,-32768,
1226 1357, 827, 1357,-32768,-32768, 826, 879, 11052, 837, 842,
1227 857, 1966, 630,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1228 -32768, 550, 474, 541, 1357, 767, 554, 881, 564,-32768,
1229 914,-32768, 270, 73, 77,-32768,-32768,-32768,-32768,-32768,
1230 -32768, 6834,-32768, 6652, 6645, 723,-32768, 65, 301,-32768,
1231 -32768, 811,-32768, 897, 903,-32768,-32768,-32768, 2952,-32768,
1232 -32768, 2952,-32768, 873,-32768,-32768,-32768, 876, 876, 876,
1233 -32768,-32768,-32768, 4100, 103, 875, 884,-32768,-32768,-32768,
1234 -32768, 5547,-32768, 900, 963,-32768,-32768, 700,-32768, 456,
1235 -32768,-32768,-32768,-32768, 165,-32768,-32768,-32768,-32768, 8091,
1236 10209,-32768,-32768,-32768, 10209, 877,-32768, 5311, 240, 4742,
1237 -32768, 4742,-32768, 5059, 5059, 6529, 882,-32768, 456, 6652,
1238 -32768, 891,-32768,-32768, 5849, 2251, 2205, 6652,-32768, 456,
1239 -32768,-32768, 456, 2251,-32768, 981,-32768, 10037, 749,-32768,
1240 -32768, 2169,-32768,-32768,-32768,-32768, 807, 385,-32768, 10209,
1241 1836,-32768, 1836, 219, 219, 220, 433, 3033, 4527, 108,
1242 4879,-32768, 274, 219, 715, 456,-32768,-32768, 941, 944,
1243 971, 955,-32768,-32768,-32768,-32768, 847,-32768, 439, 921,
1244 927,-32768,-32768, 715,-32768,-32768, 1100,-32768,-32768, 10037,
1245 10209, 776, 7539,-32768, 451, 7539,-32768,-32768,-32768, 10123,
1246 4970, 4970, 4970, 4970, 11097,-32768,-32768,-32768,-32768, 934,
1247 10473, 10473, 7539, 937, 437, 939, 991, 947,-32768,-32768,
1248 -32768,-32768, 10037,-32768, 7630, 7539,-32768, 10209, 10209, 5654,
1249 10209, 10209, 10209, 10209, 10209, 10209, 10209, 10209, 10209, 10209,
1250 10209, 10209, 10209, 10209, 10209, 10209, 10209, 10209, 10209,-32768,
1251 10209,-32768,-32768,-32768,-32768,-32768, 10209, 10209,-32768,-32768,
1252 339, 651, 1120, 8700,-32768,-32768,-32768, 998, 1757, 1053,
1253 469, 482, 581, 3585, 1265,-32768, 1659, 1659,-32768, 3502,
1254 960, 982, 1043,-32768,-32768, 590, 9320, 1173,-32768, 1103,
1255 1174,-32768,-32768, 10209,-32768,-32768,-32768,-32768,-32768, 90,
1256 481,-32768,-32768, 65,-32768, 6652, 1444,-32768, 1014, 1034,
1257 -32768,-32768, 1357, 881,-32768, 8432, 8523,-32768,-32768,-32768,
1258 -32768,-32768,-32768,-32768, 278,-32768, 1016, 1020, 630, 270,
1259 1062, 10037,-32768, 1073,-32768,-32768, 1031, 2198, 1102, 71,
1260 1079, 1083,-32768,-32768, 2306, 6133, 2306, 2152, 1137, 4350,
1261 -32768, 1094,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1262 1046, 1054,-32768, 1107,-32768,-32768, 344,-32768,-32768,-32768,
1263 -32768, 104, 1493, 1101, 991,-32768,-32768,-32768,-32768, 7429,
1264 11097,-32768, 879, 1064, 11052,-32768,-32768, 1067,-32768, 1089,
1265 93, 3406, 1095,-32768, 571, 5919, 1140, 1145, 649,-32768,
1266 -32768,-32768, 4742, 4742,-32768, 5849,-32768, 1157,-32768,-32768,
1267 1111, 240,-32768, 2251,-32768,-32768, 456, 1109,-32768, 2385,
1268 -32768, 7162, 11097,-32768, 5202,-32768, 456, 456,-32768,-32768,
1269 -32768,-32768,-32768, 7162, 174, 966, 10209, 981,-32768, 1166,
1270 -32768,-32768,-32768, 485, 580, 906, 1265, 587, 219, 1177,
1271 -32768, 676, 1161, 456, 8768,-32768,-32768,-32768, 456,-32768,
1272 240, 7162, 10037, 10037,-32768, 10037, 240, 7162,-32768,-32768,
1273 -32768,-32768,-32768,-32768, 1688, 1688, 1688, 65, 1136, 1143,
1274 9688, 1043, 1147, 1149, 1152, 1170, 2853, 1186, 1189, 1190,
1275 -32768, 1167,-32768,-32768, 1168,-32768,-32768, 1211, 996, 1060,
1276 557, 601, 10209, 1217,-32768, 1232, 1191, 11097, 11097,-32768,
1277 -32768, 1235, 5746, 6217, 6158, 4780, 2387, 5364, 4442, 2354,
1278 2354, 2354, 1205, 1205, 1512, 1512, 1028, 1028, 1028,-32768,
1279 -32768, 1192, 1194, 1183, 10209, 10123,-32768, 651,-32768, 8091,
1280 10209,-32768,-32768,-32768, 10209,-32768,-32768, 1204, 10903, 1199,
1281 1215, 1231, 1264,-32768, 10209,-32768, 10209,-32768, 10209, 2925,
1282 -32768, 2925,-32768, 228, 1216, 1218,-32768, 1214, 4970, 240,
1283 -32768, 240, 3053,-32768, 7162, 1219, 9504, 9504, 6451, 1220,
1284 10295, 1221, 876, 2159, 1998, 1368, 1224,-32768,-32768,-32768,
1285 -32768,-32768,-32768,-32768, 10209, 1357, 1225, 1034,-32768, 11097,
1286 -32768, 11097, 1966, 1227, 10559,-32768, 1233, 1253,-32768, 65,
1287 -32768,-32768,-32768,-32768,-32768, 1852, 6834,-32768, 4970, 10037,
1288 1202, 1202, 4282,-32768,-32768,-32768,-32768, 1679,-32768,-32768,
1289 -32768, 1188, 10209,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1290 -32768,-32768, 344,-32768, 550, 474, 541,-32768, 767, 554,
1291 10209, 1285,-32768, 672, 564, 702, 706, 1806, 991,-32768,
1292 96,-32768, 171,-32768,-32768,-32768,-32768,-32768,-32768, 9412,
1293 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 1145, 1283,-32768,
1294 -32768,-32768, 4970,-32768,-32768,-32768, 1284,-32768,-32768, 1257,
1295 -32768, 1294,-32768,-32768, 298,-32768,-32768, 240, 1249,-32768,
1296 1305, 1305, 240, 1262, 10209, 10209, 7076, 456, 4960, 456,
1297 456, 1524, 456, 6356,-32768,-32768, 8838, 1305,-32768, 1266,
1298 65, 65, 65,-32768, 1267, 240, 7162, 240, 7162,-32768,
1299 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1289, 1290,
1300 1291, 1293, 1046,-32768, 10985, 8091, 7724, 1280,-32768, 10209,
1301 -32768,-32768,-32768, 1281, 1287, 1295, 4970,-32768,-32768, 1298,
1302 569, 1012, 1012, 1296, 1012,-32768,-32768, 10903, 1384, 10037,
1303 -32768, 1309, 1313, 1319,-32768,-32768,-32768,-32768,-32768,-32768,
1304 -32768,-32768, 240, 1326,-32768, 1325,-32768,-32768, 2768,-32768,
1305 -32768,-32768,-32768,-32768, 11097,-32768,-32768, 1292,-32768,-32768,
1306 292, 1330,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 2497,
1307 2497, 2557, 2557, 4282,-32768, 1679,-32768, 3088, 11119,-32768,
1308 -32768,-32768, 1331,-32768, 1493,-32768, 10209,-32768, 10209,-32768,
1309 10209,-32768, 1357,-32768,-32768, 7026, 1413,-32768, 7815,-32768,
1310 9596, 9596, 7226, 173, 1339, 209,-32768, 8091, 7906,-32768,
1311 -32768, 311, 8091,-32768,-32768,-32768, 10123,-32768,-32768,-32768,
1312 -32768, 1848,-32768,-32768,-32768,-32768,-32768,-32768, 7076, 7076,
1313 -32768, 1305, 585, 1127, 10209,-32768,-32768,-32768, 981, 981,
1314 1305, 1305, 847, 1305,-32768,-32768,-32768,-32768,-32768, 1395,
1315 -32768,-32768,-32768, 1342,-32768, 1346, 10209, 10209, 10209, 10209,
1316 8091,-32768, 1393,-32768,-32768, 11097,-32768,-32768,-32768, 60,
1317 1295,-32768,-32768,-32768,-32768,-32768,-32768, 1348,-32768, 1421,
1318 65,-32768,-32768,-32768, 240,-32768,-32768,-32768,-32768,-32768,
1319 -32768, 10209,-32768,-32768, 2497, 2497,-32768, 3088,-32768,-32768,
1320 1352, 1362, 1363, 1380,-32768, 1036, 321, 1407, 1164, 1165,
1321 -32768,-32768,-32768,-32768,-32768, 10209, 1416, 1419, 1425, 9774,
1322 653, 1357, 496, 693,-32768,-32768, 9865, 1477,-32768,-32768,
1323 -32768, 1430,-32768, 6551, 6039, 4418, 6895,-32768,-32768, 1475,
1324 -32768,-32768,-32768, 8931,-32768,-32768, 1386, 1373,-32768,-32768,
1325 -32768,-32768, 4970,-32768,-32768, 8091, 1391, 1399, 2385,-32768,
1326 -32768,-32768, 240, 240,-32768,-32768,-32768, 10209, 10209, 7076,
1327 456, 456,-32768,-32768,-32768, 6712, 240, 240,-32768,-32768,
1328 1400, 1401, 1405, 1410,-32768, 8091, 10209,-32768, 60,-32768,
1329 -32768,-32768,-32768, 240, 1415,-32768,-32768,-32768,-32768, 1380,
1330 -32768, 1357,-32768,-32768,-32768,-32768,-32768,-32768, 711, 711,
1331 991, 1432, 1433, 6200,-32768,-32768,-32768,-32768, 1467, 10209,
1332 1472, 1428, 1480, 1927, 1987,-32768, 991,-32768,-32768, 1451,
1333 -32768,-32768, 981, 1061,-32768, 1076, 981, 9951, 1090, 322,
1334 -32768,-32768,-32768,-32768,-32768,-32768, 364,-32768,-32768,-32768,
1335 -32768,-32768,-32768,-32768, 7076, 7076,-32768, 1305, 1305,-32768,
1336 8614,-32768,-32768,-32768,-32768, 240, 240,-32768,-32768,-32768,
1337 -32768,-32768, 1434,-32768,-32768,-32768, 1459,-32768,-32768,-32768,
1338 10123,-32768,-32768,-32768, 1538, 9227, 7336, 10123, 10209,-32768,
1339 9039,-32768, 1496,-32768,-32768, 1504,-32768, 1480, 1927,-32768,
1340 -32768, 700,-32768,-32768, 10645, 10645, 8000,-32768,-32768, 991,
1341 -32768,-32768,-32768,-32768, 1452, 11007, 1463,-32768,-32768,-32768,
1342 10990,-32768,-32768, 1455, 398, 6652, 991, 9133,-32768,-32768,
1343 96,-32768,-32768, 1507, 1460, 11075, 9039,-32768,-32768,-32768,
1344 -32768, 1380, 76,-32768,-32768,-32768,-32768, 443, 344, 1462,
1345 1466, 991,-32768, 981,-32768,-32768,-32768,-32768, 714,-32768,
1346 8182,-32768,-32768,-32768,-32768, 1380, 1566, 1522, 177,-32768,
1347 -32768,-32768,-32768, 456, 96,-32768, 10209, 1523,-32768, 1529,
1348 -32768, 991, 9039, 1491, 63, 1531,-32768,-32768,-32768, 165,
1349 -32768, 1534,-32768, 1494,-32768,-32768,-32768,-32768, 10209, 1566,
1350 1539, 1566,-32768,-32768,-32768, 8273, 1500, 572,-32768,-32768,
1351 8091, 1501,-32768, 1577, 1553,-32768,-32768,-32768, 332,-32768,
1352 9133, 1603, 1559,-32768,-32768,-32768, 1621, 1622,-32768
1353 };
1354
1355 static const short yypgoto[] = {-32768,
1356 1624,-32768, -304, 1456, -364, 75, 2, 1623,-32768, 1593,
1357 -32768,-32768, 315,-32768, 373,-32768, 507,-32768, 206, 942,
1358 58, 24,-32768,-32768, -669,-32768,-32768, 657, 59, 1469,
1359 1197, 1478, -719, 111, -173, 29, 55,-32768,-32768,-32768,
1360 -32768,-32768, 1125,-32768,-32768,-32768,-32768,-32768,-32768, 466,
1361 1903,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1362 -32768,-32768, 1568, -526, 6178, 1422, -58, -599, -235, -44,
1363 1533, -547,-32768, 388,-32768, 260,-32768, -1362,-32768, -1307,
1364 52,-32768, 1442, 1361, -254, 403, -557,-32768, -868, 3479,
1365 -125, 1528, 4472, 1379, -332, -52, -76, 427, -140, -66,
1366 135,-32768,-32768,-32768, -344,-32768, -159,-32768,-32768, -1236,
1367 -16, -329, 1934, 530, -150, -166, 78, 50, -206, -4,
1368 -145, -165, -171, 32, -11, 357,-32768, -257,-32768,-32768,
1369 -32768,-32768,-32768, 734, 1247, -45,-32768, 716,-32768,-32768,
1370 -765, -399, 940,-32768,-32768,-32768,-32768,-32768, 218,-32768,
1371 -32768,-32768,-32768,-32768, 729, -377,-32768,-32768,-32768,-32768,
1372 -32768,-32768,-32768,-32768, 1447,-32768, 335, 473,-32768,-32768,
1373 -32768,-32768, 885, -479,-32768,-32768,-32768,-32768,-32768,-32768,
1374 1172,-32768, 624, 1030, 745, 1086, 2837, 14, 54, -461,
1375 1510, 2756, -686,-32768, 13,-32768, 645, 20, -142, 271,
1376 -105, 5046, 1365,-32768, 5682, 2642, 1651, -19, -113,-32768,
1377 1590, -54,-32768, 5135, 3513, -359,-32768, 1597,-32768,-32768,
1378 381,-32768,-32768, 527, 138, -429,-32768,-32768,-32768,-32768,
1379 -1369,-32768, -1238, -1389,-32768,-32768,-32768,-32768,-32768,-32768,
1380 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 156,-32768,
1381 -32768,-32768,-32768,-32768, 188, -1311,-32768,-32768, -51,-32768,
1382 -32768,-32768,-32768, -1385, 140,-32768, 144,-32768, -606, -580,
1383 710,-32768,-32768,-32768,-32768, -393,-32768, -390, -333,-32768,
1384 1007, 397,-32768, 83,-32768, -232
1385 };
1386
1387
1388 #define YYLAST 11203
1389
1390
1391 static const short yytable[] = { 59,
1392 443, 435, 487, 122, 445, 36, 420, 423, 711, 444,
1393 658, 712, 392, 256, 1019, 432, 224, 72, 532, 648,
1394 771, 253, 657, 76, 709, 738, 103, 42, 400, 1118,
1395 59, 784, 298, 786, 182, 857, 36, 59, 196, 991,
1396 525, 816, 486, 141, 146, 356, 1016, 357, 72, 554,
1397 557, 494, 209, 58, 76, 72, 398, 399, 42, 926,
1398 742, 76, 896, 949, 249, 42, 926, 247, 688, 391,
1399 174, 492, 495, 177, 201, 727, 213, 256, 35, 296,
1400 397, 57, 587, 349, 58, 349, 626, 349, 1478, 544,
1401 1428, 58, 408, 1056, 224, 260, 1530, 297, 1443, 170,
1402 171, 1534, 349, 349, 1027, 1446, 899, 190, 163, 35,
1403 224, 208, 57, 626, 626, 467, 169, 998, 364, 176,
1404 662, 663, 661, 900, 1600, 1535, 89, 308, 1193, 977,
1405 91, 406, 349, 295, 349, -1, 256, 1567, 1558, 580,
1406 1544, 581, 544, 26, 813, 978, 90, 855, 164, 72,
1407 92, 1028, 901, 1387, 1029, 407, -828, 1555, 196, 410,
1408 59, 468, 419, 422, 59, 735, 224, 155, -2, 780,
1409 1601, 209, 717, 718, 224, 1059, 452, 1589, 72, 928,
1410 558, 559, 72, 1568, 76, 58, 517, 1064, 76, 997,
1411 403, 224, 42, 440, 201, 213, 567, 174, 1581, 568,
1412 177, 490, 569, 539, 1194, 579, 470, 472, 190, 584,
1413 724, 1004, 1597, 405, 58, 1080, 814, 625, 58, -302,
1414 1612, 1085, 736, 1560, 15, 842, 170, 171, -415, 1199,
1415 208, 1558, 776, -356, -356, 1065, 88, 453, 453, 1027,
1416 59, 201, 57, 169, 789, 15, 176, 88, 535, -415,
1417 1532, 705, 1538, 190, 1478, -625, -415, -415, 72, 178,
1418 260, -415, 86, 93, 524, -302, -302, 1593, 820, 632,
1419 454, 454, 300, 394, 395, 10, 221, 790, -415, 1200,
1420 -295, 791, -415, 155, 155, 155, 1028, 696, 732, 1029,
1421 623, 374, 247, 631, 58, 1225, 1226, 375, 1565, 514,
1422 759, -625, -625, 158, 1220, 1020, 1166, 116, 117, 118,
1423 21, 87, 1247, 664, 792, 658, -625, 705, 38, 511,
1424 774, 976, 519, 26, 349, 27, 319, -415, 1144, 155,
1425 691, 420, 423, 817, 1221, 856, 963, 296, 94, 1117,
1426 492, 495, 8, 9, 1598, 247, 12, 13, 492, 38,
1427 1292, 107, 14, 349, 667, 297, 108, 32, 926, 583,
1428 119, 120, 711, 1002, 1003, 1038, 16, 260, 17, 1353,
1429 -583, 109, 72, 138, 20, 580, 39, 581, 668, 495,
1430 1404, 1404, 818, 23, 967, 964, 178, 714, 127, 128,
1431 1622, 295, 26, 139, 130, 131, 532, 708, 495, 1293,
1432 209, 1388, 926, 135, 224, 215, 216, 39, 58, 137,
1433 -304, 14, 533, 665, 162, 710, -583, 189, 1354, 158,
1434 158, 158, 648, 201, 1151, 699, 221, 1154, 950, 1405,
1435 1509, 897, 1169, 20, 221, 221, 405, 59, 26, 1623,
1436 130, 131, 23, 161, 636, 567, 568, 224, 1215, 926,
1437 179, 707, 517, 778, 517, 72, -304, -304, 534, 153,
1438 517, 76, 517, 752, 221, 158, 1367, 183, 1180, 1181,
1439 729, -298, 610, 177, 1146, 1373, 1374, 653, 1375, 793,
1440 1254, 710, 1256, 610, 777, 831, 18, 763, 764, 705,
1441 841, 58, 244, 349, 366, 370, 705, 636, 1016, 201,
1442 1119, 799, 787, 788, 459, 838, 59, 201, 59, -365,
1443 40, 15, 819, 221, 209, 914, 59, 707, 611, 176,
1444 1474, 460, 187, 654, 72, 794, 72, 377, 916, 611,
1445 524, 832, 524, 55, 72, 1056, 188, 805, 812, 129,
1446 524, 40, -365, 841, -295, 349, -365, 90, 349, 26,
1447 461, 349, 1423, 1001, 299, 349, 847, 847, 847, 847,
1448 58, 915, 58, 138, 55, 514, 221, 514, 349, 623,
1449 58, 175, 798, 808, 917, 514, 421, 424, 349, -365,
1450 360, 349, 1032, 711, 696, 511, 712, 511, 519, 1192,
1451 519, 973, -583, 926, 378, 511, 362, 816, 519, 709,
1452 658, 372, 1093, 376, -366, 705, 15, 380, 155, 155,
1453 155, -120, 657, 15, 92, 636, 296, 381, -143, 401,
1454 972, 153, 926, 221, -295, 1289, 1290, 918, 492, 1033,
1455 137, 705, 1034, 1614, 297, 708, 934, -366, -583, 482,
1456 544, -366, 752, 705, -120, 425, 1368, 970, -120, 952,
1457 920, 922, 189, 710, 138, 95, 110, 111, 88, 178,
1458 710, 841, -144, 260, 1278, 404, 95, 414, 415, 433,
1459 295, 705, 1056, 919, -366, 147, 1273, 705, 122, 1615,
1460 240, -120, 935, 936, 241, 201, 587, 349, 984, 707,
1461 989, 990, 1513, 1514, 55, 1042, 707, 899, 175, -620,
1462 -118, 209, 15, 221, 221, 247, 1262, 1264, 112, 113,
1463 303, 221, 661, 1017, 900, 1216, 574, 1218, 1186, 98,
1464 113, 1222, 215, 216, 201, 987, 201, 201, 14, 214,
1465 215, 216, 1420, -118, 1165, 990, 14, -118, -7, 256,
1466 164, 1043, 221, 901, 158, 158, 158, 253, 1188, 447,
1467 20, 708, 1190, 18, 1426, 576, 517, 1480, 20, 23,
1468 1576, 221, 1274, 1275, 1187, 1277, 137, 23, 799, 710,
1469 -118, 201, 8, 537, 518, 1036, 448, 708, 1081, 1082,
1470 451, 1083, 715, 1127, 705, 411, 1068, 463, 705, 708,
1471 413, 842, 1070, 1071, 1189, 710, 1068, 1073, 1191, 1264,
1472 1071, 464, 432, 1481, 805, 707, 1577, 710, 1349, 1351,
1473 59, 567, 568, 1355, 127, 128, 363, 708, 349, 349,
1474 379, 349, 498, 708, 130, 131, 705, 503, 72, 1182,
1475 527, 707, 705, 540, 524, 710, 769, 91, 147, 798,
1476 137, 710, 542, 707, 775, 1249, 1250, 1251, 538, 1590,
1477 15, 541, 746, 781, -415, 421, 722, 92, 363, 561,
1478 91, 1385, 222, 223, 58, 543, 130, 131, 551, 514,
1479 562, 707, 560, 95, 110, 111, 528, 707, 300, 705,
1480 92, 10, -415, -415, 221, 1359, 1360, 1361, 666, 511,
1481 538, 349, 519, 829, 222, 446, 1121, 224, 563, 782,
1482 91, 421, 424, 536, 392, 564, 18, 583, 7, 8,
1483 250, 10, 95, 96, 97, 449, 21, 1090, 1091, 1092,
1484 92, 256, 480, 481, 847, 221, 112, 113, 114, 626,
1485 708, 426, 427, 675, 752, 672, 705, 676, 705, 830,
1486 574, 488, 489, 574, 678, 428, 21, 844, 710, 679,
1487 920, 922, 710, 251, 692, 429, 1449, 260, 480, 730,
1488 574, 27, 28, 32, 680, 98, 99, 693, 430, 221,
1489 90, 175, 708, 574, 847, 349, 92, 871, 708, 576,
1490 721, 1484, 576, -6, 707, 252, 1472, 747, 707, 765,
1491 710, 221, 725, 32, 1170, 1171, 710, 1501, 421, 852,
1492 699, 770, 1279, 8, 9, 894, 842, 15, 382, 383,
1493 384, 910, 576, 539, 823, 127, 128, 824, 517, 89,
1494 535, 488, 731, 705, 825, 752, 707, 1066, 826, 420,
1495 423, 833, 707, 300, 394, 395, 10, 834, 847, 90,
1496 518, 851, 785, 710, 853, 1392, 854, 363, 736, 89,
1497 518, 911, 705, 385, 856, 130, 131, -141, 420, 423,
1498 913, 386, 387, 719, 221, 26, 720, 130, 131, 90,
1499 927, 21, 59, 942, 929, 567, 568, 955, 723, 707,
1500 1484, 903, 708, -183, 708, 1281, 27, 319, 1240, 931,
1501 72, 904, 956, 1240, 1402, 1403, 524, 1484, 137, -183,
1502 710, -183, 710, 127, 128, 905, 8, 9, 965, 256,
1503 608, 609, 847, 91, 411, 969, 413, 155, 32, 480,
1504 1503, -142, 1573, 127, 128, 349, 58, 711, 966, 536,
1505 1551, 514, 971, 92, 488, 1504, 707, 20, 707, 95,
1506 96, 97, 979, 225, 226, 227, 980, 363, 480, 1508,
1507 363, 511, 1484, -298, 519, 130, 131, 993, 130, 131,
1508 738, 999, 453, 1436, 155, 1017, 1000, 18, 1434, 708,
1509 1439, 1024, 228, 26, 1025, 130, 131, 8, 9, 252,
1510 89, -579, 252, 1048, -579, 1295, 1296, 710, 1369, 903,
1511 26, 1336, 98, 99, 229, 842, 1026, 1328, 752, 904,
1512 90, 579, 1031, -827, 7, 8, 9, 10, 1040, 72,
1513 13, 1616, 349, 905, 1295, 1296, 710, 89, 91, 931,
1514 1044, 1045, 1075, 707, 1069, 1407, 1408, 1371, 1372, 130,
1515 131, -579, 18, -579, -579, 1074, -579, 90, 92, 230,
1516 231, 232, 21, 1094, 1099, 58, -52, -579, 636, -579,
1517 1095, -52, 707, 158, 1096, 26, 1097, 27, 28, 1098,
1518 1100, 498, -52, 1101, 1102, -579, -579, 942, 127, 128,
1519 1327, 981, -140, 1335, 1103, 1104, 140, 140, 1106, 156,
1520 -579, 982, 603, 604, 605, 606, 607, 608, 609, 32,
1521 1107, 639, 1124, 1113, 983, 641, 1110, 1126, 1109, 1111,
1522 158, 1112, 1129, 212, 1130, 220, 155, 155, 155, 1128,
1523 1131, 237, 1164, 7, 127, 128, 10, 1433, 544, 1433,
1524 130, 131, 1336, 1137, 1139, 1138, 574, 1147, 1148, 1145,
1525 209, 1150, 1336, 1157, 1160, 155, 155, 155, 1328, 1336,
1526 72, 1163, 1543, 1185, 518, 1328, 1208, 1214, 847, 1217,
1527 72, 21, 1219, 201, 1437, 201, 1224, 72, 251, 95,
1528 110, 111, 420, 423, 421, 852, 27, 28, 460, 1228,
1529 705, 8, 9, 1248, 1252, 1570, 58, 127, 128, 567,
1530 568, 1257, 1258, 1259, -304, 1260, 58, 140, 1265, 1267,
1531 252, 1280, 140, 58, 1268, 156, 156, 156, 32, -304,
1532 1291, 1327, 1269, -304, 1335, 1272, 1276, 719, 720, 153,
1533 723, 1327, 112, 113, 1335, 363, 1282, 129, 1327, -304,
1534 1283, 1335, 212, 130, 131, 490, 1284, 26, 450, 130,
1535 131, -304, -304, 1287, -304, 1288, -304, 1294, 1299, 140,
1536 140, 156, 158, 158, 158, 1193, 1348, 538, -662, 1379,
1537 214, 215, 216, 1380, 1386, 220, 1205, 14, 1390, 1396,
1538 95, 96, 97, 493, 220, -304, -304, 1391, 1406, 1397,
1539 1398, 158, 158, 158, 18, 1399, 1525, 1415, 1416, 20,
1540 -304, 1336, 1336, 1525, 1417, 1429, 1336, 1328, 23, 1431,
1541 1444, 375, 1328, 1447, 297, 1005, 1006, 1007, 1450, 72,
1542 72, 297, 349, 953, 72, 140, 1451, 1468, 1469, 1554,
1543 1047, 26, 1470, 98, 99, 100, 708, 1471, 763, 764,
1544 1061, 1062, 1476, 1336, 1487, 1488, 1492, 127, 1243, 1328,
1545 295, 1494, 1336, 1495, 710, 58, 58, 295, 1328, 1008,
1546 58, 72, 1574, 1502, 1520, 201, 26, 1076, 1009, 1010,
1547 72, 1521, 1078, 221, 1529, 1539, 1525, 1540, 1545, 1547,
1548 1327, 1327, 1553, 1335, 1335, 1327, 1562, 1563, 1335, 1571,
1549 707, 363, 155, 1572, 297, 156, 1584, 58, 1336, 130,
1550 131, 1588, 1595, 1599, 1328, 1011, 58, 1618, 1596, 1602,
1551 574, 605, 606, 607, 608, 609, 72, 1604, 1609, 421,
1552 424, 1605, 1327, 538, 1357, 1335, 518, 1613, 1617, 612,
1553 295, 1327, 1620, 1625, 1335, 339, 1336, 339, 1626, 339,
1554 1628, 1629, 1328, 1, 5, 442, 147, 160, 421, 1347,
1555 1499, 968, 58, 1167, 72, 127, 128, 441, 728, 155,
1556 155, 155, 439, 809, 1381, 1382, 1383, 1384, 613, 614,
1557 1300, 212, 220, 615, 616, 617, 618, 1327, 1569, 500,
1558 1335, 359, 127, 128, 339, 140, 339, 13, 140, 1483,
1559 58, 409, 1624, 1389, 156, 156, 156, 550, 1159, 1023,
1560 140, 7, 8, 9, 10, 26, 1158, 130, 131, 505,
1561 811, 127, 128, 1452, 1362, 1327, 535, 1245, 1335, 1077,
1562 1156, 545, 958, 127, 128, 636, 898, 1419, 158, 483,
1563 633, 546, 26, 390, 130, 131, 140, 1442, 140, 21,
1564 156, 156, 156, 1345, 1591, 450, 251, 1603, 637, 1566,
1565 258, 140, 493, 220, 27, 28, 450, 0, 638, 1608,
1566 493, 26, 221, 130, 131, 1610, 636, 1207, 639, 1448,
1567 0, 640, 641, 26, 258, 130, 131, 545, 252, 95,
1568 110, 111, 529, 0, 0, 212, 32, 546, 0, 637,
1569 0, 0, 450, 0, 1473, 158, 158, 158, 1046, 638,
1570 0, 0, 0, 258, 0, 0, 0, 0, 0, 639,
1571 0, 0, 640, 641, 258, 0, 0, 21, 0, 156,
1572 1231, 1232, 156, 1241, 1242, 0, 1244, 1493, 116, 1006,
1573 1007, 0, 112, 113, 411, 413, 0, 156, 156, 156,
1574 0, 744, 536, 0, 0, 0, 0, 1079, 750, 0,
1575 0, 0, 156, 1084, 0, 0, 506, 0, 7, 8,
1576 507, 10, 167, 12, 13, 0, 0, 565, 0, 14,
1577 116, 1006, 1007, 258, 95, 110, 111, 0, 225, 226,
1578 227, 119, 120, 16, 1205, 17, 18, 19, 1523, 0,
1579 0, 20, 0, 0, 871, 1523, 21, 1050, 0, 0,
1580 23, 508, 18, 168, 0, 339, 0, 228, 258, 26,
1581 0, 27, 28, 943, 574, 509, 0, 510, 0, 0,
1582 0, 26, 743, 119, 120, 30, 0, 112, 113, 743,
1583 0, 839, 258, 220, 0, 31, 101, 0, 0, 0,
1584 0, 0, 0, 32, 115, 0, 0, 0, 33, 95,
1585 110, 111, 421, 1347, 0, 0, 1140, 0, 1141, 719,
1586 720, 0, 723, 0, 645, 649, 652, 0, 1523, 0,
1587 0, 0, 212, 0, 220, 237, 0, 0, 0, 0,
1588 0, 0, 1365, 1366, 1594, 0, 0, 233, 95, 110,
1589 111, 892, 681, 682, 683, 0, 0, 893, 7, 127,
1590 128, 10, 112, 1496, 13, 0, 1607, 741, 745, 95,
1591 110, 111, 743, 871, 0, 745, 0, 0, 220, 0,
1592 655, 8, 9, 10, 258, 0, 18, 0, 0, 140,
1593 140, 0, 140, 0, 947, 0, 21, 0, 0, 0,
1594 493, 112, 113, 450, 0, 339, 388, 0, 0, 26,
1595 0, 27, 28, 450, 450, 308, 656, 783, 21, 0,
1596 369, 371, 112, 1498, 0, 30, 116, 117, 118, 0,
1597 416, 26, 743, 130, 131, 31, 0, 0, 743, 0,
1598 450, 0, 258, 32, 1223, 450, 0, 0, 33, 1227,
1599 0, 0, 0, 0, 0, 0, 0, 339, 745, 0,
1600 0, 0, 0, 0, 0, 0, 0, 156, 743, 0,
1601 0, 0, 1253, 0, 1255, 743, 0, 26, 0, 119,
1602 120, 0, 0, 1457, 1458, 1459, 0, 0, 0, 0,
1603 339, 0, 741, 0, 0, 868, 869, 0, 873, 874,
1604 875, 876, 877, 878, 879, 880, 881, 882, 883, 884,
1605 885, 886, 887, 888, 889, 890, 891, 0, 745, 0,
1606 499, 501, 0, 0, 745, 0, 0, 0, 0, 1286,
1607 0, 0, 258, 530, 7, 8, 9, 10, 214, 215,
1608 216, 300, 8, 9, 10, 14, 0, 0, 0, 0,
1609 0, 95, 96, 97, 745, 0, 0, 0, 0, 0,
1610 0, 745, 18, 156, 156, 943, 0, 20, 1511, 1512,
1611 0, 0, 21, 0, 0, 0, 23, 258, 636, 21,
1612 382, 383, 384, 960, 962, 26, 251, 27, 28, 0,
1613 0, 214, 215, 216, 27, 319, 363, 0, 14, 339,
1614 0, 981, 237, 566, 98, 99, 0, 140, 140, 943,
1615 0, 982, 0, 921, 923, 18, 0, 0, 252, 32,
1616 20, 639, 0, 0, 983, 641, 32, 0, 0, 23,
1617 0, 26, 0, 386, 387, 1114, 1115, 491, 215, 216,
1618 0, 1120, 578, 0, 14, 674, 0, 741, 0, 0,
1619 0, 0, 0, 0, 684, 1132, 943, 1133, 0, 1134,
1620 0, 18, 743, 0, 258, 0, 20, 674, 127, 128,
1621 0, 1393, 215, 216, 0, 23, 0, 0, 14, 0,
1622 258, 986, 0, 645, 649, 0, 652, 1592, 7, 8,
1623 9, 10, 0, 450, 450, 0, 450, 450, 0, 450,
1624 20, 0, 0, 0, 1067, 1162, 0, 0, 0, 23,
1625 0, 636, 0, 0, 0, 704, 743, 743, 26, 0,
1626 130, 131, 743, 0, 0, 0, 21, 0, 649, 0,
1627 339, 339, 636, 339, 637, 0, 743, 0, 743, 26,
1628 743, 27, 28, 0, 638, 0, 0, 0, 745, 1453,
1629 1454, 1183, 0, 0, 639, 981, 0, 647, 641, 0,
1630 0, 0, 0, 1464, 1465, 982, 0, 116, 1006, 1007,
1631 1105, 1049, 0, 32, 0, 639, 0, 0, 983, 641,
1632 1475, 751, 0, 0, 779, 0, 743, 0, 0, 0,
1633 0, 0, 0, 0, 1050, 0, 140, 140, 156, 156,
1634 943, 1051, 745, 745, 140, 0, 0, 741, 745, 601,
1635 602, 603, 604, 605, 606, 607, 608, 609, 26, 0,
1636 119, 120, 745, 649, 745, 0, 745, 156, 156, 943,
1637 0, 0, 743, 0, 0, 0, 258, 596, 597, 598,
1638 599, 600, 601, 602, 603, 604, 605, 606, 607, 608,
1639 609, 743, 1518, 1519, 0, 450, 450, 0, 0, 0,
1640 0, 0, 1155, 0, 0, 0, 840, 864, 0, 843,
1641 0, 0, 745, 845, 846, 848, 849, 850, 0, 7,
1642 8, 9, 10, 0, 0, 246, 578, 339, 0, 0,
1643 300, 394, 395, 10, 0, 0, 1135, 0, 1136, 867,
1644 1179, 0, 0, 0, 0, 0, 0, 18, 0, 1142,
1645 0, 912, 0, 921, 923, 0, 0, 21, 745, 0,
1646 0, 140, 140, 636, 140, 0, 0, 1301, 21, 1302,
1647 26, 1303, 27, 28, 0, 251, 0, 745, 0, 7,
1648 8, 9, 10, 27, 319, 13, 981, 627, 0, 300,
1649 394, 395, 10, 924, 628, 0, 982, 921, 923, 0,
1650 924, 212, 220, 0, 32, 0, 639, 18, 0, 983,
1651 641, 0, 1229, 1230, 258, 32, 258, 21, 0, 0,
1652 975, 0, 0, 636, 0, 0, 0, 21, 0, 0,
1653 26, 992, 27, 28, 629, 0, 450, 450, 450, 0,
1654 26, 0, 27, 319, 0, 0, 1172, 0, 743, 0,
1655 743, 0, 743, 741, 741, 0, 1173, 1266, 258, 0,
1656 0, 0, 864, 0, 32, 80, 639, 0, 0, 1174,
1657 641, 0, 1395, 0, 630, 104, 0, 339, 0, 0,
1658 0, 0, 0, 0, 0, 133, 0, 0, 0, 0,
1659 0, 144, 144, 0, 144, 0, 80, 0, 0, 0,
1660 0, 0, 0, 80, 156, 0, 0, 0, 0, 704,
1661 0, 0, 0, 0, 0, 0, 203, 0, 80, 0,
1662 0, 450, 450, 0, 0, 0, 238, 0, 0, 0,
1663 0, 0, 0, 104, 745, 751, 745, 0, 745, 0,
1664 0, 0, 258, 0, 262, 104, 741, 751, 0, 0,
1665 0, 0, 0, 743, 0, 741, 741, 0, 0, 0,
1666 741, 0, 0, 0, 0, 0, 0, 104, 0, 0,
1667 0, 156, 156, 156, 0, 751, 0, 0, 0, 0,
1668 0, 751, 1370, 0, 0, 0, 1135, 1136, 921, 923,
1669 300, 8, 9, 10, 1142, 133, 0, 80, 0, 0,
1670 0, 144, 144, 0, 0, 0, 412, 144, 741, 0,
1671 144, 144, 144, 0, 0, 0, 0, 921, 923, 258,
1672 7, 127, 128, 10, 0, 0, 80, 0, 21, 0,
1673 80, 0, 0, 0, 0, 251, 203, 80, 0, 745,
1674 450, 0, 0, 27, 319, 0, 258, 0, 18, 1116,
1675 0, 0, 0, 0, 203, 203, 203, 0, 21, 0,
1676 0, 0, 0, 1414, 0, 0, 0, 538, 0, 0,
1677 0, 26, 0, 27, 28, 32, 127, 128, 0, 0,
1678 215, 216, 867, 203, 0, 684, 14, 149, 751, 0,
1679 0, 0, 924, 0, 0, 0, 0, 150, 975, 743,
1680 502, 0, 0, 741, 0, 32, 80, 0, 20, 104,
1681 151, 1135, 1136, 0, 1142, 1455, 1456, 23, 0, 636,
1682 144, 0, 0, 0, 0, 0, 26, 0, 130, 131,
1683 704, 0, 1168, 741, 0, 0, 924, 0, 259, 0,
1684 0, 0, 637, 0, 0, 0, 0, 0, 127, 128,
1685 0, 0, 638, 246, 0, 0, 0, 0, 104, 547,
1686 0, 0, 639, 0, 0, 640, 641, 0, 471, 473,
1687 477, 0, 0, 0, 7, 127, 128, 10, 0, 0,
1688 246, 0, 0, 924, 0, 745, 0, 0, 0, 0,
1689 0, 636, 0, 0, 0, 0, 1210, 0, 26, 0,
1690 130, 131, 18, 104, 0, 0, 0, 634, 1516, 547,
1691 547, 650, 21, 0, 637, 434, 0, 0, 0, 0,
1692 80, 0, 0, 0, 638, 26, 0, 27, 28, 1263,
1693 0, 0, 0, 0, 639, 0, 1536, 640, 641, 0,
1694 751, 30, 751, 0, 0, 0, 0, 469, 0, 0,
1695 0, 31, 0, 0, 133, 795, 796, 9, 10, 32,
1696 485, 0, 0, 104, 33, 203, 104, 0, 0, 0,
1697 1271, 0, 0, 0, 0, 0, 127, 128, 0, 0,
1698 144, 535, 0, 144, 0, 0, 0, 0, 0, 0,
1699 0, 0, 0, 21, 0, 144, 0, 0, 0, 0,
1700 0, 0, 0, 80, 0, 0, 26, 0, 27, 28,
1701 7, 8, 9, 10, 797, 1305, 535, 0, 0, 636,
1702 0, 1263, 193, 0, 0, 0, 26, 924, 130, 131,
1703 0, 203, 194, 203, 0, 203, 203, 203, 18, 0,
1704 32, 203, 637, 0, 0, 195, 203, 0, 21, 203,
1705 0, 0, 638, 0, 636, 0, 924, 0, 741, 0,
1706 0, 26, 639, 27, 28, 640, 641, 0, 0, 133,
1707 1358, 0, 80, 0, 80, 0, 0, 981, 0, 806,
1708 80, 0, 80, 0, 0, 0, 166, 982, 7, 8,
1709 9, 10, 167, 12, 13, 32, 0, 639, 0, 14,
1710 983, 641, 0, 0, 0, 0, 0, 0, 0, 0,
1711 0, 0, 0, 16, 0, 17, 18, 19, 0, 0,
1712 0, 20, 104, 104, 104, 104, 21, 0, 0, 0,
1713 23, 0, 0, 168, 0, 0, 0, 0, 0, 26,
1714 0, 27, 28, 1421, 1422, 761, 0, 762, 0, 471,
1715 473, 477, 0, 0, 0, 30, 0, 0, 0, 0,
1716 773, 0, 0, 0, 0, 31, 0, 0, 0, 0,
1717 0, 0, 0, 32, 0, 0, 0, 0, 33, 0,
1718 0, 0, 104, 34, 547, 0, 0, 0, 0, 0,
1719 0, 0, 0, 804, 0, 0, 634, 0, 547, 547,
1720 0, 650, 0, 0, 0, 0, 1210, 0, 944, 8,
1721 9, 0, 946, 12, 246, 0, 0, 0, 0, 14,
1722 0, 0, 0, 0, 1479, 0, 0, 203, 0, 0,
1723 0, 0, 0, 16, 766, 17, 0, 0, 0, 772,
1724 0, 20, 0, 0, 0, 0, 1497, 1500, 0, 0,
1725 23, 133, 636, 0, 0, 0, 0, 0, 133, 26,
1726 0, 130, 131, 0, 0, 0, 203, 988, 203, 203,
1727 238, 650, 0, 0, 0, 637, 0, 0, 0, 0,
1728 0, 0, 0, 821, 0, 638, 0, 0, 0, 827,
1729 0, 0, 0, 0, 0, 639, 0, 0, 640, 641,
1730 0, 835, 836, 0, 837, 0, 0, 0, 0, 300,
1731 8, 9, 10, 203, 0, 0, 0, 988, 0, 0,
1732 0, 1541, 0, 0, 203, 203, 0, 203, 7, 8,
1733 9, 10, 214, 215, 216, 0, 0, 0, 0, 14,
1734 0, 0, 0, 104, 0, 0, 806, 21, 0, 0,
1735 0, 0, 0, 0, 251, 104, 18, 0, 0, 0,
1736 578, 20, 27, 319, 0, 0, 21, 0, 1072, 0,
1737 23, 0, 636, 0, 704, 0, 80, 0, 0, 26,
1738 0, 27, 28, 104, 0, 0, 0, 0, 0, 104,
1739 0, 0, 0, 0, 32, 981, 547, 547, 547, 932,
1740 933, 0, 0, 0, 932, 982, 0, 0, 547, 0,
1741 0, 0, 0, 32, 0, 639, 0, 0, 1030, 641,
1742 0, 0, 0, 0, 0, 8, 9, 0, 167, 12,
1743 13, 0, 0, 749, 0, 14, 83, 0, 761, 762,
1744 0, 773, 0, 0, 0, 0, 106, 0, 0, 16,
1745 0, 17, 18, 0, 0, 126, 134, 20, 0, 0,
1746 804, 0, 145, 145, 0, 145, 23, 83, 636, 0,
1747 0, 0, 0, 0, 83, 26, 0, 130, 131, 0,
1748 0, 547, 0, 547, 0, 0, 0, 145, 0, 83,
1749 104, 637, 0, 0, 547, 0, 104, 239, 944, 944,
1750 944, 638, 0, 0, 248, 0, 1149, 300, 127, 128,
1751 10, 639, 0, 0, 640, 641, 248, 0, 0, 0,
1752 0, 0, 0, 0, 0, 0, 7, 127, 128, 10,
1753 0, 0, 13, 0, 0, 0, 0, 1058, 104, 0,
1754 104, 0, 203, 203, 1176, 21, 0, 0, 0, 1063,
1755 0, 0, 251, 0, 18, 0, 0, 0, 0, 0,
1756 27, 319, 0, 0, 21, 0, 0, 0, 83, 0,
1757 0, 0, 145, 145, 0, 0, 0, 26, 145, 27,
1758 28, 145, 145, 145, 0, 1086, 0, 1088, 0, 0,
1759 0, 1176, 32, 149, 0, 0, 0, 83, 0, 0,
1760 0, 83, 0, 150, 104, 0, 0, 145, 83, 0,
1761 0, 32, 0, 0, 0, 0, 151, 0, 0, 0,
1762 0, 0, 0, 0, 0, 145, 145, 145, 0, 0,
1763 203, 0, 0, 0, 0, 144, 0, 0, 80, 0,
1764 0, 0, 0, 0, 0, 0, 0, 0, 104, 0,
1765 104, 0, 0, 0, 145, 0, 471, 473, 477, 1122,
1766 1123, 0, 1125, 8, 9, 0, 0, 12, 13, 0,
1767 8, 9, 0, 14, 12, 246, 0, 83, 104, 0,
1768 14, 0, 0, 547, 547, 0, 547, 16, 0, 17,
1769 1143, 145, 0, 0, 16, 20, 17, 0, 0, 0,
1770 0, 0, 20, 0, 23, 477, 0, 0, 0, 0,
1771 0, 23, 0, 26, 0, 130, 131, 619, 0, 0,
1772 26, 0, 130, 131, 0, 0, 0, 0, 0, 248,
1773 145, 203, 203, 203, 203, 1176, 0, 0, 0, 203,
1774 0, 1178, 0, 0, 1239, 0, 642, 642, 642, 0,
1775 0, 0, 620, 0, 0, 0, 0, 0, 0, 0,
1776 0, 0, 1176, 1176, 1176, 7, 8, 9, 10, 167,
1777 12, 13, 0, 0, 248, 0, 14, 0, 635, 0,
1778 145, 145, 651, 0, 0, 0, 0, 660, 0, 0,
1779 16, 83, 17, 18, 19, 0, 0, 0, 20, 0,
1780 0, 0, 0, 21, 0, 0, 0, 23, 0, 0,
1781 168, 0, 0, 0, 0, 0, 26, 0, 27, 28,
1782 0, 0, 0, 0, 0, 697, 0, 0, 0, 0,
1783 0, 0, 30, 0, 248, 0, 145, 248, 0, 0,
1784 0, 0, 31, 0, 0, 761, 762, 471, 473, 477,
1785 32, 145, 0, 773, 145, 33, 203, 203, 0, 203,
1786 34, 0, 7, 8, 9, 10, 145, 0, 13, 0,
1787 0, 0, 0, 0, 83, 0, 471, 473, 477, 0,
1788 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1789 18, 0, 0, 0, 1285, 203, 988, 203, 0, 0,
1790 21, 0, 145, 0, 145, 0, 145, 145, 145, 0,
1791 0, 0, 145, 26, 104, 27, 28, 145, 0, 6,
1792 145, 7, 8, 9, 10, 11, 12, 13, 0, 193,
1793 0, 0, 14, 1298, 0, 0, 0, 0, 0, 194,
1794 134, 0, 0, 83, 0, 83, 16, 32, 17, 18,
1795 807, 83, 195, 83, 20, 0, 0, 0, 0, 21,
1796 0, 0, 0, 23, 0, 0, 438, 0, 0, 0,
1797 761, 762, 26, 773, 27, 28, 0, 0, 29, 0,
1798 1363, 0, 0, 0, 1364, 0, 0, 0, 30, 0,
1799 0, 0, 0, 248, 248, 248, 248, 0, 31, 1176,
1800 0, 0, 0, 0, 1377, 0, 32, 0, 1378, 0,
1801 0, 33, 0, 0, 0, 0, 0, 0, 0, 0,
1802 0, 0, 7, 127, 128, 10, 0, 0, 535, 0,
1803 0, 0, 0, 0, 0, 642, 642, 0, 642, 0,
1804 0, 0, 0, 1394, 0, 941, 0, 0, 0, 0,
1805 18, 0, 0, 248, 0, 145, 0, 0, 0, 0,
1806 21, 0, 0, 0, 0, 0, 1176, 1176, 1176, 145,
1807 145, 0, 651, 26, 0, 27, 28, 0, 0, 945,
1808 0, 0, 104, 0, 0, 0, 0, 203, 0, 30,
1809 0, 0, 660, 7, 127, 128, 10, 0, 145, 31,
1810 0, 0, 0, 642, 0, 642, 642, 32, 642, 0,
1811 0, 0, 33, 477, 0, 0, 0, 0, 0, 0,
1812 0, 18, 697, 0, 0, 0, 0, 0, 0, 0,
1813 126, 21, 0, 0, 0, 1466, 1467, 145, 651, 145,
1814 145, 239, 651, 0, 26, 0, 27, 28, 0, 0,
1815 642, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1816 30, 0, 0, 0, 0, 1018, 0, 0, 0, 0,
1817 31, 0, 0, 0, 0, 0, 0, 0, 32, 0,
1818 471, 473, 477, 33, 145, 0, 0, 0, 651, 0,
1819 0, 0, 0, 0, 0, 145, 145, 0, 145, 0,
1820 0, 0, 0, 0, 7, 8, 9, 10, 167, 12,
1821 13, 0, 1018, 749, 248, 14, 0, 807, 0, 0,
1822 0, 0, 0, 0, 0, 0, 248, 0, 0, 16,
1823 0, 17, 18, 0, 0, 0, 0, 20, 0, 0,
1824 0, 0, 21, 0, 0, 642, 23, 83, 636, 0,
1825 0, 0, 0, 0, 248, 26, 0, 27, 28, 0,
1826 248, 0, 0, 0, 0, 0, 0, 145, 145, 145,
1827 0, 1172, -387, 8, 9, -387, -387, 12, 246, 145,
1828 0, 1173, 0, 14, 0, 0, 0, 0, 0, 32,
1829 0, 639, 0, 0, 1174, 641, 0, 16, 0, 17,
1830 -387, 0, 0, 0, 0, 20, 0, 0, 0, 0,
1831 -387, 0, 0, 0, 23, 0, 636, 0, 642, 0,
1832 642, 0, 0, 26, 0, 130, 131, 0, 0, 0,
1833 0, 642, 0, 0, 0, 941, 941, 941, 0, 637,
1834 7, 8, 9, 10, 214, 215, 216, 0, 0, 638,
1835 0, 14, 145, 0, 145, 0, 0, -387, 0, 639,
1836 0, 248, 640, 641, 0, 145, 0, 248, 18, 945,
1837 945, 945, 0, 20, 0, 0, 0, 660, 21, 642,
1838 642, 642, 23, 0, 636, 0, 0, 0, 0, 0,
1839 0, 26, 0, 27, 28, 51, 0, 0, 0, 0,
1840 0, 0, 0, 0, 0, 0, 0, 193, 0, 248,
1841 0, 248, 0, 145, 145, 651, 0, 194, 0, 0,
1842 0, 51, 51, 0, 152, 32, 51, 0, 941, 0,
1843 1438, 0, 0, 51, 598, 599, 600, 601, 602, 603,
1844 604, 605, 606, 607, 608, 609, 51, 0, 51, 795,
1845 8, 507, 10, 205, 12, 206, 0, 0, 0, 0,
1846 14, 0, 945, 0, 0, 0, 0, 0, 0, 0,
1847 0, 254, 0, 0, 16, 248, 17, 18, 0, 0,
1848 0, 0, 20, 0, 0, 0, 0, 21, 0, 0,
1849 0, 23, 0, 0, 0, 0, 0, 0, 0, 0,
1850 26, 145, 27, 28, 0, 0, 145, 0, 797, 83,
1851 0, 0, 0, 0, 0, 0, 30, 0, 0, 248,
1852 0, 248, 0, 0, 396, 396, 31, 51, 0, 0,
1853 0, 51, 51, 0, 32, 254, 0, 51, 0, 33,
1854 152, 152, 152, 0, 0, 0, 0, 431, 0, 248,
1855 0, 0, 0, 0, 145, 145, 51, 145, 0, 0,
1856 51, 0, 0, 0, 0, 0, 51, 51, 642, 642,
1857 642, 642, 642, 0, 0, 0, 642, 0, 0, 0,
1858 0, 0, 0, 0, 51, 51, 152, 0, 0, 0,
1859 0, 0, 0, 0, 254, 0, 0, 0, 0, 941,
1860 941, 941, 145, 145, 145, 145, 651, 0, 0, 0,
1861 145, 0, 0, 51, 0, 0, 506, 1018, 7, 8,
1862 507, 10, 167, 12, 13, 0, 0, 0, 0, 14,
1863 0, 0, 0, 945, 945, 945, 51, 0, 0, 0,
1864 0, 0, 0, 16, 0, 17, 18, 19, 0, 0,
1865 51, 20, -525, 0, 1018, 0, 21, 0, 0, 0,
1866 23, 508, 0, 168, 7, 8, 9, 10, 0, 26,
1867 246, 27, 28, 0, 0, 509, 0, 510, 0, 0,
1868 0, 0, 0, 0, 0, 30, 0, 0, 0, 0,
1869 0, 0, 18, 642, 642, 31, 642, 0, 0, 0,
1870 0, 0, 21, 32, 0, 0, 0, 0, 33, 0,
1871 0, 0, 0, 0, 0, 26, 0, 27, 28, 0,
1872 575, 0, 0, 0, -525, 0, 0, 145, 145, 0,
1873 145, 193, 0, 0, 0, 0, 0, 396, 0, 0,
1874 0, 194, 0, 0, 0, 254, 0, 0, 0, 32,
1875 51, 0, 0, 0, 195, 1425, 0, 0, 0, 0,
1876 0, 0, 0, 0, 0, 0, 145, 651, 145, 595,
1877 596, 597, 598, 599, 600, 601, 602, 603, 604, 605,
1878 606, 607, 608, 609, 396, 248, 0, 0, 0, 0,
1879 0, 1018, 0, 0, 0, 51, 0, 0, 0, 506,
1880 0, 7, 8, 507, 10, 167, 12, 13, 0, 0,
1881 51, 0, 14, 51, 0, 0, 0, 0, 0, 431,
1882 431, 431, 0, 0, 0, 51, 16, 0, 17, 18,
1883 19, 0, 0, 51, 20, -526, 0, 0, 0, 21,
1884 0, 0, 0, 23, 508, 0, 168, 0, 0, 0,
1885 0, 0, 26, 0, 27, 28, 0, 0, 509, 0,
1886 510, 51, 0, 51, 0, 152, 152, 152, 30, 0,
1887 945, 51, 0, 0, 0, 0, 51, 0, 31, 51,
1888 0, 0, 1233, 1234, 9, 10, 32, 0, 0, 0,
1889 0, 33, 0, 8, 9, 0, 0, 12, 13, 0,
1890 0, 0, 51, 14, 51, 0, 0, -526, 0, 51,
1891 51, 0, 51, 0, 0, 0, 0, 16, 0, 17,
1892 21, 0, 0, 0, 0, 20, 0, 0, 0, 0,
1893 0, 0, 0, 26, 23, 27, 28, 945, 945, 945,
1894 0, 1235, 0, 26, 575, 130, 131, 575, 0, 193,
1895 0, 0, 0, 248, 0, 0, 0, 0, 145, 194,
1896 0, 0, 575, 575, 575, 0, 0, 32, 0, 78,
1897 0, 0, 195, 0, 0, 0, 0, 575, 0, 0,
1898 0, 7, 8, 9, 10, 0, 6, 13, 7, 8,
1899 9, 10, 11, 12, 13, 78, 78, 0, 78, 14,
1900 78, 0, 0, 0, 0, 0, 0, 78, 0, 18,
1901 0, 0, 15, 16, 0, 17, 18, 19, 0, 21,
1902 78, 20, 78, 0, 0, 254, 21, 0, 0, 22,
1903 23, 24, 26, 25, 27, 28, 0, 0, 575, 26,
1904 0, 27, 28, 0, 0, 29, 0, 0, 474, 0,
1905 0, 0, 0, 0, 0, 30, 0, 51, 475, 0,
1906 0, 0, 0, 0, 0, 31, 32, 0, 0, 0,
1907 0, 476, 0, 32, 0, 0, 0, 0, 33, 0,
1908 0, 396, 0, 34, 0, 0, 0, 159, 396, 0,
1909 0, 0, 0, 0, 0, 0, 51, 51, 51, 51,
1910 0, 78, 0, 0, 0, 78, 78, 0, 0, 204,
1911 0, 78, 0, 0, 78, 78, 78, 0, 0, 0,
1912 0, 0, 0, 0, 795, 796, 9, 10, 0, 0,
1913 78, 0, 0, 0, 78, 7, 8, 9, 10, 0,
1914 78, 78, 0, 51, 0, 0, 0, 51, 0, 0,
1915 0, 0, 0, 0, 51, 51, 0, 51, 78, 78,
1916 78, 0, 21, 0, 0, 0, 0, 0, 0, 0,
1917 0, 0, 0, 21, 0, 26, 51, 27, 28, 0,
1918 0, 1060, 0, 797, 0, 0, 26, 78, 27, 28,
1919 0, 193, 192, 0, 0, 0, 0, 254, 0, 0,
1920 0, 194, 193, 159, 159, 159, 51, 0, 0, 32,
1921 78, 0, 194, 0, 195, 0, 0, 0, 0, 0,
1922 32, 0, 0, 0, 78, 195, 0, 0, 0, 204,
1923 0, 748, 575, 300, 8, 9, 10, 167, 12, 301,
1924 302, 303, 749, 304, 14, 0, 0, 204, 204, 478,
1925 0, 0, 0, 0, 0, 0, 0, 0, 16, 305,
1926 17, 18, 19, 0, 306, 307, 20, 0, 308, 309,
1927 310, 21, 311, 312, 0, 23, 204, 0, 0, 313,
1928 314, 315, 316, 317, 26, 0, 27, 319, 0, 0,
1929 0, 320, 0, 0, 0, 0, 0, 321, 0, 0,
1930 322, 0, 0, 0, 0, 0, 0, 0, 323, 324,
1931 325, 0, 0, 0, 0, 0, 326, 327, 328, 0,
1932 659, 0, 0, 329, 78, 0, 0, 0, 575, 575,
1933 575, 0, 0, 0, 431, 254, 0, 0, -798, 0,
1934 330, 0, 0, 7, 8, 9, 10, 205, 12, 206,
1935 0, 0, 548, 0, 14, 597, 598, 599, 600, 601,
1936 602, 603, 604, 605, 606, 607, 608, 609, 16, 78,
1937 17, 18, 51, 51, 152, 0, 20, 0, 0, 254,
1938 0, 21, 0, 0, 78, 23, 0, 78, 0, 0,
1939 0, 0, 0, 0, 26, 0, 27, 28, 0, 78,
1940 207, 0, 644, 644, 644, 0, 0, 78, 0, 0,
1941 30, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1942 31, 1204, 0, 0, 0, 0, 0, 0, 32, 0,
1943 0, 0, 0, 33, 0, 78, 0, 78, 0, 78,
1944 78, 78, 0, 0, 0, 78, 0, 0, 0, 0,
1945 78, 0, 0, 78, 0, 0, 0, 0, 204, 0,
1946 51, 0, 0, 0, 0, 51, 0, 0, 51, 7,
1947 8, 9, 10, 167, 12, 13, 78, 0, 78, 0,
1948 14, 0, 0, 78, 78, 0, 78, 0, 0, 0,
1949 0, 0, 0, 0, 16, 0, 17, 18, 0, 0,
1950 0, 0, 20, 0, 0, 0, 0, 21, 0, 0,
1951 0, 23, 0, 0, 0, 0, 0, 0, 0, 0,
1952 26, 0, 27, 28, 204, 0, 204, 0, 478, 478,
1953 478, 0, 0, 0, 204, 0, 30, 0, 0, 204,
1954 254, 0, 204, 0, 0, 0, 31, 0, 0, 0,
1955 0, 0, 0, 0, 32, 0, 0, 0, 0, 33,
1956 0, 51, 51, 152, 152, 152, 0, 254, 0, 51,
1957 0, 0, 204, 0, 870, 0, 300, 8, 9, 10,
1958 0, 12, 552, 302, 303, 0, 304, 14, 0, 0,
1959 0, 0, 1204, 1204, 1204, 0, 0, 0, 0, 0,
1960 659, 16, 305, 17, 0, 19, 0, 306, 307, 20,
1961 0, 308, 309, 310, 21, 311, 312, 0, 23, 0,
1962 0, 0, 313, 314, 315, 316, 317, 26, 0, 27,
1963 319, 78, 0, 0, 320, -788, 0, 0, 0, 0,
1964 321, 0, 0, 322, 0, 0, 0, 0, 0, 0,
1965 0, 323, 324, 325, 0, 0, 202, 0, 0, 326,
1966 327, 328, 0, 0, 0, 0, 329, 0, 0, 0,
1967 78, 78, 78, 78, 0, 0, 0, 906, 0, 0,
1968 0, 257, 0, 330, 261, 0, 51, 51, 0, 51,
1969 0, 644, 644, 0, 644, 0, 0, 0, 0, 0,
1970 0, 644, 0, 0, 0, 257, 0, 365, 0, 0,
1971 0, 0, 0, 0, 0, 0, 0, 78, 0, 0,
1972 204, 78, 0, 0, 0, 51, 51, 51, 78, 78,
1973 0, 78, 592, 593, 594, 595, 596, 597, 598, 599,
1974 600, 601, 602, 603, 604, 605, 606, 607, 608, 609,
1975 78, 0, 0, 0, 0, 0, 0, 0, 0, 985,
1976 0, 985, 985, 0, 644, 0, 0, 0, 0, 0,
1977 0, 7, 8, 9, 10, 0, 202, 535, 0, 0,
1978 78, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1979 0, 0, 0, 0, 202, 202, 202, 0, 0, 18,
1980 0, 0, 0, 0, 484, 0, 985, 0, 0, 21,
1981 0, 0, 0, 0, 0, 0, 0, 204, 204, 0,
1982 204, 0, 26, 202, 27, 28, 0, 0, 0, 1204,
1983 0, 0, 0, 0, 0, 0, 0, 0, 193, 204,
1984 0, 7, 8, 9, 10, 167, 12, 13, 194, 261,
1985 1035, 0, 14, 0, 0, 0, 32, 0, 0, 0,
1986 0, 195, 0, 257, 0, 0, 16, 0, 17, 18,
1987 0, 0, 0, 0, 20, 0, 0, 0, 0, 21,
1988 0, 0, 0, 23, 0, 0, 0, 0, 0, 548,
1989 548, 548, 26, 0, 27, 28, 1204, 1204, 1204, 0,
1990 0, 644, 0, 0, 0, 0, 0, 0, 30, 0,
1991 659, 0, 0, 0, 0, 0, 0, 51, 31, 0,
1992 0, 0, 0, 0, 0, 0, 32, 0, 0, 0,
1993 0, 33, 0, 0, 0, 0, 0, 0, 0, 0,
1994 0, 0, 0, 0, 0, 0, 78, 78, 78, 0,
1995 0, 0, 0, 0, 0, 257, 261, 0, 0, 0,
1996 0, 7, 8, 9, 10, 205, 12, 206, 0, 0,
1997 0, 0, 14, 0, 644, 0, 644, 0, 0, 0,
1998 0, 0, 0, 0, 0, 0, 16, 644, 17, 18,
1999 0, 644, 644, 644, 20, 1206, 0, 0, 0, 21,
2000 0, 0, 0, 23, 0, 202, 0, 0, 0, 0,
2001 0, 0, 26, 0, 27, 28, 0, 0, 1435, 0,
2002 0, 0, 0, 0, 0, 0, 0, 0, 30, 0,
2003 0, 0, 0, 0, 78, 985, 985, 1177, 31, 78,
2004 0, 0, 78, 0, 0, 0, 32, 0, 0, 0,
2005 0, 33, 0, 0, 0, 7, 8, 9, 10, 205,
2006 12, 206, 0, 0, 0, 0, 14, 0, 0, 0,
2007 0, 202, 0, 202, 0, 202, 202, 202, 0, 0,
2008 16, 202, 17, 18, 1177, 0, 202, 0, 20, 202,
2009 0, 0, 0, 21, 0, 0, 0, 23, 0, 0,
2010 0, 0, 0, 0, 0, 0, 26, 0, 27, 28,
2011 0, 102, 0, 0, 0, 0, 0, 0, 0, 202,
2012 121, 102, 30, 204, 0, 0, 0, 102, 102, 0,
2013 102, 1489, 31, 0, 0, 78, 78, 78, 78, 78,
2014 32, 0, 0, 78, 0, 33, 594, 595, 596, 597,
2015 598, 599, 600, 601, 602, 603, 604, 605, 606, 607,
2016 608, 609, 235, 0, 0, 0, 1206, 1206, 1206, 0,
2017 0, 0, 0, 0, 0, 0, 906, 906, 0, 906,
2018 0, 1490, 588, 589, 590, 591, 592, 593, 594, 595,
2019 596, 597, 598, 599, 600, 601, 602, 603, 604, 605,
2020 606, 607, 608, 609, 593, 594, 595, 596, 597, 598,
2021 599, 600, 601, 602, 603, 604, 605, 606, 607, 608,
2022 609, 389, 0, 121, 985, 985, 1177, 1177, 1177, 0,
2023 102, 102, 985, 0, 0, 0, 0, 102, 102, 0,
2024 0, 102, 102, 102, 0, 417, 102, 102, 102, 0,
2025 0, 257, 261, 0, 0, 1177, 1177, 1177, 0, 0,
2026 78, 78, 0, 78, 0, 0, 0, 202, 0, 0,
2027 0, 0, 0, 0, 0, 0, 0, 0, 1233, 127,
2028 128, 10, 0, 0, 0, 0, 0, 0, 0, 0,
2029 0, 0, 0, 0, 0, 0, 0, 0, 0, 78,
2030 78, 78, 0, 0, 0, 0, 202, 0, 202, 202,
2031 0, 0, 0, 0, 0, 0, 21, 0, 0, 0,
2032 0, 0, 0, 0, 0, 0, 0, 0, 0, 26,
2033 0, 27, 28, 0, 0, 235, 102, 1235, 0, 0,
2034 0, 0, 0, 0, 0, 30, 0, 0, 0, 985,
2035 985, 0, 985, 202, 0, 31, 102, 0, 0, 0,
2036 0, 0, 0, 32, 202, 202, 0, 202, 33, 0,
2037 0, 570, 0, 300, 8, 9, 10, 167, 12, 301,
2038 302, 303, 749, 304, 14, 0, 202, 0, 204, 0,
2039 204, 0, 0, 0, 0, 102, 0, 0, 16, 305,
2040 17, 18, 19, 1206, 306, 307, 20, 484, 308, 309,
2041 310, 21, 311, 312, 0, 23, 0, 636, 0, 313,
2042 314, 315, 316, 317, 26, 0, 27, 319, -312, 0,
2043 0, 320, 0, 0, 0, 0, 0, 321, 0, 0,
2044 937, 0, 0, 102, 0, 102, 102, 0, 323, 324,
2045 938, 7, 8, 9, 10, 0, 326, 327, 328, 0,
2046 639, 0, 0, 939, 641, 0, 0, 0, 0, 0,
2047 1206, 1206, 1206, 7, 8, 9, 10, 0, 0, 18,
2048 330, 0, 0, 0, 0, 0, 0, 0, 0, 21,
2049 102, 78, 478, 0, 0, 0, 0, 0, 0, 0,
2050 0, 0, 26, 0, 27, 28, 0, 0, 0, 102,
2051 0, 21, 0, 0, 0, 0, 102, 0, 474, 102,
2052 0, 0, 0, 0, 26, 0, 27, 28, 475, 0,
2053 1432, 102, 0, 0, 0, 0, 32, 0, 0, 0,
2054 193, 476, 0, 0, 0, 257, 261, 257, 0, 0,
2055 194, 0, 0, 0, 0, 0, 0, 0, 32, 478,
2056 478, 478, 0, 195, 0, 0, 0, 0, 8, 9,
2057 0, 205, 12, 206, 7, 8, 9, 10, 14, 0,
2058 204, 0, 202, 202, 1175, 0, 0, 0, 0, 257,
2059 0, 0, 16, 0, 17, 18, 0, 0, 0, 102,
2060 20, 0, 0, 0, 0, 102, 0, 0, 0, 23,
2061 0, 0, 21, 0, 0, 0, 0, 0, 26, 261,
2062 130, 131, 0, 0, 0, 26, 0, 27, 28, 0,
2063 0, 1175, 1460, 0, -479, -479, -479, -479, -479, -479,
2064 -479, 193, 0, -479, 102, -479, 0, 0, 0, 0,
2065 0, 194, 0, 0, 0, 0, -479, 0, -479, 32,
2066 0, 0, -479, 0, 195, 0, 0, -479, 0, 0,
2067 202, 0, -479, 0, 0, 0, -479, 0, -479, 0,
2068 0, 0, 0, 0, 0, -479, 0, -479, -479, -479,
2069 -479, -479, 0, -479, -479, -479, -479, -479, -479, -479,
2070 -479, -479, -479, -479, -479, -479, -479, -479, -479, -479,
2071 -479, -479, -479, -479, -479, -479, 0, -479, -479, -479,
2072 102, -479, -479, -479, -479, -479, -479, 0, -479, 0,
2073 0, 102, 102, 1461, 102, 102, 0, 0, -479, -479,
2074 -479, 0, -479, 0, 0, 0, 0, 0, 0, 0,
2075 257, 0, 0, 0, 0, 0, 0, 8, 9, 0,
2076 167, 12, 13, 0, 0, 0, 0, 14, 0, 0,
2077 0, 202, 202, 202, 202, 1175, 0, 1297, 0, 202,
2078 0, 16, 0, 17, 18, 0, 0, 102, 0, 20,
2079 0, 0, 0, 0, 102, 121, 0, 0, 698, 0,
2080 0, 168, 1175, 1175, 1175, 0, 235, 26, 0, 130,
2081 131, 0, 0, 0, 0, 1440, 0, 1308, 1309, 1310,
2082 10, 167, 12, 301, 302, 303, 0, 304, 14, 1311,
2083 1015, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320,
2084 1321, 15, 16, 305, 17, 18, 19, 0, 306, 307,
2085 20, 0, 308, 309, 310, 21, 311, 312, 1322, 23,
2086 1323, 0, 0, 313, 314, 315, 316, 317, 26, 0,
2087 1324, 319, 736, 0, 1325, 320, 0, 1015, 0, 0,
2088 0, 321, 0, 0, 322, 0, 0, 0, 0, 0,
2089 0, 0, 323, 324, 325, 0, 202, 202, 0, 202,
2090 326, 327, 328, 0, 102, 0, 0, 329, 0, 1326,
2091 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2092 0, 0, 0, 1441, 330, 0, 0, 0, 0, 0,
2093 0, 0, 102, 102, 102, 202, 0, 202, 0, 0,
2094 0, 0, 0, 0, 102, 0, 1307, 0, 1308, 1309,
2095 1310, 10, 167, 12, 301, 302, 303, 0, 304, 14,
2096 1311, 0, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319,
2097 1320, 1321, 15, 16, 305, 17, 18, 19, 0, 306,
2098 307, 20, 0, 308, 309, 310, 21, 311, 312, 1322,
2099 23, 1323, 0, 0, 313, 314, 315, 316, 317, 26,
2100 0, 1324, 319, 736, 0, 1325, 320, 0, 0, 0,
2101 0, 0, 321, 0, 0, 322, 0, 102, 0, 102,
2102 0, 0, 0, 323, 324, 325, 18, 0, 0, 0,
2103 102, 326, 327, 328, 0, 0, 0, 0, 329, 1175,
2104 1326, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2105 0, 0, 0, 0, 0, 330, 0, 0, 588, 589,
2106 590, 591, 592, 593, 594, 595, 596, 597, 598, 599,
2107 600, 601, 602, 603, 604, 605, 606, 607, 608, 609,
2108 0, 0, 0, 0, 0, 8, 9, 0, 167, 12,
2109 13, 0, 0, 749, 0, 14, 0, 0, 0, 0,
2110 0, 0, 0, 0, 0, 0, 1175, 1175, 1175, 16,
2111 0, 17, 18, 0, 0, 1015, 0, 20, 0, 0,
2112 0, 0, 0, 0, 0, 0, 23, 202, 0, 0,
2113 0, 0, 0, 0, 0, 26, 0, 130, 131, 0,
2114 0, 0, 0, 0, 0, 0, 570, 0, 7, 8,
2115 9, 10, 167, 12, 301, 302, 303, 749, 304, 14,
2116 0, 0, 0, 0, 0, 0, 0, 0, 0, 102,
2117 0, 102, 0, 16, 305, 17, 18, 19, 0, 306,
2118 307, 20, 0, 308, 309, 310, 21, 311, 312, 0,
2119 23, 0, 636, 0, 313, 314, 315, 316, 317, 26,
2120 0, 27, 28, -312, 0, 0, 320, 0, 0, 0,
2121 0, 0, 321, 0, 0, 1201, 0, 0, 0, 102,
2122 102, 0, 102, 323, 324, 1202, 0, 0, 0, 0,
2123 0, 326, 327, 328, 0, 639, 0, 0, 1203, 641,
2124 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2125 0, 0, 0, 0, 0, 330, 870, 0, 300, 8,
2126 9, 10, 167, 12, 301, 302, 303, 0, 304, 14,
2127 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2128 0, 0, 1015, 16, 305, 17, 18, 19, 0, 306,
2129 307, 20, 0, 308, 309, 310, 21, 311, 312, 0,
2130 23, 0, 0, 0, 313, 314, 315, 316, 317, 26,
2131 0, 27, 319, 1531, 0, -788, 320, 0, 0, 1015,
2132 0, 0, 321, 0, 0, 322, 0, 0, 0, 0,
2133 0, 0, 0, 323, 324, 325, 0, 0, 0, 0,
2134 0, 326, 327, 328, 0, 0, 0, 0, 329, 739,
2135 0, 858, 859, 860, 10, 0, 12, 552, 302, 303,
2136 0, 304, 14, 0, 0, 330, 0, 0, 0, 0,
2137 0, 0, 0, 0, 0, 0, 16, 305, 17, 0,
2138 19, 0, 306, 307, 20, 0, 308, 309, 310, 21,
2139 311, 312, 0, 23, 0, 0, 0, 313, 314, 315,
2140 316, 317, 26, 0, 861, 862, 740, 0, 0, 320,
2141 0, 0, 0, 0, 0, 321, 0, 0, 322, 0,
2142 0, 0, 0, 0, 0, 0, 323, 324, 325, 0,
2143 0, 0, 0, 0, 326, 327, 328, 0, 0, 0,
2144 0, 329, 863, 0, 0, 0, 0, 0, 0, 0,
2145 0, 0, 0, 0, 0, 0, 1015, 1022, 330, 570,
2146 0, 300, 8, 9, 10, 0, 12, 301, 302, 303,
2147 0, 304, 14, 0, 0, 0, 0, 0, 0, 0,
2148 0, 0, 0, 0, 0, 0, 16, 305, 17, 18,
2149 19, 0, 306, 307, 20, 0, 308, 309, 310, 21,
2150 311, 312, 0, 23, 0, 0, 0, 313, 314, 315,
2151 316, 317, 26, 0, 27, 319, -312, 0, 0, 320,
2152 0, 0, 0, 0, 0, 321, 0, 0, 571, 0,
2153 0, 0, 0, 0, 0, 0, 323, 324, 572, 0,
2154 0, 0, 0, 0, 326, 327, 328, 0, 0, 0,
2155 739, 573, 858, 859, 860, 10, 0, 12, 552, 302,
2156 303, 0, 304, 14, 0, 0, 0, 0, 330, 0,
2157 0, 0, 0, 0, 0, 0, 0, 16, 305, 17,
2158 0, 19, 0, 306, 307, 20, 0, 308, 309, 310,
2159 21, 311, 312, 0, 23, 0, 0, 0, 313, 314,
2160 315, 316, 317, 26, 0, 861, 862, 740, 0, 0,
2161 320, 0, 0, 0, 0, 0, 321, 0, 0, 322,
2162 0, 0, 0, 0, 0, 0, 0, 323, 324, 325,
2163 0, 0, 0, 0, 0, 326, 327, 328, 0, 0,
2164 0, 0, 329, 863, 739, 0, 858, 859, 860, 10,
2165 0, 12, 552, 302, 303, 0, 304, 14, 0, 330,
2166 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2167 0, 16, 305, 17, 0, 19, 0, 306, 307, 20,
2168 0, 308, 309, 310, 21, 311, 312, 0, 23, 0,
2169 0, 0, 313, 314, 315, 316, 317, 26, 0, 861,
2170 862, 740, 0, 0, 320, 0, 0, 0, 0, 0,
2171 321, 0, 0, 322, 0, 0, 0, 0, 0, 0,
2172 0, 323, 324, 325, 0, 0, 0, 0, 0, 326,
2173 327, 328, 0, 0, 0, 739, 329, 858, 859, 860,
2174 10, 0, 12, 552, 302, 303, 0, 304, 14, 0,
2175 0, 0, -483, 330, 0, 0, 0, 0, 0, 0,
2176 0, 0, 16, 305, 17, 0, 19, 0, 306, 307,
2177 20, 0, 308, 309, 310, 21, 311, 312, 0, 23,
2178 0, 0, 0, 313, 314, 315, 316, 317, 26, 0,
2179 861, 862, 740, 0, 0, 320, 0, 0, 0, 0,
2180 0, 321, 0, 0, 322, 0, 0, 0, 0, 0,
2181 0, 0, 323, 324, 325, 0, 0, 0, 0, 0,
2182 326, 327, 328, 0, 0, 0, 739, 329, 300, 8,
2183 9, 10, 0, 12, 552, 302, 303, 0, 304, 14,
2184 0, 0, 0, 1346, 330, 0, 0, 0, 0, 0,
2185 0, 0, 0, 16, 305, 17, 0, 19, 0, 306,
2186 307, 20, 0, 308, 309, 310, 21, 311, 312, 0,
2187 23, 0, 0, 0, 313, 314, 315, 316, 317, 26,
2188 0, 27, 319, 740, 0, 0, 320, 0, 0, 0,
2189 0, 0, 321, 0, 0, 322, 0, 0, 0, 0,
2190 0, 0, 0, 323, 324, 325, 0, 0, 0, 0,
2191 0, 326, 327, 328, 0, 0, 0, 0, 329, 0,
2192 570, 0, 7, 8, 9, 10, 1350, 12, 301, 302,
2193 303, 0, 304, 14, 0, 330, 0, 0, 0, 0,
2194 0, 0, 0, 0, 0, 0, 0, 16, 305, 17,
2195 18, 19, 0, 306, 307, 20, 0, 308, 309, 310,
2196 21, 311, 312, 0, 23, 0, 0, 0, 313, 314,
2197 315, 316, 317, 26, 0, 27, 28, -312, 0, 0,
2198 320, 0, 0, 0, 0, 0, 321, 0, 0, 1505,
2199 0, 0, 0, 0, 0, 0, 0, 323, 324, 1506,
2200 0, 0, 0, 0, 0, 326, 327, 328, 0, 0,
2201 0, 739, 1507, 300, 8, 9, 10, 0, 12, 552,
2202 302, 303, 0, 304, 14, 0, 0, 0, 0, 330,
2203 0, 0, 0, 0, 0, 0, 0, 0, 16, 305,
2204 17, 0, 19, 0, 306, 307, 20, 0, 308, 309,
2205 310, 21, 311, 312, 0, 23, 0, 0, 0, 313,
2206 314, 315, 316, 317, 26, 0, 27, 319, 740, 0,
2207 0, 320, 0, 0, 0, 0, 0, 321, 0, 0,
2208 322, 0, 0, 0, 0, 0, 0, 0, 323, 324,
2209 325, 0, 0, 0, 0, 0, 326, 327, 328, 0,
2210 0, 0, 1579, 329, 300, 8, 9, 10, 0, 12,
2211 301, 302, 303, 0, 304, 14, 0, 0, 0, 0,
2212 330, 0, 0, 0, 0, 0, 0, 0, 0, 16,
2213 305, 17, 0, 19, 0, 306, 307, 20, 0, 308,
2214 309, 310, 21, 311, 312, 0, 23, 0, 0, 0,
2215 313, 314, 315, 316, 317, 26, 0, 27, 319, 0,
2216 0, -196, 320, 0, 0, 0, 0, 0, 321, 0,
2217 0, 322, 0, 0, 0, 0, 0, 0, 0, 323,
2218 324, 325, 0, 0, 0, 0, 0, 326, 327, 328,
2219 0, 0, 0, 870, 329, 300, 8, 9, 10, 0,
2220 12, 552, 302, 303, 0, 304, 14, 0, 0, 0,
2221 0, 330, 0, 0, 0, 0, 0, 0, 0, 0,
2222 16, 305, 17, 0, 19, 0, 306, 307, 20, 0,
2223 308, 309, 310, 21, 311, 312, 0, 23, 0, 0,
2224 0, 313, 314, 315, 316, 317, 26, 0, 27, 319,
2225 0, 0, 0, 320, 0, 0, 0, 0, 0, 321,
2226 263, 0, 322, 8, 9, 0, 0, 12, 13, 0,
2227 323, 324, 325, 14, 0, 0, 0, 0, 326, 327,
2228 328, 0, 0, 0, 0, 329, 0, 16, 0, 17,
2229 0, 0, 0, 0, 0, 20, 0, 264, 265, 0,
2230 -788, 0, 330, 0, 23, 0, 266, 0, 0, 0,
2231 0, 0, 0, 26, 0, 130, 131, 0, 267, 0,
2232 0, 0, 268, 269, 270, 271, 272, 273, 274, 275,
2233 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
2234 286, 287, 288, 0, 0, 289, 290, 291, 0, 0,
2235 292, 0, 959, 293, 300, 8, 9, 10, 0, 12,
2236 552, 302, 303, 0, 304, 14, 0, 0, 0, 294,
2237 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
2238 305, 17, 0, 19, 0, 306, 307, 20, 0, 308,
2239 309, 310, 21, 311, 312, 0, 23, 0, 0, 0,
2240 313, 314, 315, 316, 317, 26, 0, 27, 319, 0,
2241 0, 0, 320, 0, 0, 0, 0, 0, 321, 0,
2242 0, 322, 0, 0, 0, 0, 0, 0, 0, 323,
2243 324, 325, 0, 0, 0, 0, 0, 326, 327, 328,
2244 0, 0, 0, 961, 329, 300, 8, 9, 10, 0,
2245 12, 552, 302, 303, 0, 304, 14, 0, 0, 0,
2246 0, 330, 0, 0, 0, 0, 0, 0, 0, 0,
2247 16, 305, 17, 0, 19, 0, 306, 307, 20, 0,
2248 308, 309, 310, 21, 311, 312, 0, 23, 0, 0,
2249 0, 313, 314, 315, 316, 317, 26, 0, 27, 319,
2250 0, 0, 0, 320, 0, 0, 0, 0, 0, 321,
2251 0, 0, 322, 0, 0, 0, 0, 0, 0, 0,
2252 323, 324, 325, 0, 0, 0, 0, 0, 326, 327,
2253 328, 0, 0, 0, 1515, 329, 300, 8, 9, 10,
2254 0, 12, 552, 302, 303, 0, 304, 14, 0, 0,
2255 0, 0, 330, 0, 0, 0, 0, 0, 0, 0,
2256 0, 16, 305, 17, 0, 19, 0, 306, 307, 20,
2257 0, 308, 309, 310, 21, 311, 312, 0, 23, 0,
2258 0, 0, 313, 314, 315, 316, 317, 26, 0, 27,
2259 319, 0, 0, 0, 320, 0, 0, 0, 0, 0,
2260 321, 0, 0, 322, 0, 0, 0, 0, 0, 0,
2261 0, 323, 324, 325, 0, 0, 0, 0, 0, 326,
2262 327, 328, 300, 8, 9, 10, 329, 12, 552, 302,
2263 303, 0, 304, 14, 0, 0, 0, 0, 0, 0,
2264 0, 0, 0, 330, 0, 0, 0, 16, 305, 17,
2265 0, 19, 0, 306, 307, 20, 0, 308, 309, 310,
2266 21, 311, 312, 0, 23, 0, 0, 0, 313, 314,
2267 315, 316, 317, 26, 0, 27, 319, 0, 0, 0,
2268 320, 0, 0, 0, 0, 0, 321, 0, 506, 322,
2269 7, 8, 507, 10, 167, 12, 13, 323, 324, 325,
2270 0, 14, 0, 0, 0, 326, 327, 328, 0, 0,
2271 0, 0, 329, 0, 0, 16, 0, 17, 18, 19,
2272 0, 0, 0, 20, -528, 0, 0, 0, 21, 330,
2273 909, 0, 23, 508, 0, 168, 0, 0, 0, 0,
2274 0, 26, 0, 27, 28, 0, 0, 509, 0, 510,
2275 0, 0, 0, 0, 0, 0, 0, 30, 506, 0,
2276 7, 8, 507, 10, 167, 12, 13, 31, 0, 0,
2277 0, 14, 0, 0, 0, 32, 0, 0, 0, 0,
2278 33, 0, 0, 0, 0, 16, 0, 17, 18, 19,
2279 0, 0, 0, 20, -527, 0, -528, 0, 21, 0,
2280 0, 0, 23, 508, 0, 168, 0, 0, 0, 0,
2281 0, 26, 0, 27, 28, 0, 0, 509, 0, 510,
2282 0, 0, 0, 0, 0, 0, 0, 30, 0, 0,
2283 0, 0, 0, 0, 0, 0, 0, 31, 0, 0,
2284 0, 0, 0, 0, 0, 32, 0, 0, 0, 0,
2285 33, 0, 0, 1308, 1309, 1310, 10, 167, 12, 301,
2286 302, 303, 0, 304, 14, 1311, -527, 1312, 1313, 1314,
2287 1315, 1316, 1317, 1318, 1319, 1320, 1321, 15, 16, 305,
2288 17, 18, 19, 0, 306, 307, 20, 0, 308, 309,
2289 310, 21, 311, 312, 1322, 23, 1323, 0, 0, 313,
2290 314, 315, 316, 317, 26, 0, 1324, 319, 736, 0,
2291 1325, 320, 0, 0, 0, 0, 0, 321, 0, 0,
2292 322, 0, 0, 0, 0, 0, 0, 0, 323, 324,
2293 325, 0, 0, 0, 0, 0, 326, 327, 328, 0,
2294 0, 0, 0, 329, 0, 1326, 0, 0, 0, 0,
2295 0, 0, 0, 0, 0, 0, 0, 0, 0, 1445,
2296 330, 1308, 1309, 1310, 10, 167, 12, 301, 302, 303,
2297 0, 304, 14, 1311, 0, 1312, 1313, 1314, 1315, 1316,
2298 1317, 1318, 1319, 1320, 1321, 15, 16, 305, 17, 18,
2299 19, 0, 306, 307, 20, 0, 308, 309, 310, 21,
2300 311, 312, 1322, 23, 1323, 0, 0, 313, 314, 315,
2301 316, 317, 26, 0, 1324, 319, 736, 0, 1325, 320,
2302 0, 0, 0, 0, 0, 321, 0, 0, 322, 0,
2303 0, 0, 0, 0, 0, 0, 323, 324, 325, 0,
2304 0, 0, 0, 0, 326, 327, 328, 0, 0, 0,
2305 0, 329, 0, 1326, 0, 1308, 1309, 1310, 10, 167,
2306 12, 301, 302, 303, 0, 304, 14, 1311, 330, 1312,
2307 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1321, 15,
2308 16, 305, 17, 18, 19, 0, 306, 307, 20, 0,
2309 308, 309, 310, 21, 311, 312, 1322, 23, 1323, 0,
2310 0, 313, 314, 315, 316, 317, 26, 0, 1324, 319,
2311 1556, 0, 1325, 320, 0, 0, 0, 0, 0, 321,
2312 0, 0, 322, 0, 0, 0, 0, 0, 0, 0,
2313 323, 324, 325, 0, 0, 0, 0, 0, 326, 327,
2314 328, 0, 0, 0, 0, 329, 0, 1326, 0, 1308,
2315 1309, 1310, 10, 167, 12, 301, 302, 303, 0, 304,
2316 14, 1311, 330, 1312, 1313, 1314, 1315, 1316, 1317, 1318,
2317 1319, 1320, 1321, 15, 16, 305, 17, 18, 19, 0,
2318 306, 307, 20, 0, 308, 309, 310, 21, 311, 312,
2319 1322, 23, 1323, 0, 0, 313, 314, 315, 316, 317,
2320 26, 0, 1324, 319, 0, 0, 1325, 320, 0, 0,
2321 0, 0, 0, 321, 0, 0, 322, 0, 0, 0,
2322 0, 0, 0, 0, 323, 324, 325, 0, 0, 0,
2323 0, 0, 326, 327, 328, 0, 0, 0, 0, 329,
2324 0, 1326, 300, 8, 9, 10, 167, 12, 301, 302,
2325 303, 749, 304, 14, 0, 0, 330, 0, 0, 0,
2326 0, 0, 0, 0, 0, 0, 0, 16, 305, 17,
2327 18, 19, 0, 306, 307, 20, 0, 308, 309, 310,
2328 21, 311, 312, 0, 23, 0, 636, 0, 313, 314,
2329 315, 316, 317, 26, 0, 27, 319, 0, 0, 0,
2330 320, 0, 0, 0, 0, 0, 321, 0, 0, 937,
2331 0, 0, 0, 0, 0, 0, 0, 323, 324, 938,
2332 0, 0, 0, 0, 0, 326, 327, 328, 0, 639,
2333 0, 0, 939, 641, 7, 8, 9, 10, 167, 12,
2334 301, 302, 303, 749, 304, 14, 0, 0, 0, 330,
2335 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
2336 305, 17, 18, 19, 0, 306, 307, 20, 0, 308,
2337 309, 310, 21, 311, 312, 0, 23, 0, 636, 0,
2338 313, 314, 315, 316, 317, 26, 0, 27, 28, 0,
2339 0, 0, 320, 0, 0, 0, 0, 0, 321, 0,
2340 0, 1201, 0, 0, 0, 0, 0, 0, 0, 323,
2341 324, 1202, 0, 0, 0, 0, 0, 326, 327, 328,
2342 0, 639, 0, 0, 1203, 641, 300, 8, 9, 10,
2343 0, 12, 301, 302, 303, 0, 304, 14, 0, 0,
2344 0, 330, 0, 0, 0, 0, 0, 0, 0, 0,
2345 0, 16, 305, 17, 18, 19, 0, 306, 307, 20,
2346 0, 308, 309, 310, 21, 311, 312, 0, 23, 0,
2347 636, 0, 313, 314, 315, 316, 317, 26, 0, 27,
2348 319, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2349 321, 0, 0, 937, 0, 0, 0, 0, 0, 0,
2350 0, 323, 324, 938, 0, 0, 0, 0, 0, 326,
2351 327, 328, 0, 639, 0, 0, 939, 641, 7, 8,
2352 9, 10, 0, 12, 301, 302, 303, 0, 304, 14,
2353 0, 0, 0, 330, 0, 0, 0, 0, 0, 0,
2354 0, 0, 0, 16, 305, 17, 18, 19, 0, 306,
2355 307, 20, 0, 308, 309, 310, 21, 311, 312, 0,
2356 23, 0, 636, 0, 313, 314, 315, 316, 317, 26,
2357 0, 27, 28, 0, 0, 0, 0, 0, 0, 0,
2358 0, 0, 321, 0, 0, 1201, 0, 0, 0, 0,
2359 0, 0, 0, 323, 324, 1202, 0, 0, 0, 0,
2360 0, 326, 327, 328, 0, 639, 0, 0, 1203, 641,
2361 300, 8, 9, 10, 0, 12, 552, 302, 303, 0,
2362 304, 14, 0, 0, 0, 330, 0, 0, 0, 0,
2363 0, 0, 0, 0, 0, 16, 305, 17, 18, 19,
2364 0, 306, 307, 20, 0, 308, 309, 310, 21, 311,
2365 312, 0, 23, 0, 0, 0, 313, 314, 315, 316,
2366 317, 26, 0, 27, 319, 0, 0, 0, 320, 0,
2367 0, 0, 0, 0, 321, 0, 0, 571, 0, 0,
2368 0, 0, 0, 0, 0, 323, 324, 572, 0, 0,
2369 0, 0, 0, 326, 327, 328, 300, 8, 9, 10,
2370 573, 12, 552, 302, 303, 0, 304, 14, 0, 0,
2371 0, 0, 0, 0, 0, 0, 0, 330, 0, 0,
2372 0, 16, 305, 17, 0, 19, 0, 306, 307, 20,
2373 0, 308, 309, 310, 21, 311, 312, 0, 23, 0,
2374 0, 0, 313, 314, 315, 316, 317, 26, 0, 27,
2375 319, 0, 0, 1418, 320, 0, 0, 0, 0, 0,
2376 321, 0, 0, 322, 0, 0, 0, 0, 0, 0,
2377 0, 323, 324, 325, 0, 0, 0, 0, 0, 326,
2378 327, 328, 0, 0, 0, 0, 329, 300, 8, 9,
2379 10, 167, 12, 301, 302, 303, 0, 304, 14, 0,
2380 0, 0, 0, 330, 0, 0, 0, 0, 0, 0,
2381 0, 0, 16, 305, 17, 18, 19, 0, 306, 307,
2382 20, 0, 308, 309, 310, 21, 311, 312, 0, 23,
2383 0, 0, 0, 313, 314, 315, 316, 317, 26, 0,
2384 27, 319, 0, 0, 0, 0, 0, 0, 0, 0,
2385 0, 321, 0, 0, 322, 0, 0, 0, 0, 0,
2386 0, 0, 323, 324, 325, 0, 0, 0, 0, 0,
2387 326, 327, 328, 7, 8, 9, 10, 329, 12, 552,
2388 302, 303, 0, 304, 14, 0, 0, 0, 0, 0,
2389 0, 0, 0, 0, 330, 0, 0, 0, 16, 305,
2390 17, 18, 19, 0, 306, 307, 20, 0, 308, 309,
2391 310, 21, 311, 312, 0, 23, 0, 0, 0, 313,
2392 314, 315, 316, 317, 26, 0, 27, 28, 0, 0,
2393 0, 320, 0, 0, 0, 0, 0, 321, 0, 0,
2394 1505, 0, 0, 0, 0, 0, 0, 0, 323, 324,
2395 1506, 0, 0, 0, 0, 0, 326, 327, 328, 300,
2396 8, 9, 10, 1507, 12, 301, 302, 303, 0, 304,
2397 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2398 330, 0, 0, 0, 16, 305, 17, 0, 19, 0,
2399 306, 307, 20, 0, 308, 309, 310, 21, 311, 312,
2400 0, 23, 0, 0, 0, 313, 314, 315, 316, 317,
2401 26, 0, 318, 319, 0, 0, 0, 320, 0, 0,
2402 0, 0, 0, 321, 0, 0, 322, 0, 0, 0,
2403 0, 0, 0, 0, 323, 324, 325, 0, 0, 0,
2404 0, 0, 326, 327, 328, 300, 8, 9, 10, 329,
2405 12, 301, 302, 303, 0, 304, 14, 0, 0, 0,
2406 0, 0, 0, 0, 0, 0, 330, 0, 0, 0,
2407 16, 305, 17, 0, 19, 0, 306, 307, 20, 0,
2408 308, 309, 310, 21, 311, 312, 0, 23, 0, 0,
2409 0, 313, 314, 315, 316, 317, 26, 0, 27, 319,
2410 0, 0, 0, 320, 0, 0, 0, 0, 0, 321,
2411 0, 0, 322, 0, 0, 0, 0, 0, 0, 0,
2412 323, 324, 325, 0, 0, 0, 0, 0, 326, 327,
2413 328, 300, 8, 9, 10, 329, 12, 552, 302, 303,
2414 0, 304, 14, 0, 0, 0, 0, 0, 0, 0,
2415 0, 0, 330, 0, 0, 0, 16, 305, 17, 0,
2416 19, 0, 306, 307, 20, 0, 308, 309, 310, 21,
2417 311, 312, 0, 23, 0, 0, 0, 313, 314, 315,
2418 316, 317, 26, 0, 27, 319, 0, 0, 0, 320,
2419 0, 0, 0, 0, 0, 321, 0, 0, 322, 0,
2420 0, 0, 0, 0, 0, 0, 323, 324, 325, 0,
2421 0, 0, 0, 0, 326, 327, 328, 300, 8, 9,
2422 10, 329, 12, 552, 302, 303, 0, 304, 14, 0,
2423 0, 0, 0, 0, 0, 0, 0, 0, 330, 0,
2424 0, 0, 16, 305, 17, 0, 19, 0, 306, 307,
2425 20, 0, 308, 309, 310, 21, 311, 312, 0, 23,
2426 0, 0, 0, 313, 314, 315, 316, 317, 26, 0,
2427 27, 319, 585, 0, 0, 0, 0, 0, 0, 0,
2428 0, 321, 0, 0, 322, 0, 0, 0, 0, 0,
2429 0, 0, 323, 324, 325, 0, 0, 0, 0, 0,
2430 326, 327, 328, 300, 8, 9, 10, 586, 12, 552,
2431 302, 303, 0, 304, 14, 0, 0, 0, 0, 0,
2432 0, 0, 0, 0, 330, 0, 0, 0, 16, 305,
2433 17, 0, 19, 0, 306, 307, 20, 0, 308, 309,
2434 310, 21, 311, 312, 0, 23, 0, 0, 0, 313,
2435 314, 315, 316, 317, 26, 0, 27, 319, 0, 0,
2436 0, 0, 0, 0, 0, 0, 0, 321, 0, 0,
2437 322, 0, 0, 0, 0, 0, 0, 0, 323, 324,
2438 325, 0, 0, 0, 0, 0, 326, 327, 328, 0,
2439 0, 0, 0, 329, 624, 300, 8, 9, 10, 0,
2440 12, 552, 302, 303, 0, 304, 14, 0, 0, 0,
2441 330, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2442 16, 305, 17, 18, 19, 0, 306, 307, 20, 0,
2443 308, 309, 310, 21, 311, 312, 0, 23, 0, 0,
2444 0, 313, 314, 315, 316, 317, 26, 0, 27, 319,
2445 0, 0, 0, 0, 0, 0, 0, 0, 0, 321,
2446 0, 0, 571, 0, 0, 0, 0, 0, 0, 0,
2447 323, 324, 572, 0, 0, 0, 0, 0, 326, 327,
2448 328, 1161, 8, 9, 10, 573, 12, 552, 302, 303,
2449 0, 304, 14, 0, 0, 0, 0, 0, 0, 0,
2450 0, 0, 330, 0, 0, 0, 16, 305, 17, 0,
2451 19, 0, 306, 307, 20, 0, 308, 309, 310, 21,
2452 311, 312, 0, 23, 0, 0, 0, 313, 314, 315,
2453 316, 317, 26, 0, 27, 319, 0, 0, 0, 320,
2454 0, 0, 0, 0, 0, 321, 0, 0, 322, 0,
2455 0, 0, 0, 0, 0, 0, 323, 324, 325, 0,
2456 0, 0, 0, 0, 326, 327, 328, 7, 8, 9,
2457 10, 329, 12, 301, 302, 303, 0, 304, 14, 0,
2458 0, 0, 0, 0, 0, 0, 0, 0, 330, 0,
2459 0, 0, 16, 305, 17, 18, 19, 0, 306, 307,
2460 20, 0, 308, 309, 310, 21, 311, 312, 0, 23,
2461 0, 0, 0, 313, 314, 315, 316, 317, 26, 0,
2462 27, 28, 0, 0, 0, 0, 0, 0, 0, 0,
2463 0, 321, 0, 0, 1505, 0, 0, 0, 0, 0,
2464 0, 0, 323, 324, 1506, 0, 0, 0, 0, 0,
2465 326, 327, 328, 300, 8, 9, 10, 1507, 12, 552,
2466 302, 303, 0, 304, 14, 0, 0, 0, 0, 0,
2467 0, 0, 0, 0, 330, 0, 0, 0, 16, 305,
2468 17, 0, 19, 0, 306, 307, 20, 0, 308, 309,
2469 310, 21, 311, 312, 0, 23, 0, 0, 0, 313,
2470 314, 315, 316, 317, 26, 0, 27, 319, 0, 0,
2471 0, 0, 0, 0, 0, 0, 0, 321, 0, 0,
2472 322, 0, 0, 0, 0, 0, 0, 0, 323, 324,
2473 325, 0, 0, 0, 0, 0, 326, 327, 328, 300,
2474 8, 9, 10, 553, 12, 552, 302, 303, 0, 304,
2475 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2476 330, 0, 0, 0, 16, 305, 17, 0, 19, 0,
2477 306, 307, 20, 0, 308, 309, 310, 21, 311, 312,
2478 0, 23, 0, 0, 0, 313, 314, 315, 316, 317,
2479 26, 0, 27, 319, 0, 0, 0, 0, 0, 0,
2480 0, 0, 0, 321, 0, 0, 322, 0, 0, 0,
2481 0, 0, 0, 0, 323, 324, 325, 0, 0, 0,
2482 0, 0, 326, 327, 328, 300, 8, 9, 10, 556,
2483 12, 552, 302, 303, 0, 304, 14, 0, 0, 0,
2484 0, 0, 0, 0, 0, 0, 330, 0, 0, 0,
2485 16, 305, 17, 0, 19, 0, 306, 307, 20, 0,
2486 308, 309, 310, 21, 311, 312, 0, 23, 0, 0,
2487 0, 313, 314, 315, 316, 317, 26, 0, 27, 319,
2488 0, 0, 0, 0, 0, 0, 0, 0, 0, 321,
2489 0, 0, 322, 0, 0, 0, 0, 0, 0, 0,
2490 323, 324, 325, 0, 0, 0, 0, 0, 326, 327,
2491 328, 0, 0, 8, 9, 329, 167, 12, 13, 0,
2492 0, 1550, 0, 14, 0, 0, 0, 0, 0, 0,
2493 0, 0, 330, 0, 0, 0, 0, 16, 0, 17,
2494 18, 0, 0, 0, 0, 20, 0, 0, 0, 0,
2495 0, 0, 0, 0, 23, 0, 0, 0, 0, 0,
2496 0, 0, 0, 26, 0, 130, 131, 588, 589, 590,
2497 591, 592, 593, 594, 595, 596, 597, 598, 599, 600,
2498 601, 602, 603, 604, 605, 606, 607, 608, 609, 588,
2499 589, 590, 591, 592, 593, 594, 595, 596, 597, 598,
2500 599, 600, 601, 602, 603, 604, 605, 606, 607, 608,
2501 609, 0, 0, 0, 0, 1261, 0, 0, 0, 0,
2502 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2503 677, 0, 0, 1546, 588, 589, 590, 591, 592, 593,
2504 594, 595, 596, 597, 598, 599, 600, 601, 602, 603,
2505 604, 605, 606, 607, 608, 609, 1564, 588, 589, 590,
2506 591, 592, 593, 594, 595, 596, 597, 598, 599, 600,
2507 601, 602, 603, 604, 605, 606, 607, 608, 609, 588,
2508 589, 590, 591, 592, 593, 594, 595, 596, 597, 598,
2509 599, 600, 601, 602, 603, 604, 605, 606, 607, 608,
2510 609, 588, 589, 590, 591, 592, 593, 594, 595, 596,
2511 597, 598, 599, 0, 601, 602, 603, 604, 605, 606,
2512 607, 608, 609
2513 };
2514
2515 static const short yycheck[] = { 4,
2516 174, 161, 209, 23, 176, 4, 149, 150, 402, 175,
2517 355, 402, 126, 80, 734, 156, 62, 4, 251, 349,
2518 482, 80, 355, 4, 402, 455, 14, 4, 134, 898,
2519 35, 511, 84, 513, 46, 583, 35, 42, 55, 709,
2520 247, 521, 209, 30, 31, 90, 733, 92, 35, 304,
2521 305, 218, 57, 4, 35, 42, 133, 134, 35, 640,
2522 460, 42, 620, 663, 76, 42, 647, 72, 373, 124,
2523 42, 217, 218, 42, 55, 440, 57, 144, 4, 84,
2524 133, 4, 337, 88, 35, 90, 11, 92, 1400, 296,
2525 1327, 42, 137, 780, 140, 83, 1486, 84, 1337, 42,
2526 42, 1487, 107, 108, 12, 1344, 47, 54, 58, 35,
2527 156, 57, 35, 11, 11, 47, 42, 717, 106, 42,
2528 356, 357, 355, 64, 62, 1488, 54, 38, 33, 59,
2529 54, 136, 137, 84, 139, 0, 203, 62, 1528, 75,
2530 1510, 77, 349, 54, 37, 75, 74, 577, 98, 136,
2531 74, 59, 93, 94, 62, 136, 64, 1527, 175, 140,
2532 165, 93, 149, 150, 169, 1, 212, 33, 0, 503,
2533 108, 176, 408, 409, 220, 782, 1, 1, 165, 641,
2534 306, 307, 169, 108, 165, 136, 245, 794, 169, 716,
2535 136, 237, 169, 165, 175, 176, 322, 169, 1561, 325,
2536 169, 213, 328, 262, 109, 331, 193, 194, 155, 335,
2537 108, 108, 1582, 136, 165, 822, 109, 343, 169, 47,
2538 1606, 828, 58, 1531, 27, 555, 169, 169, 31, 59,
2539 176, 1621, 490, 58, 58, 62, 74, 62, 62, 12,
2540 245, 222, 165, 169, 25, 27, 169, 74, 9, 31,
2541 1487, 402, 1491, 200, 1566, 47, 59, 60, 245, 42,
2542 248, 64, 60, 74, 245, 93, 94, 1575, 526, 346,
2543 95, 95, 3, 4, 5, 6, 59, 58, 60, 109,
2544 108, 62, 64, 149, 150, 151, 59, 393, 448, 62,
2545 342, 58, 297, 346, 245, 1061, 1062, 64, 1537, 245,
2546 61, 93, 94, 33, 7, 735, 976, 3, 4, 5,
2547 41, 109, 1078, 358, 95, 660, 108, 468, 4, 245,
2548 487, 699, 245, 54, 329, 56, 57, 109, 935, 195,
2549 385, 474, 475, 60, 37, 108, 59, 342, 48, 897,
2550 486, 487, 4, 5, 1583, 350, 8, 9, 494, 35,
2551 59, 93, 14, 358, 359, 342, 93, 88, 939, 59,
2552 56, 57, 756, 728, 729, 756, 28, 355, 30, 59,
2553 47, 93, 359, 54, 36, 75, 4, 77, 359, 525,
2554 60, 60, 109, 45, 689, 108, 169, 404, 4, 5,
2555 59, 342, 54, 74, 56, 57, 629, 402, 544, 108,
2556 405, 1270, 983, 74, 450, 8, 9, 35, 359, 74,
2557 47, 14, 47, 359, 60, 402, 93, 94, 108, 149,
2558 150, 151, 752, 404, 951, 402, 209, 954, 664, 109,
2559 109, 93, 980, 36, 217, 218, 359, 442, 54, 108,
2560 56, 57, 45, 93, 47, 571, 572, 493, 1048, 1030,
2561 107, 402, 511, 498, 513, 442, 93, 94, 93, 33,
2562 519, 442, 521, 468, 247, 195, 1232, 25, 995, 996,
2563 442, 108, 47, 442, 936, 1241, 1242, 47, 1244, 47,
2564 1087, 468, 1089, 47, 496, 47, 31, 474, 475, 640,
2565 93, 442, 58, 498, 107, 108, 647, 47, 1185, 480,
2566 900, 518, 514, 515, 47, 550, 511, 488, 513, 25,
2567 4, 27, 524, 296, 519, 47, 521, 468, 93, 442,
2568 1389, 64, 60, 93, 511, 93, 513, 54, 47, 93,
2569 511, 93, 513, 4, 521, 1222, 54, 518, 519, 44,
2570 521, 35, 58, 93, 108, 550, 62, 74, 553, 54,
2571 93, 556, 57, 727, 74, 560, 561, 562, 563, 564,
2572 511, 93, 513, 54, 35, 511, 349, 513, 573, 621,
2573 521, 42, 518, 519, 93, 521, 150, 151, 583, 95,
2574 109, 586, 12, 977, 690, 511, 977, 513, 511, 1019,
2575 513, 697, 47, 1174, 54, 521, 58, 1077, 521, 977,
2576 945, 93, 838, 54, 25, 756, 27, 54, 474, 475,
2577 476, 25, 945, 27, 74, 47, 621, 54, 62, 75,
2578 697, 195, 1203, 406, 108, 1152, 1153, 47, 774, 59,
2579 74, 782, 62, 62, 621, 640, 47, 58, 93, 94,
2580 847, 62, 647, 794, 58, 108, 62, 692, 62, 666,
2581 637, 638, 94, 640, 54, 3, 4, 5, 74, 442,
2582 647, 93, 62, 651, 1126, 136, 3, 4, 5, 108,
2583 621, 822, 1359, 93, 95, 31, 108, 828, 698, 108,
2584 58, 95, 93, 94, 62, 666, 941, 692, 705, 640,
2585 707, 708, 1458, 1459, 165, 47, 647, 47, 169, 108,
2586 25, 706, 27, 486, 487, 710, 1106, 1107, 56, 57,
2587 11, 494, 945, 733, 64, 1049, 329, 1051, 47, 56,
2588 57, 1055, 8, 9, 705, 706, 707, 708, 14, 7,
2589 8, 9, 80, 58, 970, 752, 14, 62, 109, 806,
2590 98, 93, 525, 93, 474, 475, 476, 806, 47, 60,
2591 36, 756, 47, 31, 62, 329, 815, 47, 36, 45,
2592 47, 544, 1122, 1123, 93, 1125, 74, 45, 785, 756,
2593 95, 752, 4, 5, 245, 756, 93, 782, 823, 824,
2594 3, 826, 60, 909, 935, 141, 798, 60, 939, 794,
2595 146, 1121, 804, 805, 93, 782, 808, 809, 93, 1199,
2596 812, 111, 943, 93, 785, 756, 93, 794, 1208, 1209,
2597 815, 937, 938, 1213, 4, 5, 48, 822, 823, 824,
2598 54, 826, 74, 828, 56, 57, 977, 62, 815, 1003,
2599 47, 782, 983, 94, 815, 822, 480, 54, 194, 785,
2600 74, 828, 62, 794, 488, 1081, 1082, 1083, 80, 1569,
2601 27, 94, 465, 47, 31, 429, 430, 74, 48, 74,
2602 54, 1261, 59, 60, 815, 111, 56, 57, 93, 815,
2603 74, 822, 93, 3, 4, 5, 93, 828, 3, 1030,
2604 74, 6, 59, 60, 667, 1219, 1220, 1221, 359, 815,
2605 80, 896, 815, 47, 59, 60, 901, 943, 74, 93,
2606 54, 475, 476, 259, 1018, 74, 31, 59, 3, 4,
2607 5, 6, 3, 4, 5, 182, 41, 835, 836, 837,
2608 74, 988, 59, 60, 929, 708, 56, 57, 58, 11,
2609 935, 56, 57, 108, 939, 109, 1087, 59, 1089, 93,
2610 553, 59, 60, 556, 108, 70, 41, 560, 935, 108,
2611 937, 938, 939, 48, 74, 80, 1356, 945, 59, 60,
2612 573, 56, 57, 88, 108, 56, 57, 54, 93, 752,
2613 74, 442, 977, 586, 979, 980, 74, 590, 983, 553,
2614 108, 1411, 556, 109, 935, 80, 1386, 111, 939, 108,
2615 977, 774, 109, 88, 981, 982, 983, 1427, 572, 573,
2616 977, 111, 1128, 4, 5, 618, 1336, 27, 3, 4,
2617 5, 624, 586, 1072, 74, 4, 5, 74, 1077, 54,
2618 9, 59, 60, 1174, 54, 1030, 977, 62, 74, 1172,
2619 1173, 111, 983, 3, 4, 5, 6, 111, 1043, 74,
2620 511, 108, 513, 1030, 108, 1281, 108, 48, 58, 54,
2621 521, 54, 1203, 48, 108, 56, 57, 62, 1201, 1202,
2622 8, 56, 57, 419, 847, 54, 422, 56, 57, 74,
2623 111, 41, 1077, 647, 93, 1201, 1202, 64, 434, 1030,
2624 1510, 70, 1087, 59, 1089, 1130, 56, 57, 1069, 47,
2625 1077, 80, 59, 1074, 59, 60, 1077, 1527, 74, 75,
2626 1087, 77, 1089, 4, 5, 94, 4, 5, 93, 1176,
2627 83, 84, 1117, 54, 470, 54, 472, 983, 88, 59,
2628 60, 62, 1552, 4, 5, 1130, 1077, 1521, 109, 485,
2629 1521, 1077, 60, 74, 59, 60, 1087, 36, 1089, 3,
2630 4, 5, 64, 7, 8, 9, 64, 48, 59, 60,
2631 48, 1077, 1582, 108, 1077, 56, 57, 64, 56, 57,
2632 1590, 108, 62, 1335, 1030, 1185, 60, 31, 1334, 1174,
2633 1336, 108, 36, 54, 108, 56, 57, 4, 5, 80,
2634 54, 9, 80, 75, 12, 1172, 1173, 1174, 62, 70,
2635 54, 1196, 56, 57, 58, 1525, 108, 1196, 1203, 80,
2636 74, 1327, 108, 64, 3, 4, 5, 6, 64, 1196,
2637 9, 1611, 1217, 94, 1201, 1202, 1203, 54, 54, 47,
2638 64, 111, 62, 1174, 59, 62, 62, 1239, 1240, 56,
2639 57, 59, 31, 61, 62, 59, 64, 74, 74, 103,
2640 104, 105, 41, 108, 75, 1196, 59, 75, 47, 77,
2641 108, 64, 1203, 983, 108, 54, 108, 56, 57, 108,
2642 75, 74, 75, 75, 75, 93, 94, 841, 4, 5,
2643 1196, 70, 62, 1196, 108, 108, 30, 31, 62, 33,
2644 108, 80, 78, 79, 80, 81, 82, 83, 84, 88,
2645 59, 90, 905, 111, 93, 94, 62, 94, 108, 108,
2646 1030, 108, 88, 57, 74, 59, 1172, 1173, 1174, 111,
2647 47, 65, 60, 3, 4, 5, 6, 1334, 1525, 1336,
2648 56, 57, 1327, 108, 111, 108, 939, 108, 108, 111,
2649 1335, 108, 1337, 109, 108, 1201, 1202, 1203, 1337, 1344,
2650 1327, 109, 1502, 59, 815, 1344, 64, 64, 1353, 93,
2651 1337, 41, 59, 1334, 1335, 1336, 108, 1344, 48, 3,
2652 4, 5, 1505, 1506, 938, 939, 56, 57, 64, 108,
2653 1521, 4, 5, 108, 108, 1549, 1327, 4, 5, 1505,
2654 1506, 93, 93, 93, 12, 93, 1337, 141, 109, 109,
2655 80, 8, 146, 1344, 108, 149, 150, 151, 88, 27,
2656 109, 1327, 108, 31, 1327, 108, 111, 763, 764, 983,
2657 766, 1337, 56, 57, 1337, 48, 108, 44, 1344, 47,
2658 108, 1344, 176, 56, 57, 1437, 108, 54, 182, 56,
2659 57, 59, 60, 108, 62, 111, 64, 108, 108, 193,
2660 194, 195, 1172, 1173, 1174, 33, 108, 80, 54, 108,
2661 7, 8, 9, 108, 62, 209, 1030, 14, 111, 108,
2662 3, 4, 5, 217, 218, 93, 94, 47, 62, 108,
2663 108, 1201, 1202, 1203, 31, 96, 1481, 62, 60, 36,
2664 108, 1486, 1487, 1488, 60, 9, 1491, 1486, 45, 60,
2665 16, 64, 1491, 108, 1481, 3, 4, 5, 108, 1486,
2666 1487, 1488, 1507, 60, 1491, 259, 108, 108, 108, 1526,
2667 777, 54, 108, 56, 57, 58, 1521, 108, 1505, 1506,
2668 787, 788, 108, 1528, 93, 93, 60, 4, 5, 1528,
2669 1481, 60, 1537, 54, 1521, 1486, 1487, 1488, 1537, 47,
2670 1491, 1528, 1554, 93, 111, 1526, 54, 814, 56, 57,
2671 1537, 93, 819, 1336, 17, 60, 1561, 54, 107, 97,
2672 1486, 1487, 108, 1486, 1487, 1491, 60, 108, 1491, 108,
2673 1521, 48, 1438, 108, 1561, 329, 11, 1528, 1583, 56,
2674 57, 60, 60, 93, 1583, 93, 1537, 11, 60, 59,
2675 1203, 80, 81, 82, 83, 84, 1583, 64, 60, 1173,
2676 1174, 108, 1528, 80, 1217, 1528, 1077, 108, 108, 47,
2677 1561, 1537, 60, 11, 1537, 88, 1621, 90, 60, 92,
2678 0, 0, 1621, 0, 2, 170, 982, 35, 1202, 1203,
2679 1425, 690, 1583, 977, 1621, 4, 5, 169, 442, 1505,
2680 1506, 1507, 165, 519, 1257, 1258, 1259, 1260, 86, 87,
2681 1185, 405, 406, 91, 92, 93, 94, 1583, 1548, 238,
2682 1583, 94, 4, 5, 137, 419, 139, 9, 422, 1410,
2683 1621, 139, 1621, 1271, 428, 429, 430, 299, 963, 740,
2684 434, 3, 4, 5, 6, 54, 958, 56, 57, 243,
2685 519, 4, 5, 1359, 1222, 1621, 9, 1074, 1621, 815,
2686 956, 70, 673, 4, 5, 47, 621, 1320, 1438, 200,
2687 346, 80, 54, 124, 56, 57, 470, 1337, 472, 41,
2688 474, 475, 476, 1197, 1569, 479, 48, 1590, 70, 1542,
2689 80, 485, 486, 487, 56, 57, 490, -1, 80, 1600,
2690 494, 54, 1525, 56, 57, 1602, 47, 1038, 90, 1353,
2691 -1, 93, 94, 54, 104, 56, 57, 70, 80, 3,
2692 4, 5, 6, -1, -1, 519, 88, 80, -1, 70,
2693 -1, -1, 526, -1, 1387, 1505, 1506, 1507, 772, 80,
2694 -1, -1, -1, 133, -1, -1, -1, -1, -1, 90,
2695 -1, -1, 93, 94, 144, -1, -1, 41, -1, 553,
2696 1067, 1068, 556, 1070, 1071, -1, 1073, 1420, 3, 4,
2697 5, -1, 56, 57, 1170, 1171, -1, 571, 572, 573,
2698 -1, 461, 1178, -1, -1, -1, -1, 821, 468, -1,
2699 -1, -1, 586, 827, -1, -1, 1, -1, 3, 4,
2700 5, 6, 7, 8, 9, -1, -1, 320, -1, 14,
2701 3, 4, 5, 203, 3, 4, 5, -1, 7, 8,
2702 9, 56, 57, 28, 1438, 30, 31, 32, 1481, -1,
2703 -1, 36, -1, -1, 1487, 1488, 41, 30, -1, -1,
2704 45, 46, 31, 48, -1, 358, -1, 36, 238, 54,
2705 -1, 56, 57, 647, 1507, 60, -1, 62, -1, -1,
2706 -1, 54, 461, 56, 57, 70, -1, 56, 57, 468,
2707 -1, 551, 262, 667, -1, 80, 14, -1, -1, -1,
2708 -1, -1, -1, 88, 22, -1, -1, -1, 93, 3,
2709 4, 5, 1506, 1507, -1, -1, 930, -1, 932, 1295,
2710 1296, -1, 1298, -1, 348, 349, 350, -1, 1561, -1,
2711 -1, -1, 706, -1, 708, 709, -1, -1, -1, -1,
2712 -1, -1, 1229, 1230, 1577, -1, -1, 65, 3, 4,
2713 5, 611, 7, 8, 9, -1, -1, 617, 3, 4,
2714 5, 6, 56, 57, 9, -1, 1599, 460, 461, 3,
2715 4, 5, 551, 1606, -1, 468, -1, -1, 752, -1,
2716 3, 4, 5, 6, 354, -1, 31, -1, -1, 763,
2717 764, -1, 766, -1, 654, -1, 41, -1, -1, -1,
2718 774, 56, 57, 777, -1, 498, 124, -1, -1, 54,
2719 -1, 56, 57, 787, 788, 38, 39, 510, 41, -1,
2720 107, 108, 56, 57, -1, 70, 3, 4, 5, -1,
2721 148, 54, 611, 56, 57, 80, -1, -1, 617, -1,
2722 814, -1, 412, 88, 1058, 819, -1, -1, 93, 1063,
2723 -1, -1, -1, -1, -1, -1, -1, 550, 551, -1,
2724 -1, -1, -1, -1, -1, -1, -1, 841, 647, -1,
2725 -1, -1, 1086, -1, 1088, 654, -1, 54, -1, 56,
2726 57, -1, -1, 1370, 1371, 1372, -1, -1, -1, -1,
2727 583, -1, 585, -1, -1, 588, 589, -1, 591, 592,
2728 593, 594, 595, 596, 597, 598, 599, 600, 601, 602,
2729 603, 604, 605, 606, 607, 608, 609, -1, 611, -1,
2730 238, 239, -1, -1, 617, -1, -1, -1, -1, 1143,
2731 -1, -1, 502, 251, 3, 4, 5, 6, 7, 8,
2732 9, 3, 4, 5, 6, 14, -1, -1, -1, -1,
2733 -1, 3, 4, 5, 647, -1, -1, -1, -1, -1,
2734 -1, 654, 31, 937, 938, 939, -1, 36, 1455, 1456,
2735 -1, -1, 41, -1, -1, -1, 45, 547, 47, 41,
2736 3, 4, 5, 676, 677, 54, 48, 56, 57, -1,
2737 -1, 7, 8, 9, 56, 57, 48, -1, 14, 692,
2738 -1, 70, 976, 321, 56, 57, -1, 981, 982, 983,
2739 -1, 80, -1, 637, 638, 31, -1, -1, 80, 88,
2740 36, 90, -1, -1, 93, 94, 88, -1, -1, 45,
2741 -1, 54, -1, 56, 57, 895, 896, 7, 8, 9,
2742 -1, 901, 329, -1, 14, 363, -1, 740, -1, -1,
2743 -1, -1, -1, -1, 372, 915, 1030, 917, -1, 919,
2744 -1, 31, 841, -1, 634, -1, 36, 385, 4, 5,
2745 -1, 1285, 8, 9, -1, 45, -1, -1, 14, -1,
2746 650, 705, -1, 707, 708, -1, 710, 1574, 3, 4,
2747 5, 6, -1, 1067, 1068, -1, 1070, 1071, -1, 1073,
2748 36, -1, -1, -1, 797, 965, -1, -1, -1, 45,
2749 -1, 47, -1, -1, -1, 402, 895, 896, 54, -1,
2750 56, 57, 901, -1, -1, -1, 41, -1, 752, -1,
2751 823, 824, 47, 826, 70, -1, 915, -1, 917, 54,
2752 919, 56, 57, -1, 80, -1, -1, -1, 841, 1363,
2753 1364, 1011, -1, -1, 90, 70, -1, 93, 94, -1,
2754 -1, -1, -1, 1377, 1378, 80, -1, 3, 4, 5,
2755 863, 7, -1, 88, -1, 90, -1, -1, 93, 94,
2756 1394, 468, -1, -1, 502, -1, 965, -1, -1, -1,
2757 -1, -1, -1, -1, 30, -1, 1170, 1171, 1172, 1173,
2758 1174, 37, 895, 896, 1178, -1, -1, 900, 901, 76,
2759 77, 78, 79, 80, 81, 82, 83, 84, 54, -1,
2760 56, 57, 915, 847, 917, -1, 919, 1201, 1202, 1203,
2761 -1, -1, 1011, -1, -1, -1, 806, 71, 72, 73,
2762 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
2763 84, 1030, 1466, 1467, -1, 1229, 1230, -1, -1, -1,
2764 -1, -1, 955, -1, -1, -1, 553, 585, -1, 556,
2765 -1, -1, 965, 560, 561, 562, 563, 564, -1, 3,
2766 4, 5, 6, -1, -1, 9, 573, 980, -1, -1,
2767 3, 4, 5, 6, -1, -1, 920, -1, 922, 586,
2768 993, -1, -1, -1, -1, -1, -1, 31, -1, 933,
2769 -1, 629, -1, 937, 938, -1, -1, 41, 1011, -1,
2770 -1, 1295, 1296, 47, 1298, -1, -1, 1187, 41, 1189,
2771 54, 1191, 56, 57, -1, 48, -1, 1030, -1, 3,
2772 4, 5, 6, 56, 57, 9, 70, 1, -1, 3,
2773 4, 5, 6, 640, 8, -1, 80, 981, 982, -1,
2774 647, 1335, 1336, -1, 88, -1, 90, 31, -1, 93,
2775 94, -1, 1065, 1066, 944, 88, 946, 41, -1, -1,
2776 698, -1, -1, 47, -1, -1, -1, 41, -1, -1,
2777 54, 709, 56, 57, 48, -1, 1370, 1371, 1372, -1,
2778 54, -1, 56, 57, -1, -1, 70, -1, 1187, -1,
2779 1189, -1, 1191, 1106, 1107, -1, 80, 1110, 988, -1,
2780 -1, -1, 740, -1, 88, 4, 90, -1, -1, 93,
2781 94, -1, 1292, -1, 88, 14, -1, 1130, -1, -1,
2782 -1, -1, -1, -1, -1, 24, -1, -1, -1, -1,
2783 -1, 30, 31, -1, 33, -1, 35, -1, -1, -1,
2784 -1, -1, -1, 42, 1438, -1, -1, -1, -1, 756,
2785 -1, -1, -1, -1, -1, -1, 55, -1, 57, -1,
2786 -1, 1455, 1456, -1, -1, -1, 65, -1, -1, -1,
2787 -1, -1, -1, 72, 1187, 782, 1189, -1, 1191, -1,
2788 -1, -1, 1072, -1, 83, 84, 1199, 794, -1, -1,
2789 -1, -1, -1, 1292, -1, 1208, 1209, -1, -1, -1,
2790 1213, -1, -1, -1, -1, -1, -1, 106, -1, -1,
2791 -1, 1505, 1506, 1507, -1, 822, -1, -1, -1, -1,
2792 -1, 828, 1235, -1, -1, -1, 1170, 1171, 1172, 1173,
2793 3, 4, 5, 6, 1178, 134, -1, 136, -1, -1,
2794 -1, 140, 141, -1, -1, -1, 145, 146, 1261, -1,
2795 149, 150, 151, -1, -1, -1, -1, 1201, 1202, 1149,
2796 3, 4, 5, 6, -1, -1, 165, -1, 41, -1,
2797 169, -1, -1, -1, -1, 48, 175, 176, -1, 1292,
2798 1574, -1, -1, 56, 57, -1, 1176, -1, 31, 896,
2799 -1, -1, -1, -1, 193, 194, 195, -1, 41, -1,
2800 -1, -1, -1, 1316, -1, -1, -1, 80, -1, -1,
2801 -1, 54, -1, 56, 57, 88, 4, 5, -1, -1,
2802 8, 9, 929, 222, -1, 963, 14, 70, 935, -1,
2803 -1, -1, 939, -1, -1, -1, -1, 80, 976, 1438,
2804 239, -1, -1, 1356, -1, 88, 245, -1, 36, 248,
2805 93, 1295, 1296, -1, 1298, 1368, 1369, 45, -1, 47,
2806 259, -1, -1, -1, -1, -1, 54, -1, 56, 57,
2807 977, -1, 979, 1386, -1, -1, 983, -1, 82, -1,
2808 -1, -1, 70, -1, -1, -1, -1, -1, 4, 5,
2809 -1, -1, 80, 9, -1, -1, -1, -1, 297, 298,
2810 -1, -1, 90, -1, -1, 93, 94, -1, 193, 194,
2811 195, -1, -1, -1, 3, 4, 5, 6, -1, -1,
2812 9, -1, -1, 1030, -1, 1438, -1, -1, -1, -1,
2813 -1, 47, -1, -1, -1, -1, 1043, -1, 54, -1,
2814 56, 57, 31, 342, -1, -1, -1, 346, 1461, 348,
2815 349, 350, 41, -1, 70, 159, -1, -1, -1, -1,
2816 359, -1, -1, -1, 80, 54, -1, 56, 57, 1107,
2817 -1, -1, -1, -1, 90, -1, 1489, 93, 94, -1,
2818 1087, 70, 1089, -1, -1, -1, -1, 191, -1, -1,
2819 -1, 80, -1, -1, 393, 3, 4, 5, 6, 88,
2820 204, -1, -1, 402, 93, 404, 405, -1, -1, -1,
2821 1117, -1, -1, -1, -1, -1, 4, 5, -1, -1,
2822 419, 9, -1, 422, -1, -1, -1, -1, -1, -1,
2823 -1, -1, -1, 41, -1, 434, -1, -1, -1, -1,
2824 -1, -1, -1, 442, -1, -1, 54, -1, 56, 57,
2825 3, 4, 5, 6, 62, 1193, 9, -1, -1, 47,
2826 -1, 1199, 70, -1, -1, -1, 54, 1174, 56, 57,
2827 -1, 470, 80, 472, -1, 474, 475, 476, 31, -1,
2828 88, 480, 70, -1, -1, 93, 485, -1, 41, 488,
2829 -1, -1, 80, -1, 47, -1, 1203, -1, 1611, -1,
2830 -1, 54, 90, 56, 57, 93, 94, -1, -1, 508,
2831 1217, -1, 511, -1, 513, -1, -1, 70, -1, 518,
2832 519, -1, 521, -1, -1, -1, 1, 80, 3, 4,
2833 5, 6, 7, 8, 9, 88, -1, 90, -1, 14,
2834 93, 94, -1, -1, -1, -1, -1, -1, -1, -1,
2835 -1, -1, -1, 28, -1, 30, 31, 32, -1, -1,
2836 -1, 36, 561, 562, 563, 564, 41, -1, -1, -1,
2837 45, -1, -1, 48, -1, -1, -1, -1, -1, 54,
2838 -1, 56, 57, 1321, 1322, 470, -1, 472, -1, 474,
2839 475, 476, -1, -1, -1, 70, -1, -1, -1, -1,
2840 485, -1, -1, -1, -1, 80, -1, -1, -1, -1,
2841 -1, -1, -1, 88, -1, -1, -1, -1, 93, -1,
2842 -1, -1, 621, 98, 623, -1, -1, -1, -1, -1,
2843 -1, -1, -1, 518, -1, -1, 635, -1, 637, 638,
2844 -1, 640, -1, -1, -1, -1, 1353, -1, 647, 4,
2845 5, -1, 651, 8, 9, -1, -1, -1, -1, 14,
2846 -1, -1, -1, -1, 1402, -1, -1, 666, -1, -1,
2847 -1, -1, -1, 28, 478, 30, -1, -1, -1, 483,
2848 -1, 36, -1, -1, -1, -1, 1424, 1425, -1, -1,
2849 45, 690, 47, -1, -1, -1, -1, -1, 697, 54,
2850 -1, 56, 57, -1, -1, -1, 705, 706, 707, 708,
2851 709, 710, -1, -1, -1, 70, -1, -1, -1, -1,
2852 -1, -1, -1, 527, -1, 80, -1, -1, -1, 533,
2853 -1, -1, -1, -1, -1, 90, -1, -1, 93, 94,
2854 -1, 545, 546, -1, 548, -1, -1, -1, -1, 3,
2855 4, 5, 6, 752, -1, -1, -1, 756, -1, -1,
2856 -1, 1499, -1, -1, 763, 764, -1, 766, 3, 4,
2857 5, 6, 7, 8, 9, -1, -1, -1, -1, 14,
2858 -1, -1, -1, 782, -1, -1, 785, 41, -1, -1,
2859 -1, -1, -1, -1, 48, 794, 31, -1, -1, -1,
2860 1507, 36, 56, 57, -1, -1, 41, -1, 807, -1,
2861 45, -1, 47, -1, 1521, -1, 815, -1, -1, 54,
2862 -1, 56, 57, 822, -1, -1, -1, -1, -1, 828,
2863 -1, -1, -1, -1, 88, 70, 835, 836, 837, 643,
2864 644, -1, -1, -1, 648, 80, -1, -1, 847, -1,
2865 -1, -1, -1, 88, -1, 90, -1, -1, 93, 94,
2866 -1, -1, -1, -1, -1, 4, 5, -1, 7, 8,
2867 9, -1, -1, 12, -1, 14, 4, -1, 763, 764,
2868 -1, 766, -1, -1, -1, -1, 14, -1, -1, 28,
2869 -1, 30, 31, -1, -1, 23, 24, 36, -1, -1,
2870 785, -1, 30, 31, -1, 33, 45, 35, 47, -1,
2871 -1, -1, -1, -1, 42, 54, -1, 56, 57, -1,
2872 -1, 920, -1, 922, -1, -1, -1, 55, -1, 57,
2873 929, 70, -1, -1, 933, -1, 935, 65, 937, 938,
2874 939, 80, -1, -1, 72, -1, 945, 3, 4, 5,
2875 6, 90, -1, -1, 93, 94, 84, -1, -1, -1,
2876 -1, -1, -1, -1, -1, -1, 3, 4, 5, 6,
2877 -1, -1, 9, -1, -1, -1, -1, 781, 977, -1,
2878 979, -1, 981, 982, 983, 41, -1, -1, -1, 793,
2879 -1, -1, 48, -1, 31, -1, -1, -1, -1, -1,
2880 56, 57, -1, -1, 41, -1, -1, -1, 136, -1,
2881 -1, -1, 140, 141, -1, -1, -1, 54, 146, 56,
2882 57, 149, 150, 151, -1, 829, -1, 831, -1, -1,
2883 -1, 1030, 88, 70, -1, -1, -1, 165, -1, -1,
2884 -1, 169, -1, 80, 1043, -1, -1, 175, 176, -1,
2885 -1, 88, -1, -1, -1, -1, 93, -1, -1, -1,
2886 -1, -1, -1, -1, -1, 193, 194, 195, -1, -1,
2887 1069, -1, -1, -1, -1, 1074, -1, -1, 1077, -1,
2888 -1, -1, -1, -1, -1, -1, -1, -1, 1087, -1,
2889 1089, -1, -1, -1, 222, -1, 981, 982, 983, 903,
2890 904, -1, 906, 4, 5, -1, -1, 8, 9, -1,
2891 4, 5, -1, 14, 8, 9, -1, 245, 1117, -1,
2892 14, -1, -1, 1122, 1123, -1, 1125, 28, -1, 30,
2893 934, 259, -1, -1, 28, 36, 30, -1, -1, -1,
2894 -1, -1, 36, -1, 45, 1030, -1, -1, -1, -1,
2895 -1, 45, -1, 54, -1, 56, 57, 58, -1, -1,
2896 54, -1, 56, 57, -1, -1, -1, -1, -1, 297,
2897 298, 1170, 1171, 1172, 1173, 1174, -1, -1, -1, 1178,
2898 -1, 985, -1, -1, 1069, -1, 348, 349, 350, -1,
2899 -1, -1, 93, -1, -1, -1, -1, -1, -1, -1,
2900 -1, -1, 1201, 1202, 1203, 3, 4, 5, 6, 7,
2901 8, 9, -1, -1, 342, -1, 14, -1, 346, -1,
2902 348, 349, 350, -1, -1, -1, -1, 355, -1, -1,
2903 28, 359, 30, 31, 32, -1, -1, -1, 36, -1,
2904 -1, -1, -1, 41, -1, -1, -1, 45, -1, -1,
2905 48, -1, -1, -1, -1, -1, 54, -1, 56, 57,
2906 -1, -1, -1, -1, -1, 393, -1, -1, -1, -1,
2907 -1, -1, 70, -1, 402, -1, 404, 405, -1, -1,
2908 -1, -1, 80, -1, -1, 1170, 1171, 1172, 1173, 1174,
2909 88, 419, -1, 1178, 422, 93, 1295, 1296, -1, 1298,
2910 98, -1, 3, 4, 5, 6, 434, -1, 9, -1,
2911 -1, -1, -1, -1, 442, -1, 1201, 1202, 1203, -1,
2912 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2913 31, -1, -1, -1, 1138, 1334, 1335, 1336, -1, -1,
2914 41, -1, 470, -1, 472, -1, 474, 475, 476, -1,
2915 -1, -1, 480, 54, 1353, 56, 57, 485, -1, 1,
2916 488, 3, 4, 5, 6, 7, 8, 9, -1, 70,
2917 -1, -1, 14, 1177, -1, -1, -1, -1, -1, 80,
2918 508, -1, -1, 511, -1, 513, 28, 88, 30, 31,
2919 518, 519, 93, 521, 36, -1, -1, -1, -1, 41,
2920 -1, -1, -1, 45, -1, -1, 48, -1, -1, -1,
2921 1295, 1296, 54, 1298, 56, 57, -1, -1, 60, -1,
2922 1224, -1, -1, -1, 1228, -1, -1, -1, 70, -1,
2923 -1, -1, -1, 561, 562, 563, 564, -1, 80, 1438,
2924 -1, -1, -1, -1, 1248, -1, 88, -1, 1252, -1,
2925 -1, 93, -1, -1, -1, -1, -1, -1, -1, -1,
2926 -1, -1, 3, 4, 5, 6, -1, -1, 9, -1,
2927 -1, -1, -1, -1, -1, 637, 638, -1, 640, -1,
2928 -1, -1, -1, 1287, -1, 647, -1, -1, -1, -1,
2929 31, -1, -1, 621, -1, 623, -1, -1, -1, -1,
2930 41, -1, -1, -1, -1, -1, 1505, 1506, 1507, 637,
2931 638, -1, 640, 54, -1, 56, 57, -1, -1, 647,
2932 -1, -1, 1521, -1, -1, -1, -1, 1526, -1, 70,
2933 -1, -1, 660, 3, 4, 5, 6, -1, 666, 80,
2934 -1, -1, -1, 705, -1, 707, 708, 88, 710, -1,
2935 -1, -1, 93, 1438, -1, -1, -1, -1, -1, -1,
2936 -1, 31, 690, -1, -1, -1, -1, -1, -1, -1,
2937 698, 41, -1, -1, -1, 1379, 1380, 705, 706, 707,
2938 708, 709, 710, -1, 54, -1, 56, 57, -1, -1,
2939 752, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2940 70, -1, -1, -1, -1, 733, -1, -1, -1, -1,
2941 80, -1, -1, -1, -1, -1, -1, -1, 88, -1,
2942 1505, 1506, 1507, 93, 752, -1, -1, -1, 756, -1,
2943 -1, -1, -1, -1, -1, 763, 764, -1, 766, -1,
2944 -1, -1, -1, -1, 3, 4, 5, 6, 7, 8,
2945 9, -1, 780, 12, 782, 14, -1, 785, -1, -1,
2946 -1, -1, -1, -1, -1, -1, 794, -1, -1, 28,
2947 -1, 30, 31, -1, -1, -1, -1, 36, -1, -1,
2948 -1, -1, 41, -1, -1, 847, 45, 815, 47, -1,
2949 -1, -1, -1, -1, 822, 54, -1, 56, 57, -1,
2950 828, -1, -1, -1, -1, -1, -1, 835, 836, 837,
2951 -1, 70, 3, 4, 5, 6, 7, 8, 9, 847,
2952 -1, 80, -1, 14, -1, -1, -1, -1, -1, 88,
2953 -1, 90, -1, -1, 93, 94, -1, 28, -1, 30,
2954 31, -1, -1, -1, -1, 36, -1, -1, -1, -1,
2955 41, -1, -1, -1, 45, -1, 47, -1, 920, -1,
2956 922, -1, -1, 54, -1, 56, 57, -1, -1, -1,
2957 -1, 933, -1, -1, -1, 937, 938, 939, -1, 70,
2958 3, 4, 5, 6, 7, 8, 9, -1, -1, 80,
2959 -1, 14, 920, -1, 922, -1, -1, 88, -1, 90,
2960 -1, 929, 93, 94, -1, 933, -1, 935, 31, 937,
2961 938, 939, -1, 36, -1, -1, -1, 945, 41, 981,
2962 982, 983, 45, -1, 47, -1, -1, -1, -1, -1,
2963 -1, 54, -1, 56, 57, 4, -1, -1, -1, -1,
2964 -1, -1, -1, -1, -1, -1, -1, 70, -1, 977,
2965 -1, 979, -1, 981, 982, 983, -1, 80, -1, -1,
2966 -1, 30, 31, -1, 33, 88, 35, -1, 1030, -1,
2967 93, -1, -1, 42, 73, 74, 75, 76, 77, 78,
2968 79, 80, 81, 82, 83, 84, 55, -1, 57, 3,
2969 4, 5, 6, 7, 8, 9, -1, -1, -1, -1,
2970 14, -1, 1030, -1, -1, -1, -1, -1, -1, -1,
2971 -1, 80, -1, -1, 28, 1043, 30, 31, -1, -1,
2972 -1, -1, 36, -1, -1, -1, -1, 41, -1, -1,
2973 -1, 45, -1, -1, -1, -1, -1, -1, -1, -1,
2974 54, 1069, 56, 57, -1, -1, 1074, -1, 62, 1077,
2975 -1, -1, -1, -1, -1, -1, 70, -1, -1, 1087,
2976 -1, 1089, -1, -1, 133, 134, 80, 136, -1, -1,
2977 -1, 140, 141, -1, 88, 144, -1, 146, -1, 93,
2978 149, 150, 151, -1, -1, -1, -1, 156, -1, 1117,
2979 -1, -1, -1, -1, 1122, 1123, 165, 1125, -1, -1,
2980 169, -1, -1, -1, -1, -1, 175, 176, 1170, 1171,
2981 1172, 1173, 1174, -1, -1, -1, 1178, -1, -1, -1,
2982 -1, -1, -1, -1, 193, 194, 195, -1, -1, -1,
2983 -1, -1, -1, -1, 203, -1, -1, -1, -1, 1201,
2984 1202, 1203, 1170, 1171, 1172, 1173, 1174, -1, -1, -1,
2985 1178, -1, -1, 222, -1, -1, 1, 1185, 3, 4,
2986 5, 6, 7, 8, 9, -1, -1, -1, -1, 14,
2987 -1, -1, -1, 1201, 1202, 1203, 245, -1, -1, -1,
2988 -1, -1, -1, 28, -1, 30, 31, 32, -1, -1,
2989 259, 36, 37, -1, 1222, -1, 41, -1, -1, -1,
2990 45, 46, -1, 48, 3, 4, 5, 6, -1, 54,
2991 9, 56, 57, -1, -1, 60, -1, 62, -1, -1,
2992 -1, -1, -1, -1, -1, 70, -1, -1, -1, -1,
2993 -1, -1, 31, 1295, 1296, 80, 1298, -1, -1, -1,
2994 -1, -1, 41, 88, -1, -1, -1, -1, 93, -1,
2995 -1, -1, -1, -1, -1, 54, -1, 56, 57, -1,
2996 329, -1, -1, -1, 109, -1, -1, 1295, 1296, -1,
2997 1298, 70, -1, -1, -1, -1, -1, 346, -1, -1,
2998 -1, 80, -1, -1, -1, 354, -1, -1, -1, 88,
2999 359, -1, -1, -1, 93, 1323, -1, -1, -1, -1,
3000 -1, -1, -1, -1, -1, -1, 1334, 1335, 1336, 70,
3001 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
3002 81, 82, 83, 84, 393, 1353, -1, -1, -1, -1,
3003 -1, 1359, -1, -1, -1, 404, -1, -1, -1, 1,
3004 -1, 3, 4, 5, 6, 7, 8, 9, -1, -1,
3005 419, -1, 14, 422, -1, -1, -1, -1, -1, 428,
3006 429, 430, -1, -1, -1, 434, 28, -1, 30, 31,
3007 32, -1, -1, 442, 36, 37, -1, -1, -1, 41,
3008 -1, -1, -1, 45, 46, -1, 48, -1, -1, -1,
3009 -1, -1, 54, -1, 56, 57, -1, -1, 60, -1,
3010 62, 470, -1, 472, -1, 474, 475, 476, 70, -1,
3011 1438, 480, -1, -1, -1, -1, 485, -1, 80, 488,
3012 -1, -1, 3, 4, 5, 6, 88, -1, -1, -1,
3013 -1, 93, -1, 4, 5, -1, -1, 8, 9, -1,
3014 -1, -1, 511, 14, 513, -1, -1, 109, -1, 518,
3015 519, -1, 521, -1, -1, -1, -1, 28, -1, 30,
3016 41, -1, -1, -1, -1, 36, -1, -1, -1, -1,
3017 -1, -1, -1, 54, 45, 56, 57, 1505, 1506, 1507,
3018 -1, 62, -1, 54, 553, 56, 57, 556, -1, 70,
3019 -1, -1, -1, 1521, -1, -1, -1, -1, 1526, 80,
3020 -1, -1, 571, 572, 573, -1, -1, 88, -1, 4,
3021 -1, -1, 93, -1, -1, -1, -1, 586, -1, -1,
3022 -1, 3, 4, 5, 6, -1, 1, 9, 3, 4,
3023 5, 6, 7, 8, 9, 30, 31, -1, 33, 14,
3024 35, -1, -1, -1, -1, -1, -1, 42, -1, 31,
3025 -1, -1, 27, 28, -1, 30, 31, 32, -1, 41,
3026 55, 36, 57, -1, -1, 634, 41, -1, -1, 44,
3027 45, 46, 54, 48, 56, 57, -1, -1, 647, 54,
3028 -1, 56, 57, -1, -1, 60, -1, -1, 70, -1,
3029 -1, -1, -1, -1, -1, 70, -1, 666, 80, -1,
3030 -1, -1, -1, -1, -1, 80, 88, -1, -1, -1,
3031 -1, 93, -1, 88, -1, -1, -1, -1, 93, -1,
3032 -1, 690, -1, 98, -1, -1, -1, 33, 697, -1,
3033 -1, -1, -1, -1, -1, -1, 705, 706, 707, 708,
3034 -1, 136, -1, -1, -1, 140, 141, -1, -1, 55,
3035 -1, 146, -1, -1, 149, 150, 151, -1, -1, -1,
3036 -1, -1, -1, -1, 3, 4, 5, 6, -1, -1,
3037 165, -1, -1, -1, 169, 3, 4, 5, 6, -1,
3038 175, 176, -1, 752, -1, -1, -1, 756, -1, -1,
3039 -1, -1, -1, -1, 763, 764, -1, 766, 193, 194,
3040 195, -1, 41, -1, -1, -1, -1, -1, -1, -1,
3041 -1, -1, -1, 41, -1, 54, 785, 56, 57, -1,
3042 -1, 60, -1, 62, -1, -1, 54, 222, 56, 57,
3043 -1, 70, 60, -1, -1, -1, -1, 806, -1, -1,
3044 -1, 80, 70, 149, 150, 151, 815, -1, -1, 88,
3045 245, -1, 80, -1, 93, -1, -1, -1, -1, -1,
3046 88, -1, -1, -1, 259, 93, -1, -1, -1, 175,
3047 -1, 1, 841, 3, 4, 5, 6, 7, 8, 9,
3048 10, 11, 12, 13, 14, -1, -1, 193, 194, 195,
3049 -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
3050 30, 31, 32, -1, 34, 35, 36, -1, 38, 39,
3051 40, 41, 42, 43, -1, 45, 222, -1, -1, 49,
3052 50, 51, 52, 53, 54, -1, 56, 57, -1, -1,
3053 -1, 61, -1, -1, -1, -1, -1, 67, -1, -1,
3054 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3055 80, -1, -1, -1, -1, -1, 86, 87, 88, -1,
3056 355, -1, -1, 93, 359, -1, -1, -1, 937, 938,
3057 939, -1, -1, -1, 943, 944, -1, -1, 108, -1,
3058 110, -1, -1, 3, 4, 5, 6, 7, 8, 9,
3059 -1, -1, 298, -1, 14, 72, 73, 74, 75, 76,
3060 77, 78, 79, 80, 81, 82, 83, 84, 28, 404,
3061 30, 31, 981, 982, 983, -1, 36, -1, -1, 988,
3062 -1, 41, -1, -1, 419, 45, -1, 422, -1, -1,
3063 -1, -1, -1, -1, 54, -1, 56, 57, -1, 434,
3064 60, -1, 348, 349, 350, -1, -1, 442, -1, -1,
3065 70, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3066 80, 1030, -1, -1, -1, -1, -1, -1, 88, -1,
3067 -1, -1, -1, 93, -1, 470, -1, 472, -1, 474,
3068 475, 476, -1, -1, -1, 480, -1, -1, -1, -1,
3069 485, -1, -1, 488, -1, -1, -1, -1, 404, -1,
3070 1069, -1, -1, -1, -1, 1074, -1, -1, 1077, 3,
3071 4, 5, 6, 7, 8, 9, 511, -1, 513, -1,
3072 14, -1, -1, 518, 519, -1, 521, -1, -1, -1,
3073 -1, -1, -1, -1, 28, -1, 30, 31, -1, -1,
3074 -1, -1, 36, -1, -1, -1, -1, 41, -1, -1,
3075 -1, 45, -1, -1, -1, -1, -1, -1, -1, -1,
3076 54, -1, 56, 57, 470, -1, 472, -1, 474, 475,
3077 476, -1, -1, -1, 480, -1, 70, -1, -1, 485,
3078 1149, -1, 488, -1, -1, -1, 80, -1, -1, -1,
3079 -1, -1, -1, -1, 88, -1, -1, -1, -1, 93,
3080 -1, 1170, 1171, 1172, 1173, 1174, -1, 1176, -1, 1178,
3081 -1, -1, 518, -1, 1, -1, 3, 4, 5, 6,
3082 -1, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3083 -1, -1, 1201, 1202, 1203, -1, -1, -1, -1, -1,
3084 635, 28, 29, 30, -1, 32, -1, 34, 35, 36,
3085 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3086 -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3087 57, 666, -1, -1, 61, 62, -1, -1, -1, -1,
3088 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3089 -1, 78, 79, 80, -1, -1, 55, -1, -1, 86,
3090 87, 88, -1, -1, -1, -1, 93, -1, -1, -1,
3091 705, 706, 707, 708, -1, -1, -1, 623, -1, -1,
3092 -1, 80, -1, 110, 83, -1, 1295, 1296, -1, 1298,
3093 -1, 637, 638, -1, 640, -1, -1, -1, -1, -1,
3094 -1, 647, -1, -1, -1, 104, -1, 106, -1, -1,
3095 -1, -1, -1, -1, -1, -1, -1, 752, -1, -1,
3096 666, 756, -1, -1, -1, 1334, 1335, 1336, 763, 764,
3097 -1, 766, 67, 68, 69, 70, 71, 72, 73, 74,
3098 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
3099 785, -1, -1, -1, -1, -1, -1, -1, -1, 705,
3100 -1, 707, 708, -1, 710, -1, -1, -1, -1, -1,
3101 -1, 3, 4, 5, 6, -1, 175, 9, -1, -1,
3102 815, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3103 -1, -1, -1, -1, 193, 194, 195, -1, -1, 31,
3104 -1, -1, -1, -1, 203, -1, 752, -1, -1, 41,
3105 -1, -1, -1, -1, -1, -1, -1, 763, 764, -1,
3106 766, -1, 54, 222, 56, 57, -1, -1, -1, 1438,
3107 -1, -1, -1, -1, -1, -1, -1, -1, 70, 785,
3108 -1, 3, 4, 5, 6, 7, 8, 9, 80, 248,
3109 12, -1, 14, -1, -1, -1, 88, -1, -1, -1,
3110 -1, 93, -1, 262, -1, -1, 28, -1, 30, 31,
3111 -1, -1, -1, -1, 36, -1, -1, -1, -1, 41,
3112 -1, -1, -1, 45, -1, -1, -1, -1, -1, 835,
3113 836, 837, 54, -1, 56, 57, 1505, 1506, 1507, -1,
3114 -1, 847, -1, -1, -1, -1, -1, -1, 70, -1,
3115 945, -1, -1, -1, -1, -1, -1, 1526, 80, -1,
3116 -1, -1, -1, -1, -1, -1, 88, -1, -1, -1,
3117 -1, 93, -1, -1, -1, -1, -1, -1, -1, -1,
3118 -1, -1, -1, -1, -1, -1, 981, 982, 983, -1,
3119 -1, -1, -1, -1, -1, 354, 355, -1, -1, -1,
3120 -1, 3, 4, 5, 6, 7, 8, 9, -1, -1,
3121 -1, -1, 14, -1, 920, -1, 922, -1, -1, -1,
3122 -1, -1, -1, -1, -1, -1, 28, 933, 30, 31,
3123 -1, 937, 938, 939, 36, 1030, -1, -1, -1, 41,
3124 -1, -1, -1, 45, -1, 404, -1, -1, -1, -1,
3125 -1, -1, 54, -1, 56, 57, -1, -1, 60, -1,
3126 -1, -1, -1, -1, -1, -1, -1, -1, 70, -1,
3127 -1, -1, -1, -1, 1069, 981, 982, 983, 80, 1074,
3128 -1, -1, 1077, -1, -1, -1, 88, -1, -1, -1,
3129 -1, 93, -1, -1, -1, 3, 4, 5, 6, 7,
3130 8, 9, -1, -1, -1, -1, 14, -1, -1, -1,
3131 -1, 470, -1, 472, -1, 474, 475, 476, -1, -1,
3132 28, 480, 30, 31, 1030, -1, 485, -1, 36, 488,
3133 -1, -1, -1, 41, -1, -1, -1, 45, -1, -1,
3134 -1, -1, -1, -1, -1, -1, 54, -1, 56, 57,
3135 -1, 14, -1, -1, -1, -1, -1, -1, -1, 518,
3136 23, 24, 70, 1069, -1, -1, -1, 30, 31, -1,
3137 33, 12, 80, -1, -1, 1170, 1171, 1172, 1173, 1174,
3138 88, -1, -1, 1178, -1, 93, 69, 70, 71, 72,
3139 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
3140 83, 84, 65, -1, -1, -1, 1201, 1202, 1203, -1,
3141 -1, -1, -1, -1, -1, -1, 1122, 1123, -1, 1125,
3142 -1, 62, 63, 64, 65, 66, 67, 68, 69, 70,
3143 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
3144 81, 82, 83, 84, 68, 69, 70, 71, 72, 73,
3145 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
3146 84, 124, -1, 126, 1170, 1171, 1172, 1173, 1174, -1,
3147 133, 134, 1178, -1, -1, -1, -1, 140, 141, -1,
3148 -1, 144, 145, 146, -1, 148, 149, 150, 151, -1,
3149 -1, 650, 651, -1, -1, 1201, 1202, 1203, -1, -1,
3150 1295, 1296, -1, 1298, -1, -1, -1, 666, -1, -1,
3151 -1, -1, -1, -1, -1, -1, -1, -1, 3, 4,
3152 5, 6, -1, -1, -1, -1, -1, -1, -1, -1,
3153 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1334,
3154 1335, 1336, -1, -1, -1, -1, 705, -1, 707, 708,
3155 -1, -1, -1, -1, -1, -1, 41, -1, -1, -1,
3156 -1, -1, -1, -1, -1, -1, -1, -1, -1, 54,
3157 -1, 56, 57, -1, -1, 238, 239, 62, -1, -1,
3158 -1, -1, -1, -1, -1, 70, -1, -1, -1, 1295,
3159 1296, -1, 1298, 752, -1, 80, 259, -1, -1, -1,
3160 -1, -1, -1, 88, 763, 764, -1, 766, 93, -1,
3161 -1, 1, -1, 3, 4, 5, 6, 7, 8, 9,
3162 10, 11, 12, 13, 14, -1, 785, -1, 1334, -1,
3163 1336, -1, -1, -1, -1, 298, -1, -1, 28, 29,
3164 30, 31, 32, 1438, 34, 35, 36, 806, 38, 39,
3165 40, 41, 42, 43, -1, 45, -1, 47, -1, 49,
3166 50, 51, 52, 53, 54, -1, 56, 57, 58, -1,
3167 -1, 61, -1, -1, -1, -1, -1, 67, -1, -1,
3168 70, -1, -1, 346, -1, 348, 349, -1, 78, 79,
3169 80, 3, 4, 5, 6, -1, 86, 87, 88, -1,
3170 90, -1, -1, 93, 94, -1, -1, -1, -1, -1,
3171 1505, 1506, 1507, 3, 4, 5, 6, -1, -1, 31,
3172 110, -1, -1, -1, -1, -1, -1, -1, -1, 41,
3173 393, 1526, 1438, -1, -1, -1, -1, -1, -1, -1,
3174 -1, -1, 54, -1, 56, 57, -1, -1, -1, 412,
3175 -1, 41, -1, -1, -1, -1, 419, -1, 70, 422,
3176 -1, -1, -1, -1, 54, -1, 56, 57, 80, -1,
3177 60, 434, -1, -1, -1, -1, 88, -1, -1, -1,
3178 70, 93, -1, -1, -1, 944, 945, 946, -1, -1,
3179 80, -1, -1, -1, -1, -1, -1, -1, 88, 1505,
3180 1506, 1507, -1, 93, -1, -1, -1, -1, 4, 5,
3181 -1, 7, 8, 9, 3, 4, 5, 6, 14, -1,
3182 1526, -1, 981, 982, 983, -1, -1, -1, -1, 988,
3183 -1, -1, 28, -1, 30, 31, -1, -1, -1, 502,
3184 36, -1, -1, -1, -1, 508, -1, -1, -1, 45,
3185 -1, -1, 41, -1, -1, -1, -1, -1, 54, 1018,
3186 56, 57, -1, -1, -1, 54, -1, 56, 57, -1,
3187 -1, 1030, 1, -1, 3, 4, 5, 6, 7, 8,
3188 9, 70, -1, 12, 547, 14, -1, -1, -1, -1,
3189 -1, 80, -1, -1, -1, -1, 25, -1, 27, 88,
3190 -1, -1, 31, -1, 93, -1, -1, 36, -1, -1,
3191 1069, -1, 41, -1, -1, -1, 45, -1, 47, -1,
3192 -1, -1, -1, -1, -1, 54, -1, 56, 57, 58,
3193 59, 60, -1, 62, 63, 64, 65, 66, 67, 68,
3194 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
3195 79, 80, 81, 82, 83, 84, -1, 86, 87, 88,
3196 623, 90, 91, 92, 93, 94, 95, -1, 97, -1,
3197 -1, 634, 635, 102, 637, 638, -1, -1, 107, 108,
3198 109, -1, 111, -1, -1, -1, -1, -1, -1, -1,
3199 1149, -1, -1, -1, -1, -1, -1, 4, 5, -1,
3200 7, 8, 9, -1, -1, -1, -1, 14, -1, -1,
3201 -1, 1170, 1171, 1172, 1173, 1174, -1, 1176, -1, 1178,
3202 -1, 28, -1, 30, 31, -1, -1, 690, -1, 36,
3203 -1, -1, -1, -1, 697, 698, -1, -1, 45, -1,
3204 -1, 48, 1201, 1202, 1203, -1, 709, 54, -1, 56,
3205 57, -1, -1, -1, -1, 1, -1, 3, 4, 5,
3206 6, 7, 8, 9, 10, 11, -1, 13, 14, 15,
3207 733, 17, 18, 19, 20, 21, 22, 23, 24, 25,
3208 26, 27, 28, 29, 30, 31, 32, -1, 34, 35,
3209 36, -1, 38, 39, 40, 41, 42, 43, 44, 45,
3210 46, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3211 56, 57, 58, -1, 60, 61, -1, 780, -1, -1,
3212 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3213 -1, -1, 78, 79, 80, -1, 1295, 1296, -1, 1298,
3214 86, 87, 88, -1, 807, -1, -1, 93, -1, 95,
3215 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3216 -1, -1, -1, 109, 110, -1, -1, -1, -1, -1,
3217 -1, -1, 835, 836, 837, 1334, -1, 1336, -1, -1,
3218 -1, -1, -1, -1, 847, -1, 1, -1, 3, 4,
3219 5, 6, 7, 8, 9, 10, 11, -1, 13, 14,
3220 15, -1, 17, 18, 19, 20, 21, 22, 23, 24,
3221 25, 26, 27, 28, 29, 30, 31, 32, -1, 34,
3222 35, 36, -1, 38, 39, 40, 41, 42, 43, 44,
3223 45, 46, -1, -1, 49, 50, 51, 52, 53, 54,
3224 -1, 56, 57, 58, -1, 60, 61, -1, -1, -1,
3225 -1, -1, 67, -1, -1, 70, -1, 920, -1, 922,
3226 -1, -1, -1, 78, 79, 80, 31, -1, -1, -1,
3227 933, 86, 87, 88, -1, -1, -1, -1, 93, 1438,
3228 95, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3229 -1, -1, -1, -1, -1, 110, -1, -1, 63, 64,
3230 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
3231 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
3232 -1, -1, -1, -1, -1, 4, 5, -1, 7, 8,
3233 9, -1, -1, 12, -1, 14, -1, -1, -1, -1,
3234 -1, -1, -1, -1, -1, -1, 1505, 1506, 1507, 28,
3235 -1, 30, 31, -1, -1, 1018, -1, 36, -1, -1,
3236 -1, -1, -1, -1, -1, -1, 45, 1526, -1, -1,
3237 -1, -1, -1, -1, -1, 54, -1, 56, 57, -1,
3238 -1, -1, -1, -1, -1, -1, 1, -1, 3, 4,
3239 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
3240 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1072,
3241 -1, 1074, -1, 28, 29, 30, 31, 32, -1, 34,
3242 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3243 45, -1, 47, -1, 49, 50, 51, 52, 53, 54,
3244 -1, 56, 57, 58, -1, -1, 61, -1, -1, -1,
3245 -1, -1, 67, -1, -1, 70, -1, -1, -1, 1122,
3246 1123, -1, 1125, 78, 79, 80, -1, -1, -1, -1,
3247 -1, 86, 87, 88, -1, 90, -1, -1, 93, 94,
3248 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3249 -1, -1, -1, -1, -1, 110, 1, -1, 3, 4,
3250 5, 6, 7, 8, 9, 10, 11, -1, 13, 14,
3251 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3252 -1, -1, 1185, 28, 29, 30, 31, 32, -1, 34,
3253 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3254 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
3255 -1, 56, 57, 58, -1, 60, 61, -1, -1, 1222,
3256 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3257 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3258 -1, 86, 87, 88, -1, -1, -1, -1, 93, 1,
3259 -1, 3, 4, 5, 6, -1, 8, 9, 10, 11,
3260 -1, 13, 14, -1, -1, 110, -1, -1, -1, -1,
3261 -1, -1, -1, -1, -1, -1, 28, 29, 30, -1,
3262 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3263 42, 43, -1, 45, -1, -1, -1, 49, 50, 51,
3264 52, 53, 54, -1, 56, 57, 58, -1, -1, 61,
3265 -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
3266 -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
3267 -1, -1, -1, -1, 86, 87, 88, -1, -1, -1,
3268 -1, 93, 94, -1, -1, -1, -1, -1, -1, -1,
3269 -1, -1, -1, -1, -1, -1, 1359, 109, 110, 1,
3270 -1, 3, 4, 5, 6, -1, 8, 9, 10, 11,
3271 -1, 13, 14, -1, -1, -1, -1, -1, -1, -1,
3272 -1, -1, -1, -1, -1, -1, 28, 29, 30, 31,
3273 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3274 42, 43, -1, 45, -1, -1, -1, 49, 50, 51,
3275 52, 53, 54, -1, 56, 57, 58, -1, -1, 61,
3276 -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
3277 -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
3278 -1, -1, -1, -1, 86, 87, 88, -1, -1, -1,
3279 1, 93, 3, 4, 5, 6, -1, 8, 9, 10,
3280 11, -1, 13, 14, -1, -1, -1, -1, 110, -1,
3281 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3282 -1, 32, -1, 34, 35, 36, -1, 38, 39, 40,
3283 41, 42, 43, -1, 45, -1, -1, -1, 49, 50,
3284 51, 52, 53, 54, -1, 56, 57, 58, -1, -1,
3285 61, -1, -1, -1, -1, -1, 67, -1, -1, 70,
3286 -1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
3287 -1, -1, -1, -1, -1, 86, 87, 88, -1, -1,
3288 -1, -1, 93, 94, 1, -1, 3, 4, 5, 6,
3289 -1, 8, 9, 10, 11, -1, 13, 14, -1, 110,
3290 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3291 -1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
3292 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3293 -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3294 57, 58, -1, -1, 61, -1, -1, -1, -1, -1,
3295 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3296 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3297 87, 88, -1, -1, -1, 1, 93, 3, 4, 5,
3298 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3299 -1, -1, 109, 110, -1, -1, -1, -1, -1, -1,
3300 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
3301 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3302 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3303 56, 57, 58, -1, -1, 61, -1, -1, -1, -1,
3304 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3305 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3306 86, 87, 88, -1, -1, -1, 1, 93, 3, 4,
3307 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3308 -1, -1, -1, 109, 110, -1, -1, -1, -1, -1,
3309 -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
3310 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3311 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
3312 -1, 56, 57, 58, -1, -1, 61, -1, -1, -1,
3313 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3314 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3315 -1, 86, 87, 88, -1, -1, -1, -1, 93, -1,
3316 1, -1, 3, 4, 5, 6, 101, 8, 9, 10,
3317 11, -1, 13, 14, -1, 110, -1, -1, -1, -1,
3318 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3319 31, 32, -1, 34, 35, 36, -1, 38, 39, 40,
3320 41, 42, 43, -1, 45, -1, -1, -1, 49, 50,
3321 51, 52, 53, 54, -1, 56, 57, 58, -1, -1,
3322 61, -1, -1, -1, -1, -1, 67, -1, -1, 70,
3323 -1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
3324 -1, -1, -1, -1, -1, 86, 87, 88, -1, -1,
3325 -1, 1, 93, 3, 4, 5, 6, -1, 8, 9,
3326 10, 11, -1, 13, 14, -1, -1, -1, -1, 110,
3327 -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
3328 30, -1, 32, -1, 34, 35, 36, -1, 38, 39,
3329 40, 41, 42, 43, -1, 45, -1, -1, -1, 49,
3330 50, 51, 52, 53, 54, -1, 56, 57, 58, -1,
3331 -1, 61, -1, -1, -1, -1, -1, 67, -1, -1,
3332 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3333 80, -1, -1, -1, -1, -1, 86, 87, 88, -1,
3334 -1, -1, 1, 93, 3, 4, 5, 6, -1, 8,
3335 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3336 110, -1, -1, -1, -1, -1, -1, -1, -1, 28,
3337 29, 30, -1, 32, -1, 34, 35, 36, -1, 38,
3338 39, 40, 41, 42, 43, -1, 45, -1, -1, -1,
3339 49, 50, 51, 52, 53, 54, -1, 56, 57, -1,
3340 -1, 60, 61, -1, -1, -1, -1, -1, 67, -1,
3341 -1, 70, -1, -1, -1, -1, -1, -1, -1, 78,
3342 79, 80, -1, -1, -1, -1, -1, 86, 87, 88,
3343 -1, -1, -1, 1, 93, 3, 4, 5, 6, -1,
3344 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3345 -1, 110, -1, -1, -1, -1, -1, -1, -1, -1,
3346 28, 29, 30, -1, 32, -1, 34, 35, 36, -1,
3347 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3348 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3349 -1, -1, -1, 61, -1, -1, -1, -1, -1, 67,
3350 1, -1, 70, 4, 5, -1, -1, 8, 9, -1,
3351 78, 79, 80, 14, -1, -1, -1, -1, 86, 87,
3352 88, -1, -1, -1, -1, 93, -1, 28, -1, 30,
3353 -1, -1, -1, -1, -1, 36, -1, 38, 39, -1,
3354 108, -1, 110, -1, 45, -1, 47, -1, -1, -1,
3355 -1, -1, -1, 54, -1, 56, 57, -1, 59, -1,
3356 -1, -1, 63, 64, 65, 66, 67, 68, 69, 70,
3357 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
3358 81, 82, 83, -1, -1, 86, 87, 88, -1, -1,
3359 91, -1, 1, 94, 3, 4, 5, 6, -1, 8,
3360 9, 10, 11, -1, 13, 14, -1, -1, -1, 110,
3361 -1, -1, -1, -1, -1, -1, -1, -1, -1, 28,
3362 29, 30, -1, 32, -1, 34, 35, 36, -1, 38,
3363 39, 40, 41, 42, 43, -1, 45, -1, -1, -1,
3364 49, 50, 51, 52, 53, 54, -1, 56, 57, -1,
3365 -1, -1, 61, -1, -1, -1, -1, -1, 67, -1,
3366 -1, 70, -1, -1, -1, -1, -1, -1, -1, 78,
3367 79, 80, -1, -1, -1, -1, -1, 86, 87, 88,
3368 -1, -1, -1, 1, 93, 3, 4, 5, 6, -1,
3369 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3370 -1, 110, -1, -1, -1, -1, -1, -1, -1, -1,
3371 28, 29, 30, -1, 32, -1, 34, 35, 36, -1,
3372 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3373 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3374 -1, -1, -1, 61, -1, -1, -1, -1, -1, 67,
3375 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3376 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3377 88, -1, -1, -1, 1, 93, 3, 4, 5, 6,
3378 -1, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3379 -1, -1, 110, -1, -1, -1, -1, -1, -1, -1,
3380 -1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
3381 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3382 -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3383 57, -1, -1, -1, 61, -1, -1, -1, -1, -1,
3384 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3385 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3386 87, 88, 3, 4, 5, 6, 93, 8, 9, 10,
3387 11, -1, 13, 14, -1, -1, -1, -1, -1, -1,
3388 -1, -1, -1, 110, -1, -1, -1, 28, 29, 30,
3389 -1, 32, -1, 34, 35, 36, -1, 38, 39, 40,
3390 41, 42, 43, -1, 45, -1, -1, -1, 49, 50,
3391 51, 52, 53, 54, -1, 56, 57, -1, -1, -1,
3392 61, -1, -1, -1, -1, -1, 67, -1, 1, 70,
3393 3, 4, 5, 6, 7, 8, 9, 78, 79, 80,
3394 -1, 14, -1, -1, -1, 86, 87, 88, -1, -1,
3395 -1, -1, 93, -1, -1, 28, -1, 30, 31, 32,
3396 -1, -1, -1, 36, 37, -1, -1, -1, 41, 110,
3397 111, -1, 45, 46, -1, 48, -1, -1, -1, -1,
3398 -1, 54, -1, 56, 57, -1, -1, 60, -1, 62,
3399 -1, -1, -1, -1, -1, -1, -1, 70, 1, -1,
3400 3, 4, 5, 6, 7, 8, 9, 80, -1, -1,
3401 -1, 14, -1, -1, -1, 88, -1, -1, -1, -1,
3402 93, -1, -1, -1, -1, 28, -1, 30, 31, 32,
3403 -1, -1, -1, 36, 37, -1, 109, -1, 41, -1,
3404 -1, -1, 45, 46, -1, 48, -1, -1, -1, -1,
3405 -1, 54, -1, 56, 57, -1, -1, 60, -1, 62,
3406 -1, -1, -1, -1, -1, -1, -1, 70, -1, -1,
3407 -1, -1, -1, -1, -1, -1, -1, 80, -1, -1,
3408 -1, -1, -1, -1, -1, 88, -1, -1, -1, -1,
3409 93, -1, -1, 3, 4, 5, 6, 7, 8, 9,
3410 10, 11, -1, 13, 14, 15, 109, 17, 18, 19,
3411 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
3412 30, 31, 32, -1, 34, 35, 36, -1, 38, 39,
3413 40, 41, 42, 43, 44, 45, 46, -1, -1, 49,
3414 50, 51, 52, 53, 54, -1, 56, 57, 58, -1,
3415 60, 61, -1, -1, -1, -1, -1, 67, -1, -1,
3416 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3417 80, -1, -1, -1, -1, -1, 86, 87, 88, -1,
3418 -1, -1, -1, 93, -1, 95, -1, -1, -1, -1,
3419 -1, -1, -1, -1, -1, -1, -1, -1, -1, 109,
3420 110, 3, 4, 5, 6, 7, 8, 9, 10, 11,
3421 -1, 13, 14, 15, -1, 17, 18, 19, 20, 21,
3422 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
3423 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3424 42, 43, 44, 45, 46, -1, -1, 49, 50, 51,
3425 52, 53, 54, -1, 56, 57, 58, -1, 60, 61,
3426 -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
3427 -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
3428 -1, -1, -1, -1, 86, 87, 88, -1, -1, -1,
3429 -1, 93, -1, 95, -1, 3, 4, 5, 6, 7,
3430 8, 9, 10, 11, -1, 13, 14, 15, 110, 17,
3431 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
3432 28, 29, 30, 31, 32, -1, 34, 35, 36, -1,
3433 38, 39, 40, 41, 42, 43, 44, 45, 46, -1,
3434 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3435 58, -1, 60, 61, -1, -1, -1, -1, -1, 67,
3436 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3437 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3438 88, -1, -1, -1, -1, 93, -1, 95, -1, 3,
3439 4, 5, 6, 7, 8, 9, 10, 11, -1, 13,
3440 14, 15, 110, 17, 18, 19, 20, 21, 22, 23,
3441 24, 25, 26, 27, 28, 29, 30, 31, 32, -1,
3442 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3443 44, 45, 46, -1, -1, 49, 50, 51, 52, 53,
3444 54, -1, 56, 57, -1, -1, 60, 61, -1, -1,
3445 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3446 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3447 -1, -1, 86, 87, 88, -1, -1, -1, -1, 93,
3448 -1, 95, 3, 4, 5, 6, 7, 8, 9, 10,
3449 11, 12, 13, 14, -1, -1, 110, -1, -1, -1,
3450 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3451 31, 32, -1, 34, 35, 36, -1, 38, 39, 40,
3452 41, 42, 43, -1, 45, -1, 47, -1, 49, 50,
3453 51, 52, 53, 54, -1, 56, 57, -1, -1, -1,
3454 61, -1, -1, -1, -1, -1, 67, -1, -1, 70,
3455 -1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
3456 -1, -1, -1, -1, -1, 86, 87, 88, -1, 90,
3457 -1, -1, 93, 94, 3, 4, 5, 6, 7, 8,
3458 9, 10, 11, 12, 13, 14, -1, -1, -1, 110,
3459 -1, -1, -1, -1, -1, -1, -1, -1, -1, 28,
3460 29, 30, 31, 32, -1, 34, 35, 36, -1, 38,
3461 39, 40, 41, 42, 43, -1, 45, -1, 47, -1,
3462 49, 50, 51, 52, 53, 54, -1, 56, 57, -1,
3463 -1, -1, 61, -1, -1, -1, -1, -1, 67, -1,
3464 -1, 70, -1, -1, -1, -1, -1, -1, -1, 78,
3465 79, 80, -1, -1, -1, -1, -1, 86, 87, 88,
3466 -1, 90, -1, -1, 93, 94, 3, 4, 5, 6,
3467 -1, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3468 -1, 110, -1, -1, -1, -1, -1, -1, -1, -1,
3469 -1, 28, 29, 30, 31, 32, -1, 34, 35, 36,
3470 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3471 47, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3472 57, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3473 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3474 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3475 87, 88, -1, 90, -1, -1, 93, 94, 3, 4,
3476 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3477 -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
3478 -1, -1, -1, 28, 29, 30, 31, 32, -1, 34,
3479 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3480 45, -1, 47, -1, 49, 50, 51, 52, 53, 54,
3481 -1, 56, 57, -1, -1, -1, -1, -1, -1, -1,
3482 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3483 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3484 -1, 86, 87, 88, -1, 90, -1, -1, 93, 94,
3485 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3486 13, 14, -1, -1, -1, 110, -1, -1, -1, -1,
3487 -1, -1, -1, -1, -1, 28, 29, 30, 31, 32,
3488 -1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
3489 43, -1, 45, -1, -1, -1, 49, 50, 51, 52,
3490 53, 54, -1, 56, 57, -1, -1, -1, 61, -1,
3491 -1, -1, -1, -1, 67, -1, -1, 70, -1, -1,
3492 -1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
3493 -1, -1, -1, 86, 87, 88, 3, 4, 5, 6,
3494 93, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3495 -1, -1, -1, -1, -1, -1, -1, 110, -1, -1,
3496 -1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
3497 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3498 -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3499 57, -1, -1, 60, 61, -1, -1, -1, -1, -1,
3500 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3501 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3502 87, 88, -1, -1, -1, -1, 93, 3, 4, 5,
3503 6, 7, 8, 9, 10, 11, -1, 13, 14, -1,
3504 -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
3505 -1, -1, 28, 29, 30, 31, 32, -1, 34, 35,
3506 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3507 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3508 56, 57, -1, -1, -1, -1, -1, -1, -1, -1,
3509 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3510 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3511 86, 87, 88, 3, 4, 5, 6, 93, 8, 9,
3512 10, 11, -1, 13, 14, -1, -1, -1, -1, -1,
3513 -1, -1, -1, -1, 110, -1, -1, -1, 28, 29,
3514 30, 31, 32, -1, 34, 35, 36, -1, 38, 39,
3515 40, 41, 42, 43, -1, 45, -1, -1, -1, 49,
3516 50, 51, 52, 53, 54, -1, 56, 57, -1, -1,
3517 -1, 61, -1, -1, -1, -1, -1, 67, -1, -1,
3518 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3519 80, -1, -1, -1, -1, -1, 86, 87, 88, 3,
3520 4, 5, 6, 93, 8, 9, 10, 11, -1, 13,
3521 14, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3522 110, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3523 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3524 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3525 54, -1, 56, 57, -1, -1, -1, 61, -1, -1,
3526 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3527 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3528 -1, -1, 86, 87, 88, 3, 4, 5, 6, 93,
3529 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3530 -1, -1, -1, -1, -1, -1, 110, -1, -1, -1,
3531 28, 29, 30, -1, 32, -1, 34, 35, 36, -1,
3532 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3533 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3534 -1, -1, -1, 61, -1, -1, -1, -1, -1, 67,
3535 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3536 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3537 88, 3, 4, 5, 6, 93, 8, 9, 10, 11,
3538 -1, 13, 14, -1, -1, -1, -1, -1, -1, -1,
3539 -1, -1, 110, -1, -1, -1, 28, 29, 30, -1,
3540 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3541 42, 43, -1, 45, -1, -1, -1, 49, 50, 51,
3542 52, 53, 54, -1, 56, 57, -1, -1, -1, 61,
3543 -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
3544 -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
3545 -1, -1, -1, -1, 86, 87, 88, 3, 4, 5,
3546 6, 93, 8, 9, 10, 11, -1, 13, 14, -1,
3547 -1, -1, -1, -1, -1, -1, -1, -1, 110, -1,
3548 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
3549 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3550 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3551 56, 57, 58, -1, -1, -1, -1, -1, -1, -1,
3552 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3553 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3554 86, 87, 88, 3, 4, 5, 6, 93, 8, 9,
3555 10, 11, -1, 13, 14, -1, -1, -1, -1, -1,
3556 -1, -1, -1, -1, 110, -1, -1, -1, 28, 29,
3557 30, -1, 32, -1, 34, 35, 36, -1, 38, 39,
3558 40, 41, 42, 43, -1, 45, -1, -1, -1, 49,
3559 50, 51, 52, 53, 54, -1, 56, 57, -1, -1,
3560 -1, -1, -1, -1, -1, -1, -1, 67, -1, -1,
3561 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3562 80, -1, -1, -1, -1, -1, 86, 87, 88, -1,
3563 -1, -1, -1, 93, 94, 3, 4, 5, 6, -1,
3564 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3565 110, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3566 28, 29, 30, 31, 32, -1, 34, 35, 36, -1,
3567 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3568 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3569 -1, -1, -1, -1, -1, -1, -1, -1, -1, 67,
3570 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3571 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3572 88, 3, 4, 5, 6, 93, 8, 9, 10, 11,
3573 -1, 13, 14, -1, -1, -1, -1, -1, -1, -1,
3574 -1, -1, 110, -1, -1, -1, 28, 29, 30, -1,
3575 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3576 42, 43, -1, 45, -1, -1, -1, 49, 50, 51,
3577 52, 53, 54, -1, 56, 57, -1, -1, -1, 61,
3578 -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
3579 -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
3580 -1, -1, -1, -1, 86, 87, 88, 3, 4, 5,
3581 6, 93, 8, 9, 10, 11, -1, 13, 14, -1,
3582 -1, -1, -1, -1, -1, -1, -1, -1, 110, -1,
3583 -1, -1, 28, 29, 30, 31, 32, -1, 34, 35,
3584 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3585 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3586 56, 57, -1, -1, -1, -1, -1, -1, -1, -1,
3587 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3588 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3589 86, 87, 88, 3, 4, 5, 6, 93, 8, 9,
3590 10, 11, -1, 13, 14, -1, -1, -1, -1, -1,
3591 -1, -1, -1, -1, 110, -1, -1, -1, 28, 29,
3592 30, -1, 32, -1, 34, 35, 36, -1, 38, 39,
3593 40, 41, 42, 43, -1, 45, -1, -1, -1, 49,
3594 50, 51, 52, 53, 54, -1, 56, 57, -1, -1,
3595 -1, -1, -1, -1, -1, -1, -1, 67, -1, -1,
3596 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3597 80, -1, -1, -1, -1, -1, 86, 87, 88, 3,
3598 4, 5, 6, 93, 8, 9, 10, 11, -1, 13,
3599 14, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3600 110, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3601 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3602 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3603 54, -1, 56, 57, -1, -1, -1, -1, -1, -1,
3604 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3605 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3606 -1, -1, 86, 87, 88, 3, 4, 5, 6, 93,
3607 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3608 -1, -1, -1, -1, -1, -1, 110, -1, -1, -1,
3609 28, 29, 30, -1, 32, -1, 34, 35, 36, -1,
3610 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3611 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3612 -1, -1, -1, -1, -1, -1, -1, -1, -1, 67,
3613 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3614 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3615 88, -1, -1, 4, 5, 93, 7, 8, 9, -1,
3616 -1, 12, -1, 14, -1, -1, -1, -1, -1, -1,
3617 -1, -1, 110, -1, -1, -1, -1, 28, -1, 30,
3618 31, -1, -1, -1, -1, 36, -1, -1, -1, -1,
3619 -1, -1, -1, -1, 45, -1, -1, -1, -1, -1,
3620 -1, -1, -1, 54, -1, 56, 57, 63, 64, 65,
3621 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
3622 76, 77, 78, 79, 80, 81, 82, 83, 84, 63,
3623 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
3624 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
3625 84, -1, -1, -1, -1, 111, -1, -1, -1, -1,
3626 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3627 59, -1, -1, 107, 63, 64, 65, 66, 67, 68,
3628 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
3629 79, 80, 81, 82, 83, 84, 62, 63, 64, 65,
3630 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
3631 76, 77, 78, 79, 80, 81, 82, 83, 84, 63,
3632 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
3633 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
3634 84, 63, 64, 65, 66, 67, 68, 69, 70, 71,
3635 72, 73, 74, -1, 76, 77, 78, 79, 80, 81,
3636 82, 83, 84
3637 };
3638 /* -*-C-*- Note some compilers choke on comments on `#line' lines. */
3639 #line 3 "/usr/lib/bison.simple"
3640
3641 /* Skeleton output parser for bison,
3642 Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
3643
3644 This program is free software; you can redistribute it and/or modify
3645 it under the terms of the GNU General Public License as published by
3646 the Free Software Foundation; either version 2, or (at your option)
3647 any later version.
3648
3649 This program is distributed in the hope that it will be useful,
3650 but WITHOUT ANY WARRANTY; without even the implied warranty of
3651 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3652 GNU General Public License for more details.
3653
3654 You should have received a copy of the GNU General Public License
3655 along with this program; if not, write to the Free Software
3656 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
3657
3658 /* As a special exception, when this file is copied by Bison into a
3659 Bison output file, you may use that output file without restriction.
3660 This special exception was added by the Free Software Foundation
3661 in version 1.24 of Bison. */
3662
3663 #ifndef alloca
3664 #ifdef __GNUC__
3665 #define alloca __builtin_alloca
3666 #else /* not GNU C. */
3667 #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi)
3668 #include <alloca.h>
3669 #else /* not sparc */
3670 #if defined (MSDOS) && !defined (__TURBOC__)
3671 #include <malloc.h>
3672 #else /* not MSDOS, or __TURBOC__ */
3673 #if defined(_AIX)
3674 #include <malloc.h>
3675 #pragma alloca
3676 #else /* not MSDOS, __TURBOC__, or _AIX */
3677 #ifdef __hpux
3678 #ifdef __cplusplus
3679 extern "C" {
3680 void *alloca (unsigned int);
3681 };
3682 #else /* not __cplusplus */
3683 void *alloca ();
3684 #endif /* not __cplusplus */
3685 #endif /* __hpux */
3686 #endif /* not _AIX */
3687 #endif /* not MSDOS, or __TURBOC__ */
3688 #endif /* not sparc. */
3689 #endif /* not GNU C. */
3690 #endif /* alloca not defined. */
3691
3692 /* This is the parser code that is written into each bison parser
3693 when the %semantic_parser declaration is not specified in the grammar.
3694 It was written by Richard Stallman by simplifying the hairy parser
3695 used when %semantic_parser is specified. */
3696
3697 /* Note: there must be only one dollar sign in this file.
3698 It is replaced by the list of actions, each action
3699 as one case of the switch. */
3700
3701 #define yyerrok (yyerrstatus = 0)
3702 #define yyclearin (yychar = YYEMPTY)
3703 #define YYEMPTY -2
3704 #define YYEOF 0
3705 #define YYACCEPT return(0)
3706 #define YYABORT return(1)
3707 #define YYERROR goto yyerrlab1
3708 /* Like YYERROR except do call yyerror.
3709 This remains here temporarily to ease the
3710 transition to the new meaning of YYERROR, for GCC.
3711 Once GCC version 2 has supplanted version 1, this can go. */
3712 #define YYFAIL goto yyerrlab
3713 #define YYRECOVERING() (!!yyerrstatus)
3714 #define YYBACKUP(token, value) \
3715 do \
3716 if (yychar == YYEMPTY && yylen == 1) \
3717 { yychar = (token), yylval = (value); \
3718 yychar1 = YYTRANSLATE (yychar); \
3719 YYPOPSTACK; \
3720 goto yybackup; \
3721 } \
3722 else \
3723 { yyerror ("syntax error: cannot back up"); YYERROR; } \
3724 while (0)
3725
3726 #define YYTERROR 1
3727 #define YYERRCODE 256
3728
3729 #ifndef YYPURE
3730 #define YYLEX yylex()
3731 #endif
3732
3733 #ifdef YYPURE
3734 #ifdef YYLSP_NEEDED
3735 #ifdef YYLEX_PARAM
3736 #define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM)
3737 #else
3738 #define YYLEX yylex(&yylval, &yylloc)
3739 #endif
3740 #else /* not YYLSP_NEEDED */
3741 #ifdef YYLEX_PARAM
3742 #define YYLEX yylex(&yylval, YYLEX_PARAM)
3743 #else
3744 #define YYLEX yylex(&yylval)
3745 #endif
3746 #endif /* not YYLSP_NEEDED */
3747 #endif
3748
3749 /* If nonreentrant, generate the variables here */
3750
3751 #ifndef YYPURE
3752
3753 int yychar; /* the lookahead symbol */
3754 YYSTYPE yylval; /* the semantic value of the */
3755 /* lookahead symbol */
3756
3757 #ifdef YYLSP_NEEDED
3758 YYLTYPE yylloc; /* location data for the lookahead */
3759 /* symbol */
3760 #endif
3761
3762 int yynerrs; /* number of parse errors so far */
3763 #endif /* not YYPURE */
3764
3765 #if YYDEBUG != 0
3766 int yydebug; /* nonzero means print parse trace */
3767 /* Since this is uninitialized, it does not stop multiple parsers
3768 from coexisting. */
3769 #endif
3770
3771 /* YYINITDEPTH indicates the initial size of the parser's stacks */
3772
3773 #ifndef YYINITDEPTH
3774 #define YYINITDEPTH 200
3775 #endif
3776
3777 /* YYMAXDEPTH is the maximum size the stacks can grow to
3778 (effective only if the built-in stack extension method is used). */
3779
3780 #if YYMAXDEPTH == 0
3781 #undef YYMAXDEPTH
3782 #endif
3783
3784 #ifndef YYMAXDEPTH
3785 #define YYMAXDEPTH 10000
3786 #endif
3787
3788 /* Prevent warning if -Wstrict-prototypes. */
3789 #ifdef __GNUC__
3790 int yyparse (void);
3791 #endif
3792 \f
3793 #if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
3794 #define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT)
3795 #else /* not GNU C or C++ */
3796 #ifndef __cplusplus
3797
3798 /* This is the most reliable way to avoid incompatibilities
3799 in available built-in functions on various systems. */
3800 static void
3801 __yy_memcpy (to, from, count)
3802 char *to;
3803 char *from;
3804 int count;
3805 {
3806 register char *f = from;
3807 register char *t = to;
3808 register int i = count;
3809
3810 while (i-- > 0)
3811 *t++ = *f++;
3812 }
3813
3814 #else /* __cplusplus */
3815
3816 /* This is the most reliable way to avoid incompatibilities
3817 in available built-in functions on various systems. */
3818 static void
3819 __yy_memcpy (char *to, char *from, int count)
3820 {
3821 register char *f = from;
3822 register char *t = to;
3823 register int i = count;
3824
3825 while (i-- > 0)
3826 *t++ = *f++;
3827 }
3828
3829 #endif
3830 #endif
3831 \f
3832 #line 196 "/usr/lib/bison.simple"
3833
3834 /* The user can define YYPARSE_PARAM as the name of an argument to be passed
3835 into yyparse. The argument should have type void *.
3836 It should actually point to an object.
3837 Grammar actions can access the variable by casting it
3838 to the proper pointer type. */
3839
3840 #ifdef YYPARSE_PARAM
3841 #ifdef __cplusplus
3842 #define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
3843 #define YYPARSE_PARAM_DECL
3844 #else /* not __cplusplus */
3845 #define YYPARSE_PARAM_ARG YYPARSE_PARAM
3846 #define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
3847 #endif /* not __cplusplus */
3848 #else /* not YYPARSE_PARAM */
3849 #define YYPARSE_PARAM_ARG
3850 #define YYPARSE_PARAM_DECL
3851 #endif /* not YYPARSE_PARAM */
3852
3853 int
3854 yyparse(YYPARSE_PARAM_ARG)
3855 YYPARSE_PARAM_DECL
3856 {
3857 register int yystate;
3858 register int yyn;
3859 register short *yyssp;
3860 register YYSTYPE *yyvsp;
3861 int yyerrstatus; /* number of tokens to shift before error messages enabled */
3862 int yychar1 = 0; /* lookahead token as an internal (translated) token number */
3863
3864 short yyssa[YYINITDEPTH]; /* the state stack */
3865 YYSTYPE yyvsa[YYINITDEPTH]; /* the semantic value stack */
3866
3867 short *yyss = yyssa; /* refer to the stacks thru separate pointers */
3868 YYSTYPE *yyvs = yyvsa; /* to allow yyoverflow to reallocate them elsewhere */
3869
3870 #ifdef YYLSP_NEEDED
3871 YYLTYPE yylsa[YYINITDEPTH]; /* the location stack */
3872 YYLTYPE *yyls = yylsa;
3873 YYLTYPE *yylsp;
3874
3875 #define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
3876 #else
3877 #define YYPOPSTACK (yyvsp--, yyssp--)
3878 #endif
3879
3880 int yystacksize = YYINITDEPTH;
3881
3882 #ifdef YYPURE
3883 int yychar;
3884 YYSTYPE yylval;
3885 int yynerrs;
3886 #ifdef YYLSP_NEEDED
3887 YYLTYPE yylloc;
3888 #endif
3889 #endif
3890
3891 YYSTYPE yyval; /* the variable used to return */
3892 /* semantic values from the action */
3893 /* routines */
3894
3895 int yylen;
3896
3897 #if YYDEBUG != 0
3898 if (yydebug)
3899 fprintf(stderr, "Starting parse\n");
3900 #endif
3901
3902 yystate = 0;
3903 yyerrstatus = 0;
3904 yynerrs = 0;
3905 yychar = YYEMPTY; /* Cause a token to be read. */
3906
3907 /* Initialize stack pointers.
3908 Waste one element of value and location stack
3909 so that they stay on the same level as the state stack.
3910 The wasted elements are never initialized. */
3911
3912 yyssp = yyss - 1;
3913 yyvsp = yyvs;
3914 #ifdef YYLSP_NEEDED
3915 yylsp = yyls;
3916 #endif
3917
3918 /* Push a new state, which is found in yystate . */
3919 /* In all cases, when you get here, the value and location stacks
3920 have just been pushed. so pushing a state here evens the stacks. */
3921 yynewstate:
3922
3923 *++yyssp = yystate;
3924
3925 if (yyssp >= yyss + yystacksize - 1)
3926 {
3927 /* Give user a chance to reallocate the stack */
3928 /* Use copies of these so that the &'s don't force the real ones into memory. */
3929 YYSTYPE *yyvs1 = yyvs;
3930 short *yyss1 = yyss;
3931 #ifdef YYLSP_NEEDED
3932 YYLTYPE *yyls1 = yyls;
3933 #endif
3934
3935 /* Get the current used size of the three stacks, in elements. */
3936 int size = yyssp - yyss + 1;
3937
3938 #ifdef yyoverflow
3939 /* Each stack pointer address is followed by the size of
3940 the data in use in that stack, in bytes. */
3941 #ifdef YYLSP_NEEDED
3942 /* This used to be a conditional around just the two extra args,
3943 but that might be undefined if yyoverflow is a macro. */
3944 yyoverflow("parser stack overflow",
3945 &yyss1, size * sizeof (*yyssp),
3946 &yyvs1, size * sizeof (*yyvsp),
3947 &yyls1, size * sizeof (*yylsp),
3948 &yystacksize);
3949 #else
3950 yyoverflow("parser stack overflow",
3951 &yyss1, size * sizeof (*yyssp),
3952 &yyvs1, size * sizeof (*yyvsp),
3953 &yystacksize);
3954 #endif
3955
3956 yyss = yyss1; yyvs = yyvs1;
3957 #ifdef YYLSP_NEEDED
3958 yyls = yyls1;
3959 #endif
3960 #else /* no yyoverflow */
3961 /* Extend the stack our own way. */
3962 if (yystacksize >= YYMAXDEPTH)
3963 {
3964 yyerror("parser stack overflow");
3965 return 2;
3966 }
3967 yystacksize *= 2;
3968 if (yystacksize > YYMAXDEPTH)
3969 yystacksize = YYMAXDEPTH;
3970 yyss = (short *) alloca (yystacksize * sizeof (*yyssp));
3971 __yy_memcpy ((char *)yyss, (char *)yyss1, size * sizeof (*yyssp));
3972 yyvs = (YYSTYPE *) alloca (yystacksize * sizeof (*yyvsp));
3973 __yy_memcpy ((char *)yyvs, (char *)yyvs1, size * sizeof (*yyvsp));
3974 #ifdef YYLSP_NEEDED
3975 yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp));
3976 __yy_memcpy ((char *)yyls, (char *)yyls1, size * sizeof (*yylsp));
3977 #endif
3978 #endif /* no yyoverflow */
3979
3980 yyssp = yyss + size - 1;
3981 yyvsp = yyvs + size - 1;
3982 #ifdef YYLSP_NEEDED
3983 yylsp = yyls + size - 1;
3984 #endif
3985
3986 #if YYDEBUG != 0
3987 if (yydebug)
3988 fprintf(stderr, "Stack size increased to %d\n", yystacksize);
3989 #endif
3990
3991 if (yyssp >= yyss + yystacksize - 1)
3992 YYABORT;
3993 }
3994
3995 #if YYDEBUG != 0
3996 if (yydebug)
3997 fprintf(stderr, "Entering state %d\n", yystate);
3998 #endif
3999
4000 goto yybackup;
4001 yybackup:
4002
4003 /* Do appropriate processing given the current state. */
4004 /* Read a lookahead token if we need one and don't already have one. */
4005 /* yyresume: */
4006
4007 /* First try to decide what to do without reference to lookahead token. */
4008
4009 yyn = yypact[yystate];
4010 if (yyn == YYFLAG)
4011 goto yydefault;
4012
4013 /* Not known => get a lookahead token if don't already have one. */
4014
4015 /* yychar is either YYEMPTY or YYEOF
4016 or a valid token in external form. */
4017
4018 if (yychar == YYEMPTY)
4019 {
4020 #if YYDEBUG != 0
4021 if (yydebug)
4022 fprintf(stderr, "Reading a token: ");
4023 #endif
4024 yychar = YYLEX;
4025 }
4026
4027 /* Convert token to internal form (in yychar1) for indexing tables with */
4028
4029 if (yychar <= 0) /* This means end of input. */
4030 {
4031 yychar1 = 0;
4032 yychar = YYEOF; /* Don't call YYLEX any more */
4033
4034 #if YYDEBUG != 0
4035 if (yydebug)
4036 fprintf(stderr, "Now at end of input.\n");
4037 #endif
4038 }
4039 else
4040 {
4041 yychar1 = YYTRANSLATE(yychar);
4042
4043 #if YYDEBUG != 0
4044 if (yydebug)
4045 {
4046 fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
4047 /* Give the individual parser a way to print the precise meaning
4048 of a token, for further debugging info. */
4049 #ifdef YYPRINT
4050 YYPRINT (stderr, yychar, yylval);
4051 #endif
4052 fprintf (stderr, ")\n");
4053 }
4054 #endif
4055 }
4056
4057 yyn += yychar1;
4058 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
4059 goto yydefault;
4060
4061 yyn = yytable[yyn];
4062
4063 /* yyn is what to do for this token type in this state.
4064 Negative => reduce, -yyn is rule number.
4065 Positive => shift, yyn is new state.
4066 New state is final state => don't bother to shift,
4067 just return success.
4068 0, or most negative number => error. */
4069
4070 if (yyn < 0)
4071 {
4072 if (yyn == YYFLAG)
4073 goto yyerrlab;
4074 yyn = -yyn;
4075 goto yyreduce;
4076 }
4077 else if (yyn == 0)
4078 goto yyerrlab;
4079
4080 if (yyn == YYFINAL)
4081 YYACCEPT;
4082
4083 /* Shift the lookahead token. */
4084
4085 #if YYDEBUG != 0
4086 if (yydebug)
4087 fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
4088 #endif
4089
4090 /* Discard the token being shifted unless it is eof. */
4091 if (yychar != YYEOF)
4092 yychar = YYEMPTY;
4093
4094 *++yyvsp = yylval;
4095 #ifdef YYLSP_NEEDED
4096 *++yylsp = yylloc;
4097 #endif
4098
4099 /* count tokens shifted since error; after three, turn off error status. */
4100 if (yyerrstatus) yyerrstatus--;
4101
4102 yystate = yyn;
4103 goto yynewstate;
4104
4105 /* Do the default action for the current state. */
4106 yydefault:
4107
4108 yyn = yydefact[yystate];
4109 if (yyn == 0)
4110 goto yyerrlab;
4111
4112 /* Do a reduction. yyn is the number of a rule to reduce with. */
4113 yyreduce:
4114 yylen = yyr2[yyn];
4115 if (yylen > 0)
4116 yyval = yyvsp[1-yylen]; /* implement default value of the action */
4117
4118 #if YYDEBUG != 0
4119 if (yydebug)
4120 {
4121 int i;
4122
4123 fprintf (stderr, "Reducing via rule %d (line %d), ",
4124 yyn, yyrline[yyn]);
4125
4126 /* Print the symbols being reduced, and their result. */
4127 for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
4128 fprintf (stderr, "%s ", yytname[yyrhs[i]]);
4129 fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
4130 }
4131 #endif
4132
4133
4134 switch (yyn) {
4135
4136 case 2:
4137 #line 340 "parse.y"
4138 { finish_translation_unit (); ;
4139 break;}
4140 case 3:
4141 #line 348 "parse.y"
4142 { yyval.ttype = NULL_TREE; ;
4143 break;}
4144 case 4:
4145 #line 350 "parse.y"
4146 { yyval.ttype = NULL_TREE; ;
4147 break;}
4148 case 5:
4149 #line 352 "parse.y"
4150 { yyval.ttype = NULL_TREE; ;
4151 break;}
4152 case 8:
4153 #line 361 "parse.y"
4154 { have_extern_spec = 1;
4155 used_extern_spec = 0;
4156 yyval.ttype = NULL_TREE; ;
4157 break;}
4158 case 9:
4159 #line 366 "parse.y"
4160 { have_extern_spec = 0; ;
4161 break;}
4162 case 10:
4163 #line 371 "parse.y"
4164 { yyval.itype = pedantic;
4165 pedantic = 0; ;
4166 break;}
4167 case 12:
4168 #line 380 "parse.y"
4169 { if (pending_lang_change) do_pending_lang_change(); ;
4170 break;}
4171 case 13:
4172 #line 382 "parse.y"
4173 { if (! toplevel_bindings_p () && ! pseudo_global_level_p())
4174 pop_everything (); ;
4175 break;}
4176 case 14:
4177 #line 388 "parse.y"
4178 { if (pending_inlines) do_pending_inlines (); ;
4179 break;}
4180 case 15:
4181 #line 390 "parse.y"
4182 { if (pending_inlines) do_pending_inlines (); ;
4183 break;}
4184 case 16:
4185 #line 392 "parse.y"
4186 { if (pending_inlines) do_pending_inlines (); ;
4187 break;}
4188 case 17:
4189 #line 394 "parse.y"
4190 { if (TREE_CHAIN (yyvsp[-2].ttype)) yyvsp[-2].ttype = combine_strings (yyvsp[-2].ttype);
4191 assemble_asm (yyvsp[-2].ttype); ;
4192 break;}
4193 case 18:
4194 #line 397 "parse.y"
4195 { pop_lang_context (); ;
4196 break;}
4197 case 19:
4198 #line 399 "parse.y"
4199 { if (pending_inlines) do_pending_inlines ();
4200 pop_lang_context (); ;
4201 break;}
4202 case 20:
4203 #line 402 "parse.y"
4204 { if (pending_inlines) do_pending_inlines ();
4205 pop_lang_context (); ;
4206 break;}
4207 case 21:
4208 #line 405 "parse.y"
4209 { push_namespace (yyvsp[-1].ttype); ;
4210 break;}
4211 case 22:
4212 #line 407 "parse.y"
4213 { pop_namespace (); ;
4214 break;}
4215 case 23:
4216 #line 409 "parse.y"
4217 { push_namespace (NULL_TREE); ;
4218 break;}
4219 case 24:
4220 #line 411 "parse.y"
4221 { pop_namespace (); ;
4222 break;}
4223 case 26:
4224 #line 414 "parse.y"
4225 { do_toplevel_using_decl (yyvsp[-1].ttype); ;
4226 break;}
4227 case 28:
4228 #line 417 "parse.y"
4229 { pedantic = yyvsp[-1].itype; ;
4230 break;}
4231 case 29:
4232 #line 422 "parse.y"
4233 { begin_only_namespace_names (); ;
4234 break;}
4235 case 30:
4236 #line 424 "parse.y"
4237 {
4238 end_only_namespace_names ();
4239 if (lastiddecl)
4240 yyvsp[-1].ttype = lastiddecl;
4241 do_namespace_alias (yyvsp[-4].ttype, yyvsp[-1].ttype);
4242 ;
4243 break;}
4244 case 31:
4245 #line 434 "parse.y"
4246 { yyval.ttype = yyvsp[0].ttype; ;
4247 break;}
4248 case 32:
4249 #line 436 "parse.y"
4250 { yyval.ttype = yyvsp[0].ttype; ;
4251 break;}
4252 case 33:
4253 #line 438 "parse.y"
4254 { yyval.ttype = yyvsp[0].ttype; ;
4255 break;}
4256 case 34:
4257 #line 443 "parse.y"
4258 { yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4259 break;}
4260 case 35:
4261 #line 445 "parse.y"
4262 { yyval.ttype = build_parse_node (SCOPE_REF, global_namespace, yyvsp[0].ttype); ;
4263 break;}
4264 case 36:
4265 #line 447 "parse.y"
4266 { yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4267 break;}
4268 case 37:
4269 #line 452 "parse.y"
4270 { begin_only_namespace_names (); ;
4271 break;}
4272 case 38:
4273 #line 454 "parse.y"
4274 {
4275 end_only_namespace_names ();
4276 /* If no declaration was found, the using-directive is
4277 invalid. Since that was not reported, we need the
4278 identifier for the error message. */
4279 if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE && lastiddecl)
4280 yyvsp[-1].ttype = lastiddecl;
4281 do_using_directive (yyvsp[-1].ttype);
4282 ;
4283 break;}
4284 case 39:
4285 #line 467 "parse.y"
4286 {
4287 if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
4288 yyval.ttype = lastiddecl;
4289 got_scope = yyval.ttype;
4290 ;
4291 break;}
4292 case 40:
4293 #line 473 "parse.y"
4294 {
4295 yyval.ttype = yyvsp[-1].ttype;
4296 if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
4297 yyval.ttype = lastiddecl;
4298 got_scope = yyval.ttype;
4299 ;
4300 break;}
4301 case 43:
4302 #line 484 "parse.y"
4303 { yyval.ttype = yyvsp[0].ttype; ;
4304 break;}
4305 case 44:
4306 #line 486 "parse.y"
4307 { yyval.ttype = yyvsp[0].ttype; ;
4308 break;}
4309 case 45:
4310 #line 491 "parse.y"
4311 { push_lang_context (yyvsp[0].ttype); ;
4312 break;}
4313 case 46:
4314 #line 493 "parse.y"
4315 { if (current_lang_name != yyvsp[0].ttype)
4316 cp_error ("use of linkage spec `%D' is different from previous spec `%D'", yyvsp[0].ttype, current_lang_name);
4317 pop_lang_context (); push_lang_context (yyvsp[0].ttype); ;
4318 break;}
4319 case 47:
4320 #line 500 "parse.y"
4321 { begin_template_parm_list (); ;
4322 break;}
4323 case 48:
4324 #line 502 "parse.y"
4325 { yyval.ttype = end_template_parm_list (yyvsp[-1].ttype); ;
4326 break;}
4327 case 49:
4328 #line 504 "parse.y"
4329 { begin_specialization();
4330 yyval.ttype = NULL_TREE; ;
4331 break;}
4332 case 50:
4333 #line 510 "parse.y"
4334 { yyval.ttype = process_template_parm (NULL_TREE, yyvsp[0].ttype); ;
4335 break;}
4336 case 51:
4337 #line 512 "parse.y"
4338 { yyval.ttype = process_template_parm (yyvsp[-2].ttype, yyvsp[0].ttype); ;
4339 break;}
4340 case 52:
4341 #line 517 "parse.y"
4342 { yyval.ttype = yyvsp[0].ttype; ;
4343 break;}
4344 case 53:
4345 #line 519 "parse.y"
4346 { yyval.ttype = NULL_TREE; ;
4347 break;}
4348 case 54:
4349 #line 523 "parse.y"
4350 { yyval.ttype = finish_template_type_parm (yyvsp[-1].ttype, yyvsp[0].ttype); ;
4351 break;}
4352 case 55:
4353 #line 525 "parse.y"
4354 { yyval.ttype = finish_template_type_parm (class_type_node, yyvsp[0].ttype); ;
4355 break;}
4356 case 56:
4357 #line 530 "parse.y"
4358 { yyval.ttype = finish_template_template_parm (yyvsp[-1].ttype, yyvsp[0].ttype); ;
4359 break;}
4360 case 57:
4361 #line 542 "parse.y"
4362 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
4363 break;}
4364 case 58:
4365 #line 544 "parse.y"
4366 { yyval.ttype = build_tree_list (groktypename (yyvsp[0].ftype.t), yyvsp[-2].ttype); ;
4367 break;}
4368 case 59:
4369 #line 546 "parse.y"
4370 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ftype.t); ;
4371 break;}
4372 case 60:
4373 #line 548 "parse.y"
4374 { yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-2].ftype.t); ;
4375 break;}
4376 case 61:
4377 #line 550 "parse.y"
4378 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
4379 break;}
4380 case 62:
4381 #line 552 "parse.y"
4382 {
4383 if (TREE_CODE (yyvsp[0].ttype) != TEMPLATE_DECL
4384 && TREE_CODE (yyvsp[0].ttype) != TEMPLATE_TEMPLATE_PARM
4385 && TREE_CODE (yyvsp[0].ttype) != TYPE_DECL)
4386 {
4387 error ("invalid default template argument");
4388 yyvsp[0].ttype = error_mark_node;
4389 }
4390 yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype);
4391 ;
4392 break;}
4393 case 63:
4394 #line 566 "parse.y"
4395 { finish_template_decl (yyvsp[-1].ttype); ;
4396 break;}
4397 case 64:
4398 #line 568 "parse.y"
4399 { finish_template_decl (yyvsp[-1].ttype); ;
4400 break;}
4401 case 65:
4402 #line 573 "parse.y"
4403 { if (pending_inlines) do_pending_inlines (); ;
4404 break;}
4405 case 66:
4406 #line 575 "parse.y"
4407 { if (pending_inlines) do_pending_inlines (); ;
4408 break;}
4409 case 67:
4410 #line 577 "parse.y"
4411 { if (pending_inlines) do_pending_inlines (); ;
4412 break;}
4413 case 68:
4414 #line 579 "parse.y"
4415 { if (pending_inlines) do_pending_inlines ();
4416 pop_lang_context (); ;
4417 break;}
4418 case 69:
4419 #line 582 "parse.y"
4420 { if (pending_inlines) do_pending_inlines ();
4421 pop_lang_context (); ;
4422 break;}
4423 case 70:
4424 #line 585 "parse.y"
4425 { pedantic = yyvsp[-1].itype; ;
4426 break;}
4427 case 72:
4428 #line 591 "parse.y"
4429 {;
4430 break;}
4431 case 73:
4432 #line 593 "parse.y"
4433 { note_list_got_semicolon (yyvsp[-2].ftype.t); ;
4434 break;}
4435 case 74:
4436 #line 595 "parse.y"
4437 { maybe_process_partial_specialization (yyvsp[-1].ftype.t);
4438 note_got_semicolon (yyvsp[-1].ftype.t); ;
4439 break;}
4440 case 76:
4441 #line 602 "parse.y"
4442 {;
4443 break;}
4444 case 77:
4445 #line 604 "parse.y"
4446 { note_list_got_semicolon (yyvsp[-2].ftype.t); ;
4447 break;}
4448 case 78:
4449 #line 606 "parse.y"
4450 { pedwarn ("empty declaration"); ;
4451 break;}
4452 case 80:
4453 #line 609 "parse.y"
4454 {
4455 tree t, attrs;
4456 split_specs_attrs (yyvsp[-1].ftype.t, &t, &attrs);
4457 shadow_tag (t);
4458 note_list_got_semicolon (yyvsp[-1].ftype.t);
4459 ;
4460 break;}
4461 case 84:
4462 #line 622 "parse.y"
4463 { yyval.itype = 0; ;
4464 break;}
4465 case 85:
4466 #line 624 "parse.y"
4467 { yyval.itype = 1; ;
4468 break;}
4469 case 91:
4470 #line 640 "parse.y"
4471 { finish_function (lineno, (int)yyvsp[-1].itype, 0); ;
4472 break;}
4473 case 92:
4474 #line 642 "parse.y"
4475 {
4476 int nested = (hack_decl_function_context
4477 (current_function_decl) != NULL_TREE);
4478 finish_function (lineno, (int)yyvsp[0].itype, nested);
4479 ;
4480 break;}
4481 case 93:
4482 #line 648 "parse.y"
4483 { ;
4484 break;}
4485 case 94:
4486 #line 653 "parse.y"
4487 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4488 break;}
4489 case 95:
4490 #line 655 "parse.y"
4491 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4492 break;}
4493 case 96:
4494 #line 657 "parse.y"
4495 { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype);
4496 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4497 ;
4498 break;}
4499 case 97:
4500 #line 661 "parse.y"
4501 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4502 break;}
4503 case 98:
4504 #line 663 "parse.y"
4505 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4506 break;}
4507 case 99:
4508 #line 665 "parse.y"
4509 { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype);
4510 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4511 ;
4512 break;}
4513 case 100:
4514 #line 669 "parse.y"
4515 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4516 break;}
4517 case 101:
4518 #line 671 "parse.y"
4519 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4520 break;}
4521 case 102:
4522 #line 673 "parse.y"
4523 { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype);
4524 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4525 ;
4526 break;}
4527 case 103:
4528 #line 677 "parse.y"
4529 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4530 break;}
4531 case 104:
4532 #line 679 "parse.y"
4533 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4534 break;}
4535 case 105:
4536 #line 681 "parse.y"
4537 { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype);
4538 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4539 ;
4540 break;}
4541 case 106:
4542 #line 688 "parse.y"
4543 { if (!begin_function_definition (yyvsp[-1].ftype.t, yyvsp[0].ttype))
4544 YYERROR1; ;
4545 break;}
4546 case 107:
4547 #line 691 "parse.y"
4548 { if (!begin_function_definition (yyvsp[-1].ttype, yyvsp[0].ttype))
4549 YYERROR1; ;
4550 break;}
4551 case 108:
4552 #line 694 "parse.y"
4553 { if (!begin_function_definition (NULL_TREE, yyvsp[0].ttype))
4554 YYERROR1; ;
4555 break;}
4556 case 109:
4557 #line 697 "parse.y"
4558 { if (!begin_function_definition (yyvsp[-1].ttype, yyvsp[0].ttype))
4559 YYERROR1; ;
4560 break;}
4561 case 110:
4562 #line 700 "parse.y"
4563 { if (!begin_function_definition (NULL_TREE, yyvsp[0].ttype))
4564 YYERROR1; ;
4565 break;}
4566 case 111:
4567 #line 706 "parse.y"
4568 { yyval.ttype = make_call_declarator (yyvsp[-5].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4569 break;}
4570 case 112:
4571 #line 708 "parse.y"
4572 { yyval.ttype = make_call_declarator (yyvsp[-3].ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
4573 break;}
4574 case 113:
4575 #line 710 "parse.y"
4576 { yyval.ttype = make_call_declarator (yyvsp[-5].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4577 break;}
4578 case 114:
4579 #line 712 "parse.y"
4580 { yyval.ttype = make_call_declarator (yyvsp[-3].ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
4581 break;}
4582 case 115:
4583 #line 719 "parse.y"
4584 { tree specs, attrs;
4585 split_specs_attrs (yyvsp[-1].ttype, &specs, &attrs);
4586 attrs = build_tree_list (attrs, NULL_TREE);
4587 yyval.ttype = start_method (specs, yyvsp[0].ttype, attrs);
4588 rest_of_mdef:
4589 if (! yyval.ttype)
4590 YYERROR1;
4591 if (yychar == YYEMPTY)
4592 yychar = YYLEX;
4593 reinit_parse_for_method (yychar, yyval.ttype); ;
4594 break;}
4595 case 116:
4596 #line 730 "parse.y"
4597 { yyval.ttype = start_method (NULL_TREE, yyvsp[0].ttype, NULL_TREE);
4598 goto rest_of_mdef; ;
4599 break;}
4600 case 117:
4601 #line 733 "parse.y"
4602 { tree specs, attrs;
4603 split_specs_attrs (yyvsp[-1].ftype.t, &specs, &attrs);
4604 attrs = build_tree_list (attrs, NULL_TREE);
4605 yyval.ttype = start_method (specs, yyvsp[0].ttype, attrs); goto rest_of_mdef; ;
4606 break;}
4607 case 118:
4608 #line 738 "parse.y"
4609 { tree specs, attrs;
4610 split_specs_attrs (yyvsp[-1].ttype, &specs, &attrs);
4611 attrs = build_tree_list (attrs, NULL_TREE);
4612 yyval.ttype = start_method (specs, yyvsp[0].ttype, attrs); goto rest_of_mdef; ;
4613 break;}
4614 case 119:
4615 #line 743 "parse.y"
4616 { yyval.ttype = start_method (NULL_TREE, yyval.ttype, NULL_TREE);
4617 goto rest_of_mdef; ;
4618 break;}
4619 case 120:
4620 #line 746 "parse.y"
4621 { tree specs, attrs;
4622 split_specs_attrs (yyvsp[-1].ttype, &specs, &attrs);
4623 attrs = build_tree_list (attrs, NULL_TREE);
4624 yyval.ttype = start_method (specs, yyvsp[0].ttype, attrs); goto rest_of_mdef; ;
4625 break;}
4626 case 121:
4627 #line 751 "parse.y"
4628 { yyval.ttype = start_method (NULL_TREE, yyval.ttype, NULL_TREE);
4629 goto rest_of_mdef; ;
4630 break;}
4631 case 122:
4632 #line 757 "parse.y"
4633 {
4634 if (! current_function_parms_stored)
4635 store_parm_decls ();
4636 yyval.ttype = yyvsp[0].ttype;
4637 ;
4638 break;}
4639 case 123:
4640 #line 766 "parse.y"
4641 { store_return_init (yyval.ttype, yyvsp[0].ttype); ;
4642 break;}
4643 case 124:
4644 #line 768 "parse.y"
4645 { store_return_init (yyval.ttype, yyvsp[-1].ttype); ;
4646 break;}
4647 case 125:
4648 #line 770 "parse.y"
4649 { store_return_init (yyval.ttype, NULL_TREE); ;
4650 break;}
4651 case 126:
4652 #line 775 "parse.y"
4653 {
4654 if (yyvsp[0].itype == 0)
4655 error ("no base initializers given following ':'");
4656 setup_vtbl_ptr ();
4657 /* Always keep the BLOCK node associated with the outermost
4658 pair of curley braces of a function. These are needed
4659 for correct operation of dwarfout.c. */
4660 keep_next_level ();
4661 ;
4662 break;}
4663 case 127:
4664 #line 788 "parse.y"
4665 {
4666 if (! current_function_parms_stored)
4667 store_parm_decls ();
4668
4669 if (DECL_CONSTRUCTOR_P (current_function_decl))
4670 {
4671 /* Make a contour for the initializer list. */
4672 pushlevel (0);
4673 clear_last_expr ();
4674 expand_start_bindings (0);
4675 }
4676 else if (current_class_type == NULL_TREE)
4677 error ("base initializers not allowed for non-member functions");
4678 else if (! DECL_CONSTRUCTOR_P (current_function_decl))
4679 error ("only constructors take base initializers");
4680 ;
4681 break;}
4682 case 128:
4683 #line 808 "parse.y"
4684 { yyval.itype = 0; ;
4685 break;}
4686 case 129:
4687 #line 810 "parse.y"
4688 { yyval.itype = 1; ;
4689 break;}
4690 case 132:
4691 #line 817 "parse.y"
4692 {
4693 if (current_class_name)
4694 pedwarn ("anachronistic old style base class initializer");
4695 expand_member_init (current_class_ref, NULL_TREE, yyvsp[-1].ttype);
4696 ;
4697 break;}
4698 case 133:
4699 #line 823 "parse.y"
4700 {
4701 if (current_class_name)
4702 pedwarn ("anachronistic old style base class initializer");
4703 expand_member_init (current_class_ref, NULL_TREE, void_type_node);
4704 ;
4705 break;}
4706 case 134:
4707 #line 829 "parse.y"
4708 { expand_member_init (current_class_ref, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
4709 break;}
4710 case 135:
4711 #line 831 "parse.y"
4712 { expand_member_init (current_class_ref, yyvsp[-1].ttype, void_type_node); ;
4713 break;}
4714 case 136:
4715 #line 833 "parse.y"
4716 { expand_member_init (current_class_ref, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
4717 break;}
4718 case 137:
4719 #line 835 "parse.y"
4720 { expand_member_init (current_class_ref, yyvsp[-1].ttype, void_type_node); ;
4721 break;}
4722 case 138:
4723 #line 837 "parse.y"
4724 { expand_member_init (current_class_ref, TYPE_MAIN_DECL (yyvsp[-3].ttype),
4725 yyvsp[-1].ttype); ;
4726 break;}
4727 case 139:
4728 #line 840 "parse.y"
4729 { expand_member_init (current_class_ref, TYPE_MAIN_DECL (yyvsp[-1].ttype),
4730 void_type_node); ;
4731 break;}
4732 case 151:
4733 #line 866 "parse.y"
4734 { do_type_instantiation (yyvsp[-1].ftype.t, NULL_TREE);
4735 yyungetc (';', 1); ;
4736 break;}
4737 case 153:
4738 #line 870 "parse.y"
4739 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
4740 do_decl_instantiation (specs, yyvsp[0].ttype, NULL_TREE); ;
4741 break;}
4742 case 155:
4743 #line 874 "parse.y"
4744 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
4745 break;}
4746 case 157:
4747 #line 877 "parse.y"
4748 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
4749 break;}
4750 case 159:
4751 #line 880 "parse.y"
4752 { do_type_instantiation (yyvsp[-1].ftype.t, yyvsp[-4].ttype);
4753 yyungetc (';', 1); ;
4754 break;}
4755 case 161:
4756 #line 885 "parse.y"
4757 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
4758 do_decl_instantiation (specs, yyvsp[0].ttype, yyvsp[-4].ttype); ;
4759 break;}
4760 case 163:
4761 #line 889 "parse.y"
4762 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, yyvsp[-3].ttype); ;
4763 break;}
4764 case 165:
4765 #line 892 "parse.y"
4766 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, yyvsp[-3].ttype); ;
4767 break;}
4768 case 167:
4769 #line 897 "parse.y"
4770 { begin_explicit_instantiation(); ;
4771 break;}
4772 case 168:
4773 #line 900 "parse.y"
4774 { end_explicit_instantiation(); ;
4775 break;}
4776 case 169:
4777 #line 909 "parse.y"
4778 { yyval.ttype = yyvsp[0].ttype; ;
4779 break;}
4780 case 170:
4781 #line 912 "parse.y"
4782 { yyval.ttype = yyvsp[0].ttype; ;
4783 break;}
4784 case 173:
4785 #line 920 "parse.y"
4786 { yyval.ttype = yyvsp[0].ttype; ;
4787 break;}
4788 case 174:
4789 #line 925 "parse.y"
4790 { yyval.ttype = yyvsp[0].ttype; ;
4791 break;}
4792 case 175:
4793 #line 929 "parse.y"
4794 {
4795 if (yychar == YYEMPTY)
4796 yychar = YYLEX;
4797
4798 yyval.ttype = finish_template_type (yyvsp[-3].ttype, yyvsp[-1].ttype,
4799 yychar == SCOPE);
4800 ;
4801 break;}
4802 case 177:
4803 #line 940 "parse.y"
4804 {
4805 /* Handle `Class<Class<Type>>' without space in the `>>' */
4806 pedwarn ("`>>' should be `> >' in template class name");
4807 yyungetc ('>', 1);
4808 ;
4809 break;}
4810 case 178:
4811 #line 949 "parse.y"
4812 { yyval.ttype = NULL_TREE; ;
4813 break;}
4814 case 180:
4815 #line 955 "parse.y"
4816 { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
4817 break;}
4818 case 181:
4819 #line 957 "parse.y"
4820 { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
4821 break;}
4822 case 182:
4823 #line 962 "parse.y"
4824 { yyval.ttype = groktypename (yyvsp[0].ftype.t); ;
4825 break;}
4826 case 183:
4827 #line 964 "parse.y"
4828 { yyval.ttype = lastiddecl; ;
4829 break;}
4830 case 185:
4831 #line 970 "parse.y"
4832 { yyval.code = NEGATE_EXPR; ;
4833 break;}
4834 case 186:
4835 #line 972 "parse.y"
4836 { yyval.code = CONVERT_EXPR; ;
4837 break;}
4838 case 187:
4839 #line 974 "parse.y"
4840 { yyval.code = PREINCREMENT_EXPR; ;
4841 break;}
4842 case 188:
4843 #line 976 "parse.y"
4844 { yyval.code = PREDECREMENT_EXPR; ;
4845 break;}
4846 case 189:
4847 #line 978 "parse.y"
4848 { yyval.code = TRUTH_NOT_EXPR; ;
4849 break;}
4850 case 190:
4851 #line 983 "parse.y"
4852 { yyval.ttype = build_x_compound_expr (yyval.ttype); ;
4853 break;}
4854 case 192:
4855 #line 989 "parse.y"
4856 { error ("ANSI C++ forbids an empty condition for `%s'",
4857 cond_stmt_keyword);
4858 yyval.ttype = integer_zero_node; ;
4859 break;}
4860 case 193:
4861 #line 993 "parse.y"
4862 { yyval.ttype = yyvsp[-1].ttype; ;
4863 break;}
4864 case 194:
4865 #line 998 "parse.y"
4866 { error ("ANSI C++ forbids an empty condition for `%s'",
4867 cond_stmt_keyword);
4868 yyval.ttype = integer_zero_node; ;
4869 break;}
4870 case 195:
4871 #line 1002 "parse.y"
4872 { yyval.ttype = yyvsp[-1].ttype; ;
4873 break;}
4874 case 196:
4875 #line 1007 "parse.y"
4876 { yyval.ttype = NULL_TREE; ;
4877 break;}
4878 case 198:
4879 #line 1010 "parse.y"
4880 { yyval.ttype = NULL_TREE; ;
4881 break;}
4882 case 199:
4883 #line 1015 "parse.y"
4884 { {
4885 tree d;
4886 for (d = getdecls (); d; d = TREE_CHAIN (d))
4887 if (TREE_CODE (d) == TYPE_DECL) {
4888 tree s = TREE_TYPE (d);
4889 if (TREE_CODE (s) == RECORD_TYPE)
4890 cp_error ("definition of class `%T' in condition", s);
4891 else if (TREE_CODE (s) == ENUMERAL_TYPE)
4892 cp_error ("definition of enum `%T' in condition", s);
4893 }
4894 }
4895 current_declspecs = yyvsp[-4].ftype.t;
4896 yyvsp[0].itype = suspend_momentary ();
4897 yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1,
4898 yyvsp[-1].ttype, /*prefix_attributes*/ NULL_TREE);
4899 ;
4900 break;}
4901 case 200:
4902 #line 1032 "parse.y"
4903 {
4904 cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-3].ttype, 1, LOOKUP_ONLYCONVERTING);
4905 resume_momentary (yyvsp[-2].itype);
4906 yyval.ttype = convert_from_reference (yyvsp[-1].ttype);
4907 if (TREE_CODE (TREE_TYPE (yyval.ttype)) == ARRAY_TYPE)
4908 cp_error ("definition of array `%#D' in condition", yyval.ttype);
4909 ;
4910 break;}
4911 case 206:
4912 #line 1051 "parse.y"
4913 { yyval.ttype = begin_compound_stmt (1); ;
4914 break;}
4915 case 207:
4916 #line 1053 "parse.y"
4917 { finish_compound_stmt (1, yyvsp[-1].ttype); ;
4918 break;}
4919 case 209:
4920 #line 1060 "parse.y"
4921 { yyval.ttype = expr_tree_cons (NULL_TREE, yyval.ttype,
4922 build_expr_list (NULL_TREE, yyvsp[0].ttype)); ;
4923 break;}
4924 case 210:
4925 #line 1063 "parse.y"
4926 { yyval.ttype = expr_tree_cons (NULL_TREE, yyval.ttype,
4927 build_expr_list (NULL_TREE, error_mark_node)); ;
4928 break;}
4929 case 211:
4930 #line 1066 "parse.y"
4931 { chainon (yyval.ttype, build_expr_list (NULL_TREE, yyvsp[0].ttype)); ;
4932 break;}
4933 case 212:
4934 #line 1068 "parse.y"
4935 { chainon (yyval.ttype, build_expr_list (NULL_TREE, error_mark_node)); ;
4936 break;}
4937 case 213:
4938 #line 1073 "parse.y"
4939 { yyval.ttype = build_expr_list (NULL_TREE, yyval.ttype); ;
4940 break;}
4941 case 215:
4942 #line 1079 "parse.y"
4943 { yyval.ttype = yyvsp[0].ttype; ;
4944 break;}
4945 case 216:
4946 #line 1082 "parse.y"
4947 { yyval.ttype = yyvsp[0].ttype;
4948 pedantic = yyvsp[-1].itype; ;
4949 break;}
4950 case 217:
4951 #line 1085 "parse.y"
4952 { yyval.ttype = build_x_indirect_ref (yyvsp[0].ttype, "unary *"); ;
4953 break;}
4954 case 218:
4955 #line 1087 "parse.y"
4956 { yyval.ttype = build_x_unary_op (ADDR_EXPR, yyvsp[0].ttype); ;
4957 break;}
4958 case 219:
4959 #line 1089 "parse.y"
4960 { yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, yyvsp[0].ttype); ;
4961 break;}
4962 case 220:
4963 #line 1091 "parse.y"
4964 { yyval.ttype = finish_unary_op_expr (yyvsp[-1].code, yyvsp[0].ttype); ;
4965 break;}
4966 case 221:
4967 #line 1094 "parse.y"
4968 { if (pedantic)
4969 pedwarn ("ANSI C++ forbids `&&'");
4970 yyval.ttype = finish_label_address_expr (yyvsp[0].ttype); ;
4971 break;}
4972 case 222:
4973 #line 1098 "parse.y"
4974 { yyval.ttype = expr_sizeof (yyvsp[0].ttype); ;
4975 break;}
4976 case 223:
4977 #line 1100 "parse.y"
4978 { yyval.ttype = c_sizeof (groktypename (yyvsp[-1].ftype.t));
4979 check_for_new_type ("sizeof", yyvsp[-1].ftype); ;
4980 break;}
4981 case 224:
4982 #line 1103 "parse.y"
4983 { yyval.ttype = grok_alignof (yyvsp[0].ttype); ;
4984 break;}
4985 case 225:
4986 #line 1105 "parse.y"
4987 { yyval.ttype = c_alignof (groktypename (yyvsp[-1].ftype.t));
4988 check_for_new_type ("alignof", yyvsp[-1].ftype); ;
4989 break;}
4990 case 226:
4991 #line 1111 "parse.y"
4992 { yyval.ttype = build_new (NULL_TREE, yyvsp[0].ftype.t, NULL_TREE, yyvsp[-1].itype);
4993 check_for_new_type ("new", yyvsp[0].ftype); ;
4994 break;}
4995 case 227:
4996 #line 1114 "parse.y"
4997 { yyval.ttype = build_new (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype, yyvsp[-2].itype);
4998 check_for_new_type ("new", yyvsp[-1].ftype); ;
4999 break;}
5000 case 228:
5001 #line 1117 "parse.y"
5002 { yyval.ttype = build_new (yyvsp[-1].ttype, yyvsp[0].ftype.t, NULL_TREE, yyvsp[-2].itype);
5003 check_for_new_type ("new", yyvsp[0].ftype); ;
5004 break;}
5005 case 229:
5006 #line 1120 "parse.y"
5007 { yyval.ttype = build_new (yyvsp[-2].ttype, yyvsp[-1].ftype.t, yyvsp[0].ttype, yyvsp[-3].itype);
5008 check_for_new_type ("new", yyvsp[-1].ftype); ;
5009 break;}
5010 case 230:
5011 #line 1133 "parse.y"
5012 { yyval.ttype = build_new (NULL_TREE, groktypename(yyvsp[-1].ftype.t),
5013 NULL_TREE, yyvsp[-4].itype);
5014 check_for_new_type ("new", yyvsp[-1].ftype); ;
5015 break;}
5016 case 231:
5017 #line 1138 "parse.y"
5018 { yyval.ttype = build_new (NULL_TREE, groktypename(yyvsp[-2].ftype.t), yyvsp[0].ttype, yyvsp[-5].itype);
5019 check_for_new_type ("new", yyvsp[-2].ftype); ;
5020 break;}
5021 case 232:
5022 #line 1142 "parse.y"
5023 { yyval.ttype = build_new (yyvsp[-4].ttype, groktypename(yyvsp[-1].ftype.t), NULL_TREE, yyvsp[-5].itype);
5024 check_for_new_type ("new", yyvsp[-1].ftype); ;
5025 break;}
5026 case 233:
5027 #line 1146 "parse.y"
5028 { yyval.ttype = build_new (yyvsp[-5].ttype, groktypename(yyvsp[-2].ftype.t), yyvsp[0].ttype, yyvsp[-6].itype);
5029 check_for_new_type ("new", yyvsp[-2].ftype); ;
5030 break;}
5031 case 234:
5032 #line 1150 "parse.y"
5033 { yyval.ttype = delete_sanity (yyvsp[0].ttype, NULL_TREE, 0, yyvsp[-1].itype); ;
5034 break;}
5035 case 235:
5036 #line 1152 "parse.y"
5037 { yyval.ttype = delete_sanity (yyvsp[0].ttype, NULL_TREE, 1, yyvsp[-3].itype);
5038 if (yychar == YYEMPTY)
5039 yychar = YYLEX; ;
5040 break;}
5041 case 236:
5042 #line 1156 "parse.y"
5043 { yyval.ttype = delete_sanity (yyvsp[0].ttype, yyvsp[-2].ttype, 2, yyvsp[-4].itype);
5044 if (yychar == YYEMPTY)
5045 yychar = YYLEX; ;
5046 break;}
5047 case 237:
5048 #line 1160 "parse.y"
5049 { yyval.ttype = build_x_unary_op (REALPART_EXPR, yyvsp[0].ttype); ;
5050 break;}
5051 case 238:
5052 #line 1162 "parse.y"
5053 { yyval.ttype = build_x_unary_op (IMAGPART_EXPR, yyvsp[0].ttype); ;
5054 break;}
5055 case 239:
5056 #line 1172 "parse.y"
5057 { finish_new_placement (NULL_TREE, yyvsp[-2].itype); ;
5058 break;}
5059 case 240:
5060 #line 1175 "parse.y"
5061 { yyval.itype = begin_new_placement (); ;
5062 break;}
5063 case 241:
5064 #line 1179 "parse.y"
5065 { yyval.ttype = finish_new_placement (yyvsp[-1].ttype, yyvsp[-2].itype); ;
5066 break;}
5067 case 242:
5068 #line 1181 "parse.y"
5069 { cp_pedwarn ("old style placement syntax, use () instead");
5070 yyval.ttype = finish_new_placement (yyvsp[-1].ttype, yyvsp[-2].itype); ;
5071 break;}
5072 case 243:
5073 #line 1187 "parse.y"
5074 { yyval.ttype = yyvsp[-1].ttype; ;
5075 break;}
5076 case 244:
5077 #line 1189 "parse.y"
5078 { yyval.ttype = NULL_TREE; ;
5079 break;}
5080 case 245:
5081 #line 1191 "parse.y"
5082 {
5083 cp_error ("`%T' is not a valid expression", yyvsp[-1].ftype.t);
5084 yyval.ttype = error_mark_node;
5085 ;
5086 break;}
5087 case 246:
5088 #line 1199 "parse.y"
5089 {
5090 if (pedantic)
5091 pedwarn ("ANSI C++ forbids initialization of new expression with `='");
5092 if (TREE_CODE (yyvsp[0].ttype) != TREE_LIST
5093 && TREE_CODE (yyvsp[0].ttype) != CONSTRUCTOR)
5094 yyval.ttype = build_expr_list (NULL_TREE, yyvsp[0].ttype);
5095 else
5096 yyval.ttype = yyvsp[0].ttype;
5097 ;
5098 break;}
5099 case 247:
5100 #line 1213 "parse.y"
5101 { yyvsp[-1].ftype.t = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[-1].ftype.t), 0);
5102 yyval.ttype = make_call_declarator (NULL_TREE, yyvsp[-1].ftype.t, NULL_TREE, NULL_TREE);
5103 check_for_new_type ("cast", yyvsp[-1].ftype); ;
5104 break;}
5105 case 248:
5106 #line 1217 "parse.y"
5107 { yyvsp[-1].ftype.t = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[-1].ftype.t), 0);
5108 yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-1].ftype.t, NULL_TREE, NULL_TREE);
5109 check_for_new_type ("cast", yyvsp[-1].ftype); ;
5110 break;}
5111 case 250:
5112 #line 1225 "parse.y"
5113 { yyval.ttype = reparse_absdcl_as_casts (yyval.ttype, yyvsp[0].ttype); ;
5114 break;}
5115 case 251:
5116 #line 1227 "parse.y"
5117 {
5118 tree init = build_nt (CONSTRUCTOR, NULL_TREE,
5119 nreverse (yyvsp[-2].ttype));
5120 if (pedantic)
5121 pedwarn ("ANSI C++ forbids constructor-expressions");
5122 /* Indicate that this was a GNU C constructor expression. */
5123 TREE_HAS_CONSTRUCTOR (init) = 1;
5124
5125 yyval.ttype = reparse_absdcl_as_casts (yyval.ttype, init);
5126 ;
5127 break;}
5128 case 253:
5129 #line 1243 "parse.y"
5130 { yyval.ttype = build_x_binary_op (MEMBER_REF, yyval.ttype, yyvsp[0].ttype); ;
5131 break;}
5132 case 254:
5133 #line 1245 "parse.y"
5134 { yyval.ttype = build_m_component_ref (yyval.ttype, yyvsp[0].ttype); ;
5135 break;}
5136 case 255:
5137 #line 1247 "parse.y"
5138 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5139 break;}
5140 case 256:
5141 #line 1249 "parse.y"
5142 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5143 break;}
5144 case 257:
5145 #line 1251 "parse.y"
5146 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5147 break;}
5148 case 258:
5149 #line 1253 "parse.y"
5150 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5151 break;}
5152 case 259:
5153 #line 1255 "parse.y"
5154 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5155 break;}
5156 case 260:
5157 #line 1257 "parse.y"
5158 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5159 break;}
5160 case 261:
5161 #line 1259 "parse.y"
5162 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5163 break;}
5164 case 262:
5165 #line 1261 "parse.y"
5166 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5167 break;}
5168 case 263:
5169 #line 1263 "parse.y"
5170 { yyval.ttype = build_x_binary_op (LT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
5171 break;}
5172 case 264:
5173 #line 1265 "parse.y"
5174 { yyval.ttype = build_x_binary_op (GT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
5175 break;}
5176 case 265:
5177 #line 1267 "parse.y"
5178 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5179 break;}
5180 case 266:
5181 #line 1269 "parse.y"
5182 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5183 break;}
5184 case 267:
5185 #line 1271 "parse.y"
5186 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5187 break;}
5188 case 268:
5189 #line 1273 "parse.y"
5190 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5191 break;}
5192 case 269:
5193 #line 1275 "parse.y"
5194 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5195 break;}
5196 case 270:
5197 #line 1277 "parse.y"
5198 { yyval.ttype = build_x_binary_op (TRUTH_ANDIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
5199 break;}
5200 case 271:
5201 #line 1279 "parse.y"
5202 { yyval.ttype = build_x_binary_op (TRUTH_ORIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
5203 break;}
5204 case 272:
5205 #line 1281 "parse.y"
5206 { yyval.ttype = build_x_conditional_expr (yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
5207 break;}
5208 case 273:
5209 #line 1283 "parse.y"
5210 { yyval.ttype = build_x_modify_expr (yyval.ttype, NOP_EXPR, yyvsp[0].ttype);
5211 if (yyval.ttype != error_mark_node)
5212 C_SET_EXP_ORIGINAL_CODE (yyval.ttype, MODIFY_EXPR); ;
5213 break;}
5214 case 274:
5215 #line 1287 "parse.y"
5216 { yyval.ttype = build_x_modify_expr (yyval.ttype, yyvsp[-1].code, yyvsp[0].ttype); ;
5217 break;}
5218 case 275:
5219 #line 1289 "parse.y"
5220 { yyval.ttype = build_throw (NULL_TREE); ;
5221 break;}
5222 case 276:
5223 #line 1291 "parse.y"
5224 { yyval.ttype = build_throw (yyvsp[0].ttype); ;
5225 break;}
5226 case 277:
5227 #line 1309 "parse.y"
5228 { yyval.ttype = build_parse_node (BIT_NOT_EXPR, yyvsp[0].ttype); ;
5229 break;}
5230 case 278:
5231 #line 1311 "parse.y"
5232 { yyval.ttype = build_parse_node (BIT_NOT_EXPR, yyvsp[0].ttype); ;
5233 break;}
5234 case 284:
5235 #line 1320 "parse.y"
5236 {
5237 /* If lastiddecl is a TREE_LIST, it's a baselink, which
5238 means that we're in an expression like S::f<int>, so
5239 don't do_identifier; we only do that for unqualified
5240 identifiers. */
5241 if (lastiddecl && TREE_CODE (lastiddecl) != TREE_LIST)
5242 yyval.ttype = do_identifier (yyvsp[-1].ttype, 1, NULL_TREE);
5243 else
5244 yyval.ttype = yyvsp[-1].ttype;
5245 ;
5246 break;}
5247 case 285:
5248 #line 1333 "parse.y"
5249 { yyval.ttype = lookup_template_function (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
5250 break;}
5251 case 286:
5252 #line 1335 "parse.y"
5253 { yyval.ttype = lookup_template_function (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
5254 break;}
5255 case 287:
5256 #line 1340 "parse.y"
5257 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5258 break;}
5259 case 288:
5260 #line 1342 "parse.y"
5261 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5262 break;}
5263 case 289:
5264 #line 1345 "parse.y"
5265 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5266 break;}
5267 case 294:
5268 #line 1357 "parse.y"
5269 {
5270 /* Provide support for '(' attributes '*' declarator ')'
5271 etc */
5272 yyval.ttype = decl_tree_cons (yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE);
5273 ;
5274 break;}
5275 case 296:
5276 #line 1367 "parse.y"
5277 { yyval.ttype = build_parse_node (INDIRECT_REF, yyvsp[0].ttype); ;
5278 break;}
5279 case 297:
5280 #line 1369 "parse.y"
5281 { yyval.ttype = build_parse_node (ADDR_EXPR, yyvsp[0].ttype); ;
5282 break;}
5283 case 298:
5284 #line 1371 "parse.y"
5285 { yyval.ttype = yyvsp[-1].ttype; ;
5286 break;}
5287 case 299:
5288 #line 1376 "parse.y"
5289 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5290 break;}
5291 case 300:
5292 #line 1378 "parse.y"
5293 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5294 break;}
5295 case 304:
5296 #line 1388 "parse.y"
5297 { yyval.ttype = finish_decl_parsing (yyvsp[-1].ttype); ;
5298 break;}
5299 case 305:
5300 #line 1393 "parse.y"
5301 {
5302 if (TREE_CODE (yyvsp[0].ttype) == BIT_NOT_EXPR)
5303 yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, TREE_OPERAND (yyvsp[0].ttype, 0));
5304 else
5305 yyval.ttype = finish_id_expr (yyvsp[0].ttype);
5306 ;
5307 break;}
5308 case 308:
5309 #line 1402 "parse.y"
5310 {
5311 if (processing_template_decl)
5312 push_obstacks (&permanent_obstack, &permanent_obstack);
5313 yyval.ttype = combine_strings (yyval.ttype);
5314 /* combine_strings doesn't set up TYPE_MAIN_VARIANT of
5315 a const array the way we want, so fix it. */
5316 if (flag_const_strings)
5317 TREE_TYPE (yyval.ttype) = build_cplus_array_type
5318 (TREE_TYPE (TREE_TYPE (yyval.ttype)),
5319 TYPE_DOMAIN (TREE_TYPE (yyval.ttype)));
5320 if (processing_template_decl)
5321 pop_obstacks ();
5322 ;
5323 break;}
5324 case 309:
5325 #line 1416 "parse.y"
5326 { yyval.ttype = finish_parenthesized_expr (yyvsp[-1].ttype); ;
5327 break;}
5328 case 310:
5329 #line 1418 "parse.y"
5330 { yyvsp[-1].ttype = reparse_decl_as_expr (NULL_TREE, yyvsp[-1].ttype);
5331 yyval.ttype = finish_parenthesized_expr (yyvsp[-1].ttype); ;
5332 break;}
5333 case 311:
5334 #line 1421 "parse.y"
5335 { yyval.ttype = error_mark_node; ;
5336 break;}
5337 case 312:
5338 #line 1423 "parse.y"
5339 { tree scope = current_scope ();
5340 if (!scope || TREE_CODE (scope) != FUNCTION_DECL)
5341 {
5342 error ("braced-group within expression allowed only inside a function");
5343 YYERROR;
5344 }
5345 if (pedantic)
5346 pedwarn ("ANSI C++ forbids braced-groups within expressions");
5347 yyval.ttype = begin_stmt_expr ();
5348 ;
5349 break;}
5350 case 313:
5351 #line 1434 "parse.y"
5352 { yyval.ttype = finish_stmt_expr (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
5353 break;}
5354 case 314:
5355 #line 1439 "parse.y"
5356 { yyval.ttype = finish_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype, 1); ;
5357 break;}
5358 case 315:
5359 #line 1441 "parse.y"
5360 { yyval.ttype = finish_call_expr (yyvsp[-1].ttype, NULL_TREE, 1); ;
5361 break;}
5362 case 316:
5363 #line 1443 "parse.y"
5364 { yyval.ttype = finish_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype, 0); ;
5365 break;}
5366 case 317:
5367 #line 1445 "parse.y"
5368 { yyval.ttype = finish_call_expr (yyvsp[-1].ttype, NULL_TREE, 0); ;
5369 break;}
5370 case 318:
5371 #line 1447 "parse.y"
5372 { yyval.ttype = grok_array_decl (yyval.ttype, yyvsp[-1].ttype); ;
5373 break;}
5374 case 319:
5375 #line 1449 "parse.y"
5376 { yyval.ttype = finish_increment_expr (yyvsp[-1].ttype, POSTINCREMENT_EXPR); ;
5377 break;}
5378 case 320:
5379 #line 1451 "parse.y"
5380 { yyval.ttype = finish_increment_expr (yyvsp[-1].ttype, POSTDECREMENT_EXPR); ;
5381 break;}
5382 case 321:
5383 #line 1454 "parse.y"
5384 { yyval.ttype = finish_this_expr (); ;
5385 break;}
5386 case 322:
5387 #line 1456 "parse.y"
5388 {
5389 /* This is a C cast in C++'s `functional' notation
5390 using the "implicit int" extension so that:
5391 `const (3)' is equivalent to `const int (3)'. */
5392 tree type;
5393
5394 if (yyvsp[-1].ttype == error_mark_node)
5395 {
5396 yyval.ttype = error_mark_node;
5397 break;
5398 }
5399
5400 type = cp_build_qualified_type (integer_type_node,
5401 cp_type_qual_from_rid (yyvsp[-3].ttype));
5402 yyval.ttype = build_c_cast (type, build_compound_expr (yyvsp[-1].ttype));
5403 ;
5404 break;}
5405 case 324:
5406 #line 1474 "parse.y"
5407 { tree type = groktypename (yyvsp[-4].ftype.t);
5408 check_for_new_type ("dynamic_cast", yyvsp[-4].ftype);
5409 yyval.ttype = build_dynamic_cast (type, yyvsp[-1].ttype); ;
5410 break;}
5411 case 325:
5412 #line 1478 "parse.y"
5413 { tree type = groktypename (yyvsp[-4].ftype.t);
5414 check_for_new_type ("static_cast", yyvsp[-4].ftype);
5415 yyval.ttype = build_static_cast (type, yyvsp[-1].ttype); ;
5416 break;}
5417 case 326:
5418 #line 1482 "parse.y"
5419 { tree type = groktypename (yyvsp[-4].ftype.t);
5420 check_for_new_type ("reinterpret_cast", yyvsp[-4].ftype);
5421 yyval.ttype = build_reinterpret_cast (type, yyvsp[-1].ttype); ;
5422 break;}
5423 case 327:
5424 #line 1486 "parse.y"
5425 { tree type = groktypename (yyvsp[-4].ftype.t);
5426 check_for_new_type ("const_cast", yyvsp[-4].ftype);
5427 yyval.ttype = build_const_cast (type, yyvsp[-1].ttype); ;
5428 break;}
5429 case 328:
5430 #line 1490 "parse.y"
5431 { yyval.ttype = build_x_typeid (yyvsp[-1].ttype); ;
5432 break;}
5433 case 329:
5434 #line 1492 "parse.y"
5435 { tree type = groktypename (yyvsp[-1].ftype.t);
5436 check_for_new_type ("typeid", yyvsp[-1].ftype);
5437 yyval.ttype = get_typeid (TYPE_MAIN_VARIANT (type)); ;
5438 break;}
5439 case 330:
5440 #line 1496 "parse.y"
5441 { yyval.ttype = do_scoped_id (yyvsp[0].ttype, 1); ;
5442 break;}
5443 case 331:
5444 #line 1498 "parse.y"
5445 { yyval.ttype = yyvsp[0].ttype; ;
5446 break;}
5447 case 332:
5448 #line 1500 "parse.y"
5449 {
5450 got_scope = NULL_TREE;
5451 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
5452 yyval.ttype = do_scoped_id (yyvsp[0].ttype, 1);
5453 else
5454 yyval.ttype = yyvsp[0].ttype;
5455 ;
5456 break;}
5457 case 333:
5458 #line 1508 "parse.y"
5459 { yyval.ttype = build_offset_ref (OP0 (yyval.ttype), OP1 (yyval.ttype)); ;
5460 break;}
5461 case 334:
5462 #line 1510 "parse.y"
5463 { yyval.ttype = finish_qualified_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5464 break;}
5465 case 335:
5466 #line 1512 "parse.y"
5467 { yyval.ttype = finish_qualified_call_expr (yyvsp[-1].ttype, NULL_TREE); ;
5468 break;}
5469 case 336:
5470 #line 1514 "parse.y"
5471 {
5472 yyval.ttype = build_x_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1);
5473 ;
5474 break;}
5475 case 337:
5476 #line 1518 "parse.y"
5477 { yyval.ttype = finish_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
5478 break;}
5479 case 338:
5480 #line 1520 "parse.y"
5481 { yyval.ttype = finish_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ;
5482 break;}
5483 case 339:
5484 #line 1522 "parse.y"
5485 { yyval.ttype = build_x_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1); ;
5486 break;}
5487 case 340:
5488 #line 1524 "parse.y"
5489 { if (processing_template_decl)
5490 yyval.ttype = build_min_nt (COMPONENT_REF, yyvsp[-1].ttype, copy_to_permanent (yyvsp[0].ttype));
5491 else
5492 yyval.ttype = build_object_ref (yyval.ttype, OP0 (yyvsp[0].ttype), OP1 (yyvsp[0].ttype)); ;
5493 break;}
5494 case 341:
5495 #line 1529 "parse.y"
5496 { yyval.ttype = finish_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
5497 break;}
5498 case 342:
5499 #line 1531 "parse.y"
5500 { yyval.ttype = finish_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ;
5501 break;}
5502 case 343:
5503 #line 1533 "parse.y"
5504 { yyval.ttype = finish_qualified_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
5505 break;}
5506 case 344:
5507 #line 1535 "parse.y"
5508 { yyval.ttype = finish_qualified_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ;
5509 break;}
5510 case 345:
5511 #line 1538 "parse.y"
5512 { yyval.ttype = finish_pseudo_destructor_call_expr (yyvsp[-3].ttype, NULL_TREE, yyvsp[-1].ttype); ;
5513 break;}
5514 case 346:
5515 #line 1540 "parse.y"
5516 { yyval.ttype = finish_pseudo_destructor_call_expr (yyvsp[-5].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
5517 break;}
5518 case 347:
5519 #line 1542 "parse.y"
5520 {
5521 yyval.ttype = error_mark_node;
5522 ;
5523 break;}
5524 case 348:
5525 #line 1587 "parse.y"
5526 { yyval.itype = 0; ;
5527 break;}
5528 case 349:
5529 #line 1589 "parse.y"
5530 { got_scope = NULL_TREE; yyval.itype = 1; ;
5531 break;}
5532 case 350:
5533 #line 1594 "parse.y"
5534 { yyval.itype = 0; ;
5535 break;}
5536 case 351:
5537 #line 1596 "parse.y"
5538 { got_scope = NULL_TREE; yyval.itype = 1; ;
5539 break;}
5540 case 352:
5541 #line 1601 "parse.y"
5542 { yyval.ttype = boolean_true_node; ;
5543 break;}
5544 case 353:
5545 #line 1603 "parse.y"
5546 { yyval.ttype = boolean_false_node; ;
5547 break;}
5548 case 355:
5549 #line 1610 "parse.y"
5550 { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
5551 break;}
5552 case 356:
5553 #line 1615 "parse.y"
5554 {
5555 if (! current_function_parms_stored)
5556 store_parm_decls ();
5557 setup_vtbl_ptr ();
5558 /* Always keep the BLOCK node associated with the outermost
5559 pair of curley braces of a function. These are needed
5560 for correct operation of dwarfout.c. */
5561 keep_next_level ();
5562 ;
5563 break;}
5564 case 357:
5565 #line 1628 "parse.y"
5566 { got_object = TREE_TYPE (yyval.ttype); ;
5567 break;}
5568 case 358:
5569 #line 1630 "parse.y"
5570 {
5571 yyval.ttype = build_x_arrow (yyval.ttype);
5572 got_object = TREE_TYPE (yyval.ttype);
5573 ;
5574 break;}
5575 case 359:
5576 #line 1638 "parse.y"
5577 {
5578 resume_momentary (yyvsp[-1].itype);
5579 if (yyvsp[-2].ftype.t && IS_AGGR_TYPE_CODE (TREE_CODE (yyvsp[-2].ftype.t)))
5580 note_got_semicolon (yyvsp[-2].ftype.t);
5581 ;
5582 break;}
5583 case 360:
5584 #line 1644 "parse.y"
5585 {
5586 resume_momentary (yyvsp[-1].itype);
5587 note_list_got_semicolon (yyvsp[-2].ftype.t);
5588 ;
5589 break;}
5590 case 361:
5591 #line 1649 "parse.y"
5592 { resume_momentary (yyvsp[-1].itype); ;
5593 break;}
5594 case 362:
5595 #line 1651 "parse.y"
5596 {
5597 shadow_tag (yyvsp[-1].ftype.t);
5598 note_list_got_semicolon (yyvsp[-1].ftype.t);
5599 ;
5600 break;}
5601 case 363:
5602 #line 1656 "parse.y"
5603 { warning ("empty declaration"); ;
5604 break;}
5605 case 364:
5606 #line 1658 "parse.y"
5607 { pedantic = yyvsp[-1].itype; ;
5608 break;}
5609 case 367:
5610 #line 1672 "parse.y"
5611 { yyval.ttype = make_call_declarator (NULL_TREE, empty_parms (),
5612 NULL_TREE, NULL_TREE); ;
5613 break;}
5614 case 368:
5615 #line 1675 "parse.y"
5616 { yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), NULL_TREE,
5617 NULL_TREE); ;
5618 break;}
5619 case 369:
5620 #line 1682 "parse.y"
5621 { yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
5622 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5623 break;}
5624 case 370:
5625 #line 1685 "parse.y"
5626 { yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
5627 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5628 break;}
5629 case 371:
5630 #line 1688 "parse.y"
5631 { yyval.ftype.t = build_decl_list (get_decl_list (yyvsp[-1].ftype.t), yyvsp[0].ttype);
5632 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5633 break;}
5634 case 372:
5635 #line 1691 "parse.y"
5636 { yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE);
5637 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5638 break;}
5639 case 373:
5640 #line 1694 "parse.y"
5641 { yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE);
5642 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5643 break;}
5644 case 376:
5645 #line 1710 "parse.y"
5646 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ttype);
5647 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5648 break;}
5649 case 377:
5650 #line 1713 "parse.y"
5651 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype);
5652 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5653 break;}
5654 case 378:
5655 #line 1716 "parse.y"
5656 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-2].ftype.t, chainon (yyvsp[-1].ttype, yyvsp[0].ttype));
5657 yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ;
5658 break;}
5659 case 379:
5660 #line 1719 "parse.y"
5661 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ttype));
5662 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5663 break;}
5664 case 380:
5665 #line 1722 "parse.y"
5666 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ttype));
5667 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5668 break;}
5669 case 381:
5670 #line 1725 "parse.y"
5671 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-2].ftype.t,
5672 chainon (yyvsp[-1].ttype, chainon (yyvsp[0].ttype, yyvsp[-3].ttype)));
5673 yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ;
5674 break;}
5675 case 382:
5676 #line 1732 "parse.y"
5677 { if (extra_warnings)
5678 warning ("`%s' is not at beginning of declaration",
5679 IDENTIFIER_POINTER (yyval.ttype));
5680 yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
5681 break;}
5682 case 383:
5683 #line 1737 "parse.y"
5684 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyval.ttype); ;
5685 break;}
5686 case 384:
5687 #line 1739 "parse.y"
5688 { if (extra_warnings)
5689 warning ("`%s' is not at beginning of declaration",
5690 IDENTIFIER_POINTER (yyvsp[0].ttype));
5691 yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
5692 break;}
5693 case 385:
5694 #line 1744 "parse.y"
5695 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
5696 break;}
5697 case 386:
5698 #line 1746 "parse.y"
5699 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ;
5700 break;}
5701 case 387:
5702 #line 1756 "parse.y"
5703 { yyval.ttype = yyvsp[0].ftype.t; TREE_STATIC (yyval.ttype) = 1; ;
5704 break;}
5705 case 388:
5706 #line 1758 "parse.y"
5707 { yyval.ttype = IDENTIFIER_AS_LIST (yyval.ttype); ;
5708 break;}
5709 case 389:
5710 #line 1760 "parse.y"
5711 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype);
5712 TREE_STATIC (yyval.ttype) = 1; ;
5713 break;}
5714 case 390:
5715 #line 1763 "parse.y"
5716 { if (extra_warnings && TREE_STATIC (yyval.ttype))
5717 warning ("`%s' is not at beginning of declaration",
5718 IDENTIFIER_POINTER (yyvsp[0].ttype));
5719 yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype);
5720 TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
5721 break;}
5722 case 391:
5723 #line 1769 "parse.y"
5724 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
5725 break;}
5726 case 392:
5727 #line 1771 "parse.y"
5728 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ;
5729 break;}
5730 case 393:
5731 #line 1782 "parse.y"
5732 { yyval.ftype.t = get_decl_list (yyvsp[0].ftype.t);
5733 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5734 break;}
5735 case 394:
5736 #line 1785 "parse.y"
5737 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ftype.t);
5738 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5739 break;}
5740 case 395:
5741 #line 1788 "parse.y"
5742 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype);
5743 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5744 break;}
5745 case 396:
5746 #line 1791 "parse.y"
5747 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ftype.t));
5748 yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ;
5749 break;}
5750 case 397:
5751 #line 1797 "parse.y"
5752 { yyval.ttype = build_decl_list (NULL_TREE, yyvsp[0].ftype.t); ;
5753 break;}
5754 case 398:
5755 #line 1799 "parse.y"
5756 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ttype); ;
5757 break;}
5758 case 400:
5759 #line 1809 "parse.y"
5760 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5761 break;}
5762 case 401:
5763 #line 1811 "parse.y"
5764 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5765 break;}
5766 case 402:
5767 #line 1813 "parse.y"
5768 { yyval.ftype.t = finish_typeof (yyvsp[-1].ttype);
5769 yyval.ftype.new_type_flag = 0; ;
5770 break;}
5771 case 403:
5772 #line 1816 "parse.y"
5773 { yyval.ftype.t = groktypename (yyvsp[-1].ftype.t);
5774 yyval.ftype.new_type_flag = 0; ;
5775 break;}
5776 case 404:
5777 #line 1819 "parse.y"
5778 { tree type = TREE_TYPE (yyvsp[-1].ttype);
5779
5780 yyval.ftype.new_type_flag = 0;
5781 if (IS_AGGR_TYPE (type))
5782 {
5783 sorry ("sigof type specifier");
5784 yyval.ftype.t = type;
5785 }
5786 else
5787 {
5788 error ("`sigof' applied to non-aggregate expression");
5789 yyval.ftype.t = error_mark_node;
5790 }
5791 ;
5792 break;}
5793 case 405:
5794 #line 1834 "parse.y"
5795 { tree type = groktypename (yyvsp[-1].ftype.t);
5796
5797 yyval.ftype.new_type_flag = 0;
5798 if (IS_AGGR_TYPE (type))
5799 {
5800 sorry ("sigof type specifier");
5801 yyval.ftype.t = type;
5802 }
5803 else
5804 {
5805 error("`sigof' applied to non-aggregate type");
5806 yyval.ftype.t = error_mark_node;
5807 }
5808 ;
5809 break;}
5810 case 406:
5811 #line 1854 "parse.y"
5812 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5813 break;}
5814 case 407:
5815 #line 1856 "parse.y"
5816 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5817 break;}
5818 case 410:
5819 #line 1863 "parse.y"
5820 { check_multiple_declarators (); ;
5821 break;}
5822 case 412:
5823 #line 1869 "parse.y"
5824 { check_multiple_declarators (); ;
5825 break;}
5826 case 414:
5827 #line 1875 "parse.y"
5828 { check_multiple_declarators (); ;
5829 break;}
5830 case 415:
5831 #line 1880 "parse.y"
5832 { yyval.ttype = NULL_TREE; ;
5833 break;}
5834 case 416:
5835 #line 1882 "parse.y"
5836 { if (TREE_CHAIN (yyvsp[-1].ttype)) yyvsp[-1].ttype = combine_strings (yyvsp[-1].ttype); yyval.ttype = yyvsp[-1].ttype; ;
5837 break;}
5838 case 417:
5839 #line 1887 "parse.y"
5840 { yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1,
5841 yyvsp[-1].ttype, prefix_attributes); ;
5842 break;}
5843 case 418:
5844 #line 1891 "parse.y"
5845 { cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 1, LOOKUP_ONLYCONVERTING); ;
5846 break;}
5847 case 419:
5848 #line 1893 "parse.y"
5849 { yyval.ttype = start_decl (yyvsp[-2].ttype, current_declspecs, 0,
5850 yyvsp[0].ttype, prefix_attributes);
5851 cp_finish_decl (yyval.ttype, NULL_TREE, yyvsp[-1].ttype, 1, 0); ;
5852 break;}
5853 case 420:
5854 #line 1906 "parse.y"
5855 { yyvsp[0].itype = parse_decl (yyvsp[-3].ttype, yyvsp[-4].ttype,
5856 yyvsp[-1].ttype, 1, &yyval.ttype); ;
5857 break;}
5858 case 421:
5859 #line 1911 "parse.y"
5860 { cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 1,
5861 LOOKUP_ONLYCONVERTING);
5862 yyval.itype = yyvsp[-2].itype; ;
5863 break;}
5864 case 422:
5865 #line 1915 "parse.y"
5866 { tree d;
5867 yyval.itype = parse_decl (yyvsp[-2].ttype, yyvsp[-3].ttype, yyvsp[0].ttype, 0, &d);
5868 cp_finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 1, 0); ;
5869 break;}
5870 case 423:
5871 #line 1922 "parse.y"
5872 { yyval.itype = yyvsp[0].itype; ;
5873 break;}
5874 case 424:
5875 #line 1926 "parse.y"
5876 { yyval.itype = yyvsp[0].itype; ;
5877 break;}
5878 case 425:
5879 #line 1931 "parse.y"
5880 { /* Set things up as initdcl0_innards expects. */
5881 yyvsp[0].ttype = yyvsp[-1].ttype;
5882 yyvsp[-1].ttype = NULL_TREE; ;
5883 break;}
5884 case 426:
5885 #line 1935 "parse.y"
5886 {;
5887 break;}
5888 case 427:
5889 #line 1937 "parse.y"
5890 { tree d;
5891 parse_decl(yyvsp[-2].ttype, NULL_TREE, yyvsp[0].ttype, 0, &d);
5892 cp_finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 1, 0); ;
5893 break;}
5894 case 428:
5895 #line 1946 "parse.y"
5896 { yyval.ttype = NULL_TREE; ;
5897 break;}
5898 case 429:
5899 #line 1948 "parse.y"
5900 { yyval.ttype = yyvsp[0].ttype; ;
5901 break;}
5902 case 430:
5903 #line 1953 "parse.y"
5904 { yyval.ttype = yyvsp[0].ttype; ;
5905 break;}
5906 case 431:
5907 #line 1955 "parse.y"
5908 { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ;
5909 break;}
5910 case 432:
5911 #line 1960 "parse.y"
5912 { yyval.ttype = yyvsp[-2].ttype; ;
5913 break;}
5914 case 433:
5915 #line 1965 "parse.y"
5916 { yyval.ttype = yyvsp[0].ttype; ;
5917 break;}
5918 case 434:
5919 #line 1967 "parse.y"
5920 { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
5921 break;}
5922 case 435:
5923 #line 1972 "parse.y"
5924 { yyval.ttype = NULL_TREE; ;
5925 break;}
5926 case 436:
5927 #line 1974 "parse.y"
5928 { yyval.ttype = build_tree_list (yyvsp[0].ttype, NULL_TREE); ;
5929 break;}
5930 case 437:
5931 #line 1976 "parse.y"
5932 { yyval.ttype = build_tree_list (yyvsp[-3].ttype, build_tree_list (NULL_TREE, yyvsp[-1].ttype)); ;
5933 break;}
5934 case 438:
5935 #line 1978 "parse.y"
5936 { yyval.ttype = build_tree_list (yyvsp[-5].ttype, tree_cons (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype)); ;
5937 break;}
5938 case 439:
5939 #line 1980 "parse.y"
5940 { yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5941 break;}
5942 case 444:
5943 #line 1996 "parse.y"
5944 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
5945 break;}
5946 case 445:
5947 #line 1998 "parse.y"
5948 { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
5949 break;}
5950 case 446:
5951 #line 2003 "parse.y"
5952 { yyval.ttype = NULL_TREE; ;
5953 break;}
5954 case 447:
5955 #line 2005 "parse.y"
5956 { yyval.ttype = yyvsp[0].ttype; ;
5957 break;}
5958 case 449:
5959 #line 2013 "parse.y"
5960 { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, NULL_TREE);
5961 TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
5962 break;}
5963 case 450:
5964 #line 2016 "parse.y"
5965 { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-1].ttype));
5966 TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
5967 break;}
5968 case 451:
5969 #line 2019 "parse.y"
5970 { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-2].ttype));
5971 TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
5972 break;}
5973 case 452:
5974 #line 2022 "parse.y"
5975 { yyval.ttype = NULL_TREE; ;
5976 break;}
5977 case 453:
5978 #line 2029 "parse.y"
5979 { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
5980 break;}
5981 case 454:
5982 #line 2031 "parse.y"
5983 { yyval.ttype = expr_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
5984 break;}
5985 case 455:
5986 #line 2034 "parse.y"
5987 { yyval.ttype = build_expr_list (yyvsp[-2].ttype, yyvsp[0].ttype); ;
5988 break;}
5989 case 456:
5990 #line 2036 "parse.y"
5991 { yyval.ttype = build_expr_list (yyval.ttype, yyvsp[0].ttype); ;
5992 break;}
5993 case 457:
5994 #line 2038 "parse.y"
5995 { yyval.ttype = expr_tree_cons (yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype); ;
5996 break;}
5997 case 458:
5998 #line 2043 "parse.y"
5999 { start_function (NULL_TREE, TREE_VALUE (yyvsp[0].ttype),
6000 NULL_TREE, 2);
6001 reinit_parse_for_function (); ;
6002 break;}
6003 case 459:
6004 #line 2049 "parse.y"
6005 {
6006 int nested = (hack_decl_function_context
6007 (current_function_decl) != NULL_TREE);
6008 finish_function (lineno, (int)yyvsp[-1].itype | 2, nested);
6009 process_next_inline (yyvsp[-3].ttype);
6010 ;
6011 break;}
6012 case 460:
6013 #line 2056 "parse.y"
6014 {
6015 int nested = (hack_decl_function_context
6016 (current_function_decl) != NULL_TREE);
6017 finish_function (lineno, (int)yyvsp[0].itype | 2, nested);
6018 process_next_inline (yyvsp[-2].ttype);
6019 ;
6020 break;}
6021 case 461:
6022 #line 2063 "parse.y"
6023 { process_next_inline (yyvsp[-2].ttype); ;
6024 break;}
6025 case 464:
6026 #line 2075 "parse.y"
6027 { replace_defarg (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
6028 break;}
6029 case 465:
6030 #line 2077 "parse.y"
6031 { replace_defarg (yyvsp[-2].ttype, error_mark_node); ;
6032 break;}
6033 case 467:
6034 #line 2082 "parse.y"
6035 { do_pending_defargs (); ;
6036 break;}
6037 case 468:
6038 #line 2084 "parse.y"
6039 { do_pending_defargs (); ;
6040 break;}
6041 case 469:
6042 #line 2089 "parse.y"
6043 { yyvsp[0].itype = suspend_momentary ();
6044 yyval.ttype = current_enum_type;
6045 current_enum_type = start_enum (yyvsp[-1].ttype); ;
6046 break;}
6047 case 470:
6048 #line 2093 "parse.y"
6049 { TYPE_VALUES (current_enum_type) = yyvsp[-2].ttype;
6050 yyval.ftype.t = finish_enum (current_enum_type);
6051 yyval.ftype.new_type_flag = 1;
6052 current_enum_type = yyvsp[-3].ttype;
6053 resume_momentary ((int) yyvsp[-4].itype);
6054 check_for_missing_semicolon (yyval.ftype.t); ;
6055 break;}
6056 case 471:
6057 #line 2100 "parse.y"
6058 { yyval.ftype.t = finish_enum (start_enum (yyvsp[-2].ttype));
6059 yyval.ftype.new_type_flag = 1;
6060 check_for_missing_semicolon (yyval.ftype.t); ;
6061 break;}
6062 case 472:
6063 #line 2104 "parse.y"
6064 { yyvsp[0].itype = suspend_momentary ();
6065 yyval.ttype = current_enum_type;
6066 current_enum_type = start_enum (make_anon_name ()); ;
6067 break;}
6068 case 473:
6069 #line 2108 "parse.y"
6070 { TYPE_VALUES (current_enum_type) = yyvsp[-2].ttype;
6071 yyval.ftype.t = finish_enum (current_enum_type);
6072 yyval.ftype.new_type_flag = 1;
6073 current_enum_type = yyvsp[-3].ttype;
6074 resume_momentary ((int) yyvsp[-5].itype);
6075 check_for_missing_semicolon (yyval.ftype.t); ;
6076 break;}
6077 case 474:
6078 #line 2115 "parse.y"
6079 { yyval.ftype.t = finish_enum (start_enum (make_anon_name()));
6080 yyval.ftype.new_type_flag = 1;
6081 check_for_missing_semicolon (yyval.ftype.t); ;
6082 break;}
6083 case 475:
6084 #line 2119 "parse.y"
6085 { yyval.ftype.t = xref_tag (enum_type_node, yyvsp[0].ttype, 1);
6086 yyval.ftype.new_type_flag = 0; ;
6087 break;}
6088 case 476:
6089 #line 2122 "parse.y"
6090 { yyval.ftype.t = xref_tag (enum_type_node, yyvsp[0].ttype, 1);
6091 yyval.ftype.new_type_flag = 0; ;
6092 break;}
6093 case 477:
6094 #line 2125 "parse.y"
6095 { yyval.ftype.t = yyvsp[0].ttype;
6096 yyval.ftype.new_type_flag = 0;
6097 if (!processing_template_decl)
6098 cp_pedwarn ("using `typename' outside of template"); ;
6099 break;}
6100 case 478:
6101 #line 2132 "parse.y"
6102 {
6103 int semi;
6104
6105 if (yychar == YYEMPTY)
6106 yychar = YYLEX;
6107 semi = yychar == ';';
6108
6109 yyval.ttype = finish_class_definition (yyvsp[-4].ttype, yyvsp[0].ttype, semi);
6110 ;
6111 break;}
6112 case 479:
6113 #line 2142 "parse.y"
6114 { finish_default_args (); ;
6115 break;}
6116 case 480:
6117 #line 2144 "parse.y"
6118 { yyval.ftype.t = yyvsp[-3].ttype;
6119 yyval.ftype.new_type_flag = 1;
6120 begin_inline_definitions (); ;
6121 break;}
6122 case 481:
6123 #line 2148 "parse.y"
6124 {
6125 yyval.ftype.new_type_flag = 0;
6126 if (TYPE_BINFO (yyvsp[0].ttype) == NULL_TREE)
6127 {
6128 cp_error ("%T is not a class type", yyvsp[0].ttype);
6129 yyval.ftype.t = error_mark_node;
6130 }
6131 else
6132 {
6133 yyval.ftype.t = yyvsp[0].ttype;
6134 /* struct B: public A; is not accepted by the WP grammar. */
6135 if (TYPE_BINFO_BASETYPES (yyval.ftype.t) && !TYPE_SIZE (yyval.ftype.t)
6136 && ! TYPE_BEING_DEFINED (yyval.ftype.t))
6137 cp_error ("base clause without member specification for `%#T'",
6138 yyval.ftype.t);
6139 }
6140 ;
6141 break;}
6142 case 485:
6143 #line 2175 "parse.y"
6144 { if (pedantic && !in_system_header)
6145 pedwarn ("comma at end of enumerator list"); ;
6146 break;}
6147 case 487:
6148 #line 2182 "parse.y"
6149 { error ("storage class specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
6150 break;}
6151 case 488:
6152 #line 2184 "parse.y"
6153 { error ("type specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
6154 break;}
6155 case 489:
6156 #line 2186 "parse.y"
6157 { error ("type qualifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
6158 break;}
6159 case 490:
6160 #line 2188 "parse.y"
6161 { error ("no body nor ';' separates two class, struct or union declarations"); ;
6162 break;}
6163 case 491:
6164 #line 2190 "parse.y"
6165 { yyval.ttype = build_decl_list (yyvsp[0].ttype, yyvsp[-1].ttype); ;
6166 break;}
6167 case 492:
6168 #line 2195 "parse.y"
6169 {
6170 current_aggr = yyvsp[-1].ttype;
6171 yyval.ttype = yyvsp[0].ttype;
6172 ;
6173 break;}
6174 case 493:
6175 #line 2203 "parse.y"
6176 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
6177 break;}
6178 case 494:
6179 #line 2205 "parse.y"
6180 { yyungetc ('{', 1); ;
6181 break;}
6182 case 495:
6183 #line 2207 "parse.y"
6184 { yyungetc (':', 1); ;
6185 break;}
6186 case 496:
6187 #line 2212 "parse.y"
6188 {
6189 current_aggr = yyvsp[-2].ttype;
6190 yyval.ttype = handle_class_head (yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
6191 ;
6192 break;}
6193 case 497:
6194 #line 2217 "parse.y"
6195 {
6196 current_aggr = yyvsp[-3].ttype;
6197 yyval.ttype = handle_class_head (yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
6198 ;
6199 break;}
6200 case 498:
6201 #line 2222 "parse.y"
6202 {
6203 current_aggr = yyvsp[-2].ttype;
6204 yyval.ttype = handle_class_head (yyvsp[-2].ttype, NULL_TREE, yyvsp[0].ttype);
6205 ;
6206 break;}
6207 case 499:
6208 #line 2227 "parse.y"
6209 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
6210 break;}
6211 case 500:
6212 #line 2229 "parse.y"
6213 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
6214 break;}
6215 case 501:
6216 #line 2234 "parse.y"
6217 { yyval.ttype = xref_tag (current_aggr, yyvsp[0].ttype, 1); ;
6218 break;}
6219 case 502:
6220 #line 2236 "parse.y"
6221 { yyval.ttype = xref_tag (current_aggr, yyvsp[0].ttype, 0); ;
6222 break;}
6223 case 503:
6224 #line 2240 "parse.y"
6225 {
6226 yyval.ttype = yyvsp[-1].ttype;
6227 if (yyvsp[0].ttype)
6228 xref_basetypes (current_aggr, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
6229 ;
6230 break;}
6231 case 504:
6232 #line 2246 "parse.y"
6233 { push_scope (CP_DECL_CONTEXT (yyvsp[0].ttype)); ;
6234 break;}
6235 case 505:
6236 #line 2248 "parse.y"
6237 {
6238 pop_scope (CP_DECL_CONTEXT (yyvsp[-2].ttype));
6239 yyval.ttype = TREE_TYPE (yyvsp[-2].ttype);
6240 if (current_aggr == union_type_node
6241 && TREE_CODE (yyval.ttype) != UNION_TYPE)
6242 cp_pedwarn ("`union' tag used in declaring `%#T'", yyval.ttype);
6243 else if (TREE_CODE (yyval.ttype) == UNION_TYPE
6244 && current_aggr != union_type_node)
6245 cp_pedwarn ("non-`union' tag used in declaring `%#T'", yyval.ttype);
6246 else if (TREE_CODE (yyval.ttype) == RECORD_TYPE)
6247 /* We might be specializing a template with a different
6248 class-key; deal. */
6249 CLASSTYPE_DECLARED_CLASS (yyval.ttype) = (current_aggr
6250 == class_type_node);
6251 if (yyvsp[0].ttype)
6252 {
6253 maybe_process_partial_specialization (yyval.ttype);
6254 xref_basetypes (current_aggr, yyvsp[-2].ttype, yyval.ttype, yyvsp[0].ttype);
6255 }
6256 ;
6257 break;}
6258 case 506:
6259 #line 2272 "parse.y"
6260 { yyval.ttype = xref_tag (yyval.ttype, make_anon_name (), 0);
6261 yyungetc ('{', 1); ;
6262 break;}
6263 case 509:
6264 #line 2283 "parse.y"
6265 { yyval.ttype = NULL_TREE; ;
6266 break;}
6267 case 510:
6268 #line 2285 "parse.y"
6269 { yyungetc(':', 1); yyval.ttype = NULL_TREE; ;
6270 break;}
6271 case 511:
6272 #line 2287 "parse.y"
6273 { yyval.ttype = yyvsp[0].ttype; ;
6274 break;}
6275 case 513:
6276 #line 2293 "parse.y"
6277 { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
6278 break;}
6279 case 514:
6280 #line 2298 "parse.y"
6281 { yyval.ttype = finish_base_specifier (access_default_node, yyvsp[0].ttype,
6282 current_aggr
6283 == signature_type_node); ;
6284 break;}
6285 case 515:
6286 #line 2302 "parse.y"
6287 { yyval.ttype = finish_base_specifier (yyvsp[-2].ttype, yyvsp[0].ttype,
6288 current_aggr
6289 == signature_type_node); ;
6290 break;}
6291 case 516:
6292 #line 2309 "parse.y"
6293 { if (yyval.ttype != error_mark_node) yyval.ttype = TYPE_MAIN_DECL (yyvsp[0].ttype); ;
6294 break;}
6295 case 518:
6296 #line 2312 "parse.y"
6297 {
6298 if (current_aggr == signature_type_node)
6299 {
6300 if (IS_AGGR_TYPE (TREE_TYPE (yyvsp[-1].ttype)))
6301 {
6302 sorry ("`sigof' as base signature specifier");
6303 yyval.ttype = TREE_TYPE (yyvsp[-1].ttype);
6304 }
6305 else
6306 {
6307 error ("`sigof' applied to non-aggregate expression");
6308 yyval.ttype = error_mark_node;
6309 }
6310 }
6311 else
6312 {
6313 error ("`sigof' in struct or class declaration");
6314 yyval.ttype = error_mark_node;
6315 }
6316 ;
6317 break;}
6318 case 519:
6319 #line 2333 "parse.y"
6320 {
6321 if (current_aggr == signature_type_node)
6322 {
6323 if (IS_AGGR_TYPE (groktypename (yyvsp[-1].ftype.t)))
6324 {
6325 sorry ("`sigof' as base signature specifier");
6326 yyval.ttype = groktypename (yyvsp[-1].ftype.t);
6327 }
6328 else
6329 {
6330 error ("`sigof' applied to non-aggregate expression");
6331 yyval.ttype = error_mark_node;
6332 }
6333 }
6334 else
6335 {
6336 error ("`sigof' in struct or class declaration");
6337 yyval.ttype = error_mark_node;
6338 }
6339 ;
6340 break;}
6341 case 521:
6342 #line 2358 "parse.y"
6343 { if (yyvsp[-1].ttype != ridpointers[(int)RID_VIRTUAL])
6344 cp_error ("`%D' access", yyvsp[-1].ttype);
6345 yyval.ttype = access_default_virtual_node; ;
6346 break;}
6347 case 522:
6348 #line 2362 "parse.y"
6349 {
6350 if (yyvsp[-2].ttype != access_default_virtual_node)
6351 error ("multiple access specifiers");
6352 else if (yyvsp[-1].ttype == access_public_node)
6353 yyval.ttype = access_public_virtual_node;
6354 else if (yyvsp[-1].ttype == access_protected_node)
6355 yyval.ttype = access_protected_virtual_node;
6356 else /* $2 == access_private_node */
6357 yyval.ttype = access_private_virtual_node;
6358 ;
6359 break;}
6360 case 523:
6361 #line 2373 "parse.y"
6362 { if (yyvsp[-1].ttype != ridpointers[(int)RID_VIRTUAL])
6363 cp_error ("`%D' access", yyvsp[-1].ttype);
6364 else if (yyval.ttype == access_public_node)
6365 yyval.ttype = access_public_virtual_node;
6366 else if (yyval.ttype == access_protected_node)
6367 yyval.ttype = access_protected_virtual_node;
6368 else if (yyval.ttype == access_private_node)
6369 yyval.ttype = access_private_virtual_node;
6370 else
6371 error ("multiple `virtual' specifiers");
6372 ;
6373 break;}
6374 case 524:
6375 #line 2388 "parse.y"
6376 { yyvsp[-1].ttype = begin_class_definition (yyvsp[-1].ttype); ;
6377 break;}
6378 case 529:
6379 #line 2399 "parse.y"
6380 {
6381 if (current_aggr == signature_type_node)
6382 {
6383 error ("access specifier not allowed in signature");
6384 yyvsp[-1].ttype = access_public_node;
6385 }
6386
6387 current_access_specifier = yyvsp[-1].ttype;
6388 ;
6389 break;}
6390 case 530:
6391 #line 2414 "parse.y"
6392 {
6393 finish_member_declaration (yyvsp[0].ttype);
6394 ;
6395 break;}
6396 case 531:
6397 #line 2418 "parse.y"
6398 {
6399 finish_member_declaration (yyvsp[0].ttype);
6400 ;
6401 break;}
6402 case 533:
6403 #line 2426 "parse.y"
6404 { error ("missing ';' before right brace");
6405 yyungetc ('}', 0); ;
6406 break;}
6407 case 534:
6408 #line 2431 "parse.y"
6409 { yyval.ttype = finish_method (yyval.ttype); ;
6410 break;}
6411 case 535:
6412 #line 2433 "parse.y"
6413 { yyval.ttype = finish_method (yyval.ttype); ;
6414 break;}
6415 case 536:
6416 #line 2435 "parse.y"
6417 { yyval.ttype = finish_method (yyval.ttype); ;
6418 break;}
6419 case 537:
6420 #line 2437 "parse.y"
6421 { yyval.ttype = finish_method (yyval.ttype); ;
6422 break;}
6423 case 538:
6424 #line 2439 "parse.y"
6425 { yyval.ttype = NULL_TREE; ;
6426 break;}
6427 case 539:
6428 #line 2441 "parse.y"
6429 { yyval.ttype = yyvsp[0].ttype;
6430 pedantic = yyvsp[-1].itype; ;
6431 break;}
6432 case 540:
6433 #line 2444 "parse.y"
6434 {
6435 if (yyvsp[0].ttype)
6436 yyval.ttype = finish_member_template_decl (yyvsp[0].ttype);
6437 else
6438 /* The component was already processed. */
6439 yyval.ttype = NULL_TREE;
6440
6441 finish_template_decl (yyvsp[-1].ttype);
6442 ;
6443 break;}
6444 case 541:
6445 #line 2454 "parse.y"
6446 {
6447 yyval.ttype = finish_member_class_template (yyvsp[-1].ftype.t);
6448 finish_template_decl (yyvsp[-2].ttype);
6449 ;
6450 break;}
6451 case 542:
6452 #line 2465 "parse.y"
6453 {
6454 /* Most of the productions for component_decl only
6455 allow the creation of one new member, so we call
6456 finish_member_declaration in component_decl_list.
6457 For this rule and the next, however, there can be
6458 more than one member, e.g.:
6459
6460 int i, j;
6461
6462 and we need the first member to be fully
6463 registered before the second is processed.
6464 Therefore, the rules for components take care of
6465 this processing. To avoid registering the
6466 components more than once, we send NULL_TREE up
6467 here; that lets finish_member_declaration now
6468 that there is nothing to do. */
6469 if (!yyvsp[0].itype)
6470 grok_x_components (yyvsp[-1].ftype.t);
6471 yyval.ttype = NULL_TREE;
6472 ;
6473 break;}
6474 case 543:
6475 #line 2486 "parse.y"
6476 {
6477 if (!yyvsp[0].itype)
6478 grok_x_components (yyvsp[-1].ttype);
6479 yyval.ttype = NULL_TREE;
6480 ;
6481 break;}
6482 case 544:
6483 #line 2492 "parse.y"
6484 { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
6485 build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
6486 break;}
6487 case 545:
6488 #line 2495 "parse.y"
6489 { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
6490 build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
6491 break;}
6492 case 546:
6493 #line 2498 "parse.y"
6494 { yyval.ttype = grokbitfield (NULL_TREE, NULL_TREE, yyvsp[0].ttype); ;
6495 break;}
6496 case 547:
6497 #line 2500 "parse.y"
6498 { yyval.ttype = NULL_TREE; ;
6499 break;}
6500 case 548:
6501 #line 2511 "parse.y"
6502 { tree specs, attrs;
6503 split_specs_attrs (yyvsp[-4].ttype, &specs, &attrs);
6504 yyval.ttype = grokfield (yyvsp[-3].ttype, specs, yyvsp[0].ttype, yyvsp[-2].ttype,
6505 build_tree_list (yyvsp[-1].ttype, attrs)); ;
6506 break;}
6507 case 549:
6508 #line 2516 "parse.y"
6509 { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
6510 build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
6511 break;}
6512 case 550:
6513 #line 2519 "parse.y"
6514 { yyval.ttype = do_class_using_decl (yyvsp[0].ttype); ;
6515 break;}
6516 case 551:
6517 #line 2525 "parse.y"
6518 { yyval.itype = 0; ;
6519 break;}
6520 case 552:
6521 #line 2527 "parse.y"
6522 {
6523 if (PROCESSING_REAL_TEMPLATE_DECL_P ())
6524 yyvsp[0].ttype = finish_member_template_decl (yyvsp[0].ttype);
6525 finish_member_declaration (yyvsp[0].ttype);
6526 yyval.itype = 1;
6527 ;
6528 break;}
6529 case 553:
6530 #line 2534 "parse.y"
6531 {
6532 check_multiple_declarators ();
6533 if (PROCESSING_REAL_TEMPLATE_DECL_P ())
6534 yyvsp[0].ttype = finish_member_template_decl (yyvsp[0].ttype);
6535 finish_member_declaration (yyvsp[0].ttype);
6536 yyval.itype = 2;
6537 ;
6538 break;}
6539 case 554:
6540 #line 2545 "parse.y"
6541 { yyval.itype = 0; ;
6542 break;}
6543 case 555:
6544 #line 2547 "parse.y"
6545 {
6546 if (PROCESSING_REAL_TEMPLATE_DECL_P ())
6547 yyvsp[0].ttype = finish_member_template_decl (yyvsp[0].ttype);
6548 finish_member_declaration (yyvsp[0].ttype);
6549 yyval.itype = 1;
6550 ;
6551 break;}
6552 case 556:
6553 #line 2554 "parse.y"
6554 {
6555 check_multiple_declarators ();
6556 if (PROCESSING_REAL_TEMPLATE_DECL_P ())
6557 yyvsp[0].ttype = finish_member_template_decl (yyvsp[0].ttype);
6558 finish_member_declaration (yyvsp[0].ttype);
6559 yyval.itype = 2;
6560 ;
6561 break;}
6562 case 561:
6563 #line 2575 "parse.y"
6564 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6565 &prefix_attributes);
6566 yyvsp[-4].ttype = current_declspecs;
6567 yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6568 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6569 break;}
6570 case 562:
6571 #line 2581 "parse.y"
6572 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6573 &prefix_attributes);
6574 yyvsp[-4].ttype = current_declspecs;
6575 yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6576 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6577 break;}
6578 case 563:
6579 #line 2590 "parse.y"
6580 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6581 &prefix_attributes);
6582 yyvsp[-4].ttype = current_declspecs;
6583 yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6584 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6585 break;}
6586 case 564:
6587 #line 2596 "parse.y"
6588 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6589 &prefix_attributes);
6590 yyvsp[-4].ttype = current_declspecs;
6591 yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6592 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6593 break;}
6594 case 565:
6595 #line 2602 "parse.y"
6596 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6597 &prefix_attributes);
6598 yyvsp[-4].ttype = current_declspecs;
6599 yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6600 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6601 break;}
6602 case 566:
6603 #line 2608 "parse.y"
6604 { split_specs_attrs (yyvsp[-3].ttype, &current_declspecs,
6605 &prefix_attributes);
6606 yyvsp[-3].ttype = current_declspecs;
6607 yyval.ttype = grokbitfield (NULL_TREE, current_declspecs, yyvsp[-1].ttype);
6608 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6609 break;}
6610 case 567:
6611 #line 2617 "parse.y"
6612 { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6613 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6614 break;}
6615 case 568:
6616 #line 2620 "parse.y"
6617 { yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6618 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6619 break;}
6620 case 569:
6621 #line 2626 "parse.y"
6622 { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6623 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6624 break;}
6625 case 570:
6626 #line 2629 "parse.y"
6627 { yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6628 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6629 break;}
6630 case 571:
6631 #line 2632 "parse.y"
6632 { yyval.ttype = grokbitfield (NULL_TREE, current_declspecs, yyvsp[-1].ttype);
6633 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6634 break;}
6635 case 573:
6636 #line 2643 "parse.y"
6637 { TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
6638 break;}
6639 case 574:
6640 #line 2648 "parse.y"
6641 { yyval.ttype = build_enumerator (yyval.ttype, NULL_TREE, current_enum_type); ;
6642 break;}
6643 case 575:
6644 #line 2650 "parse.y"
6645 { yyval.ttype = build_enumerator (yyval.ttype, yyvsp[0].ttype, current_enum_type); ;
6646 break;}
6647 case 576:
6648 #line 2656 "parse.y"
6649 { yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
6650 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
6651 break;}
6652 case 577:
6653 #line 2659 "parse.y"
6654 { yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE);
6655 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
6656 break;}
6657 case 578:
6658 #line 2666 "parse.y"
6659 {
6660 if (pedantic)
6661 pedwarn ("ANSI C++ forbids array dimensions with parenthesized type in new");
6662 yyval.ftype.t = build_parse_node (ARRAY_REF, TREE_VALUE (yyvsp[-4].ftype.t), yyvsp[-1].ttype);
6663 yyval.ftype.t = build_decl_list (TREE_PURPOSE (yyvsp[-4].ftype.t), yyval.ftype.t);
6664 yyval.ftype.new_type_flag = yyvsp[-4].ftype.new_type_flag;
6665 ;
6666 break;}
6667 case 579:
6668 #line 2677 "parse.y"
6669 { yyval.ttype = NULL_TREE; ;
6670 break;}
6671 case 580:
6672 #line 2679 "parse.y"
6673 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
6674 break;}
6675 case 581:
6676 #line 2684 "parse.y"
6677 { yyval.ftype.t = IDENTIFIER_AS_LIST (yyvsp[0].ttype);
6678 yyval.ftype.new_type_flag = 0; ;
6679 break;}
6680 case 582:
6681 #line 2687 "parse.y"
6682 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ftype.t);
6683 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
6684 break;}
6685 case 583:
6686 #line 2696 "parse.y"
6687 { yyval.itype = suspend_momentary (); ;
6688 break;}
6689 case 584:
6690 #line 2701 "parse.y"
6691 { resume_momentary ((int) yyvsp[-1].itype); yyval.ttype = yyvsp[0].ttype; ;
6692 break;}
6693 case 585:
6694 #line 2707 "parse.y"
6695 { resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = yyvsp[-1].ttype; ;
6696 break;}
6697 case 586:
6698 #line 2709 "parse.y"
6699 { resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = yyvsp[-1].ttype; ;
6700 break;}
6701 case 587:
6702 #line 2711 "parse.y"
6703 { resume_momentary ((int) yyvsp[-1].itype); yyval.ttype = empty_parms (); ;
6704 break;}
6705 case 588:
6706 #line 2713 "parse.y"
6707 { resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = NULL_TREE; ;
6708 break;}
6709 case 589:
6710 #line 2720 "parse.y"
6711 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6712 break;}
6713 case 590:
6714 #line 2722 "parse.y"
6715 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6716 break;}
6717 case 591:
6718 #line 2724 "parse.y"
6719 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
6720 break;}
6721 case 592:
6722 #line 2726 "parse.y"
6723 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
6724 break;}
6725 case 593:
6726 #line 2728 "parse.y"
6727 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
6728 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
6729 ;
6730 break;}
6731 case 595:
6732 #line 2736 "parse.y"
6733 {
6734 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6735 {
6736 yyval.ttype = lookup_name (yyvsp[0].ttype, 1);
6737 if (current_class_type
6738 && TYPE_BEING_DEFINED (current_class_type)
6739 && ! IDENTIFIER_CLASS_VALUE (yyvsp[0].ttype))
6740 {
6741 /* Remember that this name has been used in the class
6742 definition, as per [class.scope0] */
6743 pushdecl_class_level (yyval.ttype);
6744 }
6745 }
6746 else
6747 yyval.ttype = yyvsp[0].ttype;
6748 ;
6749 break;}
6750 case 596:
6751 #line 2753 "parse.y"
6752 {
6753 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6754 yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype);
6755 else
6756 yyval.ttype = yyvsp[0].ttype;
6757 got_scope = NULL_TREE;
6758 ;
6759 break;}
6760 case 599:
6761 #line 2766 "parse.y"
6762 { yyval.ttype = yyvsp[0].ttype; ;
6763 break;}
6764 case 600:
6765 #line 2771 "parse.y"
6766 { yyval.ttype = get_type_decl (yyvsp[0].ttype); ;
6767 break;}
6768 case 601:
6769 #line 2776 "parse.y"
6770 { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6771 break;}
6772 case 602:
6773 #line 2778 "parse.y"
6774 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
6775 break;}
6776 case 603:
6777 #line 2780 "parse.y"
6778 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
6779 break;}
6780 case 604:
6781 #line 2782 "parse.y"
6782 { yyval.ttype = yyvsp[-1].ttype; ;
6783 break;}
6784 case 605:
6785 #line 2784 "parse.y"
6786 { push_nested_class (yyvsp[-1].ttype, 3);
6787 yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype);
6788 TREE_COMPLEXITY (yyval.ttype) = current_class_depth; ;
6789 break;}
6790 case 608:
6791 #line 2796 "parse.y"
6792 {
6793 /* Provide support for '(' attributes '*' declarator ')'
6794 etc */
6795 yyval.ttype = decl_tree_cons (yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE);
6796 ;
6797 break;}
6798 case 609:
6799 #line 2805 "parse.y"
6800 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6801 break;}
6802 case 610:
6803 #line 2807 "parse.y"
6804 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6805 break;}
6806 case 611:
6807 #line 2809 "parse.y"
6808 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
6809 break;}
6810 case 612:
6811 #line 2811 "parse.y"
6812 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
6813 break;}
6814 case 613:
6815 #line 2813 "parse.y"
6816 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
6817 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
6818 ;
6819 break;}
6820 case 615:
6821 #line 2821 "parse.y"
6822 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6823 break;}
6824 case 616:
6825 #line 2823 "parse.y"
6826 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6827 break;}
6828 case 617:
6829 #line 2825 "parse.y"
6830 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
6831 break;}
6832 case 618:
6833 #line 2827 "parse.y"
6834 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
6835 break;}
6836 case 619:
6837 #line 2829 "parse.y"
6838 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
6839 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
6840 ;
6841 break;}
6842 case 621:
6843 #line 2837 "parse.y"
6844 { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6845 break;}
6846 case 622:
6847 #line 2839 "parse.y"
6848 { yyval.ttype = yyvsp[-1].ttype; ;
6849 break;}
6850 case 623:
6851 #line 2841 "parse.y"
6852 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
6853 break;}
6854 case 624:
6855 #line 2843 "parse.y"
6856 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
6857 break;}
6858 case 625:
6859 #line 2845 "parse.y"
6860 { enter_scope_of (yyvsp[0].ttype); ;
6861 break;}
6862 case 626:
6863 #line 2847 "parse.y"
6864 { got_scope = NULL_TREE;
6865 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype);
6866 enter_scope_of (yyval.ttype);
6867 ;
6868 break;}
6869 case 627:
6870 #line 2855 "parse.y"
6871 { got_scope = NULL_TREE;
6872 yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ;
6873 break;}
6874 case 628:
6875 #line 2858 "parse.y"
6876 { got_scope = NULL_TREE;
6877 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6878 break;}
6879 case 629:
6880 #line 2864 "parse.y"
6881 { got_scope = NULL_TREE;
6882 yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ;
6883 break;}
6884 case 630:
6885 #line 2867 "parse.y"
6886 { got_scope = NULL_TREE;
6887 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6888 break;}
6889 case 632:
6890 #line 2874 "parse.y"
6891 { yyval.ttype = yyvsp[0].ttype; ;
6892 break;}
6893 case 633:
6894 #line 2879 "parse.y"
6895 { yyval.ttype = build_functional_cast (yyvsp[-3].ftype.t, yyvsp[-1].ttype); ;
6896 break;}
6897 case 634:
6898 #line 2881 "parse.y"
6899 { yyval.ttype = reparse_decl_as_expr (yyvsp[-3].ftype.t, yyvsp[-1].ttype); ;
6900 break;}
6901 case 635:
6902 #line 2883 "parse.y"
6903 { yyval.ttype = reparse_absdcl_as_expr (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6904 break;}
6905 case 640:
6906 #line 2894 "parse.y"
6907 { yyval.ttype = yyvsp[0].ttype; ;
6908 break;}
6909 case 641:
6910 #line 2896 "parse.y"
6911 { got_scope = yyval.ttype = make_typename_type (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
6912 break;}
6913 case 642:
6914 #line 2903 "parse.y"
6915 {
6916 if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE)
6917 {
6918 yyval.ttype = lastiddecl;
6919 /* Remember that this name has been used in the class
6920 definition, as per [class.scope0] */
6921 if (current_class_type
6922 && TYPE_BEING_DEFINED (current_class_type)
6923 && ! IDENTIFIER_CLASS_VALUE (yyvsp[-1].ttype))
6924 pushdecl_class_level (yyval.ttype);
6925 }
6926 got_scope = yyval.ttype = TYPE_MAIN_VARIANT (TREE_TYPE (yyval.ttype));
6927 ;
6928 break;}
6929 case 643:
6930 #line 2917 "parse.y"
6931 {
6932 if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE)
6933 yyval.ttype = lastiddecl;
6934 got_scope = yyval.ttype = TREE_TYPE (yyval.ttype);
6935 ;
6936 break;}
6937 case 644:
6938 #line 2923 "parse.y"
6939 {
6940 if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
6941 yyval.ttype = lastiddecl;
6942 got_scope = yyval.ttype;
6943 ;
6944 break;}
6945 case 645:
6946 #line 2929 "parse.y"
6947 { got_scope = yyval.ttype = complete_type (TREE_TYPE (yyvsp[-1].ttype)); ;
6948 break;}
6949 case 647:
6950 #line 2945 "parse.y"
6951 { yyval.ttype = yyvsp[0].ttype; ;
6952 break;}
6953 case 648:
6954 #line 2950 "parse.y"
6955 {
6956 if (TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype)) == 't')
6957 yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype);
6958 else if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6959 cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
6960 else
6961 {
6962 yyval.ttype = yyvsp[0].ttype;
6963 if (TREE_CODE (yyval.ttype) == TYPE_DECL)
6964 yyval.ttype = TREE_TYPE (yyval.ttype);
6965 }
6966 ;
6967 break;}
6968 case 649:
6969 #line 2963 "parse.y"
6970 { yyval.ttype = TREE_TYPE (yyvsp[0].ttype); ;
6971 break;}
6972 case 650:
6973 #line 2965 "parse.y"
6974 { yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6975 break;}
6976 case 651:
6977 #line 2967 "parse.y"
6978 { yyval.ttype = make_typename_type (yyvsp[-2].ttype, yyvsp[0].ttype); ;
6979 break;}
6980 case 652:
6981 #line 2972 "parse.y"
6982 {
6983 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6984 cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
6985 ;
6986 break;}
6987 case 653:
6988 #line 2977 "parse.y"
6989 {
6990 if (TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype)) == 't')
6991 yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype);
6992 else if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6993 cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
6994 else
6995 {
6996 yyval.ttype = yyvsp[0].ttype;
6997 if (TREE_CODE (yyval.ttype) == TYPE_DECL)
6998 yyval.ttype = TREE_TYPE (yyval.ttype);
6999 }
7000 ;
7001 break;}
7002 case 654:
7003 #line 2990 "parse.y"
7004 { got_scope = yyval.ttype = make_typename_type (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
7005 break;}
7006 case 655:
7007 #line 2992 "parse.y"
7008 { got_scope = yyval.ttype = make_typename_type (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
7009 break;}
7010 case 656:
7011 #line 2997 "parse.y"
7012 {
7013 if (TREE_CODE (yyvsp[-1].ttype) != IDENTIFIER_NODE)
7014 yyvsp[-1].ttype = lastiddecl;
7015
7016 /* Retrieve the type for the identifier, which might involve
7017 some computation. */
7018 got_scope = yyval.ttype = complete_type (IDENTIFIER_TYPE_VALUE (yyvsp[-1].ttype));
7019
7020 if (yyval.ttype == error_mark_node)
7021 cp_error ("`%T' is not a class or namespace", yyvsp[-1].ttype);
7022 ;
7023 break;}
7024 case 657:
7025 #line 3009 "parse.y"
7026 {
7027 if (TREE_CODE (yyvsp[-1].ttype) != IDENTIFIER_NODE)
7028 yyval.ttype = lastiddecl;
7029 got_scope = yyval.ttype = complete_type (TREE_TYPE (yyval.ttype));
7030 ;
7031 break;}
7032 case 658:
7033 #line 3015 "parse.y"
7034 { got_scope = yyval.ttype = complete_type (TREE_TYPE (yyval.ttype)); ;
7035 break;}
7036 case 661:
7037 #line 3019 "parse.y"
7038 {
7039 if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
7040 yyval.ttype = lastiddecl;
7041 got_scope = yyval.ttype;
7042 ;
7043 break;}
7044 case 662:
7045 #line 3028 "parse.y"
7046 { yyval.ttype = build_min_nt (TEMPLATE_ID_EXPR, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
7047 break;}
7048 case 663:
7049 #line 3033 "parse.y"
7050 {
7051 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
7052 yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype);
7053 else
7054 yyval.ttype = yyvsp[0].ttype;
7055 got_scope = NULL_TREE;
7056 ;
7057 break;}
7058 case 665:
7059 #line 3042 "parse.y"
7060 { yyval.ttype = yyvsp[0].ttype; ;
7061 break;}
7062 case 666:
7063 #line 3047 "parse.y"
7064 { got_scope = NULL_TREE; ;
7065 break;}
7066 case 667:
7067 #line 3049 "parse.y"
7068 { yyval.ttype = yyvsp[-1].ttype; got_scope = NULL_TREE; ;
7069 break;}
7070 case 668:
7071 #line 3056 "parse.y"
7072 { got_scope = void_type_node; ;
7073 break;}
7074 case 669:
7075 #line 3062 "parse.y"
7076 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
7077 break;}
7078 case 670:
7079 #line 3064 "parse.y"
7080 { yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ;
7081 break;}
7082 case 671:
7083 #line 3066 "parse.y"
7084 { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
7085 break;}
7086 case 672:
7087 #line 3068 "parse.y"
7088 { yyval.ttype = make_reference_declarator (yyvsp[0].ttype, NULL_TREE); ;
7089 break;}
7090 case 673:
7091 #line 3070 "parse.y"
7092 { tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE);
7093 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, arg);
7094 ;
7095 break;}
7096 case 674:
7097 #line 3074 "parse.y"
7098 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
7099 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
7100 ;
7101 break;}
7102 case 676:
7103 #line 3083 "parse.y"
7104 { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
7105 break;}
7106 case 677:
7107 #line 3085 "parse.y"
7108 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
7109 break;}
7110 case 678:
7111 #line 3091 "parse.y"
7112 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7113 break;}
7114 case 679:
7115 #line 3093 "parse.y"
7116 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
7117 break;}
7118 case 680:
7119 #line 3095 "parse.y"
7120 { yyval.ttype = make_pointer_declarator (yyvsp[0].ftype.t, NULL_TREE); ;
7121 break;}
7122 case 681:
7123 #line 3097 "parse.y"
7124 { yyval.ttype = make_pointer_declarator (NULL_TREE, NULL_TREE); ;
7125 break;}
7126 case 682:
7127 #line 3099 "parse.y"
7128 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7129 break;}
7130 case 683:
7131 #line 3101 "parse.y"
7132 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
7133 break;}
7134 case 684:
7135 #line 3103 "parse.y"
7136 { yyval.ttype = make_reference_declarator (yyvsp[0].ftype.t, NULL_TREE); ;
7137 break;}
7138 case 685:
7139 #line 3105 "parse.y"
7140 { yyval.ttype = make_reference_declarator (NULL_TREE, NULL_TREE); ;
7141 break;}
7142 case 686:
7143 #line 3107 "parse.y"
7144 { tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE);
7145 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, arg);
7146 ;
7147 break;}
7148 case 687:
7149 #line 3111 "parse.y"
7150 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
7151 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
7152 ;
7153 break;}
7154 case 689:
7155 #line 3120 "parse.y"
7156 { yyval.ttype = yyvsp[-1].ttype; ;
7157 break;}
7158 case 691:
7159 #line 3124 "parse.y"
7160 { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7161 break;}
7162 case 692:
7163 #line 3126 "parse.y"
7164 { yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
7165 break;}
7166 case 693:
7167 #line 3128 "parse.y"
7168 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
7169 break;}
7170 case 694:
7171 #line 3130 "parse.y"
7172 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
7173 break;}
7174 case 695:
7175 #line 3132 "parse.y"
7176 { yyval.ttype = make_call_declarator (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7177 break;}
7178 case 696:
7179 #line 3134 "parse.y"
7180 { set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7181 break;}
7182 case 697:
7183 #line 3136 "parse.y"
7184 { set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7185 break;}
7186 case 698:
7187 #line 3138 "parse.y"
7188 { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
7189 break;}
7190 case 699:
7191 #line 3140 "parse.y"
7192 { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, NULL_TREE); ;
7193 break;}
7194 case 706:
7195 #line 3163 "parse.y"
7196 { if (pedantic)
7197 pedwarn ("ANSI C++ forbids label declarations"); ;
7198 break;}
7199 case 709:
7200 #line 3174 "parse.y"
7201 { tree link;
7202 for (link = yyvsp[-1].ttype; link; link = TREE_CHAIN (link))
7203 {
7204 tree label = shadow_label (TREE_VALUE (link));
7205 C_DECLARED_LABEL_FLAG (label) = 1;
7206 declare_nonlocal_label (label);
7207 }
7208 ;
7209 break;}
7210 case 710:
7211 #line 3188 "parse.y"
7212 {;
7213 break;}
7214 case 712:
7215 #line 3194 "parse.y"
7216 { yyval.ttype = begin_compound_stmt (0); ;
7217 break;}
7218 case 713:
7219 #line 3196 "parse.y"
7220 { yyval.ttype = finish_compound_stmt (0, yyvsp[-1].ttype); ;
7221 break;}
7222 case 714:
7223 #line 3201 "parse.y"
7224 {
7225 yyval.ttype = begin_if_stmt ();
7226 cond_stmt_keyword = "if";
7227 ;
7228 break;}
7229 case 715:
7230 #line 3206 "parse.y"
7231 { finish_if_stmt_cond (yyvsp[0].ttype, yyvsp[-1].ttype); ;
7232 break;}
7233 case 716:
7234 #line 3208 "parse.y"
7235 { yyval.ttype = finish_then_clause (yyvsp[-3].ttype); ;
7236 break;}
7237 case 718:
7238 #line 3213 "parse.y"
7239 { yyval.ttype = begin_compound_stmt (0); ;
7240 break;}
7241 case 719:
7242 #line 3215 "parse.y"
7243 { yyval.ttype = finish_compound_stmt (0, yyvsp[-1].ttype); ;
7244 break;}
7245 case 720:
7246 #line 3220 "parse.y"
7247 {;
7248 break;}
7249 case 722:
7250 #line 3226 "parse.y"
7251 { finish_stmt (); ;
7252 break;}
7253 case 723:
7254 #line 3228 "parse.y"
7255 { finish_expr_stmt (yyvsp[-1].ttype); ;
7256 break;}
7257 case 724:
7258 #line 3230 "parse.y"
7259 { begin_else_clause (); ;
7260 break;}
7261 case 725:
7262 #line 3232 "parse.y"
7263 {
7264 finish_else_clause (yyvsp[-3].ttype);
7265 finish_if_stmt ();
7266 ;
7267 break;}
7268 case 726:
7269 #line 3237 "parse.y"
7270 { finish_if_stmt (); ;
7271 break;}
7272 case 727:
7273 #line 3239 "parse.y"
7274 {
7275 yyval.ttype = begin_while_stmt ();
7276 cond_stmt_keyword = "while";
7277 ;
7278 break;}
7279 case 728:
7280 #line 3244 "parse.y"
7281 { finish_while_stmt_cond (yyvsp[0].ttype, yyvsp[-1].ttype); ;
7282 break;}
7283 case 729:
7284 #line 3246 "parse.y"
7285 { finish_while_stmt (yyvsp[-3].ttype); ;
7286 break;}
7287 case 730:
7288 #line 3248 "parse.y"
7289 { yyval.ttype = begin_do_stmt (); ;
7290 break;}
7291 case 731:
7292 #line 3250 "parse.y"
7293 {
7294 finish_do_body (yyvsp[-2].ttype);
7295 cond_stmt_keyword = "do";
7296 ;
7297 break;}
7298 case 732:
7299 #line 3255 "parse.y"
7300 { finish_do_stmt (yyvsp[-1].ttype, yyvsp[-5].ttype); ;
7301 break;}
7302 case 733:
7303 #line 3257 "parse.y"
7304 { yyval.ttype = begin_for_stmt (); ;
7305 break;}
7306 case 734:
7307 #line 3259 "parse.y"
7308 { finish_for_init_stmt (yyvsp[-2].ttype); ;
7309 break;}
7310 case 735:
7311 #line 3261 "parse.y"
7312 { finish_for_cond (yyvsp[-1].ttype, yyvsp[-5].ttype); ;
7313 break;}
7314 case 736:
7315 #line 3263 "parse.y"
7316 { finish_for_expr (yyvsp[-1].ttype, yyvsp[-8].ttype); ;
7317 break;}
7318 case 737:
7319 #line 3265 "parse.y"
7320 { finish_for_stmt (yyvsp[-3].ttype, yyvsp[-10].ttype); ;
7321 break;}
7322 case 738:
7323 #line 3267 "parse.y"
7324 { begin_switch_stmt (); ;
7325 break;}
7326 case 739:
7327 #line 3269 "parse.y"
7328 { yyval.ttype = finish_switch_cond (yyvsp[-1].ttype); ;
7329 break;}
7330 case 740:
7331 #line 3271 "parse.y"
7332 { finish_switch_stmt (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
7333 break;}
7334 case 741:
7335 #line 3273 "parse.y"
7336 { finish_case_label (yyvsp[-1].ttype, NULL_TREE); ;
7337 break;}
7338 case 743:
7339 #line 3276 "parse.y"
7340 { finish_case_label (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
7341 break;}
7342 case 745:
7343 #line 3279 "parse.y"
7344 { finish_case_label (NULL_TREE, NULL_TREE); ;
7345 break;}
7346 case 747:
7347 #line 3282 "parse.y"
7348 { finish_break_stmt (); ;
7349 break;}
7350 case 748:
7351 #line 3284 "parse.y"
7352 { finish_continue_stmt (); ;
7353 break;}
7354 case 749:
7355 #line 3286 "parse.y"
7356 { finish_return_stmt (NULL_TREE); ;
7357 break;}
7358 case 750:
7359 #line 3288 "parse.y"
7360 { finish_return_stmt (yyvsp[-1].ttype); ;
7361 break;}
7362 case 751:
7363 #line 3290 "parse.y"
7364 {
7365 finish_asm_stmt (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE,
7366 NULL_TREE);
7367 ;
7368 break;}
7369 case 752:
7370 #line 3296 "parse.y"
7371 {
7372 finish_asm_stmt (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE,
7373 NULL_TREE);
7374 ;
7375 break;}
7376 case 753:
7377 #line 3302 "parse.y"
7378 { finish_asm_stmt (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE); ;
7379 break;}
7380 case 754:
7381 #line 3306 "parse.y"
7382 { finish_asm_stmt (yyvsp[-10].ttype, yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype); ;
7383 break;}
7384 case 755:
7385 #line 3308 "parse.y"
7386 {
7387 if (pedantic)
7388 pedwarn ("ANSI C++ forbids computed gotos");
7389 finish_goto_stmt (yyvsp[-1].ttype);
7390 ;
7391 break;}
7392 case 756:
7393 #line 3314 "parse.y"
7394 { finish_goto_stmt (yyvsp[-1].ttype); ;
7395 break;}
7396 case 757:
7397 #line 3316 "parse.y"
7398 { finish_stmt (); ;
7399 break;}
7400 case 758:
7401 #line 3318 "parse.y"
7402 { error ("label must be followed by statement");
7403 yyungetc ('}', 0);
7404 finish_stmt (); ;
7405 break;}
7406 case 759:
7407 #line 3322 "parse.y"
7408 { finish_stmt (); ;
7409 break;}
7410 case 762:
7411 #line 3326 "parse.y"
7412 { do_local_using_decl (yyvsp[0].ttype); ;
7413 break;}
7414 case 764:
7415 #line 3332 "parse.y"
7416 {
7417 if (! current_function_parms_stored)
7418 store_parm_decls ();
7419 expand_start_early_try_stmts ();
7420 ;
7421 break;}
7422 case 765:
7423 #line 3338 "parse.y"
7424 {
7425 expand_start_all_catch ();
7426 ;
7427 break;}
7428 case 766:
7429 #line 3342 "parse.y"
7430 {
7431 expand_end_all_catch ();
7432 yyval.itype = yyvsp[-3].itype;
7433 ;
7434 break;}
7435 case 767:
7436 #line 3350 "parse.y"
7437 { yyval.ttype = begin_try_block (); ;
7438 break;}
7439 case 768:
7440 #line 3352 "parse.y"
7441 { finish_try_block (yyvsp[-1].ttype); ;
7442 break;}
7443 case 769:
7444 #line 3354 "parse.y"
7445 { finish_handler_sequence (yyvsp[-3].ttype); ;
7446 break;}
7447 case 772:
7448 #line 3364 "parse.y"
7449 { yyval.ttype = begin_handler(); ;
7450 break;}
7451 case 773:
7452 #line 3366 "parse.y"
7453 { finish_handler_parms (yyvsp[-1].ttype); ;
7454 break;}
7455 case 774:
7456 #line 3368 "parse.y"
7457 { finish_handler (yyvsp[-3].ttype); ;
7458 break;}
7459 case 777:
7460 #line 3378 "parse.y"
7461 { expand_start_catch_block (NULL_TREE, NULL_TREE); ;
7462 break;}
7463 case 778:
7464 #line 3394 "parse.y"
7465 { check_for_new_type ("inside exception declarations", yyvsp[-1].ftype);
7466 expand_start_catch_block (TREE_PURPOSE (yyvsp[-1].ftype.t),
7467 TREE_VALUE (yyvsp[-1].ftype.t)); ;
7468 break;}
7469 case 779:
7470 #line 3401 "parse.y"
7471 { tree label;
7472 do_label:
7473 label = define_label (input_filename, lineno, yyvsp[-1].ttype);
7474 if (label && ! minimal_parse_mode)
7475 expand_label (label);
7476 ;
7477 break;}
7478 case 780:
7479 #line 3408 "parse.y"
7480 { goto do_label; ;
7481 break;}
7482 case 781:
7483 #line 3410 "parse.y"
7484 { goto do_label; ;
7485 break;}
7486 case 782:
7487 #line 3412 "parse.y"
7488 { goto do_label; ;
7489 break;}
7490 case 783:
7491 #line 3417 "parse.y"
7492 { if (yyvsp[-1].ttype) cplus_expand_expr_stmt (yyvsp[-1].ttype); ;
7493 break;}
7494 case 785:
7495 #line 3420 "parse.y"
7496 { if (pedantic)
7497 pedwarn ("ANSI C++ forbids compound statements inside for initializations");
7498 ;
7499 break;}
7500 case 786:
7501 #line 3429 "parse.y"
7502 { emit_line_note (input_filename, lineno);
7503 yyval.ttype = NULL_TREE; ;
7504 break;}
7505 case 787:
7506 #line 3432 "parse.y"
7507 { emit_line_note (input_filename, lineno); ;
7508 break;}
7509 case 788:
7510 #line 3437 "parse.y"
7511 { yyval.ttype = NULL_TREE; ;
7512 break;}
7513 case 790:
7514 #line 3440 "parse.y"
7515 { yyval.ttype = NULL_TREE; ;
7516 break;}
7517 case 791:
7518 #line 3447 "parse.y"
7519 { yyval.ttype = NULL_TREE; ;
7520 break;}
7521 case 794:
7522 #line 3454 "parse.y"
7523 { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
7524 break;}
7525 case 795:
7526 #line 3459 "parse.y"
7527 { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[-1].ttype); ;
7528 break;}
7529 case 796:
7530 #line 3464 "parse.y"
7531 { yyval.ttype = tree_cons (NULL_TREE, yyval.ttype, NULL_TREE); ;
7532 break;}
7533 case 797:
7534 #line 3466 "parse.y"
7535 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
7536 break;}
7537 case 798:
7538 #line 3477 "parse.y"
7539 {
7540 yyval.ttype = empty_parms();
7541 ;
7542 break;}
7543 case 800:
7544 #line 3482 "parse.y"
7545 { yyval.ttype = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[0].ftype.t), 0);
7546 check_for_new_type ("inside parameter list", yyvsp[0].ftype); ;
7547 break;}
7548 case 801:
7549 #line 3490 "parse.y"
7550 { yyval.ttype = finish_parmlist (yyval.ttype, 0); ;
7551 break;}
7552 case 802:
7553 #line 3492 "parse.y"
7554 { yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 1); ;
7555 break;}
7556 case 803:
7557 #line 3495 "parse.y"
7558 { yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 1); ;
7559 break;}
7560 case 804:
7561 #line 3497 "parse.y"
7562 { yyval.ttype = finish_parmlist (build_tree_list (NULL_TREE,
7563 yyvsp[-1].ftype.t), 1); ;
7564 break;}
7565 case 805:
7566 #line 3500 "parse.y"
7567 { yyval.ttype = finish_parmlist (NULL_TREE, 1); ;
7568 break;}
7569 case 806:
7570 #line 3502 "parse.y"
7571 {
7572 /* This helps us recover from really nasty
7573 parse errors, for example, a missing right
7574 parenthesis. */
7575 yyerror ("possibly missing ')'");
7576 yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 0);
7577 yyungetc (':', 0);
7578 yychar = ')';
7579 ;
7580 break;}
7581 case 807:
7582 #line 3512 "parse.y"
7583 {
7584 /* This helps us recover from really nasty
7585 parse errors, for example, a missing right
7586 parenthesis. */
7587 yyerror ("possibly missing ')'");
7588 yyval.ttype = finish_parmlist (build_tree_list (NULL_TREE,
7589 yyvsp[-1].ftype.t), 0);
7590 yyungetc (':', 0);
7591 yychar = ')';
7592 ;
7593 break;}
7594 case 808:
7595 #line 3527 "parse.y"
7596 { maybe_snarf_defarg (); ;
7597 break;}
7598 case 809:
7599 #line 3529 "parse.y"
7600 { yyval.ttype = yyvsp[0].ttype; ;
7601 break;}
7602 case 812:
7603 #line 3540 "parse.y"
7604 { check_for_new_type ("in a parameter list", yyvsp[0].ftype);
7605 yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ftype.t); ;
7606 break;}
7607 case 813:
7608 #line 3543 "parse.y"
7609 { check_for_new_type ("in a parameter list", yyvsp[-1].ftype);
7610 yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-1].ftype.t); ;
7611 break;}
7612 case 814:
7613 #line 3546 "parse.y"
7614 { check_for_new_type ("in a parameter list", yyvsp[0].ftype);
7615 yyval.ttype = chainon (yyval.ttype, yyvsp[0].ftype.t); ;
7616 break;}
7617 case 815:
7618 #line 3549 "parse.y"
7619 { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
7620 break;}
7621 case 816:
7622 #line 3551 "parse.y"
7623 { yyval.ttype = chainon (yyval.ttype, build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype)); ;
7624 break;}
7625 case 818:
7626 #line 3557 "parse.y"
7627 { check_for_new_type ("in a parameter list", yyvsp[-1].ftype);
7628 yyval.ttype = build_tree_list (NULL_TREE, yyvsp[-1].ftype.t); ;
7629 break;}
7630 case 819:
7631 #line 3567 "parse.y"
7632 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
7633 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag;
7634 yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype); ;
7635 break;}
7636 case 820:
7637 #line 3571 "parse.y"
7638 { yyval.ftype.t = build_tree_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
7639 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
7640 break;}
7641 case 821:
7642 #line 3574 "parse.y"
7643 { yyval.ftype.t = build_tree_list (get_decl_list (yyvsp[-1].ftype.t), yyvsp[0].ttype);
7644 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
7645 break;}
7646 case 822:
7647 #line 3577 "parse.y"
7648 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
7649 yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype);
7650 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
7651 break;}
7652 case 823:
7653 #line 3581 "parse.y"
7654 { tree specs = strip_attrs (yyvsp[0].ftype.t);
7655 yyval.ftype.t = build_tree_list (specs, NULL_TREE);
7656 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
7657 break;}
7658 case 824:
7659 #line 3585 "parse.y"
7660 { tree specs = strip_attrs (yyvsp[-1].ttype);
7661 yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype);
7662 yyval.ftype.new_type_flag = 0; ;
7663 break;}
7664 case 825:
7665 #line 3592 "parse.y"
7666 { yyval.ftype.t = build_tree_list (NULL_TREE, yyvsp[0].ftype.t);
7667 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
7668 break;}
7669 case 826:
7670 #line 3595 "parse.y"
7671 { yyval.ftype.t = build_tree_list (yyvsp[0].ttype, yyvsp[-1].ftype.t);
7672 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
7673 break;}
7674 case 829:
7675 #line 3606 "parse.y"
7676 { see_typename (); ;
7677 break;}
7678 case 830:
7679 #line 3611 "parse.y"
7680 {
7681 error ("type specifier omitted for parameter");
7682 yyval.ttype = build_tree_list (integer_type_node, NULL_TREE);
7683 ;
7684 break;}
7685 case 831:
7686 #line 3616 "parse.y"
7687 {
7688 error ("type specifier omitted for parameter");
7689 if (TREE_CODE (yyval.ttype) == SCOPE_REF
7690 && (TREE_CODE (TREE_OPERAND (yyval.ttype, 0)) == TEMPLATE_TYPE_PARM
7691 || TREE_CODE (TREE_OPERAND (yyval.ttype, 0)) == TEMPLATE_TEMPLATE_PARM))
7692 cp_error (" perhaps you want `typename %E' to make it a type", yyval.ttype);
7693 yyval.ttype = build_tree_list (integer_type_node, yyval.ttype);
7694 ;
7695 break;}
7696 case 832:
7697 #line 3628 "parse.y"
7698 { yyval.ttype = NULL_TREE; ;
7699 break;}
7700 case 833:
7701 #line 3630 "parse.y"
7702 { yyval.ttype = yyvsp[-1].ttype; ;
7703 break;}
7704 case 834:
7705 #line 3632 "parse.y"
7706 { yyval.ttype = build_decl_list (NULL_TREE, NULL_TREE); ;
7707 break;}
7708 case 835:
7709 #line 3637 "parse.y"
7710 { yyval.ttype = build_decl_list (NULL_TREE, groktypename(yyvsp[0].ftype.t)); ;
7711 break;}
7712 case 837:
7713 #line 3643 "parse.y"
7714 {
7715 TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype;
7716 yyval.ttype = yyvsp[0].ttype;
7717 ;
7718 break;}
7719 case 838:
7720 #line 3651 "parse.y"
7721 { yyval.ttype = NULL_TREE; ;
7722 break;}
7723 case 839:
7724 #line 3653 "parse.y"
7725 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
7726 break;}
7727 case 840:
7728 #line 3655 "parse.y"
7729 { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
7730 break;}
7731 case 841:
7732 #line 3657 "parse.y"
7733 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
7734 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
7735 ;
7736 break;}
7737 case 842:
7738 #line 3664 "parse.y"
7739 { got_scope = NULL_TREE; ;
7740 break;}
7741 case 843:
7742 #line 3669 "parse.y"
7743 { yyval.ttype = ansi_opname[MULT_EXPR]; ;
7744 break;}
7745 case 844:
7746 #line 3671 "parse.y"
7747 { yyval.ttype = ansi_opname[TRUNC_DIV_EXPR]; ;
7748 break;}
7749 case 845:
7750 #line 3673 "parse.y"
7751 { yyval.ttype = ansi_opname[TRUNC_MOD_EXPR]; ;
7752 break;}
7753 case 846:
7754 #line 3675 "parse.y"
7755 { yyval.ttype = ansi_opname[PLUS_EXPR]; ;
7756 break;}
7757 case 847:
7758 #line 3677 "parse.y"
7759 { yyval.ttype = ansi_opname[MINUS_EXPR]; ;
7760 break;}
7761 case 848:
7762 #line 3679 "parse.y"
7763 { yyval.ttype = ansi_opname[BIT_AND_EXPR]; ;
7764 break;}
7765 case 849:
7766 #line 3681 "parse.y"
7767 { yyval.ttype = ansi_opname[BIT_IOR_EXPR]; ;
7768 break;}
7769 case 850:
7770 #line 3683 "parse.y"
7771 { yyval.ttype = ansi_opname[BIT_XOR_EXPR]; ;
7772 break;}
7773 case 851:
7774 #line 3685 "parse.y"
7775 { yyval.ttype = ansi_opname[BIT_NOT_EXPR]; ;
7776 break;}
7777 case 852:
7778 #line 3687 "parse.y"
7779 { yyval.ttype = ansi_opname[COMPOUND_EXPR]; ;
7780 break;}
7781 case 853:
7782 #line 3689 "parse.y"
7783 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7784 break;}
7785 case 854:
7786 #line 3691 "parse.y"
7787 { yyval.ttype = ansi_opname[LT_EXPR]; ;
7788 break;}
7789 case 855:
7790 #line 3693 "parse.y"
7791 { yyval.ttype = ansi_opname[GT_EXPR]; ;
7792 break;}
7793 case 856:
7794 #line 3695 "parse.y"
7795 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7796 break;}
7797 case 857:
7798 #line 3697 "parse.y"
7799 { yyval.ttype = ansi_assopname[yyvsp[0].code]; ;
7800 break;}
7801 case 858:
7802 #line 3699 "parse.y"
7803 { yyval.ttype = ansi_opname [MODIFY_EXPR]; ;
7804 break;}
7805 case 859:
7806 #line 3701 "parse.y"
7807 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7808 break;}
7809 case 860:
7810 #line 3703 "parse.y"
7811 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7812 break;}
7813 case 861:
7814 #line 3705 "parse.y"
7815 { yyval.ttype = ansi_opname[POSTINCREMENT_EXPR]; ;
7816 break;}
7817 case 862:
7818 #line 3707 "parse.y"
7819 { yyval.ttype = ansi_opname[PREDECREMENT_EXPR]; ;
7820 break;}
7821 case 863:
7822 #line 3709 "parse.y"
7823 { yyval.ttype = ansi_opname[TRUTH_ANDIF_EXPR]; ;
7824 break;}
7825 case 864:
7826 #line 3711 "parse.y"
7827 { yyval.ttype = ansi_opname[TRUTH_ORIF_EXPR]; ;
7828 break;}
7829 case 865:
7830 #line 3713 "parse.y"
7831 { yyval.ttype = ansi_opname[TRUTH_NOT_EXPR]; ;
7832 break;}
7833 case 866:
7834 #line 3715 "parse.y"
7835 { yyval.ttype = ansi_opname[COND_EXPR]; ;
7836 break;}
7837 case 867:
7838 #line 3717 "parse.y"
7839 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7840 break;}
7841 case 868:
7842 #line 3719 "parse.y"
7843 { yyval.ttype = ansi_opname[COMPONENT_REF]; ;
7844 break;}
7845 case 869:
7846 #line 3721 "parse.y"
7847 { yyval.ttype = ansi_opname[MEMBER_REF]; ;
7848 break;}
7849 case 870:
7850 #line 3723 "parse.y"
7851 { yyval.ttype = ansi_opname[CALL_EXPR]; ;
7852 break;}
7853 case 871:
7854 #line 3725 "parse.y"
7855 { yyval.ttype = ansi_opname[ARRAY_REF]; ;
7856 break;}
7857 case 872:
7858 #line 3727 "parse.y"
7859 { yyval.ttype = ansi_opname[NEW_EXPR]; ;
7860 break;}
7861 case 873:
7862 #line 3729 "parse.y"
7863 { yyval.ttype = ansi_opname[DELETE_EXPR]; ;
7864 break;}
7865 case 874:
7866 #line 3731 "parse.y"
7867 { yyval.ttype = ansi_opname[VEC_NEW_EXPR]; ;
7868 break;}
7869 case 875:
7870 #line 3733 "parse.y"
7871 { yyval.ttype = ansi_opname[VEC_DELETE_EXPR]; ;
7872 break;}
7873 case 876:
7874 #line 3736 "parse.y"
7875 { yyval.ttype = grokoptypename (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7876 break;}
7877 case 877:
7878 #line 3738 "parse.y"
7879 { yyval.ttype = ansi_opname[ERROR_MARK]; ;
7880 break;}
7881 }
7882 /* the action file gets copied in in place of this dollarsign */
7883 #line 498 "/usr/lib/bison.simple"
7884 \f
7885 yyvsp -= yylen;
7886 yyssp -= yylen;
7887 #ifdef YYLSP_NEEDED
7888 yylsp -= yylen;
7889 #endif
7890
7891 #if YYDEBUG != 0
7892 if (yydebug)
7893 {
7894 short *ssp1 = yyss - 1;
7895 fprintf (stderr, "state stack now");
7896 while (ssp1 != yyssp)
7897 fprintf (stderr, " %d", *++ssp1);
7898 fprintf (stderr, "\n");
7899 }
7900 #endif
7901
7902 *++yyvsp = yyval;
7903
7904 #ifdef YYLSP_NEEDED
7905 yylsp++;
7906 if (yylen == 0)
7907 {
7908 yylsp->first_line = yylloc.first_line;
7909 yylsp->first_column = yylloc.first_column;
7910 yylsp->last_line = (yylsp-1)->last_line;
7911 yylsp->last_column = (yylsp-1)->last_column;
7912 yylsp->text = 0;
7913 }
7914 else
7915 {
7916 yylsp->last_line = (yylsp+yylen-1)->last_line;
7917 yylsp->last_column = (yylsp+yylen-1)->last_column;
7918 }
7919 #endif
7920
7921 /* Now "shift" the result of the reduction.
7922 Determine what state that goes to,
7923 based on the state we popped back to
7924 and the rule number reduced by. */
7925
7926 yyn = yyr1[yyn];
7927
7928 yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
7929 if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
7930 yystate = yytable[yystate];
7931 else
7932 yystate = yydefgoto[yyn - YYNTBASE];
7933
7934 goto yynewstate;
7935
7936 yyerrlab: /* here on detecting error */
7937
7938 if (! yyerrstatus)
7939 /* If not already recovering from an error, report this error. */
7940 {
7941 ++yynerrs;
7942
7943 #ifdef YYERROR_VERBOSE
7944 yyn = yypact[yystate];
7945
7946 if (yyn > YYFLAG && yyn < YYLAST)
7947 {
7948 int size = 0;
7949 char *msg;
7950 int x, count;
7951
7952 count = 0;
7953 /* Start X at -yyn if nec to avoid negative indexes in yycheck. */
7954 for (x = (yyn < 0 ? -yyn : 0);
7955 x < (sizeof(yytname) / sizeof(char *)); x++)
7956 if (yycheck[x + yyn] == x)
7957 size += strlen(yytname[x]) + 15, count++;
7958 msg = (char *) malloc(size + 15);
7959 if (msg != 0)
7960 {
7961 strcpy(msg, "parse error");
7962
7963 if (count < 5)
7964 {
7965 count = 0;
7966 for (x = (yyn < 0 ? -yyn : 0);
7967 x < (sizeof(yytname) / sizeof(char *)); x++)
7968 if (yycheck[x + yyn] == x)
7969 {
7970 strcat(msg, count == 0 ? ", expecting `" : " or `");
7971 strcat(msg, yytname[x]);
7972 strcat(msg, "'");
7973 count++;
7974 }
7975 }
7976 yyerror(msg);
7977 free(msg);
7978 }
7979 else
7980 yyerror ("parse error; also virtual memory exceeded");
7981 }
7982 else
7983 #endif /* YYERROR_VERBOSE */
7984 yyerror("parse error");
7985 }
7986
7987 goto yyerrlab1;
7988 yyerrlab1: /* here on error raised explicitly by an action */
7989
7990 if (yyerrstatus == 3)
7991 {
7992 /* if just tried and failed to reuse lookahead token after an error, discard it. */
7993
7994 /* return failure if at end of input */
7995 if (yychar == YYEOF)
7996 YYABORT;
7997
7998 #if YYDEBUG != 0
7999 if (yydebug)
8000 fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
8001 #endif
8002
8003 yychar = YYEMPTY;
8004 }
8005
8006 /* Else will try to reuse lookahead token
8007 after shifting the error token. */
8008
8009 yyerrstatus = 3; /* Each real token shifted decrements this */
8010
8011 goto yyerrhandle;
8012
8013 yyerrdefault: /* current state does not do anything special for the error token. */
8014
8015 #if 0
8016 /* This is wrong; only states that explicitly want error tokens
8017 should shift them. */
8018 yyn = yydefact[yystate]; /* If its default is to accept any token, ok. Otherwise pop it.*/
8019 if (yyn) goto yydefault;
8020 #endif
8021
8022 yyerrpop: /* pop the current state because it cannot handle the error token */
8023
8024 if (yyssp == yyss) YYABORT;
8025 yyvsp--;
8026 yystate = *--yyssp;
8027 #ifdef YYLSP_NEEDED
8028 yylsp--;
8029 #endif
8030
8031 #if YYDEBUG != 0
8032 if (yydebug)
8033 {
8034 short *ssp1 = yyss - 1;
8035 fprintf (stderr, "Error: state stack now");
8036 while (ssp1 != yyssp)
8037 fprintf (stderr, " %d", *++ssp1);
8038 fprintf (stderr, "\n");
8039 }
8040 #endif
8041
8042 yyerrhandle:
8043
8044 yyn = yypact[yystate];
8045 if (yyn == YYFLAG)
8046 goto yyerrdefault;
8047
8048 yyn += YYTERROR;
8049 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
8050 goto yyerrdefault;
8051
8052 yyn = yytable[yyn];
8053 if (yyn < 0)
8054 {
8055 if (yyn == YYFLAG)
8056 goto yyerrpop;
8057 yyn = -yyn;
8058 goto yyreduce;
8059 }
8060 else if (yyn == 0)
8061 goto yyerrpop;
8062
8063 if (yyn == YYFINAL)
8064 YYACCEPT;
8065
8066 #if YYDEBUG != 0
8067 if (yydebug)
8068 fprintf(stderr, "Shifting error token, ");
8069 #endif
8070
8071 *++yyvsp = yylval;
8072 #ifdef YYLSP_NEEDED
8073 *++yylsp = yylloc;
8074 #endif
8075
8076 yystate = yyn;
8077 goto yynewstate;
8078 }
8079 #line 3741 "parse.y"
8080
8081
8082 #ifdef SPEW_DEBUG
8083 const char *
8084 debug_yytranslate (value)
8085 int value;
8086 {
8087 return yytname[YYTRANSLATE (value)];
8088 }
8089
8090 #endif